//Weapon: Freeze Thrower
//By: Cutmanmike

ACTOR FreezeThrower : Weapon 25015
{
   Inventory.PickupSound "misc/w_pkup"
   Inventory.PickupMessage "You got the Freeze Thrower!"
   Obituary "%o was frozen by %k's Freeze Thrower" 
   Weapon.AmmoType "Cell"
   Weapon.AmmoGive 20
   Weapon.AmmoUse 1
   Weapon.AmmoType2 "Cell"
   Weapon.AmmoUse2 2
   Weapon.SlotNumber 6
   Weapon.Kickback 0
   Weapon.YAdjust 0
   AttackSound "weapons/frzshot"
   States
   {
   Spawn:
      FREZ P -1
      Loop
   Ready:
      FREZ A 1 A_WeaponReady
      Loop
   Deselect:
      FREZ A 1 A_Lower
      Loop
   Select:
      FREZ A 1 A_Raise
      Loop
   Fire:
      FREZ A 0 A_JumpIfNoAmmo(1)
      FREZ C 0 A_FireCustomMissile("FreezeBall", 0, 1, 6, 0)
      FREZ C 2 A_GunFlash
      FREZ D 2
      FREZ E 2
      FREZ E 0 A_Playsound("weapons/frzshot")
      FREZ F 2
      FREZ C 2
      FREZ A 0 A_ReFire
      goto Ready   
   AltFire:
      FREZ A 0 A_JumpIfNoAmmo(1)
      FREZ C 0 A_Playsound("weapons/frzball")
      FREZ CCCCC 2 A_FireCustomMissile("FreezeVapor", 0, 1, 6, 0)
      FREZ A 0 A_ReFire
      Goto Ready   
   Flash:
      FREZ C 0
      Stop
   }
}

ACTOR FreezeBall
{
   Speed 30
   Damage 10
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.5
   +HEXENBOUNCE
   DamageType 'Ice'
   States
   {
   Spawn:
      FREZ I 2
      FREZ J 2
      FREZ H 2
      FREZ I 2
      FREZ J 2
      FREZ H 2
      FREZ I 2
      FREZ J 2
      FREZ H 2
      FREZ I 2	
      FREZ J 2
      FREZ H 2
      FREZ I 2
      FREZ J 2
      FREZ H 2
      FREZ I 2
      FREZ J 2
      FREZ H 2
      FREZ H 0 A_Die
      Goto Death
   Death:
      FREZ J 2
      FREZ K 2
      FREZ L 2
      FREZ M 2
      FREZ N 2
      FREZ O 2
      Stop
   }
}

ACTOR FreezeVapor
{
   Speed 9
   Damage 1
   PROJECTILE
   Radius 2
   Height 2
   +RIPPER
   +ICEDAMAGE
   RENDERSTYLE TRANSLUCENT
   ALPHA 0.2
   States
   {
   Spawn:
      PLSK AB 1
      PLSS CDEFGHIJKLMNOPQRSTUVWXYZ 1
      PLSZ ABC 1
      Stop
   Death:
      PLSZ C 0
      Stop 
   } 
}

Actor objectroot 
{
	-SHOOTABLE
	+NODAMAGE
	+NOGRAVITY
	+SOLID
	//$Arg0 Has Gravity-0-1
//$Arg0Default 0

	//$Arg1 Is Solid-0-1
//$Arg1Default 0

	//$Arg2 Is Shootable-0-1
//$Arg2Default 0

	//$Arg3 Takes Damage-0-1
//$Arg3Default 0

}
actor shelves 
{
//Source: Silent Hill 3
	height 64
	radius 12
	-SHOOTABLE
	+NODAMAGE
	+NOGRAVITY
	-SOLID
	//$Category 3D-Furniture
	scale 1
	States {
		Spawn:
			0001 A -1
			loop
	}
}
actor filecabinet2 
{
//Source: Silent Hill 3
	height 70
	radius 8
	-SHOOTABLE
	+NODAMAGE
	+NOGRAVITY
	+SOLID
	scale .55
		//$Category 3D-Furniture
	States {
		Spawn:
			0001 A -1
			loop
	}
}

