From e97a8458702be1e15d80a32b428ea8d66dc47f8b Mon Sep 17 00:00:00 2001 From: infinitefusion Date: Sat, 30 Apr 2022 11:40:01 -0400 Subject: [PATCH] fusion incense --- Data/Scripts/012_Overworld/001_Overworld.rb | 9 ++++++-- Data/Scripts/013_Items/002_Item_Effects.rb | 23 ++++++-------------- Data/System.rxdata | Bin 27385 -> 27385 bytes 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/Data/Scripts/012_Overworld/001_Overworld.rb b/Data/Scripts/012_Overworld/001_Overworld.rb index a330ad35f..29374a679 100644 --- a/Data/Scripts/012_Overworld/001_Overworld.rb +++ b/Data/Scripts/012_Overworld/001_Overworld.rb @@ -160,6 +160,11 @@ Events.onStepTakenFieldMovement += proc { |_sender, e| end } +def isRepelActive() + return false if $game_switches[USED_AN_INCENSE_SWITCH] + return ($PokemonGlobal.repel > 0) || $PokemonTemp.pokeradar +end + def pbOnStepTaken(eventTriggered) if $game_player.move_route_forcing || pbMapInterpreterRunning? Events.onStepTakenFieldMovement.trigger(nil, $game_player) @@ -168,7 +173,7 @@ def pbOnStepTaken(eventTriggered) $PokemonGlobal.stepcount = 0 if !$PokemonGlobal.stepcount $PokemonGlobal.stepcount += 1 $PokemonGlobal.stepcount &= 0x7FFFFFFF - repel_active = ($PokemonGlobal.repel > 0) || $PokemonTemp.pokeradar + repel_active = isRepelActive() Events.onStepTaken.trigger(nil) # Events.onStepTakenFieldMovement.trigger(nil,$game_player) @@ -181,7 +186,7 @@ end # Start wild encounters while turning on the spot Events.onChangeDirection += proc { - repel_active = ($PokemonGlobal.repel > 0) || $PokemonTemp.pokeradar + repel_active = isRepelActive() pbBattleOnStepTaken(repel_active) if !$game_temp.in_menu } diff --git a/Data/Scripts/013_Items/002_Item_Effects.rb b/Data/Scripts/013_Items/002_Item_Effects.rb index 5f4aef2ed..b3fbb8286 100644 --- a/Data/Scripts/013_Items/002_Item_Effects.rb +++ b/Data/Scripts/013_Items/002_Item_Effects.rb @@ -97,23 +97,11 @@ def pbRepel(item, steps) return 3 end -def pbIncense(item, steps) - if $PokemonGlobal.repel > 0 - pbMessage(_INTL("But a repellent's effect still lingers from earlier.")) - return 0 - elsif $PokemonGlobal.incense > 0 - pbMessage(_INTL("But an incense's effect still lingers from earlier.")) - return 0 - end - pbUseItemMessage(item) - $PokemonGlobal.incense = steps - return 3 -end ItemHandlers::UseInField.add(:FUSIONREPEL, proc { |item| $game_switches[FORCE_ALL_WILD_FUSIONS_SWITCH] = true $game_switches[USED_AN_INCENSE_SWITCH] = true - next pbIncense(item, 50) + next pbRepel(item, 50) }) ItemHandlers::UseInField.add(:REPEL, proc { |item| @@ -132,12 +120,15 @@ Events.onStepTaken += proc { if $PokemonGlobal.repel > 0 && !$game_player.terrain_tag.ice # Shouldn't count down if on ice $PokemonGlobal.repel -= 1 if $PokemonGlobal.repel <= 0 + isIncense = $game_switches[USED_AN_INCENSE_SWITCH] $game_switches[FORCE_ALL_WILD_FUSIONS_SWITCH] = false $game_switches[USED_AN_INCENSE_SWITCH] = false + itemName= isIncense ? "incense" : "repellent" if $PokemonBag.pbHasItem?(:REPEL) || $PokemonBag.pbHasItem?(:SUPERREPEL) || - $PokemonBag.pbHasItem?(:MAXREPEL) - if pbConfirmMessage(_INTL("The repellent's effect wore off! Would you like to use another one?")) + $PokemonBag.pbHasItem?(:MAXREPEL) || + $PokemonBag.pbHasItem?(:FUSIONREPEL) + if pbConfirmMessage(_INTL("The {1}'s effect wore off! Would you like to use another one?",itemName)) ret = nil pbFadeOutIn { scene = PokemonBag_Scene.new @@ -149,7 +140,7 @@ Events.onStepTaken += proc { pbUseItem($PokemonBag, ret) if ret end else - pbMessage(_INTL("The repellent's effect wore off!")) + pbMessage(_INTL("The {1}'s effect wore off!",itemName)) end end end diff --git a/Data/System.rxdata b/Data/System.rxdata index c838fc3f83ed2d4aa0e30655fb9efedf877abe33..23e213b6a07d1b525bb2cb503e382f6a94fdecd4 100644 GIT binary patch delta 31 ncmex)mGS3Q#tnzWc%~l-u;O<}Ely4>NS*vJU2^ktF`*Cu@HY+O delta 31 ncmex)mGS3Q#tnzWc%%}ZTJbxi7AGebq)vXAF1h)+m{14+=`{_O