//Cheese

ACTOR StupidRatCheeseWeapon : Weapon
{
	Inventory.RestrictedTo "StupidRatClass"
	Weapon.SelectionOrder 3700
	Obituary "%k got cheesed"
	Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED"
	+WEAPON.AMMO_OPTIONAL
	Tag "Cheese"
	DamageType "RatGainAmmo"
	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)
		SRWC 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")
		SRWC DEFG 4 bright
		Goto Ready
	Ready: 
		TNT1 A 0 A_GiveInventory("StupidRatHoldingCheese")
		SRWC 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("StupidRatHoldingCheese")
		TNT1 A 0 A_Changeflag("NOPAIN",0)
		TNT1 A 0 A_Gunflash("FlashEnd")
		TNT1 A 0 bright ACS_NamedExecuteAlways("StupidRatViewHeightReset")
		TNT1 A 0 SetPlayerProperty(0,0,PROP_FROZEN)
		TNT1 A 0 A_StopSound(6)
		SRWC A 0 A_Lower
		Loop
	Select:
		TNT1 A 0 bright ACS_NamedExecuteAlways("RatCheeseState")
		SelectLoop:
		SRWC A 0 A_Raise
		Loop
	  //Firing
	Fire:
		SRWC H 4 Bright 
		SRWC H 2 bright A_refire("Fire2")
		Goto Ready
	Fire2:
		TNT1 A 0 bright ACS_NamedExecuteAlways("RatCheeseAttack1State")
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,46)
		SRWC H 2 bright A_refire("Fire3")
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeightReset")
		Goto Ready
	Fire3:
		SRWC I 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,59)
		SRWC I 2 bright A_refire("Fire4")
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,46)
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeightReset")
		Goto Ready
	Fire4:
		SRWC I 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,65)
		SRWC I 2 bright A_refire("Fire5")
		SRWC I 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,59)
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,46)
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeightReset")
		Goto Ready
	Fire5:
	
		SRWC I 2 bright
		SRWC I 2 bright A_refire("FireGroundCheck")
		SRWC I 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,59)
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,46)
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeightReset")
		Goto Ready
	FireGroundCheck:
		SRWC I 2 bright A_JumpIf(velz == 0,"FireStart")
		SRWC I 2 bright A_refire("FireGroundCheck")
		SRWC I 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,59)
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,46)
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeightReset")
		Goto Ready
	FireStart:
		TNT1 A 0 A_PlaySound("characters/stupidrat/cheesefall",0)
		TNT1 A 0 bright ACS_NamedExecuteAlways("RatCheeseAttack2State")
		TNT1 A 0 A_giveinventory("StupidRatCheeseSpeedDown",1)
		TNT1 A 0 A_giveinventory("StupidRatCheeseResistance")
		SRWC J 0 bright A_Firecustommissile("StupidRatCheeseBlast")
		TNT1 A 0 A_Changeflag("NOPAIN",1)
		SRWC A 0 A_quake(6,12,0,100)
		TNT1 A 0 A_PlaySound("characters/stupidrat/cheesestomp",0)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",0,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",15,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",30,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",45,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",60,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",75,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",90,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",105,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",120,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",135,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",150,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",165,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",180,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",195,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",210,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",225,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",240,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",255,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",270,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",285,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",300,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",315,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",330,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",345,0,0,-16)
		TNT1 A 0 A_FireCustomMissile("StupidRatCheeseSmoke",360,0,0,-16)
		SRWC J 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,29)
		SRWC KLMN 2 bright
	FireLoop:
		SRWC N 2 bright 
		SRWC N 2 bright A_refire("FireLoop")
		TNT1 A 0 A_takeinventory("StupidRatCheeseResistance")
		TNT1 A 0 A_takeinventory("StupidRatCheeseSpeedDown",1)
		SRWC M 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,32)
		SRWC H 2 bright ACS_NamedExecuteAlways("StupidRatViewHeight",0,39)
		SRWC I 2 bright ACS_NamedExecuteAlways("StupidRatViewHeightReset")
// 		TNT1 A 0 SetPlayerProperty(0,0,PROP_FROZEN)
		TNT1 A 0 A_Changeflag("NOPAIN",0)
// 		SRWC DE 4 bright A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
		SRWC DE 4 bright A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD)
		SRWC FG 4 bright A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD)
		Goto Ready
	FlashRoll:
		SRWD HIJK 4  bright
		Loop
	FlashEnd: //For canPeppinoMagicAmmoing the running anim 1
		TNT1 A 1
		Loop
	}
}