| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- 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<LearnedSkill>()
- };
- }
- }
|