Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Loading...
Searching...
No Matches
effect.c File Reference

Go to the source code of this file.

Enumerations

enum  EffectType
 Enum to determine what type of effect the Effect is. More...

Functions

EffectType

Information about what type of effect the Effect is, without the need for casting

EffectType GetEffectType ()
 Get what type of effect the Effect is.
bool IsParticle ()
 Check whether the Effect is EffectParticle without casting.
bool IsSound ()
 Check whether the Effect is EffectSound without casting.
Playback

Methods to Play/Stop Effect Generally, SEffectManager.Play methods are used instead of Start

bool IsPlaying ()
 Returns true when the Effect is playing, false otherwise.
void Start ()
 Plays all elements this effects consists of.
void Stop ()
 Stops all elements this effect consists of.
void ValidateStart ()
 Validation whether an effect truly started playing or if the Effect should stop as none is present.
Destroy

Methods regarding automatic cleanup

bool CanDestroy ()
 Get whether the Effect can be destroyed right now.
void Destroy ()
 Cleans up the Effect, including unregistering if needed.
bool IsAutodestroy ()
 Get whether Effect automatically cleans up when it stops.
bool IsPendingDeletion ()
 Get whether the Effect is queued up for being cleaned up.
void SetAutodestroy (bool auto_destroy)
 Sets whether Effect automatically cleans up when it stops.
void SetEnableEventFrame (bool enable)
 Enable Event_OnFrameUpdate for the effect.
Events

Various events that can be overriden for custom behaviour

void Event_OnFrameUpdate (float time_delta)
 Event called on frame when enabled by SetEnableEventFrame(true).
void Event_OnRegistered (int id)
 Event called from SEffectManager when the Effect is registered.
void Event_OnUnregistered ()
 Event called from SEffectManager when the Effect is unregistered.
void OnCheckUpdate ()
 Event used when EffectParticle.CheckLifeSpan was called (DEPRECATED).
Generic API

Setters and getters for generic data and properties

vector GetCurrentLocalPosition ()
 Get the current local position of the managed effect.
Object GetCurrentParent ()
 Get the current parent of the managed Effect.
vector GetCurrentPosition ()
 Get the current world position of the managed effect.
vector GetLocalPosition ()
 Get the local position of the Effect.
Object GetParent ()
 Get parent of the Effect.
int GetPivotIndex ()
 Get parent pivot of the Effect, only valid when there is some GetParent.
vector GetPosition ()
 Get the world position of the Effect.
void SetCurrentLocalPosition (vector pos, bool updateCached=true)
 Set the current local position of the managed effect.
void SetCurrentParent (Object parent_obj, bool updateCached=true)
 Set current parent of the managed effect.
void SetCurrentPosition (vector pos, bool updateCached=true)
 Set the current world position of the managed effect.
void SetLocalPosition (vector pos)
 Set the local position of the Effect.
void SetParent (Object parent_obj)
 Set parent of the Effect.
void SetParent (Object parent_obj, int pivot)
 Set parent of the Effect.
void SetPosition (vector pos)
 Set the world position of the Effect.
Effect ID

The ID of the effect when registered in SEffectManager

int GetID ()
 Get the ID registered in SEffectManager.
bool IsRegistered ()
 Get whether this Effect is registered in SEffectManager.
void SetID (int id)
 Set the ID registered in SEffectManager.
Attachment API

Data to attach an Effect to a parent Mostly replaced by equivalents without 'Attachment' in name Mildly deprecated, exist for backwards compatibility

vector GetAttachedLocalOri ()
 Get the local orientation set by SetAttachedLocalOri.
vector GetAttachedLocalPos ()
 Get the local pos set by SetAttachedLocalPos.
Object GetAttachmentParent ()
 Get the parent set by SetAttachmentParent.
void SetAttachedLocalOri (vector ori)
 Set local orientation for the Effectparticle to attach to when the Effect is started.
void SetAttachedLocalPos (vector pos)
 Set local pos for the Effect relative to the parent.
