//This weapon isn't a joke anymore ~BLOODWOLF

ACTOR DSweap : BrutalWeapon
{
	Obituary "%o was choped down by %k's Dragonslayer."
    AttackSound "None"
    Inventory.PickupSound "AXEDRAW"
	Inventory.Pickupmessage "$GOTDS"
    +WEAPON.NOAUTOAIM
    +WEAPON.NOAUTOFIRE
    +FORCEXYBILLBOARD
	damagetype Saw
	+WEAPON.NOALERT
	+WEAPON.AXEBLOOD
	VisibleToPlayerClass BDoomer, Doomer2, TacticalDoomer, Purist
	Weapon.SelectionOrder 20
	Scale 0.9
	Tag "Dragonslayer"
	States
	{
	
	Ready3:
	Ready:
        TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		TNT1 A 0 A_Giveinventory("HasCutingWeapon",1)
        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("StartDualWield",1,"DualWield")
		DSLA D 1 A_WeaponReady
		Loop
		
	Select:
		TNT1 A 0 A_Giveinventory("GoSpecial",1)
		TNT1 A 0 A_Takeinventory("FistsSelected",1)
		TNT1 A 0 A_Takeinventory("SawSelected",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_Giveinventory("HasCutingWeapon",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("DSWeap2",1)
		TNT1 A 1 A_Raise
		TNT1 AAAAAA 0 A_Raise
		Goto SelectAnimation
		
	SelectAnimation:
		TNT1 A 1
	    DSLA A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
        DSLA A 0 A_PlaySound("AXEDRAW")
        DSLA ABCD 2
        DSLA A 0 A_GunFlash
		Goto Ready

	Deselect:
		DSLA CBA 2
		DSLA A 0 A_Takeinventory("HasCutingWeapon",1)
		TNT1 AAAAAAAAA 0 A_Lower
		DSLA A 0 A_Takeinventory("HasCutingWeapon",1)
		DSLA A 0 A_TakeInventory("TossGrenade", 1)
		TNT1 A 1 A_Lower
		Wait
	
    Fire://Vertical right-to-left chop
		TNT1 A 0
		DSLV A 0 A_SetPitch(Pitch-2)//Up(-)Down(+)
		DSLV A 0 A_SetAngle(Angle-2)//Right(-)Left(+)
        DSLV A 2
		DSLV B 0 A_SetPitch(Pitch-2)
		DSLV B 0 A_SetAngle(Angle-2)//4 deg up, 4 deg right
		DSLV B 2
		DSLV C 0 A_SetPitch(Pitch+2)
		DSLV C 0 A_SetAngle(Angle+2)
		DSLV C 2
		DSLV D 0 A_SetPitch(Pitch+2)
		DSLV D 0 A_SetAngle(Angle+2)//0 deg, 0 deg
		DSLV D 2 //Return to original point of aim
		DSLV E 0 A_SetPitch(Pitch+2)
		DSLV E 0 A_SetAngle(Angle+2)
		TNT1 A 0 A_PlaySound("weapons/gswing", 1)
		TNT1 A 0 A_FireCustomMissile("DSAttack")
		DSLV E 2
		DSLV F 0 A_SetPitch(Pitch+5)
		DSLV F 0 A_SetAngle(Angle+5)
		TNT1 A 0 A_FireCustomMissile("DSAttack")
		DSLV F 2
		DSLV G 0 A_SetPitch(Pitch+5)
		DSLV G 0 A_SetAngle(Angle+5)
		TNT1 A 0 A_FireCustomMissile("DSAttack")
		DSLV G 2
		DSLV H 0 A_SetPitch(Pitch+5)
		DSLV H 0 A_SetAngle(Angle+5)//17 deg down, 17 deg left
		TNT1 A 0 A_FireCustomMissile("DSAttack")
		DSLV H 2 A_JumpIfInventory("FiredPrimary",1,"RVtoLV")
		DSLV H 2 A_JumpIfInventory("FiredSecondary",1,"RVtoRH")
		
	EndSwingV://Return to original point of aim after a vertical attack
		TNT1 A 0
		DSLA A 0 A_SetPitch(Pitch-5)//Up(-)Down(+)
		DSLA A 0 A_SetAngle(Angle-5)//Right(-)Left(+)
		DSLA A 2
		DSLA B 0 A_SetPitch(Pitch-5)
		DSLA B 0 A_SetAngle(Angle-5)
		DSLA B 2
		DSLA C 0 A_SetPitch(Pitch-5)
		DSLA C 0 A_SetAngle(Angle-5)
		DSLA C 2
		DSLA D 0 A_SetPitch(Pitch-2)
		DSLA D 0 A_SetAngle(Angle-2)
		DSLA D 2 A_WeaponReady(WRF_NOBOB)
		Goto Ready
		
	RVtoLV://Return to original point of aim between R to L vertical attacks
		TNT1 A 0
		DSLV I 0 A_SetPitch(Pitch-5)//Up(-)Down(+)
		DSLV I 0 A_SetAngle(Angle-5)//Right(-)Left(+)
		DSLV I 2
		DSLV I 0 A_SetPitch(Pitch-5)
		DSLV I 0 A_SetAngle(Angle-5)
		DSLV I 2
		DSLV I 0 A_SetPitch(Pitch-5)
		DSLV I 0 A_SetAngle(Angle-5)
		DSLV I 2
		DSLV I 0 A_SetPitch(Pitch-2)
		DSLV I 0 A_SetAngle(Angle-2)
		DSLV I 2
		Goto Fire2
		
	RVtoRH://R:L chop to a right-sweep
		TNT1 A 0//starting at 17 deg down, 17 deg left
		DSLR A 0 A_SetPitch(Pitch-5)//Up(-)Down(+)
		DSLR A 0 A_SetAngle(Angle-1)//Right(-)Left(+)
		DSLR A 2
		DSLR A 0 A_SetPitch(Pitch-5)
		DSLR A 0 A_SetAngle(Angle-2)
		DSLR A 2
		DSLR A 0 A_SetPitch(Pitch-5)
		DSLR A 0 A_SetAngle(Angle-2)
		DSLR A 2
		DSLR A 0 A_SetPitch(Pitch-2)
		DSLR A 0 A_SetAngle(Angle-2)
		DSLR A 2//0 deg, 10 deg left
		TNT1 A 0 A_PlaySound("weapons/gswing", 1)
		DSLR B 0 A_SetAngle(Angle-10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLR B 2
		DSLR B 0 A_SetAngle(Angle-10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLR B 2
		Goto AltFire2+10
		
	Fire2://Vertical L:R chop
		TNT1 A 0
		DSLV I 0 A_SetPitch(Pitch-4)//Up(-)Down(+)
		DSLV I 0 A_SetAngle(Angle+4)//Right(-)Left(+)
        DSLV I 2//4 deg up, 4 deg left
		DSLV J 0 A_SetPitch(Pitch+2)
		DSLV J 0 A_SetAngle(Angle-2)
		DSLV J 2
		DSLV K 0 A_SetPitch(Pitch+2)
		DSLV K 0 A_SetAngle(Angle-2)//0 deg, 0 deg
		DSLV K 2
		DSLV L 0 A_SetPitch(Pitch+2)
		DSLV L 0 A_SetAngle(Angle-2)
		TNT1 A 0 A_PlaySound("weapons/gswing", 1)
		TNT1 A 0 A_FireCustomMissile("DSAttack")
		DSLV L 2
		DSLV M 0 A_SetPitch(Pitch+5)
		DSLV M 0 A_SetAngle(Angle-5)
		TNT1 A 0 A_FireCustomMissile("DSAttack")
		DSLV M 2
		DSLV N 0 A_SetPitch(Pitch+5)
		DSLV N 0 A_SetAngle(Angle-5)
		TNT1 A 0 A_FireCustomMissile("DSAttack")
		DSLV N 2
		DSLV O 0 A_SetPitch(Pitch+5)
		DSLV O 0 A_SetAngle(Angle-5)//17 deg down, 17 deg right
		TNT1 A 0 A_FireCustomMissile("DSAttack")
		DSLV O 2 A_JumpIfInventory("FiredPrimary",1,"LVtoRV")
		DSLV O 2 A_JumpIfInventory("FiredSecondary",1,"LVtoLH")
		Goto EndSwingV
		
	LVtoRV://Return to original point of aim between L to R vertical attacks
		TNT1 A 0
		DSLV B 0 A_SetPitch(Pitch-5)//Up(-)Down(+)
		DSLV B 0 A_SetAngle(Angle+5)//Right(-)Left(+)
		DSLV B 2
		DSLV B 0 A_SetPitch(Pitch-5)
		DSLV B 0 A_SetAngle(Angle+5)
		DSLV B 2
		DSLV B 0 A_SetPitch(Pitch-5)
		DSLV B 0 A_SetAngle(Angle+5)
		DSLV B 2
		DSLV B 0 A_SetPitch(Pitch-2)
		DSLV B 0 A_SetAngle(Angle+2)
		DSLV B 2
		DSLV B 0 A_SetPitch(Pitch-2)//Section takes the place of frame A
		DSLV B 0 A_SetAngle(Angle-2)//*
		DSLV B 2					//End
		Goto Fire+4//Skip frame A
	
	LVtoLH://L:R chop to a left-sweep
		TNT1 A 0//starting at 17 deg down, 17 deg right
		DSLL A 0 A_SetPitch(Pitch-5)//Up(-)Down(+)
		DSLL A 0 A_SetAngle(Angle+1)//Right(-)Left(+)
		DSLL A 2
		DSLL A 0 A_SetPitch(Pitch-5)
		DSLL A 0 A_SetAngle(Angle+2)
		DSLL A 2
		DSLL A 0 A_SetPitch(Pitch-5)
		DSLL A 0 A_SetAngle(Angle+2)
		DSLL A 2
		DSLL A 0 A_SetPitch(Pitch-2)
		DSLL A 0 A_SetAngle(Angle+2)
		DSLL A 2//0 deg, 10 deg right
		TNT1 A 0 A_PlaySound("weapons/gswing", 1)
		DSLL B 0 A_SetAngle(Angle+10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLL B 2
		DSLL B 0 A_SetAngle(Angle+10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLL B 2
		Goto AltFire+10
	
	AltFire://Horizontal right-to-left slash
		TNT1 A 0
		DSLL A 0 A_SetAngle(Angle-5)//Right(-)Left(+)
		DSLL A 2
		DSLL A 0 A_SetAngle(Angle-5)
		DSLL A 2
		DSLL A 0 A_SetAngle(Angle-5)//15 deg right
		DSLL A 2//Cock weapon back to the right
		DSLL B 0 A_SetAngle(Angle+5)
		DSLL B 2
		TNT1 A 0 A_PlaySound("weapons/gswing", 1)
		DSLL C 0 A_SetAngle(Angle+10)//0 deg
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLL C 2
		DSLL D 0 A_SetAngle(Angle+10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLL D 2
		DSLL E 0 A_SetAngle(Angle+10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLL E 2
		DSLL E 0 A_SetAngle(Angle+10)//30 deg left
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLL E 2 A_JumpIfInventory("FiredSecondary",1,"LHtoRH")
		DSLL E 2 A_JumpIfInventory("FiredPrimary",1,"LHtoLV")
		Goto EndSwingLH
	
	EndSwingLH://Return to original point of aim after a horizontal R:L attack
		TNT1 A 0
		DSLA A 2
		DSLA B 0 A_SetAngle(Angle-10)//Right(-)Left(+)
		DSLA B 2
		DSLA C 0 A_SetAngle(Angle-10)
		DSLA C 2
		DSLA D 0 A_SetAngle(Angle-10)
		DSLA D 2 A_WeaponReady(WRF_NOBOB)
		Goto Ready
	
	LHtoRH://Horizontal left-sweep to a vertical left-to-right slash
		TNT1 A 0//starting at 30 deg left
		DSLR A 6
		TNT1 A 0 A_PlaySound("weapons/gswing", 1)
		DSLR B 0 A_SetAngle(Angle-10)//Right(-)Left(+)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLR B 2
		DSLR B 0 A_SetAngle(Angle-10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLR B 2
		Goto AltFire2+10
		
	LHtoLV://R:L sweep to a L:R chop
		TNT1 A 0//starting at 30 deg left
		DSLV I 0 A_SetPitch(Pitch-2)//Up(-)Down(+)
		DSLV I 0 A_SetAngle(Angle-10)//Right(-)Left(+)
		DSLV I 2
		DSLV I 0 A_SetPitch(Pitch-2)
		DSLV I 0 A_SetAngle(Angle-10)
		DSLV I 2
		DSLV I 0 A_SetAngle(Angle-6)
		DSLV I 2//4 deg up, 4 deg left
		Goto Fire2+4
	
	AltFire2://Horizontal left-to-right slash
		TNT1 A 0
		DSLR A 0 A_SetAngle(Angle+5)//Right(-)Left(+)
		DSLR A 2
		DSLR A 0 A_SetAngle(Angle+5)
		DSLR A 2
		DSLR A 0 A_SetAngle(Angle+5)//15 deg left
		DSLR A 2//Cock weapon back to the left
		DSLR B 0 A_SetAngle(Angle-5)
		DSLR B 2
		TNT1 A 0 A_PlaySound("weapons/gswing", 1)
		DSLR C 0 A_SetAngle(Angle-10)//0 deg
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLR C 2
		DSLR D 0 A_SetAngle(Angle-10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLR D 2
		DSLR E 0 A_SetAngle(Angle-10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLR E 2
		DSLR E 0 A_SetAngle(Angle-10)//30 deg right
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLR E 2 A_JumpIfInventory("FiredSecondary",1,"RHtoLH")
		DSLR E 2 A_JumpIfInventory("FiredPrimary",1,"RHtoRV")
		Goto EndSwingRH
		
	EndSwingRH://Return to original point of aim after a horizontal L:R attack
		TNT1 A 0
		DSLA A 2
		DSLA B 0 A_SetAngle(Angle+10)//Right(-)Left(+)
		DSLA B 2
		DSLA C 0 A_SetAngle(Angle+10)
		DSLA C 2
		DSLA D 0 A_SetAngle(Angle+10)
		DSLA D 2 A_WeaponReady(WRF_NOBOB)
		Goto Ready
		
	RHtoLH://Reverse sweep direction from right to left
		TNT1 A 0//starting at 30 deg right
		DSLL A 6
		TNT1 A 0 A_PlaySound("weapons/gswing", 1)
		DSLL B 0 A_SetAngle(Angle+10)//Right(-)Left(+)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLL B 2
		DSLL B 0 A_SetAngle(Angle+10)
		TNT1 A 0 A_FireCustomMissile("DSAttack2")
		DSLL B 2
		Goto AltFire+10
	
	RHtoRV://L:R sweep to a R:L chop
		TNT1 A 0//starting at 30 deg right
		DSLV B 0 A_SetPitch(Pitch-2)//Up(-)Down(+)
		DSLV B 0 A_SetAngle(Angle+10)//Right(-)Left(+)
		DSLV B 2
		DSLV B 0 A_SetPitch(Pitch-2)
		DSLV B 0 A_SetAngle(Angle+10)
		DSLV B 2
		DSLV B 0 A_SetAngle(Angle+6)
		DSLV B 2//4 deg up, 4 deg right
		Goto Fire+4
	
	DualWield:
		TNT1 A 0
		TNT1 A 0 A_Takeinventory("StartDualWield",1)
		TNT1 A 0 A_JumpIfInventory("PowerStrength",1,"Ignite")
		Goto NoBerserk
		
	NoBerserk:
		TNT1 A 0 A_Print("You must be berserk to ignite the blade.", 2)
		DSLA D 5
		Goto Ready3
		
	Ignite:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("DSWeap2")
		TNT1 A 0 A_SelectWeapon("DSWeap2")
		Goto Ready3
		
	Spawn:
		DSLC P 1
		DSLC P -1
		Stop
	}
}

ACTOR DSAttack: FastProjectile
{
	Radius 24
	Height 2
	DamageType Cut
	+MISSILE
	+FORCEXYBILLBOARD
	+FORCERADIUSDMG
	+BLOODSPLATTER
	RenderStyle Add
	Alpha 0.6
	Damage (random(100,100))
	Speed 60
	SeeSound "none"
	DeathSound "none"
	decal "SawVertical"
	Scale 0.01
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 1 BRIGHT
		Stop

		Death:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 Radius_Quake (4, 6, 0, 5, 0)//(intensity, duration, damrad, tremrad, tid)
		TNT1 A 0 A_SpawnItem ("Sparks", 0)
		TNT1 A 0 A_Explode(10, 24, 0)
		TNT1 A 0 A_PlaySound("B2KCLANG", 6)
		TNT1 A 0 A_ALertMonsters(1200)
		TNT1 A 0 A_CustomMissile ("PlasmaSmoke", 2, 0, random (0, 360), 2, random (30, 170))
		TNT1 A 0 A_CheckFloor("SpawnFloor")
		TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("SparkX", 2, 0, random (0, 360), 2, random (30, 170))
		TNT1 A 0 A_JumpIfInTargetInventory("PowerStrength", 1, "Berserk")
		TNT1 A 10
		Stop

		SpawnFloor:
		TNT1 A 0
		AXEG A 0 Acs_namedexecutealways("BDCheckFloorType", 0, 0, 0, 0)
		TNT1 A 2
		TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "SpawnWater")
		TNT1 A 0 A_JumpIfInventory("IsOverNukage", 1, "SpawnNukage")
		TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "SpawnSlime")
		TNT1 A 0 A_JumpIfInventory("IsOverBlood", 1, "SpawnBlood")
		TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "SpawnLava")
		TNT1 A 0 A_JumpIfInventory("IsOverGrass", 1, "SpawnDirt")
		TNT1 A 0 A_JumpIfInventory("IsOverSand", 1, "SpawnSand")
		PUFF A 0 bright A_PlaySound("ricochet/hit")
		TNT1 A 0 A_SpawnItem ("YellowFlareSmall", 0)
		TNT1 A 0 A_SetScale(-0.6)
		TNT1 A 0 A_Jump (132, 15)
		FX58 ABCD 1 BRIGHT 
		TNT1 A 0 A_CustomMissile("OldschoolRocketSmokeTrail2Bigger", 2, 0, random (0, 360), 2, random (0, 360))
		FX58 EFGHIJ 1 bright
		Stop
		TNT1 AAAAA 0
		FX57 ABCD 1 BRIGHT 
		TNT1 A 0 A_CustomMissile("OldschoolRocketSmokeTrail2Bigger", 2, 0, random (0, 360), 2, random (0, 360))
		FX57 EFGHIJ 1 bright
		stop

		SpawnWater:
		TNT1 A 0
		TNT1 AAAAA 0 A_CustomMissile ("WaterParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
		TNT1 AAAAA 0 A_CustomMissile ("WaterParticleXSuperFast", 24, 0, random (0, 360), 2, random (30, 160))
		TNT1 A 0 A_SpawnItem("WaterSplashWaves")
		TNT1 A 0 A_SetScale(0.5, 0.5)
		SPHW ABCDE 3
		Stop

		SpawnSlime:
		TNT1 A 0
		TNT1 AAAAA 0 A_CustomMissile ("SLimeParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
		TNT1 AAAAA 0 A_CustomMissile ("SlimeParticleXFAster", 24, 0, random (0, 360), 2, random (30, 160))
		TNT1 A 0 A_SpawnItem("SlimeSplashWaves")
		TNT1 A 0 A_SetScale(0.5, 0.5)
		SPHB ABCDE 3
		Stop

		SpawnNukage:
		TNT1 A 0
		TNT1 AAAAA 0 A_CustomMissile ("nukageParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
		TNT1 AAAAA 0 A_CustomMissile ("nukageParticleXFAster", 24, 0, random (0, 360), 2, random (30, 160))
		TNT1 A 0 A_SpawnItem("NukageSplashWaves")
		TNT1 A 0 A_SetScale(0.5, 0.5)
		SPHG ABCDE 3
		Stop

		SpawnBlood:
		TNT1 A 0
		TNT1 AAAAA 0 A_CustomMissile ("BloodParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
		TNT1 AAAAA 0 A_CustomMissile ("BloodParticleXFAster", 24, 0, random (0, 360), 2, random (30, 160))
		TNT1 A 0 A_SpawnItem("BloodSplashWaves")
		TNT1 A 0 A_SetScale(0.5, 0.5)
		SPHR ABCDE 3
		Stop

		SpawnLava:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 12, 0, random (160, 210), 2, random (10, 90))
		TNT1 A 0 A_SpawnItemEx("TinyBurningPiece3", random (-5, 5), random (-5, 5))
		TNT1 AAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 10, 0, random (0, 180), 2, random (10, 90))
		TNT1 A 0 A_SetScale(0.5, 0.5)
		INFE ABCDEFGHIJKLMNOPQR 1 BRIGHT 
		INFE ST 1 BRIGHT A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 32, 0, random (160, 210), 2, random (10, 90))
		TNT1 AAA 4 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 14, 0, random (160, 210), 2, random (10, 90))
		Stop

		SpawnDirt:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile ("BrownCloudSmallLong", 0, 0, random (0, 360), 2, random (10, 150))
		TNT1 AA 0 A_CustomMissile ("DirtChunk3", 0, 0, random (0, 360), 2, random (30, 150))
		TNT1 AA 0 A_CustomMissile ("DirtChunk4", 0, 0, random (0, 360), 2, random (30, 150))
		TNT1 A 0 A_CustomMissile ("MudDustSmall", 4, 0, random (0, 360), 2, random (30, 150))
		TNT1 A 0 A_SpawnItem("DirtRicochet")
		Stop

		SpawnSand:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile ("SandCloudSmallLong", 0, 0, random (0, 360), 2, random (10, 90))
		TNT1 A 0 A_CustomMissile ("SandCloudSmall", 0, 0, random (0, 360), 2, random (10, 90))
		TNT1 A 0 A_CustomMissile ("SandDustSmall", 4, 0, random (0, 360), 2, random (30, 150))
		Stop

		XDeath:
		Melee:
		Crash:
		TNT1 A 0
		PUFF A 0 A_PlaySound("player/cyborg/fist", 3)
		TNT1 A 0 A_PlaySound("AXEHIT", 6)
		TNT1 A 0 A_PlaySound("BRKCLANG", 1)
		TNT1 A 0 A_SpawnItemEx ("PLOFT2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Radius_Quake (2, 6, 0, 5, 0)//(intensity, duration, damrad, tremrad, tid)
		TNT1 A 0 A_JumpIfInTargetInventory("PowerStrength", 1, "Berserk")
		TNT1 A 10
		Stop

		Berserk:
		TNT1 A 1
		TNT1 A 0 A_explode(90, 5, 0)
		TNT1 A 10
		Stop
	}
}

Actor DSAttack2: DSAttack
{
	decal "SawHorizontal"
}