ACTOR "Deathwind" : Weapon 18654
{
Scale 0.95
Weapon.SlotNumber 6
Weapon.SelectionOrder 7981
Weapon.AmmoUse 0 //20
Weapon.KickBack 60
Weapon.AmmoGive 60
Weapon.AmmoType "DemonAmmo"   
Weapon.UpSound "weapons/BallistaUp"
Inventory.Pickupmessage "You got the Deathwind! Cosmic energy flows through your weapon."
Weapon.PreferredSkin "DTBallista-Marine"
Obituary "%o was pierced by %k's Deathwind. WTF? Why are you reading this?" 
+WEAPON.NOAUTOAIM
+WEAPON.AMMO_OPTIONAL
+WEAPON.NOALERT
-INVENTORY.UNDROPPABLE
States 
{
  Select:   
	TNT1 A 0 A_JumpIfInventory("DemonAmmo",20,"Select2")
	TNT1 A 0 A_Raise
	NBBG E 1 A_Raise
	Goto Select
  Select2:
	TNT1 A 0 A_Raise
	NBBG A 1 A_Raise
	TNT1 A 0 A_Raise
	NBBG B 1 A_Raise
	TNT1 A 0 A_Raise
	NBBG C 1 A_Raise
	TNT1 A 0 A_Raise
	NBBG D 1 A_Raise
	Loop
  Ready:
	TNT1 A 0 A_JumpIfInventory("DemonAmmo",20,1)
	Goto Ready2
	TNT1 A 0 A_PlaySound("weapons/demontechidle")
	NBBG ABCDCB 4 A_WeaponReady
	Loop
  Ready2:
    TNT1 A 0 A_JumpIfInventory("DemonAmmo",20,"Ready")
	NBBG E 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_PlayWeaponSound("weapons/weapondown")
	TNT1 A 0 A_JumpIfInventory("DemonAmmo",20,"Deselect2")
	TNT1 A 0 A_Lower
	NBBG E 1 A_Lower
	Goto Deselect+5
  Deselect2:
	TNT1 A 0 A_Lower
	NBBG A 1 A_Lower
	TNT1 A 0 A_Lower
	NBBG B 1 A_Lower
	TNT1 A 0 A_Lower
	NBBG C 1 A_Lower
	TNT1 A 0 A_Lower
	NBBG D 1 A_Lower
	Loop
  Fire:
	TNT1 A 0 A_JumpIfInventory("DemonAmmo",20,1)
	Goto Empty
	TNT1 A 0 A_PlaySound("deathwind/fire")
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 Radius_Quake(1,2,0,1,0)
	TNT1 A 0 A_GunFlash
	TNT1 A 0 A_PlayWeaponSound("weapons/demontechfire")
	TNT1 A 0 A_FireCustomMissile("NebulaProjectile",Random(-20,-15)*0.5,0,0,8,0,Random(-5,5)*0.1)
	TNT1 A 0 A_FireCustomMissile("NebulaProjectile",Random(-10,-5)*0.5,0,0,8,0,Random(-5,5)*0.1) 
	TNT1 A 0 A_FireCustomMissile("NebulaProjectile",Random(-2,2)*0.1,0,0,8,0,Random(-5,5)*0.1) 
	TNT1 A 0 A_FireCustomMissile("NebulaProjectile",Random(5,10)*0.5,0,0,8,0,Random(-5,5)*0.1) 
	TNT1 A 0 A_FireCustomMissile("NebulaProjectile",Random(15,20)*0.5,1,0,8,0,Random(-5,5)*0.1)
	TNT1 A 0 A_TakeInventory("DemonAmmo",20)
	NBBF A 2 Bright
	TNT1 A 0 A_Light0
	NBBF BCDEFGJK 1
	NBBG E 2
	NBBG FG 1
	NBBG A 1 A_WeaponReady
	Goto Ready+2
  Empty:
	TNT1 A 0 A_PlayWeaponSound("weapons/click")
	NBBF EFGJK 2
	Goto Ready
  Spawn:
	NBBI A -1
	Stop    
	}
}

ACTOR NebulaProjectile
{
   Height 4
   Radius 4
   Speed 50
   Damage 100
   Scale 0.06
   PROJECTILE
   +THRUSPECIES
   +FORCERADIUSDMG
   //+FOILINVUL
   Species "Player"
   DeathSound "weapons/demontechex"
   Decal NBScorch
   States
   {
   Spawn:
	  TNT1 A 0
	  TNT1 A 0 A_Jump(128,"Spawn2")
   Normal:
   	  TNT1 A 0 A_Jump(128,"NormalFX")
      NBPR A 1 Bright A_SpawnItemEx("NebulaTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Loop
   NormalFX:
	  TNT1 A 0 A_SpawnItemEx("NebulaLightningPurple",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      NBPR A 1 Bright A_SpawnItemEx("NebulaTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
	  TNT1 A 0 A_SpawnItemEx("NebulaLightningPurple",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      NBPR A 1 Bright A_SpawnItemEx("NebulaTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Goto Normal
   Spawn2:
	  TNT1 A 0 A_Jump(128,"Spawn2FX")
      NBPR A 1 Bright A_SpawnItemEx("NebulaTrail2",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Loop
   Spawn2FX:
	  TNT1 A 0 A_SpawnItemEx("NebulaLightningPurple",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      NBPR A 1 Bright A_SpawnItemEx("NebulaTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
	  TNT1 A 0 A_SpawnItemEx("NebulaLightningPurple",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,0,128)
      NBPR A 1 Bright A_SpawnItemEx("NebulaTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),128)
      Goto Spawn2
   Death:
   	  TNT1 A 0
	  TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 A 0 A_SpawnItemEx("NebulaEx",0,0,0,0,0,0,0,128,0)
	  TNT1 AAA 0 A_CustomMissile("Kaboom8", 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(20,64)
      Stop
	  }
}

ACTOR NebulaLightningPurple : DevastatorLightningPurple { Scale 0.03 }

ACTOR NebulaEx
{
RenderStyle Add
Alpha 0.75
Scale 0.5
PROJECTILE
+NOCLIP
+CLIENTSIDEONLY
+NOINTERACTION
States
{
  Spawn:
	FRPN ABCDEFGH 2 Bright A_FadeOut(0.1)
	Stop
	}
}

ACTOR NebulaTrail : BFG9500Trail
{
Scale 0.04
Alpha 0.65
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 2 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    NBRI AAAAAABBBBBBBB 1 Bright A_FadeOut(0.05)
    Stop
    }
}

ACTOR NebulaTrail2 : NebulaTrail
{
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 2 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    NBRI AAAAAACCCCCCCC 1 Bright A_FadeOut(0.05)
    Stop
    }
}
