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)
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 OnDebugSpawn()
ref UniversalTemperatureSourceSettings m_UTSSettings
ItemBase GetCookingEquipment()
void RefreshFlameVisual(bool working=false, bool hasAttachment=false)
override bool IsSelfAdjustingTemperature()
void ClearCookingEquipment(ItemBase pItem)
override void OnSwitchOn()
ref Cooking m_CookingProcess
void RefreshFlameVisual(bool working=false)
override void OnSwitchOff()
override bool CanPutInCargo(EntityAI parent)
override void OnWorkStop()
void SetCookingEquipment(ItemBase equipment)
void RemoveCookingAudioVisuals()
ref UniversalTemperatureSourceLambdaConstant m_UTSLConst
override bool IsIgnited()
EffectSound m_SoundTurnOff
override void EEItemDetached(EntityAI item, string slot_name)
const float PARAM_COOKING_TIME_INC_COEF
EffectSound m_SoundBurningLoop
override void OnWork(float consumed_energy)
override bool CanIgniteItem(EntityAI ignite_target=NULL)
override bool GetCookingTargetTemperature(out float temperature)
override bool CanPutIntoHands(EntityAI parent)
EffectSound m_SoundTurnOn
const string FLAME_BUTANE_OFF
const string FLAME_BUTANE_ON
override bool CanRemoveFromCargo(EntityAI parent)
ref UniversalTemperatureSource m_UTSource
DEPRECATED Attached spark plug item.
override void OnWorkStart()
override void EEItemAttached(EntityAI item, string slot_name)
const float PARAM_COOKING_EQUIP_MAX_TEMP
DEPRECATED.
ItemBase m_CookingEquipment
const string SOUND_TURN_OFF
const float PARAM_COOKING_EQUIP_TEMP_INCREASE
DEPRECATED.
const float PARAM_COOKING_TARGET_TEMP
override bool CanReceiveAttachment(EntityAI attachment, int slotId)
const string SOUND_TURN_ON
const string SOUND_BURNING
const float PARAM_COOKING_TEMP_THRESHOLD
override bool CanLoadAttachment(EntityAI attachment)
override void SetActions()
original Timer deletes m_params which is unwanted
void ClearCookingEquipment()
DEPRECATED.
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.
InventoryLocationType
types of Inventory Location