64 {
65 BuildingWithFireplace building = BuildingWithFireplace.Cast(action_data.m_Target.GetObject());
66 int index = action_data.m_Player.GetLastFirePointIndex();
67
69
72 vector smoke_point_pos = action_data.m_Target.GetObject().GetSelectionPositionMS(FireplaceIndoor.FIREPOINT_SMOKE_POSITION +
m_FirePointIndex.ToString());
73 vector smoke_point_pos_world = action_data.m_Target.GetObject().ModelToWorld(smoke_point_pos);
75
76 FireplaceIndoor fp_indoor = FireplaceIndoor.Cast(obj);
77 if ( fp_indoor )
78 {
81
82 vector fprot = vector.Zero;
84 fp_indoor.SetOrientation(fprot);
85
86 fp_indoor.Synchronize();
87
88
90 {
92 action_data.m_Player.LocalTakeEntityToTargetAttachment(fp_indoor, action_data.m_MainItem);
93 }
94 else
95 action_data.m_Player.ServerTakeEntityToTargetAttachment(fp_indoor, action_data.m_MainItem);
96 }
97 }
ActionPlaceFireplaceIndoor m_FirePointIndex
const int ECE_PLACE_ON_SURFACE
void ClearInventoryReservationEx(ActionData action_data)
string GetFireplaceType(int firePointIndex)
proto native Object CreateObjectEx(string type, vector pos, int iFlags, int iRotation=RF_DEFAULT)
Creates object of certain type.
void SetSmokePointPosition(vector smoke_point_pos)
void SetFirePointIndex(int fire_point_index)
proto native CGame GetGame()