Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Файл FireplaceBase.c

См. исходные тексты.

Перечисления

enum  FireplaceFireState {
  NO_FIRE = 1 , START_FIRE = 2 , SMALL_FIRE = 3 , NORMAL_FIRE = 4 ,
  END_FIRE = 5 , EXTINGUISHING_FIRE = 6 , EXTINGUISHED_FIRE = 7 , REIGNITED_FIRE = 8 ,
  COUNT = 9
}
 

Функции

void FireplaceBase ()
 
void ~FireplaceBase ()
 
override void EEInit ()
 
override void EEItemAttached (EntityAI item, string slot_name)
 
override void OnItemLocationChanged (EntityAI old_owner, EntityAI new_owner)
 
override void OnAttachmentRuined (EntityAI attachment)
 
override void EEDelete (EntityAI parent)
 
override void OnStoreSave (ParamsWriteContext ctx)
 
override bool OnStoreLoad (ParamsReadContext ctx, int version)
 
override void AfterStoreLoad ()
 
void Synchronize ()
 
override void OnVariablesSynchronized ()
 
override bool IsFireplace ()
 
bool IsBaseFireplace ()
 
bool IsBarrelWithHoles ()
 
bool IsFireplaceIndoor ()
 
bool IsIndoorOven ()
 
override bool CanHaveWetness ()
 
override bool CanHaveTemperature ()
 
ItemBase GetCookingEquipment ()
 
void SetCookingEquipment (ItemBase equipment)
 
void ClearCookingEquipment (ItemBase pItem)
 
void ClearCookingEquipment ()
 DEPRECATED.
 
bool DirectCookingSlotsInUse ()
 
bool SmokingSlotsInUse ()
 
void DestroyFireplace ()
 [DEPRECATED]
 
override bool IsPrepareToDelete ()
 
override void EECargoOut (EntityAI item)
 
void RefreshFireplaceVisuals ()
 
void SetBurntFirewood ()
 
void RefreshFireplacePhysics ()
 
void RefreshFireParticlesAndSounds (bool force_refresh)
 
void StopAllParticlesAndSounds ()
 
bool CanShowSmoke ()
 
void RefreshFireState ()
 
bool PlayParticle (out Particle particle, int particle_type, vector pos, bool worldpos=false)
 
bool StopParticle (out Particle particle)
 
void ParticleFireStartStart ()
 
void ParticleFireStartStop ()
 
void ParticleSmallFireStart ()
 
void ParticleSmallFireStop ()
 
void ParticleNormalFireStart ()
 
void ParticleNormalFireStop ()
 
void ParticleSmallSmokeStart ()
 
void ParticleSmallSmokeStop ()
 
void ParticleNormalSmokeStart ()
 
void ParticleNormalSmokeStop ()
 
void ParticleFireEndStart ()
 
void ParticleFireEndStop ()
 
void ParticleFireWindyNoIgniteStart ()
 
void ParticleSteamExtinguishingStart ()
 
void ParticleSteamExtinguishingStop ()
 
void ParticleSteamEndStart ()
 
void ParticleSteamEndStop ()
 
void ParticleWetNoIgniteStart ()
 
void ParticleWetNoIgniteStop ()
 
bool GetCeilingHeight (out float actual_height)
 
float GetAirResistanceForSmokeParticles (float actual_height)
 
vector GetFireEffectPosition ()
 
vector GetSmokeEffectPosition ()
 
void SoundFireLightStart ()
 
void SoundFireHeavyStart ()
 
void SoundFireNoFireStart ()
 
void SoundFireExtinguishedStart ()
 
void SoundFireWetNoIgniteStart ()
 
void SoundFireExtinguishingStart ()
 
void SoundFireWindyNoIgniteStart ()
 
void SoundFireStop ()
 
void AddToFireConsumables (ItemBase item)
 
float GetFireConsumableTypeEnergy (ItemBase item)
 
void RemoveFromFireConsumables (FireConsumable fire_consumable)
 
FireConsumable GetFireConsumableByItem (ItemBase item)
 
FireConsumable SetItemToConsume ()
 
FireConsumable GetItemToConsume ()
 
void SpendFireConsumable (float amount)
 
int GetKindlingCount ()
 Returns count of all kindling type items (define in 'm_KindlingTypes') attached to fireplace.
 
int GetFuelCount ()
 Returns count of all fuel type items (define in 'm_FuelTypes') attached to fireplace.
 
bool IsKindling (ItemBase item)
 Returns if item attached to fireplace is kindling.
 
bool IsFuel (ItemBase item)
 Returns if item attached to fireplace is fuel.
 
bool IsItemTypeAttached (typename item_type)
 
bool IsItemAttachedQuantity (typename item_type, float quantity)
 
bool HasLastAttachment ()
 
bool HasLastFuelKindlingAttached ()
 
bool IsBurning ()
 
void SetBurningState (bool is_burning)
 
bool HasAshes ()
 
void SetAshesState (bool has_ashes)
 
bool IsOven ()
 
bool HasStoneCircle ()
 
bool HasStones ()
 
int GetAttachedStonesCount ()
 
void SetOvenState (bool is_oven)
 
void SetStoneCircleState (bool has_stonecircle)
 
float GetTemperatureLossMP ()
 
void SetTemperatureLossMP (float value)
 
float GetFuelBurnRateMP ()
 
void SetFuelBurnRateMP (float value)
 
int GetFireState ()
 
void SetFireState (FireplaceFireState state)
 
void SetExtinguishingState ()
 
void StartFire (bool force_start=false)
 
void StartHeating ()
 
void Heating ()
 
void StopFire (FireplaceFireState fire_state=FireplaceFireState.END_FIRE)
 
void StopHeating ()
 
void StartCooling ()
 
void Cooling ()
 
void StopCooling ()
 
void CookWithEquipment ()
 
Cooking GetCookingProcess ()
 
void CookOnDirectSlot (ItemBase slot_item, float temp_equip, float temp_ext)
 
void SmokeOnSmokingSlot (ItemBase slot_item, float temp_equip, float temp_ext)
 
void BurnItemsInFireplace ()
 
void AddTemperatureToItemByFire (ItemBase item)
 
void AddTemperatureToFireplace (float amount)
 DEPRECATED.
 
void AddDamageToItemByFireEx (ItemBase item, bool can_be_ruined, bool pAttachment)
 
void AddDamageToItemByFire (ItemBase item, bool can_be_ruined)
 
void AddWetnessToItem (ItemBase item, float amount)
 
void AddWetnessToFireplace (float amount)
 
void TransferHeatToNearPlayers ()
 DEPRECATED.
 
void CreateAreaDamage ()
 
void DestroyAreaDamage ()
 
bool IsFacingFireplace (PlayerBase player)
 DEPRECATED.
 
bool HasAnyKindling ()
 
static bool IsWindy ()
 
bool GetIgniteFailure ()
 
void SetIgniteFailure (bool failure)
 
static bool IsEntityWet (notnull EntityAI entity_ai)
 
bool IsWet ()
 
bool IsRoofAbove ()
 
override bool IsOpen ()
 
bool IsCeilingHighEnoughForSmoke ()
 
static bool IsRainingAboveEntity (notnull EntityAI entity_ai)
 
bool IsRainingAbove ()
 
static bool IsEntityOnWaterSurface (notnull EntityAI entity_ai)
 
bool IsOnWaterSurface ()
 
static bool IsEntityOnInteriorSurface (notnull EntityAI entity_ai)
 
bool IsOnInteriorSurface ()
 
override bool IsEmpty ()
 
bool IsCargoEmpty ()
 
bool HasCookingStand ()
 
bool IsInAnimPhase (string anim_phase)
 
bool IsSpaceFor (vector size)
 
override bool CanSwapEntities (EntityAI otherItem, InventoryLocation otherDestination, InventoryLocation destination)
 
bool CanBuildOven ()
 
bool IsSpaceForOven ()
 
bool CanBuildStoneCircle ()
 
bool IsSpaceForCircle ()
 
bool CanDismantleOven ()
 
bool CanDismantleStoneCircle ()
 
bool CanCookOnStick ()
 
bool CanExtinguishFire ()
 
FireplaceLight GetLightEntity ()
 
void SetLightEntity (FireplaceLight light)
 
override void OnPlacementComplete (Man player, vector position="0 0 0", vector orientation="0 0 0")
 
override string GetPlaceSoundset ()
 
void CalcAndSetTotalEnergy ()
 
void CalcAndSetQuantity ()
 
override void OnAttachmentQuantityChanged (ItemBase item)
 
override bool CanReleaseAttachment (EntityAI attachment)
 
void LockOvenAttachments (bool lock)
 
override bool DisassembleOnLastDetach ()
 
override void OnRPC (PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)
 
override void OnDebugSpawn ()
 
override void GetDebugActions (out TSelectableActionInfoArrayEx outputList)
 
override bool OnAction (int action_id, Man player, ParamsReadContext ctx)
 

Переменные

enum FireplaceFireState WIND = 0
 
enum FireplaceFireState WET = 1
 
enum FireplaceFireState m_IsBurning = false
 
bool m_HasAshes = false
 
bool m_IsOven = false
 
bool m_HasStoneCircle = false
 
bool m_RoofAbove = false
 
bool m_NoIgnite = false
 
int m_OvenAttachmentsLockState = -1
 
FireplaceFireState m_FireState = FireplaceFireState.NO_FIRE
 
FireplaceFireState m_LastFireState = FireplaceFireState.NO_FIRE
 
vector m_HalfExtents
 
float m_TemperatureLossMP = 1.0
 
float m_FuelBurnRateMP = 1.0
 determines how fast will the fireplace loose its temperature when cooling (lower is better)
 
ref Cooking m_CookingProcess
 determines how fast will the fuel item burn before spending (lower is better)
 
const float PARAM_SMALL_FIRE_TEMPERATURE = 150
 
const float PARAM_NORMAL_FIRE_TEMPERATURE = 1000
 maximum fireplace temperature of a small fire (degree Celsius)
 
const float PARAM_MIN_FIRE_TEMPERATURE = 30
 maximum fireplace temperature of a normal fire (degree Celsius)
 
const float PARAM_TEMPERATURE_INCREASE = 3
 minimum fireplace temperature under which the fireplace is inactive (degree Celsius)
 
const float PARAM_TEMPERATURE_DECREASE = 3
 how much will temperature increase when fireplace is burning (degree Celsius per second)
 
const float PARAM_MAX_WET_TO_IGNITE = 0.2
 how much will temperature decrease when fireplace is cooling (degree Celsius per second)
 
const float PARAM_MIN_TEMP_TO_REIGNITE = 30
 maximum wetness value when the fireplace can be ignited
 
const float PARAM_IGNITE_RAIN_THRESHOLD = 0.1
 minimum fireplace temperature under which the fireplace can be reignited using air only (degree Celsius)
 
const float PARAM_BURN_WET_THRESHOLD = 0.40
 maximum rain value when the fireplace can be ignited
 
const float PARAM_WET_INCREASE_COEF = 0.02
 maximum wetness value when the fireplace is able to burn
 
const float PARAM_WET_HEATING_DECREASE_COEF = 0.01
 value for calculating of wetness that fireplace gain when raining
 
const float PARAM_WET_COOLING_DECREASE_COEF = 0.002
 value for calculating wetness loss during heating process
 
const float PARAM_FIRE_CONSUM_RATE_AMOUNT = 0.5
 value for calculating wetness loss during cooling process
 
const float PARAM_BURN_DAMAGE_COEF = 5.0
 base value of fire consumption rate (how many base energy will be spent on each update)
 
const float PARAM_ITEM_HEAT_TEMP_INCREASE_COEF = 10
 value for calculating damage on items located in fireplace cargo
 
const float PARAM_ITEM_HEAT_MIN_TEMP = 40
 value for calculating temperature increase on each heat update interval (degree Celsius)
 
const float PARAM_MAX_ITEM_HEAT_TEMP_INCREASE = 200
 minimum temperature for items that can be heated in fireplace cargo or as attachments (degree Celsius)
 
const float PARAM_FULL_HEAT_RADIUS = 2.0
 maximum value of temperature of items in fireplace when heating (degree Celsius)
 
const float PARAM_HEAT_RADIUS = 4.0
 radius in which objects are fully heated by fire
 
const float PARAM_HEAT_THROUGH_AIR_COEF = 0.1
 radius in which objects are heated by fire
 
const float PARAM_MAX_TRANSFERED_TEMPERATURE = 25
 DEPRECATED value for calculation of heat transfered from fireplace through air to player (environment)
 
const int MIN_STONES_TO_BUILD_CIRCLE = 8
 
const int MIN_STONES_TO_BUILD_OVEN = 16
 minimum amount of stones for circle
 
const int MAX_TEMPERATURE_TO_DISMANTLE_OVEN = 40
 minimum amount of stones for oven
 
const float MIN_CEILING_HEIGHT = 5
 maximum temperature for dismantling oven
 
const float TEMPERATURE_LOSS_MP_DEFAULT = 1.0
 min height of ceiling for fire to be ignited
 
const float TEMPERATURE_LOSS_MP_STONES = 0.90
 
const float TEMPERATURE_LOSS_MP_OVEN = 0.75
 
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
 
const float PARAM_COOKING_EQUIP_MAX_TEMP = 250
 temperature threshold for starting coooking process (degree Celsius)
 
const float PARAM_COOKING_EQUIP_TEMP_INCREASE = 10
 maximum temperature of attached cooking equipment (degree Celsius)
 
const int TIMER_HEATING_UPDATE_INTERVAL = 3
 
const int TIMER_COOLING_UPDATE_INTERVAL = 2
 update interval duration of heating process (seconds)
 
const int DIRECT_COOKING_SLOT_COUNT = 3
 direct cooking slots
 
const float DIRECT_COOKING_SPEED = 1.5
 
const int SMOKING_SLOT_COUNT = 4
 
const float SMOKING_SPEED = 1
 
const int LIFETIME_FIREPLACE_STONE_CIRCLE = 172800
 
const int LIFETIME_FIREPLACE_STONE_OVEN = 604800
 
const float IGNITE_WIND_THRESHOLD = 0.8
 
ref Timer m_HeatingTimer
 
ref Timer m_CoolingTimer
 
FireplaceLight m_Light
 
float m_LightDistance = 2000
 
ItemBase m_CookingEquipment
 
ItemBase m_DirectCookingSlots [DIRECT_COOKING_SLOT_COUNT]
 
ItemBase m_SmokingSlots [SMOKING_SLOT_COUNT]
 
ref FireConsumable m_ItemToConsume
 
int PARTICLE_FIRE_START = ParticleList.CAMP_FIRE_START
 
int PARTICLE_OVEN_FIRE_START = ParticleList.CAMP_STOVE_FIRE_START
 
int PARTICLE_SMALL_FIRE = ParticleList.CAMP_SMALL_FIRE
 
int PARTICLE_NORMAL_FIRE = ParticleList.CAMP_NORMAL_FIRE
 
int PARTICLE_OVEN_FIRE = ParticleList.CAMP_STOVE_FIRE
 
int PARTICLE_SMALL_SMOKE = ParticleList.CAMP_SMALL_SMOKE
 
int PARTICLE_NORMAL_SMOKE = ParticleList.CAMP_NORMAL_SMOKE
 
int PARTICLE_FIRE_END = ParticleList.CAMP_FIRE_END
 
int PARTICLE_OVEN_FIRE_END = ParticleList.CAMP_STOVE_FIRE_END
 
int PARTICLE_STEAM_END = ParticleList.CAMP_STEAM_2END
 
int PARTICLE_STEAM_EXTINGUISHING = ParticleList.CAMP_STEAM_EXTINGUISH_START
 
int PARTICLE_NO_IGNITE_WIND = ParticleList.CAMP_NO_IGNITE_WIND
 
Particle m_ParticleFireStart
 
Particle m_ParticleSmallFire
 
Particle m_ParticleNormalFire
 
Particle m_ParticleSmallSmoke
 
Particle m_ParticleNormalSmoke
 
Particle m_ParticleFireEnd
 
Particle m_ParticleSteamEnd
 
Particle m_ParticleSteamExtinguishing
 
const string SOUND_FIRE_HEAVY = "HeavyFire_SoundSet"
 
const string SOUND_FIRE_LIGHT = "LightFire_SoundSet"
 
const string SOUND_FIRE_NO_FIRE = "NoFuelFire_SoundSet"
 
const string SOUND_FIRE_EXTINGUISHING = "ExtinguishByWater_SoundSet"
 
const string SOUND_FIRE_EXTINGUISHED = "ExtinguishByWaterEnd_SoundSet"
 
EffectSound m_SoundFireLoop
 
EffectSound m_SoundFire
 
static ref map< typename, ref FireConsumableTypem_FireConsumableTypes
 
ref map< ItemBase, ref FireConsumablem_FireConsumables
 
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"
 
const string MATERIAL_FIREPLACE_NOGLOW = "dz\\gear\\cooking\\data\\stonegroundnoemit.rvmat"
 
 ATTACHMENT_STICKS = WoodenStick
 
 ATTACHMENT_FIREWOOD = Firewood
 
 ATTACHMENT_RAGS = Rag
 
 ATTACHMENT_BANDAGE = BandageDressing
 
 ATTACHMENT_BOOK = ItemBook
 
 ATTACHMENT_BARK_OAK = Bark_Oak
 
 ATTACHMENT_BARK_BIRCH = Bark_Birch
 
 ATTACHMENT_PAPER = Paper
 
 ATTACHMENT_GIFTWRAP = GiftWrapPaper
 
 ATTACHMENT_PUNCHEDCARD = PunchedCard
 
 ATTACHMENT_EYEMASK_COLORBASE = EyeMask_ColorBase
 
 ATTACHMENT_TRIPOD = Tripod
 
 ATTACHMENT_COOKINGSTAND = CookingStand
 
 ATTACHMENT_STONES = Stone
 
 ATTACHMENT_COOKING_POT = Pot
 
 ATTACHMENT_FRYING_PAN = FryingPan
 
 ATTACHMENT_CAULDRON = Cauldron
 
const string OBJECT_CLUTTER_CUTTER = "ClutterCutterFireplace"
 
Object m_ClutterCutter
 
ref AreaDamageManager m_AreaDamage
 
float m_TotalEnergy
 
ref NoiseParams m_NoisePar
 
bool m_CanNoise = true
 
ref UniversalTemperatureSource m_UTSource
 
ref UniversalTemperatureSourceSettings m_UTSSettings
 
ref UniversalTemperatureSourceLambdaFireplace m_UTSLFireplace
 

Перечисления

◆ FireplaceFireState

Элементы перечислений
NO_FIRE 
START_FIRE 
SMALL_FIRE 
NORMAL_FIRE 
END_FIRE 
EXTINGUISHING_FIRE 
EXTINGUISHED_FIRE 
REIGNITED_FIRE 
COUNT 
2{
3 NO_FIRE = 1,
4 START_FIRE = 2,
5 SMALL_FIRE = 3,
6 NORMAL_FIRE = 4,
7 END_FIRE = 5,
11
12 COUNT = 9 //for net sync purposes
13}
@ NO_FIRE
Definition FireplaceBase.c:3
@ SMALL_FIRE
Definition FireplaceBase.c:5
@ EXTINGUISHED_FIRE
Definition FireplaceBase.c:9
@ COUNT
Definition FireplaceBase.c:12
@ EXTINGUISHING_FIRE
Definition FireplaceBase.c:8
@ REIGNITED_FIRE
Definition FireplaceBase.c:10
@ END_FIRE
Definition FireplaceBase.c:7
@ NORMAL_FIRE
Definition FireplaceBase.c:6
@ START_FIRE
Definition FireplaceBase.c:4

Функции

◆ AddDamageToItemByFire()

void AddDamageToItemByFire ( ItemBase item,
bool can_be_ruined )
protected
2271 {
2272 item.DecreaseHealth( PARAM_BURN_DAMAGE_COEF, false );
2273
2274 if ( item.CanBeCooked() & item.GetHealthLevel() >= GameConstants.STATE_BADLY_DAMAGED )
2275 {
2277 edible_item.ChangeFoodStage( FoodStageType.BURNED );
2278 }
2279 }
const float PARAM_BURN_DAMAGE_COEF
base value of fire consumption rate (how many base energy will be spent on each update)
Definition FireplaceBase.c:56
FoodStageType
Definition FoodStage.c:2
Definition Edible_Base.c:2
Definition constants.c:615
Definition EntityAI.c:95
const int STATE_BADLY_DAMAGED
Definition constants.c:761

Перекрестные ссылки PARAM_BURN_DAMAGE_COEF и GameConstants::STATE_BADLY_DAMAGED.

◆ AddDamageToItemByFireEx()

void AddDamageToItemByFireEx ( ItemBase item,
bool can_be_ruined,
bool pAttachment )
protected

fireplace cargo only

cargo item attachments

fuel & kindling

cookable

2202 {
2203 if (!item)
2204 {
2205 return;
2206 }
2207
2209 {
2210 return;
2211 }
2212
2214 if (!pAttachment)
2215 {
2217 GameInventory itemInventory = item.GetInventory();
2218 if (itemInventory)
2219 {
2220 for (int i = 0; i < itemInventory.AttachmentCount(); ++i)
2221 {
2222 itemInventory.GetAttachmentFromIndex(i).AddHealth("", "", -PARAM_BURN_DAMAGE_COEF);
2223 }
2224 }
2225
2226 item.AddHealth("", "", -PARAM_BURN_DAMAGE_COEF);
2227 }
2228 else
2229 {
2230 float timerCoef = 1.0;
2231 if (m_HeatingTimer && m_HeatingTimer.IsRunning())
2232 {
2234 }
2235 else if (m_CoolingTimer && m_CoolingTimer.IsRunning())
2236 {
2238 }
2239
2240 switch (item.Type())
2241 {
2242 case ATTACHMENT_TRIPOD:
2248 break;
2249 }
2250
2252 if (IsFuel(item) || IsKindling(item))
2253 {
2254 if (item.GetHealthLevel() < GameConstants.STATE_BADLY_DAMAGED)
2255 {
2256 item.DecreaseHealth(PARAM_BURN_DAMAGE_COEF, false);
2257 }
2258 }
2259
2261 if (item.CanBeCooked() && item.GetHealthLevel() >= GameConstants.STATE_BADLY_DAMAGED)
2262 {
2264 edible_item.ChangeFoodStage(FoodStageType.BURNED);
2265 }
2266 }
2267 }
const int TIMER_HEATING_UPDATE_INTERVAL
Definition FireplaceBase.c:83
ATTACHMENT_FRYING_PAN
Definition FireplaceBase.c:207
const int TIMER_COOLING_UPDATE_INTERVAL
update interval duration of heating process (seconds)
Definition FireplaceBase.c:84
ATTACHMENT_CAULDRON
Definition FireplaceBase.c:208
const float PARAM_ITEM_HEAT_MIN_TEMP
value for calculating temperature increase on each heat update interval (degree Celsius)
Definition FireplaceBase.c:58
ref Timer m_CoolingTimer
Definition FireplaceBase.c:99
bool IsFuel(ItemBase item)
Returns if item attached to fireplace is fuel.
Definition FireplaceBase.c:1518
ATTACHMENT_COOKING_POT
Definition FireplaceBase.c:206
ATTACHMENT_TRIPOD
Definition FireplaceBase.c:203
ref Timer m_HeatingTimer
Definition FireplaceBase.c:98
ATTACHMENT_COOKINGSTAND
Definition FireplaceBase.c:204
bool IsKindling(ItemBase item)
Returns if item attached to fireplace is kindling.
Definition FireplaceBase.c:1500
override float GetTemperature()
Definition ItemBase.c:8251
script counterpart to engine's class Inventory
Definition Inventory.c:79
const float FIRE_ATTACHMENT_DAMAGE_PER_SECOND
various damage per second constants
Definition constants.c:730

Перекрестные ссылки ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_COOKINGSTAND, ATTACHMENT_FRYING_PAN, ATTACHMENT_TRIPOD, GameConstants::FIRE_ATTACHMENT_DAMAGE_PER_SECOND, GetTemperature(), IsFuel(), IsKindling(), m_CoolingTimer, m_HeatingTimer, PARAM_BURN_DAMAGE_COEF, PARAM_ITEM_HEAT_MIN_TEMP, GameConstants::STATE_BADLY_DAMAGED, TIMER_COOLING_UPDATE_INTERVAL и TIMER_HEATING_UPDATE_INTERVAL.

Используется в BurnItemsInFireplace().

◆ AddTemperatureToFireplace()

void AddTemperatureToFireplace ( float amount)
protected

DEPRECATED.

2198{};

◆ AddTemperatureToItemByFire()

