From bd7a15d1fc5feb49f7af4458ce82827d8b98338e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Gr=C3=BCnder?= Date: Sat, 27 Jul 2024 23:24:31 +0200 Subject: [PATCH 1/2] Make black/white flute toggleable --- Data/Scripts/013_Items/002_Item_Effects.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Data/Scripts/013_Items/002_Item_Effects.rb b/Data/Scripts/013_Items/002_Item_Effects.rb index 078a819bf..1f7099d8d 100644 --- a/Data/Scripts/013_Items/002_Item_Effects.rb +++ b/Data/Scripts/013_Items/002_Item_Effects.rb @@ -148,17 +148,19 @@ Events.onStepTaken += proc { ItemHandlers::UseInField.add(:BLACKFLUTE, proc { |item| pbUseItemMessage(item) - pbMessage(_INTL("Wild Pokémon will be repelled.")) - $PokemonMap.blackFluteUsed = true + message = $PokemonMap.blackFluteUsed ? "Wild Pokemon will no longer be repelled.": "Wild Pokémon will be repelled." + pbMessage(_INTL(message)) + $PokemonMap.blackFluteUsed = !$PokemonMap.blackFluteUsed $PokemonMap.whiteFluteUsed = false next 1 }) ItemHandlers::UseInField.add(:WHITEFLUTE, proc { |item| pbUseItemMessage(item) - pbMessage(_INTL("Wild Pokémon will be lured.")) + message = $PokemonMap.whiteFluteUsed ? "Wild Pokemon will no longer be lured.": "Wild Pokémon will be lured." + pbMessage(_INTL(message)) + $PokemonMap.whiteFluteUsed = !$PokemonMap.whiteFluteUsed $PokemonMap.blackFluteUsed = false - $PokemonMap.whiteFluteUsed = true next 1 }) From f7d05eca58a628955980ac5f9d8c69b320b86012 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Gr=C3=BCnder?= Date: Sat, 27 Jul 2024 23:24:48 +0200 Subject: [PATCH 2/2] Keep black/white flute when entering new route --- Data/Scripts/012_Overworld/001_Overworld.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Data/Scripts/012_Overworld/001_Overworld.rb b/Data/Scripts/012_Overworld/001_Overworld.rb index 72bffb278..f7f5a4669 100644 --- a/Data/Scripts/012_Overworld/001_Overworld.rb +++ b/Data/Scripts/012_Overworld/001_Overworld.rb @@ -283,7 +283,13 @@ Events.onMapChange += proc { |_sender, e| if new_map_metadata && new_map_metadata.teleport_destination $PokemonGlobal.healingSpot = new_map_metadata.teleport_destination end - $PokemonMap.clear if $PokemonMap + if $PokemonMap + blackFluteUsed = $PokemonMap.blackFluteUsed + whiteFluteUsed = $PokemonMap.whiteFluteUsed + $PokemonMap.clear + $PokemonMap.blackFluteUsed = blackFluteUsed + $PokemonMap.whiteFluteUsed = whiteFluteUsed + end $PokemonEncounters.setup($game_map.map_id) if $PokemonEncounters $PokemonGlobal.visitedMaps[$game_map.map_id] = true next if old_map_ID == 0 || old_map_ID == $game_map.map_id