That's some interesting interactions you've found. Let me address them one by one:
> Halph/slayer not entering a tile
I don't think we should aim for consistency in "
room traversal"
rules between Beethro and Halph/Slayer. There have always been slight differences between how Player is handled vs how everything else is handled with pretty much everything. Also the the player rules are fairly arbitrary and are rooted in the fact that player can, in fact, traverse between rooms, you don't see the room you're trying to enter and their state might be different from the state it was when you last entered it.
Which is I am of the opinion that the current behavior should stay - instead of relying on the player's arcane rules use the monster's well-known rules.
> An arrow in the corners is even more buggy.
Like you noted, it's because it simulates a diagonal move. Changing this would require either arbitrarily deciding which direction to prefer, or making it selectable in the Editor which sounds like a lot of work for a feature that likely won't be used ever. So I'd say, keep it as-is.
> Halph also can't be placed on the edge of the room. A monster can be placed on a Halph entrance, but a Halph entrance can't be placed on a monster.
Looking at the code it appears it could be possible to make it possible to place halph/slayer on an edge of the room without them being converted to room entrances. If someone can make a feature request for that I'll see about implementing it for 5.2.
As for not being able to place entrance-halph/slayer under a monster, this would also be possible to be added but falls under the "
too much work for too little gain"
, though feel free to create a separate feature request thread for that, if not me someone else may want to take care of it.
> Halph also doesn't appear on closed doors, while Beethro can enter a room on them, which is consistent with moving from the edge or corner.
See the first point.
> However Halph does appear on the corner on an orthosquare, which is not.
That certainly sounds like a bug that should be fixed, to make the entering rules consistent with movement rules.
> Beethro safely enters a room on a firetrap, while Halph does not. (And dies trying.) This is related to the used "no end of turn 0" curiosity.
Given that both Halph and Slayer navigate around fire traps I think they should just refuse to appear for as long as the firetrap is active.
> Both Halph and slayers can enter safely on puff. This causes puff to stay in place since the closest life is under them, while Halph and the slayer stay safe until they move
Ditto for puffs.
To summarize, what should be changed in my opinion:
- Disallow appearing on corner ortho squares
- Disallow appearing on active firetraps
- Disallow appearing on puffs
What can be handled separately in feature requests:
- Ability to place halphs/slayers on room edges without making them enterable, likely to be implemented for 5.2
- Ability to place enterable halph/slayers under monsters on room edges, unlikely to be implemented given work-value ratio
What is intentional:
- Difference between rules of how player can enter rooms and how halph/slayer can enter rooms
____________________________
My website