Remove comma at end of enum
Replace RoomDrawList with vector
Replace RoomDraw with vector
Remove RoomDrawListAdd function
Use size_t for loop control variables
Remove duplicated call to EERIERTPPoly2
Remove return value of EERIERTPPoly2
Changes to aura controls.

Makes the aura control method for the "Armor" spell analogous to the one
used for the "Protection from fire" spell.

Turns on the aura for the "Lower armor" spell if the spell is active but
the aura is disabled. If a protection spell and "Lower armor" are active
at the same time on the same target, the lower armor aura is hidden.
Previously, the lower armor aura did not appear when protection ended
before the end of "Lower armor"; this is now fixed.
Adding spell sounds.

Added sound effects of some spells: Lower armor — added
SND_SPELL_LOWER_ARMOR_END, Levitate — added SND_SPELL_LEVITATE_LOOP and
SND_SPELL_LEVITATE_END, Slow down — added SND_SPELL_SLOW_DOWN_END.
Reposition spell sounds.

"Night vision", "Speed", "Telekinesis", and "Slow time" — the completion
sound is bound to the caster's current position.
"Armor", "Protection from fire", "Protection from cold", "Levitation"
and "Lightning projection" — the starting sound is bound to the spell
origin; the effect sound follows the caster; the completion sound is
bound to the caster's current position.
"Lower armor", "Curse", "Paralyze", "Slow down" and "Confuse" — the
starting sound is bound to the spell target.
"Harm" — the effect sound follows the caster.
"Raise dead" and "Summon" — the sound is bound to the portal location,
and the sound played only when the portal opens; the creature spawn
sound (for zombies, demons, etc.) is bound to the spawn point; the
completion sound is bound to the current position of the creature before
it disappears.
"Fake summon" (by NPC) — the starting and completion sounds are bound to
the position of spell target.
"Incinerate" — the starting and effect sounds are bound to the spell
target.
Unbind positions of three trap-type spells from the caster.

The positions of active "Create field", "Ice field" and "Trap" spells
were originally bound to the caster. This meant that using "Negate
magic" always turned off the player's own spells of these types, even if
their effects were outside the magic suppression area (circle with a
6-metre radius around the player). The positions have now been bound to
the effect locations, as in the "Fire field" spell.
Changes to stats.

NPCs' attack and damage absorption levels are now lowered (instead of
being raised) by 5% per level of Curse spell applied on the NPC.

The player's critical strike chance now depends on values set in melee
weaponry scripts (SETEQUIP CRITICAL) and is properly affected by the
words of power.

The player's armor class, magic resistance, poison resistance and
inflicted damage now depend on buffed attributes and skills instead of
base ones.

The buffed Constitution and Mental stats are now taken into account when
the health and mana replenishing effects of the MAX and MAR words of
power are capped.
Erroneous mana consumption fixed.

Previously, if a spell that consumes mana gradually was followed by a
spell that consumes mana once, the second spell would erroneously
consume mana gradually as well. This is now fixed.