Added new game state BMGameState::reactToInitiative
Merge remote-tracking branch 'upstream/master' into 88_focus
- Added new skills BMSkillChance and BMSkillFocus
- Add basic code to BMGame->do_next_step() for BMGameState::reactToInitiative
- Added chance and focus to the list of available skills
- Changed BMDie->run_hooks() to be able to return an array of return values
- Adjusted existing unit tests to make them pass
- BMGame->run_die_hooks() now passes all additional arguments via an argument array
- Added beginning of basic unit testing for focus
Added more unit tests checking stopping at BMGameState::reactToInitiative when focus dice are present
Use BMGame->waitingOnActionArray() to block progression past BMGameState::reactToInitiative
Add function BMGame->react_to_initiative()
Added documentation comment for BMGame->react_to_initiative()
Added debug input variable to BMGame->proceed_to_next_user_action()
- Changed BMGame->react_to_initiative() to return a boolean signalling success
- Use BMGame->message to store the reason for a failed BMGame->react_to_initiative() call
- Added unit tests for the 'decline' and 'focus' actions
- Added input validation for the 'chance' action of BMGame->react_to_initiative()
- Added unit tests for the 'chance' actions
Added new function BMInterface->react_to_initiative(), which is basically a calling function for BMGame->react_to_initiative()
Rewrote BMInterface->load_game_without_autopass() to make it work independent of the number of players
Made BMInterface->react_to_initiative() code more readable
Used BMDie->has_skill() where possible
Refactored code to enable function overriding in BMDieTwin
- Rewrote BMDieSwing->split() to lose swing skill and updated unit tests
- Use split() in BMSkillBerserk
Tidied up BMDieSwing->split()
Added basic logic to BMDieTwin