DIFF

class FireplaceBaseSource

FireplaceBase ItemBase InventoryItem EntityAI Entity ObjectTyped Object IEntity Managed

All members, including inherited

Constructors 2

protected void FireplaceBase()

Constants 88

const float PARAM_SMALL_FIRE_TEMPERATURE = 150

maximum fireplace temperature of a small fire (degree Celsius)

const float PARAM_NORMAL_FIRE_TEMPERATURE = 1000

maximum fireplace temperature of a normal fire (degree Celsius)

const float PARAM_OUTDOOR_FIRE_TEMPERATURE = 500

maximum fireplace temperature of an outdoor fire (degree Celsius)

const float PARAM_MIN_FIRE_TEMPERATURE = 30

minimum fireplace temperature under which the fireplace is inactive (degree Celsius)

const float PARAM_TEMPERATURE_INCREASE = 10

how much will temperature increase when fireplace is burning (degree Celsius per second)

Referenced by Heating()
const float PARAM_TEMPERATURE_DECREASE = 3

how much will temperature decrease when fireplace is cooling (degree Celsius per second)

Referenced by Cooling(), and Heating()
const float PARAM_MAX_WET_TO_IGNITE = 0.2

maximum wetness value when the fireplace can be ignited

Referenced by IsEntityWet()
const float PARAM_MIN_TEMP_TO_REIGNITE = 30

minimum fireplace temperature under which the fireplace can be reignited using air only (degree Celsius)

const float PARAM_IGNITE_RAIN_THRESHOLD = 0.1

maximum rain value when the fireplace can be ignited

const float PARAM_BURN_WET_THRESHOLD = 0.40

maximum wetness value when the fireplace is able to burn

Referenced by Heating(), and StartHeating()
const float PARAM_WET_HEATING_DECREASE_COEF = 0.01

value for calculating wetness loss during heating process

const float PARAM_WET_COOLING_DECREASE_COEF = 0.002

value for calculating wetness loss during cooling process

Referenced by Cooling()
const float PARAM_FIRE_CONSUM_RATE_AMOUNT = 0.5

base value of fire consumption rate (how many base energy will be spent on each update)

Referenced by Heating()
const float PARAM_BURN_DAMAGE_COEF = 5.0

value for calculating damage on items located in fireplace cargo

const float PARAM_FULL_HEAT_RADIUS = 2.0

radius in which objects are fully heated by fire

Referenced by FireplaceBase()
const float PARAM_HEAT_RADIUS = 4.0

radius in which objects are heated by fire

Referenced by FireplaceBase()
const float PARAM_MAX_TRANSFERED_TEMPERATURE = 20

maximum value for temperature that will be transfered to player (environment)

Referenced by FireplaceBase()
const float PARAM_DRY_MODIFIER = 1.3
Referenced by FireplaceBase()
const int MIN_STONES_TO_BUILD_CIRCLE = 8

minimum amount of stones for circle

Referenced by CanBuildStoneCircle()
const int MIN_STONES_TO_BUILD_OVEN = 16

minimum amount of stones for oven

Referenced by CanBuildOven()
const int MAX_TEMPERATURE_TO_DISMANTLE_OVEN = 40

maximum temperature for dismantling oven

Referenced by CanDismantleOven()
const float MIN_CEILING_HEIGHT = 5

min height of ceiling for fire to be ignited

const float FUEL_BURN_RATE_DEFAULT = 1.0
const float FUEL_BURN_RATE_STONES = 0.92
const float FUEL_BURN_RATE_OVEN = 0.85
const float PARAM_COOKING_TEMP_THRESHOLD = 100

cooking

Referenced by CanCookOnStick(), and Cooling()
const int TIMER_HEATING_UPDATE_INTERVAL = 3

timer constants

const int TIMER_COOLING_UPDATE_INTERVAL = 3

update interval duration of cooling process (seconds)

const int DIRECT_COOKING_SLOT_COUNT = 3

direct cooking slots

Referenced by Cooling(), DirectCookingSlotsInUse(), Heating()
Show 1 more, StopCooling()
const int SMOKING_SLOT_COUNT = 4
const float SMOKING_SPEED = 1

per second

Referenced by SmokeOnSmokingSlot()
const int LIFETIME_FIREPLACE_STONE_CIRCLE = 172800
const int LIFETIME_FIREPLACE_STONE_OVEN = 604800
const float IGNITE_WIND_THRESHOLD = 0.8

fireplace can not be ignited above this multiple of max wind

Referenced by IsWindy()
protected const float RAIN_EFFECT_LIMIT = 0.4

rain level that triggers fireplace to start soaking

Referenced by Cooling(), and Heating()
protected const float SNOWFALL_EFFECT_LIMIT = 1.5

snowfall level that triggers fireplace to start soaking

Referenced by Cooling(), and Heating()
protected const float RAIN_WETNESS_INCREASE = 0.02

value for calculating of wetness that fireplace gain when raining

Referenced by Cooling(), and Heating()
protected const float SNOWFALL_WETNESS_INCREASE = 0.01

value for calculating of wetness that fireplace gain when raining

Referenced by Cooling(), and Heating()
const string SOUND_FIRE_HEAVY = "HeavyFire_SoundSet"
Referenced by SoundFireHeavyStart()
const string SOUND_FIRE_LIGHT = "LightFire_SoundSet"
Referenced by SoundFireLightStart()
const string SOUND_FIRE_NO_FIRE = "NoFuelFire_SoundSet"
const string SOUND_FIRE_EXTINGUISHING = "ExtinguishByWater_SoundSet"
const string SOUND_FIRE_EXTINGUISHED = "ExtinguishByWaterEnd_SoundSet"
const string MESSAGE_IGNITE_IGNIT_ITEM_DAMAGED = "You cannot start fire. Fireplace is ruined."
const string MESSAGE_IGNITE_NO_KINDLING = "There needs to be some kindling to start a fire."
const string MESSAGE_IGNITE_TOO_WET = "The fireplace is too wet to be ignited."
const string MESSAGE_IGNITE_RAIN = "The fire went out because of the rain."
const string MESSAGE_IGNITE_WIND = "The fire went out because of the wind."
const string MESSAGE_IGNITE_IN_WATER = "I cannot ignite the fireplace in the water."
const string MESSAGE_IGNITE_UNDER_LOW_ROOF = "I cannot ignite the fireplace here, the is not enough room."
const string MESSAGE_REIGNITE_NO_KINDLING = "There needs to be some kindling to start a fire."
const string MESSAGE_REIGNITE_RAIN = "Cannot reignite fireplace in rain."
const string MESSAGE_REIGNITE_TOO_WET = "The fireplace is too wet to be reignited."
const string MESSAGE_BURY_ASHES_FAILED_NOT_EMPTY = "Cannot bury ashes. There are sill items in it."
const string MESSAGE_BURY_ASHES_FAILED_SURFACE = "Cannot bury ashes on hard surface."
const string MESSAGE_BURY_ASHES_FAILED_BURNING = "Cannot bury ashes, the fireplace is still burning."
const string MESSAGE_BURY_ASHES_FAILED_TOO_HOT = "Cannot bury ashes, the fireplace is too hot."
const string MESSAGE_CANNOT_BUILD_OVEN = "Cannot build oven."
const string MESSAGE_CANNOT_DISMANTLE_OVEN = "Cannot dismantle oven."
const string ANIMATION_ASHES = "Ashes"
const string ANIMATION_KINDLING = "Kindling"
const string ANIMATION_STICKS = "Sticks"
const string ANIMATION_WOOD = "Wood"
const string ANIMATION_BURNT_WOOD = "BurntWood"
const string ANIMATION_STONE = "Stone"
const string ANIMATION_STONES = "StonesCircle"
const string ANIMATION_TRIPOD = "Tripod"
const string ANIMATION_OVEN = "Oven"
const string ANIMATION_INVENTORY = "Inventory"
const string ANIMATION_COOKWARE_HANDLE = "handleRotate"
const string ANIMATION_CAULDRON_HANDLE = "handle1Rotate"
const string MATERIAL_FIREPLACE_GLOW = "dz\\gear\\cooking\\data\\stoneground.rvmat"
Referenced by StartHeating()
const string MATERIAL_FIREPLACE_NOGLOW = "dz\\gear\\cooking\\data\\stonegroundnoemit.rvmat"
Referenced by StopCooling()
protected const float PLACEMENT_HEIGHT_LIMIT = 0.1

Y coord placement limit - this is important when server has collision checks disabled

Referenced by CanBePlaced()
const string OBJECT_CLUTTER_CUTTER = "ClutterCutterFireplace"
protected const float WET_SURFACE_INCREMENT = 0.06

size of wetness increment (per FP heating tick) added to overall FP wetness when ignited on wet surface

Referenced by Heating()
const float PARAM_ITEM_HEAT_MIN_TEMP = 40

DEPRECATED

