Esempio n. 1
0
    public CharacterSkill(string name, string effectDescription, int level, int expToLevelUp, int maxLvl, DictionaryHolder.element element)
    {
        unlockRequirements = new Requirements();

        statsBase     = new DictionaryHolder();
        statsPerLevel = new DictionaryHolder();
        statsCurrent  = new DictionaryHolder();

        _name = name;
        _effectDescription = effectDescription;
        _level             = level;
        _maxLevel          = maxLvl;
        expPerLevel        = expToLevelUp;
        currentExp         = 0;
        _passive           = true;
        spCost             = 0;
        if (_level <= 0)
        {
            _unlocked = false;
        }
        else
        {
            _unlocked = true;
        }
        AdjustSkillBonus();
        _element = element;

        _alchemy = false;
    }
Esempio n. 2
0
 public EnemySkill(string name, int damage, int cost, DictionaryHolder.element element)
 {
     stats    = new DictionaryHolder();
     _effect  = new EnemySkillEffect();
     _name    = name;
     _element = element;
     stats.fixedDamageStats[element] = damage;
     _cost = cost;
 }
Esempio n. 3
0
    //add stats per passive skills
    public void UpdateStats()
    {
        modifierStats.Clear();
        //merger each skill passive with modifier stats
        for (int i = 0; i < gameObject.GetComponent <CharacterSkillTree>().AvailablePassiveSkills().Count; i++)
        {
            modifierStats = DictionaryHolder.MergeStats(modifierStats, GetComponent <CharacterSkillTree>().AvailablePassiveSkills()[i].statsCurrent);
        }

        currentStats = DictionaryHolder.MergeStats(baseStats, modifierStats, 1);
    }
Esempio n. 4
0
 private void AdjustSkillBonus()
 {
     //regular skill increase
     if (_level < _maxLevel)
     {
         statsCurrent = DictionaryHolder.MergeStats(statsBase, statsPerLevel, _level);
     }
     //max level bonus increase (current bonus x2)
     else
     {
         statsCurrent = DictionaryHolder.MergeStats(statsBase, DictionaryHolder.MergeStats(statsPerLevel, statsPerLevel), _maxLevel);
     }
 }
Esempio n. 5
0
        public void TestDictionaryHolder()
        {
            DictionaryHolder item = new DictionaryHolder();

            item.actionDictionary = NewActionDictionary();
            item.untyped          = NewActionDictionary();
            item.array            = new object[] { NewActionDictionary() };

            DictionaryHolder replicated = Replicate(item);

            Assert.IsNotNull(replicated.actionDictionary);
            Assert.IsNotNull(replicated.untyped);
            Assert.IsNotNull(replicated.array[0]);
        }
Esempio n. 6
0
    public void SetEnemy(EnemiesDatabase.enemy enemyType)
    {
        type  = enemyType;
        _name = EnemiesDatabase.GenerateName(enemyType);

        statsBase          = new DictionaryHolder();
        statsCurrent       = new DictionaryHolder();
        statsBase          = EnemiesDatabase.EnemyStats(enemyType);
        element            = EnemiesDatabase.GetElement(enemyType);
        statsCurrent       = statsBase;
        healthMax          = statsCurrent.health;
        healthCurrent      = healthMax;
        spellPointsMax     = statsCurrent.slime;
        spellPointsCurrent = spellPointsMax;

        expGiven = statsCurrent.expPool;
    }
Esempio n. 7
0
    public static int AverageFixedDamageNonZero(DictionaryHolder dic)
    {
        int average = 0;
        int counter = 0;

        if (dic.fixedDamageStats[element.Fire] > 0)
        {
            average += dic.fixedDamageStats[element.Fire]; counter++;
        }
        if (dic.fixedDamageStats[element.Water] > 0)
        {
            average += dic.fixedDamageStats[element.Water]; counter++;
        }
        if (dic.fixedDamageStats[element.Wind] > 0)
        {
            average += dic.fixedDamageStats[element.Wind]; counter++;
        }
        if (dic.fixedDamageStats[element.Earth] > 0)
        {
            average += dic.fixedDamageStats[element.Earth]; counter++;
        }
        if (dic.fixedDamageStats[element.Dark] > 0)
        {
            average += dic.fixedDamageStats[element.Dark]; counter++;
        }
        if (dic.fixedDamageStats[element.Light] > 0)
        {
            average += dic.fixedDamageStats[element.Light]; counter++;
        }
        if (dic.fixedDamageStats[element.Neutral] > 0)
        {
            average += dic.fixedDamageStats[element.Neutral]; counter++;
        }

        if (counter > 0)
        {
            average = Mathf.RoundToInt(average / counter);
        }
        else
        {
            average = 0;
        }

        return(average);
    }
Esempio n. 8
0
    // Start is called before the first frame update
    void Start()
    {
        //name
        playerName = "Slimey";

        //save load manager
        datamanager = GetComponent <DataManager>();

        //story progression
        StoryProgressionManager.Initialize();

        //stats
        currentStats  = new DictionaryHolder();
        modifierStats = new DictionaryHolder();
        baseStats     = new DictionaryHolder();
        baseStats.ChangeStat(DictionaryHolder.statType.Health, 10);
        baseStats.ChangeStat(DictionaryHolder.statType.Slime, 10);
        baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 1);

        //gathering levels
        Farming     = new CharacterJobClass("Farming", 1, 20, 1, 3);
        Fishing     = new CharacterJobClass("Fishing", 1, 20, 1, 3);
        Mining      = new CharacterJobClass("Mining", 1, 20, 1, 3);
        WoodCutting = new CharacterJobClass("WoodCutting", 1, 20, 1, 3);

        //modified stats
        actionPointsCurent = baseStats.actionPoints;
        healthCurrent      = baseStats.health;
        slimeCurrent       = baseStats.slime;
        expPoolCurrent     = 0;

        /*
         * //try load
         * datamanager.Load();
         *
         * //try save
         * datamanager.Save();
         */
    }
Esempio n. 9
0
    public void SetCharacterSkill(CharacterSkill charSkill)
    {
        //basic info
        _name = charSkill.Name();
        _effectDescription = charSkill.EffectDescription();
        //each level increases 1 point of int based values and 0.1f of float based values
        _level = charSkill.CurrentLevel();

        //exp info
        currentExp  = charSkill.currentExp;
        expPerLevel = charSkill.expPerLevel;

        //list of possible things skills might influence
        statsBase     = charSkill.statsBase;
        statsPerLevel = charSkill.statsPerLevel;
        statsCurrent  = charSkill.statsCurrent;

        //base stats
        statsBase.health       = charSkill.statsBase.health;
        statsBase.expPool      = charSkill.statsBase.expPool;
        statsBase.actionPoints = charSkill.statsBase.actionPoints;
        statsBase.slime        = charSkill.statsBase.slime;
        statsBase.elementSlots = charSkill.statsBase.elementSlots;

        //passive or active
        _passive  = charSkill._passive;
        _unlocked = charSkill._unlocked;

        //cost in case active
        spCost = charSkill.spCost;

        //in case of active set element combination
        comboStr = charSkill.comboStr;

        //element
        _element = charSkill._element;
    }
