public Minion(MinionType type, Point p, bool isEnemy)
     : base(type, p, isEnemy)
 {
     this.minionId = new MinionId();
     this.mtype = type;
     this.permanentStats = type.stats;
     this.stats = this.permanentStats;
     this.slow_movedHalfWay = false;
 }
 public Minion(Minion basis)
     : base(basis)
 {
     this.minionId = basis.minionId;
     this.mtype = basis.mtype;
     this.permanentStats = basis.permanentStats;
     this.stats = basis.stats;
     this.slow_movedHalfWay = basis.slow_movedHalfWay;
 }
 public void Transform(MinionType newtype, bool isEnemy)
 {
     mtype = newtype;
     type = newtype;
     int damage = stats.maxHealth - stats.health;
     this.permanentStats = mtype.stats;
     this.permanentStats.health = this.permanentStats.maxHealth - damage;
     this.isEnemy = isEnemy;
 }
 public override void ResetTemporaryEffects()
 {
     stats = permanentStats;
 }