Files
SPT-Server-Build/Core/Services/InsuranceService.cs
T
2025-01-19 12:40:12 +00:00

153 lines
5.4 KiB
C#

using Core.Annotations;
using Core.Models.Eft.Common;
using Core.Models.Eft.Common.Tables;
using Core.Models.Spt.Services;
namespace Core.Services;
[Injectable(InjectionType.Singleton)]
public class InsuranceService
{
/// <summary>
/// Does player have insurance dictionary exists
/// </summary>
/// <param name="sessionId">Player id</param>
/// <returns>True if exists</returns>
public bool InsuranceDictionaryExists(string sessionId)
{
throw new NotImplementedException();
}
/// <summary>
/// Get all insured items by all traders for a profile
/// </summary>
/// <param name="sessionId">Profile id (session id)</param>
/// <returns>Item list</returns>
public Dictionary<string, List<Item>> GetInsurance(string sessionId)
{
throw new NotImplementedException();
}
public void ResetInsurance(string sessionId)
{
throw new NotImplementedException();
}
/// <summary>
/// Sends 'I will go look for your stuff' trader message +
/// Store lost insurance items inside profile for later retrieval
/// </summary>
/// <param name="pmcData">Profile to send insured items to</param>
/// <param name="sessionID">SessionId of current player</param>
/// <param name="mapId">Id of the location player died/exited that caused the insurance to be issued on</param>
public void StartPostRaidInsuranceLostProcess(PmcData pmcData, string sessionID, string mapId)
{
throw new NotImplementedException();
}
/// <summary>
/// Get a timestamp of when insurance items should be sent to player based on trader used to insure
/// Apply insurance return bonus if found in profile
/// </summary>
/// <param name="pmcData">Player profile</param>
/// <param name="trader">Trader base used to insure items</param>
/// <returns>Timestamp to return items to player in seconds</returns>
protected double GetInsuranceReturnTimestamp(PmcData pmcData, TraderBase trader)
{
throw new NotImplementedException();
}
protected double GetMaxInsuranceStorageTime(TraderBase traderBase)
{
throw new NotImplementedException();
}
/// <summary>
/// Store lost gear post-raid inside profile, ready for later code to pick it up and mail it
/// </summary>
/// <param name="equipmentPkg">Gear to store - generated by GetGearLostInRaid()</param>
public void StoreGearLostInRaidToSendLater(string sessionID, List<InsuranceEquipmentPkg> equipmentPkg)
{
throw new NotImplementedException();
}
/// <summary>
/// For the passed in items, find the trader it was insured against
/// </summary>
/// <param name="sessionId">Session id</param>
/// <param name="lostInsuredItems">Insured items lost in a raid</param>
/// <param name="pmcProfile">Player profile</param>
/// <returns>InsuranceEquipmentPkg list</returns>
public List<InsuranceEquipmentPkg> MapInsuredItemsToTrader(
string sessionId,
List<Item> lostInsuredItems,
PmcData pmcProfile)
{
throw new NotImplementedException();
}
/// <summary>
/// Some items should never be returned in insurance but BSG send them in the request
/// </summary>
/// <param name="lostItem">Item being returned in insurance</param>
/// <param name="inventoryItems">Player inventory</param>
/// <returns>True if item</returns>
protected bool ItemCannotBeLostOnDeath(Item lostItem, List<Item> inventoryItems)
{
throw new NotImplementedException();
}
/// <summary>
/// Add gear item to InsuredItems list in player profile
/// </summary>
/// <param name="gear">Gear to send</param>
protected void AddGearToSend(InsuranceEquipmentPkg gear)
{
throw new NotImplementedException();
}
/// <summary>
/// Does insurance exist for a player and by trader
/// </summary>
/// <param name="sessionId">Player id (session id)</param>
/// <param name="traderId">Trader items insured with</param>
/// <returns>True if exists</returns>
protected bool InsuranceTraderArrayExists(string sessionId, string traderId)
{
throw new NotImplementedException();
}
/// <summary>
/// Empty out list holding insured items by sessionid + traderid
/// </summary>
/// <param name="sessionId">Player id (session id)</param>
/// <param name="traderId">Trader items insured with</param>
public void ResetInsuranceTraderArray(string sessionId, string traderId)
{
throw new NotImplementedException();
}
/// <summary>
/// Store insured item
/// </summary>
/// <param name="sessionId">Player id (session id)</param>
/// <param name="traderId">Trader item insured with</param>
/// <param name="itemToAdd">Insured item (with children)</param>
public void AddInsuranceItemToArray(string sessionId, string traderId, Item itemToAdd)
{
throw new NotImplementedException();
}
/// <summary>
/// Get price of insurance * multiplier from config
/// </summary>
/// <param name="pmcData">Player profile</param>
/// <param name="inventoryItem">Item to be insured</param>
/// <param name="traderId">Trader item is insured with</param>
/// <returns>price in roubles</returns>
public double GetRoublePriceToInsureItemWithTrader(PmcData? pmcData, Item inventoryItem, string traderId)
{
throw new NotImplementedException();
}
}