summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarkzd <markzd@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-12-26 07:06:29 +0000
committermarkzd <markzd@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-12-26 07:06:29 +0000
commit5dc4b0231db1b45e01a4576250ce2c4497da382c (patch)
treee6621cfcc7d71668a336e18ca87c89c3ead9e6b6
parent6ab86d910d20796d5b4a4759af133e7bc608b035 (diff)
downloadhercules-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.c13
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);