public void ItemDrop(bool enemyAlive, HeroClassTypes heroClass)
        {
            // get item drop chance - DONE
            // get what type of item is dropped - DONE
            // chance of different type of weapon
            // ask to equip
            // equip

            itemDropped = PercentageItemDrop(enemyAlive);

            itemType = ItemTypeDropped(itemDropped);

            if (itemType == ItemType.Weapon)
            {
                ReturnWeaponType(heroClass);
            }
            else if (itemType == ItemType.Armour)
            {
                ReturnArmourType();
            }
            else if (itemType == ItemType.Item)
            {
                ReturnItemType();
            }
        }
Beispiel #2
0
        public HeroClass(string name, Alignment faction, HeroClassTypes heroClassTypes)
        {
            _name    = name;
            _faction = faction;
            _isAlive = true;

            switch (heroClassTypes)
            {
            case HeroClassTypes.spearman:
                _basicHealth    = _basicHealthSpearman;
                _basicstrength  = _basicstrengthSpearman;
                _basicDexterity = _basicDexteritySpearman;
                break;

            case HeroClassTypes.swordsman:
                _basicHealth    = _basicHealthSwordsman;
                _basicstrength  = _basicstrengthSwordsman;
                _basicDexterity = _basicDexteritySwordsman;
                break;

            case HeroClassTypes.ranger:
                _basicHealth    = _basicHealthRanger;
                _basicstrength  = _basicstrengthRanger;
                _basicDexterity = _basicDexterityRanger;
                break;

            default:
                break;
            }
        }
Beispiel #3
0
        public void AttackPlayer1(HeroClassTypes heroClassTypes, Hero hero, EnemyClassType enemyClass)
        {
            int damage        = ReturnDamageDealt(enemyClass);
            int reducedDamage = EnemyDamageReductionFromDefence(damage, heroClassTypes, hero);

            PlayerHealthReduction1(hero, reducedDamage, heroClassTypes);
        }
Beispiel #4
0
        public void UseItem(HeroClassTypes heroClass)
        {
            int tempPotionProperty = potion.ITEM_PROPERTIES;

            switch (potion.PotionTypes)
            {
            case PotionTypes.Health:
                SettingPlayerHealthWithPotion(heroClass, tempPotionProperty);
                break;

            case PotionTypes.Defence:
                SettingPlayerDefenceWithPotion(heroClass, tempPotionProperty);
                break;

            case PotionTypes.Attack:
                SettingPlayerStrengthWithPotion(heroClass, tempPotionProperty);
                break;

            default:
                break;
            }

            _usableItem = false;
            potion      = new PotionItem();
        }
Beispiel #5
0
        public void AttackEnemy1(HeroClassTypes heroClassTypes, Enemy enemy, EnemyClassType enemyClass, int missFactor)
        {
            int damage        = ReturnDamageDealt(heroClassTypes, missFactor);
            int reducedDamage = EnemyDamageReductionFromDefence(damage, enemyClass, enemy);

            EnemyHealthReduction1(enemy, reducedDamage, enemyClass);
        }
Beispiel #6
0
        private int EnemyDamageReductionFromDefence(int damage, HeroClassTypes heroClass, Hero hero)
        {
            int defence       = 0;
            int reducedDamage = 0;

            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                defence = hero.heroSpear.Defending();
                //reducedDamage = DamageChecker(damage, defence);
                break;

            case HeroClassTypes.swordsman:
                defence = hero.heroSword.Defending();
                break;

            case HeroClassTypes.ranger:
                defence = hero.heroRanger.Defending();
                break;

            default:
                break;
            }

            reducedDamage = DamageChecker(damage, defence);

            DamageDealt = reducedDamage;

            return(reducedDamage);
        }
        public static void GettingStats(HeroClassTypes heroClass)
        {
            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                Spearman spearman = new Spearman("Spearman", Alignment.good);
                Console.WriteLine($"Class Type : {spearman.Name}");
                Console.WriteLine($"Health : {spearman.Health}");
                Console.WriteLine($"Strength : {spearman.Strength}");
                Console.WriteLine($"Dexterity : {spearman.Dexterity}");
                Console.WriteLine($"Defence : {spearman.Defence}");
                break;

            case HeroClassTypes.swordsman:
                Swordsman swordsman = new Swordsman("Swordsman", Alignment.good);
                Console.WriteLine($"Class Type : {swordsman.Name}");
                Console.WriteLine($"Health : {swordsman.Health}");
                Console.WriteLine($"Strength : {swordsman.Strength}");
                Console.WriteLine($"Dexterity : {swordsman.Dexterity}");
                Console.WriteLine($"Defence : {swordsman.Defence}");
                break;

            case HeroClassTypes.ranger:
                Ranger ranger = new Ranger("Ranger", Alignment.good);
                Console.WriteLine($"Class Type : {ranger.Name}");
                Console.WriteLine($"Health : {ranger.Health}");
                Console.WriteLine($"Strength : {ranger.Strength}");
                Console.WriteLine($"Dexterity : {ranger.Dexterity}");
                Console.WriteLine($"Defence : {ranger.Defence}");
                break;

            default:
                break;
            }
        }
        private static string ItemDroppedHelperItemTypeProperties(ItemManager item, HeroClassTypes heroClass)
        {
            switch (item.ITEMTYPEDROPPED)
            {
            case ItemType.Weapon:
                return(item.WEAPONDROPPED.Damage.ToString());

            case ItemType.Armour:
                return(item.ARMOR_DROPPED.Defence.ToString());

            case ItemType.Item:
                if (item.POTION_DROPPED.PotionTypes == PotionTypes.Health)
                {
                    return("+" + item.POTION_DROPPED.ITEM_PROPERTIES.ToString() + " Health");
                }
                else if (item.POTION_DROPPED.PotionTypes == PotionTypes.Defence)
                {
                    return("+" + item.POTION_DROPPED.ITEM_PROPERTIES.ToString() + " Defence Points");
                }
                else if (item.POTION_DROPPED.PotionTypes == PotionTypes.Attack)
                {
                    return("+" + item.POTION_DROPPED.ITEM_PROPERTIES.ToString() + " Attack Damage");
                }
                else
                {
                    return("You need a basic weapon!");
                }

            default:
                return("You need a basic weapon!");
            }
        }
Beispiel #9
0
        private static void AnimationPlay(string[] animationClip, HeroClassTypes heroClass, EnemyClassType enemyClass, Hero hero, Enemy enemy, bool homePage)
        {
            int delayBetweenAnimationCycles = 250;

            for (int i = 0; i < animationClip.Length; i++)
            {
                MenuQueries.CharacterInformationSheet(heroClass, hero, enemy, enemyClass);
                Utilities.ColorWriteLines(animationClip[i], ConsoleColor.Gray);
                MenuQueries.CharacterInformationBattleSheet(hero, enemy, homePage);
                Thread.Sleep(delayBetweenAnimationCycles);
                MenuQueries.ConsoleClearResetMenu();
            }

            for (int i = animationClip.Length - 1; i >= 0; i--)
            {
                MenuQueries.CharacterInformationSheet(heroClass, hero, enemy, enemyClass);
                Utilities.ColorWriteLines(animationClip[i], ConsoleColor.Gray);
                MenuQueries.CharacterInformationBattleSheet(hero, enemy, homePage);
                Thread.Sleep(delayBetweenAnimationCycles);

                if (i != 0)
                {
                    MenuQueries.ConsoleClearResetMenu();
                }
            }
        }
Beispiel #10
0
        public static void CharacterDisplay(HeroClassTypes heroClass, EnemyClassType enemyClass)
        {
            AnimationsData animationsData = new AnimationsData();
            int            playerIndex;
            int            enemyIndex;
            string         display;

            playerIndex = ReturnHeroAnimationListNumber(heroClass);
            enemyIndex  = ReturnEnemyAnimationListNumber(enemyClass);

            display = animationsData.DisplayCharacter(playerIndex, enemyIndex);
            Console.WriteLine(display);
        }
Beispiel #11
0
        public void PlayerDefend(HeroClassTypes heroClass, bool defending)
        {
            DamageDealt = 0;

            if (defending == true)
            {
                ISAttacking = false;
            }

            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                if (defending == true)
                {
                    Console.WriteLine("You are defending!");
                    heroSpear.IsDefending = true;
                }
                else
                {
                    heroSpear.IsDefending = false;
                }
                break;

            case HeroClassTypes.swordsman:
                if (defending == true)
                {
                    Console.WriteLine("You are defending!");
                    heroSword.IsDefending = true;
                }
                else
                {
                    heroSword.IsDefending = false;
                }
                break;

            case HeroClassTypes.ranger:
                if (defending == true)
                {
                    Console.WriteLine("You are defending!");
                    heroRanger.IsDefending = true;
                }
                else
                {
                    heroRanger.IsDefending = false;
                }
                break;

            default:
                break;
            }
        }
Beispiel #12
0
        public static void AnimationBattle(HeroClassTypes heroClass, EnemyClassType enemyClass, int playerCombatSelecter, int enemyCombatSelecter, Hero hero, Enemy enemy, bool homePage)
        {
            MenuQueries.ConsoleClearResetMenu();

            int heroAnimationListNumber;
            int enemyAnimationListNumber;
            int animationIndex;

            heroAnimationListNumber  = ReturnHeroAnimationListNumber(heroClass);
            enemyAnimationListNumber = ReturnEnemyAnimationListNumber(enemyClass);

            animationIndex = ReturnAnimationIndexNumber(playerCombatSelecter, enemyCombatSelecter);

            AnimationPlay(ReturnAnimationArray(heroAnimationListNumber, enemyAnimationListNumber, animationIndex), heroClass, enemyClass, hero, enemy, homePage);
        }
        public void Fighting(HeroClassTypes heroClassTypes, EnemyClassType enemyClassType, StateManager stateManager, int playerCombatSelecter, int enemyCombatSelecter, Hero playerHero, Enemy enemy)
        {
            {
                if (playerCombatSelecter == 1)
                {
                    if (enemyCombatSelecter == 1)
                    {
                        playerHero.AttackEnemy1(heroClassTypes, enemy, enemyClassType, stateManager.AttackMissFactor());
                        enemy.AttackPlayer1(heroClassTypes, playerHero, enemyClassType);

                        MenuQueries.BattleDisplayPage(heroClassTypes, playerHero, enemy, enemyClassType, false, playerCombatSelecter, enemyCombatSelecter);
                    }
                    else if (enemyCombatSelecter == 2)
                    {
                        enemy.EnemyDefend(enemyClassType, true);
                        playerHero.AttackEnemy1(heroClassTypes, enemy, enemyClassType, stateManager.AttackMissFactor());
                        enemy.EnemyDefend(enemyClassType, false);

                        MenuQueries.BattleDisplayPage(heroClassTypes, playerHero, enemy, enemyClassType, false, playerCombatSelecter, enemyCombatSelecter);
                    }
                }
                else if (playerCombatSelecter == 2)
                {
                    if (enemyCombatSelecter == 1)
                    {
                        playerHero.PlayerDefend(heroClassTypes, true);
                        enemy.AttackPlayer1(heroClassTypes, playerHero, enemyClassType);
                        playerHero.PlayerDefend(heroClassTypes, false);

                        MenuQueries.BattleDisplayPage(heroClassTypes, playerHero, enemy, enemyClassType, false, playerCombatSelecter, enemyCombatSelecter);
                    }
                    else if (enemyCombatSelecter == 2)
                    {
                        playerHero.PlayerDefend(heroClassTypes, true);
                        enemy.EnemyDefend(enemyClassType, true);
                        playerHero.PlayerDefend(heroClassTypes, false);
                        enemy.EnemyDefend(enemyClassType, false);

                        MenuQueries.BattleDisplayPage(heroClassTypes, playerHero, enemy, enemyClassType, false, playerCombatSelecter, enemyCombatSelecter);
                    }
                }
                else
                {
                    playerHero.UseItem(heroClassTypes);
                }
            }
        }
Beispiel #14
0
        private static int ReturnHeroAnimationListNumber(HeroClassTypes heroClass)
        {
            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                return(0);

            case HeroClassTypes.swordsman:
                return(1);

            case HeroClassTypes.ranger:
                return(2);

            default:
                return(0);
            }
        }
        private static string ItemDroppedHelperItemTypeDescription(ItemManager item, HeroClassTypes heroClass)
        {
            switch (item.ITEMTYPEDROPPED)
            {
            case ItemType.Weapon:
                return(item.WEAPONDROPPED.WeaponDescription);

            case ItemType.Armour:
                return(item.ARMOR_DROPPED.ArmourDescription);

            case ItemType.Item:
                return(item.POTION_DROPPED.ITEM_DESCRIPTION);

            default:
                return("You need a basic weapon!");
            }
        }
        private static string CharacterInformationPlayerNameSheet(Hero hero, HeroClassTypes heroClass)
        {
            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                return(hero.heroSpear.Name.ToUpper());

            case HeroClassTypes.swordsman:
                return(hero.heroSword.Name.ToUpper());

            case HeroClassTypes.ranger:
                return(hero.heroRanger.Name.ToUpper());

            default:
                return("No Name Available");
            }
        }
        private static string ItemDroppedHelperItemTypeName(ItemManager item, HeroClassTypes heroClass)
        {
            switch (item.ITEMTYPEDROPPED)
            {
            case ItemType.Weapon:
                return(item.WEAPONDROPPED.Name);

            case ItemType.Armour:
                return(item.ARMOR_DROPPED.Name);

            case ItemType.Item:
                return(item.POTION_DROPPED.ITEM_NAME);

            default:
                return("You need a basic weapon!");
            }
        }
        private static string CharacterInformationPlayerHealthSheet(Hero hero, HeroClassTypes heroClass)
        {
            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                return(hero.heroSpear.Health.ToString());

            case HeroClassTypes.swordsman:
                return(hero.heroSword.Health.ToString());

            case HeroClassTypes.ranger:
                return(hero.heroRanger.Health.ToString());

            default:
                return("No Health Available");
            }
        }
Beispiel #19
0
        public int GettingHealth(HeroClassTypes heroClass)
        {
            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                return(heroSpear.Health);

            case HeroClassTypes.swordsman:
                return(heroSword.Health);

            case HeroClassTypes.ranger:
                return(heroRanger.Health);

            default:
                return(1);
            }
        }
        public static string ItemDropped(ItemManager item, HeroClassTypes heroClass)
        {
            string spacer          = "|";
            string itemName        = "Item";
            string itemDescription = "Item Description";
            string itemProperties  = "Properties";
            string input;

            switch (item.ITEMTYPEDROPPED)
            {
            case ItemType.Weapon:
                itemProperties = "Damage";
                break;

            case ItemType.Armour:
                itemProperties = "Defence";
                break;

            case ItemType.Item:
                itemProperties = "Properties";
                break;

            default:
                break;
            }


            Console.Clear();
            Console.WriteLine($"{ SubHeading}");
            Console.WriteLine("\n\n\n\n\n\n\n\n\n");
            Console.WriteLine($"\t\t         {spacer} ****************************************************** {spacer}");
            Console.WriteLine($"\t\t         {spacer}                      Item Dropped!                     {spacer}");
            Console.WriteLine($"\t\t         {spacer} ------------------------------------------------------ {spacer}");
            Console.WriteLine($"\t\t         {spacer} {itemName, -16} : {ItemDroppedHelperItemTypeName(item, heroClass), -17}                   {spacer}");
            Console.WriteLine($"\t\t         {spacer} {itemDescription, -16} : {ItemDroppedHelperItemTypeDescription(item, heroClass),-36}{spacer}");
            Console.WriteLine($"\t\t         {spacer} {itemProperties, -16} : {ItemDroppedHelperItemTypeProperties(item, heroClass),-24}            {spacer}");
            Console.WriteLine($"\t\t         {spacer} ****************************************************** {spacer}");
            Console.WriteLine();
            input = Input.InputStringForYesNoStatements("Would you like to equip the item?");
            Console.WriteLine($"\n\t\t         {spacer} ****************************************************** {spacer}");

            return(input);
            // like to equip?
        }
Beispiel #21
0
        public void SettingHealth(HeroClassTypes heroClass, int healthNewHealthValue)
        {
            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                heroSpear.Health = healthNewHealthValue;
                break;

            case HeroClassTypes.swordsman:
                heroSword.Health = healthNewHealthValue;
                break;

            case HeroClassTypes.ranger:
                heroRanger.Health = healthNewHealthValue;
                break;

            default:
                break;
            }
        }
