PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
ImprovisedExplosive Class Reference

Private Member Functions

void ImprovisedExplosive ()
 
override void EOnInit (IEntity other, int extra)
 
override bool HasLockedTriggerSlots ()
 
override void LockTriggerSlots ()
 
override void UnlockTriggerSlots ()
 
override void LockExplosivesSlots ()
 
override void UnlockExplosivesSlots ()
 
override bool OnStoreLoad (ParamsReadContext ctx, int version)
 
override void OnStoreSave (ParamsWriteContext ctx)
 
override void OnVariablesSynchronized ()
 
override void OnPlacementComplete (Man player, vector position="0 0 0", vector orientation="0 0 0")
 
override void EEItemLocationChanged (notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc)
 
override RemotelyActivatedItemBehaviour GetRemotelyActivatedItemBehaviour ()
 
override void PairRemote (notnull EntityAI trigger)
 
override EntityAI GetPairDevice ()
 
override bool CanBeArmed ()
 
override bool CanBeDisarmed ()
 
override bool CanReceiveAttachment (EntityAI attachment, int slotId)
 
override bool CanDisplayAttachmentSlot (int slot_id)
 
override bool IsTimerDetonable ()
 
override bool IsTakeable ()
 
override bool IsDeployable ()
 
override void SetActions ()
 
override void EEHealthLevelChanged (int oldLevel, int newLevel, string zone)
 
override void OnActivatedByItem (notnull ItemBase item)
 
override protected void InitiateExplosion ()
 not exploding itself, rely on attached explosives

 
override void EEItemAttached (EntityAI item, string slot_name)
 
override void EEItemDetached (EntityAI item, string slot_name)
 
override void OnBeforeDisarm ()
 
override void OnDisarmed (bool pWithTool)
 
override void UpdateLED (int pState)
 
protected void OnTriggerAttached (EntityAI entity)
 
protected void OnTriggerDetached (EntityAI entity)
 
protected void UpdateVisuals (EntityAI entity)
 
override string GetDeploySoundset ()
 
override string GetLoopDeploySoundset ()
 
override string GetArmSoundset ()
 
override string GetDisarmSoundset ()
 

Private Attributes

protected const float TIME_TRIGGER_INITIAL_DELAY_SECS = 0.1
 
protected const float TIME_TRIGGER_TIMER_BASED_DELAY_SECS = 1.0
 
protected const float TIME_TRIGGER_DELAY_SECS = 0.3
 
protected const int SLOT_EXPLOSIVE_COUNT = 2
 
protected const string SLOT_EXPLOSIVES [SLOT_EXPLOSIVE_COUNT]
 
protected const int SLOT_TRIGGERS_COUNT = 3
 
protected const string SLOT_TRIGGERS [SLOT_TRIGGERS_COUNT]
 
protected const string ANIM_PHASE_TRIGGER_EMPTY = "TriggerEmpty"
 
protected const string ANIM_PHASE_TRIGGER_TIMER = "TriggerTimer"
 
protected const string ANIM_PHASE_TRIGGER_CLOCK = "TriggerClock"
 
protected const string ANIM_PHASE_TRIGGER_REMOTE = "TriggerRemote"
 
protected ref RemotelyActivatedItemBehaviour m_RAIB
 

Static Private Attributes

static protected const string SLOT_TRIGGER_ALARM_CLOCK = "TriggerAlarmClock"
 
static protected const string SLOT_TRIGGER_KITCHEN_TIMER = "TriggerKitchenTimer"
 
static protected const string SLOT_TRIGGER_REMOTE = "TriggerRemoteDetonator_Receiver"
 
static protected const string SLOT_EXPLOSIVE_A = "IEDExplosiveA"
 
static protected const string SLOT_EXPLOSIVE_B = "IEDExplosiveB"
 

Constructor & Destructor Documentation

◆ ImprovisedExplosive()

void ImprovisedExplosive ( )
inlineprivate

References m_RAIB.

Member Function Documentation

◆ CanBeArmed()

override bool CanBeArmed ( )
inlineprivate

◆ CanBeDisarmed()

override bool CanBeDisarmed ( )
inlineprivate

◆ CanDisplayAttachmentSlot()

override bool CanDisplayAttachmentSlot ( int  slot_id)
inlineprivate

