diff options
author | malufett <malufett.eat.my.binaries@gmail.com> | 2013-12-30 17:56:48 +0800 |
---|---|---|
committer | malufett <malufett.eat.my.binaries@gmail.com> | 2013-12-30 17:56:48 +0800 |
commit | 08fa33bf08a9e2bb5ecee5ad53a5cd592f887837 (patch) | |
tree | f8731a1dafaf70d8f92c2e8bfdfcd1108522a2a6 /src/map/battle.c | |
parent | 0a7c002990ba08a39156b966cbd8e8e7ad3a4ce4 (diff) | |
download | hercules-08fa33bf08a9e2bb5ecee5ad53a5cd592f887837.tar.gz hercules-08fa33bf08a9e2bb5ecee5ad53a5cd592f887837.tar.bz2 hercules-08fa33bf08a9e2bb5ecee5ad53a5cd592f887837.tar.xz hercules-08fa33bf08a9e2bb5ecee5ad53a5cd592f887837.zip |
Fixed Bug#7735
-http://hercules.ws/board/tracker/issue-7735-royal-guards-rage-burst/
Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index b8143213a..915825572 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2251,10 +2251,10 @@ int battle_calc_skillratio(int attack_type, struct block_list *src, struct block RE_LVL_DMOD(100); break; case LG_RAGEBURST: - if( sd && sd->spiritball_old ) - skillratio += -100 + (sd->spiritball_old * 200); - else - skillratio += -100 + 15 * 200; + if( sc ){ + skillratio += -100 + (status_get_max_hp(src) - status_get_hp(src)) / 100 + sc->fv_counter * 200; + clif->millenniumshield(sd, (sc->fv_counter = 0)); + } RE_LVL_DMOD(100); break; case LG_SHIELDSPELL:// [(Casters Base Level x 4) + (Shield DEF x 10) + (Casters VIT x 2)] % @@ -2932,8 +2932,10 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam rnd()%100 < sce->val3) status->heal(src, damage*sce->val4/100, 0, 3); - if( sd && (sce = sc->data[SC_FORCEOFVANGUARD]) && flag&BF_WEAPON && rnd()%100 < sce->val2 ) - pc->addspiritball(sd,skill->get_time(LG_FORCEOFVANGUARD,sce->val1),sce->val3); + if( sd && (sce = sc->data[SC_FORCEOFVANGUARD]) && flag&BF_WEAPON + && rnd()%100 < sce->val2 && sc->fv_counter <= sce->val3 ) + clif->millenniumshield(sd, sc->fv_counter++); + if (sc->data[SC_STYLE_CHANGE] && rnd()%2) { TBL_HOM *hd = BL_CAST(BL_HOM,bl); if (hd) homun->addspiritball(hd, 10); //add a sphere |