Added/fixed primitives, added VOW and VOC sets, fixed order index of CC2 set, updated the "missing_cards_by_sets" folder, added new keyword "findlasttype" to find the index of latest card with specified type in target player graveyard (e.g. "Timothar, Baron of Bats"), improved Android downloader.

This commit is contained in:
Vittorio Alfieri
2021-11-10 18:25:47 +01:00
parent 8012672a70
commit 6d46467861
15 changed files with 6897 additions and 144 deletions

View File

@@ -2,8 +2,11 @@
## [master] (https://github.com/WagicProject/wagic/tree/master)
### 10/11/21
- *Committed:* Added/fixed primitives, added VOW and VOC sets, fixed order index of CC2 set, updated the "missing_cards_by_sets" folder, added new keyword "findlasttype" to find the index of latest card with specified type in target player graveyard (e.g. "Timothar, Baron of Bats"), improved Android downloader. ([Vitty85](https://github.com/Vitty85))
### 07/11/21
- *Committed:* Fixed primitives, fixed a problem on "flip" ability for some backside cards (e.g. "Edgar Markov's Coffin"), added new keywords "pnumcreswp" and "onumcreswp" to calculate the number of creatures that have toughness greater than their power. ([Vitty85](https://github.com/Vitty85))
- *Committed:* Fixed primitives, fixed a problem on "flip" ability for some backside cards (e.g. "Edgar Markov's Coffin"), added new keywords "pnumcreswp" and "onumcreswp" to calculate the number of creatures that have toughness greater than their power. https://github.com/WagicProject/wagic/commit/8012672a7047e809f8df34e4e957ddc9619bc021 ([Vitty85](https://github.com/Vitty85))
### 04/11/21
- *Committed:* Fixed a bug related to the "turnlimited" option on several ability triggers (e.g. Vampired, Discarded, etc.), restored some test of regression suite after this bug resolution. ([Vitty85](https://github.com/Vitty85))

View File

@@ -2764,7 +2764,7 @@ public class ImgDownloader {
id.equals("295229") || id.equals("295387") || id.equals("295206") || id.equals("295706") || id.equals("497549") || id.equals("497666") ||
id.equals("503860") || id.equals("522280") || id.equals("522111") || id.equals("527288") || id.equals("531927") || id.equals("527295") ||
id.equals("111220") || id.equals("416829") || id.equals("296545") || id.equals("296694") || id.equals("540473") || id.equals("540464") ||
id.equals("540708") || id.equals("539395") || id.equals("539417"))
id.equals("540708") || id.equals("539395") || id.equals("539417") || id.equals("540991"))
return false;
return true;
}
@@ -3022,7 +3022,7 @@ public class ImgDownloader {
set.equals("ISD") || set.equals("ORI") || set.equals("RIX") || set.equals("V17") ||
set.equals("UNH") || set.equals("XLN") || set.equals("SOI") || set.equals("SOK") ||
set.equals("BOK") || set.equals("CHK") || set.equals("ZNR") || set.equals("KHM") ||
set.equals("STX") || set.equals("MID") || set.equals("CC2"))
set.equals("STX") || set.equals("MID") || set.equals("CC2") || set.equals("VOW"))
rarity = "";
if(id != null && !rarity.equals("t") && (negativeId || id.equals("209162") || id.equals("209163") || id.equals("401721") ||
id.equals("401722") || id.equals("999902")))

View File

@@ -55,15 +55,6 @@ mana={6}{U}{U}
type=Sorcery
[/card]
[card]
name=Boreas Charger
text=Flying -- When Boreas Charger leaves the battlefield, choose an opponent who controls more lands than you. Search your library for a number of Plains cards equal to the difference and reveal them. Put one of them onto the battlefield tapped and the rest into your hand. Then shuffle your library.
mana={2}{W}
type=Creature
subtype=Pegasus
power=2
toughness=1
[/card]
[card]
name=Nylea's Colossus
text=Constellation - Whenever Nylea's Colossus or another enchantment enters the battlefield under your control, double target creature's power and toughness until end of turn.
mana={6}{G}

View File

@@ -39,15 +39,6 @@ power=4
toughness=2
[/card]
[card]
name=Boreas Charger
text=Flying -- When Boreas Charger leaves the battlefield, choose an opponent who controls more lands than you. Search your library for a number of Plains cards equal to the difference and reveal them. Put one of them onto the battlefield tapped and the rest into your hand. Then shuffle your library.
mana={2}{W}
type=Creature
subtype=Pegasus
power=2
toughness=1
[/card]
[card]
name=Magister of Worth
abilities=flying
text=Flying -- Will of the council - When Magister of Worth enters the battlefield, starting with you, each player votes for grace or condemnation. If grace gets more votes, each player returns each creature card from his or her graveyard to the battlefield. If condemnation gets more votes or the vote is tied, destroy all creatures other than Magister of Worth.

View File

@@ -45,15 +45,6 @@ mana={2}{R}{R}
type=Sorcery
[/card]
[card]
name=Boreas Charger
text=Flying -- When Boreas Charger leaves the battlefield, choose an opponent who controls more lands than you. Search your library for a number of Plains cards equal to the difference and reveal them. Put one of them onto the battlefield tapped and the rest into your hand. Then shuffle your library.
mana={2}{W}
type=Creature
subtype=Pegasus
power=2
toughness=1
[/card]
[card]
name=Primordial Mist
text=At the beginning of your end step, you may manifest the top card of your library. (Put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Exile a face-down permanent you control face up: You may play that card this turn. (You still pay its costs. Timing rules still apply.)
mana={4}{U}

View File

@@ -46,12 +46,6 @@ power=2
toughness=2
[/card]
[card]
name=Flesh Allergy
text=As an additional cost to cast Flesh Allergy, sacrifice a creature. -- Destroy target creature. Its controller loses life equal to the number of creatures that died this turn.
mana={2}{B}{B}
type=Sorcery
[/card]
[card]
name=Fulgent Distraction
text=Choose two target creatures. Tap those creatures, then unattach all Equipment from them.
mana={2}{W}

View File

@@ -0,0 +1,28 @@
[card]
name=Custodi Squire
abilities=flying
text=Flying -- Will of the council - When Custodi Squire enters the battlefield, starting with you, each player votes for an artifact, creature, or enchantment card in your graveyard. Return each card with the most votes or tied for most votes to your hand.
mana={4}{W}
type=Creature
subtype=Spirit Cleric
power=3
toughness=3
[/card]
[card]
name=Falkenrath Gorger
text=Each Vampire creature card you own that isn't on the battlefield has madness. The madness cost is equal to its mana cost. (If you discard a card with madness, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.)
mana={R}
type=Creature
subtype=Vampire Berserker
power=2
toughness=1
[/card]
[card]
name=Dark Impostor
text={4}{B}{B}: Exile target creature and put a +1/+1 counter on Dark Impostor. -- Dark Impostor has all activated abilities of all creature cards exiled with it.
mana={2}{B}
type=Creature
subtype=Vampire Assassin
power=2
toughness=2
[/card]

View File

@@ -1,7 +1,7 @@
[meta]
author=Wagic Team
name=Commander Collection: Black
orderindex=COM-T.CC2
orderindex=COM-U.CC2
year=2021-12-31
total=12
[/meta]

View File

@@ -0,0 +1,892 @@
[meta]
author=Wagic Team
name=Crimson Vow Commander
orderindex=COM-T.VOC
year=2021-11-19
total=177
[/meta]
[card]
primitive=Wolf
id=-547274
rarity=T
[/card]
[card]
primitive=Blood
id=-547250
rarity=T
[/card]
[card]
primitive=Spirit
id=-547249
rarity=T
[/card]
[card]
primitive=Bat
id=-547230
rarity=T
[/card]
[card]
primitive=Clue
id=-546993
rarity=T
[/card]
[card]
primitive=Treasure Sur
id=-546992
rarity=T
[/card]
[card]
primitive=Blood
id=-546990
rarity=T
[/card]
[card]
primitive=Blood
id=-546987
rarity=T
[/card]
[card]
primitive=Blood
id=-546983
rarity=T
[/card]
[card]
primitive=Vampire
id=-546982
rarity=T
[/card]
[card]
primitive=Spirit
id=-546978
rarity=T
[/card]
[card]
primitive=Spirit
id=-546976
rarity=T
[/card]
[card]
primitive=Spirit
id=-546971
rarity=T
[/card]
[card]
primitive=Spirit
id=-546970
rarity=T
[/card]
[card]
primitive=Spirit
id=-545795
rarity=T
[/card]
[card]
primitive=Angel
id=-545775
rarity=T
[/card]
[card]
primitive=Thopter
id=-545773
rarity=T
[/card]
[card]
primitive=Unknown
id=-545724
rarity=T
[/card]
[card]
primitive=Spirit
id=-545720
rarity=T
[/card]
[card]
primitive=Spirit
id=-545716
rarity=T
[/card]
[card]
primitive=Spirit
id=-545715
rarity=T
[/card]
[card]
primitive=Spirit
id=-545711
rarity=T
[/card]
[card]
primitive=Spirit
id=-545709
rarity=T
[/card]
[card]
primitive=Spirit
id=-545708
rarity=T
[/card]
[card]
primitive=Spirit
id=-545706
rarity=T
[/card]
[card]
primitive=Spirit
id=-545702
rarity=T
[/card]
[card]
primitive=Spirit
id=-545698
rarity=T
[/card]
[card]
primitive=Angel of Flight Alabaster
id=545697
rarity=R
[/card]
[card]
primitive=Benevolent Offering
id=545698
rarity=R
[/card]
[card]
primitive=Boreas Charger
id=545699
rarity=R
[/card]
[card]
primitive=Bygone Bishop
id=545700
rarity=R
[/card]
[card]
primitive=Crush Contraband
id=545701
rarity=U
[/card]
[card]
primitive=Custodi Soulbinders
id=545702
rarity=R
[/card]
[card]
primitive=Custodi Squire
id=545703
rarity=C
[/card]
[card]
primitive=Darksteel Mutation
id=545704
rarity=U
[/card]
[card]
primitive=Fell the Mighty
id=545705
rarity=R
[/card]
[card]
primitive=Field of Souls
id=545706
rarity=U
[/card]
[card]
primitive=Ghostly Prison
id=545707
rarity=U
[/card]
[card]
primitive=Hallowed Spiritkeeper
id=545708
rarity=R
[/card]
[card]
primitive=Hanged Executioner
id=545709
rarity=R
[/card]
[card]
primitive=Karmic Guide
id=545710
rarity=R
[/card]
[card]
primitive=Kirtar's Wrath
id=545711
rarity=R
[/card]
[card]
primitive=Knight of the White Orchid
id=545712
rarity=R
[/card]
[card]
primitive=Mentor of the Meek
id=545713
rarity=R
[/card]
[card]
primitive=Mirror Entity
id=545714
rarity=R
[/card]
[card]
primitive=Oyobi, Who Split the Heavens
id=545715
rarity=R
[/card]
[card]
primitive=Promise of Bunrei
id=545716
rarity=R
[/card]
[card]
primitive=Remorseful Cleric
id=545717
rarity=R
[/card]
[card]
primitive=Spectral Shepherd
id=545718
rarity=U
[/card]
[card]
primitive=Swords to Plowshares
id=545719
rarity=U
[/card]
[card]
primitive=Twilight Drover
id=545720
rarity=R
[/card]
[card]
primitive=Windborn Muse
id=545721
rarity=R
[/card]
[card]
primitive=Arcane Denial
id=545722
rarity=C
[/card]
[card]
primitive=Distant Melody
id=545723
rarity=C
[/card]
[card]
primitive=Flood of Tears
id=545724
rarity=R
[/card]
[card]
primitive=Ghostly Pilferer
id=545725
rarity=R
[/card]
[card]
primitive=Imprisoned in the Moon
id=545726
rarity=R
[/card]
[card]
primitive=Kami of the Crescent Moon
id=545727
rarity=R
[/card]
[card]
primitive=Midnight Clock
id=545728
rarity=R
[/card]
[card]
primitive=Nebelgast Herald
id=545729
rarity=U
[/card]
[card]
primitive=Rattlechains
id=545730
rarity=R
[/card]
[card]
primitive=Reconnaissance Mission
id=545731
rarity=U
[/card]
[card]
primitive=Shacklegeist
id=545732
rarity=R
[/card]
[card]
primitive=Sire of the Storm
id=545733
rarity=U
[/card]
[card]
primitive=Spectral Sailor
id=545734
rarity=U
[/card]
[card]
primitive=Supreme Phantom
id=545735
rarity=R
[/card]
[card]
primitive=Verity Circle
id=545736
rarity=R
[/card]
[card]
primitive=Ancient Craving
id=545737
rarity=U
[/card]
[card]
primitive=Anowon, the Ruin Sage
id=545738
rarity=R
[/card]
[card]
primitive=Blood Artist
id=545739
rarity=U
[/card]
[card]
primitive=Bloodline Necromancer
id=545740
rarity=U
[/card]
[card]
primitive=Bloodlord of Vaasgoth
id=545741
rarity=M
[/card]
[card]
primitive=Bloodtracker
id=545742
rarity=R
[/card]
[card]
primitive=Butcher of Malakir
id=545743
rarity=R
[/card]
[card]
primitive=Champion of Dusk
id=545744
rarity=R
[/card]
[card]
primitive=Cordial Vampire
id=545745
rarity=R
[/card]
[card]
primitive=Damnable Pact
id=545746
rarity=R
[/card]
[card]
primitive=Dark Impostor
id=545747
rarity=R
[/card]
[card]
primitive=Falkenrath Noble
id=545748
rarity=U
[/card]
[card]
primitive=Feed the Swarm
id=545749
rarity=C
[/card]
[card]
primitive=Indulgent Aristocrat
id=545750
rarity=U
[/card]
[card]
primitive=Malakir Bloodwitch
id=545751
rarity=R
[/card]
[card]
primitive=Necropolis Regent
id=545752
rarity=M
[/card]
[card]
primitive=Night's Whisper
id=545753
rarity=C
[/card]
[card]
primitive=Nirkana Revenant
id=545754
rarity=M
[/card]
[card]
primitive=Patron of the Vein
id=545755
rarity=R
[/card]
[card]
primitive=Sanctum Seeker
id=545756
rarity=R
[/card]
[card]
primitive=Stromkirk Condemned
id=545757
rarity=R
[/card]
[card]
primitive=Underworld Connections
id=545758
rarity=R
[/card]
[card]
primitive=Urge to Feed
id=545759
rarity=U
[/card]
[card]
primitive=Vampire Nighthawk
id=545760
rarity=U
[/card]
[card]
primitive=Anje's Ravager
id=545761
rarity=R
[/card]
[card]
primitive=Avacyn's Judgment
id=545762
rarity=R
[/card]
[card]
primitive=Blasphemous Act
id=545763
rarity=R
[/card]
[card]
primitive=Bloodsworn Steward
id=545764
rarity=R
[/card]
[card]
primitive=Crimson Honor Guard
id=545765
rarity=R
[/card]
[card]
primitive=Falkenrath Gorger
id=545766
rarity=R
[/card]
[card]
primitive=Mob Rule
id=545767
rarity=R
[/card]
[card]
primitive=Molten Echoes
id=545768
rarity=R
[/card]
[card]
primitive=Rakish Heir
id=545769
rarity=U
[/card]
[card]
primitive=Stensia Masquerade
id=545770
rarity=U
[/card]
[card]
primitive=Stromkirk Occultist
id=545771
rarity=R
[/card]
[card]
primitive=Vandalblast
id=545772
rarity=U
[/card]
[card]
primitive=Dovin, Grand Arbiter
id=545773
rarity=M
[/card]
[card]
primitive=Drogskol Captain
id=545774
rarity=U
[/card]
[card]
primitive=Geist of Saint Traft
id=545775
rarity=M
[/card]
[card]
primitive=Rakdos Charm
id=545776
rarity=U
[/card]
[card]
primitive=Stromkirk Captain
id=545777
rarity=U
[/card]
[card]
primitive=Vampiric Dragon
id=545778
rarity=R
[/card]
[card]
primitive=Arcane Signet
id=545779
rarity=C
[/card]
[card]
primitive=Azorius Locket
id=545780
rarity=C
[/card]
[card]
primitive=Azorius Signet
id=545781
rarity=U
[/card]
[card]
primitive=Charcoal Diamond
id=545782
rarity=C
[/card]
[card]
primitive=Commander's Sphere
id=545783
rarity=C
[/card]
[card]
primitive=Fire Diamond
id=545784
rarity=C
[/card]
[card]
primitive=Marble Diamond
id=545785
rarity=C
[/card]
[card]
primitive=Rakdos Signet
id=545786
rarity=U
[/card]
[card]
primitive=Sky Diamond
id=545787
rarity=C
[/card]
[card]
primitive=Sol Ring
id=545788
rarity=U
[/card]
[card]
primitive=Swiftfoot Boots
id=545789
rarity=U
[/card]
[card]
primitive=Unstable Obelisk
id=545790
rarity=U
[/card]
[card]
primitive=Azorius Chancery
id=545791
rarity=U
[/card]
[card]
primitive=Command Tower
id=545792
rarity=C
[/card]
[card]
primitive=Exotic Orchard
id=545793
rarity=R
[/card]
[card]
primitive=Foreboding Ruins
id=545794
rarity=R
[/card]
[card]
primitive=Moorland Haunt
id=545795
rarity=R
[/card]
[card]
primitive=Myriad Landscape
id=545796
rarity=U
[/card]
[card]
primitive=Path of Ancestry
id=545797
rarity=C
[/card]
[card]
primitive=Port Town
id=545798
rarity=R
[/card]
[card]
primitive=Prairie Stream
id=545799
rarity=R
[/card]
[card]
primitive=Rakdos Carnarium
id=545800
rarity=U
[/card]
[card]
primitive=Shadowblood Ridge
id=545801
rarity=R
[/card]
[card]
primitive=Skycloud Expanse
id=545802
rarity=R
[/card]
[card]
primitive=Smoldering Marsh
id=545803
rarity=R
[/card]
[card]
primitive=Tainted Peak
id=545804
rarity=U
[/card]
[card]
primitive=Temple of Enlightenment
id=545805
rarity=R
[/card]
[card]
primitive=Temple of Malice
id=545806
rarity=R
[/card]
[card]
primitive=Temple of the False God
id=545807
rarity=U
[/card]
[card]
primitive=Unclaimed Territory
id=545808
rarity=U
[/card]
[card]
primitive=Drogskol Reinforcements
id=546969
rarity=R
[/card]
[card]
primitive=Haunted Library
id=546970
rarity=R
[/card]
[card]
primitive=Priest of the Blessed Graf
id=546971
rarity=R
[/card]
[card]
primitive=Rhoda, Geist Avenger
id=546972
rarity=R
[/card]
[card]
primitive=Storm of Souls
id=546973
rarity=R
[/card]
[card]
primitive=Sudden Salvation
id=546974
rarity=R
[/card]
[card]
primitive=Breath of the Sleepless
id=546975
rarity=R
[/card]
[card]
primitive=Ethereal Investigator
id=546976
rarity=R
[/card]
[card]
primitive=Haunting Imitation
id=546977
rarity=R
[/card]
[card]
primitive=Occult Epiphany
id=546978
rarity=R
[/card]
[card]
primitive=Spectral Arcanist
id=546979
rarity=R
[/card]
[card]
primitive=Timin, Youthful Geist
id=546980
rarity=R
[/card]
[card]
primitive=Crossway Troublemakers
id=546981
rarity=R
[/card]
[card]
primitive=Glass-Cast Heart
id=546982
rarity=R
[/card]
[card]
primitive=Kamber, the Plunderer
id=546983
rarity=R
[/card]
[card]
primitive=Olivia's Wrath
id=546984
rarity=R
[/card]
[card]
primitive=Predators' Hour
id=546985
rarity=R
[/card]
[card]
primitive=Shadowgrange Archfiend
id=546986
rarity=R
[/card]
[card]
primitive=Arterial Alchemy
id=546987
rarity=R
[/card]
[card]
primitive=Imposing Grandeur
id=546988
rarity=R
[/card]
[card]
primitive=Laurine, the Diversion
id=546989
rarity=R
[/card]
[card]
primitive=Markov Enforcer
id=546990
rarity=R
[/card]
[card]
primitive=Midnight Arsonist
id=546991
rarity=R
[/card]
[card]
primitive=Scion of Opulence
id=546992
rarity=R
[/card]
[card]
primitive=Disorder in the Court
id=546993
rarity=R
[/card]
[card]
primitive=Sinister Waltz
id=546994
rarity=R
[/card]
[card]
primitive=Donal, Herald of Wings
id=547229
rarity=M
[/card]
[card]
primitive=Timothar, Baron of Bats
id=547230
rarity=M
[/card]
[card]
primitive=Millicent, Restless Revenant
id=547249
rarity=M
[/card]
[card]
primitive=Strefan, Maurer Progenitor
id=547250
rarity=M
[/card]
[card]
primitive=Breathkeeper Seraph
id=547269
rarity=R
[/card]
[card]
primitive=Wedding Ring
id=547270
rarity=M
[/card]
[card]
primitive=Imperious Mindbreaker
id=547271
rarity=R
[/card]
[card]
primitive=Doom Weaver
id=547272
rarity=R
[/card]
[card]
primitive=Mirage Phalanx
id=547273
rarity=R
[/card]
[card]
primitive=Hollowhenge Overlord
id=547274
rarity=R
[/card]
[card]
primitive=Thundering Mightmare
id=547275
rarity=R
[/card]
[card]
primitive=Umbris, Fear Manifest
id=547276
rarity=M
[/card]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -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
#I sorted this programatically so the other comments are removed except for AUTO_DEFINE - Vitty85 19-09-2021
#I sorted this programatically so the other comments are removed except for AUTO_DEFINE - Vitty85 10-11-2021
[card]
name=Abandon Reason
target=<upto:2>creature

View File

@@ -1,7 +1,7 @@
grade=borderline
#Planeswalkers Primitives Pack for Wagic the Homebrew.
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card
#We sorted this in alphabetical order - Luruz & Vitty85 19-09-2021
#We sorted this in alphabetical order - Luruz & Vitty85 10-11-2021
[card]
name=Abian, Luvion Usurper
auto=counter(0/0,5,loyalty)
@@ -555,6 +555,18 @@ type=Legendary Planeswalker
subtype=Chandra
[/card]
[card]
name=Chandra, Dressed to Kill
auto=counter(0/0,3,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Add red mana) add{R} controller
auto={C(0/0,1,Loyalty)}:name(+1: Add red and deal damage) target(creature,planeswalker) damage:1 && add{R} controller
auto={C(0/0,1,Loyalty)}:name(+1: Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( if cantargetcard(*[red]|*) then canplayfromexile ueot )!
auto={C(0/0,-7,Loyalty)}:name(-7: Exile top 5 cards) emblem transforms((,newability[@movedto(*[red]|mystack):all(trigger[to]) transforms((,newability[name(Deals damage) target(player^creature^planeswalker) damage:totmanaspent])) oneshot],newability[all(*[zpos<=5]|mylibrary) moveto(myexile) and!( if cantargetcard(*[red]|*) then canplayfromexile ueot )!])) forever dontremove
text=+1: Add {R}. Chandra, Dressed to Kill deals 1 damage to up to one target player or planeswalker. -- +1: Exile the top card of your library. If itâ??s red, you may cast it this turn. -- â??7: Exile the top five cards of your library. You may cast red spells from among them this turn. You get an emblem with "Whenever you cast a red spell, this emblem deals X damage to any target, where X is the amount of mana spent to cast that spell."
mana={1}{R}{R}
type=Legendary Planeswalker
subtype=Chandra
[/card]
[card]
name=Chandra, Novice Pyromancer
auto=counter(0/0,5,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Elemental creatures gets +2/+0) all(creature[elemental]|mybattlefield) 2/0 ueot
@@ -1561,6 +1573,18 @@ type=Legendary Planeswalker
subtype=Kaya
[/card]
[card]
name=Kaya, Geist Hunter
auto=counter(0/0,3,Loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Creatures gain deathtouch) all(creature|mybattlefield) transforms((,newability[deathtouch])) ueot
auto={C(0/0,1,Loyalty)}:name(+1: Creatures gain deathtouch and put counter) target(creature[token]|mybattlefield) counter(1/1) && all(creature|mybattlefield) transforms((,newability[deathtouch])) ueot
auto={C(0/0,-2,Loyalty)}:name(-2: Double the tokens) transforms((,newability[@tokencreated(*|myBattlefield):name(Double the token) all(trigger) clone options(notrigger)])) ueot
auto={C(0/0,-6,Loyalty)}:name(-6: Exile cards) all(*|graveyard) moveto(exile) and!( token(Spirit,Creature Spirit,1/1,white,flying) )!
text=+1: Creatures you control gain deathtouch until end of turn. Put a +1/+1 counter on up to one target creature token you control. -- â??2: Until end of turn, if one or more tokens would be created under your control, twice that many of those tokens are created instead. -- â??6: Exile all cards from all graveyards, then create a 1/1 white Spirit creature token with flying for each card exiled this way.
mana={1}{W}{B}
type=Legendary Planeswalker
subtype=Kaya
[/card]
[card]
name=Kaya, Ghost Assassin
auto=counter(0/0,5,loyalty)
auto={C(0/0,0,Loyalty)}:name(+0: Exile Kaya or creature) ability$!name(Choose creature or this) choice name(Kaya, Ghost Assassin) all(this) (blink)ueot && life:-2 controller _choice name(Creature) target(creature) (blink)ueot && life:-2 controller!$ controller
@@ -2571,6 +2595,17 @@ type=Legendary Planeswalker
subtype=Sorin
[/card]
[card]
name=Sorin the Mirthless
auto=counter(0/0,4,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Look top card) all(*[zpos=1]|mylibrary) moveto(myhand) and!( transforms((,newability[choice name(Put in hand) life:-manacost controller],newability[choice name(Put back in library) moveto(mylibrary)])) oneshot )!
auto={C(0/0,-2,Loyalty)}:name(-2: Create Vampire) token(Vampire,Creature Vampire,2/3,black,flying,lifelink)
auto={C(0/0,-7,Loyalty)}:name(-7: Deal 13 damage) damage:13 target(player,creature,planeswalker) && life:13 controller
text=+1: Look at the top card of your library. You may reveal that card and put it into your hand. If you do, you lose life equal to its mana value. -- â??2: Create a 2/3 black Vampire creature token with flying and lifelink. -- â??7: Sorin the Mirthless deals 13 damage to any target. You gain 13 life.
mana={2}{B}{B}
type=Legendary Planeswalker
subtype=Sorin
[/card]
[card]
name=Sorin, Solemn Visitor
auto=counter(0/0,4,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Creatures gets +1/+0 and Lifelink) emblem transforms((,newability[lord(creature|mybattlefield) 1/0],newability[lord(creature|mybattlefield) lifelink])) uynt

View File

@@ -2,7 +2,7 @@ grade=unsupported
#The cards in this file are not implemented/incomplete yet.
#Updated Card lists not in primitives (Borderline, Crappy, Unsupported and Missing Cards)
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card
#I sorted this programatically - Vitty85 19-09-2021
#I sorted this programatically - Vitty85 10-11-2021
[card]
name="Ach! Hans, Run!"
text=At the beginning of your upkeep, you may say "Ach Hans, run It's the . . ." and name a creature card. If you do, search your library for the named card, put it into play, then shuffle your library. That creature has haste. Remove it from the game at end of turn.
@@ -1025,15 +1025,6 @@ power=3
toughness=1
[/card]
[card]
name=Boreas Charger
text=Flying -- When Boreas Charger leaves the battlefield, choose an opponent who controls more lands than you. Search your library for a number of Plains cards equal to the difference and reveal them. Put one of them onto the battlefield tapped and the rest into your hand. Then shuffle your library.
mana={2}{W}
type=Creature
subtype=Pegasus
power=2
toughness=1
[/card]
[card]
name=Boros Battleshaper
text=At the beginning of each combat, up to one target creature attacks or blocks this combat if able and up to one target creature can't attack or block this combat.
mana={5}{R}{W}
@@ -3253,12 +3244,6 @@ power=2
toughness=2
[/card]
[card]
name=Flesh Allergy
text=As an additional cost to cast Flesh Allergy, sacrifice a creature. -- Destroy target creature. Its controller loses life equal to the number of creatures that died this turn.
mana={2}{B}{B}
type=Sorcery
[/card]
[card]
name=Flickerform
text=Enchant creature -- {2}{W}{W}: Exile enchanted creature and all Auras attached to it. At the beginning of the next end step, return that card to the battlefield under its owner's control. If you do, return the other cards exiled this way to the battlefield under their owners' control attached to that creature.
mana={1}{W}

View File

@@ -1133,6 +1133,35 @@ void WParsedInt::init(string s, Spell * spell, MTGCardInstance * card)
}
}
}
else if (s.find("findlasttype") != string::npos)//find the index of latest card with specified type in target player graveyard
{
intValue = 0;
bool opponent = (s.find("oppofindlasttype")!=string::npos)?true:false;
string type = (s.find("oppofindlasttype")!=string::npos)?s.substr(16):s.substr(12);
bool negate = (type.find("non")!=string::npos)?true:false;
type = negate?type.substr(3):type;
Player* p = card->controller();
if (opponent)
p = card->controller()->opponent();
for (int j = p->game->graveyard->nb_cards - 1; j >= 0; --j){
if (type == "permanent" && !negate && !p->game->graveyard->cards[j]->hasType(Subtypes::TYPE_INSTANT) && !p->game->graveyard->cards[j]->hasType(Subtypes::TYPE_SORCERY)){
intValue = j + 1;
break;
}
else if (type == "permanent" && negate && (p->game->graveyard->cards[j]->hasType(Subtypes::TYPE_INSTANT) || p->game->graveyard->cards[j]->hasType(Subtypes::TYPE_SORCERY))){
intValue = j + 1;
break;
}
else if (type != "permanent" && !negate && p->game->graveyard->cards[j]->hasType(type)){
intValue = j + 1;
break;
}
else if (type != "permanent" && negate && !p->game->graveyard->cards[j]->hasType(type)){
intValue = j + 1;
break;
}
}
}
else if (s == "scryedcards" || s == "numoftypes")//returns how many card have been scryed from current card -- returns the number of types of the card
{
if(s == "scryedcards")