P3D-Legacy/P3D/Pokemon/Items/Medicine/Revive.vb

51 lines
1.9 KiB
VB.net
Raw Normal View History

Namespace Items.Medicine
2016-09-07 18:50:38 +02:00
<Item(39, "Revive")>
2016-09-07 18:50:38 +02:00
Public Class Revive
Inherits MedicineItem
2016-09-07 18:50:38 +02:00
2016-09-20 05:11:31 +02:00
Public Overrides ReadOnly Property IsHealingItem As Boolean = True
Public Overrides ReadOnly Property Description As String = "A medicine that can revive fainted Pokémon. It also restores half of a fainted Pokémon's HP."
Public Overrides ReadOnly Property PokeDollarPrice As Integer = 1500
2016-09-07 18:50:38 +02:00
2016-09-20 05:11:31 +02:00
Public Sub New()
_textureRectangle = New Rectangle(360, 24, 24, 24)
2016-09-07 18:50:38 +02:00
End Sub
Public Overrides Sub Use()
If CBool(GameModeManager.GetGameRuleValue("CanUseHealItem", "1")) = False Then
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
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
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)
If Pokemon.Status = P3D.Pokemon.StatusProblems.Fainted Then
Pokemon.Status = P3D.Pokemon.StatusProblems.None
2016-09-07 18:50:38 +02:00
Pokemon.HP = CInt(Math.Floor(Pokemon.MaxHP / 2))
SoundManager.PlaySound("Use_Item", False)
2016-09-07 18:50:38 +02:00
Screen.TextBox.Show(Pokemon.GetDisplayName() & "~is revitalized.", {}, False, False)
PlayerStatistics.Track("[17]Medicine Items used", 1)
RemoveItem()
Return True
Else
Screen.TextBox.Show("Cannot use revive~on this Pokémon.", {}, False, False)
Return False
End If
End Function
End Class
End Namespace