ACTOR "Pipe Bomb" : Weapon
{
    Weapon.SelectionOrder 33
	Weapon.BobStyle Normal
    Weapon.BobSpeed 1.4
    Weapon.BobRangeX 0.85
    Weapon.BobRangeY 0.6
    Weapon.AmmoUse 1
    Weapon.AmmoGive 1
    Weapon.AmmoType "Pipe Ammo"
    Obituary "%o tripped over %k's pipe bomb."
    Inventory.PickupMessage "\cnPipe bomb!"
	Inventory.PickupSound "DukeNukem/PickWeapon"
    Scale 0.17
    +WEAPON.AMMO_OPTIONAL
	+WEAPON.ALT_AMMO_OPTIONAL
	+WEAPON.NOALERT
    States
    {
    Ready:
	    TNT1 A 0 
	    TNT1 A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
        PBNG A 0 A_JumpIfInventory("Waiting",15,"Knuckles")
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Ready2")
		PBNG A 1 A_WeaponReady
		PBNG A 0 A_GiveInventory("Waiting",1)
        Loop	
	Knuckles:
        PBNG AAAAA 1 A_Lower
        PBNG A 0 A_Lower
		KNUK A 0 A_PlaySound("DukeNukem/Waiting",8)
        KNUK A 0 A_TakeInventory("Waiting",15)
        KNUK A 1 Offset(0,120) 
		KNUK A 1 Offset(0,110)
		KNUK A 1 Offset(0,100)
		KNUK A 1 Offset(0,90)
		KNUK A 1 Offset(0,80)
		KNUK A 1 Offset(0,70)
		KNUK A 1 Offset(0,60)
		KNUK A 1 Offset(0,50)
		KNUK A 1 Offset(0,40)
		KNUK AAABBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		KNUK C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        KNUK C 0 A_PlaySound("Duke/KNuckles",5)
		KNUK C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		KNUK C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        KNUK DDDCCCBBBAAA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)  
        KNUK A 1 Offset(0,40)
		KNUK A 1 Offset(0,50)
		KNUK A 1 Offset(0,60)
		KNUK A 1 Offset(0,70)
		KNUK A 1 Offset(0,80)
		KNUK A 1 Offset(0,90)
		KNUK A 1 Offset(0,100)
		KNUK A 1 Offset(0,110)
		KNUK A 1 Offset(0,120)
        Goto Select
    Ready2:
		PBMG A 1 A_WeaponReady
        PBMG A 0 A_JumpIfInventory("Waiting",15,"Knuckles2")
		PBMG AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_WeaponReady
		PBMG A 0 A_GiveInventory("Waiting",1)
        Loop
	Knuckles2:
        PBMG AAAAA 1 A_Lower
        PBMG A 0 A_Lower
		KNUK A 0 A_PlaySound("DukeNukem/Waiting",8)
        KNUK A 0 A_TakeInventory("Waiting",15)
        KNUK A 1 Offset(0,120) 
		KNUK A 1 Offset(0,110)
		KNUK A 1 Offset(0,100)
		KNUK A 1 Offset(0,90)
		KNUK A 1 Offset(0,80)
		KNUK A 1 Offset(0,70)
		KNUK A 1 Offset(0,60)
		KNUK A 1 Offset(0,50)
		KNUK A 1 Offset(0,40)
		KNUK AAABBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		KNUK C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        KNUK C 0 A_PlaySound("Duke/KNuckles",5)
		KNUK C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		KNUK C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        KNUK DDDCCCBBBAAA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)  
        KNUK A 1 Offset(0,40)
		KNUK A 1 Offset(0,50)
		KNUK A 1 Offset(0,60)
		KNUK A 1 Offset(0,70)
		KNUK A 1 Offset(0,80)
		KNUK A 1 Offset(0,90)
		KNUK A 1 Offset(0,100)
		KNUK A 1 Offset(0,110)
		KNUK A 1 Offset(0,120)
        Goto Select
    Deselect:
        TNT1 A 0 
	    TNT1 A 0 A_JumpIfInventory("Pipe Ammo",1,"Deselect2")	
	    PBNG AAAAA 1 A_Lower
		PBNG A 0 A_TakeInventory("Waiting",15)
        PBNG A 0 A_Lower
        Goto Deselect+4
    Deselect2:	
	    PBMG AAAAA 1 A_Lower
		PBMG A 0 A_TakeInventory("Waiting",15)
        PBMG A 0 A_Lower
        Goto Deselect2+4
    DeselectPipebomb:
        TNT1 A 1 A_Lower
        TNT1 AA 0 A_Lower
        Loop
    Select:
	    PBNG A 0 A_JumpIfInventory("Pipe Ammo",1,"Select2")
        PBNG A 1 A_Raise
		TNT1 A 0 A_TakeInventory("CheckWeaponMightyFoot",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponPistol",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponDualPistol",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponBlackTail",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponDualBlackTail",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponDesertEagle",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponShotgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponSuperShotgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponAssaultShotgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponExplosiveShotgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponChaingun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponLMG2028",1)
		TNT1 A 0 A_TakeInventory("CheckWeaponMinigun",1)
		TNT1 A 0 A_TakeInventory("CheckWeaponExplosiveChaingun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponRPG",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponShockCannon",1)
        TNT1 A 0 A_GiveInventory("CheckWeaponPipeBomb",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponLaserTripBomb",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponShrinker",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponExpander",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponExecutor",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponDevastator",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponLaserChaingun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponRailgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponFreezethrower",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponIncinerator",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponPulsethrower",1)		
		PBMG A 0 A_PlaySound("Pipebomb/Up",6)
        PBNG A 0 A_Raise
        PBNG A 1 A_Raise
        PBNG A 0 A_Raise
        PBNG A 1 A_Raise
        PBNG A 0 A_Raise
        PBNG A 1 A_Raise
        PBNG A 0 A_Raise
        PBNG A 1 A_Raise
        PBNG A 0 A_Raise
        PBNG AAAAA 1 A_Raise
        PBNG AAAAAAAAAA 2 A_Raise
        Loop
    Select2:
        PBMG A 1 A_Raise
		TNT1 A 0 A_TakeInventory("CheckWeaponMightyFoot",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponPistol",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponDualPistol",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponBlackTail",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponDualBlackTail",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponDesertEagle",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponShotgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponSuperShotgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponAssaultShotgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponExplosiveShotgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponChaingun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponMinigun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponLMG2028",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponRPG",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponShockCannon",1)
        TNT1 A 0 A_GiveInventory("CheckWeaponPipeBomb",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponLaserTripBomb",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponShrinker",1)
		TNT1 A 0 A_TakeInventory("CheckWeaponShrinker2",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponExpander",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponExecutor",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponDevastator",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponLaserChaingun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponRailgun",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponFreezethrower",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponIncinerator",1)
        TNT1 A 0 A_TakeInventory("CheckWeaponPulsethrower",1)
		PBMG A 0 A_PlaySound("Pipebomb/Up",6)
        PBMG A 0 A_Raise
        PBMG A 1 A_Raise
        PBMG A 0 A_Raise
        PBMG A 1 A_Raise
        PBMG A 0 A_Raise
        PBMG A 1 A_Raise
        PBMG A 0 A_Raise
        PBMG A 1 A_Raise
        PBMG A 0 A_Raise
        PBMG AAAAA 1 A_Raise
        PBMG AAAAAAAAAA 2 A_Raise
        Loop
    Fire:
	    PBMG A 0 A_JumpIfNoAmmo("FireFail")
        PBMG A 1 Offset(0,40)
	    PBMG A 1 Offset(0,50)
	    PBMG A 1 Offset(0,60)
	    PBMG A 1 Offset(0,70)
	    PBMG A 1 Offset(0,80)
	    PBMG A 1 Offset(0,90)
	    PBMG A 1 Offset(0,100)
	    PBMG A 1 Offset(0,110)
	    PBMG A 1 Offset(0,120)
		PBMG A 0 A_ReFire
	Hold:
	    PBMG B 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		PBMG B 1 Offset(46,86) A_GiveInventory("ThrowPower",1)
		PBMG A 0 A_ReFire
		PBMG A 0 A_JumpIfInventory("ThrowPower",60,"Throw60")
		PBMG A 0 A_JumpIfInventory("ThrowPower",59,"Throw59")
        PBMG A 0 A_JumpIfInventory("ThrowPower",58,"Throw58")
        PBMG A 0 A_JumpIfInventory("ThrowPower",57,"Throw57")
        PBMG A 0 A_JumpIfInventory("ThrowPower",56,"Throw56")
        PBMG A 0 A_JumpIfInventory("ThrowPower",55,"Throw55")
        PBMG A 0 A_JumpIfInventory("ThrowPower",54,"Throw54")
        PBMG A 0 A_JumpIfInventory("ThrowPower",53,"Throw53")
        PBMG A 0 A_JumpIfInventory("ThrowPower",52,"Throw52")
        PBMG A 0 A_JumpIfInventory("ThrowPower",51,"Throw51")
		PBMG A 0 A_JumpIfInventory("ThrowPower",50,"Throw50")
		PBMG A 0 A_JumpIfInventory("ThrowPower",49,"Throw49")
        PBMG A 0 A_JumpIfInventory("ThrowPower",48,"Throw48")
        PBMG A 0 A_JumpIfInventory("ThrowPower",47,"Throw47")
        PBMG A 0 A_JumpIfInventory("ThrowPower",46,"Throw46")
        PBMG A 0 A_JumpIfInventory("ThrowPower",45,"Throw45")
        PBMG A 0 A_JumpIfInventory("ThrowPower",44,"Throw44")
        PBMG A 0 A_JumpIfInventory("ThrowPower",43,"Throw43")
        PBMG A 0 A_JumpIfInventory("ThrowPower",42,"Throw42")
        PBMG A 0 A_JumpIfInventory("ThrowPower",41,"Throw41")
		PBMG A 0 A_JumpIfInventory("ThrowPower",40,"Throw40")
		PBMG A 0 A_JumpIfInventory("ThrowPower",39,"Throw39")
        PBMG A 0 A_JumpIfInventory("ThrowPower",38,"Throw38")
        PBMG A 0 A_JumpIfInventory("ThrowPower",37,"Throw37")
        PBMG A 0 A_JumpIfInventory("ThrowPower",36,"Throw36")
        PBMG A 0 A_JumpIfInventory("ThrowPower",35,"Throw35")
        PBMG A 0 A_JumpIfInventory("ThrowPower",34,"Throw34")
        PBMG A 0 A_JumpIfInventory("ThrowPower",33,"Throw33")
        PBMG A 0 A_JumpIfInventory("ThrowPower",32,"Throw32")
        PBMG A 0 A_JumpIfInventory("ThrowPower",31,"Throw31") 
	    PBMG A 0 A_JumpIfInventory("ThrowPower",30,"Throw30")
        PBMG A 0 A_JumpIfInventory("ThrowPower",29,"Throw29")
        PBMG A 0 A_JumpIfInventory("ThrowPower",28,"Throw28")
        PBMG A 0 A_JumpIfInventory("ThrowPower",27,"Throw27")
        PBMG A 0 A_JumpIfInventory("ThrowPower",26,"Throw26")
        PBMG A 0 A_JumpIfInventory("ThrowPower",25,"Throw25")
        PBMG A 0 A_JumpIfInventory("ThrowPower",24,"Throw24")
        PBMG A 0 A_JumpIfInventory("ThrowPower",23,"Throw23")
        PBMG A 0 A_JumpIfInventory("ThrowPower",22,"Throw22")
        PBMG A 0 A_JumpIfInventory("ThrowPower",21,"Throw21")
        PBMG A 0 A_JumpIfInventory("ThrowPower",20,"Throw20")
        PBMG A 0 A_JumpIfInventory("ThrowPower",19,"Throw19")
        PBMG A 0 A_JumpIfInventory("ThrowPower",18,"Throw18")
        PBMG A 0 A_JumpIfInventory("ThrowPower",17,"Throw17")
        PBMG A 0 A_JumpIfInventory("ThrowPower",16,"Throw16")
        PBMG A 0 A_JumpIfInventory("ThrowPower",15,"Throw15")
        PBMG A 0 A_JumpIfInventory("ThrowPower",14,"Throw14")
        PBMG A 0 A_JumpIfInventory("ThrowPower",13,"Throw13")
        PBMG A 0 A_JumpIfInventory("ThrowPower",12,"Throw12")
        PBMG A 0 A_JumpIfInventory("ThrowPower",11,"Throw11")
        PBMG A 0 A_JumpIfInventory("ThrowPower",10,"Throw10")
        PBMG A 0 A_JumpIfInventory("ThrowPower",9,"Throw9")
        PBMG A 0 A_JumpIfInventory("ThrowPower",8,"Throw8")
        PBMG A 0 A_JumpIfInventory("ThrowPower",7,"Throw7")
        PBMG A 0 A_JumpIfInventory("ThrowPower",6,"Throw6")
        PBMG A 0 A_JumpIfInventory("ThrowPower",5,"Throw5")
        PBMG A 0 A_JumpIfInventory("ThrowPower",4,"Throw4")
        PBMG A 0 A_JumpIfInventory("ThrowPower",3,"Throw3")
        PBMG A 0 A_JumpIfInventory("ThrowPower",2,"Throw2")
        PBMG A 0 A_JumpIfInventory("ThrowPower",1,"Throw1") 
    Throw1:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb1",0,1,0,0,2,9)
		Goto Return
	Throw2:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb2",0,1,0,0,2,9)
		Goto Return
	Throw3:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb3",0,1,0,0,2,9)
		Goto Return
	Throw4:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb4",0,1,0,0,2,9)
		Goto Return
	Throw5:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb5",0,1,0,0,2,9)
		Goto Return
	Throw6:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb6",0,1,0,0,2,9)
		Goto Return
	Throw7:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb7",0,1,0,0,2,9)
		Goto Return
	Throw8:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb8",0,1,0,0,2,9)
		Goto Return
	Throw9:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb9",0,1,0,0,2,9)
		Goto Return
	Throw10:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb10",0,1,0,0,2,9)
		Goto Return
	Throw11:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb11",0,1,0,0,2,9)
		Goto Return
	Throw12:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb12",0,1,0,0,2,9)
		Goto Return
	Throw13:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb13",0,1,0,0,2,9)
		Goto Return
	Throw14:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb14",0,1,0,0,2,9)
		Goto Return
	Throw15:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb15",0,1,0,0,2,9)
		Goto Return
	Throw16:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb16",0,1,0,0,2,9)
		Goto Return
	Throw17:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb17",0,1,0,0,2,9)
		Goto Return
	Throw18:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb18",0,1,0,0,2,9)
		Goto Return
	Throw19:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb19",0,1,0,0,2,9)
		Goto Return
	Throw20:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb20",0,1,0,0,2,9)
		Goto Return
	Throw21:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb21",0,1,0,0,2,9)
		Goto Return
	Throw22:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb22",0,1,0,0,2,9)
		Goto Return
	Throw23:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb23",0,1,0,0,2,9)
		Goto Return
	Throw24:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb24",0,1,0,0,2,9)
		Goto Return
	Throw25:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb25",0,1,0,0,2,9)
		Goto Return
	Throw26:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb26",0,1,0,0,2,9)
		Goto Return
	Throw27:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb27",0,1,0,0,2,9)
		Goto Return
	Throw28:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb28",0,1,0,0,2,9)
		Goto Return
	Throw29:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb29",0,1,0,0,2,9)
		Goto Return
	Throw30:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb30",0,1,0,0,2,9)
		Goto Return
	Throw31:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb31",0,1,0,0,2,9)
		Goto Return
	Throw32:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb32",0,1,0,0,2,9)
		Goto Return
	Throw33:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb33",0,1,0,0,2,9)
		Goto Return
	Throw34:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb34",0,1,0,0,2,9)
		Goto Return
	Throw35:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb35",0,1,0,0,2,9)
		Goto Return
	Throw36:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb36",0,1,0,0,2,9)
		Goto Return
	Throw37:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb37",0,1,0,0,2,9)
		Goto Return
	Throw38:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb38",0,1,0,0,2,9)
		Goto Return
	Throw39:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb39",0,1,0,0,2,9)
		Goto Return
	Throw40:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb40",0,1,0,0,2,9)
		Goto Return
    Throw41:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb41",0,1,0,0,2,9)
		Goto Return
	Throw42:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb42",0,1,0,0,2,9)
		Goto Return
	Throw43:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb43",0,1,0,0,2,9)
		Goto Return
	Throw44:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb44",0,1,0,0,2,9)
		Goto Return
	Throw45:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb45",0,1,0,0,2,9)
		Goto Return
	Throw46:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb46",0,1,0,0,2,9)
		Goto Return
	Throw47:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb47",0,1,0,0,2,9)
		Goto Return
	Throw48:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb48",0,1,0,0,2,9)
		Goto Return
	Throw49:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb49",0,1,0,0,2,9)
		Goto Return
	Throw50:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb50",0,1,0,0,2,9)
		Goto Return
	Throw51:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb51",0,1,0,0,2,9)
		Goto Return
	Throw52:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb52",0,1,0,0,2,9)
		Goto Return
	Throw53:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb53",0,1,0,0,2,9)
		Goto Return
	Throw54:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb54",0,1,0,0,2,9)
		Goto Return
	Throw55:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb55",0,1,0,0,2,9)
		Goto Return
	Throw56:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb56",0,1,0,0,2,9)
		Goto Return
	Throw57:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb57",0,1,0,0,2,9)
		Goto Return
	Throw58:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb58",0,1,0,0,2,9)
		Goto Return
	Throw59:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb59",0,1,0,0,2,9)
		Goto Return
	Throw60:		
        PBMG B 1 OffSet(46,76)
        PBMG B 1 OffSet(54,84)
	    PBMG B 1 OffSet(62,92)
		PBMG B 0 A_PlaySound("Pipebomb/Fire",5)
        PBMG B 1 OffSet(60,90)
        PBMG B 1 OffSet(40,70)
        PBMG B 0 A_FireCustomMissile("ThrownPipebomb60",0,1,0,0,2,9)
		Goto Return
    Return:
	    PBMG C 1 OffSet(30,60)
        PBMG C 1 OffSet(10,40)
        PBMG C 1 OffSet(0,40)
        PBMG C 1 OffSet(0,60)
        PBMG C 1 OffSet(0,80)
        PBMG C 1 OffSet(0,100)
        PBMG C 1 OffSet(0,110)
		PBMG C 0 A_TakeInventory("ThrowPower",60)
        PBMG C 0 A_GiveInventory("Pipe bomb Detonator",1)
        PBMG C 0 A_SelectWeapon("Pipe bomb Detonator")
        TNT1 A 0 A_TakeInventory("Waiting",15)
        Goto DeselectPipebomb
	FireFail:  
        PBNG AAA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        Goto Ready	
	AltFire:
	    BO2T C 0 
	    BO2T C 0 A_JumpIfInventory("Pipe Ammo",1,"AltFire2")
		BO2T C 0 A_JumpIfInventory("PowerStrength",1,21)
        BO2T C 0 ACS_ExecuteAlways(500,0,FAS_ActorKick)
		BO2T CCCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		BO2T C 0 A_CustomPunch(Random(26,30),0,0,"MightyBootPuff")
		BO2T C 0 A_TakeInventory("Waiting",15)
        BO2T DDDDD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BO2T CCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BO2T C 0 A_Refire
        Goto Ready 
		BO2T C 0 ACS_ExecuteAlways(500,0,FAS_ActorKick)
		BO2T CCCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		BO2T C 0 A_CustomPunch(10*Random(26,30),0,0,"MightyBootPuff")
		BO2T C 0 A_TakeInventory("Waiting",15)
        BO2T DDDDD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BO2T CCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BO2T C 0 A_Refire
        Goto Ready 
	AltFire2:
        BOOT C 0 A_JumpIfInventory("PowerStrength",1,22)
		BOOT C 0 A_GunFlash
		BOOT C 0 ACS_ExecuteAlways(500,0,FAS_ActorKick)
		BOOT CCCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		BOOT C 0 A_CustomPunch(Random(26,30),0,0,"MightyBootPuff")
		BOOT C 0 A_TakeInventory("Waiting",15)
        BOOT DDDDD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BOOT CCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BOOT C 0 A_Refire
        Goto Ready  
		BOOT C 0 ACS_ExecuteAlways(500,0,FAS_ActorKick)
		BOOT C 0 A_GunFlash
		BOOT CCCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		BOOT C 0 A_CustomPunch(10*Random(26,30),0,0,"MightyBootPuff")
		BOOT C 0 A_TakeInventory("Waiting",15)
        BOOT DDDDD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BOOT CCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BOOT C 0 A_Refire
        Goto Ready	
	AltFlash:  
        PBMG AAAAAAAAAAAAAAAAA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        Stop
	Spawn:
		TNT1 A 0		
		TNT1 A 1 A_Jump(256,"Spawn1","Spawn2")
		Stop
	Spawn1:	
        PBMP A -1
        Stop
	Spawn2:	
        2BMP A -1
        Stop
        }
}

ACTOR ThrownPipebomb1 
{
    Projectile
	Radius 6
	Height 6
	Speed 15
    Damage 0
    SeeSound "Pipebomb/Bounce"
	DeathSound "Pipebomb/Bounce"
    Scale 0.17
    DamageType "Damage_Pipes"
    Alpha 256
	Obituary "%o tripped over the pipe bomb."
	-NOGRAVITY
	+THRUGHOST
	+NOTELEPORT
    +DOOMBOUNCE
	+CANBOUNCEWATER
	+FORCERADIUSDMG
	+MOVEWITHSECTOR
    States
    {
    Spawn:
        PBMX A 1 A_JumpIfInTargetInventory("DetonateCheck",1,"Explosion")
	    PBMX A 0 A_JumpIfInTargetInventory("Trapcount",1,"FadeOut")
		PBMX A 1 A_JumpIfInTargetInventory("DetonateCheck",1,"Explosion")
	    PBMX A 0 A_JumpIfInTargetInventory("Trapcount",1,"FadeOut")
		PBMX A 1 A_JumpIfInTargetInventory("DetonateCheck",1,"Explosion")
	    PBMX A 0 A_JumpIfInTargetInventory("Trapcount",1,"FadeOut")
		2BMX A 1 A_JumpIfInTargetInventory("DetonateCheck",1,"Explosion")
	    2BMX A 0 A_JumpIfInTargetInventory("Trapcount",1,"FadeOut")
		2BMX A 1 A_JumpIfInTargetInventory("DetonateCheck",1,"Explosion")
	    2BMX A 0 A_JumpIfInTargetInventory("Trapcount",1,"FadeOut")
		2BMX A 1 A_JumpIfInTargetInventory("DetonateCheck",1,"Explosion")
	    2BMX A 0 A_JumpIfInTargetInventory("Trapcount",1,"FadeOut")
        Loop
	Death:
	    TNT1 A 0 
		TNT1 A 1 A_Jump(256,"Death1","Death2")
		Stop
	Death1:
	    PBMX A 1 A_JumpIfInTargetInventory("DetonateCheck",1,"Explosion")
	    PBMX A 0 A_JumpIfInTargetInventory("Trapcount",1,"FadeOut")
	    Loop
	Death2:
	    2BMX A 1 A_JumpIfInTargetInventory("DetonateCheck",1,"Explosion")
	    2BMX A 0 A_JumpIfInTargetInventory("Trapcount",1,"FadeOut")
	    Loop
	Explosion:
	    TNT1 A 0 
	    TNT1 A 0 A_PlaySound("Explosion/Sounds2",11)
		TNT1 A 0 A_PlaySound("Explosion/Sounds",12)
		TNT1 A 0 A_AlertMonsters
		TNT1 AAAAAAAAAA 0 A_CustomMissile("ExplosionFlame",10,0,Random(0,360),2,Random(0,360))
		TNT1 A 0 A_Explode(128,192,0)
        TNT1 A 0 A_Explode(128,192)
        TNT1 A 1 A_SpawnItemEx("DukeNukemExplosion",0,0,0,0,0,0,0,0)
        Stop
	Fadeout:
        TNT1 A 1
        Stop
        }
}

