ACTOR HQMagnum : HQWeapon
{
   +Ammo_CheckBoth
   Inventory.PickupMessage "\c[White][ \c[Yellow]AGL .454 \"Lunatica\" Gauss Handcannon\c- \c[White]]"
   Tag ".454 \"Lunatica\""
   Weapon.SelectionOrder 1900
   Weapon.AmmoUse1 1
   Weapon.AmmoUse2 1
   Weapon.AmmoGive2 3
   Weapon.Kickback 4
   weapon.ammotype1 "MagnumLoaded"
   weapon.ammotype2 "MagnumAmmo"
   Weapon.UpSound "MAGSEL"
   Inventory.PickupSound "MAGPKP"
   Weapon.SlotNumber 2
   Scale 0.25
   +NOALERT
   +NOAUTOFIRE
   obituary "%o gave %k a .454 caliber run of bad luck."
   States
   {
  Spawn:
    MAGT A -1
    Stop
   Ready: 
     MAGO A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_ALLOWUSER1|WRF_ALLOWUSER2|WRF_ALLOWUSER3)
      Loop
   Deselect:
      MAGO A 0 A_StopSoundEX("SoundSlot6")
      NULL A 0 A_JumpIf(CountInv("HQGrabbedBarrel") == 1,"ZeroFucksGiven")
      MAGO A 1 A_Lower(20)
	  MAGO A 0 A_StopSoundEX("SoundSlot6")
      Loop
   Select:
      TNT1 A 1
      TNT1 A 0 A_JumpIfInventory("HQMagnumToken",1,"SelectNormal") 
      TNT1 A 0 A_Giveinventory("HarleyTalk",1)
	  TNT1 A 0 A_Giveinventory("HQMagnumToken",1)
      TNT1 A 0 A_Playsound("HQVMAG",CHAN_VOICE)
      Goto SelectNormal
  SelectNormal:
      MAGO A 1 A_Raise(20)
      LOOP
   Fire:
    MAGO A 0 A_JumpIf(CountInv("MagnumLoaded") == 0,"Reload")
	MAGF BC 1
	MAGO A 0 A_AlertMonsters
    MAGF B 0 
 	{
	If (CountInv("RevolverAlt") && CountInv("MagnumAmmo2") > 0)
	{
	A_PlayWeaponSound("MAGNALT");
	A_FireBullets(1.5,1.5,1,50,"DisasterRAMRODPuff",1);
	A_TakeInventory("MagnumAmmo2",1);
	}
	Else
	{
	A_PlayWeaponSound("MAGNFIR");
	A_FireBullets(1.5,1.5,1,50,"DisasterKnockbackPuff",1);
	}
	} 
	MAGF A 0 A_FireCustomMissile("MuzzleSmoke",0,0,5,1,0,0)
	NULL A 0 A_ZoomFactor(0.975)
    NULL A 0 A_SetPitch(Pitch -1.8)
	MGNF B 0 A_Quake(8, 6, 0, 48576, "None")
	MAGF D 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
    MAGF E 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
    MAGF F 4 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	NULL A 0 A_ZoomFactor(1.000)
    MAGF G 3 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	MAGF H 2 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	MAGF I 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	MAGF JK 1 A_WeaponReady
	MAGO A 2 A_WeaponReady
	MAGO A 0 A_Refire
    Goto Ready
   AltFire:
    MAGO A 0 A_JumpIf(CountInv("MagnumLoaded") == 0,"Reload")
    MAGO A 0 A_PlaySoundEX("MAGNWND", "SoundSlot6")
	MAGF BC 1
	AltHold:
	MALT A 1 A_FireCustomMissile("ShotSpawn",0,0,3,3,0,0)
	MAGO A 0 A_JumpIf(CountInv("MagnumHeat") == 18,"AltBeep2")
	MAGO A 0 A_JumpIf(CountInv("MagnumHeat") == 12,"AltBeep")
	MAGO A 0 A_JumpIf(CountInv("MagnumHeat") == 6,"AltBeep")
	MALT E 1 A_FireCustomMissile("ShotSpawn",0,0,3,3,0,0)
	Goto AltHold2
	AltHold2:
	MALT BEC 1 A_FireCustomMissile("ShotSpawn",0,0,3,3,0,0)
	MAGO A 0 A_Refire("AltHold3")
	Goto AltRelease
	AltHold3:
	MALT EDE 1 A_FireCustomMissile("ShotSpawn",0,0,3,3,0,0)
	MAGO A 0 A_GiveInventory("MagnumHeat",1)
	MAGO A 0 A_Refire("AltHold")
	Goto AltRelease
	AltBeep:
	MALT E 1 { A_PlaySoundEX("SMTBEP", CHAN_7); A_FireCustomMissile("ShotSpawn",0,0,3,3,0,0);}
	Goto AltHold2
	AltBeep2:
	MALT E 1 { A_PlaySoundEX("MAGNWN2", "SoundSlot6", 1); A_PlaySoundEX("SMTBEP", CHAN_7); A_FireCustomMissile("ShotSpawn",0,0,3,3,0,0);}
	Goto AltHold2
    AltRelease:
	MALT A 1 A_StopSoundEX("SoundSlot6")
	MAGO A 0 A_TakeInventory("MagnumLoaded",1)
	MAGO A 0 A_AlertMonsters
	MAGO A 0 A_ClearRefire
	MAGF B 0 A_JumpIfInventory("MagnumHeat",18,"Alt3")
	MAGF B 0 A_JumpIfInventory("MagnumHeat",12,"Alt2")
	MAGF B 0 A_JumpIfInventory("MagnumHeat",6,"Alt1")
	MAGO A 0 A_JumpIf(CountInv("MagnumHeat") < 6,"Alt0")
	Alt0:
	MAGO A 0 A_PlayWeaponSound("MAGNFI1")
	MAGF A 0 A_TakeInventory("MagnumHeat",18)
    MAGF B 0 A_FireBullets(0,0,1,65,"DisasterKnockbackPuff",1)
	MAGF A 0 A_FireCustomMissile("MuzzleSmoke",0,0,5,1,0,0)
	NULL A 0 A_ZoomFactor(0.975)
    NULL A 0 A_SetPitch(Pitch -1.8)
	MGNF B 0 A_Quake(8, 6, 0, 48576, "None")
	MALF A 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
    MALF D 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	Goto AltFinish
	Alt1:
	MAGO A 0 A_PlayWeaponSound("MAGNFI1")
	MAGF A 0 A_TakeInventory("MagnumHeat",18)
    MAGF B 0 A_FireCustomMissile("HCRound1",0,0,4,4,0|FPF_NOAUTOAIM,0)
	MAGF A 0 A_FireCustomMissile("MuzzleSmoke",0,0,5,1,0,0)
	MALF A 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	NULL A 0 A_ZoomFactor(0.975)
    NULL A 0 A_SetPitch(Pitch -1.8)
	MGNF B 0 A_Quake(8, 6, 0, 48576, "None")
    MALF D 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	Goto AltFinish
	Alt2:
	MAGO A 0 A_PlayWeaponSound("MAGNFI2")
	MAGF A 0 A_TakeInventory("MagnumHeat",18)
    MAGF B 0 A_FireCustomMissile("HCRound2",0,0,4,4,0|FPF_NOAUTOAIM,0)
	MAGF A 0 A_FireCustomMissile("MuzzleSmoke",0,0,5,1,0,0)
	MALF C 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	NULL A 0 A_ZoomFactor(0.975)
    NULL A 0 A_SetPitch(Pitch -1.8)
	MGNF B 0 A_Quake(8, 6, 0, 48576, "None")
    MALF D 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	Goto AltFinish
	Alt3:
	MAGO A 0 A_PlayWeaponSound("MAGNFI3")
	MAGF A 0 A_TakeInventory("MagnumHeat",18)
    MAGF B 0 A_FireCustomMissile("HCRound3",0,0,4,4,0|FPF_NOAUTOAIM,0)
	MAGF A 0 A_FireCustomMissile("MuzzleSmoke",0,0,5,1,0,0)
	MALF C 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	NULL A 0 A_ZoomFactor(0.975)
    NULL A 0 A_SetPitch(Pitch -1.8)
	MGNF B 0 A_Quake(8, 6, 0, 48576, "None")
    MALF D 1 BRIGHT A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	Goto AltFinish
	AltFinish:
	MAGF F 4 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	NULL A 0 A_ZoomFactor(1.000)
    MAGF G 3 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	MAGF H 2 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	MAGF I 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY|WRF_NOSWITCH)
	MAGF I 0 A_ClearRefire
	MAGF JK 1 A_WeaponReady
	MAGO A 2 A_WeaponReady
	MAGO A 0 A_Refire("AltFire")
    Goto Ready
     Reload:
  MAGO A 0 A_JumpIfInventory("MagnumLoaded", 6, 2)
  MAGO A 0 A_JumpIfInventory("MagnumAmmo", 1, "ReloadWork")
  MAGO A 1 A_WeaponReady
  Goto ReloadTwirl
  ReloadWork:
  TNT1 A 0 A_GiveInventory("SheReloads",1)
  MAGO A 1
  MAGO A 0 A_PlaySoundEX("MAGNOPN",CHAN_7)
  MAGR AB 2
  MAGR CE 1
  MAGR EEEEEE 0 A_FireCustomMissile("454CaseSpawn",345+random(-8,8),0,7,-9,0)
  MAGR G 3
  MAGR FED 2
  MAGR HIJ 2
  MAGR J 3
  MAGR K 2
  MAGO A 0 A_PlayWeaponSound("MAGNLOA")
  MAGR LM 2
  ReloadLoop:
  MAGR H 0 A_TakeInventory("MagnumAmmo", 1)
  MAGR H 0 A_GiveInventory("MagnumLoaded", 1)
  MAGR H 0 A_JumpIfInventory("MagnumLoaded", 6, "ReloadFinish")
  MAGR H 0 A_JumpIfInventory("MagnumAmmo", 1, "ReloadLoop")
  Goto ReloadFinish
  ReloadFinish:
  TNT1 A 5
  MAGR TUVW 1
  MAGO A 0 A_PlaySoundEX("MAGNCLS",CHAN_7)
  MAGF GHIJK 2
  TNT1 A 0 A_TakeInventory("SheReloads",99)
  Goto Ready
  Flash:
    MAGF A 3 Bright A_Light1
    MAGF A 3 Bright A_Light0
    Goto LightDone
  Zoom:
   MAGZ AC 1
   TNT1 A 0 A_Overlay (-3, "QuickMelee")
   MAGZ D 8
   MAGZ CBA 2
   Goto Ready
  User1:
   MELE A 0 A_JumpIfInventory("ThrowableAmmo",1,1)
   Goto GrenadeDry
   MAGZ AC 1
   TNT1 A 0 A_Overlay (-3, "ThrowNao")
   MAGZ D 8
   MAGZ CBA 2
   Goto Ready
  User2:
   SOCH A 0 A_JumpIfInventory("StimAmmo",1,1)
   Goto StimDry
   SOCH A 0 A_JumpIfInventory("SpeedItem",1,2)
   SOCH A 0 A_JumpIfHealthLower(100, 1)
   Goto HealthFull
   MAGZ AC 1
   TNT1 A 0 A_Overlay (-3, "InjectorPlunge")
   MAGZ D 30
   MAGZ CBA 2
   Goto Ready
   GrenadeDry:
   MAGO A 1 ACS_NamedExecute("NoGrenades", 0)
   Goto Ready
   HealthFull:
   MAGO A 1 ACS_NamedExecute("FullHealth", 0)
   Goto Ready
   StimDry:
   MAGO A 1 ACS_NamedExecute("NoStims", 0)
   Goto Ready
   ReloadTwirl:
   TNT1 A 0 A_GiveInventory("SheReloads",1)
   MASP A 0 A_PlayWeaponSound("MAGNSTR")
   MASP AB 1
   Goto ReloadTwirlHold
   ReloadTwirlHold:
   MASP C 1
   MASP C 0 A_PlaySound("MAGNSPN",CHAN_7)
   MASP DEFGH 1
   NULL A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, "ReloadTwirlHold")
   Goto ReloadTwirlFinish
   ReloadTwirlFinish:
   MASP A 0 A_PlayWeaponSound("MAGNSTP")
   TNT1 A 0 A_Jump(10,"HiddenTwirl")
   MASP CB 1
   MAGZ D 4
   MAGZ C 2
   MAGZ BA 1
   TNT1 A 0 A_TakeInventory("SheReloads",99)
   Goto Ready
   HiddenTwirl:
   TNT1 A 0 A_Overlay (-3, "Ocelot")
   MAGZ CB 1
   MAGZ D 12
   MAGZ C 2
   MAGZ BA 1
   TNT1 A 0 A_TakeInventory("SheReloads",99)
   Goto Ready
  Ocelot:
  MASP IJKL 1
  MASP L 0 A_PlaySound("HQOCEL",CHAN_VOICE,1.0) 
  MASP L 5
  MASP LKJI 2
  Stop
  User3:
  SOCO A 0 A_JumpIfInventory("RevolverAlt", 1, "AmmoToggle2")
  SOCO A 0 A_JumpIfInventory("MagnumAmmo2", 1, "AmmoToggle1")
  Goto AmmoToggle3
  AmmoToggle1:
  MAGO A 1 A_GiveInventory("RevolverAlt", 1)
  Goto AmmoSwapAnim
  AmmoToggle2:
  MAGO A 1 A_TakeInventory("RevolverAlt", 99)
  Goto AmmoSwapAnim
  AmmoToggle3:
  MAGO A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_ALLOWUSER1|WRF_ALLOWUSER2|WRF_ALLOWUSER3)
  Goto Ready
  AmmoSwapAnim:
  TNT1 A 0 A_GiveInventory("SheReloads",1)
  MAGO A 1
  MAGO A 0 A_PlaySoundEX("MAGNOPN",CHAN_7)
  MAGR AB 2
  MAGR CE 1
  MAGR G 3
  MAGR FED 2
  MAGR HIJ 2
  MAGR J 3
  MAGR K 2
  MAGO A 0 A_PlayWeaponSound("MAGNLOA")
  MAGR LM 2
  TNT1 A 5
  MAGR TUVW 1
  MAGO A 0 A_PlaySoundEX("MAGNCLS",CHAN_7)
  MAGF GHIJK 2
  TNT1 A 0 A_TakeInventory("SheReloads",99)
  Goto Ready
  }
}

