diff options
author | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-05-20 11:27:50 +0000 |
---|---|---|
committer | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-05-20 11:27:50 +0000 |
commit | 27ef6a1440b8803a6204e5bc6b627f403be5717e (patch) | |
tree | 896c542f847959a15e4f40a65d4ecada0e71b8bd /src/map/battle.c | |
parent | 408f4d9391dc280c1ac1b0fdfaa0be33f6d27d25 (diff) | |
download | hercules-27ef6a1440b8803a6204e5bc6b627f403be5717e.tar.gz hercules-27ef6a1440b8803a6204e5bc6b627f403be5717e.tar.bz2 hercules-27ef6a1440b8803a6204e5bc6b627f403be5717e.tar.xz hercules-27ef6a1440b8803a6204e5bc6b627f403be5717e.zip |
Fixed bugreport:5619 MO_EXTREMITYFIST should now consume all spirit sphere.
Fixed bugreport:5632 SR_FALLENEMPIRE should now chain with SR_GATEOFHELL and SR_TIGERCANNON and add bonus damage.
Update SR_GATEOFHELL damage formula where sp has now contribution with the damage.
Fixed wrong displayed status mdef.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16131 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index c6b9dcba9..36f158ff8 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2263,7 +2263,12 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo skillratio += 150; break; case SR_GATEOFHELL: - skillratio += 500 * skill_lv -100; + if( sc && sc->data[SC_COMBO] + && sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE ) + skillratio += 800 * skill_lv -100; + else + skillratio += 500 * skill_lv -100; + RE_LVL_DMOD(); break; case SR_GENTLETOUCH_QUIET: skillratio += 100 * skill_lv - 100 + sstatus->dex; @@ -2401,7 +2406,17 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo } break; case SR_GATEOFHELL: - ATK_ADD (sstatus->max_hp - status_get_hp(src));//Will have to add the consumed SP part to the formula in the future. [Rytech] + ATK_ADD (sstatus->max_hp - status_get_hp(src)); + if(sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE){ + ATK_ADD ( (sstatus->sp * (1 + skill_lv * 2 / 10)) + 10 * status_get_lv(src) ); + }else{ + ATK_ADD ( (sstatus->max_sp * (1 + skill_lv * 2 / 10)) + 40 * status_get_lv(src) ); + } + break; + case SR_TIGERCANNON: + if( sc && sc->data[SC_COMBO] + && sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE ) + ATK_ADDRATE(10);// +10% custom value. break; } } |