summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/skill.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index b3a5d432b..813018852 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1775,7 +1775,7 @@ int skill_blown (struct block_list *src, struct block_list *target, int count)
if (src != target && map_flag_gvg(target->m))
return 0; //No knocking back in WoE
- if (!count&0xffff)
+ if (!(count&0xffff))
return 0; //Actual knockback distance is 0.
switch (target->type) {
@@ -4743,7 +4743,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
int x,y, dir = unit_getdir(src);
//Fails on noteleport maps, except for vs maps [Skotlex]
- if(map[src->m].flag.noteleport && !map_flag_vs(src->m)) {
+ if(map[src->m].flag.noteleport &&
+ !(map_flag_vs(src->m) || map_flag_gvg2(src->m))
+ ) {
x = src->x;
y = src->y;
} else {
@@ -7096,7 +7098,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, unsigned
break;
if (ss == bl) //Also needed to prevent infinite loop crash.
break;
- skill_blown(ss, bl, skill_get_blewcount(sg->skill_id,sg->skill_lv));
+ skill_blown(ss, bl, 0x10000|skill_get_blewcount(sg->skill_id,sg->skill_lv));
break;
}
return skillid;