ACTOR MagnumLoaded : Ammo
{
   +IGNORESKILL
   Inventory.Amount 0
   Inventory.MaxAmount 6
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 6
}

ACTOR HCRound1 : FastProjectile
{
    Radius 2
	Height 2
	Damage (random(75,95))
	Speed 70
	+FORCEPAIN
	DamageType "Shotgun"
	Decal "DisasterBulletChip"
	States
	{
	Spawn:
	    TNT1 A 0 NoDelay A_CheckProximity("SpawnNone","PlayerPawn",65,1,CPXF_ANCESTOR)
		TNT1 A 1 Bright 
		{
       A_SpawnItemEx("HCTrail1", (2 *momx)/-35.0, -(2 *momy)/-35.0, 2+(2 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail1", (4 *momx)/-35.0, -(4 *momy)/-35.0, 2+(4 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail1", (6 *momx)/-35.0, -(6 *momy)/-35.0, 2+(6 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail2", (8 *momx)/-35.0, -(8 *momy)/-35.0, 2+(8 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail2", (10*momx)/-35.0, -(10*momy)/-35.0, 2+(10*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail2", (12*momx)/-35.0, -(12*momy)/-35.0, 2+(12*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail3", (14*momx)/-35.0, -(14*momy)/-35.0, 2+(14*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail3", (16*momx)/-35.0, -(16*momy)/-35.0, 2+(16*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail3", (18*momx)/-35.0, -(18*momy)/-35.0, 2+(18*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	   A_SpawnItemEx("HCTrail4", (20*momx)/-35.0, -(20*momy)/-35.0, 2+(20*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail4", (22*momx)/-35.0, -(22*momy)/-35.0, 2+(22*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail4", (24*momx)/-35.0, -(24*momy)/-35.0, 2+(24*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	  }
	  Loop
   SpawnNone:
	   TNT1 A 1 
	   Goto Spawn
	Death: 
	FLFR A 0 A_SpawnItemEx("DisasterPuff",0,0,0,0,0,0,0)
    Stop
	}
}

ACTOR HCRound2 : FastProjectile
{
    Radius 2
	Height 2
	Damage (random(35,55))
	Speed 100
	DamageType "Explosive"
	+FORCEPAIN
	Decal "DisasterBulletChip"
	States
	{
	Spawn:
	    TNT1 A 0 NoDelay A_CheckProximity("SpawnNone","PlayerPawn",65,1,CPXF_ANCESTOR)
		TNT1 A 1 Bright 
		{
       A_SpawnItemEx("HCTrail5", (2 *momx)/-35.0, -(2 *momy)/-35.0, 2+(2 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail5", (4 *momx)/-35.0, -(4 *momy)/-35.0, 2+(4 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail5", (6 *momx)/-35.0, -(6 *momy)/-35.0, 2+(6 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail6", (8 *momx)/-35.0, -(8 *momy)/-35.0, 2+(8 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail6", (10*momx)/-35.0, -(10*momy)/-35.0, 2+(10*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail6", (12*momx)/-35.0, -(12*momy)/-35.0, 2+(12*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail7", (14*momx)/-35.0, -(14*momy)/-35.0, 2+(14*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail7", (16*momx)/-35.0, -(16*momy)/-35.0, 2+(16*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail7", (18*momx)/-35.0, -(18*momy)/-35.0, 2+(18*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	   A_SpawnItemEx("HCTrail8", (20*momx)/-35.0, -(20*momy)/-35.0, 2+(20*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail8", (22*momx)/-35.0, -(22*momy)/-35.0, 2+(22*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail8", (24*momx)/-35.0, -(24*momy)/-35.0, 2+(24*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	  }
	  Loop
   SpawnNone:
	 TNT1 A 1 
	 Goto Spawn
	Death:
	FLCR A 0 A_Explode(100,120)
	FLFR A 0 A_SpawnItemEx("HCEffect1",0,0,0,0,0,0,0)
    Stop
	}
}

ACTOR HCRound3 : FastProjectile
{
    Radius 2
	Height 2
	Damage (random(15,35))
	Speed 120
	DamageType "Fire"
	Decal "DisasterBulletChip"
	+HITTRACER
	+FORCEPAIN
	States
	{
	Spawn:
	    TNT1 A 0 NoDelay A_CheckProximity("SpawnNone","PlayerPawn",65,1,CPXF_ANCESTOR)
		TNT1 A 1 Bright 
		{
       A_SpawnItemEx("HCTrail9", (2 *momx)/-35.0, -(2 *momy)/-35.0, 2+(2 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail9", (4 *momx)/-35.0, -(4 *momy)/-35.0, 2+(4 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail9", (6 *momx)/-35.0, -(6 *momy)/-35.0, 2+(6 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail10", (8 *momx)/-35.0, -(8 *momy)/-35.0, 2+(8 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail10", (10*momx)/-35.0, -(10*momy)/-35.0, 2+(10*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail10", (12*momx)/-35.0, -(12*momy)/-35.0, 2+(12*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail11", (14*momx)/-35.0, -(14*momy)/-35.0, 2+(14*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail11", (16*momx)/-35.0, -(16*momy)/-35.0, 2+(16*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail11", (18*momx)/-35.0, -(18*momy)/-35.0, 2+(18*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	   A_SpawnItemEx("HCTrail12", (20*momx)/-35.0, -(20*momy)/-35.0, 2+(20*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail12", (22*momx)/-35.0, -(22*momy)/-35.0, 2+(22*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("HCTrail12", (24*momx)/-35.0, -(24*momy)/-35.0, 2+(24*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	  }
	  Loop
   SpawnNone:
	 TNT1 A 1 
	 Goto Spawn
	Death:
	FLCR A 0 A_Explode(50,120)
	TNT1 A 0 A_GiveInventory("FireGiver",1,AAPTR_TRACER) //A_RadiusGive("FireGiver",128,RGF_MONSTERS) 
	FLFR A 0 A_SpawnItemEx("HCEffect2",0,0,0,0,0,0,0)
    Stop
	}
}

ACTOR HCEffect1
{
  RenderStyle Add
  +NOGRAVITY
  +FORCEPAIN
  +NOBLOCKMAP
  +NOTIMEFREEZE
  +ROLLSPRITE
  +ROLLCENTER
  +NOCLIP
  Scale 0.9
  Alpha 0.67
  DamageType "Explosion"
  Decal "Scorch"
  States
  {
  Spawn:
    TNT1 A 0
  Death:
    FLCR A 0 A_ChangeFlag("NOCLIP",0)
	FX08 B 0 A_PlaySound("PUMPXPL")
	PTNT I 0 A_RadiusThrust(20, 64, RTF_AFFECTSOURCE|RTF_THRUSTZ)
    FLCR A 0 A_ChangeFlag("NOBLOCKMAP",0)
    TNT1 A 0 A_SetScale(0.5)
	FLCR A 0 A_AlertMonsters
	TNT1 A 0 A_SpawnItemEx("BKFlash", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
	TNT1 A 0 A_ChangeFlag("NOTIMEFREEZE",0)
    TNT1 AAAAAA 0 A_CustomMissile("BKSmoke",0,0,Random(0,360),2,Random(0,360))
    TNT1 A 0 A_CheckFloor("FloorKlutz")
    TNT1 AAA 0 A_SpawnItemEx ("HC1Explode2",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("HC1Explode1",0,0,0,2,0,random(-2,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("HC1Explode3",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
 	FloorKlutz:
    TNT1 AAA 0 A_SpawnItemEx ("HC1Explode2",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("HC1Explode1",0,0,0,2,0,random(2,3),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("HC1Explode3",0,0,0,2,0,random(1,1),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
   }
  }

ACTOR HCEffect2
{
  RenderStyle Add
  +NOGRAVITY
  +NOBLOCKMAP
  +NOTIMEFREEZE
  +ROLLSPRITE
  +ROLLCENTER
  +NOCLIP
  Scale 0.9
  Alpha 0.67
  DamageType "Explosion"
  DeathSound "STGLAHIT"
  Decal "Scorch"
  States
  {
  Spawn:
    TNT1 A 0
  Death:
    FLCR A 0 A_ChangeFlag("NOCLIP",0)
	FX08 B 0 A_PlaySound("BATKXPL")
    FLCR A 0 A_ChangeFlag("NOBLOCKMAP",0)
    TNT1 A 0 A_SetScale(0.5)
	FLCR A 0 A_AlertMonsters
	PTNT I 0 A_RadiusThrust(150, 100, RTF_AFFECTSOURCE|RTF_THRUSTZ)
	TNT1 A 0 A_SpawnItemEx("BaseFlash", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
	TNT1 A 0 A_ChangeFlag("NOTIMEFREEZE",0)
    TNT1 AAAAAA 0 A_CustomMissile("BKSmoke",0,0,Random(0,360),2,Random(0,360))
    TNT1 A 0 A_CheckFloor("FloorKlutz")
    TNT1 AAA 0 A_SpawnItemEx ("HC2Explode2",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("HC2Explode1",0,0,0,2,0,random(-1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("HC2Explode3",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
 	FloorKlutz:
    TNT1 AAA 0 A_SpawnItemEx ("HC2Explode2",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("HC2Explode1",0,0,0,2,0,random(2,3),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("HC2Explode3",0,0,0,2,0,random(1,1),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
   }
  }

Actor MagnumHeat : QuinnBoolean { Inventory.MaxAmount 18 }
Actor RevolverAlt : QuinnBoolean { Inventory.MaxAmount 1 }

ACTOR RAMRODSmoke : DisasterShotSmoke
{
    Scale 0.1
    Alpha  0.5
	+ROLLSPRITE
    Obituary "%o melted %k down."
	States
	{
    Spawn:
		NULL A 1 A_SetTranslucent(0.25)
		GGKN ABCDEFHIJKLMNNNNNNNN 2 bright
		{ 
		A_SetRoll(Roll+frandom(-3, 3),SPF_INTERPOLATE); 
		A_SetScale(ScaleX + 0.05); 
		A_FadeOut(0.001,1); 
		}
		TNT1 A 0
		Stop
    }
}

ACTOR DisasterRAMRODPuff: DisasterPuff
{
    +FORCEPAIN
	PoisonDamageType "Uranium"
    PoisonDamage 25,20,0
	Decal "RAMRODShell"
	States
	{
	Spawn:
		TNT1 A 0
	Death:
	XDeath:
		TNT1 A 0 A_CheckFlag("NOBLOOD","ObjectTarget",AAPTR_TRACER)
		TNT1 A 0 A_Jump(256,"EnemyTarget")
		Goto EnemyTarget
	Crash:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"ObjectTarget")
		Goto ObjectTarget
	EnemyTarget:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem("DisasterShotSmoke")
		TNT1 A 0 A_CheckFlag("NOBLOOD","ObjectTarget",AAPTR_TRACER)
		TNT1 A 0 A_RearrangePointers(AAPTR_TARGET,AAPTR_TARGET,AAPTR_NULL)
		TNT1 A 0 A_ChangeFlag("THRUACTORS",false)
		TNT1 A 0 A_ChangeFlag("NOINTERACTION",false)
        TNT1 AAA 0 A_SpawnItemEx ("RAMRODSmoke",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
        TNT1 AAAAA 0 A_SpawnItemEx ("RAMRODSmoke",0,0,0,2,0,random(-1,2),random(0,359),SXF_CLIENTSIDE)
        TNT1 AAA 0 A_SpawnItemEx ("RAMRODSmoke",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
		Stop
	ObjectTarget:
		TNT1 A 0 A_SpawnItem("HQShotSparks")
		TNT1 A 0 A_RearrangePointers(AAPTR_TARGET,AAPTR_TARGET,AAPTR_NULL)
		TNT1 A 0 A_ChangeFlag("THRUACTORS",false)
		TNT1 A 0 A_ChangeFlag("NOINTERACTION",false)
		TNT1 A 0 A_PlaySound("Casing/Ricochet",CHAN_AUTO,0.75)
		Goto Puff
	Puff:
		PING A 0
		PING A 0 A_PlaySound("Casing/Ricochet",CHAN_BODY,0.5)
        TNT1 AAA 0 A_SpawnItemEx ("RAMRODSmoke",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
        TNT1 AAAAA 0 A_SpawnItemEx ("RAMRODSmoke",0,0,0,2,0,random(-1,2),random(0,359),SXF_CLIENTSIDE)
        TNT1 AAA 0 A_SpawnItemEx ("RAMRODSmoke",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
		Stop
       }
}

actor HCTrail1
{
	+THRUACTORS
	+CLIENTSIDEONLY
	+NOBLOCKMAP
	+NOGRAVITY
	Renderstyle Add
	Scale 0.05
	Alpha 0.99
	States
	{
	Spawn:
	    DINC A 2 Bright
		Stop
		}
}	

actor HCTrail2 : HCTrail1
{
	Alpha 0.8
	States
	{
	Spawn:
	    DINC B 2 Bright
		Stop
		}
}	

actor HCTrail3 : HCTrail1
{
	Alpha 0.6
	States
	{
	Spawn:
	    DINC C 2 Bright
		Stop
		}
}	

actor HCTrail4 : HCTrail1
{
	Alpha 0.4
	States
	{
	Spawn:
	    DINC D 2 Bright
		Stop
		}
}	


actor HCTrail5 : HCTrail1
{
	Scale 0.1
}	

actor HCTrail6 : HCTrail2
{
	Scale 0.1
}	

actor HCTrail7 : HCTrail3
{
	Scale 0.1
}	

actor HCTrail8 : HCTrail4
{
	Scale 0.1
}	

actor HCTrail9 : HCTrail1
{
	Scale 0.15
	States
	{
	Spawn:
	    DIN2 A 2 Bright
		Stop
		}
}	

actor HCTrail10 : HCTrail9
{
	Alpha 0.8
	States
	{
	Spawn:
	    DIN2 B 2 Bright
		Stop
		}
}	

actor HCTrail11 : HCTrail9
{
	Alpha 0.6
	States
	{
	Spawn:
	    DIN2 C 2 Bright
		Stop
		}
}	

actor HCTrail12 : HCTrail9
{
	Alpha 0.4
	States
	{
	Spawn:
	    DIN2 D 2 Bright
		Stop
		}
}	
