public int GetLevels(StatsEnum stat, CharacterClassEnum characterClass) { BuildLookup(); float[] levels = _lookupTable[characterClass][stat]; return(levels.Length); }
public void CreateTeamProfile(string name, HouseEnum house, CharacterClassEnum cast, string image) { if (!_dataService.IsFileExist(FileNames.TeamProfile)) { TeamProfile profile = new TeamProfile(name, house, cast, image); _dataService.CreateFile(FileNames.TeamProfile); SaveToFile(profile); } }
public Item GetSpecificItem(int tier, ItemTypeEnum itemType) { ItemRarityEnum itemRarity = GetRarity(); CharacterClassEnum usableFor = GetClass(); string statsForQr = GetStats(GetStatPool(tier, itemRarity), itemType); var nameandimage = GetNameAndImage(usableFor, itemType); return(new Item(tier, itemRarity, itemType, usableFor, statsForQr, GetNameAndImage(usableFor, itemType))); }
/// <summary> /// Creates a new item. /// </summary> /// <param name="tier"></param> /// <param name="rarity"></param> /// <param name="itemType"></param> /// <param name="usableFor"></param> /// <param name="statsFromQR"> atk,def,stamina,crit,dodge</param> public Item(int tier, ItemRarityEnum rarity, ItemTypeEnum itemType, CharacterClassEnum usableFor, string statsFromQR, int ad = 999) { Id = GenerateId(); Tier = tier; Rarity = rarity; ItemType = itemType; UsableFor = usableFor; StatsFromQR = statsFromQR; Ad = ad; SetStats(statsFromQR); }
public int GetRequiredExperienceForLevel( int currentLevel, CharacterClassEnum characterClass ) { CharacterStat charStat = characterStats.First(x => x.characterClass == characterClass); int baseExpPoints = charStat.baseExperiencePoints; float modif = baseExpPoints * charStat.experienceModifier; return((int)Mathf.Round( (currentLevel * baseExpPoints) * (modif) )); }
public float GetStat(StatsEnum stat, CharacterClassEnum characterClass, int level) { BuildLookup(); Dictionary <StatsEnum, float[]> levelInfos = _lookupTable[characterClass]; float[] levels = levelInfos[stat]; if (levels.Length < level) { return(0f); } return(levels[level - 1]); }
private int GetNameAndImage(CharacterClassEnum usableFor, ItemTypeEnum itemType) { if (usableFor == CharacterClassEnum.Mage && itemType == ItemTypeEnum.Armor) { int rnd = _random.Next(0, ItemNameHandler.MageArmors.Count); return(rnd); } else if (usableFor == CharacterClassEnum.Mage && (itemType == ItemTypeEnum.LHand || itemType == ItemTypeEnum.RHand)) { int rnd = _random.Next(0, ItemNameHandler.MageWeapons.Count); return(rnd); } else if (usableFor == CharacterClassEnum.Rogue && itemType == ItemTypeEnum.Armor) { int rnd = _random.Next(0, ItemNameHandler.RogueArmors.Count); return(rnd); } else if (usableFor == CharacterClassEnum.Rogue && (itemType == ItemTypeEnum.LHand || itemType == ItemTypeEnum.RHand)) { int rnd = _random.Next(0, ItemNameHandler.RogueWeapons.Count); return(rnd); } else if (usableFor == CharacterClassEnum.Warrior && itemType == ItemTypeEnum.Armor) { int rnd = _random.Next(0, ItemNameHandler.WarriorArmors.Count); return(rnd); } else if (usableFor == CharacterClassEnum.Warrior && (itemType == ItemTypeEnum.LHand || itemType == ItemTypeEnum.RHand)) { int rnd = _random.Next(0, ItemNameHandler.WarriorWeapons.Count); return(rnd); } else if (itemType == ItemTypeEnum.Ring) { int rnd = _random.Next(0, ItemNameHandler.Rings.Count); return(rnd); } else if (itemType == ItemTypeEnum.Neck) { int rnd = _random.Next(0, ItemNameHandler.Necks.Count); return(rnd); } return(999); }
// =====================================> [ GETTERS BASED ON CURRENT CHARACTER STATS CALCULATIONS ] <================================ // HEALTH public float GetHealth( int currentLevel, CharacterClassEnum characterClass, CharacterRaceEnum characterRace, CharacterGenderEnum characterGender ) { float healthPoints = 0f; // Evaluate base health per class and current level foreach (CharacterStat stat in characterStats) { if (stat.characterClass == characterClass) { healthPoints = stat.initialHealthPoints + (currentLevel * stat.levelMultiplier); } } // Add bonus based on race foreach (CharacterRace race in characterRaces) { if (race.characterRace == characterRace) { healthPoints += race.bonusHealthPoints; } } // Add bonus based on gender foreach (CharacterGender gender in characterGenders) { if (gender.characterGender == characterGender) { healthPoints += gender.bonusHealthPoints; } } // Finally, return constructed health points return(healthPoints); }
public static string GetName(CharacterClassEnum el) { return(_EnumToName[el]); }
public static string GetItemName(ItemRarityEnum rarity, ItemTypeEnum itemType, CharacterClassEnum usableFor, int ad) { if (rarity == ItemRarityEnum.Legendary && itemType == ItemTypeEnum.Ring) { return(Legends[ad].Item1); } else if (rarity == ItemRarityEnum.Legendary && itemType == ItemTypeEnum.Neck) { return(Legends[ad].Item1); } else if (rarity == ItemRarityEnum.Legendary && itemType == ItemTypeEnum.RHand) { return(Legends[ad].Item1); } else if (usableFor == CharacterClassEnum.Mage && itemType == ItemTypeEnum.Armor) { return(MageArmors[ad].Item1); } else if (usableFor == CharacterClassEnum.Mage && (itemType == ItemTypeEnum.LHand || itemType == ItemTypeEnum.RHand)) { return(MageWeapons[ad].Item1); } else if (usableFor == CharacterClassEnum.Rogue && itemType == ItemTypeEnum.Armor) { return(RogueArmors[ad].Item1); } else if (usableFor == CharacterClassEnum.Rogue && (itemType == ItemTypeEnum.LHand || itemType == ItemTypeEnum.RHand)) { return(RogueWeapons[ad].Item1); } else if (usableFor == CharacterClassEnum.Warrior && itemType == ItemTypeEnum.Armor) { return(WarriorArmors[ad].Item1); } else if (usableFor == CharacterClassEnum.Warrior && (itemType == ItemTypeEnum.LHand || itemType == ItemTypeEnum.RHand)) { return(WarriorWeapons[ad].Item1); } else if (itemType == ItemTypeEnum.Ring) { return(Rings[ad].Item1); } else if (itemType == ItemTypeEnum.Neck) { return(Necks[ad].Item1); } return(string.Empty); }