Esempio n. 10
0
    public static DictionaryHolder MergeStats(DictionaryHolder baseDic, DictionaryHolder incrementDic, int incrementAmount)
    {
        DictionaryHolder temp = new DictionaryHolder();

        temp.health       = baseDic.health + incrementDic.health * incrementAmount;
        temp.slime        = baseDic.slime + incrementDic.slime * incrementAmount;
        temp.elementSlots = baseDic.elementSlots + incrementDic.elementSlots * incrementAmount;
        temp.actionPoints = baseDic.actionPoints + incrementDic.actionPoints * incrementAmount;
        temp.expPool      = baseDic.expPool + incrementDic.expPool * incrementAmount;

        temp.fixedDamageStats[element.Fire]    = baseDic.fixedDamageStats[element.Fire] + incrementDic.fixedDamageStats[element.Fire] * incrementAmount;
        temp.fixedDamageStats[element.Water]   = baseDic.fixedDamageStats[element.Water] + incrementDic.fixedDamageStats[element.Water] * incrementAmount;
        temp.fixedDamageStats[element.Wind]    = baseDic.fixedDamageStats[element.Wind] + incrementDic.fixedDamageStats[element.Wind] * incrementAmount;
        temp.fixedDamageStats[element.Earth]   = baseDic.fixedDamageStats[element.Earth] + incrementDic.fixedDamageStats[element.Earth] * incrementAmount;
        temp.fixedDamageStats[element.Light]   = baseDic.fixedDamageStats[element.Light] + incrementDic.fixedDamageStats[element.Light] * incrementAmount;
        temp.fixedDamageStats[element.Dark]    = baseDic.fixedDamageStats[element.Dark] + incrementDic.fixedDamageStats[element.Dark] * incrementAmount;
        temp.fixedDamageStats[element.Neutral] = baseDic.fixedDamageStats[element.Neutral] + incrementDic.fixedDamageStats[element.Neutral] * incrementAmount;

        temp.percentDamageStats[element.Fire]    = baseDic.percentDamageStats[element.Fire] + incrementDic.percentDamageStats[element.Fire] * incrementAmount;
        temp.percentDamageStats[element.Water]   = baseDic.percentDamageStats[element.Water] + incrementDic.percentDamageStats[element.Water] * incrementAmount;
        temp.percentDamageStats[element.Wind]    = baseDic.percentDamageStats[element.Wind] + incrementDic.percentDamageStats[element.Wind] * incrementAmount;
        temp.percentDamageStats[element.Earth]   = baseDic.percentDamageStats[element.Earth] + incrementDic.percentDamageStats[element.Earth] * incrementAmount;
        temp.percentDamageStats[element.Light]   = baseDic.percentDamageStats[element.Light] + incrementDic.percentDamageStats[element.Light] * incrementAmount;
        temp.percentDamageStats[element.Dark]    = baseDic.percentDamageStats[element.Dark] + incrementDic.percentDamageStats[element.Dark] * incrementAmount;
        temp.percentDamageStats[element.Neutral] = baseDic.percentDamageStats[element.Neutral] + incrementDic.percentDamageStats[element.Neutral] * incrementAmount;

        temp.fixedResStats[element.Fire]    = baseDic.fixedResStats[element.Fire] + incrementDic.fixedResStats[element.Fire] * incrementAmount;
        temp.fixedResStats[element.Water]   = baseDic.fixedResStats[element.Water] + incrementDic.fixedResStats[element.Water] * incrementAmount;
        temp.fixedResStats[element.Wind]    = baseDic.fixedResStats[element.Wind] + incrementDic.fixedResStats[element.Wind] * incrementAmount;
        temp.fixedResStats[element.Earth]   = baseDic.fixedResStats[element.Earth] + incrementDic.fixedResStats[element.Earth] * incrementAmount;
        temp.fixedResStats[element.Light]   = baseDic.fixedResStats[element.Light] + incrementDic.fixedResStats[element.Light] * incrementAmount;
        temp.fixedResStats[element.Dark]    = baseDic.fixedResStats[element.Dark] + incrementDic.fixedResStats[element.Dark] * incrementAmount;
        temp.fixedResStats[element.Neutral] = baseDic.fixedResStats[element.Neutral] + incrementDic.fixedResStats[element.Neutral] * incrementAmount;

        return(temp);
    }
