mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-09 14:14:59 +00:00
6.6 update
This commit is contained in:
80
Data/Scripts/014_Pokemon/002_Pokemon_MegaEvolution.rb
Normal file
80
Data/Scripts/014_Pokemon/002_Pokemon_MegaEvolution.rb
Normal file
@@ -0,0 +1,80 @@
|
||||
class Pokemon
|
||||
#=============================================================================
|
||||
# Mega Evolution
|
||||
# NOTE: These are treated as form changes in Essentials.
|
||||
#=============================================================================
|
||||
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 data.mega_move && hasMove?(data.mega_move)
|
||||
ret = data.form
|
||||
break
|
||||
end
|
||||
end
|
||||
return ret # form number, or 0 if no accessible Mega form
|
||||
end
|
||||
|
||||
def getUnmegaForm
|
||||
return (mega?) ? species_data.unmega_form : -1
|
||||
end
|
||||
|
||||
def hasMegaForm?
|
||||
megaForm = self.getMegaForm
|
||||
return megaForm > 0 && megaForm != form_simple
|
||||
end
|
||||
|
||||
def mega?
|
||||
return (species_data.mega_stone || species_data.mega_move) ? true : false
|
||||
end
|
||||
|
||||
def makeMega
|
||||
megaForm = self.getMegaForm
|
||||
self.form = megaForm if megaForm > 0
|
||||
end
|
||||
|
||||
def makeUnmega
|
||||
unmegaForm = self.getUnmegaForm
|
||||
self.form = unmegaForm if unmegaForm >= 0
|
||||
end
|
||||
|
||||
def megaName
|
||||
formName = species_data.form_name
|
||||
return (formName && !formName.empty?) ? formName : _INTL("Mega {1}", species_data.name)
|
||||
end
|
||||
|
||||
def megaMessage # 0=default message, 1=Rayquaza message
|
||||
megaForm = self.getMegaForm
|
||||
message_number = GameData::Species.get_species_form(@species, megaForm)&.mega_message
|
||||
return message_number || 0
|
||||
end
|
||||
|
||||
#=============================================================================
|
||||
# Primal Reversion
|
||||
# NOTE: These are treated as form changes in Essentials.
|
||||
#=============================================================================
|
||||
def hasPrimalForm?
|
||||
v = MultipleForms.call("getPrimalForm", self)
|
||||
return !v.nil?
|
||||
end
|
||||
|
||||
def primal?
|
||||
v = MultipleForms.call("getPrimalForm", self)
|
||||
return !v.nil? && v == @form
|
||||
end
|
||||
|
||||
def makePrimal
|
||||
v = MultipleForms.call("getPrimalForm", self)
|
||||
self.form = v if !v.nil?
|
||||
end
|
||||
|
||||
def makeUnprimal
|
||||
v = MultipleForms.call("getUnprimalForm", self)
|
||||
if !v.nil?; self.form = v
|
||||
elsif primal?; self.form = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user