diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 6669ebbc1ef..2a8d5d8447b 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -207,6 +207,8 @@ public class Card extends GameEntity implements Comparable, IHasSVars { private boolean foretoldThisTurn = false; private boolean foretoldByEffect = false; + private int timesCrewedThisTurn = 0; + private int classLevel = 1; private long bestowTimestamp = -1; @@ -5605,6 +5607,18 @@ public class Card extends GameEntity implements Comparable, IHasSVars { foretoldThisTurn = false; } + public int timesCrewedThisTurn() { + return timesCrewedThisTurn; + } + + public final void setTimesCrewedThisTurn(final int t) { + this.timesCrewedThisTurn = t; + } + + public void resetTimesCrewedThisTurn() { + timesCrewedThisTurn = 0; + } + public final int getClassLevel() { return classLevel; } @@ -6044,6 +6058,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { clearBlockedThisTurn(); resetMayPlayTurn(); resetExertedThisTurn(); + resetTimesCrewedThisTurn(); resetChosenModeTurn(); resetAbilityResolvedThisTurn(); } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java b/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java index 3fcdf13c645..d60bc319475 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java @@ -21,6 +21,12 @@ public class TriggerCrewed extends Trigger { if (!matchesValidParam("ValidCrew", runParams.get(AbilityKey.Crew))) { return false; } + if (hasParam("FirstTimeCrewed")) { + Card v = (Card) runParams.get(AbilityKey.Vehicle); + if (v.timesCrewedThisTurn() != 1) { + return false; + } + } return true; } diff --git a/forge-game/src/main/java/forge/game/zone/MagicStack.java b/forge-game/src/main/java/forge/game/zone/MagicStack.java index bb7b2d2daa3..c636afb90db 100644 --- a/forge-game/src/main/java/forge/game/zone/MagicStack.java +++ b/forge-game/src/main/java/forge/game/zone/MagicStack.java @@ -334,6 +334,7 @@ public class MagicStack /* extends MyObservable */ implements Iterable