Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Kev The Galaxybender

How to change reload behavior??

Recommended Posts

I have been playing the insanity mod test version and I notice when you empty the magazine for the super shotgun it doesn't auto reload. Using slade, how would I change this behavior to auto reload once the mag is empty?

Share this post


Link to post
scifista42 said:

Could you post the weapon's DECORATE definition?

Spoiler

ACTOR SSGAmmo : Ammo
{
Inventory.Amount 0
Inventory.MaxAmount 2
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 2
Inventory.Icon "SGN2A0"
}

Actor SSGInHand : Inventory {inventory.maxamount 1}

#include SSGUpgrade.txt
// --------------------------------------------------------------------------
//
// Super Shotgun
//
// --------------------------------------------------------------------------

ACTOR SSG : Doomweapon
{
Weapon.BobRangeX 0.3
Weapon.BobRangeY 0.5
Weapon.BobStyle InverseSmooth
Weapon.BobSpeed 2.0
Game Doom
SpawnID 33
Weapon.Kickback 50
Weapon.SelectionOrder 400
Weapon.AmmoGive1 8
Weapon.AmmoGive2 0
Weapon.AmmoType1 "Shell12g"
Weapon.AmmoType2 "SSGAmmo"
Weapon.AmmoUse1 0
Weapon.AmmoUse2 0
+WEAPON.NOAUTOAIM
+WEAPON.NOAUTOFIRE
+FORCEXYBILLBOARD
+WEAPON.NO_AUTO_SWITCH
Inventory.PickupMessage "You got the Super Shotgun!"
tag "Super Shotgun"
Obituary "%o was blasted by %k's Super Shotgun"
Inventory.PickupSound "CLIPINSS"
Scale 1
States
{
Steady:
TNT1 A 1
Goto Ready
Ready:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("UpgradeReplacementSystem")==1, "SkipUpgrade1")
TNT1 A 0 A_JumpIfInventory("Quad_Shotgun", 1, "SelectUpgrade")
SkipUpgrade1:
SHT2 U 1 Offset(20,46)
SHT2 V 1 Offset(1,33)

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("SGSLCT",7)
SHT2 WX 1
SHT2 YZ 1
TNT1 A 0 A_PlaySound("CLIPINSS",6)
TNT1 A 0 A_GiveInventory("SSGInHand", 1)
TNT1 A 0 A_GiveInventory ("Pumping", 1)
SHO9 DE 1
SHO9 FG 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "PuristGun")
SHT5 ABCD 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 AAA 0
RealReady:
TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
TNT1 A 0 A_JumpIfInventory("Salute1", 1, "Salute")
TNT1 A 0 A_JumpIfInventory("Salute2", 1, "Salute")
TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
TNT1 A 0 A_JumpIfInventory("Unloading",1,"Unload")
TNT1 A 0 A_JumpIfInventory("ThrowPipeBomb",1,"ThrowPipeBomb")//DetonatePipeBomb
TNT1 A 0 A_JumpIfInventory("DetonatePipeBomb",1,"DetonatePipeBomb")//
TNT1 A 0 A_JumpIfInventory("GoEmergencyGunAbility", 1, "FireEmergency")
TNT1 A 0 A_JumpIfInventory("GoSwitchAmmo", 1, "SwitchEmergency")
SHT2 A 1 A_WeaponReady
TNT1 A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("UpgradeReplacementSystem")==1, "RealReady")
TNT1 A 0 A_JumpIfInventory("Quad_Shotgun", 1, "SelectUpgrade")
Goto RealReady

SelectUpgrade:
TNT1 A 0
TNT1 A 0 A_TakeInventory("SSGInHand", 1)
TNT1 A 0 A_SelectWeapon("Quad_Shotgun")
Goto DeselectNone

Deselect:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("UpgradeReplacementSystem")==1, "SkipUpgrade2")
TNT1 A 0 A_JumpIfInventory("Quad_Shotgun", 1, "SelectUpgrade")
SkipUpgrade2:
DeselectNone:
TNT1 A 0 A_JumpIfInventory("SSGInHand", 1, "DeselectReal")
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 A 0 A_TakeInventory("ThrowPipeBomb", 1)
TNT1 A 0 A_TakeInventory("DetonatePipeBomb", 1)
TNT1 A 0 A_TakeInventory("Kicking", 1)
TNT1 A 0 A_TakeInventory("Reloading", 1)
TNT1 A 0 A_TakeInventory("GoSilencerAbility", 1)
TNT1 A 0 A_TakeInventory("Salute1", 1)
TNT1 A 0 A_TakeInventory("Salute2", 1)
TNT1 A 0 A_TakeInventory("GoWeaponSpecialAbility", 1)
TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
Wait
DeselectReal:
TNT1 A 0
TNT1 A 0 A_playsound("weapon/swap", 3)
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 A 0 A_TakeInventory("ThrowPipeBomb", 1)
TNT1 A 0 A_TakeInventory("DetonatePipeBomb", 1)
TNT1 A 0 A_TakeInventory("Kicking", 1)
TNT1 A 0 A_TakeInventory("Reloading", 1)
TNT1 A 0 A_TakeInventory("GoSilencerAbility", 1)
TNT1 A 0 A_TakeInventory("Salute1", 1)
TNT1 A 0 A_TakeInventory("Salute2", 1)
TNT1 A 0 A_TakeInventory("GoWeaponSpecialAbility", 1)
SHT5 DCBA 1
TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
TNT1 A 1
Wait
Select:
TNT1 A 0 A_Takeinventory("FistsSelected",1)
TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "PuristGun")
TNT1 A 0 A_Takeinventory("SawSelected",1)
TNT1 A 0 A_Takeinventory("ShotgunSelected",1)
TNT1 A 0 A_Giveinventory("SSGSelected",1)
TNT1 A 0 A_Takeinventory("MinigunSelected",1)
TNT1 A 0 A_Takeinventory("PlasmaGunSelected",1)
TNT1 A 0 A_Takeinventory("RocketLauncherSelected",1)
TNT1 A 0 A_Takeinventory("GrenadeLauncherSelected",1)
TNT1 A 0 A_Takeinventory("BFGSelected",1)
TNT1 A 0 A_Takeinventory("BFG10kSelected",1)
TNT1 A 0 A_Takeinventory("RailGunSelected",1)
TNT1 A 0 A_Takeinventory("SubMachineGunSelected",1)
TNT1 A 0 A_Takeinventory("RevenantLauncherSelected",1)
TNT1 A 0 A_Takeinventory("LostSoulSelected",1)
TNT1 A 0 A_Takeinventory("FlameCannonSelected",1)
TNT1 A 0 A_Takeinventory("HasBarrel",1)
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 AAAAAAAAAAAA 0 A_Raise
Goto Ready

NoAmmo:
TNT1 A 0 A_JumpIfInventory("Shell12g", 1, "Reload")
SHT2 A 1 A_PlaySound("weapons/empty", 2)
TNT1 A 0 A_TakeInventory("SSGAlt",1)
Goto RealReady
RecoilFlash:
TNT1 A 1 A_Setpitch(pitch-8)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
Stop
RecoilFlash2:
TNT1 A 1 A_Setpitch(pitch-4)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
Stop
Fire:
TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_JumpIfInventory("SSGAlt",1,"AltFire")
TNT1 A 0 A_JumpIfInventory("SSGAmmo", 2, 1)
Goto NoAmmo
//TNT1 A 0 A_JumpIfInventory("SSGAmmo", 2, 1)
//Goto AltFire

TNT1 A 0 A_TakeInventory("SSGAmmo", 2)

TNT1 A 0 A_Recoil(6)
SHO9 A 0 A_firebullets (0,0,1,15,"shotpuff",0,180)
SHO9 A 1 BRIGHT A_playsound("ssg/fire/new", 7)
//TNT1 A 0 A_playsound("weapons/sg",4)
//TNT1 A 0 A_playsound("SSHFIR2", 6)
//TNT1 A 0 A_playsound("ssg/fire/new", 5)
TNT1 AAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-10,10), 0, -1, -12, 0, random(-5,5))

TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",15,0,0,0)
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",-15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmokE", 0, 0, 2, 0, 0, 0)
RIFF AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, -2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
//SHO9 B 1 BRIGHT
TNT1 A 0 A_FireBullets (12, 6, 10, 7, "ShotgunPuff")
TNT1 A 0 A_FireBullets (12, 6, 10, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0, 0, 0, 0)
SHO9 B 1 BRIGHT A_GunFlash("RecoilFlash")
SHT2 A 1 Offset(0,62)
SHT2 A 1 Offset(0,61)
SHT2 A 1 Offset(0,60)
TNT1 A 0 A_TakeInventory("SSGAlt",1)
TNT1 A 0 A_TakeInventory("Reloading",1)
SHT2 A 1 Offset(0,56)
SHT2 A 1 Offset(0,42)
SHT2 AAA 1 Offset(0,32)
SHT2 A 0 A_Refire
Goto RealReady





Reload:
TNT1 A 0

TNT1 A 0 A_TakeInventory("Reloading",1)


TNT1 A 0 A_JumpIfInventory("SSGAlt", 1, "Reload2")//Check if still has a shell on left barrel

TNT1 A 0 A_JumpIfInventory("SSGAmmo", 2, "RealReady")//Check if still has a shell on left barrel


TNT1 A 0 A_JumpIfInventory("Shell12g", 1, 1)//Check if has any ammo left to reload
Goto RealReady


TNT1 A 0 A_JumpIfInventory("Shell12g", 2, 1)//Check if has ammo to reload 2 shells
Goto Reload2




//Reload 2 barrels
//SHT2 B 2 Offset(20,48) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
//SHT2 B 2 Offset(10,36) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
SHT2 BCDEF 1
SHT2 GH 1
SHT2 IJ 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)

TNT1 A 0 A_PlaySound("ssg/open",3)
TNT1 A 0 A_JumpIfInventory("HasUnloaded", 1, 3)
TNT1 AA 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
SHT2 K 1
SHT2 L 10
SHT2 MMNNOO 1
TNT1 A 0 A_playsound("ssg/load")
SHT2 P 1 //Offset(10,36)
//SHT2 P 1 Offset(20,46)
SHT2 Q 1// Offset(30,56)
//SHT2 Q 1 Offset(40,66)
SHT2 R 1// Offset(50,76)
SHT2 S 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)

SHT2 T 1// Offset(30,56)
SHT2 U 1// Offset(20,46)
SHT2 V 1// Offset(1,33)

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("ssg/close",3)
TNT1 A 0 A_TakeInventory("Shell12g", 2,TIF_NOTAKEINFINITE)
TNT1 A 0 A_GiveInventory("SSGAmmo", 2)

SHT2 WX 1
SHT2 YZ 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_TakeInventory("SSGAlt",1)
SHO9 DE 1
SHO9 FG 1
TNT1 A 0 A_ReFire
SHT2 A 2
Goto RealReady


AltFire:
TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_JumpIfInventory("SSGAmmo",1,3)
Goto NoAmmo
TNT1 AAAAA 0
TNT1 A 0 A_JumpIfInventory("SSGAlt",1,"AltFire2")


TNT1 A 0 A_TakeInventory("SSGAmmo",1)
TNT1 A 0 A_GiveInventory("SSGAlt",1)
TNT1 A 0 A_Recoil(2)
TNT1 A 0 A_ALertMonsters
SHTA A 1 BRIGHT A_playsound("ssg/alt/fire/new", 7)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
RIFF AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, 2, 0, 0, 0)
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",15,0,0,0)
SHTA A 2 BRIGHT A_FireBullets (9, 6, 10, 7, "ShotgunPuff")
TNT1 AAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, -1, -12, 0, random(-5,5))
//TNT1 A 0 A_SetPitch(-4.0 + pitch)
//TNT1 A 0 A_FireCustomMissile("ShakeYourAssDouble", 0, 0, 0, 0)

SHT2 A 1 Offset(0,50) A_GunFlash("RecoilFlash2")
//TNT1 A 0 A_SetPitch(+1.0 + pitch)
SHT2 A 1 Offset(0,60)
//TNT1 A 0 A_SetPitch(+1.0 + pitch)
SHT2 A 1 Offset(0,55)
//TNT1 A 0 A_SetPitch(+1.0 + pitch)
SHT2 A 1 Offset(0,50)
//TNT1 A 0 A_SetPitch(+1.0 + pitch)
SHT2 A 1 Offset(0,45)
SHT2 A 1 Offset(0,35)
TNT1 A 0 A_refire("AltFire")
Goto RealReady

AltFire2:
TNT1 A 0 A_TakeInventory("SSGAmmo", 1)
TNT1 A 0 A_Recoil(2)
TNT1 A 0 A_ALertMonsters
SHTA B 1 BRIGHT A_playsound("ssg/alt/fire/new", 6)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
RIFF AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, -2, 0, 0, 0)
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",-15,0,0,0)
SHTA B 2 BRIGHT A_FireBullets (9, 6, 10, 7, "ShotgunPuff")
TNT1 AAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, -1, -12, 0, random(-5,5))
SHT2 A 1 Offset(0,50) A_GunFlash("RecoilFlash2")
SHT2 A 1 Offset(0,60)
SHT2 A 1 Offset(0,55)
SHT2 A 1 Offset(0,50)
SHT2 A 1 Offset(0,45)
SHT2 A 1 Offset(0,35)

TNT1 A 0 A_TakeInventory("SSGAlt", 1)
TNT1 A 0 A_JumpIfInventory("Shell12g",1,"RealReady")
TNT1 A 0 A_Refire("AltFire")
Goto RealReady

Reload2:

TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_JumpIfInventory("Shell12g",1,1)
Goto NoAmmo
TNT1 A 0 A_TakeInventory("SSGAlt",1)

//SHT2 B 2 Offset(20,48) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
TNT1 A 0
TNT1 A 0
//SHT2 B 2 Offset(10,36) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
TNT1 A 0
TNT1 A 0
SHT2 BCDEF 1
TNT1 A 0
TNT1 A 0
SHT2 GH 1
TNT1 A 0
TNT1 A 0
SHT2 IJ 1
TNT1 A 0
TNT1 A 0

TNT1 A 0 A_GiveInventory ("Pumping", 1)

TNT1 A 0 A_PlaySound("ssg/open",3)
TNT1 A 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
SHT2 K 1
SHT7 L 10
SHT7 MMNNOO 1
TNT1 A 0 A_playsound("ssg/load")
SHT7 P 1 //Offset(10,36)
//SHT7 P 1 Offset(20,46)
SHT2 Q 1 //Offset(30,56)
//SHT2 Q 1 Offset(40,66)
SHT2 R 1 //Offset(50,76)
TNT1 A 0
SHT2 S 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)

SHT2 T 1 //Offset(30,56)
SHT2 U 1 //Offset(20,46)
SHT2 V 1 //Offset(1,33)

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("ssg/close",3)
TNT1 A 0 A_TakeInventory("Shell12g", 1,TIF_NOTAKEINFINITE)
TNT1 A 0 A_GiveInventory("SSGAmmo", 1)
SHT2 WX 1
SHT2 YZ 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)
SHO9 DE 1
SHO9 FG 1
TNT1 A 0 A_ReFire
SHT2 A 2

