zenorogue / hyperrogue

A SDL roguelike in a non-euclidean world
GNU General Public License v2.0
575 stars 72 forks source link

Aimless sandworm ignores gravity #97

Open Quuxplusone opened 4 years ago

Quuxplusone commented 4 years ago

By an "aimless" sandworm I mean one which can't reach the player and therefore heads off to infinity in whatever direction it's currently facing.

94 was about aimless sandworms pathing into not-yet-generated territory.

The present issue is about aimless sandworms heading straight up the Ivory Tower like a rocket ship.

Here I jumped up onto a ladder to make the worm think it couldn't reach me; and then waited until the worm's head was out of sight; and then was delighted to find that the worm's body supported my weight and I was able to climb it to infinity. (Eventually I got into view of the head, at which point the worm turned around and started heading toward me again.)


Not really related, but: I was surprised to find that I can stand atop a worm tail in the Ivory Tower, but apparently I cannot stand atop a Metal Beast in its "waiting" state.

emmiegit commented 3 years ago

I believe this is because worms, as multi-tile creatures, are supported by earlier tiles and can thus climb upwards forever, even if its tail is in the air.

I feel like this behavior should be changed. Instead, the body segments shouldn't count as platforms for the sandworm head, so it needs a real platform or falls. Or perhaps just causing them to avoid entering gravity lands?