Beispiel #22
0
        private void SettingPlayerDefenceWithPotion(HeroClassTypes heroClass, int defenceFromPotion)
        {
            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                heroSpear.Defence += defenceFromPotion;
                break;

            case HeroClassTypes.swordsman:
                heroSword.Defence += defenceFromPotion;
                break;

            case HeroClassTypes.ranger:
                heroRanger.Defence += defenceFromPotion;
                break;

            default:
                break;
            }
        }
Beispiel #23
0
        private void SettingPlayerStrengthWithPotion(HeroClassTypes heroClass, int strengthFromPotion)
        {
            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                heroSpear.Strength += strengthFromPotion;
                break;

            case HeroClassTypes.swordsman:
                heroSword.Strength += strengthFromPotion;
                break;

            case HeroClassTypes.ranger:
                heroRanger.Strength += strengthFromPotion;
                break;

            default:
                break;
            }
        }
Beispiel #24
0
        private void PlayerHealthReduction1(Hero hero, int damage, HeroClassTypes heroClass)
        {
            int healthSetter = 0;
            int enemyHealth  = hero.GettingHealth(heroClass);

            int currentHealth   = enemyHealth - damage;
            int healthReduction = enemyHealth - damage;

            if (currentHealth <= 0)
            {
                healthSetter = 0;
                hero.SettingHealth(heroClass, healthSetter);
                hero.IsAlive = false;
            }
            else
            {
                Console.WriteLine($"Enemy Attacks for {damage}");

                hero.SettingHealth(heroClass, healthReduction);
            }
        }
        public static void CharacterInformationSheet(HeroClassTypes heroClass, Hero hero, Enemy enemy, EnemyClassType enemyClass)
        {
            string health     = "Health";
            string weapons    = "Weapon";
            string armour     = "Armour";
            string item       = "Item";
            string spacer     = "--";
            char   lineSpacer = '-';
            string blank      = " ";

            Console.WriteLine(new string(lineSpacer, Console.WindowWidth - 1));
            Console.WriteLine($"{spacer} {CharacterInformationPlayerNameSheet(hero, heroClass),-50}{spacer} {CharacterInformationEnemyNameSheet(enemy, enemyClass),-50} {spacer}");
            Console.WriteLine(new string(lineSpacer, Console.WindowWidth - 1));

            Console.WriteLine(string.Format($"{spacer} {health,-10} : {CharacterInformationPlayerHealthSheet(hero, heroClass),-37}{spacer} {health,-10} : {CharacterInformationEnemyHealthSheet(enemy, enemyClass),-37} {spacer}"));
            Console.WriteLine(string.Format($"{spacer} {weapons,-10} : {hero.Weapon.Name,-37}{spacer} {weapons,-10} : {blank,-37} {spacer}"));
            Console.WriteLine(string.Format($"{spacer} {armour,-10} : {hero.Armor.Name,-37}{spacer} {armour,-10} : {blank,-37} {spacer}"));
            Console.WriteLine(string.Format($"{spacer} {item,-10} : {CharacterInformationEnemyPotionTypeheet(hero),-37}{spacer} {item,-10} : {blank,-37} {spacer}"));

            Console.WriteLine(new string(lineSpacer, Console.WindowWidth - 1));
            Console.WriteLine(new string(lineSpacer, Console.WindowWidth - 1));
        }
Beispiel #26
0
        public Hero(HeroClassTypes heroClassTypes, string name)
        {
            heroClassSelected = heroClassTypes;
            _isAlive          = true;
            PlayerLevel       = 1;
            PlayerExperience  = 0;

            switch (heroClassTypes)
            {
            case HeroClassTypes.spearman:
                //hero = new HeroClass(name, Alignment.good, HeroClassTypes.spearman);
                heroSpear = new Spearman(name, Alignment.good);
                weapon    = new WoodenSpear();
                armour    = new Armor();
                potion    = new PotionItem();
                break;

            case HeroClassTypes.swordsman:
                //hero = new HeroClass(name, Alignment.good, HeroClassTypes.swordsman);
                heroSword = new Swordsman(name, Alignment.good);
                weapon    = new WoodenSword();
                armour    = new Armor();
                potion    = new PotionItem();
                break;

            case HeroClassTypes.ranger:
                //hero = new HeroClass(name, Alignment.good, HeroClassTypes.ranger);
                heroRanger = new Ranger(name, Alignment.good);
                weapon     = new WoodenBow();
                armour     = new Armor();
                potion     = new PotionItem();
                break;

            default:
                break;
            }
        }