◆ CanReceiveAttachment()

override bool CanReceiveAttachment ( EntityAI  attachment,
int  slotId 
)
inlineprivate

◆ EEHealthLevelChanged()

override void EEHealthLevelChanged ( int  oldLevel,
int  newLevel,
string  zone 
)
inlineprivate

◆ EEItemAttached()

override void EEItemAttached ( EntityAI  item,
string  slot_name 
)
inlineprivate

◆ EEItemDetached()

override void EEItemDetached ( EntityAI  item,
string  slot_name 
)
inlineprivate

◆ EEItemLocationChanged()

override void EEItemLocationChanged ( notnull InventoryLocation  oldLoc,
notnull InventoryLocation  newLoc 
)
inlineprivate

◆ EOnInit()

override void EOnInit ( IEntity  other,
int  extra 
)
inlineprivate

References g_Game, and LockTriggerSlots().

◆ GetArmSoundset()

override string GetArmSoundset ( )
inlineprivate

◆ GetDeploySoundset()

override string GetDeploySoundset ( )
inlineprivate

◆ GetDisarmSoundset()

override string GetDisarmSoundset ( )
inlineprivate

◆ GetLoopDeploySoundset()

override string GetLoopDeploySoundset ( )
inlineprivate

◆ GetPairDevice()

override EntityAI GetPairDevice ( )
inlineprivate

◆ GetRemotelyActivatedItemBehaviour()

override RemotelyActivatedItemBehaviour GetRemotelyActivatedItemBehaviour ( )
inlineprivate

References m_RAIB.

◆ HasLockedTriggerSlots()

override bool HasLockedTriggerSlots ( )
inlineprivate

◆ InitiateExplosion()

override protected void InitiateExplosion ( )
private

not exploding itself, rely on attached explosives

◆ IsDeployable()

override bool IsDeployable ( )
inlineprivate

References GetArmed().

◆ IsTakeable()

override bool IsTakeable ( )
inlineprivate

References GetArmed().

◆ IsTimerDetonable()

override bool IsTimerDetonable ( )
inlineprivate

◆ LockExplosivesSlots()

override void LockExplosivesSlots ( )
inlineprivate

◆ LockTriggerSlots()

override void LockTriggerSlots ( )
inlineprivate

◆ OnActivatedByItem()

override void OnActivatedByItem ( notnull ItemBase  item)
inlineprivate

attachment special handling on disarm

go through attached explosives

hard-case blocks shells (result of deferred delete)

defer delete to allow ringing

final traverse - attached explosives activation

defer damage to trigger attachments to allow ringing

References ANIM_PHASE_VISIBILITY, CALL_CATEGORY_SYSTEM, ScriptCallQueue::CallLater(), ScriptCallQueue::CallLaterByName(), ClockBase(), GetArmed(), CGame::GetCallQueue(), GetGame(), TIME_TRIGGER_DELAY_SECS, TIME_TRIGGER_INITIAL_DELAY_SECS, and TIME_TRIGGER_TIMER_BASED_DELAY_SECS.

◆ OnBeforeDisarm()

override void OnBeforeDisarm ( )
inlineprivate

◆ OnDisarmed()

override void OnDisarmed ( bool  pWithTool)
inlineprivate

attachment special handling on disarm

References ClockBase(), LockTriggerSlots(), SetTakeable(), and UnpairRemote().

◆ OnPlacementComplete()

override void OnPlacementComplete ( Man  player,
vector  position = "0 0 0",
vector  orientation = "0 0 0" 
)
inlineprivate

References GetGame(), and vector::Up.

◆ OnStoreLoad()

override bool OnStoreLoad ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ OnStoreSave()

override void OnStoreSave ( ParamsWriteContext  ctx)
inlineprivate

References LockTriggerSlots().

◆ OnTriggerAttached()

protected void OnTriggerAttached ( EntityAI  entity)
inlineprivate

◆ OnTriggerDetached()

protected void OnTriggerDetached ( EntityAI  entity)
inlineprivate

References UpdateLED(), and UpdateVisuals().

Referenced by EEItemDetached().

◆ OnVariablesSynchronized()

override void OnVariablesSynchronized ( )
inlineprivate

◆ PairRemote()

override void PairRemote ( notnull EntityAI  trigger)
inlineprivate

