public MonsterStats PickMonster(int level, int type) { MonsterStats monster = new MonsterStats(); if (type == 1) //Snake { monster.NameofMonster = snake_Stats.NameofMonster; monster.Health = ((random_number_generator.NextDouble() / 2.5 + 0.8) * snake_Stats.Health) * level; monster.Attack = ((random_number_generator.NextDouble() / 2.5 + 0.8) * snake_Stats.Attack) * level; monster.EXP = random_number_generator.Next(snake_Stats.EXP * 8 / 10, snake_Stats.EXP * 12 / 10) * level; monster.Defense = ((random_number_generator.NextDouble() / 2.5 + 0.8) * snake_Stats.Defense) * level; monster.Level = level; } else if (type == 2) //Dragon { monster.NameofMonster = snake_Stats.NameofMonster; monster.Health = ((random_number_generator.NextDouble() / 2.5 + 0.8) * dragon_Stats.Health) * level; monster.Attack = ((random_number_generator.NextDouble() / 2.5 + 0.8) * dragon_Stats.Attack) * level; monster.EXP = random_number_generator.Next(dragon_Stats.EXP * 8 / 10, dragon_Stats.EXP * 12 / 10) * level; monster.Defense = ((random_number_generator.NextDouble() / 2.5 + 0.8) * dragon_Stats.Defense) * level; monster.Level = level; } else if (type == 3) //Scorpion { monster.NameofMonster = snake_Stats.NameofMonster; monster.Health = ((random_number_generator.NextDouble() / 2.5 + 0.8) * scorpion_Stats.Health) * level; monster.Attack = ((random_number_generator.NextDouble() / 2.5 + 0.8) * scorpion_Stats.Attack) * level; monster.EXP = random_number_generator.Next(scorpion_Stats.EXP * 8 / 10, scorpion_Stats.EXP * 12 / 10) * level; monster.Defense = ((random_number_generator.NextDouble() / 2.5 + 0.8) * scorpion_Stats.Defense) * level; monster.Level = level; } return(monster); }
public Inventory(List <object> HeroInventory, HeroStats hero_stats, MonsterStats monster_stats) { InitializeComponent(); inventoryInUse = HeroInventory; DisplayInventoryItems(); itemSelected = 0; PopulateItems(); InventoryCount(); hero = hero_stats; monster = monster_stats; }
private void UseItem_Button_Click(object sender, RoutedEventArgs e) { List <object> HeroMonsterList; if (inventoryInUse[itemSelected] is InventoryConsumable) { HeroMonsterList = Functions.FuncUseInventoryConsumable(itemSelected, hero, monster, (InventoryConsumable)inventoryInUse[itemSelected], inventoryInUse);//Sending values to UseInventoryItem in functions hero = ((HeroStats)HeroMonsterList[0]); monster = ((MonsterStats)HeroMonsterList[1]); inventoryInUse = (List <object>)HeroMonsterList[2]; } else if ((inventoryInUse[itemSelected] is InventoryArmor)) { } }
private void ProceedButton_Click(object sender, RoutedEventArgs e) { hero = Hero.SetHero(hero); try { level_monster = Convert.ToInt32(MonsterLevel_Textbox.Text); if (level_monster < 1) { GameAction_Textbox.Text += "\nPlease input a level."; } } catch (Exception) { GameAction_Textbox.Text += "\nPlease input a level greater than 1."; } try { type_monster = Convert.ToInt32(MonsterType_Textbox.Text); if (type_monster < 1 || type_monster > 3) { GameAction_Textbox.Text += "\nPlease input a level from 1 - 3."; } else { monster = monsterObject.PickMonster(level_monster, type_monster); string imageSource = Monsters.SetImageSource(type_monster); Monster_Image.Source = new BitmapImage(new Uri(imageSource, UriKind.Relative)); Proceed_Button.Visibility = Visibility.Hidden; MonsterLevel_Textbox.Visibility = Visibility.Hidden; MonsterType_Textbox.Visibility = Visibility.Hidden; MonsterType_Label.Visibility = Visibility.Hidden; MonsterLevel_Label.Visibility = Visibility.Hidden; GameAction_Textbox.Text += $"\nCurrent HP:\nHero - {String.Format("{0:0.00}", hero.Health)} \nMonster - {String.Format("{0:0.00}", monster.Health)}"; FuncAttack_Button.Visibility = Visibility.Visible; FuncDefend_Button.Visibility = Visibility.Visible; FuncHeal_Button.Visibility = Visibility.Visible; FuncRetreat_Button.Visibility = Visibility.Visible; } } catch (Exception) { GameAction_Textbox.Text += "\nPlease input a type from 1 - 3."; } }
public static List <object> FuncUseInventoryConsumable(int selecteditem, HeroStats hero, MonsterStats monster, InventoryConsumable item, List <object> currentInventory) { List <object> temp_list = new List <object>(); switch (item.ItemIndex) { case 11: monster.turnConfusedStatus = item.effectTurns; if (item.numberofuses == 1) //Remove item from current inventory if one use item { currentInventory.RemoveAt(selecteditem); } break; default: break; } temp_list[0] = hero; temp_list[1] = monster; temp_list[2] = currentInventory; return(temp_list); }
public static double[] FuncFailedRetreat(HeroStats hero, MonsterStats monster) { double[] damage_dealt = new double[] { CalculateDamage(monster.Attack, hero.Defense), 0 }; // Index 1 - Damage to Hero Index 2 - Damage to Monster return(damage_dealt); }
public static double[] FuncDefend(HeroStats hero, MonsterStats monster) { double[] damage_dealt = new double[] { 1, 0 };// Index 1 - Damage to Hero Index 2 - Damage to Monster return(damage_dealt); }