216 private bool m_CanNoise =
true;
225 protected float m_SurfaceUnderWetnessModifier
238 if (!m_FireConsumableTypes)
266 RegisterNetSyncVariableBool(
"m_IsBurning");
267 RegisterNetSyncVariableBool(
"m_HasAshes");
268 RegisterNetSyncVariableBool(
"m_IsOven");
269 RegisterNetSyncVariableBool(
"m_HasStoneCircle");
270 RegisterNetSyncVariableBool(
"m_RoofAbove");
272 RegisterNetSyncVariableBool(
"m_NoIgnite");
276 m_SurfaceUnderWetnessModifier = 0.0;
332 super.EEItemAttached(item, slot_name);
335 if (item.IsCookware())
341 super.OnItemLocationChanged(old_owner, new_owner);
347 GetInventory().GetCurrentInventoryLocation(loc);
375 switch (attachment.Type())
379 int slot =
InventorySlots.GetSlotIdFromString(
"CookingEquipment");
380 EntityAI ent = GetInventory().FindAttachment(slot);
381 if (ent && ent.IsCookware())
383 vector direction = ent.GetDirection();
386 float angle =
Math.Acos(dot);
387 if (direction[0] < 0)
392 float cos =
Math.Cos(angle);
393 float sin =
Math.Sin(angle);
394 GetInventory().DropEntityInBounds(
InventoryMode.SERVER,
this, ent,
"2 0 2", angle, cos, sin);
404 super.EEDelete(parent);
417 super.OnStoreSave(ctx);
431 if (!super.OnStoreLoad(ctx, version))
469 super.AfterStoreLoad();
502 super.OnVariablesSynchronized();
648 super.OnChildItemRemoved(item);
656 MiscGameplayFunctions.DropAllItemsInInventoryInBounds(
this,
m_HalfExtents);
657 super.CheckForDestroy();
696 if (
vector.DistanceSq(player.GetPosition(),
this.GetPosition()) > lightDist * lightDist)
702 GetLightEntity().FadeBrightnessTo(FireplaceLight.m_FireplaceBrightness, 5);
1098 particle =
ParticleManager.GetInstance().PlayOnObject(particle_type,
this, pos);
1102 particle =
ParticleManager.GetInstance().PlayInWorld(particle_type, pos);
1185 float actual_height;
1211 float actual_height;
1297 from[1] = from[1] + 1.0;
1301 int contactComponent;
1303 bool hit =
DayZPhysics.RaycastRV(from, to, contactPos, contactDir, contactComponent, NULL, NULL,
this);
1304 actual_height =
vector.Distance(from, contactPos) + 1.0;
1312 actual_height =
Math.Clamp(actual_height, 0, 36);
1314 air_res = (6 - actual_height) * 0.33;
1315 air_res =
Math.Clamp(air_res, 0, 2);
1324 return Vector(0, 0.05, 0);
1329 return Vector(0, 0.05, 0);
1369 PlaySoundSet(
m_SoundFire,
"ExtinguishByWind_SoundSet", 0, 0);
1391 if (!fireConsumableType)
1394 int count = m_FireConsumableTypes.Count();
1395 for (
int i = 0; i < count; ++i)
1397 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1398 fireConsumableType = m_FireConsumableTypes.GetElement(i);
1402 if (fireConsumableType)
1403 return fireConsumableType.GetEnergy();
1411 if (fire_consumable)
1414 delete fire_consumable;
1475 if (!fireConsumable)
1483 ItemBase item = fireConsumable.GetItem();
1484 fireConsumable.SetRemainingEnergy(fireConsumable.GetRemainingEnergy() - amount);
1486 if (fireConsumable.GetRemainingEnergy() <= 0 || amount == 0)
1494 if (item.IsAnyInherited({ItemBook, Paper, GiftWrapPaper, EyeMask_ColorBase}))
1502 if (item.GetQuantity() <= 1)
1509 fireConsumable.SetRemainingEnergy(fireConsumable.GetEnergy());
1512 item.AddQuantity(-1);
1524 int attachmentsCount = GetInventory().AttachmentCount();
1525 int kindlingCount = 0;
1527 for (
int i = 0; i < attachmentsCount; ++i)
1535 return kindlingCount;
1541 int attachmentsCount = GetInventory().AttachmentCount();
1544 for (
int i = 0; i < attachmentsCount; ++i)
1558 if (!fireConsumableType)
1561 int count = m_FireConsumableTypes.Count();
1562 for (
int i = 0; i < count; ++i)
1564 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1565 fireConsumableType = m_FireConsumableTypes.GetElement(i);
1569 return fireConsumableType && fireConsumableType.IsKindling();
1576 if (!fireConsumableType)
1579 int count = m_FireConsumableTypes.Count();
1580 for (
int i = 0; i < count; ++i)
1582 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1583 fireConsumableType = m_FireConsumableTypes.GetElement(i);
1587 return fireConsumableType && !fireConsumableType.IsKindling();
1593 return GetAttachmentByType(item_type) != null;
1601 return item.GetQuantity() >= quantity;
1607 return GetInventory().AttachmentCount() == 1;
1664 return attached_item && attached_item.GetQuantity() > 0;
1683 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(
"Stones") , is_oven);
1695 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(
"Stones") , has_stonecircle);
1764 SetAffectPathgraph(
false,
true);
1801 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceSpecial");
1803 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceBase");
1810 float temperatureModifier = 0;
1836 float combinedWindAndSnowfall = MiscGameplayFunctions.GetCombinedSnowfallWindValue();
1840 if (rain > combinedWindAndSnowfall)
1857 if (m_SurfaceUnderWetnessModifier > 0.0)
1862 temperature =
Math.Clamp(temperature,
g_Game.GetMission().GetWorldData().GetBaseEnvTemperatureAtObject(
this),
m_UTSLFireplace.m_NormalFireplaceTemperatureMax);
1863 SetTemperatureDirect(temperature);
1886 float cookingItemTemperature;
1914 if (
GetGame().GetWorld().IsNight() && m_CanNoise)
1948 SetAffectPathgraph(
false,
false);
1981 float temperatureModifier = 0;
1993 float target =
Math.Max(
g_Game.GetMission().GetWorldData().GetBaseEnvTemperatureAtObject(
this),10);
1995 if (temperature > target)
1999 float combinedWindAndSnowfall = MiscGameplayFunctions.GetCombinedSnowfallWindValue();
2003 if (rain > combinedWindAndSnowfall)
2020 float wetness =
GetWet();
2024 target =
g_Game.GetMission().GetWorldData().GetBaseEnvTemperatureAtObject(
this);
2027 flatWetTarget =
Math.Clamp(flatWetTarget,target,GetTemperatureMax());
2028 SetTemperatureDirect(flatWetTarget);
2053 float cookingItemTemperature;
2098 cookware.RemoveAudioVisualsOnClient();
2107 cookware.RemoveAudioVisualsOnClient();
2111 itsfood.MakeSoundsOnClient(
false);
2121 for (
int j = 0; j < cargo.GetItemCount(); j++)
2125 edible.MakeSoundsOnClient(
false);
2177 CargoBase cargo = GetInventory().GetCargo();
2178 for (
int i = 0; i < cargo.GetItemCount(); i++)
2193 for (
int j = 0; j < GetInventory().AttachmentCount(); ++j)
2195 ItemBase attachment =
ItemBase.Cast(GetInventory().GetAttachmentFromIndex(j));
2211 if (item.CanHaveTemperature())
2214 float itemTemp = item.GetTemperature();
2215 float heatPermCoef = item.GetHeatPermeabilityCoef();
2234 item.SetTemperatureEx(
new TemperatureDataInterpolated(fireplaceTemp,
ETemperatureAccessTypes.ACCESS_FIREPLACE,deltaTime,tempCoef,heatPermCoef));
2267 float timerCoef = 1.0;
2273 switch (item.Type())
2277 item.DecreaseHealth(
GameConstants.FIRE_ATTACHMENT_DAMAGE_PER_SECOND * timerCoef,
false);
2281 if (item.IsCookware())
2283 item.DecreaseHealth(
GameConstants.FIRE_ATTACHMENT_DAMAGE_PER_SECOND * timerCoef,
false);
2289 if (item.GetHealthLevel() <
GameConstants.STATE_BADLY_DAMAGED)
2298 float wetness = item.GetWet();
2299 wetness = wetness + amount;
2300 wetness =
Math.Clamp(wetness, 0, 1);
2301 item.SetWet(wetness);
2308 float wetness =
GetWet();
2309 wetness = wetness + amount;
2310 wetness =
Math.Clamp(wetness, 0, 1);
2317 temperature = temperature * (1 - (wetness * 0.5));
2319 SetTemperatureDirect(temperature);
2337 m_AreaDamage.SetExtents(
"-0.30 0 -0.30",
"0.30 0.75 0.30");
2340 m_AreaDamage.SetHitZones({
"Head",
"Torso",
"LeftHand",
"LeftLeg",
"LeftFoot",
"RightHand",
"RightLeg",
"RightFoot" });
2372 static bool IsWindy()
2378 return (wind_speed >= wind_speed_threshold);
2392 static bool IsEntityWet(notnull
EntityAI entity_ai)
2394 return (entity_ai.GetWet() >=
FireplaceBase.PARAM_MAX_WET_TO_IGNITE);
2411 return !MiscGameplayFunctions.IsUnderRoof(
this,
FireplaceBase.MIN_CEILING_HEIGHT);
2415 static bool IsRainingAboveEntity(notnull
EntityAI entity_ai)
2426 static bool IsEntityOnWaterSurface(notnull
EntityAI entity_ai)
2428 vector fireplacePosition = entity_ai.GetPosition();
2430 g_Game.SurfaceGetType3D(fireplacePosition[0], fireplacePosition[1] +
g_Game.SurfaceGetSeaLevel(), fireplacePosition[2], surfaceType);
2433 float waterLevelDiff = fireplacePosition[1] -
g_Game.SurfaceGetSeaLevel();
2434 return waterLevelDiff < 0.5;
2436 else if (surfaceType.Contains(
"water"))
2448 g_Game.SurfaceUnderObjectCorrectedLiquid(entity, surfaceType, liquidType);
2450 return Surface.GetParamFloat(surfaceType,
"wetnessOnHeatModifier");
2459 static bool IsEntityOnInteriorSurface(notnull
EntityAI entity_ai)
2462 vector fireplacePosition = entity_ai.GetPosition();
2463 GetGame().
SurfaceGetType3D(fireplacePosition[0], fireplacePosition[1] + 1.0, fireplacePosition[2], surfaceType);
2464 return (
GetGame().ConfigGetInt(
"CfgSurfaces " + surfaceType +
" interior") == 1);
2474 return (GetInventory().GetCargo().GetItemCount() == 0 && GetInventory().AttachmentCount() == 0);
2480 return (GetInventory().GetCargo().GetItemCount() == 0);
2485 return GetInventory().FindAttachment(
InventorySlots.GetSlotIdFromString(
"CookingTripod")) != null;
2491 return GetAnimationPhase(anim_phase) == 0;
2497 if (
GetGame().IsBoxCollidingGeometry(GetWorldPosition() +
Vector(0, size[1] * 0.5 + 0.1, 0), GetDirection().VectorToAngles(), size, ObjIntersect.View, ObjIntersect.Geom, {this}, objs))
2499 foreach (
Object obj : objs)
2511 if (!otherDestination || otherDestination.GetParent() ==
this)
2520 if (!super.CanPutIntoHands(parent))
2536 const float size = 0.6;
2598 super.OnPlacementComplete(player, position, orientation);
2604 cc_object.SetOrientation(orientation);
2611 return "placeFireplace_SoundSet";
2626 string quantityConfigPath =
string.Format(
"CfgVehicles %1 varQuantityMax", fireConsumableType.GetItemType().ToString());
2627 string stackMaxConfigPath =
string.Format(
"CfgSlots Slot_%1 stackMax", fireConsumableType.GetAttSlot());
2628 if (
GetGame().ConfigIsExisting(quantityConfigPath))
2633 if (
GetGame().ConfigIsExisting(stackMaxConfigPath))
2635 float stackMax =
GetGame().ConfigGetFloat(stackMaxConfigPath);
2661 float remainingEnergy;
2665 float quantity = fireConsumable.GetItem().GetQuantity();
2668 remainingEnergy += ((quantity - 1) * fireConsumable.GetEnergy()) + fireConsumable.GetRemainingEnergy();
2673 remainingEnergy += fireConsumable.GetRemainingEnergy();
2684 super.OnAttachmentQuantityChanged(item);
2691 if (!super.CanReleaseAttachment(attachment))
2707 string path_cooking_equipment =
string.Format(
"%1 %2 GUIInventoryAttachmentsProps CookingEquipment attachmentSlots",
CFG_VEHICLESPATH,
GetType());
2709 string path_direct_cooking =
string.Format(
"%1 %2 GUIInventoryAttachmentsProps DirectCooking attachmentSlots",
CFG_VEHICLESPATH,
GetType());
2710 if (
GetGame().ConfigIsExisting(path_cooking_equipment) &&
GetGame().ConfigIsExisting(path_direct_cooking))
2714 GetGame().ConfigGetTextArray(path_cooking_equipment,arr_cooking_equipment);
2715 GetGame().ConfigGetTextArray(path_direct_cooking,arr_direct_cooking);
2716 for (
int i = 0; i < arr_cooking_equipment.Count(); i++)
2718 if (lock != GetInventory().GetSlotLock(
InventorySlots.GetSlotIdFromString(arr_cooking_equipment[i])))
2720 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(arr_cooking_equipment[i]),lock);
2725 for (i = 0; i < arr_direct_cooking.Count(); i++)
2727 if (lock == GetInventory().GetSlotLock(
InventorySlots.GetSlotIdFromString(arr_direct_cooking[i])))
2729 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(arr_direct_cooking[i]),!lock);
2743 super.OnRPC(sender, rpc_type, ctx);
2745 ref Param1<bool> p =
new Param1<bool>(
false);
2749 bool failure = p.param1;
2754 case FirePlaceFailure.WIND:
2765 case FirePlaceFailure.WET:
2785 ItemBase firewood =
ItemBase.Cast(GetInventory().CreateInInventory(
"Firewood"));
2786 firewood.SetQuantity(firewood.GetQuantityMax());
2788 ItemBase sticks =
ItemBase.Cast(GetInventory().CreateInInventory(
"WoodenStick"));
2789 sticks.SetQuantity(sticks.GetQuantityMax());
2792 stone.SetQuantity(stone.GetQuantityMax());
2794 GetInventory().CreateInInventory(
"Rag");
2796 SpawnEntityOnGroundPos(
"PetrolLighter",
GetPosition());
2805 super.GetDebugActions(outputList);
2810 if (super.OnAction(action_id, player, ctx))
2814 if (action_id ==
EActions.ACTIVATE_ENTITY)
2818 else if (action_id ==
EActions.DEACTIVATE_ENTITY)
Param4< int, int, string, int > TSelectableActionInfoWithColor
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
eBleedingSourceType GetType()
ref NoiseParams m_NoisePar
override bool IsSelfAdjustingTemperature()
const int ECE_PLACE_ON_SURFACE
Deferred version of AreaDamageLooped.
proto float SurfaceGetType3D(float x, float y, float z, out string type)
Y input: Maximum Y to trace down from; Returns: Y position the surface was found.
proto native Weather GetWeather()
Returns weather controller object.
represents base for cargo storage for entities
Super root of all classes in Enforce script.
Wrapper class for managing sound through SEffectManager.
override bool CanExtinguishFire()
void InitializeTemperatureSources()
override bool CanCookOnStick()
override bool IsBaseFireplace()
override void RefreshFireplacePhysics()
vector GetSmokeEffectPosition()
override void EEItemAttached(EntityAI item, string slot_name)
override void ParticleSmallSmokeStart()
override bool IsPrepareToDelete()
override void SetCookingEquipment(ItemBase equipment)
override bool CanPutIntoHands(EntityAI parent)
override bool CanShowSmoke()
override void ParticleNormalSmokeStart()
override bool IsIndoorOven()
override void OnDebugSpawn()
override void OnIgnitedThis(EntityAI fire_source)
override void CreateAreaDamage()
override void OnVariablesSynchronized()
override void AfterStoreLoad()
override bool OnStoreLoad(ParamsReadContext ctx, int version)
override void OnStoreSave(ParamsWriteContext ctx)
override string GetDeploySoundset()
override bool IsBarrelWithHoles()
override bool CanReleaseAttachment(EntityAI attachment)
script counterpart to engine's class Inventory
proto native bool EnumerateInventory(InventoryTraversalType tt, out array< EntityAI > items)
enumerate inventory using traversal type and filling items array
proto native CargoBase GetCargo()
cargo
provides access to slot configuration
Legacy way of using particles in the game.
The class that will be instanced (moddable)
Serialization general interface. Serializer API works with:
original Timer deletes m_params which is unwanted
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Container_Base m_HalfExtents
ContaminatedArea_Base EffectArea EEInit()
override void EEDelete(EntityAI parent)
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
float GetAirResistanceForSmokeParticles(float actual_height)
void TransferHeatToNearPlayers()
DEPRECATED.
const int MAX_TEMPERATURE_TO_DISMANTLE_OVEN
minimum amount of stones for oven
void RefreshFireplaceVisuals()
float GetFuelBurnRateMP()
void RemoveFromFireConsumables(FireConsumable fire_consumable)
override void OnChildItemRemoved(InventoryItem item)
ref UniversalTemperatureSourceSettings m_UTSSettings
const string MESSAGE_BURY_ASHES_FAILED_BURNING
int m_OvenAttachmentsLockState
ItemBase GetCookingEquipment()
const string SOUND_FIRE_EXTINGUISHING
bool CanBuildStoneCircle()
Particle m_ParticleSmallFire
const float TEMPERATURE_LOSS_MP_OVEN
void AddDamageToItemByFire(ItemBase item, bool can_be_ruined)
void ParticleSteamExtinguishingStop()
void ParticleWetNoIgniteStart()
const float WET_SURFACE_INCREMENT
const float PARAM_HEAT_THROUGH_AIR_COEF
maximum value of temperature of items in fireplace when heating (degree Celsius)
bool DirectCookingSlotsInUse()
FireConsumable GetItemToConsume()
override void CheckForDestroy()
const string ANIMATION_OVEN
const int DIRECT_COOKING_SLOT_COUNT
direct cooking slots
const int TIMER_HEATING_UPDATE_INTERVAL
timer constants
Particle m_ParticleFireStart
void ParticleSmallFireStart()
void SoundFireLightStart()
void LockOvenAttachments(bool lock)
void AddTemperatureToItemByFire(ItemBase item)
void ParticleNormalFireStop()
void ParticleSteamEndStart()
Particle m_ParticleSmallSmoke
const string MESSAGE_IGNITE_NO_KINDLING
const int TIMER_COOLING_UPDATE_INTERVAL
update interval duration of heating process (seconds)
const float PARAM_ITEM_HEAT_TEMP_HEATING_COEF
value for calculating temperature increase on each heat update interval (degree Celsius)
const string MESSAGE_IGNITE_IN_WATER
ref UnderObjectDecalSpawnSettings m_UnderObjectDecalSpawnSettings
const float PARAM_TEMPERATURE_DECREASE
how much will temperature increase when fireplace is burning (degree Celsius per second)
const float PARAM_TEMPERATURE_INCREASE
minimum fireplace temperature under which the fireplace is inactive (degree Celsius)
bool IsProcessing()
returns true when FP is heating or cooling
const float PARAM_FIRE_CONSUM_RATE_AMOUNT
value for calculating wetness loss during cooling process
const string MESSAGE_REIGNITE_RAIN
const int LIFETIME_FIREPLACE_STONE_CIRCLE
int PARTICLE_STEAM_EXTINGUISHING
const string SOUND_FIRE_HEAVY
const string MESSAGE_BURY_ASHES_FAILED_NOT_EMPTY
Particle m_ParticleNormalFire
const float TEMPERATURE_LOSS_MP_DEFAULT
DEPRECATED value for calculation of heat transfered from fireplace through air to player (environment...
const string SOUND_FIRE_LIGHT
void SoundFireExtinguishedStart()
enum FireplaceFireState m_IsBurning
bool IsCeilingHighEnoughForSmoke()
override bool IsFireplace()
const string MESSAGE_IGNITE_IGNIT_ITEM_DAMAGED
void AddToFireConsumables(ItemBase item)
const string MESSAGE_IGNITE_RAIN
void ParticleSteamExtinguishingStart()
EffectSound m_SoundFireLoop
const float PARAM_ITEM_HEAT_MIN_TEMP
const float PLACEMENT_HEIGHT_LIMIT
FireplaceFireState m_FireState
const float PARAM_MIN_TEMP_TO_REIGNITE
maximum wetness value when the fireplace can be ignited
void DestroyFireplace()
[DEPRECATED]
void SetFuelBurnRateMP(float value)
ATTACHMENT_EYEMASK_COLORBASE
void SetAshesState(bool has_ashes)
const string MESSAGE_CANNOT_DISMANTLE_OVEN
void StopFire(FireplaceFireState fire_state=FireplaceFireState.END_FIRE)
ref Cooking m_CookingProcess
determines how fast will the fuel item burn before spending (lower is better)
const string OBJECT_CLUTTER_CUTTER
const string ANIMATION_CAULDRON_HANDLE
void BurnItemsInFireplace()
Particle m_ParticleSteamExtinguishing
void SoundFireHeavyStart()
const float DIRECT_COOKING_SPEED
how much will temperature increase when attached on burning fireplace (degree Celsius)
const int LIFETIME_FIREPLACE_STONE_OVEN
const float PARAM_MAX_TRANSFERED_TEMPERATURE
radius in which objects are heated by fire
override void OnAttachmentRuined(EntityAI attachment)
int PARTICLE_NO_IGNITE_WIND
FireplaceFireState m_LastFireState
override bool CanBePlaced(Man player, vector position)
const string ANIMATION_TRIPOD
ref UnderObjectDecalSpawnComponent m_UnderObjectDecalSpawnComponent
void SetFireState(FireplaceFireState state)
const int MIN_STONES_TO_BUILD_OVEN
minimum amount of stones for circle
const float PARAM_HEAT_RADIUS
radius in which objects are fully heated by fire
FireplaceLight GetLightEntity()
void CalcAndSetQuantity()
const string MESSAGE_IGNITE_WIND
const float TEMPERATURE_LOSS_MP_STONES
const string MATERIAL_FIREPLACE_GLOW
const string SOUND_FIRE_EXTINGUISHED
const string ANIMATION_ASHES
const float PARAM_NORMAL_FIRE_TEMPERATURE
maximum fireplace temperature of a small fire (degree Celsius)
bool CanDismantleStoneCircle()
void CookOnDirectSlot(ItemBase slot_item, float temp_equip, float temp_ext)
void SetBurntFirewood()
DEPRECATED.
const string MESSAGE_IGNITE_UNDER_LOW_ROOF
const float PARAM_MIN_FIRE_TEMPERATURE
maximum fireplace temperature of an outdoor fire (degree Celsius)
bool IsInAnimPhase(string anim_phase)
const float MIN_CEILING_HEIGHT
maximum temperature for dismantling oven
const float PARAM_BURN_DAMAGE_COEF
base value of fire consumption rate (how many base energy will be spent on each update)
const float PARAM_MAX_ITEM_HEAT_TEMP_INCREASE
multiplies temperature change on heating
const string MATERIAL_FIREPLACE_NOGLOW
void SpendFireConsumable(float amount)
void ParticleNormalSmokeStop()
const string ANIMATION_INVENTORY
bool IsFuel(ItemBase item)
Returns if item attached to fireplace is fuel.
float GetTemperatureLossMP()
determines how fast will the fireplace loose its temperature when cooling (lower is better)
const string ANIMATION_STONES
void RefreshFireParticlesAndSounds(bool force_refresh)
bool IsOnInteriorSurface()
const float SNOWFALL_EFFECT_LIMIT
rain level that triggers fireplace to start soaking
ref AreaDamageManager m_AreaDamage
const float PARAM_SMALL_FIRE_TEMPERATURE
Cooking GetCookingProcess()
int PARTICLE_NORMAL_SMOKE
const float PARAM_WET_COOLING_DECREASE_COEF
value for calculating wetness loss during heating process
const string MESSAGE_REIGNITE_TOO_WET
void ParticleFireStartStart()
const int SMOKING_SLOT_COUNT
void SoundFireWetNoIgniteStart()
const float FUEL_BURN_RATE_OVEN
const string MESSAGE_BURY_ASHES_FAILED_TOO_HOT
void SmokeOnSmokingSlot(ItemBase slot_item, float temp_equip, float temp_ext)
const float SNOWFALL_WETNESS_INCREASE
value for calculating of wetness that fireplace gain when raining
const string MESSAGE_CANNOT_BUILD_OVEN
void SoundFireExtinguishingStart()
float GetSurfaceWetnessOnHeatModifier(notnull EntityAI entity)
void StartFire(bool force_start=false)
override bool GetCookingTargetTemperature(out float temperature)
ItemBase m_DirectCookingSlots[DIRECT_COOKING_SLOT_COUNT]
const string ANIMATION_WOOD
void SetIgniteFailure(bool failure)
void SoundFireWindyNoIgniteStart()
void AddTemperatureToFireplace(float amount)
DEPRECATED.
const float FUEL_BURN_RATE_DEFAULT
min height of ceiling for fire to be ignited
const float PARAM_BURN_WET_THRESHOLD
maximum rain value when the fireplace can be ignited
ref Timer m_HeatingTimer
value for calculating of wetness that fireplace gain when raining
override bool DisassembleOnLastDetach()
void ParticleNormalFireStart()
const float FUEL_BURN_RATE_STONES
void SetStoneCircleState(bool has_stonecircle)
ref UniversalTemperatureSourceLambdaFireplace m_UTSLFireplace
void SetExtinguishingState()
void StopAllParticlesAndSounds()
vector GetFireEffectPosition()
const string ANIMATION_KINDLING
ref UniversalTemperatureSource m_UTSource
const string MESSAGE_IGNITE_TOO_WET
const float PARAM_IGNITE_RAIN_THRESHOLD
minimum fireplace temperature under which the fireplace can be reignited using air only (degree Celsi...
float GetFireConsumableTypeEnergy(ItemBase item)
void SetTemperatureLossMP(float value)
void ParticleFireWindyNoIgniteStart()
bool IsFacingFireplace(PlayerBase player)
DEPRECATED.
ref map< ItemBase, ref FireConsumable > m_FireConsumables
bool GetCeilingHeight(out float actual_height)
const float PARAM_COOKING_EQUIP_MAX_TEMP
const float PARAM_ITEM_HEAT_TEMP_INCREASE_COEF
DEPRECATED.
float m_TemperatureLossMP
value for calculating of wetness that fireplace gain when raining
int GetAttachedStonesCount()
const float PARAM_WET_INCREASE_COEF
const string ANIMATION_COOKWARE_HANDLE
ref FireConsumable m_ItemToConsume
const float PARAM_MAX_WET_TO_IGNITE
how much will temperature decrease when fireplace is cooling (degree Celsius per second)
ItemBase m_CookingEquipment
const float IGNITE_WIND_THRESHOLD
bool IsSpaceFor(vector size)
enum FireplaceFireState WIND
Particle m_ParticleFireEnd
void ClearCookingEquipment()
DEPRECATED.
FireConsumable GetFireConsumableByItem(ItemBase item)
ItemBase m_SmokingSlots[SMOKING_SLOT_COUNT]
const string ANIMATION_STICKS
void CalcAndSetTotalEnergy()
const float PARAM_FULL_HEAT_RADIUS
value for calculating damage on items located in fireplace cargo
const string ANIMATION_STONE
bool IsKindling(ItemBase item)
Returns if item attached to fireplace is kindling.
FireConsumable SetItemToConsume()
void SetBurningState(bool is_burning)
void ParticleWetNoIgniteStop()
bool IsItemAttachedQuantity(typename item_type, float quantity)
void SoundFireNoFireStart()
const float PARAM_COOKING_EQUIP_TEMP_INCREASE
maximum temperature of attached cooking equipment (degree Celsius)
void ParticleSmallSmokeStop()
void ParticleFireEndStart()
bool m_ThawnSurfaceUnderSupport
size of wetness increment (per FP heating tick) added to overall FP wetness when ignited on wet surfa...
bool IsItemTypeAttached(typename item_type)
void ParticleFireEndStop()
bool HasLastFuelKindlingAttached()
int GetFuelCount()
Returns count of all fuel type items (define in 'm_FuelTypes') attached to fireplace.
override bool CanHaveTemperature()
void ParticleFireStartStop()
void ParticleSteamEndStop()
void SetOvenState(bool is_oven)
enum FireplaceFireState WET
const string MESSAGE_BURY_ASHES_FAILED_SURFACE
const float PARAM_WET_HEATING_DECREASE_COEF
maximum wetness value when the fireplace is able to burn
const int MIN_STONES_TO_BUILD_CIRCLE
maximum value for temperature that will be transfered to player (environment)
const string ANIMATION_BURNT_WOOD
Particle m_ParticleSteamEnd
const string MESSAGE_REIGNITE_NO_KINDLING
const float RAIN_WETNESS_INCREASE
snowfall level that triggers fireplace to start soaking
void SetLightEntity(FireplaceLight light)
void ParticleSmallFireStop()
const float PARAM_COOKING_TEMP_THRESHOLD
cooking
const string SOUND_FIRE_NO_FIRE
int PARTICLE_OVEN_FIRE_END
const float SMOKING_SPEED
void AddDamageToItemByFireEx(ItemBase item, bool can_be_ruined, bool pAttachment)
const float PARAM_OUTDOOR_FIRE_TEMPERATURE
maximum fireplace temperature of a normal fire (degree Celsius)
const float RAIN_EFFECT_LIMIT
override bool CanSwapEntities(EntityAI otherItem, InventoryLocation otherDestination, InventoryLocation destination)
int GetKindlingCount()
Returns count of all kindling type items (define in 'm_KindlingTypes') attached to fireplace.
int PARTICLE_OVEN_FIRE_START
void AddWetnessToItem(ItemBase item, float amount)
Particle m_ParticleNormalSmoke
void AddWetnessToFireplace(float amount)
InventoryTraversalType
tree traversal type, for more see http://en.wikipedia.org/wiki/Tree_traversal
proto native CGame GetGame()
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
proto native int dBodyGetInteractionLayer(notnull IEntity ent)
const int SAT_DEBUG_ACTION
class JsonUndergroundAreaTriggerData GetPosition
InventoryLocationType
types of Inventory Location
override void SetWet(float value, bool allow_client=false)
override 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...
void OnAttachmentQuantityChanged(ItemBase item)
Called on server side when some attachment's quantity is changed. Call super.OnAttachmentQuantityChan...
override void CheckForRoofLimited(float timeTresholdMS=3000)
Roof check for entity, limited by time (anti-spam solution)
override int GetQuantityMax()
class Land_Buoy extends House m_Light
class NoiseSystem NoiseParams()
void PlayParticle(int particle_id=-1)
Method to tell the particle to start playing.
bool StopParticle(int flags=0)
Method to tell the particle to stop playing.
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
override void OnRPC(ParamsReadContext ctx)