void AddTemperatureToItemByFire ( ItemBase item)
protected
2188 {
2189 if (item.GetTemperatureMax() >= PARAM_ITEM_HEAT_MIN_TEMP)
2190 {
2191 float temperature = item.GetTemperature() + PARAM_ITEM_HEAT_TEMP_INCREASE_COEF;
2193 item.SetTemperature(temperature);
2194 }
2195 }
const float PARAM_MAX_ITEM_HEAT_TEMP_INCREASE
minimum temperature for items that can be heated in fireplace cargo or as attachments (degree Celsius...
Definition FireplaceBase.c:59
const float PARAM_ITEM_HEAT_TEMP_INCREASE_COEF
value for calculating damage on items located in fireplace cargo
Definition FireplaceBase.c:57
Definition EnMath.c:7
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.

Перекрестные ссылки Math::Clamp(), PARAM_ITEM_HEAT_MIN_TEMP, PARAM_ITEM_HEAT_TEMP_INCREASE_COEF и PARAM_MAX_ITEM_HEAT_TEMP_INCREASE.

Используется в BurnItemsInFireplace().

◆ AddToFireConsumables()

void AddToFireConsumables ( ItemBase item)
protected
1328 {
1331 }
void CalcAndSetQuantity()
Definition FireplaceBase.c:2622
float GetFireConsumableTypeEnergy(ItemBase item)
Definition FireplaceBase.c:1333
ref map< ItemBase, ref FireConsumable > m_FireConsumables
Definition FireplaceBase.c:149
Definition FireConsumable.c:2

Перекрестные ссылки CalcAndSetQuantity(), GetFireConsumableTypeEnergy() и m_FireConsumables.

Используется в FireplaceBase::EEItemAttached().

◆ AddWetnessToFireplace()

void AddWetnessToFireplace ( float amount)
protected
2292 {
2293 //add wetness
2294 float wetness = GetWet();
2295 wetness = wetness + amount;
2296 wetness = Math.Clamp(wetness, 0, 1); //wetness <0-1>
2297 SetWet(wetness);
2298
2299 //decrease temperature
2300 if (amount > 0)
2301 {
2302 float temperature = GetTemperature();
2303 temperature = temperature * ( 1 - ( wetness * 0.5 ) );
2305 // temperature via UniversalTemperatureSource
2306 m_UTSLFireplace.SetFuelCount(GetFuelCount());
2307 m_UTSLFireplace.SetCurrentTemperature(temperature);
2308 }
2309 }
const float PARAM_NORMAL_FIRE_TEMPERATURE
maximum fireplace temperature of a small fire (degree Celsius)
Definition FireplaceBase.c:44
const float PARAM_MIN_FIRE_TEMPERATURE
maximum fireplace temperature of a normal fire (degree Celsius)
Definition FireplaceBase.c:45
ref UniversalTemperatureSourceLambdaFireplace m_UTSLFireplace
Definition FireplaceBase.c:226
int GetFuelCount()
Returns count of all fuel type items (define in 'm_FuelTypes') attached to fireplace.
Definition FireplaceBase.c:1484
override void SetWet(float value, bool allow_client=false)
Definition ItemBase.c:8299
override float GetWet()
Definition ItemBase.c:8328

Перекрестные ссылки Math::Clamp(), GetFuelCount(), GetTemperature(), GetWet(), m_UTSLFireplace, PARAM_MIN_FIRE_TEMPERATURE, PARAM_NORMAL_FIRE_TEMPERATURE и SetWet().

Используется в Cooling() и Heating().

◆ AddWetnessToItem()

void AddWetnessToItem ( ItemBase item,
float amount )
protected
2283 {
2284 float wetness = item.GetWet();
2285 wetness = wetness + amount;
2286 wetness = Math.Clamp(wetness, 0, 1); //wetness <0-1>
2287 item.SetWet(wetness);
2288 }

Перекрестные ссылки Math::Clamp().

Используется в BurnItemsInFireplace().

◆ AfterStoreLoad()

override void AfterStoreLoad ( )
protected
441 {
442 super.AfterStoreLoad();
443
444 Synchronize();
445
446 //start fire
447 if (IsBurning() )
448 {
449 if (GetGame() && GetGame().IsServer())
450 {
451 StartFire(true); //will be auto-synchronized when starting fire
452 }
453 }
454 }
bool IsBurning()
Definition FireplaceBase.c:1566
void StartFire(bool force_start=false)
Definition FireplaceBase.c:1697
void Synchronize()
Definition FireplaceBase.c:459
proto native CGame GetGame()

Перекрестные ссылки GetGame(), IsBurning(), StartFire() и Synchronize().

◆ BurnItemsInFireplace()

void BurnItemsInFireplace ( )
protected

cargo

attachments

2148 {
2150 CargoBase cargo = GetInventory().GetCargo();
2151 for (int i = 0; i < cargo.GetItemCount(); i++)
2152 {
2153 ItemBase item = ItemBase.Cast(cargo.GetItem(i));
2154
2155 //set damage
2156 AddDamageToItemByFireEx(item, false, false);
2157
2158 if (item.GetHealth("", "Health") <= 0 && !item.IsKindOf("Grenade_Base"))
2159 {
2160 item.Delete();
2161 }
2162
2163 //add temperature
2165
2166 //remove wetness
2168 }
2169
2171 for (int j = 0; j < GetInventory().AttachmentCount(); ++j)
2172 {
2173 ItemBase attachment = ItemBase.Cast(GetInventory().GetAttachmentFromIndex(j));
2174
2175 //set damage
2176 AddDamageToItemByFireEx(attachment, false, true);
2177
2178 //add temperature
2180
2181 //remove wetness
2183 }
2184 }
void AddTemperatureToItemByFire(ItemBase item)
Definition FireplaceBase.c:2187
const float PARAM_WET_HEATING_DECREASE_COEF
value for calculating of wetness that fireplace gain when raining
Definition FireplaceBase.c:53
void AddDamageToItemByFireEx(ItemBase item, bool can_be_ruined, bool pAttachment)
Definition FireplaceBase.c:2201
void AddWetnessToItem(ItemBase item, float amount)
Definition FireplaceBase.c:2282
represents base for cargo storage for entities
Definition Cargo.c:7
Definition InventoryItem.c:731

Перекрестные ссылки AddDamageToItemByFireEx(), AddTemperatureToItemByFire(), AddWetnessToItem() и PARAM_WET_HEATING_DECREASE_COEF.

Используется в Cooling() и Heating().

◆ CalcAndSetQuantity()

void CalcAndSetQuantity ( )
protected
2623 {
2624 if (GetGame() && GetGame().IsServer())
2625 {
2626 float remainingEnergy;
2627
2629 {
2630 float quantity = fireConsumable.GetItem().GetQuantity();
2631 if (quantity > 0)
2632 {
2633 remainingEnergy += ((quantity - 1) * fireConsumable.GetEnergy()) + fireConsumable.GetRemainingEnergy();
2634 //Print( fireConsumable.GetItem().GetType() + " remaining energy = " + ( ( ( quantity - 1 ) * fire_consumable.GetEnergy() ) + fire_consumable.GetRemainingEnergy() ).ToString() );
2635 }
2636 else
2637 {
2638 remainingEnergy += fireConsumable.GetRemainingEnergy();
2639 //Print( fireConsumable.GetItem().GetType() + " remaining energy = " + ( fireConsumable.GetRemainingEnergy().ToString() ) );
2640 }
2641 }
2642
2644 }
2645 }
float m_TotalEnergy
Definition FireplaceBase.c:217
bool SetQuantity(float value, bool destroy_config=true, bool destroy_forced=false, bool allow_client=false, bool clamp_to_stack_max=true)
Set item quantity[related to varQuantity... config entry], destroy_config = true > if the quantity re...
Definition ItemBase.c:7885
override int GetQuantityMax()
Definition ItemBase.c:7988

Перекрестные ссылки GetGame(), GetQuantityMax(), m_FireConsumables, m_TotalEnergy и SetQuantity().

Используется в AddToFireConsumables(), CAContinuousEmpty::Cancel(), CAContinuousEmptyMagazine::Cancel(), CAContinuousFill::Cancel(), CAContinuousFillBrakes::Cancel(), CAContinuousFillCoolant::Cancel(), CAContinuousFillFuel::Cancel(), CAContinuousFillOil::Cancel(), CAContinuousQuantity::Cancel(), CAContinuousQuantityLiquidTransfer::Cancel(), CAContinuousQuantityRepeat::Cancel(), CAContinuousTransferQuantity::Cancel(), CAContinuousDisinfectPlant::Execute(), CAContinuousEmpty::Execute(), CAContinuousEmptyMagazine::Execute(), CAContinuousFertilizeGardenSlot::Execute(), CAContinuousFill::Execute(), CAContinuousFillBrakes::Execute(), CAContinuousFillCoolant::Execute(), CAContinuousFillFuel::Execute(), CAContinuousFillOil::Execute(), CAContinuousFillPowerGenerator::Execute(), CAContinuousQuantity::Execute(), CAContinuousQuantityLiquidTransfer::Execute(), CAContinuousQuantityRepeat::Execute(), CAContinuousTransferQuantity::Execute(), CAContinuousWaterPlant::Execute(), CAContinuousWaterSlot::Execute(), CASingleUseQuantity::Execute(), OnAttachmentQuantityChanged(), RemoveFromFireConsumables() и SpendFireConsumable().

◆ CalcAndSetTotalEnergy()

void CalcAndSetTotalEnergy ( )
protected
2584 {
2585 if ( GetGame() && GetGame().IsServer() )
2586 {
2587 m_TotalEnergy = 0;
2588
2590 {
2591 string quantityConfigPath = string.Format("CfgVehicles %1 varQuantityMax", fireConsumableType.GetItemType().ToString());
2592 string stackMaxConfigPath = string.Format("CfgSlots Slot_%1 stackMax", fireConsumableType.GetAttSlot());
2593 if (GetGame().ConfigIsExisting(quantityConfigPath))
2594 {
2595 float quantityMax = GetGame().ConfigGetFloat(quantityConfigPath);
2596 }
2597
2598 if (GetGame().ConfigIsExisting(stackMaxConfigPath))
2599 {
2600 float stackMax = GetGame().ConfigGetFloat(stackMaxConfigPath);
2601 }
2602
2603 //debug
2604 //Print( fireConsumableType.GetItemType().ToString() + " quantityMax = " + quantityMax.ToString() + " [" + (quantity_max*fire_consumable_type.GetEnergy()).ToString() + "] | stack_max = " + stack_max.ToString() + " [" + (stack_max*fire_consumable_type.GetEnergy()).ToString() + "]" );
2605
2606 if (stackMax > 0)
2607 {
2608 m_TotalEnergy += stackMax * fireConsumableType.GetEnergy();
2609 }
2610 else
2611 {
2613 }
2614 }
2615
2616 //debug
2617 //Print( "Total energy = " + m_TotalEnergy.ToString() );
2618 }
2619 }
float quantityMax
Definition CfgPlayerSpawnDataJson.c:209
static ref map< typename, ref FireConsumableType > m_FireConsumableTypes
Definition FireplaceBase.c:148
Definition FireConsumableType.c:2

Перекрестные ссылки GetGame(), m_FireConsumableTypes, m_TotalEnergy и quantityMax.

Используется в FireplaceBase().

◆ CanBuildOven()

bool CanBuildOven ( )
protected
2502 {
2503 return !IsOven() && !IsBurning() && (GetAttachedStonesCount() >= MIN_STONES_TO_BUILD_OVEN) && !FindAttachmentBySlotName("CookingTripod") && !HasStoneCircle() && IsSpaceForOven();
2504 }
bool IsSpaceForOven()
Definition FireplaceBase.c:2506
const int MIN_STONES_TO_BUILD_OVEN
minimum amount of stones for circle
Definition FireplaceBase.c:66
bool HasStoneCircle()
Definition FireplaceBase.c:1599
int GetAttachedStonesCount()
Definition FireplaceBase.c:1611
bool IsOven()
Definition FireplaceBase.c:1595

Перекрестные ссылки GetAttachedStonesCount(), HasStoneCircle(), IsBurning(), IsOven(), IsSpaceForOven() и MIN_STONES_TO_BUILD_OVEN.

◆ CanBuildStoneCircle()

bool CanBuildStoneCircle ( )
protected
2514 {
2516 }
bool IsSpaceForCircle()
Definition FireplaceBase.c:2518
const int MIN_STONES_TO_BUILD_CIRCLE
Definition FireplaceBase.c:65

Перекрестные ссылки GetAttachedStonesCount(), HasStoneCircle(), IsBurning(), IsOven(), IsSpaceForCircle() и MIN_STONES_TO_BUILD_CIRCLE.

◆ CanCookOnStick()

bool CanCookOnStick ( )
protected
2535 {
2537 }
const float PARAM_COOKING_TEMP_THRESHOLD
cooking
Definition FireplaceBase.c:79

Перекрестные ссылки GetTemperature() и PARAM_COOKING_TEMP_THRESHOLD.

◆ CanDismantleOven()

bool CanDismantleOven ( )
protected
2525 {
2527 }
const int MAX_TEMPERATURE_TO_DISMANTLE_OVEN
minimum amount of stones for oven
Definition FireplaceBase.c:67
bool SmokingSlotsInUse()
Definition FireplaceBase.c:578
bool DirectCookingSlotsInUse()
Definition FireplaceBase.c:566

Перекрестные ссылки DirectCookingSlotsInUse(), GetTemperature(), IsBurning(), IsOven(), MAX_TEMPERATURE_TO_DISMANTLE_OVEN и SmokingSlotsInUse().

◆ CanDismantleStoneCircle()

bool CanDismantleStoneCircle ( )
protected
2530 {
2531 return ( HasStoneCircle() && !IsOven() && !IsBurning() );
2532 }

Перекрестные ссылки HasStoneCircle(), IsBurning() и IsOven().

◆ CanExtinguishFire()

bool CanExtinguishFire ( )
protected
2541 {
2542 return IsBurning();
2543 }

Перекрестные ссылки IsBurning().

◆ CanHaveTemperature()

override bool CanHaveTemperature ( )
protected
535 {
536 return true;
537 }

◆ CanHaveWetness()

override bool CanHaveWetness ( )
protected
530 {
531 return true;
532 }

◆ CanReleaseAttachment()

override bool CanReleaseAttachment ( EntityAI attachment)
protected
2655 {
2656 if (!super.CanReleaseAttachment(attachment))
2657 return false;
2658
2660 if (IsKindling(item) || IsFuel(item))
2661 {
2662 return !IsBurning();
2663 }
2664
2665 return true;
2666 }

Перекрестные ссылки IsBurning(), IsFuel() и IsKindling().

◆ CanShowSmoke()

bool CanShowSmoke ( )
protected
994 {
995 return true;
996 }

◆ CanSwapEntities()

override bool CanSwapEntities ( EntityAI otherItem,
InventoryLocation otherDestination,
InventoryLocation destination )
protected
2492 {
2493 if (!otherDestination || otherDestination.GetParent() == this)
2494 {
2495 return false;
2496 }
2497 return true;
2498 }

◆ ClearCookingEquipment() [1/2]

void ClearCookingEquipment ( )
protected

DEPRECATED.

562 {
564 }
void SetCookingEquipment(ItemBase equipment)
Definition FireplaceBase.c:545

Перекрестные ссылки FireplaceBase::SetCookingEquipment().

Используется в FireplaceBase::EEItemDetached() и ItemBase::EEItemDetached().

◆ ClearCookingEquipment() [2/2]

void ClearCookingEquipment ( ItemBase pItem)
protected
551 {
553 {
554 m_CookingProcess.TerminateCookingSounds(pItem);
555 }
556
558 }
ref Cooking m_CookingProcess
determines how fast will the fuel item burn before spending (lower is better)
Definition FireplaceBase.c:40

Перекрестные ссылки m_CookingProcess и FireplaceBase::SetCookingEquipment().

◆ CookOnDirectSlot()

void CookOnDirectSlot ( ItemBase slot_item,
float temp_equip,
float temp_ext )
protected
2101 {
2102 if (m_CookingProcess == null)
2103 {
2104 m_CookingProcess = new Cooking();
2105 }
2106
2107 m_CookingProcess.CookWithEquipment(slot_item);
2108
2109 switch (slot_item.Type())
2110 {
2116 {
2118 }
2119 else
2120 {
2122 }
2123 slot_item.SetTemperature(cookEquipTemp);
2124 break;
2125 }
2126 }
const float PARAM_SMALL_FIRE_TEMPERATURE
Definition FireplaceBase.c:43
const float PARAM_COOKING_EQUIP_MAX_TEMP
temperature threshold for starting coooking process (degree Celsius)
Definition FireplaceBase.c:80
const float PARAM_COOKING_EQUIP_TEMP_INCREASE
maximum temperature of attached cooking equipment (degree Celsius)
Definition FireplaceBase.c:81

Перекрестные ссылки ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_FRYING_PAN, Math::Clamp(), m_CookingProcess, PARAM_COOKING_EQUIP_MAX_TEMP, PARAM_COOKING_EQUIP_TEMP_INCREASE, PARAM_ITEM_HEAT_MIN_TEMP и PARAM_SMALL_FIRE_TEMPERATURE.

Используется в Cooling() и Heating().

◆ CookWithEquipment()

void CookWithEquipment ( )
protected
2081 {
2082 if (m_CookingProcess == null)
2083 {
2084 m_CookingProcess = new Cooking();
2085 }
2086
2087 m_CookingProcess.CookWithEquipment(m_CookingEquipment);
2088 }
ItemBase m_CookingEquipment
Definition FireplaceBase.c:106

Перекрестные ссылки m_CookingEquipment и m_CookingProcess.

Используется в Cooling(), Heating() и ItemBase::OnWork().

◆ Cooling()

void Cooling ( )
protected
1941 {
1942 float wetness = GetWet();
1943 float temperature = GetTemperature();
1944 float temperature_modifier = 0;
1945
1946 if (!IsBurning() && temperature >= 10)
1947 {
1948 //check wetness
1949 //set wetness if raining and alter temperature modifier (which will lower temperature increase because of rain)
1950 float rain = GetGame().GetWeather().GetRain().GetActual();
1951 if (IsRainingAbove() && !IsRoofAbove())
1952 {
1953 //set wet to fireplace
1955
1956 //set temperature modifier
1958 }
1959 else //subtract wetness
1960 {
1962 }
1963
1964 //calculate already obtained wetness (e.g. extinguished by water)
1966
1967 // temperature via UniversalTemperatureSource
1968 m_UTSLFireplace.SetFuelCount(GetFuelCount());
1970 m_UTSLFireplace.SetCurrentTemperature(temperature);
1972
1973 //damage cargo items
1975
1976 //cook with equipment if temperature of equipment is still high
1977 if ( m_CookingEquipment )
1978 {
1979 float cook_equip_temp = m_CookingEquipment.GetTemperature();
1980
1982 {
1983 //cook
1985 }
1986 }
1987
1988 float cook_item_temp;
1989 int i;
1990
1991 // manage cooking on direct cooking slots
1993 {
1994 for ( i = 0; i < DIRECT_COOKING_SLOT_COUNT; i++ )
1995 {
1996 if ( m_DirectCookingSlots[i] )
1997 {
1998 cook_item_temp = m_DirectCookingSlots[i].GetTemperature();
2000 {
2002 }
2003 }
2004 }
2005 }
2006
2007 // manage smoking slots
2008 if ( SmokingSlotsInUse() )
2009 {
2010 for ( i = 0; i < SMOKING_SLOT_COUNT; i++ )
2011 {
2012 if ( m_SmokingSlots[i] )
2013 {
2015 }
2016 }
2017 }
2018
2019 //Debug
2020 //PlayerBase player = ( PlayerBase ) GetGame().GetPlayer();
2021 //if (player != NULL) {player.MessageAction ( temperature.ToString() );}
2022 }
2023 else
2024 {
2025 //stop cooling
2026 if (Math.AbsFloat(temperature) < 10)
2027 {
2028 StopCooling();
2029 m_UTSource.SetActive(false);
2030 }
2031 }
2032 }
ref UniversalTemperatureSourceSettings m_UTSSettings
Definition FireplaceBase.c:225
const int DIRECT_COOKING_SLOT_COUNT
direct cooking slots
Definition FireplaceBase.c:86
const float PARAM_TEMPERATURE_DECREASE
how much will temperature increase when fireplace is burning (degree Celsius per second)
Definition FireplaceBase.c:47
void StopCooling()
Definition FireplaceBase.c:2034
void BurnItemsInFireplace()
Definition FireplaceBase.c:2147
bool IsRainingAbove()
Definition FireplaceBase.c:2412
void CookOnDirectSlot(ItemBase slot_item, float temp_equip, float temp_ext)
Definition FireplaceBase.c:2100
void CookWithEquipment()
Definition FireplaceBase.c:2080
const float PARAM_WET_COOLING_DECREASE_COEF
value for calculating wetness loss during heating process
Definition FireplaceBase.c:54
const int SMOKING_SLOT_COUNT
Definition FireplaceBase.c:88
void SmokeOnSmokingSlot(ItemBase slot_item, float temp_equip, float temp_ext)
Definition FireplaceBase.c:2128
bool IsRoofAbove()
Definition FireplaceBase.c:2389
ItemBase m_DirectCookingSlots[DIRECT_COOKING_SLOT_COUNT]
Definition FireplaceBase.c:107
ref UniversalTemperatureSource m_UTSource
Definition FireplaceBase.c:224
const float PARAM_WET_INCREASE_COEF
maximum wetness value when the fireplace is able to burn
Definition FireplaceBase.c:52
ItemBase m_SmokingSlots[SMOKING_SLOT_COUNT]
Definition FireplaceBase.c:108
void AddWetnessToFireplace(float amount)
Definition FireplaceBase.c:2291
static proto float AbsFloat(float f)
Returns absolute value.

Перекрестные ссылки Math::AbsFloat(), AddWetnessToFireplace(), BurnItemsInFireplace(), CookOnDirectSlot(), CookWithEquipment(), DIRECT_COOKING_SLOT_COUNT, DirectCookingSlotsInUse(), GetFuelCount(), GetGame(), GetTemperature(), GetWet(), IsBurning(), IsRainingAbove(), IsRoofAbove(), m_CookingEquipment, m_DirectCookingSlots, m_SmokingSlots, m_UTSLFireplace, m_UTSource, m_UTSSettings, PARAM_COOKING_TEMP_THRESHOLD, PARAM_TEMPERATURE_DECREASE, PARAM_WET_COOLING_DECREASE_COEF, PARAM_WET_INCREASE_COEF, SmokeOnSmokingSlot(), SMOKING_SLOT_COUNT, SmokingSlotsInUse(), StopCooling() и TIMER_COOLING_UPDATE_INTERVAL.

◆ CreateAreaDamage()

void CreateAreaDamage ( )
protected
2316 {
2317 //destroy area damage if some already exists
2319
2320 //create new area damage
2322 m_AreaDamage.SetDamageComponentType(AreaDamageComponentTypes.HITZONE);
2323 m_AreaDamage.SetExtents("-0.30 0 -0.30", "0.30 0.75 0.30");
2324 m_AreaDamage.SetLoopInterval( 0.5 );
2325 m_AreaDamage.SetDeferDuration( 0.5 );
2326 m_AreaDamage.SetHitZones( { "Head","Torso","LeftHand","LeftLeg","LeftFoot","RightHand","RightLeg","RightFoot" } );
2327 m_AreaDamage.SetAmmoName( "FireDamage" );
2328 m_AreaDamage.Spawn();
2329 }
ref AreaDamageManager m_AreaDamage
Definition FireplaceBase.c:214
void DestroyAreaDamage()
Definition FireplaceBase.c:2331
Definition AreaDamageManager.c:2
const int HITZONE
Definition AreaDamageManager.c:4
Deferred version of AreaDamageLooped.
Definition AreaDamageLoopedDeferred.c:3

Перекрестные ссылки DestroyAreaDamage(), AreaDamageComponentTypes::HITZONE и m_AreaDamage.

Используется в ItemBase::UpdateAttachmentVisuals().

◆ DestroyAreaDamage()

void DestroyAreaDamage ( )
protected

◆ DestroyFireplace()

void DestroyFireplace ( )
protected

[DEPRECATED]

592 {
593 DeleteSafe();
594 }

◆ DirectCookingSlotsInUse()

bool DirectCookingSlotsInUse ( )
protected
567 {
568 for (int i = 0; i < DIRECT_COOKING_SLOT_COUNT; i++)
569 {
570 if ( m_DirectCookingSlots[i] )
571 {
572 return true;
573 }
574 }
575 return false;
576 }

Перекрестные ссылки DIRECT_COOKING_SLOT_COUNT и m_DirectCookingSlots.

Используется в CanDismantleOven(), FireplaceBase::CanPutInCargo(), FireplaceBase::CanPutIntoHands(), Cooling(), Heating() и StopCooling().

◆ DisassembleOnLastDetach()

override bool DisassembleOnLastDetach ( )
protected
2702 {
2703 return true;
2704 }

◆ EECargoOut()

override void EECargoOut ( EntityAI item)
protected
602 {
603 super.EECargoOut(item);
604
605 CheckForDestroy();
606 }

◆ EEDelete()

override void EEDelete ( EntityAI parent)
protected
373 {
374 super.EEDelete(parent);
375
377
378 // cleanup particles (for cases of leaving burning fplace and going back outside of network bubble)
379 #ifndef SERVER
381 #endif
382 }
void SetFireState(FireplaceFireState state)
Definition FireplaceBase.c:1674
void StopAllParticlesAndSounds()
Definition FireplaceBase.c:966
FireplaceFireState
Definition FireplaceBase.c:2

Перекрестные ссылки SetFireState() и StopAllParticlesAndSounds().

◆ EEInit()

override void EEInit ( )
protected
288 {
289 super.EEInit();
290
291 //refresh visual on init
293
294 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
295 {
297 m_UTSSettings.m_AffectStat = true;
298 m_UTSSettings.m_ManualUpdate = true;
299 m_UTSSettings.m_TemperatureMin = 0;
303 m_UTSSettings.m_RangeMax = PARAM_HEAT_RADIUS;
304
306 m_UTSLFireplace.SetSmallFireplaceTemperatureMax(PARAM_SMALL_FIRE_TEMPERATURE);
307 m_UTSLFireplace.SetNormalFireplaceTemperatureMax(PARAM_NORMAL_FIRE_TEMPERATURE);
308
310 }
311 }
void RefreshFireplaceVisuals()
Definition FireplaceBase.c:612
const float PARAM_MAX_TRANSFERED_TEMPERATURE
DEPRECATED value for calculation of heat transfered from fireplace through air to player (environment...
Definition FireplaceBase.c:63
const float PARAM_HEAT_RADIUS
radius in which objects are fully heated by fire
Definition FireplaceBase.c:61
const float PARAM_FULL_HEAT_RADIUS
maximum value of temperature of items in fireplace when heating (degree Celsius)
Definition FireplaceBase.c:60
original Timer deletes m_params which is unwanted
Definition UniversalTemperatureSource.c:26
Definition UniversalTemperatureSourceLambdaFireplace.c:2
Definition UniversalTemperatureSource.c:2

Перекрестные ссылки GetGame(), m_UTSLFireplace, m_UTSource, m_UTSSettings, PARAM_FULL_HEAT_RADIUS, PARAM_HEAT_RADIUS, PARAM_MAX_TRANSFERED_TEMPERATURE, PARAM_NORMAL_FIRE_TEMPERATURE, PARAM_SMALL_FIRE_TEMPERATURE и RefreshFireplaceVisuals().

◆ EEItemAttached()

override void EEItemAttached ( EntityAI item,
string slot_name )
protected
314 {
315 super.EEItemAttached(item, slot_name);
316
317 //cookware
318 switch (item.Type())
319 {
324 break;
325 }
326 }

Перекрестные ссылки ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_FRYING_PAN и FireplaceBase::SetCookingEquipment().

◆ FireplaceBase()

void FireplaceBase ( )
protected
233 {
234 //STATIC: define kindling types
236 {
239 m_FireConsumableTypes.Insert(ATTACHMENT_BANDAGE, new FireConsumableType(ATTACHMENT_BANDAGE, 14, true, "MedicalBandage"));
247
248 //define fuel types
249 m_FireConsumableTypes.Insert(ATTACHMENT_STICKS, new FireConsumableType( ATTACHMENT_STICKS, 40, false, "WoodenStick"));
251 }
252
253 //calculate total energy
255
256 //define fuel / kindling items (fire consumables)
258
259 //default burning parameters
262
263 //synchronized variables
264 RegisterNetSyncVariableBool( "m_IsBurning" );
265 RegisterNetSyncVariableBool( "m_HasAshes" );
266 RegisterNetSyncVariableBool( "m_IsOven" );
267 RegisterNetSyncVariableBool( "m_HasStoneCircle" );
268 RegisterNetSyncVariableBool( "m_RoofAbove" );
269 RegisterNetSyncVariableInt( "m_FireState", FireplaceFireState.NO_FIRE, FireplaceFireState.COUNT );
270 RegisterNetSyncVariableBool( "m_IsSoundSynchRemote" );
271 RegisterNetSyncVariableBool( "m_IsPlaceSound" );
272 RegisterNetSyncVariableBool( "m_NoIgnite" );
273
275 }
ATTACHMENT_FIREWOOD
Definition FireplaceBase.c:191
ATTACHMENT_BARK_OAK
Definition FireplaceBase.c:196
ATTACHMENT_STICKS
Definition FireplaceBase.c:190
const float TEMPERATURE_LOSS_MP_DEFAULT
min height of ceiling for fire to be ignited
Definition FireplaceBase.c:70
ATTACHMENT_PUNCHEDCARD
Definition FireplaceBase.c:200
void SetFuelBurnRateMP(float value)
Definition FireplaceBase.c:1662
ATTACHMENT_EYEMASK_COLORBASE
Definition FireplaceBase.c:201
ATTACHMENT_BANDAGE
Definition FireplaceBase.c:194
ATTACHMENT_BOOK
Definition FireplaceBase.c:195
ATTACHMENT_GIFTWRAP
Definition FireplaceBase.c:199
ATTACHMENT_RAGS
Definition FireplaceBase.c:193
ATTACHMENT_PAPER
Definition FireplaceBase.c:198
const float FUEL_BURN_RATE_DEFAULT
Definition FireplaceBase.c:74
ATTACHMENT_BARK_BIRCH
Definition FireplaceBase.c:197
void SetTemperatureLossMP(float value)
Definition FireplaceBase.c:1651
vector m_HalfExtents
Definition FireplaceBase.c:33
void CalcAndSetTotalEnergy()
Definition FireplaceBase.c:2583
Definition EnConvert.c:106
static const vector Zero
Definition EnConvert.c:110

Перекрестные ссылки ATTACHMENT_BANDAGE, ATTACHMENT_BARK_BIRCH, ATTACHMENT_BARK_OAK, ATTACHMENT_BOOK, ATTACHMENT_EYEMASK_COLORBASE, ATTACHMENT_FIREWOOD, ATTACHMENT_GIFTWRAP, ATTACHMENT_PAPER, ATTACHMENT_PUNCHEDCARD, ATTACHMENT_RAGS, ATTACHMENT_STICKS, CalcAndSetTotalEnergy(), FUEL_BURN_RATE_DEFAULT, m_FireConsumables, m_FireConsumableTypes, m_HalfExtents, SetFuelBurnRateMP(), SetTemperatureLossMP(), TEMPERATURE_LOSS_MP_DEFAULT и vector::Zero.

◆ GetAirResistanceForSmokeParticles()

float GetAirResistanceForSmokeParticles ( float actual_height)
protected
1255 {
1256 float air_res;
1258
1259 air_res = ( 6 - actual_height ) * 0.33;
1260 air_res = Math.Clamp( air_res, 0, 2 );
1261
1262 return air_res;
1263 }

Перекрестные ссылки Math::Clamp().

Используется в ParticleNormalSmokeStart() и ParticleSmallSmokeStart().

◆ GetAttachedStonesCount()

int GetAttachedStonesCount ( )
protected
1612 {
1613 if (HasStones())
1614 {
1615 return GetAttachmentByType(ATTACHMENT_STONES).GetQuantity();
1616 }
1617
1618 return 0;
1619 }
bool HasStones()
Definition FireplaceBase.c:1604
ATTACHMENT_STONES
Definition FireplaceBase.c:205

Перекрестные ссылки ATTACHMENT_STONES и HasStones().

Используется в CanBuildOven() и CanBuildStoneCircle().

◆ GetCeilingHeight()

bool GetCeilingHeight ( out float actual_height)
protected
1239 {
1240 vector from = this.GetPosition();
1241 vector to = this.GetPosition();
1242 from[1] = from[1] + 1.0;
1243 to[1] = to[1] + MIN_CEILING_HEIGHT;
1246 int contactComponent;
1247
1250
1251 return hit;
1252 }
const float MIN_CEILING_HEIGHT
maximum temperature for dismantling oven
Definition FireplaceBase.c:68
class JsonUndergroundAreaTriggerData GetPosition
Definition UndergroundAreaLoader.c:9
Definition DayZPhysics.c:124
static proto bool RaycastRV(vector begPos, vector endPos, out vector contactPos, out vector contactDir, out int contactComponent, set< Object > results=NULL, Object with=NULL, Object ignore=NULL, bool sorted=false, bool ground_only=false, int iType=ObjIntersectView, float radius=0.0, CollisionFlags flags=CollisionFlags.NEARESTCONTACT)
Raycasts world by given parameters.
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.

Перекрестные ссылки vector::Distance(), GetPosition, MIN_CEILING_HEIGHT и DayZPhysics::RaycastRV().

Используется в ParticleNormalSmokeStart() и ParticleSmallSmokeStart().

◆ GetCookingEquipment()

ItemBase GetCookingEquipment ( )
protected

◆ GetCookingProcess()

Cooking GetCookingProcess ( )
protected
2091 {
2092 if (m_CookingProcess == null)
2093 {
2094 m_CookingProcess = new Cooking();
2095 }
2096
2097 return m_CookingProcess;
2098 }

Перекрестные ссылки m_CookingProcess.

◆ GetDebugActions()

override void GetDebugActions ( out TSelectableActionInfoArrayEx outputList)
protected
2766 {
2767 outputList.Insert(new TSelectableActionInfoWithColor(SAT_DEBUG_ACTION, EActions.ACTIVATE_ENTITY, "Ignite", FadeColors.LIGHT_GREY));
2768 outputList.Insert(new TSelectableActionInfoWithColor(SAT_DEBUG_ACTION, EActions.DEACTIVATE_ENTITY, "Extinguish", FadeColors.LIGHT_GREY));
2769 outputList.Insert(new TSelectableActionInfoWithColor(SAT_DEBUG_ACTION, EActions.SEPARATOR, "___________________________", FadeColors.LIGHT_GREY));
2770
2771 super.GetDebugActions(outputList);
2772 }
Param4< int, int, string, int > TSelectableActionInfoWithColor
Definition EntityAI.c:97
EActions
Definition EActions.c:2
const int SAT_DEBUG_ACTION
Definition constants.c:424

Перекрестные ссылки SAT_DEBUG_ACTION.

◆ GetFireConsumableByItem()

FireConsumable GetFireConsumableByItem ( ItemBase item)
protected
1366 {
1367 return m_FireConsumables.Get(item);
1368 }

Перекрестные ссылки m_FireConsumables.

Используется в FireplaceBase::EEItemDetached().

◆ GetFireConsumableTypeEnergy()

float GetFireConsumableTypeEnergy ( ItemBase item)
protected

support for inherited classes; second pass of lookup inside FireConsumableType

1334 {
1336 if (!fireConsumableType)
1337 {
1339 int count = m_FireConsumableTypes.Count();
1340 for (int i = 0; i < count; ++i)
1341 {
1342 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1344 }
1345 }
1346
1348 return fireConsumableType.GetEnergy();
1349
1350 return 0;
1351 }

Перекрестные ссылки m_FireConsumableTypes.

Используется в AddToFireConsumables().

◆ GetFireEffectPosition()

vector GetFireEffectPosition ( )
protected
1268 {
1269 return Vector( 0, 0.05, 0 );
1270 }
proto native vector Vector(float x, float y, float z)
Vector constructor from components.

Перекрестные ссылки Vector().

Используется в ParticleFireEndStart(), ParticleFireStartStart(), ParticleFireWindyNoIgniteStart(), ParticleNormalFireStart(), ParticleSmallFireStart(), ParticleSteamEndStart(), ParticleSteamExtinguishingStart() и ParticleWetNoIgniteStart().

◆ GetFireState()

int GetFireState ( )
protected
1669 {
1670 return m_FireState;
1671 }
FireplaceFireState m_FireState
Definition FireplaceBase.c:31

Перекрестные ссылки m_FireState.

Используется в Heating(), RefreshFireParticlesAndSounds() и RefreshFireState().

◆ GetFuelBurnRateMP()

float GetFuelBurnRateMP ( )
protected
1658 {
1659 return m_FuelBurnRateMP;
1660 }
float m_FuelBurnRateMP
determines how fast will the fireplace loose its temperature when cooling (lower is better)
Definition FireplaceBase.c:37

Перекрестные ссылки m_FuelBurnRateMP.

Используется в Heating().

◆ GetFuelCount()

int GetFuelCount ( )
protected

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

1485 {
1486 int attachmentsCount = GetInventory().AttachmentCount();
1487 int fuelCount = 0;
1488
1489 for (int i = 0; i < attachmentsCount; ++i)
1490 {
1491 ItemBase item = ItemBase.Cast(GetInventory().GetAttachmentFromIndex(i));
1492 if (IsFuel(item))
1493 fuelCount++;
1494 }
1495
1496 return fuelCount;
1497 }

Перекрестные ссылки IsFuel().

Используется в AddWetnessToFireplace(), Cooling(), HasLastFuelKindlingAttached() и Heating().

◆ GetIgniteFailure()

bool GetIgniteFailure ( )
protected
2368 {
2369 return m_NoIgnite;
2370 }
bool m_NoIgnite
Definition FireplaceBase.c:29

Перекрестные ссылки m_NoIgnite.

Используется в FireplaceBase::IsThisIgnitionSuccessful().

◆ GetItemToConsume()

FireConsumable GetItemToConsume ( )
protected
1407 {
1408 return m_ItemToConsume;
1409 }
ref FireConsumable m_ItemToConsume
Definition FireplaceBase.c:109

Перекрестные ссылки m_ItemToConsume.

Используется в SpendFireConsumable().

◆ GetKindlingCount()

int GetKindlingCount ( )
protected

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

1468 {
1469 int attachmentsCount = GetInventory().AttachmentCount();
1470 int kindlingCount = 0;
1471
1472 for (int i = 0; i < attachmentsCount; ++i)
1473 {
1474 ItemBase item = ItemBase.Cast(GetInventory().GetAttachmentFromIndex(i));
1475
1476 if (IsKindling(item))
1477 kindlingCount++;
1478 }
1479
1480 return kindlingCount;
1481 }

Перекрестные ссылки IsKindling().

Используется в HasAnyKindling(), HasLastFuelKindlingAttached() и RefreshFireplaceVisuals().

◆ GetLightEntity()

FireplaceLight GetLightEntity ( )
protected
2546 {
2547 return m_Light;
2548 }
FireplaceLight m_Light
Definition FireplaceBase.c:102

Перекрестные ссылки m_Light.

Используется в RefreshFireplaceVisuals() и ~FireplaceBase().

◆ GetPlaceSoundset()

override string GetPlaceSoundset ( )
protected
2575 {
2576 return "placeFireplace_SoundSet";
2577 }

◆ GetSmokeEffectPosition()

vector GetSmokeEffectPosition ( )
protected
1273 {
1274 return Vector( 0, 0.05, 0 );
1275 }

Перекрестные ссылки Vector().

◆ GetTemperatureLossMP()

float GetTemperatureLossMP ( )
protected
1647 {
1648 return m_TemperatureLossMP;
1649 }
float m_TemperatureLossMP
Definition FireplaceBase.c:36

Перекрестные ссылки m_TemperatureLossMP.

◆ HasAnyKindling()

bool HasAnyKindling ( )
protected
2353 {
2354 return GetKindlingCount() > 0;
2355 }
int GetKindlingCount()
Returns count of all kindling type items (define in 'm_KindlingTypes') attached to fireplace.
Definition FireplaceBase.c:1467

Перекрестные ссылки GetKindlingCount().

Используется в FireplaceBase::CanBeIgnitedBy() и FireplaceBase::IsThisIgnitionSuccessful().

◆ HasAshes()

bool HasAshes ( )
protected
1579 {
1580 return m_HasAshes;
1581 }
bool m_HasAshes
Definition FireplaceBase.c:25

Перекрестные ссылки m_HasAshes.

Используется в FireplaceBase::CanPutInCargo(), FireplaceBase::CanPutIntoHands(), IsPrepareToDelete(), FireplaceBase::IsPrepareToDelete(), RefreshFireplaceVisuals() и SpendFireConsumable().

◆ HasCookingStand()

bool HasCookingStand ( )
protected
2466 {
2467 return GetInventory().FindAttachment(InventorySlots.GetSlotIdFromString("CookingTripod")) != null;
2468 }
provides access to slot configuration
Definition InventorySlots.c:6
static proto native int GetSlotIdFromString(string slot_name)
converts string to slot_id

Перекрестные ссылки InventorySlots::GetSlotIdFromString().

Используется в FireplaceBase::CanPutInCargo(), FireplaceBase::CanPutIntoHands() и Heating().

◆ HasLastAttachment()

bool HasLastAttachment ( )
protected
1551 {
1552 return GetInventory().AttachmentCount() == 1;
1553 }

◆ HasLastFuelKindlingAttached()

bool HasLastFuelKindlingAttached ( )
protected
1557 {
1558 return (GetFuelCount() + GetKindlingCount()) == 1;
1559 }

Перекрестные ссылки GetFuelCount() и GetKindlingCount().

◆ HasStoneCircle()

bool HasStoneCircle ( )
protected
1600 {
1601 return m_HasStoneCircle;
1602 }
bool m_HasStoneCircle
Definition FireplaceBase.c:27

Перекрестные ссылки m_HasStoneCircle.

Используется в CanBuildOven(), CanBuildStoneCircle(), CanDismantleStoneCircle(), FireplaceBase::CanPutInCargo(), FireplaceBase::CanPutIntoHands(), FireplaceBase::CanReleaseAttachment() и RefreshFireplaceVisuals().

◆ HasStones()

bool HasStones ( )
protected
1605 {
1606 EntityAI attached_item = GetAttachmentByType(ATTACHMENT_STONES);
1607
1608 return attached_item && attached_item.GetQuantity() > 0;
1609 }
Definition Building.c:6

Перекрестные ссылки ATTACHMENT_STONES.

Используется в FireplaceBase::CanPutInCargo(), FireplaceBase::CanPutIntoHands(), GetAttachedStonesCount() и RefreshFireplaceVisuals().

◆ Heating()

void Heating ( )
protected
1764 {
1765 float temperature = GetTemperature();
1766 float temperature_modifier = 0;
1767
1768 //check burning conditions
1770 {
1771 StopFire(FireplaceFireState.EXTINGUISHED_FIRE);
1772 return;
1773 }
1774 else
1775 {
1776 if (m_FireConsumables.Count() == 0)
1777 {
1778 StopFire();
1779 return;
1780 }
1781 }
1782
1783 //spend actual fire consumable
1785 SpendFireConsumable(amount);
1786
1787 //set wetness if raining and alter temperature modifier (which will lower temperature increase because of rain)
1788 float rain = GetGame().GetWeather().GetRain().GetActual();
1790 {
1791 //set wet to fireplace
1793
1794 //set temperature modifier
1796 }
1797 //subtract wetness when heating and not raining above
1798 else
1799 {
1801 }
1802
1803 // temperature via UniversalTemperatureSource
1804 m_UTSLFireplace.SetFuelCount(GetFuelCount());
1806 m_UTSLFireplace.SetCurrentTemperature(temperature);
1808
1809 //check fire state
1810 if ( GetFireState() != FireplaceFireState.EXTINGUISHING_FIRE )
1811 {
1813 }
1814
1815 //damage cargo items
1817
1818 //manage cooking equipment (this applies only for case of cooking pot on a tripod)
1820 {
1821 float cook_equip_temp = m_CookingEquipment.GetTemperature();
1822
1824 {
1825 //start cooking
1827 }
1828
1829 //DEBUG
1830 /*
1831 PlayerBase player = ( PlayerBase ) GetGame().GetPlayer();
1832 string s_message = "cooking equipment temp = " + ftoa(cook_equip_temp) + " | PARAM_COOKING_TEMP_THRESHOLD = " + ftoa(PARAM_COOKING_TEMP_THRESHOLD);
1833 if (player != NULL) {player.MessageAction (s_message);}
1834 Print ( s_message );
1835 */
1836 //set temperature to cooking equipment
1839 {
1841 }
1842 else
1843 {
1845 }
1846
1847 m_CookingEquipment.SetTemperature( cook_equip_temp );
1848 }
1849
1850 float cook_item_temp;
1851 int i;
1852 // manage cooking on direct cooking slots
1854 {
1855 for ( i = 0; i < DIRECT_COOKING_SLOT_COUNT; i++ )
1856 {
1857 if ( m_DirectCookingSlots[i] )
1858 {
1859 cook_item_temp = m_DirectCookingSlots[i].GetTemperature();
1861 {
1863 }
1864 }
1865 }
1866 }
1867
1868 // manage smoking slots
1869 if ( SmokingSlotsInUse() )
1870 {
1871 for ( i = 0; i < SMOKING_SLOT_COUNT; i++ )
1872 {
1873 if ( m_SmokingSlots[i] )
1874 {
1876 }
1877 }
1878 }
1879
1880 //Make noise for AI, only at night
1881 if ( GetGame().GetWorld().IsNight() && m_CanNoise )
1882 {
1883 NoiseSystem noise = GetGame().GetNoiseSystem();
1884 if ( noise && m_NoisePar )
1885 {
1886 noise.AddNoisePos( this, GetPosition(), m_NoisePar);
1887 }
1888 m_CanNoise = false;
1889 }
1890 else
1891 m_CanNoise = true;
1892
1893 Synchronize();
1894 }
float GetFuelBurnRateMP()
Definition FireplaceBase.c:1657
const float PARAM_TEMPERATURE_INCREASE
minimum fireplace temperature under which the fireplace is inactive (degree Celsius)
Definition FireplaceBase.c:46
const float PARAM_FIRE_CONSUM_RATE_AMOUNT
value for calculating wetness loss during cooling process
Definition FireplaceBase.c:55
bool m_CanNoise
Definition FireplaceBase.c:221
bool HasCookingStand()
Definition FireplaceBase.c:2465
void StopFire(FireplaceFireState fire_state=FireplaceFireState.END_FIRE)
Definition FireplaceBase.c:1900
ref NoiseParams m_NoisePar
Definition FireplaceBase.c:220
void SpendFireConsumable(float amount)
Definition FireplaceBase.c:1415
void RefreshFireState()
Definition FireplaceBase.c:999
int GetFireState()
Definition FireplaceBase.c:1668
const float PARAM_BURN_WET_THRESHOLD
maximum rain value when the fireplace can be ignited
Definition FireplaceBase.c:51
Definition Noise.c:2

Перекрестные ссылки AddWetnessToFireplace(), BurnItemsInFireplace(), Math::Clamp(), CookOnDirectSlot(), CookWithEquipment(), DIRECT_COOKING_SLOT_COUNT, DirectCookingSlotsInUse(), GetFireState(), GetFuelBurnRateMP(), GetFuelCount(), GetGame(), GetPosition, GetTemperature(), GetWet(), HasCookingStand(), IsRoofAbove(), m_CanNoise, m_CookingEquipment, m_DirectCookingSlots, m_FireConsumables, m_NoisePar, m_SmokingSlots, m_UTSLFireplace, m_UTSource, m_UTSSettings, PARAM_BURN_WET_THRESHOLD, PARAM_COOKING_EQUIP_MAX_TEMP, PARAM_COOKING_EQUIP_TEMP_INCREASE, PARAM_COOKING_TEMP_THRESHOLD, PARAM_FIRE_CONSUM_RATE_AMOUNT, PARAM_ITEM_HEAT_MIN_TEMP, PARAM_SMALL_FIRE_TEMPERATURE, PARAM_TEMPERATURE_INCREASE, PARAM_WET_HEATING_DECREASE_COEF, PARAM_WET_INCREASE_COEF, RefreshFireState(), SmokeOnSmokingSlot(), SMOKING_SLOT_COUNT, SmokingSlotsInUse(), SpendFireConsumable(), StopFire(), Synchronize() и TIMER_HEATING_UPDATE_INTERVAL.

◆ IsBarrelWithHoles()

bool IsBarrelWithHoles ( )
protected
515 {
516 return false;
517 }

◆ IsBaseFireplace()

bool IsBaseFireplace ( )
protected
510 {
511 return false;
512 }

◆ IsBurning()

◆ IsCargoEmpty()

bool IsCargoEmpty ( )
protected
2461 {
2462 return ( GetInventory().GetCargo().GetItemCount() == 0 );
2463 }

Используется в FireplaceBase::CanPutInCargo() и FireplaceBase::CanPutIntoHands().

◆ IsCeilingHighEnoughForSmoke()

bool IsCeilingHighEnoughForSmoke ( )
protected
2402 {
2403 return !MiscGameplayFunctions.IsUnderRoof( this, FireplaceBase.MIN_CEILING_HEIGHT );
2404 }
Definition BarrelHoles_ColorBase.c:2

Используется в FireplaceBase::IsThisIgnitionSuccessful().

◆ IsEmpty()

override bool IsEmpty ( )
protected
2455 {
2456 return ( GetInventory().GetCargo().GetItemCount() == 0 && GetInventory().AttachmentCount() == 0 );
2457 }

Используется в RecipeBase::CanDo(), CivilianBelt::CanPutInCargo(), HipPack_ColorBase::CanPutInCargo(), Belt_Base::CanPutInCargo(), MilitaryBelt::CanPutInCargo(), RopeBelt::CanPutInCargo() и IsPrepareToDelete().

◆ IsEntityOnInteriorSurface()

static bool IsEntityOnInteriorSurface ( notnull EntityAI entity_ai)
staticprotected
2442 {
2443 string surfaceType;
2444 vector fireplacePosition = entity_ai.GetPosition();
2445 GetGame().SurfaceGetType3D(fireplacePosition[0], fireplacePosition[1] + 1.0, fireplacePosition[2], surfaceType);
2446 return (GetGame().ConfigGetInt("CfgSurfaces " + surfaceType + " interior") == 1);
2447 }

Перекрестные ссылки GetGame().

Используется в FireplaceBase::CanIgniteEntityAsFireplace().

◆ IsEntityOnWaterSurface()

static bool IsEntityOnWaterSurface ( notnull EntityAI entity_ai)
staticprotected
2419 {
2420 vector fireplacePosition = entity_ai.GetPosition();
2421 string surfaceType;
2422 g_Game.SurfaceGetType3D(fireplacePosition[0], fireplacePosition[1] + g_Game.SurfaceGetSeaLevel(), fireplacePosition[2], surfaceType);
2423 if (!surfaceType)
2424 {
2425 float waterLevelDiff = fireplacePosition[1] - g_Game.SurfaceGetSeaLevel();
2426 return waterLevelDiff < 0.5;
2427 }
2428 else if (surfaceType.Contains("water"))
2429 {
2430 return true;
2431 }
2432
2433 return false;
2434 }
DayZGame g_Game
Definition DayZGame.c:3746

Перекрестные ссылки g_Game.

◆ IsEntityWet()

static bool IsEntityWet ( notnull EntityAI entity_ai)
staticprotected
2379 {
2380 return ( entity_ai.GetWet() >= FireplaceBase.PARAM_MAX_WET_TO_IGNITE );
2381 }

◆ IsFacingFireplace()

bool IsFacingFireplace ( PlayerBase player)
protected

DEPRECATED.

2341 {
2342 ErrorEx("Deprecated method", ErrorExSeverity.INFO);
2343
2344 return false;
2345 }
ErrorExSeverity
Definition EnDebug.c:62
enum ShapeType ErrorEx

Перекрестные ссылки ErrorEx.

◆ IsFireplace()

override bool IsFireplace ( )
protected
505 {
506 return true;
507 }

Используется в TripodBase::CanSwapEntities() и InventoryItem::ProcessItemTemperature().

◆ IsFireplaceIndoor()

bool IsFireplaceIndoor ( )
protected
520 {
521 return false;
522 }

◆ IsFuel()

bool IsFuel ( ItemBase item)
protected

Returns if item attached to fireplace is fuel.

support for inherited classes; second pass of lookup inside FireConsumableType

1519 {
1521 if (!fireConsumableType)
1522 {
1524 int count = m_FireConsumableTypes.Count();
1525 for (int i = 0; i < count; ++i)
1526 {
1527 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1529 }
1530 }
1531
1532 return fireConsumableType && !fireConsumableType.IsKindling();
1533 }

Перекрестные ссылки m_FireConsumableTypes.

Используется в AddDamageToItemByFireEx(), FireplaceBase::CanReceiveAttachment(), CanReleaseAttachment(), FireplaceBase::CanReleaseAttachment(), FireplaceBase::EEItemAttached(), FireplaceBase::EEItemDetached() и GetFuelCount().

◆ IsInAnimPhase()

bool IsInAnimPhase ( string anim_phase)
protected
2472 {
2473 return GetAnimationPhase(anim_phase) == 0;
2474 }

Используется в SetBurntFirewood().

◆ IsIndoorOven()

bool IsIndoorOven ( )
protected
525 {
526 return false;
527 }

◆ IsItemAttachedQuantity()

bool IsItemAttachedQuantity ( typename item_type ,
float quantity )
protected
1543 {
1544 ItemBase item = ItemBase.Cast(GetAttachmentByType(item_type));
1545
1546 return item.GetQuantity() >= quantity;
1547 }

◆ IsItemTypeAttached()

bool IsItemTypeAttached ( typename item_type )
protected
1537 {
1538 return GetAttachmentByType(item_type) != null;
1539 }

Используется в RefreshFireplaceVisuals() и FireplaceBase::RefreshPhysics().

◆ IsKindling()

bool IsKindling ( ItemBase item)
protected

Returns if item attached to fireplace is kindling.

support for inherited classes; second pass of lookup inside FireConsumableType

1501 {
1503 if (!fireConsumableType)
1504 {
1506 int count = m_FireConsumableTypes.Count();
1507 for (int i = 0; i < count; ++i)
1508 {
1509 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1511 }
1512 }
1513
1514 return fireConsumableType && fireConsumableType.IsKindling();
1515 }

Перекрестные ссылки m_FireConsumableTypes.

Используется в AddDamageToItemByFireEx(), FireplaceBase::CanReceiveAttachment(), CanReleaseAttachment(), FireplaceBase::CanReleaseAttachment(), FireplaceBase::EEItemAttached(), FireplaceBase::EEItemDetached() и GetKindlingCount().

◆ IsOnInteriorSurface()

bool IsOnInteriorSurface ( )
protected
2449 {
2450 return FireplaceBase.IsEntityOnInteriorSurface( this );
2451 }

Используется в FireplaceBase::IsThisIgnitionSuccessful().

◆ IsOnWaterSurface()

bool IsOnWaterSurface ( )
protected
2436 {
2437 return FireplaceBase.IsEntityOnWaterSurface(this);
2438 }

Используется в FireplaceBase::IsThisIgnitionSuccessful().

◆ IsOpen()

override bool IsOpen ( )
protected
2396 {
2397 return true;
2398 }

◆ IsOven()

◆ IsPrepareToDelete()

override bool IsPrepareToDelete ( )
protected
597 {
598 return IsEmpty() && !IsBurning() && !HasAshes();
599 }
bool HasAshes()
Definition FireplaceBase.c:1578
override bool IsEmpty()
Definition FireplaceBase.c:2454

Перекрестные ссылки HasAshes(), IsBurning() и IsEmpty().

Используется в Entity::CheckForDestroy() и Entity::TryDelete().

◆ IsRainingAbove()

bool IsRainingAbove ( )
protected
2413 {
2414 return FireplaceBase.IsRainingAboveEntity( this );
2415 }

Используется в Cooling() и FireplaceBase::IsThisIgnitionSuccessful().

◆ IsRainingAboveEntity()

static bool IsRainingAboveEntity ( notnull EntityAI entity_ai)
staticprotected
2408 {
2409 return ( GetGame() && ( GetGame().GetWeather().GetRain().GetActual() >= FireplaceBase.PARAM_IGNITE_RAIN_THRESHOLD ) );
2410 }

Перекрестные ссылки GetGame().

◆ IsRoofAbove()

bool IsRoofAbove ( )
protected
2390 {
2391 return m_RoofAbove;
2392 }
bool m_RoofAbove
Definition FireplaceBase.c:28

Перекрестные ссылки m_RoofAbove.

Используется в Cooling(), Heating(), ParticleNormalSmokeStart(), ParticleSmallSmokeStart() и StartHeating().

◆ IsSpaceFor()

bool IsSpaceFor ( vector size)
protected
2477 {
2478 array<Object> objs = {};
2479 if (GetGame().IsBoxCollidingGeometry(GetWorldPosition() + Vector(0, size[1] * 0.5 + 0.1, 0), GetDirection().VectorToAngles(), size, ObjIntersect.View, ObjIntersect.Geom, {this}, objs))
2480 {
2481 foreach (Object obj : objs)
2482 {
2483 if (dBodyGetInteractionLayer(obj) == PhxInteractionLayers.ITEM_LARGE)
2484 return false;
2485 }
2486 }
2487 return true;
2488 }
PhxInteractionLayers
Definition DayZPhysics.c:2
Definition ObjectTyped.c:2
proto native int dBodyGetInteractionLayer(notnull IEntity ent)

Перекрестные ссылки dBodyGetInteractionLayer(), GetGame() и Vector().

Используется в IsSpaceForCircle() и IsSpaceForOven().

◆ IsSpaceForCircle()

bool IsSpaceForCircle ( )
protected
2519 {
2520 return IsSpaceFor(Vector(0.9, 0.1, 0.9));
2521 }
bool IsSpaceFor(vector size)
Definition FireplaceBase.c:2476

Перекрестные ссылки IsSpaceFor() и Vector().

Используется в CanBuildStoneCircle().

◆ IsSpaceForOven()

bool IsSpaceForOven ( )
protected
2507 {
2508 const float size = 0.6;
2509 return IsSpaceFor(Vector(size, size, size));
2510 }

Перекрестные ссылки IsSpaceFor() и Vector().

Используется в CanBuildOven().

◆ IsWet()

bool IsWet ( )
protected
2384 {
2385 return FireplaceBase.IsEntityWet( this );
2386 }

Используется в FireplaceBase::IsThisIgnitionSuccessful() и RefreshFireplaceVisuals().

◆ IsWindy()

static bool IsWindy ( )
staticprotected
2359 {
2360 //check wind
2361 float wind_speed = GetGame().GetWeather().GetWindSpeed();
2362 float wind_speed_threshold = GetGame().GetWeather().GetWindMaximumSpeed() * FireplaceBase.IGNITE_WIND_THRESHOLD;
2363
2364 return ( wind_speed >= wind_speed_threshold );
2365 }

Перекрестные ссылки GetGame().

Используется в FireplaceBase::IsThisIgnitionSuccessful() и StartHeating().

◆ LockOvenAttachments()

void LockOvenAttachments ( bool lock)
protected
2669 {
2670 //Print("LockOvenAttachments");
2671 //string path_cooking_equipment = "" + CFG_VEHICLESPATH + " " + GetType() + " GUIInventoryAttachmentsProps CookingEquipment attachmentSlots";
2672 string path_cooking_equipment = string.Format("%1 %2 GUIInventoryAttachmentsProps CookingEquipment attachmentSlots", CFG_VEHICLESPATH, GetType());
2673 //string path_direct_cooking = "" + CFG_VEHICLESPATH + " " + GetType() + " GUIInventoryAttachmentsProps DirectCooking attachmentSlots";
2674 string path_direct_cooking = string.Format("%1 %2 GUIInventoryAttachmentsProps DirectCooking attachmentSlots", CFG_VEHICLESPATH, GetType());
2675 if ( GetGame().ConfigIsExisting(path_cooking_equipment) && GetGame().ConfigIsExisting(path_direct_cooking) )
2676 {
2680 GetGame().ConfigGetTextArray(path_direct_cooking,arr_direct_cooking);
2681 for ( int i = 0; i < arr_cooking_equipment.Count(); i++ )
2682 {
2683 if ( lock != GetInventory().GetSlotLock(InventorySlots.GetSlotIdFromString(arr_cooking_equipment[i])) )
2684 {
2685 GetInventory().SetSlotLock(InventorySlots.GetSlotIdFromString(arr_cooking_equipment[i]),lock);
2686 //Print("attachment lock: " + arr_cooking_equipment[i] + " " + lock);
2687 }
2688 }
2689
2690 for ( i = 0; i < arr_direct_cooking.Count(); i++ )
2691 {
2692 if ( lock == GetInventory().GetSlotLock(InventorySlots.GetSlotIdFromString(arr_direct_cooking[i])) )
2693 {
2694 GetInventory().SetSlotLock(InventorySlots.GetSlotIdFromString(arr_direct_cooking[i]),!lock);
2695 //Print("attachment lock: " + arr_direct_cooking[i] + " " + !lock);
2696 }
2697 }
2698 }
2700 }
eBleedingSourceType GetType()
Definition BleedingSource.c:63
int m_OvenAttachmentsLockState
Definition FireplaceBase.c:30
const string CFG_VEHICLESPATH
Definition constants.c:209

Перекрестные ссылки CFG_VEHICLESPATH, GetGame(), InventorySlots::GetSlotIdFromString(), GetType() и m_OvenAttachmentsLockState.

Используется в RefreshFireplaceVisuals().

◆ OnAction()

override bool OnAction ( int action_id,
Man player,
ParamsReadContext ctx )
protected
2775 {
2776 if (super.OnAction(action_id, player, ctx))
2777 return true;
2778 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
2779 {
2780 if (action_id == EActions.ACTIVATE_ENTITY)
2781 {
2783 }
2784 else if (action_id == EActions.DEACTIVATE_ENTITY)
2785 {
2786 StopFire();
2787 }
2788 }
2789 return false;
2790 }
override void OnIgnitedThis(EntityAI fire_source)
Executed on Server when some item ignited this one.
Definition FireworksBase.c:96

Перекрестные ссылки GetGame(), FireplaceBase::OnIgnitedThis() и StopFire().

◆ OnAttachmentQuantityChanged()

override void OnAttachmentQuantityChanged ( ItemBase item)
protected
2648 {
2649 super.OnAttachmentQuantityChanged(item);
2650
2652 }

Перекрестные ссылки CalcAndSetQuantity().

◆ OnAttachmentRuined()

override void OnAttachmentRuined ( EntityAI attachment)
protected
337 {
338 switch (attachment.Type())
339 {
342 int slot = InventorySlots.GetSlotIdFromString("CookingEquipment");
343 EntityAI ent = GetInventory().FindAttachment(slot);
344 if (ent)
345 {
346 switch (ent.Type())
347 {
351 vector direction = ent.GetDirection();
353
354 float angle = Math.Acos(dot);
355 if (direction[0] < 0)
356 {
357 angle = -angle;
358 }
359
360 float cos = Math.Cos(angle);
361 float sin = Math.Sin(angle);
362 GetInventory().DropEntityInBounds(InventoryMode.SERVER, this, ent, "2 0 2", angle, cos, sin);
363 break;
364 }
365 }
366
367 attachment.Delete();
368 break;
369 }
370 }
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
Definition Inventory.c:22
static const vector Forward
Definition EnConvert.c:109
static float Dot(vector v1, vector v2)
Returns Dot product of vector v1 and vector v2.
Definition EnConvert.c:271
static proto float Acos(float c)
Returns angle in radians from cosinus.
static proto float Cos(float angle)
Returns cosinus of angle in radians.
static proto float Sin(float angle)
Returns sinus of angle in radians.

Перекрестные ссылки Math::Acos(), ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_COOKINGSTAND, ATTACHMENT_FRYING_PAN, ATTACHMENT_TRIPOD, Math::Cos(), vector::Dot(), vector::Forward, InventorySlots::GetSlotIdFromString() и Math::Sin().

◆ OnDebugSpawn()

override void OnDebugSpawn ( )
protected
2750 {
2751 ItemBase firewood = ItemBase.Cast(GetInventory().CreateInInventory("Firewood"));
2752 firewood.SetQuantity(firewood.GetQuantityMax());
2753
2754 ItemBase sticks = ItemBase.Cast(GetInventory().CreateInInventory("WoodenStick"));
2755 sticks.SetQuantity(sticks.GetQuantityMax());
2756
2757 ItemBase stone = ItemBase.Cast(GetInventory().CreateInInventory("Stone"));
2758 stone.SetQuantity(stone.GetQuantityMax());
2759
2760 GetInventory().CreateInInventory("Rag");
2761
2762 SpawnEntityOnGroundPos("PetrolLighter", GetPosition());
2763 }

Перекрестные ссылки GetPosition.

◆ OnItemLocationChanged()

override void OnItemLocationChanged ( EntityAI old_owner,
EntityAI new_owner )
protected
329 {
330 super.OnItemLocationChanged(old_owner, new_owner);
331
332 //refresh physics after location change (with delay)
334 }
void RefreshFireplacePhysics()
const int CALL_CATEGORY_GAMEPLAY
Definition tools.c:10

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, GetGame() и FireplaceBase::RefreshFireplacePhysics().

◆ OnPlacementComplete()

override void OnPlacementComplete ( Man player,
vector position = "0 0 0",
vector orientation = "0 0 0" )
protected
2560 {
2561 super.OnPlacementComplete( player, position, orientation );
2562
2563 if ( GetGame().IsServer() )
2564 {
2565 //remove grass
2567 cc_object.SetOrientation( orientation );
2568 GetGame().GetCallQueue( CALL_CATEGORY_GAMEPLAY ).CallLater( GetGame().ObjectDelete, 1000, false, cc_object );
2569
2570 SetIsPlaceSound( true );
2571 }
2572 }
const int ECE_PLACE_ON_SURFACE
Definition CentralEconomy.c:37
const string OBJECT_CLUTTER_CUTTER
Definition FireplaceBase.c:210
void SetIsPlaceSound(bool is_place_sound)
Definition ItemBase.c:9028

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, ECE_PLACE_ON_SURFACE, GetGame(), OBJECT_CLUTTER_CUTTER и SetIsPlaceSound().

◆ OnRPC()

override void OnRPC ( PlayerIdentity sender,
int rpc_type,
ParamsReadContext ctx )
protected
2707 {
2708 super.OnRPC( sender, rpc_type, ctx );
2709
2710 ref Param1<bool> p = new Param1<bool>(false);
2711
2712 if (ctx.Read(p))
2713 {
2714 bool failure = p.param1;
2715 }
2716
2717 switch ( rpc_type )
2718 {
2719 case FirePlaceFailure.WIND:
2720
2721 if ( failure )
2722 {
2724 SoundFireStop();
2726 }
2727
2728 break;
2729
2730 case FirePlaceFailure.WET:
2731
2732 if ( failure )
2733 {
2735 SoundFireStop();
2737 }
2738
2739 break;
2740 }
2741 }
void ParticleWetNoIgniteStart()
Definition FireplaceBase.c:1228
void SoundFireStop()
Definition FireplaceBase.c:1318
void SoundFireWetNoIgniteStart()
Definition FireplaceBase.c:1302
void SoundFireWindyNoIgniteStart()
Definition FireplaceBase.c:1312
void ParticleFireWindyNoIgniteStart()
Definition FireplaceBase.c:1194

Перекрестные ссылки ParticleFireWindyNoIgniteStart(), ParticleWetNoIgniteStart(), SoundFireStop(), SoundFireWetNoIgniteStart() и SoundFireWindyNoIgniteStart().

◆ OnStoreLoad()

override bool OnStoreLoad ( ParamsReadContext ctx,
int version )
protected
403 {
404 if ( !super.OnStoreLoad(ctx, version) )
405 return false;
406
407 //--- Fireplace data ---
408 //Load ashes state
409 if ( !ctx.Read( m_HasAshes ) )
410 {
411 m_HasAshes = false; //set default
412 return false;
413 }
414
415 //Load temperature loss MP
416 if ( !ctx.Read( m_TemperatureLossMP ) )
417 {
418 m_TemperatureLossMP = 1.0; //set default
419 return false;
420 }
421
422 //Load fuel burn rate MP
423 if ( !ctx.Read( m_FuelBurnRateMP ) )
424 {
425 m_FuelBurnRateMP = 1.0; //set default
426 return false;
427 }
428
429 //Load burning state, if true start fire
430 if ( !ctx.Read( m_IsBurning ) )
431 {
432 m_IsBurning = false; //set default
433 return false;
434 }
435 //---
436
437 return true;
438 }

Перекрестные ссылки m_FuelBurnRateMP, m_HasAshes, m_IsBurning и m_TemperatureLossMP.

◆ OnStoreSave()

override void OnStoreSave ( ParamsWriteContext ctx)
protected
386 {
387 super.OnStoreSave(ctx);
388
389 //Save ashes state
390 ctx.Write( m_HasAshes );
391
392 //Save temperature loss MP
393 ctx.Write( m_TemperatureLossMP );
394
395 //Save fuel burn rate MP
396 ctx.Write( m_FuelBurnRateMP );
397
398 //Save burning state
399 ctx.Write( m_IsBurning );
400 }

Перекрестные ссылки m_FuelBurnRateMP, m_HasAshes, m_IsBurning и m_TemperatureLossMP.

◆ OnVariablesSynchronized()

override void OnVariablesSynchronized ( )
protected
474 {
475 super.OnVariablesSynchronized();
476
479
480 if (IsPlaceSound())
481 {
483 }
484
485 if (IsBaseFireplace() && !IsOven())
486 {
488 {
490 }
491 else if (!m_IsBurning && m_AreaDamage)
492 {
494 }
495 }
496 }
void RefreshFireParticlesAndSounds(bool force_refresh)
Definition FireplaceBase.c:795
void CreateAreaDamage()
Definition FireplaceBase.c:2315
bool IsBaseFireplace()
Definition FireplaceBase.c:509
void PlayPlaceSound()
Definition ItemBase.c:9093
bool IsPlaceSound()
Definition ItemBase.c:9033

Перекрестные ссылки FireplaceBase::CreateAreaDamage(), DestroyAreaDamage(), FireplaceBase::IsBaseFireplace(), IsOven(), IsPlaceSound(), m_AreaDamage, m_IsBurning, PlayPlaceSound(), RefreshFireParticlesAndSounds() и RefreshFireplaceVisuals().

◆ ParticleFireEndStart()

void ParticleFireEndStart ( )
protected
1178 {
1179 if ( IsOven() )
1180 {
1182 }
1183 else
1184 {
1186 }
1187 }
bool PlayParticle(out Particle particle, int particle_type, vector pos, bool worldpos=false)
Definition FireplaceBase.c:1037
int PARTICLE_FIRE_END
Definition FireplaceBase.c:119
vector GetFireEffectPosition()
Definition FireplaceBase.c:1267
Particle m_ParticleFireEnd
Definition FireplaceBase.c:130
int PARTICLE_OVEN_FIRE_END
Definition FireplaceBase.c:120

Перекрестные ссылки GetFireEffectPosition(), IsOven(), m_ParticleFireEnd, PARTICLE_FIRE_END, PARTICLE_OVEN_FIRE_END и PlayParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleFireEndStop()

void ParticleFireEndStop ( )
protected
1190 {
1192 }
bool StopParticle(out Particle particle)
Definition FireplaceBase.c:1057

Перекрестные ссылки m_ParticleFireEnd и StopParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleFireStartStart()

void ParticleFireStartStart ( )
protected
1072 {
1073 if ( IsOven() )
1074 {
1076 }
1077 else
1078 {
1080 }
1081 }
Particle m_ParticleFireStart
Definition FireplaceBase.c:125
int PARTICLE_FIRE_START
Definition FireplaceBase.c:112
int PARTICLE_OVEN_FIRE_START
Definition FireplaceBase.c:113

Перекрестные ссылки GetFireEffectPosition(), IsOven(), m_ParticleFireStart, PARTICLE_FIRE_START, PARTICLE_OVEN_FIRE_START и PlayParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleFireStartStop()

void ParticleFireStartStop ( )
protected
1084 {
1086 }

Перекрестные ссылки m_ParticleFireStart и StopParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleFireWindyNoIgniteStart()

void ParticleFireWindyNoIgniteStart ( )
protected
1195 {
1196 if ( IsOven() )
1197 {
1199 }
1200 else
1201 {
1203 }
1204 }
int PARTICLE_NO_IGNITE_WIND
Definition FireplaceBase.c:123

Перекрестные ссылки GetFireEffectPosition(), IsOven(), m_ParticleFireEnd, PARTICLE_NO_IGNITE_WIND, PARTICLE_OVEN_FIRE_END и PlayParticle().

Используется в OnRPC().

◆ ParticleNormalFireStart()

void ParticleNormalFireStart ( )
protected
1108 {
1109 if ( IsOven() )
1110 {
1112 }
1113 else
1114 {
1116 }
1117 }
Particle m_ParticleNormalFire
Definition FireplaceBase.c:127
int PARTICLE_NORMAL_FIRE
Definition FireplaceBase.c:115
int PARTICLE_OVEN_FIRE
Definition FireplaceBase.c:116

Перекрестные ссылки GetFireEffectPosition(), IsOven(), m_ParticleNormalFire, PARTICLE_NORMAL_FIRE, PARTICLE_OVEN_FIRE и PlayParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleNormalFireStop()

void ParticleNormalFireStop ( )
protected
1120 {
1122 }

Перекрестные ссылки m_ParticleNormalFire и StopParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleNormalSmokeStart()

void ParticleNormalSmokeStart ( )
protected
1152 {
1154
1155 //calculate air resistance
1156 float actual_height;
1158 {
1160
1161 //alter smoke height
1163 }
1164
1165 if ( IsRoofAbove() )
1166 {
1168 }
1169 }
float GetAirResistanceForSmokeParticles(float actual_height)
Definition FireplaceBase.c:1254
int PARTICLE_NORMAL_SMOKE
Definition FireplaceBase.c:118
bool GetCeilingHeight(out float actual_height)
Definition FireplaceBase.c:1238
vector GetSmokeEffectPosition()
Definition FireplaceBase.c:1272
Particle m_ParticleNormalSmoke
Definition FireplaceBase.c:129
void SetParameter(int emitter, int parameter, float value)
Set the value of a parameter of an emitor in the particle.
Definition Particle.c:625
EmitorParam
Definition EnVisual.c:114

Перекрестные ссылки GetAirResistanceForSmokeParticles(), GetCeilingHeight(), FireplaceBase::GetSmokeEffectPosition(), IsRoofAbove(), m_ParticleNormalSmoke, PARTICLE_NORMAL_SMOKE, PlayParticle() и Particle::SetParameter().

◆ ParticleNormalSmokeStop()

void ParticleNormalSmokeStop ( )
protected
1172 {
1174 }

Перекрестные ссылки m_ParticleNormalSmoke и StopParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleSmallFireStart()

void ParticleSmallFireStart ( )
protected
1090 {
1091 if ( IsOven() )
1092 {
1094 }
1095 else
1096 {
1098 }
1099 }
Particle m_ParticleSmallFire
Definition FireplaceBase.c:126
int PARTICLE_SMALL_FIRE
Definition FireplaceBase.c:114

Перекрестные ссылки GetFireEffectPosition(), IsOven(), m_ParticleSmallFire, PARTICLE_OVEN_FIRE, PARTICLE_SMALL_FIRE и PlayParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleSmallFireStop()

void ParticleSmallFireStop ( )
protected
1102 {
1104 }

Перекрестные ссылки m_ParticleSmallFire и StopParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleSmallSmokeStart()

void ParticleSmallSmokeStart ( )
protected
1126 {
1128
1129 //calculate air resistance
1130 float actual_height;
1132 {
1134
1135 //alter smoke height
1137 }
1138
1139 if ( IsRoofAbove() )
1140 {
1142 }
1143 }
Particle m_ParticleSmallSmoke
Definition FireplaceBase.c:128
int PARTICLE_SMALL_SMOKE
Definition FireplaceBase.c:117

Перекрестные ссылки GetAirResistanceForSmokeParticles(), GetCeilingHeight(), FireplaceBase::GetSmokeEffectPosition(), IsRoofAbove(), m_ParticleSmallSmoke, PARTICLE_SMALL_SMOKE, PlayParticle() и Particle::SetParameter().

◆ ParticleSmallSmokeStop()

void ParticleSmallSmokeStop ( )
protected
1146 {
1148 }

Перекрестные ссылки m_ParticleSmallSmoke и StopParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleSteamEndStart()

void ParticleSteamEndStart ( )
protected
1219 {
1221 }
int PARTICLE_STEAM_END
Definition FireplaceBase.c:121
Particle m_ParticleSteamEnd
Definition FireplaceBase.c:131

Перекрестные ссылки GetFireEffectPosition(), m_ParticleSteamEnd, PARTICLE_STEAM_END и PlayParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleSteamEndStop()

void ParticleSteamEndStop ( )
protected
1224 {
1226 }

Перекрестные ссылки m_ParticleSteamEnd и StopParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleSteamExtinguishingStart()

void ParticleSteamExtinguishingStart ( )
protected
1208 {
1210 }
int PARTICLE_STEAM_EXTINGUISHING
Definition FireplaceBase.c:122
Particle m_ParticleSteamExtinguishing
Definition FireplaceBase.c:132

Перекрестные ссылки GetFireEffectPosition(), m_ParticleSteamExtinguishing, PARTICLE_STEAM_EXTINGUISHING и PlayParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleSteamExtinguishingStop()

void ParticleSteamExtinguishingStop ( )
protected

Перекрестные ссылки m_ParticleSteamExtinguishing и StopParticle().

Используется в RefreshFireParticlesAndSounds().

◆ ParticleWetNoIgniteStart()

void ParticleWetNoIgniteStart ( )
protected

Перекрестные ссылки GetFireEffectPosition(), m_ParticleSteamEnd, PARTICLE_STEAM_END и PlayParticle().

Используется в OnRPC().

◆ ParticleWetNoIgniteStop()

void ParticleWetNoIgniteStop ( )
protected
1234 {
1236 }

Перекрестные ссылки m_ParticleSteamEnd и StopParticle().

◆ PlayParticle()

bool PlayParticle ( out Particle particle,
int particle_type,
vector pos,
bool worldpos = false )
protected
1038 {
1039 if ( !particle && GetGame() && ( !GetGame().IsDedicatedServer() ) )
1040 {
1041 if ( !worldpos )
1042 {
1043 particle = ParticleManager.GetInstance().PlayOnObject( particle_type, this, pos );
1044 }
1045 else
1046 {
1047 particle = ParticleManager.GetInstance().PlayInWorld( particle_type, pos );
1048 }
1049
1050 return true;
1051 }
1052
1053 return false;
1054 }
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
Definition ParticleManager.c:84

Перекрестные ссылки GetGame() и ParticleManager().

◆ RefreshFireParticlesAndSounds()

void RefreshFireParticlesAndSounds ( bool force_refresh)
protected
796 {
798
800 {
801 switch ( fire_state )
802 {
803 case FireplaceFireState.START_FIRE:
804 {
805 //particles
807
808 //sounds
811 break;
812 }
813 case FireplaceFireState.SMALL_FIRE:
814 {
815 //particles
817
819
820 if ( CanShowSmoke() )
822 else
824
827
829
830 //sounds
833 break;
834 }
835 case FireplaceFireState.NORMAL_FIRE:
836 {
837 //particles
839
842
844
845 if ( CanShowSmoke() )
847 else
849
851
852 //sounds
855 break;
856 }
857 case FireplaceFireState.END_FIRE:
858 {
859 //particles
861
864
867
869
870 //sounds
873 break;
874 }
875 case FireplaceFireState.EXTINGUISHING_FIRE: //TODO add steam particles when extinguishing
876 {
877 //particles
879
882
885
887
889
890 //sounds
893 break;
894 }
895 case FireplaceFireState.EXTINGUISHED_FIRE: //TODO add steam particles when fireplace is extinguished
896 {
897 //particles
899
902
905
907
909
910 if ( CanShowSmoke() )
912 else
914
915 //sounds
919 break;
920 }
921 case FireplaceFireState.REIGNITED_FIRE:
922 {
923 //particles
925
928
931
933
935
936 //sounds
938 break;
939 }
940 case FireplaceFireState.NO_FIRE:
941 {
942 //particles
944
947
950
952
955
956 //sounds
958 break;
959 }
960 }
961
963 }
964 }
void ParticleSteamExtinguishingStop()
Definition FireplaceBase.c:1212
void ParticleSmallFireStart()
Definition FireplaceBase.c:1089
void SoundFireLightStart()
Definition FireplaceBase.c:1282
void ParticleNormalFireStop()
Definition FireplaceBase.c:1119
void ParticleSteamEndStart()
Definition FireplaceBase.c:1218
void SoundFireExtinguishedStart()
Definition FireplaceBase.c:1297
void ParticleSteamExtinguishingStart()
Definition FireplaceBase.c:1207
void ParticleSmallSmokeStart()
Definition FireplaceBase.c:1125
void SoundFireHeavyStart()
Definition FireplaceBase.c:1287
FireplaceFireState m_LastFireState
Definition FireplaceBase.c:32
void ParticleNormalSmokeStop()
Definition FireplaceBase.c:1171
bool CanShowSmoke()
Definition FireplaceBase.c:993
void ParticleFireStartStart()
Definition FireplaceBase.c:1071
void SoundFireExtinguishingStart()
Definition FireplaceBase.c:1307
void ParticleNormalFireStart()
Definition FireplaceBase.c:1107
void SoundFireNoFireStart()
Definition FireplaceBase.c:1292
void ParticleSmallSmokeStop()
Definition FireplaceBase.c:1145
void ParticleFireEndStart()
Definition FireplaceBase.c:1177
void ParticleFireEndStop()
Definition FireplaceBase.c:1189
void ParticleFireStartStop()
Definition FireplaceBase.c:1083
void ParticleSteamEndStop()
Definition FireplaceBase.c:1223
void ParticleSmallFireStop()
Definition FireplaceBase.c:1101
void ParticleNormalSmokeStart()
Definition FireplaceBase.c:1151

Перекрестные ссылки FireplaceBase::CanShowSmoke(), GetFireState(), m_LastFireState, ParticleFireEndStart(), ParticleFireEndStop(), ParticleFireStartStart(), ParticleFireStartStop(), ParticleNormalFireStart(), ParticleNormalFireStop(), FireplaceBase::ParticleNormalSmokeStart(), ParticleNormalSmokeStop(), ParticleSmallFireStart(), ParticleSmallFireStop(), FireplaceBase::ParticleSmallSmokeStart(), ParticleSmallSmokeStop(), ParticleSteamEndStart(), ParticleSteamEndStop(), ParticleSteamExtinguishingStart(), ParticleSteamExtinguishingStop(), SoundFireExtinguishedStart(), SoundFireExtinguishingStart(), SoundFireHeavyStart(), SoundFireLightStart(), SoundFireNoFireStart() и SoundFireStop().

Используется в OnVariablesSynchronized() и FireplaceBase::OnVariablesSynchronized().

◆ RefreshFireplacePhysics()

void RefreshFireplacePhysics ( )
protected

◆ RefreshFireplaceVisuals()

void RefreshFireplaceVisuals ( )
protected

single stone; everything else hidden

hide stones stack completely

613 {
614 if (IsHologram())
615 {
616 return;
617 }
618
619 // Light
620 #ifndef SERVER
621 if (IsBurning() )
622 {
623 //turn light on
624 if (!GetLightEntity())
625 {
626 SetLightEntity(FireplaceLight.Cast(ScriptedLightBase.CreateLight(FireplaceLight, GetPosition(), 20)));
627 GetLightEntity().AttachOnMemoryPoint(this, "light");
628 }
629
630 if (GetLightEntity() && GetLightEntity().GetBrightness() > 0)
631 {
632 // change brightness based on the distance of player to the fireplace
633 Object player = GetGame().GetPlayer();
635
636 if (IsOven())
637 {
638 lightDist = 50;
639 }
640
641 if (player)
642 {
643 if (vector.DistanceSq(player.GetPosition(), this.GetPosition()) > lightDist * lightDist)
644 {
645 GetLightEntity().FadeBrightnessTo(0, 5);
646 }
647 else
648 {
649 GetLightEntity().FadeBrightnessTo(FireplaceLight.m_FireplaceBrightness, 5);
650 }
651 }
652
653 // The following solves an issue with the light point clipping through narrow geometry
655 {
656 GetLightEntity().SetInteriorMode();
657 }
658 else
659 {
660 GetLightEntity().SetExteriorMode();
661 }
662 }
663 }
664 else
665 {
666 //turn light off
667 if (GetLightEntity())
668 {
669 GetLightEntity().FadeOut();
670 }
671 }
672 #endif
673
674 //set default burn parameters based on fireplace type
676 {
679 }
680 else if (HasStoneCircle())
681 {
684 }
685 else
686 {
689 }
690
691 // Oven attachments
692 if (IsOven())
693 {
694 //lock attachment slots
696 {
698 }
699 }
700 else
701 {
702 //unlock attachment slots
704 {
705 LockOvenAttachments(false);
706 }
707 }
708
709 //VISUAL STATES
710 //Fuel state
711 if ( GetGame().IsServer() ) // SetAnimationPhase should ideally be called on server only..
712 {
713 // Sticks state
715 SetAnimationPhase( ANIMATION_STICKS, 0 );
716 else
717 SetAnimationPhase( ANIMATION_STICKS, 1 );
718
719 // Firewood state
721 {
722 if ( IsBurning() && HasAshes() )
723 {
724 SetAnimationPhase( ANIMATION_BURNT_WOOD, 0 ); // Because this might not be set under certain circumstances
725 SetAnimationPhase( ANIMATION_WOOD, 1 );
726 }
727
728 if ( IsWet() || !IsBurning() )
729 {
730 SetAnimationPhase( ANIMATION_BURNT_WOOD, 1 );
731 SetAnimationPhase( ANIMATION_WOOD, 0 );
732 }
733 }
734 else
735 {
736 SetAnimationPhase( ANIMATION_WOOD, 1 );
737 SetAnimationPhase( ANIMATION_BURNT_WOOD, 1 );
738 }
739
740 // Kindling state
741 if ( GetKindlingCount() != 0 )
742 SetAnimationPhase( ANIMATION_KINDLING, 0 );
743 else
744 SetAnimationPhase( ANIMATION_KINDLING, 1 );
745
746 // Ashes state
747 if ( HasAshes() )
748 SetAnimationPhase( ANIMATION_ASHES, 0 );
749 else
750 SetAnimationPhase( ANIMATION_ASHES, 1 );
751
752 // Stone variations
753 if (HasStones())
754 {
755 if (HasStoneCircle())
756 {
757 SetAnimationPhase(ANIMATION_STONES, 0);
758 SetAnimationPhase(ANIMATION_STONE, 1);
759 }
760 else if (IsOven())
761 {
762 SetAnimationPhase(ANIMATION_OVEN, 0);
763 SetAnimationPhase(ANIMATION_STONE, 1);
764 }
765 else
766 {
768 SetAnimationPhase(ANIMATION_STONES, 1);
769 SetAnimationPhase(ANIMATION_OVEN, 1);
770 SetAnimationPhase(ANIMATION_STONE, 0);
771 }
772 }
773 else
774 {
775 SetAnimationPhase(ANIMATION_STONE, 1);
776 }
777 }
778
779 //refresh physics (with delay)
781 }
const float TEMPERATURE_LOSS_MP_OVEN
Definition FireplaceBase.c:72
const string ANIMATION_OVEN
Definition FireplaceBase.c:178
void LockOvenAttachments(bool lock)
Definition FireplaceBase.c:2668
bool IsBarrelWithHoles()
Definition FireplaceBase.c:514
float m_LightDistance
Definition FireplaceBase.c:103
FireplaceLight GetLightEntity()
Definition FireplaceBase.c:2545
const float TEMPERATURE_LOSS_MP_STONES
Definition FireplaceBase.c:71
const string ANIMATION_ASHES
Definition FireplaceBase.c:170
const string ANIMATION_STONES
Definition FireplaceBase.c:176
const float FUEL_BURN_RATE_OVEN
Definition FireplaceBase.c:76
bool IsWet()
Definition FireplaceBase.c:2383
bool IsIndoorOven()
Definition FireplaceBase.c:524
const string ANIMATION_WOOD
Definition FireplaceBase.c:173
const float FUEL_BURN_RATE_STONES
Definition FireplaceBase.c:75
const string ANIMATION_KINDLING
Definition FireplaceBase.c:171
const string ANIMATION_STICKS
Definition FireplaceBase.c:172
const string ANIMATION_STONE
Definition FireplaceBase.c:175
bool IsFireplaceIndoor()
Definition FireplaceBase.c:519
bool IsItemTypeAttached(typename item_type)
Definition FireplaceBase.c:1536
const string ANIMATION_BURNT_WOOD
Definition FireplaceBase.c:174
void SetLightEntity(FireplaceLight light)
Definition FireplaceBase.c:2550
override bool IsHologram()
Definition ItemBase.c:5674
Definition PointLightBase.c:2
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.

Перекрестные ссылки ANIMATION_ASHES, ANIMATION_BURNT_WOOD, ANIMATION_KINDLING, ANIMATION_OVEN, ANIMATION_STICKS, ANIMATION_STONE, ANIMATION_STONES, ANIMATION_WOOD, ATTACHMENT_FIREWOOD, ATTACHMENT_STICKS, ATTACHMENT_STONES, CALL_CATEGORY_GAMEPLAY, vector::DistanceSq(), FUEL_BURN_RATE_DEFAULT, FUEL_BURN_RATE_OVEN, FUEL_BURN_RATE_STONES, GetGame(), GetKindlingCount(), GetLightEntity(), GetPosition, HasAshes(), HasStoneCircle(), HasStones(), FireplaceBase::IsBarrelWithHoles(), IsBurning(), FireplaceBase::IsFireplaceIndoor(), IsHologram(), FireplaceBase::IsIndoorOven(), IsItemTypeAttached(), IsOven(), IsWet(), LockOvenAttachments(), m_LightDistance, m_OvenAttachmentsLockState, FireplaceBase::RefreshFireplacePhysics(), SetFuelBurnRateMP(), SetLightEntity(), SetTemperatureLossMP(), TEMPERATURE_LOSS_MP_DEFAULT, TEMPERATURE_LOSS_MP_OVEN и TEMPERATURE_LOSS_MP_STONES.

Используется в EEInit(), FireplaceBase::EEItemAttached(), FireplaceBase::EEItemDetached(), OnVariablesSynchronized(), SetItemToConsume() и Synchronize().

◆ RefreshFireState()

void RefreshFireState ( )
protected
1000 {
1001 float temperature = GetTemperature();
1002
1003 //if it's burning
1004 if (IsBurning())
1005 {
1006 //Start fire
1008 {
1009 if ( GetFireState() != FireplaceFireState.START_FIRE )
1010 {
1011 SetFireState( FireplaceFireState.START_FIRE );
1012 }
1013 }
1014 //Small fire
1016 {
1017 if ( GetFireState() != FireplaceFireState.SMALL_FIRE )
1018 {
1019 SetFireState( FireplaceFireState.SMALL_FIRE );
1020 }
1021 }
1022 //Normal fire
1024 {
1025 if ( GetFireState() != FireplaceFireState.NORMAL_FIRE )
1026 {
1027 SetFireState( FireplaceFireState.NORMAL_FIRE );
1028 }
1029 }
1030 }
1031 }

Перекрестные ссылки GetFireState(), GetTemperature(), IsBurning(), PARAM_MIN_FIRE_TEMPERATURE, PARAM_SMALL_FIRE_TEMPERATURE и SetFireState().

Используется в Heating().

◆ RemoveFromFireConsumables()

void RemoveFromFireConsumables ( FireConsumable fire_consumable)
protected
1355 {
1356 if (fire_consumable)
1357 {
1358 m_FireConsumables.Remove(fire_consumable.GetItem());
1359 delete fire_consumable;
1360 }
1361
1363 }

Перекрестные ссылки CalcAndSetQuantity() и m_FireConsumables.

Используется в FireplaceBase::EEItemDetached() и SpendFireConsumable().

◆ SetAshesState()

void SetAshesState ( bool has_ashes)
protected
1585 {
1587
1588 if (m_HasAshes)
1589 {
1591 }
1592 }
void SetBurntFirewood()
Definition FireplaceBase.c:783

Перекрестные ссылки m_HasAshes и SetBurntFirewood().

Используется в SpendFireConsumable().

◆ SetBurningState()

void SetBurningState ( bool is_burning)
protected
1573 {
1575 }

Перекрестные ссылки m_IsBurning.

Используется в StartFire() и StopFire().

◆ SetBurntFirewood()

void SetBurntFirewood ( )
protected
784 {
785 if ( GetGame().IsServer() && IsInAnimPhase( ANIMATION_WOOD ) )
786 {
787 SetAnimationPhase( ANIMATION_WOOD, 1 );
788 SetAnimationPhase( ANIMATION_BURNT_WOOD, 0 );
789 }
790 }
bool IsInAnimPhase(string anim_phase)
Definition FireplaceBase.c:2471

Перекрестные ссылки ANIMATION_BURNT_WOOD, ANIMATION_WOOD, GetGame() и IsInAnimPhase().

Используется в SetAshesState().

◆ SetCookingEquipment()

void SetCookingEquipment ( ItemBase equipment)
protected
546 {
548 }

Перекрестные ссылки m_CookingEquipment.

Используется в ItemBase::ClearCookingEquipment() и ItemBase::EEItemAttached().

◆ SetExtinguishingState()

void SetExtinguishingState ( )
protected
1685 {
1686 SetFireState( FireplaceFireState.EXTINGUISHING_FIRE );
1687 }

Перекрестные ссылки SetFireState().

◆ SetFireState()

void SetFireState ( FireplaceFireState state)
protected
1675 {
1676 if ( m_FireState != state )
1677 {
1679
1680 Synchronize();
1681 }
1682 }

Перекрестные ссылки m_FireState и Synchronize().

Используется в EEDelete(), RefreshFireState(), SetExtinguishingState(), StopCooling() и StopFire().

◆ SetFuelBurnRateMP()

void SetFuelBurnRateMP ( float value)
protected
1663 {
1665 }

Перекрестные ссылки m_FuelBurnRateMP.

Используется в FireplaceBase() и RefreshFireplaceVisuals().

◆ SetIgniteFailure()

void SetIgniteFailure ( bool failure)
protected
2373 {
2375 }

Перекрестные ссылки m_NoIgnite.

Используется в FireplaceBase::IsThisIgnitionSuccessful().

◆ SetItemToConsume()

FireConsumable SetItemToConsume ( )
protected
1374 {
1375 if (m_FireConsumables.Count() == 0)
1376 {
1378 }
1379 else
1380 {
1381 for (int i = 0; i < m_FireConsumables.Count(); ++i)
1382 {
1383 ItemBase key = m_FireConsumables.GetKey(i);
1385
1386 if (i == 0)
1387 {
1389 }
1390 else
1391 {
1392 if (fireConsumable.GetEnergy() < m_ItemToConsume.GetEnergy())
1393 {
1395 }
1396 }
1397 }
1398 }
1399
1400 //refresh visual
1402
1403 return m_ItemToConsume;
1404 }

Перекрестные ссылки m_FireConsumables, m_ItemToConsume и RefreshFireplaceVisuals().

Используется в SpendFireConsumable() и StartFire().

◆ SetLightEntity()

void SetLightEntity ( FireplaceLight light)
protected
2551 {
2552 m_Light = light;
2553 }

Перекрестные ссылки m_Light.

Используется в RefreshFireplaceVisuals().

◆ SetOvenState()

void SetOvenState ( bool is_oven)
protected
1622 {
1623 if ( m_IsOven != is_oven )
1624 {
1625 m_IsOven = is_oven;
1627
1628 GetInventory().SetSlotLock( InventorySlots.GetSlotIdFromString("Stones") , is_oven);
1629
1630 Synchronize();
1631 }
1632 }

Перекрестные ссылки InventorySlots::GetSlotIdFromString(), m_IsOven, m_RoofAbove и Synchronize().

◆ SetStoneCircleState()

void SetStoneCircleState ( bool has_stonecircle)
protected
1634 {
1636 {
1638
1639 GetInventory().SetSlotLock( InventorySlots.GetSlotIdFromString("Stones") , has_stonecircle);
1640
1641 Synchronize();
1642 }
1643 }

Перекрестные ссылки InventorySlots::GetSlotIdFromString(), m_HasStoneCircle и Synchronize().

◆ SetTemperatureLossMP()

void SetTemperatureLossMP ( float value)
protected
1652 {
1654 }

Перекрестные ссылки m_TemperatureLossMP.

Используется в FireplaceBase() и RefreshFireplaceVisuals().

◆ SmokeOnSmokingSlot()

void SmokeOnSmokingSlot ( ItemBase slot_item,
float temp_equip,
float temp_ext )
protected
2129 {
2130 if ( m_CookingProcess == NULL )
2131 {
2132 m_CookingProcess = new Cooking();
2133 }
2134
2135 // smoking slots accept only individual meat/fruit/veg items
2137 if ( ingr )
2138 {
2139 m_CookingProcess.SmokeItem( ingr, FireplaceBase.TIMER_HEATING_UPDATE_INTERVAL * FireplaceBase.SMOKING_SPEED );
2140 }
2141 }

Перекрестные ссылки m_CookingProcess.

Используется в Cooling() и Heating().

◆ SmokingSlotsInUse()

bool SmokingSlotsInUse ( )
protected
579 {
580 for (int i = 0; i < SMOKING_SLOT_COUNT; i++)
581 {
582 if ( m_SmokingSlots[i] )
583 {
584 return true;
585 }
586 }
587 return false;
588 }

Перекрестные ссылки m_SmokingSlots и SMOKING_SLOT_COUNT.

Используется в CanDismantleOven(), FireplaceBase::CanPutIntoHands(), Cooling() и Heating().

◆ SoundFireExtinguishedStart()

void SoundFireExtinguishedStart ( )
protected
1298 {
1299 PlaySoundSet( m_SoundFire, SOUND_FIRE_EXTINGUISHED, 0.1, 0.1 );
1300 }
const string SOUND_FIRE_EXTINGUISHED
Definition FireplaceBase.c:139
EffectSound m_SoundFire
Definition FireplaceBase.c:143

Перекрестные ссылки m_SoundFire и SOUND_FIRE_EXTINGUISHED.

Используется в RefreshFireParticlesAndSounds().

◆ SoundFireExtinguishingStart()

void SoundFireExtinguishingStart ( )
protected
1308 {
1309 PlaySoundSetLoop( m_SoundFireLoop, SOUND_FIRE_EXTINGUISHING, 1.0, 0.5 );
1310 }
const string SOUND_FIRE_EXTINGUISHING
Definition FireplaceBase.c:138
EffectSound m_SoundFireLoop
Definition FireplaceBase.c:142

Перекрестные ссылки m_SoundFireLoop и SOUND_FIRE_EXTINGUISHING.

Используется в RefreshFireParticlesAndSounds().

◆ SoundFireHeavyStart()

void SoundFireHeavyStart ( )
protected
1288 {
1289 PlaySoundSetLoop( m_SoundFireLoop, SOUND_FIRE_HEAVY, 1.0, 2.0 );
1290 }
const string SOUND_FIRE_HEAVY
Definition FireplaceBase.c:135

Перекрестные ссылки m_SoundFireLoop и SOUND_FIRE_HEAVY.

Используется в RefreshFireParticlesAndSounds().

◆ SoundFireLightStart()

void SoundFireLightStart ( )
protected
1283 {
1284 PlaySoundSetLoop( m_SoundFireLoop, SOUND_FIRE_LIGHT, 1.0, 1.0 );
1285 }
const string SOUND_FIRE_LIGHT
Definition FireplaceBase.c:136

Перекрестные ссылки m_SoundFireLoop и SOUND_FIRE_LIGHT.

Используется в RefreshFireParticlesAndSounds().

◆ SoundFireNoFireStart()

void SoundFireNoFireStart ( )
protected
1293 {
1294 PlaySoundSetLoop( m_SoundFireLoop, SOUND_FIRE_NO_FIRE, 2.0, 2.0 );
1295 }
const string SOUND_FIRE_NO_FIRE
Definition FireplaceBase.c:137

Перекрестные ссылки m_SoundFireLoop и SOUND_FIRE_NO_FIRE.

Используется в RefreshFireParticlesAndSounds().

◆ SoundFireStop()

void SoundFireStop ( )
protected
1319 {
1320 StopSoundSet( m_SoundFireLoop );
1321 }

Перекрестные ссылки m_SoundFireLoop.

Используется в OnRPC() и RefreshFireParticlesAndSounds().

◆ SoundFireWetNoIgniteStart()

void SoundFireWetNoIgniteStart ( )
protected
1303 {
1304 PlaySoundSet( m_SoundFire, SOUND_FIRE_EXTINGUISHED, 0.1, 0.1 );
1305 }

Перекрестные ссылки m_SoundFire и SOUND_FIRE_EXTINGUISHED.

Используется в OnRPC().

◆ SoundFireWindyNoIgniteStart()

void SoundFireWindyNoIgniteStart ( )
protected
1313 {
1314 PlaySoundSet( m_SoundFire, "ExtinguishByWind_SoundSet", 0, 0 );
1315 }

Перекрестные ссылки m_SoundFire.

Используется в OnRPC().

◆ SpendFireConsumable()

void SpendFireConsumable ( float amount)
protected
1416 {
1417 //spend item
1419
1420 if (!fireConsumable)
1421 {
1422 //Set new item to consume
1424 }
1425
1426 if (fireConsumable)
1427 {
1428 ItemBase item = fireConsumable.GetItem();
1429 fireConsumable.SetRemainingEnergy(fireConsumable.GetRemainingEnergy() - amount);
1430
1431 if (fireConsumable.GetRemainingEnergy() <= 0 || amount == 0)
1432 {
1433 //set ashes
1434 if (!HasAshes())
1435 {
1436 SetAshesState(true);
1437 }
1438
1439 if (item.IsAnyInherited({ItemBook, Paper, GiftWrapPaper, EyeMask_ColorBase}))
1440 {
1442 item.Delete();
1443 }
1444 else
1445 {
1446 //if there is nothing left, delete and remove old consumable, set new fire consumable
1447 if (item.GetQuantity() <= 1)
1448 {
1449 //remove item from fuel items
1451 }
1452 else
1453 {
1454 fireConsumable.SetRemainingEnergy(fireConsumable.GetEnergy());
1455 }
1456
1457 item.AddQuantity(-1);
1459 }
1460 }
1461 }
1462
1464 }
void RemoveFromFireConsumables(FireConsumable fire_consumable)
Definition FireplaceBase.c:1354
FireConsumable GetItemToConsume()
Definition FireplaceBase.c:1406
void SetAshesState(bool has_ashes)
Definition FireplaceBase.c:1584
FireConsumable SetItemToConsume()
Definition FireplaceBase.c:1373

Перекрестные ссылки CalcAndSetQuantity(), GetItemToConsume(), HasAshes(), RemoveFromFireConsumables(), SetAshesState() и SetItemToConsume().

Используется в Heating() и StopFire().

◆ StartCooling()

void StartCooling ( )
protected
1928 {
1929 if (m_HeatingTimer)
1930 {
1931 m_HeatingTimer.Stop();
1933 }
1934
1935 //Start cooling
1937 m_CoolingTimer.Run(TIMER_COOLING_UPDATE_INTERVAL, this, "Cooling", null, true);
1938 }
Definition DayZPlayerImplement.c:63

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, m_CoolingTimer, m_HeatingTimer и TIMER_COOLING_UPDATE_INTERVAL.

Используется в StopFire().

◆ StartFire()

void StartFire ( bool force_start = false)
protected
1698 {
1699 //stop cooling process if active
1700 if (m_CoolingTimer)
1701 {
1702 m_CoolingTimer.Stop();
1704 }
1705
1706 //set under roof flag (was fire ignited under roof?)
1707 if (MiscGameplayFunctions.IsUnderRoof(this))
1708 m_RoofAbove = true;
1709
1710 //start fire
1711 if (!IsBurning() || force_start)
1712 {
1714 SetBurningState(true);
1715 m_UTSource.SetActive(true);
1716 StartHeating();
1717
1718 //Update navmesh
1719 if (!IsFireplaceIndoor())
1720 {
1721 SetAffectPathgraph(false, true);
1722 GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, this);
1723 }
1724 }
1725
1726 Synchronize();
1727 }
void StartHeating()
Definition FireplaceBase.c:1730
void SetBurningState(bool is_burning)
Definition FireplaceBase.c:1572
const int CALL_CATEGORY_SYSTEM
Definition tools.c:8

Перекрестные ссылки CALL_CATEGORY_SYSTEM, GetGame(), IsBurning(), FireplaceBase::IsFireplaceIndoor(), m_CoolingTimer, m_RoofAbove, m_UTSource, SetBurningState(), SetItemToConsume(), StartHeating() и Synchronize().

Используется в AfterStoreLoad() и FireplaceBase::OnIgnitedThis().

◆ StartHeating()

void StartHeating ( )
protected
1731 {
1732 //visual
1733 SetObjectMaterial(0, MATERIAL_FIREPLACE_GLOW);
1734
1735 if (IsWindy() && !IsRoofAbove() && !IsOven() && !IsBarrelWithHoles())
1736 {
1737 StopFire();
1738 return;
1739 }
1740
1742 {
1743 StopFire(FireplaceFireState.EXTINGUISHED_FIRE);
1744 return;
1745 }
1746
1747 //create area damage
1748 if (IsBaseFireplace() && !IsOven())
1750
1752 m_HeatingTimer.Run(TIMER_HEATING_UPDATE_INTERVAL, this, "Heating", null, true);
1753
1754 //Setup the noise parameters on fire start
1755 m_NoisePar = new NoiseParams();
1756 if (IsRoofAbove() || IsOven() || IsFireplaceIndoor()) //If we have a roof, we are probably inside
1757 m_NoisePar.LoadFromPath("CfgVehicles FireplaceBase NoiseFireplaceSpecial");
1758 else
1759 m_NoisePar.LoadFromPath("CfgVehicles FireplaceBase NoiseFireplaceBase");
1760 }
const string MATERIAL_FIREPLACE_GLOW
Definition FireplaceBase.c:185
static bool IsWindy()
Definition FireplaceBase.c:2358
class NoiseSystem NoiseParams()
Definition Noise.c:15

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, FireplaceBase::CreateAreaDamage(), GetWet(), FireplaceBase::IsBarrelWithHoles(), FireplaceBase::IsBaseFireplace(), FireplaceBase::IsFireplaceIndoor(), IsOven(), IsRoofAbove(), IsWindy(), m_HeatingTimer, m_NoisePar, MATERIAL_FIREPLACE_GLOW, NoiseParams(), PARAM_BURN_WET_THRESHOLD, StopFire() и TIMER_HEATING_UPDATE_INTERVAL.

Используется в StartFire().

◆ StopAllParticlesAndSounds()

void StopAllParticlesAndSounds ( )
protected

◆ StopCooling()

void StopCooling ( )
protected
2035 {
2036 //stop all fire visuals
2038 SetObjectMaterial(0, MATERIAL_FIREPLACE_NOGLOW);
2039
2040 //Stop cooling
2041 m_CoolingTimer.Stop();
2043
2044 //destroy area damage
2046
2047 //remove cookware audio visuals
2048 if (GetCookingEquipment())
2049 {
2051 if ( cooking_pot )
2052 cooking_pot.RemoveAudioVisualsOnClient();
2053 }
2054
2056 {
2057 for ( int i = 0; i < DIRECT_COOKING_SLOT_COUNT; i++ )
2058 {
2059 if ( m_DirectCookingSlots[i] )
2060 {
2062 if ( cookingpot )
2063 cookingpot.RemoveAudioVisualsOnClient();
2064
2065 FryingPan fryingpan = FryingPan.Cast( m_DirectCookingSlots[i] );
2066 if ( fryingpan )
2067 fryingpan.RemoveAudioVisualsOnClient();
2068
2070 if ( itsfood )
2071 itsfood.MakeSoundsOnClient( false );
2072 }
2073 }
2074 }
2075 }
ItemBase GetCookingEquipment()
Definition FireplaceBase.c:540
const string MATERIAL_FIREPLACE_NOGLOW
Definition FireplaceBase.c:186
Definition CanisterGasoline.c:2

Перекрестные ссылки DestroyAreaDamage(), DIRECT_COOKING_SLOT_COUNT, DirectCookingSlotsInUse(), GetCookingEquipment(), m_CoolingTimer, m_DirectCookingSlots, MATERIAL_FIREPLACE_NOGLOW и SetFireState().

Используется в Cooling().

◆ StopFire()

void StopFire ( FireplaceFireState fire_state = FireplaceFireState.END_FIRE)
protected
1901 {
1902 StopHeating();
1904 SetBurningState(false);
1905 StartCooling();
1907
1908 //Update navmesh
1909 if (!IsFireplaceIndoor())
1910 {
1911 SetAffectPathgraph(false, false);
1912 GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, this);
1913 }
1914
1915 Synchronize();
1916 }
void StartCooling()
Definition FireplaceBase.c:1927
void StopHeating()
Definition FireplaceBase.c:1918