actor keyboard 
{
//Source: Silent Hill 3
	height 8
	radius 12
	-SHOOTABLE
	+NODAMAGE
	+NOGRAVITY
	-SOLID
	scale .06
		//$Category 3D-SmallObjects
	States {
		Spawn:
			0001 A -1
			loop
	}
}

actor Forklift 
{
//source: Batman: Arkham Origins
	height 72
	radius 16
	-SHOOTABLE
	+NODAMAGE
	+NOGRAVITY
	+SOLID
  //$Category 3D-Vehicles
	scale 1
	States {
		Spawn:
			0001 A -1
			loop
	}
}

ACTOR Pistool : DoomWeapon 
{
	Obituary "%o was killed by %k's Semi-Auto Pistol."
    Weapon.SelectionOrder 1900
	Weapon.SlotNumber 2
	Weapon.AmmoUse 1
    Weapon.AmmoType Clip
	Weapon.AmmoType2 Clip
	Weapon.AmmoUse2 1
	Weapon.AmmoGive 50
	Inventory.PickupMessage "You got the Semi-Auto Pistol!"
    +Weapon.NOAUTOFIRE
    Tag "$TAG_RIFLE"
	Decal "BulletChip"
	
	
    States
    {
		Spawn:
		PIST P -1
		Stop
    Ready:
        PIST A 1 A_WEAPONREADY
        Loop
    
    Deselect:
        PIST A 1 A_LOWER
        Loop
    
    Select:
    PIST A 1 A_RAISE
    Loop
    
    Fire:
		PIST A 0 
		PIST B 2 A_FirePistol
		PIST C 2
		PIST E 2
		PIST D 1
		Goto Ready
					//Switched frames E and D as its more accurate and flows smoother (original DoomII.WAD had these in alphabetical order)
					//slide would blowback followed by largest recoil frame 'E', not gradual lifting of the gun 'D' so will use as a steadying aim frame
	AltFire:
		PIST A 0 
		PIST B 2 A_FirePistol
		PIST C 2
		PIST B 2 A_FirePistol
		PIST C 2
		PIST B 2 A_FirePistol
		PIST E 6
		PIST D 6
		Goto Ready
		
		
	Flash:
		PITF A 2 Bright A_Light1
		PITF B 1 Bright
		Goto LightDone
		

    }
}
actor ArmorShard : ArmorBonus
{
	Inventory.Pickupmessage "Picked up an Armor Shard."
	Inventory.Icon "ARSDA0"
	Inventory.PickupSound "pickup/AMRSHRD"
	Armor.Saveamount 10
	States
	{
	Spawn:
		ARSD ABCDCB 6
		loop
	}
}


Actor LavaBallSpawner 16000
{
  +NoBlockMap
  +NoGravity
  +NoSector
  +NoClip
  -Solid
  States
  {
  Spawn:
  Active:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(Waterlevel == 0, "StopState")
    TNT1 A 0 A_JumpIf(Waterlevel > 0, "LiftState")
    TNT1 A 0 A_JumpIf(Args[1] > 0, "Circle")
  Spawning:
    TNT1 A 0 A_JumpIf(Args[3] > 0, 2)
    TNT1 A 2 A_SpawnItemEx("LavaBall", Random(-Args[0], Args[0]), Random(-Args[0], Args[0]), 0, Random(Args[4]/8, Args[4]/4), 0, Random(Args[4]/6, Args[4]), Random(0,360), 1, Args[2]) 
    Loop
    TNT1 A 2 A_SpawnItemEx("LavaBallNoDamage", Random(-Args[0], Args[0]), Random(-Args[0], Args[0]), 0, Random(Args[4]/8, Args[4]/4), 0, Random(Args[4]/6, Args[4]), Random(0,360), 129, Args[2]) 
    Loop
  Circle:
    TNT1 A 0 A_JumpIf(Args[3] > 0, 2)
    TNT1 A 2 A_SpawnItemEx("LavaBall", Random(-Args[0], Args[0]), 0, 0, Random(Args[4]/8, Args[4]/4), 0, Random(Args[4]/6, Args[4]), Random(0,360), 1, Args[2])
    Loop
    TNT1 A 2 A_SpawnItemEx("LavaBallNoDamage", Random(-Args[0], Args[0]), 0, 0, Random(Args[4]/8, Args[4]/4), 0, Random(Args[4]/6, Args[4]), Random(0,360), 129, Args[2])
    Loop
  StopState:
    TNT1 A 1 A_Stop
    Goto Spawn+2
  LiftState:
    TNT1 A 1 ThrustThingZ(0, 4, 0, 0)
    Goto Spawn
  Inactive:
    TNT1 A 1
    Loop
  }
}

