From 77a4bb41602407aba44f430f8848c995fc3adbfc Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Tue, 19 Mar 2024 19:19:23 +0100 Subject: [PATCH] items moved by Orb of Water, Magnetism, and Winter are now animated --- complex.cpp | 2 ++ items.cpp | 6 +++++- pcmove.cpp | 6 +++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/complex.cpp b/complex.cpp index 857098fe..1d5340ce 100644 --- a/complex.cpp +++ b/complex.cpp @@ -2484,7 +2484,9 @@ EX void livecaves() { if(hv > 0 && c->wall == waNone) { if(c->item && c->cpdist == 1 && markOrb(itOrbWater)) { bool saf = c->item == itOrbSafety; + eItem it = c->item; collectItem(c, c); + if(it && !c->item) animate_item_throw(c, cwt.at, it); if(saf) return; } c->wall = waSea; diff --git a/items.cpp b/items.cpp index e4f02e30..d446aa4d 100644 --- a/items.cpp +++ b/items.cpp @@ -56,8 +56,12 @@ EX bool doPickupItemsWithMagnetism(cell *c) { } else if(c3->item == itOrbSafety || c3->item == itBuggy || c3->item == itBuggy2) csaf = c3; - else if(markOrb(itOrbMagnetism)) + else if(markOrb(itOrbMagnetism)) { + eItem it = c3->item; collectItem(c3, c3, false); + if(!c3->item) + animate_item_throw(c3, c, it); + } } if(csaf) return collectItem(csaf, csaf, false); diff --git a/pcmove.cpp b/pcmove.cpp index 3f9f0bfc..8aac2d6e 100644 --- a/pcmove.cpp +++ b/pcmove.cpp @@ -1311,7 +1311,11 @@ bool pcmove::perform_actual_move() { forCellEx(c3, c2) if(c3->wall == waIcewall && c3->item) { changes.ccell(c3); markOrb(itOrbWinter); - if(collectItem(c3, cwt.at)) return true; + eItem it = c3->item; + if(collectItem(c3, cwt.at)) + return true; + if(!c3->item) + animate_item_throw(c3, c2, it); } movecost(cwt.at, c2, 2);