Hello,
I made this script for Whirlpool in HGSS Style it works when going up and down but left and right goes down can anyone help me?
this is the script
I made this script for Whirlpool in HGSS Style it works when going up and down but left and right goes down can anyone help me?
this is the script
Spoiler:
Code:
#===============================================================================
# Whirlpool
#===============================================================================
def Kernel.pbPassWhirlpool(event=nil)
event = $game_player if !event
return if !event
if event.direction!=8 #
oldthrough = event.through
oldmovespeed = event.move_speed
terrain = Kernel.pbFacingTerrainTag
return if !PBTerrain.isWhirlpool?(terrain)
event.through = true
event.move_speed = 0.5
loop do
event.move_down(false)
terrain = pbGetTerrainTag(event)
break if !PBTerrain.isWhirlpool?(terrain)
end
event.through = oldthrough
event.move_speed = oldmovespeed
elsif event.direction!=2
oldthrough = event.through
oldmovespeed = event.move_speed
terrain = Kernel.pbFacingTerrainTag
return if !PBTerrain.isWhirlpool?(terrain)
event.through = true
event.move_speed = 0.5
loop do
event.move_up(false)
terrain = pbGetTerrainTag(event)
break if !PBTerrain.isWhirlpool?(terrain)
end
event.through = oldthrough
event.move_speed = oldmovespeed
elsif event.direction!=4
oldthrough = event.through
oldmovespeed = event.move_speed
terrain = Kernel.pbFacingTerrainTag
return if !PBTerrain.isWhirlpool?(terrain)
event.through = true
event.move_speed = 0.5
loop do
event.move_left(false)
terrain = pbGetTerrainTag(event)
break if !PBTerrain.isWhirlpool?(terrain)
end
event.through = oldthrough
event.move_speed = oldmovespeed
elsif event.direction!=6
oldthrough = event.through
oldmovespeed = event.move_speed
terrain = Kernel.pbFacingTerrainTag
return if !PBTerrain.isWhirlpool?(terrain)
event.through = true
event.move_speed = 0.5
loop do
event.move_right(false)
terrain = pbGetTerrainTag(event)
break if !PBTerrain.isWhirlpool?(terrain)
end
event.through = oldthrough
event.move_speed = oldmovespeed
end
end
def Kernel.pbWhirlpool
move = getID(PBMoves,:WHIRLPOOL)
movefinder = Kernel.pbCheckMove(move)
if !pbCheckHiddenMoveBadge(BADGEFORWHIRLPOOL,false) || (!$DEBUG && !movefinder)
Kernel.pbMessage(_INTL("A wall of water is crashing down with a mighty roar."))
return false
end
if Kernel.pbConfirmMessage(_INTL("It's a large Whirlpool. Would you like to use Whirlpool?"))
speciesname = (movefinder) ? movefinder.name : $Trainer.name
Kernel.pbMessage(_INTL("{1} used {2}!",speciesname,PBMoves.getName(move)))
pbHiddenMoveAnimation(movefinder)
pbPassWhirlpool
return true
end
return false
end
Events.onAction+=proc{|sender,e|
terrain = Kernel.pbFacingTerrainTag
if terrain==PBTerrain::Whirlpool
Kernel.pbWhirlpool
return
end
}
HiddenMoveHandlers::CanUseMove.add(:WHIRLPOOL,proc{|move,pkmn,showmsg|
return false if !pbCheckHiddenMoveBadge(BADGEFORWHIRLPOOL,showmsg)
if Kernel.pbFacingTerrainTag!=PBTerrain::Whirlpool
Kernel.pbMessage(_INTL("Can't use that here.")) if showmsg
return false
end
return true
})
HiddenMoveHandlers::UseMove.add(:WHIRLPOOL,proc{|move,pokemon|
if !pbHiddenMoveAnimation(pokemon)
Kernel.pbMessage(_INTL("{1} used {2}!",pokemon.name,PBMoves.getName(move)))
end
Kernel.pbPassWhirlpool
return true
})