Перекрестные ссылки CALL_CATEGORY_SYSTEM, GetGame(), FireplaceBase::IsFireplaceIndoor(), SetBurningState(), SetFireState(), SpendFireConsumable(), StartCooling(), StopHeating() и Synchronize().

Используется в Heating(), OnAction() и StartHeating().

◆ StopHeating()

void StopHeating ( )
protected
1919 {
1920 if (!m_HeatingTimer)
1921 return;
1922
1923 m_HeatingTimer.Stop();
1925 }

Перекрестные ссылки m_HeatingTimer.

Используется в StopFire().

◆ StopParticle()

bool StopParticle ( out Particle particle)
protected
1058 {
1059 if ( particle && GetGame() && ( !GetGame().IsDedicatedServer() ) )
1060 {
1061 particle.Stop();
1062 particle = NULL;
1063
1064 return true;
1065 }
1066
1067 return false;
1068 }

Перекрестные ссылки GetGame().

◆ Synchronize()

void Synchronize ( )
protected
460 {
461 if ( GetGame() && GetGame().IsServer() )
462 {
463 SetSynchDirty();
464
465 if ( GetGame().IsMultiplayer() && GetGame().IsServer() )
466 {
467 //Refresh visuals (on server)
469 }
470 }
471 }

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, GetGame() и RefreshFireplaceVisuals().

◆ TransferHeatToNearPlayers()

void TransferHeatToNearPlayers ( )
protected

DEPRECATED.

2312{}

◆ ~FireplaceBase()

void ~FireplaceBase ( )
protected
278 {
280
281 if (GetLightEntity())
282 {
283 GetLightEntity().FadeOut();
284 }
285 }

Перекрестные ссылки DestroyAreaDamage() и GetLightEntity().

Переменные

◆ ANIMATION_ASHES

const string ANIMATION_ASHES = "Ashes"
protected

Используется в RefreshFireplaceVisuals().

◆ ANIMATION_BURNT_WOOD

const string ANIMATION_BURNT_WOOD = "BurntWood"
protected

Используется в RefreshFireplaceVisuals() и SetBurntFirewood().

◆ ANIMATION_CAULDRON_HANDLE

const string ANIMATION_CAULDRON_HANDLE = "handle1Rotate"
protected

◆ ANIMATION_COOKWARE_HANDLE

const string ANIMATION_COOKWARE_HANDLE = "handleRotate"
protected

◆ ANIMATION_INVENTORY

const string ANIMATION_INVENTORY = "Inventory"
protected

◆ ANIMATION_KINDLING

const string ANIMATION_KINDLING = "Kindling"
protected

Используется в RefreshFireplaceVisuals().

