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");
341 EntityAI ent = GetInventory().FindAttachment(slot);
370 super.EEDelete(parent);
400 if (!
super.OnStoreLoad(
ctx, version))
438 super.AfterStoreLoad();
471 super.OnVariablesSynchronized();
626 GetLightEntity().FadeBrightnessTo(FireplaceLight.m_FireplaceBrightness, 5);
1174 from[1] =
from[1] + 1.0;
1201 return Vector(0, 0.05, 0);
1206 return Vector(0, 0.05, 0);
1246 PlaySoundSet(
m_SoundFire,
"ExtinguishByWind_SoundSet", 0, 0);
1363 if (
item.IsAnyInherited({ItemBook, Paper, GiftWrapPaper, EyeMask_ColorBase}))
1371 if (
item.GetQuantity() <= 1)
1379 item.AddQuantity(-1);
1474 return GetInventory().AttachmentCount() == 1;
1639 SetAffectPathgraph(
false,
true);
1675 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceSpecial");
1677 m_NoisePar.LoadFromPath(
"CfgVehicles FireplaceBase NoiseFireplaceBase");
1706 float rain =
GetGame().GetWeather().GetRain().GetActual();
1815 SetAffectPathgraph(
false,
false);
1854 float rain =
GetGame().GetWeather().GetRain().GetActual();
1969 itsfood.MakeSoundsOnClient(
false);
2035 for (
int i = 0;
i <
cargo.GetItemCount();
i++)
2042 if (
item.GetHealth(
"",
"Health") <= 0 && !
item.IsKindOf(
"Grenade_Base"))
2053 for (
int j = 0;
j < GetInventory().AttachmentCount(); ++
j)
2112 switch (
item.Type())
2193 m_AreaDamage.SetExtents(
"-0.30 0 -0.30",
"0.30 0.75 0.30");
2196 m_AreaDamage.SetHitZones({
"Head",
"Torso",
"LeftHand",
"LeftLeg",
"LeftFoot",
"RightHand",
"RightLeg",
"RightFoot" });
2322 return (GetInventory().GetCargo().GetItemCount() == 0 && GetInventory().AttachmentCount() == 0);
2328 return (GetInventory().GetCargo().GetItemCount() == 0);
2372 const float size = 0.6;
2440 return "placeFireplace_SoundSet";
2505 super.OnAttachmentQuantityChanged(
item);
2612 GetInventory().CreateInInventory(
"Rag");
2614 SpawnEntityOnGroundPos(
"PetrolLighter",
GetPosition());
Param4< int, int, string, int > TSelectableActionInfoWithColor
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
eBleedingSourceType GetType()
ref NoiseParams m_NoisePar
const int ECE_PLACE_ON_SURFACE
Container_Base m_HalfExtents
override void EEDelete(EntityAI parent)
static const float PARAM_BURN_DAMAGE_COEF
void OnRPC(ParamsReadContext ctx)
ExplosiveLight m_Light
light
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)
ref UniversalTemperatureSourceSettings m_UTSSettings
float m_FuelBurnRateMP
determines how fast will the fireplace loose its temperature when cooling (lower is better)
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 PARAM_HEAT_THROUGH_AIR_COEF
radius in which objects are heated by fire
bool DirectCookingSlotsInUse()
static ref map< typename, ref FireConsumableType > m_FireConsumableTypes
FireConsumable GetItemToConsume()
const string ANIMATION_OVEN
const int DIRECT_COOKING_SLOT_COUNT
direct cooking slots
const int TIMER_HEATING_UPDATE_INTERVAL
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 string MESSAGE_IGNITE_IN_WATER
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
min height of ceiling for fire to be ignited
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
value for calculating temperature increase on each heat update interval (degree Celsius)
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
const int LIFETIME_FIREPLACE_STONE_OVEN
const float PARAM_MAX_TRANSFERED_TEMPERATURE
DEPRECATED value for calculation of heat transfered from fireplace through air to player (environment...
override void OnAttachmentRuined(EntityAI attachment)
int PARTICLE_NO_IGNITE_WIND
FireplaceFireState m_LastFireState
const string ANIMATION_TRIPOD
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)
const string MESSAGE_IGNITE_UNDER_LOW_ROOF
const float PARAM_MIN_FIRE_TEMPERATURE
maximum fireplace temperature of a normal 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
minimum temperature for items that can be heated in fireplace cargo or as attachments (degree Celsius...
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()
const string ANIMATION_STONES
void RefreshFireParticlesAndSounds(bool force_refresh)
bool IsOnInteriorSurface()
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 string MESSAGE_CANNOT_BUILD_OVEN
void SoundFireExtinguishingStart()
void StartFire(bool force_start=false)
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
const float PARAM_BURN_WET_THRESHOLD
maximum rain value when the fireplace can be ignited
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
temperature threshold for starting coooking process (degree Celsius)
const float PARAM_ITEM_HEAT_TEMP_INCREASE_COEF
value for calculating damage on items located in fireplace cargo
float m_TemperatureLossMP
int GetAttachedStonesCount()
const float PARAM_WET_INCREASE_COEF
maximum wetness value when the fireplace is able to burn
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)
override void EECargoOut(EntityAI item)
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
maximum value of temperature of items in fireplace when heating (degree Celsius)
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 IsItemTypeAttached(typename item_type)
void ParticleFireEndStop()
bool HasLastFuelKindlingAttached()
int GetFuelCount()
Returns count of all fuel type items (define in 'm_FuelTypes') attached to fireplace.
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
value for calculating of wetness that fireplace gain when raining
const int MIN_STONES_TO_BUILD_CIRCLE
const string ANIMATION_BURNT_WOOD
Particle m_ParticleSteamEnd
const string MESSAGE_REIGNITE_NO_KINDLING
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)
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)
override void SetWet(float value, bool allow_client=false)
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
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 float GetTemperature()
void SetIsPlaceSound(bool is_place_sound)
bool CanHaveTemperature()
override void OnItemLocationChanged(EntityAI old_owner, EntityAI new_owner)
override bool IsHologram()
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
override int GetQuantityMax()
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)
class JsonUndergroundAreaTriggerData GetPosition
Deferred version of AreaDamageLooped.
represents base for cargo storage for entities
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.
Wrapper class for managing sound through SEffectManager.
override bool CanExtinguishFire()
override bool CanCookOnStick()
override bool IsBaseFireplace()
override string GetPlaceSoundset()
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 bool IsFireplaceIndoor()
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 bool IsBarrelWithHoles()
override bool CanReleaseAttachment(EntityAI attachment)
script counterpart to engine's class Inventory
provides access to slot configuration
static proto native int GetSlotIdFromString(string slot_name)
converts string to slot_id
Legacy way of using particles in the game.
void SetParameter(int emitter, int parameter, float value)
Set the value of a parameter of an emitor in the particle.
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)
Serialization general interface. Serializer API works with:
original Timer deletes m_params which is unwanted
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.
proto native CGame GetGame()
const float FIRE_ATTACHMENT_DAMAGE_PER_SECOND
various damage per second constants
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 AbsFloat(float f)
Returns absolute value.
proto native int dBodyGetInteractionLayer(notnull IEntity ent)
const int SAT_DEBUG_ACTION