fusion incense

This commit is contained in:
infinitefusion
2022-04-30 11:40:01 -04:00
parent ce93ca7919
commit e97a845870
3 changed files with 14 additions and 18 deletions

View File

@@ -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
}

View File

@@ -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

Binary file not shown.