diff --git a/Data/Scripts/003_Game processing/003_Interpreter.rb b/Data/Scripts/003_Game processing/003_Interpreter.rb index 74081865b..36c3c971e 100644 --- a/Data/Scripts/003_Game processing/003_Interpreter.rb +++ b/Data/Scripts/003_Game processing/003_Interpreter.rb @@ -381,7 +381,7 @@ class Interpreter end # Used in boulder events. Allows an event to be pushed. - def pbPushThisEvent + def pbPushThisEvent(strength = false) event = get_self old_x = event.x old_y = event.y @@ -397,6 +397,7 @@ class Interpreter end $PokemonMap&.addMovedEvent(@event_id) if old_x != event.x || old_y != event.y + pbSEPlay("Strength push") if strength $game_player.lock loop do Graphics.update @@ -409,7 +410,7 @@ class Interpreter end def pbPushThisBoulder - pbPushThisEvent if $PokemonMap.strengthUsed + pbPushThisEvent(true) if $PokemonMap.strengthUsed return true end diff --git a/Data/Scripts/004_Game classes/008_Game_Player.rb b/Data/Scripts/004_Game classes/008_Game_Player.rb index a621e8410..db7bba940 100644 --- a/Data/Scripts/004_Game classes/008_Game_Player.rb +++ b/Data/Scripts/004_Game classes/008_Game_Player.rb @@ -601,7 +601,8 @@ def pbMountBike $stats.cycle_count += 1 pbUpdateVehicle bike_bgm = GameData::Metadata.get.bicycle_BGM - pbCueBGM(bike_bgm, 0.5) if bike_bgm + pbCueBGM(bike_bgm, 0.4) if bike_bgm + pbSEPlay("Bicycle") pbPokeRadarCancel end diff --git a/Data/Scripts/011_Battle/001_Battle/003_Battle_ExpAndMoveLearning.rb b/Data/Scripts/011_Battle/001_Battle/003_Battle_ExpAndMoveLearning.rb index 36d74aa2c..ab10e965f 100644 --- a/Data/Scripts/011_Battle/001_Battle/003_Battle_ExpAndMoveLearning.rb +++ b/Data/Scripts/011_Battle/001_Battle/003_Battle_ExpAndMoveLearning.rb @@ -214,7 +214,7 @@ class Battle pkmn.calc_stats battler&.pbUpdate(false) @scene.pbRefreshOne(battler.index) if battler - pbDisplayPaused(_INTL("{1} grew to Lv. {2}!", pkmn.name, curLevel)) + pbDisplayPaused(_INTL("{1} grew to Lv. {2}!", pkmn.name, curLevel)) { pbSEPlay("Pkmn level up") } @scene.pbLevelUp(pkmn, battler, oldTotalHP, oldAttack, oldDefense, oldSpAtk, oldSpDef, oldSpeed) # Learn all moves learned at this level diff --git a/Data/Scripts/011_Battle/004_Scene/008_Battle_Scene_Animations.rb b/Data/Scripts/011_Battle/004_Scene/008_Battle_Scene_Animations.rb index 4d8fb4927..f8a5f679b 100644 --- a/Data/Scripts/011_Battle/004_Scene/008_Battle_Scene_Animations.rb +++ b/Data/Scripts/011_Battle/004_Scene/008_Battle_Scene_Animations.rb @@ -227,6 +227,7 @@ class Battle::Scene::Animation::AbilitySplashAppear < Battle::Scene::Animation return if !@sprites["abilityBar_#{@side}"] bar = addSprite(@sprites["abilityBar_#{@side}"]) bar.setVisible(0, true) + bar.setSE(0, "Battle ability") dir = (@side == 0) ? 1 : -1 bar.moveDelta(0, 8, dir * Graphics.width / 2, 0) end @@ -700,7 +701,11 @@ class Battle::Scene::Animation::PokeballThrowCapture < Battle::Scene::Animation end delay = ball.totalDuration # 0 or 7 # Poké Ball arc animation - ball.setSE(delay, "Battle throw") + if @critCapture + ball.setSE(delay, "Battle critical catch throw") + else + ball.setSE(delay, "Battle throw") + end createBallTrajectory(ball, delay, 16, ballStartX, ballStartY, ballMidX, ballMidY, ballEndX, ballEndY) ball.setZ(9, batSprite.z + 1) diff --git a/Data/Scripts/011_Battle/008_Other battle types/001_SafariBattle.rb b/Data/Scripts/011_Battle/008_Other battle types/001_SafariBattle.rb index 516b11b22..91d69682f 100644 --- a/Data/Scripts/011_Battle/008_Other battle types/001_SafariBattle.rb +++ b/Data/Scripts/011_Battle/008_Other battle types/001_SafariBattle.rb @@ -472,6 +472,7 @@ class SafariBattle # End of round if @decision == 0 if @ballCount <= 0 + pbSEPlay("Safari Zone end") pbDisplay(_INTL("PA: You have no Safari Balls left! Game over!")) @decision = 2 elsif pbRandom(100) < 5 * escapeFactor diff --git a/Data/Scripts/012_Overworld/001_Overworld.rb b/Data/Scripts/012_Overworld/001_Overworld.rb index 605ea27ab..a996539fb 100644 --- a/Data/Scripts/012_Overworld/001_Overworld.rb +++ b/Data/Scripts/012_Overworld/001_Overworld.rb @@ -90,6 +90,7 @@ EventHandlers.add(:on_player_step_taken_can_transfer, :poison_party, $player.able_party.each do |pkmn| next if pkmn.status != :POISON || pkmn.hasAbility?(:IMMUNITY) if !flashed + pbSEPlay("Poison step") pbFlash(Color.new(255, 0, 0, 128), 8) flashed = true end @@ -673,21 +674,21 @@ def pbItemBall(item, quantity = 1) if $bag.add(item, quantity) # If item can be picked up meName = (item.is_key_item?) ? "Key item get" : "Item get" if item == :DNASPLICERS - pbMessage("\\me[#{meName}]" + _INTL("You found \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage("\\me[#{meName}]" + _INTL("You found \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[40]") elsif item.is_machine? # TM or HM if quantity > 1 - pbMessage("\\me[#{meName}]" + _INTL("You found {1} \\c[1]{2} {3}\\c[0]!", - quantity, itemname, GameData::Move.get(move).name) + "\\wtnp[30]") + pbMessage("\\me[Machine get]" + _INTL("You found {1} \\c[1]{2} {3}\\c[0]!", + quantity, itemname, GameData::Move.get(move).name) + "\\wtnp[70]") else - pbMessage("\\me[#{meName}]" + _INTL("You found \\c[1]{1} {2}\\c[0]!", - itemname, GameData::Move.get(move).name) + "\\wtnp[30]") + pbMessage("\\me[Machine get]" + _INTL("You found \\c[1]{1} {2}\\c[0]!", + itemname, GameData::Move.get(move).name) + "\\wtnp[70]") end elsif quantity > 1 - pbMessage("\\me[#{meName}]" + _INTL("You found {1} \\c[1]{2}\\c[0]!", quantity, itemname) + "\\wtnp[30]") + pbMessage("\\me[#{meName}]" + _INTL("You found {1} \\c[1]{2}\\c[0]!", quantity, itemname) + "\\wtnp[40]") elsif itemname.starts_with_vowel? - pbMessage("\\me[#{meName}]" + _INTL("You found an \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage("\\me[#{meName}]" + _INTL("You found an \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[40]") else - pbMessage("\\me[#{meName}]" + _INTL("You found a \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage("\\me[#{meName}]" + _INTL("You found a \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[40]") end pbMessage(_INTL("You put the {1} in\\nyour Bag's \\c[1]{3}\\c[0] pocket.", itemname, pocket, PokemonBag.pocket_names[pocket - 1])) @@ -696,16 +697,16 @@ def pbItemBall(item, quantity = 1) # Can't add the item if item.is_machine? # TM or HM if quantity > 1 - pbMessage(_INTL("You found {1} \\c[1]{2} {3}\\c[0]!", quantity, itemname, GameData::Move.get(move).name) + "\\wtnp[30]") + pbMessage(_INTL("You found {1} \\c[1]{2} {3}\\c[0]!", quantity, itemname, GameData::Move.get(move).name)) else - pbMessage(_INTL("You found \\c[1]{1} {2}\\c[0]!", itemname, GameData::Move.get(move).name) + "\\wtnp[30]") + pbMessage(_INTL("You found \\c[1]{1} {2}\\c[0]!", itemname, GameData::Move.get(move).name)) end elsif quantity > 1 - pbMessage(_INTL("You found {1} \\c[1]{2}\\c[0]!", quantity, itemname) + "\\wtnp[30]") + pbMessage(_INTL("You found {1} \\c[1]{2}\\c[0]!", quantity, itemname)) elsif itemname.starts_with_vowel? - pbMessage(_INTL("You found an \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage(_INTL("You found an \\c[1]{1}\\c[0]!", itemname)) else - pbMessage(_INTL("You found a \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage(_INTL("You found a \\c[1]{1}\\c[0]!", itemname)) end pbMessage(_INTL("But your Bag is full...")) return false @@ -722,21 +723,21 @@ def pbReceiveItem(item, quantity = 1) move = item.move meName = (item.is_key_item?) ? "Key item get" : "Item get" if item == :DNASPLICERS - pbMessage("\\me[#{meName}]" + _INTL("You obtained \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage("\\me[#{meName}]" + _INTL("You obtained \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[40]") elsif item.is_machine? # TM or HM if quantity > 1 - pbMessage("\\me[#{meName}]" + _INTL("You obtained {1} \\c[1]{2} {3}\\c[0]!", - quantity, itemname, GameData::Move.get(move).name) + "\\wtnp[30]") + pbMessage("\\me[Machine get]" + _INTL("You obtained {1} \\c[1]{2} {3}\\c[0]!", + quantity, itemname, GameData::Move.get(move).name) + "\\wtnp[70]") else - pbMessage("\\me[#{meName}]" + _INTL("You obtained \\c[1]{1} {2}\\c[0]!", - itemname, GameData::Move.get(move).name) + "\\wtnp[30]") + pbMessage("\\me[Machine get]" + _INTL("You obtained \\c[1]{1} {2}\\c[0]!", + itemname, GameData::Move.get(move).name) + "\\wtnp[70]") end elsif quantity > 1 - pbMessage("\\me[#{meName}]" + _INTL("You obtained {1} \\c[1]{2}\\c[0]!", quantity, itemname) + "\\wtnp[30]") + pbMessage("\\me[#{meName}]" + _INTL("You obtained {1} \\c[1]{2}\\c[0]!", quantity, itemname) + "\\wtnp[40]") elsif itemname.starts_with_vowel? - pbMessage("\\me[#{meName}]" + _INTL("You obtained an \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage("\\me[#{meName}]" + _INTL("You obtained an \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[40]") else - pbMessage("\\me[#{meName}]" + _INTL("You obtained a \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage("\\me[#{meName}]" + _INTL("You obtained a \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[40]") end if $bag.add(item, quantity) # If item can be added pbMessage(_INTL("You put the {1} in\\nyour Bag's \\c[1]{3}\\c[0] pocket.", diff --git a/Data/Scripts/012_Overworld/004_Overworld_FieldMoves.rb b/Data/Scripts/012_Overworld/004_Overworld_FieldMoves.rb index babbd67ed..f58687e9a 100644 --- a/Data/Scripts/012_Overworld/004_Overworld_FieldMoves.rb +++ b/Data/Scripts/012_Overworld/004_Overworld_FieldMoves.rb @@ -213,9 +213,9 @@ HiddenMoveHandlers::UseMove.add(:CUT, proc { |move, pokemon| def pbSmashEvent(event) return if !event if event.name[/cuttree/i] - pbSEPlay("Cut", 80) + pbSEPlay("Cut") elsif event.name[/smashrock/i] - pbSEPlay("Rock Smash", 80) + pbSEPlay("Rock Smash") end pbMoveRoute(event, [PBMoveRoute::WAIT, 2, PBMoveRoute::TURN_LEFT, PBMoveRoute::WAIT, 2, @@ -516,6 +516,8 @@ HiddenMoveHandlers::UseMove.add(:FLY, proc { |move, pkmn| # Headbutt #=============================================================================== def pbHeadbuttEffect(event = nil) + pbSEPlay("Headbutt") + pbWait(1.0) event = $game_player.pbFacingEvent(true) if !event a = (event.x + (event.x / 24).floor + 1) * (event.y + (event.y / 24).floor + 1) a = (a * 2 / 5) % 10 # Even 2x as likely as odd, 0 is 1.5x as likely as odd @@ -797,8 +799,9 @@ def pbSweetScent viewport.color.green = 32 viewport.color.blue = 32 viewport.color.alpha -= 10 + pbSEPlay("Sweet Scent") start_alpha = viewport.color.alpha - duration = 1.1 + duration = 2.0 fade_time = 0.4 pbWait(duration) do |delta_t| if delta_t < duration / 2 @@ -808,6 +811,7 @@ def pbSweetScent end end viewport.dispose + pbSEStop(0.5) enctype = $PokemonEncounters.encounter_type if !enctype || !$PokemonEncounters.encounter_possible_here? || !pbEncounter(enctype, false) diff --git a/Data/Scripts/012_Overworld/006_Overworld_BerryPlants.rb b/Data/Scripts/012_Overworld/006_Overworld_BerryPlants.rb index bd6694fbf..d8fb14227 100644 --- a/Data/Scripts/012_Overworld/006_Overworld_BerryPlants.rb +++ b/Data/Scripts/012_Overworld/006_Overworld_BerryPlants.rb @@ -360,7 +360,7 @@ def pbBerryPlant break if !pbConfirmMessage(_INTL("Want to sprinkle some water with the {1}?", GameData::Item.get(item).name)) berry_plant.water - pbMessage(_INTL("{1} watered the plant.", $player.name) + "\\wtnp[40]") + pbMessage("\\se[Water berry plant]" + _INTL("{1} watered the plant.", $player.name) + "\\wtnp[40]") if Settings::NEW_BERRY_PLANTS pbMessage(_INTL("There! All happy!")) else diff --git a/Data/Scripts/013_Items/001_Item_Utilities.rb b/Data/Scripts/013_Items/001_Item_Utilities.rb index 8d2550412..0ff6f88fe 100644 --- a/Data/Scripts/013_Items/001_Item_Utilities.rb +++ b/Data/Scripts/013_Items/001_Item_Utilities.rb @@ -317,6 +317,7 @@ def pbGainExpFromExpCandy(pkmn, base_amt, qty, scene) scene.pbDisplay(_INTL("It won't have any effect.")) return false end + pbSEPlay("Pkmn level up") scene.scene.pbSetHelpText("") if scene.is_a?(PokemonPartyScreen) if qty > 1 (qty - 1).times { pkmn.changeHappiness("vitamin") } @@ -342,6 +343,7 @@ def pbHPItem(pkmn, restoreHP, scene) scene.pbDisplay(_INTL("It won't have any effect.")) return false end + pbSEPlay("Use item in party") hpGain = pbItemRestoreHP(pkmn, restoreHP) scene.pbRefresh scene.pbDisplay(_INTL("{1}'s HP was restored by {2} points.", pkmn.name, hpGain)) @@ -434,6 +436,7 @@ def pbUseEVRaisingItem(stat, amt_per_use, qty, pkmn, happiness_type, scene, no_e scene.pbDisplay(_INTL("It won't have any effect.")) return false end + pbSEPlay("Use item in party") scene.pbRefresh scene.pbDisplay(_INTL("{1}'s {2} increased.", pkmn.name, GameData::Stat.get(stat).name)) return true diff --git a/Data/Scripts/013_Items/002_Item_Effects.rb b/Data/Scripts/013_Items/002_Item_Effects.rb index 6456b1b5f..79e3d50e5 100644 --- a/Data/Scripts/013_Items/002_Item_Effects.rb +++ b/Data/Scripts/013_Items/002_Item_Effects.rb @@ -125,6 +125,7 @@ def pbRepel(item, steps) pbMessage(_INTL("But a repellent's effect still lingers from earlier.")) return false end + pbSEPlay("Repel") $stats.repel_count += 1 pbUseItemMessage(item) $PokemonGlobal.repel = steps @@ -244,6 +245,7 @@ ItemHandlers::UseInField.add(:SACREDASH, proc { |item| scene = PokemonParty_Scene.new screen = PokemonPartyScreen.new(scene, $player.party) screen.pbStartScene(_INTL("Using item..."), false) + pbSEPlay("Use item in party") $player.party.each_with_index do |pkmn, i| next if !pkmn.fainted? revived += 1 @@ -315,36 +317,37 @@ ItemHandlers::UseInField.add(:SUPERROD, proc { |item| ItemHandlers::UseInField.add(:ITEMFINDER, proc { |item| $stats.itemfinder_count += 1 + pbSEPlay("Itemfinder") event = pbClosestHiddenItem - if event - offsetX = event.x - $game_player.x - offsetY = event.y - $game_player.y - if offsetX == 0 && offsetY == 0 # Standing on the item, spin around - 4.times do - pbWait(0.2) - $game_player.turn_right_90 - end - pbWait(0.3) - pbMessage(_INTL("The {1}'s indicating something right underfoot!", GameData::Item.get(item).name)) - else # Item is nearby, face towards it - direction = $game_player.direction - if offsetX.abs > offsetY.abs - direction = (offsetX < 0) ? 4 : 6 - else - direction = (offsetY < 0) ? 8 : 2 - end - case direction - when 2 then $game_player.turn_down - when 4 then $game_player.turn_left - when 6 then $game_player.turn_right - when 8 then $game_player.turn_up - end - pbWait(0.3) - pbMessage(_INTL("Huh? The {1}'s responding!", GameData::Item.get(item).name) + "\1") - pbMessage(_INTL("There's an item buried around here!")) - end - else + if !event pbMessage(_INTL("... \\wt[10]... \\wt[10]... \\wt[10]... \\wt[10]Nope! There's no response.")) + next true + end + offsetX = event.x - $game_player.x + offsetY = event.y - $game_player.y + if offsetX == 0 && offsetY == 0 # Standing on the item, spin around + 4.times do + pbWait(0.2) + $game_player.turn_right_90 + end + pbWait(0.3) + pbMessage(_INTL("The {1}'s indicating something right underfoot!", GameData::Item.get(item).name)) + else # Item is nearby, face towards it + direction = $game_player.direction + if offsetX.abs > offsetY.abs + direction = (offsetX < 0) ? 4 : 6 + else + direction = (offsetY < 0) ? 8 : 2 + end + case direction + when 2 then $game_player.turn_down + when 4 then $game_player.turn_left + when 6 then $game_player.turn_right + when 8 then $game_player.turn_up + end + pbWait(0.3) + pbMessage(_INTL("Huh? The {1}'s responding!", GameData::Item.get(item).name) + "\1") + pbMessage(_INTL("There's an item buried around here!")) end next true }) @@ -454,6 +457,7 @@ ItemHandlers::UseOnPokemon.add(:AWAKENING, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.heal_status scene.pbRefresh scene.pbDisplay(_INTL("{1} woke up.", pkmn.name)) @@ -467,6 +471,7 @@ ItemHandlers::UseOnPokemon.add(:ANTIDOTE, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.heal_status scene.pbRefresh scene.pbDisplay(_INTL("{1} was cured of its poisoning.", pkmn.name)) @@ -480,6 +485,7 @@ ItemHandlers::UseOnPokemon.add(:BURNHEAL, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.heal_status scene.pbRefresh scene.pbDisplay(_INTL("{1}'s burn was healed.", pkmn.name)) @@ -493,6 +499,7 @@ ItemHandlers::UseOnPokemon.add(:PARALYZEHEAL, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.heal_status scene.pbRefresh scene.pbDisplay(_INTL("{1} was cured of paralysis.", pkmn.name)) @@ -506,6 +513,7 @@ ItemHandlers::UseOnPokemon.add(:ICEHEAL, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.heal_status scene.pbRefresh scene.pbDisplay(_INTL("{1} was thawed out.", pkmn.name)) @@ -519,6 +527,7 @@ ItemHandlers::UseOnPokemon.add(:FULLHEAL, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.heal_status scene.pbRefresh scene.pbDisplay(_INTL("{1} became healthy.", pkmn.name)) @@ -536,6 +545,7 @@ ItemHandlers::UseOnPokemon.add(:FULLRESTORE, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") hpgain = pbItemRestoreHP(pkmn, pkmn.totalhp - pkmn.hp) pkmn.heal_status scene.pbRefresh @@ -552,6 +562,7 @@ ItemHandlers::UseOnPokemon.add(:REVIVE, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.hp = (pkmn.totalhp / 2).floor pkmn.hp = 1 if pkmn.hp <= 0 pkmn.heal_status @@ -565,6 +576,7 @@ ItemHandlers::UseOnPokemon.add(:MAXREVIVE, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.heal_HP pkmn.heal_status scene.pbRefresh @@ -595,6 +607,7 @@ ItemHandlers::UseOnPokemon.add(:HEALPOWDER, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.heal_status pkmn.changeHappiness("powder") scene.pbRefresh @@ -607,6 +620,7 @@ ItemHandlers::UseOnPokemon.add(:REVIVALHERB, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") pkmn.heal_HP pkmn.heal_status pkmn.changeHappiness("revivalherb") @@ -622,6 +636,7 @@ ItemHandlers::UseOnPokemon.add(:ETHER, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") scene.pbDisplay(_INTL("PP was restored.")) next true }) @@ -635,6 +650,7 @@ ItemHandlers::UseOnPokemon.add(:MAXETHER, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") scene.pbDisplay(_INTL("PP was restored.")) next true }) @@ -648,6 +664,7 @@ ItemHandlers::UseOnPokemon.add(:ELIXIR, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") scene.pbDisplay(_INTL("PP was restored.")) next true }) @@ -661,38 +678,37 @@ ItemHandlers::UseOnPokemon.add(:MAXELIXIR, proc { |item, qty, pkmn, scene| scene.pbDisplay(_INTL("It won't have any effect.")) next false end + pbSEPlay("Use item in party") scene.pbDisplay(_INTL("PP was restored.")) next true }) ItemHandlers::UseOnPokemon.add(:PPUP, proc { |item, qty, pkmn, scene| move = scene.pbChooseMove(pkmn, _INTL("Boost PP of which move?")) - if move >= 0 - if pkmn.moves[move].total_pp <= 1 || pkmn.moves[move].ppup >= 3 - scene.pbDisplay(_INTL("It won't have any effect.")) - next false - end - pkmn.moves[move].ppup += 1 - movename = pkmn.moves[move].name - scene.pbDisplay(_INTL("{1}'s PP increased.", movename)) - next true + next false if move < 0 + if pkmn.moves[move].total_pp <= 1 || pkmn.moves[move].ppup >= 3 + scene.pbDisplay(_INTL("It won't have any effect.")) + next false end - next false + pbSEPlay("Use item in party") + pkmn.moves[move].ppup += 1 + movename = pkmn.moves[move].name + scene.pbDisplay(_INTL("{1}'s PP increased.", movename)) + next true }) ItemHandlers::UseOnPokemon.add(:PPMAX, proc { |item, qty, pkmn, scene| move = scene.pbChooseMove(pkmn, _INTL("Boost PP of which move?")) - if move >= 0 - if pkmn.moves[move].total_pp <= 1 || pkmn.moves[move].ppup >= 3 - scene.pbDisplay(_INTL("It won't have any effect.")) - next false - end - pkmn.moves[move].ppup = 3 - movename = pkmn.moves[move].name - scene.pbDisplay(_INTL("{1}'s PP increased.", movename)) - next true + next false if move < 0 + if pkmn.moves[move].total_pp <= 1 || pkmn.moves[move].ppup >= 3 + scene.pbDisplay(_INTL("It won't have any effect.")) + next false end - next false + pbSEPlay("Use item in party") + pkmn.moves[move].ppup = 3 + movename = pkmn.moves[move].name + scene.pbDisplay(_INTL("{1}'s PP increased.", movename)) + next true }) ItemHandlers::UseOnPokemonMaximum.add(:HPUP, proc { |item, pkmn| @@ -925,6 +941,7 @@ ItemHandlers::UseOnPokemon.add(:RARECANDY, proc { |item, qty, pkmn, scene| next true end # Level up + pbSEPlay("Pkmn level up") pbChangeLevel(pkmn, pkmn.level + qty, scene) scene.pbHardRefresh next true diff --git a/Data/Scripts/013_Items/003_Item_BattleEffects.rb b/Data/Scripts/013_Items/003_Item_BattleEffects.rb index b0437f88d..4c522dd20 100644 --- a/Data/Scripts/013_Items/003_Item_BattleEffects.rb +++ b/Data/Scripts/013_Items/003_Item_BattleEffects.rb @@ -501,6 +501,7 @@ ItemHandlers::BattleUseOnPokemon.add(:REVIVALHERB, proc { |item, pokemon, battle ItemHandlers::BattleUseOnPokemon.add(:ETHER, proc { |item, pokemon, battler, choices, scene| idxMove = choices[3] pbBattleRestorePP(pokemon, battler, idxMove, 10) + pbSEPlay("Use item in party") scene.pbDisplay(_INTL("PP was restored.")) }) @@ -509,6 +510,7 @@ ItemHandlers::BattleUseOnPokemon.copy(:ETHER, :LEPPABERRY) ItemHandlers::BattleUseOnPokemon.add(:MAXETHER, proc { |item, pokemon, battler, choices, scene| idxMove = choices[3] pbBattleRestorePP(pokemon, battler, idxMove, pokemon.moves[idxMove].total_pp) + pbSEPlay("Use item in party") scene.pbDisplay(_INTL("PP was restored.")) }) @@ -516,6 +518,7 @@ ItemHandlers::BattleUseOnPokemon.add(:ELIXIR, proc { |item, pokemon, battler, ch pokemon.moves.length.times do |i| pbBattleRestorePP(pokemon, battler, i, 10) end + pbSEPlay("Use item in party") scene.pbDisplay(_INTL("PP was restored.")) }) @@ -523,6 +526,7 @@ ItemHandlers::BattleUseOnPokemon.add(:MAXELIXIR, proc { |item, pokemon, battler, pokemon.moves.length.times do |i| pbBattleRestorePP(pokemon, battler, i, pokemon.moves[i].total_pp) end + pbSEPlay("Use item in party") scene.pbDisplay(_INTL("PP was restored.")) }) diff --git a/Data/Scripts/013_Items/004_Item_Phone.rb b/Data/Scripts/013_Items/004_Item_Phone.rb index b4c847695..374c1d87d 100644 --- a/Data/Scripts/013_Items/004_Item_Phone.rb +++ b/Data/Scripts/013_Items/004_Item_Phone.rb @@ -179,7 +179,7 @@ class Phone else contact = $PokemonGlobal.phone.get(false, args[1]) end - pbMessage(_INTL("\\me[Register phone]Registered {1} in the Pokégear!", contact.display_name)) + pbMessage(_INTL("\\me[Register phone]Registered {1} in the Pokégear!", contact.display_name) + "\\wtnp[60]") end return ret end diff --git a/Data/Scripts/016_UI/001_Non-interactive UI/005_UI_Trading.rb b/Data/Scripts/016_UI/001_Non-interactive UI/005_UI_Trading.rb index a6774145d..b448c1842 100644 --- a/Data/Scripts/016_UI/001_Non-interactive UI/005_UI_Trading.rb +++ b/Data/Scripts/016_UI/001_Non-interactive UI/005_UI_Trading.rb @@ -144,6 +144,8 @@ class PokemonTrade_Scene picturePoke.moveColor(delay, 5, Color.new(248, 176, 240, 0)) cry = GameData::Species.cry_filename_from_pokemon(@pokemon2) picturePoke.setSE(delay, cry) if cry + cry_length = (GameData::Species.cry_length(@pokemon2) * 20).ceil + picturePoke.setVisible(delay + cry_length + 4, true) # Time for the cry to play # Play animation pbRunPictures( [picturePoke, pictureBall], @@ -179,12 +181,15 @@ class PokemonTrade_Scene @pokemon.name, @pokemon.owner.public_id, @pokemon.owner.name) + "\\wtnp[0]") { pbUpdate } pbMessageWaitForInput(@sprites["msgwindow"], 50, true) { pbUpdate } pbPlayDecisionSE + pbBGMPlay("Evolution") pbScene1 pbMessageDisplay(@sprites["msgwindow"], _INTL("For {1}'s {2},\n{3} sends {4}.", @trader1, speciesname1, @trader2, speciesname2) + "\1") { pbUpdate } pbMessageDisplay(@sprites["msgwindow"], _INTL("{1} bids farewell to {2}.", @trader2, speciesname2)) { pbUpdate } pbScene2 + pbBGMStop + pbMEPlay("Battle capture success") pbMessageDisplay(@sprites["msgwindow"], _ISPRINTF("{1:s}\nID: {2:05d} OT: {3:s}", @pokemon2.name, @pokemon2.owner.public_id, @pokemon2.owner.name) + "\1") { pbUpdate } diff --git a/Data/Scripts/016_UI/002_UI_Pokedex_Menu.rb b/Data/Scripts/016_UI/002_UI_Pokedex_Menu.rb index d4a0f4942..42ea24af2 100644 --- a/Data/Scripts/016_UI/002_UI_Pokedex_Menu.rb +++ b/Data/Scripts/016_UI/002_UI_Pokedex_Menu.rb @@ -74,7 +74,7 @@ class PokemonPokedexMenu_Scene break elsif Input.trigger?(Input::USE) ret = @sprites["commands"].index - (ret == @commands.length - 1) ? pbPlayCloseMenuSE : pbPlayDecisionSE + (ret == @commands.length - 1) ? pbPlayCloseMenuSE : pbSEPlay("GUI pokedex open") break end end diff --git a/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb b/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb index 95a36085f..536002291 100644 --- a/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb +++ b/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb @@ -1054,7 +1054,7 @@ class PokemonPokedex_Scene break elsif Input.trigger?(Input::USE) if index == -2 # OK - pbPlayDecisionSE + pbSEPlay("GUI pokedex open") ret = selindex break elsif index == -3 # Cancel @@ -1177,7 +1177,7 @@ class PokemonPokedex_Scene pbPlayCloseMenuSE break elsif Input.trigger?(Input::USE) - pbPlayDecisionSE if index != 9 + pbSEPlay("GUI pokedex open") if index != 9 case index when 0 # Choose sort order newparam = pbDexSearchCommands(0, [params[0]], index) @@ -1264,21 +1264,20 @@ class PokemonPokedex_Scene pbRefresh end if Input.trigger?(Input::ACTION) - pbPlayDecisionSE + pbSEPlay("GUI pokedex open") @sprites["pokedex"].active = false pbDexSearch @sprites["pokedex"].active = true elsif Input.trigger?(Input::BACK) + pbPlayCloseMenuSE if @searchResults - pbPlayCancelSE pbCloseSearch else - pbPlayCloseMenuSE break end elsif Input.trigger?(Input::USE) if $player.seen?(@sprites["pokedex"].species) - pbPlayDecisionSE + pbSEPlay("GUI pokedex open") pbDexEntry(@sprites["pokedex"].index) end end diff --git a/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb b/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb index 57cab9f4b..25be87921 100644 --- a/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb +++ b/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb @@ -498,6 +498,7 @@ class PokemonPokedexInfo_Scene elsif Input.trigger?(Input::USE) case @page when 1 # Info + pbPlayDecisionSE @show_battled_count = !@show_battled_count dorefresh = true when 2 # Area @@ -562,12 +563,9 @@ class PokemonPokedexInfo_Scene if Input.trigger?(Input::ACTION) pbSEStop Pokemon.play_cry(@species, @form) - elsif Input.trigger?(Input::BACK) + elsif Input.trigger?(Input::BACK) || Input.trigger?(Input::USE) pbPlayCloseMenuSE break - elsif Input.trigger?(Input::USE) - pbPlayDecisionSE - break end end end diff --git a/Data/Scripts/016_UI/014_UI_Save.rb b/Data/Scripts/016_UI/014_UI_Save.rb index 9567553d2..62ba8dc5e 100644 --- a/Data/Scripts/016_UI/014_UI_Save.rb +++ b/Data/Scripts/016_UI/014_UI_Save.rb @@ -15,8 +15,8 @@ def pbEmergencySave end end if Game.save - pbMessage("\\se[]" + _INTL("The game was saved.") + "\\me[GUI save game]\\wtnp[30]") - pbMessage("\\se[]" + _INTL("The previous save file has been backed up.") + "\\wtnp[30]") + pbMessage("\\se[]" + _INTL("The game was saved.") + "\\me[GUI save game]\\wtnp[20]") + pbMessage("\\se[]" + _INTL("The previous save file has been backed up.") + "\\wtnp[20]") else pbMessage("\\se[]" + _INTL("Save failed.") + "\\wtnp[30]") end @@ -114,7 +114,7 @@ class PokemonSaveScreen $game_temp.begun_new_game = false pbSEPlay("GUI save choice") if Game.save - pbMessage("\\se[]" + _INTL("{1} saved the game.", $player.name) + "\\me[GUI save game]\\wtnp[30]") + pbMessage("\\se[]" + _INTL("{1} saved the game.", $player.name) + "\\me[GUI save game]\\wtnp[20]") ret = true else pbMessage("\\se[]" + _INTL("Save failed.") + "\\wtnp[30]") diff --git a/Data/Scripts/016_UI/015_UI_Options.rb b/Data/Scripts/016_UI/015_UI_Options.rb index 34129f17c..cb4a2285b 100644 --- a/Data/Scripts/016_UI/015_UI_Options.rb +++ b/Data/Scripts/016_UI/015_UI_Options.rb @@ -27,7 +27,7 @@ class PokemonSystem @screensize = (Settings::SCREEN_SCALE * 2).floor - 1 # 0=half size, 1=full size, 2=full-and-a-half size, 3=double size @language = 0 # Language (see also Settings::LANGUAGES in script PokemonSystem) @runstyle = 0 # Default movement speed (0=walk, 1=run) - @bgmvolume = 100 # Volume of background music and ME + @bgmvolume = 80 # Volume of background music and ME @sevolume = 100 # Volume of sound effects @textinput = 0 # Text input mode (0=cursor, 1=keyboard) end diff --git a/Data/Scripts/016_UI/024_UI_MysteryGift.rb b/Data/Scripts/016_UI/024_UI_MysteryGift.rb index d6ea1aa15..ef9558d92 100644 --- a/Data/Scripts/016_UI/024_UI_MysteryGift.rb +++ b/Data/Scripts/016_UI/024_UI_MysteryGift.rb @@ -381,7 +381,7 @@ def pbReceiveMysteryGift(id) gift[2].obtain_map = $game_map&.map_id || 0 was_owned = $player.owned?(gift[2].species) if pbAddPokemonSilent(gift[2]) - pbMessage("\\me[Pkmn get]" + _INTL("{1} received {2}!", $player.name, gift[2].name)) + pbMessage(_INTL("{1} received {2}!", $player.name, gift[2].name) + "\\me[Pkmn get]\\wtnp[80]") $player.mystery_gifts[index] = [id] # Show Pokédex entry for new species if it hasn't been owned before if Settings::SHOW_NEW_SPECIES_POKEDEX_ENTRY_MORE_OFTEN && !was_owned && @@ -403,15 +403,22 @@ def pbReceiveMysteryGift(id) $bag.add(item, qty) itm = GameData::Item.get(item) itemname = (qty > 1) ? itm.portion_name_plural : itm.portion_name - if itm.is_machine? # TM or HM - pbMessage("\\me[Item get]" + _INTL("You obtained \\c[1]{1} {2}\\c[0]!", itemname, - GameData::Move.get(itm.move).name) + "\\wtnp[30]") + if item == :DNASPLICERS + pbMessage("\\me[Item get]" + _INTL("You obtained \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[40]") + elsif itm.is_machine? # TM or HM + if qty > 1 + pbMessage("\\me[Machine get]" + _INTL("You obtained {1} \\c[1]{2} {3}\\c[0]!", + qty, itemname, GameData::Move.get(itm.move).name) + "\\wtnp[70]") + else + pbMessage("\\me[Machine get]" + _INTL("You obtained \\c[1]{1} {2}\\c[0]!", itemname, + GameData::Move.get(itm.move).name) + "\\wtnp[70]") + end elsif qty > 1 - pbMessage("\\me[Item get]" + _INTL("You obtained {1} \\c[1]{2}\\c[0]!", qty, itemname) + "\\wtnp[30]") + pbMessage("\\me[Item get]" + _INTL("You obtained {1} \\c[1]{2}\\c[0]!", qty, itemname) + "\\wtnp[40]") elsif itemname.starts_with_vowel? - pbMessage("\\me[Item get]" + _INTL("You obtained an \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage("\\me[Item get]" + _INTL("You obtained an \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[40]") else - pbMessage("\\me[Item get]" + _INTL("You obtained a \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[30]") + pbMessage("\\me[Item get]" + _INTL("You obtained a \\c[1]{1}\\c[0]!", itemname) + "\\wtnp[40]") end $player.mystery_gifts[index] = [id] return true diff --git a/Data/Scripts/017_Minigames/004_Minigame_VoltorbFlip.rb b/Data/Scripts/017_Minigames/004_Minigame_VoltorbFlip.rb index 27c804c25..5166777e9 100644 --- a/Data/Scripts/017_Minigames/004_Minigame_VoltorbFlip.rb +++ b/Data/Scripts/017_Minigames/004_Minigame_VoltorbFlip.rb @@ -297,7 +297,7 @@ class VoltorbFlip @sprites["animation"].bitmap.clear end # Unskippable text block, parameter 2 = wait time (corresponds to ME length) - pbMessage("\\me[Voltorb Flip game over]" + _INTL("Oh no! You get 0 Coins!") + "\\wtnp[50]") + pbMessage("\\me[Voltorb Flip game over]" + _INTL("Oh no! You get 0 Coins!") + "\\wtnp[80]") pbShowAndDispose @sprites["mark"].bitmap.clear if @level > 1 diff --git a/Data/Scripts/018_Alternate battle modes/001_SafariZone.rb b/Data/Scripts/018_Alternate battle modes/001_SafariZone.rb index b8c3d14da..e336c6541 100644 --- a/Data/Scripts/018_Alternate battle modes/001_SafariZone.rb +++ b/Data/Scripts/018_Alternate battle modes/001_SafariZone.rb @@ -93,7 +93,7 @@ EventHandlers.add(:on_player_step_taken_can_transfer, :safari_game_counter, next if Settings::SAFARI_STEPS == 0 || !pbInSafari? || pbSafariState.decision != 0 pbSafariState.steps -= 1 next if pbSafariState.steps > 0 - pbMessage(_INTL("PA: Ding-dong!") + "\1") + pbMessage("\\se[Safari Zone end]" + _INTL("PA: Ding-dong!") + "\1") pbMessage(_INTL("PA: Your safari game is over!")) pbSafariState.decision = 1 pbSafariState.pbGoToStart