+// alternate secondary weapon frames
+void W_Shotgun_Attack3_Frame2()
+{
+ if (!WEP_ACTION(self.weapon, WR_CHECKAMMO2))
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
+ {
+ W_SwitchWeapon_Force(self, w_getbestweapon(self));
+ w_ready();
+ return;
+ }
+
+ sound(self, CH_WEAPON_SINGLE, "misc/null.wav", VOL_BASE, ATTN_NORM); // kill previous sound
+ W_Shotgun_Attack(TRUE); // actually is secondary, but we trick the last shot into playing full reload sound
+ weapon_thinkf(WFRAME_FIRE1, WEP_CVAR_SEC(shotgun, alt_animtime), w_ready);
+}
+void W_Shotgun_Attack3_Frame1()
+{
+ if (!WEP_ACTION(self.weapon, WR_CHECKAMMO2))
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
+ {
+ W_SwitchWeapon_Force(self, w_getbestweapon(self));
+ w_ready();
+ return;
+ }
+
+ W_Shotgun_Attack(FALSE);
+ weapon_thinkf(WFRAME_FIRE1, WEP_CVAR_SEC(shotgun, alt_animtime), W_Shotgun_Attack3_Frame2);
+}
+