mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-08-22 02:08:32 +02:00
fixed fake-out/first impression working on 2 turns fixed protecting move breaking messages fixed trapping/binding moves and abilities fixed flinch message popping up unnecessarily updated natural gift BP calculation updated some moves' contest category and other stats added roseli, kee, maranga berry effects added alolan pokemon abilities added smacking down effect added terrain as well as its effects replaced polkadot bow (no use) with berserk gene other minor fixes such as typos, captalizations wrapping up other commits
225 lines
8.2 KiB
VB.net
225 lines
8.2 KiB
VB.net
Namespace Items
|
|
|
|
Public MustInherit Class Berry
|
|
|
|
Inherits MedicineItem
|
|
|
|
Public Enum Flavours
|
|
Spicy
|
|
Dry
|
|
Sweet
|
|
Bitter
|
|
Sour
|
|
End Enum
|
|
|
|
Public PhaseTime As Integer
|
|
|
|
Public Size As String
|
|
Public Firmness As String
|
|
Public BerryIndex As Integer
|
|
Public minBerries As Integer
|
|
Public maxBerries As Integer
|
|
|
|
Public Spicy As Integer = 0
|
|
Public Dry As Integer = 0
|
|
Public Sweet As Integer = 0
|
|
Public Bitter As Integer = 0
|
|
Public Sour As Integer = 0
|
|
|
|
Public WinterGrow As Integer = 0
|
|
Public SpringGrow As Integer = 3
|
|
Public SummerGrow As Integer = 2
|
|
Public FallGrow As Integer = 1
|
|
|
|
Public Type As Element.Types
|
|
Public Power As Integer = 80
|
|
|
|
Public Overrides ReadOnly Property PokeDollarPrice As Integer = 100
|
|
Public Overrides ReadOnly Property FlingDamage As Integer = 10
|
|
Public Overrides ReadOnly Property ItemType As ItemTypes = ItemTypes.Plants
|
|
Public Overrides ReadOnly Property SortValue As Integer
|
|
Public Overrides ReadOnly Property Description As String
|
|
|
|
Public Sub New(ByVal PhaseTime As Integer, ByVal Description As String, ByVal Size As String, ByVal Firmness As String, ByVal minBerries As Integer, ByVal maxBerries As Integer)
|
|
SortValue = ID - 1999
|
|
|
|
Me.PhaseTime = PhaseTime
|
|
Me.Size = Size
|
|
Me.Firmness = Firmness
|
|
BerryIndex = Me.ID - 2000
|
|
Me.minBerries = minBerries
|
|
Me.maxBerries = maxBerries
|
|
|
|
Dim x As Integer = BerryIndex * 128
|
|
Dim y As Integer = 0
|
|
While x >= 512
|
|
x -= 512
|
|
y += 32
|
|
End While
|
|
|
|
_Description = Description
|
|
_textureSource = "Textures\Berries"
|
|
_textureRectangle = New Rectangle(x, y, 32, 32)
|
|
End Sub
|
|
|
|
Public ReadOnly Property Flavour() As Flavours
|
|
Get
|
|
Dim returnFlavour As Flavours = Flavours.Spicy
|
|
Dim highestFlavour As Integer = Spicy
|
|
|
|
If Dry > highestFlavour Then
|
|
highestFlavour = Dry
|
|
returnFlavour = Flavours.Dry
|
|
End If
|
|
If Sweet > highestFlavour Then
|
|
highestFlavour = Sweet
|
|
returnFlavour = Flavours.Sweet
|
|
End If
|
|
If Bitter > highestFlavour Then
|
|
highestFlavour = Bitter
|
|
returnFlavour = Flavours.Bitter
|
|
End If
|
|
If Sour > highestFlavour Then
|
|
highestFlavour = Sour
|
|
returnFlavour = Flavours.Sour
|
|
End If
|
|
|
|
Return returnFlavour
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Returns if a Pokémon likes this berry based on its flavour.
|
|
''' </summary>
|
|
''' <param name="p">The Pokémon to test this berry for.</param>
|
|
Public Function PokemonLikes(ByVal p As Pokemon) As Boolean
|
|
Select Case p.Nature
|
|
Case Pokemon.Natures.Lonely
|
|
If Flavour = Flavours.Spicy Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Sour Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Adamant
|
|
If Flavour = Flavours.Spicy Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Dry Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Naughty
|
|
If Flavour = Flavours.Spicy Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Bitter Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Brave
|
|
If Flavour = Flavours.Spicy Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Sweet Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Bold
|
|
If Flavour = Flavours.Sour Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Spicy Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Impish
|
|
If Flavour = Flavours.Sour Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Dry Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Lax
|
|
If Flavour = Flavours.Sour Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Bitter Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Relaxed
|
|
If Flavour = Flavours.Sour Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Sweet Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Modest
|
|
If Flavour = Flavours.Dry Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Spicy Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Mild
|
|
If Flavour = Flavours.Dry Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Sour Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Rash
|
|
If Flavour = Flavours.Dry Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Bitter Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Quiet
|
|
If Flavour = Flavours.Dry Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Sweet Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Calm
|
|
If Flavour = Flavours.Bitter Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Spicy Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Gentle
|
|
If Flavour = Flavours.Bitter Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Sour Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Careful
|
|
If Flavour = Flavours.Bitter Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Dry Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Sassy
|
|
If Flavour = Flavours.Bitter Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Sweet Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Timid
|
|
If Flavour = Flavours.Sweet Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Spicy Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Hasty
|
|
If Flavour = Flavours.Sweet Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Sour Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Jolly
|
|
If Flavour = Flavours.Sweet Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Dry Then
|
|
Return False
|
|
End If
|
|
Case Pokemon.Natures.Naive
|
|
If Flavour = Flavours.Sweet Then
|
|
Return True
|
|
ElseIf Flavour = Flavours.Bitter Then
|
|
Return False
|
|
End If
|
|
Case Else
|
|
Return True
|
|
End Select
|
|
Return True
|
|
End Function
|
|
|
|
End Class
|
|
|
|
End Namespace |