// defend button event public void OnDefendButtonClick() { if (!enemyRolled) // if enemy did not rolled yet { enemyDices.AIreroll(playerDices.GetOutcome()); // reroll enemy dices enemyRolled = true; // enemy rolled } if (stage != 0) // only avaliable if dices were rolled at least once { if (enemyDices.GetOutcome() > playerDices.GetOutcome()) // if player hp is to be drained, else nothing happens { playerHP -= enemyDices.GetOutcome() - playerDices.GetOutcome(); // decrement player hp playerHB.RemoveHP(5.625f / (float)playerMaxHP * (float)enemyDices.GetOutcome()); // move hp bar if (playerHP <= 0) { playerHP = 0; // check if player hp isn't below 0 } playerHPtext.text = playerHP.ToString(); // change hp points text } EndCheck(); // check if battle should end stage = 0; // reset stage index rollButtonText.text = "ROLL"; // return roll button text to roll } }
// roll button event public void OnRollButtonClick() { switch (stage) // check stage of round { case 0: // dices has not been rolled yet > reroll selected dices stage = 1; // set stage phase to 1 enemyRolled = false; // enemy did not rolled yet enemyDices.RollSet(); // roll enemy dices playerDices.RollSet(); // roll player dices rollButtonText.text = "REROLL"; // change roll text to reroll on roll button break; case 1: // all dices were rolled once > lock roll button if (!enemyRolled) // if enemy did not rolled yet { enemyDices.AIreroll(playerDices.GetOutcome()); // reroll enemy dices enemyRolled = true; // enemy rolled } stage = 2; // set stage phase to 2 playerDices.RerollSet(); // reroll player dices (selected only) rollButtonText.text = "DECIDE"; // change roll button text to decide break; default: break; } }