Files
infinitefusion-e18/Data/Scripts/011_Battle/004_Scene/009_Battle_DebugScene.rb
2021-12-18 12:20:31 +00:00

84 lines
2.7 KiB
Ruby

#===============================================================================
# Used when generating new trainers for battle challenges
#===============================================================================
class Battle::DebugSceneNoLogging
def initialize
@battle = nil
@lastCmd = [0,0,0,0]
@lastMove = [0,0,0,0]
end
# Called whenever the battle begins.
def pbStartBattle(battle)
@battle = battle
@lastCmd = [0,0,0,0]
@lastMove = [0,0,0,0]
end
def pbBlitz(keys)
return rand(30)
end
# Called whenever a new round begins.
def pbBeginCommandPhase; end
def pbBeginAttackPhase; end
def pbShowOpponent(idxTrainer); end
def pbDamageAnimation(battler,effectiveness = 0); end
def pbCommonAnimation(animName,user = nil,target = nil); end
def pbAnimation(moveID,user,targets,hitNum = 0); end
def pbEndBattle(result); end
def pbWildBattleSuccess; end
def pbTrainerBattleSuccess; end
def pbBattleArenaJudgment(b1,b2,r1,r2); end
def pbBattleArenaBattlers(b1,b2); end
def pbRefresh; end
def pbDisplayMessage(msg,brief = false); end
def pbDisplayPausedMessage(msg); end
def pbDisplayConfirmMessage(msg); return true; end
def pbShowCommands(msg,commands,defaultValue); return 0; end
def pbSendOutBattlers(sendOuts,startBattle = false); end
def pbRecall(idxBattler); end
def pbItemMenu(idxBattler,firstAction); return -1; end
def pbResetMoveIndex(idxBattler); end
def pbHPChanged(battler,oldHP,showAnim = false); end
def pbFaintBattler(battler); end
def pbEXPBar(battler,startExp,endExp,tempExp1,tempExp2); end
def pbLevelUp(pkmn, battler, oldTotalHP, oldAttack, oldDefense,
oldSpAtk, oldSpDef, oldSpeed); end
def pbForgetMove(pkmn,moveToLearn); return 0; end # Always forget first move
def pbCommandMenu(idxBattler,firstAction)
return 1 if rand(15)==0 # Bag
return 4 if rand(10)==0 # Call
return 0 # Fight
end
def pbFightMenu(idxBattler,megaEvoPossible = false)
battler = @battle.battlers[idxBattler]
50.times do
break if yield rand(battler.move.length)
end
end
def pbChooseTarget(idxBattler,target_data,visibleSprites = nil)
targets = @battle.allOtherSideBattlers(idxBattler).map { |b| b.index }
return -1 if targets.length==0
return targets.sample
end
def pbPartyScreen(idxBattler,canCancel = false)
replacements = []
@battle.eachInTeamFromBattlerIndex(idxBattler) do |_b,idxParty|
replacements.push(idxParty) if !@battle.pbFindBattler(idxParty,idxBattler)
end
return if replacements.length==0
50.times do
break if yield replacements[rand(replacements.length)],self
end
end
end