Exemplo n.º 1
0
    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();
    }