DayZ 1.24
Loading...
Searching...
No Matches
ImprovisedExplosive Class Reference
Inheritance diagram for ImprovisedExplosive:
[legend]
Collaboration diagram for ImprovisedExplosive:
[legend]

Protected 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)
 
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)
 
void OnTriggerAttached (EntityAI entity)
 
void OnTriggerDetached (EntityAI entity)
 
void UpdateVisuals (EntityAI entity)
 
override string GetDeploySoundset ()
 
override string GetLoopDeploySoundset ()
 
bool UsesGlobalDeploy ()
 

Protected Attributes

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

Static Protected Attributes

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

Detailed Description

Definition at line 1 of file ImprovisedExplosive.c.

Constructor & Destructor Documentation

◆ ImprovisedExplosive()

void ImprovisedExplosive::ImprovisedExplosive ( )
inlineprotected

Definition at line 34 of file ImprovisedExplosive.c.

35 {
37
38 RegisterNetSyncVariableInt("m_RAIB.m_PairDeviceNetIdLow");
39 RegisterNetSyncVariableInt("m_RAIB.m_PairDeviceNetIdHigh");
40 }
ref RemotelyActivatedItemBehaviour m_RAIB

References m_RAIB.

Member Function Documentation

◆ CanBeArmed()

override bool ImprovisedExplosive::CanBeArmed ( )
inlineprotected

Definition at line 159 of file ImprovisedExplosive.c.

160 {
161 if (GetArmed())
162 return false;
163
165 return false;
166
167 foreach (string slotName : SLOT_EXPLOSIVES)
168 {
169 EntityAI explosive = GetInventory().FindAttachmentByName(slotName);
170 if (explosive)
171 return true;
172 }
173
174 return false;
175 }
PlayerSpawnPreset slotName
bool GetArmed()
override bool HasLockedTriggerSlots()
const string SLOT_EXPLOSIVES[SLOT_EXPLOSIVE_COUNT]

References GetArmed(), HasLockedTriggerSlots(), SLOT_EXPLOSIVES, and slotName.

◆ CanBeDisarmed()

override bool ImprovisedExplosive::CanBeDisarmed ( )
inlineprotected

Definition at line 177 of file ImprovisedExplosive.c.

178 {
179 return true;
180 }

◆ CanDisplayAttachmentSlot()

override bool ImprovisedExplosive::CanDisplayAttachmentSlot ( int slot_id)
inlineprotected

Definition at line 200 of file ImprovisedExplosive.c.

201 {
203
204 switch (slotName)
205 {
209 return FindAttachmentBySlotName(slotName) != null;
210 break;
211 }
212
213 return true;
214 }
static const string SLOT_TRIGGER_ALARM_CLOCK
static const string SLOT_TRIGGER_KITCHEN_TIMER
static const string SLOT_TRIGGER_REMOTE
provides access to slot configuration
static proto native owned string GetSlotName(int id)
converts slot_id to string

References InventorySlots::GetSlotName(), SLOT_TRIGGER_ALARM_CLOCK, SLOT_TRIGGER_KITCHEN_TIMER, SLOT_TRIGGER_REMOTE, and slotName.

◆ CanReceiveAttachment()

override bool ImprovisedExplosive::CanReceiveAttachment ( EntityAI attachment,
int slotId )
inlineprotected

Definition at line 183 of file ImprovisedExplosive.c.

184 {
186 GetInventory().GetCurrentInventoryLocation(il);
187
188 foreach (string slotName : SLOT_TRIGGERS)
189 {
191 {
192 if (il.GetType() == InventoryLocationType.HANDS)
193 return false;
194 }
195 }
196
197 return !GetArmed();
198 }
InventoryLocationType
types of Inventory Location
const string SLOT_TRIGGERS[SLOT_TRIGGERS_COUNT]
InventoryLocation.
static proto native int GetSlotIdFromString(string slot_name)
converts string to slot_id

