summaryrefslogtreecommitdiff
path: root/src/emap
diff options
context:
space:
mode:
Diffstat (limited to 'src/emap')
-rw-r--r--src/emap/pc.c3
-rw-r--r--src/emap/unit.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/src/emap/pc.c b/src/emap/pc.c
index b371797..8c372f0 100644
--- a/src/emap/pc.c
+++ b/src/emap/pc.c
@@ -963,6 +963,9 @@ int epc_jobchange(struct map_session_data *sd,
if (homun_alive(sd->hd) && !pc->checkskill(sd, AM_CALLHOMUN))
homun->vaporize(sd, HOM_ST_REST);
+ if ((sd->sc.data[SC_SPRITEMABLE] && pc->checkskill(sd, SU_SPRITEMABLE)))
+ status_change_end(&sd->bl, SC_SPRITEMABLE, INVALID_TIMER);
+
if (sd->status.manner < 0)
clif->changestatus(sd, SP_MANNER, sd->status.manner);
diff --git a/src/emap/unit.c b/src/emap/unit.c
index 5d8211a..873064e 100644
--- a/src/emap/unit.c
+++ b/src/emap/unit.c
@@ -104,6 +104,8 @@ int eunit_can_move_pre(struct block_list **blPtr)
|| sc->data[SC_NEEDLE_OF_PARALYZE]
|| sc->data[SC_VACUUM_EXTREME]
|| (sc->data[SC_FEAR] && sc->data[SC_FEAR]->val2 > 0)
+ || sc->data[SC_NETHERWORLD]
+ || sc->data[SC_SUHIDE]
|| (sc->data[SC_SPIDERWEB] && sc->data[SC_SPIDERWEB]->val1)
|| (sc->data[SC_CLOAKING] && sc->data[SC_CLOAKING]->val1 < 3 && !(sc->data[SC_CLOAKING]->val4&1)) //Need wall at level 1-2
|| (