Przeglądaj źródła

* 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

ultramage 16 lat temu
rodzic
commit
ca5448b311
2 zmienionych plików z 15 dodań i 26 usunięć
  1. 6 0
      Changelog-Trunk.txt
  2. 9 26
      src/map/skill.c

+ 6 - 0
Changelog-Trunk.txt

@@ -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)

+ 9 - 26
src/map/skill.c

@@ -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_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_ADRENALINE2])
-				status_change_end(bl, SC_ADRENALINE2, -1);
+			if (tsc->data[SC_ASPDPOTION2])
+				status_change_end(bl, SC_ASPDPOTION2, -1);
 		}		
 		break;
 	case TK_TURNKICK: