ACTOR SFortPulseShotgun : DoomWeapon
{
  Weapon.Kickback 100
  Weapon.SelectionOrder 75
  Weapon.AmmoUse1 10
  Weapon.AmmoGive1 100
  Weapon.AmmoType1 "Cell"
  /*Weapon.AmmoUse2 0
  Weapon.AmmoGive2 0
  Weapon.AmmoType2 "ThunderboltBattery"*/
  Inventory.PickupMessage "You got the Pulse Shotgun!"
  Inventory.RestrictedTo "CyborgPlayer"
  Tag "Pulse Shotgun"
  Obituary "%o was shocked by %k's pulse shotgun."
  DamageType "Plasma"
  +WEAPON.NOAUTOAIM
  //+WEAPON.ALT_AMMO_OPTIONAL
  States
  {
  Spawn:
    PLSH X -1
	Stop
  Ready:
    PLSH A 1 A_WeaponReady(WRF_ALLOWRELOAD)
	Loop
  Deselect:
    TNT1 A 0 A_Lower
	Loop
  Select:
    PLSH A 1 A_Raise
	Loop
  Fire:
	TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad")
	TNT1 A 0 A_TakeInventory("PowerInvulnerable",1)
	TNT1 A 0 A_GunFlash
	TNT1 A 0 A_Playsound("weapons/pulshotf",CHAN_WEAPON)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",-5,0)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",-4,0)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",-3,0)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",-2,0)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",-1,0)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",1,1)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",2,0)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",3,0)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",4,0)
	TNT1 A 0 A_FireCustomMissile("SFortPulseBall",5,0)
	PLSH A 2 Bright Offset(0,37)
	PLSH A 2 Bright Offset(0,41)
	PLSH A 2 Bright Offset(0,45)
	PLSH A 19
	PLSH A 2 Offset(0,43)
	PLSH A 2 Offset(0,41)
	PLSH A 2 Offset(0,39)
	PLSH A 2 Offset(0,37)
	PLSH A 2 Offset(0,35)
	PLSH A 2 Offset(0,33)
	TNT1 A 0 A_Refire
	Goto Ready
  Flash:
    PLSH BC 3 Bright
	Goto LightDone
  Quad:
    TNT1 A 0 A_Playsound("misc/qdmg",CHAN_AUTO)
	Goto Fire+1
  AltFire:
    TNT1 A 0 A_JumpIfInventory("Cell",200,"YesGrenades")
    TNT1 A 0 ACS_NamedExecuteAlways("NoPlasmaGrenades",0)
    Goto Ready
  YesGrenades:
	TNT1 A 0 A_GiveInventory("PulseShotgunGrenadeItem",1)
	TNT1 A 0 A_SelectWeapon("SFortPlasmaGrenade")
	Goto Ready
  Reload:
	TNT1 A 0 A_Print("$INFO_CYBORG",0.0625)
    Goto Ready
  }
}

ACTOR SFortPulseBall : SFortPlasmaBall
{
	Damage (6)
	DamageType "Plasma"
	Speed 40
	Renderstyle Add
	Alpha 0.6
	Seesound "weapons/pulse"
	DeathSound "weapons/pulsex"
	Obituary "%o was shocked by %k's pulse shotgun."
	Decal Arachnotronscorch
	States
	{
	Spawn:
		APLS A 4 Bright
	SpawnLoop:
		APLS BBBBAAAA 1 Bright A_Weave(random(5,10),random(2,4),random(-4,4),random(-2,2))
		Loop
	Death:
		APBX A 0 A_Explode(15,32,0,1,32)
		APBX A 4 Bright
		APBX BCDE 4 Bright
		Stop
	}
}

ACTOR SFortThunderbolt : DoomWeapon
{
  Weapon.Kickback 100
  Weapon.SelectionOrder 50
  Weapon.AmmoUse 1
  Weapon.AmmoGive 100
  Weapon.AmmoType "Cell"
  Inventory.PickupMessage "You got the Thunderbolt!"
  Inventory.RestrictedTo "CyborgPlayer"
  Decal "PlasmaScorchLower"
  Tag "Thunderbolt"
  Obituary "%o was electrocuted by %k's thunderbolt."
  DamageType "Lightning"
  States
  {
  Spawn:
    THBL A -1
    Stop
  Ready:
	LGUN A 1 A_WeaponReady(WRF_ALLOWRELOAD)
	Goto Ready
  Deselect:
    TNT1 A 0 A_StopSound(CHAN_WEAPON)
    TNT1 A 0 A_Lower
    Loop
  Select:
    LGUN A 1 A_Raise
    Loop
  Fire:
	TNT1 A 0 A_TakeInventory("PowerInvulnerable",1)
    TNT1 A 0 A_GiveInventory("CyborgFiringItem",1)
	LGUN A 8 Offset(0,33) A_Playsound("weapons/tbolts",CHAN_WEAPON)
    TNT1 A 0 A_Playsound("weapons/tboltf",CHAN_6)
  Hold:
    TNT1 A 0 A_Playsound("weapons/tboltl",CHAN_WEAPON,1,1)
    TNT1 A 0 A_JumpIfNoAmmo("HoldEnd")
    TNT1 A 0 A_GunFlash
	TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad1")
    LGUN B 1 BRIGHT Offset(0,33) A_RailAttack(7, 0, 0, "None", "LightSteelBlue", RGF_NOPIERCING|RGF_FULLBRIGHT, 1.5, "SFortThunderPuff",0,0,640,2,2.0)
    LGUN B 1 BRIGHT Offset(0,33) A_RailAttack(7, 0, 1, "None", "LightSteelBlue", RGF_NOPIERCING|RGF_FULLBRIGHT, 1.5, "SFortThunderPuff",0,0,640,2,2.0)
    TNT1 A 0 A_JumpIfNoAmmo("HoldEnd")
	TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad2")
    LGUN C 1 BRIGHT Offset(0,33) A_RailAttack(7, 0, 0, "None", "LightSteelBlue", RGF_NOPIERCING|RGF_FULLBRIGHT, 1.5, "SFortThunderPuff",0,0,640,2,2.0)
    LGUN C 1 BRIGHT Offset(0,33) A_RailAttack(7, 0, 1, "None", "LightSteelBlue", RGF_NOPIERCING|RGF_FULLBRIGHT, 1.5, "SFortThunderPuff",0,0,640,2,2.0)
    TNT1 A 0 A_JumpIfNoAmmo("HoldEnd")
    TNT1 A 0 A_Refire("Hold")
  HoldEnd:
    TNT1 A 0 A_TakeInventory("CyborgFiringItem",1)
	LGUN A 20 Offset(0,48) A_Playsound("weapons/tboltbtr",CHAN_WEAPON)
    TNT1 A 0 A_Refire("Fire")
    Goto Ready
  Quad1:
    TNT1 A 0 A_Playsound("misc/qdmg2",CHAN_7)
	Goto Hold+4
  Quad2:
    TNT1 A 0 A_Playsound("misc/qdmg2",CHAN_7)
	Goto Hold+8
  AltFire:
    TNT1 A 0 A_JumpIfInventory("Cell",200,"YesGrenades")
    TNT1 A 0 ACS_NamedExecuteAlways("NoPlasmaGrenades",0)
	Goto Ready
  YesGrenades:
	TNT1 A 0 A_GiveInventory("ThunderboltGrenadeItem",1)
	TNT1 A 0 A_SelectWeapon("SFortPlasmaGrenade")
	Goto Ready
  Flash:
    TNT1 A 5 A_Light1
	Goto LightDone
  Reload:
	TNT1 A 0 A_Print("$INFO_CYBORG",0.0625)
    Goto Ready
  }
}



// Old Thunderbolt code