◆ ANIMATION_OVEN

const string ANIMATION_OVEN = "Oven"
protected

◆ ANIMATION_STICKS

const string ANIMATION_STICKS = "Sticks"
protected

Используется в RefreshFireplaceVisuals().

◆ ANIMATION_STONE

const string ANIMATION_STONE = "Stone"
protected

Используется в RefreshFireplaceVisuals().

◆ ANIMATION_STONES

const string ANIMATION_STONES = "StonesCircle"
protected

Используется в RefreshFireplaceVisuals().

◆ ANIMATION_TRIPOD

const string ANIMATION_TRIPOD = "Tripod"
protected

Используется в FireplaceBase::RefreshPhysics().

◆ ANIMATION_WOOD

const string ANIMATION_WOOD = "Wood"
protected

Используется в RefreshFireplaceVisuals() и SetBurntFirewood().

◆ ATTACHMENT_BANDAGE

ATTACHMENT_BANDAGE = BandageDressing
protected

Используется в FireplaceBase().

◆ ATTACHMENT_BARK_BIRCH

ATTACHMENT_BARK_BIRCH = Bark_Birch
protected

Используется в FireplaceBase().

◆ ATTACHMENT_BARK_OAK

ATTACHMENT_BARK_OAK = Bark_Oak
protected

