예제 #1
0
    private List <InventoryItem> PopulateItemsForSale(InventoryItemType type)
    {
        var items   = new List <InventoryItem>();
        var nbItems = 3;

        if (Random.Range(0, 100) < 5)
        {
            nbItems = 6;
        }
        else if (Random.Range(0, 100) < 15)
        {
            nbItems = 5;
        }
        else if (Random.Range(0, 100) < 30)
        {
            nbItems = 4;
        }
        for (int i = 0; i < nbItems; ++i)
        {
            if (type == InventoryItemType.Weapon)
            {
                items.Add(WeaponsData.GetRandomWeapon());
            }
            else if (type == InventoryItemType.Skill)
            {
                items.Add(SkillsData.GetRandomSkill());
            }
            else if (type == InventoryItemType.Item)
            {
                items.Add(ItemsData.GetRandomItem());
            }
        }
        return(items);
    }
예제 #2
0
    public static Character GetCharacterFromRaceAndLevel(CharacterRace race, int level, bool isPlayer = false)
    {
        CharacterGender gender        = (CharacterGender)Random.Range(0, 2);
        CharacterGender nameGender    = gender;
        int             genderPercent = Random.Range(0, 100);

        if (genderPercent < TransgenderChancePercentage)
        {
            gender     = CharacterGender.Transgender;
            nameGender = (CharacterGender)Random.Range(0, 2);
        }
        string    name         = GetRandomNameFromRaceAndGender(race, nameGender);
        Character tmpCharacter = null;

        switch (race)
        {
        case CharacterRace.Human:
            tmpCharacter = GetBaseHuman(gender, isPlayer);
            break;

        case CharacterRace.Gobelin:
            tmpCharacter = GetBaseGobelin(gender, isPlayer);
            break;

        case CharacterRace.Elf:
            tmpCharacter = GetBaseElf(gender, isPlayer);
            break;

        case CharacterRace.Dwarf:
            tmpCharacter = GetBaseDwarf(gender, isPlayer);
            break;

        case CharacterRace.Orc:
            tmpCharacter = GetBaseOrc(gender, isPlayer);
            break;
        }
        tmpCharacter.IsPlayer = isPlayer;
        tmpCharacter.Skills.Add(SkillsData.GetRandomSkill(isPlayer));
        tmpCharacter.Gender = gender;
        tmpCharacter.Name   = name;
        tmpCharacter.Level  = level;
        tmpCharacter.HpMax  = Helper.MaxHpFromLevelOne(tmpCharacter.HpMax, level, tmpCharacter.LevelingHealthPercent);
        tmpCharacter.Gold   = Random.Range(0, 25 * tmpCharacter.Level);
        // DEBUG //
        //if (race == CharacterRace.Dwarf || race == CharacterRace.Orc)
        //    tmpCharacter.Gold = 7777;
        // DEBUG //
        tmpCharacter.Experience = 0;
        tmpCharacter.Hp         = tmpCharacter.HpMax;
        return(tmpCharacter);
    }