ACTOR "Demon Tech Minigun" : Weapon
{
   Tag "Demon Tech Minigun"
   Weapon.SelectionOrder 10
   Weapon.PreferredSkin "Minigun-Marine"
   Weapon.KickBack 10
   Weapon.AmmoUse 1
   Weapon.AmmoGive 100
   Weapon.AmmoType "DemonAmmo"   
   Weapon.UpSound "weapons/demontechload"
   Inventory.PickupSound "weapons/demontechload"
   Inventory.PickupMessage "You got the Demon Tech Minigun"
   //+INVENTORY.UNDROPPABLE
   States
   {
   Spawn:
      DTM0 "Z" -1
      Stop
   Ready:
      DTM1 A 0 A_JumpIfInventory("DemonTechMinigunType",1,"Ready2")
      DTM1 A 1 A_WeaponReady
      Loop
   Ready2:
      DTM2 A 1 A_WeaponReady
      Loop
   Deselect:
      TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	  TNT1 A 0 A_TakeInventory("MineAction",1)
	  TNT1 A 0 A_TakeInventory("RailgunAction",1)
	  TNT1 A 0 A_StopSound(5)
	  TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
      DTM1 A 0 A_Lower
      DTM1 A 1 A_Lower
      Goto Deselect+5
   Select:
      DTM1 A 0 A_Raise
      DTM1 A 1 A_Raise
      Loop
   Fire:
      DTM1 A 0 A_JumpIfInventory("DemonTechMinigunType",1,"Fire2")
	  TNT1 A 0 A_PlaySound("weapons/expmgunspinstart",5)
      DTM1 BCDE 3
	  DTM1 EFGHI 3
   Hold:  
      TNT1 A 0 A_PlaySound("weapons/expmgunspin",5)
	  TNT1 A 0 Radius_Quake(2,2,0,1,0)
	  TNT1 A 0 A_GunFlash
	  TNT1 A 0 A_PlaySound("demontechminigun/fire1")
	  TNT1 A 0 A_FireCustomMissile("Nothing",0,1,0,0)
	  TNT1 AA 0 A_FireCustomMissile("GreenExpMissileBullet",Random(1,-1),0,0,0,0,Random(1,-1))
	  DTM0 A 2 Bright A_FireCustomMissile("GreenExpMissileBullet",Random(1,-1),1,0,0,0,Random(1,-1))
	  TNT1 A 0 Radius_Quake(2,2,0,1,0)
	  TNT1 A 0 A_GunFlash
	  TNT1 A 0 A_PlaySound("demontechminigun/fire1")
	  TNT1 A 0 A_FireCustomMissile("Nothing",0,1,0,0)
	  TNT1 AA 0 A_FireCustomMissile("GreenExpMissileBullet",Random(1,-1),0,0,0,0,Random(1,-1))
	  DTM0 B 2 Bright A_FireCustomMissile("GreenExpMissileBullet",Random(1,-1),1,0,0,0,Random(1,-1))
	  DTM0 C 2 
      TNT1 A 0 A_ReFire
	  TNT1 A 0 A_PlaySound("weapons/expmgunspinstop",5)
	  DTM1 EFGHI 3
	  DTM1 JKLA 3
	  Goto Ready
   Fire2:
	  TNT1 A 0 A_PlaySound("weapons/expmgunspinstart",5)
      DTM2 BCDE 3
	  DTM2 EFGHI 3
   Hold2:  
      TNT1 A 0 A_PlaySound("weapons/expmgunspin",5)
	  TNT1 A 0 Radius_Quake(2,2,0,1,0)
	  TNT1 A 0 A_GunFlash
	  TNT1 A 0 A_PlaySound("demontechminigun/fire2")
	  TNT1 A 0 Radius_Quake(2,2,0,1,0)
	  TNT1 A 0 A_GunFlash
	  TNT1 AA 0 A_FireCustomMissile("Nothing",0,1,0,0)
	  DTM0 A 6 Bright A_FireCustomMissile("DTMinigunSoulRage",0,1,0,0,0,0)
	  TNT1 A 0 A_PlaySound("demontechminigun/fire2")
	  TNT1 A 0 Radius_Quake(2,2,0,1,0)
	  TNT1 A 0 A_GunFlash
	  TNT1 AA 0 A_FireCustomMissile("Nothing",0,1,0,0)
	  DTM0 B 6 Bright A_FireCustomMissile("DTMinigunSoulRage",0,1,0,0,0,0)
	  DTM0 C 6	  
      TNT1 A 0 A_ReFire("Hold2")
	  TNT1 A 0 A_PlaySound("weapons/expmgunspinstop",5)
	  DTM2 EFGHI 3
	  DTM2 JKLA 3
	  Goto Ready
   AltFire:
  	  DTM1 A 0 A_JumpIfInventory("DemonTechMinigunType",1,"AltFire2")
	  DTM1 A 1 A_GiveInventory("DemonTechMinigunType",1)
      DTM1 A 0 A_GunFlash
      DTM1 A 2 Offset(0,32)
	  DTM1 A 2 Offset(0,36)
	  DTM1 A 2 Offset(0,40)
	  DTM1 A 2 Offset(0,44)
	  DTM1 A 2 Offset(0,48)
	  DTM1 A 2 Offset(0,52)
	  DTM1 A 2 Offset(0,54)
	  DTM2 A 0 A_PlaySound("weapons/demontechsteam")
	  DTM1 A 0 A_PlayWeaponSound("weapons/spirit1")
	  DTM1 A 2 Offset(0,58)
	  DTM2 A 2 Offset(0,54)
	  DTM2 A 2 Offset(0,52)
	  DTM2 A 2 Offset(0,48)
	  DTM2 A 2 Offset(0,44)
	  DTM2 A 2 Offset(0,40)
	  DTM2 A 2 Offset(0,36)
	  DTM2 A 2 Offset(0,32)
      DTM2 A 12
	  DTM2 A 3 A_Refire
      Goto Ready
    AltFire2:
	  DTM2 A 0
	  DTM2 A 1 A_TakeInventory("DemonTechMinigunType",1)
      DTM2 A 0 A_GunFlash
      DTM2 A 2 Offset(0,32)
	  DTM2 A 2 Offset(0,36)
	  DTM2 A 2 Offset(0,40)
	  DTM2 A 2 Offset(0,44)
	  DTM2 A 2 Offset(0,48)
	  DTM2 A 2 Offset(0,52)
	  DTM2 A 2 Offset(0,54)
	  DTM2 A 0 A_PlaySound("weapons/demontechsteam")
	  DTM2 A 0 A_PlayWeaponSound("veloghost/death")
	  DTM2 A 2 Offset(0,58)
	  DTM1 A 2 Offset(0,54)
	  DTM1 A 2 Offset(0,52)
	  DTM1 A 2 Offset(0,48)
	  DTM1 A 2 Offset(0,44)
	  DTM1 A 2 Offset(0,40)
	  DTM1 A 2 Offset(0,36)
	  DTM1 A 2 Offset(0,32)
      DTM1 A 12
	  DTM1 A 3 A_Refire
      Goto Ready
   Flash:
      TNT1 A 5 A_Light1
      TNT1 A 6 A_Light2
      TNT1 A 5 A_Light1
      TNT1 A 0 A_Light0
      Stop
   }
}