const float PARAM_ITEM_HEAT_TEMP_INCREASE_COEF = 10

value for calculating temperature increase on each heat update interval (degree Celsius)

const float PARAM_ITEM_HEAT_TEMP_HEATING_COEF = 1.0

multiplies temperature change on heating

const float PARAM_MAX_ITEM_HEAT_TEMP_INCREASE = 200

maximum value of temperature of items in fireplace when heating (degree Celsius)

const float PARAM_HEAT_THROUGH_AIR_COEF = 0.1

DEPRECATED value for calculation of heat transfered from fireplace through air to player (environment)

const float TEMPERATURE_LOSS_MP_DEFAULT = 1.0
const float TEMPERATURE_LOSS_MP_STONES = 0.90

10% boost

const float TEMPERATURE_LOSS_MP_OVEN = 0.75

25% boost

const float PARAM_COOKING_EQUIP_MAX_TEMP = 250

maximum temperature of attached cooking equipment (degree Celsius)

const float PARAM_COOKING_EQUIP_TEMP_INCREASE = 10

how much will temperature increase when attached on burning fireplace (degree Celsius)

const float DIRECT_COOKING_SPEED = 1.5

per second

const float PARAM_WET_INCREASE_COEF = 0.02

value for calculating of wetness that fireplace gain when raining

Members 73

protected bool m_IsBurning = false
protected bool m_HasAshes = false
Referenced by HasAshes(), OnStoreLoad(), OnStoreSave()
Show 1 more, SetAshesState()
protected bool m_IsOven = false
protected bool m_HasStoneCircle = false
protected bool m_NoIgnite = false
protected int m_OvenAttachmentsLockState = -1
protected FireplaceFireState m_FireState = FireplaceFireState.NO_FIRE
Referenced by GetFireState(), and SetFireState()
protected FireplaceFireState m_LastFireState = FireplaceFireState.NO_FIRE

for synchronization purposes

protected vector m_HalfExtents
protected float m_FuelBurnRateMP = 1.0

determines how fast will the fuel item burn before spending (lower is better)

protected ref Timer m_HeatingTimer
protected FireplaceLight m_Light
protected ItemBase m_CookingEquipment
protected ref FireConsumable m_ItemToConsume
protected int PARTICLE_FIRE_START = ParticleList.CAMP_FIRE_START
protected int PARTICLE_OVEN_FIRE_START = ParticleList.CAMP_STOVE_FIRE_START
protected int PARTICLE_SMALL_FIRE = ParticleList.CAMP_SMALL_FIRE
protected int PARTICLE_NORMAL_FIRE = ParticleList.CAMP_NORMAL_FIRE
protected int PARTICLE_OVEN_FIRE = ParticleList.CAMP_STOVE_FIRE
protected int PARTICLE_FIRE_END = ParticleList.CAMP_FIRE_END
protected int PARTICLE_OVEN_FIRE_END = ParticleList.CAMP_STOVE_FIRE_END
protected int PARTICLE_STEAM_EXTINGUISHING = ParticleList.CAMP_STEAM_EXTINGUISH_START
protected int PARTICLE_NO_IGNITE_WIND = ParticleList.CAMP_NO_IGNITE_WIND
protected static ref map<typename, ref FireConsumableType> m_FireConsumableTypes
typename ATTACHMENT_STICKS = WoodenStick
typename ATTACHMENT_FIREWOOD = Firewood
typename ATTACHMENT_RAGS = Rag
Referenced by FireplaceBase()
typename ATTACHMENT_BANDAGE = BandageDressing
Referenced by FireplaceBase()
typename ATTACHMENT_BOOK = ItemBook
Referenced by FireplaceBase()
typename ATTACHMENT_BARK_OAK = Bark_Oak
Referenced by FireplaceBase()
typename ATTACHMENT_BARK_BIRCH = Bark_Birch
Referenced by FireplaceBase()
typename ATTACHMENT_PAPER = Paper
Referenced by FireplaceBase()
typename ATTACHMENT_GIFTWRAP = GiftWrapPaper
Referenced by FireplaceBase()
typename ATTACHMENT_PUNCHEDCARD = PunchedCard
Referenced by FireplaceBase()
typename ATTACHMENT_EYEMASK_COLORBASE = EyeMask_ColorBase
Referenced by FireplaceBase()
typename ATTACHMENT_COOKINGSTAND = CookingStand
typename ATTACHMENT_FRYING_PAN = FryingPan

'IsCookware' used instead

