From 9a55e037905522122c5c619e2420f4ed4dbf1301 Mon Sep 17 00:00:00 2001 From: Eduardo MG Date: Mon, 10 Mar 2025 19:16:04 -0600 Subject: [PATCH] Cards from Aetherdrift and fix to Crested Sunmare Fixed Crested Sunmare token creation condition. Add cards: Alacrian Armory Broadside Barrage Broodheart Engine Chitin Gravestalker Coalstoke Gearhulk Collision Course Haunt the Network Hellish Sideswipe Intimidation Tactics Kolodin, Triumph Caster Mindspring Merfolk Ooze Patrol Spectral Interference Stock Up Voyager Glidecar Wreck Remover --- .../bin/Res/sets/primitives/borderline.txt | 177 +++++++++++++++++- projects/mtg/bin/Res/sets/primitives/mtg.txt | 2 +- projects/mtg/include/Wagic_Version.h | 4 +- 3 files changed, 177 insertions(+), 6 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index aca693218..8bca5bccc 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -1,6 +1,6 @@ #Primitives Pack for Wagic the Homebrew. #Please keep these card alphabetized, and try to have the "name=" line at the top of each card -#Sorted this programmatically - Thanks to Vitty85 07-03-2024 +#Sorted this programmatically - Thanks to Vitty85 10-03-2024 [card] name=+2 Mace auto={3}:equip @@ -1688,6 +1688,15 @@ power=2 toughness=2 [/card] [card] +name=Alacrian Armory +auto=lord(creature|myBattlefield) 0/1 +auto=lord(creature|myBattlefield) vigilance +auto=@each my combatbegins:may target(vehicle|myBattlefield) becomes(Artifact Creature) ueot +text=Creatures you control get +0/+1 and have vigilance. -- At the beginning of combat on your turn, choose up to one target Mount or Vehicle you control. Until end of turn, that permanent becomes saddled if it's a Mount and becomes an artifact creature if it's a Vehicle. +mana={3}{W} +type=Artifact +[/card] +[card] name=Aladdin auto={1}{R}{R}{T}:name(Gain control of target artifact) name(Gain control of target artifact) target(artifact) moveto(mybattlefield) and!( counter(0/0,1,AladdinCounter) )! auto=@movedto(this|nonbattlezone) from(mybattlefield):all(artifact[counter{0/0.1.AladdinCounter}]|mybattlefield) moveto(ownerbattlefield) and!( removeallcounters(0/0,1,AladdinCounter) )! @@ -13972,6 +13981,15 @@ power=5 toughness=4 [/card] [card] +name=Broadside Barrage +target=creature,planeswalker +auto=damage:5 +auto=ability$! _LOOT_ !$ controller +text=Broadside Barrage deals 5 damage to target creature or planeswalker. Draw a card, then discard a card. +mana={1}{U}{R} +type=Instant +[/card] +[card] name=Broken Bond target=artifact,enchantment auto=destroy @@ -14135,6 +14153,14 @@ power=3 toughness=3 [/card] [card] +name=Broodheart Engine +auto=@each my upkeep:_SURVEIL1_ +auto={2}{B}{G}{T}{S}:target(creature,vehicle|mygraveyard) moveTo(battlefield) asSorcery +text=At the beginning of your upkeep, surveil 1. -- {2}{B}{G}, {T}, Sacrifice this artifact: Return target creature or Vehicle card from your graveyard to the battlefield. Activate only as a sorcery. +mana={B}{G} +type=Artifact +[/card] +[card] name=Broodmate Tyrant abilities=flying auto=_DRAGONTOKEN_ @@ -18368,6 +18394,18 @@ power=5 toughness=4 [/card] [card] +name=Chitin Gravestalker +abilities=cycling +anyzone=affinity(*[artifact;creature]|myGraveyard) reduce({1}) +autohand=__CYCLING__({2}) +text=This spell costs {1} less to cast for each artifact and/or creature card in your graveyard. -- Cycling {2} ({2}, Discard this card: Draw a card.) +mana={5}{B} +type=Creature +subtype=Insect Warrior +power=5 +toughness=4 +[/card] +[card] name=Chittering Dispatcher abilities=devoid auto=@movedTo(this|nonbattlezone) from(battlefield):_ELDRAZISPAWN_ @@ -19757,6 +19795,17 @@ power=3 toughness=4 [/card] [card] +name=Coalstoke Gearhulk +abilities=deathtouch,menace +auto=target(creature[manacost<=4]|graveyard) moveTo(battlefield) and!(transforms((Vampire,newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath],menace,deathtouch,haste,newability[@next end:moveTo(exile)])) forever )! +text=Menace, deathtouch -- When this creature enters, put target creature card with mana value 4 or less from a graveyard onto the battlefield under your control with a finality counter on it. That creature gains menace, deathtouch, and haste. At the beginning of your next end step, exile that creature. +mana={1}{B}{B}{R}{R} +type=Artifact Creature +subtype=Construct +power=5 +toughness=4 +[/card] +[card] name=Coastal Bulwark abilities=defender auto=aslongas(Island|myBattlefield) 2/0 @@ -20125,6 +20174,14 @@ mana={1}{RG} type=Instant [/card] [card] +name=Collision Course +auto=choice damage:type:*[creatures;Vehicles]:myBattlefield target(creature) +auto=choice destroy target(artifact) +text=Choose one - -- - Collision Course deals X damage to target creature, where X is the number of permanents you control that are creatures and/or Vehicles. -- - Destroy target artifact. +mana={1}{W} +type=Sorcery +[/card] +[card] name=Collision of Realms aicode=activate transforms((,newability[all(creature[zpos<=findfirsttypecreature]|mylibrary) moveto(mybattlefield) and!( all(*[zpos<=findfirsttypecreature]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot auto=if type(creature[-token]|mybattlefield)~morethan~0 then all(creature|mybattlefield) moveto(mylibrary) && shuffle && ability$!name(Look top card) reveal:1 revealzone(mylibrary) revealuntil(creature|mylibrary) optionone choice name(Choose creature) target(creature|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot)! optiononeend optiontwo choice name(put in graveyard) all(*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveTo(mybattlefield) afterrevealedend revealend!$ controller @@ -22664,7 +22721,7 @@ toughness=3 [card] name=Crested Sunmare auto=lord(Other Horse|myBattlefield) indestructible -auto=@lifeof(player) turnlimited:transforms((,newability[@next end:token(Horse,creature Horse,5/5,white)])) ueot +auto=@each my end restriction{compare(lifegain)~morethan~0}:create(Horse:creature Horse:5/5:white) text=Other Horses you control have indestructible. -- At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token. mana={3}{W}{W} type=Creature @@ -29519,7 +29576,7 @@ subtype=Equipment [card] name=Drawn from Dreams aicode=activate target(*[zpos<=7]|mylibrary) moveto(hand) -auto=name(look) reveal:7 optionone name(Get two card) target(<2>*|reveal) moveto(hand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend +auto=name(look) reveal:7 optionone name(Get two cards) target(<2>*|reveal) moveto(hand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top seven cards of your library. Put two of them into your hand and the rest on the bottom of your library in a random order. mana={2}{U}{U} type=Sorcery @@ -50174,6 +50231,15 @@ power=1 toughness=1 [/card] [card] +name=Haunt the Network +target=opponent +auto=_THOPTERTOKEN_*2 +auto=life:-type:artifact:mybattlefield opponent +text=Choose target opponent. Create two 1/1 colorless Thopter artifact creature tokens with flying. Then the chosen player loses X life and you gain X life, where X is the number of artifacts you control. +mana={3}{U}{B} +type=Sorcery +[/card] +[card] name=Haunted Hellride auto=@each my blockers:target(creature|myBattlefield) transforms((,newability[1/0],deathtouch,newability[untap])) ueot auto=_CREW1_ @@ -50984,6 +51050,18 @@ mana={2}{B} type=Instant [/card] [card] +name=Hellish Sideswipe +other={B}{S(vehicle|myBattlefield)} name(Sacrifice a vehicle) +otherrestriction=type(vehicle|mybattlefield)~morethan~0 +restriction=type(*[artifact;creature]|mybattlefield)~morethan~0 +target=creature,vehicle +auto=destroy +auto=if paid(alternative) then draw:1 controller +text=As an additional cost to cast this spell, sacrifice an artifact or creature. -- Destroy target creature or Vehicle. If the sacrificed permanent was a Vehicle, draw a card. +mana={B}{S(*[artifact;creature]|mybattlefield)} +type=Sorcery +[/card] +[card] name=Hellkite Courser abilities=flying auto=may target(*[iscommander]|mycommandzone) moveto(mybattlefield) and!( transforms((,haste,newability[phaseactionmulti[end once] moveto(ownercommandzone)])) ueot )! @@ -56490,6 +56568,16 @@ power=2 toughness=2 [/card] [card] +name=Intimidation Tactics +abilities=cycling +target=opponent +auto=moveTo(exile) notatarget(artifact,creature|targetedpersonshand) +autohand=__CYCLING__({3}) +text=Target opponent reveals their hand. You choose an artifact or creature card from it. Exile that card. -- Cycling {3} ({3}, Discard this card: Draw a card.) +mana={B} +type=Sorcery +[/card] +[card] name=Into the Fae Court auto=Draw:3 auto=create(Faerie:creature Faerie:1/1:blue:flying:cloud)*3 @@ -61884,6 +61972,17 @@ power=2 toughness=2 [/card] [card] +name=Kolodin, Triumph Caster +auto=lord(mount,vehicle|myBattlefield) haste +auto=@movedTo(Vehicle|myBattlefield):all(trigger) becomes(Artifact Creature) ueot +text=Mounts and Vehicles you control have haste. -- Whenever a Mount you control enters, it becomes saddled until end of turn. -- Whenever a Vehicle you control enters, it becomes an artifact creature until end of turn. +mana={R}{W} +type=Legendary Creature +subtype=Human Pilot +power=2 +toughness=3 +[/card] +[card] name=Kolvori, God of Kinship other={1}{G} name(The Ringhart Crest) otherrestriction=can play artifact,compare(isflipped)~equalto~1 @@ -70394,6 +70493,26 @@ mana={3}{U} type=Artifact [/card] [card] +name=Mindspring Merfolk +auto=this(cantargetcard(*[-effect]) {10}{U}{U}{T}:name() name(x=10) becomes(effect) forever && draw:10 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {9}{U}{U}{T}:name() name(x=9) becomes(effect) forever && draw:9 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {8}{U}{U}{T}:name() name(x=8) becomes(effect) forever && draw:8 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {7}{U}{U}{T}:name() name(x=7) becomes(effect) forever && draw:7 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {6}{U}{U}{T}:name() name(x=6) becomes(effect) forever && draw:6 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {5}{U}{U}{T}:name() name(x=5) becomes(effect) forever && draw:5 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {4}{U}{U}{T}:name() name(x=4) becomes(effect) forever && draw:4 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {3}{U}{U}{T}:name() name(x=3) becomes(effect) forever && draw:3 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {2}{U}{U}{T}:name() name(x=2) becomes(effect) forever && draw:2 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {1}{U}{U}{T}:name() name(x=1) becomes(effect) forever && draw:1 && counter(1/1) all(merfolk[creature]|myBattlefield) +auto=this(cantargetcard(*[-effect]) {U}{U}{T}:name() name(x=0) becomes(effect) forever && counter(1/1) all(merfolk[creature]|myBattlefield) +text=Exhaust - {X}{U}{U}, {T}: Draw X cards. Put a +1/+1 counter on each Merfolk creature you control. (Activate each exhaust ability only once.) +mana={U} +type=Creature +subtype=Merfolk Wizard +power=1 +toughness=1 +[/card] +[card] name=Mindwhisker auto=@each my upkeep:_SURVEIL1_ auto=aslongas(*|mygraveyard) lord(creature|opponentBattlefield) -1/-0 >6 @@ -78197,6 +78316,16 @@ mana={3}{G} type=Enchantment [/card] [card] +name=Ooze Patrol +auto=deplete:2 && foreach(*[artifact;creature]|myGraveyard) counter(1/1) +text=When this creature enters, mill two cards, then put a +1/+1 counter on this creature for each artifact and/or creature card in your graveyard. (To mill two cards, put the top two cards of your library into your graveyard.) +mana={3}{G} +type=Creature +subtype=Ooze +power=2 +toughness=2 +[/card] +[card] name=Opal Acrolith auto=@movedTo(creature|opponentstack):if cantargetcard(*[enchantment]|*) then transforms((removetypes)) forever && transforms((Soldier Creature,setpower=2,settoughness=4)) forever auto={0}:name(Becomes an enchantment) transforms((removetypes,newability[becomes(Enchantment)])) forever @@ -104539,6 +104668,14 @@ power=4 toughness=4 [/card] [card] +name=Spectral Interference +target=artifact,creature|stack +auto=transforms((,newability[pay[[{4}]] name(pay 4 mana) donothing?fizzleto(exile)])) forever +text=Counter target artifact or creature spell unless its controller pays {4}. +mana={1}{U} +type=Instant +[/card] +[card] name=Spectral Sailor abilities=flash,flying auto={3}{U}:draw:1 @@ -107136,6 +107273,13 @@ power=1 toughness=1 [/card] [card] +name=Stock Up +auto=name(look) reveal:5 optionone name(Get two cards) target(<2>*|reveal) moveto(hand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend +text=Look at the top five cards of your library. Put two of them into your hand and the rest on the bottom of your library in any order. +mana={2}{U} +type=Sorcery +[/card] +[card] name=Stocking the Pantry auto=@totalcounteradded(1/1) from(creature|mybattlefield):counter(0/0,1,supply) auto={2}{C(0/0,-1,supply)}:draw:1 @@ -123532,6 +123676,18 @@ mana={5}{W}{U} type=Sorcery [/card] [card] +name=Voyager Glidecar +auto=_SCRY1_ +auto={T(creature|myBattlefield)}{T(creature|myBattlefield)}{T(creature|myBattlefield)}:becomes(artifact creature,flying) ueot && counter(1/1) +auto=_CREW1_ +text=When this Vehicle enters, scry 1. -- Tap three other untapped creatures you control: Until end of turn, this Vehicle becomes an artifact creature and gains flying. Put a +1/+1 counter on it. -- Crew 1 +mana={W} +type=Artifact +subtype=Vehicle +power=2 +toughness=3 +[/card] +[card] name=Voyager Quickwelder auto=lord(artifact|mycastingzone) altercost(colorless,-1) text=Artifact spells you cast cost {1} less to cast. @@ -127145,6 +127301,21 @@ power=2 toughness=2 [/card] [card] +name=Wreck Remover +abilities=cycling +auto=life:1 +auto=may moveTo(exile) target(*|graveyard) +auto=_ATTACKING_life:1 +auto=_ATTACKING_may moveTo(exile) target(*|graveyard) +autohand=__CYCLING__({2}) +text=Whenever this creature enters or attacks, exile up to one target card from a graveyard. You gain 1 life. -- Cycling {2} ({2}, Discard this card: Draw a card.) +mana={4} +type=Artifact Creature +subtype=Construct +power=3 +toughness=4 +[/card] +[card] name=Wreckage Wickerfolk abilities=flying auto=_SURVEIL2_ diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 278e05c55..4b8a9ddd5 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -11040,7 +11040,7 @@ type=Sorcery [/card] [card] name=Black Vise -auto=name(choose opponent) notatarget(opponent) deplete:0 +auto=name(choose opponent) notatarget(opponent) doNothing auto=@each targetedplayer upkeep:damage:type:*:targetedpersonshandminus4minusend targetedplayer text=As Black Vise enters, choose an opponent. -- At the beginning of the chosen player's upkeep, Black Vise deals X damage to that player, where X is the number of cards in their hand minus 4. mana={1} diff --git a/projects/mtg/include/Wagic_Version.h b/projects/mtg/include/Wagic_Version.h index 8c6fbb680..7cdc44e64 100644 --- a/projects/mtg/include/Wagic_Version.h +++ b/projects/mtg/include/Wagic_Version.h @@ -13,8 +13,8 @@ Mod by: Vitty85 /* Wagic versions */ #define WAGIC_VERSION_MAJOR 0 -#define WAGIC_VERSION_MEDIUM 24 -#define WAGIC_VERSION_MINOR 0 +#define WAGIC_VERSION_MEDIUM 25 +#define WAGIC_VERSION_MINOR 3 #define VERSION_DOT(a, b, c) a ##.## b ##.## c #define VERSION_WITHOUT_DOT(a, b, c) a ## b ## c