Actor HackroidRifleGiver : CustomInventory
{
  Scale 0.9
  Inventory.Amount 1
  Inventory.MaxAmount 0
  Inventory.InterHubAmount 0
Inventory.PickupSound "1337DTR/up"
Inventory.PickupMessage "You got the Hackroid Rifle! A glitch?"
Obituary "%o gets confused, when was suprised by %k's hacked projectile from a Rifle what the fuck am i saying its like there ever will be a deathmatch for cf"
Tag "Hackroid Rifle"
  States
  {
  Spawn:
	HPR2 A 0 NoDelay ACS_NamedExecuteWithResult("WeaponListCheck",6,1)
  SpawnLoop:
	HPR2 A -1
	Loop
  Pickup:
	TNT1 A 0 A_JumpIfInventory("HackroidRifle",1,"JustAmmo")
  All:
	TNT1 A 0 A_GiveInventory("HackroidRifle",1)
	TNT1 A 0 A_JumpIfInventory("HackroidRifleGiverCheck",1,"HoldAndDestroy")
	TNT1 A 0 A_GiveInventory("HackroidRifleGiverCheck",1)
	TNT1 A 0 A_GiveInventory("HCKAmmo",40)
	Stop
  JustAmmo:
    TNT1 A 0 A_JumpIfInventory("HackroidRifleGiverCheck",1,"Null")
	TNT1 A 0 A_GiveInventory("HackroidRifleGiverCheck",1)
	TNT1 A 0 A_GiveInventory("HCKAmmo",40)
	TNT1 A 0 A_SpawnItemEx("HackroidRifle")
	Stop
  }
}

Actor HackroidRifleSpawnerGiver : HackroidRifleGiver
{
  States
  {
  JustAmmo:
    TNT1 A 0 A_JumpIfInventory("HackroidRifleGiverCheck",1,"Null")
	TNT1 A 0 A_GiveInventory("HackroidRifleGiverCheck",1)
	TNT1 A 0 A_GiveInventory("HCKAmmo",40)
	Stop
  }
}

Actor HackroidRifleGiverCheck : Inventory { Inventory.Amount 1 Inventory.MaxAmount 1 Inventory.InterHubAmount 0 }



ACTOR HackroidRifle : LegendaryPlasmaticRifle
{
 Weapon.AmmoType "HCKMagazine"   
 Weapon.AmmoType2 "HCKAmmo"
 Weapon.AmmoUse 0
 Weapon.SlotNumber 6
 Weapon.SlotPriority 14.0
 Inventory.PickupSound "1337DTR/up"
 Inventory.PickupMessage "You got the Hackroid Rifle! A glitch?"
 Obituary "%o gets confused, when was suprised by %k's hacked projectile from a Rifle what the fuck am i saying its like there ever will be a deathmatch for cf"
 Tag "Hackroid Rifle"
 -INVENTORY.UNDROPPABLE
 States
 {
  Spawn:
	HPR2 A 0 NoDelay ACS_NamedExecuteWithResult("WeaponListCheck",6,1)
  SpawnLoop:
	HPR2 A -1
	Loop
  Ready:
	TNT1 A 0 A_PlaySound("1337DTR/up",7)
	HPR5 ABCDE 1
	TNT1 A 0 A_GunFlash("HackFlash")
  ReadyLoop:
	TNT1 A 0 A_JumpIfInventory("HCKMagazine",1,2)
	TNT1 A 0
	Goto NoBuzzing
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)	 
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_PlaySound("1337DTR/idle")
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 BB 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 BB 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 CC 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 CC 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 DD 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 DD 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 EE 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 EE 1 A_WeaponReady(WRF_ALLOWRELOAD)
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	Goto ReadyLoop
  NoBuzzing:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	HPR1 A 1 A_WeaponReady(WRF_ALLOWRELOAD)
	Loop
  Deselect:
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
	TNT1 A 0 A_Lower
	HPR1 A 1 A_Lower
	Goto Deselect+1
  Select:
	TNT1 A 1 A_Raise
	TNT1 A 0 A_Raise
	Wait
  Fire:
	TNT1 A 0 A_GunFlash
	TNT1 A 0 A_JumpIfInventory("PowerSpreadRune",1,"FireSpread")
	TNT1 A 0 A_JumpIfInventory("HCKMagazine",5,1)
	Goto Empty
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 Radius_Quake(4,2,0,1,0)
	//TNT1 A 0 A_Light1
	TNT1 A 0 A_PlayWeaponSound("1337DTR/Fire")
	TNT1 A 0 A_TakeInventory("HCKMagazine",5)
	HPR3 A 1 Bright A_FireCustomMissile("1337DTRProjPlayer",frandom(1.0,-1.0),0,0,0,0,frandom(1.0,-1.0))
	HPR3 B 2 Bright //A_Light2
	HPR3 C 3 //A_Light0
	HPR1 ABCDE 2
	TNT1 A 0 A_ReFire
	TNT1 A 0 A_GunFlash("HackFlash")
	Goto ReadyLoop
  FireSpread:
	TNT1 A 0 A_JumpIfInventory("HCKMagazine",5,1)
	Goto Empty
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 Radius_Quake(4,2,0,1,0)
	TNT1 A 0 A_PlayWeaponSound("1337DTR/Fire")
	TNT1 A 0 A_TakeInventory("HCKMagazine",5)
	HPR3 A 1 Bright A_FireCustomMissile("1337DTRProjPlayer",frandom(1.0,-1.0),0,0,0,0,frandom(1.0,-1.0))
	TNT1 A 0 A_FireCustomMissile("1337DTRProjPlayer",frandom(1.0,-1.0)+15.0,0,0,0,0,frandom(1.0,-1.0))
	TNT1 A 0 A_FireCustomMissile("1337DTRProjPlayer",frandom(1.0,-1.0)-15.0,0,0,0,0,frandom(1.0,-1.0))
	HPR3 B 2 Bright //A_Light2
	HPR3 C 3 //A_Light0
	HPR1 ABCDE 2
	TNT1 A 0 A_ReFire
	TNT1 A 0 A_GunFlash("HackFlash")
	Goto ReadyLoop
  AltFire:
	TNT1 A 0 A_GunFlash
	TNT1 A 0 A_JumpIfInventory("HackroidToken",0,1)
	Goto ReadyLoop
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 Radius_Quake(4,2,0,1,0)
	TNT1 A 0 A_PlayWeaponSound("1337DTR/Fire")
	HPR3 A 1 Bright A_FireCustomMissile("1337DTRProjPlayerHack",frandom(1.0,-1.0),0,0,0,0,frandom(1.0,-1.0))
	HPR3 B 2 Bright 
	HPR3 C 3 
	HPR1 ABCDE 2
	TNT1 A 0 A_GunFlash("HackFlash")
	Goto ReadyLoop
  Empty:
	TNT1 A 0 A_PlaySound("weapons/click2")
  Reload:
	TNT1 A 0 A_JumpIfInventory("HCKMagazine",0,"ReadyLoop")
	HPR4 AB 2
	HPR4 C 3
	HPR4 D 4 A_PlaySound("weapons/demontecheject")
	TNT1 A 0 Radius_Quake(2,2,0,1,0)
	HPR4 E 2 A_PlaySound("1337DTR/Reload")
	HPR4 F 2 Radius_Quake(2,2,0,1,0)
	HPR4 GHI 2 Radius_Quake(2,2,0,1,0)
	HPR4 J 3 A_FireCustomMissile("1337EmptyMag", 0, 0, 0, 1)
	HPR4 K 15 
	HPR4 LMN 2
	TNT1 A 0 ACS_NamedExecuteAlways("HackroidReload",0,1)
	HPR4 O 6 A_PlayWeaponSound("weapons/demontechload")
	HPR4 O 4 A_PlayWeaponSound("weapons/demontechclick")
	HPR4 CB 3
	HPR4 A 2
	Goto ReadyLoop
  GrenadeCheck:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	Goto Ready+6
  GrenadeToss:
	TNT1 A 0 A_GunFlash
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	HPR5 EDCBA 1
	TNT1 A 6
	HGRN ABC 1
	HGRN D 3
	HGRN EFGHI 2
	TNT1 A 14 A_PlayWeaponSound("weapons/hgrenadepin")
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	TNT1 A 0 A_TakeInventory("HandGrenadeAmmo",1,TIF_NOTAKEINFINITE)
	HGRN J 1 A_FireCustomMissile("ThrownGrenade",0,0,0,0,false)
	HGRN K 1
	HGRN LMNO 2
	TNT1 A 6
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,2)
	TNT1 A 0 A_TakeInventory("Hand Grenade",1)
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	Goto Ready+1
  MineCheck:
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
	TNT1 A 0 A_TakeInventory("MineAction",1)
	Goto Ready+6
  MineToss:
	TNT1 A 0 A_GunFlash
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	HPR5 EDCBA 1
	TNT1 A 10
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	MINE ABCDEF 1	
	TNT1 A 0 A_TakeInventory("MineAmmo",1,TIF_NOTAKEINFINITE)	  
	MINE G 1 A_FireCustomMissile("ThrownMine",0,0,0,0,false)
	MINE HI 1
	MINE JK 2
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,2)
	TNT1 A 0 A_TakeInventory("Land Mine",1)
	TNT1 A 0 A_TakeInventory("MineAction",1)
	TNT1 A 5
	Goto Ready+1 
  HackFlash:
	TNT1 A 35 A_JumpIfInventory("HackroidToken",0,"HackFlash2")
	Loop
  HackFlash2:
	TNT1 A 0 //A_PlaySound()
	HPR1 F 3 Bright A_Light1
	HPR1 F 3 Bright A_Light2
	HPR1 A 0 A_Light0 
	HPR1 F 7
	HPR1 F 3 Bright A_Light1
	HPR1 F 3 Bright A_Light2
	HPR1 A 0 A_Light0 
	HPR1 F 7
	TNT1 A 70
	Loop
 }
}

