Prep engine for new emblems. Temporary changes should be reverted when GJ support for trophies is brought back.

This commit is contained in:
CaptainSegis 2019-01-23 06:11:11 -05:00
parent 35b77ec646
commit aef1cdbec1
4 changed files with 79 additions and 32 deletions

View File

@ -286,9 +286,9 @@
Public Shared Function GetEmblemFontColor(ByVal emblemName As String) As Color Public Shared Function GetEmblemFontColor(ByVal emblemName As String) As Color
Select Case emblemName.ToLower() Select Case emblemName.ToLower()
Case "alph", "genetics", "legendary", "stars", "champion", "overkill", "cyber", "glowing", "material", "fog", "mineral", "storm", "eggsplosion", "missingno", "thunder", "rainbow", "marsh", "volcano", "earth", "shooting star" Case "alph", "genetics", "legendary", "stars", "champion", "overkill", "cyber", "glowing", "material", "fog", "mineral", "storm", "eggsplosion", "missingno", "thunder", "rainbow", "marsh", "volcano", "earth", "shooting star", "victorious", "mega", "time", "deep sea"
Return Color.White Return Color.White
Case "eevee", "pokedex", "snow", "trainer", "kanto", "glacier", "hive", "plain", "zephyr", "rising", "mailman", "cascade", "boulder", "unodostres", "silver ability", "gold ability", "silver knowledge", "gold knowledge", "johto" Case "eevee", "pokedex", "snow", "trainer", "kanto", "glacier", "hive", "plain", "zephyr", "rising", "mailman", "cascade", "boulder", "unodostres", "silver ability", "gold ability", "silver knowledge", "gold knowledge", "johto", "eruption", "ancestor"
Return Color.Black Return Color.Black
End Select End Select
Return Color.White Return Color.White
@ -754,6 +754,22 @@
Return 17001 Return 17001
Case "shooting star" Case "shooting star"
Return 17559 Return 17559
'Requires GameJolt side support
'Case "victorious"
' Return ???
'Case "deep sea"
' Return ???
'Case "eruption"
' Return ???
'Case "ancestor"
' Return ???
'Case "time"
' Return ???
'Case "mega"
' Return ???
Case Else Case Else
Return 0 Return 0
End Select End Select
@ -837,6 +853,22 @@
Return "earth" Return "earth"
Case 17559 Case 17559
Return "shooting star" Return "shooting star"
'Requires GameJolt side support
'Case ???
' Return "victorious"
'Case ???
' Return "deep sea"
'Case ???
' Return "eruption"
'Case ???
' Return "ancestor"
'Case ???
' Return "time"
'Case ???
' Return "mega"
Case Else Case Else
Return "fail" Return "fail"
End Select End Select
@ -848,27 +880,35 @@
End Sub End Sub
Private Shared Sub AddAchievedEmblems(ByVal result As String) Private Shared Sub AddAchievedEmblems(ByVal result As String)
Dim list As List(Of API.JoltValue) = API.HandleData(result) 'Dim list As List(Of API.JoltValue) = API.HandleData(result)
If CBool(list(0).Value) = True Then 'If CBool(list(0).Value) = True Then
Dim currentTrophyID As Integer = 0 ' Dim currentTrophyID As Integer = 0
For i = 0 To list.Count - 1 ' For i = 0 To list.Count - 1
Select Case list(i).Name ' Select Case list(i).Name
Case "id" ' Case "id"
currentTrophyID = CInt(list(i).Value) ' currentTrophyID = CInt(list(i).Value)
Case "achieved" ' Case "achieved"
If list(i).Value <> "false" Then ' If list(i).Value <> "false" Then
Dim newEmblem As String = TrophyIDToEmblem(currentTrophyID) ' Dim newEmblem As String = TrophyIDToEmblem(currentTrophyID)
If newEmblem <> "fail" Then ' If newEmblem <> "fail" Then
If Core.GameJoltSave.AchievedEmblems.Contains(newEmblem) = False Then ' If Core.GameJoltSave.AchievedEmblems.Contains(newEmblem) = False Then
Core.GameJoltSave.AchievedEmblems.Add(newEmblem) ' Core.GameJoltSave.AchievedEmblems.Add(newEmblem)
End If ' End If
End If ' End If
End If ' End If
End Select ' End Select
Next ' Next
End If 'End If
'Temporary workaround till Emblems get GJ support back again
For Each newEmblem In Core.Player.EarnedAchievements
If Not Core.GameJoltSave.AchievedEmblems.Contains(newEmblem) Then
Core.GameJoltSave.AchievedEmblems.Add(newEmblem)
End If
Next
If Core.GameJoltSave.AchievedEmblems.Contains("trainer") = False Then If Core.GameJoltSave.AchievedEmblems.Contains("trainer") = False Then
Core.GameJoltSave.AchievedEmblems.Add("trainer") Core.GameJoltSave.AchievedEmblems.Add("trainer")
@ -876,17 +916,23 @@
End Sub End Sub
Public Shared Sub AchieveEmblem(ByVal emblem As String) Public Shared Sub AchieveEmblem(ByVal emblem As String)
If Core.Player.IsGameJoltSave = True Then 'If Core.Player.IsGameJoltSave = True Then
If Core.GameJoltSave.AchievedEmblems.Contains(emblem.ToLower()) = False Then ' If Core.GameJoltSave.AchievedEmblems.Contains(emblem.ToLower()) = False Then
Dim trophy_id As Integer = EmblemToTrophyID(emblem) ' Dim trophy_id As Integer = EmblemToTrophyID(emblem)
Dim APICall As New APICall(AddressOf AddedAchievement) ' Dim APICall As New APICall(AddressOf AddedAchievement)
APICall.TrophyAchieved(trophy_id) ' APICall.TrophyAchieved(trophy_id)
Dim APICallShow As New APICall(AddressOf ShowAchievedEmblem) ' Dim APICallShow As New APICall(AddressOf ShowAchievedEmblem)
APICallShow.FetchTrophy(trophy_id) ' APICallShow.FetchTrophy(trophy_id)
End If ' End If
'End If
'Temporary, remove when GameJolt side support is brought back
If Not Core.GameJoltSave.AchievedEmblems.Contains(emblem) Then
Core.GameJoltSave.AchievedEmblems.Add(emblem)
End If End If
If Core.Player.EarnedAchievements.Contains(emblem.ToLower()) = False Then If Core.Player.EarnedAchievements.Contains(emblem.ToLower()) = False Then
If ConnectScreen.Connected = True Then If ConnectScreen.Connected = True Then
Core.ServersManager.ServerConnection.SendGameStateMessage("achieved the emblem """ & emblem.ToUpper() & """!") Core.ServersManager.ServerConnection.SendGameStateMessage("achieved the emblem """ & emblem.ToUpper() & """!")

View File

@ -345,9 +345,9 @@ Namespace GameJolt
Dim APIPrivateCall As New APICall(AddressOf GotPrivateKeys) Dim APIPrivateCall As New APICall(AddressOf GotPrivateKeys)
APIPrivateCall.GetKeys(True, "saveStorageV" & GameJolt.GamejoltSave.VERSION & "|" & GameJoltID & "|*") APIPrivateCall.GetKeys(True, "saveStorageV" & GameJolt.GamejoltSave.VERSION & "|" & GameJoltID & "|*")
If MainSave = True Then 'If MainSave = True Then
GameJolt.Emblem.GetAchievedEmblems() ' GameJolt.Emblem.GetAchievedEmblems()
End If 'End If
Dim APIFriendsCall As New APICall(AddressOf SaveFriends) Dim APIFriendsCall As New APICall(AddressOf SaveFriends)
APIFriendsCall.FetchFriendList(GameJoltID) APIFriendsCall.FetchFriendList(GameJoltID)

View File

@ -898,6 +898,7 @@ Public Class NewMainMenuScreen
If _isGameJolt Then If _isGameJolt Then
Core.Player.IsGameJoltSave = True Core.Player.IsGameJoltSave = True
Core.Player.LoadGame("GAMEJOLTSAVE") Core.Player.LoadGame("GAMEJOLTSAVE")
GameJolt.Emblem.GetAchievedEmblems()
SetScreen(New JoinServerScreen(CurrentScreen)) SetScreen(New JoinServerScreen(CurrentScreen))
Else Else

Binary file not shown.