ACTOR TK3PersonalSingularityGenerator : Weapon
{
  Weapon.Kickback 100
  scale 0.5
  Inventory.PickupMessage "Personal Singularity Generator"
  	inventory.Icon "TKA5M0"
	       	Weapon.AmmoUse 1
	Weapon.AmmoGive 3
	Weapon.AmmoType "TK3PSGAmmo"
	Weapon.SelectionOrder 100
  Obituary  "%k used a pistol to shoot down %o."
  	Inventory.PickupSound "Turok3/Items/PickupWeapon"
	tag "Personal Singularity Generator"
	+WEAPON.EXPLOSIVE
  States
  {
  Spawn:
    TKA3 N -1
    Loop
  Ready:
	TNT1 A 0 A_PlaySound ("Turok3/Weapons/PSGUp","Weapon")
    TK54 ABCDEFGHIJKLMNOP 2 
    TK54 PQRSTUVXYZ 2 A_WeaponReady
	MK28 ABCDEFGHIJKLMNOPQRSTUVXYZ 2 A_WeaponReady
	MK29 ABCDEFGHIJKLMNOPQRSTUVXYZ 2 A_WeaponReady
	MK30 ABCDEFGHIJKLMNOPQRS 2 A_WeaponReady
    Goto Ready+16
  Deselect:
    MK32 KLMNOPQR 2
    TK33 Y 0 A_Lower
    wait
  Select: 
    TK32 A 0 A_Raise 
    Loop  
  Fire: 
 	TNT1 A 0 A_PlaySound ("Turok3/Weapons/PSGAttack","Weapon")
	TNT1 A 0 A_SetBlend ("9A4EFF",1.4,35)
	TNT1 A 0 A_FireCustomMissile("TK3PSGShot")
    MK30 TUVXYZ 2
	MK31 ABCDEFGHIJKLMNOPQRSTUVXYZ 2
	MK32 ABCDEFGHI 2
	MK32 J 50
    Goto Ready
  }
}

  ACTOR TK3PSGShot
{   
  Speed 7
  Damage 999
  DamageType "PlasmaDisint"
  Scale 0.4
        radius 8
  height 8
  Projectile
	  obituary "%o got torn down by %k's Personal Singularity Generator."
	+DEHEXPLOSION
  +FORCEXYBILLBOARD
  +EXTREMEDEATH
  +RANDOMIZE
  +BOSS
  +NODAMAGE //Don't allow A_Kill functions to destroy this projectile.
  +RIPPER
  States
  {
  Spawn:
  Spawn:
    TF53 G 0
    TF53 FGHIJKLM 2
    Loop
DEATH:
NULL A 0
TNT1 A 0 A_PlaySound ("Turok3/Weapons/PSGBoom")
NULL A 0 A_ALERTMONSTERS
NULL A 0 A_SPAWNITEMEX("TK3PSGBoom",0,0,0,random(0,0),random(0,0),0)
STOP
}}


ACTOR TK3PSGBoom
{
DamageType Plasma
SCALE 1.5
	  obituary "%o was overkilled by %k's Personal Singularity Generator."
+FORCEXYBILLBOARD
+EXTREMEDEATH
+LOWGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+BOSS
+CANNOTPUSH
+NODAMAGETHRUST
+BRIGHT

STATES
{
SPAWN:
NULL A 0
NULL A 0 A_QUAKE(2,100,1,250,"")
NULL A 0 A_EXPLODE(999,200)
TF53 ABCDE 4
STOP
}}