From 45fd570414e638600e630282af2d1e2b93879e14 Mon Sep 17 00:00:00 2001 From: Maruno17 Date: Sun, 10 Oct 2021 16:41:47 +0100 Subject: [PATCH] Fixed Pledge combo moves sometimes using the wrong type, fixed command windows in battle being too tall if possible, added Debug menu feature to toggle credits skippability --- .../011_Battle/002_Move/004_Move_BaseEffects.rb | 11 +++++++---- .../005_Battle scene/006_PokeBattle_Scene.rb | 1 + .../003_Debug menus/002_Debug_MenuCommands.rb | 11 +++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/Data/Scripts/011_Battle/002_Move/004_Move_BaseEffects.rb b/Data/Scripts/011_Battle/002_Move/004_Move_BaseEffects.rb index bec1fd97d..d0a5cd6c6 100644 --- a/Data/Scripts/011_Battle/002_Move/004_Move_BaseEffects.rb +++ b/Data/Scripts/011_Battle/002_Move/004_Move_BaseEffects.rb @@ -686,7 +686,6 @@ class PokeBattle_PledgeMove < PokeBattle_Move @pledgeCombo = false @pledgeOtherUser = nil @comboEffect = nil - @overrideType = nil @overrideAnim = nil # Check whether this is the use of a combo move @combos.each do |i| @@ -694,9 +693,7 @@ class PokeBattle_PledgeMove < PokeBattle_Move @battle.pbDisplay(_INTL("The two moves have become one! It's a combined move!")) @pledgeCombo = true @comboEffect = i[1] - @overrideType = i[2] @overrideAnim = i[3] - @overrideType = nil if !GameData::Type.exists?(@overrideType) break end return if @pledgeCombo @@ -721,7 +718,13 @@ class PokeBattle_PledgeMove < PokeBattle_Move end def pbBaseType(user) - return @overrideType if @overrideType!=nil + # This method is called before pbOnStartUse, so it has to calculate the type + # separately + @combos.each do |i| + next if i[0] != user.effects[PBEffects::FirstPledge] + next if !GameData::Type.exists?(i[2]) + return i[2] + end return super end diff --git a/Data/Scripts/011_Battle/005_Battle scene/006_PokeBattle_Scene.rb b/Data/Scripts/011_Battle/005_Battle scene/006_PokeBattle_Scene.rb index 5d90ef0da..794ad2ee5 100644 --- a/Data/Scripts/011_Battle/005_Battle scene/006_PokeBattle_Scene.rb +++ b/Data/Scripts/011_Battle/005_Battle scene/006_PokeBattle_Scene.rb @@ -205,6 +205,7 @@ class PokeBattle_Scene dw = @sprites["messageWindow"] dw.text = msg cw = Window_CommandPokemon.new(commands) + cw.height = Graphics.height - dw.height if cw.height > Graphics.height - dw.height cw.x = Graphics.width-cw.width cw.y = Graphics.height-cw.height-dw.height cw.z = dw.z+1 diff --git a/Data/Scripts/020_Debug/003_Debug menus/002_Debug_MenuCommands.rb b/Data/Scripts/020_Debug/003_Debug menus/002_Debug_MenuCommands.rb index 7048fa9bc..fc94fe400 100644 --- a/Data/Scripts/020_Debug/003_Debug menus/002_Debug_MenuCommands.rb +++ b/Data/Scripts/020_Debug/003_Debug menus/002_Debug_MenuCommands.rb @@ -160,6 +160,17 @@ DebugMenuCommands.register("daycare", { } }) +DebugMenuCommands.register("skipcredits", { + "parent" => "fieldmenu", + "name" => _INTL("Skip Credits"), + "description" => _INTL("Toggle whether credits can be ended early by pressing the Use input."), + "effect" => proc { + $PokemonGlobal.creditsPlayed = !$PokemonGlobal.creditsPlayed + pbMessage(_INTL("Credits can be skipped when played in future.")) if $PokemonGlobal.creditsPlayed + pbMessage(_INTL("Credits cannot be skipped when next played.")) if !$PokemonGlobal.creditsPlayed + } +}) + DebugMenuCommands.register("relicstone", { "parent" => "fieldmenu", "name" => _INTL("Use Relic Stone"),