10 bool m_DealDamageFlag;
12 EffectArea m_EffectArea;
13 int m_EffectsPriority;
17 bool m_DebugShapeActive;
22 RegisterNetSyncVariableInt(
"m_AroundPartId");
23 RegisterNetSyncVariableInt(
"m_TinyPartId");
24 RegisterNetSyncVariableInt(
"m_PPERequester");
25 RegisterNetSyncVariableInt(
"m_EffectsPriority");
35 void SetLocalEffects(
int aroundPartId,
int tinyPartId,
int ppeRequesterIdx )
37 m_AroundPartId = aroundPartId;
38 m_TinyPartId = tinyPartId;
44 EffectArea GetEffectArea()
49 void Init(EffectArea area,
int priority)
52 m_EffectsPriority = priority;
55 int GetEffectsPriority()
57 return m_EffectsPriority;
60 string GetAmbientSoundsetName()
65 void SetupClientEffects(
bool enable, notnull
PlayerBase player)
67 if ( !
m_Manager.IsPlayerInTriggerType( player,
this ) )
71 player.SetContaminatedEffectEx(
true, m_PPERequester, m_AroundPartId, m_TinyPartId, GetAmbientSoundsetName() );
75 player.SetContaminatedEffectEx(
false, m_PPERequester );
85 override void EOnFrame(
IEntity other,
float timeSlice)
87 m_DeltaTime = timeSlice;
90 override bool CanAddObjectAsInsider(
Object object)
96 return !creature.ResistContaminatedEffect();
101 return player != null;
105 return (player && player.IsControlledPlayer());
111 super.OnStayClientEvent(insider, deltaTime);
114 player.RequestTriggerEffect(
this,
m_PPERequester, m_AroundPartId, m_TinyPartId, GetAmbientSoundsetName() );
119 super.OnEnterServerEvent( insider );
129 m_Manager.OnPlayerEnter( playerInsider,
this );
138 super.OnEnterClientEvent( insider );
145 if (playerInsider && playerInsider.IsControlledPlayer() )
149 m_Manager.OnPlayerEnter( playerInsider,
this );
157 super.OnLeaveServerEvent( insider );
164 m_Manager.OnPlayerExit( playerInsider,
this );
172 super.OnLeaveClientEvent( insider );
181 if ( playerInsider && playerInsider.IsControlledPlayer() )
184 m_Manager.OnPlayerExit( playerInsider,
this );
193 return !insider.GetObject().IsAlive();
200 #ifdef DIAG_DEVELOPER
210 if (!m_DebugShapeActive)
213 m_DebugShapeActive =
true;
217 m_dbgInsiders = insiders;
219 if (m_dbgInsiders.Count() > 0)
224 else if (m_DebugShapeActive)
226 CleanupDebugShapes(dbgTargets);
227 m_DebugShapeActive =
false;
PPERequester_PainBlur m_PPERequester
Trigger with cylinder shape.
do not process rotations !
static void TriggerEffect(EntityAI insider, typename triggerType)
override bool ShouldRemoveInsider(TriggerInsider insider)
override void OnLeaveServerEvent(TriggerInsider insider)
override void OnEnterClientEvent(TriggerInsider insider)
override void OnLeaveClientEvent(TriggerInsider insider)
override void OnEnterServerEvent(TriggerInsider insider)
void OnStayClientEvent(TriggerInsider insider, float deltaTime)
The object which is in a trigger and its metadata.
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
ModifiersManager m_Manager