- Fixed two instances in the login-sql server where the ip in the log-login table was being stored backwards.

- Now when a skill's range is 0 and the skill is NOT casted on self, it will take the basic weapon's range (without Vulture/Snake Eye bonus).
- Now when a duration is not specified, sc_start/sc_start2/sc_start4 will try to guess the duration by extracting it from the skill_db (it uses skill_get_time on whatever skill is associated to the status-change using val1 as skill-level)
- Corrected that extra comma at the end of the Kaensin layout setup.
- Some cleanups on trade_tradeaccept to prevent packets being resent when they shouldn't.
- Corrected that ALLOW NULL thingie on main.sql


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8229 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex
2006-08-10 14:25:32 +00:00
parent c0f0a50c79
commit 6f3c9a6dc7
7 changed files with 79 additions and 28 deletions

View File

@@ -7571,6 +7571,14 @@ int buildin_sc_start(struct script_state *st)
tick/=2; //Thrown potions only last half.
val4 = 1; //Mark that this was a thrown sc_effect
}
if (type >= 0 && type < SC_MAX && val1 && !tick)
{ //When there isn't a duration specified, try to get it from the skill_db
tick = StatusSkillChangeTable[type];
if (tick)
tick = skill_get_time(tick,val1);
else //Failed to retrieve duration, reset to what it was.
tick = 0;
}
if (bl)
status_change_start(bl,type,10000,val1,0,0,val4,tick,11);
return 0;
@@ -7593,6 +7601,15 @@ int buildin_sc_start2(struct script_state *st)
else
bl = map_id2bl(st->rid);
if (type >= 0 && type < SC_MAX && val1 && !tick)
{ //When there isn't a duration specified, try to get it from the skill_db
tick = StatusSkillChangeTable[type];
if (tick)
tick = skill_get_time(tick,val1);
else //Failed to retrieve duration, reset to what it was.
tick = 0;
}
if (potion_flag==1 && potion_target) {
bl = map_id2bl(potion_target);
tick/=2;
@@ -7625,6 +7642,15 @@ int buildin_sc_start4(struct script_state *st)
else
bl = map_id2bl(st->rid);
if (type >= 0 && type < SC_MAX && val1 && !tick)
{ //When there isn't a duration specified, try to get it from the skill_db
tick = StatusSkillChangeTable[type];
if (tick)
tick = skill_get_time(tick,val1);
else //Failed to retrieve duration, reset to what it was.
tick = 0;
}
if (potion_flag==1 && potion_target) {
bl = map_id2bl(potion_target);
tick/=2;