Applied most Rubocop-suggested layout fixes

This commit is contained in:
Maruno17
2021-12-18 01:56:10 +00:00
parent 5dc64f1709
commit 2480ab0f9e
88 changed files with 839 additions and 783 deletions

View File

@@ -435,8 +435,8 @@ def pbTrainerTypeEditorNew(default_name)
return nil
end
# Choose a gender
gender = pbMessage(_INTL("Is the Trainer male, female or unknown?"), [
_INTL("Male"), _INTL("Female"), _INTL("Unknown")], 0)
gender = pbMessage(_INTL("Is the Trainer male, female or unknown?"),
[_INTL("Male"), _INTL("Female"), _INTL("Unknown")], 0)
# Choose a base money value
params = ChooseNumberParams.new
params.setRange(0, 255)
@@ -564,7 +564,8 @@ def pbTrainerBattleEditor
ret = pbMessage(_INTL("First, define the new trainer's type."), [
_INTL("Use existing type"),
_INTL("Create new type"),
_INTL("Cancel")], 3)
_INTL("Cancel")
], 3)
case ret
when 0
tr_type = pbListScreen(_INTL("TRAINER TYPE"), TrainerTypeLister.new(0, false))
@@ -620,7 +621,7 @@ end
#===============================================================================
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],
@@ -657,7 +658,7 @@ module TrainerPokemonProperty
]
Pokemon::MAX_MOVES.times do |i|
pkmn_properties.push([_INTL("Move {1}", i + 1),
MovePropertyForSpecies.new(oldsetting), _INTL("A move known by the Pokémon. Leave all moves blank (use Z key to delete) for a wild moveset.")])
MovePropertyForSpecies.new(oldsetting), _INTL("A move known by the Pokémon. Leave all moves blank (use Z key to delete) for a wild moveset.")])
end
pkmn_properties.concat([
[_INTL("Ability"), AbilityProperty, _INTL("Ability of the Pokémon. Overrides the ability index.")],
@@ -766,7 +767,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
@@ -815,7 +816,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|
data.push(metadata.property_from_string(property[0]))

View File

@@ -167,6 +167,7 @@ class AnimationWindow < SpriteWrapper
attr_reader :animbitmap
attr_reader :start
attr_reader :selected
NUMFRAMES=5
def initialize(x,y,width,height,viewport=nil)
@@ -358,6 +359,7 @@ class SpriteFrame < InvalidatableSprite
attr_reader :locked
attr_reader :selected
attr_reader :sprite
NUM_ROWS = (PBAnimation::MAX_SPRITES.to_f/10).ceil # 10 frame number icons in each row
def initialize(id,sprite,viewport,previous=false)
@@ -431,6 +433,7 @@ class AnimationCanvas < Sprite
attr_reader :animation # Currently selected animation
attr_reader :animbitmap # Currently selected animation bitmap
attr_accessor :pattern # Currently selected pattern
BORDERSIZE=64
def initialize(animation,viewport=nil)
@@ -822,11 +825,11 @@ class AnimationCanvas < Sprite
end
currentFrame=getCurrentFrame
if currentFrame && !@selecting &&
(Input.triggerex?(:TAB) || Input.repeatex?(:TAB))
(Input.triggerex?(:TAB) || Input.repeatex?(:TAB))
currentFrame.length.times {
@currentcel+=1
@currentcel=0 if @currentcel>=currentFrame.length
break if currentFrame[@currentcel]
@currentcel+=1
@currentcel=0 if @currentcel>=currentFrame.length
break if currentFrame[@currentcel]
}
invalidate
return

View File

@@ -412,7 +412,7 @@ class Slider < UIControl
self.changed=(self.curvalue!=oldvalue)
self.invalidate
end
#Right arrow
# Right arrow
if right.contains(mousepos[0],mousepos[1])
if repeattime>2500
self.curvalue+=10

View File

@@ -108,7 +108,7 @@ class PointPath
return false if @points.length==0
index=@points.length-1
return @points[index][0]==x &&
@points[index][1]==y
@points[index][1]==y
end
def addPoint(x,y)

View File

@@ -44,7 +44,7 @@ end
def pbImportAnim(animations,canvas,animwin)
animfiles=[]
pbRgssChdir(".") {
animfiles.concat(Dir.glob("*.anm"))
animfiles.concat(Dir.glob("*.anm"))
}
cmdwin=pbListWindow(animfiles,320)
cmdwin.opacity=200

View File

@@ -29,7 +29,7 @@ end
def pbSelectAnim(canvas,animwin)
animfiles=[]
pbRgssChdir(File.join("Graphics", "Animations")) {
animfiles.concat(Dir.glob("*.png"))
animfiles.concat(Dir.glob("*.png"))
}
cmdwin=pbListWindow(animfiles,320)
cmdwin.opacity=200
@@ -518,10 +518,10 @@ def pbSelectSE(canvas,audio)
animfiles=[]
ret=false
pbRgssChdir(File.join("Audio", "SE", "Anim")) {
animfiles.concat(Dir.glob("*.wav"))
# animfiles.concat(Dir.glob("*.mp3"))
animfiles.concat(Dir.glob("*.ogg"))
animfiles.concat(Dir.glob("*.wma"))
animfiles.concat(Dir.glob("*.wav"))
# animfiles.concat(Dir.glob("*.mp3"))
animfiles.concat(Dir.glob("*.ogg"))
animfiles.concat(Dir.glob("*.wma"))
}
animfiles.sort! { |a,b| a.upcase<=>b.upcase }
animfiles=[_INTL("[Play user's cry]")]+animfiles
@@ -950,11 +950,11 @@ end
def pbAnimEditorHelpWindow
helptext=""+
"To add a cel to the scene, click on the canvas. The selected cel will have a black "+
"frame. After a cel is selected, you can modify its properties using the keyboard:\n"+
"E, R - Rotate left/right.\nP - Open properties screen.\nArrow keys - Move cel 8 pixels "+
"(hold ALT for 2 pixels).\n+/- : Zoom in/out.\nL - Lock a cel. Locking a cel prevents it "+
"from being moved or deleted.\nDEL - Deletes the cel.\nAlso press TAB to switch the selected cel."
"To add a cel to the scene, click on the canvas. The selected cel will have a black "+
"frame. After a cel is selected, you can modify its properties using the keyboard:\n"+
"E, R - Rotate left/right.\nP - Open properties screen.\nArrow keys - Move cel 8 pixels "+
"(hold ALT for 2 pixels).\n+/- : Zoom in/out.\nL - Lock a cel. Locking a cel prevents it "+
"from being moved or deleted.\nDEL - Deletes the cel.\nAlso press TAB to switch the selected cel."
cmdwin=Window_UnformattedTextPokemon.newWithSize("",0,0,640,512)
cmdwin.opacity=224
cmdwin.z=99999

View File

@@ -251,8 +251,8 @@ def pbDebugDayCare
msg = _INTL("Pokémon can breed (compatibility = {1}).", compat)
# Show compatibility
if day_care.egg_generated
case pbMessage("\\ts[]" + msg, [
_INTL("Collect egg"), _INTL("Clear egg"), _INTL("Cancel")], 3)
case pbMessage("\\ts[]" + msg,
[_INTL("Collect egg"), _INTL("Clear egg"), _INTL("Cancel")], 3)
when 0 # Collect egg
if $player.party_full?
pbMessage(_INTL("Party is full, can't collect the egg."))
@@ -274,8 +274,8 @@ def pbDebugDayCare
end
end
elsif cmd == commands.length - 1 # Steps to next cycle
case pbMessage("\\ts[]" + _INTL("Change number of steps to next cycle?"), [
_INTL("Set to 1"), _INTL("Set to 256"), _INTL("Set to other value"), _INTL("Cancel")], 4)
case pbMessage("\\ts[]" + _INTL("Change number of steps to next cycle?"),
[_INTL("Set to 1"), _INTL("Set to 256"), _INTL("Set to other value"), _INTL("Cancel")], 4)
when 0 # Set to 1
day_care.step_counter = 255
need_refresh = true
@@ -302,8 +302,8 @@ def pbDebugDayCare
msg += "\\n" + _INTL("Steps to next level: {1}", end_exp - pkmn.exp)
end
# Show level change and cost
case pbMessage("\\ts[]" + msg, [
_INTL("Summary"), _INTL("Withdraw"), _INTL("Cancel")], 3)
case pbMessage("\\ts[]" + msg,
[_INTL("Summary"), _INTL("Withdraw"), _INTL("Cancel")], 3)
when 0 # Summary
pbFadeOutIn {
scene = PokemonSummary_Scene.new
@@ -322,8 +322,8 @@ def pbDebugDayCare
end
end
else
case pbMessage("\\ts[]" + _INTL("This slot is empty."), [
_INTL("Deposit"), _INTL("Cancel")], 2)
case pbMessage("\\ts[]" + _INTL("This slot is empty."),
[_INTL("Deposit"), _INTL("Cancel")], 2)
when 0 # Deposit
if $player.party.empty?
pbMessage(_INTL("Party is empty, can't deposit Pokémon."))
@@ -449,7 +449,6 @@ def pbDebugRoamers
else
$PokemonGlobal.roamPosition[cmdwindow.index] = pbDefaultMap
end
cmdwindow.refresh
else # Roam to a random other map
oldmap = $PokemonGlobal.roamPosition[cmdwindow.index]
pbRoamPokemonOne(cmdwindow.index)
@@ -458,8 +457,8 @@ def pbDebugRoamers
pbRoamPokemonOne(cmdwindow.index)
end
$PokemonGlobal.roamedAlready = false
cmdwindow.refresh
end
cmdwindow.refresh
elsif Input.trigger?(Input::BACK)
pbPlayCancelSE
break
@@ -476,7 +475,7 @@ def pbDebugRoamers
$PokemonGlobal.roamPokemon[cmdwindow.index] = true
$PokemonGlobal.roamPokemonCaught[cmdwindow.index] = false
elsif $PokemonGlobal.roamPokemon[cmdwindow.index] == true &&
!$PokemonGlobal.roamPokemonCaught[cmdwindow.index]
!$PokemonGlobal.roamPokemonCaught[cmdwindow.index]
# defeated -> caught
$PokemonGlobal.roamPokemonCaught[cmdwindow.index] = true
elsif pkmn[2]>0
@@ -614,7 +613,7 @@ def pbImportAllAnimations
Graphics.update
audios = []
files = Dir.glob(folder+"/*.*")
%w( wav ogg mid wma ).each { |ext| # mp3
%w[wav ogg mid wma].each { |ext| # mp3
upext = ext.upcase
audios.concat(files.find_all { |f| f[f.length-3,3]==ext })
audios.concat(files.find_all { |f| f[f.length-3,3]==upext })
@@ -623,7 +622,7 @@ def pbImportAllAnimations
pbSafeCopyFile(audio,RTP.getAudioPath("Audio/SE/Anim/"+File.basename(audio)),"Audio/SE/Anim/"+File.basename(audio))
end
images = []
%w( png gif ).each { |ext| # jpg jpeg bmp
%w[png gif].each { |ext| # jpg jpeg bmp
upext = ext.upcase
images.concat(files.find_all { |f| f[f.length-3,3]==ext })
images.concat(files.find_all { |f| f[f.length-3,3]==upext })

View File

@@ -163,10 +163,10 @@ PokemonDebugMenuCommands.register("setpokerus", {
msg = [_INTL("{1} doesn't have Pokérus.", pkmn.name),
_INTL("Has strain {1}, infectious for {2} more days.", pokerus / 16, pokerus % 16),
_INTL("Has strain {1}, not infectious.", pokerus / 16)][pkmn.pokerusStage]
cmd = screen.pbShowCommands(msg, [
_INTL("Give random strain"),
_INTL("Make not infectious"),
_INTL("Clear Pokérus")], cmd)
cmd = screen.pbShowCommands(msg,
[_INTL("Give random strain"),
_INTL("Make not infectious"),
_INTL("Clear Pokérus")], cmd)
break if cmd < 0
case cmd
when 0 # Give random strain
@@ -257,10 +257,10 @@ PokemonDebugMenuCommands.register("hiddenvalues", {
cmd = 0
loop do
persid = sprintf("0x%08X", pkmn.personalID)
cmd = screen.pbShowCommands(_INTL("Personal ID is {1}.", persid), [
_INTL("Set EVs"),
_INTL("Set IVs"),
_INTL("Randomise pID")], cmd)
cmd = screen.pbShowCommands(_INTL("Personal ID is {1}.", persid),
[_INTL("Set EVs"),
_INTL("Set IVs"),
_INTL("Randomise pID")], cmd)
break if cmd < 0
case cmd
when 0 # Set EVs
@@ -574,10 +574,10 @@ PokemonDebugMenuCommands.register("setmovepp", {
cmd2 = 0
loop do
msg = _INTL("{1}: PP {2}/{3} (PP Up {4}/3)", movename, move.pp, move.total_pp, move.ppup)
cmd2 = screen.pbShowCommands(msg, [
_INTL("Set PP"),
_INTL("Full PP"),
_INTL("Set PP Up")], cmd2)
cmd2 = screen.pbShowCommands(msg,
[_INTL("Set PP"),
_INTL("Full PP"),
_INTL("Set PP Up")], cmd2)
break if cmd2 < 0
case cmd2
when 0 # Change PP
@@ -764,10 +764,10 @@ PokemonDebugMenuCommands.register("setgender", {
cmd = 0
loop do
msg = [_INTL("Gender is male."), _INTL("Gender is female.")][pkmn.male? ? 0 : 1]
cmd = screen.pbShowCommands(msg, [
_INTL("Make male"),
_INTL("Make female"),
_INTL("Reset")], cmd)
cmd = screen.pbShowCommands(msg,
[_INTL("Make male"),
_INTL("Make female"),
_INTL("Reset")], cmd)
break if cmd < 0
case cmd
when 0 # Make male
@@ -800,10 +800,10 @@ PokemonDebugMenuCommands.register("speciesform", {
loop do
msg = [_INTL("Species {1}, form {2}.", pkmn.speciesName, pkmn.form),
_INTL("Species {1}, form {2} (forced).", pkmn.speciesName, pkmn.form)][(pkmn.forced_form.nil?) ? 0 : 1]
cmd = screen.pbShowCommands(msg, [
_INTL("Set species"),
_INTL("Set form"),
_INTL("Remove form override")], cmd)
cmd = screen.pbShowCommands(msg,
[_INTL("Set species"),
_INTL("Set form"),
_INTL("Remove form override")], cmd)
break if cmd < 0
case cmd
when 0 # Set species
@@ -869,11 +869,11 @@ PokemonDebugMenuCommands.register("setshininess", {
loop do
msg_idx = pkmn.shiny? ? (pkmn.super_shiny? ? 1 : 0) : 2
msg = [_INTL("Is shiny."), _INTL("Is super shiny."), _INTL("Is normal (not shiny).")][msg_idx]
cmd = screen.pbShowCommands(msg, [
_INTL("Make shiny"),
_INTL("Make super shiny"),
_INTL("Make normal"),
_INTL("Reset")], cmd)
cmd = screen.pbShowCommands(msg,
[_INTL("Make shiny"),
_INTL("Make super shiny"),
_INTL("Make normal"),
_INTL("Reset")], cmd)
break if cmd < 0
case cmd
when 0 # Make shiny
@@ -969,9 +969,7 @@ PokemonDebugMenuCommands.register("setnickname", {
speciesname = pkmn.speciesName
msg = [_INTL("{1} has the nickname {2}.", speciesname, pkmn.name),
_INTL("{1} has no nickname.", speciesname)][pkmn.nicknamed? ? 0 : 1]
cmd = screen.pbShowCommands(msg, [
_INTL("Rename"),
_INTL("Erase name")], cmd)
cmd = screen.pbShowCommands(msg, [_INTL("Rename"), _INTL("Erase name")], cmd)
break if cmd < 0
case cmd
when 0 # Rename
@@ -997,15 +995,16 @@ PokemonDebugMenuCommands.register("ownership", {
cmd = 0
loop do
gender = [_INTL("Male"), _INTL("Female"), _INTL("Unknown")][pkmn.owner.gender]
msg = [_INTL("Player's Pokémon\n{1}\n{2}\n{3} ({4})", pkmn.owner.name, gender, pkmn.owner.public_id, pkmn.owner.id),
_INTL("Foreign Pokémon\n{1}\n{2}\n{3} ({4})", pkmn.owner.name, gender, pkmn.owner.public_id, pkmn.owner.id)
][pkmn.foreign?($player) ? 1 : 0]
cmd = screen.pbShowCommands(msg, [
_INTL("Make player's"),
_INTL("Set OT's name"),
_INTL("Set OT's gender"),
_INTL("Random foreign ID"),
_INTL("Set foreign ID")], cmd)
msg = [_INTL("Player's Pokémon\n{1}\n{2}\n{3} ({4})",
pkmn.owner.name, gender, pkmn.owner.public_id, pkmn.owner.id),
_INTL("Foreign Pokémon\n{1}\n{2}\n{3} ({4})",
pkmn.owner.name, gender, pkmn.owner.public_id, pkmn.owner.id)][pkmn.foreign?($player) ? 1 : 0]
cmd = screen.pbShowCommands(msg,
[_INTL("Make player's"),
_INTL("Set OT's name"),
_INTL("Set OT's gender"),
_INTL("Random foreign ID"),
_INTL("Set foreign ID")], cmd)
break if cmd < 0
case cmd
when 0 # Make player's
@@ -1073,10 +1072,10 @@ PokemonDebugMenuCommands.register("setegg", {
loop do
msg = [_INTL("Not an egg"),
_INTL("Egg (hatches in {1} steps).", pkmn.steps_to_hatch)][pkmn.egg? ? 1 : 0]
cmd = screen.pbShowCommands(msg, [
_INTL("Make egg"),
_INTL("Make Pokémon"),
_INTL("Set steps left to 1")], cmd)
cmd = screen.pbShowCommands(msg,
[_INTL("Make egg"),
_INTL("Make Pokémon"),
_INTL("Set steps left to 1")], cmd)
break if cmd < 0
case cmd
when 0 # Make egg
@@ -1114,11 +1113,8 @@ PokemonDebugMenuCommands.register("shadowpkmn", {
cmd = 0
loop do
msg = [_INTL("Not a Shadow Pokémon."),
_INTL("Heart gauge is {1} (stage {2}).", pkmn.heart_gauge, pkmn.heartStage)
][pkmn.shadowPokemon? ? 1 : 0]
cmd = screen.pbShowCommands(msg, [
_INTL("Make Shadow"),
_INTL("Set heart gauge")], cmd)
_INTL("Heart gauge is {1} (stage {2}).", pkmn.heart_gauge, pkmn.heartStage)][pkmn.shadowPokemon? ? 1 : 0]
cmd = screen.pbShowCommands(msg, [_INTL("Make Shadow"), _INTL("Set heart gauge")], cmd)
break if cmd < 0
case cmd
when 0 # Make Shadow

View File

@@ -3,165 +3,165 @@
#===============================================================================
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::Pursuit - not suitable for setting via debug
# 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::Type3 - 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: -99999, max: 99999},
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: -99999, max: 99999 },
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 }
}
end