[STX] Implemented Strict Proctor

This commit is contained in:
Evan Kranzler 2021-04-16 18:48:40 -04:00
parent 3ba320257b
commit f9467d5142
18 changed files with 140 additions and 27 deletions

View file

@ -24,6 +24,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
protected boolean optional;
protected boolean leavesTheBattlefieldTrigger;
private boolean triggersOnce = false;
private GameEvent triggerEvent = null;
public TriggeredAbilityImpl(Zone zone, Effect effect) {
this(zone, effect, false);
@ -53,15 +54,15 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
}
@Override
public void trigger(Game game, UUID controllerId) {
public void trigger(Game game, UUID controllerId, GameEvent triggeringEvent) {
//20091005 - 603.4
if (checkInterveningIfClause(game)) {
addthing(game);
game.addTriggeredAbility(this);
setLastTrigger(game);
game.addTriggeredAbility(this, triggeringEvent);
}
}
private final void addthing(Game game) {
private final void setLastTrigger(Game game) {
if (!triggersOnce) {
return;
}
@ -70,6 +71,16 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
), game.getTurnNum());
}
@Override
public void setTriggerEvent(GameEvent triggerEvent) {
this.triggerEvent = triggerEvent;
}
@Override
public GameEvent getTriggerEvent() {
return triggerEvent;
}
@Override
public boolean checkTriggeredAlready(Game game) {
if (!triggersOnce) {