mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Refining event evolution mechanics
This commit is contained in:
@@ -630,83 +630,42 @@ GameData::Evolution.register({
|
||||
|
||||
#===============================================================================
|
||||
# Evolution methods that are triggered by an event
|
||||
# Each event has its own number, which is the value of the parameter as defined
|
||||
# in pokemon.txt/pokemon_forms.txt. It is also 'number' in def pbEvolutionEvent,
|
||||
# which triggers evolution checks for a particular event number. 'value' in an
|
||||
# event_proc is the number of the evolution event currently being triggered.
|
||||
# Evolutions caused by different events should have different numbers. Used
|
||||
# event numbers are:
|
||||
# 1: Kubfu -> Urshifu
|
||||
# 2: Galarian Yamask -> Runerigus
|
||||
#===============================================================================
|
||||
GameData::Evolution.register({
|
||||
:id => :Event,
|
||||
:event_proc => proc { |pkmn, parameter, value|
|
||||
next true
|
||||
}
|
||||
})
|
||||
def pbEvolutionEvent(number)
|
||||
return if !$player
|
||||
$player.able_pokemon_party.each do |pkmn|
|
||||
pkmn.trigger_event_evolution(number)
|
||||
end
|
||||
end
|
||||
|
||||
GameData::Evolution.register({
|
||||
:id => :EventValue,
|
||||
:id => :Event,
|
||||
:parameter => Integer,
|
||||
:event_proc => proc { |pkmn, parameter, value|
|
||||
next value == parameter
|
||||
}
|
||||
})
|
||||
|
||||
GameData::Evolution.register({
|
||||
:id => :EventLevel,
|
||||
:parameter => Integer,
|
||||
:event_proc => proc { |pkmn, parameter, value|
|
||||
next pkmn.level >= parameter
|
||||
}
|
||||
})
|
||||
|
||||
GameData::Evolution.register({
|
||||
:id => :EventMale,
|
||||
:event_proc => proc { |pkmn, parameter, value|
|
||||
next pkmn.male?
|
||||
}
|
||||
})
|
||||
|
||||
GameData::Evolution.register({
|
||||
:id => :EventFemale,
|
||||
:event_proc => proc { |pkmn, parameter, value|
|
||||
next pkmn.female?
|
||||
}
|
||||
})
|
||||
|
||||
GameData::Evolution.register({
|
||||
:id => :EventDay,
|
||||
:event_proc => proc { |pkmn, parameter, value|
|
||||
next PBDayNight.isDay?
|
||||
}
|
||||
})
|
||||
|
||||
GameData::Evolution.register({
|
||||
:id => :EventNight,
|
||||
:event_proc => proc { |pkmn, parameter, value|
|
||||
next PBDayNight.isNight?
|
||||
}
|
||||
})
|
||||
|
||||
GameData::Evolution.register({
|
||||
:id => :EventItem,
|
||||
:parameter => :Item,
|
||||
:event_proc => proc { |pkmn, parameter, value|
|
||||
next pkmn.item == parameter
|
||||
},
|
||||
:after_evolution_proc => proc { |pkmn, new_species, parameter, evo_species|
|
||||
next false if evo_species != new_species || !pkmn.hasItem?(parameter)
|
||||
pkmn.item = nil # Item is now consumed
|
||||
next true
|
||||
}
|
||||
})
|
||||
|
||||
GameData::Evolution.register({
|
||||
:id => :EventAfterDamageTaken,
|
||||
:parameter => Integer,
|
||||
:after_battle_proc => proc { |pkmn, party_index, parameter|
|
||||
if $game_temp.party_direct_damage_taken &&
|
||||
$game_temp.party_direct_damage_taken[party_index] &&
|
||||
$game_temp.party_direct_damage_taken[party_index] >= parameter
|
||||
$game_temp.party_direct_damage_taken[party_index] >= 49
|
||||
pkmn.ready_to_evolve = true
|
||||
end
|
||||
next false
|
||||
},
|
||||
:event_proc => proc { |pkmn, parameter, value|
|
||||
next pkmn.ready_to_evolve
|
||||
next value == parameter && pkmn.ready_to_evolve
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1025,8 +1025,8 @@ class Pokemon
|
||||
return nil
|
||||
end
|
||||
|
||||
def trigger_event_evolution(value = 0)
|
||||
new_species = check_evolution_by_event(value)
|
||||
def trigger_event_evolution(number)
|
||||
new_species = check_evolution_by_event(number)
|
||||
if new_species
|
||||
pbFadeOutInWithMusic {
|
||||
evo = PokemonEvolutionScene.new
|
||||
|
||||
@@ -23258,7 +23258,7 @@ Shape = BipedalTail
|
||||
Category = Wushu
|
||||
Pokedex = Kubfu trains hard to perfect its moves. The moves it masters will determine which form it takes when it evolves.
|
||||
Generation = 8
|
||||
Evolutions = URSHIFU,Event,
|
||||
Evolutions = URSHIFU,Event,1
|
||||
#-------------------------------
|
||||
[URSHIFU]
|
||||
Name = Urshifu
|
||||
|
||||
@@ -1438,7 +1438,7 @@ TutorMoves = ALLYSWITCH,ATTRACT,BRUTALSWING,CALMMIND,DARKPULSE,EARTHPOWER,EARTHQ
|
||||
Pokedex = A clay slab with cursed engravings took possession of a Yamask. The slab is said to be absorbing the Yamask's dark power.
|
||||
Generation = 8
|
||||
Flags = InheritFormWithEverStone
|
||||
Evolutions = RUNERIGUS,EventAfterDamageTaken,49
|
||||
Evolutions = RUNERIGUS,EventAfterDamageTaken,2
|
||||
#-------------------------------
|
||||
[DEERLING,1]
|
||||
FormName = Summer Form
|
||||
|
||||
@@ -23258,7 +23258,7 @@ Shape = BipedalTail
|
||||
Category = Wushu
|
||||
Pokedex = Kubfu trains hard to perfect its moves. The moves it masters will determine which form it takes when it evolves.
|
||||
Generation = 8
|
||||
Evolutions = URSHIFU,Event,
|
||||
Evolutions = URSHIFU,Event,1
|
||||
#-------------------------------
|
||||
[URSHIFU]
|
||||
Name = Urshifu
|
||||
|
||||
@@ -1438,7 +1438,7 @@ TutorMoves = ALLYSWITCH,ATTRACT,BRUTALSWING,CALMMIND,DARKPULSE,EARTHPOWER,EARTHQ
|
||||
Pokedex = A clay slab with cursed engravings took possession of a Yamask. The slab is said to be absorbing the Yamask's dark power.
|
||||
Generation = 8
|
||||
Flags = InheritFormWithEverStone
|
||||
Evolutions = RUNERIGUS,EventAfterDamageTaken,49
|
||||
Evolutions = RUNERIGUS,EventAfterDamageTaken,2
|
||||
#-------------------------------
|
||||
[DEERLING,1]
|
||||
FormName = Summer Form
|
||||
|
||||
Reference in New Issue
Block a user