* Fixed rare crash when using Flying Kick on clones (bugreport:2506)

* Corrected Flying Kick's debuff rules to match official servers
- only works on players
- soul linkers and stalkers with Preserve active are immune
- only removes Berserk Potion, Kaahi, Kaite, 1HQ, AAR and Soul Links

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13392 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ultramage 2008-12-01 22:48:05 +00:00
parent 43ca8d9224
commit ca5448b311
2 changed files with 17 additions and 28 deletions

View File

@ -3,6 +3,12 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2008/12/01
* Fixed rare crash when using Flying Kick on clones (bugreport:2506) [ultramage]
* Corrected Flying Kick's debuff rules to match official servers
- only works on players
- soul linkers and stalkers with Preserve active are immune
- only removes Berserk Potion, Kaahi, Kaite, 1HQ, AAR and Soul Links
2008/11/27
* Fixed a memory leak when returning a string variable in the script engine. [FlavioJS]
(since r9864/r9865, fixes bugreport:2488)

View File

@ -796,37 +796,20 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
break;
case TK_JUMPKICK:
//Cancel out Soul Linker status of the target. [Skotlex]
if (tsc->count) {
//Remove NORMAL potions effect.
if (tsc->data[SC_ASPDPOTION0] && !tsc->data[SC_ASPDPOTION0]->val4)
status_change_end(bl, SC_ASPDPOTION0, -1);
if (tsc->data[SC_ASPDPOTION1] && !tsc->data[SC_ASPDPOTION1]->val4)
status_change_end(bl, SC_ASPDPOTION1, -1);
if (tsc->data[SC_ASPDPOTION2] && !tsc->data[SC_ASPDPOTION2]->val4)
status_change_end(bl, SC_ASPDPOTION2, -1);
if (tsc->data[SC_ASPDPOTION3] && !tsc->data[SC_ASPDPOTION3]->val4)
status_change_end(bl, SC_ASPDPOTION3, -1);
if (tsc->data[SC_SPEEDUP0] && !tsc->data[SC_SPEEDUP0]->val4)
status_change_end(bl, SC_SPEEDUP0, -1);
if (tsc->data[SC_SPEEDUP1] && !tsc->data[SC_SPEEDUP1]->val4)
status_change_end(bl, SC_SPEEDUP1, -1);
// Stalkers who are preserved will no longer lose their link.
if (tsc->data[SC_SPIRIT] && !(dstsd->class_&MAPID_STALKER && tsc->data[SC_SPIRIT] && tsc->data[SC_PRESERVE]))
if( dstsd && dstsd->class_ != MAPID_SOUL_LINKER && !tsc->data[SC_PRESERVE] )
{// debuff the following statuses
if (tsc->data[SC_SPIRIT])
status_change_end(bl, SC_SPIRIT, -1);
// Updated by Brainstorm to remove 'Ka' status effects and Link granted skills.
if (tsc->data[SC_KAIZEL])
status_change_end(bl, SC_KAIZEL, -1);
if (tsc->data[SC_KAAHI])
status_change_end(bl, SC_KAAHI, -1);
if (tsc->data[SC_KAUPE])
status_change_end(bl, SC_KAUPE, -1);
if (tsc->data[SC_KAITE])
status_change_end(bl, SC_KAITE, -1);
if (tsc->data[SC_ONEHAND])
status_change_end(bl, SC_ONEHAND, -1);
if (tsc->data[SC_ADRENALINE2])
status_change_end(bl, SC_ADRENALINE2, -1);
if (tsc->data[SC_KAITE])
status_change_end(bl, SC_KAITE, -1);
if (tsc->data[SC_KAAHI])
status_change_end(bl, SC_KAAHI, -1);
if (tsc->data[SC_ONEHAND])
status_change_end(bl, SC_ONEHAND, -1);
if (tsc->data[SC_ASPDPOTION2])
status_change_end(bl, SC_ASPDPOTION2, -1);
}
break;
case TK_TURNKICK: