3 static const int RAYCAST_SOURCES_COUNT = 5;
43 super.CreateTrigger();
67 if (!
victim.GetAllowDamage())
107 else if (!
GetGame().IsDedicatedServer())
112 victim.SpawnDamageDealtEffect();
132 obj.ProcessDirectDamage(
DamageType.CLOSE_COMBAT,
this,
damageZone,
"BearTrapHit_CarWheel",
"0 0 0", 1);
142 if (obj.IsDamageDestroyed())
158 obj.ProcessDirectDamage(
DamageType.CLOSE_COMBAT,
this,
zoneUsed,
"BearTrapHit",
"0 0 0", 1);
175 zombie.SetHealth(
"LeftLeg",
"Health", 0.0);
176 zombie.SetHealth(
"RightLeg",
"Health", 0.0);
183 sound.SetAutodestroy(
true);
189 sound.SetAutodestroy(
true);
195 sound.SetAutodestroy(
true);
234 return "beartrap_deploy_SoundSet";
Param4< int, int, string, int > TSelectableActionInfoWithColor
void AddAction(typename actionName)
DamageType
exposed from C++ (do not change)
class GP5GasMask extends MaskBase ItemBase
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
string m_AnimationPhaseTriggered
void Synch(EntityAI victim)
keeping "step" here for consistency only
string m_AnimationPhaseGrounded
const float UPDATE_TIMER_INTERVAL
EntityAI GetClosestCarWheel(EntityAI victim)
string m_AnimationPhaseSet
void SetInactive(bool stop_timer=true)
TrapTrigger m_TrapTrigger
void StartActivate(PlayerBase player)
class JsonUndergroundAreaTriggerData GetPosition
Super root of all classes in Enforce script.
static proto bool RaycastRVProxy(notnull RaycastRVParams in, out notnull array< ref RaycastRVResult > results, array< Object > excluded=null)
Wrapper class for managing sound through SEffectManager.
Manager class for managing Effect (EffectParticle, EffectSound)
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.
Serialization general interface. Serializer API works with:
void OnServerSteppedOn(Object obj, string damageZone)
override void OnSteppedOn(EntityAI victim)
override void CreateTrigger()
override string GetLoopDeploySoundset()
override void OnActivate()
static const vector m_RaycastSources[RAYCAST_SOURCES_COUNT]
void PlaySoundBiteEmpty()
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
override void OnUpdate(EntityAI victim)
override bool CanBeDisarmed()
override bool IsDeployable()
override void SetActions()
void CauseVictimToStartLimping(Object obj, string damagedZone)
static const int RAYCAST_SOURCES_COUNT
override void OnSteppedOut(EntityAI victim)
override void EEHealthLevelChanged(int oldLevel, int newLevel, string zone)
void SetParentObject(TrapBase obj)
void SetExtents(vector mins, vector maxs)
Set the size of the Trigger, avoid using SetCollisionBox directly.
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static int RandomIntInclusive(int min, int max)
Returns a random int number between and min [inclusive] and max [inclusive].
const int SAT_DEBUG_ACTION