kfindoom_v5.pk3

PK3 60 MiB 0 map(s)

Counts

endoom0
graphics0
lumps2385
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "00e2008e-1584-4fa0-a869-e731de0f2249",
    "sha1": "ee09bd0745b1b99ebd2051e807dd059f526814d2",
    "sha256": "5b4749b472fc204bf4f616bb4afd1bc29a07e6b19923929f898d5e98e1ca272c",
    "filenames": [
      "kfindoom_v5.pk3"
    ],
    "additional": {
      "engines": [
        "ZDOOM"
      ],
      "iwad": [
        "DOOM2"
      ],
      "filename": null,
      "added": "2014-05-29 21:44:59",
      "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-05-29 21:44:59",
    "file": {
      "type": "PK3",
      "size": 62700035,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/ee09bd0745b1b99ebd2051e807dd059f526814d2/ee09bd0745b1b99ebd2051e807dd059f526814d2.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 2385,
        "maps": 0,
        "palettes": 0
      },
      "engines_guess": [
        "ZDOOM"
      ],
      "iwads_guess": [
        "DOOM2"
      ]
    },
    "analysis": {
      "title": "kfindoom_v5",
      "description": "This WAD is a large PK3 mod designed for ZDoom engine with DOOM2 IWAD compatibility. It contains no traditional maps but includes extensive actor and gameplay modifications, focusing on player enhancements and custom mechanics rather than new levels. The content emphasizes advanced player abilities, new weapons, and inventory items, suggesting a gameplay overhaul rather than map-based progression. Resource balance and monster profiles are not applicable due to the absence of maps. The mod likely supports nonlinear, exploration-heavy playstyles through its actor and item additions. The theme is mixed with a modernized, possibly military or tactical style given the British soldier player actor and custom sounds.",
      "tags": [
        "boom_compatible",
        "exploration_heavy",
        "large_megawad",
        "mixed_theme",
        "moderate",
        "nonlinear",
        "vanilla_compatible"
      ],
      "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.ForwardMove 0.8\n  Player.SideMove 0.8\n  States\n  {\n  Spawn:\n    PLAY A -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 40\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 40\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(\"BullpupPrimary\",40,\"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   CalcAmmo:\n     TNT1 A 0 A_JumpIfInventory(\"BullpupSecondary\",1,2)\n\t Goto Ready+6\n\t TNT1 AAA 0\n\t TNT1 A 0 A_JumpIfInventory(\"BullpupPrimary\",40,\"ToReady\")\n\t TNT1 A 0 A_TakeInventory(\"BullpupSecondary\",1)\n\t TNT1 A 0 A_GiveInventory(\"BullpupPrimary\",1)\n\t Loop\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_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_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}"
      },
      {
        "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}"
      },
      {
        "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 30\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 30\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_JumpIfInventory(\"ThompsonPrimary\",30,\"ToReady\")\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     THSS SRQPONMLKJIHGFEDCBA 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+23\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   CalcAmmo:\n     TNT1 A 0 A_JumpIfInventory(\"ThompsonSecondary\",1,2)\n\t Goto Ready+20\n\t TNT1 AAA 0\n\t TNT1 A 0 A_JumpIfInventory(\"ThompsonPrimary\",30,\"ToReady\")\n\t TNT1 A 0 A_TakeInventory(\"ThompsonSecondary\",1)\n\t TNT1 A 0 A_GiveInventory(\"ThompsonPrimary\",1)\n\t Loop\n   Select:\n\t TNT1 A 0 A_GiveInventory(\"MedicGun\",1)\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 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(\"tommy/loop\",\"Weapon\",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}"
      },
      {
        "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 20\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 20\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_JumpIfInventory(\"MP7Primary\",20,\"ToReady\")\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   CalcAmmo:\n     TNT1 A 0 A_JumpIfInventory(\"MP7Secondary\",1,2)\n\t Goto Ready+12\n\t TNT1 AAA 0\n\t TNT1 A 0 A_JumpIfInventory(\"MP7Primary\",20,\"ToREady\")\n\t TNT1 A 0 A_TakeInventory(\"MP7Secondary\",1)\n\t TNT1 A 0 A_GiveInventory(\"MP7Primary\",1)\n\t Loop\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\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 32\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 32\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 20\n  Inventory.MaxAmount 400\n  Ammo.BackpackAmount 20\n  Ammo.BackpackMaxAmount 400\n  Inventory.Icon \"CLIPA0\"\n  Inventory.PickupSound \"mp7/magazine\"\n  States\n  {\n  Spawn:\n    PMAG B -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_JumpIfInventory(\"MP5Primary\",20,\"ToReady\")\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   CalcAmmo:\n     TNT1 A 0 A_JumpIfInventory(\"MP5Secondary\",1,2)\n\t Goto Ready+12\n\t TNT1 AAA 0\n\t TNT1 A 0 A_JumpIfInventory(\"MP5Primary\",20,\"ToREady\")\n\t TNT1 A 0 A_TakeInventory(\"MP5Secondary\",1)\n\t TNT1 A 0 A_GiveInventory(\"MP5Primary\",1)\n\t Loop\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, 50) // actually does the healing, taken from AOW2\n\t MPFI ABCDEF 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, 50) // 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(\"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   }\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/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 replaces RocketLauncher\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(\"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_GiveInventory(\"UsesLight\",1)\n     TNT1 A 0 A_Raise\n     Wait\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 replaces Shotgun\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}\n\nActor Spawner_AutoBig2 : RandomSpawner replaces BFG9000\n{\n\tDropItem \"M79 Grenade Launcher\", 255, 1\n\tDropItem \"L.A.W.\", 255, 4\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}\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 BigAmmoBox : CustomInventory replaces ClipBox\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    TNT1 A 0 A_GiveInventory(\"MP7Secondary\", 20)\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(\"LARSecondary\", 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(\"ThompsonSecondary\", 90)\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(\"LAWSecondary\", 1)\n\tTNT1 A 0 A_GiveInventory(\"M4203Grenade\", 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(\"M4203Grenade\", 7)\n\tTNT1 A 0 A_GiveInventory(\"LawSecondary\", 3)\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/knife.txt",
        "contents": "ACTOR \"Knife\" : Weapon\n{\n  Obituary \"%o was stabbed in the stomach by %k.\"\n  Tag \"Combat Knife\"\n  +WEAPON.WIMPY_WEAPON\n  +WEAPON.MELEEWEAPON\n  States\n  {\n  Ready:\n    9MSS A 0 A_PlaySoundEx(\"knife/draw\",\"SoundSlot6\")\n\tKNSS ABCDEFGHIJKLMNOPQ 1\n\tKNID A 0 A_JumpIfInventory(\"DoAltFire\",1,\"PowerAttack\")\n\tBPRI A 0 A_JumpIfInventory(\"IsHealing\",1,\"SelfHeal\")\n\tBPRI A 0 A_JumpIfInventory(\"ThrowingGrenade\",1,\"GrenadeThrow\")\n    KNID A 1 A_WeaponReady\n    Goto Ready+18\n   Deselect:\n     KNPD ABCD 2\n\t TNT1 A 0 A_TakeInventory(\"RunFast\",1)\n\t TNT1 A 0 A_TakeInventory(\"IsMelee\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(810,0,0,0,0)\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+7\n  ToReady:\n\t TNT1 A 0\n\t Goto Ready+18\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\t KNPD ABCD 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\t BPSS A 0 A_TakeInventory(\"ThrowingGrenade\",1)\n     BPSS A 0 A_JumpIfInventory(\"GrenadeAmmo\",1,1)\n\t Goto ToReady\n\t KNPD 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(\"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(\"knife/draw\",\"SoundSlot6\")\n\t KNSS ABCDEFGHIJKLMNOPQ 1\n\t Goto Ready+18\n  Select:\n     TNT1 A 0 A_GiveInventory(\"RunFast\",1)\n\t TNT1 A 0 A_GiveInventory(\"IsMelee\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(810,0,0,0,0)\n     TNT1 A 0 A_Raise\n     Wait\n  Fire:\n    PUNG A 0 A_Jump(255, \"Fire1\", \"Fire2\", \"Fire3\", \"Fire4\")\n\tGoto Fire1\n  Fire1:\n    KNF1 ABCDEFGHIJ 1\n\tKNF1 W 0 A_PlaySoundEx(\"knife/fire\",\"Weapon\")\n\tKNF1 K 1\n    KNF1 G 0 A_CustomPunch(random(10,15), TRUE)\n    KNF1 LMNOPQRST 1\n\tKNF1 W 0 A_TakeInventory(\"DoAltFire\",1)\n    KNF1 L 0 A_ReFire\n\tKNF1 UVWX 1\n    Goto Ready+18\n  AltFire:\n    TNT1 A 0\n\tGoto PowerAttack\n  PowerAttack:\n    KNF5 AB 1\n\tKNF5 B 0 A_PlaySoundEx(\"knife/rubber\",\"SoundSlot6\")\n\tKNF5 CDEFGHIJKL 1\n\tKNF1 W 0 A_PlaySoundEx(\"knife/fire\",\"Weapon\")\n\tKNF5 M 1\n    KNF5 G 0 A_CustomPunch(random(25,30), TRUE)\n    KNF5 NOPQRSTUV 1\n\tKNF5 W 0 A_TakeInventory(\"DoAltFire\",1)\n    Goto Ready+18\n  Fire2:\n    KNF2 ABCDEFGHIJ 1\n\tKNF1 W 0 A_PlaySoundEx(\"knife/fire\",\"Weapon\")\n\tKNF2 K 1\n    KNF2 G 0 A_CustomPunch(random(10,15), TRUE)\n    KNF2 LMNOPQRST 1\n\tKNF1 W 0 A_TakeInventory(\"DoAltFire\",1)\n    KNF2 L 0 A_ReFire\n\tKNF2 UVWX 1\n    Goto Ready+18\n  Fire3:\n    KNF3 ABCDEFGHIJ 1\n\tKNF1 W 0 A_PlaySoundEx(\"knife/fire\",\"Weapon\")\n\tKNF3 K 1\n    KNF3 G 0 A_CustomPunch(random(10,15), TRUE)\n    KNF3 LMNOPQRST 1\n\tKNF1 W 0 A_TakeInventory(\"DoAltFire\",1)\n    KNF3 L 0 A_ReFire\n\tKNF3 UVWX 1\n    Goto Ready+18\n  Fire4:\n    KNF4 ABCDEFGHIJK 1\n\tKNF1 W 0 A_PlaySoundEx(\"knife/fire\",\"Weapon\")\n    KNF4 G 0 A_CustomPunch(random(10,15), TRUE)\n    KNF4 LMNOPQRST 1\n\tKNF1 W 0 A_TakeInventory(\"DoAltFire\",1)\n    KNF4 L 0 A_ReFire\n\tKNF4 UVWX 1\n    Goto Ready+18\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/AA12.txt",
        "contents": "// Bullpup\n\nACTOR AA12Primary : Ammo\n{\n  Inventory.Amount 1\n  Inventory.MaxAmount 20\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 20\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR AA12Secondary : Ammo\n{\n  Inventory.PickupMessage \"Picked up a drum of AA12 ammo.\" // \"Picked up a clip.\"\n  Inventory.PickupSound \"bullpup/magin\"\n  Inventory.Amount 20\n  Inventory.MaxAmount 60\n  Ammo.BackpackAmount 20\n  Ammo.BackpackMaxAmount 60\n  Inventory.Icon \"CLIPA0\"\n  States\n  {\n  Spawn:\n    PMAG D -1\n    Stop\n  }\n}\n\nACTOR \"AA12 Shotgun\" : Weapon\n{\n   Weapon.AmmoUse 0\n   Weapon.AmmoGive 0\n   Weapon.AmmoGive2 40\n   Weapon.AmmoType \"AA12Primary\"\n   Weapon.AmmoType2 \"AA12Secondary\"\n   Scale 0.2\n   Inventory.PickupMessage \"You picked up the AA12. Go destroy someone.\" // \"You got the chaingun\"\n   Obituary \"%o had %p chest filled with holes by %k's AA12.\" // \"%o was mowed down by %k's chaingun.\"\n   Inventory.PickupSound \"aa12/pickup\"\n   Tag \"AA12 Shotgun\"\n   +WEAPON.NOALERT\n   +WEAPON.NOAUTOFIRE\n   States\n   {\n   Ready:\n     BPRI A 0 A_PlaySoundEx(\"aa12/select\",\"SoundSlot6\")\n\t A2SS ABCDEFG 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     A2ID A 1 A_WeaponReady\n     Goto Ready+8\n   IronToHeal:\n     BPRI A 0 A_TakeInventory(\"IronSights\",1)\n\t BPRI A 0 A_ZoomFactor(1.0)\n\t A2TR 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 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 A2ID B 1 A_WeaponReady(1)\n\t Goto Ready+8\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+8\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+8\n   ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_JumpIfInventory(\"AA12Primary\",20,\"ToReady\")\n    TNT1 A 0 A_JumpIfInventory(\"AA12Secondary\",1,\"Reload\")\n\tGoto ToReady+2\n   Deselect:\n     TNT1 A 0 A_TakeInventory(\"IsShotgun\",1)\n\t TNT1 A 0 ACS_ExecuteAlways(811,0,0,0,0)\n\t A2SS GFEDCBA 1\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+9\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 A2SS ABCDEFG 1\n\t Goto Ready+8\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 A2TR CBA 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 A2TR CBA 1\n\t Goto GrenadeThrow+1\n   ReloadAnim:\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t A2RL ABCDE 2\n\t A2RL G 0 A_PlaySoundEx(\"aa12/bolt\",\"SoundSlot6\")\n\t A2RL FGHIJ 2\n\t A2RL X 0 A_PlaySoundEx(\"aa12/magout\",\"SoundSlot6\")\n\t A2RL KLMNOPQRSTUVW 2\n\t A2RL X 0 A_PlaySoundEx(\"aa12/magget\",\"SoundSlot6\")\n\t A2RL XYZ 2\n\t A2RM ABCDEFGHI 2\n\t A2RM L 0 A_PlaySoundEx(\"aa12/magin\",\"SoundSlot6\")\n\t A2RM JKLMNOPQRSTU 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t Goto CalcAmmo\n   CalcAmmo:\n     TNT1 A 0 A_JumpIfInventory(\"AA12Secondary\",1,2)\n\t Goto Ready+8\n\t TNT1 AAA 0\n\t TNT1 A 0 A_JumpIfInventory(\"AA12Primary\",20,\"ToReady\")\n\t TNT1 A 0 A_TakeInventory(\"AA12Secondary\",1)\n\t TNT1 A 0 A_GiveInventory(\"AA12Primary\",1)\n\t Loop\n   Select:\n     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     BPSS A 0 A_JumpIfInventory(\"AA12Primary\",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(\"aa12/fire\",\"Weapon\")\n     BPSS A 0 A_FireBullets (2.6, 1.0, 7, 6, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-1.5)\n\t BPSS A 0 A_FireCustomMissile(\"ShotCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t BPSS A 0 A_TakeInventory(\"AA12Primary\",1)\n\t A2FI A 2 bright\n\t BPSS A 0 A_SetPitch(pitch+1)\n\t A2FI BC 2 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 A2FI DEF 2 A_WeaponReady(1)\n     Goto Ready+8\n   FireIS:\n\t BPSS A 0 A_JumpIfInventory(\"AA12Primary\",1,1)\n\t Goto ToReload\n     BPSS A 0 A_PlaySoundEx(\"aa12/fire\",\"Weapon\")\n     BPSS A 0 A_FireBullets (1.6, 0.5, 7, 6, \"BulletPuff2\")\n\t BPSS A 0 A_SetPitch(pitch-1.5)\n\t BPSS A 0 A_FireCustomMissile(\"ShotCaseSpawn\",5,0,16,-3)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t BPSS A 0 A_TakeInventory(\"AA12Primary\",1)\n\t A2FJ A 2 bright\n\t BPSS A 0 A_SetPitch(pitch+1)\n\t A2FJ BC 2 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 A2FJ DEF 2 A_WeaponReady(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 A2TR ABC 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 A2TR CBA 1\n\t Goto Ready+8\n   Spawn:\n     A2ID C -1\n     Stop\n   }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/zedgun.txt",
        "contents": "// Bullpup\n\nACTOR ZEDPrimary : Ammo\n{\n  Inventory.Amount 1\n  Inventory.MaxAmount 100\n  Ammo.BackpackAmount 1\n  Ammo.BackpackMaxAmount 100\n  Inventory.Icon \"WPICA0\"\n}\n\nACTOR ZEDSecondary : Ammo replaces Cell\n{\n  Inventory.PickupMessage \"Picked up some space ammo of some kind.\" // \"Picked up a clip.\"\n  Inventory.PickupSound \"zed/reload1\"\n  Inventory.Amount 100\n  Inventory.MaxAmount 400\n  Ammo.BackpackAmount 100\n  Ammo.BackpackMaxAmount 400\n  Inventory.Icon \"CLIPA0\"\n  States\n  {\n  Spawn:\n    CELL A -1\n    Stop\n  }\n}\n\nACTOR \"Z.E.D. Gun\" : Weapon replaces PlasmaRifle\n{\n   Weapon.AmmoUse 0\n   Weapon.AmmoGive 0\n   Weapon.AmmoGive2 40\n   Weapon.AmmoType \"ZEDPrimary\"\n   Weapon.AmmoType2 \"ZEDSecondary\"\n   Scale 0.25\n   Inventory.PickupMessage \"You picked up the Zed Extermination Device.\" // \"You got the chaingun\"\n   Obituary \"%o was incinerated by %k's Z.E.D. gun.\" // \"%o was mowed down by %k's chaingun.\"\n   Inventory.PickupSound \"zed/pickup\"\n   Tag \"Z.E.D. Gun\"\n   +WEAPON.NOALERT\n   +WEAPON.NOAUTOFIRE\n   States\n   {\n   Ready:\n     BPRI A 0 A_PlaySoundEx(\"zed/select\",\"SoundSlot6\")\n\t ZDSS ABCDEFGHIJ 2\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(\"IsHealing\",1,\"SelfHeal\")\n     ZDID A 1 A_WeaponReady\n     Goto Ready+11\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 ZDSS JIHGFEDCBA 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   ToReady:\n    TNT1 A 0\n\tGoto Ready+11\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_GiveInventory(\"HoldFixer\",1)\n\tGoto Ready+11\n   ToReload:\n    TNT1 A 0 A_TakeInventory(\"IsReloading\",1)\n\tTNT1 A 0 A_JumpIfInventory(\"ZEDPrimary\",100,\"ToReady\")\n    TNT1 A 0 A_JumpIfInventory(\"ZEDSecondary\",1,\"Reload\")\n\tGoto ToReady+2\n   Deselect:\n\t ZDSS A 0 A_TakeInventory(\"HasGreenLaser\",1)\n\t ZDSS JIHGFEDCBA 1\n     TNT1 AAAAAAAAAA 0 A_Lower\n\t TNT1 A 1 A_Lower\n     Goto Deselect+10\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\t ZDSS JIHGFEDCBA 1\n\t Goto ActualGrenade\n   ActualGrenade:\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 BPRI A 0 A_PlaySoundEx(\"zed/select\",\"SoundSlot6\")\n\t ZDSS ABCDEFGHIJ 1\n\t Goto Ready+11\n   Reload:\n     TNT1 A 0\n\t Goto ReloadAnim\n   ReloadAnim:\n\t ZDSS A 0 A_TakeInventory(\"HasGreenLaser\",1)\n     9MRL A 0 A_PlaysoundEx(\"*reloading\",CHAN_VOICE)\n\t ZDRL A 0 A_PlaySoundEx(\"zed/reload1\",\"SoundSlot6\")\n\t ZDRL ABCDEFGHIJ 2\n\t ZDRL K 0 A_PlaySoundEx(\"zed/reload2\",\"SoundSlot6\")\n\t ZDRL KLMNOPQRSTUVWXYZ 2 A_SpawnItemEx(\"ZedSmokeSpawner\",10,5,35,momx,momy,0)\n\t ZDRM ABCDE 2 A_SpawnItemEx(\"ZedSmokeSpawner\",10,5,35,momx,momy,0)\n\t ZDRM FGH 2\n\t ZDRM K 0 A_PlaySoundEx(\"zed/reload3\",\"SoundSlot6\")\n\t ZDRM IJKLMNOPQRSTUVWXYZ 2\n\t ZDRN ABCD 2\n\t CHGG B 0 A_TakeInventory(\"IsReloading\",1)\n\t CHGG B 0 A_TakeInventory(\"DoAltFire\",1)\n\t CHGG B 0 A_GiveInventory(\"HoldFixer\",1)\n\t ZDSS A 0 A_GiveInventory(\"HasGreenLaser\",1)\n\t Goto CalcAmmo\n   CalcAmmo:\n     TNT1 A 0 A_JumpIfInventory(\"ZEDSecondary\",1,2)\n\t Goto Ready+11\n\t TNT1 AAA 0\n\t TNT1 A 0 A_JumpIfInventory(\"ZEDPrimary\",100,\"ToReady\")\n\t TNT1 A 0 A_TakeInventory(\"ZEDSecondary\",1)\n\t TNT1 A 0 A_GiveInventory(\"ZEDPrimary\",1)\n\t Loop\n   Select:\n     ZDSS A 0 A_GiveInventory(\"HasGreenLaser\",1)\n     TNT1 A 0 A_Raise\n     Wait\n   Fire:\n     BPSS A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto ToReload\n\t BPSS A 0 A_PlaySoundEx(\"zed/fire\",\"Weapon\")\n\t BPSS A 0 A_AlertMonsters\n     BPSS A 0 A_FireCustomMissile(\"ZEDPlasma\",1,0,7)\n\t BPSS A 0 A_FireCustomMissile(\"ShakeYourAssZED\",0,0)\n\t BPSS A 0 A_SetPitch(pitch-1.5)\n\t TNT1 A 0 A_SpawnItemEx(\"ShooterLight\",0,0,0)\n\t BPSS A 0 A_TakeInventory(\"ZEDPrimary\",1)\n\t ZDFI A 2 bright\n\t BPSS A 0 A_SetPitch(pitch+1)\n\t ZDFI B 2\n\t ZDFI C 1\n\t BPFI D 0 A_ReFire\n\t Goto FireEnd\n   AltFire:\n\t ZDCH A 0 A_TakeInventory(\"HoldFixer\",1)\n\t ZDCH A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto ToReady+2\n\t ZDCH A 0 A_PlaySoundEx(\"zedcharge/start\",\"Weapon\",1)\n\t BPSS A 0 A_AlertMonsters\n\t ZDCH A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto HoldEnd\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCH ABCD 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCL A 0 A_TakeInventory(\"ZEDPrimary\",1)\n     ZDCH A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto HoldEnd\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCH EFGH 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCL A 0 A_TakeInventory(\"ZEDPrimary\",1)\n\t ZDCH A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto HoldEnd\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCH IJKLM 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCL A 0 A_TakeInventory(\"ZEDPrimary\",1)\n\t ZDCH A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto HoldEnd\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCH NO 2\n\t ZDCL ABC 2\n\t // ZDCH O 0 A_StopSoundEx(\"Weapon\")\n\t ZDCH O 0 A_PlaySoundEx(\"zedcharge/loop\",\"Weapon\",1)\n\t Goto AltHold\n   AltHold:\n\t TNT1 A 0 A_JumpIfInventory(\"HoldFixer\",1,\"AltFire\")\n\t TNT1 A 0 A_Jump(255,\"HoldAnim1\", \"HoldAnim2\", \"HoldAnim3\", \"HoldAnim4\")\n\n   HoldAnim1:\n     ZDCL A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto HoldEnd\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL A 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL B 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL C 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL D 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCL A 0 A_TakeInventory(\"ZEDPrimary\",1)\n\t ZDCL A 0 A_ReFire\n\t Goto HoldEnd\n\n   HoldAnim2:\n\t ZDCL A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto HoldEnd\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL E 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL F 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL G 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL H 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCL A 0 A_TakeInventory(\"ZEDPrimary\",1)\n\t ZDCL A 0 A_ReFire\n\t Goto HoldEnd\n\n  HoldAnim3:\n\t ZDCL A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto HoldEnd\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL IJKL 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCL A 0 A_TakeInventory(\"ZEDPrimary\",1)\n\t ZDCL A 0 A_ReFire\n\t Goto HoldEnd\n\n  HoldAnim4:\n\t ZDCL A 0 A_JumpIfInventory(\"ZEDPrimary\",1,1)\n\t Goto HoldEnd\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL M 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL N 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL O 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCH A 0 A_FireCustomMissile(\"ZEDExplosionMaker\",0,0)\n\t ZDCL P 2 A_RailAttack (0,5, 0, \"none\", \"white\", 1, 0, \"BulletPuff2\")\n\t ZDCL A 0 A_TakeInventory(\"ZEDPrimary\",1)\n\t ZDCL A 0 A_ReFire\n\t Goto HoldEnd\n\n   HoldEnd:\n\t ZDCH O 0 A_StopSoundEx(\"Weapon\")\n\t ZDCH O 0 A_PlaySoundEx(\"zedcharge/stop\",\"Weapon\")\n\t TNT1 A 0 A_GiveInventory(\"HoldFixer\",1)\n\t ZDCH ONMLKJIHGFEDCBA 2 A_WeaponReady(1)\n\t Goto Ready+11\n   FireEnd:\n\t ZDFI C 1\n\t ZDFI DEFGH 2 A_WeaponReady(1)\n     Goto Ready+11\n   Spawn:\n     ZDID B -1\n     Stop\n   }\n}\n\nACTOR ZEDPlasma\n{\n  Radius 13\n  Height 8\n  Speed 25\n  Damage 5\n  Projectile\n  +RANDOMIZE\n  RenderStyle Add\n  Alpha 0.75\n  SeeSound \"zedplasma/loop\"\n  DeathSound \"zedplasma/explode\"\n  Obituary \"%o was melted by %k's Z.E.D. Gun.\" // \"%o was melted by %k's plasma gun.\"\n  States\n  {\n  Spawn:\n    PLSS AB 6 Bright\n    Loop\n  Death:\n    PLSE ABCDE 2 Bright\n    Stop\n  }\n}\n\nACTOR ZedExplosionMaker : FastProjectile\n{\n\tRadius 2\n\tHeight 2\n\tSpeed 200\n\tDamage 1\n\tDamageType SlowDown\n\tObituary \"%o was slowed down to the point of death.\"\n\tAlpha 0.55\n\tRenderstyle Add\n\tScale 2.0\n\tstates\n\t{\n\tSpawn:\n\tTNT1 A 1\n\tloop\n\tDeath:\n\t\tPLSE A 0 bright A_Explode((1),64)\n\t\tPLSE CCDDEE 1 bright A_FadeOut(0.1)\n\t\tStop\n\t}\n}\n\nACTOR GreenLaser : FastProjectile\n{\n  +CLIENTSIDEONLY\n  +NOGRAVITY\n  -ALLOWPARTICLES\n  -ROCKETTRAIL\n  +RANDOMIZE\n  -THRUACTORS\n  RenderStyle Add\n  Alpha 1\n  Mass 0\n  Speed 500\n  Radius 1\n  Height 1\n  Scale 0.25\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    Loop\n  Death:\n    TNT1 A 0 A_SpawnItemEx(\"GreenLaserDot\",0,0,0)\n    Stop\n  }\n}\n\nACTOR GreenLaserDot\n{\n\t+NOGRAVITY\n\t+NOBLOCKMAP\n\t+NOCLIP\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\tZDLS A 2 bright\n\tstop\n\t}\n}\n\nACTOR ZedSmokeSpawner\n{\n\t+NOGRAVITY\n\t+FLOAT\n\t+NOBLOCKMAP\n\t+CLIENTSIDEONLY\n\tStates\n\t{\n\tSpawn:\n\tTNT1 A 0\n\tTNT1 A 0 A_SpawnItemEx(\"ZedSmoke\",random(3,4),random(-1,1),random(10,15),random(-1,1),random(-1,1),random(2,3))\n\tStop\n\t}\n}\n\nACTOR ZedSmoke\n{\n\t+NOGRAVITY\n\t+NOBLOCKMAP\n\t+FLOAT\n\t+CLIENTSIDEONLY\n\tRenderstyle Add\n\tAlpha 0.75\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\tSMOK ABCDEFGHIJKLMNOPQR 1 A_FadeOut(0.05)\n\tStop\n\t}\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.