actor ".44 Magnum" : RGUWeapon
{
  obituary "%k went Dirty Harry on %o's ass."
  inventory.pickupmessage "You got the .44 Magnum. Do you feel lucky, Punk?"
  //attacksound "44magnum/fire"
  weapon.selectionorder 18
  weapon.ammotype "44MagnumClip"
  weapon.ammouse 1
  weapon.ammogive 0
  weapon.ammotype2 "44MagnumAmmo"
  weapon.ammouse2 0
  weapon.ammogive2 0
  states
  {
  Ready:
    M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    GRNA L 0 A_TakeInventory("weapondropper",2)
    TNT1 A 0 A_PlaySoundEx("weapon/draw","SoundSlot5")
    M44A ABCDEF 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A GHI 2 A_WeaponReady(WRF_ALLOWZOOM)
	M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
    M44A J 0 A_JumpIfNoAmmo("Reload")
	M4CC F 0 A_JumpIfInventory("weapondropper",1,"DropWeapon")
    M44A J 0 A_JumpIfInventory("Aiming",1,5)
    M44A J 0 A_JumpIfInventory("Reloading",1,"Reload")
    M44A J 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    M44A J 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44A J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    Goto Ready+14
    M44F D 0 A_JumpIfInventory("Reloading",1,"Reload")
  ReadyAim:
    M44F D 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    M44F D 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	G18A I 0 A_JumpIfInventory("weapondropper",1,"AltFire3")
    M44F D 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    Goto Ready+20
  Deselect:
    M44A J 0 A_PlaySoundEx("weapon/down","SoundSlot5")
    M44A J 0 A_TakeInventory("Firing",1)
    M44A J 0 A_TakeInventory("Aiming",1)
    M44A J 0 A_TakeInventory("Reloading",1)
    M44A J 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    M44A J 0 A_ZoomFactor(1.0)
    M44A J 0 A_Lower
    M44A J 1 A_Lower
    Goto Deselect+6
  Select:
    M44A A 0
    M44A A 0 A_TakeInventory("Firing",1)
    M44A A 0 A_Raise
    Goto Select+2
  Fire:
    M44A J 0 A_JumpIfInventory("Aiming",1,"FireAim")
    M44A J 1 A_JumpIfNoAmmo("ReloadStart")
    M44B A 0 A_JumpIfInventory("Perk3_SteadyAim",1,"Fire_SteadyAim")
    M44B A 0 A_JumpIfInventory("Firing",1,"FireHold")
    M44B A 0 A_PlayWeaponSound("44magnum/fire")
    M44B A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,8,5)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44B A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-5.00,5.00), 1, 0, 4, 0, frandom(-5.00,5.00))
    M44B A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44B A 0 A_JumpIfNoAmmo("FireEmpty")
    M44B EF 1 BRIGHT A_GunFlash
    M44B F 0 A_GiveInventory("Firing",1)
    M44B GHIJKLM 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A JJJ 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A J 0 A_TakeInventory("Firing",1)
    M44A J 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44A J 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FireEmpty:
    M44B EF 1 BRIGHT A_GunFlash
    M44B GHIJKLM 1
    M44A JJJ 1
    M44A J 0 A_TakeInventory("Firing",1)
    M44A J 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44A J 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FireHold:
    M44B A 0 A_PlayWeaponSound("44magnum/fire")
    M44B A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,8,5)
    M44B A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-10.00,10.00), 1, 0, 4, 0, frandom(-10.00,10.00))
    M44B A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44B A 0 A_JumpIfNoAmmo("FireEmpty")
    M44B EF 1 BRIGHT A_GunFlash
    M44B F 0 A_GiveInventory("Firing",1)
    M44B GHIJKLM 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A JJJ 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A J 0 A_TakeInventory("Firing",1)
    M44A J 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44A J 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FireAim:
    M44F E 1 A_JumpIfNoAmmo("ReloadStart")
    M44F E 0 A_JumpIfInventory("Firing",1,"FireAimHold")
    M44F E 0 A_PlayWeaponSound("44magnum/fire")
    M44F E 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,0,6)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44F F 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-1.00,1.00), 1, 0, 4, 0, frandom(-1.00,1.00))
    M44F F 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44F F 0 A_JumpIfNoAmmo("FireAimEmpty")
    M44F HI 1 BRIGHT A_GunFlash
    M44F I 0 A_GiveInventory("Firing",1)
    M44F JKLMNOP 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44F DD 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44F D 0 A_TakeInventory("Firing",1)
    M44F D 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+20
    M44F D 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+20
  FireAimHold:
    M44F E 0 A_PlayWeaponSound("44magnum/fire")
    M44F E 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,0,6)
    M44F F 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-3.00,3.00), 1, 0, 4, 0, frandom(-3.00,3.00))
    M44F F 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44F F 0 A_JumpIfNoAmmo("FireAimEmpty")
    M44F HI 1 BRIGHT A_GunFlash
    M44F I 0 A_GiveInventory("Firing",1)
    M44F IJKLMNOP 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44F DD 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44F D 0 A_TakeInventory("Firing",1)
    M44F D 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+20
    M44F D 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+20
  FireAimEmpty:
    M44F HI 1 BRIGHT A_GunFlash
    M44F JKLMNOP 1
    M44F DD 1
    M44F D 0 A_TakeInventory("Firing",1)
    M44F D 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+20
    M44F D 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+20
  Reload: //AltFire:
    VECC A 0 A_JumpIfInventory("44MagnumClip",6,2)
    VECC A 0 A_JumpIfInventory("44MagnumAmmo",1,"ReloadStart")
    VECC A 0 A_TakeInventory("Reloading",1)
    VECC A 0 A_JumpIfInventory("Aiming",1,"ReadyAim")
    Goto Ready+17
  ReloadStart:
    M44C A 0 ACS_NamedExecuteAlways("RefSpeak",0,4,0,0)
    M44C A 0 A_JumpIfInventory("Aiming",1,"ReloadStartAim")
    M44C A 3 A_JumpIfInventory("Perk1_SOH",1,"ReloadStart_SOH")
	M44C A 0 A_JumpIfInventory("44MAGToken",1,"Reload2")
    M44C BCD 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44C E 3 A_PlaySoundEx("44magnum/out","SoundSlot5")
    M44C FGHIKLM 3
	TNT1 AAAAAA 0 A_SpawnItemEx("BulletCasing45",Cos(Pitch)*30,18,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(-1,-3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	M44C I 0 A_GiveInventory("44MAGToken",1)
	goto Reload2
  Reload2:
    M44C NOPQ 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    M44C R 3 A_TakeInventory("Reloading",1)
    M44C S 3 A_PlayWeaponSound("44magnum/in")
    Goto ReloadAmmo
  ReloadAmmo:
    M44C S 0 A_JumpIfInventory("44MagnumClip",6,"ReloadEnd")
	M44C S 0 A_TakeInventory("44MAGToken",1)
    M44C S 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto ReloadEnd
    M44C S 0 A_GiveInventory("44MagnumClip",1)
    M44C S 0 A_TakeInventory("44MagnumAmmo",1)
    Goto ReloadAmmo
  ReloadEnd:
    M44C TUVWXYZ 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44D A 3 A_PlayWeaponSound("44magnum/click")
    M44D BCDEFGHIJ 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+14
  Zoom:
  PostReloadAlt:
    M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
    U45F A 0 A_ZoomFactor(1.15)
	M44F C 0 A_GiveInventory("Aiming",1)
	M44F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    M44F ABCDD 1
    Goto AltHold
  ReloadBreak:
    U45F A 0 A_ZoomFactor(1.0)
    M44F DC 1
    M44F C 0 A_TakeInventory("Aiming",1)
    M44F BA 1
    M44F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	TNT1 A 0 A_ClearReFire
    Goto Reload
  ClearRefire:
    M44F D 1 A_ClearReFire
	Goto AltHold
  FireAimAltHold:
    "####" "#" 0 A_JumpIfInventory("44MagnumClip",1,1)
	Goto ReloadBreak
    M44F E 0 A_PlayWeaponSound("44magnum/fire")
	M44C S 0 A_TakeInventory("44MagnumClip",1)
    M44F E 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,0,6)
	"####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44F F 0 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-2.00,2.00), 1, 0, 4, 0, frandom(-2.00,2.00))
    M44F F 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44F F 0 A_JumpIfNoAmmo("FireAimEmpty")
    M44F HIJ 1 BRIGHT A_GunFlash
    "####" "#" 0 A_JumpIfInventory("44MagnumClip",1,1)
	Goto ReloadBreak
	A12C A 0 A_ClearReFire
	Goto AltHold
  AltHold:
    A12C C 0 A_JumpIfInventory("FireHeld",1,"ClearRefire")
    M44F D 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	A12C C 0 A_JumpIfInventory("FireHeld",1,"FireAimAltHold")
	A12C C 0 A_JumpIfInventory("Reloading",1,"ReloadBreak")
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	G18A I 0 A_JumpIfInventory("weapondropper",1,"AltFire3")
	A12C F 0 A_Refire("AltHold")
	A12C C 0 A_JumpIfInventory("Aiming",1,"AltFire2")
	Goto Ready+24
  AltFire:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"AltHold")
    M44F A 0 A_JumpIfInventory("Aiming",1,"AltFire2")
    U45F A 0 A_ZoomFactor(1.15)
    M44F AB 1
    M44F B 0 A_GiveInventory("Aiming",1)
    M44F CDD 1
    M44F G 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	A12C F 0 A_Refire("AltHold")
    Goto Ready+20
  AltFire2:
    U45F A 0 A_ZoomFactor(1.0)
    M44F DC 1
    M44F C 0 A_TakeInventory("Aiming",1)
    M44F BAA 1
    M44F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    Goto Ready+14
  AltFire3:
    U45F A 0 A_ZoomFactor(1.0)
    M44F DC 1
    M44F C 0 A_TakeInventory("Aiming",1)
    M44F BA 1
    M44F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	goto DropWeapon
  ReloadStartAim:
    U45F A 0 A_ZoomFactor(1.0)
    M44F DC 1
    M44F C 0 A_TakeInventory("Aiming",1)
    M44F BA 1
    M44F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    Goto ReloadStart+2
  Flash:
    TNT1 A 2 bright A_Light1
    TNT1 A 0 bright A_Light0
    stop
  Spawn:
    WEAP I 0
    WEAP I 0 A_SpawnItem("44MagnumDrop")
    stop
  Fire_SteadyAim:
    M44B A 0 A_JumpIfInventory("Firing",1,"FireHold_SteadyAim")
    M44B A 0 A_PlayWeaponSound("44magnum/fire")
    M44B A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,8,5)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44B A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-3.00,3.00), 1, 0, 4, 0, frandom(-3.00,3.00))
    M44B A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44B A 0 A_JumpIfNoAmmo("FireEmpty")
    M44B EF 1 BRIGHT A_GunFlash
    M44B F 0 A_GiveInventory("Firing",1)
    M44B GHIJKLM 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A JJJ 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A J 0 A_TakeInventory("Firing",1)
    M44A J 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44A J 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FireHold_SteadyAim:
    M44B A 0 A_PlayWeaponSound("44magnum/fire")
    M44B A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,8,5)
    M44B A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-7.00,7.00), 1, 0, 4, 0, frandom(-7.00,7.00))
    M44B A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44B A 0 A_JumpIfNoAmmo("FireEmpty")
    M44B EF 1 BRIGHT A_GunFlash
    M44B F 0 A_GiveInventory("Firing",1)
    M44B GHIJKLM 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A JJJ 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A J 0 A_TakeInventory("Firing",1)
    M44A J 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44A J 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  ReloadStart_SOH:
    M44C A 0 A_JumpIfInventory("44MAGToken",1,"Reload3")
    M44C A 2
    M44C A 0 A_PlaySoundEx("44magnum/out","SoundSlot5")
    M44C BCDEF 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44C GHIKLM 2
	TNT1 AAAAAA 0 A_SpawnItemEx("BulletCasing45",Cos(Pitch)*30,18,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(-1,-3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	M44C I 0 A_GiveInventory("44MAGToken",1)
	goto Reload3
  Reload3:
    M44C NOPQ 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    M44C R 2 A_TakeInventory("Reloading",1)
    M44C S 2 A_PlayWeaponSound("44magnum/in")
    Goto ReloadAmmo_SOH
  ReloadAmmo_SOH:
    M44C S 0 A_JumpIfInventory("44MagnumClip",6,"ReloadEnd_SOH")
	M44C S 0 A_TakeInventory("44MAGToken",1)
    M44C S 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto ReloadEnd_SOH
    M44C S 0 A_GiveInventory("44MagnumClip",1)
    M44C S 0 A_TakeInventory("44MagnumAmmo",1)
    Goto ReloadAmmo_SOH
  ReloadEnd_SOH:
    M44C TUVWXYZ 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44D A 2 A_PlayWeaponSound("44magnum/click")
    M44D BCDEFGHIJ 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+14
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_TakeInventory("Aiming",1)
    U45A L 0 A_TakeInventory("Reloading",1)
    U45F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	M4CA J 0 A_JumpIfInventory("ThrowingStun",1,"StunGrenade")
	M4CA J 0 A_JumpIfInventory("ThrowingIncd",1,"IncGrenade")
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"FragGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("GrenadeAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("FragGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  FragGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("GrenadeAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("FragGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_TakeInventory("Aiming",1)
    U45A L 0 A_TakeInventory("Reloading",1)
    U45F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"KnifeAttack_SOH")
    U45C A 0 A_JumpIfInventory("Perk3_Commando",1,"KnifeAttack_Commando")
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",104)
    KNFA DEFGHIJKL 1
    TNT1 A 20
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  KnifeAttack_Commando:
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",160)
    KNFA DEFGHIJKL 1
    TNT1 A 20
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  KnifeAttack_SOH:
    U45C A 0 A_JumpIfInventory("Perk3_Commando",1,"KnifeAttack_SOH_Commando")
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",104)
    KNFA DEFGHIJKL 1
    TNT1 A 10
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  KnifeAttack_SOH_Commando:
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",160)
    KNFA DEFGHIJKL 1
    TNT1 A 10
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  StunGrenade:
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"StunGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("StunAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("StunGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  IncGrenade:
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"IncGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("IncdAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("IncGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  StunGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("StunAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("StunGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  IncGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("IncdAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("IncGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  DropWeapon:
    M44A IHGFEDCB 2 A_WeaponReady(WRF_NOPRIMARY)
	M44A A 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	M4CC F 0 A_JumpIfInventory("weapondropper",2,"ThrowWeapon")
    KNFA A 0 ACS_NamedExecuteAlways("RefDropW",0,0,0,0)
	GRNA L 0 A_TakeInventory("weapondropper",1)
	M4CB A 0 A_FireCustomMissile("44MagDropped",0,0,7,2)
	stop
  ThrowWeapon:
    GRNA IKMN 1
	KNFA B 0 A_PlaySound("knife/swing")
    KNFA A 0 ACS_NamedExecuteAlways("RefDropW",0,0,0,0)
	GRNA L 0 A_TakeInventory("weapondropper",2)
	M4CB A 0 A_FireCustomMissile("44MagThrown",0,0,7,2)
	stop
  }
}

actor 44MagnumClip : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 0
    inventory.maxamount 6
    ammo.backpackamount 0
    ammo.backpackmaxamount 6
    +IGNORESKILL
}

actor ".44 Magnum Akimbo" : ".44 Magnum"
{
  obituary "%k went Dirty Harry twice on %o's unfortunate ass."
  weapon.ammotype "44MagnumClip2"
  weapon.ammouse 1
  weapon.ammogive 0
  weapon.ammotype2 "44MagnumAmmo"
  weapon.ammouse2 0
  weapon.ammogive2 0
  states
  {
  Ready:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    TNT1 A 2 A_PlaySoundEx("weapon/draw","SoundSlot5")
    M44G ABCDEFGHIJK 1 A_WeaponReady(WRF_NOFIRE)
	M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
    M44G K 0 A_JumpIfNoAmmo("Reload")
	M4CC F 0 A_JumpIfInventory("weapondropper",1,"DropWeapon")
    M44G K 0 A_JumpIfInventory("Reloading",1,"Reload")
    M44G K 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    M44G K 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44G K 1 A_WeaponReady(WRF_ALLOWRELOAD)
    Goto Ready+14
  Deselect:
    M44G K 0 A_PlaySoundEx("weapon/down","SoundSlot5")
    M44G K 0 A_TakeInventory("Aiming",1)
    M44G K 0 A_TakeInventory("Reloading",1)
    M44G K 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    M44G K 0 A_Lower
    M44G K 1 A_Lower
    Goto Deselect+4
  Select:
    M44G A 0 A_Raise
    Loop
  Fire: //Right
    M44G K 1 A_JumpIfNoAmmo("ReloadStart")
    M44I A 0 A_JumpIfInventory("FireSwitch",1,"FireLeft")
    M44I A 0 A_JumpIfInventory("Perk3_SteadyAim",1,"Fire_SteadyAim")
    M44I A 0 A_PlayWeaponSound("44magnum/fire")
    M44I A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,15,4)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44I B 1 BRIGHT A_FireCustomMissile("HHCBMAGNUMA", frandom(-8.00,8.00), 1, 0, 4, 0, frandom(-8.00,8.00))
    M44I B 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44I C 1 BRIGHT A_GunFlash
    M44I C 0 A_GiveInventory("FireSwitch",1)
    M44I C 0 A_JumpIfNoAmmo("FireEmpty")
    M44I DDEE 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44G KK 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44G K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44G K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FireLeft:
    M44H A 0 A_JumpIfInventory("Perk3_SteadyAim",1,"FireLeft_SteadyAim")
    M44H A 0 A_PlaySoundEx("44magnum/fire","SoundSlot6")
    M44H A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,-15,5)
    M44H B 1 BRIGHT A_FireCustomMissile("HHCBMAGNUMA", frandom(-8.00,8.00), 1, 0, 4, 0, frandom(-8.00,8.00))
    M44H B 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44H C 1 BRIGHT A_GunFlash
    M44H C 0 A_TakeInventory("FireSwitch",1)
    M44H C 0 A_JumpIfNoAmmo("FireEmptyLeft")
    M44H DDEE 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44G KK 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44G K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44G K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FireEmpty:
    M44I C 1 BRIGHT A_GunFlash
    M44I DDEE 1
    M44G K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44G K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FireEmptyLeft:
    M44H C 1 BRIGHT A_GunFlash
    M44H DDEE 1
    M44G K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44G K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  AltFire: //Does nothing
    M44G K 1 A_WeaponReady(WRF_NOSECONDARY|WRF_ALLOWRELOAD)
    Goto Ready+14
  Reload: //AltFire:
    M4CC F 0 A_JumpIfInventory("weapondropper",1,"DropWeapon")
    M44G A 0 A_JumpIfInventory("44MagnumClip2",12,2)
    M44G A 0 A_JumpIfInventory("44MagnumAmmo",1,"ReloadStart")
    M44G A 0 A_TakeInventory("Reloading",1)
    Goto Ready+17
  ReloadStart:
    M44J A 0 ACS_NamedExecuteAlways("RefSpeak",0,4,0,0)
    M44J A 0 A_TakeInventory("FireSwitch",1)
    M44J A 3 A_JumpIfInventory("Perk1_SOH",1,"ReloadStart_SOH")
	M44C A 0 A_JumpIfInventory("44MAGToken",1,"Reload2")
    M44J BCD 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44J E 3 A_PlaySoundEx("44magnum/out","SoundSlot5")
    M44J F 3 A_PlaySoundEx("44magnum/out","SoundSlot7")
	TNT1 AAAAAA 0 A_SpawnItemEx("BulletCasing45",Cos(Pitch)*30,20,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(-1,-3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
    M44J GHI 3
	TNT1 AAAAAA 0 A_SpawnItemEx("BulletCasing45",Cos(Pitch)*30,-22,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(1,3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	M44C I 0 A_GiveInventory("44MAGToken",1)
	M44J KLM 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	goto Reload2
  Reload2:
    M44J NOPQ 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    M44J R 12 A_TakeInventory("Reloading",1)
    M44J S 12 A_PlaySoundEx("44magnum/in","SoundSlot5")
    M44J S 3 A_PlayWeaponSound("44magnum/in")
    Goto ReloadAmmo
  ReloadAmmo:
    M44J S 0 A_JumpIfInventory("44MagnumClip2",12,"ReloadEnd")
	M44C S 0 A_TakeInventory("44MAGToken",1)
    M44J S 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto ReloadEnd
    M44J S 0 A_GiveInventory("44MagnumClip2",1)
    M44J S 0 A_TakeInventory("44MagnumAmmo",1)
    Goto ReloadAmmo
  ReloadEnd:
    M44J TUVWX 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44J Y 3 A_PlaySoundEx("44magnum/click","SoundSlot5")
    M44J Z 3
    M44K A 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44K B 3 A_PlayWeaponSound("44magnum/click")
    M44K CDEFGHI 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    Goto Ready+12
  Flash:
    TNT1 A 2 bright A_Light1
    TNT1 A 0 bright A_Light0
    stop
  ReloadStart_SOH:
    M44C A 0 A_JumpIfInventory("44MAGToken",1,"Reload3")
    M44J A 2
    M44J BCD 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44J E 2 A_PlaySoundEx("44magnum/out","SoundSlot5")
    M44J F 2 A_PlaySoundEx("44magnum/out","SoundSlot7")
	TNT1 AAAAAA 0 A_SpawnItemEx("BulletCasing45",Cos(Pitch)*30,20,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(-1,-3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
    M44J GHI 2
	TNT1 AAAAAA 0 A_SpawnItemEx("BulletCasing45",Cos(Pitch)*30,-22,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(1,3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	M44C I 0 A_GiveInventory("44MAGToken",1)
	M44J KLM 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	goto Reload3
  Reload3:
    M44J NOPQ 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    M44J R 9 A_TakeInventory("Reloading",1)
    M44J S 9 A_PlaySoundEx("44magnum/in","SoundSlot5")
    M44J S 2 A_PlayWeaponSound("44magnum/in")
    Goto ReloadAmmo_SOH
  ReloadAmmo_SOH:
    M44J S 0 A_JumpIfInventory("44MagnumClip2",12,"ReloadEnd_SOH")
	M44C S 0 A_TakeInventory("44MAGToken",1)
    M44J S 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto ReloadEnd_SOH
    M44J S 0 A_GiveInventory("44MagnumClip2",1)
    M44J S 0 A_TakeInventory("44MagnumAmmo",1)
    Goto ReloadAmmo_SOH
  ReloadEnd_SOH:
    M44J TUVWX 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44J Y 2 A_PlaySoundEx("44magnum/click","SoundSlot5")
    M44J Z 2
    M44K A 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44K B 2 A_PlayWeaponSound("44magnum/click")
    M44K CDEFGHI 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    Goto Ready+12
  Fire_SteadyAim: //Right
    M44I A 0 A_PlayWeaponSound("44magnum/fire")
    M44I A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,15,4)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44I B 1 BRIGHT A_FireCustomMissile("HHCBMAGNUMA", frandom(-6.00,6.00), 1, 0, 4, 0, frandom(-6.00,6.00))
    M44I B 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44I C 1 BRIGHT A_GunFlash
    M44I C 0 A_GiveInventory("FireSwitch",1)
    M44I C 0 A_JumpIfNoAmmo("FireEmpty")
    M44I DDEE 1 A_WeaponReady
    M44G KK 1 A_WeaponReady
    M44G K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44G K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FireLeft_SteadyAim:
    M44H A 0 A_PlaySoundEx("44magnum/fire","SoundSlot6")
    M44H A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,-15,5)
    M44H B 1 BRIGHT A_FireCustomMissile("HHCBMAGNUMA", frandom(-6.00,6.00), 1, 0, 4, 0, frandom(-6.00,6.00))
    M44H B 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44H C 1 BRIGHT A_GunFlash
    M44H C 0 A_TakeInventory("FireSwitch",1)
    M44H C 0 A_JumpIfNoAmmo("FireEmptyLeft")
    M44H DDEE 1 A_WeaponReady
    M44G KK 1 A_WeaponReady
    M44G K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44G K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_TakeInventory("Aiming",1)
    U45A L 0 A_TakeInventory("Reloading",1)
    U45F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	M4CA J 0 A_JumpIfInventory("ThrowingStun",1,"StunGrenade")
	M4CA J 0 A_JumpIfInventory("ThrowingIncd",1,"IncGrenade")
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"FragGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("GrenadeAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("FragGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
    Goto Ready+2
  FragGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("GrenadeAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("FragGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
    Goto Ready+2
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_TakeInventory("Aiming",1)
    U45A L 0 A_TakeInventory("Reloading",1)
    U45F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"KnifeAttack_SOH")
    U45C A 0 A_JumpIfInventory("Perk3_Commando",1,"KnifeAttack_Commando")
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",104)
    KNFA DEFGHIJKL 1
    TNT1 A 20
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    Goto Ready+2
  KnifeAttack_Commando:
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",160)
    KNFA DEFGHIJKL 1
    TNT1 A 20
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    Goto Ready+2
  KnifeAttack_SOH:
    U45C A 0 A_JumpIfInventory("Perk3_Commando",1,"KnifeAttack_SOH_Commando")
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",104)
    KNFA DEFGHIJKL 1
    TNT1 A 10
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    Goto Ready+2
  KnifeAttack_SOH_Commando:
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",160)
    KNFA DEFGHIJKL 1
    TNT1 A 10
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    Goto Ready+2
  StunGrenade:
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"StunGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("StunAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("StunGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
    Goto Ready+2
  IncGrenade:
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"IncGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("IncdAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("IncGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
    Goto Ready+2
  StunGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("StunAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("StunGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
    Goto Ready+2
  IncGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("IncdAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("IncGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
    Goto Ready+2
  DropWeapon:
    M44G JIHGFEDCB 2 A_WeaponReady(WRF_NOPRIMARY)
	M44G A 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	M4CC F 0 A_JumpIfInventory("weapondropper",2,"ThrowWeapon")
    KNFA A 0 ACS_NamedExecuteAlways("RefDropW",0,0,0,0)
	GRNA L 0 A_TakeInventory("weapondropper",1)
	M4CB A 0 A_FireCustomMissile("44MagDropped",0,0,7,2)
	stop
  ThrowWeapon:
    GRNA IKMN 1
	KNFA B 0 A_PlaySound("knife/swing")
    KNFA A 0 ACS_NamedExecuteAlways("RefDropW",0,0,0,0)
	GRNA L 0 A_TakeInventory("weapondropper",2)
	M4CB A 0 A_FireCustomMissile("44MagThrown",0,0,7,2)
	stop
  }
}
actor 44MagnumClip2 : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 0
    inventory.maxamount 12
    ammo.backpackamount 0
    ammo.backpackmaxamount 12
    +IGNORESKILL
}

actor MagnumAkimbo : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor ".44 Magnum Tac Knife" : ".44 Magnum"
{
  obituary "%k went Dirty Harry on %o's ass."
  inventory.pickupmessage "You got the .44 Magnum. Do you feel lucky, Punk?"
  //attacksound "44magnum/fire"
  weapon.selectionorder 18
  weapon.ammotype "44MagnumClip"
  weapon.ammouse 1
  weapon.ammogive 0
  weapon.ammotype2 "44MagnumAmmo"
  weapon.ammouse2 0
  weapon.ammogive2 0
  states
  {
  Ready:
    M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    GRNA L 0 A_TakeInventory("weapondropper",2)
    TNT1 A 0 A_PlaySoundEx("weapon/draw","SoundSlot5")
    M44L ABCDEFGH 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44L IJ 2 A_WeaponReady(WRF_ALLOWZOOM)
	M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
    M44L K 0 A_JumpIfNoAmmo("Reload")
	M4CC F 0 A_JumpIfInventory("weapondropper",1,"DropWeapon")
    M44L K 0 A_JumpIfInventory("Aiming",1,5)
    M44L K 0 A_JumpIfInventory("Reloading",1,"Reload")
    M44L K 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    M44L K 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44L K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    Goto Ready+15
    M44N E 0 A_JumpIfInventory("Reloading",1,"Reload")
  ReadyAim:
    M44N E 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    M44N E 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	G18A I 0 A_JumpIfInventory("weapondropper",1,"AltFire3")
    M44N E 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    Goto Ready+21
  Deselect:
    M44L K 0 A_PlaySoundEx("weapon/down","SoundSlot5")
    M44L K 0 A_TakeInventory("Firing",1)
    M44L K 0 A_TakeInventory("Aiming",1)
    M44L K 0 A_TakeInventory("Reloading",1)
    M44L K 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    M44L K 0 A_ZoomFactor(1.0)
    M44L K 0 A_Lower
    M44L K 1 A_Lower
    Goto Deselect+6
  Select:
    M44L A 0
    M44L A 0 A_TakeInventory("Firing",1)
    M44L A 0 A_Raise
    Goto Select+2
  Fire:
    M44L K 0 A_JumpIfInventory("Aiming",1,"FireAim")
    M44L K 1 A_JumpIfNoAmmo("ReloadStart")
    M44M A 0 A_JumpIfInventory("Perk3_SteadyAim",1,"Fire_SteadyAim")
    M44M A 0 A_JumpIfInventory("Firing",1,"FireHold")
    M44M A 0 A_PlayWeaponSound("44magnum/fire")
    M44M A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,5,9)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44M A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-6.00,6.00), 1, 0, 4, 0, frandom(-6.00,6.00))
    M44M A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44M A 0 A_JumpIfNoAmmo("FireEmpty")
    M44M BB 1 BRIGHT A_GunFlash
    M44M B 0 A_GiveInventory("Firing",1)
    M44M CCDDEEFF 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44L KK 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44L K 0 A_TakeInventory("Firing",1)
    M44L K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+15
    M44L K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+15
  FireEmpty:
    M44M BB 1 BRIGHT A_GunFlash
    M44M CCDDEEFF 1
    M44L K 0 A_TakeInventory("Firing",1)
    M44L K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+15
    M44L K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+15
  FireHold:
    M44M A 0 A_PlayWeaponSound("44magnum/fire")
    M44M A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,5,9)
    M44M A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-10.00,10.00), 1, 0, 4, 0, frandom(-10.00,10.00))
    M44M A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44M A 0 A_JumpIfNoAmmo("FireEmpty")
    M44M BB 1 BRIGHT A_GunFlash
    M44M B 0 A_GiveInventory("Firing",1)
    M44M CCDDEEFF 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44L KK 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44L K 0 A_TakeInventory("Firing",1)
    M44L K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+15
    M44L K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+15
  FireAim:
    M44N E 1 A_JumpIfNoAmmo("ReloadStart")
    M44O A 0 A_JumpIfInventory("Firing",1,"FireAimHold")
    M44O A 0 A_PlayWeaponSound("44magnum/fire")
    M44O A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,0,6)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44O A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-1.10,1.10), 1, 0, 4, 0, frandom(-1.10,1.10))
    M44O A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44O A 0 A_JumpIfNoAmmo("FireAimEmpty")
    M44O BB 1 BRIGHT A_GunFlash
    M44O B 0 A_GiveInventory("Firing",1)
    M44O CCDDEEFF 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44N EE 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44N E 0 A_TakeInventory("Firing",1)
    M44N E 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+21
    M44N E 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+21
  FireAimHold:
    M44O A 0 A_PlayWeaponSound("44magnum/fire")
    M44O A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,0,6)
    M44O A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-3.30,3.30), 1, 0, 4, 0, frandom(-3.30,3.30))
    M44O A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44O A 0 A_JumpIfNoAmmo("FireAimEmpty")
    M44O BB 1 BRIGHT A_GunFlash
    M44O B 0 A_GiveInventory("Firing",1)
    M44O CCDDEEFF 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44N EE 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44N E 0 A_TakeInventory("Firing",1)
    M44N E 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+21
    M44N E 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+21
  FireAimEmpty:
    M44O BB 1 BRIGHT A_GunFlash
    M44O CCDDEEFF 1
    M44N E 0 A_TakeInventory("Firing",1)
    M44N E 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+21
    M44N E 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+21
  Reload: //AltFire:
    VECC A 0 A_JumpIfInventory("44MagnumClip",6,2)
    VECC A 0 A_JumpIfInventory("44MagnumAmmo",1,"ReloadStart")
    VECC A 0 A_TakeInventory("Reloading",1)
    VECC A 0 A_JumpIfInventory("Aiming",1,"ReadyAim")
    Goto Ready+17
  ReloadStart:
    M44P A 0 ACS_NamedExecuteAlways("RefSpeak",0,4,0,0)
    M44P A 0 A_JumpIfInventory("Aiming",1,"ReloadStartAim")
    M44P A 3 A_JumpIfInventory("Perk1_SOH",1,"ReloadStart_SOH")
	M44C A 0 A_JumpIfInventory("44MAGToken",1,"Reload2")
    M44P BCD 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44P E 3 A_PlaySoundEx("44magnum/out","SoundSlot5")
    M44P FGHI 3
	TNT1 AAAAAA 0 A_SpawnItemEx("BulletCasing45",Cos(Pitch)*30,18,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(-1,-3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	M44C I 0 A_GiveInventory("44MAGToken",1)
	M44P KLM 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	goto Reload2
  Reload2:
    M44C NOPQ 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    M44P R 3 A_TakeInventory("Reloading",1)
    M44P S 3 A_PlayWeaponSound("44magnum/in")
    Goto ReloadAmmo
  ReloadAmmo:
    M44P S 0 A_JumpIfInventory("44MagnumClip",6,"ReloadEnd")
	M44C S 0 A_TakeInventory("44MAGToken",1)
    M44P S 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto ReloadEnd
    M44P S 0 A_GiveInventory("44MagnumClip",1)
    M44P S 0 A_TakeInventory("44MagnumAmmo",1)
    Goto ReloadAmmo
  ReloadEnd:
    M44P TUVWXYZ 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44Q A 3 A_PlayWeaponSound("44magnum/click")
    M44Q BCDEFGHIJK 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+15
  Zoom:
  PostReloadAlt:
    M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
    M44N A 0 A_ZoomFactor(1.15)
    M44N D 0 A_GiveInventory("Aiming",1)
	M44N A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    M44N ABCDE 1
    Goto AltHold
  ReloadBreak:
    M44N A 0 A_ZoomFactor(1.0)
    M44N ED 1
    M44N D 0 A_TakeInventory("Aiming",1)
    M44N CBA 1
    M44N A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	TNT1 A 0 A_ClearReFire
    Goto Reload
  ClearRefire:
    M44N E 1 A_ClearReFire
	Goto AltHold
  FireAimAltHold:
    "####" "#" 0 A_JumpIfInventory("44MagnumClip",1,1)
	Goto ReloadBreak
    M44O A 0 A_PlayWeaponSound("44magnum/fire")
	M44P S 0 A_TakeInventory("44MagnumClip",1)
    M44O A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,0,6)
	"####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44O A 0 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-2.30,2.30), 1, 0, 4, 0, frandom(-2.30,2.30))
    M44O A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44O BCDE 1 BRIGHT A_GunFlash
    "####" "#" 0 A_JumpIfInventory("44MagnumClip",1,1)
	Goto ReloadBreak
	TNT1 A 0 A_ClearReFire
    Goto AltHold
  AltHold:
    A12C C 0 A_JumpIfInventory("FireHeld",1,"ClearRefire")
    M44N E 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	A12C C 0 A_JumpIfInventory("FireHeld",1,"FireAimAltHold")
	A12C C 0 A_JumpIfInventory("Reloading",1,"ReloadBreak")
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	G18A I 0 A_JumpIfInventory("weapondropper",1,"AltFire3")
	A12C F 0 A_Refire("AltHold")
	A12C C 0 A_JumpIfInventory("Aiming",1,"AltFire2")
	Goto Ready+24
  AltFire:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"AltHold")
    M44N A 0 A_JumpIfInventory("Aiming",1,"AltFire2")
    M44N A 0 A_ZoomFactor(1.15)
    M44N AB 1
    M44N B 0 A_GiveInventory("Aiming",1)
    M44N CDE 1
    M44N G 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	A12C F 0 A_Refire("AltHold")
    Goto Ready+21
  AltFire2:
    M44N A 0 A_ZoomFactor(1.0)
    M44N ED 1
    M44N D 0 A_TakeInventory("Aiming",1)
    M44N CBA 1
    M44N A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    Goto Ready+15
  AltFire3:
    M44N A 0 A_ZoomFactor(1.0)
    M44N ED 1
    M44N D 0 A_TakeInventory("Aiming",1)
    M44N CBA 1
    M44N A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
  ReloadStartAim:
    M44N A 0 A_ZoomFactor(1.0)
    M44N ED 1
    M44N D 0 A_TakeInventory("Aiming",1)
    M44N CBA 1
    M44N A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    Goto ReloadStart+2
  Flash:
    TNT1 A 2 bright A_Light1
    TNT1 A 0 bright A_Light0
    stop
  Spawn:
    WEAP I 0
    WEAP I 0 A_SpawnItem("44MagnumDrop")
    stop
  ReloadStart_SOH:
    M44C A 0 A_JumpIfInventory("44MAGToken",1,"Reload3")
    M44P A 2
    M44P BCD 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44P E 2 A_PlaySoundEx("44magnum/out","SoundSlot5")
    M44P FGHI 2
	TNT1 AAAAAA 0 A_SpawnItemEx("BulletCasing45",Cos(Pitch)*30,18,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(-1,-3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
    M44C I 0 A_GiveInventory("44MAGToken",1)
	M44P KLM 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	goto Reload3
  Reload3:
    M44C NOPQ 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    M44P R 2 A_TakeInventory("Reloading",1)
    M44P S 2 A_PlayWeaponSound("44magnum/in")
    Goto ReloadAmmo_SOH
  ReloadAmmo_SOH:
    M44P S 0 A_JumpIfInventory("44MagnumClip",6,"ReloadEnd_SOH")
	M44C S 0 A_TakeInventory("44MAGToken",1)
    M44P S 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto ReloadEnd_SOH
    M44P S 0 A_GiveInventory("44MagnumClip",1)
    M44P S 0 A_TakeInventory("44MagnumAmmo",1)
    Goto ReloadAmmo_SOH
  ReloadEnd_SOH:
    M44P TUVWXYZ 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44Q A 2 A_PlayWeaponSound("44magnum/click")
    M44Q BCDEFGHIJK 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+15
  Fire_SteadyAim:
    M44M A 0 A_JumpIfInventory("Firing",1,"FireHold_SteadyAim")
    M44M A 0 A_PlayWeaponSound("44magnum/fire")
    M44M A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,5,9)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44M A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-4.00,4.00), 1, 0, 4, 0, frandom(-4.00,4.00))
    M44M A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44M A 0 A_JumpIfNoAmmo("FireEmpty")
    M44M BB 1 BRIGHT A_GunFlash
    M44M B 0 A_GiveInventory("Firing",1)
    M44M CCDDEEFF 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44L KK 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44L K 0 A_TakeInventory("Firing",1)
    M44L K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+15
    M44L K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+15
  FireHold_SteadyAim:
    M44M A 0 A_PlayWeaponSound("44magnum/fire")
    M44M A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,5,9)
    M44M A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUM", frandom(-8.00,8.00), 1, 0, 4, 0, frandom(-8.00,8.00))
    M44M A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44M A 0 A_JumpIfNoAmmo("FireEmpty")
    M44M BB 1 BRIGHT A_GunFlash
    M44M B 0 A_GiveInventory("Firing",1)
    M44M CCDDEEFF 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44L KK 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44L K 0 A_TakeInventory("Firing",1)
    M44L K 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+15
    M44L K 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+15
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_TakeInventory("Aiming",1)
    U45A L 0 A_TakeInventory("Reloading",1)
    U45F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	M4CA J 0 A_JumpIfInventory("ThrowingStun",1,"StunGrenade")
	M4CA J 0 A_JumpIfInventory("ThrowingIncd",1,"IncGrenade")
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"FragGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("GrenadeAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("FragGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  FragGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("GrenadeAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("FragGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    M44R A 0 A_ZoomFactor(1.0)
    M44R A 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    M44R A 0 A_TakeInventory("Aiming",1)
    M44R A 0 A_TakeInventory("Reloading",1)
    M44R A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    M44R A 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"KnifeAttack_SOH")
    M44R A 0 A_JumpIfInventory("Perk3_Commando",1,"KnifeAttack_Commando")
    M44R A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    M44R AB 1
    M44R C 1 A_PlaySound("knife/swing")
    M44R D 1 A_CustomPunch(102,1,0,"KnifePuff",104)
    M44R EF 1
    TNT1 AAA 5
    M44R L 0 A_TakeInventory("ThrowingGrenade",1)
    M44R L 0 A_TakeInventory("KnifeAttack",1)
    M44L A 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  KnifeAttack_Commando:
    M44R A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    M44R AB 1
    M44R C 1 A_PlaySound("knife/swing")
    M44R D 1 A_CustomPunch(102,1,0,"KnifePuff",160)
    M44R EF 1
    TNT1 AAA 5
    M44R L 0 A_TakeInventory("ThrowingGrenade",1)
    M44R L 0 A_TakeInventory("KnifeAttack",1)
    M44L A 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+2
  KnifeAttack_SOH:
    M44R A 0 A_JumpIfInventory("Perk3_Commando",1,"KnifeAttack_SOH_Commando")
    M44R A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    M44R AB 1
    M44R C 1 A_PlaySound("knife/swing")
    M44R D 1 A_CustomPunch(102,1,0,"KnifePuff",104)
    M44R EF 1
    TNT1 A 5
    M44R L 0 A_TakeInventory("ThrowingGrenade",1)
    M44R L 0 A_TakeInventory("KnifeAttack",1)
    M44L A 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  KnifeAttack_SOH_Commando:
    M44R A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    M44R AB 1
    M44R C 1 A_PlaySound("knife/swing")
    M44R D 1 A_CustomPunch(102,1,0,"KnifePuff",160)
    M44R EF 1
    TNT1 A 5
    M44R L 0 A_TakeInventory("ThrowingGrenade",1)
    M44R L 0 A_TakeInventory("KnifeAttack",1)
    M44L A 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  StunGrenade:
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"StunGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("StunAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("StunGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  IncGrenade:
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"IncGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("IncdAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("IncGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  StunGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("StunAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("StunGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  IncGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("IncdAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("IncGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+3
  DropWeapon:
    M44L JIHGFEDCB 2 A_WeaponReady(WRF_NOPRIMARY)
	M44L A 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	M4CC F 0 A_JumpIfInventory("weapondropper",2,"ThrowWeapon")
    KNFA A 0 ACS_NamedExecuteAlways("RefDropW",0,0,0,0)
	GRNA L 0 A_TakeInventory("weapondropper",1)
	M4CB A 0 A_FireCustomMissile("44MagDropped",0,0,7,2)
	stop
  ThrowWeapon:
    GRNA IKMN 1
	KNFA B 0 A_PlaySound("knife/swing")
    KNFA A 0 ACS_NamedExecuteAlways("RefDropW",0,0,0,0)
	GRNA L 0 A_TakeInventory("weapondropper",2)
	M4CB A 0 A_FireCustomMissile("44MagThrown",0,0,7,2)
	stop
  }
}

actor MagnumKnife : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor ".44 Magnum Buckshot" : ".44 Magnum"
{
  obituary "%k went Dirty Harry on %o's ass. Sorta."
  inventory.pickupmessage "You got the .44 Magnum. Do you feel lucky, Punk?"
  //attacksound "44magnum/fire"
  weapon.selectionorder 18
  weapon.ammotype "44MagnumClip"
  weapon.ammouse 1
  weapon.ammogive 0
  weapon.ammotype2 "44MagnumAmmo"
  weapon.ammouse2 0
  weapon.ammogive2 0
  states
  {
  Ready:
    M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    GRNA L 0 A_TakeInventory("weapondropper",2)
    TNT1 A 0 A_PlaySoundEx("weapon/draw","SoundSlot5")
    M44A ABCDEF 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A GHI 2 A_WeaponReady(WRF_ALLOWZOOM)
	M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
    M44A J 0 A_JumpIfNoAmmo("Reload")
	M4CC F 0 A_JumpIfInventory("weapondropper",1,"DropWeapon")
    M44A J 0 A_JumpIfInventory("Aiming",1,5)
    M44A J 0 A_JumpIfInventory("Reloading",1,"Reload")
    M44A J 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    M44A J 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44A J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    Goto Ready+14
    M44F D 0 A_JumpIfInventory("Reloading",1,"Reload")
  ReadyAim:
    M44F D 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    M44F D 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	G18A I 0 A_JumpIfInventory("weapondropper",1,"AltFire3")
    M44F D 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    Goto Ready+20
  Fire:
    M44A J 0 A_JumpIfInventory("Aiming",1,"FireAim")
    M44A J 1 A_JumpIfNoAmmo("ReloadStart")
    M44B A 0 A_JumpIfInventory("Perk3_SteadyAim",1,"Fire_SteadyAim")
    M44B A 0 A_PlayWeaponSound("44magnum/fire")
    M44B A 0 A_FireCustomMissile("WeaponSmokePuffShotgun",0,0,8,5)
    M44B A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,8,5)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44B AAA 0 BRIGHT A_FireCustomMissile("HHCBMAGNUMB1", frandom(-6.50,6.50), 0, 0, 4, 0, frandom(-6.50,6.50))
    M44B AAAAA 0 BRIGHT A_FireCustomMissile("HHCBMAGNUMB2", frandom(-6.50,6.50), 0, 0, 4, 0, frandom(-6.50,6.50))
    M44B A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUMB2", frandom(-6.50,6.50), 1, 0, 4, 0, frandom(-6.50,6.50))
    M44B A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44B A 0 A_JumpIfNoAmmo("FireEmpty")
    M44B EF 1 BRIGHT A_GunFlash
    M44B G 1
    M44B HIJKLM 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A JJJ 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A J 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44A J 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  FireAim:
    M44F E 1 A_JumpIfNoAmmo("ReloadStart")
    M44F E 0 A_PlayWeaponSound("44magnum/fire")
    M44F E 0 A_FireCustomMissile("WeaponSmokePuffShotgun",0,0,0,6)
    M44F E 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,0,6)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44F FFF 0 BRIGHT A_FireCustomMissile("HHCBMAGNUMB1", frandom(-5.50,5.50), 0, 0, 4, 0, frandom(-5.50,5.50))
    M44F FFFFF 0 BRIGHT A_FireCustomMissile("HHCBMAGNUMB2", frandom(-5.50,5.50), 0, 0, 4, 0, frandom(-5.50,5.50))
    M44F F 1 BRIGHT A_FireCustomMissile("HHCBMAGNUMB2", frandom(-5.50,5.50), 1, 0, 4, 0, frandom(-5.50,5.50))
    M44F F 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44F F 0 A_JumpIfNoAmmo("FireAimEmpty")
    M44F HI 1 BRIGHT A_GunFlash
    M44F J 1
    M44F KLMNOP 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44F DD 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)
    M44F D 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+20
    M44F D 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+20
  Fire_SteadyAim:
    M44B A 0 A_PlayWeaponSound("44magnum/fire")
    M44B A 0 A_FireCustomMissile("WeaponSmokePuffShotgun",0,0,8,5)
    M44B A 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,8,5)
    "####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44B AAA 0 BRIGHT A_FireCustomMissile("HHCBMAGNUMB1", frandom(-5.50,5.50), 0, 0, 4, 0, frandom(-5.50,5.50))
    M44B AAAAA 0 BRIGHT A_FireCustomMissile("HHCBMAGNUMB2", frandom(-5.50,5.50), 0, 0, 4, 0, frandom(-5.50,5.50))
    M44B A 1 BRIGHT A_FireCustomMissile("HHCBMAGNUMB2", frandom(-5.50,5.50), 1, 0, 4, 0, frandom(-5.50,5.50))
    M44B A 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44B A 0 A_JumpIfNoAmmo("FireEmpty")
    M44B EF 1 BRIGHT A_GunFlash
    M44B G 1
    M44B HIJKLM 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A JJJ 1 A_WeaponReady(WRF_ALLOWZOOM)
    M44A J 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto Ready+14
    M44A J 0 A_JumpIfNoAmmo("ReloadStart")
    Goto Ready+14
  Reload: //AltFire:
    VECC A 0 A_JumpIfInventory("44MagnumClip",6,2)
    VECC A 0 A_JumpIfInventory("44MagnumAmmo",1,"ReloadStart")
    VECC A 0 A_TakeInventory("Reloading",1)
    VECC A 0 A_JumpIfInventory("Aiming",1,"ReadyAim")
    Goto Ready+17
  ReloadStart:
    M44C A 0 ACS_NamedExecuteAlways("RefSpeak",0,4,0,0)
    M44C A 0 A_JumpIfInventory("Aiming",1,"ReloadStartAim")
    M44C A 3 A_JumpIfInventory("Perk1_SOH",1,"ReloadStart_SOH")
	M44C A 0 A_JumpIfInventory("44MAGToken",1,"Reload2")
    M44C BCD 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44C E 3 A_PlaySoundEx("44magnum/out","SoundSlot5")
    M44C FGHI 3
	TNT1 AAAAAA 0 A_SpawnItemEx("ShellCasing410",Cos(Pitch)*30,18,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(-1,-3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	M44C I 0 A_GiveInventory("44MAGToken",1)
	M44C KLM 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	goto Reload2
  Reload2:
    M44C NOPQ 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    M44C R 3 A_TakeInventory("Reloading",1)
    M44C S 3 A_PlayWeaponSound("44magnum/in")
    Goto ReloadAmmo
  ReloadAmmo:
    M44C S 0 A_JumpIfInventory("44MagnumClip",6,"ReloadEnd")
	M44C S 0 A_TakeInventory("44MAGToken",1)
    M44C S 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto ReloadEnd
    M44C S 0 A_GiveInventory("44MagnumClip",1)
    M44C S 0 A_TakeInventory("44MagnumAmmo",1)
    Goto ReloadAmmo
  ReloadEnd:
    M44C TUVWXYZ 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44D A 3 A_PlayWeaponSound("44magnum/click")
    M44D BCDEFGHIJ 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+14
  ReloadStart_SOH:
    M44C A 0 A_JumpIfInventory("44MAGToken",1,"Reload3")
    M44C A 2
    M44C A 0 A_PlaySoundEx("44magnum/out","SoundSlot5")
    M44C BCDEF 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44C GHI 2
	TNT1 AAAAAA 0 A_SpawnItemEx("ShellCasing410",Cos(Pitch)*30,18,25-(Sin(Pitch)*25),Cos(Pitch)*FRandom(-2,-4),FRandom(-1,-3),-Sin(Pitch)*FRandom(3,6),0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
    M44C I 0 A_GiveInventory("44MAGToken",1)
	M44C KLM 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	goto Reload3
  Reload3:
    M44C NOPQ 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    M44C R 2 A_TakeInventory("Reloading",1)
    M44C S 2 A_PlayWeaponSound("44magnum/in")
    Goto ReloadAmmo_SOH
  ReloadAmmo_SOH:
    M44C S 0 A_JumpIfInventory("44MagnumClip",6,"ReloadEnd_SOH")
	M44C S 0 A_TakeInventory("44MAGToken",1)
    M44C S 0 A_JumpIfInventory("44MagnumAmmo",1,1)
    Goto ReloadEnd_SOH
    M44C S 0 A_GiveInventory("44MagnumClip",1)
    M44C S 0 A_TakeInventory("44MagnumAmmo",1)
    Goto ReloadAmmo_SOH
  ReloadEnd_SOH:
    M44C TUVWXYZ 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    M44D A 2 A_PlayWeaponSound("44magnum/click")
    M44D BCDEFGHIJ 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto Ready+14
  ReloadBreak:
    U45F A 0 A_ZoomFactor(1.0)
    M44F DC 1
    M44F C 0 A_TakeInventory("Aiming",1)
    M44F BA 1
    M44F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	TNT1 A 0 A_ClearReFire
    Goto Reload
  PostReloadAlt:
    M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
    U45F A 0 A_ZoomFactor(1.15)
	M44F C 0 A_GiveInventory("Aiming",1)
	M44F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    M44F ABCDD 1
    Goto AltHold
  ClearRefire:
    M44F D 1 A_ClearReFire
	Goto AltHold
  FireAimAltHold:
    "####" "#" 0 A_JumpIfInventory("44MagnumClip",1,1)
	Goto ReloadBreak
    M44F E 0 A_PlayWeaponSound("44magnum/fire")
	M44C S 0 A_TakeInventory("44MagnumClip",1)
    M44F E 0 A_FireCustomMissile("WeaponSmokePuff_BigMuzzle",0,0,0,6)
	"####" # 0 A_FireBullets(0.0, 0.0, 0, 0, "HHTag", FBF_NOFLASH, 4096)
    M44F FFF 0 BRIGHT A_FireCustomMissile("HHCBMAGNUMB1", frandom(-5.50,5.50), 0, 0, 4, 0, frandom(-5.50,5.50))
    M44F FFFFF 0 BRIGHT A_FireCustomMissile("HHCBMAGNUMB2", frandom(-5.50,5.50), 0, 0, 4, 0, frandom(-5.50,5.50))
    M44F F 1 BRIGHT A_FireCustomMissile("HHCBMAGNUMB2", frandom(-5.50,5.50), 1, 0, 4, 0, frandom(-5.50,5.50))
    M44F F 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    M44F F 0 A_JumpIfNoAmmo("FireAimEmpty")
    M44F HIJ 1 BRIGHT A_GunFlash
    "####" "#" 0 A_JumpIfInventory("44MagnumClip",1,1)
	Goto ReloadBreak
	TNT1 A 0 A_ClearReFire
	Goto AltHold
  AltHold:
    A12C C 0 A_JumpIfInventory("FireHeld",1,"ClearRefire")
    M44F D 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	A12C C 0 A_JumpIfInventory("FireHeld",1,"FireAimAltHold")
	A12C C 0 A_JumpIfInventory("Reloading",1,"ReloadBreak")
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	G18A I 0 A_JumpIfInventory("weapondropper",1,"AltFire3")
	A12C F 0 A_Refire("AltHold")
	A12C C 0 A_JumpIfInventory("Aiming",1,"AltFire2")
	Goto Ready+24
  AltFire:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    M4CD A 0 A_JumpIfInventory("44MAGToken",1,"Reload")
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"AltHold")
    M44F A 0 A_JumpIfInventory("Aiming",1,"AltFire2")
    U45F A 0 A_ZoomFactor(1.15)
    M44F AB 1
    M44F B 0 A_GiveInventory("Aiming",1)
    M44F CD 1
    M44F G 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	A12C F 0 A_Refire("AltHold")
    Goto Ready+20
  }
}

actor MagnumRapidFire : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor 44MagnumPickup : CustomInventory
{
  inventory.pickupmessage "You got the .44 Magnum. Do you feel lucky, Punk?"
  inventory.pickupsound "deagle/bolt"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.11
  States
  {
  Spawn:
    WEAP I -1
    stop
  Pickup:
    WEAP I 0
    WEAP I 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",0,0,0)) == 1, "PickupStay")
    WEAP I 0 A_JumpIfInventory(".44 Magnum",1,"AmmoPickup") // If the player already has this weapon, they get more ammo for it
    WEAP I 0 A_JumpIfInventory(".44 Magnum Akimbo",1,"AmmoPickup")
    WEAP I 0 A_JumpIfInventory(".44 Magnum Tac Knife",1,"AmmoPickup")
    WEAP I 0 A_JumpIfInventory(".44 Magnum Buckshot",1,"AmmoPickup")
	WEAP I 0 A_JumpIfInventory("Perk1_OneManArmy",1,"OneManArmy")
    WEAP I 0 A_JumpIfInventory("MaxWeaponsFilled",92,"FailPickup2")
	WEAP I 0 A_GiveInventory("MaxWeaponsFilled",9)
    WEAP I 0 ACS_NamedExecuteWithResult("RefPickU",4,0,0)
    stop
  PickupStay:
    WEAP I 0
    WEAP I 0 A_JumpIfInventory(".44 Magnum",1,"FailPickup") // If the player already has this weapon, they get more ammo for it
    WEAP I 0 A_JumpIfInventory(".44 Magnum Akimbo",1,"FailPickup")
    WEAP I 0 A_JumpIfInventory(".44 Magnum Tac Knife",1,"FailPickup")
    WEAP I 0 A_JumpIfInventory(".44 Magnum Buckshot",1,"FailPickup")
	WEAP I 0 A_JumpIfInventory("Perk1_OneManArmy",1,"OneManArmy")
    WEAP I 0 A_JumpIfInventory("MaxWeaponsFilled",92,"FailPickup2")
	WEAP I 0 A_GiveInventory("MaxWeaponsFilled",9)
    WEAP I 0 ACS_NamedExecuteWithResult("RefPickU",4,0,0)
    WEAP I 0 ACS_NamedExecuteWithResult("RefPickC",4,0,0)
    WEAP I 0 A_PlaySound("deagle/bolt")
    fail
  AmmoPickup:
    WEAP I 0
    WEAP I 0 A_JumpIfInventory("44MagnumAmmo",0,"FailPickup")
    WEAP I 0 A_GiveInventory("44MagnumAmmo",6)
    stop
  OneManArmy:
    WEAP I 0
	WEAP I 0 A_JumpIfInventory("MaxWeaponsFilled",129,"FailPickup2")
	WEAP I 0 A_GiveInventory("MaxWeaponsFilled",9)
	WEAP I 0 ACS_NamedExecuteWithResult("RefPickU",4,0,0)
	stop
  FailPickup:
    WEAP I 1
    fail
  FailPickup2:
    WEAP I 1
    WEAP I 0 ACS_NamedExecuteAlways("RefSlots",0,2,0,0)
    fail
  }
}

actor 44MagnumDrop : 44MagnumPickup
{
  States
  {
  Spawn:
    WEAP I -1
    stop
  Pickup:
    WEAP I 0
    WEAP I 0 A_JumpIfInventory(".44 Magnum",1,"AmmoPickup") // If the player already has this weapon, they get more ammo for it
    WEAP I 0 A_JumpIfInventory(".44 Magnum Akimbo",1,"AmmoPickup")
    WEAP I 0 A_JumpIfInventory(".44 Magnum Tac Knife",1,"AmmoPickup")
    WEAP I 0 A_JumpIfInventory(".44 Magnum Buckshot",1,"AmmoPickup")
	WEAP I 0 A_JumpIfInventory("Perk1_OneManArmy",1,"OneManArmy")
    WEAP I 0 A_JumpIfInventory("MaxWeaponsFilled",92,"FailPickup2")
	WEAP I 0 A_GiveInventory("MaxWeaponsFilled",9)
    WEAP I 0 ACS_NamedExecuteWithResult("RefPickU",4,0,0)
    stop
  }
}

actor 44MagnumDrop2 : 44MagnumDrop
{
  States
  {
  Spawn:
    WEAP I 5880
    WEAP IIIIIIIIIIIIIIIIII 140 A_FadeOut(0.05)
    stop
  Pickup:
    WEAP I 0
    WEAP I 0 A_JumpIfInventory(".44 Magnum",1,"AmmoPickup") // If the player already has this weapon, they get more ammo for it
    WEAP I 0 A_JumpIfInventory(".44 Magnum Akimbo",1,"AmmoPickup")
    WEAP I 0 A_JumpIfInventory(".44 Magnum Tac Knife",1,"AmmoPickup")
    WEAP I 0 A_JumpIfInventory(".44 Magnum Buckshot",1,"AmmoPickup")
	WEAP I 0 A_JumpIfInventory("Perk1_OneManArmy",1,"OneManArmy")
    WEAP I 0 A_JumpIfInventory("MaxWeaponsFilled",92,"FailPickup2")
	WEAP I 0 A_GiveInventory("MaxWeaponsFilled",9)
    WEAP I 0 ACS_NamedExecuteWithResult("RefPickU",4,0,0)
    stop
  AmmoPickup:
    WEAP I 0
    stop
  }
}

actor HHCBMAGNUM : HHBullet
{
  damage (random(25,64))
  Speed 400
  damagetype "BigPistol"
  States
  {
  Spawn:
    TNT1 A 10
    stop
  Death:
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 5 A_PlaySound("generic/ricochet")
    stop
  XDeath:
    TNT1 A 0 A_GiveToTarget("HitIndicator",1)
    TNT1 A 5 A_PlaySound("generic/ricochets")
    stop
  Crash:
    TNT1 A 0 A_GiveToTarget("HitIndicator",1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff_2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 5 A_PlaySound("generic/ricochet")
    stop
  }
}

actor HHCBMAGNUMA : HHCBMAGNUM
{
  damage (random(25,64)) //Big range! Are you feeling lucky?
}

actor HHCBMAGNUMB1 : HHBullet
{
  damage (12)
  Speed 220
  decal none
  damagetype "Shotgungib"
  -NOEXTREMEDEATH
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 1 A_ScaleVelocity(0.64)
    stop
  Death:
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff_2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 5 A_PlaySound("generic/ricochet")
    stop
  XDeath:
    TNT1 A 5 A_PlaySound("generic/ricochets")
    stop
  Crash:
	TNT1 A 0 A_Jump(40,2)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff_3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 5 A_PlaySound("generic/ricochet")
    stop
  }
}
actor HHCBMAGNUMB2 : HHCBMAGNUMB1
{
  damage (12)
  Speed 220
  decal ShotChip
  damagetype "Shotgun"
  +NOEXTREMEDEATH
  states
  {
  Spawn:
    TNT1 A 6
    stop
  Death:
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff_2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 5 A_PlaySound("generic/ricochet")
    stop
  XDeath:
	TNT1 A 0 A_Jump(172,2)
    TNT1 A 0 A_GiveToTarget("HitIndicator",1)
    TNT1 A 5 A_PlaySound("generic/ricochets")
    stop
  Crash:
	TNT1 A 0 A_Jump(172,2)
    TNT1 A 0 A_GiveToTarget("HitIndicator",1)
	TNT1 A 0 A_Jump(40,2)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff_3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 5 A_PlaySound("generic/ricochet")
    stop
  }
}