References GetArmed(), InventorySlots::GetSlotIdFromString(), SLOT_TRIGGERS, and slotName.

◆ EEHealthLevelChanged()

override void ImprovisedExplosive::EEHealthLevelChanged ( int oldLevel,
int newLevel,
string zone )
inlineprotected

Definition at line 239 of file ImprovisedExplosive.c.

240 {
241 super.EEHealthLevelChanged(oldLevel, newLevel, zone);
242
243 if (GetGame().IsServer())
244 {
246 {
247 for (int attachmentIdx = 0; attachmentIdx < GetInventory().AttachmentCount(); attachmentIdx++)
248 {
249 ItemBase attachment = ItemBase.Cast(GetInventory().GetAttachmentFromIndex(attachmentIdx));
250 if (attachment)
251 {
252 attachment.UnlockFromParent();
253 attachment.SetHealth("", "", 0.0);
254 }
255 }
256
257 SetArmed(false);
258 SetTakeable(true);
259 }
260 }
261 }
void SetArmed(bool state)
override void SetTakeable(bool pState)
Definition ItemBase.c:8905
proto native CGame GetGame()
const int STATE_RUINED
Definition constants.c:757

References GetGame(), SetArmed(), SetTakeable(), and GameConstants::STATE_RUINED.

◆ EEItemAttached()

override void ImprovisedExplosive::EEItemAttached ( EntityAI item,
string slot_name )
inlineprotected

Definition at line 337 of file ImprovisedExplosive.c.

338 {
339 super.EEItemAttached(item, slot_name);
340
341 switch (slot_name)
342 {
346 OnTriggerAttached(FindAttachmentBySlotName(slot_name));
347 break;
348 }
349 }
void OnTriggerAttached(EntityAI entity)

References OnTriggerAttached(), SLOT_TRIGGER_ALARM_CLOCK, SLOT_TRIGGER_KITCHEN_TIMER, and SLOT_TRIGGER_REMOTE.

◆ EEItemDetached()

override void ImprovisedExplosive::EEItemDetached ( EntityAI item,
string slot_name )
inlineprotected

Definition at line 351 of file ImprovisedExplosive.c.

352 {
353 super.EEItemDetached(item, slot_name);
354
355 switch (slot_name)
356 {
360 OnTriggerDetached(FindAttachmentBySlotName(slot_name));
361 break;
362 }
363 }
void OnTriggerDetached(EntityAI entity)

References OnTriggerDetached(), SLOT_TRIGGER_ALARM_CLOCK, SLOT_TRIGGER_KITCHEN_TIMER, and SLOT_TRIGGER_REMOTE.

◆ EEItemLocationChanged()

override void ImprovisedExplosive::EEItemLocationChanged ( notnull InventoryLocation oldLoc,
notnull InventoryLocation newLoc )
inlineprotected

Definition at line 136 of file ImprovisedExplosive.c.

137 {
138 super.EEItemLocationChanged(oldLoc, newLoc);
139
140 if (m_RAIB)
141 m_RAIB.Pair();
142 }

References m_RAIB.

◆ EOnInit()

override void ImprovisedExplosive::EOnInit ( IEntity other,
int extra )
inlineprotected

Definition at line 42 of file ImprovisedExplosive.c.

43 {
44 if (!g_Game.IsMultiplayer())
46 }
DayZGame g_Game
Definition DayZGame.c:3528
override void LockTriggerSlots()

References g_Game, and LockTriggerSlots().

◆ GetDeploySoundset()

override string ImprovisedExplosive::GetDeploySoundset ( )
inlineprotected

Definition at line 472 of file ImprovisedExplosive.c.

473 {
474 return "placeImprovisedExplosive_SoundSet";
475 }

◆ GetLoopDeploySoundset()

override string ImprovisedExplosive::GetLoopDeploySoundset ( )
inlineprotected

Definition at line 477 of file ImprovisedExplosive.c.

478 {
479 return "improvisedexplosive_deploy_SoundSet";
480 }

◆ GetPairDevice()

override EntityAI ImprovisedExplosive::GetPairDevice ( )
inlineprotected

Definition at line 154 of file ImprovisedExplosive.c.

155 {
156 return m_RAIB.GetPairDevice();
157 }

References m_RAIB.

◆ GetRemotelyActivatedItemBehaviour()

override RemotelyActivatedItemBehaviour ImprovisedExplosive::GetRemotelyActivatedItemBehaviour ( )
inlineprotected

Definition at line 144 of file ImprovisedExplosive.c.

145 {
146 return m_RAIB;
147 }

References m_RAIB.

◆ HasLockedTriggerSlots()

override bool ImprovisedExplosive::HasLockedTriggerSlots ( )
inlineprotected

Definition at line 48 of file ImprovisedExplosive.c.

49 {
50 foreach (string triggerSlot : SLOT_TRIGGERS)
51 return GetInventory().GetSlotLock(InventorySlots.GetSlotIdFromString(triggerSlot));
52
53 return false;
54 }

References InventorySlots::GetSlotIdFromString(), and SLOT_TRIGGERS.

Referenced by CanBeArmed().

◆ InitiateExplosion()

void ImprovisedExplosive::InitiateExplosion ( )
protected

not exploding itself, rely on attached explosives

◆ IsDeployable()

override bool ImprovisedExplosive::IsDeployable ( )
inlineprotected

Definition at line 226 of file ImprovisedExplosive.c.

227 {
228 return !GetArmed();
229 }

References GetArmed().

◆ IsTakeable()

override bool ImprovisedExplosive::IsTakeable ( )
inlineprotected

Definition at line 221 of file ImprovisedExplosive.c.

222 {
223 return !GetArmed() && super.IsTakeable();
224 }

References GetArmed().

◆ IsTimerDetonable()

override bool ImprovisedExplosive::IsTimerDetonable ( )
inlineprotected

Definition at line 216 of file ImprovisedExplosive.c.

217 {
218 return true;
219 }

◆ LockExplosivesSlots()

override void ImprovisedExplosive::LockExplosivesSlots ( )
inlineprotected

Definition at line 68 of file ImprovisedExplosive.c.

69 {
70 foreach (string explosiveSlotName : SLOT_EXPLOSIVES)
71 GetInventory().SetSlotLock(InventorySlots.GetSlotIdFromString(explosiveSlotName), true);
72 }

References InventorySlots::GetSlotIdFromString(), and SLOT_EXPLOSIVES.

Referenced by OnTriggerAttached().

◆ LockTriggerSlots()

override void ImprovisedExplosive::LockTriggerSlots ( )
inlineprotected

Definition at line 56 of file ImprovisedExplosive.c.

57 {
58 foreach (string triggerSlotName : SLOT_TRIGGERS)
59 GetInventory().SetSlotLock(InventorySlots.GetSlotIdFromString(triggerSlotName), true);
60 }

References InventorySlots::GetSlotIdFromString(), and SLOT_TRIGGERS.

Referenced by EOnInit(), OnDisarmed(), OnStoreSave(), and OnTriggerAttached().

◆ OnActivatedByItem()

override void ImprovisedExplosive::OnActivatedByItem ( notnull ItemBase item)
inlineprotected

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

Definition at line 263 of file ImprovisedExplosive.c.

