/*
CREDITS:

Sprites:
Weapon - Neccronixus, from bits by Marty Kirra
Pickup by me.

Sounds:
Up - ? (Wildweasel could propably enlighten me, but I am too lazy to ask. :3)
Start, loop, end - Blizzard (Starcraft 2)
Zoom in, zoom out - Valve (Half-Life 2)
Ear-raping soundwave... sounds, all of them - EA (C&C3)
*/


ACTOR Channeler : Weapon 24525
{
   //$Category Weapons
   //$Title Channeler
   //$Sprite CHLGX0
   Inventory.PickupSound "misc/w_pkup"
   Inventory.PickupMessage "Picked up the ''Channeler'' mark II plasma projection weapon! I don't need to see something to kill it. See?! (7)"
   Obituary "%k didn't need no steenkin' aim to kill %o."
   Weapon.UpSound "Weapons/ChannelerUp" 
   Weapon.SelectionOrder 2
   Weapon.AmmoGive 75
   Weapon.AmmoType "PlasmaAmmo"
   Weapon.AmmoUse 1
   Weapon.AmmoGive2 75
   Weapon.AmmoType2 "PlasmaAmmo"
   Weapon.AmmoUse2 20
   Weapon.Kickback 25
   Weapon.SlotNumber 7
   +NOAUTOAIM
   +NOALERT
   States
   {
   Spawn:
      CHLG X -1
      Stop
   Ready:
      CHLG A 0 A_JumpIfInventory("Zoomed",1,"ZoomedReady")
      CHLG A 1 A_WeaponReady
	  TNT1 A 0 A_JumpIfInventory("RO_GotoZoom", 1, "Zoom")
      Loop
   Deselect:
      CHLG A 0 A_JumpIfInventory("Zoomed",1,"ZoomedDeselect")
      CHLG A 0 A_ZoomFactor(1)
      CHLG A 0 A_SetTranslucent(1,0)
      CHLG A 0 A_StopSoundEx("SoundSlot5")
      CHLG A 1 A_Lower
      CHLG A 0 A_Lower
      Loop
   Select:
      CHLG A 0 A_TakeInventory("ChannelerCounter",99)
      CHLG A 1 A_Raise
      CHLG A 0 A_Raise
      Loop
   Fire:
      CHLF A 0 A_JumpIfInventory("Zoomed",1,"ZoomedFire")
      CHLF A 0 A_PlayWeaponSound("Weapons/ChannelerStart")
      CHLF A 0 A_ZoomFactor(0.9)
      CHLF A 0 A_SetBlend("Blue",0.3,3)
   Hold:
      CHLF A 0 A_JumpIfInventory("Zoomed",1,"ZoomedHold")
      CHLF A 0 A_PlaySoundEx("weapons/ChannelerLoop","SoundSlot5",1)
      
      CHLF A 0 A_JumpIfNoAmmo("Endo")
      CHLF A 0 A_SetBlend("Blue",0.1,3)
      CHLF A 0 A_Recoil(0.5)
      CHLF A 0 A_AlertMonsters
      CHLF A 0 A_Quake (2, 3, 0, 3, none)
      CHLF A 0 ACS_Execute(851,0,20+random(10,-10),15+random(5,-5))
      CHLF A 1 Bright A_FireCustomMissile("ChannelerBeam",frandom(1,-1),1,8,0,0,frandom(1,-1))
      CHLF B 1 Bright
            
      CHLF A 0 A_JumpIfNoAmmo("Endo")
      CHLF A 0 A_SetBlend("Blue",0.1,3)
      CHLF A 0 A_Recoil(0.6)
      CHLF A 0 A_AlertMonsters
      CHLF A 0 A_Quake (2, 3, 0, 3, none)
      CHLF A 0 ACS_Execute(851,0,20+random(10,-10),15+random(5,-5))
      CHLF A 1 Bright A_FireCustomMissile("ChannelerBeam",frandom(1,-1),1,8,0,0,frandom(1,-1))
      CHLF B 1 Bright
      
      CHLF A 0 A_JumpIfNoAmmo("Endo")
      CHLF A 0 A_SetBlend("Blue",0.1,3)
      CHLF A 0 A_Recoil(0.5)
      CHLF A 0 A_AlertMonsters
      CHLF A 0 A_Quake (2, 3, 0, 3, none)
      CHLF A 0 ACS_Execute(851,0,20+random(10,-10),15+random(5,-5))
      CHLF A 1 Bright A_FireCustomMissile("ChannelerBeam",frandom(1,-1),1,8,0,0,frandom(1,-1))
      CHLF B 1 Bright
      
      CHLF A 0 A_JumpIfNoAmmo("Endo")
      CHLF A 0 A_SetBlend("Blue",0.1,3)
      CHLF A 0 A_Recoil(0.6)
      CHLF A 0 A_AlertMonsters
      CHLF A 0 A_Quake (2, 3, 0, 3, none)
      CHLF A 0 ACS_Execute(851,0,20+random(10,-10),15+random(5,-5))
      CHLF A 1 Bright A_FireCustomMissile("ChannelerBeam",frandom(1,-1),1,8,0,0,frandom(1,-1))
      CHLF B 1 Bright
      CHLG A 0 A_Refire
   Endo:
      CHLF A 0 A_JumpIfInventory("Zoomed",1,"ZoomedEndo")
      CHLF C 0 A_StopSoundEx("SoundSlot5")
      CHLF C 0 A_Quake (3, 7, 0, 3, none)
      CHLF C 0 A_PlayWeaponSound("weapons/ChannelerStop")
      CHLF C 1 Bright A_ZoomFactor(0.95)
      CHLF D 1 Bright A_ZoomFactor(0.98)
      CHLF E 1 Bright A_ZoomFactor(0.99)
      CHLG A 10 A_ZoomFactor(1)
      Goto Ready
   AltFire:
      CHLF A 0 A_JumpIfInventory("Zoomed",1,"ZoomedAltFire")

      CHLZ A 0 A_PlaySound("weapons/DisruptorLayer",6)
      CHLZ A 0 A_PlaySound("weapons/DisruptorWave",1,0.65)
      CHLZ A 0 A_PlaySound("weapons/DisruptorBlast",5)

      CHLF A 0 A_ZoomFactor(0.8)
      CHLZ A 0 A_SetBlend("Blue",0.3,18)      
      CHLF A 0 A_Recoil(15)
      CHLF A 0 A_AlertMonsters
      CHLF A 0 ACS_Execute(851,0,60+random(10,-10),40+random(5,-5))

      CHLF A 1 Bright A_FireCustomMissile("DisruptionProjectile",0,1,8,0,0,0)
      CHLF A 0 ACS_Execute(851,0,30+random(10,-10),20+random(5,-5))
      CHLF B 1 Bright A_ZoomFactor(0.815)
      CHLF A 1 Bright A_ZoomFactor(0.825)
      CHLF B 1 Bright A_ZoomFactor(0.85)
      CHLF C 1 Bright A_ZoomFactor(0.875)
      CHLF D 1 Bright A_ZoomFactor(0.9)
      CHLF E 1 Bright A_ZoomFactor(0.925)
      CHLG A 1 A_ZoomFactor(0.95)
      CHLG A 1 A_ZoomFactor(0.975)
      CHLG A 1 A_ZoomFactor(0.985)
      CHLG A 35 A_ZoomFactor(1)
      Goto Ready



   Zoom: //ZoomIn
      CHLG A 0 A_JumpIfInventory("Zoomed",1,"UnZoom")

      CHLG A 0 A_GiveInventory("Zoomed",1)
      CHLG A 0 A_PlaySoundEx("Weapons/ChannelerZoomIn","SoundSlot5")

      CHLG A 1 A_SetBlend("Black",0.15,3)
      CHLG A 1 A_SetBlend("Black",0.3,3)
      CHLG A 1 A_SetBlend("Black",0.45,3)
      CHLG A 1 A_SetBlend("Black",0.6,3)
      CHLG A 1 A_SetBlend("Black",0.75,3)
      CHLG A 1 A_SetBlend("Black",0.9,3)

      CHLG AAAAAAAAAA 1 A_SetBlend("Black",1,11)
      
      CHLZ A 0 A_ZoomFactor(3.00)
      CHLZ A 0 A_SetTranslucent(0.98,0)
      CHLZ A 1 A_SetBlend("Black",0.9,3)
      
      CHLZ A 0 A_SetTranslucent(0.96,0)
      CHLZ A 1 A_SetBlend("Black",0.85,3)
      
      CHLZ A 0 A_SetTranslucent(0.84,0)
      CHLZ A 1 A_SetBlend("Black",0.75,3)
      
      CHLZ A 0 A_SetTranslucent(0.82,0)
      CHLZ A 1 A_SetBlend("Black",0.65,3)
      
      CHLZ A 0 A_SetTranslucent(0.81,0)
      CHLZ A 1 A_SetBlend("Black",0.55,3)
      
      CHLZ A 0 A_SetTranslucent(0.8,0)
      CHLZ A 1 A_SetBlend("Black",0.45,3)
      
      CHLZ A 1 A_SetBlend("Black",0.4,3)
      CHLZ A 1 A_SetBlend("Black",0.36,3)
      CHLZ A 1 A_SetBlend("Black",0.34,3)
      CHLZ A 1 A_SetBlend("Black",0.33,3)
      CHLZ A 1 A_SetBlend("Black",0.32,3)
      CHLZ A 1 A_SetBlend("Black",0.31,3)
      CHLZ AAAAA 1 A_SetBlend("Blue",0.1,3)
      Goto ZoomedReady
   ZoomedReady:
      CHLZ A 0 A_SetBlend("Blue",0.1,3)
	  TNT1 A 0 A_JumpIfInventory("RO_GotoZoom", 1, "Zoom")
      CHLZ A 1 A_WeaponReady(WRF_NOBOB)
      Goto Ready
   UnZoom:
      CHLZ A 0 A_PlaySoundEx("Weapons/ChannelerZoomOut","SoundSlot5")
      CHLZ A 0 A_TakeInventory("Zoomed",999)

      CHLZ A 0 A_SetTranslucent(0.9,0)
      CHLZ A 1 A_SetBlend("Black",0.35,3) 
      
      CHLZ A 0 A_SetTranslucent(0.92,0)
      CHLZ A 1 A_SetBlend("Black",0.4,3)
      
      CHLZ A 0 A_SetTranslucent(0.94,0)
      CHLZ A 1 A_SetBlend("Black",0.45,3)
      CHLZ A 0 A_ZoomFactor(1.00)
      
      CHLZ A 0 A_SetTranslucent(0.96,0)
      CHLZ A 1 A_SetBlend("Black",0.6,3)
      
      CHLZ A 0 A_SetTranslucent(0.98,0)
      CHLZ A 1 A_SetBlend("Black",0.75,3)
      
      CHLZ A 0 A_SetTranslucent(1,0)
      CHLZ A 1 A_SetBlend("Black",0.9,3)
      
      CHLG A 16 A_SetBlend("Black",1.1,25)
      Goto Ready
  ZoomedDeselect:
      CHLZ A 0 A_PlaySoundEx("Weapons/ChannelerZoomOut","SoundSlot5")
      CHLZ A 0 A_TakeInventory("Zoomed",999)

      CHLZ A 0 A_SetTranslucent(0.9,0)
      CHLZ A 1 A_SetBlend("Black",0.35,3) 
      
      CHLZ A 0 A_SetTranslucent(0.92,0)
      CHLZ A 1 A_SetBlend("Black",0.4,3)
      
      CHLZ A 0 A_SetTranslucent(0.94,0)
      CHLZ A 1 A_SetBlend("Black",0.45,3)
      CHLZ A 0 A_ZoomFactor(1.00)
      
      CHLZ A 0 A_SetTranslucent(0.96,0)
      CHLZ A 1 A_SetBlend("Black",0.6,3)
      
      CHLZ A 0 A_SetTranslucent(0.98,0)
      CHLZ A 1 A_SetBlend("Black",0.75,3)
      
      CHLZ A 0 A_SetTranslucent(1,0)
      CHLZ A 1 A_SetBlend("Black",0.9,3)
      
      CHLZ AAAAAAAAAA 1 A_SetBlend("Black",1,3)
      
      CHLG A 16 A_SetBlend("Black",1.1,25)
  ZoomedDeselectMain:
      CHLG A 1 A_Lower
      CHLG A 0 A_Lower
      Loop

   ZoomedFire:
      CHLZ A 0 A_PlayWeaponSound("Weapons/ChannelerStart")
      CHLZ A 0 A_ZoomFactor(2.96)
      CHLZ A 0 A_SetBlend("Blue",0.3,3)
   ZoomedHold:
      CHLZ A 0 A_PlaySoundEx("weapons/ChannelerLoop","SoundSlot5",1)
      
      CHLZ A 0 A_JumpIfNoAmmo("Endo")
      CHLZ A 0 A_SetBlend("Blue",0.25,3)
      CHLZ A 0 A_Recoil(0.25)
      CHLZ A 0 A_Quake (3, 3, 0, 3, none)
      CHLZ A 0 ACS_Execute(851,0,10+random(5,-5),random(5,-5))
      CHLZ B 1 Bright A_FireCustomMissile("ChannelerBeam",0,1,0,-5)
      CHLZ B 1 Bright
            
      CHLZ A 0 A_JumpIfNoAmmo("Endo")
      CHLZ A 0 A_SetBlend("Blue",0.2,3)
      CHLZ A 0 A_Recoil(0.3)
      CHLZ A 0 A_Quake (3, 3, 0, 3, none)
      CHLZ A 0 ACS_Execute(851,0,10+random(5,-5),random(5,-5))
      CHLZ B 1 Bright A_FireCustomMissile("ChannelerBeam",0,1,0,-5)
      CHLZ B 1 Bright
      
      CHLZ A 0 A_JumpIfNoAmmo("Endo")
      CHLZ A 0 A_SetBlend("Blue",0.25,3)
      CHLZ A 0 A_Recoil(0.25)
      CHLZ A 0 A_Quake (3, 3, 0, 3, none)
      CHLZ A 0 ACS_Execute(851,0,10+random(5,-5),random(5,-5))
      CHLZ B 1 Bright A_FireCustomMissile("ChannelerBeam",0,1,0,-5)
      CHLZ B 1 Bright
      
      CHLZ A 0 A_JumpIfNoAmmo("Endo")
      CHLZ A 0 A_SetBlend("Blue",0.2,3)
      CHLZ A 0 A_Recoil(0.3)
      CHLZ A 0 A_Quake (3, 3, 0, 3, none)
      CHLZ A 0 ACS_Execute(851,0,10+random(5,-5),random(5,-5))
      CHLZ B 1 Bright A_FireCustomMissile("ChannelerBeam",0,1,0,-5)
      CHLZ B 1 Bright
      
      CHLG B 0 A_Refire
   ZoomedEndo:
      CHLZ B 0 A_StopSoundEx("SoundSlot5")
      CHLZ B 0 A_Quake (5, 7, 0, 3, none)
      CHLZ B 0 A_PlayWeaponSound("weapons/ChannelerStop")
      CHLZ A 0 A_SetBlend("Blue",0.1,3)
      CHLZ B 1 A_ZoomFactor(2.97)
      CHLZ A 0 A_SetBlend("Blue",0.1,3)
      CHLZ B 1 A_ZoomFactor(2.98)
      CHLZ A 0 A_SetBlend("Blue",0.1,3)
      CHLZ B 1 A_ZoomFactor(2.99)
      CHLZ A 0 A_SetBlend("Blue",0.1,3)
      CHLZ B 1 A_ZoomFactor(3)
      CHLZ A 0 A_GiveInventory("ChannelerCounter",9)
   HorsieOverdrive:
      CHLZ A 0 A_JumpIfInventory("ChannelerCounter",1,1)
      Goto Ready
      CHLZ A 0 A_TakeInventory("ChannelerCounter",1)
      CHLZ A 0 A_SetBlend("Blue",0.1,3)
      CHLZ B 1
      Goto HorsieOverdrive
   ZoomedAltFire:
      CHLZ A 0 A_SetBlend("Blue",0.4,16)
      CHLZ A 0 A_PlaySound("weapons/DisruptorLayer",6)
      CHLZ A 0 A_PlaySound("weapons/DisruptorWave",1,0.65)
      CHLZ A 0 A_PlaySound("weapons/DisruptorBlast",5)
      CHLZ A 0 A_Recoil(10)
      CHLF A 0 A_AlertMonsters
      CHLZ A 0 ACS_Execute(851,0,50+random(5,-5),30+random(5,-5))
	  CHLZ A 0 A_FireCustomMissile("DisruptionProjectile",0,1,0,-5,1,0)
	  
      CHLZ B 1 Bright A_ZoomFactor(2.7)
	  CHLZ B 0 ACS_Execute(851,0,25+random(5,-5),15+random(5,-5))
      CHLZ B 1 Bright A_ZoomFactor(2.75)
      CHLZ B 1 Bright A_ZoomFactor(2.8)
	  CHLZ B 1 Bright A_ZoomFactor(2.85)
	  CHLZ B 1 Bright A_ZoomFactor(2.875)
	  CHLZ B 1 Bright A_ZoomFactor(2.9)
	  CHLZ B 1 Bright A_ZoomFactor(2.925)
	  CHLZ B 1 Bright A_ZoomFactor(2.94)
	  CHLZ B 1 Bright A_ZoomFactor(2.95)
	  CHLZ B 1 Bright A_ZoomFactor(2.96)
	  CHLZ B 1 Bright A_ZoomFactor(2.97)
	  CHLZ B 1 Bright A_ZoomFactor(2.98)
	  CHLZ B 1 Bright A_ZoomFactor(2.99)
	  CHLZ B 1 Bright A_ZoomFactor(3.0)
      CHLZ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_SetBlend("Blue",0.1,3)
      Goto Ready
   }
}

