113 WeaponChargingInnerMag Mech_C0 =
new WeaponChargingInnerMag(
this, NULL,
WeaponActions.MECHANISM, GetWeaponSpecificCommand(
WeaponActions.MECHANISM, WeaponActionMechanismTypes.MECHANISM_CLOSED));
114 WeaponChargingInnerMag Mech_L0 =
new WeaponChargingInnerMag(
this, NULL,
WeaponActions.MECHANISM, GetWeaponSpecificCommand(
WeaponActions.MECHANISM, WeaponActionMechanismTypes.MECHANISM_OPENED));
115 WeaponChargingInnerMag Mech_C1 =
new WeaponChargingInnerMag(
this, NULL,
WeaponActions.MECHANISM, GetWeaponSpecificCommand(
WeaponActions.MECHANISM, WeaponActionMechanismTypes.MECHANISM_CLOSED));
154 m_fsm.AddTransition(
new WeaponTransition( Mech_C1, _fin_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this) ));
156 m_fsm.AddTransition(
new WeaponTransition( Mech_C1, _abt_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this) ));
161 m_fsm.AddTransition(
new WeaponTransition( Mech_L0, _fin_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this) ));
164 m_fsm.AddTransition(
new WeaponTransition( Mech_L0, _abt_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this) ));
185 m_fsm.AddTransition(
new WeaponTransition(
C1, __T__, Trigger_C1, NULL,
new WeaponGuardHasAmmoInnerMagazine(
this)));
214 m_fsm.AddTransition(
new WeaponTransition( Chamber_C0, _fin_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
217 m_fsm.AddTransition(
new WeaponTransition( Chamber_C0, _abt_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
220 m_fsm.AddTransition(
new WeaponTransition(
C1, __L__, Chamber_C1, NULL,
new GuardNot(
new WeaponGuardInnerMagazineFullShareChamber(
this))));
224 m_fsm.AddTransition(
new WeaponTransition(
L0, __L__, Chamber_L0, NULL,
new GuardNot(
new WeaponGuardInnerMagazineFullShareChamber(
this))));
226 m_fsm.AddTransition(
new WeaponTransition( Chamber_L0, _fin_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
229 m_fsm.AddTransition(
new WeaponTransition( Chamber_L0, _abt_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
235 m_fsm.AddTransition(
new WeaponTransition( Unjam_JF, _fin_,
JF, NULL,
new WeaponGuardJammed(
this)));
236 m_fsm.AddTransition(
new WeaponTransition( Unjam_JF, _fin_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
238 m_fsm.AddTransition(
new WeaponTransition( Unjam_JF, _abt_,
JF, NULL,
new WeaponGuardJammed(
this)));
239 m_fsm.AddTransition(
new WeaponTransition( Unjam_JF, _abt_,
C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
244 SelectionBulletHide();