diff --git a/monstermove.cpp b/monstermove.cpp index ea3a1bfc..7c3fe24e 100644 --- a/monstermove.cpp +++ b/monstermove.cpp @@ -182,6 +182,7 @@ EX void moveMonster(const movei& mi) { if(isLeader(m)) { if(ct->wall == waBigStatue) { ct->wall = cf->wall; + ct->wparam = cf->wparam; cf->wall = waBigStatue; animateMovement(mi.rev(), LAYER_BOAT); } diff --git a/pcmove.cpp b/pcmove.cpp index 304c9f1a..7c8432f9 100644 --- a/pcmove.cpp +++ b/pcmove.cpp @@ -818,6 +818,7 @@ bool pcmove::after_escape() { changes.ccell(cwt.at); c2->wall = cwt.at->wall; + c2->wparam = cwt.at->wparam; if(doesnotFall(cwt.at)) { cwt.at->wall = what; if(cellHalfvine(what)) @@ -1103,8 +1104,10 @@ bool pcmove::perform_actual_move() { flipplayer = true; if(multi::players > 1) multi::flipped[multi::cpid] = true; }); if(c2->item && isAlch(c2)) { - if(alchMayDuplicate(cwt.at->wall)) + if(alchMayDuplicate(cwt.at->wall)) { c2->wall = cwt.at->wall; + c2->wparam = cwt.at->wparam; + } else c2->wall = waNone; }