using Core.Annotations;
using Core.Models.Eft.Common;
using Core.Models.Eft.Game;
using Core.Models.Spt.Config;
using Core.Models.Spt.Location;
namespace Core.Services;
[Injectable(InjectionType.Singleton)]
public class RaidTimeAdjustmentService
{
///
/// Make alterations to the base map data passed in
/// Loot multipliers/waves/wave start times
///
/// Changes to process on map
/// Map to adjust
public void MakeAdjustmentsToMap(RaidChanges raidAdjustments, LocationBase mapBase)
{
throw new NotImplementedException();
}
///
/// Adjust the loot multiplier values passed in to be a % of their original value
///
/// Multipliers to adjust
/// Percent to change values to
protected void AdjustLootMultipliers(LootMultiplier mapLootMultipliers, float loosePercent)
{
throw new NotImplementedException();
}
///
/// Adjust bot waves to act as if player spawned later
///
/// Map to adjust
/// Map adjustments
protected void AdjustWaves(LocationBase mapBase, RaidChanges raidAdjustments)
{
throw new NotImplementedException();
}
///
/// Create a randomised adjustment to the raid based on map data in location.json
///
/// Session id
/// Raid adjustment request
/// Response to send to client
public GetRaidTimeResponse GetRaidAdjustments(string sessionId, GetRaidTimeRequest request)
{
throw new NotImplementedException();
}
///
/// Get raid start time settings for specific map
///
/// Map Location e.g. bigmap
/// ScavRaidTimeLocationSettings
protected ScavRaidTimeLocationSettings GetMapSettings(string location)
{
throw new NotImplementedException();
}
///
/// Adjust exit times to handle scavs entering raids part-way through
///
/// Map base file player is on
/// How long raid is in minutes
/// List of exit changes to send to client
protected List GetExitAdjustments(LocationBase mapBase, int newRaidTimeMinutes)
{
throw new NotImplementedException();
}
}