Merge branch 'develop' of github.com:sp-tarkov/server-csharp

This commit is contained in:
CWX
2025-05-27 22:37:18 +01:00
7 changed files with 25 additions and 16 deletions
@@ -48,7 +48,7 @@ public class ClientLogCallbacks(
data.IllegalPluginsLoadedText = _localisationService.GetText("release-illegal-plugins-loaded");
data.IllegalPluginsExceptionText = _localisationService.GetText("release-illegal-plugins-exception");
data.ReleaseSummaryText = _localisationService.GetText("release-summary");
data.IsBeta = ProgramStatics.ENTRY_TYPE() == EntryType.BLEEDING_EDGE || ProgramStatics.ENTRY_TYPE() == EntryType.BLEEDING_EDGE_MODS;
data.IsBeta = ProgramStatics.ENTRY_TYPE() is EntryType.BLEEDING_EDGE or EntryType.BLEEDING_EDGE_MODS;
data.IsModdable = ProgramStatics.MODS();
data.IsModded = false; // TODO
@@ -472,7 +472,11 @@ public class GameController(
protected void SaveActiveModsToProfile(SptProfile fullProfile)
{
fullProfile.SptData!.Mods ??= [];
var mods = _applicationContext?.GetLatestValue(ContextVariableType.LOADED_MOD_ASSEMBLIES).GetValue<List<SptMod>>();
var mods = _applicationContext?.GetLatestValue(ContextVariableType.LOADED_MOD_ASSEMBLIES)?.GetValue<List<SptMod>>();
if (mods == null)
{
return;
}
foreach (var mod in mods)
{
@@ -242,15 +242,13 @@ public class LauncherController(
/// <returns>Dictionary of mod name and mod details</returns>
public Dictionary<string, AbstractModMetadata> GetLoadedServerMods()
{
var mods = _applicationContext?.GetLatestValue(ContextVariableType.LOADED_MOD_ASSEMBLIES).GetValue<List<SptMod>>();
var result = new Dictionary<string, AbstractModMetadata>();
foreach (var sptMod in mods)
var mods = _applicationContext?.GetLatestValue(ContextVariableType.LOADED_MOD_ASSEMBLIES)?.GetValue<List<SptMod>>();
if (mods == null)
{
result.Add(sptMod.ModMetadata.Name, sptMod.ModMetadata);
return [];
}
return result;
return mods.ToDictionary(sptMod => sptMod.ModMetadata?.Name ?? "UNKNOWN MOD", sptMod => sptMod.ModMetadata);
}
/// <summary>
@@ -90,7 +90,14 @@ public class QuestController(
// Note that for starting quests, the correct locale field is "description", not "startedMessageText".
var questFromDb = _questHelper.GetQuestFromDb(acceptedQuest.QuestId, pmcData);
AddTaskConditionCountersToProfile(questFromDb.Conditions.AvailableForFinish, pmcData, acceptedQuest.QuestId);
if (questFromDb.Conditions?.AvailableForFinish is not null)
{
AddTaskConditionCountersToProfile(
questFromDb.Conditions.AvailableForFinish,
pmcData,
acceptedQuest.QuestId);
}
// Get messageId of text to send to player as text message in game
var messageId = _questHelper.GetMessageIdForQuestStart(
@@ -136,14 +143,14 @@ public class QuestController(
/// <param name="questConditions">Conditions to iterate over and possibly add to profile</param>
/// <param name="pmcData">Players PMC profile</param>
/// <param name="questId">Quest where conditions originated</param>
protected void AddTaskConditionCountersToProfile(List<QuestCondition>? questConditions, PmcData pmcData, string questId)
protected void AddTaskConditionCountersToProfile(List<QuestCondition> questConditions, PmcData pmcData, string questId)
{
foreach (var condition in questConditions)
{
if (pmcData.TaskConditionCounters.TryGetValue(condition.Id, out var counter))
{
_logger.Error(
$"Unable to add new task condition counter: {condition.ConditionType} for quest: {questId} to profile: {pmcData.SessionId} as it already exists:"
$"Unable to add new task condition counter: {condition.ConditionType} for quest: {questId} to profile: {pmcData.SessionId} as it already exists"
);
}
@@ -84,7 +84,7 @@ public class GiftService(
return GiftSentResult.FAILED_GIFT_ALREADY_RECEIVED;
}
if (giftData.Items?.Count > 0 && giftData.CollectionTimeHours is not null)
if (giftData.Items?.Count > 0 && giftData.CollectionTimeHours is null)
{
_logger.Warning($"Gift {giftId} has items but no collection time limit, defaulting to 48 hours");
}
@@ -40,10 +40,12 @@ public static partial class ProgramStatics
break;
}
#if DEBUG
Console.WriteLine($"SPTarkov.Server.Core: entrytype: {_entryType}");
Console.WriteLine($"SPTarkov.Server.Core: debug: {_debug}");
Console.WriteLine($"SPTarkov.Server.Core: compiled: {_compiled}");
Console.WriteLine($"SPTarkov.Server.Core: mods: {_mods}");
#endif
}
// Public Static Getters
@@ -149,10 +149,8 @@ public class Watermark
/// <returns>label text</returns>
public string GetInGameVersionLabel()
{
var sptVersion = /*ProgramStatics.SPT_VERSION ||*/ sptConfig.SptVersion;
var versionTag = /*ProgramStatics.DEBUG ? */
$"{sptVersion} - BLEEDINGEDGE { /*ProgramStatics.COMMIT?.slice(0, 6) ?? */""}";
//: `{sptVersion} - {ProgramStatics.COMMIT?.slice(0, 6) ?? ""}`;
var sptVersion = ProgramStatics.SPT_VERSION();
var versionTag = ProgramStatics.DEBUG() ? $"{sptVersion} - BLEEDINGEDGE {ProgramStatics.COMMIT()?.Substring(0, 6) ?? ""}" : $"{sptVersion} - {ProgramStatics.COMMIT()?.Substring(0, 6) ?? ""}";
return $"{sptConfig.ProjectName} {versionTag}";
}