I think there is a fairly clean way to approach targeting and LOS. It requires a single change in viewpoint, but then everything flows.
Currently, walls are considered to take up entire spaces. If you change that
perspective so that walls in a corridor only extend halfway everything becomes easy. Define two squares to be visible with respect to each other if the line connecting their centers does not pass through a wall. Consider a passwall monster in a wall to be centered at the center, but partially extending outward if the wall is adjacent to a non-wall. After all, at a minimum the mouth has to be outside the wall if it can breathe at you.
Then for anything like
################D
@
the @ and D have LOS on each other, even if the D is an ethereal dragon in a wall.
The boundary case is
##D
##
@
and it could go either way without any particular benefits or disadvantages I can see. Probably it is better to say not visible.
IMO it is absolutely vital for
#m
#
@#
to be a case where the @ can see the death mold. Also, the player is allowed to move diagonally which does not make sense if the walls completely fill the #s and thus would touch. Once you accept these points, I think the argument proceeds in a straightforward manner to the interpretation I give above.
Even if you don't like the interpretation, it leads to a clean model with good gameplay properties, and that is the important thing.
Currently, walls are considered to take up entire spaces. If you change that
perspective so that walls in a corridor only extend halfway everything becomes easy. Define two squares to be visible with respect to each other if the line connecting their centers does not pass through a wall. Consider a passwall monster in a wall to be centered at the center, but partially extending outward if the wall is adjacent to a non-wall. After all, at a minimum the mouth has to be outside the wall if it can breathe at you.
Then for anything like
################D
@
the @ and D have LOS on each other, even if the D is an ethereal dragon in a wall.
The boundary case is
##D
##
@
and it could go either way without any particular benefits or disadvantages I can see. Probably it is better to say not visible.
IMO it is absolutely vital for
#m
#
@#
to be a case where the @ can see the death mold. Also, the player is allowed to move diagonally which does not make sense if the walls completely fill the #s and thus would touch. Once you accept these points, I think the argument proceeds in a straightforward manner to the interpretation I give above.
Even if you don't like the interpretation, it leads to a clean model with good gameplay properties, and that is the important thing.
Comment