summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorcookiecrumbs <cookiecrumbs@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-07-22 22:55:15 +0000
committercookiecrumbs <cookiecrumbs@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-07-22 22:55:15 +0000
commit19e9032d813623294128b6a2ad02037116c1d5b7 (patch)
tree5f2b46f353009675390514ea9496877ae7b58528 /src/map/skill.c
parent740f7131f70e75c76c41d0449eda16188655ee3e (diff)
downloadhercules-19e9032d813623294128b6a2ad02037116c1d5b7.tar.gz
hercules-19e9032d813623294128b6a2ad02037116c1d5b7.tar.bz2
hercules-19e9032d813623294128b6a2ad02037116c1d5b7.tar.xz
hercules-19e9032d813623294128b6a2ad02037116c1d5b7.zip
Fixed a bug where Storm Gust and other miscellaneous skills were not sending the packets to the client; prior to this revision, if you used, SG for example, you wouldn't see the mobs push until you @refresh. Storm Gust was also not pushing mobs as per the official mechanic (randomly) as it was pushing one cell backwards (prior to this revision). bugreport:6225
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16477 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c7
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;