13 Object target_object = target.GetObject();
15 if ( target_object && target_object.IsFireplace() )
20 if ( fireplace_barrel && fireplace_barrel.IsOpen() && !fireplace_barrel.HasAshes() && !fireplace_barrel.IsBurning() )
23 if ( fireplace_barrel.IsCargoEmpty() && fireplace_barrel.GetInventory().AttachmentCount() > 0 )
35 Object target_object = action_data.m_Target.GetObject();
38 string newTypeName =
"Fireplace";
40 bool found = action_data.m_Player.GetInventory().FindFirstFreeLocationForNewEntity( newTypeName,
FindInventoryLocationType.ANY, targetIL );
45 lambda.OverrideNewLocation( targetIL );
46 action_data.m_Player.ServerReplaceItemWithNew( lambda );
63 m_RemoveFromLocationPassed =
true;
72 super.CopyOldPropertiesToNew( old_item, new_item );
74 MiscGameplayFunctions.TransferInventory(old_item, new_item,
m_Player);
84 super.CreateNetworkObjectInfo(new_item);
void TakeFireplaceFromBarrelLambda(EntityAI old_item, string new_item_type, PlayerBase player)
class ActionTargets ActionTarget
FindInventoryLocationType
flags for searching locations in inventory
void ActionInteractBase()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override void OnExecuteServer(ActionData action_data)
void ActionTakeFireplaceFromBarrel()
proto native void RemoteObjectTreeCreate(Object obj)
RemoteObjectCreate - postponed registration of network object (and creation of remote object)....
void DeleteOldEntity()
Step F. - deletes physically old item.
void UndoRemoveOldItemFromLocation()
void CreateNetworkObjectInfo(EntityAI new_item)
Step G. - create NetworkObjectInfo for new item.
void RemoveOldItemFromLocation()
Step B. - free location for new item @NOTE this operation does not delete the object,...
void CopyOldPropertiesToNew(notnull EntityAI old_item, EntityAI new_item)
Step E. copy properties from old object to the created one.
base class for transformation operations (creating one item from another)
DayZPlayerConstants
defined in C++
proto native CGame GetGame()