/// <summary> /// Will drop between 1 and 4 items from the ItemModel set... /// </summary> public override List <ItemModel> GetRandomMonsterItemDrops(int round) { // Teams, You need to implement your own modification to the Logic cannot use mine as is. // You decide how to drop monster items, level, etc. // The Number drop can be Up to the Round Count, but may be less. // Negative results in nothing dropped /* * Once monster is killed for the round, they will drop their item. * 1. find which monsters were killed * 2. see if they have drop item * 3. move that item to the list. make a copy of it. * * We added in another method for helper. * */ var NumberToDrop = (DiceHelper.RollDice(1, round + 1) - 1); var result = new List <ItemModel>(); for (var i = 0; i < NumberToDrop; i++) { // Get a random Unique Item var data = ItemIndexViewModel.Instance.GetItem(RandomPlayerHelper.GetMonsterUniqueItem()); result.Add(data); } return(result); }
public async Task RandomPlayerHelper_GetMonsterUniqueItem_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); var save = ItemIndexViewModel.Instance.Dataset; ItemIndexViewModel.Instance.Dataset.Clear(); await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { ItemType = ItemTypeEnum.Calculator }); await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { ItemType = ItemTypeEnum.Diploma }); await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { ItemType = ItemTypeEnum.FoodCourtCard }); var expected = ItemIndexViewModel.Instance.Dataset.ElementAt(1).Id; // Act var result = RandomPlayerHelper.GetMonsterUniqueItem(); // Reset ItemIndexViewModel.Instance.Dataset.Clear(); ItemIndexViewModel.Instance.Dataset = save; DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual(expected, result); }
/// <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> /// Create Characters for Party /// </summary> public override bool CreateCharacterParty() { // Picks 6 Characters // To use your own characters, populate the List before calling RunAutoBattle //// Will first pull from existing characters foreach (var data in CharacterIndexViewModel.Instance.Dataset) { if (Battle.EngineSettings.CharacterList.Count() >= Battle.EngineSettings.MaxNumberPartyCharacters) { break; } // Start off with max health if adding a character in data.CurrentHealth = data.GetMaxHealthTotal; Battle.PopulateCharacterList(data); } //If there are not enough will add random ones for (int i = Battle.EngineSettings.CharacterList.Count(); i < Battle.EngineSettings.MaxNumberPartyCharacters; i++) { Battle.PopulateCharacterList(RandomPlayerHelper.GetRandomCharacter(1)); } 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_GetRandomMonsterAdministrator_Valid_Should_Return_New_Monster() { // Arrange // Act var result = RandomPlayerHelper.GetRandomMonsterAdministrator(100000); // Reset // Assert Assert.AreEqual(400000, result.ExperienceRemaining); }
public void RandomPlayerHelper_GetItem_Unknown_Should_Return_0() { // Arrange // Act var result = RandomPlayerHelper.GetItem(Game.Models.ItemLocationEnum.Unknown); // Reset // Assert Assert.AreEqual(null, result); }
public void RandomPlayerHelper_GetRandomMonster_Valid_Items_False_Should_Return_New_Monster() { // Arrange // Act var result = RandomPlayerHelper.GetRandomMonster(1, false); // Reset // Assert Assert.AreEqual(PlayerTypeEnum.Monster, result.PlayerType); }
/// <summary> /// Constructor for Create makes a new model /// </summary> public MonsterCreatePage() { InitializeComponent(); this.ViewModel.Data = RandomPlayerHelper.GetRandomMonster(1); BindingContext = this.ViewModel; this.ViewModel.Title = "Monster Create"; // Sets the Job Picker to the Monster's Type MonsterTypePicker.SelectedItem = ViewModel.Data.MonsterType.ToMessage(); }
public void RandomPlayerHelper_GetRandomMonster_InValid_Empty_List_Should_Return_New_Monster() { // Arrange MonsterIndexViewModel.Instance.Dataset.Clear(); // Act var result = RandomPlayerHelper.GetRandomMonster(1); // Reset // Assert Assert.AreEqual(PlayerTypeEnum.Monster, result.PlayerType); }
public void RandomPlayerHelper_GetRandomCharacter_InValid_Empty_CharacterList_Should_Return_New() { // Arrange CharacterIndexViewModel.Instance.Dataset.Clear(); // Act var result = RandomPlayerHelper.GetRandomCharacter(1); // Reset // Assert Assert.AreEqual(true, result.Name.Contains("Elf")); }
public async Task RandomPlayerHelper_GetRandomCharacter_Valid_CharacterList_1_Should_Return_1() { // Arrange CharacterIndexViewModel.Instance.Dataset.Clear(); await CharacterIndexViewModel.Instance.CreateAsync(new CharacterModel { Guid = "1" }); // Act var result = RandomPlayerHelper.GetRandomCharacter(1); // Reset // Assert Assert.AreEqual(true, result.Guid.Contains("1")); }
/// <summary> /// Will drop between 1 and 4 items from the ItemModel set... /// </summary> /// <param name="round"></param> /// <returns></returns> public List <ItemModel> GetRandomMonsterItemDrops() { //pick 1 to 3 items every monster dies var NumberToDrop = DiceHelper.RollDice(1, rnd.Next(1, 4)); var myList = new List <ItemModel>(); for (var i = 0; i < NumberToDrop; i++) { var data = ItemIndexViewModel.Instance.GetItem(RandomPlayerHelper.GetMonsterUniqueItem()); myList.Add(data); } return(myList); }
public void RandomPlayerHelper_GetMonsterDescription_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetMonsterDescription(); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual("the Elf hater", result); }
public void RandomPlayerHelper_GetMonsterName_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetMonsterName(); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual("Anais", result); }
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); }
public void RandomPlayerHelper_GetMonsterDescriptionAdministrator_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetMonsterDescriptionAdministrator(); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual("Oh no, you're not done, here's another form.", result); }
public void RandomPlayerHelper_GetCharacterImage_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetCharacterImage(); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual("item.png", result); }
public void RandomPlayerHelper_GetMonsterDifficultyValue_Should_Pass() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetMonsterDifficultyValue(); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual(DifficultyEnum.Average, result); }
public void RandomPlayerHelper_GetCharacterDescriptionParent_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetCharacterDescriptionParent(); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual("My child is the best.", result); }
public void RandomPlayerHelper_GetCharacterDescriptionStudent_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetCharacterDescriptionStudent(); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual("I wish I could graduate.", result); }
public void RandomPlayerHelper_GetRandomCharacter_InValid_Empty_CharacterList_Should_Return_New() { // Arrange CharacterViewModel.Instance.Dataset.Clear(); // Act var result = RandomPlayerHelper.GetRandomCharacter(1); // Reset // Assert //our default character when creating a new character is named michelle Assert.AreEqual(true, result.Name.Contains("Michelle")); }
public void RandomPlayerHelper_GetRandomCharacterEscapingSchool_2_Should_Return_Parent() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetRandomCharacterEscapingSchool(20); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual(CharacterTypeEnum.Parent, result.CharacterTypeEnum); }
public void RandomPlayerHelper_GetMonsterDescriptionFaculty_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetMonsterDescriptionFaculty(); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual("You will never pass this class.", result); }
public void RandomPlayerHelper_GetItem_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetItem(Game.Models.ItemLocationEnum.Feet); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreNotEqual(null, result); }
public void RandomPlayerHelper_GetCharacterDescription_2_Should_Return_2() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetCharacterDescription(); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual("Never lost a battle", result); }
public void RandomPlayerHelper_GetRandomMonsterEscapingSchool_2_Should_Return_Administrator() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(2); // Act var result = RandomPlayerHelper.GetRandomMonsterEscapingSchool(20); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual(MonsterTypeEnum.Administrator, result.MonsterTypeEnum); }
public void RandomPlayerHelper_GetRandomMonsterAdministrator_Valid_3_Level_20_Should_Return_New_Monster_Unknown() { // Arrange DiceHelper.EnableForcedRolls(); DiceHelper.SetForcedRollValue(3); // Act var result = RandomPlayerHelper.GetRandomMonsterAdministrator(20); // Reset DiceHelper.DisableForcedRolls(); // Assert Assert.AreEqual(MonsterTypeEnum.Administrator, result.MonsterTypeEnum); Assert.AreEqual(SpecificMonsterTypeEnum.Unknown, result.SpecificMonsterTypeEnum); }