public StackableBuff(string name, 
	                UnitBuffAction newTurn = null, 
	                UnitBuffAction onRemove = null,
	                UnitBuffAction onApplication = null,
	                int duration = 1)
        : base(name, newTurn, onRemove, onApplication, duration)
    {
    }
    public UnitBuff(string name, 
	                UnitBuffAction newTurn = null, 
	                UnitBuffAction onRemove = null,
	                UnitBuffAction onApplication = null,
	                int duration = 1)
    {
        this.name = name;
        newTurnDel = newTurn ?? DoNothing;
        this.onRemove = onRemove ?? DoNothing;
        this.onApplication = onApplication ?? DoNothing;
        Duration = duration;
    }
    public AuraBuff(string name, Unit owner, int cardinality,
	                UnitBuffAction onRemove = null,
	                UnitBuffAction onAdd = null,
	                bool debuff = false)
    {
        this.name = name;
        this.debuff = debuff;
        this.owner = owner;
        this.cardinality = cardinality;
        GameControl.gameControl.AuraBuffs.Add(this);
        this.onRemove = onRemove ?? DoNothing;
        this.onAdd = onAdd ?? DoNothing;
        AffectedTiles().FindAll(h => h.Unit != null).ForEach(h => onAdd(h.Unit));
    }
 public UnitBuff(UnitBuffAction newTurn = null)
 {
     newTurnDel = newTurn ?? DoNothing;
 }