From 3a4adda6ba85a52d46f7f0b2e7aeb101db6c9dbc Mon Sep 17 00:00:00 2001 From: darkfire006 Date: Thu, 29 Dec 2022 21:08:20 -0600 Subject: [PATCH] Implement Lum Berry --- P3D/Pokemon/Items/Berries/LumBerry.vb | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/P3D/Pokemon/Items/Berries/LumBerry.vb b/P3D/Pokemon/Items/Berries/LumBerry.vb index 6e9506c98..9f433f67e 100644 --- a/P3D/Pokemon/Items/Berries/LumBerry.vb +++ b/P3D/Pokemon/Items/Berries/LumBerry.vb @@ -17,6 +17,47 @@ Namespace Items.Berries Me.Type = Element.Types.Flying Me.Power = 80 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