Merge pull request #380 from Northmoc/ncc17

NCC: 17 April
This commit is contained in:
Agetian
2022-05-18 21:42:22 +03:00
committed by GitHub
10 changed files with 104 additions and 3 deletions

View File

@@ -334,7 +334,7 @@ public final class AbilityFactory {
String tgtWhat = mapParams.get("ValidTgts");
final String[] commonStuff = new String[] {
//list of common one word non-core type ValidTgts that should be lowercase in the target prompt
"Player", "Opponent"
"Player", "Opponent", "Card"
};
if (Arrays.asList(commonStuff).contains(tgtWhat) || CardType.CoreType.isValidEnum(tgtWhat)) {
tgtWhat = tgtWhat.toLowerCase();

View File

@@ -3,7 +3,7 @@ ManaCost:3 U
Types:Creature Zombie
PT:3/3
K:Exploit
T:Mode$ Exploited | ValidCard$ Creature | ValidSource$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME exploits a creature, return target target instant or sorcery card from your graveyard to your hand.
T:Mode$ Exploited | ValidCard$ Creature | ValidSource$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME exploits a creature, return target instant or sorcery card from your graveyard to your hand.
SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Select target instant or sorcery card in your graveyard | ValidTgts$ Instant.YouCtrl,Sorcery.YouCtrl
DeckHas:Ability$Sacrifice|Graveyard
DeckHints:Type$Instant|Sorcery
@@ -11,4 +11,4 @@ SVar:X:Count$ValidGraveyard Instant.YouOwn,Sorcery.YouOwn/LimitMax.1
SVar:Y:Count$Valid Creature.token,Creature.cmcLE2/LimitMax.1
SVar:Z:SVar$X/Plus.Y
SVar:NeedsToPlayVar:Z EQ2
Oracle:Exploit (When this creature enters the battlefield, you may sacrifice a creature.)\nWhen Repository Skaab exploits a creature, return target target instant or sorcery card from your graveyard to your hand.
Oracle:Exploit (When this creature enters the battlefield, you may sacrifice a creature.)\nWhen Repository Skaab exploits a creature, return target instant or sorcery card from your graveyard to your hand.

View File

@@ -0,0 +1,12 @@
Name:Killer Service
ManaCost:2 G
Types:Enchantment
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigFood | TriggerDescription$ When CARDNAME enters the battlefield, create a number of Food tokens equal to the number of opponents you have. (They're artifacts with "{2}, {T}, Sacrifice this artifact: You gain 3 life.")
SVar:TrigFood:DB$ Token | TokenAmount$ X | TokenScript$ c_a_food_sac
SVar:X:PlayerCountOpponents$Amount
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your end step, you may pay {2} and sacrifice a token. If you do, create a 4/4 green Rhino Warrior creature token.
SVar:TrigToken:AB$ Token | Cost$ 2 Sac<1/Permanent.token/token> | TokenScript$ g_4_4_rhino_warrior
SVar:AIPreference:SacCost$Card.token+Food,Card.token+Treasure,Card.token+Artifact,Card.token+powerLE2+toughnessLE2
DeckHas:Ability$Token|Food|Sacrifice & Type$Artifact|Food|Rhino|Warrior
DeckHints:Ability$Food
Oracle:When Killer Service enters the battlefield, create a number of Food tokens equal to the number of opponents you have. (They're artifacts with "{2}, {T}, Sacrifice this artifact: You gain 3 life.")\nAt the beginning of your end step, you may pay {2} and sacrifice a token. If you do, create a 4/4 green Rhino Warrior creature token.

View File

@@ -0,0 +1,9 @@
Name:Life Insurance
ManaCost:3 W B
Types:Enchantment
K:Extort
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.nonToken | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever a nontoken creature dies, you lose 1 life and create a Treasure token.
SVar:TrigLoseLife:DB$ LoseLife | LifeAmount$ 1 | SubAbility$ DBTreasure
SVar:DBTreasure:DB$ Token | TokenScript$ c_a_treasure_sac
DeckHas:Ability$LifeGain|Token|Sacrifice & Types$Artifact|Treasure
Oracle:Extort (Whenever you cast a spell, you may pay {W/B}. If you do, each opponent loses 1 life and you gain that much life.)\nWhenever a nontoken creature dies, you lose 1 life and create a Treasure token.

View File

@@ -0,0 +1,10 @@
Name:Maestros Confluence
ManaCost:3 U B R
Types:Sorcery
A:SP$ Charm | Choices$ Return,Curse,Goad | CharmNum$ 3 | CanRepeatModes$ True
SVar:Return:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Select target monocolored instant or sorcery card | ValidTgts$ Instant.MonoColor+YouOwn,Sorcery.MonoColor+YouOwn | SpellDescription$ Return target monocolored instant or sorcery card from your graveyard to your hand.
SVar:Curse:DB$ Pump | ValidTgts$ Creature | NumAtt$ -3 | NumDef$ -3 | IsCurse$ True | SpellDescription$ Target creature gets -3/-3 until end of turn.
SVar:Goad:DB$ Goad | ValidTgts$ Player | Defined$ Valid Creature.ControlledBy TargetedPlayer | SpellDescription$ Goad each creature target player controls. (Until your next turn, those creatures attack each combat if able and attack a player other than you if able.)
DeckHas:Ability$Graveyard
DeckHints:Type$Instant|Sorcery
Oracle:Choose three. You may choose the same mode more than once.\n• Return target monocolored instant or sorcery card from your graveyard to your hand.\n• Target creature gets -3/-3 until end of turn.\n• Goad each creature target player controls. (Until your next turn, those creatures attack each combat if able and attack a player other than you if able.)

View File

@@ -0,0 +1,9 @@
Name:Make an Example
ManaCost:3 B
Types:Sorcery
A:SP$ RepeatEach | RepeatPlayers$ Opponent | RepeatSubAbility$ DBTwoPiles | SubAbility$ DBSac | SpellDescription$ Each opponent separates the creatures they control into two piles. For each opponent, you choose one of their piles.
SVar:DBTwoPiles:DB$ TwoPiles | Defined$ Remembered | Separator$ Remembered | Chooser$ You | ChosenPile$ DBImprint | ValidCards$ Creature.RememberedPlayerCtrl | Zone$ Battlefield
SVar:DBImprint:DB$ Pump | ImprintCards$ Remembered
SVar:DBSac:DB$ SacrificeAll | Defined$ Imprinted | SubAbility$ DBCleanup | StackDescription$ Each opponent sacrifices the creatures in their chosen pile. | SpellDescription$ Each opponent sacrifices the creatures in their chosen pile. (Piles can be empty.)
SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True | ClearRemembered$ True
Oracle:Each opponent separates the creatures they control into two piles. For each opponent, you choose one of their piles. Each opponent sacrifices the creatures in their chosen pile. (Piles can be empty.)

View File

@@ -0,0 +1,9 @@
Name:Mask of the Schemer
ManaCost:2 U
Types:Artifact Equipment
T:Mode$ DamageDone | ValidSource$ Creature.EquippedBy | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigConnive | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature deals combat damage to a player, it connives X, where X is the amount of damage it dealt to that player. (Draw X cards, then discard X cards. Put a +1/+1 counter on that creature for each nonland card discarded this way.)
SVar:TrigConnive:DB$ Connive | Defined$ Equipped | ConniveNum$ X
SVar:X:TriggerCount$DamageAmount
K:Equip:2
DeckHas:Ability$Discard|Counters
Oracle:Whenever equipped creature deals combat damage to a player, it connives X, where X is the amount of damage it dealt to that player. (Draw X cards, then discard X cards. Put a +1/+1 counter on that creature for each nonland card discarded this way.)\nEquip {2}

View File

@@ -0,0 +1,24 @@
Name:Master of Ceremonies
ManaCost:3 W
Types:Creature Rhino Druid
PT:3/4
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of your upkeep, each opponent chooses money, friends, or secrets. For each player who chose money, you and that player each create a Treasure token. For each player who chose friends, you and that player each create a 1/1 green and white Citizen creature token. For each player who chose secrets, you and that player each draw a card.
SVar:TrigChoose:DB$ RepeatEach | RepeatPlayers$ Opponent | RepeatSubAbility$ DBChoice | SubAbility$ DBMoney | ClearRememberedBeforeLoop$ True
SVar:DBChoice:DB$ GenericChoice | Defined$ Player.IsRemembered | Choices$ Money,Friends,Secrets | ShowChoice$ True
SVar:Money:DB$ Pump | Defined$ Player.IsRemembered | NoteCards$ Self | NoteCardsFor$ Money | SpellDescription$ Money
SVar:Friends:DB$ Pump | Defined$ Player.IsRemembered | NoteCards$ Self | NoteCardsFor$ Friends | SpellDescription$ Friends
SVar:Secrets:DB$ Pump | Defined$ Player.IsRemembered | NoteCards$ Self | NoteCardsFor$ Secrets | SpellDescription$ Secrets
SVar:DBMoney:DB$ RepeatEach | RepeatPlayers$ Player.NotedForMoney | RepeatSubAbility$ DBMoneyPump | SubAbility$ DBFriends | ClearRememberedBeforeLoop$ True
SVar:DBMoneyPump:DB$ Pump | RememberObjects$ You | SubAbility$ DBTreasure
SVar:DBTreasure:DB$ Token | TokenOwner$ Remembered | TokenScript$ c_a_treasure_sac
SVar:DBFriends:DB$ RepeatEach | RepeatPlayers$ Player.NotedForFriends | RepeatSubAbility$ DBFriendsPump | SubAbility$ DBSecrets | ClearRememberedBeforeLoop$ True
SVar:DBFriendsPump:DB$ Pump | RememberObjects$ You | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenOwner$ Remembered | TokenScript$ gw_1_1_citizen
SVar:DBSecrets:DB$ RepeatEach | RepeatPlayers$ Player.NotedForSecrets | RepeatSubAbility$ DBSecretsPump | SubAbility$ DBCleanup | ClearRememberedBeforeLoop$ True
SVar:DBSecretsPump:DB$ Pump | RememberObjects$ You | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | Defined$ Remembered
SVar:DBCleanup:DB$ Pump | Defined$ Player | ClearNotedCardsFor$ Money | SubAbility$ DBCleanup2
SVar:DBCleanup2:DB$ Pump | Defined$ Player | ClearNotedCardsFor$ Friends | SubAbility$ DBCleanup3
SVar:DBCleanup3:DB$ Pump | Defined$ Player | ClearNotedCardsFor$ Secrets
DeckHas:Ability$Token|Sacrifice & Type$Artifact|Citizen|Treasure
Oracle:At the beginning of your upkeep, each opponent chooses money, friends, or secrets. For each player who chose money, you and that player each create a Treasure token. For each player who chose friends, you and that player each create a 1/1 green and white Citizen creature token. For each player who chose secrets, you and that player each draw a card.

View File

@@ -0,0 +1,14 @@
Name:Mezzio Mugger
ManaCost:4 R
Types:Creature Viashino Rogue
PT:3/3
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigExile | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, exile the top card of each player's library. You may play those cards this turn, and you may spend mana as though it were mana of any color to cast those spells.
SVar:TrigExile:DB$ Dig | DigNum$ 1 | ChangeNum$ All | Defined$ Player | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | StaticAbilities$ EffPlay | EffectOwner$ You | RememberObjects$ Remembered | ForgetOnMoved$ Exile | SubAbility$ DBCleanup
SVar:EffPlay:Mode$ Continuous | MayPlay$ True | MayPlayIgnoreColor$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play those cards this turn, and you may spend mana as though it were mana of any color to cast those spells.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
K:Blitz:2 R
SVar:HasAttackEffect:TRUE
DeckHas:Ability$Sacrifice
Oracle:Whenever Mezzio Mugger attacks, exile the top card of each player's library. You may play those cards this turn, and you may spend mana as though it were mana of any color to cast those spells.\nBlitz {2}{R} (If you cast this spell for its blitz cost, it gains haste and "When this creature dies, draw a card." Sacrifice it at the beginning of the next end step.)

View File

@@ -0,0 +1,14 @@
Name:Misfortune Teller
ManaCost:3 B
Types:Creature Human Warlock
PT:3/1
K:Deathtouch
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ Whenever CARDNAME enters the battlefield or deals combat damage to a player, exile target card from a graveyard. If it was a creature card, create a 2/2 black Rogue creature token. If it was a land card, create a Treasure token. Otherwise, you gain 3 life.
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigExile | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever CARDNAME enters the battlefield or deals combat damage to a player, exile target card from a graveyard. If it was a creature card, create a 2/2 black Rogue creature token. If it was a land card, create a Treasure token. Otherwise, you gain 3 life.
SVar:TrigExile:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card | RememberChanged$ True | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenScript$ b_2_2_rogue | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ1 | SubAbility$ DBTreasure
SVar:DBTreasure:DB$ Token | TokenScript$ c_a_treasure_sac | ConditionDefined$ Remembered | ConditionPresent$ Land | ConditionCompare$ EQ1 | SubAbility$ DBGainLife
SVar:DBGainLife:DB$ GainLife | LifeAmount$ 3 | ConditionDefined$ Remembered | ConditionPresent$ Creature,Land | ConditionCompare$ EQ0 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
DeckHas:Ability$Token|Sacrifice|LifeGain & Type$Rogue|Artifact|Treasure
Oracle:Deathtouch\nWhenever Misfortune Teller enters the battlefield or deals combat damage to a player, exile target card from a graveyard. If it was a creature card, create a 2/2 black Rogue creature token. If it was a land card, create a Treasure token. Otherwise, you gain 3 life.