mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
- Adding Arboria (Card remembers which players can be attacked, instead of looking things up through the engine)
This commit is contained in:
@@ -5,6 +5,7 @@ import forge.game.Game;
|
||||
import forge.game.ability.AbilityUtils;
|
||||
import forge.game.ability.SpellAbilityEffect;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.spellability.SpellAbility;
|
||||
|
||||
public class CleanUpEffect extends SpellAbilityEffect {
|
||||
@@ -26,6 +27,11 @@ public class CleanUpEffect extends SpellAbilityEffect {
|
||||
source.removeRemembered(card);
|
||||
}
|
||||
}
|
||||
if (sa.hasParam("ForgetDefinedPlayer")) {
|
||||
for (final Player player : AbilityUtils.getDefinedPlayers(source, sa.getParam("ForgetDefinedPlayer"), sa)) {
|
||||
source.removeRemembered(player);
|
||||
}
|
||||
}
|
||||
if (sa.hasParam("ClearImprinted")) {
|
||||
source.clearImprintedCards();
|
||||
game.getCardState(source).clearImprintedCards();
|
||||
|
||||
@@ -443,6 +443,10 @@ public class PhaseHandler implements java.io.Serializable {
|
||||
bPreventCombatDamageThisTurn = false;
|
||||
if (!bRepeatCleanup) {
|
||||
setPlayerTurn(handleNextTurn());
|
||||
// "Trigger" for begin turn to get around a phase skipping
|
||||
final HashMap<String, Object> runParams = new HashMap<String, Object>();
|
||||
runParams.put("Player", playerTurn);
|
||||
game.getTriggerHandler().runTrigger(TriggerType.TurnBegin, runParams, false);
|
||||
}
|
||||
planarDiceRolledthisTurn = 0;
|
||||
// Play the End Turn sound
|
||||
|
||||
@@ -1825,6 +1825,10 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
if (equals(sourceController) || isOpponentOf(sourceController)) {
|
||||
return false;
|
||||
}
|
||||
} else if (property.equals("Active")) {
|
||||
if (!equals(game.getPhaseHandler().getPlayerTurn())) {
|
||||
return false;
|
||||
}
|
||||
} else if (property.equals("NonActive")) {
|
||||
if (equals(game.getPhaseHandler().getPlayerTurn())) {
|
||||
return false;
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package forge.game.trigger;
|
||||
|
||||
import forge.game.card.Card;
|
||||
import forge.game.spellability.SpellAbility;
|
||||
|
||||
// Turn Begin isn't a "real" trigger, but is useful for Advanced Scripting Techniques
|
||||
public class TriggerTurnBegin extends Trigger {
|
||||
public TriggerTurnBegin(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) {
|
||||
super(params, host, intrinsic);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean performTest(final java.util.Map<String, Object> runParams2) {
|
||||
if (this.mapParams.containsKey("ValidPlayer")) {
|
||||
if (!matchesValid(runParams2.get("Player"), this.mapParams.get("ValidPlayer").split(","),
|
||||
this.getHostCard())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
||||
}
|
||||
}
|
||||
@@ -69,6 +69,7 @@ public enum TriggerType {
|
||||
Taps(TriggerTaps.class),
|
||||
TapsForMana(TriggerTapsForMana.class),
|
||||
Transformed(TriggerTransformed.class),
|
||||
TurnBegin(TriggerTurnBegin.class),
|
||||
TurnFaceUp(TriggerTurnFaceUp.class),
|
||||
Unequip(TriggerUnequip.class),
|
||||
Untaps(TriggerUntaps.class),
|
||||
|
||||
Reference in New Issue
Block a user