From 78b23e43160fb9fb282a0e3376aed3c27c91a27e Mon Sep 17 00:00:00 2001 From: Northmoc Date: Wed, 8 Sep 2021 08:17:51 -0400 Subject: [PATCH 1/3] heirloom_mirror_inherited_fiend.txt and ritual counters --- .../java/forge/game/card/CounterEnumType.java | 2 ++ .../heirloom_mirror_inherited_fiend.txt | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/heirloom_mirror_inherited_fiend.txt diff --git a/forge-game/src/main/java/forge/game/card/CounterEnumType.java b/forge-game/src/main/java/forge/game/card/CounterEnumType.java index 2a606219a63..bcb297027c8 100644 --- a/forge-game/src/main/java/forge/game/card/CounterEnumType.java +++ b/forge-game/src/main/java/forge/game/card/CounterEnumType.java @@ -263,6 +263,8 @@ public enum CounterEnumType { QUEST("QUEST", 251, 189, 0), + RITUAL("RITUAL", 155, 17, 30), + RUST("RUST", 255, 181, 116), SCREAM("SCREM", 0, 220, 255), diff --git a/forge-gui/res/cardsfolder/upcoming/heirloom_mirror_inherited_fiend.txt b/forge-gui/res/cardsfolder/upcoming/heirloom_mirror_inherited_fiend.txt new file mode 100644 index 00000000000..c7ff37d2a83 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/heirloom_mirror_inherited_fiend.txt @@ -0,0 +1,23 @@ +Name:Heirloom Mirror +ManaCost:1 B +Types:Artifact +A:AB$ Draw | Cost$ 1 T PayLife<1> Discard<1/Card/card> | NumCards$ 1 | SubAbility$ DBMill | SorcerySpeed$ True | StackDescription$ SpellDescription | SpellDescription$ Draw a card, then mill a card. +SVar:DBMill:DB$ Mill | NumCards$ 1 | Defined$ You | SubAbility$ DBPutCounter1 | StackDescription$ None +SVar:DBPutCounter1:DB$ PutCounter | CounterType$ RITUAL | CounterNum$ 1 | SubAbility$ DBTransform | StackDescription$ SpellDescription | SpellDescription$ Put a ritual counter on CARDNAME. +SVar:DBTransform:DB$ SetState | Defined$ Self | Mode$ Transform | ConditionDefined$ Self | ConditionPresent$ Card.counters_GE3_RITUAL | StackDescription$ SpellDescription | SpellDescription$ Then if it has 3 or more ritual counters on it, transform it. Activate only as a sorcery. +AlternateMode:DoubleFaced +DeckHas:Ability$Discard & Ability$Mill & Ability$Counters +Oracle:{1}, {T}, Pay 1 life, Discard a card: Draw a card, then mill a card. Put a ritual counter on Heirloom Mirror. Then if it has 3 or more ritual counters on it, transform it. Activate only as a sorcery. + +ALTERNATE + +Name:Inherited Fiend +ManaCost:no cost +Colors:black +Types:Creature Demon +PT:4/4 +K:Flying +A:AB$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Creature | TgtPrompt$ Select target creature card from a graveyard | SubAbility$ DBPutCounter | StackDescription$ Exile {c:Targeted} from the graveyard. | SpellDescription$ Exile target creature card from a graveyard. +SVar:DBPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 | StackDescription$ SpellDescription | SpellDescription$ Put a +1/+1 counter on CARDNAME. +DeckHas:Ability$Graveyard & Ability$Counters +Oracle:Flying\n{2}{B}: Exile target creature card from a graveyard. Put a +1/+1 counter on Inherited Fiend. From f471d062cb348fbe9a8c165180f9d1910e891439 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Wed, 8 Sep 2021 08:18:39 -0400 Subject: [PATCH 2/3] life is lowercase in MtG syntax in this context --- forge-game/src/main/java/forge/game/cost/CostPayLife.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/cost/CostPayLife.java b/forge-game/src/main/java/forge/game/cost/CostPayLife.java index b13b2b64a61..581895ff2b9 100644 --- a/forge-game/src/main/java/forge/game/cost/CostPayLife.java +++ b/forge-game/src/main/java/forge/game/cost/CostPayLife.java @@ -57,7 +57,7 @@ public class CostPayLife extends CostPart { if (desc != null) { sb.append(desc); } else { - sb.append(this.getAmount()).append(" Life"); + sb.append(this.getAmount()).append(" life"); } return sb.toString(); } From cd6b7963c456ab67e9d16863b804e8f74f3cbc8f Mon Sep 17 00:00:00 2001 From: Northmoc Date: Wed, 8 Sep 2021 19:27:56 -0400 Subject: [PATCH 3/3] geistflame_reservoir.txt --- .../cardsfolder/upcoming/geistflame_reservoir.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/geistflame_reservoir.txt diff --git a/forge-gui/res/cardsfolder/upcoming/geistflame_reservoir.txt b/forge-gui/res/cardsfolder/upcoming/geistflame_reservoir.txt new file mode 100644 index 00000000000..385c73a052d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/geistflame_reservoir.txt @@ -0,0 +1,14 @@ +Name:Geistflame Reservoir +ManaCost:2 R +Types:Artifact +T:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigCharge | TriggerDescription$ Whenever you cast an instant or sorcery spell, put a charge counter on CARDNAME. +SVar:TrigCharge:DB$ PutCounter | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 +A:AB$ DealDamage | Cost$ 1 R T SubCounter | NumDmg$ X | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | SpellDescription$ It deals that much damage to any target. +SVar:X:Count$xPaid +A:AB$ Dig | Cost$ 1 R T | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | AILogic$ ExileAndPlayUntilEOT | StackDescription$ SpellDescription | SpellDescription$ Exile the top card of your library. You may play that card this turn. +SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBCleanup | ExileOnMoved$ Exile +SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play this card this turn. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Counters +DeckHints:Type$Instant|Sorcery +Oracle:Whenever you cast an instant or sorcery spell, put a charge counter on Geistflame Reservoir.\n{1}{R}, {T}, Remove any number of charge counters from Geistflame Reservoir: It deals that much damage to any target.\n{1}{R}, {T}: Exile the top card of your library. You may play that card this turn.