DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
WeaponEjectCasingAndChamberFromAttMag.c
См. документацию.
1
3{
4 void WeaponEjectCasing (Weapon_Base w = NULL, WeaponStateBase parent = NULL) { }
5
6 override void OnEntry (WeaponEventBase e)
7 {
8 super.OnEntry(e);
9 if (e)
10 {
11 if (LogManager.IsWeaponLogEnable()) { wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " ejected fired out casing"); }
12 int mi = m_weapon.GetCurrentMuzzle();
13 if(m_weapon.IsChamberFiredOut(mi))
14 {
15 m_weapon.EjectCasing(mi);
16 }
17 m_weapon.EffectBulletHide(mi);
18 m_weapon.SelectionBulletHide();
19 }
20 }
21};
22
24{
25 void WeaponEjectCasingMultiMuzzle (Weapon_Base w = NULL, WeaponStateBase parent = NULL) { }
26
27 override void OnEntry (WeaponEventBase e)
28 {
29 super.OnEntry(e);
30 if (e)
31 {
32 if (LogManager.IsWeaponLogEnable()) { wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " ejected fired out casing multi muzzle"); }
33 for( int i = 0; i < m_weapon.GetMuzzleCount(); i++ )
34 {
35 if(m_weapon.IsChamberFiredOut(i))
36 {
37 m_weapon.EjectCasing(i);
38 m_weapon.EffectBulletHide(i);
39 m_weapon.HideBullet(i);
40 }
41 }
42 }
43 }
44
46 {
47 return false;
48 }
49};
50
51class WeaponEjectCasing_W4T extends WeaponEjectCasingMultiMuzzle
52{
53 override bool IsWaitingForActionFinish () { return true; }
54};
55
57{
58 Magazine m_dstMagazine;
59 void WeaponEjectAllMuzzles (Weapon_Base w = NULL, WeaponStateBase parent = NULL) { }
60
61 override void OnEntry (WeaponEventBase e)
62 {
63 super.OnEntry(e);
64 if (e)
65 {
66 Magnum_Cylinder cylinder = Magnum_Cylinder.Cast(m_weapon.GetAttachmentByType(Magnum_Cylinder));
67 if(cylinder)
68 {
69 cylinder.HideSelection("bullet");
70 cylinder.HideSelection("bullet_2");
71 cylinder.HideSelection("bullet_3");
72 cylinder.HideSelection("bullet_4");
73 cylinder.HideSelection("bullet_5");
74 cylinder.HideSelection("bullet_6");
75
76 cylinder.HideSelection("bullet_nose");
77 cylinder.HideSelection("bullet_nose_2");
78 cylinder.HideSelection("bullet_nose_3");
79 cylinder.HideSelection("bullet_nose_4");
80 cylinder.HideSelection("bullet_nose_5");
81 cylinder.HideSelection("bullet_nose_6");
82 }
83
84
85 if (LogManager.IsWeaponLogEnable()) { wpnDebugPrint("[wpnfsm] " + Object.GetDebugName(m_weapon) + " ejected bullets from all muzzles"); }
86 for( int i = 0; i < m_weapon.GetMuzzleCount(); i++ )
87 {
88 if(m_weapon.IsChamberFiredOut(i))
89 {
90 m_weapon.EjectCasing(i);
91 m_weapon.EffectBulletHide(i);
92 m_weapon.HideBullet(i);
93 continue;
94 }
95
96 if(!m_weapon.IsChamberEmpty(i))
97 {
98 DayZPlayer p = e.m_player;
99 if(m_dstMagazine && m_dstMagazine.GetAmmoCount() < m_dstMagazine.GetAmmoMax() )
100 {
101 m_weapon.CreateRound(i);
103 }
104 else
105 {
106 m_weapon.CreateRound(i);
108 }
109 m_weapon.EffectBulletHide(i);
110 m_weapon.HideBullet(i);
111 }
112 }
113 m_weapon.SetWeaponOpen(false);
114 m_weapon.SetCharged(true);
115 }
116 //m_weapon.SelectionBulletHide();
117 }
118
119 override bool IsWaitingForActionFinish ()
120 {
121 return false;
122 }
123};
124
125// eject casing and load bullet from att mag (no anim)
127{
128 override void OnEntry (WeaponEventBase e)
129 {
130 super.OnEntry(e);
131 if (e)
132 {
133 int mi = m_weapon.GetCurrentMuzzle();
135 }
136 }
137 override void OnExit (WeaponEventBase e)
138 {
139 super.OnExit(e);
140 }
141};
142
143class WeaponEjectCasingAndChamberFromAttMag_W4T extends WeaponEjectCasingAndChamberFromAttMag
144{
145 override bool IsWaitingForActionFinish () { return true; }
146};
147
void wpnDebugPrint(string s)
Определения Debug.c:9
class WeaponGuardIsDestroyed extends WeaponGuardBase m_weapon
Определения Guards.c:604
static bool IsWeaponLogEnable()
Определения Debug.c:718
Определения Debug.c:594
Определения ObjectTyped.c:2
shorthand
Определения BoltActionRifle_Base.c:6
override void OnEntry(WeaponEventBase e)
override void OnExit(WeaponEventBase e)
DayZPlayer m_player
Определения Events.c:37
signalize mechanism manipulation
Определения Events.c:35
Magazine m_dstMagazine
Определения RifleReChambering.c:5
void WeaponStateBase(Weapon_Base w=NULL, WeaponStateBase parent=NULL)
internal state id used for load/restore
Определения WeaponStateBase.c:17
void WeaponEjectCasingMultiMuzzle(Weapon_Base w=NULL, WeaponStateBase parent=NULL)
Weapon_Base m_weapon
Определения WeaponStateBase.c:12
override bool IsWaitingForActionFinish()
override void OnEntry(WeaponEventBase e)
void WeaponEjectAllMuzzles(Weapon_Base w=NULL, WeaponStateBase parent=NULL)
void WeaponEjectCasing(Weapon_Base w=NULL, WeaponStateBase parent=NULL)
represent weapon state base
Определения BulletHide.c:2
void ejectBulletAndStoreInMagazine(Weapon_Base weapon, int muzzleIndex, Magazine mag, DayZPlayer p)
Определения weapon_utils.c:58
bool pushToChamberFromAttachedMagazine(Weapon_Base weapon, int muzzleIndex)
Определения weapon_utils.c:1