/// <summary> /// Randomize the Character, keep the level the same /// </summary> /// <returns></returns> public bool RandomizeCharacter() { // Randomize Name ViewModel.Data.Name = RandomPlayerHelper.GetCharacterName(); ViewModel.Data.Description = RandomPlayerHelper.GetCharacterDescription(); // Randomize the Attributes ViewModel.Data.Attack = RandomPlayerHelper.GetAbilityValue(); ViewModel.Data.Speed = RandomPlayerHelper.GetAbilityValue(); ViewModel.Data.Defense = RandomPlayerHelper.GetAbilityValue(); // Randomize an Item for Location ViewModel.Data.Head = RandomPlayerHelper.GetItem(ItemLocationEnum.Head); ViewModel.Data.Necklass = RandomPlayerHelper.GetItem(ItemLocationEnum.Necklass); ViewModel.Data.PrimaryHand = RandomPlayerHelper.GetItem(ItemLocationEnum.PrimaryHand); ViewModel.Data.OffHand = RandomPlayerHelper.GetItem(ItemLocationEnum.OffHand); ViewModel.Data.RightFinger = RandomPlayerHelper.GetItem(ItemLocationEnum.Finger); ViewModel.Data.LeftFinger = RandomPlayerHelper.GetItem(ItemLocationEnum.Finger); ViewModel.Data.Feet = RandomPlayerHelper.GetItem(ItemLocationEnum.Feet); ViewModel.Data.MaxHealth = RandomPlayerHelper.GetHealth(ViewModel.Data.Level); ViewModel.Data.ImageURI = RandomPlayerHelper.GetCharacterImage(); UpdatePageBindingContext(); return(true); }
/// <summary> /// The Level selected from the list /// </summary> /// <param name="sender"></param> /// <param name="args"></param> public void CharacterLevelPicker_Changed(object sender, EventArgs args) { // If the Picker is not set, then set it if (CharacterLevelPicker.SelectedIndex == -1) { CharacterLevelPicker.SelectedIndex = ViewModel.Data.Level - 1; return; } var result = CharacterLevelPicker.SelectedIndex + 1; // When level changed, roll again for max health, and set attributes to follow the Level Table if (result != ViewModel.Data.Level) { // Change the Level ViewModel.Data.Level = result; // Roll for new max health var oldMaxHealth = ViewModel.Data.MaxHealth; ViewModel.Data.MaxHealth = RandomPlayerHelper.GetHealth(ViewModel.Data.Level); // Add the different between old and new max health to the current health // Set a lower limit 1 to avoid the current health drop to too low ViewModel.Data.CurrentHealth = Math.Max(1, ViewModel.Data.CurrentHealth + ViewModel.Data.MaxHealth - oldMaxHealth); // Update attribute values in the table UpdateAttributeValues(); } }
/// <summary> /// Change the Level Picker /// </summary> public void ManageHealth() { // Roll for new HP ViewModel.Data.MaxHealth = RandomPlayerHelper.GetHealth(ViewModel.Data.Level); // Show the Result MaxHealthValue.Text = ViewModel.Data.MaxHealth.ToString(); }
/// <summary> /// Randomize the Character, keep the level the same /// </summary> /// <returns></returns> public bool RandomizeCharacter() { ViewModel.Data.MaxHealth = RandomPlayerHelper.GetHealth(ViewModel.Data.Level); UpdatePageBindingContext(); return(true); }
public void RandomPlayerHelper_GetHealth_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetHealth(1); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual(2, result); }
/// <summary> /// The Level selected from the list /// </summary> /// <param name="sender"></param> /// <param name="args"></param> public void CharacterLevelPicker_Changed(object sender, EventArgs args) { // If the Picker is not set, then set it if (CharacterLevelPicker.SelectedIndex == -1) { CharacterLevelPicker.SelectedIndex = ViewModel.Data.Level - 1; return; } var result = CharacterLevelPicker.SelectedIndex + 1; // When level changed, roll again for max health, and set attributes to follow the Level Table if (result != ViewModel.Data.Level) { // Change the Level ViewModel.Data.Level = result; // Roll for new max health ViewModel.Data.MaxHealth = RandomPlayerHelper.GetHealth(ViewModel.Data.Level); // Set current health as the new max health ViewModel.Data.CurrentHealth = ViewModel.Data.MaxHealth; } }
/// <summary> /// Change the Level Picker /// </summary> public void ManageHealth() { // Roll for new HP ViewModel.Data.MaxHealth = RandomPlayerHelper.GetHealth(ViewModel.Data.Level); }