DayZ 1.24
Loading...
Searching...
No Matches
Guards.c
Go to the documentation of this file.
1
5{
11 bool GuardCondition(WeaponEventBase e) { return true; }
12};
13
14class GuardAnd extends WeaponGuardBase
15{
18
19 void GuardAnd(WeaponGuardBase arg0 = NULL, WeaponGuardBase arg1 = NULL) { m_arg0 = arg0; m_arg1 = arg1; }
20
22 {
23 bool result = m_arg0.GuardCondition(e) && m_arg1.GuardCondition(e);
24 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] guard - " + m_arg0.Type() + " && " + m_arg1.Type() + " = " + result);
25 return result;
26 }
27};
28
29class GuardNot extends WeaponGuardBase
30{
32
33 void GuardNot(WeaponGuardBase arg0 = NULL) { m_arg0 = arg0; }
34
36 {
37 bool result = !m_arg0.GuardCondition(e);
38 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] guard - ! " + m_arg0.Type() + " = " + result);
39 return result;
40 }
41};
42
43class GuardOr extends WeaponGuardBase
44{
47
48 void GuardOr(WeaponGuardBase arg0 = NULL, WeaponGuardBase arg1 = NULL) { m_arg0 = arg0; m_arg1 = arg1; }
49
51 {
52 bool result = m_arg0.GuardCondition(e) || m_arg1.GuardCondition(e);
53 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] guard - " + m_arg0.Type() + " || " + m_arg1.Type() + " = " + result);
54 return result;
55 }
56};
57
58// guards /////////////////////////////////////////////////////////////////////////////////////////////////////////////
59
60class WeaponGuardJammed extends WeaponGuardBase
61{
64
66 {
67 /*int mi = m_weapon.GetCurrentMuzzle();
68 if (m_weapon.IsChamberJammed(mi))*/
69 if (m_weapon.IsJammed())
70 {
71 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - jammed");
72 return true;
73 }
74 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] guard - not jammed");
75 return false;
76 }
77};
78
79class WeaponGuardIsDestroyed extends WeaponGuardBase
80{
81 protected Weapon_Base m_weapon;
83
85 {
86 if (m_weapon.IsDamageDestroyed())
87 {
88 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - weapon destroyed");
89 return true;
90 }
91 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - weapon not destroyed");
92 return false;
93 }
94}
95
97{
98 protected Weapon_Base m_weapon;
100
102 {
103 int mi = m_weapon.GetCurrentMuzzle();
104 Magazine mag = m_weapon.GetMagazine(mi);
105 if (mag != NULL && mag.GetAmmoCount() > 0)
106 {
107 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - has ammo");
108 return true;
109 }
110 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - no ammo");
111 return false;
112 }
113};
114
115class WeaponGuardHasAmmoInnerMagazine extends WeaponGuardBase
116{
117 protected Weapon_Base m_weapon;
119
121 {
122 int mi = m_weapon.GetCurrentMuzzle();
123 if (m_weapon.GetInternalMagazineCartridgeCount(mi) >= 1)
124 {
125 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - has ammo in inner magazine");
126 return true;
127 }
128 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - no ammo in inner magazine");
129 return false;
130 }
131};
132
133class WeaponGuardHasAmmoInEvent extends WeaponGuardBase
134{
135 protected Weapon_Base m_weapon;
137
139 {
140 Magazine mag = e.m_magazine;
141 if (mag != NULL && mag.GetAmmoCount() > 0)
142 {
143 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - has ammo in event");
144 return true;
145 }
146 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - no ammo in event");
147 return false;
148 }
149};
150
151
152class WeaponGuardHasMag extends WeaponGuardBase
153{
154 protected Weapon_Base m_weapon;
156
158 {
159 int mi = m_weapon.GetCurrentMuzzle();
160 Magazine mag = m_weapon.GetMagazine(mi);
161 if (mag != NULL)
162 {
163 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - has magazine");
164 return true;
165 }
166 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - no magazine");
167 return false;
168 }
169};
170
171class WeaponGuardChamberEmpty extends WeaponGuardBase
172{
173 protected Weapon_Base m_weapon;
174 protected int m_muzzle;
176
178 {
179 if (m_weapon.IsChamberEmpty(m_muzzle))
180 {
181 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber (" + m_muzzle + ") empty");
182 return true;
183 }
184 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber (" + m_muzzle + ") not empty");
185 return false;
186 }
187};
188
189class WeaponGuardCurrentChamberEmpty extends WeaponGuardBase
190{
191 protected Weapon_Base m_weapon;
193
195 {
196 int mi = m_weapon.GetCurrentMuzzle();
197 if (m_weapon.IsChamberEmpty(mi))
198 {
199 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber empty");
200 return true;
201 }
202 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber not empty");
203 return false;
204 }
205};
206
207class WeaponGuardAnyChamberEmpty extends WeaponGuardBase
208{
209 protected Weapon_Base m_weapon;
210 protected int m_muzzle;
212
214 {
215 for (int i = 0; i < m_weapon.GetMuzzleCount(); i++)
216 {
217 if (m_weapon.IsChamberEmpty(i))
218 {
219 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - multi chamber (" + i + ") empty");
220 return true;
221 }
222 }
223 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - no chamber empty");
224 return false;
225 }
226};
227
228class WeaponGuardChamberFull extends WeaponGuardBase
229{
230 protected Weapon_Base m_weapon;
231 protected int m_muzzle;
233
235 {
236 if (m_weapon.IsChamberFull(m_muzzle))
237 {
238 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber (" + m_muzzle + ") full");
239 return true;
240 }
241 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber (" + m_muzzle + ") not full");
242 return false;
243 }
244};
245
246class WeaponGuardCurrentChamberFull extends WeaponGuardBase
247{
248 protected Weapon_Base m_weapon;
250
252 {
253 int mi = m_weapon.GetCurrentMuzzle();
254 if (m_weapon.IsChamberFull(mi))
255 {
256 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber full");
257 return true;
258 }
259 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber not full");
260 return false;
261 }
262};
263
264
265class WeaponGuardInnerMagazineFull extends WeaponGuardBase
266{
267 protected Weapon_Base m_weapon;
269
271 {
272 int mi = m_weapon.GetCurrentMuzzle();
273 if (m_weapon.IsInternalMagazineFull(mi))
274 {
275 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - internal magazine full");
276 return true;
277 }
278 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - internal magazine not full");
279 return false;
280 }
281};
282
283class WeaponGuardInnerMagazineFullShareChamber extends WeaponGuardBase
284{
285 protected Weapon_Base m_weapon;
287
289 {
290 int mi = m_weapon.GetCurrentMuzzle();
291
292 if (m_weapon.IsChamberFull(mi) && m_weapon.IsInternalMagazineFull(mi))
293 {
294 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - internal magazine with share chamber is full");
295 return true;
296 }
297 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - internal magazine with share chamber is not full");
298 return false;
299 }
300};
301
302class WeaponGuardChamberFiredOut extends WeaponGuardBase
303{
304 protected Weapon_Base m_weapon;
305 protected int m_muzzle;
307
309 {
310 if (m_weapon.IsChamberFiredOut(m_muzzle))
311 {
312 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber (" + m_muzzle + ") fireout");
313 return true;
314 }
315 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber (" + m_muzzle + ") not fireout");
316 return false;
317 }
318};
319
320class WeaponGuardCurrentChamberFiredOut extends WeaponGuardBase
321{
322 protected Weapon_Base m_weapon;
324
326 {
327 int mi = m_weapon.GetCurrentMuzzle();
328 if (m_weapon.IsChamberFiredOut(mi))
329 {
330 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber fired out");
331 return true;
332 }
333 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber not fired out");
334 return false;
335 }
336};
337
338class WeaponGuardAnyChamberFiredOut extends WeaponGuardBase
339{
340 protected Weapon_Base m_weapon;
342
344 {
345 for (int i = 0; i < m_weapon.GetMuzzleCount(); i++)
346 {
347 if (m_weapon.IsChamberFiredOut(i))
348 {
349 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - multi chamber (" + i + ") fired out");
350 return true;
351 }
352 }
353
354 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - any chamber has not fired out");
355 return false;
356 }
357};
358
359class WeaponGuardCanAttachMag extends WeaponGuardBase
360{
361 protected Weapon_Base m_weapon;
363
365 {
366 int mi = m_weapon.GetCurrentMuzzle();
367 if (m_weapon && e.m_magazine && m_weapon.CanAttachMagazine(mi, e.m_magazine))
368 {
369 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - can attach magazine");
370 return true;
371 }
372 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - cannot attach magazine");
373 return false;
374 }
375};
376
377class WeaponGuardCanSwapMag extends WeaponGuardBase
378{
379 protected Weapon_Base m_weapon;
381
383 {
384 int mi = m_weapon.GetCurrentMuzzle();
385 Magazine attached_mag = m_weapon.GetMagazine(mi);
386 if (m_weapon && e.m_magazine && e.m_magazine != attached_mag /*&& m_weapon.CanSwapMagazine(mi, e.m_magazine)*/)
387 {
388 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - can swap magazine");
389 return true;
390 }
391 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - cannot swap magazine");
392 return false;
393 }
394};
395
396class WeaponGuardCanDetachMag extends WeaponGuardBase
397{
398 protected Weapon_Base m_weapon;
400
402 {
403 int mi = m_weapon.GetCurrentMuzzle();
404 if (m_weapon && e.m_magazine && m_weapon.GetMagazine(mi)/* && m_weapon.CanDetachMagazine(mi, e.m_magazine)*/)
405 {
406 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - can detach magazine");
407 return true;
408 }
409 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - cannot detach magazine");
410 return false;
411 }
412};
413
414class WeaponGuardChamberHasRoomForMoreThanOne extends WeaponGuardBase
415{
416 protected Weapon_Base m_weapon;
418
420 {
421 int mi = m_weapon.GetCurrentMuzzle();
422 if (m_weapon.GetInternalMagazineMaxCartridgeCount(mi) - m_weapon.GetInternalMagazineCartridgeCount(mi) > 1)
423 {
424 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has room for more than 1b");
425 return true;
426 }
427 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has no room for more than 1b");
428 return false;
429 }
430};
431
432class WeaponGuardInternalMagazineHasRoomForBullet extends WeaponGuardBase
433{
434 protected Weapon_Base m_weapon;
436
438 {
439 int mi = m_weapon.GetCurrentMuzzle();
440 if (m_weapon.GetInternalMagazineMaxCartridgeCount(mi) - m_weapon.GetInternalMagazineCartridgeCount(mi) >= 1)
441 {
442 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has room for bullet");
443 return true;
444 }
445 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has no room for bullet");
446 return false;
447 }
448};
449
450class WeaponGuardChamberHasRoomForOne extends WeaponGuardBase
451{
452 protected Weapon_Base m_weapon;
454
456 {
457 int mi = m_weapon.GetCurrentMuzzle();
458 if (m_weapon.GetTotalMaxCartridgeCount(mi) - m_weapon.GetTotalCartridgeCount(mi) == 1)
459 {
460 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has room for 1b");
461 return true;
462 }
463 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has no room for 1b");
464 return false;
465 }
466};
467
468class WeaponGuardChamberMultiHasRoomBulltet extends WeaponGuardBase
469{
470 protected Weapon_Base m_weapon;
472
474 {
475 int i = m_weapon.GetMuzzleCount() - 1;
476 for (; i >= 0; i--)
477 {
478 if (m_weapon.GetTotalMaxCartridgeCount(i) - m_weapon.GetTotalCartridgeCount(i) >= 1)
479 {
480 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has room for 1b");
481 return true;
482 }
483 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has no room for 1b");
484 }
485 return false;
486 }
487};
488
489class WeaponGuardChamberMultiHasRoomBulltetIgnoreLast extends WeaponGuardBase
490{
491 protected Weapon_Base m_weapon;
493
495 {
496 int i = m_weapon.GetMuzzleCount() - 1;
497 bool emty_one = false;
498 for (; i >= 0; i--)
499 {
500 if (m_weapon.GetTotalMaxCartridgeCount(i) - m_weapon.GetTotalCartridgeCount(i) >= 1)
501 {
502 if (!emty_one)
503 emty_one = true;
504 else
505 {
506 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has room for 1b");
507 return true;
508 }
509 }
510 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - chamber has no room for 1b");
511 }
512 return false;
513 }
514};
515
516
517class WeaponGuardHasAmmoInLoopedState extends WeaponGuardBase
518{
521
523 {
524 Magazine mag = m_state.m_srcMagazine;
525 if (mag != NULL && mag.GetAmmoCount() > 0)
526 {
527 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] guard - has ammo in looped state");
528 return true;
529 }
530 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] guard - no ammo in looped state");
531 return false;
532 }
533};
534
535class WeaponGuardMagazinesHaveEqualSizes extends WeaponGuardBase
536{
537 protected Weapon_Base m_weapon;
539
541 {
542 int mi = m_weapon.GetCurrentMuzzle();
543 Magazine mag = m_weapon.GetMagazine(mi);
544 Magazine mag2 = e.m_magazine;
545 if (mag != NULL && mag2 != NULL)
546 {
548 if (eq)
549 {
550 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - same inventory sizes");
551 return true;
552 }
553
554 if (LogManager.IsWeaponLogEnable()) wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - different inventory sizes");
555 return false;
556 }
557 Error("[wpnfsm] " + Object.GetDebugName(m_weapon) + " guard - mag == NULL or mag2 == NULL, cannot perform comparison");
558 return false;
559 }
560};
561
562class WeaponGuardWeaponCharged extends WeaponGuardBase
563{
564 protected Weapon_Base m_weapon;
565
567
569 {
570 return m_weapon.IsCharged();
571 }
572}
573
575{
576 protected Weapon_Base m_weapon;
577
579
580 override bool GuardCondition(WeaponEventBase e)
581 {
582 return !m_weapon.IsCharged();
583 }
584}
585
587{
588 protected Weapon_Base m_weapon;
589
591
593 {
594 return m_weapon.IsWeaponOpen();
595 }
596}
597
598
600{
601 override bool GuardCondition(WeaponEventBase e)
603 PlayerBase player = PlayerBase.Cast(e.m_player);
604 return player.GetWeaponManager().WantContinue();
605 }
606};
607
void wpnDebugPrint(string s)
Definition Debug.c:9
class WeaponGuardIsDestroyed extends WeaponGuardBase m_weapon
Definition Guards.c:602
void WeaponGuardHasAmmo(Weapon_Base w=NULL)
Definition Guards.c:99
override bool GuardCondition(WeaponEventBase e)
Definition Guards.c:101
void WeaponGuardWeaponDischarged(Weapon_Base w=NULL)
Definition Guards.c:578
void WeaponGuardWeaponOpen(Weapon_Base w=NULL)
Definition Guards.c:604
static bool IsWeaponLogEnable()
Definition Debug.c:799
signalize mechanism manipulation
Definition Events.c:35
represents guard on a transition from state to state
Definition Guards.c:5
void WeaponGuardWeaponCharged(Weapon_Base w=NULL)
Definition Guards.c:566
void WeaponGuardWeaponOpen(Weapon_Base w=NULL)
Definition Guards.c:590
void WeaponGuardJammed(Weapon_Base w=NULL)
Definition Guards.c:63
override bool GuardCondition(WeaponEventBase e)
Definition Guards.c:21
void WeaponGuardInnerMagazineFull(Weapon_Base w=NULL)
Definition Guards.c:268
WeaponChambering_Base m_state
Definition Guards.c:519
ref WeaponGuardBase m_arg1
Definition Guards.c:17
void WeaponGuardCurrentChamberFiredOut(Weapon_Base w=NULL)
Definition Guards.c:323
void WeaponGuardHasAmmoInLoopedState(WeaponChambering_Base state)
Definition Guards.c:520
void WeaponGuardCanAttachMag(Weapon_Base w=NULL)
Definition Guards.c:362
void WeaponGuardHasAmmoInnerMagazine(Weapon_Base w=NULL)
Definition Guards.c:118
void WeaponGuardCanSwapMag(Weapon_Base w=NULL)
Definition Guards.c:380
void WeaponGuardHasMag(Weapon_Base w=NULL)
Definition Guards.c:155
void WeaponGuardInternalMagazineHasRoomForBullet(Weapon_Base w=NULL)
Definition Guards.c:435
void GuardNot(WeaponGuardBase arg0=NULL)
Definition Guards.c:33
void WeaponGuardAnyChamberFiredOut(Weapon_Base w=NULL)
Definition Guards.c:341
void WeaponGuardChamberHasRoomForMoreThanOne(Weapon_Base w=NULL)
Definition Guards.c:417
void WeaponGuardInnerMagazineFullShareChamber(Weapon_Base w=NULL)
Definition Guards.c:286
void WeaponGuardIsDestroyed(Weapon_Base w=NULL)
Definition Guards.c:82
void WeaponGuardChamberFull(Weapon_Base w=NULL, int muzzle_index=0)
Definition Guards.c:232
void WeaponGuardChamberMultiHasRoomBulltet(Weapon_Base w=NULL)
Definition Guards.c:471
void WeaponGuardChamberFiredOut(Weapon_Base w=NULL, int muzzle_index=0)
Definition Guards.c:306
void WeaponGuardChamberEmpty(Weapon_Base w=NULL, int muzzle_index=0)
Definition Guards.c:175
void WeaponGuardCurrentChamberEmpty(Weapon_Base w=NULL)
Definition Guards.c:192
void WeaponGuardChamberMultiHasRoomBulltetIgnoreLast(Weapon_Base w=NULL)
Definition Guards.c:492
bool GuardCondition(WeaponEventBase e)
Definition Guards.c:11
void GuardAnd(WeaponGuardBase arg0=NULL, WeaponGuardBase arg1=NULL)
Definition Guards.c:19
void WeaponGuardCanDetachMag(Weapon_Base w=NULL)
Definition Guards.c:399
void GuardOr(WeaponGuardBase arg0=NULL, WeaponGuardBase arg1=NULL)
Definition Guards.c:48
void WeaponGuardAnyChamberEmpty(Weapon_Base w=NULL, int muzzle_index=0)
Definition Guards.c:211
void WeaponGuardCurrentChamberFull(Weapon_Base w=NULL)
Definition Guards.c:249
void WeaponGuardHasAmmoInEvent(Weapon_Base w=NULL)
Definition Guards.c:136
void WeaponGuardChamberHasRoomForOne(Weapon_Base w=NULL)
Definition Guards.c:453
Weapon_Base m_weapon
Definition Guards.c:62
ref WeaponGuardBase m_arg0
Definition Guards.c:16
void WeaponGuardMagazinesHaveEqualSizes(Weapon_Base w=NULL)
Definition Guards.c:538
void Error(string err)
Messagebox with error message.
Definition EnDebug.c:90
bool magazinesHaveEqualSizes(notnull Magazine mag, notnull Magazine mag2)