mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 21:24:59 +00:00
Added "beneath map" height for overworld animations, fixed new games inheriting Jukebox BGM from save file, added PokeBall property for trainer types, fixed Cramorant form changing effects
This commit is contained in:
@@ -134,7 +134,7 @@ module Settings
|
|||||||
# The odds of a newly generated Pokémon being shiny (out of 65536).
|
# The odds of a newly generated Pokémon being shiny (out of 65536).
|
||||||
SHINY_POKEMON_CHANCE = (MECHANICS_GENERATION >= 6) ? 16 : 8
|
SHINY_POKEMON_CHANCE = (MECHANICS_GENERATION >= 6) ? 16 : 8
|
||||||
# Whether super shininess is enabled (uses a different shiny animation).
|
# Whether super shininess is enabled (uses a different shiny animation).
|
||||||
SUPER_SHINY = (MECHANICS_GENERATION >= 8)
|
SUPER_SHINY = (MECHANICS_GENERATION == 8)
|
||||||
# Whether Pokémon with the "Legendary", "Mythical" or "Ultra Beast" flags will
|
# Whether Pokémon with the "Legendary", "Mythical" or "Ultra Beast" flags will
|
||||||
# have at least 3 perfect IVs.
|
# have at least 3 perfect IVs.
|
||||||
LEGENDARIES_HAVE_SOME_PERFECT_IVS = (MECHANICS_GENERATION >= 6)
|
LEGENDARIES_HAVE_SOME_PERFECT_IVS = (MECHANICS_GENERATION >= 6)
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ SaveData.register(:game_system) do
|
|||||||
save_value { $game_system }
|
save_value { $game_system }
|
||||||
load_value { |value| $game_system = value }
|
load_value { |value| $game_system = value }
|
||||||
new_game_value { Game_System.new }
|
new_game_value { Game_System.new }
|
||||||
|
reset_on_new_game
|
||||||
end
|
end
|
||||||
|
|
||||||
SaveData.register(:pokemon_system) do
|
SaveData.register(:pokemon_system) do
|
||||||
|
|||||||
@@ -197,10 +197,11 @@ class SpriteAnimation
|
|||||||
sprite.visible = true
|
sprite.visible = true
|
||||||
sprite.src_rect.set((pattern % 5) * 192, (pattern / 5) * 192, 192, 192)
|
sprite.src_rect.set((pattern % 5) * 192, (pattern / 5) * 192, 192, 192)
|
||||||
case @_animation_height
|
case @_animation_height
|
||||||
when 0 then sprite.z = 1
|
when -1 then sprite.z = -25
|
||||||
when 1 then sprite.z = sprite.y + (Game_Map::TILE_HEIGHT * 3 / 2) + 1
|
when 0 then sprite.z = 1
|
||||||
when 2 then sprite.z = sprite.y + (Game_Map::TILE_HEIGHT * 3) + 1
|
when 1 then sprite.z = sprite.y + (Game_Map::TILE_HEIGHT * 3 / 2) + 1
|
||||||
else sprite.z = 2000
|
when 2 then sprite.z = sprite.y + (Game_Map::TILE_HEIGHT * 3) + 1
|
||||||
|
else sprite.z = 2000
|
||||||
end
|
end
|
||||||
sprite.ox = 96
|
sprite.ox = 96
|
||||||
sprite.oy = 96
|
sprite.oy = 96
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ module GameData
|
|||||||
attr_reader :gender
|
attr_reader :gender
|
||||||
attr_reader :base_money
|
attr_reader :base_money
|
||||||
attr_reader :skill_level
|
attr_reader :skill_level
|
||||||
|
attr_reader :poke_ball
|
||||||
attr_reader :flags
|
attr_reader :flags
|
||||||
attr_reader :intro_BGM
|
attr_reader :intro_BGM
|
||||||
attr_reader :battle_BGM
|
attr_reader :battle_BGM
|
||||||
@@ -24,6 +25,7 @@ module GameData
|
|||||||
"Mixed" => 2, "mixed" => 2, "X" => 2, "x" => 2, "2" => 2}],
|
"Mixed" => 2, "mixed" => 2, "X" => 2, "x" => 2, "2" => 2}],
|
||||||
"BaseMoney" => [:base_money, "u"],
|
"BaseMoney" => [:base_money, "u"],
|
||||||
"SkillLevel" => [:skill_level, "u"],
|
"SkillLevel" => [:skill_level, "u"],
|
||||||
|
"PokeBall" => [:poke_ball, "e", :Item],
|
||||||
"Flags" => [:flags, "*s"],
|
"Flags" => [:flags, "*s"],
|
||||||
"IntroBGM" => [:intro_BGM, "s"],
|
"IntroBGM" => [:intro_BGM, "s"],
|
||||||
"BattleBGM" => [:battle_BGM, "s"],
|
"BattleBGM" => [:battle_BGM, "s"],
|
||||||
@@ -42,6 +44,7 @@ module GameData
|
|||||||
["Gender", EnumProperty.new(gender_array), _INTL("Gender of this Trainer Type.")],
|
["Gender", EnumProperty.new(gender_array), _INTL("Gender of this Trainer Type.")],
|
||||||
["BaseMoney", LimitProperty.new(9999), _INTL("Player earns this much money times the highest level among the trainer's Pokémon.")],
|
["BaseMoney", LimitProperty.new(9999), _INTL("Player earns this much money times the highest level among the trainer's Pokémon.")],
|
||||||
["SkillLevel", LimitProperty2.new(9999), _INTL("Skill level of this Trainer Type.")],
|
["SkillLevel", LimitProperty2.new(9999), _INTL("Skill level of this Trainer Type.")],
|
||||||
|
["PokeBall", ItemProperty, _INTL("Default Poké Ball that all Pokémon of trainers of this Trainer Type are in.")],
|
||||||
["Flags", StringListProperty, _INTL("Words/phrases that can be used to make trainers of this type behave differently to others.")],
|
["Flags", StringListProperty, _INTL("Words/phrases that can be used to make trainers of this type behave differently to others.")],
|
||||||
["IntroBGM", BGMProperty, _INTL("BGM played before battles against trainers of this type.")],
|
["IntroBGM", BGMProperty, _INTL("BGM played before battles against trainers of this type.")],
|
||||||
["BattleBGM", BGMProperty, _INTL("BGM played in battles against trainers of this type.")],
|
["BattleBGM", BGMProperty, _INTL("BGM played in battles against trainers of this type.")],
|
||||||
@@ -104,6 +107,7 @@ module GameData
|
|||||||
@gender = hash[:gender] || 2
|
@gender = hash[:gender] || 2
|
||||||
@base_money = hash[:base_money] || 30
|
@base_money = hash[:base_money] || 30
|
||||||
@skill_level = hash[:skill_level] || @base_money
|
@skill_level = hash[:skill_level] || @base_money
|
||||||
|
@poke_ball = hash[:poke_ball]
|
||||||
@flags = hash[:flags] || []
|
@flags = hash[:flags] || []
|
||||||
@intro_BGM = hash[:intro_BGM]
|
@intro_BGM = hash[:intro_BGM]
|
||||||
@battle_BGM = hash[:battle_BGM]
|
@battle_BGM = hash[:battle_BGM]
|
||||||
|
|||||||
@@ -171,7 +171,11 @@ module GameData
|
|||||||
pkmn.makeShadow
|
pkmn.makeShadow
|
||||||
pkmn.shiny = false
|
pkmn.shiny = false
|
||||||
end
|
end
|
||||||
pkmn.poke_ball = pkmn_data[:poke_ball] if pkmn_data[:poke_ball]
|
if pkmn_data[:poke_ball]
|
||||||
|
pkmn.poke_ball = pkmn_data[:poke_ball]
|
||||||
|
elsif trainer.default_poke_ball
|
||||||
|
pkmn.poke_ball = trainer.default_poke_ball
|
||||||
|
end
|
||||||
pkmn.calc_stats
|
pkmn.calc_stats
|
||||||
end
|
end
|
||||||
return trainer
|
return trainer
|
||||||
|
|||||||
@@ -18,12 +18,13 @@ class Battle::Battler
|
|||||||
# target Cramorant attacking the user) and the ability splash
|
# target Cramorant attacking the user) and the ability splash
|
||||||
# shouldn't be shown.
|
# shouldn't be shown.
|
||||||
@battle.pbShowAbilitySplash(target)
|
@battle.pbShowAbilitySplash(target)
|
||||||
|
target_form = target.form
|
||||||
target.pbChangeForm(0, nil)
|
target.pbChangeForm(0, nil)
|
||||||
if user.takesIndirectDamage?(Battle::Scene::USE_ABILITY_SPLASH)
|
if user.takesIndirectDamage?(Battle::Scene::USE_ABILITY_SPLASH)
|
||||||
@battle.scene.pbDamageAnimation(user)
|
@battle.scene.pbDamageAnimation(user)
|
||||||
user.pbReduceHP(user.totalhp / 4, false)
|
user.pbReduceHP(user.totalhp / 4, false)
|
||||||
end
|
end
|
||||||
case target.form
|
case target_form
|
||||||
when 1 # Gulping Form
|
when 1 # Gulping Form
|
||||||
user.pbLowerStatStageByAbility(:DEFENSE, 1, target, false)
|
user.pbLowerStatStageByAbility(:DEFENSE, 1, target, false)
|
||||||
when 2 # Gorging Form
|
when 2 # Gorging Form
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ class Trainer
|
|||||||
def male?; return GameData::TrainerType.get(self.trainer_type).male?; end
|
def male?; return GameData::TrainerType.get(self.trainer_type).male?; end
|
||||||
def female?; return GameData::TrainerType.get(self.trainer_type).female?; end
|
def female?; return GameData::TrainerType.get(self.trainer_type).female?; end
|
||||||
def skill_level; return GameData::TrainerType.get(self.trainer_type).skill_level; end
|
def skill_level; return GameData::TrainerType.get(self.trainer_type).skill_level; end
|
||||||
|
def default_poke_ball; return GameData::TrainerType.get(self.trainer_type).poke_ball; end
|
||||||
def flags; return GameData::TrainerType.get(self.trainer_type).flags; end
|
def flags; return GameData::TrainerType.get(self.trainer_type).flags; end
|
||||||
def has_flag?(flag); return GameData::TrainerType.get(self.trainer_type).has_flag?(flag); end
|
def has_flag?(flag); return GameData::TrainerType.get(self.trainer_type).has_flag?(flag); end
|
||||||
|
|
||||||
|
|||||||
@@ -495,6 +495,7 @@ MenuHandlers.add(:options_menu, :speech_frame, {
|
|||||||
"type" => NumberOption,
|
"type" => NumberOption,
|
||||||
"parameters" => 1..Settings::SPEECH_WINDOWSKINS.length,
|
"parameters" => 1..Settings::SPEECH_WINDOWSKINS.length,
|
||||||
"description" => _INTL("Choose the appearance of dialogue boxes."),
|
"description" => _INTL("Choose the appearance of dialogue boxes."),
|
||||||
|
"condition" => proc { next Settings::SPEECH_WINDOWSKINS.length > 1 },
|
||||||
"get_proc" => proc { next $PokemonSystem.textskin },
|
"get_proc" => proc { next $PokemonSystem.textskin },
|
||||||
"set_proc" => proc { |value, scene|
|
"set_proc" => proc { |value, scene|
|
||||||
$PokemonSystem.textskin = value
|
$PokemonSystem.textskin = value
|
||||||
@@ -510,6 +511,7 @@ MenuHandlers.add(:options_menu, :menu_frame, {
|
|||||||
"type" => NumberOption,
|
"type" => NumberOption,
|
||||||
"parameters" => 1..Settings::MENU_WINDOWSKINS.length,
|
"parameters" => 1..Settings::MENU_WINDOWSKINS.length,
|
||||||
"description" => _INTL("Choose the appearance of menu boxes."),
|
"description" => _INTL("Choose the appearance of menu boxes."),
|
||||||
|
"condition" => proc { next Settings::MENU_WINDOWSKINS.length > 1 },
|
||||||
"get_proc" => proc { next $PokemonSystem.frame },
|
"get_proc" => proc { next $PokemonSystem.frame },
|
||||||
"set_proc" => proc { |value, scene|
|
"set_proc" => proc { |value, scene|
|
||||||
$PokemonSystem.frame = value
|
$PokemonSystem.frame = value
|
||||||
|
|||||||
@@ -774,6 +774,12 @@ module Compiler
|
|||||||
end
|
end
|
||||||
|
|
||||||
def validate_compiled_trainer_type(hash)
|
def validate_compiled_trainer_type(hash)
|
||||||
|
# Ensure valid Poké Ball
|
||||||
|
if hash[:poke_ball]
|
||||||
|
if !GameData::Item.get(hash[:poke_ball]).is_poke_ball?
|
||||||
|
raise _INTL("Value '{1}' isn't a defined Poké Ball.", hash[:poke_ball]) + "\n" + FileLineData.linereport
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def validate_all_compiled_trainer_types
|
def validate_all_compiled_trainer_types
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ BaseMoney = 48
|
|||||||
Name = Fisherman
|
Name = Fisherman
|
||||||
Gender = Male
|
Gender = Male
|
||||||
BaseMoney = 32
|
BaseMoney = 32
|
||||||
|
PokeBall = LUREBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[GAMBLER]
|
[GAMBLER]
|
||||||
Name = Gambler
|
Name = Gambler
|
||||||
@@ -91,6 +92,7 @@ SkillLevel = 32
|
|||||||
Name = Gentleman
|
Name = Gentleman
|
||||||
Gender = Male
|
Gender = Male
|
||||||
BaseMoney = 72
|
BaseMoney = 72
|
||||||
|
PokeBall = LUXURYBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[HIKER]
|
[HIKER]
|
||||||
Name = Hiker
|
Name = Hiker
|
||||||
@@ -107,6 +109,7 @@ Name = Lady
|
|||||||
Gender = Female
|
Gender = Female
|
||||||
BaseMoney = 160
|
BaseMoney = 160
|
||||||
SkillLevel = 72
|
SkillLevel = 72
|
||||||
|
PokeBall = LUXURYBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[PAINTER]
|
[PAINTER]
|
||||||
Name = Painter
|
Name = Painter
|
||||||
@@ -122,6 +125,7 @@ BaseMoney = 64
|
|||||||
Name = Pokémon Breeder
|
Name = Pokémon Breeder
|
||||||
Gender = Female
|
Gender = Female
|
||||||
BaseMoney = 48
|
BaseMoney = 48
|
||||||
|
PokeBall = FRIENDBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[PROFESSOR]
|
[PROFESSOR]
|
||||||
Name = Professor
|
Name = Professor
|
||||||
@@ -147,6 +151,7 @@ BaseMoney = 32
|
|||||||
Name = Scientist
|
Name = Scientist
|
||||||
Gender = Male
|
Gender = Male
|
||||||
BaseMoney = 48
|
BaseMoney = 48
|
||||||
|
PokeBall = REPEATBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[SUPERNERD]
|
[SUPERNERD]
|
||||||
Name = Super Nerd
|
Name = Super Nerd
|
||||||
@@ -162,6 +167,7 @@ BaseMoney = 40
|
|||||||
Name = Black Belt
|
Name = Black Belt
|
||||||
Gender = Male
|
Gender = Male
|
||||||
BaseMoney = 32
|
BaseMoney = 32
|
||||||
|
PokeBall = ULTRABALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[CRUSHGIRL]
|
[CRUSHGIRL]
|
||||||
Name = Crush Girl
|
Name = Crush Girl
|
||||||
@@ -182,11 +188,13 @@ BaseMoney = 16
|
|||||||
Name = Cool Trainer
|
Name = Cool Trainer
|
||||||
Gender = Male
|
Gender = Male
|
||||||
BaseMoney = 60
|
BaseMoney = 60
|
||||||
|
PokeBall = ULTRABALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[COOLTRAINER_F]
|
[COOLTRAINER_F]
|
||||||
Name = Cool Trainer
|
Name = Cool Trainer
|
||||||
Gender = Female
|
Gender = Female
|
||||||
BaseMoney = 60
|
BaseMoney = 60
|
||||||
|
PokeBall = ULTRABALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[YOUNGSTER]
|
[YOUNGSTER]
|
||||||
Name = Youngster
|
Name = Youngster
|
||||||
@@ -223,24 +231,28 @@ Name = Swimmer
|
|||||||
Gender = Male
|
Gender = Male
|
||||||
BaseMoney = 16
|
BaseMoney = 16
|
||||||
SkillLevel = 32
|
SkillLevel = 32
|
||||||
|
PokeBall = DIVEBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[SWIMMER_F]
|
[SWIMMER_F]
|
||||||
Name = Swimmer
|
Name = Swimmer
|
||||||
Gender = Female
|
Gender = Female
|
||||||
BaseMoney = 16
|
BaseMoney = 16
|
||||||
SkillLevel = 32
|
SkillLevel = 32
|
||||||
|
PokeBall = DIVEBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[SWIMMER2_M]
|
[SWIMMER2_M]
|
||||||
Name = Swimmer
|
Name = Swimmer
|
||||||
Gender = Male
|
Gender = Male
|
||||||
BaseMoney = 16
|
BaseMoney = 16
|
||||||
SkillLevel = 32
|
SkillLevel = 32
|
||||||
|
PokeBall = DIVEBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[SWIMMER2_F]
|
[SWIMMER2_F]
|
||||||
Name = Swimmer
|
Name = Swimmer
|
||||||
Gender = Female
|
Gender = Female
|
||||||
BaseMoney = 16
|
BaseMoney = 16
|
||||||
SkillLevel = 32
|
SkillLevel = 32
|
||||||
|
PokeBall = DIVEBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[TUBER_M]
|
[TUBER_M]
|
||||||
Name = Tuber
|
Name = Tuber
|
||||||
@@ -271,6 +283,7 @@ Name = Cool Couple
|
|||||||
Gender = Unknown
|
Gender = Unknown
|
||||||
BaseMoney = 72
|
BaseMoney = 72
|
||||||
SkillLevel = 48
|
SkillLevel = 48
|
||||||
|
PokeBall = ULTRABALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[CRUSHKIN]
|
[CRUSHKIN]
|
||||||
Name = Crush Kin
|
Name = Crush Kin
|
||||||
@@ -282,6 +295,7 @@ Name = Sis and Bro
|
|||||||
Gender = Unknown
|
Gender = Unknown
|
||||||
BaseMoney = 16
|
BaseMoney = 16
|
||||||
SkillLevel = 48
|
SkillLevel = 48
|
||||||
|
PokeBall = DIVEBALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[TWINS]
|
[TWINS]
|
||||||
Name = Twins
|
Name = Twins
|
||||||
@@ -371,6 +385,7 @@ Gender = Female
|
|||||||
BaseMoney = 100
|
BaseMoney = 100
|
||||||
BattleBGM = Battle Elite
|
BattleBGM = Battle Elite
|
||||||
VictoryBGM = Battle victory leader
|
VictoryBGM = Battle victory leader
|
||||||
|
PokeBall = ULTRABALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[ELITEFOUR_Bruno]
|
[ELITEFOUR_Bruno]
|
||||||
Name = Elite Four
|
Name = Elite Four
|
||||||
@@ -378,6 +393,7 @@ Gender = Male
|
|||||||
BaseMoney = 100
|
BaseMoney = 100
|
||||||
BattleBGM = Battle Elite
|
BattleBGM = Battle Elite
|
||||||
VictoryBGM = Battle victory leader
|
VictoryBGM = Battle victory leader
|
||||||
|
PokeBall = ULTRABALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[ELITEFOUR_Agatha]
|
[ELITEFOUR_Agatha]
|
||||||
Name = Elite Four
|
Name = Elite Four
|
||||||
@@ -385,6 +401,7 @@ Gender = Female
|
|||||||
BaseMoney = 100
|
BaseMoney = 100
|
||||||
BattleBGM = Battle Elite
|
BattleBGM = Battle Elite
|
||||||
VictoryBGM = Battle victory leader
|
VictoryBGM = Battle victory leader
|
||||||
|
PokeBall = ULTRABALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[ELITEFOUR_Lance]
|
[ELITEFOUR_Lance]
|
||||||
Name = Elite Four
|
Name = Elite Four
|
||||||
@@ -392,6 +409,7 @@ Gender = Male
|
|||||||
BaseMoney = 100
|
BaseMoney = 100
|
||||||
BattleBGM = Battle Elite
|
BattleBGM = Battle Elite
|
||||||
VictoryBGM = Battle victory leader
|
VictoryBGM = Battle victory leader
|
||||||
|
PokeBall = ULTRABALL
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[CHAMPION]
|
[CHAMPION]
|
||||||
Name = Champion
|
Name = Champion
|
||||||
@@ -399,3 +417,4 @@ Gender = Male
|
|||||||
BaseMoney = 100
|
BaseMoney = 100
|
||||||
BattleBGM = Battle Champion
|
BattleBGM = Battle Champion
|
||||||
VictoryBGM = Battle victory leader
|
VictoryBGM = Battle victory leader
|
||||||
|
PokeBall = ULTRABALL
|
||||||
|
|||||||
Reference in New Issue
Block a user