// --------------------------------------------------------------------------
//
//	Chainsaw
//
// --------------------------------------------------------------------------

Actor U_Chainsaw : BaseWeapon
{
	Weapon.Kickback 0
	Weapon.Selectionorder 18000
	Weapon.UpSound "none"
	Weapon.readysound "weapons/chainsaw/idle"
	Inventory.Pickupsound "weapons/chainsaw/draw"
	Inventory.PickupMessage "$GOTCHAINSAW"
	Obituary "$OB_MPCHAINSAW"
	scale 0.85
	+WEAPON.AXEBLOOD
	+WEAPON.MELEEWEAPON
	-WEAPON.CHEATNOTWEAPON
	-WEAPON.NOALERT
	tag "Chainsaw"
	states
	{
	Spawn:
		CSAW A -1
		Stop

	Select:
		TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "PuristGun")
		TNT1 A 0 A_Giveinventory("HasCutingWeapon",1)
		TNT1 A 0 A_Giveinventory("SawSelected",1)
		TNT1 A 0 A_Giveinventory("GoSpecial",1)
		TNT1 A 0 A_Takeinventory("Unloading",1)
		TNT1 A 0 A_Takeinventory("Reloading",1)
		TNT1 A 0 A_TakeInventory("TossGrenade", 1)
		TNT1 A 0 A_Takeinventory("WeapSpecial",1)
		TNT1 A 0 A_Takeinventory("SwitchFlashlight",1)
		TNT1 A 0 A_Takeinventory("Taunting",1)
		TNT1 A 0 A_Takeinventory("PowerBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerBlueBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerGreenBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("ChainsawCrueltyBonus",200)
		TNT1 A 0 A_Takeinventory("IdleCounter",200)
		TNT1 A 0 A_Raise
		Wait

	Deselect:
		TNT1 A 0 A_StopsoundEx("Weapon")
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,15)
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,25)
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,35)
		TNT1 A 0 A_JumpIfInventory("SawDead",1,45)
		//None
		CSWG A 3
		CSWG B 4
		1SAW ABCDEFGH 1
		TNT1 A 0 A_Jump(256, 44)
		//Red
		CSW2 A 3
		CSW2 B 4
		2SAW ABCDEFGH 1
		TNT1 A 0 A_Jump(256, 33)
		//Blue
		CSW3 A 3
		CSW3 B 4
		3SAW ABCDEFGH 1
		TNT1 A 0 A_Jump(256, 22)
		//Green
		CSW4 A 3
		CSW4 B 4
		4SAW ABCDEFGH 1
		TNT1 A 0 A_Jump(256, 11)
		//Saw Dead
		CSWG A 4
		1SAW AACDEFGH 1
		TNT1 A 0 A_TakeInventory("SawDead",1)
		TNT1 A 0 A_Takeinventory("HasCutingWeapon",1)
		TNT1 A 0 A_Takeinventory("SawSelected",1)
		TNT1 A 0 A_Takeinventory("ChainsawCrueltyBonus",200)
		TNT1 A 0 A_Lower
		Wait

	Ready:
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
	Ready1:
		1SAW HGFEDCBA 1
		CSWS AB 1
		TNT1 A 0 A_PlaySound("DSSAWZIP", 1)
		CSWS BCDEFEDCB 1
		CSWS A 10 A_playsound("weapons/chainsaw/draw", 1)

	Ready2:
		TNT1 A 0 //A_GunFlash
	Ready3:
		TNT1 A 0 A_JumpIfInventory("ChainsawCrueltyBonus",50,"CrueltyCheck")
		TNT1 A 0 A_JumpIfInventory("SawDead",1,"StayDead")
		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("TossGrenade",1,"TossGrenade")
		TNT1 A 0 A_JumpIfInventory("IdleCounter",200,"PlayerIsIdle")
		//TNT1 A 0 A_Jump(1, "Die")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		TNT1 A 0 A_Playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,9)
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,6)
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,3)
		CSWG AB 2 A_weaponready
		Loop
		CSW2 AB 2 A_weaponready
		Loop
		CSW3 AB 2 A_weaponready
		Loop
		CSW4 AB 2 A_weaponready
		Loop

	CrueltyCheck:
		TNT1 A 0 A_JumpIfInventory("ChainsawCrueltyBonus",120,2)
		TNT1 A 0 A_Jump(256, 5)
		TNT1 A 0 A_SpawnItem("CrueltyBonus15Armor")
		TNT1 A 0 A_Jump(136, 2)
		TNT1 A 0 A_SpawnItem("DroppedAmmo")
		TNT1 A 0 A_Takeinventory("ChainsawCrueltyBonus",120)
		goto Ready2
		TNT1 A 0 A_JumpIfInventory("ChainsawCrueltyBonus",90,2)
		TNT1 A 0 A_Jump(256, 5)
		TNT1 A 0 A_SpawnItem("CrueltyBonus10Armor")
		TNT1 A 0 A_Jump(166, 2)
		TNT1 A 0 A_SpawnItem("DroppedAmmo")
		TNT1 A 0 A_Takeinventory("ChainsawCrueltyBonus",120)
		goto Ready2
		TNT1 A 0 A_JumpIfInventory("ChainsawCrueltyBonus",50,2)
		TNT1 A 0 A_Jump(256, "Ready2")
		TNT1 A 0 A_SpawnItem("CrueltyBonus5Armor")
		TNT1 A 0 A_Jump(206, 2)
		TNT1 A 0 A_SpawnItem("DroppedAmmo")
		TNT1 A 0 A_Takeinventory("ChainsawCrueltyBonus",120)
		goto Ready2

	Die:
		TNT1 A 0 A_GiveInventory("SawDead", 1)
		TNT1 A 0 A_playsound("DSSAWDIE", 1)
		TNT1 A 0 A_playsound("CSAWSTOP", 2)
		CSWG ABAABBBAAAAABBBBBBBBBB 2	
	StayDead:
		CSWG A 2 A_WeaponReady
		Loop
		
	StartSaw:
		TNT1 A 0 A_PlaySound("DSSAWZIP", 1)
		CSWS BCDEFEDCB 1
		CSWS A 5 A_playsound("weapons/chainsaw/draw", 1)
		TNT1 A 0 A_Jump(64, "StayDead")
		TNT1 A 0 A_TakeInventory("SawDead",1)
		TNT1 A 0 A_TakeInventory("Kicking",1)
		TNT1 A 0 A_TakeInventory("Taunting",1)
		TNT1 A 0 A_TakeInventory("Salute1",1)
		TNT1 A 0 A_TakeInventory("Salute2",1)
		TNT1 A 0 A_TakeInventory("TossGrenade",1)
		TNT1 A 0 A_Refire
		goto Ready2

