mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-07-26 23:34:58 +02:00
More Pokédex form support progress
This commit is contained in:
parent
fad33eaa4a
commit
0b69b854b9
@ -49,3 +49,4 @@ Move|81,105
|
|||||||
Move|89,354
|
Move|89,354
|
||||||
Move|97,63
|
Move|97,63
|
||||||
TradeValue|120
|
TradeValue|120
|
||||||
|
DexForms|attack,defense,speed
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
'3 = shiny + caught + seen
|
'3 = shiny + caught + seen
|
||||||
|
|
||||||
Public Shared AutoDetect As Boolean = True
|
Public Shared AutoDetect As Boolean = True
|
||||||
|
Public Shared PokemonMaxCount As Integer = 893
|
||||||
Public Shared PokemonCount As Integer = 893
|
Public Shared PokemonCount As Integer = 893
|
||||||
Public Shared PokemonIDs As New List(Of String)
|
Public Shared PokemonIDs As New List(Of String)
|
||||||
|
|
||||||
@ -92,14 +93,20 @@
|
|||||||
cOriginalEntry = GetEntryType(Data, ID.GetSplit(0, ";")).ToString
|
cOriginalEntry = GetEntryType(Data, ID.GetSplit(0, ";")).ToString
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If ID.Contains("_") Then
|
||||||
|
If Pokemon.GetPokemonByID(CInt(ID.GetSplit(0, "_"))).DexForms.Contains(ID.GetSplit(1, "_")) Then
|
||||||
|
cOriginalEntry = GetEntryType(Data, ID.GetSplit(0, "_")).ToString
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
Dim cEntry As Integer = GetEntryType(Data, ID)
|
Dim cEntry As Integer = GetEntryType(Data, ID)
|
||||||
Dim cData As String = Data
|
Dim cData As String = Data
|
||||||
If cOriginalEntry <> "" Then
|
If cOriginalEntry <> "" Then
|
||||||
If CInt(cOriginalEntry) < Type Then
|
If CInt(cOriginalEntry) < Type Then
|
||||||
If Data.Contains("{" & ID.GetSplit(0, ";") & "|") = True Then
|
If Data.Contains("{" & ID.GetSplit(0, ";").GetSplit(0, "_") & "|") = True Then
|
||||||
cData = Data.Replace("{" & ID.GetSplit(0, ";") & "|" & cEntry & "}", "{" & ID.GetSplit(0, ";") & "|" & Type & "}")
|
cData = Data.Replace("{" & ID.GetSplit(0, ";").GetSplit(0, "_") & "|" & cEntry & "}", "{" & ID.GetSplit(0, ";").GetSplit(0, "_") & "|" & Type & "}")
|
||||||
Else
|
Else
|
||||||
cData &= Environment.NewLine & "{" & ID.GetSplit(0, ";") & "|" & Type & "}"
|
cData &= Environment.NewLine & "{" & ID.GetSplit(0, ";").GetSplit(0, "_") & "|" & Type & "}"
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -114,6 +121,15 @@
|
|||||||
If cData <> "" Then
|
If cData <> "" Then
|
||||||
cData &= Environment.NewLine
|
cData &= Environment.NewLine
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If ID.Contains("_") Then
|
||||||
|
If Pokemon.GetPokemonByID(CInt(ID.GetSplit(0, "_"))).DexForms.Contains(ID.GetSplit(1, "_")) Then
|
||||||
|
If cData.Contains("{" & ID.GetSplit(0, "_") & "|") = False Then
|
||||||
|
cData &= "{" & ID.GetSplit(0, "_") & "|" & Type & "}" & Environment.NewLine
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If ID.Contains(";") Then
|
If ID.Contains(";") Then
|
||||||
If cData.Contains("{" & ID.GetSplit(0, ";") & "|") = False Then
|
If cData.Contains("{" & ID.GetSplit(0, ";") & "|") = False Then
|
||||||
cData &= "{" & ID.GetSplit(0, ";") & "|" & Type & "}" & Environment.NewLine
|
cData &= "{" & ID.GetSplit(0, ";") & "|" & Type & "}" & Environment.NewLine
|
||||||
@ -236,6 +252,7 @@
|
|||||||
Public IncludeExternalPokemon As Boolean = False 'for the pokedex screen, if true, this pokedex view will include all Pokémon seen/caught at the end.
|
Public IncludeExternalPokemon As Boolean = False 'for the pokedex screen, if true, this pokedex view will include all Pokémon seen/caught at the end.
|
||||||
|
|
||||||
Public Sub New(ByVal input As String)
|
Public Sub New(ByVal input As String)
|
||||||
|
|
||||||
Dim data() As String = input.Split(CChar("|"))
|
Dim data() As String = input.Split(CChar("|"))
|
||||||
|
|
||||||
Me.Name = data(0)
|
Me.Name = data(0)
|
||||||
@ -246,7 +263,7 @@
|
|||||||
Dim Place As Integer = 1
|
Dim Place As Integer = 1
|
||||||
|
|
||||||
For Each l As String In pokemonData
|
For Each l As String In pokemonData
|
||||||
l = l.Replace("[MAX]", POKEMONCOUNT.ToString())
|
l = l.Replace("[MAX]", PokemonMaxCount.ToString())
|
||||||
|
|
||||||
If l.Contains("-") = True AndAlso l.Contains("_") = False Then
|
If l.Contains("-") = True AndAlso l.Contains("_") = False Then
|
||||||
Dim range() As String = l.Split(CChar("-"))
|
Dim range() As String = l.Split(CChar("-"))
|
||||||
|
@ -632,6 +632,7 @@ Public Class Pokemon
|
|||||||
Public Cry As SoundEffect
|
Public Cry As SoundEffect
|
||||||
Public WildItems As New Dictionary(Of Integer, String)
|
Public WildItems As New Dictionary(Of Integer, String)
|
||||||
Public RegionalForms As String = ""
|
Public RegionalForms As String = ""
|
||||||
|
Public DexForms As New List(Of String)
|
||||||
|
|
||||||
Private _name As String
|
Private _name As String
|
||||||
Private _number As Integer
|
Private _number As Integer
|
||||||
@ -1490,6 +1491,17 @@ Public Class Pokemon
|
|||||||
Me.EggPokemon = Value
|
Me.EggPokemon = Value
|
||||||
Case "regionalforms"
|
Case "regionalforms"
|
||||||
Me.RegionalForms = Value
|
Me.RegionalForms = Value
|
||||||
|
Case "dexforms"
|
||||||
|
If Value <> "" Then
|
||||||
|
If Value.Contains(",") = True Then
|
||||||
|
Dim FormValue() As String = Value.Split(CChar(","))
|
||||||
|
For i = 0 To FormValue.Length - 1
|
||||||
|
Me.DexForms.Add(FormValue(i))
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
Me.DexForms.Add(Value)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
Case "canbreed"
|
Case "canbreed"
|
||||||
Me.CanBreed = CBool(Value)
|
Me.CanBreed = CBool(Value)
|
||||||
Case "basehp"
|
Case "basehp"
|
||||||
|
@ -403,14 +403,16 @@ Public Class PokedexScreen
|
|||||||
If CHabitat Is Nothing Then
|
If CHabitat Is Nothing Then
|
||||||
' Add any external Pokémon if specified to do so:
|
' Add any external Pokémon if specified to do so:
|
||||||
If Profile.Pokedex.IncludeExternalPokemon = True Then
|
If Profile.Pokedex.IncludeExternalPokemon = True Then
|
||||||
For i = 0 To Pokedex.PokemonCount - 1
|
If Pokedex.PokemonMaxCount > 0 Then
|
||||||
If Me.Profile.Pokedex.HasPokemon(Pokedex.PokemonIDs(i), False) = False Then
|
For i = 1 To Pokedex.PokemonMaxCount
|
||||||
If Pokedex.GetEntryType(Core.Player.PokedexData, Pokedex.PokemonIDs(i)) > 0 Then
|
If Me.Profile.Pokedex.HasPokemon(i.ToString, False) = False Then
|
||||||
Profile.Pokedex.PokemonList.Add(Profile.Pokedex.PokemonList.Count + 1, Pokedex.PokemonIDs(i))
|
If Pokedex.GetEntryType(Core.Player.PokedexData, i.ToString) > 0 Then
|
||||||
|
Profile.Pokedex.PokemonList.Add(Profile.Pokedex.PokemonList.Count + 1, i.ToString)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
End If
|
||||||
For Each i As String In Profile.Pokedex.PokemonList.Values
|
For Each i As String In Profile.Pokedex.PokemonList.Values
|
||||||
pokeSearchList.Add(i)
|
pokeSearchList.Add(i)
|
||||||
Next
|
Next
|
||||||
@ -1312,6 +1314,9 @@ Public Class PokedexViewScreen
|
|||||||
Me.PokemonID = pokemonID
|
Me.PokemonID = pokemonID
|
||||||
If pokemonID.Contains("_") Then
|
If pokemonID.Contains("_") Then
|
||||||
Me.PokemonAD = PokemonForms.GetAdditionalValueFromDataFile(pokemonID)
|
Me.PokemonAD = PokemonForms.GetAdditionalValueFromDataFile(pokemonID)
|
||||||
|
ElseIf pokemonID.Contains(";") Then
|
||||||
|
Me.PokemonID = pokemonID.GetSplit(0, ";")
|
||||||
|
Me.PokemonAD = pokemonID.GetSplit(1, ";")
|
||||||
End If
|
End If
|
||||||
Me.Pokemon = Pokemon.GetPokemonByID(CInt(Me.PokemonID.GetSplit(0, "_")), Me.PokemonAD)
|
Me.Pokemon = Pokemon.GetPokemonByID(CInt(Me.PokemonID.GetSplit(0, "_")), Me.PokemonAD)
|
||||||
|
|
||||||
@ -1330,6 +1335,17 @@ Public Class PokedexViewScreen
|
|||||||
Me.Evolutions.Add(New EvolutionLinePokemon(Me.Level + 1, ev, vS, ""))
|
Me.Evolutions.Add(New EvolutionLinePokemon(Me.Level + 1, ev, vS, ""))
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Me.Pokemon.DexForms.Count > 0 Then
|
||||||
|
For Each form As String In Me.Pokemon.DexForms
|
||||||
|
If form <> "" Then
|
||||||
|
If vS.maximumLevel < Me.Level + 1 Then
|
||||||
|
vS.maximumLevel = Me.Level + 1
|
||||||
|
End If
|
||||||
|
Me.Evolutions.Add(New EvolutionLinePokemon(Me.Level + 1, CStr(Me.Pokemon.Number & "_" & form), vS, ""))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
@ -1732,7 +1748,8 @@ Public Class PokedexViewScreen
|
|||||||
Dim pokeTexture = pokemon1.GetMenuTexture()
|
Dim pokeTexture = pokemon1.GetMenuTexture()
|
||||||
Dim pokeTextureScale As Vector2 = New Vector2(CSng(32 / pokeTexture.Width * 2), CSng(32 / pokeTexture.Height * 2))
|
Dim pokeTextureScale As Vector2 = New Vector2(CSng(32 / pokeTexture.Width * 2), CSng(32 / pokeTexture.Height * 2))
|
||||||
Core.SpriteBatch.Draw(pokeTexture, New Rectangle(CInt(mv.X + (level1 * (128 * scale))), CInt(mv.Y + level1Offset), CInt(pokeTexture.Width * pokeTextureScale.X * scale), CInt(pokeTexture.Height * pokeTextureScale.Y * scale)), Color.White)
|
Core.SpriteBatch.Draw(pokeTexture, New Rectangle(CInt(mv.X + (level1 * (128 * scale))), CInt(mv.Y + level1Offset), CInt(pokeTexture.Width * pokeTextureScale.X * scale), CInt(pokeTexture.Height * pokeTextureScale.Y * scale)), Color.White)
|
||||||
Core.SpriteBatch.DrawString(FontManager.MainFont, pokemon1.GetName(), New Vector2(CInt(mv.X + (level1 * (128 * scale)) + CInt(pokeTexture.Width * pokeTextureScale.X / 2 * scale) - (FontManager.MainFont.MeasureString(pokemon1.GetName()).X / 2 * CSng(scale / 2))), CInt(mv.Y + level1Offset + (72 * scale))), Color.Black, 0.0F, Vector2.Zero, CInt(scale / 2), SpriteEffects.None, 0.0F)
|
Core.SpriteBatch.DrawString(FontManager.MainFont, pokemon1.GetName(), New Vector2(CInt(mv.X + (level1 * (128 * scale)) + CInt(pokeTexture.Width * pokeTextureScale.X / 2 * scale) - (FontManager.MainFont.MeasureString(pokemon1.GetName()).X / 2 * CSng(scale / 2)) + 2), CInt(mv.Y + level1Offset + (64 * scale)) + 2), Color.Black, 0.0F, Vector2.Zero, CInt(scale / 2), SpriteEffects.None, 0.0F)
|
||||||
|
Core.SpriteBatch.DrawString(FontManager.MainFont, pokemon1.GetName(), New Vector2(CInt(mv.X + (level1 * (128 * scale)) + CInt(pokeTexture.Width * pokeTextureScale.X / 2 * scale) - (FontManager.MainFont.MeasureString(pokemon1.GetName()).X / 2 * CSng(scale / 2))), CInt(mv.Y + level1Offset + (64 * scale))), Color.White, 0.0F, Vector2.Zero, CInt(scale / 2), SpriteEffects.None, 0.0F)
|
||||||
End If
|
End If
|
||||||
If Pokedex.GetEntryType(Core.Player.PokedexData, dexID2) = 0 Then
|
If Pokedex.GetEntryType(Core.Player.PokedexData, dexID2) = 0 Then
|
||||||
Dim pokeTexture = pokemon2.GetMenuTexture()
|
Dim pokeTexture = pokemon2.GetMenuTexture()
|
||||||
@ -1742,7 +1759,8 @@ Public Class PokedexViewScreen
|
|||||||
Dim pokeTexture = pokemon2.GetMenuTexture()
|
Dim pokeTexture = pokemon2.GetMenuTexture()
|
||||||
Dim pokeTextureScale As Vector2 = New Vector2(CSng(32 / pokeTexture.Width * 2), CSng(32 / pokeTexture.Height * 2))
|
Dim pokeTextureScale As Vector2 = New Vector2(CSng(32 / pokeTexture.Width * 2), CSng(32 / pokeTexture.Height * 2))
|
||||||
Core.SpriteBatch.Draw(pokeTexture, New Rectangle(CInt(mv.X + (level2 * CInt(128 * scale))), CInt(mv.Y + level2Offset), CInt(pokeTexture.Width * pokeTextureScale.X * scale), CInt(pokeTexture.Height * pokeTextureScale.Y * scale)), Color.White)
|
Core.SpriteBatch.Draw(pokeTexture, New Rectangle(CInt(mv.X + (level2 * CInt(128 * scale))), CInt(mv.Y + level2Offset), CInt(pokeTexture.Width * pokeTextureScale.X * scale), CInt(pokeTexture.Height * pokeTextureScale.Y * scale)), Color.White)
|
||||||
Core.SpriteBatch.DrawString(FontManager.MainFont, pokemon2.GetName(), New Vector2(CInt(mv.X + (level2 * (128 * scale)) + (32 * scale) - (FontManager.MainFont.MeasureString(pokemon2.GetName()).X / 2 * CSng(scale / 2))), CInt(mv.Y + level2Offset + (72 * scale))), Color.Black, 0.0F, Vector2.Zero, CInt(scale / 2), SpriteEffects.None, 0.0F)
|
Core.SpriteBatch.DrawString(FontManager.MainFont, pokemon2.GetName(), New Vector2(CInt(mv.X + (level2 * (128 * scale)) + (32 * scale) - (FontManager.MainFont.MeasureString(pokemon2.GetName()).X / 2 * CSng(scale / 2)) + 2), CInt(mv.Y + level2Offset + (64 * scale)) + 2), Color.Black, 0.0F, Vector2.Zero, CInt(scale / 2), SpriteEffects.None, 0.0F)
|
||||||
|
Core.SpriteBatch.DrawString(FontManager.MainFont, pokemon2.GetName(), New Vector2(CInt(mv.X + (level2 * (128 * scale)) + (32 * scale) - (FontManager.MainFont.MeasureString(pokemon2.GetName()).X / 2 * CSng(scale / 2))), CInt(mv.Y + level2Offset + (64 * scale))), Color.White, 0.0F, Vector2.Zero, CInt(scale / 2), SpriteEffects.None, 0.0F)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
Loading…
x
Reference in New Issue
Block a user