DayZ 1.28
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
Trap_RabbitSnare.c
См. документацию.
1class Trap_RabbitSnare extends TrapSpawnBase
2{
3 override void InitTrapValues()
4 {
5 super.InitTrapValues();
6
7 m_DefectRate = 2.5; //Added damage after trap activation
8
9 m_InitWaitTimeMin = 120;
10 m_InitWaitTimeMax = 180;
11 m_UpdateWaitTime = 30;
12 m_SpawnUpdateWaitTime = 30;
13 m_MaxActiveTime = 1200;
14 m_IsFoldable = true;
15 m_MinimalDistanceFromPlayersToCatch = 15;
16
17 m_AnimationPhaseSet = "inventory";
18 m_AnimationPhaseTriggered = "placing";
19 m_AnimationPhaseUsed = "triggered";
20 }
21
22 override bool CanBePlaced(Man player, vector position)
23 {
25 return true;
26
27 int liquidType;
28 string surfaceType;
29 g_Game.SurfaceUnderObject(PlayerBase.Cast(player).GetHologramLocal().GetProjectionEntity(), surfaceType, liquidType);
30
31 return g_Game.IsSurfaceDigable(surfaceType);
32 }
33
34 override void SetupTrap()
35 {
36 if ( GetGame().IsServer() )
37 {
38 if ( GetHierarchyRootPlayer().CanDropEntity( this ) )
39 {
40 if ( IsRuined() )
41 {
42 PlayerBase player = PlayerBase.Cast( GetHierarchyRootPlayer() );
43 }
44 else
45 {
46 PlayerBase owner_player = PlayerBase.Cast( GetHierarchyRootPlayer() );
47
48 //GetDirection
49 vector trapPos = owner_player.GetDirection();
50 trapPos[1] = 0;
51 SetPosition( owner_player.GetPosition() + trapPos );
52
53 SetActive();
54
55 SetOrientation( owner_player.GetOrientation() );
56 }
57 }
58 }
59 }
60
61 override void InitCatchingComponent()
62 {
63 if (!m_CatchingContext)
64 {
65 int updateCount = m_MaxActiveTime/m_UpdateWaitTime;
66 Param2<EntityAI,int> par = new Param2<EntityAI,int>(this,updateCount);
67 m_CatchingContext = new CatchingContextTrapLandSnare(par);
68 }
69
70 super.InitCatchingComponent();
71 }
72
73 //================================================================
74 // ADVANCED PLACEMENT
75 //================================================================
76
77 override void OnPlacementComplete( Man player, vector position = "0 0 0", vector orientation = "0 0 0" )
78 {
79 super.OnPlacementComplete( player, position, orientation );
80 SetOrientation(orientation);
81 }
82
83 override bool IsDeployable()
84 {
85 return true;
86 }
87
88 override string GetDeploySoundset()
89 {
90 return "placeRabbitSnareTrap_SoundSet";
91 }
92
93 override string GetLoopDeploySoundset()
94 {
95 return "rabbitsnare_deploy_SoundSet";
96 }
97
98 override void SetActions()
99 {
100 super.SetActions();
101
102 // We remove the hunting trap deploy action in order to allow advanced placement
104
107 }
108
109 // ===============================================================
110 // ===================== DEPRECATED ============================
111 // ===============================================================
112
113 override void AlignCatch( ItemBase obj, string catch_name )
114 {
115 if ( catch_name == "Animal_LepusEuropaeus" )
116 {
117 obj.SetOrientation( GetOrientation() );
118
119 vector forward_vec = GetDirection();
120 vector side_vec = forward_vec.Perpend( ) * -0.22;
121 forward_vec = forward_vec * -0.3;
122
123 vector chatch_pos = obj.GetPosition() + forward_vec + side_vec;
124 obj.SetPosition( chatch_pos );
125 }
126 }
127}
128
129class RabbitSnareTrap extends Trap_RabbitSnare
130{
131
132}
PlaceObjectActionReciveData ActionReciveData ActionDeployObject()
Определения ActionDeployObject.c:9
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
void RemoveAction(typename actionName)
Определения AdvancedCommunication.c:252
vector GetOrientation()
Определения AreaDamageManager.c:306
DayZGame g_Game
Определения DayZGame.c:3868
bool m_IsBeingPlaced
Определения ItemBase.c:4901
string m_AnimationPhaseTriggered
Определения TrapBase.c:34
float m_DefectRate
Определения TrapBase.c:19
void SetActive()
Определения TrapBase.c:414
string m_AnimationPhaseSet
Определения TrapBase.c:33
Определения PPEConstants.c:68
Определения PlayerBaseClient.c:2
override void AlignCatch(ItemBase obj, string catch_name)
Определения Trap_RabbitSnare.c:113
override string GetLoopDeploySoundset()
Определения Trap_RabbitSnare.c:93
override void InitTrapValues()
Определения Trap_RabbitSnare.c:3
override bool CanBePlaced(Man player, vector position)
Определения Trap_RabbitSnare.c:22
override void SetupTrap()
Определения Trap_RabbitSnare.c:34
override void InitCatchingComponent()
Определения Trap_RabbitSnare.c:61
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
Определения Trap_RabbitSnare.c:77
override bool IsDeployable()
Определения Trap_RabbitSnare.c:83
override string GetDeploySoundset()
Определения Trap_RabbitSnare.c:88
override void SetActions()
Определения Trap_RabbitSnare.c:98
Определения Trap_FishNet.c:2
vector Perpend()
Returns perpendicular vector. Perpendicular vector is computed as cross product between input vector ...
Определения EnConvert.c:209
Определения EnConvert.c:106
proto native CGame GetGame()
proto native void SetPosition(vector position)
Set the world position of the Effect.
Определения Effect.c:463