Actor LavaBall
{
  Radius 4
  Height 6
  Damage 2
  Scale 0.33
  Gravity 0.75
  Projectile
  -NoGravity
  +DontSplash
  +ForceXYBillBoard
  DeathSound "LavaBall/Hit"
  Decal RevenantScorch
  Obituary "%o got too close to the lava."
  States
  {
  Spawn:
    LVBL A 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL AA 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL A 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL A 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL AA 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL A 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL A 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL AA 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL A 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL A 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL AA 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL A 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL B 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL BB 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL B 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL B 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL BB 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL B 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL B 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL BB 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL B 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL B 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL BB 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL B 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL C 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL CC 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL C 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL C 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL CC 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL C 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL C 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL CC 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL C 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL C 0 A_JumpIf(WaterLevel > 1, "Disappear")
    LVBL CC 0 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    LVBL C 1 Bright A_SpawnItemEx("LavaBallTrail", Random(-2, 2), Random(-2, 2), Random(-2, 2), 0, 0, 0, 0, 128)
    Loop
  Disappear:
    TNT1 A 1
    Stop
  Death:
    LVBL D 0 Bright A_ChangeFlag("NoGravity", 1)
    LVBL DEFGHI 3 Bright
    Stop
  }
}

Actor LavaBallNoDamage : LavaBall { Damage 0 }

Actor LavaBallTrail
{   
  Radius 0
  Height 0
  +NoBlockMap
  +NoGravity
  +DontSplash
  +ForceXYBillBoard
  RenderStyle Add
  Alpha 0.6
  Scale 0.3
  States
  {
  Spawn:
    TNT1 A 1
    LVBL JJKKLLMMMN 2 Bright A_JumpIf(WaterLevel > 1, "Disappear")
    Stop
  Disappear:
    TNT1 A 1
    Stop
  }
}

actor MechPlasmaDemon : Demon 19500
{
  Health 350
  Painchance 40
  Speed 12
  Fastspeed 16
  SeeSound "CyberFiend/sight"
  PainSound "blooddemon/pain"
  DeathSound "blooddemon/death"
  ActiveSound "blooddemon/active"
  MeleeSound "blooddemon/melee"
  DropItem "CELLPACK"
  HitObituary "%o Was eated by MechPlasmaDemon yummy." 
  Obituary "The MechPlasmaDemon Gived nice Orange to %o"

   States
   {
      Spawn:
         DME2 AB 10 A_Look
         Loop
       See:
         DME2 A 0 A_PlaySound("blooddemon/walk")
         DME2 AABB 2 Fast A_Chase
         DME2 C 0 A_PlaySound("blooddemon/walk")
         DME2 CCDD 2 Fast A_Chase
	   Loop
       Melee:
          DME2 EF 8 A_FaceTarget
          DME2 G 6 A_SargAttack
       Goto See
       Missile:
          DME2 O 15 A_FaceTarget
          DME2 P 7 bright A_CustomMissile("BlueBall2", 24, 0, 0, 1)
          TNT1 A 0 A_CustomMissile("BlueBall2", 24, 0, -14, 1)
          DME2 P 7 bright A_CustomMissile("BlueBall2", 24, 0, 14, 1)
          TNT1 A 0 A_CustomMissile("BlueBall2", 24, 0, -7, 1)
          DME2 P 7 bright A_CustomMissile("BlueBall2", 24, 0, 7, 1)
        Goto See
       Pain:
          DME2 H 4
          DME2 H 4 A_Pain
          Goto See
          Death:
           DME2 I 5
           DME2 J 5 A_Scream
           DME2 K 5 A_NoBlocking
           DME2 L 5
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, -180) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, -160) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, -140) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, -120) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, -100)
	       DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, -80) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, -60) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, -40) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, -20) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, 0) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, 20) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, 40) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, 60) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, 80)
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, 100) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, 120)
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, 140) 
           DME2 L 0 A_CustomMissile ("BlueBall2", 32, 0, 160)
           DME2 M 5
           DME2 N -1
           Stop       
        Raise:
        DME2 LKJIH 4
        Goto See
   }
}