Beispiel #27
0
        private int ReturnDamageDealt(HeroClassTypes heroClass, int missFactor)
        {
            int damage = 0;

            ISAttacking = true;

            switch (heroClass)
            {
            case HeroClassTypes.spearman:
                damage = heroSpear.Attack(missFactor);
                break;

            case HeroClassTypes.swordsman:
                damage = heroSword.Attack(missFactor);
                break;

            case HeroClassTypes.ranger:
                damage = heroRanger.Attack(missFactor);
                break;

            default:
                break;
            }

            if (damage == 0)
            {
                Console.WriteLine("No damage done!");
                ISMissing = true;
                return(0);
            }
            else
            {
                damage   += weapon.Damage;
                ISMissing = false;
                return(damage);
            }
        }
 public static void BattleDisplayPage(HeroClassTypes heroClass, Hero hero, Enemy enemy, EnemyClassType enemyClass, bool homePage, int playerCombatSelecter, int enemyCombatSelecter)
 {
     Animation.AnimationBattle(heroClass, enemyClass, playerCombatSelecter, enemyCombatSelecter, hero, enemy, homePage);
 }
 public static void BattleDisplayPage(HeroClassTypes heroClass, Hero hero, Enemy enemy, EnemyClassType enemyClass, bool homePage)
 {
     CharacterInformationSheet(heroClass, hero, enemy, enemyClass);
     Animation.CharacterDisplay(heroClass, enemyClass);
     CharacterInformationBattleSheet(hero, enemy, homePage);
 }
        private void ReturnWeaponType(HeroClassTypes heroClass)
        {
            randomDropChancePercentage = randomItemDropChance.Next(1, 101);

            int lowPercent   = 0;
            int woodRange    = lowPercent + WoodenEquipmentDropChance;
            int stoneRange   = woodRange + StoneEquipmentDropChance;
            int ironRange    = stoneRange + ironEquipmentDropChance;
            int diamondRange = ironRange + diamondEquipmentDropChance;

            if (randomDropChancePercentage > lowPercent && randomDropChancePercentage <= woodRange)
            {
                switch (heroClass)
                {
                case HeroClassTypes.spearman:
                    itemTempWeapon = new WoodenSpear();
                    break;

                case HeroClassTypes.swordsman:
                    itemTempWeapon = new WoodenSword();
                    break;

                case HeroClassTypes.ranger:
                    itemTempWeapon = new WoodenBow();
                    break;

                default:
                    itemTempWeapon = new Weapon();
                    break;
                }
            }
            else if (randomDropChancePercentage > woodRange && randomDropChancePercentage <= stoneRange)
            {
                switch (heroClass)
                {
                case HeroClassTypes.spearman:
                    itemTempWeapon = new StoneSpear();
                    break;

                case HeroClassTypes.swordsman:
                    itemTempWeapon = new StoneSword();
                    break;

                case HeroClassTypes.ranger:
                    itemTempWeapon = new StoneBow();
                    break;

                default:
                    itemTempWeapon = new Weapon();
                    break;
                }
            }
            else if (randomDropChancePercentage > stoneRange && randomDropChancePercentage <= ironRange)
            {
                switch (heroClass)
                {
                case HeroClassTypes.spearman:
                    itemTempWeapon = new IronSpear();
                    break;

                case HeroClassTypes.swordsman:
                    itemTempWeapon = new IronSword();
                    break;

                case HeroClassTypes.ranger:
                    itemTempWeapon = new IronBow();
                    break;

                default:
                    itemTempWeapon = new Weapon();
                    break;
                }
            }
            else
            {
                switch (heroClass)
                {
                case HeroClassTypes.spearman:
                    itemTempWeapon = new DiamondSpear();
                    break;

                case HeroClassTypes.swordsman:
                    itemTempWeapon = new DiamondSword();
                    break;

                case HeroClassTypes.ranger:
                    itemTempWeapon = new DiamondBow();
                    break;

                default:
                    itemTempWeapon = new Weapon();
                    break;
                }
            }
        }