Move a lot of duplicated logic into helper functions so that it is easy
to ensure that wolfchat restrictions are being consistently applied.
check_exchange still needs to be modified but everything else should be
ok.
- Correctly logic out bite interacting with harlot, immunized, and lycan:
- A harlot that isn't home does not get bit and refunds the bite unless
they visit a wolfteam member or visit the unprotected wolves' victim
(in either of those cases, they get bit instead of dying)
- A lycan or someone with a lycanthropy totem that gets bitten
immediately turns to wolf and refunds the bite. The regular wolf kill
still happens too, so this is essentially a freebie for alpha wolf.
- An immunized target dies per normal, but the death from the bite does
not stack with the death from a normal wolf kill for the purposes of
protection (meaning a single protection will guard against both).
- Fix nightdone check so that night doesn't end prematurely if alpha
would be eligible to bite but has already done so previously in the
game.
- Always apply host-based allows/denies even in var.ACCOUNTS_ONLY is set
- Fix display of mixed-mode allows/denies for a particular user
- Make -acc and -host switches operate more intelligently on both the
bare command as well as when given an argument
I cannot reproduce the bug locally, but this will force the socket to
close if it didn't for whatever reason, which is what seems like could
have caused the issue.
Didn't remove players from var.DISCONNECTED, leading to idling out every 10 seconds and getting lots of stasis while still being in the game
Didn't actually check whether the player was in channel or not