mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-12 00:38:44 +00:00
Fix Archangel of Strife
This commit is contained in:
@@ -19,8 +19,8 @@ import java.util.List;
|
|||||||
public class ChooseEntityEffect extends SpellAbilityEffect {
|
public class ChooseEntityEffect extends SpellAbilityEffect {
|
||||||
@Override
|
@Override
|
||||||
protected String getStackDescription(SpellAbility sa) {
|
protected String getStackDescription(SpellAbility sa) {
|
||||||
return (sa.hasParam("StackDescription") ? sa.getParam("StackDescription") :
|
return sa.hasParam("StackDescription") ? sa.getParam("StackDescription") :
|
||||||
sa.getParamOrDefault("SpellDescription", "Write a Stack/SpellDescription!"));
|
sa.getParamOrDefault("SpellDescription", "Write a Stack/SpellDescription!");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public class ChooseGenericEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<SpellAbility> chosenSAs = Lists.newArrayList();
|
List<SpellAbility> chosenSAs = Lists.newArrayList();
|
||||||
String prompt = sa.getParamOrDefault("ChoicePrompt","Choose");
|
String prompt = sa.getParamOrDefault("ChoicePrompt", "Choose");
|
||||||
boolean random = false;
|
boolean random = false;
|
||||||
if (sa.hasParam("AtRandom")) {
|
if (sa.hasParam("AtRandom")) {
|
||||||
random = true;
|
random = true;
|
||||||
|
|||||||
@@ -42,17 +42,13 @@ public class ChoosePlayerEffect extends SpellAbilityEffect {
|
|||||||
|
|
||||||
for (final Player p : tgtPlayers) {
|
for (final Player p : tgtPlayers) {
|
||||||
if ((tgt == null) || p.canBeTargetedBy(sa)) {
|
if ((tgt == null) || p.canBeTargetedBy(sa)) {
|
||||||
|
|
||||||
// Was if (sa.getActivatingPlayer().isHuman()) but defined player was being
|
|
||||||
// overwritten by activatingPlayer (or controller if no activator was set).
|
|
||||||
// Revert if it causes issues and remove Goblin Festival from card database.
|
|
||||||
Player chosen;
|
Player chosen;
|
||||||
if (random) {
|
if (random) {
|
||||||
chosen = choices.isEmpty() ? null : Aggregates.random(choices);
|
chosen = choices.isEmpty() ? null : Aggregates.random(choices);
|
||||||
} else {
|
} else {
|
||||||
chosen = choices.isEmpty() ? null : p.getController().chooseSingleEntityForEffect(choices, sa, choiceDesc, null);
|
chosen = choices.isEmpty() ? null : p.getController().chooseSingleEntityForEffect(choices, sa, choiceDesc, null);
|
||||||
}
|
}
|
||||||
if( null != chosen ) {
|
if (null != chosen) {
|
||||||
if (sa.hasParam("Secretly")) {
|
if (sa.hasParam("Secretly")) {
|
||||||
card.setSecretChosenPlayer(chosen);
|
card.setSecretChosenPlayer(chosen);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -391,7 +391,18 @@ public class PlayerProperty {
|
|||||||
if (player.getVenturedThisTurn() < 1) {
|
if (player.getVenturedThisTurn() < 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
} else if (property.startsWith("NotedFor")) {
|
||||||
|
final String key = property.substring("NotedFor".length());
|
||||||
|
for (String note : player.getNotesForName(key)) {
|
||||||
|
if (note.equals("Name:" + source.getName())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (note.equals("Id:" + source.getId())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,12 @@ Types:Creature Angel
|
|||||||
PT:6/6
|
PT:6/6
|
||||||
K:Flying
|
K:Flying
|
||||||
K:ETBReplacement:Other:ChooseEach
|
K:ETBReplacement:Other:ChooseEach
|
||||||
SVar:ChooseEach:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChoice | SpellDescription$ As CARDNAME enters the battlefield, each player chooses war or peace. Creatures controlled by players who chose war get +3/+0. Creatures controlled by players who chose peace get +0/+3.
|
SVar:ChooseEach:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChoice | SubAbility$ DBRemember | ClearRememberedBeforeLoop$ True | SpellDescription$ As CARDNAME enters the battlefield, each player chooses war or peace. Creatures controlled by players who chose war get +3/+0. Creatures controlled by players who chose peace get +0/+3.
|
||||||
SVar:DBChoice:DB$ GenericChoice | Defined$ Player.IsRemembered | Choices$ WarChoice,PeaceChoice
|
SVar:DBChoice:DB$ GenericChoice | Defined$ Player.IsRemembered | Choices$ WarChoice,PeaceChoice
|
||||||
SVar:WarChoice:DB$ Effect | Name$ Archangel War Effect | StaticAbilities$ WarPump | SpellDescription$ War | EffectOwner$ Player.IsRemembered | Duration$ UntilHostLeavesPlay
|
SVar:WarChoice:DB$ Pump | Defined$ Player.IsRemembered | NoteCards$ Self | NoteCardsFor$ Strife | SpellDescription$ War
|
||||||
SVar:PeaceChoice:DB$ Effect | Name$ Archangel Peace Effect | StaticAbilities$ PeacePump | SpellDescription$ Peace | EffectOwner$ Player.IsRemembered | Duration$ UntilHostLeavesPlay
|
SVar:PeaceChoice:DB$ Pump | Defined$ Player.IsRemembered | ClearNotedCardsFor$ Strife | SpellDescription$ Peace
|
||||||
SVar:WarPump:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Battlefield | Affected$ Creature.YouCtrl | AddPower$ 3 | Description$ Creatures you control get +3/+0.
|
SVar:DBRemember:DB$ Pump | RememberObjects$ Player.NotedForStrife
|
||||||
SVar:PeacePump:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Battlefield | Affected$ Creature.YouCtrl | AddToughness$ 3 | Description$ Creatures you control get +0/+3.
|
S:Mode$ Continuous | AffectedZone$ Battlefield | Affected$ Creature.ControlledBy Remembered | AddPower$ 3 | Description$ Creatures controlled by players who chose war get +3/+0.
|
||||||
|
S:Mode$ Continuous | AffectedZone$ Battlefield | Affected$ Creature.!ControlledBy Remembered | AddToughness$ 3 | Description$ Creatures controlled by players who chose peace get +0/+3.
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
Oracle:Flying\nAs Archangel of Strife enters the battlefield, each player chooses war or peace.\nCreatures controlled by players who chose war get +3/+0.\nCreatures controlled by players who chose peace get +0/+3.
|
Oracle:Flying\nAs Archangel of Strife enters the battlefield, each player chooses war or peace.\nCreatures controlled by players who chose war get +3/+0.\nCreatures controlled by players who chose peace get +0/+3.
|
||||||
|
|||||||
Reference in New Issue
Block a user