Daenks/Meridian59_103 — pull request #500 by skittles1 (2014-07-03 12:41:43+00:00)
Title: Spell overhaul, spellpower and duration display.

This is the first part of an overhaul of how spells work and how they are called in the code. Spells with unique effects (eg. hold, blind) will have the function that performs that effect renamed to 'DoSpell' in the code to streamline any action that needs to happen when a unique effect is called for any spell. All monsters, rooms and items will be able to call any spell's unique effect by sending the spell a DoSpell with appropriate parameters. So far, hold, blind, dazzle, all wall/cloud spells and the spells/skills based off them are modified.

Added a system setting to toggle display of spellpower, displayed by CastSpell in spell.kod, and if applicable spell duration for unique effect, displayed by DoSpell in spell.kod. PE durations should ideally be displayed in the icon description or tooltip so I haven't included these here.

Also included are changes to the duration calculations for hold, blind and dazzle - these now work entirely in milliseconds rather than being converted at the end. The duration calculations are changed from (iSpellPower/n) to (iSpellPower*n) and all variables in the calculation (base time, multiplier, random deviation) are variables that can be changed from the admin console in game, but default to the values currently on the live servers. This is mainly for testing purposes.

The only gameplay change so far is lowering the hold from falling from the Riija temple bridge from 30 seconds to 20.