Skip to content

Commit

Permalink
Proper support for Hero rank
Browse files Browse the repository at this point in the history
  • Loading branch information
dend committed Sep 30, 2024
1 parent e11f16a commit 0c2ac82
Showing 1 changed file with 23 additions and 3 deletions.
26 changes: 23 additions & 3 deletions src/OpenSpartan.Workshop/Core/UserContextManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -291,12 +291,32 @@ await DispatcherWindow.DispatcherQueue.EnqueueAsync(async () =>

if (HomeViewModel.Instance.CareerSnapshot != null)
{
var currentRank = HomeViewModel.Instance.CareerSnapshot.RewardTracks[0].Result.CurrentProgress.Rank + 1;
var currentRank = 0;

// If we're talking about Hero rank, then we don't need to append an extra 1.
if (HomeViewModel.Instance.CareerSnapshot.RewardTracks[0].Result.CurrentProgress.Rank != 272)
{
currentRank = HomeViewModel.Instance.CareerSnapshot.RewardTracks[0].Result.CurrentProgress.Rank + 1;
}
else
{
currentRank = HomeViewModel.Instance.CareerSnapshot.RewardTracks[0].Result.CurrentProgress.Rank;
}

var currentCareerStage = careerTrackContainerResult.Result.Ranks.FirstOrDefault(c => c.Rank == currentRank);

if (currentCareerStage != null)
{
HomeViewModel.Instance.Title = $"{currentCareerStage.TierType} {currentCareerStage.RankTitle.Value} {currentCareerStage.RankTier.Value}";
if (currentCareerStage.Rank != 272)
{
HomeViewModel.Instance.Title = $"{currentCareerStage.TierType} {currentCareerStage.RankTitle.Value} {currentCareerStage.RankTier.Value}";
}
else
{
// Hero rank is just "Hero" - no need to interpolate with other strings.
HomeViewModel.Instance.Title = currentCareerStage.RankTitle.Value;
}

HomeViewModel.Instance.CurrentRankExperience = careerTrackResult.Result.RewardTracks[0].Result.CurrentProgress.PartialProgress;
HomeViewModel.Instance.RequiredRankExperience = currentCareerStage.XpRequiredForRank;

Expand Down Expand Up @@ -357,7 +377,7 @@ private static async Task DownloadAndSetImage(string serviceImagePath, string lo
return;
}

HaloApiResultContainer<byte[], RawResponseContainer> image = null;
HaloApiResultContainer<byte[], RawResponseContainer>? image = null;

Func<Task<HaloApiResultContainer<byte[], RawResponseContainer>>> apiCall = isOnWaypoint ?
async () => await HaloClient.GameCmsGetGenericWaypointFile(serviceImagePath) :
Expand Down

0 comments on commit 0c2ac82

Please sign in to comment.