public void GenerateDynamicStats() // calls at session start { List <SkillController.Type> allSkills = new List <SkillController.Type>(); allSkills.Add(SkillController.Type.electricity); allSkills.Add(SkillController.Type.fire); allSkills.Add(SkillController.Type.gore); allSkills.Add(SkillController.Type.ice); allSkills.Add(SkillController.Type.piece); allSkills.Add(SkillController.Type.stone); allSkills.Add(SkillController.Type.water); allSkills.Add(SkillController.Type.wind); weakToDynamic.Clear(); invToDynamic.Clear(); foreach (SkillController.Type skill in weakToStatic) { weakToDynamic.Add(skill); allSkills.Remove(skill); } foreach (SkillController.Type skill in invToStatic) { invToDynamic.Add(skill); allSkills.Remove(skill); } foreach (SkillController.Type skill in allSkills) { float random = Random.value; if (random < 0.5f) { weakToDynamic.Add(skill); } else { invToDynamic.Add(skill); } } allSkills.Clear(); if (!inParty) { curMaxHealth = Random.Range(minHealth, maxHealth); health = curMaxHealth; npcControl.GenerateNpcSkills(); } }