/*
ACTOR SFortThunderbolt : DoomWeapon
{
  Weapon.Kickback 100
  Weapon.SelectionOrder 50
  Weapon.AmmoUse1 1
  Weapon.AmmoGive1 100
  Weapon.AmmoType1 "ThunderboltBattery"
  Weapon.AmmoUse2 0
  Weapon.AmmoGive2 40
  Weapon.AmmoType2 "Cell"
  Inventory.PickupMessage "You got the Thunderbolt!"
  Inventory.RestrictedTo "CyborgPlayer"
  Decal "PlasmaScorchLower"
  Tag "Thunderbolt"
  Obituary "%o was electrocuted by %k's thunderbolt."
  DamageType "Lightning"
  //+WEAPON.AMMO_OPTIONAL
  //+WEAPON.ALT_AMMO_OPTIONAL
  States
  {
  Spawn:
    THBL A -1
    Stop
  Ready:
	TNT1 A 0 A_JumpIfInventory("Cell",1,"CellToBattery")
  ReadyLoop:
    TNT1 A 0 A_StopSound(CHAN_5)
	LGUN A 1 A_WeaponReady(WRF_ALLOWRELOAD)
	Goto Ready
  CellToBattery:
	TNT1 A 0 A_JumpIfInventory("ThunderBoltBattery",100,"ReadyLoop")
	TNT1 A 0 A_Playsound("weapons/tboltpwru",CHAN_5)
  CellToBatteryLoop:
	TNT1 A 0 A_JumpIfInventory("ThunderBoltBattery",100,"ReadyLoop")
    LGUN AAA 1 A_WeaponReady
    TNT1 A 0 A_TakeInventory("Cell",1)
    TNT1 A 0 A_GiveInventory("ThunderBoltBattery",1)
	TNT1 A 0 A_JumpIfInventory("Cell",1,"CellToBatteryLoop")
    Goto ReadyLoop
  Deselect:
    TNT1 A 0 A_StopSound(CHAN_WEAPON)
    TNT1 A 0 A_StopSound(CHAN_5)
    TNT1 A 0 A_Lower
    Loop
  Select:
    LGUN A 1 A_Raise
    Loop
  NoBattery:
	TNT1 A 0 A_Playsound("weapons/tboltpwrd",CHAN_5)
  Fire:
	TNT1 A 0 A_JumpIfInventory("ThunderBoltBattery",1,"FireSuccess")
	TNT1 A 0 ACS_NamedExecuteAlways("ThunderboltNoBattery",0)
	Goto HoldEnd
  FireSuccess:
	TNT1 A 0 A_StopSound(CHAN_5)
	TNT1 A 0 A_TakeInventory("PowerInvulnerable",1)
	LGUN A 8 Offset(0,33) A_Playsound("weapons/tbolts",CHAN_WEAPON)
    TNT1 A 0 A_Playsound("weapons/tboltf",CHAN_6)
  Hold:
    TNT1 A 0 A_Playsound("weapons/tboltl",CHAN_WEAPON,1,1)
    TNT1 A 0 A_JumpIfNoAmmo("NoBattery")
    TNT1 A 0 A_GunFlash
	TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad1")
    LGUN B 1 BRIGHT Offset(0,33) A_RailAttack(7, 0, 0, "None", "LightSteelBlue", RGF_NOPIERCING|RGF_FULLBRIGHT, 1.5, "SFortThunderPuff",0,0,640,2,2.0)
    LGUN B 1 BRIGHT Offset(0,33) A_RailAttack(7, 0, 1, "None", "LightSteelBlue", RGF_NOPIERCING|RGF_FULLBRIGHT, 1.5, "SFortThunderPuff",0,0,640,2,2.0)
    TNT1 A 0 A_JumpIfNoAmmo("NoBattery")
	TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad2")
    LGUN C 1 BRIGHT Offset(0,33) A_RailAttack(7, 0, 0, "None", "LightSteelBlue", RGF_NOPIERCING|RGF_FULLBRIGHT, 1.5, "SFortThunderPuff",0,0,640,2,2.0)
    LGUN C 1 BRIGHT Offset(0,33) A_RailAttack(7, 0, 1, "None", "LightSteelBlue", RGF_NOPIERCING|RGF_FULLBRIGHT, 1.5, "SFortThunderPuff",0,0,640,2,2.0)
    TNT1 A 0 A_JumpIfNoAmmo("NoBattery")
    TNT1 A 0 A_Refire("Hold")
  HoldEnd:
	LGUN A 20 Offset(0,48) A_Playsound("weapons/tboltbtr",CHAN_WEAPON)
    TNT1 A 0 A_Refire("Fire")
    Goto Ready
  Quad1:
    TNT1 A 0 A_Playsound("misc/qdmg2",CHAN_7)
	Goto Hold+4
  Quad2:
    TNT1 A 0 A_Playsound("misc/qdmg2",CHAN_7)
	Goto Hold+8
  AltFire:
    TNT1 A 0 A_JumpIfInventory("Cell",200,"YesGrenades")
    TNT1 A 0 ACS_NamedExecuteAlways("NoPlasmaGrenades",0)
    LGUN AAA 1 A_WeaponReady(WRF_NOSECONDARY)
	TNT1 A 0 A_JumpIfInventory("Cell",1,"AltFireCells")
	Goto Ready
  AltFireCells:
    TNT1 A 0 A_TakeInventory("Cell",1)
    TNT1 A 0 A_GiveInventory("ThunderBoltBattery",1)
    Goto CellToBatteryLoop
  YesGrenades:
	TNT1 A 0 A_GiveInventory("ThunderboltGrenadeItem",1)
	TNT1 A 0 A_SelectWeapon("SFortPlasmaGrenade")
	Goto Ready
  Flash:
    TNT1 A 5 A_Light1
	Goto LightDone
  Reload:
	TNT1 A 0 A_Print("$INFO_CYBORG",0.0625)
    Goto Ready
  }
}*/

