public UnitDescription ToDescription() { Enum.TryParse(unitRace, out Race race); RaceStat raceStatFound = null; foreach (RaceStat raceStat in UnitGenerator.GetAllRaces()) { if (raceStat.race == race) { raceStatFound = raceStat; } } Enum.TryParse(unitClass, out Class @class); ClassStat classStatFound = null; foreach (ClassStat classStat in UnitGenerator.GetAllClasses()) { if (classStat.clas == @class) { classStatFound = classStat; } } return(new UnitDescription(name, raceStatFound, classStatFound, abilityName, Unit.allyTag, id, experience, level, gems)); }
public Class(User account) : base(account) { AssaultStats = new ClassStat(account, "assault"); MedicStats = new ClassStat(account, "medic"); PilotStats = new ClassStat(account, "pilot"); ReconStats = new ClassStat(account, "recon"); SupportStats = new ClassStat(account, "support"); TankerStats = new ClassStat(account, "tanker"); }
public static UnitDescription GenerateUnit(string unitTag) { RaceStat unitRace = GetRandomRace(unitTag); ClassStat unitClass = GetRandomClass(unitRace.race); string name = GetRandomName(unitRace); string abilityName = GetRandomAbilityName(unitClass); return(new UnitDescription(name, unitRace, unitClass, abilityName, unitTag)); }
public UnitDescription(Unit unit) { sprite = unit.GetSprite(); unitRace = unit.raceStats; unitClass = unit.classStat; abilityName = unit.GetAbilityName(); unitName = unit.GetName(); id = unit.id; level = unit.Level; gems = unit.GetGems(); }
public static string GetRandomAbilityName(ClassStat classStat) { if (classStat.abilities.Length > 0) { int randomAbilityIndex = Random.Range(0, classStat.abilities.Length); return(classStat.abilities[randomAbilityIndex]); } else { return(null); } }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } ClassStat = await _context.ClassStats.FirstOrDefaultAsync(m => m.ClassID == id); if (ClassStat == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } ClassStat = await _context.ClassStats.FindAsync(id); if (ClassStat != null) { _context.ClassStats.Remove(ClassStat); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
/// <summary> /// Creates a new UnitDescription and attached a new id to it /// </summary> /// <param name="name"></param> /// <param name="unitRace"></param> /// <param name="unitClass"></param> /// <param name="abilityName"></param> public UnitDescription(string name, RaceStat unitRace, ClassStat unitClass, string abilityName, string unitTag, uint?id = null, uint experience = 0, uint level = 1, string[] gems = null) { unitName = name; this.unitRace = unitRace; this.unitClass = unitClass; this.abilityName = abilityName; sprite = unitRace.getSprite(unitClass.clas); if (id == null) { this.id = GetNewId(); } else { this.id = (uint)id; } this.experience = experience; this.gems = gems; this.level = level; }
public static void Initialize(PlayerContext context) { context.Database.EnsureCreated(); // Look for any Users. if (context.UserInfos.Any()) { return; // DB has been seeded } var users = new UserInfo[] { new UserInfo { UserID = 0, UserName = "******", Password = "******", Email = "*****@*****.**" } }; context.UserInfos.AddRange(users); context.SaveChanges(); var characterstat = new CharacterStat[] { new CharacterStat { CharacterId = 0, UserId = 0, GuildId = 0, Level = 160, JobLevel = 80, Class = "Genetic", Strength = 50, Agility = 120, Vitality = 159, Intelligence = 50, Dexterity = 100, Luck = 100, HealthPoints = 3500000, GoldMedals = 2500, GuildContribution = 1800000 } }; context.CharacterStats.AddRange(characterstat); context.SaveChanges(); var guild = new Guild[] { new Guild { GuildId = 0, GuildName = "WorstBehavior" } }; context.Guilds.AddRange(guild); context.SaveChanges(); var adventurebook = new AdventureBook[] { new AdventureBook { CharacterId = 0, MaximumHp = 38000, PhysicalAttack = 1400, MagicAttack = 800, GachaDeposit = 14 } }; context.AdventureBooks.AddRange(adventurebook); context.SaveChanges(); var classstat = new ClassStat[] { new ClassStat { ClassID = 0 } }; context.ClassStats.AddRange(classstat); context.SaveChanges(); var goddessprayer = new GoddessPrayer[] { new GoddessPrayer { CharacterId = 0, MaximumHp = 200, PhysicalAttack = 200, MagicAttack = 200, PhysicalDefense = 200, MagicalDefense = 200 } }; context.GoddessPrayers.AddRange(goddessprayer); context.SaveChanges(); var statusresistance = new StatusResistance[] { new StatusResistance { CharacterId = 0, FearResistance = 98, FreezeResistance = 40, PetrifyResistance = 40, SleepResistance = 100, StunResistance = 114 } }; context.StatusResistances.AddRange(statusresistance); context.SaveChanges(); var equipment = new Equipment[] { new Equipment { CharacterId = 0, WeaponName = "Hurricane Fury", WeaponRefine = 15, WeaponCard1 = "Spashire Star Card", WeaponCard2 = "Mega Ant Egg Card", ShieldName = "Stone Buckler", ShieldRefine = 8, ShieldCard = "Marc Card", ArmorName = "Comet Armor", ArmorRefine = 15, ArmorCard = "Ghostring Card", ManteauName = "Diabolus Manteau", ManteauRefine = 10, ManteauCard = "Jakk Card", LeftAccessoryName = "Safety Ring", LeftAccessoryRefine = 8, LeftAccessoryCard = "Fisherman Card", RightAccessoryName = "Safety Ring", RightAccessoryRefine = 8, RightAccessoryCard = "Fisherman Card", HeadgearName = "Sheep on Head", HeadgearRefine = 4, HeadgearCard = "Nightmare Card", FaceName = "Goblin Leader Mask", FaceRefine = 10, MouthName = "Pipe", MouthRefine = 10, BackName = "Midgard Backpack", BackRefine = 8, TailName = "Midgard Fairy", TailRefine = 10 } }; context.Equipments.AddRange(equipment); context.SaveChanges(); }
public void UpdateDescription() { if (actualSlot == null) { UnitName.text = ""; UnitStats.text = ""; UnitExperience.text = ""; return; } currentDescription = actualSlot.GetCurrentUnitDescription(); SetUnitName(currentDescription.GetUnitName()); SetUnitExperience(currentDescription.GetExperience()); SetUnitLevel(currentDescription.GetLevel()); ClassStat classe = currentDescription.GetClass(); RaceStat race = currentDescription.GetRace(); //destroy previously displayed slots foreach (GameObject slot in gemSlots) { Destroy(slot); } string[] gems = currentDescription.GetGems(); gemSlots = new List <GameObject>(); currentGems = new List <Gem>(); if (ResetGemsButton) { if (GameManager.instance.gamestate == GameManager.GameState.Placement || (GameManager.instance.gamestate == GameManager.GameState.Shopping || GameManager.instance.gamestate == GameManager.GameState.Resolution) && actualSlot.GetSlotType() == InventorySlot.SlotType.Inventory) { GenerateSlots(gems); ResetGemsButton.gameObject.SetActive(true); } else { ResetGemsButton.gameObject.SetActive(false); } } uint level = currentDescription.GetLevel(); float damage = classe.damage + race.damage + 1 * (level - 1); float maxLife = classe.maxLife + race.maxLife + 10 * (int)(level - 1); float attackSpeed = classe.attackSpeed + race.attackSpeed + 0.05f * (level - 1); float moveSpeed = classe.moveSpeed + race.moveSpeed; float armor = classe.armor + race.armor + 0.05f * (level - 1); float power = 1 + 0.05f * (level - 1); int range = classe.range; float incrementStamina = classe.incrementStamina; if (currentGems.Count > 0) { foreach (Gem gem in currentGems) { if (gem.GetStatModified() == Gem.StatModified.None) { gem.InitializeStatModified(); } switch (gem.GetStatModified()) { case Gem.StatModified.Damage: damage = gem.InitGemEffect(damage); break; case Gem.StatModified.Health: maxLife = gem.InitGemEffect(maxLife); break; case Gem.StatModified.AttackSpeed: attackSpeed = gem.InitGemEffect(attackSpeed); break; case Gem.StatModified.Armor: armor = gem.InitGemEffect(armor); break; case Gem.StatModified.MovementSpeed: moveSpeed = gem.InitGemEffect(moveSpeed); break; case Gem.StatModified.Power: power = gem.InitGemEffect(power); break; } } } //get ability name and add space before every capital letter string abilityName = currentDescription.GetAbilityName(); StringBuilder abilityNameWithSpaces = new StringBuilder(abilityName.Length * 2); abilityNameWithSpaces.Append(abilityName[0]); for (int i = 1; i < abilityName.Length; i++) { if (char.IsUpper(abilityName[i]) && abilityName[i - 1] != ' ') { abilityNameWithSpaces.Append(' '); } abilityNameWithSpaces.Append(abilityName[i]); } string stats = "Classe : " + classe.name + "\n" + "Race : " + race.name + "\n" + "Capacité : " + abilityNameWithSpaces + "\n" + "Stamina générée : " + incrementStamina + "\n" + "PV Max : " + maxLife + "\n" + "Dégâts : " + Mathf.Round(damage * 100f) / 100f + "\n" + "Vitesse d'attaque : " + Mathf.Round(attackSpeed * 100f) / 100f + "\n" + "Vitesse de déplacement : " + Mathf.Round(moveSpeed * 100f) / 100f + "\n" + "Armor : " + Mathf.Round(armor * 100f) / 100f + "\n" + "Puissance : " + Mathf.Round(power * 100f) / 100f + "\n" + "Portée : " + range + "\n"; SetUnitStats(stats); }