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; }
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; }
//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); }
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); } }
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]); }
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; }
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); }
// 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(); */ }
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; }
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); }
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())); } } }
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; }
// Start is called before the first frame update void Start() { statsBase = new DictionaryHolder(); statsPerLevel = new DictionaryHolder(); statsCurrent = new DictionaryHolder(); }
public int BasicAttack() { return(DictionaryHolder.AverageFixedDamageNonZero(statsCurrent)); }
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); }