ACTOR HitSides: FastProjectile
{
	Radius 8
	Height 12
	Speed 40
	FastSpeed 40
	Damage 1
	Projectile
	+RANDOMIZE
	//+RIPPER
	+NOBLOOD
	+MISSILE
	Species "Marines"
	+THRUSPECIES
	+MTHRUSPECIES
	+BLOODLESSIMPACT
	+FORCERADIUSDMG
	+THRUGHOST
	-NOCLIP
	RenderStyle Add
	Alpha 1
	//DamageType Kick
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Stop
	Death:
	TNT1 A 1
	TNT1 A 0 A_SpawnItem("SideBikeHitPuff")
	Stop
	XDeath:
	TNT1 A 1
	TNT1 A 0 A_SpawnItem("SideBikeHitPuff")
	Stop
	}
}

ACTOR HitLeft: HitSides
{
	DamageType Kick
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Stop
	Death:
	TNT1 A 1
	TNT1 A 0 A_CustomMissile("LeftBikeHitPuff")
	Stop
	XDeath:
	TNT1 A 1
	TNT1 A 0 A_CustomMissile("LeftBikeHitPuff")
	Stop
	}
}

ACTOR HitRight: HitSides
{
	DamageType Kick
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Stop
	Death:
	TNT1 A 1
	TNT1 A 0 A_CustomMissile("RightBikeHitPuff")
	Stop
	XDeath:
	TNT1 A 1
	TNT1 A 0 A_CustomMissile("RightBikeHitPuff")
	Stop
	}
}

ACTOR HitLeftWeak: HitSides
{
	DamageType Kick
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Stop
	Death:
	TNT1 A 1
	TNT1 A 0 A_CustomMissile("LeftBikeHitPuff")
	Stop
	XDeath:
	TNT1 A 1
	TNT1 A 0 A_CustomMissile("LeftBikeHitPuff")
	Stop
	}
}

ACTOR HitRightWeak: HitSides
{
	DamageType Kick
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Stop
	Death:
	TNT1 A 1
	TNT1 A 0 A_CustomMissile("RightBikeHitPuff")
	Stop
	XDeath:
	TNT1 A 1
	TNT1 A 0 A_CustomMissile("RightBikeHitPuff")
	Stop
	}
}

ACTOR HitFront: HitSides
{
	DamageType Kick
	Radius 1
	Speed 40
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
		TNT1 A 0 A_Explode(50,55,0)
		Stop
	XDeath:
	Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("QuakeCameraWeak")
	TNT1 A 0 A_SpawnItem("BikeBounceSound")
	TNT1 A 0 A_SpawnItem("BikeBounceSound2")
	TNT1 A 0 A_SpawnItem("FrontBikeHitPuff")
	TNT1 A 0 A_Explode(2,60,1)
	TNT1 A 0 A_Explode(50,55,0)
	TNT1 A 20
	Stop
	}
}

ACTOR HitFrontWeak: HitFront
{
	States
	{
	Spawn:
		Spawn:
		TNT1 A 1 BRIGHT
		TNT1 A 0 A_Explode(10,55,0)
		Stop
	XDeath:
	Death:
	TNT1 A 0
	//TNT1 A 0 A_Explode(4,60,1)
	//TNT1 A 0 A_Explode(50,55,0)
	TNT1 A 20
	Stop
	}
}

ACTOR HitFrontStrong: HitFront
{
	DamageType CrashStrong
	States
	{
	XDeath:
	Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("QuakeCameraWeak")
	TNT1 A 0 A_SpawnItem("BikeBounceSound")
	TNT1 A 0 A_SpawnItem("BikeBounceSound2")
	TNT1 A 0 A_SpawnItem("FrontBikeHitPuff")
	TNT1 A 0 A_SpawnItem("CrashPlayerStrong")
	TNT1 A 0 A_Explode(200,55,0)
	TNT1 A 20
	Stop
	}
}

ACTOR HitFrontDevastative: HitFront
{
	DamageType Extreme
	States
	{
	Death:
	TNT1 A 1
	TNT1 AAAA 0 A_CustomMissile ("CrashSparks", -2, 0, random (0, 360), 2, random (0, 360))
	TNT1 AAA 0 A_SpawnItem("FrontBikeHitPuffStrong")
	TNT1 A 0 A_SpawnItem("CrashPlayerDevastative")
	TNT1 A 0 A_Explode(1000,55,0)
	TNT1 A 20
	Stop

	XDeath:
	TNT1 A 1
	TNT1 AAAA 0 A_CustomMissile ("CrashSparks", -2, 0, random (0, 360), 2, random (0, 360))
	TNT1 AA 0 A_SpawnItem("FrontBikeHitPuffStrong")
	//TNT1 A 0 A_SpawnItem("FrontBikeHitPuff")
	TNT1 A 0 A_SpawnItem("CrashPlayerDevastative")
	TNT1 A 0 A_Explode(1000,55,0)
	TNT1 A 20
	Stop
	}
}

ACTOR HitFrontSuicidal: HitFront
{
	DamageType Extreme
	States
	{
	Death:
	TNT1 A 1
	TNT1 AAAA 0 A_SpawnItem("FrontBikeHitPuffStrong")
	TNT1 A 0 A_Explode(2000,55,1)
	TNT1 A 20
	Stop

	XDeath:
	TNT1 A 1
	TNT1 AAAA 0 A_SpawnItem("FrontBikeHitPuffStrong")
	//TNT1 A 0 A_SpawnItem("FrontBikeHitPuff")
	TNT1 A 0 A_Explode(2000,55,1)
	TNT1 A 20
	Stop
	}
}

ACTOR HitFrontTerminalSpeed: HitFront
{
	DamageType Extreme
	States
	{
	Death:
	TNT1 A 1
	TNT1 AAAAA 0 A_SpawnItem("FrontBikeHitPuffStrong")
	TNT1 A 0 A_Explode(6000,55,1)
	TNT1 A 20
	Stop

	XDeath:
	TNT1 A 1
	TNT1 AAAAA 0 A_SpawnItem("FrontBikeHitPuffStrong")
	//TNT1 A 0 A_SpawnItem("FrontBikeHitPuff")
	TNT1 A 0 A_Explode(6000,55,1)
	TNT1 A 20
	Stop
	}
}

ACTOR SideBikeHitPuff: BulletPuff
{
  renderstyle Translucent
scale 0.15
alpha 0.7
  +NOBLOCKMAP
  +NOGRAVITY
  +NOEXTREMEDEATH
  +FORCEXYBILLBOARD
  states
  {
Spawn:
Death:
XDeath:
Melee:
		TNT1 A 0
        TNT1 AAAAAA 0 A_CustomMissile ("CrashSparks", 2, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_CustomMissile ("CrashMetalShards", 2, 0, random (0, 360), 2, random (10, 50))
		TNT1 A 0 A_PlaySound("BIKECLW", 1)
		BPUF CD 1 bright
Stop
  }
}

ACTOR FrontBikeHitPuff: SideBikeHitPuff
{
  states
  {
Spawn:
Death:
XDeath:
Melee:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("EBIKECLS", 1)
		TNT1 AAA 0 A_CustomMissile ("CrashMetalShards", 2, 0, random (0, 360), 2, random (10, 50))
		TNT1 A 20
Stop
  }
}

ACTOR FrontBikeHitPuffStrong: SideBikeHitPuff
{
  states
  {
Spawn:
Death:
XDeath:
Melee:
		TNT1 A 0
		TNT1 A 0 Radius_Quake(2, 7, 0, 2, 0)
		TNT1 A 0 A_PlaySound("EBIKECLS", 1)
		TNT1 AA 0 A_CustomMissile ("TireSmoke", 1, 0, random (0, 360), 2, random (30, 170))
		TNT1 AAAAAA 0 A_CustomMissile ("CrashMetalShards", 2, 0, random (0, 360), 2, random (10, 50))
		TNT1 A 20
Stop
  }
}

ACTOR LeftBikeHitPuff: SideBikeHitPuff
{
  damagetype CrashLeft
  states
  {
Spawn:
Death:
XDeath:
Melee:
        TNT1 A 0
		TNT1 A 3
		TNT1 A 0 Radius_Quake(2, 7, 0, 2, 0)

		TNT1 A 0 A_Explode(2,90,1)
		//TNT1 AA 0 A_CustomMissile ("CrashMetalShards", 2, 0, random (0, 360), 2, random (10, 50))
        TNT1 AAAA 0 A_CustomMissile ("CrashSparks", -32, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 20
Stop
  }
}

ACTOR RightBikeHitPuff: SideBikeHitPuff
{
  damagetype CrashRight
  states
  {
Spawn:
Death:
XDeath:
Melee:
        TNT1 A 0
		TNT1 A 3
		TNT1 A 0 Radius_Quake(2, 7, 0, 2, 0)
		TNT1 A 0 A_Explode(2,90,1)
		//TNT1 AA 0 A_CustomMissile ("CrashMetalShards", 2, 0, random (0, 360), 2, random (10, 50))
        TNT1 AAAAA 0 A_CustomMissile ("CrashSparks", -32, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 20
Stop
  }
}

ACTOR CrashSparks
{
 +MISSILE
 speed 10
 Gravity 0.8
 -NOGRAVITY
  Scale 0.05
   radius 1
 height 1
 +DOOMBOUNCE
 +GHOST
 +THRUACTORS
 BounceFactor 0.5
 Damage 0
  alpha 1.0
  renderstyle add
    States
    {
     Spawn:
       SPKO AAA 1 BRIGHT
	   SPKO AAAAAAA 1 Bright A_FadeOut(0.20)
        stop
     Death:
	 TNT1 A 0
       Stop
    }
}

ACTOR TireSmoke
{
    Radius 0
    Height 0
	Alpha 0.4
	RenderStyle Add
	Speed 1
	Scale 2.0
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
    +CLIENTSIDEONLY
	+THRUGHOST
	+THRUACTORS
	Damage 0
    +NOINTERACTION
    States
    {
    Spawn:
	    PUF2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 3
		PUF3 ABC 3
		Stop
    }
}

ACTOR CrashMetalShards
{
    Radius 8
    Height 8
    Scale 0.2
	Speed 16
	Mass 1
    gravity 0.5
	BounceFactor 0.6
	+DOOMBOUNCE
	+MISSILE
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +NOBLOCKMAP
    +NOTELEPORT
	+THRUACTORS
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		JNK1 ABCDEFGH 3
        Loop

	Death:
        JNK1 H 200
        Stop
    }
}

ACTOR CrashPlayerStrong
{
    SeeSound "none"
    DeathSound "none"
    Decal "None"
	Damagetype "CrashStrong"
    Gravity 1.0
	+FORCERADIUSDMG
    Speed 1
    States
    {
    Spawn:
        TNT1 A 0
        TNT1 A 0 A_Explode(20, 80, 1)
		TNT1 A 1
        Stop
    }
}

ACTOR CrashPlayerDevastative
{
    SeeSound "none"
    DeathSound "none"
    Decal "None"
	Damagetype "CrashStrong"
    Gravity 1.0
    Speed 1
    States
    {
    Spawn:
        TNT1 A 0
        TNT1 A 0 A_Explode(35, 80, 1)
		TNT1 A 1
        Stop
    }
}

ACTOR CrashPlayerSuicidal
{
    SeeSound "none"
    DeathSound "none"
    Decal "None"
	Damagetype "EXTREME"
    Gravity 1.0
    Speed 1
    States
    {
    Spawn:
        TNT1 A 0
        TNT1 A 0 A_Explode(1000, 80, 1)
		TNT1 A 1
        Stop
    }
}

ACTOR CrashPlayerDelayed
{
    SeeSound "none"
    DeathSound "none"
    Decal "None"
	+NODAMAGETHRUST
    Gravity 1.0
    Speed 1
    States
    {
    Spawn:
        TNT1 A 3
        TNT1 A 0 A_Explode(19, 80, 1)
		TNT1 A 1
        Stop
    }
}

ACTOR CrashPlayerDelayedStrong: CrashPlayerDelayed
{
	Damagetype "ExplosiveImpact"
}

ACTOR CrashPlayerDelayedFatal: CrashPlayerDelayed
{
+EXTREMEDEATH
States
    {
    Spawn:
        TNT1 A 3
        TNT1 A 0 A_Explode(202, 80, 1)
		TNT1 A 1
        Stop
}
}

ACTOR KnockBike
{
    SeeSound "none"
    DeathSound "none"
    Decal "None"
	Damagetype "KnockBike"
	+FORCERADIUSDMG
    Gravity 1.0
    Speed 1
    States
    {
    Spawn:
        TNT1 A 1
        TNT1 A 0 A_Explode(9, 150, 1)
		TNT1 A 1
        Stop
    }
}

ACTOR QuakeCamera
{
    SeeSound "none"
    DeathSound "none"
    Decal "None"
	+EXTREMEDEATH
    Gravity 1.0
    Speed 1
    States
    {
    Spawn:
        TNT1 A 1
	    EXPL A 0 Radius_Quake (8, 35, 0, 20, 0)// (intensity, duration, damrad, tremrad, tid)
        TNT1 A 0 A_Explode(1500, 256, 0)
		TNT1 A 32
        Stop
    }
}

ACTOR QuakeCameraWeak: QuakeCamera
{
    States
    {
	Spawn:
        TNT1 A 1
	    EXPL A 0 Radius_Quake (4, 35, 0, 10, 0)// (intensity, duration, damrad, tremrad, tid)
        TNT1 A 8
        Stop
    }
}

ACTOR BikeBounceSound: QuakeCamera
{
    States
    {
	Spawn:
        TNT1 A 1
	    TNT1 A 0 A_PlaySound("EBIKEBNC")
        TNT1 A 20
        Stop
    }
}

ACTOR BikeBounceSound2: QuakeCamera
{
    States
    {
	Spawn:
        TNT1 A 1
	    TNT1 A 0 A_PlaySound("EBIKECLS")
        TNT1 A 20
        Stop
    }
}

ACTOR BikePieces1: CrashMetalShards
{
    Speed 16
	Mass 1
    gravity 0.5
	Scale 1.0
	BounceFactor 0.4
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		BCP1 ABCD 5
        Loop

	Death:
        BCP1 E 1000
		BCP1 EEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
        Stop
    }
}

ACTOR BikePieces2: BikePieces1
{
    Speed 16
	Mass 1
    gravity 0.5
	BounceFactor 0.4
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		BCP1 DCBA 5
        Loop

	Death:
        BCP1 E 1000
		BCP1 EEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
        Stop
    }
}

ACTOR BikePieces3: BikePieces1
{
    Speed 16
	Mass 1
    gravity 0.5
	BounceFactor 0.4
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		BCP2 ABCD 5
        Loop

	Death:
        BCP2 E 1000
		BCP2 EEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
        Stop
    }
}

ACTOR BikePieces4: BikePieces1
{
    Speed 16
	Mass 1
    gravity 0.5
	BounceFactor 0.4
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		BCP3 ABCD 5
        Loop

	Death:
        BCP3 A 1000
		BCP3 AAAAAAAAAAAAAAAAAAAAAA 1 A_FadeOut(0.1)
        Stop
    }
}

ACTOR CrashTankIntotheGround1
{
    SeeSound "none"
    DeathSound "none"
    Decal "None"
	Damagetype "Stomp"
    Gravity 1.0
	+FORCERADIUSDMG
    Speed 1
    States
    {
    Spawn:
        TNT1 A 0
        TNT1 A 0 A_Explode(5000, 130, 0)
		TNT1 A 1
        Stop
    }
}

ACTOR CrashTankIntotheGround2
{
    SeeSound "none"
    DeathSound "none"
    Decal "None"
	Damagetype "Kick"
    Gravity 1.0
    Speed 1
    States
    {
    Spawn:
        TNT1 A 0
        TNT1 A 0 A_Explode(30, 220, 0)
		TNT1 A 1
        Stop
    }
}

ACTOR HitDetectionBase: FastProjectile
{
	Radius 24
	Height 32
	Speed 40
	FastSpeed 40
	Damage 1
	Projectile
	+RANDOMIZE
	//+RIPPER
	+NOBLOOD
	+MISSILE
	+BLOODLESSIMPACT
	+FORCERADIUSDMG
	+THRUGHOST
	-NOCLIP
	RenderStyle Add
	Alpha 1
	//DamageType Kick
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Stop
	}
}

ACTOR HelicopterHitDetection: HitDetectionBase
{
	DamageType Cut
	Damage (random(100, 200))
	Height 64
	-NOBLOOD
	-BLOODLESSIMPACT
	States
	{
	Spawn:
		TNT1 A 3 BRIGHT
		Stop
	Death:
	TNT1 A 3
	TNT1 A 0 A_CustomMissile("HelicopterCrashPuff")
	Stop

	XDeath:
	TNT1 A 3
	TNT1 A 0 A_CustomMissile("HelicopterCrashPuff")
	Stop
	}
}

ACTOR HelicopterHitDetectionGround: HitDetectionBase
{
	DamageType Normal
	Damage (random(100, 200))
	Height 2
	Radius 2
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Stop
	Death:
	TNT1 A 3
	TNT1 A 0 A_CustomMissile("HelicopterCrashPuffGround")
	Stop

	XDeath:
	TNT1 A 3
	TNT1 A 0 A_CustomMissile("HelicopterCrashPuffGround")
	Stop
	}
}

ACTOR HelicopterCrashPuff: BulletPuff
{
	renderstyle Translucent
	scale 0.15
	alpha 0.7
	+NOBLOCKMAP
	+NOGRAVITY
	+NOEXTREMEDEATH
	+FORCEXYBILLBOARD
	+FORCERADIUSDMG
	MISSILE
	PROJECTILE
	DamageType "AssaultHelicopterhealth"
	states
	{
		Spawn:
		Death:
		XDeath:
		Melee:
		TNT1 A 0
		TNT1 A 0 A_Explode(3, 80, 1)
		TNT1 AAAAAA 0 A_CustomMissile ("CrashSparks", 2, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_CustomMissile ("CrashMetalShards", 2, 0, random (0, 360), 2, random (10, 50))
		TNT1 A 0 A_PlaySound("BIKECLW", 1)
		BPUF CD 1 bright
		Stop
	}
}

ACTOR HelicopterCrashPuffGround: HelicopterCrashPuff
{
  DamageType "HitGround"
}