ACTOR ChannelerCounter : Inventory
{
  Inventory.MaxAmount 99
}

Actor ChannelerBeam : FastProjectile
{
  Speed 100
  Radius 11
  Height 8
  Damage 13
  MissileType "ChannelerTrailSpawner"
  Obituary "%k didn't need no steenkin' aim to kill %o."
  DamageType Nope
  +DONTBLAST
  +RIPPER
  states
  {
  Spawn:
    TNT1 A 1
    Loop
  XDeath:
    TNT1 A 1 A_SpawnItemEx("ChannelerHit",0,0,0,0,0,0,0,128,0)
    stop
  Death:
    PLSE A 0 A_CustomMissile("ChannelerSeductor",0,0,0,4,0)
    TNT1 AAAAA 0 A_SpawnItemEx("ChannelerHit2",random(2,-2),random(2,-2),-5+random(2,-2),frandom(4,1),frandom(4,1),frandom(6,4),frandom(0,359),128,0)
    TNT1 A 1
    stop
  }
}

ACTOR ChannelerSeductor
{
   Radius 0
   Height 0
   +ISMONSTER
   +FRIENDLY
   +LOOKALLAROUND
   +NOBLOCKMONST
   +NOGRAVITY
   +NOINTERACTION
   +DONTBLAST
   Obituary "%o was burned by %k's volatile plasma."
   States
   {
   Spawn:
      TNT1 A 0
      TNT1 A 1 A_LookEx(0,0,512,512,0,"See")
      Stop
   See:
   Missile:
      TNT1 A 0 A_FaceTarget
      TNT1 A 1 A_CustomMissile("ChannelerBeam2",0,0,0)
      Stop
   XDeath:
      TNT1 A 1
      stop
   Death:
      TNT1 A 1
      stop
   }
}

Actor ChannelerBeam2 : ChannelerBeam
{
+CLIENTSIDEONLY
  states
  {
  Death:
    TNT1 AAAAA 0 A_SpawnItemEx("ChannelerHit2",random(2,-2),random(2,-2),-5+random(2,-2),frandom(4,1),frandom(4,1),frandom(6,4),frandom(0,359),128,0)
    TNT1 A 1
    stop
  }
}

ACTOR ChannelerTrailSpawner
{
  +NOGRAVITY
  +NOINTERACTION
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx ("ChannelerTrail", random(-2, 2), random(-2, 2), 6+random(-2, 2), 0, 0, 0, 0, 128, 0)
    stop
  }
}

ACTOR ChannelerTrail
{
  RenderStyle Add
  Scale 0.25
  Alpha 0.8
  +NOINTERACTION
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    CHLR A 0
    CHLR A 0 A_FadeOut(0.2)
    CHLR A 1 //A_SetScale(ScaleX+0.1, ScaleY+0.1)
    Loop
  }
}

ACTOR ChannelerHit : ChannelerTrail
{
  Scale 2
  Alpha 0.9
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    CHLR A 0
    CHLR A 0 A_FadeOut(0.2)
    CHLR A 1 //A_SetScale(ScaleX-0.1, ScaleY-0.1)
    Loop
  }
}