Используется в FireplaceBase().

◆ ATTACHMENT_BOOK

ATTACHMENT_BOOK = ItemBook
protected

Используется в FireplaceBase().

◆ ATTACHMENT_CAULDRON

◆ ATTACHMENT_COOKING_POT

◆ ATTACHMENT_COOKINGSTAND

ATTACHMENT_COOKINGSTAND = CookingStand
protected

Используется в AddDamageToItemByFireEx() и OnAttachmentRuined().

◆ ATTACHMENT_EYEMASK_COLORBASE

ATTACHMENT_EYEMASK_COLORBASE = EyeMask_ColorBase
protected

Используется в FireplaceBase().

◆ ATTACHMENT_FIREWOOD

ATTACHMENT_FIREWOOD = Firewood
protected

Используется в FireplaceBase() и RefreshFireplaceVisuals().

◆ ATTACHMENT_FRYING_PAN

◆ ATTACHMENT_GIFTWRAP

ATTACHMENT_GIFTWRAP = GiftWrapPaper
protected

Используется в FireplaceBase().

◆ ATTACHMENT_PAPER

ATTACHMENT_PAPER = Paper
protected

Используется в FireplaceBase().

◆ ATTACHMENT_PUNCHEDCARD

ATTACHMENT_PUNCHEDCARD = PunchedCard
protected

