ACTOR CyborgCyberFist : Weapon
{
  Weapon.SelectionOrder 3700
  Weapon.KickBack 100
  Obituary "Combat Initiated"
  Tag "IMC Experimental-Shock KnuckleDusters"
  	Weapon.BobRangeX 0.2
	Weapon.BobRangeY 0.2
	Weapon.slotnumber 1
	  Weapon.AmmoUse 0
      Weapon.AmmoType1 "Cyborgcells"
	  Weapon.Ammotype2 "HEALINGTOKEN"
  +WEAPON.MELEEWEAPON
   Inventory.RestrictedTo "CyborgClass"
  States
  {
  Ready:
    CFST A 1 A_WeaponReady (WRF_ALLOWRELOAD)
    Loop
  Deselect:
   CFST AA 1 A_Lower
	CFST A 0 A_Lower
    Loop
  Select:
   CFST AA 1 A_Raise
	CFST A 0 A_Raise
    Loop
  Fire:
   CFST A 1 OFFSET(0,32) A_PLAYWEAPONSOUND("fistswng")
   CFST B 2 OFFSET(2,38)
   CFST B 2 OFFSET(0,32)
   CFST C 2 OFFSET(2,34)
   CFST C 2 OFFSET(0,32)
   CFST D 2 OFFSET(1,34) A_FIRECUSTOMMISSILE("FISTProjectile_PIO1")
   CFST D 2 OFFSET(0,32)
   CFST D 1 OFFSET(1,34)
   CFST C 1 OFFSET(2,34)
   CFST B 1 OFFSET(0,32)
   CFST B 1 OFFSET(2,38)
   CFST A 1 OFFSET(0,32)
    Goto Ready
	  ALTFire:
	  TNT1 A 0 A_JUMPIFINVENTORY("HEALINGTOKEN",5,"ALTFIRE2")
	  CSFT A 1
    goto Ready
	ALTFIRE2:
	   CHEL ABCDEFGHIJKLMN 2 BRIGHT
   TNT1 A 0 A_PLAYWEAPONSOUND("CYBHEAL")
   CHEL OPQRSTUV 2 BRIGHT
    TNT1 A 0 ACS_NamedExecuteWithResult("GiveHealthWithItem",35,0)
	TNT1 A 0 A_GiveInventory("CyborgDamageBoost",1)
	TNT1 A 0 A_GiveInventory("CyborgDefenseBoost",1)
	TNT1 A 0 A_GiveInventory("CyborgSpeedBoost",1)
	TNT1 A 0 A_TAKEINVENTORY("HEALINGTOKEN", 5)
	TNT1 A 0 A_Print("Overcharge Activated!", 2)
   CHEL NMLKJIHGFEDCBAAAAAAAAAA 2 BRIGHT
   GOTO READY
   	  Reload:
	  TNT1 A 0 A_JUMPIFINVENTORY("HEALINGTOKEN",10,"Reload2")
	  CSFT A 1
    goto Ready
	Reload2:
	   CHEL ABCDEFGHIJKLMN 2 BRIGHT
   TNT1 A 0 A_PLAYWEAPONSOUND("CYBHEAL")
   CHEL OPQRSTUV 3 BRIGHT
    TNT1 A 0 ACS_NamedExecuteWithResult("GiveHealthWithItem",50,0)
	TNT1 A 0 A_GiveInventory("CyborgSuperDamageBoost",1)
	TNT1 A 0 A_GiveInventory("CyborgSuperDefenseBoost",1)
	TNT1 A 0 A_GiveInventory("CyborgSuperSpeedBoost",1)
	TNT1 A 0 A_TAKEINVENTORY("HEALINGTOKEN", 10)
	TNT1 A 0 A_Print("Mega Overcharge Activated!", 2)
   CHEL NMLKJIHGFEDCBAAAAAAAAAA 2 BRIGHT
   GOTO READY
  }
}

	ACTOR FISTProjectile_PIO1 : FastProjectile
{
	Radius 6
	Height 6
	DamageType Kick
	Projectile 
	+FORCEXYBILLBOARD
	+NOEXTREMEDEATH
	RenderStyle Add
	Alpha 0.6
    Damage (10)
    Speed 30
	Obituary  "%o was turned into portable health by %k."
	SeeSound "None"
	DeathSound "None"
	Decal "None"
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
        TNT1 A 1
		Stop
	Death:
		TNT1 A 1 A_PlaySound("fisthtt")
		TNT1 B 1 a_Quake(3,10,0,5000,0)
		TNT1 C 1
		TNT1 A 3
		STOP
			xDeath:
		TNT1 A 1 A_PlaySound("fisthtt")
		TNT1 A 0 A_GIVEINVENTORY("HEALINGTOKEN",1, AAPTR_TARGET)
		TNT1 A 0 A_GIVEINVENTORY("CyborgCells",25, AAPTR_TARGET)
		TNT1 B 1 a_Quake(3,10,0,5000,0)
		FRSH CDEFG 1
		TNT1 A 3
		Stop
	}
}

ACTOR HealINGToken: AMMO
{
INVENTORY.MAXAMOUNT 30
Ammo.BackpackMaxamount 60
}

//Normal Altfire + Big Stim Tier
actor CyborgDamageBoost : PowerupGiver
{
	Inventory.MaxAmount 1
	Inventory.InterHubAmount 0
	Inventory.Icon ""
	+Inventory.AUTOACTIVATE
	+Inventory.ALWAYSPICKUP
	+Inventory.UNTOSSABLE
	Powerup.Type "CyborgDamagePower"
	DamageFactor "Normal", 4
	Powerup.Color Purple 0.1
	Powerup.Duration 1050
}

actor CyborgDefenseBoost : PowerupGiver
{
	Inventory.MaxAmount 1
	Inventory.InterHubAmount 0
	Inventory.Icon ""
	+Inventory.AUTOACTIVATE
	+Inventory.ALWAYSPICKUP
	+Inventory.UNTOSSABLE
	Powerup.Type "CyborgDefensePower"
	DamageFactor "Normal", 0.50
	Powerup.Duration 1050
}

actor CyborgSpeedBoost : PowerupGiver
{
	Inventory.MaxAmount 1
	Inventory.InterHubAmount 0
	Inventory.Icon ""
	+Inventory.AUTOACTIVATE
	+Inventory.ALWAYSPICKUP
	+Inventory.UNTOSSABLE
	Powerup.Type "CyborgSpeedPower"
	Powerup.Duration 1050
	Speed 1.5
}

// --- Super Tier Exclusive for Cyborg's Reload Special ---
actor CyborgSuperDamageBoost : PowerupGiver
{
	Inventory.MaxAmount 1
	Inventory.InterHubAmount 0
	Inventory.Icon ""
	+Inventory.AUTOACTIVATE
	+Inventory.ALWAYSPICKUP
	+Inventory.UNTOSSABLE
	Powerup.Type "CyborgSuperDamagePower"
	DamageFactor "Normal", 6
	Powerup.Color Red 0.1
	Powerup.Duration 1050
}

actor CyborgSuperDefenseBoost : PowerupGiver
{
	Inventory.MaxAmount 1
	Inventory.InterHubAmount 0
	Inventory.Icon ""
	+Inventory.AUTOACTIVATE
	+Inventory.ALWAYSPICKUP
	+Inventory.UNTOSSABLE
	Powerup.Type "CyborgSuperDefensePower"
	DamageFactor "Normal", 0.25
	Powerup.Duration 1050
}

actor CyborgSuperSpeedBoost : PowerupGiver
{
	Inventory.MaxAmount 1
	Inventory.InterHubAmount 0
	Inventory.Icon ""
	+Inventory.AUTOACTIVATE
	+Inventory.ALWAYSPICKUP
	+Inventory.UNTOSSABLE
	Powerup.Type "CyborgSuperSpeedPower"
	Powerup.Duration 1050
	Speed 2.0
}