Pokémon & Pokédex fixes

This commit is contained in:
JappaWakka 2024-02-17 10:51:32 +01:00
parent dcfe88a811
commit fcac15b0bd
2 changed files with 36 additions and 37 deletions

View File

@ -1362,12 +1362,12 @@ Public Class Pokemon
Dim NewAdditionalData As String = "" Dim NewAdditionalData As String = ""
If Tags.ContainsKey("AdditionalData") = True Then If Tags.ContainsKey("AdditionalData") = True Then
NewAdditionalData = CStr(Tags("AdditionalData")) NewAdditionalData = CStr(ScriptVersion2.ScriptCommander.Parse(Tags("AdditionalData")))
End If End If
Dim PokemonID As Integer = 10 Dim PokemonID As Integer = 10
If Tags.ContainsKey("Pokemon") = True Then If Tags.ContainsKey("Pokemon") = True Then
PokemonID = CInt(Tags("Pokemon")) PokemonID = CInt(ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(Tags("Pokemon"))))
End If End If
Dim Level As Integer = 5 Dim Level As Integer = 5
@ -1687,12 +1687,12 @@ Public Class Pokemon
Select Case tagName.ToLower() Select Case tagName.ToLower()
Case "originalnumber" Case "originalnumber"
Me.OriginalNumber = CInt(tagValue) Me.OriginalNumber = CInt(ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(tagValue)))
Case "experience" Case "experience"
Me.Experience = CInt(tagValue) Me.Experience = CInt(ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(tagValue)))
loadedEXP = True loadedEXP = True
Case "gender" Case "gender"
Select Case CInt(tagValue) Select Case CInt(ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(tagValue)))
Case 0 Case 0
Me.Gender = Genders.Male Me.Gender = Genders.Male
Case 1 Case 1
@ -1702,29 +1702,28 @@ Public Class Pokemon
End Select End Select
loadedGender = True loadedGender = True
Case "eggsteps" Case "eggsteps"
Me.EggSteps = CInt(tagValue) Me.EggSteps = CInt(ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(tagValue)))
Case "item" Case "item"
If StringHelper.IsNumeric(tagValue) Then Me.Item = Item.GetItemByID(ScriptVersion2.ScriptCommander.Parse(tagValue).ToString)
Me.Item = Item.GetItemByID(tagValue)
End If
Case "itemdata" Case "itemdata"
If Not Me.Item Is Nothing Then If Not Me.Item Is Nothing Then
Me.Item.AdditionalData = tagValue Me.Item.AdditionalData = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString
End If End If
Case "nickname" Case "nickname"
Me.NickName = tagValue Me.NickName = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString
Case "level" Case "level"
Me.Level = ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(tagValue)).Clamp(1, CInt(GameModeManager.GetGameRuleValue("MaxLevel", "100"))) Me.Level = ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(tagValue)).Clamp(1, CInt(GameModeManager.GetGameRuleValue("MaxLevel", "100")))
Case "ot" Case "ot"
Me.OT = tagValue Me.OT = tagValue
Case "ability" Case "ability"
Me.Ability = P3D.Ability.GetAbilityByID(CInt(tagValue)) Dim argument As String = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString
Me.Ability = P3D.Ability.GetAbilityByID(CInt(argument))
'is this relevant for the client in PvP? 'is this relevant for the client in PvP?
SetOriginalAbility() SetOriginalAbility()
Me.NormalAbility = Ability Me.NormalAbility = Ability
loadedAbility = True loadedAbility = True
Case "status" Case "status"
Select Case tagValue Select Case ScriptVersion2.ScriptCommander.Parse(tagValue).ToString
Case "BRN" Case "BRN"
Me.Status = StatusProblems.Burn Me.Status = StatusProblems.Burn
Case "PSN" Case "PSN"
@ -1743,36 +1742,36 @@ Public Class Pokemon
Me.Status = StatusProblems.None Me.Status = StatusProblems.None
End Select End Select
Case "nature" Case "nature"
Me.Nature = ConvertIDToNature(CInt(tagValue)) Me.Nature = ConvertIDToNature(CInt(ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(tagValue))))
loadedNature = True loadedNature = True
Case "catchlocation" Case "catchlocation"
Me.CatchLocation = tagValue Me.CatchLocation = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString
Case "catchtrainer" Case "catchtrainer"
Me.CatchTrainerName = tagValue Me.CatchTrainerName = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString
Case "catchball" Case "catchball"
Me.CatchBall = Item.GetItemByID(tagValue) Me.CatchBall = Item.GetItemByID(ScriptVersion2.ScriptCommander.Parse(tagValue).ToString)
Case "catchmethod" Case "catchmethod"
Me.CatchMethod = tagValue Me.CatchMethod = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString
Case "friendship" Case "friendship"
Me.Friendship = CInt(tagValue) Me.Friendship = CInt(ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(tagValue)))
loadedFriendship = True loadedFriendship = True
Case "isshiny" Case "isshiny"
Me.IsShiny = CBool(tagValue) Me.IsShiny = CBool(ScriptVersion2.ScriptCommander.Parse(tagValue).ToString)
loadedShiny = True loadedShiny = True
Case "attack1", "attack2", "attack3", "attack4" Case "attack1", "attack2", "attack3", "attack4"
If Not P3D.BattleSystem.Attack.ConvertStringToAttack(tagValue) Is Nothing Then If Not P3D.BattleSystem.Attack.ConvertStringToAttack(ScriptVersion2.ScriptCommander.Parse(tagValue).ToString) Is Nothing Then
Attacks.Add(P3D.BattleSystem.Attack.ConvertStringToAttack(tagValue)) Attacks.Add(P3D.BattleSystem.Attack.ConvertStringToAttack(ScriptVersion2.ScriptCommander.Parse(tagValue).ToString))
End If End If
loadedAttacks = True loadedAttacks = True
Case "stats" Case "stats"
Dim Stats() As String = tagValue.Split(CChar(",")) Dim Stats() As String = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString.Split(CChar(","))
HP = CInt(Stats(0)).Clamp(0, 999) HP = CInt(Stats(0)).Clamp(0, 999)
loadedHP = True loadedHP = True
Case "hp" Case "hp"
HP = CInt(tagValue) HP = CInt(ScriptConversion.ToInteger(ScriptVersion2.ScriptCommander.Parse(tagValue)))
loadedHP = True loadedHP = True
Case "fps", "evs" Case "fps", "evs"
Dim EVs() As String = tagValue.Split(CChar(",")) Dim EVs() As String = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString.Split(CChar(","))
EVHP = CInt(EVs(0)).Clamp(0, 255) EVHP = CInt(EVs(0)).Clamp(0, 255)
EVAttack = CInt(EVs(1)).Clamp(0, 255) EVAttack = CInt(EVs(1)).Clamp(0, 255)
EVDefense = CInt(EVs(2)).Clamp(0, 255) EVDefense = CInt(EVs(2)).Clamp(0, 255)
@ -1780,7 +1779,7 @@ Public Class Pokemon
EVSpDefense = CInt(EVs(4)).Clamp(0, 255) EVSpDefense = CInt(EVs(4)).Clamp(0, 255)
EVSpeed = CInt(EVs(5)).Clamp(0, 255) EVSpeed = CInt(EVs(5)).Clamp(0, 255)
Case "dvs", "ivs" Case "dvs", "ivs"
Dim IVs() As String = tagValue.Split(CChar(",")) Dim IVs() As String = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString.Split(CChar(","))
IVHP = CInt(IVs(0)) IVHP = CInt(IVs(0))
IVAttack = CInt(IVs(1)) IVAttack = CInt(IVs(1))
IVDefense = CInt(IVs(2)) IVDefense = CInt(IVs(2))
@ -1789,9 +1788,9 @@ Public Class Pokemon
IVSpeed = CInt(IVs(5)) IVSpeed = CInt(IVs(5))
loadedIVs = True loadedIVs = True
Case "additionaldata" Case "additionaldata"
Me.AdditionalData = tagValue Me.AdditionalData = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString
Case "idvalue" Case "idvalue"
Me.IndividualValue = tagValue Me.IndividualValue = ScriptVersion2.ScriptCommander.Parse(tagValue).ToString
End Select End Select
Next Next