264 {
265 if (GetGame().IsServer() && GetArmed())
266 {
267 bool isTimeTriggered = false;
268
270 for (int attachmentIdx = 0; attachmentIdx < GetInventory().AttachmentCount(); attachmentIdx++)
271 {
272 ItemBase attachment = ItemBase.Cast(GetInventory().GetAttachmentFromIndex(attachmentIdx));
273 if (attachment)
275 }
276
279
282 {
283 if (attachment2.IsInherited(ClockBase))
284 {
285 isTimeTriggered = true;
286 break;
287 }
288 }
289
292 {
293 if (attachment3)
294 {
295 vector dropExtents = "0.5 0.0 0.5";
296 if (isTimeTriggered)
297 dropExtents[1] = 0.15;
298
299 GetInventory().DropEntityInBounds(InventoryMode.SERVER, this, attachment3, dropExtents, 0, 0, 0);
300 attachment3.SetAnimationPhase(ANIM_PHASE_VISIBILITY, 1.0);
301 attachment3.SetTakeable(false);
302 }
303 }
304
306 if (isTimeTriggered)
307 {
310 GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(DeleteSafe, delayFor * 1000, false);
311 }
312 else
313 DeleteSafe();
314
317 {
318 if (attachment4.IsAnyInherited({RemoteDetonator, ClockBase}))
319 {
321 GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(attachment4.DeleteSafe, delayFor * 1000, false);
322 }
323
324 if (attachment4 && !attachment4.IsAnyInherited({RemoteDetonator, ClockBase}))
325 {
327 GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLaterByName(attachment4, "OnActivatedByItem", delayFor * 1000, false, params);
329 }
330 }
331 }
332 }
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
Definition Inventory.c:22
const string ANIM_PHASE_VISIBILITY
void UnlockFromParent()
Unlocks this item from its attachment slot of its parent.
Definition ItemBase.c:5516
const float TIME_TRIGGER_DELAY_SECS
const float TIME_TRIGGER_INITIAL_DELAY_SECS
const float TIME_TRIGGER_TIMER_BASED_DELAY_SECS
const int CALL_CATEGORY_SYSTEM
Definition tools.c:8

References ANIM_PHASE_VISIBILITY, CALL_CATEGORY_SYSTEM, GetArmed(), GetGame(), TIME_TRIGGER_DELAY_SECS, TIME_TRIGGER_INITIAL_DELAY_SECS, and TIME_TRIGGER_TIMER_BASED_DELAY_SECS.

◆ OnBeforeDisarm()

override void ImprovisedExplosive::OnBeforeDisarm ( )
inlineprotected

Definition at line 365 of file ImprovisedExplosive.c.

366 {
368 }
override void UnlockExplosivesSlots()

References UnlockExplosivesSlots().

◆ OnDisarmed()

override void ImprovisedExplosive::OnDisarmed ( bool pWithTool)
inlineprotected

attachment special handling on disarm

Definition at line 370 of file ImprovisedExplosive.c.

371 {
372 super.OnDisarmed(pWithTool);
373
374 UnpairRemote();
375
377 for (int attachmentIdx = 0; attachmentIdx < GetInventory().AttachmentCount(); attachmentIdx++)
378 {
379 ItemBase attachment = ItemBase.Cast(GetInventory().GetAttachmentFromIndex(attachmentIdx));
380 if (attachment)
382 }
383
386
389 {
390 if (attachment2.IsInherited(ClockBase))
391 {
392 if (pWithTool)
393 GetInventory().DropEntity(InventoryMode.SERVER, this, attachment2);
394 }
395
396 if (attachment2.IsInherited(RemoteDetonator))
397 {
398 if (pWithTool)
399 {
400 GetInventory().DropEntity(InventoryMode.SERVER, this, attachment2);
401 attachment2.SetHealth("", "", 0.0);
402 }
403 else
404 attachment2.Delete();
405 }
406 }
407
409 SetTakeable(true);
410 }
override void UnpairRemote()

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

◆ OnPlacementComplete()

override void ImprovisedExplosive::OnPlacementComplete ( Man player,
vector position = "0 0 0",
vector orientation = "0 0 0" )
inlineprotected

Definition at line 128 of file ImprovisedExplosive.c.

129 {
130 super.OnPlacementComplete(player, position, orientation);
131
132 if (GetGame().IsServer())
133 SetOrientation(vector.Up);
134 }
static const vector Up
Definition EnConvert.c:107

References GetGame(), and vector::Up.

◆ OnStoreLoad()

override bool ImprovisedExplosive::OnStoreLoad ( ParamsReadContext ctx,
int version )
inlineprotected

Definition at line 80 of file ImprovisedExplosive.c.

81 {
82 if (!super.OnStoreLoad(ctx, version))
83 return false;
84
85 if (version <= 134) // up to 1.21
86 {
87 foreach (string triggerSlotName : SLOT_TRIGGERS)
88 {
90 bool locked = GetInventory().GetSlotLock(slotId);
91 while (locked)
92 {
93 GetInventory().SetSlotLock(slotId, false);
94 locked = GetInventory().GetSlotLock(slotId);
95 }
96 }
97 }
98
99 return true;
100 }

References InventorySlots::GetSlotIdFromString(), and SLOT_TRIGGERS.

◆ OnStoreSave()

override void ImprovisedExplosive::OnStoreSave ( ParamsWriteContext ctx)
inlineprotected

Definition at line 102 of file ImprovisedExplosive.c.

103 {
104 super.OnStoreSave(ctx);
105
107 }

References LockTriggerSlots().

◆ OnTriggerAttached()

void ImprovisedExplosive::OnTriggerAttached ( EntityAI entity)
inlineprotected

Definition at line 419 of file ImprovisedExplosive.c.

420 {
423
424 if (entity.IsInherited(ClockBase))
425 Arm();
426
429 }
void UpdateVisuals()
void Arm()
ERemoteDetonatorLEDState
override void LockExplosivesSlots()
override void UpdateLED(int pState)

References Arm(), LockExplosivesSlots(), LockTriggerSlots(), UpdateLED(), and UpdateVisuals().

Referenced by EEItemAttached().

◆ OnTriggerDetached()

void ImprovisedExplosive::OnTriggerDetached ( EntityAI entity)
inlineprotected

Definition at line 431 of file ImprovisedExplosive.c.

References UpdateLED(), and UpdateVisuals().

Referenced by EEItemDetached().

◆ OnVariablesSynchronized()

override void ImprovisedExplosive::OnVariablesSynchronized ( )
inlineprotected

Definition at line 109 of file ImprovisedExplosive.c.

110 {
111 super.OnVariablesSynchronized();
112
113 if (m_RAIB)
114 m_RAIB.OnVariableSynchronized();
115
116
117 foreach (string slotName : SLOT_TRIGGERS)
118 {
119 EntityAI trigger = GetInventory().FindAttachmentByName(slotName);
120 if (trigger)
121 {
123 break;
124 }
125 }
126 }

References m_RAIB, SLOT_TRIGGERS, slotName, and UpdateVisuals().

◆ PairRemote()

override void ImprovisedExplosive::PairRemote ( notnull EntityAI trigger)
inlineprotected

Definition at line 149 of file ImprovisedExplosive.c.

150 {
151 m_RAIB.Pair(trigger);
152 }

References m_RAIB.

◆ SetActions()

override void ImprovisedExplosive::SetActions ( )
inlineprotected

Definition at line 231 of file ImprovisedExplosive.c.

232 {
233 super.SetActions();
234
236 AddAction(ActionDeployObject);
237 }
void AddAction(typename actionName)

References AddAction().

◆ UnlockExplosivesSlots()

override void ImprovisedExplosive::UnlockExplosivesSlots ( )
inlineprotected

Definition at line 74 of file ImprovisedExplosive.c.

75 {
76 foreach (string explosiveSlotName : SLOT_EXPLOSIVES)
77 GetInventory().SetSlotLock(InventorySlots.GetSlotIdFromString(explosiveSlotName), false);
78 }

References InventorySlots::GetSlotIdFromString(), and SLOT_EXPLOSIVES.

Referenced by OnBeforeDisarm().

◆ UnlockTriggerSlots()

override void ImprovisedExplosive::UnlockTriggerSlots ( )
inlineprotected

Definition at line 62 of file ImprovisedExplosive.c.

