/// <summary>
 /// Casts the slow fall. generic
 /// </summary>
 /// <param name="caster">Caster.</param>
 /// <param name="ActiveSpellArray">Active spell array.</param>
 /// <param name="EffectID">Effect ID of the spell</param>
 /// <param name="EffectSlot">Effect slot.</param>
 void Cast_SlowFall(GameObject caster, SpellEffect[] ActiveSpellArray, int EffectID, int EffectSlot)
 {
     SpellProp_Movement movement = new SpellProp_Movement();
             movement.init (EffectID,caster);
             SpellEffect slf = (SpellEffectSlowFall)SetSpellEffect (caster, ActiveSpellArray,EffectSlot,EffectID);
             slf.counter=movement.counter;
             slf.Go ();
 }
 /// <summary>
 /// Casts the leap spell (generic)
 /// </summary>
 /// <param name="caster">Caster.</param>
 /// <param name="ActiveSpellArray">Active spell array.</param>
 /// <param name="EffectID">Effect ID of the spell</param>
 /// <param name="EffectSlot">Effect slot.</param>
 void Cast_Leap(GameObject caster, SpellEffect[] ActiveSpellArray, int EffectID, int EffectSlot)
 {
     SpellProp_Movement movement = new SpellProp_Movement();
             movement.init (EffectID,caster);
             SpellEffect lep = (SpellEffectLeap)SetSpellEffect (caster, ActiveSpellArray,EffectSlot,EffectID);
             lep.counter=movement.counter;
             lep.Go ();
 }
 /// <summary>
 /// Casts the speed spells generic 
 /// </summary>
 /// <param name="caster">Caster.</param>
 /// <param name="ActiveSpellArray">Active spell array.</param>
 /// <param name="EffectID">Effect ID of the spell</param>
 /// <param name="EffectSlot">Effect slot.</param>
 public void Cast_Speed(GameObject caster, SpellEffect[] ActiveSpellArray, int EffectID, int EffectSlot)
 {
     //Speed
             SpellProp_Movement movement = new SpellProp_Movement();
             movement.init (EffectID,caster);
             SpellEffectSpeed ses = (SpellEffectSpeed)SetSpellEffect (caster, ActiveSpellArray,EffectSlot,EffectID);
             ses.counter=movement.counter;
             ses.speedMultiplier=movement.Speed;
             ses.Go ();
 }
 /// <summary>
 /// Casts the water walk spell (generic)
 /// </summary>
 /// <param name="caster">Caster.</param>
 /// <param name="ActiveSpellArray">Active spell array.</param>
 /// <param name="EffectID">Effect ID of the spell</param>
 /// <param name="EffectSlot">Effect slot.</param>
 public void Cast_WaterWalk(GameObject caster, SpellEffect[] ActiveSpellArray, int EffectID, int EffectSlot)
 {
     //Waterwalk
             SpellProp_Movement movement = new SpellProp_Movement();
             movement.init (EffectID,caster);
             SpellEffectWaterWalk seww = (SpellEffectWaterWalk)SetSpellEffect (caster, ActiveSpellArray,EffectSlot,EffectID);
             seww.counter=movement.counter; //It will run for x ticks.
             seww.Go ();
 }
 /// <summary>
 /// Casts the levitate spels (generic)
 /// </summary>
 /// <param name="caster">Caster.</param>
 /// <param name="ActiveSpellArray">Active spell array.</param>
 /// <param name="EffectID">Effect ID of the spell</param>
 /// <param name="EffectSlot">Effect slot.</param>
 public void Cast_Levitate(GameObject caster, SpellEffect[] ActiveSpellArray, int EffectID, int EffectSlot)
 {
     //Levitate
             SpellProp_Movement flight = new SpellProp_Movement();
             flight.init (EffectID,caster);
             SpellEffectLevitate sep = (SpellEffectLevitate)SetSpellEffect (caster, ActiveSpellArray,EffectSlot,EffectID);
             sep.counter=flight.counter;
             sep.Go ();
 }