DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ CreateActionData()

override ActionData ActionBuildPartHandsGeneric::CreateActionData ( )

См. определение в файле ActionBuildPart.c строка 556

556 : ActionReciveData
557{
558 string m_PartType;
559}
560
561class BuildPartActionData : ActionData
562{
563 string m_PartType;
564};
565
567{
568 override void CreateActionComponent()
569 {
570 float time = SetCallbackDuration(m_ActionData.m_MainItem);
571 m_ActionData.m_ActionComponent = new CAContinuousTime(time);
572 }
573
574 float SetCallbackDuration(ItemBase item)
575 {
576 #ifdef DIAG_DEVELOPER
577 if (m_ActionData.m_Player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.FAST)
578 return 1;
579 #endif
580
581 if (item) //TODO: configure and evaluate item suitability?
582 return UATimeSpent.BASEBUILDING_CONSTRUCT_MEDIUM;
583 else
584 return UATimeSpent.BASEBUILDING_CONSTRUCT_SLOW;
585 }
586};
587
589{
590 void ActionBuildPart()
591 {
592 m_CallbackClass = ActionBuildPartCB;
593 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
594 m_FullBody = true;
595 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
596
597 m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_HIGH;
598 m_LockTargetOnUse = false;
599 m_Text = "#build";
600 }
601
602 override void CreateConditionComponents()
603 {
604 m_ConditionItem = new CCINonRuined;
605 m_ConditionTarget = new CCTCursor;
606 }
607
608 override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
609 {
610 ConstructionActionData cad = player.GetConstructionActionData();
612 if (part)
613 {
614 string overrideText = part.GetBuildTextOverride();
615 if (overrideText == string.Empty)
616 m_Text = "#build "+ part.GetName();
617 else
618 m_Text = overrideText;
619
620 #ifdef DIAG_DEVELOPER
621 if (DiagMenu.GetBool(DiagMenuIDs.BASEBUILDING_FULLDEBUG))
622 {
623 m_Text = "dbgBuild | part classname: " + part.GetPartName();
624 }
625 #endif
626 }
627 }
628
629 override void InitInfoData()
630 {
631 m_InfoData = new ActionInfoDataConstructionPossible();
632 }
633
634 override bool CanBeUsedLeaning()
635 {
636 return false;
637 }
638
639 override bool CanBeUsedInFreelook()
640 {
641 return false;
642 }
643
644 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
645 {
646 #ifdef DIAG_DEVELOPER
647 if (player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.INSTANT)
648 return false;
649 #endif
650
651 EntityAI ent;
652 if (!Class.CastTo(ent,target.GetObject()))
653 return false;
654
655 if (player.IsPlacingLocal() || player.IsPlacingServer())
656 return false;
657
658 //Action not allowed if player has broken legs
659 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
660 return false;
661
662 if (!ent.CanUseConstruction() || !ent.CanUseConstructionBuild())
663 return false;
664
665 if ((!GetGame().IsDedicatedServer()))
666 {
667 if (!PositioningCheck(player, target))
668 return false;
669
670 if (MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item, m_VariantID))
671 return GatherInfoData(player,target,item);
672
673 return false;
674 }
675 return true;
676 }
677
678 override bool ActionConditionContinue(ActionData action_data)
679 {
680 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
681 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
682 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
683 CollisionCheckData check_data = new CollisionCheckData;
684
685 check_data.m_PartName = part_name;
686 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
687
688 bool canBuild = construction.CanBuildPart(part_name, action_data.m_MainItem, true);
689 #ifdef DIAG_DEVELOPER
690 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
691 canBuild = true;
692 #endif
693 if (GetGame().IsServer())
694 {
695 bool collides = construction.IsCollidingEx(check_data);
696
697 return !collides && canBuild;
698 }
699 else
700 {
701 return canBuild;
702 }
703 }
704
705 override void OnFinishProgressServer(ActionData action_data)
706 {
707 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
708 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
709
710 string partName = BuildPartActionData.Cast(action_data).m_PartType;
711 ConstructionPart part = construction.GetConstructionPart(partName);
713
714 checkData.m_PartName = partName;
715 checkData.m_AdditionalExcludes.Insert(action_data.m_Player);
716
717 bool canBuild = construction.CanBuildPart(partName, action_data.m_MainItem, UseMainItem()); //TODO: do we need to check it here when ActionVariantManager already does it?
718 #ifdef DIAG_DEVELOPER
719 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
720 canBuild = true;
721 #endif
722 if (!construction.IsCollidingEx(checkData) && canBuild)
723 {
724 //build
725 construction.BuildPartServerEx(action_data.m_Player, partName, AT_BUILD_PART);
726
727 #ifdef DIAG_DEVELOPER
728 //skip tool/hand damage on debug action
729 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
730 return;
731 #endif
732
733 //add damage to tool or hands
734 if (action_data.m_MainItem)
735 {
736 if (part.DamageToolOnBuild())
737 action_data.m_MainItem.DecreaseHealth(UADamageApplied.BUILD, false);
738 }
739 else
740 {
741 if (part.DamageHandsOnBuild())
742 {
743 EntityAI gloves = action_data.m_Player.GetInventory().FindAttachment(InventorySlots.GLOVES);
744 if (gloves && gloves.GetHealthLevel() < 4)
745 {
746 gloves.AddHealth("","", PlayerConstants.GLOVES_DAMAGE_HAND_CONSTRUCTION);
747 }
748 else if (Math.RandomFloat01() < PlayerConstants.CHANCE_TO_BLEED_HAND_CONSTRUCTION)
749 {
750 if (Math.RandomFloat01() < 0.5)
751 action_data.m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("LeftForeArmRoll");
752 else
753 action_data.m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("RightForeArmRoll");
754 action_data.m_Player.RequestSoundEventEx(EPlayerSoundEventID.INJURED_LIGHT); //play sound regardless?
755 }
756 }
757 }
758 }
759 }
760
761 override string GetSoundCategory(ActionData action_data)
762 {
763 return "Base_building";
764 }
765
766 override ActionData CreateActionData()
767 {
768 BuildPartActionData action_data = new BuildPartActionData;
769 return action_data;
770 }
771
772 //setup
773 override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
774 {
775 if (super.SetupAction(player, target, item, action_data, extra_data))
776 {
777 if (!g_Game.IsDedicatedServer())
778 {
779 ComposeBuildActionDataClient(player,target,item,action_data,extra_data);
780 }
781
782 SetBuildingAnimationEx(player, target, item, action_data, extra_data);
783 return true;
784 }
785
786 return false;
787 }
788
789 protected void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
790 {
791 ConstructionActionData cad = action_data.m_Player.GetConstructionActionData();
793 BuildPartActionData.Cast(action_data).m_PartType = part.GetPartName();
794 }
795
796 protected void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data = NULL)
797 {
798 if (!item)
799 return;
800
801 switch (item.Type())
802 {
803 case Pickaxe:
804 case Shovel:
805 case FarmingHoe:
806 case FieldShovel:
807 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DIG;
808 break;
809 case Pliers:
810 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
811 break;
812 case SledgeHammer:
813 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_MINEROCK;
814 break;
815 case BrickTrowel:
816 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_BRICKTROWEL;
817 break;
818 default:
819 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
820 break;
821 }
822 }
823
824 override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
825 {
826 super.WriteToContext(ctx, action_data);
827
828 ctx.Write(BuildPartActionData.Cast(action_data).m_PartType);
829 }
830
831 override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
832 {
833 action_recive_data = new BuildPartActionReciveData;
834 super.ReadFromContext(ctx, action_recive_data);
835
836 string part_type;
837 if (ctx.Read(part_type))
838 {
839 BuildPartActionReciveData.Cast(action_recive_data).m_PartType = part_type;
840 return true;
841 }
842 else
843 {
844 return false;
845 }
846 }
847
848 override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
849 {
850 super.HandleReciveData(action_recive_data, action_data);
851
852 BuildPartActionData.Cast(action_data).m_PartType = BuildPartActionReciveData.Cast(action_recive_data).m_PartType;
853 }
854
855 override string GetAdminLogMessage(ActionData action_data)
856 {
857 string partName = BuildPartActionData.Cast(action_data).m_PartType;
858
859 string itemName = "hands";
860 if (action_data.m_MainItem)
861 itemName = action_data.m_MainItem.GetDisplayName();
862
863 string message = string.Format("Built %1 on %2 with %3", partName, action_data.m_Target.GetObject().GetDisplayName(), itemName);
864 return message;
865 }
866
867 protected void ClearInfoData()
868 {
870 }
871
872 protected bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
873 {
875
876 ActionInfoDataConstructionPossible info = ActionInfoDataConstructionPossible.Cast(m_InfoData);
877 ConstructionActionData cad = player.GetConstructionActionData();
879 info.SetConstructionPart(part);
880 info.SetTool(item);
881
882 info.m_InfoContextMask |= EConstructionInfoCategories.MATERIALS_PRESENCE; //material info should always be visible
883 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info should always be visible
884
885 return info.CanDisplayInfo();
886 }
887
889 protected bool PositioningCheck(PlayerBase player, ActionTarget target)
890 {
891 EntityAI ent = EntityAI.Cast(target.GetObject());
892 BaseBuildingBase bbb = BaseBuildingBase.Cast(ent);
893 ConstructionActionData cad = player.GetConstructionActionData();
895
896 if (part)
897 {
898 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
899 if (!ent.IsPlayerInsideEx(player, part.GetPartName()))
900 {
901 if (bbb && !bbb.MustBeBuiltFromOutside())
902 return false;
903 else if (!bbb)
904 return false;
905 }
906 if (!construction.ConstructionDirectionCheck(player, part, EConstructionDirCheckType.INDOORS))
907 return false;
908 if (!construction.ConstructionInsiderBoxCheck(player, part))
909 return false;
910
911 return true;
912 }
913 return false;
914 }
915
917 protected ConstructionPart GetTargetPart(ConstructionActionData cad)
918 {
920 }
921
923 //deprecated//
925 [Obsolete("Use 'SetBuildingAnimationEx' instead")]
926 protected void SetBuildingAnimation(ItemBase item)
927 {
928 SetBuildingAnimationEx(null,null,item,null);
929 }
930}
931
933{
935 {
936 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD;
937 }
938
939 override void CreateConditionComponents()
940 {
941 m_ConditionItem = new CCINone;
942 m_ConditionTarget = new CCTCursor;
943 }
944
945 override bool UseMainItem()
946 {
947 return false;
948 }
949
950 override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
951 {
952 ConstructionActionData cad = player.GetConstructionActionData();
954 if (part)
955 {
956 string overrideText = part.GetBuildTextOverride();
957 if (overrideText == string.Empty)
958 m_Text = "#build "+ part.GetName();
959 else
960 m_Text = overrideText;
961
962 #ifdef DIAG_DEVELOPER
963 if (DiagMenu.GetBool(DiagMenuIDs.BASEBUILDING_FULLDEBUG))
964 {
965 m_Text = "dbgBuild | part classname: " + part.GetPartName() + " with hands";
966 }
967 #endif
968 }
969 }
970
971 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
972 {
973 #ifdef DIAG_DEVELOPER
974 if (player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.INSTANT)
975 return false;
976 #endif
977
978 if (item)
979 return false;
980
981 EntityAI ent;
982 if (!Class.CastTo(ent,target.GetObject()))
983 return false;
984
985 if (player.IsPlacingLocal() || player.IsPlacingServer())
986 return false;
987
988 //Action not allowed if player has broken legs
989 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
990 return false;
991
992 bool handConstructionCondition = ent.CanUseHandConstruction();
993 #ifdef DIAG_DEVELOPER
994 if (player.GetConstructionActionData().GetFastConstructionMode())
995 handConstructionCondition = true;
996 #endif
997
998 if (!ent.CanUseConstruction() || !ent.CanUseConstructionBuild() || !handConstructionCondition)
999 return false;
1000
1001 if ((!GetGame().IsDedicatedServer()))
1002 {
1003 if (!PositioningCheck(player, target))
1004 return false;
1005
1006 if (MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item, m_VariantID))
1007 return GatherInfoData(player,target,item);
1008
1009 return false;
1010 }
1011 return true;
1012 }
1013
1014 override bool ActionConditionContinue(ActionData action_data)
1015 {
1016 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
1017 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
1018 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
1019 CollisionCheckData check_data = new CollisionCheckData;
1020
1021 check_data.m_PartName = part_name;
1022 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
1023
1024 bool canBuild = construction.CanBuildPart(part_name, null, false);
1025 #ifdef DIAG_DEVELOPER
1026 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
1027 canBuild = true;
1028 #endif
1029 if (GetGame().IsServer())
1030 {
1031 bool collides = construction.IsCollidingEx(check_data);
1032
1033 return !collides && canBuild;
1034 }
1035 else
1036 {
1037 return canBuild;
1038 }
1039 }
1040
1041 override protected bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
1042 {
1043 ClearInfoData();
1044
1045 ActionInfoDataConstructionPossible info = ActionInfoDataConstructionPossible.Cast(m_InfoData);
1046 ConstructionActionData cad = player.GetConstructionActionData();
1048 info.SetConstructionPart(part);
1049 info.SetTool(item);
1050
1051 info.m_InfoContextMask |= EConstructionInfoCategories.MATERIALS_PRESENCE; //material info should always be visible
1052 /*
1053 int actionMask = part.GetBuildActionTypeMask();
1054 actionMask &= ~EConstructionTools.TOOL_HANDS;
1055 if (actionMask != 0)
1056 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info ONLY when also buildable by one!
1057 */
1058 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info should always be visible
1059
1060 return info.CanDisplayInfo();
1061 }
1062
1063 override protected void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
1064 {
1065 ConstructionActionData cad = action_data.m_Player.GetConstructionActionData();
1066 BuildPartActionData.Cast(action_data).m_PartType = cad.GetBuildPartHandsGenericAtIndex(m_VariantID).GetPartName();
1067 }
1068
1070 override protected ConstructionPart GetTargetPart(ConstructionActionData cad)
1071 {
1073 }
1074
1076 override protected void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data = NULL)
1077 {
1078 if (item)
1079 return;
1080
1081 BuildPartActionData buildData;
1082 if (Class.CastTo(buildData, action_data))
1083 {
1084 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
1085 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
1086 ConstructionPart part = construction.GetConstructionPart(buildData.m_PartType);
1087 int animOverrideID = part.GetHandBuildFBAnimOverride();
1088
1089 if (animOverrideID >= 0)
1090 m_CommandUID = animOverrideID;
1091 else
1092 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD;
1093 }
1094 }
1095}
1096
1097// Deprecated
class LogManager EntityAI
const int AT_BUILD_PART
bool m_FullBody
Определения ActionBase.c:60
string m_Text
Определения ActionBase.c:57
bool ActionConditionContinue(ActionData action_data)
Определения ActionBase.c:436
ref ActionInfoDataBase m_InfoData
Определения ActionBase.c:70
void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:1342
int m_VariantID
Определения ActionBase.c:67
void CreateConditionComponents()
Определения ActionBase.c:245
bool m_LockTargetOnUse
Определения ActionBase.c:59
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
float m_SpecialtyWeight
Определения ActionBase.c:77
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:441
bool UseMainItem()
Определения ActionBase.c:417
int m_StanceMask
Определения ActionBase.c:61
BuildPartActionReciveData m_PartType
void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:579
bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:662
bool PositioningCheck(PlayerBase player, ActionTarget target)
Can build from the inside only, if applicable.
Определения ActionBuildPart.c:679
void ClearInfoData()
Определения ActionBuildPart.c:657
override bool UseMainItem()
Определения ActionBuildPart.c:390
ConstructionPart GetTargetPart(ConstructionActionData cad)
Does not work on server, since variants are not updated there (invoker does not invoke)
Определения ActionBuildPart.c:707
ActionBuildPart ActionContinuousBase ActionBuildPartHandsGeneric()
Определения ActionBuildPart.c:379
void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data=NULL)
here we base anims on targeted part
Определения ActionBuildPart.c:586
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
void BaseBuildingBase()
Определения BaseBuildingBase.c:1326
void ConstructionBase(EntityAI parent)
Определения ConstructionBase.c:58
void CollisionCheckData()
Определения ConstructionBase.c:1923
EConstructionInfoCategories
Определения ConstructionConstants.c:2
void ConstructionPart(string name, string part_name, string main_part_name, int id, bool is_built, bool is_base, bool is_gate, array< string > required_parts)
Определения ConstructionPart.c:531
DayZGame g_Game
Определения DayZGame.c:4074
eBrokenLegs
Определения EBrokenLegs.c:2
DiagMenuIDs
Определения EDiagMenuIDs.c:2
class GP5GasMask extends MaskBase ItemBase
Empty
Определения Hand_States.c:14
EPlayerSoundEventID
Определения PlayerSoundEventHandler.c:3
ActionData m_ActionData
Определения AnimatedActionBase.c:3
void ActionBuildPart()
Определения ActionBuildPart.c:35
override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:218
override bool CanBeUsedInFreelook()
Определения ActionBuildPart.c:84
void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:234
override bool CanBeUsedLeaning()
Определения ActionBuildPart.c:79
bool PositioningCheck(PlayerBase player, ActionTarget target)
Can build from the inside only, if applicable.
Определения ActionBuildPart.c:334
override void CreateConditionComponents()
Определения ActionBuildPart.c:47
override string GetSoundCategory(ActionData action_data)
Определения ActionBuildPart.c:206
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
Определения ActionBuildPart.c:276
void SetBuildingAnimation(ItemBase item)
Определения ActionBuildPart.c:371
override bool ActionConditionContinue(ActionData action_data)
Определения ActionBuildPart.c:123
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:89
void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:241
override ActionData CreateActionData()
Определения ActionBuildPart.c:211
ConstructionPart GetTargetPart(ConstructionActionData cad)
Does not work on server, since variants are not updated there (invoker does not invoke)
Определения ActionBuildPart.c:362
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
Определения ActionBuildPart.c:269
override void InitInfoData()
Определения ActionBuildPart.c:74
override string GetAdminLogMessage(ActionData action_data)
Определения ActionBuildPart.c:300
override void OnFinishProgressServer(ActionData action_data)
Определения ActionBuildPart.c:150
bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:317
void ClearInfoData()
Определения ActionBuildPart.c:312
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
Определения ActionBuildPart.c:293
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:53
float SetCallbackDuration(ItemBase item)
Определения ActionBuildPart.c:19
override void CreateActionComponent()
Определения ActionBuildPart.c:13
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
ItemBase m_MainItem
Определения ActionBase.c:35
Определения ActionBase.c:22
int m_InfoContextMask
Определения ActionPartInfo.c:211
int m_CommandUID
Определения AnimatedActionBase.c:147
override bool MustBeBuiltFromOutside()
Определения ShelterSite.c:80
ConstructionPart GetBuildPartHandsGenericAtIndex(int idx)
Определения ConstructionActionData.c:364
ConstructionPart GetBuildPartAtIndex(int idx)
Определения ConstructionActionData.c:346
int GetHandBuildFBAnimOverride()
Определения ConstructionPart.c:253
string GetPartName()
Определения ConstructionPart.c:198
string GetBuildTextOverride()
Определения ConstructionPart.c:315
string GetName()
Определения ConstructionPart.c:193
bool DamageHandsOnBuild()
Определения ConstructionPart.c:218
bool DamageToolOnBuild()
Определения ConstructionPart.c:213
proto bool Write(void value_out)
proto bool Read(void value_in)
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
Serializer ParamsReadContext
Определения gameplay.c:15
Serializer ParamsWriteContext
Определения gameplay.c:16
DayZGame GetGame()
Определения gameplay.c:636
void Obsolete(string msg="")
Определения EnScript.c:371
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.