using Core.Annotations;
using Core.Models.Eft.Common;
using Core.Models.Eft.Common.Tables;
using Core.Models.Enums;
using Core.Models.Spt.Config;
namespace Core.Services;
[Injectable(InjectionType.Singleton)]
public class SeasonalEventService
{
///
/// Get an array of christmas items found in bots inventories as loot
///
/// array
public string[] GetChristmasEventItems()
{
throw new NotImplementedException();
}
///
/// Get an array of halloween items found in bots inventories as loot
///
/// array
public string[] GetHalloweenEventItems()
{
throw new NotImplementedException();
}
public bool ItemIsChristmasRelated(string itemTpl)
{
throw new NotImplementedException();
}
public bool ItemIsHalloweenRelated(string itemTpl)
{
throw new NotImplementedException();
}
///
/// Check if item id exists in christmas or halloween event arrays
///
/// item tpl to check for
///
public bool ItemIsSeasonalRelated(string itemTpl)
{
throw new NotImplementedException();
}
///
/// Get active seasonal events
///
/// Array of active events
public List GetActiveEvents()
{
throw new NotImplementedException();
}
///
/// Get an array of seasonal items that should not appear
/// e.g. if halloween is active, only return christmas items
/// or, if halloween and christmas are inactive, return both sets of items
///
/// array of tpl strings
public string[] GetInactiveSeasonalEventItems()
{
throw new NotImplementedException();
}
///
/// Is a seasonal event currently active
///
/// true if event is active
public bool SeasonalEventEnabled()
{
throw new NotImplementedException();
}
///
/// Is christmas event active
///
/// true if active
public bool ChristmasEventEnabled()
{
throw new NotImplementedException();
}
///
/// is halloween event active
///
/// true if active
public bool HalloweenEventEnabled()
{
throw new NotImplementedException();
}
///
/// Is detection of seasonal events enabled (halloween / christmas)
///
/// true if seasonal events should be checked for
public bool IsAutomaticEventDetectionEnabled()
{
throw new NotImplementedException();
}
///
/// Get a dictionary of gear changes to apply to bots for a specific event e.g. Christmas/Halloween
///
/// Name of event to get gear changes for
/// bots with equipment changes
protected Dictionary>> GetEventBotGear(SeasonalEventType eventType)
{
throw new NotImplementedException();
}
///
/// Get a dictionary of loot changes to apply to bots for a specific event e.g. Christmas/Halloween
///
/// Name of event to get gear changes for
/// bots with loot changes
protected Dictionary>> GetEventBotLoot(SeasonalEventType eventType)
{
throw new NotImplementedException();
}
///
/// Get the dates each seasonal event starts and ends at
///
/// Record with event name + start/end date
public List GetEventDetails()
{
throw new NotImplementedException();
}
///
/// Look up quest in configs/quest.json
///
/// Quest to look up
/// event type (Christmas/Halloween/None)
/// true if related
public bool IsQuestRelatedToEvent(string questId, SeasonalEventType eventType)
{
throw new NotImplementedException();
}
///
/// Handle activating seasonal events
///
public void EnableSeasonalEvents()
{
throw new NotImplementedException();
}
///
/// Force a seasonal event to be active
///
/// Event to force active
/// True if event was successfully force enabled
public bool ForceSeasonalEvent(SeasonalEventType eventType)
{
throw new NotImplementedException();
}
///
/// Store active events inside class list property `currentlyActiveEvents` + set class properties: christmasEventActive/halloweenEventActive
///
public void CacheActiveEvents()
{
throw new NotImplementedException();
}
///
/// Get the currently active weather season e.g. SUMMER/AUTUMN/WINTER
///
/// Season enum value
public Season GetActiveWeatherSeason()
{
throw new NotImplementedException();
}
///
/// Does the provided date fit between the two defined dates?
/// Excludes year
/// Inclusive of end date upto 23 hours 59 minutes
///
/// Date to check is between 2 dates
/// Lower bound for month
/// Lower bound for day
/// Upper bound for month
/// Upper bound for day
/// True when inside date range
protected bool DateIsBetweenTwoDates(DateTime dateToCheck, int startMonth, int startDay, int endMonth, int endDay)
{
throw new NotImplementedException();
}
///
/// Iterate through bots inventory and loot to find and remove christmas items (as defined in SeasonalEventService)
///
/// Bots inventory to iterate over
/// the role of the bot being processed
public void RemoveChristmasItemsFromBotInventory(BotBaseInventory botInventory, string botRole)
{
throw new NotImplementedException();
}
///
/// Make adjusted to server code based on the name of the event passed in
///
/// globals.json
/// Name of the event to enable. e.g. Christmas
protected void UpdateGlobalEvents(Config globalConfig, SeasonalEvent eventType)
{
throw new NotImplementedException();
}
protected void ApplyHalloweenEvent(SeasonalEvent eventType, Config globalConfig)
{
throw new NotImplementedException();
}
protected void ApplyChristmasEvent(SeasonalEvent eventType, Config globalConfig)
{
throw new NotImplementedException();
}
protected void ApplyNewYearsEvent(SeasonalEvent eventType, Config globalConfig)
{
throw new NotImplementedException();
}
protected void AdjustBotAppearanceValues(SeasonalEventType season)
{
throw new NotImplementedException();
}
protected void ReplaceBotHostility(Dictionary hostilitySettings)
{
throw new NotImplementedException();
}
protected void RemoveEntryRequirement(List locationIds)
{
throw new NotImplementedException();
}
public void GivePlayerSeasonalGifts(string sessionId)
{
throw new NotImplementedException();
}
///
/// Force zryachiy to always have a melee weapon
///
protected void AdjustZryachiyMeleeChance()
{
throw new NotImplementedException();
}
///
/// Enable the halloween zryachiy summon event
///
protected void EnableHalloweenSummonEvent()
{
throw new NotImplementedException();
}
protected void ConfigureZombies(ZombieSettings zombieSettings)
{
throw new NotImplementedException();
}
///
/// Get location ids of maps with an infection above 0
///
/// Dict of locations with their infection percentage
/// List of location ids
protected List GetLocationsWithZombies(Dictionary locationInfections)
{
throw new NotImplementedException();
}
///
/// BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
///
/// Key to convert
/// List of locations
protected List GetLocationFromInfectedLocation(string infectedLocationKey)
{
throw new NotImplementedException();
}
protected void AddEventWavesToMaps(string eventType)
{
throw new NotImplementedException();
}
///
/// Add event bosses to maps
///
/// Seasonal event, e.g. HALLOWEEN/CHRISTMAS
/// OPTIONAL - Maps to add bosses to
protected void AddEventBossesToMaps(string eventType, List mapIdWhitelist = null)
{
throw new NotImplementedException();
}
///
/// Change trader icons to be more event themed (Halloween only so far)
///
/// What event is active
protected void AdjustTraderIcons(SeasonalEventType eventType)
{
throw new NotImplementedException();
}
///
/// Add lootble items from backpack into patrol.ITEMS_TO_DROP difficulty property
///
protected void AddLootItemsToGifterDropItemsList()
{
throw new NotImplementedException();
}
///
/// Read in data from seasonalEvents.json and add found equipment items to bots
///
/// Name of the event to read equipment in from config
protected void AddEventGearToBots(SeasonalEventType eventType)
{
throw new NotImplementedException();
}
///
/// Read in data from seasonalEvents.json and add found loot items to bots
///
/// Name of the event to read loot in from config
protected void AddEventLootToBots(SeasonalEventType eventType)
{
throw new NotImplementedException();
}
///
/// Add pumpkin loot boxes to scavs
///
protected void AddPumpkinsToScavBackpacks()
{
throw new NotImplementedException();
}
protected void RenameBitcoin()
{
throw new NotImplementedException();
}
///
/// Set Khorovod(dancing tree) chance to 100% on all maps that support it
///
protected void EnableDancingTree()
{
throw new NotImplementedException();
}
///
/// Add santa to maps
///
protected void AddGifterBotToMaps()
{
throw new NotImplementedException();
}
protected void HandleModEvent(SeasonalEvent seasonalEvent, Config globalConfig)
{
throw new NotImplementedException();
}
///
/// Send gift to player if they have not already received it
///
/// Player to send gift to
/// Key of gift to give
protected void GiveGift(string playerId, string giftKey)
{
throw new NotImplementedException();
}
///
/// Get the underlying bot type for an event bot e.g. `peacefullZryachiyEvent` will return `bossZryachiy`
///
/// Event bot role type
/// Bot role as string
public string GetBaseRoleForEventBot(string eventBotRole)
{
throw new NotImplementedException();
}
///
/// Force the weather to be snow
///
public void EnableSnow()
{
throw new NotImplementedException();
}
}