|
@@ -2038,7 +2038,7 @@ int skill_blown(struct block_list* src, struct block_list* target, int count, in
|
|
dy = -diry[direction];
|
|
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
|
|
int direction = -1; // default
|
|
switch(skillid) {//direction
|
|
switch(skillid) {//direction
|
|
case MG_FIREWALL:
|
|
case MG_FIREWALL:
|
|
- case WZ_STORMGUST:
|
|
|
|
case PR_SANCTUARY:
|
|
case PR_SANCTUARY:
|
|
case SC_TRIANGLESHOT:
|
|
case SC_TRIANGLESHOT:
|
|
case LG_OVERBRAND:
|
|
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:
|
|
case EL_FIRE_MANTLE:
|
|
direction = unit_getdir(bl);// backwards
|
|
direction = unit_getdir(bl);// backwards
|
|
break;
|
|
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:
|
|
case WL_CRIMSONROCK:
|
|
direction = map_calc_dir(bl,skill_area_temp[4],skill_area_temp[5]);
|
|
direction = map_calc_dir(bl,skill_area_temp[4],skill_area_temp[5]);
|
|
break;
|
|
break;
|