public Character(int maxTraits, int minLevel, int maxLevel) { GameObject.Find("GameController").GetComponent <GameController> ().CharacterDatabase.AssignID(this); SecondWindActive = false; SecondWindEnergyGain = 200; LevelUpThreshold = 1000; SkillAdvanceThreshold = 1000; //TODO: Replace Array here with dynamic list, and the demands for executing one with a matching string in list //Alternatively, a game object or class instance per special move? SpecialMovesKnown = new bool[2]; RandomBonusRange = 5; RandomHealthBonusRange = 100; RandomEnergyBonusRange = 400; UsedSpecialMoveThisTurn = false; TurnsSinceLastSpecialMove = 0; IsInTeam = false; Traits = new List <Trait>(); TraitList traitList = new TraitList(); List <Trait> allTraits = traitList.GetTrait(); RaceList races = new RaceList(); List <Race> allRaces = races.GetRace(); ClassList classes = new ClassList(); List <Class> allClasses = classes.GetFClass(); Level = 1; SetRace(allRaces); SetGender(); SetAge(); SetName(); SetTraits(allTraits, maxTraits); SetFClass(allClasses); SetAllStats(); SetBaseSpecialMoves(); SetRandomFightMoneyCut(); InitialLeveling(minLevel, maxLevel); CurrentHealth = MaxHealth; CurrentEnergy = MaxEnergy; ExperiencePoints = 0; Relations = new CharacterRelations(); CharacterFlags = new CharacterFlags(); }