Card-Forge / Card-Forge/forge

Inconsistent plurals for costs in in-game card text display

Open
#5,916 1 comment 0 reactions 2 assignees Assigned to @Hanmac View on GitHub
GUI keep
Dominant language
Java
Stars
2.7k
Forks
1.1k
Avg merge
1d 1h
Merged PRs (30d)
158

Description

**Describe the bug**
Automatic text generation for display of costs in-game has trouble with _some_ complex costs. A few examples:
- tapping more than one untapped permanent for an activated ability ([Adaptive Gemguard](https://scryfall.com/card/lci/3/adaptive-gemguard))
![image](https://github.com/user-attachments/assets/bdf55709-8713-4771-8d85-c747111d7347)
→ removing the baked-in description as it worked int the case of Ulamog the Defiler ( https://github.com/Card-Forge/forge/pull/5915 ), only results in revealing the argument for the cost (`Artifact;Creature`).
- discarding more than one card as a mandatory additional cost ([Abandon Hope](https://scryfall.com/card/tmp/107/abandon-hope))
![image](https://github.com/user-attachments/assets/aa704285-8e44-4f6e-8e7a-f4f4ee99fffb)
→ changing the baked-in description doesn't do anything to the displayed text, though comparing with [Aether Tide](https://scryfall.com/card/exo/27/aether-tide), I take it the additional cost should be structured differently.
- discarding more than one card for an activated ability ([Advanced Stitchwing](https://scryfall.com/card/2x2/36/advanced-stitchwing))
![image](https://github.com/user-attachments/assets/a95b165d-9526-41f9-9adb-fb5738af0837)
→ As for Abandon Hope, changing the baked-in description (or adding it) doesn't do anything to the displayed text.
- sacrificing more than one permanent for an activated ability ([Akul the Unrepentant](https://scryfall.com/card/otj/189/akul-the-unrepentant))
![image](https://github.com/user-attachments/assets/904f27b5-3448-4238-9bab-537a2f2d16c2)

I could go on but you get the gist.

**To Reproduce**
1. Start a regular game and go quickly through the initial checks.
3. Then use Dev Mode to put the relevant cards in hand. Hovering the mouse cursor over them should reveal any issues with the automatic text on the Card Detail pane.

**Expected behavior**
That the plurals would be more consistent. At the very least this should mean that baked-in descriptions when provided shouldn't be wholly ignored or entrained into the automatic generation process that's used on simpler arguments for costs, which admittedly has humorous outcomes. On the other hand, the automatic generation process could be improved. I do reckon that the `Card` case for Abandon Hope and the Stitchwing should be straightforward.

**Desktop (please complete the following information):**
- OS: Windows 11
- Version: `1.6.64-SNAPSHOT-08-05`

**Additional afterthoughts**
1. The current solution for both Adaptive Gemguard and Akul would be to drop the last 's' on the baked-in description since that's what's throwing off the automatic generation. The issue to me is that this would look weird to people not in the know while reading scripts and, frankly, would have those in the know cleaning up after them one way or another.
2. Admittedly `CostDesc$` is the stopgap here, though I'm not sure where that should apply vs a description baked into the cost parameter.
3. It's true the solution on point 1 then affects the prompt players get while activating the ability in an undesirable way
![image](https://github.com/user-attachments/assets/c9b5ded6-24d0-42bc-8aa0-26d0205a0450)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.