actor MechPlasmaSpectre : MechPlasmaDemon
{
  RenderStyle Translucent
  Alpha 0.25
}
actor BlueBall2
{
    Speed 20
    Radius 6
    Height 8
    Damage 9
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    PROJECTILE
    RENDERSTYLE ADD
    Decal RevenantScorch
    States
    {
    Spawn: 
        RELL ABCDEF 4 A_SpawnItemEx("BlueBall2Trail", 0, 0, 0, 0, 0, 0, 0, 128)
        Loop
    Death:
        RELL GHI 4
        Stop
    }
}
ACTOR BlueBall2Trail
{
        Speed 0
        Damage 1
        Height 8
        Radius 5
        SeeSound "NULL"
        DeathSound "NULL"
        PROJECTILE
        RENDERSTYLE ADD
        States
        {
        Spawn:
           FUCK ABCDE 4
           Stop
        }
}

ACTOR FusionCyberImp 19600
{
  Health 100
  Radius 20
  Height 56
  Mass 200
  Speed 8
  PainChance 150
  Monster
  +FLOORCLIP
  SeeSound "CIMPSIT"
  PainSound "CIMPPAIN"
  DeathSound "CIMPDTH"
  ActiveSound "CIMPACT"
  HitObituary "%o was torn apart by a fusion cyber imp"
  Obituary "%o was blown apart by a fusion cyber imp"
  States
  {
  Spawn:
    UCIM AB 10 A_Look
    Loop
  See:
    UCIM AABBCCDD 3 A_Chase
    Loop
  Melee:
    UCIM EF 8 A_FaceTarget
    UCIM F 6 A_Custommeleeattack(3 * random(3, 10), "imp/melee") 
    Goto See
  Missile:
	PRIM E 0 A_JumpIfCloser(256, "Missile2")
    UCIM EF 8 A_FaceTarget
    UCIM G 6 A_Custommissile("PlasmaB2",36,4) 
    Goto See
  Missile2:
    UCIM E 6 A_FaceTarget
    UCIM W 5 
	UCIM X 5 BRIGHT A_CustomMissile("ImpRocket")
	UCIM W 6 A_FaceTarget
    UCIM X 5 BRIGHT A_CustomMissile("ImpRocket")
	UCIM WE 5
    Goto See
  Pain:
    UCIM H 2
    UCIM H 2 A_Pain
    Goto See
  Death:
    UCIM I 8
    UCIM J 8 A_Scream
    UCIM K 6
    UCIM L 6 A_NoBlocking
    UCIM M -1
    Stop
  XDeath:
    UCIM N 5 A_CustomMissile("cyberArm",32,-10,270)
    UCIM O 5 A_PlaySound("Rocketimp/xdie")
    UCIM P 5 A_CustomMissile("Rocketarm",30,10,93)
    UCIM Q 5 A_NoBlocking
    UCIM RSTU 5
    UCIM V -1
    Stop
  Raise:
    UCIM MLKJI 8
    Goto See
  }
}

