KonstantinKlepikov / cold-war-boardgame

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

delayed Double Agent card ability at the start of the phase and choose agent logic

chemeshuggah opened this issue · comments

  • add field to current_game data - is_available_ability no we have list of available abilities for players - it is a field abilities
  • if True for bot - set bots agent choice, then reveal this choice to player in current_game data, then set ability to False
  • if True for player - player set agent, then bot set agent and nothing else
  • is revealed in any case - ability priority is determine in last phase
  • update schema, model and game processor
  • determine the agent
  • check is not dead
  • check is not in vacation
  • add hidden representation of agent
  • reveal agent
  • raise error if player next phase without choosing agent
  • remove double ability when next from briefing
  • hide agents after move to hand
  • vacation -> hand move
  • second cheaf play -> hande instead vacation
  • add endpoint

needs changes to schema, because information about agents is particle hidden from player, we need representation of data about opponent agents looks like:

agents ->
- dead: list[str] - ids of dead agents
- in_play: Optional[str] - the id of agent in play or None or spetial word, that signalize - agent in play is hidden
- in_vacation: list[str] - the ids of vacated agents
- in_hand: list[str] - ids of agents or spetial wors if hidden

as spetial word we can use "_hidden"