1[
Obsolete(
"1.30: driven by ActionBuildPart")]
15 m_Text =
"#build_shelter_leather";
37 if ( constrution_part )
40 switch (constrution_part.
GetName())
43 ret =
"#build_shelter_leather";
47 ret =
"#build_shelter_fabric";
51 ret =
"#build_shelter_stick";
65 if ( constrution_part )
67 switch (constrution_part.
GetName())
70 m_Text =
"#build_shelter_leather";
74 m_Text =
"#build_shelter_fabric";
78 m_Text =
"#build_shelter_stick";
112 if (player.GetBrokenLegs() ==
eBrokenLegs.BROKEN_LEGS)
115 if (target.GetObject() && !target.GetObject().CanUseConstructionBuild())
117 if ( player.IsPlacingLocal() || player.IsPlacingServer() )
120 if ( (!
g_Game.IsDedicatedServer()) )
122 if ( MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item,
m_VariantID ) )
134 if ( super.SetupAction( player, target, item, action_data, extra_data ) )
136 if ( !
g_Game.IsDedicatedServer() )
149 BuildPartActionData action_data =
new BuildPartActionData;
155 super.WriteToContext(ctx, action_data);
157 ctx.
Write(BuildPartActionData.Cast(action_data).m_PartType);
163 super.ReadFromContext(ctx, action_recive_data);
166 if ( ctx.
Read(part_type) )
179 super.HandleReciveData(action_recive_data, action_data);
187 Construction construction = base_building.GetConstruction();
188 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
191 check_data.m_PartName = part_name;
194 return !construction.IsCollidingEx( check_data ) && construction.CanBuildPart( part_name, action_data.
m_MainItem,
false );
199 super.OnStart(action_data);
200 action_data.
m_Player.TryHideItemInHands(
true);
205 super.OnStartClient(action_data);
213 super.OnStartAnimationLoopClient(action_data);
220 super.OnEnd(action_data);
221 action_data.
m_Player.TryHideItemInHands(
false);
226 super.OnEndClient(action_data);
235 Construction construction = base_building.GetConstruction();
237 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
245 super.OnFinishProgressClient(action_data);
254 if (constrution_part)
256 switch (constrution_part.
GetName())
321 return "Base_building";
329 m_OldItem = old_item;
330 m_NewItemType = new_item_type;
335 super.CopyOldPropertiesToNew(old_item, new_item);
337 MiscGameplayFunctions.TransferItemProperties(old_item, new_item);
ref CCIBase m_ConditionItem
ref CCTBase m_ConditionTarget
ActionBuildShelter ActionContinuousBase BuildShelterFromShelterSiteLambda(EntityAI old_item, string new_item_type, PlayerBase player)
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
void CollisionCheckData()
void DetermineConstructionSounds(ActionData action_data)
override bool UseMainItem()
void StopActionLoopSound()
void DestroyActionLoopSound()
void PlayActionLoopSound(ActionData action_data)
override string GetSoundCategory(ActionData action_data)
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
string m_SoundsetBuildLoop
override void OnEndClient(ActionData action_data)
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
void ~ActionBuildShelter()
override bool ActionConditionContinue(ActionData action_data)
string m_SoundsetBuildFinish
override void OnStartAnimationLoopClient(ActionData action_data)
override void OnEnd(ActionData action_data)
override bool HasAlternativeInterrupt()
override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
override void OnStart(ActionData action_data)
override void OnStartClient(ActionData action_data)
override bool CanBeUsedLeaning()
void ActionBuildShelter()
override void OnFinishProgressServer(ActionData action_data)
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
void PlayActionStartSound(ActionData action_data)
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
override void OnFinishProgressClient(ActionData action_data)
override void CreateConditionComponents()
override string GetText()
EffectSound m_BuildLoopSound
void PlayActionFinishSound(ActionData action_data)
override ActionData CreateActionData()
override bool HasProgress()
string m_SoundsetBuildStart
void ActionContinuousBase()
ref ActionTarget m_Target
override void BuildPartServerEx(Man player, string part_name, int action_id)
ConstructionPart GetBuildPartNoToolAtIndex(int idx)
Instanced construction part data classes for dynamic data, statics now stored on EntityType level in ...
override void SetAutodestroy(bool auto_destroy)
Sets whether Effect automatically cleans up when it stops.
Wrapper class for managing sound through SEffectManager.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
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)
static EffectSound PlaySound(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false)
Create and play an EffectSound.
static void DestroyEffect(Effect effect)
Unregisters, stops and frees the Effect.
Manager class for managing Effect (EffectParticle, EffectSound)
proto bool Write(void value_out)
proto bool Read(void value_in)
DayZPlayerConstants
defined in C++
Serializer ParamsReadContext
Serializer ParamsWriteContext
void Obsolete(string msg="")
proto void Insert(int index, string input)
Inserts a string into the n-th index, increasing the string length by the size of the input.