Goto RealReady

Spawn:
SGN2 A -1
Stop

DoKick:
TNT1 A 0 A_PlaySound("KICK2",1)
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("ADSmode",1)
NULL A 0 A_JumpIf (momZ > 0, "AirKick")
NULL A 0 A_JumpIf (momZ < 0, "AirKick")
//NULL A 0 A_JumpIf (pitch > 32, "LowKickChecker1")
InitializeNormalKick:
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"BerserkerKick")
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 SetPlayerProperty(0,1,0)
SSGK ABCDEFG 1
//TNT1 A 0 A_Custompunch(4,0,1,"KickPuff")
RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
SSGK H 3
KICK A 0 A_Takeinventory("Kicking",1)
SSGK IGFEDCBA 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 SetPlayerProperty(0,0,0)
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady

BerserkerKick:
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 SetPlayerProperty(0,1,0)
SSGK ABCDEFG 1
RIFF A 0 A_FireCustomMissile("SuperKickAttack", 0, 0, 0, -7)
SSGK H 3
KICK A 0 A_Takeinventory("Kicking",1)
SSGK IGFEDCBA 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 SetPlayerProperty(0,0,0)
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady

AirKick:
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperAirKick")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SpartaKickFunny")==1,"SpartaAirKick")
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 A_Recoil (-2)
KICK JKLMNO 1
RIFF A 0 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KICK P 3
KICK A 0 A_Takeinventory("Kicking",1)
KICK QRST 2
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady


SuperAirKick:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SpartaKickFunny")==1,"SuperSpartaAirKick")
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 A_Recoil (-2)
KICK JKLMNO 1
RIFF A 0 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KICK P 3
KICK A 0 A_Takeinventory("Kicking",1)
KICK QRST 2
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady

SpartaFOV:
TNT1 A 1 A_ZoomFactor(0.95)
TNT1 A 1 A_ZoomFactor(0.9)
TNT1 A 1 A_ZoomFactor(0.85)
TNT1 A 1 A_ZoomFactor(0.8)
TNT1 A 1 A_ZoomFactor(0.75)
TNT1 A 1 A_ZoomFactor(0.7)
TNT1 A 10
TNT1 A 1 A_ZoomFactor(0.8)
TNT1 A 1 A_ZoomFactor(0.85)
TNT1 A 1 A_ZoomFactor(0.9)
TNT1 A 1 A_ZoomFactor(0.95)
TNT1 A 0 A_ZoomFactor(1)
Stop

SpartaAirKick:
TNT1 A 0 A_playsound("KICK2")
TNT1 A 0 A_GiveInventory("PSeq6",1)
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperSpartaAirKick")
TNT1 A 0 A_PlaySound("KICK",6)
TNT1 A 0 A_Recoil (-20)
TNT1 A 0 A_GunFlash("SpartaFOV")
KRCK JKLMNO 1
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KICK A 0 A_Takeinventory("Kicking",1)
KRCK QQ 1
KRCK RRSSTTUU 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
TNT1 A 0 A_TakeInventory("PSeq1", 2)
TNT1 A 0 A_TakeInventory("PSeq4", 2)
TNT1 A 0 A_TakeInventory("PSeq3", 2)
TNT1 A 0 A_TakeInventory("PSeq2", 2)
TNT1 A 0 A_TakeInventory("PSeq5", 2)
TNT1 A 0 A_TakeInventory("PSeq6", 2)
Goto RealReady

SuperSpartaAirKick:
TNT1 A 0 A_PlaySound("SPARTA",6)
TNT1 A 0 A_Recoil (-30)
TNT1 A 0 A_GunFlash("SpartaFOV")
KRCK JKLMNO 1
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KICK A 0 A_Takeinventory("Kicking",1)
KRCK QQ 1
KRCK RRSSTTUU 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
TNT1 A 0 A_TakeInventory("PSeq1", 2)
TNT1 A 0 A_TakeInventory("PSeq4", 2)
TNT1 A 0 A_TakeInventory("PSeq3", 2)
TNT1 A 0 A_TakeInventory("PSeq2", 2)
TNT1 A 0 A_TakeInventory("PSeq5", 2)
TNT1 A 0 A_TakeInventory("PSeq6", 2)
Goto RealReady

Taunt:
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("Taunting",1)
TNT1 A 0 A_JumpIfInventory("RealismMode", 1, "CheckGrab")
TNT1 A 10
FUCK A 1
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 0, 0, -1, 0)
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", -9, 0, -1, 0)
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 9, 0, -1, 0)
TNT1 A 0 A_JumpIf(CallACS("PlayerSoundsIB") == 2, "PostalFuck")
TNT1 A 0 A_JumpIf(CallACS("PlayerSoundsIB") == 1,"FuckTauntNormal")
NULL A 0 A_PlaySound("DFUCK", CHAN_VOICE)
Goto FinishFuckTaunt
PostalFuck:
NULL A 0 A_Playsound("postal/fuck", CHAN_VOICE)
Goto FinishFuckTaunt
FuckTauntNormal:
NULL A 0 A_PlaySound("FUCK", CHAN_VOICE)
Goto FinishFuckTaunt
FinishFuckTaunt:
FUCK B 1
FUCK CD 1 A_AlertMonsters
FUCK E 15 A_Takeinventory("Taunting",1)
FUCK DCBA 1
TNT1 A 10
Goto RealReady
Salute:
TNT1 A 0 SetPlayerProperty(0,1,0)
TNT1 A 0 A_ALertMonsters
SALU ABCDEDCDEDCDEDCBA 4
TNT1 A 0 A_TakeInventory("Salute1",1)
TNT1 A 0 A_TakeInventory("Salute2",1)
TNT1 A 0 SetPlayerProperty(0,0,0)
Goto Ready

CheckGrab:
TNT1 A 0
TNT1 A 0 A_JumpIfTargetInLOS("CheckDistanceGrab")
Goto Ready+6
CheckDistanceGrab:
TNT1 A 0
TNT1 A 0 A_JumpIfCloser(100, "Grab")
Goto Ready+6
CheckIfCanGrab:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("CanGrab", 1, "Grab")
Goto Ready+6
Grab:
PKUP ABC 2
TNT1 A 0 A_CustomMissile("PickupProjectile")
PKUP DEF 2
Goto Ready

PuristGun:
TNT1 A 1
TNT1 A 0 A_GiveInventory("ClassicSSG", 1)
TNT1 A 0 A_TakeInventory("SSG", 1)
TNT1 A 10
Goto Ready

TossGrenade:
TNT1 A 0
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 A 0 A_JumpIfInventory("GrenadeAmmo", 1, 1)
Goto NoGrenade
GRTH ABCD 1
TNT1 A 0 A_GiveInventory("FiredGrenade", 1)
TNT1 A 0 A_PLaySound ("GRNPIN",1)
GRTH EEFG 1
TNT1 A 0 A_PLaySound ("GRNTOSS")
GRTH HI 1
TNT1 A 0 A_TakeInventory("GrenadeAmmo", 1,TIF_NOTAKEINFINITE)
TNT1 A 0 A_FireCustomMissile("TriggeredGrenade", random(-2,2), 0, 0, 0, 0, 0)
TNT1 A 0 A_TakeInventory("FiredGrenade", 1)
GRTH JKLM 1
TNT1 A 1
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
Goto Ready
NoGrenade:
TNT1 A 0
TNT1 A 0 A_Print("No Grenades Left.")
Goto RealReady


Unload:
SHT5 A 1 A_WeaponReady
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("Unloading",1)
TNT1 A 0 A_Takeinventory("ADSmode",1)
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_JumpIfInventory("SSGAmmo",1,3)
Goto Ready
TNT1 AAA 0
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_Takeinventory("Unloading",1)

RemoveBullets:
TNT1 AAAA 0
TNT1 A 0 A_JumpIfInventory("SSGAmmo",1,3)
Goto FinishUnload
TNT1 AAAAAA 0
TNT1 A 0 A_Takeinventory("SSGAmmo",1)
TNT1 A 0 A_Giveinventory("Shell12g",1)
Goto RemoveBullets

FInishUnload:
SHT2 B 2 Offset(20,48) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
SHT2 B 2 Offset(10,36) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
SHT2 BCDEF 1
SHT2 GH 1
TNT1 A 0 A_PlaySound("weapons/sshotc")
SHT2 IJ 1
SHT2 K 2
TNT1 A 20
TNT1 A 0 A_GiveInventory("HasUnloaded", 1)
TNT1 A 0 A_Takeinventory("Unloading",1)
SHT2 U 1 Offset(20,46)
SHT2 V 1 Offset(1,33)

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("weapons/sshotc")
SHT2 WX 1
SHT2 YZ 1
TNT1 A 0 A_PlaySound("CLIPINSS")
TNT1 A 0 A_GiveInventory ("Pumping", 1)
SHO9 DE 1
SHO9 FG 1
Goto Ready
Goto Ready

SwitchEmergency:
TNT1 A 0 A_TakeInventory("GoSwitchAmmo", 1)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1", 1, "SwitchingGauss")
TNT1 A 0 A_GiveInventory("EmergencyAmmo1", 1)

TNT1 A 0 A_Print("BuckShot Active")
Goto RealReady
SwitchingGauss:
TNT1 A 0 A_TakeInventory("EmergencyAmmo1", 1)
TNT1 A 0 A_Print("Gauss Rail Active")
Goto RealReady


FireEmergency:
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1",1,"AmmoCheckShell")
AmmoCheckRocket:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("RocketAmmo2",1,"FireEmergencyReal")
Goto NoEmergencyAmmo
AmmoCheckShell:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("Shell12g",1,"FireEmergencyReal")
Goto NoEmergencyAmmo

FireEmergencyReal:
TNT1 A 0 A_JumpIfInventory("NowFireRightActor", 1, "FireEmergencyRight")
PANC A 1 A_ZoomFactor(0.95)
PANC B 1 A_ZoomFactor(0.9)
PANC C 1 A_ZoomFactor(0.85)
PANC D 1 A_ZoomFactor(0.8)
PANC E 1
PANF A 1 BRIGHT A_GunFlash("EmergencyFlash")
PANC E 1 A_Giveinventory("NowFireRightActor", 1)
PANC E 1 A_Setpitch(Pitch-3)
PANC D 1 A_Setpitch(Pitch+1)
PANC C 1 A_Setpitch(Pitch+1)
PANC B 1 A_Setpitch(Pitch+1)
PANC A 1 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
PANC AAAAA 1 A_JumpIfInventory("GoEmergencyGunAbility",1,"FireEmergencyRight")
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
Goto Ready

EmergencyFlash:
TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0,0,0,0)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1",1,"EMFlashShell")
TNT1 A 0 A_PlaySound("Weapons/OkudzhavaFire",6)
TNT1 A 0 A_TakeInventory("RocketAmmo2", 1)
XMFF A 0 A_FireCustomMissile("GaussProjectile", 0, 0, -12, -6, 0, random(-3,3))//GaussProjectile
Stop

EMFlashShell:
TNT1 A 0 A_PlaySound("r6/sg/fire",6)
TNT1 A 0 A_TakeInventory("Shell12g", 1)
TNT1 AAAAAA 0 A_FireBullets (5, 5, -1, 45, "HitPuff")
RIFF AAAAAA 0 A_FireCustomMissile("Tracer", 0, 0, Random(-12,-11), Random(-5,-6), 0, random(-3,3))
Stop

FireEmergencyRight:
TNT1 A 0 A_JumpIfInventory("RocketAmmo2",1,2)
Goto NoEmergencyAmmo
TNT1 AAAAA 0

PANC F 1 A_ZoomFactor(0.95)
PANC G 1 A_ZoomFactor(0.9)
PANC H 1 A_ZoomFactor(0.85)
PANC I 1 A_ZoomFactor(0.8)
PANC J 1
PANF B 1 BRIGHT A_GunFlash("EmergencyFlash2")
PANC J 1 A_Takeinventory("NowFireRightActor")
PANC J 1 A_Setpitch(Pitch-3)
PANC I 1 A_Setpitch(Pitch+1)
PANC H 1 A_Setpitch(Pitch+1)
PANC G 1 A_Setpitch(Pitch+1)
PANC F 1 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
PANC FFFFF 1 A_JumpIfInventory("GoEmergencyGunAbility",1,"FireEmergency")
Goto Ready

EmergencyFlash2:
TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0,0,0,0)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1",1,"EMFlashShell12g")
TNT1 A 0 A_PlaySound("Weapons/OkudzhavaFire",6)
TNT1 A 0 A_TakeInventory("RocketAmmo2", 1)
XMFF A 0 A_FireCustomMissile("GaussProjectile", 0, 0, 12, -6, 0, random(-3,3))//GaussProjectile
Stop

EMFlashShell12g:
TNT1 A 0 A_PlaySound("r6/sg/fire",6)
TNT1 A 0 A_TakeInventory("Shell12g", 1)
TNT1 AAAAAA 0 A_FireBullets (5, 5, -1, 45, "HitPuff")
RIFF AAAAAA 0 A_FireCustomMissile("Tracer", 0, 0, Random(12,11), Random(-5,-6), 0, random(-3,3))
Stop

NoEmergencyAmmo:
TNT1 A 0
TNT1 A 0 A_Print("Find some ammo, peasant!!")
Goto RealReady

ThrowPipeBomb:
TNT1 A 0 A_TakeInventory("ThrowPipeBomb", 1)
TNT1 A 0 A_JumpIfInventory("PipeBombAmmo",1,"ThrowForReal")
Goto NoEmergencyAmmo

ThrowForReal:
PIPE IJLKLMN 1
TNT1 A 0 A_Takeinventory("PipeBombAmmo",1,TIF_NOTAKEINFINITE)
PIPE O 1 A_playsound("FRAGT", 3)
PIPE P 1 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)//HomingRocket
PIPE Q 1 A_FireCustomMissile("PipeBomb", 0, 1, 0, -10)//HomingRocket
PIPE RSTU 1
Goto RealReady

DetonatePipeBomb:
TNT1 A 0 A_takeinventory("DetonatePipeBomb", 1)
DETO AB 2
DETO C 1 A_PlaySound("FRGBEP",4)
C4SP D 0 ACS_NamedExecuteAlways("DetonatePipeBomb",0,1,0,0)
DETO C 1 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
DETO BA 2
Goto RealReady
}
}

Share this post


Link to post

Next time, post code within "code" tags, and if the code is long, post it within "spoiler" tags too. You can quote my post to see how I did it:

Spoiler

Text within spoiler tags is shrinked by default, unless you click the spoiler button to view it.

{
    {
        {
            Spaces and tabs at the beginning of lines aren't stripped out within code tags.
        }
    }
}

To your issue, the code is complicated, and there's just one thing I can think of for now. Near the end of "AltFire2" state, there's this line:
TNT1 A 0 A_JumpIfInventory("Shell12g",1,"RealReady")
Remove or comment out this line, and see if it helps when you're using alt fire (it certainly wouldn't help if your had this issue while using normal fire too).

