Imports P3D.Items ''' ''' An item the player stores in their inventory. ''' Public Class GameModeItem Inherits Item Public gmTextureSource As String = "Items\GameModeItems" Public gmPluralName As String = gmName Public gmPrice As Integer = 0 Public gmBattlePointsPrice As Integer = 1 Public gmItemType As ItemTypes = ItemTypes.Standard Public gmCatchMultiplier As Single = 1.0F Public gmMaxStack As Integer = 999 Public gmFlingDamage As Integer = 30 Public gmCanBeTraded As Boolean = True Public gmCanBeHeld As Boolean = True Public gmCanBeUsed As Boolean = True Public gmCanBeUsedInBattle As Boolean = True Public gmCanBeTossed As Boolean = True Public gmBattleSelectPokemon As Boolean = True 'Medicine Item Public gmIsHealingItem As Boolean = False Public gmHealHPAmount As Integer = 0 Public gmCureStatusEffects As List(Of Pokemon.StatusProblems) 'Evolution Item Public gmIsEvolutionItem As Boolean = False Public gmEvolutionPokemon As List(Of Integer) 'Mega Stone Item Public gmMegaPokemonNumber As Integer Public Sub New() IsGameModeItem = True End Sub ''' ''' The plural name of the item. ''' Public Overrides ReadOnly Property PluralName As String Get Return gmPluralName End Get End Property ''' ''' The price of this item if the player purchases it in exchange for PokéDollars. This halves when selling an item to the store. ''' Public Overrides ReadOnly Property PokeDollarPrice As Integer = gmPrice ''' ''' The price of this item if the player purchases it exchange for BattlePoints. ''' Public Overrides ReadOnly Property BattlePointsPrice As Integer = gmBattlePointsPrice ''' ''' The type of this item. This also controls in which bag this item gets sorted. ''' Public Overrides ReadOnly Property ItemType As ItemTypes = gmItemType ''' ''' The default catch multiplier if the item gets used as a Pokéball. ''' Public Overrides ReadOnly Property CatchMultiplier As Single = gmCatchMultiplier ''' ''' The maximum amount of this item type (per ID) that can be stored in the bag. ''' Public Overrides ReadOnly Property MaxStack As Integer = gmMaxStack ''' ''' A value that can be used to sort items in the bag after. Lower values make items appear closer to the top. ''' Public Overrides ReadOnly Property SortValue As Integer = 0 ''' ''' The bag description of this item. ''' Public Overrides ReadOnly Property Description As String = gmDescription ''' ''' The damage the Fling move does when this item is attached to a Pokémon. ''' Public Overrides ReadOnly Property FlingDamage As Integer = gmFlingDamage ''' ''' If this item can be traded in for money. ''' Public Overrides ReadOnly Property CanBeTraded As Boolean = gmCanBeTraded ''' ''' If this item can be given to a Pokémon. ''' Public Overrides ReadOnly Property CanBeHeld As Boolean = gmCanBeHeld ''' ''' If this item can be used from the bag. ''' Public Overrides ReadOnly Property CanBeUsed As Boolean = gmCanBeUsed ''' ''' If this item can be used in battle. ''' Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = gmCanBeUsedInBattle ''' ''' If this item can be tossed in the bag. ''' Public Overrides ReadOnly Property CanBeTossed As Boolean = gmCanBeTossed ''' ''' If this item requires the player to select a Pokémon to use the item on in battle. ''' Public Overrides ReadOnly Property BattleSelectPokemon As Boolean = gmBattleSelectPokemon ''' ''' If this item is a Healing item. ''' Public Overrides ReadOnly Property IsHealingItem As Boolean = gmIsHealingItem ''' ''' The item gets used from the bag. ''' Public Overrides Sub Use() Logger.Debug("PLACEHOLDER FOR GAMEMODE ITEM USE") End Sub ''' ''' A method that gets used when the item is applied to a Pokémon. Returns True if the action was successful. ''' ''' The Index of the Pokémon in party. Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean If PokeIndex < 0 Or PokeIndex > 5 Then Throw New ArgumentOutOfRangeException("PokeIndex", PokeIndex, "The index for a Pokémon in a player's party can only be between 0 and 5.") End If Logger.Debug("PLACEHOLDER FOR GAMEMODE ITEM USE ON POKEMON") Return False End Function End Class