protected Object m_ClutterCutter
protected float m_TotalEnergy
ref NoiseParams m_NoisePar
Referenced by Heating(), and StartHeating()
private bool m_CanNoise = true

Flip every fireplace update to limit amount of noise generation

Referenced by Heating()
protected float m_SurfaceUnderWetnessModifier
protected ref UnderObjectDecalSpawnComponent m_UnderObjectDecalSpawnComponent
protected float m_TemperatureLossMP = 1.0

determines how fast will the fireplace loose its temperature when cooling (lower is better)

Methods 171

override void EEDelete(EntityAI parent)
override void AfterStoreLoad()
override bool IsFireplace()
override bool CanHaveWetness()
override bool CanHaveTemperature()
override bool GetCookingTargetTemperature(out float temperature)
override bool IsSelfAdjustingTemperature()
ItemBase GetCookingEquipment()
void SetCookingEquipment(ItemBase equipment)
bool SmokingSlotsInUse()
void DestroyFireplace()

[DEPRECATED]

override bool IsPrepareToDelete()
Referenced by CheckForDestroy()
override void OnChildItemRemoved(InventoryItem item)
void RefreshFireplaceVisuals()
protected void SetBurntFirewood()

DEPRECATED

void RefreshFireplacePhysics()
bool CanShowSmoke()
protected void ParticleFireStartStart()
protected void ParticleFireStartStop()
protected void ParticleSmallFireStart()
protected void ParticleSmallFireStop()
protected void ParticleNormalFireStart()
protected void ParticleNormalFireStop()
protected void ParticleSmallSmokeStop()
protected void ParticleNormalSmokeStop()
protected void ParticleFireEndStart()
protected void ParticleFireEndStop()
protected void ParticleFireWindyNoIgniteStart()
Referenced by OnRPC()
protected void ParticleSteamExtinguishingStart()
protected void ParticleSteamExtinguishingStop()
protected void ParticleSteamEndStart()
protected void ParticleSteamEndStop()
protected void ParticleWetNoIgniteStart()
Referenced by OnRPC()
protected void ParticleWetNoIgniteStop()
bool GetCeilingHeight(out float actual_height)
float GetAirResistanceForSmokeParticles(float actual_height)
References Math.Clamp()
protected vector GetSmokeEffectPosition()
References Vector()
protected void SoundFireLightStart()
protected void SoundFireHeavyStart()
protected void SoundFireNoFireStart()
protected void SoundFireExtinguishedStart()
protected void SoundFireWetNoIgniteStart()
Referenced by OnRPC()
protected void SoundFireExtinguishingStart()
protected void SoundFireWindyNoIgniteStart()
Referenced by OnRPC()
protected void SoundFireStop()
protected float GetFireConsumableTypeEnergy(ItemBase item)
protected void RemoveFromFireConsumables(FireConsumable fire_consumable)

support for inherited classes; second pass of lookup inside FireConsumableType

protected FireConsumable GetItemToConsume()
References m_ItemToConsume
Referenced by SpendFireConsumable()
protected int GetKindlingCount()

Returns count of all kindling type items (define in 'm_KindlingTypes') attached to fireplace

protected int GetFuelCount()

Returns count of all fuel type items (define in 'm_FuelTypes') attached to fireplace

bool IsItemTypeAttached(typename item_type)

support for inherited classes; second pass of lookup inside FireConsumableType

bool IsItemAttachedQuantity(typename item_type, float quantity)
bool HasLastAttachment()
bool HasLastFuelKindlingAttached()
protected void SetBurningState(bool is_burning)
References m_IsBurning
Referenced by StartFire(), and StopFire()
protected void SetAshesState(bool has_ashes)
References m_HasAshes
Referenced by SpendFireConsumable()
bool IsProcessing()

returns true when FP is heating or cooling