ACTOR ThrownPipebomb2 : ThrownPipebomb1
{
	Speed 15.5
}

ACTOR ThrownPipebomb3 : ThrownPipebomb1
{
	Speed 16
}

ACTOR ThrownPipebomb4 : ThrownPipebomb1
{
	Speed 16.5
}

ACTOR ThrownPipebomb5 : ThrownPipebomb1
{
	Speed 17
}

ACTOR ThrownPipebomb6 : ThrownPipebomb1
{
	Speed 17.5
}

ACTOR ThrownPipebomb7 : ThrownPipebomb1
{
	Speed 18
}

ACTOR ThrownPipebomb8 : ThrownPipebomb1
{
	Speed 18.5
}

ACTOR ThrownPipebomb9 : ThrownPipebomb1
{
	Speed 19
}

ACTOR ThrownPipebomb10 : ThrownPipebomb1
{
	Speed 19.5
}

ACTOR ThrownPipebomb11 : ThrownPipebomb1
{
	Speed 20
}

ACTOR ThrownPipebomb12 : ThrownPipebomb1
{
	Speed 20.5
}

ACTOR ThrownPipebomb13 : ThrownPipebomb1
{
	Speed 21
}

ACTOR ThrownPipebomb14 : ThrownPipebomb1
{
	Speed 21.5
}

