1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-27 22:39:53 +00:00

fixed 'locked with powerful magic' message spam; OoY not movable through land with OoWater; you can jump out of an OoY boat using OoFish/OoAether/OoGravity

This commit is contained in:
Zeno Rogue 2019-11-03 14:08:45 +01:00
parent c7dfdaef4c
commit 02bb9d5ea5

View File

@ -8180,7 +8180,8 @@ EX bool movepcto(int d, int subdir IS(1), bool checkonly IS(false)) {
} }
if(cwt.at->item == itOrbYendor) { if(cwt.at->item == itOrbYendor) {
addMessage(XLAT("The Orb of Yendor is locked in with powerful magic.")); if(markOrb(itOrbFish) || markOrb(itOrbAether) || gravity_state) goto escape;
if(!checkonly) addMessage(XLAT("The Orb of Yendor is locked in with powerful magic."));
return false; return false;
} }
@ -8195,7 +8196,7 @@ EX bool movepcto(int d, int subdir IS(1), bool checkonly IS(false)) {
goto boatjump; goto boatjump;
} }
if(!c2->monst && cwt.at->wall == waBoat && boatGoesThrough(c2) && markOrb(itOrbWater) && !nonAdjacentPlayer(c2, cwt.at) && fmsMove) { if(!c2->monst && cwt.at->wall == waBoat && cwt.at->item != itOrbYendor && boatGoesThrough(c2) && markOrb(itOrbWater) && !nonAdjacentPlayer(c2, cwt.at) && fmsMove) {
if(havePushConflict(cwt.at, checkonly)) return false; if(havePushConflict(cwt.at, checkonly)) return false;
if(monstersnear(c2,NULL,moPlayer,NULL,cwt.at)) { if(monstersnear(c2,NULL,moPlayer,NULL,cwt.at)) {