54 const float PARAM_BURN_DAMAGE_COEF = 5.0;
217 private bool m_CanNoise =
true;
226 protected float m_SurfaceUnderWetnessModifier
239 if (!m_FireConsumableTypes)
267 RegisterNetSyncVariableBool(
"m_IsBurning");
268 RegisterNetSyncVariableBool(
"m_HasAshes");
269 RegisterNetSyncVariableBool(
"m_IsOven");
270 RegisterNetSyncVariableBool(
"m_HasStoneCircle");
271 RegisterNetSyncVariableBool(
"m_RoofAbove");
273 RegisterNetSyncVariableBool(
"m_NoIgnite");
277 m_SurfaceUnderWetnessModifier = 0.0;
334 super.EEItemAttached(item, slot_name);
337 if (item.IsCookware())
343 super.OnItemLocationChanged(old_owner, new_owner);
349 GetInventory().GetCurrentInventoryLocation(loc);
377 switch (attachment.Type())
381 int slot =
InventorySlots.GetSlotIdFromString(
"CookingEquipment");
382 EntityAI ent = GetInventory().FindAttachment(slot);
383 if (ent && ent.IsCookware())
385 vector direction = ent.GetDirection();
388 float angle =
Math.Acos(dot);
389 if (direction[0] < 0)
394 float cos =
Math.Cos(angle);
395 float sin =
Math.Sin(angle);
396 GetInventory().DropEntityInBounds(
InventoryMode.SERVER,
this, ent,
"2 0 2", angle, cos, sin);
406 super.EEDelete(parent);
419 super.OnStoreSave(ctx);
433 if (!super.OnStoreLoad(ctx, version))
471 super.AfterStoreLoad();
504 super.OnVariablesSynchronized();
650 super.OnChildItemRemoved(item);
658 MiscGameplayFunctions.DropAllItemsInInventoryInBounds(
this,
m_HalfExtents);
659 super.CheckForDestroy();
698 if (
vector.DistanceSq(player.GetPosition(),
this.GetPosition()) > lightDist * lightDist)
704 GetLightEntity().FadeBrightnessTo(FireplaceLight.m_FireplaceBrightness, 5);
1096 if (!particle &&
g_Game && (!
g_Game.IsDedicatedServer()))
1100 particle =
ParticleManager.GetInstance().PlayOnObject(particle_type,
this, pos);
1104 particle =
ParticleManager.GetInstance().PlayInWorld(particle_type, pos);
1116 if (particle &&
g_Game && (!
g_Game.IsDedicatedServer()))
1187 float actual_height;
1213 float actual_height;
1299 from[1] = from[1] + 1.0;
1303 int contactComponent;
1305 bool hit =
DayZPhysics.RaycastRV(from, to, contactPos, contactDir, contactComponent, NULL, NULL,
this);
1306 actual_height =
vector.Distance(from, contactPos) + 1.0;
1314 actual_height =
Math.Clamp(actual_height, 0, 36);
1316 air_res = (6 - actual_height) * 0.33;
1317 air_res =
Math.Clamp(air_res, 0, 2);
1326 return Vector(0, 0.05, 0);
1331 return Vector(0, 0.05, 0);
1371 PlaySoundSet(
m_SoundFire,
"ExtinguishByWind_SoundSet", 0, 0);
1393 if (!fireConsumableType)
1396 int count = m_FireConsumableTypes.Count();
1397 for (
int i = 0; i < count; ++i)
1399 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1400 fireConsumableType = m_FireConsumableTypes.GetElement(i);
1404 if (fireConsumableType)
1405 return fireConsumableType.GetEnergy();
1413 if (fire_consumable)
1416 delete fire_consumable;
1477 if (!fireConsumable)
1485 ItemBase item = fireConsumable.GetItem();
1486 fireConsumable.SetRemainingEnergy(fireConsumable.GetRemainingEnergy() - amount);
1488 if (fireConsumable.GetRemainingEnergy() <= 0 || amount == 0)
1496 if (item.IsAnyInherited({ItemBook, Paper, GiftWrapPaper, EyeMask_ColorBase}))
1504 if (item.GetQuantity() <= 1)
1511 fireConsumable.SetRemainingEnergy(fireConsumable.GetEnergy());
1514 item.AddQuantity(-1);
1526 int attachmentsCount = GetInventory().AttachmentCount();
1527 int kindlingCount = 0;
1529 for (
int i = 0; i < attachmentsCount; ++i)
1537 return kindlingCount;
1543 int attachmentsCount = GetInventory().AttachmentCount();
1546 for (
int i = 0; i < attachmentsCount; ++i)
1560 if (!fireConsumableType)
1563 int count = m_FireConsumableTypes.Count();
1564 for (
int i = 0; i < count; ++i)
1566 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1567 fireConsumableType = m_FireConsumableTypes.GetElement(i);
1571 return fireConsumableType && fireConsumableType.IsKindling();
1578 if (!fireConsumableType)
1581 int count = m_FireConsumableTypes.Count();
1582 for (
int i = 0; i < count; ++i)
1584 if (item.IsInherited(m_FireConsumableTypes.GetKey(i)))
1585 fireConsumableType = m_FireConsumableTypes.GetElement(i);
1589 return fireConsumableType && !fireConsumableType.IsKindling();
1595 return GetAttachmentByType(item_type) != null;
1603 return item.GetQuantity() >= quantity;
1609 return GetInventory().AttachmentCount() == 1;
1666 return attached_item && attached_item.GetQuantity() > 0;
1685 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(
"Stones") , is_oven);
1697 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(
"Stones") , has_stonecircle);
1766 SetAffectPathgraph(
false,
true);
1803 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceSpecial");
1805 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceBase");
1812 float temperatureModifier = 0;
1837 float rain =
g_Game.GetWeather().GetRain().GetActual();
1838 float combinedWindAndSnowfall = MiscGameplayFunctions.GetCombinedSnowfallWindValue();
1842 if (rain > combinedWindAndSnowfall)
1859 if (m_SurfaceUnderWetnessModifier > 0.0)
1864 temperature =
Math.Clamp(temperature,
g_Game.GetMission().GetWorldData().GetBaseEnvTemperatureAtObject(
this),
m_UTSLFireplace.m_NormalFireplaceTemperatureMax);
1865 SetTemperatureDirect(temperature);
1888 float cookingItemTemperature;
1916 if (
g_Game.GetWorld().IsNight() && m_CanNoise)
1950 SetAffectPathgraph(
false,
false);
1983 float temperatureModifier = 0;
1995 float target =
Math.Max(
g_Game.GetMission().GetWorldData().GetBaseEnvTemperatureAtObject(
this),10);
1997 if (temperature > target)
2000 float rain =
g_Game.GetWeather().GetRain().GetActual();
2001 float combinedWindAndSnowfall = MiscGameplayFunctions.GetCombinedSnowfallWindValue();
2005 if (rain > combinedWindAndSnowfall)
2022 float wetness =
GetWet();
2026 target =
g_Game.GetMission().GetWorldData().GetBaseEnvTemperatureAtObject(
this);
2029 flatWetTarget =
Math.Clamp(flatWetTarget,target,GetTemperatureMax());
2030 SetTemperatureDirect(flatWetTarget);
2055 float cookingItemTemperature;
2100 cookware.RemoveAudioVisualsOnClient();
2109 cookware.RemoveAudioVisualsOnClient();
2113 itsfood.MakeSoundsOnClient(
false);
2123 for (
int j = 0; j < cargo.GetItemCount(); j++)
2127 edible.MakeSoundsOnClient(
false);
2179 CargoBase cargo = GetInventory().GetCargo();
2180 for (
int i = 0; i < cargo.GetItemCount(); i++)
2195 for (
int j = 0; j < GetInventory().AttachmentCount(); ++j)
2197 ItemBase attachment =
ItemBase.Cast(GetInventory().GetAttachmentFromIndex(j));
2213 if (item.CanHaveTemperature())
2216 float itemTemp = item.GetTemperature();
2217 float heatPermCoef = item.GetHeatPermeabilityCoef();
2236 item.SetTemperatureEx(
new TemperatureDataInterpolated(fireplaceTemp,
ETemperatureAccessTypes.ACCESS_FIREPLACE,deltaTime,tempCoef,heatPermCoef));
2262 ent.DecreaseHealth(PARAM_BURN_DAMAGE_COEF,!ent.IsKindOf(
"Grenade_Base"));
2269 float timerCoef = 1.0;
2275 switch (item.Type())
2279 item.DecreaseHealth(
GameConstants.FIRE_ATTACHMENT_DAMAGE_PER_SECOND * timerCoef,
false);
2283 if (item.IsCookware())
2285 item.DecreaseHealth(
GameConstants.FIRE_ATTACHMENT_DAMAGE_PER_SECOND * timerCoef,
false);
2291 if (item.GetHealthLevel() <
GameConstants.STATE_BADLY_DAMAGED)
2292 item.DecreaseHealth(PARAM_BURN_DAMAGE_COEF,
false);
2300 float wetness = item.GetWet();
2301 wetness = wetness + amount;
2302 wetness =
Math.Clamp(wetness, 0, 1);
2303 item.SetWet(wetness);
2310 float wetness =
GetWet();
2311 wetness = wetness + amount;
2312 wetness =
Math.Clamp(wetness, 0, 1);
2319 temperature = temperature * (1 - (wetness * 0.5));
2321 SetTemperatureDirect(temperature);
2339 m_AreaDamage.SetExtents(
"-0.30 0 -0.30",
"0.30 0.75 0.30");
2342 m_AreaDamage.SetHitZones({
"Head",
"Torso",
"LeftHand",
"LeftLeg",
"LeftFoot",
"RightHand",
"RightLeg",
"RightFoot" });
2374 static bool IsWindy()
2377 float wind_speed =
g_Game.GetWeather().GetWindSpeed();
2378 float wind_speed_threshold =
g_Game.GetWeather().GetWindMaximumSpeed() *
FireplaceBase.IGNITE_WIND_THRESHOLD;
2380 return (wind_speed >= wind_speed_threshold);
2394 static bool IsEntityWet(notnull
EntityAI entity_ai)
2396 return (entity_ai.GetWet() >=
FireplaceBase.PARAM_MAX_WET_TO_IGNITE);
2413 return !MiscGameplayFunctions.IsUnderRoof(
this,
FireplaceBase.MIN_CEILING_HEIGHT);
2417 static bool IsRainingAboveEntity(notnull
EntityAI entity_ai)
2428 static bool IsEntityOnWaterSurface(notnull
EntityAI entity_ai)
2430 vector fireplacePosition = entity_ai.GetPosition();
2432 g_Game.SurfaceGetType3D(fireplacePosition[0], fireplacePosition[1] +
g_Game.SurfaceGetSeaLevel(), fireplacePosition[2], surfaceType);
2435 float waterLevelDiff = fireplacePosition[1] -
g_Game.SurfaceGetSeaLevel();
2436 return waterLevelDiff < 0.5;
2438 else if (surfaceType.Contains(
"water"))
2450 g_Game.SurfaceUnderObjectCorrectedLiquid(entity, surfaceType, liquidType);
2452 return Surface.GetParamFloat(surfaceType,
"wetnessOnHeatModifier");
2461 static bool IsEntityOnInteriorSurface(notnull
EntityAI entity_ai)
2464 vector fireplacePosition = entity_ai.GetPosition();
2465 g_Game.SurfaceGetType3D(fireplacePosition[0], fireplacePosition[1] + 1.0, fireplacePosition[2], surfaceType);
2466 return (
g_Game.ConfigGetInt(
"CfgSurfaces " + surfaceType +
" interior") == 1);
2476 return (GetInventory().GetCargo().GetItemCount() == 0 && GetInventory().AttachmentCount() == 0);
2482 return (GetInventory().GetCargo().GetItemCount() == 0);
2487 return GetInventory().FindAttachment(
InventorySlots.GetSlotIdFromString(
"CookingTripod")) != null;
2493 return GetAnimationPhase(anim_phase) == 0;
2499 if (
g_Game.IsBoxCollidingGeometry(GetWorldPosition() +
Vector(0, size[1] * 0.5 + 0.1, 0), GetDirection().VectorToAngles(), size, ObjIntersect.View, ObjIntersect.Geom, {this}, objs))
2501 foreach (
Object obj : objs)
2513 if (!otherDestination || otherDestination.GetParent() ==
this)
2522 if (!super.CanPutIntoHands(parent))
2538 const float size = 0.6;
2591 float surfaceHeight =
g_Game.SurfaceGetType3D( position[0], position[1], position[2], surfaceType );
2600 super.OnPlacementComplete(player, position, orientation);
2606 cc_object.SetOrientation(orientation);
2613 return "placeFireplace_SoundSet";
2628 string quantityConfigPath =
string.Format(
"CfgVehicles %1 varQuantityMax", fireConsumableType.GetItemType().ToString());
2629 string stackMaxConfigPath =
string.Format(
"CfgSlots Slot_%1 stackMax", fireConsumableType.GetAttSlot());
2630 if (
g_Game.ConfigIsExisting(quantityConfigPath))
2635 if (
g_Game.ConfigIsExisting(stackMaxConfigPath))
2637 float stackMax =
g_Game.ConfigGetFloat(stackMaxConfigPath);
2663 float remainingEnergy;
2667 float quantity = fireConsumable.GetItem().GetQuantity();
2670 remainingEnergy += ((quantity - 1) * fireConsumable.GetEnergy()) + fireConsumable.GetRemainingEnergy();
2675 remainingEnergy += fireConsumable.GetRemainingEnergy();
2686 super.OnAttachmentQuantityChanged(item);
2693 if (!super.CanReleaseAttachment(attachment))
2709 string path_cooking_equipment =
string.Format(
"%1 %2 GUIInventoryAttachmentsProps CookingEquipment attachmentSlots",
CFG_VEHICLESPATH,
GetType());
2711 string path_direct_cooking =
string.Format(
"%1 %2 GUIInventoryAttachmentsProps DirectCooking attachmentSlots",
CFG_VEHICLESPATH,
GetType());
2712 if (
g_Game.ConfigIsExisting(path_cooking_equipment) &&
g_Game.ConfigIsExisting(path_direct_cooking))
2716 g_Game.ConfigGetTextArray(path_cooking_equipment,arr_cooking_equipment);
2717 g_Game.ConfigGetTextArray(path_direct_cooking,arr_direct_cooking);
2718 for (
int i = 0; i < arr_cooking_equipment.Count(); i++)
2720 if (lock != GetInventory().GetSlotLock(
InventorySlots.GetSlotIdFromString(arr_cooking_equipment[i])))
2722 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(arr_cooking_equipment[i]),lock);
2727 for (i = 0; i < arr_direct_cooking.Count(); i++)
2729 if (lock == GetInventory().GetSlotLock(
InventorySlots.GetSlotIdFromString(arr_direct_cooking[i])))
2731 GetInventory().SetSlotLock(
InventorySlots.GetSlotIdFromString(arr_direct_cooking[i]),!lock);
2745 super.OnRPC(sender, rpc_type, ctx);
2747 ref Param1<bool> p =
new Param1<bool>(
false);
2751 bool failure = p.param1;
2756 case FirePlaceFailure.WIND:
2767 case FirePlaceFailure.WET:
2787 ItemBase firewood =
ItemBase.Cast(GetInventory().CreateInInventory(
"Firewood"));
2788 firewood.SetQuantity(firewood.GetQuantityMax());
2790 ItemBase sticks =
ItemBase.Cast(GetInventory().CreateInInventory(
"WoodenStick"));
2791 sticks.SetQuantity(sticks.GetQuantityMax());
2794 stone.SetQuantity(stone.GetQuantityMax());
2796 GetInventory().CreateInInventory(
"Rag");
2798 SpawnEntityOnGroundPos(
"PetrolLighter",
GetPosition());
2807 super.GetDebugActions(outputList);
2812 if (super.OnAction(action_id, player, ctx))
2816 if (action_id ==
EActions.ACTIVATE_ENTITY)
2820 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()
void AreaDamageManager(EntityAI parent)
const int ECE_PLACE_ON_SURFACE
Deferred version of AreaDamageLooped.
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).
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
const float PARAM_DRY_MODIFIER
maximum value for temperature that will be transfered to player (environment)
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_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)
void RefreshFireplacePhysics()
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)
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)
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
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)
Serializer ParamsReadContext
InventoryTraversalType
tree traversal type, for more see http://en.wikipedia.org/wiki/Tree_traversal
Serializer ParamsWriteContext
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
vector GetPosition()
Get the world position of the Effect.
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)