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