Card-Forge / Card-Forge/forge

Counter Type Meta Issue

Open
#10,076 17 comments 0 reactions 5 assignees Claimed by @kevlahnota View on GitHub
Game Mechanics GUI keep
Dominant language
Java
Stars
2.7k
Forks
1.1k
Avg merge
1d 1h
Merged PRs (30d)
158

Description

- [x] use Translatable Interface for better name. Might Translate them later in the Future.
- [x] Icon for Keyword Counter used in Choice Dialog.
- [ ] Static ability for +X/+Y Counter, because dependency: #5642
- [ ] Allow Custom variants?
- [x] Enum to group Counter into [positive]/[negative]/[neutral/useless] #10650
- [ ] extend the logic to differ between adding/removing counters
- [ ] Use List File for Custom Counters, might move some Enum Counters there that aren't used in Code #10213
- [ ] Add Icons for Custom Counters, examples there: https://mtg.wiki/page/User:RivalRowan/MTGO_counters
- [ ] Allow loading Custom files from `USER_CUSTOM_DIR + "lists"`

The Name only really has two modes, might just generate directly:
- P1P1 to `+1/+1` for PTCounter
- Capitalize for anything else.

Types of CounterTypes:
* `CounterEnumType`: the ones that are REALLY Hard Coded in the Java Code (has Color)
* `CounterCustomType`: the ones that will be defined in a List like CreatureTypes. (has Color)
* `CounterKeywordType`: the ones that are Keywords by the rules, and fallback to anything else. (has Keyword Icon)
* `CounterPTType`: the ones that are like P1P1, currently EnumType

Possible CounterCustomType List:
`KeyName=Desc,R,G,B`

```
CAGE=CAGE,155,155,155
```
(Dialog-Name will be Cage)

----

For Cleanup and Custom Counters: List of Counters that are used in Code like P1P1 and M1M1, separate them between Rules Code and AI code:

Rules:
- SHIELD, STUN and FINALITY Counter for their Replacement Effects
- MANABOND for their Static
- DEFENSE for Battle/Siege
- LORE for Sagas
- LOYALTY for Planeswalker
- DREAM for some (not more than 7) rules
- TIME for TimeTravel.
- POISON, ENERGY, EXPERIENCE, RAD (and Ticket) for Player

AI:
- QUEST for Proto-Sagas (and some legendary?)
- FADE for Fading
- TIME for Vanishing
- CHARGE for Station
- KI for some Legendary
- POISON, ENERGY, EXPERIENCE, RAD and Ticket for Player
- ICE for darkDepths and Storage Lands
- CAGE for MairsilThePretender
- BURDEN for TheOneRing
- AI uses some counter types in the `isNegativeCounter` and `isUselessCounter` functions. Helper might be enough for these cases?

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.