summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-03 14:54:06 +0000
committerrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-03 14:54:06 +0000
commit77432c2e8406cef71baf73c1374b52be883f1dcc (patch)
treef595808572cac871b3abb81cd90bca19fd04ac2f
parenta5014cad6007ecc0b6fc195a829a1dc836fdfc68 (diff)
downloadhercules-77432c2e8406cef71baf73c1374b52be883f1dcc.tar.gz
hercules-77432c2e8406cef71baf73c1374b52be883f1dcc.tar.bz2
hercules-77432c2e8406cef71baf73c1374b52be883f1dcc.tar.xz
hercules-77432c2e8406cef71baf73c1374b52be883f1dcc.zip
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16217 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--db/pre-re/skill_require_db.txt2
-rw-r--r--db/re/skill_require_db.txt2
-rw-r--r--src/map/pc.c3
-rw-r--r--src/map/skill.c11
4 files changed, 10 insertions, 8 deletions
diff --git a/db/pre-re/skill_require_db.txt b/db/pre-re/skill_require_db.txt
index 5e8d3ff7c..268421e1c 100644
--- a/db/pre-re/skill_require_db.txt
+++ b/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#
diff --git a/db/re/skill_require_db.txt b/db/re/skill_require_db.txt
index 8bb705947..6d350e43d 100644
--- a/db/re/skill_require_db.txt
+++ b/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#
diff --git a/src/map/pc.c b/src/map/pc.c
index bc3ee1acd..71950a032 100644
--- a/src/map/pc.c
+++ b/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);
diff --git a/src/map/skill.c b/src/map/skill.c
index 27997c713..467b07fa3 100644
--- a/src/map/skill.c
+++ b/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;