// --------------------------------------------------------------------------
//
//	Normal fire
//
// --------------------------------------------------------------------------
	
	Fire:
		TNT1 A 0 A_JumpIfInventory("SawDead",1,"StartSaw")
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"Fire.Blood")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"Fire.BlueBlood")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"Fire.GreenBlood")
		CSWG ABCD 1
		
	Hold:
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_JumpIfInventory("PlayerIsABot",1,2)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_Recoil(-3) //Makes bot run towards the player they are attacking.
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"Hold.Blood")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"Hold.BlueBlood")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"Hold.GreenBlood")
		
	Hold.NoBlood:
		CSWF A 1 A_Saw("weapons/chainsaw/loop", "CSAWCUT", random(10,30), "SSawPuff",SF_NORANDOM)
		CSWF B 1
		CSWF C 1 A_Saw("", "", random(10,23), "SSawPuff",SF_NORANDOM)
		CSWF D 1
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"Hold.Blood")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"Hold.BlueBlood")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"Hold.GreenBlood")
		TNT1 A 0 A_Refire
		TNT1 A 0 A_StopsoundEx("Weapon")
		TNT1 A 0 A_Playsound("weapons/chainsaw/stop")
		CSWG DC 1
		goto Ready2
		
	Fire.Blood:
		CSW2 ABCD 1
		
	Hold.Blood:
		TNT1 A 0 A_Takeinventory("PowerBlueBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerGreenBloodOnVisor",1)
		CSW2 E 1 A_Saw("weapons/chainsaw/loop", "CSAWCUT", random(10,30), "SSawPuff",SF_NORANDOM)
		CSW2 F 1
		CSW2 G 1 A_Saw("", "", random(10,23), "SSawPuff",SF_NORANDOM)
		CSW2 H 1
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"Hold.BlueBlood")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"Hold.GreenBlood")
		TNT1 A 0 A_Refire
		TNT1 A 0 A_StopsoundEx("Weapon")
		TNT1 A 0 A_Playsound("weapons/chainsaw/stop")
		CSW2 DC 1
		goto Ready2
		
	Fire.BlueBlood:
		CSW3 ABCD 1
		
	Hold.BlueBlood:
		TNT1 A 0 A_Takeinventory("PowerBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerGreenBloodOnVisor",1)
		CSW3 E 1 A_Saw("weapons/chainsaw/loop", "CSAWCUT", random(10,30), "SSawPuff",SF_NORANDOM)
		CSW3 F 1
		CSW3 G 1 A_Saw("", "", random(10,23), "SSawPuff",SF_NORANDOM)
		CSW3 H 1
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"Hold.Blood")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"Hold.GreenBlood")
		TNT1 A 0 A_Refire
		TNT1 A 0 A_StopsoundEx("Weapon")
		TNT1 A 0 A_Playsound("weapons/chainsaw/stop")
		CSW3 DC 1
		goto Ready2

	Fire.GreenBlood:
		CSW4 ABCD 1
		
	Hold.GreenBlood:
		TNT1 A 0 A_Takeinventory("PowerBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerBlueBloodOnVisor",1)
		CSW4 E 1 A_Saw("weapons/chainsaw/loop", "CSAWCUT", random(10,30), "SSawPuff",SF_NORANDOM)
		CSW4 F 1
		CSW4 G 1 A_Saw("", "", random(10,23), "SSawPuff",SF_NORANDOM)
		CSW4 H 1
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"Hold.Blood")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"Hold.BlueBlood")
		TNT1 A 0 A_Refire
		TNT1 A 0 A_StopsoundEx("Weapon")
		TNT1 A 0 A_Playsound("weapons/chainsaw/stop")
		CSW4 DC 1
		goto Ready2

