summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2014-03-29 17:13:44 -0300
committershennetsind <ind@henn.et>2014-03-29 17:13:44 -0300
commita43cd2b1c29461ce3955d6cbcf6edcb8e19bebfb (patch)
treed6fdec22cfd9b05e36778814bdeae9d8ab2520b5
parentd739d89715e0800ac3c50cf46cea75735afe705c (diff)
downloadhercules-a43cd2b1c29461ce3955d6cbcf6edcb8e19bebfb.tar.gz
hercules-a43cd2b1c29461ce3955d6cbcf6edcb8e19bebfb.tar.bz2
hercules-a43cd2b1c29461ce3955d6cbcf6edcb8e19bebfb.tar.xz
hercules-a43cd2b1c29461ce3955d6cbcf6edcb8e19bebfb.zip
Fixed Bug 8125
using skilleffect on a sitting character no longer causes it to be unable to move. http://hercules.ws/board/tracker/issue-8125-sit-soul-link-npc-stuck/ Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--src/map/script.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/map/script.c b/src/map/script.c
index d3d98ad06..c36d26626 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -12722,6 +12722,13 @@ BUILDIN(skilleffect) {
uint16 skill_lv=script_getnum(st,3);
sd=script->rid2sd(st);
+ /* ensure we're standing because the following packet causes the client to virtually set the char to stand,
+ * which leaves the server thinking it still is sitting. */
+ if( pc_issit(sd) ) {
+ pc->setstand(sd);
+ skill->sit(sd,0);
+ clif->standing(&sd->bl);
+ }
clif->skill_nodamage(&sd->bl,&sd->bl,skill_id,skill_lv,1);
return true;