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); }
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); }