ACTOR HCKMagazine : Ammo 
{
+IGNORESKILL
Inventory.Amount 0
Inventory.MaxAmount 80
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 80
Inventory.Icon "HPR2A0"
}

ACTOR HCKAmmo : Ammo
{
 Scale 0.65
 +NOTIMEFREEZE
 Inventory.Amount 20
 Inventory.MaxAmount 200
 Ammo.BackpackAmount 0
 Ammo.BackpackMaxAmount 400
 Inventory.Icon "HPRWA0"
 Inventory.PickupSound "1337/Ammo"
 Inventory.PickupMessage "Hackroid Hypercharged Plasma."
 States
 {
  Spawn:
	HPRW A -1
	Stop
 }
}

ACTOR HCKAmmoBox : HCKAmmo
{
 Scale 0.65
 Inventory.Amount 40
 Inventory.PickupMessage "Hackroid Hypercharged Plasma Pack."
 Inventory.PickupSound "1337/AmmoBox"
 +NOTIMEFREEZE
 States
 {
  Spawn:
	HPRQ A -1
	Stop
 }
}



ACTOR 1337Proj
{
 PROJECTILE
 Height 3
 Radius 3
 Speed 50
 Scale 0.5
 Alpha 0.95
 Decal "DoomImpScorch"
 Damage 80
 BounceSound "1337/bounce"
 Reactiontime 70
 BounceFactor 1
 WallBounceFactor 1
 BounceCount 5
 +FORCERADIUSDMG
 +FORCEXYBILLBOARD
 +HEXENBOUNCE 
 +DOOMBOUNCE
 +DONTSPLASH
 +CANBOUNCEWATER
 +FORCERADIUSDMG
 +NOTIMEFREEZE
 +THRUSPECIES
 +SKYEXPLODE
 DamageType "Hackroid"
 DeathSound "weapons/demontechex"
 States
 {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Jump(128,"Spawn2")
	Goto Normal
  Normal:
	HZP1 ABCDEF 1 Bright A_SpawnItemEx("1337ProjTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	//HPR7 ABCDEF 1 Bright A_SpawnItemEx("1337ProjTrail",SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop
  Spawn2:
	HZP1 ABCDEF 1 Bright A_SpawnItemEx("1337ProjTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	//HPR7 ABCDEF 1 Bright A_SpawnItemEx("1337ProjTrail",SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop	  
  Death:
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("1337ADemonTechEx",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("1337ADemonTechEx2",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 0, "DeathSFX")
	Goto Vanilla
  DeathSFX:
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("1337ADemonTechEx",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("1337ADemonTechEx2",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
  Vanilla:
	TNT1 A 1 A_CustomMissile("1337ProjExplosion",0,0,0,2)
	TNT1 A 1 A_CustomMissile("1337ProjMinor",0,0,random(0,360),CMF_TRACKOWNER,random(10,-10))
	TNT1 A 1 A_CustomMissile("1337ProjMinor",0,0,random(0,360),CMF_TRACKOWNER,random(10,-10))
	TNT1 A 1 A_CustomMissile("1337ProjMinor",0,0,random(0,360),CMF_TRACKOWNER,random(10,-10))
	Stop
 }
}

ACTOR 1337ProjExplosion
{
 Projectile
 Speed 0
 +FORCERADIUSDMG
 +NOTIMEFREEZE
 +NODAMAGETHRUST
 +SKYEXPLODE
 Damagetype "Hackroid"
 States
 {
  Spawn:
  Death:
	TNT1 A 1 A_Explode(25,40)
	Stop
 }
}

ACTOR 1337ProjMinor
{
 PROJECTILE
 Height 3
 Radius 3
 Speed 80
 Scale 0.25
 Alpha 0.95
 Decal "DoomImpScorch"
 Damage 15
 +FORCERADIUSDMG
 +NOTIMEFREEZE
 +THRUSPECIES
 DamageType "Hackroid"
 DeathSound "weapons/demontechex"
 States
 {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Jump(128,"Spawn2")
	Goto Normal
  Normal:
	HZP1 ABCDEF 1 Bright A_SpawnItemEx("1337ProjTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	//HPR7 ABCDEF 1 A_SpawnItemEx("1337ProjTrail",SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop
  Spawn2:
	HZP1 ABCDEF 1 Bright A_SpawnItemEx("1337ProjTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	//HPR7 ABCDEF 1 A_SpawnItemEx("1337ProjTrail",SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop	  
  Death:
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("1337ADemonTechEx",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("1337ADemonTechEx2",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	Stop
 }
}

ACTOR 1337DemonTechTrail : BFG9500Trail
{
Scale 0.1
Alpha 0.75
+NOTIMEFREEZE
States
	{
	Spawn:
	TNT1 A 1
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	TNT1 A 1 
	HPR8 AAAAAABBBBBBBB 1 Bright A_FadeOut(0.05,1)
	HPR8 BBBBB 1 Bright A_FadeOut(0.025,1)
	Stop
 }
}

ACTOR 1337DemonTechTrail2 : DemonTechTrail
{
 +NOTIMEFREEZE
 States
 {
  Spawn:
	TNT1 A 1
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	TNT1 A 1 
	HPR8 AAAAAACCCCCCCC 1 Bright A_FadeOut(0.05,1)
	HPR8 CCCCC 1 Bright A_FadeOut(0.025,1)
	Stop
 }
}

ACTOR 1337ProjTrail
{
  +NoInteraction
  +ClientSideOnly
  Renderstyle Add
  Scale 0.25
  Alpha 0.85
  States
  {
  Spawn:
	TNT1 A 2
	TNT1 A 0 A_Jump(256,"one")
  One:
	HZP1 A 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.25)
	HZP1 B 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.24)
	HZP1 C 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.23)
	HZP1 D 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.22)
	HZP1 E 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.21)
	HZP1 F 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.20)
	HZP1 A 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.19)
	HZP1 B 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.18)
	HZP1 C 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.17)
	HZP1 D 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.16)
	HZP1 E 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.15)
	HZP1 F 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.14)
    Stop
  }
}

