using Core.Models.Eft.Common; using Core.Models.Eft.Common.Tables; using Core.Models.Spt.Services; namespace Core.Services; 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(); } }