~SPM Keywords Update (#159)

* Updates English types and keywords to ATL
* Updates German, Spanish, French, and Italian types and keywords to SPM
* Updates Japanese types to SPM, adds Tiered, Job select, Warp and Void, waiting on scryfall for Station, Landers, and SPM
* Adds lang_settings for is_spacecraft and is_planet
* Adds is_mana_cost(param), so keywords can use "for " and "for its X cost" depending on if its a nice cost. Added to Mayhem and Web-slinging/Enweb.
* Updates predef token reminder text
This commit is contained in:
cajun
2025-09-24 00:59:41 -05:00
committed by GitHub
parent 4273221c3c
commit 5dfe68989d
13 changed files with 938 additions and 228 deletions

View File

@@ -1113,7 +1113,7 @@ keyword:
keyword: Investigate
match: Investigate
mode: action
reminder: {handle_action_rt(to:"investigate", "Create")} a Clue token. It's an artifact with "<sym>2</sym>, Sacrifice this artifact: Draw a card."
reminder: {handle_action_rt(to:"investigate", "Create")} a Clue token. It's an artifact with "<sym>2</sym>, Sacrifice this token: Draw a card."
keyword:
keyword: Skulk
match: Skulk
@@ -1330,7 +1330,7 @@ keyword:
keyword: Treasure token
match: Treasure toke<atom-param>*s</atom-param>
mode: core
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Treasure token is an artifact")} with "T, Sacrifice this artifact: Add one mana of any color."
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Treasure token is an artifact")} with "T, Sacrifice this token: Add one mana of any color."
#Guilds of Ravnica
keyword:
keyword: Jump-start
@@ -1398,7 +1398,7 @@ keyword:
keyword: Food token
match: Food toke<atom-param>*s</atom-param>
mode: core
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Food token is an artifact")} with "2, T, Sacrifice this artifact: You gain 3 life."
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Food token is an artifact")} with "2, T, Sacrifice this token: You gain 3 life."
#Theros Beyond Death
keyword:
keyword: Escape
@@ -1409,7 +1409,7 @@ keyword:
keyword: Gold token
match: Gold toke<atom-param>*s</atom-param>
mode: core
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Gold token is an artifact")} with "Sacrifice this artifact: Add one mana of any color."
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Gold token is an artifact")} with "Sacrifice this token: Add one mana of any color."
#Ikoria: Lair of Behemoths
keyword:
keyword: Mutate
@@ -1449,7 +1449,7 @@ keyword:
keyword: Shard token
match: Shard toke<atom-param>*s</atom-param>
mode: core
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre enchantments" else "Its an enchantment", moved:"A Shard token is an enchantment")} with "2, Sacrifice this enchantment: Scry ]1[, then draw a card."
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre enchantments" else "Its an enchantment", moved:"A Shard token is an enchantment")} with "2, Sacrifice this token: Scry ]1[, then draw a card."
keyword:
keyword: Boast
match: Boast
@@ -1545,7 +1545,7 @@ keyword:
keyword: Blood token
match: Blood toke<atom-param>*s</atom-param>
mode: expert
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Blood token is an artifact")} with "1, T, Discard a card, Sacrifice this artifact: Draw a card."
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Blood token is an artifact")} with "1, T, Discard a card, Sacrifice this token: Draw a card."
# Kamigawa Neon Dynasty
keyword:
keyword: Reconfigure
@@ -1773,7 +1773,7 @@ keyword:
keyword: Map token
match: Map toke<atom-param>*s</atom-param>
mode: expert
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Map token is an artifact")} with "1, T, Sacrifice this artifact: Target creature you control explores. Activate only as a sorcery."
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Map token is an artifact")} with "1, T, Sacrifice this token: Target creature you control explores. Activate only as a sorcery."
keyword:
keyword: Craft
match: Craft with <atom-param>name</atom-param> <atom-param>cost</atom-param>
@@ -1835,7 +1835,7 @@ keyword:
keyword: Junk token
match: Junk toke<atom-param>*s</atom-param>
mode: expert
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Junk token is an artifact")} with "T, Sacrifice this artifact: Exile the top card of your library. You may play that card this turn. Activate only as a sorcery."
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Junk token is an artifact")} with "T, Sacrifice this token: Exile the top card of your library. You may play that card this turn. Activate only as a sorcery."
# Assassin's Creed
keyword:
keyword: Freerunning
@@ -1914,12 +1914,12 @@ keyword:
keyword: Gift a Food
match: Gift a Food
mode: expert
reminder: You may promise an opponent a gift as you cast this spell. If you do, {if not is_spell(card.super_type) then "when it enters, they" else "they"} create a Food token{if is_spell(card.super_type) then " before its other effects." else "."} It's an artifact with "[2], [T], Sacrifice this artifact: You gain 3 life."
reminder: You may promise an opponent a gift as you cast this spell. If you do, {if not is_spell(card.super_type) then "when it enters, they" else "they"} create a Food token{if is_spell(card.super_type) then " before its other effects." else "."} It's an artifact with "[2], [T], Sacrifice this token: You gain 3 life."
keyword:
keyword: Gift a Treasure
match: Gift a Treasure
mode: expert
reminder: You may promise an opponent a gift as you cast this spell. If you do, {if not is_spell(card.super_type) then "when it enters, they" else "they"} create a Treasure token{if is_spell(card.super_type) then " before its other effects." else "."} It's an artifact with "[T], Sacrifice this artifact: Add one mana of any color."
reminder: You may promise an opponent a gift as you cast this spell. If you do, {if not is_spell(card.super_type) then "when it enters, they" else "they"} create a Treasure token{if is_spell(card.super_type) then " before its other effects." else "."} It's an artifact with "[T], Sacrifice this token: Add one mana of any color."
keyword:
keyword: Gift an Octopus
match: Gift an Octopus
@@ -2018,4 +2018,68 @@ keyword:
keyword: Tiered
match: Tiered
mode: expert
reminder: Choose one additional cost.
reminder: Choose one additional cost.
# Edge of Eternities
keyword:
keyword: Station
match: Station
mode: expert
reminder: Tap another creature you control: Put charge counters equal to its power on this {if lang_setting("is_spacecraft")(card.sub_type) then "Spacecraft" else if lang_setting("is_planet")(card.sub_type) then "Planet" else "permanent"}. Station only as a sorcery.{sn := station_number(); if sn > 0 then " It's " + (if lang_setting("is_artifact")(card.super_type) then "an artifact creature" else if lang_setting("is_land")(card.super_type) then "a land creature" else "a creature in addition to its other types") + " at " + sn + "+." else ""}
keyword:
keyword: Warp
match: Warp <atom-param>cost</atom-param>
mode: expert
reminder: You may cast this card from your hand for its warp cost. Exile this creature at the beginning of the next end step, then you may cast it from exile on a later turn.
keyword:
keyword: Lander token
match: Lander toke<atom-param>*s</atom-param>
mode: expert
reminder: {handle_merged_rt(if param1.value == "ns" then "Theyre artifacts" else "Its an artifact", moved:"A Lander token is an artifact")} with "[2], [T], Sacrificie this token: Search your library for a basic land card, put it onto the battlefield tapped, then shuffle."
keyword:
keyword: Void
match: Void
mode: pseudo
rules: Void — If a nonland permanent left the battlefield this turn or a spell was warped this turn, [effect].
#Spider-Man
keyword:
keyword: Mayhem
match: Mayhem <atom-param>cost</atom-param>
mode: expert
reminder: You may cast this card from your graveyard for {if is_mana_cost(param1) then param1 else "its mayhem cost"} if you discarded it this turn. Timing rules still apply.
keyword:
keyword: Web-slinging
match: Web-slinging <atom-param>cost</atom-param>
mode: expert
reminder: You may cast this spell for {if is_mana_cost(param1) then param1 else "its web-slinging cost"} if you also return a tapped creature you control to its owner's hand.
keyword:
keyword: Harness
match: Harness
mode: expert
reminder: Once harnessed, its Infinity ability is active.
#Through the Omenpaths 1
keyword:
keyword: Enweb
match: Enweb <atom-param>cost</atom-param>
mode: expert
reminder: You may cast this spell for {if is_mana_cost(param1) then param1 else "its enweb cost"} if you also return a tapped creature you control to its owner's hand.
#Avatar: The Last Airbender
keyword:
keyword: Airbend
match: Airbend
mode: action
reminder: Exile it. While it's exiled, its owner may cast it for [2] rather than its mana cost.
keyword:
keyword: Earthbend
match: Earthbend <atom-param>number</atom-param>
mode: action
reminder: {handle_action_rt(to:"earthbend ]{param1.value}[", "Target")} land you control becomes a 0/0 creature with haste that's still a land. Put {english_number_a(param1)} +1/+1 counter(s) on it. When it dies or is exiled, return it to the battlefield tapped.
keyword:
keyword: Firebending
match: Firebending <atom-param>number</atom-param>
mode: expert
reminder: Whenever {if is_creaturish(card.type) then "this creature" else "a creature with firebending"} attacks, add {v := to_number(param1.value) or else 0;if v == 0 then param1 + " [R]" else if v > 5 then english_number(v) + " [R]" else for x from 1 to v do "[R]"}. This mana lasts until end of combat.
keyword:
keyword: Waterbend
match: Waterbend <atom-param>mana</atom-param>
mode: action
reminder: While paying a waterbend cost, you can tap your artifacts and creatures to help. Each one pays for [1].