diff --git a/2.5DHero/2.5DHero/2.5DHero.vbproj b/2.5DHero/2.5DHero/2.5DHero.vbproj
index b42f3510e..429b11666 100644
--- a/2.5DHero/2.5DHero/2.5DHero.vbproj
+++ b/2.5DHero/2.5DHero/2.5DHero.vbproj
@@ -1401,6 +1401,13 @@
+
+
+
+
+
+
+
diff --git a/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb b/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb
index 99654dcfc..1397be471 100644
--- a/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb
+++ b/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb
@@ -6347,7 +6347,7 @@
Next
End If
- Core.Player.Pokemons(PokeIndex).GainEffort(BattleScreen.OppPokemon)
+ Core.Player.Pokemons(PokeIndex).GainEffort(Core.Player.Pokemons(PokeIndex), BattleScreen.OppPokemon)
Next
End If
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/DampRock.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/DampRock.vb
index 47a9213ff..d7f0a2c34 100644
--- a/2.5DHero/2.5DHero/Pokemon/Items/Standard/DampRock.vb
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/DampRock.vb
@@ -11,7 +11,7 @@
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
Public Sub New()
- _textureRectangle = New Rectangle(360, 72, 24, 24)
+ _textureRectangle = New Rectangle(360, 264, 24, 24)
End Sub
End Class
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/HeatRock.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/HeatRock.vb
index fbbb528c8..0ed4ca1a7 100644
--- a/2.5DHero/2.5DHero/Pokemon/Items/Standard/HeatRock.vb
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/HeatRock.vb
@@ -11,7 +11,7 @@
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
Public Sub New()
- _textureRectangle = New Rectangle(360, 72, 24, 24)
+ _textureRectangle = New Rectangle(384, 264, 24, 24)
End Sub
End Class
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/IcyRock.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/IcyRock.vb
index a1165771a..3d9dcd811 100644
--- a/2.5DHero/2.5DHero/Pokemon/Items/Standard/IcyRock.vb
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/IcyRock.vb
@@ -11,7 +11,7 @@
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
Public Sub New()
- _textureRectangle = New Rectangle(360, 72, 24, 24)
+ _textureRectangle = New Rectangle(432, 264, 24, 24)
End Sub
End Class
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/LightClay.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/LightClay.vb
index b43de8ace..9b9776f36 100644
--- a/2.5DHero/2.5DHero/Pokemon/Items/Standard/LightClay.vb
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/LightClay.vb
@@ -11,7 +11,7 @@
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
Public Sub New()
- _textureRectangle = New Rectangle(360, 72, 24, 24)
+ _textureRectangle = New Rectangle(456, 264, 24, 24)
End Sub
End Class
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/MachoBrace.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/MachoBrace.vb
new file mode 100644
index 000000000..4610abdca
--- /dev/null
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/MachoBrace.vb
@@ -0,0 +1,19 @@
+Namespace Items.Standard
+
+ -
+ Public Class MachoBrace
+
+ Inherits Item
+
+ Public Overrides ReadOnly Property Description As String = "An item to be held by a Pokémon. This stiff, heavy brace helps Pokemon grow strong but cuts Speed in battle."
+ Public Overrides ReadOnly Property PokeDollarPrice As Integer = 3000
+ Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
+ Public Overrides ReadOnly Property CanBeUsed As Boolean = False
+
+ Public Sub New()
+ _textureRectangle = New Rectangle(96, 288, 24, 24)
+ End Sub
+
+ End Class
+
+End Namespace
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerAnklet.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerAnklet.vb
new file mode 100644
index 000000000..c6a0c64bd
--- /dev/null
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerAnklet.vb
@@ -0,0 +1,19 @@
+Namespace Items.Standard
+
+
-
+ Public Class PowerAnklet
+
+ Inherits Item
+
+ Public Overrides ReadOnly Property Description As String = "An item to be held by a Pokémon. It reduces Speed but allows the holder's Speed stat to grow more after battling."
+ Public Overrides ReadOnly Property PokeDollarPrice As Integer = 3000
+ Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
+ Public Overrides ReadOnly Property CanBeUsed As Boolean = False
+
+ Public Sub New()
+ _textureRectangle = New Rectangle(240, 384, 24, 24)
+ End Sub
+
+ End Class
+
+End Namespace
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerBand.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerBand.vb
new file mode 100644
index 000000000..8d41192eb
--- /dev/null
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerBand.vb
@@ -0,0 +1,19 @@
+Namespace Items.Standard
+
+
-
+ Public Class PowerBand
+
+ Inherits Item
+
+ Public Overrides ReadOnly Property Description As String = "An item to be held by a Pokémon. It reduces Speed but allows the holder's Sp. Def stat to grow more after battling."
+ Public Overrides ReadOnly Property PokeDollarPrice As Integer = 3000
+ Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
+ Public Overrides ReadOnly Property CanBeUsed As Boolean = False
+
+ Public Sub New()
+ _textureRectangle = New Rectangle(216, 384, 24, 24)
+ End Sub
+
+ End Class
+
+End Namespace
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerBelt.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerBelt.vb
new file mode 100644
index 000000000..9688e3283
--- /dev/null
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerBelt.vb
@@ -0,0 +1,19 @@
+Namespace Items.Standard
+
+
-
+ Public Class PowerBelt
+
+ Inherits Item
+
+ Public Overrides ReadOnly Property Description As String = "An item to be held by a Pokémon. It reduces Speed but allows the holder's Defense stat to grow more after battling."
+ Public Overrides ReadOnly Property PokeDollarPrice As Integer = 3000
+ Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
+ Public Overrides ReadOnly Property CanBeUsed As Boolean = False
+
+ Public Sub New()
+ _textureRectangle = New Rectangle(168, 384, 24, 24)
+ End Sub
+
+ End Class
+
+End Namespace
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerBracer.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerBracer.vb
new file mode 100644
index 000000000..d628c6210
--- /dev/null
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerBracer.vb
@@ -0,0 +1,19 @@
+Namespace Items.Standard
+
+
-
+ Public Class PowerBracer
+
+ Inherits Item
+
+ Public Overrides ReadOnly Property Description As String = "An item to be held by a Pokémon. It reduces Speed but allows the holder's Attack stat to grow more after battling."
+ Public Overrides ReadOnly Property PokeDollarPrice As Integer = 3000
+ Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
+ Public Overrides ReadOnly Property CanBeUsed As Boolean = False
+
+ Public Sub New()
+ _textureRectangle = New Rectangle(144, 384, 24, 24)
+ End Sub
+
+ End Class
+
+End Namespace
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerLens.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerLens.vb
new file mode 100644
index 000000000..3de48a3e7
--- /dev/null
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerLens.vb
@@ -0,0 +1,19 @@
+Namespace Items.Standard
+
+
-
+ Public Class PowerLens
+
+ Inherits Item
+
+ Public Overrides ReadOnly Property Description As String = "An item to be held by a Pokémon. It reduces Speed but allows the holder's Sp. Atk stat to grow more after battling."
+ Public Overrides ReadOnly Property PokeDollarPrice As Integer = 3000
+ Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
+ Public Overrides ReadOnly Property CanBeUsed As Boolean = False
+
+ Public Sub New()
+ _textureRectangle = New Rectangle(192, 384, 24, 24)
+ End Sub
+
+ End Class
+
+End Namespace
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerWeight.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerWeight.vb
new file mode 100644
index 000000000..4cead0814
--- /dev/null
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/PowerWeight.vb
@@ -0,0 +1,19 @@
+Namespace Items.Standard
+
+
-
+ Public Class PowerWeight
+
+ Inherits Item
+
+ Public Overrides ReadOnly Property Description As String = "An item to be held by a Pokémon. It reduces Speed but allows the holder's maximum HP to grow more after battling."
+ Public Overrides ReadOnly Property PokeDollarPrice As Integer = 3000
+ Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
+ Public Overrides ReadOnly Property CanBeUsed As Boolean = False
+
+ Public Sub New()
+ _textureRectangle = New Rectangle(120, 288, 24, 24)
+ End Sub
+
+ End Class
+
+End Namespace
diff --git a/2.5DHero/2.5DHero/Pokemon/Items/Standard/SmoothRock.vb b/2.5DHero/2.5DHero/Pokemon/Items/Standard/SmoothRock.vb
index 23dbf5882..be2626eac 100644
--- a/2.5DHero/2.5DHero/Pokemon/Items/Standard/SmoothRock.vb
+++ b/2.5DHero/2.5DHero/Pokemon/Items/Standard/SmoothRock.vb
@@ -11,7 +11,7 @@
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
Public Sub New()
- _textureRectangle = New Rectangle(360, 72, 24, 24)
+ _textureRectangle = New Rectangle(408, 264, 24, 24)
End Sub
End Class
diff --git a/2.5DHero/2.5DHero/Pokemon/Monster/Pokemon.vb b/2.5DHero/2.5DHero/Pokemon/Monster/Pokemon.vb
index eab1891ea..6bd42a031 100644
--- a/2.5DHero/2.5DHero/Pokemon/Monster/Pokemon.vb
+++ b/2.5DHero/2.5DHero/Pokemon/Monster/Pokemon.vb
@@ -2676,7 +2676,7 @@ Public Class Pokemon
''' Adds Effort values (EV) to this Pokémon after defeated another Pokémon, if possible.
'''
''' The defeated Pokémon.
- Public Sub GainEffort(ByVal DefeatedPokemon As Pokemon)
+ Public Sub GainEffort(ByVal pokemon As Pokemon, ByVal DefeatedPokemon As Pokemon)
Dim allEV As Integer = EVHP + EVAttack + EVDefense + EVSpeed + EVSpAttack + EVSpDefense
If allEV < 510 Then
Dim maxGainEV As Integer = 0
@@ -2684,43 +2684,92 @@ Public Class Pokemon
maxGainEV = 510 - allEV
End If
If maxGainEV > 0 Then
- maxGainEV = CInt(MathHelper.Clamp(maxGainEV, 1, 3))
+ maxGainEV = CInt(MathHelper.Clamp(maxGainEV, 1, 6))
+ Select Case pokemon.Item.ID()
+ Case 582, 583, 584, 585, 586, 587 'EV Items
- If Me.EVHP < 255 And DefeatedPokemon.GiveEVHP > 0 Then
- Dim gainHPEV As Integer = DefeatedPokemon.GiveEVHP
- gainHPEV = CInt(MathHelper.Clamp(gainHPEV, 0, 255 - Me.EVHP))
- Me.EVHP += gainHPEV
- End If
+ If Me.EVHP < 252 And pokemon.Item.ID = 582 Then
+ Me.EVHP += CInt(MathHelper.Clamp(4, 0, 252 - Me.EVHP))
+ End If
- If Me.EVAttack < 255 And DefeatedPokemon.GiveEVAttack > 0 Then
- Dim gainAttackEV As Integer = DefeatedPokemon.GiveEVAttack
- gainAttackEV = CInt(MathHelper.Clamp(gainAttackEV, 0, 255 - Me.EVAttack))
- Me.EVAttack += gainAttackEV
- End If
+ If Me.EVAttack < 252 And pokemon.Item.ID = 583 Then
+ Me.EVAttack += CInt(MathHelper.Clamp(4, 0, 252 - Me.EVHP))
+ End If
- If Me.EVDefense < 255 And DefeatedPokemon.GiveEVDefense > 0 Then
- Dim gainDefenseEV As Integer = DefeatedPokemon.GiveEVDefense
- gainDefenseEV = CInt(MathHelper.Clamp(gainDefenseEV, 0, 255 - Me.EVDefense))
- Me.EVDefense += gainDefenseEV
- End If
+ If Me.EVDefense < 252 And pokemon.Item.ID = 584 Then
+ Me.EVDefense += CInt(MathHelper.Clamp(4, 0, 252 - Me.EVHP))
+ End If
- If Me.EVSpeed < 255 And DefeatedPokemon.GiveEVSpeed > 0 Then
- Dim gainSpeedEV As Integer = DefeatedPokemon.GiveEVSpeed
- gainSpeedEV = CInt(MathHelper.Clamp(gainSpeedEV, 0, 255 - Me.EVSpeed))
- Me.EVSpeed += gainSpeedEV
- End If
+ If Me.EVSpAttack < 252 And pokemon.Item.ID = 585 Then
+ Me.EVSpAttack += CInt(MathHelper.Clamp(4, 0, 252 - Me.EVHP))
+ End If
- If Me.EVSpAttack < 255 And DefeatedPokemon.GiveEVSpAttack > 0 Then
- Dim gainSpAttackEV As Integer = DefeatedPokemon.GiveEVSpAttack
- gainSpAttackEV = CInt(MathHelper.Clamp(gainSpAttackEV, 0, 255 - Me.EVSpAttack))
- Me.EVSpAttack += gainSpAttackEV
- End If
+ If Me.EVSpDefense < 252 And pokemon.Item.ID = 586 Then
+ Me.EVSpDefense += CInt(MathHelper.Clamp(4, 0, 252 - Me.EVHP))
+ End If
- If Me.EVSpDefense < 255 And DefeatedPokemon.GiveEVSpDefense > 0 Then
- Dim gainSpDefenseEV As Integer = DefeatedPokemon.GiveEVSpDefense
- gainSpDefenseEV = CInt(MathHelper.Clamp(gainSpDefenseEV, 0, 255 - Me.EVSpDefense))
- Me.EVSpDefense += gainSpDefenseEV
- End If
+ If Me.Speed < 252 And pokemon.Item.ID = 587 Then
+ Me.Speed += CInt(MathHelper.Clamp(4, 0, 252 - Me.EVHP))
+ End If
+
+ Case Else
+ 'Item 581 is Macho Brace
+
+ If Me.EVHP < 252 And DefeatedPokemon.GiveEVHP > 0 Then
+ Dim gainHPEV As Integer = DefeatedPokemon.GiveEVHP
+ If pokemon.Item.ID = 581 Then
+ gainHPEV *= 2
+ End If
+ gainHPEV = CInt(MathHelper.Clamp(gainHPEV, 0, 252 - Me.EVHP))
+ Me.EVHP += gainHPEV
+ End If
+
+ If Me.EVAttack < 252 And DefeatedPokemon.GiveEVAttack > 0 Then
+ Dim gainAttackEV As Integer = DefeatedPokemon.GiveEVAttack
+ If pokemon.Item.ID = 581 Then
+ gainAttackEV *= 2
+ End If
+ gainAttackEV = CInt(MathHelper.Clamp(gainAttackEV, 0, 252 - Me.EVAttack))
+ Me.EVAttack += gainAttackEV
+ End If
+
+ If Me.EVDefense < 252 And DefeatedPokemon.GiveEVDefense > 0 Then
+ Dim gainDefenseEV As Integer = DefeatedPokemon.GiveEVDefense
+ If pokemon.Item.ID = 581 Then
+ gainDefenseEV *= 2
+ End If
+ gainDefenseEV = CInt(MathHelper.Clamp(gainDefenseEV, 0, 252 - Me.EVDefense))
+ Me.EVDefense += gainDefenseEV
+ End If
+
+ If Me.EVSpAttack < 252 And DefeatedPokemon.GiveEVSpAttack > 0 Then
+ Dim gainSpAttackEV As Integer = DefeatedPokemon.GiveEVSpAttack
+ If pokemon.Item.ID = 581 Then
+ gainSpAttackEV *= 2
+ End If
+ gainSpAttackEV = CInt(MathHelper.Clamp(gainSpAttackEV, 0, 252 - Me.EVSpAttack))
+ Me.EVSpAttack += gainSpAttackEV
+ End If
+
+ If Me.EVSpDefense < 252 And DefeatedPokemon.GiveEVSpDefense > 0 Then
+ Dim gainSpDefenseEV As Integer = DefeatedPokemon.GiveEVSpDefense
+ If pokemon.Item.ID = 581 Then
+ gainSpDefenseEV *= 2
+ End If
+ gainSpDefenseEV = CInt(MathHelper.Clamp(gainSpDefenseEV, 0, 252 - Me.EVSpDefense))
+ Me.EVSpDefense += gainSpDefenseEV
+ End If
+
+ If Me.EVSpeed < 252 And DefeatedPokemon.GiveEVSpeed > 0 Then
+ Dim gainSpeedEV As Integer = DefeatedPokemon.GiveEVSpeed
+ If pokemon.Item.ID = 581 Then
+ gainSpeedEV *= 2
+ End If
+ gainSpeedEV = CInt(MathHelper.Clamp(gainSpeedEV, 0, 252 - Me.EVSpeed))
+ Me.EVSpeed += gainSpeedEV
+ End If
+
+ End Select
End If
End If
End Sub