// --------------------------------------------------------------------------
//
//	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"
	+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_Takeinventory("FistsSelected",1)
		TNT1 A 0 A_Takeinventory("ShotgunSelected",1)
		TNT1 A 0 A_Takeinventory("SSGSelected",1)
		TNT1 A 0 A_Takeinventory("MinigunSelected",1)
		TNT1 A 0 A_Takeinventory("PlasmaGunSelected",1)
		TNT1 A 0 A_Takeinventory("RocketLauncherSelected",1)
		TNT1 A 0 A_Takeinventory("GrenadeLauncherSelected",1)
		TNT1 A 0 A_Takeinventory("BFGSelected",1)
		TNT1 A 0 A_Takeinventory("BFG10kSelected",1)
		TNT1 A 0 A_Takeinventory("RailGunSelected",1)
		TNT1 A 0 A_Takeinventory("SubMachineGunSelected",1)
		TNT1 A 0 A_Takeinventory("RevenantLauncherSelected",1)
		TNT1 A 0 A_Takeinventory("LostSoulSelected",1)
		TNT1 A 0 A_Takeinventory("FlameCannonSelected",1)
		TNT1 A 0 A_Takeinventory("HasBarrel",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_Giveinventory("HasCutingWeapon",1)
		TNT1 A 0 A_Raise
		Wait
		
	PuristGun:
		TNT1 A 0 A_GiveInventory("ClassicSaw", 1)
		TNT1 A 0 A_TakeInventory("Chain_saw", 1)
		TNT1 A 1
		Goto Ready
		
	Deselect:
		TNT1 A 0 A_Takeinventory("HasCutingWeapon",1)
		TNT1 A 0 A_Takeinventory("ChainsawCrueltyBonus",200)
		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_Lower
		Wait
	
	Ready:
	Ready1:
		1SAW HGFEDCBA 1
        CSWS AB 1 A_JumpIfInventory("GoFatality", 1, "Steady")
        TNT1 A 0 A_PlaySound("DSSAWZIP", 1)
        CSWS BCDEFEDCB 1
		CSWS A 10 A_playsound("weapons/chainsaw/draw", 1)
		
	Ready2:
		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_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
		goto Ready2
		CSW2 AB 2 A_weaponready
		goto Ready2
		CSW3 AB 2 A_weaponready
		goto Ready2
		CSW4 AB 2 A_weaponready
		goto Ready2

	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("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,30), "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,30), "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,30), "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,30), "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,10), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSA1 H 1 A_Saw("", "", random(10,20), "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_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,10), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSR1 H 1 A_Saw("", "", random(10,20), "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_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,10), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSB1 H 1 A_Saw("", "", random(10,20), "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_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,10), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSG1 H 1 A_Saw("", "", random(10,20), "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,10), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSA1 H 1 A_Saw("", "", random(10,20), "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,10), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSR1 H 1 A_Saw("", "", random(10,20), "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,10), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSB1 H 1 A_Saw("", "", random(10,20), "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,10), "SSawPuff2", SF_NORANDOM, 120, 32)
		CSG1 H 1 A_Saw("", "", random(10,20), "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,60), "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,60), "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,60), "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,60), "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,60), "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,60), "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,60), "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,60), "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,5), "SSawPuff", SF_NORANDOM, 120, 0, 32)
		CSA2 J 1 A_Saw("", "", random(20,80), "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
		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,5), "SSawPuff", SF_NORANDOM, 120, 0, 32)
		CSR2 J 1 A_Saw("", "", random(20,80), "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
		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,5), "SSawPuff", SF_NORANDOM, 120, 0, 32)
		CSB2 J 1 A_Saw("", "", random(20,80), "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
		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,5), "SSawPuff", SF_NORANDOM, 120, 0, 32)
		CSG2 J 1 A_Saw("", "", random(20,80), "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
		CSG2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2

	AltContinue2:
		CSA2 J 1 A_Saw("weapons/chainsaw/loop", "DSSAWHIT", random(20,80), "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_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,80), "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_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,80), "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_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,80), "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_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0)
		CSG2 PQ 1
		TNT1 A 0 A_StopsoundEx("Weapon")
		goto Ready2
		
// --------------------------------------------------------------------------
//
//	Flash
//
// --------------------------------------------------------------------------

	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
		Stop
		
	KickFlashRed: //16
		2SAW BCD 1
		2SAW E 2
		2SAW I 2
		2SAW E 2
		2SAW I 2
		2SAW E 2
		2SAW DCB 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
		Stop
		
	KickFlashGreen: //16
		4SAW BCD 1
		4SAW E 2
		4SAW I 2
		4SAW E 2
		4SAW I 2
		4SAW E 2
		4SAW DCB 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
		Stop
		
	AirKickFlashRed: //18
		2SAW BCDE 1
		2SAW I 2
		2SAW E 2
		2SAW I 2
		2SAW E 2
		2SAW I 2
		2SAW EDCB 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
		Stop
		
	AirKickFlashGreen: //18
		4SAW BCDE 1
		4SAW I 2
		4SAW E 2
		4SAW I 2
		4SAW E 2
		4SAW I 2
		4SAW EDCB 1
		Stop

    TauntFlash:
		SAWF IJKLM 1
		SAWF N 22
		SAWF MLKJI 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

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

    DoKick:
		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_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("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_PlaySound("FUCK", 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 BRIGHT A_FireCustomMissile("Taunter", 0, 0, -1, 0)
		TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", -9, 0, -1, 0)
		TNT1 A 0 BRIGHT 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 BRIGHT A_FireCustomMissile("Taunter", 0, 0, -1, 0)
		TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", -9, 0, -1, 0)
		TNT1 A 0 BRIGHT 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 BRIGHT A_FireCustomMissile("Taunter", 0, 0, -1, 0)
		TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", -9, 0, -1, 0)
		TNT1 A 0 BRIGHT 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 BRIGHT A_FireCustomMissile("Taunter", 0, 0, -1, 0)
		TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", -9, 0, -1, 0)
		TNT1 A 0 BRIGHT 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 }