void SetAttachmentParent (Object obj)
 Set parent for the Effect.

Variables

 NONE
 Plain Effect base.
 PARTICLE
 EffectParticle.
 SOUND
 EffectSound.
Event invokers

Base wrapper class for managing effects (Particles, Sound) through SEffectManager

Note
This is just a base class, not intended for direct usage

ScriptInvonkers for certain events

ref ScriptInvoker Event_OnEffectEnded () = new ScriptInvoker()
 Event used when the actual effect stopped playing.
ref ScriptInvoker Event_OnEffectStarted () = new ScriptInvoker()
 Event used when the actual effect started playing.
 Event_OnStarted () = new ScriptInvoker()
 Event used when Start was called.
ref ScriptInvoker Event_OnStopped () = new ScriptInvoker()
 Event used when Stop was called.
Generic data

Generic data for the Effect

bool m_IsAutodestroy
 Whether the Effect cleans up after itself when stopped.
bool m_IsPendingDeletion
 Whether the Destroy process has already been called.
bool m_IsPlaying
 Whether the Effect is currently playing.
Object m_ParentObject
 Cached parent.
int m_PivotIndex = -1
 Cached parent pivot id.
vector m_Position
 Cached world position.
SEffectManager data

Data filled in by SEffectManager to identify it when it is registered

int m_ID
 ID of effect, given by SEffectManager when registered (automatically done when playing through it).
bool m_IsRegistered
 Whether the effect is registered in SEffectManager.

Attachment data

Cached settings set through 'SetAttachment...' methods Does not necessarily reflect the current state when EffectParticle

void ~Effect ()
 dtor
void Effect ()
 ctor
void InitEffect ()
 init
vector m_LocalOri
 Local orientation set by SetAttachedLocalOri, only used by EffectParticle.
vector m_LocalPos
 Cached local pos.

Enumeration Type Documentation

◆ EffectType

enum EffectType

Enum to determine what type of effect the Effect is.

Definition at line 2 of file effect.c.

Function Documentation

◆ ~Effect()

void ~Effect ( )
protected

◆ Effect()

◆ Event_OnFrameUpdate()

void Event_OnFrameUpdate ( float time_delta)
protected

Event called on frame when enabled by SetEnableEventFrame(true).

Note
Called from SEffectManager.Event_OnFrameUpdate in MissionGameplay.OnUpdate
Parameters
time_deltafloat Time passed since the previous frame

Definition at line 347 of file effect.c.

Referenced by SetEnableEventFrame().

◆ Event_OnRegistered()

void Event_OnRegistered ( int id)
protected

Event called from SEffectManager when the Effect is registered.

Note
Should only ever be called by SEffectManager!
Parameters
idint ID registered in SEffectManager

Definition at line 357 of file effect.c.

References m_IsRegistered, and SetID().

◆ Event_OnUnregistered()

void Event_OnUnregistered ( )
protected

Event called from SEffectManager when the Effect is unregistered.

Note
Should only ever be called by SEffectManager!

Definition at line 367 of file effect.c.

References SEffectManager::INVALID_ID, m_IsRegistered, and SetID().

◆ GetAttachedLocalOri()

vector GetAttachedLocalOri ( )
protected

Get the local orientation set by SetAttachedLocalOri.

Warning
Is not necessarily the current local orientation
Returns
vector The local orientation set by SetAttachedLocalOri

Definition at line 638 of file effect.c.

References m_LocalOri.

Referenced by EffectParticle::ReAttach(), and EffectParticle::Start().

◆ GetAttachedLocalPos()

vector GetAttachedLocalPos ( )
protected

Get the local pos set by SetAttachedLocalPos.

Returns
vector The local pos set by SetAttachedLocalPos

Definition at line 617 of file effect.c.

References GetLocalPosition().

◆ GetAttachmentParent()

Object GetAttachmentParent ( )
protected

Get the parent set by SetAttachmentParent.

