Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Low Happiness - not stated what's considered "low", but I did 35 bc it's half of the standard base 70
- GameData::Evolution.register({
- :id => :LowHappiness,
- :minimum_level => 1, # Needs any level up
- :level_up_proc => proc { |pkmn, parameter|
- next pkmn.happiness <= 35
- }
- })
- #Status affliction already done in my Oddities script
- #Indoor/outdoor
- GameData::Evolution.register({
- :id => :LevelOutdoor,
- :parameter => Integer,
- :level_up_proc => proc { |pkmn, parameter|
- next pkmn.level >= parameter && $game_map.metadata&.outdoor_map
- }
- })
- GameData::Evolution.register({
- :id => :LevelIndoor,
- :parameter => Integer,
- :level_up_proc => proc { |pkmn, parameter|
- next pkmn.level >= parameter && !($game_map.metadata&.outdoor_map)
- }
- })
- #Day of Week
- #0 is Sunday, 6 is Saturday
- #Any level-up, parameter is day of week
- GameData::Evolution.register({
- :id => :LevelDayOfWeek,
- :minimum_level => 1, # Needs any level up
- :parameter => Integer,
- :level_up_proc => proc { |pkmn, parameter|
- next pbIsWeekday(-1,parameter)
- }
- })
- #Specific day of week, parameter is level
- GameData::Evolution.register({
- :id => :LevelMonday,
- :parameter => Integer,
- :level_up_proc => proc { |pkmn, parameter|
- next pkmn.level >= parameter && pbIsWeekday(-1,1)
- }
- })
- #Maximize level would just be done via standard level-up. Just remember to set it as the first evolution, so other evolutions don't override it.
- GameData::Evolution.register({
- :id => :LevelEffort,
- :minimum_level => 1, # Needs any level up
- :level_up_proc => proc { |pkmn, parameter|
- total = 0
- pkmn.ev.each_value { |v| total += v }
- next total >= Pokemon::EV_LIMIT
- }
- })
- #Parameter is a specific stat
- GameData::Evolution.register({
- :id => :LevelEffortStat,
- :minimum_level => 1, # Needs any level up
- :parameter => :Stat,
- :level_up_proc => proc { |pkmn, parameter|
- next pkmn.ev[parameter] >= Pokemon::EV_STAT_LIMIT
- }
- })
- #Level at or above given level on map where Pokemon was obtained
- GameData::Evolution.register({
- :id => :Homecoming,
- :parameter => Integer,
- :level_up_proc => proc { |pkmn, parameter|
- next pkmn.level >= parameter && pkmn.obtain_map == $game_map.map_id
- }
- })
- #Landing OHKO moves in a battle
- #Defeat foe using resisted or ineffective move
- #Inflict status against foe repeatedly in battle
- #Experience non-volatile status during fight
- #Survive on one HP
- #Survive multiple SE hits
- #Defeat rival species
- #Using vitamins and Rare Candies can be done via standard item evo. X-Items would need to be created
- #Same is true of healing items
- #Same is true of beverages
- #Same is true of berries
- #Any level-up, parameter is Poke Ball
- GameData::Evolution.register({
- :id => :LevelBall,
- :parameter => :Item,
- :minimum_level => 1, # Needs any level up
- :level_up_proc => proc { |pkmn, parameter|
- next pkmn.poke_ball == parameter
- }
- })
- #Ball is hard-coded, parameter is level
- GameData::Evolution.register({
- :id => :LevelGreatBall,
- :parameter => Integer,
- :level_up_proc => proc { |pkmn, parameter|
- next pkmn.level >= parameter && pkmn.poke_ball == :GREATBALL
- }
- })
- #Return trade
- GameData::Evolution.register({
- :id => :TradeReturn,
- :on_trade_proc => proc { |pkmn, parameter, other_pkmn|
- next !(pkmn.foreign?)
- }
- })
- #Battery, volume - see Oddities
- #Bluetooth, airplane mode, brightness - not sure if possible through Essentials
- #Language would need to be settings or something
- #Real time aging - check timeReceived and time now, but how to format the requirement?
- #Parenting would require setting relationships during breeding
- #withdraw from PC would probably be like an event evo
- #Same for releasing Pokemon
- #Skipping evos for a later one is just a matter of how you design the PBS - put the higher-level evo first in the PBS so the others don't override it
- #Specific nickname
- GameData::Evolution.register({
- :id => :LevelName,
- :parameter => String,
- :minimum_level => 1, # Needs any level up
- :level_up_proc => proc { |pkmn, parameter|
- next pkmn.name == parameter
- }
- })
- #Hall of Fame could be done via ribbon or via specific attribute
- #Money above certain amount
- GameData::Evolution.register({
- :id => :LevelMoney,
- :minimum_level => 1, # Needs any level up
- :parameter => Integer,
- :level_up_proc => proc { |pkmn, parameter|
- next $player.money >= parameter
- }
- })
- #Retirement trip would need a new attribute that would be kept track of every time the player entered a location
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement