Raw model (for completeness)
{
"meta": {
"id": "0515c418-61ac-45ad-8f9e-6b8051d21cd5",
"sha1": "b0baad447eceac81c76e604de030f63a42af9a23",
"sha256": "2b991d16682c6cc4a01c1cc21aa9b7ed40e15af78012b0c45e8cb018c37aff36",
"filenames": [
"dndv0.5.pk3"
],
"additional": {
"engines": [
"ZDOOM"
],
"iwad": [],
"filename": null,
"added": "2014-07-31 12:07:43",
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false,
"name": null,
"description": null,
"maps": null,
"graphicOverrides": null,
"screenshots": null,
"palettes": null,
"categories": null
},
"flags": {
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false
},
"added": "2014-07-31 12:07:43",
"file": {
"type": "PK3",
"size": 29738223,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/b0baad447eceac81c76e604de030f63a42af9a23/b0baad447eceac81c76e604de030f63a42af9a23.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 2,
"lumps": 10063,
"maps": 0,
"palettes": 14
},
"engines_guess": [
"ZDOOM"
]
},
"text_files": [
{
"source": "pk3",
"name": "ANIMDEFS.txt",
"contents": "warp2 flat LAVA1\nwarp2 flat LAVA2\nwarp2 flat LAVA3\nwarp2 flat LAVA4"
},
{
"source": "pk3",
"name": "CREDITS.txt",
"contents": "- Weapon sprite credits are in the decorate files.\n\nThanks to:\n\n- Enjay, Infirnex, Blue Shadow, TheUltimateDoomer, Eriance, Kappes Buur, Nash, Vegeta, Daedalus, hnsolo77, Jimmy, wildweasel, Captain Ventris, Ghastly Dragon, Woolie Wool, LoganMTM, Tormentor667, TerminusEst13, TheMightyHeracross, Catastrophe, icytux, Jaeden, Sandypaper, Vader, Xaser, Qent for various sprites and decorates.\n- 3D Realms, Blizzard, Monolith, ID Software, Raven Software for various graphics and sounds."
},
{
"source": "pk3",
"name": "DECALDEF.txt",
"contents": "decal NewPlasmaScorch\n{\n\tpic SCORCH1\n\tshade \"00 00 00\"\n\tx-scale 0.35\n\ty-scale 0.35\n\trandomflipx\n\trandomflipy\n}\n\ndecal NewPlasmaDecal1\n{\n pic BFLRA0\n shade \"08 08 10\"\n\t add 0.9\n\t x-scale 0.15\n\t y-scale 0.15\n\t animator GoAway2\n\t lowerdecal NewPlasmaScorch\n}\n\ndecal NewPlasmaDecal2\n{\n pic BFLRB0\n shade \"08 08 10\"\n\t add 0.9\n\t x-scale 0.15\n\t y-scale 0.15\n\t animator GoAway2\n\t lowerdecal NewPlasmaScorch\n}\n\ndecalgroup NewPlasmaDecal\n{\n\tNewPlasmaDecal1 1\n\tNewPlasmaDecal2 1\n}\n\ngenerator CrackodemonBall CacoScorch\ngenerator Blusoul CacoScorch\n\nDecal RedRailScorchLower1\n{\n\tPic CBALSCR1\n\tShade \"00 00 00\"\n\tX-Scale 0.1\n\tY-Scale 0.1\n\tRandomFlipX\n\tRandomFlipY\n}\n\nDecal RedRailScorchLower2\n{\n\tPic CBALSCR2\n\tShade \"00 00 00\"\n\tX-scale 0.1\n\tY-scale 0.1\n\tRandomFlipX\n\tRandomFlipY\n}\n\nDecalGroup RedRailScorchLower\n{\n\tRedRailScorchLower1 1\n\tRedRailScorchLower2 1\n}\n\nDecal RedRailScorch1\n{\n\tPic CBALSCR1\n\tShade \"56 00 00\"\n\tFullBright\n\tX-Scale 0.2\n\tY-Scale 0.2\n\tAnimator GoAway\n\tLowerDecal RedRailScorchLower\n}\n\nDecal RedRailScorch2\n{\n\tPic CBALSCR2\n\tShade \"56 00 00\"\n\tFullBright\n\tX-Scale 0.2\n\tY-Scale 0.2\n\tAnimator GoAway\n\tLowerDecal RedRailScorchLower\n}\n\nDecalGroup RedRailScorch\n{\n\tRedRailScorch1 1\n\tRedRailScorch2 1\n}"
},
{
"source": "pk3",
"name": "DECORATE.txt",
"contents": "#include \"Actors/Weapons/THRU.txt\"\n#include \"Actors/Weapons/LVL1.txt\"\n#include \"Actors/Weapons/LVL2.txt\"\n#include \"Actors/Weapons/LVL3.txt\"\n#include \"Actors/Weapons/LVL4.txt\"\n#include \"Actors/Weapons/LVL5.txt\"\n#include \"Actors/Weapons/LVL6.txt\"\n#include \"Actors/Weapons/LVL7.txt\"\n\n#include \"Actors/Items.txt\"\n#include \"Actors/Misc.txt\"\n#include \"Actors/Gore.txt\"\n#include \"Actors/Player.txt\"\n\n#include \"Actors/Monsters/Zombieman.txt\"\n#include \"Actors/Monsters/Shotgunguy.txt\"\n#include \"Actors/Monsters/Chaingunguy.txt\"\n#include \"Actors/Monsters/Demon.txt\"\n#include \"Actors/Monsters/Spectre.txt\"\n#include \"Actors/Monsters/Imp.txt\"\n#include \"Actors/Monsters/LostSoul.txt\"\n#include \"Actors/Monsters/Cacodemon.txt\"\n#include \"Actors/Monsters/PainElemental.txt\"\n#include \"Actors/Monsters/Revenant.txt\"\n#include \"Actors/Monsters/HellKnight.txt\"\n#include \"Actors/Monsters/BaronofHell.txt\"\n#include \"Actors/Monsters/Mancubus.txt\"\n#include \"Actors/Monsters/Arachnotron.txt\"\n#include \"Actors/Monsters/ArchVile.txt\"\n#include \"Actors/Monsters/Cyberdemon.txt\"\n#include \"Actors/Monsters/SpiderMastermind.txt\"\n#include \"Actors/Monsters/WolfenSS.txt\""
},
{
"source": "pk3",
"name": "DND.txt",
"contents": "#library \"DND\"\n#include \"zcommon.acs\"\n\n#define LIFEMAX 3\n#define TRIPLEMAX 1\n#define BLOODRUNEMAX 1\n#define BLOODRUNETIMER 30\n#define SOLVEMAX 1\n#define STASISMAX 3\n#define FKITMAX 15\n#define BASECLIP 50\n#define MAXUPG 11\n#define MAXPLAYERS 64\n#define MAXAMMOTYPES 8\n#define MAXREWARDS 7\n#define UPGRADETEXTID 450\n#define SURVIVEICO 500\n#define SURVIVETOPTEXTID 501\n#define SURVIVETEXTID 502\n#define SURVIVEID 503\n#define UPGRADEID 600\n#define P_TIDSTART 1000\n\n#define USE_HITSCAN_CVAR \"coopbullets_cl_use_hitscan\"\n\nglobal int 13:useHitscan[];\n// THRU DEFS END\n\nglobal int 0: MedkitAmount[];\n// The capacities are manually set to prevent a bug where the game can't recognize your updated capacities unless you pick a new backpack up.\n// Formula is: ammo ID * MAXPLAYERS + PlayerNumber = Capacity\n// For example, Bullet has ID 0, so 0 to 63 will be the Bullet capacities of everyone.\n// Then, shell has ID 1, so 64 to 127 will be the shell capacities of everyone.\nglobal int 1: AmmoCapacity[];\n\nglobal int 2: StatListOpened[];\nglobal int 3: ShieldAmount[];\n\nstr AmmoTypes[MAXAMMOTYPES] = { \"Clip\", \"Shell\", \"RocketAmmo\", \"Cell\", \"Grenades\", \"MISAmmo\", \"Nail\", \"ExplodingShell\" };\nint InitialCapacity[MAXAMMOTYPES] = { 200, 50, 50, 300, 50, 40, 100, 40 };\nint CapacityPerBackPack[MAXAMMOTYPES] = { 100, 25, 25, 150, 25, 20, 50, 20 };\nint BackpackAmounts[MAXAMMOTYPES] = { 10, 4, 1, 20, 1, 2, 2, 2 };\nstr Upgrades[MAXUPG] = { \"MGPowerUpgrade\", \"ShotgunUpgrade\", \"SSGUpgrade\", \"RocketUpgrade\", \"GrenadeUpgrade\", \"PlasmaUpgrade\", \"RailgunUpgrade\", \"BFGUpgrade\", \"MovementUpgrade\", \"ResistUpgrade\", \"NanobotUpgrade\" };\nstr UpgradeText[MAXUPG] = { \"Machinegun Upgrade\", \"Shotgun Upgrade\", \"Supershotgun Upgrade\", \"Rocket Upgrade\", \"Grenade Upgrade\", \"Plasma Upgrade\", \"Railgun Upgrade\", \"BFGUpgrade\", \"Speed Upgrade\", \"Tenacity Upgrade\", \"Nanobots\" };\nstr PickupText[2] = { \"\\cgPicked up a stimpack\", \"\\cgPicked up a medikit.\" };\n\nstr UpgradeDetail[MAXUPG] = { \"Spread is reduced by 0.8 and damage increases by 10.\",\n\t\t\t\t\t\t\t \"Spread is reduced by 2.4 and shoots 10 pellets each doing 15 damage.\",\n\t\t\t\t\t\t\t \"Spread is reduced by 0.3 and each pellet does 15 damage.\",\n\t\t\t\t\t\t\t \"Speed is increased by 12 and damage becomes 120-160.\",\n\t\t\t\t\t\t\t \"Explosion damage is increased by 64 and radius by 16.\",\n\t\t\t\t\t\t\t \"Damage becomes 30-45.\",\n\t\t\t\t\t\t\t \"Rail damage increases by 150 and the ray damage increases by 15 for each upgrade.\",\n\t\t\t\t\t\t\t \"Does 500-800 on impact, explodes for 256 damage in a 128 radius and shoots 64 tracers.\",\n\t\t\t\t\t\t\t \"Movement speed increases by 15%.\",\n\t\t\t\t\t\t\t \"You take 15% less damage from anything.\",\n\t\t\t\t\t\t\t \"Nanobots heal you if you're lower than 30+StatBonus hp.\"\n\t\t\t\t\t\t\t};\n\nstr UpgradeNames[MAXUPG] = { \"\\cuMachinegun Power Increased!\",\n\t\t\t\t\t\t\t \"\\ckShotgun Power Increased!\",\n\t\t\t\t\t\t\t \"\\cgSuper Shotgun Power Increased!\",\n\t\t\t\t\t\t\t \"\\ciRocket Launcher Power Increased!\",\n\t\t\t\t\t\t\t \"Grenade Launcher Power Increased!\",\n\t\t\t\t\t\t\t \"\\cvPlasma Rifle Power Increased!\",\n\t\t\t\t\t\t\t \"\\cnRailgun Power Increased!\",\n\t\t\t\t\t\t\t \"\\cdBFG 9000 Power Increased!\",\n\t\t\t\t\t\t\t \"\\cqMovement Speed Increased!\",\n\t\t\t\t\t\t\t \"\\cmDamage Resistance Increased!\",\n\t\t\t\t\t\t\t \"\\cqNanobots Obtained!\"\n\t\t\t\t\t\t };\n\n// Checks if you should be receiving that reward or not\nfunction int ValidateReward (int tid, int type)\n{\n\tswitch (type)\n\t{\n\t\tcase 1:\n\t\t\t// FUCK IT MAX\n\t\t\tif(CheckActorInventory(tid, \"FieldKit\") == FKITMAX)\n\t\t\t return 1;\n\t\t\telse\n\t\t\t return 0;\n\t\tbreak;\n\t\tcase 2:\n\t\t\tif(CheckActorInventory(tid, \"SalvationSphere\") == SOLVEMAX)\n\t\t\t return 1;\n\t\t\telse\n\t\t\t return 0;\n\t\tbreak;\n\t\tcase 3:\n\t\t\tif(CheckActorInventory(tid, \"PortableShield\") == STASISMAX)\n\t\t\t return 1;\n\t\t\telse\n\t\t\t return 0;\n\t\tbreak;\n\t\tcase 4:\n\t\t\tif(CheckActorInventory(tid, \"BloodRune\") == BLOODRUNEMAX)\n\t\t\t return 1;\n\t\t\telse\n\t\t\t return 0;\n\t\tbreak;\n\t\tcase 5:\n\t\t\tif(CheckActorInventory(tid, \"TripleDamage\") == TRIPLEMAX)\n\t\t\t return 1;\n\t\t\telse\n\t\t\t return 0;\n\t\tbreak;\n\t\tcase 6:\n\t\t\tif(CheckActorInventory(tid, \"CurrentLives\") > LIFEMAX)\n\t\t\t return 1;\n\t\t\telse\n\t\t\t return 0;\n\t\tbreak;\n\t}\n\treturn 0;\n}\n\n// Copied from ZDWiki.\n// Fixed-point version, only works up to 30,000 or so:\nfunction int fsqrt(int number)\n{\n int samples=15; //Samples for accuracy\n\n if (number == 1.0) return 1.0;\n if (number <= 0) return 0;\n int val = samples<<17 + samples<<19; //x*10 = x<<1 + x<<3\n for (int i=0; i<samples; i++)\n val = (val + FixedDiv(number, val)) >> 1;\n\n return val;\n}\n\nfunction int fdistance (int tid1, int tid2)\n{\n\tint len;\n\tint y = getactory(tid1) - getactory(tid2);\n\tint x = getactorx(tid1) - getactorx(tid2);\n\tint z = getactorz(tid1) - getactorz(tid2);\n\n\tint ang = vectorangle(x,y);\n\tif(((ang+0.125)%0.5) > 0.25) len = fixeddiv(y, sin(ang));\n\telse len = fixeddiv(x, cos(ang));\n\n\tang = vectorangle(len, z);\n\tif(((ang+0.125)%0.5) > 0.25) len = fixeddiv(z, sin(ang));\n\telse len = fixeddiv(len, cos(ang));\n\n\treturn len;\n}\n\nfunction int GetClosestinTIDRange (int activator, int basetid, int maxtid)\n{\n\tint basedist = fdistance(activator, basetid);\n\tint res = 0;\n\tfor(int i = basetid; i < maxtid; i++)\n\t{\n\t\tif(ThingCount(0, i))\n\t\t{\n\t\t\tif(fdistance(activator, i) < basedist)\n\t\t\t{\n\t\t\t\tbasedist = fdistance(activator, i);\n\t\t\t\tres = i;\n\t\t\t}\n\t\t}\n\t}\n\treturn res;\n}\n\n// Upgrades/Stats board\nScript 900 (void) NET CLIENTSIDE\n{\n\tint i;\n\tif(StatListOpened[ActivatorTID()])\n\t{\n\t LocalAmbientSound(\"menu/clear\",127);\n\t\tfor(i = 0; i <= MAXUPG+4; i++)\n\t\t HudMessage(s:\"\"; HUDMSG_PLAIN, UPGRADEID+i, -1, 200.0, 2.1, 0.0, 0.0);\n\t\tStatListOpened[ActivatorTID()] = 0;\n\t}\n\telse\n\t{\n\t\tint sw = CheckInventory(\" Chaingun \") + CheckInventory(\"Silver Gun\") + CheckInventory(\"Heavy Missile Launcher\") + CheckInventory(\"Nailgun\") + CheckInventory(\"Rail Gun\") + CheckInventory(\"Death Staff\") + CheckInventory(\"RazorFang\");\n\t\tSetHudSize(800, 600, 1);\n\t\tSetFont(\"BIGFONT\");\n\t\tHudMessage(s: \"CURRENT UPGRADES\"; HUDMSG_PLAIN, UPGRADEID, CR_GOLD, 400.4, 2.1, 0.0, 0.0);\n\t\tSetFont(\"SMALLFONT\");\n\t\tHudMessage(s:\"\\cdStat Bonus: \\cg\", d:CheckInventory(\"MaxHealthBonusCounter\"), s:\"\\c-/\", d:CheckInventory(\"MaxArmorBonusCounter\"); HUDMSG_PLAIN, UPGRADEID+1, CR_WHITE, 30.1, 60.1, 0.0, 0.0);\n\t\tHudMessage(s:\"\\cdSecret Weapons: \\c-\", d:sw; HUDMSG_PLAIN, UPGRADEID+2, CR_WHITE, 200.1, 60.1, 0.0, 0.0);\n\t\tHudMessage(s:\"\\cdLives Left: \\c-\", d:GetPlayerLivesLeft(PlayerNumber()); HUDMSG_PLAIN, UPGRADEID+3, CR_WHITE, 370.1, 60.1, 0.0, 0.0);\n\t\tfor(i = 0; i < MAXUPG; i++)\n\t\t{\n\t\t\tif(!CheckInventory(Upgrades[i]))\n\t\t\t\tHudMessage(s:\"\\cv*\\c- \", s:UpgradeText[i], s:\": \", s:UpgradeDetail[i]; HUDMSG_PLAIN, UPGRADEID+i+4, CR_RED, 30.1, (92.1+(32.0*i)), 0.0, 0.0);\n\t\t\telse\n\t\t\t{\n\t\t\t\tHudMessage(s:\"\\cv*\\c- \", s:UpgradeText[i], s:\": \", s:UpgradeDetail[i]; HUDMSG_PLAIN, UPGRADEID+i+4, CR_GREEN, 30.1, (92.1+(32.0*i)), 0.0, 0.0);\n\t\t\t}\n\t\t}\n\t\tStatListOpened[ActivatorTID()] = 1;\n\t\tLocalAmbientSound(\"menu/activate\",127);\n\t}\n}\n\n// THRU BULLETS\nscript 901 (int switchToHitscan) NET {\n switchToHitscan |= !useHitscan[PlayerNumber()];\n if(switchToHitscan)\n TakeInventory(\"UseCoopBullets\", 1);\n else\n GiveInventory(\"UseCoopBullets\", 1);\n\n ACS_ExecuteAlways(902, 0, switchToHitscan);\n useHitscan[PlayerNumber()] = switchToHitscan;\n}\n\nscript 902 (int switchToHitscan) CLIENTSIDE {\n if(PlayerNumber() != ConsolePlayerNumber()) Terminate;\n\n if(switchToHitscan)\n Log(l:\"COOPBULLETSOFF\");\n else\n Log(l:\"COOPBULLETSON\");\n\n ConsoleCommand(StrParam(s:\"set \", s:USE_HITSCAN_CVAR, s:\" \", d:switchToHitscan));\n ConsoleCommand(StrParam(s:\"archivecvar \", s:USE_HITSCAN_CVAR));\n}\n\nscript 903 ENTER CLIENTSIDE {\n if(ConsolePlayerNumber() != PlayerNumber()) Terminate;\n if(GetCVar(USE_HITSCAN_CVAR))\n ConsoleCommand(StrParam(s:\"puke -\", d:901, s:\" 1\"));\n}\n\nscript 904 (int vert) {\n int hSpeed = fsqrt(\n FixedMul(GetActorVelX(0), GetActorVelX(0)) +\n FixedMul(GetActorVelY(0), GetActorVelY(0)));\n\tint pitch;\n\tswitch (vert)\n\t{\n\t\tcase 0:\n\t\t\tpitch = VectorAngle(hSpeed, GetActorVelZ(0))*360 + Random(-7.1, 7.1);\n\t\tbreak;\n\t\tcase 1:\n\t\t\tpitch = VectorAngle(hSpeed, GetActorVelZ(0))*360 + Random(-6.8, 6.8);\n\t\tbreak;\n\t}\n\n SetResultValue(pitch);\n}\n// END OF THRU BULLETS\n\nScript 987 RESPAWN\n{\n\tThing_ChangeTID(0, P_TIDSTART+PlayerNumber());\n\n\tif(MedkitAmount[P_TIDSTART+PlayerNumber()] > 1)\n\t\tGiveInventory(\"FieldKit\", MedkitAmount[P_TIDSTART+PlayerNumber()]-1);\n\tif(ShieldAmount[P_TIDSTART+PlayerNumber()] > 1)\n\t\tGiveInventory(\"PortableShield\", ShieldAmount[P_TIDSTART+PlayerNumber()]-1);\n\n\t// Set the ammo capacity\n\tfor(int j = 0; j < MAXAMMOTYPES; j++)\n\t // If not set to a value before, set it to initial\n\t if(AmmoCapacity[j*MAXPLAYERS+PlayerNumber()] == 0)\n\t\t AmmoCapacity[j*MAXPLAYERS+PlayerNumber()] = InitialCapacity[j];\n\t else\n\t SetAmmoCapacity(AmmoTypes[j], AmmoCapacity[j*MAXPLAYERS+PlayerNumber()]);\n\tif(CheckInventory(\"CurrentLives\"))\n\t TakeInventory(\"CurrentLives\", 1);\n}\n\nScript 988 DEATH\n{\n\tMedkitAmount[ActivatorTID()] = 0;\n\tShieldAmount[ActivatorTID()] = 0;\n\tfor(int j = 0; j < MAXAMMOTYPES; j++)\n\t AmmoCapacity[j*MAXPLAYERS+ActivatorTID()-P_TIDSTART] = 0;\n}\n\nScript 989 (int pnum) DISCONNECT\n{\n\tMedkitAmount[pnum] = 0;\n\tShieldAmount[ActivatorTID()] = 0;\n\tStatListOpened[pnum] = 0;\n\tfor(int j = 0; j < MAXAMMOTYPES; j++)\n\t AmmoCapacity[j*MAXPLAYERS+pnum-P_TIDSTART] = 0;\n}\n\n// End of level rewards check\nScript 990 UNLOADING\n{\n\tfor(int i = 0; i < MAXPLAYERS; i++)\n\t{\n\t if(GetActorProperty(P_TIDSTART+i, APROP_HEALTH) > 0)\n\t\t GiveActorInventory(P_TIDSTART+i, \"LevelToken\", 1);\n//\t\tif(CheckActorInventory(P_TIDSTART+i, \"FieldKit\") > 0)\n\t\t MedkitAmount[P_TIDSTART+i] = CheckActorInventory(P_TIDSTART+i, \"FieldKit\");\n//\t\tif(CheckActorInventory(P_TIDSTART+i, \"PortableShield\") > 0)\n\t\t ShieldAmount[P_TIDSTART+i] = CheckActorInventory(P_TIDSTART+i, \"PortableShield\");\n\t}\n\n\tfor(int j = 0; j < MAXAMMOTYPES; j++)\n\t for(int k = 0; k < MAXPLAYERS; k++)\n\t {\n\t // set so that ammo capacity can return a proper value\n\t SetActivator(P_TIDSTART+k);\n\t AmmoCapacity[j*MAXPLAYERS+k] = GetAmmoCapacity(AmmoTypes[j]);\n\t }\n}\n\n// End of level rewards\nScript 991 ENTER\n{\n\tThing_ChangeTID(0, P_TIDSTART+PlayerNumber());\n\n\tif(MedkitAmount[P_TIDSTART+PlayerNumber()] > 1)\n\t\tGiveInventory(\"FieldKit\", MedkitAmount[P_TIDSTART+PlayerNumber()]-1);\n\tif(ShieldAmount[P_TIDSTART+PlayerNumber()] > 1)\n\t\tGiveInventory(\"PortableShield\", ShieldAmount[P_TIDSTART+PlayerNumber()]-1);\n\n\t// Set the ammo capacity\n\tfor(int j = 0; j < MAXAMMOTYPES; j++)\n\t // If not set to a value before, set it to initial\n\t if(AmmoCapacity[j*MAXPLAYERS+PlayerNumber()] == 0)\n\t\t AmmoCapacity[j*MAXPLAYERS+PlayerNumber()] = InitialCapacity[j];\n\t else\n\t SetAmmoCapacity(AmmoTypes[j], AmmoCapacity[j*MAXPLAYERS+PlayerNumber()]);\n\n\tif(CheckInventory(\"LevelToken\"))\n\t{\n\t\tint reward;\n\t\tdo\n\t\t{\n\t\t reward = random(0, MAXREWARDS-1);\n\t\t} while(ValidateReward(ActivatorTID(), reward));\n\n\t\tTakeInventory(\"LevelToken\", 1);\n\t\tGiveInventory(\"RoundsSurvived\", 1);\n\t\tSetHudSize(640, 480, 1);\n\t\tSetFont(\"MSGBOXX\");\n\t\tHudMessage(s:\"A\"; HUDMSG_FADEINOUT, SURVIVEID, CR_UNTRANSLATED, 510.0, 70.0, 2.0, 1.0, 1.0);\n\t\tswitch (reward)\n\t\t{\n\t\t\tcase 0:\n\t\t\t\tSetFont(\"BASCA0\");\n\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tSetFont(\"FKITD0\");\n\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tSetFont(\"SALVICO\");\n\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tSetFont(\"SHIELICO\");\n\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tSetFont(\"BRUNICO\");\n\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tSetFont(\"DMGICO\");\n\t\t\tbreak;\n\t\t\tcase 6:\n\t\t\t\tSetFont(\"AKOLA0\");\n\t\t\tbreak;\n\t\t}\n\t\tHudMessage(s:\"A\"; HUDMSG_FADEINOUT, SURVIVEICO, CR_UNTRANSLATED, 420.0, 42.0, 2.0, 1.0, 1.0);\n\t\tSetHudSize(960, 600, 1);\n\t\tSetFont(\"OBJFONT\");\n\t\tswitch (reward)\n\t\t{\n\t\t\tcase 0:\n\t\t\t{\n\t\t\t\tint surv = CheckInventory(\"RoundsSurvived\");\n\t\t\t\tint pt = 1;\n\t\t\t\tif(surv > 1)\n\t\t\t\t pt = random(1, surv);\n\t\t\t\tGiveInventory(\"MaxArmorBonusNew\", pt);\n\t\t\t\tGiveInventory(\"MAxHealthBonusNew\", pt);\n\t\t\t\tGiveInventory(\"MaxHealthBonusCounter\", pt);\n\t\t\t\tHudMessage(s:\"STAT \t\tREWARD\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETOPTEXTID, CR_CYAN, 750.0, 24.0, 2.0, 1.0, 1.0);\n\t\t\t\tHudMessage(s:\"You have been rewarded with a stat boost of: \\cd\", d:pt, s:\"\\c-!\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETEXTID, CR_WHITE, 780.0, 72.0, 2.0, 1.0, 1.0);\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t{\n\t\t\t\tHudMessage(s:\"MEDIKIT \t\tREWARD\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETOPTEXTID, CR_CYAN, 750.0, 24.0, 2.0, 1.0, 1.0);\n\t\t\t\tHudMessage(s:\"You have been given 5 portable medikits\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETEXTID, CR_WHITE, 780.0, 72.0, 2.0, 1.0, 1.0);\n\t\t\t\tGiveInventory(\"FieldKit\", 5);\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t{\n\t\t\t\tHudMessage(s:\"SALVATION \t\tREWARD\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETOPTEXTID, CR_CYAN, 750.0, 24.0, 2.0, 1.0, 1.0);\n\t\t\t\tHudMessage(s:\"You have been given a salvation sphere!\\nHeals 100 hp and teleports to safety.\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETEXTID, CR_WHITE, 780.0, 72.0, 2.0, 1.0, 1.0);\n\t\t\t\tGiveInventory(\"SalvationSphere\", 1);\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t{\n\t\t\t\tHudMessage(s:\"SHIELD \t\tREWARD\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETOPTEXTID, CR_CYAN, 750.0, 24.0, 2.0, 1.0, 1.0);\n\t\t\t\tHudMessage(s:\"You have been given a portable shield!\\nProtects from all harm for the next 5 seconds.\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETEXTID, CR_WHITE, 780.0, 72.0, 2.0, 1.0, 1.0);\n\t\t\t\tGiveInventory(\"PortableShield\", 1);\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t{\n\t\t\t\tHudMessage(s:\"BLOODRUNE \t\tREWARD\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETOPTEXTID, CR_CYAN, 750.0, 24.0, 2.0, 1.0, 1.0);\n\t\t\t\tHudMessage(s:\"You have been given a blood rune!\\nDrain health from damage for 30 seconds.\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETEXTID, CR_WHITE, 780.0, 72.0, 2.0, 1.0, 1.0);\n\t\t\t\tGiveInventory(\"BloodRune\", 1);\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t{\n\t\t\t\tHudMessage(s:\"TRIPLE DAMAGE \t\tREWARD\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETOPTEXTID, CR_CYAN, 750.0, 24.0, 2.0, 1.0, 1.0);\n\t\t\t\tHudMessage(s:\"You have been given triple damage!\\nLasts 15 seconds.\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETEXTID, CR_WHITE, 780.0, 72.0, 2.0, 1.0, 1.0);\n\t\t\t\tGiveInventory(\"TripleDamage\", 1);\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 6:\n\t\t\t{\n\t\t\t\tHudMessage(s:\"EXTRA LIFE \t\tREWARD\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETOPTEXTID, CR_CYAN, 750.0, 24.0, 2.0, 1.0, 1.0);\n\t\t\t\tHudMessage(s:\"You have been given an extra life!\"; HUDMSG_FADEINOUT | HUDMSG_LOG, SURVIVETEXTID, CR_WHITE, 780.0, 72.0, 2.0, 1.0, 1.0);\n\t\t\t\tSetPlayerLivesLeft(PlayerNumber(), CheckInventory(\"CurrentLives\")+1);\n\t\t\t\tGiveInventory(\"CurrentLives\", 1);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tLocalAmbientSound(\"Bonus/Received\", 127);\n\t}\n}\n\n// Control for ammo capacity bug\nScript 992 (int t)\n{\n\tif(t == 0)\n\t{\n\t\tif((CheckInventory(\"Shell\") == InitialCapacity[1]+CapacityPerBackPack[1]*CheckInventory(\"BackPackCounter\")) && (CheckInventory(\"ExplodingShell\") == InitialCapacity[7]+CapacityPerBackPack[7]*CheckInventory(\"BackPackCounter\")))\n\t\t SetResultValue(1);\n\t\telse\n\t\t SetResultValue(0);\n\t}\n\telse\n\tif(t == 1)\n\t{\n\t\tif((CheckInventory(\"RocketAmmo\") == InitialCapacity[2]+CapacityPerBackPack[2]*CheckInventory(\"BackPackCounter\")) && (CheckInventory(\"Grenades\") == InitialCapacity[4]+CapacityPerBackPack[4]*CheckInventory(\"BackPackCounter\")) && (CheckInventory(\"MISAmmo\") == InitialCapacity[5]+CapacityPerBackPack[5]*CheckInventory(\"BackPackCounter\")))\n\t\t SetResultValue(1);\n\t\telse\n\t\t SetResultValue(0);\n\t}\n\telse\n\tif(t == 2)\n\t{\n\t\tif((CheckInventory(\"Cell\") == InitialCapacity[3]+CapacityPerBackPack[3]*CheckInventory(\"BackPackCounter\")) && (CheckInventory(\"Nail\") == InitialCapacity[6]+CapacityPerBackPack[6]*CheckInventory(\"BackPackCounter\")))\n\t\t SetResultValue(1);\n\t\telse\n\t\t SetResultValue(0);\n\t}\n}\n\n// Upgrade giver\nScript 993 (int u)\n{\n\tSetFont(\"BIGFONT\");\n\tHudMessage(s:UpgradeNames[u]; HUDMSG_FADEINOUT | HUDMSG_LOG, UPGRADETEXTID, -1, 0.5, 0.15, 2.0, 0.5, 0.5);\n\tGiveInventory(Upgrades[u], 1);\n if(u == 8)\n\t SetActorProperty(0, APROP_SPEED, 1.15);\n\tif(u == 9)\n\t GiveInventory(\"Resist\", 1);\n}\n\n// Pickup check for backpacks\nScript 994 (void)\n{\n\tif(GetAmmoCapacity(\"Shell\") != 400)\n\t SetResultValue(1);\n\telse\n\t SetResultValue(0);\n}\n\n// Bloodrune script\nScript 995 (void)\n{\n\tActivatorSound(\"items/bloodrun\", 127);\n\tGiveInventory(\"RuneDrain\", 1);\n\tGiveInventory(\"FakeBloodPower\", 1);\n\tfor(int i = 0; i < BLOODRUNETIMER; i++)\n\t delay(35);\n\tTakeInventory(\"RuneDrain\", 1);\n}\n\n// Backpack script\nScript 996 (int type)\n{\n\tfor(int j = 0; j < MAXAMMOTYPES; j++)\n\t{\n\t SetAmmoCapacity(AmmoTypes[j], GetAmmoCapacity(AmmoTypes[j])+InitialCapacity[j]/2);\n\t\tGiveInventory(AmmoTypes[j], BackPackAmounts[j]);\n\t}\n\tGiveInventory(\"BackpackCounter\", 1);\n\t// Reduce if over the limits\n\tif(GetAmmoCapacity(\"Shell\") > 400)\n\t{\n\t\tSetAmmoCapacity(\"Clip\", 1600);\n\t\tSetAmmoCapacity(\"MISAmmo\", 320);\n\t\tSetAmmoCapacity(\"Shell\", 400);\n\t\tSetAmmoCapacity(\"RocketAmmo\", 400);\n\t\tSetAmmoCapacity(\"Cell\", 2400);\n\t\tSetAmmoCapacity(\"Grenades\", 400);\n\t\tSetAmmoCapacity(\"Nail\", 800);\n\t\tSetAmmoCapacity(\"ExplodingShell\", 320);\n\t}\n}\n\n// Stat boost item\nScript 997 (void)\n{\n\tGiveInventory(\"MaxArmorBonusNew\", 1);\n\tGiveInventory(\"MaxHealthBonusNew\", 1);\n\tGiveInventory(\"MaxHealthBonusCounter\", 1);\n\tGiveInventory(\"MaxArmorBonusCounter\", 1);\n}\n\n// reload script\nScript 998 (void)\n{\n\tif(CheckInventory(\"Clip\") < BASECLIP)\n\t{\n\t\tint prev = CheckInventory(\"Clip\");\n\t\tTakeInventory(\"Clip\", BASECLIP-CheckInventory(\"MGClip\"));\n\t\tGiveInventory(\"MGClip\", prev);\n\t}\n\telse\n\t{\n\t\tTakeInventory(\"Clip\", BASECLIP-CheckInventory(\"MGClip\"));\n\t\tGiveInventory(\"MGClip\", BASECLIP-CheckInventory(\"MGClip\"));\n\t}\n}\n\n// Nanobots\nScript 999 ENTER\n{\n\tif(CheckInventory(\"NanobotUpgrade\"))\n\t{\n\t\tint hp = GetActorProperty(0, APROP_HEALTH);\n\t\tif(hp < 30+CheckInventory(\"MaxHealthBonusCounter\"))\n\t\t{\n\t\t\tif(hp > 28+CheckInventory(\"MaxHealthBonusCounter\"))\n\t\t\t HealThing(1);\n\t\t\telse\n\t\t HealThing(2);\n\t\t\tLocalAmbientSound(\"misc/i_pkup\",127);\n\t\t\tfadeto(32, 32, 128, 0.03, 0.0);\n\t\t\tDelay(5);\n\t\t\tfadeto(32, 32, 128, 0.0, 0.0);\n\t\t}\n\t}\n\tDelay(35);\n\tRestart;\n}"
},
{
"source": "pk3",
"name": "KEYCONF.txt",
"contents": "clearplayerclasses\n addplayerclass TheDoomGuy\n\nAddKeySection \"DnD Keys\" DNDKEYS\n\tAddMenuKey \"Display Upgrades\" upgs\n\tAlias upgs \"Puke 900\"\n\tAddMenuKey \"Toggle Thru-Bullets\" thru\n\tAlias thru \"Puke 901\""
},
{
"source": "pk3",
"name": "language.txt",
"contents": "[en enu default]\nCOOPBULLETSON = \"Switched to thru-bullets\";\nCOOPBULLETSOFF = \"Switched to hitscan\";"
},
{
"source": "pk3",
"name": "LOCKDEFS.txt",
"contents": "CLEARLOCKS\n\nLock 1\n{\n\tRedCard2\n\tMessage \"$PD_REDC\"\n\tRemoteMessage \"$PD_REDCO\"\n\tMapcolor 255 0 0\n\tLockedSound \"keys/nokeycard\"\n}\n\nLock 2 Doom\n{\n\tBlueCard2\n\tMessage \"$PD_BLUEC\"\n\tRemoteMessage \"$PD_BLUECO\"\n\tMapcolor 0 0 255\n\tLockedSound \"keys/nokeycard\"\n}\n\nLock 3 Doom\n{\n\tYellowCard2\n\tMessage \"$PD_YELLOWC\"\n\tRemoteMessage \"$PD_YELLOWCO\"\n\tMapcolor 255 255 0\n\tLockedSound \"keys/nokeycard\"\n}\n\nLock 4 Doom\n{\n\tRedSkull2\n\tMessage \"$PD_REDS\"\n\tRemoteMessage \"$PD_REDSO\"\n\tMapcolor 255 0 0\n\tLockedSound \"keys/noskullkey\"\n}\n\nLock 5 Doom\n{\n\tBlueSkull2\n\tMessage \"$PD_BLUES\"\n\tRemoteMessage \"$PD_BLUESO\"\n\tMapcolor 0 0 255\n\tLockedSound \"keys/noskullkey\"\n}\n\nLock 6 Doom\n{\n\tYellowSkull2\n\tMessage \"$PD_YELLOWS\"\n\tRemoteMessage \"$PD_YELLOWSO\"\n\tMapcolor 255 255 0\n\tLockedSound \"keys/noskullkey\"\n}\n\nLock 129 Doom\n{\n\tAny { RedCard2 RedSkull2 KeyGreen }\n\tMessage \"$PD_REDK\"\n\tRemoteMessage \"$PD_REDO\"\n\tMapcolor 255 0 0\n\tLockedSound \"keys/noskullkey\"\n}\n\nLock 130 Doom\n{\n\tAny { BlueCard2 BlueSkull2 KeyBlue }\n\tMessage \"$PD_BLUEK\"\n\tRemoteMessage \"$PD_BLUEO\"\n\tMapcolor 0 0 255\n\tLockedSound \"keys/noskullkey\"\n}\n\nLock 131 Doom\n{\n\tAny { YellowCard2 YellowSkull2 KeyYellow }\n\tMessage \"$PD_YELLOWK\"\n\tRemoteMessage \"$PD_YELLOWO\"\n\tMapcolor 255 255 0\n\tLockedSound \"keys/noskullkey\"\n}\n\nLock 132 Doom\n{\n\tAny { RedCard2 RedSkull2 }\n\tMessage \"$PD_REDK\"\n\tRemoteMessage \"$PD_REDO\"\n\tMapcolor 255 0 0\n\tLockedSound \"keys/nokeycard\"\n}\n\nLock 133 Doom\n{\n\tAny { BlueCard2 BlueSkull2 }\n\tMessage \"$PD_BLUEK\"\n\tRemoteMessage \"$PD_BLUEO\"\n\tMapcolor 0 0 255\n\tLockedSound \"keys/nokeycard\"\n}\n\nLock 134 Doom\n{\n\tAny { YellowCard2 YellowSkull2 }\n\tMessage \"$PD_YELLOWK\"\n\tRemoteMessage \"$PD_YELLOWO\"\n\tMapcolor 255 255 0\n\tLockedSound \"keys/nokeycard\"\n}\n\nLock 100\n{\n\tMessage \"$PD_ANY\"\n\tRemoteMessage \"$PD_ANYOBJ\"\n\tMapcolor 128 128 255\n\tLockedSound \"keys/noskullkey\"\n}\n\nLock 228\n{\n\tMessage \"$PD_ANY\"\n\tRemoteMessage \"$PD_ANYOBJ\"\n\tMapcolor 128 128 255\n}\n\nLock 229 Doom\n{\n\tAny { BlueCard2 BlueSkull2 KeyBlue}\n\tAny { YellowCard2 YellowSkull2 KeyYellow}\n\tAny { RedCard2 RedSkull2 KeyGreen}\n\tMessage \"$PD_ALL3\"\n\tRemoteMessage \"$PD_ALL3O\"\n\tLockedSound \"keys/noskullkey\"\n}\n\nLock 101 Doom\n{\n\tBlueCard2\n\tBlueSkull2\n\tYellowCard2\n\tYellowSkull2\n\tRedCard2\n\tRedSkull2\n\tMessage \"$PD_ALL6\"\n\tRemoteMessage \"$PD_ALL6O\"\n\tLockedSound \"keys/noskullkey\"\n}"
},
{
"source": "pk3",
"name": "README.txt",
"contents": "================= DEATH AND DECAY ================\n\n- Welcome to Death and Decay, or shortly DnD. This mod is a typical monster/weapon replacer with a few features that sets it aside others.\nHighlights include:\n\n* Upgrades for most non-drop only weapons.\n* Ammo capacity increase bonuses that do not end like Backpack.\n* Unique monsters that can drop various items, such as upgrade crates or even weapons!\n* Stat boosts that can be picked up which are permanent until you die.\n* A satisfying set of weapons that are fluid with exciting dynamics.\n* A counter that shows how many maps you have survived, which in return will reward you for surviving with stat boosts or other special artificats!\n* Rare powerups that can immediately turn a difficult situation to your favor.\n* Integrated thru-bullets/projectiles.\n\n- Weapon List:\n\n+ Slot 1: Fists, Chainsaw.\n\t* Fists now do a more stable damage both with or without berserk equipped.\n\t* Chainsaw is stronger.\n+ Slot 2: Pistol.\n\t* Increased damage by a lot, also very accurate.\n+ Slot 3: Shotgun, Super Shotgun, Silver Gun (Drop Only).\n\t* Shotgun and Super Shotgun can receive damage upgrades.\n\t* Silver Gun shoots explosive shells. You can kill yourself with this, and it doesn't go through teammates.\n+ Slot 4: Machine Gun, Chaingun (Drop Only).\n\t* Machine Gun can receive a damage upgrade. Has 50 ammo clip size, alt fire to reload.\n\t* Chaingun is way stronger than your usual chaingun, so finding it is usually good.\n+ Slot 5: Rocket Launcher, Grenade Launcher, Heavy Missile Launcher (Drop Only).\n\t* Rocket Launcher and Grenade Launcher can receive damage upgrades.\n\t* Heavy Missile Launcher shoots 2 homing missiles. Forces radius damage.\n+ Slot 6: Plasma Rifle, Nailgun (Drop Only).\n\t* Plasma Rifle can receive a damage upgrade.\n\t* Nailgun shoots ripping projectiles at a good speed, usually good for killing bosses.\n+ Slot 7: BFG9000, Railgun (Drop Only), Death Staff (Drop Only), Razorfang (Drop Only).\n\t* BFG9000 can receive a damage upgrade.\n\t* Railgun can receive 2 damage upgrades.\n\t* Death Staff shoots incredibly lethal projectiles. This weapon is the rarest of them all, so finding it can usually mean you'll have no trouble facing most fights. However, you can easily kill yourself with this weapon.\n\t* Razorfang has two firing modes. Alt fire switches between the Clustershot and the Demon Shredder modes."
},
{
"source": "pk3",
"name": "SBARINFO.txt",
"contents": "height 32;\nmonospacefonts true, \"0\";\n\nstatusbar fullscreen, fullscreenoffsets // ZDoom HUD\n{\n //health\n drawimage \"MEDIA0\", 20, -2, centerbottom;\n drawnumber 3, HUDFONT_DOOM, untranslated, health, drawshadow, 82, -20;\n\n //armor\n drawimage armoricon, 20, -24, centerbottom;\n drawnumber 3, HUDFONT_DOOM, untranslated, armor, drawshadow, whennotzero, 82, -39;\n //ammo\n drawimage ammoicon1, -14, -4, centerbottom;\n\n drawnumber 4, HUDFONT_DOOM, untranslated, ammo1, drawshadow, -100, -20;\n\tIsSelected not \" Fists \", \" Chainsaw \" {\n\t\tdrawimage \"SLASHUD\", -96, -20;\n\t}\n\n\tIsSelected \" Pistol \" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity Clip, drawshadow, -24, -20;\n\t}\n\tIsSelected \" Shotgun \", \" SuperShotgun \" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity Shell, drawshadow, -24, -20;\n\t}\n\tIsSelected \"Silver Gun\" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity ExplodingShell, drawshadow, -24, -20;\n\t}\n\tIsSelected \" Machinegun \", \" Chaingun \" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity Clip, drawshadow, -24, -20;\n\t}\n\tIsSelected \"Rocket Launcher\" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity RocketAmmo, drawshadow, -24, -20;\n\t}\n\tIsSelected \"Grenade Launcher\" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity Grenades, drawshadow, -24, -20;\n\t}\n\tIsSelected \"Heavy Missile Launcher\" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity MISAmmo, drawshadow, -24, -20;\n\t}\n\tIsSelected \"Plasma Rifle\", \"BFG 9000\" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity Cell, drawshadow, -24, -20;\n\t}\n\tIsSelected \"Rail gun\" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity Cell, drawshadow, -24, -20;\n\t}\n\tIsSelected \"Nailgun\"{\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity Nail, drawshadow, -24, -20;\n\t}\n\tIsSelected \"Death Staff\", \"Razorfang\" {\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammocapacity Souls, drawshadow, -24, -20;\n\t}\n\n usesammo\n {\n //secondary ammo and inventory\n usessecondaryammo\n {\n drawimage ammoicon2, -14, -22, centerbottom;\n drawnumber 4, HUDFONT_DOOM, untranslated, ammo2, drawshadow, -25, -38;\n inventorybarnotvisible\n {\n drawselectedinventory centerbottom, drawshadow, alwaysshowcounter, HUDFONT_DOOM, -14, -39, -26, -56, untranslated;\n }\n }\n //no secondary ammo\n usessecondaryammo not\n {\n inventorybarnotvisible\n {\n drawselectedinventory centerbottom, drawshadow, alwaysshowcounter, HUDFONT_DOOM, -14, -21, -26, -38, untranslated;\n }\n }\n }\n\n // no ammo but inventory\n usesammo not\n {\n inventorybarnotvisible\n {\n drawselectedinventory centerbottom, drawshadow, alwaysshowcounter, HUDFONT_DOOM, -14, -3, -26, -20, untranslated;\n }\n }\n\n gamemode deathmatch\n {\n drawnumber 2, HUDFONT_DOOM, untranslated, frags, drawshadow, -3, 1;\n }\n gamemode singleplayer, cooperative, teamgame\n {\n drawkeybar 6, vertical, reverserows, auto, -10, 70, 0, 3, auto;\n\t\t// Rounds Survived\n\t\tdrawimage \"SURVIVD\", -38, 0;\n\t\tdrawnumber 2, SMALLFONT, untranslated, ammo RoundsSurvived, -12, 45;\n }\n}\n\nstatusbar normal // Standard Doom Status bar\n{\n drawimage \"STBAR\", 0, 168;\n drawimage \"STTPRCNT\", 90, 171;\n drawimage \"STTPRCNT\", 221, 171;\n\n\tIsSelected \" Machinegun \"\n\t{\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammo MGClip, 44, 171;\n\t}\n\tIsSelected not \" Machinegun \"\n\t{\n\t\tdrawnumber 4, HUDFONT_DOOM, untranslated, ammo1, 44, 171;\n\t}\n\n drawnumber 3, HUDFONT_DOOM, untranslated, health, 90, 171;\n drawnumber 3, HUDFONT_DOOM, untranslated, armor, 221, 171;\n\n //keys\n drawswitchableimage keyslot 2 && 5, \"nullimage\", \"STKEYS0\", \"STKEYS3\", \"STKEYS6\", 239, 171;\n drawswitchableimage keyslot 3 && 6, \"nullimage\", \"STKEYS1\", \"STKEYS4\", \"STKEYS7\", 239, 181;\n drawswitchableimage keyslot 1 && 4, \"nullimage\", \"STKEYS2\", \"STKEYS5\", \"STKEYS8\", 239, 191;\n\n drawnumber 4, INDEXFONT, gold, ammo Clip, 288, 173;\n drawnumber 4, INDEXFONT, gold, ammo Shell, 288, 179;\n drawnumber 4, INDEXFONT, gold, ammo RocketAmmo, 288, 185;\n drawnumber 4, INDEXFONT, gold, ammo Cell, 288, 191;\n\n drawnumber 4, INDEXFONT, gold, ammocapacity Clip, 314, 173;\n drawnumber 4, INDEXFONT, gold, ammocapacity Shell, 314, 179;\n drawnumber 4, INDEXFONT, gold, ammocapacity RocketAmmo, 314, 185;\n drawnumber 4, INDEXFONT, gold, ammocapacity Cell, 314, 191;\n gamemode deathmatch, teamgame\n {\n drawnumber 2, HUDFONT_DOOM, untranslated, frags, 138, 171;\n }\n gamemode cooperative, singleplayer\n {\n drawimage \"STARMS\", 104, 168;\n drawswitchableimage weaponslot 2, \"STGNUM2\", \"STYSNUM2\", 111, 172;\n drawswitchableimage weaponslot 3, \"STGNUM3\", \"STYSNUM3\", 123, 172;\n drawswitchableimage weaponslot 4, \"STGNUM4\", \"STYSNUM4\", 135, 172;\n drawswitchableimage weaponslot 5, \"STGNUM5\", \"STYSNUM5\", 111, 182;\n drawswitchableimage weaponslot 6, \"STGNUM6\", \"STYSNUM6\", 123, 182;\n drawswitchableimage weaponslot 7, \"STGNUM7\", \"STYSNUM7\", 135, 182;\n\t\t// Rounds Survived\n\t\tdrawimage \"SMLSURV\", 295, 0;\n\t\tdrawnumber 2, SMALLFONT, untranslated, ammo RoundsSurvived, 315, 26;\n\t}\n\n gamemode cooperative, deathmatch, teamgame\n {\n drawimage translatable \"STFBANY\", 143, 169;\n }\n\n drawselectedinventory alternateonempty, INDEXFONT, 143, 168\n\t{\n\t\tdrawmugshot 5, 143, 168;\n\t}\n}\n\nstatusbar inventory // Standard bar overlay (ZDoom Addition)\n{\n drawinventorybar Doom, 7, INDEXFONT, 50, 170;\n}\n\nstatusbar inventoryfullscreen // ZDoom HUD overlay.\n{\n drawinventorybar Doom, translucent, 7, INDEXFONT, 50, 170;\n}"
},
{
"source": "pk3",
"name": "SNDINFO.txt",
"contents": "Weapons/fisthit\t\t\tdspunch\n\nWeapons/NewPist\t\t\tNEWPIST\n\nweapons/shotgunfire\t SGUNFIRE\nweapons/shotgunfirenew\tSGUNFIRN\nweapons/ssgfire\t\t\tSSGFIRE\nweapons/ssgfirenew\t\tSSGFIREN\nweapons/ssgopen\t\t\tDSD2OPN\nweapons/ssgload\t\t\tDSD2LOAD\nweapons/ssgclose\t\tDSD2CLS\n\nweapons/expshotgunfire\tEXSGFIRE\nweapons/expshotgunpump\tEXSGPUMP\nweapons/expshotgunxpl\tEXSGXPL\n$volume weapons/expshotgunxpl 0.3\n$limit weapons/expshotgunxpl 0\n\nweapons/mgfire\t\t\tMGFIRE\nweapons/mgfirenew\t\tMGFIRE2\n\nweapons/minigunhold\t\tMGSHOT3\nweapons/minigunup\t\tdsmgup\nweapons/minigundown\t\tdsmgdown\nweapons/minigunfire\t\tCGUNFIRE\n\nweapons/newrocketfire\tRLANFIR\nweapons/glauncherfire GRNFIRE\nweapons/glauncherfiren GRNFIREN\nweapons/grenadexpl\t\tGRNEXP\nweapons/gbnc1\t\t\tGRNBNC1\nweapons/gbnc2\t\t\tGRNBNC2\n$random weapons/grenadebounce { weapons/gbnc1 weapons/gbnc2 }\n\nweapons/heavyrlfire\t\tHRLFIR\nweapons/heavyrlexp\t\tHRLEXP\n\nweapons/newplasmafire\tDSPLASMX\n$limit weapons/newplasmafire 0\nweapons/plasmahit\t\tDSPLASH\nweapons/plasmacharge\tPLASCH\nweapons/plasmabeep\t\tPLASBEP\nweapons/nailfire\t\tNAILFIRE\nweapons/nailflight\t\tNAILFLY\nweapons/nailric1\t\tNAILRIC1\nweapons/nailric2\t\tNAILRIC2\nweapons/nailric3\t\tNAILRIC3\n$random weapons/nailric { weapons/nailric1 weapons/nailric2 weapons/nailric3 }\n\nweapons/newrailfire\t\tRAILFIR\nweapons/burning\t\t\tFLBURN\nweapons/deathstexp1\t\tDSTEXP1\nweapons/deathstexp2\t\tDSTEXP2\nweapons/deathstfire\t\tDSTFIRE\n\nweapons/boltfi dsboltfi\nweapons/boltf2 dsboltf2\ndoor/flsd1a dsflsd1a\n\nitems/armor\t\t\t\tQARMOR\nitems/stimpack\t\t\tQHEAL1\nitems/medikit\t\t\tQHEAL2\nitems/invul\t\t\t\tINVULGET\nitems/radsuit\t\t\tRADSTGET\n\nkeys/noskullkey\t\t\tNOSKULL\nkeys/nokeycard\t\t\tNOCARD\nkeys/keycard\t\t\tCARDGET\nkeys/skull\t\t\t\tSKULLGET\n\nweapons/pick1\t\t\tWEAPGET\nweapons/pick2\t\t\tWEAPGET2\nweapons/pick3\t\t\tWEAPGET3\nweapons/pick4\t\t\tWEAPGET4\nweapons/pick5\t\t\tWEAPGET5\n$random weapons/pickup { weapons/pick1 weapons/pick2 weapons/pick3 weapons/pick4 weapons/pick5 }\n\nitems/pickup\t\t\tBONPICK\nitems/backpack\t\t\tBPACKGET\nitems/upgrade\t\t\tUPGCGET\nitems/soulsphere\t\tSSPHGET\nitems/megasphere\t\tMEGAGET\nitems/ubersphere\t\tUBERSPH\nitems/evilsphere\t\tEVILSPH\nitems/fieldkit\t\t\tFKITUSE\nitems/bloodrun\t\t\tBRUNUSE\nitems/salvation\t\t\tDSALVATE\nitems/shield\t\t\tDSSHIEL\nitems/triple\t\t\tDSTRIPL\n\nitems/pickup1\t\t\tBPGET1\nitems/pickup2\t\t\tBPGET2\nitems/pickup3\t\t\tBPGET3\nitems/pickup4\t\t\tBPGET4\n$random items/ammo { items/pickup1 items/pickup2 items/pickup3 items/pickup4 }\n\n//SHOUT out to legacy of suffering for these awesome sounds\nWeapons/shotguncasing1 SHELCAS1\nWeapons/shotguncasing2 SHELCAS2\nWeapons/shotguncasing3 SHELCAS3\nWeapons/shotguncasing4 SHELCAS4\n\n$Random Weapons/shotguncasing\n{\n Weapons/shotguncasing1\n Weapons/shotguncasing2\n Weapons/shotguncasing3\n Weapons/shotguncasing4\n}\n\nWeapons/mincase1 BULLCAS1\nWeapons/mincase2 BULLCAS2\nWeapons/mincase3 BULLCAS3\nweapons/mincase4\t BULLCAS4\n\n$Random Weapons/bulletcasing\n{\n Weapons/mincase1\n Weapons/mincase2\n Weapons/mincase3\n Weapons/mincase4\n}\n\nbloodsplat1 dsblud01\nbloodsplat2 dsblud02\nbloodsplat3 dsblud03\nbloodsplat4 dsblud04\nbloodsplat5 dsblud05\nbloodsplat6 dsblud06\n\n$random bloodsplat { bloodsplat1 bloodsplat2 bloodsplat3 bloodsplat4 bloodsplat5 bloodsplat6 }\n$limit bloodsplat 1\n\nBonus/Received\t\tBONRECEI\n\n// Splashes\nslime\t\t\t\tdsmuck\nslimesmall\t\t\tdsmucksm\nwater\t\t\t\tdsgloop\nwatersmall\t\t\tdsfloush\nburn\t\t\t\tdsburn\nburnsmall\t\t\tdsburnsm\nblood1\t\t\t\tdssplat1\nblood2\t\t\t\tdssplat2\n$RANDOM blood { blood1 blood2 }\nbloodsmall1\t\t\tdssplat3\nbloodsmall2\t\t\tdssplat4\n$RANDOM bloodsmall { bloodsmall1 bloodsmall2 }\n\n// World Sounds / Terrain sounds\n\nworld/drip\t\t\tdsempty\n$random world/watersplash\t\t{dssplash dssplas2 water}\ndssplash\tdssplash\ndssplas2\tdssplas2\nworld/watersplashsmall\t\tdssplsml\nworld/sludgegloop\t\tdsploosh\nworld/sludgegloopsmall\t\tdsplosml\nworld/lavasizzle\t\tdslvsiz\nworld/lavsiz2\t\t\tdslvsiz2\nworld/lavasizzlesmall\t\tdslavsml\n\n$limit world/watersplash 0\n$limit world/sludgegloop 0\n$limit world/lavasizzle 0\n$limit world/drip 0\n$limit world/hotsiz 0\n\n// Ricochet Sounds\n$random puff/ric \t\t{ puff/ric1 puff/ric2 puff/ric3 puff/ric4 puff/ric5 puff/ric6 puff/ric7 }\npuff/ric1 \t\t\tdsrich1\npuff/ric2 \t\t\tdsrich2\npuff/ric3 \t\t\tdsrich3\npuff/ric4 \t\t\tdsrich4\npuff/ric5 \t\t\tdsrich5\npuff/ric6 \t\t\tdsrich6\npuff/ric7 \t\t\tdsrich7"
},
{
"source": "pk3",
"name": "Actors/Items.txt",
"contents": "// Upgrades start\n\nActor MGPowerUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor ShotgunUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor SSGUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor RocketUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor GrenadeUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor PlasmaUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor RailgunUpgrade : Inventory\n{\n\tinventory.maxamount 2\n}\n\nActor BFGUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor MovementUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor ResistUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor NanobotUpgrade : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor Resist : PowerProtection\n{\n\tdamagefactor \"normal\", 0.85\n\tpowerup.duration 0x7FFFFFFF\n}\n\nActor UpgradeCrate_MGP : CustomInventory\n{\n\tRadius 20\n\tHeight 16\n\tinventory.pickupsound \"items/upgrade\"\n\tinventory.pickupmessage \"UPGRADE CRATE!\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tUPGC A -1\n\t\tStop\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"MGPowerUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 0)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_SGP : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"ShotgunUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 1)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_SSGP : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"SSGUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 2)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_RLP : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"RocketUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 3)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_GLP : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"GrenadeUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 4)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_PRP : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"PlasmaUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 5)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_RGP : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"RailgunUpgrade\", 2, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 6)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_BFG : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"BFGUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 7)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_MSI : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"MovementUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 8)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_REU : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"ResistUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 9)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\nActor UpgradeCrate_NAN : UpgradeCrate_MGP\n{\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 1 A_JumpIfInventory(\"NanobotUpgrade\", 1, \"Failed\")\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(993, 0, 10)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 1\n\t\tFail\n\t}\n}\n\n// Upgrades end here\n\n// Replicates\n\nActor NewGreenArmor : GreenArmor replaces GreenArmor\n{\n\tinventory.pickupsound \"Items/armor\"\n\tScale 1.15\n}\n\nActor NewBlueArmor : BlueArmor\n{\n\tinventory.pickupsound \"Items/armor\"\n\tScale 1.15\n}\n\nActor Stimpack2 : Stimpack replaces Stimpack\n{\n\tinventory.pickupsound \"Items/Stimpack\"\n}\n\nActor Medikit2 : Medikit replaces Medikit\n{\n\tinventory.pickupsound \"Items/medikit\"\n}\n\nActor NewHealthBonus : HealthBonus\n{\n\tinventory.pickupsound \"items/pickup\"\n}\n\nActor NewArmorBonus : ArmorBonus\n{\n\tinventory.pickupsound \"items/pickup\"\n}\n\nActor BonusReplacer : Randomspawner replaces HealthBonus\n{\n\tDropItem \"NewHealthBonus\", 255, 24\n\tDropItem \"MaxHealthBonusPickup\", 255, 8\n\tDropItem \"BasicStatBoost\", 255, 4\n}\n\nActor BonusReplacer2 : Randomspawner replaces ArmorBonus\n{\n\tDropItem \"NewArmorBonus\", 255, 24\n\tDropItem \"MaxArmorBonusPickup\", 255, 8\n\tDropItem \"BasicStatBoost\", 255, 4\n}\n\nActor NewClip : Clip replaces Clip\n{\n\tinventory.pickupsound \"items/ammo\"\n}\n\nActor NewClipbox : Clipbox replaces Clipbox\n{\n\tinventory.pickupsound \"items/ammo\"\n}\n\nActor NewShell : Shell\n{\n\tinventory.pickupsound \"items/ammo\"\n}\n\nActor NewShellBox : ShellBox\n{\n\tinventory.pickupsound \"items/ammo\"\n}\n\nActor Slot3AmmoSmallSpawner : RandomSpawner replaces Shell\n{\n\tDropItem \"NewShell\", 255, 16\n\tDropItem \"ExplodingShell\", 255, 4\n}\n\nActor Slot3AmmoContainer : CustomInventory\n{\n\tRadius 20\n\tHeight 20\n\tinventory.pickupsound \"items/ammo\"\n\tinventory.pickupmessage \"Picked up a box of explosive and normal shells!\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSLO3 A -1\n\t\tStop\n\t\tPickup:\n\t\t\tTNT1 A 0 A_JumpIf(1 == ACS_ExecuteWithResult(992, 0, 0), \"Failed\")\n\t\t\tTNT1 A 0 A_GiveInventory(\"Shell\", 20)\n\t\t\tTNT1 A 0 A_GiveInventory(\"ExplodingShell\", 15)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 0\n\t\tFail\n\t}\n}\n\nActor Slot3AmmoBigSpawner : RandomSpawner replaces ShellBox\n{\n\tDropItem \"NewShellBox\", 255, 16\n\tDropItem \"Slot3AmmoContainer\", 255, 8\n//\tDropItem \"ExplodingShellBox\", 255, 4\n}\n\nActor Slot5WeaponSpawner : Randomspawner replaces RocketLauncher\n{\n\tDropItem \"Rocket Launcher\"\n\tDropItem \"Grenade Launcher\"\n}\n\nActor RocketAmmo2 : RocketAmmo\n{\n\tinventory.pickupsound \"items/ammo\"\n}\n\nActor RocketBox2 : RocketBox\n{\n\tinventory.pickupsound \"items/ammo\"\n}\n\nActor Slot5AmmoSmallSpawner : Randomspawner replaces RocketAmmo\n{\n\tDropItem \"RocketAmmo2\", 255, 8\n\tDropItem \"Grenades\", 255, 8\n\tDropItem \"MISAmmo\", 255, 4\n}\n\nActor Slot5AmmoContainer : Slot3AmmoContainer\n{\n\tinventory.pickupmessage \"Picked up a box of rockets, grenades and heavy missiles!\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSLO5 A -1\n\t\tStop\n\t\tPickup:\n\t\t\tTNT1 A 0 A_JumpIf(1 == ACS_ExecuteWithResult(992, 0, 1), \"Failed\")\n\t\t\tTNT1 A 0 A_GiveInventory(\"RocketAmmo\", 5)\n\t\t\tTNT1 A 0 A_GiveInventory(\"Grenades\", 5)\n\t\t\tTNT1 A 0 A_GiveInventory(\"MISAmmo\", 6)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 0\n\t\tFail\n\t}\n}\n\nActor Slot5AmmoBigSpawner : Randomspawner replaces RocketBox\n{\n\tDropItem \"RocketBox2\", 255, 8\n\tDropItem \"GrenadeBox\", 255, 8\n\tDropItem \"Slot5AmmoContainer\", 255, 8\n//\tDropItem \"MISBox\", 255, 4\n}\n\nActor Cell2 : Cell\n{\n\tinventory.pickupsound \"items/ammo\"\n}\n\nActor Cellpack2 : Cellpack\n{\n\tinventory.pickupsound \"items/ammo\"\n}\n\nActor Slot6AmmoSmallSpawner : Randomspawner replaces Cell\n{\n\tDropItem \"Cell2\", 255, 16\n\tDropItem \"Nail\", 255, 8\n}\n\nActor Slot6AmmoContainer : Slot3AmmoContainer\n{\n\tinventory.pickupmessage \"Picked up a box of cells and nails!\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSLO6 A -1\n\t\tStop\n\t\tPickup:\n\t\t\tTNT1 A 0 A_JumpIf(1 == ACS_ExecuteWithResult(992, 0, 2), \"Failed\")\n\t\t\tTNT1 A 0 A_GiveInventory(\"Cell\", 100)\n\t\t\tTNT1 A 0 A_GiveInventory(\"Nail\", 35)\n\t\tStop\n\t\tFailed:\n\t\t\tTNT1 A 0\n\t\tFail\n\t}\n}\n\nActor Slot6AmmoBigSpawner : Randomspawner replaces Cellpack\n{\n\tDropItem \"Cellpack2\", 255, 16\n//\tDropItem \"NailBox\", 255, 16\n\tDropItem \"Slot6AmmoContainer\", 255, 8\n//\tDropItem \"LargeSouls\", 255, 4\n}\n\n// Replicates end here\n\n// Entirely new things\n\nActor MaxArmorBonusNew : MaxArmorBonus\n{\n\tarmor.maxbonus 1\n\tarmor.maxbonusmax 200\n\tarmor.maxsaveamount 400\n\tinventory.pickupmessage \"Picked up a max armor bonus.\"\n\tinventory.pickupsound \"items/pickup\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tBON4 ABCDCB 6\n\t\tLoop\n\t}\n}\n\nActor MaxArmorBonusPickup : CustomInventory\n{\n Radius 12\n Height 16\n Inventory.Amount 1\n Inventory.MaxAmount 200\n +COUNTITEM\n Inventory.PickupMessage \"Picked up a max armor bonus.\"\n inventory.pickupsound \"items/pickup\"\n States\n {\n Spawn:\n BON4 ABCDCB 6\n Loop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"MaxArmorBonusNew\", 1)\n\t\tTNT1 A 0 A_giveInventorY(\"MaxArmorBonusCounter\", 1)\n\tStop\n }\n}\n\nActor MaxHealthBonusNew : MaxHealthBonus\n{\n\tinventory.amount 1\n\tinventory.maxamount 200\n}\n\nActor MaxHealthBonusCounter : Ammo\n{\n\tinventory.amount 1\n\tinventory.maxamount 200\n\tammo.backpackamount 0\n\t+IGNORESKILL\n}\n\nActor MaxArmorBonusCounter : Ammo\n{\n\tinventory.amount 1\n\tinventory.maxamount 200\n\tammo.backpackamount 0\n\t+IGNORESKILL\n}\n\nActor MaxHealthBonusPickup : CustomInventory\n{\n Radius 12\n Height 16\n Inventory.Amount 1\n Inventory.MaxAmount 200\n +COUNTITEM\n Inventory.PickupMessage \"Picked up a max health bonus.\"\n inventory.pickupsound \"items/pickup\"\n States\n {\n Spawn:\n BON3 ABCDCB 6\n Loop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"MaxHealthBonusNew\", 1)\n\t\tTNT1 A 0 A_giveInventorY(\"MaxHealthBonusCounter\", 1)\n\tStop\n }\n}\n\nActor BasicStatBoost : CustomInventory\n{\n\tradius 20\n\theight 16\n\tinventory.pickupmessage \"Picked up a basic stat boost.\"\n\tinventory.pickupsound \"items/pickup\"\n +COUNTITEM\n +INVENTORY.ALWAYSPICKUP\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tBASC ABCD 3 Bright\n\t\tLoop\n\t\tPickup:\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(997, 0)\n\t\tStop\n\t}\n}\n\nActor BackpackCounter : Ammo\n{\n\tinventory.amount 1\n\tinventory.maxamount 14\n\tammo.backpackamount 0\n\t+IGNORESKILL\n}\n\nActor NewBackPack : CustomInventory\n{\n Inventory.PickupMessage \"Picked up a backpack, ammo capacities increased!\"\n inventory.pickupsound \"items/backpack\"\n States\n {\n Spawn:\n BPAK A -1\n Loop\n Pickup:\n TNT1 A 0 A_JumpIf(1 == ACS_ExecuteWithResult(994, 0), \"Success\")\n Fail\n Success:\n TNT1 A 0 ACS_ExecuteAlways(996, 0)\n Stop\n }\n}\n\nActor TheRedArmor : BasicArmorPickup\n{\n Radius 20\n Height 16\n Inventory.Pickupmessage \"Picked up the red armor!\"\n Inventory.Icon \"QRARB0\"\n Armor.Savepercent 75.0\n Armor.Saveamount 300\n Inventory.PickupSound \"items/armor\"\n States\n {\n Spawn:\n QRAR A 7 Bright\n\tQRAR B 6\n Loop\n }\n}\n\nActor BlueArmorSpawner : Randomspawner replaces BlueArmor\n{\n\tDropItem \"NewBlueArmor\", 255, 16\n\tDropItem \"TheRedArmor\", 255, 4\n}\n\nActor RedCard2 : RedCard replaces RedCard\n{\n\tinventory.pickupsound \"keys/keycard\"\n}\n\nActor BlueCard2 : BlueCard replaces BlueCard\n{\n\tinventory.pickupsound \"keys/keycard\"\n}\n\nActor YellowCard2 : YellowCard replaces YellowCard\n{\n\tinventory.pickupsound \"keys/keycard\"\n}\n\nActor RedSkull2 : RedSkull replaces RedSkull\n{\n\tinventory.pickupsound \"keys/skull\"\n}\n\nActor BlueSkull2 : BlueSkull replaces BlueSkull\n{\n\tinventory.pickupsound \"keys/skull\"\n}\n\nActor YellowSkull2 : YellowSkull replaces YellowSkull\n{\n\tinventory.pickupsound \"keys/skull\"\n}\n\nActor EvilSphere : Powerupgiver replaces Blursphere\n{\n inventory.pickupmessage \"Evil Sphere!\"\n Powerup.Color GoldMap\n inventory.maxamount 0\n inventory.usesound \"items/evilsphere\"\n powerup.type \"Frightener\"\n powerup.duration 1400\n +AUTOACTIVATE\n +INVENTORY.ALWAYSPICKUP\n States\n {\n\tSpawn:\n\t\tHELS ABCD 4 Bright\n\tLoop\n }\n}\n\nActor InvulnerabilitySphere2 : InvulnerabilitySphere replaces InvulnerabilitySphere\n{\n\tinventory.pickupsound \"items/invul\"\n\tInventory.PickupAnnouncerEntry \"\"\n}\n\nACTOR RadSuit2 : Radsuit replaces Radsuit\n{\n\tinventory.pickupsound \"items/radsuit\"\n}\n\nACTOR UberHealth : HealthBonus //Not actually used in map\n{\n Inventory.Amount 300\n Inventory.MaxAmount 300\n Inventory.PickupMessage \" \"\n States\n {\n Spawn:\n TNT1 A 0 Bright\n Loop\n }\n}\n\nActor SoulSphere2 : SoulSphere replaces SoulSphere\n{\n\tInventory.PickupAnnouncerEntry \"\"\n\tinventory.pickupsound \"items/soulsphere\"\n}\n\nActor MegaSphere2 : Megasphere\n{\n\tInventory.PickupAnnouncerEntry \"\"\n\tinventory.pickupsound \"items/megasphere\"\n}\n\nActor UberSphere : CustomInventory\n{\n inventory.pickupmessage \"UberSphere!\"\n inventory.pickupsound \"items/ubersphere\"\n +COUNTITEM\n +INVENTORY.AUTOACTIVATE\n +INVENTORY.ALWAYSPICKUP\n states\n {\n Spawn:\n CARN ABCD 5 Bright\n loop\n Pickup:\n GIGA A 0 A_GiveInventory(\"TheRedArmor\")\n GIGA A 0 A_GiveInventory(\"UberHealth\")\n stop\n }\n}\n\nActor Megaspherespawner : Randomspawner replaces MegaSphere\n{\n\tDropItem \"MegaSphere2\", 255, 16\n\tDropItem \"UberSphere\", 255, 4\n}\n\nActor FieldKit : HealthPickup\n{\n Health 25\n +CountItem\n +Inventory.AlwaysPickup\n Inventory.PickupMessage \"You got a field kit\"\n Inventory.PickupSound \"Misc/I_PkUp\"\n Inventory.UseSound \"Items/fieldkit\"\n Inventory.Icon \"FKITC0\"\n Inventory.MaxAmount 15\n HealthPickup.AutoUse 1\n States\n {\n Spawn:\n FKIT AB 10\n Loop\n }\n}\n\nactor Salvationsphere : CustomInventory\n{\n Inventory.PickupMessage \"Salvationsphere!\"\n Inventory.Amount 1\n Inventory.MaxAmount 1\n Inventory.PickupSound \"misc/p_pkup\"\n Inventory.UseSound \"items/salvation\"\n Inventory.Icon \"ARTISALV\"\n Renderstyle Add\n +INVENTORY.FANCYPICKUPSOUND\n +INVBAR\n +COUNTITEM\n +FLOATBOB\n states\n {\n Spawn:\n\tSALV ABCDE 3 Bright\n\tloop\n Use:\n \tTNT1 A 0 A_GiveInventory(\"Soulsphere\")\n\tTNT1 A 0 A_GiveInventory(\"Salvate\")\n\tTNT1 A 0 A_GiveInventory(\"SalvationEffectGiver\")\n\tStop\n }\n}\n\n//Alternate Salvation\n\nactor Salvate : ArtiTeleport\n{\n +INVENTORY.AUTOACTIVATE\n +INVENTORY.ALWAYSPICKUP\n}\n\nActor PortableShield : CustomInventory\n{\n Inventory.PickupMessage \"Shield!\"\n Inventory.Amount 1\n Inventory.MaxAmount 3\n Inventory.PickupSound \"misc/p_pkup\"\n Inventory.UseSound \"items/shield\"\n Inventory.Icon \"ELPDP\"\n +INVBAR\n States\n {\n\tSpawn:\n\t\tELPD A -1\n\tStop\n\tUse:\n\t\tTNT1 A 0 A_GiveInventory(\"ShieldPowerupGiver\", 1)\n\tStop\n }\n}\n\nActor ShieldPowerupGiver : PowerInvulnerable\n{\n\tpowerup.duration -5\n\tPowerup.Color Goldmap\n\t+INVENTORY.ADDITIVETIME\n}\n\nActor FakeBloodPower : PowerProtection\n{\n\tdamagefactor \"normal\", 1.0\n\tpowerup.duration -30\n\tPowerup.Color \"95 5 5\"\n\t+INVENTORY.ADDITIVETIME\n}\n\nActor BloodRune : CustomInventory\n{\n\tinventory.pickupmessage \"Rune!\"\n\tinventory.maxamount 1\n\tinventory.icon \"BRUICO\"\n\t+INVBAR\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tELPD A -1\n\t\tStop\n\t\tUse:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(995, 0)\n\t\tStop\n\t}\n}\n\nActor TripleDamage : CustomInventory\n{\n\tinventory.pickupmessage \"Rune!\"\n\tinventory.maxamount 1\n\tinventory.usesound \"items/triple\"\n\tinventory.icon \"ARTIDMG\"\n\t+INVBAR\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 1\n\t\tStop\n\t\tUse:\n\t\t\tTNT1 A 0 A_GiveInventory(\"TripleDamagePower\", 1)\n\t\tStop\n\t}\n}\n\nActor TripleDamagePower : PowerDamage\n{\n\tdamagefactor \"normal\", 3.0\n\tpowerup.duration -15\n\tPowerup.Color Redmap\n}\n\nActor BackpackSpawner : Randomspawner replaces Backpack\n{\n\tDropItem \"NewBackPack\", 255, 40\n\tDropItem \"UpgradeCrate_MGP\", 255, 1\n\tDropItem \"UpgradeCrate_SGP\", 255, 1\n\tDropItem \"UpgradeCrate_SSGP\", 255, 1\n\tDropItem \"UpgradeCrate_RLP\", 255, 1\n\tDropItem \"UpgradeCrate_GLP\", 255, 1\n\tDropItem \"UpgradeCrate_PRP\", 255, 1\n\tDropItem \"UpgradeCrate_RGP\", 255, 1\n\tDropItem \"UpgradeCrate_MSI\", 255, 1\n\tDropItem \"UpgradeCrate_REU\", 255, 1\n\tDropItem \"UpgradeCrate_BFG\", 255, 1\n\tDropItem \"UpgradeCrate_NAN\", 255, 1\n}\n\nActor CrateSpawner : RandomSpawner\n{\n\tDropItem \"UpgradeCrate_MGP\", 255\n\tDropItem \"UpgradeCrate_SGP\", 255\n\tDropItem \"UpgradeCrate_SSGP\", 255\n\tDropItem \"UpgradeCrate_RLP\", 255\n\tDropItem \"UpgradeCrate_GLP\", 255\n\tDropItem \"UpgradeCrate_PRP\", 255\n\tDropItem \"UpgradeCrate_RGP\", 255\n\tDropItem \"UpgradeCrate_MSI\", 255\n\tDropItem \"UpgradeCrate_REU\", 255\n\tDropItem \"UpgradeCrate_BFG\", 255\n\tDropItem \"UpgradeCrate_NAN\", 255\n}\n\nActor RareWeaponSpawner : Randomspawner\n{\n\tDropItem \" Chaingun \", 255, 24\n\tDropItem \"Silver Gun\", 255, 24\n\tDropItem \"Heavy Missile Launcher\", 255, 24\n\tDropItem \"Nailgun\", 255, 24\n\tDropItem \"RailgunPickup\", 255, 8\n\tDropItem \"DeathStaffPickup\", 255, 4\n\tDropItem \"RazorFangPickup\", 255, 4\n}\n\nActor CrateorWeapon : Randomspawner\n{\n\tDropItem \"RareWeaponSpawner\", 255, 8\n\tDropItem \"CrateSpawner\", 255, 4\n}"
},
{
"source": "pk3",
"name": "Actors/Gore.txt",
"contents": "// Gib generator fixed by LilWhiteMouse - thanks LWM!\nactor NashGore_GibGenerator\n{\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n TNT1 A 0\n TNT1 A 0 A_Jump(128, 8)\n TNT1 A 0 A_Jump(128, 4)\n TNT1 A 0 A_Jump(128, 2)\n TNT1 A 1 A_SpawnDebris(\"NashGore_Gib1\", 1)\n stop\n\t TNT1 A 1 A_SpawnDebris(\"NashGore_Gib2\", 1)\n stop\n TNT1 A 0 A_Jump(128, 2)\n TNT1 A 1 A_SpawnDebris(\"NashGore_Gib3\", 1)\n stop\n TNT1 A 1 A_SpawnDebris(\"NashGore_Gib4\", 1)\n stop\n TNT1 A 0 A_Jump(128, 4)\n TNT1 A 0 A_Jump(128, 2)\n TNT1 A 1 A_SpawnDebris(\"NashGore_Gib5\", 1)\n stop\n TNT1 A 1 A_SpawnDebris(\"NashGore_Gib6\", 1)\n stop\n TNT1 A 0 A_Jump(128, 2)\n TNT1 A 1 A_SpawnDebris(\"NashGore_Gib7\", 1)\n stop\n TNT1 A 1 A_SpawnDebris(\"NashGore_Gib8\", 1)\n stop\n }\n}\n\nActor NashGore_GibGenerator_G : NashGore_GibGenerator\n{\n\tTranslation \"168:191=96:111\", \"16:47=96:111\"\n}\n\nActor NashGore_GibGenerator_Green : NashGore_GibGenerator\n{\n\tTranslation \"168:191=112:127\"\n}\n\nActor NashGore_GibGenerator_Blue : NashGore_GibGenerator\n{\n\tTranslation \"168:191=192:207\"\n}\n\nActor NashGore_GibGenerator_Purple : NashGore_GibGenerator\n{\n\tTranslation \"168:191=250:254\"\n}\n\n// Gib 1\nactor NashGore_Gib1\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB1 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB1 A 3500\n\t GIB1 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\n// Gib 2\nactor NashGore_Gib2\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB2 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB2 A 3500\n\t GIB2 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\n// Gib 3\nactor NashGore_Gib3\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB3 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB3 A 3500\n\t GIB3 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\n// Gib 4\nactor NashGore_Gib4\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB4 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB4 A 3500\n\t GIB4 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\n// Gib 5\nactor NashGore_Gib5\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB5 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB5 A 3500\n\t GIB5 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\n// Gib 6\nactor NashGore_Gib6\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB6 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB6 A 3500\n\t GIB6 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\n// Gib 7\nactor NashGore_Gib7\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB7 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB7 A 3500\n\t GIB7 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\n// Gib 8\nactor NashGore_Gib8\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB8 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB8 A 3500\n\t GIB8 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\n// Gib 9 (hand)\nactor NashGore_Gib9\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB9 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB9 A 3500\n\t GIB9 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\nActor NashGore_Gib9_G : NashGore_Gib9\n{\n\tTranslation \"168:191=96:111\", \"16:47=96:111\"\n}\n\n// Gib 10 (arm)\nactor NashGore_Gib10\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIB0 A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIB0 A 3500\n\t GIB0 AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\nActor NashGore_Gib10_G : NashGore_Gib10\n{\n\tTranslation \"168:191=96:111\", \"16:47=96:111\"\n}\n\n// Gib 11 (eyeball)\nactor NashGore_Gib11\n{\nhealth 1\nradius 8\nheight 8\nmass 1\nscale 0.75\n+CORPSE\n+NOTELEPORT\n+CLIENTSIDEONLY\nstates\n\t{\n\tSpawn:\n\t GIBI A 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\t loop\n\tCrash:\n\t GIBI A 3500\n\t GIBI AAAAAAAAAA 7 A_FadeOut(0.1)\n\t stop\n\t}\n}\n\nActor NashGore_Gib11_G : NashGore_Gib11\n{\n\tTranslation \"168:191=96:111\", \"16:47=96:111\"\n}\n\n// Modify the internal Blood actor to spawn flying blood\nactor NashGore_Blood : Blood replaces Blood\n{\n +CLIENTSIDEONLY\n states\n {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_Jump(128, \"Var1\", \"Var2\", \"Var3\")\n BLUD C 8 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n BLUD B 8\n BLUD A 8\n stop\n Var1:\n\tTNT1 A 0 A_SpawnItem(\"BloodVariant1\", 0, 0, 0, 1)\n\tTNT1 A 0 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\tStop\n\tVar2:\n\tTNT1 A 0 A_SpawnItem(\"BloodVariant2\", 0, 0, 0, 1)\n\tTNT1 A 0 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\tStop\n\tVar3:\n\tTNT1 A 0 A_SpawnItem(\"BloodVariant3\", 0, 0, 0, 1)\n\tTNT1 A 0 A_SpawnDebris(\"NashGore_FlyingBlood\",1)\n\tStop\n }\n}\n\nActor BloodVariant1\n{\n\t+NOBLOCKMAP\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tNBLU ABCDEF 3\n\t\tStop\n\t}\n}\n\nActor BloodVariant2 : BloodVariant1\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tNBL2 ABCD 4\n\t\tStop\n\t}\n}\n\nActor BloodVariant3 : BloodVariant1\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tNBL3 ABCDEF 3\n\t\tStop\n\t}\n}\n\n// Blood sprite that flies outwards and leaves trails behind\nactor NashGore_FlyingBlood\n{\n game Doom\n scale 0.75\n health 1\n radius 8\n height 1\n mass 1\n +CORPSE\n +NOTELEPORT\n +NOBLOCKMAP\n +CLIENTSIDEONLY\n states\n {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_Jump(128, \"Variant2\")\n SpawnLoop:\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 A 1 A_SpawnItem(\"NashGore_FlyingBloodTrail\",0,0,0,1)\n B000 A 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 A 1 A_SpawnItem(\"NashGore_FlyingBloodTrail\",0,0,0,1)\n B000 A 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 B 1 A_SpawnItem(\"NashGore_FlyingBloodTrail\",0,0,0,1)\n B000 B 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 B 1 A_SpawnItem(\"NashGore_FlyingBloodTrail\",0,0,0,1)\n B000 B 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 C 1 A_SpawnItem(\"NashGore_FlyingBloodTrail\",0,0,0,1)\n B000 C 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 C 1 A_SpawnItem(\"NashGore_FlyingBloodTrail\",0,0,0,1)\n B000 C 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 D 1 A_SpawnItem(\"NashGore_FlyingBloodTrail\",0,0,0,1)\n B000 D 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 D 1 A_SpawnItem(\"NashGore_FlyingBloodTrail\",0,0,0,1)\n B000 D 1\n loop\n Variant2:\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 E 1 A_SpawnItem(\"NashGore_FlyingBloodTrail2\",0,0,0,1)\n B000 E 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 E 1 A_SpawnItem(\"NashGore_FlyingBloodTrail2\",0,0,0,1)\n B000 E 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 F 1 A_SpawnItem(\"NashGore_FlyingBloodTrail2\",0,0,0,1)\n B000 F 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 F 1 A_SpawnItem(\"NashGore_FlyingBloodTrail2\",0,0,0,1)\n B000 F 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 G 1 A_SpawnItem(\"NashGore_FlyingBloodTrail2\",0,0,0,1)\n B000 G 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 G 1 A_SpawnItem(\"NashGore_FlyingBloodTrail2\",0,0,0,1)\n B000 G 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 H 1 A_SpawnItem(\"NashGore_FlyingBloodTrail2\",0,0,0,1)\n B000 H 1 A_JumpIf(waterlevel > 1, \"Remove\")\n B000 H 1 A_SpawnItem(\"NashGore_FlyingBloodTrail2\",0,0,0,1)\n B000 H 1\n Loop\n Crash:\n TNT1 A 1 A_SpawnItem(\"NashGore_BloodSpot\",0,0,0,1)\n stop\n Remove:\n\tTNT1 A 1\n Stop\n }\n}\n\nactor NashGore_BloodSpot\n{\n game Doom\n radius 12\n height 2\n mass 1\n +NOTELEPORT\n -NOBLOCKMAP\n +CLIENTSIDEONLY\n states\n {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_PlaySound(\"bloodsplat\")\n TNT1 A 0 A_Jump(256,\"S1\", \"S2\", \"S3\", \"S4\", \"S5\")\n // make the blood spots stay on the ground. 1500 is the default duration.\n S1:\n BSPT A 1500\n stop\n S2:\n BSPT B 1500\n stop\n S3:\n BSPT C 1500\n stop\n S4:\n BSPT D 1500\n stop\n S5:\n GIBX ABCDEF 6\n Stop\n\n }\n}\n\n// Blood trails spawned by FlyingBlood\nactor NashGore_FlyingBloodTrail\n{\n game Doom\n scale 0.70\n mass 1\n +LOWGRAVITY\n +NOTELEPORT\n +NOBLOCKMAP\n +CLIENTSIDEONLY\n states\n {\n Spawn:\n BTRL ABCD 4\n stop\n }\n}\n\nactor NashGore_FlyingBloodTrail2 : NashGore_FlyingBloodTrail\n{\n states\n {\n Spawn:\n\tB000 EFGH 4\n stop\n }\n}\n\nActor MetalScrap\n{\n game Doom\n scale 0.6\n radius 8\n height 1\n health 1\n mass 1\n +CORPSE\n +NOTELEPORT\n +NOBLOCKMAP\n +CLIENTSIDEONLY\n States\n {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Jump(128, \"Variant2\")\n\t\tTNT1 A 1 A_SpawnDebris(\"MetalPiece1\")\n\tStop\n\tVariant2:\n\t\tTNT1 A 1 A_SpawnDebris(\"MetalPiece2\")\n\tStop\n }\n}\n\nActor MetalPiece1 : MetalScrap\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSCRP ABCD 3\n\t\tLoop\n\t\tCrash:\n\t\t\tTNT1 A 0 A_Jump(256, \"1\", \"2\", \"3\", \"4\")\n\t\t1:\n\t\t\tSCRP AAAAAAAAA 140 A_FadeOut(0.1)\n\t\tStop\n\t\t2:\n\t\t\tSCRP BBBBBBBBB 140 A_FadeOut(0.1)\n\t\tStop\n\t\t3:\n\t\t\tSCRP CCCCCCCCC 140 A_FadeOut(0.1)\n\t\tStop\n\t\t4:\n\t\t\tSCRP DDDDDDDDD 140 A_FadeOut(0.1)\n\t\tStop\n\t}\n}\n\nActor MetalPiece2 : MetalPiece1\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSCRP EFGH 3\n\t\tLoop\n\t\tCrash:\n\t\t\tTNT1 A 0 A_Jump(256, \"1\", \"2\", \"3\", \"4\")\n\t\t1:\n\t\t\tSCRP EEEEEEEEE 140 A_FadeOut(0.1)\n\t\tStop\n\t\t2:\n\t\t\tSCRP FFFFFFFFF 140 A_FadeOut(0.1)\n\t\tStop\n\t\t3:\n\t\t\tSCRP GGGGGGGGG 140 A_FadeOut(0.1)\n\t\tStop\n\t\t4:\n\t\t\tSCRP HHHHHHHHH 140 A_FadeOut(0.1)\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/Misc.txt",
"contents": "Actor RoundsSurvived : Ammo\n{\n\tinventory.amount 1\n\tinventory.maxamount 255\n\tammo.backpackamount 0\n\tammo.backpackmaxamount 0\n\t+IGNORESKILL\n}\n\nActor LevelToken : Inventory\n{\n\tinventory.maxamount 1\n}\n\nActor CurrentLives : Ammo\n{\n\tinventory.amount 1\n\tinventory.maxamount 3\n\tammo.backpackamount 0\n\tammo.backpackmaxamount 0\n\t+IGNORESKILL\n}\n\nactor pistolcasing\n{\n\tPROJECTILE\n\t+CLIENTSIDEONLY\n\t+DONTSPLASH\n\t+DOOMBOUNCE\n\t-ACTIVATEIMPACT\n\t-NOGRAVITY\n\t-NOBLOCKMAP\n\tbouncefactor 0.6\n\tscale 0.1\n Radius 3\n SeeSound \"Weapons/bulletcasing\"\n States\n {\n Spawn:\n\t\tMCAS ABCDEFGH 2\n Death:\n MCAS C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n MCAS C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n MCAS C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n\t\tdeath0:\n\t\tMCAS A 10 a_fadeout(0.05)\n goto death0\n\t\tdeath1:\n\t\tMCAS C 10 a_fadeout(0.05)\n goto death1\n\t\tdeath2:\n\t\tMCAS E 10 a_fadeout(0.05)\n goto death2\n\t\tdeath3:\n\t\tMCAS G 10 a_fadeout(0.05)\n goto death3\n }\n}\n\nactor shotguncasing\n{\n\tPROJECTILE\n\t+CLIENTSIDEONLY\n\t+DONTSPLASH\n\t+DOOMBOUNCE\n\t-ACTIVATEIMPACT\n\t-NOGRAVITY\n\t-NOBLOCKMAP\n\tbouncefactor 0.6\n\tscale 0.25\n Radius 3\n seesound \"Weapons/shotguncasing\"\n States\n {\n Spawn:\n LCSC A 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC A 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC A 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC B 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC B 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC B 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC C 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC C 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC C 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC D 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC D 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC D 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC E 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC E 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC E 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC F 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC F 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC F 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC G 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC G 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC G 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC H 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC H 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n LCSC H 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n Death:\n LCSC C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n LCSC C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n LCSC C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n\t\tdeath0:\n\t\tLCSC A 10 a_fadeout(0.05)\n goto death0\n\t\tdeath1:\n\t\tLCSC C 10 a_fadeout(0.05)\n goto death1\n\t\tdeath2:\n\t\tLCSC E 10 a_fadeout(0.05)\n goto death2\n\t\tdeath3:\n\t\tLCSC G 10 a_fadeout(0.05)\n goto death3\n }\n}\n\nactor exshotguncasing : shotguncasing\n{\n States\n {\n Spawn:\n EXSC A 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC A 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC A 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC B 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC B 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC B 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC C 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC C 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC C 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC D 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC D 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC D 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC E 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC E 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC E 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC F 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC F 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC F 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC G 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC G 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC G 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC H 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC H 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n EXSC H 1 A_SpawnItemEx (\"casingsmoke\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n Death:\n EXSC C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n EXSC C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n EXSC C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n\t\tdeath0:\n\t\tEXSC A 10 a_fadeout(0.05)\n goto death0\n\t\tdeath1:\n\t\tEXSC C 10 a_fadeout(0.05)\n goto death1\n\t\tdeath2:\n\t\tEXSC E 10 a_fadeout(0.05)\n goto death2\n\t\tdeath3:\n\t\tEXSC G 10 a_fadeout(0.05)\n goto death3\n }\n}\n\nactor bulletcasing\n{\n\tPROJECTILE\n\t+CLIENTSIDEONLY\n\t+DONTSPLASH\n\t+DOOMBOUNCE\n\t-ACTIVATEIMPACT\n\t-NOGRAVITY\n\t-NOBLOCKMAP\n\tbouncefactor 0.6\n\tscale 0.2\n Radius 3\n SeeSound \"Weapons/bulletcasing\"\n States\n {\n Spawn:\n MCAS A 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS A 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS B 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS B 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS C 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS C 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS D 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS D 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS E 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS E 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS F 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS F 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS G 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS G 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS H 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS H 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS A 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS A 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS B 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS B 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS C 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS C 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS D 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS D 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS E 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS E 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS F 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS F 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS G 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS G 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS H 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n MCAS H 1 A_SpawnItemEx (\"bulletCASINGSMOKE\", 0, 0, 0, 0, 0, 1, 0,0, 0)\n Death:\n MCAS C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n MCAS C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n MCAS C 0 A_Jump (85, \"death1\", \"death2\", \"death3\")\n\t\tdeath0:\n\t\tMCAS A 10 a_fadeout(0.05)\n goto death0\n\t\tdeath1:\n\t\tMCAS C 10 a_fadeout(0.05)\n goto death1\n\t\tdeath2:\n\t\tMCAS E 10 a_fadeout(0.05)\n goto death2\n\t\tdeath3:\n\t\tMCAS G 10 a_fadeout(0.05)\n goto death3\n }\n}\n\nactor shotgunsmoke\n{\n\tvspeed 3\n\trenderstyle translucent\n\tscale 0.05\n\talpha 0.25\n\t+clientsideonly\n\t+NOGRAVITY\n\tStates\n\t{\n\t\tspawn:\n\t\tdeath:\n\t\tSMOK ABCDEFGHIJKLNOPQ 1\n\t\tstop\n\t}\n}\n\nactor chaingunsmoke\n{\n\tvspeed 3\n\trenderstyle translucent\n\tscale 0.04\n\talpha 0.25\n\t+clientsideonly\n\t+NOGRAVITY\n\tStates\n\t{\n\t\tspawn:\n\t\tdeath:\n\t\tSMOK ABCDEFGHIJKLNOPQ 1\n\t\tstop\n\t}\n}\n\nactor CASINGSMOKE\n{\n\tvspeed 1\n\trenderstyle translucent\n\tscale 0.025\n\talpha 0.2\n\t+clientsideonly\n\t+NOGRAVITY\n\tStates\n\t{\n\t\tspawn:\n\t\tdeath:\n\t\tSMOK ABCDEFGHIJKLNOPQ 1\n\t\tstop\n\t}\n}\n\nactor bulletCASINGSMOKE\n{\n\tvspeed 1\n\trenderstyle translucent\n\tscale 0.02\n\talpha 0.18\n\t+clientsideonly\n\t+NOGRAVITY\n\tStates\n\t{\n\t\tspawn:\n\t\tdeath:\n\t\tSMOK ABCDEFGHIJKLNOPQ 1\n\t\tstop\n\t}\n}\n\nActor NewBulletPuff : BulletPuff\n{\n\tStates\n\t{\n\t Spawn:\n\t\tPUFF A 0\n\t\tTNT1 A 0 A_SpawnDebris(\"SparkPuff\", 1)\n\t\tPUFF A 4 bright A_PlaySound(\"puff/ric\")\n\t\tPUFF B 4\n\t\tGoto Melee\n\t Melee:\n\t\tPUFF CD 4\n\t\tstop\n\t}\n}\n\nActor SparkPuff : BulletPuff\n{\n\t+DOOMBOUNCE\n\t+FLOORCLIP\n\t+DONTSPLASH\n\t+NOTELEPORT\n\t-NOGRAVITY\n\t-LOWGRAVITY\n\t-ALLOWPARTICLES\n\t+clientsideonly\n\tHealth 4\n\tRadius 4\n\tHeight 8\n\tSpeed 1\n\tMass 0\n\tScale 0.125\n\tStates\n\t{\n\t Spawn:\n\t Death:\n\t\tBPFF ABABAB 1 bright\n\t\tBPFF A 0 bright\n\t\tBPFF ABABABABAB 1 bright A_FadeOut(0.01)\n\t\tStop\n\t}\n}\n\n// Taken from Zdoomwars\nACTOR ExplosionFX\n{\n Radius 10\n Height 10\n Speed 5\n PROJECTILE\n +CLIENTSIDEONLY\n +NOCLIP\n States\n {\n Spawn:\n MISL B 2\n MISL B 2 BRIGHT A_PlaySound (\"weapons/rocklx\")\n MISL B 4 BRIGHT\n MISL C 6\n MISL D 4\n Stop\n }\n}\n\nActor ExplosionFXGreen : ExplosionFX\n{\n States\n {\n Spawn:\n CROC C 2\n CROC C 2 BRIGHT A_PlaySound (\"weapons/rocklx\")\n CROC D 4 BRIGHT\n CROC D 6\n CROC E 4\n Stop\n }\n}\n\nActor ExplosionFXMagic : ExplosionFX\n{\n Alpha 0.85\n Renderstyle Add\n States\n {\n Spawn:\n\t D2FX GHI 4\n\t D2FX JK 3\n\t D2FX L 2\n Stop\n }\n}\n\nActor ExplosionFXMagicBlue : ExplosionFXMagic\n{\n States\n {\n Spawn:\n\t D3FX GHI 4\n\t D3FX JK 3\n\t D3FX L 2\n Stop\n }\n}\n\nActor SalvationGlow\n{\n +NoGravity\n +NoBlockmap\n +NoInteraction\n -Solid\n Radius 0\n Height 0\n States\n {\n\tSpawn:\n\t\tTNT1 A 10\n\tStop\n }\n}\n\nActor BaseSparkle\n{\n +Missile\n +NoGravity\n +NoBlockmap\n +NoInteraction\n -Solid\n Radius 0\n Height 0\n RenderStyle Add\n Alpha 1.0\n Scale 0.25\n States\n {\n Spawn:\n SKFX A 0 Bright\n SKFX A 1 Bright A_FadeOut(0.1)\n SKFX A 1 Bright\n SKFX A 1 Bright A_FadeOut(0.1)\n SKFX A 1 Bright\n SKFX A 1 Bright A_FadeOut(0.1)\n SKFX A 1 Bright\n SKFX A 1 Bright A_FadeOut(0.1)\n SKFX A 1 Bright\n SKFX A 1 Bright A_FadeOut(0.1)\n SKFX A 1 Bright\n SKFX A 1 Bright A_FadeOut(0.1)\n SKFX A 1 Bright\n SKFX A 1 Bright A_FadeOut(0.1)\n SKFX A 1 Bright\n SKFX A 1 Bright A_FadeOut(0.1)\n SKFX A 10 Bright\n Stop\n }\n}\n\nActor SalvationEffectGiver : CustomInventory\n{\n\tinventory.maxamount 1\n\t+INVENTORY.ALWAYSPICKUP\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 0 A_SpawnItem(\"SalvationEffectSpawner\")\n\t\t\tTNT1 A 0 A_SpawnItem(\"SalvationGlow\")\n\t\tStop\n\t}\n}\n\nactor SalvationEffectSpawner\n{\n\ttranslation \"112:127=196:207\"\n\t+NoBlockMap +NoGravity +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY\n states\n {\n Spawn:\n \tTNT1 A 0\n \tTNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx (\"BaseSparkle\", random(-32,32), random(-32,32), random(0,32), 0, 0, 3, 0, 129)\n \tStop\n }\n\n}\n\nActor WaterParticleX\n{\n Height 0\n Radius 0\n Mass 0\n +Missile\n +NoBlockMap\n -NoGravity\n +DontSplash\n +DoomBounce\n +FORCEXYBILLBOARD\n +NOCLIP\n BounceFactor 0.1\n Gravity 0.8\n RenderStyle Add\n Scale 1.0\n //Speed 2\n Speed 4\n States\n {\n Spawn:\n SPKW B 1 Bright\n TNT1 A 0 A_ChangeFlag(DOOMBOUNCE, 0)\n Goto Stand\n Stand:\n SPKW B 2 Bright A_FadeOut(0.06)\n Loop\n Death:\n TNT1 A 1\n TNT1 A 0\n Stop\n\n }\n}\n\n// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n\n//********** Splashes **********\n\nactor WaterSplashBase2\n{\n Radius 1\n Height 1\n Mass 1\n alpha .6\n Scale 1.1\n +DONTSPLASH\n +NOGRAVITY\n +NOCLIP\n States\n {\n Spawn:\n SPSH E 6\n\tTNT1 FFF 0 A_CustomMissile (\"WaterParticleX\", 12, 0, random (0, 360), 2, random (70, 110))\n SPSH FGHIJKJKJK 6\n Stop\n }\n}\n\nactor WaterSplashBaseSmall\n{\n Radius 1\n Height 1\n Mass 1\n alpha .6\n Scale 0.7\n +DONTSPLASH\n +NOGRAVITY\n +NOCLIP\n States\n {\n Spawn:\n SPSH E 6\n TNT1 FFF 0 A_CustomMissile (\"WaterParticleX\", 12, 0, random (0, 360), 2, random (70, 110))\n SPSH FGHIJKJK 6\n Stop\n }\n}\n\nACTOR WaterSplashDrop\n{\n\trenderstyle add\n\tRadius 1\n Height 1\n\talpha .5\n\tHealth 5\n\tMass 400\n\tGravity 1.0\n\tScale\t1.1\n\tprojectile\n\t- nogravity\n\t+DONTSPLASH\n\t+CORPSE\n +EXPLODEONWATER\n\tStates\n\t{\n\t\tSPSH A 6\n\t\tSPSH B 7\n\t\tSPSH C 7\n\t\tSPSH D 6\n\t\tSPSH A 7\n\t\tStop\n\t}\n}\n\nactor BloodSplashBaseSmall\n{\n Radius 1\n Height 1\n Mass 1\n alpha .6\n Scale 0.5\n +NOCLIP\n +DONTSPLASH\n +NOGRAVITY\n States\n {\n Spawn:\n BSPH E 3\n BSPH F 3 A_SpawnDebris(\"BloodSplashDrop\")\n BSPH G 3\n BSPH H 3\n BSPH I 3\n BSPH J 3\n BSPH K 3\n Stop\n }\n}\n\nACTOR BloodSplashDrop\n{\n\trenderstyle add\n\tRadius 1\n\tHeight 1\n\talpha .5\n\tHealth 5\n\tMass 9\n\tScale\t.3\n\tprojectile\n\t- nogravity\n\t+DONTSPLASH\n\t+CORPSE\n +EXPLODEONWATER\n\tStates\n\t{\n\t\tBSPH A 7\n\t\tBSPH B 7\n\t\tBSPH C 7\n\t\tBSPH D 7\n\t\tBSPH A 7\n\t\tStop\n\t}\n}\n\nACTOR WanderingSpirit : KoraxSpirit\n{\n Speed 8\n Projectile\n +NOCLIP\n -ACTIVATEPCROSS\n -ACTIVATEIMPACT\n RenderStyle Translucent\n Alpha 0.5\n States\n {\n Spawn:\n SPIR ABABABAB 5 A_KSpiritRoam\n Death:\n SPIR DEFGHI 5\n Stop\n }\n}\n\nActor BaseExplosionDamage // this is necessary, calling A_Explode in actor can cause unwanted effects.\n{\n\tSpeed 0\n\tHeight 4\n\tRadius 4\n\tDamage (0)\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t-TELESTOMP\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/Player.txt",
"contents": "Actor TheDoomGuy : DoomPlayer replaces DoomPlayer\n{\n\t// Never remove the original pistol and fist, causes weird errors\n\tPlayer.StartItem \" Pistol \"\n\tPlayer.StartItem \" Fists \"\n\tPlayer.StartItem \"Clip\", 50\n\tPlayer.WeaponSlot 1, \" Fists\", \" Chainsaw\"\n\tPlayer.WeaponSlot 2, \" Pistol \"\n\tPlayer.Face \"STF\"\n\tStates\n\t{\n\t\tXdeath:\n\t\tDeath.Explosives:\n\t\tPLAY O 0 A_PlayerSkinCheck(\"AltSkinXDeath\")\n\t XDeath1:\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib9\",0)\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib10\",0)\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib11\",0)\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib11\",0)\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY O 5\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY P 5 A_XScream\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY Q 5 A_NoBlocking\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY RSTUV 5\n\t\tPLAY W -1\n\t\tStop\n\t AltSkinDeath:\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib9\",0)\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib10\",0)\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib11\",0)\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib11\",0)\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY H 6\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY I 6 A_PlayerScream\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY JK 6\n\t\tPLAY L 6 A_NoBlocking\n\t\tPLAY MNO 6\n\t\tPLAY P -1\n\t\tStop\n\t AltSkinXDeath:\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib9\",0)\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib10\",0)\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib11\",0)\n\t\tTNT1 A 0 A_SpawnDebris(\"NashGore_Gib11\",0)\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY Q 5 A_PlayerScream\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY R 0 A_NoBlocking\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY R 5 A_SkullPop\n\t\tTNT1 A 0 A_SpawnItem(\"NashGore_GibGenerator\",0,0,0,0)\n\t\tPLAY STUVWX 5\n\t\tPLAY Y -1\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/THRU.txt",
"contents": "actor UseCoopBullets : Ammo {\n Inventory.MaxAmount 1\n +UNDROPPABLE\n Ammo.BackpackAmount 0\n Ammo.BackpackMaxAmount 1\n}\n\nactor Bullet {\n Damage (Random(1,3)*5)\n Radius 1\n Height 1\n Speed 10\n Projectile\n Renderstyle \"None\"\n +BLOODSPLATTER\n +MTHRUSPECIES\n +NOTIMEFREEZE\n Decal \"BulletChip\"\n States {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_SpawnItemEx(\"FastBullet\", 0,0,0, momx*3276.7,momy*3276.7,momz*3276.7, 0, SXF_ABSOLUTEMOMENTUM)\n Stop\n Death:\n TNT1 A 1 A_SpawnItem(\"NewBulletPuff\")\n Stop\n XDeath:\n TNT1 A 1\n Stop\n }\n}\n\nActor BulletU : Bullet\n{\n\tDamage (15)\n States {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_SpawnItemEx(\"FastBulletU\", 0,0,0, momx*3276.7,momy*3276.7,momz*3276.7, 0, SXF_ABSOLUTEMOMENTUM)\n Stop\n }\n}\n\nActor BulletMGU : Bullet\n{\n Damage(25)\n States {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_SpawnItemEx(\"FastBulletMGU\", 0,0,0, momx*3276.7,momy*3276.7,momz*3276.7, 0, SXF_ABSOLUTEMOMENTUM)\n Stop\n }\n}\n\nActor BulletCG : Bullet\n{\n\tDamage (30)\n States {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_SpawnItemEx(\"FastBulletCG\", 0,0,0, momx*3276.7,momy*3276.7,momz*3276.7, 0, SXF_ABSOLUTEMOMENTUM)\n Stop\n }\n}\n\nactor FastBullet : FastProjectile {\n Damage (Random(1,3)*5)\n Radius 1\n Height 1\n Speed 320\n Projectile\n Renderstyle \"None\"\n +BLOODSPLATTER\n +MTHRUSPECIES\n +NOTIMEFREEZE\n Decal \"Bulletchip\"\n States {\n Spawn:\n PLSE E 1\n Loop\n Death:\n TNT1 A 1 A_SpawnItem(\"NewBulletPuff\")\n Stop\n XDeath:\n TNT1 A 1\n Stop\n }\n}\n\nActor FastBulletU : FastBullet\n{\n\tDamage (15)\n}\n\nActor FastBulletMGU : FastBullet\n{\n\tDamage (25)\n}\n\nActor FastBulletCG : FastBullet\n{\n\tDamage (30)\n}\n\nActor FastExplodingPuff : FastProjectile\n{\n\tRenderstyle Translucent\n\tAlpha 0.85\n\tScale 0.55\n\tHeight 1\n\tRadius 1\n\tDecal \"Scorch\"\n\tDamage (10)\n\tSpeed 320\n\tPROJECTILE\n\tDamageType \"Explosives\"\n +BLOODSPLATTER\n +MTHRUSPECIES\n +NOTIMEFREEZE\n\t+EXTREMEDEATH\n\t+FOILINVUL\n\tStates\n\t{\n\t\tDeath:\n\t\t\tTNT1 AA 0 A_SpawnItem(\"ExpShellSoundEmitter\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"ExplosiveSpark\", 1)\n\t\t\tDKSX A 2\n\t\t\tTNT1 A 0 A_Explode(8*random(4,5), 96)\n\t\t\tDKSX BCDEFG 2\n\t\t\tDKSX HIJKL 1\n\t\tStop\n\t}\n}\n\nActor FastExplodingPuffNoDmg : FastExplodingPuff\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 AA 0 A_SpawnItem(\"ExpShellSoundEmitter\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"ExplosiveSpark\", 1)\n\t\t\tDKSX A 2\n\t\t\tTNT1 A 0 A_Explode(8*random(4,5), 96, 0)\n\t\t\tDKSX BCDEFG 2\n\t\t\tDKSX HIJKL 1\n\t\tStop\n\t}\n}\n\nactor SSGPellet : Bullet {\n Speed 1\n States {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_CustomMissile(\"SSGPellet2\", 0,0,0, CMF_AIMDIRECTION, ACS_ExecuteWithResult(904, 0, 0)/65536.0)\n Stop\n }\n}\n\nactor SSGPellet2 : Bullet {\n States {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_SpawnItemEx(\"FastBullet\", 0,0,0, momx*3276.7,momy*3276.7,momz*3276.7, 0, SXF_ABSOLUTEMOMENTUM)\n Stop\n }\n}\n\nactor SSGPelletU : SSGPellet {\n States {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_CustomMissile(\"SSGPellet2U\", 0,0,0, CMF_AIMDIRECTION, ACS_ExecuteWithResult(904, 0, 1)/65536.0)\n Stop\n }\n}\n\nactor SSGPellet2U : BulletU {\n States {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_SpawnItemEx(\"FastBulletU\", 0,0,0, momx*3276.7,momy*3276.7,momz*3276.7, 0, SXF_ABSOLUTEMOMENTUM)\n Stop\n }\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/LVL1.txt",
"contents": "Actor \" Fists \" : Fist replaces Fist\n{\n\tWeapon.SlotNumber 1\n\tStates\n\t{\n\t\tSelect:\n\t\t\tPUNG A 1 A_Raise\n\t\t\tTNT1 A 0 A_Raise\n\t\tLoop\n\t\tDeselect:\n\t\t\tPUNG A 1 A_Lower\n\t\t\tTNT1 A 0 A_Lower\n\t\tLoop\n\t Fire:\n\t\t TNT1 A 0 A_JumpIfInventory(\"PowerStrength\", 1, \"FireX\")\n\t\t\tPUNG B 4\n\t\t\tPUNG C 4 A_CustomPunch(10*random(1,3), 1, 0, \"FistPuff\")\n\t\t\tPUNG D 5\n\t\t\tPUNG C 4\n\t\t\tPUNG B 5 A_ReFire\n\t\tgoto Ready\n\t\tFireX:\n\t\t\tPUNG B 4\n\t\t\tPUNG C 4 A_CustomPunch(15*random(12,16), 1, 0, \"FistPuff\")\n\t\t\tPUNG D 5\n\t\t\tPUNG C 4\n\t\t\tPUNG B 5 A_ReFire\n\t\tgoto Ready\n\t}\n}\n\nActor FistPuff : BulletPuff\n{\n\tStates\n\t{\n\t\tMelee:\n\t\t\tTNT1 A 0 A_PlaySound(\"weapons/fisthit\")\n\t\t\tPUFF CD 4\n\t\tStop\n\t\tCrash:\n\t\t\tPUFF CD 4\n\t\tStop\n\t}\n}\n\n// Sprites by Eriance\nACTOR \" Chainsaw \" : Chainsaw replaces Chainsaw\n{\n Weapon.Kickback 0\n Weapon.SlotNumber 1\n Weapon.SelectionOrder 2200\n Weapon.UpSound \"weapons/sawup\"\n Weapon.ReadySound \"weapons/sawidle\"\n Inventory.PickupMessage \"$GOTCHAINSAW\"\n Inventory.PickupSound \"weapons/pickup\"\n Obituary \"$OB_MPCHAINSAW\"\n Tag \"$TAG_CHAINSAW\"\n Decal \"BulletChip\"\n +WEAPON.MELEEWEAPON\n States\n {\n Ready:\n SAWG CD 4 A_WeaponReady\n Loop\n Deselect:\n SAWG C 1 A_Lower\n\tTNT1 A 0 A_Lower\n Loop\n Select:\n SAWG C 1 A_Raise\n\tTNT1 A 0 A_Raise\n Loop\n Fire:\n TNT1 A 0 A_Saw(\"weapons/sawfull\", \"weapons/sawhit\", 5)\n SAWG A 4\n\tTNT1 A 0 A_Saw(\"weapons/sawfull\", \"weapons/sawhit\", 5)\n\tSAWG B 4\n SAWG B 0 A_ReFire\n Goto Ready\n Spawn:\n CSAW A -1\n Stop\n }\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/LVL2.txt",
"contents": "Actor \" Pistol \" : Pistol replaces Pistol\n{\n\tWeapon.SlotNumber 2\n\tWeapon.AmmoGive 20\n\tWeapon.SelectionOrder 1900\n\tattacksound \"\"\n\tDecal \"BulletChip\"\n\tStates\n\t{\n\t Ready:\n\t\tCOLT A 1 A_WeaponReady\n\t\tLoop\n\t Deselect:\n\t\tCOLT A 1 A_Lower\n\t\tTNT1 A 0 A_Lower\n\t\tLoop\n\t Select:\n\t\tCOLT A 1 A_Raise\n\t\tTNT1 A 0 A_Raise\n\t\tLoop\n\t Fire:\n\t\tCOLT A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoop\")\n\t\tCOLF A 1 Bright A_FireBullets(0.5,0,1,15, \"NewBulletPuff\", FBF_NORANDOM | FBF_USEAMMO)\n\t\tGoto FireEnd\n\t FireCoop:\n\t COLF A 1 Bright A_FireCustomMissile(\"BulletU\", random(-50, 50)/100.00, 1)\n\t Goto FireEnd\n\t FireEnd:\n\t\tTNT1 A 0 A_PlayWeaponsound(\"Weapons/NewPist\")\n\t\tCOLF A 1 Bright A_Light2\n\t\tCOLF A 1 Bright A_Light1\n\t\tCOLT B 3 A_Light0\n\t\tTNT1 A 0 A_SpawnItemEx (\"pistolcasing\",cos(pitch)*20,4,32+(sin(pitch)*20),0,-8,random(4,8),0,0,0)\n\t\tCOLT CDE 3\n\t\tCOLT B 3 A_ReFire\n\t Goto Ready\n\t Flash:\n\t\tCOLF A 3 Bright A_Light1\n\t\tCOLF A 3 Bright A_Light0\n\t\tGoto LightDone\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/LVL3.txt",
"contents": "// Sprites by Eriance\nActor \" Shotgun \" : Weapon replaces Shotgun\n{\n radius 20\n height 16\n Weapon.SlotNumber 3\n weapon.selectionorder 1500\n weapon.kickback 100\n obituary \"%o got pummeled by %k's shotgun.\"\n Inventory.PickupSound \"weapons/pickup\"\n inventory.pickupmessage \"You got the shotgun!\"\n weapon.ammotype \"Shell\"\n weapon.ammouse 1\n weapon.ammogive 8\n Decal \"BulletChip\"\n states\n {\n Spawn:\n SHOT A -1\n stop\n Ready:\n SHTG A 1 A_WeaponReady\n loop\n Deselect:\n SHTG A 1 A_Lower\n\tTNT1 A 0 A_Lower\n loop\n Select:\n SHTG A 1 A_Raise\n\tTNT1 A 0 A_Raise\n Loop\n Fire:\n\t TNT1 A 0 A_JumpIfInventory(\"ShotgunUpgrade\", 1, \"Upgraded\")\n\t SHTG B 1\n SHTG E 0 A_GunFlash\n SHTG CD 1 Bright\n\t SHTG E 0 A_PlayWeaponSound(\"weapons/shotgunfire\")\n\t TNT1 A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoop\")\n\t SHTG E 0 A_FireBullets (5.6, 5.6, 9, 5, \"NewBulletPuff\")\n Goto FireEnd\n Upgraded:\n\t SHTG B 1\n SHTG E 0 A_GunFlash\n SHTG CD 1 Bright\n\t SHTG E 0 A_PlayWeaponSound(\"weapons/shotgunfirenew\")\n\t TNT1 A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoopU\")\n\t SHTG E 0 A_FireBullets (3.2, 3.2, 10, 15, \"NewBulletPuff\", FBF_NORANDOM | FBF_USEAMMO)\n\t Goto FireEnd\n\tFireCoop:\n SHTG A 0 A_FireCustomMissile(\"Bullet\", random(-320, 320)/100.00, 1, 0, 0, 1, random(-320, 320)/100.00)\n SHTG AAAAAAAA 0 A_FireCustomMissile(\"Bullet\", random(-320, 320)/100.00, 0, 0, 0, 1, random(-320, 320)/100.00)\n\t Goto FireEnd\n\tFireCoopU:\n SHTG A 0 A_FireCustomMissile(\"BulletU\", random(-320, 320)/100.00, 1, 0, 0, 1, random(-320, 320)/100.00)\n SHTG AAAAAAAAA 0 A_FireCustomMissile(\"BulletU\", random(-320, 320)/100.00, 0, 0, 0, 1, random(-320, 320)/100.00)\n\t Goto FireEnd\n\tFireEnd:\n\t SHTG EFGHI 1 bright\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-10,36+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n SHTG JKLM 1\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-15,42+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t SHTG NOPQ 1\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-15,42+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t SHTG RSTU 1\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-15,42+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t SHTG V 2\n\t SHTG G 0 A_SpawnItemEx (\"shotguncasing\",cos(-pitch)*36,-18,34+(sin(-pitch)*36),cos(-pitch)*0,random(5, 8), random(0, 1),0,0,0)\n\t SHTG V 2\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-15,42+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t SHTG UTSRQPONMLKJ 1\n SHTG A 1 A_ReFire\n\t Goto Ready\n\tFlash:\n\t TNT1 A 4 bright A_Light1\n\t TNT1 A 3 bright A_Light2\n\t TNT1 A 0 bright A_Light0\n\t stop\n }\n}\n\n// Sprites by Eriance\nACTOR \" SuperShotgun \" : Weapon Replaces SuperShotgun\n{\n Weapon.SelectionOrder 400\n Weapon.AmmoUse 2\n Weapon.AmmoGive 8\n Weapon.AmmoType \"Shell\"\n Weapon.SlotNumber 3\n Inventory.PickupMessage \"$GOTSHOTGUN2\"\n Inventory.PickupSound \"weapons/pickup\"\n Obituary \"$OB_MPSSHOTGUN\"\n Tag \"Super Shotgun\"\n Decal \"BulletChip\"\n States\n {\n Ready:\n SHT2 A 1 A_WeaponReady\n Loop\n Deselect:\n SHT2 A 1 A_Lower\n\tTNT1 A 0 A_Lower\n Loop\n Select:\n SHT2 A 1 A_Raise\n\tTNT1 A 0 A_Raise\n Loop\n Fire:\n\tTNT1 A 0 A_JumpIfInventory(\"SSGUpgrade\", 1, \"Upgraded\")\n\tSHT2 MNO 1 Bright\n\tSHT2 M 0 A_PlayWeaponSound(\"weapons/ssgfire\")\n\tTNT1 A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoop\")\n SHT2 M 0 A_FireBullets (11.2, 7.1, 20, 5, \"NewBulletPuff\")\n Goto FireEnd\n Upgraded:\n\tSHT2 MNO 1 Bright\n\tSHT2 M 0 A_PlayWeaponSound(\"weapons/ssgfirenew\")\n\tTNT1 A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoopU\")\n SHT2 M 0 A_FireBullets (10.9, 6.8, 20, 15, \"NewBulletPuff\", FBF_NORANDOM | FBF_USEAMMO)\n\tGoto FireEnd\n FireCoop:\n SHT2 A 0 A_FireCustomMissile(\"SSGPellet\", random(-1120, 1120)/100.00, 1, 0, 1, 0)\n SHT2 AAAAAAAAAAAAAAAAAAA 0 A_FireCustomMissile(\"SSGPellet\", random(-1120, 1120)/100.00, 0, 0, 1, 0)\n Goto FireEnd\n FireCoopU:\n SHT2 A 0 A_FireCustomMissile(\"SSGPelletU\", random(-1090, 1090)/100.00, 1, 0, 1, 0)\n SHT2 AAAAAAAAAAAAAAAAAAA 0 A_FireCustomMissile(\"SSGPelletU\", random(-1090, 1090)/100.00, 0, 0, 1, 0)\n goto FireEnd\n FireEnd:\n\tSHT2 PQRSTU 1 bright A_SpawnItemEx (\"SHOTGUNSMOKE\", cos(-pitch)*36, random(-6, 6),30+(sin(-pitch)*20),0,0,2,0,0,0)\n SHT2 T 0 A_CheckReload\n\tSHTX AB 1\n\tSHT2 B 1\n\tSHTX CD 1\n\tSHT2 C 1\n\tSHTX EF 1\n\tSHT2 D 1\n\tSHTX GH 1\n\tSHT2 E 1\n\tTNT1 AA 0 A_SpawnItemEx (\"shotguncasing\",cos(-pitch)*24,-18,34+(sin(-pitch)*36),0,-1*random(5, 8), random(0, 1),0,0,0)\n SHT2 F 4 A_PlaySound(\"weapons/ssgopen\")\n\tSHT2 GHI 4\n\tSHT2 J 4 A_PlaySound(\"weapons/ssgload\")\n\tSHT2 KL 4\n\tTNT1 A 0 A_PlaySound(\"weapons/ssgclose\")\n\tSHTX MNO 1\n SHT2 A 4\n\tSHT2 A 3 A_Refire\n Goto Ready\n Flash:\n TNT1 A 4 Bright A_Light1\n TNT1 A 3 Bright A_Light2\n Goto LightDone\n Spawn:\n SGN2 A -1\n Stop\n }\n}\n\n// An exploding shotgun, idk where the graphics come from\n// This weapon is monster drop only\nActor \"Silver Gun\" : Weapon\n{\n radius 20\n height 16\n Weapon.SlotNumber 3\n weapon.selectionorder 1600\n weapon.kickback 100\n obituary \"%o was devastated by %k's silver gun.\"\n Inventory.PickupSound \"weapons/pickup\"\n inventory.pickupmessage \"You got the silver gun!\"\n weapon.ammotype \"ExplodingShell\"\n weapon.ammouse 1\n weapon.ammogive 4\n DamageType \"Explosives\"\n states\n {\n Spawn:\n EXSG X -1\n stop\n Ready:\n EXSG A 1 A_WeaponReady\n loop\n Deselect:\n EXSG A 1 A_Lower\n\tTNT1 A 0 A_Lower\n loop\n Select:\n EXSG A 1 A_Raise\n\tTNT1 A 0 A_Raise\n Loop\n Fire:\n\t EXSG B 1\n EXSG E 0 A_GunFlash\n EXSG CD 1 Bright\n\t TNT1 A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoop\")\n\t TNT1 A 0 A_FireBullets (6.4, 4.8, 4, 5*random(2,3), \"ExplodingPuff\", FBF_NORANDOM | FBF_USEAMMO)\n\t TNT1 A 0 A_FireBullets (6.4, 4.8, 4, 5*random(2,3), \"ExplodingPuffNoSelfDmg\", FBF_NORANDOM)\n Goto FireEnd\n\tFireCoop:\n SHT2 A 0 A_FireCustomMissile(\"FastExplodingPuff\", random(-640, 640)/100.00, 1, 0, 0, 1, random(-480, 480)/100.00)\n SHT2 AAA 0 A_FireCustomMissile(\"FastExplodingPuff\", random(-640, 640)/100.00, 0, 0, 0, 1, random(-480, 480)/100.00)\n\t SHT2 AAAA 0 A_FireCustomMissile(\"FastExplodingPuffNoDmg\", random(-640, 640)/100.00, 0, 0, 0, 1, random(-480, 480)/100.00)\n\t Goto FireEnd\n\tFireEnd:\n\t SHTG E 0 A_PlayWeaponSound(\"weapons/expshotgunfire\")\n\t EXSG EFGHI 1 bright\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-10,36+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n EXSG JKLM 1\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-15,42+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t EXSG NOPQ 1\n\t TNT1 A 0 A_Playsound(\"weapons/expshotgunpump\")\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-15,42+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t EXSG RSTU 1\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-15,42+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t EXSG V 2\n\t SHTG G 0 A_SpawnItemEx (\"exshotguncasing\",cos(-pitch)*36,-18,34+(sin(-pitch)*36),cos(-pitch)*0,random(5, 8), random(0, 1),0,0,0)\n\t EXSG V 2\n\t SHTG G 0 A_SpawnItemEx (\"SHOTGUNSMOKE\",cos(-pitch)*20,-15,42+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t EXSG UTSRQPONMLKJ 1\n EXSG A 1 A_ReFire\n\t Goto Ready\n\tFlash:\n\t TNT1 A 4 bright A_Light1\n\t TNT1 A 3 bright A_Light2\n\t TNT1 A 0 bright A_Light0\n\t stop\n }\n}\n\nActor ExplodingShell : Ammo\n{\n\tinventory.amount 4\n\tinventory.maxamount 40\n\tinventory.icon \"ESHAA0\"\n\tammo.backpackamount 4\n\tammo.backpackmaxamount 80\n\tinventory.pickupmessage \"Picked up 4 explosive shells.\"\n\tinventory.pickupsound \"items/ammo\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tESHA A -1\n\t\tStop\n\t}\n}\n\nActor ExplodingShellBox : ExplodingShell\n{\n\tinventory.amount 15\n\tinventory.pickupmessage \"Picked up a box of explosive shells.\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tESHA B -1\n\t\tStop\n\t}\n}\n\nActor ExpShellSoundEmitter\n{\n\t+NOINTERACTION\n\t+NOTELEPORT\n\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 AA 0 A_PlaySound(\"weapons/expshotgunxpl\")\n\t\tStop\n\t}\n}\n\n// Taken from Samsara\nactor ExplosiveSpark\n{\n health 5\n radius 1\n height 1\n Speed 10\n Scale 0.2\n Gravity 0.7\n PROJECTILE\n +NOBLOCKMAP\n +DONTSPLASH\n +RANDOMIZE\n -NOGRAVITY\n -SOLID\n +WINDTHRUST\n +CLIENTSIDEONLY\n States\n {\n Spawn:\n DXSK A 1 BRIGHT A_FadeOut(0.01)\n loop\n }\n}\n\nActor ExplodingPuff : BulletPuff\n{\n\tVSpeed 0\n\tRenderstyle Translucent\n\tAlpha 0.85\n\tScale 0.55\n\tDecal \"Scorch\"\n\tDamageType \"Explosives\"\n\t+ALWAYSPUFF\n\t+PUFFONACTORS\n\t+PUFFGETSOWNER\n\t+EXTREMEDEATH\n\t+MTHRUSPECIES\n\t+FOILINVUL\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 AA 0 A_SpawnItem(\"ExpShellSoundEmitter\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"ExplosiveSpark\", 1)\n\t\t\tDKSX A 2\n\t\t\tTNT1 A 0 A_Explode(8*random(4,5), 96)\n\t\t\tDKSX BCDEFG 2\n\t\t\tDKSX HIJKL 1\n\t\tStop\n\t}\n}\n\nActor ExplodingPuffNoSelfDmg : ExplodingPuff\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 AA 0 A_SpawnItem(\"ExpShellSoundEmitter\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"ExplosiveSpark\", 1)\n\t\t\tDKSX A 2\n\t\t\tTNT1 A 0 A_Explode(8*random(4,5), 96, 0)\n\t\t\tDKSX BCDEFG 2\n\t\t\tDKSX HIJKL 1\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/LVL4.txt",
"contents": "// Sprites by Eriance\nActor \" Machinegun \" : Chaingun replaces Chaingun\n{\n\tWeapon.SelectionOrder 720\n\tWeapon.SlotNumber 4\n Inventory.PickupSound \"weapons/pickup\"\n Inventory.PickupMessage \"You got the machinegun!\"\n Obituary \"%o was gunned down by %k's machinegun.\"\n\tWeapon.AmmoType1 \"Clip\"\n\tWeapon.AmmoType2 \"MGClip\"\n\tWeapon.AmmoUse2 0\n\tWeapon.AmmoUse1 0\n\tDecal \"BulletChip\"\n\t+WEAPON.NOALERT\n\tAttackSound \"\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tWASG A -1\n\t\tStop\n\t\tReady:\n\t\t\tASGG A 1 A_WeaponReady\n\t\tLoop\n\t\tDeselect:\n\t\t\tASGG A 1 A_Lower\n\t\t\tTNT1 A 0 A_Lower\n\t\tLoop\n\t\tSelect:\n\t\t\tASGG A 1 A_Raise\n\t\t\tTNT1 A 0 A_Raise\n\t\tLoop\n\t\tFire:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"MGClip\", 1, 1)\n\t\tGoto Altfire\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"MGPowerUpgrade\", 1, \"Upgraded\")\n\t\t\tASGG L 2 Bright\n\t\t\tTNT1 A 0 A_TakeInventory(\"MGClip\", 1)\n\t\t\tTNT1 A 0 A_PlayWeaponSound(\"Weapons/Mgfire\")\n\t\t\tTNT1 A 0 A_AlertMonsters\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoop\")\n\t\t\tTNT1 A 0 A_FireBullets(2.4, 1.6, -1, 15, \"NewBulletPuff\", FBF_NORANDOM | FBF_USEAMMO)\n\t\tGoto FireEnd\n\t\tUpgraded:\n\t\t\tASGG L 2 Bright\n\t\t\tTNT1 A 0 A_TakeInventory(\"MGClip\", 1)\n\t\t\tTNT1 A 0 A_PlayWeaponSound(\"Weapons/MgfireNew\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoopU\")\n\t\t\tTNT1 A 0 A_FireBullets(1.6, 0.8, -1, 25, \"NewBulletPuff\", FBF_NORANDOM | FBF_USEAMMO)\n\t\tGoto FireEnd\n\t\tFireCoop:\n\t\t\tTNT1 A 0 A_FireCustomMissile(\"BulletU\", random(-240, 240)/100.00, 1, 0, 0, 1, random(-160, 160)/100.00 )\n\t\tGoto FireEnd\n\t\tFireCoopU:\n\t\t\tTNT1 A 0 A_FireCustomMissile(\"BulletMGU\", random(-160, 160)/100.00, 1, 0, 0, 1, random(-80, 80)/100.00)\n\t\tGoto FireEnd\n\t\tFireEnd:\n\t\t\tASGG M 2 Bright\n\t\t\tTNT1 A 0 A_SpawnItemEx (\"bulletcasing\",cos(pitch)*20,0,32+(sin(pitch)*20),0,-8,random(4,8),0,0,0)\n\t\t\tASGG N 2 Bright\n\t\t\tTNT1 A 0 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t\t\tASGG A 3 A_Refire\n\t\tGoto Ready\n\t\tAltFire:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Clip\", 1, 1)\n\t\tGoto Ready\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"MGClip\", 50, \"Failed\")\n\t\t\tASGG AXYB 1\n\t\t\tASGG CDE 3\n\t\t\tTNT1 A 0 A_PlaySound(\"weapons/sshoto\")\n\t\t\tASGG FGHIJ 3\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(998, 0)\n\t\t\tASGG K 8\n\t\t\tASGG JIHGFE 3\n\t\t\tTNT1 A 0 A_PlaySound(\"weapons/sshotl\")\n\t\t\tASGG DC 3\n\t\t\tASGG BYX 1\n\t\tGoto Ready\n\t\tFailed:\n\t\t\tASGG A 1\n\t\tGoto Ready\n\t}\n}\n\nActor MGClip : Ammo\n{\n\tinventory.amount 1\n\tinventory.maxamount 50\n\tammo.backpackamount 0\n\tammo.backpackmaxamount 50\n\t+IGNORESKILL\n}\n\n// Sprites by Eriance\n// Secret weapon\nACTOR \" Chaingun \" : Weapon\n{\n Weapon.SelectionOrder 680\n Weapon.SlotNumber 4\n Inventory.PickupSound \"weapons/pickup\"\n Inventory.PickupMessage \"$GOTCHAINGUN\"\n Obituary \"%o was fully perforated by %k's chaingun.\"\n Weapon.AmmoType \"Clip\"\n Weapon.AmmoGive 20\n decal \"BulletChip\"\n Weapon.AmmoUse 1\n XScale 1.15\n YScale 1.0\n AttackSound \"weapons/minigunfire\"\n States\n {\n\t Spawn:\n\t\t CHNG A -1\n\t\t Stop\n\t\tReady:\n\t\t\tHCGG A 1 A_WeaponReady\n\t\t\tLoop\n\t\tDeselect:\n\t\t\tHCGG A 1 A_Lower\n\t\t\tTNT1 A 0 A_Lower\n\t\t\tLoop\n\t\tSelect:\n\t\t\tHCGG A 1 A_Raise\n\t\t\tTNT1 A 0 A_Raise\n\t\t\tLoop\n\t\tFire:\n\t\t\tTNT1 A 0 A_PlayWeaponSound(\"weapons/minigunup\")\n\t\t\tHCGG CD 7 // Spinup\n\t\t\tHCGG AB 6\n\t\t\tGoto Hold\n\t\tHold:\n\t\t\tHCGF A 0 A_GunFlash // 3 2\n\t\t\t//HCGF A 0 A_SpawnItemEx (\"chaingunsmoke\", 20, 0, 36, 0, 0, 2, 0,0, 0)\n\t\t\tHCGF A 0 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoopA\")\n\t\t\tHCGF A 2 bright A_FireBullets (6.4, 4.8, -1, 30, \"NewBulletPuff\", FBF_NORANDOM | FBF_USEAMMO)\n\t\t\tContinue1:\n\t\t\tHCGF B 2 bright A_SpawnItemEx (\"bulletcasing\",cos(-pitch)*20,0,32+(sin(-pitch)*20),cos(-pitch)*0,8,random(4,8),0,0,0)\n\t\t\tHCGF A 0 A_GunFlash\n\t\t\t//HCGF A 0 A_SpawnItemEx (\"chaingunsmoke\", 20, 0, 36, 0, 0, 2, 0,0, 0)\n\t\t\tHCGF A 0 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,2,0,0,0)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"UseCoopBullets\", 1, \"FireCoopB\")\n\t\t\tHCGF C 2 bright A_FireBullets (6.4, 4.8, -1, 30, \"NewBulletPuff\", FBF_NORANDOM | FBF_USEAMMO)\n\t\t\tContinue2:\n\t\t\tHCGF D 2 bright A_SpawnItemEx (\"bulletcasing\",cos(-pitch)*20,0,32+(sin(-pitch)*20),cos(-pitch)*0,8,random(4,8),0,0,0)\n\t\t\tHCGF A 0 A_Refire\n\t\t\tgoto Spindown\n\t\tFireCoopA:\n\t\t\tTNT1 A 0 A_PlayWeaponSound(\"weapons/minigunfire\")\n\t\t\tHCGF A 2 bright A_FireCustomMissile(\"BulletCG\", random(-640, 640)/100.00, 1, 0, 0, 1, random(-480, 480)/100.00 )\n\t\t Goto Continue1\n\t\tFireCoopB:\n\t\t\tTNT1 A 0 A_PlayWeaponSound(\"weapons/minigunfire\")\n\t\t\tHCGF C 2 bright A_FireCustomMissile(\"BulletCG\", random(-640, 640)/100.00, 1, 0, 0, 1, random(-480, 480)/100.00 )\n\t\t\tGoto Continue2\n\t\tSpindown:\n\t\t\tTNT1 A 0 A_PlayWeaponSound(\"weapons/minigundown\")\n\t\t\tHCGF A 0 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,1,0,0,0)\n\t\t\tHCGG GFE 1\n\t\t\tHCGF A 0 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,1,0,0,0)\n\t\t\tHCGG B 2 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,1,0,0,0)\n\t\t\tHCGG B 2 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,1,0,0,0)\n\t\t\tHCGG B 2 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,1,0,0,0)\n\t\t\tHCGG C 2 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,1,0,0,0)\n\t\t\tHCGG C 2 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,1,0,0,0)\n\t\t\tHCGG C 2 A_SpawnItemEx (\"chaingunsmoke\",cos(-pitch)*20,0,36+(sin(-pitch)*20),cos(-pitch)*0,0,1,0,0,0)\n\t\t\tHCGG D 6 a_weaponready\n\t\t\tGoto Ready\n\t}\n}"
}
]
},
"maps": []
}