Share this post


Link to post
scifista42 said:

Next time, post code within "code" tags, and if the code is long, post it within "spoiler" tags too. You can quote my post to see how I did it:

Spoiler

Text within spoiler tags is shrinked by default, unless you click the spoiler button to view it.

{
    {
        {
            Spaces and tabs at the beginning of lines aren't stripped out within code tags.
        }
    }
}

To your issue, the code is complicated, and there's just one thing I can think of for now. Near the end of "AltFire2" state, there's this line:
TNT1 A 0 A_JumpIfInventory("Shell12g",1,"RealReady")
Remove or comment out this line, and see if it helps when you're using alt fire (it certainly wouldn't help if your had this issue while using normal fire too).


sorry about that. I will take a look at this once I get home. the way the shotgun behaves is it has 4 barrels, and the alt fire allows you to change it to fire 1, 2, 3 or all 4 rounds at once.

And I do believe when you fire it normally it does this as well. I'm not home to confirm it though. I won't be home for another 8 hours.

Share this post


Link to post
Voros said:

Wheres RealReady and Reload2?


i'm not sure exactly what you mean.

Also this weapon has an upgrade to it. normally it just has 2 barrels, the upgrade gives it 4.

here is the mod itself if someone wanted to look through it just in case i'm looking at the incorrect part, as I am new with messing around with iwads and such

http://www.moddb.com/mods/brutal-doom/addons/insanitys-brutality

Share this post


Link to post

The upgraded version of the weapon is apparently defined as a separate weapon actor (Quad_Shotgun), so if the reloading issue happens with the upgraded version, you should post the Quad_Shotgun's code.

Share this post


Link to post
scifista42 said:

The upgraded version of the weapon is apparently defined as a separate weapon actor (Quad_Shotgun), so if the reloading issue happens with the upgraded version, you should post the Quad_Shotgun's code.


I believe it happens with the normal supershotgun as well as the quad. Here is what I found...


SSG.txt

Spoiler

ACTOR SSGAmmo : Ammo
{
Inventory.Amount 0
Inventory.MaxAmount 2
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 2
Inventory.Icon "SGN2A0"
}

Actor SSGInHand : Inventory {inventory.maxamount 1}

#include SSGUpgrade.txt
// --------------------------------------------------------------------------
//
// Super Shotgun
//
// --------------------------------------------------------------------------

ACTOR SSG : Doomweapon
{
Weapon.BobRangeX 0.3
Weapon.BobRangeY 0.5
Weapon.BobStyle InverseSmooth
Weapon.BobSpeed 2.0
Game Doom
SpawnID 33
Weapon.Kickback 50
Weapon.SelectionOrder 400
Weapon.AmmoGive1 8
Weapon.AmmoGive2 0
Weapon.AmmoType1 "Shell12g"
Weapon.AmmoType2 "SSGAmmo"
Weapon.AmmoUse1 0
Weapon.AmmoUse2 0
+WEAPON.NOAUTOAIM
+WEAPON.NOAUTOFIRE
+FORCEXYBILLBOARD
+WEAPON.NO_AUTO_SWITCH
Inventory.PickupMessage "You got the Super Shotgun!"
tag "Super Shotgun"
Obituary "%o was blasted by %k's Super Shotgun"
Inventory.PickupSound "CLIPINSS"
Scale 1
States
{
Steady:
TNT1 A 1
Goto Ready
Ready:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("UpgradeReplacementSystem")==1, "SkipUpgrade1")
TNT1 A 0 A_JumpIfInventory("Quad_Shotgun", 1, "SelectUpgrade")
SkipUpgrade1:
SHT2 U 1 Offset(20,46)
SHT2 V 1 Offset(1,33)

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("SGSLCT",7)
SHT2 WX 1
SHT2 YZ 1
TNT1 A 0 A_PlaySound("CLIPINSS",6)
TNT1 A 0 A_GiveInventory("SSGInHand", 1)
TNT1 A 0 A_GiveInventory ("Pumping", 1)
SHO9 DE 1
SHO9 FG 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "PuristGun")
SHT5 ABCD 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 AAA 0
RealReady:
TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
TNT1 A 0 A_JumpIfInventory("Salute1", 1, "Salute")
TNT1 A 0 A_JumpIfInventory("Salute2", 1, "Salute")
TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
TNT1 A 0 A_JumpIfInventory("Unloading",1,"Unload")
TNT1 A 0 A_JumpIfInventory("ThrowPipeBomb",1,"ThrowPipeBomb")//DetonatePipeBomb
TNT1 A 0 A_JumpIfInventory("DetonatePipeBomb",1,"DetonatePipeBomb")//
TNT1 A 0 A_JumpIfInventory("GoEmergencyGunAbility", 1, "FireEmergency")
TNT1 A 0 A_JumpIfInventory("GoSwitchAmmo", 1, "SwitchEmergency")
SHT2 A 1 A_WeaponReady
TNT1 A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("UpgradeReplacementSystem")==1, "RealReady")
TNT1 A 0 A_JumpIfInventory("Quad_Shotgun", 1, "SelectUpgrade")
Goto RealReady

SelectUpgrade:
TNT1 A 0
TNT1 A 0 A_TakeInventory("SSGInHand", 1)
TNT1 A 0 A_SelectWeapon("Quad_Shotgun")
Goto DeselectNone

Deselect:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("UpgradeReplacementSystem")==1, "SkipUpgrade2")
TNT1 A 0 A_JumpIfInventory("Quad_Shotgun", 1, "SelectUpgrade")
SkipUpgrade2:
DeselectNone:
TNT1 A 0 A_JumpIfInventory("SSGInHand", 1, "DeselectReal")
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 A 0 A_TakeInventory("ThrowPipeBomb", 1)
TNT1 A 0 A_TakeInventory("DetonatePipeBomb", 1)
TNT1 A 0 A_TakeInventory("Kicking", 1)
TNT1 A 0 A_TakeInventory("Reloading", 1)
TNT1 A 0 A_TakeInventory("GoSilencerAbility", 1)
TNT1 A 0 A_TakeInventory("Salute1", 1)
TNT1 A 0 A_TakeInventory("Salute2", 1)
TNT1 A 0 A_TakeInventory("GoWeaponSpecialAbility", 1)
TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
Wait
DeselectReal:
TNT1 A 0
TNT1 A 0 A_playsound("weapon/swap", 3)
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 A 0 A_TakeInventory("ThrowPipeBomb", 1)
TNT1 A 0 A_TakeInventory("DetonatePipeBomb", 1)
TNT1 A 0 A_TakeInventory("Kicking", 1)
TNT1 A 0 A_TakeInventory("Reloading", 1)
TNT1 A 0 A_TakeInventory("GoSilencerAbility", 1)
TNT1 A 0 A_TakeInventory("Salute1", 1)
TNT1 A 0 A_TakeInventory("Salute2", 1)
TNT1 A 0 A_TakeInventory("GoWeaponSpecialAbility", 1)
SHT5 DCBA 1
TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
TNT1 A 1
Wait
Select:
TNT1 A 0 A_Takeinventory("FistsSelected",1)
TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "PuristGun")
TNT1 A 0 A_Takeinventory("SawSelected",1)
TNT1 A 0 A_Takeinventory("ShotgunSelected",1)
TNT1 A 0 A_Giveinventory("SSGSelected",1)
TNT1 A 0 A_Takeinventory("MinigunSelected",1)
TNT1 A 0 A_Takeinventory("PlasmaGunSelected",1)
TNT1 A 0 A_Takeinventory("RocketLauncherSelected",1)
TNT1 A 0 A_Takeinventory("GrenadeLauncherSelected",1)
TNT1 A 0 A_Takeinventory("BFGSelected",1)
TNT1 A 0 A_Takeinventory("BFG10kSelected",1)
TNT1 A 0 A_Takeinventory("RailGunSelected",1)
TNT1 A 0 A_Takeinventory("SubMachineGunSelected",1)
TNT1 A 0 A_Takeinventory("RevenantLauncherSelected",1)
TNT1 A 0 A_Takeinventory("LostSoulSelected",1)
TNT1 A 0 A_Takeinventory("FlameCannonSelected",1)
TNT1 A 0 A_Takeinventory("HasBarrel",1)
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 AAAAAAAAAAAA 0 A_Raise
Goto Ready

NoAmmo:
TNT1 A 0 A_JumpIfInventory("Shell12g", 1, "Reload")
SHT2 A 1 A_PlaySound("weapons/empty", 2)
TNT1 A 0 A_TakeInventory("SSGAlt",1)
Goto RealReady
RecoilFlash:
TNT1 A 1 A_Setpitch(pitch-8)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
Stop
RecoilFlash2:
TNT1 A 1 A_Setpitch(pitch-4)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
TNT1 A 1 A_Setpitch(pitch+1)
Stop
Fire:
TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_JumpIfInventory("SSGAlt",1,"AltFire")
TNT1 A 0 A_JumpIfInventory("SSGAmmo", 2, 1)
Goto NoAmmo
//TNT1 A 0 A_JumpIfInventory("SSGAmmo", 2, 1)
//Goto AltFire

TNT1 A 0 A_TakeInventory("SSGAmmo", 2)

TNT1 A 0 A_Recoil(6)
SHO9 A 0 A_firebullets (0,0,1,15,"shotpuff",0,180)
SHO9 A 1 BRIGHT A_playsound("ssg/fire/new", 7)
//TNT1 A 0 A_playsound("weapons/sg",4)
//TNT1 A 0 A_playsound("SSHFIR2", 6)
//TNT1 A 0 A_playsound("ssg/fire/new", 5)
TNT1 AAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-10,10), 0, -1, -12, 0, random(-5,5))

TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",15,0,0,0)
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",-15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmokE", 0, 0, 2, 0, 0, 0)
RIFF AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, -2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
//SHO9 B 1 BRIGHT
TNT1 A 0 A_FireBullets (12, 6, 10, 7, "ShotgunPuff")
TNT1 A 0 A_FireBullets (12, 6, 10, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0, 0, 0, 0)
SHO9 B 1 BRIGHT A_GunFlash("RecoilFlash")
SHT2 A 1 Offset(0,62)
SHT2 A 1 Offset(0,61)
SHT2 A 1 Offset(0,60)
TNT1 A 0 A_TakeInventory("SSGAlt",1)
TNT1 A 0 A_TakeInventory("Reloading",1)
SHT2 A 1 Offset(0,56)
SHT2 A 1 Offset(0,42)
SHT2 AAA 1 Offset(0,32)
SHT2 A 0 A_Refire
Goto RealReady





Reload:
TNT1 A 0

TNT1 A 0 A_TakeInventory("Reloading",1)


TNT1 A 0 A_JumpIfInventory("SSGAlt", 1, "Reload2")//Check if still has a shell on left barrel

TNT1 A 0 A_JumpIfInventory("SSGAmmo", 2, "RealReady")//Check if still has a shell on left barrel


TNT1 A 0 A_JumpIfInventory("Shell12g", 1, 1)//Check if has any ammo left to reload
Goto RealReady


TNT1 A 0 A_JumpIfInventory("Shell12g", 2, 1)//Check if has ammo to reload 2 shells
Goto Reload2




//Reload 2 barrels
//SHT2 B 2 Offset(20,48) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
//SHT2 B 2 Offset(10,36) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
SHT2 BCDEF 1
SHT2 GH 1
SHT2 IJ 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)

TNT1 A 0 A_PlaySound("ssg/open",3)
TNT1 A 0 A_JumpIfInventory("HasUnloaded", 1, 3)
TNT1 AA 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
SHT2 K 1
SHT2 L 10
SHT2 MMNNOO 1
TNT1 A 0 A_playsound("ssg/load")
SHT2 P 1 //Offset(10,36)
//SHT2 P 1 Offset(20,46)
SHT2 Q 1// Offset(30,56)
//SHT2 Q 1 Offset(40,66)
SHT2 R 1// Offset(50,76)
SHT2 S 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)

SHT2 T 1// Offset(30,56)
SHT2 U 1// Offset(20,46)
SHT2 V 1// Offset(1,33)

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("ssg/close",3)
TNT1 A 0 A_TakeInventory("Shell12g", 2,TIF_NOTAKEINFINITE)
TNT1 A 0 A_GiveInventory("SSGAmmo", 2)

SHT2 WX 1
SHT2 YZ 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_TakeInventory("SSGAlt",1)
SHO9 DE 1
SHO9 FG 1
TNT1 A 0 A_ReFire
SHT2 A 2
Goto RealReady


AltFire:
TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_JumpIfInventory("SSGAmmo",1,3)
Goto NoAmmo
TNT1 AAAAA 0
TNT1 A 0 A_JumpIfInventory("SSGAlt",1,"AltFire2")


TNT1 A 0 A_TakeInventory("SSGAmmo",1)
TNT1 A 0 A_GiveInventory("SSGAlt",1)
TNT1 A 0 A_Recoil(2)
TNT1 A 0 A_ALertMonsters
SHTA A 1 BRIGHT A_playsound("ssg/alt/fire/new", 7)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
RIFF AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, 2, 0, 0, 0)
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",15,0,0,0)
SHTA A 2 BRIGHT A_FireBullets (9, 6, 10, 7, "ShotgunPuff")
TNT1 AAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, -1, -12, 0, random(-5,5))
//TNT1 A 0 A_SetPitch(-4.0 + pitch)
//TNT1 A 0 A_FireCustomMissile("ShakeYourAssDouble", 0, 0, 0, 0)

SHT2 A 1 Offset(0,50) A_GunFlash("RecoilFlash2")
//TNT1 A 0 A_SetPitch(+1.0 + pitch)
SHT2 A 1 Offset(0,60)
//TNT1 A 0 A_SetPitch(+1.0 + pitch)
SHT2 A 1 Offset(0,55)
//TNT1 A 0 A_SetPitch(+1.0 + pitch)
SHT2 A 1 Offset(0,50)
//TNT1 A 0 A_SetPitch(+1.0 + pitch)
SHT2 A 1 Offset(0,45)
SHT2 A 1 Offset(0,35)
TNT1 A 0 A_refire("AltFire")
Goto RealReady

AltFire2:
TNT1 A 0 A_TakeInventory("SSGAmmo", 1)
TNT1 A 0 A_Recoil(2)
TNT1 A 0 A_ALertMonsters
SHTA B 1 BRIGHT A_playsound("ssg/alt/fire/new", 6)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
RIFF AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, -2, 0, 0, 0)
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",-15,0,0,0)
SHTA B 2 BRIGHT A_FireBullets (9, 6, 10, 7, "ShotgunPuff")
TNT1 AAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, -1, -12, 0, random(-5,5))
SHT2 A 1 Offset(0,50) A_GunFlash("RecoilFlash2")
SHT2 A 1 Offset(0,60)
SHT2 A 1 Offset(0,55)
SHT2 A 1 Offset(0,50)
SHT2 A 1 Offset(0,45)
SHT2 A 1 Offset(0,35)

TNT1 A 0 A_TakeInventory("SSGAlt", 1)
TNT1 A 0 A_JumpIfInventory("Shell12g",1,"RealReady")
TNT1 A 0 A_Refire("AltFire")
Goto RealReady

