ACTOR HQSlugthrower : HQWeapon
{
    +FORCEPAIN
    +NOAUTOAIM
    +NOAUTOFIRE
    +WEAPON.NOALERT
    +Ammo_CheckBoth
    Inventory.PickupMessage "\c[White][ \c[DJ_Pink]DNL-93 \"Heartbreaker\" Slugthrower\c- \c[White]]"
    Tag "DNL-93 \"Heartbreaker\""
	Weapon.AmmoType1 "SlugthrowerLoaded"
	Weapon.AmmoType2 "FlareAmmo"
    Weapon.AmmoGive2 3
    Weapon.AmmoUse1 1
	Weapon.AmmoUse2 0
	Weapon.SlotNumber 6
    Weapon.KickBack 5
	Scale 0.45
    Inventory.PickupSound "SLGPKP" 
    Obituary "%o was left heart-broken by %k's Slugthrower."
	Weapon.UpSound "SLGSEL" 
    States
    {
    Spawn:
        SLGC A -1 
        Loop
    Ready:
		SLGT A 0 A_JumpIfInventory("ScopeOn",1,"ScopeOn")
        SLGT A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_ALLOWUSER1|WRF_ALLOWUSER2|WRF_ALLOWUSER3)
        Loop
	ScopedReady:
      SCOP A 1 Bright A_WeaponReady(WRF_ALLOWRELOAD|WRF_NOBOB)
      Loop
    Deselect:
        NULL A 0 A_JumpIf(CountInv("HQGrabbedBarrel") == 1,"ZeroFucksGiven")
	    SLGT A 0 A_JumpIfInventory("ScopeOn",1,"ScopedDeselect")
        SLGT A 1 A_Lower(20)
        Loop
    ScopedDeselect:
      SCOP A 0 Bright A_ZoomFactor(1.0)
      SLZO A 0 A_TakeInventory("RailVision",99)
	  SCOP A 0 A_PlaySoundEX("SLDSEL",CHAN_7)
	  SLZO E 3
	  SLZO D 2
	  SLZO C 1
	  SLZO B 1
      Goto Deselect2
	 Deselect2:
      SLGT A 1 A_Lower(20)
      Loop
    Select:
        TNT1 A 1
        TNT1 A 0 A_JumpIfInventory("HQSlugthrowerToken",1,"SelectNormal") 
        TNT1 A 0 A_Giveinventory("HarleyTalk",1)
		TNT1 A 0 A_Giveinventory("HQSlugthrowerToken",1)
        TNT1 A 0 A_Playsound("HQVSLG",CHAN_VOICE)
        Goto SelectNormal
  SelectNormal:
		SLGT A 1 A_Raise(20)
        Loop
    Fire:
        SLGT A 0 A_JumpIf(CountInv("SlugthrowerLoaded") == 0,"Reload")
		SLGT A 0 A_JumpIfInventory("ScopeOn",1,"ScopedFire")
		SLGT A 0 A_AlertMonsters
	    MAGF A 0 A_FireCustomMissile("ShotSpawn",0,0,6,12,0,0)
	    MAGF A 0 A_FireCustomMissile("MuzzleSmoke",0,0,5,1,0,0)
	    LUGE B 0 A_FireCustomMissile("20mmCaseSpawn2",345+random(-8,8),0,3,-10,0)
	    PMPO AAAAAA 0 A_FireCustomMissile("MuzzleSparks",frandom(-8.0,8.5),0,7,3,FPF_NOAUTOAIM,frandom(-8.0,8.5))
		SLGT B 0 
    	{
	   If (CountInv("SlugthrowerAlt") && CountInv("FlareAmmo2") > 0)
	    {
    	A_PlayWeaponSound("SLGALT");
        A_RailAttack(450,9,1,"None","None",RGF_CENTERZ|RGF_Silent|RGF_explicitangle,0,"SlugEffectNoided", 0,0,8999, 1,0,0,"SlugTrail3",10,0,20);
    	A_TakeInventory("FlareAmmo2",1);
	    }
	   Else
	    {
	    A_PlayWeaponSound("SLGFIR");
        A_RailAttack(400,9,1,"None","None",RGF_CENTERZ|RGF_Silent|RGF_explicitangle,0,"SlugEffect", 0,0,8999, 1,0,0,"SlugTrail1",10,0,4);
    	}
    	}
        SLGF AB 1 BRIGHT
     	SLGF B 0 A_Quake(4, 8, 0, 48576, "None")
     	SLGF B 0 A_SetPitch(Pitch -1.7)
        SLGF CD 1 
		SLGF E 3
		SLGF FGH 2
        goto Ready
	AltFire:
	   SLZO B 1 A_JumpIfInventory("ScopeOn",1,"Unscope")
	   Goto ScopeOn
	ScopeOn:
	   SLZO B 0 A_PlaySoundEX("SLGZOM",CHAN_7)
	   SLZO C 1
	   SLZO D 2
	   SLZO E 3
       SCOP A 0 Bright A_ZoomFactor(4.0)
       SLZO A 0 A_GiveInventory("RailVision",1)
       SLZO A 0 A_GiveInventory("ScopeOn",1)
       Goto ScopedReady
	ScopedFire:
	  SLGT A 0 A_AlertMonsters
      SCOP A 1  
    	{
	   If (CountInv("SlugthrowerAlt") && CountInv("FlareAmmo2") > 0)
	    {
    	A_PlayWeaponSound("SLGALT");
        A_RailAttack(600,0,1,"None","None",RGF_SILENT|RGF_EXPLICITANGLE,0,"SlugEffectNoided", 0,0,8999, 1,0,0,"SlugTrail4",8,0,20);
    	A_TakeInventory("FlareAmmo2",1);
	    }
	   Else
	    {
	    A_PlayWeaponSound("SLGFIR");
        A_RailAttack(550,0,1,"None","None",RGF_SILENT|RGF_EXPLICITANGLE,0,"SlugEffect", 0,0,8999, 1,0,0,"SlugTrail2",8,0,4);
    	}
    	}
	  LUGE B 0 A_FireCustomMissile("20mmCaseSpawn2",345+random(-8,8),0,-18,-4,0)
	  PMPO A 0 A_FireCustomMissile("MuzzleSmoke",frandom(-9.0,9.5),0,7,3,FPF_NOAUTOAIM,frandom(-9.0,9.5))
	  PMPO AAAAAA 0 A_FireCustomMissile("MuzzleSparks",frandom(-8.0,8.5),0,7,3,FPF_NOAUTOAIM,frandom(-8.0,8.5))
      MGNF B 0 A_Quake(2, 4, 0, 48576, "None")
      NULL A 0 A_SetPitch(Pitch -1.2)
	  SCOP A 5 Bright
	  SCOP A 6 Bright 
      Goto ScopedReady
  Unscope:
      SCOP A 0 A_ZoomFactor(1.0)
      SLZO A 0 A_TakeInventory("RailVision",99)
	  SCOP A 0 A_PlaySoundEX("SLDSEL",CHAN_7)
	  SLZO E 3
	  SLZO D 2
	  SLZO C 1
	  SLZO B 1
      SCOP A 0 Bright A_TakeInventory("ScopeOn", 1)
      Goto Ready
  ScopedReload1:
      SCOP A 0 A_ZoomFactor(1.0)
      SLZO A 0 A_TakeInventory("RailVision",99)
	  SLZO E 3
	  SLZO D 2
	  SLZO C 1
	  SLZO B 1
      Goto Reload
  Reload:
  SCOP A 0 A_JumpIfInventory("ScopeOn",1,"ScopedReload")
  BTRO A 0 A_JumpIfInventory("SlugthrowerLoaded", 5, 2)
  SLGT A 0 A_JumpIfInventory("FlareAmmo", 1, "ReloadWork")
  SLGT A 1 A_WeaponReady
  Goto Inspect
  ReloadWork:
  TNT1 A 0 A_GiveInventory("SheReloads",1)
  SLGF H 2
  SLGR ABCDE 2
  SLGR EGH 1
  SLGR I 2
  SLGR J 3
  SLGR KL 1
  AKCR B 0 A_FireCustomMissile("EmptySlugClip",60,0,0,-2)
  SLGR E 0 A_PlaySoundEX("SLGOPN",CHAN_7)
  SLGR F 10
  SLGR MNO 1
  ReloadLoop:
  SLGT H 0 A_TakeInventory("FlareAmmo", 1)
  SLGT H 0 A_GiveInventory("SlugthrowerLoaded", 1)
  SLGT H 0 A_JumpIfInventory("SlugthrowerLoaded", 5, "ReloadFinish")
  SLGT H 0 A_JumpIfInventory("FlareAmmo", 1, "ReloadLoop")
  Goto ReloadFinish
  ReloadFinish:
  SLGR E 0 A_PlaySoundEX("SLGCLS",CHAN_7)
  SLGR P 3
  SLGR QRA 2
  SLGF H 2
  TNT1 A 0 A_TakeInventory("SheReloads",99)
  SLGT A 0 A_JumpIfInventory("ScopeOn",1,"ScopedReload2")
  Goto Ready
  ScopedReload:
  BTRO A 0 A_JumpIfInventory("SlugthrowerLoaded", 5, 2)
  SLGT A 0 A_JumpIfInventory("FlareAmmo", 1, "ScopedReloadWork")
  SCOP A 1 A_WeaponReady(WRF_NOBOB)
  Goto ScopedReady
  ScopedReloadWork:
      SCOP A 0 A_ZoomFactor(1.0)
      SLZO A 0 A_TakeInventory("RailVision",99)
	  SLZO E 3
	  SLZO D 2
	  SLZO C 1
	  SLZO B 1
      Goto ReloadWork
  ScopedReload2:
	SLZO B 1
	SLZO C 1
	SLZO D 2
	SLZO E 3
    SCOP A 0 A_ZoomFactor(4.0)
    SLZO A 0 A_GiveInventory("RailVision",1)
    Goto ScopedReady
  Zoom:
   SLGZ AC 1
   TNT1 A 0 A_Overlay (-3, "QuickMelee")
   SLGZ D 8
   SLGZ CBA 2
   Goto Ready
  User1:
   MELE A 0 A_JumpIfInventory("ThrowableAmmo",1,1)
   Goto GrenadeDry
   SLGZ AC 1
   TNT1 A 0 A_Overlay (-3, "ThrowNao")
   SLGZ D 8
   SLGZ 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
   SLGZ AC 1
   TNT1 A 0 A_Overlay (-3, "InjectorPlunge")
   SLGZ D 30
   SLGZ CBA 2
   Goto Ready
   GrenadeDry:
   SLGT A 1 ACS_NamedExecute("NoGrenades", 0)
   Goto Ready
   HealthFull:
   SLGT A 1 ACS_NamedExecute("FullHealth", 0)
   Goto Ready
   StimDry:
   SLGT A 1 ACS_NamedExecute("NoStims", 0)
   Goto Ready
  User3:
  SOCO A 0 A_JumpIfInventory("SlugthrowerAlt", 1, "AmmoToggle2")
  SOCO A 0 A_JumpIfInventory("FlareAmmo2", 1, "AmmoToggle1")
  Goto AmmoToggle3
  AmmoToggle1:
  SLGT A 1 A_GiveInventory("SlugthrowerAlt", 1)
  Goto AmmoSwapAnim
  AmmoToggle2:
  SLGT A 1 A_TakeInventory("SlugthrowerAlt", 99)
  Goto AmmoSwapAnim
  AmmoToggle3:
  SLGT A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_ALLOWUSER1|WRF_ALLOWUSER2|WRF_ALLOWUSER3)
  Goto Ready
  AmmoSwapAnim:
  SLGF H 2
  SLGR ARQ 1
  SLGR P 3
  SLGR ONM 1
  SLGR E 0 A_PlaySoundEX("SLGOPN",CHAN_7)
  SLGR F 10
  SLGR MNO 1
  SLGR E 0 A_PlaySoundEX("SLGCLS",CHAN_7)
  SLGR P 3
  SLGR QRA 1
  SLGF H 1
  Goto Ready
  Inspect:
   TNT1 A 0 A_GiveInventory("SheReloads",1)
   SLRI ABC 2
   FUNO A 0 A_PlaySoundEX("BTRBAK",CHAN_7)
   SLRI D 1
   Goto InspectHold
  InspectHold:
   SLRI E 2 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSECONDARY)
   NULL A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_RELOAD, "InspectHold")
  Goto InspectFinish
  InspectFinish:
   FUNO A 0 A_PlaySoundEX("BTRFWD",CHAN_7)
   SLRI FGHI 1
   SLRI JA 2
   TNT1 A 0 A_TakeInventory("SheReloads",99)
   Goto Ready
  }
}

