mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2026-07-22 07:37:00 +00:00
Update 6.8
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
BATTLED_TRAINER_SHELLY_KEY = "aqua_shelly"
|
||||
COMMON_EVENT_SHELLY_TABITHA_FOLLOWING_DIALOGUE = 202
|
||||
|
||||
def aqua_shelly_initialize()
|
||||
trainer_type = :TEAM_AQUA_EXEC_F
|
||||
trainer_name = "Shelly"
|
||||
|
||||
battledTrainer = BattledTrainer.new(trainer_type, trainer_name, 0, BATTLED_TRAINER_SHELLY_KEY)
|
||||
battledTrainer.setFavorite(true)
|
||||
battledTrainer.setOverworldSprite("NPC_Hoenn_Aqua_Exec_F")
|
||||
$PokemonGlobal.battledTrainers = {} if !$PokemonGlobal.battledTrainers
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_SHELLY_KEY] = battledTrainer
|
||||
return battledTrainer
|
||||
end
|
||||
|
||||
def aqua_shelly_follow(eventId)
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_SHELLY_KEY]
|
||||
partnerWithTrainer(eventId, $game_map.map_id, trainer, BATTLED_TRAINER_SHELLY_KEY, COMMON_EVENT_SHELLY_TABITHA_FOLLOWING_DIALOGUE)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
BATTLED_TRAINER_TABITHA_KEY = "magma_tabitha"
|
||||
COMMON_EVENT_SHELLY_TABITHA_FOLLOWING_DIALOGUE = 202
|
||||
|
||||
def magma_tabitha_initialize()
|
||||
trainer_type = :TEAM_MAGMA_EXEC_M
|
||||
trainer_name = "Tabitha"
|
||||
|
||||
battledTrainer = BattledTrainer.new(trainer_type, trainer_name, 0, BATTLED_TRAINER_TABITHA_KEY)
|
||||
battledTrainer.setFavorite(true)
|
||||
battledTrainer.setOverworldSprite("NPC_Hoenn_Magma_Exec_M")
|
||||
$PokemonGlobal.battledTrainers = {} if !$PokemonGlobal.battledTrainers
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_TABITHA_KEY] = battledTrainer
|
||||
return battledTrainer
|
||||
end
|
||||
|
||||
def magma_tabitha_follow(eventId)
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_TABITHA_KEY]
|
||||
partnerWithTrainer(eventId, $game_map.map_id, trainer, BATTLED_TRAINER_TABITHA_KEY, COMMON_EVENT_SHELLY_TABITHA_FOLLOWING_DIALOGUE)
|
||||
end
|
||||
@@ -0,0 +1,352 @@
|
||||
# frozen_string_literal: true
|
||||
HOENN_RIVAL_EVENT_NAME = "HOENN_RIVAL"
|
||||
TEMPLATE_CHARACTER_FILE = "NPC_template"
|
||||
|
||||
HOENN_MOM_BRENDAN_CHARNAME = "NPC_Hoenn_BrendanMom"
|
||||
HOENN_MOM_MAY_CHARNAME = "NPC_Hoenn_MayMom"
|
||||
HOENN_MAX_CHARNAME = "NPC_Hoenn_Max"
|
||||
|
||||
class Player < Trainer
|
||||
attr_accessor :rival_appearance
|
||||
|
||||
alias pokemonEssentials_player_initialize initialize
|
||||
|
||||
def initialize(*args)
|
||||
pokemonEssentials_player_initialize(*args)
|
||||
end
|
||||
|
||||
def init_rival_appearance(skin_color = 1, hair)
|
||||
if isPlayerMale
|
||||
@rival_appearance = TrainerAppearance.new(skin_color,
|
||||
HAT_MAY,
|
||||
CLOTHES_MAY,
|
||||
hair,
|
||||
0, 0, 0)
|
||||
else
|
||||
@rival_appearance = TrainerAppearance.new(skin_color,
|
||||
HAT_BRENDAN,
|
||||
CLOTHES_BRENDAN,
|
||||
hair,
|
||||
0, 0, 0)
|
||||
end
|
||||
end
|
||||
|
||||
def rival_appearance
|
||||
@rival_appearance = init_rival_appearance(1, nil) if !@rival_appearance
|
||||
return @rival_appearance
|
||||
end
|
||||
|
||||
def rival_appearance=(value)
|
||||
@rival_appearance = value
|
||||
end
|
||||
end
|
||||
|
||||
BATTLED_TRAINER_RIVAL_KEY = "rival"
|
||||
|
||||
def get_hoenn_character_name(name)
|
||||
return pbGetMessageFromHash(MessageTypes::TrainerNames, name)
|
||||
end
|
||||
|
||||
def get_rival_name
|
||||
rival_name = get_hoenn_character_name("Brendan") if isPlayerFemale
|
||||
rival_name = get_hoenn_character_name("May") if isPlayerMale
|
||||
return rival_name
|
||||
end
|
||||
|
||||
def init_rival_name
|
||||
rival_name = get_rival_name
|
||||
@name = rival_name
|
||||
return rival_name
|
||||
end
|
||||
|
||||
def set_rival_hat(hat)
|
||||
$Trainer.rival_appearance = TrainerAppearance.new(
|
||||
$Trainer.rival_appearance.skin_color,
|
||||
hat,
|
||||
$Trainer.rival_appearance.clothes,
|
||||
$Trainer.rival_appearance.hair,
|
||||
$Trainer.rival_appearance.hair_color,
|
||||
$Trainer.rival_appearance.clothes_color,
|
||||
$Trainer.rival_appearance.hat_color,
|
||||
)
|
||||
end
|
||||
|
||||
class Sprite_Character
|
||||
alias PIF_typeExpert_checkModifySpriteGraphics checkModifySpriteGraphics
|
||||
|
||||
def checkModifySpriteGraphics(character)
|
||||
PIF_typeExpert_checkModifySpriteGraphics(character)
|
||||
return if character == $game_player
|
||||
unless character.visible?
|
||||
@bitmap_override = nil
|
||||
updateBitmap
|
||||
return
|
||||
end
|
||||
setSpriteToAppearance($Trainer.rival_appearance) if isPlayerFemale && character.name.start_with?(HOENN_RIVAL_EVENT_NAME) && character.character_name == TEMPLATE_CHARACTER_FILE
|
||||
setSpriteToAppearance($Trainer.rival_appearance) if isPlayerMale && character.name.start_with?(HOENN_RIVAL_EVENT_NAME) && character.character_name == TEMPLATE_CHARACTER_FILE
|
||||
|
||||
if character.character_name == HOENN_MOM_BRENDAN_CHARNAME
|
||||
skinColor = $Trainer.skin_tone if isPlayerMale
|
||||
skinColor = $Trainer.rival_appearance.skin_color if isPlayerFemale
|
||||
sprite_path = "Graphics/Characters/player/family/NPC_Hoenn_Mom_Brendan_#{skinColor.to_s}"
|
||||
setSpriteToStaticAppearance(sprite_path)
|
||||
end
|
||||
|
||||
if character.character_name == HOENN_MOM_MAY_CHARNAME
|
||||
skinColor = $Trainer.skin_tone if isPlayerFemale
|
||||
skinColor = $Trainer.rival_appearance.skin_color if isPlayerMale
|
||||
sprite_path = "Graphics/Characters/player/family/NPC_Hoenn_Mom_May_#{skinColor.to_s}"
|
||||
setSpriteToStaticAppearance(sprite_path)
|
||||
end
|
||||
|
||||
if character.character_name == HOENN_MAX_CHARNAME
|
||||
sprite_path = "Graphics/Characters/player/family/NPC_Hoenn_Max_#{$Trainer.rival_appearance.skin_color.to_s}"
|
||||
setSpriteToStaticAppearance(sprite_path)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def get_hoenn_rival_starter
|
||||
case get_rival_starter_type()
|
||||
when :GRASS
|
||||
return obtainStarter(0)
|
||||
when :FIRE
|
||||
return obtainStarter(1)
|
||||
when :WATER
|
||||
return obtainStarter(2)
|
||||
else
|
||||
# fallback, should not happen
|
||||
return obtainStarter(0)
|
||||
end
|
||||
end
|
||||
|
||||
def get_rival_starter_type()
|
||||
player_chosen_starter_index = pbGet(VAR_HOENN_CHOSEN_STARTER_INDEX)
|
||||
case player_chosen_starter_index
|
||||
when 0 # GRASS
|
||||
return :FIRE
|
||||
when 1 # FIRE
|
||||
return :WATER
|
||||
when 2 # WATER
|
||||
return :GRASS
|
||||
end
|
||||
end
|
||||
|
||||
def get_other_starter
|
||||
case get_rival_starter_type()
|
||||
when :GRASS
|
||||
return obtainStarter(1)
|
||||
when :FIRE
|
||||
return obtainStarter(2)
|
||||
when :WATER
|
||||
return obtainStarter(0)
|
||||
else
|
||||
# fallback, should not happen
|
||||
return obtainStarter(0)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def updateRivalTeamForSecondBattle()
|
||||
|
||||
rival_trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY]
|
||||
rival_starter = rival_trainer.currentTeam[0]
|
||||
rival_starter_species = rival_starter.species
|
||||
|
||||
echoln rival_starter_species
|
||||
player_chosen_starter_index = pbGet(VAR_HOENN_CHOSEN_STARTER_INDEX)
|
||||
team = []
|
||||
|
||||
fused_starter= false
|
||||
if isSpeciesFusion(rival_starter_species)
|
||||
fused_starter = true
|
||||
starter_species = rival_starter_species
|
||||
end
|
||||
|
||||
case player_chosen_starter_index
|
||||
when 0 # GRASS
|
||||
if isPlayerFemale()
|
||||
other_pokemon_species = :WINGULL
|
||||
starter_species = getFusionSpeciesSymbol(:LOTAD, rival_starter_species) unless fused_starter #lotad/torchic
|
||||
else
|
||||
other_pokemon_species = :WAILMER
|
||||
starter_species = getFusionSpeciesSymbol(rival_starter_species, :SHROOMISH) unless fused_starter #torchic/shroomish
|
||||
end
|
||||
when 1 # FIRE
|
||||
if isPlayerFemale()
|
||||
other_pokemon_species = :LOTAD
|
||||
starter_species = getFusionSpeciesSymbol(:SLUGMA, rival_starter_species) unless fused_starter #Slugma/Mudkip
|
||||
else
|
||||
other_pokemon_species = :SHROOMISH
|
||||
starter_species = getFusionSpeciesSymbol(rival_starter_species, :NUMEL) unless fused_starter #Mudkip/Numel
|
||||
end
|
||||
|
||||
when 2 # WATER
|
||||
if isPlayerFemale()
|
||||
other_pokemon_species = :NUMEL
|
||||
starter_species = getFusionSpeciesSymbol(rival_starter_species, :WINGULL) unless fused_starter #treecko/wingull
|
||||
else
|
||||
other_pokemon_species = :SLUGMA
|
||||
starter_species = getFusionSpeciesSymbol(:WAILMER, rival_starter_species) unless fused_starter #+wailmer/treecko
|
||||
end
|
||||
end
|
||||
team << Pokemon.new(other_pokemon_species, 12, rival_trainer.trainerName)
|
||||
team << Pokemon.new(starter_species, 15, rival_trainer.trainerName)
|
||||
|
||||
rival_trainer.currentTeam = team
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY] = rival_trainer
|
||||
$game_switches[SWITCH_RIVAL_BATTLE_2] = true
|
||||
end
|
||||
|
||||
# This sets up the rival's main team for the game
|
||||
# For later battles, we can just add Pokemon and gain exp the same way as other
|
||||
# trainer rematches
|
||||
#
|
||||
# Basically, rival catches a pokemon the type of their rival's starter - fuses it with their starters
|
||||
# Has a team composed of fire/grass, water/grass, water/fire pokemon
|
||||
def updateRivalTeamForThirdBattle()
|
||||
updateRivalTeamForSecondBattle unless $game_switches[SWITCH_RIVAL_BATTLE_2]
|
||||
rival_trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY]
|
||||
rival_trainer.friendship_level = 2
|
||||
if rival_trainer.currentTeam.length >= 2 #Intended
|
||||
rival_starter = rival_trainer.currentTeam[1]
|
||||
else #For compatibility with older version
|
||||
rival_starter = rival_trainer.currentTeam[0]
|
||||
end
|
||||
starter_species = rival_starter.species
|
||||
|
||||
rival_starter.level = 20
|
||||
team = []
|
||||
team << rival_starter
|
||||
rival_trainer.currentTeam = team
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY] = rival_trainer
|
||||
|
||||
# twice so that starter evolves both head and body
|
||||
# evolution_species = rival_starter.check_evolution_on_level_up(false)
|
||||
# echoln evolution_species
|
||||
# if evolution_species
|
||||
# starter_species = evolution_species
|
||||
# end
|
||||
|
||||
player_chosen_starter_index = pbGet(VAR_HOENN_CHOSEN_STARTER_INDEX)
|
||||
case player_chosen_starter_index
|
||||
when 0 # GRASS
|
||||
if isPlayerFemale()
|
||||
fire_grass_pokemon = starter_species
|
||||
water_fire_pokemon = getFusionSpeciesSymbol(:NUMEL, :WINGULL)
|
||||
water_grass_pokemon = getFusionSpeciesSymbol(:WAILMER, :SHROOMISH)
|
||||
end
|
||||
if isPlayerMale()
|
||||
fire_grass_pokemon = starter_species
|
||||
water_fire_pokemon = getFusionSpeciesSymbol(:LOMBRE, :WINGULL)
|
||||
water_grass_pokemon = getFusionSpeciesSymbol(:SLUGMA, :WAILMER)
|
||||
end
|
||||
contains_starter = [fire_grass_pokemon]
|
||||
other_pokemon = [water_fire_pokemon, water_grass_pokemon]
|
||||
|
||||
when 1 # FIRE
|
||||
if isPlayerFemale()
|
||||
fire_grass_pokemon = getFusionSpeciesSymbol(:SHROOMISH, :NUMEL)
|
||||
water_fire_pokemon = getFusionSpeciesSymbol(:LOMBRE, :WAILMER)
|
||||
water_grass_pokemon = starter_species
|
||||
end
|
||||
if isPlayerMale()
|
||||
fire_grass_pokemon = getFusionSpeciesSymbol(:LOMBRE, :SLUGMA,)
|
||||
water_fire_pokemon = getFusionSpeciesSymbol(:SHROOMISH, :WINGULL,)
|
||||
water_grass_pokemon = starter_species
|
||||
end
|
||||
contains_starter = [water_grass_pokemon]
|
||||
other_pokemon = [water_fire_pokemon, fire_grass_pokemon]
|
||||
|
||||
when 2 # WATER
|
||||
if isPlayerFemale()
|
||||
fire_grass_pokemon = getFusionSpeciesSymbol(:SLUGMA, :SHROOMISH)
|
||||
water_fire_pokemon = starter_species
|
||||
water_grass_pokemon = getFusionSpeciesSymbol(:WAILMER, :NUMEL)
|
||||
end
|
||||
if isPlayerMale()
|
||||
fire_grass_pokemon = getFusionSpeciesSymbol(:LOMBRE, :NUMEL,)
|
||||
water_fire_pokemon = starter_species
|
||||
water_grass_pokemon = getFusionSpeciesSymbol(:SLUGMA, :WINGULL)
|
||||
end
|
||||
contains_starter = [water_fire_pokemon]
|
||||
other_pokemon = [water_grass_pokemon, fire_grass_pokemon]
|
||||
end
|
||||
|
||||
team = []
|
||||
|
||||
team << Pokemon.new(other_pokemon[0], 22, rival_trainer.trainerName)
|
||||
team << Pokemon.new(other_pokemon[1], 22, rival_trainer.trainerName)
|
||||
team << Pokemon.new(contains_starter[0], 24, rival_trainer.trainerName)
|
||||
|
||||
rival_trainer.currentTeam = team
|
||||
|
||||
evolveRivalTeam
|
||||
evolveRivalTeam
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY] = rival_trainer
|
||||
end
|
||||
|
||||
def levelUpRivalTeam(experience = 0)
|
||||
rival_trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY]
|
||||
updated_trainer = makeRebattledTrainerTeamGainExp(rival_trainer, false, experience)
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY] = updated_trainer
|
||||
end
|
||||
|
||||
def evolveRivalTeam()
|
||||
rival_trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY]
|
||||
updated_trainer = evolveRebattledTrainerPokemon(rival_trainer)
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY] = updated_trainer
|
||||
end
|
||||
|
||||
def addPokemonToRivalTeam(species, level)
|
||||
rival_trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY]
|
||||
rival_trainer.currentTeam << Pokemon.new(species, level, rival_trainer.trainerName)
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY] = rival_trainer
|
||||
end
|
||||
|
||||
def initializeRivalBattledTrainer
|
||||
trainer_type = :RIVAL1
|
||||
trainer_name = pbGet(VAR_RIVAL_NAME)
|
||||
trainer_appearance = $Trainer.rival_appearance
|
||||
rivalBattledTrainer = BattledTrainer.new(trainer_type, trainer_name, 0, BATTLED_TRAINER_RIVAL_KEY)
|
||||
rivalBattledTrainer.set_custom_appearance(trainer_appearance)
|
||||
rivalBattledTrainer.friendship_level = 1
|
||||
team = []
|
||||
team << Pokemon.new(get_hoenn_rival_starter, 5, trainer_name)
|
||||
rivalBattledTrainer.currentTeam = team
|
||||
return rivalBattledTrainer
|
||||
end
|
||||
|
||||
def rivalRematch(loseDialog)
|
||||
trainer = getRebattledTrainerFromKey(BATTLED_TRAINER_RIVAL_KEY)
|
||||
updated_trainer = healRebattledTrainerPokemon(trainer)
|
||||
$PokemonTemp.battleRules["moneyGain"] = false
|
||||
player_won = hoennRivalBattle(loseDialog)
|
||||
checkTrainerRematchChallenges()
|
||||
# trainer
|
||||
updated_trainer = makeRebattledTrainerTeamGainExp(updated_trainer, player_won)
|
||||
updated_trainer = healRebattledTrainerPokemon(updated_trainer)
|
||||
updated_trainer.set_pending_action(false)
|
||||
updated_trainer = evolveRebattledTrainerPokemon(updated_trainer)
|
||||
updateRebattledTrainerWithKey(BATTLED_TRAINER_RIVAL_KEY,updated_trainer)
|
||||
end
|
||||
|
||||
def rivalTrade
|
||||
trainer = getRebattledTrainerFromKey(BATTLED_TRAINER_RIVAL_KEY)
|
||||
trainer = doNPCTrainerTrade(trainer)
|
||||
updateRebattledTrainerWithKey(BATTLED_TRAINER_RIVAL_KEY,trainer)
|
||||
end
|
||||
|
||||
def hoennRivalBattle(loseDialog = "...", canLose = false, items = [])
|
||||
$PokemonGlobal.battledTrainers = {} if !$PokemonGlobal.battledTrainers
|
||||
if !$PokemonGlobal.battledTrainers.has_key?(BATTLED_TRAINER_RIVAL_KEY)
|
||||
rival_trainer = initializeRivalBattledTrainer()
|
||||
rival_trainer.setFavorite(true)
|
||||
rival_trainer.setLocation(_INTL("On the move!"))
|
||||
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY] = rival_trainer
|
||||
else
|
||||
rival_trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_RIVAL_KEY]
|
||||
end
|
||||
return customTrainerBattle(rival_trainer.trainerName, rival_trainer.trainerType, rival_trainer.currentTeam, rival_trainer, loseDialog, nil, $Trainer.rival_appearance, items, canLose)
|
||||
end
|
||||
@@ -0,0 +1,149 @@
|
||||
BATTLED_TRAINER_WALLY_KEY = "wally"
|
||||
|
||||
SWITCH_WALLY_CATCHING_POKEMON = 2022
|
||||
SWITCH_WALLY_GAVE_POKEMON = 2023
|
||||
SWITCH_WALLY_SAW_CAUGHT_POKEMON = 2123
|
||||
SWITCH_WALLY_GAVE_POKEMON_DIALOGUE = 2024
|
||||
SWITCH_DIED_WITH_WALLY = 2120
|
||||
COMMON_EVENT_WALLY_FOLLOWING_DIALOGUE = 199
|
||||
|
||||
def wally_initialize()
|
||||
trainer_type = :RIVAL2
|
||||
trainer_name = "Wally"
|
||||
battledTrainer = BattledTrainer.new(trainer_type, trainer_name, 0, BATTLED_TRAINER_WALLY_KEY)
|
||||
battledTrainer.currentTeam = [] # team
|
||||
battledTrainer.setFavorite(true)
|
||||
battledTrainer.friendship_level=1
|
||||
battledTrainer.setOverworldSprite("NPC_Hoenn_Wally")
|
||||
$PokemonGlobal.battledTrainers = {} if !$PokemonGlobal.battledTrainers
|
||||
$PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY] = battledTrainer
|
||||
return battledTrainer
|
||||
end
|
||||
|
||||
def wally_add_pokemon(pokemon_species, level, original_trainer = nil)
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY]
|
||||
pokemon = Pokemon.new(pokemon_species, level, original_trainer)
|
||||
trainer.currentTeam.unshift(pokemon)
|
||||
updateRebattledTrainerWithKey(BATTLED_TRAINER_WALLY_KEY, trainer)
|
||||
end
|
||||
|
||||
def wally_add_pokemon_directly(pokemon)
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY]
|
||||
trainer.currentTeam.unshift(pokemon)
|
||||
updateRebattledTrainerWithKey(BATTLED_TRAINER_WALLY_KEY, trainer)
|
||||
end
|
||||
|
||||
def wally_update_team_mauville
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY]
|
||||
trainer.currentTeam.each do |pokemon|
|
||||
pokemon.level = 19
|
||||
pokemon.reset_moves
|
||||
end
|
||||
trainer = evolveRebattledTrainerPokemon(trainer)
|
||||
|
||||
wally_add_pokemon(fusionOf(:MAGNEMITE, :ROSELIA), 16)
|
||||
updateRebattledTrainerWithKey(BATTLED_TRAINER_WALLY_KEY, trainer)
|
||||
end
|
||||
|
||||
def get_wally_starter()
|
||||
wallyTeam = get_wally_team
|
||||
wallyStarter=wallyTeam.last #starter is the oldest so whatever is at the end
|
||||
unless wallyStarter #failsafe
|
||||
wallyStarter=wallyTeam[-1]
|
||||
end
|
||||
return wallyStarter
|
||||
end
|
||||
|
||||
def get_wally_starter_name(variable=1)
|
||||
wallyStarter = get_wally_starter
|
||||
pbSet(variable,wallyStarter.name)
|
||||
end
|
||||
def wally_battle()
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY]
|
||||
return rematchable_trainer_battle([trainer],nil,false)
|
||||
end
|
||||
|
||||
def wally_remove_pokemon(pokemon_species)
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY]
|
||||
trainer.currentTeam.each { |pokemon|
|
||||
if pokemon.species == pokemon_species
|
||||
trainer.currentTeam.delete(pokemon)
|
||||
updateRebattledTrainerWithKey(BATTLED_TRAINER_WALLY_KEY, trainer)
|
||||
return
|
||||
end
|
||||
}
|
||||
end
|
||||
|
||||
def get_wally_team
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY]
|
||||
return trainer.currentTeam
|
||||
end
|
||||
|
||||
def wally_fuse_pokemon(with_fusion_screen = true)
|
||||
|
||||
head_pokemon_index = 1
|
||||
body_pokemon_index = 0
|
||||
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY]
|
||||
|
||||
head_pokemon = trainer.currentTeam[head_pokemon_index]
|
||||
body_pokemon = trainer.currentTeam[body_pokemon_index]
|
||||
|
||||
return if head_pokemon.isFusion? || body_pokemon.isFusion?
|
||||
npcTrainerFusionScreenPokemon(head_pokemon.clone, body_pokemon.clone) if with_fusion_screen
|
||||
|
||||
fusion_species = getFusedPokemonIdFromSymbols(body_pokemon.species, head_pokemon.species)
|
||||
level = (body_pokemon.level + head_pokemon.level) / 2
|
||||
fused_pokemon = Pokemon.new(fusion_species, level)
|
||||
|
||||
|
||||
if body_pokemon.isShiny? || head_pokemon.isShiny?
|
||||
fused_pokemon.shiny= true
|
||||
if body_pokemon.radar_shiny || head_pokemon.radar_shiny
|
||||
fused_pokemon.radar_shiny = true
|
||||
end
|
||||
if !(body_pokemon.debug_shiny || head_pokemon.debug_shiny)
|
||||
fused_pokemon.natural_shiny = true if fused_pokemon.natural_shiny
|
||||
end
|
||||
end
|
||||
|
||||
echoln fused_pokemon.shiny?
|
||||
|
||||
trainer.currentTeam.delete(body_pokemon)
|
||||
trainer.currentTeam.delete(head_pokemon)
|
||||
trainer.currentTeam.push(fused_pokemon)
|
||||
|
||||
updateRebattledTrainerWithKey(BATTLED_TRAINER_WALLY_KEY, trainer)
|
||||
end
|
||||
|
||||
def npcTrainerFusionScreenPokemon(headPokemon, bodyPokemon)
|
||||
fusionScene = PokemonFusionScene.new
|
||||
newSpecies = getFusedPokemonIdFromSymbols(bodyPokemon.species, headPokemon.species)
|
||||
|
||||
newDexNumber = getDexNumberForSpecies(newSpecies)
|
||||
if fusionScene.pbStartScreen(bodyPokemon, headPokemon, newDexNumber, :DNASPLICERS)
|
||||
fusionScene.pbFusionScreen(false, false, false, false)
|
||||
fusionScene.pbEndScreen
|
||||
end
|
||||
end
|
||||
|
||||
def npcTrainerFusionScreen(headSpecies, bodySpecies)
|
||||
fusionScene = PokemonFusionScene.new
|
||||
newid = getFusedPokemonIdFromSymbols(bodySpecies, headSpecies)
|
||||
fusionScene.pbStartScreen(Pokemon.new(bodySpecies, 100), Pokemon.new(headSpecies, 100), newid, :DNASPLICERS)
|
||||
end
|
||||
|
||||
def getWallyTrainer()
|
||||
return $PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY]
|
||||
end
|
||||
|
||||
def wally_follow(eventId)
|
||||
trainer = $PokemonGlobal.battledTrainers[BATTLED_TRAINER_WALLY_KEY]
|
||||
partnerWithTrainer(eventId, $game_map.map_id, trainer, BATTLED_TRAINER_WALLY_KEY, COMMON_EVENT_WALLY_FOLLOWING_DIALOGUE)
|
||||
end
|
||||
|
||||
def wally_unfollow()
|
||||
unpartnerWithTrainer()
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user