internal bool CastSpell(Player caster, Spell spell, Point target) { if (caster.CouldCastSpell(spell)) { string effectString = string.Format("{0} casts {1}.", caster.Name, spell.Name); if (DoEffect(caster, spell, spell, caster.SpellStrength(spell.School), true, target, effectString)) { caster.SpendMP(spell.Cost); return true; } } return false; }