223 m_fsm.AddTransition(
new WeaponTransition( Mech_C1, _fin_,
O1E, NULL,
new WeaponGuardCurrentChamberEmpty(
this) ));
226 m_fsm.AddTransition(
new WeaponTransition( Mech_C1, _abt_,
O1E, NULL,
new WeaponGuardCurrentChamberEmpty(
this) ));
283 m_fsm.AddTransition(
new WeaponTransition(
C0, __A__, Attach_C0, NULL,
new WeaponGuardCanAttachMag(
this)));
284 m_fsm.AddTransition(
new WeaponTransition( Attach_C0, _fin_,
C0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))) );
286 m_fsm.AddTransition(
new WeaponTransition( Attach_C0, _fin_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)) );
288 m_fsm.AddTransition(
new WeaponTransition( Attach_C0, _abt_,
C0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))) );
290 m_fsm.AddTransition(
new WeaponTransition( Attach_C0, _abt_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)) );
293 m_fsm.AddTransition(
new WeaponTransition(
O0, __A__, Attach_O0, NULL,
new WeaponGuardCanAttachMag(
this)));
294 m_fsm.AddTransition(
new WeaponTransition( Attach_O0, _fin_,
O0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))));
295 m_fsm.AddTransition(
new WeaponTransition( Attach_O0, _fin_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)));
297 m_fsm.AddTransition(
new WeaponTransition( Attach_O0, _abt_,
O0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))));
298 m_fsm.AddTransition(
new WeaponTransition( Attach_O0, _abt_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)));
301 m_fsm.AddTransition(
new WeaponTransition(
J0, __A__, Attach_J0, NULL,
new WeaponGuardCanAttachMag(
this)));
302 m_fsm.AddTransition(
new WeaponTransition( Attach_J0, _fin_,
J1, NULL,
new WeaponGuardHasMag(
this)));
304 m_fsm.AddTransition(
new WeaponTransition( Attach_J0, _abt_,
J1, NULL,
new WeaponGuardHasMag(
this)));
309 m_fsm.AddTransition(
new WeaponTransition(
C1, __S__, Reload_C1, NULL,
new WeaponGuardCanSwapMag(
this)));
310 m_fsm.AddTransition(
new WeaponTransition( Reload_C1, _fin_,
C0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))) );
312 m_fsm.AddTransition(
new WeaponTransition( Reload_C1, _fin_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)));
314 m_fsm.AddTransition(
new WeaponTransition( Reload_C1, _abt_,
C0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))) );
316 m_fsm.AddTransition(
new WeaponTransition( Reload_C1, _abt_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)));
319 m_fsm.AddTransition(
new WeaponTransition(
O1, __S__, Reload_O1, NULL,
new WeaponGuardCanSwapMag(
this)));
320 m_fsm.AddTransition(
new WeaponTransition(
O1E, __S__, Reload_O1, NULL,
new WeaponGuardCanSwapMag(
this)));
321 m_fsm.AddTransition(
new WeaponTransition( Reload_O1, _fin_,
O0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))) );
322 m_fsm.AddTransition(
new WeaponTransition( Reload_O1, _fin_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)) );
324 m_fsm.AddTransition(
new WeaponTransition( Reload_O1, _abt_,
O0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))) );
325 m_fsm.AddTransition(
new WeaponTransition( Reload_O1, _abt_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)) );
328 m_fsm.AddTransition(
new WeaponTransition(
J1, __S__, Reload_J1, NULL,
new WeaponGuardCanSwapMag(
this)));
329 m_fsm.AddTransition(
new WeaponTransition( Reload_J1, _fin_,
J1, NULL,
new WeaponGuardHasMag(
this)));
331 m_fsm.AddTransition(
new WeaponTransition( Reload_J1, _abt_,
J1, NULL,
new WeaponGuardHasMag(
this)));
337 m_fsm.AddTransition(
new WeaponTransition(
C1, __D__, Detach_C1, NULL,
new WeaponGuardCanDetachMag(
this)));
338 m_fsm.AddTransition(
new WeaponTransition( Detach_C1, _fin_,
C1, NULL,
new WeaponGuardHasMag(
this)));
340 m_fsm.AddTransition(
new WeaponTransition( Detach_C1, _abt_,
C1, NULL,
new WeaponGuardHasMag(
this)));
343 m_fsm.AddTransition(
new WeaponTransition(
O1E, __D__, Detach_O1, NULL,
new WeaponGuardCanDetachMag(
this)));
344 m_fsm.AddTransition(
new WeaponTransition(
O1, __D__, Detach_O1, NULL,
new WeaponGuardCanDetachMag(
this)));
345 m_fsm.AddTransition(
new WeaponTransition( Detach_O1, _fin_,
O0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))));
346 m_fsm.AddTransition(
new WeaponTransition( Detach_O1, _fin_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)));
348 m_fsm.AddTransition(
new WeaponTransition( Detach_O1, _abt_,
O0, NULL,
new GuardNot(
new WeaponGuardHasMag(
this))));
349 m_fsm.AddTransition(
new WeaponTransition( Detach_O1, _abt_,
O1E, NULL,
new WeaponGuardChamberEmpty(
this)));
352 m_fsm.AddTransition(
new WeaponTransition(
J1, __D__, Detach_J1, NULL,
new WeaponGuardCanDetachMag(
this)));
353 m_fsm.AddTransition(
new WeaponTransition( Detach_J1, _fin_,
J1, NULL,
new WeaponGuardHasMag(
this)));
355 m_fsm.AddTransition(
new WeaponTransition( Detach_J1, _abt_,
J1, NULL,
new WeaponGuardHasMag(
this)));
361 m_fsm.AddTransition(
new WeaponTransition( Unjam_J0, _fin_,
J0, NULL,
new WeaponGuardJammed(
this)));
363 m_fsm.AddTransition(
new WeaponTransition( Unjam_J0, _abt_,
J0, NULL,
new WeaponGuardJammed(
this)));
367 m_fsm.AddTransition(
new WeaponTransition( Unjam_J1, _fin_,
J1, NULL,
new WeaponGuardJammed(
this)));
368 m_fsm.AddTransition(
new WeaponTransition( Unjam_J1, _fin_,
O1E, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
370 m_fsm.AddTransition(
new WeaponTransition( Unjam_J1, _abt_,
J1, NULL,
new WeaponGuardJammed(
this)));
371 m_fsm.AddTransition(
new WeaponTransition( Unjam_J1, _abt_,
O1E, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
376 SelectionBulletHide();