Reload2:

TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_JumpIfInventory("Shell12g",1,1)
Goto NoAmmo
TNT1 A 0 A_TakeInventory("SSGAlt",1)

//SHT2 B 2 Offset(20,48) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
TNT1 A 0
TNT1 A 0
//SHT2 B 2 Offset(10,36) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
TNT1 A 0
TNT1 A 0
SHT2 BCDEF 1
TNT1 A 0
TNT1 A 0
SHT2 GH 1
TNT1 A 0
TNT1 A 0
SHT2 IJ 1
TNT1 A 0
TNT1 A 0

TNT1 A 0 A_GiveInventory ("Pumping", 1)

TNT1 A 0 A_PlaySound("ssg/open",3)
TNT1 A 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
SHT2 K 1
SHT7 L 10
SHT7 MMNNOO 1
TNT1 A 0 A_playsound("ssg/load")
SHT7 P 1 //Offset(10,36)
//SHT7 P 1 Offset(20,46)
SHT2 Q 1 //Offset(30,56)
//SHT2 Q 1 Offset(40,66)
SHT2 R 1 //Offset(50,76)
TNT1 A 0
SHT2 S 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)

SHT2 T 1 //Offset(30,56)
SHT2 U 1 //Offset(20,46)
SHT2 V 1 //Offset(1,33)

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("ssg/close",3)
TNT1 A 0 A_TakeInventory("Shell12g", 1,TIF_NOTAKEINFINITE)
TNT1 A 0 A_GiveInventory("SSGAmmo", 1)
SHT2 WX 1
SHT2 YZ 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)
SHO9 DE 1
SHO9 FG 1
TNT1 A 0 A_ReFire
SHT2 A 2

Goto RealReady

Spawn:
SGN2 A -1
Stop

DoKick:
TNT1 A 0 A_PlaySound("KICK2",1)
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("ADSmode",1)
NULL A 0 A_JumpIf (momZ > 0, "AirKick")
NULL A 0 A_JumpIf (momZ < 0, "AirKick")
//NULL A 0 A_JumpIf (pitch > 32, "LowKickChecker1")
InitializeNormalKick:
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"BerserkerKick")
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 SetPlayerProperty(0,1,0)
SSGK ABCDEFG 1
//TNT1 A 0 A_Custompunch(4,0,1,"KickPuff")
RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
SSGK H 3
KICK A 0 A_Takeinventory("Kicking",1)
SSGK IGFEDCBA 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 SetPlayerProperty(0,0,0)
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady

BerserkerKick:
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 SetPlayerProperty(0,1,0)
SSGK ABCDEFG 1
RIFF A 0 A_FireCustomMissile("SuperKickAttack", 0, 0, 0, -7)
SSGK H 3
KICK A 0 A_Takeinventory("Kicking",1)
SSGK IGFEDCBA 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 SetPlayerProperty(0,0,0)
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady

AirKick:
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperAirKick")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SpartaKickFunny")==1,"SpartaAirKick")
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 A_Recoil (-2)
KICK JKLMNO 1
RIFF A 0 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KICK P 3
KICK A 0 A_Takeinventory("Kicking",1)
KICK QRST 2
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady


SuperAirKick:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SpartaKickFunny")==1,"SuperSpartaAirKick")
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 A_Recoil (-2)
KICK JKLMNO 1
RIFF A 0 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KICK P 3
KICK A 0 A_Takeinventory("Kicking",1)
KICK QRST 2
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady

SpartaFOV:
TNT1 A 1 A_ZoomFactor(0.95)
TNT1 A 1 A_ZoomFactor(0.9)
TNT1 A 1 A_ZoomFactor(0.85)
TNT1 A 1 A_ZoomFactor(0.8)
TNT1 A 1 A_ZoomFactor(0.75)
TNT1 A 1 A_ZoomFactor(0.7)
TNT1 A 10
TNT1 A 1 A_ZoomFactor(0.8)
TNT1 A 1 A_ZoomFactor(0.85)
TNT1 A 1 A_ZoomFactor(0.9)
TNT1 A 1 A_ZoomFactor(0.95)
TNT1 A 0 A_ZoomFactor(1)
Stop

SpartaAirKick:
TNT1 A 0 A_playsound("KICK2")
TNT1 A 0 A_GiveInventory("PSeq6",1)
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperSpartaAirKick")
TNT1 A 0 A_PlaySound("KICK",6)
TNT1 A 0 A_Recoil (-20)
TNT1 A 0 A_GunFlash("SpartaFOV")
KRCK JKLMNO 1
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KICK A 0 A_Takeinventory("Kicking",1)
KRCK QQ 1
KRCK RRSSTTUU 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
TNT1 A 0 A_TakeInventory("PSeq1", 2)
TNT1 A 0 A_TakeInventory("PSeq4", 2)
TNT1 A 0 A_TakeInventory("PSeq3", 2)
TNT1 A 0 A_TakeInventory("PSeq2", 2)
TNT1 A 0 A_TakeInventory("PSeq5", 2)
TNT1 A 0 A_TakeInventory("PSeq6", 2)
Goto RealReady

SuperSpartaAirKick:
TNT1 A 0 A_PlaySound("SPARTA",6)
TNT1 A 0 A_Recoil (-30)
TNT1 A 0 A_GunFlash("SpartaFOV")
KRCK JKLMNO 1
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KICK A 0 A_Takeinventory("Kicking",1)
KRCK QQ 1
KRCK RRSSTTUU 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
TNT1 A 0 A_TakeInventory("PSeq1", 2)
TNT1 A 0 A_TakeInventory("PSeq4", 2)
TNT1 A 0 A_TakeInventory("PSeq3", 2)
TNT1 A 0 A_TakeInventory("PSeq2", 2)
TNT1 A 0 A_TakeInventory("PSeq5", 2)
TNT1 A 0 A_TakeInventory("PSeq6", 2)
Goto RealReady

Taunt:
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("Taunting",1)
TNT1 A 0 A_JumpIfInventory("RealismMode", 1, "CheckGrab")
TNT1 A 10
FUCK A 1
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 0, 0, -1, 0)
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", -9, 0, -1, 0)
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 9, 0, -1, 0)
TNT1 A 0 A_JumpIf(CallACS("PlayerSoundsIB") == 2, "PostalFuck")
TNT1 A 0 A_JumpIf(CallACS("PlayerSoundsIB") == 1,"FuckTauntNormal")
NULL A 0 A_PlaySound("DFUCK", CHAN_VOICE)
Goto FinishFuckTaunt
PostalFuck:
NULL A 0 A_Playsound("postal/fuck", CHAN_VOICE)
Goto FinishFuckTaunt
FuckTauntNormal:
NULL A 0 A_PlaySound("FUCK", CHAN_VOICE)
Goto FinishFuckTaunt
FinishFuckTaunt:
FUCK B 1
FUCK CD 1 A_AlertMonsters
FUCK E 15 A_Takeinventory("Taunting",1)
FUCK DCBA 1
TNT1 A 10
Goto RealReady
Salute:
TNT1 A 0 SetPlayerProperty(0,1,0)
TNT1 A 0 A_ALertMonsters
SALU ABCDEDCDEDCDEDCBA 4
TNT1 A 0 A_TakeInventory("Salute1",1)
TNT1 A 0 A_TakeInventory("Salute2",1)
TNT1 A 0 SetPlayerProperty(0,0,0)
Goto Ready

CheckGrab:
TNT1 A 0
TNT1 A 0 A_JumpIfTargetInLOS("CheckDistanceGrab")
Goto Ready+6
CheckDistanceGrab:
TNT1 A 0
TNT1 A 0 A_JumpIfCloser(100, "Grab")
Goto Ready+6
CheckIfCanGrab:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("CanGrab", 1, "Grab")
Goto Ready+6
Grab:
PKUP ABC 2
TNT1 A 0 A_CustomMissile("PickupProjectile")
PKUP DEF 2
Goto Ready

PuristGun:
TNT1 A 1
TNT1 A 0 A_GiveInventory("ClassicSSG", 1)
TNT1 A 0 A_TakeInventory("SSG", 1)
TNT1 A 10
Goto Ready

TossGrenade:
TNT1 A 0
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 A 0 A_JumpIfInventory("GrenadeAmmo", 1, 1)
Goto NoGrenade
GRTH ABCD 1
TNT1 A 0 A_GiveInventory("FiredGrenade", 1)
TNT1 A 0 A_PLaySound ("GRNPIN",1)
GRTH EEFG 1
TNT1 A 0 A_PLaySound ("GRNTOSS")
GRTH HI 1
TNT1 A 0 A_TakeInventory("GrenadeAmmo", 1,TIF_NOTAKEINFINITE)
TNT1 A 0 A_FireCustomMissile("TriggeredGrenade", random(-2,2), 0, 0, 0, 0, 0)
TNT1 A 0 A_TakeInventory("FiredGrenade", 1)
GRTH JKLM 1
TNT1 A 1
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
Goto Ready
NoGrenade:
TNT1 A 0
TNT1 A 0 A_Print("No Grenades Left.")
Goto RealReady


Unload:
SHT5 A 1 A_WeaponReady
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("Unloading",1)
TNT1 A 0 A_Takeinventory("ADSmode",1)
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_JumpIfInventory("SSGAmmo",1,3)
Goto Ready
TNT1 AAA 0
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_Takeinventory("Unloading",1)

RemoveBullets:
TNT1 AAAA 0
TNT1 A 0 A_JumpIfInventory("SSGAmmo",1,3)
Goto FinishUnload
TNT1 AAAAAA 0
TNT1 A 0 A_Takeinventory("SSGAmmo",1)
TNT1 A 0 A_Giveinventory("Shell12g",1)
Goto RemoveBullets

FInishUnload:
SHT2 B 2 Offset(20,48) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
SHT2 B 2 Offset(10,36) //A_FireCustomMissile("SmokeSpawner",0,0,0,5)
SHT2 BCDEF 1
SHT2 GH 1
TNT1 A 0 A_PlaySound("weapons/sshotc")
SHT2 IJ 1
SHT2 K 2
TNT1 A 20
TNT1 A 0 A_GiveInventory("HasUnloaded", 1)
TNT1 A 0 A_Takeinventory("Unloading",1)
SHT2 U 1 Offset(20,46)
SHT2 V 1 Offset(1,33)

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("weapons/sshotc")
SHT2 WX 1
SHT2 YZ 1
TNT1 A 0 A_PlaySound("CLIPINSS")
TNT1 A 0 A_GiveInventory ("Pumping", 1)
SHO9 DE 1
SHO9 FG 1
Goto Ready
Goto Ready

SwitchEmergency:
TNT1 A 0 A_TakeInventory("GoSwitchAmmo", 1)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1", 1, "SwitchingGauss")
TNT1 A 0 A_GiveInventory("EmergencyAmmo1", 1)

TNT1 A 0 A_Print("BuckShot Active")
Goto RealReady
SwitchingGauss:
TNT1 A 0 A_TakeInventory("EmergencyAmmo1", 1)
TNT1 A 0 A_Print("Gauss Rail Active")
Goto RealReady


FireEmergency:
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1",1,"AmmoCheckShell")
AmmoCheckRocket:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("RocketAmmo2",1,"FireEmergencyReal")
Goto NoEmergencyAmmo
AmmoCheckShell:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("Shell12g",1,"FireEmergencyReal")
Goto NoEmergencyAmmo

FireEmergencyReal:
TNT1 A 0 A_JumpIfInventory("NowFireRightActor", 1, "FireEmergencyRight")
PANC A 1 A_ZoomFactor(0.95)
PANC B 1 A_ZoomFactor(0.9)
PANC C 1 A_ZoomFactor(0.85)
PANC D 1 A_ZoomFactor(0.8)
PANC E 1
PANF A 1 BRIGHT A_GunFlash("EmergencyFlash")
PANC E 1 A_Giveinventory("NowFireRightActor", 1)
PANC E 1 A_Setpitch(Pitch-3)
PANC D 1 A_Setpitch(Pitch+1)
PANC C 1 A_Setpitch(Pitch+1)
PANC B 1 A_Setpitch(Pitch+1)
PANC A 1 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
PANC AAAAA 1 A_JumpIfInventory("GoEmergencyGunAbility",1,"FireEmergencyRight")
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
Goto Ready

EmergencyFlash:
TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0,0,0,0)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1",1,"EMFlashShell")
TNT1 A 0 A_PlaySound("Weapons/OkudzhavaFire",6)
TNT1 A 0 A_TakeInventory("RocketAmmo2", 1)
XMFF A 0 A_FireCustomMissile("GaussProjectile", 0, 0, -12, -6, 0, random(-3,3))//GaussProjectile
Stop

EMFlashShell:
TNT1 A 0 A_PlaySound("r6/sg/fire",6)
TNT1 A 0 A_TakeInventory("Shell12g", 1)
TNT1 AAAAAA 0 A_FireBullets (5, 5, -1, 45, "HitPuff")
RIFF AAAAAA 0 A_FireCustomMissile("Tracer", 0, 0, Random(-12,-11), Random(-5,-6), 0, random(-3,3))
Stop

FireEmergencyRight:
TNT1 A 0 A_JumpIfInventory("RocketAmmo2",1,2)
Goto NoEmergencyAmmo
TNT1 AAAAA 0

PANC F 1 A_ZoomFactor(0.95)
PANC G 1 A_ZoomFactor(0.9)
PANC H 1 A_ZoomFactor(0.85)
PANC I 1 A_ZoomFactor(0.8)
PANC J 1
PANF B 1 BRIGHT A_GunFlash("EmergencyFlash2")
PANC J 1 A_Takeinventory("NowFireRightActor")
PANC J 1 A_Setpitch(Pitch-3)
PANC I 1 A_Setpitch(Pitch+1)
PANC H 1 A_Setpitch(Pitch+1)
PANC G 1 A_Setpitch(Pitch+1)
PANC F 1 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
PANC FFFFF 1 A_JumpIfInventory("GoEmergencyGunAbility",1,"FireEmergency")
Goto Ready

EmergencyFlash2:
TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0,0,0,0)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1",1,"EMFlashShell12g")
TNT1 A 0 A_PlaySound("Weapons/OkudzhavaFire",6)
TNT1 A 0 A_TakeInventory("RocketAmmo2", 1)
XMFF A 0 A_FireCustomMissile("GaussProjectile", 0, 0, 12, -6, 0, random(-3,3))//GaussProjectile
Stop

EMFlashShell12g:
TNT1 A 0 A_PlaySound("r6/sg/fire",6)
TNT1 A 0 A_TakeInventory("Shell12g", 1)
TNT1 AAAAAA 0 A_FireBullets (5, 5, -1, 45, "HitPuff")
RIFF AAAAAA 0 A_FireCustomMissile("Tracer", 0, 0, Random(12,11), Random(-5,-6), 0, random(-3,3))
Stop

NoEmergencyAmmo:
TNT1 A 0
TNT1 A 0 A_Print("Find some ammo, peasant!!")
Goto RealReady

