3 override void InitTrapValues()
5 super.InitTrapValues();
9 m_InitWaitTimeMin = 120;
10 m_InitWaitTimeMax = 180;
11 m_UpdateWaitTime = 30;
12 m_SpawnUpdateWaitTime = 30;
13 m_MaxActiveTime = 1200;
15 m_MinimalDistanceFromPlayersToCatch = 15;
19 m_AnimationPhaseUsed =
"triggered";
22 override bool CanBePlaced(Man player, vector position)
29 g_Game.SurfaceUnderObject(PlayerBase.Cast(player).GetHologramLocal().GetProjectionEntity(), surfaceType, liquidType);
31 return g_Game.IsSurfaceDigable(surfaceType);
38 if ( GetHierarchyRootPlayer().CanDropEntity(
this ) )
42 PlayerBase player = PlayerBase.Cast( GetHierarchyRootPlayer() );
46 PlayerBase owner_player = PlayerBase.Cast( GetHierarchyRootPlayer() );
49 vector trapPos = owner_player.GetDirection();
51 SetPosition( owner_player.GetPosition() + trapPos );
55 SetOrientation( owner_player.GetOrientation() );
61 override void InitCatchingComponent()
63 if (!m_CatchingContext)
65 int updateCount = m_MaxActiveTime/m_UpdateWaitTime;
66 Param2<EntityAI,int> par =
new Param2<EntityAI,int>(
this,updateCount);
67 m_CatchingContext =
new CatchingContextTrapLandSnare(par);
70 super.InitCatchingComponent();
77 override void OnPlacementComplete( Man player, vector position =
"0 0 0", vector orientation =
"0 0 0" )
79 super.OnPlacementComplete( player, position, orientation );
80 SetOrientation(orientation);
90 return "placeRabbitSnareTrap_SoundSet";
95 return "rabbitsnare_deploy_SoundSet";
113 override void AlignCatch(
ItemBase obj,
string catch_name )
115 if ( catch_name ==
"Animal_LepusEuropaeus" )
119 vector forward_vec = GetDirection();
120 vector side_vec = forward_vec.Perpend( ) * -0.22;
121 forward_vec = forward_vec * -0.3;
123 vector chatch_pos = obj.GetPosition() + forward_vec + side_vec;
124 obj.SetPosition( chatch_pos );
129class RabbitSnareTrap
extends Trap_RabbitSnare
PlaceObjectActionReciveData ActionReciveData ActionDeployObject()
void AddAction(typename actionName)
void RemoveAction(typename actionName)
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
override bool CanBePlaced(Man player, vector position)
class GP5GasMask extends MaskBase ItemBase
proto native void SetPosition(vector position)
Set the world position of the Effect.
override string GetDeploySoundset()
override string GetLoopDeploySoundset()
override bool IsDeployable()
string m_AnimationPhaseTriggered
string m_AnimationPhaseSet