2016-09-07 18:50:38 +02:00
Namespace Items . Berries
2016-09-19 04:34:12 +02:00
<Item(2005, "Leppa")>
2016-09-07 18:50:38 +02:00
Public Class LeppaBerry
Inherits Berry
Public Sub New ( )
2016-09-20 05:42:56 +02:00
MyBase . New ( 14400 , " A Berry to be consumed by a Pokémon. If a Pokémon holds one, it can restore 10 PP to a depleted move during battle. " , " 2.8cm " , " Very Hard " , 2 , 3 )
2016-09-07 18:50:38 +02:00
Me . Spicy = 10
Me . Dry = 0
Me . Sweet = 10
Me . Bitter = 10
Me . Sour = 10
Me . Type = Element . Types . Fighting
2019-09-22 23:43:13 +02:00
Me . Power = 80
2023-05-31 00:54:26 +02:00
Me . JuiceColor = " red "
Me . JuiceGroup = 1
2016-09-07 18:50:38 +02:00
End Sub
Public Overrides Sub Use ( )
2017-08-11 09:01:17 +02:00
Dim selScreen = New PartyScreen ( Core . CurrentScreen , Me , AddressOf Me . UseOnPokemon , " Use " & Me . Name , True ) With { . Mode = Screens . UI . ISelectionScreen . ScreenMode . Selection , . CanExit = True }
AddHandler selScreen . SelectedObject , AddressOf UseItemhandler
Core . SetScreen ( selScreen )
2016-09-07 18:50:38 +02:00
End Sub
Public Overrides Function UseOnPokemon ( ByVal PokeIndex As Integer ) As Boolean
Core . SetScreen ( New ChooseAttackScreen ( Core . CurrentScreen , Core . Player . Pokemons ( PokeIndex ) , True , True , AddressOf UseOnAttack ) )
2023-03-27 17:09:08 +02:00
Dim s As Screen = Core . CurrentScreen
While s . Identification <> Screen . Identifications . BattleScreen AndAlso s . PreScreen IsNot Nothing
s = s . PreScreen
End While
If s . Identification = Screen . Identifications . BattleScreen Then
Return False
Else
Return True
2023-03-15 15:40:46 +01:00
End If
2016-09-07 18:50:38 +02:00
End Function
Private Sub UseOnAttack ( ByVal Pokemon As Pokemon , ByVal AttackIndex As Integer )
If Pokemon . Attacks ( AttackIndex ) . CurrentPP < Pokemon . Attacks ( AttackIndex ) . MaxPP Then
Pokemon . Attacks ( AttackIndex ) . CurrentPP = CInt ( MathHelper . Clamp ( Pokemon . Attacks ( AttackIndex ) . CurrentPP + 10 , 0 , Pokemon . Attacks ( AttackIndex ) . MaxPP ) )
Dim t As String = " Restored PP of~ " & Pokemon . Attacks ( AttackIndex ) . Name & " . "
t &= RemoveItem ( )
2021-08-22 16:10:06 +02:00
SoundManager . PlaySound ( " Use_Item " , False )
2016-09-07 18:50:38 +02:00
Screen . TextBox . Show ( t , { } , True , True )
2023-03-27 17:09:08 +02:00
Dim s As Screen = Core . CurrentScreen
While s . Identification <> Screen . Identifications . BattleScreen AndAlso s . PreScreen IsNot Nothing
s = s . PreScreen
End While
If s . Identification = Screen . Identifications . BattleScreen Then
Dim TempBattleScreen As BattleSystem . BattleScreen = CType ( s , BattleSystem . BattleScreen )
TempBattleScreen . BattleQuery . Clear ( )
TempBattleScreen . BattleQuery . Add ( TempBattleScreen . FocusBattle ( ) )
TempBattleScreen . BattleQuery . Insert ( 0 , New BattleSystem . ToggleMenuQueryObject ( True ) )
TempBattleScreen . Battle . InitializeRound ( TempBattleScreen , New BattleSystem . Battle . RoundConst With { . StepType = BattleSystem . Battle . RoundConst . StepTypes . Item , . Argument = Me . ID . ToString ( ) } )
Core . SetScreen ( TempBattleScreen )
End If
2016-09-07 18:50:38 +02:00
Else
Screen . TextBox . Show ( " The move already has~full PP. " , { } , True , True )
End If
End Sub
End Class
2016-09-19 04:34:12 +02:00
End Namespace