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://svn.code.sf.net/p/rathena/svn/trunk@16477 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
cookiecrumbs 2012-07-22 22:55:15 +00:00
parent 1a4c429b2d
commit 4f997e2b75

View File

@ -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;