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|97,63
|
||||
TradeValue|120
|
||||
DexForms|attack,defense,speed
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
'3 = shiny + caught + seen
|
||||
|
||||
Public Shared AutoDetect As Boolean = True
|
||||
Public Shared PokemonMaxCount As Integer = 893
|
||||
Public Shared PokemonCount As Integer = 893
|
||||
Public Shared PokemonIDs As New List(Of String)
|
||||
|
||||
|
@ -92,14 +93,20 @@
|
|||
cOriginalEntry = GetEntryType(Data, ID.GetSplit(0, ";")).ToString
|
||||
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 cData As String = Data
|
||||
If cOriginalEntry <> "" Then
|
||||
If CInt(cOriginalEntry) < Type Then
|
||||
If Data.Contains("{" & ID.GetSplit(0, ";") & "|") = True Then
|
||||
cData = Data.Replace("{" & ID.GetSplit(0, ";") & "|" & cEntry & "}", "{" & ID.GetSplit(0, ";") & "|" & Type & "}")
|
||||
If Data.Contains("{" & ID.GetSplit(0, ";").GetSplit(0, "_") & "|") = True Then
|
||||
cData = Data.Replace("{" & ID.GetSplit(0, ";").GetSplit(0, "_") & "|" & cEntry & "}", "{" & ID.GetSplit(0, ";").GetSplit(0, "_") & "|" & Type & "}")
|
||||
Else
|
||||
cData &= Environment.NewLine & "{" & ID.GetSplit(0, ";") & "|" & Type & "}"
|
||||
cData &= Environment.NewLine & "{" & ID.GetSplit(0, ";").GetSplit(0, "_") & "|" & Type & "}"
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -114,6 +121,15 @@
|
|||
If cData <> "" Then
|
||||
cData &= Environment.NewLine
|
||||
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 cData.Contains("{" & ID.GetSplit(0, ";") & "|") = False Then
|
||||
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 Sub New(ByVal input As String)
|
||||
|
||||
Dim data() As String = input.Split(CChar("|"))
|
||||
|
||||
Me.Name = data(0)
|
||||
|
@ -246,7 +263,7 @@
|
|||
Dim Place As Integer = 1
|
||||
|
||||
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
|
||||
Dim range() As String = l.Split(CChar("-"))
|
||||
|
|
|
@ -632,6 +632,7 @@ Public Class Pokemon
|
|||
Public Cry As SoundEffect
|
||||
Public WildItems As New Dictionary(Of Integer, String)
|
||||
Public RegionalForms As String = ""
|
||||
Public DexForms As New List(Of String)
|
||||
|
||||
Private _name As String
|
||||
Private _number As Integer
|
||||
|
@ -1490,6 +1491,17 @@ Public Class Pokemon
|
|||
Me.EggPokemon = Value
|
||||
Case "regionalforms"
|
||||
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"
|
||||
Me.CanBreed = CBool(Value)
|
||||
Case "basehp"
|
||||
|
|
|
@ -403,13 +403,15 @@ Public Class PokedexScreen
|
|||
If CHabitat Is Nothing Then
|
||||
' Add any external Pokémon if specified to do so:
|
||||
If Profile.Pokedex.IncludeExternalPokemon = True Then
|
||||
For i = 0 To Pokedex.PokemonCount - 1
|
||||
If Me.Profile.Pokedex.HasPokemon(Pokedex.PokemonIDs(i), False) = False Then
|
||||
If Pokedex.GetEntryType(Core.Player.PokedexData, Pokedex.PokemonIDs(i)) > 0 Then
|
||||
Profile.Pokedex.PokemonList.Add(Profile.Pokedex.PokemonList.Count + 1, Pokedex.PokemonIDs(i))
|
||||
If Pokedex.PokemonMaxCount > 0 Then
|
||||
For i = 1 To Pokedex.PokemonMaxCount
|
||||
If Me.Profile.Pokedex.HasPokemon(i.ToString, False) = False Then
|
||||
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
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
For Each i As String In Profile.Pokedex.PokemonList.Values
|
||||
pokeSearchList.Add(i)
|
||||
|
@ -1312,6 +1314,9 @@ Public Class PokedexViewScreen
|
|||
Me.PokemonID = pokemonID
|
||||
If pokemonID.Contains("_") Then
|
||||
Me.PokemonAD = PokemonForms.GetAdditionalValueFromDataFile(pokemonID)
|
||||
ElseIf pokemonID.Contains(";") Then
|
||||
Me.PokemonID = pokemonID.GetSplit(0, ";")
|
||||
Me.PokemonAD = pokemonID.GetSplit(1, ";")
|
||||
End If
|
||||
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, ""))
|
||||
Next
|
||||
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 Class
|
||||
|
@ -1732,7 +1748,8 @@ Public Class PokedexViewScreen
|
|||
Dim pokeTexture = pokemon1.GetMenuTexture()
|
||||
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.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
|
||||
If Pokedex.GetEntryType(Core.Player.PokedexData, dexID2) = 0 Then
|
||||
Dim pokeTexture = pokemon2.GetMenuTexture()
|
||||
|
@ -1742,7 +1759,8 @@ Public Class PokedexViewScreen
|
|||
Dim pokeTexture = pokemon2.GetMenuTexture()
|
||||
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.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
|
||||
Next
|
||||
End If
|
||||
|
|
Loading…
Reference in New Issue