Subdoc for Elemental Spells
-=-=-=-=-=-=-=-=-=-=-=-=-=-


What is an Elemental Spell?
-=-=-=-=-=-=-=-=-=-=-=-=-=-

     An elemental spell is one which meets the following criteria:

	1.  Its spell skill is 'elementalism'
	2.  Its effects are modified according to the elemental realm 
	practiced by the caster.

     Elemental spells are practiced by elementalists and elemental 
warriors, and they require skill in elemental lore to cast.  The 
currently implemented elemental lore skills are:

	Fire Lore	Earth Lore
	Water lore	Air Lore
	Ice Lore	Cold Lore
	Gravity Lore	Dark Lore
	Inertia Lore	Electricity Lore
	Wind Lore	Plasma Lore
	Vacid Lore	Aether Lore
	Chaos Lore	Time Lore
	Nexus Lore

     Each lore skill may be learned by the elementalist, and the one in 
effect at the time of casting effects the outcome of the spell.  For a 
comprehensive list of elements and damage types, see ~drizzt/ele/element.


Coding an Elemental Spell
-=-=-=-=-=-=-=-=-=-=-=-=-

     The first step in coding an elemental spell is to make sure the 
create() function contains the following two lines:

	set_property("elemental spell", 1);
	set_property("skill", "elementalism");

     Now the spell will be affected according to what element the caster 
is practicing at the time of casting.  His/her skill chance will be 
affected, and the following will change about the code of the spell.

     First, two important variables are set which can be referred to in 
spell_func() so you will know how to change the spell according to the 
element.

props["element"]
    -a string containing the name of the element (not capitalized)
	ex. "ice"

props["element types"]
    -a string ARRAY containing the damage types done by or protected by, 
etc. the spell.
	ex. ({ "cold", "impact" })    <---- example is for ice

    You may use these variables to taylor your spell according to the 
element.

    Also, if you wish to use the "damage" "area damage" or "protection" 
standard spell types, the spell.c will set the damage types for you (no 
need to set_property("damage types") or set_property("protection types"), 
etc.) if you do the following:

set_property("ele damage", int amount);
     Sets the magnitude of the damage done by the spell.  DO NOT 
set_property("damage types").
	ex. set_property("ele damage", 20);

set_property("ele protection", int amount);
     As above but for protection spells, DO NOT set_property("protection 
types").

    Note: it is still necessary to include "damage" "area damage" or 
"protection" to your set_property("spell type").  See 
/doc/build/spells/tutorial for info.  Mail me with any questions...

-Diewarzau

