From b03f263fce112c3612fe9d23d993d626ecc82e61 Mon Sep 17 00:00:00 2001 From: Tim Mocny Date: Tue, 25 Feb 2020 16:39:45 +0000 Subject: [PATCH 1/2] Bronze Tablet --- forge-gui/res/cardsfolder/b/bronze_tablet.txt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 forge-gui/res/cardsfolder/b/bronze_tablet.txt diff --git a/forge-gui/res/cardsfolder/b/bronze_tablet.txt b/forge-gui/res/cardsfolder/b/bronze_tablet.txt new file mode 100644 index 00000000000..49d262d1f40 --- /dev/null +++ b/forge-gui/res/cardsfolder/b/bronze_tablet.txt @@ -0,0 +1,23 @@ +Name:Bronze Tablet +ManaCost:6 +Types:Artifact +K:Remove CARDNAME from your deck before playing if you're not playing for ante. +K:CARDNAME enters the battlefield tapped. +A:AB$ Pump | Cost$ 4 T | ValidTgts$ Permanent.nonToken+OppOwn | TgtPrompt$ Select target nontoken permanent an opponent owns | RememberObjects$ TargetedController | SubAbility$ Choice1 | StackDescription$ SpellDescription | SpellDescription$ Exile CARDNAME and target nontoken permanent an opponent owns. That player may pay 10 life. If they do, put Bronze Tablet into its owner’s graveyard. Otherwise, that player owns Bronze Tablet and you own the other exiled card. +SVar:Choice1:DB$ GenericChoice | Choices$ ExchangeOwnership,Concede | Defined$ TargetedOwner | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ LT10 | SubAbility$ Choice2 | StackDescription$ None +SVar:Choice2:DB$ GenericChoice | Choices$ PayLife,ExchangeOwnership,Concede | Defined$ TargetedOwner | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ GE10 | StackDescription$ None +SVar:X:PlayerCountRemembered$LifeTotal +SVar:ExchangeOwnership:DB$ GainOwnership | Defined$ Targeted | DefinedPlayer$ You | SubAbility$ TargetToExile1 | SpellDescription$ Exchange ownership of your card for Bronze Tablet (both cards remain exiled) +SVar:TargetToExile1:DB$ ChangeZone | Defined$ Targeted | Origin$ All | Destination$ Exile | SubAbility$ BronzeExchange +SVar:BronzeExchange:DB$ GainOwnership | Defined$ Self | DefinedPlayer$ Remembered | SubAbility$ TabletToExile1 +SVar:TabletToExile1:DB$ ChangeZone | Defined$ Self | Origin$ All | Destination$ Exile | SubAbility$ DBCleanup +SVar:PayLife:DB$ LoseLife | LifeAmount$ 10 | Defined$ TargetedOwner | SubAbility$ TargetToExile2 | SpellDescription$ Pay 10 life (your card remains exiled and Bronze Tablet goes to its owner's graveyard) +SVar:TargetToExile2:DB$ ChangeZone | Defined$ Targeted | Origin$ All | Destination$ Exile | SubAbility$ TabletToExile2 +SVar:TabletToExile2:DB$ ChangeZone | Defined$ Self | Origin$ All | Destination$ Exile | SubAbility$ TabletToGraveyard +SVar:TabletToGraveyard:DB$ ChangeZone | Defined$ Self | Origin$ Exile | Destination$ Graveyard | SubAbility$ DBCleanup +SVar:Concede:DB$ LosesGame | Defined$ TargetedOwner | SpellDescription$ Concede the game | SubAbility$ TargetToExile3 +SVar:TargetToExile3:DB$ ChangeZone | Defined$ Targeted | Origin$ All | Destination$ Exile | SubAbility$ TabletToExile3 +SVar:TabletToExile3:DB$ ChangeZone | Defined$ Self | Origin$ All | Destination$ Exile | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +AI:RemoveDeck:All +Oracle:Remove Bronze Tablet from your deck before playing if you’re not playing for ante.\nBronze Tablet enters the battlefield tapped.\n{4}, {T}: Exile Bronze Tablet and target nontoken permanent an opponent owns. That player may pay 10 life. If they do, put Bronze Tablet into its owner’s graveyard. Otherwise, that player owns Bronze Tablet and you own the other exiled card. From 931d08d3ac2d2280fa3e196ab0ce7dd70349ca21 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Wed, 26 Feb 2020 11:05:23 +0000 Subject: [PATCH 2/2] AttachEffect: ChooseAnObject if list is empty and chosen is null, don't add to list --- .../main/java/forge/game/ability/effects/AttachEffect.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java index 6402171ac78..ff0c74c1020 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java @@ -62,7 +62,9 @@ public class AttachEffect extends SpellAbilityEffect { if (sa.hasParam("ChooseAnObject")) { Card c = p.getController().chooseSingleEntityForEffect(attachments, sa, sa.getParam("ChooseAnObject")); attachments.clear(); - attachments.add(c); + if (c != null) { + attachments.add(c); + } } } else { attachments = new CardCollection(source);