ACTOR ChannelerHit2 : ChannelerTrail
{
  Scale 0.1
  Alpha 0.9
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    CHLR A 0
    CHLR A 0 A_FadeOut(0.1)
    CHLR A 1 //A_SetScale(ScaleX+0.05, ScaleY+0.05)
    Loop
  }
}

//SCOPED FIRE

Actor DisruptionProjectile
{
  Speed 60
  Radius 11
  Height 8
  Damage 1
  Obituary "%o was om nom nom'd by %k's harmonic soundwave earrape."
  +DONTBLAST
  +RIPPER
  +MISSILE
  +STEPMISSILE
  +DROPOFF
  +NOEXPLODEFLOOR
  +THRUACTORS
  +FORCERADIUSDMG
  +BLOODLESSIMPACT
  +THRUGHOST
  +EXPLODEONWATER
  MaxStepHeight 36
  Gravity 0.25
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Quake(5,1,0,256)
    TNT1 A 0 A_SpawnItemEx("DisruptionGLDEF") 
    TNT1 A 0 A_SpawnItemEx("DisruptionRingSpawner",random(15,-15),random(15,-15),random(0,15),frandom(0.1,0.25),frandom(0.1,0.25),frandom(0.1,0.25),random(0,359),128,0)
    TNT1 A 0 A_SpawnItemEx("DisruptionSmoke",random(15,-15),random(15,-15),random(0,15),frandom(0.1,0.25),frandom(0.1,0.25),frandom(0.1,0.25),random(0,359),128,0)
    TNT1 A 1 A_Explode(400,192,0,0)
    Loop
  Crash:
  Death:
    TNT1 A 1
    stop
  }
}