Actor SFortThunderPuff : BulletPuff
{
	+PUFFONACTORS
	+ALWAYSPUFF
	Renderstyle Add
	VSpeed 0
	DamageType "Lightning"
	States
	{
	Spawn:
		RZAP ABCDEFGHI 1 bright
		Stop
	XDeath:
		RZAP A 1 bright A_playsound("weapons/tbolthit",CHAN_VOICE)
		Goto Spawn+1
	}
}

ACTOR SFortPlasmaGrenade : Weapon
{
	Weapon.SelectionOrder 900
	Weapon.AmmoType "Cell"
	Weapon.AmmoUse 200
	Weapon.AmmoGive 0
	Inventory.PickupSound "misc/w_pkup"
	Inventory.PickupMessage "You got a plasma grenade!"
	Inventory.RestrictedTo "CyborgPlayer"
	Tag "Plasma Grenade"
	+WEAPON.NOAUTOAIM
	+WEAPON.NOLMS
	+WEAPON.ALLOW_WITH_RESPAWN_INVUL
	States
	{
	Spawn:
	  PLGR A -1
	  Stop
	Ready:
	  TNT1 A 0 A_JumpIfInventory("FistGrenadeItem",1,"Fire")
	  TNT1 A 0 A_JumpIfInventory("PistolGrenadeItem",1,"Fire")
	  TNT1 A 0 A_JumpIfInventory("PlasmaRifleGrenadeItem",1,"Fire")
	  TNT1 A 0 A_JumpIfInventory("PulseShotgunGrenadeItem",1,"Fire")
	  TNT1 A 0 A_JumpIfInventory("ThunderboltGrenadeItem",1,"Fire")
	  TNT1 A 0 A_JumpIfNoAmmo("ReadyNoAmmo")
	  PGRG A 1 A_WeaponReady
	  Loop
	ReadyNoAmmo:
	  TNT1 A 0 A_JumpIfInventory("Cell",200,"Ready")
	  TNT1 A 1 A_WeaponReady
	  Loop
	Select:
	  TNT1 A 0 A_JumpIfNoAmmo("SelectNoAmmo")
	  TNT1 A 0 A_Raise
	  PGRG A 1 A_Raise
	  Loop
	SelectNoAmmo:
	  TNT1 A 1 A_Raise
	  Loop
	Deselect:
	  TNT1 A 0 A_Lower
	  Loop
	Fire:
	  PGRG A 2 A_TakeInventory("PowerInvulnerable",1)
	  PGRG A 2 A_TakeInventory("Cell",200)
	  PGRG A 2 Offset(0,38)
	  PGRG A 2 Offset(0,44) A_Playsound("weapons/plgrenadeprime",CHAN_WEAPON)
	  PGRG A 2 Offset(0,48)
	  PGRG A 2 Offset(0,38)
	  PGRG A 2 Offset(0,33)
	  PGRG A 1 Offset(10,80)
	  PGRG A 1 Offset(20,100)
	  PGRG A 1 Offset(30,120)
	  PGRG A 1 Offset(40,140)
	  PGRG A 1 Offset(50,160)
	  TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad")
	QuadDone:
	  TNT1 A 0 A_Playsound("grenade/throw",CHAN_AUTO)
	  HNDG A 2 Offset(1,33) A_FireCustomMissile("SFortPlasmaGrenadeProj",0,0,0,0,0,6)
	  HNDG BCD 2
	  TNT1 A 4
	  TNT1 A 0 A_JumpIfNoAmmo("AltBack")
	AltBack:
	  TNT1 A 0 A_JumpIfInventory("FistGrenadeItem",1,"SwitchFist")
	  TNT1 A 0 A_JumpIfInventory("PistolGrenadeItem",1,"SwitchPistol")
	  TNT1 A 0 A_JumpIfInventory("PulseShotgunGrenadeItem",1,"SwitchPulseShotgun")
	  TNT1 A 0 A_JumpIfInventory("PlasmaRifleGrenadeItem",1,"SwitchPlasmaGun")
	  TNT1 A 0 A_JumpIfInventory("ThunderboltGrenadeItem",1,"SwitchThunderbolt")
	  TNT1 A 0 A_JumpIfNoAmmo("ReadyNoAmmo")
	  PGRG A 1 Offset(0,80)
	  PGRG A 1 Offset(0,70)
	  PGRG A 1 Offset(0,60)
	  PGRG A 1 Offset(0,50)
	  PGRG A 1 Offset(0,40)
	  PGRG A 1 Offset(0,33)
	  Goto Ready
	Quad:
	  TNT1 A 0 A_Playsound("misc/qdmg",CHAN_AUTO)
	  Goto QuadDone
	SwitchFist:
	  TNT1 A 1 A_TakeInventory("FistGrenadeItem",1)
	  TNT1 A 0 A_SelectWeapon("CyborgFist")
	  Goto Ready
	SwitchPistol:
	  TNT1 A 1 A_TakeInventory("PistolGrenadeItem",1)
	  TNT1 A 0 A_SelectWeapon("CyborgPistol")
	  Goto Ready
	SwitchPlasmaGun:
	  TNT1 A 1 A_TakeInventory("PlasmaRifleGrenadeItem",1)
	  TNT1 A 0 A_SelectWeapon("CyborgPlasmaRifle")
	  Goto Ready
	SwitchThunderbolt:
	  TNT1 A 1 A_TakeInventory("ThunderboltGrenadeItem",1)
	  TNT1 A 0 A_SelectWeapon("SFortThunderbolt")
	  Goto Ready
	SwitchPulseShotgun:
	  TNT1 A 1 A_TakeInventory("PulseShotgunGrenadeItem",1)
	  TNT1 A 0 A_SelectWeapon("SFortPulseShotgun")
	  Goto Ready
	}
}

