
//Dusk damage chart (type: Dmg)
//SP: 600 (20x30)
//MP: 400 (20x20)


//The oldschool classic.
ACTOR Dusk_SuperShotgun_newammo : DuskWeapon //replaces supershotgun
{
	+POWERED_UP 
	Weapon.SisterWeapon Dusk_SuperShotgun

	Weapon.SelectionOrder 5
Weapon.Slotnumber 4
//	Weapon.SisterWeapon Dusk_SuperShotgun_Fastfire

	Weapon.AmmoUse 2
	Weapon.AmmoGive 8
	Weapon.AmmoType "Dusk_Wep3Ammo"
	Weapon.UpSound "sshotgun/raise"

	Inventory.PickupMessage "$SSG_PICK"
	Obituary "$SSG_OB"
	Tag "Super shotgun"

	States
	{
	Ready:
TNT1 A 0 A_JumpIfInventory("Doosk_ExplosiveBarrelWeapon",1,"Select_Barrel")
TNT1 A 0 A_JumpIfInventory("Doosk_HereticBarrelWeapon",1,"Select_HereticBarrel")
TNT1 A 0 A_JumpIfInventory("Doosk_SoapWeapon",1,"Select_Soap")

		W04C A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		Loop
	Deselect:
    TNT1 A 0 A_TakeInventory("SetWeaponMemory",50)
    TNT1 A 0 A_GiveInventory("SetWeaponMemory",7)
	DeselectLoop:
		TST1 AAA 0 A_Lower
		TST1 A 1 A_Lower
		Loop
	Select:
		TNT1 A 0 A_SetCrosshair(13)
    TNT1 A 0 A_TakeInventory("SetWeaponActual",50)
    TNT1 A 0 A_GiveInventory("SetWeaponActual",7)
//		TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
		W04A ABCDEFGHIJKLMNOPQ 1 A_WeaponReady//(WRF_NOFIRE)
		Goto Ready


	Reload://Weapon spin
	TNT1 A 0 A_PlaySound("sickles/fire")
		W04D ABCDE 1 A_WeaponReady //(WRF_ALLOWRELOAD)
		W04D FGHIJKLMNOPQRSTU 1 A_WeaponReady (WRF_ALLOWRELOAD)
		Goto Ready


		
	Fire:
		W04F A 0 A_Gunflash		TNT1 A 0 A_GiveInventory("Player_WeaponShot",1)


 		W04F ABCD 1 bright A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
TNT1 A 0 A_JumpIfInventory("Fastfire_TotemAmount",31,	"Fire_Stacked2")
TNT1 A 0 A_JumpIfInventory("Fastfire_TotemAmount",1,	"Fire_Stacked1")
		W04F EFGHIJKLMNOPQ 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 19 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W04G ABCDEFGHI 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W04C A 5 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W04C A 0 A_ReFire
		Goto Ready


	Fire_Stacked1:
		W04F EFGHIJKLMNOPQ 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 8 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W04C A 0 A_ReFire
		TNT1 A 11 A_WeaponReady (WRF_ALLOWRELOAD)
		W04G ABCDEFGHI 1 A_WeaponReady (WRF_ALLOWRELOAD)
		W04C A 5 A_WeaponReady (WRF_ALLOWRELOAD)
		Goto Ready


	Fire_Stacked2:
		W04F EFGHIJKLM 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W04F NOPQ 1 A_WeaponReady (WRF_ALLOWRELOAD)
		TNT1 A 8 A_WeaponReady (WRF_ALLOWRELOAD)
		W04C A 0 A_ReFire
		TNT1 A 11 A_WeaponReady (WRF_ALLOWRELOAD)
		W04G ABCDEFGHI 1 A_WeaponReady (WRF_ALLOWRELOAD)
		W04C A 5 A_WeaponReady (WRF_ALLOWRELOAD)
		Goto Ready






	Flash:
		TNT1 A 0 A_FireBullets (SSGSpreadHorz, SSGSpreadVert, 20, SSGDmg, "WeaponPuff_AllowGib")
	FlashContinue:
    TNT1 A 0 A_PlaySound ("sshotgun/fire", CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("Weapon_Recoil", 0, 3, 0, 0)
		TNT1 A 3 A_Light2
		TNT1 A 4 A_Light1
		TNT1 A 8 A_Light0
	
	TNT1 A 1 A_JumpIf(CallACS("CasingsType")==1, "CasingSpawner")
//Sprite casings
		C04A A 0 A_JUMP(128, 3)
		C04B A 0 A_JUMP(128, 2)
		C04C A 0
		"####" ABCDEFGHIJKLMNOPQR 1 
	Goto LightDone




//Actor casings
	CasingSpawner:
		TNT1 A 0 A_FireCustomMissile("ShotgunCaseSpawn",5,0,2,-10)//,-10,0,2,6)
		TNT1 A 0 A_FireCustomMissile("ShotgunCaseSpawn2",5,0,-2,-10)//,10,0,2,6)
		Goto LightDone

	Spawn:
		W04Z A -1
		Stop
	}
}

