1class PortableGasStove
extends ItemBase
5 protected const string FLAME_BUTANE_ON =
"dz\\gear\\cooking\\data\\flame_butane_ca.paa";
21 const string SOUND_BURNING =
"portablegasstove_burn_SoundSet";
22 const string SOUND_TURN_ON =
"portablegasstove_turn_on_SoundSet";
23 const string SOUND_TURN_OFF =
"portablegasstove_turn_off_SoundSet";
31 protected ref UniversalTemperatureSourceLambdaConstant
m_UTSLConst;
79 m_UTSLConst =
new UniversalTemperatureSourceLambdaConstant();
87 super.EEItemAttached(item, slot_name);
90 if (item.IsCookware())
99 super.EEItemDetached(item, slot_name);
102 if (item.IsCookware())
150 m_Light.AttachOnMemoryPoint(
this,
"light");
178 override void OnWork(
float consumed_energy)
187 if (item && item.CanHaveTemperature())
191 float cook_equip_temp = item.GetTemperature();
196 float diff = target - cook_equip_temp;
197 float heatPermCoef = item.GetHeatPermeabilityCoef();
258 cookEquipment.RemoveAudioVisualsOnClient();
289 return GetCompEM().IsWorking();
295 if (!super.CanPutInCargo(parent))
298 if (GetCompEM().IsSwitchedOn())
305 for (
int i = 0; i < GetInventory().GetAttachmentSlotsCount(); i++)
307 slotId = GetInventory().GetAttachmentSlotId(i);
308 if (parent.GetInventory().HasInventorySlot(slotId))
331 if (ent.GetInventory().GetCurrentInventoryLocation(loc) && loc.
IsValid())
335 parent = ent.GetHierarchyParent();
336 if (parent && parent.GetInventory().HasInventorySlot(slotId))
344 ent = ent.GetHierarchyParent();
347 return super.CanReceiveAttachment(attachment, slotId);
353 for (
int i = 0; i < attachment.GetInventory().GetSlotIdCount(); i++)
355 slotId = attachment.GetInventory().GetSlotId(i);
356 if (GetInventory().HasAttachmentSlot(slotId))
363 if (ent.GetInventory().GetCurrentInventoryLocation(loc) && loc.
IsValid())
367 parent = ent.GetHierarchyParent();
368 if (parent.GetInventory().HasInventorySlot(slotId))
376 ent = ent.GetHierarchyParent();
381 return super.CanLoadAttachment(attachment);
387 if (!super.CanPutIntoHands(parent))
392 return !GetCompEM().IsSwitchedOn();
401 return GetCompEM().IsWorking();
406 return GetCompEM().IsWorking();
424 GetInventory().CreateInInventory(
"LargeGasCanister");
425 GetInventory().CreateInInventory(
"Pot");
427 SpawnEntityOnGroundPos(
"WaterBottle", entity.GetPosition() +
Vector(0.2, 0, 0));
ActionLightItemOnFireCB ActionContinuousBaseCB ActionLightItemOnFire()
void AddAction(typename actionName)
void ClearCookingEquipment()
DEPRECATED.
InventoryLocationType
types of Inventory Location
proto native void ObjectDelete(Object obj)
Super root of all classes in Enforce script.
Wrapper class for managing sound through SEffectManager.
proto native bool IsValid()
verify current set inventory location
proto native int GetType()
returns type of InventoryLocation
override void EEItemAttached(EntityAI item, string slot_name)
override void OnSwitchOn()
override void OnWork(float consumed_energy)
void RefreshFlameVisual(bool working=false, bool hasAttachment=false)
EffectSound m_SoundTurnOn
EffectSound m_SoundTurnOff
override void OnWorkStart()
ref UniversalTemperatureSource m_UTSource
DEPRECATED Attached spark plug item.
ref Cooking m_CookingProcess
const float PARAM_COOKING_EQUIP_MAX_TEMP
DEPRECATED.
const float PARAM_COOKING_TARGET_TEMP
override bool CanPutIntoHands(EntityAI parent)
override void SetActions()
void RefreshFlameVisual(bool working=false)
ref UniversalTemperatureSourceSettings m_UTSSettings
override bool CanLoadAttachment(EntityAI attachment)
void RemoveCookingAudioVisuals()
void SetCookingEquipment(ItemBase equipment)
const string SOUND_BURNING
const float PARAM_COOKING_EQUIP_TEMP_INCREASE
DEPRECATED.
EffectSound m_SoundBurningLoop
override bool IsIgnited()
override void OnWorkStop()
const string SOUND_TURN_OFF
ItemBase m_CookingEquipment
const string SOUND_TURN_ON
override bool IsSelfAdjustingTemperature()
void ClearCookingEquipment(ItemBase pItem)
ref UniversalTemperatureSourceLambdaConstant m_UTSLConst
override void EEItemDetached(EntityAI item, string slot_name)
const float PARAM_COOKING_TEMP_THRESHOLD
override bool CanRemoveFromCargo(EntityAI parent)
override void OnSwitchOff()
override bool CanReceiveAttachment(EntityAI attachment, int slotId)
override bool CanPutInCargo(EntityAI parent)
override void OnDebugSpawn()
const float PARAM_COOKING_TIME_INC_COEF
override bool CanIgniteItem(EntityAI ignite_target=NULL)
const string FLAME_BUTANE_OFF
const string FLAME_BUTANE_ON
ItemBase GetCookingEquipment()
override bool GetCookingTargetTemperature(out float temperature)
original Timer deletes m_params which is unwanted
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
const float TEMP_COEF_GAS_STOVE
const float FIRE_ATTACHMENT_DAMAGE_PER_SECOND
various damage per second constants
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
proto native vector Vector(float x, float y, float z)
Vector constructor from components.