ThrowPipeBomb:
TNT1 A 0 A_TakeInventory("ThrowPipeBomb", 1)
TNT1 A 0 A_JumpIfInventory("PipeBombAmmo",1,"ThrowForReal")
Goto NoEmergencyAmmo

ThrowForReal:
PIPE IJLKLMN 1
TNT1 A 0 A_Takeinventory("PipeBombAmmo",1,TIF_NOTAKEINFINITE)
PIPE O 1 A_playsound("FRAGT", 3)
PIPE P 1 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)//HomingRocket
PIPE Q 1 A_FireCustomMissile("PipeBomb", 0, 1, 0, -10)//HomingRocket
PIPE RSTU 1
Goto RealReady

DetonatePipeBomb:
TNT1 A 0 A_takeinventory("DetonatePipeBomb", 1)
DETO AB 2
DETO C 1 A_PlaySound("FRGBEP",4)
C4SP D 0 ACS_NamedExecuteAlways("DetonatePipeBomb",0,1,0,0)
DETO C 1 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
DETO BA 2
Goto RealReady
}
}

SSGUpgrade.txt
Spoiler

Actor QSGSpawner : CustomInventory
{
Scale 1.0
SpawnID 152
Radius 20
Height 16
Inventory.PickupMessage "You got the Quad Shotgun!"
ActiveSound "SPIRACT"
Renderstyle "Add"
Alpha 0.75
Inventory.PickupSound "upgrade/pickup"
+CountItem
+FLOATBOB
+FLOAT
+INVENTORY.ALWAYSPICKUP
states
{
Spawn:
TNT1 A 0 A_LoopActiveSound
QDSG AAAAAAAAAAAA 1 BRIGHT A_SpawnItem("RedFlareMedium",0,20)
Loop
DoNothing:
TNT1 A 0
Stop
Pickup:
TNT1 A 0
TNT1 A 0 A_playsound("hf/pulse", 1)
TNT1 A 0 A_SPawnitem("HellfestUnluckyPulse",0,0)
TNT1 A 0 A_giveinventory("Shell12g", 8)
TNT1 A 0 A_giveinventory("Quad_Shotgun", 1)
Stop
}
}

ACTOR QuadShotgunUpgradeSpawner : CustomInventory //Weapon Spawn
{
-COUNTITEM
-INVENTORY.ALWAYSPICKUP
Inventory.Amount 0
Inventory.MaxAmount 1
Inventory.PickupMessage ""
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("DisableUpgrade")==1,"SpawnNothing")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NoSSGUpgrade")==1,"SpawnNothing")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("IBStandardUpgradeToggle")==1,"SpawnNothing")
Goto Spawn2

SpawnNothing:
TNT1 A 0 A_SpawnItem("SSG")
Goto Derp

Spawn2:
TNT1 A 0 A_SpawnItem("QSGSpawner")
Goto Derp

Derp:
TNT1 A 0
//TNT1 A -1
Stop
}
}

QSG.txt
Spoiler

ACTOR QuadShotgunAmmo : Ammo
{
Inventory.Amount 0
Inventory.MaxAmount 4
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 4
Inventory.Icon "SGN2A0"
}

Actor QSGFireIndicator : Inventory {inventory.maxamount 3}
Actor QSGFireDummy1 : Inventory {inventory.maxamount 3}
Actor QSGFireDummy2 : Inventory {inventory.maxamount 1}

// --------------------------------------------------------------------------
//
// Super Shotgun
//
// --------------------------------------------------------------------------

ACTOR Quad_Shotgun : Doomweapon
{
Weapon.BobRangeX 0.3
Weapon.BobRangeY 0.5
Weapon.BobStyle InverseSmooth
Weapon.BobSpeed 2.0
Game Doom
SpawnID 33
Weapon.Kickback 50
Weapon.SelectionOrder 400
Weapon.AmmoGive1 8
Weapon.AmmoGive2 0
Weapon.AmmoType1 "Shell12g"
Weapon.AmmoType2 "QuadShotgunAmmo"
Weapon.AmmoUse1 0
Weapon.AmmoUse2 0
+WEAPON.NOAUTOAIM
+WEAPON.NOAUTOFIRE
+FORCEXYBILLBOARD
+WEAPON.NOALERT
+WEAPON.NO_AUTO_SWITCH
Inventory.PickupMessage "You got the Quad Shotgun!"
tag "Quad Shotgun"
Obituary "%o was blasted by %k's Super Shotgun"
Inventory.PickupSound "SGSLCT"
Scale 1
States
{
Steady:
TNT1 A 1
Goto Ready
Ready:
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "PuristGun")
SHT5 ABCD 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("UpgradeReplacementSystem")==1, "RealReady")
TNT1 A 0 A_TakeInventory("SSG", 999)
RealReady:
TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
TNT1 A 0 A_JumpIfInventory("Salute1", 1, "Salute")
TNT1 A 0 A_JumpIfInventory("Salute2", 1, "Salute")
TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
TNT1 A 0 A_JumpIfInventory("ThrowPipeBomb",1,"ThrowPipeBomb")//DetonatePipeBomb
TNT1 A 0 A_JumpIfInventory("DetonatePipeBomb",1,"DetonatePipeBomb")//
TNT1 A 0 A_JumpIfInventory("GoEmergencyGunAbility", 1, "FireEmergency")
TNT1 A 0 A_JumpIfInventory("GoSwitchAmmo", 1, "SwitchEmergency")
QSGG A 1 A_WeaponReady
TNT1 A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
Goto RealReady

Deselect:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("UpgradeReplacementSystem")==1, "SkipRemovingSSG")
TNT1 A 0 A_TakeInventory("SSG", 999)
SkipRemovingSSG:
TNT1 A 0 A_playsound("weapon/swap", 3)
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 A 0 A_TakeInventory("ThrowPipeBomb", 1)
TNT1 A 0 A_TakeInventory("DetonatePipeBomb", 1)
TNT1 A 0 A_TakeInventory("Kicking", 1)
TNT1 A 0 A_TakeInventory("Reloading", 1)
TNT1 A 0 A_TakeInventory("GoSilencerAbility", 1)
TNT1 A 0 A_TakeInventory("Salute1", 1)
TNT1 A 0 A_TakeInventory("Salute2", 1)
TNT1 A 0 A_TakeInventory("GoWeaponSpecialAbility", 1)
SHT5 DCBA 1
TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
TNT1 A 1
Wait

Select:
TNT1 A 0 A_Takeinventory("FistsSelected",1)
TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "PuristGun")
TNT1 A 0 A_Takeinventory("SawSelected",1)
TNT1 A 0 A_Takeinventory("ShotgunSelected",1)
TNT1 A 0 A_Giveinventory("SSGSelected",1)
TNT1 A 0 A_Takeinventory("MinigunSelected",1)
TNT1 A 0 A_Takeinventory("PlasmaGunSelected",1)
TNT1 A 0 A_Takeinventory("RocketLauncherSelected",1)
TNT1 A 0 A_Takeinventory("GrenadeLauncherSelected",1)
TNT1 A 0 A_Takeinventory("BFGSelected",1)
TNT1 A 0 A_Takeinventory("BFG10kSelected",1)
TNT1 A 0 A_Takeinventory("RailGunSelected",1)
TNT1 A 0 A_Takeinventory("SubMachineGunSelected",1)
TNT1 A 0 A_Takeinventory("RevenantLauncherSelected",1)
TNT1 A 0 A_Takeinventory("LostSoulSelected",1)
TNT1 A 0 A_Takeinventory("FlameCannonSelected",1)
TNT1 A 0 A_Takeinventory("HasBarrel",1)
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 AAAAAAAAAAAA 0 A_Raise


QSGR U 1 Offset(20,46)
QSGR V 1 Offset(1,33)

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("SGSLCT",7)
QSGR WX 1
QSGR YZ 1
TNT1 A 0 A_PlaySound("SGSLCT",6)
TNT1 A 0 A_GiveInventory ("Pumping", 1)
QHO9 DE 1
QHO9 FG 1
Goto Ready

NoAmmo:
TNT1 A 0 A_JumpIfInventory("Shell12g", 1, "Reload")
SHT2 A 4 A_PlaySound("weapons/empty", 2)
TNT1 A 0 A_TakeInventory("SSGAlt",1)
Goto RealReady
RecoilFlash4:
TNT1 A 1 A_Setpitch(pitch-16)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
Stop
RecoilFlash3:
TNT1 A 1 A_Setpitch(pitch-12)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
Stop
RecoilFlash2:
TNT1 A 1 A_Setpitch(pitch-8)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
Stop
RecoilFlash1:
TNT1 A 1 A_Setpitch(pitch-4)
TNT1 A 1 A_Setpitch(pitch+2)
TNT1 A 1 A_Setpitch(pitch+2)
Stop
Fire:
TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_JumpIfinventory("QSGFireIndicator", 3, "Fire3")
TNT1 A 0 A_JumpIfinventory("QSGFireIndicator", 2, "Fire2")
TNT1 A 0 A_JumpIfinventory("QSGFireIndicator", 1, "Fire1")
Goto Fire4
Fire4:
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 4, 1)
Goto Reload
TNT1 AAAAAA 0

TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_TakeInventory("QuadShotgunAmmo", 4)
TNT1 A 0 A_Recoil(20)
QS2F A 0 A_firebullets (0,0,1,60,"shotpuff")
QS1F A 1 BRIGHT A_playsound("quadssg/fire", 7)
TNT1 AAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-10,10), 0, -1, -12, 0, random(-5,5))
TNT1 AAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, 1, -6, 0, random(-10,10))
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",15,0,0,0)
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",-15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmokE", 0, 0, 2, 0, 0, 0)
RIFF AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, -2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
TNT1 A 0 A_FireBullets (12, 12, 20, 7, "ShotgunPuff")
TNT1 A 0 A_FireBullets (12, 12, 20, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0, 0, 0, 0)
QS1F B 1 BRIGHT

QST2 B 1 BRIGHT A_GunFlash("RecoilFlash4")//Offset(0,60)

QST2 C 1 Offset(0,62)
QSGG A 1 Offset(0,61)
QSGG A 1 Offset(0,60)
QSGG A 1 Offset(0,56)
QSGG A 1 Offset(0,42)
QSGG AAA 1 Offset(0,32)
QSGG A 0 A_Refire
Goto RealReady
Fire3:
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 3, 1)
Goto Fire1
TNT1 AAAAAA 0

TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_TakeInventory("QuadShotgunAmmo", 3)
TNT1 A 0 A_GiveInventory("QSGFireDummy1", 3)
TNT1 A 0 A_Recoil(15)
QS2F A 0 A_firebullets (0,0,1,45,"shotpuff")
QS2F A 1 BRIGHT A_playsound("ssg/fire/new", 7)
TNT1 AAAAAA 0 A_FireCustomMissile("Tracer", random(-10,10), 0, -1, -12, 0, random(-5,5))
TNT1 AAAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, 1, -6, 0, random(-10,10))
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",15,0,0,0)
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",-15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmokE", 0, 0, 2, 0, 0, 0)
RIFF AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, -2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
TNT1 A 0 A_FireBullets (6, 6, 10, 7, "ShotgunPuff")
TNT1 A 0 A_FireBullets (12, 12, 20, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0, 0, 0, 0)
QS2F B 1 BRIGHT

QST2 B 1 BRIGHT A_GunFlash("RecoilFlash3")//Offset(0,50)
QST2 C 1 //Offset(0,62)
QSGG A 1 Offset(0,61)
QSGG A 1 Offset(0,60)
QSGG A 1 Offset(0,56)
QSGG A 1 Offset(0,42)
QSGG AAA 1 Offset(0,32)
QSGG A 0 A_Refire
Goto RealReady

Fire2:
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 2, 1)
Goto Reload
TNT1 AAAAAA 0

TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_JumpIfInventory("QSGFireDummy2", 1, "Fire21")
TNT1 A 0 A_JumpIfInventory("QSGFireDummy1", 2, "Fire21")
TNT1 A 0 A_TakeInventory("QuadShotgunAmmo", 2)
TNT1 A 0 A_Recoil(10)
TNT1 A 0 A_GiveInventory("QSGFireDummy2", 1)
QS2F A 0 A_firebullets (0,0,1,30,"shotpuff")
QS3F A 1 BRIGHT A_playsound("ssg/fire/new", 7)
TNT1 A 0 A_playsound("ssg/alt/fire/new", 6)
TNT1 AAAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, 1, -6, 0, random(-10,10))
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmokE", 0, 0, 2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
TNT1 A 0 A_FireBullets (12, 12, 20, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAssDouble", 0, 0, 0, 0)
QS4F A 1 BRIGHT

QST2 B 1 BRIGHT A_GunFlash("RecoilFlash2")//Offset(0,50)
QST2 C 1 //Offset(0,60)
QSGG A 1 Offset(0,55)
QSGG A 1 Offset(0,50)
QSGG A 1 Offset(0,45)
QSGG A 1 Offset(0,35)
QSGG AAA 1 Offset(0,32)
QSGG A 0 A_Refire("Fire21")
Goto RealReady
Fire21:
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 2, 1)
Goto Reload
TNT1 AAAAAA 0

TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_TakeInventory("QSGFireDummy1", 3)
TNT1 A 0 A_TakeInventory("QSGFireDummy2", 3)
TNT1 A 0 A_TakeInventory("QuadShotgunAmmo", 2)
TNT1 A 0 A_Recoil(10)
QS2F A 0 A_firebullets (0,0,1,30,"shotpuff")
QS3F C 1 BRIGHT A_playsound("ssg/fire/new", 5)
TNT1 AAAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, -1, -6, 0, random(-10,10))
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",-15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, -2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
TNT1 A 0 A_FireBullets (12, 12, 20, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAssDouble", 0, 0, 0, 0)
QS4F B 1 BRIGHT

QST2 B 1 BRIGHT A_GunFlash("RecoilFlash2")//Offset(0,50)
QST2 C 1 //Offset(0,60)
QSGG A 1 Offset(0,55)
QSGG A 1 Offset(0,50)
QSGG A 1 Offset(0,45)
QSGG A 1 Offset(0,35)
QSGG AAA 1 Offset(0,32)
QSGG A 0 A_Refire("Fire2")
Goto RealReady
Fire1:
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 1, 2)
Goto Reload
TNT1 AAAAAA 0

TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_JumpIfInventory("QSGFireDummy1", 3, "Fire14")
TNT1 A 0 A_JumpIfInventory("QSGFireDummy1", 2, "Fire13")
TNT1 A 0 A_JumpIfInventory("QSGFireDummy1", 1, "Fire12")
TNT1 A 0 A_TakeInventory("QuadShotgunAmmo", 1)
TNT1 A 0 A_GiveInventory("QSGFireDummy1", 1)
TNT1 A 0 A_Recoil(5)
QS2F A 0 A_firebullets (0,0,1,15,"shotpuff")
QS3F A 1 BRIGHT A_playsound("ssg/alt/fire/new", 7)
TNT1 AAAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, 1, -6, 0, random(-10,10))
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmokE", 0, 0, 2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
TNT1 A 0 A_FireBullets (12, 12, 10, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
QSGG A 1 BRIGHT Offset(0,50) A_GunFlash("RecoilFlash1")
QSGG A 1 Offset(0,60)
QSGG A 1 Offset(0,55)
QSGG A 1 Offset(0,50)
QSGG A 1 Offset(0,45)
QSGG A 1 Offset(0,35)
QSGG AAA 1 Offset(0,32)
QSGG A 0 A_Refire("Fire1")
Goto RealReady
Fire12:
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 1, 1)
Goto Reload
TNT1 AAAAAA 0

TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_GiveInventory("QSGFireDummy1", 1)
TNT1 A 0 A_TakeInventory("QuadShotgunAmmo", 1)
TNT1 A 0 A_Recoil(5)
QS2F A 0 A_firebullets (0,0,1,15,"shotpuff")
QS3F B 1 BRIGHT A_playsound("ssg/alt/fire/new", 6)
TNT1 AAAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, 1, -6, 0, random(-10,10))
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmokE", 0, 0, 2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
TNT1 A 0 A_FireBullets (12, 12, 10, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
QSGG A 1 BRIGHT Offset(0,50) A_GunFlash("RecoilFlash1")
QSGG A 1 Offset(0,60)
QSGG A 1 Offset(0,55)
QSGG A 1 Offset(0,50)
QSGG A 1 Offset(0,45)
QSGG A 1 Offset(0,35)
QSGG AAA 1 Offset(0,32)
QSGG A 0 A_Refire("Fire1")
Goto RealReady
Fire13:
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 1, 1)
Goto Reload
TNT1 AAAAAA 0

TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_TakeInventory("QuadShotgunAmmo", 1)
TNT1 A 0 A_GiveInventory("QSGFireDummy1", 1)
TNT1 A 0 A_Recoil(5)
QS2F A 0 A_firebullets (0,0,1,15,"shotpuff")
QS3F C 1 BRIGHT A_playsound("ssg/alt/fire/new", 5)
TNT1 AAAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, -1, -6, 0, random(-10,10))
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",-15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmokE", 0, 0, -2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
TNT1 A 0 A_FireBullets (12, 12, 10, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
QSGG A 1 BRIGHT Offset(0,50) A_GunFlash("RecoilFlash1")
QSGG A 1 Offset(0,60)
QSGG A 1 Offset(0,55)
QSGG A 1 Offset(0,50)
QSGG A 1 Offset(0,45)
QSGG A 1 Offset(0,35)
QSGG AAA 1 Offset(0,32)
QSGG A 0 A_Refire("Fire1")
Goto RealReady
Fire14:
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 1, 1)
Goto Reload
TNT1 AAAAAA 0

TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_TakeInventory("QuadShotgunAmmo", 1)
TNT1 A 0 A_TakeInventory("QSGFireDummy1", 3)
TNT1 A 0 A_Recoil(5)
QS2F A 0 A_firebullets (0,0,1,15,"shotpuff")
QS3F D 1 BRIGHT A_playsound("ssg/alt/fire/new", 4)
TNT1 AAAAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-5,5), 0, -1, -6, 0, random(-10,10))
TNT1 AA 0 A_FireCustomMissile("YellowFlareSpawn",-15,0,0,0)
RIFF AA 0 A_FireCustomMissile("GunFireSmokE", 0, 0, -2, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
TNT1 A 0 A_FireBullets (12, 12, 10, 7, "ShotgunPuff")
TNT1 A 0 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
QSGG A 1 BRIGHT Offset(0,50) A_GunFlash("RecoilFlash1")
QSGG A 1 Offset(0,60)
QSGG A 1 Offset(0,55)
QSGG A 1 Offset(0,50)
QSGG A 1 Offset(0,45)
QSGG A 1 Offset(0,35)
QSGG AAA 1 Offset(0,32)
QSGG A 0 A_Refire("Fire1")
Goto RealReady

Altfire:
TNT1 A 0
TNT1 A 0 A_JumpIfinventory("QSGFireIndicator", 3, "TakeAlt")
TNT1 A 0 A_JumpIfinventory("QSGFireIndicator", 2, "Use3Barrel")
TNT1 A 0 A_JumpIfinventory("QSGFireIndicator", 1, "Use2Barrel")
Use1Barrel:
TNT1 A 0
TNT1 a 0 A_Print("Single Shot")
TNT1 A 0 A_Giveinventory("QSGFireIndicator", 1)
Goto RealReady
Use2Barrel:
TNT1 A 0
TNT1 a 0 A_Print("Double Shot")
TNT1 A 0 A_Giveinventory("QSGFireIndicator", 1)
Goto RealReady
Use3Barrel:
TNT1 A 0
TNT1 a 0 A_Print("Triple Shot")
TNT1 A 0 A_Giveinventory("QSGFireIndicator", 1)
Goto RealReady
TakeAlt:
Use4Barrel:
TNT1 A 0
TNT1 a 0 A_Print("Quad Shot")
TNT1 A 0 A_Takeinventory("QSGFireIndicator", 3)
Goto RealReady

Reload:
TNT1 A 0
TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 4, "RealReady")//Check if still has a shell on left barrel
TNT1 A 0 A_JumpIfInventory("Shell12g", 1, 2)
Goto NoAmmo
TNT1 AAAAA 0

TNT1 A 0 A_TakeInventory("QSGFireDummy1", 3)
TNT1 A 0 A_TakeInventory("QSGFireDummy2", 3)
QSGR BCDEF 1
QSGR GH 1
QSGR IJ 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("ssg/open",3)
QSGR K 1 //Here comes the extensive edgyness
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 3, "Load1Shells")
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 2, "Load2Shells")
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo", 1, "Load3Shells")
Load4Shells:
TNT1 A 0
TNT1 AAAA 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
QS4R L 12
QS4R MMNNOOPP 1
Goto FillShells
Load3Shells:
TNT1 A 0
TNT1 AAA 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
QS3R L 11
QS3R MMNNOOPP 1
Goto FillShells
Load2Shells:
TNT1 A 0
TNT1 AA 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
QS2R L 10
QS2R MMNNOOPP 1
Goto FillShells
Load1Shells:
TNT1 A 0
TNT1 A 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
QS1R L 9
QS1R MMNNOOPP 1
Goto FillShells

FillShells:
TNT1 AAAA 0
TNT1 A 0 A_JumpIfInventory("QuadShotgunAmmo",4,"FinishReload")
TNT1 A 0 A_JumpIfInventory("Shell12g",1,3)
Goto FinishReload
TNT1 AAAAAA 0
TNT1 A 0 A_Giveinventory("QuadShotgunAmmo",1)
TNT1 A 0 A_Takeinventory("Shell12g",1,TIF_NOTAKEINFINITE)
Goto FillShells

FinishReload:
TNT1 A 0
TNT1 A 0 A_playsound("ssg/load")
QSGR QQRS 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)
QSGR TUV 1

TNT1 A 0 A_GiveInventory ("Pumping", 1)
TNT1 A 0 A_PlaySound("ssg/close",3)

QSGR WXYZ 1
TNT1 A 0 A_GiveInventory ("Pumping", 1)
QHO9 DE 1
QHO9 FG 1
TNT1 A 0 A_ReFire
QSGG A 2
Goto RealReady

Spawn:
QGN2 A -1
Stop

DoKick:
TNT1 A 0 A_PlaySound("KICK2",1)
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("ADSmode",1)
NULL A 0 A_JumpIf (momZ > 0, "AirKick")
NULL A 0 A_JumpIf (momZ < 0, "AirKick")
//NULL A 0 A_JumpIf (pitch > 32, "LowKickChecker1")
InitializeNormalKick:
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"BerserkerKick")
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 SetPlayerProperty(0,1,0)
QSGK ABCDEFG 1
//TNT1 A 0 A_Custompunch(4,0,1,"KickPuff")
RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
QSGK H 3
KICK A 0 A_Takeinventory("Kicking",1)
QSGK IGFEDCBA 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 SetPlayerProperty(0,0,0)
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady

BerserkerKick:
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 SetPlayerProperty(0,1,0)
QSGK ABCDEFG 1
RIFF A 0 A_FireCustomMissile("SuperKickAttack", 0, 0, 0, -7)
QSGK H 3
KICK A 0 A_Takeinventory("Kicking",1)
QSGK IGFEDCBA 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
TNT1 A 0 SetPlayerProperty(0,0,0)
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady

AirKick:
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperAirKick")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SpartaKickFunny")==1,"SpartaAirKick")
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 A_Recoil (-2)
KICK JKLMNO 1
RIFF A 0 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KICK P 3
KICK A 0 A_Takeinventory("Kicking",1)
KICK QRST 2
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady


SuperAirKick:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SpartaKickFunny")==1,"SuperSpartaAirKick")
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 A_Recoil (-2)
KICK JKLMNO 1
RIFF A 0 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KICK P 3
KICK A 0 A_Takeinventory("Kicking",1)
KICK QRST 2
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
Goto RealReady

SpartaFOV:
TNT1 A 1 A_ZoomFactor(0.95)
TNT1 A 1 A_ZoomFactor(0.9)
TNT1 A 1 A_ZoomFactor(0.85)
TNT1 A 1 A_ZoomFactor(0.8)
TNT1 A 1 A_ZoomFactor(0.75)
TNT1 A 1 A_ZoomFactor(0.7)
TNT1 A 10
TNT1 A 1 A_ZoomFactor(0.8)
TNT1 A 1 A_ZoomFactor(0.85)
TNT1 A 1 A_ZoomFactor(0.9)
TNT1 A 1 A_ZoomFactor(0.95)
TNT1 A 0 A_ZoomFactor(1)
Stop

SpartaAirKick:
TNT1 A 0 A_playsound("KICK2")
TNT1 A 0 A_GiveInventory("PSeq6",1)
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperSpartaAirKick")
TNT1 A 0 A_PlaySound("KICK",6)
TNT1 A 0 A_Recoil (-20)
TNT1 A 0 A_GunFlash("SpartaFOV")
KRCK JKLMNO 1
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -8)
KICK A 0 A_Takeinventory("Kicking",1)
KRCK QQ 1
KRCK RRSSTTUU 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
TNT1 A 0 A_TakeInventory("PSeq1", 2)
TNT1 A 0 A_TakeInventory("PSeq4", 2)
TNT1 A 0 A_TakeInventory("PSeq3", 2)
TNT1 A 0 A_TakeInventory("PSeq2", 2)
TNT1 A 0 A_TakeInventory("PSeq5", 2)
TNT1 A 0 A_TakeInventory("PSeq6", 2)
Goto RealReady

SuperSpartaAirKick:
TNT1 A 0 A_PlaySound("SPARTA",6)
TNT1 A 0 A_Recoil (-30)
TNT1 A 0 A_GunFlash("SpartaFOV")
KRCK JKLMNO 1
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KRCK P 1 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -8)
KICK A 0 A_Takeinventory("Kicking",1)
KRCK QQ 1
KRCK RRSSTTUU 1
TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
NULL A 0 A_TakeInventory("KickHasHit",1)
TNT1 A 0 A_TakeInventory("PSeq1", 2)
TNT1 A 0 A_TakeInventory("PSeq4", 2)
TNT1 A 0 A_TakeInventory("PSeq3", 2)
TNT1 A 0 A_TakeInventory("PSeq2", 2)
TNT1 A 0 A_TakeInventory("PSeq5", 2)
TNT1 A 0 A_TakeInventory("PSeq6", 2)
Goto RealReady

Taunt:
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("Taunting",1)
TNT1 A 0 A_JumpIfInventory("RealismMode", 1, "CheckGrab")
TNT1 A 10
FUCK A 1
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 0, 0, -1, 0)
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", -9, 0, -1, 0)
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 9, 0, -1, 0)
TNT1 A 0 A_JumpIf(CallACS("PlayerSoundsIB") == 2, "PostalFuck")
TNT1 A 0 A_JumpIf(CallACS("PlayerSoundsIB") == 1,"FuckTauntNormal")
NULL A 0 A_PlaySound("DFUCK", CHAN_VOICE)
Goto FinishFuckTaunt
PostalFuck:
NULL A 0 A_Playsound("postal/fuck", CHAN_VOICE)
Goto FinishFuckTaunt
FuckTauntNormal:
NULL A 0 A_PlaySound("FUCK", CHAN_VOICE)
Goto FinishFuckTaunt
FinishFuckTaunt:
FUCK B 1
FUCK CD 1 A_AlertMonsters
FUCK E 15 A_Takeinventory("Taunting",1)
FUCK DCBA 1
TNT1 A 10
Goto RealReady
Salute:
TNT1 A 0 SetPlayerProperty(0,1,0)
TNT1 A 0 A_ALertMonsters
SALU ABCDEDCDEDCDEDCBA 4
TNT1 A 0 A_TakeInventory("Salute1",1)
TNT1 A 0 A_TakeInventory("Salute2",1)
TNT1 A 0 SetPlayerProperty(0,0,0)
Goto Ready

CheckGrab:
TNT1 A 0
TNT1 A 0 A_JumpIfTargetInLOS("CheckDistanceGrab")
Goto Ready+6
CheckDistanceGrab:
TNT1 A 0
TNT1 A 0 A_JumpIfCloser(100, "Grab")
Goto Ready+6
CheckIfCanGrab:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("CanGrab", 1, "Grab")
Goto Ready+6
Grab:
PKUP ABC 2
TNT1 A 0 A_CustomMissile("PickupProjectile")
PKUP DEF 2
Goto Ready

PuristGun:
TNT1 A 1
TNT1 A 0 A_GiveInventory("ClassicSSG", 1)
TNT1 A 0 A_TakeInventory("SSG", 1)
TNT1 A 10
Goto Ready

TossGrenade:
TNT1 A 0
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
TNT1 A 0 A_JumpIfInventory("GrenadeAmmo", 1, 1)
Goto NoGrenade
GRTH ABCD 1
TNT1 A 0 A_GiveInventory("FiredGrenade", 1)
TNT1 A 0 A_PLaySound ("GRNPIN",1)
GRTH EEFG 1
TNT1 A 0 A_PLaySound ("GRNTOSS")
GRTH HI 1
TNT1 A 0 A_TakeInventory("GrenadeAmmo", 1,TIF_NOTAKEINFINITE)
TNT1 A 0 A_FireCustomMissile("TriggeredGrenade", random(-2,2), 0, 0, 0, 0, 0)
TNT1 A 0 A_TakeInventory("FiredGrenade", 1)
GRTH JKLM 1
TNT1 A 1
TNT1 A 0 A_TakeInventory("TossGrenade", 1)
Goto Ready
NoGrenade:
TNT1 A 0
TNT1 A 0 A_Print("No Grenades Left.")
Goto RealReady

SwitchEmergency:
TNT1 A 0 A_TakeInventory("GoSwitchAmmo", 1)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1", 1, "SwitchingGauss")
TNT1 A 0 A_GiveInventory("EmergencyAmmo1", 1)

