153 lines
5.4 KiB
C#
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();
|
|
}
|
|
}
|