◆ SetActions()

override void SetActions ( )
inlineprivate

◆ UnlockExplosivesSlots()

override void UnlockExplosivesSlots ( )
inlineprivate

◆ UnlockTriggerSlots()

override void UnlockTriggerSlots ( )
inlineprivate

◆ UpdateLED()

override void UpdateLED ( int  pState)
inlineprivate

◆ UpdateVisuals()

protected void UpdateVisuals ( EntityAI  entity)
inlineprivate

Field Documentation

◆ ANIM_PHASE_TRIGGER_CLOCK

protected const string ANIM_PHASE_TRIGGER_CLOCK = "TriggerClock"
private

Referenced by UpdateVisuals().

◆ ANIM_PHASE_TRIGGER_EMPTY

protected const string ANIM_PHASE_TRIGGER_EMPTY = "TriggerEmpty"
private

Referenced by UpdateVisuals().

◆ ANIM_PHASE_TRIGGER_REMOTE

protected const string ANIM_PHASE_TRIGGER_REMOTE = "TriggerRemote"
private

Referenced by UpdateVisuals().

◆ ANIM_PHASE_TRIGGER_TIMER

protected const string ANIM_PHASE_TRIGGER_TIMER = "TriggerTimer"
private

Referenced by UpdateVisuals().

◆ m_RAIB

◆ SLOT_EXPLOSIVE_A

protected const string SLOT_EXPLOSIVE_A = "IEDExplosiveA"
staticprivate

◆ SLOT_EXPLOSIVE_B

protected const string SLOT_EXPLOSIVE_B = "IEDExplosiveB"
staticprivate

◆ SLOT_EXPLOSIVE_COUNT

protected const int SLOT_EXPLOSIVE_COUNT = 2
private

◆ SLOT_EXPLOSIVES

protected const string SLOT_EXPLOSIVES[SLOT_EXPLOSIVE_COUNT]
private
Initial value:
= {
}
static protected const string SLOT_EXPLOSIVE_B
Definition ImprovisedExplosive.c:12
static protected const string SLOT_EXPLOSIVE_A
Definition ImprovisedExplosive.c:11

Referenced by CanBeArmed(), LockExplosivesSlots(), and UnlockExplosivesSlots().

◆ SLOT_TRIGGER_ALARM_CLOCK

protected const string SLOT_TRIGGER_ALARM_CLOCK = "TriggerAlarmClock"
staticprivate

◆ SLOT_TRIGGER_KITCHEN_TIMER

protected const string SLOT_TRIGGER_KITCHEN_TIMER = "TriggerKitchenTimer"
staticprivate

◆ SLOT_TRIGGER_REMOTE

protected const string SLOT_TRIGGER_REMOTE = "TriggerRemoteDetonator_Receiver"
staticprivate

◆ SLOT_TRIGGERS

protected const string SLOT_TRIGGERS[SLOT_TRIGGERS_COUNT]
private
Initial value:
= {
}
static protected const string SLOT_TRIGGER_KITCHEN_TIMER
Definition ImprovisedExplosive.c:8
static protected const string SLOT_TRIGGER_REMOTE
Definition ImprovisedExplosive.c:9
static protected const string SLOT_TRIGGER_ALARM_CLOCK
Definition ImprovisedExplosive.c:7

Referenced by CanReceiveAttachment(), HasLockedTriggerSlots(), LockTriggerSlots(), OnStoreLoad(), OnVariablesSynchronized(), and UnlockTriggerSlots().

◆ SLOT_TRIGGERS_COUNT

protected const int SLOT_TRIGGERS_COUNT = 3
private

◆ TIME_TRIGGER_DELAY_SECS

protected const float TIME_TRIGGER_DELAY_SECS = 0.3
private

Referenced by OnActivatedByItem().

◆ TIME_TRIGGER_INITIAL_DELAY_SECS

protected const float TIME_TRIGGER_INITIAL_DELAY_SECS = 0.1
private

Referenced by OnActivatedByItem().

◆ TIME_TRIGGER_TIMER_BASED_DELAY_SECS

protected const float TIME_TRIGGER_TIMER_BASED_DELAY_SECS = 1.0
private

Referenced by OnActivatedByItem().


The documentation for this class was generated from the following file: