From b8c36d8fc13cc2dabf398e250a3b00ae8f420536 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sun, 4 Jun 2023 15:58:09 +0200 Subject: [PATCH 01/11] update --- .../res/cardsfolder/upcoming/barrow_blade.txt | 9 +++++++++ .../upcoming/bill_ferny_bree_swindler.txt | 15 +++++++++++++++ .../res/cardsfolder/upcoming/bitter_downfall.txt | 8 ++++++++ .../cardsfolder/upcoming/borne_upon_a_wind.txt | 7 +++++++ .../res/cardsfolder/upcoming/doors_of_durin.txt | 10 ++++++++++ .../upcoming/faramir_prince_of_ithilien.txt | 14 ++++++++++++++ .../res/cardsfolder/upcoming/forge_anew.txt | 11 +++++++++++ .../cardsfolder/upcoming/goblin_fireleaper.txt | 8 ++++++++ .../res/cardsfolder/upcoming/hew_the_entwood.txt | 16 ++++++++++++++++ .../res/cardsfolder/upcoming/horn_of_gondor.txt | 11 +++++++++++ .../upcoming/knights_of_dol_amroth.txt | 8 ++++++++ 11 files changed, 117 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/barrow_blade.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/bill_ferny_bree_swindler.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/bitter_downfall.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/borne_upon_a_wind.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/doors_of_durin.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/forge_anew.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/goblin_fireleaper.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/horn_of_gondor.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/knights_of_dol_amroth.txt diff --git a/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt b/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt new file mode 100644 index 00000000000..65ba58311f0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt @@ -0,0 +1,9 @@ +Name:Barrow-Blade +ManaCost:1 +Types:Legendary Artifact Equipment +K:Equip:1 +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Equipped creature gets +1/+1. +T:Mode$ Blocks | ValidCard$ Card.EquippedBy | ValidBlocked$ Creature | Execute$ TrigAnimate | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. +T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.EquippedBy | ValidBlocker$ Creature | Execute$ TrigAnimate | Secondary$ True | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. +SVar:TrigAnimate:DB$ Animate | Defined$ TriggeredBlockerLKICopy | RemoveAllAbilities$ True +Oracle:Equipped creature gets +1/+1.\nWhenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn.\nEquip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/bill_ferny_bree_swindler.txt b/forge-gui/res/cardsfolder/upcoming/bill_ferny_bree_swindler.txt new file mode 100644 index 00000000000..74f1b020504 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/bill_ferny_bree_swindler.txt @@ -0,0 +1,15 @@ +Name:Bill Ferny, Bree Swindler +ManaCost:1 U +Types:Legendary Creature Human Rogue +PT:2/1 +T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerDescription$ Whenever CARDNAME becomes blocked, ABILITY +SVar:TrigCharm:DB$ Charm | Choices$ DBTreasure,DBChoose +SVar:DBTreasure:DB$ Token | TokenScript$ c_a_treasure_sac | SpellDescription$ Create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") +SVar:DBChoose:DB$ ChoosePlayer | Defined$ You | ValidTgts$ Opponent | ChoiceTitle$ Choose an opponent to give control to: | AILogic$ Curse | SubAbility$ DBHorseDonate | SpellDescription$ Target opponent gains control of target Horse you control. If they do, remove NICKNAME from combat and create three Treasure tokens. +SVar:DBHorseDonate:DB$ GainControl | ValidTgts$ Horse.YouCtrl | NewController$ TargetedPlayer | TgtPrompt$ Select target horse you control | SubAbility$ RemCombat +SVar:RemCombat:DB$ RemoveFromCombat | Defined$ Self | SubAbility$ DBTreasureTree +SVar:DBTreasureTree:DB$ Token | TokenScript$ c_a_treasure_sac | TokenAmount$ 3 | ConditionDefined$ Targeted | ConditionPresent$ Card | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Token|Sacrifice & Type$Treasure +DeckHints:Type$Horse +Oracle:Whenever Bill Ferny, Bree Swindler becomes blocked, choose one —\n• Create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.")\n• Target opponent gains control of target Horse you control. If they do, remove Bill Ferny from combat and create three Treasure tokens. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/bitter_downfall.txt b/forge-gui/res/cardsfolder/upcoming/bitter_downfall.txt new file mode 100644 index 00000000000..a13dd693453 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/bitter_downfall.txt @@ -0,0 +1,8 @@ +Name:Bitter Downfall +ManaCost:3 B +Types:Instant +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 3 | ValidTarget$ Creature.wasDealtDamageThisTurn | EffectZone$ All | Description$ This spell costs {3} less to cast if it targets a creature that was dealt damage this turn. +A:SP$ Destroy | ValidTgts$ Creature | TgtPrompt$ Select target creature | AlwaysRemember$ True | RememberLKI$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy target creature. Its controller loses 2 life. +SVar:DBLoseLife:DB$ LoseLife | Defined$ RememberedController | LifeAmount$ 2 |SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:This spell costs {3} less to cast if it targets a creature that was dealt damage this turn.\nDestroy target creature. Its controller loses 2 life. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/borne_upon_a_wind.txt b/forge-gui/res/cardsfolder/upcoming/borne_upon_a_wind.txt new file mode 100644 index 00000000000..f7d3c846a11 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/borne_upon_a_wind.txt @@ -0,0 +1,7 @@ +Name:Borne Upon a Wind +ManaCost:1 U +Types:Instant +A:SP$ Effect | Name$ Borne Upon a Wind Effect | StaticAbilities$ QuickSpell | SubAbility$ DBDraw | SpellDescription$ You may cast spells this turn as though they had flash. +SVar:QuickSpell:Mode$ CastWithFlash | ValidCard$ Card | ValidSA$ Spell | EffectZone$ Command | Caster$ You | SpellDescription$ You may cast spells this turn as though they had flash. +SVar:DBDraw:DB$ Draw | SpellDescription$ Draw a card. +Oracle:You may cast spells this turn as though they had flash.\nDraw a card. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/doors_of_durin.txt b/forge-gui/res/cardsfolder/upcoming/doors_of_durin.txt new file mode 100644 index 00000000000..fc7e9a85116 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/doors_of_durin.txt @@ -0,0 +1,10 @@ +Name:Horn of Gondor +ManaCost:3 +Types:Legendary Artifact +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a 1/1 white Human Soldier creature token. +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_human_soldier | TokenOwner$ You +A:AB$ Token | Cost$ 3 T | TokenAmount$ X | TokenScript$ w_1_1_human_soldier | TokenOwner$ You | SpellDescription$ Create X 1/1 white Human Soldier creature tokens, where X is the number of Humans you control. +SVar:X:Count$Valid Creature.Human+YouCtrl +DeckHas:Ability$Token & Type$Soldier|Human +DeckHints:Type$Human +Oracle:When Horn of Gondor enters the battlefield, create a 1/1 white Human Soldier creature token.\n{3}, {T}: Create X 1/1 white Human Soldier creature tokens, where X is the number of Humans you control. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt b/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt new file mode 100644 index 00000000000..f673d814324 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt @@ -0,0 +1,14 @@ +Name:Faramir, Prince of Ithilien +ManaCost:2 W U +Types:Legendary Creature Human Noble +PT:3/3 +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ At the beginning of your end step, choose an opponent. At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. +SVar:TrigPump:DB$ Pump | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | RememberTargets$ True | SubAbility$ DBDelayTrig +SVar:DBDelayTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player.IsTriggerRemembered | RememberObjects$ Remembered | Execute$ TrigBranch | TriggerDescription$ At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. +SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ DBDraw | FalseSubAbility$ DBToken +SVar:DBDraw:DB$ Draw +SVar:DBToken:DB$ Token | TokenScript$ w_1_1_human_soldier | TokenAmount$ 3 +SVar:X:RememberedPlayer$HasPropertyattackedYouTheirLastTurn +AI:RemoveDeck:All +DeckHas:Ability$Token & Type$Soldier +Oracle:At the beginning of your end step, choose an opponent.\n At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/forge_anew.txt b/forge-gui/res/cardsfolder/upcoming/forge_anew.txt new file mode 100644 index 00000000000..2a5a2ae7d61 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/forge_anew.txt @@ -0,0 +1,11 @@ +Name:Forge Anew +ManaCost:2 W +Types:Enchantment +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return target Equipment card from your graveyard to the battlefield. +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Card.Equipment+YouCtrl +S:Mode$ CastWithFlash | ValidSA$ Activated.Equip | Caster$ You | Condition$ PlayerTurn | Description$ As long as it's your turn, you may activate equip abilities any time you could cast an instant. +S:Mode$ Continuous | Affected$ You | AddKeyword$ You may pay 0 rather than pay equip costs. | CheckSVar$ X | SVarCompare$ LT1 | Description$ You may pay {0} rather than pay the equip cost of the first equip ability you activate during each of your turns. +SVar:X:Count$YouEquippedThisTurn +DeckHas:Ability$Graveyard +DeckNeeds:Type$Equipment +Oracle:When Forge Anew enters the battlefield, return target Equipment card from your graveyard to the battlefield.\nAs long as it's your turn, you may activate equip abilities any time you could cast an instant.\nYou may pay {0} rather than pay the equip cost of the first equip ability you activate during each of your turns. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/goblin_fireleaper.txt b/forge-gui/res/cardsfolder/upcoming/goblin_fireleaper.txt new file mode 100644 index 00000000000..60c43c0b8ec --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/goblin_fireleaper.txt @@ -0,0 +1,8 @@ +Name:Goblin Fireleaper +ManaCost:1 R +Types:Creature Goblin Warrior +PT:1/1 +A:AB$ Pump | Cost$ 1 R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn. +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME dies, it deals damage equal to its power to target creature an opponent controls. +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | NumDmg$ X +Oracle:{1}{R}: Goblin Fireleaper gets +1/+0 until end of turn.\nWhen Goblin Fireleaper dies, it deals damage equal to its power to target creature an opponent controls. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt new file mode 100644 index 00000000000..875e67bca81 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt @@ -0,0 +1,16 @@ +Name:Hew the Entwood +ManaCost:3 R R +Types:Sorcery +A:SP$ Sacrifice | Defined$ You | Amount$ SacX | SacValid$ Land | RememberSacrificed$ True | SubAbility$ DBReveal | SpellDescription$Sacrifice any number of lands. Reveal the top X cards of your library, where X is the number of lands sacrificed this way. Choose any number of artifact and/or land cards revealed this way. Put all nonland cards chosen this way onto the battlefield, then put all land cards chosen this way onto the battlefield tapped, then put the rest on the bottom of your library in a random order. +SVar:SacX:Count$Valid Land.YouCtrl +SVar:DBReveal:DB$ Dig | DigNum$ ShiftX | Reveal$ True | NoMove$ True | DestinationZone$ Library | Imprint$ True | SubAbility$ DBChoose +SVar:ShiftX:Remembered$Amount +SVar:DBChoose:DB$ ChooseCard | Choices$ Artifact.IsImprinted,Land.IsImprinted | ChoiceZone$ Library | Amount$ ShiftX | ForgetOtherRemembered$ True | RememberChosen$ True | SubAbility$ DBPutArtifact +SVar:DBPutArtifact:DB$ ChangeZoneAll | ChangeType$ Artifact.IsRemembered | Origin$ Library | Destination$ Battlefield | SubAbility$ DBPutLands +SVar:DBPutLands:DB$ ChangeZoneAll | ChangeType$ Land.IsRemembered | Origin$ Library | Destination$ Battlefield | Tapped$ True | SubAbility$ ShuffleRest +SVar:ShuffleRest:DB$ ChangeZoneAll | Origin$ Library | Destination$ Library | LibraryPosition$ -1 | RandomOrder$ True | Hidden$ True | Mandatory$ True | NoReveal$ True | NoLooking$ True | ChangeType$ Card.IsImprinted+!IsRemembered | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True +DeckHas:Ability$Sacrifice +DeckHints:Type$Artifact +AI:RemoveDeck:All +Oracle:Sacrifice any number of lands. Reveal the top X cards of your library, where X is the number of lands sacrificed this way. Choose any number of artifact and/or land cards revealed this way. Put all nonland cards chosen this way onto the battlefield, then put all land cards chosen this way onto the battlefield tapped, then put the rest on the bottom of your library in a random order. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/horn_of_gondor.txt b/forge-gui/res/cardsfolder/upcoming/horn_of_gondor.txt new file mode 100644 index 00000000000..c5d44233311 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/horn_of_gondor.txt @@ -0,0 +1,11 @@ +Name:Doors of Durin +ManaCost:3 R G +Types:Legendary Artifact +T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigScry | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack, scry 2, then you may reveal the top card of your library. If it's a creature card, put it onto the battlefield tapped and attacking. Until your next turn, it gains trample if you control a Dwarf and hexproof if you control an Elf. +SVar:TrigScry:DB$ Scry | ScryNum$ 2 | SubAbility$ DBDig +SVar:DBDig:DB$ Dig | DigNum$ 1 | ChangeNum$ All | Optional$ True | Reveal$ True | ChangeValid$ Creature | DestinationZone$ Battlefield | Tapped$ True | Attacking$ True | RememberChanged$ True | SubAbility$ DBPumpTrample +SVar:DBPumpTrample:DB$ Pump | Defined$ Remembered | KW$ Trample | Duration$ UntilYourNextTurn | ConditionPresent$ Dwarf.YouCtrl | SubAbility$ DBPumpHexproof +SVar:DBPumpHexproof:DB$ Pump | Defined$ Remembered | KW$ Hexproof | Duration$ UntilYourNextTurn | ConditionPresent$ Elf.YouCtrl | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHints:Type$Dwarf|Elf +Oracle:Whenever you attack, scry 2, then you may reveal the top card of your library. If it's a creature card, put it onto the battlefield tapped and attacking. Until your next turn, it gains trample if you control a Dwarf and hexproof if you control an Elf. diff --git a/forge-gui/res/cardsfolder/upcoming/knights_of_dol_amroth.txt b/forge-gui/res/cardsfolder/upcoming/knights_of_dol_amroth.txt new file mode 100644 index 00000000000..17e5dd1dc2b --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/knights_of_dol_amroth.txt @@ -0,0 +1,8 @@ +Name:Knights of Dol Amroth +ManaCost:3 U +Types:Creature Human Knight +PT:3/3 +T:Mode$ Drawn | ValidCard$ Card.YouCtrl | Number$ 2 | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you draw your second card each turn, put a +1/+1 counter on CARDNAME. +SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 +DeckHas:Ability$Counters +Oracle:Whenever you draw your second card each turn, put a +1/+1 counter on Knights of Dol Amroth. \ No newline at end of file From 2a2746fd8c016926fdfa62c66cbff778cd1c375e Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sun, 4 Jun 2023 21:21:59 +0200 Subject: [PATCH 02/11] update --- .../main/java/forge/game/player/Player.java | 3 +++ .../forge/game/player/PlayerProperty.java | 4 ++++ .../res/cardsfolder/upcoming/barrow_blade.txt | 2 +- .../upcoming/bill_ferny_bree_swindler.txt | 8 ++++---- .../cardsfolder/upcoming/doors_of_durin.txt | 19 ++++++++++--------- .../upcoming/faramir_prince_of_ithilien.txt | 9 +++++---- .../res/cardsfolder/upcoming/forge_anew.txt | 2 +- .../upcoming/goblin_fireleaper.txt | 1 + .../cardsfolder/upcoming/horn_of_gondor.txt | 19 +++++++++---------- 9 files changed, 38 insertions(+), 29 deletions(-) diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 2b385150452..71c66f2e0d2 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -1884,6 +1884,9 @@ public class Player extends GameEntity implements Comparable { public final List getAttackedPlayersMyLastTurn() { return attackedPlayersLastTurn; } + public final Iterable getAttackedPlayersTheirCurrentTurn() { + return Iterables.filter(attackedThisTurn.keySet(), Player.class); + } public final void clearAttackedMyTurn() { attackedThisTurn.clear(); } diff --git a/forge-game/src/main/java/forge/game/player/PlayerProperty.java b/forge-game/src/main/java/forge/game/player/PlayerProperty.java index 63911512d4b..4ad9a56bd51 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerProperty.java +++ b/forge-game/src/main/java/forge/game/player/PlayerProperty.java @@ -411,6 +411,10 @@ public class PlayerProperty { if (!player.getAttackedPlayersMyLastTurn().contains(sourceController)) { return false; } + } else if (property.equals("attackedYouTheirCurrentTurn")) { + if (!player.getAttackedPlayersTheirCurrentTurn().contains(sourceController)) { + return false; + } } else if (property.equals("BeenAttackedThisCombat")) { for (Player p : game.getRegisteredPlayers()) { if (p.getAttackedPlayersMyCombat().contains(sourceController)) { diff --git a/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt b/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt index 65ba58311f0..a52f4a1b6c4 100644 --- a/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt +++ b/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt @@ -3,7 +3,7 @@ ManaCost:1 Types:Legendary Artifact Equipment K:Equip:1 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Equipped creature gets +1/+1. -T:Mode$ Blocks | ValidCard$ Card.EquippedBy | ValidBlocked$ Creature | Execute$ TrigAnimate | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. +T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.EquippedBy | ValidBlocked$ Creature | Execute$ TrigAnimate | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.EquippedBy | ValidBlocker$ Creature | Execute$ TrigAnimate | Secondary$ True | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. SVar:TrigAnimate:DB$ Animate | Defined$ TriggeredBlockerLKICopy | RemoveAllAbilities$ True Oracle:Equipped creature gets +1/+1.\nWhenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn.\nEquip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/bill_ferny_bree_swindler.txt b/forge-gui/res/cardsfolder/upcoming/bill_ferny_bree_swindler.txt index 74f1b020504..d61be7d727b 100644 --- a/forge-gui/res/cardsfolder/upcoming/bill_ferny_bree_swindler.txt +++ b/forge-gui/res/cardsfolder/upcoming/bill_ferny_bree_swindler.txt @@ -2,13 +2,13 @@ Name:Bill Ferny, Bree Swindler ManaCost:1 U Types:Legendary Creature Human Rogue PT:2/1 -T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerDescription$ Whenever CARDNAME becomes blocked, ABILITY +T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerDescription$ Whenever CARDNAME becomes blocked, ABILITY SVar:TrigCharm:DB$ Charm | Choices$ DBTreasure,DBChoose SVar:DBTreasure:DB$ Token | TokenScript$ c_a_treasure_sac | SpellDescription$ Create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") SVar:DBChoose:DB$ ChoosePlayer | Defined$ You | ValidTgts$ Opponent | ChoiceTitle$ Choose an opponent to give control to: | AILogic$ Curse | SubAbility$ DBHorseDonate | SpellDescription$ Target opponent gains control of target Horse you control. If they do, remove NICKNAME from combat and create three Treasure tokens. -SVar:DBHorseDonate:DB$ GainControl | ValidTgts$ Horse.YouCtrl | NewController$ TargetedPlayer | TgtPrompt$ Select target horse you control | SubAbility$ RemCombat -SVar:RemCombat:DB$ RemoveFromCombat | Defined$ Self | SubAbility$ DBTreasureTree -SVar:DBTreasureTree:DB$ Token | TokenScript$ c_a_treasure_sac | TokenAmount$ 3 | ConditionDefined$ Targeted | ConditionPresent$ Card | SubAbility$ DBCleanup +SVar:DBHorseDonate:DB$ GainControl | ValidTgts$ Horse.YouCtrl | NewController$ TargetedPlayer | TgtPrompt$ Select target horse you control | RememberControlled$ True | SubAbility$ RemCombat +SVar:RemCombat:DB$ RemoveFromCombat | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBTreasureTree +SVar:DBTreasureTree:DB$ Token | TokenScript$ c_a_treasure_sac | TokenAmount$ 3 | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Token|Sacrifice & Type$Treasure DeckHints:Type$Horse diff --git a/forge-gui/res/cardsfolder/upcoming/doors_of_durin.txt b/forge-gui/res/cardsfolder/upcoming/doors_of_durin.txt index fc7e9a85116..c5d44233311 100644 --- a/forge-gui/res/cardsfolder/upcoming/doors_of_durin.txt +++ b/forge-gui/res/cardsfolder/upcoming/doors_of_durin.txt @@ -1,10 +1,11 @@ -Name:Horn of Gondor -ManaCost:3 +Name:Doors of Durin +ManaCost:3 R G Types:Legendary Artifact -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a 1/1 white Human Soldier creature token. -SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_human_soldier | TokenOwner$ You -A:AB$ Token | Cost$ 3 T | TokenAmount$ X | TokenScript$ w_1_1_human_soldier | TokenOwner$ You | SpellDescription$ Create X 1/1 white Human Soldier creature tokens, where X is the number of Humans you control. -SVar:X:Count$Valid Creature.Human+YouCtrl -DeckHas:Ability$Token & Type$Soldier|Human -DeckHints:Type$Human -Oracle:When Horn of Gondor enters the battlefield, create a 1/1 white Human Soldier creature token.\n{3}, {T}: Create X 1/1 white Human Soldier creature tokens, where X is the number of Humans you control. \ No newline at end of file +T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigScry | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack, scry 2, then you may reveal the top card of your library. If it's a creature card, put it onto the battlefield tapped and attacking. Until your next turn, it gains trample if you control a Dwarf and hexproof if you control an Elf. +SVar:TrigScry:DB$ Scry | ScryNum$ 2 | SubAbility$ DBDig +SVar:DBDig:DB$ Dig | DigNum$ 1 | ChangeNum$ All | Optional$ True | Reveal$ True | ChangeValid$ Creature | DestinationZone$ Battlefield | Tapped$ True | Attacking$ True | RememberChanged$ True | SubAbility$ DBPumpTrample +SVar:DBPumpTrample:DB$ Pump | Defined$ Remembered | KW$ Trample | Duration$ UntilYourNextTurn | ConditionPresent$ Dwarf.YouCtrl | SubAbility$ DBPumpHexproof +SVar:DBPumpHexproof:DB$ Pump | Defined$ Remembered | KW$ Hexproof | Duration$ UntilYourNextTurn | ConditionPresent$ Elf.YouCtrl | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHints:Type$Dwarf|Elf +Oracle:Whenever you attack, scry 2, then you may reveal the top card of your library. If it's a creature card, put it onto the battlefield tapped and attacking. Until your next turn, it gains trample if you control a Dwarf and hexproof if you control an Elf. diff --git a/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt b/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt index f673d814324..1b302a1ed91 100644 --- a/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt +++ b/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt @@ -2,13 +2,14 @@ Name:Faramir, Prince of Ithilien ManaCost:2 W U Types:Legendary Creature Human Noble PT:3/3 -T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ At the beginning of your end step, choose an opponent. At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. -SVar:TrigPump:DB$ Pump | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | RememberTargets$ True | SubAbility$ DBDelayTrig +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChooseOpp | TriggerDescription$ At the beginning of your end step, choose an opponent. At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. +SVar:TrigChooseOpp:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | RememberChosen$ True | SubAbility$ DBDelayTrig SVar:DBDelayTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player.IsTriggerRemembered | RememberObjects$ Remembered | Execute$ TrigBranch | TriggerDescription$ At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. -SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ DBDraw | FalseSubAbility$ DBToken +SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ DBToken | FalseSubAbility$ DBDraw | SubAbility$ DBCleanup SVar:DBDraw:DB$ Draw SVar:DBToken:DB$ Token | TokenScript$ w_1_1_human_soldier | TokenAmount$ 3 -SVar:X:RememberedPlayer$HasPropertyattackedYouTheirLastTurn +SVar:DBCleanup:DB$ Cleanup | ClearChosenPlayer$ True +SVar:X:TriggeredPlayer$HasPropertyattackedYouTheirCurrentTurn AI:RemoveDeck:All DeckHas:Ability$Token & Type$Soldier Oracle:At the beginning of your end step, choose an opponent.\n At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/forge_anew.txt b/forge-gui/res/cardsfolder/upcoming/forge_anew.txt index 2a5a2ae7d61..916b73bcc21 100644 --- a/forge-gui/res/cardsfolder/upcoming/forge_anew.txt +++ b/forge-gui/res/cardsfolder/upcoming/forge_anew.txt @@ -4,7 +4,7 @@ Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return target Equipment card from your graveyard to the battlefield. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Card.Equipment+YouCtrl S:Mode$ CastWithFlash | ValidSA$ Activated.Equip | Caster$ You | Condition$ PlayerTurn | Description$ As long as it's your turn, you may activate equip abilities any time you could cast an instant. -S:Mode$ Continuous | Affected$ You | AddKeyword$ You may pay 0 rather than pay equip costs. | CheckSVar$ X | SVarCompare$ LT1 | Description$ You may pay {0} rather than pay the equip cost of the first equip ability you activate during each of your turns. +S:Mode$ Continuous | Affected$ You | AddKeyword$ You may pay 0 rather than pay equip costs. | CheckSVar$ X | SVarCompare$ LT1 | Condition$ PlayerTurn | Description$ You may pay {0} rather than pay the equip cost of the first equip ability you activate during each of your turns. SVar:X:Count$YouEquippedThisTurn DeckHas:Ability$Graveyard DeckNeeds:Type$Equipment diff --git a/forge-gui/res/cardsfolder/upcoming/goblin_fireleaper.txt b/forge-gui/res/cardsfolder/upcoming/goblin_fireleaper.txt index 60c43c0b8ec..0a4fa885ef7 100644 --- a/forge-gui/res/cardsfolder/upcoming/goblin_fireleaper.txt +++ b/forge-gui/res/cardsfolder/upcoming/goblin_fireleaper.txt @@ -5,4 +5,5 @@ PT:1/1 A:AB$ Pump | Cost$ 1 R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME dies, it deals damage equal to its power to target creature an opponent controls. SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | NumDmg$ X +SVar:X:Count$CardPower Oracle:{1}{R}: Goblin Fireleaper gets +1/+0 until end of turn.\nWhen Goblin Fireleaper dies, it deals damage equal to its power to target creature an opponent controls. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/horn_of_gondor.txt b/forge-gui/res/cardsfolder/upcoming/horn_of_gondor.txt index c5d44233311..fc7e9a85116 100644 --- a/forge-gui/res/cardsfolder/upcoming/horn_of_gondor.txt +++ b/forge-gui/res/cardsfolder/upcoming/horn_of_gondor.txt @@ -1,11 +1,10 @@ -Name:Doors of Durin -ManaCost:3 R G +Name:Horn of Gondor +ManaCost:3 Types:Legendary Artifact -T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigScry | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack, scry 2, then you may reveal the top card of your library. If it's a creature card, put it onto the battlefield tapped and attacking. Until your next turn, it gains trample if you control a Dwarf and hexproof if you control an Elf. -SVar:TrigScry:DB$ Scry | ScryNum$ 2 | SubAbility$ DBDig -SVar:DBDig:DB$ Dig | DigNum$ 1 | ChangeNum$ All | Optional$ True | Reveal$ True | ChangeValid$ Creature | DestinationZone$ Battlefield | Tapped$ True | Attacking$ True | RememberChanged$ True | SubAbility$ DBPumpTrample -SVar:DBPumpTrample:DB$ Pump | Defined$ Remembered | KW$ Trample | Duration$ UntilYourNextTurn | ConditionPresent$ Dwarf.YouCtrl | SubAbility$ DBPumpHexproof -SVar:DBPumpHexproof:DB$ Pump | Defined$ Remembered | KW$ Hexproof | Duration$ UntilYourNextTurn | ConditionPresent$ Elf.YouCtrl | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -DeckHints:Type$Dwarf|Elf -Oracle:Whenever you attack, scry 2, then you may reveal the top card of your library. If it's a creature card, put it onto the battlefield tapped and attacking. Until your next turn, it gains trample if you control a Dwarf and hexproof if you control an Elf. +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a 1/1 white Human Soldier creature token. +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_human_soldier | TokenOwner$ You +A:AB$ Token | Cost$ 3 T | TokenAmount$ X | TokenScript$ w_1_1_human_soldier | TokenOwner$ You | SpellDescription$ Create X 1/1 white Human Soldier creature tokens, where X is the number of Humans you control. +SVar:X:Count$Valid Creature.Human+YouCtrl +DeckHas:Ability$Token & Type$Soldier|Human +DeckHints:Type$Human +Oracle:When Horn of Gondor enters the battlefield, create a 1/1 white Human Soldier creature token.\n{3}, {T}: Create X 1/1 white Human Soldier creature tokens, where X is the number of Humans you control. \ No newline at end of file From ea7650535afafb5dc24e596ac82c355a71ea328e Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sun, 4 Jun 2023 21:38:05 +0200 Subject: [PATCH 03/11] update --- forge-game/src/main/java/forge/game/player/Player.java | 4 ++-- forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 71c66f2e0d2..f3a65649fcc 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -1884,8 +1884,8 @@ public class Player extends GameEntity implements Comparable { public final List getAttackedPlayersMyLastTurn() { return attackedPlayersLastTurn; } - public final Iterable getAttackedPlayersTheirCurrentTurn() { - return Iterables.filter(attackedThisTurn.keySet(), Player.class); + public final List getAttackedPlayersTheirCurrentTurn() { + return attackedPlayersLastTurn; } public final void clearAttackedMyTurn() { attackedThisTurn.clear(); diff --git a/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt index 875e67bca81..41a199c2079 100644 --- a/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt +++ b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt @@ -3,11 +3,11 @@ ManaCost:3 R R Types:Sorcery A:SP$ Sacrifice | Defined$ You | Amount$ SacX | SacValid$ Land | RememberSacrificed$ True | SubAbility$ DBReveal | SpellDescription$Sacrifice any number of lands. Reveal the top X cards of your library, where X is the number of lands sacrificed this way. Choose any number of artifact and/or land cards revealed this way. Put all nonland cards chosen this way onto the battlefield, then put all land cards chosen this way onto the battlefield tapped, then put the rest on the bottom of your library in a random order. SVar:SacX:Count$Valid Land.YouCtrl -SVar:DBReveal:DB$ Dig | DigNum$ ShiftX | Reveal$ True | NoMove$ True | DestinationZone$ Library | Imprint$ True | SubAbility$ DBChoose +SVar:DBReveal:DB$ PeekAndReveal | PeekAmount$ ShiftX | Reveal$ True | NoMove$ True | DestinationZone$ Library | RememberRevealed$ True | ForgetOtherRemembered$ True | SubAbility$ DBChoose SVar:ShiftX:Remembered$Amount -SVar:DBChoose:DB$ ChooseCard | Choices$ Artifact.IsImprinted,Land.IsImprinted | ChoiceZone$ Library | Amount$ ShiftX | ForgetOtherRemembered$ True | RememberChosen$ True | SubAbility$ DBPutArtifact -SVar:DBPutArtifact:DB$ ChangeZoneAll | ChangeType$ Artifact.IsRemembered | Origin$ Library | Destination$ Battlefield | SubAbility$ DBPutLands -SVar:DBPutLands:DB$ ChangeZoneAll | ChangeType$ Land.IsRemembered | Origin$ Library | Destination$ Battlefield | Tapped$ True | SubAbility$ ShuffleRest +SVar:DBChoose:DB$ ChooseCard | Choices$ Land.IsRemembered,Artifact.IsRemembered | ChoiceZone$ Library | Amount$ ShiftX | Mandatory$ True | ImprintChosen$ True | SubAbility$ DBPutArtifact +SVar:DBPutArtifact:DB$ ChangeZoneAll | ChangeType$ Artifact.IsImprinted | Origin$ Library | Destination$ Battlefield | SubAbility$ DBPutLands +SVar:DBPutLands:DB$ ChangeZoneAll | ChangeType$ Land.IsImprinted | Origin$ Library | Destination$ Battlefield | Tapped$ True | SubAbility$ ShuffleRest SVar:ShuffleRest:DB$ ChangeZoneAll | Origin$ Library | Destination$ Library | LibraryPosition$ -1 | RandomOrder$ True | Hidden$ True | Mandatory$ True | NoReveal$ True | NoLooking$ True | ChangeType$ Card.IsImprinted+!IsRemembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True DeckHas:Ability$Sacrifice From c77cbce5c72a717f6f9c485fa81949c43fe67d40 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sun, 4 Jun 2023 21:50:25 +0200 Subject: [PATCH 04/11] update --- forge-gui/res/cardsfolder/upcoming/barrow_blade.txt | 4 ++-- .../res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt | 4 ++-- forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt b/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt index a52f4a1b6c4..bdf752a5963 100644 --- a/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt +++ b/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt @@ -3,7 +3,7 @@ ManaCost:1 Types:Legendary Artifact Equipment K:Equip:1 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Equipped creature gets +1/+1. -T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.EquippedBy | ValidBlocked$ Creature | Execute$ TrigAnimate | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. -T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.EquippedBy | ValidBlocker$ Creature | Execute$ TrigAnimate | Secondary$ True | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. +T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Creature.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigAnimate | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. +T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.AttachedBy | ValidBlocker$ Creature | TriggerZones$ Battlefield | Execute$ TrigAnimate | Secondary$ True | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. SVar:TrigAnimate:DB$ Animate | Defined$ TriggeredBlockerLKICopy | RemoveAllAbilities$ True Oracle:Equipped creature gets +1/+1.\nWhenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn.\nEquip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt b/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt index 1b302a1ed91..9bb6e47cc75 100644 --- a/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt +++ b/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt @@ -3,8 +3,8 @@ ManaCost:2 W U Types:Legendary Creature Human Noble PT:3/3 T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChooseOpp | TriggerDescription$ At the beginning of your end step, choose an opponent. At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. -SVar:TrigChooseOpp:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | RememberChosen$ True | SubAbility$ DBDelayTrig -SVar:DBDelayTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player.IsTriggerRemembered | RememberObjects$ Remembered | Execute$ TrigBranch | TriggerDescription$ At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. +SVar:TrigChooseOpp:DB$ ChoosePlayer | Defined$ You | Choices$ Opponent | SubAbility$ DBDelayTrig +SVar:DBDelayTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player.IsTriggerRemembered | RememberObjects$ ChosenPlayer | Execute$ TrigBranch | TriggerDescription$ At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ DBToken | FalseSubAbility$ DBDraw | SubAbility$ DBCleanup SVar:DBDraw:DB$ Draw SVar:DBToken:DB$ Token | TokenScript$ w_1_1_human_soldier | TokenAmount$ 3 diff --git a/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt index 41a199c2079..d187277a9f7 100644 --- a/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt +++ b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt @@ -5,7 +5,7 @@ A:SP$ Sacrifice | Defined$ You | Amount$ SacX | SacValid$ Land | RememberSacrifi SVar:SacX:Count$Valid Land.YouCtrl SVar:DBReveal:DB$ PeekAndReveal | PeekAmount$ ShiftX | Reveal$ True | NoMove$ True | DestinationZone$ Library | RememberRevealed$ True | ForgetOtherRemembered$ True | SubAbility$ DBChoose SVar:ShiftX:Remembered$Amount -SVar:DBChoose:DB$ ChooseCard | Choices$ Land.IsRemembered,Artifact.IsRemembered | ChoiceZone$ Library | Amount$ ShiftX | Mandatory$ True | ImprintChosen$ True | SubAbility$ DBPutArtifact +SVar:DBChoose:DB$ ChooseCard | Choices$ Land.IsRemembered,Artifact.IsRemembered | MinAmount$ 0 | ChoiceZone$ Library | Amount$ ShiftX | Mandatory$ True | ImprintChosen$ True | SubAbility$ DBPutArtifact SVar:DBPutArtifact:DB$ ChangeZoneAll | ChangeType$ Artifact.IsImprinted | Origin$ Library | Destination$ Battlefield | SubAbility$ DBPutLands SVar:DBPutLands:DB$ ChangeZoneAll | ChangeType$ Land.IsImprinted | Origin$ Library | Destination$ Battlefield | Tapped$ True | SubAbility$ ShuffleRest SVar:ShuffleRest:DB$ ChangeZoneAll | Origin$ Library | Destination$ Library | LibraryPosition$ -1 | RandomOrder$ True | Hidden$ True | Mandatory$ True | NoReveal$ True | NoLooking$ True | ChangeType$ Card.IsImprinted+!IsRemembered | SubAbility$ DBCleanup From a03e9bc8aeb4701c881e425ab571ea7a29214db6 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sun, 4 Jun 2023 23:38:57 +0200 Subject: [PATCH 05/11] Update barrow_blade.txt --- forge-gui/res/cardsfolder/upcoming/barrow_blade.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt b/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt index bdf752a5963..e6abc630a0c 100644 --- a/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt +++ b/forge-gui/res/cardsfolder/upcoming/barrow_blade.txt @@ -3,7 +3,8 @@ ManaCost:1 Types:Legendary Artifact Equipment K:Equip:1 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Equipped creature gets +1/+1. -T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Creature.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigAnimate | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. -T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.AttachedBy | ValidBlocker$ Creature | TriggerZones$ Battlefield | Execute$ TrigAnimate | Secondary$ True | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. -SVar:TrigAnimate:DB$ Animate | Defined$ TriggeredBlockerLKICopy | RemoveAllAbilities$ True -Oracle:Equipped creature gets +1/+1.\nWhenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn.\nEquip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) \ No newline at end of file +T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Creature.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigAnimateAttacker | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. +T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.AttachedBy | ValidBlocker$ Creature | TriggerZones$ Battlefield | Execute$ TrigAnimateDefender | Secondary$ True | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn. +SVar:TrigAnimateDefender:DB$ Animate | Defined$ TriggeredBlockerLKICopy | RemoveAllAbilities$ True +SVar:TrigAnimateAttacker:DB$ Animate | Defined$ TriggeredAttackerLKICopy | RemoveAllAbilities$ True +Oracle:Equipped creature gets +1/+1.\nWhenever equipped creature blocks or becomes blocked by a creature, that creature loses all abilities until end of turn.\nEquip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) From 18d270f1c8742b18355853df903b614a9e420ce0 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sun, 4 Jun 2023 23:44:11 +0200 Subject: [PATCH 06/11] Update hew_the_entwood.txt --- forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt index d187277a9f7..f91a74c1d0c 100644 --- a/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt +++ b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt @@ -1,7 +1,7 @@ Name:Hew the Entwood ManaCost:3 R R Types:Sorcery -A:SP$ Sacrifice | Defined$ You | Amount$ SacX | SacValid$ Land | RememberSacrificed$ True | SubAbility$ DBReveal | SpellDescription$Sacrifice any number of lands. Reveal the top X cards of your library, where X is the number of lands sacrificed this way. Choose any number of artifact and/or land cards revealed this way. Put all nonland cards chosen this way onto the battlefield, then put all land cards chosen this way onto the battlefield tapped, then put the rest on the bottom of your library in a random order. +A:SP$ Sacrifice | Defined$ You | Amount$ SacX | SacValid$ Land | RememberSacrificed$ True | SubAbility$ DBReveal | Optional$ True | SpellDescription$ Sacrifice any number of lands. Reveal the top X cards of your library, where X is the number of lands sacrificed this way. Choose any number of artifact and/or land cards revealed this way. Put all nonland cards chosen this way onto the battlefield, then put all land cards chosen this way onto the battlefield tapped, then put the rest on the bottom of your library in a random order. SVar:SacX:Count$Valid Land.YouCtrl SVar:DBReveal:DB$ PeekAndReveal | PeekAmount$ ShiftX | Reveal$ True | NoMove$ True | DestinationZone$ Library | RememberRevealed$ True | ForgetOtherRemembered$ True | SubAbility$ DBChoose SVar:ShiftX:Remembered$Amount @@ -13,4 +13,4 @@ SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True DeckHas:Ability$Sacrifice DeckHints:Type$Artifact AI:RemoveDeck:All -Oracle:Sacrifice any number of lands. Reveal the top X cards of your library, where X is the number of lands sacrificed this way. Choose any number of artifact and/or land cards revealed this way. Put all nonland cards chosen this way onto the battlefield, then put all land cards chosen this way onto the battlefield tapped, then put the rest on the bottom of your library in a random order. \ No newline at end of file +Oracle:Sacrifice any number of lands. Reveal the top X cards of your library, where X is the number of lands sacrificed this way. Choose any number of artifact and/or land cards revealed this way. Put all nonland cards chosen this way onto the battlefield, then put all land cards chosen this way onto the battlefield tapped, then put the rest on the bottom of your library in a random order. From ee42663e04b22ec265f012b3d418f3a8c3adbe78 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Mon, 5 Jun 2023 18:37:23 +0200 Subject: [PATCH 07/11] update --- .../res/cardsfolder/upcoming/hew_the_entwood.txt | 12 ++++++------ .../upcoming/landroval_horizon_witness.txt | 9 +++++++++ .../cardsfolder/upcoming/mauhur_uruk_hai_captain.txt | 11 +++++++++++ forge-gui/res/cardsfolder/upcoming/mirkwood_bats.txt | 10 ++++++++++ .../res/cardsfolder/upcoming/mordor_trebuchet.txt | 10 ++++++++++ forge-gui/res/tokenscripts/ballistic_boulder.txt | 6 ++++++ 6 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/mauhur_uruk_hai_captain.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/mirkwood_bats.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/mordor_trebuchet.txt create mode 100644 forge-gui/res/tokenscripts/ballistic_boulder.txt diff --git a/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt index f91a74c1d0c..90e4ce2aa11 100644 --- a/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt +++ b/forge-gui/res/cardsfolder/upcoming/hew_the_entwood.txt @@ -3,13 +3,13 @@ ManaCost:3 R R Types:Sorcery A:SP$ Sacrifice | Defined$ You | Amount$ SacX | SacValid$ Land | RememberSacrificed$ True | SubAbility$ DBReveal | Optional$ True | SpellDescription$ Sacrifice any number of lands. Reveal the top X cards of your library, where X is the number of lands sacrificed this way. Choose any number of artifact and/or land cards revealed this way. Put all nonland cards chosen this way onto the battlefield, then put all land cards chosen this way onto the battlefield tapped, then put the rest on the bottom of your library in a random order. SVar:SacX:Count$Valid Land.YouCtrl -SVar:DBReveal:DB$ PeekAndReveal | PeekAmount$ ShiftX | Reveal$ True | NoMove$ True | DestinationZone$ Library | RememberRevealed$ True | ForgetOtherRemembered$ True | SubAbility$ DBChoose +SVar:DBReveal:DB$ PeekAndReveal | PeekAmount$ ShiftX | RememberRevealed$ True | SubAbility$ DBChoose SVar:ShiftX:Remembered$Amount -SVar:DBChoose:DB$ ChooseCard | Choices$ Land.IsRemembered,Artifact.IsRemembered | MinAmount$ 0 | ChoiceZone$ Library | Amount$ ShiftX | Mandatory$ True | ImprintChosen$ True | SubAbility$ DBPutArtifact -SVar:DBPutArtifact:DB$ ChangeZoneAll | ChangeType$ Artifact.IsImprinted | Origin$ Library | Destination$ Battlefield | SubAbility$ DBPutLands -SVar:DBPutLands:DB$ ChangeZoneAll | ChangeType$ Land.IsImprinted | Origin$ Library | Destination$ Battlefield | Tapped$ True | SubAbility$ ShuffleRest -SVar:ShuffleRest:DB$ ChangeZoneAll | Origin$ Library | Destination$ Library | LibraryPosition$ -1 | RandomOrder$ True | Hidden$ True | Mandatory$ True | NoReveal$ True | NoLooking$ True | ChangeType$ Card.IsImprinted+!IsRemembered | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True +SVar:DBChoose:DB$ ChooseCard | Choices$ Land.IsRemembered,Artifact.IsRemembered | MinAmount$ 0 | ChoiceZone$ Library | Amount$ ShiftX | Mandatory$ True | SubAbility$ DBPutArtifact +SVar:DBPutArtifact:DB$ ChangeZoneAll | ChangeType$ Artifact.ChosenCard | Origin$ Library | Destination$ Battlefield | SubAbility$ DBPutLands +SVar:DBPutLands:DB$ ChangeZoneAll | ChangeType$ Land.ChosenCard | Origin$ Library | Destination$ Battlefield | Tapped$ True | SubAbility$ ShuffleRest +SVar:ShuffleRest:DB$ ChangeZoneAll | Origin$ Library | Destination$ Library | LibraryPosition$ -1 | RandomOrder$ True | Hidden$ True | Mandatory$ True | ChangeType$ Card.IsRemembered+!ChosenCard | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Sacrifice DeckHints:Type$Artifact AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt b/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt new file mode 100644 index 00000000000..29b197c5103 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt @@ -0,0 +1,9 @@ +Name:Landroval, Horizon Witness +ManaCost:4 W +Types:Legendary Creature Bird Noble +PT:3/4 +K:Flying +T:Mode$ AttackersDeclared | Execute$ TrigPump | IsPresent$ Creature.attacking+YouCtrl | PresentCompare$ GE2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. +SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.attacking+withoutFlying | TgtPrompt$ Select target attacking creature without flying | KW$ Flying +DeckHints:Keyword$Legendary +Oracle:Flying\nWhenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/mauhur_uruk_hai_captain.txt b/forge-gui/res/cardsfolder/upcoming/mauhur_uruk_hai_captain.txt new file mode 100644 index 00000000000..adcff5f11bf --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mauhur_uruk_hai_captain.txt @@ -0,0 +1,11 @@ +Name:Mauhur, Uruk-hai Captain +ManaCost:B R +Types:Legendary Creature Orc Soldier +PT:2/2 +K:Menace +R:Event$ AddCounter | ActiveZones$ Battlefield | ValidCard$ Orc.YouCtrl+inZoneBattlefield,Army.YouCtrl+inZoneBattlefield,Goblin.YouCtrl+inZoneBattlefield | ValidCounterType$ P1P1 | ReplaceWith$ AddOneMoreCounters | Description$ If one or more +1/+1 counters would be put on an Army, Goblin, or Orc you control, that many plus one +1/+1 counters are put on it instead. +SVar:AddOneMoreCounters:DB$ ReplaceCounter | ValidCounterType$ P1P1 | ChooseCounter$ True | Amount$ Y +SVar:Y:ReplaceCount$CounterNum/Plus.1 +DeckHas:Ability$Counters +DeckHints:Type$Army|Orc|Goblin +Oracle:Menace\nIf one or more +1/+1 counters would be put on an Army, Goblin, or Orc you control, that many plus one +1/+1 counters are put on it instead. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/mirkwood_bats.txt b/forge-gui/res/cardsfolder/upcoming/mirkwood_bats.txt new file mode 100644 index 00000000000..ef7128b9671 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mirkwood_bats.txt @@ -0,0 +1,10 @@ +Name:Mirkwood Bats +ManaCost:3 B +Types:Creature Bat +PT:2/3 +K:Flying +T:Mode$ TokenCreated | ValidPlayer$ You | ValidToken$ Card.token+YouCtrl | Execute$ TrigLoseLife | TriggerZones$ Battlefield | TriggerDescription$ Whenever you create or sacrifice a token, each opponent loses 1 life. +T:Mode$ Sacrificed | ValidCard$ Card.token+YouCtrl | Execute$ TrigLoseLife | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever you create or sacrifice a token, each opponent loses 1 life. +SVar:TrigLoseLife:DB$ LoseLife | LifeAmount$ 1 | Defined$ Opponent +DeckHints:Ability$Tokens|Sacrifice +Oracle:Flying\nWhenever you create or sacrifice a token, each opponent loses 1 life. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/mordor_trebuchet.txt b/forge-gui/res/cardsfolder/upcoming/mordor_trebuchet.txt new file mode 100644 index 00000000000..263d3fc3f71 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mordor_trebuchet.txt @@ -0,0 +1,10 @@ +Name:Mordor Trebuchet +ManaCost:2 B +Types:Artifact Creature Wall +PT:1/4 +K:Defender +T:Mode$ AttackersDeclared | ValidAttackers$ Goblin.YouCtrl,Orc.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever you attack with one or more Goblins and/or Orcs, create a 2/1 colorless Construct artifact creature token with flying named Ballistic Boulder that's tapped and attacking. Sacrifice that token at end of combat. +SVar:TrigToken:DB$ Token | TokenScript$ ballistic_boulder | TokenTapped$ True | TokenAttacking$ True | AtEOT$ ExileCombat +DeckHints:Type$Goblin|Orc +DeckHas:Ability$Token & Type$Artifact|Construct +Oracle:Defender\nWhenever you attack with one or more Goblins and/or Orcs, create a 2/1 colorless Construct artifact creature token with flying named Ballistic Boulder that's tapped and attacking. Sacrifice that token at end of combat. \ No newline at end of file diff --git a/forge-gui/res/tokenscripts/ballistic_boulder.txt b/forge-gui/res/tokenscripts/ballistic_boulder.txt new file mode 100644 index 00000000000..b762e7fac46 --- /dev/null +++ b/forge-gui/res/tokenscripts/ballistic_boulder.txt @@ -0,0 +1,6 @@ +Name:Ballistic Boulder +ManaCost:no cost +Types:Artifact Creature Construct +PT:2/1 +K:Flying +Oracle:Flying. \ No newline at end of file From 3643a2d417a2bdf7b42f09fd173ca6f766f8fd41 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Mon, 5 Jun 2023 21:18:56 +0200 Subject: [PATCH 08/11] update --- .../res/cardsfolder/upcoming/landroval_horizon_witness.txt | 3 +-- forge-gui/res/cardsfolder/upcoming/mordor_trebuchet.txt | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt b/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt index 29b197c5103..cd62ae82a77 100644 --- a/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt +++ b/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt @@ -3,7 +3,6 @@ ManaCost:4 W Types:Legendary Creature Bird Noble PT:3/4 K:Flying -T:Mode$ AttackersDeclared | Execute$ TrigPump | IsPresent$ Creature.attacking+YouCtrl | PresentCompare$ GE2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. +T:Mode$ AttackersDeclared | Execute$ TrigPump | AttackedTarget$ Player | IsPresent$ Creature.attacking+YouCtrl | PresentCompare$ GE2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.attacking+withoutFlying | TgtPrompt$ Select target attacking creature without flying | KW$ Flying -DeckHints:Keyword$Legendary Oracle:Flying\nWhenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/mordor_trebuchet.txt b/forge-gui/res/cardsfolder/upcoming/mordor_trebuchet.txt index 263d3fc3f71..640a1f43915 100644 --- a/forge-gui/res/cardsfolder/upcoming/mordor_trebuchet.txt +++ b/forge-gui/res/cardsfolder/upcoming/mordor_trebuchet.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Wall PT:1/4 K:Defender T:Mode$ AttackersDeclared | ValidAttackers$ Goblin.YouCtrl,Orc.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever you attack with one or more Goblins and/or Orcs, create a 2/1 colorless Construct artifact creature token with flying named Ballistic Boulder that's tapped and attacking. Sacrifice that token at end of combat. -SVar:TrigToken:DB$ Token | TokenScript$ ballistic_boulder | TokenTapped$ True | TokenAttacking$ True | AtEOT$ ExileCombat +SVar:TrigToken:DB$ Token | TokenScript$ ballistic_boulder | TokenTapped$ True | TokenAttacking$ True | AtEOT$ SacrificeCombat DeckHints:Type$Goblin|Orc DeckHas:Ability$Token & Type$Artifact|Construct Oracle:Defender\nWhenever you attack with one or more Goblins and/or Orcs, create a 2/1 colorless Construct artifact creature token with flying named Ballistic Boulder that's tapped and attacking. Sacrifice that token at end of combat. \ No newline at end of file From 5bde881be2f7991d81e396a447988340e3d1c8dc Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Tue, 6 Jun 2023 19:02:58 +0200 Subject: [PATCH 09/11] update --- .../src/main/java/forge/game/player/Player.java | 3 --- .../java/forge/game/player/PlayerProperty.java | 4 ---- .../upcoming/faramir_prince_of_ithilien.txt | 15 --------------- .../upcoming/landroval_horizon_witness.txt | 2 +- 4 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index f3a65649fcc..2b385150452 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -1884,9 +1884,6 @@ public class Player extends GameEntity implements Comparable { public final List getAttackedPlayersMyLastTurn() { return attackedPlayersLastTurn; } - public final List getAttackedPlayersTheirCurrentTurn() { - return attackedPlayersLastTurn; - } public final void clearAttackedMyTurn() { attackedThisTurn.clear(); } diff --git a/forge-game/src/main/java/forge/game/player/PlayerProperty.java b/forge-game/src/main/java/forge/game/player/PlayerProperty.java index 4ad9a56bd51..63911512d4b 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerProperty.java +++ b/forge-game/src/main/java/forge/game/player/PlayerProperty.java @@ -411,10 +411,6 @@ public class PlayerProperty { if (!player.getAttackedPlayersMyLastTurn().contains(sourceController)) { return false; } - } else if (property.equals("attackedYouTheirCurrentTurn")) { - if (!player.getAttackedPlayersTheirCurrentTurn().contains(sourceController)) { - return false; - } } else if (property.equals("BeenAttackedThisCombat")) { for (Player p : game.getRegisteredPlayers()) { if (p.getAttackedPlayersMyCombat().contains(sourceController)) { diff --git a/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt b/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt deleted file mode 100644 index 9bb6e47cc75..00000000000 --- a/forge-gui/res/cardsfolder/upcoming/faramir_prince_of_ithilien.txt +++ /dev/null @@ -1,15 +0,0 @@ -Name:Faramir, Prince of Ithilien -ManaCost:2 W U -Types:Legendary Creature Human Noble -PT:3/3 -T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChooseOpp | TriggerDescription$ At the beginning of your end step, choose an opponent. At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. -SVar:TrigChooseOpp:DB$ ChoosePlayer | Defined$ You | Choices$ Opponent | SubAbility$ DBDelayTrig -SVar:DBDelayTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player.IsTriggerRemembered | RememberObjects$ ChosenPlayer | Execute$ TrigBranch | TriggerDescription$ At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. -SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ DBToken | FalseSubAbility$ DBDraw | SubAbility$ DBCleanup -SVar:DBDraw:DB$ Draw -SVar:DBToken:DB$ Token | TokenScript$ w_1_1_human_soldier | TokenAmount$ 3 -SVar:DBCleanup:DB$ Cleanup | ClearChosenPlayer$ True -SVar:X:TriggeredPlayer$HasPropertyattackedYouTheirCurrentTurn -AI:RemoveDeck:All -DeckHas:Ability$Token & Type$Soldier -Oracle:At the beginning of your end step, choose an opponent.\n At the beginning of that player's next end step, you draw a card if they didn't attack you that turn. Otherwise, create three 1/1 white Human Soldier creature tokens. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt b/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt index cd62ae82a77..7773f2afaac 100644 --- a/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt +++ b/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt @@ -3,6 +3,6 @@ ManaCost:4 W Types:Legendary Creature Bird Noble PT:3/4 K:Flying -T:Mode$ AttackersDeclared | Execute$ TrigPump | AttackedTarget$ Player | IsPresent$ Creature.attacking+YouCtrl | PresentCompare$ GE2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. +T:Mode$ AttackersDeclaredOneTarget | Execute$ TrigPump | AttackedTarget$ Player | IsPresent$ Creature.attacking+YouCtrl | PresentCompare$ GE2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.attacking+withoutFlying | TgtPrompt$ Select target attacking creature without flying | KW$ Flying Oracle:Flying\nWhenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. \ No newline at end of file From 32fd6243f545f7fcf2b9a1a63474494eeb22e1a6 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Wed, 7 Jun 2023 09:14:03 +0200 Subject: [PATCH 10/11] Delete landroval_horizon_witness.txt --- .../cardsfolder/upcoming/landroval_horizon_witness.txt | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt diff --git a/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt b/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt deleted file mode 100644 index 7773f2afaac..00000000000 --- a/forge-gui/res/cardsfolder/upcoming/landroval_horizon_witness.txt +++ /dev/null @@ -1,8 +0,0 @@ -Name:Landroval, Horizon Witness -ManaCost:4 W -Types:Legendary Creature Bird Noble -PT:3/4 -K:Flying -T:Mode$ AttackersDeclaredOneTarget | Execute$ TrigPump | AttackedTarget$ Player | IsPresent$ Creature.attacking+YouCtrl | PresentCompare$ GE2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. -SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.attacking+withoutFlying | TgtPrompt$ Select target attacking creature without flying | KW$ Flying -Oracle:Flying\nWhenever two or more creatures you control attack a player, target attacking creature without flying gains flying until end of turn. \ No newline at end of file From 20e6f48fba398798d4387fe93614e6b67401f3fb Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Thu, 8 Jun 2023 16:03:14 +0200 Subject: [PATCH 11/11] Update borne_upon_a_wind.txt --- forge-gui/res/cardsfolder/upcoming/borne_upon_a_wind.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/borne_upon_a_wind.txt b/forge-gui/res/cardsfolder/upcoming/borne_upon_a_wind.txt index f7d3c846a11..5230326c83f 100644 --- a/forge-gui/res/cardsfolder/upcoming/borne_upon_a_wind.txt +++ b/forge-gui/res/cardsfolder/upcoming/borne_upon_a_wind.txt @@ -2,6 +2,6 @@ Name:Borne Upon a Wind ManaCost:1 U Types:Instant A:SP$ Effect | Name$ Borne Upon a Wind Effect | StaticAbilities$ QuickSpell | SubAbility$ DBDraw | SpellDescription$ You may cast spells this turn as though they had flash. -SVar:QuickSpell:Mode$ CastWithFlash | ValidCard$ Card | ValidSA$ Spell | EffectZone$ Command | Caster$ You | SpellDescription$ You may cast spells this turn as though they had flash. +SVar:QuickSpell:Mode$ CastWithFlash | ValidCard$ Card | ValidSA$ Spell | EffectZone$ Command | Caster$ You | Description$ You may cast spells this turn as though they had flash. SVar:DBDraw:DB$ Draw | SpellDescription$ Draw a card. -Oracle:You may cast spells this turn as though they had flash.\nDraw a card. \ No newline at end of file +Oracle:You may cast spells this turn as though they had flash.\nDraw a card.