소스 검색

* Implemented Brainstorm's and SketchyPhoenix's fixes for Flying side kick.
- Skill will now remove KA-type statuses and not remove stalker's link while preserved.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13098 54d463be-8e91-2dee-dedb-b68131a5f0ec

L0ne_W0lf 17 년 전
부모
커밋
a4a518d6cc
3개의 변경된 파일71개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 0
      Changelog-Trunk.txt
  2. 11 1
      src/map/skill.c
  3. 57 1
      src/map/skill.h

+ 3 - 0
Changelog-Trunk.txt

@@ -3,6 +3,9 @@ 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/08/20
+	* Rev. 13098 Implemented Brainstorm's and SketchyPhoenix's fixes for Flying side kick. [L0ne_W0lf]
+	- Skill will now remove KA-type statuses and not remove stalker's link while preserved.
 2008/08/19
 	* Fixed a storage saving issue with txt charserver (bugreport:2084) [ultramage]
 	- caused by incorrect idb_ensure -> idb_get change (see r12950)

+ 11 - 1
src/map/skill.c

@@ -782,8 +782,18 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 				status_change_end(bl, SC_SPEEDUP0, -1);
 			if (tsc->data[SC_SPEEDUP1] && !tsc->data[SC_SPEEDUP1]->val4)
 				status_change_end(bl, SC_SPEEDUP1, -1);
-			if (tsc->data[SC_SPIRIT])
+			// 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]))
 				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])

+ 57 - 1
src/map/skill.h

@@ -955,7 +955,24 @@ enum e_skill {
 	NPC_WIDESOULDRAIN,
 
 	ALL_INCCARRY = 681,
-
+	/*
+	NPC_TALK = 682,
+	NPC_HELLPOWER,	
+	NPC_WIDEHELLDIGNITY,
+	NPC_INVINCIBLE,
+	NPC_INVINCIBLEOFF,
+	NPC_ALLHEAL,
+
+	GM_SANDMAN = 688,
+	CASH_BLESSING,
+	CASH_INCAGI,
+	CASH_ASSUMPTIO,
+
+	ALL_CATCRY = 692,
+	ALL_PARTYFLEE,
+	ALL_ANGEL_PROTECT,
+	ALL_SUMMERNIGHTDREAM,
+	*/
 	KN_CHARGEATK = 1001,
 	CR_SHRINK,
 	AS_SONICACCEL,
@@ -992,6 +1009,45 @@ enum e_skill {
 	HVAN_CHAOTIC,
 	HVAN_INSTRUCT,
 	HVAN_EXPLOSION,
+	/*
+	MS_BASH = 8201,
+	MS_MAGNUM,
+	MS_BOWLINGBASH,
+	MS_PARRYING,
+	MS_REFLECTSHIELD,
+	MS_BERSERK,
+	MA_DOUBLE,
+	MA_SHOWER,
+	MA_SKIDTRAP,
+	MA_LANDMINE,
+	MA_SANDMAN,
+	MA_FREEZINGTRAP,
+	MA_REMOVETRAP,
+	MA_CHARGEARROW,
+	MA_SHARPSHOOTING,
+	ML_PIERCE,
+	ML_BRANDISH,
+	ML_SPIRALPIERCE,
+	ML_DEFENDER,
+	ML_AUTOGUARD,
+	ML_DEVOTION,
+	MER_MAGNIFICAT,
+	MER_QUICKEN,
+	MER_SIGHT,
+	MER_CRASH,
+	MER_REGAIN,
+	MER_TENDER,
+	MER_BENEDICTION,
+	MER_RECUPERATE,
+	MER_MENTALCURE,
+	MER_COMPRESS,
+	MER_PROVOKE,
+	MER_AUTOBERSERK,
+	MER_DECAGI,
+	MER_SCAPEGOAT,
+	MER_LEXDIVINA,
+	MER_ESTIMATION,
+	*/
 };
 
 enum {