ACTOR SFortPlasmaGrenadeProj
{
	Radius 10
	Height 20
	Speed 35
	Damage (0)
	DamageType "PlasmaGrenade"
	BounceType "Grenade"
	BounceSound "weapons/plgrenadebnc"
	Renderstyle Translucent
	Alpha 1.0
	Projectile
	ProjectileKickBack 0
	Gravity 0.2
	BounceFactor 0.95
	WallBounceFactor 0.95
	Decal PlasmaScorch
	Obituary "%o was EMP'd by %k's plasma grenade."
	//SelfObituary "%o paralyzed %hself with %p own plasma grenade."
	+BOUNCEONACTORS
	+CANBOUNCEWATER
	//+GRENADETRAIL
	+DEHEXPLOSION
	+SKYEXPLODE
	-NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 0 A_Playsound("weapons/plgrenadetic",CHAN_AUTO)
	  PLGR ABCDEFGH 4 Bright A_ScaleVelocity(0.9)
	  TNT1 A 0 A_Playsound("weapons/plgrenadearm",CHAN_BODY)
	  PLGR ABCDEFGHABCDEFGHABCDEFGHAB 4 Bright A_ScaleVelocity(0.9)
	  PLGR C 1 Bright
	  PLGR C 1 Bright /*A_Die
	  Goto Death
	Death:*/
	  TNT1 A 0 A_PlaySound("weapons/plgrenadexpl",CHAN_BODY)
	  TNT1 A 0 A_PlaySound("weapons/rocklx",CHAN_VOICE)
	  TNT1 A 0 A_ScaleVelocity(0)
	  TNT1 A 0 A_SetScale(2.0)
	  TNT1 A 0 A_SetTranslucent(0.75)
	  TNT1 A 0 A_ChangeFlag(NOGRAVITY,1)
	  TNT1 A 0 A_ChangeFlag(NOCLIP,1)
	  TNT1 A 0 A_RadiusThrust(-5000,1280,RTF_NOIMPACTDAMAGE,1280)
	  TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  TNT1 A 0 A_RadiusThrust(-4500,1280,RTF_NOIMPACTDAMAGE,1152)
	  PLGX A 1 Bright A_Explode(64,1280,0,0,1280)
	  TNT1 A 0 A_RadiusThrust(-4000,1280,RTF_NOIMPACTDAMAGE,1024)
	  PLGX A 1 Bright A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  TNT1 A 0 A_RadiusThrust(-3500,1280,RTF_NOIMPACTDAMAGE,896)
	  PLGX A 1 Bright A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  TNT1 A 0 A_RadiusThrust(-3000,1280,RTF_NOIMPACTDAMAGE,768)
	  PLGX A 1 Bright A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  TNT1 A 0 A_RadiusThrust(-2500,1280,RTF_NOIMPACTDAMAGE,640)
	  PLGX A 1 Bright A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  TNT1 A 0 A_RadiusThrust(-2000,1280,RTF_NOIMPACTDAMAGE,512)
	  PLGX A 1 Bright A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  TNT1 A 0 A_RadiusThrust(-1500,1280,RTF_NOIMPACTDAMAGE,384)
	  PLGX B 1 Bright A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  TNT1 A 0 A_RadiusThrust(-1000,1280,RTF_NOIMPACTDAMAGE,256)
	  PLGX B 1 Bright A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  TNT1 A 0 A_RadiusThrust(-500,1280,RTF_NOIMPACTDAMAGE,128)
	  PLGX B 1 Bright A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  PLGX BBBCCCCCCDDDDDDEEEEEEFFFFFF 1 Bright A_CustomMissile("SFortPlasmaGrenadeZap",0,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,359))
	  Stop
	}
}
/*
ACTOR PlasmaXPLTest
{
	DamageType "PlasmaGrenade"
	Projectile
	+NOGRAVITY
	+NOCLIP
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 0 A_PlaySound("weapons/plgrenadexpl",CHAN_BODY)
	  TNT1 A 0 A_PlaySound("weapons/rocklx",CHAN_VOICE)
	  TNT1 A 0 A_SetScale(2.0)
	  TNT1 A 0 A_SetTranslucent(0.75)
	  PLGX A 6 Bright A_Explode(64,1280,1,0,1280)
*/

