//==================================
// UraniumCore
//==================================

ACTOR UraniumCore : CustomInventory 
{
Renderstyle Add
Inventory.Amount 1
Inventory.MaxAmount 1
Inventory.PickupSound "UraniumCore/Pickup"
Inventory.PickupMessage "Uranium Core. Keep This Area Clear At All Times!"
Tag "Uranium Core - Can hit everywhere / Automatically exploded by cracking self."
Inventory.Icon "URCOB0"
+INVENTORY.BIGPOWERUP
+INVENTORY.UNDROPPABLE
+INVENTORY.INVBAR
+FLOATBOB
+COUNTITEM
+FLOORCLIP
+NOTIMEFREEZE
States
	{
Spawn:
	TNT1 A 0 A_PlaySound("UraniumCore/Idle",6,5.0,True)
	TNT1 A 0 A_CustomMissile ("UraniumSparkleSpawner", 0, 0, random(0,-360), 2, random(0,360))
    URCO AAAAAAAA 1 Bright A_SpawnItem("UraniumSphereFlare",0,38)
	TNT1 A 0 A_CustomMissile ("UHellionSmokeSpawner", -20, 0, random(0,-360), 2, random(0,360)) 
	URCO AAAAAAAAAAAA 1 Bright A_SpawnItem("UraniumSphereFlare",0,38)
    Loop
 Use:
	TNT1 A 1 A_SpawnItemEx("UraniumCoreActive",0,0,16,8,0,4,0)
	Stop
      }
}

Actor UraniumCoreActive
{
  Health 1000
  Radius 16
  Height 8
  Mass 0x7fffffff
  Renderstyle Add
  -SOLID
  +SHOOTABLE
  +NEVERRESPAWN
  +DONTGIB
  +CANBLAST
  +NOICEDEATH
  +NOBLOOD
  +PUSHABLE
  +MTHRUSPECIES
  DeathSound "UraniumCore/Death"
  PainSound "UraniumCore/Crack"
  Tag "\c[q6]Uranium Core \cg(Time Bomb)\c-"
  States
  {
  Spawn:
	TNT1 A 0 A_PlaySound("UraniumCore/Idle3",CHAN_ITEM,1.0,True)
	TNT1 A 0 A_CustomMissile ("UraniumSparkleSpawner", -20, 0, random(0,-360), 2, random(0,360)) 
    URCO AAAAA 1 Bright A_SpawnItem("UraniumSphereFlare",0,38)
	TNT1 A 0 A_Jump(20,"CrackSound")
	TNT1 A 0 A_CustomMissile ("UraniumSparkleSpawner", 0, 0, random(0,-360), 2, random(0,360))
	URCO AAAAA 1 Bright A_SpawnItem("UraniumSphereFlare",0,38)
	TNT1 A 0 A_Jump(20,"CrackSound")
	TNT1 A 0 A_CustomMissile ("UraniumSparkleSpawner", -20, 0, random(0,-360), 2, random(0,360)) 
	URCO AAAAA 1 Bright A_SpawnItem("UraniumSphereFlare",0,38)
	TNT1 A 0 A_Jump(20,"CrackSound")
	TNT1 A 0 A_CustomMissile ("UraniumSparkleSpawner", 0, 0, random(0,-360), 2, random(0,360))
	URCO AAAAA 1 Bright A_SpawnItem("UraniumSphereFlare",0,38)
	TNT1 A 0 A_Jump(20,"CrackSound")
	TNT1 A 0 A_CustomMissile ("UraniumSparkleSpawner", -20, 0, random(0,-360), 2, random(0,360))
	TNT1 A 0 A_Jump(20,"CrackSound")
    Loop
  CrackSound:
	TNT1 A 0 DamageThing(random(60,30))
	TNT1 A 0 A_PlaySound("UraniumCore/Crack",7)
	TNT1 A 1 A_Pain
	TNT1 AAAAA 0 A_CustomMissile ("UHellionSmokeSpawner", -20, 0, random(0,-360), 2, random(0,360))
	Goto Spawn
  Death: 
	TNT1 A 0
    TNT1 A 0 A_Scream
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
    TNT1 AAA 0 A_CustomMissile("UraniumCoreNuke", 0, 0, random(0,360), 2, random(0,360))
    TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
	TNT1 A 0 A_Explode
	TNT1 A 1 A_SpawnItemEx("NuclearBarrelExplosion",0,0,32)
    Stop
  }
}

ACTOR UraniumCoreNuke
{
Radius 455
Height 350
Speed 85
Damage 3500
Damagetype "Marine"
PROJECTILE
+FULLVOLDEATH
+FORCERADIUSDMG
+MTHRUSPECIES
+RIPPER
DeathSound "weapons/nuclearmissileexplode"
States
{
   Spawn:
      TNT1 A 0 A_CustomMissile("MissileTrail",Random(4,6),Random(-2,2))
      TNT1 A 0 A_CustomMissile("ProjectileTrailParticleOrange",Random(4,6),Random(-2,2))
      NKS1 A 2 Bright A_CustomMissile("NuclearMissileTrail",0,0,0)
      Loop
   Death:
      TNT1 A 0
	  TNT1 A 0 A_StopSound(5)
	  TNT1 A 0 A_Explode(1024,256)
	  TNT1 A 0 A_Explode(64,1024)
	  TNT1 A 0 A_Explode(256,1024,0)
	  TNT1 A 0 A_Explode(128,2048,0)
	  TNT1 A 0 A_PlaySoundEx("MiniNuke/ex", "Voice", 0, 2)
	  TNT1 A 0 A_SpawnItemEx("miniNukeFlare", 0, 0, 0,0,0,0,0,128,0)
      TNT1 A 25 A_SpawnItemEx("miniNukeFloor", 0, 0, 0,0,0,0,0,128,0)
      TNT1 AA 0 A_SpawnItemEx("miniNukeSmokeFloor", 0, 0, 0,0,0,0,0,128,0)
      TNT1 A 0 A_SpawnItemEx("miniNukePillar", 0, 0, 0, 0, 0, 6, 0, 128, 0)
      TNT1 A 105 A_SpawnItemEx("miniNukeSmokePillar", 0, 0, 0, 0, 0, 6, 0, 128, 0)
      TNT1 A 0 A_SpawnItemEx("miniNukeMushroom", 0, 0, 500,0,0,0,0,128,0)
      TNT1 AA 0 A_SpawnItemEx("miniNukeSmokeMushroom", 0, 0, 500,0,0,0,0,128,0)
      Stop
   }
}

Actor UHellionSmokeSpawner : RandomSpawner
{
DropItem "LHellionSmokeSpawner", 256, 10
DropItem "GHellionSmokeSpawner", 256, 10
}

ACTOR UraniumSparkleSpawner : WhiteSparkleSpawner
{
States
{
Spawn:
		TNT1 A 0
		TNT1 AA 2 A_SpawnItemEx("UraniumStar", random(-15, 15), random(-15, 15), random(28, 44), 0, 0, 0, 0, 128) 
        Stop
        }
}

ACTOR UraniumStar : RandomSpawner
{
DropItem "YellowStar", 256, 10
DropItem "GreenStar", 256, 10
}

ACTOR UraniumSphereFlare : BlueSphereFlare
{
States
{
Spawn:
	TNT1 A 0
	LENU A 1 Bright
	Stop
	}
}
