68 super.EOnPostSimulate(other,timeSlice);
77 g_Game.ObjectDelete(attachedStones);
80 if (HasAnyAttachmentsOrCargo())
92 if ( !super.CanReceiveAttachment(attachment, slotId) )
100 if ( FindAttachmentBySlotName(
"CookingTripod" ) ||
IsOven() )
112 if ( item.IsKindOf(
"Edible_Base" ) )
122 if (!
IsOven() && !GetHierarchyParent())
130 if ( !GetHierarchyParent() && !
IsBurning() )
141 if ( super.CanDisplayAttachmentSlot(slot_id) )
143 if ( slot_name !=
"CookingEquipment" || FindAttachmentBySlotName(
"CookingTripod" ) )
152 if ( !super.CanLoadAttachment(attachment) )
172 if ( item.IsKindOf(
"Edible_Base" ) )
178 if ( GetHierarchyParent() == NULL )
185 if ( GetHierarchyParent() )
196 if (!super.CanReleaseAttachment(attachment))
210 int stone_quantity = item.GetQuantity();
227 super.EEItemAttached(item, slot_name);
237 if (item_base.IsCookware())
249 bool edible_base_attached =
false;
252 case "DirectCookingA":
254 edible_base_attached =
true;
256 case "DirectCookingB":
258 edible_base_attached =
true;
260 case "DirectCookingC":
262 edible_base_attached =
true;
267 edible_base_attached =
true;
271 edible_base_attached =
true;
275 edible_base_attached =
true;
279 edible_base_attached =
true;
291 super.EEItemDetached(item, slot_name);
301 if (item_base.IsCookware())
304 item_base.RemoveAudioVisualsOnClient();
307 if (item_base.IsLiquidContainer())
308 item_base.RemoveAudioVisualsOnClient();
321 case "DirectCookingA":
324 case "DirectCookingB":
327 case "DirectCookingC":
353 super.SetCookingEquipment(equipment);
359 stand.LockToParent();
361 stand.UnlockFromParent();
367 super.OnBeforeTryDelete();
369 MiscGameplayFunctions.DropAllItemsInInventoryInBounds(
this,
m_HalfExtents);
381 if (!super.CanPutInCargo(parent))
402 if ( GetHierarchyParent() )
405 return super.CanReceiveItemIntoCargo( item );
410 if (!super.CanLoadItemIntoCargo( item ))
413 if ( GetHierarchyParent() )
422 if (!super.CanPutIntoHands(parent))
437 if ( !super.CanDisplayAttachmentCategory( category_name ) )
442 if ( category_name ==
"CookingEquipment" )
444 if ( ( category_name ==
"DirectCooking" ) || ( category_name ==
"Smoking" ) )
449 if ( category_name ==
"CookingEquipment" )
451 if ( ( category_name ==
"DirectCooking" ) || ( category_name ==
"Smoking" ) )
476 g_Game.ObjectDelete( clutter_cutter );
481 super.RefreshPhysics();
514 super.OnStoreSave(ctx);
516 if (
g_Game.SaveVersion() >= 110 )
528 if ( !super.OnStoreLoad(ctx, version) )
531 if ( version >= 110 )
551 super.AfterStoreLoad();
604 Man player = fire_source.GetHierarchyRootPlayer();
610 if ( fire_source.ClassName() ==
"Matchbox" )
614 else if ( fire_source.ClassName() ==
"Roadflare" )
618 else if ( fire_source.ClassName() ==
"HandDrillKit" )
632 Param1<bool> failure;
661 g_Game.RPCSingleParam(
this, FirePlaceFailure.WET, failure,
true );
668 if ( !
IsOven() && !IsRoofAbove() )
676 g_Game.RPCSingleParam(
this, FirePlaceFailure.WET, failure,
true );
685 g_Game.RPCSingleParam(
this, FirePlaceFailure.WIND, failure,
true );
705 if ( !
g_Game.IsMultiplayer() )
708 entity.GetInventory().GetCurrentInventoryLocation( loc );
709 player.GetInventory().ClearInventoryReservationEx( entity, loc );
714 player.ServerTakeEntityToTargetAttachment( fireplace, entity );
718 player.LocalTakeEntityToTargetAttachment( fireplace, entity );
722 fireplace.StartFire();
723 fireplace.OnIgnitedThis(fire_source);
736 entity.CheckForRoofLimited();
737 if (!entity.IsRoofAbove())
ActionBuildOvenCB ActionContinuousBaseCB ActionBuildOven()
ActionBuildStoneCircleCB ActionContinuousBaseCB ActionBuildStoneCircle()
ActionDismantleOvenCB ActionContinuousBaseCB ActionDismantleOven()
ActionDismantleStoneCircleCB ActionContinuousBaseCB ActionDismantleStoneCircle()
ActionPlaceObjectCB ActiondeployObjectCB ActionPlaceObject()
void AddAction(typename actionName)
const int ECE_PLACE_ON_SURFACE
Container_Base m_HalfExtents
void RefreshFireplaceVisuals()
void RemoveFromFireConsumables(FireConsumable fire_consumable)
ref UniversalTemperatureSourceSettings m_UTSSettings
static bool IsEntityOnInteriorSurface(notnull EntityAI entity_ai)
override void CheckForDestroy()
const string ANIMATION_OVEN
bool IsCeilingHighEnoughForSmoke()
void AddToFireConsumables(ItemBase item)
const string OBJECT_CLUTTER_CUTTER
const string ANIMATION_CAULDRON_HANDLE
const string ANIMATION_TRIPOD
bool IsFuel(ItemBase item)
Returns if item attached to fireplace is fuel.
bool IsOnInteriorSurface()
const float PARAM_SMALL_FIRE_TEMPERATURE
int PARTICLE_NORMAL_SMOKE
void StartFire(bool force_start=false)
ItemBase m_DirectCookingSlots[DIRECT_COOKING_SLOT_COUNT]
void SetIgniteFailure(bool failure)
ref UniversalTemperatureSourceLambdaFireplace m_UTSLFireplace
ref UniversalTemperatureSource m_UTSource
const string ANIMATION_COOKWARE_HANDLE
void ClearCookingEquipment()
DEPRECATED.
FireConsumable GetFireConsumableByItem(ItemBase item)
ItemBase m_SmokingSlots[SMOKING_SLOT_COUNT]
bool IsKindling(ItemBase item)
Returns if item attached to fireplace is kindling.
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)
const float PARAM_OUTDOOR_FIRE_TEMPERATURE
maximum fireplace temperature of a normal fire (degree Celsius)
override void CheckForRoofLimited(float timeTresholdMS=3000)
Roof check for entity, limited by time (anti-spam solution)
override void OnBeforeTryDelete()
void ContactEvent(IEntity other, vector position)
void InitializeTemperatureSources()
override void SetActions()
override bool IsBaseFireplace()
static Fireplace IgniteEntityAsFireplace(notnull EntityAI entity, notnull EntityAI fire_source)
override void EOnTouch(IEntity other, int extra)
override void EOnContact(IEntity other, Contact extra)
override void RefreshFireplacePhysics()
override bool CanIgniteItem(EntityAI ignite_target=NULL)
override void EEItemAttached(EntityAI item, string slot_name)
override bool IsPrepareToDelete()
override void SetCookingEquipment(ItemBase equipment)
override bool CanObstruct()
override void RefreshPhysics()
override bool CanPutIntoHands(EntityAI parent)
override bool CanShowSmoke()
void DestroyClutterCutter(Object clutter_cutter)
override bool CanBeIgnitedBy(EntityAI igniter=NULL)
bool m_ContactEventProcessing
override bool CanDisplayAttachmentSlot(int slot_id)
void EOnPostSimulate(IEntity other, float timeSlice)
override bool HasFlammableMaterial()
override bool CanPutInCargo(EntityAI parent)
override void OnIgnitedTarget(EntityAI target_item)
override bool CanReceiveAttachment(EntityAI attachment, int slotId)
override bool CanLoadAttachment(EntityAI attachment)
override bool IsIgnited()
override void OnIgnitedThis(EntityAI fire_source)
override bool CanAssignAttachmentsToQuickbar()
static bool CanIgniteEntityAsFireplace(notnull EntityAI entity)
bool m_ContactDeletionProcessing
override bool CanReceiveItemIntoCargo(EntityAI item)
override bool CanProxyObstruct()
override void AfterStoreLoad()
override float HeightStartCheckOverride()
override bool IsThisIgnitionSuccessful(EntityAI item_source=NULL)
override bool OnStoreLoad(ParamsReadContext ctx, int version)
override void EEItemDetached(EntityAI item, string slot_name)
override bool CanRemoveFromCargo(EntityAI parent)
override void OnStoreSave(ParamsWriteContext ctx)
override bool CanDisplayAttachmentCategory(string category_name)
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanLoadItemIntoCargo(EntityAI item)
static proto native owned string GetSlotName(int id)
converts slot_id to string
provides access to slot configuration
static const int CAMP_SMALL_SMOKE
static const int CAMP_FIRE_START
static const int CAMP_NORMAL_SMOKE
static const int CAMP_STEAM_2END
static const int CAMP_SMALL_FIRE
static const int CAMP_FIRE_END
static const int CAMP_NORMAL_FIRE
proto bool Write(void value_out)
proto bool Read(void value_in)
static void SendPlayerIgnatedFireplace(Man player, EFireIgniteType ignite_type)
original Timer deletes m_params which is unwanted
Serializer ParamsReadContext
Serializer ParamsWriteContext
EntityEvent
Entity events for event-mask, or throwing event from code.
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
proto native bool dBodyIsActive(notnull IEntity ent)
vector GetPosition()
Get the world position of the Effect.