Fixed previous commit always causing recompiling if shadow_pokemon.dat doesn't exist, also rubocopping

This commit is contained in:
Maruno17
2023-01-23 22:27:04 +00:00
parent f6213057d8
commit b0b6e675c3
103 changed files with 1099 additions and 1302 deletions

View File

@@ -339,8 +339,6 @@ def pbEncounterTypeEditor(enc_data, enc_type)
Input.update
end
#===============================================================================
# Trainer type editor
#===============================================================================
@@ -444,8 +442,6 @@ def pbTrainerTypeEditorNew(default_name)
return id.to_sym
end
#===============================================================================
# Individual trainer editor
#===============================================================================
@@ -476,8 +472,9 @@ module TrainerBattleProperty
end
end
#===============================================================================
#
#===============================================================================
def pbTrainerBattleEditor
modified = false
pbListScreenBlock(_INTL("Trainer Battles"), TrainerBattleLister.new(0, true)) { |button, trainer_id|
@@ -601,14 +598,12 @@ def pbTrainerBattleEditor
end
end
#===============================================================================
# Trainer Pokémon editor
#===============================================================================
module TrainerPokemonProperty
def self.set(settingname, initsetting)
initsetting = { :species => nil, :level => 10 } if !initsetting
initsetting = {:species => nil, :level => 10} if !initsetting
oldsetting = [
initsetting[:species],
initsetting[:level],
@@ -691,8 +686,6 @@ module TrainerPokemonProperty
end
end
#===============================================================================
# Metadata editor
#===============================================================================
@@ -747,7 +740,7 @@ def pbEditPlayerMetadata(player_id = 1)
player_id = i
break
end
metadata = GameData::PlayerMetadata.new({ :id => player_id })
metadata = GameData::PlayerMetadata.new({:id => player_id})
elsif !GameData::PlayerMetadata.exists?(player_id)
pbMessage(_INTL("Metadata for player character {1} was not found.", player_id))
return
@@ -780,8 +773,6 @@ def pbEditPlayerMetadata(player_id = 1)
end
end
#===============================================================================
# Map metadata editor
#===============================================================================
@@ -798,7 +789,7 @@ def pbEditMapMetadata(map_id)
data = []
map_name = mapinfos[map_id].name
metadata = GameData::MapMetadata.try_get(map_id)
metadata = GameData::MapMetadata.new({ :id => map_id }) if !metadata
metadata = GameData::MapMetadata.new({:id => map_id}) if !metadata
properties = GameData::MapMetadata.editor_properties
properties.each do |property|
val = metadata.get_property_for_PBS(property[0])
@@ -825,8 +816,6 @@ def pbEditMapMetadata(map_id)
end
end
#===============================================================================
# Item editor
#===============================================================================
@@ -931,8 +920,6 @@ def pbItemEditorNew(default_name)
pbMessage(_INTL("Put the item's graphic ({1}.png) in Graphics/Items, or it will be blank.", id.to_s))
end
#===============================================================================
# Pokémon species editor
#===============================================================================
@@ -999,8 +986,6 @@ def pbPokemonEditor
}
end
#===============================================================================
# Regional Dexes editor
#===============================================================================
@@ -1261,8 +1246,6 @@ def pbEvoFamiliesToStrings
return ret
end
#===============================================================================
# Battle animations rearranger
#===============================================================================

View File

@@ -1,3 +1,6 @@
#===============================================================================
#
#===============================================================================
def pbGetLegalMoves(species)
species_data = GameData::Species.get(species)
moves = []
@@ -125,7 +128,6 @@ def pbChooseFromGameDataList(game_data, default = nil)
return pbChooseList(commands, default, nil, -1)
end
# Displays a list of all Pokémon species, and returns the ID of the species
# selected (or nil if the selection was canceled). "default", if specified, is
# the ID of the species to initially select. Pressing Input::ACTION will toggle
@@ -239,8 +241,6 @@ def pbChooseBallList(defaultMoveID = nil)
return (ret >= 0) ? commands[ret][0] : defaultMoveID
end
#===============================================================================
# General list methods
#===============================================================================

View File

@@ -1,6 +1,6 @@
################################################################################
#===============================================================================
# Controls
################################################################################
#===============================================================================
class Window_Menu < Window_CommandPokemon
def initialize(commands, x, y)
tempbitmap = Bitmap.new(32, 32)
@@ -40,11 +40,9 @@ class Window_Menu < Window_CommandPokemon
end
end
################################################################################
#===============================================================================
# Clipboard
################################################################################
#===============================================================================
module Clipboard
@data = nil
@typekey = ""
@@ -64,11 +62,9 @@ module Clipboard
end
end
################################################################################
#===============================================================================
# Collision testing
################################################################################
#===============================================================================
class Rect < Object
def contains(x, y)
return x >= self.x && x < self.x + self.width &&
@@ -76,8 +72,9 @@ class Rect < Object
end
end
#===============================================================================
#
#===============================================================================
def pbSpriteHitTest(sprite, x, y, usealpha = true, wholecanvas = false)
return false if !sprite || sprite.disposed?
return false if !sprite.bitmap
@@ -158,11 +155,9 @@ def pbTrackPopupMenu(commands)
return -1
end
################################################################################
#===============================================================================
# Sprite sheet scrolling bar
################################################################################
#===============================================================================
class AnimationWindow < Sprite
attr_reader :animbitmap
attr_reader :start
@@ -298,8 +293,9 @@ class AnimationWindow < Sprite
end
end
#===============================================================================
#
#===============================================================================
class CanvasAnimationWindow < AnimationWindow
def animbitmap
return @canvas.animbitmap
@@ -311,33 +307,31 @@ class CanvasAnimationWindow < AnimationWindow
end
end
################################################################################
#===============================================================================
# Cel sprite
################################################################################
#===============================================================================
class InvalidatableSprite < Sprite
def initialize(viewport = nil)
super(viewport)
@invalid = false
end
# Marks that the control must be redrawn to reflect current logic.
# Marks that the control must be redrawn to reflect current logic.
def invalidate
@invalid = true
end
# Determines whether the control is invalid
# Determines whether the control is invalid
def invalid?
return @invalid
end
# Marks that the control is valid. Normally called only by repaint.
# Marks that the control is valid. Normally called only by repaint.
def validate
@invalid = false
end
# Redraws the sprite only if it is invalid, and then revalidates the sprite
# Redraws the sprite only if it is invalid, and then revalidates the sprite
def repaint
if self.invalid?
refresh
@@ -345,14 +339,15 @@ class InvalidatableSprite < Sprite
end
end
# Redraws the sprite. This method should not check whether
# the sprite is invalid, to allow it to be explicitly called.
# Redraws the sprite. This method should not check whether
# the sprite is invalid, to allow it to be explicitly called.
def refresh
end
end
#===============================================================================
#
#===============================================================================
class SpriteFrame < InvalidatableSprite
attr_reader :id
attr_reader :locked
@@ -419,11 +414,9 @@ class SpriteFrame < InvalidatableSprite
end
end
################################################################################
#===============================================================================
# Canvas
################################################################################
#===============================================================================
class AnimationCanvas < Sprite
attr_reader :viewport
attr_reader :sprites
@@ -947,11 +940,9 @@ class AnimationCanvas < Sprite
end
end
################################################################################
#===============================================================================
# Window classes
################################################################################
#===============================================================================
class BitmapDisplayWindow < SpriteWindow_Base
attr_reader :bitmapname
attr_reader :hue
@@ -1001,8 +992,9 @@ class BitmapDisplayWindow < SpriteWindow_Base
end
end
#===============================================================================
#
#===============================================================================
class AnimationNameWindow
def initialize(canvas, x, y, width, height, viewport = nil)
@canvas = canvas

View File

@@ -1,3 +1,6 @@
#===============================================================================
#
#===============================================================================
module ShadowText
def shadowtext(bitmap, x, y, w, h, t, disabled = false, align = 0)
width = bitmap.text_size(t).width
@@ -13,8 +16,9 @@ module ShadowText
end
end
#===============================================================================
#
#===============================================================================
class UIControl
include ShadowText
attr_accessor :bitmap
@@ -90,8 +94,9 @@ class UIControl
end
end
#===============================================================================
#
#===============================================================================
class Label < UIControl
def text=(value)
self.label = value
@@ -106,8 +111,9 @@ class Label < UIControl
end
end
#===============================================================================
#
#===============================================================================
class Button < UIControl
attr_accessor :label
@@ -155,8 +161,9 @@ class Button < UIControl
end
end
#===============================================================================
#
#===============================================================================
class Checkbox < Button
attr_reader :checked
@@ -210,8 +217,9 @@ class Checkbox < Button
end
end
#===============================================================================
#
#===============================================================================
class TextField < UIControl
attr_accessor :label
attr_reader :text
@@ -340,8 +348,9 @@ class TextField < UIControl
end
end
#===============================================================================
#
#===============================================================================
class Slider < UIControl
attr_reader :minvalue
attr_reader :maxvalue
@@ -453,8 +462,9 @@ class Slider < UIControl
end
end
#===============================================================================
#
#===============================================================================
class OptionalSlider < Slider
def initialize(label, minvalue, maxvalue, curvalue)
@slider = Slider.new(label, minvalue, maxvalue, curvalue)
@@ -543,8 +553,9 @@ class OptionalSlider < Slider
end
end
#===============================================================================
#
#===============================================================================
class ArrayCountSlider < Slider
def maxvalue
return @array.length - 1
@@ -556,8 +567,9 @@ class ArrayCountSlider < Slider
end
end
#===============================================================================
#
#===============================================================================
class FrameCountSlider < Slider
def maxvalue
return @canvas.animation.length
@@ -569,8 +581,9 @@ class FrameCountSlider < Slider
end
end
#===============================================================================
#
#===============================================================================
class FrameCountButton < Button
def label
return _INTL("Total Frames: {1}", @canvas.animation.length)
@@ -582,8 +595,9 @@ class FrameCountButton < Button
end
end
#===============================================================================
#
#===============================================================================
class TextSlider < UIControl
attr_reader :minvalue
attr_reader :maxvalue
@@ -701,8 +715,9 @@ class TextSlider < UIControl
end
end
#===============================================================================
#
#===============================================================================
class OptionalTextSlider < TextSlider
def initialize(label, options, curval)
@slider = TextSlider.new(label, options, curval)
@@ -791,7 +806,9 @@ class OptionalTextSlider < TextSlider
end
end
#===============================================================================
#
#===============================================================================
class ControlWindow < SpriteWindow_Base
attr_reader :controls

View File

@@ -1,6 +1,6 @@
################################################################################
#===============================================================================
# Paths and interpolation
################################################################################
#===============================================================================
class ControlPointSprite < Sprite
attr_accessor :dragging
@@ -48,8 +48,9 @@ class ControlPointSprite < Sprite
end
end
#===============================================================================
#
#===============================================================================
class PointSprite < Sprite
def initialize(x, y, viewport = nil)
super(viewport)
@@ -65,8 +66,9 @@ class PointSprite < Sprite
end
end
#===============================================================================
#
#===============================================================================
class PointPath
include Enumerable
@@ -180,8 +182,9 @@ class PointPath
end
end
#===============================================================================
#
#===============================================================================
def catmullRom(p1, p2, p3, p4, t)
# p1=prevPoint, p2=startPoint, p3=endPoint, p4=nextPoint, t is from 0 through 1
t2 = t * t

View File

@@ -1,6 +1,6 @@
################################################################################
#===============================================================================
# Mini battle scene
################################################################################
#===============================================================================
class MiniBattler
attr_accessor :index
attr_accessor :pokemon
@@ -8,8 +8,9 @@ class MiniBattler
def initialize(index); self.index = index; end
end
#===============================================================================
#
#===============================================================================
class MiniBattle
attr_accessor :battlers
@@ -19,11 +20,9 @@ class MiniBattle
end
end
################################################################################
#===============================================================================
# Pop-up menus for buttons in bottom menu
################################################################################
#===============================================================================
def pbSelectAnim(canvas, animwin)
animfiles = []
pbRgssChdir(File.join("Graphics", "Animations")) {
@@ -182,9 +181,9 @@ def pbAnimList(animations, canvas, animwin)
cmdwin.dispose
end
################################################################################
#===============================================================================
# Pop-up menus for individual cels
################################################################################
#===============================================================================
def pbChooseNum(cel)
ret = cel
sliderwin2 = ControlWindow.new(0, 0, 320, 32 * 5)
@@ -370,9 +369,9 @@ def pbCellProperties(canvas)
return
end
################################################################################
#===============================================================================
# Pop-up menus for buttons in right hand menu
################################################################################
#===============================================================================
def pbTimingList(canvas)
commands = []
cmdNewSound = -1
@@ -957,9 +956,9 @@ def pbAnimEditorHelpWindow
cmdwin.dispose
end
################################################################################
#===============================================================================
# Main
################################################################################
#===============================================================================
def animationEditorMain(animation)
viewport = Viewport.new(0, 0, Settings::SCREEN_WIDTH + 288, Settings::SCREEN_HEIGHT + 288)
viewport.z = 99999
@@ -1172,9 +1171,9 @@ def animationEditorMain(animation)
RPG::Cache.clear
end
################################################################################
#===============================================================================
# Start
################################################################################
#===============================================================================
def pbAnimationEditor
pbBGMStop
animation = pbLoadBattleAnimations

View File

@@ -12,8 +12,9 @@ module UndefinedProperty
end
end
#===============================================================================
#
#===============================================================================
module ReadOnlyProperty
def self.set(_settingname, oldsetting)
pbMessage(_INTL("This property cannot be edited."))
@@ -25,8 +26,9 @@ module ReadOnlyProperty
end
end
#===============================================================================
#
#===============================================================================
class UIntProperty
def initialize(maxdigits)
@maxdigits = maxdigits
@@ -48,8 +50,9 @@ class UIntProperty
end
end
#===============================================================================
#
#===============================================================================
class LimitProperty
def initialize(maxvalue)
@maxvalue = maxvalue
@@ -72,8 +75,9 @@ class LimitProperty
end
end
#===============================================================================
#
#===============================================================================
class LimitProperty2
def initialize(maxvalue)
@maxvalue = maxvalue
@@ -98,8 +102,9 @@ class LimitProperty2
end
end
#===============================================================================
#
#===============================================================================
class NonzeroLimitProperty
def initialize(maxvalue)
@maxvalue = maxvalue
@@ -122,8 +127,9 @@ class NonzeroLimitProperty
end
end
#===============================================================================
#
#===============================================================================
module BooleanProperty
def self.set(settingname, _oldsetting)
return pbConfirmMessage(_INTL("Enable the setting {1}?", settingname)) ? true : false
@@ -134,8 +140,9 @@ module BooleanProperty
end
end
#===============================================================================
#
#===============================================================================
module BooleanProperty2
def self.set(_settingname, _oldsetting)
ret = pbShowCommands(nil, [_INTL("True"), _INTL("False")], -1)
@@ -151,8 +158,9 @@ module BooleanProperty2
end
end
#===============================================================================
#
#===============================================================================
module StringProperty
def self.set(settingname, oldsetting)
return pbMessageFreeText(_INTL("Set the value for {1}.", settingname),
@@ -164,8 +172,9 @@ module StringProperty
end
end
#===============================================================================
#
#===============================================================================
class LimitStringProperty
def initialize(limit)
@limit = limit
@@ -181,8 +190,9 @@ class LimitStringProperty
end
end
#===============================================================================
#
#===============================================================================
class EnumProperty
def initialize(values)
@values = values
@@ -207,9 +217,9 @@ class EnumProperty
end
end
#===============================================================================
# Unused
#===============================================================================
class EnumProperty2
def initialize(value)
@module = value
@@ -234,8 +244,9 @@ class EnumProperty2
end
end
#===============================================================================
#
#===============================================================================
class StringListProperty
def self.set(_setting_name, old_setting)
old_setting = [] if !old_setting
@@ -324,8 +335,9 @@ class StringListProperty
end
end
#===============================================================================
#
#===============================================================================
class GameDataProperty
def initialize(value)
raise _INTL("Couldn't find class {1} in module GameData.", value.to_s) if !GameData.const_defined?(value.to_sym)
@@ -355,8 +367,9 @@ class GameDataProperty
end
end
#===============================================================================
#
#===============================================================================
module BGMProperty
def self.set(settingname, oldsetting)
chosenmap = pbListScreen(settingname, MusicFileLister.new(true, oldsetting))
@@ -368,8 +381,9 @@ module BGMProperty
end
end
#===============================================================================
#
#===============================================================================
module MEProperty
def self.set(settingname, oldsetting)
chosenmap = pbListScreen(settingname, MusicFileLister.new(false, oldsetting))
@@ -381,8 +395,9 @@ module MEProperty
end
end
#===============================================================================
#
#===============================================================================
module WindowskinProperty
def self.set(settingname, oldsetting)
chosenmap = pbListScreen(settingname, GraphicsLister.new("Graphics/Windowskins/", oldsetting))
@@ -394,8 +409,9 @@ module WindowskinProperty
end
end
#===============================================================================
#
#===============================================================================
module TrainerTypeProperty
def self.set(settingname, oldsetting)
chosenmap = pbListScreen(settingname, TrainerTypeLister.new(0, false))
@@ -407,8 +423,9 @@ module TrainerTypeProperty
end
end
#===============================================================================
#
#===============================================================================
module SpeciesProperty
def self.set(_settingname, oldsetting)
ret = pbChooseSpeciesList(oldsetting || nil)
@@ -424,8 +441,9 @@ module SpeciesProperty
end
end
#===============================================================================
#
#===============================================================================
class SpeciesFormProperty
def initialize(default_value)
@default_value = default_value
@@ -453,8 +471,9 @@ class SpeciesFormProperty
end
end
#===============================================================================
#
#===============================================================================
module TypeProperty
def self.set(_settingname, oldsetting)
ret = pbChooseTypeList(oldsetting || nil)
@@ -470,8 +489,9 @@ module TypeProperty
end
end
#===============================================================================
#
#===============================================================================
module TypesProperty
def self.set(_settingname, oldsetting)
ret = oldsetting.clone
@@ -501,8 +521,9 @@ module TypesProperty
end
end
#===============================================================================
#
#===============================================================================
module MoveProperty
def self.set(_settingname, oldsetting)
ret = pbChooseMoveList(oldsetting || nil)
@@ -518,8 +539,9 @@ module MoveProperty
end
end
#===============================================================================
#
#===============================================================================
class MovePropertyForSpecies
def initialize(pokemondata)
@pokemondata = pokemondata
@@ -539,8 +561,9 @@ class MovePropertyForSpecies
end
end
#===============================================================================
#
#===============================================================================
module GenderProperty
def self.set(_settingname, _oldsetting)
ret = pbShowCommands(nil, [_INTL("Male"), _INTL("Female")], -1)
@@ -557,8 +580,9 @@ module GenderProperty
end
end
#===============================================================================
#
#===============================================================================
module ItemProperty
def self.set(_settingname, oldsetting)
ret = pbChooseItemList((oldsetting) ? oldsetting : nil)
@@ -574,8 +598,9 @@ module ItemProperty
end
end
#===============================================================================
#
#===============================================================================
class IVsProperty
def initialize(limit)
@limit = limit
@@ -614,8 +639,9 @@ class IVsProperty
end
end
#===============================================================================
#
#===============================================================================
class EVsProperty
def initialize(limit)
@limit = limit
@@ -660,8 +686,9 @@ class EVsProperty
end
end
#===============================================================================
#
#===============================================================================
class BallProperty
def initialize(pokemondata)
@pokemondata = pokemondata
@@ -680,8 +707,9 @@ class BallProperty
end
end
#===============================================================================
#
#===============================================================================
module CharacterProperty
def self.set(settingname, oldsetting)
chosenmap = pbListScreen(settingname, GraphicsLister.new("Graphics/Characters/", oldsetting))
@@ -693,8 +721,9 @@ module CharacterProperty
end
end
#===============================================================================
#
#===============================================================================
module MapSizeProperty
def self.set(settingname, oldsetting)
oldsetting = [0, ""] if !oldsetting
@@ -711,8 +740,6 @@ module MapSizeProperty
end
end
def chooseMapPoint(map, rgnmap = false)
viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
viewport.z = 99999
@@ -745,8 +772,9 @@ def chooseMapPoint(map, rgnmap = false)
return ret
end
#===============================================================================
#
#===============================================================================
module MapCoordsProperty
def self.set(settingname, oldsetting)
chosenmap = pbListScreen(settingname, MapLister.new((oldsetting) ? oldsetting[0] : 0))
@@ -763,8 +791,9 @@ module MapCoordsProperty
end
end
#===============================================================================
#
#===============================================================================
module MapCoordsFacingProperty
def self.set(settingname, oldsetting)
chosenmap = pbListScreen(settingname, MapLister.new((oldsetting) ? oldsetting[0] : 0))
@@ -787,8 +816,9 @@ module MapCoordsFacingProperty
end
end
#===============================================================================
#
#===============================================================================
module RegionMapCoordsProperty
def self.set(_settingname, oldsetting)
regions = self.getMapNameList
@@ -821,8 +851,9 @@ module RegionMapCoordsProperty
end
end
#===============================================================================
#
#===============================================================================
module WeatherEffectProperty
def self.set(_settingname, oldsetting)
oldsetting = [:None, 100] if !oldsetting
@@ -848,8 +879,9 @@ module WeatherEffectProperty
end
end
#===============================================================================
#
#===============================================================================
module MapProperty
def self.set(settingname, oldsetting)
chosenmap = pbListScreen(settingname, MapLister.new(oldsetting || 0))
@@ -865,8 +897,9 @@ module MapProperty
end
end
#===============================================================================
#
#===============================================================================
module ItemNameProperty
def self.set(settingname, oldsetting)
return pbMessageFreeText(_INTL("Set the value for {1}.", settingname),
@@ -882,8 +915,9 @@ module ItemNameProperty
end
end
#===============================================================================
#
#===============================================================================
module PocketProperty
def self.set(_settingname, oldsetting)
commands = Settings.bag_pocket_names.clone
@@ -901,8 +935,9 @@ module PocketProperty
end
end
#===============================================================================
#
#===============================================================================
module BaseStatsProperty
def self.set(settingname, oldsetting)
return oldsetting if !oldsetting
@@ -935,8 +970,9 @@ module BaseStatsProperty
end
end
#===============================================================================
#
#===============================================================================
module EffortValuesProperty
def self.set(settingname, oldsetting)
return oldsetting if !oldsetting
@@ -977,8 +1013,9 @@ module EffortValuesProperty
end
end
#===============================================================================
#
#===============================================================================
module AbilityProperty
def self.set(_settingname, oldsetting)
ret = pbChooseAbilityList((oldsetting) ? oldsetting : nil)
@@ -994,8 +1031,9 @@ module AbilityProperty
end
end
#===============================================================================
#
#===============================================================================
class GameDataPoolProperty
def initialize(game_data, allow_multiple = true, auto_sort = false)
if !GameData.const_defined?(game_data.to_sym)
@@ -1113,32 +1151,36 @@ class GameDataPoolProperty
end
end
#===============================================================================
#
#===============================================================================
class EggMovesProperty < GameDataPoolProperty
def initialize
super(:Move, false, true)
end
end
#===============================================================================
#
#===============================================================================
class EggGroupsProperty < GameDataPoolProperty
def initialize
super(:EggGroup, false, false)
end
end
#===============================================================================
#
#===============================================================================
class AbilitiesProperty < GameDataPoolProperty
def initialize
super(:Ability, false, false)
end
end
#===============================================================================
#
#===============================================================================
module LevelUpMovesProperty
def self.set(_settingname, oldsetting)
# Get all moves in move pool
@@ -1289,8 +1331,9 @@ module LevelUpMovesProperty
end
end
#===============================================================================
#
#===============================================================================
class EvolutionsProperty
def initialize
@methods = []
@@ -1517,14 +1560,15 @@ class EvolutionsProperty
ret << "," if i > 0
ret << value[i][0].to_s + ","
ret << value[i][1].to_s + ","
ret << value[i][2].to_s if value[i][2] != nil
ret << value[i][2].to_s if value[i][2]
end
return ret
end
end
#===============================================================================
#
#===============================================================================
module EncounterSlotProperty
def self.set(setting_name, data)
max_level = GameData::GrowthRate.max_level
@@ -1571,8 +1615,6 @@ module EncounterSlotProperty
end
end
#===============================================================================
# Core property editor script
#===============================================================================

View File

@@ -38,8 +38,6 @@ def pbWarpToMap
return nil
end
#===============================================================================
# Debug Variables screen
#===============================================================================
@@ -95,8 +93,8 @@ class SpriteWindow_DebugVariables < Window_DrawableCommand
(Kernel.const_defined?(code_parts[0]) rescue false)
val = (eval(code) rescue nil) # Code starts with a class/method name
elsif code_parts[0][0].downcase == code_parts[0][0] &&
!(Interpreter.method_defined?(code_parts[0].to_sym) rescue false) &&
!(Game_Event.method_defined?(code_parts[0].to_sym) rescue false)
!(Interpreter.method_defined?(code_parts[0].to_sym) rescue false) &&
!(Game_Event.method_defined?(code_parts[0].to_sym) rescue false)
val = (eval(code) rescue nil) # Code starts with a method name (that isn't in Interpreter/Game_Event)
end
else
@@ -131,8 +129,9 @@ class SpriteWindow_DebugVariables < Window_DrawableCommand
end
end
#===============================================================================
#
#===============================================================================
def pbDebugSetVariable(id, diff)
$game_variables[id] = 0 if $game_variables[id].nil?
if $game_variables[id].is_a?(Numeric)
@@ -371,8 +370,6 @@ def pbDebugDayCare
cmd_window.dispose
end
#===============================================================================
# Debug roaming Pokémon screen
#===============================================================================
@@ -453,8 +450,9 @@ class SpriteWindow_DebugRoamers < Window_DrawableCommand
end
end
#===============================================================================
#
#===============================================================================
def pbDebugRoamers
viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
viewport.z = 99999
@@ -544,8 +542,6 @@ def pbDebugRoamers
viewport.dispose
end
#===============================================================================
# Battle animations import/export
#===============================================================================
@@ -739,8 +735,6 @@ def pbCheckTileValidity(tile_id, map, tilesets, passages)
return false
end
#===============================================================================
# Pseudo-party screen for editing Pokémon being set up for a wild battle
#===============================================================================

View File

@@ -88,7 +88,7 @@ MenuHandlers.add(:battle_debug_menu, :pokemon_teams, {
if battle.opponent
battle.opponent.each_with_index do |trainer, i|
first_index = foe_party_starts[i]
last_index = (i < foe_party_starts.length - 1) ? foe_party_starts[i + 1] : battle.pbParty(1).length
last_index = (i < foe_party_starts.length - 1) ? foe_party_starts[i + 1] : battle.pbParty(1).length
num_pkmn = last_index - first_index
commands.push(_INTL("Opponent {1}: {2} ({3} Pokémon)", i + 1, trainer.full_name, num_pkmn))
team_indices.push([1, i, first_index])
@@ -99,7 +99,7 @@ MenuHandlers.add(:battle_debug_menu, :pokemon_teams, {
end
battle.player.each_with_index do |trainer, i|
first_index = player_party_starts[i]
last_index = (i < player_party_starts.length - 1) ? player_party_starts[i + 1] : battle.pbParty(0).length
last_index = (i < player_party_starts.length - 1) ? player_party_starts[i + 1] : battle.pbParty(0).length
num_pkmn = last_index - first_index
if i == 0 # Player
commands.push(_INTL("You: {1} ({2} Pokémon)", trainer.full_name, num_pkmn))

View File

@@ -3,164 +3,164 @@
#===============================================================================
module Battle::DebugVariables
BATTLER_EFFECTS = {
PBEffects::AquaRing => { name: "Aqua Ring applies", default: false },
PBEffects::Attract => { name: "Battler that self is attracted to", default: -1 }, # Battler index
PBEffects::BanefulBunker => { name: "Baneful Bunker applies this round", default: false },
PBEffects::AquaRing => {name: "Aqua Ring applies", default: false},
PBEffects::Attract => {name: "Battler that self is attracted to", default: -1}, # Battler index
PBEffects::BanefulBunker => {name: "Baneful Bunker applies this round", default: false},
# PBEffects::BeakBlast - only applies to use of specific move, not suitable for setting via debug
PBEffects::Bide => { name: "Bide number of rounds remaining", default: 0 },
PBEffects::BideDamage => { name: "Bide damage accumulated", default: 0, max: 999 },
PBEffects::BideTarget => { name: "Bide last battler to hurt self", default: -1 }, # Battler index
PBEffects::BurnUp => { name: "Burn Up has removed self's Fire type", default: false },
PBEffects::Charge => { name: "Charge number of rounds remaining", default: 0 },
PBEffects::ChoiceBand => { name: "Move locked into by Choice items", default: nil, type: :move },
PBEffects::Confusion => { name: "Confusion number of rounds remaining", default: 0 },
PBEffects::Bide => {name: "Bide number of rounds remaining", default: 0},
PBEffects::BideDamage => {name: "Bide damage accumulated", default: 0, max: 999},
PBEffects::BideTarget => {name: "Bide last battler to hurt self", default: -1}, # Battler index
PBEffects::BurnUp => {name: "Burn Up has removed self's Fire type", default: false},
PBEffects::Charge => {name: "Charge number of rounds remaining", default: 0},
PBEffects::ChoiceBand => {name: "Move locked into by Choice items", default: nil, type: :move},
PBEffects::Confusion => {name: "Confusion number of rounds remaining", default: 0},
# PBEffects::Counter - not suitable for setting via debug
# PBEffects::CounterTarget - not suitable for setting via debug
PBEffects::Curse => { name: "Curse damaging applies", default: false },
PBEffects::Curse => {name: "Curse damaging applies", default: false},
# PBEffects::Dancer - only used while Dancer is running, not suitable for setting via debug
PBEffects::DefenseCurl => { name: "Used Defense Curl", default: false },
PBEffects::DefenseCurl => {name: "Used Defense Curl", default: false},
# PBEffects::DestinyBond - not suitable for setting via debug
# PBEffects::DestinyBondPrevious - not suitable for setting via debug
# PBEffects::DestinyBondTarget - not suitable for setting via debug
PBEffects::Disable => { name: "Disable number of rounds remaining", default: 0 },
PBEffects::DisableMove => { name: "Disabled move", default: nil, type: :move },
PBEffects::Electrify => { name: "Electrify making moves Electric", default: false },
PBEffects::Embargo => { name: "Embargo number of rounds remaining", default: 0 },
PBEffects::Encore => { name: "Encore number of rounds remaining", default: 0 },
PBEffects::EncoreMove => { name: "Encored move", default: nil, type: :move },
PBEffects::Endure => { name: "Endures all lethal damage this round", default: false },
PBEffects::Disable => {name: "Disable number of rounds remaining", default: 0},
PBEffects::DisableMove => {name: "Disabled move", default: nil, type: :move},
PBEffects::Electrify => {name: "Electrify making moves Electric", default: false},
PBEffects::Embargo => {name: "Embargo number of rounds remaining", default: 0},
PBEffects::Encore => {name: "Encore number of rounds remaining", default: 0},
PBEffects::EncoreMove => {name: "Encored move", default: nil, type: :move},
PBEffects::Endure => {name: "Endures all lethal damage this round", default: false},
# PBEffects::FirstPledge - only applies to use of specific move, not suitable for setting via debug
PBEffects::FlashFire => { name: "Flash Fire powering up Fire moves", default: false },
PBEffects::Flinch => { name: "Will flinch this round", default: false },
PBEffects::FocusEnergy => { name: "Focus Energy critical hit stages (0-4)", default: 0, max: 4 },
PBEffects::FlashFire => {name: "Flash Fire powering up Fire moves", default: false},
PBEffects::Flinch => {name: "Will flinch this round", default: false},
PBEffects::FocusEnergy => {name: "Focus Energy critical hit stages (0-4)", default: 0, max: 4},
# PBEffects::FocusPunch - only applies to use of specific move, not suitable for setting via debug
PBEffects::FollowMe => { name: "Follow Me drawing in attacks (if 1+)", default: 0 }, # Order of use, lowest takes priority
PBEffects::RagePowder => { name: "Rage Powder applies (use with Follow Me)", default: false },
PBEffects::Foresight => { name: "Foresight applies (Ghost loses immunities)", default: false },
PBEffects::FuryCutter => { name: "Fury Cutter power multiplier 2**x (0-4)", default: 0, max: 4 },
PBEffects::GastroAcid => { name: "Gastro Acid is negating self's ability", default: false },
PBEffects::FollowMe => {name: "Follow Me drawing in attacks (if 1+)", default: 0}, # Order of use, lowest takes priority
PBEffects::RagePowder => {name: "Rage Powder applies (use with Follow Me)", default: false},
PBEffects::Foresight => {name: "Foresight applies (Ghost loses immunities)", default: false},
PBEffects::FuryCutter => {name: "Fury Cutter power multiplier 2**x (0-4)", default: 0, max: 4},
PBEffects::GastroAcid => {name: "Gastro Acid is negating self's ability", default: false},
# PBEffects::GemConsumed - only applies during use of move, not suitable for setting via debug
PBEffects::Grudge => { name: "Grudge will apply if self faints", default: false },
PBEffects::HealBlock => { name: "Heal Block number of rounds remaining", default: 0 },
PBEffects::HelpingHand => { name: "Helping Hand will power up self's move", default: false },
PBEffects::HyperBeam => { name: "Hyper Beam recharge rounds remaining", default: 0 },
PBEffects::Grudge => {name: "Grudge will apply if self faints", default: false},
PBEffects::HealBlock => {name: "Heal Block number of rounds remaining", default: 0},
PBEffects::HelpingHand => {name: "Helping Hand will power up self's move", default: false},
PBEffects::HyperBeam => {name: "Hyper Beam recharge rounds remaining", default: 0},
# PBEffects::Illusion - is a Pokémon object, too complex to be worth bothering with
PBEffects::Imprison => { name: "Imprison disables others' moves known by self", default: false },
PBEffects::Ingrain => { name: "Ingrain applies", default: false },
PBEffects::Imprison => {name: "Imprison disables others' moves known by self", default: false},
PBEffects::Ingrain => {name: "Ingrain applies", default: false},
# PBEffects::Instruct - only used while Instruct is running, not suitable for setting via debug
# PBEffects::Instructed - only used while Instruct is running, not suitable for setting via debug
PBEffects::JawLock => { name: "Battler trapping self with Jaw Lock", default: -1 }, # Battler index
PBEffects::KingsShield => { name: "King's Shield applies this round", default: false },
PBEffects::LaserFocus => { name: "Laser Focus certain critial hit duration", default: 0 },
PBEffects::LeechSeed => { name: "Battler that used Leech Seed on self", default: -1 }, # Battler index
PBEffects::LockOn => { name: "Lock-On number of rounds remaining", default: 0 },
PBEffects::LockOnPos => { name: "Battler that self is targeting with Lock-On", default: -1 }, # Battler index
PBEffects::JawLock => {name: "Battler trapping self with Jaw Lock", default: -1}, # Battler index
PBEffects::KingsShield => {name: "King's Shield applies this round", default: false},
PBEffects::LaserFocus => {name: "Laser Focus certain critial hit duration", default: 0},
PBEffects::LeechSeed => {name: "Battler that used Leech Seed on self", default: -1}, # Battler index
PBEffects::LockOn => {name: "Lock-On number of rounds remaining", default: 0},
PBEffects::LockOnPos => {name: "Battler that self is targeting with Lock-On", default: -1}, # Battler index
# PBEffects::MagicBounce - only applies during use of move, not suitable for setting via debug
# PBEffects::MagicCoat - only applies to use of specific move, not suitable for setting via debug
PBEffects::MagnetRise => { name: "Magnet Rise number of rounds remaining", default: 0 },
PBEffects::MeanLook => { name: "Battler trapping self with Mean Look, etc.", default: -1 }, # Battler index
PBEffects::MagnetRise => {name: "Magnet Rise number of rounds remaining", default: 0},
PBEffects::MeanLook => {name: "Battler trapping self with Mean Look, etc.", default: -1}, # Battler index
# PBEffects::MeFirst - only applies to use of specific move, not suitable for setting via debug
PBEffects::Metronome => { name: "Metronome item power multiplier 1 + 0.2*x (0-5)", default: 0, max: 5 },
PBEffects::MicleBerry => { name: "Micle Berry boosting next move's accuracy", default: false },
PBEffects::Minimize => { name: "Used Minimize", default: false },
PBEffects::MiracleEye => { name: "Miracle Eye applies (Dark loses immunities)", default: false },
PBEffects::Metronome => {name: "Metronome item power multiplier 1 + 0.2*x (0-5)", default: 0, max: 5},
PBEffects::MicleBerry => {name: "Micle Berry boosting next move's accuracy", default: false},
PBEffects::Minimize => {name: "Used Minimize", default: false},
PBEffects::MiracleEye => {name: "Miracle Eye applies (Dark loses immunities)", default: false},
# PBEffects::MirrorCoat - not suitable for setting via debug
# PBEffects::MirrorCoatTarget - not suitable for setting via debug
# PBEffects::MoveNext - not suitable for setting via debug
PBEffects::MudSport => { name: "Used Mud Sport (Gen 5 and older)", default: false },
PBEffects::Nightmare => { name: "Taking Nightmare damage", default: false },
PBEffects::NoRetreat => { name: "No Retreat trapping self in battle", default: false },
PBEffects::Obstruct => { name: "Obstruct applies this round", default: false },
PBEffects::Octolock => { name: "Battler trapping self with Octolock", default: -1 }, # Battler index
PBEffects::Outrage => { name: "Outrage number of rounds remaining", default: 0 },
PBEffects::MudSport => {name: "Used Mud Sport (Gen 5 and older)", default: false},
PBEffects::Nightmare => {name: "Taking Nightmare damage", default: false},
PBEffects::NoRetreat => {name: "No Retreat trapping self in battle", default: false},
PBEffects::Obstruct => {name: "Obstruct applies this round", default: false},
PBEffects::Octolock => {name: "Battler trapping self with Octolock", default: -1}, # Battler index
PBEffects::Outrage => {name: "Outrage number of rounds remaining", default: 0},
# PBEffects::ParentalBond - only applies during use of move, not suitable for setting via debug
PBEffects::PerishSong => { name: "Perish Song number of rounds remaining", default: 0 },
PBEffects::PerishSongUser => { name: "Battler that used Perish Song on self", default: -1 }, # Battler index
PBEffects::PickupItem => { name: "Item retrievable by Pickup", default: nil, type: :item },
PBEffects::PickupUse => { name: "Pickup item consumed time (higher=more recent)", default: 0 },
PBEffects::Pinch => { name: "(Battle Palace) Behavior changed at <50% HP", default: false },
PBEffects::Powder => { name: "Powder will explode self's Fire move this round", default: false },
PBEffects::PerishSong => {name: "Perish Song number of rounds remaining", default: 0},
PBEffects::PerishSongUser => {name: "Battler that used Perish Song on self", default: -1}, # Battler index
PBEffects::PickupItem => {name: "Item retrievable by Pickup", default: nil, type: :item},
PBEffects::PickupUse => {name: "Pickup item consumed time (higher=more recent)", default: 0},
PBEffects::Pinch => {name: "(Battle Palace) Behavior changed at <50% HP", default: false},
PBEffects::Powder => {name: "Powder will explode self's Fire move this round", default: false},
# PBEffects::PowerTrick - doesn't actually swap the stats therefore does nothing, not suitable for setting via debug
# PBEffects::Prankster - not suitable for setting via debug
# PBEffects::PriorityAbility - not suitable for setting via debug
# PBEffects::PriorityItem - not suitable for setting via debug
PBEffects::Protect => { name: "Protect applies this round", default: false },
PBEffects::ProtectRate => { name: "Protect success chance 1/x", default: 1, max: 999 },
PBEffects::Protect => {name: "Protect applies this round", default: false},
PBEffects::ProtectRate => {name: "Protect success chance 1/x", default: 1, max: 999},
# PBEffects::Quash - not suitable for setting via debug
# PBEffects::Rage - only applies to use of specific move, not suitable for setting via debug
PBEffects::Rollout => { name: "Rollout rounds remaining (lower=stronger)", default: 0 },
PBEffects::Roost => { name: "Roost removing Flying type this round", default: false },
PBEffects::Rollout => {name: "Rollout rounds remaining (lower=stronger)", default: 0},
PBEffects::Roost => {name: "Roost removing Flying type this round", default: false},
# PBEffects::ShellTrap - only applies to use of specific move, not suitable for setting via debug
# PBEffects::SkyDrop - only applies to use of specific move, not suitable for setting via debug
PBEffects::SlowStart => { name: "Slow Start rounds remaining", default: 0 },
PBEffects::SmackDown => { name: "Smack Down is grounding self", default: false },
PBEffects::SlowStart => {name: "Slow Start rounds remaining", default: 0},
PBEffects::SmackDown => {name: "Smack Down is grounding self", default: false},
# PBEffects::Snatch - only applies to use of specific move, not suitable for setting via debug
PBEffects::SpikyShield => { name: "Spiky Shield applies this round", default: false },
PBEffects::Spotlight => { name: "Spotlight drawing in attacks (if 1+)", default: 0 },
PBEffects::Stockpile => { name: "Stockpile count (0-3)", default: 0, max: 3 },
PBEffects::StockpileDef => { name: "Def stages gained by Stockpile (0-12)", default: 0, max: 12 },
PBEffects::StockpileSpDef => { name: "Sp. Def stages gained by Stockpile (0-12)", default: 0, max: 12 },
PBEffects::Substitute => { name: "Substitute's HP", default: 0, max: 999 },
PBEffects::TarShot => { name: "Tar Shot weakening self to Fire", default: false },
PBEffects::Taunt => { name: "Taunt number of rounds remaining", default: 0 },
PBEffects::Telekinesis => { name: "Telekinesis number of rounds remaining", default: 0 },
PBEffects::ThroatChop => { name: "Throat Chop number of rounds remaining", default: 0 },
PBEffects::Torment => { name: "Torment preventing repeating moves", default: false },
PBEffects::SpikyShield => {name: "Spiky Shield applies this round", default: false},
PBEffects::Spotlight => {name: "Spotlight drawing in attacks (if 1+)", default: 0},
PBEffects::Stockpile => {name: "Stockpile count (0-3)", default: 0, max: 3},
PBEffects::StockpileDef => {name: "Def stages gained by Stockpile (0-12)", default: 0, max: 12},
PBEffects::StockpileSpDef => {name: "Sp. Def stages gained by Stockpile (0-12)", default: 0, max: 12},
PBEffects::Substitute => {name: "Substitute's HP", default: 0, max: 999},
PBEffects::TarShot => {name: "Tar Shot weakening self to Fire", default: false},
PBEffects::Taunt => {name: "Taunt number of rounds remaining", default: 0},
PBEffects::Telekinesis => {name: "Telekinesis number of rounds remaining", default: 0},
PBEffects::ThroatChop => {name: "Throat Chop number of rounds remaining", default: 0},
PBEffects::Torment => {name: "Torment preventing repeating moves", default: false},
# PBEffects::Toxic - set elsewhere
# PBEffects::Transform - too complex to be worth bothering with
# PBEffects::TransformSpecies - too complex to be worth bothering with
PBEffects::Trapping => { name: "Trapping number of rounds remaining", default: 0 },
PBEffects::TrappingMove => { name: "Move that is trapping self", default: nil, type: :move },
PBEffects::TrappingUser => { name: "Battler trapping self (for Binding Band)", default: -1 }, # Battler index
PBEffects::Truant => { name: "Truant will loaf around this round", default: false },
PBEffects::Trapping => {name: "Trapping number of rounds remaining", default: 0},
PBEffects::TrappingMove => {name: "Move that is trapping self", default: nil, type: :move},
PBEffects::TrappingUser => {name: "Battler trapping self (for Binding Band)", default: -1}, # Battler index
PBEffects::Truant => {name: "Truant will loaf around this round", default: false},
# PBEffects::TwoTurnAttack - only applies to use of specific moves, not suitable for setting via debug
# PBEffects::ExtraType - set elsewhere
PBEffects::Unburden => { name: "Self lost its item (for Unburden)", default: false },
PBEffects::Uproar => { name: "Uproar number of rounds remaining", default: 0 },
PBEffects::WaterSport => { name: "Used Water Sport (Gen 5 and older)", default: false },
PBEffects::WeightChange => { name: "Weight change +0.1*x kg", default: 0, min: -99_999, max: 99_999 },
PBEffects::Yawn => { name: "Yawn rounds remaining until falling asleep", default: 0 }
PBEffects::Unburden => {name: "Self lost its item (for Unburden)", default: false},
PBEffects::Uproar => {name: "Uproar number of rounds remaining", default: 0},
PBEffects::WaterSport => {name: "Used Water Sport (Gen 5 and older)", default: false},
PBEffects::WeightChange => {name: "Weight change +0.1*x kg", default: 0, min: -99_999, max: 99_999},
PBEffects::Yawn => {name: "Yawn rounds remaining until falling asleep", default: 0}
}
SIDE_EFFECTS = {
PBEffects::AuroraVeil => { name: "Aurora Veil duration", default: 0 },
PBEffects::CraftyShield => { name: "Crafty Shield applies this round", default: false },
PBEffects::EchoedVoiceCounter => { name: "Echoed Voice rounds used (max. 5)", default: 0, max: 5 },
PBEffects::EchoedVoiceUsed => { name: "Echoed Voice used this round", default: false },
PBEffects::LastRoundFainted => { name: "Round when side's battler last fainted", default: -2 }, # Treated as -1, isn't a battler index
PBEffects::LightScreen => { name: "Light Screen duration", default: 0 },
PBEffects::LuckyChant => { name: "Lucky Chant duration", default: 0 },
PBEffects::MatBlock => { name: "Mat Block applies this round", default: false },
PBEffects::Mist => { name: "Mist duration", default: 0 },
PBEffects::QuickGuard => { name: "Quick Guard applies this round", default: false },
PBEffects::Rainbow => { name: "Rainbow duration", default: 0 },
PBEffects::Reflect => { name: "Reflect duration", default: 0 },
PBEffects::Round => { name: "Round was used this round", default: false },
PBEffects::Safeguard => { name: "Safeguard duration", default: 0 },
PBEffects::SeaOfFire => { name: "Sea Of Fire duration", default: 0 },
PBEffects::Spikes => { name: "Spikes layers (0-3)", default: 0, max: 3 },
PBEffects::StealthRock => { name: "Stealth Rock exists", default: false },
PBEffects::StickyWeb => { name: "Sticky Web exists", default: false },
PBEffects::Swamp => { name: "Swamp duration", default: 0 },
PBEffects::Tailwind => { name: "Tailwind duration", default: 0 },
PBEffects::ToxicSpikes => { name: "Toxic Spikes layers (0-2)", default: 0, max: 2 },
PBEffects::WideGuard => { name: "Wide Guard applies this round", default: false }
PBEffects::AuroraVeil => {name: "Aurora Veil duration", default: 0},
PBEffects::CraftyShield => {name: "Crafty Shield applies this round", default: false},
PBEffects::EchoedVoiceCounter => {name: "Echoed Voice rounds used (max. 5)", default: 0, max: 5},
PBEffects::EchoedVoiceUsed => {name: "Echoed Voice used this round", default: false},
PBEffects::LastRoundFainted => {name: "Round when side's battler last fainted", default: -2}, # Treated as -1, isn't a battler index
PBEffects::LightScreen => {name: "Light Screen duration", default: 0},
PBEffects::LuckyChant => {name: "Lucky Chant duration", default: 0},
PBEffects::MatBlock => {name: "Mat Block applies this round", default: false},
PBEffects::Mist => {name: "Mist duration", default: 0},
PBEffects::QuickGuard => {name: "Quick Guard applies this round", default: false},
PBEffects::Rainbow => {name: "Rainbow duration", default: 0},
PBEffects::Reflect => {name: "Reflect duration", default: 0},
PBEffects::Round => {name: "Round was used this round", default: false},
PBEffects::Safeguard => {name: "Safeguard duration", default: 0},
PBEffects::SeaOfFire => {name: "Sea Of Fire duration", default: 0},
PBEffects::Spikes => {name: "Spikes layers (0-3)", default: 0, max: 3},
PBEffects::StealthRock => {name: "Stealth Rock exists", default: false},
PBEffects::StickyWeb => {name: "Sticky Web exists", default: false},
PBEffects::Swamp => {name: "Swamp duration", default: 0},
PBEffects::Tailwind => {name: "Tailwind duration", default: 0},
PBEffects::ToxicSpikes => {name: "Toxic Spikes layers (0-2)", default: 0, max: 2},
PBEffects::WideGuard => {name: "Wide Guard applies this round", default: false}
}
FIELD_EFFECTS = {
PBEffects::AmuletCoin => { name: "Amulet Coin doubling prize money", default: false },
PBEffects::FairyLock => { name: "Fairy Lock trapping duration", default: 0 },
PBEffects::FusionBolt => { name: "Fusion Bolt was used", default: false },
PBEffects::FusionFlare => { name: "Fusion Flare was used", default: false },
PBEffects::Gravity => { name: "Gravity duration", default: 0 },
PBEffects::HappyHour => { name: "Happy Hour doubling prize money", default: false },
PBEffects::IonDeluge => { name: "Ion Deluge making moves Electric", default: false },
PBEffects::MagicRoom => { name: "Magic Room duration", default: 0 },
PBEffects::MudSportField => { name: "Mud Sport duration (Gen 6+)", default: 0 },
PBEffects::PayDay => { name: "Pay Day additional prize money", default: 0, max: Settings::MAX_MONEY },
PBEffects::TrickRoom => { name: "Trick Room duration", default: 0 },
PBEffects::WaterSportField => { name: "Water Sport duration (Gen 6+)", default: 0 },
PBEffects::WonderRoom => { name: "Wonder Room duration", default: 0 }
PBEffects::AmuletCoin => {name: "Amulet Coin doubling prize money", default: false},
PBEffects::FairyLock => {name: "Fairy Lock trapping duration", default: 0},
PBEffects::FusionBolt => {name: "Fusion Bolt was used", default: false},
PBEffects::FusionFlare => {name: "Fusion Flare was used", default: false},
PBEffects::Gravity => {name: "Gravity duration", default: 0},
PBEffects::HappyHour => {name: "Happy Hour doubling prize money", default: false},
PBEffects::IonDeluge => {name: "Ion Deluge making moves Electric", default: false},
PBEffects::MagicRoom => {name: "Magic Room duration", default: 0},
PBEffects::MudSportField => {name: "Mud Sport duration (Gen 6+)", default: 0},
PBEffects::PayDay => {name: "Pay Day additional prize money", default: 0, max: Settings::MAX_MONEY},
PBEffects::TrickRoom => {name: "Trick Room duration", default: 0},
PBEffects::WaterSportField => {name: "Water Sport duration (Gen 6+)", default: 0},
PBEffects::WonderRoom => {name: "Wonder Room duration", default: 0}
}
POSITION_EFFECTS = {
@@ -168,8 +168,8 @@ module Battle::DebugVariables
# PBEffects::FutureSightMove - too complex to be worth bothering with
# PBEffects::FutureSightUserIndex - too complex to be worth bothering with
# PBEffects::FutureSightUserPartyIndex - too complex to be worth bothering with
PBEffects::HealingWish => { name: "Whether Healing Wish is waiting to apply", default: false },
PBEffects::LunarDance => { name: "Whether Lunar Dance is waiting to apply", default: false }
PBEffects::HealingWish => {name: "Whether Healing Wish is waiting to apply", default: false},
PBEffects::LunarDance => {name: "Whether Lunar Dance is waiting to apply", default: false}
# PBEffects::Wish - too complex to be worth bothering with
# PBEffects::WishAmount - too complex to be worth bothering with
# PBEffects::WishMaker - too complex to be worth bothering with