P3D-Legacy/P3D/Pokemon/Items/Berries/LumBerry.vb

67 lines
2.4 KiB
VB.net

Namespace Items.Berries
<Item(2008, "Lum")>
Public Class LumBerry
Inherits Berry
Public Sub New()
MyBase.New(43200, "A berry to be consumed by a Pokémon. If a Pokémon holds one, it can recover from any status condition during battle.", "3.4cm", "Super Hard", 1, 2)
Me.Spicy = 10
Me.Dry = 10
Me.Sweet = 10
Me.Bitter = 10
Me.Sour = 0
Me.Type = Element.Types.Flying
Me.Power = 80
Me.JuiceColor = "green"
Me.JuiceGroup = 2
End Sub
Public Overrides Sub Use()
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)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)
If Pokemon.Status = P3D.Pokemon.StatusProblems.Fainted Then
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & "~is fainted!", {})
Return False
Else
If Pokemon.Status <> P3D.Pokemon.StatusProblems.None Or Pokemon.HasVolatileStatus(P3D.Pokemon.VolatileStatus.Confusion) = True Then
Pokemon.Status = P3D.Pokemon.StatusProblems.None
If Pokemon.HasVolatileStatus(P3D.Pokemon.VolatileStatus.Confusion) = True Then
Pokemon.RemoveVolatileStatus(P3D.Pokemon.VolatileStatus.Confusion)
End If
Screen.TextBox.reDelay = 0.0F
Dim t As String = Pokemon.GetDisplayName() & "~gets healed up!"
t &= RemoveItem()
SoundManager.PlaySound("Use_Item", False)
Screen.TextBox.Show(t, {})
PlayerStatistics.Track("[17]Medicine Items used", 1)
Return True
Else
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & "~is fully healed!", {}, True, True)
Return False
End If
End If
End Function
End Class
End Namespace