Engine Tests

Engine Testing

Testing suite via PyTest

GameSave

GameState

The GameState needs a system for recording events

Mafioso attempting to kill should play shots sound, if kill is a success prints text
Unless there's a bodyguard or a vet, in which case it plays those sounds?

Does actor append to events or do roles append to events

Seems like it must come from the actor because that's where all the logic is

Roles

Town

Citizen

  • Find Allies
  • Find Possible Targets
  • Night action
    • Goes night immune
    • self.remaining_vests goes down by 1
    • Events should contain log "You don your bullet proof vest, you have {x} remaining"

Doctor

  • Find Allies
  • Find Possible Targets
  • Night action
    • Successful heal?
    • Events should contain log of what happened

Detective

  • Find allies
  • Find Possible Targets
  • Night Action
    • At targets house?
    • Successfull track?

Mafia

Mafioso

  • Find Allies
  • Find Possible Targets
  • Basic kill (target not protected/healed/etc)
    • At targets house?
  • Target Night Immune
    • Target should be alive
    • Events should contain log "Target is Night Immune"

Neutral

Cult

Triad