Actor IsFiringThisShitOut : Inventory
{
inventory.maxamount 1
}


ACTOR ImpShield : Rifle
{
	Weapon.AmmoUse1 1
	Weapon.AmmoGive1 30
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	Weapon.AmmoType1 "MeatshieldGunAmmo"
	Weapon.AmmoType2 "MeatAmmo"
	States
	{
	Ready:
		ISHG A 2 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("MeatAmmo", 100, 4)
		TNT1 A 0 A_SpawnItemEx("MeatShield", 15, 0, 15, 0)
		TNT1 A 0 A_AlertMonsters
        Loop
		TNT1 AAA 0
		Goto Destroy
	Deselect:
        Goto AltFire
	Select:
	    TNT1 A 0 A_TakeInventory("MeatAmmo", 100)
		TNT1 A 0 A_Raise
		Wait
    Fire:
	    TNT1 A 0
        TNT1 A 0 A_JumpIfInventory("MeatshieldGunAmmo", 1, 1)
		Goto AltFire
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_SpawnItemEx("MeatShield", 15, 0, 15, 0)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",-5,0,0,0)
		TNT1 A 0 A_PlaySound("weapons/rifle")
        TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		TNT1 A 0 A_FireCustomMissile("MeatShieldTracer", random(3,-3), 0, 3, 0)
		TNT1 A 0 A_TakeInventory("MeatshieldGunAmmo", 1)
		ISHF A 1 BRIGHT
		ISHF BC 1
		ISHG A 2
		TNT1 A 0 A_Refire
		Goto Ready
		

    AltFire:
        TNT1 A 0 A_PlaySound("skeleton/swing")
		TNT1 A 0 A_FireCustomMissile("ThrowedImp", 0, 0, 0)
		TNT1 A 0 A_TakeInventory("GoSpecial",1)
		TNT1 A 0 A_TakeInventory("GotMeatShield", 1)
		TNT1 A 0 A_TakeInventory("HasImpShield",1)
		TNT1 A 0 A_Giveinventory("Punching",1)
        THEF B 4 
        THEF C 4
		TNT1 A 0 A_Giveinventory("Punching",1)
		THEF D 4
		TNT1 A 0 A_TakeInventory("GoSpecial",1)
		TNT1 A 0 A_TakeInventory("GotMeatShield", 1)
		TNT1 A 0 A_TakeInventory("HasImpShield",1)
		TNT1 A 0 A_Giveinventory("Punching",1)
		TNT1 A 0 A_TakeInventory("ImpShield",1)
		TNT1 A 10
		Goto Ready
 	Spawn:
		8876 A -1
		Stop
	Destroy:
	    TNT1 A 0
		TNT1 A 0 A_SpawnItem("MeatDeath")
		TNT1 A 0 A_TakeInventory("GoSpecial",1)
		ISHF DEFGHIJJ 5
		TNT1 A 0 A_TakeInventory("GoSpecial",1)
		TNT1 A 0 A_TakeInventory("GotMeatShield", 1)
		TNT1 A 0 A_TakeInventory("HasImpShield",1)
		TNT1 A 0 A_Giveinventory("Punching",1)
		TNT1 A 0 A_TakeInventory("ImpShield",1)
		Goto Ready
		
	}
}
ACTOR ThrowedImp
{
	Radius 6
	Height 8
	Speed 32
    Fastspeed 32
	Damage 60
	+MISSILE
	Gravity 0.6
    Scale 1.0
	+FORCEXYBILLBOARD
	+THRUACTORS
	DamageType Kick
	Decal BloodSplat
	States
	{
	Spawn:
	ID11 A 2
	TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
	Goto Spawn2
	Spawn2:
        ID11 A 2
		Loop
		
    Death:
	    TNT1 A 0 A_SpawnItem("MuchMeatDeath")
		TNT1 A 5
		Stop
	}
}

