Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
fireplace.c
Go to the documentation of this file.
1 class Fireplace extends FireplaceBase
2 {
3  bool m_ContactEventProcessing;
4 
5  void Fireplace()
6  {
7  //Particles - default for FireplaceBase
8  PARTICLE_FIRE_START = ParticleList.CAMP_FIRE_START;
9  PARTICLE_SMALL_FIRE = ParticleList.CAMP_SMALL_FIRE;
10  PARTICLE_NORMAL_FIRE = ParticleList.CAMP_NORMAL_FIRE;
11  PARTICLE_SMALL_SMOKE = ParticleList.CAMP_SMALL_SMOKE;
12  PARTICLE_NORMAL_SMOKE = ParticleList.CAMP_NORMAL_SMOKE;
13  PARTICLE_FIRE_END = ParticleList.CAMP_FIRE_END;
14  PARTICLE_STEAM_END = ParticleList.CAMP_STEAM_2END;
15 
16  SetEventMask( EntityEvent.CONTACT | EntityEvent.TOUCH );
17  }
18 
19  override bool IsBaseFireplace()
20  {
21  return true;
22  }
23 
24  override void EOnTouch( IEntity other, int extra )
25  {
26  ContactEvent( other, GetPosition() );
27  }
28 
29  override void EOnContact( IEntity other, Contact extra )
30  {
31  ContactEvent( other, extra.Position );
32  }
33 
34  void ContactEvent( IEntity other, vector position )
35  {
36  if ( GetGame().IsServer() && !m_ContactEventProcessing && dBodyIsActive(this) && !IsSetForDeletion() )
37  {
38  m_ContactEventProcessing = true;
39  MiscGameplayFunctions.ThrowAllItemsInInventory(this, 0);
40  CheckForDestroy();
41  m_ContactEventProcessing = false;
42  }
43  }
44 
45  //attachments
46  override bool CanReceiveAttachment( EntityAI attachment, int slotId )
47  {
48  if ( !super.CanReceiveAttachment(attachment, slotId) )
49  return false;
50 
51  ItemBase item = ItemBase.Cast( attachment );
52 
53  //cookware
54  if ( ( item.Type() == ATTACHMENT_CAULDRON ) || ( item.Type() == ATTACHMENT_COOKING_POT ) )
55  {
56  if ( FindAttachmentBySlotName( "CookingTripod" ) || IsOven() )
57  return true;
58  return false;
59  }
60  if ( item.Type() == ATTACHMENT_FRYING_PAN )
61  {
62  if ( IsOven() )
63  return true;
64  return false;
65  }
66 
67  // food on direct cooking slots
68  if ( item.IsKindOf( "Edible_Base" ) )
69  {
70  if ( IsOven() )
71  return true;
72  return false;
73  }
74  //tripod
75 
76  if ( item.IsInherited(TripodBase) )
77  {
78  if (!IsOven() && !GetHierarchyParent())
79  return true;
80  return false;
81  }
82 
83  //stones
84  if ( item.Type() == ATTACHMENT_STONES )
85  {
86  if ( !GetHierarchyParent() && !IsBurning() )
87  return true;
88  return false;
89  }
90 
91  return true;
92  }
93 
94  override bool CanDisplayAttachmentSlot( int slot_id )
95  {
96  string slot_name = InventorySlots.GetSlotName(slot_id);
97  if ( super.CanDisplayAttachmentSlot(slot_id) )
98  {
99  if ( slot_name != "CookingEquipment" || FindAttachmentBySlotName( "CookingTripod" ) )
100  return true;
101  }
102 
103  return false;
104  }
105 
106  override bool CanLoadAttachment( EntityAI attachment )
107  {
108  if ( !super.CanLoadAttachment(attachment) )
109  return false;
110 
111  ItemBase item = ItemBase.Cast( attachment );
112 
113  //cookware
114  if ( ( item.Type() == ATTACHMENT_CAULDRON ) || ( item.Type() == ATTACHMENT_COOKING_POT ) )
115  {
116  //if ( IsItemTypeAttached( ATTACHMENT_TRIPOD ) /*|| IsOven()*/ )
117  return true;
118  }
119  if ( item.Type() == ATTACHMENT_FRYING_PAN )
120  {
121  //if ( IsOven() )
122  return true;
123  }
124 
125  // food on direct cooking slots
126  //if ( IsOven() )
127  //{
128  if ( item.IsKindOf( "Edible_Base" ) )
129  return true;
130  //}
131  //tripod
132  if ( item.Type() == ATTACHMENT_TRIPOD )
133  {
134  if ( GetHierarchyParent() == NULL )
135  return true;
136  }
137 
138  //stones
139  if ( item.Type() == ATTACHMENT_STONES )
140  {
141  if ( GetHierarchyParent() /*|| IsBurning()*/ )
142  return false;
143 
144  return true;
145  }
146 
147  return true;
148  }
149 
150  override bool CanReleaseAttachment( EntityAI attachment )
151  {
152  if (!super.CanReleaseAttachment(attachment))
153  {
154  return false;
155  }
156 
157  ItemBase item = ItemBase.Cast(attachment);
158  //stones
159  if (item.Type() == ATTACHMENT_STONES)
160  {
161  if (IsBurning())
162  {
163  return false;
164  }
165 
166  int stone_quantity = item.GetQuantity();
167  if (HasStoneCircle() && stone_quantity <= 8)
168  {
169  return false;
170  }
171 
172  if (IsOven())
173  {
174  return false;
175  }
176  }
177 
178  return true;
179  }
180 
181  override void EEItemAttached(EntityAI item, string slot_name)
182  {
183  super.EEItemAttached(item, slot_name);
184 
185  ItemBase item_base = ItemBase.Cast(item);
186 
187  if (IsKindling(item_base) || IsFuel(item_base))
188  {
189  AddToFireConsumables(item_base);
190  }
191 
192  //cookware
193  if (item_base.Type() == ATTACHMENT_COOKING_POT)
194  {
195  SetCookingEquipment(item_base);
196 
197  //rotate handle (if not in 'Oven' stage)
198  if (GetGame().IsServer() && !IsOven())
199  {
200  item_base.SetAnimationPhase(ANIMATION_COOKWARE_HANDLE, 0);
201  }
202  }
203  if (item.Type() == ATTACHMENT_CAULDRON)
204  {
205  SetCookingEquipment(item_base);
206 
207  //rotate handle (if not in 'Oven' stage)
208  if (GetGame().IsServer() && !IsOven())
209  {
210  item_base.SetAnimationPhase(ANIMATION_CAULDRON_HANDLE, 0);
211  }
212  }
213 
214  // direct cooking/smoking slots
215  bool edible_base_attached = false;
216  switch (slot_name)
217  {
218  case "DirectCookingA":
219  m_DirectCookingSlots[0] = item_base;
220  edible_base_attached = true;
221  break;
222  case "DirectCookingB":
223  m_DirectCookingSlots[1] = item_base;
224  edible_base_attached = true;
225  break;
226  case "DirectCookingC":
227  m_DirectCookingSlots[2] = item_base;
228  edible_base_attached = true;
229  break;
230 
231  case "SmokingA":
232  m_SmokingSlots[0] = item_base;
233  edible_base_attached = true;
234  break;
235  case "SmokingB":
236  m_SmokingSlots[1] = item_base;
237  edible_base_attached = true;
238  break;
239  case "SmokingC":
240  m_SmokingSlots[2] = item_base;
241  edible_base_attached = true;
242  break;
243  case "SmokingD":
244  m_SmokingSlots[3] = item_base;
245  edible_base_attached = true;
246  break;
247  }
248 
249  // reset cooking time (to prevent the cooking exploit)
250  if (GetGame().IsServer() && edible_base_attached)
251  {
252  Edible_Base edBase = Edible_Base.Cast(item_base);
253  if (edBase)
254  {
255  if (edBase.GetFoodStage())
256  {
257  edBase.SetCookingTime(0);
258  }
259  }
260  }
261 
262  //TODO
263  //add SetViewIndex when attaching various attachments
264 
266  }
267 
268  override void EEItemDetached(EntityAI item, string slot_name)
269  {
270  super.EEItemDetached(item, slot_name);
271 
272  ItemBase item_base = ItemBase.Cast(item);
273 
274  if (IsKindling(item_base) || IsFuel(item_base))
275  {
277  }
278 
279  //cookware
280  if (item_base.Type() == ATTACHMENT_COOKING_POT)
281  {
282  ClearCookingEquipment(item_base);
283 
284  //rotate handle
285  if (GetGame().IsServer())
286  {
287  item_base.SetAnimationPhase(ANIMATION_COOKWARE_HANDLE, 1);
288  }
289 
290  //remove audio visuals
291  Bottle_Base cooking_pot = Bottle_Base.Cast(item);
292  cooking_pot.RemoveAudioVisualsOnClient();
293  }
294  if (item_base.Type() == ATTACHMENT_CAULDRON)
295  {
296  ClearCookingEquipment(item_base);
297 
298  //rotate handle
299  if (GetGame().IsServer())
300  {
301  item_base.SetAnimationPhase(ANIMATION_CAULDRON_HANDLE, 1);
302  }
303 
304  //remove audio visuals
305  Bottle_Base cauldron = Bottle_Base.Cast( item );
306  cauldron.RemoveAudioVisualsOnClient();
307  }
308  if (item_base.Type() == ATTACHMENT_FRYING_PAN)
309  {
310  ClearCookingEquipment(item_base);
311 
312  //remove audio visuals
313  FryingPan frying_pan = FryingPan.Cast(item);
314  frying_pan.RemoveAudioVisualsOnClient();
315  }
316 
317  // direct cooking/smoking slots
318  switch (slot_name)
319  {
320  case "DirectCookingA":
321  m_DirectCookingSlots[0] = null;
322  break;
323  case "DirectCookingB":
324  m_DirectCookingSlots[1] = null;
325  break;
326  case "DirectCookingC":
327  m_DirectCookingSlots[2] = null;
328  break;
329 
330  case "SmokingA":
331  m_SmokingSlots[0] = null;
332  break;
333  case "SmokingB":
334  m_SmokingSlots[1] = null;
335  break;
336  case "SmokingC":
337  m_SmokingSlots[2] = null;
338  break;
339  case "SmokingD":
340  m_SmokingSlots[3] = null;
341  break;
342  }
343 
344  //no attachments left, no cargo items & no ashes are present
345  CheckForDestroy();
347  }
348 
349 
350  override void SetCookingEquipment(ItemBase equipment)
351  {
352  super.SetCookingEquipment(equipment);
353 
354  TripodBase stand = TripodBase.Cast(FindAttachmentBySlotName("CookingTripod"));
355  if (stand)
356  {
357  if (equipment)
358  stand.LockToParent();
359  else
360  stand.UnlockFromParent();
361  }
362  }
363 
364  override void OnBeforeTryDelete()
365  {
366  super.OnBeforeTryDelete();
367 
368  MiscGameplayFunctions.DropAllItemsInInventoryInBounds(this, m_HalfExtents);
369  }
370 
371  override bool IsPrepareToDelete()
372  {
373  return GetInventory().AttachmentCount() == 0 && !IsBurning() && !HasAshes();
374  }
375 
376  //CONDITIONS
377  //this into/outo parent.Cargo
378  override bool CanPutInCargo(EntityAI parent)
379  {
380  if (!super.CanPutInCargo(parent))
381  {
382  return false;
383  }
384 
385  if (HasAshes() || IsBurning() || HasStones() || HasStoneCircle() || IsOven() || !IsCargoEmpty() || HasCookingStand())
386  {
387  return false;
388  }
389 
390  return true;
391  }
392 
393  override bool CanRemoveFromCargo( EntityAI parent )
394  {
395  return true;
396  }
397 
398  //cargo item into/outo this.Cargo
399  override bool CanReceiveItemIntoCargo( EntityAI item )
400  {
401  if ( GetHierarchyParent() )
402  return false;
403 
404  return super.CanReceiveItemIntoCargo( item );
405  }
406 
407  override bool CanLoadItemIntoCargo( EntityAI item )
408  {
409  if (!super.CanLoadItemIntoCargo( item ))
410  return false;
411 
412  if ( GetHierarchyParent() )
413  return false;
414 
415  return true;
416  }
417 
418  //hands
419  override bool CanPutIntoHands(EntityAI parent)
420  {
421  if (!super.CanPutIntoHands(parent))
422  {
423  return false;
424  }
425 
426  if (HasAshes() || IsBurning() || HasStones() || HasStoneCircle() || IsOven() || !IsCargoEmpty() || HasCookingStand())
427  {
428  return false;
429  }
430 
431  return true;
432  }
433 
434  override bool CanDisplayAttachmentCategory( string category_name )
435  {
436  if ( !super.CanDisplayAttachmentCategory( category_name ) )
437  return false;
438 
439  if ( IsOven() )
440  {
441  if ( category_name == "CookingEquipment" )
442  return false;
443  if ( ( category_name == "DirectCooking" ) || ( category_name == "Smoking" ) )
444  return true;
445  }
446  else
447  {
448  if ( category_name == "CookingEquipment" )
449  return true;
450  if ( ( category_name == "DirectCooking" ) || ( category_name == "Smoking" ) )
451  return false;
452  }
453  return true;
454  }
455 
456  override bool CanAssignAttachmentsToQuickbar()
457  {
458  return false;
459  }
460 
461  override float HeightStartCheckOverride()
462  {
463  return 0.32;
464  }
465 
466  //particles
467  override bool CanShowSmoke()
468  {
469  return !IsOven();
470  }
471 
472 
473  void DestroyClutterCutter( Object clutter_cutter )
474  {
475  GetGame().ObjectDelete( clutter_cutter );
476  }
477 
478  override void RefreshPhysics()
479  {
480  super.RefreshPhysics();
481 
482  //Oven
483  if ( IsOven() )
484  {
485  RemoveProxyPhysics( ANIMATION_OVEN );
486  AddProxyPhysics( ANIMATION_OVEN );
487  }
488  else
489  {
490  RemoveProxyPhysics( ANIMATION_OVEN );
491  }
492 
493  //Tripod
495  {
496  RemoveProxyPhysics( ANIMATION_TRIPOD );
497  AddProxyPhysics( ANIMATION_TRIPOD );
498  }
499  else
500  {
501  RemoveProxyPhysics( ANIMATION_TRIPOD );
502  }
503  }
504 
505  override void RefreshFireplacePhysics()
506  {
507  RefreshPhysics();
508  }
509 
510  //on store save/load
511  override void OnStoreSave( ParamsWriteContext ctx )
512  {
513  super.OnStoreSave(ctx);
514 
515  if ( GetGame().SaveVersion() >= 110 )
516  {
517  // save stone circle state
518  ctx.Write( m_HasStoneCircle );
519 
520  // save stone oven state
521  ctx.Write( m_IsOven );
522  }
523  }
524 
525  override bool OnStoreLoad( ParamsReadContext ctx, int version )
526  {
527  if ( !super.OnStoreLoad(ctx, version) )
528  return false;
529 
530  if ( version >= 110 )
531  {
532  // read stone circle state
533  if ( !ctx.Read( m_HasStoneCircle ) )
534  {
535  m_HasStoneCircle = false;
536  return false;
537  }
538  // read stone oven state
539  if ( !ctx.Read( m_IsOven ) )
540  {
541  m_IsOven = false;
542  return false;
543  }
544  }
545  return true;
546  }
547 
548  override void AfterStoreLoad()
549  {
550  super.AfterStoreLoad();
551 
552  if ( IsBurning() )
553  {
554  if ( !m_ClutterCutter )
555  {
557  m_ClutterCutter.SetOrientation( GetOrientation() );
558  }
559  }
560  }
561 
562  //================================================================
563  // IGNITION ACTION
564  //================================================================
565 
566  // Item-to-item fire distribution
567  override bool HasFlammableMaterial()
568  {
569  return true;
570  }
571 
572  override bool CanBeIgnitedBy(EntityAI igniter = NULL)
573  {
574  return HasAnyKindling() && !IsBurning() && !GetHierarchyParent();
575  }
576 
577  override bool CanIgniteItem(EntityAI ignite_target = NULL)
578  {
579  return IsBurning();
580  }
581 
582  override bool IsIgnited()
583  {
584  return IsBurning();
585  }
586 
587  override void OnIgnitedTarget( EntityAI ignited_item )
588  {
589  }
590 
591  override void OnIgnitedThis( EntityAI fire_source )
592  {
593  //remove grass
594  Object cc_object = GetGame().CreateObjectEx( OBJECT_CLUTTER_CUTTER , GetPosition(), ECE_PLACE_ON_SURFACE );
595  cc_object.SetOrientation ( GetOrientation() );
596  GetGame().GetCallQueue( CALL_CATEGORY_GAMEPLAY ).CallLater( DestroyClutterCutter, 200, false, cc_object );
597 
598  //start fire
599  StartFire();
600 
601  if ( fire_source )
602  {
603  Man player = fire_source.GetHierarchyRootPlayer();
604 
605  if ( player )
606  {
607  EFireIgniteType ignate_type = EFireIgniteType.Unknow;
608 
609  if ( fire_source.ClassName() == "Matchbox" )
610  {
611  ignate_type = EFireIgniteType.Matchbox;
612  }
613  else if ( fire_source.ClassName() == "Roadflare" )
614  {
615  ignate_type = EFireIgniteType.Roadflare;
616  }
617  else if ( fire_source.ClassName() == "HandDrillKit" )
618  {
619  ignate_type = EFireIgniteType.HandDrill;
620  }
621 
622 
623  SyncEvents.SendPlayerIgnatedFireplace( player, ignate_type );
624  }
625  }
626  }
627 
628  override bool IsThisIgnitionSuccessful( EntityAI item_source = NULL )
629  {
630  SetIgniteFailure( false );
631  Param1<bool> failure;
632 
633  //check kindling
634  if ( !HasAnyKindling() )
635  {
636  return false;
637  }
638 
639  //check roof
640  if ( !IsOven() )
641  {
643  {
644  return false;
645  }
646  }
647 
648  //check surface
649  if ( IsOnWaterSurface() )
650  {
651  return false;
652  }
653 
654  //check wetness
655  if ( IsWet() )
656  {
657  SetIgniteFailure( true );
658 
659  failure = new Param1<bool>( GetIgniteFailure() );
660  GetGame().RPCSingleParam( this, FirePlaceFailure.WET, failure, true );
661  return false;
662  }
663 
664  // check if the fireplace isnt below a roof
665  // excluding this check whein oven stage
666  if ( !IsOven() && !MiscGameplayFunctions.IsUnderRoof( this ) )
667  {
668  // if not, check if there is strong rain or wind
669  if ( IsRainingAbove() )
670  {
671  SetIgniteFailure( true );
672 
673  failure = new Param1<bool>( GetIgniteFailure() );
674  GetGame().RPCSingleParam( this, FirePlaceFailure.WET, failure, true );
675  return false;
676  }
677 
678  if ( IsWindy() )
679  {
680  SetIgniteFailure( true );
681 
682  failure = new Param1<bool>( GetIgniteFailure() );
683  GetGame().RPCSingleParam( this, FirePlaceFailure.WIND, failure, true );
684  return false;
685  }
686  }
687 
688  return true;
689  }
690 
691  //================================================================
692  // FIREPLACE ENTITY
693  //================================================================
694  static Fireplace IgniteEntityAsFireplace( notnull EntityAI entity, notnull EntityAI fire_source )
695  {
696  //get player
697  PlayerBase player = PlayerBase.Cast( fire_source.GetHierarchyRootPlayer() );
698 
699  //create fireplace
700  Fireplace fireplace = Fireplace.Cast( GetGame().CreateObjectEx( "Fireplace" , entity.GetPosition(), ECE_PLACE_ON_SURFACE ) );
701 
702  //attach
703  if ( !GetGame().IsMultiplayer() ) //clear inventory reservation (single player)
704  {
706  entity.GetInventory().GetCurrentInventoryLocation( loc );
707  player.GetInventory().ClearInventoryReservationEx( entity, loc );
708  }
709 
710  if ( GetGame().IsServer() && GetGame().IsMultiplayer() )
711  {
712  player.ServerTakeEntityToTargetAttachment( fireplace, entity ); // multiplayer server side
713  }
714  else
715  {
716  player.LocalTakeEntityToTargetAttachment( fireplace, entity ); // single player or multiplayer client side
717  }
718 
719  //start fire
720  fireplace.StartFire();
721  fireplace.OnIgnitedThis(fire_source);
722 
723  return fireplace;
724  }
725 
726  static bool CanIgniteEntityAsFireplace(notnull EntityAI entity)
727  {
728  //check ceiling (enough space for smoke)
729  if (MiscGameplayFunctions.IsUnderRoof(entity, FireplaceBase.MIN_CEILING_HEIGHT) && IsEntityOnInteriorSurface(entity))
730  {
731  return false;
732  }
733 
734  //check surface
735  if (FireplaceBase.IsEntityOnWaterSurface(entity))
736  {
737  return false;
738  }
739 
740  if (!MiscGameplayFunctions.IsUnderRoof(entity))
741  return !FireplaceBase.IsRainingAboveEntity(entity);
742 
743  return true;
744  }
745 
746  //================================================================
747  // ADVANCED PLACEMENT
748  //================================================================
749 
750  override string GetPlaceSoundset()
751  {
752  return "placeFireplace_SoundSet";
753  }
754 
755  override void SetActions()
756  {
757  super.SetActions();
758 
768  }
769 }
ItemBase
Definition: inventoryitem.c:730
IsOnWaterSurface
bool IsOnWaterSurface()
Definition: fireplacebase.c:2435
GetGame
proto native CGame GetGame()
ATTACHMENT_CAULDRON
ATTACHMENT_CAULDRON
Definition: fireplacebase.c:208
ActionDismantleOven
ActionDismantlePartCB ActionDismantleOven
OnIgnitedThis
override void OnIgnitedThis(EntityAI fire_source)
Executed on Server when some item ignited this one.
Definition: fireworksbase.c:96
ActionBuildOven
ActionBuildOvenCB ActionContinuousBaseCB ActionBuildOven()
Definition: actionbuildoven.c:11
CALL_CATEGORY_GAMEPLAY
const int CALL_CATEGORY_GAMEPLAY
Definition: tools.c:10
IsCargoEmpty
bool IsCargoEmpty()
Definition: fireplacebase.c:2460
GetIgniteFailure
bool GetIgniteFailure()
Definition: fireplacebase.c:2367
HasStones
bool HasStones()
Definition: fireplacebase.c:1604
InventorySlots
provides access to slot configuration
Definition: inventoryslots.c:5
HasStoneCircle
bool HasStoneCircle()
Definition: fireplacebase.c:1599
ClearCookingEquipment
void ClearCookingEquipment(ItemBase pItem)
Definition: fireplacebase.c:550
ActionPlaceObject
Definition: actionplaceobject.c:9
AddToFireConsumables
protected void AddToFireConsumables(ItemBase item)
Definition: fireplacebase.c:1327
CanReceiveItemIntoCargo
override bool CanReceiveItemIntoCargo(EntityAI item)
Definition: container_base.c:72
HasCookingStand
bool HasCookingStand()
Definition: fireplacebase.c:2465
m_DirectCookingSlots
protected ItemBase m_DirectCookingSlots[DIRECT_COOKING_SLOT_COUNT]
Definition: fireplacebase.c:107
PARTICLE_NORMAL_SMOKE
protected int PARTICLE_NORMAL_SMOKE
Definition: fireplacebase.c:118
m_HalfExtents
Container_Base m_HalfExtents
PARTICLE_SMALL_SMOKE
protected int PARTICLE_SMALL_SMOKE
Definition: fireplacebase.c:117
CanReleaseAttachment
override bool CanReleaseAttachment(EntityAI attachment)
Definition: fireplacebase.c:2654
ActionDismantleStoneCircle
ActionDrainLiquidCB ActionDismantleStoneCircle
ANIMATION_TRIPOD
const string ANIMATION_TRIPOD
Definition: fireplacebase.c:177
IsBaseFireplace
bool IsBaseFireplace()
Definition: fireplacebase.c:509
IsRainingAbove
bool IsRainingAbove()
Definition: fireplacebase.c:2412
ATTACHMENT_TRIPOD
ATTACHMENT_TRIPOD
Definition: fireplacebase.c:203
InventoryLocation
InventoryLocation.
Definition: inventorylocation.c:27
ECE_PLACE_ON_SURFACE
const int ECE_PLACE_ON_SURFACE
Definition: centraleconomy.c:37
SetCookingEquipment
void SetCookingEquipment(ItemBase equipment)
Definition: fireplacebase.c:545
ANIMATION_CAULDRON_HANDLE
const string ANIMATION_CAULDRON_HANDLE
Definition: fireplacebase.c:181
TripodBase
Definition: cookingstand.c:1
m_IsOven
protected bool m_IsOven
Definition: fireplacebase.c:26
IsOven
bool IsOven()
Definition: fireplacebase.c:1595
Bottle_Base
Definition: canistergasoline.c:1
ANIMATION_OVEN
const string ANIMATION_OVEN
Definition: fireplacebase.c:178
FireplaceBase
Definition: barrelholes_colorbase.c:1
IsFuel
protected bool IsFuel(ItemBase item)
Returns if item attached to fireplace is fuel.
Definition: fireplacebase.c:1518
OBJECT_CLUTTER_CUTTER
const string OBJECT_CLUTTER_CUTTER
Definition: fireplacebase.c:210
IEntity
Definition: enentity.c:164
RefreshPhysics
void RefreshPhysics()
ActionTogglePlaceObject
Definition: actiontoggleplaceobject.c:1
Serializer
Serialization general interface. Serializer API works with:
Definition: serializer.c:55
EOnContact
override void EOnContact(IEntity other, Contact extra)
Definition: easteregg.c:112
ATTACHMENT_STONES
ATTACHMENT_STONES
Definition: fireplacebase.c:205
IsWet
bool IsWet()
Definition: fireplacebase.c:2383
SetIgniteFailure
void SetIgniteFailure(bool failure)
Definition: fireplacebase.c:2372
GetPosition
class JsonUndergroundAreaTriggerData GetPosition
Definition: undergroundarealoader.c:9
ParticleList
Definition: particlelist.c:11
IsCeilingHighEnoughForSmoke
bool IsCeilingHighEnoughForSmoke()
Definition: fireplacebase.c:2401
PlayerBase
Definition: playerbaseclient.c:1
CanPutIntoHands
override bool CanPutIntoHands(EntityAI parent)
Definition: explosivesbase.c:257
vector
Definition: enconvert.c:105
CanPutInCargo
override bool CanPutInCargo(EntityAI parent)
Definition: explosivesbase.c:247
HasFlammableMaterial
override bool HasFlammableMaterial()
Definition: fireworksbase.c:41
AfterStoreLoad
void AfterStoreLoad()
Definition: emotemanager.c:577
ActionPlaceFireplaceIntoBarrel
Definition: actionplacefireplaceintobarrel.c:1
ActionBuildStoneCircle
ActionBuildStoneCircleCB ActionContinuousBaseCB ActionBuildStoneCircle()
Definition: actionbuildstonecircle.c:11
m_ClutterCutter
protected Object m_ClutterCutter
Definition: fireplacebase.c:211
AddAction
void AddAction(typename actionName)
Definition: advancedcommunication.c:86
Object
Definition: objecttyped.c:1
PARTICLE_STEAM_END
protected int PARTICLE_STEAM_END
Definition: fireplacebase.c:121
m_SmokingSlots
protected ItemBase m_SmokingSlots[SMOKING_SLOT_COUNT]
Definition: fireplacebase.c:108
CanShowSmoke
bool CanShowSmoke()
Definition: fireplacebase.c:993
m_HasStoneCircle
protected bool m_HasStoneCircle
Definition: fireplacebase.c:27
ATTACHMENT_FRYING_PAN
ATTACHMENT_FRYING_PAN
Definition: fireplacebase.c:207
SetActions
void SetActions()
Definition: advancedcommunication.c:79
CanRemoveFromCargo
override bool CanRemoveFromCargo(EntityAI parent)
Definition: basebuildingbase.c:927
Contact
Definition: enphysics.c:300
EFireIgniteType
EFireIgniteType
Definition: efireignitetype.c:1
IsOnInteriorSurface
bool IsOnInteriorSurface()
Definition: fireplacebase.c:2448
GetFireConsumableByItem
protected FireConsumable GetFireConsumableByItem(ItemBase item)
Definition: fireplacebase.c:1365
PARTICLE_FIRE_START
protected int PARTICLE_FIRE_START
Definition: fireplacebase.c:112
dBodyIsActive
proto native bool dBodyIsActive(notnull IEntity ent)
ContactEvent
void ContactEvent(IEntity other, vector pos)
Definition: easteregg.c:61
IsKindling
protected bool IsKindling(ItemBase item)
Returns if item attached to fireplace is kindling.
Definition: fireplacebase.c:1500
IsPrepareToDelete
override bool IsPrepareToDelete()
Definition: fireplacebase.c:596
SyncEvents
Definition: syncevents.c:1
RefreshFireplacePhysics
void RefreshFireplacePhysics()
OnStoreSave
void OnStoreSave(ParamsWriteContext ctx)
Definition: modifierbase.c:229
ANIMATION_COOKWARE_HANDLE
const string ANIMATION_COOKWARE_HANDLE
Definition: fireplacebase.c:180
PARTICLE_SMALL_FIRE
protected int PARTICLE_SMALL_FIRE
Definition: fireplacebase.c:114
EOnTouch
override void EOnTouch(IEntity other, int extra)
Definition: easteregg.c:106
IsItemTypeAttached
bool IsItemTypeAttached(typename item_type)
Definition: fireplacebase.c:1536
StartFire
void StartFire(bool force_start=false)
Definition: fireplacebase.c:1697
CanDisplayAttachmentCategory
override bool CanDisplayAttachmentCategory(string category_name)
Definition: civiliansedan.c:135
CanLoadAttachment
override bool CanLoadAttachment(EntityAI attachment)
Definition: container_base.c:64
PARTICLE_NORMAL_FIRE
protected int PARTICLE_NORMAL_FIRE
Definition: fireplacebase.c:115
ATTACHMENT_COOKING_POT
ATTACHMENT_COOKING_POT
Definition: fireplacebase.c:206
PARTICLE_FIRE_END
protected int PARTICLE_FIRE_END
Definition: fireplacebase.c:119
EntityEvent
EntityEvent
Entity events for event-mask, or throwing event from code.
Definition: enentity.c:44
EEItemAttached
override void EEItemAttached(EntityAI item, string slot_name)
Definition: basebuildingbase.c:520
CanLoadItemIntoCargo
override bool CanLoadItemIntoCargo(EntityAI item)
Definition: container_base.c:80
HasAshes
bool HasAshes()
Definition: fireplacebase.c:1578
CanReceiveAttachment
override bool CanReceiveAttachment(EntityAI attachment, int slotId)
Definition: basebuildingbase.c:895
EEItemDetached
override void EEItemDetached(EntityAI item, string slot_name)
Definition: basebuildingbase.c:529
CanBeIgnitedBy
override protected bool CanBeIgnitedBy(EntityAI igniter=NULL)
Definition: fireworksbase.c:102
OnStoreLoad
bool OnStoreLoad(ParamsReadContext ctx, int version)
Definition: modifiersmanager.c:270
EntityAI
Definition: building.c:5
HasAnyKindling
bool HasAnyKindling()
Definition: fireplacebase.c:2352
RemoveFromFireConsumables
protected void RemoveFromFireConsumables(FireConsumable fire_consumable)
Definition: fireplacebase.c:1354
GetPlaceSoundset
override string GetPlaceSoundset()
Definition: fireplacebase.c:2574
ActionPlaceFireplaceIndoor
Definition: actionplacefireplaceindoor.c:1
CanDisplayAttachmentSlot
override bool CanDisplayAttachmentSlot(int slot_id)
Definition: trap_tripwire.c:236
Edible_Base
Definition: bearsteakmeat.c:1
GetOrientation
vector GetOrientation()
Definition: areadamagemanager.c:306
ActionPlaceOvenIndoor
Definition: actionplaceovenindoor.c:1
IsBurning
bool IsBurning()
Definition: fireplacebase.c:1566
RefreshFireplaceVisuals
void RefreshFireplaceVisuals()
Definition: fireplacebase.c:612