Returns
Object The parent set by SetAttachmentParent

Definition at line 599 of file effect.c.

References GetParent().

Referenced by EffEngineSmoke::Event_OnFrameUpdate(), EffExhaustSmoke::SetParticleStateLight(), and EffCoolantSteam::UpdateParticle().

◆ GetCurrentLocalPosition()

vector GetCurrentLocalPosition ( )
protected

Get the current local position of the managed effect.

Returns
vector The current local position of the managed effect

Definition at line 533 of file effect.c.

References vector::Zero.

◆ GetCurrentParent()

Object GetCurrentParent ( )
protected

Get the current parent of the managed Effect.

Returns
Object The current parent of the managed Effect

Definition at line 453 of file effect.c.

◆ GetCurrentPosition()

vector GetCurrentPosition ( )
protected

Get the current world position of the managed effect.

Returns
vector The current world position of the managed effect

Definition at line 493 of file effect.c.

References vector::Zero.

◆ GetEffectType()

EffectType GetEffectType ( )
protected

Get what type of effect the Effect is.

Returns
EffectType What type of effect the Effect is

Definition at line 120 of file effect.c.

◆ GetID()

int GetID ( )
protected

Get the ID registered in SEffectManager.

Returns
int ID registered in SEffectManager, or 0 (SEffectManager.INVALID_ID) when not registered

Definition at line 561 of file effect.c.

References m_ID.

Referenced by ~Effect(), and CGame::GamepadCheck().

◆ GetLocalPosition()

vector GetLocalPosition ( )
protected

Get the local position of the Effect.

Warning
Only gets the cached variable, for immediate effect use GetCurrent variant
Returns
vector The lcoal position of the Effect

Definition at line 513 of file effect.c.

References m_LocalPos.

Referenced by GetAttachedLocalPos(), EffectSound::GetCurrentLocalPosition(), EffectParticle::ReAttach(), ParticleSource::SetWiggle(), EffectParticle::Start(), and Update().

◆ GetPivotIndex()

int GetPivotIndex ( )
protected

Get parent pivot of the Effect, only valid when there is some GetParent.

Warning
Only gets the cached variable
Returns
int The parent pivot of the Effect

Definition at line 432 of file effect.c.

References m_PivotIndex.

◆ InitEffect()

void InitEffect ( )
protected

init

Definition at line 103 of file effect.c.

References Event_OnEffectEnded, Event_OnEffectStarted, Event_OnStarted, Event_OnStopped, and ValidateStart().

Referenced by Effect().

◆ IsParticle()

bool IsParticle ( )
protected

Check whether the Effect is EffectParticle without casting.

Returns
bool Whether the Effect is EffectParticle

Definition at line 138 of file effect.c.

◆ IsPlaying()

◆ IsRegistered()

bool IsRegistered ( )
protected

Get whether this Effect is registered in SEffectManager.

Returns
bool Whether this Effect is registered in SEffectManager

Definition at line 570 of file effect.c.

References m_IsRegistered.

Referenced by ~Effect(), and BoatScript::CleanupEffects().

◆ IsSound()

bool IsSound ( )
protected

Check whether the Effect is EffectSound without casting.

Returns
bool Whether the Effect is EffectSound

Definition at line 129 of file effect.c.

◆ OnCheckUpdate()

void OnCheckUpdate ( )
protected

Event used when EffectParticle.CheckLifeSpan was called (DEPRECATED).

Note
So this is EffectParticle specific...
EffectParticle.CheckLifeSpan is currently not in use

Definition at line 378 of file effect.c.

◆ SetAttachedLocalOri()

void SetAttachedLocalOri ( vector ori)
protected

Set local orientation for the Effectparticle to attach to when the Effect is started.

Warning
Only caches it into a variable to be used by Start, does not live update when called afterwards
Note
Overrides the orientation set by EffectParticle.SetOrientation
Parameters
orivector The local orientation to use on Start

