Actor Satanic_Shotgun : Weapon replaces Shotgun
{
	Scale "0.20"
	SpawnID 27
	Weapon.Kickback 512
	Weapon.SelectionOrder 2
	Weapon.AmmoType "Satanic_ShotgunCartridgeAmmo"
	Weapon.AmmoGive1 8
	Weapon.AmmoType2 "Satanic_Shell"
	Inventory.PickupSound "misc/w_pkup"
	Inventory.PickupMessage "the 'defiler' shotgun finds its way into your grasp."
	Tag "'Defiler' Shotgun"
	//+NO_AUTO_SWITCH
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("Satanic_Shotgun",1,"RemoveAndSpawnAmmo",AAPTR_PLAYER1)
		SHTN A 1
		Loop
	RemoveAndSpawnAmmo:
		TNT1 A 0 A_SpawnItemEx("Satanic_Shell",0,0,0,random(-2,2),random(-2,2),2,0,0)
		Stop
	Deselect:
		TNT1 A 0 A_TakeInventory("TAP3LoopCheck",140)
	DeseLoop:
		NSHT A 0 A_Lower
		NSHT A 1 A_Lower
		Loop
	Select:
		TNT1 A 0 A_JumpIfInventory("PWCIsOff",1,"DefXHair")
		TNT1 A 0 A_SetCrosshair(84)
		Goto SeleLoop
	DefXHair:	
		TNT1 A 0 A_SetCrosshair(0)
	SeleLoop:
		NSHT A 0 A_Raise
		NSHT A 1 A_Raise
		Loop
	Ready:  
		TNT1 A 0 A_JumpIfInventory("Satanic_Shell",1,1)
		Goto ReadyNoReserveLoop
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack")
		TNT1 A 0 A_JumpIfInventory("Satanic_ShotgunCartridgeAmmo",0,1)
		TNT1 A 0 A_JumpIfInventory("Satanic_Reload",1,"Reload")
		NSHT A 1 A_WeaponReady
		Loop
	ReadyNoReserveLoop:
		TNT1 A 0 A_JumpIfInventory("Satanic_Shell",1,"Ready")
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack")
		NSHT A 1 A_WeaponReady
		Loop
	4ShellsStockedAndReady:
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC A 1 A_WeaponReady  
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC A 1 A_WeaponReady  
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC A 1 A_WeaponReady  
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC A 1 A_WeaponReady  
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC A 1 A_WeaponReady  
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC A 1 A_WeaponReady  
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC A 1 A_WeaponReady  
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack4Stock")
		SHTC D 1 A_WeaponReady
		Loop
	8ShellsStockedAndReady:
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TertiaryChecker",1,"TertiaryAttack8Stock")
		SHTC D 1 A_WeaponReady
		Loop
	Fire:
		TNT1 A 0 A_TakeInventory("TAP3LoopCheck",140)
		TNT1 A 0 A_JumpIfInventory("StockChecker",2,"Fire8StockedShells")
		TNT1 A 0 A_JumpIfInventory("StockChecker",1,"Fire4StockedShells")
		TNT1 A 0 A_JumpIfInventory("Satanic_ShotgunCartridgeAmmo",1,1)
		Goto ClipEmpty
		TNT1 A 0
		Goto ActualFire
	Fire4StockedShells:
		TNT1 A 0 A_TakeInventory("TAP3LoopCheck",140)
		TNT1 A 0 A_Recoil(3)
		TNT1 A 0 A_PlaySound("Satanic/Weapons/ShotgunShot")
		TNT1 A 0 A_FireCustomMissile("StockBlast")
		TNT1 A 0 A_Light1
		NSHF A 1 A_FireBullets(30,10,20,2,"StockPuff")
		NSHF A 1 A_FireBullets(30,10,20,2,"StockPuff")
		NSHF A 1 A_FireBullets(30,10,20,2,"StockPuff")
		NSHF A 1 A_FireBullets(30,10,20,2,"StockPuff")
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		TNT1 A 0 A_Light0
		NSHF BC 4
		NSHT C 8
		TNT1 A 0 A_JumpIfInventory("Satanic_ShotgunCartridgeAmmo",1,2)
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("StockChecker",2)
		SHTY BCDCB 4 A_ClearReFire
		Goto Ready
	Fire8StockedShells:
		TNT1 A 0 A_TakeInventory("TAP3LoopCheck",140)
		TNT1 A 0 A_Recoil(12)
		NSHT B 0 A_PlaySound("Satanic/Weapons/ShotgunShot")
		TNT1 A 0 A_FireCustomMissile("StockBlast")
		TNT1 A 0 A_Light1
		NSHF A 1 A_FireBullets(50,20,70,2,"StockPuff")
		NSHF A 1 A_FireBullets(50,20,70,2,"StockPuff")
		NSHF A 1 A_FireBullets(50,20,70,2,"StockPuff")
		NSHF A 1 A_FireBullets(50,20,70,2,"StockPuff")
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHF A 1 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		TNT1 A 0 A_Light0
		NSHF BC 4
		NSHT C 8
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("StockChecker",2)
		SHTY BCDCB 4 A_ClearReFire
		Goto Ready
	ActualFire:
		TNT1 A 0 A_JumpIfInventory("Satanic_ShotgunCartridgeAmmo",1,1)
		Goto ClipEmpty
		NSHT B 0 A_PlaySound("Satanic/Weapons/ShotgunShot")
		NSHT B 0 A_TakeInventory("Satanic_ShotgunCartridgeAmmo",1)
		NSHT B 0 A_FireCustomMissile("Satanic_ShotgunShellSpawner",0,0,0,0)
		NSHT B 0 ACS_Execute(811,0,50,random(22,44),0)
		TNT1 A 0 A_Light1
		NSHF A 4 A_FireBullets(14,7,50,1,"Satanic_BulletPuff")
		NSHF BC 4
		NSHT A 2
		TNT1 A 0 A_Refire("ActualFire")
		TNT1 A 0 A_Light0
		Goto Ready
	Altfire:
		TNT1 A 0 A_TakeInventory("TAP3LoopCheck",140)
		NSHT A 0 A_JumpIfInventory("Satanic_ShotgunCartridgeAmmo",0,"FirstStock") 
		NSHT A 0 A_JumpIfInventory("StockChecker",2,"8ShellsStockedAndReady")     
		NSHT A 0 A_JumpIfInventory("StockChecker",1,"SecondStock")
		Goto Ready
	FirstStock:	
		SHTC EF 3
		SHTC G 5
		SHTY Z 0 A_PlaySound("Satanic/Weapons/ShotgunTDSD")
		SHTC D 0 A_GiveInventory("StockChecker",1)
		SHTC D 0 ACS_ExecuteAlways(769,0,30,0,0) 
		SHTC D 0 A_TakeInventory("Satanic_ShotgunCartridgeAmmo",4)
		SHTC H 5
		SHTC G 5
		SHTC FE 3
		Goto 4ShellsStockedAndReady
	SecondStock:
		SHTC EFG 3
		SHTY Z 0 A_PlaySound("Satanic/Weapons/ShotgunTDSD")
		SHTC H 0 A_GiveInventory("StockChecker",1)
		SHTC H 0 ACS_ExecuteAlways(769,0,30,0,0)
		SHTC H 0 A_TakeInventory("Satanic_ShotgunCartridgeAmmo",4)
		SHTC H 5
		SHTC G 5
		SHTC FE 3
		Goto 8ShellsStockedAndReady
	Reload:
		TNT1 A 0 A_TakeInventory("TAP3LoopCheck",140)
		TNT1 A 0 A_JumpIfInventory("Satanic_ShotgunCartridgeAmmo",0,"ClipFull")
		TNT1 A 0 A_JumpIfInventory("Satanic_Shell",1,1)
		Goto Ready+2
		DEFR AABBCCDD 1
		NSHT H 0 A_PlaySound("Satanic/Weapons/ShotgunReload")
		NSHT H 0 A_GiveInventory("Satanic_ShotgunCartridgeAmmo",1)
		NSHT H 0 A_TakeInventory("Satanic_Shell",1)
		DEFR XXXXXDDDDDEEFFGGHH 1
		TNT1 A 0 A_JumpIfInventory("Satanic_Reload",1,"SpeedReload") 
		SHTY BZ 4
		Goto Ready
	SpeedReload:
		TNT1 A 0 A_JumpIfInventory("Satanic_ShotgunCartridgeAmmo",0,"ClipFull")
		TNT1 A 0 A_JumpIfInventory("Satanic_Shell",1,1)
		Goto Ready
		DEFR ABCD 1
		NSHT H 0 ACS_ExecuteAlways(769,0,2,0,0)
		NSHT H 0 A_PlaySound("Satanic/Weapons/ShotgunReload")
		NSHT H 0 A_GiveInventory("Satanic_ShotgunCartridgeAmmo",1)
		NSHT H 0 A_TakeInventory("Satanic_Shell",1)
		DEFR XEFGH 1
		TNT1 A 0 A_JumpIfInventory("Satanic_Reload",1,"SpeedReload") 
		SHTY BZ 3
		Goto Ready
	ClipEmpty:
		TNT1 A 0 A_JumpIfInventory("Satanic_Shell",1,"Reload")
		SHTY Z 0 A_PlaySound("Satanic/Weapons/ShotgunTDSD")
		NSHT A 4 Offset(0,30)
		NSHT A 4 Offset(0,40)
		NSHT A 4 Offset(0,35)
		Goto Ready
	ClipFull:
		SHTY Z 0 A_PlaySound("Satanic/Weapons/ShotgunTDSD")
		SHTY ZZZBBBCCCCCDDDDDCCCCCBBBZZZ 1
		Goto Ready
	TertiaryAttack:
		TNT1 A 0 A_SetInvulnerable
		TNT1 A 0 A_SetReflective
		SSH1 ABC 1
		TNT1 A 1
	TertiaryAttackPhase2:	
		SSH1 D 1
		TNT1 A 0 A_PlaySound("skeleton/swing")
		SSH1 EFG 1
		TNT1 A 0 ACS_ExecuteAlways(769,0,20,0,0)
		TNT1 A 0 A_CustomPunch(5,1,0,"BludgeonPuff",80)
		SSH1 H 1
		SSH1 IJK 1
		TNT1 A 1
		TNT1 A 0 A_UnSetInvulnerable
		TNT1 A 0 A_UnSetReflective
		SSH1 CBA 1
	TertiaryAttackPhase3:
		TNT1 A 0 A_JumpIfInventory("Satanic_Shell",1,1)
		Goto ReadyNoReserveLoop
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoReady")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		TNT1 A 0 A_JumpIfInventory("Satanic_ShotgunCartridgeAmmo",0,1)
		TNT1 A 0 A_JumpIfInventory("Satanic_Reload",1,"Reload")
		NSHT A 1 A_WeaponReady
		Loop
	TertiaryAttack4Stock:
		TNT1 A 0 A_SetInvulnerable
		TNT1 A 0 A_SetReflective
		SSH2 ABC 1
		TNT1 A 1
	TertiaryAttack4StockPhase2:
		SSH2 D 1
		TNT1 A 0 A_PlaySound("skeleton/swing")
		SSH2 EFG 1
		TNT1 A 0 ACS_ExecuteAlways(769,0,20,0,0)
		TNT1 A 0 A_CustomPunch(5,1,0,"BludgeonPuff",80)
		SSH2 H 1
		SSH2 IJK 1
		TNT1 A 1
		TNT1 A 0 A_UnSetInvulnerable
		TNT1 A 0 A_UnSetReflective
		SSH2 CBA 1
	TertiaryAttack4StockPhase3:
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC A 1 A_WeaponReady  
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoStock4Ready")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		SHTC D 1 A_WeaponReady
		Loop
	TertiaryAttack8Stock:
		TNT1 A 0 A_TakeInventory("StockChecker",2)
		TNT1 A 0 A_SetInvulnerable
		TNT1 A 0 A_SetReflective
		SSH2 ABC 1
		TNT1 A 1
	TertiaryAttack8StockPhase2:
		SSH2 D 1
		TNT1 A 0 A_PlaySound("skeleton/swing")
		SSH2 EFG 1
		TNT1 A 0 ACS_ExecuteAlways(769,0,20,0,0)
		TNT1 A 0 A_CustomPunch(700,1,0,"StockBludgeonPuff",80)
		TNT1 A 0 A_PlaySound("Satanic/Weapons/ShotgunShot")
		TNT1 A 0 A_FireBullets(10,10,20,2,"StockPuff")
		SSH2 H 1
		SSH2 IJK 1
		TNT1 A 1
		TNT1 A 0 A_UnSetInvulnerable
		TNT1 A 0 A_UnSetReflective
		SSH2 CBA 1
	TertiaryAttack8StockPhase3:
		TNT1 A 0 A_JumpIfInventory("Satanic_Shell",1,1)
		Goto ReadyNoReserveLoop
		TNT1 A 0 A_JumpIfInventory("TAP3LoopCheck",0,"TakeTAP3AndGotoReady")
		TNT1 A 0 A_GiveInventory("TAP3LoopCheck")
		TNT1 A 0 A_JumpIfInventory("Satanic_ShotgunCartridgeAmmo",0,1)
		TNT1 A 0 A_JumpIfInventory("Satanic_Reload",1,"Reload")
		NSHT A 1 A_WeaponReady
		Loop
	TakeTAP3AndGotoReady:
		TNT1 A 0 A_TakeInventory("TAP3LoopCheck",140)
		Goto Ready
	TakeTAP3AndGotoStock4Ready:
		TNT1 A 0 A_TakeInventory("TAP3LoopCheck",140)
		Goto 4ShellsStockedAndReady
	}
}

ACTOR StockBlast : FastProjectile
{
	Speed 90
	States
	{
	Spawn:
		NULL A 1
		Loop
	Death:
		RBFS E 5
		RBFS D 5
		RBFS C 0 
		RBFS C 5 A_Explode(1,64,1,1)
		RBFS D 5
		RBFS E 5
		Stop
	}
}

Actor Satanic_ShotgunChamberCheck : Inventory
{
	Inventory.Amount 1
}

ACTOR StockChecker : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 2
	-INVBAR
}

ACTOR StockPuff : BulletPuff
{
	+EXTREMEDEATH
	Decal "RedLightning1"
	DamageType "DefilerStock"
	Scale "0.075"
	States
	{
	Spawn:
		RBFS A 4 Bright
		RBFS B 4
	Melee:
		RBFS CD 4
		Stop
	}
}

ACTOR TAP3LoopCheck : Inventory
{
	-INVBAR
	Inventory.Amount 1
	Inventory.MaxAmount 140
}