Here’s some pretty strong counter examples to the simple “outside can’t attack inside” rule.
- Build a single frame with roof.
[code]. = frame with ceiling
_ = outside ground
.
___[/code]
2) Pull frame behind me until I attract zombie attention.
3) Step into frame.
4) Laugh as all the zombies walk up right next to me and I poke them to death while they can’t attack me because I’m “inside”.
Even if you required multiple tile coverage to make something be “inside” you could still build something that easily rendered you completely invulnerable to zombie attacks while being able to kill them with impunity, i.e.:
[code]B = board
B_B
B.B
BBB[/code]
Or heck, how about this:
_B_
B.B
_B_
Player is surrounded by walls so they count as “inside”. Diagonal squares aren’t, so count as “outside”. As long as the boards stay standing the player can attack any adjacent zombie with impunity without needing to worry about fear of retribution.
And this could be done on any cars with doors, either by standing in the door square or the square right next to it (depending on if the door counts as “inside” or not). And even if you say “neither inside nor outside can attack one another”, you’re still setting it up for a ranged player to use it, then pull out there gun and just plunk shots at the zombies standing right next to them even though they aren’t allowed to attack them (since there’s no reason why you shouldn’t be able to shoot from “inside” to “outside” or vice versa).
Honestly the “derotating” idea, despite the coding difficulty, is probably going to be the most realistic one. The “all corners are impassable” idea would also work, though it would involve a similar amount of code changing and you’d bet we’d need to implement it in normal buildings too for consistency.