protected void AddVectorDefeatedIfDestroyedTriggers(bool canBeMoved = false) { if (!canBeMoved) { SideTriggers.Add(AddTrigger((DestroyCardAction destroyCard) => destroyCard.CardToDestroy == this && !IsSuperVirusInPlay(), CannotBeMovedResponse, TriggerType.Hidden, TriggerTiming.Before)); } AddVectorDefeatedIfMovedOutOfGameTriggers(); AddVectorTriggerGameOver(); }
protected void AddVectorDefeatedIfMovedOutOfGameTriggers() { SideTriggers.Add(AddTrigger((MoveCardAction moveCard) => !IsSuperVirusInPlay() && moveCard.CardToMove == base.Card && moveCard.Destination.Name == LocationName.OutOfGame, (MoveCardAction m) => DefeatedResponse(m), TriggerType.GameOver, TriggerTiming.Before)); }
protected void AddVectorTriggerGameOver() { SideTriggers.Add(AddTrigger <DestroyCardAction>((DestroyCardAction destroyCard) => destroyCard.CardToDestroy == this && !IsSuperVirusInPlay(), DefeatedResponse, TriggerType.GameOver, TriggerTiming.Before)); }