From 480792966b2d8750c6b64749f38b767e473e8103 Mon Sep 17 00:00:00 2001 From: Tim Scott Date: Mon, 21 Jan 2019 12:08:01 -0600 Subject: [PATCH 01/54] Add Arena New Player Experience cards. Update README with minor card scripting info. --- README.md | 8 ++++++++ forge-gui/res/cardsfolder/a/angelic_reward.txt | 7 +++++++ forge-gui/res/cardsfolder/c/confront_the_assault.txt | 5 +++++ forge-gui/res/cardsfolder/i/inspiring_commander.txt | 8 ++++++++ forge-gui/res/cardsfolder/t/tactical_advantage.txt | 5 +++++ .../res/editions/Arena New Player Experience.txt | 12 ++++++++++++ 6 files changed, 45 insertions(+) create mode 100644 forge-gui/res/cardsfolder/a/angelic_reward.txt create mode 100644 forge-gui/res/cardsfolder/c/confront_the_assault.txt create mode 100644 forge-gui/res/cardsfolder/i/inspiring_commander.txt create mode 100644 forge-gui/res/cardsfolder/t/tactical_advantage.txt create mode 100644 forge-gui/res/editions/Arena New Player Experience.txt diff --git a/README.md b/README.md index da37c24b7a4..8fea600f2f5 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,12 @@ Discord channel [here](https://discordapp.com/channels/267367946135928833/267742 TBD +# Card Scripting + +Visit [this page]()https://www.slightlymagic.net/wiki/Forge_API) for information on scripting. + +Card scripting resources are found in the forge-gui/res/ path. + # General Notes ## Project Hierarchy @@ -95,6 +101,8 @@ The platform-specific projects are: ### forge-gui +The forge-gui project includes the scripting resource definitions in the res/ path. + ### forge-gui-android Libgdx-based backend targeting Android. Requires Android SDK and relies on forge-gui-mobile for GUI logic. diff --git a/forge-gui/res/cardsfolder/a/angelic_reward.txt b/forge-gui/res/cardsfolder/a/angelic_reward.txt new file mode 100644 index 00000000000..49ce52f5ef2 --- /dev/null +++ b/forge-gui/res/cardsfolder/a/angelic_reward.txt @@ -0,0 +1,7 @@ +Name:Angelic Reward +ManaCost:3 W W +Types:Enchantment Aura +K:Enchant creature +A:SP$ Attach | Cost$ 3 W W | ValidTgts$ Creature | AILogic$ Pump +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 3 | AddToughness$ 3 | AddKeyword$ Flying | Description$ Enchanted creature gets +3/+3 and has flying. +Oracle:Enchant creature\nEnchanted creature gets +3/+3 and has flying. diff --git a/forge-gui/res/cardsfolder/c/confront_the_assault.txt b/forge-gui/res/cardsfolder/c/confront_the_assault.txt new file mode 100644 index 00000000000..8eb015bd242 --- /dev/null +++ b/forge-gui/res/cardsfolder/c/confront_the_assault.txt @@ -0,0 +1,5 @@ +Name:Confront the Assault +ManaCost:4 W +Types:Instant +A:SP$ Token | Cost$ 4 W | IsPresent$ Creature.attackingYou | TokenImage$ w 1 1 spirit ISD | TokenAmount$ 3 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Cast this spell only if a creature is attacking you. Create three 1/1 white Spirit creature tokens with flying. +Oracle:Cast this spell only if a creature is attacking you.\n\nCreate three 1/1 white Spirit creature tokens with flying. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/i/inspiring_commander.txt b/forge-gui/res/cardsfolder/i/inspiring_commander.txt new file mode 100644 index 00000000000..e8c2cb3cf6e --- /dev/null +++ b/forge-gui/res/cardsfolder/i/inspiring_commander.txt @@ -0,0 +1,8 @@ +Name:Inspiring Commander +ManaCost:4 W W +Types:Creature Human Soldier +PT:1/4 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.powerLE2+YouCtrl+Other | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever another creature with power 2 or less enters the battlefield under your control, you gain 1 life and draw a card. +SVar:TrigGainLife:DB$ GainLife | LifeAmount$ 1 | SubAbility$ DBDraw +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 +Oracle:Whenever another creature with power 2 or less enters the battlefield under your control, you gain 1 life and draw a card. diff --git a/forge-gui/res/cardsfolder/t/tactical_advantage.txt b/forge-gui/res/cardsfolder/t/tactical_advantage.txt new file mode 100644 index 00000000000..ff2466b403c --- /dev/null +++ b/forge-gui/res/cardsfolder/t/tactical_advantage.txt @@ -0,0 +1,5 @@ +Name:Tactical Advantage +ManaCost:W +Types:Instant +A:SP$ Pump | Cost$ W | ValidTgts$ Creature.blocking+YouCtrl,Creature.blocked+YouCtrl | TgtPrompt$ Select target blocking or blocked creature you control | NumAtt$ +2 | NumDef$ +2 | SpellDescription$ Target blocking or blocked creature you control gets +2/+2 until end of turn. +Oracle:Target blocking or blocked creature you control gets +2/+2 until end of turn. \ No newline at end of file diff --git a/forge-gui/res/editions/Arena New Player Experience.txt b/forge-gui/res/editions/Arena New Player Experience.txt new file mode 100644 index 00000000000..3ef71f4c7fa --- /dev/null +++ b/forge-gui/res/editions/Arena New Player Experience.txt @@ -0,0 +1,12 @@ +[metadata] +Code=ANA +Date=2018-07-12 +Name=Arena New Player Experience +Type=Other + +[cards] +U Angelic Reward +U Confront the Assault +R Inspiring Commander +C Spiritual Guardian +C Tactical Advantage From 29fd940a3d7ce4697ad52bcfa974d2ae6309ed87 Mon Sep 17 00:00:00 2001 From: Tim Scott Date: Mon, 21 Jan 2019 15:21:35 -0600 Subject: [PATCH 02/54] Add Arena NPE decks. Correct typo in README.md. --- README.md | 2 +- .../quest/precons/MTGA Arcane Inventions.dck | 31 ++++++++++++++++ .../quest/precons/MTGA Auras of Majesty.dck | 33 +++++++++++++++++ .../quest/precons/MTGA Chaos and Mayhem.dck | 32 ++++++++++++++++ .../res/quest/precons/MTGA Dragons Fire.dck | 31 ++++++++++++++++ .../res/quest/precons/MTGA Eternal Thirst.dck | 36 ++++++++++++++++++ .../res/quest/precons/MTGA Forests Might.dck | 32 ++++++++++++++++ .../res/quest/precons/MTGA Graveyard Bash.dck | 35 ++++++++++++++++++ .../res/quest/precons/MTGA Jungle Secrets.dck | 34 +++++++++++++++++ .../res/quest/precons/MTGA Primal Fury.dck | 36 ++++++++++++++++++ .../quest/precons/MTGA Saproling Swarm.dck | 35 ++++++++++++++++++ .../precons/MTGA Strength in Numbers.dck | 37 +++++++++++++++++++ .../quest/precons/MTGA Tactical Assault.dck | 34 +++++++++++++++++ .../res/quest/precons/MTGA Walk the Plank.dck | 35 ++++++++++++++++++ .../res/quest/precons/MTGA Wing and Claw.dck | 35 ++++++++++++++++++ .../res/quest/precons/MTGA Wrath of Mages.dck | 35 ++++++++++++++++++ 16 files changed, 512 insertions(+), 1 deletion(-) create mode 100644 forge-gui/res/quest/precons/MTGA Arcane Inventions.dck create mode 100644 forge-gui/res/quest/precons/MTGA Auras of Majesty.dck create mode 100644 forge-gui/res/quest/precons/MTGA Chaos and Mayhem.dck create mode 100644 forge-gui/res/quest/precons/MTGA Dragons Fire.dck create mode 100644 forge-gui/res/quest/precons/MTGA Eternal Thirst.dck create mode 100644 forge-gui/res/quest/precons/MTGA Forests Might.dck create mode 100644 forge-gui/res/quest/precons/MTGA Graveyard Bash.dck create mode 100644 forge-gui/res/quest/precons/MTGA Jungle Secrets.dck create mode 100644 forge-gui/res/quest/precons/MTGA Primal Fury.dck create mode 100644 forge-gui/res/quest/precons/MTGA Saproling Swarm.dck create mode 100644 forge-gui/res/quest/precons/MTGA Strength in Numbers.dck create mode 100644 forge-gui/res/quest/precons/MTGA Tactical Assault.dck create mode 100644 forge-gui/res/quest/precons/MTGA Walk the Plank.dck create mode 100644 forge-gui/res/quest/precons/MTGA Wing and Claw.dck create mode 100644 forge-gui/res/quest/precons/MTGA Wrath of Mages.dck diff --git a/README.md b/README.md index 8fea600f2f5..d9dfa8f7920 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ TBD # Card Scripting -Visit [this page]()https://www.slightlymagic.net/wiki/Forge_API) for information on scripting. +Visit [this page](https://www.slightlymagic.net/wiki/Forge_API) for information on scripting. Card scripting resources are found in the forge-gui/res/ path. diff --git a/forge-gui/res/quest/precons/MTGA Arcane Inventions.dck b/forge-gui/res/quest/precons/MTGA Arcane Inventions.dck new file mode 100644 index 00000000000..2ce804e124d --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Arcane Inventions.dck @@ -0,0 +1,31 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Arcane Inventions +Description=As a blue mage, you control the battlefield through illusions. Always think three steps ahead of your foe. +Deck Type=constructed +Set=ANA +[Main] +3 Air Elemental|M19 +1 Arcane Encyclopedia|M19 +2 Aven Wind Mage|M19 +3 Aviation Pioneer|M19 +1 Befuddle|M19 +1 Diamond Mare|M19 +2 Disperse|M19 +1 Divination|M19 +4 Field Creeper|M19 +2 Gearsmith Guardian|M19 +3 Gearsmith Prodigy|M19 +2 Gilded Sentinel|XLN +25 Island|GRN +1 Meteor Golem|M19 +1 Riddlemaster Sphinx|M19 +1 Sai, Master Thopterist|M19 +2 Scholar of Stars|M19 +1 Tempest Djinn|DOM +3 Waterknot|M19 +1 Zahid, Djinn of the Lamp|DOM diff --git a/forge-gui/res/quest/precons/MTGA Auras of Majesty.dck b/forge-gui/res/quest/precons/MTGA Auras of Majesty.dck new file mode 100644 index 00000000000..262231a8881 --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Auras of Majesty.dck @@ -0,0 +1,33 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Auras of Majesty +Description=Enchant your creatures to new levels of power and use binding spells to restrain your foes. +Deck Type=constructed +Set=ANA +[Main] +1 Ajani's Last Stand|M19 +1 Danitha Capashen, Paragon|DOM +2 Daybreak Chaplain|M19 +3 Druid of Horns|M19 +9 Forest|GRN +2 Greenwood Sentinel|M19 +3 Hieromancer's Cage|M19 +1 History of Benalia|DOM +3 Knight's Pledge|M19 +2 Knightly Valor|M19 +3 Luminous Bonds|GRN +3 Novice Knight|M19 +3 Oakenform|M19 +1 On Serra's Wings|DOM +11 Plains|GRN +1 Prodigious Growth|M19 +3 Satyr Enchanter|M19 +1 Shalai, Voice of Plenty|DOM +1 Siegehorn Ceratops|RIX +1 Sunpetal Grove|XLN +1 Thorn Lieutenant|M19 +4 Tranquil Expanse|M19 diff --git a/forge-gui/res/quest/precons/MTGA Chaos and Mayhem.dck b/forge-gui/res/quest/precons/MTGA Chaos and Mayhem.dck new file mode 100644 index 00000000000..d688c534d4b --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Chaos and Mayhem.dck @@ -0,0 +1,32 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Chaos and Mayhem +Description=Death is not the end. Strike terror from beyond with powerful graveyard combos. +Deck Type=constructed +Set=ANA +[Main] +4 Act of Treason|M19 +2 Blood Divination|M19 +3 Brawl-Bash Ogre|M19 +4 Cinder Barrens|M19 +1 Demon of Catastrophes|M19 +3 Doomed Dissenter|M19 +1 Dragonskull Summit|XLN +3 Goblin Instigator|M19 +1 Goblin Trashmaster|M19 +1 Gravedigger|M19 +1 Gravewaker|M19 +10 Mountain|GRN +3 Murder|M19 +1 Open the Graves|M19 +3 Ravenous Harpy|M19 +2 Reassembling Skeleton|M19 +1 Rekindling Phoenix|RIX +3 Shock|M19 +1 Siege-Gang Commander|DOM +2 Swab Goblin|RIX +10 Swamp|GRN diff --git a/forge-gui/res/quest/precons/MTGA Dragons Fire.dck b/forge-gui/res/quest/precons/MTGA Dragons Fire.dck new file mode 100644 index 00000000000..994d1557b32 --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Dragons Fire.dck @@ -0,0 +1,31 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Dragon's Fire +Description=As a red mage, you revel in the chaos of battle. Fire is your weapon and your inspiration. +Deck Type=constructed +Set=ANA +[Main] +1 Burning Sun's Avatar|XLN +2 Charging Monstrosaur|XLN +1 Demanding Dragon|M19 +2 Fiery Finish|M19 +3 Goblin Instigator|M19 +3 Havoc Devils|M19 +3 Kargan Dragonrider|M19 +1 Lathliss, Dragon Queen|M19 +1 Meteor Golem|M19 +25 Mountain|GRN +2 Onakke Ogre|M19 +3 Pyromantic Pilgrim|DOM +3 Shock|M19 +2 Sparktongue Dragon|M19 +1 Spit Flame|M19 +3 Sure Strike|GRN +2 Viashino Pyromancer|M19 +2 Volcanic Dragon|M19 + + diff --git a/forge-gui/res/quest/precons/MTGA Eternal Thirst.dck b/forge-gui/res/quest/precons/MTGA Eternal Thirst.dck new file mode 100644 index 00000000000..996687b3166 --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Eternal Thirst.dck @@ -0,0 +1,36 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Eternal Thirst +Description=Outlive your opponent by using their lifeforce to heal your wounds. Your life means their death. +Deck Type=constructed +Set=ANA +[Main] +3 Ajani's Pridemate|M19 +2 Ajani's Welcome|M19 +3 Bishop's Soldier|XLN +3 Call to the Feast|XLN +1 Champion of Dusk|RIX +2 Epicure of Blood|M19 +4 Forsaken Sanctuary|M19 +1 Herald of Faith|M19 +2 Inspiring Cleric|XLN +1 Isolated Chapel|DOM +2 Legion Lieutenant|RIX +1 Leonin Warleader|M19 +2 Moment of Triumph|RIX +3 Murder|M19 +2 Nightmare's Thirst|M19 +1 Paladin of Atonement|RIX +10 Plains|GRN +1 Resplendent Angel|M19 +1 Sanctum Seeker|XLN +3 Skymarch Bloodletter|M19 +10 Swamp|GRN +1 Vampire Sovereign|M19 +1 Vraska's Contempt|XLN + + diff --git a/forge-gui/res/quest/precons/MTGA Forests Might.dck b/forge-gui/res/quest/precons/MTGA Forests Might.dck new file mode 100644 index 00000000000..7c0538574f3 --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Forests Might.dck @@ -0,0 +1,32 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Forest's Might +Description=As a green mage, the natural world is at your command. The power of life itself fuels your magic. +Deck Type=constructed +Set=ANA +[Main] +1 Aggressive Mammoth|M19 +2 Blanchwood Armor|M19 +3 Bristling Boar|M19 +3 Centaur Courser|M19 +2 Druid of the Cowl|M19 +2 Elvish Rejuvenator|M19 +25 Forest|GRN +1 Ghalta, Primal Hunger|RIX +1 Gigantosaurus|M19 +2 Greenwood Sentinel|M19 +3 Highland Game|M19 +2 Llanowar Elves|M19 +1 Meteor Golem|M19 +2 Plummet|M19 +1 Prodigious Growth|M19 +3 Rabid Bite|M19 +3 Titanic Growth|M19 +1 Verdant Rebirth|XLN +2 Vigilant Baloth|M19 + + diff --git a/forge-gui/res/quest/precons/MTGA Graveyard Bash.dck b/forge-gui/res/quest/precons/MTGA Graveyard Bash.dck new file mode 100644 index 00000000000..c740cbb1f3f --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Graveyard Bash.dck @@ -0,0 +1,35 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Graveyard Bash +Description=As a black mage, every advantage comes at a cost. Sacrifice whatever is necessary to control the forces of death and darkness. +Deck Type=constructed +Set=ANA +[Main] +2 Death Baron|ALA +3 Deathbloom Thallid|DOM +2 Diregraf Ghoul|ISD +3 Doomed Dissenter|M19 +2 Gravedigger|M15 +1 Gravewaker|M19 +2 Hired Blade|M19 +2 Infectious Horror|M19 +1 Meteor Golem|M19 +3 Murder|M19 +1 Open the Graves|M19 +1 Rise from the Grave|M10 +2 Skulduggery|XLN +2 Skymarch Bloodletter|XLN +2 Strangling Spores|M19 +9 Swamp|8ED|1 +7 Swamp|8ED|2 +4 Swamp|8ED|3 +5 Swamp|8ED|4 +2 Vampire Sovereign|M19 +3 Walking Corpse|ISD +1 Yargle, Glutton of Urborg|DOM + + diff --git a/forge-gui/res/quest/precons/MTGA Jungle Secrets.dck b/forge-gui/res/quest/precons/MTGA Jungle Secrets.dck new file mode 100644 index 00000000000..82840be29f1 --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Jungle Secrets.dck @@ -0,0 +1,34 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Jungle Secrets +Description=Sneak past your foe's defenses and manipulate the battlefield to your benefit with the slick Merfolk of Ixalan. +Deck Type=constructed +Set=ANA +[Main] +1 Deeproot Champion|XLN +1 Deeproot Elite|RIX +3 Disperse|M19 +11 Forest|GRN +1 Herald of Secret Streams|XLN +1 Hinterland Harbor|DOM +9 Island|GRN +3 Jade Bearer|RIX +1 Jadelight Ranger|RIX +2 Jungleborn Pioneer|RIX +3 Kumena's Speaker|XLN +1 Kumena, Tyrant of Orazca|RIX +3 Merfolk Mistbinder|RIX +3 River Heralds' Boon|XLN +2 River Sneak|XLN +1 Seafloor Oracle|RIX +3 Silvergill Adept|RIX +2 Sleep|M19 +2 Tempest Caller|XLN +3 Watertrap Weaver|XLN +4 Woodland Stream|M19 + + diff --git a/forge-gui/res/quest/precons/MTGA Primal Fury.dck b/forge-gui/res/quest/precons/MTGA Primal Fury.dck new file mode 100644 index 00000000000..7eea8a57643 --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Primal Fury.dck @@ -0,0 +1,36 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Primal Fury +Description=Create additional mana to summon massive monsters to crush your enemies. +Deck Type=constructed +Set=ANA +[Main] +1 Banefire|M19 +1 Carnage Tyrant|XLN +2 Charging Monstrosaur|XLN +2 Charging Tuskodon|RIX +2 Colossal Majesty|M19 +3 Draconic Disciple|M19 +2 Druid of the Cowl|M19 +3 Elvish Rejuvenator|M19 +1 Etali, Primal Storm|RIX +10 Forest|GRN +2 Frenzied Raptor|XLN +1 Goreclaw, Terror of Qal Sisma|M19 +2 Knight of the Stampede|RIX +3 Lightning Strike|M19 +3 Llanowar Elves|M19 +9 Mountain|GRN +1 Needletooth Raptor|RIX +1 Pelakka Wurm|M19 +2 Raptor Hatchling|XLN +1 Rootbound Crag|XLN +3 Shock|M19 +1 Silverclad Ferocidons|RIX +4 Timber Gorge|M19 + + diff --git a/forge-gui/res/quest/precons/MTGA Saproling Swarm.dck b/forge-gui/res/quest/precons/MTGA Saproling Swarm.dck new file mode 100644 index 00000000000..25cafe3a3fd --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Saproling Swarm.dck @@ -0,0 +1,35 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Saproling Swarm +Description=Overrun anyone in your way with a Swarm of Saprolings. +Deck Type=constructed +Set=ANA +[Main] +2 Costly Plunder|XLN +3 Deathbloom Thallid|DOM +3 Doomed Dissenter|M19 +10 Forest|GRN +4 Foul Orchard|M19 +3 Fungal Infection|DOM +1 Path of Discovery|RIX +3 Poison-Tip Archer|M19 +1 Rite of Belzenlok|DOM +3 Saproling Migration|DOM +1 Slimefoot, the Stowaway|DOM +2 Spore Swarm|DOM +10 Swamp|GRN +1 Tendershoot Dryad|RIX +2 Thallid Omnivore|DOM +1 Torgaar, Famine Incarnate|DOM +1 Twilight Prophet|RIX +1 Verdant Force|DOM +3 Vicious Offering|DOM +1 Whisper, Blood Liturgist|DOM +1 Woodland Cemetery|DOM +3 Yavimaya Sapherd|DOM + + diff --git a/forge-gui/res/quest/precons/MTGA Strength in Numbers.dck b/forge-gui/res/quest/precons/MTGA Strength in Numbers.dck new file mode 100644 index 00000000000..54563b5e14b --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Strength in Numbers.dck @@ -0,0 +1,37 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Strength in Numbers +Description=Build up a powerful army and overrun the battlefield. Find glory and strength in numbers. +Deck Type=constructed +Set=ANA +[Main] +1 Act of Treason|M19 +2 Boggart Brute|M19 +1 Burning Sun's Avatar|XLN +1 Captivating Crew|XLN +2 Cavalry Drillmaster|M19 +1 Clifftop Retreat|DOM +3 Goblin Instigator|M19 +3 Heroic Reinforcements|M19 +2 Hieromancer's Cage|M19 +1 Inspired Charge|M19 +1 Kinjalli's Sunwing|XLN +3 Leonin Vanguard|M19 +1 Leonin Warleader|M19 +3 Lightning Strike|M19 +1 Make a Stand|M19 +2 Martyr of Dusk|RIX +1 Mentor of the Meek|M19 +3 Militia Bugler|M19 +9 Mountain|GRN +2 Paladin of the Bloodstained|XLN +10 Plains|GRN +1 Siege-Gang Commander|DOM +4 Stone Quarry|M19 +2 Trumpet Blast|M19 + + diff --git a/forge-gui/res/quest/precons/MTGA Tactical Assault.dck b/forge-gui/res/quest/precons/MTGA Tactical Assault.dck new file mode 100644 index 00000000000..b7b767a0ba7 --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Tactical Assault.dck @@ -0,0 +1,34 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Tactical Assault +Description=As a white mage, you command disciplined armies. Enforce order to overwhelm your enemies. +Deck Type=constructed +Set=ANA +[Main] +2 Daybreak Chaplain|M19 +1 Herald of Faith|M19 +2 Knight's Pledge|M19 +1 Leonin Warleader|M19 +2 Loxodon Line Breaker|M19 +3 Luminous Bonds|GRN +1 Meteor Golem|M19 +3 Oreskos Swiftclaw|M19 +2 Pegasus Courser|M19 +25 Plains|GRN +3 Tactical Advantage|ANA +1 Confront the Assault|ANA +1 Angelic Reward|ANA +1 Inspiring Commander|ANA +1 Spiritual Guardian|ANA +2 Serra Angel|DOM +1 Serra's Guardian|M19 +2 Silverbeak Griffin|M19 +3 Star-Crowned Stag|M19 +2 Take Vengeance|M19 +1 Zetalpa, Primal Dawn|RIX + + diff --git a/forge-gui/res/quest/precons/MTGA Walk the Plank.dck b/forge-gui/res/quest/precons/MTGA Walk the Plank.dck new file mode 100644 index 00000000000..a2bc06ab0df --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Walk the Plank.dck @@ -0,0 +1,35 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Walk the Plank +Description=Manipulate the battlefield to your advantage with these crafty spells. +Deck Type=constructed +Set=ANA +[Main] +2 Chart a Course|XLN +2 Deadeye Rig-Hauler|RIX +1 Demonlord Belzenlok|DOM +3 Departed Deckhand|M19 +1 Dire Fleet Poisoner|RIX +1 Dreamcaller Siren|XLN +1 Drowned Catacomb|XLN +2 Exclusion Mage|M19 +2 Fathom Fleet Boarder|RIX +3 Grasping Scoundrel|M19 +1 Hostage Taker|XLN +10 Island|GRN +3 Kitesail Corsair|RIX +2 Kitesail Freebooter|XLN +3 Murder|M19 +2 Ravenous Chupacabra|RIX +1 Riddlemaster Sphinx|M19 +1 Ruin Raider|XLN +2 Siren Reaver|RIX +3 Siren Stormtamer|XLN +4 Submerged Boneyard|M19 +10 Swamp|GRN + + diff --git a/forge-gui/res/quest/precons/MTGA Wing and Claw.dck b/forge-gui/res/quest/precons/MTGA Wing and Claw.dck new file mode 100644 index 00000000000..6a86fd319d4 --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Wing and Claw.dck @@ -0,0 +1,35 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Wing and Claw +Description=Soar over your opponent's defense while protecting your front-line with tactical spells. +Deck Type=constructed +Set=ANA +[Main] +1 Azor, the Lawbringer|RIX +2 Blade Instructor|GRN +3 Disperse|M19 +3 Favorable Winds|XLN +1 Glacial Fortress|XLN +1 Goring Ceratops|XLN +2 Healer's Hawk|GRN +2 Imperial Aerosaur|XLN +10 Island|GRN +3 Kitesail Corsair|RIX +1 Light of the Legion|GRN +4 Meandering River|M19 +1 Nezahal, Primal Tide|RIX +2 One With the Wind|XLN +2 Pegasus Courser|M19 +10 Plains|GRN +3 Seal Away|DOM +2 Serra Angel|DOM +1 Settle the Wreckage|XLN +3 Sunhome Stalwart|GRN +2 Territorial Hammerskull|XLN +1 Warkite Marauder|RIX + + diff --git a/forge-gui/res/quest/precons/MTGA Wrath of Mages.dck b/forge-gui/res/quest/precons/MTGA Wrath of Mages.dck new file mode 100644 index 00000000000..7f82c0ca407 --- /dev/null +++ b/forge-gui/res/quest/precons/MTGA Wrath of Mages.dck @@ -0,0 +1,35 @@ +[shop] +WinsToUnlock=0 +Credits=999 +MinDifficulty=0 +MaxDifficulty=5 +[metadata] +Name=MTGA Wrath of Mages +Description=Cast powerful spells to wreak havoc on your enemies. +Deck Type=constructed +Set=ANA +[Main] +2 Aven Wind Mage|M19 +1 Banefire|M19 +2 Blink of an Eye|DOM +3 Disperse|M19 +3 Enigma Drake|M19 +1 Entrancing Melody|XLN +2 Fight with Fire|DOM +3 Ghitu Lavarunner|DOM +2 Guttersnipe|M19 +4 Highland Lake|M19 +10 Island|GRN +2 Lightning Strike|M19 +10 Mountain|GRN +1 Mystic Archaeologist|M19 +1 Repeating Barrage|XLN +1 River's Rebuke|XLN +1 Rowdy Crew|XLN +1 Salvager of Secrets|M19 +3 Shivan Fire|DOM +3 Sift|M19 +1 Sulfur Falls|DOM +3 Vodalian Arcanist|DOM + + From eefa4e46d153088bd409c46d479f855d67c184cf Mon Sep 17 00:00:00 2001 From: Tim Scott Date: Fri, 25 Jan 2019 17:11:27 -0600 Subject: [PATCH 03/54] Correct Druid of Horns so SpellAbility now generates a 3/3 beast. An aura targeting the Druid is supposed to do this. --- forge-gui/res/cardsfolder/d/druid_of_horns.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/d/druid_of_horns.txt b/forge-gui/res/cardsfolder/d/druid_of_horns.txt index f34ec2f80dc..317e127b407 100644 --- a/forge-gui/res/cardsfolder/d/druid_of_horns.txt +++ b/forge-gui/res/cardsfolder/d/druid_of_horns.txt @@ -1,7 +1,7 @@ Name:Druid of Horns ManaCost:3 G Types:Creature Human Druid -T:Mode$ SpellCast | ValidCard$ Aura | ValidActivatingPlayer$ You | ValidCard$ Card.Self | Execute$ TrigToken | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast an Aura spell that targets CARDNAME, create a 3/3 green Beast creature token. +T:Mode$ SpellCast | ValidCard$ Aura | ValidActivatingPlayer$ You | TargetsValid$ Card.Self | Execute$ TrigToken | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast an Aura spell that targets CARDNAME, create a 3/3 green Beast creature token. SVar:TrigToken:DB$ Token | TokenOwner$ You | TokenAmount$ 1 | TokenPower$ 3 | TokenToughness$ 3 | TokenColors$ Green | TokenName$ Beast | TokenTypes$ Beast,Creature | TokenImage$ g 3 3 beast m19 DeckHas:Ability$Token Oracle:Whenever you cast an Aura spell that targets Druid of Horns, create a 3/3 green Beast creature token. From 3c1b1068370d2fd5ee2f35d760d4ce63d04db8da Mon Sep 17 00:00:00 2001 From: Tim Scott Date: Fri, 25 Jan 2019 19:37:19 -0600 Subject: [PATCH 04/54] Add balance of ANA cards as found at https://scryfall.com/sets/ana --- .../res/cardsfolder/b/blinding_radiance.txt | 6 ++++ forge-gui/res/cardsfolder/c/cruel_cut.txt | 5 +++ forge-gui/res/cardsfolder/f/feral_roar.txt | 5 +++ .../res/cardsfolder/g/goblin_bruiser.txt | 4 +++ .../res/cardsfolder/g/goblin_gang_leader.txt | 7 ++++ .../res/cardsfolder/n/nimble_pilferer.txt | 6 ++++ .../res/cardsfolder/o/ogre_painbringer.txt | 7 ++++ forge-gui/res/cardsfolder/r/rivers_favor.txt | 7 ++++ .../res/cardsfolder/s/shorecomber_crab.txt | 4 +++ forge-gui/res/cardsfolder/s/shrine_keeper.txt | 4 +++ .../res/cardsfolder/s/soulhunter_rakshasa.txt | 8 +++++ .../res/cardsfolder/t/titanic_pelagosaur.txt | 4 +++ .../res/cardsfolder/t/treetop_warden.txt | 4 +++ forge-gui/res/cardsfolder/z/zephyr_gull.txt | 6 ++++ .../editions/Arena New Player Experience.txt | 34 +++++++++++++++++++ 15 files changed, 111 insertions(+) create mode 100644 forge-gui/res/cardsfolder/b/blinding_radiance.txt create mode 100644 forge-gui/res/cardsfolder/c/cruel_cut.txt create mode 100644 forge-gui/res/cardsfolder/f/feral_roar.txt create mode 100644 forge-gui/res/cardsfolder/g/goblin_bruiser.txt create mode 100644 forge-gui/res/cardsfolder/g/goblin_gang_leader.txt create mode 100644 forge-gui/res/cardsfolder/n/nimble_pilferer.txt create mode 100644 forge-gui/res/cardsfolder/o/ogre_painbringer.txt create mode 100644 forge-gui/res/cardsfolder/r/rivers_favor.txt create mode 100644 forge-gui/res/cardsfolder/s/shorecomber_crab.txt create mode 100644 forge-gui/res/cardsfolder/s/shrine_keeper.txt create mode 100644 forge-gui/res/cardsfolder/s/soulhunter_rakshasa.txt create mode 100644 forge-gui/res/cardsfolder/t/titanic_pelagosaur.txt create mode 100644 forge-gui/res/cardsfolder/t/treetop_warden.txt create mode 100644 forge-gui/res/cardsfolder/z/zephyr_gull.txt diff --git a/forge-gui/res/cardsfolder/b/blinding_radiance.txt b/forge-gui/res/cardsfolder/b/blinding_radiance.txt new file mode 100644 index 00000000000..700c75defe8 --- /dev/null +++ b/forge-gui/res/cardsfolder/b/blinding_radiance.txt @@ -0,0 +1,6 @@ +Name:Blinding Radiance +ManaCost:2 W +Types:Sorcery +A:SP$ TapAll | Cost$ 2 W | ValidCards$ Creature.OppCtrl+toughnessLE2 | SpellDescription$ Tap all creatures your opponents control with toughness 2 or less. +Oracle:Tap all creatures your opponents control with toughness 2 or less. + diff --git a/forge-gui/res/cardsfolder/c/cruel_cut.txt b/forge-gui/res/cardsfolder/c/cruel_cut.txt new file mode 100644 index 00000000000..54f09b1c75e --- /dev/null +++ b/forge-gui/res/cardsfolder/c/cruel_cut.txt @@ -0,0 +1,5 @@ +Name:Cruel Cut +ManaCost:1 B +Types:Instant +A:SP$ Destroy | Cost$ 1 B | ValidTgts$ Creature.powerLE2 | TgtPrompt$ Select target creature | SpellDescription$ Destroy target creature with power 2 or less. +Oracle:Destroy target creature with power 2 or less. diff --git a/forge-gui/res/cardsfolder/f/feral_roar.txt b/forge-gui/res/cardsfolder/f/feral_roar.txt new file mode 100644 index 00000000000..912563e2fa2 --- /dev/null +++ b/forge-gui/res/cardsfolder/f/feral_roar.txt @@ -0,0 +1,5 @@ +Name:Feral Roar +ManaCost:1 G +Types:Sorcery +A:SP$ Pump | Cost$ 1 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +4 | NumDef$ +4 | SpellDescription$ Target creature gets +4/+4 until end of turn. +Oracle:Target creature gets +4/+4 until end of turn. diff --git a/forge-gui/res/cardsfolder/g/goblin_bruiser.txt b/forge-gui/res/cardsfolder/g/goblin_bruiser.txt new file mode 100644 index 00000000000..4506eab0005 --- /dev/null +++ b/forge-gui/res/cardsfolder/g/goblin_bruiser.txt @@ -0,0 +1,4 @@ +Name:Goblin Bruiser +ManaCost:1 R R +Types:Creature Goblin Warrior +PT:3/3 diff --git a/forge-gui/res/cardsfolder/g/goblin_gang_leader.txt b/forge-gui/res/cardsfolder/g/goblin_gang_leader.txt new file mode 100644 index 00000000000..010ca6eb0c7 --- /dev/null +++ b/forge-gui/res/cardsfolder/g/goblin_gang_leader.txt @@ -0,0 +1,7 @@ +Name:Goblin Gang Leader +ManaCost:2 R R +Types:Creature Goblin Warrior +PT:2/2 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create two 1/1 red Goblin creature tokens. +SVar:TrigToken:DB$ Token | TokenAmount$ 2 | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenOwner$ You | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 +Oracle:When Goblin Gang Leader enters the battlefield, create two 1/1 red Goblin creature tokens. diff --git a/forge-gui/res/cardsfolder/n/nimble_pilferer.txt b/forge-gui/res/cardsfolder/n/nimble_pilferer.txt new file mode 100644 index 00000000000..6d548a13d9c --- /dev/null +++ b/forge-gui/res/cardsfolder/n/nimble_pilferer.txt @@ -0,0 +1,6 @@ +Name:Nimble Pilferer +ManaCost:1 B +Types:Creature Human Rogue +PT:2/1 +K:Flash +Oracle:Flash diff --git a/forge-gui/res/cardsfolder/o/ogre_painbringer.txt b/forge-gui/res/cardsfolder/o/ogre_painbringer.txt new file mode 100644 index 00000000000..7263d6ff7a0 --- /dev/null +++ b/forge-gui/res/cardsfolder/o/ogre_painbringer.txt @@ -0,0 +1,7 @@ +Name:Ogre Painbringer +ManaCost:3 R R +Types:Creature Ogre +PT:7/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDmg | TriggerDescription$ When CARDNAME enters the battlefield, it deals 3 damage to each player. +SVar:TrigDmg:DB$ DamageAll | Cost$ 3 R R | NumDmg$ 3 | ValidPlayers$ Player | ValidDescription$ each player. | SpellDescription$ CARDNAME deals 3 damage to each player. +Oracle:When Ogre Painbringer enters the battlefield, it deals 3 damage to each player. diff --git a/forge-gui/res/cardsfolder/r/rivers_favor.txt b/forge-gui/res/cardsfolder/r/rivers_favor.txt new file mode 100644 index 00000000000..2b7652b72f2 --- /dev/null +++ b/forge-gui/res/cardsfolder/r/rivers_favor.txt @@ -0,0 +1,7 @@ +Name:River's Favor +ManaCost:U +Types:Enchantment Aura +K:Enchant creature +A:SP$ Attach | Cost$ U | ValidTgts$ Creature | AILogic$ Pump +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Enchanted creature gets +1/+1. +Oracle:Enchant creature\nEnchanted creature gets +1/+1. diff --git a/forge-gui/res/cardsfolder/s/shorecomber_crab.txt b/forge-gui/res/cardsfolder/s/shorecomber_crab.txt new file mode 100644 index 00000000000..fe17bf9e5f7 --- /dev/null +++ b/forge-gui/res/cardsfolder/s/shorecomber_crab.txt @@ -0,0 +1,4 @@ +Name:Shorecomber Crab +ManaCost:U +Types:Creature Crab +PT:0/4 diff --git a/forge-gui/res/cardsfolder/s/shrine_keeper.txt b/forge-gui/res/cardsfolder/s/shrine_keeper.txt new file mode 100644 index 00000000000..6c288bdf392 --- /dev/null +++ b/forge-gui/res/cardsfolder/s/shrine_keeper.txt @@ -0,0 +1,4 @@ +Name:Shrine Keeper +ManaCost:1 W +Types:Creature Human Cleric +PT:2/2 diff --git a/forge-gui/res/cardsfolder/s/soulhunter_rakshasa.txt b/forge-gui/res/cardsfolder/s/soulhunter_rakshasa.txt new file mode 100644 index 00000000000..784fc62bbdf --- /dev/null +++ b/forge-gui/res/cardsfolder/s/soulhunter_rakshasa.txt @@ -0,0 +1,8 @@ +Name:Soulhunter Rakshasa +ManaCost:3 B B +Types:Creature Cat Demon +PT:5/5 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDmg | TriggerDescription$ When CARDNAME enters the battlefield, it deals 5 damage to target opponent. +SVar:TrigDmg:DB$ DealDamage | Cost$ 3 B B | NumDmg$ 5 | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent. | SpellDescription$ CARDNAME deals 5 damage to target opponent. +K:CARDNAME can't block. +Oracle:Soulhunter Rakshasa can't block.\nWhen Soulhunter Rakshasa enters the battlefied, it deals 5 damage to target opponent. diff --git a/forge-gui/res/cardsfolder/t/titanic_pelagosaur.txt b/forge-gui/res/cardsfolder/t/titanic_pelagosaur.txt new file mode 100644 index 00000000000..952f96c82cd --- /dev/null +++ b/forge-gui/res/cardsfolder/t/titanic_pelagosaur.txt @@ -0,0 +1,4 @@ +Name:Titanic Pelagosaur +ManaCost:3 U U +Types:Creature Dinosaur +PT:4/6 diff --git a/forge-gui/res/cardsfolder/t/treetop_warden.txt b/forge-gui/res/cardsfolder/t/treetop_warden.txt new file mode 100644 index 00000000000..a527f425cf0 --- /dev/null +++ b/forge-gui/res/cardsfolder/t/treetop_warden.txt @@ -0,0 +1,4 @@ +Name:Treetop Warden +ManaCost:1 G +Types:Creature Elf Warrior +PT:2/2 diff --git a/forge-gui/res/cardsfolder/z/zephyr_gull.txt b/forge-gui/res/cardsfolder/z/zephyr_gull.txt new file mode 100644 index 00000000000..86e5f917476 --- /dev/null +++ b/forge-gui/res/cardsfolder/z/zephyr_gull.txt @@ -0,0 +1,6 @@ +Name:Zephyr Gull +ManaCost:U +Types:Creature Bird +PT:1/1 +K:Flying +Oracle:Flying diff --git a/forge-gui/res/editions/Arena New Player Experience.txt b/forge-gui/res/editions/Arena New Player Experience.txt index 3ef71f4c7fa..825809b5f06 100644 --- a/forge-gui/res/editions/Arena New Player Experience.txt +++ b/forge-gui/res/editions/Arena New Player Experience.txt @@ -5,8 +5,42 @@ Name=Arena New Player Experience Type=Other [cards] +C Altar's Reap +U Ambition's Cost U Angelic Reward +U Blinding Radiance +R Chaos Maw U Confront the Assault +C Cruel Cut +C Divination +U Doublecast +C Feral Roar +U Goblin Bruiser +U Goblin Gang Leader +U Goblin Grenade R Inspiring Commander +C Knight's Pledge +C Loxodon Line Breaker +C Miasmic Mummy +C Nimble Pilferer +R Ogre Painbringer +M Overflowing Insight +C Raging Goblin +C Renegade Demon +U Rise from the Grave +C River's Favor +C Rumbling Baloth +C Sanctuary Cat +U Seismic Rupture +U Serra Angel +C Shorecomber Crab +C Shrine Keeper +R Soulhunter Rakshasa C Spiritual Guardian C Tactical Advantage +C Take Vengeance +U Titanic Pelagosaur +C Treetop Warden +U Volcanic Dragon +C Waterknot +C Zephyr Gull From e891e0d31da1574df89c83ab669fffa910833ec7 Mon Sep 17 00:00:00 2001 From: Rob Schnautz Date: Sat, 26 Jan 2019 03:05:49 +0000 Subject: [PATCH 05/54] Add "Coldsnap Theme Decks" edition. --- .../res/editions/Coldsnap Theme Decks.txt | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 forge-gui/res/editions/Coldsnap Theme Decks.txt diff --git a/forge-gui/res/editions/Coldsnap Theme Decks.txt b/forge-gui/res/editions/Coldsnap Theme Decks.txt new file mode 100644 index 00000000000..30a2b05fef7 --- /dev/null +++ b/forge-gui/res/editions/Coldsnap Theme Decks.txt @@ -0,0 +1,74 @@ +[metadata] +Code=CST +Date=2006-07-21 +Name=Coldsnap Theme Decks +MciCode=cst +Type=Other + +[cards] +8 U Kjeldoran Home Guard +9 C Kjeldoran Pride +12 C Reinforcements +16 U Scars of the Veteran +20 C Disenchant +25 U Browse +30 C Lat-Nam's Legacy +34 C Kjeldoran Elite Guard +37 U Storm Elemental +42 U Viscerid Drone +43 U Balduvian Dead +44 C Casting of Bones +51 C Insidious Bookworms +54 C Swords to Plowshares +57 C Phantasmal Fiend +60 U Binding Grasp +61 C Brainstorm +69 C Essence Flare +70 U Death Spark +72 C Gorilla Shaman +73 U Iceberg +84 C Mistfolk +85 U Bounty of the Hunt +86 C Deadly Insect +90 C Portent +100 C Snow Devil +112 C Zuran Spellcaster +114 U Ashen Ghoul +119 C Dark Banishing +120 C Dark Ritual +123 U Drift of the Dead +127 C Gangrenous Zombies +137 C Kjeldoran Dead +142 C Legions of Lim-Dul +161 C Soul Burn +194 C Incinerate +208 U Orcish Healer +210 C Orcish Lumberjack +225 C Aurochs +270 C Tinder Wall +278 C Woolly Mammoths +293 U Giant Trap Door Spider +305 U Wings of Aesthir +310 U Arcum's Weathervane +312 C Barbed Sextant +336 U Skull Catapult +349 U Whalebone Glider +369 L Plains +370 L Plains +371 L Plains +372 L Island +373 L Island +374 L Island +375 L Swamp +376 L Swamp +377 L Swamp +378 L Mountain +379 L Mountain +380 L Mountain +381 L Forest +382 L Forest +383 L Forest + +[tokens] +w_0_1_deserter +br_3_1_graveborn_haste From 30607291fc1dcd7230f21fcdf7d624469363c5c9 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Thu, 31 Jan 2019 19:50:57 -0500 Subject: [PATCH 06/54] optimize redisplay of floating card areas --- .../forge/view/arcane/CardPanelContainer.java | 2 +- .../forge/view/arcane/FloatingCardArea.java | 51 ++++++++++++++---- .../java/forge/view/arcane/FloatingZone.java | 35 +------------ .../java/forge/view/arcane/ListCardArea.java | 52 +------------------ .../control/FControlGameEventHandler.java | 15 ++++-- 5 files changed, 58 insertions(+), 97 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java index 45c9c1780fd..b9f08c4cebf 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java @@ -325,7 +325,7 @@ public abstract class CardPanelContainer extends SkinnedPanel { for (final CardPanel cardPanel : cardPanels) { this.add(cardPanel); } - this.doLayout(); + //pfps the validate just below will do the layout, so don't do it here this.doLayout(); this.invalidate(); this.getParent().validate(); this.repaint(); diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java index a19d4033c8f..bacbcd9d0c3 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java @@ -19,6 +19,7 @@ package forge.view.arcane; import java.awt.Point; import java.awt.Rectangle; +import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; @@ -52,7 +53,6 @@ public abstract class FloatingCardArea extends CardArea { protected FPref locPref; protected boolean hasBeenShown, locLoaded; - protected abstract FDialog getWindow(); protected abstract Iterable getCards(); protected FloatingCardArea(final CMatchUI matchUI) { @@ -71,11 +71,14 @@ public abstract class FloatingCardArea extends CardArea { onShow(); getWindow().setFocusableWindowState(false); // should probably do this earlier getWindow().setVisible(false); + getWindow().dispose(); //pfps so that old content does not show up } protected void showOrHideWindow() { - onShow(); - getWindow().setFocusableWindowState(false); // should probably do this earlier - getWindow().setVisible(!getWindow().isVisible()); + if (getWindow().isVisible()) { + hideWindow(); + } else { + showWindow(); + } } protected void onShow() { if (!hasBeenShown) { @@ -88,6 +91,35 @@ public abstract class FloatingCardArea extends CardArea { } } + @SuppressWarnings("serial") + protected final FDialog window = new FDialog(false, true, "0") { + @Override + public void setLocationRelativeTo(Component c) { + if (hasBeenShown || locLoaded) { return; } + super.setLocationRelativeTo(c); + } + @Override + public void setVisible(boolean b0) { + if (isVisible() == b0) { return; } + if (!b0 && hasBeenShown && locPref != null) { + //update preference before hiding window, as otherwise its location will be 0,0 + prefs.setPref(locPref, + getX() + COORD_DELIM + getY() + COORD_DELIM + + getWidth() + COORD_DELIM + getHeight()); + //don't call prefs.save(), instead allowing them to be saved when match ends + } + if (b0) { + doRefresh(); // force a refresh before showing to pick up any changes when hidden + hasBeenShown = true; + } + super.setVisible(b0); + } + }; + + protected FDialog getWindow() { + return window; + } + protected void loadLocation() { if (locPref != null) { String value = prefs.getPref(locPref); @@ -165,11 +197,12 @@ public abstract class FloatingCardArea extends CardArea { setCardPanels(cardPanels); getWindow().setTitle(String.format(title, cardPanels.size())); - //if window had cards and now doesn't, hide window - //(e.g. cast final card from Flashback zone) - if (hadCardPanels && cardPanels.size() == 0) { - getWindow().setVisible(false); - } + //pfps - rather suspect, so commented out for now + // //if window had cards and now doesn't, hide window + // //(e.g. cast final card from Flashback zone) + // if (hadCardPanels && cardPanels.size() == 0) { + // getWindow().setVisible(false); + // } } @Override diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java index 616a7cce38c..bef56091f8e 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java @@ -17,11 +17,11 @@ */ package forge.view.arcane; -import java.awt.Component; import java.util.HashMap; import java.util.Map; import javax.swing.ScrollPaneConstants; +import javax.swing.WindowConstants; import forge.assets.FSkinProp; import forge.game.card.CardView; @@ -31,9 +31,7 @@ import forge.properties.ForgePreferences.FPref; import forge.screens.match.CMatchUI; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; -//import forge.util.collect.FCollectionView; import forge.util.Lang; -import forge.view.FDialog; public class FloatingZone extends FloatingCardArea { private static final long serialVersionUID = 1927906492186378596L; @@ -103,36 +101,6 @@ public class FloatingZone extends FloatingCardArea { private final ZoneType zone; private PlayerView player; - @SuppressWarnings("serial") - private final FDialog window = new FDialog(false, true, "0") { - @Override - public void setLocationRelativeTo(Component c) { - //don't change location this way if dialog has already been shown or location was loaded from preferences - if (hasBeenShown || locLoaded) { return; } - super.setLocationRelativeTo(c); - } - - @Override - public void setVisible(boolean b0) { - if (isVisible() == b0) { return; } - if (!b0 && hasBeenShown && locPref != null) { - //update preference before hiding window, as otherwise its location will be 0,0 - prefs.setPref(locPref, - getX() + COORD_DELIM + getY() + COORD_DELIM + - getWidth() + COORD_DELIM + getHeight()); - //don't call prefs.save(), instead allowing them to be saved when match ends - } - super.setVisible(b0); - if (b0) { - refresh(); - hasBeenShown = true; - } - } - }; - - protected FDialog getWindow() { - return window; - } protected Iterable getCards() { return player.getCards(zone); } @@ -140,6 +108,7 @@ public class FloatingZone extends FloatingCardArea { private FloatingZone(final CMatchUI matchUI, final PlayerView player0, final ZoneType zone0) { super(matchUI, new FScrollPane(false, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER)); window.add(getScrollPane(), "grow, push"); + window.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); //pfps so that old content does not reappear? getScrollPane().setViewportView(this); setOpaque(false); switch (zone0) { diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/ListCardArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/ListCardArea.java index 44a9cb1e124..7724bdeae25 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/ListCardArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/ListCardArea.java @@ -17,7 +17,6 @@ package forge.view.arcane; import java.awt.BorderLayout; -import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; @@ -29,7 +28,6 @@ import java.util.List; import forge.game.card.CardView; import forge.screens.match.CMatchUI; import forge.view.arcane.util.CardPanelMouseAdapter; -import forge.view.FDialog; import forge.toolbox.FButton; @@ -50,6 +48,7 @@ public class ListCardArea extends FloatingCardArea { private ListCardArea(final CMatchUI matchUI) { super(matchUI); window.add(getScrollPane(),"grow, push"); + window.setModal(true); getScrollPane().setViewportView(this); doneButton = new FButton("Done"); doneButton.addActionListener(new ActionListener() { @@ -77,7 +76,6 @@ public class ListCardArea extends FloatingCardArea { storedArea.toAnywhere = toAnywhere0; storedArea.setDragEnabled(true); storedArea.setVertical(true); - storedArea.doRefresh(); storedArea.showWindow(); return storedArea; } @@ -107,36 +105,6 @@ public class ListCardArea extends FloatingCardArea { return cardList; } - @SuppressWarnings("serial") - protected final FDialog window = new FDialog(true, true, "0") { - @Override - public void setLocationRelativeTo(Component c) { - if (hasBeenShown || locLoaded) { return; } - super.setLocationRelativeTo(c); - } - @Override - public void setVisible(boolean b0) { - if (isVisible() == b0) { return; } - if (!b0 && hasBeenShown && locPref != null) { - //update preference before hiding window, as otherwise its location will be 0,0 - prefs.setPref(locPref, - getX() + COORD_DELIM + getY() + COORD_DELIM + - getWidth() + COORD_DELIM + getHeight()); - //don't call prefs.save(), instead allowing them to be saved when match ends - } - super.setVisible(b0); - if (b0) { - refresh(); - hasBeenShown = true; - } - } - }; - - @Override - protected FDialog getWindow() { - return window; - } - @Override protected void showWindow() { onShow(); @@ -146,8 +114,8 @@ public class ListCardArea extends FloatingCardArea { @Override protected void onShow() { + super.onShow(); if (!hasBeenShown) { - loadLocation(); this.addCardPanelMouseListener(new CardPanelMouseAdapter() { @Override public void mouseDragEnd(final CardPanel dragPanel, final MouseEvent evt) { @@ -208,22 +176,6 @@ public class ListCardArea extends FloatingCardArea { refresh(); } - // @Override - // protected void refresh() { - // doRefresh(); - // } - - @Override - public void doLayout() { - // if (window.isResizing()) { - // //delay layout slightly to reduce flicker during window resize - // layoutTimer.restart(); - // } - //else { - finishDoLayout(); - //} - } - // move to beginning of list if allowable else to beginning of bottom if allowable @Override public final void mouseLeftClicked(final CardPanel panel, final MouseEvent evt) { diff --git a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java index 1830dacd305..da5a29133dd 100644 --- a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java +++ b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java @@ -332,8 +332,12 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base { @Override public Void visit(final GameEventCardChangeZone event) { - updateZone(event.from); - return updateZone(event.to); + //pfps the change to the zones have already been performed with add and remove calls + // this is only for playing a sound + // updateZone(event.from); + //return updateZone(event.to); + return processEvent(); + } @Override @@ -355,7 +359,10 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base { @Override public Void visit(final GameEventShuffle event) { - return updateZone(event.player.getZone(ZoneType.Library)); + //pfps the change to the library has already been performed by a setCards call + // this is only for playing a sound + // return updateZone(event.player.getZone(ZoneType.Library)); + return processEvent(); } @Override @@ -377,4 +384,4 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base { public Void visit(final GameEventPlayerCounters event) { return processPlayer(event.receiver, livesUpdate); } -} \ No newline at end of file +} From ef6e09d4c4c70b56b2c7bf40966bc34a8901366c Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Fri, 1 Feb 2019 03:12:45 +0000 Subject: [PATCH 07/54] Update fireblade_artist.txt --- forge-gui/res/cardsfolder/f/fireblade_artist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/cardsfolder/f/fireblade_artist.txt b/forge-gui/res/cardsfolder/f/fireblade_artist.txt index c2adafe9cb5..7db40c84232 100644 --- a/forge-gui/res/cardsfolder/f/fireblade_artist.txt +++ b/forge-gui/res/cardsfolder/f/fireblade_artist.txt @@ -8,4 +8,5 @@ SVar:TrigSacrifice:DB$ Sacrifice | Optional$ True | SacValid$ Creature | Amount$ SVar:TrigImmediate:DB$ ImmediateTrigger | Execute$ TrigDealDamage | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ GE1 | TriggerDescription$ When you do, CARDNAME deals 2 damage to target opponent or planeswalker. SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Opponent,Planeswalker | TgtPrompt$ Select target opponent or planeswalker | NumDmg$ 2 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +AI:RemoveDeck:All Oracle:Haste\nAt the beginning of your upkeep, you may sacrifice a creature. When you do, Fireblade Artist deals 2 damage to target opponent or planeswalker. From 60d5afe9a2b2d8ae01eb8ecec3a0ee483f084dc4 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Fri, 1 Feb 2019 04:02:15 +0000 Subject: [PATCH 08/54] Update eyes_everywhere.txt --- forge-gui/res/cardsfolder/e/eyes_everywhere.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/e/eyes_everywhere.txt b/forge-gui/res/cardsfolder/e/eyes_everywhere.txt index eced00e2941..d0671800939 100644 --- a/forge-gui/res/cardsfolder/e/eyes_everywhere.txt +++ b/forge-gui/res/cardsfolder/e/eyes_everywhere.txt @@ -3,5 +3,5 @@ ManaCost:2 U Types:Enchantment T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigScry | TriggerDescription$ At the beginning of your upkeep, scry 1. SVar:TrigScry:DB$ Scry | ScryNum$ 1 -A:AB$ ExchangeControl | Cost$ 2 U | Defined$ Self | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | SorcerySpeed$ True | SpellDescription$ Exchange control of CARDNAME and target nonland permanent. Activate this ability only any time you could cast a sorcery. +A:AB$ ExchangeControl | Cost$ 5 U | Defined$ Self | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | SorcerySpeed$ True | SpellDescription$ Exchange control of CARDNAME and target nonland permanent. Activate this ability only any time you could cast a sorcery. Oracle:At the beginning of your upkeep, scry 1.\n{5}{U}: Exchange control of Eyes Everywhere and target nonland permanent. Activate this ability only any time you could cast a sorcery. From 5bce46426897096703bf1f1d9ee631c0b663a1c7 Mon Sep 17 00:00:00 2001 From: Sol Date: Fri, 1 Feb 2019 04:19:56 +0000 Subject: [PATCH 09/54] Update plaza_of_harmony.txt --- forge-gui/res/cardsfolder/p/plaza_of_harmony.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/p/plaza_of_harmony.txt b/forge-gui/res/cardsfolder/p/plaza_of_harmony.txt index fed983c4ae9..2cad3ae78e7 100644 --- a/forge-gui/res/cardsfolder/p/plaza_of_harmony.txt +++ b/forge-gui/res/cardsfolder/p/plaza_of_harmony.txt @@ -1,5 +1,5 @@ Name:Plaza of Harmony -ManaCost: +ManaCost:no cost Types:Land T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | IsPresent$ Gate.YouCtrl | PresentCompare$ GE2 | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, if you control two or more Gates, gain 3 life. SVar:TrigGainLife:DB$ GainLife | LifeAmount$ 3 From ac51d4170f4144b793bf222a0d50e965a14acc0e Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Fri, 1 Feb 2019 07:37:01 +0000 Subject: [PATCH 10/54] Update rumbling_ruin.txt --- forge-gui/res/cardsfolder/r/rumbling_ruin.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/forge-gui/res/cardsfolder/r/rumbling_ruin.txt b/forge-gui/res/cardsfolder/r/rumbling_ruin.txt index 36747d0c27c..e936c603206 100644 --- a/forge-gui/res/cardsfolder/r/rumbling_ruin.txt +++ b/forge-gui/res/cardsfolder/r/rumbling_ruin.txt @@ -2,8 +2,10 @@ Name:Rumbling Ruin ManaCost:5 R Types:Creature Elemental PT:6/6 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEffect | TriggerDescription$ When CARDNAME enters the battlefield, your number of +1/+1 counters on creatures you control. Creatures your opponents control with power less than or equal to that number can't block this turn. -SVar:TrigEffect:DB$Effect | Name$ CARDNAME Effect | StaticAbilities$ KWPump -SVar:KWPump:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.YouCtrl+powerLTY | AddHiddenKeyword$ CARDNAME can't block. | Description$ Creatures your opponents control with power less than or equal to that number can't block this turn. -# TODO: -- THIS SCRIPT NEEDS FIXING (doesn't have the count var) -- +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigStore | TriggerDescription$ When CARDNAME enters the battlefield, count the number of +1/+1 counters on creatures you control. Creatures your opponents control with power less than or equal to that number can't block this turn. +SVar:TrigStore:DB$ StoreSVar | SVar$ X | Type$ CountSVar | Expression$ Y | References$ Y | SubAbility$ TrigEffect +SVar:TrigEffect:DB$Effect | Name$ Rumbling Ruin Effect | StaticAbilities$ KWPump | SVars$ X | SpellDescription$ Creatures your opponents control with power less than or equal to that number can't block this turn. +SVar:KWPump:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Battlefield | Affected$ Creature.OppCtrl+powerLEX | References$ X | AddHiddenKeyword$ CARDNAME can't block. | Description$ Creatures your opponents control with power less than or equal to that number can't block this turn. +SVar:X:Number$0 +SVar:Y:Count$TotalCounters_P1P1_Creature.YouCtrl Oracle:When Rumbling Ruin enters the battlefield, count the number of +1/+1 counters on creatures you control. Creatures your opponents control with power less than or equal to that number can't block this turn. From 02e118b2e2babec96fc00b1aff3ef9f76caa6702 Mon Sep 17 00:00:00 2001 From: austinio7116 Date: Fri, 1 Feb 2019 06:32:27 +0000 Subject: [PATCH 11/54] RNA deckgen data (cherry picked from commit eb7a6da) (cherry picked from commit 32e02e7) --- forge-gui/res/deckgendecks/Standard.lda.dat | Bin 115814 -> 233404 bytes forge-gui/res/deckgendecks/Standard.raw.dat | Bin 103804 -> 234819 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/forge-gui/res/deckgendecks/Standard.lda.dat b/forge-gui/res/deckgendecks/Standard.lda.dat index 6137e08e5a12799919fcbcadf23b959a82c09289..9bd670e451030ce576c7e84a422138ff5ac39c0b 100644 GIT binary patch literal 233404 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

b#((rBNIr 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 Z3=-u+O9S0b%cz|;vG-e4EJo-t{|Ci*DS7|^ literal 103804 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 Date: Fri, 1 Feb 2019 16:34:43 +0000 Subject: [PATCH 12/54] Light up the stage: Fix script with Commune with Lava --- forge-gui/res/cardsfolder/l/light_up_the_stage.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/forge-gui/res/cardsfolder/l/light_up_the_stage.txt b/forge-gui/res/cardsfolder/l/light_up_the_stage.txt index 21a35b29f95..53faab4f3a8 100644 --- a/forge-gui/res/cardsfolder/l/light_up_the_stage.txt +++ b/forge-gui/res/cardsfolder/l/light_up_the_stage.txt @@ -2,8 +2,8 @@ Name:Light Up the Stage ManaCost:2 R Types:Sorcery K:Spectacle:R -A:SP$ Mill | Cost$ 2 R | Defined$ You | NumCards$ 2 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBStoreTurn | SpellDescription$ Exile the top two cards of your library. Until the end of your next turn, you may play those cards. -SVar:DBStoreTurn:DB$ StoreSVar | SVar$ CurrentTurn | Type$ Count | Expression$ YourTurns | SubAbility$ DBMayBePlay -SVar:DBMayBePlay:DB$ Effect | StaticAbilities$ STCommuned | Duration$ Permanent | RememberObjects$ Remembered | Triggers$ TrigDuration | SVars$ DBDuration,EndDuration,CurrentTurn | SubAbility$ DBCleanup | ExileOnMoved$ Exile +A:SP$ Mill | Cost$ 2 R | Defined$ You | NumCards$ 2 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBMayBePlay | SpellDescription$ Exile the top two cards of your library. Until the end of your next turn, you may play those cards. +SVar:DBMayBePlay:DB$ Effect | StaticAbilities$ STCommuned | Duration$ UntilTheEndOfYourNextTurn | RememberObjects$ Remembered | ForgetOnMoved$ Exile SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -Oracle:Spectacle {R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.)\nExile the top two cards of your library. Until the end of your next turn, you may play those cards. +SVar:STCommuned:Mode$ Continuous | Affected$ Card.IsRemembered | EffectZone$ Command | AffectedZone$ Exile | MayPlay$ True | Description$ Until the end of your next turn, you may play those cards. +Oracle:Spectacle {R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.)\nExile the top two cards of your library. Until the end of your next turn, you may play those cards. \ No newline at end of file From 05538bfba2fc29ed8320926d05d4b020c479034c Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Fri, 1 Feb 2019 17:10:37 +0000 Subject: [PATCH 13/54] Update captive_audience.txt --- .../res/cardsfolder/c/captive_audience.txt | 32 +++++++------------ 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/forge-gui/res/cardsfolder/c/captive_audience.txt b/forge-gui/res/cardsfolder/c/captive_audience.txt index d5eeb9922a9..c4e0254c993 100644 --- a/forge-gui/res/cardsfolder/c/captive_audience.txt +++ b/forge-gui/res/cardsfolder/c/captive_audience.txt @@ -1,26 +1,18 @@ -# TODO: -- THIS SCRIPT NEEDS REWRITING (non-functional) -- Name:Captive Audience ManaCost:5 B R Types:Enchantment -K:CARDNAME enters the battlefield under the control of your choice. -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of your upkeep, choose one that hasn't been chosen -PB/-greater for each opponent of your choice. -SVar:TrigChoose:DB$ ChooseCard | Defined$ You | Choices$ Player.Opponent | Mandatory$ True | SubAbility$ DBChangeZone -SVar:DBChangeZone:DB$ ChangeZone | Defined$ Self | Origin$ All | Destination$ Battlefield | GainControl$ True -SVar:RemRandomDeck:True -K:CARDNAME enters the battlefield under the control of your choice. -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of your upkeep, choose one that hasn't been chosen -PB/-greater for each opponent of your choice. -SVar:TrigChoose:DB$ ChooseCard | Defined$ You | Choices$ Player.Opponent | Mandatory$ True | SubAbility$ DBChangeZone -SVar:DBChangeZone:DB$ ChangeZone | Defined$ Self | Origin$ All | Destination$ Battlefield | GainControl$ True -SVar:RemRandomDeck:True -K:CARDNAME enters the battlefield under the control of your choice. -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of your upkeep, choose one that hasn't been chosen -PB/-greater for each opponent of your choice. -SVar:TrigChoose:DB$ ChooseCard | Defined$ You | Choices$ Player.Opponent | Mandatory$ True | SubAbility$ DBChangeZone -SVar:DBChangeZone:DB$ ChangeZone | Defined$ Self | Origin$ All | Destination$ Battlefield | GainControl$ True -SVar:RemRandomDeck:True -K:CARDNAME enters the battlefield under the control of your choice. -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of your upkeep, choose one that hasn't been chosen -PB/-greater for each opponent of your choice. -SVar:TrigChoose:DB$ ChooseCard | Defined$ You | Choices$ Player.Opponent | Mandatory$ True | SubAbility$ DBChangeZone -SVar:DBChangeZone:DB$ ChangeZone | Defined$ Self | Origin$ All | Destination$ Battlefield | GainControl$ True +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoose | Static$ True | TriggerDescription$ CARDNAME enters the battlefield under the control of an opponent of your choice. +SVar:TrigChoose:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent to give control to: | AILogic$ Curse | SubAbility$ DBDonate | SpellDescription$ CARDNAME enters the battlefield under the control of an opponent of your choice. +SVar:DBDonate:DB$ GainControl | Defined$ Self | NewController$ Player.Chosen | SubAbility$ ClearRemembered +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigCharm | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, choose one that hasn't been chosen +SVar:TrigCharm:DB$ Charm | Choices$ LifePact,DiscardPact,ZombiesPact | ChoiceRestriction$ NotRemembered | RememberChoice$ True | CharmNum$ 1 +SVar:LifePact:DB$ SetLife | Defined$ You | LifeAmount$ 4 | ChoiceName$ LifePact | SpellDescription$ Your life total becomes 4. +SVar:DiscardPact:DB$ Discard | Defined$ You | Mode$ Hand | ChoiceName$ DiscardPact | SpellDescription$ Discard your hand. +SVar:ZombiesPact:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ MakeZombies | ChoiceName$ ZombiesPact | SpellDescription$ Each opponent creates five 2/2 black Zombie creature tokens. +SVar:MakeZombies:DB$ Token | TokenImage$ b 2 2 zombie rna | TokenAmount$ 5 | TokenName$ Zombie | TokenTypes$ Creature,Zombie | TokenOwner$ Remembered | TokenColors$ black | TokenPower$ 2 | TokenToughness$ 2 | SpellDescription$ Each opponent creates five 2/2 black Zombie creature tokens. +# Clear RememberChoice just in case it's not getting cleared by Zone changes +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ ClearRemembered | Static$ True +SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True SVar:RemRandomDeck:True DeckHas:Ability$Token Oracle:Captive Audience enters the battlefield under the control of an opponent of your choice.\nAt the beginning of your upkeep, choose one that hasn't been chosen —\n• Your life total becomes 4.\n• Discard your hand.\n• Each opponent creates five 2/2 black Zombie creature tokens. From 4c7c2ee1b5afbf2a59e6584bd7031d176ee2259a Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Fri, 1 Feb 2019 17:20:23 +0000 Subject: [PATCH 14/54] User reported Locust God's return trigger wasn't working on Resolution, but that it does work for Scarab God. Changed one word in Locust God's trigger to match Scarab God's --- forge-gui/res/cardsfolder/t/the_locust_god.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/t/the_locust_god.txt b/forge-gui/res/cardsfolder/t/the_locust_god.txt index a7366e5e3ec..014c5cc6f5e 100644 --- a/forge-gui/res/cardsfolder/t/the_locust_god.txt +++ b/forge-gui/res/cardsfolder/t/the_locust_god.txt @@ -8,7 +8,7 @@ SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenName$ Insect | TokenTypes$ Crea A:AB$ Draw | Cost$ 2 U R | NumCards$ 1 | SpellDescription$ Draw a card, then discard a card. | SubAbility$ DBDiscard SVar:DBDiscard:DB$Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | TriggerController$ TriggeredCardController | Execute$ TrigDelay | TriggerDescription$ When CARDNAME dies, return it to its owner's hand at the beginning of the next end step. -SVar:TrigDelay:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | RememberObjects$ Self | Execute$ TrigReturn | SpellDescription$ Return that creature to its owner's hand at the beginning of the next end step. +SVar:TrigDelay:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | RememberObjects$ TriggeredCard | Execute$ TrigReturn | SpellDescription$ Return that creature to its owner's hand at the beginning of the next end step. SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRemembered | Origin$ Graveyard | Destination$ Hand DeckHas:Ability$Token SVar:Picture:http://www.wizards.com/global/images/magic/general/the_locust_god.jpg From 7843004c40a681ae6a0cb37ea3623e93889f861b Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Fri, 1 Feb 2019 18:12:25 +0000 Subject: [PATCH 15/54] Fixed Ferocious condition --- forge-gui/res/cardsfolder/f/flames_of_the_raze_boar.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/f/flames_of_the_raze_boar.txt b/forge-gui/res/cardsfolder/f/flames_of_the_raze_boar.txt index b34007dee23..911e8b4d586 100644 --- a/forge-gui/res/cardsfolder/f/flames_of_the_raze_boar.txt +++ b/forge-gui/res/cardsfolder/f/flames_of_the_raze_boar.txt @@ -2,6 +2,7 @@ Name:Flames of the Raze-Boar ManaCost:5 R Types:Instant A:SP$ DealDamage | Cost$ 5 R | NumDmg$ 4 | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals 4 damage to target creature an opponent controls. Then CARDNAME deals 2 damage to each other creature that player controls if you control a creature with power 4 or greater. -SVar:DBDealDamage:DB$ DamageAll | NumDmg$ 2 | ValidCards$ Creature.attacking+YouCtrl+powerGE4 | SubAbility$ DBCleanup +SVar:DBDealDamage:DB$ DamageAll | NumDmg$ 2 | ValidCards$ Creature.ControlledBy TargetedOrController | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X| SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Count$Valid Creature.powerGE4+YouCtrl Oracle:Flames of the Raze-Boar deals 4 damage to target creature an opponent controls. Then Flames of the Raze-Boar deals 2 damage to each other creature that player controls if you control a creature with power 4 or greater. From 9cf78d0eb4fdb436a0fe209832f8e09b4daaccdd Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Fri, 1 Feb 2019 18:18:04 +0000 Subject: [PATCH 16/54] Update deputy_of_detention.txt --- forge-gui/res/cardsfolder/d/deputy_of_detention.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/d/deputy_of_detention.txt b/forge-gui/res/cardsfolder/d/deputy_of_detention.txt index a29ca9f4bb5..300423f09a3 100644 --- a/forge-gui/res/cardsfolder/d/deputy_of_detention.txt +++ b/forge-gui/res/cardsfolder/d/deputy_of_detention.txt @@ -4,7 +4,7 @@ Types:Creature Vedalken Wizard PT:1/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target nonland permanent an opponent controls and all other nonland permanents that player controls with the same name as that permanent until CARDNAME leaves the battlefield. SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | RememberTargets$ True | SubAbility$ DBChangeZoneAll -SVar:DBChangeZoneAll:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Remembered.sameName+OppCtrl | RememberChanged$ True | SubAbility$ DBEffect +SVar:DBChangeZoneAll:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Remembered.sameName+ControlledBy TargetedOrController | RememberChanged$ True | SubAbility$ DBEffect SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Remembered | ImprintCards$ Self | SVars$ TrigReturn,ExileSelf | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile | SubAbility$ DBCleanup SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ Those permanents are exiled until EFFECTSOURCE leaves the battlefield SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf From 419219557937083477f3e91457216aee71bd2123 Mon Sep 17 00:00:00 2001 From: Sol Date: Fri, 1 Feb 2019 19:11:15 +0000 Subject: [PATCH 17/54] Update carnival_carnage.txt --- forge-gui/res/cardsfolder/c/carnival_carnage.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/c/carnival_carnage.txt b/forge-gui/res/cardsfolder/c/carnival_carnage.txt index ff4c52ed297..f991a3e2844 100644 --- a/forge-gui/res/cardsfolder/c/carnival_carnage.txt +++ b/forge-gui/res/cardsfolder/c/carnival_carnage.txt @@ -2,7 +2,7 @@ Name:Carnival ManaCost:BR AlternateMode: Split Types:Instant -A:SP$ DealDamage | Cost$ BR BR | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ 1 | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals 1 damage to target creature or planeswalker and 1 damage to that permanent’s controller. +A:SP$ DealDamage | Cost$ BR | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ 1 | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals 1 damage to target creature or planeswalker and 1 damage to that permanent’s controller. SVar:DBDealDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ 1 Oracle:Carnival deals 1 damage to target creature or planeswalker and 1 damage to that permanent’s controller. From 0d4310382edc3cdd70600d730a23593f1d220354 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Fri, 1 Feb 2019 20:10:21 +0000 Subject: [PATCH 18/54] Update rakdos_the_showstopper.txt using DestroyAll --- .../res/cardsfolder/r/rakdos_the_showstopper.txt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/forge-gui/res/cardsfolder/r/rakdos_the_showstopper.txt b/forge-gui/res/cardsfolder/r/rakdos_the_showstopper.txt index a5f7e8ef7c9..41ac03324cc 100644 --- a/forge-gui/res/cardsfolder/r/rakdos_the_showstopper.txt +++ b/forge-gui/res/cardsfolder/r/rakdos_the_showstopper.txt @@ -4,8 +4,10 @@ Types:Legendary Creature Demon PT:6/6 K:Flying K:Trample -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ EachCr | TriggerDescription$ When CARDNAME enters the battlefield, flip a coin for each creature that isn't a Demon, Devil, or Imp. Destroy each creature whose coin comes up tails. -SVar:EachCr:DB$ RepeatEach | RepeatCards$ Creature.nonDemon+nonDevil+nonImp | Zone$ Battlefield | RepeatSubAbility$ TrigFlip -SVar:TrigFlip:DB$ FlipACoin | NoCall$ True | TailsSubAbility$ DBDestroy -SVar:DBDestroy:DB$ Destroy | Defined$ Remembered -Oracle:Flying, trample\nWhen Rakdos, the Showstopper enters the battlefield, flip a coin for each creature that isn't a Demon, Devil, or Imp. Destroy each creature whose coin comes up tails. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigFlip | TriggerDescription$ When CARDNAME enters the battlefield, flip a coin for each creature that isn't a Demon, Devil, or Imp. Destroy each creature whose coin comes up tails. +SVar:TrigFlip:DB$ RepeatEach | RepeatCards$ Creature.nonDemon+nonDevil+nonImp | Zone$ Battlefield | UseImprinted$ True | RepeatSubAbility$ DBFlip | SubAbility$ DBDestroy +SVar:DBFlip:DB$ FlipACoin | NoCall$ True | TailsSubAbility$ DBRememberCreature +SVar:DBRememberCreature:DB$ Pump | Defined$ Imprinted | RememberObjects$ Imprinted +SVar:DBDestroy:DB$ DestroyAll | ValidCards$ Creature.IsRemembered | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True +Oracle:Flying, trample\nWhen Rakdos, the Showstopper enters the battlefield, flip a coin for each creature that isn't a Demon, Devil, or Imp. Destroy each creature whose coin comes up tails. \ No newline at end of file From ea8c6630e00779133266305942071cacf78422b0 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Fri, 1 Feb 2019 23:31:09 +0000 Subject: [PATCH 19/54] Update cry_of_the_carnarium.txt --- forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt b/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt index 4d9a4e811f5..c3753c455ec 100644 --- a/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt +++ b/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt @@ -1,6 +1,6 @@ Name:Cry of the Carnarium ManaCost:1 B B Types:Sorcery -A:SP$ PumpAll | Cost$ 1 B B | ValidCards$ Creature | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True | SubAbility$ DBCopy | SpellDescription$ All creatures get -2/-2 until end of turn. Exile all creature cards in all graveyards that were put there from the battlefield this turn. If a creature would die this turn, exile it instead. -SVar:Exile:DB$ ChangeZoneAll | Origin$ Graveyard | Destination$ Exile | ChangeType$ Creature | Mandatory$ True +A:SP$ PumpAll | Cost$ 1 B B | ValidCards$ Creature | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True | ReplaceDyingValid$ Creature | SubAbility$ ExileSomeCreatures | SpellDescription$ All creatures get -2/-2 until end of turn. Exile all creature cards in all graveyards that were put there from the battlefield this turn. If a creature would die this turn, exile it instead. +SVar:ExileSomeCreatures:DB$ ChangeZone | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Creature.nonToken | Origin$ Graveyard | Destination$ Exile | SpellDescription$ Exile all creature cards in all graveyards that were put there from the battlefield this turn. Oracle:All creatures get -2/-2 until end of turn. Exile all creature cards in all graveyards that were put there from the battlefield this turn. If a creature would die this turn, exile it instead. From eda0a490976e82252b66fc4207938315c291a0d1 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Sat, 2 Feb 2019 00:14:16 +0000 Subject: [PATCH 20/54] Update token image parameter for Domri, Chaos Bringer --- forge-gui/res/cardsfolder/d/domri_chaos_bringer.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/d/domri_chaos_bringer.txt b/forge-gui/res/cardsfolder/d/domri_chaos_bringer.txt index 74ee094865e..feb76cc25de 100644 --- a/forge-gui/res/cardsfolder/d/domri_chaos_bringer.txt +++ b/forge-gui/res/cardsfolder/d/domri_chaos_bringer.txt @@ -6,5 +6,5 @@ A:AB$ Mana | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Produced$ Combo A:AB$ Dig | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ForceRevealToController$ True | DigNum$ 4 | ChangeNum$ 2 | Optional$ True | ChangeValid$ Creature | RestRandomOrder$ True | SpellDescription$ Look at the top four cards of your library. You may reveal up to two creature cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order. A:AB$ Effect | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | Name$ Emblem - Domri, Chaos Bringer | Image$ emblem_domri_chaos_bringer | Triggers$ EffPhase | SVars$ EmblemTrigToken | Duration$ Permanent | SpellDescription$ You get an emblem with “At the beginning of each end step, create a 4/4 red and green Beast creature token with trample.” SVar:EffPhase:Mode$ Phase | Phase$ End of Turn | Execute$ EmblemTrigToken | TriggerDescription$ At the beginning of each end step, create a 4/4 red and green Beast creature token with trample. -SVar:EmblemTrigToken:DB$ Token | TokenOwner$ You | TokenAmount$ 1 | TokenPower$ 4 | TokenToughness$ 4 | TokenColors$ Red,Green | TokenTypes$ Creature,Beast | TokenKeywords$ Trample | TokenImage$ rg 4 4 beast rna +SVar:EmblemTrigToken:DB$ Token | TokenOwner$ You | TokenAmount$ 1 | TokenPower$ 4 | TokenToughness$ 4 | TokenColors$ Red,Green | TokenTypes$ Creature,Beast | TokenKeywords$ Trample | TokenImage$ rg 4 4 beast trample rna Oracle:+1: Add {R} or {G}. If that mana is spent on a creature spell, it gains riot. (It enters the battlefield with your choice of a +1/+1 counter or haste.)\n−3: Look at the top four cards of your library. You may reveal up to two creature cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order.\n−8: You get an emblem with “At the beginning of each end step, create a 4/4 red and green Beast creature token with trample.” From b27f49c4ffd065008a42a53cd20661af7ad307fd Mon Sep 17 00:00:00 2001 From: Blacksmith Date: Sat, 2 Feb 2019 01:58:00 +0000 Subject: [PATCH 21/54] Update README.txt for release --- forge-gui/README.txt | 93 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/forge-gui/README.txt b/forge-gui/README.txt index 11b369846f2..fdd08d9e5c8 100644 --- a/forge-gui/README.txt +++ b/forge-gui/README.txt @@ -1 +1,92 @@ -This file is automatically updated by our release bot on Discord, Blacksmith. It is created from the files present in the 'release-files' directory. Please do not hand-edit this file if using the bot to perform a release, as your changes will be overwritten. \ No newline at end of file +Forge: 02/02/2019 ver 1.6.20 + +18457 cards in total. + + +-------------- +Release Notes: +-------------- + +- New Cards - +Vizkopa Vampire; Vengeant Vampire; Vindictive Vampire; Verity Circle; Zegana, Utopian Speaker; Zhur-Taa Goblin; Kaya, Orzhov Usurper; Knight of the Last Breath; Knight of Sorrows; Kaya's Wrath; Thought Collapse; Tenth District Veteran; Territorial Boar; Teysa Karlov; Theater of Horrors; Trollbred Guardian; Tithe Taker; Thirsting Shade; Tome of the Guildpact; Thrash; Twilight Panther; Tin Street Dodger; The Haunt of Hightower; Titanic Brawl; Cindervines; Combine Guildmage; Carrion Imp; Consecrate; Collision; Code of Constraint; Clear the Stage; Captive Audience; Clamor Shaman; Consign to the Pit; Cavalcade of Calamity; Clear the Mind; Civic Stalwart; Carnival; Catacomb Crocodile; Charging War Boar; Cry of the Carnarium; Coral Commando; Clan Guildmage; Cult Guildmage; Chillbringer; Growth Spiral; Galloping Lizrog; Gruul Locket; Get the Point; Gruul Spellbreaker; Gravel-Hide Goblin; Growth-Chamber Guardian; Gyre Engineer; Glass of the Guildpact; Guardian Project; Grotesque Demise; Gateway Sneak; Ghor-Clan Wrecker; Gates Ablaze; Gutterbones; Goblin Goliath; Grasping Thrull; Goblin Gathering; Gatebreaker Ram; Gruul Beastmaster; Gate Colossus; Windstorm Drake; Wrecking Beast; Watchful Giant; Warrant; Wilderness Reclamation; Wall of Lost Thoughts; Impassioned Orator; Incubation Druid; Inspired Sphinx; Immortal Phoenix; Immolation Shaman; Incubation; Imperious Oligarch; Ill-Gotten Inheritance; Dovin's Automaton; Dovin's Dismissal; Debtors' Transport; Deface; Dovin's Acuity; Drill Bit; Dagger Caster; Dovin, Grand Arbiter; Deputy of Detention; Domri, City Smasher; Dead Revels; Domri's Nodorog; Domri, Chaos Bringer; Dovin, Architect of Law; Depose; Justiciar's Portal; Judith, the Scourge Diva; Angelic Exaltation; Applied Biomancy; Axebane Beast; Aeromunculus; Awaken the Erstwhile; Avatar of Growth; Angler Turtle; Angel of Grace; Azorius Locket; Azorius Skyguard; Arrester's Admonition; Arrester's Zeal; Azorius Knight-Arbiter; Amplifire; Angelic Guardian; Archway Angel; Prying Eyes; Prime Speaker Vannifar; Pteramander; Plaza of Harmony; Pestilent Spirit; Prowling Caracal; Persistent Petitioners; Pitiless Pontiff; Priest of Forgotten Gods; Plague Wight; Precognitive Perception; Rumbling Ruin; Ragefire; Rot Hulk; Rakdos Locket; Repudiate; Ravager Wurm; Rix Maadi Reveler; Rally to Battle; Rakdos Firewheeler; Rakdos Roustabout; Rhythm of the Wild; Rubblebelt Recluse; Rafter Demon; Rubble Reading; Rampage of the Clans; Rampaging Rendhorn; Resolute Watchdog; Rampaging Brontodon; Rubblebelt Runner; Rubble Slinger; Rakdos Trumpeter; Rakdos, the Showstopper; Regenesis; Revival; Lavinia, Azorius Renegade; Lumbering Battlement; Light Up the Stage; Lawmage's Binding; Hero of Precinct One; Haazda Officer; Hydroid Krasis; Humongulus; High Alert; Hackrobat; Noxious Groodion; Nikya of the Old Ways; Seraph of the Scales; Sharktocrab; Swirling Torrent; Summary Judgment; Skitter Eel; Stony Strength; Sphinx of Foresight; Spawn of Mayhem; Sphinx of the Guildpact; Spire Mangler; Skatewing Spy; Sphinx's Insight; Senate Griffin; Spirit of the Spires; Silhana Wayfinder; Spear Spewer; Smelt-Ward Ignus; Senate Guildmage; Skewer the Critics; Syndicate Guildmage; Slimebind; Savage Smash; Sky Tether; Spikewheel Acrobat; Sentinel's Mark; Sagittars' Volley; Saruli Caretaker; Shimmer of Possibility; Scuttlegator; Senate Courier; Sage's Row Savant; Sunder Shaman; Screaming Shield; Skarrgan Hellkite; Scorchmark; Storm Strike; Smothering Tithe; Steeple Creeper; Syndicate Messenger; Sylvan Brushstrider; Simic Locket; Sphinx of New Prahv; Simic Ascendancy; Sauroform Hybrid; Bloodmist Infiltrator; Basilica Bell-Haunt; Burning-Tree Vandal; Biogenic Upgrade; Bankrupt in Blood; Bolrac-Clan Crusher; Benthic Biomancer; Biomancer's Familiar; Bring to Trial; Bedevil; Bedeck; Blade Juggler; Burn Bright; Bladebrand; Biogenic Ooze; Emergency Powers; Electrodominance; Eyes Everywhere; Essence Capture; Elite Arrester; Ethereal Absolution; End-Raze Forerunners; Expose to Daylight; Enraged Ceratok; Undercity Scavenger; Undercity's Embrace; Unbreakable Formation; Orzhov Locket; Open the Gates; Orzhov Racketeers; Orzhov Enforcer; Frenzied Arynx; Faerie Duelist; Footlight Fiend; Fireblade Artist; Frilled Mystic; Flames of the Raze-Boar; Final Payment; Feral Maaka; Font of Agonies; Forbidding Spirit; Ministrant of Obligation; Mirror March; Mesmerizing Benthid; Macabre Mockery; Militant Angel; Mass Manipulation; Quench + +- Desktop GUI - +The Desktop GUI can pop up zones (Library, Graveyard, etc.) allow players to select cards from them when the option UI_SELECT_FROM_CARD_DISPLAYS is set. +The Desktop GUI outlines the selectable cards in many situations. This is not done when playing mana costs. + +- Digging - +Multi-card digging (e.g., for Genesis Wave) is done as a single multiple-card selection instead of a sequence of single-card selections. + +- Game Night - +Support was added for the Game Night box set, including all 10 exclusive cards. + +- AI improvements - +More AI improvements were implemented, hopefully making the game a little more interesting and challenging to play. + +- Bug fixes - +As always, this release of Forge features an assortment of bug fixes and improvements based on user feedback during the previous release run. + +------------- +Known Issues: +------------- + +Known issues are here: https://git.cardforge.org/core-developers/forge/issues + +Feel free to report your own there if you have any. + +------------- +Installation: +------------- + +The Forge archive includes a MANUAL.txt file and we ask that you spend a few minutes reading this file as it contains some information that may prove useful. We do tend to update this file at times and you should quickly read this file and look for new information for each and every new release. Thank you. + +The archive format used for the Forge distribution is ".tar.bz2". There are utilities for Windows, Mac OS and the various *nix's that can be used to extract/decompress these ".tar.bz2" archives. We recommend that you extract/decompress the Forge archive into a new and unused folder. + +Some people use the Windows application 7zip. This utility can be found at http://www.7-zip.org/download.html. Mac users can double click on the archive and the application Archive Utility will launch and extract the archive. Mac users do not need to download a separate utility. + +Once the Forge archive has been decompressed you should then be able to launch Forge by using the included launcher. Launching Forge by double clicking on the forge jar file in the past caused a java heap space error. Forge's memory requirements have increased over time and the launchers increase the java heap space available to Forge. Currently you can launch Forge by double clicking on the forge jar file without a java heap space error but this is likely to change as we add in more sounds, icons, etc. + +- The Mac OS application version - +We haven't been able to distribute the OS X Application version of Forge in sometime. We've recently automated our release tools, and will continue to look in the viability of creating this file now that things are autoamted. + + +- Online Multiplayer - +For local network play you should only need two systems running Forge. One to host and one to join and play. For remote (over the Internet) play you will need to ensure that the port used (36743 by default) is forwarded to the hosting machine. + +-------------------- +Active Contributors: +-------------------- + +Agetian +Austinio7116 +Churrufli +DrDev +excessum +Gos +Hanmac +Indigo Dragon +Jamin Collins +KrazyTheFox +Luke +Marek14 +mcrawford620 +Meerkov +Myrd +nefigah +OgreBattlecruiser +pfps +Seravy +Sirspud +Sloth +slyfox7777777 +Sol +Swordshine +tjtillman +tojammot +torridus +Xyx +Zuchinni + +(Quest icons used created by Teekatas, from his Legendora set http://raindropmemory.deviantart.com) +(Thanks to the XMage team for permission to use their targeting arrows.) +(Thanks to http://www.freesound.org/browse/ for providing some sound files.) \ No newline at end of file From eb3fb9e1ce8a8b642345fc0da8b21382af388f92 Mon Sep 17 00:00:00 2001 From: Blacksmith Date: Sat, 2 Feb 2019 02:00:28 +0000 Subject: [PATCH 22/54] [maven-release-plugin] prepare release forge-1.6.20 --- forge-ai/pom.xml | 2 +- forge-core/pom.xml | 2 +- forge-game/pom.xml | 2 +- forge-gui-android/pom.xml | 2 +- forge-gui-desktop/pom.xml | 2 +- forge-gui-ios/pom.xml | 2 +- forge-gui-mobile-dev/pom.xml | 2 +- forge-gui-mobile/pom.xml | 2 +- forge-gui/pom.xml | 2 +- pom.xml | 4 ++-- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/forge-ai/pom.xml b/forge-ai/pom.xml index 47ed2d96af7..f49be94345d 100644 --- a/forge-ai/pom.xml +++ b/forge-ai/pom.xml @@ -6,7 +6,7 @@ forge forge - 1.6.20-SNAPSHOT + 1.6.20 forge-ai diff --git a/forge-core/pom.xml b/forge-core/pom.xml index 092a40ddec6..7a1446bbb84 100644 --- a/forge-core/pom.xml +++ b/forge-core/pom.xml @@ -6,7 +6,7 @@ forge forge - 1.6.20-SNAPSHOT + 1.6.20 forge-core diff --git a/forge-game/pom.xml b/forge-game/pom.xml index 52604f41da9..0c740f4662f 100644 --- a/forge-game/pom.xml +++ b/forge-game/pom.xml @@ -6,7 +6,7 @@ forge forge - 1.6.20-SNAPSHOT + 1.6.20 forge-game diff --git a/forge-gui-android/pom.xml b/forge-gui-android/pom.xml index 4f266d3efc9..46b30fb54f2 100644 --- a/forge-gui-android/pom.xml +++ b/forge-gui-android/pom.xml @@ -19,7 +19,7 @@ forge forge - 1.6.20-SNAPSHOT + 1.6.20 forge-gui-android diff --git a/forge-gui-desktop/pom.xml b/forge-gui-desktop/pom.xml index f9529e775c5..ef66e6f1fc2 100644 --- a/forge-gui-desktop/pom.xml +++ b/forge-gui-desktop/pom.xml @@ -4,7 +4,7 @@ forge forge - 1.6.20-SNAPSHOT + 1.6.20 forge-gui-desktop diff --git a/forge-gui-ios/pom.xml b/forge-gui-ios/pom.xml index 29d996ee1b3..71aac4ac0eb 100644 --- a/forge-gui-ios/pom.xml +++ b/forge-gui-ios/pom.xml @@ -12,7 +12,7 @@ forge forge - 1.6.20-SNAPSHOT + 1.6.20 forge-gui-ios diff --git a/forge-gui-mobile-dev/pom.xml b/forge-gui-mobile-dev/pom.xml index 315100b4a43..69fd0568aae 100644 --- a/forge-gui-mobile-dev/pom.xml +++ b/forge-gui-mobile-dev/pom.xml @@ -4,7 +4,7 @@ forge forge - 1.6.20-SNAPSHOT + 1.6.20 forge-gui-mobile-dev diff --git a/forge-gui-mobile/pom.xml b/forge-gui-mobile/pom.xml index 7a125f1368d..1281abd3c70 100644 --- a/forge-gui-mobile/pom.xml +++ b/forge-gui-mobile/pom.xml @@ -4,7 +4,7 @@ forge forge - 1.6.20-SNAPSHOT + 1.6.20 forge-gui-mobile diff --git a/forge-gui/pom.xml b/forge-gui/pom.xml index 4b4ed1c8ee7..c342179a25a 100644 --- a/forge-gui/pom.xml +++ b/forge-gui/pom.xml @@ -4,7 +4,7 @@ forge forge - 1.6.20-SNAPSHOT + 1.6.20 forge-gui diff --git a/pom.xml b/pom.xml index 5b0f1f1a303..0e707eff091 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ forge pom Forge Parent - 1.6.20-SNAPSHOT + 1.6.20 Forge lets you play the card game Magic: The Gathering against a computer opponent using all of the rules. @@ -175,7 +175,7 @@ scm:git:ssh://git@git.cardforge.org/core-developers/forge.git scm:git:ssh://git@git.cardforge.org/core-developers/forge.git - HEAD + forge-1.6.20 From 17dedb4bf428f5d319e220e586b3a4198b4e776f Mon Sep 17 00:00:00 2001 From: Blacksmith Date: Sat, 2 Feb 2019 02:00:32 +0000 Subject: [PATCH 23/54] [maven-release-plugin] prepare for next development iteration --- forge-ai/pom.xml | 2 +- forge-core/pom.xml | 2 +- forge-game/pom.xml | 2 +- forge-gui-android/pom.xml | 2 +- forge-gui-desktop/pom.xml | 2 +- forge-gui-ios/pom.xml | 2 +- forge-gui-mobile-dev/pom.xml | 2 +- forge-gui-mobile/pom.xml | 2 +- forge-gui/pom.xml | 2 +- pom.xml | 4 ++-- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/forge-ai/pom.xml b/forge-ai/pom.xml index f49be94345d..71f2c710594 100644 --- a/forge-ai/pom.xml +++ b/forge-ai/pom.xml @@ -6,7 +6,7 @@ forge forge - 1.6.20 + 1.6.21-SNAPSHOT forge-ai diff --git a/forge-core/pom.xml b/forge-core/pom.xml index 7a1446bbb84..dcd9e21f87d 100644 --- a/forge-core/pom.xml +++ b/forge-core/pom.xml @@ -6,7 +6,7 @@ forge forge - 1.6.20 + 1.6.21-SNAPSHOT forge-core diff --git a/forge-game/pom.xml b/forge-game/pom.xml index 0c740f4662f..75733d177e1 100644 --- a/forge-game/pom.xml +++ b/forge-game/pom.xml @@ -6,7 +6,7 @@ forge forge - 1.6.20 + 1.6.21-SNAPSHOT forge-game diff --git a/forge-gui-android/pom.xml b/forge-gui-android/pom.xml index 46b30fb54f2..0b7b879a354 100644 --- a/forge-gui-android/pom.xml +++ b/forge-gui-android/pom.xml @@ -19,7 +19,7 @@ forge forge - 1.6.20 + 1.6.21-SNAPSHOT forge-gui-android diff --git a/forge-gui-desktop/pom.xml b/forge-gui-desktop/pom.xml index ef66e6f1fc2..ef528505669 100644 --- a/forge-gui-desktop/pom.xml +++ b/forge-gui-desktop/pom.xml @@ -4,7 +4,7 @@ forge forge - 1.6.20 + 1.6.21-SNAPSHOT forge-gui-desktop diff --git a/forge-gui-ios/pom.xml b/forge-gui-ios/pom.xml index 71aac4ac0eb..d47b60c33b6 100644 --- a/forge-gui-ios/pom.xml +++ b/forge-gui-ios/pom.xml @@ -12,7 +12,7 @@ forge forge - 1.6.20 + 1.6.21-SNAPSHOT forge-gui-ios diff --git a/forge-gui-mobile-dev/pom.xml b/forge-gui-mobile-dev/pom.xml index 69fd0568aae..9c3c6a58b79 100644 --- a/forge-gui-mobile-dev/pom.xml +++ b/forge-gui-mobile-dev/pom.xml @@ -4,7 +4,7 @@ forge forge - 1.6.20 + 1.6.21-SNAPSHOT forge-gui-mobile-dev diff --git a/forge-gui-mobile/pom.xml b/forge-gui-mobile/pom.xml index 1281abd3c70..15c79fb010b 100644 --- a/forge-gui-mobile/pom.xml +++ b/forge-gui-mobile/pom.xml @@ -4,7 +4,7 @@ forge forge - 1.6.20 + 1.6.21-SNAPSHOT forge-gui-mobile diff --git a/forge-gui/pom.xml b/forge-gui/pom.xml index c342179a25a..25d041cca94 100644 --- a/forge-gui/pom.xml +++ b/forge-gui/pom.xml @@ -4,7 +4,7 @@ forge forge - 1.6.20 + 1.6.21-SNAPSHOT forge-gui diff --git a/pom.xml b/pom.xml index 0e707eff091..665ff4056f2 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ forge pom Forge Parent - 1.6.20 + 1.6.21-SNAPSHOT Forge lets you play the card game Magic: The Gathering against a computer opponent using all of the rules. @@ -175,7 +175,7 @@ scm:git:ssh://git@git.cardforge.org/core-developers/forge.git scm:git:ssh://git@git.cardforge.org/core-developers/forge.git - forge-1.6.20 + HEAD From e5584ea0656f29aea65e54d4bf5c76e5bb896dc0 Mon Sep 17 00:00:00 2001 From: Blacksmith Date: Sat, 2 Feb 2019 02:05:37 +0000 Subject: [PATCH 24/54] Clear out release files in preparation for next release --- forge-gui/README.txt | 93 +---------------------------- forge-gui/release-files/CHANGES.txt | 13 ---- 2 files changed, 1 insertion(+), 105 deletions(-) diff --git a/forge-gui/README.txt b/forge-gui/README.txt index fdd08d9e5c8..11b369846f2 100644 --- a/forge-gui/README.txt +++ b/forge-gui/README.txt @@ -1,92 +1 @@ -Forge: 02/02/2019 ver 1.6.20 - -18457 cards in total. - - --------------- -Release Notes: --------------- - -- New Cards - -Vizkopa Vampire; Vengeant Vampire; Vindictive Vampire; Verity Circle; Zegana, Utopian Speaker; Zhur-Taa Goblin; Kaya, Orzhov Usurper; Knight of the Last Breath; Knight of Sorrows; Kaya's Wrath; Thought Collapse; Tenth District Veteran; Territorial Boar; Teysa Karlov; Theater of Horrors; Trollbred Guardian; Tithe Taker; Thirsting Shade; Tome of the Guildpact; Thrash; Twilight Panther; Tin Street Dodger; The Haunt of Hightower; Titanic Brawl; Cindervines; Combine Guildmage; Carrion Imp; Consecrate; Collision; Code of Constraint; Clear the Stage; Captive Audience; Clamor Shaman; Consign to the Pit; Cavalcade of Calamity; Clear the Mind; Civic Stalwart; Carnival; Catacomb Crocodile; Charging War Boar; Cry of the Carnarium; Coral Commando; Clan Guildmage; Cult Guildmage; Chillbringer; Growth Spiral; Galloping Lizrog; Gruul Locket; Get the Point; Gruul Spellbreaker; Gravel-Hide Goblin; Growth-Chamber Guardian; Gyre Engineer; Glass of the Guildpact; Guardian Project; Grotesque Demise; Gateway Sneak; Ghor-Clan Wrecker; Gates Ablaze; Gutterbones; Goblin Goliath; Grasping Thrull; Goblin Gathering; Gatebreaker Ram; Gruul Beastmaster; Gate Colossus; Windstorm Drake; Wrecking Beast; Watchful Giant; Warrant; Wilderness Reclamation; Wall of Lost Thoughts; Impassioned Orator; Incubation Druid; Inspired Sphinx; Immortal Phoenix; Immolation Shaman; Incubation; Imperious Oligarch; Ill-Gotten Inheritance; Dovin's Automaton; Dovin's Dismissal; Debtors' Transport; Deface; Dovin's Acuity; Drill Bit; Dagger Caster; Dovin, Grand Arbiter; Deputy of Detention; Domri, City Smasher; Dead Revels; Domri's Nodorog; Domri, Chaos Bringer; Dovin, Architect of Law; Depose; Justiciar's Portal; Judith, the Scourge Diva; Angelic Exaltation; Applied Biomancy; Axebane Beast; Aeromunculus; Awaken the Erstwhile; Avatar of Growth; Angler Turtle; Angel of Grace; Azorius Locket; Azorius Skyguard; Arrester's Admonition; Arrester's Zeal; Azorius Knight-Arbiter; Amplifire; Angelic Guardian; Archway Angel; Prying Eyes; Prime Speaker Vannifar; Pteramander; Plaza of Harmony; Pestilent Spirit; Prowling Caracal; Persistent Petitioners; Pitiless Pontiff; Priest of Forgotten Gods; Plague Wight; Precognitive Perception; Rumbling Ruin; Ragefire; Rot Hulk; Rakdos Locket; Repudiate; Ravager Wurm; Rix Maadi Reveler; Rally to Battle; Rakdos Firewheeler; Rakdos Roustabout; Rhythm of the Wild; Rubblebelt Recluse; Rafter Demon; Rubble Reading; Rampage of the Clans; Rampaging Rendhorn; Resolute Watchdog; Rampaging Brontodon; Rubblebelt Runner; Rubble Slinger; Rakdos Trumpeter; Rakdos, the Showstopper; Regenesis; Revival; Lavinia, Azorius Renegade; Lumbering Battlement; Light Up the Stage; Lawmage's Binding; Hero of Precinct One; Haazda Officer; Hydroid Krasis; Humongulus; High Alert; Hackrobat; Noxious Groodion; Nikya of the Old Ways; Seraph of the Scales; Sharktocrab; Swirling Torrent; Summary Judgment; Skitter Eel; Stony Strength; Sphinx of Foresight; Spawn of Mayhem; Sphinx of the Guildpact; Spire Mangler; Skatewing Spy; Sphinx's Insight; Senate Griffin; Spirit of the Spires; Silhana Wayfinder; Spear Spewer; Smelt-Ward Ignus; Senate Guildmage; Skewer the Critics; Syndicate Guildmage; Slimebind; Savage Smash; Sky Tether; Spikewheel Acrobat; Sentinel's Mark; Sagittars' Volley; Saruli Caretaker; Shimmer of Possibility; Scuttlegator; Senate Courier; Sage's Row Savant; Sunder Shaman; Screaming Shield; Skarrgan Hellkite; Scorchmark; Storm Strike; Smothering Tithe; Steeple Creeper; Syndicate Messenger; Sylvan Brushstrider; Simic Locket; Sphinx of New Prahv; Simic Ascendancy; Sauroform Hybrid; Bloodmist Infiltrator; Basilica Bell-Haunt; Burning-Tree Vandal; Biogenic Upgrade; Bankrupt in Blood; Bolrac-Clan Crusher; Benthic Biomancer; Biomancer's Familiar; Bring to Trial; Bedevil; Bedeck; Blade Juggler; Burn Bright; Bladebrand; Biogenic Ooze; Emergency Powers; Electrodominance; Eyes Everywhere; Essence Capture; Elite Arrester; Ethereal Absolution; End-Raze Forerunners; Expose to Daylight; Enraged Ceratok; Undercity Scavenger; Undercity's Embrace; Unbreakable Formation; Orzhov Locket; Open the Gates; Orzhov Racketeers; Orzhov Enforcer; Frenzied Arynx; Faerie Duelist; Footlight Fiend; Fireblade Artist; Frilled Mystic; Flames of the Raze-Boar; Final Payment; Feral Maaka; Font of Agonies; Forbidding Spirit; Ministrant of Obligation; Mirror March; Mesmerizing Benthid; Macabre Mockery; Militant Angel; Mass Manipulation; Quench - -- Desktop GUI - -The Desktop GUI can pop up zones (Library, Graveyard, etc.) allow players to select cards from them when the option UI_SELECT_FROM_CARD_DISPLAYS is set. -The Desktop GUI outlines the selectable cards in many situations. This is not done when playing mana costs. - -- Digging - -Multi-card digging (e.g., for Genesis Wave) is done as a single multiple-card selection instead of a sequence of single-card selections. - -- Game Night - -Support was added for the Game Night box set, including all 10 exclusive cards. - -- AI improvements - -More AI improvements were implemented, hopefully making the game a little more interesting and challenging to play. - -- Bug fixes - -As always, this release of Forge features an assortment of bug fixes and improvements based on user feedback during the previous release run. - -------------- -Known Issues: -------------- - -Known issues are here: https://git.cardforge.org/core-developers/forge/issues - -Feel free to report your own there if you have any. - -------------- -Installation: -------------- - -The Forge archive includes a MANUAL.txt file and we ask that you spend a few minutes reading this file as it contains some information that may prove useful. We do tend to update this file at times and you should quickly read this file and look for new information for each and every new release. Thank you. - -The archive format used for the Forge distribution is ".tar.bz2". There are utilities for Windows, Mac OS and the various *nix's that can be used to extract/decompress these ".tar.bz2" archives. We recommend that you extract/decompress the Forge archive into a new and unused folder. - -Some people use the Windows application 7zip. This utility can be found at http://www.7-zip.org/download.html. Mac users can double click on the archive and the application Archive Utility will launch and extract the archive. Mac users do not need to download a separate utility. - -Once the Forge archive has been decompressed you should then be able to launch Forge by using the included launcher. Launching Forge by double clicking on the forge jar file in the past caused a java heap space error. Forge's memory requirements have increased over time and the launchers increase the java heap space available to Forge. Currently you can launch Forge by double clicking on the forge jar file without a java heap space error but this is likely to change as we add in more sounds, icons, etc. - -- The Mac OS application version - -We haven't been able to distribute the OS X Application version of Forge in sometime. We've recently automated our release tools, and will continue to look in the viability of creating this file now that things are autoamted. - - -- Online Multiplayer - -For local network play you should only need two systems running Forge. One to host and one to join and play. For remote (over the Internet) play you will need to ensure that the port used (36743 by default) is forwarded to the hosting machine. - --------------------- -Active Contributors: --------------------- - -Agetian -Austinio7116 -Churrufli -DrDev -excessum -Gos -Hanmac -Indigo Dragon -Jamin Collins -KrazyTheFox -Luke -Marek14 -mcrawford620 -Meerkov -Myrd -nefigah -OgreBattlecruiser -pfps -Seravy -Sirspud -Sloth -slyfox7777777 -Sol -Swordshine -tjtillman -tojammot -torridus -Xyx -Zuchinni - -(Quest icons used created by Teekatas, from his Legendora set http://raindropmemory.deviantart.com) -(Thanks to the XMage team for permission to use their targeting arrows.) -(Thanks to http://www.freesound.org/browse/ for providing some sound files.) \ No newline at end of file +This file is automatically updated by our release bot on Discord, Blacksmith. It is created from the files present in the 'release-files' directory. Please do not hand-edit this file if using the bot to perform a release, as your changes will be overwritten. \ No newline at end of file diff --git a/forge-gui/release-files/CHANGES.txt b/forge-gui/release-files/CHANGES.txt index f0a7911cb31..05f0bf1829e 100644 --- a/forge-gui/release-files/CHANGES.txt +++ b/forge-gui/release-files/CHANGES.txt @@ -1,15 +1,2 @@ -- Desktop GUI - -The Desktop GUI can pop up zones (Library, Graveyard, etc.) allow players to select cards from them when the option UI_SELECT_FROM_CARD_DISPLAYS is set. -The Desktop GUI outlines the selectable cards in many situations. This is not done when playing mana costs. - -- Digging - -Multi-card digging (e.g., for Genesis Wave) is done as a single multiple-card selection instead of a sequence of single-card selections. - -- Game Night - -Support was added for the Game Night box set, including all 10 exclusive cards. - -- AI improvements - -More AI improvements were implemented, hopefully making the game a little more interesting and challenging to play. - - Bug fixes - As always, this release of Forge features an assortment of bug fixes and improvements based on user feedback during the previous release run. From e38bd511933df71bce63c017d6979a080bc71bbf Mon Sep 17 00:00:00 2001 From: Agetian Date: Sat, 2 Feb 2019 08:49:31 +0300 Subject: [PATCH 25/54] - Preparing Forge for Android publish 1.6.20.001 [incremental]. --- forge-gui-android/pom.xml | 2 +- forge-gui-ios/pom.xml | 2 +- forge-gui-mobile/src/forge/Forge.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-gui-android/pom.xml b/forge-gui-android/pom.xml index 0b7b879a354..ac329cc9c3d 100644 --- a/forge-gui-android/pom.xml +++ b/forge-gui-android/pom.xml @@ -6,7 +6,7 @@ jar -Xms1024m -Xmx1536m - 1.6.19.004 + 1.6.20.001 keystore alias storepass diff --git a/forge-gui-ios/pom.xml b/forge-gui-ios/pom.xml index d47b60c33b6..35f6aebdae4 100644 --- a/forge-gui-ios/pom.xml +++ b/forge-gui-ios/pom.xml @@ -6,7 +6,7 @@ jar -Xms128m -Xmx2048m - 1.6.19.004 + 1.6.20.001 diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index f854dbffcd5..b9b05b06b89 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -34,7 +34,7 @@ import java.util.List; import java.util.Stack; public class Forge implements ApplicationListener { - public static final String CURRENT_VERSION = "1.6.19.004"; + public static final String CURRENT_VERSION = "1.6.20.001"; private static final ApplicationListener app = new Forge(); private static Clipboard clipboard; From 1d41f1b330d3eed4851ff8385cdd2185f6eff9c5 Mon Sep 17 00:00:00 2001 From: Agetian Date: Sat, 2 Feb 2019 13:51:18 +0300 Subject: [PATCH 26/54] - Fix Sarkhan, Dragonsoul. --- forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt b/forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt index 335023bcc99..6bbda61ae31 100644 --- a/forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt +++ b/forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt @@ -3,7 +3,8 @@ ManaCost:4 R R Types:Legendary Planeswalker Sarkhan A:AB$ DamageAll | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | ValidPlayers$ Player.Opponent | ValidCards$ Creature.OppCtrl | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to each opponent and each creature your opponents control. A:AB$ DealDamage | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | AILogic$ ChoiceBurn | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to target player or planeswalker. -A:AB$ ChangeZone | Cost$ SubCounter<9/LOYALTY> | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.Dragon | ChangeNum$ XFetch | Planeswalker$ True | Ultimate$ True | StackDescription$ SpellDescription | References$ XFetch | SpellDescription$ Search your library for any number of Dragon creature cards, put them onto the battlefield, then shuffle your library. +A:AB$ ChangeZone | Cost$ SubCounter<9/LOYALTY> | Origin$ Library | Destination$ Battlefield | ChangeType$ Dragon | ChangeNum$ XFetch | Planeswalker$ True | Ultimate$ True | StackDescription$ SpellDescription | References$ XFetch | SpellDescription$ Search your library for any number of Dragon creature cards, put them onto the battlefield, then shuffle your library. +SVar:XFetch:Count$InYourLibrary.Dragon DeckHints:Type$Dragon Oracle:[+2]: Sarkhan, Dragonsoul deals 1 damage to each opponent and each creature your opponents control.\n[−3]: Sarkhan, Dragonsoul deals 4 damage to target player or planeswalker.\n[−9]: Search your library for any number of Dragon creature cards, put them onto the battlefield, then shuffle your library. Loyalty:5 \ No newline at end of file From 6235b42c3118d7c9a504ab3e82b529d63142b60c Mon Sep 17 00:00:00 2001 From: Agetian Date: Sat, 2 Feb 2019 13:54:23 +0300 Subject: [PATCH 27/54] - Limit the search to Dragon creature cards. --- forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt b/forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt index 6bbda61ae31..bd099ea17ff 100644 --- a/forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt +++ b/forge-gui/res/cardsfolder/s/sarkhan_dragonsoul.txt @@ -3,8 +3,8 @@ ManaCost:4 R R Types:Legendary Planeswalker Sarkhan A:AB$ DamageAll | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | ValidPlayers$ Player.Opponent | ValidCards$ Creature.OppCtrl | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to each opponent and each creature your opponents control. A:AB$ DealDamage | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | AILogic$ ChoiceBurn | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to target player or planeswalker. -A:AB$ ChangeZone | Cost$ SubCounter<9/LOYALTY> | Origin$ Library | Destination$ Battlefield | ChangeType$ Dragon | ChangeNum$ XFetch | Planeswalker$ True | Ultimate$ True | StackDescription$ SpellDescription | References$ XFetch | SpellDescription$ Search your library for any number of Dragon creature cards, put them onto the battlefield, then shuffle your library. -SVar:XFetch:Count$InYourLibrary.Dragon +A:AB$ ChangeZone | Cost$ SubCounter<9/LOYALTY> | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.Dragon | ChangeNum$ XFetch | Planeswalker$ True | Ultimate$ True | StackDescription$ SpellDescription | References$ XFetch | SpellDescription$ Search your library for any number of Dragon creature cards, put them onto the battlefield, then shuffle your library. +SVar:XFetch:Count$InYourLibrary.Creature.Dragon DeckHints:Type$Dragon Oracle:[+2]: Sarkhan, Dragonsoul deals 1 damage to each opponent and each creature your opponents control.\n[−3]: Sarkhan, Dragonsoul deals 4 damage to target player or planeswalker.\n[−9]: Search your library for any number of Dragon creature cards, put them onto the battlefield, then shuffle your library. Loyalty:5 \ No newline at end of file From a8abbadec45c65e190596b4ce4d3efc0dc37c224 Mon Sep 17 00:00:00 2001 From: Agetian Date: Sat, 2 Feb 2019 13:58:13 +0300 Subject: [PATCH 28/54] - Fix Kaya, Orzhov Usurper ability costs. --- forge-gui/res/cardsfolder/k/kaya_orzhov_usurper.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/k/kaya_orzhov_usurper.txt b/forge-gui/res/cardsfolder/k/kaya_orzhov_usurper.txt index 09ef6b8cd66..bd80a5c77a1 100644 --- a/forge-gui/res/cardsfolder/k/kaya_orzhov_usurper.txt +++ b/forge-gui/res/cardsfolder/k/kaya_orzhov_usurper.txt @@ -6,8 +6,8 @@ A:AB$ ChangeZone | Cost$ AddCounter<1/LOYALTY> | Origin$ Graveyard | Destination SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$ValidExile -A:AB$ ChangeZone | Cost$ -1/-1/Card.nonLand/nonland permanent with converted mana cost 1 or less> | Planeswalker$ True | Origin$ Battlefield | Destination$ Exile | TgtPrompt$ Choose target nonland permanent with converted mana cost 1 or less | ValidTgts$ Permanent.nonLand+cmcLE1 | SpellDescription$ Exile target nonland permanent with converted mana cost 1 or less. -A:AB$ DealDamage | Cost$ PayLife<5/-5/Card> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Player | NumDmg$ X | References$ X | SubAbility$ DBYouGainLife | SpellDescription$ CARDNAME deals damage to target player equal to the number of cards that player owns in exile and you gain that much life. +A:AB$ ChangeZone | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | Origin$ Battlefield | Destination$ Exile | TgtPrompt$ Choose target nonland permanent with converted mana cost 1 or less | ValidTgts$ Permanent.nonLand+cmcLE1 | SpellDescription$ Exile target nonland permanent with converted mana cost 1 or less. +A:AB$ DealDamage | Cost$ SubCounter<5/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Player | NumDmg$ X | References$ X | SubAbility$ DBYouGainLife | SpellDescription$ CARDNAME deals damage to target player equal to the number of cards that player owns in exile and you gain that much life. SVar:DBYouGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:TargetedPlayer$CardsInExile DeckHas:Ability$LifeGain From 0569a0b36dbef028b3b3181bd536c053b8c3efc5 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Sat, 2 Feb 2019 14:07:48 +0100 Subject: [PATCH 29/54] CombatUtil: fix Basic Landwalk abilities --- .../java/forge/game/combat/CombatUtil.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/forge-game/src/main/java/forge/game/combat/CombatUtil.java b/forge-game/src/main/java/forge/game/combat/CombatUtil.java index f29ec286894..1b88c16440f 100644 --- a/forge-game/src/main/java/forge/game/combat/CombatUtil.java +++ b/forge-game/src/main/java/forge/game/combat/CombatUtil.java @@ -43,7 +43,6 @@ import forge.util.TextUtil; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; import forge.util.maps.MapToAmount; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import java.util.List; @@ -525,7 +524,7 @@ public class CombatUtil { IGNORE_LANDWALK_KEYWORDS[i] = "May be blocked as though it doesn't have " + landwalk + "."; } } - + public static boolean isUnblockableFromLandwalk(final Card attacker, final Player defendingPlayer) { //May be blocked as though it doesn't have landwalk. (Staff of the Ages) if (attacker.hasKeyword("May be blocked as though it doesn't have landwalk.")) { @@ -534,6 +533,7 @@ public class CombatUtil { List walkTypes = Lists.newArrayList(); + // handle basic landwalk and snow basic landwalk for (int i = 0; i < LANDWALK_KEYWORDS.length; i++) { final String basic = MagicColor.Constant.BASIC_LANDS.get(i); final String landwalk = LANDWALK_KEYWORDS[i]; @@ -553,19 +553,24 @@ public class CombatUtil { String keyword = inst.getOriginal(); if (keyword.equals("Legendary landwalk")) { walkTypes.add("Land.Legendary"); - } else if (keyword.equals("Desertwalk")) { - walkTypes.add("Desert"); } else if (keyword.equals("Nonbasic landwalk")) { walkTypes.add("Land.nonBasic"); } else if (keyword.equals("Snow landwalk")) { walkTypes.add("Land.Snow"); } else if (keyword.endsWith("walk")) { - final String landtype = TextUtil.fastReplace(keyword, "walk", ""); + String landtype = TextUtil.fastReplace(keyword, "walk", ""); + String valid = landtype; + + // substract Snow type if (landtype.startsWith("Snow ")) { - walkTypes.add(landtype.substring(5) + ".Snow"); - } else if (CardType.isALandType(landtype)) { + landtype = landtype.substring(5); + valid = landtype + ".Snow"; + } + + // basic land types are handled before + if (CardType.isALandType(landtype) && !CardType.isABasicLandType(landtype)) { if (!walkTypes.contains(landtype)) { - walkTypes.add(landtype); + walkTypes.add(valid); } } } @@ -575,10 +580,10 @@ public class CombatUtil { return false; } - final String valid = StringUtils.join(walkTypes, ","); + final String[] valid = walkTypes.toArray(new String[0]); final CardCollectionView defendingLands = defendingPlayer.getCardsIn(ZoneType.Battlefield); for (final Card c : defendingLands) { - if (c.isValid(valid.split(","), defendingPlayer, attacker, null)) { + if (c.isValid(valid, defendingPlayer, attacker, null)) { return true; } } From a18d98c2316a18e718f0b5c479b9dd33ece11350 Mon Sep 17 00:00:00 2001 From: Rob Schnautz Date: Sat, 2 Feb 2019 16:39:51 +0000 Subject: [PATCH 30/54] Token script had typo in name. --- forge-gui/res/cardsfolder/g/giantbaiting.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/g/giantbaiting.txt b/forge-gui/res/cardsfolder/g/giantbaiting.txt index 9eda81b80d4..90bbe8475fb 100644 --- a/forge-gui/res/cardsfolder/g/giantbaiting.txt +++ b/forge-gui/res/cardsfolder/g/giantbaiting.txt @@ -1,7 +1,7 @@ Name:Giantbaiting ManaCost:2 RG Types:Sorcery -A:SP$ Token | Cost$ 2 RG | TokenScript$ rb_4_4_giant_warrior_haste | AtEOT$ Exile | SpellDescription$ Create a 4/4 red and green Giant Warrior creature token with haste. Exile it at the beginning of the next end step. +A:SP$ Token | Cost$ 2 RG | TokenScript$ rg_4_4_giant_warrior_haste | AtEOT$ Exile | SpellDescription$ Create a 4/4 red and green Giant Warrior creature token with haste. Exile it at the beginning of the next end step. K:Conspire DeckHas:Ability$Token SVar:Picture:http://www.wizards.com/global/images/magic/general/giantbaiting.jpg From 567aab0c438102bc24cae389ae30abebe437a3d0 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Sat, 2 Feb 2019 21:04:01 +0000 Subject: [PATCH 31/54] Fix: c_a_treasure_sac --- forge-gui/res/tokenscripts/c_a_treasure_sac.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/tokenscripts/c_a_treasure_sac.txt b/forge-gui/res/tokenscripts/c_a_treasure_sac.txt index 6ba1beb174b..e2d0030ed85 100644 --- a/forge-gui/res/tokenscripts/c_a_treasure_sac.txt +++ b/forge-gui/res/tokenscripts/c_a_treasure_sac.txt @@ -1,5 +1,5 @@ Name:Treasure ManaCost:no cost Types:Artifact Treasure -A:AB$ Mana | Cost$ T Sac<1/CARDNAME|this artifact> | Produced$ Any | Amount$ 1 | SpellDescription$ Add one mana of any color. +A:AB$ Mana | Cost$ T Sac<1/CARDNAME> | Produced$ Any | Amount$ 1 | SpellDescription$ Add one mana of any color. Oracle:{T}, Sacrifice this artifact: Add one mana of any color. \ No newline at end of file From 31bca6c6146a0124811d7080a125800fc6ad9c72 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Sat, 2 Feb 2019 16:46:23 -0500 Subject: [PATCH 32/54] try to do fewer layout calculations when moving cards --- .../forge/view/arcane/CardPanelContainer.java | 24 +++++++++++++------ .../main/java/forge/view/arcane/PlayArea.java | 22 +++++++++-------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java index b9f08c4cebf..ff358394ee0 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java @@ -291,6 +291,9 @@ public abstract class CardPanelContainer extends SkinnedPanel { } public final void removeCardPanel(final CardPanel fromPanel) { + removeCardPanel(fromPanel,true); + } + public final void removeCardPanel(final CardPanel fromPanel, final boolean repaint) { FThreads.assertExecutedByEdt(true); if (getMouseDragPanel() != null) { CardPanel.getDragAnimationPanel().setVisible(false); @@ -303,9 +306,11 @@ public abstract class CardPanelContainer extends SkinnedPanel { fromPanel.dispose(); getCardPanels().remove(fromPanel); remove(fromPanel); - invalidate(); - repaint(); - doingLayout(); + if ( repaint ) { + invalidate(); + repaint(); + doingLayout(); + } } public final void setCardPanels(final List cardPanels) { @@ -332,16 +337,21 @@ public abstract class CardPanelContainer extends SkinnedPanel { } public final void clear() { + clear(true); + } + public final void clear(final boolean repaint) { FThreads.assertExecutedByEdt(true); for (final CardPanel p : getCardPanels()) { p.dispose(); } getCardPanels().clear(); removeAll(); - setPreferredSize(new Dimension(0, 0)); - invalidate(); - getParent().validate(); - repaint(); + if ( repaint ) { + setPreferredSize(new Dimension(0, 0)); + invalidate(); + getParent().validate(); + repaint(); + } } public final FScrollPane getScrollPane() { diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java index 0cecda66dd1..dae89a13d9f 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java @@ -620,11 +620,11 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen toDelete.removeAll(notToDelete); if (toDelete.size() == getCardPanels().size()) { - clear(); + clear(false); } else { for (final CardView card : toDelete) { - removeCardPanel(getCardPanel(card.getId())); + removeCardPanel(getCardPanel(card.getId()),false); } } @@ -646,19 +646,21 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen needLayoutRefresh = true; } } - if (needLayoutRefresh) { - doLayout(); - } + if (needLayoutRefresh) { + doLayout(); + } + invalidate(); //pfps do the extra invalidate before any scrolling if (!newPanels.isEmpty()) { + int i = newPanels.size(); for (final CardPanel toPanel : newPanels) { - scrollRectToVisible(new Rectangle(toPanel.getCardX(), toPanel.getCardY(), toPanel.getCardWidth(), toPanel.getCardHeight())); + if ( --i == 0 ) { // only scroll to last panel to be added + scrollRectToVisible(new Rectangle(toPanel.getCardX(), toPanel.getCardY(), toPanel.getCardWidth(), toPanel.getCardHeight())); + } Animation.moveCard(toPanel); } - } - - invalidate(); - repaint(); + } + repaint(); } public boolean updateCard(final CardView card, boolean fromRefresh) { From f241a62d95ab19ad41e73a6b12b06fbe7d231d75 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Sun, 3 Feb 2019 00:15:59 +0000 Subject: [PATCH 33/54] Update clear_the_stage.txt --- forge-gui/res/cardsfolder/c/clear_the_stage.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/c/clear_the_stage.txt b/forge-gui/res/cardsfolder/c/clear_the_stage.txt index 16318c346a5..f82ce536653 100644 --- a/forge-gui/res/cardsfolder/c/clear_the_stage.txt +++ b/forge-gui/res/cardsfolder/c/clear_the_stage.txt @@ -2,5 +2,5 @@ Name:Clear the Stage ManaCost:4 B Types:Instant A:SP$ Pump | Cost$ 4 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -3 | NumDef$ -3 | IsCurse$ True | SubAbility$ DBChangeZone | SpellDescription$ Target creature gets -3/-3 until end of turn. If you control a creature with power 4 or greater, you may return up to one target creature card from your graveyard to your hand. -SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | TargetMin$ 0 | TargetMax$ 1 | TargetsWithDefinedController$ ParentTarget | ConditionPresent$ Creature.YouCtrl+powerGE4 +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | TargetMin$ 0 | TargetMax$ 1 | TargetsWithDefinedController$ ParentTarget | ConditionPresent$ Creature.YouCtrl+powerGE4 Oracle:Target creature gets -3/-3 until end of turn. If you control a creature with power 4 or greater, you may return up to one target creature card from your graveyard to your hand. From c54682850b6ccb217debee8ee74443f8e6e3dbb3 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Sun, 3 Feb 2019 00:33:59 +0000 Subject: [PATCH 34/54] Update theater_of_horrors.txt --- .../res/cardsfolder/t/theater_of_horrors.txt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/forge-gui/res/cardsfolder/t/theater_of_horrors.txt b/forge-gui/res/cardsfolder/t/theater_of_horrors.txt index 363d69c0f44..dad6ad692eb 100644 --- a/forge-gui/res/cardsfolder/t/theater_of_horrors.txt +++ b/forge-gui/res/cardsfolder/t/theater_of_horrors.txt @@ -1,10 +1,13 @@ Name:Theater of Horrors ManaCost:1 B R Types:Enchantment -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigKyrenExile | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, exile the top card of your library. -SVar:TrigMill:DB$ Mill | Defined$ You | Destination$ Exile | NumCards$ 1 -S:Mode$ Continuous | Affected$ Card.IsRemembered | MayPlay$ True | Condition$ PlayerTurn | EffectZone$ Battlefield | CheckSVar$ Play | Description$ During your turn, if an opponent lost life this turn, you may play cards exiled with CARDNAME. -SVar:TrigCleanup:Mode$ SpellCast | ValidCard$ Card.IsRemembered | Execute$ DBDuration | Static$ True -SVar:DBDuration -A:AB$ DealDamage | Cost$ 1 B R | ValidTgts$ Opponent,Planeswalker | TgtPrompt$ Select target opponent or planeswalker | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target opponent or planeswalker. -Oracle:At the beginning of your upkeep, exile the top card of your library.\nDuring your turn, if an opponent lost life this turn, you may play cards exiled with Theater of Horrors.\n{3}{R}: Theater of Horrors deals 1 damage to target opponent or planeswalker. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigMill | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, exile the top card of your library. +SVar:TrigMill:DB$ Mill | Defined$ You | Destination$ Exile | NumCards$ 1 | RememberMilled$ True +S:Mode$ Continuous | Affected$ Card.IsRemembered | AffectedZone$ Exile | MayPlay$ True | Condition$ PlayerTurn | CheckSVar$ X | References$ X | Description$ During your turn, if an opponent lost life this turn, you may play cards exiled with CARDNAME. +SVar:X:Count$LifeOppsLostThisTurn +T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBForget +SVar:DBForget:DB$ Pump | Defined$ TriggeredCard | ForgetObjects$ TriggeredCard +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Static$ True | ValidCard$ Card.Self | Execute$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:AB$ DealDamage | Cost$ 3 R | ValidTgts$ Opponent,Planeswalker | TgtPrompt$ Select target opponent or planeswalker | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target opponent or planeswalker. +Oracle:At the beginning of your upkeep, exile the top card of your library.\nDuring your turn, if an opponent lost life this turn, you may play cards exiled with Theater of Horrors.\n{3}{R}: Theater of Horrors deals 1 damage to target opponent or planeswalker. \ No newline at end of file From 18934c7f9f3c4f43ffcbd896512e2e5dde410f03 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Sun, 3 Feb 2019 02:25:36 +0000 Subject: [PATCH 35/54] Update revival_revenge.txt --- forge-gui/res/cardsfolder/r/revival_revenge.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/r/revival_revenge.txt b/forge-gui/res/cardsfolder/r/revival_revenge.txt index d098b682f87..ad1df6df839 100644 --- a/forge-gui/res/cardsfolder/r/revival_revenge.txt +++ b/forge-gui/res/cardsfolder/r/revival_revenge.txt @@ -2,7 +2,7 @@ Name:Revival ManaCost:WB WB AlternateMode: Split Types:Sorcery -A:SP$ ChangeZone | Cost$ WB WB | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Choose target creature in your graveyard | ValidTgts$ Creature.YouCtrl+cmcLE3 | SpellDescription$ Return target creature card with converted mana cost 3 or less from your graveyard to the battlefield. +A:SP$ ChangeZone | Cost$ WB WB | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Choose target creature in your graveyard | ValidTgts$ Creature.YouOwn+cmcLE3 | SpellDescription$ Return target creature card with converted mana cost 3 or less from your graveyard to the battlefield. Oracle:Return target creature card with converted mana cost 3 or less from your graveyard to the battlefield. ALTERNATE @@ -11,7 +11,7 @@ Name:Revenge ManaCost:4 W B Types:Sorcery A:SP$ GainLife | Cost$ 4 W B | LifeAmount$ X | References$ X | SubAbility$ DBLoseHalf | SpellDescription$ Double your life total. Target opponent loses half their life, rounded up. -SVar:DBLoseHalf:DB$ LoseLife | Cost$ 4 B B | ValidTgts$ Opponent | LifeAmount$ Y | References$ Y +SVar:DBLoseHalf:DB$ LoseLife | ValidTgts$ Opponent | LifeAmount$ Y | References$ Y SVar:X:Count$YourLifeTotal SVar:Y:Count$TargetedLifeTotal/HalfUp Oracle:Double your life total. Target opponent loses half their life, rounded up. From 10745eb9c7a00e93966fdb2cd5ec7657e0dae9f4 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Sun, 3 Feb 2019 02:34:59 +0000 Subject: [PATCH 36/54] Update consecrate_consume.txt --- forge-gui/res/cardsfolder/c/consecrate_consume.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/c/consecrate_consume.txt b/forge-gui/res/cardsfolder/c/consecrate_consume.txt index 4bcc6b4e0af..2c536e32a63 100644 --- a/forge-gui/res/cardsfolder/c/consecrate_consume.txt +++ b/forge-gui/res/cardsfolder/c/consecrate_consume.txt @@ -11,7 +11,7 @@ ALTERNATE Name:Consume ManaCost:2 W B Types:Sorcery -A:SP$ Pump | Cost$ 2 W B | ValidTgts$ Player | RememberTargets$ True | SubAbility$ DBChooseCard | SpellDescription$ Target player sacrifices a creature with the greatest power among creatures they control. You gain life equal to its power. +A:SP$ Pump | Cost$ 2 W B | ValidTgts$ Player | IsCurse$ True | RememberTargets$ True | SubAbility$ DBChooseCard | SpellDescription$ Target player sacrifices a creature with the greatest power among creatures they control. You gain life equal to its power. SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | Mandatory$ True | SubAbility$ DBSac SVar:DBSac:DB$ Sacrifice | Defined$ Player.IsRemembered | SacValid$ Card.ChosenCard | RememberSacrificed$ True | SubAbility$ DBGainLife | SacMessage$ the creature with the highest power SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | References$ X | SubAbility$ DBCleanup From c769aa07dde95adaed52b18a44498320b1f70b28 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Sun, 3 Feb 2019 03:06:24 +0000 Subject: [PATCH 37/54] Update consecrate_consume.txt --- forge-gui/res/cardsfolder/c/consecrate_consume.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/cardsfolder/c/consecrate_consume.txt b/forge-gui/res/cardsfolder/c/consecrate_consume.txt index 2c536e32a63..cc70bf85665 100644 --- a/forge-gui/res/cardsfolder/c/consecrate_consume.txt +++ b/forge-gui/res/cardsfolder/c/consecrate_consume.txt @@ -17,4 +17,5 @@ SVar:DBSac:DB$ Sacrifice | Defined$ Player.IsRemembered | SacValid$ Card.ChosenC SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:RememberedLKI$CardPower +SVar:NeedsToPlay:Creature.OppCtrl Oracle:Target player sacrifices a creature with the greatest power among creatures they control. You gain life equal to its power. \ No newline at end of file From 98830dde139e963b86d5f4317cb06a674ce6a3a1 Mon Sep 17 00:00:00 2001 From: Chris H Date: Sat, 2 Feb 2019 23:23:17 -0500 Subject: [PATCH 38/54] Fix Jhoira Avatar crashing since it copies cards into no zone --- .../forge/player/PlayerControllerHuman.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 7777f319c58..5a99fc19b89 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -351,20 +351,27 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont } private boolean useSelectCardsInput(final FCollectionView sourceList) { - if ( FThreads.isGuiThread() ) { return false; } // can't use InputSelect from GUI thread (e.g., DevMode Tutor) + // can't use InputSelect from GUI thread (e.g., DevMode Tutor) + if ( FThreads.isGuiThread() ) { return false; } + // if UI_SELECT_FROM_CARD_DISPLAYS not set use InputSelect only for battlefield and player hand // if UI_SELECT_FROM_CARD_DISPLAYS set and using desktop GUI use InputSelect for any zone that can be shown for (final GameEntity c : sourceList) { if (c instanceof Player) { continue; } - if (!(c instanceof Card)) { - return false; - } + + if (!(c instanceof Card)) { + return false; + } final Zone cz = ((Card) c).getZone(); - final boolean useUiPointAtCard = - cz != null && - (FModel.getPreferences().getPrefBoolean(FPref.UI_SELECT_FROM_CARD_DISPLAYS) && (!GuiBase.getInterface().isLibgdxPort()) ) ? + // Don't try to draw the UI point of a card if it doesn't exist in any zone. + if (cz == null) { + return false; + } + + final boolean useUiPointAtCard = + (FModel.getPreferences().getPrefBoolean(FPref.UI_SELECT_FROM_CARD_DISPLAYS) && (!GuiBase.getInterface().isLibgdxPort())) ? (cz.is(ZoneType.Battlefield) || cz.is(ZoneType.Hand) || cz.is(ZoneType.Library) || cz.is(ZoneType.Graveyard) || cz.is(ZoneType.Exile) || cz.is(ZoneType.Flashback) || cz.is(ZoneType.Command)) : (cz.is(ZoneType.Hand) && cz.getPlayer() == player || cz.is(ZoneType.Battlefield)); @@ -372,7 +379,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont return false; } } - return true; + return true; } @Override From 426c0ca4c8d1bc752aa6859c4ca4b496a6071e45 Mon Sep 17 00:00:00 2001 From: Agetian Date: Sun, 3 Feb 2019 08:20:13 +0300 Subject: [PATCH 39/54] - Formatting fix. --- .../main/java/forge/player/PlayerControllerHuman.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 5a99fc19b89..e46f93cd761 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -352,10 +352,10 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont private boolean useSelectCardsInput(final FCollectionView sourceList) { // can't use InputSelect from GUI thread (e.g., DevMode Tutor) - if ( FThreads.isGuiThread() ) { return false; } + if ( FThreads.isGuiThread() ) { return false; } - // if UI_SELECT_FROM_CARD_DISPLAYS not set use InputSelect only for battlefield and player hand - // if UI_SELECT_FROM_CARD_DISPLAYS set and using desktop GUI use InputSelect for any zone that can be shown + // if UI_SELECT_FROM_CARD_DISPLAYS not set use InputSelect only for battlefield and player hand + // if UI_SELECT_FROM_CARD_DISPLAYS set and using desktop GUI use InputSelect for any zone that can be shown for (final GameEntity c : sourceList) { if (c instanceof Player) { continue; @@ -372,14 +372,14 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont final boolean useUiPointAtCard = (FModel.getPreferences().getPrefBoolean(FPref.UI_SELECT_FROM_CARD_DISPLAYS) && (!GuiBase.getInterface().isLibgdxPort())) ? - (cz.is(ZoneType.Battlefield) || cz.is(ZoneType.Hand) || cz.is(ZoneType.Library) || + (cz.is(ZoneType.Battlefield) || cz.is(ZoneType.Hand) || cz.is(ZoneType.Library) || cz.is(ZoneType.Graveyard) || cz.is(ZoneType.Exile) || cz.is(ZoneType.Flashback) || cz.is(ZoneType.Command)) : (cz.is(ZoneType.Hand) && cz.getPlayer() == player || cz.is(ZoneType.Battlefield)); if (!useUiPointAtCard) { return false; } } - return true; + return true; } @Override From e72879d17313ad9ad4d805964e5c22a8da019c30 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Sun, 3 Feb 2019 05:34:42 +0000 Subject: [PATCH 40/54] Update skarrgan_hellkite.txt --- forge-gui/res/cardsfolder/s/skarrgan_hellkite.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/cardsfolder/s/skarrgan_hellkite.txt b/forge-gui/res/cardsfolder/s/skarrgan_hellkite.txt index 3c85fdd9c0c..c1c3c4736d9 100644 --- a/forge-gui/res/cardsfolder/s/skarrgan_hellkite.txt +++ b/forge-gui/res/cardsfolder/s/skarrgan_hellkite.txt @@ -3,6 +3,7 @@ ManaCost:3 R R Types:Creature Dragon PT:4/4 K:Riot +K:Flying A:AB$ DealDamage | Cost$ 3 R | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target to distribute damage to | NumDmg$ 2 | TargetMin$ 1 | TargetMax$ 2 | DividedAsYouChoose$ 2 | IsPresent$ Card.Self+counters_GE1_P1P1 | SpellDescription$ CARDNAME deals 2 damage divided as you choose among one or two targets. Activate this ability only if CARDNAME has a +1/+1 counter on it. DeckHints:Ability$Counters Oracle:Riot (This creature enters the battlefield with your choice of a +1/+1 counter or haste.)\nFlying\n{3}{R}: Skarrgan Hellkite deals 2 damage divided as you choose among one or two targets. Activate this ability only if Skarrgan Hellkite has a +1/+1 counter on it. From cd1bfc6b0802ef70f850ac2aa7afec0e2e762f44 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Sun, 3 Feb 2019 05:46:09 +0000 Subject: [PATCH 41/54] Update awaken_the_erstwhile.txt --- forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt b/forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt index 924da38ece1..79b028eebc8 100644 --- a/forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt +++ b/forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt @@ -2,7 +2,10 @@ Name:Awaken the Erstwhile ManaCost:3 B B Types:Sorcery A:SP$ RepeatEach | Cost$ 3 B B | RepeatPlayers$ Player | RepeatSubAbility$ DBDiscard | SpellDescription$ Each player discards all the cards in their hand, then creates that many 2/2 black Zombie creature tokens. -SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ b_2_2_zombie | TokenOwner$ You | LegacyImage$ b 2 2 zombie rna | References$ X +SVar:DBDiscard:DB$ Discard | Defined$ Player.IsRemembered | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBToken +SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ b_2_2_zombie | TokenOwner$ Player.IsRemembered | LegacyImage$ b 2 2 zombie rna | References$ X | SubAbility$ DBCleanup SVar:X:Remembered$Amount -DeckHas:Ability$Token +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Discard +DeckHints:Keyword$Madness & Ability$Delirium Oracle:Each player discards all the cards in their hand, then creates that many 2/2 black Zombie creature tokens. From 816d1363506547eddfa95a914edf63d70ed4d6a8 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Sun, 3 Feb 2019 05:47:52 +0000 Subject: [PATCH 42/54] Update awaken_the_erstwhile.txt --- forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt b/forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt index 79b028eebc8..ecbb8798f0d 100644 --- a/forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt +++ b/forge-gui/res/cardsfolder/a/awaken_the_erstwhile.txt @@ -7,5 +7,6 @@ SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ b_2_2_zombie | TokenOwner SVar:X:Remembered$Amount SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Discard +DeckHas:Ability$Token DeckHints:Keyword$Madness & Ability$Delirium Oracle:Each player discards all the cards in their hand, then creates that many 2/2 black Zombie creature tokens. From 1b44c953fcc3f755fb57ded45149a7d125bb8a8f Mon Sep 17 00:00:00 2001 From: Hanmac Date: Sun, 3 Feb 2019 08:39:30 +0100 Subject: [PATCH 43/54] SpellAbility: fixed Surge for Crush of Tentacles --- .../main/java/forge/game/spellability/SpellAbility.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java index b9599a50b9c..0b3cfa7717b 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -1115,7 +1115,13 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit } public final boolean isSurged() { - return surge; + if (surge) + return true; + SpellAbility parent = getParent(); + if (parent != null) { + return parent.isSurged(); + } + return false; } public final void setSurged(final boolean isSurge) { From 33c398fcb647a28e952a651b83c786e8f745035e Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Sun, 3 Feb 2019 08:51:32 -0500 Subject: [PATCH 44/54] add newline to separate functions --- .../src/main/java/forge/view/arcane/CardPanelContainer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java index ff358394ee0..a50c0da434c 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java @@ -293,6 +293,7 @@ public abstract class CardPanelContainer extends SkinnedPanel { public final void removeCardPanel(final CardPanel fromPanel) { removeCardPanel(fromPanel,true); } + public final void removeCardPanel(final CardPanel fromPanel, final boolean repaint) { FThreads.assertExecutedByEdt(true); if (getMouseDragPanel() != null) { From 903c708e1f6c8cf4f08364d8d1922d31e20416aa Mon Sep 17 00:00:00 2001 From: Hanmac Date: Sun, 3 Feb 2019 16:37:49 +0100 Subject: [PATCH 45/54] MeldEffect: some fixes --- .../game/ability/effects/ChangeZoneEffect.java | 14 ++++++++++++++ .../forge/game/ability/effects/MeldEffect.java | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index dbf654df439..ddbdfd3d11e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -606,6 +606,13 @@ public class ChangeZoneEffect extends SpellAbilityEffect { if (remember != null) { hostCard.addRemembered(movedCard); + // addRememberedFromCardState ? + if (tgtC.getMeldedWith() != null) { + Card meld = game.getCardState(tgtC.getMeldedWith(), null); + if (meld != null) { + hostCard.addRemembered(meld); + } + } } if (forget != null) { hostCard.removeRemembered(movedCard); @@ -1121,6 +1128,13 @@ public class ChangeZoneEffect extends SpellAbilityEffect { if (remember) { source.addRemembered(movedCard); + // addRememberedFromCardState ? + if (c.getMeldedWith() != null) { + Card meld = game.getCardState(c.getMeldedWith(), null); + if (meld != null) { + source.addRemembered(meld); + } + } } if (forget) { source.removeRemembered(movedCard); diff --git a/forge-game/src/main/java/forge/game/ability/effects/MeldEffect.java b/forge-game/src/main/java/forge/game/ability/effects/MeldEffect.java index 82f34844181..45a0aa66841 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/MeldEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/MeldEffect.java @@ -54,9 +54,9 @@ public class MeldEffect extends SpellAbilityEffect { } primary.changeToState(CardStateName.Meld); + primary.setMeldedWith(secondary); PlayerZoneBattlefield bf = (PlayerZoneBattlefield)controller.getZone(ZoneType.Battlefield); - Card melded = game.getAction().changeZone(primary.getZone(), bf, primary, 0, sa); + game.getAction().changeZone(primary.getZone(), bf, primary, 0, sa); bf.addToMelded(secondary); - melded.setMeldedWith(secondary); } } From 1300194e3aa03527a5cee9ab13bcd795e9c0bbc7 Mon Sep 17 00:00:00 2001 From: Agetian Date: Sun, 3 Feb 2019 19:24:50 +0300 Subject: [PATCH 46/54] - Added puzzle PS_RNA1. - Enabled RNA for the Ravnica plane in Planar Conquest (no event updates yet). --- forge-gui/res/conquest/planes/Ravnica/sets.txt | 1 + forge-gui/res/conquest/planes/planes.txt | 2 +- forge-gui/res/puzzle/PS_RNA1.pzl | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 forge-gui/res/puzzle/PS_RNA1.pzl diff --git a/forge-gui/res/conquest/planes/Ravnica/sets.txt b/forge-gui/res/conquest/planes/Ravnica/sets.txt index 25c06ea4114..5ba81297719 100644 --- a/forge-gui/res/conquest/planes/Ravnica/sets.txt +++ b/forge-gui/res/conquest/planes/Ravnica/sets.txt @@ -7,3 +7,4 @@ DGM C15 GRN GK1 +RNA diff --git a/forge-gui/res/conquest/planes/planes.txt b/forge-gui/res/conquest/planes/planes.txt index 94c4906faa4..14397ffced0 100644 --- a/forge-gui/res/conquest/planes/planes.txt +++ b/forge-gui/res/conquest/planes/planes.txt @@ -9,7 +9,7 @@ Name:Lorwyn-Shadowmoor|RegionSize:9|Desc:A sunny utopia with a thriving storyboo Name:Mercadia|RegionSize:6|Unreachable:True|Desc: Name:Mirrodin|RegionSize:9|Desc:A dark contagion is taking over this metal planet, breeding wave after wave of Phyrexian horrors.\nConsists of 63 events. Contains cards from MRD, DST, 5DN, SOM, MBS, NPH, and more. Name:Rath|RegionSize:6|Unreachable:True|Desc: -Name:Ravnica|RegionSize:9|Desc:A worldwide cityscape of grand halls, decrepit slums, and ancient ruins.\nConsists of 88 events. Contains cards from RAV, GPT, DIS, RTR, GTC, DGM, GRN, GK1, and C15. +Name:Ravnica|RegionSize:9|Desc:A worldwide cityscape of grand halls, decrepit slums, and ancient ruins.\nConsists of 88 events. Contains cards from RAV, GPT, DIS, RTR, GTC, DGM, GRN, GK1, RNA, and C15. Name:Regatha|RegionSize:6|Unreachable:True|Desc: Name:Shandalar|RegionSize:9|Unreachable:True|Desc: Name:Tarkir|RegionSize:9|Desc:A plane dominated by five powerful clans... or five powerful dragon lords.\nConsists of 45 events. Contains cards from KTK, FRF, DTK, CMD, CNS/CN2, some C17. diff --git a/forge-gui/res/puzzle/PS_RNA1.pzl b/forge-gui/res/puzzle/PS_RNA1.pzl new file mode 100644 index 00000000000..d46206ee0b1 --- /dev/null +++ b/forge-gui/res/puzzle/PS_RNA1.pzl @@ -0,0 +1,16 @@ +[metadata] +Name:Possibility Storm - Ravnica Allegiance #01 +URL:http://www.possibilitystorm.com/wp-content/uploads/2019/01/098.-RNA1.jpg +Goal:Win +Turns:1 +Difficulty:Mythic +Description:Win this turn. Your solution must satisfy all possible blocking scenarios. +[state] +humanlife=20 +ailife=9 +turn=1 +activeplayer=human +activephase=MAIN1 +humanhand=Ghalta, Primal Hunger;Electrodominance;Metamorphic Alteration;Slaughter the Strong;Lawmage's Binding +humanbattlefield=Atzocan Seer;Draconic Disciple;Arboretum Elemental;Incubation Druid;Sacred Foundry|NoETBTrigs;Sacred Foundry|NoETBTrigs;Breeding Pool|NoETBTrigs;Breeding Pool|NoETBTrigs;Breeding Pool|NoETBTrigs;Breeding Pool|NoETBTrigs +aibattlefield=Garna, the Bloodflame;Belligerent Brontodon;Lyra Dawnbringer;Demanding Dragon From faca59beb067697958de45cfbee7d84478c77635 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Sun, 3 Feb 2019 18:18:06 +0100 Subject: [PATCH 47/54] CardFactoryUtil: Transfigure as Keyword --- .../src/main/java/forge/game/card/Card.java | 3 ++- .../java/forge/game/card/CardFactoryUtil.java | 18 +++++++++++++++++- forge-gui/res/cardsfolder/f/fleshwrither.txt | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) 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 8f1343eeb31..2641196f2f5 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -1649,7 +1649,8 @@ public class Card extends GameEntity implements Comparable { || keyword.equals("Undaunted") || keyword.startsWith("Monstrosity") || keyword.startsWith("Embalm") || keyword.startsWith("Level up") || keyword.equals("Prowess") || keyword.startsWith("Eternalize") || keyword.startsWith("Reinforce") || keyword.startsWith("Champion") || keyword.startsWith("Prowl") - || keyword.startsWith("Amplify") || keyword.startsWith("Ninjutsu") || keyword.startsWith("Adapt") + || keyword.startsWith("Amplify") || keyword.startsWith("Ninjutsu") || keyword.startsWith("Adapt") + || keyword.startsWith("Transfigure") || keyword.startsWith("Cycling") || keyword.startsWith("TypeCycling")) { // keyword parsing takes care of adding a proper description } else if (keyword.startsWith("CantBeBlockedByAmount")) { diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 874cf123dcf..d4eb6dd834a 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -4286,17 +4286,33 @@ public class CardFactoryUtil { suspend.setTemporary(!intrinsic); inst.addSpellAbility(suspend); + } else if (keyword.startsWith("Transfigure")) { + final String[] k = keyword.split(":"); + final String manacost = k[1]; + final String effect = "AB$ ChangeZone | Cost$ " + manacost + " Sac<1/CARDNAME>" + + " | PrecostDesc$ Transfigure | CostDesc$ " + ManaCostParser.parse(manacost) + + " | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.cmcEQTransfigureX" + + " | ChangeNum$ 1 | SorcerySpeed$ True | StackDescription$ SpellDescription | SpellDescription$ (" + + inst.getReminderText() + ")"; + + final SpellAbility sa = AbilityFactory.getAbility(effect, card); + sa.setSVar("TransfigureX", "Count$CardManaCost"); + sa.setIntrinsic(intrinsic); + + sa.setTemporary(!intrinsic); + inst.addSpellAbility(sa); } else if (keyword.startsWith("Transmute")) { final String[] k = keyword.split(":"); final String manacost = k[1]; final String effect = "AB$ ChangeZone | Cost$ " + manacost + " Discard<1/CARDNAME>" + " | PrecostDesc$ Transmute | CostDesc$ " + ManaCostParser.parse(manacost) + " | ActivationZone$ Hand" - + " | Origin$ Library | Destination$ Hand | ChangeType$ Card.cmcEQ" + card.getManaCost().getCMC() + + " | Origin$ Library | Destination$ Hand | ChangeType$ Card.cmcEQTransmuteX" + " | ChangeNum$ 1 | SorcerySpeed$ True | StackDescription$ SpellDescription | SpellDescription$ (" + inst.getReminderText() + ")"; final SpellAbility sa = AbilityFactory.getAbility(effect, card); + sa.setSVar("TransmuteX", "Count$CardManaCost"); sa.setIntrinsic(intrinsic); sa.setTemporary(!intrinsic); diff --git a/forge-gui/res/cardsfolder/f/fleshwrither.txt b/forge-gui/res/cardsfolder/f/fleshwrither.txt index c02b7bbb360..b293e953af3 100644 --- a/forge-gui/res/cardsfolder/f/fleshwrither.txt +++ b/forge-gui/res/cardsfolder/f/fleshwrither.txt @@ -2,6 +2,6 @@ Name:Fleshwrither ManaCost:2 B B Types:Creature Horror PT:3/3 -A:AB$ ChangeZone | Cost$ 1 B B Sac<1/CARDNAME> | CostDesc$ Transfigure {1}{B}{B} | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.cmcEQ4 | ChangeNum$ 1 | SorcerySpeed$ True | SpellDescription$ ({1}{B}{B} , Sacrifice this creature: Search your library for a creature card with the same converted mana cost as this creature and put that card onto the battlefield. Then shuffle your library. Transfigure only as a sorcery.) +K:Transfigure:1 B B SVar:Picture:http://www.wizards.com/global/images/magic/general/fleshwrither.jpg Oracle:Transfigure {1}{B}{B} ({1}{B}{B}, Sacrifice this creature: Search your library for a creature card with the same converted mana cost as this creature and put that card onto the battlefield. Then shuffle your library. Transfigure only as a sorcery.) From ba587ea7022e50908247a855199396f0cdeaf6d4 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Mon, 4 Feb 2019 06:14:39 +0000 Subject: [PATCH 48/54] Update kayas_wrath.txt --- forge-gui/res/cardsfolder/k/kayas_wrath.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/k/kayas_wrath.txt b/forge-gui/res/cardsfolder/k/kayas_wrath.txt index f843c6c1ac5..b369d84ce2c 100644 --- a/forge-gui/res/cardsfolder/k/kayas_wrath.txt +++ b/forge-gui/res/cardsfolder/k/kayas_wrath.txt @@ -3,6 +3,6 @@ ManaCost:W W B B Types:Sorcery A:SP$ DestroyAll | Cost$ W W B B | ValidCards$ Creature | RememberDestroyed$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy all creatures. You gain life equal to the number of creatures you controlled that were destroyed this way. SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | References$ X -SVar:X:RememberedLKI$FilterControlledByRemembered_Number$1 +SVar:X:RememberedLKI$FilterControlledByYou_Number$1 DeckHas:Ability$LifeGain Oracle:Destroy all creatures. You gain life equal to the number of creatures you controlled that were destroyed this way. From efe71e838478c9720892956526c4703cfa38fb69 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Mon, 4 Feb 2019 14:24:34 -0500 Subject: [PATCH 49/54] fix crash when hiding temporarily shown zones --- .../java/forge/screens/match/CMatchUI.java | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java index 5df40f54120..f2d41735359 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java @@ -457,22 +457,24 @@ public final class CMatchUI @Override public void hideZones(final PlayerView controller, final Iterable zonesToUpdate) { - for (final PlayerZoneUpdate update : zonesToUpdate) { - final PlayerView player = update.getPlayer(); - for (final ZoneType zone : update.getZones()) { - switch (zone) { - case Battlefield: // always shown - break; - case Hand: // the controller's hand should never be temporarily shown, but ... - case Library: - case Graveyard: - case Exile: - case Flashback: - case Command: - FloatingZone.hide(this,player,zone); - break; - default: - break; + if ( zonesToUpdate != null ) { + for (final PlayerZoneUpdate update : zonesToUpdate) { + final PlayerView player = update.getPlayer(); + for (final ZoneType zone : update.getZones()) { + switch (zone) { + case Battlefield: // always shown + break; + case Hand: // the controller's hand should never be temporarily shown, but ... + case Library: + case Graveyard: + case Exile: + case Flashback: + case Command: + FloatingZone.hide(this,player,zone); + break; + default: + break; + } } } } From 81d3ab86f9c216852c8059e192a5a5f178f2e58a Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Mon, 4 Feb 2019 20:23:03 +0000 Subject: [PATCH 50/54] Update unbreakable_formation.txt --- forge-gui/res/cardsfolder/u/unbreakable_formation.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-gui/res/cardsfolder/u/unbreakable_formation.txt b/forge-gui/res/cardsfolder/u/unbreakable_formation.txt index 3b8d515b6ad..61bd095585d 100644 --- a/forge-gui/res/cardsfolder/u/unbreakable_formation.txt +++ b/forge-gui/res/cardsfolder/u/unbreakable_formation.txt @@ -1,7 +1,7 @@ Name:Unbreakable Formation ManaCost:2 W Types:Instant -A:SP$ PumpAll | Cost$ 2 W | ValidCards$ Creature.YouCtrl | KW$ Indestructible | SpellDescription$ Creatures you control gain indestructible until end of turn. -K:Defender -K:If you cast this spell during your main phase, put a +1/+1 counter on each of those creatures, and they also gain vigilance until end of turn. +A:SP$ PumpAll | Cost$ 2 W | ValidCards$ Creature.YouCtrl | KW$ Indestructible | SubAbility$ DBAddendum | SpellDescription$ Creatures you control gain indestructible until end of turn. +SVar:DBAddendum:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Vigilance | ConditionPlayerTurn$ True | ConditionPhases$ Main1,Main2 | SubAbility$ DBPutCounters | SpellDescription$ Addendum — If you cast this spell during your main phase, put a +1/+1 counter on each of those creatures, and they also gain vigilance until end of turn. +SVar:DBPutCounters:DB$ PutCounterAll | ValidCards$ Creature.YouCtrl | ConditionPlayerTurn$ True | ConditionPhases$ Main1,Main2 | CounterType$ P1P1 | CounterNum$ 1 Oracle:Creatures you control gain indestructible until end of turn.\nAddendum — If you cast this spell during your main phase, put a +1/+1 counter on each of those creatures, and they also gain vigilance until end of turn. From 2c0ec8181287a5e92d5a435c2fb180befbe46750 Mon Sep 17 00:00:00 2001 From: "T.J. Tillman" Date: Tue, 5 Feb 2019 17:47:34 +0000 Subject: [PATCH 51/54] Update dovin_grand_arbiter.txt --- forge-gui/res/cardsfolder/d/dovin_grand_arbiter.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/d/dovin_grand_arbiter.txt b/forge-gui/res/cardsfolder/d/dovin_grand_arbiter.txt index 494a7f60892..ee10076ba4d 100644 --- a/forge-gui/res/cardsfolder/d/dovin_grand_arbiter.txt +++ b/forge-gui/res/cardsfolder/d/dovin_grand_arbiter.txt @@ -8,5 +8,5 @@ SVar:TrigPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ LOYALTY A:AB$ Token | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenScript$ c_1_1_a_thopter_flying | TokenOwner$ You | LegacyImage$ c 1 1 a thopter flying rna | SubAbility$ DBGainLife | SpellDescription$ Create a 1/1 colorless Thopter artifact creature token with flying. SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 1 | SpellDescription$ You gain 1 life. DeckHas:Ability$Token -A:AB$ Dig | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | DigNum$ 10 | ChangeNum$ 3 | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | RestRandomOrder$ True | SpellDescription$ Look at the top ten cards of your library. Put three of them into your hand and the rest on the bottom of your library in a random order. +A:AB$ Dig | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Ultimate$ True | DigNum$ 10 | ChangeNum$ 3 | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | RestRandomOrder$ True | SpellDescription$ Look at the top ten cards of your library. Put three of them into your hand and the rest on the bottom of your library in a random order. Oracle:[+1]: Until end of turn, whenever a creature you control deals combat damage to a player, put a loyalty counter on Dovin, Grand Arbiter.\n[-1]: Create a 1/1 colorless Thopter artifact creature token with flying. You gain 1 life.\n[-7]: Look at the top ten cards of your library. Put three of them into your hand and the rest on the bottom of your library in a random order. From 30109aaeba508e5e49987d57152d1c3b0b65412d Mon Sep 17 00:00:00 2001 From: Agetian Date: Tue, 5 Feb 2019 22:49:56 +0300 Subject: [PATCH 52/54] - Added puzzle PS_RNA2. --- forge-gui-mobile-dev/src/forge/app/Main.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-gui-mobile-dev/src/forge/app/Main.java b/forge-gui-mobile-dev/src/forge/app/Main.java index d5a932cefda..03ba4bcc8f2 100644 --- a/forge-gui-mobile-dev/src/forge/app/Main.java +++ b/forge-gui-mobile-dev/src/forge/app/Main.java @@ -41,12 +41,12 @@ public class Main { } // Set this to "true" to make the mobile game port run as a full-screen desktop application - boolean desktopMode = cmd.hasOption("fullscreen"); + boolean desktopMode = true;//cmd.hasOption("fullscreen"); // Set this to the location where you want the mobile game port to look for assets when working as a full-screen desktop application // (uncomment the bottom version and comment the top one to load the res folder from the current folder the .jar is in if you would // like to make the game load from a desktop game folder configuration). - String desktopModeAssetsDir = "../forge-gui/"; - //String desktopModeAssetsDir = "./"; + //String desktopModeAssetsDir = "../forge-gui/"; + String desktopModeAssetsDir = "./"; // Assets directory used when the game fully emulates smartphone/tablet mode (desktopMode = false), useful when debugging from IDE String assetsDir = AssetsDownloader.SHARE_DESKTOP_ASSETS ? "../forge-gui/" : "testAssets/"; From 3a8c07d9c15f09aae2f17293960251e8b7e6384c Mon Sep 17 00:00:00 2001 From: Agetian Date: Tue, 5 Feb 2019 22:57:00 +0300 Subject: [PATCH 53/54] - Added puzzle PS_RNA2. --- forge-gui/res/puzzle/PS_RNA2.pzl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 forge-gui/res/puzzle/PS_RNA2.pzl diff --git a/forge-gui/res/puzzle/PS_RNA2.pzl b/forge-gui/res/puzzle/PS_RNA2.pzl new file mode 100644 index 00000000000..0e9d0274bfb --- /dev/null +++ b/forge-gui/res/puzzle/PS_RNA2.pzl @@ -0,0 +1,16 @@ +[metadata] +Name:Possibility Storm - Ravnica Allegiance #02 +URL:http://www.possibilitystorm.com/wp-content/uploads/2019/01/099.-RNA2.jpg +Goal:Win +Turns:1 +Difficulty:Uncommon +Description:Win this turn. Your solution must satisfy all possible blocking scenarios. +[state] +humanlife=20 +ailife=20 +turn=1 +activeplayer=human +activephase=MAIN1 +humanhand=Wild Onslaught;Nikya of the Old Ways;Rally to Battle;Unbreakable Formation;Hadana's Climb +humanbattlefield=Shield Mare;Incubation Druid;Incubation Druid;Bolrac-Clan Crusher|Counters:P1P1=1;Tetsuko Umezawa, Fugitive;Stomping Ground|NoETBTrigs;Temple Garden|NoETBTrigs;Hallowed Fountain|NoETBTrigs +aibattlefield=Thief of Sanity;Fireblade Artist;Wee Dragonauts From 585f0299b2511e88dc3a81cdd22df5bee650e8d1 Mon Sep 17 00:00:00 2001 From: Agetian Date: Tue, 5 Feb 2019 22:58:39 +0300 Subject: [PATCH 54/54] - Revert an accidental debug change commit. --- forge-gui-mobile-dev/src/forge/app/Main.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-gui-mobile-dev/src/forge/app/Main.java b/forge-gui-mobile-dev/src/forge/app/Main.java index 03ba4bcc8f2..d5a932cefda 100644 --- a/forge-gui-mobile-dev/src/forge/app/Main.java +++ b/forge-gui-mobile-dev/src/forge/app/Main.java @@ -41,12 +41,12 @@ public class Main { } // Set this to "true" to make the mobile game port run as a full-screen desktop application - boolean desktopMode = true;//cmd.hasOption("fullscreen"); + boolean desktopMode = cmd.hasOption("fullscreen"); // Set this to the location where you want the mobile game port to look for assets when working as a full-screen desktop application // (uncomment the bottom version and comment the top one to load the res folder from the current folder the .jar is in if you would // like to make the game load from a desktop game folder configuration). - //String desktopModeAssetsDir = "../forge-gui/"; - String desktopModeAssetsDir = "./"; + String desktopModeAssetsDir = "../forge-gui/"; + //String desktopModeAssetsDir = "./"; // Assets directory used when the game fully emulates smartphone/tablet mode (desktopMode = false), useful when debugging from IDE String assetsDir = AssetsDownloader.SHARE_DESKTOP_ASSETS ? "../forge-gui/" : "testAssets/";