예제 #1
0
    //Returns a character (informations, not instantiation)
    public CharacterInfo GenerateRandomCharacterInfo()
    {
        CharacterInfo characterInfo = new CharacterInfo();

        //Reference key-generation data for comfort
        SO_Race  referenceRace  = _races[Random.Range(0, _races.Length)];
        SO_Class referenceClass = referenceRace._classes[Random.Range(0, referenceRace._classes.Length)];

        characterInfo.race   = referenceRace._race;
        characterInfo.gender = referenceRace._genders[Random.Range(0, referenceRace._genders.Length)];
        characterInfo.name   = GetRandomName(characterInfo.gender, referenceRace);
        characterInfo.title  = GetRandomTitle();
        characterInfo.class_ = referenceClass._class;

        characterInfo.level = 1;

        //Collect levellingInfo for the race and class/level
        LevelInfo raceLevelInfo  = GetRaceLevelInfo(characterInfo.race);
        LevelInfo classLevelInfo = GetClassLevelInfo(characterInfo.class_, 1);

        characterInfo.experienceThreshold = classLevelInfo._XPThreshold;

        //Set attributes by cumulating level info stats, made at least positive
        characterInfo.maxHP        = EnsurePositiveValue(raceLevelInfo.GetRandomizedHP() + classLevelInfo.GetRandomizedHP());
        characterInfo.strength     = EnsurePositiveValue(raceLevelInfo.GetRandomizedStrength() + classLevelInfo.GetRandomizedStrength());
        characterInfo.dexterity    = EnsurePositiveValue(raceLevelInfo.GetRandomizedDexterity() + classLevelInfo.GetRandomizedDexterity());
        characterInfo.intelligence = EnsurePositiveValue(raceLevelInfo.GetRandomizedIntelligence() + classLevelInfo.GetRandomizedIntelligence());
        characterInfo.charisma     = EnsurePositiveValue(raceLevelInfo.GetRandomizedCharisma() + classLevelInfo.GetRandomizedCharisma());

        return(characterInfo);
    }
예제 #2
0
    //Returns a random name based on a Gender, within a RaceInfo data set
    public string GetRandomName(Gender gender, SO_Race raceInfo)
    {
        string result;

        List <NamesImporter> nameList = GetNameList(raceInfo._race, gender);

        result = nameList[Random.Range(0, nameList.Count)].name_;

        return(result);
    }