using UnityEngine; public class RecruitableCharacter : MonoBehaviour { public string characterName = "Kyriela"; public CharacterInGroup.CharacterType characterType = CharacterInGroup.CharacterType.Priest; public CharacterInGroup.RaceType race = CharacterInGroup.RaceType.Human; public CharacterInGroup.PersonalityType personality = CharacterInGroup.PersonalityType.Ambitious; public int age = 28; public bool isMale = false; private void OnMouseDown() { RecruitDialogueUI.Instance.ShowRecruitDialog(this); } public CharacterInGroup GenerateCharacter() { // Generate stats based on character type int str = 8, con = 8, intel = 5, agi = 6; switch (characterType) { case CharacterInGroup.CharacterType.Warrior: str = 12; con = 10; intel = 4; agi = 6; break; case CharacterInGroup.CharacterType.Priest: str = 6; con = 8; intel = 12; agi = 5; break; case CharacterInGroup.CharacterType.Archer: str = 7; con = 7; intel = 6; agi = 12; break; case CharacterInGroup.CharacterType.Thief: str = 6; con = 7; intel = 8; agi = 11; break; case CharacterInGroup.CharacterType.Assassin: str = 8; con = 6; intel = 7; agi = 11; break; case CharacterInGroup.CharacterType.Monk: str = 9; con = 10; intel = 8; agi = 8; break; } // Calculate HP and Fatigue based on constitution int baseHP = 50 + (con * 5); int baseFatigue = 50 + (con * 3); return new CharacterInGroup { characterName = characterName, characterType = characterType, race = race, personality = personality, age = age, isMale = isMale, strength = str, constitution = con, agility = agi, intelligence = intel, currentHP = baseHP, maxHP = baseHP, currentFatigue = baseFatigue, maxFatigue = baseFatigue, experience = 0, level = 1, learnedSkills = new System.Collections.Generic.List() }; } }