mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
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:
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -3,14 +3,14 @@ class Pokemon
|
||||
# Mega Evolution
|
||||
# NOTE: These are treated as form changes in Essentials.
|
||||
#=============================================================================
|
||||
def getMegaForm(checkItemOnly = false)
|
||||
def getMegaForm
|
||||
ret = 0
|
||||
GameData::Species.each do |data|
|
||||
next if data.species != @species || data.unmega_form != form_simple
|
||||
if data.mega_stone && hasItem?(data.mega_stone)
|
||||
ret = data.form
|
||||
break
|
||||
elsif !checkItemOnly && data.mega_move && hasMove?(data.mega_move)
|
||||
elsif data.mega_move && hasMove?(data.mega_move)
|
||||
ret = data.form
|
||||
break
|
||||
end
|
||||
@@ -28,8 +28,7 @@ class Pokemon
|
||||
end
|
||||
|
||||
def mega?
|
||||
megaForm = self.getMegaForm
|
||||
return megaForm > 0 && megaForm == form_simple
|
||||
return (species_data.mega_stone || species_data.mega_move) ? true : false
|
||||
end
|
||||
|
||||
def makeMega
|
||||
|
||||
Reference in New Issue
Block a user