ACTOR SFortPlasmaGrenadeZap
{
	Projectile
	RenderStyle Add
	Alpha 0.75
	Radius 6
	Height 8
	Damage (12)
	DamageType "PlasmaGrenade"
	Speed 50
	//SeeSound "weapons/plgrenadexpl"
	Obituary "%o was EMP'd by %k's plasma grenade."
	SelfObituary "%o paralyzed %hself with %p own plasma grenade."
	States
	{
	Spawn:
	  PLDX ABCDEFGHIJ 3 Bright
	  TNT1 A 0 A_Die
	  Stop
	Death:
	  PLDX JIHG 3 Bright
	  Stop
	}
}

ACTOR CyborgPlasmaRifle : SFortPlasmaRifle
{
/*  Weapon.AmmoType2 "ThunderboltBattery"
  Weapon.AmmoUse2 0
  Weapon.AmmoGive2 0*/
  Inventory.RestrictedTo "CyborgPlayer"
  //+WEAPON.ALT_AMMO_OPTIONAL
  States
  {
  Deselect:
    PLSG A 0 A_Lower
    Loop
  Select:
    TNT1 A 0 A_StopSound(CHAN_WEAPON)
    PLSG A 1 A_Raise
    Loop
  Fire:
	TNT1 A 0 A_TakeInventory("PowerInvulnerable",1)
  Hold:
	TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad")
	TNT1 A 0 A_FirePlasma
	TNT1 A 0 A_GiveInventory("ThunderboltBattery",1)
    PLSG A 3 A_GunFlash("Flash")
    PLSG B 20 A_ReFire("Hold2")
    Goto Ready
  Hold2:
	TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad2")
	TNT1 A 0 A_FirePlasma
	TNT1 A 0 A_GiveInventory("ThunderboltBattery",1)
    PLSG A 3 A_GunFlash("Flash2")
	PLSG B 20 A_ReFire("Hold")
    Goto Ready
  AltFire:
    TNT1 A 0 A_JumpIfInventory("Cell",200,"YesGrenades")
    TNT1 A 0 ACS_NamedExecuteAlways("NoPlasmaGrenades",0)
    Goto Ready
  YesGrenades:
	TNT1 A 0 A_GiveInventory("PlasmaRifleGrenadeItem",1)
	TNT1 A 0 A_SelectWeapon("SFortPlasmaGrenade")
	Goto Ready
  Reload:
	TNT1 A 0 A_Print("$INFO_CYBORG",0.0625)
    Goto Ready
  }
}

