225 protected float m_SurfaceUnderWetnessModifier
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);
373 switch (attachment.Type())
378 EntityAI ent = GetInventory().FindAttachment(slot);
379 if (ent && ent.IsCookware())
381 vector direction = ent.GetDirection();
385 if (direction[0] < 0)
392 GetInventory().DropEntityInBounds(
InventoryMode.SERVER,
this, ent,
"2 0 2", angle, cos, sin);
402 super.EEDelete(parent);
415 super.OnStoreSave(ctx);
429 if (!super.OnStoreLoad(ctx, version))
467 super.AfterStoreLoad();
500 super.OnVariablesSynchronized();
564 temperature = GetTemperature();
646 super.OnChildItemRemoved(item);
654 MiscGameplayFunctions.DropAllItemsInInventoryInBounds(
this,
m_HalfExtents);
655 super.CheckForDestroy();
694 if (
vector.
DistanceSq(player.GetPosition(),
this.GetPosition()) > lightDist * lightDist)
700 GetLightEntity().FadeBrightnessTo(FireplaceLight.m_FireplaceBrightness, 5);
1054 float temperature = GetTemperature();
1096 particle =
ParticleManager.GetInstance().PlayOnObject(particle_type,
this, pos);
1100 particle =
ParticleManager.GetInstance().PlayInWorld(particle_type, pos);
1183 float actual_height;
1209 float actual_height;
1295 from[1] = from[1] + 1.0;
1299 int contactComponent;
1301 bool hit =
DayZPhysics.
RaycastRV(from, to, contactPos, contactDir, contactComponent, NULL, NULL,
this);
1310 actual_height =
Math.
Clamp(actual_height, 0, 36);
1312 air_res = (6 - actual_height) * 0.33;
1322 return Vector(0, 0.05, 0);
1327 return Vector(0, 0.05, 0);
1367 PlaySoundSet(
m_SoundFire,
"ExtinguishByWind_SoundSet", 0, 0);
1389 if (!fireConsumableType)
1393 for (
int i = 0; i < count; ++i)
1400 if (fireConsumableType)
1409 if (fire_consumable)
1412 delete fire_consumable;
1473 if (!fireConsumable)
1492 if (item.IsAnyInherited({ItemBook, Paper, GiftWrapPaper, EyeMask_ColorBase}))
1500 if (item.GetQuantity() <= 1)
1510 item.AddQuantity(-1);
1522 int attachmentsCount = GetInventory().AttachmentCount();
1523 int kindlingCount = 0;
1525 for (
int i = 0; i < attachmentsCount; ++i)
1533 return kindlingCount;
1539 int attachmentsCount = GetInventory().AttachmentCount();
1542 for (
int i = 0; i < attachmentsCount; ++i)
1556 if (!fireConsumableType)
1560 for (
int i = 0; i < count; ++i)
1567 return fireConsumableType && fireConsumableType.
IsKindling();
1574 if (!fireConsumableType)
1578 for (
int i = 0; i < count; ++i)
1585 return fireConsumableType && !fireConsumableType.
IsKindling();
1591 return GetAttachmentByType(item_type) != null;
1599 return item.GetQuantity() >= quantity;
1605 return GetInventory().AttachmentCount() == 1;
1656 return attached_item && attached_item.GetQuantity() > 0;
1756 SetAffectPathgraph(
false,
true);
1793 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceSpecial");
1795 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceBase");
1802 float temperatureModifier = 0;
1828 float combinedWindAndSnowfall = MiscGameplayFunctions.GetCombinedSnowfallWindValue();
1832 if (rain > combinedWindAndSnowfall)
1849 if (m_SurfaceUnderWetnessModifier > 0.0)
1854 temperature =
Math.
Clamp(temperature,
g_Game.GetMission().GetWorldData().GetBaseEnvTemperatureAtObject(
this),
m_UTSLFireplace.m_NormalFireplaceTemperatureMax);
1855 SetTemperatureDirect(temperature);
1861 temperature = GetTemperature();
1878 float cookingItemTemperature;
1940 SetAffectPathgraph(
false,
false);
1972 float temperature = GetTemperature();
1973 float temperatureModifier = 0;
1988 if (temperature > target)
1992 float combinedWindAndSnowfall = MiscGameplayFunctions.GetCombinedSnowfallWindValue();
1996 if (rain > combinedWindAndSnowfall)
2013 float wetness =
GetWet();
2017 target =
g_Game.GetMission().GetWorldData().GetBaseEnvTemperatureAtObject(
this);
2019 float flatWetTarget = GetTemperature() - temperatureModifier;
2020 flatWetTarget =
Math.
Clamp(flatWetTarget,target,GetTemperatureMax());
2021 SetTemperatureDirect(flatWetTarget);
2029 temperature = GetTemperature();
2046 float cookingItemTemperature;
2091 cookware.RemoveAudioVisualsOnClient();
2100 cookware.RemoveAudioVisualsOnClient();
2170 CargoBase cargo = GetInventory().GetCargo();
2186 for (
int j = 0; j < GetInventory().AttachmentCount(); ++j)
2188 ItemBase attachment =
ItemBase.Cast(GetInventory().GetAttachmentFromIndex(j));
2204 if (item.CanHaveTemperature())
2206 float fireplaceTemp = GetTemperature();
2207 float itemTemp = item.GetTemperature();
2208 float heatPermCoef = item.GetHeatPermeabilityCoef();
2227 item.SetTemperatureEx(
new TemperatureDataInterpolated(fireplaceTemp,
ETemperatureAccessTypes.ACCESS_FIREPLACE,deltaTime,tempCoef,heatPermCoef));
2260 float timerCoef = 1.0;
2266 switch (item.Type())
2274 if (item.IsCookware())
2291 float wetness = item.GetWet();
2292 wetness = wetness + amount;
2294 item.SetWet(wetness);
2301 float wetness =
GetWet();
2302 wetness = wetness + amount;
2309 float temperature = GetTemperature();
2310 temperature = temperature * (1 - (wetness * 0.5));
2312 SetTemperatureDirect(temperature);
2330 m_AreaDamage.SetExtents(
"-0.30 0 -0.30",
"0.30 0.75 0.30");
2333 m_AreaDamage.SetHitZones({
"Head",
"Torso",
"LeftHand",
"LeftLeg",
"LeftFoot",
"RightHand",
"RightLeg",
"RightFoot" });
2371 return (wind_speed >= wind_speed_threshold);
2387 return (entity_ai.GetWet() >=
FireplaceBase.PARAM_MAX_WET_TO_IGNITE);
2404 return !MiscGameplayFunctions.IsUnderRoof(
this,
FireplaceBase.MIN_CEILING_HEIGHT);
2421 vector fireplacePosition = entity_ai.GetPosition();
2423 g_Game.SurfaceGetType3D(fireplacePosition[0], fireplacePosition[1] +
g_Game.SurfaceGetSeaLevel(), fireplacePosition[2], surfaceType);
2426 float waterLevelDiff = fireplacePosition[1] -
g_Game.SurfaceGetSeaLevel();
2427 return waterLevelDiff < 0.5;
2429 else if (surfaceType.
Contains(
"water"))
2441 g_Game.SurfaceUnderObjectCorrectedLiquid(entity, surfaceType, liquidType);
2455 vector fireplacePosition = entity_ai.GetPosition();
2456 GetGame().
SurfaceGetType3D(fireplacePosition[0], fireplacePosition[1] + 1.0, fireplacePosition[2], surfaceType);
2457 return (
GetGame().ConfigGetInt(
"CfgSurfaces " + surfaceType +
" interior") == 1);
2467 return (GetInventory().GetCargo().GetItemCount() == 0 && GetInventory().AttachmentCount() == 0);
2473 return (GetInventory().GetCargo().GetItemCount() == 0);
2484 return GetAnimationPhase(anim_phase) == 0;
2490 if (
GetGame().IsBoxCollidingGeometry(GetWorldPosition() +
Vector(0, size[1] * 0.5 + 0.1, 0), GetDirection().VectorToAngles(), size, ObjIntersect.View, ObjIntersect.Geom, {this}, objs))
2492 foreach (
Object obj : objs)
2504 if (!otherDestination || otherDestination.
GetParent() ==
this)
2519 const float size = 0.6;
2581 super.OnPlacementComplete(player, position, orientation);
2587 cc_object.SetOrientation(orientation);
2594 return "placeFireplace_SoundSet";
2609 string quantityConfigPath =
string.Format(
"CfgVehicles %1 varQuantityMax", fireConsumableType.GetItemType().ToString());
2610 string stackMaxConfigPath =
string.Format(
"CfgSlots Slot_%1 stackMax", fireConsumableType.GetAttSlot());
2611 if (
GetGame().ConfigIsExisting(quantityConfigPath))
2616 if (
GetGame().ConfigIsExisting(stackMaxConfigPath))
2644 float remainingEnergy;
2648 float quantity = fireConsumable.GetItem().GetQuantity();
2651 remainingEnergy += ((quantity - 1) * fireConsumable.GetEnergy()) + fireConsumable.GetRemainingEnergy();
2656 remainingEnergy += fireConsumable.GetRemainingEnergy();
2667 super.OnAttachmentQuantityChanged(item);
2674 if (!super.CanReleaseAttachment(attachment))
2690 string path_cooking_equipment =
string.Format(
"%1 %2 GUIInventoryAttachmentsProps CookingEquipment attachmentSlots",
CFG_VEHICLESPATH,
GetType());
2692 string path_direct_cooking =
string.Format(
"%1 %2 GUIInventoryAttachmentsProps DirectCooking attachmentSlots",
CFG_VEHICLESPATH,
GetType());
2693 if (
GetGame().ConfigIsExisting(path_cooking_equipment) &&
GetGame().ConfigIsExisting(path_direct_cooking))
2699 for (
int i = 0; i < arr_cooking_equipment.Count(); i++)
2708 for (i = 0; i < arr_direct_cooking.Count(); i++)
2726 super.OnRPC(sender, rpc_type, ctx);
2728 ref Param1<bool> p =
new Param1<bool>(
false);
2732 bool failure = p.param1;
2737 case FirePlaceFailure.WIND:
2748 case FirePlaceFailure.WET:
2768 ItemBase firewood =
ItemBase.Cast(GetInventory().CreateInInventory(
"Firewood"));
2771 ItemBase sticks =
ItemBase.Cast(GetInventory().CreateInInventory(
"WoodenStick"));
2777 GetInventory().CreateInInventory(
"Rag");
2779 SpawnEntityOnGroundPos(
"PetrolLighter",
GetPosition());
2788 super.GetDebugActions(outputList);
2793 if (super.OnAction(action_id, player, ctx))
2797 if (action_id ==
EActions.ACTIVATE_ENTITY)
2801 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
Container_Base m_HalfExtents
override void EEDelete(EntityAI parent)
static const float PARAM_BURN_DAMAGE_COEF
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
static bool IsEntityOnInteriorSurface(notnull EntityAI entity_ai)
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()
static ref map< typename, ref FireConsumableType > m_FireConsumableTypes
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)
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
static bool IsEntityOnWaterSurface(notnull EntityAI entity_ai)
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
static bool IsEntityWet(notnull EntityAI entity_ai)
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
static bool IsRainingAboveEntity(notnull EntityAI entity_ai)
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
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)
InventoryLocationType
types of Inventory Location
override void SetWet(float value, bool allow_client=false)
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
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 void OnItemLocationChanged(EntityAI old_owner, EntityAI new_owner)
override bool IsHologram()
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
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)
void UnderObjectDecalSpawnComponent(notnull UnderObjectDecalSpawnSettings pSettings, notnull Object pParent)
Deferred version of AreaDamageLooped.
proto native NoiseSystem GetNoiseSystem()
proto native float ConfigGetFloat(string path)
Get float value from config on path.
override ScriptCallQueue GetCallQueue(int call_category)
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 void ConfigGetTextArray(string path, out TStringArray values)
Get array of strings from config on path.
proto native DayZPlayer GetPlayer()
proto native Object CreateObjectEx(string type, vector pos, int iFlags, int iRotation=RF_DEFAULT)
Creates object of certain type.
proto native Weather GetWeather()
Returns weather controller object.
proto native int GetItemCount()
proto native EntityAI GetItem(int index)
represents base for cargo storage for entities
Super root of all classes in Enforce script.
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.
void MakeSoundsOnClient(bool soundstate, CookingMethodType cookingMethod=CookingMethodType.NONE)
Wrapper class for managing sound through SEffectManager.
float GetRemainingEnergy()
void SetRemainingEnergy(float energy)
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 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)
proto native bool EnumerateInventory(InventoryTraversalType tt, out array< EntityAI > items)
enumerate inventory using traversal type and filling items array
proto native CargoBase GetCargo()
cargo
script counterpart to engine's class Inventory
proto native EntityAI GetParent()
returns parent of current inventory location
proto native int GetType()
returns type of InventoryLocation
static proto native int GetSlotIdFromString(string slot_name)
converts string to slot_id
provides access to slot configuration
override bool SetQuantity(float value, bool destroy_config=true, bool destroy_forced=false, bool allow_client=false, bool clamp_to_stack_max=true)
static float GetNoiseReduction(Weather weather)
proto void AddNoisePos(EntityAI source_entity, vector pos, NoiseParams noise_params, float external_strenght_multiplier=1.0)
Legacy way of using particles in the game.
static const int CAMP_NO_IGNITE_WIND
static const int CAMP_STOVE_FIRE_START
static const int CAMP_SMALL_SMOKE
static const int CAMP_STEAM_EXTINGUISH_START
static const int CAMP_FIRE_START
static const int CAMP_NORMAL_SMOKE
static const int CAMP_STOVE_FIRE
static const int CAMP_STEAM_2END
static const int CAMP_SMALL_FIRE
static const int CAMP_FIRE_END
static const int CAMP_NORMAL_FIRE
static const int CAMP_STOVE_FIRE_END
The class that will be instanced (moddable)
proto void Call(func fn, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
proto bool Write(void value_out)
proto bool Read(void value_in)
static float GetParamFloat(string surface_name, string param_name)
original Timer deletes m_params which is unwanted
proto native float GetWindSpeed()
Returns actual wind speed in metre per second.
proto native float GetWindMaximumSpeed()
Returns maximal wind speed in metre per second.
proto native Rain GetRain()
Returns a rain phenomenon object.
proto native float GetActual()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.
static float Dot(vector v1, vector v2)
Returns Dot product of vector v1 and vector v2.
static const vector Forward
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
Serializer ParamsReadContext
InventoryTraversalType
tree traversal type, for more see http://en.wikipedia.org/wiki/Tree_traversal
proto native CGame GetGame()
Serializer ParamsWriteContext
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
const float TEMP_COEF_FIREPLACE_COOLING
const float TEMP_COEF_FIREPLACE_HEATING
const float FIRE_ATTACHMENT_DAMAGE_PER_SECOND
various damage per second constants
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
const int STATE_BADLY_DAMAGED
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
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 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'.
static proto float Sin(float angle)
Returns sinus of angle in radians.
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...
proto native int dBodyGetInteractionLayer(notnull IEntity ent)
const int SAT_DEBUG_ACTION
class JsonUndergroundAreaTriggerData GetPosition
bool Contains(string sample)
Returns true if sample is substring of string.