Break rescue attempt on room change.

Prevents people drinking a potion and zone-hopping while they wait for
it to fire.
Limited mail message size to prevent potential problems in the client.
Removed a wasteful call that notified monsters of player presence when
the player sends a mail message.
Spellpower gems

1-5 spellpower, one gem for each school.
.bgf typo fix
changed nerudite arrows to spider eyes in black spider loot
replace nerudite arrows with spider eyes
Check for $ range (dead monster) in GetChaseBehavior.

Sometimes the mob dies before we get to this part, so check that we
returned a numerical value for range.
Optimise GetHatred code, mob vision/radius, check for NPC troop

One less check for mobs with no master, and also prevent minions from
attacking faction troops that aren't attacking the master. Changed how
monster vision works - the default is now larger and dependent on viDifficulty.
Monsters should now only aggro within that vision radius, and once you
get too far outside the radius they will no longer chase you.
Vision/aggro changes.

-Increase mob vision while chasing an attacker from +3 to +5 normal
vision.
-Record the time last attacked and the object who did it and use this
when determining whether to stop chasing an attacker who is fleeing
(keep fleeing for at least 10 sec after the attack, no matter if we can
see them or not). -Increase piChaser_factor to stop multiple mobs
aggroing on one player without provocation.
-Attacking a monster will always cause it to aggro; if the event passed
to GetHatred is TS_FIGHT_ME_VICTIM, the mob will ignore the amount of
chasers its target has.
Remove attacker identity from radius aggro check.

Not needed here, may use it elsewhere so leaving the message in
monster.kod
Fungus beast difficulty raised to 3.

Difficulty on fungus beasts was too low. They will still be ridiculously
easy but their vision and stats will be slightly improved.

Set piChaser_factor to 150 in brain.kod, 120 was still allowing multiple
aggro in some cases.
Fix monster ally logic.

They were allying with other players' minions, and not the master's
minions.
Description format changes

Reordered item condition to appear below item properties.
Change rainbow fern timers to system NewHour call.

103 currently has 648 timers running just to change the color of rainbow
ferns (half of the total number of timers). Sending all rainbow ferns a
message to change color is less resource intensive than maintaining a
timer for each one.
Fix spawn points in Sentinel

Mobs spawn inside the wall. Clean up some code too.
Fixed master volume slider, setting was not being used for distance
agnostic sounds
Remove unnecessary Sends when variable can be used.

These can be accessed by using the classvar or property directly -
several orders of magnitude faster than Send.
Fix/optimize ms ticks (C_GetTickCount)
fix value in comment
Adjust speedhack-protection