If I cannot get all of Milestone 2 accomplished by the end of the week, I'm going to shelve it temporarily and move on to Milestone 3. I figure that it's better to have all three milestones mostly complete than to have one that's entirely absent.
Below is an updated status of the Milestone 2 requirements as they stand right now. In summary, here are the stats:
- All 18 requirements of Milestone 2 have been verified.
- 11 requirements have been validated successfully.
- 3 requirements had inconclusive test results.
- 4 requirements are defective.
Milestone 2: Combat Resolution
|2.1||When a unit is attacked, the system shall notify the player controlling the unit by presenting a Defend UI which allows selection of a defensive combat token from the player’s inventory.||Complete|
|2.2||The game server shall resolve combat interactions by evaluating the stats of the characters and their selected combat tokens and updating the data model accordingly.||Complete|
|2.2.1||The combat evaluator shall process Combat Tokens for their basic attack and defense values.||Complete|
|2.2.2||The combat evaluator shall process the Vampire Power Token | If the attack does damage, the attacker heals one hit point per unit of damage dealt.||Inconclusive|
|2.2.3||The combat evaluator shall process the Lucky Shot Power Token | If the attack does damage, the damage amount is doubled.||Complete|
|2.2.4||The combat evaluator shall process the Desperation Power Token | The attack value is normally 4, but if the attacker is the only remaining member of the team, then the attack value is 10.||Complete|
|2.2.5||The combat evaluator shall process the Blaze of Glory Power Token | If the attack does damage, the damage amount is doubled, but if the attack is blocked, the attacker takes 5 points of damage.||Complete|
|2.2.6||The combat evaluator shall process the Reflection Power Token | Any attack, regardless of power, is reflected back at the attacker. The defender takes no damage.||Defective|
|2.2.7||The combat evaluator shall process the Resolve Power Token | Defense value goes up as the character health goes down. DF = maxHP - currentHP||Inconclusive|
|2.2.8||The combat evaluator shall process the Lucky Break Power Token | If the attack is blocked, any excess defense points are converted to health points for your unit.||Inconclusive|
|2.2.9||The combat evaluator shall process the Shatter and Scatter Power Token | If the attack is blocked, each member of the attacking team takes two points of damage.||Defective|
|2.2.10||The combat evaluator shall process Grenade Tokens | The attack functions like a Combat Token but cannot be blocked, has no defense value, and does two points of damage to all characters or containers within a two-meter radius of the primary target.||Complete|
|2.3||The game server shall broadcast a summary of combat results to all connected players.||Complete|
|2.4||The system shall provide a Combat Results toggle that allows players to opt out of seeing the detailed combat summaries at the conclusion of each combat interaction.||Defective|
|2.5||The user interface shall display a combat summary screen when combat results are received from the game server IFF the Combat Results option is turned on.||Complete|
|2.6||The system shall provide an Auto Defense option that players may activate if they would rather have the game select their tokens for them automatically when their units are attacked.||Defective|
|2.7||The system shall display an event log on the HUD which records the actions taken by all units in the game.||Complete|
|2.8||AI players shall be able to defend against attacks subject to the same rules as the human players.||Complete|
It just occurred to me as I was updating the requirements status list that the inconclusive Power Token tests all involve a specialized modification or referencing of a unit's health in a way that is beyond the basic processing of a combat interaction. I wonder if that's a coincidence or if there's a common root cause of a defect. More testing will happen ASAP to find out.