TNT1 A 0 A_Print("BuckShot Active")
Goto RealReady
SwitchingGauss:
TNT1 A 0 A_TakeInventory("EmergencyAmmo1", 1)
TNT1 A 0 A_Print("Gauss Rail Active")
Goto RealReady


FireEmergency:
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1",1,"AmmoCheckShell")
AmmoCheckRocket:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("RocketAmmo2",1,"FireEmergencyReal")
Goto NoEmergencyAmmo
AmmoCheckShell:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("Shell12g",1,"FireEmergencyReal")
Goto NoEmergencyAmmo

FireEmergencyReal:
TNT1 A 0 A_JumpIfInventory("NowFireRightActor", 1, "FireEmergencyRight")
PANC A 1 A_ZoomFactor(0.95)
PANC B 1 A_ZoomFactor(0.9)
PANC C 1 A_ZoomFactor(0.85)
PANC D 1 A_ZoomFactor(0.8)
PANC E 1
PANF A 1 BRIGHT A_GunFlash("EmergencyFlash")
PANC E 1 A_Giveinventory("NowFireRightActor", 1)
PANC E 1 A_Setpitch(Pitch-3)
PANC D 1 A_Setpitch(Pitch+1)
PANC C 1 A_Setpitch(Pitch+1)
PANC B 1 A_Setpitch(Pitch+1)
PANC A 1 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
PANC AAAAA 1 A_JumpIfInventory("GoEmergencyGunAbility",1,"FireEmergencyRight")
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
Goto Ready

EmergencyFlash:
TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0,0,0,0)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1",1,"EMFlashShell")
TNT1 A 0 A_PlaySound("Weapons/OkudzhavaFire",6)
TNT1 A 0 A_TakeInventory("RocketAmmo2", 1)
XMFF A 0 A_FireCustomMissile("GaussProjectile", 0, 0, -12, -6, 0, random(-3,3))//GaussProjectile
Stop

EMFlashShell:
TNT1 A 0 A_PlaySound("r6/sg/fire",6)
TNT1 A 0 A_TakeInventory("Shell12g", 1)
TNT1 AAAAAA 0 A_FireBullets (5, 5, -1, 45, "HitPuff")
RIFF AAAAAA 0 A_FireCustomMissile("Tracer", 0, 0, Random(-12,-11), Random(-5,-6), 0, random(-3,3))
Stop

FireEmergencyRight:
TNT1 A 0 A_JumpIfInventory("RocketAmmo2",1,2)
Goto NoEmergencyAmmo
TNT1 AAAAA 0

PANC F 1 A_ZoomFactor(0.95)
PANC G 1 A_ZoomFactor(0.9)
PANC H 1 A_ZoomFactor(0.85)
PANC I 1 A_ZoomFactor(0.8)
PANC J 1
PANF B 1 BRIGHT A_GunFlash("EmergencyFlash2")
PANC J 1 A_Takeinventory("NowFireRightActor")
PANC J 1 A_Setpitch(Pitch-3)
PANC I 1 A_Setpitch(Pitch+1)
PANC H 1 A_Setpitch(Pitch+1)
PANC G 1 A_Setpitch(Pitch+1)
PANC F 1 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("GoEmergencyGunAbility", 1)
PANC FFFFF 1 A_JumpIfInventory("GoEmergencyGunAbility",1,"FireEmergency")
Goto Ready

EmergencyFlash2:
TNT1 A 0 A_AlertMonsters
TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0,0,0,0)
TNT1 A 0 A_JumpIfInventory("EmergencyAmmo1",1,"EMFlashShell12g")
TNT1 A 0 A_PlaySound("Weapons/OkudzhavaFire",6)
TNT1 A 0 A_TakeInventory("RocketAmmo2", 1)
XMFF A 0 A_FireCustomMissile("GaussProjectile", 0, 0, 12, -6, 0, random(-3,3))//GaussProjectile
Stop

EMFlashShell12g:
TNT1 A 0 A_PlaySound("r6/sg/fire",6)
TNT1 A 0 A_TakeInventory("Shell12g", 1)
TNT1 AAAAAA 0 A_FireBullets (5, 5, -1, 45, "HitPuff")
RIFF AAAAAA 0 A_FireCustomMissile("Tracer", 0, 0, Random(12,11), Random(-5,-6), 0, random(-3,3))
Stop

NoEmergencyAmmo:
TNT1 A 0
TNT1 A 0 A_Print("Find some ammo, peasant!!")
Goto RealReady

ThrowPipeBomb:
TNT1 A 0 A_TakeInventory("ThrowPipeBomb", 1)
TNT1 A 0 A_JumpIfInventory("PipeBombAmmo",1,"ThrowForReal")
Goto NoEmergencyAmmo

ThrowForReal:
PIPE IJLKLMN 1
TNT1 A 0 A_Takeinventory("PipeBombAmmo",1,TIF_NOTAKEINFINITE)
PIPE O 1 A_playsound("FRAGT", 3)
PIPE P 1 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)//HomingRocket
PIPE Q 1 A_FireCustomMissile("PipeBomb", 0, 1, 0, -10)//HomingRocket
PIPE RSTU 1
Goto RealReady

DetonatePipeBomb:
TNT1 A 0 A_takeinventory("DetonatePipeBomb", 1)
DETO AB 2
DETO C 1 A_PlaySound("FRGBEP",4)
C4SP D 0 ACS_NamedExecuteAlways("DetonatePipeBomb",0,1,0,0)
DETO C 1 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
DETO BA 2
Goto RealReady
}
}

Share this post


Link to post

Is there a main DECORATE file that contains extra/essential DECORATE lines?
I still can't find the RealReady line. Almost everything ends with GoTo RealReady.

Share this post


Link to post
Voros said:

I still can't find the RealReady line.

Use Ctrl+F.

@Toph Bei Fong: The Quad_Shotgun code looks like the weapon should be reloading automatically. When exactly does the reloading issue happen?

Share this post


Link to post
Voros said:

Is there a main DECORATE file that contains extra/essential DECORATE lines?
I still can't find the RealReady line. Almost everything ends with GoTo RealReady.


the only other files I can find that have anything to so with the SSG are these...


DECORATE.sgspawn

Spoiler

ACTOR ShotgunLuckSpawner
{
+THRUACTORS
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==1, "SpawnDefault")
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==2, "SpawnDoom2016")
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==3, "ArsenalSpawn")
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==4, "SpawnDoom2016SG")
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==5, "JRMYXDClassicSpawn")
TNT1 A 0 A_Jump(196, "ArsenalSpawn")
SpawnDefault:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgrade")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgrade:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
ArsenalSpawn:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ArsenalSpawnerShotgun",0,0)
Stop

SpawnDoom2016:
TNT1 A 0
TNT1 A 0 A_Jump(50, "SpawnHARUpgrade1")
TNT1 A 0 A_Jump(50, "SpawnHARUpgrade2")
TNT1 A 0 A_Jump(176, "SpawnOnlyHAR")
SpawnDoom2016SG:
TNT1 A 0 A_Jump(80,"SpawnUpgrade22016")
TNT1 A 0 A_Jump(40,"SpawnUpgrade2016")
TNT1 A 0 A_SpawnItem("SpawnedDoom2016SG",0,0)
Stop
SpawnUpgrade2016:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Doom2016ShotgunUpgradeSpawner",0,0)
Stop
SpawnUpgrade22016:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Doom2016ChargeBurstSpawner", 0,0)
Stop
SpawnOnlyHAR:
TNT1 A 0
TNT1 A 0 A_SpawnItem("HeavyAR",0,0)
Stop
SpawnHARUpgrade1:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("NoHARScopeUpgrade")==1,"SpawnOnlyHAR")
TNT1 A 0 A_SpawnITem("Doom2016HARUpgradeSpawner", 0,0)
Stop
SpawnHARUpgrade2:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("NoHARMissileUpgrade")==1,"SpawnOnlyHAR")
TNT1 A 0 A_SpawnITem("Doom2016HARUpgradeSpawner2", 0,0)
Stop
JRMYXDClassicSpawn:
TNT1 A 0 A_Jump(98, "SpawnX1212Upgrade")
TNT1 A 0 A_SpawnItem("X1212",0,0)
Stop
SpawnX1212Upgrade:
TNT1 A 0
TNT1 A 0 A_spawnitem("X1212UpgradeSpawner", 0,0)
Stop
}
}

Actor ShotgunVariant : RandomSpawner replaces Shotgun
{
dropitem "ShotgunLuckSpawner"
}

//----------------------------------------------------------------------------//
//
// Arsenal Funnys.
//
//----------------------------------------------------------------------------//

ACTOR ArsenalSpawnerShotgun
{
+THRUACTORS
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==3, "ArsenalSpawnForReal")
//TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("DisableAllArsenalSpawnings")==1,"SpawnOnlyShotgun")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("DisableAllArsenalShotgunSpawn")==1,"SpawnOnlyShotgun")
ArsenalSpawnForReal:
TNT1 A 0
TNT1 A 0 A_Jump(25, "SpawnG36C")
TNT1 A 0 A_jump(50, "SpawnX1212")
TNT1 A 0 A_Jump(91, "SpawnR870")
TNT1 A 0 A_Jump(45, "SpawnACR")
TNT1 A 0 A_Jump(60, "SpawnMP5")
TNT1 A 0 A_Jump(10, "SpawnDoom2016HAR")
TNT1 A 0 A_Jump(60, "SpawnDoom3SG")
TNT1 A 0 A_Jump(30, "SpawnDoom2016SG")
TNT1 A 0 A_Jump(192, "SpawnMP7A1")
TNT1 A 0 A_Jump(15, "SpawnMP7A2")
TNT1 A 0 A_Jump(60, "SpawnS94")
TNT1 A 0 A_Jump(30, "SpawnAK47")
TNT1 A 0 A_Jump(15, "SpawnARK50")
TNT1 A 0 A_Jump(200, "SpawnM50")
Goto SpawnOnlyShotgun
SpawnM50:
TNT1 A 0
TNT1 A 0 A_SpawnItem("M50Spawner", 0,0)
Stop
SpawnR870:
TNT1 A 0
TNT1 A 0 A_SpawnItem("RemingtonSpawn", 0,0)
Stop
SpawnS94: //Was gonna be SpawnS-94, but ZDoom hates dashes in it's state names and stuff...
TNT1 A 0
TNT1 A 0 A_SpawnItem("SaigaS-94Spawner",0,0)
Stop
SpawnMP7A1: //Was gonna be SpawnMP7-A1, but ZDoom hates dashes in it's state names and stuff...
TNT1 A 0
TNT1 A 0 A_SpawnItem("MP7A1Spawner",0,0)
Stop
SpawnMP7A2:
TNT1 A 0
TNT1 A 0 A_SpawnItem("MP7A2Spawner",0,0)
Stop
SpawnACR:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ACRSpawn",0,0)
Stop
SpawnMP5:
TNT1 A 0
TNT1 A 0 A_SpawnItem("MP5Spawn",0,0)
Stop
SpawnG36C:
TNT1 A 0
TNT1 A 0 A_SpawnItem("G36CSpawner",0,0)
Stop
SpawnAK47:
TNT1 A 0
TNT1 A 0 A_SpawnItem("AK-47Spawner",0,0)
Stop
SpawnARK50:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ARK-50Spawner",0,0)
Stop
SpawnDoom3SG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Doom3SGSpawn",0,0)
Stop
SpawnDoom2016SG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Doom2016SGSpawn",0,0)
Stop
SpawnDoom2016HAR:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Doom2016HARSpawn", 0,0)
Stop
SpawnX1212:
TNT1 A 0
TNT1 A 0 A_SpawnItem("X1212Spawn", 0,0)
Stop

SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

ACTOR SaigaS-94Spawner
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("Saiga94Spawn")==1,"SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("S-94",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunLuckSpawner",0,0)
Stop
}
}

ACTOR M50Spawner
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("M50Spawn")==1,"SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("M50",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor MP7A1Spawner
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("MP7-A1Spawn")==1,"SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("MP7-A1",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor MP7A2Spawner
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("MP7-A2Spawn")==1,"SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("SpawnedMP7-A2",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor G36CSpawner
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("G36CSpawn")==1,"SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("G36C",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor AK-47Spawner
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("AK-47Spawn")==1,"SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("SpawnedAK-47",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor ARK-50Spawner
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("ARK-50Spawn")==1,"SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("SpawnedARK-50",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor Doom3SGSpawn

{
+ThruActors
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("Doom3ShotgunSpawn")==1, "SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("Doom3SG",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor Doom2016SGSpawn
{
+ThruActors
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("Doom2016ShotgunSpawn")==1, "SpawnOnlyShotgun")
TNT1 A 0 A_Jump(80,"SpawnUpgrade2")
TNT1 A 0 A_Jump(40,"SpawnUpgrade")
TNT1 A 0 A_SpawnItem("SpawnedDoom2016SG",0,0)
Stop
SpawnUpgrade:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Doom2016ShotgunUpgradeSpawner",0,0)
Stop
SpawnUpgrade2:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Doom2016ChargeBurstSpawner", 0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor ACRSpawn
{
+ThruActors
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("ACRSpawn")==1, "SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("ACR",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor MP5Spawn
{
+ThruActors
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("MP5Spawn")==1, "SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("MP5",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor Doom2016HARSpawn
{
+ThruActors
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("Doom2016HeavyARSpawn")==1, "SpawnOnlyShotgun")
TNT1 A 0 A_Jump(60, "SpawnHARUpgrade")
SpawnOnlyHAR:
TNT1 A 0 A_SpawnItem("HeavyAR",0,0)
Stop
SpawnHARUpgrade:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("NoHARScopeUpgrade")==1,"SpawnOnlyHAR")
TNT1 A 0 A_SpawnITem("Doom2016HARUpgradeSpawner", 0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor RemingtonSpawn
{
+ThruActors
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("RemingtonSpawn")==1, "SpawnOnlyShotgun")
TNT1 A 0 A_SpawnItem("Remington 870",0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

Actor X1212Spawn
{
+THRUACTORS
radius 8
height 8
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JUmpIf(ACS_NamedExecuteWithResult("X1212Spawn")==1, "SpawnOnlyShotgun")
TNT1 A 0 A_Jump(98, "SpawnX1212Upgrade")
TNT1 A 0 A_SpawnItem("X1212",0,0)
Stop
SpawnX1212Upgrade:
TNT1 A 0
TNT1 A 0 A_spawnitem("X1212UpgradeSpawner", 0,0)
Stop
SpawnOnlyShotgun:
TNT1 A 0
TNT1 A 0 A_Jump(40,"SpawnUpgradeSG")
TNT1 A 0 A_SpawnItem("Shot_Gun",0,0)
Stop
SpawnUpgradeSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ShotgunUpgradeSpawner1",0,0)
Stop
}
}

DECORATE.ssgspawn
Spoiler

ACTOR SSGLuckSpawner
{
+THRUACTORS
Radius 18
Height 48
States
{
SpawnDoom2016:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Doom2016SSG",0,0)
Stop
JRMYXDClassicSpawn:
TNT1 A 0
TNT1 A 0 A_SpawnItem("COBRA",0,0)
Stop
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==1, "SpawnDefault")
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==2, "SpawnDoom2016")
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==3, "ArsenalSpawn")
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==4, "JRMYXDArsenalSpawn")
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==5, "JRMYXDClassicSpawn")
TNT1 A 0 A_Jump(196, "ArsenalSpawn")
SpawnDefault:
TNT1 A 0
TNT1 A 0 A_Jump(128, "SpawnQSG")
TNT1 A 0 A_SpawnItem("SSG",0,0)
Stop
SpawnQSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("QuadShotgunUpgradeSpawner", 0,0)
Stop
ArsenalSpawn:
TNT1 A 0
TNT1 A 0 A_SpawnItem("ArsenalSpawnerSSG",0,0)
Stop
JRMYXDArsenalSpawn:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Quake 3 Cynetik Shotgun", 0,0)
Stop
}
}