View File

@ -24,7 +24,7 @@
Dim dexIndex As Integer = int(argument) Dim dexIndex As Integer = int(argument)
Return Core.Player.Pokedexes(dexIndex).Seen Return Core.Player.Pokedexes(dexIndex).Seen
Case "getheight" Case "getheight"
Dim id As Integer = CInt(argument.GetSplit(0, "_")) Dim id As Integer = CInt(argument.GetSplit(0, "_").GetSplit(0, ";"))
Dim ad As String = "" Dim ad As String = ""
If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then
ad = PokemonForms.GetAdditionalValueFromDataFile(argument) ad = PokemonForms.GetAdditionalValueFromDataFile(argument)
@ -34,7 +34,7 @@
Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Height Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Height
End If End If
Case "getweight" Case "getweight"
Dim id As Integer = CInt(argument.GetSplit(0, "_")) Dim id As Integer = CInt(argument.GetSplit(0, "_").GetSplit(0, ";"))
Dim ad As String = "" Dim ad As String = ""
If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then
ad = PokemonForms.GetAdditionalValueFromDataFile(argument) ad = PokemonForms.GetAdditionalValueFromDataFile(argument)
@ -44,7 +44,7 @@
Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Weight Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Weight
End If End If
Case "getentry" Case "getentry"
Dim id As Integer = CInt(argument.GetSplit(0, "_")) Dim id As Integer = CInt(argument.GetSplit(0, "_").GetSplit(0, ";"))
Dim ad As String = "" Dim ad As String = ""
If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then
ad = PokemonForms.GetAdditionalValueFromDataFile(argument) ad = PokemonForms.GetAdditionalValueFromDataFile(argument)
@ -54,7 +54,7 @@
Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Text Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Text
End If End If
Case "getcolor" Case "getcolor"
Dim id As Integer = CInt(argument.GetSplit(0, "_")) Dim id As Integer = CInt(argument.GetSplit(0, "_").GetSplit(0, ";"))
Dim ad As String = "" Dim ad As String = ""
If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then
ad = PokemonForms.GetAdditionalValueFromDataFile(argument) ad = PokemonForms.GetAdditionalValueFromDataFile(argument)
@ -64,7 +64,7 @@
Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Color.ToString() Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Color.ToString()
End If End If
Case "getspecies" Case "getspecies"
Dim id As Integer = CInt(argument.GetSplit(0, "_")) Dim id As Integer = CInt(argument.GetSplit(0, "_").GetSplit(0, ";"))
Dim ad As String = "" Dim ad As String = ""
If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then
ad = PokemonForms.GetAdditionalValueFromDataFile(argument) ad = PokemonForms.GetAdditionalValueFromDataFile(argument)
@ -74,7 +74,7 @@
Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Species Return Pokemon.GetPokemonByID(id, ad).PokedexEntry.Species
End If End If
Case "getname" Case "getname"
Dim id As Integer = CInt(argument.GetSplit(0, "_")) Dim id As Integer = CInt(argument.GetSplit(0, "_").GetSplit(0, ";"))
Dim ad As String = "" Dim ad As String = ""
If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then
ad = PokemonForms.GetAdditionalValueFromDataFile(argument) ad = PokemonForms.GetAdditionalValueFromDataFile(argument)
@ -84,12 +84,12 @@
Return Pokemon.GetPokemonByID(id, ad).GetName() Return Pokemon.GetPokemonByID(id, ad).GetName()
End If End If
Case "getability" Case "getability"
Dim id As Integer = CInt(argument.GetSplit(0, "_")) Dim id As Integer = CInt(argument.GetSplit(0, ",").GetSplit(0, "_").GetSplit(0, ";"))
Dim ad As String = "" Dim ad As String = ""
If PokemonForms.GetAdditionalValueFromDataFile(argument) <> "" Then If PokemonForms.GetAdditionalValueFromDataFile(argument.GetSplit(0, ",").GetSplit(0, ";")) <> "" Then
ad = PokemonForms.GetAdditionalValueFromDataFile(argument) ad = PokemonForms.GetAdditionalValueFromDataFile(argument)
End If End If
If Pokemon.PokemonDataExists(argument) Then If Pokemon.PokemonDataExists(argument.GetSplit(0, ",")) Then
Select Case argument.GetSplit(1) Select Case argument.GetSplit(1)
Case "0" Case "0"
Return Pokemon.GetPokemonByID(id, ad).NewAbilities(Core.Random.Next(0, Pokemon.GetPokemonByID(id, ad).NewAbilities.Count)).ID Return Pokemon.GetPokemonByID(id, ad).NewAbilities(Core.Random.Next(0, Pokemon.GetPokemonByID(id, ad).NewAbilities.Count)).ID