summaryrefslogtreecommitdiff
path: root/src/map/unit.c
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-01-28 18:42:25 -0200
committershennetsind <ind@henn.et>2013-01-28 18:42:25 -0200
commitcba3bef47e8758ab1db43bd5ee3b6fcc5f9a498b (patch)
tree2416bbe65b1bc89542aa0691344670c97505b37e /src/map/unit.c
parent9f75e121fd20aaa20e337c8664ba9a57fe90fe21 (diff)
downloadhercules-cba3bef47e8758ab1db43bd5ee3b6fcc5f9a498b.tar.gz
hercules-cba3bef47e8758ab1db43bd5ee3b6fcc5f9a498b.tar.bz2
hercules-cba3bef47e8758ab1db43bd5ee3b6fcc5f9a498b.tar.xz
hercules-cba3bef47e8758ab1db43bd5ee3b6fcc5f9a498b.zip
New skill config
After due consideration we thought it'd be in the best interest of the community to provide a switch to this official feature since it drastically change the way traps can be used Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/unit.c')
-rw-r--r--src/map/unit.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/map/unit.c b/src/map/unit.c
index 5d2a6c794..148a35782 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -350,6 +350,8 @@ int unit_walktoxy( struct block_list *bl, short x, short y, int flag)
map_random_dir(bl, &ud->to_x, &ud->to_y);
if(ud->walktimer != INVALID_TIMER) {
+ if( !battle_config.skill_trap_type && sc->data[SC_ANKLE] ) // Ankle disallows you from changing your path
+ return 0;
// When you come to the center of the grid because the change of destination while you're walking right now
// Call a function from a timer unit_walktoxy_sub
ud->state.change_walk_target = 1;
@@ -425,6 +427,8 @@ int unit_walktobl(struct block_list *bl, struct block_list *tbl, int range, int
map_random_dir(bl, &ud->to_x, &ud->to_y);
if(ud->walktimer != INVALID_TIMER) {
+ if( !battle_config.skill_trap_type && sc->data[SC_ANKLE] ) // Ankle disallows you from changing your path
+ return 0;
ud->state.change_walk_target = 1;
set_mobstate(bl, flag&2);
return 1;
@@ -931,7 +935,7 @@ int unit_can_move(struct block_list *bl) {
)
return 0;
- if( sc->data[SC_ANKLE] && !unit_is_walking(bl) ) // Ankle only stops you after you're done moving
+ if( sc->data[SC_ANKLE] && ( battle_config.skill_trap_type || !unit_is_walking(bl) ) ) // Ankle only stops you after you're done moving
return 0;
if (sc->opt1 > 0 && sc->opt1 != OPT1_STONEWAIT && sc->opt1 != OPT1_BURNING && (sc->opt1 != OPT1_CRYSTALIZE && bl->type != BL_MOB))