ACTOR "Demon Tech BFG10K " : "Demon Tech BFG10K" replaces "Demon Tech BFG10K"
{
  Tag "Demon Tech BFG10k"
  Weapon.SisterWeapon "PoweredDemonTechBFG10k"  
}

ACTOR PoweredDemonTechBFG10k : "Demon Tech BFG10K "
{
  Weapon.SisterWeapon "Demon Tech BFG10K "
  +WEAPON.POWERED_UP
  Weapon.AmmoUse 150
  States
  {
  Select:   
	TNT1 A 0 A_JumpIfNoAmmo("Select2")
    TNT1 A 0 A_PlayWeaponSound("weapons/dtech10kpickup")
    SBFI A 1 A_Raise
    Goto Select+2
  Select2:   
    TNT1 A 0 A_PlayWeaponSound("weapons/dtech10kpickup")
    SBFE A 1 A_Raise
    Goto Select2+1	
  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_JumpIfNoAmmo("Deselect2")
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
	SBFI A 1 A_Lower
    Goto Deselect+5
  Deselect2:
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
	SBFE A 1 A_Lower
    Goto Deselect2+1	
  Ready:
    TNT1 A 0 A_JumpIfNoAmmo("Ready2")
	TNT1 A 0 A_PlayWeaponSound("weapons/dtech10kidle")
    SBFI AAAABBBBCCCCBBBB 1 A_WeaponReady
    Loop
  Ready2:
    TNT1 A 0 A_JumpIfInventory("DemonAmmo",150,"Ready")
	SBFE A 1 A_WeaponReady
	Loop
  Fire:
	TNT1 A 0 A_Light1
    TNT1 A 0 A_PlayWeaponSound("Cardinal/9k")
	SBFG C 2 Bright Radius_Quake(1,2,0,1,0)
    SBFG DE 2 Bright Radius_Quake(2,2,0,1,0)
    SBFG FGH 2 Bright Radius_Quake(4,2,0,1,0)
	SBFG IJK 1 Bright Radius_Quake(6,3,0,1,0)
	SBFG L 15 Bright Radius_Quake(8,3,0,1,0)
	TNT1 A 0 A_Light2
    TNT1 A 0 A_GunFlash	
	SBFG M 2 Bright Radius_Quake(10,4,0,1,0)
	TNT1 A 0 A_Recoil(10)	
	TNT1 A 0 Radius_Quake(12,6,0,1,0)
	SBFG N 2 Bright A_FireCustomMissile("PoweredDTBFG10KBall",0,1,0,0)	
	SBFG OP 1 Bright
	TNT1 A 0 A_Light0
	SBFG QRST 2 Bright
	TNT1 A 0 Radius_Quake(3,10,0,1,0)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam")
	SBFE AAAAAAAAAAAA 1 A_FireCustomMissile("DTech10KSteam",-58+Random(-4,4),0,0,0)
	SBFE A 20
	TNT1 A 0 A_JumpIfInventory("DemonAmmo",150,1)
	Goto Ready2
	SBFE A 60 A_PlayWeaponSound("weapons/dtech10kcharge")
	SBFE A 10 A_PlayWeaponSound("weapons/plasmacellin")
	Goto Ready
	}
}

ACTOR PoweredDTBFG10KBall : DTBFG10KBall
{
Speed 10
+STRIFEDAMAGE
Decal "Scorch"
States
{
Spawn:
    TNT1 A 0
	TNT1 A 0 A_Jump(128,"DTBFGSFX")
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_PlaySoundEx("weapons/dtech10kball","Voice",1)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 A 1 Bright A_SpawnItemEx("PoweredPlayerDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 B 1 Bright A_SpawnItemEx("PoweredPlayerDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 C 1 Bright A_SpawnItemEx("PoweredPlayerDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 D 1 Bright A_SpawnItemEx("PoweredPlayerDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
    Loop
DTBFGSFX:
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_PlaySoundEx("weapons/dtech10kball","Voice",1)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRed",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 A 1 Bright A_SpawnItemEx("PoweredPlayerDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRed2",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 B 1 Bright A_SpawnItemEx("PoweredPlayerDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRed",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 C 1 Bright A_SpawnItemEx("PoweredPlayerDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRed2",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 D 1 Bright A_SpawnItemEx("PoweredPlayerDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
    Goto Spawn
Death:
    TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 Radius_Quake(5,60,0,10,0)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,10,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,20,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,30,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,40,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,50,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,60,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,70,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,80,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,90,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,100,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,110,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,120,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,130,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,140,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,150,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,160,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,170,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,180,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,190,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,200,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,210,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,220,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,230,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,240,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,250,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,260,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,270,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,280,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,290,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,300,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,310,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,320,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,330,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,340,CMF_TRACKOWNER)
	TNT1 A 0 Bright A_CustomMissile("PoweredDTBFG10KTracer",0,0,350,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRedSpawner", 0, 0, 15, 0, 0, 0, 0, 128)	
	CRS1 ABCD 6 Bright A_SpawnItemEx("DTech10KShockwave", 0, 0, 15, 0, 0, 0, 0, 128)
	TNT1 A 0 A_Explode(480,240)
	TNT1 A 0 A_StopSoundEx("Voice")
	TNT1 A 0 Radius_Quake(15,20,0,20,0)
	TNT1 A 0 A_PlaySound("weapons/dtech10kexplode")
	TNT1 A 0 A_SpawnItemEx("DTech10KShockwave2", 0, 0, 15, 0, 0, 0, 0, 128)
    TNT1 A 20 Bright A_SpawnItem("RedDTBFGEx",0,-10)
    Stop    
    }
}

ACTOR PoweredPlayerDTBFGProjectileAttack : PlayerDTBFGProjectileAttack
{
MissileType "PoweredPlayerDTBFGRailgunSlug"
States
{
Spawn:
    TNT1 A 0
	TNT1 AAAAA 1 A_Look
	Stop
See:
    TNT1 A 0
	TNT1 A 1 A_JumpIfCloser(1250,"Attack")
	Stop
Attack:
    TNT1 A 0
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_MissileAttack
	TNT1 A 1 A_CustomRailgun(-1,0,NONE,"Red",1,1,2)
	Goto Death	
Death:
	TNT1 A 1
	Stop
	}
}

ACTOR PoweredPlayerDTBFGRailgunSlug : PlayerDTBFGRailgunSlug
{
   DamageType "Player2hu"
   Damage 4
}

ACTOR PoweredDTBFG10KTracer : DTBFG10KTracer
{
   DamageType "Player2hu"
   Damage 20
   States
   {
   Spawn:
      TNT1 A 15
	  Stop
   Death:
      TNT1 A 1
      Stop
   XDeath:
	  TNT1 A 0
      TNT1 A 1 A_SpawnItem("CustomSpray2")
      Stop
	  }
}