Fix a WebTiles log message
Fix a WebTiles loading error (#7965)
Sort spectator names and link them to player pages in webtiles chat.

This lists the player first, followed by all other non-anonymous spectators
alphabetically sorted.  Spectator names are now hyperlinks based off a
player_url variable in the webserver configuration.  Thanks to CursedNobleman
for the idea.
Fix a crash with dispersal missiles in a crowded area.

150 tries is little compared to 213 squares in LOS, it's possible to fail
to notice a valid spot -- currently random blink is not guaranteed due to
other quirks in the code so that's probably ok.  Yet this means finding
the first of two spots dispersal wants succeeds but the second fails.
Don't let apocalypse crab breath bounce at weird angles.

It causes no end of obscure crashes.  Fixing them would be an option, but
then, these bounces are so rare that people won't notice all this work.
Regular bounces are good enough.
Assert-crash if the player somehow ends up in a wall.

Wizmode XT is explicitely allowed: if we banned that, there's currently no
good replacement for going into a wall and &(
Ensure the player doesn't end up in a wall on abyss shifts.

Somehow, _write_abyssal_features() did that in one case.  Not sure why, as
the terrain is supposed to come from around the player.
Drop the token black lady's tile.
Remove some newly-dead geometry code.

The {get,set}_degrees methods of ray_def were only used by the chaos
bouncing code, removed in 0.14-a0-1819-g38ea213.  The functions
geom::degrees and geom::degree_to_vector were only used by those
ray_def methods.
Remove redundant declaration for fdatasync on Windows (#7884)
Capitalise two sentences in dumps (#7969)

They were uncapitalised when the player worshipped TSO, as that god's
name does not begin with a capital letter.  The in-game messages were
fine, because mprf did the capitalisation.
Generate the items in fsim_kit if they are not in the player's inventory.
Drop some useless parentheses around comparisons.
Make a function non-virtual.
Remove redundancy: {attack,defend}er_visible vs {attack,defend}er_invisible.

They could go out of sync only if a monster somehow managed to make a
reaching attack through three clouds: impossible because a) current max reach
is 2, b) no one can attack out of LOS.  And while a) may change, I don't see
b) ever getting allowed.

And even if they did go out sync, the only result would be an
attacker/defender showing up as "something" rather than "it".
Give a message when someone invisible gets hit by your spines.

You'd feel that.
Deindent.
Fix non-neuter pronouns for those hit by a treant's roots.
Replace it with something.
Correct the case of a pronoun.