155 #ifdef DIAG_DEVELOPER
183 int id = modifier.GetModifierID();
187 Error(
"modifiers ID must be 1 or higher(for debugging reasons)");
237 if( mdfr.IsActive() && mdfr.IsPersistent() )
242 if( mdfr.IsTrackAttachedTime() )
253 ctx.
Write(modifier_count);
273 if(!ctx.
Read(modifier_count))
276 for(
int i = 0; i < modifier_count; i++)
279 if(!ctx.
Read(modifier_id))
286 if( modifier.IsTrackAttachedTime() )
291 modifier.SetAttachedTime( time );
298 Debug.
LogError(
"DB loading: non-existent modifier with id:"+modifier_id.ToString());
341 int modifier_id = modifier.GetModifierID();
342 string modifier_name = modifier.GetName();
343 bool active = modifier.IsActive();
345 bool is_locked = modifier.IsLocked();
347 if(active && debug_text !=
"")
349 modifier_name +=
" | "+debug_text;
353 modifiers.Insert( obj );
void OnStoreSave(ParamsWriteContext ctx)
const int STORAGE_VERSION
void DeactivateModifier(int modifier_id, bool triggerEvent=true)
ModifierBase GetModifier(int modifier_id)
void DeactivateAllModifiers()
@ MODIFIER_SYNC_CONTAMINATION2
@ MODIFIER_SYNC_WOUND_INFECT_1
@ MODIFIER_SYNC_ZONE_EXPOSURE
@ MODIFIER_SYNC_WOUND_INFECT_2
@ MODIFIER_SYNC_CONTAMINATION
void ActivateModifier(int modifier_id, bool triggerEvent=EActivationType.TRIGGER_EVENT_ON_ACTIVATION)
@ TRIGGER_EVENT_ON_CONNECT
@ TRIGGER_EVENT_ON_ACTIVATION
void DbgGetModifiers(array< ref ModifierDebugObj > modifiers)
bool GetModifierLock(int modifier_id)
const int DEFAULT_TICK_TIME_INACTIVE
bool OnStoreLoad(ParamsReadContext ctx, int version)
void ModifiersManager(PlayerBase player)
const int DEFAULT_TICK_TIME_ACTIVE_SHORT
void AddModifier(ModifierBase modifier)
void SetModifierLock(int modifier_id, bool state)
ref array< ref Param > m_ParamList
ref map< int, ref ModifierBase > m_ModifierList
const int DEFAULT_TICK_TIME_ACTIVE
ref array< ref ModifierBase > m_ModifierListArray
const int DEFAULT_TICK_TIME_INACTIVE_LONG
static ref TIntArray ARRAY_INT
static void LogError(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message as error message.
override string GetDebugTextSimple()
void ModifierDebugObj(int id, string name, bool active, bool locked)
Serialization general interface. Serializer API works with:
proto bool Write(void value_out)
proto bool Read(void value_in)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
void Error(string err)
Messagebox with error message.
proto native bool IsModifierActive()
is modifier active