kfindoom_v8.pk3

PK3 84 MiB 0 map(s)

Counts

endoom0
graphics0
lumps3483
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "00aa93f7-a2d2-45b4-a25e-e902711be083",
    "sha1": "88488196a1a10a8d1c9414507fc779b5c89f69d7",
    "sha256": "4ebc7e912cfb66f3672ea835bd37e5c69fe9608cb21d6f825b769b7c434788d4",
    "filenames": [
      "kfindoom_v8.pk3"
    ],
    "additional": {
      "engines": [
        "ZDOOM"
      ],
      "iwad": [
        "PLUTONIA"
      ],
      "filename": null,
      "added": "2014-06-04 22:29:43",
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false,
      "name": null,
      "description": null,
      "maps": null,
      "graphicOverrides": null,
      "screenshots": null,
      "palettes": null,
      "categories": null
    },
    "flags": {
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false
    },
    "added": "2014-06-04 22:29:43",
    "file": {
      "type": "PK3",
      "size": 88599735,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/88488196a1a10a8d1c9414507fc779b5c89f69d7/88488196a1a10a8d1c9414507fc779b5c89f69d7.pk3.gz",
      "corrupt": true,
      "corruptMessage": "1 lump(s) are corrupt"
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 3483,
        "maps": 0,
        "palettes": 0
      },
      "engines_guess": [
        "ZDOOM"
      ],
      "iwads_guess": [
        "PLUTONIA"
      ]
    },
    "analysis": {
      "title": "kfindoom_v8",
      "description": "This WAD is a single large PK3 file designed for ZDoom engine with Plutonia as the IWAD. It contains no standalone maps but includes extensive actor and gameplay modifications, focusing on a British soldier player character with advanced weaponry and abilities such as grenades, reloading, and healing. The content suggests a modernized combat style with automatic weapons and tactical options rather than classic Doom map progression. The resource balance and monster profile cannot be determined due to lack of map data. The theme is likely military/modern given the player actor details. Compatibility is aimed at ZDoom with Plutonia, not vanilla or Boom. Overall, it is a gameplay overhaul or mod rather than a traditional mapset or megawad.",
      "tags": [
        "combat_focus",
        "modern_weapons",
        "no_maps",
        "player_mod",
        "plutonia",
        "single_file",
        "zdoom"
      ],
      "origin": "gpt-4.1-mini"
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "actors/kfplayer.txt",
        "contents": "actor PlayerStepSound\n{\n radius 1\n height 1\n +noclip\n +CLIENTSIDEONLY\n States\n {\n Spawn:\n  TNT1 A 0\n  TNT1 A 1 A_PlaySound(\"step/concrete\")\n  stop\n }\n}\n\nACTOR KFPlayer : DoomPlayer\n{\n  Player.DisplayName \"British Soldier\"\n  Player.CrouchSprite \"PLYC\"\n  // Player.StartItem \"Knife\"\n  // Player.StartItem \"9mm Pistol\"\n  Player.StartItem \"9mmSecondary\", 90\n  Player.StartItem \"Action_Reloading\"\n  Player.StartItem \"Action_DoAltFire\"\n  Player.StartItem \"Action_Heal\"\n  Player.StartItem \"Action_TossGrenade\"\n  Player.StartItem \"FullyAutomatic\"\n  Player.StartItem \"GrenadeAmmo\", 5\n  Player.StartItem \"9mmPrimary\", 15\n  Player.StartItem \"LightCharge\", 100\n  Player.StartItem \"MedicCharge\", 100\n  Player.StartItem \"SyringeCharge\", 100\n  Player.StartItem \"MaxPerkXP\", 200\n  Player.StartItem \"IsAlive\", 1\n  Player.ForwardMove 0.8\n  Player.SideMove 0.8\n  States\n  {\n  Spawn:\n    PLAY E -1\n    Loop\n  See:\n    PLAY AA 3\n\tPLAY A 0 A_JumpIf((MomX*MomX)+(MomY*MomY) > 20,\"See2\")\n\tGoto Spawn\n  See2:\n    PLAY C 0 A_JumpIf (z - floorz > 0, 2)\n\tPLAY B 0 A_SpawnItemEx(\"PlayerStepSound\", -1, -1, 0, 0, 0, 0, 0, 128, 0)\n\tPLAY BB 3\n\tPLAY A 0 A_JumpIf((MomX*MomX)+(MomY*MomY) > 20,\"See3\")\n\tGoto Spawn\n  See3:\n\tPLAY CC 3\n\tPLAY A 0 A_JumpIf((MomX*MomX)+(MomY*MomY) > 20,\"See4\")\n\tGoto Spawn\n  See4:\n    PLAY C 0 A_JumpIf (z - floorz > 0, 2)\n    PLAY B 0 A_SpawnItemEx(\"PlayerStepSound\", -1, 1, 0, 0, 0, 0, 0, 128, 0)\n\tPLAY DD 3\n\tPLAY A 0 A_JumpIf((MomX*MomX)+(MomY*MomY) > 20,\"See\")\n    Goto Spawn\n  Missile:\n    PLAY E 12\n    Goto Spawn\n  Melee:\n    PLAY F 6 BRIGHT\n    Goto Missile\n  Pain:\n    PLAY G 4\n    PLAY G 4 A_Pain\n    Goto Spawn\n  Pain.MedicHeal:\n    PLAY J 4\n\tPLAY J 0 A_GiveInventory(\"Health\",20)\n    Goto Spawn\n  Death:\n    PLAY H 0 A_PlayerSkinCheck(\"AltSkinDeath\")\n  Death1:\n    PLAY H 10\n    PLAY I 10 A_PlayerScream\n    PLAY J 10 A_NoBlocking\n    PLAY KLM 10\n    PLAY N -1\n    Stop\n  XDeath:\n    PLAY O 0 A_PlayerSkinCheck(\"AltSkinXDeath\")\n  XDeath1:\n    PLAY O 5\n    PLAY P 5 A_XScream\n    PLAY Q 5 A_NoBlocking\n    PLAY RSTUV 5\n    PLAY W -1\n    Stop\n  AltSkinDeath:\n    PLAY H 6\n    PLAY I 6 A_PlayerScream\n    PLAY JK 6\n    PLAY L 6 A_NoBlocking\n    PLAY MNO 6\n    PLAY P -1\n    Stop\n  AltSkinXDeath:\n    PLAY Q 5 A_PlayerScream\n    PLAY R 0 A_NoBlocking\n    PLAY R 5 A_SkullPop\n    PLAY STUVWX 5\n    PLAY Y -1\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/perks.txt",
        "contents": "// JUNK RELATED TO PERKS //\n\nACTOR Perk_Berserker : Inventory\n{\nInventory.MaxAmount 1\n}\n\nACTOR Perk_Commando : Inventory\n{\nInventory.MaxAmount 1\n}\n\nACTOR Perk_Demo : Inventory\n{\nInventory.MaxAmount 1\n}\n\nACTOR Perk_Firebug : Inventory\n{\nInventory.MaxAmount 1\n}\n\nACTOR Perk_Medic : Inventory\n{\nInventory.MaxAmount 1\n}\n\nACTOR Perk_Sharpshooter : Inventory\n{\nInventory.MaxAmount 1\n}\n\nACTOR Perk_Support : Inventory\n{\nInventory.MaxAmount 1\n}\n\n// Stuff for menu\nACTOR MenuActive : Inventory\n{\nInventory.MaxAmount 1\n}\n\nACTOR MenuCursor : Inventory\n{\nInventory.MaxAmount 20\n}\n\nACTOR WasGivenPerk : Inventory\n{\nInventory.MaxAmount 1\n}\n\nACTOR RunFast : Inventory\n{\nInventory.MaxAmount 1\n}\n\n////////////////////\n// PERK LEVELS //\n////////////////////\n\nACTOR PerkLevel : Inventory\n{\nInventory.MaxAmount 6\n}\n\nACTOR MaxPerkXP : Inventory\n{\nInventory.MaxAmount 9999\n}\n\nACTOR PerkXP : Inventory\n{\nInventory.MaxAmount 9999\n}"
      },
      {
        "source": "pk3",
        "name": "actors/test.txt",
        "contents": "ACTOR DamageTest\n{\n  Health 50000\n  Radius 20\n  Height 56\n  Speed 0\n  PainChance 255\n  Monster\n  Mass 99999\n  +FLOORCLIP\n  Obituary \"%o died\" // \"%o was killed by a zombieman.\"\n  States\n  {\n  Spawn:\n    POSS A 1\n    Loop\n  See:\n    POSS A 1\n    Loop\n  Pain:\n\tPOSS G 0 ACS_ExecuteAlways(816,0,0,0,0)\n    POSS G 3\n    POSS G 3 A_Pain\n    Goto See\n  Death:\n    POSS A 1\n    Goto See\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/bullpup.txt",
        "contents": "// Bullpup\n\nACTOR BullpupPrimary : Ammo\n{\n  Inventory.Amount 1\n  Inventory.MaxAmount 50\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 50\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR BullpupSecondary : Ammo\n{\n  Inventory.PickupMessage \"Bullpup mag!\" // \"Picked up a clip.\"\n  Inventory.PickupSound \"bullpup/magin\"\n  Inventory.Amount 40\n  Inventory.MaxAmount 360\n  Ammo.BackpackAmount 40\n  Ammo.BackpackMaxAmount 360\n  Inventory.Icon \"CLIPA0\"\n  States\n  {\n  Spawn:\n    PMAG D -1\n    Stop\n  }\n}\n\nACTOR Bullpup : Weapon\n{\n   Weapon.AmmoUse 0\n   Weapon.AmmoGive 0\n   Weapon.AmmoGive2 40\n   Weapon.AmmoType \"BullpupPrimary\"\n   Weapon.AmmoType2 \"BullpupSecondary\"\n   Scale 0.2\n   Inventory.PickupMessage \"You picked up the Bullpup.\" // \"You got the chaingun\"\n   Obituary \"%o was shot with bullets from %k's Bullpup.\" // \"%o was mowed down by %k's chaingun.\"\n   Inventory.PickupSound \"bullpup/pickup\"\n   Tag \"Bullpup\"\n   +WEAPON.NOALERT\n   +WEAPON.NOAUTOFIRE\n   States\n   {\n   Ready:\n     BPRI A 0 A_PlaySoundEx(\"bullpup/select\",\"SoundSlot6\")\n\t BPSS ABCDE 2\n\t BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\t BPRI A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\t BPRI A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleModes\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n     BPRI A 1 A_WeaponReady\n     Goto Ready+6\n   IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t BPTR DCBA 1\n\t Goto SelfHeal+5\n   SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPSS EDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   ReadyIS:\n     BPRI A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\t BPRI A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleModes\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI B 1 A_WeaponReady(1)\n\t Goto Ready+6\n   ToggleModes:\n     BPRI A 0 A_TakeInventory(\"DoAltFire\",1)\n\t BPRI A 0 A_JumpIfInventory(\"FullyAutomatic\",1,\"ToSA\")\n\t Goto ToFA\n   ToFA:\n\t BPRI A 0 A_GiveInventory(\"FullyAutomatic\",1)\n\t BPRI A 0 A_Print(\"Switched to Fully Automatic.\")\n\t Goto ToReady\n   ToSA:\n     BPRI A 0 A_TakeInventory(\"FullyAutomatic\",1)\n\t BPRI A 0 A_Print(\"Switched to Semi Automatic.\")\n\t Goto ToReady\n   ToReady:\n    TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+6\n\tTNT1 AAA 0\n\tTNT1 A 0 A_PlaySound(\"bullpup/dryfire\")\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+6\n   ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_JumpIfInventory(\"FullyLoaded\",1,\"ToReady\")\n    TNT1 A 0 A_JumpIfInventory(\"BullpupSecondary\",1,\"Reload\")\n\tGoto ToReady+2\n   Deselect:\n     TNT1 A 0 A_TakeInventory(\"IsFastFiring\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(815,0,0,0,0)\n\t BPSS EDCBA 1\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+7\n\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t BPSS EDCBA 1\n\t Goto ActualGrenade\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n     BPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\tGrenadeToReady:\n\t BPSS ABCDE 1\n\t Goto Ready+6\n   Reload:\n     TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ReloadAnim\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t BPTR DCBA 1\n\t Goto ReloadAnim\n   IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t BPTR DCBA 1\n\t Goto GrenadeThrow+1\n   ReloadAnim:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t BPRL ABCDEFGHIJ 2\n\t BPRL J 0 A_PlaySoundEx(\"bullpup/magout\",\"SoundSlot6\")\n\t BPRL KLMNOPQRSTUV 2\n\t BPRL W 0 A_PlaySoundEx(\"bullpup/magin\",\"SoundSlot6\")\n\t BPRL WXYZ 2\n\t BPRM ABCD 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t Goto CalcAmmo\n   Select:\n     TNT1 A 0 A_GiveInventory(\"IsFastFiring\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(815,0,0,0,0)\n     TNT1 A 0 A_Raise\n     Wait\n   Fire:\n     BPSS A 0 A_JumpIfInventory(\"BullpupPrimary\",1,1)\n\t Goto ToReload\n\t BPSS A 0 A_AlertMonsters\n\t BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"FireIS\")\n\t BPSS A 0 A_PlaySoundEx(\"bullpup/fire\",\"Weapon\")\n     BPSS A 0 A_FireBullets(1.5, 0.5, 1, 10, \"BulletPuff2\")\n\t BPSS A 0 A_TakeInventory(\"FullyLoaded\",1)\n\t BPSS A 0 A_SetPitch(pitch-0.5)\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t BPSS A 0 A_TakeInventory(\"BullpupPrimary\",1)\n\t BPFI A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.25)\n\t BPFI BC 1 A_WeaponReady(1)\n\t BPSS A 0 A_JumpIfInventory(\"FullyAutomatic\",1,1)\n\t Goto FireEnd\n\t BPFI D 0 A_ReFire\n\t Goto FireEnd\n   FireEnd:\n\t BPFI DE 1\n     Goto Ready+6\n   FireIS:\n\t BPSS A 0 A_JumpIfInventory(\"BullpupPrimary\",1,1)\n\t Goto ToReload\n     BPSS A 0 A_PlaySoundEx(\"bullpup/fire\",\"Weapon\")\n     BPSS A 0 A_FireBullets(0.5, 0.2, 1, 10, \"BulletPuff2\")\n\t BPSS A 0 A_TakeInventory(\"FullyLoaded\",1)\n\t BPSS A 0 A_SetPitch(pitch-0.5)\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,7,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t BPSS A 0 A_TakeInventory(\"BullpupPrimary\",1)\n\t BPII A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.5)\n\t BPII BC 1 A_WeaponReady(1)\n\t BPSS A 0 A_JumpIfInventory(\"FullyAutomatic\",1,1)\n\t Goto FireEndIS\n\t BPFI D 0 A_ReFire\n\t Goto FireEndIS\n   FireEndIS:\n\t BPII DE 1\n     Goto ReadyIS\n   AltFire:\n\t TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n   ZoomIn:\n\t TNT1 A 0 A_ZoomFactor(1.25)\n\t TNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\t BPTR ABCD 1\n\tGoto ReadyIS\n   ZoomOut:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t BPTR DCBA 1\n\t Goto Ready+6\n   Spawn:\n     BPID C -1\n     Stop\n\n   \tCalcAmmo:\n\t\tTNT1 A 0 A_JumpIfInventory(\"Perk_Commando\",1,1)\n\t\tGoto CalcAmmo0\n\t\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",6,\"CalcAmmo6\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",5,\"CalcAmmo5\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",4,\"CalcAmmo4\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",3,\"CalcAmmo3\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",2,\"CalcAmmo2\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",1,\"CalcAmmo1\")\n\t\tGoto CalcAmmo0\n\n\tCalcAmmo0:\n\t\tTNT1 A 0 A_JumpIfInventory(\"BullpupSecondary\",1,2)\n\t\tGoto Ready+20\n\t\tTNT1 AAA 0\n\t\tTNT1 A 0 A_JumpIfInventory(\"BullpupPrimary\",40,\"FullLoad\")\n\t\tTNT1 A 0 A_TakeInventory(\"BullpupSecondary\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"BullpupPrimary\",1)\n\t\tLoop\n\n\tCalcAmmo1:\n\t\tTNT1 A 0 A_JumpIfInventory(\"BullpupSecondary\",1,2)\n\t\tGoto Ready+20\n\t\tTNT1 AAA 0\n\t\tTNT1 A 0 A_JumpIfInventory(\"BullpupPrimary\",44,\"FullLoad\")\n\t\tTNT1 A 0 A_TakeInventory(\"BullpupSecondary\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"BullpupPrimary\",1)\n\t\tLoop\n\n\tCalcAmmo2:\n\t\tTNT1 A 0 A_JumpIfInventory(\"BullpupSecondary\",1,2)\n\t\tGoto Ready+20\n\t\tTNT1 AAA 0\n\t\tTNT1 A 0 A_JumpIfInventory(\"BullpupPrimary\",48,\"FullLoad\")\n\t\tTNT1 A 0 A_TakeInventory(\"BullpupSecondary\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"BullpupPrimary\",1)\n\t\tLoop\n\n\tCalcAmmo3:\n\tCalcAmmo4:\n\tCalcAmmo5:\n\tCalcAmmo6:\n\t\tTNT1 A 0 A_JumpIfInventory(\"BullpupSecondary\",1,2)\n\t\tGoto Ready+20\n\t\tTNT1 AAA 0\n\t\tTNT1 A 0 A_JumpIfInventory(\"BullpupPrimary\",50,\"FullLoad\")\n\t\tTNT1 A 0 A_TakeInventory(\"BullpupSecondary\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"BullpupPrimary\",1)\n\t\tLoop\n\n\tFullLoad:\n\t\tTNT1 A 0 A_GiveInventory(\"FullyLoaded\",1)\n\t\tGoto Ready+20\n\n   }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/core.txt",
        "contents": "ACTOR LightCharge : Ammo\n{\n  Inventory.Amount 1\n  Inventory.MaxAmount 100\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 100\n  Inventory.Icon \"CLIPA0\"\n}\n\nACTOR MedicCharge : Ammo\n{\n  Inventory.Amount 1\n  Inventory.MaxAmount 100\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 100\n  Inventory.Icon \"CLIPA0\"\n}\n\nACTOR SyringeCharge : Ammo\n{\n  Inventory.Amount 1\n  Inventory.MaxAmount 100\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 100\n  Inventory.Icon \"CLIPA0\"\n}\n\nActor IronSights : Inventory\n{\nInventory.MaxAmount 1\n}\n\n// Used for dual pistols\nActor FireLeft : Inventory\n{\nInventory.MaxAmount 1\n}\n\nActor ShowHUDSyringe : Inventory\n{\nInventory.MaxAmount 1\n}\n\nActor HasTorch : Inventory\n{\nInventory.MaxAmount 1\n}\n\n// Used for fixing hold animations\nActor HoldFixer : Inventory\n{\nInventory.MaxAmount 1\n}\n\n// More tail sounds\nActor PlayTail : Inventory\n{\nInventory.MaxAmount 1\n}\n\nActor FullyAutomatic : Inventory\n{\nInventory.MaxAmount 1\n}\n\n// Use for displaying flashlight info on HUD\nActor UsesLight : Inventory\n{\nInventory.MaxAmount 1\n}\n\n// Use for displaying medic info on HUD\nActor MedicGun : Inventory\n{\nInventory.MaxAmount 1\n}\n\nActor HasGreenLaser : Inventory\n{\nInventory.MaxAmount 1\n}\n\nActor DoAltFire : Inventory\n{\nInventory.MaxAmount 1\n}\n\nActor IsReloading : Inventory\n{\nInventory.MaxAmount 1\n}\n\nActor ThrowingGrenade : Inventory\n{\nInventory.MaxAmount 1\n}\n\nActor IsHealing : Inventory\n{\nInventory.MaxAmount 1\n}\n\nACTOR FlashlightPuff : FastProjectile\n{\n  +CLIENTSIDEONLY\n  +NOGRAVITY\n  -ALLOWPARTICLES\n  -ROCKETTRAIL\n  +RANDOMIZE\n  +THRUACTORS\n  RenderStyle Translucent\n  Alpha 0\n  Mass 0\n  Speed 200\n  Radius 1\n  Height 1\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    Loop\n  Death:\n    PUFF B 1 bright\n    Stop\n  }\n}\n\nACTOR Action_Reloading : CustomInventory\n{\n   Inventory.Amount 1\n   Inventory.MaxAmount 1\n   -INVBAR\n+INVENTORY.UNDROPPABLE\n\n   States\n   {\n Spawn:\n  TNT1 A 1\n  Loop\n Use:\n  TNT1 A 0 A_GiveInventory(\"IsReloading\")\n  Fail\n   }\n}\n\nACTOR LightSpawner : CustomInventory\n{\n   Inventory.Amount 1\n   Inventory.MaxAmount 1\n   -INVBAR\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.UNDROPPABLE\n   States\n   {\n Spawn:\n  TNT1 A 1\n  Loop\n Use:\n  TNT1 A 0 A_JumpIfInventory(\"LightCharge\",1,1)\n  Stop\n  TNT1 A 0 A_FireCustomMissile(\"FlashlightPuff\")\n  Stop\n   }\n}\n\nACTOR LaserSpawner : CustomInventory\n{\n   Inventory.Amount 1\n   Inventory.MaxAmount 1\n   -INVBAR\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.UNDROPPABLE\n   States\n   {\n Spawn:\n  TNT1 A 1\n  Loop\n Use:\n  TNT1 A 0 A_FireCustomMissile(\"GreenLaser\")\n  Stop\n   }\n}\n\nACTOR Action_Heal : CustomInventory\n{\n   Inventory.Amount 1\n   Inventory.MaxAmount 1\n   -INVBAR\n+INVENTORY.UNDROPPABLE\n\n   States\n   {\n Spawn:\n  TNT1 A 1\n  Loop\n Use:\n  TNT1 A 0 A_GiveInventory(\"IsHealing\")\n  Fail\n   }\n}\n\nACTOR Action_TossGrenade : CustomInventory\n{\n   Inventory.Amount 1\n   Inventory.MaxAmount 1\n   -INVBAR\n+INVENTORY.UNDROPPABLE\n\n   States\n   {\n Spawn:\n  TNT1 A 1\n  Loop\n Use:\n  TNT1 A 0 A_GiveInventory(\"ThrowingGrenade\")\n  Fail\n   }\n}\n\nACTOR Action_DoAltFire : CustomInventory\n{\n   Inventory.Amount 1\n   Inventory.MaxAmount 1\n   -INVBAR\n+INVENTORY.UNDROPPABLE\n\n   States\n   {\n Spawn:\n  TNT1 A 1\n  Loop\n Use:\n  TNT1 A 0 A_GiveInventory(\"DoAltFire\")\n  Fail\n   }\n}\n\nACTOR ShooterLight\n{\n+NOGRAVITY\n+NOINTERACTION\n+NOBLOCKMAP\nStates\n{\nSpawn:\nTNT1 A 1\nStop\n}\n}\n\nactor \"MenuWeapon\" : Weapon\n{\n  obituary \"%o was killed.\"\n  inventory.pickupmessage \"PERK MENU!\"\n  weapon.selectionorder 1\n  weapon.kickback 0\n  +NOAUTOFIRE\n  +NOALERT\n  +CHEATNOTWEAPON\n  states\n  {\n  Spawn:\n    TNT1 A 0\n    stop\n  Ready:\n    TNT1 A 1 A_WeaponReady\n    Loop\n  Deselect:\n    TNT1 A 0 A_Lower\n    TNT1 A 0 A_SelectWeapon(\"MenuWeapon\")\n    TNT1 A 0 A_Lower\n    TNT1 A 1 A_Lower\n    loop\n  Select:\n    TNT1 A 0 A_Raise\n    Wait\n  Fire:\n    TNT1 A 0\n    goto Ready\n  AltFire:\n    TNT1 A 0\n    goto Ready\n  }\n}\n\n/////////////////////////////////////////////\n// CODE FOR WEAPON PERK BONUSES //\n////////////////////////////////////////////\n\n// Support\n\nActor IsShotgun : Inventory\n{\nInventory.MaxAmount 1\n}\n\nactor SupportDamageBonus : PowerDamage\n{\ndamagefactor \"normal\", 1.30\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor SupportDamageBonus2 : PowerDamage\n{\ndamagefactor \"normal\", 1.75\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor SupportDamageBonus3 : PowerDamage\n{\ndamagefactor \"normal\", 2.35\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor SupportDamageBonus4 : PowerDamage\n{\ndamagefactor \"normal\", 2.60\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\n// Demo\n\nActor IsExplosive : Inventory\n{\nInventory.MaxAmount 1\n}\n\nactor DemoDamageBonus : PowerDamage\n{\ndamagefactor \"normal\", 1.30\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor DemoDamageBonus2 : PowerDamage\n{\ndamagefactor \"normal\", 1.75\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor DemoDamageBonus3 : PowerDamage\n{\ndamagefactor \"normal\", 2.35\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor DemoDamageBonus4 : PowerDamage\n{\ndamagefactor \"normal\", 2.60\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\n// Sharpshooter\n\nActor IsSniper : Inventory\n{\nInventory.MaxAmount 1\n}\n\nactor SharpDamageBonus : PowerDamage\n{\ndamagefactor \"normal\", 1.30\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor SharpDamageBonus2 : PowerDamage\n{\ndamagefactor \"normal\", 1.75\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor SharpDamageBonus3 : PowerDamage\n{\ndamagefactor \"normal\", 2.35\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor SharpDamageBonus4 : PowerDamage\n{\ndamagefactor \"normal\", 2.60\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\n// Berserker\n\nActor IsMelee : Inventory\n{\nInventory.MaxAmount 1\n}\n\nactor ZerkerDamageBonus : PowerDamage\n{\ndamagefactor \"normal\", 1.30\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor ZerkerDamageBonus2 : PowerDamage\n{\ndamagefactor \"normal\", 1.75\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor ZerkerDamageBonus3 : PowerDamage\n{\ndamagefactor \"normal\", 2.35\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor ZerkerDamageBonus4 : PowerDamage\n{\ndamagefactor \"normal\", 2.60\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\n// Commando\n\nActor IsFastFiring : Inventory\n{\nInventory.MaxAmount 1\n}\n\nactor CommandoDamageBonus : PowerDamage\n{\ndamagefactor \"normal\", 1.30\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor CommandoDamageBonus2 : PowerDamage\n{\ndamagefactor \"normal\", 1.75\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor CommandoDamageBonus3 : PowerDamage\n{\ndamagefactor \"normal\", 2.35\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\nactor CommandoDamageBonus4 : PowerDamage\n{\ndamagefactor \"normal\", 2.60\ninventory.icon \"TNT1A0\"\nPowerup.Duration 0x7FFFFFFF\n}\n\n// OTHER\n\nACTOR PowerZerkerProtection : PowerProtection\n{\n  DamageFactor \"Normal\", 0.6\n  Inventory.Icon \"TNT1A0\"\n  Powerup.Duration 0x7FFFFFFF\n}\n\nACTOR PowerDemoProtection0 : PowerProtection\n{\n  DamageFactor \"ExplosiveDamage\", 0.75\n  Inventory.Icon \"TNT1A0\"\n  Powerup.Duration 0x7FFFFFFF\n}\n\nACTOR PowerDemoProtection1 : PowerProtection\n{\n  DamageFactor \"ExplosiveDamage\", 0.70\n  Inventory.Icon \"TNT1A0\"\n  Powerup.Duration 0x7FFFFFFF\n}\n\nACTOR PowerDemoProtection2 : PowerProtection\n{\n  DamageFactor \"ExplosiveDamage\", 0.65\n  Inventory.Icon \"TNT1A0\"\n  Powerup.Duration 0x7FFFFFFF\n}\n\nACTOR PowerDemoProtection3 : PowerProtection\n{\n  DamageFactor \"ExplosiveDamage\", 0.60\n  Inventory.Icon \"TNT1A0\"\n  Powerup.Duration 0x7FFFFFFF\n}\n\nACTOR PowerDemoProtection4 : PowerProtection\n{\n  DamageFactor \"ExplosiveDamage\", 0.55\n  Inventory.Icon \"TNT1A0\"\n  Powerup.Duration 0x7FFFFFFF\n}\n\nACTOR PowerDemoProtection5 : PowerProtection\n{\n  DamageFactor \"ExplosiveDamage\", 0.50\n  Inventory.Icon \"TNT1A0\"\n  Powerup.Duration 0x7FFFFFFF\n}\n\nACTOR PowerDemoProtection6 : PowerProtection\n{\n  DamageFactor \"ExplosiveDamage\", 0.45\n  Inventory.Icon \"TNT1A0\"\n  Powerup.Duration 0x7FFFFFFF\n}\n\n// AMMO CHECK SHIT ///\n\n// FullyLoaded: Given if the weapon reloads and ends up with a full magazine\nACTOR FullyLoaded : Inventory\n{\n\tInventory.MaxAmount 1\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/frag.txt",
        "contents": "ACTOR PerkedGrenade : CustomInventory\n{\n  Inventory.PickupMessage \"Picked up an extra grenade.\"\n  Inventory.PickupSound \"grenade/bounce\"\n  Scale 0.75\n  States\n  {\n  Spawn:\n  KFGR A -1\n  stop\n  Pickup:\n  TNT1 A 0\n  TNT1 A 0 A_JumpIfInventory(\"GrenadeAmmo\",5,\"PerkCheck\")\n  TNT1 A 0 A_GiveInventory(\"GrenadeAmmo\",1)\n  stop\n  PerkCheck:\n  TNT1 A 0 A_JumpIfInventory(\"Perk_Demo\",1,\"GiveExtra\")\n  TNT1 A 0\n  fail\n  GiveExtra:\n  TNT1 A 0 A_GiveInventory(\"GrenadeAmmo\",1)\n  stop\n  }\n}\n\nACTOR GrenadeAmmo : Ammo\n{\n  Inventory.Amount 1\n  Inventory.MaxAmount 8\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 8\n  Inventory.Icon \"CLIPA0\"\n  Inventory.PickupMessage \"Picked up an extra grenade.\"\n  Inventory.PickupSound \"grenade/bounce\"\n  Scale 0.75\n  States\n  {\n  Spawn:\n  KFGR A -1\n  stop\n  }\n}\n\nACTOR ThrownGrenade // Credits to Project MSX for this\n{\n    radius 5\n  height 5\n  speed 25\n\tmass 50\n\tdamage (5)\n\tscale 0.09\n\tRenderStyle normal\n    PROJECTILE\n\t-NOGRAVITY\n  +RANDOMIZE\n  +HEXENBOUNCE\n  +NOEXTREMEDEATH\n  +FORCERADIUSDMG\n  +CANBOUNCEWATER\n  +BOUNCEONACTORS\n  +ROCKETTRAIL\n  +FORCEXYBILLBOARD\n  +BLOODLESSIMPACT\n\tbouncetype \"doom\"\n\t// bouncecount 2\n\tgravity 0.4\n  bouncefactor 0.4\n  wallbouncefactor 0.5\n\tdamagetype \"Fire\"\n\tseesound \"grenade/bounce\"\n\t// deathsound \"grenade/bounce\"\n   Obituary \"%o was blown up by %k's frag grenade.\"\n   States\n   {\n\t\tSpawn:\n\t\t    TNT1 A 0\n\t\t\tTNT1 A 0 A_StopSound\n\t\t\tFRGR A 0 A_JumpIfInventory(\"frag_timer\", 10, \"boom\")\n\t\t  \tFRGR ABCDEFGHI 1 // A_SpawnItemEx(\"frag_grenadesmoke\", 0,0,0, 0,random(-1,1),1)\n\t\t\tFRGR A 0 A_ScaleVelocity(0.90)\n\t\t\tFRGR A 0 A_GiveInventory(\"frag_timer\", 1)\n\t\t\tgoto Spawn+2\n\t\tDeath:\n\t\t\tFRGG A 0 A_JumpIfInventory(\"frag_timer\", 10, \"boom\")\n\t\t\tFRGG AAAAAA 1 // A_SpawnItemEx(\"frag_grenadesmoke_small\", 0,0,0, 0,random(-1,1),1)\n\t\t\tFRGG A 0 A_GiveInventory(\"frag_timer\", 1)\n\t\t\tloop\n\t\tBoom:\n\t\tTNT1 A 0\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 Radius_Quake(2,12,0,8,0)\n    TNT1 AA 0 A_Explode(75,170)\n    TNT1 AA 0 A_Explode(75,300)\n    TNT1 A 0 A_SpawnItemEx(\"ExplosionMain2\")\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 A 20\n    stop\n   }\n}\n\nactor frag_timer : Inventory {\n\tInventory.MaxAmount 10\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/m4203.txt",
        "contents": "ACTOR M4203Primary : Ammo\n{\n  Inventory.PickupMessage \"You got M4 ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 30\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 30\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR M4203Grenade : Ammo\n{\n  Inventory.PickupMessage \"You picked a grenade for the M4 203.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 12\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 12\n  Inventory.Icon \"WPICA0\"\n  Inventory.PickupSound \"m79/magazine\"\n  States\n  {\n  Spawn:\n    M79R A -1\n    Stop\n  }\n}\n\nACTOR M4203Secondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up an M4 magazine.\" // \"Picked up a clip.\"\n  Inventory.PickupSound \"m4/magin\"\n  Inventory.Amount 30\n  Inventory.MaxAmount 270\n  Ammo.BackpackAmount 30\n  Ammo.BackpackMaxAmount 270\n  Inventory.Icon \"CLIPA0\"\n  States\n  {\n  Spawn:\n    PMAG C -1\n    Stop\n  }\n}\n\nACTOR \"M4 203\" : Weapon\n{\n   Weapon.AmmoUse 0\n   Weapon.AmmoGive2 30\n   Weapon.AmmoType2 \"M4203Secondary\"\n   Weapon.AmmoType \"M4203Primary\"\n   Inventory.PickupMessage \"You got the M4 203. Blow 'em up.\" // \"You got the chaingun\"\n   Inventory.PickupSound \"m4/pickup\"\n   Obituary \"%o got filled with holes by %k's M4 203.\" // \"%o was mowed down by %k's chaingun.\"\n   Tag \"M4 203\"\n   +WEAPON.NOALERT\n   +WEAPON.NOAUTOFIRE\n   Scale 0.25\n   States\n   {\n   Ready:\n\t M4DI A 0 A_PlaySoundEx(\"m4/select\",\"SoundSlot6\")\n\t M4DI A 0 A_GiveInventory(\"Action_DoAltFire\",1)\n\t M4DI A 0 A_GiveInventory(\"Action_Reloading\",1)\n\t M4SS ABCDEFGH 1\n\t TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t TNT1 A 0 A_JumpIfInventory(\"DoAltFire\",1,\"FireSecondary\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n     M4DI B 1 A_WeaponReady\n     Goto Ready+11\n   IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t M4TR CBA 1\n\t Goto SelfHeal+5\n   SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t M4SS HGFEDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t M4SS HGFEDCBA 1\n\t Goto ActualGrenade\n   IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t M4TR CBA 1\n\t Goto GrenadeThrow+1\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n\tGrenadeToReady:\n\t M4SS ABCDEFGH 1\n\t Goto Ready+11\n   ReadyIS:\n\t TNT1 A 0 A_JumpIfInventory(\"DoAltFire\",1,\"FireSecondary\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\t M4DI A 1 A_WeaponReady(1)\n\t Goto Ready+11\n   ToReady:\n    NULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+11\n\tTNT1 AAA 0\n\t// MCGN A 0 A_PlaySound(\"DRYFIRE\")\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tTNT1 A 0 A_GiveInventory(\"HoldFixer\",1)\n\tNULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+11\n   ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_JumpIfInventory(\"M4203Primary\",30,\"ToReady\")\n    TNT1 A 0 A_JumpIfInventory(\"M4203Secondary\",1,\"Reload\")\n\tGoto ToReady+2\n   Deselect:\n\tKSGS A 0 A_TakeInventory(\"IronSights\",1)\n\tKSGS A 0 A_TakeInventory(\"IsReloading\",1)\n\tKSGS A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n\tCHGG B 0 A_StopSoundEx(\"Weapon\")\n     M4SS HFDB 1 A_Lower\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+10\n   Reload:\n     M4RL A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ActualReload\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t M4TR CBA 1\n\t Goto ActualReload\n   ActualReload:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t M4RL ABCDEFGH 2\n\t M4RL J 0 A_PlaySoundEx(\"m4/magout\",\"SoundSlot6\")\n\t M4RL IJKLMNOPQRSTUVWXYZ 2\n\t M4RM ABC 2\n\t M4RM E 0 A_PlaySoundEx(\"m4/magin\",\"SoundSlot6\")\n\t M4RM DEFGHIJKLMNO 2\n\t M4RM P 1\n\t M4RM Q 0 A_PlaySoundEx(\"m4/boltback\",\"SoundSlot6\")\n\t M4RM P 1\n\t M4RM QRS 2\n\t M4RM U 0 A_PlaySoundEx(\"m4/boltfwd\",\"SoundSlot6\")\n\t M4RM TUVWXYZ 2\n\t M4RN ABC 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG B 0 A_GiveInventory(\"HoldFixer\",1)\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t Goto CalcAmmo\n   CalcAmmo:\n     TNT1 A 0 A_JumpIfInventory(\"M4203Secondary\",1,2)\n\t Goto Ready+11\n\t TNT1 AAA 0\n\t TNT1 A 0 A_JumpIfInventory(\"M4203Primary\",30,\"ToReady\")\n\t TNT1 A 0 A_TakeInventory(\"M4203Secondary\",1)\n\t TNT1 A 0 A_GiveInventory(\"M4203Primary\",1)\n\t Loop\n   Select:\n\t TNT1 A 0 A_GiveInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n     TNT1 A 0 A_Raise\n     Wait\n   Fire:\n\t CHGG A 0 A_JumpIfInventory(\"M4203Primary\",1,1)\n\t Goto ToReady\n\t CHGG A 0 A_TakeInventory(\"HoldFixer\",1)\n\t CHGG A 0 A_PlaySoundEx(\"m4/fireloop\",\"Weapon\",1)\n\t CHGG A 0 // A_PlaySoundEx(\"m4/fireloop\",\"Weapon\",1)\n\t CHGG A 0 A_AlertMonsters\n\t Goto Hold\n   FireSecondary:\n     CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n     CHGG A 0 A_JumpIfInventory(\"M4203Grenade\",1,1)\n\t Goto ToReady\n\t CHGG A 0 A_AlertMonsters\n\t CHGG A 0 A_GunFlash\n\t CHGG A 0 A_TakeInventory(\"M4203Grenade\",1)\n\t MISG B 0 A_PlaySoundEx(\"m79/fire\",CHAN_WEAPON)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t CHGG A 0 A_JumpIfInventory(\"IronSights\",1,\"FireSecondaryIS\")\n\t MISG B 0 A_FireCustomMissile(\"M79Shell\",random(-200,200)/100.00,1,6,6,0,random(-200,200)/100.00)\n\t M4GF ABCDEF 2\n\t Goto SecondaryReload\n   FireSecondaryIS:\n     M4II B 0 A_FireCustomMissile(\"M79Shell\",0,1,0,6)\n\t M4II BCA 2\n\t M4II A 0 A_TakeInventory(\"IronSights\",1)\n\t M4II A 0 A_ZoomFactor(1.0)\n\t M4TR CBA 1\n\t M4DI B 3\n\t Goto SecondaryReload\n   SecondaryReload:\n\t M4GF GHIJK 2\n\t M4GF L 0 A_PlaySoundEx(\"m4/eject\",\"SoundSlot6\")\n\t M4GF LMNOPQRSTUVWXYZ 2\n\t M4GG ABCDE 2\n\t M4GG F 0 A_PlaySoundEx(\"m4/insertstart\",\"SoundSlot6\")\n\t M4GG FGHIJ 2\n\t M4GG K 0 A_PlaySoundEx(\"m4/insert\",\"SoundSlot6\")\n\t M4GG KLMNOPQ 2\n\t M4GG R 0 A_PlaySoundEx(\"m4/close\",\"SoundSlot6\")\n\t M4GG RSTUVWXYZ 2\n\t Goto Ready+11\n   Hold:\n     M4FI A 0 A_JumpIfInventory(\"HoldFixer\",1,\"Fire\")\n     M4FI A 0 A_JumpIfInventory(\"IronSights\",1,\"HoldIS\")\n\t M4FI A 0 A_JumpIfInventory(\"M4203Primary\",1,1)\n\t Goto FireOutOfAmmo\n\t CHGG A 0 A_TakeInventory(\"M4203Primary\",1)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_GiveInventory(\"PlayTail\",1)\n     M4FI A 0 A_FireBullets(2.6, 1.0, 1, 5, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-1)\n\t BPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\t BPSS A 0 A_FireCustomMissile(\"LongRifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t M4FI B 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.35)\n\t M4FI AC 1\n     CHGG B 0 A_ReFire\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t CHGG B 0 A_PlaySoundEx(\"m4/fireend\",CHAN_WEAPON)\n\t CHGG B 0 // Stopsound\n     Goto Ready+11\n   FireOutOfAmmo:\n\t  CHGG B 0 A_JumpIfInventory(\"PlayTail\",1,\"FireOutOfAmmoTail\")\n      CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t  Goto ToReload\n    FireOutOfAmmoTail:\n      CHGG A 0 A_TakeInventory(\"PlayTail\",1)\n      CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t  CHGG B 0 A_PlaySoundEx(\"m4/fireend\",CHAN_WEAPON)\n\t  Goto ToReload\n   HoldIS:\n     M4FI A 0 A_JumpIfInventory(\"M4203Primary\",1,1)\n\t Goto FireOutOfAmmo\n\t M4FI A 0 A_FireBullets(0.9, 0.45, 1, 5, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-0.25)\n\t BPSS A 0 A_FireCustomMissile(\"LongRifleCaseSpawn\",5,0,7,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_TakeInventory(\"M4203Primary\",1)\n\t M4II B 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.25)\n\t M4II AC 1\n     CHGG B 0 A_ReFire\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t CHGG B 0 A_PlaySoundEx(\"m4/fireend\",CHAN_WEAPON)\n\t CHGG B 0 // Stopsound\n     Goto ReadyIS\n   AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tM4TR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tM4TR CBA 1\n\tGoto Ready+11\n   Spawn:\n     M4PU A -1\n     Stop\n   }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/thompson.txt",
        "contents": "ACTOR ThompsonPrimary : Ammo\n{\n  Inventory.PickupMessage \"You got M4 ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 37\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 37\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR ThompsonSecondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up a Tommy Gun magazine.\" // \"Picked up a clip.\"\n  Inventory.Amount 30\n  Inventory.MaxAmount 270\n  Ammo.BackpackAmount 30\n  Ammo.BackpackMaxAmount 270\n  Inventory.Icon \"CLIPA0\"\n  Inventory.PickupSound \"mp7/magazine\"\n  States\n  {\n  Spawn:\n    PMAG B -1\n    Stop\n  }\n}\n\nACTOR \"Thompson M1A1\" : Weapon\n{\n   Weapon.AmmoUse 0\n   Weapon.AmmoGive2 60\n   Weapon.AmmoType2 \"ThompsonSecondary\"\n   Weapon.AmmoType \"ThompsonPrimary\"\n   Inventory.PickupMessage \"You got the Thompson M1A1!\"\n   Inventory.PickupSound \"aa12/pickup\"\n   Obituary \"%k made %o sleep with the fishes.\"\n   Tag \"Thompson M1A1\"\n   +WEAPON.NOALERT\n   +WEAPON.NOAUTOFIRE\n   Scale 0.25\n   States\n   {\n   Ready:\n\t M4DI A 0 A_PlaySoundEx(\"aa12/select\",\"SoundSlot6\")\n\t THSS ABCDEFGHIJKLMNOPQRS 1\n\t TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\t BPRI A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleModes\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n     THID A 1 A_WeaponReady\n     Goto Ready+20\n   IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t THTR CBA 1\n\t Goto SelfHeal+5\n   SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t THSS SRQPONMLKJIHGFEDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t MPPD ABCDEF 1\n\t Goto ActualGrenade\n   IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t THTR CBA 1\n\t Goto GrenadeThrow+1\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n    GrenadeToReady:\n\t MPSS ABCDEFGHI 1\n\t Goto Ready+20\n   ReadyIS:\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleModes\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\t THID B 1 A_WeaponReady(1)\n\t Goto Ready+20\n   ToggleModes:\n     BPRI A 0 A_TakeInventory(\"DoAltFire\",1)\n\t BPRI A 0 A_JumpIfInventory(\"FullyAutomatic\",1,\"ToSA\")\n\t Goto ToFA\n   ToFA:\n\t BPRI A 0 A_GiveInventory(\"FullyAutomatic\",1)\n\t BPRI A 0 A_Print(\"Switched to Fully Automatic.\")\n\t Goto ToReady\n   ToSA:\n     BPRI A 0 A_TakeInventory(\"FullyAutomatic\",1)\n\t BPRI A 0 A_Print(\"Switched to Semi Automatic.\")\n\t Goto ToReady\n   ToReady:\n    NULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+20\n\tTNT1 AAA 0\n\t// MCGN A 0 A_PlaySound(\"DRYFIRE\")\n\tTNT1 A 0 A_GiveInventory(\"HoldFixer\",1)\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tNULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+20\n   ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_Jump(255,\"FullAmmoCheck\")\n    TNT1 A 0 A_JumpIfInventory(\"ThompsonSecondary\",1,\"Reload\")\n\tGoto ToReady+2\n   Deselect:\n\tKSGS A 0 A_TakeInventory(\"IronSights\",1)\n\tKSGS A 0 A_TakeInventory(\"IsReloading\",1)\n\tKSGS A 0 A_ZoomFactor(1.0)\n\tCHGG B 0 A_StopSoundEx(\"Weapon\")\n\tTNT1 A 0 A_TakeInventory(\"IsFastFiring\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(815,0,0,0,0)\n     THSS SRQPONMLKJIHGFEDCBA 1\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+25\n   Reload:\n     M4RL A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ActualReload\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t MPTR CBA 1\n\t Goto ActualReload\n   ActualReload:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t THRL ABCDEF 2\n\t THRL H 0 A_PlaySoundEx(\"tommy/eject\",\"SoundSlot6\")\n\t THRL GHIJKLMNOPQRSTUVWXYZ 2\n\t THRL Z 0 A_PlaySoundEx(\"tommy/wiggle\",\"SoundSlot6\")\n\t THRM ABCD 2\n\t THRL Z 0 A_PlaySoundEx(\"tommy/insert\",\"SoundSlot6\")\n\t THRM EFGHIJKLMNOPQ 2\n\t THRL S 0 A_PlaySoundEx(\"tommy/boltback\",\"SoundSlot6\")\n\t THRM RSTUVWXYZ 2\n\t THRN ABC 2\n\t THRN DEF 2 A_WeaponReady(1)\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_GiveInventory(\"HoldFixer\",1)\n\t CHGG B 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t Goto CalcAmmo\n   Select:\n\t TNT1 A 0 A_GiveInventory(\"IsFastFiring\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(815,0,0,0,0)\n     TNT1 A 0 A_Raise\n     Wait\n   Fire:\n     CHGG A 0 A_JumpIfInventory(\"FullyAutomatic\",1,1)\n\t Goto FireSemi\n\t CHGG A 0 A_JumpIfInventory(\"ThompsonPrimary\",1,1)\n\t Goto ToReload\n\t CHGG A 0 A_TakeInventory(\"HoldFixer\",1)\n\t CHGG A 0 // A_Print(\"Fire State\")\n\t CHGG A 0 A_PlaySoundEx(\"tommy/loop\",\"Weapon\",1)\n\t CHGG A 0 A_TakeInventory(\"FullyLoaded\",1)\n\t CHGG A 0 A_AlertMonsters\n\t Goto Hold\n   FireSemi:\n\t CHGG A 0 A_JumpIfInventory(\"ThompsonPrimary\",1,1)\n\t Goto ToReload\n\t CHGG A 0 A_JumpIfInventory(\"IronSights\",1,\"FireSemiIS\")\n\t CHGG A 0 A_FireBullets(2.6, 1.0, 1, 8, \"BulletPuff2\")\n\t CHGG B 0 A_PlaySoundEx(\"tommy/fire\",\"Weapon\")\n\t CHGG A 0 A_GiveInventory(\"HoldFixer\",1)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG B 0 A_TakeInventory(\"ThompsonPrimary\",1)\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t BPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\t BPSS A 0 A_SetPitch(pitch-2)\n\t THFI A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+1)\n\t THFI BCDEF 2 A_WeaponReady(1)\n\t Goto Ready+20\n   FireSemiIS:\n\t CHGG A 0 A_FireBullets(0.25, 0, 1, 8, \"BulletPuff2\")\n\t CHGG A 0 A_GiveInventory(\"HoldFixer\",1)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG B 0 A_PlaySoundEx(\"tommy/fire\",\"Weapon\")\n\t CHGG B 0 A_TakeInventory(\"ThompsonPrimary\",1)\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t BPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\t BPSS A 0 A_SetPitch(pitch-2)\n\t THFJ A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+1.80)\n\t THFJ BCDEF 2 A_WeaponReady(1)\n\t Goto ReadyIS\n   Hold:\n     M4FI A 0 A_JumpIfInventory(\"HoldFixer\",1,\"Fire\")\n     M4FI A 0 A_JumpIfInventory(\"IronSights\",1,\"HoldIS\")\n\t M4FI A 0 A_JumpIfInventory(\"ThompsonPrimary\",1,1)\n\t Goto FireOutOfAmmo\n\t CHGG A 0 A_TakeInventory(\"ThompsonPrimary\",1)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_GiveInventory(\"PlayTail\",1)\n     M4FI A 0 A_FireBullets(2.6, 1.0, 1, 8, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-1)\n\t BPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t THFI A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.35)\n\t THFI BCD 1\n     CHGG B 0 A_ReFire\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t CHGG B 0 A_PlaySoundEx(\"tommy/tail\",CHAN_WEAPON)\n\t THFI EF 2 A_WeaponReady(1)\n\t CHGG B 0 // Stopsound\n     Goto Ready+20\n    FireOutOfAmmo:\n\t  CHGG B 0 A_JumpIfInventory(\"PlayTail\",1,\"FireOutOfAmmoTail\")\n      CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t  Goto ToReload\n    FireOutOfAmmoTail:\n      CHGG A 0 A_TakeInventory(\"PlayTail\",1)\n      CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t  CHGG B 0 A_PlaySoundEx(\"tommy/tail\",CHAN_WEAPON)\n\t  Goto ToReload\n   HoldIS:\n     M4FI A 0 A_JumpIfInventory(\"ThompsonPrimary\",1,1)\n\t Goto FireOutOfAmmo\n\t M4FI A 0 A_FireBullets(0.9, 0.45, 1, 8, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-0.25)\n\t CHGG A 0 A_GiveInventory(\"PlayTail\",1)\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,7,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_TakeInventory(\"ThompsonPrimary\",1)\n\t THFJ A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.25)\n\t THFJ BCD 1\n     CHGG B 0 A_ReFire\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t CHGG B 0 A_PlaySoundEx(\"tommy/tail\",CHAN_WEAPON)\n\t THFJ EF 2 A_WeaponReady(1)\n\t CHGG B 0 // Stopsound\n     Goto ReadyIS\n   AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tTHTR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tTHTR CBA 1\n\tGoto Ready+20\n   Spawn:\n     THID C -1\n     Stop\n\n\t CalcAmmo:\n\tTNT1 A 0 A_JumpIfInventory(\"Perk_Commando\",1,1)\n\tGoto CalcAmmo0\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",6,\"CalcAmmo6\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",5,\"CalcAmmo5\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",4,\"CalcAmmo4\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",3,\"CalcAmmo3\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",2,\"CalcAmmo2\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",1,\"CalcAmmo1\")\n\tGoto CalcAmmo0\n\nCalcAmmo0:\n     \tTNT1 A 0 A_JumpIfInventory(\"ThompsonSecondary\",1,2)\n\tGoto Ready+20\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"ThompsonPrimary\",30,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"ThompsonSecondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"ThompsonPrimary\",1)\n\tLoop\n\nCalcAmmo1:\n     \tTNT1 A 0 A_JumpIfInventory(\"ThompsonSecondary\",1,2)\n\tGoto Ready+20\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"ThompsonPrimary\",33,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"ThompsonSecondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"ThompsonPrimary\",1)\n\tLoop\n\nCalcAmmo2:\n     \tTNT1 A 0 A_JumpIfInventory(\"ThompsonSecondary\",1,2)\n\tGoto Ready+20\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"ThompsonPrimary\",36,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"ThompsonSecondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"ThompsonPrimary\",1)\n\tLoop\n\nCalcAmmo3:\nCalcAmmo4:\nCalcAmmo5:\nCalcAmmo6:\n     \tTNT1 A 0 A_JumpIfInventory(\"ThompsonSecondary\",1,2)\n\tGoto Ready+20\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"ThompsonPrimary\",37,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"ThompsonSecondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"ThompsonPrimary\",1)\n\tLoop\n\nFullLoad:\n\tTNT1 A 0 A_GiveInventory(\"FullyLoaded\",1)\n\tGoto Ready+20\n\nFullAmmoCheck:\n\tTNT1 A 0 A_JumpIfInventory(\"Perk_Commando\",1,1)\n\tGoto FACheck0\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",6,\"FACheck6\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",5,\"FACheck5\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",4,\"FACheck4\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",3,\"FACheck3\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",2,\"FACheck2\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",1,\"FACheck1\")\n\tGoto FACheck0\nFACheck0:\n\tTNT1 A 0 A_JumpIfInventory(\"ThompsonPrimary\",30,\"ToReady\")\n\tGoto ToReload+2\nFACheck1:\n\tTNT1 A 0 A_JumpIfInventory(\"ThompsonPrimary\",33,\"ToReady\")\n\tGoto ToReload+2\nFACheck2:\n\tTNT1 A 0 A_JumpIfInventory(\"ThompsonPrimary\",36,\"ToReady\")\n\tGoto ToReload+2\nFACheck3:\nFACheck4:\nFACheck5:\nFACheck6:\n\tTNT1 A 0 A_JumpIfInventory(\"ThompsonPrimary\",37,\"ToReady\")\n\tGoto ToReload+2\n\n   }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/mp7.txt",
        "contents": "ACTOR HealingDart : FastProjectile\n{\n  Radius 4\n  Height 8\n  Speed 200\n  Damage 0\n  +RANDOMIZE\n  +BLOODLESSIMPACT\n  +PIERCEARMOR\n  RenderStyle Add\n  Alpha 0.75\n  SeeSound \"dart/fly\"\n  Obituary \"%o was healed by %k.\" // \"%o was melted by %k's plasma gun.\"\n  States\n  {\n  Spawn:\n    MLPJ A 1\n    Loop\n  Death:\n\tTNT1 A 0 A_StopSound\n    PLSE A 0 A_SpawnItemEx(\"PuffSpark\",1,1,1,0,0,0,0,SXF_CLIENTSIDE | SXF_NOCHECKPOSITION,0)\n\tTNT1 A 0 A_Jump(128,2)\n\tTNT1 A 0 A_PlaySoundEx(\"bullet/ricochet\",CHAN_WEAPON)\n\tSMK1 BCDEFGHIJKLMNO 1 BRIGHT\n\tstop\n  XDeath:\n\tTNT1 A 0 A_StopSound\n\tPLSE A 0 A_PlaySoundEx(\"dart/impact\",\"Body\")\n    PLSE A 0 A_SpawnItemEx(\"HealingExplode\",0,0,0)\n\tStop\n  }\n}\n\nACTOR HealingExplode\n{\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\tRadius 1\n\tHeight 1\n\tDamageType \"MedicHeal\"\n\tStates\n\t{\n\tSpawn:\n\tPLSE AAAAAAAA 0 A_SpawnItemEx(\"HealingPuff\",random(-1,1),random(-1,1),random(-1,1),random(-1,1),random(-1,1),random(-1,1))\n\tPLSE A 0 A_Explode(1,15)\n\tTNT1 A 1\n\tStop\n\t}\n}\n\nACTOR HealingPuff\n{\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\tRenderstyle Add\n\tAlpha 0.75\n\tStates\n\t{\n\tSpawn:\n\tGMK4 BCDEFGHIJKLMNO 2 A_FadeOut(0.1)\n\tStop\n\t}\n}\n\nACTOR MP7Primary : Ammo\n{\n  Inventory.PickupMessage \"You got M4 ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 40\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 40\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR MP7Secondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up an MP7M magazine.\" // \"Picked up a clip.\"\n  Inventory.Amount 20\n  Inventory.MaxAmount 380\n  Ammo.BackpackAmount 20\n  Ammo.BackpackMaxAmount 380\n  Inventory.Icon \"CLIPA0\"\n  Inventory.PickupSound \"mp7/magazine\"\n  States\n  {\n  Spawn:\n    PMAG B -1\n    Stop\n  }\n}\n\nACTOR \"MP7M Medic Gun\" : Weapon\n{\n   Weapon.AmmoUse 0\n   Weapon.AmmoGive2 40\n   Weapon.AmmoType2 \"MP7Secondary\"\n   Weapon.AmmoType \"MP7Primary\"\n   Inventory.PickupMessage \"You got the MP7M. Go heal someone!\" // \"You got the chaingun\"\n   Inventory.PickupSound \"mp7/pickup\"\n   Obituary \"%o was peppered by %k's MP7M.\" // \"%o was mowed down by %k's chaingun.\"\n   Tag \"MP7M Medic Gun\"\n   +WEAPON.NOALERT\n   +WEAPON.NOAUTOFIRE\n   Scale 0.2\n   States\n   {\n   Ready:\n\t M4DI A 0 A_PlaySoundEx(\"mp7/select\",\"SoundSlot6\")\n\t M4DI A 0 A_GiveInventory(\"Action_DoAltFire\",1)\n\t M4DI A 0 A_GiveInventory(\"Action_Reloading\",1)\n\t MPSS ABCDEFGHI 2\n\t TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t TNT1 A 0 A_JumpIfInventory(\"DoAltFire\",1,\"FireSecondary\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n     MPID A 1 A_WeaponReady\n     Goto Ready+12\n   IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t MPTR CBA 1\n\t Goto SelfHeal+5\n   SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t MPPD ABCDEF 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t MPPD ABCDEF 1\n\t Goto ActualGrenade\n   IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t MPTR CBA 1\n\t Goto GrenadeThrow+1\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n    GrenadeToReady:\n\t MPSS ABCDEFGHI 1\n\t Goto ready+12\n   ReadyIS:\n\t TNT1 A 0 A_JumpIfInventory(\"DoAltFire\",1,\"FireSecondary\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\t MPID B 1 A_WeaponReady(1)\n\t Goto ready+12\n   ToReady:\n    NULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto ready+12\n\tTNT1 AAA 0\n\t// MCGN A 0 A_PlaySound(\"DRYFIRE\")\n\tTNT1 A 0 A_GiveInventory(\"HoldFixer\",1)\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tNULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto ready+12\n   ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_Jump(255,\"FullAmmoCheck\")\n    TNT1 A 0 A_JumpIfInventory(\"MP7Secondary\",1,\"Reload\")\n\tGoto ToReady+2\n   Deselect:\n\tKSGS A 0 A_TakeInventory(\"IronSights\",1)\n\tKSGS A 0 A_TakeInventory(\"IsReloading\",1)\n\tKSGS A 0 A_ZoomFactor(1.0)\n\tCHGG B 0 A_StopSoundEx(\"Weapon\")\n     MPPD ABCDEF 1 A_Lower\n\t MPPD F 0 A_TakeInventory(\"MedicGun\",1)\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+8\n   Reload:\n     M4RL A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ActualReload\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t MPTR CBA 1\n\t Goto ActualReload\n   ActualReload:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t MPRL ABC 2\n\t MPRL E 0 A_PlaySoundEx(\"mp7/magout\",\"SoundSlot6\")\n\t MPRL DEFGHIJKLMN 2\n\t MPRL Q 0 A_PlaySoundEx(\"mp7/cloth\",\"SoundSlot6\")\n\t MPRL OPQRSTUVW 2\n\t MPRL Y 0 A_PlaySoundEx(\"mp7/magin\",\"SoundSlot6\")\n\t MPRL XYZ 2\n\t MPRM ABCDEFGHIJK 2\n\t MPRM J 0 A_PlaySoundEx(\"mp7/bolt\",\"SoundSlot6\")\n\t MPRM LMNOPQRSTU 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_GiveInventory(\"HoldFixer\",1)\n\t CHGG B 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t Goto CalcAmmo\n   Select:\n\t TNT1 A 0 A_GiveInventory(\"MedicGun\",1)\n     TNT1 A 0 A_Raise\n     Wait\n   Fire:\n\t CHGG A 0 A_JumpIfInventory(\"MP7Primary\",1,1)\n\t Goto ToReady\n\t CHGG A 0 A_TakeInventory(\"HoldFixer\",1)\n\t CHGG A 0 // A_Print(\"Fire State\")\n\t CHGG A 0 A_PlaySoundEx(\"mp7/fireloop\",\"Weapon\",1)\n\t CHGG A 0 A_AlertMonsters\n\t Goto Hold\n   FireSecondary:\n     CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n     MP7M A 0 A_JumpIfInventory(\"MedicCharge\",50,1)\n\t Goto ToReady\n\t CHGG A 0 A_GunFlash\n\t CHGG A 0 A_TakeInventory(\"MedicCharge\",50)\n\t MISG B 0 A_PlaySoundEx(\"dart/fire\",CHAN_WEAPON)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t CHGG A 0 A_JumpIfInventory(\"IronSights\",1,\"FireSecondaryIS\")\n\t MISG B 0 A_FireCustomMissile(\"HealingDart\")\n\t REP4 B 0 bright ACS_ExecuteAlways (650, 0, 20) // actually does the healing, taken from AOW2\n\t MPFI ABCDEF 2\n\t Goto ToReady\n   FireSecondaryIS:\n     M4II B 0 A_FireCustomMissile(\"HealingDart\",0,1,0,6)\n\t REP4 B 0 bright ACS_ExecuteAlways (650, 0, 20) // actually does the healing, taken from AOW2\n\t MPFJ ABCDEF 2\n\t Goto ToReady\n   Hold:\n     M4FI A 0 A_JumpIfInventory(\"HoldFixer\",1,\"Fire\")\n     M4FI A 0 A_JumpIfInventory(\"IronSights\",1,\"HoldIS\")\n\t M4FI A 0 A_JumpIfInventory(\"MP7Primary\",1,1)\n\t Goto FireOutOfAmmo\n\t CHGG A 0 A_TakeInventory(\"MP7Primary\",1)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_GiveInventory(\"PlayTail\",1)\n     M4FI A 0 A_FireBullets(2.6, 1.0, 1, 3, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-1)\n\t BPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t MPFI B 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.35)\n\t MPFI C 1\n     CHGG B 0 A_ReFire\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t CHGG B 0 A_PlaySoundEx(\"mp7/firetail\",CHAN_WEAPON)\n\t MPFI DEF 2 A_WeaponReady(1)\n\t CHGG B 0 // Stopsound\n     Goto ready+12\n    FireOutOfAmmo:\n\t  CHGG B 0 A_JumpIfInventory(\"PlayTail\",1,\"FireOutOfAmmoTail\")\n      CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t  Goto ToReload\n    FireOutOfAmmoTail:\n      CHGG A 0 A_TakeInventory(\"PlayTail\",1)\n      CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t  CHGG B 0 A_PlaySoundEx(\"mp7/firetail\",CHAN_WEAPON)\n\t  Goto ToReload\n   HoldIS:\n     M4FI A 0 A_JumpIfInventory(\"MP7Primary\",1,1)\n\t Goto FireOutOfAmmo\n\t M4FI A 0 A_FireBullets(0.9, 0.45, 1, 3, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-0.25)\n\t CHGG A 0 A_GiveInventory(\"PlayTail\",1)\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,7,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_TakeInventory(\"MP7Primary\",1)\n\t MPFJ B 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.25)\n\t MPFJ C 1\n     CHGG B 0 A_ReFire\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t CHGG B 0 A_PlaySoundEx(\"mp7/firetail\",CHAN_WEAPON)\n\t MPFJ DEF 2 A_WeaponReady(1)\n\t CHGG B 0 // Stopsound\n     Goto ReadyIS\n   AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tMPTR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tMPTR CBA 1\n\tGoto ready+12\n   Spawn:\n     MPID C -1\n     Stop\nCalcAmmo:\n\tTNT1 A 0 A_JumpIfInventory(\"Perk_Medic\",1,1)\n\tGoto CalcAmmo0\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",6,\"CalcAmmo6\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",5,\"CalcAmmo5\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",4,\"CalcAmmo4\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",3,\"CalcAmmo3\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",2,\"CalcAmmo2\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",1,\"CalcAmmo1\")\n\tGoto CalcAmmo0\n\nCalcAmmo0:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP7Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",22,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP7Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP7Primary\",1)\n\tLoop\n\nCalcAmmo1:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP7Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",24,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP7Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP7Primary\",1)\n\tLoop\n\nCalcAmmo2:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP7Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",28,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP7Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP7Primary\",1)\n\tLoop\n\nCalcAmmo3:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP7Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",32,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP7Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP7Primary\",1)\n\tLoop\n\nCalcAmmo4:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP7Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",36,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP7Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP7Primary\",1)\n\tLoop\n\nCalcAmmo5:\nCalcAmmo6:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP7Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",40,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP7Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP7Primary\",1)\n\tLoop\n\nFullLoad:\n\tTNT1 A 0 A_GiveInventory(\"FullyLoaded\",1)\n\tGoto Ready+12\n\nFullAmmoCheck:\n\tTNT1 A 0 A_JumpIfInventory(\"Perk_Medic\",1,1)\n\tGoto FACheck0\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",6,\"FACheck6\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",5,\"FACheck5\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",4,\"FACheck4\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",3,\"FACheck3\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",2,\"FACheck2\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",1,\"FACheck1\")\n\tGoto FACheck0\nFACheck0:\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",22,\"ToReady\")\n\tGoto ToReload+2\nFACheck1:\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",24,\"ToReady\")\n\tGoto ToReload+2\nFACheck2:\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",28,\"ToReady\")\n\tGoto ToReload+2\nFACheck3:\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",32,\"ToReady\")\n\tGoto ToReload+2\nFACheck4:\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",36,\"ToReady\")\n\tGoto ToReload+2\nFACheck5:\nFACheck6:\n\tTNT1 A 0 A_JumpIfInventory(\"MP7Primary\",40,\"ToReady\")\n\tGoto ToReload+2\n   }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/mp5.txt",
        "contents": "ACTOR MP5HealingDart : FastProjectile\n{\n  Radius 4\n  Height 8\n  Speed 200\n  Damage 0\n  +RANDOMIZE\n  +BLOODLESSIMPACT\n  +PIERCEARMOR\n  RenderStyle Add\n  Alpha 0.75\n  SeeSound \"dart/fly\"\n  Obituary \"%o was healed by %k.\" // \"%o was melted by %k's plasma gun.\"\n  States\n  {\n  Spawn:\n    MLPJ A 1\n    Loop\n  Death:\n\tTNT1 A 0 A_StopSound\n    PLSE A 0 A_SpawnItemEx(\"PuffSpark\",1,1,1,0,0,0,0,SXF_CLIENTSIDE | SXF_NOCHECKPOSITION,0)\n\tTNT1 A 0 A_Jump(128,2)\n\tTNT1 A 0 A_PlaySoundEx(\"bullet/ricochet\",CHAN_WEAPON)\n\tSMK1 BCDEFGHIJKLMNO 1 BRIGHT\n\tstop\n  XDeath:\n\tTNT1 A 0 A_StopSound\n\tPLSE A 0 A_PlaySoundEx(\"dart/impact\",\"Body\")\n    PLSE A 0 A_SpawnItemEx(\"HealingExplode\",0,0,0)\n\tStop\n  }\n}\n\nACTOR MP5Primary : Ammo\n{\n  Inventory.PickupMessage \"You got M4 ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 64\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 64\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR MP5Secondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up an MP5M magazine.\" // \"Picked up a clip.\"\n  Inventory.Amount 32\n  Inventory.MaxAmount 400\n  Ammo.BackpackAmount 32\n  Ammo.BackpackMaxAmount 400\n  Inventory.Icon \"CLIPA0\"\n  Inventory.PickupSound \"mp5/magin\"\n  States\n  {\n  Spawn:\n    PMAG J -1\n    Stop\n  }\n}\n\nACTOR \"MP5M Medic Gun\" : Weapon\n{\n   Weapon.AmmoUse 0\n   Weapon.AmmoGive2 64\n   Weapon.AmmoType2 \"MP5Secondary\"\n   Weapon.AmmoType \"MP5Primary\"\n   Inventory.PickupMessage \"You got the MP5M. Go heal someone!\" // \"You got the chaingun\"\n   Inventory.PickupSound \"mp5/pickup\"\n   Obituary \"%o was peppered by %k's MP5M.\" // \"%o was mowed down by %k's chaingun.\"\n   Tag \"MP5M Medic Gun\"\n   +WEAPON.NOALERT\n   +WEAPON.NOAUTOFIRE\n   Scale 0.2\n   States\n   {\n   Ready:\n\t M4DI A 0 A_PlaySoundEx(\"mp5/select\",\"SoundSlot6\")\n\t M5SS ABCDEFGHIJK 2\n\t TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t TNT1 A 0 A_JumpIfInventory(\"DoAltFire\",1,\"FireSecondary\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n     M5ID A 1 A_WeaponReady\n     Goto Ready+12\n   IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t M5TR CBA 1\n\t Goto SelfHeal+5\n   SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t M5SS KJIHGFEDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t M5SS KJIHGFEDCBA 1\n\t Goto ActualGrenade\n   IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t M5TR CBA 1\n\t Goto GrenadeThrow+1\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n    GrenadeToReady:\n\t M5SS ABCDEFGHIJK 1\n\t Goto ready+12\n   ReadyIS:\n\t TNT1 A 0 A_JumpIfInventory(\"DoAltFire\",1,\"FireSecondary\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\t M5ID B 1 A_WeaponReady(1)\n\t Goto ready+12\n   ToReady:\n    NULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto ready+12\n\tTNT1 AAA 0\n\t// MCGN A 0 A_PlaySound(\"DRYFIRE\")\n\tTNT1 A 0 A_GiveInventory(\"HoldFixer\",1)\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tNULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto ready+12\n   ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_Jump(255,\"FullAmmoCheck\")\n    TNT1 A 0 A_JumpIfInventory(\"MP5Secondary\",1,\"Reload\")\n\tGoto ToReady+2\n   Deselect:\n\tKSGS A 0 A_TakeInventory(\"IronSights\",1)\n\tKSGS A 0 A_TakeInventory(\"IsReloading\",1)\n\tKSGS A 0 A_ZoomFactor(1.0)\n\tCHGG B 0 A_StopSoundEx(\"Weapon\")\n     M5SS KJIHGFEDCBA 1\n\t MPPD F 0 A_TakeInventory(\"MedicGun\",1)\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+15\n   Reload:\n     M4RL A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ActualReload\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t MPTR CBA 1\n\t Goto ActualReload\n   ActualReload:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t M5RL ABCDEFG 2\n\t M5RL H 0 A_PlaySoundEx(\"mp5/boltback\",\"SoundSlot6\")\n\t M5RL HIJ 2\n\t M5RL K 0 A_PlaySoundEx(\"mp5/boltup\",\"SoundSlot6\")\n\t M5RL KLMNOPQRSTUVWXYZ 2\n\t M5RM ABCDE 2\n\t M5RM F 0 A_PlaySoundEx(\"mp5/magout\",\"SoundSlot6\")\n\t M5RM FGHIJKLMNO 2\n\t M5RM Q 0 A_PlaySoundEx(\"mp5/magin\",\"SoundSlot6\")\n\t M5RM PQRSTUVWX 2\n\t M5RM Z 0 A_PlaySoundEx(\"mp5/reset\",\"SoundSlot6\")\n\t M5RM YZ 2\n\t M5RN ABCDEF 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_GiveInventory(\"HoldFixer\",1)\n\t CHGG B 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t Goto CalcAmmo\n   Select:\n\t TNT1 A 0 A_GiveInventory(\"MedicGun\",1)\n     TNT1 A 0 A_Raise\n     Wait\n   Fire:\n\t CHGG A 0 A_JumpIfInventory(\"MP5Primary\",1,1)\n\t Goto ToReady\n\t CHGG A 0 A_TakeInventory(\"HoldFixer\",1)\n\t CHGG A 0 // A_Print(\"Fire State\")\n\t CHGG A 0 A_AlertMonsters\n\t Goto Hold\n   FireSecondary:\n     CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n     MP7M A 0 A_JumpIfInventory(\"MedicCharge\",50,1)\n\t Goto ToReady\n\t CHGG A 0 A_GunFlash\n\t CHGG A 0 A_TakeInventory(\"MedicCharge\",50)\n\t MISG B 0 A_PlaySoundEx(\"dart/fire\",CHAN_WEAPON)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t CHGG A 0 A_JumpIfInventory(\"IronSights\",1,\"FireSecondaryIS\")\n\t MISG B 0 A_FireCustomMissile(\"MP5HealingDart\")\n\t REP4 B 0 bright ACS_ExecuteAlways (650, 0, 60) // actually does the healing, taken from AOW2\n\t M5FI ABCDEFG 2\n\t Goto ToReady\n   FireSecondaryIS:\n     M4II B 0 A_FireCustomMissile(\"MP5HealingDart\",0,1,0,6)\n\t REP4 B 0 bright ACS_ExecuteAlways (650, 0, 60) // actually does the healing, taken from AOW2\n\t M5FJ ABCDEFG 2\n\t Goto ToReady\n   Hold:\n     M4FI A 0 A_JumpIfInventory(\"HoldFixer\",1,\"Fire\")\n     M4FI A 0 A_JumpIfInventory(\"IronSights\",1,\"HoldIS\")\n\t M4FI A 0 A_JumpIfInventory(\"MP5Primary\",1,1)\n\t Goto ToReload\n\t CHGG A 0 A_TakeInventory(\"MP5Primary\",1)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_GiveInventory(\"PlayTail\",1)\n     M4FI A 0 A_FireBullets(2.6, 1.0, 1, 5, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-1)\n\t BPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\t BPSS A 0 A_PlaySoundEx(\"mp5/fire\",\"Weapon\")\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t M5FI A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.35)\n\t M5FI BC 1\n     CHGG B 0 A_ReFire\n\t M5FI DEFG 2 A_WeaponReady(1)\n\t CHGG B 0 // Stopsound\n     Goto ready+12\n   HoldIS:\n     M4FI A 0 A_JumpIfInventory(\"MP5Primary\",1,1)\n\t Goto ToReload\n\t CHGG A 0 A_TakeInventory(\"MP5Primary\",1)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_GiveInventory(\"PlayTail\",1)\n     M4FI A 0 A_FireBullets(0.5, 0.0, 1, 5, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-1)\n\t BPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\t BPSS A 0 A_PlaySoundEx(\"mp5/fire\",\"Weapon\")\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t M5FJ A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.35)\n\t M5FJ BC 1\n     CHGG B 0 A_ReFire\n\t M5FJ DEFG 2 A_WeaponReady(1)\n\t CHGG B 0 // Stopsound\n     Goto ReadyIS\n   AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tM5TR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tM5TR CBA 1\n\tGoto ready+12\n   Spawn:\n     M5ID C -1\n     Stop\n   CalcAmmo:\n\tTNT1 A 0 A_JumpIfInventory(\"Perk_Medic\",1,1)\n\tGoto CalcAmmo0\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",6,\"CalcAmmo6\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",5,\"CalcAmmo5\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",4,\"CalcAmmo4\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",3,\"CalcAmmo3\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",2,\"CalcAmmo2\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",1,\"CalcAmmo1\")\n\tGoto CalcAmmo0\n\nCalcAmmo0:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP5Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",35,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP5Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP5Primary\",1)\n\tLoop\n\nCalcAmmo1:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP5Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",38,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP5Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP5Primary\",1)\n\tLoop\n\nCalcAmmo2:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP5Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",44,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP5Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP5Primary\",1)\n\tLoop\n\nCalcAmmo3:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP5Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",51,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP5Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP5Primary\",1)\n\tLoop\n\nCalcAmmo4:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP5Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",57,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP5Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP5Primary\",1)\n\tLoop\n\nCalcAmmo5:\nCalcAmmo6:\n     \tTNT1 A 0 A_JumpIfInventory(\"MP5Secondary\",1,2)\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",64,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"MP5Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"MP5Primary\",1)\n\tLoop\n\nFullLoad:\n\tTNT1 A 0 A_GiveInventory(\"FullyLoaded\",1)\n\tGoto Ready+12\n\nFullAmmoCheck:\n\tTNT1 A 0 A_JumpIfInventory(\"Perk_Medic\",1,1)\n\tGoto FACheck0\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",6,\"FACheck6\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",5,\"FACheck5\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",4,\"FACheck4\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",3,\"FACheck3\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",2,\"FACheck2\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",1,\"FACheck1\")\n\tGoto FACheck0\nFACheck0:\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",35,\"ToReady\")\n\tGoto ToReload+2\nFACheck1:\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",38,\"ToReady\")\n\tGoto ToReload+2\nFACheck2:\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",44,\"ToReady\")\n\tGoto ToReload+2\nFACheck3:\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",51,\"ToReady\")\n\tGoto ToReload+2\nFACheck4:\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",57,\"ToReady\")\n\tGoto ToReload+2\nFACheck5:\nFACheck6:\n\tTNT1 A 0 A_JumpIfInventory(\"MP5Primary\",64,\"ToReady\")\n\tGoto ToReload+2\n   }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/m7a3.txt",
        "contents": "ACTOR M7A3HealingDart : FastProjectile\n{\n  Radius 4\n  Height 8\n  Speed 200\n  Damage 0\n  +RANDOMIZE\n  +BLOODLESSIMPACT\n  +PIERCEARMOR\n  RenderStyle Add\n  Alpha 0.75\n  SeeSound \"dart/fly\"\n  Obituary \"%o was healed by %k.\" // \"%o was melted by %k's plasma gun.\"\n  States\n  {\n  Spawn:\n    MLPJ A 1\n    Loop\n  Death:\n\tTNT1 A 0 A_StopSound\n    PLSE A 0 A_SpawnItemEx(\"PuffSpark\",1,1,1,0,0,0,0,SXF_CLIENTSIDE | SXF_NOCHECKPOSITION,0)\n\tTNT1 A 0 A_Jump(128,2)\n\tTNT1 A 0 A_PlaySoundEx(\"bullet/ricochet\",CHAN_WEAPON)\n\tSMK1 BCDEFGHIJKLMNO 1 BRIGHT\n\tstop\n  XDeath:\n\tTNT1 A 0 A_StopSound\n\tPLSE A 0 A_PlaySoundEx(\"dart/impact\",\"Body\")\n    PLSE A 0 A_SpawnItemEx(\"HealingExplode\",0,0,0)\n\tStop\n  }\n}\n\nACTOR M7A3Primary : Ammo\n{\n  Inventory.PickupMessage \"You got M7A3 ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 30\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 30\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR M7A3Secondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up an M7A3 magazine.\" // \"Picked up a clip.\"\n  Inventory.Amount 15\n  Inventory.MaxAmount 300\n  Ammo.BackpackAmount 15\n  Ammo.BackpackMaxAmount 300\n  Inventory.Icon \"CLIPA0\"\n  Inventory.PickupSound \"mp7/magazine\"\n  States\n  {\n  Spawn:\n    PMAG B -1\n    Stop\n  }\n}\n\nACTOR \"M7A3 Medic Gun\" : Weapon\n{\n   Weapon.AmmoUse 0\n   Weapon.AmmoGive2 30\n   Weapon.AmmoType2 \"M7A3Secondary\"\n   Weapon.AmmoType \"M7A3Primary\"\n   Inventory.PickupMessage \"You got the M7A3. Go heal someone!\" // \"You got the chaingun\"\n   Inventory.PickupSound \"m7a3/pickup\"\n   Obituary \"%o met %k's M7A3.\" // \"%o was mowed down by %k's chaingun.\"\n   Tag \"M7A3 Medic Gun\"\n   +WEAPON.NOALERT\n   +WEAPON.NOAUTOFIRE\n   Scale 0.2\n   States\n   {\n   Ready:\n\t M4DI A 0 A_PlaySoundEx(\"m7a3/select\",\"SoundSlot6\")\n\t 7ASS ABCDEFGH 2\n\t TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t TNT1 A 0 A_JumpIfInventory(\"DoAltFire\",1,\"FireSecondary\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n     7AID A 1 A_WeaponReady\n     Goto Ready+9\n   IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t M5TR CBA 1\n\t Goto SelfHeal+5\n   SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t 7ASS HGFEDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t 7ASS HGFEDCBA 1\n\t Goto ActualGrenade\n   IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t 7ATR CBA 1\n\t Goto GrenadeThrow+1\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n    GrenadeToReady:\n\t 7ASS A 0 A_PlaySoundEx(\"m7a3/select\",\"SoundSlot6\")\n\t 7ASS ABCDEFGH 1\n\t Goto Ready+9\n   ReadyIS:\n\t TNT1 A 0 A_JumpIfInventory(\"DoAltFire\",1,\"FireSecondary\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\t 7AID B 1 A_WeaponReady(1)\n\t Goto Ready+9\n   ToReady:\n    NULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+9\n\tTNT1 AAA 0\n\t// MCGN A 0 A_PlaySound(\"DRYFIRE\")\n\tTNT1 A 0 A_GiveInventory(\"HoldFixer\",1)\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tNULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+9\n   ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_JumpIfInventory(\"FullyLoaded\",1,\"ToReady\")\n    TNT1 A 0 A_JumpIfInventory(\"M7A3Secondary\",1,\"Reload\")\n\tGoto ToReady+2\n   Deselect:\n\tKSGS A 0 A_TakeInventory(\"IronSights\",1)\n\tKSGS A 0 A_TakeInventory(\"IsReloading\",1)\n\tKSGS A 0 A_ZoomFactor(1.0)\n\tCHGG B 0 A_StopSoundEx(\"Weapon\")\n\t 7ASS HGFEDCBA 1\n\t MPPD F 0 A_TakeInventory(\"MedicGun\",1)\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+12\n   Reload:\n     M4RL A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ActualReload\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t 7ATR CBA 1\n\t Goto ActualReload\n   ActualReload:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t 7ARL ABCD 2\n\t 7ARL F 0 A_PlaySoundEx(\"m7a3/magout\",\"SoundSlot6\")\n\t 7ARL EFGHIJKLMNOPQR 2\n\t 7ARL S 0 A_PlaySoundEx(\"m7a3/magin\",\"SoundSlot6\")\n\t 7ARL STU 2\n\t 7ARL V 0 A_PlaySoundEx(\"m7a3/magtap\",\"SoundSlot6\")\n\t 7ARL VWXYZ 2\n\t 7ARM ABC 2\n\t 7ARM D 0 A_PlaySoundEx(\"m7a3/boltback\",\"SoundSlot6\")\n\t 7ARM DE 2\n\t 7ARM G 0 A_PlaySoundEx(\"m7a3/boltfwd\",\"SoundSlot6\")\n\t 7ARM FGHIJKLMNO 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_GiveInventory(\"HoldFixer\",1)\n\t CHGG B 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG B 0 A_StopSoundEx(\"Weapon\")\n\t Goto CalcAmmo\n   Select:\n\t TNT1 A 0 A_GiveInventory(\"MedicGun\",1)\n     TNT1 A 0 A_Raise\n     Wait\n   Fire:\n\t CHGG A 0 A_JumpIfInventory(\"M7A3Primary\",1,1)\n\t Goto ToReady\n\t CHGG A 0 A_TakeInventory(\"HoldFixer\",1)\n\t CHGG A 0 // A_Print(\"Fire State\")\n\t CHGG A 0 A_AlertMonsters\n\t Goto Hold\n   FireSecondary:\n     CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n     MP7M A 0 A_JumpIfInventory(\"MedicCharge\",50,1)\n\t Goto ToReady\n\t CHGG A 0 A_GunFlash\n\t CHGG A 0 A_TakeInventory(\"MedicCharge\",50)\n\t MISG B 0 A_PlaySoundEx(\"dart/fire\",CHAN_WEAPON)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t CHGG A 0 A_JumpIfInventory(\"IronSights\",1,\"FireSecondaryIS\")\n\t MISG B 0 A_FireCustomMissile(\"MP5HealingDart\")\n\t REP4 B 0 bright ACS_ExecuteAlways (650, 0, 70) // actually does the healing, taken from AOW2\n\t 7AFI ABCDEFGH 2\n\t Goto ToReady\n   FireSecondaryIS:\n     M4II B 0 A_FireCustomMissile(\"MP5HealingDart\",0,1,0,6)\n\t REP4 B 0 bright ACS_ExecuteAlways (650, 0, 70) // actually does the healing, taken from AOW2\n\t 7AFJ ABCDEFGH 2\n\t Goto ToReady\n   Hold:\n     M4FI A 0 A_JumpIfInventory(\"HoldFixer\",1,\"Fire\")\n     M4FI A 0 A_JumpIfInventory(\"IronSights\",1,\"HoldIS\")\n\t M4FI A 0 A_JumpIfInventory(\"M7A3Primary\",1,1)\n\t Goto ToReload\n\t CHGG A 0 A_TakeInventory(\"M7A3Primary\",1)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_GiveInventory(\"PlayTail\",1)\n     7AFI A 0 A_FireBullets(2.6, 1.0, 1, 9, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-1)\n\t BPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\t CHGG A 0 A_TakeInventory(\"FullyLoaded\",1)\n\t BPSS A 0 A_PlaySoundEx(\"m7a3/fire\",\"Weapon\")\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t 7AFI A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.35)\n\t 7AFI BCDE 1\n     CHGG B 0 A_ReFire\n\t 7AFI FGH 2 A_WeaponReady(1)\n\t CHGG B 0 // Stopsound\n     Goto Ready+9\n   HoldIS:\n     M4FI A 0 A_JumpIfInventory(\"M7A3Primary\",1,1)\n\t Goto ToReload\n\t CHGG A 0 A_TakeInventory(\"M7A3Primary\",1)\n\t CHGG A 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG A 0 A_GiveInventory(\"PlayTail\",1)\n     M4FI A 0 A_FireBullets(0.5, 0.0, 1, 9, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-1)\n\t BPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\t CHGG A 0 A_TakeInventory(\"FullyLoaded\",1)\n\t BPSS A 0 A_PlaySoundEx(\"m7a3/fire\",\"Weapon\")\n\t BPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t 7AFJ A 1 bright\n\t BPSS A 0 A_SetPitch(pitch+0.35)\n\t 7AFJ BCDE 1\n     CHGG B 0 A_ReFire\n\t 7AFJ FGH 2 A_WeaponReady(1)\n\t CHGG B 0 // Stopsound\n     Goto ReadyIS\n   AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\t7ATR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t7ATR CBA 1\n\tGoto Ready+9\n   Spawn:\n     7AID C -1\n     Stop\n\nCalcAmmo:\n\tTNT1 A 0 A_JumpIfInventory(\"Perk_Medic\",1,1)\n\tGoto CalcAmmo0\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",6,\"CalcAmmo6\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",5,\"CalcAmmo5\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",4,\"CalcAmmo4\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",3,\"CalcAmmo3\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",2,\"CalcAmmo2\")\n\tTNT1 A 0 A_JumpIfInventory(\"PerkLevel\",1,\"CalcAmmo1\")\n\tGoto CalcAmmo0\n\nCalcAmmo0:\n     \tTNT1 A 0 A_JumpIfInventory(\"M7A3Secondary\",1,2)\n\tGoto Ready+9\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"M7A3Primary\",16,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"M7A3Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"M7A3Primary\",1)\n\tLoop\n\nCalcAmmo1:\n     \tTNT1 A 0 A_JumpIfInventory(\"M7A3Secondary\",1,2)\n\tGoto Ready+9\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"M7A3Primary\",18,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"M7A3Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"M7A3Primary\",1)\n\tLoop\n\nCalcAmmo2:\n     \tTNT1 A 0 A_JumpIfInventory(\"M7A3Secondary\",1,2)\n\tGoto Ready+9\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"M7A3Primary\",21,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"M7A3Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"M7A3Primary\",1)\n\tLoop\n\nCalcAmmo3:\n     \tTNT1 A 0 A_JumpIfInventory(\"M7A3Secondary\",1,2)\n\tGoto Ready+9\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"M7A3Primary\",24,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"M7A3Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"M7A3Primary\",1)\n\tLoop\n\nCalcAmmo4:\n     \tTNT1 A 0 A_JumpIfInventory(\"M7A3Secondary\",1,2)\n\tGoto Ready+9\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"M7A3Primary\",27,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"M7A3Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"M7A3Primary\",1)\n\tLoop\n\nCalcAmmo5:\nCalcAmmo6:\n     \tTNT1 A 0 A_JumpIfInventory(\"M7A3Secondary\",1,2)\n\tGoto Ready+9\n\tTNT1 AAA 0\n\tTNT1 A 0 A_JumpIfInventory(\"M7A3Primary\",30,\"FullLoad\")\n\tTNT1 A 0 A_TakeInventory(\"M7A3Secondary\",1)\n\tTNT1 A 0 A_GiveInventory(\"M7A3Primary\",1)\n\tLoop\n\nFullLoad:\n\tTNT1 A 0 A_GiveInventory(\"FullyLoaded\",1)\n\tGoto Ready+9\n   }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/pipebomb.txt",
        "contents": "ACTOR CustomPB : CustomInventory\n{\n  Inventory.PickupMessage \"You picked up a pipe bomb. Blow something up!\"\n  Inventory.PickupSound \"grenade/bounce\"\n  Scale 0.1\n  States\n  {\n  Spawn:\n  PBID A -1\n  stop\n  Pickup:\n  TNT1 A 0\n  TNT1 A 0 A_JumpIfInventory(\"Pipe Bomb\",1,\"AmmoCheck\")\n  TNT1 A 0 A_GiveInventory(\"Pipe Bomb\",1)\n  stop\n  AmmoCheck:\n  TNT1 A 0 A_JumpIfInventory(\"PBPrimary\",2,\"Failure\")\n  TNT1 A 0 A_JumpIfInventory(\"Perk_Demo\",1,\"GiveExtra\")\n  TNT1 A 0 A_GiveInventory(\"PBPrimary\",1)\n  stop\n  Failure:\n  TNT1 A 0 A_JumpIfInventory(\"Perk_Demo\",1,\"GiveExtra\")\n  fail\n  RealFailure:\n  TNT1 A 0\n  fail\n  GiveExtra:\n  TNT1 A 0 A_JumpIfInventory(\"PerkLevel\",6,\"Check6\")\n  TNT1 A 0 A_JumpIfInventory(\"PerkLevel\",5,\"Check5\")\n  TNT1 A 0 A_JumpIfInventory(\"PerkLevel\",4,\"Check4\")\n  TNT1 A 0 A_JumpIfInventory(\"PerkLevel\",3,\"Check3\")\n  TNT1 A 0 A_JumpIfInventory(\"PerkLevel\",2,\"Check2\")\n  TNT1 A 0 A_JumpIfInventory(\"PerkLevel\",1,\"Check1\")\n  Goto RealFailure\n  Check1:\n  TNT1 A 0 A_JumpIfInventory(\"PBPrimary\",3,\"RealFailure\")\n  Goto GivingExtra\n  Check2:\n  TNT1 A 0 A_JumpIfInventory(\"PBPrimary\",4,\"RealFailure\")\n  Goto GivingExtra\n  Check3:\n  TNT1 A 0 A_JumpIfInventory(\"PBPrimary\",5,\"RealFailure\")\n  Goto GivingExtra\n  Check4:\n  TNT1 A 0 A_JumpIfInventory(\"PBPrimary\",6,\"RealFailure\")\n  Goto GivingExtra\n  Check5:\n  TNT1 A 0 A_JumpIfInventory(\"PBPrimary\",7,\"RealFailure\")\n  Goto GivingExtra\n  Check6:\n  TNT1 A 0 A_JumpIfInventory(\"PBPrimary\",8,\"RealFailure\")\n  Goto GivingExtra\n  GivingExtra:\n  TNT1 A 0 A_GiveInventory(\"PBPrimary\",1)\n  stop\n  }\n}\n\nActor ThrownPB\n{\n  Radius 15\n  Height 10\n  Damage (0)\n  Speed 20\n  Scale 0.1\n  Obituary \"%o got too close to %k's pipe bomb.\"\n  Projectile\n  +CanBounceWater\n  +BounceOnActors\n  -NoGravity\n  +HexenBounce\n  +ThruGhost\n  +NoTarget\n  -SlidesOnWalls\n  BounceFactor 0.0\n  States\n  {\n  Spawn:\n    PBID A 1 A_CheckFloor(\"Planted\")\n    Loop\n  Planted:\n    PBID A 1 A_PlaySound(\"grenade/bounce\")\n    PROX A 0 A_CustomMissile(\"PlantedPB\", 0, 0, 0, 4)\n    Stop\n  Death:\n    TNT1 A 0 //A_Explode(600,170)\n\tTNT1 A 0 A_StopSound\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 Radius_Quake(2,12,0,8,0)\n    TNT1 A 0 A_SpawnItemEx(\"LAWExplosion\")\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 A 20\n    stop\n  }\n}\n\nActor PlantedPB\n{\n  Radius 24\n  Height 32\n  Damage (0)\n  Speed 0\n  Scale 0.1\n  Obituary \"%o got too close to %k's pipe bomb.\"\n  Projectile\n  +CanBounceWater\n  +MoveWithSector\n  -NoGravity\n  +HexenBounce\n  +ThruGhost\n  +NoTarget\n  -SlidesOnWalls\n  States\n  {\n  Spawn:\n    PROX A 0\n    PROX A 0 A_Stop\n\tPBID A 48\n\tPBID A 0 A_PlaySound(\"pipe/beep\")\n\tPBID C 2\n    PROX A 0 A_JumpIfInTargetInventory(\"IsAlive\", 1, 1) //Destroys if the player is dead,\n    Goto Death\t\t\t\t//this is used to avoid ownership issues on respawn.\n    PROX A 0\n    Goto Spawn+2\n  Death:\n    PBID AAA 4 A_PlaySound(\"pipe/beep\")\n\tPBID A 4\n    TNT1 A 0 //A_Explode(600,170)\n\tTNT1 A 0 A_StopSound\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 Radius_Quake(2,12,0,8,0)\n    TNT1 A 0 A_SpawnItemEx(\"LAWExplosion\")\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 A 20\n    stop\n  }\n}\n\nActor Planted : Inventory { }\n\nActor DetonateProx : Inventory { }\n\nActor IsAlive : Inventory { }\n\nACTOR PBPrimary : Ammo\n{\n  Inventory.PickupMessage \"You got a pipe bomb.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 8\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 8\n  Inventory.Icon \"WPICD0\"\n}\n\nACTOR \"Pipe Bomb\" : Weapon\n{\n  Weapon.AmmoUse 0\n  Weapon.AmmoGive 1\n  Scale 0.1\n  Weapon.AmmoType \"PBPrimary\"\n  +WEAPON.NOAUTOFIRE\n  +WEAPON.NOALERT\n  Inventory.PickupMessage \"You picked up a pipe bomb. Blow something up!\"\n  Inventory.PickupSound \"grenade/bounce\"\n  Tag \"Pipe Bomb\"\n  States\n  {\n  Ready:\n    M7SS A 0 A_PlaySoundEx(\"pipe/select\",\"SoundSlot6\")\n\tPBSS ABCDEFGHIJK 2\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    PBFI A 1 A_WeaponReady\n    Goto Ready+12\n\n  SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t LWSS SRQPONMLKJIHGFEDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n\t LWSS A 0 A_PlaySoundEx(\"law/select\",\"SoundSlot6\")\n\t PBPD ABCD 1\n\t Goto ActualGrenade\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n\tGrenadeToReady:\n\t M7SS A 0 A_PlaySoundEx(\"m79/select\",\"SoundSlot6\")\n\t PBSS ABCDEFGHIJK 1\n\t Goto Ready+12\n\n  Deselect:\n\t KSGS A 0 A_TakeInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n     PBPD ABCD 1\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+6\n  Select:\n\t TNT1 A 0 A_GiveInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n     TNT1 A 0 A_Raise\n     Wait\n  ToReady:\n    NULL A 0\n\tGoto ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tNULL A 0\n\tGoto ready+12\n  Fire:\n    MISG B 0 A_JumpIfInventory(\"PBPrimary\",1,1)\n\tGoto AmmoCheck\n\tPBFI ABCDE 2\n\tMISG B 0 A_TakeInventory(\"PBPrimary\",1)\n\tMISG B 0 A_PlaySoundEx(\"pipe/switch\",\"SoundSlot6\")\n\tPBFI FGHIJKLMNOP 2\n\tMISG B 0 A_PlaySoundEx(\"pipe/toss\",\"Weapon\")\n\tPBFI A 0 A_FireCustomMissile(\"ThrownPB\")\n\tPBFI PQRS 2\n\tGoto AmmoCheck\n  AmmoCheck:\n\tTNT1 A 0 A_JumpIfInventory(\"PBPrimary\",1,\"Ready\")\n\tTNT1 A 0 A_TakeInventory(\"IsExplosive\",1)\n\tTNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n\tTNT1 A 0 A_TakeInventory(\"Pipe Bomb\",1)\n\tTNT1 A 0 A_SelectWeapon(\"Knife\")\n\tStop\n  Spawn:\n    PBID A -1\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/law.txt",
        "contents": "actor LAWArmed : Inventory\n{\nInventory.MaxAmount 1\n}\n\nactor LAWRocket\n{\n  obituary \"%o got decimated by %k's LAW.\"\n  radius 5\n  height 5\n  speed 60\n  damage (45)\n  PROJECTILE\n  +NOGRAVITY\n  +RANDOMIZE\n  -NOEXTREMEDEATH\n  +FORCERADIUSDMG\n  +CANBOUNCEWATER\n  -NOTELEPORT\n  -TELESTOMP\n  SeeSound \"law/propel\"\n  states\n  {\n  Spawn:\n    MISL AAA 1 A_SpawnItemEx(\"LargeSmokePuff\", -10, 0, 0, 0, 0, 0, 0, 128, 0)\n    G69X A 0 A_GiveInventory(\"LAWArmed\",1)\n    Loop\n  XDeath:\n    TNT1 A 0\n    // TNT1 A 0 A_GiveToTarget(\"HitIndicator\",1)\n  Death:\n    TNT1 A 0 A_JumpIfInventory(\"LAWArmed\",1,\"DeathArmed\")\n\tTNT1 A 0 A_StopSound\n    TNT1 A 20 A_SpawnItemEx(\"LAWRocketUnarmedDrop\",0,0,0,-2,0,2,random(-8,8),0,0)\n    stop\n  DeathArmed:\n    TNT1 A 0 //A_Explode(600,170)\n\tTNT1 A 0 A_StopSound\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 Radius_Quake(2,12,0,8,0)\n    TNT1 A 0 A_SpawnItemEx(\"LAWExplosion\")\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 A 20\n    stop\n  }\n}\n\nACTOR LargeSmokePuff : FlightSmokePuff\n{\nScale 2.0\n}\n\nactor LAWRocketUnarmedDrop\n{\n  Speed 1\n  Height 1\n  Radius 0\n  gravity 0.5\n  bouncefactor 0.5\n  bouncecount 3\n  +DOOMBOUNCE\n  +MISSILE\n  //SeeSound \"misc/shell\"\n  //DeathSound \"misc/shell\"\n  States\n  {\n  Spawn:\n    G69X A 0\n    MISL AAAAA 5 A_SpawnItemEx(\"FlightSmokePuff\", 0, 0, 0, 0, 0, 0, 0, 128, 0)\n    MISL A -1\n    Loop\n  Death:\n    MISL A 1050\n    Stop\n  }\n}\n\nACTOR LAWPrimary : Ammo\n{\n  Inventory.PickupMessage \"You got M79 ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 1\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 1\n  Inventory.Icon \"WPICD0\"\n}\n\nACTOR LAWSecondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up a LAW rocket.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 10\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 10\n  Inventory.Icon \"CLIPA0\"\n  Inventory.PickupSound \"m79/magazine\"\n  States\n  {\n  Spawn:\n    M79R A -1\n    Stop\n  }\n}\n\nACTOR \"L.A.W.\" : Weapon\n{\n  Weapon.AmmoUse 0\n  Weapon.AmmoGive2 2\n  Scale 0.25\n  Weapon.AmmoType \"LAWPrimary\"\n  Weapon.AmmoType2 \"LAWSecondary\"\n  +WEAPON.NOAUTOFIRE\n  +WEAPON.NOALERT\n  Inventory.PickupMessage \"You picked up the LAW. Oh fuck yes.\"\n  Inventory.PickupSound \"law/pickup\"\n  Tag \"M79 Grenade Launcher\"\n  States\n  {\n  Ready:\n    M7SS A 0 A_PlaySoundEx(\"law/select\",\"SoundSlot6\")\n\tLWSS ABCDEFGHIJK 2\n\tLWSS LMNOPQRS 2 A_WeaponReady(1)\n\tM7ID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    LWID A 1 A_WeaponReady\n    Goto Ready+20\n\n  IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t LWTR KIGECA 1\n\t Goto SelfHeal+5\n\n  SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t LWSS SRQPONMLKJIHGFEDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t LWSS A 0 A_PlaySoundEx(\"law/select\",\"SoundSlot6\")\n\t LWSS SRQPONMLKJIHGFEDCBA 2\n\t Goto ActualGrenade\n   IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t LWTR KIGECA 1\n\t Goto GrenadeThrow+1\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n\tGrenadeToReady:\n\t M7SS A 0 A_PlaySoundEx(\"m79/select\",\"SoundSlot6\")\n\t LWSS ABCDEFGHIJKLMNOPQRS 1\n\t Goto Ready+20\n\n  ReadyIS:\n    BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    LWID B 1 A_WeaponReady(1)\n\tGoto ready+20\n  AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tLWTR ABCDEF 2\n\tLWTR GHIJK 2 A_WeaponReady(1)\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tLWTR KJIHGFEDCBA 2\n\tGoto ready+20\n  Deselect:\n\t KSGS A 0 A_TakeInventory(\"IronSights\",1)\n\t KSGS A 0 A_ZoomFactor(1.0)\n\t KSGS A 0 A_TakeInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n     LWSS SQOMKIGECA 2\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+23\n  Select:\n\t TNT1 A 0 A_GiveInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n     TNT1 A 0 A_Raise\n     Wait\n  ToReady:\n    NULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto ready+20\n\tTNT1 AAA 0\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tNULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto ready+20\n  Fire:\n    MISG B 0 A_JumpIfInventory(\"LAWPrimary\",1,1)\n\tGoto ReloadCheck\n    MISG B 0 A_JumpIfInventory(\"IronSights\",1,1)\n\tGoto ToReady\n    MISG B 0 A_FireCustomMissile(\"LAWRocket\")\n\tMISG B 0 A_PlaySoundEx(\"law/fire\",CHAN_WEAPON)\n\tMISG B 0 A_TakeInventory(\"LAWPrimary\",1)\n\tMISG B 0 A_AlertMonsters\n\n\tBPSS A 0 A_SetPitch(pitch-7)\n\tBPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\n\tLWFI A 2 bright\n\tM7FR A 0 A_SetPitch(pitch+4)\n\tLWFI BCDE 2\n\tLWFI E 0 A_TakeInventory(\"IronSights\",1)\n\tLWFI E 0 A_ZoomFactor(1.0)\n\tLWFI FGH 2\n\tGoto FireReload\n  ReloadCheck:\n    TNT1 A 0 A_JumpIfInventory(\"LAWPrimary\",1,\"ToReady\")\n\tTNT1 A 0 A_JumpIfInventory(\"LAWSecondary\",1,1)\n\tGoto ToReady\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\tGoto FireReload\n  IronToReload:\n    M7FI A 0 A_JumpIfInventory(\"LAWSecondary\",1,1)\n\tGoto ToReady\n    M7FI A 0 A_TakeInventory(\"IronSights\",1)\n\tM7FI A 0 A_ZoomFactor(1.0)\n\t9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n    M7TR CBA 1\n\tGoto FireReload\n  FireReload:\n    M7FR A 0 A_JumpIfInventory(\"LAWSecondary\",1,1)\n\tGoto ToReady\n\tLWFI IJKLMNOPQRSTU 2\n\tLWFI W 0 A_PlaySoundEx(\"law/open\",\"SoundSlot6\")\n\tLWFI VWXYZ 2\n\tLWFJ ABCDEFGHIJK 2\n\tLWFJ J 0 A_PlaySoundEx(\"law/insert\",\"SoundSlot6\")\n\tLWFJ LMNOPQRSTUVW 2\n\tLWFJ Y 0 A_PlaySoundEx(\"law/close\",\"SoundSlot6\")\n\tLWFJ XYZ 2\n\tLWFK ABC 2\n\tLWFI I 0 A_PlaySoundEx(\"law/cloth\",\"SoundSlot6\")\n\tLWFK DEFGHIJKL 2\n\tM7FS A 0 A_TakeInventory(\"LAWSecondary\",1)\n\tM7FS A 0 A_GiveInventory(\"LAWPrimary\",1)\n\tM7FS U 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\tLWFK MNOPQRST 2 A_WeaponReady(1)\n    Goto ready+20\n  Spawn:\n    LWID C -1\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/cheetah.txt",
        "contents": "ACTOR CheetahPrimary : Ammo\n{\n  Inventory.PickupMessage \"You got M79 ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 1\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 1\n  Inventory.Icon \"WPICC0\"\n}\n\nACTOR CheetahSecondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up an M79 Grenade.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 24\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 24\n  Inventory.Icon \"CLIPA0\"\n  Inventory.PickupSound \"m79/magazine\"\n  States\n  {\n  Spawn:\n    M79R A -1\n    Stop\n  }\n}\n\nACTOR \"Buzzsaw Bow\" : Weapon\n{\n  Weapon.AmmoUse 0\n  Weapon.AmmoGive2 4\n  Scale 0.2\n  Weapon.AmmoType \"CheetahPrimary\"\n  Weapon.AmmoType2 \"CheetahSecondary\"\n  +WEAPON.NOAUTOFIRE\n  +WEAPON.NOALERT\n  Inventory.PickupMessage \"You got the Buzzsaw Bow.\"\n  Inventory.PickupSound \"m79/pickup\"\n  Tag \"Buzzsaw Bow\"\n  States\n  {\n  Ready:\n\tM7SS A 0 A_JumpIfInventory(\"CheetahPrimary\",1,1)\n\tGoto ReadyEmpty\n    M7SS A 0 A_PlaySoundEx(\"cheetah/idle\",\"Weapon\",1)\n\tCHSS ABCDEFGHI 2\n\tGoto Idling\n  ReadyEmpty:\n\tCHSE DCBA 1\n\tGoto Idling\n  Idling:\n\tM7ID A 0 A_JumpIfInventory(\"CheetahPrimary\",1,1)\n\tGoto IdlingEmpty\n\tM7ID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    CHID AB 1 A_WeaponReady\n\tM7ID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    CHID CD 1 A_WeaponReady\n\tM7ID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    CHID EF 1 A_WeaponReady\n\tM7ID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    CHID GH 1 A_WeaponReady\n\tM7ID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    CHID IJ 1 A_WeaponReady\n    Loop\n  IdlingEmpty:\n\tM7ID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    CHFI A 1 A_WeaponReady\n\tGoto Idling\n\n  IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t M7TR CBA 1\n\t Goto SelfHeal+5\n\n  SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t M7PD BCD 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t M7PD BCD 1\n\t Goto ActualGrenade\n   IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t CHTR CBA 1\n\t Goto GrenadeThrow+1\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n\tGrenadeToReady:\n\t M7SS A 0\n\t Goto Ready\n\n  ReadyIS:\n    BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    CHIE AB 1 A_WeaponReady(1)\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\tCHIE CD 1 A_WeaponReady(1)\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\tCHIE EF 1 A_WeaponReady(1)\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\tCHIE GH 1 A_WeaponReady(1)\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n\tCHIE IJ 1 A_WeaponReady(1)\n\tGoto Idling\n  AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"CheetahPrimary\",1,1)\n\tGoto ToReady\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tCHTR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tCHTR CBA 1\n\tGoto Idling\n  ZoomOutEmpty:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tCHTS CBA 1\n\tGoto Idling\n  Deselect:\n\t KSGS A 0 A_StopSoundEx(\"Weapon\")\n\t KSGS A 0 A_JumpIfInventory(\"CheetahPrimary\",1,1)\n\t Goto DeselectEmpty\n\t KSGS A 0 A_TakeInventory(\"IronSights\",1)\n\t KSGS A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n\t CHSS IHGFEDCBA 1\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+14\n  DeselectEmpty:\n\t KSGS A 0 A_TakeInventory(\"IronSights\",1)\n\t KSGS A 0 A_ZoomFactor(1.0)\n\t KSGS A 0 A_StopSoundEx(\"Weapon\")\n\t TNT1 A 0 A_TakeInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n     CHSE ABCD 1\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto DeselectEmpty+9\n  Select:\n\t TNT1 A 0 A_GiveInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n     TNT1 A 0 A_Raise\n     Wait\n  ToReady:\n    NULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Idling\n\tTNT1 AAA 0\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tNULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Idling\n  Fire:\n    MISG B 0 A_JumpIfInventory(\"CheetahPrimary\",1,1)\n\tGoto ReloadCheck\n    MISG B 0 A_JumpIfInventory(\"IronSights\",1,\"FireIron\")\n    MISG B 0 A_FireCustomMissile(\"SawShot\")\n\tMISG B 0 A_PlaySoundEx(\"cheetah/fire\",\"Weapon\")\n\tMISG B 0 A_TakeInventory(\"CheetahPrimary\",1)\n\tMISG B 0 A_AlertMonsters\n\tBPSS A 0 A_SetPitch(pitch-4)\n\tBPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\tCHFI A 2\n\tM7FR A 0 A_SetPitch(pitch+3)\n\tCHFI A 3\n\tGoto FireReload\n  ReloadCheck:\n    TNT1 A 0 A_JumpIfInventory(\"CheetahPrimary\",1,\"ToReady\")\n\tTNT1 A 0 A_JumpIfInventory(\"CheetahSecondary\",1,1)\n\tGoto ToReady\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\tGoto FireReload\n  FireIron:\n    MISG B 0 A_FireCustomMissile(\"SawShot\")\n\tMISG B 0 A_PlaySoundEx(\"cheetah/fire\",\"Weapon\")\n\tMISG B 0 A_TakeInventory(\"CheetahPrimary\",1)\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tMISG B 0 A_AlertMonsters\n\tBPSS A 0 A_SetPitch(pitch-1)\n\tCHFK A 2\n\tBPSS A 0 A_SetPitch(pitch+1)\n\tCHFK A 3\n\tGoto IronToReload\n  IronToReload:\n    M7FI A 0 A_JumpIfInventory(\"CheetahSecondary\",1,1)\n\tGoto ZoomOutEmpty\n    M7FI A 0 A_TakeInventory(\"IronSights\",1)\n\tM7FI A 0 A_ZoomFactor(1.0)\n    CHTS ABC 1\n\tGoto FireReload\n  FireReload:\n    M7FR A 0 A_JumpIfInventory(\"CheetahSecondary\",1,1)\n\tGoto ToReady\n\tCHFI BCDEFGHIJK 2\n\tCHFI J 0 A_PlaySoundEx(\"cheetah/place\",\"SoundSlot6\")\n\tCHFI LMN 2\n\tM7FS A 0 A_TakeInventory(\"CheetahSecondary\",1)\n\tM7FS A 0 A_GiveInventory(\"CheetahPrimary\",1)\n\tCHFI OPQRSTUVWXYZ 2\n\tCHFJ A 2\n\tCHFJ C 0 A_PlaySoundEx(\"cheetah/pull\",\"SoundSlot6\")\n\tCHFJ BCD 2\n\tM7SS A 0 A_PlaySoundEx(\"cheetah/idle\",\"Weapon\",1)\n\tCHFJ EFGH 2\n\tM7FS U 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\tCHFJ IJK 2 A_WeaponReady(1)\n    Goto Idling\n  Spawn:\n    CHPU A -1\n    Stop\n  }\n}\n\nACTOR SawShot\n{\n   Radius 4\n   Height 8\n   Speed 50\n   Scale 0.1\n   Damage 40\n   +NOGRAVITY\n   +DROPOFF\n   +MISSILE\n   +ACTIVATEIMPACT\n   +ACTIVATEPCROSS\n   +SEEKERMISSILE\n   +RIPPER\n   +EXTREMEDEATH\n   +NOEXPLODEFLOOR\n   +NOBOSSRIP\n   +THRUGHOST\n//   +BOUNCEONWALLS\n   BounceCount 5\n//   BounceFactor 0\n//   WallBounceFactor 0.9\n\t+DOOMBOUNCE\n   WallBounceFactor 1.0\n   BounceFactor 1.0\n   ExplosionDamage 4\n   ExplosionRadius 8\n//   BounceType \"Doom\"\n   SeeSound \"sawblade/bounce\"\n   DeathSound \"sawblade/bounce\"\n   States\n   {\n   Spawn:\n\t  CHBL A 0\n\t  CHBL A 0 A_StopSound\n\t  CHBL A 0 A_PlaySoundEx(\"sawblade/fly\",\"Weapon\",1)\n      CHBL A 1 bright A_SpawnItemEx(\"CheetahSmokePuff\", -10, 0, 0, 0, 0, 0, 0, 128, 0)\n\t  SAWS A 0 A_Explode(5,3,0,0)\n      Goto Spawn+3\n//   Crash:\n//      SAWE A 1 A_ChangeFlag(\"RIPPER\",0)\n   Death:\n\t  SAWS A 0 A_StopSoundEx(\"Weapon\")\n      SAWS A 0 A_Gravity\n\t  SAWS A 0 A_SpawnItemEx(\"SawBladePickup\",0,0,-10)\n      Stop\n   }\n}\n\nactor CheetahSmokePuff\n{\n  RenderStyle Add\n  alpha 0.5\n  -RANDOMIZE\n  +NOCLIP\n  PROJECTILE\n  Speed 0\n  Damage 0\n  Scale 0.5\n  +CLIENTSIDEONLY\n  +NOINTERACTION\n  +FORCEXYBILLBOARD\n  states\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 0 A_Jump(256,\"Spawn1\",\"Spawn2\",\"Spawn3\",\"Spawn4\",\"Spawn5\",\"Spawn6\")\n  Spawn1:\n    SMK1 ABCDEFGHIJKLMNOP 1 bright A_FadeOut(0.05)\n    stop\n  Spawn2:\n    SMK2 ABCDEFGHIJKLMNOP 1 bright A_FadeOut(0.05)\n    stop\n  Spawn3:\n    SMK3 ABCDEFGHIJKLMNOP 1 bright A_FadeOut(0.05)\n    stop\n  Spawn4:\n    SMK4 ABCDEFGHIJKLMNOP 1 bright A_FadeOut(0.05)\n    stop\n  Spawn5:\n    SMK5 ABCDEFGHIJKLMNOP 1 bright A_FadeOut(0.05)\n    stop\n  Spawn6:\n    SMK6 ABCDEFGHIJKLMNOP 1 bright A_FadeOut(0.05)\n    stop\n  }\n}\n\nactor SawBladePickup : CustomInventory\n{\n  inventory.pickupmessage \"You found a saw blade.\"\n  +NOGRAVITY\n  Scale 0.1\n  states\n  {\n  Spawn:\n    CHBL B 2000 bright\n\tCHBL BBBBBBBBBB 2 bright A_FadeOut(0.1)\n    stop\n  Pickup:\n    TNT1 A 0 A_GiveInventory (\"CheetahSecondary\")\n    stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/m79.txt",
        "contents": "actor M203Armed : Inventory\n{\nInventory.MaxAmount 1\n}\n\nactor M79Shell\n{\n  obituary \"%k thumped %o with the M79.\"\n  radius 5\n  height 5\n  speed 45\n  damage (45)\n  PROJECTILE\n  -NOGRAVITY\n  +RANDOMIZE\n  -NOEXTREMEDEATH\n  +FORCERADIUSDMG\n  +CANBOUNCEWATER\n  -NOTELEPORT\n  -TELESTOMP\n  +FORCEXYBILLBOARD\n  gravity 0.4\n  bouncefactor 0.5\n  states\n  {\n  Spawn:\n    GRND AAAAA 1 A_SpawnItemEx(\"FlightSmokePuff\", -10, 0, 0, 0, 0, 0, 0, 128, 0)\n    G69X A 0 A_GiveInventory(\"M203Armed\",1)\n    Loop\n  XDeath:\n    TNT1 A 0\n    // TNT1 A 0 A_GiveToTarget(\"HitIndicator\",1)\n  Death:\n    TNT1 A 0 A_JumpIfInventory(\"M203Armed\",1,\"DeathArmed\")\n    TNT1 A 20 A_SpawnItemEx(\"M79ShellUnarmedDrop\",0,0,0,-2,0,2,random(-8,8),0,0)\n    stop\n  DeathArmed:\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 Radius_Quake(2,12,0,8,0)\n\n    TNT1 A 0 A_SpawnItemEx(\"ExplosionMain2\")\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 A 20\n    stop\n  }\n}\n\nactor WeakM79Shell : M79Shell\n{\n\tDamage 10\n\tStates\n\t{\n\tDeathArmed:\n    TNT1 A 0\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 Radius_Quake(2,12,0,8,0)\n    TNT1 AA 0 A_Explode(5,170)\n    TNT1 AA 0 A_Explode(5,300)\n    TNT1 A 0 A_SpawnItemEx(\"ExplosionMain2\")\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"ImpactSpark2\", random(-32,32), random(-32,32), random(-32,32), random(-5,5), random(-5,5), random(-1,5), 0, 128, 0)\n    TNT1 A 20\n    stop\n\t}\n}\n\nactor M79ShellUnarmedDrop\n{\n  Speed 1\n  Height 1\n  Radius 0\n  gravity 0.5\n  bouncefactor 0.5\n  bouncecount 3\n  +DOOMBOUNCE\n  +MISSILE\n  +FORCEXYBILLBOARD\n  //SeeSound \"misc/shell\"\n  //DeathSound \"misc/shell\"\n  States\n  {\n  Spawn:\n    G69X A 0\n    GRND AAAAA 5 A_SpawnItemEx(\"FlightSmokePuff\", 0, 0, 0, 0, 0, 0, 0, 128, 0)\n    GRND A -1\n    Loop\n  Death:\n    GRND A 1050\n    Stop\n  }\n}\n\nACTOR M79Primary : Ammo\n{\n  Inventory.PickupMessage \"You got M79 ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 1\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 1\n  Inventory.Icon \"WPICC0\"\n}\n\nACTOR M79Secondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up an M79 Grenade.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 24\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 24\n  Inventory.Icon \"CLIPA0\"\n  Inventory.PickupSound \"m79/magazine\"\n  States\n  {\n  Spawn:\n    M79R A -1\n    Stop\n  }\n}\n\nactor FlightSmokePuff\n{\n  RenderStyle Add\n  alpha 0.95\n  -RANDOMIZE\n  +NOCLIP\n  PROJECTILE\n  Speed 0\n  Damage 0\n  Scale 0.5\n  +CLIENTSIDEONLY\n  +NOINTERACTION\n  +FORCEXYBILLBOARD\n  states\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 0 A_Jump(256,\"Spawn1\",\"Spawn2\",\"Spawn3\",\"Spawn4\",\"Spawn5\",\"Spawn6\")\n  Spawn1:\n    SMK1 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)\n    stop\n  Spawn2:\n    SMK2 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)\n    stop\n  Spawn3:\n    SMK3 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)\n    stop\n  Spawn4:\n    SMK4 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)\n    stop\n  Spawn5:\n    SMK5 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)\n    stop\n  Spawn6:\n    SMK6 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)\n    stop\n  }\n}\n\nACTOR \"M79 Grenade Launcher\" : Weapon\n{\n  Weapon.AmmoUse 0\n  Weapon.AmmoGive2 4\n  Scale 0.25\n  Weapon.AmmoType \"M79Primary\"\n  Weapon.AmmoType2 \"M79Secondary\"\n  +WEAPON.NOAUTOFIRE\n  +WEAPON.NOALERT\n  Inventory.PickupMessage \"You got the M79 Grenade Launcher.\"\n  Inventory.PickupSound \"m79/pickup\"\n  Tag \"M79 Grenade Launcher\"\n  States\n  {\n  Ready:\n    M7SS A 0 A_PlaySoundEx(\"m79/select\",\"SoundSlot6\")\n\tM7SS ABCDEFGH 2\n\tM7ID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    M7ID A 1 A_WeaponReady\n    Goto Ready+9\n\n  IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t M7TR CBA 1\n\t Goto SelfHeal+5\n\n  SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t M7PD BCD 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n   GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t M7PD BCD 1\n\t Goto ActualGrenade\n   IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t M7TR CBA 1\n\t Goto GrenadeThrow+1\n   ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n\tGrenadeToReady:\n\t M7SS A 0 A_PlaySoundEx(\"m79/select\",\"SoundSlot6\")\n\t M7SS ABCDEFGH 1\n\t Goto Ready+11\n\n  ReadyIS:\n    BPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    M7ID B 1 A_WeaponReady(1)\n\tGoto Ready+9\n  AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tM7TR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tM7TR CBA 1\n\tGoto Ready+9\n  Deselect:\n\t KSGS A 0 A_TakeInventory(\"IronSights\",1)\n\t KSGS A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n     M7PD BCD 1 A_Lower\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+8\n  Select:\n\t TNT1 A 0 A_GiveInventory(\"IsExplosive\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(813,0,0,0,0)\n     TNT1 A 0 A_Raise\n     Wait\n  ToReady:\n    NULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+9\n\tTNT1 AAA 0\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tNULL A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+9\n  Fire:\n    MISG B 0 A_JumpIfInventory(\"M79Primary\",1,1)\n\tGoto ReloadCheck\n    MISG B 0 A_JumpIfInventory(\"IronSights\",1,\"FireIron\")\n    MISG B 0 A_FireCustomMissile(\"M79Shell\",random(-200,200)/100.00,1,6,6,0,random(-200,200)/100.00)\n\tMISG B 0 A_PlaySoundEx(\"m79/fire\",CHAN_WEAPON)\n\tMISG B 0 A_TakeInventory(\"M79Primary\",1)\n\tMISG B 0 A_AlertMonsters\n\n\tBPSS A 0 A_SetPitch(pitch-4)\n\tBPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\n\tM7FR A 2 bright\n\tM7FR A 0 A_SetPitch(pitch+3)\n\tM7FR BCDE 2\n\tGoto FireReload\n  ReloadCheck:\n    TNT1 A 0 A_JumpIfInventory(\"M79Primary\",1,\"ToReady\")\n\tTNT1 A 0 A_JumpIfInventory(\"M79Secondary\",1,1)\n\tGoto ToReady\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\tGoto FireReload\n  FireIron:\n    MISG B 0 A_FireCustomMissile(\"M79Shell\",0,1,0,6)\n\tMISG B 0 A_PlaySoundEx(\"m79/fire\",CHAN_WEAPON)\n\tMISG B 0 A_TakeInventory(\"M79Primary\",1)\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tMISG B 0 A_AlertMonsters\n\tBPSS A 0 A_SetPitch(pitch-1)\n\tM7FI A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+1)\n\tM7FI BCDE 2\n\tGoto IronToReload\n  IronToReload:\n    M7FI A 0 A_JumpIfInventory(\"M79Secondary\",1,1)\n\tGoto ToReady\n    M7FI A 0 A_TakeInventory(\"IronSights\",1)\n\tM7FI A 0 A_ZoomFactor(1.0)\n\t9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n    M7TR CBA 1\n\tGoto FireReload\n  FireReload:\n    M7FR A 0 A_JumpIfInventory(\"M79Secondary\",1,1)\n\tGoto ToReady\n\tM7FR F 2\n\tM7FR G 0 A_PlaySoundEx(\"m79/twist\",\"SoundSlot6\")\n\tM7FR GHIJKL 2\n\tM7FR N 0 A_PlaySoundEx(\"m79/eject\",\"SoundSlot6\")\n\tM7FR MNOPQRSTUVWXYZ 2\n\tM7FS ABCDEF 2\n\tM7FS G 0 A_PlaySoundEx(\"m79/insert\",\"SoundSlot6\")\n\tM7FS GHIJKLMNO 2\n\tM7FS Q 0 A_PlaySoundEx(\"m79/close\",\"SoundSlot6\")\n\tM7FS PQRST 2\n\tM7FS A 0 A_TakeInventory(\"M79Secondary\",1)\n\tM7FS A 0 A_GiveInventory(\"M79Primary\",1)\n\tM7FS U 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\tM7FS UVWX 2 A_WeaponReady(1)\n    Goto Ready+9\n  Spawn:\n    M7ID C -1\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/dual9mm.txt",
        "contents": "ACTOR Dual9mmPrimary : Ammo\n{\n  Inventory.PickupMessage \"You got 9mm ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 30\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 30\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR Dual9mmSecondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up a mag of 9mm ammo.\" // \"Picked up a clip.\"\n  Inventory.PickupSound \"9mm/magtap\"\n  Inventory.Amount 15\n  Inventory.MaxAmount 210\n  Ammo.BackpackAmount 15\n  Ammo.BackpackMaxAmount 210\n  Inventory.Icon \"CLIPA0\"\n  States\n  {\n  Spawn:\n    PMAG A -1\n    Stop\n  }\n}\n\nACTOR \"Dual 9mm Pistols\" : Weapon\n{\n  Weapon.AmmoUse 0\n  Weapon.AmmoGive2 60\n  Weapon.AmmoType \"Dual9mmPrimary\"\n  Weapon.AmmoType2 \"Dual9mmSecondary\"\n  Obituary \"%o was slowly shot down by %k's dualies.\"\n  +WEAPON.WIMPY_WEAPON\n  +WEAPON.NOAUTOFIRE\n  +WEAPON.NOALERT\n  Inventory.Pickupmessage \"You picked up another 9mm pistol.\"\n  Inventory.PickupSound \"9mm/pickup\"\n  Tag \"9mm Pistol\"\n  Scale 0.1\n  States\n  {\n  Ready:\n    9MSS A 0 A_PlaySoundEx(\"9mm/select\",\"SoundSlot6\")\n\tD9SS ABCDEFGHIJKLM 2\n\t9MID A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\t9MID A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleLight\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    D9ID A 1 A_WeaponReady\n    Goto Ready+14\n  ReadyIS:\n    9MID A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleLight\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    D9ID B 1 A_WeaponReady(1)\n\tGoto Ready+14\n  IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t D9TR FEDCBA 1\n\t Goto SelfHeal+5\n  SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t D9SS MLKJIHGFEDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n  IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t D9TR FEDCBA 1\n\t Goto GrenadeThrow+1\n  GrenadeThrow:\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t D9SS MLKJIHGFEDCBA 1\n\t Goto ActualGrenade\n  ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n  GrenadeToReady:\n     9MSS A 0 A_PlaySoundEx(\"9mm/select\",\"SoundSlot6\")\n\t D9SS ABCDEFGHIJKLM 1\n\t Goto Ready+14\n  ToggleLight:\n    9MID A 0 A_JumpIfInventory(\"HasTorch\",1,\"LightOff\")\n\tGoto LightOn\n  LightOn:\n\t9MID A 0 ACS_ExecuteAlways(802,0,0,0,0)\n\t9MID A 0 A_GiveInventory(\"LightSpawner\",1)\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"LightAnimIS\")\n\tGoto LightAnim\n  LightOff:\n    9MID A 0 ACS_ExecuteAlways(802,0,0,0,0)\n\t9MID A 0 A_TakeInventory(\"LightSpawner\",1)\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"LightAnimIS\")\n\tGoto LightAnim\n  LightAnim:\n\t9MID A 0 A_PlaySoundEx(\"9mm/flashlight\",\"SoundSlot6\")\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tD9LO ABCDEFGHIJKLM 2\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tGoto Ready+14\n  LightAnimIS:\n\t9MID A 0 A_PlaySoundEx(\"9mm/flashlight\",\"SoundSlot6\")\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tD9LP ABCDEFGHIJKLM 2\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tGoto ReadyIS\n  ToReady:\n    TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+14\n\tTNT1 AAA 0\n\tTNT1 A 0 A_PlaySound(\"9mm/dryfire\")\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+14\n  ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_JumpIfInventory(\"Dual9mmPrimary\",30,\"ToReady\")\n    TNT1 A 0 A_JumpIfInventory(\"Dual9mmSecondary\",1,\"Reload\")\n\tGoto ToReady+2\n  AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tD9TR ABCDEF 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tD9TR FEDCBA 1\n\tGoto Ready+14\n  Deselect:\n\t KSGS A 0 A_TakeInventory(\"IronSights\",1)\n\t KSGS A 0 A_ZoomFactor(1.0)\n\t KSGS A 0 A_TakeInventory(\"HasTorch\",1)\n     D9SS MLKJIHGFEDCBA 1\n\t TNT1 A 0 A_TakeInventory(\"UsesLight\",1)\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+16\n  Select:\n\t TNT1 A 0 A_GiveInventory(\"UsesLight\",1)\n     TNT1 A 0 A_Raise\n     Wait\n  Fire:\n    PISG B 0 A_JumpIfInventory(\"Dual9mmPrimary\",1,1)\n\tGoto ToReload\n    PISG B 0 A_JumpIfInventory(\"IronSights\",1,\"FireIS\")\n\tPISG B 0 A_JumpIfInventory(\"FireLeft\",1,\"FireLeft\")\n\tPISG B 0 A_TakeInventory(\"Dual9mmPrimary\",1)\n\tBPSS A 0 A_AlertMonsters\n\tBPSS A 0 A_GiveInventory(\"FireLeft\",1)\n\tPISG B 0 A_PlaySoundEx(\"9mm/fire\",\"Weapon\")\n    PISG B 0 A_FireBullets (1.6, 0.5, 1, 5, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-2)\n\tBPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\tBPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tD9FR A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+1)\n\tD9FR B 2\n    D9FR CDEF 2 A_WeaponReady(1)\n    Goto Ready+14\n  FireLeft:\n    PISG B 0 A_TakeInventory(\"Dual9mmPrimary\",1)\n\tBPSS A 0 A_AlertMonsters\n\tBPSS A 0 A_TakeInventory(\"FireLeft\",1)\n\tPISG B 0 A_PlaySoundEx(\"9mm/fire\",\"Weapon\")\n    PISG B 0 A_FireBullets (1.6, 0.5, 1, 5, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-2)\n\tBPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\tBPSS A 0 A_FireCustomMissile(\"InvertedRifleCaseSpawn\",5,0,-16,-3)\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tD9FL A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+1)\n\tD9FL B 2\n    D9FL CDEF 2 A_WeaponReady(1)\n    Goto Ready+14\n  Reload:\n     TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ReloadAnim\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t D9TR FEDCBA 1\n\t Goto ReloadAnim\n  ReloadAnim:\n     D9RL A 2\n\t D9RL C 0 A_PlaySoundEx(\"9mm/dualreload1\",\"SoundSlot6\")\n\t D9RL BCDEFGHIJKLMNOPQRSTUV 2\n\t D9RL W 0 A_PlaySoundEx(\"9mm/dualreload2\",\"SoundSlot6\")\n\t D9RL WXYZ 2\n\t D9RM ABCDEFGHIJKLMNO 2\n\t D9RM P 0 A_PlaySoundEx(\"9mm/dualreload3\",\"SoundSlot6\")\n\t D9RM PQRST 2\n\t D9RM Y 0 A_PlaySoundEx(\"9mm/dualreload4\",\"SoundSlot6\")\n\t D9RM UVWXYZ 2\n\t D9RN ABC 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t Goto CalcAmmo\n   CalcAmmo:\n     TNT1 A 0 A_JumpIfInventory(\"Dual9mmSecondary\",1,2)\n\t Goto Ready+14\n\t TNT1 AAA 0\n\t TNT1 A 0 A_JumpIfInventory(\"Dual9mmPrimary\",30,\"ToReady\")\n\t TNT1 A 0 A_TakeInventory(\"Dual9mmSecondary\",1)\n\t TNT1 A 0 A_GiveInventory(\"Dual9mmPrimary\",1)\n\t Loop\n  FireIS:\n    PISG B 0 A_JumpIfInventory(\"Dual9mmPrimary\",1,1)\n\tGoto ToReload\n\tPISG B 0 A_JumpIfInventory(\"FireLeft\",1,\"FireLeftIS\")\n\tPISG B 0 A_TakeInventory(\"Dual9mmPrimary\",1)\n\tPISG B 0 A_GiveInventory(\"FireLeft\",1)\n    // PISG B 0 A_StopSoundEx(\"Weapon\")\n\tBPSS A 0 A_AlertMonsters\n\tPISG B 0 A_PlaySoundEx(\"9mm/fire\",\"Weapon\")\n    PISG B 0 A_FireBullets (0.2, 0, 1, 5, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-1)\n\tBPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,5,-3)\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tD9FS A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+1)\n\tD9FS B 2\n    D9FS CDEF 2 A_WeaponReady(1)\n    Goto ReadyIS\n  FireLeftIS:\n    PISG B 0 A_TakeInventory(\"Dual9mmPrimary\",1)\n    // PISG B 0 A_StopSoundEx(\"Weapon\")\n\tBPSS A 0 A_AlertMonsters\n\tBPSS A 0 A_TakeInventory(\"FireLeft\",1)\n\tPISG B 0 A_PlaySoundEx(\"9mm/fire\",\"Weapon\")\n    PISG B 0 A_FireBullets (0.2, 0, 1, 5, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-1)\n\tBPSS A 0 A_FireCustomMissile(\"InvertedRifleCaseSpawn\",5,0,-5,-3)\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tD9FM A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+1)\n\tD9FM B 2\n    D9FM CDEF 2 A_WeaponReady(1)\n    Goto ReadyIS\n  Spawn:\n    D9ID C -1\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/9mm.txt",
        "contents": "ACTOR 9mmPrimary : Ammo\n{\n  Inventory.PickupMessage \"You got 9mm ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 15\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 15\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR 9mmSecondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up a mag of 9mm ammo.\" // \"Picked up a clip.\"\n  Inventory.PickupSound \"9mm/magtap\"\n  Inventory.Amount 15\n  Inventory.MaxAmount 225\n  Ammo.BackpackAmount 15\n  Ammo.BackpackMaxAmount 225\n  Inventory.Icon \"CLIPA0\"\n  States\n  {\n  Spawn:\n    PMAG A -1\n    Stop\n  }\n}\n\nACTOR \"9mm Pistol\" : Weapon\n{\n  Weapon.AmmoUse 0\n  Weapon.AmmoGive2 15\n  Weapon.AmmoType \"9mmPrimary\"\n  Weapon.AmmoType2 \"9mmSecondary\"\n  Obituary \"%o was slowly shot down by %k's 9mm pistol.\"\n  +WEAPON.WIMPY_WEAPON\n  +WEAPON.NOAUTOFIRE\n  +WEAPON.NOALERT\n  +INVENTORY.UNDROPPABLE\n  Inventory.Pickupmessage \"You somehow picked up a single 9mm pistol.\"\n  Inventory.PickupSound \"9mm/pickup\"\n  Tag \"9mm Pistol\"\n  States\n  {\n  Ready:\n    9MSS A 0 A_PlaySoundEx(\"9mm/select\",\"SoundSlot6\")\n\t9MSS ABCDEF 2\n\t9MID A 0 A_JumpIfInventory(\"Dual 9mm Pistols\",1,\"TakePistols\")\n\t9MID A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\t9MID A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleLight\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    9MID A 1 A_WeaponReady\n    Goto Ready+7\n  ReadyIS:\n    9MID A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleLight\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    9MID B 1 A_WeaponReady(1)\n\tGoto Ready+7\n  IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t 9MTR CBA 1\n\t Goto SelfHeal+5\n  SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t 9MSS FEDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n  IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t 9MTR CBA 1\n\t Goto GrenadeThrow+1\n  GrenadeThrow:\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t 9MSS FEDCBA 1\n\t Goto ActualGrenade\n  ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n  GrenadeToReady:\n     9MSS A 0 A_PlaySoundEx(\"9mm/select\",\"SoundSlot6\")\n\t 9MSS ABCDEF 1\n\t Goto Ready+7\n  ToggleLight:\n    9MID A 0 A_JumpIfInventory(\"HasTorch\",1,\"LightOff\")\n\tGoto LightOn\n  LightOn:\n\t9MID A 0 ACS_ExecuteAlways(802,0,0,0,0)\n\t9MID A 0 A_GiveInventory(\"LightSpawner\",1)\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"LightAnimIS\")\n\tGoto LightAnim\n  LightOff:\n    9MID A 0 ACS_ExecuteAlways(802,0,0,0,0)\n\t9MID A 0 A_TakeInventory(\"LightSpawner\",1)\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"LightAnimIS\")\n\tGoto LightAnim\n  LightAnim:\n\t9MID A 0 A_PlaySoundEx(\"9mm/flashlight\",\"SoundSlot6\")\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\t9MLI ABCDEFGHIJ 2\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tGoto Ready+7\n  LightAnimIS:\n\t9MID A 0 A_PlaySoundEx(\"9mm/flashlight\",\"SoundSlot6\")\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\t9MLJ ABCDEFGHIJ 2\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tGoto ReadyIS\n  ToReady:\n    TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+7\n\tTNT1 AAA 0\n\tTNT1 A 0 A_PlaySound(\"9mm/dryfire\")\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+7\n  ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_JumpIfInventory(\"9mmPrimary\",15,\"ToReady\")\n    TNT1 A 0 A_JumpIfInventory(\"9mmSecondary\",1,\"Reload\")\n\tGoto ToReady+2\n  AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\t9MTR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t9MTR CBA 1\n\tGoto Ready+7\n  Deselect:\n\t KSGS A 0 A_TakeInventory(\"IronSights\",1)\n\t KSGS A 0 A_ZoomFactor(1.0)\n\t KSGS A 0 A_TakeInventory(\"HasTorch\",1)\n     9MSS FEDCBA 1 A_Lower\n\t TNT1 A 0 A_TakeInventory(\"UsesLight\",1)\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+8\n  Select:\n\t TNT1 A 0 A_JumpIfInventory(\"Dual 9mm Pistols\",1,\"TakePistols\")\n\t TNT1 A 0 A_GiveInventory(\"UsesLight\",1)\n     TNT1 A 0 A_Raise\n     Wait\n  TakePistols:\n     TNT1 A 0 A_SelectWeapon(\"Dual 9mm Pistols\")\n\t TNT1 A 0 A_TakeInventory(\"9mm Pistol\", 1)\n\t Stop\n  Fire:\n    PISG B 0 A_JumpIfInventory(\"9mmPrimary\",1,1)\n\tGoto ToReload\n    PISG B 0 A_JumpIfInventory(\"IronSights\",1,\"FireIS\")\n\tPISG B 0 A_TakeInventory(\"9mmPrimary\",1)\n\t// PISG B 0 A_StopSoundEx(\"Weapon\")\n\tBPSS A 0 A_AlertMonsters\n\tPISG B 0 A_PlaySoundEx(\"9mm/fire\",\"Weapon\")\n    PISG B 0 A_FireBullets (1.6, 0.5, 1, 5, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-2)\n\tBPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\tBPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,16,-3)\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t9MFI A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+1)\n\t9MFI B 2\n    9MFI CDEF 2 A_WeaponReady(1)\n    Goto Ready+7\n  Reload:\n     TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ReloadAnim\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t 9MTR CBA 1\n\t Goto ReloadAnim\n  ReloadAnim:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t 9MRL ABCD 2\n\t 9MRL E 0 A_PlaySoundEx(\"9mm/magout\",\"SoundSlot6\")\n\t 9MRL EFGHIJKLM 2\n\t 9MRL N 0 A_PlaySoundEx(\"9mm/magin\",\"SoundSlot6\")\n\t 9MRL NOPQ 2\n\t 9MRL R 0 A_PlaySoundEx(\"9mm/magtap\",\"SoundSlot6\")\n\t 9MRL RSTUVW 2\n\t 9MRL Z 0 A_PlaySoundEx(\"9mm/slide\",\"SoundSlot6\")\n\t 9MRL XYZ 2\n\t 9MRM ABCD 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t Goto CalcAmmo\n   CalcAmmo:\n     TNT1 A 0 A_JumpIfInventory(\"9mmSecondary\",1,2)\n\t Goto Ready+7\n\t TNT1 AAA 0\n\t TNT1 A 0 A_JumpIfInventory(\"9mmPrimary\",15,\"ToReady\")\n\t TNT1 A 0 A_TakeInventory(\"9mmSecondary\",1)\n\t TNT1 A 0 A_GiveInventory(\"9mmPrimary\",1)\n\t Loop\n  FireIS:\n    PISG B 0 A_JumpIfInventory(\"9mmPrimary\",1,1)\n\tGoto ToReload\n\tPISG B 0 A_TakeInventory(\"9mmPrimary\",1)\n    // PISG B 0 A_StopSoundEx(\"Weapon\")\n\tBPSS A 0 A_AlertMonsters\n\tPISG B 0 A_PlaySoundEx(\"9mm/fire\",\"Weapon\")\n    PISG B 0 A_FireBullets (0.2, 0, 1, 5, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-1)\n\tBPSS A 0 A_FireCustomMissile(\"RifleCaseSpawn\",5,0,5,-3)\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t9MII A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+1)\n\t9MII B 2\n    9MII CDEF 2 A_WeaponReady(1)\n    Goto ReadyIS\n  Spawn:\n    PIST A -1\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/shotgun.txt",
        "contents": "ACTOR ShotgunPrimary : Ammo\n{\n  Inventory.PickupMessage \"You got 9mm ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 8\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 8\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR ShotgunSecondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up a small box of shotgun shells.\" // \"Picked up a clip.\"\n  Inventory.Amount 8\n  Inventory.MaxAmount 40\n  Ammo.BackpackAmount 8\n  Ammo.BackpackMaxAmount 40\n  Inventory.Icon \"CLIPA0\"\n  States\n  {\n  Spawn:\n    SBOX B -1\n    Stop\n  }\n}\n\nACTOR \"KF Shotgun\" : Weapon\n{\n  Weapon.AmmoUse 0\n  Scale 0.25\n  Weapon.AmmoGive2 16\n  Weapon.AmmoType \"ShotgunPrimary\"\n  Weapon.AmmoType2 \"ShotgunSecondary\"\n  Obituary \"%o was blasted away by %k's Shotgun.\"\n  +WEAPON.NOAUTOFIRE\n  +WEAPON.NOALERT\n  Inventory.Pickupmessage \"You picked up the Shotgun.\"\n  Inventory.PickupSound \"9mm/pickup\"\n  Tag \"Shotgun\"\n  States\n  {\n  Ready:\n    9MSS A 0 A_PlaySoundEx(\"shotgun/select\",\"SoundSlot6\")\n\tSGSS ABCDEF 2\n\t9MID A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\t9MID A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleLight\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    SGID A 1 A_WeaponReady\n    Goto Ready+7\n  ReadyIS:\n    9MID A 0 A_JumpIfInventory(\"DoAltFire\",1,\"ToggleLight\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    SGID B 1 A_WeaponReady(1)\n\tGoto Ready+7\n  IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t 9MTR CBA 1\n\t Goto SelfHeal+5\n  SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t SGSS FEDCBA 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n  IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t SGTR CBA 1\n\t Goto GrenadeThrow+1\n  GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t SGSS FEDCBA 1\n\t Goto ActualGrenade\n  ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n\tGrenadeToReady:\n     9MSS A 0 A_PlaySoundEx(\"shotgun/select\",\"SoundSlot6\")\n\t SGSS ABCDEF 1\n\t Goto Ready+7\n  ToggleLight:\n    9MID A 0 A_JumpIfInventory(\"HasTorch\",1,\"LightOff\")\n\tGoto LightOn\n  LightOn:\n    9MID A 0 A_GiveInventory(\"HasTorch\",1)\n\t9MID A 0 A_GiveInventory(\"LightSpawner\",1)\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"LightAnimIS\")\n\tGoto LightAnim\n  LightOff:\n    9MID A 0 A_TakeInventory(\"HasTorch\",1)\n\t9MID A 0 A_TakeInventory(\"LightSpawner\",1)\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"LightAnimIS\")\n\tGoto LightAnim\n  LightAnim:\n\t9MID A 0 A_PlaySoundEx(\"9mm/flashlight\",\"SoundSlot6\")\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tSGLU ABCDEFGHIJ 2\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tGoto Ready+7\n  LightAnimIS:\n\t9MID A 0 A_PlaySoundEx(\"9mm/flashlight\",\"SoundSlot6\")\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tSGLT ABCDEFGHIJ 2\n\t9MID A 0 A_TakeInventory(\"DoAltFire\",1)\n\tGoto ReadyIS\n  ToReady:\n    TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+7\n\tTNT1 AAA 0\n\tTNT1 A 0 A_PlaySound(\"9mm/dryfire\")\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+7\n  ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_JumpIfInventory(\"ShotgunPrimary\",8,\"ToReady\")\n    TNT1 A 0 A_JumpIfInventory(\"ShotgunSecondary\",1,\"Reload\")\n\tGoto ToReady+2\n  AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tSGTR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tSGTR CBA 1\n\tGoto Ready+7\n  Deselect:\n\t KSGS A 0 A_TakeInventory(\"IronSights\",1)\n\t KSGS A 0 A_ZoomFactor(1.0)\n\t KSGS A 0 A_TakeInventory(\"HasTorch\",1)\n\t TNT1 A 0 A_TakeInventory(\"IsShotgun\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(811,0,0,0,0)\n     SGSS FEDCBA 1 A_Lower\n\t TNT1 A 0 A_TakeInventory(\"UsesLight\",1)\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+11\n  Select:\n     TNT1 A 0 A_GiveInventory(\"UsesLight\",1)\n\t TNT1 A 0 A_GiveInventory(\"IsShotgun\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(811,0,0,0,0)\n     TNT1 A 0 A_Raise\n     Wait\n  Fire:\n    PISG B 0 A_JumpIfInventory(\"ShotgunPrimary\",1,1)\n\tGoto ToReload\n    PISG B 0 A_JumpIfInventory(\"IronSights\",1,\"FireIS\")\n\tPISG B 0 A_TakeInventory(\"ShotgunPrimary\",1)\n\tPISG B 0 A_PlaySoundEx(\"shotgun/fire\",\"Weapon\")\n    PISG B 0 A_FireBullets (3.6, 1.0, 7, 8, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-5)\n\tBPSS A 0 A_AlertMonsters\n\tBPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tSGFI A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+2)\n\tSGFI BCDE 2\n\tSGFI G 0 A_PlaySoundEx(\"shotgun/cockback\",\"Body\")\n\tSGFI FG 2\n\tBPSS A 0 A_FireCustomMissile(\"ShotCaseSpawn\",5,0,16,-3)\n\tSGFI H 2\n\tSGFI I 0 A_PlaySoundEx(\"shotgun/cockfwd\",\"Body\")\n\tSGFI IJKLM 2\n    Goto Ready+7\n  Reload:\n     TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ReloadAnim\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t SGTR CBA 1\n\t Goto ReloadAnim\n  ReloadAnim:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t SGRL ABCDEF 2\n\t Goto ReloadLoop\n\n  ReloadLoop:\n     SGRL F 0 A_JumpIfInventory(\"ShotgunPrimary\",8,\"ReloadEnd\")\n\t SGRL F 0 A_JumpIfInventory(\"ShotgunSecondary\",1,1)\n\t Goto ReloadEnd\n\t SGRL G 0 A_PlaySoundEx(\"shotgun/insert\",\"SoundSlot6\")\n\t SGRL G 2\n\t SGRL H 0 A_TakeInventory(\"ShotgunSecondary\",1)\n\t SGRL H 0 A_GiveInventory(\"ShotgunPrimary\",1)\n\t SGRL HIJKLM 2 A_WeaponReady(1)\n\t SGRL N 6 A_WeaponReady(1)\n\t Loop\n\n  ReloadEnd:\n     SGRL QR 2\n\t SGRL S 0 A_PlaySoundEx(\"shotgun/cockback\",\"SoundSlot6\")\n\t SGRL ST 2\n\t SGRL V 0 A_PlaySoundEx(\"shotgun/cockfwd\",\"SoundSlot6\")\n\t SGRL UVWXYZ 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t Goto ToReady\n  FireIS:\n    PISG B 0 A_JumpIfInventory(\"ShotgunPrimary\",1,1)\n\tGoto ToReload\n\tPISG B 0 A_TakeInventory(\"ShotgunPrimary\",1)\n\tPISG B 0 A_PlaySoundEx(\"shotgun/fire\",\"Weapon\")\n\tBPSS A 0 A_AlertMonsters\n    PISG B 0 A_FireBullets (0.7, 0.3, 7, 8, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-4)\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tSGFJ B 2 bright\n\tBPSS A 0 A_SetPitch(pitch+1)\n\tSGFJ C 2\n\tBPSS A 0 A_SetPitch(pitch+1)\n\tSGFJ D 2\n\tSGID B 1\n\tSGFJ C 0 A_TakeInventory(\"IronSights\",1)\n\tSGFJ C 0 A_ZoomFactor(1.0)\n\tSGTR CB 1\n\tSGFI DE 2\n\tSGFI G 0 A_PlaySoundEx(\"shotgun/cockback\",\"Body\")\n\tSGFI FG 2\n\tBPSS A 0 A_FireCustomMissile(\"ShotCaseSpawn\",5,0,16,-3)\n\tSGFI H 2\n\tSGFI I 0 A_PlaySoundEx(\"shotgun/cockfwd\",\"Body\")\n\tSGFI IJKLM 2\n    Goto Ready+7\n  Spawn:\n    SGID C -1\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/lar.txt",
        "contents": "ACTOR LARPrimary : Ammo\n{\n  Inventory.PickupMessage \"You got Winchester ammo.\" // \"Picked up a clip.\"\n  Inventory.Amount 1\n  Inventory.MaxAmount 10\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 10\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR LARSecondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up a small box of shotgun shells.\" // \"Picked up a clip.\"\n  Inventory.Amount 8\n  Inventory.MaxAmount 70\n  Ammo.BackpackAmount 8\n  Ammo.BackpackMaxAmount 70\n  Inventory.Icon \"CLIPA0\"\n  States\n  {\n  Spawn:\n    SBOX B -1\n    Stop\n  }\n}\n\nACTOR \"Lever-Action Rifle\" : Weapon\n{\n  Weapon.AmmoUse 0\n  Scale 0.25\n  Weapon.AmmoGive2 20\n  Weapon.AmmoType \"LARPrimary\"\n  Weapon.AmmoType2 \"LARSecondary\"\n  Obituary \"%o was shot in the face by %k's LAR.\"\n  +WEAPON.NOAUTOFIRE\n  +WEAPON.NOALERT\n  Inventory.Pickupmessage \"You picked up the Lever-Action Rifle.\"\n  Inventory.PickupSound \"lvac/pickup\"\n  Tag \"Lever-Action Rifle\"\n  States\n  {\n  Ready:\n    9MSS A 0 A_PlaySoundEx(\"lvac/select\",\"SoundSlot6\")\n\tLVSS ABCDEFGHIJK 2\n\t9MID A 0 A_JumpIfInventory(\"IsReloading\",1,\"ToReload\")\n\t9MID A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    LVID A 1 A_WeaponReady\n    Goto Ready+12\n  ReadyIS:\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    LVID B 1 A_WeaponReady(1)\n\tGoto Ready+12\n  IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t LVTR CBA 1\n\t Goto SelfHeal+5\n  SelfHeal:\n     BPRI A 0 A_TakeInventory(\"IsHealing\",1)\n     BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n     BPRI A 0 A_JumpIfInventory(\"SyringeCharge\",50,1)\n\t Goto ToReady\n     BPRI A 0 A_JumpIf(health >= 100, \"ToReady\")\n     BPRI A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToHeal\")\n\t SYRN F 0 A_TakeInventory(\"SyringeCharge\",50)\n\t BPRI A 0 ACS_ExecuteAlways(806,0,0,0,0)\n\t LVPD ABCDEFG 1\n\t TNT1 A 2\n\t SYRN ABCDE 2\n\t SYRN F 0 A_PlaySoundEx(\"syringe/fire\",\"SoundSlot6\")\n\t SYRP A 0 A_GiveInventory(\"Health\",20)\n\t SYRN FGHIJKLMNOPQRSTUVWXYZ 2\n\t SYRO ABCDEFGHI 2\n\t SYRO J 0 A_PlaySoundEx(\"syringe/twist\",\"SoundSlot6\")\n\t SYRO JKLMNO 2\n\t SYRO P 0 A_PlaySoundEx(\"syringe/remove\",\"SoundSlot6\")\n\t SYRO PQRSTUVWXYZ 2\n\t SYRP A 2\n\t SYRP B 0 A_PlaySoundEx(\"syringe/insert\",\"SoundSlot6\")\n\t SYRP BCDEFGHI 2\n\t TNT1 A 4\n\t SYRP A 0 A_TakeInventory(\"IsHealing\",1)\n\t Goto Ready\n  IronToGrenade:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t LVTR CBA 1\n\t Goto GrenadeThrow+1\n  GrenadeThrow:\n     BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n     BPSS A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToGrenade\")\n\t LVPD ABCDEFG 1\n\t Goto ActualGrenade\n  ActualGrenade:\n     BPSS A 0 A_ZoomFactor(1.0)\n\t BPSS A 0 A_TakeInventory(\"IronSights\",1)\n\t BPSS A 0 A_TakeInventory(\"GrenadeAmmo\",1)\n\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\n\t TNT1 A 2\n\t TNT1 A 0 A_PlaySoundEx(\"grenade/throw\",\"Weapon\")\n\n\t FRGN AB 1\n\t FRGN A 0 A_FireCustomMissile(\"ThrownGrenade\",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)\n\t FRGN CD 1\n\t TNT1 A 4\n\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\n\tBPRI A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto GrenadeToReady\n\t BPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"ActualGrenade\")\n\t Goto GrenadeToReady\n\n\tGrenadeToReady:\n     9MSS A 0 A_PlaySoundEx(\"lvac/select\",\"SoundSlot6\")\n\t LVSS ABCDEFGHIJK 1\n\t Goto Ready+12\n  ToReady:\n    TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+12\n\tTNT1 AAA 0\n\tTNT1 A 0 A_PlaySound(\"9mm/dryfire\")\n\tTNT1 A 0 A_Print(\"Out Of Ammo!\")\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ReadyIS\")\n\tGoto Ready+12\n  ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_JumpIfInventory(\"LARPrimary\",10,\"ToReady\")\n    TNT1 A 0 A_JumpIfInventory(\"LARSecondary\",1,\"Reload\")\n\tGoto ToReady+2\n  AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"ZoomOut\")\n\tGoto ZoomIn\n  ZoomIn:\n\tTNT1 A 0 A_ZoomFactor(1.25)\n\tTNT1 A 0 A_GiveInventory(\"IronSights\",1)\n\tLVTR ABC 1\n\tGoto ReadyIS\n   ZoomOut:\n\tTNT1 A 0 A_ZoomFactor(1.0)\n\tTNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\tLVTR CBA 1\n\tGoto Ready+12\n  Deselect:\n\t KSGS A 0 A_TakeInventory(\"IronSights\",1)\n\t KSGS A 0 A_ZoomFactor(1.0)\n     LVPD ABCDEFG 1 A_Lower\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+9\n  Select:\n     TNT1 A 0 A_Raise\n     Wait\n  Fire:\n    PISG B 0 A_JumpIfInventory(\"LARPrimary\",1,1)\n\tGoto ToReload\n    PISG B 0 A_JumpIfInventory(\"IronSights\",1,\"FireIS\")\n\tPISG B 0 A_TakeInventory(\"LARPrimary\",1)\n\tPISG B 0 A_PlaySoundEx(\"lvac/fire\",\"Weapon\")\n    PISG B 0 A_FireBullets (0.2, 0.2, 1, 40, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-3)\n\tBPSS A 0 A_AlertMonsters\n\tBPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tLVFI A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+2)\n\tLVFI BCDEF 2\n\tLVFI G 0 A_PlaySoundEx(\"lvac/cockback\",\"SoundSlot6\")\n\tLVFI G 2\n\tBPSS A 0 A_FireCustomMissile(\"LongRifleCaseSpawn\",5,0,16,-3)\n\tLVFI HI 2\n\tLVFI J 0 A_PlaySoundEx(\"lvac/cockfwd\",\"SoundSlot6\")\n\tLVFI J 2\n\tLVFI KLMN 2 A_WeaponReady(1)\n    Goto Ready+12\n  Reload:\n     TNT1 A 0 A_JumpIfInventory(\"IronSights\",1,\"IronToReload\")\n\t Goto ReloadAnim\n   IronToReload:\n\t TNT1 A 0 A_ZoomFactor(1.0)\n\t TNT1 A 0 A_TakeInventory(\"IronSights\",1)\n\t LVTR CBA 1\n\t Goto ReloadAnim\n  ReloadAnim:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t LVRL ABCDEFGH 2\n\t Goto ReloadLoop\n\n  ReloadLoop:\n     SGRL F 0 A_JumpIfInventory(\"LARPrimary\",10,\"ReloadEnd\")\n\t SGRL F 0 A_JumpIfInventory(\"LARSecondary\",1,1)\n\t Goto ReloadEnd\n\t LVRL IJ 2\n\t SGRL G 0 A_PlaySoundEx(\"lvac/insert\",\"SoundSlot6\")\n\t LVRL KL 2\n\t SGRL H 0 A_TakeInventory(\"LARSecondary\",1)\n\t SGRL H 0 A_GiveInventory(\"LARPrimary\",1)\n\t LVRL MNOP 2 A_WeaponReady(1)\n\t LVRL Q 6 A_WeaponReady(1)\n\t Loop\n\n  ReloadEnd:\n     LVRL ST 2\n\t LVRL U 0 A_PlaySoundEx(\"lvac/bolt\",\"SoundSlot6\")\n\t LVRL UVWX 2\n\t LVRL YZ 2 A_WeaponReady(1)\n\t LVRM AB 2 A_WeaponReady(1)\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_TakeInventory(\"ThrowingGrenade\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t Goto ToReady\n  FireIS:\n    PISG B 0 A_JumpIfInventory(\"LARPrimary\",1,1)\n\tGoto ToReload\n\tPISG B 0 A_TakeInventory(\"LARPrimary\",1)\n\tPISG B 0 A_PlaySoundEx(\"lvac/fire\",\"Weapon\")\n    PISG B 0 A_FireBullets (0, 0, 1, 40, \"BulletPuff2\")\n\tBPSS A 0 A_SetPitch(pitch-2)\n\tBPSS A 0 A_AlertMonsters\n\tBPSS A 0 A_SetAngle(angle+random(-0.25,0.25))\n\tTNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\tLVFJ A 2 bright\n\tBPSS A 0 A_SetPitch(pitch+2)\n\tLVFJ BC 2\n\tLVID B 2\n\tLVFJ D 0 A_TakeInventory(\"IronSights\",1)\n\tLVFJ D 0 A_ZoomFactor(1.0)\n\tLVTR CB 1\n\tLVFI G 0 A_PlaySoundEx(\"lvac/cockback\",\"SoundSlot6\")\n\tLVFI G 2\n\tBPSS A 0 A_FireCustomMissile(\"LongRifleCaseSpawn\",5,0,16,-3)\n\tLVFI HI 2\n\tLVFI J 0 A_PlaySoundEx(\"lvac/cockfwd\",\"SoundSlot6\")\n\tLVFI J 2\n\tLVFI KLMN 2 A_WeaponReady(1)\n    Goto Ready+12\n  Spawn:\n    LVID C -1\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/spawners.txt",
        "contents": "Actor Spawner_Auto : RandomSpawner replaces Chaingun\n{\n\tDropitem \"M4 203\"\n\tDropitem \"Bullpup\"\n\tDropitem \"MP7M Medic Gun\"\n\tDropItem \"Thompson M1A1\"\n\tDropItem \"MP5M Medic Gun\"\n\tDropItem \"M7A3 Medic Gun\"\n\tDropItem \"MAC-10\"\n}\n\nActor Spawner_AutoBig2 : RandomSpawner replaces BFG9000\n{\n\tDropItem \"M32 Grenade Launcher\", 255, 2\n\tDropItem \"L.A.W.\", 255, 4\n\tDropITem \"Buzzsaw Bow\", 255, 2\n}\n\nActor Spawner_Pipe : RandomSpawner replaces SoulSphere\n{\n\tDropItem \"CustomPB\"\n}\n\nActor Spawner_ExplosiveGun : RandomSpawner replaces RocketLauncher\n{\n\tDropItem \"M79 Grenade Launcher\", 255, 5\n\tDropItem \"Seeker Six RL\", 255, 2\n}\n\nACTOR ArmorBonus2 : ArmorBonus\n{\n}\n\nActor Spawner_Grenade : RandomSpawner replaces ArmorBonus\n{\n\tDropitem \"PerkedGrenade\", 255, 1\n\tDropItem \"ArmorBonus2\", 255, 3\n}\n\nActor Spawner_Shotgun : RandomSpawner replaces Shotgun\n{\n\tDropitem \"KF Shotgun\", 255, 4\n\tDropItem \"Lever-Action Rifle\", 255, 3\n\tDropItem \"Dual 9mm Pistols\", 255, 1\n}\n\nActor Spawner_Shotgun2 : RandomSpawner replaces SuperShotgun\n{\n    DropItem \"AA12 Shotgun\", 255, 3\n\tDropitem \"KF Shotgun\", 255, 3\n\tDropItem \"Lever-Action Rifle\", 255, 2\n}\n\nActor Spawner_SingleMag : RandomSpawner replaces Clip\n{\n\tDropitem \"9mmMagazine\", 255, 10\n\tDropItem \"M4203Secondary\", 255, 3\n\tDropItem \"MP7Secondary\", 255, 7\n\tDropItem \"BullpupSecondary\", 255, 5\n\tDropItem \"MacSecondary\", 255, 2\n\tDropItem \"MP5Secondary\", 255, 2\n}\n\nACTOR 9mmMagazine : CustomInventory\n{\n  Inventory.PickupMessage \"Picked up a 9mm magazine.\" // \"Picked up a box of shotgun shells.\"\n  Inventory.PickupSound \"9mm/magtap\"\n  States\n  {\n  Spawn:\n    PMAG A -1\n    Stop\n  Pickup:\n    TNT1 A 0 A_GiveInventory(\"9mmSecondary\", 15)\n\tTNT1 A 0 A_GiveInventory(\"Dual9mmSecondary\", 30)\n    Stop\n  }\n}\n\nACTOR SpaceAmmoBox : CustomInventory replaces CellPack\n{\n  Inventory.PickupMessage \"Picked up a lot of space ammo.\" // \"Picked up a box of shotgun shells.\"\n  Inventory.PickupSound \"zed/reload1\"\n  States\n  {\n  Spawn:\n    CELP A -1\n    Stop\n  Pickup:\n    TNT1 A 0 A_GiveInventory(\"ZEDSecondary\", 200)\n    Stop\n  }\n}\n\n// Shell Replacements\n\nACTOR SmallShellBox : CustomInventory replaces Shell\n{\n  Inventory.PickupMessage \"Picked up a small box of shotgun shells.\" // \"COMBINED MANA\"\n  Inventory.PickupSound \"9mm/magtap\"\n  States\n  {\n  Spawn:\n    SBOX B -1\n    Stop\n  Pickup:\n    TNT1 A 0 A_GiveInventory(\"ShotgunSecondary\", 16)\n\tTNT1 A 0 A_GiveInventory(\"AA12Secondary\", 20)\n\tTNT1 A 0 A_GiveInventory(\"Shell\", 4)\n    Stop\n  }\n}\n\nACTOR ClipBoxSpawner : RandomSpawner replaces ClipBox\n{\n\tDropItem \"BigAmmoBox\"\n\tDropItem \"MedicAmmoBox\"\n\tDropItem \"LvacAmmoBox\"\n\tDropItem \"BladeAmmoBox\"\n\tDropItem \"Mac10Bundle\"\n}\n\nACTOR BigAmmoBox : CustomInventory\n{\n  Inventory.PickupMessage \"Picked up a big box of mags.\" // \"Picked up a box of bullets.\"\n  Inventory.PickupSound \"ammobox/pickup\"\n  States\n  {\n  Spawn:\n    AMMO A -1\n    Stop\n  Pickup:\n\tTNT1 A 0 A_GiveInventory(\"9mmSecondary\", 15)\n\tTNT1 A 0 A_GiveInventory(\"BullpupSecondary\", 40)\n\tTNT1 A 0 A_GiveInventory(\"M4203Secondary\", 30)\n\tTNT1 A 0 A_GiveInventory(\"ThompsonSecondary\", 90)\n    Stop\n  }\n}\n\nACTOR HugeAmmoBox : CustomInventory replaces Backpack\n{\n  Inventory.PickupMessage \"Picked up a large box of ammo.\" // \"Picked up a box of bullets.\"\n  Inventory.PickupSound \"ammobox/pickup\"\n  States\n  {\n  Spawn:\n    AMBX A -1\n    Stop\n  Pickup:\n    TNT1 A 0 A_GiveInventory(\"MP7Secondary\", 60)\n\tTNT1 A 0 A_GiveInventory(\"9mmSecondary\", 45)\n\tTNT1 A 0 A_GiveInventory(\"BullpupSecondary\", 120)\n\tTNT1 A 0 A_GiveInventory(\"M4203Secondary\", 90)\n\tTNT1 A 0 A_GiveInventory(\"M79Secondary\", 8)\n\tTNT1 A 0 A_GiveInventory(\"GrenadeAmmo\", 1)\n\tTNT1 A 0 A_GiveInventory(\"ShotgunSecondary\", 24)\n\tTNT1 A 0 A_GiveInventory(\"Dual9mmSecondary\", 90)\n\tTNT1 A 0 A_GiveInventory(\"AA12Secondary\", 60)\n\tTNT1 A 0 A_GiveInventory(\"LAWSecondary\", 8)\n\tTNT1 A 0 A_GiveInventory(\"LARSecondary\", 30)\n\tTNT1 A 0 A_GiveInventory(\"CheetahSecondary\", 8)\n\tTNT1 A 0 A_GiveInventory(\"ThompsonSecondary\", 90)\n\tTNT1 A 0 A_GiveInventory(\"M7A3Secondary\", 90)\n\tTNT1 A 0 A_GiveInventory(\"SeekerSecondary\", 30)\n\tTNT1 A 0 A_GiveInventory(\"MacSecondary\", 90)\n\tTNT1 A 0 A_GiveInventory(\"CustomPB\", 1)\n    Stop\n  }\n}\n\nACTOR ShellBox2 : CustomInventory replaces ShellBox\n{\n  Inventory.PickupMessage \"Picked up a large box of shotgun shells.\" // \"Picked up a box of shotgun shells.\"\n  Inventory.PickupSound \"9mm/magtap\"\n  States\n  {\n  Spawn:\n    SBOX A -1\n    Stop\n  Pickup:\n    TNT1 A 0 A_GiveInventory(\"ShotgunSecondary\", 32)\n\tTNT1 A 0 A_GiveInventory(\"Shell\", 20)\n\tTNT1 A 0 A_GiveInventory(\"AA12Secondary\", 40)\n    Stop\n  }\n}\n\nACTOR Single40mm : CustomInventory replaces RocketAmmo\n{\n  Inventory.PickupMessage \"Picked up a 40mm Grenade.\" // \"Picked up a clip.\"\n  States\n  {\n  Spawn:\n    M79R A -1\n    Stop\n  Pickup:\n    TNT1 A 0 A_GiveInventory(\"M79Secondary\", 1)\n\tTNT1 A 0 A_GiveInventory(\"M32Secondary\", 1)\n\tTNT1 A 0 A_GiveInventory(\"LAWSecondary\", 1)\n\tTNT1 A 0 A_GiveInventory(\"M4203Grenade\", 1)\n\tTNT1 A 0 A_GiveInventory(\"SeekerSecondary\", 1)\n    Stop\n  }\n}\n\n// M79\n\nACTOR 40mmBox : CustomInventory replaces RocketBox\n{\n  Inventory.PickupMessage \"Picked up a large box of explosives.\" // \"COMBINED MANA\"\n  Inventory.PickupSound \"m79/select\"\n  States\n  {\n  Spawn:\n    M79R B -1\n    Stop\n  Pickup:\n    TNT1 A 0 A_GiveInventory(\"M79Secondary\", 7)\n\tTNT1 A 0 A_GiveInventory(\"M32Secondary\", 7)\n\tTNT1 A 0 A_GiveInventory(\"M4203Grenade\", 7)\n\tTNT1 A 0 A_GiveInventory(\"LawSecondary\", 3)\n\tTNT1 A 0 A_GiveInventory(\"SeekerSecondary\", 6)\n    Stop\n  }\n}"
      }
    ]
  },
  "maps": []
}

gib.gg runs on open-source software and freely licensed replacement game assets from the Freedoom project. gib.gg is not affiliated with Bethesda Softworks, id Software, or ZeniMax Media. All trademarks belong to their respective owners. Some WADs and associated metadata on this site are sourced from WAD Archive. User-submitted content remains the responsibility of its respective authors. If you believe content on this site violates your rights, please send DMCA requests to dmca@gib.gg.