63 {
64 foreach (string triggerSlotName : SLOT_TRIGGERS)
65 GetInventory().SetSlotLock(InventorySlots.GetSlotIdFromString(triggerSlotName), false);
66 }

References InventorySlots::GetSlotIdFromString(), and SLOT_TRIGGERS.

◆ UpdateLED()

override void ImprovisedExplosive::UpdateLED ( int pState)
inlineprotected

Definition at line 412 of file ImprovisedExplosive.c.

413 {
415 if (receiver)
416 receiver.UpdateLED(pState, true);
417 }
RemoteDetonatorTrigger RemoteDetonator RemoteDetonatorReceiver()

References RemoteDetonatorReceiver(), and SLOT_TRIGGER_REMOTE.

Referenced by OnTriggerAttached(), and OnTriggerDetached().

◆ UpdateVisuals()

void ImprovisedExplosive::UpdateVisuals ( EntityAI entity)
inlineprotected

Definition at line 437 of file ImprovisedExplosive.c.

438 {
439 if (entity)
440 {
441 if (entity.IsInherited(RemoteDetonator))
442 {
443 SetAnimationPhase(ANIM_PHASE_TRIGGER_EMPTY, 1.0);
444 SetAnimationPhase(ANIM_PHASE_TRIGGER_TIMER, 1.0);
445 SetAnimationPhase(ANIM_PHASE_TRIGGER_CLOCK, 1.0);
446 SetAnimationPhase(ANIM_PHASE_TRIGGER_REMOTE, 0.0);
447 }
448 else if (entity.IsInherited(AlarmClock_ColorBase))
449 {
450 SetAnimationPhase(ANIM_PHASE_TRIGGER_EMPTY, 1.0);
451 SetAnimationPhase(ANIM_PHASE_TRIGGER_TIMER, 1.0);
452 SetAnimationPhase(ANIM_PHASE_TRIGGER_CLOCK, 0.0);
453 SetAnimationPhase(ANIM_PHASE_TRIGGER_REMOTE, 1.0);
454 }
455 else if (entity.IsInherited(KitchenTimer))
456 {
457 SetAnimationPhase(ANIM_PHASE_TRIGGER_EMPTY, 1.0);
458 SetAnimationPhase(ANIM_PHASE_TRIGGER_TIMER, 0.0);
459 SetAnimationPhase(ANIM_PHASE_TRIGGER_CLOCK, 1.0);
460 SetAnimationPhase(ANIM_PHASE_TRIGGER_REMOTE, 1.0);
461 }
462 }
463 else
464 {
465 SetAnimationPhase(ANIM_PHASE_TRIGGER_EMPTY, 0.0);
466 SetAnimationPhase(ANIM_PHASE_TRIGGER_TIMER, 1.0);
467 SetAnimationPhase(ANIM_PHASE_TRIGGER_CLOCK, 1.0);
468 SetAnimationPhase(ANIM_PHASE_TRIGGER_REMOTE, 1.0);
469 }
470 }
const string ANIM_PHASE_TRIGGER_REMOTE
const string ANIM_PHASE_TRIGGER_CLOCK
const string ANIM_PHASE_TRIGGER_EMPTY
const string ANIM_PHASE_TRIGGER_TIMER

References ANIM_PHASE_TRIGGER_CLOCK, ANIM_PHASE_TRIGGER_EMPTY, ANIM_PHASE_TRIGGER_REMOTE, and ANIM_PHASE_TRIGGER_TIMER.

◆ UsesGlobalDeploy()

bool ImprovisedExplosive::UsesGlobalDeploy ( )
inlineprotected

Definition at line 482 of file ImprovisedExplosive.c.

483 {
484 return true;
485 }

Member Data Documentation

◆ ANIM_PHASE_TRIGGER_CLOCK

const string ImprovisedExplosive::ANIM_PHASE_TRIGGER_CLOCK = "TriggerClock"
protected

Definition at line 29 of file ImprovisedExplosive.c.

Referenced by UpdateVisuals().

◆ ANIM_PHASE_TRIGGER_EMPTY

