瀏覽代碼

Fixed bugreport:5911 Reflect Damage should now cancel when shield/guard is unequipped.
Fixed bugreport:4828 LG_PINPOINTATTACK should now only work with spears.
Fixed bugreport:5905 All heal support skill now can't work with Mado Gear.
Fixed other non Mado related skill that it should not work when Mado is equipped.

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

rud0lp20 13 年之前
父節點
當前提交
80d35e7ab0
共有 4 個文件被更改,包括 10 次插入8 次删除
  1. 1 1
      db/pre-re/skill_require_db.txt
  2. 1 1
      db/re/skill_require_db.txt
  3. 2 1
      src/map/pc.c
  4. 6 5
      src/map/skill.c

+ 1 - 1
db/pre-re/skill_require_db.txt

@@ -643,7 +643,7 @@
 2309,0,0,30:45:60,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_TRAMPLE#Trample#
 2310,0,0,10:12:14:16:18,0,0,0,99,0,0,shield,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_SHIELDPRESS#Shield Press#
 2311,0,0,40:50:60:70:80,0,0,0,99,0,0,shield,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_REFLECTDAMAGE#Reflect Damage#
-2312,0,0,30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_PINPOINTATTACK#Pinpoint Attack#
+2312,0,0,30,0,0,0,4:5,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_PINPOINTATTACK#Pinpoint Attack#
 2313,0,0,30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_FORCEOFVANGUARD#Force of Vanguard#
 2314,0,0,150,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_RAGEBURST#Rage Burst#
 2315,0,0,50,0,0,0,99,0,0,shield,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_SHIELDSPELL#Shield Spell#

+ 1 - 1
db/re/skill_require_db.txt

@@ -643,7 +643,7 @@
 2309,0,0,30:45:60,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_TRAMPLE#Trample#
 2310,0,0,10:12:14:16:18,0,0,0,99,0,0,shield,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_SHIELDPRESS#Shield Press#
 2311,0,0,40:50:60:70:80,0,0,0,99,0,0,shield,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_REFLECTDAMAGE#Reflect Damage#
-2312,0,0,30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_PINPOINTATTACK#Pinpoint Attack#
+2312,0,0,30,0,0,0,4:5,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_PINPOINTATTACK#Pinpoint Attack#
 2313,0,0,30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_FORCEOFVANGUARD#Force of Vanguard#
 2314,0,0,150,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_RAGEBURST#Rage Burst#
 2315,0,0,50,0,0,0,99,0,0,shield,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//LG_SHIELDSPELL#Shield Spell#

+ 2 - 1
src/map/pc.c

@@ -4665,7 +4665,8 @@ int pc_checkallowskill(struct map_session_data *sd)
 	const enum sc_type scs_list[] = {
 		SC_AUTOGUARD,
 		SC_DEFENDER,
-		SC_REFLECTSHIELD
+		SC_REFLECTSHIELD,
+		SC_REFLECTDAMAGE
 	};
 	int i;
 	nullpo_ret(sd);

+ 6 - 5
src/map/skill.c

@@ -4635,7 +4635,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 			}
 			if( status_isimmune(bl) ||
 					(dstmd && (dstmd->class_ == MOBID_EMPERIUM || mob_is_battleground(dstmd))) ||
-					(skillid == AL_HEAL && dstsd && pc_ismadogear(dstsd)) )//Mado is immune to AL_HEAL
+					(dstsd && pc_ismadogear(dstsd)) )//Mado is immune to heal
 				heal=0;
 
 			if( sd && dstsd && sd->status.partner_id == dstsd->status.char_id && (sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.sex == 0 )
@@ -7429,6 +7429,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 			if( sd && tstatus && !battle_check_undead(tstatus->race, tstatus->def_ele) )
 			{
 				i = skill_calc_heal(src, bl, AL_HEAL, pc_checkskill(sd, AL_HEAL), true);
+				if(dstsd && pc_ismadogear(dstsd)) i = 0; // Should heal by 0 or won't do anything? [malufett]
 				status_heal(bl, i, 0, 1);
 				clif_skill_nodamage(bl, bl, skillid, i, 1);
 			}
@@ -11783,15 +11784,15 @@ int skill_check_condition_castbegin(struct map_session_data* sd, short skill, sh
 		}
 	}
 	if( pc_ismadogear(sd) ) {
-		switch( skill ) { //Blacksmiths and Mastersmiths skills are unusable when Mado is equipped. [Jobbie]
+		switch( skill ) { //None Mado skills are unusable when Mado is equipped. [Jobbie]
 			case BS_REPAIRWEAPON:  case WS_MELTDOWN:
 			case BS_HAMMERFALL:    case WS_CARTBOOST:
 			case BS_ADRENALINE:    case WS_WEAPONREFINE:
 			case BS_WEAPONPERFECT: case WS_CARTTERMINATION:
 			case BS_OVERTHRUST:    case WS_OVERTHRUSTMAX:
-			case BS_MAXIMIZE:
-			case BS_ADRENALINE2:
-			case BS_UNFAIRLYTRICK:
+			case BS_MAXIMIZE:	   case NC_AXEBOOMERANG:
+			case BS_ADRENALINE2:   case NC_POWERSWING:
+			case BS_UNFAIRLYTRICK: case NC_AXETORNADO:
 			case BS_GREED:
 				clif_skill_fail(sd,skill,USESKILL_FAIL_LEVEL,0);
 				return 0;