diff options
author | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-06-16 19:01:56 +0000 |
---|---|---|
committer | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-06-16 19:01:56 +0000 |
commit | 746a803671be0dc9aad418333f87bdf51ee65800 (patch) | |
tree | 5be4e8741b81adcc9a56f8b2ae37b19bd0db277c /src/map/battle.c | |
parent | 0b76c882b6f5df0a0761be5d98bcb60c036f879e (diff) | |
download | hercules-746a803671be0dc9aad418333f87bdf51ee65800.tar.gz hercules-746a803671be0dc9aad418333f87bdf51ee65800.tar.bz2 hercules-746a803671be0dc9aad418333f87bdf51ee65800.tar.xz hercules-746a803671be0dc9aad418333f87bdf51ee65800.zip |
Fixed bugreport:6038 WM_REVERBERATION behavior should now work properly.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16312 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 70bfbdf2c..1226175e2 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1274,6 +1274,11 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo flag.rh=1; flag.weapon=1; flag.infdef=(tstatus->mode&MD_PLANT&&skill_num!=RA_CLUSTERBOMB?1:0); + if( target->type == BL_SKILL){ + TBL_SKILL *su = (TBL_SKILL*)target; + if( su->group && su->group->skill_id == WM_REVERBERATION) + flag.infdef = 1; + } //Initial Values wd.type=0; //Normal attack @@ -2326,7 +2331,9 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo skillratio += 200 * skill_lv -100; break; case WM_REVERBERATION_MELEE: + // ATK [{(Skill Level x 100) + 300} x Caster’s Base Level / 100] skillratio += 200 + 100 * pc_checkskill(sd, WM_REVERBERATION); + RE_LVL_DMOD(100); break; case WM_SEVERE_RAINSTORM_MELEE: skillratio = 50 + 50 * skill_lv; @@ -3570,7 +3577,9 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list skillratio += 50 * skill_lv; break; case WM_REVERBERATION_MAGIC: + // MATK [{(Skill Level x 100) + 100} x Caster’s Base Level / 100] % skillratio += 100 * (sd ? pc_checkskill(sd, WM_REVERBERATION) : 1); + RE_LVL_DMOD(100); break; case SO_FIREWALK: { struct status_change * sc = status_get_sc(src); |