Actor SSGVariant : RandomSpawner replaces SuperShotgun
{
dropitem "SSGLuckSpawner"
}

//----------------------------------------------------------------------------//
//
// Arsenal Funnys.
//
//----------------------------------------------------------------------------//

ACTOR ArsenalSpawnerSSG
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(CallACS("SpawnPresets_IB")==3, "ArsenalSpawnForReal")
//TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("DisableAllArsenalSpawnings")==1,"SpawnOnlySSG")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("DisableAllArsenalSSGSpawn")==1,"SpawnOnlySSG")
ArsenalSpawnForReal:
TNT1 A 0
TNT1 A 0 A_Jump(40, "SpawnAnarchy")
TNT1 A 0 A_Jump(96, "SpawnMI4")
TNT1 A 0 A_Jump(196, "SpawnPOW90")
TNT1 A 0 A_Jump(40, "SpawnAnarchy")
TNT1 A 0 A_Jump(20, "SpawnQuake3Shotgun")
TNT1 A 0 A_Jump(90, "SpawnCOBRA")
TNT1 A 0 A_SpawnItem("Doom2016SSGSpawner",0,0)
Goto SpawnOnlySSG
SpawnMI4:
TNT1 A 0
TNT1 A 0 A_SpawnItem("MI-4Spawn",0,0)
Stop
SpawnPhalanx:
TNT1 A 0
TNT1 A 0 A_SpawnItem("PhalanxSpawn", 0,0)
Stop
SpawnPOW90:
TNT1 A 0
TNT1 A 0 A_SpawnITem("POW-90Spawn", 0,0)
Stop
SpawnAnarchy:
TNT1 A 0
TNT1 A 0 A_SpawnItem("AnarchySpawn", 0,0)
Stop
SpawnQuake3Shotgun:
TNT1 A 0
TNT1 A 0 A_SpawnItem("Quake3ShotgunSpawn", 0,0)
Stop
SpawnCOBRA:
TNT1 A 0
TNT1 A 0 A_SpawnItem("COBRASpawn",0,0)
Stop

SpawnOnlySSG:
TNT1 A 0
TNT1 A 0 A_Jump(128, "SpawnQSG")
TNT1 A 0 A_SpawnItem("SSG",0,0)
Stop
SpawnQSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("QuadShotgunUpgradeSpawner", 0,0)
Stop
}
}

ACTOR Doom2016SSGSpawner
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("Doom2016SSGSpawn")==1,"SpawnOnlySSG")
TNT1 A 0 A_SpawnItem("Doom2016SSG",0,0)
Stop
SpawnOnlySSG:
TNT1 A 0
TNT1 A 0 A_Jump(128, "SpawnQSG")
TNT1 A 0 A_SpawnItem("SSG",0,0)
Stop
SpawnQSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("QuadShotgunUpgradeSpawner", 0,0)
Stop
}
}

Actor MI-4Spawn
{
+THRUACTORS
Radius 18
Height 48
States
{

Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("MI-4Spawn")==1,"SpawnOnlySSG")
TNT1 A 0 A_SpawnItem("MI-4",0,0)
Stop
SpawnOnlySSG:
TNT1 A 0
TNT1 A 0 A_Jump(128, "SpawnQSG")
TNT1 A 0 A_SpawnItem("SSG",0,0)
Stop
SpawnQSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("QuadShotgunUpgradeSpawner", 0,0)
Stop
}
}

Actor PhalanxSpawn
{
+THRUACTORS
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("PHALANXSpawn")==1,"SpawnOnlySSG")
TNT1 A 0 A_SpawnItem("PHALANX SFR-T3",0,0)
Stop
SpawnOnlySSG:
TNT1 A 0
TNT1 A 0 A_Jump(128, "SpawnQSG")
TNT1 A 0 A_SpawnItem("SSG",0,0)
Stop
SpawnQSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("QuadShotgunUpgradeSpawner", 0,0)
Stop
}
}

Actor POW-90Spawn
{
+THRUACTORS
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NAMEDEXECUTEWITHRESULT("POW-90Spawn")==1, "SpawnOnlySSG")
TNT1 A 0 A_SpawnItem("POW-90", 0,0)
Stop
SpawnOnlySSG:
TNT1 A 0
TNT1 A 0 A_Jump(128, "SpawnQSG")
TNT1 A 0 A_SpawnItem("SSG",0,0)
Stop
SpawnQSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("QuadShotgunUpgradeSpawner", 0,0)
Stop
}
}

Actor AnarchySpawn
{
+THRUACTORS
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NAMEDEXECUTEWITHRESULT("Anarchy50Spawn")==1, "SpawnOnlySSG")
TNT1 A 0 A_SpawnItem("Anarchy-50", 0,0)
Stop
SpawnOnlySSG:
TNT1 A 0
TNT1 A 0 A_Jump(128, "SpawnQSG")
TNT1 A 0 A_SpawnItem("SSG",0,0)
Stop
SpawnQSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("QuadShotgunUpgradeSpawner", 0,0)
Stop
}
}

Actor Quake3ShotgunSpawn
{
+THRUACTORS
Radius 18
Height 48
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NAMEDEXECUTEWITHRESULT("Quake3ShotgunSpawn")==1, "SpawnOnlySSG")
TNT1 A 0 A_SpawnItem("Quake 3 Cynetik Shotgun",0,0)
Stop
SpawnOnlySSG:
TNT1 A 0
TNT1 A 0 A_Jump(128, "SpawnQSG")
TNT1 A 0 A_SpawnItem("SSG",0,0)
Stop
SpawnQSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("QuadShotgunUpgradeSpawner", 0,0)
Stop
}
}

Actor COBRASpawn
{
+THRUACTORS
Radius 8
Height 8
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_jumpIf(ACS_NAMEDEXECUTEWITHRESULT("COBRASpawn")==1, "SpawnOnlySSG")
TNT1 A 0 A_SpawnItem("COBRA",0,0)
Stop
SpawnOnlySSG:
TNT1 A 0
TNT1 A 0 A_Jump(128, "SpawnQSG")
TNT1 A 0 A_SpawnItem("SSG",0,0)
Stop
SpawnQSG:
TNT1 A 0
TNT1 A 0 A_SpawnItem("QuadShotgunUpgradeSpawner", 0,0)
Stop
}
}

SSGSpawn.acs
Spoiler

#include "zcommon.acs"
#library "SSGSpawn"

Script "DisableAllArsenalSSGSpawn" (VOID) NET //Removes all blood
{
if(GetCvar("ib_disablearsenalssg") == 1)
{
SetResultValue(1);
}
else
SetResultValue(0);
}

Script "Doom2016SSGSpawn" (Void) NET
{
If(GetCVAR("ib_spawn2016ssg") == 1)
{
SetResultValue(1);
}
else
SetResultValue(0);
}

Script "MI-4Spawn" (Void) NET
{
If(GetCVAR("ib_spawnmi4") == 1)
{
SetResultValue(1);
}
else
SetResultValue(0);
}

Script "PHALANXSpawn" (Void) NET
{
If(GetCVAR("ib_spawnphalanx") == 1)
{
SetResultValue(1);
}
else
SetResultValue(0);
}

Script "Anarchy50Spawn" (Void) NET
{
If(GetCVAR("ib_spawnanarchy") == 1)
{
SetResultValue(1);
}
else
SetResultValue(0);
}

Script "POW-90Spawn" (Void) NET
{
If(GetCVAR("ib_spawnpow90") == 1)
{
SetResultValue(1);
}
else
SetResultValue(0);
}

Script "Quake3ShotgunSpawn" (Void) NET
{
If(GetCVAR("ib_spawnq3sg") == 1)
{
SetResultValue(1);
}
else
SetResultValue(0);
}

Script "COBRASpawn" (Void) NET
{
If(GetCVAR("ib_spawncobra") == 1)
{
SetResultValue(1);
}
else
SetResultValue(0);
}

that's all I can find. Could you look into the file using slade? I posted the link to where the mod can be found. Maybe I'm just missing something. I am new at this so I apologize for the headache :-(

scifista42 said:

Use Ctrl+F.

@Toph Bei Fong: The Quad_Shotgun code looks like the weapon should be reloading automatically. When exactly does the reloading issue happen?


when I empty the gun and there is no ammo in the mag, I have to press fire or reload for the gun to reload.

Vs the supershotgun (sawed-off) in Project Brutality, when you fire and the mag is empty, it automatically reloads without me pressing fire again or hitting the reload key (pretty much how the supershotgun behaves in vanilla doom, but there is no reloading in it obviously). It's the only gun that I know to do this.

The other guns in PB and Insanity's Brutality behave the same way every other guns do, including the quad shotgun, once the magazine is empty, you have to press fire or reload for the gun to reload.

Share this post


Link to post
Toph Bei Fong said:

when I empty the gun and there is no ammo in the mag, I have to press fire or reload for the gun to reload.

When I asked "when exactly", I meant: With the upgraded or non-upgraded weapon? In which particular number-of-barrels mode(s)? All of them, or only some?

Share this post


Link to post
scifista42 said:

When I asked "when exactly", I meant: With the upgraded or non-upgraded weapon? In which particular number-of-barrels mode(s)? All of them, or only some?


oh sorry about that.

right now I can only confirm that it happens with the quad barrel shotgun, in all 4 barrel modes. When you get the upgrade to the SSG, it turns into the quad barrel version.

I cannot remember if it happens with the normal SSG. I'm not home to test it.

Share this post


Link to post

Wait, now I finally got it: You want the weapon to reload even if you don't hold the fire button. I thought the problem was that the weapon forced you to stop holding the fire button and press it again in order to reload. Now it's going to be easier: Find all "goto RealReady" lines under all "Fire<some_number>" states, and change them to "goto Reload".

Share this post


Link to post
scifista42 said:

Wait, now I finally got it: You want the weapon to reload even if you don't hold the fire button. I thought the problem was that the weapon forced you to stop holding the fire button and press it again in order to reload. Now it's going to be easier: Find all "goto RealReady" lines under all "Fire<some_number>" states, and change them to "goto Reload".


awesome thanks. Now the question is, which one of those files do I make those changes in? Like I said I'm new when it comes to this.

Share this post


Link to post

There are no weapon actor definitions within that file, so yes, leave that alone. "Actor definition" refers only to the "actor <some_name> { <some_definition> }" block, not to a whole file.

Share this post


Link to post
scifista42 said:

There are no weapon actor definitions within that file, so yes, leave that alone. "Actor definition" refers only to the "actor <some_name> { <some_definition> }" block, not to a whole file.


ahhhh I see now. thanks I appreciate it. I will look at this when I get home. Again, thanks a bunch.

Share this post


Link to post
scifista42 said:

You're welcome, now let's hope it will actually work. :)


yeah I'll definitely let you know if it does.

But I did notice one thing, after looking through the code, I probably don't want to change all of the goto realready lines, I'm thinking. Because I would hate for the gun to reload automatically after each shot. I would only want it to auto reload after the gun is empty.

I seen an actor that said "noammo" so that probably has something to do with it and I'm thinking I'll have to change something there. I still want the option to manually reload if there is still ammo in the mag.

and if all else fails..... then it's not a big deal to hit the reload button. It's just that the SSG reloading by itself is so burned into my head and muscle memory.

Voros said:

Whats the difference between Reload and Reload2 here?


hmmm, good question

Share this post


Link to post
Toph Bei Fong said:

I probably don't want to change all of the goto realready lines, I'm thinking. Because I would hate for the gun to reload automatically after each shot. I would only want it to auto reload after the gun is empty.

If you did what I said, the weapon would only reload if you stopped holding the fire button OR if the magazine was empty. Thanks to the "A_Refire" function called before each "goto", the weapon wouldn't reach the "goto" state if you were holding the fire button. The weapon would, however, always reload if you stopped holding the fire button, even if it wasn't empty yet. Do you want that or not?

Voros said:

Whats the difference between Reload and Reload2 here?

In the definition of "SSG", "Reload" defines an animation of pumping 2 shells at once into the gun, and "Reload2" defines an animation of pumping only a single shell into it.

Share this post


Link to post

OK, so once you replace the appropriate "goto RealReady" lines with "goto Reload", put the following line immediately above each of them:

TNT1 A 0 A_JumpIfInventory("<ammo_type>",1,"RealReady")
And replace <ammo_type> with "SSGAmmo" inside the definition of SSG, and "QuadShotgunAmmo" inside the definition of Quad_Shotgun.

Share this post


Link to post
scifista42 said:

OK, so once you replace the appropriate "goto RealReady" lines with "goto Reload", put the following line immediately above each of them:

TNT1 A 0 A_JumpIfInventory("<ammo_type>",1,"RealReady")
And replace <ammo_type> with "SSGAmmo" inside the definition of SSG, and "QuadShotgunAmmo" inside the definition of Quad_Shotgun.


perfect. I will try this out.

Share this post


Link to post
scifista42 said:

OK, so once you replace the appropriate "goto RealReady" lines with "goto Reload", put the following line immediately above each of them:

TNT1 A 0 A_JumpIfInventory("<ammo_type>",1,"RealReady")
And replace <ammo_type> with "SSGAmmo" inside the definition of SSG, and "QuadShotgunAmmo" inside the definition of Quad_Shotgun.


I'm having trouble identifying

"Fire<some_number>" states

that you mentioned a while back. Could you clarify this a little bit for me?

Share this post


Link to post

I've meant the states in which the weapon actually fires and that end with A_Refire and goto RealReady. True, not all of them are named "Fire<some_number>", so here I'll list them for you:
In SSG, they are: Fire, AltFire, AltFire2.
In Quad_Shotgun, they are: Fire4, Fire3, Fire2, Fire21, Fire1, Fire14, Fire13, Fire12. (but not AltFire)

Share this post


Link to post
scifista42 said:

I've meant the states in which the weapon actually fires. True, not all of them are named "Fire<some_number>", so here I'll list them for you:
In SSG, they are: Fire, AltFire, AltFire2.
In Quad_Shotgun, they are: Fire4, Fire3, Fire2, Fire21, Fire1, Fire14, Fire13, Fire12. (but not AltFire)



ahh ok, that's what I thought but I was uncertain. thanks for clearing that up, especially the part about the altfire for the quad shotgun.

thank you for being patient with me. Much appreciated.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×