// --------------------------------------------------------------------------
//
//	Alt. fire
//
// --------------------------------------------------------------------------

	AltFire:
		TNT1 A 0 A_JumpIfInventory("SawDead",1,"StartSaw")
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_PlaySoundEx("weapons/chainsaw/loop","Weapon",0)
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltFireRed")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltFireGreen")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltFireBlue")
		
		TNT1 A 0 A_JumpIfInventory("SawFireSeq2", 1, 10)
		TNT1 A 0 A_JumpIfInventory("SawFireSeq1", 1, "AltFireLeft")
		TNT1 A 0 A_JumpIf (momZ > 0, "AltFire2")
		TNT1 A 0 A_JumpIf (momZ < 0, "AltFire2")
		//Start sequence
		CSA1 ABCD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		//Start sequence 2
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_GiveInventory("SawFireSeq1")
		TNT1 A 0 A_TakeInventory("SawFireSeq2")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSA1 DCEFG 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 AAAAA 0 A_Saw("", "", random(5,8), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSA1 H 1 A_Saw("", "", random(10,15), "SSawPuff2", SF_NORANDOM, 120, 32)
		TNT1 A 0 A_JumpIfCloser(119, "AltContinue")
		CSA1 IJKLM 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		//End sequence
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSA1 MNO 1
		CSA2 N 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFireRed:
		TNT1 A 0 A_Takeinventory("PowerBlueBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerGreenBloodOnVisor",1)
		TNT1 A 0 A_JumpIfInventory("SawFireSeq2", 1, 10)
		TNT1 A 0 A_JumpIfInventory("SawFireSeq1", 1, "AltFireLeftRed")
		TNT1 A 0 A_JumpIf (momZ > 0, "AltFire2Red")
		TNT1 A 0 A_JumpIf (momZ < 0, "AltFire2Red")
		//Start sequence
		CSR1 ABCD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		//Start sequence 2
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_GiveInventory("SawFireSeq1")
		TNT1 A 0 A_TakeInventory("SawFireSeq2")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSR1 DCEFG 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 AAAAA 0 A_Saw("", "", random(5,8), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSR1 H 1 A_Saw("", "", random(10,15), "SSawPuff2", SF_NORANDOM, 120, 32)
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueRed")
		CSR1 IJKLM 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		//End sequence
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSR1 MNO 1
		CSR2 N 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFireBlue:
		TNT1 A 0 A_Takeinventory("PowerBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerGreenBloodOnVisor",1)
		TNT1 A 0 A_JumpIfInventory("SawFireSeq2", 1, 10)
		TNT1 A 0 A_JumpIfInventory("SawFireSeq1", 1, "AltFireLeftBlue")
		TNT1 A 0 A_JumpIf (momZ > 0, "AltFire2Blue")
		TNT1 A 0 A_JumpIf (momZ < 0, "AltFire2Blue")
		//Start sequence
		CSB1 ABCD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		//Start sequence 2
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_GiveInventory("SawFireSeq1")
		TNT1 A 0 A_TakeInventory("SawFireSeq2")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSB1 DCEFG 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 AAAAA 0 A_Saw("", "", random(5,8), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSB1 H 1 A_Saw("", "", random(10,15), "SSawPuff2", SF_NORANDOM, 120, 32)
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueBlue")
		CSB1 IJKLM 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		//End sequence
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSB1 MNO 1
		CSB2 N 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFireGreen:
		TNT1 A 0 A_Takeinventory("PowerBlueBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerBloodOnVisor",1)
		TNT1 A 0 A_JumpIfInventory("SawFireSeq2", 1, 10)
		TNT1 A 0 A_JumpIfInventory("SawFireSeq1", 1, "AltFireLeftGreen")
		TNT1 A 0 A_JumpIf (momZ > 0, "AltFire2Green")
		TNT1 A 0 A_JumpIf (momZ < 0, "AltFire2Green")
		//Start sequence
		CSG1 ABCD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		//Start sequence 2
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_GiveInventory("SawFireSeq1")
		TNT1 A 0 A_TakeInventory("SawFireSeq2")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSG1 DCEFG 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 AAAAA 0 A_Saw("", "", random(5,8), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSG1 H 1 A_Saw("", "", random(10,15), "SSawPuff2", SF_NORANDOM, 120, 32)
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueGreen")
		CSG1 IJKLM 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		//End sequence
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSG1 MNO 1
		CSG2 N 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFireLeft:
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		//Start sequence 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_GiveInventory("SawFireSeq2", 1)
		CSA1 MLKJI 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 AAAAA 0 A_Saw("", "", random(5,8), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSA1 H 1 A_Saw("", "", random(10,15), "SSawPuff2", SF_NORANDOM, 120, 32)
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueleft")
		CSA1 GFECD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		//End sequence
		TNT1 A 0 A_TakeInventory("SawFireSeq2", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSA1 DCBA 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFireLeftRed:
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		//Start sequence 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_GiveInventory("SawFireSeq2", 1)
		CSR1 MLKJI 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 AAAAA 0 A_Saw("", "", random(5,8), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSR1 H 1 A_Saw("", "", random(10,15), "SSawPuff2", SF_NORANDOM, 120, 32)
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueLeftRed")
		CSR1 GFECD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		//End sequence
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_TakeInventory("SawFireSeq2", 1)
		CSR1 DCBA 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFireLeftBlue:
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		//Start sequence 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_GiveInventory("SawFireSeq2", 1)
		CSB1 MLKJI 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 AAAAA 0 A_Saw("", "", random(5,8), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSB1 H 1 A_Saw("", "", random(10,15), "SSawPuff2", SF_NORANDOM, 120, 32)
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueLeftBlue")
		CSB1 GFECD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		//End sequence
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_TakeInventory("SawFireSeq2", 1)
		CSB1 DCBA 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFireLeftGreen:	
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		//Start sequence 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_GiveInventory("SawFireSeq2", 1)
		CSG1 MLKJI 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 AAAAA 0 A_Saw("", "", random(5,8), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSG1 H 1 A_Saw("", "", random(10,15), "SSawPuff2", SF_NORANDOM, 120, 32)
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueLeftGreen")
		CSG1 GFECD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		//End sequence
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_TakeInventory("SawFireSeq2", 1)
		CSG1 DCBA 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltContinue:
		CSA1 P 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,45), "SSawPuff2", SF_NORANDOM, 120, 3)
		CSA1 QI 1
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltContinueRed")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltContinueGreen")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltContinueBlue")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinue")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSA1 JKLM 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSA1 MNO 1
		CSA2 N 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltContinueRed:
		TNT1 A 0 A_TakeInventory("PowerGreenBloodOnVisor", 1)
		TNT1 A 0 A_TakeInventory("PowerBlueBloodOnVisor", 1)
		CSR1 P 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,45), "SSawPuff2", SF_NORANDOM, 120, 3)
		CSR1 QI 1
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltContinueGreen")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltContinueBlue")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueRed")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSR1 JKLM 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSR1 MNO 1
		CSR2 N 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2	

	AltContinueBlue:
		TNT1 A 0 A_TakeInventory("PowerGreenBloodOnVisor", 1)
		TNT1 A 0 A_TakeInventory("PowerBloodOnVisor", 1)
		CSB1 P 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,45), "SSawPuff2", SF_NORANDOM, 120, 3)
		CSB1 QI 1
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltContinueGreen")
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltContinueRed")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueBlue")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSB1 JKLM 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSB1 MNO 1
		CSB2 N 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2	

	AltContinueGreen:
		TNT1 A 0 A_TakeInventory("PowerBlueBloodOnVisor", 1)
		TNT1 A 0 A_TakeInventory("PowerBloodOnVisor", 1)
		CSG1 P 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,45), "SSawPuff2", SF_NORANDOM, 120, 3)
		CSG1 QI 1
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltContinueBlue")
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltContinueRed")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueGreen")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSG1 JKLM 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_TakeInventory("SawFireSeq1", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSG1 MNO 1
		CSG2 N 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2	

	AltContinueLeft:
		CSA1 P 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,45), "SSawPuff2", SF_NORANDOM, 120, 3)
		CSA1 QI 1
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltContinueLeftRed")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltContinueLeftGreen")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltContinueLeftBlue")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueleft")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSA1 HGFECD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_TakeInventory("SawFireSeq2", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSA1 DCBA 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltContinueLeftRed:
		TNT1 A 0 A_TakeInventory("PowerBlueBloodOnVisor", 1)
		TNT1 A 0 A_TakeInventory("PowerGreenBloodOnVisor", 1)
		CSR1 P 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,45), "SSawPuff2", SF_NORANDOM, 120, 3)
		CSR1 QI 1
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltContinueLeftGreen")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltContinueLeftBlue")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueLeftRed")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSR1 HGFECD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_TakeInventory("SawFireSeq2", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSR1 DCBA 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltContinueLeftBlue:
		TNT1 A 0 A_TakeInventory("PowerBloodOnVisor", 1)
		TNT1 A 0 A_TakeInventory("PowerGreenBloodOnVisor", 1)
		CSB1 P 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,45), "SSawPuff2", SF_NORANDOM, 120, 3)
		CSB1 QI 1
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltContinueLeftRed")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltContinueLeftGreen")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueLeftBlue")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSB1 HGFECD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_TakeInventory("SawFireSeq2", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSB1 DCBA 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltContinueLeftGreen:
		TNT1 A 0 A_TakeInventory("PowerBloodOnVisor", 1)
		TNT1 A 0 A_TakeInventory("PowerBlueBloodOnVisor", 1)
		CSG1 P 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,45), "SSawPuff2", SF_NORANDOM, 120, 3)
		CSG1 QI 1
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltContinueLeftRed")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltContinueLeftBlue")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinueLeftGreen")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSG1 HGFECD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_TakeInventory("SawFireSeq2", 1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSG1 DCBA 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFire2:
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSA2 ABCD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSA2 DEEEF 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSA2 GHI 1 A_JumpIfCloser(119, "AltContinue2")
		TNT1 AAAAAAAAAAAAAAA 0 A_Saw("", "", random(1,4), "SSawPuff", SF_NORANDOM, 120, 0, 32)
		CSA2 J 1 A_Saw("", "", random(20,60), "SSawPuff", SF_NORANDOM, 120)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSA2 MNO 1 A_JumpIfCloser(119, "AltContinue2")
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_Refire
		CSA2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFire2Red:
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSR2 ABCDD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSR2 EEEF 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSR2 GHI 1 A_JumpIfCloser(119, "AltContinue2Red")
		TNT1 AAAAAAAAAAAAAAA 0 A_Saw("", "", random(1,4), "SSawPuff", SF_NORANDOM, 120, 0, 32)
		CSR2 J 1 A_Saw("", "", random(20,60), "SSawPuff", SF_NORANDOM, 120)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSR2 MNO 1 A_JumpIfCloser(119, "AltContinue2Red")
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_Refire
		CSR2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFire2Blue:
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSB2 ABCDD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSB2 EEEF 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSB2 GHI 1 A_JumpIfCloser(119, "AltContinue2Blue")
		TNT1 AAAAAAAAAAAAAAA 0 A_Saw("", "", random(1,4), "SSawPuff", SF_NORANDOM, 120, 0, 32)
		CSB2 J 1 A_Saw("", "", random(20,60), "SSawPuff", SF_NORANDOM, 120)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSB2 MNO 1 A_JumpIfCloser(119, "AltContinue2Blue")
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_Refire
		CSB2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltFire2Green:
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSG2 ABCDD 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSG2 EEEF 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSG2 GHI 1 A_JumpIfCloser(119, "AltContinue2Green")
		TNT1 AAAAAAAAAAAAAAA 0 A_Saw("", "", random(1,4), "SSawPuff", SF_NORANDOM, 120, 0, 32)
		CSG2 J 1 A_Saw("", "", random(20,60), "SSawPuff", SF_NORANDOM, 120)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 0 A_JumpIfCloser(119, "AltContinue2Green")
		CSG2 MNO 1 A_JumpIfCloser(119, "AltContinue2Green")
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_Refire
		CSG2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltContinue2:
		CSA2 J 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,60), "SSawPuff", SF_NORANDOM, 120)
		CSA2 KL 1
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltContinue2Red")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltContinue2Green")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltContinue2Blue")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinue2")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSA2 MNO 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_Refire
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSA2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltContinue2Red:
		TNT1 A 0 A_TakeInventory("PowerGreenBloodOnVisor", 1)
		TNT1 A 0 A_TakeInventory("PowerBlueBloodOnVisor", 1)
		CSR2 J 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,60), "SSawPuff", SF_NORANDOM, 120)
		CSR2 KL 1
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltContinue2Green")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltContinue2Blue")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinue2Red")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSR2 MNO 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_Refire
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSR2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2	

	AltContinue2Blue:
		TNT1 A 0 A_TakeInventory("PowerGreenBloodOnVisor", 1)
		TNT1 A 0 A_TakeInventory("PowerBloodOnVisor", 1)
		CSB2 J 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,60), "SSawPuff", SF_NORANDOM, 120)
		CSB2 KL 1
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AltContinue2Green")
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltContinue2Red")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinue2Blue")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSB2 MNO 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_Refire
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSB2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2	
	
	AltContinue2Green:
		TNT1 A 0 A_TakeInventory("PowerBlueBloodOnVisor", 1)
		TNT1 A 0 A_TakeInventory("PowerBloodOnVisor", 1)
		CSG2 J 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,60), "SSawPuff", SF_NORANDOM, 120)
		CSG2 KL 1
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AltContinue2Blue")
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AltContinue2Red")
		TNT1 A 0 A_JumpIfCloser(119, "AltContinue2Green")
		TNT1 A 0 A_PlaySound("weapons/chainsaw/draw", 4)
		CSG2 MNO 1
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		TNT1 A 5
		TNT1 A 0 A_Refire
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSG2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

