public override Attack GetCopy(Unit o) { MoveAttack nca; nca = new MoveAttack(attackId, arrowId, isActiveState, armyId, o, keyFieldId, isKeyFieldTaken, targetId, arrowPosition); foreach (int i in activatesAttacks) { nca.AddActivatedAttackId(i); } foreach (int i in deactivatesAttacks) { nca.AddDeactivatedAttackId(i); } return((Attack)nca); }