Esempio n. 11
0
    private void DefendRoutine()
    {
        //randomizes between -1(basic attack) and skill count
        int randomSkill = 0;

        randomSkill = Random.Range(-1, EnemiesDatabase.EnemySkill(enemy.GetEnemyType()).Count);

        //deal damage
        if (randomSkill < 0)
        {
            //damage
            player.GetComponent <CharacterStats>().TakeDamage(enemy.BasicAttack(), DictionaryHolder.element.Neutral);

            //basic
            WriteToInfoLabel(string.Format("<color=purple>{0}</color> used Basic Attack. <color=red>{1}</color> damage.", enemy.GetComponent <Enemy>().GetEnemyName(), enemy.BasicAttack().ToString()));
        }
        else
        {
            if (enemy.CanUseSkill(EnemiesDatabase.EnemySkill(enemy.GetEnemyType())[randomSkill]))
            {
                //damage
                player.GetComponent <CharacterStats>().TakeDamage(enemy.GetComponent <Enemy>().SkillDamage(EnemiesDatabase.EnemySkill(enemy.GetEnemyType())[randomSkill]), EnemiesDatabase.EnemySkill(enemy.GetEnemyType())[randomSkill].GetElement());

                //skill
                WriteToInfoLabel(string.Format("<color=purple>{0}</color> uses <color=" + DictionaryHolder.ElementColor(EnemiesDatabase.EnemySkill(enemy.GetEnemyType())[randomSkill].GetElement()) + ">{1}</color> and deals <color=red>{2}</color> damage.", enemy.GetComponent <Enemy>().GetEnemyName(), EnemiesDatabase.EnemySkill(enemy.GetEnemyType())[randomSkill].GetName(), enemy.GetComponent <Enemy>().SkillDamage(EnemiesDatabase.EnemySkill(enemy.GetEnemyType())[randomSkill]).ToString()));

                //skill effect
                EnemiesDatabase.EnemySkill(enemy.GetEnemyType())[randomSkill].UseEffect();
            }
            else
            {
                //damage
                player.GetComponent <CharacterStats>().TakeDamage(enemy.BasicAttack(), DictionaryHolder.element.Neutral);

                //basic
                WriteToInfoLabel(string.Format("<color=purple>{0}</color> tried to use <color=gray>{1}</color>.\n<color=purple>{2}</color> used Basic Attack. <color=red>{3}</color> damage.", enemy.GetComponent <Enemy>().GetEnemyName(), EnemiesDatabase.EnemySkill(enemy.GetEnemyType())[randomSkill].GetName(), enemy.GetComponent <Enemy>().GetEnemyName(), enemy.BasicAttack().ToString()));
            }
        }
    }
Esempio n. 12
0
    private void AttackRoutine()
    {
        //create temp variable for attack pattern
        string attack     = "";
        string stopString = "";

        //set attack pattern
        for (int i = 0; i < maxElementChoiceSlots; i++)
        {
            switch (elementChoiceSlots[i].tag)
            {
            case "Fire":
            {
                attack += "1";
                break;
            }

            case "Water":
            {
                attack += "2";
                break;
            }

            case "Earth":
            {
                attack += "3";
                break;
            }

            case "Wind":
            {
                attack += "4";
                break;
            }

            case "Light":
            {
                attack += "5";
                break;
            }

            case "Dark":
            {
                attack += "6";
                break;
            }

            case "Neutral":
            {
                attack += "7";
                break;
            }
            }
        }


        List <CharacterSkill> tempAvailableSkills = player.GetComponent <CharacterSkillTree>().AvailableActiveSkills();
        bool breakFromCheck = false;

        //goes through skill tree unlocked active skills and checks each possible combo
        //starting with the longer strings
        do
        {
            for (int i = tempAvailableSkills.Count - 1; i >= 0; i--)
            {
                //if the attack string contains the largest string -> shortest
                if (attack.Contains(tempAvailableSkills[i].comboStr))
                {
                    //add the skill to the list of skills to use
                    skillQueue.Add(tempAvailableSkills[i]);
                    //takes the combo int out of the pattern string
                    Regex regex = new Regex(tempAvailableSkills[i].comboStr);
                    attack = regex.Replace(attack, "", 1);

                    if (attack == stopString)
                    {
                        breakFromCheck = true;
                    }
                }
            }
        } while (!breakFromCheck);

        //goes through queue and uses skills
        foreach (CharacterSkill skill in skillQueue)
        {
            //if player has sp
            if (skill.spCost <= player.GetComponent <CharacterStats>().slimeCurrent)
            {
                //deduct sp
                player.GetComponent <CharacterStats>().slimeCurrent -= skill.spCost;

                //deal dmg
                enemy.GetComponent <Enemy>().TakeDamage(CalculateSkillDamage(skill), skill._element);

                WriteToInfoLabel(string.Format("Consumed <color=blue>{0}</color> sp to use <color=" + DictionaryHolder.ElementColor(skill._element) + ">{1}</color>: <color=red>{2}</color> damage.", skill.spCost.ToString(), skill.Name(), CalculateSkillDamage(skill)));
            }
        }
        //clear queue
        skillQueue.Clear();

        //clear counter
        elementChoicesCounter = 0;
    }