int GetAttachedStonesCount()
protected float GetFuelBurnRateMP()
References m_FuelBurnRateMP
Referenced by Heating()
protected void SetFuelBurnRateMP(float value)
References m_FuelBurnRateMP
protected int GetFireState()
References m_FireState
protected void SetFireState(FireplaceFireState state)
References Synchronize(), and m_FireState
protected void Heating()
References NoiseSystem.AddNoisePos(), AddWetnessToFireplace(), BurnItemsInFireplace()
Show 62 more, ItemBase.CheckForRoofLimited(), Math.Clamp(), CookOnDirectSlot(), CookWithEquipment(), map.Count(), DirectCookingSlotsInUse(), WeatherPhenomenon.GetActual(), WorldData.GetBaseEnvTemperatureAtObject(), MiscGameplayFunctions.GetCombinedSnowfallWindValue(), GetFireState(), GetFuelBurnRateMP(), GetFuelCount(), CGame.GetMission(), NoiseAIEvaluate.GetNoiseReduction(), CGame.GetNoiseSystem(), Object.GetPosition(), Weather.GetRain(), EntityAI.GetTemperature(), EntityAI.GetTemperature(), CGame.GetWeather(), ItemBase.GetWet(), CGame.GetWorld(), Mission.GetWorldData(), HasCookingStand(), World.IsNight(), IsOpen(), IsOven(), EntityAI.IsRoofAbove(), RefreshFireState(), UniversalTemperatureSourceLambdaFireplace.SetCurrentTemperature(), UniversalTemperatureSourceLambdaFireplace.SetFuelCount(), EntityAI.SetTemperatureDirect(), SmokeOnSmokingSlot(), SmokingSlotsInUse(), SpendFireConsumable(), StopFire(), Synchronize(), UniversalTemperatureSource.Update(), DIRECT_COOKING_SLOT_COUNT, m_CanNoise, m_CookingEquipment, m_DirectCookingSlots, m_FireConsumables, m_NoisePar, UniversalTemperatureSourceLambdaFireplace.m_NormalFireplaceTemperatureMax, m_SmokingSlots, m_SurfaceUnderWetnessModifier, m_UTSLFireplace, m_UTSource, m_UTSSettings, PARAM_BURN_WET_THRESHOLD, PARAM_FIRE_CONSUM_RATE_AMOUNT, PARAM_TEMPERATURE_DECREASE, PARAM_TEMPERATURE_INCREASE, PARAM_WET_HEATING_DECREASE_COEF, RAIN_EFFECT_LIMIT, RAIN_WETNESS_INCREASE, SMOKING_SLOT_COUNT, SNOWFALL_EFFECT_LIMIT, SNOWFALL_WETNESS_INCREASE, TIMER_HEATING_UPDATE_INTERVAL, and WET_SURFACE_INCREMENT
protected void StopHeating()
Referenced by StopFire()
protected void CookWithEquipment()
Referenced by Cooling(), and Heating()
Cooking GetCookingProcess()
protected void CookOnDirectSlot(ItemBase slot_item, float temp_equip, float temp_ext)
Referenced by Cooling(), and Heating()
protected void SmokeOnSmokingSlot(ItemBase slot_item, float temp_equip, float temp_ext)
Referenced by Cooling(), and Heating()
protected void AddTemperatureToFireplace(float amount)

DEPRECATED

protected void AddWetnessToItem(ItemBase item, float amount)

fuel & kindling

protected void TransferHeatToNearPlayers()

DEPRECATED

bool IsFacingFireplace(PlayerBase player)

DEPRECATED

References ErrorEx()
void SetIgniteFailure(bool failure)
References m_NoIgnite
static bool IsEntityWet(notnull EntityAI entity_ai)
Referenced by IsWet()
bool IsCeilingHighEnoughForSmoke()
static bool IsRainingAboveEntity(notnull EntityAI entity_ai)
bool IsRainingAbove()
static bool IsEntityOnWaterSurface(notnull EntityAI entity_ai)
protected float GetSurfaceWetnessOnHeatModifier(notnull EntityAI entity)
static bool IsEntityOnInteriorSurface(notnull EntityAI entity_ai)
bool IsOnInteriorSurface()
bool IsInAnimPhase(string anim_phase)
Referenced by SetBurntFirewood()
override bool CanSwapEntities(EntityAI otherItem, InventoryLocation otherDestination, InventoryLocation destination)
bool IsSpaceForOven()
References IsSpaceFor(), and Vector()
Referenced by CanBuildOven()
bool IsSpaceForCircle()
References IsSpaceFor(), and Vector()
Referenced by CanBuildStoneCircle()
FireplaceLight GetLightEntity()
References m_Light
void SetLightEntity(FireplaceLight light)
References m_Light
override bool CanBePlaced(Man player, vector position)
override void OnPlacementComplete(Man player, vector position = "0 0 0", vector orientation = "0 0 0")
override string GetDeploySoundset()
override void OnAttachmentQuantityChanged(ItemBase item)
override bool CanReleaseAttachment(EntityAI attachment)
override bool DisassembleOnLastDetach()
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
protected float GetTemperatureLossMP()
protected void SetTemperatureLossMP(float value)
protected void AddDamageToItemByFire(ItemBase item, bool can_be_ruined)