|
Dayz Explorer
1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
|
Go to the documentation of this file.
235 if (!m_FireConsumableTypes)
264 RegisterNetSyncVariableBool(
"m_IsBurning" );
265 RegisterNetSyncVariableBool(
"m_HasAshes" );
266 RegisterNetSyncVariableBool(
"m_IsOven" );
267 RegisterNetSyncVariableBool(
"m_HasStoneCircle" );
268 RegisterNetSyncVariableBool(
"m_RoofAbove" );
270 RegisterNetSyncVariableBool(
"m_IsSoundSynchRemote" );
271 RegisterNetSyncVariableBool(
"m_IsPlaceSound" );
272 RegisterNetSyncVariableBool(
"m_NoIgnite" );
313 override void EEItemAttached(
EntityAI item,
string slot_name)
315 super.EEItemAttached(item, slot_name);
323 SetCookingEquipment(
ItemBase.Cast(item));
330 super.OnItemLocationChanged(old_owner, new_owner);
338 switch (attachment.Type())
342 int slot =
InventorySlots.GetSlotIdFromString(
"CookingEquipment");
343 EntityAI ent = GetInventory().FindAttachment(slot);
351 vector direction = ent.GetDirection();
354 float angle =
Math.Acos(dot);
355 if (direction[0] < 0)
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);
374 super.EEDelete(parent);
387 super.OnStoreSave(ctx);
404 if ( !super.OnStoreLoad(ctx, version) )
440 override void AfterStoreLoad()
442 super.AfterStoreLoad();
473 override void OnVariablesSynchronized()
475 super.OnVariablesSynchronized();
485 if (IsBaseFireplace() && !
IsOven())
509 bool IsBaseFireplace()
514 bool IsBarrelWithHoles()
519 bool IsFireplaceIndoor()
557 SetCookingEquipment(
null);
563 SetCookingEquipment(
null);
596 override bool IsPrepareToDelete()
603 super.EECargoOut(item);
643 if (
vector.DistanceSq(player.GetPosition(),
this.GetPosition()) > lightDist * lightDist)
649 GetLightEntity().FadeBrightnessTo(FireplaceLight.m_FireplaceBrightness, 5);
675 if (IsBarrelWithHoles() || IsFireplaceIndoor() || IsIndoorOven() ||
IsOven())
793 void RefreshFireplacePhysics();
801 switch ( fire_state )
820 if ( CanShowSmoke() )
821 ParticleSmallSmokeStart();
845 if ( CanShowSmoke() )
846 ParticleNormalSmokeStart();
910 if ( CanShowSmoke() )
1039 if ( !particle &&
GetGame() && ( !
GetGame().IsDedicatedServer() ) )
1043 particle =
ParticleManager.GetInstance().PlayOnObject( particle_type,
this, pos );
1047 particle =
ParticleManager.GetInstance().PlayInWorld( particle_type, pos );
1059 if ( particle &&
GetGame() && ( !
GetGame().IsDedicatedServer() ) )
1125 protected void ParticleSmallSmokeStart()
1130 float actual_height;
1151 protected void ParticleNormalSmokeStart()
1156 float actual_height;
1242 from[1] = from[1] + 1.0;
1246 int contactComponent;
1248 bool hit =
DayZPhysics.RaycastRV( from, to, contactPos, contactDir, contactComponent, NULL, NULL,
this );
1249 actual_height =
vector.Distance( from, contactPos ) + 1.0;
1257 actual_height =
Math.Clamp( actual_height, 0, 36 );
1259 air_res = ( 6 - actual_height ) * 0.33;
1260 air_res =
Math.Clamp( air_res, 0, 2 );
1269 return Vector( 0, 0.05, 0 );
1274 return Vector( 0, 0.05, 0 );
1314 PlaySoundSet(
m_SoundFire,
"ExtinguishByWind_SoundSet", 0, 0 );
1336 if (!fireConsumableType)
1339 int count = m_FireConsumableTypes.Count();
1340 for (
int i = 0; i < count; ++i)
1342 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1343 fireConsumableType = m_FireConsumableTypes.GetElement(i);
1347 if (fireConsumableType)
1348 return fireConsumableType.GetEnergy();
1356 if (fire_consumable)
1359 delete fire_consumable;
1420 if (!fireConsumable)
1428 ItemBase item = fireConsumable.GetItem();
1429 fireConsumable.SetRemainingEnergy(fireConsumable.GetRemainingEnergy() - amount);
1431 if (fireConsumable.GetRemainingEnergy() <= 0 || amount == 0)
1439 if (item.IsAnyInherited({ItemBook, Paper, GiftWrapPaper, EyeMask_ColorBase}))
1447 if (item.GetQuantity() <= 1)
1454 fireConsumable.SetRemainingEnergy(fireConsumable.GetEnergy());
1457 item.AddQuantity(-1);
1469 int attachmentsCount = GetInventory().AttachmentCount();
1470 int kindlingCount = 0;
1472 for (
int i = 0; i < attachmentsCount; ++i)
1480 return kindlingCount;
1486 int attachmentsCount = GetInventory().AttachmentCount();
1489 for (
int i = 0; i < attachmentsCount; ++i)
1503 if (!fireConsumableType)
1506 int count = m_FireConsumableTypes.Count();
1507 for (
int i = 0; i < count; ++i)
1509 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1510 fireConsumableType = m_FireConsumableTypes.GetElement(i);
1514 return fireConsumableType && fireConsumableType.IsKindling();
1521 if (!fireConsumableType)
1524 int count = m_FireConsumableTypes.Count();
1525 for (
int i = 0; i < count; ++i)
1527 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1528 fireConsumableType = m_FireConsumableTypes.GetElement(i);
1532 return fireConsumableType && !fireConsumableType.IsKindling();
1538 return GetAttachmentByType(item_type) !=
null;
1546 return item.GetQuantity() >= quantity;
1552 return GetInventory().AttachmentCount() == 1;
1608 return attached_item && attached_item.GetQuantity() > 0;
1628 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(
"Stones") , is_oven);
1639 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(
"Stones") , has_stonecircle);
1707 if (MiscGameplayFunctions.IsUnderRoof(
this))
1719 if (!IsFireplaceIndoor())
1721 SetAffectPathgraph(
false,
true);
1748 if (IsBaseFireplace() && !
IsOven())
1757 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceSpecial");
1759 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceBase");
1766 float temperature_modifier = 0;
1788 float rain =
GetGame().GetWeather().GetRain().GetActual();
1850 float cook_item_temp;
1909 if (!IsFireplaceIndoor())
1911 SetAffectPathgraph(
false,
false);
1942 float wetness =
GetWet();
1944 float temperature_modifier = 0;
1950 float rain =
GetGame().GetWeather().GetRain().GetActual();
1988 float cook_item_temp;
2026 if (
Math.AbsFloat(temperature) < 10)
2052 cooking_pot.RemoveAudioVisualsOnClient();
2063 cookingpot.RemoveAudioVisualsOnClient();
2067 fryingpan.RemoveAudioVisualsOnClient();
2071 itsfood.MakeSoundsOnClient(
false );
2109 switch (slot_item.Type())
2123 slot_item.SetTemperature(cookEquipTemp);
2150 CargoBase cargo = GetInventory().GetCargo();
2151 for (
int i = 0; i < cargo.GetItemCount(); i++)
2158 if (item.GetHealth(
"",
"Health") <= 0 && !item.IsKindOf(
"Grenade_Base"))
2171 for (
int j = 0; j < GetInventory().AttachmentCount(); ++j)
2173 ItemBase attachment =
ItemBase.Cast(GetInventory().GetAttachmentFromIndex(j));
2193 item.SetTemperature(temperature);
2220 for (
int i = 0; i < itemInventory.AttachmentCount(); ++i)
2230 float timerCoef = 1.0;
2240 switch (item.Type())
2247 item.DecreaseHealth(
GameConstants.FIRE_ATTACHMENT_DAMAGE_PER_SECOND * timerCoef,
false);
2254 if (item.GetHealthLevel() <
GameConstants.STATE_BADLY_DAMAGED)
2261 if (item.CanBeCooked() && item.GetHealthLevel() >=
GameConstants.STATE_BADLY_DAMAGED)
2274 if ( item.CanBeCooked() & item.GetHealthLevel() >=
GameConstants.STATE_BADLY_DAMAGED )
2284 float wetness = item.GetWet();
2285 wetness = wetness + amount;
2286 wetness =
Math.Clamp(wetness, 0, 1);
2287 item.SetWet(wetness);
2294 float wetness =
GetWet();
2295 wetness = wetness + amount;
2296 wetness =
Math.Clamp(wetness, 0, 1);
2303 temperature = temperature * ( 1 - ( wetness * 0.5 ) );
2315 void CreateAreaDamage()
2323 m_AreaDamage.SetExtents(
"-0.30 0 -0.30",
"0.30 0.75 0.30");
2326 m_AreaDamage.SetHitZones( {
"Head",
"Torso",
"LeftHand",
"LeftLeg",
"LeftFoot",
"RightHand",
"RightLeg",
"RightFoot" } );
2358 static bool IsWindy()
2361 float wind_speed =
GetGame().GetWeather().GetWindSpeed();
2362 float wind_speed_threshold =
GetGame().GetWeather().GetWindMaximumSpeed() *
FireplaceBase.IGNITE_WIND_THRESHOLD;
2364 return ( wind_speed >= wind_speed_threshold );
2378 static bool IsEntityWet( notnull
EntityAI entity_ai )
2380 return ( entity_ai.GetWet() >=
FireplaceBase.PARAM_MAX_WET_TO_IGNITE );
2395 override bool IsOpen()
2403 return !MiscGameplayFunctions.IsUnderRoof(
this,
FireplaceBase.MIN_CEILING_HEIGHT );
2407 static bool IsRainingAboveEntity( notnull
EntityAI entity_ai )
2418 static bool IsEntityOnWaterSurface(notnull
EntityAI entity_ai)
2420 vector fireplacePosition = entity_ai.GetPosition();
2422 g_Game.SurfaceGetType3D(fireplacePosition[0], fireplacePosition[1] +
g_Game.SurfaceGetSeaLevel(), fireplacePosition[2], surfaceType);
2425 float waterLevelDiff = fireplacePosition[1] -
g_Game.SurfaceGetSeaLevel();
2426 return waterLevelDiff < 0.5;
2428 else if (surfaceType.Contains(
"water"))
2441 static bool IsEntityOnInteriorSurface(notnull
EntityAI entity_ai)
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);
2456 return ( GetInventory().GetCargo().GetItemCount() == 0 && GetInventory().AttachmentCount() == 0 );
2462 return ( GetInventory().GetCargo().GetItemCount() == 0 );
2467 return GetInventory().FindAttachment(
InventorySlots.GetSlotIdFromString(
"CookingTripod")) !=
null;
2473 return GetAnimationPhase(anim_phase) == 0;
2479 if (
GetGame().IsBoxCollidingGeometry(GetWorldPosition() +
Vector(0, size[1] * 0.5 + 0.1, 0), GetDirection().VectorToAngles(), size, ObjIntersect.View, ObjIntersect.Geom, {this}, objs))
2481 foreach (
Object obj : objs)
2493 if (!otherDestination || otherDestination.GetParent() ==
this)
2508 const float size = 0.6;
2534 bool CanCookOnStick()
2540 bool CanExtinguishFire()
2561 super.OnPlacementComplete( player, position, orientation );
2567 cc_object.SetOrientation( orientation );
2574 override string GetPlaceSoundset()
2576 return "placeFireplace_SoundSet";
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))
2598 if (
GetGame().ConfigIsExisting(stackMaxConfigPath))
2600 float stackMax =
GetGame().ConfigGetFloat(stackMaxConfigPath);
2626 float remainingEnergy;
2630 float quantity = fireConsumable.GetItem().GetQuantity();
2633 remainingEnergy += ((quantity - 1) * fireConsumable.GetEnergy()) + fireConsumable.GetRemainingEnergy();
2638 remainingEnergy += fireConsumable.GetRemainingEnergy();
2649 super.OnAttachmentQuantityChanged(item);
2654 override bool CanReleaseAttachment(
EntityAI attachment)
2656 if (!super.CanReleaseAttachment(attachment))
2672 string path_cooking_equipment =
string.Format(
"%1 %2 GUIInventoryAttachmentsProps CookingEquipment attachmentSlots",
CFG_VEHICLESPATH,
GetType());
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) )
2679 GetGame().ConfigGetTextArray(path_cooking_equipment,arr_cooking_equipment);
2680 GetGame().ConfigGetTextArray(path_direct_cooking,arr_direct_cooking);
2681 for (
int i = 0; i < arr_cooking_equipment.Count(); i++ )
2683 if ( lock != GetInventory().GetSlotLock(
InventorySlots.GetSlotIdFromString(arr_cooking_equipment[i])) )
2685 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(arr_cooking_equipment[i]),lock);
2690 for ( i = 0; i < arr_direct_cooking.Count(); i++ )
2692 if ( lock == GetInventory().GetSlotLock(
InventorySlots.GetSlotIdFromString(arr_direct_cooking[i])) )
2694 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(arr_direct_cooking[i]),!lock);
2708 super.OnRPC( sender, rpc_type, ctx );
2710 ref Param1<bool> p =
new Param1<bool>(
false);
2714 bool failure = p.param1;
2719 case FirePlaceFailure.WIND:
2730 case FirePlaceFailure.WET:
2749 override void OnDebugSpawn()
2751 ItemBase firewood =
ItemBase.Cast(GetInventory().CreateInInventory(
"Firewood"));
2752 firewood.SetQuantity(firewood.GetQuantityMax());
2754 ItemBase sticks =
ItemBase.Cast(GetInventory().CreateInInventory(
"WoodenStick"));
2755 sticks.SetQuantity(sticks.GetQuantityMax());
2758 stone.SetQuantity(stone.GetQuantityMax());
2760 GetInventory().CreateInInventory(
"Rag");
2762 SpawnEntityOnGroundPos(
"PetrolLighter",
GetPosition());
2771 super.GetDebugActions(outputList);
2776 if (super.OnAction(action_id, player, ctx))
2780 if (action_id ==
EActions.ACTIVATE_ENTITY)
2782 OnIgnitedThis(
null);
2784 else if (action_id ==
EActions.DEACTIVATE_ENTITY)
protected void RefreshFireParticlesAndSounds(bool force_refresh)
const float PARAM_TEMPERATURE_INCREASE
minimum fireplace temperature under which the fireplace is inactive (degree Celsius)
const string MESSAGE_BURY_ASHES_FAILED_TOO_HOT
proto native CGame GetGame()
Cooking GetCookingProcess()
protected void ParticleSteamEndStart()
protected void SoundFireExtinguishingStart()
protected ref UniversalTemperatureSource m_UTSource
protected void SetTemperatureLossMP(float value)
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...
const float PARAM_SMALL_FIRE_TEMPERATURE
const string SOUND_FIRE_NO_FIRE
const string MESSAGE_CANNOT_DISMANTLE_OVEN
protected void ParticleSmallSmokeStop()
protected void SoundFireNoFireStart()
protected bool PlayParticle(out Particle particle, int particle_type, vector pos, bool worldpos=false)
protected void ParticleWetNoIgniteStart()
proto native int dBodyGetInteractionLayer(notnull IEntity ent)
protected EffectSound m_SoundFire
protected int PARTICLE_OVEN_FIRE_END
protected void SoundFireExtinguishedStart()
const string MESSAGE_CANNOT_BUILD_OVEN
const float PARAM_IGNITE_RAIN_THRESHOLD
minimum fireplace temperature under which the fireplace can be reignited using air only (degree Celsi...
protected void CookOnDirectSlot(ItemBase slot_item, float temp_equip, float temp_ext)
protected Particle m_ParticleFireEnd
protected ref Cooking m_CookingProcess
determines how fast will the fuel item burn before spending (lower is better)
protected float m_TemperatureLossMP
protected void AddDamageToItemByFire(ItemBase item, bool can_be_ruined)
const string MESSAGE_IGNITE_WIND
const string SOUND_FIRE_EXTINGUISHED
Legacy way of using particles in the game.
const float PARAM_WET_COOLING_DECREASE_COEF
value for calculating wetness loss during heating process
const float MIN_CEILING_HEIGHT
maximum temperature for dismantling oven
const string MESSAGE_IGNITE_IN_WATER
protected ref UniversalTemperatureSourceLambdaFireplace m_UTSLFireplace
override bool IsFireplace()
provides access to slot configuration
override bool CanHaveTemperature()
protected void ParticleWetNoIgniteStop()
protected int m_OvenAttachmentsLockState
protected void ParticleFireStartStop()
const float DIRECT_COOKING_SPEED
int GetAttachedStonesCount()
void ClearCookingEquipment(ItemBase pItem)
const string SOUND_FIRE_EXTINGUISHING
protected void AddToFireConsumables(ItemBase item)
protected void ParticleSteamEndStop()
override void OnAttachmentRuined(EntityAI attachment)
const string ANIMATION_INVENTORY
const int MAX_TEMPERATURE_TO_DISMANTLE_OVEN
minimum amount of stones for oven
protected Particle m_ParticleSmallFire
protected FireplaceFireState m_FireState
protected ItemBase m_DirectCookingSlots[DIRECT_COOKING_SLOT_COUNT]
protected void StartHeating()
void SetLightEntity(FireplaceLight light)
protected void SetAshesState(bool has_ashes)
protected void BurnItemsInFireplace()
protected int PARTICLE_NORMAL_SMOKE
protected int PARTICLE_SMALL_SMOKE
bool DirectCookingSlotsInUse()
protected void TransferHeatToNearPlayers()
DEPRECATED.
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
protected void StartCooling()
protected int PARTICLE_OVEN_FIRE_START
const float PARAM_FIRE_CONSUM_RATE_AMOUNT
value for calculating wetness loss during cooling process
const string ANIMATION_TRIPOD
const int SMOKING_SLOT_COUNT
void AddWetnessToFireplace(float amount)
protected void SetFireState(FireplaceFireState state)
protected bool m_NoIgnite
protected bool StopParticle(out Particle particle)
const float PARAM_MIN_TEMP_TO_REIGNITE
maximum wetness value when the fireplace can be ignited
protected float m_TotalEnergy
protected void ParticleSteamExtinguishingStart()
const string ANIMATION_BURNT_WOOD
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
protected void SoundFireHeavyStart()
const int ECE_PLACE_ON_SURFACE
protected void SpendFireConsumable(float amount)
override int GetQuantityMax()
protected float GetFuelBurnRateMP()
protected Particle m_ParticleFireStart
original Timer deletes m_params which is unwanted
protected void ParticleFireEndStop()
protected void SoundFireStop()
protected Particle m_ParticleNormalFire
const string ANIMATION_CAULDRON_HANDLE
protected void AddTemperatureToItemByFire(ItemBase item)
protected Particle m_ParticleSmallSmoke
protected void StopCooling()
protected bool m_RoofAbove
const string ANIMATION_OVEN
protected vector m_HalfExtents
protected bool IsFuel(ItemBase item)
Returns if item attached to fireplace is fuel.
protected void SmokeOnSmokingSlot(ItemBase slot_item, float temp_equip, float temp_ext)
const string MESSAGE_BURY_ASHES_FAILED_BURNING
const string OBJECT_CLUTTER_CUTTER
protected ref UniversalTemperatureSourceSettings m_UTSSettings
protected void AddTemperatureToFireplace(float amount)
DEPRECATED.
const string MESSAGE_IGNITE_RAIN
protected Particle m_ParticleNormalSmoke
protected void ~FireplaceBase()
const string ANIMATION_STICKS
const string SOUND_FIRE_HEAVY
const int LIFETIME_FIREPLACE_STONE_OVEN
protected void ParticleNormalFireStart()
const float PARAM_WET_HEATING_DECREASE_COEF
value for calculating of wetness that fireplace gain when raining
Serialization general interface. Serializer API works with:
override float GetTemperature()
void SetOvenState(bool is_oven)
const int DIRECT_COOKING_SLOT_COUNT
direct cooking slots
const float PARAM_MAX_ITEM_HEAT_TEMP_INCREASE
minimum temperature for items that can be heated in fireplace cargo or as attachments (degree Celsius...
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
The class that will be instanced (moddable)
void StopFire(FireplaceFireState fire_state=FireplaceFireState.END_FIRE)
const float TEMPERATURE_LOSS_MP_OVEN
protected Particle m_ParticleSteamExtinguishing
const float PARAM_BURN_WET_THRESHOLD
maximum rain value when the fireplace can be ignited
const float PARAM_TEMPERATURE_DECREASE
how much will temperature increase when fireplace is burning (degree Celsius per second)
const float PARAM_MAX_TRANSFERED_TEMPERATURE
DEPRECATED value for calculation of heat transfered from fireplace through air to player (environment...
void SetIgniteFailure(bool failure)
class JsonUndergroundAreaTriggerData GetPosition
protected int PARTICLE_OVEN_FIRE
Wrapper class for managing sound through SEffectManager.
ATTACHMENT_EYEMASK_COLORBASE
const string ANIMATION_STONE
enum FireplaceFireState WIND
protected void SoundFireWetNoIgniteStart()
bool IsCeilingHighEnoughForSmoke()
class ObjectSpawnerHandler NoiseParams
const string MESSAGE_REIGNITE_TOO_WET
protected float GetTemperatureLossMP()
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
bool IsInAnimPhase(string anim_phase)
const float PARAM_MAX_WET_TO_IGNITE
how much will temperature decrease when fireplace is cooling (degree Celsius per second)
protected int PARTICLE_NO_IGNITE_WIND
protected void CookWithEquipment()
void SetStoneCircleState(bool has_stonecircle)
protected void StopAllParticlesAndSounds()
void SetExtinguishingState()
override void OnRPC(PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)
bool HasLastFuelKindlingAttached()
protected Object m_ClutterCutter
const float SMOKING_SPEED
FireplaceLight GetLightEntity()
protected void ParticleFireWindyNoIgniteStart()
represents base for cargo storage for entities
protected Particle m_ParticleSteamEnd
enum FireplaceFireState m_IsBurning
const string ANIMATION_WOOD
protected ref Timer m_HeatingTimer
protected void StopHeating()
protected void ParticleSmallFireStart()
protected int PARTICLE_STEAM_END
bool IsSpaceFor(vector size)
protected EffectSound m_SoundFireLoop
const string MESSAGE_REIGNITE_RAIN
protected bool m_HasAshes
protected ItemBase m_SmokingSlots[SMOKING_SLOT_COUNT]
protected float m_LightDistance
const float PARAM_FULL_HEAT_RADIUS
maximum value of temperature of items in fireplace when heating (degree Celsius)
protected bool m_HasStoneCircle
const float PARAM_ITEM_HEAT_TEMP_INCREASE_COEF
value for calculating damage on items located in fireplace cargo
const string MATERIAL_FIREPLACE_NOGLOW
override void EEDelete(EntityAI parent)
bool IsItemAttachedQuantity(typename item_type, float quantity)
Deferred version of AreaDamageLooped.
const string MESSAGE_IGNITE_UNDER_LOW_ROOF
const float TEMPERATURE_LOSS_MP_DEFAULT
min height of ceiling for fire to be ignited
void SetIsPlaceSound(bool is_place_sound)
protected int PARTICLE_STEAM_EXTINGUISHING
const float PARAM_COOKING_EQUIP_TEMP_INCREASE
maximum temperature of attached cooking equipment (degree Celsius)
override void EECargoOut(EntityAI item)
override void OnItemLocationChanged(EntityAI old_owner, EntityAI new_owner)
protected void SetFuelBurnRateMP(float value)
const float PARAM_HEAT_THROUGH_AIR_COEF
radius in which objects are heated by fire
bool IsOnInteriorSurface()
protected FireConsumable GetFireConsumableByItem(ItemBase item)
const float FUEL_BURN_RATE_STONES
protected ref map< ItemBase, ref FireConsumable > m_FireConsumables
const string MESSAGE_BURY_ASHES_FAILED_SURFACE
protected int PARTICLE_FIRE_START
override bool CanSwapEntities(EntityAI otherItem, InventoryLocation otherDestination, InventoryLocation destination)
protected void SetBurningState(bool is_burning)
protected bool IsKindling(ItemBase item)
Returns if item attached to fireplace is kindling.
ItemBase GetCookingEquipment()
protected int GetFireState()
void LockOvenAttachments(bool lock)
const float IGNITE_WIND_THRESHOLD
protected void CalcAndSetQuantity()
const int TIMER_COOLING_UPDATE_INTERVAL
update interval duration of heating process (seconds)
const string MESSAGE_REIGNITE_NO_KINDLING
const string ANIMATION_ASHES
const string SOUND_FIRE_LIGHT
protected void ParticleSteamExtinguishingStop()
const string MESSAGE_BURY_ASHES_FAILED_NOT_EMPTY
const float PARAM_ITEM_HEAT_MIN_TEMP
value for calculating temperature increase on each heat update interval (degree Celsius)
protected void ParticleSmallFireStop()
const string ANIMATION_KINDLING
const int TIMER_HEATING_UPDATE_INTERVAL
protected ref AreaDamageManager m_AreaDamage
const int MIN_STONES_TO_BUILD_CIRCLE
const string MATERIAL_FIREPLACE_GLOW
const string ANIMATION_STONES
const float PARAM_NORMAL_FIRE_TEMPERATURE
maximum fireplace temperature of a small fire (degree Celsius)
protected FireConsumable GetItemToConsume()
protected FireConsumable SetItemToConsume()
const float FUEL_BURN_RATE_DEFAULT
override bool IsHologram()
bool CanDismantleStoneCircle()
protected float GetFireConsumableTypeEnergy(ItemBase item)
const string ANIMATION_COOKWARE_HANDLE
protected void AddDamageToItemByFireEx(ItemBase item, bool can_be_ruined, bool pAttachment)
protected int PARTICLE_SMALL_FIRE
protected void CalcAndSetTotalEnergy()
protected int GetFuelCount()
Returns count of all fuel type items (define in 'm_FuelTypes') attached to fireplace.
protected void SetBurntFirewood()
protected void FireplaceBase()
protected void SoundFireWindyNoIgniteStart()
const float FUEL_BURN_RATE_OVEN
void AreaDamageManager(EntityAI parent)
const string MESSAGE_IGNITE_TOO_WET
bool IsItemTypeAttached(typename item_type)
void StartFire(bool force_start=false)
bool IsFacingFireplace(PlayerBase player)
DEPRECATED.
const string MESSAGE_IGNITE_IGNIT_ITEM_DAMAGED
protected ref FireConsumable m_ItemToConsume
bool CanBuildStoneCircle()
protected void AddWetnessToItem(ItemBase item, float amount)
override void OnAttachmentQuantityChanged(ItemBase item)
const float TEMPERATURE_LOSS_MP_STONES
protected void ParticleNormalSmokeStop()
protected int PARTICLE_NORMAL_FIRE
protected float m_FuelBurnRateMP
determines how fast will the fireplace loose its temperature when cooling (lower is better)
const int SAT_DEBUG_ACTION
const int LIFETIME_FIREPLACE_STONE_CIRCLE
protected void ParticleNormalFireStop()
const float PARAM_COOKING_TEMP_THRESHOLD
cooking
void DestroyFireplace()
[DEPRECATED]
const int MIN_STONES_TO_BUILD_OVEN
minimum amount of stones for circle
ref NoiseParams m_NoisePar
protected ItemBase m_CookingEquipment
bool GetCeilingHeight(out float actual_height)
override bool CanHaveWetness()
float GetAirResistanceForSmokeParticles(float actual_height)
protected int PARTICLE_FIRE_END
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
protected FireplaceLight m_Light
const float PARAM_MIN_FIRE_TEMPERATURE
maximum fireplace temperature of a normal fire (degree Celsius)
protected int GetKindlingCount()
Returns count of all kindling type items (define in 'm_KindlingTypes') attached to fireplace.
Param4< int, int, string, int > TSelectableActionInfoWithColor
const float PARAM_BURN_DAMAGE_COEF
base value of fire consumption rate (how many base energy will be spent on each update)
protected void ParticleFireEndStart()
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
protected FireplaceFireState m_LastFireState
protected ref Timer m_CoolingTimer
protected void SoundFireLightStart()
protected void RemoveFromFireConsumables(FireConsumable fire_consumable)
override void SetWet(float value, bool allow_client=false)
const float PARAM_WET_INCREASE_COEF
maximum wetness value when the fireplace is able to burn
protected void ParticleFireStartStart()
const string MESSAGE_IGNITE_NO_KINDLING
const float PARAM_COOKING_EQUIP_MAX_TEMP
temperature threshold for starting coooking process (degree Celsius)
enum FireplaceFireState WET
script counterpart to engine's class Inventory
override bool DisassembleOnLastDetach()
const float PARAM_HEAT_RADIUS
radius in which objects are fully heated by fire
protected vector GetFireEffectPosition()
void RefreshFireplaceVisuals()