protected abstract void ApplyExperienceLoot(AttackableUnit source);
public virtual void OnRevive(AttackableUnit source) { Alive = true; OnReviveEvent?.Invoke(this, source); }
protected abstract void ApplyGoldLoot(AttackableUnit source);