Send string representation of notification type enum to client to let profile changes work #368

This commit is contained in:
Chomp
2025-06-07 19:50:46 +01:00
parent bcd366c2b5
commit 2d67d8002b
4 changed files with 21 additions and 33 deletions
@@ -7,7 +7,6 @@ using SPTarkov.Server.Core.Models.Eft.Inventory;
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
using SPTarkov.Server.Core.Models.Eft.Profile;
using SPTarkov.Server.Core.Models.Enums;
using SPTarkov.Server.Core.Models.Spt.Dialog;
using SPTarkov.Server.Core.Models.Utils;
using SPTarkov.Server.Core.Routers;
using SPTarkov.Server.Core.Services;
@@ -177,26 +176,26 @@ public class InventoryController(
var mail = dialog.Messages.FirstOrDefault(message => message.Id == rewardEvent.MessageId);
var mailEvent =
mail.ProfileChangeEvents.FirstOrDefault(changeEvent => changeEvent.Id == rewardEvent.EventId);
switch (mailEvent.Type)
{
case ProfileChangeEventType.TraderSalesSum:
case "TraderSalesSum":
pmcData.TradersInfo[mailEvent.Entity].SalesSum = mailEvent.Value;
_traderHelper.LevelUp(mailEvent.Entity, pmcData);
_logger.Success($"Set trader {mailEvent.Entity}: Sales Sum to: {mailEvent.Value}");
break;
case ProfileChangeEventType.TraderStanding:
case "TraderStanding":
pmcData.TradersInfo[mailEvent.Entity].Standing = mailEvent.Value;
_traderHelper.LevelUp(mailEvent.Entity, pmcData);
_logger.Success($"Set trader {mailEvent.Entity}: Standing to: {mailEvent.Value}");
break;
case ProfileChangeEventType.ProfileLevel:
case "ProfileLevel":
pmcData.Info.Experience = (int) mailEvent.Value.Value;
// Will calculate level below
_traderHelper.ValidateTraderStandingsAndPlayerLevelForProfile(sessionId);
_logger.Success($"Set profile xp to: {mailEvent.Value}");
break;
case ProfileChangeEventType.SkillPoints:
case "SkillPoints":
{
var profileSkill = pmcData.Skills.Common.FirstOrDefault(x => x.Id == mailEvent.Entity);
if (profileSkill is null)
@@ -209,7 +208,7 @@ public class InventoryController(
_logger.Success($"Set profile skill: {mailEvent.Entity} to: {mailEvent.Value}");
break;
}
case ProfileChangeEventType.ExamineAllItems:
case "ExamineAllItems":
{
var itemsToInspect = _itemHelper.GetItems().Where(x => x.Type != "Node");
FlagItemsAsInspectedAndRewardXp(itemsToInspect.Select(x => x.Id), fullProfile);
@@ -217,18 +216,18 @@ public class InventoryController(
break;
}
case ProfileChangeEventType.UnlockTrader:
case "UnlockTrader":
pmcData.TradersInfo[mailEvent.Entity].Unlocked = true;
_logger.Success($"Trader {mailEvent.Entity} Unlocked");
break;
case ProfileChangeEventType.AssortmentUnlockRule:
case "AssortmentUnlockRule":
fullProfile.SptData.BlacklistedItemTemplates ??= [];
fullProfile.SptData.BlacklistedItemTemplates.Add(mailEvent.Entity);
_logger.Success($"Item {mailEvent.Entity} is now blacklisted");
break;
case ProfileChangeEventType.HideoutAreaLevel:
case "HideoutAreaLevel":
{
var areaName = mailEvent.Entity;
var newValue = mailEvent.Value;