Используется в FireplaceBase().

◆ ATTACHMENT_RAGS

ATTACHMENT_RAGS = Rag
protected

Используется в FireplaceBase().

◆ ATTACHMENT_STICKS

ATTACHMENT_STICKS = WoodenStick
protected

Используется в FireplaceBase() и RefreshFireplaceVisuals().

◆ ATTACHMENT_STONES

◆ ATTACHMENT_TRIPOD

◆ DIRECT_COOKING_SLOT_COUNT

const int DIRECT_COOKING_SLOT_COUNT = 3
protected

direct cooking slots

update interval duration of cooling process (seconds)

Используется в Cooling(), DirectCookingSlotsInUse(), Heating() и StopCooling().

◆ DIRECT_COOKING_SPEED

const float DIRECT_COOKING_SPEED = 1.5
protected

◆ FUEL_BURN_RATE_DEFAULT

const float FUEL_BURN_RATE_DEFAULT = 1.0
protected

Используется в FireplaceBase() и RefreshFireplaceVisuals().

◆ FUEL_BURN_RATE_OVEN

const float FUEL_BURN_RATE_OVEN = 0.85
protected

Используется в RefreshFireplaceVisuals().

◆ FUEL_BURN_RATE_STONES

const float FUEL_BURN_RATE_STONES = 0.92
protected

Используется в RefreshFireplaceVisuals().

◆ IGNITE_WIND_THRESHOLD

const float IGNITE_WIND_THRESHOLD = 0.8
protected

◆ LIFETIME_FIREPLACE_STONE_CIRCLE

const int LIFETIME_FIREPLACE_STONE_CIRCLE = 172800
protected

◆ LIFETIME_FIREPLACE_STONE_OVEN

const int LIFETIME_FIREPLACE_STONE_OVEN = 604800
protected

◆ m_AreaDamage

◆ m_CanNoise

bool m_CanNoise = true
private

Используется в Heating().

◆ m_ClutterCutter

◆ m_CookingEquipment

◆ m_CookingProcess

ref Cooking m_CookingProcess
protected

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

Используется в ClearCookingEquipment(), ItemBase::ClearCookingEquipment(), CookOnDirectSlot(), CookWithEquipment(), ItemBase::CookWithEquipment(), GetCookingProcess(), ItemBase::OnSwitchOff() и SmokeOnSmokingSlot().

◆ m_CoolingTimer

ref Timer m_CoolingTimer
protected

◆ m_DirectCookingSlots

◆ m_FireConsumables

◆ m_FireConsumableTypes

ref map<typename, ref FireConsumableType> m_FireConsumableTypes
staticprotected

◆ m_FireState

Используется в GetFireState() и SetFireState().

◆ m_FuelBurnRateMP

float m_FuelBurnRateMP = 1.0
protected

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

Используется в GetFuelBurnRateMP(), OnStoreLoad(), OnStoreSave() и SetFuelBurnRateMP().

◆ m_HalfExtents

vector m_HalfExtents
protected

◆ m_HasAshes

bool m_HasAshes = false
protected

Используется в HasAshes(), OnStoreLoad(), OnStoreSave() и SetAshesState().

◆ m_HasStoneCircle

bool m_HasStoneCircle = false
protected

◆ m_HeatingTimer

ref Timer m_HeatingTimer
protected

◆ m_IsBurning

◆ m_IsOven

bool m_IsOven = false
protected

◆ m_ItemToConsume

ref FireConsumable m_ItemToConsume
protected

Используется в GetItemToConsume() и SetItemToConsume().

◆ m_LastFireState

FireplaceFireState m_LastFireState = FireplaceFireState.NO_FIRE
protected

Используется в RefreshFireParticlesAndSounds().

◆ m_Light

FireplaceLight m_Light
protected

◆ m_LightDistance

◆ m_NoIgnite

bool m_NoIgnite = false
protected

Используется в GetIgniteFailure() и SetIgniteFailure().

◆ m_NoisePar

ref NoiseParams m_NoisePar
protected

◆ m_OvenAttachmentsLockState

int m_OvenAttachmentsLockState = -1
protected

Используется в LockOvenAttachments() и RefreshFireplaceVisuals().

◆ m_ParticleFireEnd

◆ m_ParticleFireStart

Particle m_ParticleFireStart
protected

◆ m_ParticleNormalFire

Particle m_ParticleNormalFire
protected

◆ m_ParticleNormalSmoke

◆ m_ParticleSmallFire

Particle m_ParticleSmallFire
protected

◆ m_ParticleSmallSmoke

◆ m_ParticleSteamEnd

◆ m_ParticleSteamExtinguishing

Particle m_ParticleSteamExtinguishing
protected

◆ m_RoofAbove

◆ m_SmokingSlots

◆ m_SoundFire

◆ m_SoundFireLoop

◆ m_TemperatureLossMP

float m_TemperatureLossMP = 1.0
protected

◆ m_TotalEnergy

float m_TotalEnergy
protected

Используется в CalcAndSetQuantity() и CalcAndSetTotalEnergy().

◆ m_UTSLFireplace

Используется в AddWetnessToFireplace(), Cooling(), EEInit() и Heating().

◆ m_UTSource

◆ m_UTSSettings

◆ MATERIAL_FIREPLACE_GLOW

const string MATERIAL_FIREPLACE_GLOW = "dz\\gear\\cooking\\data\\stoneground.rvmat"
protected

Используется в StartHeating().

◆ MATERIAL_FIREPLACE_NOGLOW

const string MATERIAL_FIREPLACE_NOGLOW = "dz\\gear\\cooking\\data\\stonegroundnoemit.rvmat"
protected

Используется в StopCooling().

◆ MAX_TEMPERATURE_TO_DISMANTLE_OVEN

const int MAX_TEMPERATURE_TO_DISMANTLE_OVEN = 40
protected

minimum amount of stones for oven

Используется в CanDismantleOven().

◆ MESSAGE_BURY_ASHES_FAILED_BURNING

const string MESSAGE_BURY_ASHES_FAILED_BURNING = "Cannot bury ashes, the fireplace is still burning."
protected

◆ MESSAGE_BURY_ASHES_FAILED_NOT_EMPTY

const string MESSAGE_BURY_ASHES_FAILED_NOT_EMPTY = "Cannot bury ashes. There are sill items in it."
protected

◆ MESSAGE_BURY_ASHES_FAILED_SURFACE

const string MESSAGE_BURY_ASHES_FAILED_SURFACE = "Cannot bury ashes on hard surface."
protected

◆ MESSAGE_BURY_ASHES_FAILED_TOO_HOT

const string MESSAGE_BURY_ASHES_FAILED_TOO_HOT = "Cannot bury ashes, the fireplace is too hot."
protected

◆ MESSAGE_CANNOT_BUILD_OVEN

const string MESSAGE_CANNOT_BUILD_OVEN = "Cannot build oven."
protected

◆ MESSAGE_CANNOT_DISMANTLE_OVEN

const string MESSAGE_CANNOT_DISMANTLE_OVEN = "Cannot dismantle oven."
protected

◆ MESSAGE_IGNITE_IGNIT_ITEM_DAMAGED

const string MESSAGE_IGNITE_IGNIT_ITEM_DAMAGED = "You cannot start fire. Fireplace is ruined."
protected

◆ MESSAGE_IGNITE_IN_WATER

const string MESSAGE_IGNITE_IN_WATER = "I cannot ignite the fireplace in the water."
protected

◆ MESSAGE_IGNITE_NO_KINDLING

const string MESSAGE_IGNITE_NO_KINDLING = "There needs to be some kindling to start a fire."
protected

◆ MESSAGE_IGNITE_RAIN

const string MESSAGE_IGNITE_RAIN = "The fire went out because of the rain."
protected

◆ MESSAGE_IGNITE_TOO_WET

const string MESSAGE_IGNITE_TOO_WET = "The fireplace is too wet to be ignited."
protected

◆ MESSAGE_IGNITE_UNDER_LOW_ROOF

const string MESSAGE_IGNITE_UNDER_LOW_ROOF = "I cannot ignite the fireplace here, the is not enough room."
protected

◆ MESSAGE_IGNITE_WIND

const string MESSAGE_IGNITE_WIND = "The fire went out because of the wind."
protected

◆ MESSAGE_REIGNITE_NO_KINDLING

const string MESSAGE_REIGNITE_NO_KINDLING = "There needs to be some kindling to start a fire."
protected

◆ MESSAGE_REIGNITE_RAIN

const string MESSAGE_REIGNITE_RAIN = "Cannot reignite fireplace in rain."
protected

◆ MESSAGE_REIGNITE_TOO_WET

const string MESSAGE_REIGNITE_TOO_WET = "The fireplace is too wet to be reignited."
protected

◆ MIN_CEILING_HEIGHT

const float MIN_CEILING_HEIGHT = 5
protected

maximum temperature for dismantling oven

Используется в GetCeilingHeight().

◆ MIN_STONES_TO_BUILD_CIRCLE

const int MIN_STONES_TO_BUILD_CIRCLE = 8
protected

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

Используется в CanBuildStoneCircle().

◆ MIN_STONES_TO_BUILD_OVEN

const int MIN_STONES_TO_BUILD_OVEN = 16
protected

minimum amount of stones for circle

Используется в CanBuildOven().

◆ OBJECT_CLUTTER_CUTTER

const string OBJECT_CLUTTER_CUTTER = "ClutterCutterFireplace"
protected

◆ PARAM_BURN_DAMAGE_COEF

const float PARAM_BURN_DAMAGE_COEF = 5.0
protected

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

◆ PARAM_BURN_WET_THRESHOLD

const float PARAM_BURN_WET_THRESHOLD = 0.40
protected

maximum rain value when the fireplace can be ignited

Используется в Heating() и StartHeating().

◆ PARAM_COOKING_EQUIP_MAX_TEMP

const float PARAM_COOKING_EQUIP_MAX_TEMP = 250
protected

temperature threshold for starting coooking process (degree Celsius)

Используется в CookOnDirectSlot(), Heating() и ItemBase::OnWork().

◆ PARAM_COOKING_EQUIP_TEMP_INCREASE

const float PARAM_COOKING_EQUIP_TEMP_INCREASE = 10
protected

maximum temperature of attached cooking equipment (degree Celsius)

Используется в CookOnDirectSlot(), Heating() и ItemBase::OnWork().

◆ PARAM_COOKING_TEMP_THRESHOLD

const float PARAM_COOKING_TEMP_THRESHOLD = 100
protected

cooking

Используется в CanCookOnStick(), Cooling(), Heating() и ItemBase::OnWork().

◆ PARAM_FIRE_CONSUM_RATE_AMOUNT

const float PARAM_FIRE_CONSUM_RATE_AMOUNT = 0.5
protected

value for calculating wetness loss during cooling process

Используется в Heating().

◆ PARAM_FULL_HEAT_RADIUS

const float PARAM_FULL_HEAT_RADIUS = 2.0
protected

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

Используется в BuildingSuper::EEInit() и EEInit().

◆ PARAM_HEAT_RADIUS

const float PARAM_HEAT_RADIUS = 4.0
protected

radius in which objects are fully heated by fire

Используется в BuildingSuper::EEInit() и EEInit().

◆ PARAM_HEAT_THROUGH_AIR_COEF

const float PARAM_HEAT_THROUGH_AIR_COEF = 0.1
protected

radius in which objects are heated by fire

◆ PARAM_IGNITE_RAIN_THRESHOLD

const float PARAM_IGNITE_RAIN_THRESHOLD = 0.1
protected

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

◆ PARAM_ITEM_HEAT_MIN_TEMP

const float PARAM_ITEM_HEAT_MIN_TEMP = 40
protected

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

Используется в AddDamageToItemByFireEx(), AddTemperatureToItemByFire(), CookOnDirectSlot() и Heating().

◆ PARAM_ITEM_HEAT_TEMP_INCREASE_COEF

const float PARAM_ITEM_HEAT_TEMP_INCREASE_COEF = 10
protected

value for calculating damage on items located in fireplace cargo

Используется в AddTemperatureToItemByFire().

◆ PARAM_MAX_ITEM_HEAT_TEMP_INCREASE

const float PARAM_MAX_ITEM_HEAT_TEMP_INCREASE = 200
protected

minimum temperature for items that can be heated in fireplace cargo or as attachments (degree Celsius)

Используется в AddTemperatureToItemByFire().

◆ PARAM_MAX_TRANSFERED_TEMPERATURE

const float PARAM_MAX_TRANSFERED_TEMPERATURE = 25
protected

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

Используется в BuildingSuper::EEInit() и EEInit().

◆ PARAM_MAX_WET_TO_IGNITE

const float PARAM_MAX_WET_TO_IGNITE = 0.2
protected

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

◆ PARAM_MIN_FIRE_TEMPERATURE

const float PARAM_MIN_FIRE_TEMPERATURE = 30
protected

maximum fireplace temperature of a normal fire (degree Celsius)

Используется в AddWetnessToFireplace() и RefreshFireState().

◆ PARAM_MIN_TEMP_TO_REIGNITE

const float PARAM_MIN_TEMP_TO_REIGNITE = 30
protected

maximum wetness value when the fireplace can be ignited

◆ PARAM_NORMAL_FIRE_TEMPERATURE

const float PARAM_NORMAL_FIRE_TEMPERATURE = 1000
protected

maximum fireplace temperature of a small fire (degree Celsius)

Используется в AddWetnessToFireplace() и EEInit().

◆ PARAM_SMALL_FIRE_TEMPERATURE

const float PARAM_SMALL_FIRE_TEMPERATURE = 150
protected

Используется в CookOnDirectSlot(), EEInit(), Heating() и RefreshFireState().

◆ PARAM_TEMPERATURE_DECREASE

const float PARAM_TEMPERATURE_DECREASE = 3
protected

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

Используется в Cooling().

◆ PARAM_TEMPERATURE_INCREASE

const float PARAM_TEMPERATURE_INCREASE = 3
protected

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

Используется в Heating().

◆ PARAM_WET_COOLING_DECREASE_COEF

const float PARAM_WET_COOLING_DECREASE_COEF = 0.002
protected

value for calculating wetness loss during heating process

Используется в Cooling().

◆ PARAM_WET_HEATING_DECREASE_COEF

const float PARAM_WET_HEATING_DECREASE_COEF = 0.01
protected

value for calculating of wetness that fireplace gain when raining

Используется в BurnItemsInFireplace() и Heating().

◆ PARAM_WET_INCREASE_COEF

const float PARAM_WET_INCREASE_COEF = 0.02
protected

maximum wetness value when the fireplace is able to burn

Используется в Cooling() и Heating().

◆ PARTICLE_FIRE_END

◆ PARTICLE_FIRE_START

◆ PARTICLE_NO_IGNITE_WIND

int PARTICLE_NO_IGNITE_WIND = ParticleList.CAMP_NO_IGNITE_WIND
protected

Используется в ParticleFireWindyNoIgniteStart().

◆ PARTICLE_NORMAL_FIRE

◆ PARTICLE_NORMAL_SMOKE

◆ PARTICLE_OVEN_FIRE

int PARTICLE_OVEN_FIRE = ParticleList.CAMP_STOVE_FIRE
protected

Используется в ParticleNormalFireStart() и ParticleSmallFireStart().

◆ PARTICLE_OVEN_FIRE_END

int PARTICLE_OVEN_FIRE_END = ParticleList.CAMP_STOVE_FIRE_END
protected

◆ PARTICLE_OVEN_FIRE_START

int PARTICLE_OVEN_FIRE_START = ParticleList.CAMP_STOVE_FIRE_START
protected

Используется в ParticleFireStartStart().

◆ PARTICLE_SMALL_FIRE

◆ PARTICLE_SMALL_SMOKE

◆ PARTICLE_STEAM_END

◆ PARTICLE_STEAM_EXTINGUISHING

int PARTICLE_STEAM_EXTINGUISHING = ParticleList.CAMP_STEAM_EXTINGUISH_START
protected

Используется в ParticleSteamExtinguishingStart().

◆ SMOKING_SLOT_COUNT

const int SMOKING_SLOT_COUNT = 4
protected

Используется в Cooling(), Heating() и SmokingSlotsInUse().

◆ SMOKING_SPEED

const float SMOKING_SPEED = 1
protected

◆ SOUND_FIRE_EXTINGUISHED

const string SOUND_FIRE_EXTINGUISHED = "ExtinguishByWaterEnd_SoundSet"
protected

◆ SOUND_FIRE_EXTINGUISHING

const string SOUND_FIRE_EXTINGUISHING = "ExtinguishByWater_SoundSet"
protected

Используется в SoundFireExtinguishingStart().

◆ SOUND_FIRE_HEAVY

const string SOUND_FIRE_HEAVY = "HeavyFire_SoundSet"
protected

Используется в SoundFireHeavyStart().

◆ SOUND_FIRE_LIGHT

const string SOUND_FIRE_LIGHT = "LightFire_SoundSet"
protected

Используется в SoundFireLightStart().

◆ SOUND_FIRE_NO_FIRE

const string SOUND_FIRE_NO_FIRE = "NoFuelFire_SoundSet"
protected

Используется в SoundFireNoFireStart().

◆ TEMPERATURE_LOSS_MP_DEFAULT

const float TEMPERATURE_LOSS_MP_DEFAULT = 1.0
protected

min height of ceiling for fire to be ignited

Используется в FireplaceBase() и RefreshFireplaceVisuals().

◆ TEMPERATURE_LOSS_MP_OVEN

const float TEMPERATURE_LOSS_MP_OVEN = 0.75
protected

Используется в RefreshFireplaceVisuals().

◆ TEMPERATURE_LOSS_MP_STONES

const float TEMPERATURE_LOSS_MP_STONES = 0.90
protected

Используется в RefreshFireplaceVisuals().

◆ TIMER_COOLING_UPDATE_INTERVAL

const int TIMER_COOLING_UPDATE_INTERVAL = 2
protected

update interval duration of heating process (seconds)

Используется в AddDamageToItemByFireEx(), Cooling() и StartCooling().

◆ TIMER_HEATING_UPDATE_INTERVAL

const int TIMER_HEATING_UPDATE_INTERVAL = 3
protected

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

Используется в AddDamageToItemByFireEx(), BuildingSuper::EEInit(), Heating() и StartHeating().

◆ WET

◆ WIND