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