diff options
author | markzd <markzd@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-26 07:06:29 +0000 |
---|---|---|
committer | markzd <markzd@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-26 07:06:29 +0000 |
commit | 5dc4b0231db1b45e01a4576250ce2c4497da382c (patch) | |
tree | e6621cfcc7d71668a336e18ca87c89c3ead9e6b6 | |
parent | 6ab86d910d20796d5b4a4759af133e7bc608b035 (diff) | |
download | hercules-5dc4b0231db1b45e01a4576250ce2c4497da382c.tar.gz hercules-5dc4b0231db1b45e01a4576250ce2c4497da382c.tar.bz2 hercules-5dc4b0231db1b45e01a4576250ce2c4497da382c.tar.xz hercules-5dc4b0231db1b45e01a4576250ce2c4497da382c.zip |
- Fixed Server Rainstorm damage formula. (bugreport:5786)
- Fixed shadow formation, to reflect damage with SF caster as source and not the attacker.(bugreport:7045)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17044 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | src/map/battle.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index b148305f5..ab26febf6 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1143,7 +1143,7 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag if( s_bl->type == BL_PC ) ((TBL_PC*)s_bl)->shadowform_id = 0; } else { - status_damage(src, s_bl, damage, 0, clif_damage(s_bl, s_bl, gettick(), 500, 500, damage, -1, 0, 0), 0); + status_damage(bl, s_bl, damage, 0, clif_damage(s_bl, s_bl, gettick(), 500, 500, damage, -1, 0, 0), 0); return ATK_NONE; } } @@ -2822,7 +2822,10 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo RE_LVL_DMOD(100); break; case WM_SEVERE_RAINSTORM_MELEE: - skillratio = 50 + 50 * skill_lv; + //ATK [{(Caster’s DEX + AGI) x (Skill Level / 5)} x Caster’s Base Level / 100] % + skillratio = (sstatus->dex + sstatus->agi) * (skill_lv * 2); + RE_LVL_DMOD(100); + skillratio /= 10; break; case WM_GREAT_ECHO: skillratio += 800 + 100 * skill_lv; @@ -3899,9 +3902,13 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list case WM_METALICSOUND: skillratio += 120 * skill_lv + 60 * ( sd? pc_checkskill(sd, WM_LESSON) : 10 ) - 100; break; - case WM_SEVERE_RAINSTORM: + /*case WM_SEVERE_RAINSTORM: skillratio += 50 * skill_lv; break; + + WM_SEVERE_RAINSTORM just set a unit place, + refer to WM_SEVERE_RAINSTORM_MELEE to set the formula. + */ case WM_REVERBERATION_MAGIC: // MATK [{(Skill Level x 100) + 100} x Casters Base Level / 100] % skillratio += 100 * (sd ? pc_checkskill(sd, WM_REVERBERATION) : 1); |