ACTOR DisruptionRing
{
  +NOINTERACTION
  +NOGRAVITY
  +CLIENTSIDEONLY
  Renderstyle Add
  Scale 2.5
  States
  {
  Spawn:
    CHLR A 0
    CHLR A 0 A_FadeOut(0.05)
    CHLR A 1 //A_SetScale(ScaleX-0.1, ScaleY-0.1)
    Loop
  }
}

ACTOR DisruptionRingSpawner
{
  +NOINTERACTION
  +NOGRAVITY
  +CLIENTSIDEONLY
  ReactionTime 7
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Countdown
    TNT1 A 2 A_SpawnItemEx("DisruptionRing",random(15,-15),random(15,-15),random(1,15),frandom(0.5,-0.5),frandom(0.5,-0.5),random(1,10),random(0,359),128,0)
    Loop
  Death:
    TNT1 A 1
    Stop
  }
}

ACTOR DisruptionSmoke
{ 
    Scale 1
    Alpha 0.9
    RenderStyle Add
    +NOINTERACTION
    +NOGRAVITY
	+CLIENTSIDEONLY
    +THRUGHOST
    +DONTSPLASH
    States
    {
    Spawn:
      ISMK A 0
      ISMK A 0 A_Jump(255,"SmokeA","SmokeB","SmokeC","SmokeD","SmokeE","SmokeF","SmokeG","SmokeH","SmokeI","SmokeJ","SmokeK")
    SmokeA:
      ISMK A 0 A_FadeOut(0.05)
      ISMK A 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeB:
      ISMK A 0 A_FadeOut(0.05)
      ISMK B 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeC:
      ISMK A 0 A_FadeOut(0.05)
      ISMK C 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeD:
      ISMK A 0 A_FadeOut(0.05)
      ISMK D 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeE:
      ISMK A 0 A_FadeOut(0.05)
      ISMK E 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeF:
      ISMK A 0 A_FadeOut(0.05)
      ISMK F 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeG:
      ISMK A 0 A_FadeOut(0.05)
      ISMK G 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeH:
      ISMK A 0 A_FadeOut(0.05)
      ISMK H 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeI:
      ISMK A 0 A_FadeOut(0.05)
      ISMK I 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeJ:
      ISMK A 0 A_FadeOut(0.05)
      ISMK J 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    SmokeK:
      ISMK A 0 A_FadeOut(0.05)
      ISMK A 3 //A_SetScale(ScaleX +0.005, ScaleY +0.005)
      Loop
    }
}

ACTOR DisruptionGLDEF
{
  +NOINTERACTION
  +CLIENTSIDEONLY
  +NOGRAVITY
  States
  {
  Spawn:
    TNT1 A 35
    Stop
  }
}
