public void UpdateBar(PokemonInstance pmon) => UpdateBar( pmon.GetLevel() < 100 ? Mathf.InverseLerp( a: GrowthTypeData.GetMinimumExperienceForLevel(pmon.GetLevel(), pmon.growthType), b: GrowthTypeData.GetMinimumExperienceForLevel((byte)(pmon.GetLevel() + 1), pmon.growthType), value: pmon.experience ) : 1 );
/// <summary> /// Fully update the values on the overview pane using a specified pokemon /// </summary> /// <param name="pokemon">The pokemon to use</param> public virtual void FullUpdate(PokemonInstance pokemon) { UpdateHealthBar(pokemon.health, pokemon.GetStats().health); UpdateName(pokemon.GetDisplayName()); UpdateGender(pokemon.gender); UpdateLevel(pokemon.GetLevel()); UpdateNonVolatileStatsCondition(pokemon.nonVolatileStatusCondition); }
public override int CalculateDamageToDeal(float attackDefenseRatio, float modifiersValue, PokemonInstance user, PokemonInstance target, BattleData battleData) { if (TypeAdvantage.CalculateMultiplier(type, target.species) == 0) { return(0); } else { return(user.GetLevel()); } }
public void UpdateExperienceBar(PokemonInstance pokemon) { if (pokemon.GetLevel() < 100) { int pokemonCurrentLevelExperience = GrowthTypeData.GetMinimumExperienceForLevel(pokemon.GetLevel(), pokemon.growthType); int pokemonNextLevelExperience = GrowthTypeData.GetMinimumExperienceForLevel((byte)(pokemon.GetLevel() + 1), pokemon.growthType); UpdateExperienceBar(pokemon.experience, pokemonCurrentLevelExperience, pokemonNextLevelExperience); } else { UpdateExperienceBar(1); } }
public override void RefreshDetails(PokemonInstance pokemon) { evHex.values = new float[] { (float)pokemon.effortValues.attack / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.defense / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.specialAttack / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.specialDefense / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.speed / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.health / PokemonInstance.maximumEffortValue }; ivHex.values = new float[] { (float)pokemon.individualValues.attack / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.defense / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.specialAttack / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.specialDefense / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.speed / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.health / PokemonInstance.maximumIndividualValue }; textAttackValue.text = pokemon.GetStats().attack.ToString(); textDefenseValue.text = pokemon.GetStats().defense.ToString(); textSpecialAttackValue.text = pokemon.GetStats().specialAttack.ToString(); textSpecialDefenseValue.text = pokemon.GetStats().specialDefense.ToString(); textSpeedValue.text = pokemon.GetStats().speed.ToString(); textHealthValue.text = pokemon.health + "/" + pokemon.GetStats().health; byte pokemonLevel = pokemon.GetLevel(); textExperience.text = pokemon.experience.ToString(); if (pokemonLevel < 100) { textExperienceToNextLevel.text = (GrowthTypeData.GetMinimumExperienceForLevel((byte)(pokemonLevel + 1), pokemon.species.growthType) - pokemon.experience).ToString(); } else { textExperienceToNextLevel.text = "-"; } experienceBar.UpdateBar(pokemon); }
public override void RefreshDetails(PokemonInstance pokemon) { imagePokeBall.sprite = SpriteStorage.GetItemSprite( PokeBall.GetPokeBallById(pokemon.pokeBallId) .resourceName ); textName.text = pokemon.GetDisplayName(); imageGender.sprite = SpriteStorage.GetGenderSprite(pokemon.gender); textSpeciesName.text = pokemon.species.name; textSpeciesNumber.text = pokemon.species.id.ToString(); imageType1.sprite = SpriteStorage.GetTypeSymbolSprite(pokemon.species.type1); imageFront.sprite = pokemon.LoadSprite(PokemonSpecies.SpriteType.Front1); Type?pokemonType2 = pokemon.species.type2; if (pokemonType2 == null) { imageType2.gameObject.SetActive(false); } else { imageType2.gameObject.SetActive(true); imageType2.sprite = SpriteStorage.GetTypeSymbolSprite((Type)pokemonType2); } textLevel.text = pokemon.GetLevel().ToString(); textOriginalTrainer.text = pokemon.originalTrainerName; //TODO - once abilities made, set ability Text texts textAbilityName.text = ""; textAbilityDescription.text = ""; imageCheatPokemon.gameObject.SetActive(pokemon.cheatPokemon); imageShinyPokemon.gameObject.SetActive(pokemon.IsShiny); }
public void SetPokemon(PokemonInstance pokemon) { if (pokemon == null) { SetInteractable(false); return; } else { SetInteractable(true); } textName.text = pokemon.GetDisplayName(); textLevel.text = levelTextPrefix + pokemon.GetLevel().ToString(); imageIcon.sprite = pokemon.LoadSprite(PokemonSpecies.SpriteType.Icon); if (pokemon.nonVolatileStatusCondition == PokemonInstance.NonVolatileStatusCondition.None) { nvscImage.enabled = false; } else { nvscImage.enabled = true; nvscImage.sprite = SpriteStorage.GetNonVolatileStatusConditionSprite(pokemon.nonVolatileStatusCondition); } if (pokemon.heldItem == null) { imageHeldItem.enabled = false; } else { imageHeldItem.enabled = true; } healthBar.UpdateBar(pokemon.HealthProportion); }
public void SetPokemonDetails(PokemonInstance pokemon) { #region Images imageIcon.sprite = pokemon.LoadSprite(PokemonSpecies.SpriteType.Icon); imageFront.sprite = pokemon.LoadSprite(PokemonSpecies.SpriteType.Front1); imageBack.sprite = pokemon.LoadSprite(PokemonSpecies.SpriteType.Back); #endregion #region General Details imageType1.sprite = SpriteStorage.GetTypeSymbolSprite(pokemon.species.type1); Pokemon.Type?pokemonType2 = pokemon.species.type2; if (pokemonType2 == null) { imageType2.gameObject.SetActive(false); } else { imageType2.gameObject.SetActive(true); imageType2.sprite = SpriteStorage.GetTypeSymbolSprite((Pokemon.Type)pokemon.species.type2); } textName.text = pokemon.GetDisplayName(); imageGender.sprite = pokemon.LoadGenderSprite(); textLevelValue.text = pokemon.GetLevel().ToString(); if (pokemon.heldItem != null) { textItemName.text = pokemon.heldItem.itemName; imageItemIcon.enabled = true; imageItemIcon.sprite = pokemon.heldItem.LoadSprite(); } else { textItemName.text = "No held item"; imageItemIcon.enabled = false; } //TODO - set values for ability when and if implemented textAbilityName.text = ""; textAbilityDescription.text = ""; if (pokemon.nonVolatileStatusCondition != PokemonInstance.NonVolatileStatusCondition.None) { imageStatusCondition.gameObject.SetActive(true); Sprite statusConditionSprite = SpriteStorage.GetNonVolatileStatusConditionSprite(pokemon.nonVolatileStatusCondition); if (statusConditionSprite != null) { imageStatusCondition.gameObject.SetActive(true); imageStatusCondition.sprite = statusConditionSprite; } else { imageStatusCondition.gameObject.SetActive(false); } } else { imageStatusCondition.gameObject.SetActive(false); } imageCheatPokemon.gameObject.SetActive(pokemon.cheatPokemon); imageShinyPokemon.gameObject.SetActive(pokemon.IsShiny); #endregion #region Stats Pokemon.Stats <int> stats = pokemon.GetStats(); textAttackValue.text = stats.attack.ToString(); textDefenseValue.text = stats.defense.ToString(); textSpecialAttackValue.text = stats.specialAttack.ToString(); textSpecialDefenseValue.text = stats.specialDefense.ToString(); textSpeedValue.text = stats.speed.ToString(); healthBar.UpdateBar(pokemon.HealthProportion); #endregion }
public void SetPokemon(PokemonInstance pokemon) { if (pokemon == null) { SetPokemonShownState(false); } else { SetPokemonShownState(true); textDisplayName.text = pokemon.GetDisplayName(); imageGender.sprite = pokemon.LoadGenderSprite(); textLevel.text = levelPrefix + pokemon.GetLevel().ToString(); imageSprite.sprite = pokemon.LoadSprite(PokemonSpecies.SpriteType.Front1); textSpeciesName.text = pokemon.species.name; textSpeciesNumber.text = pokemon.species.id.ToString(); imageType1.sprite = SpriteStorage.GetTypeSymbolSprite(pokemon.species.type1); if (pokemon.species.type2 != null) { imageType2.sprite = SpriteStorage.GetTypeSymbolSprite((Type)pokemon.species.type2); } else { imageType2.enabled = false; } //This capitalises first letter of the nature's name textNature.text = pokemon.nature.name[0].ToString().ToUpper() + pokemon.nature.name.Substring(1); textItemName.text = pokemon.heldItem != null ? pokemon.heldItem.itemName : ""; textStatAttackValue.text = pokemon.GetStats().attack.ToString(); textStatDefenseValue.text = pokemon.GetStats().defense.ToString(); textStatSpecialAttackValue.text = pokemon.GetStats().specialAttack.ToString(); textStatSpecialDefenseValue.text = pokemon.GetStats().specialDefense.ToString(); textStatSpeedValue.text = pokemon.GetStats().speed.ToString(); textStatHealthValue.text = pokemon.GetStats().health.ToString(); statHexEV.values = new float[] { (float)pokemon.effortValues.attack / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.defense / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.specialAttack / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.specialDefense / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.speed / PokemonInstance.maximumEffortValue, (float)pokemon.effortValues.health / PokemonInstance.maximumEffortValue }; statHexIV.values = new float[] { (float)pokemon.individualValues.attack / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.defense / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.specialAttack / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.specialDefense / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.speed / PokemonInstance.maximumIndividualValue, (float)pokemon.individualValues.health / PokemonInstance.maximumIndividualValue }; imageCheatPokemon.enabled = pokemon.cheatPokemon; } }
public override int CalculateDamageToDeal(float attackDefenseRatio, float modifiersValue, PokemonInstance user, PokemonInstance target, BattleData battleData) { return(user.GetLevel()); }
public override ushort CalculateAccuracyValue(PokemonInstance user, PokemonInstance target, BattleData battleData) => Convert.ToUInt16(user.GetLevel() - target.GetLevel() + 30);