diff --git a/P3D/Battle/BattleSystemV2/BattleCalculation.vb b/P3D/Battle/BattleSystemV2/BattleCalculation.vb index c72f3a861..61c76e6de 100644 --- a/P3D/Battle/BattleSystemV2/BattleCalculation.vb +++ b/P3D/Battle/BattleSystemV2/BattleCalculation.vb @@ -1297,7 +1297,7 @@ If Attack.Type.Type = Element.Types.Flying Then IT = 1.2F End If - Case 88, 273 'Silver powder, Insect Plate + Case 88, 273 'Silver Powder, Insect Plate If Attack.Type.Type = Element.Types.Bug Then IT = 1.2F End If @@ -1313,6 +1313,138 @@ If Attack.Type.Type = Element.Types.Psychic Then IT = 1.2F End If + Case 90 'Silk Scarf + If Attack.Type.Type = Element.Types.Normal Then + IT = 1.2F + End If + End Select + Select Case p.Item.ID + Case 635 'Fighting Gem + If Attack.Type.Type = Element.Types.Fighting Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:fighting gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Fighting Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 644 'Dark Gem + If Attack.Type.Type = Element.Types.Dark Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:dark gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Dark Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 630 'Fire Gem + If Attack.Type.Type = Element.Types.Fire Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:fire gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Fire Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 643 'Dragon Gem + If Attack.Type.Type = Element.Types.Dragon Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:dragon gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Dragon Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 641 'Rock Gem + If Attack.Type.Type = Element.Types.Rock Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:rock gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Rock Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 632 'Electric Gem + If Attack.Type.Type = Element.Types.Electric Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:electric gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Electric Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 645 'Steel Gem + If Attack.Type.Type = Element.Types.Steel Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:steel gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Steel Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 633 'Grass Gem + If Attack.Type.Type = Element.Types.Grass Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:grass gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Grass Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 631 'Water Gem + If Attack.Type.Type = Element.Types.Water Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:water gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Water Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 634 'Ice Gem + If Attack.Type.Type = Element.Types.Ice Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:ice gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Ice Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 647 'Fairy Gem + If Attack.Type.Type = Element.Types.Fairy Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:fairy gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Fairy Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 636 'Poison Gem + If Attack.Type.Type = Element.Types.Poison Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:poison gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Poison Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 638 'Flying Gem + If Attack.Type.Type = Element.Types.Flying Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:flying gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Flying Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 640 'Bug Gem + If Attack.Type.Type = Element.Types.Bug Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:bug gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Bug Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 637 'Ground Gem + If Attack.Type.Type = Element.Types.Ground Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:ground gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Ground Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 642 'Ghost Gem + If Attack.Type.Type = Element.Types.Ghost Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:ghost gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Ghost Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 639 'Psychic Gem + If Attack.Type.Type = Element.Types.Psychic Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:psychic gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Psychic Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If + Case 646 'Normal Gem + If Attack.Type.Type = Element.Types.Normal Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:normal gem") = True Then + BattleScreen.BattleQuery.Add(New TextQueryObject("The Normal Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!")) + IT = 1.3F + End If + End If End Select End If 'CHG (If used Charge) diff --git a/P3D/Content/Data/maps/cerulean/main.dat b/P3D/Content/Data/maps/cerulean/main.dat index 98726e0b6..110295fa9 100644 Binary files a/P3D/Content/Data/maps/cerulean/main.dat and b/P3D/Content/Data/maps/cerulean/main.dat differ diff --git a/P3D/Content/Items/ItemSheet.png b/P3D/Content/Items/ItemSheet.png index 99c071db5..9d6339450 100644 Binary files a/P3D/Content/Items/ItemSheet.png and b/P3D/Content/Items/ItemSheet.png differ diff --git a/P3D/Content/Items/Memories.png b/P3D/Content/Items/Memories.png index 9353fc4be..1a7eb2cfd 100644 Binary files a/P3D/Content/Items/Memories.png and b/P3D/Content/Items/Memories.png differ diff --git a/P3D/P3D.vbproj b/P3D/P3D.vbproj index 674a9a36a..dd9da8942 100644 --- a/P3D/P3D.vbproj +++ b/P3D/P3D.vbproj @@ -26192,6 +26192,24 @@ + + + + + + + + + + + + + + + + + + @@ -26205,6 +26223,7 @@ + diff --git a/P3D/Pokemon/Items/GemItem.vb b/P3D/Pokemon/Items/GemItem.vb new file mode 100644 index 000000000..ab3095602 --- /dev/null +++ b/P3D/Pokemon/Items/GemItem.vb @@ -0,0 +1,38 @@ +Namespace Items + + ''' + ''' The base item for all elemental gems. + ''' + Public MustInherit Class GemItem + + Inherits Item + + Public Overrides ReadOnly Property CanBeUsed As Boolean = False + Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False + Public Overrides ReadOnly Property ItemType As ItemTypes = ItemTypes.Standard + Public Overrides ReadOnly Property Description As String + Public Overrides ReadOnly Property PokeDollarPrice As Integer = 200 + + Public Sub New(ByVal Type As Element.Types) + Description = "Increases the power of the holder's first " & Type.ToString() & "-type move by 30%, and is consumed after use." + _textureSource = "Items\Gems" + _textureRectangle = GetTextureRectangle(Type) + End Sub + + Private Function GetTextureRectangle(ByVal Type As Element.Types) As Rectangle + Dim typeArray As List(Of Element.Types) = {Element.Types.Bug, Element.Types.Dark, Element.Types.Dragon, Element.Types.Electric, Element.Types.Fairy, Element.Types.Fighting, Element.Types.Fire, Element.Types.Flying, Element.Types.Ghost, Element.Types.Grass, Element.Types.Ground, Element.Types.Ice, Element.Types.Poison, Element.Types.Psychic, Element.Types.Rock, Element.Types.Steel, Element.Types.Water, Element.Types.Normal}.ToList() + Dim i As Integer = typeArray.IndexOf(Type) + + Dim x As Integer = i + Dim y As Integer = 0 + While x > 4 + x -= 5 + y += 1 + End While + + Return New Rectangle(x * 24, y * 24, 24, 24) + End Function + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Items/Gems/BugGem.vb b/P3D/Pokemon/Items/Gems/BugGem.vb new file mode 100644 index 000000000..78699e847 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/BugGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class BugGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Bug) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/DarkGem.vb b/P3D/Pokemon/Items/Gems/DarkGem.vb new file mode 100644 index 000000000..63fbb407c --- /dev/null +++ b/P3D/Pokemon/Items/Gems/DarkGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class DarkGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Dark) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/DragonGem.vb b/P3D/Pokemon/Items/Gems/DragonGem.vb new file mode 100644 index 000000000..bf179af1b --- /dev/null +++ b/P3D/Pokemon/Items/Gems/DragonGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class DragonGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Dragon) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/ElectricGem.vb b/P3D/Pokemon/Items/Gems/ElectricGem.vb new file mode 100644 index 000000000..fbd537f45 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/ElectricGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class ElectricGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Electric) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/FairyGem.vb b/P3D/Pokemon/Items/Gems/FairyGem.vb new file mode 100644 index 000000000..2c344ee61 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/FairyGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class FairyGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Fairy) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/FightingGem.vb b/P3D/Pokemon/Items/Gems/FightingGem.vb new file mode 100644 index 000000000..4ddd8667a --- /dev/null +++ b/P3D/Pokemon/Items/Gems/FightingGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class FightingGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Fighting) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/FireGem.vb b/P3D/Pokemon/Items/Gems/FireGem.vb new file mode 100644 index 000000000..1024ef29e --- /dev/null +++ b/P3D/Pokemon/Items/Gems/FireGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class FireGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Fire) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/FlyingGem.vb b/P3D/Pokemon/Items/Gems/FlyingGem.vb new file mode 100644 index 000000000..bafbf206c --- /dev/null +++ b/P3D/Pokemon/Items/Gems/FlyingGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class FlyingGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Flying) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/GhostGem.vb b/P3D/Pokemon/Items/Gems/GhostGem.vb new file mode 100644 index 000000000..845fb90f5 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/GhostGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class GhostGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Ghost) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/GrassGem.vb b/P3D/Pokemon/Items/Gems/GrassGem.vb new file mode 100644 index 000000000..380ed9d47 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/GrassGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class GrassGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Grass) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/GroundGem.vb b/P3D/Pokemon/Items/Gems/GroundGem.vb new file mode 100644 index 000000000..275a953e6 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/GroundGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class GroundGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Ground) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/IceGem.vb b/P3D/Pokemon/Items/Gems/IceGem.vb new file mode 100644 index 000000000..a7574dc9b --- /dev/null +++ b/P3D/Pokemon/Items/Gems/IceGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class IceGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Ice) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/NormalGem.vb b/P3D/Pokemon/Items/Gems/NormalGem.vb new file mode 100644 index 000000000..f5b550013 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/NormalGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class NormalGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Normal) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/PoisonGem.vb b/P3D/Pokemon/Items/Gems/PoisonGem.vb new file mode 100644 index 000000000..dc3bc2f5c --- /dev/null +++ b/P3D/Pokemon/Items/Gems/PoisonGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class PoisonGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Poison) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/PsychicGem.vb b/P3D/Pokemon/Items/Gems/PsychicGem.vb new file mode 100644 index 000000000..3ad578db7 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/PsychicGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class PsychicGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Psychic) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/RockGem.vb b/P3D/Pokemon/Items/Gems/RockGem.vb new file mode 100644 index 000000000..337a1214e --- /dev/null +++ b/P3D/Pokemon/Items/Gems/RockGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class RockGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Rock) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/SteelGem.vb b/P3D/Pokemon/Items/Gems/SteelGem.vb new file mode 100644 index 000000000..46b3f4be8 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/SteelGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class SteelGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Steel) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/Gems/WaterGem.vb b/P3D/Pokemon/Items/Gems/WaterGem.vb new file mode 100644 index 000000000..060dd59d8 --- /dev/null +++ b/P3D/Pokemon/Items/Gems/WaterGem.vb @@ -0,0 +1,14 @@ +Namespace Items.Gems + + + Public Class WaterGem + + Inherits GemItem + + Public Sub New() + MyBase.New(Element.Types.Water) + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Items/PlateItem.vb b/P3D/Pokemon/Items/PlateItem.vb index a50240633..85816c027 100644 --- a/P3D/Pokemon/Items/PlateItem.vb +++ b/P3D/Pokemon/Items/PlateItem.vb @@ -14,7 +14,7 @@ Namespace Items Public Overrides ReadOnly Property PokeDollarPrice As Integer = 1000 Public Sub New(ByVal Type As Element.Types) - Description = "An item to be held by a PokĂ©mon. It's a stone tablet that boosts the power of " & Type.ToString() & "-type moves." + Description = "An item to be held by a Pokémon. It's a stone tablet that boosts the power of " & Type.ToString() & "-type moves." _textureSource = "Items\Plates" _textureRectangle = GetTextureRectangle(Type) End Sub diff --git a/P3D/Pokemon/Items/_itemList.txt b/P3D/Pokemon/Items/_itemList.txt index f5abdc7ad..81a6b552c 100644 Binary files a/P3D/Pokemon/Items/_itemList.txt and b/P3D/Pokemon/Items/_itemList.txt differ