mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-08 05:34:58 +00:00
Added support for all three Gen 4 location sign styles, minor tweaks to other code
This commit is contained in:
@@ -88,13 +88,13 @@ module Settings
|
|||||||
SAFARI_STEPS = 600
|
SAFARI_STEPS = 600
|
||||||
# The number of seconds a Bug-Catching Contest lasts for (0=infinite).
|
# The number of seconds a Bug-Catching Contest lasts for (0=infinite).
|
||||||
BUG_CONTEST_TIME = 20 * 60 # 20 minutes
|
BUG_CONTEST_TIME = 20 * 60 # 20 minutes
|
||||||
# Pairs of map IDs, where the location signpost isn't shown when moving from
|
# Pairs of map IDs, where the location sign isn't shown when moving from one
|
||||||
# one of the maps in a pair to the other (and vice versa). Useful for single
|
# of the maps in a pair to the other (and vice versa). Useful for single long
|
||||||
# long routes/towns that are spread over multiple maps.
|
# routes/towns that are spread over multiple maps.
|
||||||
# e.g. [4,5,16,17,42,43] will be map pairs 4,5 and 16,17 and 42,43.
|
# e.g. [4,5,16,17,42,43] will be map pairs 4,5 and 16,17 and 42,43.
|
||||||
# Moving between two maps that have the exact same name won't show the
|
# Moving between two maps that have the exact same name won't show the
|
||||||
# location signpost anyway, so you don't need to list those maps here.
|
# location sign anyway, so you don't need to list those maps here.
|
||||||
NO_SIGNPOSTS = []
|
NO_LOCATION_SIGNS = []
|
||||||
# Whether poisoned Pokémon will lose HP while walking around in the field.
|
# Whether poisoned Pokémon will lose HP while walking around in the field.
|
||||||
POISON_IN_FIELD = (MECHANICS_GENERATION <= 4)
|
POISON_IN_FIELD = (MECHANICS_GENERATION <= 4)
|
||||||
# Whether poisoned Pokémon will faint while walking around in the field
|
# Whether poisoned Pokémon will faint while walking around in the field
|
||||||
|
|||||||
@@ -72,6 +72,18 @@ end
|
|||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|
||||||
|
SaveData.register_conversion(:v22_add_adventure_magic_number) do
|
||||||
|
essentials_version 22
|
||||||
|
display_title "Adding adventure ID"
|
||||||
|
to_value :game_system do |game_system|
|
||||||
|
game_system.instance_eval do
|
||||||
|
@adventure_magic_number ||= rand(2**32)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
#===============================================================================
|
||||||
|
|
||||||
SaveData.register_conversion(:v22_add_new_stats) do
|
SaveData.register_conversion(:v22_add_new_stats) do
|
||||||
essentials_version 22
|
essentials_version 22
|
||||||
display_title "Adding some more stats"
|
display_title "Adding some more stats"
|
||||||
|
|||||||
@@ -5,4 +5,44 @@
|
|||||||
module Settings
|
module Settings
|
||||||
# :one, :adventure, :multiple
|
# :one, :adventure, :multiple
|
||||||
SAVE_SLOTS = :multiple
|
SAVE_SLOTS = :multiple
|
||||||
|
|
||||||
|
# Whether the main color of a move's name in the Fight menu in battle matches
|
||||||
|
# the pixel at coordinate (10,34) in cursor_fight.png for that move's type
|
||||||
|
# (true), or whether the move name's color is the default black (false).
|
||||||
|
BATTLE_MOVE_NAME_COLOR_FROM_GRAPHIC = true
|
||||||
|
|
||||||
|
# Whether "Town Map" will show as an option in the pause menu if the player
|
||||||
|
# has that item in the Bag and doesn't have a Pokégear.
|
||||||
|
SHOW_TOWN_MAP_IN_PAUSE_MENU = true
|
||||||
|
|
||||||
|
# The filename of a location sign graphic to be used if the map metadata for a
|
||||||
|
# map doesn't define one. Make this nil to use the default menu windowskin.
|
||||||
|
DEFAULT_LOCATION_SIGN_GRAPHIC = "Pt default"
|
||||||
|
# Assigns location sign graphics to text styles (numbers). These are used in
|
||||||
|
# class LocationWindow to display the text appropriately for the graphic being
|
||||||
|
# used. Style :none is reserved for the "no graphic" style. A filename may
|
||||||
|
# instead be an array of [filename, text base color, text shadow color].
|
||||||
|
LOCATION_SIGN_GRAPHIC_STYLES = {
|
||||||
|
:dp => [["DP", Color.new(72, 80, 72), Color.new(144, 160, 160)]],
|
||||||
|
:hgss => [["HGSS cave", Color.new(232, 232, 232), Color.new(120, 144, 160)],
|
||||||
|
["HGSS city", Color.new(56, 64, 72), Color.new(152, 152, 144)],
|
||||||
|
["HGSS default", Color.new(48, 64, 72), Color.new(144, 144, 96)],
|
||||||
|
["HGSS forest", Color.new(232, 232, 232), Color.new(120, 176, 144)],
|
||||||
|
["HGSS lake", Color.new(40, 48, 56), Color.new(104, 144, 192)],
|
||||||
|
["HGSS park", Color.new(40, 48, 56), Color.new(120, 136, 152)],
|
||||||
|
["HGSS route", Color.new(48, 64, 72), Color.new(136, 136, 104)],
|
||||||
|
["HGSS sea", Color.new(216, 240, 248), Color.new(24, 96, 144)],
|
||||||
|
["HGSS town", Color.new(48, 56, 64), Color.new(144, 120, 80)]],
|
||||||
|
:platinum => ["Pt cave", "Pt city", "Pt default", "Pt forest", "Pt lake",
|
||||||
|
"Pt park", "Pt route", "Pt sea", "Pt town"]
|
||||||
|
}
|
||||||
|
|
||||||
|
# TODO: Allow renaming a Pokémon from the party screen/summary screen (not
|
||||||
|
# sure which). Gen 9 feature.
|
||||||
|
# TODO: Allow forgetting/remembering moves from the summary screen. Gen 9
|
||||||
|
# feature.
|
||||||
|
# TODO: Show usability party balls in the Bag. Maybe?
|
||||||
|
# TODO: Replace Run with Call in battle; don't have this depend on the Shadow
|
||||||
|
# type existing?
|
||||||
|
# TODO: Whether new items go at the top or bottom of its Bag pocket?
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ module GameData
|
|||||||
attr_reader :real_name
|
attr_reader :real_name
|
||||||
attr_reader :outdoor_map
|
attr_reader :outdoor_map
|
||||||
attr_reader :announce_location
|
attr_reader :announce_location
|
||||||
|
attr_reader :location_sign
|
||||||
attr_reader :can_bicycle
|
attr_reader :can_bicycle
|
||||||
attr_reader :always_bicycle
|
attr_reader :always_bicycle
|
||||||
attr_reader :teleport_destination
|
attr_reader :teleport_destination
|
||||||
@@ -37,6 +38,7 @@ module GameData
|
|||||||
"Name" => [:real_name, "s"],
|
"Name" => [:real_name, "s"],
|
||||||
"Outdoor" => [:outdoor_map, "b"],
|
"Outdoor" => [:outdoor_map, "b"],
|
||||||
"ShowArea" => [:announce_location, "b"],
|
"ShowArea" => [:announce_location, "b"],
|
||||||
|
"LocationSign" => [:location_sign, "s"],
|
||||||
"Bicycle" => [:can_bicycle, "b"],
|
"Bicycle" => [:can_bicycle, "b"],
|
||||||
"BicycleAlways" => [:always_bicycle, "b"],
|
"BicycleAlways" => [:always_bicycle, "b"],
|
||||||
"HealingSpot" => [:teleport_destination, "vuu"],
|
"HealingSpot" => [:teleport_destination, "vuu"],
|
||||||
@@ -68,6 +70,7 @@ module GameData
|
|||||||
["Name", StringProperty, _INTL("The name of the map, as seen by the player. Can be different to the map's name as seen in RMXP.")],
|
["Name", StringProperty, _INTL("The name of the map, as seen by the player. Can be different to the map's name as seen in RMXP.")],
|
||||||
["Outdoor", BooleanProperty, _INTL("If true, this map is an outdoor map and will be tinted according to time of day.")],
|
["Outdoor", BooleanProperty, _INTL("If true, this map is an outdoor map and will be tinted according to time of day.")],
|
||||||
["ShowArea", BooleanProperty, _INTL("If true, the game will display the map's name upon entry.")],
|
["ShowArea", BooleanProperty, _INTL("If true, the game will display the map's name upon entry.")],
|
||||||
|
["LocationSign", StringProperty, _INTL("Filename in 'Graphics/UI/Location/' to be used as the location sign.")],
|
||||||
["Bicycle", BooleanProperty, _INTL("If true, the bicycle can be used on this map.")],
|
["Bicycle", BooleanProperty, _INTL("If true, the bicycle can be used on this map.")],
|
||||||
["BicycleAlways", BooleanProperty, _INTL("If true, the bicycle will be mounted automatically on this map and cannot be dismounted.")],
|
["BicycleAlways", BooleanProperty, _INTL("If true, the bicycle will be mounted automatically on this map and cannot be dismounted.")],
|
||||||
["HealingSpot", MapCoordsProperty, _INTL("Map ID of this Pokémon Center's town, and X and Y coordinates of its entrance within that town.")],
|
["HealingSpot", MapCoordsProperty, _INTL("Map ID of this Pokémon Center's town, and X and Y coordinates of its entrance within that town.")],
|
||||||
@@ -98,6 +101,7 @@ module GameData
|
|||||||
@real_name = hash[:real_name]
|
@real_name = hash[:real_name]
|
||||||
@outdoor_map = hash[:outdoor_map]
|
@outdoor_map = hash[:outdoor_map]
|
||||||
@announce_location = hash[:announce_location]
|
@announce_location = hash[:announce_location]
|
||||||
|
@location_sign = hash[:location_sign]
|
||||||
@can_bicycle = hash[:can_bicycle]
|
@can_bicycle = hash[:can_bicycle]
|
||||||
@always_bicycle = hash[:always_bicycle]
|
@always_bicycle = hash[:always_bicycle]
|
||||||
@teleport_destination = hash[:teleport_destination]
|
@teleport_destination = hash[:teleport_destination]
|
||||||
|
|||||||
@@ -199,8 +199,6 @@ class Battle::Scene::FightMenu < Battle::Scene::MenuBase
|
|||||||
attr_reader :battler
|
attr_reader :battler
|
||||||
attr_reader :shiftMode
|
attr_reader :shiftMode
|
||||||
|
|
||||||
GET_MOVE_TEXT_COLOR_FROM_MOVE_BUTTON = true
|
|
||||||
|
|
||||||
# If true, displays graphics from Graphics/UI/Battle/overlay_fight.png
|
# If true, displays graphics from Graphics/UI/Battle/overlay_fight.png
|
||||||
# and Graphics/UI/Battle/cursor_fight.png.
|
# and Graphics/UI/Battle/cursor_fight.png.
|
||||||
# If false, just displays text and the command window over the graphic
|
# If false, just displays text and the command window over the graphic
|
||||||
@@ -350,7 +348,7 @@ class Battle::Scene::FightMenu < Battle::Scene::MenuBase
|
|||||||
x = button.x - self.x + (button.src_rect.width / 2)
|
x = button.x - self.x + (button.src_rect.width / 2)
|
||||||
y = button.y - self.y + 14
|
y = button.y - self.y + 14
|
||||||
moveNameBase = TEXT_BASE_COLOR
|
moveNameBase = TEXT_BASE_COLOR
|
||||||
if GET_MOVE_TEXT_COLOR_FROM_MOVE_BUTTON && moves[i].display_type(@battler)
|
if Settings::BATTLE_MOVE_NAME_COLOR_FROM_GRAPHIC && moves[i].display_type(@battler)
|
||||||
# NOTE: This takes a color from a particular pixel in the button
|
# NOTE: This takes a color from a particular pixel in the button
|
||||||
# graphic and makes the move name's base color that same color.
|
# graphic and makes the move name's base color that same color.
|
||||||
# The pixel is at coordinates 10,34 in the button box. If you
|
# The pixel is at coordinates 10,34 in the button box. If you
|
||||||
|
|||||||
@@ -1,20 +1,98 @@
|
|||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Location signpost
|
# Location sign.
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class LocationWindow
|
class LocationWindow
|
||||||
APPEAR_TIME = 0.4 # In seconds; is also the disappear time
|
APPEAR_TIME = 0.4 # In seconds; is also the disappear time
|
||||||
LINGER_TIME = 1.6 # In seconds; time during which self is fully visible
|
LINGER_TIME = 1.6 # In seconds; time during which self is fully visible
|
||||||
|
|
||||||
def initialize(name)
|
def initialize(name, graphic_name = nil)
|
||||||
|
initialize_viewport
|
||||||
|
initialize_graphic(graphic_name)
|
||||||
|
initialize_text_window(name)
|
||||||
|
apply_style(graphic_name)
|
||||||
|
@current_map = $game_map.map_id
|
||||||
|
@timer_start = System.uptime
|
||||||
|
@delayed = !$game_temp.fly_destination.nil?
|
||||||
|
end
|
||||||
|
|
||||||
|
def initialize_viewport
|
||||||
|
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
|
||||||
|
@viewport.z = 99999
|
||||||
|
end
|
||||||
|
|
||||||
|
def initialize_graphic(graphic_name)
|
||||||
|
return if graphic_name.nil? || !pbResolveBitmap("Graphics/UI/Location/#{graphic_name}")
|
||||||
|
@graphic = Sprite.new(@viewport)
|
||||||
|
@graphic.bitmap = RPG::Cache.ui("Location/#{graphic_name}")
|
||||||
|
@graphic.x = 0
|
||||||
|
@graphic.y = -@graphic.height
|
||||||
|
end
|
||||||
|
|
||||||
|
def initialize_text_window(name)
|
||||||
@window = Window_AdvancedTextPokemon.new(name)
|
@window = Window_AdvancedTextPokemon.new(name)
|
||||||
@window.resizeToFit(name, Graphics.width)
|
@window.resizeToFit(name, Graphics.width)
|
||||||
@window.x = 0
|
@window.x = 0
|
||||||
@window.y = -@window.height
|
@window.y = -@window.height
|
||||||
@window.viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
|
@window.z = 1
|
||||||
@window.viewport.z = 99999
|
@window.viewport = @viewport
|
||||||
@currentmap = $game_map.map_id
|
end
|
||||||
@timer_start = System.uptime
|
|
||||||
@delayed = !$game_temp.fly_destination.nil?
|
def apply_style(graphic_name)
|
||||||
|
# Set up values to be used elsewhere
|
||||||
|
@graphic_offset = [0, 0]
|
||||||
|
@window_offset = [0, 0]
|
||||||
|
@y_distance = @window.height
|
||||||
|
return if graphic_name.nil?
|
||||||
|
# Determine the style and base/shadow colors
|
||||||
|
style = :none
|
||||||
|
base_color = nil
|
||||||
|
shadow_color = nil
|
||||||
|
Settings::LOCATION_SIGN_GRAPHIC_STYLES.each_pair do |val, filenames|
|
||||||
|
filenames.each do |filename|
|
||||||
|
if filename.is_a?(Array)
|
||||||
|
next if filename[0] != graphic_name
|
||||||
|
base_color = filename[1]
|
||||||
|
shadow_color = filename[2]
|
||||||
|
else
|
||||||
|
next if filename != graphic_name
|
||||||
|
end
|
||||||
|
style = val
|
||||||
|
break
|
||||||
|
end
|
||||||
|
break if style != :none
|
||||||
|
end
|
||||||
|
return if style == :none
|
||||||
|
# Apply the style
|
||||||
|
@y_distance = @graphic&.height || @window.height
|
||||||
|
@window.back_opacity = 0
|
||||||
|
case style
|
||||||
|
when :dp
|
||||||
|
@window.baseColor = base_color if base_color
|
||||||
|
@window.shadowColor = shadow_color if shadow_color
|
||||||
|
@window.text = @window.text # Because the text colors were changed
|
||||||
|
@window_offset = [8, -10]
|
||||||
|
@graphic&.dispose
|
||||||
|
@graphic = Window_AdvancedTextPokemon.new("")
|
||||||
|
@graphic.setSkin("Graphics/UI/Location/#{graphic_name}")
|
||||||
|
@graphic.width = @window.width + (@window_offset[0] * 2) - 4
|
||||||
|
@graphic.height = 48
|
||||||
|
@graphic.x = 0
|
||||||
|
@graphic.y = -@graphic.height
|
||||||
|
@graphic.z = 0
|
||||||
|
@graphic.viewport = @viewport
|
||||||
|
@y_distance = @graphic.height
|
||||||
|
when :hgss
|
||||||
|
@window.baseColor = base_color if base_color
|
||||||
|
@window.shadowColor = shadow_color if shadow_color
|
||||||
|
@window.width = @graphic.width
|
||||||
|
@window.text = "<ac>" + @window.text
|
||||||
|
when :platinum
|
||||||
|
@window.baseColor = base_color || Color.black
|
||||||
|
@window.shadowColor = shadow_color || Color.new(144, 144, 160)
|
||||||
|
@window.text = @window.text # Because the text colors were changed
|
||||||
|
@window_offset = [10, 16]
|
||||||
|
end
|
||||||
|
@window.x = @window_offset[0]
|
||||||
end
|
end
|
||||||
|
|
||||||
def disposed?
|
def disposed?
|
||||||
@@ -22,25 +100,32 @@ class LocationWindow
|
|||||||
end
|
end
|
||||||
|
|
||||||
def dispose
|
def dispose
|
||||||
|
@graphic&.dispose
|
||||||
@window.dispose
|
@window.dispose
|
||||||
|
@viewport.dispose
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
return if @window.disposed? || $game_temp.fly_destination
|
return if disposed? || $game_temp.fly_destination
|
||||||
if @delayed
|
if @delayed
|
||||||
@timer_start = System.uptime
|
@timer_start = System.uptime
|
||||||
@delayed = false
|
@delayed = false
|
||||||
end
|
end
|
||||||
|
@graphic&.update
|
||||||
@window.update
|
@window.update
|
||||||
if $game_temp.message_window_showing || @currentmap != $game_map.map_id
|
if $game_temp.message_window_showing || @current_map != $game_map.map_id
|
||||||
@window.dispose
|
dispose
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if System.uptime - @timer_start >= APPEAR_TIME + LINGER_TIME
|
if System.uptime - @timer_start >= APPEAR_TIME + LINGER_TIME
|
||||||
@window.y = lerp(0, -@window.height, APPEAR_TIME, @timer_start + APPEAR_TIME + LINGER_TIME, System.uptime)
|
y_pos = lerp(0, -@y_distance, APPEAR_TIME, @timer_start + APPEAR_TIME + LINGER_TIME, System.uptime)
|
||||||
@window.dispose if @window.y + @window.height <= 0
|
@window.y = y_pos + @window_offset[1]
|
||||||
|
@graphic&.y = y_pos + @graphic_offset[1]
|
||||||
|
dispose if y_pos <= -@y_distance
|
||||||
else
|
else
|
||||||
@window.y = lerp(-@window.height, 0, APPEAR_TIME, @timer_start, System.uptime)
|
y_pos = lerp(-@y_distance, 0, APPEAR_TIME, @timer_start, System.uptime)
|
||||||
|
@window.y = y_pos + @window_offset[1]
|
||||||
|
@graphic&.y = y_pos + @graphic_offset[1]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -319,23 +319,27 @@ EventHandlers.add(:on_map_or_spriteset_change, :show_darkness,
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
# Show location signpost.
|
# Show location sign.
|
||||||
EventHandlers.add(:on_map_or_spriteset_change, :show_location_window,
|
EventHandlers.add(:on_map_or_spriteset_change, :show_location_sign,
|
||||||
proc { |scene, map_changed|
|
proc { |scene, map_changed|
|
||||||
next if !scene || !scene.spriteset
|
next if !scene || !scene.spriteset
|
||||||
next if !map_changed || !$game_map.metadata&.announce_location
|
next if !map_changed || !$game_map.metadata&.announce_location
|
||||||
nosignpost = false
|
no_sign = false
|
||||||
if $PokemonGlobal.mapTrail[1]
|
if $PokemonGlobal.mapTrail[1]
|
||||||
(Settings::NO_SIGNPOSTS.length / 2).times do |i|
|
(Settings::NO_LOCATION_SIGNS.length / 2).times do |i|
|
||||||
nosignpost = true if Settings::NO_SIGNPOSTS[2 * i] == $PokemonGlobal.mapTrail[1] &&
|
no_sign = true if Settings::NO_LOCATION_SIGNS[2 * i] == $PokemonGlobal.mapTrail[1] &&
|
||||||
Settings::NO_SIGNPOSTS[(2 * i) + 1] == $game_map.map_id
|
Settings::NO_LOCATION_SIGNS[(2 * i) + 1] == $game_map.map_id
|
||||||
nosignpost = true if Settings::NO_SIGNPOSTS[(2 * i) + 1] == $PokemonGlobal.mapTrail[1] &&
|
no_sign = true if Settings::NO_LOCATION_SIGNS[(2 * i) + 1] == $PokemonGlobal.mapTrail[1] &&
|
||||||
Settings::NO_SIGNPOSTS[2 * i] == $game_map.map_id
|
Settings::NO_LOCATION_SIGNS[2 * i] == $game_map.map_id
|
||||||
break if nosignpost
|
break if no_sign
|
||||||
end
|
end
|
||||||
nosignpost = true if $game_map.name == pbGetMapNameFromId($PokemonGlobal.mapTrail[1])
|
no_sign = true if $game_map.name == pbGetMapNameFromId($PokemonGlobal.mapTrail[1])
|
||||||
end
|
end
|
||||||
scene.spriteset.addUserSprite(LocationWindow.new($game_map.name)) if !nosignpost
|
next if no_sign
|
||||||
|
map_name = $game_map.name
|
||||||
|
location_sign_graphic = $game_map.metadata&.location_sign || Settings::DEFAULT_LOCATION_SIGN_GRAPHIC
|
||||||
|
location_sign_graphic = Settings::DEFAULT_LOCATION_SIGN_GRAPHIC
|
||||||
|
scene.spriteset.addUserSprite(LocationWindow.new(map_name, location_sign_graphic))
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ MenuHandlers.add(:pause_menu, :pokegear, {
|
|||||||
MenuHandlers.add(:pause_menu, :town_map, {
|
MenuHandlers.add(:pause_menu, :town_map, {
|
||||||
"name" => _INTL("Town Map"),
|
"name" => _INTL("Town Map"),
|
||||||
"order" => 40,
|
"order" => 40,
|
||||||
"condition" => proc { next !$player.has_pokegear && $bag.has?(:TOWNMAP) },
|
"condition" => proc { next Settings::SHOW_TOWN_MAP_IN_PAUSE_MENU && !$player.has_pokegear && $bag.has?(:TOWNMAP) },
|
||||||
"effect" => proc { |menu|
|
"effect" => proc { |menu|
|
||||||
pbPlayDecisionSE
|
pbPlayDecisionSE
|
||||||
pbFadeOutIn do
|
pbFadeOutIn do
|
||||||
|
|||||||
@@ -880,14 +880,7 @@ class UI::Party < UI::BaseScreen
|
|||||||
@visuals.refresh_party
|
@visuals.refresh_party
|
||||||
end
|
end
|
||||||
|
|
||||||
# TODO: Get rid of this method once storage screen and PokemonDebugPartyScreen
|
# TODO: Get rid of this method once ItemHandlers have been rewritten.
|
||||||
# have been rewritten.
|
|
||||||
def pbRefreshSingle(_party_index)
|
|
||||||
refresh
|
|
||||||
end
|
|
||||||
|
|
||||||
# TODO: Get rid of this method once storage screen and PokemonDebugPartyScreen
|
|
||||||
# have been rewritten.
|
|
||||||
def pbHardRefresh
|
def pbHardRefresh
|
||||||
refresh_party
|
refresh_party
|
||||||
refresh
|
refresh
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
#===============================================================================
|
#===============================================================================
|
||||||
class UI::TrainerCardVisuals < UI::BaseVisuals
|
class UI::TrainerCardVisuals < UI::BaseVisuals
|
||||||
GRAPHICS_FOLDER = "Trainer Card/" # Subfolder in Graphics/UI
|
GRAPHICS_FOLDER = "Trainer Card/" # Subfolder in Graphics/UI
|
||||||
|
|
||||||
BADGE_SIZE = [32, 32] # [width, height] of a Gym Badge
|
BADGE_SIZE = [32, 32] # [width, height] of a Gym Badge
|
||||||
BADGE_SPACING = 16 # Size of gap between adjacent Gym Badges
|
BADGE_SPACING = 16 # Size of gap between adjacent Gym Badges
|
||||||
FIRST_BADGE_X = 72 # Left edge of the first Gym Badge
|
FIRST_BADGE_X = 72 # Left edge of the first Gym Badge
|
||||||
|
|||||||
@@ -1,3 +1,47 @@
|
|||||||
|
module UI::LoadSaveDataMixin
|
||||||
|
def load_all_save_data
|
||||||
|
@save_data = []
|
||||||
|
files = SaveData.all_save_files
|
||||||
|
files.each do |file|
|
||||||
|
this_save_data = load_save_file(SaveData::DIRECTORY, file)
|
||||||
|
@save_data.push([file, this_save_data])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def load_save_file(directory, filename)
|
||||||
|
ret = SaveData.read_from_file(directory + filename)
|
||||||
|
if !SaveData.valid?(ret)
|
||||||
|
if File.file?(directory + filename + ".bak")
|
||||||
|
show_message(_INTL("The save file is corrupt. A backup will be loaded."))
|
||||||
|
ret = load_save_file(directory, filename + ".bak")
|
||||||
|
end
|
||||||
|
if prompt_corrupted_save_deletion(filename)
|
||||||
|
delete_save_data(filename)
|
||||||
|
$PokemonSystem = PokemonSystem.new if self.is_a?(UI::Load)
|
||||||
|
else
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
|
||||||
|
def prompt_corrupted_save_deletion(filename)
|
||||||
|
show_message(_INTL("The save file is corrupt, or is incompatible with this game.") + "\1")
|
||||||
|
pbPlayDecisionSE
|
||||||
|
return show_confirm_serious_message(_INTL("Do you want to delete the save file and start anew?"))
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete_save_data(filename)
|
||||||
|
begin
|
||||||
|
SaveData.delete_file(filename)
|
||||||
|
yield if block_given?
|
||||||
|
show_message(_INTL("The save file was deleted."))
|
||||||
|
rescue SystemCallError
|
||||||
|
show_message(_INTL("The save file could not be deleted."))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
#
|
#
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
@@ -380,7 +424,7 @@ class UI::LoadVisuals < UI::BaseVisuals
|
|||||||
# Set the options, and change the language if relevant
|
# Set the options, and change the language if relevant
|
||||||
old_language = $PokemonSystem.language
|
old_language = $PokemonSystem.language
|
||||||
SaveData.load_bootup_values(@save_data[@slot_index][1], true)
|
SaveData.load_bootup_values(@save_data[@slot_index][1], true)
|
||||||
if $PokemonSystem.language != old_language
|
if $PokemonSystem.language != old_language && Settings::LANGUAGES[$PokemonSystem.language]
|
||||||
MessageTypes.load_message_files(Settings::LANGUAGES[$PokemonSystem.language][1])
|
MessageTypes.load_message_files(Settings::LANGUAGES[$PokemonSystem.language][1])
|
||||||
full_refresh
|
full_refresh
|
||||||
end
|
end
|
||||||
@@ -502,6 +546,16 @@ class UI::LoadVisuals < UI::BaseVisuals
|
|||||||
return :delete_save
|
return :delete_save
|
||||||
end
|
end
|
||||||
return update_interaction(Input::USE)
|
return update_interaction(Input::USE)
|
||||||
|
elsif Input.trigger?(Input::JUMPUP)
|
||||||
|
if @index != @commands.keys[0]
|
||||||
|
pbPlayCursorSE
|
||||||
|
set_index(@commands.keys[0])
|
||||||
|
end
|
||||||
|
elsif Input.trigger?(Input::JUMPDOWN)
|
||||||
|
if @index != @commands.keys[@commands.length - 1]
|
||||||
|
pbPlayCursorSE
|
||||||
|
set_index(@commands.keys[@commands.length - 1])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
@@ -524,8 +578,11 @@ class UI::Load < UI::BaseScreen
|
|||||||
|
|
||||||
SCREEN_ID = :load_screen
|
SCREEN_ID = :load_screen
|
||||||
|
|
||||||
|
include UI::LoadSaveDataMixin
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
load_all_save_data
|
load_all_save_data
|
||||||
|
determine_default_save_file
|
||||||
if $DEBUG && !FileTest.exist?("Game.rgssad") && Settings::SKIP_CONTINUE_SCREEN
|
if $DEBUG && !FileTest.exist?("Game.rgssad") && Settings::SKIP_CONTINUE_SCREEN
|
||||||
@disposed = true
|
@disposed = true
|
||||||
perform_action((@save_data.empty?) ? :new_game : :continue)
|
perform_action((@save_data.empty?) ? :new_game : :continue)
|
||||||
@@ -554,49 +611,18 @@ class UI::Load < UI::BaseScreen
|
|||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
# TODO: Move this kind of code into module SaveData.
|
def determine_default_save_file
|
||||||
def load_all_save_data
|
|
||||||
@save_data = []
|
|
||||||
@default_slot_index = 0
|
@default_slot_index = 0
|
||||||
last_edited_time = nil
|
last_edited_time = nil
|
||||||
files = SaveData.all_save_files
|
@save_data.each_with_index do |data, i|
|
||||||
files.each do |file|
|
save_time = data[1][:stats].real_time_saved || 0
|
||||||
# Load the save file
|
|
||||||
this_save_data = load_save_file(SaveData::DIRECTORY, file)
|
|
||||||
@save_data.push([file, this_save_data])
|
|
||||||
# Find the most recently edited save file; default to selecting that one
|
|
||||||
save_time = this_save_data[:stats].real_time_saved || 0
|
|
||||||
if !last_edited_time || save_time > last_edited_time
|
if !last_edited_time || save_time > last_edited_time
|
||||||
last_edited_time = save_time
|
last_edited_time = save_time
|
||||||
@default_slot_index = @save_data.length - 1
|
@default_slot_index = i
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
SaveData.load_bootup_values(@save_data[@default_slot_index][1], true) if !@save_data.empty?
|
SaveData.load_bootup_values(@save_data[@default_slot_index][1], true) if !@save_data.empty?
|
||||||
MessageTypes.load_message_files(Settings::LANGUAGES[$PokemonSystem.language][1])
|
MessageTypes.load_message_files(Settings::LANGUAGES[$PokemonSystem.language][1]) if Settings::LANGUAGES[$PokemonSystem.language]
|
||||||
end
|
|
||||||
|
|
||||||
# TODO: Move this kind of code into module SaveData.
|
|
||||||
def load_save_file(directory, filename)
|
|
||||||
ret = SaveData.read_from_file(directory + filename)
|
|
||||||
if !SaveData.valid?(ret)
|
|
||||||
if File.file?(directory + filename + ".bak")
|
|
||||||
show_message(_INTL("The save file is corrupt. A backup will be loaded."))
|
|
||||||
ret = load_save_file(directory, filename + ".bak")
|
|
||||||
end
|
|
||||||
if prompt_corrupted_save_deletion(filename)
|
|
||||||
delete_save_data(filename)
|
|
||||||
$PokemonSystem = PokemonSystem.new
|
|
||||||
else
|
|
||||||
exit
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return ret
|
|
||||||
end
|
|
||||||
|
|
||||||
def prompt_corrupted_save_deletion(filename)
|
|
||||||
show_message(_INTL("The save file is corrupt, or is incompatible with this game.") + "\1")
|
|
||||||
pbPlayDecisionSE
|
|
||||||
return show_confirm_serious_message(_INTL("Do you want to delete the save file and start anew?"))
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def prompt_save_deletion(filename)
|
def prompt_save_deletion(filename)
|
||||||
@@ -612,16 +638,6 @@ class UI::Load < UI::BaseScreen
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def delete_save_data(filename)
|
|
||||||
begin
|
|
||||||
SaveData.delete_file(filename)
|
|
||||||
yield if block_given?
|
|
||||||
show_message(_INTL("The save file was deleted."))
|
|
||||||
rescue SystemCallError
|
|
||||||
show_message(_INTL("The save file could not be deleted."))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
def full_refresh
|
def full_refresh
|
||||||
|
|||||||
@@ -323,6 +323,7 @@ class UI::SaveVisuals < UI::BaseVisuals
|
|||||||
if @save_data[index][1][:game_system].adventure_magic_number == $game_system.adventure_magic_number
|
if @save_data[index][1][:game_system].adventure_magic_number == $game_system.adventure_magic_number
|
||||||
save_time = @save_data[index][1][:stats].real_play_time
|
save_time = @save_data[index][1][:stats].real_play_time
|
||||||
delta_time = ($stats.play_time - save_time).to_i
|
delta_time = ($stats.play_time - save_time).to_i
|
||||||
|
if delta_time >= 0
|
||||||
hour = (delta_time / 60) / 60
|
hour = (delta_time / 60) / 60
|
||||||
min = (delta_time / 60) % 60
|
min = (delta_time / 60) % 60
|
||||||
if hour > 0
|
if hour > 0
|
||||||
@@ -330,6 +331,9 @@ class UI::SaveVisuals < UI::BaseVisuals
|
|||||||
else
|
else
|
||||||
draw_text(_INTL("Play time since save: {1}m", min), 8, 4)
|
draw_text(_INTL("Play time since save: {1}m", min), 8, 4)
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
draw_text(_INTL("Alternate version of your adventure!"), 8, 4)
|
||||||
|
end
|
||||||
else
|
else
|
||||||
draw_text(_INTL("Different adventure!"), 8, 4)
|
draw_text(_INTL("Different adventure!"), 8, 4)
|
||||||
end
|
end
|
||||||
@@ -411,9 +415,12 @@ class UI::Save < UI::BaseScreen
|
|||||||
|
|
||||||
SCREEN_ID = :save_screen
|
SCREEN_ID = :save_screen
|
||||||
|
|
||||||
|
include UI::LoadSaveDataMixin
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
create_current_save_data
|
create_current_save_data
|
||||||
load_all_save_data
|
load_all_save_data
|
||||||
|
determine_default_save_file
|
||||||
super
|
super
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -439,14 +446,7 @@ class UI::Save < UI::BaseScreen
|
|||||||
}]
|
}]
|
||||||
end
|
end
|
||||||
|
|
||||||
def load_all_save_data
|
def determine_default_save_file
|
||||||
# Load the save file
|
|
||||||
@save_data = []
|
|
||||||
files = SaveData.all_save_files
|
|
||||||
files.each do |file|
|
|
||||||
this_save_data = load_save_file(SaveData::DIRECTORY, file)
|
|
||||||
@save_data.push([file, this_save_data])
|
|
||||||
end
|
|
||||||
# Find the save file index matching the current game's filename number
|
# Find the save file index matching the current game's filename number
|
||||||
if $stats.save_filename_number && $stats.save_filename_number >= 0
|
if $stats.save_filename_number && $stats.save_filename_number >= 0
|
||||||
expected_filename = SaveData.filename_from_index($stats.save_filename_number)
|
expected_filename = SaveData.filename_from_index($stats.save_filename_number)
|
||||||
@@ -457,38 +457,6 @@ class UI::Save < UI::BaseScreen
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def load_save_file(directory, filename)
|
|
||||||
ret = SaveData.read_from_file(directory + filename)
|
|
||||||
if !SaveData.valid?(ret)
|
|
||||||
if File.file?(directory + filename + ".bak")
|
|
||||||
show_message(_INTL("The save file is corrupt. A backup will be loaded."))
|
|
||||||
ret = load_save_file(directory, filename + ".bak")
|
|
||||||
end
|
|
||||||
if prompt_corrupted_save_deletion(filename)
|
|
||||||
delete_save_data(filename)
|
|
||||||
else
|
|
||||||
exit
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return ret
|
|
||||||
end
|
|
||||||
|
|
||||||
def prompt_corrupted_save_deletion(filename)
|
|
||||||
show_message(_INTL("The save file is corrupt, or is incompatible with this game.") + "\1")
|
|
||||||
pbPlayDecisionSE
|
|
||||||
return show_confirm_serious_message(_INTL("Do you want to delete the save file and start anew?"))
|
|
||||||
end
|
|
||||||
|
|
||||||
def delete_save_data(filename)
|
|
||||||
begin
|
|
||||||
SaveData.delete_file(filename)
|
|
||||||
yield if block_given?
|
|
||||||
show_message(_INTL("The save file was deleted."))
|
|
||||||
rescue SystemCallError
|
|
||||||
show_message(_INTL("The save file could not be deleted."))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def different_adventure?(slot_index)
|
def different_adventure?(slot_index)
|
||||||
return false if !@save_data[slot_index]
|
return false if !@save_data[slot_index]
|
||||||
return false if !@save_data[slot_index][1][:game_system].adventure_magic_number
|
return false if !@save_data[slot_index][1][:game_system].adventure_magic_number
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ Name = Intro
|
|||||||
Name = Lappet Town
|
Name = Lappet Town
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt town
|
||||||
MapPosition = 0,13,12
|
MapPosition = 0,13,12
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
@@ -23,6 +24,7 @@ MapPosition = 0,13,12
|
|||||||
Name = Route 1
|
Name = Route 1
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
MapPosition = 0,13,11
|
MapPosition = 0,13,11
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
@@ -34,6 +36,7 @@ MapPosition = 0,13,11
|
|||||||
Name = Cedolan City
|
Name = Cedolan City
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt city
|
||||||
MapPosition = 0,13,10
|
MapPosition = 0,13,10
|
||||||
MapSize = 2,11
|
MapSize = 2,11
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
@@ -97,6 +100,7 @@ MapPosition = 0,13,10
|
|||||||
Name = Route 2
|
Name = Route 2
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
Weather = Rain,100
|
Weather = Rain,100
|
||||||
MapPosition = 0,14,8
|
MapPosition = 0,14,8
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
@@ -106,6 +110,7 @@ MapSize = 1,11
|
|||||||
Name = Lerucean Town
|
Name = Lerucean Town
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt town
|
||||||
MapPosition = 0,15,8
|
MapPosition = 0,15,8
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[024] # Lerucean Town Poké Center
|
[024] # Lerucean Town Poké Center
|
||||||
@@ -129,6 +134,7 @@ MapPosition = 0,15,8
|
|||||||
Name = Natural Park
|
Name = Natural Park
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt park
|
||||||
MapPosition = 0,16,8
|
MapPosition = 0,16,8
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
Flags = MossRock,BugContest
|
Flags = MossRock,BugContest
|
||||||
@@ -148,12 +154,15 @@ Flags = BugContestReception
|
|||||||
Name = Route 3
|
Name = Route 3
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
MapPosition = 0,14,6
|
MapPosition = 0,14,6
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
MapSize = 2,1101
|
MapSize = 2,1101
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[034] # Ice Cave
|
[034] # Ice Cave
|
||||||
Name = Route 3
|
Name = Ice Cave
|
||||||
|
ShowArea = true
|
||||||
|
LocationSign = Pt cave
|
||||||
Bicycle = true
|
Bicycle = true
|
||||||
MapPosition = 0,15,6
|
MapPosition = 0,15,6
|
||||||
BattleBack = cave1
|
BattleBack = cave1
|
||||||
@@ -164,6 +173,7 @@ Flags = IceRock
|
|||||||
Name = Ingido Plateau
|
Name = Ingido Plateau
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
MapPosition = 0,13,6
|
MapPosition = 0,13,6
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[036] # Pokémon League entrance
|
[036] # Pokémon League entrance
|
||||||
@@ -186,6 +196,7 @@ Flags = DisableBoxLink
|
|||||||
Name = Route 4
|
Name = Route 4
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
MapPosition = 0,11,6
|
MapPosition = 0,11,6
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
MapSize = 2,11
|
MapSize = 2,11
|
||||||
@@ -194,6 +205,7 @@ MapSize = 2,11
|
|||||||
Name = Route 4
|
Name = Route 4
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
BicycleAlways = true
|
BicycleAlways = true
|
||||||
MapPosition = 0,11,6
|
MapPosition = 0,11,6
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
@@ -201,6 +213,7 @@ MapPosition = 0,11,6
|
|||||||
Name = Route 5
|
Name = Route 5
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
BicycleAlways = true
|
BicycleAlways = true
|
||||||
MapPosition = 0,11,7
|
MapPosition = 0,11,7
|
||||||
MapSize = 1,111
|
MapSize = 1,111
|
||||||
@@ -209,6 +222,7 @@ MapSize = 1,111
|
|||||||
Name = Route 6
|
Name = Route 6
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
MapPosition = 0,11,10
|
MapPosition = 0,11,10
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
MapSize = 2,11
|
MapSize = 2,11
|
||||||
@@ -217,6 +231,7 @@ MapSize = 2,11
|
|||||||
Name = Route 6
|
Name = Route 6
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
BicycleAlways = true
|
BicycleAlways = true
|
||||||
MapPosition = 0,11,10
|
MapPosition = 0,11,10
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
@@ -229,6 +244,7 @@ MapPosition = 0,12,6
|
|||||||
Name = Route 7
|
Name = Route 7
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
Weather = Rain,0
|
Weather = Rain,0
|
||||||
MapPosition = 0,15,10
|
MapPosition = 0,15,10
|
||||||
BattleBack = rocky
|
BattleBack = rocky
|
||||||
@@ -236,7 +252,9 @@ MapSize = 2,11
|
|||||||
Environment = Rock
|
Environment = Rock
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[049] # Rock Cave 1F
|
[049] # Rock Cave 1F
|
||||||
Name = Route 7
|
Name = Rock Cave
|
||||||
|
ShowArea = true
|
||||||
|
LocationSign = Pt cave
|
||||||
Bicycle = true
|
Bicycle = true
|
||||||
MapPosition = 0,16,10
|
MapPosition = 0,16,10
|
||||||
BattleBack = cave1
|
BattleBack = cave1
|
||||||
@@ -244,7 +262,9 @@ Environment = Cave
|
|||||||
Flags = Magnetic,DistortionWorld
|
Flags = Magnetic,DistortionWorld
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[050] # Rock Cave B1F
|
[050] # Rock Cave B1F
|
||||||
Name = Route 7
|
Name = Rock Cave
|
||||||
|
ShowArea = true
|
||||||
|
LocationSign = Pt cave
|
||||||
Bicycle = true
|
Bicycle = true
|
||||||
MapPosition = 0,16,10
|
MapPosition = 0,16,10
|
||||||
DarkMap = true
|
DarkMap = true
|
||||||
@@ -253,7 +273,9 @@ Environment = Cave
|
|||||||
Flags = Magnetic,DistortionWorld
|
Flags = Magnetic,DistortionWorld
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[051] # Dungeon
|
[051] # Dungeon
|
||||||
Name = Route 7
|
Name = Rock Cave
|
||||||
|
ShowArea = true
|
||||||
|
LocationSign = Pt cave
|
||||||
Bicycle = true
|
Bicycle = true
|
||||||
MapPosition = 0,16,10
|
MapPosition = 0,16,10
|
||||||
Dungeon = true
|
Dungeon = true
|
||||||
@@ -265,6 +287,7 @@ Flags = Magnetic,DistortionWorld,ScaleWildEncounterLevels
|
|||||||
Name = Battle Frontier
|
Name = Battle Frontier
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt city
|
||||||
MapPosition = 0,17,10
|
MapPosition = 0,17,10
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
[053] # Battle Frontier Poké Center
|
[053] # Battle Frontier Poké Center
|
||||||
@@ -335,6 +358,7 @@ Flags = DisableBoxLink
|
|||||||
Name = Safari Zone
|
Name = Safari Zone
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
MapPosition = 0,12,12
|
MapPosition = 0,12,12
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
@@ -346,6 +370,7 @@ MapPosition = 0,12,12
|
|||||||
Name = Safari Zone
|
Name = Safari Zone
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt forest
|
||||||
MapPosition = 0,12,12
|
MapPosition = 0,12,12
|
||||||
SafariMap = true
|
SafariMap = true
|
||||||
BattleBack = forest
|
BattleBack = forest
|
||||||
@@ -355,6 +380,7 @@ Environment = Forest
|
|||||||
Name = Route 8
|
Name = Route 8
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt route
|
||||||
MapPosition = 0,13,13
|
MapPosition = 0,13,13
|
||||||
DiveMap = 70
|
DiveMap = 70
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
@@ -373,6 +399,7 @@ MapPosition = 0,13,13
|
|||||||
Name = Berth Island
|
Name = Berth Island
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt lake
|
||||||
Weather = Storm,50
|
Weather = Storm,50
|
||||||
MapPosition = 0,18,17
|
MapPosition = 0,18,17
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
@@ -382,6 +409,7 @@ Flags = DistortionWorld
|
|||||||
Name = Faraday Island
|
Name = Faraday Island
|
||||||
Outdoor = true
|
Outdoor = true
|
||||||
ShowArea = true
|
ShowArea = true
|
||||||
|
LocationSign = Pt lake
|
||||||
MapPosition = 0,22,16
|
MapPosition = 0,22,16
|
||||||
BattleBack = field
|
BattleBack = field
|
||||||
Flags = DistortionWorld
|
Flags = DistortionWorld
|
||||||
|
|||||||
Reference in New Issue
Block a user