summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authormalufett <malufett.eat.my.binaries@gmail.com>2015-03-29 09:22:44 +0800
committermalufett <malufett.eat.my.binaries@gmail.com>2015-03-29 09:22:44 +0800
commit1b201f5b2cc254116fb84a827314ff55e5efe06d (patch)
tree559ffc653cb220736caaaa6a315297c0b8664b83 /src/map/skill.c
parent7401d98649558d58d97d4543db1d74d33652127b (diff)
downloadhercules-1b201f5b2cc254116fb84a827314ff55e5efe06d.tar.gz
hercules-1b201f5b2cc254116fb84a827314ff55e5efe06d.tar.bz2
hercules-1b201f5b2cc254116fb84a827314ff55e5efe06d.tar.xz
hercules-1b201f5b2cc254116fb84a827314ff55e5efe06d.zip
Fixed Bug#5654
-http://hercules.ws/board/tracker/issue-5654-high-wizard-gravitational-field/ Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 1c910f037..3d79d99f0 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2196,7 +2196,12 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
//Trick Dead protects you from damage, but not from buffs and the like, hence it's placed here.
if (sc && sc->data[SC_TRICKDEAD])
return 0;
-
+ if ( skill_id != HW_GRAVITATION ) {
+ struct status_change *csc = status->get_sc(src);
+ if(csc && csc->data[SC_GRAVITATION] && csc->data[SC_GRAVITATION]->val3 == BCT_SELF )
+ return 0;
+ }
+
dmg = battle->calc_attack(attack_type,src,bl,skill_id,skill_lv,flag&0xFFF);
//Skotlex: Adjusted to the new system
@@ -2530,6 +2535,9 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
case HT_LANDMINE:
dmg.dmotion = clif->skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, -1, type);
break;
+ case HW_GRAVITATION:
+ dmg.dmotion = clif->damage(bl, bl, 0, 0, damage, 1, 4, 0);
+ break;
case WZ_SIGHTBLASTER:
dmg.dmotion = clif->skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, (flag&SD_LEVEL) ? -1 : skill_lv, 5);
break;