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