4 const float DAMAGE_TICK_RATE = 10;
6 override string GetDisplayName()
8 return "#STR_contaminatedarea";
17 super.OnEnterServerEvent( insider );
24 creature.IncreaseEffectTriggerCount();
31 super.OnLeaveServerEvent( insider );
38 creature.DecreaseEffectTriggerCount();
45 super.OnEnterClientEvent( insider );
50 super.OnLeaveClientEvent( insider );
56 m_TimeAccuStay += m_DeltaTime;
57 if (m_TimeAccuStay > DAMAGE_TICK_RATE)
59 m_DealDamageFlag =
true;
70 m_DealDamageFlag =
false;
76 if ( m_DealDamageFlag )
79 if(creature && creature.m_EffectTriggerCount != 0)
80 creature.DecreaseHealth(
"",
"",
GameConstants.AI_CONTAMINATION_DMG_PER_SEC * m_TimeAccuStay / creature.m_EffectTriggerCount);
84 override string GetAmbientSoundsetName()
86 return "ContaminatedArea_SoundSet";
98 RegisterNetSyncVariableInt(
"m_AreaState");
115 if ( insider.GetObject().IsMan() )
120 if ( playerInsider.IsControlledPlayer() )
124 if ( nonDefaultState )
127 int localPartBirthRate;
129 localPartBirthRate = 20;
131 localPartBirthRate = 10;
133 playerInsider.RequestTriggerEffect(
this,
m_PPERequester, m_AroundPartId, m_TinyPartId, GetAmbientSoundsetName(), nonDefaultState, localPartBirthRate );
136 playerInsider.RequestTriggerEffect(
this,
m_PPERequester, m_AroundPartId, m_TinyPartId, GetAmbientSoundsetName() );
145 super.OnVariablesSynchronized();
148 for (
int i = 0; i < GetInsiders().Count(); i++ )
153 if ( playerInsider.IsControlledPlayer() )
157 if ( nonDefaultState )
159 int localPartBirthRate;
161 localPartBirthRate = 20;
163 localPartBirthRate = 10;
166 playerInsider.RequestTriggerEffect(
this,
m_PPERequester, m_AroundPartId, m_TinyPartId, GetAmbientSoundsetName(), nonDefaultState, localPartBirthRate,
true );
178 override string GetAmbientSoundsetName()
override void OnStayServerEvent(TriggerInsider insider, float deltaTime)
override void OnStayClientEvent(TriggerInsider insider, float deltaTime)
override void OnStayStartServerEvent(int nrOfInsiders)
override void OnStayFinishServerEvent()
override void OnLeaveClientEvent(TriggerInsider insider)
override void OnLeaveServerEvent(TriggerInsider insider)
override void OnEnterServerEvent(TriggerInsider insider)
override void OnEnterClientEvent(TriggerInsider insider)
PPERequester_PainBlur m_PPERequester
do not process rotations !
The object which is in a trigger and its metadata.
override void OnVariablesSynchronized()
void ContaminatedTrigger_Dynamic()
class ContaminatedTrigger extends EffectTrigger m_AreaState
void SetAreaState(int state)
ModifiersManager m_Manager