summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authorMichieru <Michieru@users.noreply.github.com>2014-08-07 00:34:35 +0200
committerMichieru <Michieru@users.noreply.github.com>2014-08-07 00:34:35 +0200
commitd45cf975aab39d04bd43dabaa455fde35b61b8da (patch)
treef790090f87d71bdbc2d5d26139a18397a3c3d313 /src/map/battle.c
parent20047594329157be00b82bc5f85e674fc348dddd (diff)
downloadhercules-d45cf975aab39d04bd43dabaa455fde35b61b8da.tar.gz
hercules-d45cf975aab39d04bd43dabaa455fde35b61b8da.tar.bz2
hercules-d45cf975aab39d04bd43dabaa455fde35b61b8da.tar.xz
hercules-d45cf975aab39d04bd43dabaa455fde35b61b8da.zip
- Acid Demo is now reduce by Defender (bug: 8287)
- Fix a behavior with Fog Wall
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 82095b1cd..3a52769fc 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -2844,10 +2844,10 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam
else
damage >>= 1; //Receive 50% damage
}
-#endif
+#endif
if(sc->data[SC_DEFENDER] &&
- (flag&(BF_LONG|BF_WEAPON)) == (BF_LONG|BF_WEAPON))
+ ((flag&(BF_LONG|BF_WEAPON)) == (BF_LONG|BF_WEAPON) || skill_id == CR_ACIDDEMONSTRATION))
damage = damage * ( 100 - sc->data[SC_DEFENDER]->val2 ) / 100;
if(sc->data[SC_GS_ADJUSTMENT] &&
@@ -2855,8 +2855,10 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam
damage -= damage * 20 / 100;
if(sc->data[SC_FOGWALL]) {
- if(flag&BF_SKILL) //25% reduction
- damage -= damage * 25 / 100;
+ if(flag&BF_SKILL) { //25% reduction
+ if ( !(skill->get_inf(skill_id)&INF_GROUND_SKILL) && !(skill->get_nk(skill_id)&NK_SPLASH) )
+ damage -= 25*damage/100;
+ }
else if ((flag&(BF_LONG|BF_WEAPON)) == (BF_LONG|BF_WEAPON))
damage >>= 2; //75% reduction
}