items moved by Orb of Water, Magnetism, and Winter are now animated

This commit is contained in:
Zeno Rogue 2024-03-19 19:19:23 +01:00
parent 5bdade94b6
commit 77a4bb4160
3 changed files with 12 additions and 2 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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);