diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/skill.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 006018d47..15c03590b 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2038,7 +2038,7 @@ int skill_blown(struct block_list* src, struct block_list* target, int count, in dy = -diry[direction]; } - return unit_blown(target, dx, dy, count, flag&0x1); + return unit_blown(target, dx, dy, count, flag); // send over the proper flag } @@ -2520,7 +2520,6 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds int direction = -1; // default switch(skillid) {//direction case MG_FIREWALL: - case WZ_STORMGUST: case PR_SANCTUARY: case SC_TRIANGLESHOT: case LG_OVERBRAND: @@ -2529,6 +2528,10 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds case EL_FIRE_MANTLE: direction = unit_getdir(bl);// backwards break; + // This ensures the storm randomly pushes instead of exactly a cell backwards per official mechanics. + case WZ_STORMGUST: + direction = rand()%8; + break; case WL_CRIMSONROCK: direction = map_calc_dir(bl,skill_area_temp[4],skill_area_temp[5]); break; |