public void LearnSpell(AbstractSpell spell) { if (!KnownSpells.Contains(spell)) { KnownSpells.Add(spell); } }
public void ForgetSpell(AbstractSpell spell) { if (KnownSpells.Contains(spell)) { KnownSpells.Remove(spell); } else { Console.WriteLine("Character doesn't know this spell!"); } }
public void CastSpell(ReceivedSpell receivedSpell, Player player = null, int power = 0) { if (!KnownSpells.Contains((AbstractSpell)receivedSpell.Target)) { Console.WriteLine("Character doesn't know this spell!"); return; } if (power < 0) { power = 0; } if (player == null) { player = this; } receivedSpell(this, player, power); }