ACTOR CyborgFist : SFortFist
{
	Weapon.AmmoType2 "Cell"
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	+WEAPON.ALT_AMMO_OPTIONAL
	Inventory.RestrictedTo "CyborgPlayer"
	States
	{
	AltFire:
      TNT1 A 0 A_JumpIfInventory("Cell",200,"YesGrenades")
      TNT1 A 0 ACS_NamedExecuteAlways("NoPlasmaGrenades",0)
	  Goto Ready
	YesGrenades:
	  TNT1 A 0 A_GiveInventory("FistGrenadeItem",1)
	  TNT1 A 0 A_SelectWeapon("SFortPlasmaGrenade")
	  Goto Ready
	Reload:
	  TNT1 A 0 A_Print("$INFO_CYBORG",0.0625)
      Goto Ready
	}
}

ACTOR CyborgPistol : SFortPistol
{
	Inventory.RestrictedTo "CyborgPlayer"
	States
	{
	AltFire:
      TNT1 A 0 A_JumpIfInventory("Cell",200,"YesGrenades")
      TNT1 A 0 ACS_NamedExecuteAlways("NoPlasmaGrenades",0)
	  Goto Ready
	YesGrenades:
	  TNT1 A 0 A_GiveInventory("PistolGrenadeItem",1)
	  TNT1 A 0 A_SelectWeapon("SFortPlasmaGrenade")
	  Goto Ready
	Reload:
	  TNT1 A 0 A_Print("$INFO_CYBORG",0.0625)//TNT1 A 0 ACS_NamedExecuteAlways("ClassInfo_Enter",0)
	  Goto Ready
	}
}

ACTOR CyborgToken : Inventory {}
ACTOR PulseShotgunGrenadeItem : Inventory {}
ACTOR PlasmaRifleGrenadeItem : Inventory {}
ACTOR ThunderboltGrenadeItem : Inventory {}
ACTOR FistGrenadeItem : Inventory {}
ACTOR PistolGrenadeItem : Inventory {}

ACTOR CyborgFiringItem : Inventory {}

ACTOR CyborgHealthRegen : PowerRegeneration
{
	Powerup.Strength 10
	Powerup.Duration 0x7FFFFFFF
}