public void AddSpell(Vector3 pos, Spells s, Vector3 target)
{
pos.Y += 300;
pos.Z += 100;
switch (s)
{
case Spells.Fireball:
{
spells.Add(new Spell(Spells.Fireball, Spell.Alignments.Damage, 0, 1, 10, 1, 3, false, 100, pos, 0, "Deals damage|Starter spell", target));
break;
}
case Spells.Slowball:
{
spells.Add(new Spell(Spells.Slowball, Spell.Alignments.Slow, 0, 3, 20, 2, 2, false, 100, pos, 1000, "Slows the enemy by|50 % pr. hit", target));
break;
}
case Spells.PoisonBall:
{
spells.Add(new Spell(Spells.PoisonBall, Spell.Alignments.Poison, 0, 5, 30, 3, 3, false, 100, pos, 2000, "Poisons the enemy.|Damage over time", target));
break;
}
case Spells.MagicMissile:
{
spells.Add(new Spell(Spells.MagicMissile, Spell.Alignments.Damage, 0, 10, 40, 6, 4, false, 100, pos, 3000, "Moderate damage.|Homing: Random enemy", target));
break;
}
case Spells.EnergyBall:
{
spells.Add(new Spell(Spells.EnergyBall, Spell.Alignments.Damage, 0, 20, 40, 8, 0.6f, true, 200, pos, 4000, "Damage while touching.|Controllable: R-stick", target));
break;
}
case Spells.MagicMissileX2:
{
spells.Add(new Spell(Spells.MagicMissileX2, Spell.Alignments.Damage, 0, 10, 20, 10, 4, false, 100, pos, 5000, "2 Magic Missiles.|Homing: Random enemy", Vector3.Zero));
break;
}
case Spells.MagicMissileX4:
{
spells.Add(new Spell(Spells.MagicMissileX4, Spell.Alignments.Damage, 0, 10, 10, 12, 4, false, 100, pos, 6000, "4 Magic Missiles.|Homing: Random enemy", Vector3.Zero));
break;
}
}
shootCue = soundBank.GetCue("shoot");
if (!shootCue.IsPlaying)
{
shootCue.Play();
}
}