Definition at line 628 of file effect.c.

References m_LocalOri.

Referenced by EffectParticle::AttachTo().

◆ SetAttachedLocalPos()

void SetAttachedLocalPos ( vector pos)
protected

Set local pos for the Effect relative to the parent.

Parameters
posvector The local pos relative to the parent

Definition at line 608 of file effect.c.

References SetLocalPosition().

◆ SetAttachmentParent()

void SetAttachmentParent ( Object obj)
protected

Set parent for the Effect.

Parameters
objObject The parent for the Effect

Definition at line 590 of file effect.c.

References SetParent().

◆ SetCurrentLocalPosition()

void SetCurrentLocalPosition ( vector pos,
bool updateCached = true )
protected

Set the current local position of the managed effect.

Parameters
posvector The current local position for the managed effect
updateCachedbool Whether to update the cached variable

Definition at line 523 of file effect.c.

References SetLocalPosition().

◆ SetCurrentParent()

void SetCurrentParent ( Object parent_obj,
bool updateCached = true )
protected

Set current parent of the managed effect.

Note
Same as SetAttachmentParent, but more generic name
Parameters
parent_objObject The parent for the Effect
updateCachedbool Whether to update the cached variable

Definition at line 443 of file effect.c.

References SetParent().

◆ SetCurrentPosition()

void SetCurrentPosition ( vector pos,
bool updateCached = true )
protected

Set the current world position of the managed effect.

Parameters
posvector The current world position for the Effect
updateCachedbool Whether to update the cached variable

Definition at line 483 of file effect.c.

References SetPosition().

◆ SetID()

void SetID ( int id)
protected

Set the ID registered in SEffectManager.

Note
Should only ever be called by Event_OnRegistered!
Parameters
idint ID registered in SEffectManager

Definition at line 552 of file effect.c.

References m_ID.

Referenced by Event_OnRegistered(), and Event_OnUnregistered().

◆ SetLocalPosition()

void SetLocalPosition ( vector pos)
protected

Set the local position of the Effect.

Warning
Only sets the cached variable, for immediate effect use SetCurrent variant
Parameters
posvector The local position for the Effect

Definition at line 503 of file effect.c.

References m_LocalPos.

Referenced by EffectParticle::AttachTo(), SetAttachedLocalPos(), and SetCurrentLocalPosition().

◆ SetParent() [1/2]

void SetParent ( Object parent_obj)
protected

Set parent of the Effect.

Note
Same as SetAttachmentParent, but more generic name
Warning
Only sets the cached variable, for immediate effect use SetCurrent variant
Parameters
parent_objObject The parent for the Effect

Definition at line 411 of file effect.c.

References SetParent().

◆ SetParent() [2/2]

void SetParent ( Object parent_obj,
int pivot )
protected

Set parent of the Effect.

Note
Same as SetAttachmentParent, but more generic name
Warning
Only sets the cached variable, for immediate effect use SetCurrent variant
Parameters
parent_objObject The parent
pivotint The pivot index

Definition at line 399 of file effect.c.

References m_ParentObject, and m_PivotIndex.

Referenced by EffectParticle::AttachTo(), Construction(), SetAttachmentParent(), SetCurrentParent(), and SetParent().

◆ Start()

◆ ValidateStart()

void ValidateStart ( )
protected

Validation whether an effect truly started playing or if the Effect should stop as none is present.

Note
Override this when inheriting to create own validation check
Is called from Event_OnStarted invoker after Event_OnStarted has been performed

Definition at line 174 of file effect.c.

Referenced by InitEffect().

Variable Documentation

◆ Event_OnEffectEnded

void Event_OnEffectEnded = new ScriptInvoker()

Event used when the actual effect stopped playing.

Definition at line 25 of file effect.c.

Referenced by EffectSound::Event_OnSoundWaveEnded(), EffectParticle::InitEffect(), EffectSound::InitEffect(), InitEffect(), and EffectParticle::SetParticle().