ACTOR SlugthrowerLoaded : Ammo
{
   +IGNORESKILL
   Inventory.Amount 0
   Inventory.MaxAmount 5
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 5
  }

ACTOR SlugEffect
{
  RenderStyle Add
  +NOGRAVITY
  +NOBLOCKMAP
  +NOTIMEFREEZE
  +ROLLSPRITE
  +ROLLCENTER
  +NOCLIP
  +ALWAYSPUFF
  +PUFFGETSOWNER
  +PUFFONACTORS
  +HITTRACER
  +FORCEDECAL
  Scale 0.9
  Alpha 0.67
  DamageType "Explosion"
  DeathSound "STGLAHIT"
  Decal "DoomImpScorch"
  States
  {
  Spawn:
    TNT1 A 0
  Death:
  Crash:
    FLCR A 0
	FX08 B 0 A_PlaySound("BATKXPL")
    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_Explode(120,120)
	TNT1 A 0 A_SpawnItemEx("SlugFlash", 15, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
	PTNT I 0 A_SpawnItemEx("SlugShockwave",15, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
	TNT1 A 0 A_ChangeFlag("NOTIMEFREEZE",0)
    TNT1 AAAAAAAAAAA 0 A_SpawnItemEx ("STDarkSmoke",0,0,0,2,0,random(-2,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 A 0 A_CheckFloor("FloorKlutz")
    TNT1 AAA 0 A_SpawnItemEx ("BKExplode2",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("BKExplode",0,0,0,2,0,random(-2,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("BKExplode3",0,0,0,2,0,random(-3,3),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
 	FloorKlutz:
	TNT1 A 0 bright A_SpawnItemEx("STBlast", 0, 0, 0, 0, 0, 2, 0, SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("BKExplode2",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("BKExplode",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("BKExplode3",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
  XDeath:
    TNT1 A 0 A_Explode(60,60)
	FLCR A 0 A_AlertMonsters
    TNT1 AAAAA 0 A_CustomMissile("STDarkSmoke",0,0,Random(0,360),2,Random(0,360))
	TNT1 A 0 A_SpawnItemEx("SlugFlash", 15, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
	PTNT I 0 A_SpawnItemEx("SlugShockwave",15, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
	Stop
   }
  }

ACTOR SlugEffectNoided
{
  RenderStyle Add
  +NOGRAVITY
  +NOBLOCKMAP
  +NOTIMEFREEZE
  +ROLLSPRITE
  +ROLLCENTER
  +NOCLIP
  +ALWAYSPUFF
  +PUFFGETSOWNER
  +PUFFONACTORS
  +HITTRACER
  +FORCEDECAL
  +FORCERADIUSDMG
  +FORCEPAIN
  Scale 0.9
  Alpha 0.67
  DamageType "Explosion"
  DeathSound "STGLAHIT"
  Decal "DoomImpScorch"
  States
  {
  Spawn:
    TNT1 A 0
  Death:
  Crash:
    FLCR A 0
	FX08 B 0 A_PlaySound("BATKXPL")
    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_Explode(120,120)
	TNT1 A 0 A_SpawnItemEx("SlugFlash", 15, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
	PTNT I 0 A_SpawnItemEx("SlugShockwave",15, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
	TNT1 A 0 A_ChangeFlag("NOTIMEFREEZE",0)
    TNT1 AAAAAAAAAAA 0 A_SpawnItemEx ("STDarkSmoke",0,0,0,2,0,random(-2,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 A 0 A_CheckFloor("FloorKlutz")
	FLFR M 0 BRIGHT A_SpawnItemEx("PenetratorSlug", 0, 0, 0, -45, 0, 0, 0, SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("SlugHPExplode2",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("SlugHPExplode",0,0,0,2,0,random(-2,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("SlugHPExplode3",0,0,0,2,0,random(-3,3),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
 	FloorKlutz:
	TNT1 A 0 bright A_SpawnItemEx("STBlast", 0, 0, 0, 0, 0, 2, 0, SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("SlugHPExplode2",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("SlugHPExplode",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("SlugHPExplode3",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
  XDeath:
	FLCR A 0 A_AlertMonsters
	PTNT I 0 A_RadiusThrust(150, 100, RTF_AFFECTSOURCE|RTF_THRUSTZ)
    TNT1 A 0 A_Explode(120,120)
    TNT1 AAAAA 0 A_CustomMissile("STDarkSmoke",0,0,Random(0,360),2,Random(0,360))
	TNT1 A 0 A_SpawnItemEx("SlugFlash", 15, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
	PTNT I 0 A_SpawnItemEx("SlugShockwave",15, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
    TNT1 A 0 A_CheckFloor("FloorKlutz")
    TNT1 AAA 0 A_SpawnItemEx ("SlugHPExplode2",0,0,0,2,0,random(-1,1),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("SlugHPExplode",0,0,0,2,0,random(-2,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("SlugHPExplode3",0,0,0,2,0,random(-3,3),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
 	FloorKlutz:
	TNT1 A 0 bright A_SpawnItemEx("STBlast", 0, 0, 0, 0, 0, 2, 0, SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("SlugHPExplode2",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAAAA 0 A_SpawnItemEx ("SlugHPExplode",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 AAA 0 A_SpawnItemEx ("SlugHPExplode3",0,0,0,2,0,random(1,2),random(0,359),SXF_CLIENTSIDE)
    TNT1 EEEEE 1 A_Quake(15,18,0,500,"none")
    Stop
	Stop
   }
  }

aCTOR PenetratorSlug
{
	PROJECTILE
	+Missile
	+NOCLIP
	+NOBLOCKMAP
	+NOINTERACTION
	Radius 2
	Height 2
	Speed 40
	Damagetype "Extreme"
	States
	{
		Spawn:
			RAIL A 0
			RAIL A 0 A_CheckFloor("XDeath")
			RAIL A 0 A_Checkceiling("XDeath")
			TNT1 A 1
			RAIL A 0 BRIGHT A_CustomMissile("SlugEffect", 0, 0, 0, 2, momz)
			Stop
		XDeath:
			RAIL A 0
			Stop
	}
}

actor SlugTrail1
{
	Scale 0.4
	Alpha 0.9
	RenderStyle "Add"
	+NOGRAVITY
	+NOTIMEFREEZE
	States
	{
	Spawn:
	    TNT1 A 0
		TNT1 A 1 A_CheckProximity("SpawnNone","PlayerPawn",130,1,CPXF_ANCESTOR)
		BLS1 A 0 A_ChangeFlag("NOTIMEFREEZE",0)
		BLS1 AC 1
		Goto Spawn2
	Spawn2:
	    BLS1 E 1 Bright A_Fadeout(0.2,1)
		BLS1 E 1 Bright A_SetScale(ScaleX - 0.08)
		Loop
	SpawnNone:
	    TNT1 A 1 
		Stop
		}
}

actor SlugTrail2 : SlugTrail1
{
	Scale 0.2
	States
	{
	Spawn:
	    TNT1 A 0
		TNT1 A 1 A_CheckProximity("SpawnNone","PlayerPawn",130,1,CPXF_ANCESTOR)
		BLS1 A 0 A_ChangeFlag("NOTIMEFREEZE",0)
		BLS1 AC 1
		Goto Spawn2
	Spawn2:
	    BLS1 E 1 Bright A_Fadeout(0.1,1)
		BLS1 E 1 Bright A_SetScale(ScaleX - 0.02)
		Loop
		}
}

actor SlugTrail3 : SlugTrail1
{
	Scale 0.4
	States
	{
	Spawn:
	    TNT1 A 0
		TNT1 A 1 A_CheckProximity("SpawnNone","PlayerPawn",130,1,CPXF_ANCESTOR)
		BLS2 A 0 A_ChangeFlag("NOTIMEFREEZE",0)
		BLS2 AC 1
		Goto Spawn2
	Spawn2:
	    BLS2 E 1 Bright A_Fadeout(0.2,1)
		BLS2 E 1 Bright A_SetScale(ScaleX - 0.08)
		Loop
		}
}

actor SlugTrail4 : SlugTrail3
{
	Scale 0.2
	States
	{
	Spawn:
	    TNT1 A 0
		TNT1 A 1 A_CheckProximity("SpawnNone","PlayerPawn",130,1,CPXF_ANCESTOR)
		BLS2 A 0 A_ChangeFlag("NOTIMEFREEZE",0)
		BLS2 AC 1
		Goto Spawn2
	Spawn2:
	    BLS2 E 1 Bright A_Fadeout(0.1,1)
		BLS2 E 1 Bright A_SetScale(ScaleX - 0.02)
		Loop
		}
}

ACTOR RailVision : PowerLightAmp
{
  Powerup.Duration 0x7FFFFFFD
  Powerup.Colormap 0.25, 1.0, 0.75
}

ACTOR ScopeOn : QuinnBoolean { Inventory.MaxAmount 1 }
ACTOR SlugthrowerAlt : QuinnBoolean { Inventory.MaxAmount 1 }
