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
Added unit tests for BMDieTwin->init()
Tidied up BMDieTest and BMDieTwinTest exception testing
Added unit tests for BMDieTwin::create()
Added unit tests for BMDieTwin::create_from_string_components()
Added function BMDieTwin->set_swingValue()
Added test cases for function BMDieTwin->roll()
Updated BMDieSwingTest.php
Removed div and remainder from BMDieSwing
Added basic unit test for BMDieTwin->set_swingValues()
Completed unit tests for BMDieTwin->set_swingValues()
Completed unit tests for BMDieTwin->score_value(), BMDieTwin->initiative_value(), and BMDieTwin->split()
Removed BMDieTwin->parse_recipe_for_sides() and added unit tests for BMDie->parse_recipe_for_sides()
Added functions BMDieTwin->add_skill() and BMDieTwin->remove_skill()
Removed BMDieTwin->add_skill() and BMDieTwin->remove_skill()
Added unit tests for BMDie->get_recipe() for BMDieTwin
Started unit test for BMDieTwin in BMGameTest->test_twin_die()