◆ Event_OnEffectStarted

void Event_OnEffectStarted = new ScriptInvoker()

Event used when the actual effect started playing.

Definition at line 24 of file effect.c.

Referenced by EffectSound::Event_OnSoundWaveStarted(), EffectSound::InitEffect(), InitEffect(), and EffectParticle::SetParticle().

◆ Event_OnStarted

void Event_OnStarted = new ScriptInvoker()

Event used when Start was called.

Definition at line 304 of file effect.c.

Referenced by EffectSound::InitEffect(), InitEffect(), and Start().

◆ Event_OnStopped

void Event_OnStopped = new ScriptInvoker()

Event used when Stop was called.

Definition at line 23 of file effect.c.

Referenced by EffectParticle::InitEffect(), EffectSound::InitEffect(), InitEffect(), and Stop().

◆ m_ID

int m_ID
protected

ID of effect, given by SEffectManager when registered (automatically done when playing through it).

Definition at line 51 of file effect.c.

Referenced by Activate(), MindStateSoundEventBase::AlertedMoveSoundEvent(), CalmMoveSoundEvent(), MindStateSoundEventBase::CalmMoveSoundEvent(), CanPlay(), ChaseMoveSoundEvent(), MindStateSoundEventBase::ChaseMoveSoundEvent(), CleanHandsPrimarySoundEvent(), CleanHandsSoundEventBase::CleanHandsPrimarySoundEvent(), DamageSoundEvents::DamageHeavySoundEvent(), DamageSoundEvents(), Deactivate(), DecreaseLifespan(), DigPrimarySoundEvent(), DigSoundEventBase::DigPrimarySoundEvent(), DrowningSoundEventBase::DrowningEvent2(), DrowningEvents(), EatingVoiceOverrideDefault(), EmoteCampfireSit(), EmoteClap(), EmoteCome(), EmoteDabbing(), EmoteGreeting(), EmoteHeart(), EmoteListening(), EmoteLookAtMe(), EmoteLyingDown(), EmoteMove(), EmotePoint(), EmoteRPSRock(), EmoteRPSScisors(), EmoteSalute(), EmoteShake(), EmoteSitB(), EmoteSuicide(), EmoteThroat(), EmoteThumb(), EmoteWatching(), ExhaustedBreathSoundEvent(), HoldBreathSoundEventBase::ExhaustedBreathSoundEvent(), ForceConsumeSoundEvent(), ForceConsumeSoundEvent::ForceDrinkSoundEvent(), GaspSoundEvent(), SymptomSoundEventBase::GaspSoundEvent(), GestureMenuItem(), GetID(), GetModifierID(), HasPriorityOverCurrent(), HeatComfortEventsBase(), HoldBreathSoundEventBase(), AntibioticsMdfr::Init(), AreaExposureMdfr::Init(), BleedingCheckMdfr::Init(), BlindedMdfr::Init(), BloodRegenMdfr::Init(), BoneRegenMdfr::Init(), BrainDiseaseMdfr::Init(), BrokenArmsMdfr::Init(), BrokenLegsMdfr::Init(), BurningMdfr::Init(), CharcoalMdfr::Init(), ChelationMdfr::Init(), CholeraMdfr::Init(), CommonColdMdfr::Init(), ContaminationStage1Mdfr::Init(), ContaminationStage2Mdfr::Init(), ContaminationStage3Mdfr::Init(), DisinfectionMdfr::Init(), DrowningMdfr::Init(), EpinephrineMdfr::Init(), FatigueMdfr::Init(), FeverMdfr::Init(), FliesMdfr::Init(), HealthMdfr::Init(), HealthRegenMdfr::Init(), HeartAttackMdfr::Init(), HeatBufferMdfr::Init(), HeatComfortMdfr::Init(), HeavyMetalMdfr::Init(), HeavyMetalPhase2Mdfr::Init(), HemolyticReactionMdfr::Init(), HungerMdfr::Init(), ImmuneSystemMdfr::Init(), ImmunityBoost::Init(), InfluenzaMdfr::Init(), Init(), Init(), MaskMdfr::Init(), ModifierBase::Init(), MorphineMdfr::Init(), PainKillersMdfr::Init(), PneumoniaMdfr::Init(), PoisoningMdfr::Init(), SalineMdfr::Init(), SalmonellaMdfr::Init(), ShockDamageMdfr::Init(), ShockMdfr::Init(), StomachMdfr::Init(), StuffedStomachMdfr::Init(), TestDiseaseMdfr::Init(), TestingMdfr::Init(), ThirstMdfr::Init(), ToxicityMdfr::Init(), TremorMdfr::Init(), UnconsciousnessMdfr::Init(), VomitStuffedMdfr::Init(), WetMdfr::Init(), WoundInfectStage2Mdfr::Init(), InjuryMediumSoundEvent(), InjurySoundEvents(), LaugherSoundEvent(), SymptomSoundEventBase::LaugherSoundEvent(), MeleeAttackSoundEvents::MeleeAttackHeavyEvent(), MeleeAttackSoundEvents(), OnInit(), PickupHeavySoundEvent(), PlayerSoundEventBase::PickupHeavySoundEvent(), HeatComfortEventsBase::RattlingTeethSoundEvent(), RattlingTeethSoundEvent(), SetID(), StaminaDownHeavy(), StaminaSoundEventBase::StaminaDownHeavy(), StaminaLowFilterBase::StaminaLowFilterLower(), StaminaLowFilterBase::StaminaLowFilterUpper(), StaminaLowFilterUpper(), StaminaSoundEventBase::StaminaNormalDummy(), StaminaSoundEventBase(), StaminaSoundEventBase::StaminaUpLight(), StaminaUpLight(), SymptomSoundEventBase(), and SyncedValueAgent().

