DayZ 1.27
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
71 //================================================================
72 // ADVANCED PLACEMENT
73 //================================================================
74
75 override void OnPlacementComplete( Man player, vector position = "0 0 0", vector orientation = "0 0 0" )
76 {
77 super.OnPlacementComplete( player, position, orientation );
78 SetOrientation(orientation);
79 }
80
81 override bool IsDeployable()
82 {
83 return true;
84 }
85
86 override string GetDeploySoundset()
87 {
88 return "placeRabbitSnareTrap_SoundSet";
89 }
90
91 override string GetLoopDeploySoundset()
92 {
93 return "rabbitsnare_deploy_SoundSet";
94 }
95
96 override void SetActions()
97 {
98 super.SetActions();
99
100 // We remove the hunting trap deploy action in order to all advanced placement
102
105 }
106
107 // ===============================================================
108 // ===================== DEPRECATED ============================
109 // ===============================================================
110
111 override void AlignCatch( ItemBase obj, string catch_name )
112 {
113 if ( catch_name == "Animal_LepusEuropaeus" )
114 {
115 obj.SetOrientation( GetOrientation() );
116
117 vector forward_vec = GetDirection();
118 vector side_vec = forward_vec.Perpend( ) * -0.22;
119 forward_vec = forward_vec * -0.3;
120
121 vector chatch_pos = obj.GetPosition() + forward_vec + side_vec;
122 obj.SetPosition( chatch_pos );
123 }
124 }
125}
126
127class RabbitSnareTrap extends Trap_RabbitSnare
128{
129
130}
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:4829
string m_AnimationPhaseTriggered
Определения TrapBase.c:34
float m_DefectRate
Определения TrapBase.c:19
void SetActive()
Определения TrapBase.c:414
string m_AnimationPhaseSet
Определения TrapBase.c:33
Определения InventoryItem.c:731
Определения PPEConstants.c:68
Определения PlayerBaseClient.c:2
override void AlignCatch(ItemBase obj, string catch_name)
Определения Trap_RabbitSnare.c:111
override string GetLoopDeploySoundset()
Определения Trap_RabbitSnare.c:91
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:75
override bool IsDeployable()
Определения Trap_RabbitSnare.c:81
override string GetDeploySoundset()
Определения Trap_RabbitSnare.c:86
override void SetActions()
Определения Trap_RabbitSnare.c:96
Определения 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:438