Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #The variables for Energy, Expertise, and Comfort
- StatVariables = [
- 137,#energy
- 140,#expertise
- 141#comfort
- ]
- #The score required to get a Gold for each case
- ScoreRequirements = [
- 25,#Case 1
- 25,#Case 2
- 25,#Case 3
- 25,#Case 4
- 25#Case 5
- ]
- #The switches for if the case has been completed (not necessarily successful)
- CompleteSwitches = [
- 76,#case 1
- 77,#case 2
- 78,#case 3
- 79,#case 4
- 127#case 5
- ]
- #The switches for if the case was successful
- SuccessSwitches = [
- 80,#case 1
- 81,#case 2
- 82,#case 3
- 83,#case 4
- 129#case 5
- ]
- #The switches for if the Extra Mile has been obtained (perfect ending)
- MileSwitches = [
- 84,#case 1
- 85,#case 2
- 86,#case 3
- 87,#case 4
- 128#case 5
- ]
- #Gets the case number by counting how many Complete Switches are true
- def getCase
- caseno=0
- for i in 0...CompleteSwitches.length
- if $game_switches[CompleteSwitches[i]]==true
- caseno+=1
- end
- end
- return caseno
- end
- #Saves the player's current score to the given variable
- def getScore(var)
- energy = $game_variables[StatVariables[0]]
- expertise = $game_variables[StatVariables[1]]
- comfort = $game_variables[StatVariables[2]]
- total = comfort+expertise+energy
- $game_variables[var]=total
- end
- #Saves the player's current rank to the given variable
- #Bronze is 0, Silver is 1, Gold is 2, Perfect is 3
- def getRank(var)
- energy = $game_variables[StatVariables[0]]
- expertise = $game_variables[StatVariables[1]]
- comfort = $game_variables[StatVariables[2]]
- total = comfort+expertise+energy
- caseno=getCase
- caseno-=1
- #scoring
- if $game_switches[CompleteSwitches[caseno]]==true
- $game_variables[var]=0
- end
- if $game_switches[SuccessSwitches[caseno]]==true
- $game_variables[var]=1
- end
- if total>ScoreRequirements[2]
- $game_variables[var]=2
- end
- if $game_switches[MileSwitches[caseno]] == true
- $game_variables[var]=3
- end
- end
- #Creates the number of medals as an attribute of the player
- module Score_Medals
- attr_accessor :bronze
- attr_accessor :silver
- attr_accessor :gold
- attr_accessor :perfect
- @bronze = 0
- @silver = 0
- @gold = 0
- @perfect = 0
- end
- class PokeBattle_Trainer
- include Score_Medals
- end
- #Checks how many of each ending the player has gotten,
- #and sets the variable to whichever ending is the highest
- #Bronze is 0, Silver is 1, Gold is 2, Perfect is 3
- def checkMedals(var)
- bronze=$Trainer.bronze
- silver=$Trainer.silver
- gold=$Trainer.gold
- perfect=$Trainer.perfect
- highest=[bronze, silver, gold, perfect].max
- if highest==perfect
- $game_variables[var]=3
- elsif highest==gold
- $game_variables[var]=2
- elsif highest==silver
- $game_variables[var]=1
- elsif highest==bronze
- $game_variables[var]=0
- end
- end
- #Displays the score screen
- def displayScore
- #Makes sure the score can be saved
- if !$Trainer.bronze
- $Trainer.bronze=0
- $Trainer.silver=0
- $Trainer.gold=0
- $Trainer.perfect=0
- end
- #transition to score screen
- previousBGM = $game_system.getPlayingBGM
- pbBGMStop(1.0)
- pbToneChangeAll(Tone.new(-255,-255,-255),8)
- pbWait(8)
- #creates the graphics
- @viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
- @viewport.z = 99999
- @sprites = {}
- @sprites["background"] = IconSprite.new(0,0,@viewport)
- @sprites["background"].setBitmap("Graphics/Pictures/Badges/badgebg")
- @sprites["overlay"] = BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
- overlay = @sprites["overlay"].bitmap
- bstage=0
- sstage=0
- gstage=0
- mstage=0
- @sprites["bronze"]=IconSprite.new(0,312,@viewport)
- @sprites["bronze"].setBitmap(sprintf("Graphics/Pictures/Badges/badgebronze"))
- @sprites["bronze"].src_rect.set(72*bstage,0,72,72)
- @sprites["silver"]=IconSprite.new(40,258,@viewport)
- @sprites["silver"].setBitmap(sprintf("Graphics/Pictures/Badges/badgesilver"))
- @sprites["silver"].src_rect.set(90*sstage,0,90,100)
- @sprites["gold"]=IconSprite.new(130,218,@viewport)
- @sprites["gold"].setBitmap(sprintf("Graphics/Pictures/Badges/badgegold"))
- @sprites["gold"].src_rect.set(108*gstage,0,108,136)
- @sprites["mile"]=IconSprite.new(126,256,@viewport)
- @sprites["mile"].setBitmap(sprintf("Graphics/Pictures/Badges/badgeextramile"))
- @sprites["mile"].src_rect.set(318*mstage,0,318,128)
- #gets the scores
- energy = $game_variables[StatVariables[0]]
- expertise = $game_variables[StatVariables[1]]
- comfort = $game_variables[StatVariables[2]]
- total = comfort+expertise+energy
- #creates the text
- base = Color.new(248,248,248)
- shadow = Color.new(104,104,104)
- pbSetSystemFont(@sprites["overlay"].bitmap)
- categoryx=Graphics.width/4
- textpos = [
- [_INTL("COMFORT:"),categoryx,5,0,base,shadow],
- [_INTL("ENERGY:"),categoryx,35,0,base,shadow],
- [_INTL("EXPERTISE:"),categoryx,65,0,base,shadow],
- [_INTL("TOTAL:"),categoryx,125,0,base,shadow]
- ]
- pbDrawTextPositions(overlay,textpos)
- scorex=categoryx+100
- pbWait(15)
- pbDrawShadowText(@sprites["overlay"].bitmap,scorex,5,118,28,_INTL("{1}",comfort),base,shadow,2)
- pbSEPlay("Battle ball shake")
- pbWait(30)
- pbDrawShadowText(@sprites["overlay"].bitmap,scorex,35,118,28,_INTL("{1}",energy),base,shadow,2)
- pbSEPlay("Battle ball shake")
- pbWait(30)
- pbDrawShadowText(@sprites["overlay"].bitmap,scorex,65,118,28,_INTL("{1}",expertise),base,shadow,2)
- pbSEPlay("Battle ball shake")
- pbWait(40)
- pbDrawShadowText(@sprites["overlay"].bitmap,scorex,125,118,28,_INTL("{1}",total),base,shadow,2)
- pbSEPlay("Mining item get")
- pbWait(30)
- #scoring
- caseno=getCase
- caseno-=1
- if $game_switches[CompleteSwitches[caseno]]==true
- bstage=1
- end
- if $game_switches[SuccessSwitches[caseno]]==true
- sstage=1
- end
- if total>ScoreRequirements[caseno]
- gstage=1
- end
- if $game_switches[MileSwitches[caseno]] == true
- mstage=1
- end
- #play the animations for each medal
- if bstage>0
- pbSEPlay("GUI Trainer card open")
- @sprites["bronze"].src_rect.set(72*bstage,0,72,72)
- pbWait(5)
- bstage=2
- @sprites["bronze"].src_rect.set(72*bstage,0,72,72)
- $Trainer.bronze+=1
- if sstage>0
- pbWait(15)
- pbSEPlay("Mining reveal")
- @sprites["silver"].src_rect.set(90*sstage,0,90,100)
- pbWait(5)
- sstage=2
- @sprites["silver"].src_rect.set(90*sstage,0,90,100)
- $Trainer.bronze-=1
- $Trainer.silver+=1
- if gstage>0
- pbWait(15)
- pbSEPlay("Mining reveal full")
- @sprites["gold"].src_rect.set(108*gstage,0,108,136)
- pbWait(5)
- gstage=2
- @sprites["gold"].src_rect.set(108*gstage,0,108,136)
- $Trainer.silver-=1
- $Trainer.gold+=1
- if mstage>0
- pbWait(15)
- pbSEPlay("Mining found all")
- @sprites["mile"].src_rect.set(318*mstage,0,318,128)
- pbWait(5)
- mstage=2
- @sprites["mile"].src_rect.set(318*mstage,0,318,128)
- $Trainer.gold-=1
- $Trainer.perfect+=1
- pbWait(5)
- end
- end
- end
- end
- loop do
- Graphics.update
- Input.update
- if Input.trigger?(Input::C) || Input.trigger?(Input::B)
- pbDisposeSpriteHash(@sprites)
- @viewport.dispose
- pbToneChangeAll(Tone.new(0,0,0),8)
- pbBGMPlay(previousBGM)
- break
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement