ACTOR BulletProjectile : FastProjectile
{
    Radius 2
    Height 2
    decal "Bulletchip"
    PROJECTILE
      +BLOODSPLATTER
      +DONTSPLASH
   States
   {
   Spawn:
      TNT1 A 1
      Loop
   Death: //Walls and Floors
      TNT1 A 1 A_SpawnItem("BulletPuff")
      stop
   XDeath: //Bleedable Objects
      TNT1 A 1
      stop
   Crash: // Non-bleedable Objects
      TNT1 A 1 A_SpawnItem("BulletPuff")
      stop
   }
}

Actor SpiderPlasma : ArachnotronPlasma
{
	+Mthruspecies
}

ACTOR ChainBullet : BulletProjectile
{
   Damage (5*random(1,2)) // Specifies the damage
   Decal "Bulletchip" // Change the bullet hole if you wish
   Speed 200 // and the speed
   //+Mthruspecies
}
ACTOR TurretProj_Chaingun : BulletProjectile
{
   Damage (random(2,6)*3) // Specifies the damage
   Decal "Bulletchip" // Change the bullet hole if you wish
   Speed 200 // and the speed
   +Mthruspecies
   States
   {
   Spawn:
	  TNT1 A 1 
	  TNT1 A 0 A_SetArg(0, random(-5, 5))
	  Loopme:
		TNT1 A 1 ThrustThingZ(0, args[0], 0, true)
      Loop
	  
   }
}

Actor TurretProj_Shotgun : BulletProjectile
{
   Damage (random(2,5)*2) // Specifies the damage
   Decal "Bulletchip" 
   Speed 200 
   +Mthruspecies

   States
   {
   Spawn:
	  TNT1 A 1 
	  TNT1 A 0 A_SetArg(0, random(-20, 20))
	  Loopme:
		TNT1 A 1 ThrustThingZ(0, args[0], 0, true)
      Loop
	  
   }
}

Actor TurretProj_Shotgun_Flame : TurretProj_Shotgun {
   states
   {
       Death: //Walls and Floors
         TNT1 A 1 A_SpawnItem("BulletPuff_Explosive")
         stop
      XDeath: //Bleedable Objects
         TNT1 A 1 A_SpawnItem("BulletPuff_Explosive")
         stop
      Crash: // Non-bleedable Objects
         TNT1 A 1 A_SpawnItem("BulletPuff_Explosive")
         stop
   }
}

ACTOR TurretProj_Bullet : BulletProjectile
{
   Damage (random(1,4)*3) // Specifies the damage
   Decal "Bulletchip" // Change the bullet hole if you wish
   Speed 200 // and the speed
   +Mthruspecies
   
   States
   {
   Spawn:
	  TNT1 A 1 
	  TNT1 A 0 A_SetArg(0, random(-10, 10))
	  Loopme:
		TNT1 A 1 ThrustThingZ(0, args[0], 0, true)
      Loop
	  
   }
}

ACTOR SSGBullet : BulletProjectile
{
   Damage (3*random(1,3)) // Specifies the damage
   Decal "Bulletchip" // Change the bullet hole if you wish
   Speed 200 // and the speed
   //+Mthruspecies
}
ACTOR CommonBullet : BulletProjectile
{
   Damage (3*random(1,5)) // Specifies the damage
   Decal "Bulletchip" // Change the bullet hole if you wish
   Speed 200 // and the speed
   //+Mthruspecies
}

Actor Mon_BFGBall : BFGBall
{
	+Mthruspecies
	DamageType "DemonFire"
	
	states
	{
		Death:
		BFE1 AB 8 Bright
		TNT1 A 0 A_Explode(150,128, 0)
		BFE1 C 8 Bright
		TNT1 A 0 A_Explode(150,128, 0)
		BFE1 DEF 8 Bright
		Stop
	}
}

Actor Mon_Rocket : Rocket {
	DamageType "DemonFire"
}

Actor Mon_BaronBall : BaronBall replaces BaronBall {
   +MTHRUSPECIES
	DamageType "DemonFire"
   speed 17
}

Actor Mon_DoomImpBall : DoomImpBall replaces DoomImpBall {
   +MTHRUSPECIES
	DamageType "DemonFire"
   speed 12
}

Actor Mon_CacodemonBall : CacodemonBall replaces CacodemonBall {
   +MTHRUSPECIES
   DamageType "DemonFire"
   speed 15
}