//Can/plane

ACTOR StupidRatCanWeapon : Weapon
{
	Inventory.RestrictedTo "StupidRatClass"
	Weapon.SelectionOrder 3700
	Obituary "%k got canned"
	Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED"
	Weapon.AmmoUse 50
	Weapon.Ammotype "StupidRatPlaneAmmo" 
	+WEAPON.AMMO_OPTIONAL
	Tag "Rats in a can"
	DamageType "RatGainAmmo"
	+weapon.noalert
	States
	{
	Reload:
		TNT1 A 0 bright ACS_NamedExecuteAlways("RatDanceState")
		TNT1 A 0 A_GiveInventory("StupidRatDancing")
		TNT1 A 0 SetPlayerProperty(0,1,PROP_FROZEN)
		TNT1 A 0 A_PlaySound("characters/stupidrat/music",7,1,1,5)
		TNT1 A 0 ACS_NamedExecuteWithResult("SetRatChasecam2",40)
		TNT1 A 0 ACS_NamedExecuteWithResult("SpookyDoiseTime")
	Dance:
		TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SRWL D 10 bright 
		TNT1 A 0 A_jumpifinventory("reloadholding",1,"Dance")
		TNT1 A 0 SetPlayerProperty(0,0,PROP_FROZEN)
		TNT1 A 0 A_takeinventory("StupidRatDancing")
		TNT1 A 0 A_StopSound(7)
		TNT1 A 0 ACS_NamedExecuteWithResult("SetRatChasecam2",0)
		TNT1 A 0 ACS_NamedExecuteWithResult("SpookyDoiseTimeStop")
		TNT1 A 0 bright ACS_NamedExecuteAlways("RatCheeseState")
		SRWL DEFG 4 bright
		Goto Ready
	Ready: 
		TNT1 A 0 A_GiveInventory("StupidRatHoldingCan")
		SRWL DEFG 4 bright A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD)
		Loop
	Deselect:
		TNT1 A 0 ACS_NamedExecuteWithResult("SetRatChasecam2",0)
		TNT1 A 0 A_StopSound(7)
	DeselectLoop:
		TNT1 A 0 A_TakeInventory("StupidRatHoldingCan")
		TNT1 A 0 SetPlayerProperty(0,0,PROP_FROZEN)
		TNT1 A 0 A_StopSound(6)
		SRWL A 0 A_Lower
		Loop
	Select:
		TNT1 A 0 bright ACS_NamedExecuteAlways("RatCanState")
		SelectLoop:
		SRWL A 0 A_Raise
		Loop
	//Firing
	Fire:
		TNT1 A 0 A_PlaySound("characters/stupidrat/release", 1)
		SRWL c 4 bright A_JumpIfInventory("StupidRatPlaneAmmo",50,"ContinueFire")
		SRWL C 1 bright A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
		Goto Ready
	ContinueFire:
		TNT1 A 0 a_alertmonsters
		TNT1 A 0 A_PlaySound("characters/stupidrat/release",1)
		TNT1 A 0 bright ACS_NamedExecuteAlways("RatCanAttack1State")
		SRWL H 4 bright 
		TNT1 A 0 A_TakeInventory("StupidRatPlaneAmmo",50)
		SRWL I 30 bright A_SpawnItemEx("StupidRatPlaneMonster", 0, 0, 28, 6, 0, 0, 0, SXF_SETMASTER|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION )
		SRWL H 4 bright 
		Goto Ready
  
	}
}