Esempio n. 13
0
 // Start is called before the first frame update
 void Start()
 {
     statsBase     = new DictionaryHolder();
     statsPerLevel = new DictionaryHolder();
     statsCurrent  = new DictionaryHolder();
 }
Esempio n. 14
0
 public int BasicAttack()
 {
     return(DictionaryHolder.AverageFixedDamageNonZero(statsCurrent));
 }
Esempio n. 15
0
    public static DictionaryHolder EnemyStats(enemy enemy)
    {
        baseStats = new DictionaryHolder();

        switch (enemy)
        {
        case enemy.Fish:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 1);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 1);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Water, 1);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Water, 10);
            break;
        }

        case enemy.Lizzard:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 2);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 2);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 1);

            break;
        }

        case enemy.Cat:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 5);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 9);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Dark, 3);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 5);
            break;
        }

        case enemy.Scorpion:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 7);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 7);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 7);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Fire, 7);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 7);
            break;
        }

        case enemy.Slime:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 10);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 10);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 10);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 2);

            break;
        }

        case enemy.Fox:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Fire, 5);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 10);
            break;
        }

        case enemy.Boar:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 12);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Earth, 5);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 5);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Neutral, 10);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Earth, 10);
            break;
        }

        case enemy.Wolf:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 30);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Dark, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 10);
            break;
        }

        case enemy.Bear:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 100);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Light, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 10);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Light, 25);
            break;
        }

        case enemy.Goblin:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 100);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 200);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 250);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Dark, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Neutral, 12);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 12);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Water, 6);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Wind, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Earth, 10);
            break;
        }

        case enemy.LandFish:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 2);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Water, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Water, 40);
            break;
        }

        case enemy.LizardMan:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 70);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 125);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Earth, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Neutral, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 10);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Earth, 20);
            break;
        }

        case enemy.Eagle:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 80);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 100);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 75);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Light, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 30);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Wind, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Light, 30);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Wind, 30);
            break;
        }

        case enemy.Kappa:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 200);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 75);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 500);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Water, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Water, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Earth, 10);
            break;
        }

        case enemy.ArmoredBoar:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 80);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 150);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Earth, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Neutral, 35);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Water, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Wind, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Light, 20);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Earth, 35);
            break;
        }

        case enemy.Pixie:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 100);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 125);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 300);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Light, 75);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 100);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Water, 35);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Wind, 70);
            break;
        }

        case enemy.FireFox:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 100);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 130);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 110);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Fire, 30);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Wind, 1);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Neutral, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Light, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Wind, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Earth, 10);
            break;
        }

        case enemy.Frog:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 75);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 200);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 200);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Water, 25);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 10);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Neutral, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 100);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Water, 60);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Wind, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Earth, 20);
            break;
        }

        case enemy.Panda:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 150);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 300);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 500);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Light, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 40);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 100);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Neutral, 40);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 15);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Water, 30);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Wind, 70);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Earth, 65);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Light, 100);
            break;
        }

        case enemy.Golem:
        {
            //stats
            baseStats.ChangeStat(DictionaryHolder.statType.ExpPool, 500);
            baseStats.ChangeStat(DictionaryHolder.statType.Health, 500);
            baseStats.ChangeStat(DictionaryHolder.statType.Slime, 750);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Dark, 50);
            baseStats.ChangeStat(DictionaryHolder.statType.Damage, DictionaryHolder.element.Neutral, 40);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Dark, 125);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Neutral, 125);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Fire, 125);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Water, 75);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Wind, 150);
            baseStats.ChangeStat(DictionaryHolder.statType.Res, DictionaryHolder.element.Earth, 150);
            break;
        }
        }

        return(baseStats);
    }