ACTOR ThrownPipebomb15 : ThrownPipebomb1
{
	Speed 22
}

ACTOR ThrownPipebomb16 : ThrownPipebomb1
{
	Speed 22.5
}

ACTOR ThrownPipebomb17 : ThrownPipebomb1
{
	Speed 23
}

ACTOR ThrownPipebomb18 : ThrownPipebomb1
{
	Speed 23.5
}

ACTOR ThrownPipebomb19 : ThrownPipebomb1
{
	Speed 24
}

ACTOR ThrownPipebomb20 : ThrownPipebomb1
{
	Speed 24.5
}

ACTOR ThrownPipebomb21 : ThrownPipebomb1
{
	Speed 25
}

ACTOR ThrownPipebomb22 : ThrownPipebomb1
{
	Speed 25.5
}

ACTOR ThrownPipebomb23 : ThrownPipebomb1
{
	Speed 26
}

ACTOR ThrownPipebomb24 : ThrownPipebomb1
{
	Speed 26.5
}

ACTOR ThrownPipebomb25 : ThrownPipebomb1
{
	Speed 27
}

ACTOR ThrownPipebomb26 : ThrownPipebomb1
{
	Speed 27.5
}

ACTOR ThrownPipebomb27 : ThrownPipebomb1
{
	Speed 28
}