ACTOR 1337ProjTrailZ: 1337ProjTrail {}

ACTOR 1337ADemonTechEx
{
 PROJECTILE
 Scale 0.7
 Alpha 0.75
 +NOCLIP
 States
 {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	HPR6 ABCDEFGH 2 Bright A_FadeOut(0.1,1)
	Stop
  Vanilla:
	HPR6 ABCDEFGH 2 Bright
	Stop
 }
}

ACTOR 1337ADemonTechEx2 : 1337ADemonTechEx { +NOTIMEFREEZE }

ACTOR 1337DTRProjPlayer : 1337Proj
{
 Damage 100
 +THRUSPECIES
 +FOILINVUL
 +HITTRACER
 Species "Player"
 DamageType "Hackroid"
 States
 {
  XDeath:
  Crash:
	TNT1 A 0 ACS_NamedExecuteWithResult("HackCharge")
  Death:
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("1337ADemonTechEx",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),2,random(0,360))
	TNT1 A 0 A_SpawnItemEx("1337ADemonTechEx2",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 0, "DeathSFX")
	Goto Vanilla
  DeathSFX:
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("1337ADemonTechEx",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("1337ADemonTechEx2",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
  Vanilla:
	TNT1 A 1 A_CustomMissile("1337ProjExplosionPlayer",0,0,0,2)
	TNT1 A 1 A_CustomMissile("1337ProjMinorPlayer",0,0,random(90,270),CMF_TRACKOWNER,random(10,-10))
	TNT1 A 1 A_CustomMissile("1337ProjMinorPlayer",0,0,random(90,270),CMF_TRACKOWNER,random(10,-10))
	TNT1 A 1 A_CustomMissile("1337ProjMinorPlayer",0,0,random(90,270),CMF_TRACKOWNER,random(10,-10))
	Stop
 }
}

ACTOR 1337DTRProjPlayerHack: 1337DTRProjPlayer
{
 Damage 0
 Speed 65
 Scale 0.6
 States
 {
  Normal:
	HPR7 ABCDEF 1 Bright A_SpawnItemEx("1337ProjTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop
  Spawn2:
	HPR7 ABCDEF 1 Bright A_SpawnItemEx("1337ProjTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop
  XDeath:
  Crash:
	TNT1 A 0 ACS_NamedExecuteWithResult("HackAttack")
  Death:
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("1337ADemonTechEx",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),2,random(0,360))
	TNT1 A 0 A_SpawnItemEx("1337ADemonTechEx2",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 0, "DeathSFX")
	TNT1 A 1
	Stop
  DeathSFX:
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("1337ADemonTechEx",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("1337ADemonTechEx2",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 1
	Stop
 }
}

ACTOR 1337ProjExplosionPlayer : 1337ProjExplosion
{
 Damagetype "Hackroid"
 Damage 35
 Species "Player"
 +FOILINVUL
 States
 {
  Spawn:
  Death:
	TNT1 A 0
	TNT1 A 1 A_Explode(35,8)
	Stop
 }
}

ACTOR 1337ProjMinorPlayer : 1337ProjMinor
{
 +THRUSPECIES
 +FOILINVUL
 DamageType "Hackroid"
 Species "Player"
 States
 {
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("1337ADemonTechEx",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("1337ADemonTechEx2",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	Stop
 }
}

ACTOR 1337EmptyMag : BulletCasing
{
 Scale 0.4
 SeeSound "weapons/emptydrum"
 +NOTIMEFREEZE
 States
 {
  Spawn:
	HPR9 ABCD 3  
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Jump(128,3)
	HPR9 A 100
	HPR9 A 5 A_FadeOut(0.10)
	Goto Death+3
	HPR9 C 100
	HPR9 C 5 A_FadeOut(0.10)
	Goto Death+5	  
 }
}

Actor HackroidToken: Inventory
{
 +INVENTORY.UNDROPPABLE
 +INVENTORY.PERSISTENTPOWER
 +INVENTORY.HUBPOWER
 Inventory.Amount 1
 Inventory.MaxAmount 1000
}