◆ m_IsAutodestroy

bool m_IsAutodestroy
protected

Whether the Effect cleans up after itself when stopped.

Definition at line 33 of file effect.c.

Referenced by IsAutodestroy(), and SetAutodestroy().

◆ m_IsPendingDeletion

bool m_IsPendingDeletion
protected

Whether the Destroy process has already been called.

Definition at line 35 of file effect.c.

Referenced by Destroy(), and IsPendingDeletion().

◆ m_IsPlaying

bool m_IsPlaying
protected

Whether the Effect is currently playing.

Definition at line 37 of file effect.c.

Referenced by Particle::CreateParticleEffect(), Effect(), IsPlaying(), OnParticleStart(), OnParticleStop(), Play(), EffectSound::SoundReset(), Update(), and Particle::UpdateState().

◆ m_IsRegistered

bool m_IsRegistered
protected

Whether the effect is registered in SEffectManager.

Definition at line 53 of file effect.c.

Referenced by Event_OnRegistered(), Event_OnUnregistered(), and IsRegistered().

◆ m_LocalOri

vector m_LocalOri
protected

Local orientation set by SetAttachedLocalOri, only used by EffectParticle.

Definition at line 64 of file effect.c.

Referenced by GetAttachedLocalOri(), and SetAttachedLocalOri().

◆ m_LocalPos

vector m_LocalPos
protected

Cached local pos.

Definition at line 62 of file effect.c.

Referenced by GetLocalPosition(), and SetLocalPosition().

◆ m_ParentObject

◆ m_PivotIndex

int m_PivotIndex = -1
protected

Cached parent pivot id.

Definition at line 41 of file effect.c.

Referenced by GetPivotIndex(), SetParent(), EffectSound::SoundLoadEx(), and EffectSound::SoundPlayEx().

◆ m_Position

◆ NONE

@ NONE

Plain Effect base.

Definition at line 5 of file effect.c.

◆ PARTICLE

PARTICLE

EffectParticle.

Definition at line 9 of file effect.c.

◆ SOUND

SOUND

EffectSound.

Definition at line 7 of file effect.c.