Esempio n. 1
0
        /// <summary>Saves Hero to database.</summary>
        /// <param name="saveHero">Hero to be saved</param>
        /// <returns>Returns true if successfully saved</returns>
        internal static bool SaveHero(Hero saveHero)
        {
            JSONInteraction.SaveHero(saveHero);

            int index = AllHeroes.FindIndex(hero => hero.Name == saveHero.Name);

            AllHeroes[index] = saveHero;

            return(true);
        }
Esempio n. 2
0
        /// <summary>Creates a new Hero and adds it to the database.</summary>
        /// <param name="newHero">New Hero</param>
        internal static void NewHero(Hero newHero)
        {
            if (newHero.Equipment.Head == null || newHero.Equipment.Head == new Item())
            {
                newHero.Equipment.Head = AllHeadArmor.Find(armor => armor.Name == DefaultHead.Name);
            }
            if (newHero.Equipment.Body == null || newHero.Equipment.Body == new Item())
            {
                newHero.Equipment.Body = AllBodyArmor.Find(armor => armor.Name == DefaultBody.Name);
            }
            if (newHero.Equipment.Hands == null || newHero.Equipment.Hands == new Item())
            {
                newHero.Equipment.Hands = AllHandArmor.Find(armor => armor.Name == DefaultHands.Name);
            }
            if (newHero.Equipment.Legs == null || newHero.Equipment.Legs == new Item())
            {
                newHero.Equipment.Legs = AllLegArmor.Find(armor => armor.Name == DefaultLegs.Name);
            }
            if (newHero.Equipment.Feet == null || newHero.Equipment.Feet == new Item())
            {
                newHero.Equipment.Feet = AllFeetArmor.Find(armor => armor.Name == DefaultFeet.Name);
            }
            if (newHero.Equipment.Weapon == null || newHero.Equipment.Weapon == new Item())
            {
                switch (newHero.Class.Name)
                {
                case "Wizard":
                    newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Starter Staff");
                    if (newHero.Spellbook == null || newHero.Spellbook == new Spellbook())
                    {
                        newHero.Spellbook?.LearnSpell(AllSpells.Find(spell => spell.Name == "Fire Bolt"));
                    }
                    break;

                case "Cleric":
                    newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Starter Staff");
                    if (newHero.Spellbook == null || newHero.Spellbook == new Spellbook())
                    {
                        newHero.Spellbook?.LearnSpell(AllSpells.Find(spell => spell.Name == "Heal Self"));
                    }
                    break;

                case "Warrior":
                    newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Stone Dagger");
                    break;

                case "Rogue":
                    newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Starter Bow");
                    break;

                default:
                    newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Stone Dagger");
                    break;
                }
            }

            newHero.Gold = 250;
            for (int i = 0; i < 3; i++)
            {
                newHero.AddItem(AllPotions.Find(itm => itm.Name == "Minor Healing Potion"));
            }

            JSONInteraction.SaveHero(newHero);
            AllHeroes.Add(newHero);
        }