Skip to content

Implemented cards from the PUNK set - #11510

Open
BigCrunch22 wants to merge 30 commits into
Card-Forge:masterfrom
BigCrunch22:add-card
Open

Implemented cards from the PUNK set#11510
BigCrunch22 wants to merge 30 commits into
Card-Forge:masterfrom
BigCrunch22:add-card

Conversation

@BigCrunch22

@BigCrunch22 BigCrunch22 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Implented the following cards that didn't require code changes from the Black Lotus Unknown Planechase set:

  • Asmoranomardicadaistinaculdacar's Kitchen
  • Bicycle Rack
  • Black Lotus Lounge
  • Circus of the Sun + Token
  • City Hall
  • Elvish Impersonation Contest
  • Ghirapur Grand Prix
  • Jalira's Show + Token
  • Mojave Desert
  • No Way Out
  • Omenpath Instability + Tokens
  • Oteclán
  • Preston's Stage + Token
  • Pursued by Something
  • Raiders' Allegiance
  • Shy Town
  • Sky Deck
  • Tarnation
  • That's Enough Slices + Token
  • The Bean
  • The Food Court
  • The Windy City

Implemented with assistance from Claude.

Comment thread forge-gui/res/cardsfolder/w/welcome_to_valley.txt Outdated
@Jetz72
Jetz72 requested a review from dracontes August 4, 2026 15:05
@Jetz72 Jetz72 added the Un-Cards Support or implementations for silver-border, playtest, or otherwise non-legal cards. label Aug 4, 2026
BigCrunch22 and others added 4 commits August 5, 2026 17:31
Added/updated entries to the following counters:

- Dread (Positive > Neutral) [Balances the negative effect of No Way Out]
- Glass (Negative)
- Shy (Neutral) [Neutral since the Coward effect of Shy Town isn't tied to the counter]
- Point (Positive)
- Made additions/edits to AmassEffect.java and AmassAi.java to make it able to handle non-black army tokens (any valid combination of colors will work). [Implemented with assistance from Claude]
@BigCrunch22

BigCrunch22 commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author
  • Added The Sphere, which required code changes (AmassAi and AmassEffect)

It's my first time doing a Java code-related change, so criticism is very much appreciated. Performed with assistance from Claude.

Comment thread forge-game/src/main/java/forge/game/card/CounterEnumType.java Outdated
@Jetz72

Jetz72 commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Implementing a "color" parameter for Amass is a bit of a grey area, since the keyword on the card isn't using that color as a parameter the way it does with the creature type - e.g.. it doesn't "Amass Red Fans 5". The reminder text seems to indicate that Fans are just an exception to the existing Amass behavior.

So at its most literal, it'd be done by checking if the type is "Fans" in the Amass effect and if so, making a red army instead. But that isn't particularly flexible. Your way is flexible, but introducing a keyword parameter might be a bit much for a single, non-legal, non-Oracle, non-traditional card that also doesn't use a keyword parameter, and is from a set that often sees functional errata with reprints. I'd suggest holding off on adding color-Amass to the engine until Wizards gives us a few more examples.

Jetz72
Jetz72 previously approved these changes Aug 12, 2026
@BigCrunch22

Copy link
Copy Markdown
Contributor Author

That's bad timing. Just noticed a bit of inconsistency.

@BigCrunch22
BigCrunch22 requested a review from Jetz72 August 12, 2026 14:40
@Jetz72

Jetz72 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Failing to compile because Point counters already exist as a counter type it seems. Have you tested these?

@BigCrunch22

Copy link
Copy Markdown
Contributor Author

Failing to compile because Point counters already exist as a counter type it seems. Have you tested these?

I have done some testing with the cards. I just missed the entry on the point counter on the enums. That's my bad.

@BigCrunch22

Copy link
Copy Markdown
Contributor Author

Performed a much more thorough analysis on each of the cards and their interactions. They should work as they are read right now. There are some cards to note though:

  • Event Horizon - Due to Wastes' characteristics, I made it so that each non-basic cards changes their names to Wastes while its on the board and gets every characteristic of said land (sans Basic).
  • Preston's Stage - The chaos Flash effect affects the stack as well since there is an assumption that the chaos effect should work with the "perform a magic trick" condition.

@Jetz72

Jetz72 commented Aug 17, 2026

Copy link
Copy Markdown
Contributor
  • Event Horizon - Due to Wastes' characteristics, I made it so that each non-basic cards changes their names to Wastes while its on the board and gets every characteristic of said land (sans Basic).

Should probably be done via a parameter to CloneEffect - something like CopyFromChosenName but specifying the name directly rather than needing the named-card being defined by a prior step.

  • Preston's Stage - The chaos Flash effect affects the stack as well since there is an assumption that the chaos effect should work with the "perform a magic trick" condition.

Hmm. So the issue is that "creature cards in your hand have Flash" fails to interact with "whenever you cast a spell with Flash"? I guess casting spells isn't included in any last-known-info or look-back-in-time rules. I think the adaptation is reasonable, but I'd leave a comment in the script explaining the disparity.

@BigCrunch22

Copy link
Copy Markdown
Contributor Author
  • Event Horizon - Due to Wastes' characteristics, I made it so that each non-basic cards changes their names to Wastes while its on the board and gets every characteristic of said land (sans Basic).

Should probably be done via a parameter to CloneEffect - something like CopyFromChosenName but specifying the name directly rather than needing the named-card being defined by a prior step.

Consulted Claude for this. It seems CopyFromChosenName wouldn't quite work since its resolution is one and done and won't go the moment it planeswalks away. It gave me a suggestion of what can be done related to StaticAbilityContinuous.java, and it gave a structure similar to what is currently there but tied to the engine cloning its effect (since it's not really a clone in the sense that it will copy Wastes as is, just like Blood Moon doesn't make the non-basic lands named Mountain and have the Basic supertype).

I'm not really keen on doing an engine change since it's not really strictly necessary for the effect to work. If this is still not on par even with that context in mind, I might just remove it.

- Give a comment to explain why the stack is also affected by the chaos effect
- Restrict the applications of Flash on the stack to cards casted from the hand only. This prevents cards like Gravecrawler or Misthollow Griffin from accidentally triggering the "perform a magic trick" trigger.
@Jetz72

Jetz72 commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Hmm, yeah. "Non-basic lands are Wastes" is a bit ambiguous in what it means rules-wise. My first impression was that since Wastes isn't a type, the next meaning behind that would be that they become copies of the card Wastes. But yeah I don't think my suggestion quite works since it needs to be an ongoing static ability. More intuitive but less adherent-to-the-rules might be to just have it emulate Blood Moon's consequences - remove all land types and all other abilities of the card, then add {T}: Add {C}.. I think that'd be possible with existing script tools?

@BigCrunch22

Copy link
Copy Markdown
Contributor Author

Hmm, yeah. "Non-basic lands are Wastes" is a bit ambiguous in what it means rules-wise. My first impression was that since Wastes isn't a type, the next meaning behind that would be that they become copies of the card Wastes. But yeah I don't think my suggestion quite works since it needs to be an ongoing static ability. More intuitive but less adherent-to-the-rules might be to just have it emulate Blood Moon's consequences - remove all land types and all other abilities of the card, then add {T}: Add {C}.. I think that'd be possible with existing script tools?

It already does that I believe. Also, I rename the cards to Wastes since a card like Walker of the Wastes synergizes with cards named "Wastes".

@Jetz72 Jetz72 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little on the fence about renaming affected cards to "Wastes" for synergy, with no errata, rulings, or precedent to suggest the card is intended to work that way. Affected cards becoming actual copies of "Wastes" would be one literal interpretation of "Non-basic lands are Wastes". Scrubbing types, abilities, and adding the tap for C ability isn't as literal, but it's precedented by the net outcome of the effect the wording clearly references.

I think maybe we just set that script aside for now? I can toss it into tier 4 of the un-cards list, with the other ones that have unsettled rules questions. Sometimes circumstances change and those gain better rules precedent (e.g. Land with an Adventure).

Was checking over my notes from an update to that list that I'd been working on, I noticed a couple things I'd written about some other planes here -

While not on Scryfall, The Sphere has been reprinted twice since the one you had implemented here with red fans. Once in 2025, and again in 2026. Notably, both have very different rules, and would be possible to implement. The issue is that Scryfall doesn't have an entry for it and the reprints have no official collector numbers, meaning there isn't a clean way to separate it from the image that Scryfall has with the original text.

The Windy City and The Bean were also heavily altered for their second printings. In those cases though we have both the Scryfall entry and a separate collector number, so it would technically be possible to support both through functional variants (see Garbage Elemental for instance). Can leave that off for now, though.

Comment thread forge-gui/res/cardsfolder/g/ghirapur_grand_prix.txt Outdated
T:Mode$ ChaosEnsues | TriggerZones$ Command | Execute$ TrigCounter | TriggerDescription$ Whenever Chaos ensues, put a flying counter on up to one target creature. It becomes a Performer in addition to its other types.
SVar:TrigCounter:DB$ PutCounter | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 1 | CounterType$ Flying | CounterNum$ 1 | SubAbility$ DBAnimate
SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Types$ Performer | Duration$ Permanent
Oracle:Whenever you planeswalk here or at the beginning of your upkeep, create two 1/1 red performer creature tokens with flying and haste.\nWhenever one or more creatures you control with flying deal combat damage to a player, you may return it to your hand. If you do, draw cards equal to its power.\nWhenever Chaos ensues, put a flying counter on up to one target creature. It becomes a Performer in addition to its other types.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think Circus of the Sun can't work as written without errata. "Whenever one or more creatures you control with flying deal combat damage to a player, you may return it to your hand. If you do, draw cards equal to its power." Besides the ambiguous "it" in reference to "one or more creatures", the wording also permits you to return a card you control but do not own to your hidden zone.

@BigCrunch22 BigCrunch22 Aug 21, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is the implementation I worked with when creating said effect (which would be the most likely interpretation of said effect):

Whenever one or more creatures you control with flying deal combat damage to a player, you may return it to your hand. If you do, draw cards equal to its power.

becomes

Whenever one or more creatures you control with flying deal combat damage to a player, you may return any number of them to their owners' hands. If you do, draw cards equal to the total power of the creatures returned this way.

Should I reword the Oracle text to use that kind of phrasing even though it might not be the "official" wording of said effect?

- Removed Event Horizon
- Fixed the "start their engines" effect of Ghirapur Grand Prix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Un-Cards Support or implementations for silver-border, playtest, or otherwise non-legal cards.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants