summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-10-24 18:09:45 +0300
committerAndrei Karas <akaras@inbox.ru>2016-10-24 18:41:38 +0300
commit84e7b04c06143973ca06a165b17e910f6a488bfb (patch)
tree383f66fca1f1de2968d27e6a46ff0f18125a7770
parentf53a681102feb5e5f622635c5a5933a9aa6b7693 (diff)
downloadplugin-84e7b04c06143973ca06a165b17e910f6a488bfb.tar.gz
plugin-84e7b04c06143973ca06a165b17e910f6a488bfb.tar.bz2
plugin-84e7b04c06143973ca06a165b17e910f6a488bfb.tar.xz
plugin-84e7b04c06143973ca06a165b17e910f6a488bfb.zip
Port some new code from hercules in replaced functions.s20161213
-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
|| (