1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-12-18 03:58:04 +00:00

Fix crash when Orbs of Choice, Space, and Safety interact

When grabbing an Orb of Safety across lands with Orb of Space while Orb of
Choice is active, a "HEPTAGONAL RULE MISSING" message would print and the
game would exit. Fix it by not running the animation in this case.
This commit is contained in:
Joseph C. Sible
2025-11-13 02:01:35 -05:00
parent d101495e2a
commit c9c604e3f7

View File

@@ -865,9 +865,11 @@ void telekinesis(cell *dest) {
eItem it = cwt.at->item; eItem it = cwt.at->item;
bool saf = it == itOrbSafety; bool saf = it == itOrbSafety;
collectItem(cwt.at, cwt.at, true); collectItem(cwt.at, cwt.at, true);
if(cwt.at->item == it) if(saf)
;
else if(cwt.at->item == it)
animateMovement(match(dest, cwt.at), LAYER_BOAT); animateMovement(match(dest, cwt.at), LAYER_BOAT);
else if(!saf) else
animate_item_throw(dest, cwt.at, it); animate_item_throw(dest, cwt.at, it);
useupOrb(itOrbSpace, cost.first); useupOrb(itOrbSpace, cost.first);