const string ImprovisedExplosive::ANIM_PHASE_TRIGGER_EMPTY = "TriggerEmpty"
protected

Definition at line 27 of file ImprovisedExplosive.c.

Referenced by UpdateVisuals().

◆ ANIM_PHASE_TRIGGER_REMOTE

const string ImprovisedExplosive::ANIM_PHASE_TRIGGER_REMOTE = "TriggerRemote"
protected

Definition at line 30 of file ImprovisedExplosive.c.

Referenced by UpdateVisuals().

◆ ANIM_PHASE_TRIGGER_TIMER

const string ImprovisedExplosive::ANIM_PHASE_TRIGGER_TIMER = "TriggerTimer"
protected

Definition at line 28 of file ImprovisedExplosive.c.

Referenced by UpdateVisuals().

◆ m_RAIB

◆ SLOT_EXPLOSIVE_A

const string ImprovisedExplosive::SLOT_EXPLOSIVE_A = "IEDExplosiveA"
staticprotected

Definition at line 11 of file ImprovisedExplosive.c.

◆ SLOT_EXPLOSIVE_B

const string ImprovisedExplosive::SLOT_EXPLOSIVE_B = "IEDExplosiveB"
staticprotected

Definition at line 12 of file ImprovisedExplosive.c.

◆ SLOT_EXPLOSIVE_COUNT

const int ImprovisedExplosive::SLOT_EXPLOSIVE_COUNT = 2
protected

Definition at line 14 of file ImprovisedExplosive.c.

◆ SLOT_EXPLOSIVES

const string ImprovisedExplosive::SLOT_EXPLOSIVES[SLOT_EXPLOSIVE_COUNT]
protected
Initial value:
= {
}
static const string SLOT_EXPLOSIVE_A
static const string SLOT_EXPLOSIVE_B

Definition at line 15 of file ImprovisedExplosive.c.

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

◆ SLOT_TRIGGER_ALARM_CLOCK

const string ImprovisedExplosive::SLOT_TRIGGER_ALARM_CLOCK = "TriggerAlarmClock"
staticprotected

Definition at line 7 of file ImprovisedExplosive.c.

Referenced by CanDisplayAttachmentSlot(), EEItemAttached(), and EEItemDetached().

◆ SLOT_TRIGGER_KITCHEN_TIMER

const string ImprovisedExplosive::SLOT_TRIGGER_KITCHEN_TIMER = "TriggerKitchenTimer"
staticprotected

Definition at line 8 of file ImprovisedExplosive.c.

Referenced by CanDisplayAttachmentSlot(), EEItemAttached(), and EEItemDetached().

◆ SLOT_TRIGGER_REMOTE

const string ImprovisedExplosive::SLOT_TRIGGER_REMOTE = "TriggerRemoteDetonator_Receiver"
staticprotected

◆ SLOT_TRIGGERS

◆ SLOT_TRIGGERS_COUNT

const int ImprovisedExplosive::SLOT_TRIGGERS_COUNT = 3
protected

Definition at line 20 of file ImprovisedExplosive.c.

◆ TIME_TRIGGER_DELAY_SECS

const float ImprovisedExplosive::TIME_TRIGGER_DELAY_SECS = 0.3
protected

Definition at line 5 of file ImprovisedExplosive.c.

Referenced by OnActivatedByItem().

◆ TIME_TRIGGER_INITIAL_DELAY_SECS

const float ImprovisedExplosive::TIME_TRIGGER_INITIAL_DELAY_SECS = 0.1
protected

Definition at line 3 of file ImprovisedExplosive.c.

Referenced by OnActivatedByItem().

◆ TIME_TRIGGER_TIMER_BASED_DELAY_SECS

const float ImprovisedExplosive::TIME_TRIGGER_TIMER_BASED_DELAY_SECS = 1.0
protected

Definition at line 4 of file ImprovisedExplosive.c.

Referenced by OnActivatedByItem().


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