From 4c2beb2e5e6ca6f3c12e0f068f8416d76ae85d67 Mon Sep 17 00:00:00 2001 From: Haru Date: Wed, 21 Sep 2016 21:15:31 +0200 Subject: Fixed a wrong check in the SA_FREECAST handling code - Don't skip the check for Free Cast's absence unless the cast skill's INF2_FREE_CAST_* flags aren't unset. - Follow-up to 19a06cae9a03ae7c390db18ca95b74bd6033dc4e - Fixes #1439 Signed-off-by: Haru --- src/map/unit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/map/unit.c b/src/map/unit.c index 978dd54b3..5364a9547 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1073,8 +1073,8 @@ int unit_can_move(struct block_list *bl) // Prevent moving while casting if (sd == NULL) return 0; // Only players are affected by SA_FREECAST and similar - if ((skill->get_inf2(ud->skill_id) & (INF2_FREE_CAST_REDUCED | INF2_FREE_CAST_NORMAL)) != 0) { - // Skills with an explicit free cast setting always allow walking + if ((skill->get_inf2(ud->skill_id) & (INF2_FREE_CAST_REDUCED | INF2_FREE_CAST_NORMAL)) == 0) { + // Skills with an explicit free cast setting always allow walking regardless of SA_FREECAST if ((skill->get_inf2(ud->skill_id) & INF2_GUILD_SKILL) != 0) return 0; // SA_FREECAST doesn't affect guild skills if (pc->checkskill(sd, SA_FREECAST) == 0) -- cgit v1.2.3-70-g09d2