ACTOR PlasmaB2: PlasmaBall
{
   Speed 20
}

ACTOR ImpRocket
{
  Radius 11
  Height 8
  Speed 15
  Damage 6
  Projectile
  +RANDOMIZE
  +DEHEXPLOSION
  +ROCKETTRAIL
  SeeSound "Rocketimp/Fire"
  DeathSound "Rocketimp/Explode"
  Obituary "%o rode %k's rocket."
  Decal RocketImpScorch
  States
  {
  Spawn:
    IMIS A 1 Bright
    Loop
  Death:
    IMIS B 6 Bright A_Explode(8,64)
    IMIS C 5 Bright
    IMIS D 5 Bright
    Stop
  }
}

ACTOR CyberArm
{
	Radius 8
	Height 8
	Speed 4
	+DOOMBOUNCE
	+DROPOFF
	+Missile
      States
	{
	Spawn:
         CARM ABCDE 3
         Loop
	Death:
	 CARM F -1
	 Loop
	}
}

ACTOR RocketArm
{
	Radius 12
	Height 10
	Speed 4
	+DOOMBOUNCE
	+DROPOFF
	+Missile
      States
	{
	Spawn:
     IARM ABCD 3
     Loop
	Death:
	 IARM E -1
	 Loop
	}
} 

Actor PumpActionShotgun : DoomWeapon 
{
Obituary "%o was blown by %k's shotty."
Attacksound "weapons/Xshotgf"
Inventory.PickupMessage "You got the Pump-Action Shotgun!"
Weapon.SelectionOrder 1300
Weapon.Kickback 100
Weapon.AmmoType "Shell"
Weapon.AmmoGive 8
Weapon.AmmoUse 1
Weapon.SlotNumber 3
Decal "BulletChip"
Tag "Pump-Action Shotgun"
States
	{
	Ready:
		XSTG A 1 A_WeaponReady
		Loop
	Deselect: 
		XSTG A 1 A_Lower
		Loop
	Select:
		XSTG A 1 A_Raise
		Loop
	Fire:
		XSTG A 3
		XSTG A 0 A_FireBullets (5.6, 5.6, 8, 5, "BulletPuff")
		XSTG A 7 A_GunFlash
		XSTG B 4
		XSTG C 3 A_PlaySound("weapons/Xshotgr")
		XSTG DC 4
		XSTG B 2
		XSTG A 6 A_ReFire
		Goto Ready  
	Flash:
		XSTF A 3 bright A_Light2
		TNT1 A 3 A_Light1
		Goto Lightdone
	Spawn:
		XSOT A -1
		Stop
	}
}

Actor Knife : Weapon 
{
Weapon.SelectionOrder 3700
Weapon.Kickback 100
Weapon.SlotNumber 1
+WEAPON.WIMPY_WEAPON
+WEAPON.MELEEWEAPON
+NOEXTREMEDEATH
Inventory.PickupMessage "You picked up a Combat Knife."
Obituary "%o was cut up by %k's knife."
Tag "Combat Knife"
States
	{
	Spawn:
		KNFE A -1
		loop
	Ready:
		KNFG A 1 A_WeaponReady
		loop
	Deselect:
		KNFG A 1 A_Lower
		loop
	Select: 
		KNFG A 1 A_Raise
		loop
	Fire:
		KNFG B 2
		KNFG C 1 A_CustomPunch(5,0,0,"KnifePuff")
		KNFG D 1
		KNFG E 1
		TNT1 A 7
		KNFG E 2
		KNFG D 2
		KNFG A 2 A_ReFire
		goto Ready
	}
}

ACTOR KnifePuff
{
+NOBLOCKMAP
+NOGRAVITY
+NOEXTREMEDEATH
+PUFFONACTORS
RenderStyle Translucent
Alpha 0.6
SeeSound "KnifeHitThing"
AttackSound "KnifeHitWall"
ActiveSound "KnifeMiss"
VSpeed 1
States
	{
	Spawn:
		PUFF ABCD 4
		Stop
	}
}  
