From 1c4819e5f0f10b6173cc501059c3c2410714225f Mon Sep 17 00:00:00 2001 From: Maruno17 Date: Tue, 16 Nov 2021 23:05:16 +0000 Subject: [PATCH] Renamed all battle-related classes and modules --- .../001_Technical/002_RubyUtilities.rb | 5 + .../001_Battle_Common.rb} | 2 +- .../002_Battle.rb} | 40 +-- .../003_Battle_StartAndEnd.rb | 8 +- .../004_Battle_ExpAndMoveLearning.rb | 6 +- .../005_Battle_ActionAttacksPriority.rb} | 8 +- .../006_Battle_ActionSwitching.rb} | 2 +- .../007_Battle_ActionUseItem.rb} | 2 +- .../008_Battle_ActionRunning.rb} | 2 +- .../009_Battle_ActionOther.rb} | 2 +- .../010_Battle_CommandPhase.rb} | 2 +- .../011_Battle_AttackPhase.rb} | 2 +- .../012_Battle_EndOfRoundPhase.rb} | 6 +- Data/Scripts/011_Battle/001_PBEffects.rb | 186 -------------- .../001_Battle_Battler.rb} | 6 +- .../002_Battler_Initialize.rb | 6 +- .../003_Battler_ChangeSelf.rb | 6 +- .../004_Battler_Statuses.rb | 10 +- .../005_Battler_StatStages.rb | 22 +- .../006_Battler_AbilityAndItem.rb | 6 +- .../007_Battler_UseMove.rb | 10 +- .../008_Battler_UseMoveTargeting.rb} | 4 +- .../009_Battler_UseMoveSuccessChecks.rb} | 6 +- .../010_Battler_UseMoveTriggerEffects.rb} | 4 +- .../001_Battle_Move.rb} | 22 +- .../{002_Move => 003_Move}/002_Move_Usage.rb | 12 +- .../003_Move_UsageCalculations.rb} | 6 +- .../004_Move_BaseEffects.rb | 51 ++-- .../005_MoveEffects_Misc.rb | 72 +++--- .../006_MoveEffects_BattlerStats.rb | 232 +++++++++--------- .../007_MoveEffects_BattlerOther.rb | 114 ++++----- .../008_MoveEffects_MoveAttributes.rb | 186 +++++++------- .../009_MoveEffects_MultiHit.rb | 58 ++--- .../010_MoveEffects_Healing.rb | 64 ++--- .../011_MoveEffects_Items.rb | 30 +-- .../012_MoveEffects_ChangeMoveEffect.rb | 68 ++--- .../013_MoveEffects_SwitchingActing.rb | 64 ++--- .../001_Battle_Scene.rb} | 91 +++++-- .../002_Scene_Initialize.rb} | 26 +- .../003_Scene_ChooseCommands.rb} | 2 +- .../004_Scene_PlayAnimations.rb} | 60 +++-- .../005_Battle_Scene_Menus.rb} | 12 +- .../006_Battle_Scene_Objects.rb} | 12 +- .../007_Battle_Scene_BaseAnimation.rb} | 4 +- .../008_Battle_Scene_Animations.rb} | 68 ++--- .../009_Battle_DebugScene.rb} | 2 +- .../001_Battle_AI.rb} | 2 +- .../{004_AI => 005_AI}/002_AI_Item.rb | 2 +- .../{004_AI => 005_AI}/003_AI_Switch.rb | 2 +- .../{004_AI => 005_AI}/004_AI_Move.rb | 2 +- .../005_AI_Move_EffectScores.rb | 2 +- .../006_AI_Move_Utilities.rb | 4 +- .../003_PokeBattle_SceneConstants.rb | 67 ----- .../006_Other battle code/001_PBEffects.rb | 179 ++++++++++++++ .../002_Battle_ActiveField.rb | 88 +++++++ .../003_Battle_DamageState.rb} | 5 +- .../004_Battle_Peers.rb} | 40 +-- .../005_Battle_Clauses.rb} | 26 +- .../006_BattleAnimationPlayer.rb} | 20 +- .../007_BattleHandlers.rb} | 12 +- .../008_BattleHandlers_Abilities.rb} | 184 +++++++------- .../009_BattleHandlers_Items.rb} | 4 +- .../010_BallHandlers_PokeBallEffects.rb} | 0 .../011_Battle/006_PokeBattle_ActiveField.rb | 90 ------- .../001_SafariBattle.rb} | 40 +-- .../002_BugContestBattle.rb} | 4 +- .../003_BattlePalaceBattle.rb} | 6 +- .../004_BattleArenaBattle.rb} | 8 +- .../005_RecordedBattle.rb} | 110 ++++----- .../001_Overworld_BattleStarting.rb | 6 +- .../001_Pokemon-related/001_FormHandlers.rb | 4 +- .../002_ShadowPokemon_Other.rb | 12 +- .../004_Challenge_Battles.rb | 16 +- .../001_SafariZone.rb | 2 +- .../002_BugContest.rb | 2 +- .../004_ChallengeGenerator_BattleSim.rb | 2 +- .../004_EditorScreens_SpritePositioning.rb | 6 +- .../001_AnimEditor_SceneElements.rb | 12 +- .../004_AnimEditor_ExportImport.rb | 12 +- 79 files changed, 1270 insertions(+), 1310 deletions(-) rename Data/Scripts/011_Battle/{003_Battle/001_PokeBattle_BattleCommon.rb => 001_Battle/001_Battle_Common.rb} (99%) rename Data/Scripts/011_Battle/{003_Battle/002_PokeBattle_Battle.rb => 001_Battle/002_Battle.rb} (96%) rename Data/Scripts/011_Battle/{003_Battle => 001_Battle}/003_Battle_StartAndEnd.rb (99%) rename Data/Scripts/011_Battle/{003_Battle => 001_Battle}/004_Battle_ExpAndMoveLearning.rb (98%) rename Data/Scripts/011_Battle/{003_Battle/005_Battle_Action_AttacksPriority.rb => 001_Battle/005_Battle_ActionAttacksPriority.rb} (97%) rename Data/Scripts/011_Battle/{003_Battle/006_Battle_Action_Switching.rb => 001_Battle/006_Battle_ActionSwitching.rb} (99%) rename Data/Scripts/011_Battle/{003_Battle/007_Battle_Action_UseItem.rb => 001_Battle/007_Battle_ActionUseItem.rb} (99%) rename Data/Scripts/011_Battle/{003_Battle/008_Battle_Action_Running.rb => 001_Battle/008_Battle_ActionRunning.rb} (99%) rename Data/Scripts/011_Battle/{003_Battle/009_Battle_Action_Other.rb => 001_Battle/009_Battle_ActionOther.rb} (99%) rename Data/Scripts/011_Battle/{003_Battle/010_Battle_Phase_Command.rb => 001_Battle/010_Battle_CommandPhase.rb} (99%) rename Data/Scripts/011_Battle/{003_Battle/011_Battle_Phase_Attack.rb => 001_Battle/011_Battle_AttackPhase.rb} (99%) rename Data/Scripts/011_Battle/{003_Battle/012_Battle_Phase_EndOfRound.rb => 001_Battle/012_Battle_EndOfRoundPhase.rb} (99%) delete mode 100644 Data/Scripts/011_Battle/001_PBEffects.rb rename Data/Scripts/011_Battle/{001_Battler/001_PokeBattle_Battler.rb => 002_Battler/001_Battle_Battler.rb} (99%) rename Data/Scripts/011_Battle/{001_Battler => 002_Battler}/002_Battler_Initialize.rb (99%) rename Data/Scripts/011_Battle/{001_Battler => 002_Battler}/003_Battler_ChangeSelf.rb (98%) rename Data/Scripts/011_Battle/{001_Battler => 002_Battler}/004_Battler_Statuses.rb (98%) rename Data/Scripts/011_Battle/{001_Battler => 002_Battler}/005_Battler_StatStages.rb (95%) rename Data/Scripts/011_Battle/{001_Battler => 002_Battler}/006_Battler_AbilityAndItem.rb (98%) rename Data/Scripts/011_Battle/{001_Battler => 002_Battler}/007_Battler_UseMove.rb (98%) rename Data/Scripts/011_Battle/{001_Battler/008_Battler_UseMove_Targeting.rb => 002_Battler/008_Battler_UseMoveTargeting.rb} (99%) rename Data/Scripts/011_Battle/{001_Battler/009_Battler_UseMove_SuccessChecks.rb => 002_Battler/009_Battler_UseMoveSuccessChecks.rb} (99%) rename Data/Scripts/011_Battle/{001_Battler/010_Battler_UseMove_TriggerEffects.rb => 002_Battler/010_Battler_UseMoveTriggerEffects.rb} (98%) rename Data/Scripts/011_Battle/{002_Move/001_PokeBattle_Move.rb => 003_Move/001_Battle_Move.rb} (91%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/002_Move_Usage.rb (98%) rename Data/Scripts/011_Battle/{002_Move/003_Move_Usage_Calculations.rb => 003_Move/003_Move_UsageCalculations.rb} (99%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/004_Move_BaseEffects.rb (94%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/005_MoveEffects_Misc.rb (90%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/006_MoveEffects_BattlerStats.rb (89%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/007_MoveEffects_BattlerOther.rb (91%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/008_MoveEffects_MoveAttributes.rb (89%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/009_MoveEffects_MultiHit.rb (91%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/010_MoveEffects_Healing.rb (90%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/011_MoveEffects_Items.rb (96%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/012_MoveEffects_ChangeMoveEffect.rb (95%) rename Data/Scripts/011_Battle/{002_Move => 003_Move}/013_MoveEffects_SwitchingActing.rb (94%) rename Data/Scripts/011_Battle/{005_Battle scene/006_PokeBattle_Scene.rb => 004_Scene/001_Battle_Scene.rb} (78%) rename Data/Scripts/011_Battle/{005_Battle scene/007_Scene_Initialize.rb => 004_Scene/002_Scene_Initialize.rb} (87%) rename Data/Scripts/011_Battle/{005_Battle scene/008_Scene_Commands.rb => 004_Scene/003_Scene_ChooseCommands.rb} (99%) rename Data/Scripts/011_Battle/{005_Battle scene/009_Scene_Animations.rb => 004_Scene/004_Scene_PlayAnimations.rb} (90%) rename Data/Scripts/011_Battle/{005_Battle scene/005_PokeBattle_SceneMenus.rb => 004_Scene/005_Battle_Scene_Menus.rb} (98%) rename Data/Scripts/011_Battle/{005_Battle scene/004_PokeBattle_SceneElements.rb => 004_Scene/006_Battle_Scene_Objects.rb} (98%) rename Data/Scripts/011_Battle/{005_Battle scene/001_PokeBattle_Animation.rb => 004_Scene/007_Battle_Scene_BaseAnimation.rb} (99%) rename Data/Scripts/011_Battle/{005_Battle scene/002_PokeBattle_SceneAnimations.rb => 004_Scene/008_Battle_Scene_Animations.rb} (92%) rename Data/Scripts/011_Battle/{006_Other battle types/007_PokeBattle_DebugScene.rb => 004_Scene/009_Battle_DebugScene.rb} (98%) rename Data/Scripts/011_Battle/{004_AI/001_PokeBattle_AI.rb => 005_AI/001_Battle_AI.rb} (99%) rename Data/Scripts/011_Battle/{004_AI => 005_AI}/002_AI_Item.rb (99%) rename Data/Scripts/011_Battle/{004_AI => 005_AI}/003_AI_Switch.rb (99%) rename Data/Scripts/011_Battle/{004_AI => 005_AI}/004_AI_Move.rb (99%) rename Data/Scripts/011_Battle/{004_AI => 005_AI}/005_AI_Move_EffectScores.rb (99%) rename Data/Scripts/011_Battle/{004_AI => 005_AI}/006_AI_Move_Utilities.rb (99%) delete mode 100644 Data/Scripts/011_Battle/005_Battle scene/003_PokeBattle_SceneConstants.rb create mode 100644 Data/Scripts/011_Battle/006_Other battle code/001_PBEffects.rb create mode 100644 Data/Scripts/011_Battle/006_Other battle code/002_Battle_ActiveField.rb rename Data/Scripts/011_Battle/{007_PokeBattle_DamageState.rb => 006_Other battle code/003_Battle_DamageState.rb} (91%) rename Data/Scripts/011_Battle/{006_Other battle types/008_PokeBattle_BattlePeer.rb => 006_Other battle code/004_Battle_Peers.rb} (87%) rename Data/Scripts/011_Battle/{006_Other battle types/009_PokeBattle_Clauses.rb => 006_Other battle code/005_Battle_Clauses.rb} (91%) rename Data/Scripts/011_Battle/{006_Other battle types/001_PokeBattle_AnimationPlayer.rb => 006_Other battle code/006_BattleAnimationPlayer.rb} (97%) rename Data/Scripts/011_Battle/{002_BattleHandlers.rb => 006_Other battle code/007_BattleHandlers.rb} (98%) rename Data/Scripts/011_Battle/{003_BattleHandlers_Abilities.rb => 006_Other battle code/008_BattleHandlers_Abilities.rb} (94%) rename Data/Scripts/011_Battle/{004_BattleHandlers_Items.rb => 006_Other battle code/009_BattleHandlers_Items.rb} (99%) rename Data/Scripts/011_Battle/{005_BallHandlers_PokeBallEffects.rb => 006_Other battle code/010_BallHandlers_PokeBallEffects.rb} (100%) delete mode 100644 Data/Scripts/011_Battle/006_PokeBattle_ActiveField.rb rename Data/Scripts/011_Battle/{006_Other battle types/002_PokeBattle_SafariZone.rb => 007_Other battle types/001_SafariBattle.rb} (94%) rename Data/Scripts/011_Battle/{006_Other battle types/003_PokeBattle_BugContest.rb => 007_Other battle types/002_BugContestBattle.rb} (97%) rename Data/Scripts/011_Battle/{006_Other battle types/004_PokeBattle_BattlePalace.rb => 007_Other battle types/003_BattlePalaceBattle.rb} (98%) rename Data/Scripts/011_Battle/{006_Other battle types/005_PokeBattle_BattleArena.rb => 007_Other battle types/004_BattleArenaBattle.rb} (98%) rename Data/Scripts/011_Battle/{006_Other battle types/006_PokeBattle_BattleRecord.rb => 007_Other battle types/005_RecordedBattle.rb} (89%) diff --git a/Data/Scripts/001_Technical/002_RubyUtilities.rb b/Data/Scripts/001_Technical/002_RubyUtilities.rb index c61f97377..42fa024f3 100644 --- a/Data/Scripts/001_Technical/002_RubyUtilities.rb +++ b/Data/Scripts/001_Technical/002_RubyUtilities.rb @@ -171,3 +171,8 @@ end def nil_or_empty?(string) return string.nil? || !string.is_a?(String) || string.size == 0 end + +#=============================================================================== +# This is only here to make the battle classes easier to define later. +#=============================================================================== +class Battle; end diff --git a/Data/Scripts/011_Battle/003_Battle/001_PokeBattle_BattleCommon.rb b/Data/Scripts/011_Battle/001_Battle/001_Battle_Common.rb similarity index 99% rename from Data/Scripts/011_Battle/003_Battle/001_PokeBattle_BattleCommon.rb rename to Data/Scripts/011_Battle/001_Battle/001_Battle_Common.rb index 9758fa714..b4247fcd5 100644 --- a/Data/Scripts/011_Battle/003_Battle/001_PokeBattle_BattleCommon.rb +++ b/Data/Scripts/011_Battle/001_Battle/001_Battle_Common.rb @@ -1,4 +1,4 @@ -module PokeBattle_BattleCommon +module Battle::Common #============================================================================= # Store caught Pokémon #============================================================================= diff --git a/Data/Scripts/011_Battle/003_Battle/002_PokeBattle_Battle.rb b/Data/Scripts/011_Battle/001_Battle/002_Battle.rb similarity index 96% rename from Data/Scripts/011_Battle/003_Battle/002_PokeBattle_Battle.rb rename to Data/Scripts/011_Battle/001_Battle/002_Battle.rb index 94fef959d..dcf43d252 100644 --- a/Data/Scripts/011_Battle/003_Battle/002_PokeBattle_Battle.rb +++ b/Data/Scripts/011_Battle/001_Battle/002_Battle.rb @@ -17,7 +17,7 @@ # to edit some code. Mainly this is to change/add coordinates for the # sprites, describe the relationships between Pokémon and trainers, and to # change messages. The methods that will need editing are as follows: -# class PokeBattle_Battle +# class Battle # def setBattleMode # def pbGetOwnerIndexFromBattlerIndex # def pbGetOpposingIndicesInOrder @@ -26,18 +26,18 @@ # def pbEORShiftDistantBattlers # def pbCanShift? # def pbEndOfRoundPhase -# class TargetMenuDisplay +# class Battle::Scene::TargetMenu # def initialize -# class PokemonDataBox +# class Battle::Scene::PokemonDataBox # def initializeDataBoxGraphic -# module PokeBattle_SceneConstants +# class Battle::Scene # def self.pbBattlerPosition # def self.pbTrainerPosition # class Game_Temp # def add_battle_rule # (There is no guarantee that this list is complete.) -class PokeBattle_Battle +class Battle attr_reader :scene # Scene object for this battle attr_reader :peer attr_reader :field # Effects common to the whole of a battle @@ -87,7 +87,7 @@ class PokeBattle_Battle attr_accessor :moldBreaker # True if Mold Breaker applies attr_reader :struggle # The Struggle move - include PokeBattle_BattleCommon + include Battle::Common def pbRandom(x); return rand(x); end @@ -101,12 +101,12 @@ class PokeBattle_Battle raise ArgumentError.new(_INTL("Party 2 has no Pokémon.")) end @scene = scene - @peer = PokeBattle_BattlePeer.create - @battleAI = PokeBattle_AI.new(self) - @field = PokeBattle_ActiveField.new # Whole field (gravity/rooms) - @sides = [PokeBattle_ActiveSide.new, # Player's side - PokeBattle_ActiveSide.new] # Foe's side - @positions = [] # Battler positions + @peer = Peer.new + @battleAI = AI.new(self) + @field = ActiveField.new # Whole field (gravity/rooms) + @sides = [ActiveSide.new, # Player's side + ActiveSide.new] # Foe's side + @positions = [] # Battler positions @battlers = [] @sideSizes = [1,1] # Single battle, 1v1 @backdrop = "" @@ -165,9 +165,9 @@ class PokeBattle_Battle @runCommand = 0 @nextPickupUse = 0 if GameData::Move.exists?(:STRUGGLE) - @struggle = PokeBattle_Move.from_pokemon_move(self, Pokemon::Move.new(:STRUGGLE)) + @struggle = Move.from_pokemon_move(self, Pokemon::Move.new(:STRUGGLE)) else - @struggle = PokeBattle_Struggle.new(self, nil) + @struggle = Move::Struggle.new(self, nil) end end @@ -651,7 +651,7 @@ class PokeBattle_Battle def pbSetSeen(battler) return if !battler || !@internalBattle - if battler.is_a?(PokeBattle_Battler) + if battler.is_a?(Battler) pbPlayer.pokedex.register(battler.displaySpecies, battler.displayGender, battler.displayForm, battler.shiny?) else @@ -661,7 +661,7 @@ class PokeBattle_Battle def pbSetCaught(battler) return if !battler || !@internalBattle - if battler.is_a?(PokeBattle_Battler) + if battler.is_a?(Battler) pbPlayer.pokedex.register_caught(battler.displaySpecies) else pbPlayer.pokedex.register_caught(battler.species) @@ -670,7 +670,7 @@ class PokeBattle_Battle def pbSetDefeated(battler) return if !battler || !@internalBattle - if battler.is_a?(PokeBattle_Battler) + if battler.is_a?(Battler) pbPlayer.pokedex.register_defeated(battler.displaySpecies) else pbPlayer.pokedex.register_defeated(battler.species) @@ -819,7 +819,7 @@ class PokeBattle_Battle def pbShowAbilitySplash(battler,delay=false,logTrigger=true) PBDebug.log("[Ability triggered] #{battler.pbThis}'s #{battler.abilityName}") if logTrigger - return if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + return if !Scene::USE_ABILITY_SPLASH @scene.pbShowAbilitySplash(battler) if delay Graphics.frame_rate.times { @scene.pbUpdate } # 1 second @@ -827,12 +827,12 @@ class PokeBattle_Battle end def pbHideAbilitySplash(battler) - return if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + return if !Scene::USE_ABILITY_SPLASH @scene.pbHideAbilitySplash(battler) end def pbReplaceAbilitySplash(battler) - return if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + return if !Scene::USE_ABILITY_SPLASH @scene.pbReplaceAbilitySplash(battler) end end diff --git a/Data/Scripts/011_Battle/003_Battle/003_Battle_StartAndEnd.rb b/Data/Scripts/011_Battle/001_Battle/003_Battle_StartAndEnd.rb similarity index 99% rename from Data/Scripts/011_Battle/003_Battle/003_Battle_StartAndEnd.rb rename to Data/Scripts/011_Battle/001_Battle/003_Battle_StartAndEnd.rb index c83c22908..36227feec 100644 --- a/Data/Scripts/011_Battle/003_Battle/003_Battle_StartAndEnd.rb +++ b/Data/Scripts/011_Battle/001_Battle/003_Battle_StartAndEnd.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle class BattleAbortedException < Exception; end def pbAbort @@ -106,10 +106,10 @@ class PokeBattle_Battle if !@battlers[idxBattler].nil? raise _INTL("Battler index {1} already exists",idxBattler) end - @battlers[idxBattler] = PokeBattle_Battler.new(self,idxBattler) - @positions[idxBattler] = PokeBattle_ActivePosition.new + @battlers[idxBattler] = Battler.new(self,idxBattler) + @positions[idxBattler] = ActivePosition.new pbClearChoice(idxBattler) - @successStates[idxBattler] = PokeBattle_SuccessState.new + @successStates[idxBattler] = SuccessState.new @battlers[idxBattler].pbInitialize(pkmn,idxParty) end diff --git a/Data/Scripts/011_Battle/003_Battle/004_Battle_ExpAndMoveLearning.rb b/Data/Scripts/011_Battle/001_Battle/004_Battle_ExpAndMoveLearning.rb similarity index 98% rename from Data/Scripts/011_Battle/003_Battle/004_Battle_ExpAndMoveLearning.rb rename to Data/Scripts/011_Battle/001_Battle/004_Battle_ExpAndMoveLearning.rb index 11c0bf5d7..e35bc88db 100644 --- a/Data/Scripts/011_Battle/003_Battle/004_Battle_ExpAndMoveLearning.rb +++ b/Data/Scripts/011_Battle/001_Battle/004_Battle_ExpAndMoveLearning.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle #============================================================================= # Gaining Experience #============================================================================= @@ -240,7 +240,7 @@ class PokeBattle_Battle pkmn.learn_move(newMove) pbDisplay(_INTL("{1} learned {2}!",pkmnName,moveName)) { pbSEPlay("Pkmn move learnt") } if battler - battler.moves.push(PokeBattle_Move.from_pokemon_move(self, pkmn.moves.last)) + battler.moves.push(Move.from_pokemon_move(self, pkmn.moves.last)) battler.pbCheckFormOnMovesetChange end return @@ -254,7 +254,7 @@ class PokeBattle_Battle if forgetMove>=0 oldMoveName = pkmn.moves[forgetMove].name pkmn.moves[forgetMove] = Pokemon::Move.new(newMove) # Replaces current/total PP - battler.moves[forgetMove] = PokeBattle_Move.from_pokemon_move(self, pkmn.moves[forgetMove]) if battler + battler.moves[forgetMove] = Move.from_pokemon_move(self, pkmn.moves[forgetMove]) if battler pbDisplayPaused(_INTL("1, 2, and... ... ... Ta-da!")) { pbSEPlay("Battle ball drop") } pbDisplayPaused(_INTL("{1} forgot how to use {2}. And...",pkmnName,oldMoveName)) pbDisplay(_INTL("{1} learned {2}!",pkmnName,moveName)) { pbSEPlay("Pkmn move learnt") } diff --git a/Data/Scripts/011_Battle/003_Battle/005_Battle_Action_AttacksPriority.rb b/Data/Scripts/011_Battle/001_Battle/005_Battle_ActionAttacksPriority.rb similarity index 97% rename from Data/Scripts/011_Battle/003_Battle/005_Battle_Action_AttacksPriority.rb rename to Data/Scripts/011_Battle/001_Battle/005_Battle_ActionAttacksPriority.rb index b84f8ba7d..618740aa2 100644 --- a/Data/Scripts/011_Battle/003_Battle/005_Battle_Action_AttacksPriority.rb +++ b/Data/Scripts/011_Battle/001_Battle/005_Battle_ActionAttacksPriority.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle #============================================================================= # Choosing a move/target #============================================================================= @@ -45,7 +45,7 @@ class PokeBattle_Battle encoreMove = battler.moves[idxEncoredMove] @choices[idxBattler][0] = :UseMove # "Use move" @choices[idxBattler][1] = idxEncoredMove # Index of move to be used - @choices[idxBattler][2] = encoreMove # PokeBattle_Move object + @choices[idxBattler][2] = encoreMove # Battle::Move object @choices[idxBattler][3] = -1 # No target chosen yet return true if singleBattle? if pbOwnedByPlayer?(idxBattler) @@ -62,7 +62,7 @@ class PokeBattle_Battle end @choices[idxBattler][0] = :UseMove # "Use move" @choices[idxBattler][1] = -1 # Index of move to be used - @choices[idxBattler][2] = @struggle # Struggle PokeBattle_Move object + @choices[idxBattler][2] = @struggle # Struggle Battle::Move object @choices[idxBattler][3] = -1 # No target chosen yet return true end @@ -73,7 +73,7 @@ class PokeBattle_Battle return false if !pbCanChooseMove?(idxBattler,idxMove,showMessages) @choices[idxBattler][0] = :UseMove # "Use move" @choices[idxBattler][1] = idxMove # Index of move to be used - @choices[idxBattler][2] = move # PokeBattle_Move object + @choices[idxBattler][2] = move # Battle::Move object @choices[idxBattler][3] = -1 # No target chosen yet return true end diff --git a/Data/Scripts/011_Battle/003_Battle/006_Battle_Action_Switching.rb b/Data/Scripts/011_Battle/001_Battle/006_Battle_ActionSwitching.rb similarity index 99% rename from Data/Scripts/011_Battle/003_Battle/006_Battle_Action_Switching.rb rename to Data/Scripts/011_Battle/001_Battle/006_Battle_ActionSwitching.rb index f4c4dcc4a..5a50d168e 100644 --- a/Data/Scripts/011_Battle/003_Battle/006_Battle_Action_Switching.rb +++ b/Data/Scripts/011_Battle/001_Battle/006_Battle_ActionSwitching.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle #============================================================================= # Choosing Pokémon to switch #============================================================================= diff --git a/Data/Scripts/011_Battle/003_Battle/007_Battle_Action_UseItem.rb b/Data/Scripts/011_Battle/001_Battle/007_Battle_ActionUseItem.rb similarity index 99% rename from Data/Scripts/011_Battle/003_Battle/007_Battle_Action_UseItem.rb rename to Data/Scripts/011_Battle/001_Battle/007_Battle_ActionUseItem.rb index d8c10fda6..cf5e134c3 100644 --- a/Data/Scripts/011_Battle/003_Battle/007_Battle_Action_UseItem.rb +++ b/Data/Scripts/011_Battle/001_Battle/007_Battle_ActionUseItem.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle #============================================================================= # Choosing to use an item #============================================================================= diff --git a/Data/Scripts/011_Battle/003_Battle/008_Battle_Action_Running.rb b/Data/Scripts/011_Battle/001_Battle/008_Battle_ActionRunning.rb similarity index 99% rename from Data/Scripts/011_Battle/003_Battle/008_Battle_Action_Running.rb rename to Data/Scripts/011_Battle/001_Battle/008_Battle_ActionRunning.rb index 3d92a79d1..0ef8f0441 100644 --- a/Data/Scripts/011_Battle/003_Battle/008_Battle_Action_Running.rb +++ b/Data/Scripts/011_Battle/001_Battle/008_Battle_ActionRunning.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle #============================================================================= # Running from battle #============================================================================= diff --git a/Data/Scripts/011_Battle/003_Battle/009_Battle_Action_Other.rb b/Data/Scripts/011_Battle/001_Battle/009_Battle_ActionOther.rb similarity index 99% rename from Data/Scripts/011_Battle/003_Battle/009_Battle_Action_Other.rb rename to Data/Scripts/011_Battle/001_Battle/009_Battle_ActionOther.rb index 87ce9bc85..b8bf99f53 100644 --- a/Data/Scripts/011_Battle/003_Battle/009_Battle_Action_Other.rb +++ b/Data/Scripts/011_Battle/001_Battle/009_Battle_ActionOther.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle #============================================================================= # Shifting a battler to another position in a battle larger than double #============================================================================= diff --git a/Data/Scripts/011_Battle/003_Battle/010_Battle_Phase_Command.rb b/Data/Scripts/011_Battle/001_Battle/010_Battle_CommandPhase.rb similarity index 99% rename from Data/Scripts/011_Battle/003_Battle/010_Battle_Phase_Command.rb rename to Data/Scripts/011_Battle/001_Battle/010_Battle_CommandPhase.rb index 2a0dae167..05b7e4e09 100644 --- a/Data/Scripts/011_Battle/003_Battle/010_Battle_Phase_Command.rb +++ b/Data/Scripts/011_Battle/001_Battle/010_Battle_CommandPhase.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle #============================================================================= # Clear commands #============================================================================= diff --git a/Data/Scripts/011_Battle/003_Battle/011_Battle_Phase_Attack.rb b/Data/Scripts/011_Battle/001_Battle/011_Battle_AttackPhase.rb similarity index 99% rename from Data/Scripts/011_Battle/003_Battle/011_Battle_Phase_Attack.rb rename to Data/Scripts/011_Battle/001_Battle/011_Battle_AttackPhase.rb index b22261fd9..1906a978f 100644 --- a/Data/Scripts/011_Battle/003_Battle/011_Battle_Phase_Attack.rb +++ b/Data/Scripts/011_Battle/001_Battle/011_Battle_AttackPhase.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle #============================================================================= # Attack phase actions #============================================================================= diff --git a/Data/Scripts/011_Battle/003_Battle/012_Battle_Phase_EndOfRound.rb b/Data/Scripts/011_Battle/001_Battle/012_Battle_EndOfRoundPhase.rb similarity index 99% rename from Data/Scripts/011_Battle/003_Battle/012_Battle_Phase_EndOfRound.rb rename to Data/Scripts/011_Battle/001_Battle/012_Battle_EndOfRoundPhase.rb index 59b68b202..441bc42b8 100644 --- a/Data/Scripts/011_Battle/003_Battle/012_Battle_Phase_EndOfRound.rb +++ b/Data/Scripts/011_Battle/001_Battle/012_Battle_EndOfRoundPhase.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battle +class Battle #============================================================================= # Decrement effect counters #============================================================================= @@ -224,7 +224,7 @@ class PokeBattle_Battle party = pbParty(pos.effects[PBEffects::FutureSightUserIndex]) pkmn = party[pos.effects[PBEffects::FutureSightUserPartyIndex]] if pkmn && pkmn.able? - moveUser = PokeBattle_Battler.new(self,pos.effects[PBEffects::FutureSightUserIndex]) + moveUser = Battler.new(self,pos.effects[PBEffects::FutureSightUserIndex]) moveUser.pbInitDummyPokemon(pkmn,pos.effects[PBEffects::FutureSightUserPartyIndex]) end end @@ -360,7 +360,7 @@ class PokeBattle_Battle pbCommonAnimation(anim_name, b) if anim_name pbShowAbilitySplash(b) b.pbRecoverHP(b.totalhp/8) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Scene::USE_ABILITY_SPLASH pbDisplay(_INTL("{1}'s HP was restored.",b.pbThis)) else pbDisplay(_INTL("{1}'s {2} restored its HP.",b.pbThis,b.abilityName)) diff --git a/Data/Scripts/011_Battle/001_PBEffects.rb b/Data/Scripts/011_Battle/001_PBEffects.rb deleted file mode 100644 index f88ef47c1..000000000 --- a/Data/Scripts/011_Battle/001_PBEffects.rb +++ /dev/null @@ -1,186 +0,0 @@ -begin - module PBEffects - #=========================================================================== - # These effects apply to a battler - #=========================================================================== - AquaRing = 0 - Attract = 1 - BanefulBunker = 2 - BeakBlast = 3 - Bide = 4 - BideDamage = 5 - BideTarget = 6 - BurnUp = 7 - Charge = 8 - ChoiceBand = 9 - Confusion = 10 - Counter = 11 - CounterTarget = 12 - Curse = 13 - Dancer = 14 - DefenseCurl = 15 - DestinyBond = 16 - DestinyBondPrevious = 17 - DestinyBondTarget = 18 - Disable = 19 - DisableMove = 20 - Electrify = 21 - Embargo = 22 - Encore = 23 - EncoreMove = 24 - Endure = 25 - FirstPledge = 26 - FlashFire = 27 - Flinch = 28 - FocusEnergy = 29 - FocusPunch = 30 - FollowMe = 31 - Foresight = 32 - FuryCutter = 33 - GastroAcid = 34 - GemConsumed = 35 - Grudge = 36 - HealBlock = 37 - HelpingHand = 38 - HyperBeam = 39 - Illusion = 40 - Imprison = 41 - Ingrain = 42 - Instruct = 43 - Instructed = 44 - JawLock = 994 - KingsShield = 45 - LaserFocus = 46 - LeechSeed = 47 - LockOn = 48 - LockOnPos = 49 - MagicBounce = 50 - MagicCoat = 51 - MagnetRise = 52 - MeanLook = 53 - MeFirst = 54 - Metronome = 55 - MicleBerry = 56 - Minimize = 57 - MiracleEye = 58 - MirrorCoat = 59 - MirrorCoatTarget = 60 - MoveNext = 61 - MudSport = 62 - Nightmare = 63 - NoRetreat = 990 - Obstruct = 992 - Octolock = 993 - Outrage = 64 - ParentalBond = 65 - PerishSong = 66 - PerishSongUser = 67 - PickupItem = 68 - PickupUse = 69 - Pinch = 70 # Battle Palace only - Powder = 71 - PowerTrick = 72 - Prankster = 73 - PriorityAbility = 74 - PriorityItem = 75 - Protect = 76 - ProtectRate = 77 - Pursuit = 78 - Quash = 79 - Rage = 80 - RagePowder = 81 # Used along with FollowMe - Rollout = 82 - Roost = 83 - ShellTrap = 84 - SkyDrop = 85 - SlowStart = 86 - SmackDown = 87 - Snatch = 88 - SpikyShield = 89 - Spotlight = 90 - Stockpile = 91 - StockpileDef = 92 - StockpileSpDef = 93 - Substitute = 94 - TarShot = 991 - Taunt = 95 - Telekinesis = 96 - ThroatChop = 97 - Torment = 98 - Toxic = 99 - Transform = 100 - TransformSpecies = 101 - Trapping = 102 # Trapping move - TrappingMove = 103 - TrappingUser = 104 - Truant = 105 - TwoTurnAttack = 106 - Type3 = 107 - Unburden = 108 - Uproar = 109 - WaterSport = 110 - WeightChange = 111 - Yawn = 112 - - #=========================================================================== - # These effects apply to a battler position - #=========================================================================== - FutureSightCounter = 0 - FutureSightMove = 1 - FutureSightUserIndex = 2 - FutureSightUserPartyIndex = 3 - HealingWish = 4 - LunarDance = 5 - Wish = 6 - WishAmount = 7 - WishMaker = 8 - - #=========================================================================== - # These effects apply to a side - #=========================================================================== - AuroraVeil = 0 - CraftyShield = 1 - EchoedVoiceCounter = 2 - EchoedVoiceUsed = 3 - LastRoundFainted = 4 - LightScreen = 5 - LuckyChant = 6 - MatBlock = 7 - Mist = 8 - QuickGuard = 9 - Rainbow = 10 - Reflect = 11 - Round = 12 - Safeguard = 13 - SeaOfFire = 14 - Spikes = 15 - StealthRock = 16 - StickyWeb = 17 - Swamp = 18 - Tailwind = 19 - ToxicSpikes = 20 - WideGuard = 21 - - #=========================================================================== - # These effects apply to the battle (i.e. both sides) - #=========================================================================== - AmuletCoin = 0 - FairyLock = 1 - FusionBolt = 2 - FusionFlare = 3 - Gravity = 4 - HappyHour = 5 - IonDeluge = 6 - MagicRoom = 7 - MudSportField = 8 - PayDay = 9 - TrickRoom = 10 - WaterSportField = 11 - WonderRoom = 12 - end - -rescue Exception - if $!.is_a?(SystemExit) || "#{$!.class}"=="Reset" - raise $! - end -end diff --git a/Data/Scripts/011_Battle/001_Battler/001_PokeBattle_Battler.rb b/Data/Scripts/011_Battle/002_Battler/001_Battle_Battler.rb similarity index 99% rename from Data/Scripts/011_Battle/001_Battler/001_PokeBattle_Battler.rb rename to Data/Scripts/011_Battle/002_Battler/001_Battle_Battler.rb index 75dc077bb..636f5f5bc 100644 --- a/Data/Scripts/011_Battle/001_Battler/001_PokeBattle_Battler.rb +++ b/Data/Scripts/011_Battle/002_Battler/001_Battle_Battler.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler # Fundamental to this object attr_reader :battle attr_accessor :index @@ -517,7 +517,7 @@ class PokeBattle_Battler if hasActiveAbility?(:MAGICGUARD) if showMsg @battle.pbShowAbilitySplash(self) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} is unaffected!",pbThis)) else @battle.pbDisplay(_INTL("{1} is unaffected because of its {2}!",pbThis,abilityName)) @@ -571,7 +571,7 @@ class PokeBattle_Battler if hasActiveAbility?(:OVERCOAT) && !@battle.moldBreaker if showMsg @battle.pbShowAbilitySplash(self) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} is unaffected!",pbThis)) else @battle.pbDisplay(_INTL("{1} is unaffected because of its {2}!",pbThis,abilityName)) diff --git a/Data/Scripts/011_Battle/001_Battler/002_Battler_Initialize.rb b/Data/Scripts/011_Battle/002_Battler/002_Battler_Initialize.rb similarity index 99% rename from Data/Scripts/011_Battle/001_Battler/002_Battler_Initialize.rb rename to Data/Scripts/011_Battle/002_Battler/002_Battler_Initialize.rb index 92494e4fa..db9497cfe 100644 --- a/Data/Scripts/011_Battle/001_Battler/002_Battler_Initialize.rb +++ b/Data/Scripts/011_Battle/002_Battler/002_Battler_Initialize.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler #============================================================================= # Creating a battler #============================================================================= @@ -9,7 +9,7 @@ class PokeBattle_Battler @dummy = false @stages = {} @effects = [] - @damageState = PokeBattle_DamageState.new + @damageState = Battle::DamageState.new pbInitBlank pbInitEffects(false) end @@ -95,7 +95,7 @@ class PokeBattle_Battler @participants = [] # Participants earn Exp. if this battler is defeated @moves = [] pkmn.moves.each_with_index do |m,i| - @moves[i] = PokeBattle_Move.from_pokemon_move(@battle,m) + @moves[i] = Battle::Move.from_pokemon_move(@battle,m) end @iv = {} GameData::Stat.each_main { |s| @iv[s.id] = pkmn.iv[s.id] } diff --git a/Data/Scripts/011_Battle/001_Battler/003_Battler_ChangeSelf.rb b/Data/Scripts/011_Battle/002_Battler/003_Battler_ChangeSelf.rb similarity index 98% rename from Data/Scripts/011_Battle/001_Battler/003_Battler_ChangeSelf.rb rename to Data/Scripts/011_Battle/002_Battler/003_Battler_ChangeSelf.rb index 11cb073c3..fe860f55e 100644 --- a/Data/Scripts/011_Battle/001_Battler/003_Battler_ChangeSelf.rb +++ b/Data/Scripts/011_Battle/002_Battler/003_Battler_ChangeSelf.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler #============================================================================= # Change HP #============================================================================= @@ -122,7 +122,7 @@ class PokeBattle_Battler # Change type #============================================================================= def pbChangeTypes(newType) - if newType.is_a?(PokeBattle_Battler) + if newType.is_a?(Battle::Battler) newTypes = newType.pbTypes newTypes.push(:NORMAL) if newTypes.length == 0 newType3 = newType.effects[PBEffects::Type3] @@ -313,7 +313,7 @@ class PokeBattle_Battler end @moves.clear target.moves.each_with_index do |m,i| - @moves[i] = PokeBattle_Move.from_pokemon_move(@battle, Pokemon::Move.new(m.id)) + @moves[i] = Battle::Move.from_pokemon_move(@battle, Pokemon::Move.new(m.id)) @moves[i].pp = 5 @moves[i].total_pp = 5 end diff --git a/Data/Scripts/011_Battle/001_Battler/004_Battler_Statuses.rb b/Data/Scripts/011_Battle/002_Battler/004_Battler_Statuses.rb similarity index 98% rename from Data/Scripts/011_Battle/001_Battler/004_Battler_Statuses.rb rename to Data/Scripts/011_Battle/002_Battler/004_Battler_Statuses.rb index f9b2562f3..899706c48 100644 --- a/Data/Scripts/011_Battle/001_Battler/004_Battler_Statuses.rb +++ b/Data/Scripts/011_Battle/002_Battler/004_Battler_Statuses.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler #============================================================================= # Generalised checks for whether a status problem can be inflicted #============================================================================= @@ -121,7 +121,7 @@ class PokeBattle_Battler if showMessages @battle.pbShowAbilitySplash(immAlly || self) msg = "" - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH case newStatus when :SLEEP then msg = _INTL("{1} stays awake!", pbThis) when :POISON then msg = _INTL("{1} cannot be poisoned!", pbThis) @@ -458,7 +458,7 @@ class PokeBattle_Battler if hasActiveAbility?(:OWNTEMPO) if showMessages @battle.pbShowAbilitySplash(self) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} doesn't become confused!",pbThis)) else @battle.pbDisplay(_INTL("{1}'s {2} prevents confusion!",pbThis,abilityName)) @@ -520,7 +520,7 @@ class PokeBattle_Battler if hasActiveAbility?([:AROMAVEIL,:OBLIVIOUS]) if showMessages @battle.pbShowAbilitySplash(self) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} is unaffected!",pbThis)) else @battle.pbDisplay(_INTL("{1}'s {2} prevents romance!",pbThis,abilityName)) @@ -533,7 +533,7 @@ class PokeBattle_Battler next if !b.hasActiveAbility?(:AROMAVEIL) if showMessages @battle.pbShowAbilitySplash(self) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} is unaffected!",pbThis)) else @battle.pbDisplay(_INTL("{1}'s {2} prevents romance!",b.pbThis,b.abilityName)) diff --git a/Data/Scripts/011_Battle/001_Battler/005_Battler_StatStages.rb b/Data/Scripts/011_Battle/002_Battler/005_Battler_StatStages.rb similarity index 95% rename from Data/Scripts/011_Battle/001_Battler/005_Battler_StatStages.rb rename to Data/Scripts/011_Battle/002_Battler/005_Battler_StatStages.rb index a366c1f88..3e61f8ded 100644 --- a/Data/Scripts/011_Battle/001_Battler/005_Battler_StatStages.rb +++ b/Data/Scripts/011_Battle/002_Battler/005_Battler_StatStages.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler #============================================================================= # Increase stat stages #============================================================================= @@ -97,8 +97,8 @@ class PokeBattle_Battler return false if fainted? ret = false @battle.pbShowAbilitySplash(user) if splashAnim - if pbCanRaiseStatStage?(stat,user,nil,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if pbCanRaiseStatStage?(stat,user,nil,Battle::Scene::USE_ABILITY_SPLASH) + if Battle::Scene::USE_ABILITY_SPLASH ret = pbRaiseStatStage(stat,increment,user) else ret = pbRaiseStatStageByCause(stat,increment,user,user.abilityName) @@ -194,7 +194,7 @@ class PokeBattle_Battler user && user.index != @index && !statStageAtMin?(stat) if mirrorArmorSplash < 2 @battle.pbShowAbilitySplash(self) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1}'s {2} activated!", pbThis, abilityName)) end end @@ -234,7 +234,7 @@ class PokeBattle_Battler if hasActiveAbility?(:MIRRORARMOR) && !ignoreMirrorArmor && user && user.index != @index && !statStageAtMin?(stat) @battle.pbShowAbilitySplash(self) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1}'s {2} activated!", pbThis, abilityName)) end ret = false @@ -272,9 +272,9 @@ class PokeBattle_Battler def pbLowerStatStageByAbility(stat,increment,user,splashAnim=true,checkContact=false) ret = false @battle.pbShowAbilitySplash(user) if splashAnim - if pbCanLowerStatStage?(stat,user,nil,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) && - (!checkContact || affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH)) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if pbCanLowerStatStage?(stat,user,nil,Battle::Scene::USE_ABILITY_SPLASH) && + (!checkContact || affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH)) + if Battle::Scene::USE_ABILITY_SPLASH ret = pbLowerStatStage(stat,increment,user) else ret = pbLowerStatStageByCause(stat,increment,user,user.abilityName) @@ -288,7 +288,7 @@ class PokeBattle_Battler return false if fainted? # NOTE: Substitute intentially blocks Intimidate even if self has Contrary. if @effects[PBEffects::Substitute]>0 - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} is protected by its substitute!",pbThis)) else @battle.pbDisplay(_INTL("{1}'s substitute protected it from {2}'s {3}!", @@ -298,7 +298,7 @@ class PokeBattle_Battler end if Settings::MECHANICS_GENERATION >= 8 && hasActiveAbility?([:OBLIVIOUS, :OWNTEMPO, :INNERFOCUS, :SCRAPPY]) @battle.pbShowAbilitySplash(self) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1}'s {2} cannot be lowered!", pbThis, GameData::Stat.get(:ATTACK).name)) else @battle.pbDisplay(_INTL("{1}'s {2} prevents {3} loss!", pbThis, abilityName, @@ -307,7 +307,7 @@ class PokeBattle_Battler @battle.pbHideAbilitySplash(self) return false end - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH return pbLowerStatStageByAbility(:ATTACK,1,user,false) end # NOTE: These checks exist to ensure appropriate messages are shown if diff --git a/Data/Scripts/011_Battle/001_Battler/006_Battler_AbilityAndItem.rb b/Data/Scripts/011_Battle/002_Battler/006_Battler_AbilityAndItem.rb similarity index 98% rename from Data/Scripts/011_Battle/001_Battler/006_Battler_AbilityAndItem.rb rename to Data/Scripts/011_Battle/002_Battler/006_Battler_AbilityAndItem.rb index 0c855c084..0f6000aea 100644 --- a/Data/Scripts/011_Battle/001_Battler/006_Battler_AbilityAndItem.rb +++ b/Data/Scripts/011_Battle/002_Battler/006_Battler_AbilityAndItem.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler #============================================================================= # Ability effects #============================================================================= @@ -185,7 +185,7 @@ class PokeBattle_Battler next if !b.item || b.unlosableItem?(b.item) next if unlosableItem?(b.item) @battle.pbShowAbilitySplash(b) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} shared its {2} with {3}!", b.pbThis,b.itemName,pbThis(true))) else @@ -208,7 +208,7 @@ class PokeBattle_Battler if hasActiveAbility?(:CHEEKPOUCH) && GameData::Item.get(item_to_use).is_berry? && canHeal? @battle.pbShowAbilitySplash(self) pbRecoverHP(@totalhp / 3) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1}'s HP was restored.", pbThis)) else @battle.pbDisplay(_INTL("{1}'s {2} restored its HP.", pbThis, abilityName)) diff --git a/Data/Scripts/011_Battle/001_Battler/007_Battler_UseMove.rb b/Data/Scripts/011_Battle/002_Battler/007_Battler_UseMove.rb similarity index 98% rename from Data/Scripts/011_Battle/001_Battler/007_Battler_UseMove.rb rename to Data/Scripts/011_Battle/002_Battler/007_Battler_UseMove.rb index 39094a130..26b6ff93f 100644 --- a/Data/Scripts/011_Battle/001_Battler/007_Battler_UseMove.rb +++ b/Data/Scripts/011_Battle/002_Battler/007_Battler_UseMove.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler #============================================================================= # Turn processing #============================================================================= @@ -125,7 +125,7 @@ class PokeBattle_Battler def pbConfusionDamage(msg) @damageState.reset - confusionMove = PokeBattle_Confusion.new(@battle,nil) + confusionMove = Battle::Move::Confusion.new(@battle,nil) confusionMove.calcType = confusionMove.pbCalcType(self) # nil @damageState.typeMod = confusionMove.pbCalcTypeMod(confusionMove.calcType,self,self) # 8 confusionMove.pbCheckDamageAbsorption(self,self) @@ -151,7 +151,7 @@ class PokeBattle_Battler if idxMove>=0 choice[2] = @moves[idxMove] else - choice[2] = PokeBattle_Move.from_pokemon_move(@battle, Pokemon::Move.new(moveID)) + choice[2] = Battle::Move.from_pokemon_move(@battle, Pokemon::Move.new(moveID)) choice[2].pp = -1 end choice[3] = target # Target (-1 means no target yet) @@ -170,7 +170,7 @@ class PokeBattle_Battler pbBeginTurn(choice) # Force the use of certain moves if they're already being used if usingMultiTurnAttack? - choice[2] = PokeBattle_Move.from_pokemon_move(@battle, Pokemon::Move.new(@currentMove)) + choice[2] = Battle::Move.from_pokemon_move(@battle, Pokemon::Move.new(@currentMove)) specialUsage = true elsif @effects[PBEffects::Encore]>0 && choice[1]>=0 && @battle.pbCanShowCommands?(@index) @@ -555,7 +555,7 @@ class PokeBattle_Battler preTarget = user.index if nextUser.opposes?(user) || !nextUser.opposes?(preTarget) @battle.pbShowAbilitySplash(nextUser,true) @battle.pbHideAbilitySplash(nextUser) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} kept the dance going with {2}!", nextUser.pbThis,nextUser.abilityName)) end diff --git a/Data/Scripts/011_Battle/001_Battler/008_Battler_UseMove_Targeting.rb b/Data/Scripts/011_Battle/002_Battler/008_Battler_UseMoveTargeting.rb similarity index 99% rename from Data/Scripts/011_Battle/001_Battler/008_Battler_UseMove_Targeting.rb rename to Data/Scripts/011_Battle/002_Battler/008_Battler_UseMoveTargeting.rb index 5f55ea3bc..05d98aa2a 100644 --- a/Data/Scripts/011_Battle/001_Battler/008_Battler_UseMove_Targeting.rb +++ b/Data/Scripts/011_Battle/002_Battler/008_Battler_UseMoveTargeting.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler #============================================================================= # Get move's user #============================================================================= @@ -156,7 +156,7 @@ class PokeBattle_Battler @battle.pbShowAbilitySplash(b) targets.clear pbAddTarget(targets,user,b,move,nearOnly) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} took the attack!",b.pbThis)) else @battle.pbDisplay(_INTL("{1} took the attack with its {2}!",b.pbThis,b.abilityName)) diff --git a/Data/Scripts/011_Battle/001_Battler/009_Battler_UseMove_SuccessChecks.rb b/Data/Scripts/011_Battle/002_Battler/009_Battler_UseMoveSuccessChecks.rb similarity index 99% rename from Data/Scripts/011_Battle/001_Battler/009_Battler_UseMove_SuccessChecks.rb rename to Data/Scripts/011_Battle/002_Battler/009_Battler_UseMoveSuccessChecks.rb index d20eb682f..e83303e06 100644 --- a/Data/Scripts/011_Battle/001_Battler/009_Battler_UseMove_SuccessChecks.rb +++ b/Data/Scripts/011_Battle/002_Battler/009_Battler_UseMoveSuccessChecks.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler #============================================================================= # Decide whether the trainer is allowed to tell the Pokémon to use the given # move. Called when choosing a command for the round. @@ -455,7 +455,7 @@ class PokeBattle_Battler if target.hasActiveAbility?(:LEVITATE) && !@battle.moldBreaker if show_message @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} avoided the attack!", target.pbThis)) else @battle.pbDisplay(_INTL("{1} avoided the attack with {2}!", target.pbThis, target.abilityName)) @@ -488,7 +488,7 @@ class PokeBattle_Battler if target.hasActiveAbility?(:OVERCOAT) && !@battle.moldBreaker if show_message @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("It doesn't affect {1}...", target.pbThis(true))) else @battle.pbDisplay(_INTL("It doesn't affect {1} because of its {2}.", target.pbThis(true), target.abilityName)) diff --git a/Data/Scripts/011_Battle/001_Battler/010_Battler_UseMove_TriggerEffects.rb b/Data/Scripts/011_Battle/002_Battler/010_Battler_UseMoveTriggerEffects.rb similarity index 98% rename from Data/Scripts/011_Battle/001_Battler/010_Battler_UseMove_TriggerEffects.rb rename to Data/Scripts/011_Battle/002_Battler/010_Battler_UseMoveTriggerEffects.rb index f7d1c13cd..2ecb5f8b9 100644 --- a/Data/Scripts/011_Battle/001_Battler/010_Battler_UseMove_TriggerEffects.rb +++ b/Data/Scripts/011_Battle/002_Battler/010_Battler_UseMoveTriggerEffects.rb @@ -1,4 +1,4 @@ -class PokeBattle_Battler +class Battle::Battler #============================================================================= # Effect per hit #============================================================================= @@ -18,7 +18,7 @@ class PokeBattle_Battler # target Cramorant attacking the user) and the ability splash # shouldn't be shown. @battle.pbShowAbilitySplash(target) - if user.takesIndirectDamage?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.takesIndirectDamage?(Battle::Scene::USE_ABILITY_SPLASH) @battle.scene.pbDamageAnimation(user) user.pbReduceHP(user.totalhp / 4, false) end diff --git a/Data/Scripts/011_Battle/002_Move/001_PokeBattle_Move.rb b/Data/Scripts/011_Battle/003_Move/001_Battle_Move.rb similarity index 91% rename from Data/Scripts/011_Battle/002_Move/001_PokeBattle_Move.rb rename to Data/Scripts/011_Battle/003_Move/001_Battle_Move.rb index 5efb9c097..e247e1cd8 100644 --- a/Data/Scripts/011_Battle/002_Move/001_PokeBattle_Move.rb +++ b/Data/Scripts/011_Battle/003_Move/001_Battle_Move.rb @@ -1,4 +1,4 @@ -class PokeBattle_Move +class Battle::Move attr_reader :battle attr_reader :realMove attr_accessor :id @@ -44,17 +44,21 @@ class PokeBattle_Move @snatched = false end - # This is the code actually used to generate a PokeBattle_Move object. The + # This is the code actually used to generate a Battle::Move object. The # object generated is a subclass of this one which depends on the move's - # function code (found in the script section PokeBattle_MoveEffect). - def PokeBattle_Move.from_pokemon_move(battle, move) + # function code. + def self.from_pokemon_move(battle, move) validate move => Pokemon::Move - moveFunction = move.function_code || "None" - className = sprintf("PokeBattle_Move_%s", moveFunction) - if Object.const_defined?(className) - return Object.const_get(className).new(battle, move) + code = move.function_code || "None" + if code[/^\d/] # Begins with a digit + class_name = sprintf("Battle::Move::Effect%s", code) + else + class_name = sprintf("Battle::Move::%s", code) end - return PokeBattle_UnimplementedMove.new(battle, move) + if Object.const_defined?(class_name) + return Object.const_get(class_name).new(battle, move) + end + return Battle::Move::Unimplemented.new(battle, move) end #============================================================================= diff --git a/Data/Scripts/011_Battle/002_Move/002_Move_Usage.rb b/Data/Scripts/011_Battle/003_Move/002_Move_Usage.rb similarity index 98% rename from Data/Scripts/011_Battle/002_Move/002_Move_Usage.rb rename to Data/Scripts/011_Battle/003_Move/002_Move_Usage.rb index 461097493..92f83212a 100644 --- a/Data/Scripts/011_Battle/002_Move/002_Move_Usage.rb +++ b/Data/Scripts/011_Battle/003_Move/002_Move_Usage.rb @@ -1,4 +1,4 @@ -class PokeBattle_Move +class Battle::Move #============================================================================= # Effect methods per move usage #============================================================================= @@ -127,7 +127,7 @@ class PokeBattle_Move if target.hasActiveAbility?(:AROMAVEIL) if showMessage @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} is unaffected!",target.pbThis)) else @battle.pbDisplay(_INTL("{1} is unaffected because of its {2}!", @@ -141,7 +141,7 @@ class PokeBattle_Move next if !b.hasActiveAbility?(:AROMAVEIL) if showMessage @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} is unaffected!",target.pbThis)) else @battle.pbDisplay(_INTL("{1} is unaffected because of {2}'s {3}!", @@ -317,7 +317,7 @@ class PokeBattle_Move def pbEndureKOMessage(target) if target.damageState.disguise @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("Its disguise served it as a decoy!")) else @battle.pbDisplay(_INTL("{1}'s disguise served it as a decoy!",target.pbThis)) @@ -327,7 +327,7 @@ class PokeBattle_Move target.pbReduceHP(target.totalhp / 8, false) if Settings::MECHANICS_GENERATION >= 8 elsif target.damageState.iceFace @battle.pbShowAbilitySplash(target) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1}'s {2} activated!", target.pbThis, target.abilityName)) end target.pbChangeForm(1, _INTL("{1} transformed!", target.pbThis)) @@ -336,7 +336,7 @@ class PokeBattle_Move @battle.pbDisplay(_INTL("{1} endured the hit!",target.pbThis)) elsif target.damageState.sturdy @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} endured the hit!",target.pbThis)) else @battle.pbDisplay(_INTL("{1} hung on with Sturdy!",target.pbThis)) diff --git a/Data/Scripts/011_Battle/002_Move/003_Move_Usage_Calculations.rb b/Data/Scripts/011_Battle/003_Move/003_Move_UsageCalculations.rb similarity index 99% rename from Data/Scripts/011_Battle/002_Move/003_Move_Usage_Calculations.rb rename to Data/Scripts/011_Battle/003_Move/003_Move_UsageCalculations.rb index 3dd808dde..6468e3503 100644 --- a/Data/Scripts/011_Battle/002_Move/003_Move_Usage_Calculations.rb +++ b/Data/Scripts/011_Battle/003_Move/003_Move_UsageCalculations.rb @@ -1,4 +1,4 @@ -class PokeBattle_Move +class Battle::Move #============================================================================= # Move's type calculation #============================================================================= @@ -335,7 +335,7 @@ class PokeBattle_Move if user.effects[PBEffects::MeFirst] multipliers[:base_damage_multiplier] *= 1.5 end - if user.effects[PBEffects::HelpingHand] && !self.is_a?(PokeBattle_Confusion) + if user.effects[PBEffects::HelpingHand] && !self.is_a?(Battle::Move::Confusion) multipliers[:base_damage_multiplier] *= 1.5 end if user.effects[PBEffects::Charge]>0 && type == :ELECTRIC @@ -420,7 +420,7 @@ class PokeBattle_Move end end # Random variance - if !self.is_a?(PokeBattle_Confusion) + if !self.is_a?(Battle::Move::Confusion) random = 85+@battle.pbRandom(16) multipliers[:final_damage_multiplier] *= random / 100.0 end diff --git a/Data/Scripts/011_Battle/002_Move/004_Move_BaseEffects.rb b/Data/Scripts/011_Battle/003_Move/004_Move_BaseEffects.rb similarity index 94% rename from Data/Scripts/011_Battle/002_Move/004_Move_BaseEffects.rb rename to Data/Scripts/011_Battle/003_Move/004_Move_BaseEffects.rb index ef69e70e1..fd1a15440 100644 --- a/Data/Scripts/011_Battle/002_Move/004_Move_BaseEffects.rb +++ b/Data/Scripts/011_Battle/003_Move/004_Move_BaseEffects.rb @@ -1,9 +1,13 @@ +# DO NOT USE ANY CLASS NAMES IN HERE AS FUNCTION CODES! +# These are base classes for other classes to build on; those other classes are +# named after function codes, so use those instead. + #=============================================================================== # Superclass that handles moves using a non-existent function code. # Damaging moves just do damage with no additional effect. # Status moves always fail. #=============================================================================== -class PokeBattle_UnimplementedMove < PokeBattle_Move +class Battle::Move::Unimplemented < Battle::Move def pbMoveFailed?(user,targets) if statusMove? @battle.pbDisplay(_INTL("But it failed!")) @@ -18,7 +22,7 @@ end #=============================================================================== # Pseudomove for confusion damage. #=============================================================================== -class PokeBattle_Confusion < PokeBattle_Move +class Battle::Move::Confusion < Battle::Move def initialize(battle,move) @battle = battle @realMove = move @@ -48,9 +52,8 @@ end #=============================================================================== # Implements the move Struggle. -# For cases where the real move named Struggle is not defined. #=============================================================================== -class PokeBattle_Struggle < PokeBattle_Move +class Battle::Move::Struggle < Battle::Move def initialize(battle,move) @battle = battle @realMove = nil # Not associated with a move @@ -87,7 +90,7 @@ end #=============================================================================== # Generic status problem-inflicting classes. #=============================================================================== -class PokeBattle_SleepMove < PokeBattle_Move +class Battle::Move::SleepMove < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -108,7 +111,7 @@ end -class PokeBattle_PoisonMove < PokeBattle_Move +class Battle::Move::PoisonMove < Battle::Move def canMagicCoat?; return true; end def initialize(battle,move) @@ -134,7 +137,7 @@ end -class PokeBattle_ParalysisMove < PokeBattle_Move +class Battle::Move::ParalysisMove < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -155,7 +158,7 @@ end -class PokeBattle_BurnMove < PokeBattle_Move +class Battle::Move::BurnMove < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -176,7 +179,7 @@ end -class PokeBattle_FreezeMove < PokeBattle_Move +class Battle::Move::FreezeMove < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -200,7 +203,7 @@ end #=============================================================================== # Other problem-causing classes. #=============================================================================== -class PokeBattle_FlinchMove < PokeBattle_Move +class Battle::Move::FlinchMove < Battle::Move def flinchingMove?; return true; end def pbEffectAgainstTarget(user,target) @@ -216,7 +219,7 @@ end -class PokeBattle_ConfuseMove < PokeBattle_Move +class Battle::Move::ConfuseMove < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -241,7 +244,7 @@ end #=============================================================================== # Generic user's stat increase/decrease classes. #=============================================================================== -class PokeBattle_StatUpMove < PokeBattle_Move +class Battle::Move::StatUpMove < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -263,7 +266,7 @@ end -class PokeBattle_MultiStatUpMove < PokeBattle_Move +class Battle::Move::MultiStatUpMove < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -305,7 +308,7 @@ end -class PokeBattle_StatDownMove < PokeBattle_Move +class Battle::Move::StatDownMove < Battle::Move def pbEffectWhenDealingDamage(user,target) return if @battle.pbAllFainted?(target.idxOwnSide) showAnim = true @@ -323,7 +326,7 @@ end #=============================================================================== # Generic target's stat increase/decrease classes. #=============================================================================== -class PokeBattle_TargetStatDownMove < PokeBattle_Move +class Battle::Move::TargetStatDownMove < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -345,7 +348,7 @@ end -class PokeBattle_TargetMultiStatDownMove < PokeBattle_Move +class Battle::Move::TargetMultiStatDownMove < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -394,7 +397,7 @@ class PokeBattle_TargetMultiStatDownMove < PokeBattle_Move end if failed @battle.pbShowAbilitySplash(target) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1}'s {2} activated!", target.pbThis, target.abilityName)) end user.pbCanLowerStatStage?(@statDown[0], target, self, true, false, true) # Show fail message @@ -434,7 +437,7 @@ end #=============================================================================== # Fixed damage-inflicting move. #=============================================================================== -class PokeBattle_FixedDamageMove < PokeBattle_Move +class Battle::Move::FixedDamageMove < Battle::Move def pbFixedDamage(user,target); return 1; end def pbCalcDamage(user,target,numTargets=1) @@ -449,7 +452,7 @@ end #=============================================================================== # Two turn move. #=============================================================================== -class PokeBattle_TwoTurnMove < PokeBattle_Move +class Battle::Move::TwoTurnMove < Battle::Move attr_reader :chargingTurn def chargingTurnMove?; return true; end @@ -538,7 +541,7 @@ end #=============================================================================== # Healing move. #=============================================================================== -class PokeBattle_HealingMove < PokeBattle_Move +class Battle::Move::HealingMove < Battle::Move def healingMove?; return true; end def pbHealAmount(user); return 1; end def canSnatch?; return true; end @@ -563,7 +566,7 @@ end #=============================================================================== # Recoil move. #=============================================================================== -class PokeBattle_RecoilMove < PokeBattle_Move +class Battle::Move::RecoilMove < Battle::Move def recoilMove?; return true; end def pbRecoilDamage(user,target); return 1; end @@ -584,7 +587,7 @@ end #=============================================================================== # Protect move. #=============================================================================== -class PokeBattle_ProtectMove < PokeBattle_Move +class Battle::Move::ProtectMove < Battle::Move def initialize(battle,move) super @sidedEffect = false @@ -646,7 +649,7 @@ end #=============================================================================== # Weather-inducing move. #=============================================================================== -class PokeBattle_WeatherMove < PokeBattle_Move +class Battle::Move::WeatherMove < Battle::Move def initialize(battle,move) super @weatherType = :None @@ -680,7 +683,7 @@ end #=============================================================================== # Pledge move. #=============================================================================== -class PokeBattle_PledgeMove < PokeBattle_Move +class Battle::Move::PledgeMove < Battle::Move def pbOnStartUse(user,targets) @pledgeSetup = false @pledgeCombo = false diff --git a/Data/Scripts/011_Battle/002_Move/005_MoveEffects_Misc.rb b/Data/Scripts/011_Battle/003_Move/005_MoveEffects_Misc.rb similarity index 90% rename from Data/Scripts/011_Battle/002_Move/005_MoveEffects_Misc.rb rename to Data/Scripts/011_Battle/003_Move/005_MoveEffects_Misc.rb index 1dfea5b45..3834b0d48 100644 --- a/Data/Scripts/011_Battle/002_Move/005_MoveEffects_Misc.rb +++ b/Data/Scripts/011_Battle/003_Move/005_MoveEffects_Misc.rb @@ -1,13 +1,13 @@ #=============================================================================== # No additional effect. #=============================================================================== -class PokeBattle_Move_None < PokeBattle_Move +class Battle::Move::None < Battle::Move end #=============================================================================== # Does absolutely nothing. Shows a special message. (Celebrate) #=============================================================================== -class PokeBattle_Move_DoesNothingCongratuations < PokeBattle_Move +class Battle::Move::DoesNothingCongratuations < Battle::Move def pbEffectGeneral(user) if user.wild? @battle.pbDisplay(_INTL("Congratulations from {1}!",user.pbThis(true))) @@ -20,7 +20,7 @@ end #=============================================================================== # Does absolutely nothing. (Hold Hands) #=============================================================================== -class PokeBattle_Move_DoesNothingFailsIfNoAlly < PokeBattle_Move +class Battle::Move::DoesNothingFailsIfNoAlly < Battle::Move def ignoresSubstitute?(user); return true; end def pbMoveFailed?(user,targets) @@ -35,7 +35,7 @@ end #=============================================================================== # Does absolutely nothing. (Splash) #=============================================================================== -class PokeBattle_Move_DoesNothingUnusableInGravity < PokeBattle_Move +class Battle::Move::DoesNothingUnusableInGravity < Battle::Move def unusableInGravity?; return true; end def pbEffectGeneral(user) @@ -43,12 +43,6 @@ class PokeBattle_Move_DoesNothingUnusableInGravity < PokeBattle_Move end end -#=============================================================================== -# Struggle, if defined as a move in moves.txt. Typically it won't be. -#=============================================================================== -class PokeBattle_Move_Struggle < PokeBattle_Struggle -end - #=============================================================================== # Scatters coins that the player picks up after winning the battle. (Pay Day) # NOTE: In Gen 6+, if the user levels up after this move is used, the amount of @@ -56,7 +50,7 @@ end # when it used the move. I think this is silly, so I haven't coded this # effect. #=============================================================================== -class PokeBattle_Move_AddMoneyGainedFromBattle < PokeBattle_Move +class Battle::Move::AddMoneyGainedFromBattle < Battle::Move def pbEffectGeneral(user) if user.pbOwnedByPlayer? @battle.field.effects[PBEffects::PayDay] += 5*user.level @@ -68,7 +62,7 @@ end #=============================================================================== # Doubles the prize money the player gets after winning the battle. (Happy Hour) #=============================================================================== -class PokeBattle_Move_DoubleMoneyGainedFromBattle < PokeBattle_Move +class Battle::Move::DoubleMoneyGainedFromBattle < Battle::Move def pbEffectGeneral(user) @battle.field.effects[PBEffects::HappyHour] = true if !user.opposes? @battle.pbDisplay(_INTL("Everyone is caught up in the happy atmosphere!")) @@ -78,7 +72,7 @@ end #=============================================================================== # Fails if this isn't the user's first turn. (First Impression) #=============================================================================== -class PokeBattle_Move_FailsIfNotUserFirstTurn < PokeBattle_Move +class Battle::Move::FailsIfNotUserFirstTurn < Battle::Move def pbMoveFailed?(user,targets) if user.turnCount > 1 @battle.pbDisplay(_INTL("But it failed!")) @@ -91,7 +85,7 @@ end #=============================================================================== # Fails unless user has already used all other moves it knows. (Last Resort) #=============================================================================== -class PokeBattle_Move_FailsIfUserHasUnusedMove < PokeBattle_Move +class Battle::Move::FailsIfUserHasUnusedMove < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) hasThisMove = false hasOtherMoves = false @@ -112,7 +106,7 @@ end #=============================================================================== # Fails unless user has consumed a berry at some point. (Belch) #=============================================================================== -class PokeBattle_Move_FailsIfUserNotConsumedBerry < PokeBattle_Move +class Battle::Move::FailsIfUserNotConsumedBerry < Battle::Move def pbCanChooseMove?(user,commandPhase,showMessages) if !user.belched? if showMessages @@ -137,7 +131,7 @@ end # Fails if the target is not holding an item, or if the target is affected by # Magic Room/Klutz. (Poltergeist) #=============================================================================== -class PokeBattle_Move_FailsIfTargetHasNoItem < PokeBattle_Move +class Battle::Move::FailsIfTargetHasNoItem < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) if !target.item || !target.itemActive? @battle.pbDisplay(_INTL("But it failed!")) if show_message @@ -151,7 +145,7 @@ end #=============================================================================== # Only damages Pokémon that share a type with the user. (Synchronoise) #=============================================================================== -class PokeBattle_Move_FailsUnlessTargetSharesTypeWithUser < PokeBattle_Move +class Battle::Move::FailsUnlessTargetSharesTypeWithUser < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) userTypes = user.pbTypes(true) targetTypes = target.pbTypes(true) @@ -172,7 +166,7 @@ end #=============================================================================== # Fails if user was hit by a damaging move this round. (Focus Punch) #=============================================================================== -class PokeBattle_Move_FailsIfUserDamagedThisTurn < PokeBattle_Move +class Battle::Move::FailsIfUserDamagedThisTurn < Battle::Move def pbDisplayChargeMessage(user) user.effects[PBEffects::FocusPunch] = true @battle.pbCommonAnimation("FocusPunch",user) @@ -196,7 +190,7 @@ end # Fails if the target didn't chose a damaging move to use this round, or has # already moved. (Sucker Punch) #=============================================================================== -class PokeBattle_Move_FailsIfTargetActed < PokeBattle_Move +class Battle::Move::FailsIfTargetActed < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) if @battle.choices[target.index][0]!=:UseMove @battle.pbDisplay(_INTL("But it failed!")) if show_message @@ -217,7 +211,7 @@ end # If attack misses, user takes crash damage of 1/2 of max HP. # (High Jump Kick, Jump Kick) #=============================================================================== -class PokeBattle_Move_CrashDamageIfFailsUnusableInGravity < PokeBattle_Move +class Battle::Move::CrashDamageIfFailsUnusableInGravity < Battle::Move def recoilMove?; return true; end def unusableInGravity?; return true; end @@ -234,7 +228,7 @@ end #=============================================================================== # Starts sunny weather. (Sunny Day) #=============================================================================== -class PokeBattle_Move_StartSunWeather < PokeBattle_WeatherMove +class Battle::Move::StartSunWeather < Battle::Move::WeatherMove def initialize(battle,move) super @weatherType = :Sun @@ -244,7 +238,7 @@ end #=============================================================================== # Starts rainy weather. (Rain Dance) #=============================================================================== -class PokeBattle_Move_StartRainWeather < PokeBattle_WeatherMove +class Battle::Move::StartRainWeather < Battle::Move::WeatherMove def initialize(battle,move) super @weatherType = :Rain @@ -254,7 +248,7 @@ end #=============================================================================== # Starts sandstorm weather. (Sandstorm) #=============================================================================== -class PokeBattle_Move_StartSandstormWeather < PokeBattle_WeatherMove +class Battle::Move::StartSandstormWeather < Battle::Move::WeatherMove def initialize(battle,move) super @weatherType = :Sandstorm @@ -264,7 +258,7 @@ end #=============================================================================== # Starts hail weather. (Hail) #=============================================================================== -class PokeBattle_Move_StartHailWeather < PokeBattle_WeatherMove +class Battle::Move::StartHailWeather < Battle::Move::WeatherMove def initialize(battle,move) super @weatherType = :Hail @@ -276,7 +270,7 @@ end # prevents Pokémon from falling asleep. Affects non-airborne Pokémon only. # (Electric Terrain) #=============================================================================== -class PokeBattle_Move_StartElectricTerrain < PokeBattle_Move +class Battle::Move::StartElectricTerrain < Battle::Move def pbMoveFailed?(user,targets) if @battle.field.terrain == :Electric @battle.pbDisplay(_INTL("But it failed!")) @@ -295,7 +289,7 @@ end # Pokémon at the end of each round. Affects non-airborne Pokémon only. # (Grassy Terrain) #=============================================================================== -class PokeBattle_Move_StartGrassyTerrain < PokeBattle_Move +class Battle::Move::StartGrassyTerrain < Battle::Move def pbMoveFailed?(user,targets) if @battle.field.terrain == :Grassy @battle.pbDisplay(_INTL("But it failed!")) @@ -314,7 +308,7 @@ end # protects Pokémon from status problems. Affects non-airborne Pokémon only. # (Misty Terrain) #=============================================================================== -class PokeBattle_Move_StartMistyTerrain < PokeBattle_Move +class Battle::Move::StartMistyTerrain < Battle::Move def pbMoveFailed?(user,targets) if @battle.field.terrain == :Misty @battle.pbDisplay(_INTL("But it failed!")) @@ -333,7 +327,7 @@ end # prevents Pokémon from being hit by >0 priority moves. Affects non-airborne # Pokémon only. (Psychic Terrain) #=============================================================================== -class PokeBattle_Move_StartPsychicTerrain < PokeBattle_Move +class Battle::Move::StartPsychicTerrain < Battle::Move def pbMoveFailed?(user,targets) if @battle.field.terrain == :Psychic @battle.pbDisplay(_INTL("But it failed!")) @@ -351,7 +345,7 @@ end # Removes the current terrain. Fails if there is no terrain in effect. # (Steel Roller) #=============================================================================== -class PokeBattle_Move_RemoveTerrain < PokeBattle_Move +class Battle::Move::RemoveTerrain < Battle::Move def pbMoveFailed?(user, targets) if @battle.field.terrain == :None @battle.pbDisplay(_INTL("But it failed!")) @@ -378,7 +372,7 @@ end #=============================================================================== # Entry hazard. Lays spikes on the opposing side (max. 3 layers). (Spikes) #=============================================================================== -class PokeBattle_Move_AddSpikesToFoeSide < PokeBattle_Move +class Battle::Move::AddSpikesToFoeSide < Battle::Move def canMagicCoat?; return true; end def pbMoveFailed?(user,targets) @@ -400,7 +394,7 @@ end # Entry hazard. Lays poison spikes on the opposing side (max. 2 layers). # (Toxic Spikes) #=============================================================================== -class PokeBattle_Move_AddToxicSpikesToFoeSide < PokeBattle_Move +class Battle::Move::AddToxicSpikesToFoeSide < Battle::Move def canMagicCoat?; return true; end def pbMoveFailed?(user,targets) @@ -421,7 +415,7 @@ end #=============================================================================== # Entry hazard. Lays stealth rocks on the opposing side. (Stealth Rock) #=============================================================================== -class PokeBattle_Move_AddStealthRocksToFoeSide < PokeBattle_Move +class Battle::Move::AddStealthRocksToFoeSide < Battle::Move def canMagicCoat?; return true; end def pbMoveFailed?(user,targets) @@ -442,7 +436,7 @@ end #=============================================================================== # Entry hazard. Lays stealth rocks on the opposing side. (Sticky Web) #=============================================================================== -class PokeBattle_Move_AddStickyWebToFoeSide < PokeBattle_Move +class Battle::Move::AddStickyWebToFoeSide < Battle::Move def canMagicCoat?; return true; end def pbMoveFailed?(user,targets) @@ -464,7 +458,7 @@ end # All effects that apply to one side of the field are swapped to the opposite # side. (Court Change) #=============================================================================== -class PokeBattle_Move_SwapSideEffects < PokeBattle_Move +class Battle::Move::SwapSideEffects < Battle::Move def initialize(battle, move) super @number_effects = [ @@ -526,7 +520,7 @@ end #=============================================================================== # User turns 1/4 of max HP into a substitute. (Substitute) #=============================================================================== -class PokeBattle_Move_UserMakeSubstitute < PokeBattle_Move +class Battle::Move::UserMakeSubstitute < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -560,7 +554,7 @@ end # Removes trapping moves, entry hazards and Leech Seed on user/user's side. # Raises user's Speed by 1 stage (Gen 8+). (Rapid Spin) #=============================================================================== -class PokeBattle_Move_RemoveUserBindingAndEntryHazards < PokeBattle_StatUpMove +class Battle::Move::RemoveUserBindingAndEntryHazards < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:SPEED, 1] @@ -606,7 +600,7 @@ end #=============================================================================== # Attacks 2 rounds in the future. (Doom Desire, Future Sight) #=============================================================================== -class PokeBattle_Move_AttackTwoTurnsLater < PokeBattle_Move +class Battle::Move::AttackTwoTurnsLater < Battle::Move def targetsPosition?; return true; end def pbDamagingMove? # Stops damage being dealt in the setting-up turn @@ -655,7 +649,7 @@ end #=============================================================================== # User switches places with its ally. (Ally Switch) #=============================================================================== -class PokeBattle_Move_UserSwapsPositionsWithAlly < PokeBattle_Move +class Battle::Move::UserSwapsPositionsWithAlly < Battle::Move def pbMoveFailed?(user,targets) numTargets = 0 @idxAlly = -1 @@ -688,7 +682,7 @@ end # If a Pokémon makes contact with the user before it uses this move, the # attacker is burned. (Beak Blast) #=============================================================================== -class PokeBattle_Move_BurnAttackerBeforeUserActs < PokeBattle_Move +class Battle::Move::BurnAttackerBeforeUserActs < Battle::Move def pbDisplayChargeMessage(user) user.effects[PBEffects::BeakBlast] = true @battle.pbCommonAnimation("BeakBlast",user) diff --git a/Data/Scripts/011_Battle/002_Move/006_MoveEffects_BattlerStats.rb b/Data/Scripts/011_Battle/003_Move/006_MoveEffects_BattlerStats.rb similarity index 89% rename from Data/Scripts/011_Battle/002_Move/006_MoveEffects_BattlerStats.rb rename to Data/Scripts/011_Battle/003_Move/006_MoveEffects_BattlerStats.rb index 6a2bb6b44..72664d3a0 100644 --- a/Data/Scripts/011_Battle/002_Move/006_MoveEffects_BattlerStats.rb +++ b/Data/Scripts/011_Battle/003_Move/006_MoveEffects_BattlerStats.rb @@ -1,7 +1,7 @@ #=============================================================================== # Increases the user's Attack by 1 stage. #=============================================================================== -class PokeBattle_Move_RaiseUserAttack1 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserAttack1 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:ATTACK,1] @@ -11,7 +11,7 @@ end #=============================================================================== # Increases the user's Attack by 2 stages. (Swords Dance) #=============================================================================== -class PokeBattle_Move_RaiseUserAttack2 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserAttack2 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:ATTACK,2] @@ -22,7 +22,7 @@ end # If this move KO's the target, increases the user's Attack by 2 stages. # (Fell Stinger (Gen 6-)) #=============================================================================== -class PokeBattle_Move_RaiseUserAttack2IfTargetFaints < PokeBattle_Move +class Battle::Move::RaiseUserAttack2IfTargetFaints < Battle::Move def pbEffectAfterAllHits(user, target) return if !target.damageState.fainted return if !user.pbCanRaiseStatStage?(:ATTACK, user, self) @@ -33,7 +33,7 @@ end #=============================================================================== # Increases the user's Attack by 3 stages. #=============================================================================== -class PokeBattle_Move_RaiseUserAttack3 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserAttack3 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:ATTACK, 3] @@ -44,7 +44,7 @@ end # If this move KO's the target, increases the user's Attack by 3 stages. # (Fell Stinger (Gen 7+)) #=============================================================================== -class PokeBattle_Move_RaiseUserAttack3IfTargetFaints < PokeBattle_Move +class Battle::Move::RaiseUserAttack3IfTargetFaints < Battle::Move def pbEffectAfterAllHits(user,target) return if !target.damageState.fainted return if !user.pbCanRaiseStatStage?(:ATTACK,user,self) @@ -56,7 +56,7 @@ end # Reduces the user's HP by half of max, and sets its Attack to maximum. # (Belly Drum) #=============================================================================== -class PokeBattle_Move_MaxUserAttackLoseHalfOfTotalHP < PokeBattle_Move +class Battle::Move::MaxUserAttackLoseHalfOfTotalHP < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -91,7 +91,7 @@ end #=============================================================================== # Increases the user's Defense by 1 stage. (Harden, Steel Wing, Withdraw) #=============================================================================== -class PokeBattle_Move_RaiseUserDefense1 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserDefense1 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:DEFENSE,1] @@ -101,7 +101,7 @@ end #=============================================================================== # Increases the user's Defense by 1 stage. User curls up. (Defense Curl) #=============================================================================== -class PokeBattle_Move_RaiseUserDefense1CurlUpUser < PokeBattle_StatUpMove +class Battle::Move::RaiseUserDefense1CurlUpUser < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:DEFENSE,1] @@ -116,7 +116,7 @@ end #=============================================================================== # Increases the user's Defense by 2 stages. (Acid Armor, Barrier, Iron Defense) #=============================================================================== -class PokeBattle_Move_RaiseUserDefense2 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserDefense2 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:DEFENSE,2] @@ -126,7 +126,7 @@ end #=============================================================================== # Increases the user's Defense by 3 stages. (Cotton Guard) #=============================================================================== -class PokeBattle_Move_RaiseUserDefense3 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserDefense3 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:DEFENSE,3] @@ -136,7 +136,7 @@ end #=============================================================================== # Increases the user's Special Attack by 1 stage. (Charge Beam, Fiery Dance) #=============================================================================== -class PokeBattle_Move_RaiseUserSpAtk1 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpAtk1 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:SPECIAL_ATTACK,1] @@ -146,7 +146,7 @@ end #=============================================================================== # Increases the user's Special Attack by 2 stages. (Nasty Plot) #=============================================================================== -class PokeBattle_Move_RaiseUserSpAtk2 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpAtk2 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:SPECIAL_ATTACK,2] @@ -156,7 +156,7 @@ end #=============================================================================== # Increases the user's Special Attack by 3 stages. (Tail Glow) #=============================================================================== -class PokeBattle_Move_RaiseUserSpAtk3 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpAtk3 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:SPECIAL_ATTACK,3] @@ -166,7 +166,7 @@ end #=============================================================================== # Increases the user's Special Defense by 1 stage. #=============================================================================== -class PokeBattle_Move_RaiseUserSpDef1 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpDef1 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:SPECIAL_DEFENSE, 1] @@ -177,7 +177,7 @@ end # Increases the user's Special Defense by 1 stage. # Charges up user's next attack if it is Electric-type. (Charge) #=============================================================================== -class PokeBattle_Move_RaiseUserSpDef1PowerUpElectricMove < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpDef1PowerUpElectricMove < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:SPECIAL_DEFENSE,1] @@ -193,7 +193,7 @@ end #=============================================================================== # Increases the user's Special Defense by 2 stages. (Amnesia) #=============================================================================== -class PokeBattle_Move_RaiseUserSpDef2 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpDef2 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:SPECIAL_DEFENSE,2] @@ -203,7 +203,7 @@ end #=============================================================================== # Increases the user's Special Defense by 3 stages. #=============================================================================== -class PokeBattle_Move_RaiseUserSpDef3 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpDef3 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:SPECIAL_DEFENSE, 3] @@ -213,7 +213,7 @@ end #=============================================================================== # Increases the user's Speed by 1 stage. (Flame Charge) #=============================================================================== -class PokeBattle_Move_RaiseUserSpeed1 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpeed1 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:SPEED,1] @@ -223,7 +223,7 @@ end #=============================================================================== # Increases the user's Speed by 2 stages. (Agility, Rock Polish) #=============================================================================== -class PokeBattle_Move_RaiseUserSpeed2 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpeed2 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:SPEED,2] @@ -234,7 +234,7 @@ end # Increases the user's Speed by 2 stages. Lowers user's weight by 100kg. # (Autotomize) #=============================================================================== -class PokeBattle_Move_RaiseUserSpeed2LowerUserWeight < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpeed2LowerUserWeight < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:SPEED,2] @@ -252,7 +252,7 @@ end #=============================================================================== # Increases the user's Speed by 3 stages. #=============================================================================== -class PokeBattle_Move_RaiseUserSpeed3 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserSpeed3 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:SPEED, 3] @@ -262,7 +262,7 @@ end #=============================================================================== # Increases the user's accuracy by 1 stage. #=============================================================================== -class PokeBattle_Move_RaiseUserAccuracy1 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserAccuracy1 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:ACCURACY, 1] @@ -272,7 +272,7 @@ end #=============================================================================== # Increases the user's accuracy by 2 stages. #=============================================================================== -class PokeBattle_Move_RaiseUserAccuracy2 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserAccuracy2 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:ACCURACY, 2] @@ -282,7 +282,7 @@ end #=============================================================================== # Increases the user's accuracy by 3 stages. #=============================================================================== -class PokeBattle_Move_RaiseUserAccuracy3 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserAccuracy3 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:ACCURACY, 3] @@ -292,7 +292,7 @@ end #=============================================================================== # Increases the user's evasion by 1 stage. (Double Team) #=============================================================================== -class PokeBattle_Move_RaiseUserEvasion1 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserEvasion1 < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:EVASION,1] @@ -302,7 +302,7 @@ end #=============================================================================== # Increases the user's evasion by 2 stages. #=============================================================================== -class PokeBattle_Move_RaiseUserEvasion2 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserEvasion2 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:EVASION, 2] @@ -312,7 +312,7 @@ end #=============================================================================== # Increases the user's evasion by 2 stages. Minimizes the user. (Minimize) #=============================================================================== -class PokeBattle_Move_RaiseUserEvasion2MinimizeUser < PokeBattle_StatUpMove +class Battle::Move::RaiseUserEvasion2MinimizeUser < Battle::Move::StatUpMove def initialize(battle,move) super @statUp = [:EVASION,2] @@ -327,7 +327,7 @@ end #=============================================================================== # Increases the user's evasion by 3 stages. #=============================================================================== -class PokeBattle_Move_RaiseUserEvasion3 < PokeBattle_StatUpMove +class Battle::Move::RaiseUserEvasion3 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:EVASION, 3] @@ -337,7 +337,7 @@ end #=============================================================================== # Increases the user's critical hit rate. (Focus Energy) #=============================================================================== -class PokeBattle_Move_RaiseUserCriticalHitRate2 < PokeBattle_Move +class Battle::Move::RaiseUserCriticalHitRate2 < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -357,7 +357,7 @@ end #=============================================================================== # Increases the user's Attack and Defense by 1 stage each. (Bulk Up) #=============================================================================== -class PokeBattle_Move_RaiseUserAtkDef1 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserAtkDef1 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:ATTACK,1,:DEFENSE,1] @@ -367,7 +367,7 @@ end #=============================================================================== # Increases the user's Attack, Defense and accuracy by 1 stage each. (Coil) #=============================================================================== -class PokeBattle_Move_RaiseUserAtkDefAcc1 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserAtkDefAcc1 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:ATTACK,1,:DEFENSE,1,:ACCURACY,1] @@ -377,7 +377,7 @@ end #=============================================================================== # Increases the user's Attack and Special Attack by 1 stage each. (Work Up) #=============================================================================== -class PokeBattle_Move_RaiseUserAtkSpAtk1 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserAtkSpAtk1 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:ATTACK,1,:SPECIAL_ATTACK,1] @@ -388,7 +388,7 @@ end # Increases the user's Attack and Sp. Attack by 1 stage each. # In sunny weather, increases are 2 stages each instead. (Growth) #=============================================================================== -class PokeBattle_Move_RaiseUserAtkSpAtk1Or2InSun < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserAtkSpAtk1Or2InSun < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:ATTACK,1,:SPECIAL_ATTACK,1] @@ -406,7 +406,7 @@ end # Increases the user's Attack, Speed and Special Attack by 2 stages each. # (Shell Smash) #=============================================================================== -class PokeBattle_Move_LowerUserDefSpDef1RaiseUserAtkSpAtkSpd2 < PokeBattle_Move +class Battle::Move::LowerUserDefSpDef1RaiseUserAtkSpAtkSpd2 < Battle::Move def canSnatch?; return true; end def initialize(battle,move) @@ -457,7 +457,7 @@ end #=============================================================================== # Increases the user's Attack and Speed by 1 stage each. (Dragon Dance) #=============================================================================== -class PokeBattle_Move_RaiseUserAtkSpd1 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserAtkSpd1 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:ATTACK,1,:SPEED,1] @@ -467,7 +467,7 @@ end #=============================================================================== # Increases the user's Speed by 2 stages, and its Attack by 1 stage. (Shift Gear) #=============================================================================== -class PokeBattle_Move_RaiseUserAtk1Spd2 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserAtk1Spd2 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:SPEED,2,:ATTACK,1] @@ -477,7 +477,7 @@ end #=============================================================================== # Increases the user's Attack and accuracy by 1 stage each. (Hone Claws) #=============================================================================== -class PokeBattle_Move_RaiseUserAtkAcc1 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserAtkAcc1 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:ATTACK,1,:ACCURACY,1] @@ -488,7 +488,7 @@ end # Increases the user's Defense and Special Defense by 1 stage each. # (Cosmic Power, Defend Order) #=============================================================================== -class PokeBattle_Move_RaiseUserDefSpDef1 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserDefSpDef1 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:DEFENSE,1,:SPECIAL_DEFENSE,1] @@ -498,7 +498,7 @@ end #=============================================================================== # Increases the user's Sp. Attack and Sp. Defense by 1 stage each. (Calm Mind) #=============================================================================== -class PokeBattle_Move_RaiseUserSpAtkSpDef1 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserSpAtkSpDef1 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:SPECIAL_ATTACK,1,:SPECIAL_DEFENSE,1] @@ -509,7 +509,7 @@ end # Increases the user's Sp. Attack, Sp. Defense and Speed by 1 stage each. # (Quiver Dance) #=============================================================================== -class PokeBattle_Move_RaiseUserSpAtkSpDefSpd1 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserSpAtkSpDefSpd1 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:SPECIAL_ATTACK,1,:SPECIAL_DEFENSE,1,:SPEED,1] @@ -520,7 +520,7 @@ end # Increases the user's Attack, Defense, Speed, Special Attack and Special Defense # by 1 stage each. (Ancient Power, Ominous Wind, Silver Wind) #=============================================================================== -class PokeBattle_Move_RaiseUserMainStats1 < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserMainStats1 < Battle::Move::MultiStatUpMove def initialize(battle,move) super @statUp = [:ATTACK,1,:DEFENSE,1,:SPECIAL_ATTACK,1,:SPECIAL_DEFENSE,1,:SPEED,1] @@ -532,7 +532,7 @@ end # Speed by 1 stage each, and reduces the user's HP by a third of its total HP. # Fails if it can't do either effect. (Clangorous Soul) #=============================================================================== -class PokeBattle_Move_RaiseUserMainStats1LoseThirdOfTotalHP < PokeBattle_MultiStatUpMove +class Battle::Move::RaiseUserMainStats1LoseThirdOfTotalHP < Battle::Move::MultiStatUpMove def initialize(battle, move) super @statUp = [ @@ -568,7 +568,7 @@ end # still switch out if holding Shed Shell or Eject Button, or if affected by a # Red Card. (No Retreat) #=============================================================================== -class PokeBattle_Move_RaiseUserMainStats1TrapUserInBattle < PokeBattle_Move_RaiseUserMainStats1 +class Battle::Move::RaiseUserMainStats1TrapUserInBattle < Battle::Move::RaiseUserMainStats1 def pbMoveFailed?(user, targets) if user.effects[PBEffects::NoRetreat] @battle.pbDisplay(_INTL("But it failed!")) @@ -591,7 +591,7 @@ end # (Handled in Battler's pbProcessMoveAgainstTarget): Ups rager's Attack by 1 # stage each time it loses HP due to a move. #=============================================================================== -class PokeBattle_Move_StartRaiseUserAtk1WhenDamaged < PokeBattle_Move +class Battle::Move::StartRaiseUserAtk1WhenDamaged < Battle::Move def pbEffectGeneral(user) user.effects[PBEffects::Rage] = true end @@ -600,7 +600,7 @@ end #=============================================================================== # Decreases the user's Attack by 1 stage. #=============================================================================== -class PokeBattle_Move_LowerUserAttack1 < PokeBattle_StatDownMove +class Battle::Move::LowerUserAttack1 < Battle::Move::StatDownMove def initialize(battle, move) super @statDown = [:ATTACK, 1] @@ -610,7 +610,7 @@ end #=============================================================================== # Decreases the user's Attack by 2 stages. #=============================================================================== -class PokeBattle_Move_LowerUserAttack2 < PokeBattle_StatDownMove +class Battle::Move::LowerUserAttack2 < Battle::Move::StatDownMove def initialize(battle, move) super @statDown = [:ATTACK, 2] @@ -620,7 +620,7 @@ end #=============================================================================== # Decreases the user's Defense by 1 stage. (Clanging Scales) #=============================================================================== -class PokeBattle_Move_LowerUserDefense1 < PokeBattle_StatDownMove +class Battle::Move::LowerUserDefense1 < Battle::Move::StatDownMove def initialize(battle,move) super @statDown = [:DEFENSE,1] @@ -630,7 +630,7 @@ end #=============================================================================== # Decreases the user's Defense by 2 stages. #=============================================================================== -class PokeBattle_Move_LowerUserDefense2 < PokeBattle_StatDownMove +class Battle::Move::LowerUserDefense2 < Battle::Move::StatDownMove def initialize(battle, move) super @statDown = [:DEFENSE, 2] @@ -640,7 +640,7 @@ end #=============================================================================== # Decreases the user's Special Attack by 1 stage. #=============================================================================== -class PokeBattle_Move_LowerUserSpAtk1 < PokeBattle_StatDownMove +class Battle::Move::LowerUserSpAtk1 < Battle::Move::StatDownMove def initialize(battle, move) super @statDown = [:SPECIAL_ATTACK, 1] @@ -650,7 +650,7 @@ end #=============================================================================== # Decreases the user's Special Attack by 2 stages. #=============================================================================== -class PokeBattle_Move_LowerUserSpAtk2 < PokeBattle_StatDownMove +class Battle::Move::LowerUserSpAtk2 < Battle::Move::StatDownMove def initialize(battle,move) super @statDown = [:SPECIAL_ATTACK,2] @@ -660,7 +660,7 @@ end #=============================================================================== # Decreases the user's Special Defense by 1 stage. #=============================================================================== -class PokeBattle_Move_LowerUserSpDef1 < PokeBattle_StatDownMove +class Battle::Move::LowerUserSpDef1 < Battle::Move::StatDownMove def initialize(battle, move) super @statDown = [:SPECIAL_DEFENSE, 1] @@ -670,7 +670,7 @@ end #=============================================================================== # Decreases the user's Special Defense by 2 stages. #=============================================================================== -class PokeBattle_Move_LowerUserSpDef2 < PokeBattle_StatDownMove +class Battle::Move::LowerUserSpDef2 < Battle::Move::StatDownMove def initialize(battle, move) super @statDown = [:SPECIAL_DEFENSE, 2] @@ -680,7 +680,7 @@ end #=============================================================================== # Decreases the user's Speed by 1 stage. (Hammer Arm, Ice Hammer) #=============================================================================== -class PokeBattle_Move_LowerUserSpeed1 < PokeBattle_StatDownMove +class Battle::Move::LowerUserSpeed1 < Battle::Move::StatDownMove def initialize(battle,move) super @statDown = [:SPEED,1] @@ -690,7 +690,7 @@ end #=============================================================================== # Decreases the user's Speed by 2 stages. #=============================================================================== -class PokeBattle_Move_LowerUserSpeed2 < PokeBattle_StatDownMove +class Battle::Move::LowerUserSpeed2 < Battle::Move::StatDownMove def initialize(battle, move) super @statDown = [:SPEED, 2] @@ -700,7 +700,7 @@ end #=============================================================================== # Decreases the user's Attack and Defense by 1 stage each. (Superpower) #=============================================================================== -class PokeBattle_Move_LowerUserAtkDef1 < PokeBattle_StatDownMove +class Battle::Move::LowerUserAtkDef1 < Battle::Move::StatDownMove def initialize(battle,move) super @statDown = [:ATTACK,1,:DEFENSE,1] @@ -711,7 +711,7 @@ end # Decreases the user's Defense and Special Defense by 1 stage each. # (Close Combat, Dragon Ascent) #=============================================================================== -class PokeBattle_Move_LowerUserDefSpDef1 < PokeBattle_StatDownMove +class Battle::Move::LowerUserDefSpDef1 < Battle::Move::StatDownMove def initialize(battle,move) super @statDown = [:DEFENSE,1,:SPECIAL_DEFENSE,1] @@ -724,7 +724,7 @@ end # Decreases the user's Defense, Special Defense and Speed by 1 stage each. # (V-create) #=============================================================================== -class PokeBattle_Move_LowerUserDefSpDefSpd1 < PokeBattle_StatDownMove +class Battle::Move::LowerUserDefSpDefSpd1 < Battle::Move::StatDownMove def initialize(battle,move) super @statDown = [:SPEED,1,:DEFENSE,1,:SPECIAL_DEFENSE,1] @@ -734,7 +734,7 @@ end #=============================================================================== # Increases the user's and allies' Attack by 1 stage. (Howl (Gen 8+)) #=============================================================================== -class PokeBattle_Move_RaiseTargetAttack1 < PokeBattle_Move +class Battle::Move::RaiseTargetAttack1 < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user, targets) @@ -771,7 +771,7 @@ end #=============================================================================== # Increases the target's Attack by 2 stages. Confuses the target. (Swagger) #=============================================================================== -class PokeBattle_Move_RaiseTargetAttack2ConfuseTarget < PokeBattle_Move +class Battle::Move::RaiseTargetAttack2ConfuseTarget < Battle::Move def canMagicCoat?; return true; end def pbMoveFailed?(user,targets) @@ -800,7 +800,7 @@ end #=============================================================================== # Increases the target's Special Attack by 1 stage. Confuses the target. (Flatter) #=============================================================================== -class PokeBattle_Move_RaiseTargetSpAtk1ConfuseTarget < PokeBattle_Move +class Battle::Move::RaiseTargetSpAtk1ConfuseTarget < Battle::Move def canMagicCoat?; return true; end def pbMoveFailed?(user,targets) @@ -829,7 +829,7 @@ end #=============================================================================== # Increases target's Special Defense by 1 stage. (Aromatic Mist) #=============================================================================== -class PokeBattle_Move_RaiseTargetSpDef1 < PokeBattle_Move +class Battle::Move::RaiseTargetSpDef1 < Battle::Move def ignoresSubstitute?(user); return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -845,7 +845,7 @@ end #=============================================================================== # Increases one random stat of the target by 2 stages (except HP). (Acupressure) #=============================================================================== -class PokeBattle_Move_RaiseTargetRandomStat2 < PokeBattle_Move +class Battle::Move::RaiseTargetRandomStat2 < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) @statArray = [] GameData::Stat.each_battle do |s| @@ -867,7 +867,7 @@ end #=============================================================================== # Increases the target's Attack and Special Attack by 2 stages each. (Decorate) #=============================================================================== -class PokeBattle_Move_RaiseTargetAtkSpAtk2 < PokeBattle_Move +class Battle::Move::RaiseTargetAtkSpAtk2 < Battle::Move def pbMoveFailed?(user, targets) failed = true targets.each do |b| @@ -896,7 +896,7 @@ end #=============================================================================== # Decreases the target's Attack by 1 stage. #=============================================================================== -class PokeBattle_Move_LowerTargetAttack1 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetAttack1 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:ATTACK,1] @@ -906,7 +906,7 @@ end #=============================================================================== # Decreases the target's Attack by 1 stage. Bypasses target's Substitute. (Play Nice) #=============================================================================== -class PokeBattle_Move_LowerTargetAttack1BypassSubstitute < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetAttack1BypassSubstitute < Battle::Move::TargetStatDownMove def ignoresSubstitute?(user); return true; end def initialize(battle,move) @@ -918,7 +918,7 @@ end #=============================================================================== # Decreases the target's Attack by 2 stages. (Charm, Feather Dance) #=============================================================================== -class PokeBattle_Move_LowerTargetAttack2 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetAttack2 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:ATTACK,2] @@ -928,7 +928,7 @@ end #=============================================================================== # Decreases the target's Attack by 3 stages. #=============================================================================== -class PokeBattle_Move_LowerTargetAttack3 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetAttack3 < Battle::Move::TargetStatDownMove def initialize(battle, move) super @statDown = [:ATTACK, 3] @@ -938,7 +938,7 @@ end #=============================================================================== # Decreases the target's Defense by 1 stage. #=============================================================================== -class PokeBattle_Move_LowerTargetDefense1 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetDefense1 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:DEFENSE,1] @@ -949,7 +949,7 @@ end # Decreases the target's Defense by 1 stage. Power is doubled if Gravity is in # effect. (Grav Apple) #=============================================================================== -class PokeBattle_Move_LowerTargetDefense1DoublePowerInGravity < PokeBattle_Move_LowerTargetDefense1 +class Battle::Move::LowerTargetDefense1DoublePowerInGravity < Battle::Move::LowerTargetDefense1 def pbBaseDamage(baseDmg, user, target) baseDmg *= 2 if @battle.field.effects[PBEffects::Gravity] > 0 return baseDmg @@ -959,7 +959,7 @@ end #=============================================================================== # Decreases the target's Defense by 2 stages. (Screech) #=============================================================================== -class PokeBattle_Move_LowerTargetDefense2 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetDefense2 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:DEFENSE,2] @@ -969,7 +969,7 @@ end #=============================================================================== # Decreases the target's Defense by 3 stages. #=============================================================================== -class PokeBattle_Move_LowerTargetDefense3 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetDefense3 < Battle::Move::TargetStatDownMove def initialize(battle, move) super @statDown = [:DEFENSE, 3] @@ -979,7 +979,7 @@ end #=============================================================================== # Decreases the target's Special Attack by 1 stage. #=============================================================================== -class PokeBattle_Move_LowerTargetSpAtk1 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpAtk1 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:SPECIAL_ATTACK,1] @@ -989,7 +989,7 @@ end #=============================================================================== # Decreases the target's Special Attack by 2 stages. (Eerie Impulse) #=============================================================================== -class PokeBattle_Move_LowerTargetSpAtk2 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpAtk2 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:SPECIAL_ATTACK,2] @@ -1000,7 +1000,7 @@ end # Decreases the target's Special Attack by 2 stages. Only works on the opposite # gender. (Captivate) #=============================================================================== -class PokeBattle_Move_LowerTargetSpAtk2IfCanAttract < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpAtk2IfCanAttract < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:SPECIAL_ATTACK,2] @@ -1016,7 +1016,7 @@ class PokeBattle_Move_LowerTargetSpAtk2IfCanAttract < PokeBattle_TargetStatDownM if target.hasActiveAbility?(:OBLIVIOUS) && !@battle.moldBreaker if show_message @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} is unaffected!", target.pbThis)) else @battle.pbDisplay(_INTL("{1}'s {2} prevents romance!", target.pbThis, target.abilityName)) @@ -1038,7 +1038,7 @@ end #=============================================================================== # Decreases the target's Special Attack by 3 stages. #=============================================================================== -class PokeBattle_Move_LowerTargetSpAtk3 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpAtk3 < Battle::Move::TargetStatDownMove def initialize(battle, move) super @statDown = [:SPECIAL_ATTACK, 3] @@ -1048,7 +1048,7 @@ end #=============================================================================== # Decreases the target's Special Defense by 1 stage. #=============================================================================== -class PokeBattle_Move_LowerTargetSpDef1 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpDef1 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:SPECIAL_DEFENSE,1] @@ -1058,7 +1058,7 @@ end #=============================================================================== # Decreases the target's Special Defense by 2 stages. #=============================================================================== -class PokeBattle_Move_LowerTargetSpDef2 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpDef2 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:SPECIAL_DEFENSE,2] @@ -1068,7 +1068,7 @@ end #=============================================================================== # Decreases the target's Special Defense by 3 stages. #=============================================================================== -class PokeBattle_Move_LowerTargetSpDef3 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpDef3 < Battle::Move::TargetStatDownMove def initialize(battle, move) super @statDown = [:SPECIAL_DEFENSE, 3] @@ -1078,7 +1078,7 @@ end #=============================================================================== # Decreases the target's Speed by 1 stage. #=============================================================================== -class PokeBattle_Move_LowerTargetSpeed1 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpeed1 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:SPEED,1] @@ -1089,7 +1089,7 @@ end # Decreases the target's Speed by 1 stage. Power is halved in Grassy Terrain. # (Bulldoze) #=============================================================================== -class PokeBattle_Move_LowerTargetSpeed1WeakerInGrassyTerrain < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpeed1WeakerInGrassyTerrain < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:SPEED,1] @@ -1106,7 +1106,7 @@ end # Fire moves used against the target (this effect does not stack). Fails if # neither of these effects can be applied. (Tar Shot) #=============================================================================== -class PokeBattle_Move_LowerTargetSpeed1MakeTargetWeakerToFire < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpeed1MakeTargetWeakerToFire < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:SPEED,1] @@ -1129,7 +1129,7 @@ end #=============================================================================== # Decreases the target's Speed by 2 stages. (Cotton Spore, Scary Face, String Shot) #=============================================================================== -class PokeBattle_Move_LowerTargetSpeed2 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpeed2 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:SPEED, 2] @@ -1139,7 +1139,7 @@ end #=============================================================================== # Decreases the target's Speed by 3 stages. #=============================================================================== -class PokeBattle_Move_LowerTargetSpeed3 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetSpeed3 < Battle::Move::TargetStatDownMove def initialize(battle, move) super @statDown = [:SPEED, 3] @@ -1149,7 +1149,7 @@ end #=============================================================================== # Decreases the target's accuracy by 1 stage. #=============================================================================== -class PokeBattle_Move_LowerTargetAccuracy1 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetAccuracy1 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:ACCURACY,1] @@ -1159,7 +1159,7 @@ end #=============================================================================== # Decreases the target's accuracy by 2 stages. #=============================================================================== -class PokeBattle_Move_LowerTargetAccuracy2 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetAccuracy2 < Battle::Move::TargetStatDownMove def initialize(battle, move) super @statDown = [:ACCURACY, 2] @@ -1169,7 +1169,7 @@ end #=============================================================================== # Decreases the target's accuracy by 3 stages. #=============================================================================== -class PokeBattle_Move_LowerTargetAccuracy3 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetAccuracy3 < Battle::Move::TargetStatDownMove def initialize(battle, move) super @statDown = [:ACCURACY, 3] @@ -1179,7 +1179,7 @@ end #=============================================================================== # Decreases the target's evasion by 1 stage. (Sweet Scent (Gen 5-)) #=============================================================================== -class PokeBattle_Move_LowerTargetEvasion1 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetEvasion1 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:EVASION, 1] @@ -1190,7 +1190,7 @@ end # Decreases the target's evasion by 1 stage. Ends all barriers and entry # hazards for the target's side OR on both sides. (Defog) #=============================================================================== -class PokeBattle_Move_LowerTargetEvasion1RemoveSideEffects < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetEvasion1RemoveSideEffects < Battle::Move::TargetStatDownMove def ignoresSubstitute?(user); return true; end def initialize(battle,move) @@ -1290,7 +1290,7 @@ end #=============================================================================== # Decreases the target's evasion by 2 stages. (Sweet Scent (Gen 6+)) #=============================================================================== -class PokeBattle_Move_LowerTargetEvasion2 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetEvasion2 < Battle::Move::TargetStatDownMove def initialize(battle,move) super @statDown = [:EVASION, 2] @@ -1300,7 +1300,7 @@ end #=============================================================================== # Decreases the target's evasion by 3 stages. #=============================================================================== -class PokeBattle_Move_LowerTargetEvasion3 < PokeBattle_TargetStatDownMove +class Battle::Move::LowerTargetEvasion3 < Battle::Move::TargetStatDownMove def initialize(battle, move) super @statDown = [:EVASION, 3] @@ -1310,7 +1310,7 @@ end #=============================================================================== # Decreases the target's Attack and Defense by 1 stage each. (Tickle) #=============================================================================== -class PokeBattle_Move_LowerTargetAtkDef1 < PokeBattle_TargetMultiStatDownMove +class Battle::Move::LowerTargetAtkDef1 < Battle::Move::TargetMultiStatDownMove def initialize(battle,move) super @statDown = [:ATTACK,1,:DEFENSE,1] @@ -1320,7 +1320,7 @@ end #=============================================================================== # Decreases the target's Attack and Special Attack by 1 stage each. (Noble Roar) #=============================================================================== -class PokeBattle_Move_LowerTargetAtkSpAtk1 < PokeBattle_TargetMultiStatDownMove +class Battle::Move::LowerTargetAtkSpAtk1 < Battle::Move::TargetMultiStatDownMove def initialize(battle,move) super @statDown = [:ATTACK,1,:SPECIAL_ATTACK,1] @@ -1331,7 +1331,7 @@ end # Decreases the Attack, Special Attack and Speed of all poisoned targets by 1 # stage each. (Venom Drench) #=============================================================================== -class PokeBattle_Move_LowerPoisonedTargetAtkSpAtkSpd1 < PokeBattle_Move +class Battle::Move::LowerPoisonedTargetAtkSpAtkSpd1 < Battle::Move def canMagicCoat?; return true; end def initialize(battle,move) @@ -1367,7 +1367,7 @@ class PokeBattle_Move_LowerPoisonedTargetAtkSpAtkSpd1 < PokeBattle_Move end if failed @battle.pbShowAbilitySplash(target) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1}'s {2} activated!", target.pbThis, target.abilityName)) end user.pbCanLowerStatStage?(@statDown[0], target, self, true, false, true) # Show fail message @@ -1399,7 +1399,7 @@ end # Raises the Attack and Defense of all user's allies by 1 stage each. Bypasses # protections, including Crafty Shield. Fails if there is no ally. (Coaching) #=============================================================================== -class PokeBattle_Move_RaiseUserAndAlliesAtkDef1 < PokeBattle_Move +class Battle::Move::RaiseUserAndAlliesAtkDef1 < Battle::Move def ignoresSubstitute?(user); return true; end def canSnatch?; return true; end @@ -1448,7 +1448,7 @@ end # aren't protected by their substitute/ability/etc., but they are in Gen # 6+). We achieve this by not targeting any battlers in Gen 5, since # pbSuccessCheckAgainstTarget is only called for targeted battlers. -class PokeBattle_Move_RaisePlusMinusUserAndAlliesAtkSpAtk1 < PokeBattle_Move +class Battle::Move::RaisePlusMinusUserAndAlliesAtkSpAtk1 < Battle::Move def ignoresSubstitute?(user); return true; end def canSnatch?; return true; end @@ -1503,7 +1503,7 @@ end # aren't protected by their substitute/ability/etc., but they are in Gen # 6+). We achieve this by not targeting any battlers in Gen 5, since # pbSuccessCheckAgainstTarget is only called for targeted battlers. -class PokeBattle_Move_RaisePlusMinusUserAndAlliesDefSpDef1 < PokeBattle_Move +class Battle::Move::RaisePlusMinusUserAndAlliesDefSpDef1 < Battle::Move def ignoresSubstitute?(user); return true; end def canSnatch?; return true; end @@ -1551,7 +1551,7 @@ end # Increases the Attack and Special Attack of all Grass-type Pokémon in battle by # 1 stage each. Doesn't affect airborne Pokémon. (Rototiller) #=============================================================================== -class PokeBattle_Move_RaiseGroundedGrassBattlersAtkSpAtk1 < PokeBattle_Move +class Battle::Move::RaiseGroundedGrassBattlersAtkSpAtk1 < Battle::Move def pbMoveFailed?(user,targets) @validTargets = [] @battle.allBattlers.each do |b| @@ -1593,7 +1593,7 @@ end # Increases the Defense of all Grass-type Pokémon on the field by 1 stage each. # (Flower Shield) #=============================================================================== -class PokeBattle_Move_RaiseGrassBattlersDef1 < PokeBattle_Move +class Battle::Move::RaiseGrassBattlersDef1 < Battle::Move def pbMoveFailed?(user,targets) @validTargets = [] @battle.allBattlers.each do |b| @@ -1623,7 +1623,7 @@ end #=============================================================================== # User and target swap their Attack and Special Attack stat stages. (Power Swap) #=============================================================================== -class PokeBattle_Move_UserTargetSwapAtkSpAtkStages < PokeBattle_Move +class Battle::Move::UserTargetSwapAtkSpAtkStages < Battle::Move def ignoresSubstitute?(user); return true; end def pbEffectAgainstTarget(user,target) @@ -1646,7 +1646,7 @@ end #=============================================================================== # User and target swap their Defense and Special Defense stat stages. (Guard Swap) #=============================================================================== -class PokeBattle_Move_UserTargetSwapDefSpDefStages < PokeBattle_Move +class Battle::Move::UserTargetSwapDefSpDefStages < Battle::Move def ignoresSubstitute?(user); return true; end def pbEffectAgainstTarget(user,target) @@ -1669,7 +1669,7 @@ end #=============================================================================== # User and target swap all their stat stages. (Heart Swap) #=============================================================================== -class PokeBattle_Move_UserTargetSwapStatStages < PokeBattle_Move +class Battle::Move::UserTargetSwapStatStages < Battle::Move def ignoresSubstitute?(user); return true; end def pbEffectAgainstTarget(user,target) @@ -1692,7 +1692,7 @@ end #=============================================================================== # User copies the target's stat stages. (Psych Up) #=============================================================================== -class PokeBattle_Move_UserCopyTargetStatStages < PokeBattle_Move +class Battle::Move::UserCopyTargetStatStages < Battle::Move def ignoresSubstitute?(user); return true; end def pbEffectAgainstTarget(user,target) @@ -1718,7 +1718,7 @@ end # and target's positive stat stages become 0, before damage calculation. # (Spectral Thief) #=============================================================================== -class PokeBattle_Move_UserStealTargetPositiveStatStages < PokeBattle_Move +class Battle::Move::UserStealTargetPositiveStatStages < Battle::Move def ignoresSubstitute?(user); return true; end def pbCalcDamage(user,target,numTargets=1) @@ -1745,7 +1745,7 @@ end #=============================================================================== # Reverses all stat changes of the target. (Topsy-Turvy) #=============================================================================== -class PokeBattle_Move_InvertTargetStatStages < PokeBattle_Move +class Battle::Move::InvertTargetStatStages < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -1773,7 +1773,7 @@ end #=============================================================================== # Resets all target's stat stages to 0. (Clear Smog) #=============================================================================== -class PokeBattle_Move_ResetTargetStatStages < PokeBattle_Move +class Battle::Move::ResetTargetStatStages < Battle::Move def pbEffectAgainstTarget(user,target) if target.damageState.calcDamage>0 && !target.damageState.substitute && target.hasAlteredStatStages? @@ -1786,7 +1786,7 @@ end #=============================================================================== # Resets all stat stages for all battlers to 0. (Haze) #=============================================================================== -class PokeBattle_Move_ResetAllBattlersStatStages < PokeBattle_Move +class Battle::Move::ResetAllBattlersStatStages < Battle::Move def pbMoveFailed?(user,targets) if @battle.allBattlers.none? { |b| b.hasAlteredStatStages? } @battle.pbDisplay(_INTL("But it failed!")) @@ -1804,7 +1804,7 @@ end #=============================================================================== # For 5 rounds, user's and ally's stat stages cannot be lowered by foes. (Mist) #=============================================================================== -class PokeBattle_Move_StartUserSideImmunityToStatStageLowering < PokeBattle_Move +class Battle::Move::StartUserSideImmunityToStatStageLowering < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -1824,7 +1824,7 @@ end #=============================================================================== # Swaps the user's Attack and Defense stats. (Power Trick) #=============================================================================== -class PokeBattle_Move_UserSwapBaseAtkDef < PokeBattle_Move +class Battle::Move::UserSwapBaseAtkDef < Battle::Move def canSnatch?; return true; end def pbEffectGeneral(user) @@ -1837,7 +1837,7 @@ end #=============================================================================== # User and target swap their Speed stats (not their stat stages). (Speed Swap) #=============================================================================== -class PokeBattle_Move_UserTargetSwapBaseSpeed < PokeBattle_Move +class Battle::Move::UserTargetSwapBaseSpeed < Battle::Move def ignoresSubstitute?(user); return true; end def pbEffectAgainstTarget(user,target) @@ -1850,7 +1850,7 @@ end # Averages the user's and target's Attack. # Averages the user's and target's Special Attack. (Power Split) #=============================================================================== -class PokeBattle_Move_UserTargetAverageBaseAtkSpAtk < PokeBattle_Move +class Battle::Move::UserTargetAverageBaseAtkSpAtk < Battle::Move def pbEffectAgainstTarget(user,target) newatk = ((user.attack+target.attack)/2).floor newspatk = ((user.spatk+target.spatk)/2).floor @@ -1864,7 +1864,7 @@ end # Averages the user's and target's Defense. # Averages the user's and target's Special Defense. (Guard Split) #=============================================================================== -class PokeBattle_Move_UserTargetAverageBaseDefSpDef < PokeBattle_Move +class Battle::Move::UserTargetAverageBaseDefSpDef < Battle::Move def pbEffectAgainstTarget(user,target) newdef = ((user.defense+target.defense)/2).floor newspdef = ((user.spdef+target.spdef)/2).floor @@ -1877,7 +1877,7 @@ end #=============================================================================== # Averages the user's and target's current HP. (Pain Split) #=============================================================================== -class PokeBattle_Move_UserTargetAverageHP < PokeBattle_Move +class Battle::Move::UserTargetAverageHP < Battle::Move def pbEffectAgainstTarget(user,target) newHP = (user.hp+target.hp)/2 if user.hp>newHP @@ -1899,7 +1899,7 @@ end #=============================================================================== # For 4 rounds, doubles the Speed of all battlers on the user's side. (Tailwind) #=============================================================================== -class PokeBattle_Move_StartUserSideDoubleSpeed < PokeBattle_Move +class Battle::Move::StartUserSideDoubleSpeed < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -1920,7 +1920,7 @@ end # For 5 rounds, swaps all battlers' base Defense with base Special Defense. # (Wonder Room) #=============================================================================== -class PokeBattle_Move_StartSwapAllBattlersBaseDefensiveStats < PokeBattle_Move +class Battle::Move::StartSwapAllBattlersBaseDefensiveStats < Battle::Move def pbEffectGeneral(user) if @battle.field.effects[PBEffects::WonderRoom]>0 @battle.field.effects[PBEffects::WonderRoom] = 0 diff --git a/Data/Scripts/011_Battle/002_Move/007_MoveEffects_BattlerOther.rb b/Data/Scripts/011_Battle/003_Move/007_MoveEffects_BattlerOther.rb similarity index 91% rename from Data/Scripts/011_Battle/002_Move/007_MoveEffects_BattlerOther.rb rename to Data/Scripts/011_Battle/003_Move/007_MoveEffects_BattlerOther.rb index 169ccdcd9..f09e802fd 100644 --- a/Data/Scripts/011_Battle/002_Move/007_MoveEffects_BattlerOther.rb +++ b/Data/Scripts/011_Battle/003_Move/007_MoveEffects_BattlerOther.rb @@ -1,13 +1,13 @@ #=============================================================================== # Puts the target to sleep. #=============================================================================== -class PokeBattle_Move_SleepTarget < PokeBattle_SleepMove +class Battle::Move::SleepTarget < Battle::Move::SleepMove end #=============================================================================== # Puts the target to sleep. Fails if user is not Darkrai. (Dark Void (Gen 7+)) #=============================================================================== -class PokeBattle_Move_SleepTargetIfUserDarkrai < PokeBattle_SleepMove +class Battle::Move::SleepTargetIfUserDarkrai < Battle::Move::SleepMove def pbMoveFailed?(user,targets) if !user.isSpecies?(:DARKRAI) && user.effects[PBEffects::TransformSpecies] != :DARKRAI @battle.pbDisplay(_INTL("But {1} can't use the move!",user.pbThis)) @@ -21,7 +21,7 @@ end # Puts the target to sleep. Changes the user's form if the user is Meloetta. # (Relic Song) #=============================================================================== -class PokeBattle_Move_SleepTargetChangeUserMeloettaForm < PokeBattle_SleepMove +class Battle::Move::SleepTargetChangeUserMeloettaForm < Battle::Move::SleepMove def pbEndOfMoveUsageEffect(user,targets,numHits,switchedBattlers) return if numHits==0 return if user.fainted? || user.effects[PBEffects::Transform] @@ -35,7 +35,7 @@ end #=============================================================================== # Makes the target drowsy; it falls asleep at the end of the next turn. (Yawn) #=============================================================================== -class PokeBattle_Move_SleepTargetNextTurn < PokeBattle_Move +class Battle::Move::SleepTargetNextTurn < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -56,13 +56,13 @@ end #=============================================================================== # Poisons the target. #=============================================================================== -class PokeBattle_Move_PoisonTarget < PokeBattle_PoisonMove +class Battle::Move::PoisonTarget < Battle::Move::PoisonMove end #=============================================================================== # Poisons the target and decreases its Speed by 1 stage. (Toxic Thread) #=============================================================================== -class PokeBattle_Move_PoisonTargetLowerTargetSpeed1 < PokeBattle_Move +class Battle::Move::PoisonTargetLowerTargetSpeed1 < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -85,7 +85,7 @@ end #=============================================================================== # Badly poisons the target. (Poison Fang, Toxic) #=============================================================================== -class PokeBattle_Move_BadPoisonTarget < PokeBattle_PoisonMove +class Battle::Move::BadPoisonTarget < Battle::Move::PoisonMove def initialize(battle,move) super @toxic = true @@ -99,14 +99,14 @@ end #=============================================================================== # Paralyzes the target. #=============================================================================== -class PokeBattle_Move_ParalyzeTarget < PokeBattle_ParalysisMove +class Battle::Move::ParalyzeTarget < Battle::Move::ParalysisMove end #=============================================================================== # Paralyzes the target. Doesn't affect target if move's type has no effect on # it. (Thunder Wave) #=============================================================================== -class PokeBattle_Move_ParalyzeTargetIfNotTypeImmune < PokeBattle_ParalysisMove +class Battle::Move::ParalyzeTargetIfNotTypeImmune < Battle::Move::ParalysisMove def pbFailsAgainstTarget?(user, target, show_message) if Effectiveness.ineffective?(target.damageState.typeMod) @battle.pbDisplay(_INTL("It doesn't affect {1}...", target.pbThis(true))) if show_message @@ -120,7 +120,7 @@ end # Paralyzes the target. Does double damage and has perfect accuracy if target is # Minimized. (Body Slam (Gen 6+)) #=============================================================================== -class PokeBattle_Move_ParalyzeTargetTrampleMinimize < PokeBattle_ParalysisMove +class Battle::Move::ParalyzeTargetTrampleMinimize < Battle::Move::ParalysisMove def tramplesMinimize?(param=1) return true if param==1 && Settings::MECHANICS_GENERATION >= 6 # Perfect accuracy return true if param==2 # Double damage @@ -132,7 +132,7 @@ end # Paralyzes the target. Accuracy perfect in rain, 50% in sunshine. Hits some # semi-invulnerable targets. (Thunder) #=============================================================================== -class PokeBattle_Move_ParalyzeTargetAlwaysHitsInRainHitsTargetInSky < PokeBattle_ParalysisMove +class Battle::Move::ParalyzeTargetAlwaysHitsInRainHitsTargetInSky < Battle::Move::ParalysisMove def hitsFlyingTargets?; return true; end def pbBaseAccuracy(user,target) @@ -149,7 +149,7 @@ end #=============================================================================== # Paralyzes the target. May cause the target to flinch. (Thunder Fang) #=============================================================================== -class PokeBattle_Move_ParalyzeFlinchTarget < PokeBattle_Move +class Battle::Move::ParalyzeFlinchTarget < Battle::Move def flinchingMove?; return true; end def pbAdditionalEffect(user,target) @@ -166,14 +166,14 @@ end #=============================================================================== # Burns the target. #=============================================================================== -class PokeBattle_Move_BurnTarget < PokeBattle_BurnMove +class Battle::Move::BurnTarget < Battle::Move::BurnMove end #=============================================================================== # Burns the target if any of its stats were increased this round. # (Burning Jealousy) #=============================================================================== -class PokeBattle_Move_BurnTargetIfTargetStatsRaisedThisTurn < PokeBattle_BurnMove +class Battle::Move::BurnTargetIfTargetStatsRaisedThisTurn < Battle::Move::BurnMove def pbAdditionalEffect(user, target) super if target.statsRaisedThisRound end @@ -182,7 +182,7 @@ end #=============================================================================== # Burns the target. May cause the target to flinch. (Fire Fang) #=============================================================================== -class PokeBattle_Move_BurnFlinchTarget < PokeBattle_Move +class Battle::Move::BurnFlinchTarget < Battle::Move def flinchingMove?; return true; end def pbAdditionalEffect(user,target) @@ -199,13 +199,13 @@ end #=============================================================================== # Freezes the target. #=============================================================================== -class PokeBattle_Move_FreezeTarget < PokeBattle_FreezeMove +class Battle::Move::FreezeTarget < Battle::Move::FreezeMove end #=============================================================================== # Freezes the target. Effectiveness against Water-type is 2x. (Freeze-Dry) #=============================================================================== -class PokeBattle_Move_FreezeTargetSuperEffectiveAgainstWater < PokeBattle_FreezeMove +class Battle::Move::FreezeTargetSuperEffectiveAgainstWater < Battle::Move::FreezeMove def pbCalcTypeModSingle(moveType,defType,user,target) return Effectiveness::SUPER_EFFECTIVE_ONE if defType == :WATER return super @@ -215,7 +215,7 @@ end #=============================================================================== # Freezes the target. Accuracy perfect in hail. (Blizzard) #=============================================================================== -class PokeBattle_Move_FreezeTargetAlwaysHitsInHail < PokeBattle_FreezeMove +class Battle::Move::FreezeTargetAlwaysHitsInHail < Battle::Move::FreezeMove def pbBaseAccuracy(user,target) return 0 if target.effectiveWeather == :Hail return super @@ -225,7 +225,7 @@ end #=============================================================================== # Freezes the target. May cause the target to flinch. (Ice Fang) #=============================================================================== -class PokeBattle_Move_FreezeFlinchTarget < PokeBattle_Move +class Battle::Move::FreezeFlinchTarget < Battle::Move def flinchingMove?; return true; end def pbAdditionalEffect(user,target) @@ -242,7 +242,7 @@ end #=============================================================================== # Burns, freezes or paralyzes the target. (Tri Attack) #=============================================================================== -class PokeBattle_Move_ParalyzeBurnOrFreezeTarget < PokeBattle_Move +class Battle::Move::ParalyzeBurnOrFreezeTarget < Battle::Move def pbAdditionalEffect(user,target) return if target.damageState.substitute case @battle.pbRandom(3) @@ -256,7 +256,7 @@ end #=============================================================================== # User passes its status problem to the target. (Psycho Shift) #=============================================================================== -class PokeBattle_Move_GiveUserStatusToTarget < PokeBattle_Move +class Battle::Move::GiveUserStatusToTarget < Battle::Move def pbMoveFailed?(user,targets) if user.status == :NONE @battle.pbDisplay(_INTL("But it failed!")) @@ -302,7 +302,7 @@ end #=============================================================================== # Cures user of burn, poison and paralysis. (Refresh) #=============================================================================== -class PokeBattle_Move_CureUserBurnPoisonParalysis < PokeBattle_Move +class Battle::Move::CureUserBurnPoisonParalysis < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -337,7 +337,7 @@ end # aren't protected by their substitute/ability/etc., but they are in Gen # 6+). We achieve this by not targeting any battlers in Gen 5, since # pbSuccessCheckAgainstTarget is only called for targeted battlers. -class PokeBattle_Move_CureUserPartyStatus < PokeBattle_Move +class Battle::Move::CureUserPartyStatus < Battle::Move def canSnatch?; return true; end def worksWithNoTargets?; return true; end @@ -416,7 +416,7 @@ end #=============================================================================== # Cures the target's burn. (Sparkling Aria) #=============================================================================== -class PokeBattle_Move_CureTargetBurn < PokeBattle_Move +class Battle::Move::CureTargetBurn < Battle::Move def pbAdditionalEffect(user,target) return if target.fainted? || target.damageState.substitute return if target.status != :BURN @@ -428,7 +428,7 @@ end # Safeguards the user's side from being inflicted with status problems. # (Safeguard) #=============================================================================== -class PokeBattle_Move_StartUserSideImmunityToInflictedStatus < PokeBattle_Move +class Battle::Move::StartUserSideImmunityToInflictedStatus < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -448,14 +448,14 @@ end #=============================================================================== # Causes the target to flinch. #=============================================================================== -class PokeBattle_Move_FlinchTarget < PokeBattle_FlinchMove +class Battle::Move::FlinchTarget < Battle::Move::FlinchMove end #=============================================================================== # Causes the target to flinch. Does double damage and has perfect accuracy if # the target is Minimized. (Dragon Rush (Gen 6+), Steamroller, Stomp) #=============================================================================== -class PokeBattle_Move_FlinchTargetTrampleMinimize < PokeBattle_FlinchMove +class Battle::Move::FlinchTargetTrampleMinimize < Battle::Move::FlinchMove def tramplesMinimize?(param=1) return true if param==1 && Settings::MECHANICS_GENERATION >= 6 # Perfect accuracy return true if param==2 # Double damage @@ -466,7 +466,7 @@ end #=============================================================================== # Causes the target to flinch. Fails if the user is not asleep. (Snore) #=============================================================================== -class PokeBattle_Move_FlinchTargetFailsIfUserNotAsleep < PokeBattle_FlinchMove +class Battle::Move::FlinchTargetFailsIfUserNotAsleep < Battle::Move::FlinchMove def usableWhenAsleep?; return true; end def pbMoveFailed?(user,targets) @@ -482,7 +482,7 @@ end # Causes the target to flinch. Fails if this isn't the user's first turn. # (Fake Out) #=============================================================================== -class PokeBattle_Move_FlinchTargetFailsIfNotUserFirstTurn < PokeBattle_FlinchMove +class Battle::Move::FlinchTargetFailsIfNotUserFirstTurn < Battle::Move::FlinchMove def pbMoveFailed?(user,targets) if user.turnCount > 1 @battle.pbDisplay(_INTL("But it failed!")) @@ -496,7 +496,7 @@ end # Power is doubled if the target is using Bounce, Fly or Sky Drop. Hits some # semi-invulnerable targets. May make the target flinch. (Twister) #=============================================================================== -class PokeBattle_Move_FlinchTargetDoublePowerIfTargetInSky < PokeBattle_FlinchMove +class Battle::Move::FlinchTargetDoublePowerIfTargetInSky < Battle::Move::FlinchMove def hitsFlyingTargets?; return true; end def pbBaseDamage(baseDmg,user,target) @@ -511,14 +511,14 @@ end #=============================================================================== # Confuses the target. #=============================================================================== -class PokeBattle_Move_ConfuseTarget < PokeBattle_ConfuseMove +class Battle::Move::ConfuseTarget < Battle::Move::ConfuseMove end #=============================================================================== # Confuses the target. Accuracy perfect in rain, 50% in sunshine. Hits some # semi-invulnerable targets. (Hurricane) #=============================================================================== -class PokeBattle_Move_ConfuseTargetAlwaysHitsInRainHitsTargetInSky < PokeBattle_ConfuseMove +class Battle::Move::ConfuseTargetAlwaysHitsInRainHitsTargetInSky < Battle::Move::ConfuseMove def hitsFlyingTargets?; return true; end def pbBaseAccuracy(user,target) @@ -535,7 +535,7 @@ end #=============================================================================== # Attracts the target. (Attract) #=============================================================================== -class PokeBattle_Move_AttractTarget < PokeBattle_Move +class Battle::Move::AttractTarget < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -560,7 +560,7 @@ end #=============================================================================== # Changes user's type depending on the environment. (Camouflage) #=============================================================================== -class PokeBattle_Move_SetUserTypesBasedOnEnvironment < PokeBattle_Move +class Battle::Move::SetUserTypesBasedOnEnvironment < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -637,7 +637,7 @@ end # Changes user's type to a random one that resists/is immune to the last move # used by the target. (Conversion 2) #=============================================================================== -class PokeBattle_Move_SetUserTypesToResistLastAttack < PokeBattle_Move +class Battle::Move::SetUserTypesToResistLastAttack < Battle::Move def ignoresSubstitute?(user); return true; end def pbMoveFailed?(user, targets) @@ -678,7 +678,7 @@ end #=============================================================================== # User copes target's types. (Reflect Type) #=============================================================================== -class PokeBattle_Move_SetUserTypesToTargetTypes < PokeBattle_Move +class Battle::Move::SetUserTypesToTargetTypes < Battle::Move def ignoresSubstitute?(user); return true; end def pbMoveFailed?(user,targets) @@ -715,7 +715,7 @@ end # already has (even partially), OR changes to the user's first move's type. # (Conversion) #=============================================================================== -class PokeBattle_Move_SetUserTypesToUserMoveType < PokeBattle_Move +class Battle::Move::SetUserTypesToUserMoveType < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -749,7 +749,7 @@ end #=============================================================================== # The target's types become Psychic. (Magic Powder) #=============================================================================== -class PokeBattle_Move_SetTargetTypesToPsychic < PokeBattle_Move +class Battle::Move::SetTargetTypesToPsychic < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -771,7 +771,7 @@ end #=============================================================================== # Target becomes Water type. (Soak) #=============================================================================== -class PokeBattle_Move_SetTargetTypesToWater < PokeBattle_Move +class Battle::Move::SetTargetTypesToWater < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -793,7 +793,7 @@ end #=============================================================================== # Gives target the Ghost type. (Trick-or-Treat) #=============================================================================== -class PokeBattle_Move_AddGhostTypeToTarget < PokeBattle_Move +class Battle::Move::AddGhostTypeToTarget < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -814,7 +814,7 @@ end #=============================================================================== # Gives target the Grass type. (Forest's Curse) #=============================================================================== -class PokeBattle_Move_AddGrassTypeToTarget < PokeBattle_Move +class Battle::Move::AddGrassTypeToTarget < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -835,7 +835,7 @@ end #=============================================================================== # User loses their Fire type. Fails if user is not Fire-type. (Burn Up) #=============================================================================== -class PokeBattle_Move_UserLosesFireType < PokeBattle_Move +class Battle::Move::UserLosesFireType < Battle::Move def pbMoveFailed?(user,targets) if !user.pbHasType?(:FIRE) @battle.pbDisplay(_INTL("But it failed!")) @@ -855,7 +855,7 @@ end #=============================================================================== # Target's ability becomes Simple. (Simple Beam) #=============================================================================== -class PokeBattle_Move_SetTargetAbilityToSimple < PokeBattle_Move +class Battle::Move::SetTargetAbilityToSimple < Battle::Move def canMagicCoat?; return true; end def pbMoveFailed?(user,targets) @@ -889,7 +889,7 @@ end #=============================================================================== # Target's ability becomes Insomnia. (Worry Seed) #=============================================================================== -class PokeBattle_Move_SetTargetAbilityToInsomnia < PokeBattle_Move +class Battle::Move::SetTargetAbilityToInsomnia < Battle::Move def canMagicCoat?; return true; end def pbMoveFailed?(user,targets) @@ -923,7 +923,7 @@ end #=============================================================================== # User copies target's ability. (Role Play) #=============================================================================== -class PokeBattle_Move_SetUserAbilityToTargetAbility < PokeBattle_Move +class Battle::Move::SetUserAbilityToTargetAbility < Battle::Move def ignoresSubstitute?(user); return true; end def pbMoveFailed?(user,targets) @@ -963,7 +963,7 @@ end #=============================================================================== # Target copies user's ability. (Entrainment) #=============================================================================== -class PokeBattle_Move_SetTargetAbilityToUserAbility < PokeBattle_Move +class Battle::Move::SetTargetAbilityToUserAbility < Battle::Move def canMagicCoat?; return true; end def pbMoveFailed?(user,targets) @@ -1002,7 +1002,7 @@ end #=============================================================================== # User and target swap abilities. (Skill Swap) #=============================================================================== -class PokeBattle_Move_UserTargetSwapAbilities < PokeBattle_Move +class Battle::Move::UserTargetSwapAbilities < Battle::Move def ignoresSubstitute?(user); return true; end def pbMoveFailed?(user,targets) @@ -1051,7 +1051,7 @@ class PokeBattle_Move_UserTargetSwapAbilities < PokeBattle_Move @battle.pbReplaceAbilitySplash(user) @battle.pbReplaceAbilitySplash(target) end - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} swapped Abilities with its target!",user.pbThis)) else @battle.pbDisplay(_INTL("{1} swapped its {2} Ability with its target's {3} Ability!", @@ -1071,7 +1071,7 @@ end #=============================================================================== # Target's ability is negated. (Gastro Acid) #=============================================================================== -class PokeBattle_Move_NegateTargetAbility < PokeBattle_Move +class Battle::Move::NegateTargetAbility < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -1094,7 +1094,7 @@ end # Negates the target's ability while it remains on the field, if it has already # performed its action this round. (Core Enforcer) #=============================================================================== -class PokeBattle_Move_NegateTargetAbilityIfTargetActed < PokeBattle_Move +class Battle::Move::NegateTargetAbilityIfTargetActed < Battle::Move def pbEffectAgainstTarget(user,target) return if target.damageState.substitute || target.effects[PBEffects::GastroAcid] return if target.unstoppableAbility? @@ -1112,7 +1112,7 @@ end # Ignores all abilities that alter this move's success or damage. # (Moongeist Beam, Sunsteel Strike) #=============================================================================== -class PokeBattle_Move_IgnoreTargetAbility < PokeBattle_Move +class Battle::Move::IgnoreTargetAbility < Battle::Move def pbChangeUsageCounters(user,specialUsage) super @battle.moldBreaker = true if !specialUsage @@ -1122,7 +1122,7 @@ end #=============================================================================== # For 5 rounds, user becomes airborne. (Magnet Rise) #=============================================================================== -class PokeBattle_Move_StartUserAirborne < PokeBattle_Move +class Battle::Move::StartUserAirborne < Battle::Move def unusableInGravity?; return true; end def canSnatch?; return true; end @@ -1145,7 +1145,7 @@ end #=============================================================================== # For 3 rounds, target becomes airborne and can always be hit. (Telekinesis) #=============================================================================== -class PokeBattle_Move_StartTargetAirborneAndAlwaysHitByMoves < PokeBattle_Move +class Battle::Move::StartTargetAirborneAndAlwaysHitByMoves < Battle::Move def unusableInGravity?; return true; end def canMagicCoat?; return true; end @@ -1176,7 +1176,7 @@ end #=============================================================================== # Hits airborne semi-invulnerable targets. (Sky Uppercut) #=============================================================================== -class PokeBattle_Move_HitsTargetInSky < PokeBattle_Move +class Battle::Move::HitsTargetInSky < Battle::Move def hitsFlyingTargets?; return true; end end @@ -1184,7 +1184,7 @@ end # Grounds the target while it remains active. Hits some semi-invulnerable # targets. (Smack Down, Thousand Arrows) #=============================================================================== -class PokeBattle_Move_HitsTargetInSkyGroundsTarget < PokeBattle_Move +class Battle::Move::HitsTargetInSkyGroundsTarget < Battle::Move def hitsFlyingTargets?; return true; end def pbCalcTypeModSingle(moveType,defType,user,target) @@ -1215,7 +1215,7 @@ end # For 5 rounds, increases gravity on the field. Pokémon cannot become airborne. # (Gravity) #=============================================================================== -class PokeBattle_Move_StartGravity < PokeBattle_Move +class Battle::Move::StartGravity < Battle::Move def pbMoveFailed?(user,targets) if @battle.field.effects[PBEffects::Gravity]>0 @battle.pbDisplay(_INTL("But it failed!")) @@ -1253,7 +1253,7 @@ end #=============================================================================== # User transforms into the target. (Transform) #=============================================================================== -class PokeBattle_Move_TransformUserIntoTarget < PokeBattle_Move +class Battle::Move::TransformUserIntoTarget < Battle::Move def pbMoveFailed?(user,targets) if user.effects[PBEffects::Transform] @battle.pbDisplay(_INTL("But it failed!")) diff --git a/Data/Scripts/011_Battle/002_Move/008_MoveEffects_MoveAttributes.rb b/Data/Scripts/011_Battle/003_Move/008_MoveEffects_MoveAttributes.rb similarity index 89% rename from Data/Scripts/011_Battle/002_Move/008_MoveEffects_MoveAttributes.rb rename to Data/Scripts/011_Battle/003_Move/008_MoveEffects_MoveAttributes.rb index 648f81a6e..ce8b8fcbe 100644 --- a/Data/Scripts/011_Battle/002_Move/008_MoveEffects_MoveAttributes.rb +++ b/Data/Scripts/011_Battle/003_Move/008_MoveEffects_MoveAttributes.rb @@ -1,7 +1,7 @@ #=============================================================================== # Inflicts a fixed 20HP damage. (Sonic Boom) #=============================================================================== -class PokeBattle_Move_FixedDamage20 < PokeBattle_FixedDamageMove +class Battle::Move::FixedDamage20 < Battle::Move::FixedDamageMove def pbFixedDamage(user,target) return 20 end @@ -10,7 +10,7 @@ end #=============================================================================== # Inflicts a fixed 40HP damage. (Dragon Rage) #=============================================================================== -class PokeBattle_Move_FixedDamage40 < PokeBattle_FixedDamageMove +class Battle::Move::FixedDamage40 < Battle::Move::FixedDamageMove def pbFixedDamage(user,target) return 40 end @@ -19,7 +19,7 @@ end #=============================================================================== # Halves the target's current HP. (Nature's Madness, Super Fang) #=============================================================================== -class PokeBattle_Move_FixedDamageHalfTargetHP < PokeBattle_FixedDamageMove +class Battle::Move::FixedDamageHalfTargetHP < Battle::Move::FixedDamageMove def pbFixedDamage(user,target) return (target.hp/2.0).round end @@ -28,7 +28,7 @@ end #=============================================================================== # Inflicts damage equal to the user's level. (Night Shade, Seismic Toss) #=============================================================================== -class PokeBattle_Move_FixedDamageUserLevel < PokeBattle_FixedDamageMove +class Battle::Move::FixedDamageUserLevel < Battle::Move::FixedDamageMove def pbFixedDamage(user,target) return user.level end @@ -37,7 +37,7 @@ end #=============================================================================== # Inflicts damage between 0.5 and 1.5 times the user's level. (Psywave) #=============================================================================== -class PokeBattle_Move_FixedDamageUserLevelRandom < PokeBattle_FixedDamageMove +class Battle::Move::FixedDamageUserLevelRandom < Battle::Move::FixedDamageMove def pbFixedDamage(user,target) min = (user.level/2).floor max = (user.level*3/2).floor @@ -48,7 +48,7 @@ end #=============================================================================== # Inflicts damage to bring the target's HP down to equal the user's HP. (Endeavor) #=============================================================================== -class PokeBattle_Move_LowerTargetHPToUserHP < PokeBattle_FixedDamageMove +class Battle::Move::LowerTargetHPToUserHP < Battle::Move::FixedDamageMove def pbFailsAgainstTarget?(user, target, show_message) if user.hp>=target.hp @battle.pbDisplay(_INTL("But it failed!")) if show_message @@ -67,7 +67,7 @@ end #=============================================================================== # OHKO. Accuracy increases by difference between levels of user and target. #=============================================================================== -class PokeBattle_Move_OHKO < PokeBattle_FixedDamageMove +class Battle::Move::OHKO < Battle::Move::FixedDamageMove def pbFailsAgainstTarget?(user, target, show_message) if target.level>user.level @battle.pbDisplay(_INTL("{1} is unaffected!", target.pbThis)) if show_message @@ -76,7 +76,7 @@ class PokeBattle_Move_OHKO < PokeBattle_FixedDamageMove if target.hasActiveAbility?(:STURDY) && !@battle.moldBreaker if show_message @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("But it failed to affect {1}!", target.pbThis(true))) else @battle.pbDisplay(_INTL("But it failed to affect {1} because of its {2}!", @@ -111,7 +111,7 @@ end # Lower accuracy when used by a non-Ice-type Pokémon. Doesn't affect Ice-type # Pokémon. (Sheer Cold (Gen 7+)) #=============================================================================== -class PokeBattle_Move_OHKOIce < PokeBattle_Move_OHKO +class Battle::Move::OHKOIce < Battle::Move::OHKO def pbFailsAgainstTarget?(user, target, show_message) if target.pbHasType?(:ICE) @battle.pbDisplay(_INTL("But it failed!")) if show_message @@ -131,14 +131,14 @@ end # OHKO. Accuracy increases by difference between levels of user and target. Hits # targets that are semi-invulnerable underground. (Fissure) #=============================================================================== -class PokeBattle_Move_OHKOHitsUndergroundTarget < PokeBattle_Move_OHKO +class Battle::Move::OHKOHitsUndergroundTarget < Battle::Move::OHKO def hitsDiggingTargets?; return true; end end #=============================================================================== # The target's ally loses 1/16 of its max HP. (Flame Burst) #=============================================================================== -class PokeBattle_Move_DamageTargetAlly < PokeBattle_Move +class Battle::Move::DamageTargetAlly < Battle::Move def pbEffectWhenDealingDamage(user,target) hitAlly = [] target.allAllies.each do |b| @@ -164,7 +164,7 @@ end #=============================================================================== # Power increases with the user's HP. (Eruption, Water Spout) #=============================================================================== -class PokeBattle_Move_PowerHigherWithUserHP < PokeBattle_Move +class Battle::Move::PowerHigherWithUserHP < Battle::Move def pbBaseDamage(baseDmg,user,target) return [150*user.hp/user.totalhp,1].max end @@ -173,7 +173,7 @@ end #=============================================================================== # Power increases the less HP the user has. (Flail, Reversal) #=============================================================================== -class PokeBattle_Move_PowerLowerWithUserHP < PokeBattle_Move +class Battle::Move::PowerLowerWithUserHP < Battle::Move def pbBaseDamage(baseDmg,user,target) ret = 20 n = 48*user.hp/user.totalhp @@ -195,7 +195,7 @@ end #=============================================================================== # Power increases with the target's HP. (Crush Grip, Wring Out) #=============================================================================== -class PokeBattle_Move_PowerHigherWithTargetHP < PokeBattle_Move +class Battle::Move::PowerHigherWithTargetHP < Battle::Move def pbBaseDamage(baseDmg,user,target) return [120*target.hp/target.totalhp,1].max end @@ -204,7 +204,7 @@ end #=============================================================================== # Power increases with the user's happiness. (Return) #=============================================================================== -class PokeBattle_Move_PowerHigherWithUserHappiness < PokeBattle_Move +class Battle::Move::PowerHigherWithUserHappiness < Battle::Move def pbBaseDamage(baseDmg,user,target) return [(user.happiness*2/5).floor,1].max end @@ -213,7 +213,7 @@ end #=============================================================================== # Power decreases with the user's happiness. (Frustration) #=============================================================================== -class PokeBattle_Move_PowerLowerWithUserHappiness < PokeBattle_Move +class Battle::Move::PowerLowerWithUserHappiness < Battle::Move def pbBaseDamage(baseDmg,user,target) return [((255-user.happiness)*2/5).floor,1].max end @@ -223,7 +223,7 @@ end # Power increases with the user's positive stat changes (ignores negative ones). # (Power Trip, Stored Power) #=============================================================================== -class PokeBattle_Move_PowerHigherWithUserPositiveStatStages < PokeBattle_Move +class Battle::Move::PowerHigherWithUserPositiveStatStages < Battle::Move def pbBaseDamage(baseDmg,user,target) mult = 1 GameData::Stat.each_battle { |s| mult += user.stages[s.id] if user.stages[s.id] > 0 } @@ -235,7 +235,7 @@ end # Power increases with the target's positive stat changes (ignores negative ones). # (Punishment) #=============================================================================== -class PokeBattle_Move_PowerHigherWithTargetPositiveStatStages < PokeBattle_Move +class Battle::Move::PowerHigherWithTargetPositiveStatStages < Battle::Move def pbBaseDamage(baseDmg,user,target) mult = 3 GameData::Stat.each_battle { |s| mult += target.stages[s.id] if target.stages[s.id] > 0 } @@ -246,7 +246,7 @@ end #=============================================================================== # Power increases the quicker the user is than the target. (Electro Ball) #=============================================================================== -class PokeBattle_Move_PowerHigherWithUserFasterThanTarget < PokeBattle_Move +class Battle::Move::PowerHigherWithUserFasterThanTarget < Battle::Move def pbBaseDamage(baseDmg,user,target) ret = 40 n = user.pbSpeed/target.pbSpeed @@ -266,7 +266,7 @@ end #=============================================================================== # Power increases the quicker the target is than the user. (Gyro Ball) #=============================================================================== -class PokeBattle_Move_PowerHigherWithTargetFasterThanUser < PokeBattle_Move +class Battle::Move::PowerHigherWithTargetFasterThanUser < Battle::Move def pbBaseDamage(baseDmg,user,target) return [[(25*target.pbSpeed/user.pbSpeed).floor,150].min,1].max end @@ -275,7 +275,7 @@ end #=============================================================================== # Power increases the less PP this move has. (Trump Card) #=============================================================================== -class PokeBattle_Move_PowerHigherWithLessPP < PokeBattle_Move +class Battle::Move::PowerHigherWithLessPP < Battle::Move def pbBaseDamage(baseDmg,user,target) dmgs = [200,80,60,50,40] ppLeft = [@pp,dmgs.length-1].min # PP is reduced before the move is used @@ -286,7 +286,7 @@ end #=============================================================================== # Power increases the heavier the target is. (Grass Knot, Low Kick) #=============================================================================== -class PokeBattle_Move_PowerHigherWithTargetWeight < PokeBattle_Move +class Battle::Move::PowerHigherWithTargetWeight < Battle::Move def pbBaseDamage(baseDmg,user,target) ret = 20 weight = target.pbWeight @@ -309,7 +309,7 @@ end # Power increases the heavier the user is than the target. (Heat Crash, Heavy Slam) # Does double damage and has perfect accuracy if the target is Minimized. #=============================================================================== -class PokeBattle_Move_PowerHigherWithUserHeavierThanTarget < PokeBattle_Move +class Battle::Move::PowerHigherWithUserHeavierThanTarget < Battle::Move def tramplesMinimize?(param=1) return true if Settings::MECHANICS_GENERATION >= 7 # Perfect accuracy and double damage return super @@ -334,7 +334,7 @@ end #=============================================================================== # Power doubles for each consecutive use. (Fury Cutter) #=============================================================================== -class PokeBattle_Move_PowerHigherWithConsecutiveUse < PokeBattle_Move +class Battle::Move::PowerHigherWithConsecutiveUse < Battle::Move def pbChangeUsageCounters(user,specialUsage) oldVal = user.effects[PBEffects::FuryCutter] super @@ -354,7 +354,7 @@ end # Power is multiplied by the number of consecutive rounds in which this move was # used by any Pokémon on the user's side. (Echoed Voice) #=============================================================================== -class PokeBattle_Move_PowerHigherWithConsecutiveUseOnUserSide < PokeBattle_Move +class Battle::Move::PowerHigherWithConsecutiveUseOnUserSide < Battle::Move def pbChangeUsageCounters(user,specialUsage) oldVal = user.pbOwnSide.effects[PBEffects::EchoedVoiceCounter] super @@ -373,7 +373,7 @@ end # Power is chosen at random. Power is doubled if the target is using Dig. Hits # some semi-invulnerable targets. (Magnitude) #=============================================================================== -class PokeBattle_Move_RandomPowerDoublePowerIfTargetUnderground < PokeBattle_Move +class Battle::Move::RandomPowerDoublePowerIfTargetUnderground < Battle::Move def hitsDiggingTargets?; return true; end def pbOnStartUse(user,targets) @@ -406,7 +406,7 @@ end #=============================================================================== # Power is doubled if the target's HP is down to 1/2 or less. (Brine) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetHPLessThanHalf < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetHPLessThanHalf < Battle::Move def pbBaseDamage(baseDmg,user,target) baseDmg *= 2 if target.hp<=target.totalhp/2 return baseDmg @@ -417,7 +417,7 @@ end # Power is doubled if the user is burned, poisoned or paralyzed. (Facade) # Burn's halving of Attack is negated (new mechanics). #=============================================================================== -class PokeBattle_Move_DoublePowerIfUserPoisonedBurnedParalyzed < PokeBattle_Move +class Battle::Move::DoublePowerIfUserPoisonedBurnedParalyzed < Battle::Move def damageReducedByBurn?; return Settings::MECHANICS_GENERATION <= 5; end def pbBaseDamage(baseDmg,user,target) @@ -429,7 +429,7 @@ end #=============================================================================== # Power is doubled if the target is asleep. Wakes the target up. (Wake-Up Slap) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetAsleepCureTarget < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetAsleepCureTarget < Battle::Move def pbBaseDamage(baseDmg,user,target) if target.asleep? && (target.effects[PBEffects::Substitute]==0 || ignoresSubstitute?(user)) @@ -449,7 +449,7 @@ end #=============================================================================== # Power is doubled if the target is poisoned. (Venoshock) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetPoisoned < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetPoisoned < Battle::Move def pbBaseDamage(baseDmg,user,target) if target.poisoned? && (target.effects[PBEffects::Substitute]==0 || ignoresSubstitute?(user)) @@ -465,7 +465,7 @@ end # Power is doubled if the target is paralyzed. Cures the target of paralysis. # (Smelling Salts) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetParalyzedCureTarget < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetParalyzedCureTarget < Battle::Move def pbBaseDamage(baseDmg,user,target) if target.paralyzed? && (target.effects[PBEffects::Substitute]==0 || ignoresSubstitute?(user)) @@ -485,7 +485,7 @@ end #=============================================================================== # Power is doubled if the target has a status problem. (Hex) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetStatusProblem < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetStatusProblem < Battle::Move def pbBaseDamage(baseDmg,user,target) if target.pbHasAnyStatus? && (target.effects[PBEffects::Substitute]==0 || ignoresSubstitute?(user)) @@ -498,7 +498,7 @@ end #=============================================================================== # Power is doubled if the user has no held item. (Acrobatics) #=============================================================================== -class PokeBattle_Move_DoublePowerIfUserHasNoItem < PokeBattle_Move +class Battle::Move::DoublePowerIfUserHasNoItem < Battle::Move def pbBaseDamageMultiplier(damageMult,user,target) damageMult *= 2 if !user.item || user.effects[PBEffects::GemConsumed] return damageMult @@ -509,7 +509,7 @@ end # Power is doubled if the target is using Dive. Hits some semi-invulnerable # targets. (Surf) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetUnderwater < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetUnderwater < Battle::Move def hitsDivingTargets?; return true; end def pbModifyDamage(damageMult,user,target) @@ -522,7 +522,7 @@ end # Power is doubled if the target is using Dig. Power is halved if Grassy Terrain # is in effect. Hits some semi-invulnerable targets. (Earthquake) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetUnderground < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetUnderground < Battle::Move def hitsDiggingTargets?; return true; end def pbModifyDamage(damageMult,user,target) @@ -536,7 +536,7 @@ end # Power is doubled if the target is using Bounce, Fly or Sky Drop. Hits some # semi-invulnerable targets. (Gust) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetInSky < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetInSky < Battle::Move def hitsFlyingTargets?; return true; end def pbBaseDamage(baseDmg,user,target) @@ -551,7 +551,7 @@ end #=============================================================================== # Power is doubled if Electric Terrain applies. (Rising Voltage) #=============================================================================== -class PokeBattle_Move_DoublePowerInElectricTerrain < PokeBattle_Move +class Battle::Move::DoublePowerInElectricTerrain < Battle::Move def pbBaseDamage(baseDmg, user, target) baseDmg *= 2 if @battle.field.terrain == :Electric && target.affectedByTerrain? return baseDmg @@ -561,7 +561,7 @@ end #=============================================================================== # Power is doubled if the user's last move failed. (Stomping Tantrum) #=============================================================================== -class PokeBattle_Move_DoublePowerIfUserLastMoveFailed < PokeBattle_Move +class Battle::Move::DoublePowerIfUserLastMoveFailed < Battle::Move def pbBaseDamage(baseDmg,user,target) baseDmg *= 2 if user.lastRoundMoveFailed return baseDmg @@ -571,7 +571,7 @@ end #=============================================================================== # Power is doubled if a user's teammate fainted last round. (Retaliate) #=============================================================================== -class PokeBattle_Move_DoublePowerIfAllyFaintedLastTurn < PokeBattle_Move +class Battle::Move::DoublePowerIfAllyFaintedLastTurn < Battle::Move def pbBaseDamage(baseDmg,user,target) lrf = user.pbOwnSide.effects[PBEffects::LastRoundFainted] baseDmg *= 2 if lrf>=0 && lrf==@battle.turnCount-1 @@ -583,7 +583,7 @@ end # Power is doubled if the user has lost HP due to the target's move this round. # (Avalanche, Revenge) #=============================================================================== -class PokeBattle_Move_DoublePowerIfUserLostHPThisTurn < PokeBattle_Move +class Battle::Move::DoublePowerIfUserLostHPThisTurn < Battle::Move def pbBaseDamage(baseDmg,user,target) baseDmg *= 2 if user.lastAttacker.include?(target.index) return baseDmg @@ -593,7 +593,7 @@ end #=============================================================================== # Power is doubled if the target has already lost HP this round. (Assurance) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetLostHPThisTurn < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetLostHPThisTurn < Battle::Move def pbBaseDamage(baseDmg,user,target) baseDmg *= 2 if target.tookDamageThisRound return baseDmg @@ -603,7 +603,7 @@ end #=============================================================================== # Power is doubled if any of the user's stats were lowered this round. (Lash Out) #=============================================================================== -class PokeBattle_Move_DoublePowerIfUserStatsLoweredThisTurn < PokeBattle_Move +class Battle::Move::DoublePowerIfUserStatsLoweredThisTurn < Battle::Move def pbBaseDamage(baseDmg, user, target) baseDmg *= 2 if user.statsLoweredThisRound return baseDmg @@ -613,7 +613,7 @@ end #=============================================================================== # Power is doubled if the target has already moved this round. (Payback) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetActed < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetActed < Battle::Move def pbBaseDamage(baseDmg,user,target) if @battle.choices[target.index][0]!=:None && ((@battle.choices[target.index][0]!=:UseMove && @@ -628,7 +628,7 @@ end # Power is doubled if the user moves before the target, or if the target # switched in this round. (Bolt Beak, Fishious Rend) #=============================================================================== -class PokeBattle_Move_DoublePowerIfTargetNotActed < PokeBattle_Move +class Battle::Move::DoublePowerIfTargetNotActed < Battle::Move def pbBaseDamage(baseDmg, user, target) if @battle.choices[target.index][0] == :None || # Switched in ([:UseMove, :Shift].include?(@battle.choices[target.index][0]) && !target.movedThisRound?) @@ -641,7 +641,7 @@ end #=============================================================================== # This attack is always a critical hit. (Frost Breath, Storm Throw) #=============================================================================== -class PokeBattle_Move_AlwaysCriticalHit < PokeBattle_Move +class Battle::Move::AlwaysCriticalHit < Battle::Move def pbCritialOverride(user,target); return 1; end end @@ -649,7 +649,7 @@ end # Until the end of the next round, the user's moves will always be critical hits. # (Laser Focus) #=============================================================================== -class PokeBattle_Move_EnsureNextCriticalHit < PokeBattle_Move +class Battle::Move::EnsureNextCriticalHit < Battle::Move def canSnatch?; return true; end def pbEffectGeneral(user) @@ -661,7 +661,7 @@ end #=============================================================================== # For 5 rounds, foes' attacks cannot become critical hits. (Lucky Chant) #=============================================================================== -class PokeBattle_Move_StartPreventCriticalHitsAgainstUserSide < PokeBattle_Move +class Battle::Move::StartPreventCriticalHitsAgainstUserSide < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -682,14 +682,14 @@ end # If target would be KO'd by this attack, it survives with 1HP instead. # (False Swipe, Hold Back) #=============================================================================== -class PokeBattle_Move_CannotMakeTargetFaint < PokeBattle_Move +class Battle::Move::CannotMakeTargetFaint < Battle::Move def nonLethal?(user,target); return true; end end #=============================================================================== # If user would be KO'd this round, it survives with 1HP instead. (Endure) #=============================================================================== -class PokeBattle_Move_UserEnduresFaintingThisTurn < PokeBattle_ProtectMove +class Battle::Move::UserEnduresFaintingThisTurn < Battle::Move::ProtectMove def initialize(battle,move) super @effect = PBEffects::Endure @@ -703,7 +703,7 @@ end #=============================================================================== # Weakens Electric attacks. (Mud Sport) #=============================================================================== -class PokeBattle_Move_StartWeakenElectricMoves < PokeBattle_Move +class Battle::Move::StartWeakenElectricMoves < Battle::Move def pbMoveFailed?(user,targets) if Settings::MECHANICS_GENERATION >= 6 if @battle.field.effects[PBEffects::MudSportField]>0 @@ -732,7 +732,7 @@ end #=============================================================================== # Weakens Fire attacks. (Water Sport) #=============================================================================== -class PokeBattle_Move_StartWeakenFireMoves < PokeBattle_Move +class Battle::Move::StartWeakenFireMoves < Battle::Move def pbMoveFailed?(user,targets) if Settings::MECHANICS_GENERATION >= 6 if @battle.field.effects[PBEffects::WaterSportField]>0 @@ -762,7 +762,7 @@ end # For 5 rounds, lowers power of physical attacks against the user's side. # (Reflect) #=============================================================================== -class PokeBattle_Move_StartWeakenPhysicalDamageAgainstUserSide < PokeBattle_Move +class Battle::Move::StartWeakenPhysicalDamageAgainstUserSide < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -783,7 +783,7 @@ end #=============================================================================== # For 5 rounds, lowers power of special attacks against the user's side. (Light Screen) #=============================================================================== -class PokeBattle_Move_StartWeakenSpecialDamageAgainstUserSide < PokeBattle_Move +class Battle::Move::StartWeakenSpecialDamageAgainstUserSide < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -805,7 +805,7 @@ end # For 5 rounds, lowers power of attacks against the user's side. Fails if # weather is not hail. (Aurora Veil) #=============================================================================== -class PokeBattle_Move_StartWeakenDamageAgainstUserSideIfHail < PokeBattle_Move +class Battle::Move::StartWeakenDamageAgainstUserSideIfHail < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -832,7 +832,7 @@ end # Ends the opposing side's Light Screen, Reflect and Aurora Break. (Brick Break, # Psychic Fangs) #=============================================================================== -class PokeBattle_Move_RemoveScreens < PokeBattle_Move +class Battle::Move::RemoveScreens < Battle::Move def ignoresReflect?; return true; end def pbEffectGeneral(user) @@ -863,7 +863,7 @@ end #=============================================================================== # User is protected against moves with the "B" flag this round. (Detect, Protect) #=============================================================================== -class PokeBattle_Move_ProtectUser < PokeBattle_ProtectMove +class Battle::Move::ProtectUser < Battle::Move::ProtectMove def initialize(battle,move) super @effect = PBEffects::Protect @@ -875,7 +875,7 @@ end # makes contact with the user while this effect applies, that Pokémon is # poisoned. (Baneful Bunker) #=============================================================================== -class PokeBattle_Move_ProtectUserBanefulBunker < PokeBattle_ProtectMove +class Battle::Move::ProtectUserBanefulBunker < Battle::Move::ProtectMove def initialize(battle,move) super @effect = PBEffects::BanefulBunker @@ -886,7 +886,7 @@ end # User is protected against damaging moves this round. Decreases the Attack of # the user of a stopped contact move by 2 stages. (King's Shield) #=============================================================================== -class PokeBattle_Move_ProtectUserFromDamagingMovesKingsShield < PokeBattle_ProtectMove +class Battle::Move::ProtectUserFromDamagingMovesKingsShield < Battle::Move::ProtectMove def initialize(battle,move) super @effect = PBEffects::KingsShield @@ -899,7 +899,7 @@ end # Defense of the Pokémon using that move by 2 stages. Contributes to Protect's # counter. (Obstruct) #=============================================================================== -class PokeBattle_Move_ProtectUserFromDamagingMovesObstruct < PokeBattle_ProtectMove +class Battle::Move::ProtectUserFromDamagingMovesObstruct < Battle::Move::ProtectMove def initialize(battle, move) super @effect = PBEffects::Obstruct @@ -910,7 +910,7 @@ end # User is protected against moves that target it this round. Damages the user of # a stopped contact move by 1/8 of its max HP. (Spiky Shield) #=============================================================================== -class PokeBattle_Move_ProtectUserFromTargetingMovesSpikyShield < PokeBattle_ProtectMove +class Battle::Move::ProtectUserFromTargetingMovesSpikyShield < Battle::Move::ProtectMove def initialize(battle,move) super @effect = PBEffects::SpikyShield @@ -920,7 +920,7 @@ end #=============================================================================== # This round, the user's side is unaffected by damaging moves. (Mat Block) #=============================================================================== -class PokeBattle_Move_ProtectUserSideFromDamagingMovesIfUserFirstTurn < PokeBattle_Move +class Battle::Move::ProtectUserSideFromDamagingMovesIfUserFirstTurn < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -941,7 +941,7 @@ end #=============================================================================== # User's side is protected against status moves this round. (Crafty Shield) #=============================================================================== -class PokeBattle_Move_ProtectUserSideFromStatusMoves < PokeBattle_Move +class Battle::Move::ProtectUserSideFromStatusMoves < Battle::Move def pbMoveFailed?(user,targets) if user.pbOwnSide.effects[PBEffects::CraftyShield] @battle.pbDisplay(_INTL("But it failed!")) @@ -961,7 +961,7 @@ end # User's side is protected against moves with priority greater than 0 this round. # (Quick Guard) #=============================================================================== -class PokeBattle_Move_ProtectUserSideFromPriorityMoves < PokeBattle_ProtectMove +class Battle::Move::ProtectUserSideFromPriorityMoves < Battle::Move::ProtectMove def canSnatch?; return true; end def initialize(battle,move) @@ -975,7 +975,7 @@ end # User's side is protected against moves that target multiple battlers this round. # (Wide Guard) #=============================================================================== -class PokeBattle_Move_ProtectUserSideFromMultiTargetDamagingMoves < PokeBattle_ProtectMove +class Battle::Move::ProtectUserSideFromMultiTargetDamagingMoves < Battle::Move::ProtectMove def canSnatch?; return true; end def initialize(battle,move) @@ -988,7 +988,7 @@ end #=============================================================================== # Ends target's protections immediately. (Feint) #=============================================================================== -class PokeBattle_Move_RemoveProtections < PokeBattle_Move +class Battle::Move::RemoveProtections < Battle::Move def pbEffectAgainstTarget(user,target) target.effects[PBEffects::BanefulBunker] = false target.effects[PBEffects::KingsShield] = false @@ -1005,7 +1005,7 @@ end #=============================================================================== # Ends target's protections immediately. (Hyperspace Hole) #=============================================================================== -class PokeBattle_Move_RemoveProtectionsBypassSubstitute < PokeBattle_Move +class Battle::Move::RemoveProtectionsBypassSubstitute < Battle::Move def ignoresSubstitute?(user); return true; end def pbEffectAgainstTarget(user,target) @@ -1025,7 +1025,7 @@ end # Decreases the user's Defense by 1 stage. Ends target's protections # immediately. (Hyperspace Fury) #=============================================================================== -class PokeBattle_Move_HoopaRemoveProtectionsBypassSubstituteLowerUserDef1 < PokeBattle_StatDownMove +class Battle::Move::HoopaRemoveProtectionsBypassSubstituteLowerUserDef1 < Battle::Move::StatDownMove def ignoresSubstitute?(user); return true; end def initialize(battle,move) @@ -1060,7 +1060,7 @@ end #=============================================================================== # User takes recoil damage equal to 1/4 of the damage this move dealt. #=============================================================================== -class PokeBattle_Move_RecoilQuarterOfDamageDealt < PokeBattle_RecoilMove +class Battle::Move::RecoilQuarterOfDamageDealt < Battle::Move::RecoilMove def pbRecoilDamage(user,target) return (target.damageState.totalHPLost/4.0).round end @@ -1069,7 +1069,7 @@ end #=============================================================================== # User takes recoil damage equal to 1/3 of the damage this move dealt. #=============================================================================== -class PokeBattle_Move_RecoilThirdOfDamageDealt < PokeBattle_RecoilMove +class Battle::Move::RecoilThirdOfDamageDealt < Battle::Move::RecoilMove def pbRecoilDamage(user,target) return (target.damageState.totalHPLost/3.0).round end @@ -1079,7 +1079,7 @@ end # User takes recoil damage equal to 1/3 of the damage this move dealt. # May paralyze the target. (Volt Tackle) #=============================================================================== -class PokeBattle_Move_RecoilThirdOfDamageDealtParalyzeTarget < PokeBattle_RecoilMove +class Battle::Move::RecoilThirdOfDamageDealtParalyzeTarget < Battle::Move::RecoilMove def pbRecoilDamage(user,target) return (target.damageState.totalHPLost/3.0).round end @@ -1094,7 +1094,7 @@ end # User takes recoil damage equal to 1/3 of the damage this move dealt. # May burn the target. (Flare Blitz) #=============================================================================== -class PokeBattle_Move_RecoilThirdOfDamageDealtBurnTarget < PokeBattle_RecoilMove +class Battle::Move::RecoilThirdOfDamageDealtBurnTarget < Battle::Move::RecoilMove def pbRecoilDamage(user,target) return (target.damageState.totalHPLost/3.0).round end @@ -1109,7 +1109,7 @@ end # User takes recoil damage equal to 1/2 of the damage this move dealt. # (Head Smash, Light of Ruin) #=============================================================================== -class PokeBattle_Move_RecoilHalfOfDamageDealt < PokeBattle_RecoilMove +class Battle::Move::RecoilHalfOfDamageDealt < Battle::Move::RecoilMove def pbRecoilDamage(user,target) return (target.damageState.totalHPLost/2.0).round end @@ -1120,7 +1120,7 @@ end # the target. Does double damage and has perfect accuracy if the target is # Minimized. (Flying Press) #=============================================================================== -class PokeBattle_Move_EffectivenessIncludesFlyingType < PokeBattle_Move +class Battle::Move::EffectivenessIncludesFlyingType < Battle::Move def tramplesMinimize?(param=1) return true if param==1 && Settings::MECHANICS_GENERATION >= 6 # Perfect accuracy return true if param==2 # Double damage @@ -1143,7 +1143,7 @@ end # if it is a physical move. Has a different animation depending on the move's # category. (Shell Side Arm) #=============================================================================== -class PokeBattle_Move_CategoryDependsOnHigherDamagePoisonTarget < PokeBattle_PoisonMove +class Battle::Move::CategoryDependsOnHigherDamagePoisonTarget < Battle::Move::PoisonMove def initialize(battle, move) super @calcCategory = 1 @@ -1189,7 +1189,7 @@ end # physical if user's Attack is higher than its Special Attack (after applying # stat stages), and special otherwise. (Photon Geyser) #=============================================================================== -class PokeBattle_Move_CategoryDependsOnHigherDamageIgnoreTargetAbility < PokeBattle_Move_IgnoreTargetAbility +class Battle::Move::CategoryDependsOnHigherDamageIgnoreTargetAbility < Battle::Move::IgnoreTargetAbility def initialize(battle,move) super @calcCategory = 1 @@ -1219,7 +1219,7 @@ end # are applied normally, applying the user's Attack modifiers and not the user's # Defence modifiers. (Body Press) #=============================================================================== -class PokeBattle_Move_UseUserBaseDefenseInsteadOfUserBaseAttack < PokeBattle_Move +class Battle::Move::UseUserBaseDefenseInsteadOfUserBaseAttack < Battle::Move def pbGetAttackStats(user, target) return user.defense, user.stages[:DEFENSE] + 6 end @@ -1229,7 +1229,7 @@ end # Target's Attack is used instead of user's Attack for this move's calculations. # (Foul Play) #=============================================================================== -class PokeBattle_Move_UseTargetAttackInsteadOfUserAttack < PokeBattle_Move +class Battle::Move::UseTargetAttackInsteadOfUserAttack < Battle::Move def pbGetAttackStats(user,target) if specialMove? return target.spatk, target.stages[:SPECIAL_ATTACK]+6 @@ -1242,7 +1242,7 @@ end # Target's Defense is used instead of its Special Defense for this move's # calculations. (Psyshock, Psystrike, Secret Sword) #=============================================================================== -class PokeBattle_Move_UseTargetDefenseInsteadOfTargetSpDef < PokeBattle_Move +class Battle::Move::UseTargetDefenseInsteadOfTargetSpDef < Battle::Move def pbGetDefenseStats(user,target) return target.defense, target.stages[:DEFENSE]+6 end @@ -1252,7 +1252,7 @@ end # User's attack next round against the target will definitely hit. # (Lock-On, Mind Reader) #=============================================================================== -class PokeBattle_Move_EnsureNextMoveAlwaysHits < PokeBattle_Move +class Battle::Move::EnsureNextMoveAlwaysHits < Battle::Move def pbEffectAgainstTarget(user,target) user.effects[PBEffects::LockOn] = 2 user.effects[PBEffects::LockOnPos] = target.index @@ -1264,7 +1264,7 @@ end # Target's evasion stat changes are ignored from now on. (Foresight, Odor Sleuth) # Normal and Fighting moves have normal effectiveness against the Ghost-type target. #=============================================================================== -class PokeBattle_Move_StartNegateTargetEvasionStatStageAndGhostImmunity < PokeBattle_Move +class Battle::Move::StartNegateTargetEvasionStatStageAndGhostImmunity < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -1278,7 +1278,7 @@ end # Target's evasion stat changes are ignored from now on. (Miracle Eye) # Psychic moves have normal effectiveness against the Dark-type target. #=============================================================================== -class PokeBattle_Move_StartNegateTargetEvasionStatStageAndDarkImmunity < PokeBattle_Move +class Battle::Move::StartNegateTargetEvasionStatStageAndDarkImmunity < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -1292,7 +1292,7 @@ end # This move ignores target's Defense, Special Defense and evasion stat changes. # (Chip Away, Darkest Lariat, Sacred Sword) #=============================================================================== -class PokeBattle_Move_IgnoreTargetDefSpDefEvaStatStages < PokeBattle_Move +class Battle::Move::IgnoreTargetDefSpDefEvaStatStages < Battle::Move def pbCalcAccuracyMultipliers(user,target,multipliers) super modifiers[:evasion_stage] = 0 @@ -1307,7 +1307,7 @@ end #=============================================================================== # This move's type is the same as the user's first type. (Revelation Dance) #=============================================================================== -class PokeBattle_Move_TypeIsUserFirstType < PokeBattle_Move +class Battle::Move::TypeIsUserFirstType < Battle::Move def pbBaseType(user) userTypes = user.pbTypes(true) return userTypes[0] @@ -1317,7 +1317,7 @@ end #=============================================================================== # Power and type depends on the user's IVs. (Hidden Power) #=============================================================================== -class PokeBattle_Move_TypeDependsOnUserIVs < PokeBattle_Move +class Battle::Move::TypeDependsOnUserIVs < Battle::Move def pbBaseType(user) hp = pbHiddenPower(user) return hp[0] @@ -1368,7 +1368,7 @@ end # Power and type depend on the user's held berry. Destroys the berry. # (Natural Gift) #=============================================================================== -class PokeBattle_Move_TypeAndPowerDependOnUserBerry < PokeBattle_Move +class Battle::Move::TypeAndPowerDependOnUserBerry < Battle::Move def initialize(battle,move) super @typeArray = { @@ -1465,7 +1465,7 @@ end #=============================================================================== # Type depends on the user's held Plate. (Judgment) #=============================================================================== -class PokeBattle_Move_TypeDependsOnUserPlate < PokeBattle_Move +class Battle::Move::TypeDependsOnUserPlate < Battle::Move def initialize(battle,move) super @itemTypes = { @@ -1505,7 +1505,7 @@ end #=============================================================================== # Type depends on the user's held Memory. (Multi-Attack) #=============================================================================== -class PokeBattle_Move_TypeDependsOnUserMemory < PokeBattle_Move +class Battle::Move::TypeDependsOnUserMemory < Battle::Move def initialize(battle,move) super @itemTypes = { @@ -1545,7 +1545,7 @@ end #=============================================================================== # Type depends on the user's held Drive. (Techno Blast) #=============================================================================== -class PokeBattle_Move_TypeDependsOnUserDrive < PokeBattle_Move +class Battle::Move::TypeDependsOnUserDrive < Battle::Move def initialize(battle,move) super @itemTypes = { @@ -1584,7 +1584,7 @@ end # form (Electric if Full Belly, Dark if Hangry). Fails if the user is not # Morpeko (works if transformed into Morpeko). (Aura Wheel) #=============================================================================== -class PokeBattle_Move_TypeDependsOnUserMorpekoFormRaiseUserSpeed1 < PokeBattle_Move_RaiseUserSpeed1 +class Battle::Move::TypeDependsOnUserMorpekoFormRaiseUserSpeed1 < Battle::Move::RaiseUserSpeed1 def pbMoveFailed?(user, targets) if !user.isSpecies?(:MORPEKO) && user.effects[PBEffects::TransformSpecies] != :MORPEKO @battle.pbDisplay(_INTL("But {1} can't use the move!", user.pbThis)) @@ -1602,7 +1602,7 @@ end #=============================================================================== # Power is doubled in weather. Type changes depending on the weather. (Weather Ball) #=============================================================================== -class PokeBattle_Move_TypeAndPowerDependOnWeather < PokeBattle_Move +class Battle::Move::TypeAndPowerDependOnWeather < Battle::Move def pbBaseDamage(baseDmg,user,target) baseDmg *= 2 if user.effectiveWeather != :None return baseDmg @@ -1637,7 +1637,7 @@ end # Power is doubled if a terrain applies and user is grounded; also, this move's # type and animation depends on the terrain. (Terrain Pulse) #=============================================================================== -class PokeBattle_Move_TypeAndPowerDependOnTerrain < PokeBattle_Move +class Battle::Move::TypeAndPowerDependOnTerrain < Battle::Move def pbBaseDamage(baseDmg, user, target) baseDmg *= 2 if @battle.field.terrain != :None && user.affectedByTerrain? return baseDmg @@ -1671,7 +1671,7 @@ end #=============================================================================== # Target's moves become Electric-type for the rest of the round. (Electrify) #=============================================================================== -class PokeBattle_Move_TargetMovesBecomeElectric < PokeBattle_Move +class Battle::Move::TargetMovesBecomeElectric < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) if target.effects[PBEffects::Electrify] @battle.pbDisplay(_INTL("But it failed!")) if show_message @@ -1691,7 +1691,7 @@ end # All Normal-type moves become Electric-type for the rest of the round. # (Ion Deluge, Plasma Fists) #=============================================================================== -class PokeBattle_Move_NormalMovesBecomeElectric < PokeBattle_Move +class Battle::Move::NormalMovesBecomeElectric < Battle::Move def pbMoveFailed?(user,targets) return false if damagingMove? if @battle.field.effects[PBEffects::IonDeluge] diff --git a/Data/Scripts/011_Battle/002_Move/009_MoveEffects_MultiHit.rb b/Data/Scripts/011_Battle/003_Move/009_MoveEffects_MultiHit.rb similarity index 91% rename from Data/Scripts/011_Battle/002_Move/009_MoveEffects_MultiHit.rb rename to Data/Scripts/011_Battle/003_Move/009_MoveEffects_MultiHit.rb index ad80ed2fc..f5c00053b 100644 --- a/Data/Scripts/011_Battle/002_Move/009_MoveEffects_MultiHit.rb +++ b/Data/Scripts/011_Battle/003_Move/009_MoveEffects_MultiHit.rb @@ -1,7 +1,7 @@ #=============================================================================== # Hits twice. #=============================================================================== -class PokeBattle_Move_HitTwoTimes < PokeBattle_Move +class Battle::Move::HitTwoTimes < Battle::Move def multiHitMove?; return true; end def pbNumHits(user,targets); return 2; end end @@ -9,7 +9,7 @@ end #=============================================================================== # Hits twice. May poison the target on each hit. (Twineedle) #=============================================================================== -class PokeBattle_Move_HitTwoTimesPoisonTarget < PokeBattle_PoisonMove +class Battle::Move::HitTwoTimesPoisonTarget < Battle::Move::PoisonMove def multiHitMove?; return true; end def pbNumHits(user,targets); return 2; end end @@ -18,7 +18,7 @@ end # Hits twice. Causes the target to flinch. Does double damage and has perfect # accuracy if the target is Minimized. (Double Iron Bash) #=============================================================================== -class PokeBattle_Move_HitTwoTimesFlinchTarget < PokeBattle_FlinchMove +class Battle::Move::HitTwoTimesFlinchTarget < Battle::Move::FlinchMove def multiHitMove?; return true; end def pbNumHits(user,targets); return 2; end def tramplesMinimize?(param=1); return Settings::MECHANICS_GENERATION <= 7; end @@ -35,7 +35,7 @@ end # check in turn). This is considered unimportant, and since correcting it # would involve extensive code rewrites, it is being ignored. #=============================================================================== -class PokeBattle_Move_HitTwoTimesTargetThenTargetAlly < PokeBattle_Move +class Battle::Move::HitTwoTimesTargetThenTargetAlly < Battle::Move def pbNumHits(user, targets); return 1; end def pbRepeatHit?; return true; end @@ -68,7 +68,7 @@ end # Hits 3 times. Power is multiplied by the hit number. (Triple Kick) # An accuracy check is performed for each hit. #=============================================================================== -class PokeBattle_Move_HitThreeTimesPowersUpWithEachHit < PokeBattle_Move +class Battle::Move::HitThreeTimesPowersUpWithEachHit < Battle::Move def multiHitMove?; return true; end def pbNumHits(user,targets); return 3; end @@ -91,7 +91,7 @@ end # Hits 3 times in a row. If each hit could be a critical hit, it will definitely # be a critical hit. (Surging Strikes) #=============================================================================== -class PokeBattle_Move_HitThreeTimesAlwaysCriticalHit < PokeBattle_Move +class Battle::Move::HitThreeTimesAlwaysCriticalHit < Battle::Move def multiHitMove?; return true; end def pbNumHits(user, targets); return 3; end def pbCritialOverride(user, target); return 1; end @@ -100,7 +100,7 @@ end #=============================================================================== # Hits 2-5 times. #=============================================================================== -class PokeBattle_Move_HitTwoToFiveTimes < PokeBattle_Move +class Battle::Move::HitTwoToFiveTimes < Battle::Move def multiHitMove?; return true; end def pbNumHits(user,targets) @@ -120,7 +120,7 @@ end # Hits 2-5 times. If the user is Ash Greninja, powers up and hits 3 times. # (Water Shuriken) #=============================================================================== -class PokeBattle_Move_HitTwoToFiveTimesOrThreeForAshGreninja < PokeBattle_Move_HitTwoToFiveTimes +class Battle::Move::HitTwoToFiveTimesOrThreeForAshGreninja < Battle::Move::HitTwoToFiveTimes def pbNumHits(user,targets) return 3 if user.isSpecies?(:GRENINJA) && user.form == 2 return super @@ -136,7 +136,7 @@ end # Hits 2-5 times in a row. If the move does not fail, increases the user's Speed # by 1 stage and decreases the user's Defense by 1 stage. (Scale Shot) #=============================================================================== -class PokeBattle_Move_HitTwoToFiveTimesRaiseUserSpd1LowerUserDef1 < PokeBattle_Move +class Battle::Move::HitTwoToFiveTimesRaiseUserSpd1LowerUserDef1 < Battle::Move def multiHitMove?; return true; end def pbNumHits(user, targets) @@ -167,7 +167,7 @@ end # Base power of each hit depends on the base Attack stat for the species of that # hit's participant. (Beat Up) #=============================================================================== -class PokeBattle_Move_HitOncePerUserTeamMember < PokeBattle_Move +class Battle::Move::HitOncePerUserTeamMember < Battle::Move def multiHitMove?; return true; end def pbMoveFailed?(user,targets) @@ -197,7 +197,7 @@ end #=============================================================================== # Attacks first turn, skips second turn (if successful). #=============================================================================== -class PokeBattle_Move_AttackAndSkipNextTurn < PokeBattle_Move +class Battle::Move::AttackAndSkipNextTurn < Battle::Move def pbEffectGeneral(user) user.effects[PBEffects::HyperBeam] = 2 user.currentMove = @id @@ -207,7 +207,7 @@ end #=============================================================================== # Two turn attack. Skips first turn, attacks second turn. (Razor Wind) #=============================================================================== -class PokeBattle_Move_TwoTurnAttack < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttack < Battle::Move::TwoTurnMove def pbChargingTurnMessage(user,targets) @battle.pbDisplay(_INTL("{1} whipped up a whirlwind!",user.pbThis)) end @@ -217,7 +217,7 @@ end # Two turn attack. Skips first turn, attacks second turn. (Solar Beam, Solar Blade) # Power halved in all weather except sunshine. In sunshine, takes 1 turn instead. #=============================================================================== -class PokeBattle_Move_TwoTurnAttackOneTurnInSun < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackOneTurnInSun < Battle::Move::TwoTurnMove def pbIsChargingTurn?(user) ret = super if !user.effects[PBEffects::TwoTurnAttack] @@ -245,7 +245,7 @@ end # Two turn attack. Skips first turn, attacks second turn. (Freeze Shock) # May paralyze the target. #=============================================================================== -class PokeBattle_Move_TwoTurnAttackParalyzeTarget < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackParalyzeTarget < Battle::Move::TwoTurnMove def pbChargingTurnMessage(user,targets) @battle.pbDisplay(_INTL("{1} became cloaked in a freezing light!",user.pbThis)) end @@ -260,7 +260,7 @@ end # Two turn attack. Skips first turn, attacks second turn. (Ice Burn) # May burn the target. #=============================================================================== -class PokeBattle_Move_TwoTurnAttackBurnTarget < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackBurnTarget < Battle::Move::TwoTurnMove def pbChargingTurnMessage(user,targets) @battle.pbDisplay(_INTL("{1} became cloaked in freezing air!",user.pbThis)) end @@ -275,7 +275,7 @@ end # Two turn attack. Skips first turn, attacks second turn. (Sky Attack) # May make the target flinch. #=============================================================================== -class PokeBattle_Move_TwoTurnAttackFlinchTarget < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackFlinchTarget < Battle::Move::TwoTurnMove def flinchingMove?; return true; end def pbChargingTurnMessage(user,targets) @@ -292,7 +292,7 @@ end # Two turn attack. Skips first turn, and increases the user's Special Attack, # Special Defense and Speed by 2 stages each in the second turn. (Geomancy) #=============================================================================== -class PokeBattle_Move_TwoTurnAttackRaiseUserSpAtkSpDefSpd2 < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackRaiseUserSpAtkSpDefSpd2 < Battle::Move::TwoTurnMove def pbMoveFailed?(user,targets) return false if user.effects[PBEffects::TwoTurnAttack] # Charging turn if !user.pbCanRaiseStatStage?(:SPECIAL_ATTACK,user,self) && @@ -324,7 +324,7 @@ end # Two turn attack. Ups user's Defense by 1 stage first turn, attacks second turn. # (Skull Bash) #=============================================================================== -class PokeBattle_Move_TwoTurnAttackChargeRaiseUserDefense1 < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackChargeRaiseUserDefense1 < Battle::Move::TwoTurnMove def pbChargingTurnMessage(user,targets) @battle.pbDisplay(_INTL("{1} tucked in its head!",user.pbThis)) end @@ -340,7 +340,7 @@ end # Two-turn attack. On the first turn, increases the user's Special Attack by 1 # stage. On the second turn, does damage. (Meteor Beam) #=============================================================================== -class PokeBattle_Move_TwoTurnAttackChargeRaiseUserSpAtk1 < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackChargeRaiseUserSpAtk1 < Battle::Move::TwoTurnMove def pbChargingTurnMessage(user, targets) @battle.pbDisplay(_INTL("{1} is overflowing with space power!", user.pbThis)) end @@ -356,7 +356,7 @@ end # Two turn attack. Skips first turn, attacks second turn. (Dig) # (Handled in Battler's pbSuccessCheckPerHit): Is semi-invulnerable during use. #=============================================================================== -class PokeBattle_Move_TwoTurnAttackInvulnerableUnderground < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackInvulnerableUnderground < Battle::Move::TwoTurnMove def pbChargingTurnMessage(user,targets) @battle.pbDisplay(_INTL("{1} burrowed its way under the ground!",user.pbThis)) end @@ -366,7 +366,7 @@ end # Two turn attack. Skips first turn, attacks second turn. (Dive) # (Handled in Battler's pbSuccessCheckPerHit): Is semi-invulnerable during use. #=============================================================================== -class PokeBattle_Move_TwoTurnAttackInvulnerableUnderwater < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackInvulnerableUnderwater < Battle::Move::TwoTurnMove def pbChargingTurnMessage(user,targets) @battle.pbDisplay(_INTL("{1} hid underwater!",user.pbThis)) end @@ -376,7 +376,7 @@ end # Two turn attack. Skips first turn, attacks second turn. (Fly) # (Handled in Battler's pbSuccessCheckPerHit): Is semi-invulnerable during use. #=============================================================================== -class PokeBattle_Move_TwoTurnAttackInvulnerableInSky < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackInvulnerableInSky < Battle::Move::TwoTurnMove def unusableInGravity?; return true; end def pbChargingTurnMessage(user,targets) @@ -389,7 +389,7 @@ end # May paralyze the target. # (Handled in Battler's pbSuccessCheckPerHit): Is semi-invulnerable during use. #=============================================================================== -class PokeBattle_Move_TwoTurnAttackInvulnerableInSkyParalyzeTarget < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackInvulnerableInSkyParalyzeTarget < Battle::Move::TwoTurnMove def unusableInGravity?; return true; end def pbChargingTurnMessage(user,targets) @@ -408,7 +408,7 @@ end # Target is also semi-invulnerable during use, and can't take any action. # Doesn't damage airborne Pokémon (but still makes them unable to move during). #=============================================================================== -class PokeBattle_Move_TwoTurnAttackInvulnerableInSkyTargetCannotAct < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackInvulnerableInSkyTargetCannotAct < Battle::Move::TwoTurnMove def unusableInGravity?; return true; end def pbIsChargingTurn?(user) @@ -471,7 +471,7 @@ end # Two turn attack. Skips first turn, attacks second turn. Is invulnerable during # use. Ends target's protections upon hit. (Shadow Force, Phantom Force) #=============================================================================== -class PokeBattle_Move_TwoTurnAttackInvulnerableRemoveProtections < PokeBattle_TwoTurnMove +class Battle::Move::TwoTurnAttackInvulnerableRemoveProtections < Battle::Move::TwoTurnMove def pbChargingTurnMessage(user,targets) @battle.pbDisplay(_INTL("{1} vanished instantly!",user.pbThis)) end @@ -496,7 +496,7 @@ end # Soundproof. I think this is an oversight, so I've let Soundproof Pokémon # be unaffected by Uproar waking/non-sleeping effects. #=============================================================================== -class PokeBattle_Move_MultiTurnAttackPreventSleeping < PokeBattle_Move +class Battle::Move::MultiTurnAttackPreventSleeping < Battle::Move def pbEffectGeneral(user) return if user.effects[PBEffects::Uproar]>0 user.effects[PBEffects::Uproar] = 3 @@ -514,7 +514,7 @@ end # User must use this move for 1 or 2 more rounds. At end, user becomes confused. # (Outrage, Petal Dange, Thrash) #=============================================================================== -class PokeBattle_Move_MultiTurnAttackConfuseUserAtEnd < PokeBattle_Move +class Battle::Move::MultiTurnAttackConfuseUserAtEnd < Battle::Move def pbEffectAfterAllHits(user,target) if !target.damageState.unaffected && user.effects[PBEffects::Outrage]==0 user.effects[PBEffects::Outrage] = 2+@battle.pbRandom(2) @@ -533,7 +533,7 @@ end # User must use this move for 4 more rounds. Power doubles each round. # Power is also doubled if user has curled up. (Ice Ball, Rollout) #=============================================================================== -class PokeBattle_Move_MultiTurnAttackPowersUpEachTurn < PokeBattle_Move +class Battle::Move::MultiTurnAttackPowersUpEachTurn < Battle::Move def pbBaseDamage(baseDmg,user,target) shift = (5 - user.effects[PBEffects::Rollout]) # 0-4, where 0 is most powerful shift = 0 if user.effects[PBEffects::Rollout] == 0 # For first turn @@ -556,7 +556,7 @@ end # total direct damage it took while biding to the last battler that damaged it. # (Bide) #=============================================================================== -class PokeBattle_Move_MultiTurnAttackBideThenReturnDoubleDamage < PokeBattle_FixedDamageMove +class Battle::Move::MultiTurnAttackBideThenReturnDoubleDamage < Battle::Move::FixedDamageMove def pbAddTarget(targets,user) return if user.effects[PBEffects::Bide]!=1 # Not the attack turn idxTarget = user.effects[PBEffects::BideTarget] diff --git a/Data/Scripts/011_Battle/002_Move/010_MoveEffects_Healing.rb b/Data/Scripts/011_Battle/003_Move/010_MoveEffects_Healing.rb similarity index 90% rename from Data/Scripts/011_Battle/002_Move/010_MoveEffects_Healing.rb rename to Data/Scripts/011_Battle/003_Move/010_MoveEffects_Healing.rb index 8f40b071c..7ec9dedcd 100644 --- a/Data/Scripts/011_Battle/002_Move/010_MoveEffects_Healing.rb +++ b/Data/Scripts/011_Battle/003_Move/010_MoveEffects_Healing.rb @@ -1,7 +1,7 @@ #=============================================================================== # Heals user to full HP. User falls asleep for 2 more rounds. (Rest) #=============================================================================== -class PokeBattle_Move_HealUserFullyAndFallAsleep < PokeBattle_HealingMove +class Battle::Move::HealUserFullyAndFallAsleep < Battle::Move::HealingMove def pbMoveFailed?(user,targets) if user.asleep? @battle.pbDisplay(_INTL("But it failed!")) @@ -25,7 +25,7 @@ end #=============================================================================== # Heals user by 1/2 of its max HP. #=============================================================================== -class PokeBattle_Move_HealUserHalfOfTotalHP < PokeBattle_HealingMove +class Battle::Move::HealUserHalfOfTotalHP < Battle::Move::HealingMove def pbHealAmount(user) return (user.totalhp/2.0).round end @@ -35,7 +35,7 @@ end # Heals user by an amount depending on the weather. (Moonlight, Morning Sun, # Synthesis) #=============================================================================== -class PokeBattle_Move_HealUserDependingOnWeather < PokeBattle_HealingMove +class Battle::Move::HealUserDependingOnWeather < Battle::Move::HealingMove def pbOnStartUse(user,targets) case user.effectiveWeather when :Sun, :HarshSun @@ -55,7 +55,7 @@ end #=============================================================================== # Heals user by 1/2 of its max HP, or 2/3 of its max HP in a sandstorm. (Shore Up) #=============================================================================== -class PokeBattle_Move_HealUserDependingOnSandstorm < PokeBattle_HealingMove +class Battle::Move::HealUserDependingOnSandstorm < Battle::Move::HealingMove def pbHealAmount(user) return (user.totalhp * 2 / 3.0).round if user.effectiveWeather == :Sandstorm return (user.totalhp / 2.0).round @@ -66,7 +66,7 @@ end # Heals user by 1/2 of its max HP. (Roost) # User roosts, and its Flying type is ignored for attacks used against it. #=============================================================================== -class PokeBattle_Move_HealUserHalfOfTotalHPLoseFlyingTypeThisTurn < PokeBattle_HealingMove +class Battle::Move::HealUserHalfOfTotalHPLoseFlyingTypeThisTurn < Battle::Move::HealingMove def pbHealAmount(user) return (user.totalhp/2.0).round end @@ -81,7 +81,7 @@ end # Cures the target's permanent status problems. Heals user by 1/2 of its max HP. # (Purify) #=============================================================================== -class PokeBattle_Move_CureTargetStatusHealUserHalfOfTotalHP < PokeBattle_HealingMove +class Battle::Move::CureTargetStatusHealUserHalfOfTotalHP < Battle::Move::HealingMove def canSnatch?; return false; end # Because it affects a target def canMagicCoat?; return true; end @@ -108,7 +108,7 @@ end # target's Attack stat (after applying stat stages, before this move decreases # it). (Strength Sap) #=============================================================================== -class PokeBattle_Move_HealUserByTargetAttackLowerTargetAttack1 < PokeBattle_Move +class Battle::Move::HealUserByTargetAttackLowerTargetAttack1 < Battle::Move def healingMove?; return true; end def canMagicCoat?; return true; end @@ -158,7 +158,7 @@ end #=============================================================================== # User gains half the HP it inflicts as damage. #=============================================================================== -class PokeBattle_Move_HealUserByHalfOfDamageDone < PokeBattle_Move +class Battle::Move::HealUserByHalfOfDamageDone < Battle::Move def healingMove?; return Settings::MECHANICS_GENERATION >= 6; end def pbEffectAgainstTarget(user,target) @@ -172,7 +172,7 @@ end # User gains half the HP it inflicts as damage. Fails if target is not asleep. # (Dream Eater) #=============================================================================== -class PokeBattle_Move_HealUserByHalfOfDamageDoneIfTargetAsleep < PokeBattle_Move +class Battle::Move::HealUserByHalfOfDamageDoneIfTargetAsleep < Battle::Move def healingMove?; return Settings::MECHANICS_GENERATION >= 6; end def pbFailsAgainstTarget?(user, target, show_message) @@ -193,7 +193,7 @@ end #=============================================================================== # User gains 3/4 the HP it inflicts as damage. (Draining Kiss, Oblivion Wing) #=============================================================================== -class PokeBattle_Move_HealUserByThreeQuartersOfDamageDone < PokeBattle_Move +class Battle::Move::HealUserByThreeQuartersOfDamageDone < Battle::Move def healingMove?; return Settings::MECHANICS_GENERATION >= 6; end def pbEffectAgainstTarget(user,target) @@ -206,7 +206,7 @@ end #=============================================================================== # The user and its allies gain 25% of their total HP. (Life Dew) #=============================================================================== -class PokeBattle_Move_HealUserAndAlliesQuarterOfTotalHP < PokeBattle_Move +class Battle::Move::HealUserAndAlliesQuarterOfTotalHP < Battle::Move def healingMove?; return true; end def pbMoveFailed?(user, targets) @@ -231,7 +231,7 @@ end # The user and its allies gain 25% of their total HP and are cured of their # permanent status problems. (Jungle Healing) #=============================================================================== -class PokeBattle_Move_HealUserAndAlliesQuarterOfTotalHPCureStatus < PokeBattle_Move +class Battle::Move::HealUserAndAlliesQuarterOfTotalHPCureStatus < Battle::Move def healingMove?; return true; end def pbMoveFailed?(user, targets) @@ -273,7 +273,7 @@ end #=============================================================================== # Heals target by 1/2 of its max HP. (Heal Pulse) #=============================================================================== -class PokeBattle_Move_HealTargetHalfOfTotalHP < PokeBattle_Move +class Battle::Move::HealTargetHalfOfTotalHP < Battle::Move def healingMove?; return true; end def canMagicCoat?; return true; end @@ -302,7 +302,7 @@ end # Heals target by 1/2 of its max HP, or 2/3 of its max HP in Grassy Terrain. # (Floral Healing) #=============================================================================== -class PokeBattle_Move_HealTargetDependingOnGrassyTerrain < PokeBattle_Move +class Battle::Move::HealTargetDependingOnGrassyTerrain < Battle::Move def healingMove?; return true; end def canMagicCoat?; return true; end @@ -329,7 +329,7 @@ end # Battler in user's position is healed by 1/2 of its max HP, at the end of the # next round. (Wish) #=============================================================================== -class PokeBattle_Move_HealUserPositionNextTurn < PokeBattle_Move +class Battle::Move::HealUserPositionNextTurn < Battle::Move def healingMove?; return true; end def canSnatch?; return true; end @@ -352,7 +352,7 @@ end # Rings the user. Ringed Pokémon gain 1/16 of max HP at the end of each round. # (Aqua Ring) #=============================================================================== -class PokeBattle_Move_StartHealUserEachTurn < PokeBattle_Move +class Battle::Move::StartHealUserEachTurn < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -373,7 +373,7 @@ end # Ingrains the user. Ingrained Pokémon gain 1/16 of max HP at the end of each # round, and cannot flee or switch out. (Ingrain) #=============================================================================== -class PokeBattle_Move_StartHealUserEachTurnTrapUserInBattle < PokeBattle_Move +class Battle::Move::StartHealUserEachTurnTrapUserInBattle < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -393,7 +393,7 @@ end #=============================================================================== # Target will lose 1/4 of max HP at end of each round, while asleep. (Nightmare) #=============================================================================== -class PokeBattle_Move_StartDamageTargetEachTurnIfTargetAsleep < PokeBattle_Move +class Battle::Move::StartDamageTargetEachTurnIfTargetAsleep < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) if !target.asleep? || target.effects[PBEffects::Nightmare] @battle.pbDisplay(_INTL("But it failed!")) if show_message @@ -412,7 +412,7 @@ end # Seeds the target. Seeded Pokémon lose 1/8 of max HP at the end of each round, # and the Pokémon in the user's position gains the same amount. (Leech Seed) #=============================================================================== -class PokeBattle_Move_StartLeechSeedTarget < PokeBattle_Move +class Battle::Move::StartLeechSeedTarget < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -442,7 +442,7 @@ end # The user takes damage equal to 1/2 of its total HP, even if the target is # unaffected (this is not recoil damage). (Steel Beam) #=============================================================================== -class PokeBattle_Move_UserLosesHalfOfTotalHP < PokeBattle_Move +class Battle::Move::UserLosesHalfOfTotalHP < Battle::Move def pbEffectAfterAllHits(user, target) return if !user.takesIndirectDamage? amt = (user.totalhp / 2.0).ceil @@ -456,7 +456,7 @@ end #=============================================================================== # Damages user by 1/2 of its max HP, even if this move misses. (Mind Blown) #=============================================================================== -class PokeBattle_Move_UserLosesHalfOfTotalHPExplosive < PokeBattle_Move +class Battle::Move::UserLosesHalfOfTotalHPExplosive < Battle::Move def worksWithNoTargets?; return true; end def pbMoveFailed?(user,targets) @@ -464,7 +464,7 @@ class PokeBattle_Move_UserLosesHalfOfTotalHPExplosive < PokeBattle_Move bearer = @battle.pbCheckGlobalAbility(:DAMP) if bearer!=nil @battle.pbShowAbilitySplash(bearer) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} cannot use {2}!",user.pbThis,@name)) else @battle.pbDisplay(_INTL("{1} cannot use {2} because of {3}'s {4}!", @@ -487,7 +487,7 @@ end #=============================================================================== # User faints, even if the move does nothing else. (Explosion, Self-Destruct) #=============================================================================== -class PokeBattle_Move_UserFaintsExplosive < PokeBattle_Move +class Battle::Move::UserFaintsExplosive < Battle::Move def worksWithNoTargets?; return true; end def pbNumHits(user,targets); return 1; end @@ -496,7 +496,7 @@ class PokeBattle_Move_UserFaintsExplosive < PokeBattle_Move bearer = @battle.pbCheckGlobalAbility(:DAMP) if bearer!=nil @battle.pbShowAbilitySplash(bearer) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} cannot use {2}!",user.pbThis,@name)) else @battle.pbDisplay(_INTL("{1} cannot use {2} because of {3}'s {4}!", @@ -520,7 +520,7 @@ end # User faints. If Misty Terrain applies, base power is multiplied by 1.5. # (Misty Explosion) #=============================================================================== -class PokeBattle_Move_UserFaintsPowersUpInMistyTerrainExplosive < PokeBattle_Move_UserFaintsExplosive +class Battle::Move::UserFaintsPowersUpInMistyTerrainExplosive < Battle::Move::UserFaintsExplosive def pbBaseDamage(baseDmg, user, target) baseDmg = baseDmg * 3 / 2 if @battle.field.terrain == :Misty return baseDmg @@ -531,7 +531,7 @@ end # Inflicts fixed damage equal to user's current HP. (Final Gambit) # User faints (if successful). #=============================================================================== -class PokeBattle_Move_UserFaintsFixedDamageUserHP < PokeBattle_FixedDamageMove +class Battle::Move::UserFaintsFixedDamageUserHP < Battle::Move::FixedDamageMove def pbNumHits(user,targets); return 1; end def pbOnStartUse(user,targets) @@ -553,7 +553,7 @@ end # Decreases the target's Attack and Special Attack by 2 stages each. (Memento) # User faints (if successful). #=============================================================================== -class PokeBattle_Move_UserFaintsLowerTargetAtkSpAtk2 < PokeBattle_TargetMultiStatDownMove +class Battle::Move::UserFaintsLowerTargetAtkSpAtk2 < Battle::Move::TargetMultiStatDownMove def canMagicCoat?; return false; end def initialize(battle,move) @@ -578,7 +578,7 @@ end # User faints. The Pokémon that replaces the user is fully healed (HP and # status). Fails if user won't be replaced. (Healing Wish) #=============================================================================== -class PokeBattle_Move_UserFaintsHealAndCureReplacement < PokeBattle_Move +class Battle::Move::UserFaintsHealAndCureReplacement < Battle::Move def healingMove?; return true; end def canSnatch?; return true; end @@ -602,7 +602,7 @@ end # User faints. The Pokémon that replaces the user is fully healed (HP, PP and # status). Fails if user won't be replaced. (Lunar Dance) #=============================================================================== -class PokeBattle_Move_UserFaintsHealAndCureReplacementRestorePP < PokeBattle_Move +class Battle::Move::UserFaintsHealAndCureReplacementRestorePP < Battle::Move def healingMove?; return true; end def canSnatch?; return true; end @@ -625,7 +625,7 @@ end #=============================================================================== # All current battlers will perish after 3 more rounds. (Perish Song) #=============================================================================== -class PokeBattle_Move_StartPerishCountsForAllBattlers < PokeBattle_Move +class Battle::Move::StartPerishCountsForAllBattlers < Battle::Move def pbMoveFailed?(user,targets) failed = true targets.each do |b| @@ -659,7 +659,7 @@ end # If user is KO'd before it next moves, the battler that caused it also faints. # (Destiny Bond) #=============================================================================== -class PokeBattle_Move_AttackerFaintsIfUserFaints < PokeBattle_Move +class Battle::Move::AttackerFaintsIfUserFaints < Battle::Move def pbMoveFailed?(user,targets) if Settings::MECHANICS_GENERATION >= 7 && user.effects[PBEffects::DestinyBondPrevious] @battle.pbDisplay(_INTL("But it failed!")) @@ -678,7 +678,7 @@ end # If user is KO'd before it next moves, the attack that caused it loses all PP. # (Grudge) #=============================================================================== -class PokeBattle_Move_SetAttackerMovePPTo0IfUserFaints < PokeBattle_Move +class Battle::Move::SetAttackerMovePPTo0IfUserFaints < Battle::Move def pbEffectGeneral(user) user.effects[PBEffects::Grudge] = true @battle.pbDisplay(_INTL("{1} wants its target to bear a grudge!",user.pbThis)) diff --git a/Data/Scripts/011_Battle/002_Move/011_MoveEffects_Items.rb b/Data/Scripts/011_Battle/003_Move/011_MoveEffects_Items.rb similarity index 96% rename from Data/Scripts/011_Battle/002_Move/011_MoveEffects_Items.rb rename to Data/Scripts/011_Battle/003_Move/011_MoveEffects_Items.rb index 4cc7bcb06..fc2440ed7 100644 --- a/Data/Scripts/011_Battle/002_Move/011_MoveEffects_Items.rb +++ b/Data/Scripts/011_Battle/003_Move/011_MoveEffects_Items.rb @@ -2,7 +2,7 @@ # User steals the target's item, if the user has none itself. (Covet, Thief) # Items stolen from wild Pokémon are kept after the battle. #=============================================================================== -class PokeBattle_Move_UserTakesTargetItem < PokeBattle_Move +class Battle::Move::UserTakesTargetItem < Battle::Move def pbEffectAfterAllHits(user,target) return if user.wild? # Wild Pokémon can't thieve return if user.fainted? @@ -29,7 +29,7 @@ end # User gives its item to the target. The item remains given after wild battles. # (Bestow) #=============================================================================== -class PokeBattle_Move_TargetTakesUserItem < PokeBattle_Move +class Battle::Move::TargetTakesUserItem < Battle::Move def ignoresSubstitute?(user) return true if Settings::MECHANICS_GENERATION >= 6 return super @@ -70,7 +70,7 @@ end # User and target swap items. They remain swapped after wild battles. # (Switcheroo, Trick) #=============================================================================== -class PokeBattle_Move_UserTargetSwapItems < PokeBattle_Move +class Battle::Move::UserTargetSwapItems < Battle::Move def pbMoveFailed?(user,targets) if user.wild? @battle.pbDisplay(_INTL("But it failed!")) @@ -94,7 +94,7 @@ class PokeBattle_Move_UserTargetSwapItems < PokeBattle_Move if target.hasActiveAbility?(:STICKYHOLD) && !@battle.moldBreaker if show_message @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("But it failed to affect {1}!", target.pbThis(true))) else @battle.pbDisplay(_INTL("But it failed to affect {1} because of its {2}!", @@ -133,7 +133,7 @@ end #=============================================================================== # User recovers the last item it held and consumed. (Recycle) #=============================================================================== -class PokeBattle_Move_RestoreUserConsumedItem < PokeBattle_Move +class Battle::Move::RestoreUserConsumedItem < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -165,7 +165,7 @@ end # Target drops its item. It regains the item at the end of the battle. (Knock Off) # If target has a losable item, damage is multiplied by 1.5. #=============================================================================== -class PokeBattle_Move_RemoveTargetItem < PokeBattle_Move +class Battle::Move::RemoveTargetItem < Battle::Move def pbBaseDamage(baseDmg,user,target) if Settings::MECHANICS_GENERATION >= 6 && target.item && !target.unlosableItem?(target.item) @@ -191,7 +191,7 @@ end #=============================================================================== # Target's berry/Gem is destroyed. (Incinerate) #=============================================================================== -class PokeBattle_Move_DestroyTargetBerryOrGem < PokeBattle_Move +class Battle::Move::DestroyTargetBerryOrGem < Battle::Move def pbEffectWhenDealingDamage(user,target) return if target.damageState.substitute || target.damageState.berryWeakened return if !target.item || (!target.item.is_berry? && @@ -207,7 +207,7 @@ end # item, the item is unlosable, the target has Sticky Hold, or the target is # behind a substitute. (Corrosive Gas) #=============================================================================== -class PokeBattle_Move_CorrodeTargetItem < PokeBattle_Move +class Battle::Move::CorrodeTargetItem < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -219,7 +219,7 @@ class PokeBattle_Move_CorrodeTargetItem < PokeBattle_Move if target.hasActiveAbility?(:STICKYHOLD) && !@battle.moldBreaker if show_message @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} is unaffected!", target.pbThis)) else @battle.pbDisplay(_INTL("{1} is unaffected because of its {2}!", @@ -247,7 +247,7 @@ end # For 5 rounds, the target cannnot use its held item, its held item has no # effect, and no items can be used on it. (Embargo) #=============================================================================== -class PokeBattle_Move_StartTargetCannotUseItem < PokeBattle_Move +class Battle::Move::StartTargetCannotUseItem < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -268,7 +268,7 @@ end # For 5 rounds, all held items cannot be used in any way and have no effect. # Held items can still change hands, but can't be thrown. (Magic Room) #=============================================================================== -class PokeBattle_Move_StartNegateHeldItems < PokeBattle_Move +class Battle::Move::StartNegateHeldItems < Battle::Move def pbEffectGeneral(user) if @battle.field.effects[PBEffects::MagicRoom]>0 @battle.field.effects[PBEffects::MagicRoom] = 0 @@ -291,7 +291,7 @@ end # Room apply. Fails if the user is not holding a berry. This move cannot be # chosen to be used if the user is not holding a berry. (Stuff Cheeks) #=============================================================================== -class PokeBattle_Move_UserConsumeBerryRaiseDefense2 < PokeBattle_StatUpMove +class Battle::Move::UserConsumeBerryRaiseDefense2 < Battle::Move::StatUpMove def initialize(battle, move) super @statUp = [:DEFENSE, 2] @@ -337,7 +337,7 @@ end # and they will not consume their berry. (Teatime) # TODO: This isn't quite right for the messages shown when a berry is consumed. #=============================================================================== -class PokeBattle_Move_AllBattlersConsumeBerry < PokeBattle_Move +class Battle::Move::AllBattlersConsumeBerry < Battle::Move def pbMoveFailed?(user, targets) failed = true targets.each do |b| @@ -373,7 +373,7 @@ end #=============================================================================== # User consumes target's berry and gains its effect. (Bug Bite, Pluck) #=============================================================================== -class PokeBattle_Move_UserConsumeTargetBerry < PokeBattle_Move +class Battle::Move::UserConsumeTargetBerry < Battle::Move def pbEffectAfterAllHits(user,target) return if user.fainted? || target.fainted? return if target.damageState.unaffected || target.damageState.substitute @@ -390,7 +390,7 @@ end #=============================================================================== # User flings its item at the target. Power/effect depend on the item. (Fling) #=============================================================================== -class PokeBattle_Move_ThrowUserItemAtTarget < PokeBattle_Move +class Battle::Move::ThrowUserItemAtTarget < Battle::Move def initialize(battle,move) super # 80 => all Mega Stones diff --git a/Data/Scripts/011_Battle/002_Move/012_MoveEffects_ChangeMoveEffect.rb b/Data/Scripts/011_Battle/003_Move/012_MoveEffects_ChangeMoveEffect.rb similarity index 95% rename from Data/Scripts/011_Battle/002_Move/012_MoveEffects_ChangeMoveEffect.rb rename to Data/Scripts/011_Battle/003_Move/012_MoveEffects_ChangeMoveEffect.rb index 27772d9d9..7a496a4e8 100644 --- a/Data/Scripts/011_Battle/002_Move/012_MoveEffects_ChangeMoveEffect.rb +++ b/Data/Scripts/011_Battle/003_Move/012_MoveEffects_ChangeMoveEffect.rb @@ -2,7 +2,7 @@ # This round, user becomes the target of attacks that have single targets. # (Follow Me, Rage Powder) #=============================================================================== -class PokeBattle_Move_RedirectAllMovesToUser < PokeBattle_Move +class Battle::Move::RedirectAllMovesToUser < Battle::Move def pbEffectGeneral(user) user.effects[PBEffects::FollowMe] = 1 user.allAllies.each do |b| @@ -18,7 +18,7 @@ end # This round, target becomes the target of attacks that have single targets. # (Spotlight) #=============================================================================== -class PokeBattle_Move_RedirectAllMovesToTarget < PokeBattle_Move +class Battle::Move::RedirectAllMovesToTarget < Battle::Move def canMagicCoat?; return true; end def pbEffectAgainstTarget(user,target) @@ -34,7 +34,7 @@ end #=============================================================================== # Unaffected by moves and abilities that would redirect this move. (Snipe Shot) #=============================================================================== -class PokeBattle_Move_CannotBeRedirected < PokeBattle_Move +class Battle::Move::CannotBeRedirected < Battle::Move def cannotRedirect?; return true; end end @@ -43,7 +43,7 @@ end # NOTE: Apparently a Normal Gem should be consumed even if this move will heal, # but I think that's silly so I've omitted that effect. #=============================================================================== -class PokeBattle_Move_RandomlyDamageOrHealTarget < PokeBattle_Move +class Battle::Move::RandomlyDamageOrHealTarget < Battle::Move def pbOnStartUse(user,targets) @presentDmg = 0 # 0 = heal, >0 = damage r = @battle.pbRandom(100) @@ -90,7 +90,7 @@ end # Damages target if target is a foe, or heals target by 1/2 of its max HP if # target is an ally. (Pollen Puff) #=============================================================================== -class PokeBattle_Move_HealAllyOrDamageFoe < PokeBattle_Move +class Battle::Move::HealAllyOrDamageFoe < Battle::Move def pbTarget(user) return GameData::Target.get(:NearFoe) if user.effects[PBEffects::HealBlock]>0 return super @@ -137,7 +137,7 @@ end # User is not Ghost: Decreases the user's Speed by 1 stage, and increases the # user's Attack and Defense by 1 stage each. (Curse) #=============================================================================== -class PokeBattle_Move_CurseTargetOrLowerUserSpd1RaiseUserAtkDef1 < PokeBattle_Move +class Battle::Move::CurseTargetOrLowerUserSpd1RaiseUserAtkDef1 < Battle::Move def ignoresSubstitute?(user); return true; end def pbTarget(user) @@ -202,7 +202,7 @@ end #=============================================================================== # Effect depends on the environment. (Secret Power) #=============================================================================== -class PokeBattle_Move_EffectDependsOnEnvironment < PokeBattle_Move +class Battle::Move::EffectDependsOnEnvironment < Battle::Move def flinchingMove?; return [6,10,12].include?(@secretPower); end def pbOnStartUse(user,targets) @@ -315,7 +315,7 @@ end # 1.5 (in addition to Psychic Terrain's multiplier) and it targets all opposing # Pokémon. (Expanding Force) #=============================================================================== -class PokeBattle_Move_HitsAllFoesAndPowersUpInPsychicTerrain < PokeBattle_Move +class Battle::Move::HitsAllFoesAndPowersUpInPsychicTerrain < Battle::Move def pbTarget(user) if @battle.field.terrain == :Psychic && user.affectedByTerrain? return GameData::Target.get(:AllNearFoes) @@ -335,7 +335,7 @@ end # Powders the foe. This round, if it uses a Fire move, it loses 1/4 of its max # HP instead. (Powder) #=============================================================================== -class PokeBattle_Move_TargetNextFireMoveDamagesTarget < PokeBattle_Move +class Battle::Move::TargetNextFireMoveDamagesTarget < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -356,7 +356,7 @@ end #=============================================================================== # Power is doubled if Fusion Flare has already been used this round. (Fusion Bolt) #=============================================================================== -class PokeBattle_Move_DoublePowerAfterFusionFlare < PokeBattle_Move +class Battle::Move::DoublePowerAfterFusionFlare < Battle::Move def pbChangeUsageCounters(user,specialUsage) @doublePower = @battle.field.effects[PBEffects::FusionFlare] super @@ -381,7 +381,7 @@ end #=============================================================================== # Power is doubled if Fusion Bolt has already been used this round. (Fusion Flare) #=============================================================================== -class PokeBattle_Move_DoublePowerAfterFusionBolt < PokeBattle_Move +class Battle::Move::DoublePowerAfterFusionBolt < Battle::Move def pbChangeUsageCounters(user,specialUsage) @doublePower = @battle.field.effects[PBEffects::FusionBolt] super @@ -406,7 +406,7 @@ end #=============================================================================== # Powers up the ally's attack this round by 1.5. (Helping Hand) #=============================================================================== -class PokeBattle_Move_PowerUpAllyMove < PokeBattle_Move +class Battle::Move::PowerUpAllyMove < Battle::Move def ignoresSubstitute?(user); return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -428,7 +428,7 @@ end # Counters a physical move used against the user this round, with 2x the power. # (Counter) #=============================================================================== -class PokeBattle_Move_CounterPhysicalDamage < PokeBattle_FixedDamageMove +class Battle::Move::CounterPhysicalDamage < Battle::Move::FixedDamageMove def pbAddTarget(targets,user) t = user.effects[PBEffects::CounterTarget] return if t<0 || !user.opposes?(t) @@ -454,7 +454,7 @@ end # Counters a specical move used against the user this round, with 2x the power. # (Mirror Coat) #=============================================================================== -class PokeBattle_Move_CounterSpecialDamage < PokeBattle_FixedDamageMove +class Battle::Move::CounterSpecialDamage < Battle::Move::FixedDamageMove def pbAddTarget(targets,user) t = user.effects[PBEffects::MirrorCoatTarget] return if t<0 || !user.opposes?(t) @@ -480,7 +480,7 @@ end # Counters the last damaging move used against the user this round, with 1.5x # the power. (Metal Burst) #=============================================================================== -class PokeBattle_Move_CounterDamagePlusHalf < PokeBattle_FixedDamageMove +class Battle::Move::CounterDamagePlusHalf < Battle::Move::FixedDamageMove def pbAddTarget(targets,user) return if user.lastFoeAttacker.length==0 lastAttacker = user.lastFoeAttacker.last @@ -507,7 +507,7 @@ end # Increases the user's Defense and Special Defense by 1 stage each. Ups the # user's stockpile by 1 (max. 3). (Stockpile) #=============================================================================== -class PokeBattle_Move_UserAddStockpileRaiseDefSpDef1 < PokeBattle_Move +class Battle::Move::UserAddStockpileRaiseDefSpDef1 < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) @@ -541,7 +541,7 @@ end # Power is 100 multiplied by the user's stockpile (X). Resets the stockpile to # 0. Decreases the user's Defense and Special Defense by X stages each. (Spit Up) #=============================================================================== -class PokeBattle_Move_PowerDependsOnUserStockpile < PokeBattle_Move +class Battle::Move::PowerDependsOnUserStockpile < Battle::Move def pbMoveFailed?(user,targets) if user.effects[PBEffects::Stockpile]==0 @battle.pbDisplay(_INTL("But it failed to spit up a thing!")) @@ -580,7 +580,7 @@ end # Heals user depending on the user's stockpile (X). Resets the stockpile to 0. # Decreases the user's Defense and Special Defense by X stages each. (Swallow) #=============================================================================== -class PokeBattle_Move_HealUserDependingOnUserStockpile < PokeBattle_Move +class Battle::Move::HealUserDependingOnUserStockpile < Battle::Move def healingMove?; return true; end def canSnatch?; return true; end @@ -631,7 +631,7 @@ end # If the move is a combo, power is doubled and causes either a sea of fire or a # swamp on the opposing side. #=============================================================================== -class PokeBattle_Move_GrassPledge < PokeBattle_PledgeMove +class Battle::Move::GrassPledge < Battle::Move::PledgeMove def initialize(battle,move) super # [Function code to combo with, effect, override type, override animation] @@ -645,7 +645,7 @@ end # If the move is a combo, power is doubled and causes either a rainbow on the # user's side or a sea of fire on the opposing side. #=============================================================================== -class PokeBattle_Move_FirePledge < PokeBattle_PledgeMove +class Battle::Move::FirePledge < Battle::Move::PledgeMove def initialize(battle,move) super # [Function code to combo with, effect, override type, override animation] @@ -659,7 +659,7 @@ end # If the move is a combo, power is doubled and causes either a swamp on the # opposing side or a rainbow on the user's side. #=============================================================================== -class PokeBattle_Move_WaterPledge < PokeBattle_PledgeMove +class Battle::Move::WaterPledge < Battle::Move::PledgeMove def initialize(battle,move) super # [Function code to combo with, effect, override type, override animation] @@ -671,7 +671,7 @@ end #=============================================================================== # Uses the last move that was used. (Copycat) #=============================================================================== -class PokeBattle_Move_UseLastMoveUsed < PokeBattle_Move +class Battle::Move::UseLastMoveUsed < Battle::Move def callsAnotherMove?; return true; end def initialize(battle,move) @@ -760,7 +760,7 @@ end #=============================================================================== # Uses the last move that the target used. (Mirror Move) #=============================================================================== -class PokeBattle_Move_UseLastMoveUsedByTarget < PokeBattle_Move +class Battle::Move::UseLastMoveUsedByTarget < Battle::Move def ignoresSubstitute?(user); return true; end def callsAnotherMove?; return true; end @@ -786,7 +786,7 @@ end # Uses the move the target was about to use this round, with 1.5x power. # (Me First) #=============================================================================== -class PokeBattle_Move_UseMoveTargetIsAboutToUse < PokeBattle_Move +class Battle::Move::UseMoveTargetIsAboutToUse < Battle::Move def ignoresSubstitute?(user); return true; end def callsAnotherMove?; return true; end @@ -831,7 +831,7 @@ end # where it targets the user. It makes more sense for it to target another # Pokémon. #=============================================================================== -class PokeBattle_Move_UseMoveDependingOnEnvironment < PokeBattle_Move +class Battle::Move::UseMoveDependingOnEnvironment < Battle::Move def callsAnotherMove?; return true; end def pbOnStartUse(user,targets) @@ -891,7 +891,7 @@ end #=============================================================================== # Uses a random move that exists. (Metronome) #=============================================================================== -class PokeBattle_Move_UseRandomMove < PokeBattle_Move +class Battle::Move::UseRandomMove < Battle::Move def callsAnotherMove?; return true; end def initialize(battle,move) @@ -1006,7 +1006,7 @@ end #=============================================================================== # Uses a random move known by any non-user Pokémon in the user's party. (Assist) #=============================================================================== -class PokeBattle_Move_UseRandomMoveFromUserParty < PokeBattle_Move +class Battle::Move::UseRandomMoveFromUserParty < Battle::Move def callsAnotherMove?; return true; end def initialize(battle,move) @@ -1120,7 +1120,7 @@ end #=============================================================================== # Uses a random move the user knows. Fails if user is not asleep. (Sleep Talk) #=============================================================================== -class PokeBattle_Move_UseRandomUserMoveIfAsleep < PokeBattle_Move +class Battle::Move::UseRandomUserMoveIfAsleep < Battle::Move def usableWhenAsleep?; return true; end def callsAnotherMove?; return true; end @@ -1189,7 +1189,7 @@ end # This round, reflects all moves with the "C" flag targeting the user back at # their origin. (Magic Coat) #=============================================================================== -class PokeBattle_Move_BounceBackProblemCausingStatusMoves < PokeBattle_Move +class Battle::Move::BounceBackProblemCausingStatusMoves < Battle::Move def pbEffectGeneral(user) user.effects[PBEffects::MagicCoat] = true @battle.pbDisplay(_INTL("{1} shrouded itself with Magic Coat!",user.pbThis)) @@ -1199,7 +1199,7 @@ end #=============================================================================== # This round, snatches all used moves with the "D" flag. (Snatch) #=============================================================================== -class PokeBattle_Move_StealAndUseBeneficialStatusMove < PokeBattle_Move +class Battle::Move::StealAndUseBeneficialStatusMove < Battle::Move def pbEffectGeneral(user) user.effects[PBEffects::Snatch] = 1 @battle.allBattlers.each do |b| @@ -1214,7 +1214,7 @@ end # This move turns into the last move used by the target, until user switches # out. (Mimic) #=============================================================================== -class PokeBattle_Move_ReplaceMoveThisBattleWithTargetLastMoveUsed < PokeBattle_Move +class Battle::Move::ReplaceMoveThisBattleWithTargetLastMoveUsed < Battle::Move def ignoresSubstitute?(user); return true; end def initialize(battle,move) @@ -1254,7 +1254,7 @@ class PokeBattle_Move_ReplaceMoveThisBattleWithTargetLastMoveUsed < PokeBattle_M user.eachMoveWithIndex do |m,i| next if m.id!=@id newMove = Pokemon::Move.new(target.lastRegularMoveUsed) - user.moves[i] = PokeBattle_Move.from_pokemon_move(@battle,newMove) + user.moves[i] = Battle::Move.from_pokemon_move(@battle,newMove) @battle.pbDisplay(_INTL("{1} learned {2}!",user.pbThis,newMove.name)) user.pbCheckFormOnMovesetChange break @@ -1265,7 +1265,7 @@ end #=============================================================================== # This move permanently turns into the last move used by the target. (Sketch) #=============================================================================== -class PokeBattle_Move_ReplaceMoveWithTargetLastMoveUsed < PokeBattle_Move +class Battle::Move::ReplaceMoveWithTargetLastMoveUsed < Battle::Move def ignoresSubstitute?(user); return true; end def initialize(battle,move) @@ -1302,7 +1302,7 @@ class PokeBattle_Move_ReplaceMoveWithTargetLastMoveUsed < PokeBattle_Move next if m.id!=@id newMove = Pokemon::Move.new(target.lastRegularMoveUsed) user.pokemon.moves[i] = newMove - user.moves[i] = PokeBattle_Move.from_pokemon_move(@battle,newMove) + user.moves[i] = Battle::Move.from_pokemon_move(@battle,newMove) @battle.pbDisplay(_INTL("{1} learned {2}!",user.pbThis,newMove.name)) user.pbCheckFormOnMovesetChange break diff --git a/Data/Scripts/011_Battle/002_Move/013_MoveEffects_SwitchingActing.rb b/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb similarity index 94% rename from Data/Scripts/011_Battle/002_Move/013_MoveEffects_SwitchingActing.rb rename to Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb index 99358c303..23cd4c451 100644 --- a/Data/Scripts/011_Battle/002_Move/013_MoveEffects_SwitchingActing.rb +++ b/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb @@ -1,7 +1,7 @@ #=============================================================================== # User flees from battle. (Teleport (Gen 7-)) #=============================================================================== -class PokeBattle_Move_FleeFromBattle < PokeBattle_Move +class Battle::Move::FleeFromBattle < Battle::Move def pbMoveFailed?(user,targets) if !@battle.pbCanRun?(user.index) @battle.pbDisplay(_INTL("But it failed!")) @@ -20,7 +20,7 @@ end # User switches out. If user is a wild Pokémon, ends the battle instead. # (Teleport (Gen 8+)) #=============================================================================== -class PokeBattle_Move_SwitchOutUserStatusMove < PokeBattle_Move +class Battle::Move::SwitchOutUserStatusMove < Battle::Move def pbMoveFailed?(user,targets) if user.wild? if !@battle.pbCanRun?(user.index) @@ -61,7 +61,7 @@ end # After inflicting damage, user switches out. Ignores trapping moves. # (U-turn, Volt Switch) #=============================================================================== -class PokeBattle_Move_SwitchOutUserDamagingMove < PokeBattle_Move +class Battle::Move::SwitchOutUserDamagingMove < Battle::Move def pbEndOfMoveUsageEffect(user,targets,numHits,switchedBattlers) return if user.fainted? || numHits==0 || @battle.pbAllFainted?(user.idxOpposingSide) targetSwitched = true @@ -88,7 +88,7 @@ end # Decreases the target's Attack and Special Attack by 1 stage each. Then, user # switches out. Ignores trapping moves. (Parting Shot) #=============================================================================== -class PokeBattle_Move_LowerTargetAtkSpAtk1SwitchOutUser < PokeBattle_TargetMultiStatDownMove +class Battle::Move::LowerTargetAtkSpAtk1SwitchOutUser < Battle::Move::TargetMultiStatDownMove def initialize(battle,move) super @statDown = [:ATTACK,1,:SPECIAL_ATTACK,1] @@ -120,7 +120,7 @@ end # User switches out. Various effects affecting the user are passed to the # replacement. (Baton Pass) #=============================================================================== -class PokeBattle_Move_SwitchOutUserPassOnEffects < PokeBattle_Move +class Battle::Move::SwitchOutUserPassOnEffects < Battle::Move def pbMoveFailed?(user,targets) if !@battle.pbCanChooseNonActive?(user.index) @battle.pbDisplay(_INTL("But it failed!")) @@ -150,7 +150,7 @@ end # In trainer battles, target switches out. # For status moves. (Roar, Whirlwind) #=============================================================================== -class PokeBattle_Move_SwitchOutTargetStatusMove < PokeBattle_Move +class Battle::Move::SwitchOutTargetStatusMove < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -158,7 +158,7 @@ class PokeBattle_Move_SwitchOutTargetStatusMove < PokeBattle_Move if target.hasActiveAbility?(:SUCTIONCUPS) && !@battle.moldBreaker if show_message @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("{1} anchors itself!", target.pbThis)) else @battle.pbDisplay(_INTL("{1} anchors itself with {2}!", target.pbThis, target.abilityName)) @@ -223,7 +223,7 @@ end # In trainer battles, target switches out. # For damaging moves. (Circle Throw, Dragon Tail) #=============================================================================== -class PokeBattle_Move_SwitchOutTargetDamagingMove < PokeBattle_Move +class Battle::Move::SwitchOutTargetDamagingMove < Battle::Move def pbEffectAgainstTarget(user,target) if @battle.wildBattle? && target.level<=user.level && @battle.canRun && (target.effects[PBEffects::Substitute]==0 || ignoresSubstitute?(user)) @@ -254,7 +254,7 @@ end # Trapping move. Traps for 5 or 6 rounds. Trapped Pokémon lose 1/16 of max HP # at end of each round. #=============================================================================== -class PokeBattle_Move_BindTarget < PokeBattle_Move +class Battle::Move::BindTarget < Battle::Move def pbEffectAgainstTarget(user,target) return if target.fainted? || target.damageState.substitute return if target.effects[PBEffects::Trapping]>0 @@ -295,7 +295,7 @@ end # at end of each round. (Whirlpool) # Power is doubled if target is using Dive. Hits some semi-invulnerable targets. #=============================================================================== -class PokeBattle_Move_BindTargetDoublePowerIfTargetUnderwater < PokeBattle_Move_BindTarget +class Battle::Move::BindTargetDoublePowerIfTargetUnderwater < Battle::Move::BindTarget def hitsDivingTargets?; return true; end def pbModifyDamage(damageMult,user,target) @@ -308,7 +308,7 @@ end # Target can no longer switch out or flee, as long as the user remains active. # (Anchor Shot, Block, Mean Look, Spider Web, Spirit Shackle, Thousand Waves) #=============================================================================== -class PokeBattle_Move_TrapTargetInBattle < PokeBattle_Move +class Battle::Move::TrapTargetInBattle < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -344,7 +344,7 @@ end # At the end of each round, the target's Defense and Special Defense are lowered # by 1 stage each. (Octolock) #=============================================================================== -class PokeBattle_Move_TrapTargetInBattleLowerTargetDefSpDef1EachTurn < PokeBattle_Move +class Battle::Move::TrapTargetInBattleLowerTargetDefSpDef1EachTurn < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) return false if damagingMove? if target.effects[PBEffects::Octolock] >= 0 @@ -369,7 +369,7 @@ end # isn't applied if either Pokémon is already prevented from switching out or # fleeing. (Jaw Lock) #=============================================================================== -class PokeBattle_Move_TrapUserAndTargetInBattle < PokeBattle_Move +class Battle::Move::TrapUserAndTargetInBattle < Battle::Move def pbAdditionalEffect(user, target) return if user.fainted? || target.fainted? || target.damageState.substitute return if Settings::MORE_TYPE_EFFECTS && target.pbHasType?(:GHOST) @@ -383,7 +383,7 @@ end # No Pokémon can switch out or flee until the end of the next round, as long as # the user remains active. (Fairy Lock) #=============================================================================== -class PokeBattle_Move_TrapAllBattlersInBattleForOneTurn < PokeBattle_Move +class Battle::Move::TrapAllBattlersInBattleForOneTurn < Battle::Move def pbMoveFailed?(user,targets) if @battle.field.effects[PBEffects::FairyLock]>0 @battle.pbDisplay(_INTL("But it failed!")) @@ -403,7 +403,7 @@ end # is doubled in that case. (Pursuit) # (Handled in Battle's pbAttackPhase): Makes this attack happen before switching. #=============================================================================== -class PokeBattle_Move_PursueSwitchingFoe < PokeBattle_Move +class Battle::Move::PursueSwitchingFoe < Battle::Move def pbAccuracyCheck(user,target) return true if @battle.switching return super @@ -419,7 +419,7 @@ end # Fails if user has not been hit by an opponent's physical move this round. # (Shell Trap) #=============================================================================== -class PokeBattle_Move_UsedAfterUserTakesPhysicalDamage < PokeBattle_Move +class Battle::Move::UsedAfterUserTakesPhysicalDamage < Battle::Move def pbDisplayChargeMessage(user) user.effects[PBEffects::ShellTrap] = true @battle.pbCommonAnimation("ShellTrap",user) @@ -447,7 +447,7 @@ end # Power is doubled if a user's ally has already used this move this round. (Round) # If an ally is about to use the same move, make it go next, ignoring priority. #=============================================================================== -class PokeBattle_Move_UsedAfterAllyRoundWithDoublePower < PokeBattle_Move +class Battle::Move::UsedAfterAllyRoundWithDoublePower < Battle::Move def pbBaseDamage(baseDmg,user,target) baseDmg *= 2 if user.pbOwnSide.effects[PBEffects::Round] return baseDmg @@ -468,7 +468,7 @@ end #=============================================================================== # Target moves immediately after the user, ignoring priority/speed. (After You) #=============================================================================== -class PokeBattle_Move_TargetActsNext < PokeBattle_Move +class Battle::Move::TargetActsNext < Battle::Move def ignoresSubstitute?(user); return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -498,7 +498,7 @@ end #=============================================================================== # Target moves last this round, ignoring priority/speed. (Quash) #=============================================================================== -class PokeBattle_Move_TargetActsLast < PokeBattle_Move +class Battle::Move::TargetActsLast < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) return true if pbMoveFailedTargetAlreadyMoved?(target, show_message) # Target isn't going to use a move @@ -540,7 +540,7 @@ end #=============================================================================== # The target uses its most recent move again. (Instruct) #=============================================================================== -class PokeBattle_Move_TargetUsesItsLastUsedMoveAgain < PokeBattle_Move +class Battle::Move::TargetUsesItsLastUsedMoveAgain < Battle::Move def ignoresSubstitute?(user); return true; end def initialize(battle,move) @@ -627,7 +627,7 @@ end # For 5 rounds, for each priority bracket, slow Pokémon move before fast ones. # (Trick Room) #=============================================================================== -class PokeBattle_Move_StartSlowerBattlersActFirst < PokeBattle_Move +class Battle::Move::StartSlowerBattlersActFirst < Battle::Move def pbEffectGeneral(user) if @battle.field.effects[PBEffects::TrickRoom]>0 @battle.field.effects[PBEffects::TrickRoom] = 0 @@ -647,7 +647,7 @@ end #=============================================================================== # If Grassy Terrain applies, priority is increased by 1. (Grassy Glide) #=============================================================================== -class PokeBattle_Move_HigherPriorityInGrassyTerrain < PokeBattle_Move +class Battle::Move::HigherPriorityInGrassyTerrain < Battle::Move def pbPriority(user) ret = super ret += 1 if @battle.field.terrain == :Grass && user.affectedByTerrain? @@ -659,7 +659,7 @@ end # Decreases the PP of the last attack used by the target by 3 (or as much as # possible). (Eerie Spell) #=============================================================================== -class PokeBattle_Move_LowerPPOfTargetLastMoveBy3 < PokeBattle_Move +class Battle::Move::LowerPPOfTargetLastMoveBy3 < Battle::Move def pbFailsAgainstTarget?(user, target, show_message) last_move = target.pbGetMoveWithID(target.lastRegularMoveUsed) if !last_move || last_move.pp == 0 || last_move.total_pp <= 0 @@ -681,7 +681,7 @@ end #=============================================================================== # Target's last move used loses 4 PP. (Spite) #=============================================================================== -class PokeBattle_Move_LowerPPOfTargetLastMoveBy4 < PokeBattle_Move +class Battle::Move::LowerPPOfTargetLastMoveBy4 < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -706,7 +706,7 @@ end #=============================================================================== # For 5 rounds, disables the last move the target used. (Disable) #=============================================================================== -class PokeBattle_Move_DisableTargetLastMoveUsed < PokeBattle_Move +class Battle::Move::DisableTargetLastMoveUsed < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -742,7 +742,7 @@ end #=============================================================================== # The target can no longer use the same move twice in a row. (Torment) #=============================================================================== -class PokeBattle_Move_DisableTargetUsingSameMoveConsecutively < PokeBattle_Move +class Battle::Move::DisableTargetUsingSameMoveConsecutively < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -765,7 +765,7 @@ end #=============================================================================== # For 4 rounds, the target must use the same move each round. (Encore) #=============================================================================== -class PokeBattle_Move_DisableTargetUsingDifferentMove < PokeBattle_Move +class Battle::Move::DisableTargetUsingDifferentMove < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -836,7 +836,7 @@ end #=============================================================================== # For 4 rounds, disables the target's non-damaging moves. (Taunt) #=============================================================================== -class PokeBattle_Move_DisableTargetStatusMoves < PokeBattle_Move +class Battle::Move::DisableTargetStatusMoves < Battle::Move def ignoresSubstitute?(user); return true; end def canMagicCoat?; return true; end @@ -850,7 +850,7 @@ class PokeBattle_Move_DisableTargetStatusMoves < PokeBattle_Move !@battle.moldBreaker if show_message @battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH @battle.pbDisplay(_INTL("But it failed!")) else @battle.pbDisplay(_INTL("But it failed because of {1}'s {2}!", @@ -873,7 +873,7 @@ end #=============================================================================== # For 5 rounds, disables the target's healing moves. (Heal Block) #=============================================================================== -class PokeBattle_Move_DisableTargetHealingMoves < PokeBattle_Move +class Battle::Move::DisableTargetHealingMoves < Battle::Move def canMagicCoat?; return true; end def pbFailsAgainstTarget?(user, target, show_message) @@ -895,7 +895,7 @@ end #=============================================================================== # Target cannot use sound-based moves for 2 more rounds. (Throat Chop) #=============================================================================== -class PokeBattle_Move_DisableTargetSoundMoves < PokeBattle_Move +class Battle::Move::DisableTargetSoundMoves < Battle::Move def pbAdditionalEffect(user,target) return if target.fainted? || target.damageState.substitute @battle.pbDisplay(_INTL("The effects of {1} prevent {2} from using certain moves!", @@ -907,7 +907,7 @@ end #=============================================================================== # Disables all target's moves that the user also knows. (Imprison) #=============================================================================== -class PokeBattle_Move_DisableTargetMovesKnownByUser < PokeBattle_Move +class Battle::Move::DisableTargetMovesKnownByUser < Battle::Move def canSnatch?; return true; end def pbMoveFailed?(user,targets) diff --git a/Data/Scripts/011_Battle/005_Battle scene/006_PokeBattle_Scene.rb b/Data/Scripts/011_Battle/004_Scene/001_Battle_Scene.rb similarity index 78% rename from Data/Scripts/011_Battle/005_Battle scene/006_PokeBattle_Scene.rb rename to Data/Scripts/011_Battle/004_Scene/001_Battle_Scene.rb index 794ad2ee5..a36ca7c6b 100644 --- a/Data/Scripts/011_Battle/005_Battle scene/006_PokeBattle_Scene.rb +++ b/Data/Scripts/011_Battle/004_Scene/001_Battle_Scene.rb @@ -1,16 +1,77 @@ # Battle scene (the visuals of the battle) -class PokeBattle_Scene +class Battle::Scene attr_accessor :abortable # For non-interactive battles, can quit immediately attr_reader :viewport attr_reader :sprites - BLANK = 0 - MESSAGE_BOX = 1 - COMMAND_BOX = 2 - FIGHT_BOX = 3 - TARGET_BOX = 4 + USE_ABILITY_SPLASH = (Settings::MECHANICS_GENERATION >= 5) + MESSAGE_PAUSE_TIME = 1.0 # In seconds + # Text colors + MESSAGE_BASE_COLOR = Color.new(80, 80, 88) + MESSAGE_SHADOW_COLOR = Color.new(160, 160, 168) + # The number of party balls to show in each side's lineup. + NUM_BALLS = Settings::MAX_PARTY_SIZE + # Centre bottom of the player's side base graphic + PLAYER_BASE_X = 128 + PLAYER_BASE_Y = Settings::SCREEN_HEIGHT - 80 + # Centre middle of the foe's side base graphic + FOE_BASE_X = Settings::SCREEN_WIDTH - 128 + FOE_BASE_Y = (Settings::SCREEN_HEIGHT * 3 / 4) - 112 + # Default focal points of user and target in animations - do not change! + # Is the centre middle of each sprite + FOCUSUSER_X = 128 + FOCUSUSER_Y = 224 + FOCUSTARGET_X = 384 + FOCUSTARGET_Y = 96 + # Menu types + BLANK = 0 + MESSAGE_BOX = 1 + COMMAND_BOX = 2 + FIGHT_BOX = 3 + TARGET_BOX = 4 - MESSAGE_PAUSE_TIME = (Graphics.frame_rate*1.0).floor # 1 second + # Returns where the centre bottom of a battler's sprite should be, given its + # index and the number of battlers on its side, assuming the battler has + # metrics of 0 (those are added later). + def self.pbBattlerPosition(index, sideSize = 1) + # Start at the centre of the base for the appropriate side + if (index & 1) == 0 + ret = [PLAYER_BASE_X, PLAYER_BASE_Y] + else + ret = [FOE_BASE_X, FOE_BASE_Y] + end + # Shift depending on index (no shifting needed for sideSize of 1) + case sideSize + when 2 + ret[0] += [-48, 48, 32, -32][index] + ret[1] += [ 0, 0, 16, -16][index] + when 3 + ret[0] += [-80, 80, 0, 0, 80, -80][index] + ret[1] += [ 0, 0, 8, -8, 16, -16][index] + end + return ret + end + + # Returns where the centre bottom of a trainer's sprite should be, given its + # side (0/1), index and the number of trainers on its side. + def self.pbTrainerPosition(side, index = 0, sideSize = 1) + # Start at the centre of the base for the appropriate side + if side == 0 + ret = [PLAYER_BASE_X, PLAYER_BASE_Y - 16] + else + ret = [FOE_BASE_X, FOE_BASE_Y + 6] + end + # Shift depending on index (no shifting needed for sideSize of 1) + case sideSize + when 2 + ret[0] += [-48, 48, 32, -32][2 * index + side] + ret[1] += [ 0, 0, 0, -16][2 * index + side] + when 3 + ret[0] += [-80, 80, 0, 0, 80, -80][2 * index + side] + ret[1] += [ 0, 0, 0, -8, 0, -16][2 * index + side] + end + return ret + end #============================================================================= # Updating and refreshing @@ -102,8 +163,10 @@ class PokeBattle_Scene return if !@briefMessage pbShowWindow(MESSAGE_BOX) cw = @sprites["messageWindow"] - MESSAGE_PAUSE_TIME.times do + timer = 0.0 + while timer < MESSAGE_PAUSE_TIME pbUpdate(cw) + timer += Graphics.delta_s end cw.text = "" cw.visible = false @@ -119,7 +182,7 @@ class PokeBattle_Scene cw.setText(msg) PBDebug.log(msg) yielded = false - i = 0 + timer = 0.0 loop do pbUpdate(cw) if !cw.busy? @@ -133,12 +196,12 @@ class PokeBattle_Scene @briefMessage = true break end - if i>=MESSAGE_PAUSE_TIME # Autoclose after 1 second + if timer >= MESSAGE_PAUSE_TIME # Autoclose after 1 second cw.text = "" cw.visible = false break end - i += 1 + timer += Graphics.delta_s end if Input.trigger?(Input::BACK) || Input.trigger?(Input::USE) || @abortable if cw.busy? @@ -165,7 +228,7 @@ class PokeBattle_Scene cw.text = _INTL("{1}\1",msg) PBDebug.log(msg) yielded = false - i = 0 + timer = 0.0 loop do pbUpdate(cw) if !cw.busy? @@ -174,12 +237,12 @@ class PokeBattle_Scene yielded = true end if !@battleEnd - if i>=MESSAGE_PAUSE_TIME*3 # Autoclose after 3 seconds + if timer >= MESSAGE_PAUSE_TIME * 3 # Autoclose after 3 seconds cw.text = "" cw.visible = false break end - i += 1 + timer += Graphics.delta_s end end if Input.trigger?(Input::BACK) || Input.trigger?(Input::USE) || @abortable diff --git a/Data/Scripts/011_Battle/005_Battle scene/007_Scene_Initialize.rb b/Data/Scripts/011_Battle/004_Scene/002_Scene_Initialize.rb similarity index 87% rename from Data/Scripts/011_Battle/005_Battle scene/007_Scene_Initialize.rb rename to Data/Scripts/011_Battle/004_Scene/002_Scene_Initialize.rb index d99b0ef35..4db703155 100644 --- a/Data/Scripts/011_Battle/005_Battle scene/007_Scene_Initialize.rb +++ b/Data/Scripts/011_Battle/004_Scene/002_Scene_Initialize.rb @@ -1,4 +1,4 @@ -class PokeBattle_Scene +class Battle::Scene #============================================================================= # Create the battle scene and its elements #============================================================================= @@ -35,16 +35,16 @@ class PokeBattle_Scene 16,Graphics.height-96+2,Graphics.width-32,96,@viewport) msgWindow.z = 200 msgWindow.opacity = 0 - msgWindow.baseColor = PokeBattle_SceneConstants::MESSAGE_BASE_COLOR - msgWindow.shadowColor = PokeBattle_SceneConstants::MESSAGE_SHADOW_COLOR + msgWindow.baseColor = MESSAGE_BASE_COLOR + msgWindow.shadowColor = MESSAGE_SHADOW_COLOR msgWindow.letterbyletter = true @sprites["messageWindow"] = msgWindow # Create command window - @sprites["commandWindow"] = CommandMenuDisplay.new(@viewport,200) + @sprites["commandWindow"] = CommandMenu.new(@viewport,200) # Create fight window - @sprites["fightWindow"] = FightMenuDisplay.new(@viewport,200) + @sprites["fightWindow"] = FightMenu.new(@viewport,200) # Create targeting window - @sprites["targetWindow"] = TargetMenuDisplay.new(@viewport,200,@battle.sideSizes) + @sprites["targetWindow"] = TargetMenu.new(@viewport,200,@battle.sideSizes) pbShowWindow(MESSAGE_BOX) # The party lineup graphics (bar and balls) for both sides for side in 0...2 @@ -53,13 +53,13 @@ class PokeBattle_Scene partyBar.z = 120 partyBar.mirror = true if side==0 # Player's lineup bar only partyBar.visible = false - for i in 0...PokeBattle_SceneConstants::NUM_BALLS + for i in 0...NUM_BALLS ball = pbAddSprite("partyBall_#{side}_#{i}",0,0,nil,@viewport) ball.z = 121 ball.visible = false end # Ability splash bars - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if USE_ABILITY_SPLASH @sprites["abilityBar_#{side}"] = AbilitySplashBar.new(side,@viewport) end end @@ -137,7 +137,7 @@ class PokeBattle_Scene bg.z = 0 bg.mirror = true for side in 0...2 - baseX, baseY = PokeBattle_SceneConstants.pbBattlerPosition(side) + baseX, baseY = Battle::Scene.pbBattlerPosition(side) base = pbAddSprite("base_#{side}",baseX,baseY, (side==0) ? playerBase : enemyBase,@viewport) base.z = 1 @@ -156,7 +156,7 @@ class PokeBattle_Scene else # Partner trainer's sprite trainerFile = GameData::TrainerType.back_sprite_filename(trainerType) end - spriteX, spriteY = PokeBattle_SceneConstants.pbTrainerPosition(0,idxTrainer,numTrainers) + spriteX, spriteY = Battle::Scene.pbTrainerPosition(0,idxTrainer,numTrainers) trainer = pbAddSprite("player_#{idxTrainer+1}",spriteX,spriteY,trainerFile,@viewport) return if !trainer.bitmap # Alter position of sprite @@ -171,7 +171,7 @@ class PokeBattle_Scene def pbCreateTrainerFrontSprite(idxTrainer,trainerType,numTrainers=1) trainerFile = GameData::TrainerType.front_sprite_filename(trainerType) - spriteX, spriteY = PokeBattle_SceneConstants.pbTrainerPosition(1,idxTrainer,numTrainers) + spriteX, spriteY = Battle::Scene.pbTrainerPosition(1,idxTrainer,numTrainers) trainer = pbAddSprite("trainer_#{idxTrainer+1}",spriteX,spriteY,trainerFile,@viewport) return if !trainer.bitmap # Alter position of sprite @@ -182,9 +182,9 @@ class PokeBattle_Scene def pbCreatePokemonSprite(idxBattler) sideSize = @battle.pbSideSize(idxBattler) - batSprite = PokemonBattlerSprite.new(@viewport,sideSize,idxBattler,@animations) + batSprite = BattlerSprite.new(@viewport,sideSize,idxBattler,@animations) @sprites["pokemon_#{idxBattler}"] = batSprite - shaSprite = PokemonBattlerShadowSprite.new(@viewport,sideSize,idxBattler) + shaSprite = BattlerShadowSprite.new(@viewport,sideSize,idxBattler) shaSprite.visible = false @sprites["shadow_#{idxBattler}"] = shaSprite end diff --git a/Data/Scripts/011_Battle/005_Battle scene/008_Scene_Commands.rb b/Data/Scripts/011_Battle/004_Scene/003_Scene_ChooseCommands.rb similarity index 99% rename from Data/Scripts/011_Battle/005_Battle scene/008_Scene_Commands.rb rename to Data/Scripts/011_Battle/004_Scene/003_Scene_ChooseCommands.rb index d11507727..f6c82c88a 100644 --- a/Data/Scripts/011_Battle/005_Battle scene/008_Scene_Commands.rb +++ b/Data/Scripts/011_Battle/004_Scene/003_Scene_ChooseCommands.rb @@ -1,4 +1,4 @@ -class PokeBattle_Scene +class Battle::Scene #============================================================================= # The player chooses a main command for a Pokémon # Return values: -1=Cancel, 0=Fight, 1=Bag, 2=Pokémon, 3=Run, 4=Call diff --git a/Data/Scripts/011_Battle/005_Battle scene/009_Scene_Animations.rb b/Data/Scripts/011_Battle/004_Scene/004_Scene_PlayAnimations.rb similarity index 90% rename from Data/Scripts/011_Battle/005_Battle scene/009_Scene_Animations.rb rename to Data/Scripts/011_Battle/004_Scene/004_Scene_PlayAnimations.rb index 04a4c931b..c7ae01e83 100644 --- a/Data/Scripts/011_Battle/005_Battle scene/009_Scene_Animations.rb +++ b/Data/Scripts/011_Battle/004_Scene/004_Scene_PlayAnimations.rb @@ -1,10 +1,10 @@ -class PokeBattle_Scene +class Battle::Scene #============================================================================= # Animates the battle intro #============================================================================= def pbBattleIntroAnimation # Make everything appear - introAnim = BattleIntroAnimation.new(@sprites,@viewport,@battle) + introAnim = Animation::Intro.new(@sprites,@viewport,@battle) loop do introAnim.update pbUpdate @@ -30,12 +30,12 @@ class PokeBattle_Scene for i in 0...@battle.sideSizes[1] idxBattler = 2*i+1 next if !@battle.battlers[idxBattler] - dataBoxAnim = DataBoxAppearAnimation.new(@sprites,@viewport,idxBattler) + dataBoxAnim = Animation::DataBoxAppear.new(@sprites,@viewport,idxBattler) @animations.push(dataBoxAnim) end # Set up wild Pokémon returning to normal colour and playing intro # animations (including cry) - @animations.push(BattleIntroAnimation2.new(@sprites,@viewport,@battle.sideSizes[1])) + @animations.push(Animation::Intro2.new(@sprites,@viewport,@battle.sideSizes[1])) # Play all the animations while inPartyAnimation? pbUpdate @@ -58,7 +58,7 @@ class PokeBattle_Scene # Animates a party lineup appearing for the given side #============================================================================= def pbShowPartyLineup(side,fullAnim=false) - @animations.push(LineupAppearAnimation.new(@sprites,@viewport, + @animations.push(Animation::LineupAppear.new(@sprites,@viewport, side,@battle.pbParty(side),@battle.pbPartyStarts(side),fullAnim)) if !fullAnim while inPartyAnimation? @@ -74,7 +74,7 @@ class PokeBattle_Scene #============================================================================= def pbShowOpponent(idxTrainer) # Set up trainer appearing animation - appearAnim = TrainerAppearAnimation.new(@sprites,@viewport,idxTrainer) + appearAnim = Animation::TrainerAppear.new(@sprites,@viewport,idxTrainer) @animations.push(appearAnim) # Play the animation while inPartyAnimation? @@ -99,9 +99,9 @@ class PokeBattle_Scene # Make all trainers and party lineups disappear (player-side trainers may # animate throwing a Poké Ball) if @battle.opposes?(sendOuts[0][0]) - fadeAnim = TrainerFadeAnimation.new(@sprites,@viewport,startBattle) + fadeAnim = Animation::TrainerFade.new(@sprites,@viewport,startBattle) else - fadeAnim = PlayerFadeAnimation.new(@sprites,@viewport,startBattle) + fadeAnim = Animation::PlayerFade.new(@sprites,@viewport,startBattle) end # For each battler being sent out, set the battler's sprite and create two # animations (the Poké Ball moving and battler appearing from it, and its @@ -112,15 +112,15 @@ class PokeBattle_Scene pbChangePokemon(b[0],pkmn) pbRefresh if @battle.opposes?(b[0]) - sendOutAnim = PokeballTrainerSendOutAnimation.new(@sprites,@viewport, + sendOutAnim = Animation::PokeballTrainerSendOut.new(@sprites,@viewport, @battle.pbGetOwnerIndexFromBattlerIndex(b[0])+1, @battle.battlers[b[0]],startBattle,i) else - sendOutAnim = PokeballPlayerSendOutAnimation.new(@sprites,@viewport, + sendOutAnim = Animation::PokeballPlayerSendOut.new(@sprites,@viewport, @battle.pbGetOwnerIndexFromBattlerIndex(b[0])+1, @battle.battlers[b[0]],startBattle,i) end - dataBoxAnim = DataBoxAppearAnimation.new(@sprites,@viewport,b[0]) + dataBoxAnim = Animation::DataBoxAppear.new(@sprites,@viewport,b[0]) sendOutAnims.push([sendOutAnim,dataBoxAnim,false]) end # Play all animations @@ -159,7 +159,7 @@ class PokeBattle_Scene def pbRecall(idxBattler) @briefMessage = false # Recall animation - recallAnim = BattlerRecallAnimation.new(@sprites,@viewport,idxBattler) + recallAnim = Animation::BattlerRecall.new(@sprites,@viewport,idxBattler) loop do recallAnim.update if recallAnim pbUpdate @@ -167,7 +167,7 @@ class PokeBattle_Scene end recallAnim.dispose # Data box disappear animation - dataBoxAnim = DataBoxDisappearAnimation.new(@sprites,@viewport,idxBattler) + dataBoxAnim = Animation::DataBoxDisappear.new(@sprites,@viewport,idxBattler) loop do dataBoxAnim.update pbUpdate @@ -180,11 +180,11 @@ class PokeBattle_Scene # Ability splash bar animations #============================================================================= def pbShowAbilitySplash(battler) - return if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + return if !USE_ABILITY_SPLASH side = battler.index%2 pbHideAbilitySplash(battler) if @sprites["abilityBar_#{side}"].visible @sprites["abilityBar_#{side}"].battler = battler - abilitySplashAnim = AbilitySplashAppearAnimation.new(@sprites,@viewport,side) + abilitySplashAnim = Animation::AbilitySplashAppear.new(@sprites,@viewport,side) loop do abilitySplashAnim.update pbUpdate @@ -194,10 +194,10 @@ class PokeBattle_Scene end def pbHideAbilitySplash(battler) - return if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + return if !USE_ABILITY_SPLASH side = battler.index%2 return if !@sprites["abilityBar_#{side}"].visible - abilitySplashAnim = AbilitySplashDisappearAnimation.new(@sprites,@viewport,side) + abilitySplashAnim = Animation::AbilitySplashDisappear.new(@sprites,@viewport,side) loop do abilitySplashAnim.update pbUpdate @@ -207,7 +207,7 @@ class PokeBattle_Scene end def pbReplaceAbilitySplash(battler) - return if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + return if !USE_ABILITY_SPLASH pbShowAbilitySplash(battler) end @@ -232,7 +232,7 @@ class PokeBattle_Scene def pbDamageAnimation(battler,effectiveness=0) @briefMessage = false # Damage animation - damageAnim = BattlerDamageAnimation.new(@sprites,@viewport,battler.index,effectiveness) + damageAnim = Animation::BattlerDamage.new(@sprites,@viewport,battler.index,effectiveness) loop do damageAnim.update pbUpdate @@ -249,7 +249,7 @@ class PokeBattle_Scene # Set up animations damageAnims = [] targets.each do |t| - anim = BattlerDamageAnimation.new(@sprites,@viewport,t[0].index,t[2]) + anim = Animation::BattlerDamage.new(@sprites,@viewport,t[0].index,t[2]) damageAnims.push(anim) @sprites["dataBox_#{t[0].index}"].animateHP(t[1],t[0].hp,t[0].totalhp) end @@ -309,8 +309,8 @@ class PokeBattle_Scene def pbFaintBattler(battler) @briefMessage = false # Pokémon plays cry and drops down, data box disappears - faintAnim = BattlerFaintAnimation.new(@sprites,@viewport,battler.index,@battle) - dataBoxAnim = DataBoxDisappearAnimation.new(@sprites,@viewport,battler.index) + faintAnim = Animation::BattlerFaint.new(@sprites,@viewport,battler.index,@battle) + dataBoxAnim = Animation::DataBoxDisappear.new(@sprites,@viewport,battler.index) loop do faintAnim.update dataBoxAnim.update @@ -326,7 +326,7 @@ class PokeBattle_Scene #============================================================================= def pbThrow(ball,shakes,critical,targetBattler,showPlayer=false) @briefMessage = false - captureAnim = PokeballThrowCaptureAnimation.new(@sprites,@viewport, + captureAnim = Animation::PokeballThrowCapture.new(@sprites,@viewport, ball,shakes,critical,@battle.battlers[targetBattler],showPlayer) loop do captureAnim.update @@ -350,12 +350,12 @@ class PokeBattle_Scene end def pbHideCaptureBall(idxBattler) - # NOTE: It's not really worth writing a whole PokeBattle_Animation class for - # making the capture ball fade out. + # NOTE: It's not really worth writing a whole Battle::Scene::Animation class + # for making the capture ball fade out. ball = @sprites["captureBall"] return if !ball # Data box disappear animation - dataBoxAnim = DataBoxDisappearAnimation.new(@sprites,@viewport,idxBattler) + dataBoxAnim = Animation::DataBoxDisappear.new(@sprites,@viewport,idxBattler) loop do dataBoxAnim.update ball.opacity -= 12*20/Graphics.frame_rate if ball.opacity>0 @@ -367,7 +367,7 @@ class PokeBattle_Scene def pbThrowAndDeflect(ball,idxBattler) @briefMessage = false - throwAnim = PokeballThrowDeflectAnimation.new(@sprites,@viewport, + throwAnim = Animation::PokeballThrowDeflect.new(@sprites,@viewport, ball,@battle.battlers[idxBattler]) loop do throwAnim.update @@ -533,10 +533,8 @@ class PokeBattle_Scene targetHeight = userHeight end animPlayer.setLineTransform( - PokeBattle_SceneConstants::FOCUSUSER_X,PokeBattle_SceneConstants::FOCUSUSER_Y, - PokeBattle_SceneConstants::FOCUSTARGET_X,PokeBattle_SceneConstants::FOCUSTARGET_Y, - oldUserX,oldUserY-userHeight/2, - oldTargetX,oldTargetY-targetHeight/2) + FOCUSUSER_X, FOCUSUSER_Y, FOCUSTARGET_X, FOCUSTARGET_Y, + oldUserX, oldUserY - userHeight / 2, oldTargetX, oldTargetY - targetHeight / 2) # Play the animation animPlayer.start loop do diff --git a/Data/Scripts/011_Battle/005_Battle scene/005_PokeBattle_SceneMenus.rb b/Data/Scripts/011_Battle/004_Scene/005_Battle_Scene_Menus.rb similarity index 98% rename from Data/Scripts/011_Battle/005_Battle scene/005_PokeBattle_SceneMenus.rb rename to Data/Scripts/011_Battle/004_Scene/005_Battle_Scene_Menus.rb index 38ff45078..b85ffdbea 100644 --- a/Data/Scripts/011_Battle/005_Battle scene/005_PokeBattle_SceneMenus.rb +++ b/Data/Scripts/011_Battle/004_Scene/005_Battle_Scene_Menus.rb @@ -1,7 +1,7 @@ #=============================================================================== # Base class for all three menu classes below #=============================================================================== -class BattleMenuBase +class Battle::Scene::MenuBase attr_accessor :x attr_accessor :y attr_reader :z @@ -11,8 +11,8 @@ class BattleMenuBase attr_reader :mode # NOTE: Button width is half the width of the graphic containing them all. BUTTON_HEIGHT = 46 - TEXT_BASE_COLOR = PokeBattle_SceneConstants::MESSAGE_BASE_COLOR - TEXT_SHADOW_COLOR = PokeBattle_SceneConstants::MESSAGE_SHADOW_COLOR + TEXT_BASE_COLOR = Battle::Scene::MESSAGE_BASE_COLOR + TEXT_SHADOW_COLOR = Battle::Scene::MESSAGE_SHADOW_COLOR def initialize(viewport=nil) @x = 0 @@ -95,7 +95,7 @@ end #=============================================================================== # Command menu (Fight/Pokémon/Bag/Run) #=============================================================================== -class CommandMenuDisplay < BattleMenuBase +class Battle::Scene::CommandMenu < Battle::Scene::MenuBase # If true, displays graphics from Graphics/Pictures/Battle/overlay_command.png # and Graphics/Pictures/Battle/cursor_command.png. # If false, just displays text and the command window over the graphic @@ -199,7 +199,7 @@ end #=============================================================================== # Fight menu (choose a move) #=============================================================================== -class FightMenuDisplay < BattleMenuBase +class Battle::Scene::FightMenu < Battle::Scene::MenuBase attr_reader :battler attr_reader :shiftMode @@ -442,7 +442,7 @@ end # NOTE: Unlike the command and fight menus, this one doesn't have a textbox-only # version. #=============================================================================== -class TargetMenuDisplay < BattleMenuBase +class Battle::Scene::TargetMenu < Battle::Scene::MenuBase attr_accessor :mode # Lists of which button graphics to use in different situations/types of battle. diff --git a/Data/Scripts/011_Battle/005_Battle scene/004_PokeBattle_SceneElements.rb b/Data/Scripts/011_Battle/004_Scene/006_Battle_Scene_Objects.rb similarity index 98% rename from Data/Scripts/011_Battle/005_Battle scene/004_PokeBattle_SceneElements.rb rename to Data/Scripts/011_Battle/004_Scene/006_Battle_Scene_Objects.rb index ac242d859..d8c7a8f27 100644 --- a/Data/Scripts/011_Battle/005_Battle scene/004_PokeBattle_SceneElements.rb +++ b/Data/Scripts/011_Battle/004_Scene/006_Battle_Scene_Objects.rb @@ -1,7 +1,7 @@ #=============================================================================== # Data box for regular battles #=============================================================================== -class PokemonDataBox < SpriteWrapper +class Battle::Scene::PokemonDataBox < SpriteWrapper attr_reader :battler attr_accessor :selected attr_reader :animatingHP @@ -379,7 +379,7 @@ end #=============================================================================== # Splash bar to announce a triggered ability #=============================================================================== -class AbilitySplashBar < SpriteWrapper +class Battle::Scene::AbilitySplashBar < SpriteWrapper attr_reader :battler TEXT_BASE_COLOR = Color.new(0,0,0) @@ -473,7 +473,7 @@ end #=============================================================================== # Pokémon sprite (used in battle) #=============================================================================== -class PokemonBattlerSprite < RPG::Sprite +class Battle::Scene::BattlerSprite < RPG::Sprite attr_reader :pkmn attr_accessor :index attr_accessor :selected @@ -542,7 +542,7 @@ class PokemonBattlerSprite < RPG::Sprite self.z = 50-5*(@index+1)/2 end # Set original position - p = PokeBattle_SceneConstants.pbBattlerPosition(@index,@sideSize) + p = Battle::Scene.pbBattlerPosition(@index,@sideSize) @spriteX = p[0] @spriteY = p[1] # Apply metrics @@ -601,7 +601,7 @@ end #=============================================================================== # Shadow sprite for Pokémon (used in battle) #=============================================================================== -class PokemonBattlerShadowSprite < RPG::Sprite +class Battle::Scene::BattlerShadowSprite < RPG::Sprite attr_reader :pkmn attr_accessor :index attr_accessor :selected @@ -637,7 +637,7 @@ class PokemonBattlerShadowSprite < RPG::Sprite pbSetOrigin self.z = 3 # Set original position - p = PokeBattle_SceneConstants.pbBattlerPosition(@index,@sideSize) + p = Battle::Scene.pbBattlerPosition(@index,@sideSize) self.x = p[0] self.y = p[1] # Apply metrics diff --git a/Data/Scripts/011_Battle/005_Battle scene/001_PokeBattle_Animation.rb b/Data/Scripts/011_Battle/004_Scene/007_Battle_Scene_BaseAnimation.rb similarity index 99% rename from Data/Scripts/011_Battle/005_Battle scene/001_PokeBattle_Animation.rb rename to Data/Scripts/011_Battle/004_Scene/007_Battle_Scene_BaseAnimation.rb index d37b03eb6..7b3d6c1e1 100644 --- a/Data/Scripts/011_Battle/005_Battle scene/001_PokeBattle_Animation.rb +++ b/Data/Scripts/011_Battle/004_Scene/007_Battle_Scene_BaseAnimation.rb @@ -1,4 +1,4 @@ -class PokeBattle_Animation +class Battle::Scene::Animation def initialize(sprites,viewport) @sprites = sprites @viewport = viewport @@ -60,7 +60,7 @@ end -module PokeBattle_BallAnimationMixin +module Battle::Scene::Animation::BallAnimationMixin # Returns the color that the Pokémon turns when it goes into or out of its # Poké Ball. def getBattlerColorFromPokeBall(poke_ball) diff --git a/Data/Scripts/011_Battle/005_Battle scene/002_PokeBattle_SceneAnimations.rb b/Data/Scripts/011_Battle/004_Scene/008_Battle_Scene_Animations.rb similarity index 92% rename from Data/Scripts/011_Battle/005_Battle scene/002_PokeBattle_SceneAnimations.rb rename to Data/Scripts/011_Battle/004_Scene/008_Battle_Scene_Animations.rb index 05cc18442..7c5f07556 100644 --- a/Data/Scripts/011_Battle/005_Battle scene/002_PokeBattle_SceneAnimations.rb +++ b/Data/Scripts/011_Battle/004_Scene/008_Battle_Scene_Animations.rb @@ -1,7 +1,7 @@ #=============================================================================== # Shows the battle scene fading in while elements slide around into place #=============================================================================== -class BattleIntroAnimation < PokeBattle_Animation +class Battle::Scene::Animation::Intro < Battle::Scene::Animation def initialize(sprites,viewport,battle) @battle = battle super(sprites,viewport) @@ -63,7 +63,7 @@ end # Shows wild Pokémon fading back to their normal color, and triggers their intro # animations #=============================================================================== -class BattleIntroAnimation2 < PokeBattle_Animation +class Battle::Scene::Animation::Intro2 < Battle::Scene::Animation def initialize(sprites,viewport,sideSize) @sideSize = sideSize super(sprites,viewport) @@ -85,7 +85,7 @@ end #=============================================================================== # Makes a side's party bar and balls appear #=============================================================================== -class LineupAppearAnimation < PokeBattle_Animation +class Battle::Scene::Animation::LineupAppear < Battle::Scene::Animation BAR_DISPLAY_WIDTH = 248 def initialize(sprites,viewport,side,party,partyStarts,fullAnim) @@ -117,7 +117,7 @@ class LineupAppearAnimation < PokeBattle_Animation bar.y = barY bar.opacity = 255 bar.visible = false - for i in 0...PokeBattle_SceneConstants::NUM_BALLS + for i in 0...Battle::Scene::NUM_BALLS ball = sprites["partyBall_#{@side}_#{i}"] ball.x = ballX ball.y = ballY @@ -136,7 +136,7 @@ class LineupAppearAnimation < PokeBattle_Animation end # Opposing lineup # NOTE: This doesn't work well for 4+ opposing trainers. - ballsPerTrainer = PokeBattle_SceneConstants::NUM_BALLS/@partyStarts.length # 6/3/2 + ballsPerTrainer = Battle::Scene::NUM_BALLS/@partyStarts.length # 6/3/2 startsIndex = idxBall/ballsPerTrainer teamIndex = idxBall%ballsPerTrainer ret = @partyStarts[startsIndex]+teamIndex @@ -154,7 +154,7 @@ class LineupAppearAnimation < PokeBattle_Animation bar.setDelta(0,dir*Graphics.width/2,0) bar.moveDelta(0,8,-dir*Graphics.width/2,0) delay = bar.totalDuration - for i in 0...PokeBattle_SceneConstants::NUM_BALLS + for i in 0...Battle::Scene::NUM_BALLS createBall(i,(@fullAnim) ? delay+i*2 : 0,dir) end end @@ -186,7 +186,7 @@ end #=============================================================================== # Makes a Pokémon's data box appear #=============================================================================== -class DataBoxAppearAnimation < PokeBattle_Animation +class Battle::Scene::Animation::DataBoxAppear < Battle::Scene::Animation def initialize(sprites,viewport,idxBox) @idxBox = idxBox super(sprites,viewport) @@ -207,7 +207,7 @@ end #=============================================================================== # Makes a Pokémon's data box disappear #=============================================================================== -class DataBoxDisappearAnimation < PokeBattle_Animation +class Battle::Scene::Animation::DataBoxDisappear < Battle::Scene::Animation def initialize(sprites,viewport,idxBox) @idxBox = idxBox super(sprites,viewport) @@ -227,7 +227,7 @@ end #=============================================================================== # Makes a Pokémon's ability bar appear #=============================================================================== -class AbilitySplashAppearAnimation < PokeBattle_Animation +class Battle::Scene::Animation::AbilitySplashAppear < Battle::Scene::Animation def initialize(sprites,viewport,side) @side = side super(sprites,viewport) @@ -247,7 +247,7 @@ end #=============================================================================== # Makes a Pokémon's ability bar disappear #=============================================================================== -class AbilitySplashDisappearAnimation < PokeBattle_Animation +class Battle::Scene::Animation::AbilitySplashDisappear < Battle::Scene::Animation def initialize(sprites,viewport,side) @side = side super(sprites,viewport) @@ -269,7 +269,7 @@ end # trainer slide off to the right first if it is on-screen. # Used at the end of battle. #=============================================================================== -class TrainerAppearAnimation < PokeBattle_Animation +class Battle::Scene::Animation::TrainerAppear < Battle::Scene::Animation def initialize(sprites,viewport,idxTrainer) @idxTrainer = idxTrainer super(sprites,viewport) @@ -286,7 +286,7 @@ class TrainerAppearAnimation < PokeBattle_Animation end # Make new trainer sprite move on-screen if @sprites["trainer_#{@idxTrainer+1}"] - trainerX, trainerY = PokeBattle_SceneConstants.pbTrainerPosition(1) + trainerX, trainerY = Battle::Scene.pbTrainerPosition(1) trainerX += 64+Graphics.width/4 newTrainer = addSprite(@sprites["trainer_#{@idxTrainer+1}"],PictureOrigin::Bottom) newTrainer.setVisible(delay,true) @@ -303,7 +303,7 @@ end # Shows the player's/partner's throwing animation (if they have one). # Doesn't show the ball thrown or the Pokémon. #=============================================================================== -class PlayerFadeAnimation < PokeBattle_Animation +class Battle::Scene::Animation::PlayerFade < Battle::Scene::Animation def initialize(sprites,viewport,fullAnim=false) @fullAnim = fullAnim # True at start of battle, false when switching super(sprites,viewport) @@ -339,7 +339,7 @@ class PlayerFadeAnimation < PokeBattle_Animation partyBar.setVisible(delay+12,false) partyBar.setOpacity(delay+12,255) end - for i in 0...PokeBattle_SceneConstants::NUM_BALLS + for i in 0...Battle::Scene::NUM_BALLS next if !@sprites["partyBall_0_#{i}"] || !@sprites["partyBall_0_#{i}"].visible partyBall = addSprite(@sprites["partyBall_0_#{i}"]) partyBall.moveDelta(delay+2*i,16,-Graphics.width,0) if @fullAnim @@ -356,7 +356,7 @@ end # Shows the enemy trainer(s) and the enemy party lineup sliding off screen. # Doesn't show the ball thrown or the Pokémon. #=============================================================================== -class TrainerFadeAnimation < PokeBattle_Animation +class Battle::Scene::Animation::TrainerFade < Battle::Scene::Animation def initialize(sprites,viewport,fullAnim=false) @fullAnim = fullAnim # True at start of battle, false when switching super(sprites,viewport) @@ -384,7 +384,7 @@ class TrainerFadeAnimation < PokeBattle_Animation partyBar.setVisible(delay+12,false) partyBar.setOpacity(delay+12,255) end - for i in 0...PokeBattle_SceneConstants::NUM_BALLS + for i in 0...Battle::Scene::NUM_BALLS next if !@sprites["partyBall_1_#{i}"] || !@sprites["partyBall_1_#{i}"].visible partyBall = addSprite(@sprites["partyBall_1_#{i}"]) partyBall.moveDelta(delay+2*i,16,Graphics.width,0) if @fullAnim @@ -401,8 +401,8 @@ end # Shows a Pokémon being sent out on the player's side (including by a partner). # Includes the Poké Ball being thrown. #=============================================================================== -class PokeballPlayerSendOutAnimation < PokeBattle_Animation - include PokeBattle_BallAnimationMixin +class Battle::Scene::Animation::PokeballPlayerSendOut < Battle::Scene::Animation + include Battle::Scene::Animation::BallAnimationMixin def initialize(sprites,viewport,idxTrainer,battler,startBattle,idxOrder=0) @idxTrainer = idxTrainer @@ -426,7 +426,7 @@ class PokeballPlayerSendOutAnimation < PokeBattle_Animation col = getBattlerColorFromPokeBall(poke_ball) col.alpha = 255 # Calculate start and end coordinates for battler sprite movement - ballPos = PokeBattle_SceneConstants.pbBattlerPosition(@battler.index,batSprite.sideSize) + ballPos = Battle::Scene.pbBattlerPosition(@battler.index,batSprite.sideSize) battlerStartX = ballPos[0] # Is also where the Ball needs to end battlerStartY = ballPos[1] # Is also where the Ball needs to end + 18 battlerEndX = batSprite.x @@ -480,8 +480,8 @@ end # Includes the Poké Ball being "thrown" (although here the Poké Ball just # appears in the spot where it opens up rather than being thrown to there). #=============================================================================== -class PokeballTrainerSendOutAnimation < PokeBattle_Animation - include PokeBattle_BallAnimationMixin +class Battle::Scene::Animation::PokeballTrainerSendOut < Battle::Scene::Animation + include Battle::Scene::Animation::BallAnimationMixin def initialize(sprites,viewport,idxTrainer,battler,startBattle,idxOrder) @idxTrainer = idxTrainer @@ -503,7 +503,7 @@ class PokeballTrainerSendOutAnimation < PokeBattle_Animation col = getBattlerColorFromPokeBall(poke_ball) col.alpha = 255 # Calculate start and end coordinates for battler sprite movement - ballPos = PokeBattle_SceneConstants.pbBattlerPosition(@battler.index,batSprite.sideSize) + ballPos = Battle::Scene.pbBattlerPosition(@battler.index,batSprite.sideSize) battlerStartX = ballPos[0] battlerStartY = ballPos[1] battlerEndX = batSprite.x @@ -549,8 +549,8 @@ end #=============================================================================== # Shows a Pokémon being recalled into its Poké Ball #=============================================================================== -class BattlerRecallAnimation < PokeBattle_Animation - include PokeBattle_BallAnimationMixin +class Battle::Scene::Animation::BattlerRecall < Battle::Scene::Animation + include Battle::Scene::Animation::BallAnimationMixin def initialize(sprites,viewport,idxBattler) @idxBattler = idxBattler @@ -566,7 +566,7 @@ class BattlerRecallAnimation < PokeBattle_Animation col = getBattlerColorFromPokeBall(poke_ball) col.alpha = 0 # Calculate end coordinates for battler sprite movement - ballPos = PokeBattle_SceneConstants.pbBattlerPosition(@idxBattler,batSprite.sideSize) + ballPos = Battle::Scene.pbBattlerPosition(@idxBattler,batSprite.sideSize) battlerEndX = ballPos[0] battlerEndY = ballPos[1] # Set up battler sprite @@ -598,7 +598,7 @@ end #=============================================================================== # Shows a Pokémon flashing after taking damage #=============================================================================== -class BattlerDamageAnimation < PokeBattle_Animation +class Battle::Scene::Animation::BattlerDamage < Battle::Scene::Animation def initialize(sprites,viewport,idxBattler,effectiveness) @idxBattler = idxBattler @effectiveness = effectiveness @@ -636,7 +636,7 @@ end #=============================================================================== # Shows a Pokémon fainting #=============================================================================== -class BattlerFaintAnimation < PokeBattle_Animation +class Battle::Scene::Animation::BattlerFaint < Battle::Scene::Animation def initialize(sprites,viewport,idxBattler,battle) @idxBattler = idxBattler @battle = battle @@ -651,7 +651,7 @@ class BattlerFaintAnimation < PokeBattle_Animation shadow = addSprite(shaSprite,PictureOrigin::Center) # Get approx duration depending on sprite's position/size. Min 20 frames. battlerTop = batSprite.y-batSprite.height - cropY = PokeBattle_SceneConstants.pbBattlerPosition(@idxBattler, + cropY = Battle::Scene.pbBattlerPosition(@idxBattler, @battle.pbSideSize(@idxBattler))[1] cropY += 8 duration = (cropY-battlerTop)/8 @@ -680,8 +680,8 @@ end #=============================================================================== # Shows the player's Poké Ball being thrown to capture a Pokémon #=============================================================================== -class PokeballThrowCaptureAnimation < PokeBattle_Animation - include PokeBattle_BallAnimationMixin +class Battle::Scene::Animation::PokeballThrowCapture < Battle::Scene::Animation + include Battle::Scene::Animation::BallAnimationMixin def initialize(sprites,viewport, poke_ball,numShakes,critCapture,battler,showingTrainer) @@ -700,7 +700,7 @@ class PokeballThrowCaptureAnimation < PokeBattle_Animation batSprite = @sprites["pokemon_#{@battler.index}"] shaSprite = @sprites["shadow_#{@battler.index}"] traSprite = @sprites["player_1"] - ballPos = PokeBattle_SceneConstants.pbBattlerPosition(@battler.index,batSprite.sideSize) + ballPos = Battle::Scene.pbBattlerPosition(@battler.index,batSprite.sideSize) battlerStartX = batSprite.x battlerStartY = batSprite.y ballStartX = -6 @@ -834,8 +834,8 @@ end #=============================================================================== # Shows the player throwing a Poké Ball and it being deflected #=============================================================================== -class PokeballThrowDeflectAnimation < PokeBattle_Animation - include PokeBattle_BallAnimationMixin +class Battle::Scene::Animation::PokeballThrowDeflect < Battle::Scene::Animation + include Battle::Scene::Animation::BallAnimationMixin def initialize(sprites,viewport,poke_ball,battler) @poke_ball = poke_ball @@ -846,7 +846,7 @@ class PokeballThrowDeflectAnimation < PokeBattle_Animation def createProcesses # Calculate start and end coordinates for battler sprite movement batSprite = @sprites["pokemon_#{@battler.index}"] - ballPos = PokeBattle_SceneConstants.pbBattlerPosition(@battler.index,batSprite.sideSize) + ballPos = Battle::Scene.pbBattlerPosition(@battler.index,batSprite.sideSize) ballStartX = -6 ballStartY = 246 ballMidX = 190 # Unused in arc calculation diff --git a/Data/Scripts/011_Battle/006_Other battle types/007_PokeBattle_DebugScene.rb b/Data/Scripts/011_Battle/004_Scene/009_Battle_DebugScene.rb similarity index 98% rename from Data/Scripts/011_Battle/006_Other battle types/007_PokeBattle_DebugScene.rb rename to Data/Scripts/011_Battle/004_Scene/009_Battle_DebugScene.rb index 76d7dc133..54ebfeaa0 100644 --- a/Data/Scripts/011_Battle/006_Other battle types/007_PokeBattle_DebugScene.rb +++ b/Data/Scripts/011_Battle/004_Scene/009_Battle_DebugScene.rb @@ -1,7 +1,7 @@ #=============================================================================== # Used when generating new trainers for battle challenges #=============================================================================== -class PokeBattle_DebugSceneNoLogging +class Battle::DebugSceneNoLogging def initialize @battle = nil @lastCmd = [0,0,0,0] diff --git a/Data/Scripts/011_Battle/004_AI/001_PokeBattle_AI.rb b/Data/Scripts/011_Battle/005_AI/001_Battle_AI.rb similarity index 99% rename from Data/Scripts/011_Battle/004_AI/001_PokeBattle_AI.rb rename to Data/Scripts/011_Battle/005_AI/001_Battle_AI.rb index 34582a107..f50a2241c 100644 --- a/Data/Scripts/011_Battle/004_AI/001_PokeBattle_AI.rb +++ b/Data/Scripts/011_Battle/005_AI/001_Battle_AI.rb @@ -17,7 +17,7 @@ end -class PokeBattle_AI +class Battle::AI def initialize(battle) @battle = battle end diff --git a/Data/Scripts/011_Battle/004_AI/002_AI_Item.rb b/Data/Scripts/011_Battle/005_AI/002_AI_Item.rb similarity index 99% rename from Data/Scripts/011_Battle/004_AI/002_AI_Item.rb rename to Data/Scripts/011_Battle/005_AI/002_AI_Item.rb index 7f687fa3f..b824b1fa5 100644 --- a/Data/Scripts/011_Battle/004_AI/002_AI_Item.rb +++ b/Data/Scripts/011_Battle/005_AI/002_AI_Item.rb @@ -1,4 +1,4 @@ -class PokeBattle_AI +class Battle::AI #============================================================================= # Decide whether the opponent should use an item on the Pokémon #============================================================================= diff --git a/Data/Scripts/011_Battle/004_AI/003_AI_Switch.rb b/Data/Scripts/011_Battle/005_AI/003_AI_Switch.rb similarity index 99% rename from Data/Scripts/011_Battle/004_AI/003_AI_Switch.rb rename to Data/Scripts/011_Battle/005_AI/003_AI_Switch.rb index d839ae62b..369ef4e3a 100644 --- a/Data/Scripts/011_Battle/004_AI/003_AI_Switch.rb +++ b/Data/Scripts/011_Battle/005_AI/003_AI_Switch.rb @@ -1,4 +1,4 @@ -class PokeBattle_AI +class Battle::AI #============================================================================= # Decide whether the opponent should switch Pokémon #============================================================================= diff --git a/Data/Scripts/011_Battle/004_AI/004_AI_Move.rb b/Data/Scripts/011_Battle/005_AI/004_AI_Move.rb similarity index 99% rename from Data/Scripts/011_Battle/004_AI/004_AI_Move.rb rename to Data/Scripts/011_Battle/005_AI/004_AI_Move.rb index 8f305c81a..ea5bd5f4d 100644 --- a/Data/Scripts/011_Battle/004_AI/004_AI_Move.rb +++ b/Data/Scripts/011_Battle/005_AI/004_AI_Move.rb @@ -1,4 +1,4 @@ -class PokeBattle_AI +class Battle::AI #============================================================================= # Main move-choosing method (moves with higher scores are more likely to be # chosen) diff --git a/Data/Scripts/011_Battle/004_AI/005_AI_Move_EffectScores.rb b/Data/Scripts/011_Battle/005_AI/005_AI_Move_EffectScores.rb similarity index 99% rename from Data/Scripts/011_Battle/004_AI/005_AI_Move_EffectScores.rb rename to Data/Scripts/011_Battle/005_AI/005_AI_Move_EffectScores.rb index b7af9ca81..62574e933 100644 --- a/Data/Scripts/011_Battle/004_AI/005_AI_Move_EffectScores.rb +++ b/Data/Scripts/011_Battle/005_AI/005_AI_Move_EffectScores.rb @@ -1,4 +1,4 @@ -class PokeBattle_AI +class Battle::AI #============================================================================= # Get a score for the given move based on its effect #============================================================================= diff --git a/Data/Scripts/011_Battle/004_AI/006_AI_Move_Utilities.rb b/Data/Scripts/011_Battle/005_AI/006_AI_Move_Utilities.rb similarity index 99% rename from Data/Scripts/011_Battle/004_AI/006_AI_Move_Utilities.rb rename to Data/Scripts/011_Battle/005_AI/006_AI_Move_Utilities.rb index 0fd3f0982..2f91e2da4 100644 --- a/Data/Scripts/011_Battle/004_AI/006_AI_Move_Utilities.rb +++ b/Data/Scripts/011_Battle/005_AI/006_AI_Move_Utilities.rb @@ -1,4 +1,4 @@ -class PokeBattle_AI +class Battle::AI #============================================================================= # #============================================================================= @@ -294,7 +294,7 @@ class PokeBattle_AI #============================================================================= def pbRoughDamage(move,user,target,skill,baseDmg) # Fixed damage moves - return baseDmg if move.is_a?(PokeBattle_FixedDamageMove) + return baseDmg if move.is_a?(Battle::Move::FixedDamageMove) # Get the move's type type = pbRoughType(move,user,skill) ##### Calculate user's attack stat ##### diff --git a/Data/Scripts/011_Battle/005_Battle scene/003_PokeBattle_SceneConstants.rb b/Data/Scripts/011_Battle/005_Battle scene/003_PokeBattle_SceneConstants.rb deleted file mode 100644 index 23f237531..000000000 --- a/Data/Scripts/011_Battle/005_Battle scene/003_PokeBattle_SceneConstants.rb +++ /dev/null @@ -1,67 +0,0 @@ -module PokeBattle_SceneConstants - USE_ABILITY_SPLASH = (Settings::MECHANICS_GENERATION >= 5) - # Text colors - MESSAGE_BASE_COLOR = Color.new(80, 80, 88) - MESSAGE_SHADOW_COLOR = Color.new(160, 160, 168) - - # The number of party balls to show in each side's lineup. - NUM_BALLS = Settings::MAX_PARTY_SIZE - - # Centre bottom of the player's side base graphic - PLAYER_BASE_X = 128 - PLAYER_BASE_Y = Settings::SCREEN_HEIGHT - 80 - - # Centre middle of the foe's side base graphic - FOE_BASE_X = Settings::SCREEN_WIDTH - 128 - FOE_BASE_Y = (Settings::SCREEN_HEIGHT * 3 / 4) - 112 - - # Returns where the centre bottom of a battler's sprite should be, given its - # index and the number of battlers on its side, assuming the battler has - # metrics of 0 (those are added later). - def self.pbBattlerPosition(index, sideSize = 1) - # Start at the centre of the base for the appropriate side - if (index & 1) == 0 - ret = [PLAYER_BASE_X, PLAYER_BASE_Y] - else - ret = [FOE_BASE_X, FOE_BASE_Y] - end - # Shift depending on index (no shifting needed for sideSize of 1) - case sideSize - when 2 - ret[0] += [-48, 48, 32, -32][index] - ret[1] += [ 0, 0, 16, -16][index] - when 3 - ret[0] += [-80, 80, 0, 0, 80, -80][index] - ret[1] += [ 0, 0, 8, -8, 16, -16][index] - end - return ret - end - - # Returns where the centre bottom of a trainer's sprite should be, given its - # side (0/1), index and the number of trainers on its side. - def self.pbTrainerPosition(side, index = 0, sideSize = 1) - # Start at the centre of the base for the appropriate side - if side == 0 - ret = [PLAYER_BASE_X, PLAYER_BASE_Y - 16] - else - ret = [FOE_BASE_X, FOE_BASE_Y + 6] - end - # Shift depending on index (no shifting needed for sideSize of 1) - case sideSize - when 2 - ret[0] += [-48, 48, 32, -32][2 * index + side] - ret[1] += [ 0, 0, 0, -16][2 * index + side] - when 3 - ret[0] += [-80, 80, 0, 0, 80, -80][2 * index + side] - ret[1] += [ 0, 0, 0, -8, 0, -16][2 * index + side] - end - return ret - end - - # Default focal points of user and target in animations - do not change! - # Is the centre middle of each sprite - FOCUSUSER_X = 128 # 144 - FOCUSUSER_Y = 224 # 188 - FOCUSTARGET_X = 384 # 352 - FOCUSTARGET_Y = 96 # 108, 98 -end diff --git a/Data/Scripts/011_Battle/006_Other battle code/001_PBEffects.rb b/Data/Scripts/011_Battle/006_Other battle code/001_PBEffects.rb new file mode 100644 index 000000000..213d6070d --- /dev/null +++ b/Data/Scripts/011_Battle/006_Other battle code/001_PBEffects.rb @@ -0,0 +1,179 @@ +module PBEffects + #=========================================================================== + # These effects apply to a battler + #=========================================================================== + AquaRing = 0 + Attract = 1 + BanefulBunker = 2 + BeakBlast = 3 + Bide = 4 + BideDamage = 5 + BideTarget = 6 + BurnUp = 7 + Charge = 8 + ChoiceBand = 9 + Confusion = 10 + Counter = 11 + CounterTarget = 12 + Curse = 13 + Dancer = 14 + DefenseCurl = 15 + DestinyBond = 16 + DestinyBondPrevious = 17 + DestinyBondTarget = 18 + Disable = 19 + DisableMove = 20 + Electrify = 21 + Embargo = 22 + Encore = 23 + EncoreMove = 24 + Endure = 25 + FirstPledge = 26 + FlashFire = 27 + Flinch = 28 + FocusEnergy = 29 + FocusPunch = 30 + FollowMe = 31 + Foresight = 32 + FuryCutter = 33 + GastroAcid = 34 + GemConsumed = 35 + Grudge = 36 + HealBlock = 37 + HelpingHand = 38 + HyperBeam = 39 + Illusion = 40 + Imprison = 41 + Ingrain = 42 + Instruct = 43 + Instructed = 44 + JawLock = 994 + KingsShield = 45 + LaserFocus = 46 + LeechSeed = 47 + LockOn = 48 + LockOnPos = 49 + MagicBounce = 50 + MagicCoat = 51 + MagnetRise = 52 + MeanLook = 53 + MeFirst = 54 + Metronome = 55 + MicleBerry = 56 + Minimize = 57 + MiracleEye = 58 + MirrorCoat = 59 + MirrorCoatTarget = 60 + MoveNext = 61 + MudSport = 62 + Nightmare = 63 + NoRetreat = 990 + Obstruct = 992 + Octolock = 993 + Outrage = 64 + ParentalBond = 65 + PerishSong = 66 + PerishSongUser = 67 + PickupItem = 68 + PickupUse = 69 + Pinch = 70 # Battle Palace only + Powder = 71 + PowerTrick = 72 + Prankster = 73 + PriorityAbility = 74 + PriorityItem = 75 + Protect = 76 + ProtectRate = 77 + Pursuit = 78 + Quash = 79 + Rage = 80 + RagePowder = 81 # Used along with FollowMe + Rollout = 82 + Roost = 83 + ShellTrap = 84 + SkyDrop = 85 + SlowStart = 86 + SmackDown = 87 + Snatch = 88 + SpikyShield = 89 + Spotlight = 90 + Stockpile = 91 + StockpileDef = 92 + StockpileSpDef = 93 + Substitute = 94 + TarShot = 991 + Taunt = 95 + Telekinesis = 96 + ThroatChop = 97 + Torment = 98 + Toxic = 99 + Transform = 100 + TransformSpecies = 101 + Trapping = 102 # Trapping move + TrappingMove = 103 + TrappingUser = 104 + Truant = 105 + TwoTurnAttack = 106 + Type3 = 107 + Unburden = 108 + Uproar = 109 + WaterSport = 110 + WeightChange = 111 + Yawn = 112 + + #============================================================================= + # These effects apply to a battler position + #============================================================================= + FutureSightCounter = 0 + FutureSightMove = 1 + FutureSightUserIndex = 2 + FutureSightUserPartyIndex = 3 + HealingWish = 4 + LunarDance = 5 + Wish = 6 + WishAmount = 7 + WishMaker = 8 + + #============================================================================= + # These effects apply to a side + #============================================================================= + AuroraVeil = 0 + CraftyShield = 1 + EchoedVoiceCounter = 2 + EchoedVoiceUsed = 3 + LastRoundFainted = 4 + LightScreen = 5 + LuckyChant = 6 + MatBlock = 7 + Mist = 8 + QuickGuard = 9 + Rainbow = 10 + Reflect = 11 + Round = 12 + Safeguard = 13 + SeaOfFire = 14 + Spikes = 15 + StealthRock = 16 + StickyWeb = 17 + Swamp = 18 + Tailwind = 19 + ToxicSpikes = 20 + WideGuard = 21 + + #============================================================================= + # These effects apply to the battle (i.e. both sides) + #============================================================================= + AmuletCoin = 0 + FairyLock = 1 + FusionBolt = 2 + FusionFlare = 3 + Gravity = 4 + HappyHour = 5 + IonDeluge = 6 + MagicRoom = 7 + MudSportField = 8 + PayDay = 9 + TrickRoom = 10 + WaterSportField = 11 + WonderRoom = 12 +end diff --git a/Data/Scripts/011_Battle/006_Other battle code/002_Battle_ActiveField.rb b/Data/Scripts/011_Battle/006_Other battle code/002_Battle_ActiveField.rb new file mode 100644 index 000000000..5ea35836f --- /dev/null +++ b/Data/Scripts/011_Battle/006_Other battle code/002_Battle_ActiveField.rb @@ -0,0 +1,88 @@ +#=============================================================================== +# +#=============================================================================== +class Battle::ActiveField + attr_accessor :effects + attr_accessor :defaultWeather + attr_accessor :weather + attr_accessor :weatherDuration + attr_accessor :defaultTerrain + attr_accessor :terrain + attr_accessor :terrainDuration + + def initialize + @effects = [] + @effects[PBEffects::AmuletCoin] = false + @effects[PBEffects::FairyLock] = 0 + @effects[PBEffects::FusionBolt] = false + @effects[PBEffects::FusionFlare] = false + @effects[PBEffects::Gravity] = 0 + @effects[PBEffects::HappyHour] = false + @effects[PBEffects::IonDeluge] = false + @effects[PBEffects::MagicRoom] = 0 + @effects[PBEffects::MudSportField] = 0 + @effects[PBEffects::PayDay] = 0 + @effects[PBEffects::TrickRoom] = 0 + @effects[PBEffects::WaterSportField] = 0 + @effects[PBEffects::WonderRoom] = 0 + @defaultWeather = :None + @weather = :None + @weatherDuration = 0 + @defaultTerrain = :None + @terrain = :None + @terrainDuration = 0 + end +end + +#=============================================================================== +# +#=============================================================================== +class Battle::ActiveSide + attr_accessor :effects + + def initialize + @effects = [] + @effects[PBEffects::AuroraVeil] = 0 + @effects[PBEffects::CraftyShield] = false + @effects[PBEffects::EchoedVoiceCounter] = 0 + @effects[PBEffects::EchoedVoiceUsed] = false + @effects[PBEffects::LastRoundFainted] = -1 + @effects[PBEffects::LightScreen] = 0 + @effects[PBEffects::LuckyChant] = 0 + @effects[PBEffects::MatBlock] = false + @effects[PBEffects::Mist] = 0 + @effects[PBEffects::QuickGuard] = false + @effects[PBEffects::Rainbow] = 0 + @effects[PBEffects::Reflect] = 0 + @effects[PBEffects::Round] = false + @effects[PBEffects::Safeguard] = 0 + @effects[PBEffects::SeaOfFire] = 0 + @effects[PBEffects::Spikes] = 0 + @effects[PBEffects::StealthRock] = false + @effects[PBEffects::StickyWeb] = false + @effects[PBEffects::Swamp] = 0 + @effects[PBEffects::Tailwind] = 0 + @effects[PBEffects::ToxicSpikes] = 0 + @effects[PBEffects::WideGuard] = false + end +end + +#=============================================================================== +# +#=============================================================================== +class Battle::ActivePosition + attr_accessor :effects + + def initialize + @effects = [] + @effects[PBEffects::FutureSightCounter] = 0 + @effects[PBEffects::FutureSightMove] = nil + @effects[PBEffects::FutureSightUserIndex] = -1 + @effects[PBEffects::FutureSightUserPartyIndex] = -1 + @effects[PBEffects::HealingWish] = false + @effects[PBEffects::LunarDance] = false + @effects[PBEffects::Wish] = 0 + @effects[PBEffects::WishAmount] = 0 + @effects[PBEffects::WishMaker] = -1 + end +end diff --git a/Data/Scripts/011_Battle/007_PokeBattle_DamageState.rb b/Data/Scripts/011_Battle/006_Other battle code/003_Battle_DamageState.rb similarity index 91% rename from Data/Scripts/011_Battle/007_PokeBattle_DamageState.rb rename to Data/Scripts/011_Battle/006_Other battle code/003_Battle_DamageState.rb index fd8569265..4e2eda445 100644 --- a/Data/Scripts/011_Battle/007_PokeBattle_DamageState.rb +++ b/Data/Scripts/011_Battle/006_Other battle code/003_Battle_DamageState.rb @@ -1,4 +1,7 @@ -class PokeBattle_DamageState +#=============================================================================== +# +#=============================================================================== +class Battle::DamageState attr_accessor :typeMod # Type effectiveness attr_accessor :unaffected attr_accessor :protected diff --git a/Data/Scripts/011_Battle/006_Other battle types/008_PokeBattle_BattlePeer.rb b/Data/Scripts/011_Battle/006_Other battle code/004_Battle_Peers.rb similarity index 87% rename from Data/Scripts/011_Battle/006_Other battle types/008_PokeBattle_BattlePeer.rb rename to Data/Scripts/011_Battle/006_Other battle code/004_Battle_Peers.rb index a52089998..6e8ba84dd 100644 --- a/Data/Scripts/011_Battle/006_Other battle types/008_PokeBattle_BattlePeer.rb +++ b/Data/Scripts/011_Battle/006_Other battle code/004_Battle_Peers.rb @@ -1,27 +1,7 @@ #=============================================================================== # #=============================================================================== -# Unused class. -class PokeBattle_NullBattlePeer - def pbOnEnteringBattle(battle, battler, pkmn, wild = false); end - def pbOnLeavingBattle(battle,pkmn,usedInBattle,endBattle=false); end - - def pbStorePokemon(player,pkmn) - player.party[player.party.length] = pkmn if !player.party_full? - return -1 - end - - def pbGetStorageCreatorName; return nil; end - def pbCurrentBox; return -1; end - def pbBoxName(box); return ""; end -end - - - -#=============================================================================== -# -#=============================================================================== -class PokeBattle_RealBattlePeer +class Battle::Peer def pbStorePokemon(player,pkmn) if !player.party_full? player.party[player.party.length] = pkmn @@ -73,13 +53,19 @@ class PokeBattle_RealBattlePeer end end - - #=============================================================================== -# +# Unused class. #=============================================================================== -class PokeBattle_BattlePeer - def self.create - return PokeBattle_RealBattlePeer.new +class Battle::NullPeer + def pbOnEnteringBattle(battle, battler, pkmn, wild = false); end + def pbOnLeavingBattle(battle,pkmn,usedInBattle,endBattle=false); end + + def pbStorePokemon(player,pkmn) + player.party[player.party.length] = pkmn if !player.party_full? + return -1 end + + def pbGetStorageCreatorName; return nil; end + def pbCurrentBox; return -1; end + def pbBoxName(box); return ""; end end diff --git a/Data/Scripts/011_Battle/006_Other battle types/009_PokeBattle_Clauses.rb b/Data/Scripts/011_Battle/006_Other battle code/005_Battle_Clauses.rb similarity index 91% rename from Data/Scripts/011_Battle/006_Other battle types/009_PokeBattle_Clauses.rb rename to Data/Scripts/011_Battle/006_Other battle code/005_Battle_Clauses.rb index e255c92f5..baa249a82 100644 --- a/Data/Scripts/011_Battle/006_Other battle types/009_PokeBattle_Clauses.rb +++ b/Data/Scripts/011_Battle/006_Other battle code/005_Battle_Clauses.rb @@ -1,7 +1,7 @@ #=============================================================================== # This script modifies the battle system to implement battle rules #=============================================================================== -class PokeBattle_Battle +class Battle unless @__clauses__aliased alias __clauses__pbDecisionOnDraw pbDecisionOnDraw alias __clauses__pbEndOfRoundPhase pbEndOfRoundPhase @@ -53,7 +53,7 @@ end -class PokeBattle_Battler +class Battle::Battler unless @__clauses__aliased alias __clauses__pbCanSleep? pbCanSleep? alias __clauses__pbCanSleepYawn? pbCanSleepYawn? @@ -102,7 +102,7 @@ end -class PokeBattle_Move_RaiseUserEvasion1 # Double Team +class Battle::Move::RaiseUserEvasion1 # Double Team alias __clauses__pbMoveFailed? pbMoveFailed? def pbMoveFailed?(user,targets) @@ -116,7 +116,7 @@ end -class PokeBattle_Move_RaiseUserEvasion2MinimizeUser # Minimize +class Battle::Move::RaiseUserEvasion2MinimizeUser # Minimize alias __clauses__pbMoveFailed? pbMoveFailed? def pbMoveFailed?(user,targets) @@ -130,7 +130,7 @@ end -class PokeBattle_Move_UserTargetSwapAbilities # Skill Swap +class Battle::Move::UserTargetSwapAbilities # Skill Swap alias __clauses__pbFailsAgainstTarget? pbFailsAgainstTarget? def pbFailsAgainstTarget?(user, target, show_message) @@ -144,7 +144,7 @@ end -class PokeBattle_Move_FixedDamage20 # Sonic Boom +class Battle::Move::FixedDamage20 # Sonic Boom alias __clauses__pbFailsAgainstTarget? pbFailsAgainstTarget? def pbFailsAgainstTarget?(user, target, show_message) @@ -158,7 +158,7 @@ end -class PokeBattle_Move_FixedDamage40 # Dragon Rage +class Battle::Move::FixedDamage40 # Dragon Rage alias __clauses__pbFailsAgainstTarget? pbFailsAgainstTarget? def pbFailsAgainstTarget?(user, target, show_message) @@ -172,7 +172,7 @@ end -class PokeBattle_Move_OHKO +class Battle::Move::OHKO alias __clauses__pbFailsAgainstTarget? pbFailsAgainstTarget? def pbFailsAgainstTarget?(user, target, show_message) @@ -186,7 +186,7 @@ end -class PokeBattle_Move_OHKOIce +class Battle::Move::OHKOIce alias __clauses__pbFailsAgainstTarget? pbFailsAgainstTarget? def pbFailsAgainstTarget?(user, target, show_message) @@ -200,7 +200,7 @@ end -class PokeBattle_Move_OHKOHitsUndergroundTarget +class Battle::Move::OHKOHitsUndergroundTarget alias __clauses__pbFailsAgainstTarget? pbFailsAgainstTarget? def pbFailsAgainstTarget?(user, target, show_message) @@ -214,7 +214,7 @@ end -class PokeBattle_Move_UserFaintsExplosive # Self-Destruct +class Battle::Move::UserFaintsExplosive # Self-Destruct unless @__clauses__aliased alias __clauses__pbMoveFailed? pbMoveFailed? @__clauses__aliased = true @@ -246,7 +246,7 @@ end -class PokeBattle_Move_StartPerishCountsForAllBattlers # Perish Song +class Battle::Move::StartPerishCountsForAllBattlers # Perish Song alias __clauses__pbFailsAgainstTarget? pbFailsAgainstTarget? def pbFailsAgainstTarget?(user, target, show_message) @@ -261,7 +261,7 @@ end -class PokeBattle_Move_AttackerFaintsIfUserFaints # Destiny Bond +class Battle::Move::AttackerFaintsIfUserFaints # Destiny Bond alias __clauses__pbFailsAgainstTarget? pbFailsAgainstTarget? def pbFailsAgainstTarget?(user, target, show_message) diff --git a/Data/Scripts/011_Battle/006_Other battle types/001_PokeBattle_AnimationPlayer.rb b/Data/Scripts/011_Battle/006_Other battle code/006_BattleAnimationPlayer.rb similarity index 97% rename from Data/Scripts/011_Battle/006_Other battle types/001_PokeBattle_AnimationPlayer.rb rename to Data/Scripts/011_Battle/006_Other battle code/006_BattleAnimationPlayer.rb index b1670c8a0..a620983a5 100644 --- a/Data/Scripts/011_Battle/006_Other battle types/001_PokeBattle_AnimationPlayer.rb +++ b/Data/Scripts/011_Battle/006_Other battle code/006_BattleAnimationPlayer.rb @@ -135,8 +135,8 @@ def pbConvertRPGAnimation(animation) if animation.position==3 # Screen point = transformPoint( -160,80,160,-80, - PokeBattle_SceneConstants::FOCUSUSER_X,PokeBattle_SceneConstants::FOCUSUSER_Y, - PokeBattle_SceneConstants::FOCUSTARGET_X,PokeBattle_SceneConstants::FOCUSTARGET_Y, + Battle::Scene::FOCUSUSER_X,Battle::Scene::FOCUSUSER_Y, + Battle::Scene::FOCUSTARGET_X,Battle::Scene::FOCUSTARGET_Y, data[j,1],data[j,2] ) cel = pbCreateCel(point[0],point[1],data[j,0]) @@ -483,15 +483,11 @@ class PBAnimation < Array pos = @array.length @array[pos] = [] # Move's user - @array[pos][0] = pbCreateCel( - PokeBattle_SceneConstants::FOCUSUSER_X, - PokeBattle_SceneConstants::FOCUSUSER_Y,-1) + @array[pos][0] = pbCreateCel(Battle::Scene::FOCUSUSER_X, Battle::Scene::FOCUSUSER_Y,-1) @array[pos][0][AnimFrame::FOCUS] = 2 @array[pos][0][AnimFrame::LOCKED] = 1 # Move's target - @array[pos][1] = pbCreateCel( - PokeBattle_SceneConstants::FOCUSTARGET_X, - PokeBattle_SceneConstants::FOCUSTARGET_Y,-2) + @array[pos][1] = pbCreateCel(Battle::Scene::FOCUSTARGET_X, Battle::Scene::FOCUSTARGET_Y,-2) @array[pos][1][AnimFrame::FOCUS] = 1 @array[pos][1][AnimFrame::LOCKED] = 1 return @array[pos] @@ -846,11 +842,11 @@ class PBAnimationPlayerX pbSpriteSetAnimFrame(sprite,cel,@usersprite,@targetsprite) case cel[AnimFrame::FOCUS] when 1 # Focused on target - sprite.x = cel[AnimFrame::X]+@targetOrig[0]-PokeBattle_SceneConstants::FOCUSTARGET_X - sprite.y = cel[AnimFrame::Y]+@targetOrig[1]-PokeBattle_SceneConstants::FOCUSTARGET_Y + sprite.x = cel[AnimFrame::X] + @targetOrig[0] - Battle::Scene::FOCUSTARGET_X + sprite.y = cel[AnimFrame::Y] + @targetOrig[1] - Battle::Scene::FOCUSTARGET_Y when 2 # Focused on user - sprite.x = cel[AnimFrame::X]+@userOrig[0]-PokeBattle_SceneConstants::FOCUSUSER_X - sprite.y = cel[AnimFrame::Y]+@userOrig[1]-PokeBattle_SceneConstants::FOCUSUSER_Y + sprite.x = cel[AnimFrame::X] + @userOrig[0] - Battle::Scene::FOCUSUSER_X + sprite.y = cel[AnimFrame::Y] + @userOrig[1] - Battle::Scene::FOCUSUSER_Y when 3 # Focused on user and target next if !@srcLine || !@dstLine point = transformPoint( diff --git a/Data/Scripts/011_Battle/002_BattleHandlers.rb b/Data/Scripts/011_Battle/006_Other battle code/007_BattleHandlers.rb similarity index 98% rename from Data/Scripts/011_Battle/002_BattleHandlers.rb rename to Data/Scripts/011_Battle/006_Other battle code/007_BattleHandlers.rb index bc3724791..fe2fe489e 100644 --- a/Data/Scripts/011_Battle/002_BattleHandlers.rb +++ b/Data/Scripts/011_Battle/006_Other battle code/007_BattleHandlers.rb @@ -567,13 +567,13 @@ def pbBattleMoveImmunityStatAbility(user, target, move, moveType, immuneType, if show_message battle.pbShowAbilitySplash(target) if target.pbCanRaiseStatStage?(stat, target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH target.pbRaiseStatStage(stat, increment, target) else target.pbRaiseStatStageByCause(stat, increment, target, target.abilityName) end else - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("It doesn't affect {1}...", target.pbThis(true))) else battle.pbDisplay(_INTL("{1}'s {2} made {3} ineffective!", @@ -597,13 +597,13 @@ def pbBattleMoveImmunityHealAbility(user, target, move, moveType, immuneType, ba if show_message battle.pbShowAbilitySplash(target) if target.canHeal? && target.pbRecoverHP(target.totalhp / 4) > 0 - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s HP was restored.", target.pbThis)) else battle.pbDisplay(_INTL("{1}'s {2} restored its HP.", target.pbThis, target.abilityName)) end else - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("It doesn't affect {1}...", target.pbThis(true))) else battle.pbDisplay(_INTL("{1}'s {2} made {3} ineffective!", @@ -617,7 +617,7 @@ end def pbBattleGem(user,type,move,mults,moveType) # Pledge moves never consume Gems - return if move.is_a?(PokeBattle_PledgeMove) + return if move.is_a?(Battle::Move::PledgeMove) return if moveType != type user.effects[PBEffects::GemConsumed] = user.item_id if Settings::MECHANICS_GENERATION >= 6 @@ -646,7 +646,7 @@ def pbBattleWeatherAbility(weather,battler,battle,ignorePrimal=false) return if !ignorePrimal && [:HarshSun, :HeavyRain, :StrongWinds].include?(battle.field.weather) return if battle.field.weather==weather battle.pbShowAbilitySplash(battler) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s {2} activated!",battler.pbThis,battler.abilityName)) end fixedDuration = false diff --git a/Data/Scripts/011_Battle/003_BattleHandlers_Abilities.rb b/Data/Scripts/011_Battle/006_Other battle code/008_BattleHandlers_Abilities.rb similarity index 94% rename from Data/Scripts/011_Battle/003_BattleHandlers_Abilities.rb rename to Data/Scripts/011_Battle/006_Other battle code/008_BattleHandlers_Abilities.rb index 1bd7f5ba7..39af304be 100644 --- a/Data/Scripts/011_Battle/003_BattleHandlers_Abilities.rb +++ b/Data/Scripts/011_Battle/006_Other battle code/008_BattleHandlers_Abilities.rb @@ -91,7 +91,7 @@ BattleHandlers::AbilityOnHPDroppedBelowHalf.add(:EMERGENCYEXIT, next false if !battle.pbCanChooseNonActive?(battler.index) # No Pokémon can switch in battle.pbShowAbilitySplash(battler,true) battle.pbHideAbilitySplash(battler) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s {2} activated!",battler.pbThis,battler.abilityName)) end battle.pbDisplay(_INTL("{1} went back to {2}!", @@ -220,7 +220,7 @@ BattleHandlers::AbilityOnStatusInflicted.add(:SYNCHRONIZE, if user.pbCanPoisonSynchronize?(battler) battler.battle.pbShowAbilitySplash(battler) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} poisoned {3}!",battler.pbThis,battler.abilityName,user.pbThis(true)) end user.pbPoison(nil,msg,(battler.statusCount>0)) @@ -230,7 +230,7 @@ BattleHandlers::AbilityOnStatusInflicted.add(:SYNCHRONIZE, if user.pbCanBurnSynchronize?(battler) battler.battle.pbShowAbilitySplash(battler) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} burned {3}!",battler.pbThis,battler.abilityName,user.pbThis(true)) end user.pbBurn(nil,msg) @@ -240,7 +240,7 @@ BattleHandlers::AbilityOnStatusInflicted.add(:SYNCHRONIZE, if user.pbCanParalyzeSynchronize?(battler) battler.battle.pbShowAbilitySplash(battler) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} paralyzed {3}! It may be unable to move!", battler.pbThis,battler.abilityName,user.pbThis(true)) end @@ -259,8 +259,8 @@ BattleHandlers::StatusCureAbility.add(:IMMUNITY, proc { |ability,battler| next if battler.status != :POISON battler.battle.pbShowAbilitySplash(battler) - battler.pbCureStatus(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + battler.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) + if !Battle::Scene::USE_ABILITY_SPLASH battler.battle.pbDisplay(_INTL("{1}'s {2} cured its poisoning!",battler.pbThis,battler.abilityName)) end battler.battle.pbHideAbilitySplash(battler) @@ -271,8 +271,8 @@ BattleHandlers::StatusCureAbility.add(:INSOMNIA, proc { |ability,battler| next if battler.status != :SLEEP battler.battle.pbShowAbilitySplash(battler) - battler.pbCureStatus(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + battler.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) + if !Battle::Scene::USE_ABILITY_SPLASH battler.battle.pbDisplay(_INTL("{1}'s {2} woke it up!",battler.pbThis,battler.abilityName)) end battler.battle.pbHideAbilitySplash(battler) @@ -285,8 +285,8 @@ BattleHandlers::StatusCureAbility.add(:LIMBER, proc { |ability,battler| next if battler.status != :PARALYSIS battler.battle.pbShowAbilitySplash(battler) - battler.pbCureStatus(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + battler.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) + if !Battle::Scene::USE_ABILITY_SPLASH battler.battle.pbDisplay(_INTL("{1}'s {2} cured its paralysis!",battler.pbThis,battler.abilityName)) end battler.battle.pbHideAbilitySplash(battler) @@ -297,8 +297,8 @@ BattleHandlers::StatusCureAbility.add(:MAGMAARMOR, proc { |ability,battler| next if battler.status != :FROZEN battler.battle.pbShowAbilitySplash(battler) - battler.pbCureStatus(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + battler.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) + if !Battle::Scene::USE_ABILITY_SPLASH battler.battle.pbDisplay(_INTL("{1}'s {2} defrosted it!",battler.pbThis,battler.abilityName)) end battler.battle.pbHideAbilitySplash(battler) @@ -312,7 +312,7 @@ BattleHandlers::StatusCureAbility.add(:OBLIVIOUS, battler.battle.pbShowAbilitySplash(battler) if battler.effects[PBEffects::Attract]>=0 battler.pbCureAttract - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battler.battle.pbDisplay(_INTL("{1} got over its infatuation.",battler.pbThis)) else battler.battle.pbDisplay(_INTL("{1}'s {2} cured its infatuation status!", @@ -321,7 +321,7 @@ BattleHandlers::StatusCureAbility.add(:OBLIVIOUS, end if battler.effects[PBEffects::Taunt]>0 && Settings::MECHANICS_GENERATION >= 6 battler.effects[PBEffects::Taunt] = 0 - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battler.battle.pbDisplay(_INTL("{1}'s Taunt wore off!",battler.pbThis)) else battler.battle.pbDisplay(_INTL("{1}'s {2} made its taunt wear off!", @@ -337,7 +337,7 @@ BattleHandlers::StatusCureAbility.add(:OWNTEMPO, next if battler.effects[PBEffects::Confusion]==0 battler.battle.pbShowAbilitySplash(battler) battler.pbCureConfusion - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battler.battle.pbDisplay(_INTL("{1} snapped out of its confusion.",battler.pbThis)) else battler.battle.pbDisplay(_INTL("{1}'s {2} snapped it out of its confusion!", @@ -351,8 +351,8 @@ BattleHandlers::StatusCureAbility.add(:WATERVEIL, proc { |ability,battler| next if battler.status != :BURN battler.battle.pbShowAbilitySplash(battler) - battler.pbCureStatus(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + battler.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) + if !Battle::Scene::USE_ABILITY_SPLASH battler.battle.pbDisplay(_INTL("{1}'s {2} healed its burn!",battler.pbThis,battler.abilityName)) end battler.battle.pbHideAbilitySplash(battler) @@ -370,7 +370,7 @@ BattleHandlers::StatLossImmunityAbility.add(:BIGPECKS, next false if stat!=:DEFENSE if showMessages battle.pbShowAbilitySplash(battler) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s {2} cannot be lowered!",battler.pbThis,GameData::Stat.get(stat).name)) else battle.pbDisplay(_INTL("{1}'s {2} prevents {3} loss!",battler.pbThis, @@ -386,7 +386,7 @@ BattleHandlers::StatLossImmunityAbility.add(:CLEARBODY, proc { |ability,battler,stat,battle,showMessages| if showMessages battle.pbShowAbilitySplash(battler) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s stats cannot be lowered!",battler.pbThis)) else battle.pbDisplay(_INTL("{1}'s {2} prevents stat loss!",battler.pbThis,battler.abilityName)) @@ -404,7 +404,7 @@ BattleHandlers::StatLossImmunityAbility.add(:FLOWERVEIL, next false if !battler.pbHasType?(:GRASS) if showMessages battle.pbShowAbilitySplash(battler) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s stats cannot be lowered!",battler.pbThis)) else battle.pbDisplay(_INTL("{1}'s {2} prevents stat loss!",battler.pbThis,battler.abilityName)) @@ -420,7 +420,7 @@ BattleHandlers::StatLossImmunityAbility.add(:HYPERCUTTER, next false if stat!=:ATTACK if showMessages battle.pbShowAbilitySplash(battler) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s {2} cannot be lowered!",battler.pbThis,GameData::Stat.get(stat).name)) else battle.pbDisplay(_INTL("{1}'s {2} prevents {3} loss!",battler.pbThis, @@ -437,7 +437,7 @@ BattleHandlers::StatLossImmunityAbility.add(:KEENEYE, next false if stat!=:ACCURACY if showMessages battle.pbShowAbilitySplash(battler) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s {2} cannot be lowered!",battler.pbThis,GameData::Stat.get(stat).name)) else battle.pbDisplay(_INTL("{1}'s {2} prevents {3} loss!",battler.pbThis, @@ -457,7 +457,7 @@ BattleHandlers::StatLossImmunityAbilityNonIgnorable.add(:FULLMETALBODY, proc { |ability,battler,stat,battle,showMessages| if showMessages battle.pbShowAbilitySplash(battler) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s stats cannot be lowered!",battler.pbThis)) else battle.pbDisplay(_INTL("{1}'s {2} prevents stat loss!",battler.pbThis,battler.abilityName)) @@ -477,7 +477,7 @@ BattleHandlers::StatLossImmunityAllyAbility.add(:FLOWERVEIL, next false if !battler.pbHasType?(:GRASS) if showMessages battle.pbShowAbilitySplash(bearer) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s stats cannot be lowered!",battler.pbThis)) else battle.pbDisplay(_INTL("{1}'s {2} prevents {3}'s stat loss!", @@ -605,7 +605,7 @@ BattleHandlers::MoveImmunityTargetAbility.add(:BULLETPROOF, next false if !move.bombMove? if show_message battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("It doesn't affect {1}...", target.pbThis(true))) else battle.pbDisplay(_INTL("{1}'s {2} made {3} ineffective!", @@ -625,14 +625,14 @@ BattleHandlers::MoveImmunityTargetAbility.add(:FLASHFIRE, battle.pbShowAbilitySplash(target) if !target.effects[PBEffects::FlashFire] target.effects[PBEffects::FlashFire] = true - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("The power of {1}'s Fire-type moves rose!", target.pbThis(true))) else battle.pbDisplay(_INTL("The power of {1}'s Fire-type moves rose because of its {2}!", target.pbThis(true), target.abilityName)) end else - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("It doesn't affect {1}...", target.pbThis(true))) else battle.pbDisplay(_INTL("{1}'s {2} made {3} ineffective!", @@ -669,7 +669,7 @@ BattleHandlers::MoveImmunityTargetAbility.add(:SOUNDPROOF, next false if Settings::MECHANICS_GENERATION >= 8 && user.index == target.index if show_message battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("It doesn't affect {1}...", target.pbThis(true))) else battle.pbDisplay(_INTL("{1}'s {2} blocks {3}!", target.pbThis, target.abilityName, move.name)) @@ -692,7 +692,7 @@ BattleHandlers::MoveImmunityTargetAbility.add(:TELEPATHY, next false if user.index==target.index || target.opposes?(user) if show_message battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} avoids attacks by its ally Pokémon!", target.pbThis(true))) else battle.pbDisplay(_INTL("{1} avoids attacks by its ally Pokémon with {2}!", @@ -724,7 +724,7 @@ BattleHandlers::MoveImmunityTargetAbility.add(:WONDERGUARD, next false if !type || Effectiveness.super_effective?(target.damageState.typeMod) if show_message battle.pbShowAbilitySplash(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("It doesn't affect {1}...", target.pbThis(true))) else battle.pbDisplay(_INTL("{1} avoided damage with {2}!", target.pbThis, target.abilityName)) @@ -1373,7 +1373,7 @@ BattleHandlers::TargetAbilityOnHit.add(:AFTERMATH, dampBattler = battle.pbCheckGlobalAbility(:DAMP) if dampBattler battle.pbShowAbilitySplash(dampBattler) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} cannot use {2}!",target.pbThis,target.abilityName)) else battle.pbDisplay(_INTL("{1} cannot use {2} because of {3}'s {4}!", @@ -1384,8 +1384,8 @@ BattleHandlers::TargetAbilityOnHit.add(:AFTERMATH, next end end - if user.takesIndirectDamage?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) && - user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.takesIndirectDamage?(Battle::Scene::USE_ABILITY_SPLASH) && + user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) battle.scene.pbDamageAnimation(user) user.pbReduceHP(user.totalhp/4,false) battle.pbDisplay(_INTL("{1} was caught in the aftermath!",user.pbThis)) @@ -1402,7 +1402,7 @@ BattleHandlers::TargetAbilityOnHit.add(:ANGERPOINT, target.stages[:ATTACK] = 6 target.statsRaisedThisRound = true battle.pbCommonAnimation("StatUp",target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} maxed its {2}!",target.pbThis,GameData::Stat.get(:ATTACK).name)) else battle.pbDisplay(_INTL("{1}'s {2} maxed its {3}!", @@ -1436,10 +1436,10 @@ BattleHandlers::TargetAbilityOnHit.add(:CURSEDBODY, next if !regularMove || (regularMove.pp==0 && regularMove.total_pp>0) next if battle.pbRandom(100)>=30 battle.pbShowAbilitySplash(target) - if !move.pbMoveFailedAromaVeil?(target,user,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if !move.pbMoveFailedAromaVeil?(target,user,Battle::Scene::USE_ABILITY_SPLASH) user.effects[PBEffects::Disable] = 3 user.effects[PBEffects::DisableMove] = regularMove.id - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s {2} was disabled!",user.pbThis,regularMove.name)) else battle.pbDisplay(_INTL("{1}'s {2} was disabled by {3}'s {4}!", @@ -1458,10 +1458,10 @@ BattleHandlers::TargetAbilityOnHit.add(:CUTECHARM, next if !move.pbContactMove?(user) next if battle.pbRandom(100)>=30 battle.pbShowAbilitySplash(target) - if user.pbCanAttract?(target,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) && - user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.pbCanAttract?(target,Battle::Scene::USE_ABILITY_SPLASH) && + user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} made {3} fall in love!",target.pbThis, target.abilityName,user.pbThis(true)) end @@ -1483,31 +1483,31 @@ BattleHandlers::TargetAbilityOnHit.add(:EFFECTSPORE, next if r==1 && user.poisoned? next if r==2 && user.paralyzed? battle.pbShowAbilitySplash(target) - if user.affectedByPowder?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) && - user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.affectedByPowder?(Battle::Scene::USE_ABILITY_SPLASH) && + user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) case r when 0 - if user.pbCanSleep?(target,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.pbCanSleep?(target,Battle::Scene::USE_ABILITY_SPLASH) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} made {3} fall asleep!",target.pbThis, target.abilityName,user.pbThis(true)) end user.pbSleep(msg) end when 1 - if user.pbCanPoison?(target,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.pbCanPoison?(target,Battle::Scene::USE_ABILITY_SPLASH) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} poisoned {3}!",target.pbThis, target.abilityName,user.pbThis(true)) end user.pbPoison(target,msg) end when 2 - if user.pbCanParalyze?(target,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.pbCanParalyze?(target,Battle::Scene::USE_ABILITY_SPLASH) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} paralyzed {3}! It may be unable to move!", target.pbThis,target.abilityName,user.pbThis(true)) end @@ -1524,10 +1524,10 @@ BattleHandlers::TargetAbilityOnHit.add(:FLAMEBODY, next if !move.pbContactMove?(user) next if user.burned? || battle.pbRandom(100)>=30 battle.pbShowAbilitySplash(target) - if user.pbCanBurn?(target,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) && - user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.pbCanBurn?(target,Battle::Scene::USE_ABILITY_SPLASH) && + user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} burned {3}!",target.pbThis,target.abilityName,user.pbThis(true)) end user.pbBurn(target,msg) @@ -1560,10 +1560,10 @@ BattleHandlers::TargetAbilityOnHit.add(:INNARDSOUT, proc { |ability,user,target,move,battle| next if !target.fainted? || user.dummy battle.pbShowAbilitySplash(target) - if user.takesIndirectDamage?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.takesIndirectDamage?(Battle::Scene::USE_ABILITY_SPLASH) battle.scene.pbDamageAnimation(user) user.pbReduceHP(target.damageState.hpLost,false) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} is hurt!",user.pbThis)) else battle.pbDisplay(_INTL("{1} is hurt by {2}'s {3}!",user.pbThis, @@ -1578,11 +1578,11 @@ BattleHandlers::TargetAbilityOnHit.add(:IRONBARBS, proc { |ability,user,target,move,battle| next if !move.pbContactMove?(user) battle.pbShowAbilitySplash(target) - if user.takesIndirectDamage?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) && - user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.takesIndirectDamage?(Battle::Scene::USE_ABILITY_SPLASH) && + user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) battle.scene.pbDamageAnimation(user) user.pbReduceHP(user.totalhp/8,false) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} is hurt!",user.pbThis)) else battle.pbDisplay(_INTL("{1} is hurt by {2}'s {3}!",user.pbThis, @@ -1609,12 +1609,12 @@ BattleHandlers::TargetAbilityOnHit.add(:MUMMY, next if user.unstoppableAbility? || user.ability == ability oldAbil = nil battle.pbShowAbilitySplash(target) if user.opposes?(target) - if user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) oldAbil = user.ability battle.pbShowAbilitySplash(user,true,false) if user.opposes?(target) user.ability = ability battle.pbReplaceAbilitySplash(user) if user.opposes?(target) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s Ability became {2}!",user.pbThis,user.abilityName)) else battle.pbDisplay(_INTL("{1}'s Ability became {2} because of {3}!", @@ -1634,12 +1634,12 @@ BattleHandlers::TargetAbilityOnHit.add(:PERISHBODY, next if user.fainted? next if user.effects[PBEffects::PerishSong] > 0 || target.effects[PBEffects::PerishSong] > 0 battle.pbShowAbilitySplash(target) - if user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) user.effects[PBEffects::PerishSong] = 4 user.effects[PBEffects::PerishSongUser] = target.index target.effects[PBEffects::PerishSong] = 4 target.effects[PBEffects::PerishSongUser] = target.index - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("Both Pokémon will faint in three turns!")) else battle.pbDisplay(_INTL("Both Pokémon will faint in three turns because of {1}'s {2}!", @@ -1655,10 +1655,10 @@ BattleHandlers::TargetAbilityOnHit.add(:POISONPOINT, next if !move.pbContactMove?(user) next if user.poisoned? || battle.pbRandom(100)>=30 battle.pbShowAbilitySplash(target) - if user.pbCanPoison?(target,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) && - user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.pbCanPoison?(target,Battle::Scene::USE_ABILITY_SPLASH) && + user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} poisoned {3}!",target.pbThis,target.abilityName,user.pbThis(true)) end user.pbPoison(target,msg) @@ -1691,10 +1691,10 @@ BattleHandlers::TargetAbilityOnHit.add(:STATIC, next if !move.pbContactMove?(user) next if user.paralyzed? || battle.pbRandom(100)>=30 battle.pbShowAbilitySplash(target) - if user.pbCanParalyze?(target,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) && - user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.pbCanParalyze?(target,Battle::Scene::USE_ABILITY_SPLASH) && + user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} paralyzed {3}! It may be unable to move!", target.pbThis,target.abilityName,user.pbThis(true)) end @@ -1711,7 +1711,7 @@ BattleHandlers::TargetAbilityOnHit.add(:WANDERINGSPIRIT, oldUserAbil = nil oldTargetAbil = nil battle.pbShowAbilitySplash(target) if user.opposes?(target) - if user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + if user.affectedByContactEffect?(Battle::Scene::USE_ABILITY_SPLASH) battle.pbShowAbilitySplash(user, true, false) if user.opposes?(target) oldUserAbil = user.ability oldTargetAbil = target.ability @@ -1721,7 +1721,7 @@ BattleHandlers::TargetAbilityOnHit.add(:WANDERINGSPIRIT, battle.pbReplaceAbilitySplash(user) battle.pbReplaceAbilitySplash(target) end - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} swapped Abilities with {2}!", target.pbThis, user.pbThis(true))) else battle.pbDisplay(_INTL("{1} swapped its {2} Ability with {3}'s {4} Ability!", @@ -1771,13 +1771,13 @@ BattleHandlers::UserAbilityOnHit.add(:POISONTOUCH, battle.pbShowAbilitySplash(user) if target.hasActiveAbility?(:SHIELDDUST) && !battle.moldBreaker battle.pbShowAbilitySplash(target) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} is unaffected!",target.pbThis)) end battle.pbHideAbilitySplash(target) - elsif target.pbCanPoison?(user,PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + elsif target.pbCanPoison?(user,Battle::Scene::USE_ABILITY_SPLASH) msg = nil - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH msg = _INTL("{1}'s {2} poisoned {3}!",user.pbThis,user.abilityName,target.pbThis(true)) end target.pbPoison(user,msg) @@ -1850,7 +1850,7 @@ BattleHandlers::UserAbilityEndOfMove.add(:MAGICIAN, battle.pbShowAbilitySplash(user) if b.hasActiveAbility?(:STICKYHOLD) battle.pbShowAbilitySplash(b) if user.opposes?(b) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s item cannot be stolen!",b.pbThis)) end battle.pbHideAbilitySplash(b) if user.opposes?(b) @@ -1863,7 +1863,7 @@ BattleHandlers::UserAbilityEndOfMove.add(:MAGICIAN, user.setInitialItem(user.item) b.setInitialItem(nil) end - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} stole {2}'s {3}!",user.pbThis, b.pbThis(true),user.itemName)) else @@ -1928,7 +1928,7 @@ BattleHandlers::TargetAbilityAfterMoveUse.add(:PICKPOCKET, battle.pbShowAbilitySplash(target) if user.hasActiveAbility?(:STICKYHOLD) battle.pbShowAbilitySplash(user) if target.opposes?(user) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s item cannot be stolen!",user.pbThis)) end battle.pbHideAbilitySplash(user) if target.opposes?(user) @@ -1967,7 +1967,7 @@ BattleHandlers::EORWeatherAbility.add(:DRYSKIN, next if !battler.canHeal? battle.pbShowAbilitySplash(battler) battler.pbRecoverHP(battler.totalhp/8) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s HP was restored.",battler.pbThis)) else battle.pbDisplay(_INTL("{1}'s {2} restored its HP.",battler.pbThis,battler.abilityName)) @@ -1983,7 +1983,7 @@ BattleHandlers::EORWeatherAbility.add(:ICEBODY, next if !battler.canHeal? battle.pbShowAbilitySplash(battler) battler.pbRecoverHP(battler.totalhp/16) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s HP was restored.",battler.pbThis)) else battle.pbDisplay(_INTL("{1}'s {2} restored its HP.",battler.pbThis,battler.abilityName)) @@ -1997,7 +1997,7 @@ BattleHandlers::EORWeatherAbility.add(:ICEFACE, next if weather != :Hail next if !battler.canRestoreIceFace || battler.form != 1 battle.pbShowAbilitySplash(battler) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s {2} activated!", battler.pbThis, battler.abilityName)) end battler.pbChangeForm(0, _INTL("{1} transformed!", battler.pbThis)) @@ -2011,7 +2011,7 @@ BattleHandlers::EORWeatherAbility.add(:RAINDISH, next if !battler.canHeal? battle.pbShowAbilitySplash(battler) battler.pbRecoverHP(battler.totalhp/16) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s HP was restored.",battler.pbThis)) else battle.pbDisplay(_INTL("{1}'s {2} restored its HP.",battler.pbThis,battler.abilityName)) @@ -2043,8 +2043,8 @@ BattleHandlers::EORHealingAbility.add(:HEALER, next if b.status == :NONE battle.pbShowAbilitySplash(battler) oldStatus = b.status - b.pbCureStatus(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + b.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) + if !Battle::Scene::USE_ABILITY_SPLASH case oldStatus when :SLEEP battle.pbDisplay(_INTL("{1}'s {2} woke its partner up!",battler.pbThis,battler.abilityName)) @@ -2069,8 +2069,8 @@ BattleHandlers::EORHealingAbility.add(:HYDRATION, next if ![:Rain, :HeavyRain].include?(battler.effectiveWeather) battle.pbShowAbilitySplash(battler) oldStatus = battler.status - battler.pbCureStatus(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + battler.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) + if !Battle::Scene::USE_ABILITY_SPLASH case oldStatus when :SLEEP battle.pbDisplay(_INTL("{1}'s {2} woke it up!",battler.pbThis,battler.abilityName)) @@ -2094,8 +2094,8 @@ BattleHandlers::EORHealingAbility.add(:SHEDSKIN, next unless battle.pbRandom(100)<30 battle.pbShowAbilitySplash(battler) oldStatus = battler.status - battler.pbCureStatus(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + battler.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) + if !Battle::Scene::USE_ABILITY_SPLASH case oldStatus when :SLEEP battle.pbDisplay(_INTL("{1}'s {2} woke it up!",battler.pbThis,battler.abilityName)) @@ -2122,9 +2122,9 @@ BattleHandlers::EOREffectAbility.add(:BADDREAMS, battle.allOtherSideBattlers(battler.index).each do |b| next if !b.near?(battler) || !b.asleep? battle.pbShowAbilitySplash(battler) - next if !b.takesIndirectDamage?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) + next if !b.takesIndirectDamage?(Battle::Scene::USE_ABILITY_SPLASH) b.pbTakeEffectDamage(b.totalhp / 8) { |hp_lost| - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} is tormented!", b.pbThis)) else battle.pbDisplay(_INTL("{1} is tormented by {2}'s {3}!", @@ -2278,7 +2278,7 @@ BattleHandlers::TrappingTargetAbility.add(:SHADOWTAG, BattleHandlers::AbilityOnSwitchIn.add(:AIRLOCK, proc { |ability,battler,battle| battle.pbShowAbilitySplash(battler) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} has {2}!",battler.pbThis,battler.abilityName)) end battle.pbDisplay(_INTL("The effects of the weather disappeared.")) @@ -2362,7 +2362,7 @@ BattleHandlers::AbilityOnSwitchIn.add(:CURIOUSMEDICINE, battler.allAllies.each do |b| next if !b.hasAlteredStatStages? b.pbResetStatStages - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s stat changes were removed!", b.pbThis)) else battle.pbDisplay(_INTL("{1}'s stat changes were removed by {2}'s {3}!", @@ -2480,7 +2480,7 @@ BattleHandlers::AbilityOnSwitchIn.add(:FOREWARN, if forewarnMoves.length>0 battle.pbShowAbilitySplash(battler) forewarnMoveName = forewarnMoves[battle.pbRandom(forewarnMoves.length)] - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} was alerted to {2}!", battler.pbThis, forewarnMoveName)) else @@ -2527,7 +2527,7 @@ BattleHandlers::AbilityOnSwitchIn.add(:ICEFACE, next if !battler.isSpecies?(:EISCUE) || battler.form != 1 next if battler.effectiveWeather != :Hail battle.pbShowAbilitySplash(battler) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if !Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s {2} activated!", battler.pbThis, battler.abilityName)) end battler.pbChangeForm(0, _INTL("{1} transformed!", battler.pbThis)) @@ -2635,8 +2635,8 @@ BattleHandlers::AbilityOnSwitchIn.add(:PASTELVEIL, battle.pbShowAbilitySplash(battler) battler.allAllies.each do |b| next if b.status != :POISON - b.pbCureStatus(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) - if !PokeBattle_SceneConstants::USE_ABILITY_SPLASH + b.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) + if !Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1}'s {2} cured {3}'s poisoning!", battler.pbThis, battler.abilityName, b.pbThis(true))) end @@ -2715,7 +2715,7 @@ BattleHandlers::AbilityOnSwitchIn.add(:SLOWSTART, proc { |ability,battler,battle| battle.pbShowAbilitySplash(battler) battler.effects[PBEffects::SlowStart] = 5 - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} can't get it going!",battler.pbThis)) else battle.pbDisplay(_INTL("{1} can't get it going because of its {2}!", diff --git a/Data/Scripts/011_Battle/004_BattleHandlers_Items.rb b/Data/Scripts/011_Battle/006_Other battle code/009_BattleHandlers_Items.rb similarity index 99% rename from Data/Scripts/011_Battle/004_BattleHandlers_Items.rb rename to Data/Scripts/011_Battle/006_Other battle code/009_BattleHandlers_Items.rb index cc193887e..31c29f9d4 100644 --- a/Data/Scripts/011_Battle/004_BattleHandlers_Items.rb +++ b/Data/Scripts/011_Battle/006_Other battle code/009_BattleHandlers_Items.rb @@ -661,7 +661,7 @@ BattleHandlers::DamageCalcUserItem.add(:ICEGEM, BattleHandlers::DamageCalcUserItem.add(:LIFEORB, proc { |item,user,target,move,mults,baseDmg,type| - if !move.is_a?(PokeBattle_Confusion) + if !move.is_a?(Battle::Move::Confusion) mults[:final_damage_multiplier] *= 1.3 end } @@ -1338,7 +1338,7 @@ BattleHandlers::TargetItemAfterMoveUse.add(:REDCARD, battler.pbConsumeItem if user.hasActiveAbility?(:SUCTIONCUPS) && !battle.moldBreaker battle.pbShowAbilitySplash(user) - if PokeBattle_SceneConstants::USE_ABILITY_SPLASH + if Battle::Scene::USE_ABILITY_SPLASH battle.pbDisplay(_INTL("{1} anchors itself!", user.pbThis)) else battle.pbDisplay(_INTL("{1} anchors itself with {2}!", user.pbThis, user.abilityName)) diff --git a/Data/Scripts/011_Battle/005_BallHandlers_PokeBallEffects.rb b/Data/Scripts/011_Battle/006_Other battle code/010_BallHandlers_PokeBallEffects.rb similarity index 100% rename from Data/Scripts/011_Battle/005_BallHandlers_PokeBallEffects.rb rename to Data/Scripts/011_Battle/006_Other battle code/010_BallHandlers_PokeBallEffects.rb diff --git a/Data/Scripts/011_Battle/006_PokeBattle_ActiveField.rb b/Data/Scripts/011_Battle/006_PokeBattle_ActiveField.rb deleted file mode 100644 index e1121d71a..000000000 --- a/Data/Scripts/011_Battle/006_PokeBattle_ActiveField.rb +++ /dev/null @@ -1,90 +0,0 @@ -begin - class PokeBattle_ActiveField - attr_accessor :effects - attr_accessor :defaultWeather - attr_accessor :weather - attr_accessor :weatherDuration - attr_accessor :defaultTerrain - attr_accessor :terrain - attr_accessor :terrainDuration - - def initialize - @effects = [] - @effects[PBEffects::AmuletCoin] = false - @effects[PBEffects::FairyLock] = 0 - @effects[PBEffects::FusionBolt] = false - @effects[PBEffects::FusionFlare] = false - @effects[PBEffects::Gravity] = 0 - @effects[PBEffects::HappyHour] = false - @effects[PBEffects::IonDeluge] = false - @effects[PBEffects::MagicRoom] = 0 - @effects[PBEffects::MudSportField] = 0 - @effects[PBEffects::PayDay] = 0 - @effects[PBEffects::TrickRoom] = 0 - @effects[PBEffects::WaterSportField] = 0 - @effects[PBEffects::WonderRoom] = 0 - @defaultWeather = :None - @weather = :None - @weatherDuration = 0 - @defaultTerrain = :None - @terrain = :None - @terrainDuration = 0 - end - end - - - - class PokeBattle_ActiveSide - attr_accessor :effects - - def initialize - @effects = [] - @effects[PBEffects::AuroraVeil] = 0 - @effects[PBEffects::CraftyShield] = false - @effects[PBEffects::EchoedVoiceCounter] = 0 - @effects[PBEffects::EchoedVoiceUsed] = false - @effects[PBEffects::LastRoundFainted] = -1 - @effects[PBEffects::LightScreen] = 0 - @effects[PBEffects::LuckyChant] = 0 - @effects[PBEffects::MatBlock] = false - @effects[PBEffects::Mist] = 0 - @effects[PBEffects::QuickGuard] = false - @effects[PBEffects::Rainbow] = 0 - @effects[PBEffects::Reflect] = 0 - @effects[PBEffects::Round] = false - @effects[PBEffects::Safeguard] = 0 - @effects[PBEffects::SeaOfFire] = 0 - @effects[PBEffects::Spikes] = 0 - @effects[PBEffects::StealthRock] = false - @effects[PBEffects::StickyWeb] = false - @effects[PBEffects::Swamp] = 0 - @effects[PBEffects::Tailwind] = 0 - @effects[PBEffects::ToxicSpikes] = 0 - @effects[PBEffects::WideGuard] = false - end - end - - - - class PokeBattle_ActivePosition - attr_accessor :effects - - def initialize - @effects = [] - @effects[PBEffects::FutureSightCounter] = 0 - @effects[PBEffects::FutureSightMove] = nil - @effects[PBEffects::FutureSightUserIndex] = -1 - @effects[PBEffects::FutureSightUserPartyIndex] = -1 - @effects[PBEffects::HealingWish] = false - @effects[PBEffects::LunarDance] = false - @effects[PBEffects::Wish] = 0 - @effects[PBEffects::WishAmount] = 0 - @effects[PBEffects::WishMaker] = -1 - end - end - -rescue Exception - if $!.is_a?(SystemExit) || "#{$!.class}"=="Reset" - raise $! - end -end diff --git a/Data/Scripts/011_Battle/006_Other battle types/002_PokeBattle_SafariZone.rb b/Data/Scripts/011_Battle/007_Other battle types/001_SafariBattle.rb similarity index 94% rename from Data/Scripts/011_Battle/006_Other battle types/002_PokeBattle_SafariZone.rb rename to Data/Scripts/011_Battle/007_Other battle types/001_SafariBattle.rb index f889f3fcb..8c3b7eca6 100644 --- a/Data/Scripts/011_Battle/006_Other battle types/002_PokeBattle_SafariZone.rb +++ b/Data/Scripts/011_Battle/007_Other battle types/001_SafariBattle.rb @@ -1,7 +1,7 @@ #=============================================================================== # Simple battler class for the wild Pokémon in a Safari Zone battle #=============================================================================== -class PokeBattle_FakeBattler +class Battle::FakeBattler attr_reader :battle attr_reader :index attr_reader :pokemon @@ -47,7 +47,7 @@ class PokeBattle_FakeBattler end def opposes?(i) - i = i.index if i.is_a?(PokeBattle_FakeBattler) + i = i.index if i.is_a?(FakeBattler) return (@index&1)!=(i&1) end @@ -59,7 +59,7 @@ end #=============================================================================== # Data box for safari battles #=============================================================================== -class SafariDataBox < SpriteWrapper +class Battle::Scene::SafariDataBox < SpriteWrapper attr_accessor :selected def initialize(battle,viewport=nil) @@ -98,8 +98,8 @@ end #=============================================================================== # Shows the player throwing bait at a wild Pokémon in a Safari battle. #=============================================================================== -class ThrowBaitAnimation < PokeBattle_Animation - include PokeBattle_BallAnimationMixin +class Battle::Scene::Animation::ThrowBait < Battle::Scene::Animation + include Battle::Scene::Animation::BallAnimationMixin def initialize(sprites,viewport,battler) @battler = battler @@ -111,7 +111,7 @@ class ThrowBaitAnimation < PokeBattle_Animation # Calculate start and end coordinates for battler sprite movement batSprite = @sprites["pokemon_#{@battler.index}"] traSprite = @sprites["player_1"] - ballPos = PokeBattle_SceneConstants.pbBattlerPosition(@battler.index,batSprite.sideSize) + ballPos = Battle::Scene.pbBattlerPosition(@battler.index,batSprite.sideSize) ballStartX = traSprite.x ballStartY = traSprite.y-traSprite.bitmap.height/2 ballMidX = 0 # Unused in arc calculation @@ -164,8 +164,8 @@ end #=============================================================================== # Shows the player throwing a rock at a wild Pokémon in a Safari battle. #=============================================================================== -class ThrowRockAnimation < PokeBattle_Animation - include PokeBattle_BallAnimationMixin +class Battle::Scene::Animation::ThrowRock < Battle::Scene::Animation + include Battle::Scene::Animation::BallAnimationMixin def initialize(sprites,viewport,battler) @battler = battler @@ -227,11 +227,11 @@ end #=============================================================================== # Safari Zone battle scene (the visuals of the battle) #=============================================================================== -class PokeBattle_Scene +class Battle::Scene def pbSafariStart @briefMessage = false @sprites["dataBox_0"] = SafariDataBox.new(@battle,@viewport) - dataBoxAnim = DataBoxAppearAnimation.new(@sprites,@viewport,0) + dataBoxAnim = Animation::DataBoxAppear.new(@sprites,@viewport,0) loop do dataBoxAnim.update pbUpdate @@ -253,7 +253,7 @@ class PokeBattle_Scene def pbThrowBait @briefMessage = false - baitAnim = ThrowBaitAnimation.new(@sprites,@viewport,@battle.battlers[1]) + baitAnim = Animation::ThrowBait.new(@sprites,@viewport,@battle.battlers[1]) loop do baitAnim.update pbUpdate @@ -264,7 +264,7 @@ class PokeBattle_Scene def pbThrowRock @briefMessage = false - rockAnim = ThrowRockAnimation.new(@sprites,@viewport,@battle.battlers[1]) + rockAnim = Animation::ThrowRock.new(@sprites,@viewport,@battle.battlers[1]) loop do rockAnim.update pbUpdate @@ -276,7 +276,7 @@ class PokeBattle_Scene alias __safari__pbThrowSuccess pbThrowSuccess def pbThrowSuccess __safari__pbThrowSuccess - pbWildBattleSuccess if @battle.is_a?(PokeBattle_SafariZone) + pbWildBattleSuccess if @battle.is_a?(SafariBattle) end end @@ -285,7 +285,7 @@ end #=============================================================================== # Safari Zone battle class #=============================================================================== -class PokeBattle_SafariZone +class SafariBattle attr_reader :battlers # Array of fake battler objects attr_accessor :sideSizes # Array of number of battlers per side attr_accessor :backdrop # Filename fragment used for background graphics @@ -304,7 +304,7 @@ class PokeBattle_SafariZone attr_accessor :rules attr_accessor :ballCount - include PokeBattle_BattleCommon + include Battle::Common def pbRandom(x); return rand(x); end @@ -313,7 +313,7 @@ class PokeBattle_SafariZone #============================================================================= def initialize(scene,player,party2) @scene = scene - @peer = PokeBattle_BattlePeer.create() + @peer = Battle::Peer.new @backdrop = "" @backdropBase = nil @time = 0 @@ -325,8 +325,8 @@ class PokeBattle_SafariZone @party2 = party2 @sideSizes = [1,1] @battlers = [ - PokeBattle_FakeBattler.new(self,0), - PokeBattle_FakeBattler.new(self,1) + Battle::FakeBattler.new(self,0), + Battle::FakeBattler.new(self,1) ] @rules = {} @ballCount = 0 @@ -357,7 +357,7 @@ class PokeBattle_SafariZone def pbSetSeen(battler) return if !battler || !@internalBattle - if battler.is_a?(PokeBattle_Battler) + if battler.is_a?(Battle::Battler) pbPlayer.pokedex.register(battler.displaySpecies, battler.displayGender, battler.displayForm, battler.shiny?) else @@ -367,7 +367,7 @@ class PokeBattle_SafariZone def pbSetCaught(battler) return if !battler || !@internalBattle - if battler.is_a?(PokeBattle_Battler) + if battler.is_a?(Battle::Battler) pbPlayer.pokedex.register_caught(battler.displaySpecies) else pbPlayer.pokedex.register_caught(battler.species) diff --git a/Data/Scripts/011_Battle/006_Other battle types/003_PokeBattle_BugContest.rb b/Data/Scripts/011_Battle/007_Other battle types/002_BugContestBattle.rb similarity index 97% rename from Data/Scripts/011_Battle/006_Other battle types/003_PokeBattle_BugContest.rb rename to Data/Scripts/011_Battle/007_Other battle types/002_BugContestBattle.rb index 2da9c1d06..edf70a59a 100644 --- a/Data/Scripts/011_Battle/006_Other battle types/003_PokeBattle_BugContest.rb +++ b/Data/Scripts/011_Battle/007_Other battle types/002_BugContestBattle.rb @@ -1,7 +1,7 @@ #=============================================================================== # Bug Catching Contest battle scene (the visuals of the battle) #=============================================================================== -class PokeBattle_Scene +class Battle::Scene alias _bugContest_pbInitSprites pbInitSprites def pbInitSprites @@ -31,7 +31,7 @@ end #=============================================================================== # Bug Catching Contest battle class #=============================================================================== -class PokeBattle_BugContestBattle < PokeBattle_Battle +class BugContestBattle < Battle attr_accessor :ballCount def initialize(*arg) diff --git a/Data/Scripts/011_Battle/006_Other battle types/004_PokeBattle_BattlePalace.rb b/Data/Scripts/011_Battle/007_Other battle types/003_BattlePalaceBattle.rb similarity index 98% rename from Data/Scripts/011_Battle/006_Other battle types/004_PokeBattle_BattlePalace.rb rename to Data/Scripts/011_Battle/007_Other battle types/003_BattlePalaceBattle.rb index 40ffd0de5..ffb5cec3d 100644 --- a/Data/Scripts/011_Battle/006_Other battle types/004_PokeBattle_BattlePalace.rb +++ b/Data/Scripts/011_Battle/007_Other battle types/003_BattlePalaceBattle.rb @@ -1,7 +1,7 @@ #=============================================================================== # #=============================================================================== -class PokeBattle_BattlePalace < PokeBattle_Battle +class BattlePalaceBattle < Battle # Percentage chances of choosing attack, defense, support moves @@BattlePalaceUsualTable = { :HARDY => [61, 7, 32], @@ -103,7 +103,7 @@ class PokeBattle_BattlePalace < PokeBattle_Battle else @choices[idxBattler][0] = :UseMove # "Use move" @choices[idxBattler][1] = idxMove # Index of move to be used - @choices[idxBattler][2] = this_battler.moves[idxMove] # PokeBattle_Move object + @choices[idxBattler][2] = this_battler.moves[idxMove] # Battle::Move object @choices[idxBattler][3] = -1 # No target chosen yet end end @@ -175,7 +175,7 @@ end #=============================================================================== # #=============================================================================== -class PokeBattle_AI +class Battle::AI attr_accessor :battlePalace alias _battlePalace_initialize initialize diff --git a/Data/Scripts/011_Battle/006_Other battle types/005_PokeBattle_BattleArena.rb b/Data/Scripts/011_Battle/007_Other battle types/004_BattleArenaBattle.rb similarity index 98% rename from Data/Scripts/011_Battle/006_Other battle types/005_PokeBattle_BattleArena.rb rename to Data/Scripts/011_Battle/007_Other battle types/004_BattleArenaBattle.rb index a1a19dcb3..63c110fc6 100644 --- a/Data/Scripts/011_Battle/006_Other battle types/005_PokeBattle_BattleArena.rb +++ b/Data/Scripts/011_Battle/007_Other battle types/004_BattleArenaBattle.rb @@ -1,7 +1,7 @@ #=============================================================================== # Success state #=============================================================================== -class PokeBattle_SuccessState +class Battle::SuccessState attr_accessor :typeMod attr_accessor :useState # 0 - not used, 1 - failed, 2 - succeeded attr_accessor :protected @@ -39,7 +39,7 @@ end #=============================================================================== # #=============================================================================== -class PokeBattle_BattleArena < PokeBattle_Battle +class BattleArenaBattle < Battle def initialize(*arg) super @battlersChanged = true @@ -209,7 +209,7 @@ end #=============================================================================== # #=============================================================================== -class PokeBattle_AI +class Battle::AI attr_accessor :battleArena alias _battleArena_pbEnemyShouldWithdraw? pbEnemyShouldWithdraw? @@ -225,7 +225,7 @@ end #=============================================================================== # #=============================================================================== -class PokeBattle_Scene +class Battle::Scene def pbBattleArenaUpdate pbGraphicsUpdate end diff --git a/Data/Scripts/011_Battle/006_Other battle types/006_PokeBattle_BattleRecord.rb b/Data/Scripts/011_Battle/007_Other battle types/005_RecordedBattle.rb similarity index 89% rename from Data/Scripts/011_Battle/006_Other battle types/006_PokeBattle_BattleRecord.rb rename to Data/Scripts/011_Battle/007_Other battle types/005_RecordedBattle.rb index 3fba43440..4b6170aea 100644 --- a/Data/Scripts/011_Battle/006_Other battle types/006_PokeBattle_BattleRecord.rb +++ b/Data/Scripts/011_Battle/007_Other battle types/005_RecordedBattle.rb @@ -1,7 +1,7 @@ #=============================================================================== # #=============================================================================== -module PokeBattle_RecordedBattleModule +module RecordedBattleModule attr_reader :randomnums attr_reader :rounds @@ -135,45 +135,10 @@ module PokeBattle_RecordedBattleModule end end - - #=============================================================================== # #=============================================================================== -module BattlePlayerHelper - def self.pbGetOpponent(battle) - return self.pbCreateTrainerInfo(battle[1]["opponent"]) - end - - def self.pbGetBattleBGM(battle) - return self.pbGetTrainerBattleBGM(self.pbGetOpponent(battle)) - end - - def self.pbCreateTrainerInfo(trainer) - return nil if !trainer - ret = [] - trainer.each do |tr| - if tr.length == 4 # Player - t = Player.new(tr[1], tr[0]) - t.id = tr[2] - t.badges = tr[3] - ret.push(t) - else # NPCTrainer - t = NPCTrainer.new(tr[1], tr[0]) - t.id = tr[2] - ret.push(t) - end - end - return ret - end -end - - - -#=============================================================================== -# -#=============================================================================== -module PokeBattle_BattlePlayerModule +module RecordedBattlePlaybackModule module Commands Fight = 0 Bag = 1 @@ -193,8 +158,8 @@ module PokeBattle_BattlePlayerModule super(scene, Marshal.restore(@properties["party1"]), Marshal.restore(@properties["party2"]), - BattlePlayerHelper.pbCreateTrainerInfo(@properties["player"]), - BattlePlayerHelper.pbCreateTrainerInfo(@properties["opponent"]) + RecordedBattle::PlaybackHelper.pbCreateTrainerInfo(@properties["player"]), + RecordedBattle::PlaybackHelper.pbCreateTrainerInfo(@properties["opponent"]) ) end @@ -261,47 +226,66 @@ module PokeBattle_BattlePlayerModule end end - - #=============================================================================== # #=============================================================================== -class PokeBattle_RecordedBattle < PokeBattle_Battle - include PokeBattle_RecordedBattleModule +class RecordedBattle < Battle + include RecordedBattleModule def pbGetBattleType; return 0; end end - - -class PokeBattle_RecordedBattlePalace < PokeBattle_BattlePalace - include PokeBattle_RecordedBattleModule +class RecordedBattle::BattlePalaceBattle < BattlePalaceBattle + include RecordedBattleModule def pbGetBattleType; return 1; end end - - -class PokeBattle_RecordedBattleArena < PokeBattle_BattleArena - include PokeBattle_RecordedBattleModule +class RecordedBattle::BattleArenaBattle < BattleArenaBattle + include RecordedBattleModule def pbGetBattleType; return 2; end end - - -class PokeBattle_BattlePlayer < PokeBattle_Battle - include PokeBattle_BattlePlayerModule +class RecordedBattle::PlaybackBattle < Battle + include RecordedBattlePlaybackModule end - - -class PokeBattle_BattlePalacePlayer < PokeBattle_BattlePalace - include PokeBattle_BattlePlayerModule +class RecordedBattle::BattlePalacePlaybackBattle < BattlePalaceBattle + include RecordedBattlePlaybackModule end - - -class PokeBattle_BattleArenaPlayer < PokeBattle_BattleArena - include PokeBattle_BattlePlayerModule +class RecordedBattle::BattleArenaPlaybackBattle < BattleArenaBattle + include RecordedBattlePlaybackModule +end + +#=============================================================================== +# +#=============================================================================== +module RecordedBattle::PlaybackHelper + def self.pbGetOpponent(battle) + return self.pbCreateTrainerInfo(battle[1]["opponent"]) + end + + def self.pbGetBattleBGM(battle) + return self.pbGetTrainerBattleBGM(self.pbGetOpponent(battle)) + end + + def self.pbCreateTrainerInfo(trainer) + return nil if !trainer + ret = [] + trainer.each do |tr| + if tr.length == 4 # Player + t = Player.new(tr[1], tr[0]) + t.id = tr[2] + t.badges = tr[3] + ret.push(t) + else # NPCTrainer + t = NPCTrainer.new(tr[1], tr[0]) + t.id = tr[2] + ret.push(t) + end + end + return ret + end end diff --git a/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb b/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb index 2ab4d78c8..1bebb22ab 100644 --- a/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb +++ b/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb @@ -84,7 +84,7 @@ def setBattleRule(*args) end def pbNewBattleScene - return PokeBattle_Scene.new + return Battle::Scene.new end # Sets up various battle parameters and applies special rules. @@ -274,7 +274,7 @@ def pbWildBattleCore(*args) # Create the battle scene (the visual side of it) scene = pbNewBattleScene # Create the battle class (the mechanics side of it) - battle = PokeBattle_Battle.new(scene,playerParty,foeParty,playerTrainers,nil) + battle = Battle.new(scene,playerParty,foeParty,playerTrainers,nil) battle.party1starts = playerPartyStarts # Set various other properties in the battle class pbPrepareBattle(battle) @@ -426,7 +426,7 @@ def pbTrainerBattleCore(*args) # Create the battle scene (the visual side of it) scene = pbNewBattleScene # Create the battle class (the mechanics side of it) - battle = PokeBattle_Battle.new(scene,playerParty,foeParty,playerTrainers,foeTrainers) + battle = Battle.new(scene,playerParty,foeParty,playerTrainers,foeTrainers) battle.party1starts = playerPartyStarts battle.party2starts = foePartyStarts battle.items = foeItems diff --git a/Data/Scripts/014_Pokemon/001_Pokemon-related/001_FormHandlers.rb b/Data/Scripts/014_Pokemon/001_Pokemon-related/001_FormHandlers.rb index d57fe0278..1dea7ad35 100644 --- a/Data/Scripts/014_Pokemon/001_Pokemon-related/001_FormHandlers.rb +++ b/Data/Scripts/014_Pokemon/001_Pokemon-related/001_FormHandlers.rb @@ -640,7 +640,7 @@ MultipleForms.register(:ZACIAN, { move.id = :BEHEMOTHBLADE battler.moves.each_with_index do |b_move, i| next if b_move.id != :IRONHEAD - battler.moves[i] = PokeBattle_Move.from_pokemon_move(battle, move) + battler.moves[i] = Battle::Move.from_pokemon_move(battle, move) end end end @@ -665,7 +665,7 @@ MultipleForms.register(:ZAMAZENTA, { move.id = :BEHEMOTHBASH battler.moves.each_with_index do |b_move, i| next if b_move.id != :IRONHEAD - battler.moves[i] = PokeBattle_Move.from_pokemon_move(battle, move) + battler.moves[i] = Battle::Move.from_pokemon_move(battle, move) end end end diff --git a/Data/Scripts/014_Pokemon/001_Pokemon-related/002_ShadowPokemon_Other.rb b/Data/Scripts/014_Pokemon/001_Pokemon-related/002_ShadowPokemon_Other.rb index e9b2a72a0..196a5cdc5 100644 --- a/Data/Scripts/014_Pokemon/001_Pokemon-related/002_ShadowPokemon_Other.rb +++ b/Data/Scripts/014_Pokemon/001_Pokemon-related/002_ShadowPokemon_Other.rb @@ -167,7 +167,7 @@ end #=============================================================================== # Shadow Pokémon in battle. #=============================================================================== -class PokeBattle_Battle +class Battle alias __shadow__pbCanUseItemOnPokemon? pbCanUseItemOnPokemon? def pbCanUseItemOnPokemon?(item,pkmn,battler,scene,showMessages=true) @@ -182,7 +182,7 @@ end -class PokeBattle_Battler +class Battle::Battler alias __shadow__pbInitPokemon pbInitPokemon def pbInitPokemon(*arg) @@ -316,7 +316,7 @@ ItemHandlers::BattleUseOnBattler.add(:VIVIDSCENT,proc { |item,battler,scene| # Two turn attack. On first turn, halves the HP of all active Pokémon. # Skips second turn (if successful). (Shadow Half) #=============================================================================== -class PokeBattle_Move_AllBattlersLoseHalfHPUserSkipsNextTurn < PokeBattle_Move +class Battle::Move::AllBattlersLoseHalfHPUserSkipsNextTurn < Battle::Move def pbMoveFailed?(user,targets) if @battle.allBattlers.none? { |b| b.hp > 1 } @battle.pbDisplay(_INTL("But it failed!")) @@ -341,7 +341,7 @@ end #=============================================================================== # User takes recoil damage equal to 1/2 of its current HP. (Shadow End) #=============================================================================== -class PokeBattle_Move_UserLosesHalfHP < PokeBattle_RecoilMove +class Battle::Move::UserLosesHalfHP < Battle::Move::RecoilMove def pbRecoilDamage(user,target) return (target.damageState.totalHPLost/2.0).round end @@ -362,7 +362,7 @@ end #=============================================================================== # Starts shadow weather. (Shadow Sky) #=============================================================================== -class PokeBattle_Move_StartShadowSkyWeather < PokeBattle_WeatherMove +class Battle::Move::StartShadowSkyWeather < Battle::Move::WeatherMove def initialize(battle,move) super @weatherType = :ShadowSky @@ -375,7 +375,7 @@ end # Ends the effects of Light Screen, Reflect and Safeguard on both sides. # (Shadow Shed) #=============================================================================== -class PokeBattle_Move_RemoveAllScreens < PokeBattle_Move +class Battle::Move::RemoveAllScreens < Battle::Move def pbEffectGeneral(user) for i in @battle.sides i.effects[PBEffects::AuroraVeil] = 0 diff --git a/Data/Scripts/018_Alternate battle modes/001_Battle Frontier/004_Challenge_Battles.rb b/Data/Scripts/018_Alternate battle modes/001_Battle Frontier/004_Challenge_Battles.rb index 2501c85a7..0636f8cae 100644 --- a/Data/Scripts/018_Alternate battle modes/001_Battle Frontier/004_Challenge_Battles.rb +++ b/Data/Scripts/018_Alternate battle modes/001_Battle Frontier/004_Challenge_Battles.rb @@ -3,7 +3,7 @@ #=============================================================================== class BattleType def pbCreateBattle(scene, trainer1, trainer2) - return PokeBattle_Battle.new(scene, trainer1.party, trainer2.party, trainer1, trainer2) + return Battle.new(scene, trainer1.party, trainer2.party, trainer1, trainer2) end end @@ -12,7 +12,7 @@ end #=============================================================================== class BattleTower < BattleType def pbCreateBattle(scene, trainer1, trainer2) - return PokeBattle_RecordedBattle.new(scene, trainer1.party, trainer2.party, trainer1, trainer2) + return RecordedBattle.new(scene, trainer1.party, trainer2.party, trainer1, trainer2) end end @@ -21,7 +21,7 @@ end #=============================================================================== class BattlePalace < BattleType def pbCreateBattle(scene, trainer1, trainer2) - return PokeBattle_RecordedBattlePalace.new(scene, trainer1.party, trainer2.party, trainer1, trainer2) + return RecordedBattle::BattlePalaceBattle.new(scene, trainer1.party, trainer2.party, trainer1, trainer2) end end @@ -30,7 +30,7 @@ end #=============================================================================== class BattleArena < BattleType def pbCreateBattle(scene, trainer1, trainer2) - return PokeBattle_RecordedBattleArena.new(scene, trainer1.party, trainer2.party, trainer1, trainer2) + return RecordedBattle::BattleArenaBattle.new(scene, trainer1.party, trainer2.party, trainer1, trainer2) end end @@ -119,13 +119,13 @@ def pbPlayBattle(battledata) lastbattle = Marshal.restore(battledata) case lastbattle[0] when BattleChallenge::BattleTowerID - battleplayer = PokeBattle_BattlePlayer.new(scene, lastbattle) + battleplayer = RecordedBattle::PlaybackBattle.new(scene, lastbattle) when BattleChallenge::BattlePalaceID - battleplayer = PokeBattle_BattlePalacePlayer.new(scene, lastbattle) + battleplayer = RecordedBattle::BattlePalacePlaybackBattle.new(scene, lastbattle) when BattleChallenge::BattleArenaID - battleplayer = PokeBattle_BattleArenaPlayer.new(scene, lastbattle) + battleplayer = RecordedBattle::BattleArenaPlaybackBattle.new(scene, lastbattle) end - bgm = BattlePlayerHelper.pbGetBattleBGM(lastbattle) + bgm = RecordedBattle::PlaybackHelper.pbGetBattleBGM(lastbattle) pbBattleAnimation(bgm) { pbSceneStandby { battleplayer.pbStartBattle diff --git a/Data/Scripts/018_Alternate battle modes/001_SafariZone.rb b/Data/Scripts/018_Alternate battle modes/001_SafariZone.rb index 933df83bf..b5cd9df87 100644 --- a/Data/Scripts/018_Alternate battle modes/001_SafariZone.rb +++ b/Data/Scripts/018_Alternate battle modes/001_SafariZone.rb @@ -108,7 +108,7 @@ def pbSafariBattle(species,level) # Create the battle scene (the visual side of it) scene = pbNewBattleScene # Create the battle class (the mechanics side of it) - battle = PokeBattle_SafariZone.new(scene,playerTrainer,foeParty) + battle = SafariBattle.new(scene,playerTrainer,foeParty) battle.ballCount = pbSafariState.ballcount pbPrepareBattle(battle) # Perform the battle itself diff --git a/Data/Scripts/018_Alternate battle modes/002_BugContest.rb b/Data/Scripts/018_Alternate battle modes/002_BugContest.rb index f0ce30aff..705e8d2f4 100644 --- a/Data/Scripts/018_Alternate battle modes/002_BugContest.rb +++ b/Data/Scripts/018_Alternate battle modes/002_BugContest.rb @@ -362,7 +362,7 @@ def pbBugContestBattle(species,level) # Create the battle scene (the visual side of it) scene = pbNewBattleScene # Create the battle class (the mechanics side of it) - battle = PokeBattle_BugContestBattle.new(scene,playerParty,foeParty,playerTrainer,nil) + battle = BugContestBattle.new(scene,playerParty,foeParty,playerTrainer,nil) battle.party1starts = playerPartyStarts battle.ballCount = pbBugContestState.ballcount setBattleRule("single") diff --git a/Data/Scripts/018_Alternate battle modes/003_Battle Frontier generator/004_ChallengeGenerator_BattleSim.rb b/Data/Scripts/018_Alternate battle modes/003_Battle Frontier generator/004_ChallengeGenerator_BattleSim.rb index 35f19e49e..6b42fd171 100644 --- a/Data/Scripts/018_Alternate battle modes/003_Battle Frontier generator/004_ChallengeGenerator_BattleSim.rb +++ b/Data/Scripts/018_Alternate battle modes/003_Battle Frontier generator/004_ChallengeGenerator_BattleSim.rb @@ -402,7 +402,7 @@ def pbRuledBattle(team1, team2, rule) items2[i] = p.item_id trainer2.party.push(p) end - scene = PokeBattle_DebugSceneNoLogging.new + scene = Battle::DebugSceneNoLogging.new battle = rule.createBattle(scene, trainer1, trainer2) battle.debug = true battle.controlPlayer = true diff --git a/Data/Scripts/020_Debug/001_Editor screens/004_EditorScreens_SpritePositioning.rb b/Data/Scripts/020_Debug/001_Editor screens/004_EditorScreens_SpritePositioning.rb index 986d36c41..95c0fa492 100644 --- a/Data/Scripts/020_Debug/001_Editor screens/004_EditorScreens_SpritePositioning.rb +++ b/Data/Scripts/020_Debug/001_Editor screens/004_EditorScreens_SpritePositioning.rb @@ -54,13 +54,13 @@ class SpritePositioner @sprites["battle_bg"] = AnimatedPlane.new(@viewport) @sprites["battle_bg"].setBitmap(battlebg) @sprites["battle_bg"].z = 0 - baseX, baseY = PokeBattle_SceneConstants.pbBattlerPosition(0) + baseX, baseY = Battle::Scene.pbBattlerPosition(0) @sprites["base_0"] = IconSprite.new(baseX, baseY, @viewport) @sprites["base_0"].setBitmap(playerbase) @sprites["base_0"].x -= @sprites["base_0"].bitmap.width / 2 if @sprites["base_0"].bitmap @sprites["base_0"].y -= @sprites["base_0"].bitmap.height if @sprites["base_0"].bitmap @sprites["base_0"].z = 1 - baseX, baseY = PokeBattle_SceneConstants.pbBattlerPosition(1) + baseX, baseY = Battle::Scene.pbBattlerPosition(1) @sprites["base_1"] = IconSprite.new(baseX, baseY, @viewport) @sprites["base_1"].setBitmap(enemybase) @sprites["base_1"].x -= @sprites["base_1"].bitmap.width / 2 if @sprites["base_1"].bitmap @@ -118,7 +118,7 @@ class SpritePositioner end metrics_data = GameData::SpeciesMetrics.get_species_form(@species, @form) for i in 0...2 - pos = PokeBattle_SceneConstants.pbBattlerPosition(i, 1) + pos = Battle::Scene.pbBattlerPosition(i, 1) @sprites["pokemon_#{i}"].x = pos[0] @sprites["pokemon_#{i}"].y = pos[1] metrics_data.apply_metrics_to_sprite(@sprites["pokemon_#{i}"], i) diff --git a/Data/Scripts/020_Debug/002_Animation editor/001_AnimEditor_SceneElements.rb b/Data/Scripts/020_Debug/002_Animation editor/001_AnimEditor_SceneElements.rb index d0f7a1509..2a01ef6e6 100644 --- a/Data/Scripts/020_Debug/002_Animation editor/001_AnimEditor_SceneElements.rb +++ b/Data/Scripts/020_Debug/002_Animation editor/001_AnimEditor_SceneElements.rb @@ -524,12 +524,12 @@ class AnimationCanvas < Sprite @sprites["pokemon_1"].bitmap=@target @sprites["pokemon_1"].z=16 pbSpriteSetAnimFrame(@sprites["pokemon_0"], - pbCreateCel(PokeBattle_SceneConstants::FOCUSUSER_X, - PokeBattle_SceneConstants::FOCUSUSER_Y,-1,2), + pbCreateCel(Battle::Scene::FOCUSUSER_X, + Battle::Scene::FOCUSUSER_Y,-1,2), @sprites["pokemon_0"],@sprites["pokemon_1"]) pbSpriteSetAnimFrame(@sprites["pokemon_1"], - pbCreateCel(PokeBattle_SceneConstants::FOCUSTARGET_X, - PokeBattle_SceneConstants::FOCUSTARGET_Y,-2,1), + pbCreateCel(Battle::Scene::FOCUSTARGET_X, + Battle::Scene::FOCUSTARGET_Y,-2,1), @sprites["pokemon_0"],@sprites["pokemon_1"]) usersprite=@sprites["pokemon_#{oppmove ? 1 : 0}"] targetsprite=@sprites["pokemon_#{oppmove ? 0 : 1}"] @@ -540,8 +540,8 @@ class AnimationCanvas < Sprite @player=PBAnimationPlayerX.new(@animation, @battle.battlers[oppmove ? 1 : 0],@battle.battlers[oppmove ? 0 : 1],self,oppmove,true) @player.setLineTransform( - PokeBattle_SceneConstants::FOCUSUSER_X,PokeBattle_SceneConstants::FOCUSUSER_Y, - PokeBattle_SceneConstants::FOCUSTARGET_X,PokeBattle_SceneConstants::FOCUSTARGET_Y, + Battle::Scene::FOCUSUSER_X,Battle::Scene::FOCUSUSER_Y, + Battle::Scene::FOCUSTARGET_X,Battle::Scene::FOCUSTARGET_Y, olduserx,oldusery, oldtargetx,oldtargety) @player.start diff --git a/Data/Scripts/020_Debug/002_Animation editor/004_AnimEditor_ExportImport.rb b/Data/Scripts/020_Debug/002_Animation editor/004_AnimEditor_ExportImport.rb index ca31fd6da..550bf9a75 100644 --- a/Data/Scripts/020_Debug/002_Animation editor/004_AnimEditor_ExportImport.rb +++ b/Data/Scripts/020_Debug/002_Animation editor/004_AnimEditor_ExportImport.rb @@ -104,17 +104,17 @@ def pbConvertAnimToNewFormat(textdata) textdata[i][j][AnimFrame::PRIORITY]=1 if textdata[i][j][AnimFrame::PRIORITY]==nil if j==0 # User battler textdata[i][j][AnimFrame::FOCUS]=2 - textdata[i][j][AnimFrame::X]=PokeBattle_SceneConstants::FOCUSUSER_X - textdata[i][j][AnimFrame::Y]=PokeBattle_SceneConstants::FOCUSUSER_Y + textdata[i][j][AnimFrame::X]=Battle::Scene::FOCUSUSER_X + textdata[i][j][AnimFrame::Y]=Battle::Scene::FOCUSUSER_Y elsif j==1 # Target battler textdata[i][j][AnimFrame::FOCUS]=1 - textdata[i][j][AnimFrame::X]=PokeBattle_SceneConstants::FOCUSTARGET_X - textdata[i][j][AnimFrame::Y]=PokeBattle_SceneConstants::FOCUSTARGET_Y + textdata[i][j][AnimFrame::X]=Battle::Scene::FOCUSTARGET_X + textdata[i][j][AnimFrame::Y]=Battle::Scene::FOCUSTARGET_Y else textdata[i][j][AnimFrame::FOCUS]=(textdata.position || 4) if textdata.position==1 - textdata[i][j][AnimFrame::X]+=PokeBattle_SceneConstants::FOCUSTARGET_X - textdata[i][j][AnimFrame::Y]+=PokeBattle_SceneConstants::FOCUSTARGET_Y-2 + textdata[i][j][AnimFrame::X]+=Battle::Scene::FOCUSTARGET_X + textdata[i][j][AnimFrame::Y]+=Battle::Scene::FOCUSTARGET_Y-2 end end end