micahstairs / bga-innovation

MIT License
6 stars 2 forks source link

Warn players when they are about to activate a card which won't help #319

Closed micahstairs closed 2 years ago

micahstairs commented 2 years ago

Here's a list of ideas to work off of. We will want to sanity check each of these ideas before we implement them. Once we've worked out the details of how we want to implement these checks (which will likely be backend checks, prompting a confirmation button with a short description of what they are about to do), we should tackle the highest priority ones first (we could look through the game feedback to identity biggest pain points).

1) City States (no susceptible opponent with 4+ castles)
1) Tools (an age 3 is being returned in the first interaction)
1) Oars (if no opponents with less crowns have any cards in their score pile)

2) Calendar (if I do not have more cards in score than hand)
2) Currency (if I have 0 cards in hand)
2) Mathematics (if I have 0 cards in hand)
2)  Construction: https://boardgamearena.com/bug?id=10327

3) Education (if I have 0 cards in score pile)
3) Engineering (if no susceptible top cards with castles exist and my red cards already are splayed left)
3) Feudalism (if no susceptible opponent has cards in hand, and my yellow+purple cards already are splayed left)
3) Translation (if I have no cards in score pile and activating it cannot grant me World -- either because I'm not eligible, or because it's already taken)

4) Anatomy (no susceptible opponent with cards in score pile)
4) Enterprise (if my green cards are already splayed right and no transfer+meld would occur)
4) Navigation (no susceptible opponent with age 2 or 3 in score pile)
4) Reformation (if my yellow+purple cards are already splayed right and 0 cards in hand)

5) Banking (if my green cards are already splayed right and no transfer+score would occur)
5) Measurement (if I have 0 cards in hand)
5) Societies (if no valid effect target, as mentioned earlier) - handle both 1st edition and 3rd edition dogma text
5) The Pirate Code (no eligible opponent has any 1-4s in their score pile)

6) Classification (if I have 0 cards in hand)
6) Encyclopedia (if I have 0 cards in score pile)
6) Democracy (if 0 cards in hand)
6) Emancipation (if my red+purple cards are already splayed right and no transfer+draw would occur)

7) Combustion (no susceptible opponent with cards in score pile)
7) Electricity (if all my top cards have a factory icon)
7) Explosives (no susceptible opponent with cards in hand)
7) Lighting (if I have 0 cards in hand)
7) Sanitation (no susceptible opponent with cards in hand) 

8) Antibiotics (if I have 0 cards in hand)
8) Mass Media (if my purple cards are already splayed up and I have 0 cards in hand)
8) Mobility (if no valid effect target)
8) Quantum Theory (if I have 1 or 0 cards in hand)
8) Rocketry (no opponent with cards in score pile)
8) Skyscrapers (if no valid effect target)
8) Socialism (if I have 0 cards in hand) 

9) Composites (if all susceptible opponents have exactly 1 card in hand and 0 cards in score pile)
9) Ecology (if I have 1 or 0 cards in hand)
9) Services (no susceptible opponent with cards in score pile)
9) Specialization (if my yellow+purple cards are already splayed up and I have 0 cards in hand)
9) Suburbia (if I have 0 cards in hand)

10) Bioengineering (if activating it will cause me to lose the game; this is probably rather tricky to detect?)
10) Databases (no susceptible opponent with cards in score pile)
10) Miniaturization (if I have 1 or 0 cards in hand, or if I have no 10 in hand)
10) Stem Cells (if I have 0 cards in hand)
micahstairs commented 2 years ago

I laid most of the groundwork for this in #323. It will be pretty trivial to add a lot of these checks.

For now, we only want to focus on adding checks for dogmas which will have no effect. Some of the ideas listed above will fit into another category of checks, which are out of scope for now.

micahstairs commented 2 years ago

We now have no-op checks on 29 different cards and there are more TODO(LATER) with future additions. I think we are safe to close this now though since the essence of this issue has been addressed.