// --------------------------------------------------------------------------
//
//	Misc.
//
// --------------------------------------------------------------------------

	PuristGun:
		TNT1 A 0 A_GiveInventory("ClassicSaw", 1)
		TNT1 A 0 A_TakeInventory("Chain_saw", 1)
		TNT1 A 1
		Goto Ready

// --------------------------------------------------------------------------
//
//	End stuff
//
// --------------------------------------------------------------------------

	TauntFlash:
		SAWF IJKLM 1
		SAWF N 22
		SAWF MLKJI 1
		Stop

	KickFlash: //16
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"KickFlashRed")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"KickFlashBlue")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"KickFlashGreen")
		1SAW BCD 1
		1SAW E 2
		1SAW I 2
		1SAW E 2
		1SAW I 2
		1SAW E 2
		1SAW DCB 1
		CSWG A 1
		Stop
		
	KickFlashRed: //16
		2SAW BCD 1
		2SAW E 2
		2SAW I 2
		2SAW E 2
		2SAW I 2
		2SAW E 2
		2SAW DCB 1
		CSW2 A 1
		Stop
		
	KickFlashBlue: //16
		3SAW BCD 1
		3SAW E 2
		3SAW I 2
		3SAW E 2
		3SAW I 2
		3SAW E 2
		3SAW DCB 1
		CSW3 A 1
		Stop
		
	KickFlashGreen: //16
		4SAW BCD 1
		4SAW E 2
		4SAW I 2
		4SAW E 2
		4SAW I 2
		4SAW E 2
		4SAW DCB 1
		CSW4 A 1
		Stop
		
	AirKickFlash: //18
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"AirKickFlashRed")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"AirKickFlashBlue")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"AirKickFlashGreen")
		1SAW BCDE 1
		1SAW I 2
		1SAW E 2
		1SAW I 2
		1SAW E 2
		1SAW I 2
		1SAW EDCB 1
		CSWG A 1
		Stop
		
	AirKickFlashRed: //18
		2SAW BCDE 1
		2SAW I 2
		2SAW E 2
		2SAW I 2
		2SAW E 2
		2SAW I 2
		2SAW EDCB 1
		CSW2 A 1
		Stop
		
	AirKickFlashBlue: //18
		3SAW BCDE 1
		3SAW I 2
		3SAW E 2
		3SAW I 2
		3SAW E 2
		3SAW I 2
		3SAW EDCB 1
		CSW3 A 1
		Stop
		
	AirKickFlashGreen: //18
		4SAW BCDE 1
		4SAW I 2
		4SAW E 2
		4SAW I 2
		4SAW E 2
		4SAW I 2
		4SAW EDCB 1
		CSW4 A 1
		Stop

	GrenadeFlash:
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,9)
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,14)
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,19)
		//None
		1SAW BDFGH 1
		TNT1 A 0 A_Jump(256, 6)
		//Red
		2SAW BDFGH 1
		TNT1 A 0 A_Jump(256, 6)
		//Blue
		3SAW BDFGH 1
		TNT1 A 0 A_Jump(256, 6)
		//Green
		4SAW BDFGH 1
		//Done
		TNT1 A 5
		TNT1 A 0 A_Takeinventory("PowerBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerBlueBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerGreenBloodOnVisor",1)
		Stop

// --------------------------------------------------------------------------
//
//	More end stuff
//
// --------------------------------------------------------------------------

	DoKick:
		TNT1 A 0 A_JumpIfInventory("ExecuteDownedEnemy",1,"DoExecution")
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIf (momZ > 0, "AirKick")
		TNT1 A 0 A_JumpIf (momZ < 0, "AirKick")
		TNT1 A 0 A_FireCustomMissile("KickAttackDetectDowned", 0, 0, 0, 0)
		TNT1 A 0 A_GunFlash("KickFlash")
		TNT1 A 0 A_JumpIf (pitch > 32,"LowKickChecker1")
		Goto InitializeNormalKick
		
	LowKickChecker1:
		TNT1 A 0 A_JumpIf (pitch > 90,"InitializeNormalKick")
		TNT1 A 0 A_FireCustomMissile("KickAttackDetectDowned",0,0,0,0)
		
	InitializeNormalKick: //16 frames
		TNT1 A 0 A_PlaySound("KICK", 1)
		TNT1 A 0 SetPlayerProperty(0,1,0)
		KIC3 BCDH 1
		TNT1 A 0 A_Jumpifinventory("PowerStrength",1,3)
		TNT1 A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_FireCustomMissile("SuperKickAttack", 0, 0, 0, -7)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,8,0)
		KIC3 H 3
		TNT1 A 0 A_Takeinventory("Kicking",1)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,16,0)
		KIC3 IGFE 1
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,8,0)
		KIC3 DCBA 1
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 0 A_JumpIfInventory("ExecuteDownedEnemy",1,"DoExecution")
		TNT1 A 0 A_JumpIfInventory("GoFatality",1,"Steady")
		goto Ready2
	
	AirKick:
		TNT1 A 0 A_GunFlash("AirKickFlash")
		TNT1 A 0 A_PlaySound("KICK", 1)
		TNT1 A 0 A_Recoil (-6)
		KLCK JKLM 1
		TNT1 A 0 A_Jumpifinventory("PowerStrength",1,3)
		TNT1 A 0 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,8,0)
		KLCK N 1
		KLCK O 2
		TNT1 A 0 A_Takeinventory("Kicking",1)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,16,0)
		KLCK PPQQR 1
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,8,0)
		KLCK RSSTT 1
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		goto Ready2

	Taunt:
		TNT1 A 0 A_GunFlash("TauntFlash")
		TNT1 A 0 A_JumpIfInventory("GenderFemale", 1, 3)
		TNT1 A 0 A_PlaySound("FUCK", 2)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_PlaySound("FTAUNT", 2)
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"TauntRed")
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"TauntBlue")
		TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"TauntGreen")
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_FireCustomMissile("Taunter", 0, 0, -1, 0)
		TNT1 A 0 A_FireCustomMissile("Taunter", -9, 0, -1, 0)
		TNT1 A 0 A_FireCustomMissile("Taunter", 9, 0, -1, 0)
		TNT1 A 0 A_Takeinventory("Taunting",1)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		TNT1 A 0 A_AlertMonsters
		SAWF A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto Ready2
		
	TauntRed:
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF G 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF G 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_FireCustomMissile("Taunter", 0, 0, -1, 0)
		TNT1 A 0 A_FireCustomMissile("Taunter", -9, 0, -1, 0)
		TNT1 A 0 A_FireCustomMissile("Taunter", 9, 0, -1, 0)
		TNT1 A 0 A_Takeinventory("Taunting",1)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF G 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		TNT1 A 0 A_AlertMonsters
		SAWF G 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF G 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF G 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF G 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF G 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto Ready2
		
	TauntBlue:
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_FireCustomMissile("Taunter", 0, 0, -1, 0)
		TNT1 A 0 A_FireCustomMissile("Taunter", -9, 0, -1, 0)
		TNT1 A 0 A_FireCustomMissile("Taunter", 9, 0, -1, 0)
		TNT1 A 0 A_Takeinventory("Taunting",1)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		TNT1 A 0 A_AlertMonsters
		SAWF C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto Ready2
		
	TauntGreen:
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_FireCustomMissile("Taunter", 0, 0, -1, 0)
		TNT1 A 0 A_FireCustomMissile("Taunter", -9, 0, -1, 0)
		TNT1 A 0 A_FireCustomMissile("Taunter", 9, 0, -1, 0)
		TNT1 A 0 A_Takeinventory("Taunting",1)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		TNT1 A 0 A_AlertMonsters
		SAWF E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		SAWF E 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SAWF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto Ready2
	}
}

ACTOR SawDead : Inventory { Inventory.MaxAmount 1 }