protected bool Equals(BaseCharacter other) { return Id.Equals(other.Id); }
protected GameAction(int priority, BaseCharacter source) : base(priority, source) { }
public PhysicalDamageAction(int priority, BaseCharacter source, BaseCharacter target, double damage) : base(priority, source, target, damage) { }
public TeleportationAction(int priority, BaseCharacter source, Position target) : base(priority, source) { Target = target; }
public MoveCommand(BaseCharacter character, Position target) { Character = character; Target = target; }
protected MovementAction(int priority, BaseCharacter source) : base(priority, source) { }
public WalkAction(int priority, BaseCharacter source) : base(priority, source) { throw new NotImplementedException(); }
protected DamageAction(int priority, BaseCharacter source, BaseCharacter target, double damage) : base(priority, source) { Damage = damage; Target = target; }