Actor DemonTechMinigunType : Inventory{Inventory.MaxAmount 1}

ACTOR DTMinigunSoulRage
{
Speed 45
Radius 6
Height 6
Damage 15
RenderStyle "Translucent"
Alpha 0.75
SeeSound "weapons/spirit1"
DeathSound "veloghost/death"
PROJECTILE
Species "Player"
DamageType "Player"
+MTHRUSPECIES
+FORCERADIUSDMG
+SEEKERMISSILE
States
{
Spawn:
    TNT1 A 0 A_SeekerMissile(20,50,SMF_LOOK|SMF_PRECISE)
	SPI2 A 2 Bright A_SpawnItemEx("GHellionSmoke")
	TNT1 A 0 A_SeekerMissile(20,50,SMF_LOOK|SMF_PRECISE)
	SPI2 B 2 Bright A_SpawnItemEx("GHellionSmoke")
	Loop
Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(16,48,0)
    TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAA 0 A_CustomMissile("Kaboom7", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
	SPI2 EFGHIJ 3 Bright 
	Stop
	}
}

Actor GreenExpMissileBullet
{
Projectile
+RANDOMIZE
+FORCEXYBILLBOARD
+DONTSPLASH
+MTHRUSPECIES
+FORCERADIUSDMG
Damage 4
Speed 144
RenderStyle ADD
Alpha 0.9
Scale 0.2
Species "Player"
DamageType "Player"
DeathSound "weapons/demontechex"
States
{
    Spawn:
	 TRA2 A 1 BRIGHT
	 Loop
   Death:
   	 TNT1 A 0
	 TNT1 A 0 A_SpawnItemEx("GreenParticleSpawnerDT", 0, 0, 0, 0, 0, 0, 0, 128)
	 TNT1 AAA 0 A_CustomMissile("Kaboom7", 0, 0, random(0,360), 2, random(0,360))
	 TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
	 TNT1 A 1 Bright A_Explode(8,32,0)
     Stop
}
}