diff --git a/P3D/Player/Pokedex.vb b/P3D/Player/Pokedex.vb index e1ce3574c..68ec6982b 100644 --- a/P3D/Player/Pokedex.vb +++ b/P3D/Player/Pokedex.vb @@ -85,8 +85,8 @@ Return 0 End Function - Public Shared Function ChangeEntry(ByVal Data As String, ByVal ID As String, ByVal Type As Integer) As String - If Type = 0 Or AutoDetect = True Then + Public Shared Function ChangeEntry(ByVal Data As String, ByVal ID As String, ByVal Type As Integer, Optional ForceChange As Boolean = False) As String + If ForceChange = True OrElse Type = 0 Or AutoDetect = True Then If Data.Contains("{" & ID & "|") = True Then Dim cOriginalEntry As String = "" If ID.Contains(";") Then @@ -109,7 +109,7 @@ End If End If - If cEntry < Type Then + If ForceChange = True OrElse cEntry < Type Then Return cData.Replace("{" & ID & "|" & cEntry & "}", "{" & ID & "|" & Type & "}") Else Return cData diff --git a/P3D/World/ActionScript/V2/ScriptCommands/DoPokedex.vb b/P3D/World/ActionScript/V2/ScriptCommands/DoPokedex.vb index e821c54e2..b780f7c67 100644 --- a/P3D/World/ActionScript/V2/ScriptCommands/DoPokedex.vb +++ b/P3D/World/ActionScript/V2/ScriptCommands/DoPokedex.vb @@ -13,6 +13,12 @@ Select Case command.ToLower() Case "setautodetect" Pokedex.AutoDetect = ScriptConversion.ToBoolean(argument) + Case "changeentry" + Dim ForceChange As Boolean = False + If argument.Split(",").Count > 2 Then + ForceChange = CBool(argument.GetSplit(2, ",")) + End If + Pokedex.ChangeEntry(Core.Player.PokedexData, argument.GetSplit(0, ","), CInt(argument.GetSplit(1, ",")), ForceChange) Case Else Logger.Log(Logger.LogTypes.Warning, "ScriptCommander.vb: (@pokedex." & command & ") Command not found.") End Select