Actor "Satchelcharge" : Weapon
  {
   Weapon.AmmoUse 1
   Weapon.AmmoGive 1
   Weapon.SlotNumber 9
   Weapon.AmmoType "RocketAmmo"
   +WEAPON.NOAUTOFIRE
  States
  {
  Ready:
   SACG A 0 A_JumpIfInventory("ThrowingGrenade",1,"KnifeAttack")
   SACG A 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
   SACG A 1 A_WeaponReady
    Loop
  Deselect:
    SACG A 1 A_Lower
    Loop
  Select:
    SACG A 1 A_Raise
    Loop
  Fire:
    SACG A 4 A_GunFlash 
    SACG B 50 A_FireCustomMissile("satchel",0,1,8,8,0)
    SACG B 4 A_ReFire
    stop
	Goto Reload
  Reload:
  SACG B 1 Offset(0,35)
  SACG B 1 Offset(0,38)
  SACG B 1 Offset(0,44)
  SACG B 1 Offset(0,52)
  SACG B 1 Offset(0,62)
  SACG B 1 Offset(0,72)
  SACG B 1 Offset(0,82)
  TNT1 A 8 A_TakeInventory("Packloaded", 1)
  SACG A 1 offset (0,82) A_PlayWeaponSound("weapon/select")
  SACG A 1 offset (0,72)
  SACG A 1 offset (0,62)
  SACG A 1 offset (0,52)
  SACG A 1 offset (0,44)
  SACG A 1 offset (0,38)
  SACG A 1 offset (0,35)
  goto ready
  		
  }
 }
  
actor Satchel
{
   radius 2
   height 2
   speed 20
   scale 0.2
   damage (0)
   DamageType "Explosion"
   -NOGRAVITY
   gravity 5 
   states
  {
   spawn:
    TNT1 A 0
	TNT1 A 1 A_PlaySound("fuse",6,6,0,ATTN_NONE)
	PACK A 100 Bright 
    Loop
	goto death
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 4 A_PlaySound("expl",1,5,0,0)
	TNT1 A 4 A_SpawnItem("flashy2",0,0) 
	TNT1 A 0 A_Explode(350,155) 
	TNT1 A 0
	TNT1 A 4 Radius_Quake(6,9,7,11,0)
	Stop
  }
}
 
ACTOR Packloaded : Ammo
{
    Inventory.MaxAmount 1
    +IGNORESKILL
   }
   
actor flashy2
{
  radius 20
   height 20
   scale 1.2
  states
 {
  spawn:
   EXX1 A 5 bright
   EXX1 B 5 bright 
   EXX1 C 5 bright 
   EXX1 D 5 bright 
   EXX1 E 5 bright 
   EXX1 F 5 bright 
   EXX1 G 5 bright 
   EXX1 H 5 bright 
   EXX1 I 5 bright 
   EXX1 J 5 bright 
  stop
 }
}