ACTOR HackroidBFG9500 : Weapon
{
Scale 0.85
Weapon.PreferredSkin "BFG9500-Marine"
Inventory.PickupSound "weapons/bfgpickup"
Inventory.PickupMessage "Hackroid BFG9500"
Obituary "%o was annihilated by %k's Hackroid BFG9500."
Weapon.AmmoUse 40
Weapon.AmmoGive 40
Weapon.AmmoType "HackoridCell"
Weapon.AmmoType2 "HackoridCell"
+INVENTORY.UNDROPPABLE
States
{
Ready:
	HFGG A 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")
	HFGG A 1 A_Lower
    Goto Deselect+4
Select:   
    TNT1 A 0 A_PlayWeaponSound("weapons/bfgpickup")
    HFGG A 1 A_Raise
    Goto Select+1
Fire:
    HFGG A 1 A_GunFlash
    HFGG A 2 Bright A_Playsound("R_BFG2",0,.5)
    HFGC ABCDE 2 Bright A_Quake(2,32,0,1000,"")
    HFGC FGHI 2 Bright A_Quake(2,32,0,1000,"")
    HFGC FGHIF 2 Bright A_Quake(2,32,0,1000,"")
	HFGC GH 1 Bright A_Quake(8,6,0,1000,"")
	HHFF A 1 A_PlaySound("R_BFG6",0)
	HHFF A 10 Bright A_FireCustomMissile("PlayerHackroidBFG9500Ball",0,1,18)
	HHFF A 1 A_PlaySound("R_BFG4",0,.5)
	HHFF B 3 Bright
	HFGR ABCD 1
	HFGR EFG 2
    Goto Ready	
Flash:
    TNT1 A 2 Bright A_Light1
    TNT1 A 2 Bright A_Light2
	TNT1 A 2 Bright A_Light1
    Goto LightDone
Spawn:
    HF95 A -1
	Stop
    }
}

ACTOR PlayerHackroidBFG9500Ball : HackroidBFG9500Ball
{
  Species "Player"
	Radius 13
	Height 8
	Speed 30
	Damage 250
	Projectile
	+DONTHARMSPECIES
	+FORCERADIUSDMG
	+NOTIMEFREEZE
	+FOILINVUL
	DamageType "Hackroid"
States
	{
	Spawn:
		TNT1 A 0 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		GFS1 A 1 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		TNT1 A 0 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		GFS1 A 1 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		TNT1 A 0 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		GFS1 B 1 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		TNT1 A 0 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		GFS1 B 1 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		TNT1 A 0 A_spawnitemex("DTBFGLightningRed")
		TNT1 A 0 A_explode(175,100)
		Loop
	Death:
		TNT1 A 0 A_Quake(14,12,0,8000,"")
		TNT1 A 0 A_Setscale(2.0,2.0)
		GFE1 A 5 Bright A_explode(150,250)
		TNT1 A 0 A_Spawnitemex("HackroidBFG9500Ball2")
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 Bright A_spawnitemex("HackroidBFG9500BallTrail2",0,0,0,random(-12,12),random(-12,12),random(-12,12))
		GFE1 B 5 Bright A_explode(200,300)
		GFE1 C 5 Bright A_explode(250,525)
		TNT1 AA 0 A_SpawnItemEx("LegendaryCannonProj",Random(-8,8),Random(-8,8),Random(-8,8),Random(45,70),0,Random(-3,3),Random(-14,14),SXF_NOCHECKPOSITION)
		TNT1 AA 0 A_SpawnItemEx("ELegendaryCannonProjBomb",Random(-8,8),Random(-8,8),Random(-8,8),Random(45,70),0,Random(-3,3),Random(-14,14),SXF_NOCHECKPOSITION)
		TNT1 AA 0 A_SpawnItemEx("NemesisCannonProjPlayer",Random(-8,8),Random(-8,8),Random(-8,8),Random(45,70),0,Random(-3,3),Random(-14,14),SXF_NOCHECKPOSITION)
		GFE1 DEF 5 Bright A_spawnitemex("DTBFGLightningRed")
		TNT1 AAA 5 A_spawnitemex("DTBFGLightningRed")
		TNT1 AAA 10  A_spawnitemex("DTBFGLightningRed")
		Stop
	}
}

ACTOR HackoridCell : Ammo
{
Inventory.Amount 20
Inventory.MaxAmount 300
Ammo.BackpackAmount 20
Ammo.BackpackMaxAmount 600
Inventory.PickupSound "items/cell"
Inventory.PickupMessage "Picked up an Hackroid Cell"
Inventory.Icon "HKLLA0"
Scale 0.8
States
{
Spawn:
HKL2 ABCDDDCB 3
Loop
}
}

ACTOR HackoridCellPack : HackoridCell
{
Scale 0.6
Inventory.Amount 100
Inventory.PickupSound "items/cellpack"
Inventory.PickupMessage "Picked up an Hackroid CellPack"
States
{
Spawn:
HK2P ABCDEFGGGFEDCB 3
Loop
}
}