ACTOR ThrownPipebomb28 : ThrownPipebomb1
{
	Speed 28.5
}

ACTOR ThrownPipebomb29 : ThrownPipebomb1
{
	Speed 29
}

ACTOR ThrownPipebomb30 : ThrownPipebomb1
{
	Speed 29.5
}

ACTOR ThrownPipebomb31 : ThrownPipebomb1
{
	Speed 30
}

ACTOR ThrownPipebomb32 : ThrownPipebomb1
{
	Speed 30.5
}

ACTOR ThrownPipebomb33 : ThrownPipebomb1
{
	Speed 31
}

ACTOR ThrownPipebomb34 : ThrownPipebomb1
{
	Speed 31.5
}

ACTOR ThrownPipebomb35 : ThrownPipebomb1
{
	Speed 32
}

ACTOR ThrownPipebomb36 : ThrownPipebomb1
{
	Speed 32.5
}

ACTOR ThrownPipebomb37 : ThrownPipebomb1
{
	Speed 33
}

ACTOR ThrownPipebomb38 : ThrownPipebomb1
{
	Speed 33.5
}

ACTOR ThrownPipebomb39 : ThrownPipebomb1
{
	Speed 34
}

ACTOR ThrownPipebomb40 : ThrownPipebomb1
{
	Speed 34.5
}

