Fixed not being able to detect a Pokémon being a Mega Evolution, fixed inadequate checking if a Mega Stone is unlosable

This commit is contained in:
Maruno17
2021-05-03 18:58:02 +01:00
parent 474281712b
commit c5cc1eadac
3 changed files with 13 additions and 6 deletions

View File

@@ -421,7 +421,15 @@ class PokeBattle_Battler
return true if GameData::Item.get(check_item).is_mail?
return false if @effects[PBEffects::Transform]
# Items that change a Pokémon's form
return true if @pokemon && @pokemon.getMegaForm(true) > 0 # Mega Stone
if mega? # Check if item was needed for this Mega Evolution
return true if @pokemon.species_data.mega_stone == check_item
else # Check if item could cause a Mega Evolution
GameData::Species.each do |data|
next if data.species != @species || data.unmega_form != @form
return true if data.mega_stone == check_item
end
end
# Other unlosable items
return GameData::Item.get(check_item).unlosable?(@species, self.ability)
end

View File

@@ -147,7 +147,7 @@ class PokeBattle_Battle
@scene.pbRefreshOne(idxBattler)
pbCommonAnimation("MegaEvolution2",battler)
megaName = battler.pokemon.megaName
megaName = _INTL("Mega {1}", battler.pokemon.speciesName) nil_or_empty?(megaName)
megaName = _INTL("Mega {1}", battler.pokemon.speciesName) if nil_or_empty?(megaName)
pbDisplay(_INTL("{1} has Mega Evolved into {2}!",battler.pbThis,megaName))
side = battler.idxOwnSide
owner = pbGetOwnerIndexFromBattlerIndex(idxBattler)