Raw model (for completeness)
{
"meta": {
"id": "0ca72796-a017-478a-81be-561349ab68f7",
"sha1": "92b1fdb3af5d515dcd5074f9094296e7faa7c629",
"sha256": "6cdbb38ab49b1d722f15ba602e8e0d9aa2a0a926ee15c0adb70266816e4ebbc5",
"filenames": [
"ww-nazis-v2.7.pk3"
],
"additional": {
"engines": [
"ZDOOM"
],
"iwad": [],
"filename": null,
"added": "2015-06-18 22:56:12",
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false,
"name": null,
"description": null,
"maps": null,
"graphicOverrides": null,
"screenshots": {
"TITLEMAP": "TITLEMAP.png",
"titlemap": "titlemap.png"
},
"palettes": null,
"categories": null
},
"flags": {
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false
},
"added": "2015-06-18 22:56:12",
"file": {
"type": "PK3",
"size": 13195598,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/92b1fdb3af5d515dcd5074f9094296e7faa7c629/92b1fdb3af5d515dcd5074f9094296e7faa7c629.pk3.gz",
"corrupt": false
},
"content": {
"maps": [
"TITLEMAP"
],
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 2007,
"maps": 1,
"palettes": 0
},
"engines_guess": [
"ZDOOM"
]
},
"analysis": {
"title": "ww-nazis-v2.7",
"description": "This WAD contains a single map titled TITLEMAP, designed for the ZDoom engine. It features a Nazi-themed setting with custom skill levels ranging from very easy to very hard, adjusting monster aggressiveness and damage. The combat likely involves human enemy types with moderate to high difficulty scaling, including fast monsters at the highest skill. Resource balance is standard with normal ammo availability. The theme is heavily focused on World War II Nazi imagery and characters, with no traditional Doom monsters or hellish environments. The progression appears linear with skill-based variations. Compatibility is specific to ZDoom due to custom ACS scripting and skill definitions.",
"tags": [
"ammo_plentiful",
"challenge_wad",
"hard",
"historical_theme",
"linear",
"short_maps",
"zdoom"
],
"origin": "gpt-4.1-mini"
},
"text_files": [
{
"source": "pk3",
"name": "mapinfo.txt",
"contents": "clearskills\n\nskill Nazis1\n{\n\tAmmoFactor = 1.0\n\tDamageFactor = 0.5\n\tAggressiveness = -0.5\n\tSpawnFilter = Easy\n\tEasyBossBrain\n\tACSReturn = 0\n\tKey = 1\n\tName = \"Bund Deutscher Madel\" // \"German Girls\" - the division of the Hitler Youth for girls aged 10-14.\n}\n\nskill Nazis2\n{\n\tAmmoFactor = 1.0\n\tDamageFactor = 0.75\n\tAggressiveness = 0\n\tSpawnFilter = Easy\n\tACSReturn = 1\n\tKey = 2\n\tName = \"Morgenspaziergang\" // \"Morning Stroll\" - borrowed from the title of a Kraftwerk song.\n}\n\nskill Nazis3\n{\n\tAmmoFactor = 1.0\n\tDamageFactor = 1.0\n\tAggressiveness = 0\n\tSpawnFilter = Normal\n\tACSReturn = 2\n\tKey = 3\n\tName = \"Gewohnlichen\" // \"Ordinary\" - from Google translate.\n}\n\nskill Nazis4\n{\n\tAmmoFactor = 1.0\n\tDamageFactor = 1.0\n\tAggressiveness = 0.5\n\tSpawnFilter = Hard\n\tACSReturn = 3\n\tKey = 4\n\tName = \"Ubermensch\" // \"Super Man\"\n}\n\nskill Nazis5\n{\n\tAmmoFactor = 1.0\n\tDamageFactor = 2.0\n\tAggressiveness = 1\n\tSpawnFilter = Hard\n\tACSReturn = 4\n\tKey = 5\n\tDisableCheats\n\tMustConfirm = \"You'll be pleading for your life soon enough. -ww\"\n\tFastMonsters\n\tName = \"Mein Leben!!\" // If you don't know this...\n}\n/*\nIntermission Inter_Cast\n{\n\tImage\n\t{\n\t\tBackground = \"WLFTITLE\"\n\t\tTime = -1\n\t\tMusic = \"HORSTW\"\n\t}\n\tLink = Doom2Cast\n}\n\nIntermission Doom2Cast\n{\n\tCast\n\t{\n\t\tCastClass = \"Guard\"\n\t\tCastName = \"Soldat - P-38\"\n\t\tAttackSound = \"Missile\", 1, \"grunt/attack\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"SSGuard\"\n\t\tCastName = \"Gefreiter (SS) - P-38\"\n\t\tAttackSound = \"Missile\", 1, \"grunt/attack\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"MP40Guard\"\n\t\tCastName = \"Leutnant - MP-40\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/assaultgun\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/assaultgun\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/assaultgun\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/assaultgun\"\n\t\tAttackSound = \"Missile\", 9, \"weapons/assaultgun\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"SSMP40Guard\"\n\t\tCastName = \"Oberleutnant (SS) - MP-40\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/assaultgun\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/assaultgun\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/assaultgun\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/assaultgun\"\n\t\tAttackSound = \"Missile\", 9, \"weapons/assaultgun\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"RifleGuard\"\n\t\tCastName = \"Hauptgefreiter - G43\"\n\t\tAttackSound = \"Missile\", 1, \"garand/fire\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"WaffenSS\"\n\t\tCastName = \"Waffen SS - StG-44\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/stg44\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/stg44\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/stg44\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/stg44\"\n\t\tAttackSound = \"Missile\", 9, \"weapons/stg44\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"Paratrooper\"\n\t\tCastName = \"Fallschirmjaeger\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/stg44\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/stg44\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/stg44\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/stg44\"\n\t\tAttackSound = \"Missile\", 9, \"weapons/stg44\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"Mutant\"\n\t\tCastName = \"Schabbs' Test Subject\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/luger\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/luger\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"Officer\"\n\t\tCastName = \"Hauptmann - P-38\"\n\t\tAttackSound = \"Missile\", 1, \"grunt/attack\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"SSOfficer\"\n\t\tCastName = \"Oberstleutnant (SS) - P-38\"\n\t\tAttackSound = \"Missile\", 1, \"grunt/attack\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"Doberman\"\n\t\tCastName = \"Rottweiler\"\n\t\tAttacksound = \"Melee\", 1, \"dog/attack\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"GermanShepherd\"\n\t\tCastName = \"German Shepherd\"\n\t\tAttacksound = \"Melee\", 1, \"dog/attack\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"RocketMan\"\n\t\tCastName = \"Otto Giftmacher - Rocketeer\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/rocklf\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"MadDoctor\"\n\t\tCastName = \"Dr. Schabbs - SS Paranormal Division\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"SuperSoldier\"\n\t\tCastName = \"Hans Grosse - Uber Soldat\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 9, \"weapons/chaingun\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"SuperSoldierGirl\"\n\t\tCastName = \"Gretel Grosse - Uber Soldat\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/ba5fire\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/ba5fire\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/ba5fire\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"SuperSoldierElite\"\n\t\tCastName = \"Franz Grosse - Uber Soldat Elite\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 9, \"weapons/chaingun\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"General\"\n\t\tCastName = \"General Fettgesicht\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/rocklf\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/rocklf\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/rocklf\"\n\t\tAttackSound = \"Chaingun\", 1, \"weapons/chaingun\"\n\t\tAttackSound = \"Chaingun\", 3, \"weapons/chaingun\"\n\t\tAttackSound = \"Chaingun\", 5, \"weapons/chaingun\"\n\t\tAttackSound = \"Chaingun\", 7, \"weapons/chaingun\"\n\t\tAttackSound = \"Chaingun\", 9, \"weapons/chaingun\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"FatMan\"\n\t\tCastName = \"Colonel Zweimeltod\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/rocklf\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/rocklf\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/rocklf\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/rocklf\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"FlamerMan\"\n\t\tCastName = \"Boss Grosse - Pyrolight\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/flamer\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/flamer\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/flamer\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/flamer\"\n\t\tAttackSound = \"Missile\", 9, \"weapons/flamer\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"ChairGuy\"\n\t\tCastName = \"Heinrich Krist - Rollstuhl-Rocket\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/rocklf\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/rocklf\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"HitlerGhost\"\n\t\tCastName = \"Hitler?\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/rocklf\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"Geist\"\n\t\tCastName = \"Geist\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"DeathKnight\"\n\t\tCastName = \"Death Knight\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/rocklf\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/rocklf\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/rocklf\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/rocklf\"\n\t\tAttackSound = \"Chaingun\", 1, \"weapons/chaingun\"\n\t\tAttackSound = \"Chaingun\", 3, \"weapons/chaingun\"\n\t\tAttackSound = \"Chaingun\", 5, \"weapons/chaingun\"\n\t\tAttackSound = \"Chaingun\", 7, \"weapons/chaingun\"\n\t\tAttackSound = \"Chaingun\", 9, \"weapons/chaingun\"\n\t}\n\tCast\n\t{\n\t\tCastClass = \"Hitler\"\n\t\tCastName = \"Hitler\"\n\t\tAttackSound = \"Missile\", 1, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 3, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 5, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 7, \"weapons/chaingun\"\n\t\tAttackSound = \"Missile\", 9, \"weapons/chaingun\"\n\t}\n\tLink = Doom2Cast\t// restart cast call\n}\n*/"
},
{
"source": "pk3",
"name": "gameinfo.txt",
"contents": "STARTUPTITLE = \"Weasel Presents: NAZIS!\"\nSTARTUPCOLORS = \"000000\", \"FF0000\""
},
{
"source": "pk3",
"name": "Textures.txt",
"contents": "Sprite STGIB0, 43, 117\n{\n\tOffset 22, 100\n\tPatch STGIA0, 0, 0\n\t{\n\t\tRotate -90\n\t}\n}\n\nSprite M1GPB0, 15, 70\n{\n\tOffset 7, 66\n\tPatch M1GPA0, 0, 0\n\t{\n\t\tRotate 90\n\t}\n}\n\nSprite MP40B0, 31, 78\n{\n\tOffset 15, 74\n\tPatch MP40A0, 0, 0\n\t{\n\t\tFlipX\n\t\tRotate 90\n\t}\n}\n\ndefine WLFSTART 3072 1920\ndefine WLFRATED 3072 1920\ndefine WLFTITLE 3072 1920"
},
{
"source": "pk3",
"name": "language.txt",
"contents": "[enu default]\n\nQUITMSG = \"Are you sure you want to\\nstop shooting Nazis?\";\nQUITMSG1 = \"In case you hadn't noticed,\\nthere is a Nazi invasion going on.\";\nQUITMSG2 = \"I implore you to reconsider.\";\nQUITMSG3 = \"Are you sure? Target-rich\\nenvironment in here...\";\nQUITMSG4 = \"Sure you don't want to go\\nkick Hitler's ass again?\";\nQUITMSG5 = \"Hate-mail can be directed to\\nthe following mailing address:\\n\\n1060 W. Addison St.\\nChicago, IL, 60613\\n\\n(wait, that's Wrigley Field)\";\nQUITMSG6 = \"Hey, come on, i'll save you\\na chaingun and some \\\"targets\\\"...\";\nQUITMSG7 = \"The war machine won't keep running\\nunless _YOU_ buy war bonds!\";\nQUITMSG8 = \"You know who else pressed Y?\\nHitler.\";\nQUITMSG9 = \"If you press Y,\\nyou press with Hitler!\";\nQUITMSG10 = \"I have ways of making you press N.\";\nQUITMSG11 = \"Okay, whatever, but that Y key\\nmight release mustard gas...\";\nQUITMSG12 = \"Might want to make sure your Y key\\nwon't detonate you, first.\";\nQUITMSG13 = \"Go to Skulltag Forums, tell 'em\\nWeasel sent you!\\n(and that ww-nazis won't run! =P)\";\nQUITMSG14 = \"Hey ron, can we say \\\"fuck\\\"\\nin the game? -JR\";\nTXT_YES = \"Ja\";\nTXT_NO = \"Nein\";\n\nSTSTR_DQDON = \"Inglorious Mode ON\";\nSTSTR_DQDOFF = \"Inglorious Mode OFF\";\nSTSTR_KFAADDED = \"Thank you for cheating.\";\nSTSTR_FAADDED = \"What, you needed ammo?\";\nSTSTR_NCON = \"Geist mode ON\";\nSTSTR_NCOFF = \"Geist mode OFF\";\nSTSTR_BEHOLDX = \"goodies dispensed.\";\nSTSTR_CHOPPERS = \"This cheat really doesn't do anything now\";\nTXT_DEFAULTPICKUPMSG = \"If you see this message, let weasel know what you were doing when it showed up\";"
},
{
"source": "pk3",
"name": "weapons/shovel.txt",
"contents": "ACTOR Shovel : Weapon\n{\n Weapon.SelectionOrder 9999\n Weapon.Kickback 100\n AttackSound \"shovel/impact\"\n Obituary \"%o was shcklonked with %k's shovel.\"\n +NOALERT\n +NOEXTREMEDEATH\n +NOAUTOFIRE\n States\n {\n Ready:\n SHUV A 1 A_WeaponReady\n Loop\n Deselect:\n\tSHUV A 0 A_Lower\n\t SHUV A 1 A_Lower\n Loop\n Select:\n\tSHUV A 0 A_Raise\n SHUV A 1 A_Raise\n\t Loop\n Fire:\n\t SHUV B 1 A_JumpIfInventory(\"PowerStrength\",1,\"PowerShovel\")\n\t SHUV B 1\n\t TNT1 A 0 A_Jump(250,2)\n\t TNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t SHUV B 1 Offset(15,32)\n\t SHUV B 1 Offset(30,33) A_PlayWeaponSound(\"shovel/miss\")\n\t SHUV B 1 Offset(52,35)\n\t SHUV B 1 Offset(78,38)\n\t SHUV B 1 Offset(92,44)\n\t SHUV B 1 Offset(64,50)\n\t SHUV C 1 Offset(30,38) A_CustomPunch(60,1,0,\"ShovelPuff\",100)\n\t SHUV C 1 Offset(1,44)\n\t SHUV D 1 Offset(-32,24)\n\t SHUV D 1 Offset(-50,28)\n\t SHUV E 1 Offset(-74,32)\n\t SHUV E 1 Offset(-100,36)\n\t TNT1 A 10\n\t SHUV A 1 Offset(60,60)\n\t SHUV A 1 Offset(50,55)\n\t SHUV A 1 Offset(40,50) A_WeaponReady(WRF_NOBOB)\n\t SHUV A 1 Offset(30,45) A_WeaponReady(WRF_NOBOB)\n\t SHUV A 1 Offset(20,40) A_WeaponReady(WRF_NOBOB)\n\t SHUV A 1 Offset(10,35) A_WeaponReady(WRF_NOBOB)\n\t Goto Ready\n PowerShovel:\n\t TNT1 A 0 A_Jump(250,2)\n\t TNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t SHUV B 1 Offset(5,32)\n\t SHUV B 1 Offset(10,33) A_PlayWeaponSound(\"shovel/miss\")\n\t SHUV B 1 Offset(16,35)\n\t SHUV B 1 Offset(24,38)\n\t SHUV B 1 Offset(26,39)\n\t SHUV B 1 Offset(27,40)\n\t SHUV C 1 Offset(20,38) A_CustomPunch(200,1,0,\"ShovelPuff\",100)\n\t SHUV C 1 Offset(10,39)\n\t SHUV C 1 Offset(-3,40)\n\t SHUV D 1 Offset(-19,32)\n\t SHUV D 1 Offset(-40,36)\n\t SHUV E 1 Offset(-64,40)\n\t SHUV E 1 Offset(-90,42)\n\t TNT1 A 10\n\t SHUV A 1 Offset(60,60)\n\t SHUV A 1 Offset(50,55)\n\t SHUV A 1 Offset(40,50) A_WeaponReady(WRF_NOBOB)\n\t SHUV A 1 Offset(30,45) A_WeaponReady(WRF_NOBOB)\n\t SHUV A 1 Offset(20,40) A_WeaponReady(WRF_NOBOB)\n\t SHUV A 1 Offset(10,35) A_WeaponReady(WRF_NOBOB)\n\t Goto Ready\n }\n}\n\nactor ShovelPuff\n{\n +NOBLOCKMAP\n +NOGRAVITY\n +PUFFONACTORS\n RenderStyle Add\n activesound \"\"\n attacksound \"shovel/wall\"\n seesound \"shovel/impact\"\n states\n {\n Spawn:\n \t POOF ABCDE 3\n Stop\n\t Melee:\n \t POOF ABCDE 3\n Stop\n\t Crash:\n \t POOF ABCDE 3\n Stop\n }\n}\n\n/*ACTOR Melee : Weapon\n{\n Weapon.SelectionOrder 1000\n Inventory.PickupSound \"misc/thisisacrappysound\"\n Inventory.PickupMessage \"i kno kungfu lol\"\n Weapon.Kickback 40\n AttackSound \"weapons/punch\"\n +NOALERT\n +NOEXTREMEDEATH\n States\n {\n Spawn:\n TNT1 A -1\n Loop\n Ready:\n PUNG A 1 A_WeaponReady\n Loop\n Deselect:\n PUNG A 1 A_Lower\n Loop\n Select:\n PUNG A 1 A_Raise\n Loop\n Fire:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PowerStrength\",1,\"PowerPunch\")\n TNT1 A 0 A_Jump(128,\"Fire2\")\n\t TNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n PUNG BC 1\n PUNG D 4 A_CustomPunch(3,0,0,\"HitPuff\")\n PUNG CB 2\n TNT1 A 5\n Goto Ready\n\tFire2:\n PUNG FG 1\n\t \t TNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n PUNG H 4 A_CustomPunch(4,0,0,\"HitPuff\")\n PUNG GF 2\n TNT1 A 5\n Goto Ready\n\tPowerPunch:\n TNT1 A 0 A_Jump(128,\"PowerPunch2\")\n PUNG BC 1\n\t \t TNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n PUNG D 4 A_CustomPunch(3*10,0,0,\"HitPuff\")\n PUNG CB 2\n TNT1 A 5\n Goto Ready\n\tPowerPunch2:\n PUNG FG 1\n\t \t TNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n PUNG H 4 A_CustomPunch(4*10,0,0,\"HitPuff\")\n PUNG GF 2\n TNT1 A 5\n Goto Ready\n }\n}*/"
},
{
"source": "pk3",
"name": "weapons/revolver.txt",
"contents": "ACTOR RevolverClip : Ammo replaces Clip\n{\n\tInventory.Amount 6\n\tInventory.MaxAmount 72\n\tAmmo.BackpackAmount 12\n\tAmmo.BackpackMaxAmount 108\n\tInventory.PickupMessage \"Picked up a speedloader.\"\n\tConversationID 186\n\tScale 0.5\n\tInventory.Icon REVAA0\n\tStates\n\t{\n\tSpawn:\n\t\tREVA A -1\n\t\tStop\n\t}\n}\n\nACTOR RevolverAmmo : Ammo\n{\n\t+IGNORESKILL\n\tInventory.MaxAmount 6\n\tInventory.Icon REVPA0\n}\n\nACTOR \".357 Revolver\" : Weapon\n{\n\tWeapon.AmmoType \"RevolverAmmo\"\n\tWeapon.AmmoUse 0\n\tWeapon.AmmoGive 0\n\tWeapon.AmmoType2 \"RevolverClip\"\n\tWeapon.AmmoUse2 1\n\tWeapon.AmmoGive2 9\n\tWeapon.Kickback 45\n\tWeapon.SelectionOrder 9999\n\tObituary \"%o was breached by %k's revolver.\"\n\tInventory.PickupMessage \"You got the revolver! (slot 2)\"\n\tDecal BulletChip\n\tScale 0.5\n\t+Ammo_Optional\n\t+Alt_Ammo_Optional\n\t+WEAPON.PRIMARY_USES_BOTH\n\t+Weapon.NoAlert\n \t// weapon.sisterweapon TargeterRevolver\n\tStates\n\t{\n\tSpawn:\n\t\tREVP A -1\n\t\tStop\n\tSelect:\n\t\tREVG A 0 A_Raise\n\t\tREVG A 1 A_Raise\n\t\tLoop\n\tDeselect:\n\t\tREVG A 0 A_Lower\n\t\tREVG A 1 A_Lower\n\t\tLoop\n\tReady:\n\t\tREVG A 0 A_JumpIfInventory(\"RevolverClip\",1,3)\n\t\tREVG A 0 A_JumpIfInventory(\"RevolverAmmo\",1,4)\n\t\tREVG A 1 A_WeaponReady(12)\n\t\tLoop\n\t\tREVG A 0 A_JumpIfInventory(\"RevolverAmmo\",6,2)\n\t\tREVG A 1 A_WeaponReady\n\t\tLoop\n\t\tREVG A 1 A_WeaponReady(8)\n\t\tLoop\n\tFire:\n\t\tREVG A 0 A_JumpIfInventory(\"RevolverAmmo\",1,1)\n\t\tGoto ProperReload\n\t\tREVG A 0 A_GunFlash\n\t\tREVG A 0 A_PlayWeaponSound(\"Weapons/Revolver\")\n\t\tREVG A 0 A_TakeInventory(\"RevolverAmmo\",1)\n\t\tTNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tREVG B 2 BRIGHT A_FireCustomMissile(\"RevolverTracer\",random(-15,15)/10.0,0,0,0,0,random(-8,8)/10.0)\n\t\tREVG C 1 Offset(0,38) A_SetPitch (pitch - 0.6)\n\t\tREVG D 1 Offset(0,44) A_SetPitch (pitch - 0.6)\n\t\tREVG D 1 Offset(0,56) A_SetPitch (pitch - 0.6)\n\t\tREVG D 1 Offset(0,52) A_AlertMonsters\n\t\tREVG C 1 Offset(0,50)\n\t\tREVG C 1 Offset(0,47)\n\t\tREVG C 1 Offset(0,44)\n\t\tREVG A 1 Offset(0,40) A_Jump(128,2)\n\t\tREVG A 1 Offset(0,36)\n\t\tREVG A 1 Offset(0,34)\n\t\tREVG A 1 Offset(0,33)\n\t\tREVG A 1 Offset(0,32)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 2 BRIGHT A_Light2\n\t\tTNT1 A 2 BRIGHT A_Light1\n\t\tTNT1 A 0 A_Light0\n\t\tStop\n\tAltfire:\n\t\tREVG A 0 A_JumpIfInventory(\"RevolverAmmo\",6,2)\n\t\tREVG A 0 A_JumpIfNoAmmo(1)\n\t\tGoto ProperReload\n\t\tREVG A 1\n\t\tGoto Ready\n\tProperReload:\n\t\tTNT1 A 0 A_Jump(160,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tREVG A 1 Offset(0,35) A_PlaysoundEx(\"weapons/revolverout\",SoundSlot6)\n\t\tREVG C 1 Offset(0,38)\n\t\tREVG C 1 Offset(0,44)\n\t\tREVG C 1 Offset(0,52)\n\t\tREVG D 1 Offset(0,62)\n\t\tREVG D 1 Offset(0,72)\n\t\tREVG D 1 Offset(0,82)\n\t\tTNT1 A 8\n\tReloadLoop:\n\t\tTNT1 A 0 A_TakeInventory(\"RevolverClip\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"RevolverAmmo\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"RevolverAmmo\",6,\"ReloadFinish\")\n\t\tTNT1 A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n\t\tGoto ReloadLoop\n\tReloadFinish:\n\t\tTNT1 A 3\n\t\tRHND A 3 Offset(0,32)\n\t\tRHND B 3 A_PlaysoundEx(\"weapons/revolverload\",SoundSlot6)\n\t\tRHND C 2\n\t\tRHND BAD 3\n\t\tTNT1 A 4\n\t\tREVG D 1 Offset(0,82) A_PlaysoundEx(\"weapons/revolverin\",SoundSlot6)\n\t\tREVG D 1 Offset(0,72)\n\t\tREVG D 1 Offset(0,62)\n\t\tREVG C 1 Offset(0,52)\n\t\tREVG C 1 Offset(0,44)\n\t\tREVG C 1 Offset(0,38)\n\t\tREVG A 1 Offset(0,35)\n\t\tREVG A 1 Offset(0,32)\n\t\tGoto Ready\n\t}\n}\n\nACTOR RevolverPuff : BulletPuff\n{\n\t+NOEXTREMEDEATH\n}"
},
{
"source": "pk3",
"name": "weapons/shotgun.txt",
"contents": "ACTOR ShotgunReloading : Inventory\n{\n\tinventory.maxamount 1\n}\n\nACTOR ShotgunClip : Ammo\n{\n\t+IGNORESKILL\n\tInventory.MaxAmount 8\n}\n\nACTOR \"M1897 Trenchgun\" : Weapon replaces Shotgun\n{\n\tWeapon.SlotNumber 8\n\tWeapon.AmmoType1 \"ShotgunClip\"\n\tWeapon.AmmoUse1 0\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType2 \"NewShell\"\n\tWeapon.AmmoUse2 1\n\tWeapon.AmmoGive2 8\n\tInventory.PickupMessage \"You got the Winchester Trenchgun! (slot 3)\"\n\t+WEAPON.NOAUTOFIRE\n\t+WEAPON.NOALERT\n\t+WEAPON.AMMO_OPTIONAL\n\t\t+Alt_Ammo_Optional\n\t\t+WEAPON.PRIMARY_USES_BOTH\n\t\tScale 0.5\n\tAttackSound \"Shotgun/Fire\"\n\tStates\n\t{\n\tSpawn:\n\t\tSHOT A -1\n\t\tStop\n\tSelect:\n\t\tSHTG A 0 A_Raise\n\t\tSHTG A 1 A_Raise\n\t\tLoop\n\tDeselect:\n\t\tSHTG A 0 A_Lower\n\t\tSHTG A 1 A_Lower\n\t\tLoop\n\tReady:\n\t\tSHTG A 0 A_JumpIfInventory(\"NewShell\",1,3)\n\t\tSHTG A 0 A_JumpIfInventory(\"ShotgunClip\",1,4)\n\t\tSHTG A 1 A_WeaponReady(12)\n\t\tLoop\n\t\tSHTG A 0 A_JumpIfInventory(\"ShotgunClip\",8,2)\n\t\tSHTG A 1 A_WeaponReady\n\t\tLoop\n\t\tSHTG A 1 A_WeaponReady(8)\n\t\tLoop\n\tFire:\n\t\tSHTF A 0 A_JumpIfInventory(\"ShotgunReloading\",1,\"ReloadFinish\")\n\t\tSHTF A 0 A_JumpIfInventory(\"ShotgunClip\",1,1)\n\t\tGoto Dryfire\n\t\tSHTF A 0 A_TakeInventory(\"ShotgunClip\",1)\n\t\tSHTF A 0 A_PlayWeaponSound(\"Shotgun/Fire\")\n\t\tSHTF AAAAAAAAAA 0 A_FireCustomMissile(\"ShotgunTracer\",random(-20,20)/10.0,0,0,0,0,random(-15,15)/10.0)\n\t\tSHTF A 1 BRIGHT A_GunFlash\n\t\tSHTG A 1 BRIGHT A_SetPitch(pitch - 4.0)\n\t\tSHTG A 1 Offset(0,40) A_SetPitch(pitch - 2.0)\n\t\tSHTG A 1 Offset(0,36) A_SetPitch(pitch - 1.0)\n\t\tSHTG A 1 Offset(0,34) A_SetPitch(pitch + 1.0)\n\t\tSHTG A 1 Offset(0,33) A_SetPitch(pitch + 0.5)\n\t\tSHTG A 1 A_WeaponReady(WRF_NOFIRE)\n\t\tSHTG A 6 A_AlertMonsters\n\t\tSHTG A 1 Offset(-1,33)\n\t\tTNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tSHTG B 1 Offset(5,34) A_PlaysoundEx(\"Shotgun/Pump\",SoundSlot6)\n\t\tSHTG B 1 Offset(2,36)\n\t\tSHTG B 1 Offset(-1,38)\n\t\tSHTG C 1 Offset(3,35)\n\t\tSHTG C 1 Offset(-1,38)\n\t\tSHTG D 1 Offset(-4,41)\n\t\tSHTG D 1 Offset(-4,43)\n\t\tSHTG E 1 Offset(-4,45)\n\t\tSHTG E 1 Offset(-3,44)\n\t\tSHTG D 1 Offset(-2,40)\n\t\tSHTG D 1 Offset(-4,41)\n\t\tSHTG C 1 Offset(-1,38)\n\t\tSHTG C 1 Offset(-1,37)\n\t\tSHTG B 1 Offset(1,36)\n\t\tSHTG B 1 Offset(2,36)\n\t\tSHTG B 1 Offset(5,34)\n\t\tSHTG A 1\n\t\tGoto Ready\n\tDryfire:\n\t\tSHTG A 1\n\tAltfire:\n\t\tSHTF A 0 A_JumpIfInventory(\"ShotgunReloading\",1,\"ReloadFinish\")\n\t\tSHTG A 0 A_JumpIfInventory(\"ShotgunClip\",8,2)\n\t\tSHTF A 0 A_JumpIfNoAmmo(1)\n\t\tGoto ProperReload\n\t\tSHTF A 1\n\t\tGoto Ready\n\tProperReload:\n\t\tTNT1 A 0 A_Jump(128,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tTNT1 A 0 A_GiveInventory(\"ShotgunReloading\",1)\n\t\tSHTG A 1 Offset(-1,33)\n\t\tSHTG B 1 Offset(5,34)\n\t\tSHTG B 1 Offset(2,36)\n\t\tSHTG B 1 Offset(-1,38)\n\t\tSHTG C 1 Offset(3,35)\n\t\tSHTG C 1 Offset(-1,38)\n\t\tSHTG C 1 Offset(-4,41)\n\t\tSHTG C 1 Offset(-6,46)\n\t\tSHTG C 1 Offset(-7,55)\n\tReloadWork:\n\t\tSHTG A 0 A_TakeInventory(\"NewShell\",1)\n\t\tSHTG A 0 A_GiveInventory(\"ShotgunClip\",1)\n\t\tSHTG C 1 Offset(-8,58) A_PlayWeaponSound(\"Shotgun/Load\")\n\t\tSHTG C 1 Offset(-9,64)\n\t\tSHTG C 1 Offset(-10,70)\n\t\tSHTG C 1 Offset(-10,68)\n\t\tSHTG C 1 Offset(-9,66)\n\t\tSHTG C 1 Offset(-9,64)\n\t\tSHTG C 1 Offset(-9,62)\n\t\tSHTG C 1 Offset(-8,61) A_WeaponReady(1)\n\t\tSHTG C 1 Offset(-8,60) A_WeaponReady(1)\n\t\tSHTG CC 1 Offset(-8,59) A_WeaponReady(1)\n\t\tSHTG CCC 1 Offset(-8,58) A_WeaponReady(1)\n\t\tSHTG A 0 A_JumpIfInventory(\"ShotgunClip\",8,\"ReloadFinish\")\n\t\tSHTG A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n\t\tGoto ReloadWork\n\tReloadFinish:\n\t\tSHTG C 1 Offset(3,35) A_PlaySound(\"Shotgun/Pump\")\n\t\tSHTG C 1 Offset(-1,38)\n\t\tSHTG D 1 Offset(-4,41)\n\t\tSHTG D 1 Offset(-1,33)\n\t\tSHTG E 1 Offset(-2,37)\n\t\tSHTG E 1 Offset(-3,43)\n\t\tSHTG D 1 Offset(-2,40)\n\t\tSHTG D 1 Offset(-4,41)\n\t\tSHTG C 1 Offset(-1,38)\n\t\tSHTG C 1 Offset(3,35)\n\t\tSHTG B 1 Offset(-1,38)\n\t\tSHTG B 1 Offset(2,36)\n\t\tSHTG B 1 Offset(5,34) A_TakeInventory(\"ShotgunReloading\",1)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 2 BRIGHT A_Light2\n\t\tTNT1 A 2 BRIGHT A_Light1\n\t\tTNT1 A 0 A_Light0\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "weapons/flamer.txt",
"contents": "ACTOR FlameLoad : Ammo\n{\n\tInventory.MaxAmount 50\n\t+IGNORESKILL\n}\n\nACTOR FlameAmmo : Ammo replaces RocketBox\n{\n Radius 40\n Height 16\n Inventory.PickupMessage \"A petrol canister.\"\n Inventory.Amount 40\n Inventory.MaxAmount 175\n Ammo.BackpackAmount 10\n Ammo.BackpackMaxAmount 350\n ConversationID 184\n Inventory.Icon FAMOA0\n Scale 0.8\n States\n {\n Spawn:\n FAMO A -1\n Stop\n }\n}\n\nACTOR Flamebolt\n{\n Damage 1\n Alpha 0.90\n RenderStyle Add\n Speed 25\n\tRadius 16\n\tScale 0.35\n PROJECTILE\n +Ripper\n +FIREDAMAGE\n +STRIFEDAMAGE\n\t+THRUSPECIES\n\t+BLOODLESSIMPACT\n\tSpecies \"Player\"\n SeeSound \"weapons/flamer\"\n\tDamageType Fire\n\tDecal Scorch\n States\n {\n Spawn:\n FBLX ABCD 2 BRIGHT\n\t FBLX E 2 BRIGHT A_Explode(2,64)\n FBLX FGHIJK 2 BRIGHT\n Stop\n Death:\n FBLX A 1 Bright A_Explode(2,64)\n FBLX BCDEFGHIJK 1 BRIGHT\n Stop\n }\n}\n\nACTOR EnemyFlamerShot : Flamebolt\n{\n\t-Ripper\n\t-THRUSPECIES\n\tSpecies \"Enemy\"\n\tDamageType \"Enemy\"\n\tStates\n {\n Spawn:\n FBLX ABCD 2 BRIGHT\n\t FBLX E 2 BRIGHT A_Explode(2,64,0)\n FBLX FGHIJK 2 BRIGHT\n Stop\n Death:\n FBLX A 1 Bright A_Explode(2,64,0)\n FBLX BCDEFGHIJK 1 BRIGHT\n Stop\n }\n}\n\nACTOR Flameball\n{\n Damage 30\n Alpha 0.90\n RenderStyle Add\n Speed 20\n Radius 16\n PROJECTILE\n +FIREDAMAGE\n +THRUSPECIES\n Species \"Player\"\n SeeSound \"weapons/napalm\"\n DamageType Fire\n Decal Scorch\n States\n {\n Spawn:\n FBAL ABC 3 BRIGHT\n Loop\n Death:\n FBLX A 0 BRIGHT A_PlaySound(\"weapons/nebxpl\")\n FBLX A 2 BRIGHT A_Explode(96,128)\n FBLX BCDEFGHIJK 2 BRIGHT\n Stop\n }\n}\n\nACTOR EnemyFlamebolt : Flameball\n{\n\t-THRUSPECIES\n\tDamageType \"Enemy\"\n\tSpecies \"Enemy\"\n\tDamage 8\n\tScale 0.5\n\tStates\n {\n Spawn:\n FBAL ABC 3 BRIGHT\n Loop\n Death:\n FBLX A 0 BRIGHT A_PlaySound(\"weapons/nebxpl\")\n FBLX A 2 BRIGHT A_Explode(8,64,0)\n FBLX BCDEFGHIJK 2 BRIGHT\n Stop\n }\n}\n\nACTOR EnemyFlamebolt2 : Flameball\n{\n\t-THRUSPECIES\n\tDamageType \"Enemy\"\n\tSpecies \"Enemy\"\n\tDamage 5\n\tScale 0.35\n\t+STRIFEDAMAGE\n\tStates\n {\n Spawn:\n FBAL ABC 3 BRIGHT\n Loop\n Death:\n FBLX A 0 BRIGHT A_PlaySound(\"weapons/nebxpl\")\n FBLX ABCDEFGHIJK 2 BRIGHT\n Stop\n }\n}\n\nACTOR Pyrolight : Weapon replaces RocketLauncher\n{\n Weapon.SelectionOrder 195\n Inventory.PickupSound \"misc/w_pkup\"\n Inventory.PickupMessage \"You got the Pyrolight!\"\n Weapon.Kickback 20\n Weapon.AmmoType1 \"FlameLoad\"\n Weapon.AmmoType2 \"FlameAmmo\"\n Weapon.AmmoGive1 0\n Weapon.AmmoGive2 25\n Weapon.AmmoUse1 1\n Weapon.AmmoUse2 10\n ConversationID 190\n +Weapon.Ammo_Optional\n +Weapon.Alt_Ammo_Optional\n Scale 0.5\n States\n {\n Spawn:\n FLMT A -1\n Loop\n Ready:\n\t TNT1 A 0 A_JumpIfInventory(\"ReloadFlamer\", 1, \"Reload\")\n\t FFTR A 0 A_JumpIfInventory(\"FlameAmmo\",1,5)\n\t FFTR A 0 A_JumpIfInventory(\"FlameLoad\",1,2)\n\t FFTR A 1 A_WeaponReady(12)\n\t Loop\n\t FFTR A 0 A_JumpIfInventory(\"FlameLoad\",10,2)\n\t FFTR A 1 A_WeaponReady(8)\n\t Loop\n\t FFTR A 1 A_WeaponReady\n\t Loop\n Deselect:\n\tFFTR A 0 A_Lower\n FFTR A 1 A_Lower\n Loop\n Select:\n\tFFTR A 0 A_Raise\n FFTR A 1 A_Raise\n Loop\n Fire:\n\t\tFFTF A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\tFFTF A 0 A_Light2\n FFTF A 1 Offset(0,35) BRIGHT A_FireCustomMissile(\"Flamebolt\", 0, 1, 0, 0)\n\t FFTF A 1 Offset(0,36) BRIGHT\n FFTR A 0 A_Refire\n FFTR A 20 A_GunFlash\n Goto Ready\n Flash:\n FFTF B 2 A_PlaySound(\"weapons/steam\")\n FFTF CDEF 2 A_Light0\n Stop\n AltFire:\n\t\tFFTR A 1 A_JumpIfInventory(\"FlameLoad\",10,\"AltfireReal\")\n\t\tGoto Reload\n\tAltfireReal:\n\t\tFFTF A 0 A_TakeInventory(\"FlameLoad\",10)\n\t\tFFTF A 0 A_PlaySound(\"weapons/napalm\")\n FFTF A 1 BRIGHT A_FireCustomMissile(\"Flameball\", 0, 0, 0, 0)\n FFTF A 1 Offset(0,34)\n\t FFTF A 1 Offset(0,36)\n\t FFTR A 1 Offset(0,40)\n\t FFTR A 1 Offset(0,44)\n\t FFTR A 1 Offset(0,45)\n\t FFTR A 1 Offset(0,43)\n\t FFTR A 1 Offset(0,40)\n\t FFTR A 1 Offset(0,36)\n FFTR A 11 Offset(0,32) A_GunFlash\n Goto Ready\n\t Dryfire:\n\t\tFFTR B 1\n\t\tGoto Reload\n\tReload:\n\t\tFFTR A 0 A_JumpIfInventory(\"FlameLoad\",50,2)\n\t\tFFTR A 0 A_JumpIfInventory(\"FlameAmmo\",1,3)\n\t\tFFTR A 0 A_TakeInventory(\"ReloadFlamer\", 1)\n\t\tFFTR A 1 A_WeaponReady(14)\n\t\tGoto Ready\n\t\tFFTR B 0 A_Jump(128,2)\n\t\tFFTR B 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tFFTR B 1 Offset(0,35) A_PlaysoundEx(\"reloads/flamer\",SoundSlot6)\n\t\tFFTR B 1 Offset(0,38)\n\t\tFFTR B 1 Offset(0,40)\n\t\tFFTR B 1 Offset(0,42)\n\t\tFFTR B 1 Offset(0,44)\n\t\tFFTR B 1 Offset(0,47)\n\t\tFFTR B 1 Offset(0,50)\n\t\tFFTR B 1 Offset(0,52)\n\t\tFFTR B 1 Offset(-1,54)\n\t\tFFTR B 1 Offset(-2,56)\n\t\tFFTR B 1 Offset(-3,58)\n\t\tFFTR B 1 Offset(-4,58)\n\t\tFFTR B 1 Offset(-4,57)\n\t\tFFTR B 1 Offset(-4,56)\n\t\tFFTR B 1 Offset(-4,55)\n\t\tFFTR B 1 Offset(-3,54)\n\t\tFFTR B 1 Offset(-3,53)\n\t\tFFTR B 1 Offset(-3,52)\n\t\tFFTR B 1 Offset(-3,51)\n\t\tFFTR B 1 Offset(-3,52)\n\t\tFFTR B 1 Offset(-3,53)\n\t\tFFTR B 1 Offset(-3,55)\n\t\tFFTR B 1 Offset(-3,56)\n\tReloadWork:\n\t\tFFTR B 0 A_TakeInventory(\"FlameAmmo\",1)\n\t\tFFTR B 0 A_GiveInventory(\"FlameLoad\",1)\n\t\tFFTR B 0 A_JumpIfInventory(\"FlameLoad\",50,\"ReloadFinish\")\n\t\tFFTR B 0 A_JumpIfInventory(\"FlameAmmo\",1,\"ReloadWork\")\n\tReloadFinish:\n\t\tTNT1 A 0 A_TakeInventory(\"ReloadFlamer\", 1)\n\t\tFFTR B 1 Offset(-3,57)\n\t\tFFTR B 1 Offset(-3,59)\n\t\tFFTR B 1 Offset(-3,61)\n\t\tFFTR B 1 Offset(-3,63)\n\t\tFFTR B 1 Offset(-3,65)\n\t\tFFTR B 1 Offset(-3,67)\n\t\tFFTR B 1 Offset(-3,65)\n\t\tFFTR B 1 Offset(-3,64)\n\t\tFFTR B 1 Offset(-3,63)\n\t\tFFTR B 1 Offset(-3,62)\n\t\tFFTR B 1 Offset(-3,58)\n\t\tFFTR B 1 Offset(-3,55)\n\t\tFFTR B 1 Offset(-2,53)\n\t\tFFTR B 1 Offset(-2,51)\n\t\tFFTR B 1 Offset(-2,49)\n\t\tFFTR B 1 Offset(-2,48)\n\t\tFFTR B 1 Offset(-2,46)\n\t\tFFTR B 1 Offset(-2,45)\n\t\tFFTR B 1 Offset(-1,44)\n\t\tFFTR B 1 Offset(-1,46)\n\t\tFFTR B 1 Offset(-1,47)\n\t\tFFTR B 1 Offset(0,49)\n\t\tFFTR B 1 Offset(0,47)\n\t\tFFTR B 1 Offset(0,45)\n\t\tFFTR B 1 Offset(0,44)\n\t\tFFTR B 1 Offset(0,42)\n\t\tFFTR B 1 Offset(0,40)\n\t\tFFTR B 1 Offset(0,38)\n\t\tFFTR B 1 Offset(0,37)\n\t\tFFTR B 1 Offset(0,36)\n\t\tFFTR B 1 Offset(0,35)\n\t\tFFTR B 1 Offset(0,34)\n\t\tFFTR B 1 Offset(0,33)\n\t\tFFTR B 1 Offset(0,32)\n\t\tFFTR B 1 Offset(2,34)\n\t\tFFTR B 1 Offset(4,36)\n\t\tFFTR B 1 Offset(6,38)\n\t\tFFTR B 1 Offset(8,40)\n\t\tFFTR B 1 Offset(8,41)\n\t\tFFTR B 1 Offset(8,42)\n\t\tFFTR B 1 Offset(8,43)\n\t\tFFTR B 1 Offset(8,44)\n\t\tFFTR B 1 Offset(8,45)\n\t\tFFTR B 1 Offset(8,46)\n\t\tFFTR B 1 Offset(8,47)\n\t\tFFTR B 1 Offset(8,48)\n\t\tFFTR B 1 Offset(8,47)\n\t\tFFTR B 1 Offset(8,46)\n\t\tFFTR B 1 Offset(8,45)\n\t\tFFTR B 1 Offset(8,44)\n\t\tFFTR B 1 Offset(8,43)\n\t\tFFTR A 1 Offset(8,44)\n\t\tFFTR A 1 Offset(9,45)\n\t\tFFTR A 1 Offset(10,46)\n\t\tFFTR A 1 Offset(9,47)\n\t\tFFTR A 1 Offset(8,48)\n\t\tFFTR A 1 Offset(7,47)\n\t\tFFTR A 1 Offset(6,46)\n\t\tFFTR A 1 Offset(5,45)\n\t\tFFTR A 1 Offset(6,44)\n\t\tFFTR A 1 Offset(7,43)\n\t\tFFTR A 1 Offset(8,42)\n\t\tFFTR A 1 Offset(4,40)\n\t\tFFTR A 1 Offset(3,35)\n\t\tFFTR A 1 Offset(2,34)\n\t\tFFTR A 1 Offset(1,33)\n\t\tGoto Ready\n\t}\n}"
},
{
"source": "pk3",
"name": "weapons/umg43.txt",
"contents": "ACTOR UMG-43 : Weapon\n{\n\tInventory.PickupMessage \"You got the Ubermaschinengewehr 43!\"\n\tInventory.PickupSound \"chaingun/get\"\n\tWeapon.AmmoType1 \"MPClip\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive1 30\n\tConversationID 193\n\tDecal \"BulletChip\"\n\tStates\n\t{\n\tSpawn:\n\t\tUMGP A -1\n\t\tStop\n\tSelect:\n\t\tUMGG A 0 A_Raise\n\t\tUMGG A 1 A_Raise\n\t\tLoop\n\tDeselect:\n\t\tUMGG D 0 A_StopSoundEx(\"SoundSlot5\")\n\t\tUMGG A 0 A_Lower\n\t\tUMGG A 1 A_Lower\n\t\tLoop\n\tReady:\n\t\tUMGG D 0 A_StopSoundEx(\"SoundSlot5\")\n\t\tUMGG A 1 A_WeaponReady\n\t\tLoop\n\tFire:\n\t\tUMGG A 0 A_PlaySound(\"weapons/chaingunstart\")\n\t\tUMGG A 0 A_PlaySoundEx(\"weapons/chaingunloop\",\"SoundSlot5\",1)\n\t\tTNT1 A 0 A_Jump(192,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tUMGG AAAABBBCCD 1\n\t\tUMGG D 1 A_Refire\n\t\tUMGG D 0 A_PlaySound(\"weapons/chaingunstop\")\n\t\tUMGG D 0 A_StopSoundEx(\"SoundSlot5\")\n\t\tUMGG DABCDABCDAABBBCCCCDDDDD 1 A_WeaponReady\n\t\tGoto Ready\n\tHold:\n\t\tUMGF A 0 A_GunFlash\n\t\tUMGF A 0 A_SetPitch(pitch - 0.34)\n\t\tUMGF A 0 A_PlayWeaponSound(\"weapons/chaingun\")\n\t\tUMGF A 1 BRIGHT Offset(0,34) A_FireCustomMissile(\"ChaingunTracer\",random(-50,50)/10.0,1,0,0,0,random(-30,30)/10.0)\n\t\tUMGF A 0 A_SetPitch(pitch - 0.34)\n\t\tUMGG C 1 Offset(0,36) A_FireCustomMissile(\"ChaingunTracer\",random(-50,50)/10.0,1,0,0,0,random(-30,30)/10.0)\n\t\tUMGF A 0 A_GunFlash\n\t\tUMGF A 0 A_SetPitch(pitch - 0.34)\n\t\tUMGF A 0 A_PlayWeaponSound(\"weapons/chaingun\")\n\t\tUMGF B 1 Offset(0,37) BRIGHT A_FireCustomMissile(\"ChaingunTracer\",random(-50,50)/10.0,1,0,0,0,random(-30,30)/10.0)\n\t\tUMGF A 0 A_SetPitch(pitch - 0.34)\n\t\tUMGG C 1 Offset(0,35) A_FireCustomMissile(\"ChaingunTracer\",random(-50,50)/10.0,1,0,0,0,random(-30,30)/10.0)\n\t\tUMGG A 1 BRIGHT A_Refire\n\t\tUMGG D 0 A_PlaySound(\"weapons/chaingunstop\")\n\t\tUMGG D 0 Offset(0,32) A_StopSoundEx(\"SoundSlot5\")\n\t\tUMGG DABCDABCDAABBBCCCCDDDDD 1 A_WeaponReady\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 2 BRIGHT A_Light2\n\t\tTNT1 A 2 BRIGHT A_Light1\n\t\tTNT1 A 0 A_Light0\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "weapons/StG44.txt",
"contents": "ACTOR STGClip : Ammo replaces Cell\n{\n\tInventory.Amount 15\n\tInventory.MaxAmount 150\n\tAmmo.BackpackAmount 30\n\tAmmo.BackpackMaxAmount 270\n\tConversationID 183\n\tInventory.PickupMessage \"Picked up some Rifle ammo.\"\n\tInventory.Icon \"762AA0\"\n\tStates\n\t{\n\tSpawn:\n\t\t762A A -1\n\t\tStop\n\t}\n}\n\nACTOR STGAmmo : Ammo\n{\n\t+IGNORESKILL\n\tInventory.MaxAmount 30\n\tInventory.Icon STGIA0\n}\n\nActor STG-44 : Weapon\n{\n attacksound \"Weapons/STGFIRE\"\n inventory.pickupmessage \"You got the Sturmgewehr 44!\"\n Weapon.SlotNumber 6\n weapon.kickback 100\n Weapon.AmmoType \"STGAmmo\"\n Weapon.AmmoUse1 0\n Weapon.AmmoGive1 0\n weapon.ammotype2 \"STGClip\"\n weapon.ammouse2 1\n weapon.ammogive2 20\n ConversationID 195\n Scale 0.5\n Decal \"BulletChip\"\n +Ammo_Optional\n \t+Alt_Ammo_Optional\n\t+WEAPON.PRIMARY_USES_BOTH\n\t+Weapon.NoAlert\n States\n {\n\tReady:\n\t\tSTGG A 0 A_JumpIfInventory(\"STGClip\",1,3)\n\t\tSTGG A 0 A_JumpIfInventory(\"STGAmmo\",1,4)\n\t\tSTGG A 1 A_WeaponReady(12)\n\t\tLoop\n\t\tSTGG A 0 A_JumpIfInventory(\"STGAmmo\",30,2)\n\t\tSTGG A 1 A_WeaponReady\n\t\tLoop\n\t\tSTGG A 1 A_WeaponReady(8)\n\t\tLoop\n\tDeselect:\n\t\tSTGG A 0 A_Lower\n\t\tSTGG A 1 A_Lower\n\t\tLoop\n\tSelect:\n\t\tSTGG A 0 A_Raise\n\t\tSTGG A 1 A_Raise\n\t\tLoop\n\tFire:\n\t\tSTGG A 0 A_JumpIfInventory(\"STGAmmo\",1,1)\n\t\tGoto Dryfire\n\t\tSTGF A 0 A_GunFlash\n\t\tTNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tSTGF A 0 A_PlayWeaponSound(\"Weapons/STGFIRE\")\n\t\tSTGF A 0 A_TakeInventory(\"STGAmmo\",1)\n\t\tSTGF A 1 bright A_FireCustomMissile(\"STGTracer\",random(-12,12)/10.0,0,0,0,0,random(-10,10)/10.0)\n\t\tSTGF B 1 bright Offset(0,38) A_SetPitch(pitch - 1.0)\n\t\tSTGG A 1 Offset(0,37) A_AlertMonsters\n\t\tSTGG A 1 Offset(0,36)\n\t\tSTGG A 0 Offset(0,32)\n\t\tGoto Ready\n\tDryfire:\n\t\tSTGG A 1\n\tAltfire:\n\t\tSTGG A 0 A_JumpIfInventory(\"STGAmmo\",30,2)\n\t\tSTGG A 0 A_JumpIfNoAmmo(1)\n\t\tGoto ProperReload\n\t\tSTGG A 1\n\t\tGoto Ready\n\tProperReload:\n\t\tSTGG A 1 Offset(0,35) A_PlaysoundEx(\"reloads/stg\",SoundSlot6)\n\t\tTNT1 A 0 A_Jump(160,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tSTGG A 1 Offset(0,38)\n\t\tSTGG A 1 Offset(0,44)\n\t\tSTGG A 1 Offset(-2,46)\n\t\tSTGG A 1 Offset(-4,52)\n\t\tSTGG A 1 Offset(-7,56)\n\t\tSTGG A 1 Offset(-10,57)\n\t\tSTGG A 8 Offset(-11,58)\n\tReloadLoop:\n\t\tTNT1 A 0 A_TakeInventory(\"STGClip\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"STGAmmo\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"STGAmmo\",30,\"ReloadFinish\")\n\t\tTNT1 A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n\t\tGoto ReloadLoop\n\tReloadFinish:\n\t\tSTGG A 1 Offset(-10,58)\n\t\tSTGG A 1 Offset(-10,61)\n\t\tSTGG A 1 Offset(-10,65)\n\t\tSTGG A 1 Offset(-10,71)\n\t\tSTGG A 1 Offset(-10,65)\n\t\tSTGG A 1 Offset(-10,60)\n\t\tSTGG A 1 Offset(-10,55)\n\t\tSTGG A 1 Offset(-10,53)\n\t\tSTGG A 1 Offset(-10,51)\n\t\tSTGG A 1 Offset(-9,50)\n\t\tSTGG A 1 Offset(-8,46)\n\t\tSTGG A 1 Offset(-7,43)\n\t\tSTGG A 1 Offset(-5,40)\n\t\tSTGG A 1 Offset(-3,37)\n\t\tSTGG A 1 Offset(-1,34)\n\t\tSTGG A 1 Offset(0,32)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 2 BRIGHT A_Light2\n\t\tTNT1 A 2 BRIGHT A_Light1\n\t\tTNT1 A 0 A_Light0\n\t\tStop\n\tSpawn:\n\t\tSTGI A -1\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "weapons/browning.txt",
"contents": "ACTOR NewShell : Ammo\n{\n\tInventory.PickupMessage \"Picked up some shotgun shells.\"\n Inventory.Amount 4\n Inventory.MaxAmount 30\n Ammo.BackpackAmount 4\n Ammo.BackpackMaxAmount 60\n Inventory.Icon \"SHELA0\"\n States\n {\n Spawn:\n SHEL A -1\n Stop\n }\n}\n\nACTOR NewShellBox : NewShell\n{\n\tInventory.Amount 16\n\tConversationID 180\n\tInventory.PickupMessage \"Picked up a box of shells.\"\n\tStates\n\t{\n\tSpawn:\n\t\tSBOX A -1\n\t\tStop\n\t}\n}\n\nACTOR BrowningLoaded : Ammo\n{\n\tInventory.MaxAmount 4\n\t+IGNORESKILL\n}\n\nACTOR \"Browning Auto-5\" : Weapon replaces SuperShotgun\n{\n\tGame Doom\n\tSpawnID 33\n\tWeapon.SelectionOrder 400\n\tWeapon.AmmoUse1 0\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType1 \"BrowningLoaded\"\n\tWeapon.AmmoType2 \"NewShell\"\n\tWeapon.AmmoGive2 8\n\tWeapon.AmmoUse2 1\n\tScale 0.5\n Decal BulletChip\n\tInventory.PickupMessage \"You got the Browning Auto-5!\"\n\tObituary \"%o was peppered by %k's auto shotgun.\"\n AttackSound \"weapons/ba5fire\"\n\t+NOAUTOFIRE\n\t+NoAlert\n\t+Ammo_Optional\n\t+Alt_Ammo_Optional\n\t+Primary_Uses_Both\n\tStates\n\t{\n\tSpawn:\n\t\tBA5P A -1\n\t\tStop\n\tSelect:\n\t\tBA5G A 0 A_Raise\n\t\tBA5G A 1 A_Raise\n\t\tLoop\n\tDeselect:\n\t\tBA5G A 0 A_Lower\n\t\tBA5G A 1 A_Lower\n\t\tLoop\n\tReady:\n\t\tBA5G A 0 A_JumpIfInventory(\"NewShell\",1,3)\n\t\tBA5G A 0 A_JumpIfInventory(\"BrowningLoaded\",1,4)\n\t\tBA5G A 1 A_WeaponReady(12)\n\t\tLoop\n\t\tBA5G A 0 A_JumpIfInventory(\"BrowningLoaded\",4,2)\n\t\tBA5G A 1 A_WeaponReady\n\t\tLoop\n\t\tBA5G A 1 A_WeaponReady(8)\n\t\tLoop\n\tFire:\n\t\tBA5G A 0 A_JumpIfInventory(\"ShotgunReloading\",1,\"ReloadFinish\")\n\t\tBA5G A 0 A_JumpIfInventory(\"BrowningLoaded\",1,1)\n\t\tGoto Dryfire\n\t\tBA5G A 0 A_TakeInventory(\"BrowningLoaded\",1)\n\t\tBA5G A 0 A_PlayWeaponSound(\"weapons/ba5fire\")\n\t\tBA5G AAAAAAAAAA 0 A_FireCustomMissile(\"ShotgunTracer\",random(-40,40)/10.0,0,0,0,0,random(-30,30)/10.0)\n\t\tBA5G B 1 BRIGHT A_GunFlash\n\t\tBA5G C 1 BRIGHT A_SetPitch(pitch - 4.0)\n\t\tBA5G D 1 Offset(0,40) A_SetPitch(pitch - 2.0)\n\t\tBA5G A 1 Offset(0,36) A_SetPitch(pitch - 1.0)\n\t\tBA5G A 1 Offset(0,34) A_SetPitch(pitch + 1.0)\n\t\tBA5G A 1 Offset(0,33) A_SetPitch(pitch + 0.5)\n\t\tBA5G A 1 A_WeaponReady(26)\n\t\tBA5G A 1 A_AlertMonsters\n\t\tBA5G A 1 Offset(-1,33)\n\t\tTNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tBA5G A 1\n\t\tGoto Ready\n\tDryfire:\n\t\tBA5G A 1\n\tAltfire:\n\t\tBA5G A 0 A_JumpIfInventory(\"ShotgunReloading\",1,\"ReloadFinish\")\n\t\tBA5G A 0 A_JumpIfInventory(\"BrowningLoaded\",4,2)\n\t\tBA5G A 0 A_JumpIfNoAmmo(1)\n\t\tGoto ProperReload\n\t\tBA5G A 1\n\t\tGoto Ready\n\tProperReload:\n\t\tTNT1 A 0 A_Jump(128,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tBA5G E 1 Offset(-1,33) A_GiveInventory(\"ShotgunReloading\",1)\n\t\tBA5G E 1 Offset(-4,41)\n\t\tBA5G E 1 Offset(-6,46)\n\t\tBA5G E 1 Offset(-7,55)\n\tReloadWork:\n\t\tBA5G A 0 A_TakeInventory(\"NewShell\",1)\n\t\tBA5G A 0 A_GiveInventory(\"BrowningLoaded\",1)\n\t\tBA5G E 1 Offset(-8,58) A_PlaysoundEx(\"weapons/ba5Load\",SoundSlot6)\n\t\tBA5G E 1 Offset(-9,64)\n\t\tBA5G E 1 Offset(-10,70)\n\t\tBA5G E 1 Offset(-10,68)\n\t\tBA5G E 1 Offset(-9,66)\n\t\tBA5G E 1 Offset(-9,64)\n\t\tBA5G E 1 Offset(-9,62)\n\t\tBA5G E 1 Offset(-8,61) A_WeaponReady(1)\n\t\tBA5G EE 1 Offset(-8,60) A_WeaponReady(1)\n\t\tBA5G EEE 1 Offset(-8,59) A_WeaponReady(1)\n\t\tBA5G EEEE 1 Offset(-8,58) A_WeaponReady(1)\n\t\tBA5G A 0 A_JumpIfInventory(\"BrowningLoaded\",4,\"ReloadFinish\")\n\t\tBA5G A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n\t\tGoto ReloadWork\n\tReloadFinish:\n\t\tBA5G E 1 Offset(-8,58) A_PlaySound(\"weapons/ba5cock\")\n\t\tBA5G E 1 Offset(-8,60)\n\t\tBA5G E 1 Offset(-8,63)\n\t\tBA5G E 1 Offset(-9,67)\n\t\tBA5G E 1 Offset(-9,72)\n\t\tBA5G E 1 Offset(-10,75)\n\t\tBA5G EE 1 Offset(-10,77)\n\t\tBA5G EEE 1 Offset(-11,78)\n\t\tBA5G E 1 Offset(-10,76)\n\t\tBA5G E 1 Offset(-8,68)\n\t\tBA5G E 1 Offset(-6,58)\n\t\tBA5G E 1 Offset(-4,46)\n\t\tBA5G E 1 Offset(-2,33)\n\t\tBA5G E 1 Offset(-1,32) A_TakeInventory(\"ShotgunReloading\",1)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 2 BRIGHT A_Light2\n\t\tTNT1 A 2 BRIGHT A_Light1\n\t\tTNT1 A 0 A_Light0\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "weapons/mp40.txt",
"contents": "ACTOR MP40Seq : Inventory\n{\n\tInventory.MaxAmount 1\n}\n\nACTOR MP-40 : DoomWeapon\n{\n scale 0.5\n Weapon.SelectionOrder 600\n Weapon.SlotNumber 4\n weapon.kickback 60\n Weapon.AmmoType \"MPAmmo\"\n Weapon.AmmoUse1 0\n Weapon.AmmoGive1 0\n weapon.ammotype2 \"MPClip\"\n weapon.ammouse2 1\n weapon.ammogive2 20\n Decal \"BulletChip\"\n attacksound \"weapons/assaultgun\"\n Inventory.PickupMessage \"You got the MP-40!\"\n ConversationID 188\n +Ammo_Optional\n \t+Alt_Ammo_Optional\n\t+WEAPON.PRIMARY_USES_BOTH\n\t+Weapon.NoAlert\n States\n {\n Ready:\n\tRIFG A 0 A_JumpIfInventory(\"MPClip\",1,3)\n\tRIFG A 0 A_JumpIfInventory(\"MPAmmo\",1,4)\n\tRIFG A 1 A_WeaponReady(12)\n\tLoop\n\tRIFG A 0 A_JumpIfInventory(\"MPAmmo\",32,2)\n\tRIFG A 1 A_WeaponReady\n\tLoop\n\tRIFG A 1 A_WeaponReady(8)\n\tLoop\n Deselect:\n\tRIFG B 0 A_Lower\n RIFG B 1 A_Lower\n Loop\n Select:\n\tRIFG A 0 A_Raise\n RIFG A 1 A_Raise\n Loop\n Fire:\n RIFF A 0 A_JumpIfInventory(\"MPAmmo\",1,1)\n Goto DryFire\n\tRIFF A 0 A_JumpIfInventory(\"MP40Seq\",1,\"Fire2\")\n RIFF A 0 Offset(0,32) A_GunFlash\n RIFF A 0 A_SetPitch(pitch - 0.0)\n RIFF A 0 A_PlayWeaponSound(\"weapons/mp40\")\n RIFF A 0 A_TakeInventory(\"MPAmmo\",1)\n\tRIFF A 0 A_Jump(250,2)\n\tRIFF A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n RIFF A 0 BRIGHT A_FireCustomMissile(\"SMGTracer\",random(-14,14)/10.0,0)\n RIFF B 0 Offset(0,38) A_AlertMonsters\n RIFF B 1 Offset(0,44) A_GiveInventory(\"MP40Seq\",1)\n RIFF B 1 Offset(0,40)\n RIFG A 1 Offset(0,36)\n Goto Ready\n\tFire2:\n\t\tRIFF A 0 Offset(0,32) A_GunFlash\n RIFF A 0 A_SetPitch(pitch - 0.0)\n RIFF A 0 A_PlayWeaponSound(\"weapons/mp40\")\n RIFF A 0 A_TakeInventory(\"MPAmmo\",1)\n\tRIFF A 0 A_Jump(250,2)\n\tRIFF A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n RIFF A 1 BRIGHT A_FireCustomMissile(\"SMGTracer\",random(-14,14)/10.0,0)\n RIFF B 1 Offset(0,38) A_AlertMonsters\n RIFF B 1 Offset(0,44) A_TakeInventory(\"MP40Seq\",1)\n RIFF B 1 Offset(0,40)\n\tGoto Ready\n Dryfire:\n\tRIFG A 1\n Altfire:\n\tRIFG A 0 A_JumpIfInventory(\"MPAmmo\",32,2)\n\tRIFG A 0 A_JumpIfNoAmmo(1)\n\tGoto ProperReload\n\tRIFG A 1\n\tGoto Ready\n ProperReload:\n\tRIFG A 0 A_Jump(128,2)\n\tRIFG A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tRIFG A 1 Offset(0,35) A_PlaysoundEx(\"reloads/mp40\",SoundSlot6)\n\t\tRIFG A 1 Offset(0,38)\n\t\tRIFG A 1 Offset(0,44)\n\t\tRIFF B 1 Offset(0,52)\n\t\tRIFF B 1 Offset(-1,54)\n\t\tRIFF B 1 Offset(-2,56)\n\t\tRIFF B 1 Offset(-3,58)\n\t\tRIFF B 1 Offset(-4,58)\n\t\tRIFF B 1 Offset(-4,57)\n\t\tRIFF B 1 Offset(-3,54)\n\t\tRIFF B 1 Offset(-3,51)\n\t\tRIFF B 1 Offset(-3,53)\n\t\tRIFF B 1 Offset(-3,55)\n\t\tRIFF B 1 Offset(-3,56)\n\tReloadLoop:\n\t\tTNT1 A 0 A_TakeInventory(\"MPClip\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"MPAmmo\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"MPAmmo\",32,\"ReloadFinish\")\n TNT1 A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n Goto ReloadLoop\n\tReloadFinish:\n\t\tRIFF B 1 Offset(-3,57)\n\t\tRIFF B 1 Offset(-3,59)\n\t\tRIFF B 1 Offset(-3,63)\n\t\tRIFF B 1 Offset(-3,67)\n\t\tRIFF B 1 Offset(-3,65)\n\t\tRIFF B 1 Offset(-3,62)\n\t\tRIFF B 1 Offset(-3,58)\n\t\tRIFF B 1 Offset(-3,55)\n\t\tRIFF B 1 Offset(-2,53)\n\t\tRIFF B 1 Offset(-2,49)\n\t\tRIFF B 1 Offset(-2,46)\n\t\tRIFF B 1 Offset(-2,45)\n\t\tRIFF B 1 Offset(-1,44)\n\t\tRIFF B 1 Offset(-1,46)\n\t\tRIFF B 1 Offset(-1,47)\n\t\tRIFF B 1 Offset(0,49) A_WeaponReady(1)\n\t\tRIFG A 1 Offset(0,44) A_WeaponReady(1)\n\t\tRIFG A 1 Offset(0,38) A_WeaponReady(1)\n\t\tRIFG A 1 Offset(0,35) A_WeaponReady(1)\n\t\tRIFG A 1 Offset(0,32) A_WeaponReady(1)\n\t\tGoto Ready\n Flash:\n TNT1 A 3 A_Light2\n TNT1 A 3 A_Light1\n TNT1 A 0 A_Light0\n Goto LightDone\n Spawn:\n MP40 A -1\n Stop\n }\n}\n\nACTOR MPClip : Ammo replaces ClipBox\n{\n\tInventory.Amount 64\n\tInventory.MaxAmount 256\n\tAmmo.BackpackAmount 64\n\tAmmo.BackpackMaxAmount 480\n\tInventory.PickupMessage \"Picked up a box of 9mm ammo.\"\n\tInventory.Icon \"MCLPA0\"\n\tStates\n\t{\n\tSpawn:\n\t\tMCLP A -1\n\t\tStop\n\t}\n}\n\nACTOR MPAmmo : Ammo\n{\n\t+IGNORESKILL\n\tInventory.MaxAmount 32\n\tInventory.Icon \"MP40A0\"\n}"
},
{
"source": "pk3",
"name": "weapons/ppsh41.txt",
"contents": "ACTOR PPSh-41 : DoomWeapon\n{\n scale 0.8\n Weapon.SelectionOrder 600\n Weapon.SlotNumber 4\n weapon.kickback 60\n Weapon.AmmoType \"PPSHAmmo\"\n Weapon.AmmoUse1 0\n Weapon.AmmoGive1 0\n weapon.ammotype2 \"PPSHClip\"\n weapon.ammouse2 1\n weapon.ammogive2 71\n Decal \"BulletChip\"\n Inventory.PickupMessage \"You got the PPSh-41! (slot 4)\"\n ConversationID 188\n +Ammo_Optional\n \t+Alt_Ammo_Optional\n\t+WEAPON.PRIMARY_USES_BOTH\n\t+Weapon.NoAlert\n States\n {\n Ready:\n\tPPSG A 0 A_JumpIfInventory(\"PPSHClip\",1,3)\n\tPPSG A 0 A_JumpIfInventory(\"PPSHAmmo\",1,4)\n\tPPSG A 1 A_WeaponReady(12)\n\tLoop\n\tPPSG A 0 A_JumpIfInventory(\"PPSHAmmo\",71,2)\n\tPPSG A 1 A_WeaponReady\n\tLoop\n\tPPSG A 1 A_WeaponReady(8)\n\tLoop\n Deselect:\n\tPPSG A 0 A_Lower\n PPSG A 1 A_Lower\n Loop\n Select:\n\tPPSG A 0 A_Raise\n PPSG A 1 A_Raise\n Loop\n Fire:\n\t\tPPSG A 0 A_JumpIfInventory(\"PPSHAmmo\",1,1)\n\t\tGoto Dryfire\n\t\tPPSG A 0 A_GunFlash\n\t\tTNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tPPSF B 0 A_PlayWeaponSound(\"PPSH/fire\")\n\t\tPPSF B 0 A_TakeInventory(\"PPSHAmmo\",1)\n\t\tPPSF A 1 bright A_FireCustomMissile(\"PPSHTracer\",random(-25,25)/10.0,0,0,0,0,random(-10,10)/10.0)\n\t\tPPSF B 1 bright Offset(0,38) A_SetPitch(pitch - 0.6)\n\t\tPPSG A 0 A_AlertMonsters\n\t\tPPSF C 1 A_Refire\n\t\tPPSG A 1 Offset(0,42) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,44) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,43) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,40) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,36) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,32) A_WeaponReady(WRF_NOBOB)\n\t\tGoto Ready\n\tHold:\n\t\tPPSG A 0 A_JumpIfInventory(\"PPSHAmmo\",1,1)\n\t\tGoto Dryfire\n\t\tPPSG A 0 A_GunFlash\n\t\tTNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tPPSG A 0 A_PlayWeaponSound(\"PPSH/fire\")\n\t\tPPSG A 0 A_TakeInventory(\"PPSHAmmo\",1)\n\t\tPPSF A 1 bright A_FireCustomMissile(\"PPSHTracer\",random(-25,25)/10.0,0,0,0,0,random(-10,10)/10.0)\n\t\tPPSF B 1 bright Offset(0,50) A_SetPitch(pitch - 0.8)\n\t\tPPSG A 0 A_AlertMonsters\n\t\tPPSF C 1 A_Refire\n\t\tPPSG A 1 Offset(0,52) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,54) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,53) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,50) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,46) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,41) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,35) A_WeaponReady(WRF_NOBOB)\n\t\tPPSG A 1 Offset(0,32) A_WeaponReady(WRF_NOBOB)\n\t\tGoto Ready\n\tDryfire:\n\t\tPPSG A 1\n\tAltfire:\n\t\tPPSG A 0 A_JumpIfInventory(\"PPSHAmmo\",71,2)\n\t\tPPSG A 0 A_JumpIfNoAmmo(1)\n\t\tGoto ProperReload\n\t\tPPSG A 1\n\t\tGoto Ready\n ProperReload:\n\tPPSG A 0 A_Jump(128,2)\n\tPPSG A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tPPSG A 1 Offset(0,35) A_PlaysoundEx(\"ppsh/reload\",SoundSlot6)\n\t\tPPSG A 1 Offset(0,38)\n\t\tPPSG A 1 Offset(0,44)\n\t\tPPSG B 1 Offset(0,52)\n\t\tPPSG B 1 Offset(-1,54)\n\t\tPPSG B 1 Offset(-2,56)\n\t\tPPSG B 1 Offset(-3,58)\n\t\tPPSG B 1 Offset(-4,58)\n\t\tPPSG B 1 Offset(-4,57)\n\t\tPPSG B 1 Offset(-3,54)\n\t\tPPSG B 1 Offset(-3,51)\n\t\tPPSG B 1 Offset(-3,53)\n\t\tPPSG B 1 Offset(-3,55)\n\t\tPPSG B 1 Offset(-3,56)\n\tReloadLoop:\n\t\tTNT1 A 0 A_TakeInventory(\"PPSHClip\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"PPSHAmmo\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"PPSHAmmo\",71,\"ReloadFinish\")\n TNT1 A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n Goto ReloadLoop\n\tReloadFinish:\n\t\tPPSG B 1 Offset(-3,57)\n\t\tPPSG B 1 Offset(-3,59)\n\t\tPPSG B 1 Offset(-3,63)\n\t\tPPSG B 1 Offset(-3,67)\n\t\tPPSG A 1 Offset(-3,65)\n\t\tPPSG A 1 Offset(-3,62)\n\t\tPPSG A 1 Offset(-3,58)\n\t\tPPSG A 1 Offset(-3,55)\n\t\tPPSG A 1 Offset(-2,53)\n\t\tPPSG A 1 Offset(-2,49)\n\t\tPPSG A 1 Offset(-2,46)\n\t\tPPSG A 1 Offset(-2,45)\n\t\tPPSG A 1 Offset(-1,44)\n\t\tPPSG A 1 Offset(-1,46)\n\t\tPPSG A 1 Offset(-1,47)\n\t\tPPSG A 1 Offset(0,49) A_WeaponReady(1)\n\t\tPPSG A 1 Offset(0,44) A_WeaponReady(1)\n\t\tPPSG A 1 Offset(0,38) A_WeaponReady(1)\n\t\tPPSG A 1 Offset(0,35) A_WeaponReady(1)\n\t\tPPSG A 1 Offset(0,32) A_WeaponReady(1)\n\t\tGoto Ready\n Flash:\n TNT1 A 3 A_Light2\n TNT1 A 3 A_Light1\n TNT1 A 0 A_Light0\n Goto LightDone\n Spawn:\n PPSH A -1\n Stop\n }\n}\n\nACTOR PPSHClip : Ammo\n{\n\tInventory.Amount 71\n\tInventory.MaxAmount 284\n\tAmmo.BackpackAmount 71\n\tAmmo.BackpackMaxAmount 568\n\tInventory.PickupMessage \"Picked up a box of 7.62mm Tokarev ammo.\"\n\tInventory.Icon \"PPSAA0\"\n\tStates\n\t{\n\tSpawn:\n\t\tPPSA A -1\n\t\tStop\n\t}\n}\n\nACTOR PPSHAmmo : Ammo\n{\n\t+IGNORESKILL\n\tInventory.MaxAmount 71\n\tInventory.Icon \"PPSHA0\"\n}\n\nACTOR PPSHSpawner : PPSHClip replaces PlasmaRifle\n{\n\tInventory.PickupMessage \"\"\n\tInventory.PickupSound \"\"\n\tInventory.PickupFlash \"\"\n\tInventory.Amount 0\n\tAmmo.BackpackAmount 0\n\t+QUIET\n\tDropItem \"PPSh-41\"\n\tDropItem \"PPSHClip\"\n\tDropItem \"PPSHClip\"\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A -1 A_Fall\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "weapons/p38.txt",
"contents": "ACTOR \"Walther P-38\" : DoomWeapon\n{\n Weapon.SelectionOrder 9999\n Weapon.SlotNumber 2\n weapon.kickback 60\n Weapon.AmmoType \"WaltherAmmo\"\n Weapon.AmmoUse1 0\n Weapon.AmmoGive1 0\n weapon.ammotype2 \"MPClip\"\n weapon.ammouse2 1\n weapon.ammogive2 10\n Decal \"BulletChip\"\n attacksound \"weapons/Walther\"\n Inventory.PickupMessage \"You got the P-38!\"\n +Ammo_Optional\n \t+Alt_Ammo_Optional\n\t+WEAPON.PRIMARY_USES_BOTH\n\t+Weapon.NoAlert\n States\n {\n Ready:\n\t\tWALG A 0 A_JumpIfInventory(\"MPClip\",1,3)\n\t\tWALG A 0 A_JumpIfInventory(\"WaltherAmmo\",1,4)\n\t\tWALG A 1 A_WeaponReady(12)\n\t\tLoop\n\t\tWALG A 0 A_JumpIfInventory(\"WaltherAmmo\",8,2)\n\t\tWALG A 1 A_WeaponReady\n\t\tLoop\n\t\tWALG A 1 A_WeaponReady(8)\n\t\tLoop\n\tDeselect:\n\t\tWALG B 0 A_Lower\n\t\tWALG B 1 A_Lower\n\t\tLoop\n\tSelect:\n\t\tWALG A 0 A_Raise\n\t\tWALG A 1 A_Raise\n\t\tLoop\n\tFire:\n\t\tWALG A 0 A_JumpIfInventory(\"WaltherAmmo\",1,1)\n\t\tGoto Dryfire\n\t\tWALF A 0 BRIGHT A_GunFlash\n\t\tWALF A 0 A_SetPitch(pitch - 0.2)\n\t\tWALF A 0 A_PlayWeaponSound(\"weapons/Walther\")\n\t\tWALF A 0 A_TakeInventory(\"WaltherAmmo\",1)\n\t\tWALF A 1 BRIGHT A_FireCustomMissile(\"PistolTracer\",random(-10,10)/10.0,0)\n\t\tWALG B 2 A_AlertMonsters\n\t\tWALG A 0 A_SetPitch(pitch - 0.2)\n\t\tWALG A 1\n\t\tWALG A 1 Offset(0,36)\n\t\tWALG A 1 Offset(0,41)\n\t\tWALG A 1 Offset(0,35)\n\t\tWALG A 1 Offset(0,32) A_Jump(128,\"Ready\")\n\t\tGoto Ready\n\tDryfire:\n\t\tWALG A 1\n\tAltfire:\n\t\tWALG A 0 A_JumpIfInventory(\"WaltherAmmo\",8,2)\n\t\tWALG A 0 A_JumpIfNoAmmo(1)\n\t\tGoto ProperReload\n\t\tWALG A 1\n\t\tGoto Ready\n\tProperReload:\n\t\tTNT1 A 0 A_Jump(192,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tWALG A 1 Offset(0,35) A_PlaysoundEx(\"reloads/p38\",SoundSlot6)\n\t\tWALG A 1 Offset(0,38)\n\t\tWALG A 1 Offset(0,44)\n\t\tWALG A 1 Offset(0,52)\n\t\tWALG B 1 Offset(0,62)\n\t\tWALG B 1 Offset(0,72)\n\t\tWALG B 1 Offset(0,82)\n\t\tTNT1 A 8\n\tReloadLoop:\n\t\tTNT1 A 0 A_TakeInventory(\"MPClip\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"WaltherAmmo\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"WaltherAmmo\",8,\"ReloadFinish\")\n\t\tTNT1 A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n\t\tGoto ReloadLoop\n\tReloadFinish:\n\t\tWALG B 1 Offset(0,82)\n\t\tWALG B 1 Offset(0,72)\n\t\tWALG B 1 Offset(0,62)\n\t\tWALG B 1 Offset(0,52)\n\t\tWALG A 1 Offset(0,44)\n\t\tWALG A 1 Offset(0,38)\n\t\tWALG A 1 Offset(0,35)\n\t\tWALG A 1 Offset(0,32)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 3 A_Light2\n\t\tTNT1 A 3 A_Light1\n\t\tTNT1 A 0 A_Light0\n\t\tGoto LightDone\n\tSpawn:\n\t\tWALP A -1\n\t\tStop\n\t}\n}\n\nACTOR WaltherAmmo : Ammo\n{\n\t+IGNORESKILL\n\tInventory.MaxAmount 8\n\tInventory.Icon \"WALPA0\"\n}"
},
{
"source": "pk3",
"name": "weapons/luger.txt",
"contents": "ACTOR \"Luger P-08\" : DoomWeapon\n{\n Weapon.SelectionOrder 9999\n Weapon.SlotNumber 2\n weapon.kickback 60\n Weapon.AmmoType \"LugerAmmo\"\n Weapon.AmmoUse1 0\n Weapon.AmmoGive1 0\n weapon.ammotype2 \"MPClip\"\n weapon.ammouse2 1\n weapon.ammogive2 10\n Decal \"BulletChip\"\n attacksound \"weapons/Luger\"\n Inventory.PickupMessage \"You got the Luger!\"\n +Ammo_Optional\n \t+Alt_Ammo_Optional\n\t+WEAPON.PRIMARY_USES_BOTH\n\t+Weapon.NoAlert\n\t+Weapon.NoAutoFire\n States\n {\n Ready:\n\t\tLUGG A 0 A_JumpIfInventory(\"MPClip\",1,3)\n\t\tLUGG A 0 A_JumpIfInventory(\"LugerAmmo\",1,4)\n\t\tLUGG A 1 A_WeaponReady(12)\n\t\tLoop\n\t\tLUGG A 0 A_JumpIfInventory(\"LugerAmmo\",8,2)\n\t\tLUGG A 1 A_WeaponReady\n\t\tLoop\n\t\tLUGG A 1 A_WeaponReady(8)\n\t\tLoop\n\tDeselect:\n\t\tLUGG A 0 A_Lower\n\t\tLUGG A 1 A_Lower\n\t\tLoop\n\tSelect:\n\t\tLUGG A 0 A_Raise\n\t\tLUGG A 1 A_Raise\n\t\tLoop\n\tFire:\n\t\tLUGG A 0 A_JumpIfInventory(\"LugerAmmo\",1,1)\n\t\tGoto Dryfire\n\t\tLUGF A 0 BRIGHT A_GunFlash\n\t\tLUGF A 0 A_SetPitch(pitch - 0.2)\n\t\tLUGF A 0 A_PlayWeaponSound(\"weapons/Luger\")\n\t\tLUGF A 0 A_TakeInventory(\"LugerAmmo\",1)\n\t\tLUGF A 1 BRIGHT A_FireCustomMissile(\"LugerTracer\",random(-10,10)/10.0,0)\n\t\tLUGG B 1 A_AlertMonsters\n\t\tLUGG A 0 A_SetPitch(pitch - 0.2)\n\t\tLUGG B 1 Offset(0,36)\n\t\tLUGG B 1 Offset(0,41)\n\t\tLUGG C 1 Offset(0,35) A_WeaponReady(1)\n\t\tLUGG C 1 Offset(0,33) A_WeaponReady(1)\n\t\tLUGG C 1 Offset(0,31) A_WeaponReady(1)\n\t\tLUGG A 1 Offset(0,32) A_WeaponReady(1)\n\t\tGoto Ready\n\tDryfire:\n\t\tLUGG A 1\n\tAltfire:\n\t\tLUGG A 0 A_JumpIfInventory(\"LugerAmmo\",8,2)\n\t\tLUGG A 0 A_JumpIfNoAmmo(1)\n\t\tGoto ProperReload\n\t\tLUGG A 1\n\t\tGoto Ready\n\tProperReload:\n\t\tTNT1 A 0 A_Jump(192,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tLUGG A 1 Offset(0,35) A_PlaysoundEx(\"reloads/luger\",SoundSlot6)\n\t\tLUGG A 1 Offset(0,38)\n\t\tLUGG A 1 Offset(0,44)\n\t\tLUGG A 1 Offset(0,52)\n\t\tLUGG C 1 Offset(0,62)\n\t\tLUGG C 1 Offset(0,72)\n\t\tLUGG C 1 Offset(0,82)\n\t\tTNT1 A 11\n\tReloadLoop:\n\t\tTNT1 A 0 A_TakeInventory(\"MPClip\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"LugerAmmo\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"LugerAmmo\",8,\"ReloadFinish\")\n\t\tTNT1 A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n\t\tGoto ReloadLoop\n\tReloadFinish:\n\t\tLUGG B 1 Offset(0,82)\n\t\tLUGG B 1 Offset(0,72)\n\t\tLUGG B 1 Offset(0,62)\n\t\tLUGG C 1 Offset(0,52)\n\t\tLUGG C 1 Offset(0,44)\n\t\tLUGG C 1 Offset(0,38)\n\t\tLUGG A 1 Offset(0,35)\n\t\tLUGG A 1 Offset(0,32)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 3 A_Light2\n\t\tTNT1 A 3 A_Light1\n\t\tTNT1 A 0 A_Light0\n\t\tGoto LightDone\n\tSpawn:\n\t\tLUGP A -1\n\t\tStop\n\t}\n}\n\nACTOR LugerAmmo : Ammo\n{\n\t+IGNORESKILL\n\tInventory.MaxAmount 8\n\tInventory.Icon \"LUGPA0\"\n}"
},
{
"source": "pk3",
"name": "weapons/nebelwerfer.txt",
"contents": "actor NebRocket\n{\n scale 0.5\n Game Doom\n SpawnID 127\n Radius 11\n Height 8\n Speed 35\n Damage 8\n Projectile\n +RANDOMIZE\n +FORCERADIUSDMG\n +THRUSPECIES\n Species \"Player\"\n DeathSound \"weapons/nebxpl\"\n Obituary \"$OB_MPROCKET\" // \"%o rode %k's rocket.\"\n MissileHeight 0\n Decal Scorch\n States\n {\n Spawn:\n MNSS A 1 bright A_SpawnItemEx(\"RocketFlameSpawner\",0,0,0,0,0,0,0,128)\n loop\n Death:\n FRME A 1 bright A_Explode(64,56)\n\tFRME BCDEFGHIHJKLMNOPQRS 1 bright\n stop\n }\n}\n\nactor NebRocketEnemy : NebRocket\n{\n Speed 15\n Damagetype \"Enemy\"\n -FORCERADIUSDMG\n -THRUSPECIES\n Species \"Enemy\"\n SeeSound \"weapons/nebelwerfer\"\n Decal Scorch\n States\n {\n Death:\n FRME A 1 bright A_Explode(40,40,0)\n\tFRME BCDEFGHIHJKLMNOPQRS 1 bright\n stop\n }\n}\n\nactor Nebelwerfer : DoomWeapon\n{\n Game Doom\n SpawnID 29\n Weapon.SelectionOrder 2500\n Weapon.AmmoUse 1\n Weapon.AmmoGive 10\n Weapon.AmmoType \"NebAmmo\"\n Weapon.SlotNumber 7\n ConversationID 192\n Inventory.PickupMessage \"You got the Klein Nebelwerfer!\"\n States\n {\n Ready:\n NEBG A 1 A_WeaponReady\n Loop\n Deselect:\n\tNEBG A 0 A_Lower\n NEBG A 1 A_Lower\n Loop\n Select:\n\tNEBG A 0 A_Raise\n NEBG A 1 A_Raise\n Loop\n Fire:\n NEBG A 0 A_GunFlash\n\tNEBG A 0 A_PlayWeaponSound(\"weapons/nebelwerfer\")\n NEBG A 2 A_FireCustomMissile(\"NebRocket\")\n\tNEBG BCDEB 1 A_SetPitch(pitch - 0.5)\n NEBG A 2 A_ReFire\n Goto Ready\n Flash:\n NEBF A 2 bright A_Light2\n\tGoto LightDone\n Spawn:\n NEBL A -1\n Stop\n }\n}\n\nACTOR NebAmmo : Ammo replaces CellPack\n{\n Game Doom\n SpawnID 75\n Inventory.PickupMessage \"Picked up a crate of mini-rockets.\"\n Inventory.Amount 30\n Inventory.MaxAmount 150\n Ammo.BackpackAmount 20\n Ammo.BackpackMaxAmount 300\n ConversationID 182\n Inventory.Icon \"MNRBA0\"\n States\n {\n Spawn:\n MNRB A -1\n Stop\n }\n}\n\nACTOR RocketFlameSpawner\n{\n\tProjectile\n\tSpeed 0\n\tScale 0.15\n\tAlpha 0.5\n\tHeight 0\n\t+NOCLIP\n\t+NOTELEPORT\n\t+NOBLOCKMAP\n\t-FLOORCLIP\n\tRenderstyle None\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 1\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"RocketFlame\",random(-1,1),random(-1,1),0,0,0,0,0,128)\n\t\t\tStop\n\t}\n}\n\nACTOR RocketFlame\n{\n\tProjectile\n\tSpeed 0\n\tScale 0.15\n\tAlpha 0.5\n\tHeight 0\n\t+NOCLIP\n\t+NOTELEPORT\n\t+NOBLOCKMAP\n\t-FLOORCLIP\n\tRenderstyle Add\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tXPLO AB 2 BRIGHT\n\t\t\tXPLO C 2 BRIGHT A_SpawnItemEx(\"RPG8RocketTrail\",random(-1,1),1,0,0,0,0,0,128)\n\t\t\tStop\n\t}\n}\n\nACTOR RPG8RocketTrail\n{\n PROJECTILE\n Height 1\n Radius 1\n Scale 0.18\n Alpha 0.6\n Renderstyle Add\n States\n {\n Spawn:\n SMOK ABCDEFGHIJKLMNOP 1\n SMOK Q 1 A_FadeOut\n Stop\n\t}\n}"
},
{
"source": "pk3",
"name": "weapons/g41.txt",
"contents": "ACTOR ShellSpawner : RandomSpawner replaces Shell\n{\n\tDropItem \"NewShell\"\n\tDropItem \"MauserAmmoSmall\"\n\tDropItem \"MauserAmmoSmall\"\n}\n\nACTOR ShellSpawner2 : RandomSpawner replaces ShellBox\n{\n\tDropItem \"NewShellBox\"\n\tDropItem \"MauserAmmo\"\n\tDropItem \"MauserAmmo\"\n}\n\nACTOR MauserAmmo : Ammo\n{\n\tInventory.Amount 20\n\tInventory.MaxAmount 40\n\tAmmo.BackpackAmount 5\n\tAmmo.BackpackMaxAmount 100\n\tConversationID 185\n\tInventory.Icon \"M1GAA0\"\n\tInventory.PickupMessage \"Picked up a box of 7.92mm Mauser ammo.\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tM1GA A -1\n\t\t\tStop\n\t}\n}\n\nACTOR MauserAmmoSmall : MauserAmmo\n{\n\tInventory.Amount 5\n\tInventory.PickupMessage \"Picked up a 7.92mm stripper clip.\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tM1GA B -1\n\t\tStop\n\t}\n}\n\nACTOR G41Clip : Ammo\n{\n\t+IGNORESKILL\n\tInventory.MaxAmount 10\n\tInventory.Icon \"M1GPA0\"\n}\n\nACTOR G-43 : DoomWeapon\n{\n\tWeapon.SlotNumber 5\n\tWeapon.AmmoType1 \"G41Clip\"\n\tWeapon.AmmoUse1 0\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType2 \"MauserAmmo\"\n\tWeapon.AmmoGive2 10\n\tWeapon.AmmoUse2 1\n\tAttackSound \"Garand/Fire\"\n\tInventory.PickupMessage \"You got the Gewehr 43!\"\n\tConversationID 194\n\t+AMMO_OPTIONAL\n\t\t+Alt_Ammo_Optional\n\t\t+WEAPON.PRIMARY_USES_BOTH\n\t\t+Weapon.NoAlert\n\t+NOAUTOFIRE\n\tStates\n\t{\n\tSpawn:\n\t\tM1GP A -1\n\t\tStop\n\tSelect:\n\t\tM1GG A 0 A_Raise\n\t\tM1GG A 1 A_Raise\n\t\tLoop\n\tDeselect:\n\t\tM1GG A 0 A_Lower\n\t\tM1GG A 1 A_Lower\n\t\tLoop\n\tReady:\n\t\tM1GG A 0 A_JumpIfInventory(\"MauserAmmo\",1,3)\n\t\tM1GG A 0 A_JumpIfInventory(\"G41Clip\",1,4)\n\t\tM1GG A 1 A_WeaponReady(12)\n\t\tLoop\n\t\tM1GG A 0 A_JumpIfInventory(\"G41Clip\",10,2)\n\t\tM1GG A 1 A_WeaponReady\n\t\tLoop\n\t\tM1GG A 1 A_WeaponReady(8)\n\t\tLoop\n\tFire:\n\t\tM1GG A 0 A_JumpIfInventory(\"G41Clip\",1,1)\n\t\tGoto Dryfire\n\t\tM1GF A 0 A_PlayWeaponSound(\"garand/fire\")\n\t\tM1GF A 0 A_TakeInventory(\"G41Clip\",1)\n\t\tM1GF A 0 A_GunFlash\n\t\tM1GF A 1 BRIGHT A_FireCustomMissile(\"RifleTracer\",0,0)\n\t\tM1GF B 1 BRIGHT A_SetPitch (pitch - 1.4)\n\t\tM1GG CDEDC 1 A_AlertMonsters\n\t\tM1GG AAFFFA 1 A_WeaponReady(1)\n\t\tGoto Ready\n\tDryfire:\n\t\tM1GG A 1\n\tAltfire:\n\t\tM1GG A 0 A_JumpIfInventory(\"G41Clip\",10,2)\n\t\tM1GG A 0 A_JumpIfNoAmmo(1)\n\t\tGoto ProperReload\n\t\tM1GG A 1\n\t\tGoto Ready\n\tProperReload:\n\t\tTNT1 A 0 A_Jump(180,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tM1GG A 1 Offset(0,35) A_PlaysoundEx(\"reloads/g43\",SoundSlot6)\n\t\tM1GG A 1 Offset(-2,38)\n\t\tM1GG A 1 Offset(-4,44)\n\t\tM1GG A 1 Offset(-6,52)\n\t\tM1GG A 1 Offset(-7,57)\n\t\tM1GG C 1 Offset(-8,62)\n\t\tM1GG C 1 Offset(-9,67)\n\t\tM1GG C 1 Offset(-10,72)\n\t\tM1GG C 1 Offset(-11,77)\n\t\tM1GG C 1 Offset(-11,80)\n\t\tM1GG D 1 Offset(-12,82)\n\t\tM1GG D 1 Offset(-12,84)\n\t\tM1GG D 1 Offset(-13,86)\n\t\tM1GG E 1 Offset(-13,87)\n\t\tM1GG E 2 Offset(-14,88)\n\t\tM1GG E 3 Offset(-14,89)\n\tReloadLoop:\n\t\tTNT1 A 0 A_TakeInventory(\"MauserAmmo\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"G41Clip\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"G41Clip\",10,\"ReloadFinish\")\n\t\tTNT1 A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n\t\tGoto ReloadLoop\n\tReloadFinish:\n\t\tM1GG D 2 Offset(-10,96)\n\t\tM1GG D 1 Offset(-6,100)\n\t\tM1GG C 1 Offset(-7,90)\n\t\tM1GG C 1 Offset(-6,80)\n\t\tM1GG C 1 Offset(-4,70)\n\t\tM1GG A 1 Offset(-2,60)\n\t\tM1GG A 1 Offset(0,50)\n\t\tM1GG A 1 Offset(0,40)\n\t\tM1GG A 1 Offset(0,32)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 2 BRIGHT A_Light2\n\t\tTNT1 A 2 BRIGHT A_Light1\n\t\tTNT1 A 0 A_Light0\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "weapons/granate.txt",
"contents": "ACTOR GrenadePickup : CustomInventory replaces RocketAmmo\n{\n\tinventory.pickupmessage \"Picked up a grenade.\"\n\tTag \"Frag Grenade\"\n\tinventory.maxamount 9\n\tinventory.icon THRPA0\n\tinventory.usesound \"grenade/throw\"\n\tinventory.pickupsound \"grenade/pickup\"\n\t+Inventory.invbar\n\t+inventory.keepdepleted\n\t-INVENTORY.INTERHUBSTRIP\n\t-INVBAR\n\tConversationID 181\n\tstates\n\t{\n\tSpawn:\n\t\tTHRP A -1\n\t\tstop\n\tUse:\n\t\tTNT1 A 0 A_Jump(168,2)\n\t\tTNT1 A 0 A_PlaySound(\"*grenadecall\", CHAN_VOICE)\n\t\tTNT1 A 0 A_FireCustomMissile(\"HandGrenade\",0,0)\n\t\tstop\n\t}\n}\n\nACTOR BackpackGrenadePickup : GrenadePickup\n{\n\tInventory.MaxAmount 0\n\t+UNDROPPABLE\n\t+ALWAYSPICKUP\n\t+AUTOACTIVATE\n\t-KEEPDEPLETED\n\t-INVBAR\n\tstates\n\t{\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"GrenadePickup\",1)\n\t\tstop\n\tUse:\n\t\tstop\n\t}\n}\n\nACTOR HandGrenade\n{\n\tRadius 4\n\tHeight 3\n\tSpeed 40\n\tDamage (1)\n\tDamageType \"Frag\"\n\t+NOBLOCKMAP\n\t+DROPOFF\n\t+MISSILE\n\t+ACTIVATEIMPACT\n\t+ACTIVATEPCROSS\n\t+CANBOUNCEWATER\n\t+THRUSPECIES\n\tSpecies \"Player\"\n\tobituary \"%o failed to field %k's fragmenting fastball.\"\n\tBounceType Doom\n\tBounceFactor 0.2\n\tWallBounceFactor 0.6\n\tSeesound \"grenade/bounce\"\n\tstates\n\t{\n\tSpawn:\n\t\tTHRW A 2 A_Countdown\n\t\tTHRW BCDEFGH 2\n\t\tloop\n\tDeath:\n\t\tTHRW B 35\n\t\tFRME A 0 A_AlertMonsters\n\t\tFRME A 0 A_SpawnItem(\"GranateBoom\")\n\t\tstop\n\t}\n}\n\nActor GranateBoom\n{\n\tPROJECTILE\n\tDamage 0\n\tScale 1.75\n\tAlpha 0.75\n\tRenderstyle Add\n\t+NOBLOCKMAP\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tFRME A 0 A_PlaySound(\"grenade/explode\",0,1.0,0,0.1)\n\t\t\tFRME A 1 bright A_Explode(144,256,1,1)\n\t\t\tFRME B 1 Radius_Quake(10,10,0,120,0)\n\t\t\tFRME CDEFGHIHJKLMNOPQRS 1 bright\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "weapons/Enfield.txt",
"contents": "// Enfield bolt-action pistol-caliber carbine.\n// Sprite and sound from No One Lives Forever, edited by WildWeasel.\n// Pickup sprite by WildWeasel.\n\nACTOR EnfieldLoaded : Ammo\n{\n\t+IGNORESKILL\n\tInventory.MaxAmount 10\n\tInventory.Icon \"ENFPA0\"\n}\n\n ACTOR Lee-Enfield : Weapon replaces Chainsaw\n {\n Weapon.AmmoType1 \"EnfieldLoaded\"\n Weapon.AmmoUse1 1\n Weapon.AmmoGive1 0\n Weapon.AmmoType2 \"MauserAmmo\"\n Weapon.AmmoGive2 5\n Weapon.AmmoUse2 0\n Inventory.PickupMessage \"You got the Lee-Enfield SMLE!\"\n +AMMO_OPTIONAL\n +NOAUTOFIRE\n +NOALERT\n States\n {\n Spawn:\n ENFP A -1\n Stop\n Select:\n\t\tENFG A 0 A_Raise\n ENFG A 1 A_Raise\n Loop\n Deselect:\n\t\tENFG A 0 A_Lower\n ENFG A 1 A_Lower\n Loop\n Ready:\n\t\t ENFG A 0 A_JumpIfInventory(\"MauserAmmo\",1,3)\n\t\t ENFG A 0 A_JumpIfInventory(\"EnfieldLoaded\",1,4)\n\t\t ENFG A 1 A_WeaponReady(12)\n\t\t Loop\n\t\t ENFG A 0 A_JumpIfInventory(\"EnfieldLoaded\",10,2)\n\t\t ENFG A 1 A_WeaponReady\n\t\t Loop\n\t\t ENFG A 1 A_WeaponReady(8)\n\t\t Loop\n Fire:\n ENFG A 0 A_JumpIfNoAmmo(\"Dryfire\")\n ENFF A 0 A_PlayWeaponSound(\"Enfield/Fire\")\n ENFF A 1 Bright Offset(0,40) A_FireCustomMissile(\"EnfieldTracer\",0,1)\n ENFF B 1 Bright Offset(0,50) A_GunFlash\n ENFG A 0 A_AlertMonsters\n ENFG A 1 Offset(0,45) A_SetPitch(pitch - 4.0)\n ENFG A 1 Offset(0,40) A_SetPitch(pitch - 2.0)\n ENFG A 1 Offset(0,36) A_SetPitch(pitch + 1.0)\n ENFG A 1 Offset(0,34) A_SetPitch(pitch + 1.0)\n ENFG A 1 Offset(0,33) A_SetPitch(pitch + 0.5)\n ENFG A 1 Offset(-2,33) A_PlaysoundEx(\"Enfield/boltback\",SoundSlot6)\n ENFG A 1 Offset(-4,34)\n ENFG A 1 Offset(-6,35)\n ENFG A 2 Offset(-8,36)\n ENFG A 2 Offset(-4,42)\n ENFG A 1 Offset(0,51)\n ENFG A 1 Offset(4,60)\n ENFG A 2 Offset(5,74)\n ENFG A 3 Offset(6,76)\n ENFG A 2 Offset(5,74) A_PlaysoundEx(\"Enfield/boltfwd\",SoundSlot6)\n ENFG A 1 Offset(4,60)\n ENFG A 1 Offset(0,51)\n ENFG A 1 Offset(-4,42)\n ENFG A 2 Offset(-8,36)\n ENFG A 1 Offset(-6,35)\n ENFG A 1 Offset(-4,34)\n ENFG A 1 Offset(-2,33)\n Goto Ready\n\t Dryfire:\n ENFG A 1\n Altfire:\n ENFG A 0 A_JumpIfInventory(\"EnfieldLoaded\",10,3)\n ENFG A 0 A_JumpIfInventory(\"EnfieldLoaded\",5,\"Halfloaded\")\n ENFG A 0 A_JumpIfInventory(\"MauserAmmo\",1,\"FullReload\")\n ENFG A 1\n Goto Ready\n Halfloaded:\n ENFG A 1 A_JumpIfInventory(\"MauserAmmo\",1,\"HalfReload\")\n Goto Ready\n FullReload:\n ENFG A 1 Offset(-2,33) A_PlaysoundEx(\"Enfield/boltback\",SoundSlot6)\n ENFG A 1 Offset(-4,34)\n ENFG A 1 Offset(-6,35)\n ENFG A 2 Offset(-8,36)\n ENFG A 2 Offset(-4,42)\n ENFG A 1 Offset(0,51)\n ENFG A 1 Offset(4,60)\n ENFG A 2 Offset(5,74)\n ENFG A 3 Offset(6,76)\n ENFG A 5\n ReloadWork:\n TNT1 A 0 A_TakeInventory(\"MauserAmmo\",1)\n TNT1 A 0 A_GiveInventory(\"EnfieldLoaded\",1)\n TNT1 A 0 A_JumpIfInventory(\"EnfieldLoaded\",5,\"ReloadFinish\")\n TNT1 A 0 A_JumpIfInventory(\"MauserAmmo\",1,\"ReloadWork\")\n ReloadFinish:\n ENFG A 1 Offset(6,80) A_PlaysoundEx(\"Enfield/load\",SoundSlot6)\n ENFG A 1 Offset(6,84)\n ENFG A 1 Offset(6,87)\n ENFG A 1 Offset(7,90)\n ENFG A 1 Offset(8,92)\n ENFG A 1 Offset(9,88)\n ENFG A 1 Offset(8,82)\n ENFG A 1 Offset(7,77)\n TNT1 A 0 A_JumpIfInventory(\"MauserAmmo\",1,1)\n Goto ReloadOnlyOneClip\n ENFG A 5 Offset(6,75)\n ReloadWork2:\n TNT1 A 0 A_TakeInventory(\"MauserAmmo\",1)\n TNT1 A 0 A_GiveInventory(\"EnfieldLoaded\",1)\n TNT1 A 0 A_JumpIfInventory(\"EnfieldLoaded\",10,\"ReloadFinish2\")\n TNT1 A 0 A_JumpIfInventory(\"MauserAmmo\",1,\"ReloadWork2\")\n ReloadFinish2:\n ENFG A 1 Offset(6,80) A_PlaysoundEx(\"Enfield/load\",SoundSlot6)\n ENFG A 1 Offset(6,84)\n ENFG A 1 Offset(6,87)\n ENFG A 1 Offset(7,90)\n ENFG A 1 Offset(8,92)\n ENFG A 1 Offset(9,88)\n ENFG A 1 Offset(8,82)\n ENFG A 1 Offset(7,77)\n ReloadOnlyOneClip:\n ENFG A 2 Offset(5,74) A_PlaysoundEx(\"Enfield/boltfwd\",SoundSlot6)\n ENFG A 1 Offset(4,60)\n ENFG A 1 Offset(0,51)\n ENFG A 1 Offset(-4,42)\n ENFG A 2 Offset(-8,36)\n ENFG A 1 Offset(-6,35)\n ENFG A 1 Offset(-4,34)\n ENFG A 1 Offset(-2,33)\n Goto Ready\n HalfReload:\n ENFG A 1 Offset(-2,33) A_PlaysoundEx(\"Enfield/boltback\",SoundSlot6)\n ENFG A 1 Offset(-4,34)\n ENFG A 1 Offset(-6,35)\n ENFG A 2 Offset(-8,36)\n ENFG A 2 Offset(-4,42)\n ENFG A 1 Offset(0,51)\n ENFG A 1 Offset(4,60)\n ENFG A 2 Offset(5,74)\n ENFG A 3 Offset(6,76)\n ENFG A 5\n Goto ReloadWork2\n Flash:\n TNT1 A 2 BRIGHT A_Light2\n TNT1 A 2 BRIGHT A_Light1\n TNT1 A 0 A_Light0\n Stop\n }\n }"
},
{
"source": "pk3",
"name": "weapons/FG42.txt",
"contents": "// here\n\nACTOR FG42Ammo : Ammo\n{\n\tInventory.MaxAmount 20\n\t+IGNORESKILL\n}\n\nActor FG-42 : Weapon\n{\n\tattacksound \"Weapons/AK47FIR\"\n\tinventory.pickupmessage \"You got the Fallschirmjagergewehr 42!\"\n\tWeapon.SlotNumber 6\n\tweapon.kickback 100\n\tWeapon.AmmoType \"FG42Ammo\"\n\tWeapon.AmmoUse1 0\n\tWeapon.AmmoGive1 0\n\tweapon.ammotype2 \"MauserAmmo\"\n\tweapon.ammouse2 1\n\tweapon.ammogive2 10\n\tConversationID 195\n\tScale 0.38\n\tDecal \"BulletChip\"\n\t+Ammo_Optional\n \t+Alt_Ammo_Optional\n\t+WEAPON.PRIMARY_USES_BOTH\n\t+Weapon.NoAlert\n\tStates\n\t{\n\tReady:\n\t\tFG42 A 0 A_JumpIfInventory(\"MauserAmmo\",1,3)\n\t\tFG42 A 0 A_JumpIfInventory(\"FG42Ammo\",1,4)\n\t\tFG42 A 1 A_WeaponReady(12)\n\t\tLoop\n\t\tFG42 A 0 A_JumpIfInventory(\"FG42Ammo\",20,2)\n\t\tFG42 A 1 A_WeaponReady\n\t\tLoop\n\t\tFG42 A 1 A_WeaponReady(8)\n\t\tLoop\n\tDeselect:\n\t\tFG42 A 0 A_Lower\n\t\tFG42 A 1 A_Lower\n\t\tLoop\n\tSelect:\n\t\tFG42 A 0 A_Raise\n\t\tFG42 A 1 A_Raise\n\t\tLoop\n\tFire:\n\t\tFG42 A 0 A_JumpIfInventory(\"FG42Ammo\",1,1)\n\t\tGoto Dryfire\n\t\tFG42 B 0 A_GunFlash\n\t\tTNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tFG42 B 0 A_PlayWeaponSound(\"fg42/fire\")\n\t\tFG42 B 0 A_TakeInventory(\"FG42Ammo\",1)\n\t\tFG42 B 1 bright A_FireCustomMissile(\"FGTracer\",random(-25,25)/10.0,0,0,0,0,random(-10,10)/10.0)\n\t\tFG42 C 2 bright Offset(0,0) A_SetPitch(pitch - 0.0)\n\t\tFG42 A 0 A_AlertMonsters\n\t\tFG42 A 1 A_Refire\n\t\tFG42 A 1 Offset(0,42) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,44) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,43) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,40) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,36) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,32) A_WeaponReady(WRF_NOBOB)\n\t\tGoto Ready\n\tHold:\n\t\tFG42 A 0 A_JumpIfInventory(\"FG42Ammo\",1,1)\n\t\tGoto Dryfire\n\t\tFG42 B 0 A_GunFlash\n\t\tTNT1 A 0 A_Jump(250,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tFG42 B 0 A_PlayWeaponSound(\"fg42/fire\")\n\t\tFG42 B 0 A_TakeInventory(\"FG42Ammo\",1)\n\t\tFG42 B 1 bright A_FireCustomMissile(\"FGTracer\",random(-25,25)/10.0,0,0,0,0,random(-10,10)/10.0)\n\t\tFG42 C 2 bright Offset(0,0) A_SetPitch(pitch - 0.0)\n\t\tFG42 A 0 A_AlertMonsters\n\t\tFG42 A 1 A_Refire\n\t\tFG42 A 1 Offset(0,52) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,54) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,53) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,50) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,46) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,41) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,35) A_WeaponReady(WRF_NOBOB)\n\t\tFG42 A 1 Offset(0,32) A_WeaponReady(WRF_NOBOB)\n\t\tGoto Ready\n\tDryfire:\n\t\tFG42 A 1\n\tAltfire:\n\t\tFG42 A 0 A_JumpIfInventory(\"FG42Ammo\",20,2)\n\t\tFG42 A 0 A_JumpIfNoAmmo(1)\n\t\tGoto ProperReload\n\t\tFG42 A 1\n\t\tGoto Ready\n\tProperReload:\n\t\tFG42 A 1 Offset(0,35) A_PlaysoundEx(\"reloads/fg42\",SoundSlot6)\n\t\tTNT1 A 0 A_Jump(160,2)\n\t\tTNT1 A 0 A_PlaySound(\"*taunt\", CHAN_VOICE)\n\t\tFG42 A 1 Offset(0,38)\n\t\tFG42 A 1 Offset(0,44)\n\t\tFG42 A 1 Offset(-2,46)\n\t\tFG42 A 1 Offset(-4,52)\n\t\tFG42 A 1 Offset(-7,56)\n\t\tFG42 A 1 Offset(-10,57)\n\t\tFG42 A 8 Offset(-11,58)\n\tReloadLoop:\n\t\tTNT1 A 0 A_TakeInventory(\"MauserAmmo\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"FG42Ammo\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"FG42Ammo\",20,\"ReloadFinish\")\n\t\tTNT1 A 0 A_JumpIfNoAmmo(\"ReloadFinish\")\n\t\tGoto ReloadLoop\n\tReloadFinish:\n\t\tFG42 A 1 Offset(-10,58)\n\t\tFG42 A 1 Offset(-10,61)\n\t\tFG42 A 1 Offset(-10,65)\n\t\tFG42 A 1 Offset(-10,71)\n\t\tFG42 A 1 Offset(-10,65)\n\t\tFG42 A 1 Offset(-10,60)\n\t\tFG42 A 1 Offset(-10,55)\n\t\tFG42 A 1 Offset(-10,53)\n\t\tFG42 A 1 Offset(-10,51)\n\t\tFG42 A 1 Offset(-9,50)\n\t\tFG42 A 1 Offset(-8,46)\n\t\tFG42 A 1 Offset(-7,43)\n\t\tFG42 A 1 Offset(-5,40)\n\t\tFG42 A 1 Offset(-3,37)\n\t\tFG42 A 1 Offset(-1,34)\n\t\tFG42 A 1 Offset(0,32)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 2 BRIGHT A_Light2\n\t\tTNT1 A 2 BRIGHT A_Light1\n\t\tTNT1 A 0 A_Light0\n\t\tStop\n\tSpawn:\n\t\tFG42 P -1\n\t\tStop\n\t}\n}"
}
]
},
"maps": []
}