ACTOR ThrownPipebomb41 : ThrownPipebomb1
{
	Speed 35
}

ACTOR ThrownPipebomb42 : ThrownPipebomb1
{
	Speed 35.5
}

ACTOR ThrownPipebomb43 : ThrownPipebomb1
{
	Speed 36
}

ACTOR ThrownPipebomb44 : ThrownPipebomb1
{
	Speed 36.5
}

ACTOR ThrownPipebomb45 : ThrownPipebomb1
{
	Speed 37
}

ACTOR ThrownPipebomb46 : ThrownPipebomb1
{
	Speed 37.5
}

ACTOR ThrownPipebomb47 : ThrownPipebomb1
{
	Speed 38
}

ACTOR ThrownPipebomb48 : ThrownPipebomb1
{
	Speed 38.5
}

ACTOR ThrownPipebomb49 : ThrownPipebomb1
{
	Speed 39
}

ACTOR ThrownPipebomb50 : ThrownPipebomb1
{
	Speed 39.5
}

ACTOR ThrownPipebomb51 : ThrownPipebomb1
{
	Speed 40
}

ACTOR ThrownPipebomb52 : ThrownPipebomb1
{
	Speed 40.5
}

ACTOR ThrownPipebomb53 : ThrownPipebomb1
{
	Speed 41
}

ACTOR ThrownPipebomb54 : ThrownPipebomb1
{
	Speed 41.5
}

ACTOR ThrownPipebomb55 : ThrownPipebomb1
{
	Speed 42
}

ACTOR ThrownPipebomb56 : ThrownPipebomb1
{
	Speed 42.5
}

ACTOR ThrownPipebomb57 : ThrownPipebomb1
{
	Speed 43
}

ACTOR ThrownPipebomb58 : ThrownPipebomb1
{
	Speed 43.5
}

ACTOR ThrownPipebomb59 : ThrownPipebomb1
{
	Speed 44
}

ACTOR ThrownPipebomb60 : ThrownPipebomb1
{
	Speed 44.5
}

ACTOR "Pipe bomb Detonator" : Weapon
{
    Weapon.SelectionOrder 34
	Weapon.BobStyle Normal
    Weapon.BobSpeed 1.4
    Weapon.BobRangeX 0.85
    Weapon.BobRangeY 0.6
    Weapon.Kickback 50
    Obituary "%o tripped over %k's pipebomb."
    Weapon.AmmoUse 0
    Weapon.AmmoGive 0
    Weapon.AmmoType "Pipe Ammo"
    +INVENTORY.UNDROPPABLE
    +CHEATNOTWEAPON
    States
    {	
	Ready:
        PBMG D 1 A_WeaponReady
        PBMG D 0 A_JumpIfInventory("Waiting",15,"Knuckles")
		PBMG DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 1 A_WeaponReady
		PBMG D 0 A_GiveInventory("Waiting",1)
        Loop
	Knuckles:
        PBMG DDDDD 1 A_Lower
        PBMG D 0 A_Lower
		KNUK A 0 A_PlaySound("DukeNukem/Waiting",8)
        KNUK A 0 A_TakeInventory("Waiting",15)
        KNUK A 1 Offset(0,120) 
		KNUK A 1 Offset(0,110)
		KNUK A 1 Offset(0,100)
		KNUK A 1 Offset(0,90)
		KNUK A 1 Offset(0,80)
		KNUK A 1 Offset(0,70)
		KNUK A 1 Offset(0,60)
		KNUK A 1 Offset(0,50)
		KNUK A 1 Offset(0,40)
		KNUK AAABBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		KNUK C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        KNUK C 0 A_PlaySound("Duke/KNuckles",5)
		KNUK C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		KNUK C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        KNUK DDDCCCBBBAAA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)  
        KNUK A 1 Offset(0,40)
		KNUK A 1 Offset(0,50)
		KNUK A 1 Offset(0,60)
		KNUK A 1 Offset(0,70)
		KNUK A 1 Offset(0,80)
		KNUK A 1 Offset(0,90)
		KNUK A 1 Offset(0,100)
		KNUK A 1 Offset(0,110)
		KNUK A 1 Offset(0,120)
        Goto Select
    Deselect:
        PBMG DDDDD 1 A_Lower
        PBMG D 0 A_Lower
        PBMG D 1 A_Lower
        PBMG D 0 A_Lower
        PBMG D 1 A_Lower
        PBMG D 0 A_Lower
        PBMG D 0 A_JumpIfInventory("DetonatorCheck",1,"DeselectDetonated")
        Goto Deselect+4
    DeselectDetonated:
        PBMG D 1 A_Lower
        PBMG D 0 A_Lower
        PBMG D 1 A_Lower
        PBMG D 0 A_Lower
        PBMG D 0 A_SelectWeapon("Pipe bomb")
		PBMG D 0 A_TakeInventory("DetonatorCheck",1)
        PBMG D 0 A_TakeInventory("Pipe bomb Detonator",1)
		Stop
    Select:
        PBMG D 1 A_Raise
        PBMG D 0 A_Raise
        PBMG D 1 A_Raise
        PBMG D 0 A_Raise
        PBMG D 1 A_Raise
        PBMG D 0 A_Raise
        PBMG D 1 A_Raise
        PBMG D 0 A_Raise
        PBMG D 1 A_Raise
        PBMG D 0 A_Raise
        PBMG DDDDD 1 A_Raise
        PBMG DDDDDDDDDD 2 A_Raise
        Loop
    Fire:
        PBMG DDEE 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)   
        PBMG E 0 Thing_Projectile(1999,201,0,0,0)
        PBMG E 0 A_GiveInventory("DetonateCheck",1)
        PBMG E 0 ACS_ExecuteAlways(507,0,0,0,0)
	    PBMG F 0 A_PlaySound("Pipebomb/Detonate",5)
		PBMG FF 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	    PBMG F 0 A_AlertMonsters
	    PBMG F 0 A_GiveInventory("Trapcount",1)	
        PBMG F 0 Thing_ReMove(1999)
        PBMG EEDD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)   
        PBMG DDDDDDDDDDDDDDD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)   
	    PBMG D 0 A_TakeInventory("DetonateCheck",1)
	    PBMG D 0 A_TakeInventory("Trapcount",1)
        PBMG D 0 A_GiveInventory("DetonatorCheck",1)
        Goto Deselect
	AltFire:
        BOOT C 0 A_JumpIfInventory("PowerStrength",1,22)
		BOOT C 0 A_GunFlash
		BOOT C 0 ACS_ExecuteAlways(500,0,FAS_ActorKick)
		BOOT CCCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		BOOT C 0 A_CustomPunch(Random(26,30),0,0,"MightyBootPuff")
		BOOT C 0 A_TakeInventory("Waiting",15)
        BOOT DDDDD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BOOT CCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BOOT C 0 A_Refire
        Goto Ready  
		BOOT C 0 ACS_ExecuteAlways(500,0,FAS_ActorKick)
		BOOT C 0 A_GunFlash
		BOOT CCCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		BOOT C 0 A_CustomPunch(10*Random(26,30),0,0,"MightyBootPuff")
		BOOT C 0 A_TakeInventory("Waiting",15)
        BOOT DDDDD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BOOT CCCCC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        BOOT C 0 A_Refire
        Goto Ready	
	AltFlash:  
        PBMG DDDDDDDDDDDDDDDDD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
        Stop		
    Spawn:
        PBMP A 1
        Stop
        }
}

ACTOR DetonatorCheck : Inventory
{
    Inventory.Amount 0
    Inventory.MaxAmount 1
}

ACTOR DetonateCheck : Inventory
{
    Inventory.Amount 1
    Inventory.MaxAmount 1
    Inventory.Icon "TNT1A0"
    States
    {
    Spawn:
        TNT1 A -1
        Stop
        }
}

ACTOR ThrowPower : Ammo
{
    Inventory.Amount 1
    Inventory.MaxAmount 60
    Ammo.BackpackAmount 1
    Ammo.BackpackMaxAmount 60
    +INVENTORY.IGNORESKILL	
}

ACTOR Trapcount : Inventory
{
    Inventory.Amount 1
    Inventory.MaxAmount 1
    States
    {
    Spawn:
        TNT1 A 1
        Loop
        }
}