theneumodianproject-beta-a7.pk3

PK3 3.1 MiB 0 map(s)

Counts

endoom0
graphics0
lumps986
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "004c85d0-6a22-4c60-b520-2fd4dbebfaa4",
    "sha1": "26c8ea43d9ddcec61db4ab52650bb3b25d9a9754",
    "sha256": "4ab4480cb01fdab4b1140dd00c05f075cf6de4301bc91f8c5abada1dd739b7af",
    "filenames": [
      "theneumodianproject-beta-a7.pk3"
    ],
    "additional": {
      "engines": [
        "ZDOOM"
      ],
      "iwad": [],
      "filename": null,
      "added": "2017-08-15 22:53:47",
      "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": "2017-08-15 22:53:47",
    "file": {
      "type": "PK3",
      "size": 3281926,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/26c8ea43d9ddcec61db4ab52650bb3b25d9a9754/26c8ea43d9ddcec61db4ab52650bb3b25d9a9754.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 986,
        "maps": 0,
        "palettes": 0
      },
      "engines_guess": [
        "ZDOOM"
      ]
    },
    "analysis": {
      "title": "The Neumodian Project Beta A7",
      "description": "This WAD is a single large PK3 file designed for ZDoom engine, containing no traditional Doom maps but extensive custom content and HUD modifications. It features no standard map count or classic Doom IWAD dependencies, focusing instead on advanced HUD elements and gameplay mechanics. The content suggests a techbase or futuristic theme with heavy use of custom graphics and status bar enhancements. Resource balance, monster profiles, and difficulty cannot be assessed due to lack of map data. The structure is non-linear and engine-specific, leveraging ZDoom's scripting and graphical capabilities rather than vanilla or Boom compatibility.",
      "tags": [
        "custom_hud",
        "engine_specific",
        "no_maps",
        "nonlinear",
        "techbase",
        "zdoom"
      ],
      "origin": "gpt-4.1-mini"
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "SBARINFO.H.txt",
        "contents": "//HORIZONTAL BARS\n\nstatusbar normal, forcescaled\n{\nInInventory not NoHealthBar, 1\n{\n\n\tDrawImage \"NEHUDH\", 0, 110;\n\tInInventory WilyTeamFlag, 1 {DrawImage \"NEHUDHR\", 0, 110;}\n\tDrawImage weaponicon, 58, 132;\n\tDrawBar \"NHLTHB\", \"NBARE\", Health, Horizontal, 39, 114;\n\tDrawBar \"NARMR\", \"NNOBAR\", Basicarmor, Horizontal, 39, 114;\n\n\tDrawNumber 3, CONFONT, UNTRANSLATED, Health,fillzeros, alignment(Left), 10, 116; //72\n\nInInventory not NoClipBar, 1{\nDrawNumber 3, smallfont, white, Ammo1, alignment(left), 27, 132;\n}\n\n//[+]======================================[+]\n//--------------|Emblem huds|---------------\n//[+]======================================[+]\nInInventory PlayerIconFlag,1 {InInventory not PlayerIconFlag,2 {DrawImage \"SE00A0\", 78, 126;}}\nInInventory PlayerIconFlag,2 {InInventory not PlayerIconFlag,3 {DrawImage \"SE00B0\", 78, 126;}}\nInInventory PlayerIconFlag,3 {InInventory not PlayerIconFlag,4 {DrawImage \"SE00C0\", 78, 126;}}\nInInventory PlayerIconFlag,4 {InInventory not PlayerIconFlag,5 {DrawImage \"SE00D0\", 78, 126;}}\nInInventory PlayerIconFlag,5 {InInventory not PlayerIconFlag,6 {DrawImage \"SE00E0\", 78, 126;}}\nInInventory PlayerIconFlag,6 {InInventory not PlayerIconFlag,7 {DrawImage \"SE00F0\", 78, 126;}}\nInInventory PlayerIconFlag,7 {InInventory not PlayerIconFlag,8 {DrawImage \"SE00G0\", 78, 126;}}\nInInventory PlayerIconFlag,8 {InInventory not PlayerIconFlag,9 {DrawImage \"SE00H0\", 78, 126;}}\nInInventory PlayerIconFlag,9 {InInventory not PlayerIconFlag,10 {DrawImage \"SE00I0\", 78, 126;}}\nInInventory PlayerIconFlag,10 {InInventory not PlayerIconFlag,11 {DrawImage \"SE00J0\", 78, 126;}}\nInInventory PlayerIconFlag,11 {InInventory not PlayerIconFlag,12 {DrawImage \"SE00K0\", 78, 126;}}\nInInventory PlayerIconFlag,12 {InInventory not PlayerIconFlag,13 {DrawImage \"SE00L0\", 78, 126;}}\nInInventory PlayerIconFlag,13 {InInventory not PlayerIconFlag,14 {DrawImage \"SE00M0\", 78, 126;}}\nInInventory PlayerIconFlag,14 {InInventory not PlayerIconFlag,15 {DrawImage \"SE00N0\", 78, 126;}}\nInInventory PlayerIconFlag,15 {InInventory not PlayerIconFlag,16 {DrawImage \"SE00O0\", 78, 126;}}\nInInventory PlayerIconFlag,16 {InInventory not PlayerIconFlag,17 {DrawImage \"SE00P0\", 78, 126;}}\nInInventory PlayerIconFlag,17 {InInventory not PlayerIconFlag,18 {DrawImage \"SE00Q0\", 78, 126;}}\nInInventory PlayerIconFlag,18 {InInventory not PlayerIconFlag,19 {DrawImage \"SE00R0\", 78, 126;}}\nInInventory PlayerIconFlag,19 {InInventory not PlayerIconFlag,20 {DrawImage \"SE00S0\", 78, 126;}}\nInInventory PlayerIconFlag,20 {InInventory not PlayerIconFlag,21 {DrawImage \"SE00T0\", 78, 126;}}\nInInventory PlayerIconFlag,21 {InInventory not PlayerIconFlag,22 {DrawImage \"SE00U0\", 78, 126;}}\nInInventory PlayerIconFlag,22 {InInventory not PlayerIconFlag,23 {DrawImage \"SE00V0\", 78, 126;}}\nInInventory PlayerIconFlag,23 {InInventory not PlayerIconFlag,24 {DrawImage \"SE00W0\", 78, 126;}}\nInInventory PlayerIconFlag,24 {InInventory not PlayerIconFlag,25 {DrawImage \"SE00X0\", 78, 126;}}\nInInventory PlayerIconFlag,25 {InInventory not PlayerIconFlag,26 {DrawImage \"SE00Y0\", 78, 126;}}\nInInventory PlayerIconFlag,26 {InInventory not PlayerIconFlag,27 {DrawImage \"SE00Z0\", 78, 126;}}\n\n//[+]======================================[+]\n//--------------|AltFire huds|---------------\n//[+]======================================[+]\n\nininventory MinibombFlag {\n\nDrawImage \"MEGABALI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MinibombCooldownitem, vertical,reverse, 8, 130;\nininventory MinibombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MinibombCooldownitem, vertical,reverse, 8, 130;}\n\n}\n/*\nininventory MannTurretFlag {\n\nDrawImage \"TRETI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MannTurretCooldownitem, vertical,reverse, 8, 130;\nininventory MannTurretCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MannTurretCooldownitem, vertical,reverse, 8, 130;}\n\n}\n*/\nininventory ProxyMineFlag {\n\nDrawImage \"PROXI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", ProxyMineCooldownitem, vertical,reverse, 8, 130;\nininventory ProxyMineCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", ProxyMineCooldownitem, vertical,reverse, 8, 130;}\n}\n/*\nininventory HealFlareFlag {\n\nDrawImage \"HFLAI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealFlareCooldownitem, vertical,reverse, 8, 130;\nininventory HealFlareCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealFlareCooldownitem, vertical,reverse, 8, 130;}\n}\n*/\nininventory LightScreenFlag {\nDrawImage \"LTSCI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", LightScreenCooldownitem, vertical,reverse, 8, 130;\nininventory LightScreenCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", LightScreenCooldownitem, vertical,reverse, 8, 130;}\n}\n\nininventory BarrierFlag {\n\nDrawImage \"BARRI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BarrierCooldownitem, vertical,reverse, 8, 130;\nininventory BarrierCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BarrierCooldownitem, vertical,reverse, 8, 130;}\n}\n\nininventory GrapplingHookFlag {\n\nDrawImage \"WIRE\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", GrapplingHookCooldownitem, vertical,reverse, 8, 130;\nininventory GrapplingHookCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", GrapplingHookCooldownitem, vertical,reverse, 8, 130;}\n}\n/*\nininventory ClearsprayFlag {\n\nDrawImage \"WATERBI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", ClearsprayCooldownitem, vertical,reverse, 8, 130;\nininventory ClearsprayCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", ClearsprayCooldownitem, vertical,reverse, 8, 130;}\n}\n\nininventory TopGrenadeFlag {\nDrawImage \"TPGNI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TopGrenadeCooldownitem, vertical,reverse, 8, 130;\nininventory TopGrenadeCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TopGrenadeCooldownitem, vertical,reverse, 8, 130;}\n}\n\nininventory MegaHealBombFlag {\nDrawImage \"MEGHEI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MegaHealBombCooldownitem, vertical,reverse, 8, 130;\nininventory MegaHealBombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MegaHealBombCooldownitem, vertical,reverse, 8, 130;}\n}\n*/\nininventory BoosterPackFlag {\nDrawImage \"ADAPSI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BoosterPackCooldownitem, vertical,reverse, 8, 130;\nininventory BoosterPackCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BoosterPackCooldownitem, vertical,reverse, 8, 130;}\n\nDrawImage \"RHUD_B\", 73, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 73, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", BP_Fuel, Horizontal, 89, 134;\nininventory BP_Fuel ,35 {DrawBar \"CLDBAR02\", \"NBARE\", BP_Fuel, Horizontal, 89, 134;}\nDrawImage \"OILLI\", 77, 136;\n\n}\n\nininventory TimeBombFlag {\nDrawImage \"TIMBI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TimeBombCooldownitem, vertical,reverse, 8, 130;\nininventory TimeBombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TimeBombCooldownitem, vertical,reverse, 8, 130;}\n}\n\nininventory HealthGeneratorFlag {\nDrawImage \"HGENI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealthGeneratorCooldownitem, vertical,reverse, 8, 130;\nininventory HealthGeneratorCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealthGeneratorCooldownitem, vertical,reverse, 8, 130;}\n}\n\nininventory BuddySentryFlag {\nDrawImage \"TRETI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BuddySentryCooldownitem, vertical,reverse, 8, 130;\nininventory BuddySentryCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BuddySentryCooldownitem, vertical,reverse, 8, 130;}\n}\n\nininventory TopGrenadeFlag {\nDrawImage \"TPGNI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TopGrenadeCooldownitem, vertical,reverse, 8, 130;\nininventory TopGrenadeCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TopGrenadeCooldownitem, vertical,reverse, 8, 130;}\n}\n\nininventory RotaryShellFlag {\nDrawImage \"MIRRSI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", RotaryShellCooldownitem, vertical,reverse, 8, 130;\nininventory RotaryShellCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", RotaryShellCooldownitem, vertical,reverse, 8, 130;}\n}\n\nininventory CureSprayFlag {\nDrawImage \"MEGHEI\", 11, 133;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", CureSprayCooldownitem, vertical,reverse, 8, 130;\nininventory CureSprayCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", RotaryShellCooldownitem, vertical,reverse, 8, 130;}\n}\n\n//[+]======================================[+]\n//-----------|Weapon Resource Bars|-----------\n//[+]======================================[+]\nIsSelected NMDCrossbow, NMDCrossbow2 {\n\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", CrossbowPrime, Horizontal, 146, 134;\nininventory CrossbowPrime ,55 {DrawBar \"CLDBAR02\", \"NBARE\", CrossbowPrime, Horizontal, 146, 134;}\n\nDrawImage \"LASERSI\", 134, 136;\n}\n\nIsSelected HiPERBeam, HiPERBeam2 {\n\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", BeamPowerLevel, Horizontal, 146, 134;\nininventory BeamPowerLevel ,100 {DrawBar \"CLDBAR02\", \"NBARE\", BeamPowerLevel, Horizontal, 146, 134;}\nininventory BeamPowerLevel ,1 {DrawBar \"CLDBAR03\", \"NNOBAR\", BeamHoldTimer, Horizontal, 146, 134;}\n\nDrawImage \"LASERSI\", 134, 136;\n}\n\nIsSelected BusterGun, BusterGun2 {\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", WeaponHeat_A, Horizontal, 146, 134;\nininventory WeaponHeat_A ,70 {DrawBar \"CLDBAR03\", \"NBARE\", WeaponHeat_A, Horizontal, 146, 134;}\nDrawImage \"ATOMI\", 134, 136;\n}\n/*\nIsSelected Basher , Basher2 {\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", WeaponHeat_B, Horizontal, 146, 134;\nininventory WeaponHeat_B ,70 {DrawBar \"CLDBAR03\", \"NBARE\", WeaponHeat_B, Horizontal, 146, 134;}\nDrawImage \"ATOMI\", 134, 136;\n}\n*/\n}}"
      },
      {
        "source": "pk3",
        "name": "SBARINFO.V.txt",
        "contents": "//VERTICAL BARS\nheight 0;\n\nstatusbar fullscreen, forcescaled\n{\nInInventory not NoHealthBar, 1\n{\n\n\tDrawImage \"NEUMHUD\", 0, 8;\n\tInInventory WilyTeamFlag, 1 {DrawImage \"NEUMHUDR\", 0, 8;}\n\tDrawImage weaponicon, 38, 33;\n\tDrawBar \"NHLTHV\", \"NBAREV\", Health, vertical, 4, 26;\n\tDrawBar \"NARMRV\", \"NNOVAR\", Basicarmor, vertical, 4, 26;\n\n\tDrawNumber 3, CONFONT, UNTRANSLATED, Health,fillzeros, alignment(Left), 5, 14; //72\n\nInInventory not NoClipBar, 1{\nDrawNumber 3, smallfont, white, Ammo1, alignment(left), 22, 48;\n}\n\n//[+]======================================[+]\n//--------------|Emblem huds|---------------\n//[+]======================================[+]\nInInventory PlayerIconFlag,1 {InInventory not PlayerIconFlag,2 {DrawImage \"SE00A0\", 41, 24;}}\nInInventory PlayerIconFlag,2 {InInventory not PlayerIconFlag,3 {DrawImage \"SE00B0\", 41, 24;}}\nInInventory PlayerIconFlag,3 {InInventory not PlayerIconFlag,4 {DrawImage \"SE00C0\", 41, 24;}}\nInInventory PlayerIconFlag,4 {InInventory not PlayerIconFlag,5 {DrawImage \"SE00D0\", 41, 24;}}\nInInventory PlayerIconFlag,5 {InInventory not PlayerIconFlag,6 {DrawImage \"SE00E0\", 41, 24;}}\nInInventory PlayerIconFlag,6 {InInventory not PlayerIconFlag,7 {DrawImage \"SE00F0\", 41, 24;}}\nInInventory PlayerIconFlag,7 {InInventory not PlayerIconFlag,8 {DrawImage \"SE00G0\", 41, 24;}}\nInInventory PlayerIconFlag,8 {InInventory not PlayerIconFlag,9 {DrawImage \"SE00H0\", 41, 24;}}\nInInventory PlayerIconFlag,9 {InInventory not PlayerIconFlag,10 {DrawImage \"SE00I0\", 41, 24;}}\nInInventory PlayerIconFlag,10 {InInventory not PlayerIconFlag,11 {DrawImage \"SE00J0\", 41, 24;}}\nInInventory PlayerIconFlag,11 {InInventory not PlayerIconFlag,12 {DrawImage \"SE00K0\", 41, 24;}}\nInInventory PlayerIconFlag,12 {InInventory not PlayerIconFlag,13 {DrawImage \"SE00L0\", 41, 24;}}\nInInventory PlayerIconFlag,13 {InInventory not PlayerIconFlag,14 {DrawImage \"SE00M0\", 41, 24;}}\nInInventory PlayerIconFlag,14 {InInventory not PlayerIconFlag,15 {DrawImage \"SE00N0\", 41, 24;}}\nInInventory PlayerIconFlag,15 {InInventory not PlayerIconFlag,16 {DrawImage \"SE00O0\", 41, 24;}}\nInInventory PlayerIconFlag,16 {InInventory not PlayerIconFlag,17 {DrawImage \"SE00P0\", 41, 24;}}\nInInventory PlayerIconFlag,17 {InInventory not PlayerIconFlag,18 {DrawImage \"SE00Q0\", 41, 24;}}\nInInventory PlayerIconFlag,18 {InInventory not PlayerIconFlag,19 {DrawImage \"SE00R0\", 41, 24;}}\nInInventory PlayerIconFlag,19 {InInventory not PlayerIconFlag,20 {DrawImage \"SE00S0\", 41, 24;}}\nInInventory PlayerIconFlag,20 {InInventory not PlayerIconFlag,21 {DrawImage \"SE00T0\", 41, 24;}}\nInInventory PlayerIconFlag,21 {InInventory not PlayerIconFlag,22 {DrawImage \"SE00U0\", 41, 24;}}\nInInventory PlayerIconFlag,22 {InInventory not PlayerIconFlag,23 {DrawImage \"SE00V0\", 41, 24;}}\nInInventory PlayerIconFlag,23 {InInventory not PlayerIconFlag,24 {DrawImage \"SE00W0\", 41, 24;}}\nInInventory PlayerIconFlag,24 {InInventory not PlayerIconFlag,25 {DrawImage \"SE00X0\", 41, 24;}}\nInInventory PlayerIconFlag,25 {InInventory not PlayerIconFlag,26 {DrawImage \"SE00Y0\", 41, 24;}}\nInInventory PlayerIconFlag,26 {InInventory not PlayerIconFlag,27 {DrawImage \"SE00Z0\", 41, 24;}}\n//[+]======================================[+]\n//--------------|AltFire huds|---------------\n//[+]======================================[+]\nininventory MinibombFlag {\n\nDrawImage \"MEGABALI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MinibombCooldownitem, vertical,reverse, 20, 28;\nininventory MinibombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MinibombCooldownitem, vertical,reverse, 20, 28;}\n\n}\n/*\nininventory MannTurretFlag {\n\nDrawImage \"TRETI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MannTurretCooldownitem, vertical,reverse, 20, 28;\nininventory MannTurretCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MannTurretCooldownitem, vertical,reverse, 20, 28;}\n\n}\n*/\nininventory ProxyMineFlag {\n\nDrawImage \"PROXI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", ProxyMineCooldownitem, vertical,reverse, 20, 28;\nininventory ProxyMineCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", ProxyMineCooldownitem, vertical,reverse, 20, 28;}\n}\n/*\nininventory HealFlareFlag {\n\nDrawImage \"HFLAI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealFlareCooldownitem, vertical,reverse, 20, 28;\nininventory HealFlareCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealFlareCooldownitem, vertical,reverse, 20, 28;}\n}\n*/\nininventory LightScreenFlag {\nDrawImage \"LTSCI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", LightScreenCooldownitem, vertical,reverse, 20, 28;\nininventory LightScreenCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", LightScreenCooldownitem, vertical,reverse, 20, 28;}\n}\n\nininventory BarrierFlag {\n\nDrawImage \"BARRI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BarrierCooldownitem, vertical,reverse, 20, 28;\nininventory BarrierCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BarrierCooldownitem, vertical,reverse, 20, 28;}\n}\n\nininventory GrapplingHookFlag {\n\nDrawImage \"WIRE\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", GrapplingHookCooldownitem, vertical,reverse, 20, 28;\nininventory GrapplingHookCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", GrapplingHookCooldownitem, vertical,reverse, 20, 28;}\n}\n/*\nininventory ClearsprayFlag {\n\nDrawImage \"WATERBI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", ClearsprayCooldownitem, vertical,reverse, 20, 28;\nininventory ClearsprayCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", ClearsprayCooldownitem, vertical,reverse, 20, 28;}\n}\n\nininventory TopGrenadeFlag {\nDrawImage \"TPGNI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TopGrenadeCooldownitem, vertical,reverse, 20, 28;\nininventory TopGrenadeCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TopGrenadeCooldownitem, vertical,reverse, 20, 28;}\n}\n\nininventory MegaHealBombFlag {\nDrawImage \"MEGHEI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MegaHealBombCooldownitem, vertical,reverse, 20, 28;\nininventory MegaHealBombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MegaHealBombCooldownitem, vertical,reverse, 20, 28;}\n}\n*/\nininventory BoosterPackFlag {\n\nDrawImage \"ADAPSI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BoosterPackCooldownitem, vertical,reverse, 20, 28;\nininventory BoosterPackCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BoosterPackCooldownitem, vertical,reverse, 20, 28;}\n\nDrawImage \"RHUDV\", 73, 0;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUDV_R\", 73, 0;}\nDrawBar \"CLDVAR01\", \"NBARE\", BP_Fuel, vertical, 79, 26;\nininventory BP_Fuel ,35 {DrawBar \"CLDVAR02\", \"NBARE\", BP_Fuel, vertical, 79, 26;}\nDrawImage \"OILLI\", 81, 14;\n}\n\nininventory TimeBombFlag {\nDrawImage \"TIMBI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TimeBombCooldownitem, vertical,reverse, 20, 28;\nininventory TimeBombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TimeBombCooldownitem, vertical,reverse, 20, 28;}\n}\n\nininventory HealthGeneratorFlag {\nDrawImage \"HGENI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealthGeneratorCooldownitem, vertical,reverse, 20, 28;\nininventory HealthGeneratorCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealthGeneratorCooldownitem, vertical,reverse, 20, 28;}\n}\n\nininventory BuddySentryFlag {\nDrawImage \"TRETI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BuddySentryCooldownitem, vertical,reverse, 20, 28;\nininventory BuddySentryCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BuddySentryCooldownitem, vertical,reverse, 20, 28;}\n}\n\nininventory TopGrenadeFlag {\nDrawImage \"TPGNI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TopGrenadeCooldownitem, vertical,reverse, 20, 28;\nininventory TopGrenadeCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TopGrenadeCooldownitem, vertical,reverse, 20, 28;}\n}\n\nininventory RotaryShellFlag {\nDrawImage \"MIRRSI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", RotaryShellCooldownitem, vertical,reverse, 20, 28;\nininventory RotaryShellCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", RotaryShellCooldownitem, vertical,reverse, 20, 28;}\n}\n\nininventory CureSprayFlag {\nDrawImage \"MEGHEI\", 23, 31;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", CureSprayCooldownitem, vertical,reverse, 20, 28;\nininventory CureSprayCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", CureSprayCooldownitem, vertical,reverse, 20, 28;}\n}\n//[+]======================================[+]\n//-----------|Weapon Resource Bars|-----------\n//[+]======================================[+]\nIsSelected NMDCrossbow, NMDCrossbow2 {\nDrawImage \"RHUDV\", 54, 0;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUDV_R\", 54, 0;}\nDrawBar \"CLDVAR01\", \"NBARE\", CrossbowPrime, vertical, 60, 26;\nininventory CrossbowPrime ,55 {DrawBar \"CLDVAR02\", \"NBARE\", CrossbowPrime, vertical, 60, 26;}\nDrawImage \"LASERSI\", 62, 14;\n}\n\nIsSelected HiPERBeam, HiPERBeam2 {\nDrawImage \"RHUDV\", 54, 0;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUDV_R\", 54, 0;}\nDrawBar \"CLDVAR01\", \"NBARE\", BeamPowerLevel, vertical, 60, 26;\nininventory BeamPowerLevel ,100 {DrawBar \"CLDVAR02\", \"NBARE\", BeamPowerLevel, vertical, 60, 26;}\nininventory BeamPowerLevel ,1 {DrawBar \"CLDVAR03\", \"NNOVAR\", BeamHoldTimer, vertical, 60, 26;}\nDrawImage \"LASERSI\", 62, 14;\n}\n\nIsSelected BusterGun , BusterGun2{\n\nDrawImage \"RHUDV\", 54, 0;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUDV_R\", 54, 0;}\nDrawBar \"CLDVAR01\", \"NBARE\", WeaponHeat_A, vertical, 60, 26;\nininventory WeaponHeat_A ,65 {DrawBar \"CLDVAR03\", \"NBARE\", WeaponHeat_A, vertical, 60, 26;}\nDrawImage \"ATOMI\", 62, 14;\n}\n/*\nIsSelected Basher , Basher2 {\n\nDrawImage \"RHUDV\", 54, 0;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUDV_R\", 54, 0;}\nDrawBar \"CLDVAR01\", \"NBARE\", WeaponHeat_B, vertical, 60, 26;\nininventory WeaponHeat_B ,65 {DrawBar \"CLDVAR03\", \"NBARE\", WeaponHeat_B, vertical, 60, 26;}\nDrawImage \"ATOMI\", 62, 14;\n}\n*/\n}}"
      },
      {
        "source": "pk3",
        "name": "menudef.txt",
        "contents": "LISTMENU \"MainMenu\"\n{\n\t\tStaticPatch 94, 2, \"M_DOOM\"\n\t\tPosition 97, 72\n\n\t\tPatchItem \"M_NGAME\", \"n\", \"PlayerclassMenu\"\n\t\tPatchItem \"M_LODOUT\", \"a\", \"LoadOutMenu\"\n\n\t\tPatchItem \"M_MULTI\", \"m\", \"ZA_MultiplayerOptions\"\n\n\t\tifOption(SwapMenu)\n\t\t{\n\t\t\tPatchItem \"M_LOADG\", \"l\", \"LoadGameMenu\"\n\t\t\tPatchItem \"M_SAVEG\", \"s\", \"SaveGameMenu\"\n\t\t\tPatchItem \"M_OPTION\",\"o\", \"OptionsMenu\"\n\t\t}\n\t\telse\n\t\t{\n\t\t\tPatchItem \"M_OPTION\",\"o\", \"OptionsMenu\"\n\t\t\tPatchItem \"M_LOADG\", \"l\", \"LoadGameMenu\"\n\t\t\tPatchItem \"M_SAVEG\", \"s\", \"SaveGameMenu\"\n\t\t}\n\n\t\tPatchItem \"M_QUITG\", \"q\", \"QuitMenu\"\n\n\t\t//StaticPatch 94, 94, \"EMB0A0\"\n}\n\nOptionMenu \"LoadOutMenu\"\n{\n    Title \"Loadouts\"\n\tOption \"Weapon A\", \"Lo_WepA\", \"WepOptions\"\n\tStaticText \"\"\n\t\tOption \"Desc:\", \"Lo_WepA\", \"WepDesc\", \"unselectable\"\n\tStaticText \"\"\n\tStaticText \"\"\n\tStaticText \"\"\n\n\tOption \"Weapon B\", \"Lo_WepB\", \"WepOptions\"\n\tStaticText \"\"\n\t\tOption \"Desc:\", \"Lo_WepB\", \"WepDesc\", \"unselectable\"\n\tStaticText \"\"\n\tStaticText \"\"\n\tStaticText \"\"\n\n\tOption \"SubWeapon\", \"Lo_SubWep\", \"SubWepOptions\"\n\tStaticText \"\"\n\t\tOption \"Desc:\", \"Lo_SubWep\", \"SubWepDesc\", \"unselectable\"\n\tStaticText \"\"\n\tStaticText \"\"\n\tStaticText \"\"\n\tStaticText \"\"\n\t\tOption \"Emblem\", \"Lo_Emblem\", \"EmblemOptions\"\n\t\tOption \"AutoPicker\", \"Lo_AutoPick\", \"AutopickOptions\"\n\tStaticText \"\"\n\tStaticText \"Press the item use key to reload your weapon\"\n\t//StaticPatch 50,50,\"EMB0A0\"\n}\n\n//0, \"$TAG_ICESLASHER\"\nOptionValue EmblemOptions\n{\n0, \"Dot\"\n1, \"\\cqBullets\"\n2, \"\\cqSlug\"\n3, \"\\cqLarge Bullet\"\n4, \"\\ccBuster Gun\"\n5, \"\\ceShield\"\n6, \"\\cwHeavy Weapons Guy\"\n7, \"\\cwMuscle\"\n8, \"\\cdHealer\"\n9, \"\\cdHealer 2\"\n10, \"\\cdMedical cross\"\n11, \"\\cdpill\"\n12, \"\\csCrosshair 1\"\n13, \"\\csCrosshair 2\"\n14, \"\\ctskull\"\n15, \"\\ctDagger\"\n16, \"\\ctCobra\"\n17, \"\\cnScout\"\n18, \"\\cnJetpack\"\n19, \"\\caSuits:spade\"\n20, \"\\caSuits:Club\"\n21, \"\\caSuits:Diamond\"\n22, \"\\caSuits:Heart\"\n23, \"\\chChess:Rook\"\n24, \"\\chChess:Bishop\"\n25, \"\\chChess:knight\"\n\n}\n\nOptionValue AutopickOptions\n{\n0, \"Disable\"\n1, \"\\cqGeneralist\"\n2, \"\\cgAggressive\"\n3, \"\\csFrontline\"\n4, \"\\cnMobile\"\n5, \"\\cdSupport\"\n6, \"\\ctbackline\"\n7, \"\\caAnything\"\n8, \"\\cuRandom\"\n}\n\nOptionValue WepOptions\n{\n//-1, \"Null\"\n0, \"BusterGun\t\t::Light::\"\n1, \"Blitzer\t\t\\ci::Medium::\"\n2, \"Repidifier\t\t::Light::\"\n3, \"Hi.P.E Gun\t\t\\ci::Medium::\"\n//4, \"Hi.P.E.R Beam\t\t::Light::\"\n4, \"TAG Missile\t\t\\cr::Heavy::\"\n5, \"SLAM Cannon\t\t\\cr::Heavy::\"\n6, \"Thrice Gun\t\t::Light::\"\n7, \"\\cdMediCarbine\t\t::Light::\"\n8, \"\\cdMending Tool\t\t::Light::\"\n9, \"\\cnSubwich\t\t::Light::\"\n10, \"Crossbow\t\t::Light::\"\n11, \"Point Buster\t\t::Light::\"\n12, \"FlameTongue\t\t\\ci::Medium::\"\n13, \"Crisperizer\t\t::Light::\"\n14, \"Hotshot\t\t::Light::\"\n15, \"Basher\t\t\\cr::Heavy::\"\n16, \"Stinger\t\t::Light::\"\n}\n\nOptionValue SubWepOptions\n{\n//-1, \"Null\"\n0, \"Minibomb\"\n1, \"Proxy Mine\"\n2, \"\\cnLight Screen\"\n3, \"\\ciBooster Pack\"\n4, \"\\ciGrappling Hook\"\n5, \"\\cnHealth Generator\"\n//6, \"Time Bomb\"\n6, \"Buddy Sentry\"\n7, \"TopGrenade\"\n8, \"\\cnBarrier\"\n9, \"\\cnRotary Shell\"\n10, \"\\cdCure Spray\"\n}\n\nOptionValue WepDesc\n{\n//-1, \"Null\"\n0, \"Standard and well rounded, \\ncan fire as quickly as you \\ncan pull but may overheat.\"\n1, \"PowerFul spread weapon, \\ndeals high damage up close and \\nmoderate mid-ranged damage\"\n2, \"Steady, high rate of fire, \\nnot the strongest but has \\nexcellent coverage\"\n3, \"High Precision Energy Gun,\\n pump action weapon that is\\n great at long range.\"\n//4, \"High Precision Energy Rail Beam! \\nCharge for more power but \\nwatch the kickback\"\n4, \"Launches small homing missiles, \\nhold fire to lock onto \\nfoes before firing\"\n5, \"launches modified minibombs that \\nexplode on impact, high \\npower but slow\"\n6, \"3-way icicle shot, has \\n amazing cover, making this weapon \\nideal in wider areas\"\n7, \"A medical weapon, it's shots can heal \\n allies but also harm enemies,\\n has decent range but slow firing\"\n8, \"a non offensive weapon that \\nheals damage with a healing stream,\\n works best out of combat\"\n9, \"Take a lunch break and eat this \\nself replenishing sandwich. \\caall \\nharm will crit while eating however.\"\n10, \"A mid-long ranged weapon that can \\nlaunch poisoned darts if given \\nthe time to prime, suppressing healing\"\n11, \"launches arrow-shaped projectile \\nthat follow your reticle, a tricky \\nweapon with multiple uses\"\n12, \"A Flamethrower that periodically \\nspews embers that can set enemies \\nablaze, dealing damage over time\"\n13, \"Launches large, superheated projectiles, \\ndeals critical damage to foes \\non fire\"\n14, \"Launch a volley of bouncing fireballs, \\nweak in power but can easily \\noverwhelm targets.\"\n15, \"This heavy weapon can fire a rapid \\nvolley of projectiles! slow and \\nrequire time to rev up\"\n16, \"poisons a target through successive \\nhits, deals critical damage to \\npoisoned targets as well\"\n}\n\nOptionValue SubWepDesc\n{\n//-1, \"Null\"\n0, \"Throwing explosive that detonates \\non the floor, ride the blast \\nto get to high places.\"\n1, \"Explodes when enemies are in range, \\n up to two can be out per person.\"\n2, \"a defensive bunker you can \\nshoot through, has limited health.\"\n3, \"Take to the skies with this jetpack! \\nreplenishes fuel while grounded\"\n4, \"reach distant places with great ease! \\nbe mindfull of your momentum however.\"\n5, \"Spawns health over time and \\n grow in efficiency, up to \\nthree can be out per person\"\n//6, \"can eliminate groups once it \\ncounts down, can also be destroyed \\nbefore going off.\"\n6, \"Disposable Miniature Sentry guns \\n that can offer support fire! \\nweak but quick to deploy\"\n7, \"Heat Seeking Gyro Explosive that \\nPursues players in sight, Hold to \\n target ahead of time\"\n8, \"Encase your team in a temporary \\nBarrier to absorb damage, wears down \\nfaster when damaged\"\n9, \"Engage a Tactical Orbital Shield \\nWith Individual parts\"\n10, \"Release a traveling, healing mist \\nthat can cure and suppress \\nnegative effects\"\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Dronecode.txt",
        "contents": "Actor TestDrone\n{\n+MISSILE\n+NOBLOOD\n+DONTBLAST\n//+SHOOTABLE\n+NOGRAVITY\n+SOLID\n+THRUACTORS\n+NOEXPLODEFLOOR\n+NOTARGETSWITCH\n+BOUNCEONWALLS\n+BOUNCEONCEILINGS\n+NOEXPLODEFLOOR\n+SKYEXPLODE\nTranslation \"196:196=192:192\"\nradius 15\nheight 25\nspeed 0\nscale 2\npainchance 256\nstates\n{\nspawn:\nTELY A 0\nTELY A 0 A_GiveToTarget(\"DroneActivate\")\nTELY A 0 ACS_Executealways(896,0)\nTELY A 0 ACS_Executealways(895,0)\nTELY A 0 A_ChangeFlag(\"MISSILE\",0)\nTELY A 0 A_ChangeFlag(\"ISMONSTER\",1)\nSpawn2:\nPBUG A 1\nTNT1 A 0 A_TakeFromTarget(\"Dronelife\",1)\nTNT1 A 0 A_JumpIfInTargetInventory(\"IsDead\",1,\"Death\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"Dronelife\",1,\"Spawn2\")\ngoto Death\nDeath:\nTELY A 0 ACS_Executealways(896,1)\nTELY A 0 A_GiveToTarget(\"MoveEnabler\")\nstop\n}\n}\n\nactor DroneshotDelay : Powerup {inventory.amount 1 powerup.duration 5}\nactor Dronelife : inventory {inventory.amount 1 inventory.maxamount 1050}\n\nactor DroneShot : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 0 A_JumpifinTargetinventory(\"DroneshotDelay\",1,\"Nope\")\nBLTR C 0 A_Playsoundex(\"misc/devilfire\",\"weapon\")\nBLTR C 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 0 A_SpawnItemEx(\"DroneBullet\",cos(pitch)*45,0,0+(sin(pitch)*-45),cos(pitch)*75,0,sin(pitch)*-75,0,SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)\nBUST B 0 A_Givetotarget(\"DroneshotDelay\")\nstop\nTeamRedFire:\nBUST B 0 A_SpawnItemEx(\"DroneBullet_RED\",cos(pitch)*45,0,0+(sin(pitch)*-45),cos(pitch)*75,0,sin(pitch)*-75,0,SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)\nBUST B 0 A_Givetotarget(\"DroneshotDelay\")\nTNT1 A 0\nstop\nTeamBlueFire:\nBUST B 0 A_SpawnItemEx(\"DroneBullet_BLUE\",cos(pitch)*45,0,0+(sin(pitch)*-45),cos(pitch)*75,0,sin(pitch)*-75,0,SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)\nBUST B 0 A_Givetotarget(\"DroneshotDelay\")\nTNT1 A 0\nstop\nNope:\nTNT1 A 0\nstop\n}\n}\n\nactor DroneController : Weapon\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 25\nWeapon.SlotNumber 1\nscale 2.0\nObituary \"$OB_MEGABUSTER\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"AssaultClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUSR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nBUST B 0\nRedReady:\n\"####\" B 1 A_WeaponReady\n\"####\" B 0 A_Jumpifinventory(\"AssaultClip\",1,\"Ready\")\nGoto Reload\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" CD 1\n\"####\" B 2\n\"####\" B 0 A_Refire\ngoto Ready\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"AssaultClip\",1,\"Ready\")\nFlash:\nTNT1 A 1\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor DroneActivate : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.AUTOACTIVATE\nstates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0 A_PlaySound(\"weapon/rminestick\")\nTNT1 A 0 A_GiveInventory(\"DroneController\")\nTNT1 A 0 A_SelectWeapon(\"DroneController\")\nTELY A 0 A_GiveInventory(\"Dronelife\",1050)\nTNT1 A 0 A_Setgravity(100)\nstop\n}\n}\n\nactor MoveEnabler : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 0\nTNT1 A 0 A_TakeInventory(\"DroneController\")\nTNT1 A 0 A_Setgravity(0.8)\nBLTR C 0 setplayerproperty(0,0,0)\nstop\n}\n}\n\nactor DroneBullet\n{\nPROJECTILE\n+LOOKALLAROUND\n+SKYEXPLODE\n+DONTBLAST\n+MTHRUSPECIES\ndamagetype \"Buster\"\nObituary \"$OB_MEGABUSTER\"\n//seesound \"weapon/mbuster\"\nSpeed 100\nDamage (16)\nradius 9\nheight 15\nscale 0.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0\nBASB T 1 A_SpawnItemEX(\"DroneBulletTrail\",0,0,0,momx/3,momy/3,momz/3,0,SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION,0)\ngoto spawn+2\nDeath:\nBUST T 1 A_Spawnitemex(\"BustergunPuff3\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\n\tactor DroneBullet_BLUE : DroneBullet\n\t{\n\tdamagetype \"Buster\"\n\t}\n\n\tactor DroneBullet_RED : DroneBullet\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"\n\tdamagetype \"BusterRED\"\n\t}\nactor DroneBulletTrail\n{\nPROJECTILE\n+NOINTERACTION\n+DONTBLAST\nSpeed 0\nradius 5\nheight 5\nscale 0.7\nRenderstyle add\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nBASB TTT 1\nBASB TTT 1 A_Fadeout\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/SourceActors.txt",
        "contents": "/*\nThis file contains all the actors most main objects inherit from, typically\ncommon things like projectiles and explosionactors and such that all use the same\nstates code, this can help with reducing script size all around\n*/\n\nactor ProjectileBase\n{\nPROJECTILE\n+SKYEXPLODE\n+DONTBLAST\n+MTHRUSPECIES\n+BLOODSPLATTER\n//damagetype \"Buster\"\nSpeed 40\nDamage (3 + ACS_ExecuteWithResult(DamageRate,8,360,50))\nradius 5\nheight 5\nscale 2.1\nStates\n{\nSpawn:\nTNT1 A 0\nBUST T 1\nloop\nDeath:\nBUST T 1 A_Spawnitemex(\"BustergunPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nactor FastProjectileBase : Fastprojectile\n{\nPROJECTILE\n+SKYEXPLODE\n+DONTBLAST\n+MTHRUSPECIES\n+BLOODSPLATTER\ndamagetype \"Buster\"\nMissileHeight 8\nSpeed 40\nDamage (3 + ACS_ExecuteWithResult(DamageRate,8,360,50))\nradius 5\nheight 5\nscale 2.1\nStates\n{\nSpawn:\nTNT1 A 0\nBUST T 1\nloop\nDeath:\nBUST T 1 A_Spawnitemex(\"BustergunPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nactor ExplosionBase\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+DONTBLAST\n+FORCEXYBILLBOARD\n+BLOODSPLATTER\nSpeed 0\n//\nDamagetype \"Explosion\"\nradius 8\nheight 8\nscale 5.5\nStates\n{\nSpawn:\nNAPC A 0\nNAPC D 0 A_Explode(20, 310, 1,0,36)\nNAPC A 0 A_PlaySoundEx(\"weapon/napalm\", \"Weapon\")\nASEX ABCDEF 2\nstop\n}\n}\n\nactor HitscanBulletBase : FastprojectileBase\n{\ndamagetype \"Buster\"\nDamage (5 + ACS_ExecuteWithResult(DamageRate,4,360,150))\nspeed 255\nheight 5\nradius 5\nscale 1\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0\nTNT1 A 1\ngoto spawn+2\nDeath:\nTNT1 A 1 A_PlaySound(\"weapon/mirrordeflect\")\nTNT1 A 1 A_Spawnitemex(\"BustergunPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nactor FXActor_A\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+CLIENTSIDEONLY\nradius 8\nheight 8\nDamage (0)\nscale 3.0\nReactiontime 35\nRenderstyle \"Translucent\"\nAlpha 1.0\nStates\n{\nSpawn:\nICMS A 0\nICMS ABCD 2\nstop\n}\n}\n\nactor FXActor_B\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+CLIENTSIDEONLY\nradius 8\nheight 8\nDamage (0)\nscale 3.0\nReactiontime 35\nRenderstyle \"Add\"\nAlpha 1.0\nStates\n{\nSpawn:\nICMS A 0\nICMS ABCD 2\nstop\n}\n}\n\nactor WatcherBase\n//Watchers area type of actor that is invisible and handles tasks in the background.\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\n+NOTARGETSWITCH\n+NONETID\nStates\n{\nSpawn:\nTNT1 A 1\nDeath:\nDeathTake:\nTNT1 A 0\nstop\n}\n}\n\nactor LinearBullet : fastProjectileBase\n{\n//these are used for guns that utilize generic rounds.\nSpeed 10\nDamage (6 + ACS_ExecuteWithResult(DamageRate,6,300,65))\nradius 3\nheight 3\nReactiontime 14\nscale 1.0\nVar Int User_TrailCount;\nVar Int User_TP; //TrailPosition\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AA 1 ACS_NamedExecuteAlways(\"PitchMatch\",0)\n//TNT1 A 0 A_Jump(256,\"SpeedSet\")\n//Goto SpeedSet\n//SpeedSet:\nTNT1 A 0 A_ScaleVelocity(10)\nGoto Spawn2\nSpawn2:\n//TNT1 A 0 A_SetUserVar(\"User_TP\",3*User_TrailCount)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-3,0,(sin(pitch)*3),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-6,0,(sin(pitch)*6),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-9,0,(sin(pitch)*9),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-12,0,(sin(pitch)*12),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-15,0,(sin(pitch)*15),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-18,0,(sin(pitch)*18),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-21,0,(sin(pitch)*21),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-24,0,(sin(pitch)*24),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-27,0,(sin(pitch)*27),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-30,0,(sin(pitch)*30),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-33,0,(sin(pitch)*33),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-36,0,(sin(pitch)*36),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-39,0,(sin(pitch)*39),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-42,0,(sin(pitch)*42),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-45,0,(sin(pitch)*45),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SetUserVar(\"User_TrailCount\",User_TrailCount+1)\n//TNT1 A 0 A_Jumpif(User_TrailCount >= 20,1)\n//loop\n//TNT1 A 0\nTNT1 A 1 //A_SetUserVar(\"User_TrailCount\",1)\nTNT1 A 0 A_Countdown\nGoto Spawn2\nDeath:\nTNT1 A 1 A_Spawnitemex(\"LinearBulletPuff\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nactor LinearBullet2 : fastProjectileBase\n{\n//these are used for guns that utilize generic rounds.\nSpeed 100\nDamage (6 + ACS_ExecuteWithResult(DamageRate,6,300,65))\nradius 3\nheight 3\nReactiontime 12\nscale 1.0\nVar Int User_TrailCount;\nVar Int User_TP; //TrailPosition\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"PitchMatch\",0)\n//TNT1 A 0 A_Jump(256,\"SpeedSet\")\n//Goto SpeedSet\n//SpeedSet:\n//TNT1 A 0 A_ScaleVelocity(16)\n\nGoto Spawn2\nSpawn2:\n//TNT1 A 0 A_SetUserVar(\"User_TP\",3*User_TrailCount)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-3,0,(sin(pitch)*3),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-6,0,(sin(pitch)*6),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-9,0,(sin(pitch)*9),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-12,0,(sin(pitch)*12),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-15,0,(sin(pitch)*15),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-18,0,(sin(pitch)*18),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-21,0,(sin(pitch)*21),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-24,0,(sin(pitch)*24),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-27,0,(sin(pitch)*27),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-30,0,(sin(pitch)*30),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-33,0,(sin(pitch)*33),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-36,0,(sin(pitch)*36),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-39,0,(sin(pitch)*39),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-42,0,(sin(pitch)*42),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-45,0,(sin(pitch)*45),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SetUserVar(\"User_TrailCount\",User_TrailCount+1)\n//TNT1 A 0 A_Jumpif(User_TrailCount >= 20,1)\n//loop\n//TNT1 A 0\nTNT1 A 1 //A_SetUserVar(\"User_TrailCount\",1)\nTNT1 A 0 A_Countdown\nGoto Spawn2\nDeath:\nTNT1 A 1 A_Spawnitemex(\"LinearBulletPuff\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nactor LinearBulletTrail : FXActor_B\n{\nMissileHeight 8\nscale 1.0\nStates\n{\nSpawn:\nBASB U 2\nstop\n}\n}\n\nactor LinearBulletPuff : FXActor_A\n{\nscale 0.4\nStates\n{\nSpawn:\nBIM1 AABCDEF 1\nstop\n}\n}\n\nactor BarrierPartBase\n{\n  Radius 14\n  Height 12\n  Scale 0.5\n  RenderStyle None\n  Alpha 0.25\n  //Bloodtype \"ShieldHit\"\n  //Species \"BLUEMember\"\n  DamageFactor \"Explosion\", 0.1\n  Health 900\n  Painchance 256\n  //Designatedteam 0\n  +MISSILE\n  +SHOOTABLE\n  +NOTARGETSWITCH\n  +NOGRAVITY\n  +NOTELEPORT\n  +NOTARGETSWITCH\n  +THRUSPECIES\n  +DONTRIP\n  +DONTSPLASH\n  +FLOORCLIP\n  //+REFLECTIVE\n  +DONTREFLECT\n  +NODAMAGETHRUST\n  //+DONTTHRUST\n  +DONTBLAST\n  +GHOST\t//Give projectiles that you wish to pass through the shield THRUGHOST flag\n  States\n  {\n  Spawn:\n\tTNT1 A 0\n\tTNT1 A 0 A_SpawnItemEx (\"ScreenPartVisual\", 0, 0, 16, 0, 0, 0, 0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n    HEXA A 2\n    stop\n\tPain:\n\tTNT1 A 0  A_PlaySoundEX (\"item/protoreflect\",\"Soundslot5\")\n\tstop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor ShieldHit\n{\n  Radius 1\n  Height 1\n  Scale 0.5\n  Renderstyle Add\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    MMFX A 0 bright\n    MMFX A 1 bright A_Stop\n    MMFX A 0 bright A_PlaySound (\"weapon/MirrorDeflect\")\n    MMFX A 1 bright\n    stop\n  }\n}\n\nactor ScreenPartVisual\n{\n  Radius 8\n  Height 8\n  Scale 0.5\n  RenderStyle Add\t//Fuzzy looks great in software mode\n  Alpha 0.35\n  +NOINTERACTION\n  //+CLIENTSIDEONLY\n  +FLOORCLIP\n  States\n  {\n  Spawn:\n  TNT1 A 0\n    HEXA AAAA 1 bright\n    //HEXA AA 1 bright A_Fadeout(0.4)\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor BasicClientSide\n{\n+CLIENTSIDEONLY\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\nradius 2\nheight 2\nscale 2.5\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/ConstList.txt",
        "contents": "//====|Damage falloff range constants|====\nConst int Range1 = 275; //close quarters\nConst int Range2 = 450; // mid range\nConst int Range3 = 750; // long range\n\n//====|Mendingtool heal rates|====\nConst int HealRate2_B = 6;\nConst int HealRate2_A = 13;\nConst int HealRate2_Max = 20;\n\n//====|Weapon Spreads|====\n//Bustergun\nconst float BGUN_S = 0.6;\n\n//basher\nconst float BasherSpread = 2.3;\n\n//MannTurret\nconst float MT_SPD = 2.0;\n\n//blitzer\nConst float SRev = 360;\n\nConst float S_SprAng = 1.8;\nConst float S_SprAngRev = SRev-S_SprAng;\n\nConst float S_SprD_Ang = S_SprAng/1.5;\nConst float S_SprD_AngRev = SRev-(S_SprAng/1.5);\n\n//megablitzer\nConst float MB_SPD = 5.0;\n\n//Repidifier\nconst float RP_SPD = 1.4;\n\n//Stinger\nconst float ST_SPD = 2.1;\n\n//buddy sentry\nconst int BSEN_SPD = 12; //multiplied by 10\nconst int BSEN_Warm = 25;\nconst int BSEN_DetectRange = 750;\nconst int BSEN_ForgetRange = 800;\n\n//top grenade\nConst int GrenTopSpeed = 8;\nConst int GrenTopTurning = 35;\n\n//CureSprayRadius\nConst int SH_RAD = 260;\nConst int SH_RAD2 = SH_RAD/2;\n//[+]================|Sripts|===================[+]\n\nconst int  GetTotalHPPerc = 726;\nconst int  GetValueHPPerc = 727;\nconst int  WepBloomStat = 728;\nconst int  DamageRate = 729;\nconst int  RadiusGive = 730;\nconst int  JumpToggle = 731;\nconst int  MedivisionScript = 732;\nconst int  RadiusHeal = 733;\nconst int  DotDamager = 734;\nconst int  GrapplingHookPull = 735;\nconst int  TargPitch = 736;\nconst int  BlastKnockback = 737;\nconst int  CountTID = 738;\nconst int  ObjectTally = 739;\nconst int  ObjectDeathTally = 740;\nconst int  GetTargValueHPPerc = 741;\nconst int  HealRamp = 743;"
      },
      {
        "source": "pk3",
        "name": "Actors/Classes/ClassBase.txt",
        "contents": "Actor CoronditeBase : PlayerPawn\n{\n+NOBLOOD\n+NOBLOODDECALS\n+NODAMAGETHRUST\n//+DONTBLAST\n+QUICKTORETALIATE\n+DONTHARMSPECIES\n+THRUSPECIES\n+NOSKIN\nBloodType \"\"\nheight 58\nradius 25\nPlayer.DisplayName \"Based Class\"\nPlayer.SoundClass \"megaman\"\nPlayer.DamageScreenColor \"yellow\"\nPlayer.JumpZ 10\nPlayer.ForwardMove 1.0, 1.0\nPlayer.SideMove 1.0, 1.0\nplayer.colorrange 0 0\nHealth 500\nPlayer.MaxHealth 500\nMass 999999\nDamageFactor \"Normal\", 1.0\nDamageFactor \"Falling\", 10.0\nGravity 0.8\nScale 2.5\nPlayer.MaxSkinSizeFactor 0, 0 //Fixes downsizing\n\n//=====\nPlayer.StartItem \"HealthNumber\"\nPlayer.StartItem \"ReloadItem\"\n\n//=====\nVar int User_STargTID;\nVar int User_angleDistRegister;\nVar int User_STargRange;\n\nStates\n{\nSpawn:\n\"----\" A 0\n\"----\" B 1\n\"----\" A 1\ngoto Spawn+2\nSee:\n\"----\" BCDE 5\ngoto Spawn+1\nMissile:\n\"----\" F 5\n\"----\" G 4\ngoto Spawn+2\nPain.QuickBoomerang:\nPain.Buster:\nPain.BassBuster:\nPain.WildCoil:\nPain.ChargeKick:\nPain.YamatoSpear:\nPain.DiveMissile:\nPain.StarCrash:\nPain.CentaurFlash:\nPain.FreezeCracker:\nPain.ScrewCrusher:\nPain.PharaohHold:\nPain.TornadoHold:\nPain.TrebleSentry:\nPain.ScorchWheel:\nPain.MagnetMissile:\nPain.JunkShield:\nPain.OilSlider:\nPain.WaveBurner:\nPain.WaveBurnerUW:\nPain.Misc:\nPain.Treble:\nPain.FlameSwordSpark:\nPain.FireSpin:\nPain.DragonType:\nPain.IceType:\nPain.FireType:\nPain.SteelType:\nPain.HolyType:\nPain.FightingType:\nPain.FireSpinN:\nPain.HolyType2:\nPain.ENormalType:\n\"----\" H 0\ngoto Pain+3\nPain.Bright:\n\"----\" H 0\n\"----\" H 0 A_ScaleVelocity(0.65)\n\"----\" H 0 A_Jump(256, \"Pain\")\ngoto Pain+3\nPain.Wind:\n\"----\" H 0\n\"----\" H 0 ThrustThing(random(0,255),35,1,0)\n\"----\" H 0 ThrustThingZ(0,100,0,0)\ngoto Pain+3\nPain.Gravity:\n\"----\" H 0\n\"----\" H 0 ThrustThing(random(0,255),50,1,0)\n\"----\" H 0 ThrustThingZ(0,60,0,0)\ngoto Pain+3\nPain.WaterBalloon:\nPain.FlashBomb:\nPain.RemoteMine:\nPain.IceWall:\n\"----\" H 0 A_ScaleVelocity(0.9)\nGoto Pain+3\nPain.SpreadDrill:\nPain.SpreadDrill2:\nPain.SpreadDrill3:\n\"----\" H 0 A_JumpIfInventory(\"SpreadDrillProtect\", 1 ,2)\n\"----\" H 0 A_PlaySoundEx(\"weapon/spreaddrillhit\",\"SoundSlot5\")\n\"----\" H 0 A_GiveInventory(\"SpreadDrillProtect\", 1)\nGoto Pain+3\nPain.FlameSword:\n\"----\" H 0 //A_GiveInventory(\"FlameSwordProtectTM\", 1)\n\"----\" HH 0 A_SpawnItemEx(\"ScorchBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nGoto Pain\nPain.WindStorm:\nPain.FlingDamage:\n\"----\" H 0\n\"----\" H 0 ThrustThing(random(0,255),30,0,0)\n\"----\" H 0 ThrustThingZ(0,30,0,0)\nGoto Pain+3\n//-----Ehibika-----\n/*\nPain.LooseCannon:\nPain.LooseCannonRED:\n\"----\" H 0\n\"----\" H 0 A_GiveInventory(\"ShortInvulnerabilityFrames\",1)\n\"----\" H 0 A_PlaySoundEx(\"weapon/coilbounce2\",\"SoundSlot5\")\n\"----\" H 0 A_GiveInventory(\"DoubleDonkable\")\n\"----\" H 0 A_SpawnItemEX(\"DonkWatcher\",1)\n\"----\" H 0 ThrustThing(random(0,255),10,1,0)\n\"----\" H 0 ThrustThingZ(0,20,0,1)\nGoto Pain+3\nPain.LooseCannonExpl:\nPain.LooseCannonExplRED:\n\"----\" H 0\n\"----\" H 0 A_Jumpifinventory(\"DoubleDonkable\",1,1)\nGoto Pain+3\n\"----\" H 0 A_SpawnitemEx(\"DoubleDonkIcon\",0,0,130,0,0,2)\n\"----\" H 0 ThrustThing(random(0,255),20,1,0)\n\"----\" H 0 ThrustThingZ(0,20,0,0)\n\"----\" H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")  //got double donked!\nGoto Pain+3\n*/\n//-----Ehibika-----\nPain.SlashClaw:\n\"----\" H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.FlashStopper:\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"BrightBlind\", 1,3)\n\"----\" H 0 A_GiveInventory(\"BrightBlind\",125)\n\"----\" H 0 ACS_ExecuteAlways(249, 0)\nGoto Pain+3\n\"----\" H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto Pain+3\nPain.TimeSlow:\n\"----\" H 0\n\"----\" H 0 A_GiveInventory(\"Slowed\",1)\n\"----\" H 0\nGoto Pain+3\nPain.SparkShock:\n\"----\" H 0\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\n\"----\" H 0\nGoto Pain+3\nPain.CrashBomb:\n\"----\" H 0\n\"----\" H 0 A_Stop\n\"----\" H 0\nGoto Pain+3\nPain.GravityHold:\n\"----\" H 0\n\"----\" H 0 A_ChangeVelocity(momx, momy, 0, CVF_REPLACE)\n\"----\" H 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\n\"----\" H 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\n\"----\" H 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\n\"----\" H 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\nGoto GravityForceFinish\nGravityForce4:\n\"----\" H 2 A_GiveInventory(\"GravityForce4\",1)\nGoto GravityForceFinish\nGravityForce3:\n\"----\" H 2 A_GiveInventory(\"GravityForce3\",1)\nGoto GravityForceFinish\nGravityForce2:\n\"----\" H 2 A_GiveInventory(\"GravityForce2\",1)\nGoto GravityForceFinish\nGravityForce1:\n\"----\" H 2 A_GiveInventory(\"GravityForce1\",1)\nGoto GravityForceFinish\nGravityForceFinish:\n\"----\" H 0 A_CheckFloor(2)\n\"----\" H 0 ThrustThingZ(0,150,1,0)\n\"----\" H 0\nGoto Pain+3\nPain.WilyFire:\n\"----\" H 0 //A_ChangeFlag(\"SHOOTABLE\",0)\n\"----\" H 0 A_SpawnItemEx(\"ImOnFire\")\n\"----\" H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.WilyIce:\n\"----\" H 0 A_ChangeFlag(\"SHOOTABLE\",0)\n\"----\" H 0 SetPlayerProperty(0,1,4)\n\"----\" H 0 A_SpawnItemEx(\"ImFrozen\")\n\"----\" H 0 A_GiveInventory(\"IceVision\",1)\n\"----\" H 30 A_Stop\n\"----\" H 30 A_ChangeFlag(\"SHOOTABLE\",1)\n\"----\" H 0 SetPlayerProperty(0,0,0)\n\"----\" H 0 A_TakeInventory(\"IceVision\",1)\n\"----\" H 0\nGoto Spawn+2\nPain.MagnetMissile:\nPain.DiveMissile:\nPain.HomingSniper:\n\"----\" H 0\n\"----\" H 0\nGoto Pain+3\n//---->Status Effect Pain States Start<----\nPain.Poisonous:\n\"----\" H 0 //A_Jump(192,\"Pain\")\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,15)\n\"----\" H 0 A_jumpifinventory(\"PoisonProof\",1,5)\n\"----\" H 0 A_jumpifinventory(\"TempPoisonProof\",1,4)\n\"----\" H 0 A_jumpifinventory(\"PoisonMark\",1,3)\n\"----\" H 0 A_SpawnItemEX(\"PoisonWatcher\",1)\n\"----\" H 0 A_Playsoundex(\"support/Negative\",\"Soundslot7\")\n\"----\" H 0 A_Giveinventory(\"PoisonMark\")\n\"----\" H 0\n\"----\" H 0\nGoto Pain+1\nPain.Stinger:\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,1)\n\"----\" H 0 A_GiveInventory(\"PoisonCritCheck\",1)\n\"----\" H 0 A_jumpifinventory(\"PoisonProof\",1,9)\n\"----\" H 0 A_jumpifinventory(\"TempPoisonProof\",1,8)\n\"----\" H 0 A_jumpifinventory(\"PoisonMark\",1,7)\n\"----\" H 0 A_jumpifinventory(\"StingBuffer\",1,2)\n\"----\" H 0 A_SpawnItemEX(\"StingWatcher\",1)\n\"----\" H 0\n\"----\" H 0 A_Giveinventory(\"StingCount\")\n\"----\" H 0 A_Giveinventory(\"StingBuffer\")\n\"----\" H 0 A_jumpifinventory(\"StingCount\",5,\"StingerPoison\")\n\"----\" H 0\nGoto Pain+1\nStingerPoison:\n\"----\" H 0 A_SpawnItemEX(\"PoisonWatcher\",1)\n\"----\" H 0 A_Playsoundex(\"support/Negative\",\"Soundslot7\")\n\"----\" H 0 A_Giveinventory(\"PoisonMark\")\nGoto Pain+1\n\nPain.Burner:\nPain.Incendiary:\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,2)\n\"----\" H 0 //A_Jump(192,\"Pain\")\n\"----\" H 0 A_jumpifinventory(\"FireProof\",1,5)\n\"----\" H 0 A_jumpifinventory(\"TempFireProof\",1,4)\n\"----\" H 0 A_jumpifinventory(\"BurnMark\",1,2)\n\"----\" H 0 A_SpawnItemEX(\"BurnWatcher\",1)\n\"----\" H 0 A_Giveinventory(\"BurnMark\")\n\"----\" H 0\n\"----\" H 0 //A_GiveInventory(\"BurnerhitDelay\",1)\n\"----\" H 0\nGoto Pain+1\nPain.HotShot:\n\"----\" H 0 A_GiveInventory(\"PoisonCritCheck\",1)\n\"----\" H 0 A_jumpifinventory(\"FireProof\",1,9)\n\"----\" H 0 A_jumpifinventory(\"TempFireProof\",1,8)\n\"----\" H 0 A_jumpifinventory(\"BurnMark\",1,7)\n\"----\" H 0 A_jumpifinventory(\"ScorchBuffer\",1,2)\n\"----\" H 0 A_SpawnItemEX(\"ScorchWatcher\",1)\n\"----\" H 0\n\"----\" H 0 A_Giveinventory(\"ScorchCount\")\n\"----\" H 0 A_Giveinventory(\"ScorchBuffer\")\n\"----\" H 0 A_jumpifinventory(\"ScorchCount\",3,\"HotShotBurn\")\n\"----\" H 0\n\"----\" H 0 A_jumpifinventory(\"BurnMark\",1,2) //reapply burn if you have it already\nGoto Pain+1\n\"----\" H 0\n\"----\" H 0 A_Giveinventory(\"BurnMark\")\nGoto Pain+1\n\nHotShotBurn:\n\"----\" H 0 A_SpawnItemEX(\"BurnWatcher\",1)\n\"----\" H 0 A_Giveinventory(\"BurnMark\")\nGoto Pain+1\n\nPain.Freezer2:\n\"----\" H 0 A_jumpifinventory(\"TempFreezeProof\",1,\"NoFreeze\")\n\"----\" H 0 SetPlayerProperty(0,1,4)\n\"----\" H 0 Thing_SetTranslation(0, 105)\n\"----\" H 0 A_SpawnItemEx(\"FreezeHandler\")\n\"----\" H 0 A_GiveInventory(\"IceVision\",1)\n\"----\" H 30 A_Stop\n\"----\" H 30\n\"----\" H 0 SetPlayerProperty(0,0,0)\n\"----\" H 0 ACS_ExecuteAlways(998,0,1)\n\"----\" H 0 A_TakeInventory(\"IceVision\",1)\n\"----\" H 0 A_Giveinventory(\"TempFreezeProof\")\nGoto Spawn+2\nNoFreeze:\n\"----\" H 0\nPain.Freezer1:\n\"----\" H 0 //A_Jump(192,\"Pain\")\n\"----\" H 0 A_jumpifinventory(\"ChillProof\",1,5)\n\"----\" H 0 A_jumpifinventory(\"TempChillProof\",1,4)\n\"----\" H 0 A_jumpifinventory(\"ChilledMark\",1,2)\n\"----\" H 0 A_SpawnItemEX(\"ChillWatcher\",1)\n\"----\" H 0 A_Giveinventory(\"ChilledMark\")\n\"----\" H 0\n\"----\" H 0 //A_GiveInventory(\"BurnerhitDelay\",1)\n\"----\" H 0\nGoto Pain+1\n\nPain.Crisperizer:\n\"----\" H 0 A_GiveInventory(\"FireCritCheck\",1)\n\"----\" H 0\nGoto Pain+1\n\nPain.Tackle:\n\"----\" H 0 //A_GiveInventory(\"TackleHitDelay\",1)\n\"----\" H 0 ThrustThing(random(0,255),30,0,0)\n\"----\" H 0 ThrustThingZ(0,30,0,0)\n\"----\" H 0\nGoto Pain+1\n\n//---->Status Effect Pain States End<----\nPain.SingleShot: // regular shots\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,8)\nGoto Pain+1\nPain.SingleShot2: // rapid shot\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,1)\nGoto Pain+1\nPain.Sniper:\nPain.SingleShot3: //Hard single shots\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,15)\nGoto Pain+1\nPain.SpreadShot: //shotgun like shots\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,2)\nGoto Pain+1\nPain.SpreadShot2: //shotgun like shots, weaker knockback\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,1)\nGoto Pain+1\n\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"BeatCallCheck\", 1, \"BeatAssist\")\nGoto Pain+3\nBeatAssist:\n\"----\" H 0\n\"----\" H 0 HealThing(2)\n\"----\" H 0 ACS_ExecuteAlways(205,0)\nGoto Pain+3\nPain:\n\"----\" H 0\n\"----\" H 0//A_Recoil(1)\n\"----\" H 0 //ThrustThingZ(0,30,0,0)\n\"----\" H 0\n\"----\" H 0 A_Pain\n\"----\" H 0 A_GiveInventory(\"CritCheck\")\n\t\"----\" H 0 A_GiveInventory(\"HealStall_A\",1)\n\t\"----\" H 0 A_GiveInventory(\"HealStall_B\",1)\n\"----\" H 0 //A_JumpIfInventory(\"IveBeenHit\", 1, 2)\n\"----\" H 0 //A_GiveInventory(\"IveBeenHit\",1)\n\"----\" H 0\n\"----\" H 0 A_Jump(256,\"PainFix\")\ngoto PainFix\nPainFix:\n\"----\" H 0\ngoto PainFrames\nPainFrames:\n\"----\" H 0 //SetPlayerProperty(0,0,4)\n\"----\" HHHHHHHHH 2 A_SpawnItem(\"PainFX\",0,3)\n\"----\" H 0 //SetPlayerProperty(0,0,1)\n\"----\" H 0 A_ChangeFlag(\"ACTIVATEMCROSS\",0)\n\"----\" H 0 //SetPlayerProperty(0,0,4)\n\"----\" H 0 A_Jump(256,\"Spawn\")\ngoto Spawn+2\nDeath.FireSpinN:\nDeath.ETopSpin:\nDeath.TopSpin:\n\"----\" H 0\n\"----\" H 0 //A_GiveInventory(\"StaticBoardDeathFX\")\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0\n\"----\" H 1 A_GiveToTarget(\"KilledMe\",1)\n\"----\" H 19 ACS_ExecuteAlways(999,0,0)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_PlayerScream\n\"----\" H 0 A_PlaySoundEx(\"weapon/topspinwav\",\"SoundSlot5\")\n\"----\" HHHHHHHHHH 7 A_SetAngle(angle-72)\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\n\"----\" Z 0 //A_TakeInventory(\"OnBoard\",999)\n\"----\" Z 1 A_CheckPlayerDone\nwait\n//===\nDeath.WindStorm:\nDeath.GravityHold:\n\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_ChangeFlag(\"NOINTERACTION\", 1)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_TakeInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" H 0 A_Stop\n\"----\" H 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" H 1 A_GiveToTarget(\"KilledMe\",1)\n\"----\" H 0 ACS_ExecuteAlways(999,0,0)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\nRiseMyMegaman:\n\"----\" H 1 ThrustThingZ(0,10,0,1)\n\"----\" H 0 A_JumpIf(ceilingz-z<64, \"ExplodeNow\")\n\"----\" H 0 A_GiveInventory(\"Cutterflag\", 1)\n\"----\" H 0 A_JumpIfInventory(\"CutterFlag\", 35, \"ExplodeNow\")\nGoto RiseMyMegaman\nExplodeNow:\n\"----\" H 0 A_Stop\n\"----\" H 0 A_PlayerScream\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 0)\n\"----\" Z 2 //A_GiveInventory(\"IveBeenHit\",1)\n\"----\" Z 1 A_CheckPlayerDone\nwait\nDeath.HyperBomb:\nDeath.SuperBomb:\nDeath.SuperBombRED:\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_ChangeFlag(\"NOINTERACTION\", 1)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_TakeInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" H 0 A_Stop\n\"----\" H 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" H 1 A_GiveToTarget(\"KilledMe\",1)\n\"----\" H 0 ACS_ExecuteAlways(999,0,0)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\nDeathLaunch:\n\"----\" H 1 ThrustThingZ(0,100,0,1)\nDeathFall:\n\"----\" H 1 ThrustThingZ(0,-10,0,1)\n\"----\" H 1 A_JumpIf(z-floorz<=0, \"ExplodeNow\")\n\"----\" H 0 A_GiveInventory(\"Cutterflag\", 1)\n\"----\" H 0 A_JumpIfInventory(\"CutterFlag\", 35, \"ExplodeNow\")\ngoto DeathFall\n\nDeath.Crisperizer:\n\"----\" H 0 A_GiveInventory(\"FireCritCheck\",1)\nGoto Death\nDeath:\n\"----\" H 0\n\"----\" H 1\n\"----\" H 0 //A_GiveInventory(\"IveBeenHit\",1)\n\"----\" H 0 A_GiveInventory(\"CritCheck\")\n\"----\" H 0 //A_GiveInventory(\"StaticBoardDeathFX\")\n//\"----\" H 1 A_KillChildren(KILS_KILLMISSILES)\n//\"----\" H 0 A_RemoveChildren(True)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" H 0 A_Stop\n\"----\" H 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" H 1 A_GiveToTarget(\"KilledMe\",1)\n\"----\" Z 0 A_GiveToTarget(\"GotKill\",1)\n\"----\" H 1 ACS_ExecuteAlways(999,0,0) //19\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_PlayerScream\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nPLAY Z 1 A_CheckPlayerDone\nwait\nDeath.Falling:\n\"----\" H 1\n\"----\" H 0 //A_GiveInventory(\"IveBeenHit\",1)\n//\"----\" H 1 A_KillChildren(KILS_KILLMISSILES)\n//\"----\" H 0 A_RemoveChildren(True)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" H 0 //A_GiveInventory(\"StaticBoardDeathFX\")\n\"----\" Z 1 A_PlayerScream\n\"----\" Z 1 A_Stop\n\"----\" Z 0 //A_TakeInventory(\"OnBoard\",999)\n\"----\" Z 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" Z 0 A_GiveToTarget(\"KilledMe\",1)\n\"----\" Z 0 A_GiveToTarget(\"GotKill\",1)\n\"----\" Z 1 ACS_ExecuteAlways(999,0,0)\nPLAY Z 1 A_CheckPlayerDone\nwait\n/*\nDeath.LooseCannonExpl:\nDeath.LooseCannonExplRED:\n\"----\" H 0\n\"----\" H 1 A_Jumpifinventory(\"DonkCheck\",1,1)\nGoto Death.Explosion//\"----\" H 0 //A_Jump (256, \"Death.Explosion\")  //Gotta do this instead of [Goto Death], won't look right otherwise\n\"----\" H 0 A_SpawnitemEx(\"DoubleDonkIcon\",0,0,10,0,0,2)\n\"----\" H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")  //got double donked to Death!\n*/\nDeath.SteamMissile:  //Death VIA Explosives\nDeath.SteamMissileRED:\nDeath.SuperNapalm:\nDeath.SuperNapalmRED:\nDeath.TorsoMissile:\nDeath.TorsoMissileRED:\nDeath.PosieMissile:\nDeath.PosieMissileRED:\nDeath.Explosion:\nDeath.ExplosionRED:\n\"----\" H 1\n\"----\" H 0 //A_GiveInventory(\"IveBeenHit\",1)\n\"----\" H 1 A_KillChildren(KILS_KILLMISSILES)\n\"----\" H 0 A_RemoveChildren(True)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" H 0 //A_GiveInventory(\"StaticBoardDeathFX\")\n\"----\" Z 1 //A_PlayerScream\n\"----\" Z 1 A_SpawnItemEx(\"ExplodeDeathFX\", 0, 0, 32)\n\"----\" Z 1 A_Stop\n\"----\" Z 0 //A_TakeInventory(\"OnBoard\",999)\n\"----\" Z 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" Z 0 A_GiveToTarget(\"GotKill\",1)\n\"----\" Z 0 A_GiveToTarget(\"KilledMe\",1)\n\"----\" Z 2 ACS_ExecuteAlways(999,0,0)\nPLAY Z 1 A_CheckPlayerDone\nwait\n\nDeath.Freezer1:  //Death VIA Backstab\nDeath.Freezer2:\nIce:\n\"----\" H 1 A_KillChildren(KILS_KILLMISSILES)\n\"----\" H 0 A_RemoveChildren(True)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" Z 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" Z 0 A_GiveToTarget(\"KilledMe\",1)\n\"----\" Z 0 A_GiveToTarget(\"GotKill\",1)\n//\"----\" H 1 A_PlayerScream\n\"----\" H 0 Thing_SetTranslation(0, 105)//ACS_ExecuteAlways(998,0,105,1)\n\"----\" H 0 A_NoBlocking\n//\"----\" H 0 Thing_SetTranslation(17, 4)\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 Thing_SetTranslation(0, 105)\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 Thing_SetTranslation(0, 105)\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 Thing_SetTranslation(0, 105)\n//\"----\" H 0 A_SpawnItemEx(\"IceDeathStatueFX1\", 0, 0, 0,0,0,0,0,0)\nPLAY Z 1 A_CheckPlayerDone\nwait\n/*\nEnkerRaise:\n\"----\" Y 1\nLoop\nEnkerAbsorb:\n\"----\" Y 0 A_PlaySound(\"weapon/mirrorabsorb\")\n\"----\" Y 0 A_GiveInventory(\"EnkerMirrorCount\",1)\ngoto EnkerAbsorb3\nEnkerAbsorb3:\n\"----\" Y 3 ACS_ExecuteAlways(998,0,65)\n\"----\" Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb2\")\ngoto Spawn\nEnkerAbsorb2:\n\"----\" Y 3 ACS_ExecuteAlways(998,0,66)\n\"----\" Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb3\")\ngoto Spawn\n*/\nTheEnd:\n\"----\" G 4\nloop\nCreditWalk:\n\"----\" BCDE 8\nloop\nCreditRun:\n\"----\" BCDE 5\nloop\n}\n}\n\n//[+]========================================================================[+]\n//------------------------------|Class Actors|--------------------------------\n//[+]========================================================================[+]\n//\n//[+]========================================================================[+]\n//[+]========================================================================[+]\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//----------------------|Healing Related Actors|--------------------------------\n//[+]========================================================================[+]\nactor HealStall_A : powerup {Inventory.amount 1 powerup.duration -5}\nactor HealStall_B : powerup {Inventory.amount 1 powerup.duration -2}\n\nactor DetoxLevel : inventory {Inventory.amount 1 Inventory.Maxamount 100}\n\n//[+]========================================================================[+]\n//------------------------|Status Effect Actors|--------------------------------\n//[+]========================================================================[+]\n\n//[+]=========================[+]\n//----------|Poison|-------------\n//[+]=========================[+]\nactor PoisonWatcher //: CustomInventory\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\nReactiontime 5\nObituary \"%o succumed to %k's Burning\"\nvar int user_OwnerTID;\nvar int user_LoopCount;\nvar int user_TickDamage;\nStates\n{\nSpawn:\nTNT1 A 0\n// Sow e start by making this actor immediately set it's master to the spawner's target (last person to damage them)\n// and then we set them to our tracer pointer.\nTNT1 A 0 A_GiveToTarget(\"PoisonCritAble\",1)\nLASH A 0 A_Setuservar(\"user_OwnerTID\",ACS_ExecuteWithResult(257,0))\nLASH A 0 A_Setuservar(\"user_TickDamage\",4) //ACS_ExecuteWithResult(GetTargValueHPPerc,6)\nLASH A 0 A_TransferPointer(AAPTR_TARGET,AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_MASTER,PTROP_NOSAFEGUARDS)\nLASH A 0 A_ReArrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_TARGET)\nSpawn2:\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\nTNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\n//TNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\nTNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\n//TNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\nTNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\n\nTNT1 A 0 A_SetuserVar(\"user_LoopCount\", user_LoopCount+1)\nTNT1 A 0 A_Jumpif( user_LoopCount <= 7,\"Spawn2\")\nTNT1 A 0 A_SetuserVar(\"user_LoopCount\", 0)\n\n// when we deal tick damage, we set the target to our master (the person responsible for inflicting the dot) and use this script\n// to make them deal tick damage to the victim directly.\nLASH A 0 A_ReArrangePointers(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_DEFAULT)\nLASH A 0  ACS_NamedExecuteAlways(\"DotDamager\", 0,user_TickDamage,user_OwnerTID) //DOT Script\nLASH A 1 // this delay is important, otherwise it becomes a suicide\nLASH A 0 A_ReArrangePointers(AAPTR_TRACER,AAPTR_DEFAULT,AAPTR_DEFAULT)\n//now we set the target back to the spawner to keep the burn effect on them.\n//TNT1 A 0 A_GiveToTarget(\"BurnedDamage\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"PoisonMark\",1,\"Spawn2\")\nstop\nDetox:\nTNT1 A 1 A_GiveToTarget(\"DetoxCureEffect\",1)\nDeath:\nDeathTake:\nTNT1 A 0\nTNT1 A 1 A_TakefromTarget(\"PoisonMark\",999)\nTNT1 A 1 A_TakefromTarget(\"PoisonCritAble\",999)\nTNT1 A 1 A_TakefromTarget(\"DetoxLevel\",999)\nstop\n}\n}\n\nactor StatusNummer : PowerProtection // for DOTs\n{\ninventory.amount 1\ninventory.maxamount 1\n+NOPAIN\nPowerup.Duration 1\n}\n\nactor PoisonedFX1  //These are decorative.\n{\nPROJECTILE\n+NOINTERACTION\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 0.7\nRenderStyle \"Translucent\"\nAlpha 0.9\nStates\n{\nSpawn:\nWAVB GGGGG 2\nWAVB H 3 A_Stop\nstop\n}\n}\n\nactor PoisonedEffect : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 //SetPlayerProperty(0,1,4)\nTNT1 A 0 A_SpawnItemEx(\"PoisonedFX1\",random(-24,24),random(-32,32),random(30,34),0,0,Random(1,4))\nTNT1 A 0 //SetPlayerProperty(0,1,4)\nstop\n}\n}\n\nactor PoisonMark : PowerProtection\n{\npowerup.duration -15\nDamageFactor \"Stinger\" , 3.0\nPowerup.Color Green, 0.3\n}\n\nactor PoisonStackDelay : powerup\n{powerup.duration 5}\n\nactor DetoxFX1 : FXActor_A\n{\nTranslation \"4:4=106:106\", \"196:196=112:112\"\nreactiontime 1\nscale 1.5\nAlpha 0.8\nStates\n{\nSpawn:\nTNT1 A 0\nICMS ABCDDDEEF 2\nstop\n}\n}\n\nactor DetoxFX2 : DetoxFX1\n{\nTranslation \"4:4=137:137\", \"196:196=105:105\"\n}\n\nactor DetoxFX3 : DetoxFX1\n{\nTranslation \"4:4=96:96\", \"196:196=203:203\"\n}\n\nactor DetoxEfectSpawn : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBUST C 0 A_Jumpifinventory(\"DetoxLevel\",66,\"Effect3\")\nBUST C 0 A_Jumpifinventory(\"DetoxLevel\",33,\"Effect2\")\nTNT1 AA 1 A_SpawnItemEx(\"DetoxFX1\",random(-24,24),random(-32,32),random(40,44),0,0,Random(1,3))\nstop\nEffect2:\nTNT1 AA 1 A_SpawnItemEx(\"DetoxFX2\",random(-24,24),random(-32,32),random(40,44),0,0,Random(1,3))\nTNT1 A 0\nstop\nEffect3:\nTNT1 AA 1 A_SpawnItemEx(\"DetoxFX3\",random(-24,24),random(-32,32),random(40,44),0,0,Random(1,3))\nTNT1 A 0\nstop\n}\n}\n\nactor DetoxCureEffect : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBUST C 0\nTNT1 A 0 A_PlaySoundEx(\"Support/Heal1\", \"SoundSlot5\",0)\nCENF AAAA 0 A_SpawnItemEx(\"CentaurFlashFX\", 0, 0, 28, 256/32, 256/32, random2(256/32), random(0, 359))\nCENF AAAA 0 A_SpawnItemEx(\"DetoxFX3\", 0, 0, 28, 256/32, 256/32, random2(256/32), random(0, 359))\nTNT1 A 0\nstop\n}\n}\n//[+]=========================[+]\n//--------|Burning|------------\n//[+]=========================[+]\nactor BurnWatcher //: CustomInventory\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\nReactiontime 5\nObituary \"%o succumed to %k's Burning\"\nvar int user_OwnerTID;\nvar int user_TickDamage;\nvar int user_LoopCount;\nStates\n{\nSpawn:\nTNT1 A 0\n// Sow e start by making this actor immediately set it's master to the spawner's target (last person to damage them)\n// and then we set them to our tracer pointer.\nTNT1 A 0 A_GiveToTarget(\"FireCritAble\",1)\nLASH A 0 A_Setuservar(\"user_OwnerTID\",ACS_ExecuteWithResult(257,0))\nLASH A 0 A_TransferPointer(AAPTR_TARGET,AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_MASTER,PTROP_NOSAFEGUARDS)\nLASH A 0 A_ReArrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_TARGET)\nSpawn2:\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\nTNT1 A 0 A_GiveToTarget(\"BurnedEffect\",1)\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\nTNT1 A 0 A_GiveToTarget(\"BurnedEffect\",1)\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\nTNT1 A 0 A_GiveToTarget(\"BurnedEffect\",1)\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\nTNT1 A 0 A_GiveToTarget(\"BurnedEffect\",1)\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\n\nTNT1 A 0 A_SetuserVar(\"user_LoopCount\", user_LoopCount+1)\nTNT1 A 0 A_Jumpif( user_LoopCount <= 2,\"Spawn2\")\nTNT1 A 0 A_SetuserVar(\"user_LoopCount\", 0)\n\n// when we deal tick damage, we set the target to our master (the person responsible for inflicting the dot) and use this script\n// to make them deal tick damage to the victim directly.\nLASH A 0 A_ReArrangePointers(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_DEFAULT)\nLASH A 0  ACS_NamedExecuteAlways(\"DotDamager\", 0,3,user_OwnerTID) //DOT Script\nLASH A 1 // this delay is important, otherwise it becomes a suicide\nLASH A 0 A_ReArrangePointers(AAPTR_TRACER,AAPTR_DEFAULT,AAPTR_DEFAULT)\n//now we set the target back to the spawner to keep the burn effect on them.\n//TNT1 A 0 A_GiveToTarget(\"BurnedDamage\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"BurnMark\",1,\"Spawn2\")\nTNT1 A 1 A_TakefromTarget(\"FireCritAble\",999)\nstop\nDeath:\nDeathTake:\nTNT1 A 0\nTNT1 A 1 A_TakefromTarget(\"BurnMark\",999)\nTNT1 A 1 A_TakefromTarget(\"FireCritAble\",999)\nstop\n}\n}\n\nactor BurnedEffect : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 //SetPlayerProperty(0,1,4)\nTNT1 A 0 A_SpawnItemEx(\"BurnedFX1\",random(-24,24),random(-32,32),random(1,32))\nTNT1 A 0 //SetPlayerProperty(0,1,4)\nstop\n}\n}\n\nactor BurnMark : PowerProtection\n{\npowerup.duration 80\nDamagefactor \"Crisperizer\" , 3.0\nPowerup.Color Red, 0.3\n}\n\nactor BurnStackDelay : powerup\n{powerup.duration 5}\n\nactor BurnedFX1  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 1\nRenderStyle \"Add\"\nAlpha 0.5\nStates\n{\nSpawn:\nBRNF AABBCCDDEEFGH 1\nDeath:\nTNT1 A 1\nstop\n}\n}\n//[+]========================================================================[+]\n//------------------------|Miscellaneous Actors|--------------------------------\n//[+]========================================================================[+]\n\nactor ExplodeDeathFX  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 5\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/drillexplode\", \"Body\")\nTNT1 AAAAA 2 A_SpawnitemEX(\"ExplodeDeathFX1\",Random(-80,80),Random(-80,80),Random(0,40))\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor ExplodeDeathFX1  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 2\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\nASEX ABCDEF 1\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor KilledMeflag : KilledMe Replaces KilledMe\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nTNT1 A 1 ACS_ExecuteAlways(203,0)\nTNT1 A 1 A_GiveInventory(\"GotKill\")\nstop\n}\n}\n\nactor GotKill : Powerup\n{\ninventory.amount 1\nPowerup.Duration 10\n}\n\nactor IceDeathStatueFX1  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 2\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\n\"----\" H 100\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor HitSound : CustomInventory  //stops the jump\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 //A_PlaySoundEx(\"Misc/gravitywarn\", \"SoundSlot5\",0,-1)\nstop\n}\n}\n\nactor DeathFX1N : DeathFX1 replaces DeathFX1\n{\nheight 1\nradius 1\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\n+DONTBLAST\nscale 2.5\nPROJECTILE\nSpeed 15\nreactiontime 3\nStates\n{\nSpawn:\nMMFX BCDE 2\nMMFX A 0 A_CountDown\nloop\n}\n}\n\nactor DeathFX2N : DeathFX1N replaces DeathFX2\n{\nspeed 5\n}\n//[+]========================================================================[+]\n//------------------------------|Primary Weapon|--------------------------------\n//[+]========================================================================[+]\n//\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//--------------------------------|Special Actors|------------------------------\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]"
      },
      {
        "source": "pk3",
        "name": "Actors/Classes/CoronditeClass.txt",
        "contents": "Actor CoronditeClass : CoronditeBase replaces Megaman\n{\nHealth 250\nPlayer.MaxHealth 250\nPlayer.DisplayName \"megaman\"\nPlayer.SoundClass \"megaman\"\nPlayer.JumpZ 10\n//Player.ScoreIcon \"botskil2.png\"\nPlayer.ForwardMove 0.9, 0.9\nPlayer.SideMove 0.86, 0.86\n\nPlayer.StartItem \"HealthNumber\"\nPlayer.StartItem \"ReloadItem\"\nStates\n{\nSpawn:\nPLY1 A 0\nPLY1 B 1\nPLY1 A 1\nGoTo Spawn+2\nSee:\nPLY1 BCDE 5\nGoTo Spawn+1\nMissile:\nPLY1 F 5\nPLY1 G 4\nGoTo Spawn+2\nPainFix:\nPLY1 H 0\nGoTo PainFrames\n}\n}\n\nactor MedicRegenStarter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_Spawnitemex(\"MedicRegenWatcher\")\nTNT1 A 0 A_GiveInventory(\"HealEffectSpawn\")\n\nTNT1 A 0\nstop\nNope:\n//BUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\nActor MedicRegenWatcher\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\n+NOTARGETSWITCH\nReactiontime 7\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 35\nTNT1 A 0 A_Jumpifintargetinventory(\"BurnMark\",1,2)\nTNT1 A 0 A_GiveToTarget(\"Health\",3)\nTNT1 A 0\nTNT1 A 0 A_Jumpifintargetinventory(\"isdead\",1,\"Death\")\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-00_BusterGun.txt",
        "contents": "/*=============================\nA staple for many Corondian interstellar travelers, the bustergun has been one of\nthe first weapons produced by neumodian enterprises, and still one of our\ntop selling weapons to this day. the Buster gun is a highly flexible, corondian sized\nweapon with just the perfect balance of speed and power.\n\n*///===========================\n\nactor BusterGun : WepMasterBase\n{\nTag \"Buster Gun\"\nWeapon.AmmoUse 0\nWeapon.AmmoGive 20\nscale 2.0\nObituary \"$OB_BUSTERGUN\"\ninventory.icon \"BSTRI\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"BusterGunClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUSR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nBUST B 0\nRedReady:\n\"####\" B 0 A_Jumpifinventory(\"OverHeatFlag_A\",1,\"OverHeatReady\")\n\"####\" B 1 A_WeaponReady\n\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\"####\" B 0 A_Jumpifinventory(\"BusterGunClip\",1,\"Ready\")\nGoto Reload\n\nOverHeatReady:\n\"####\" B 1 A_WeaponReady(WRF_NOPRIMARY)\nGoto Ready\n//===============\nDeselect:\nTNT1 A 0 A_TakeInventory(\"NoClipBar\",9)\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 A 0 A_GiveInventory(\"NoClipBar\")\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/HardBuster4\",\"Weapon\")\n\"####\" B 0 A_Jumpifinventory(\"FTHBuffer\",1,\"Fire2\")\n\n\"####\" B 0 A_GiveInventory(\"BusterGunShooter\")\n\"####\" B 0 A_GiveInventory(\"FTHBuffer\")\n\"####\" B 0 A_GiveInventory(\"HeatCoolDelay\")\n\"####\" B 0 A_GiveInventory(\"WeaponHeat_A\",6)\n\n\"####\" B 0 A_Jumpifinventory(\"WeaponHeat_A\",100,\"OverHeatStart\")\n\n\"####\" CD 1 A_WeaponReady(WRF_NOPRIMARY)\nGoto Hold\n\nFire2:\n\t\"####\" B 0 A_Jumpifinventory(\"WepBloomItem\",12,2)\n\t\"####\" B 0 A_Giveinventory(\"WepBloomItem\",3)\n\t\"####\" B 0\n\"####\" B 0 A_GiveInventory(\"BusterGunShooter2\")\n\"####\" B 0 A_GiveInventory(\"FTHBuffer\")\n\"####\" B 0 A_GiveInventory(\"HeatCoolDelay\")\n\"####\" B 0 A_GiveInventory(\"WeaponHeat_A\",14)\n\"####\" B 0 A_Jumpifinventory(\"WeaponHeat_A\",100,\"OverHeatStart\")\n\"####\" CD 1 A_WeaponReady(WRF_NOPRIMARY)\nGoto Hold\nHold:\n\"####\" B 1\n\"####\" C 0 A_REfire\ngoto Ready\n\nOverHeatStart:\n\"####\" B 0 A_PlaySoundEx(\"weapon/MagnetMissile\",\"Weapon\")\n\"####\" B 0 A_GiveInventory(\"OverHeatFlag_A\")\nGoto OverHeatReady\n\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"BusterGunClip\",1,\"Ready\")\nReload:\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 22\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 0 A_Giveinventory(\"BusterGunClip\",20)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor BusterGun2 : BusterGun\n{Weapon.slotnumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor BusterGunClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nActor FTHBuffer : Powerup {inventory.amount 1 inventory.maxamount 1 powerup.duration 8}\nActor HeatCoolDelay : Powerup {inventory.amount 1 inventory.maxamount 1 powerup.duration 9}\n\nactor WeaponHeat_A : inventory\n{\ninventory.amount 1\ninventory.maxamount 100\n}\n\nactor OverHeatFlag_A : inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor BusterGunShot : fastProjectileBase\n{\nObituary \"$OB_BUSTERGUN\"\nDamageType \"SingleShot\"\nSpeed 10\nDamage (30 + ACS_ExecuteWithResult(DamageRate,10,Range2,6))\nradius 3\n\nMissileHeight 16\nheight 3\nscale 1.0\nVar Int User_TrailCount;\nVar Int User_TP; //TrailPosition\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0  //A_Changevelocity(0,random(-4,4),random(-4,4),CVF_RELATIVE)\nTNT1 A 0\nTNT1 AA 1 ACS_NamedExecuteAlways(\"PitchMatch\",0)\nTNT1 A 0 A_scalevelocity(18.5)\nGoto Spawn2\nSpawn2:\n//TNT1 A 0 A_SetUserVar(\"User_TP\",5*User_TrailCount)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-5,0,(sin(pitch)*5),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-10,0,(sin(pitch)*10),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-15,0,(sin(pitch)*15),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-20,0,(sin(pitch)*20),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-25,0,(sin(pitch)*25),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-30,0,(sin(pitch)*30),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-35,0,(sin(pitch)*35),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-40,0,(sin(pitch)*40),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-45,0,(sin(pitch)*45),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-50,0,(sin(pitch)*50),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-55,0,(sin(pitch)*55),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"BustergunTrail\",cos(pitch)*-60,0,(sin(pitch)*60),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SetUserVar(\"User_TrailCount\",User_TrailCount+1)\n//TNT1 A 0 A_Jumpif(User_TrailCount >= 15,\"Spawn3\")\n//Goto Spawn2\nSpawn3:\nTNT1 A 0 A_SetUserVar(\"User_TrailCount\",1)\nTNT1 A 1\nGoto Spawn2\nDeath:\nTNT1 A 1 A_Spawnitemex(\"BustergunPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\n\tactor BusterGunShot_BLUE : BusterGunShot\n\t{//MissileType \"BustergunTrail\"\n\t}\n\n\tactor BusterGunShot_RED : BusterGunShot\n\t{//MissileType \"BustergunTrail_RED\"\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\", \"241:241=191:191\"\n\t}\n\nactor BusterGunShot2 : BusterGunShot{Damage(10 + ACS_ExecuteWithResult(DamageRate,10,Range2,6))}\n\n\tactor BusterGunShot2_BLUE : BusterGunShot2\n\t{//MissileType \"BustergunTrail\"\n\t}\n\n\tactor BusterGunShot2_RED : BusterGunShot2\n\t{//MissileType \"BustergunTrail_RED\"\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\", \"241:241=191:191\"\n\t}\n//[+]========================================================================[+]\n//--------------------------------|Effect Actors|------------------------------\n//[+]========================================================================[+]\nactor BustergunPuff1 : FXActor_A\n{\nscale 2\nStates\n{\nSpawn:\nBIM1 AABCDEF 1\nstop\n}\n}\n\nactor BustergunTrail : FXActor_B\n{\nscale 0.8\nAlpha 0.9\nStates\n{\nSpawn:\nCRBM A 0\nBSTG A 2\n//BSTG AAAAA 1 A_Fadeout\nstop\n}\n}\n\nactor BustergunTrail_RED : BustergunTrail\n{translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\", \"241:241=191:191\"}\n//[+]========================================================================[+]\n//--------------------------------|Utility Actors|------------------------------\n//[+]========================================================================[+]\nactor HeatManager : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_Jumpifinventory(\"BusterGun\",1,\"BusterGunHeat\")\nTNT1 A 0 A_Jumpifinventory(\"BusterGun2\",1,\"BusterGunHeat\")\nTNT1 A 0 A_Jumpifinventory(\"Basher\",1,\"BasherHeat\")\nTNT1 A 0 A_Jumpifinventory(\"Basher2\",1,\"BasherHeat\")\nstop\nBusterGunHeat:\nTNT1 A 0 A_Spawnitemex(\"HeatDrainer_A\")\nTNT1 A 0 A_Jumpifinventory(\"Basher\",1,\"BasherHeat\")\nTNT1 A 0 A_Jumpifinventory(\"Basher2\",1,\"BasherHeat\")\nstop\nBasherHeat:\nTNT1 A 0 A_Spawnitemex(\"HeatDrainer_B\")\nstop\nNope:\nBUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\nactor HeatDrainer_A : WatcherBase // Coolers are a type of watcher actor that handle weapon cooldowns\n{\nStates\n{\nSpawn:\nTNT1 A 0 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"Death\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"OverHeatFlag_A\",1,\"OverHeated\")\nTNT1 A 1\nTNT1 A 0 A_JumpIfInTargetInventory(\"HeatCoolDelay\",1,\"Spawn\")\nTNT1 A 0 A_TakeFromTarget(\"WeaponHeat_A\",7)\nTNT1 A 0 A_TakeFromTarget(\"WepBloomItem\",1)\nloop\n\nOverHeated:\nTNT1 A 3\nTNT1 A 0 A_TakeFromTarget(\"WeaponHeat_A\",5)\nTNT1 A 0 A_JumpIfInTargetInventory(\"WeaponHeat_A\",1,\"OverHeated\")\nGoto Cooled\n\nCooled:\nTNT1 A 0 A_TakeFromTarget(\"OverHeatFlag_A\",9)\nTNT1 A 0 A_TakeFromTarget(\"WepBloomItem\",99)\nGoto Spawn\n\nDeath:\nDeathTake:\nTNT1 A 0\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\nactor BusterGunShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"BusterGunShot\",0,1,4,4)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"BusterGunShot_RED\",0,1,4,4)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"BusterGunShot_BLUE\",0,1,4,4)\nTNT1 A 1\nstop\n}\n}\n\n/*\nactor BusterGunShooter2 : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"BusterGunShot\",random(-BGUN_S,BGUN_S),1,4,4,0,random(-BGUN_S,BGUN_S))\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"BusterGunShot_RED\",random(-BGUN_S,BGUN_S),1,4,4,0,random(-BGUN_S,BGUN_S))\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"BusterGunShot_BLUE\",random(-BGUN_S,BGUN_S),1,4,4,0,random(-BGUN_S,BGUN_S))\nTNT1 A 1\nstop\n}\n}\n*/\nactor BusterGunShooter2 : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"BusterGunShot2\",fRandom(-(ACS_Executewithresult(WepBloomStat)*BGUN_S),(ACS_Executewithresult(WepBloomStat)*BGUN_S)),1,4,4,0,fRandom(-(ACS_Executewithresult(WepBloomStat)*BGUN_S),(ACS_Executewithresult(WepBloomStat)*BGUN_S)))\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"BusterGunShot2_RED\",fRandom(-(ACS_Executewithresult(WepBloomStat)*BGUN_S),(ACS_Executewithresult(WepBloomStat)*BGUN_S)),1,4,4,0,fRandom(-(ACS_Executewithresult(WepBloomStat)*BGUN_S),(ACS_Executewithresult(WepBloomStat)*BGUN_S)))\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"BusterGunShot2_BLUE\",fRandom(-(ACS_Executewithresult(WepBloomStat)*BGUN_S),(ACS_Executewithresult(WepBloomStat)*BGUN_S)),1,4,4,0,fRandom(-(ACS_Executewithresult(WepBloomStat)*BGUN_S),(ACS_Executewithresult(WepBloomStat)*BGUN_S)))\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-01_Blitzer.txt",
        "contents": "/*=============================\nLaunching a Scatter of energy shots, the blitzer is a weapon made for up close\nand personal affairs. and with it's cycling reload it's almost always ready to\nfire! the blitzer makes a great choice for any aggressive kit.\n\n*///===========================\n\nactor Blitzer : WepMasterBase\n{\nTag \"Blitzer\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 5\n\nscale 2.0\nObituary \"$OB_BLITZER\"\ninventory.icon \"BLITI\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"BlitzerClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nloop\nReady:\nBS2R B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nBS2B B 0\nRedReady:\n\"####\" B 1 A_WeaponReady\n\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n//\"####\" B 0 A_Jumpifinventory(\"CycleReloadDelay\",1,\"Ready\")\n\"####\" B 0 A_Jumpifinventory(\"BlitzerClip\",1,\"Ready\")\nGoto Reload\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\n\"####\" B 0 A_GiveInventory(\"CycleReloadDelay\")\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 Offset(0,32)\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/HardBuster1\",\"Weapon\")\n\"####\" CD 2 //A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)\n\"####\" B 0 A_GiveInventory(\"BlitzerShooter\")\n\"####\" DC 2 //A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)\n\n\"####\" B 4 //A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)\n//\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 2 Offset(0,32)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,58)\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,32)\n\n\"####\" B 2  A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)\n//\"####\" B 0 A_GiveInventory(\"CycleReloadDelay\")\n\"####\" B 0 A_Refire\n// ===22 frames===\ngoto Ready\n\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"BlitzerClip\",1,\"Ready\")\nReload:\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 A_Jumpifinventory(\"BlitzerClip\",1,\"Reload2\")\n\"####\" B 14 A_WeaponReady(WRF_NOBOB|WRF_NOPRIMARY)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"BlitzerClip\",1)\n\"####\" B 14 A_WeaponReady(WRF_NOBOB|WRF_NOPRIMARY)\n\"####\" B 1 A_WeaponReady(WRF_NOBOB)\ngoto Reloadloop\nReload2:\n\"####\" B 14 A_WeaponReady(WRF_NOBOB)\ngoto Reloadloop\nReloadloop:\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"BlitzerClip\",1)\n\"####\" B 0 A_Jumpifinventory(\"BlitzerClip\",5,\"ReloadLoopEnd\")\n\"####\" B 0 A_Jumpifinventory(\"BlitzerClip\",1,3)\n\"####\" B 8 Offset(0,82)\n\"####\" B 2 A_WeaponReady(WRF_NOBOB)\nGoto Reloadloop\n\"####\" B 14 A_WeaponReady(WRF_NOBOB)\nGoto Reloadloop\nReloadLoopEnd:\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 1\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor Blitzer2 : Blitzer\n{Weapon.slotnumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor BlitzerClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 5\n}\n\nActor CycleReloadDelay : Powerup {inventory.amount 1 inventory.maxamount 1 powerup.duration 17}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\n\nactor BlitzerPellet : LinearBullet2\n{\nObituary \"$OB_BLITZER\"\nDamageType \"SpreadShot\"\n\nSpeed 150\nDamage (9 + ACS_ExecuteWithResult(DamageRate,4,Range1,35))\nradius 6\nheight 6\n}\n\n\tactor BlitzerPellet_BLUE : BlitzerPellet\n\t{\n\t//Missiletype \"RepidifierTrail_BLUE\"\n\t}\n\n\tactor BlitzerPellet_RED : BlitzerPellet\n\t{\n\t//Missiletype \"RepidifierTrail_RED\"\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"\n\t}\n//[+]========================================================================[+]\n//--------------------------------|effect Actors|------------------------------\n//[+]========================================================================[+]\nactor BlitzerPuff : FXActor_A\n{\nscale 0.5\nStates\n{\nSpawn:\nBIM1 AABCDEF 1\nstop\n}\n}\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\n\nactor BlitzerShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet\",0,2,0,8)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet\",S_SprAng,0,0,8,0,0)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet\",S_SprD_Ang,0,0,8,0,S_SprD_Ang)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet\",0,0,0,8,0,S_SprAng)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet\",S_SprD_Ang,0,0,8,0,S_SprD_AngRev)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet\",S_SprAngRev,0,0,8,0,0)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet\",S_SprD_AngRev,0,0,8,0,S_SprD_AngRev)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet\",0,0,0,8,0,S_SprAngRev)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet\",S_SprD_AngRev,0,0,0,0,S_SprD_Ang)\nstop\nTeamRedFire:\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_RED\",0,2,0,0)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_RED\",S_SprAng,0,0,8,0,0)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_RED\",S_SprD_Ang,0,0,8,0,S_SprD_Ang)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_RED\",0,0,0,8,0,S_SprAng)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_RED\",S_SprD_Ang,0,0,8,0,S_SprD_AngRev)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_RED\",S_SprAngRev,0,0,8,0,0)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_RED\",S_SprD_AngRev,0,0,8,0,S_SprD_AngRev)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_RED\",0,0,0,8,0,S_SprAngRev)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_RED\",S_SprD_AngRev,0,0,8,0,S_SprD_Ang)\nTNT1 A 0\nstop\nTeamBlueFire:\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_BLUE\",0,2,0,0)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_BLUE\",S_SprAng,0,0,8,0,0)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_BLUE\",S_SprD_Ang,0,0,8,0,S_SprD_Ang)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_BLUE\",0,0,0,8,0,S_SprAng)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_BLUE\",S_SprD_Ang,0,0,8,0,S_SprD_AngRev)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_BLUE\",S_SprAngRev,0,0,8,0,0)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_BLUE\",S_SprD_AngRev,0,0,8,0,S_SprD_AngRev)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_BLUE\",0,0,0,8,0,S_SprAngRev)\nBUST B 0 A_FireCustomMissile(\"BlitzerPellet_BLUE\",S_SprD_AngRev,0,0,8,0,S_SprD_Ang)\nTNT1 A 0\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-02_Repidifier.txt",
        "contents": "/*=============================\nthought oddly named, this compact and lightweight machine gun is\nthe perfect backup weapon. what it lacks in punch it makes up in\nconsistensy, with it's large ammo pool and fast rate of fire, you\ncan keep the heat on any foe, even from a distance!\n*///===========================\n\nactor Repidifier : WepMasterBase\n{\nTag \"Repidifier\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 45\n\nObituary \"$OB_REPIDIFIER\"\ninventory.icon \"REPII\"\nscale 2.0\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"RepidifierClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nVar int User_Spread;\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nPIDR A 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nPIDB A 0\nRedReady:\n\"####\" A 1 A_WeaponReady\n\"####\" A 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\"####\" A 0 A_Jumpifinventory(\"RepidifierClip\",1,\"Ready\")\nGoto Reload\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" A 1 A_Raise\nLoop\nFire:\n\"####\" A 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" A 0 A_PlaySoundEx(\"weapon/Rapidbuster\",\"Weapon\")\n\"####\" A 0 A_GiveInventory(\"RepidifierShooter\")\n//\t\"####\" A 0 A_Jumpifinventory(\"WepBloomItem\",12,2)\n//\t\"####\" A 0 A_Giveinventory(\"WepBloomItem\",1)\n//\t\"####\" A 0\n\"####\" BCC 1 A_WeaponReady(WRF_NOPRIMARY)\n//\"####\" A 2\n//\"####\" C 0 A_REfire\n\"####\" A 0 A_Takeinventory(\"WepBloomItem\",999)\ngoto Ready\nNoAmmo:\n\"####\" A 1\n//\"####\" A 0 A_Takeinventory(\"WepBloomItem\",999)\n\"####\" A 0 A_Jumpifinventory(\"RepidifierClip\",1,\"Ready\")\nReload:\n\"####\" A 1 Offset(0,32)\n\"####\" A 1 Offset(0,46)\n\"####\" A 1 Offset(0,58)\n\"####\" A 1 Offset(0,70)\n\"####\" A 1 Offset(0,82)\n\"####\" A 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" A 32\n\"####\" A 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" A 1 Offset(0,82)\n\"####\" A 1 Offset(0,70)\n\"####\" A 1 Offset(0,58)\n\"####\" A 1 Offset(0,46)\n\"####\" A 1 Offset(0,32)\n\"####\" A 0 A_Giveinventory(\"RepidifierClip\",45)\n\"####\" A 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" A 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor Repidifier2 : Repidifier\n{Weapon.slotnumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor RepidifierClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 45\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\n\nactor RepidifierPuff : BulletPuff\n{\nscale 1\nObituary \"$OB_REPIDIFIER\"\nDamageType \"SingleShot2\"\n\n+PUFFONACTORS\n+ALWAYSPUFF\n+PUFFGETSOWNER\n+MTHRUSPECIES\nalpha 1.0\nStates\n{\nSpawn:\nCRBM A 0\nCRBM A 1 A_Explode(6 + ACS_ExecuteWithResult(DamageRate,2,Range2,75),10,0,0,10)\nBIM1 AABCDEF 1\nstop\n}\n}\n\n\tactor RepidifierPuff_BLUE : RepidifierPuff\n\t{}\n\n\tactor RepidifierPuff_RED : RepidifierPuff\n\t{translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"}\n//[+]========================================================================[+]\n//--------------------------------|Effect Actors|-------------------------------\n//[+]========================================================================[+]\nactor FakeBullet : fastProjectileBase\n{\n+CLIENTSIDEONLY\nSpeed 10\nDamage (0)\nradius 8\nheight 12\nscale 2\nVar Int User_TrailCount;\nVar Int User_TP; //TrailPosition\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AA 1 ACS_NamedExecuteAlways(\"PitchMatch\",0)\nTNT1 A 0 A_scalevelocity(15.5)\nSpawn2:\n//TNT1 A 0 A_SetUserVar(\"User_TP\",5*User_TrailCount)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-5,0,(sin(pitch)*5),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-10,0,(sin(pitch)*10),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-15,0,(sin(pitch)*15),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-20,0,(sin(pitch)*20),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-25,0,(sin(pitch)*25),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-30,0,(sin(pitch)*30),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-35,0,(sin(pitch)*35),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-40,0,(sin(pitch)*40),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-45,0,(sin(pitch)*45),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-50,0,(sin(pitch)*50),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-55,0,(sin(pitch)*55),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"FakeBulletFx\",cos(pitch)*-60,0,(sin(pitch)*60),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SetUserVar(\"User_TrailCount\",User_TrailCount+1)\n//TNT1 A 0 A_Jumpif(User_TrailCount >= 15,1)\n//loop\nTNT1 A 0 //A_Countdown\nTNT1 A 1 //A_SetUserVar(\"User_TrailCount\",1)\nGoto Spawn2\nLoop\nDeath:\nTNT1 A 1 //A_Spawnitemex(\"MedipistolPuff\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\n\tactor FakeBullet_BLUE : FakeBullet\n\t{//MissileType \"FakeBulletFx\"\n\t}\n\n\tactor FakeBullet_RED : FakeBullet\n\t{//MissileType \"FakeBulletFx_RED\"\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\t}\n\nactor FakeBulletFx : FXActor_B\n{\nscale 0.5\nAlpha 0.9\nStates\n{\nSpawn:\nCRBM A 0\nBASH B 1\nBASH BBB 1 A_Fadeout\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\n\nactor RepidifierShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"FakeBullet\",fRandom(-RP_SPD,RP_SPD),1,0,4,0,fRandom(-RP_SPD,RP_SPD))\n\nBUST B 1 A_FireBullets(RP_SPD,RP_SPD,-1,0,\"RepidifierPuff\",FBF_NORANDOM,0)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"FakeBullet_RED\",fRandom(-RP_SPD,RP_SPD),1,0,4,0,fRandom(-RP_SPD,RP_SPD))\n\nBUST B 1 A_FireBullets(RP_SPD,RP_SPD,-1,0,\"RepidifierPuff_RED\",FBF_NORANDOM,0)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"FakeBullet_BLUE\",fRandom(-RP_SPD,RP_SPD),1,0,4,0,fRandom(-RP_SPD,RP_SPD))\n\nBUST B 1 A_FireBullets(RP_SPD,RP_SPD,-1,0,\"RepidifierPuff_BLUE\",FBF_NORANDOM,0)\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-03_HiPEgun.txt",
        "contents": "/*=============================\nThe High Precision Energy gun, or HiPE gun for short; is a lightweight but\nsufficiently strong pump action weapon with remarkable range. it's a slow weapon\nbut it deals strong damage from way, far away. this weapon demands precision\nhowever, so it's best used when dealing with another far away opponent.\n\n*///===========================\n\nactor HiPEgun : WepMasterBase\n{\nTag \"Hi.P.E Gun\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 4\n\nscale 2.0\nObituary \"$OB_HIPEGUN\"\ninventory.icon \"HIPEI\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"HiPEgunClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nWSNP B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nSNPR B 0\nRedReady:\n\"####\" A 1 A_WeaponReady\n\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n//\"####\" B 0 A_Jumpifinventory(\"CycleReloadDelay\",1,\"Ready\")\n\"####\" B 0 A_Jumpifinventory(\"HiPEgunClip\",1,\"Ready\")\nGoto Reload\n\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" A 1 A_Lower\nLoop\nSelect:\n\"####\" B 0 A_GiveInventory(\"CycleReloadDelay\")\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" A 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/SlashClaw\",\"SoundSlot6\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/HardBuster5\",\"SoundSlot7\")\n\"####\" B 0 A_GiveInventory(\"HiPEgunShooter\")\n\"####\" JJKK 1\n\n\"####\" A 2\n//\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" A 2 Offset(0,32)\n\"####\" A 2 Offset(0,46)\n\"####\" A 2 Offset(0,58)\n\"####\" A 2 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" A 2 Offset(0,58)\n\"####\" A 2 Offset(0,46)\n\"####\" A 2 Offset(0,32)\n\"####\" A 2\n\"####\" B 0 A_GiveInventory(\"CycleReloadDelay\")\n\n\"####\" C 0 A_REfire\ngoto Ready\n\nNoAmmo:\n\"####\" A 1\n\"####\" B 0 A_Jumpifinventory(\"HiPEgunClip\",1,\"Ready\")\nReload:\n\"####\" A 1 Offset(0,32)\n\"####\" A 1 Offset(0,46)\n\"####\" A 1 Offset(0,58)\n\"####\" A 1 Offset(0,70)\n\"####\" A 1 Offset(0,82)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 A_Jumpifinventory(\"HiPEgunClip\",1,\"Reload2\")\n\"####\" A 8 A_WeaponReady(WRF_NOBOB|WRF_NOPRIMARY)\ngoto Reloadloop\nReload2:\n\"####\" A 8 A_WeaponReady(WRF_NOBOB)\ngoto Reloadloop\nReloadloop:\n\"####\" A 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"HiPEgunClip\",1)\n\"####\" B 0 A_Jumpifinventory(\"HiPEgunClip\",4,\"ReloadLoopEnd\")\n\"####\" B 0 A_Jumpifinventory(\"HiPEgunClip\",1,2)\n\"####\" A 19 Offset(0,82)\nGoto Reloadloop\n\"####\" A 19 A_WeaponReady(WRF_NOBOB)\nGoto Reloadloop\nReloadLoopEnd:\n\"####\" A 1 Offset(0,82)\n\"####\" A 1 Offset(0,70)\n\"####\" A 1 Offset(0,58)\n\"####\" A 1 Offset(0,46)\n\"####\" A 1 Offset(0,32)\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" A 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor HiPEgun2 : HiPEgun\n{weapon.slotnumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor HiPEgunClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 4\n}\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor HiPEgunShot : fastProjectileBase\n{\nObituary \"$OB_HIPEGUN\"\nDamageType \"SingleShot3\"\n\nSpeed 425\nDamage (60 + ACS_ExecuteWithResult(DamageRate,20,Range3,20))\nradius 8\nheight 10\nscale 3.5\n//damagetype \"Sniper\"\n\nMissileType \"HiPEgunTrail\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0\nTNT1 A 0\nSpawn2:\nCRBM A 0\nCRBM A 2\nLoop\nDeath:\nCRBM A 0 A_Stop\nCRBM A 1 A_Spawnitemex(\"HiPEgunPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\n\tactor HiPEgunShot_BLUE : HiPEgunShot\n\t{MissileType \"HiPEgunTrail_BLUE\"\n\t}\n\n\tactor HiPEgunShot_RED : HiPEgunShot\n\t{MissileType \"HiPEgunTrail_RED\"\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\t}\n//[+]========================================================================[+]\n//--------------------------------|Effect Actors|------------------------------\n//[+]========================================================================[+]\nactor HiPEgunPuff1 : FXActor_A\n{\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/Mirrordeflect\",\"Weapon\")\nBIM1 AABCDEF 1\nstop\n}\n}\n\nactor HiPEgunTrail : FXActor_B\n{\nscale 2.5\nAlpha 0.8\nStates\n{\nSpawn:\nTNT1 A 0\nBASB UU 1\nBASB UU 1 A_Fadeout\nstop\n}\n}\n\n\tactor HiPEgunTrail_BLUE : HiPEgunTrail\n\t{\n\t}\n\n\tactor HiPEgunTrail_RED : HiPEgunTrail\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\t}\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\nactor HiPEgunShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"HiPEgunShot\",0,1,4,8)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"HiPEgunShot_RED\",0,1,4,8)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"HiPEgunShot_BLUE\",0,1,4,8)\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-04_HiPERbeam.txt",
        "contents": "/*=============================\nRefined for high impact shots that count, The Hi Precision Energy Rail Beam,\naka the HiPERBeam, is a weapon that's sure to obliterate whatever it hits!\nit takes some time to ready it's shot so this is a tool for only the most\npatient of sharpshooters.\n\n*///===========================\n\nactor HiPERBeam : WepMasterBase\n{\nTag \"Hi.P.E.R Beam\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 1\nscale 2.0\nObituary \"$OB_RANGEDRIFLE\"\ninventory.icon \"HBEAI\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"RangeRifleClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nWSN2 B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nSNP2 B 0\nRedReady:\n\"####\" A 1 A_WeaponReady\n\"####\" A 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\"####\" A 0 A_Jumpifinventory(\"RangeRifleClip\",1,\"Ready\")\nGoto Reload\nReady2:  //zooom ready\n\"####\" O 1 A_WeaponReady(WRF_NOSWITCH)\n\"####\" O 0 //A_Giveinventory(\"shootingspeeddown\",1)\n\"####\" O 0 A_ZoomFactor(4.5)\n\"####\" O 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\"####\" O 0 A_Jumpifinventory(\"RangeRifleClip\",1,\"Ready\")\nGoto Reload\nDeselect:\nTNT1 A 0 A_TakeInventory(\"NoClipBar\",9)\n\"####\" A 0 A_Takeinventory(\"BeamPowerLevel\",999)\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 A 0 A_GiveInventory(\"NoClipBar\")\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" A 3\n\"####\" A 0 A_REfire(\"Hold\")\nGoto Release\nHold:\n\t\"####\" B 0 A_Giveinventory(\"FocusSpeedDown\",1)\n\t//\"####\" A 0 A_Jumpifinventory(\"BeamPowerDelay\",1,3)\n\t//\"####\" A 0 A_Giveinventory(\"BeamPowerDelay\",1)\n\t\"####\" A 0 A_Giveinventory(\"BeamPowerLevel\",3)\n\t\"####\" A 1 //A_Giveinventory(\"HiPERBeamReticleShooter\")\n\t\"####\" B 0 A_jumpifinventory(\"BeamPowerLevel\",100,\"MaxCharge\")\n\t\"####\" A 0 A_REfire(\"Hold\")\n\tGoto Release\nMaxCharge:\n\t\"####\" B 0 A_PlaySoundEx(\"weapon/Trigger\",\"Weapon\")\nGoto Hold2\nHold2:\n\t\"####\" B 0 A_Giveinventory(\"FocusSpeedDown\",1)\n\t\"####\" A 1 A_Giveinventory(\"BeamHoldTimer\",1)\n\t\"####\" B 0 A_jumpifinventory(\"BeamHoldTimer\",35,\"Release\")\n\t\"####\" A 0 A_REfire(\"Hold2\")\n\tGoto Release\nRelease:\n\"####\" B 0 A_jumpifinventory(\"BeamPowerLevel\",100,\"MaxFire\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/HardBuster3\",\"Weapon\")\n\"####\" B 2 A_GiveInventory(\"HiPERBeamShooter\")\n\"####\" A 0 A_Takeinventory(\"BeamPowerLevel\",999)\n\"####\" A 0 A_Takeinventory(\"BeamHoldTimer\",999)\n\n\"####\" BJJKK 1 //A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)\n\"####\" A 9\n\"####\" C 0\ngoto Ready\n\nMaxFire:\n\"####\" B 0 A_PlaySoundEx(\"weapon/HardBuster6\",\"Weapon\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/coilexplode\", \"SoundSlot6\")\n\"####\" B 0 A_ChangeVelocity(cos(-pitch)*-30,0,sin(pitch)*15,CVF_RELATIVE)\n\"####\" B 2 A_GiveInventory(\"HiPERBeamShooter2\")\n\"####\" A 0 A_Takeinventory(\"BeamPowerLevel\",999)\n\"####\" A 0 A_Takeinventory(\"BeamHoldTimer\",999)\n\n\"####\" BJJKK 1 //A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)\n\"####\" A 12\n\"####\" C 0\ngoto Ready\n\nNoAmmo:\n\"####\" A 1\n\"####\" B 0 A_Jumpifinventory(\"RangeRifleClip\",1,\"Ready\")\nReload:\n\"####\" B 0 A_ZoomFactor(1.0,0)\n\"####\" B 0 A_TakeInventory(\"ZoomMode\")\n\n\"####\" QRS 3\n\"####\" T 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" TUQ 3\n\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"RangeRifleClip\",8)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" A 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor HiPERBeam2 : HiPERBeam\n{weapon.slotnumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor RangeRifleClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor ZoomMode : inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor BeamPowerLevel : inventory\n{\ninventory.amount 1\ninventory.maxamount 100\n}\n\nactor BeamPowerDelay : powerup\n{\ninventory.amount 1\npowerup.duration 3\n}\n\nactor BeamHoldTimer : inventory\n{\ninventory.amount 1\ninventory.maxamount 35\n}\n\nActor FocusSpeedDown : Powerspeed\n{\ninventory.amount 1\npowerup.duration 4\nspeed 0.6\n}\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor HiPERBeamPuff : BulletPuff\n{\nscale 2.5\n+PUFFONACTORS\n+ALWAYSPUFF\n+PUFFGETSOWNER\n+MTHRUSPECIES\n+NOINTERACTION\ndamagetype \"Sniper\"\nDamageType \"SingleShot3\"\n\nalpha 1.0\nStates\n{\nSpawn:\nCRBM A 0\nCRBM A 0 A_Explode(80,10,0,0,10)\nTNT1 A 0 A_PlaySoundEx(\"weapon/Mirrordeflect\",\"Weapon\")\nBIM1 AABCDEF 1\nstop\n}\n}\n\n\tactor HiPERBeamPuff_BLUE : HiPERBeamPuff\n\t{}\n\n\tactor HiPERBeamPuff_RED : HiPERBeamPuff\n\t{translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"}\n\nactor HiPERBeamMAXPuff : BulletPuff\n{\nscale 2.5\n+PUFFONACTORS\n+ALWAYSPUFF\n+PUFFGETSOWNER\n+MTHRUSPECIES\n+NOINTERACTION\ndamagetype \"Sniper\"\nDamageType \"SingleShot3\"\n\nalpha 1.0\nStates\n{\nSpawn:\nCRBM A 0\nCRBM A 0 A_Explode(185,10,0,0,10)\nTNT1 A 0 A_PlaySoundEx(\"weapon/Mirrordeflect\",\"Weapon\")\nBIM1 AABCDEF 1\nstop\n}\n}\n\n\tactor HiPERBeamMAXPuff_BLUE : HiPERBeamMAXPuff\n\t{}\n\n\tactor HiPERBeamMAXPuff_RED : HiPERBeamMAXPuff\n\t{translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"}\n//[+]========================================================================[+]\n//--------------------------------|Special Actors|------------------------------\n//[+]========================================================================[+]\n\nactor HiPERBeamReticle : FXActor_A\n{\n+MTHRUSPECIES\n+DONTSPLASH\nscale 1.5\nStates\n{\nSpawn:\nTNT1 A 0\nSCSR B 2\nstop\n}\n}\n\n\tactor HiPERBeamReticle_BLUE : HiPERBeamReticle\n\t{\n\t}\n\n\tactor HiPERBeamReticle_RED : HiPERBeamReticle\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\t}\n\nactor BeamRing1 : FXActor_A\n{\nscale 1.5\nSpeed 90\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Stop\nBEWA C 1 A_setscale(1.6)\nBEWA C 0 A_Fadeout\nBEWA C 1 A_setscale(1.8)\nBEWA C 0 A_Fadeout\nBEWA C 1 A_setscale(2.0)\nBEWA C 0 A_Fadeout\nBEWA C 1 A_setscale(2.2)\nBEWA C 0 A_Fadeout\nBEWA C 1 A_setscale(2.4)\nBEWA C 0 A_Fadeout\nBEWA C 1 A_setscale(2.6)\nBEWA C 0 A_Fadeout\nBEWA C 1 A_setscale(2.8)\nBEWA C 0 A_Fadeout\nBEWA C 1 A_setscale(3.0)\nBEWA C 0 A_Fadeout\nBEWA C 1 A_setscale(3.2)\nBEWA C 0 A_Fadeout\nstop\n}\n}\n\n\tactor BeamRing1_BLUE : BeamRing1\n\t{\n\t}\n\n\tactor BeamRing1_RED : BeamRing1\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\t}\n\nactor HiPERBeamTrail : FastProjectile\n{\nPROJECTILE\n+NOINTERACTION\n+DONTBLAST\n+MTHRUSPECIES\n+CLIENTSIDEONLY\nSpeed 45\nDamage (0)\nradius 7\nheight 7\nscale 1.2\nStates\n{\nSpawn:\nTNT1 A 0\nLASH A 0\n\"####\" A 0 A_Spawnitemex(\"HiPERBeamTrail\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n\"####\" A 0 A_Stop\n\"####\" A 3\n\"####\" AAAAA 2 A_Fadeout\nstop\n}\n}\n\n\tactor HiPERBeamTrail_BLUE : HiPERBeamTrail\n\t{\n\tStates\n\t{\n\tSpawn:\n\tTNT1 A 0\n\tLASH A 0\n\t\"####\" A 0 A_Spawnitemex(\"HiPERBeamTrail_BLUE\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n\t\"####\" A 0 A_Stop\n\t\"####\" A 3\n\t\"####\" AAAAA 2 A_Fadeout\n\tstop\n\t}\n\t}\n\n\tactor HiPERBeamTrail_RED : HiPERBeamTrail\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\tStates\n\t{\n\tSpawn:\n\tTNT1 A 0\n\tLASH A 0\n\t\"####\" A 0 A_Spawnitemex(\"HiPERBeamTrail_RED\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n\t\"####\" A 0 A_Stop\n\t\"####\" A 3\n\t\"####\" AAAAA 2 A_Fadeout\n\tstop\n\t}\n\t}\n\nactor HiPERBeamTrail2 : HiPERBeamTrail\n{\nspeed 25\nscale 1.5\nStates\n{\nSpawn:\nTNT1 A 0\nLASH A 0\n\"####\" A 0 A_Spawnitemex(\"HiPERBeamTrail2\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n\"####\" A 0 A_Stop\n\"####\" A 7\n\"####\" AAAAA 3 A_Fadeout\nstop\n}\n\n}\n\n\tactor HiPERBeamTrail2_BLUE : HiPERBeamTrail2\n\t{\n\tStates\n\t{\n\tSpawn:\n\tTNT1 A 0\n\tLASH A 0\n\t\"####\" A 0 A_Spawnitemex(\"HiPERBeamTrail2_BLUE\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n\t\"####\" A 0 A_Stop\n\t\"####\" A 7\n\t\"####\" AAAAA 3 A_Fadeout\n\tstop\n\t}\n\t}\n\n\tactor HiPERBeamTrail2_RED : HiPERBeamTrail2\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\tStates\n\t{\n\tSpawn:\n\tTNT1 A 0\n\tLASH A 0\n\t\"####\" A 0 A_Spawnitemex(\"HiPERBeamTrail2_RED\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n\t\"####\" A 0 A_Stop\n\t\"####\" A 7\n\t\"####\" AAAAA 3 A_Fadeout\n\tstop\n\t}\n\t}\n\nactor HiperBeamAimsight : HiPERBeamTrail\n{\n+DONTSPLASH\nspeed 75\nscale 0.7\nStates\n{\nSpawn:\nTNT1 A 0\nBASB U 0\n\"####\" U 0 A_Spawnitemex(\"HiperBeamAimsight\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n\"####\" U 0 A_Stop\n\"####\" UU 1 A_Stop\nstop\n}\n\n}\n\n\tactor HiperBeamAimsight_BLUE : HiperBeamAimsight\n\t{\n\t}\n\n\tactor HiperBeamAimsight_RED : HiperBeamAimsight\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\t}\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\n\nactor HiPERBeamReticleShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\n\nBUST B 1 A_FireCustomMissile(\"HiperBeamAimsight\",0,1,0,0)\nBUST B 1 A_fireBullets(0,0,1,0,\"HiPERBeamReticle\",FBF_NORANDOM|FBF_NORANDOMPUFFZ,0)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"HiperBeamAimsight_RED\",0,1,0,0)\nBUST B 1 A_fireBullets(0,0,1,0,\"HiPERBeamReticle_RED\",FBF_NORANDOM|FBF_NORANDOMPUFFZ,0)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"HiperBeamAimsight_BLUE\",0,1,0,0)\nBUST B 1 A_fireBullets(0,0,1,0,\"HiPERBeamReticle_BLUE\",FBF_NORANDOM|FBF_NORANDOMPUFFZ,0)\nTNT1 A 1\nstop\n}\n}\n\nactor HiPERBeamShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\n\nBUST B 1 A_FireCustomMissile(\"HiPERBeamTrail\",0,1,0,0)\nBUST B 1 A_fireBullets(0,0,1,0,\"HiPERBeamPuff\",FBF_NORANDOM,0)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"HiPERBeamTrail_RED\",0,1,0,0)\nBUST B 1 A_fireBullets(0,0,1,0,\"HiPERBeamPuff_RED\",FBF_NORANDOM,0)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"HiPERBeamTrail_BLUE\",0,1,0,0)\nBUST B 1 A_fireBullets(0,0,1,0,\"HiPERBeamPuff_BLUE\",FBF_NORANDOM,0)\nTNT1 A 1\nstop\n}\n}\n\nactor HiPERBeamShooter2 : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\n\nBUST B 1 A_FireCustomMissile(\"BeamRing1\",0,1,0,0)\nBUST B 1 A_FireCustomMissile(\"HiPERBeamTrail2\",0,1,0,0)\nBUST B 1 A_fireBullets(0,0,1,0,\"HiPERBeamMAXPuff\",FBF_NORANDOM,0)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"BeamRing1_RED\",0,1,0,0)\nBUST B 1 A_FireCustomMissile(\"HiPERBeamTrail2_RED\",0,1,0,0)\nBUST B 1 A_fireBullets(0,0,1,0,\"HiPERBeamMAXPuff_RED\",FBF_NORANDOM,0)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"BeamRing1_BLUE\",0,1,0,0)\nBUST B 1 A_FireCustomMissile(\"HiPERBeamTrail2_BLUE\",0,1,0,0)\nBUST B 1 A_fireBullets(0,0,1,0,\"HiPERBeamMAXPuff_BLUE\",FBF_NORANDOM,0)\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-05_SLAMCannon.txt",
        "contents": "/*=============================\nfor some folks, a single minibomb just doesn't offer the explosive\npunch needed to tickle your fancies and shatter your foes. but why\nnot a weapon that can launch multiples of them instead?\n\nwell, the SLAM Cannon is certainly a dream come true for those\nexplosive fanatics. it fires modified minibombs that are less\nbouncy but have more kick to them as a result\n*///===========================\n\nactor SLAMCannon : WepMasterBase\n{\nTag \"SLAM Cannon\"\nWeapon.AmmoUse 1\nWeapon.AmmoUse2 0\nWeapon.AmmoGive 3\nscale 2.0\nObituary \"$OB_SLAMCANNON\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\ninventory.icon \"SLAMI\"\nweapon.ammotype \"SLAMCannonClip\"\nweapon.ammotype2 \"SLAMCannonClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nRC2R B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nRC2B B 0\nRedReady:\n\"####\" B 1 A_WeaponReady\n\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n//\"####\" B 0 A_Jumpifinventory(\"CycleReloadDelay\",1,\"Ready\")\n\"####\" B 0 A_jumpifinventory(\"SLAMCannonClip\",1,\"Ready\")\nGoto Reload\n\"####\" A 0 A_PlaySound(\"weapon/rminestick\")\n\"####\" B 0 A_GiveInventory(\"SLAMCannonClip\")\nGoto Ready\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 B 0 A_GiveInventory(\"CycleReloadDelay\")\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 3 Offset(0,32)\n\"####\" B 0 A_Giveinventory(\"BlastProtection\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/GrenadeLauncher\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"SLAMCannonShooter\")\n\"####\" C 6 A_WeaponReady(WRF_NOPRIMARY)\n\"####\" DB 6 A_WeaponReady(WRF_NOPRIMARY)\n\"####\" B 4 A_WeaponReady(WRF_NOPRIMARY)\n\"####\" B 0 A_GiveInventory(\"CycleReloadDelay\")\n\"####\" B 0 A_Refire\ngoto Ready\n\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_jumpifinventory(\"SLAMCannonClip\",1,\"Ready\")\nReload:\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 A_Jumpifinventory(\"SLAMCannonClip\",1,\"Reload2\")\n\"####\" B 24 A_WeaponReady(WRF_NOBOB|WRF_NOPRIMARY)\ngoto Reloadloop\nReload2:\n\"####\" B 24 A_WeaponReady(WRF_NOBOB)\ngoto Reloadloop\nReloadloop:\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"SLAMCannonClip\",1)\n\"####\" B 0 A_Jumpifinventory(\"SLAMCannonClip\",6,\"ReloadLoopEnd\")\n\"####\" B 0 A_Jumpifinventory(\"SLAMCannonClip\",1,2)\n\"####\" B 24 Offset(0,82)\nGoto Reloadloop\n\"####\" B 24 A_WeaponReady(WRF_NOBOB)\nGoto Reloadloop\nReloadLoopEnd:\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 1\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor SLAMCannon2 : SLAMCannon\n{Weapon.SlotNumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor SLAMCannonClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 6\n+INVENTORY.IGNORESKILL\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor SLAMCannonProjectile\n{\nPROJECTILE\ndamagetype \"Explosion\"\nradius 5\nheight 5\nscale 1.0\n//-NOGRAVITY\n//+CANBOUNCEWATER\n//+DOOMBOuNCE\n//+NOEXPLODEFLOOR\n+MTHRUSPECIES\n//-ALLOWBOUNCEONACTORS\nVar int User_GravTime;\nspeed 45\ngravity 1.1\nbouncefactor 0.9\nseesound \"weapon/megaball\"\nObituary \"$OB_SLAMCANNON\"\nDamage (10 + ACS_ExecuteWithResult(DamageRate,15,Range2,4))\nwallbouncefactor 0.95\nreactiontime 75\nStates\n{\nSpawn:\nBOMB S 0\n//BOMB S 0 ThrustThingZ(0, 13, 0, 1)\n//BOMB S 0\n//BOMB S 0 A_ChangeFlag(\"THRUACTORS\",0)\nBOMB S 0 A_CountDown\nBOMB S 1 A_SpawnItemEX(\"SLAMCannonTrail\",0,0,5,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\nBOMB S 0 A_SetUserVar(\"User_GravTime\",User_GravTime+1)//A_Checkfloor(\"Slowdown\")\nBOMB S 0 A_Jumpif(User_GravTime < 5,\"Spawn\")\nBOMB S 0 A_ChangeFlag(\"NOGRAVITY\",false)\nSpawn2:\nBOMB S 0 A_CountDown\nBOMB S 1 A_SpawnItemEX(\"SLAMCannonTrail\",0,0,5,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\nGoto Spawn+2\nSlowdown:\nBOMB S 0 A_ChangeFlag(\"THRUACTORS\",1)\nBOMB S 1 A_ScaleVelocity(0.6)\nBOMB S 1 A_CountDown\nBOMB S 0 A_Checkfloor(\"Slowdown\")\nGoto Spawn+2\nCrash:\nDeath:\nBOMB SS 0 A_Stop\nTNT1 A 0 A_Changeflag(\"DOOMBOuNCE\",false)\nAMIS A 0 A_Jumpifcloser(140,\"blastjump\")\nBOMB S 0 A_SpawnItemEx(\"SLAMCannonThrustSource\")//ACS_ExecuteAlways(BlastKnockback,0,80,50,185)\nBOMB S 1 A_Explode(50, 250, 1,0,64)\nTNT1 A 1 A_SpawnItemEx(\"GrenadeExplosion\")\nstop\nXDeath:\nBOMB SS 1 A_Stop\nTNT1 A 0 A_Changeflag(\"DOOMBOuNCE\",false)\nTNT1 A 1 A_SpawnItemEx(\"GrenadeExplosion\")\nstop\n//---\nblastjump:\nBOMB S 0 A_SpawnItemEx(\"SLAMCannonThrustSource\")//ACS_ExecuteAlways(BlastKnockback,0,80,50,185)\nBOMB S 0 A_GiveToTarget(\"BlastProtection\")\nBOMB S 1 A_Explode(50, 250, 1,0,64)\nTNT1 A 1 A_SpawnItemEx(\"GrenadeExplosion\")\nstop\n}\n}\n\n\tactor SLAMCannonProjectile_BLUE : SLAMCannonProjectile{}\n\tactor SLAMCannonProjectile_RED : SLAMCannonProjectile{translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"}\n\n//[+]========================================================================[+]\n//--------------------------------|Effect Actors|------------------------------\n//[+]========================================================================[+]\n// [+++]=============================[+++]\nactor GrenadeExplosion : ExplosionBase //now just the FX due to desynch\n{\nStates\n{\nSpawn:\nMINB A 0\nNAPC D 0 //A_Explode(35, 350, 1,0,36)\nNAPC A 0 A_PlaySoundEx(\"weapon/napalm\", \"Weapon\")\nASEX ABCDDEEF 1\nstop\n}\n}\n\nactor SLAMCannonThrustSource : ExplosionBase //now just the FX due to desynch\n{\nStates\n{\nSpawn:\nMINB A 0\nNAPC D 0 //A_Explode(35, 350, 1,0,36)\nBOMB S 0 ACS_ExecuteAlways(BlastKnockback,0,130,50,250) //185\nTNT1 AA 1\nstop\n}\n}\n\nactor SLAMCannonTrail : FXActor_A\n{\nscale 1.3\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 2\nMINB IIIIII 1\nMINB IIIIII 1 A_Fadeout\nstop\n}\n}\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\nactor SLAMCannonShooter : CustomInventory  //places a buster posie based on the team.\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 0 A_FireCustomMissile(\"SLAMCannonProjectile\",0,2,0,2)\nstop\nTeamRedFire:\nBUST B 0 A_FireCustomMissile(\"SLAMCannonProjectile_RED\",0,2,0,2)\nTNT1 A 0\nstop\nTeamBlueFire:\nBUST B 0 A_FireCustomMissile(\"SLAMCannonProjectile_BLUE\",0,2,0,2)\nTNT1 A 0\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-06_ThriceGun.txt",
        "contents": "/*=============================\nUsing a resevoire of liquid freezing chemicals, the thrice gun fires a trio\nof sharp ice projectiles in a wide spread. since it has to freeze up the next\nbatch of icicles after each shot, this weapon has a fairly slow fire rare\ncompared to the blitzer, but as it shoots 100% solid and air bubble free ice.\nthis weapon backs quite a punch, and does well at longer ranges than the\nblitzer to boot!\n\n*///===========================\n\nactor ThriceGun : WepMasterBase\n{\ntag \"Thrice Gun\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\n\nObituary \"$OB_THRICEGUN\"\nscale 2.0\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\ninventory.icon \"THRII\"\nweapon.ammotype \"ThriceGunClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBS2R B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nBS2B B 0\nRedReady:\n\"####\" B 1 A_WeaponReady\n\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\"####\" B 0 A_Jumpifinventory(\"ThriceGunClip\",1,\"Ready\")\nGoto Reload\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/iceslasher\",\"Weapon\")\n\"####\" B 6\n\"####\" B 0 A_PlaySoundEx(\"weapon/icewavespawn\",\"Weapon\")\n\"####\" B 0 A_GiveInventory(\"ThriceGunShooter\")\n\"####\" CCDD 1\n\n\"####\" B 4\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 2 Offset(0,32)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,58)\n\"####\" B 8 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,32)\n\n\"####\" B 4  A_WeaponReady(WRF_NOPRIMARY)\n\"####\" B 0 A_Refire\ngoto Ready\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"ThriceGunClip\",1,\"Ready\")\nReload:\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 32\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 0 A_Giveinventory(\"ThriceGunClip\",3)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor ThriceGun2 : ThriceGun\n{weapon.slotnumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor ThriceGunClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 3\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor ThriceGunShot : ProjectileBase\n{\nObituary \"$OB_THRICEGUN\"\nDamageType \"SpreadShot2\"\n\nSpeed 60\nDamage (25 + ACS_ExecuteWithResult(DamageRate,15,Range2,6))\nradius 10\nheight 12\nscale 3.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0\nSpawn2:\nCRBM A 0\nTRIC A 4 A_Spawnitemex(\"ThriceGunParticle\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nLoop\nDeath:\nTRIC A 1 A_Spawnitemex(\"ThriceGunPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\n\tactor ThriceGunShot_BLUE : ThriceGunShot\n\t{\n\t}\n\n\tactor ThriceGunShot_RED : ThriceGunShot\n\t{\n\ttranslation \"202:202=33:33\",\"196:196=48:48\", \"197:197=18:18\",\"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"\n\t}\n\n//[+]========================================================================[+]\n//--------------------------------|Special Actors|------------------------------\n//[+]========================================================================[+]\nactor ThriceGunPuff1 : FXActor_A\n{\nscale 3.5\nStates\n{\nSpawn:\nBIM1 AABCDEF 1\nstop\n}\n}\n\nactor ThriceGunParticle : FXActor_A\n{\nscale 2.5\nReactiontime 70\n-NOINTERACTION\n-NOGRAVITY\n-NOCLIP\nGravity 0.2\nStates\n{\nSpawn:\nBLIZ C 0\nBLIZ T 1 A_Changevelocity(0,random2(5),0,CVF_RELATIVE)\nSpawn2:\nBLIZ T 1\nBLIZ T 0 A_Countdown\nloop\nDeath:\nBLIZ T 1\nstop\n}\n}\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\nactor ThriceGunShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"ThriceGunShot\",0,1,4,8)\nBUST B 1 A_FireCustomMissile(\"ThriceGunShot\",10,0,4,8)\nBUST B 1 A_FireCustomMissile(\"ThriceGunShot\",350,0,4,8)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"ThriceGunShot_RED\",0,1,4,8)\nBUST B 1 A_FireCustomMissile(\"ThriceGunShot_RED\",10,0,4,8)\nBUST B 1 A_FireCustomMissile(\"ThriceGunShot_RED\",350,0,4,8)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"ThriceGunShot_BLUE\",0,1,4,8)\nBUST B 1 A_FireCustomMissile(\"ThriceGunShot_BLUE\",10,0,4,8)\nBUST B 1 A_FireCustomMissile(\"ThriceGunShot_BLUE\",350,0,4,8)\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-07_MediCarbine.txt",
        "contents": "/*=============================\nutilizing smart medical rounds, this light rifle can offer treatment to allies from a\ndistance, and still double as a combat tool when necessary. it might not be\nthe best at offense but when you need to heal and deal at a moments notice. nothing\nmakes it easier than Neumodian's own Medicarbine!\n\n*///===========================\n\nactor MediCarbine : WepMasterBase\n{\nTag \"MediCarbine\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 6\nscale 2.0\nObituary \"$OB_MEDIRIFLE\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\ninventory.icon \"CARBI\"\nweapon.ammotype \"MediRifleClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nCRBR A 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nCRBB A 0\nRedReady:\n\"####\" A 0 A_GiveInventory(\"TargContractor\")\n\"####\" B 0 //A_GiveInventory(\"TargActive\",1)\n\n\"####\" A 1 A_WeaponReady\n//\"####\" A 0 A_TakeInventory(\"IsHealer\",999)\n\"####\" A 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\"####\" A 0 A_Jumpifinventory(\"MediRifleClip\",1,\"Ready\")\nGoto Reload\n\nDeselect:\nTNT1 A 0 A_TakeInventory(\"TargActive\",9)\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" A 1 A_Lower\nLoop\nSelect:\nTNT1 A 0 //A_GiveInventory(\"TargActive\",1)\nTNT1 A 0 ACS_ExecuteAlways(404,0,1,1120)\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" A 1 A_Raise\nLoop\nFire:\n\"####\" A 0 A_JumpIfNoAmmo(\"NoAmmo\")\n//\"####\" A 0 A_GiveInventory(\"IsHealer\",1)\n\"####\" A 0 A_PlaySoundEx(\"weapon/HardBuster3\",\"Weapon\")\n\"####\" A 0 A_GiveInventory(\"MediRifleShooter\")\n\"####\" BJJKK 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)\n\"####\" A 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" A 12\n\n\"####\" A 0 A_GiveInventory(\"TargContractor\")\n\"####\" B 0 //A_GiveInventory(\"TargActive\",1)\n\"####\" A 0 //ACS_ExecuteAlways(404,0,1,1120)\n\n\"####\" C 0 A_REfire\ngoto Ready\n\nNoAmmo:\n\"####\" A 1\n\"####\" A 0 A_Jumpifinventory(\"MediRifleClip\",1,\"Ready\")\nReload:\n\"####\" A 0 A_ZoomFactor(1.0)\n\"####\" A 0 A_TakeInventory(\"ZoomMode\")\n\"####\" A 1 Offset(0,32)\n\"####\" A 1 Offset(0,46)\n\"####\" A 1 Offset(0,58)\n\"####\" A 1 Offset(0,70)\n\"####\" A 1 Offset(0,82)\n\"####\" A 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" A 22\n\"####\" A 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" A 1 Offset(0,82)\n\"####\" A 1 Offset(0,70)\n\"####\" A 1 Offset(0,58)\n\"####\" A 1 Offset(0,46)\n\"####\" A 1 Offset(0,32)\n\"####\" A 0 A_Giveinventory(\"MediRifleClip\",8)\n\"####\" A 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 //A_GiveInventory(\"TargActive\",1)\n\"####\" A 0 //ACS_ExecuteAlways(404,0,1,1120)\n\n\"####\" A 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor MediCarbine2 : MediCarbine\n{weapon.slotnumber 2}\n\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor MediRifleClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 6\n}\n\nActor TargContractor : powerup\n{\ninventory.amount 1\npowerup.duration 6\n}\n\nActor HealEffectBuffer : powerup\n{\ninventory.amount 1\npowerup.duration 35\n}\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor MediRifleShot : fastProjectileBase\n{\nObituary \"$OB_MEDIRIFLE\"\nDamageType \"SingleShot\"\n\nSpeed 300\nDamage (30 + ACS_ExecuteWithResult(DamageRate,15,Range3,17))\n-MTHRUSPECIES //Has to hit players\n+THRUGHOST\n+LOOKALLAROUND\n+HITTRACER\n+SEEKERMISSILE\nradius 10\nheight 10\nscale 2.5\n//damagetype \"Sniper\"\nMissileType \"MediRifleTrail\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0\nLASH A 0 A_TransferPointer(AAPTR_TARGET,AAPTR_DEFAULT,AAPTR_TRACER,AAPTR_TRACER) //Set the Bullet's tracer to the Shooter's, if they have one.\nBASB UU 1 A_Seekermissile(90,90,SMF_PRECISE)//A_RearrangePointers(AAPTR_DEFAULT, AAPTR_TARGET, AAPTR_DEFAULT) //make the shooter our master\nSpawn2:\nBASB U 0\nBASB U 2\nLoop\nDeath:\nBASB U 0 A_Stop\nBASB U 0 //A_Lookex(LOF_NOSOUNDCHECK,0,75,0,360,\"Healcheck\")\nBASB U 1 A_Spawnitemex(\"MediRiflePuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\n//stop\nBASB U 0 A_Jumpiftracercloser(80,\"HealCheck\")\nGoto Terminate\nHealcheck:\nLASH A 0 A_Jumpifinventory(\"RespawnCamera\",1,\"Terminate\",AAPTR_TRACER) //You aren't spawned yet\nLASH A 0 A_JumpIf(IsPointerEqual(AAPTR_TRACER, AAPTR_TARGET) == TRUE, \"Terminate\") //don't go for yourself\nLASH A 0 //A_Jumpifinventory(\"WilyTeamFlag\",1,\"Terminate\",AAPTR_TRACER) //don't Heal enemies\nLASH A 0 //A_Jumpifinventory(\"CossackTeamFlag\",1,\"Terminate\",AAPTR_TRACER) //don't Heal enemies\nLASH A 0 //A_Jumpifinventory(\"KingTeamFlag\",1,\"Terminate\",AAPTR_TRACER) //don't Heal enemies\n\nBASB U 1 A_GiveInventory(\"MedirifleHeal\",1,AAPTR_TRACER)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"HealFX3\", 0, 0, 14, 256/24, 256/24, random2(256/24), random(0, 359),SXF_TRANSFERTRANSLATION)\nstop\nTerminate:\nLASH A 0\nstop\n\n}\n}\n\n\tactor MediRifleShot_BLUE : MediRifleShot\n\t{MissileType \"MediRifleTrail_BLUE\"\n\tSpecies \"BLUEMember\"\n\n\tStates\n\t{\n\tHealcheck:\n\tLASH A 0 A_Jumpifinventory(\"RespawnCamera\",1,\"Terminate\",AAPTR_TRACER) //You aren't spawned yet\n\tLASH A 0 A_JumpIf(IsPointerEqual(AAPTR_TRACER, AAPTR_TARGET) == TRUE, \"Terminate\")  //don't go for yourself\n\tLASH A 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"Terminate\",AAPTR_TRACER) //don't Heal enemies\n\tLASH A 0 //A_Jumpifinventory(\"CossackTeamFlag\",1,\"Terminate\",AAPTR_TRACER) //don't Heal enemies\n\tLASH A 0 //A_Jumpifinventory(\"KingTeamFlag\",1,\"Terminate\",AAPTR_TRACER) //don't Heal enemies\n\n\tLASH A 1 A_GiveInventory(\"MedirifleHeal\",1,AAPTR_TRACER)\n\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"HealFX3\", 0, 0, 14, 256/24, 256/24, random2(256/24), random(0, 359),SXF_TRANSFERTRANSLATION)\n\tstop\n\t}\n\n\t}\n\n\tactor MediRifleShot_RED : MediRifleShot\n\t{MissileType \"MediRifleTrail_RED\"\n\tSpecies \"REDMember\"\n\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\tStates\n\t{\n\tHealcheck:\n\tLASH A 0 A_Jumpifinventory(\"RespawnCamera\",1,\"Terminate\",AAPTR_TRACER) //You aren't spawned yet\n\tLASH A 0 A_JumpIf(IsPointerEqual(AAPTR_TRACER, AAPTR_TARGET) == TRUE, \"Terminate\")  //don't go for yourself\n\tLASH A 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"Terminate\",AAPTR_TRACER) //don't Heal enemies\n\tLASH A 0 //A_Jumpifinventory(\"CossackTeamFlag\",1,\"Terminate\",AAPTR_TRACER) //don't Heal enemies\n\tLASH A 0 //A_Jumpifinventory(\"KingTeamFlag\",1,\"Terminate\",AAPTR_TRACER) //don't Heal enemies\n\n\tLASH A 1 A_GiveInventory(\"MedirifleHeal\",1,AAPTR_TRACER)\n\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"HealFX3\", 0, 0, 14, 256/24, 256/24, random2(256/24), random(0, 359),SXF_TRANSFERTRANSLATION)\n\tstop\n\t}\n\n\t}\n\n//[+]========================================================================[+]\n//--------------------------------|Utility Actors|------------------------------\n//[+]========================================================================[+]\nactor MedirifleHeal : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"Nope\")\nLASH A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"Actor_Classifier\",0,2) == TRUE, \"HealMe\")\nstop\nHealMe:\nTNT1 A 0 A_Jumpifinventory(\"PoisonMark\",1,\"HealBlock\")\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(GetTotalHPPerc,0)>=100,\"Nope\") // no overheal in this mod\nTNT1 AAAA 0 A_Giveinventory(\"HealEffectSpawn2\",1)\n\n//TNT1 A 0 HealThing(85)\nTNT1 A 0 HealThing(ACS_ExecuteWithResult(HealRamp,50,200))\n\nTNT1 A 0 A_PlaySoundEx(\"item/energyup\",\"Weapon\")\nTNT1 A 0\nstop\n\nNope:\nTNT1 A 0\nstop\n\nHealBlock:\nTNT1 A 1 A_Giveinventory(\"DetoxLevel\",12)\nTNT1 A 1 A_Giveinventory(\"DetoxEfectSpawn\")\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Effect Actors|------------------------------\n//[+]========================================================================[+]\n\nactor MediRiflePuff1 : FXActor_A\n{\nscale 1.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/Mirrordeflect\",\"Weapon\")\nBIM1 AABCDEF 1\nstop\n}\n}\n\nactor MediRifleTrail : FXActor_A\n{\nscale 0.7\nStates\n{\nSpawn:\nTNT1 A 0\nHEAL AA 1\nHEAL BC 2\nstop\n}\n}\n\n\tactor MediRifleTrail_BLUE : MediRifleTrail\n\t{\n\t}\n\n\tactor MediRifleTrail_RED : MediRifleTrail\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\t}\n//[+]=================================[+]\n\nactor HealFX\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+CLIENTSIDEONLY\nradius 8\nheight 8\nDamage (0)\nscale 3.0\nReactiontime 35\nRenderstyle \"ADD\"\nAlpha 0.8\nStates\n{\nSpawn:\nHEAL A 0\nHEAL A 15\nHEAL AAAABBBCC 1\nstop\n}\n}\n\nactor HealFX2\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+CLIENTSIDEONLY\nradius 8\nheight 8\nDamage (0)\nscale 1.5\nReactiontime 35\nRenderstyle \"ADD\"\nAlpha 1\nStates\n{\nSpawn:\nHEAL A 0\nHEAL A 10\nHEAL AAAABBBCC 1\nstop\n}\n}\n\nactor HealFX3\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+CLIENTSIDEONLY\nradius 8\nheight 8\nDamage (0)\nscale 1.5\nReactiontime 35\nRenderstyle \"ADD\"\nAlpha 1\nStates\n{\nSpawn:\nHEAL A 0\nHEAL A 5\nHEAL AAAABBBCC 1\nstop\n}\n}\n\nactor HealEffectSpawn : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealFX2\",30,0,random(0,50),momx/4,momy/4,1,random(0,360),SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0\nstop\nNope:\n//BUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\nactor HealBlockEffectSpawn : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 //A_SpawnItemEx(\"HealFX5\",30,0,random(0,50),momx/4,momy/4,-1,random(0,360),SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0\nstop\nNope:\n//BUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\nactor HealEffectSpawn2 : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_Jumpifinventory(\"HealEffectBuffer\",1,\"Nope\")\nTNT1 A 0 A_SpawnItemEx(\"HealEffectWatcher\")\nTNT1 A 0 A_GiveInventory(\"HealEffectBuffer\")\nTNT1 A 0\nstop\nNope:\n//BUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\nActor HealEffectWatcher\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\nReactiontime 7\nObituary \"%0 succumed to poison\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_GiveToTarget(\"HealEffectSpawn\",1)\nTNT1 A 4\nTNT1 A 0 A_Countdown\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\nactor MediRifleShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"MediRifleShot\",0,1,4,8)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"MediRifleShot_RED\",0,1,4,8)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"MediRifleShot_BLUE\",0,1,4,8)\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-08_MendingTool.txt",
        "contents": "/*=============================\nSome medics might not care to have a dangerous weapon double as a healing\nutility, well the Mending too is just for those people, a Full on medical\ndevice with it's faculties set 100% on aiding the wounded! and at the loss\nof self defense comes with an overall more effecient heal beam system.\n\n*///===========================\n\nactor MendingTool : WepMasterBase\n{\ntag \"Mending Tool\"\nWeapon.AmmoUse 0\nWeapon.AmmoGive 25\n\nscale 2.0\nObituary \"$OB_MENDINGTOOL\"\ninventory.icon \"MENDI\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"MendingToolClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nHLBR A 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nHLBB A 0\nRedReady:\n\"####\" A 0 A_Jumpifinventory(\"TargActive\",1,2)\n\"####\" A 0 ACS_ExecuteAlways(404,0,1,630)\n\"####\" A 0\n\"####\" A 1 A_WeaponReady\n\"####\" A 0 //A_GiveInventory(\"TargActive\",1)\n//\"####\" A 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n//\"####\" A 0 A_Jumpifinventory(\"MendingToolClip\",1,\"Ready\")\nGoto Ready\nDeselect:\nTNT1 A 0 A_TakeInventory(\"TargActive\",9)\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" A 1 A_Lower\nLoop\nSelect:\nTNT1 A 0 //A_GiveInventory(\"TargActive\",1)\nTNT1 A 0 ACS_ExecuteAlways(404,0,1,630)\nTNT1 A 0 //A_Gunflash\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" A 1 A_Raise\nLoop\nFire:\n\"####\" B 3 //A_GiveInventory(\"TargActive\",1)\nHold:\n\"####\" A 0\n\"####\" A 0 //A_GiveInventory(\"TargActive\",1)\n\"####\" A 0\n\"####\" A 0 A_PlaySoundEx(\"weapon/rollheal\",\"Weapon\")\n\"####\" A 0 A_GiveInventory(\"MendBeamShooter\")//A_FireCustomMissile(\"MendBeam\",0,0,8,0)\n\"####\" C 1\n\"####\" A 0 A_Refire\n\"####\" B 1 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_NULL, AAPTR_NULL)\n\"####\" A 0 A_TakeInventory(\"TargHolder\",999)\nGoto Ready\n\nNoAmmo:\n\"####\" A 1 //A_GiveInventory(\"TargActive\",1)\nGoto Ready\n\"####\" A 0 A_Jumpifinventory(\"MendingToolClip\",1,\"Ready\")\nReload:\n\"####\" A 1 Offset(0,32)\n\"####\" A 1 Offset(0,46)\n\"####\" A 1 Offset(0,58)\n\"####\" A 1 Offset(0,70)\n\"####\" A 1 Offset(0,82)\n\"####\" A 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" A 11\n\"####\" A 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" A 1 Offset(0,82)\n\"####\" A 1 Offset(0,70)\n\"####\" A 1 Offset(0,58)\n\"####\" A 1 Offset(0,46)\n\"####\" A 1 Offset(0,32)\n\"####\" A 0 A_Giveinventory(\"MendingToolClip\",25)\n\"####\" A 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" A 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 2 A_GiveInventory(\"TargActive\",1)\nTNT1 A 0\nloop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor MendingTool2 : MendingTool\n{weapon.slotnumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor MendingToolClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nActor healdelay : Powerup\n{\ninventory.amount 1\npowerup.duration 5\n}\n\nActor BeamFXBuffer : Powerup\n{\ninventory.amount 1\npowerup.duration 5\n}\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\n\n/*\nactor MendBeam\n{\nPROJECTILE\n+DONTBLAST\n//+LOOKALLAROUND\n+SEEKERMISSILE\n+NOCLIP\n+NOINTERACTION\nRenderstyle \"Translucent\"\nAlpha 0.95\nradius 8\nheight 8\nDamage (0)\nMeleerange 100\nspeed 10\nfloatspeed 28\nscale 3.0\nReactiontime 35\nStates\n{\nSpawn:\nLASH A 0\nLASH A 0\nLASH A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_TARGET, AAPTR_DEFAULT) //make the shooter our master\nLASH A 0 A_TransferPointer(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_TRACER,AAPTR_TRACER) //Set the Bullet's tracer to the Shooter's, if they have one.\nLASH A 0 A_JumpifTracercloser(630,\"QuickSpot\") //immediately got a tracer, let's aim for them!\nLASH A 0 A_TransferPointer(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_PLAYER_GETTARGET,AAPTR_TRACER) //if the reticle is on someone, let's go for them.\nLASH A 0 A_JumpifTracercloser(630,\"Targetcheck\")\nTNT1 A 1 A_LookEx(LOF_NOSOUNDCHECK, 1, 630, 0, 10, \"Targetcheck\")\nTNT1 A 0 A_SpawnItemEx(\"HealFX2\",30,random(-5,5),random(-5,5),momx/4,momy/4,1,0,SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nstop\nDoublecheck:\nTNT1 A 1\nLASH A 0 A_LookEx(LOF_NOSOUNDCHECK, 1, 630, 630, 25, \"Targetcheck\")\nstop\nTargetcheck:\nLASH A 0 A_Jumpifcloser(630,\"Targetcheck2\")\nGoto Doublecheck\nTargetcheck2:\nLASH A 0 A_Jumpifintargetinventory(\"RespawnCamera\",1,\"Doublecheck\") //You aren't spawned yet\nLASH A 0 A_Jumpifintargetinventory(\"IsHealer\",1,\"Doublecheck\") //don't go for yourself\nLASH A 0 A_JumpIf(IsPointerEqual(AAPTR_TARGET, AAPTR_MASTER) == TRUE, \"Doublecheck\") //don't go for yourself\n\nLASH A 0 //A_Jumpifintargetinventory(\"WilyTeamFlag\",1,\"Doublecheck\") //don't Heal enemies\nLASH A 0 //A_Jumpifintargetinventory(\"CossackTeamFlag\",1,\"Doublecheck\") //don't Heal enemies\nLASH A 0 //A_Jumpifintargetinventory(\"KingTeamFlag\",1,\"Doublecheck\") //don't Heal enemies\nGoto Targetspotted\nQuickSpot:\nLASH A 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_DEFAULT)\nGoto Targetspotted\nTargetspotted:\nLASH A 0 A_Facetarget\nTNT1 A 1 A_CustomMissile(\"MendBeamFX\",0,0,0,0)\nGoto AfterSpot\nAfterSpot:\nLASH A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_TARGET) //make the target our tracer\nLASH A 0 A_TransferPointer(AAPTR_DEFAULT,AAPTR_MASTER,AAPTR_TRACER,AAPTR_TRACER) //Set the shooter's tracer to the bullet's\nLASH A 0 A_Jump(256,\"GiveHealth\")\ngoto GiveHealth\nDeath:\nTNT1 A 0\nstop\nGiveHealth:\nTNT1 A 1 A_Stop\nLASH A 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_DEFAULT)\nTNT1 A 0 A_GiveToTarget(\"MendBeamHeal\",1)\nTNT1 A 0 A_GiveInventory(\"TargHolder\",1,AAPTR_MASTER)\n\nstop\n}\n}\n*/\n\nactor MendBeam\n{\nPROJECTILE\n+DONTBLAST\n//+LOOKALLAROUND\n+SEEKERMISSILE\n+NOCLIP\n+NOINTERACTION\nRenderstyle \"Translucent\"\nAlpha 0.95\nradius 8\nheight 8\nDamage (0)\nMeleerange 100\nspeed 10\nfloatspeed 28\nscale 3.0\nReactiontime 35\nStates\n{\nSpawn:\nLASH A 0\nLASH A 0\nLASH A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_TARGET, AAPTR_DEFAULT) //make the shooter our master\nLASH A 0 A_TransferPointer(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_TRACER,AAPTR_TRACER) //Set the Bullet's tracer to the Shooter's, if they have one.\nLASH A 0 A_JumpifTracercloser(630,\"Targetspotted\") //immediately got a tracer, let's aim for them!\n\nTNT1 A 0 A_JumpifinTargetInventory(\"BeamFXBuffer\",1,3)\nTNT1 A 0 A_SpawnItemEx(\"HealFX2\",30,random(-5,5),random(-5,5),momx/4,momy/4,1,0,SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_GiveToTarget(\"BeamFXBuffer\",1)\nTNT1 A 0\nstop\n\nTargetspotted:\nLASH A 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_DEFAULT)\nLASH A 0 A_Facetarget\nTNT1 A 1 A_CustomMissile(\"MendBeamFX\",0,0,0,0)\nGoto AfterSpot\nAfterSpot:\nLASH A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_TARGET) //make the target our tracer\nLASH A 0 A_TransferPointer(AAPTR_DEFAULT,AAPTR_MASTER,AAPTR_TRACER,AAPTR_TRACER) //Set the shooter's tracer to the bullet's\nLASH A 0 A_Jump(256,\"GiveHealth\")\ngoto GiveHealth\nDeath:\nTNT1 A 0\nstop\nGiveHealth:\nTNT1 A 1 A_Stop\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"Actor_Classifier\",ACS_NamedExecuteWithResult(\"Tracer_GetTID\"),7) == TRUE,\"Detatch\")\n\nLASH A 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_DEFAULT)\nTNT1 A 0 A_GiveToTarget(\"MendBeamHeal\",1)\nTNT1 A 0 A_GiveInventory(\"TargHolder\",1,AAPTR_MASTER)\nstop\nDetatch: //clear the tracer from the healer's pointer\nTNT1 A 0 A_GiveInventory(\"TracerEraser\",1,AAPTR_MASTER)\nstop\n}\n}\n\nactor MendBeam_RED : MendBeam\n{\ntranslation \"192:192=54:54\", \"198:198=42:42\"\nStates\n{\n/*\nTargetcheck2:\nLASH A 0 A_Jumpifintargetinventory(\"RespawnCamera\",1,\"Doublecheck\") //You aren't spawned yet\nLASH A 0 A_JumpIf(IsPointerEqual(AAPTR_TARGET, AAPTR_MASTER) == TRUE, \"Doublecheck\") //don't go for yourself\nLASH A 0 A_Jumpifintargetinventory(\"LightTeamFlag\",1,\"Doublecheck\") //don't Heal enemies\nLASH A 0 A_Jumpifintargetinventory(\"CossackTeamFlag\",1,\"Doublecheck\") //don't Heal enemies\nLASH A 0 A_Jumpifintargetinventory(\"KingTeamFlag\",1,\"Doublecheck\") //don't Heal enemies\nGoto Targetspotted\nQuickSpot:\nLASH A 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_DEFAULT)\nGoto Targetspotted\n*/\nTargetspotted:\nLASH A 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_DEFAULT)\nLASH A 0 A_Facetarget\nTNT1 A 1 A_CustomMissile(\"MendBeamFX_RED\",0,0,0,0)\nGoto AfterSpot\n}\n}\n\nactor MendBeam_BLUE : MendBeam\n{\nStates\n{\n/*\nTargetcheck2:\nLASH A 0 A_Jumpifintargetinventory(\"RespawnCamera\",1,\"Doublecheck\") //You aren't spawned yet\nLASH A 0 A_JumpIf(IsPointerEqual(AAPTR_TARGET, AAPTR_MASTER) == TRUE, \"Doublecheck\") //don't go for yourself\nLASH A 0 A_Jumpifintargetinventory(\"WilyTeamFlag\",1,\"Doublecheck\") //don't Heal enemies\nLASH A 0 A_Jumpifintargetinventory(\"CossackTeamFlag\",1,\"Doublecheck\") //don't Heal enemies\nLASH A 0 A_Jumpifintargetinventory(\"KingTeamFlag\",1,\"Doublecheck\") //don't Heal enemies\nGoto Targetspotted\nQuickSpot:\nLASH A 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_DEFAULT)\nGoto Targetspotted\n*/\nTargetspotted:\nLASH A 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_DEFAULT)\nLASH A 0 A_Facetarget\nTNT1 A 1 A_CustomMissile(\"MendBeamFX\",0,0,0,0)\nGoto AfterSpot\n}\n}\n//[+]========================================================================[+]\n//--------------------------------|utility Actors|------------------------------\n//[+]========================================================================[+]\n\nactor MendBeamHeal : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"Nope\")\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"Actor_Classifier\",0,7) == TRUE,\"Nope\")\n\nTNT1 A 0 A_Jumpifinventory(\"HealDelay\",1,\"Nope\")\nTNT1 A 0 A_Jumpifinventory(\"PoisonMark\",1,\"HealBlock\")\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(GetTotalHPPerc,0)>=100,\"Nope\") // no overheal in this mod\nTNT1 A 1 A_Giveinventory(\"HealDelay\")\nTNT1 A 0 A_Giveinventory(\"HealEffectSpawn\",1)\nTNT1 A 0 HealThing(ACS_ExecuteWithResult(HealRamp,18,38))\nTNT1 A 0 A_PlaySoundEx(\"item/energyup\",\"Weapon\")\nTNT1 A 0\nstop\n\nNope:\nTNT1 A 0\nstop\n\nHealBlock:\nTNT1 A 1 A_Giveinventory(\"HealDelay\")\nTNT1 A 1 A_Giveinventory(\"DetoxLevel\",6)\nTNT1 A 1 A_Giveinventory(\"DetoxEfectSpawn\")\nstop\n}\n}\n\nactor TracerEraser : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0\nLASH A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_NULL)\nstop\n\n}\n}\n//[+]========================================================================[+]\n//--------------------------------|effect Actors|------------------------------\n//[+]========================================================================[+]\nactor MendBeamFX\n{\n+MISSILE\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\n+NOCLIP\nSpeed 25\nDamage (0)\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_Jumpifcloser(100,\"Death\")\nTNT1 A 0 A_Spawnitemex(\"BeamGraphic2\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\nTNT1 A 1 A_Facetarget\nGoto BeamContinue\nBeamContinue:\nTNT1 A 0 A_CustomMissile(\"MendBeamFX\",0,0,0,0)\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\n\tactor MendBeamFX_RED : MendBeamFX {\n\ttranslation \"192:192=54:54\", \"198:198=42:42\"\n\tStates\n\t{\n\tSpawn:\n\tTNT1 A 0\n\tTNT1 A 0 A_Jumpifcloser(100,\"Death\")\n\tTNT1 A 0 A_Spawnitemex(\"BeamGraphic2\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n\tTNT1 A 1 A_Facetarget\n\tGoto BeamContinue\n\tBeamContinue:\n\tTNT1 A 0 A_CustomMissile(\"MendBeamFX_RED\",0,0,0,0)\n\tstop\n\t}\n\t}\n\nactor BeamGraphic2 : FXActor_B\n{\n+NOINTERACTION\n+NOGRAVITY\n+CLIENTSIDEONLY\n+FORCEXYBILLBOARD\n-SOLID\nscale 2.5\nalpha 0.6\nheight 0\nradius 0\nStates\n{\nSpawn:\nTNT1 A 0\nBASB UUU 1\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\n\nactor MendBeamShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBUST C 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBUST C 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST C 1 A_FireCustomMissile(\"MendBeam\",0,0,13,0,0,0)\nstop\nTeamRedFire:\nBUST C 1 A_FireCustomMissile(\"MendBeam_RED\",0,0,13,0,0,0)\nTNT1 A 0\nstop\nTeamBlueFire:\nBUST C 1 A_FireCustomMissile(\"MendBeam_BLUE\",0,0,13,0,0,0)\nTNT1 A 0\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-09_Subwich.txt",
        "contents": "/*=============================\nThis may seem like something we pulled from the lunchroom, but in actuallity this\nis part of our line of multinutrient, rapid sustanance field consumables. this\nobject in particular being are latest and greatest breakthrough...Honest!\n\nThe way it works is simple, you bite off the exposed top half composed of a mix\nof grains, proteins, and fibers. and your physical and mental condition should\nimprove once you engage the mastication process. take care when you whip out\nthis life saving device as you are highly vulnerable while using it. inappropriate\nuse could very well be the death of you.\n\n*///===========================\n\nactor SubWich : WepMasterBase\n{\ntag \"SubWich\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 1\n\nscale 2.0\nObituary \"$OB_SUBWICH\"\ninventory.icon \"SUBWI\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"LunchboxAmmo\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nSBWR A 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nSBWB A 0\nRedReady:\n\"####\" A 1 A_WeaponReady\n\"####\" A 0 //A_Giveinventory(\"LunchTime\")\nGoto Ready\n\nReady2:\nSBWR A 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady2\")\nSBWB A 0\nRedReady2:\n\"####\" B 1 A_WeaponReady\n\"####\" B 0 //A_Giveinventory(\"LunchTime\")\nGoto Ready2\n\nDeselect:\n\"####\" A 0 A_TakeInventory(\"Snacking\",999)\n\"####\" A 0 A_TakeInventory(\"CritAble\",999)\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" A 1 A_Raise\nLoop\nFire:\n\"####\" \"#\" 1 Offset(0,32)\n\"####\" \"#\" 1 Offset(0,46)\n\"####\" \"#\" 1 Offset(0,58)\n\"####\" \"#\" 1 Offset(0,70)\n\"####\" \"#\" 1 Offset(0,82)\n\"####\" \"#\" 0 A_PlaySoundEx(\"weapon/lasertrident\",\"Weapon\")\n\"####\" B 3\n\"####\" B 0 A_Stopsoundex(\"Weapon\")\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 0 A_Giveinventory(\"SnackingStarter\",1)\ngoto Ready2\n\nNoAmmo:\n\"####\" \"#\" 1\n\"####\" \"#\" 0 A_Jumpifinventory(\"BlitzerClip\",1,\"Ready\")\nGoto Ready\nFlash:\nTNT1 A 1\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor SubWich2 : SubWich\n{weapon.slotnumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor LunchboxAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nActor Snacking : powerup\n{inventory.amount 1 powerup.duration -5}\n\nActor SnackingSpeed : PowerSpeed\n{inventory.amount 1 powerup.duration 5 speed 0.6}\n\nActor LunchTime : powerup\n{inventory.amount 1 powerup.duration 17}\n//[+]========================================================================[+]\n//--------------------------------|utility Actors|------------------------------\n//[+]========================================================================[+]\n\nactor SnackingStarter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_jumpifinventory(\"Snacking\",1,\"Nope\")\nTNT1 A 0 A_Giveinventory(\"Snacking\",1)\nTNT1 A 0 A_Spawnitemex(\"SnackingRegenWatcher\")\nTNT1 A 0\nstop\nNope:\nTNT1 A 0 A_Giveinventory(\"Snacking\",1)\nTNT1 A 0\nstop\n}\n}\n\nActor SnackingRegenWatcher\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\nReactiontime 7\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_Jumpifintargetinventory(\"BurnMark\",1,3)\nTNT1 A 0 A_Jumpifintargetinventory(\"PoisonMark\",1,2)\nTNT1 A 0 A_GiveToTarget(\"Health\",3)\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"SnackingSpeed\",1)\nTNT1 A 0 A_GiveToTarget(\"CritAble\",1)\nTNT1 A 0 A_GiveToTarget(\"HealEffectSpawn\")\nTNT1 A 7\nTNT1 A 0 A_Jumpifintargetinventory(\"isdead\",1,\"Death\")\nTNT1 A 0 A_Jumpifintargetinventory(\"Snacking\",1,\"Spawn\")\nGoto Death\nDeath:\nTNT1 A 0\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-10_TAGMissile.txt",
        "contents": "/*=============================\nSpeedy, twitchy little son of a pricks that are bounding all over\nthe place like they own it, We've ran into critters like like that\nbefore and they never fail to frustrate. a high velocity weapon can\ncease their silliness but that's if you can keep a beat on them in\nthe first place!\n\nWell Neumodian Enterprices as always, has the answer, the T.A.G\nmissile launcher, a weapon only a little bit larger than a Hi.P.E gun\nthat launches specialty ammunition called Target Aquiring G.O.T.E.M\nmissiles!\n\nThat's right, the G in TAG is an acronym as well! standing for...well\nwe don't have that info on hand but what's important is that they will\nseek out marked targets and blow em up! all you need is to gain sight of\nthem once and that will be the last you see of your target!\n*///===========================\n\nactor TAGMissile : WepMasterBase\n{\nTag \"TAG Missile\"\nWeapon.AmmoUse 1\nWeapon.AmmoUse2 0\nWeapon.AmmoGive 1\nscale 2.0\nObituary \"$OB_TAGMISSILE\"\ninventory.icon \"TAGMI\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"TAGMissileClip\"\nweapon.ammotype2 \"TAGMissileClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nRCNR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nRCNB B 0\nRedReady:\n\"####\" B 1 A_WeaponReady\n\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\"####\" B 0 A_Jumpifinventory(\"CycleReloadDelay\",1,\"Ready\")\n\"####\" B 0 A_jumpifinventory(\"TAGMissileClip\",1,\"Ready\")\nGoto Reload\n\"####\" B 0 A_PlaySound(\"weapon/rminestick\")\n\"####\" B 0 A_GiveInventory(\"TAGMissileClip\")\nGoto Ready\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 B 0 A_GiveInventory(\"CycleReloadDelay\")\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_Jumpifinventory(\"WeaponCharge\",12,\"Lockon\")\n\"####\" B 1 A_Giveinventory(\"WeaponCharge\",1)\n\"####\" B 0 A_GiveInventory(\"HeatCoolDelay\")\n\"####\" B 2 A_REfire(\"Fire\")\n\n\"####\" B 0 A_PlaySoundEx(\"weapon/Magnetmissile\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"TAGMissileShooter2\")\n\"####\" B 0 A_takeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 A_takeInventory(\"WeaponCharge\",999)\n\nLockon:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_PlaySoundEx(\"misc/fakereloadshort\",\"Weapon\")\n\"####\" B 0 A_RearrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_NULL)\n\"####\" B 2 Offset(0,32)\n\"####\" B 2 Offset(0,26)\n\"####\" B 2 Offset(0,20)\n\"####\" B 2\n\"####\" B 0 A_GiveInventory(\"TargActive\",1)\n\"####\" B 0 ACS_ExecuteAlways(404,0,0,1120)\n\nHold:\n\"####\" B 0 //A_JumpIf(IsPointerEqual(AAPTR_TRACER, AAPTR_NULL) == FALSE, 2)\n\"####\" B 0 //ACS_NamedExecuteAlways(\"TAGScanner\",0, 250)//A_transferpointer(AAPTR_PLAYER_GETTARGET,AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_TRACER)\n\"####\" B 0\n\"####\" B 1 A_GiveInventory(\"TagReticleSpawner\",1,AAPTR_TRACER)\n\"####\" B 0 A_GiveInventory(\"TargActive\",1)\n\"####\" A 0 //A_GiveInventory(\"TargContractor\")\n\"####\" B 0 A_Refire(\"Hold\")\n\n\"####\" B 0 A_JumpIf(IsPointerEqual(AAPTR_TRACER, AAPTR_NULL) == TRUE, \"NoTargShot\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/Magnetmissile\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"TAGMissileShooter\")\n\"####\" B 0 A_TakeInventory(\"TargActive\",1)\n\n\"####\" BCD 2 A_WeaponReady(WRF_NOPRIMARY)\n\"####\" B 0 A_RearrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_NULL)\n\"####\" B 12 A_WeaponReady(WRF_NOPRIMARY)\n\"####\" B 0 A_takeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 A_takeInventory(\"WeaponCharge\",999)\n//\"####\" B 0 A_GiveInventory(\"CycleReloadDelay\")\ngoto Reload\n\nNoTargShot:\n\"####\" B 0 A_PlaySoundEx(\"weapon/Magnetmissile\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"TAGMissileShooter2\")\n\"####\" B 0 A_TakeInventory(\"TargActive\",1)\n\n\"####\" BCD 2 A_WeaponReady(WRF_NOPRIMARY)\n\"####\" B 0 A_RearrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_NULL)\n\"####\" B 12 A_WeaponReady(WRF_NOPRIMARY)\n\"####\" B 0 A_takeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 A_takeInventory(\"WeaponCharge\",999)\n//\"####\" B 0 A_GiveInventory(\"CycleReloadDelay\")\ngoto Reload\n\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_jumpifinventory(\"TAGMissileClip\",1,\"Ready\")\nReload:\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 26 //A_WeaponReady(WRF_NOBOB)\nReloadloop:\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_Giveinventory(\"TAGMissileClip\",1)\n\"####\" B 0 A_Jumpifinventory(\"TAGMissileClip\",1,\"ReloadLoopEnd\")\n\"####\" B 0 A_Jumpifinventory(\"TAGMissileClip\",1,2)\n\"####\" B 19 Offset(0,82)\nGoto Reloadloop\n\"####\" B 26 //A_WeaponReady(WRF_NOBOB)\nGoto Reloadloop\nReloadLoopEnd:\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 1\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor TAGMissile2 : TAGMissile\n{Weapon.SlotNumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor TAGMissileClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.IGNORESKILL\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor TAGMissileProjectile //: ProjectileBase\n{\nPROJECTILE\ndamagetype \"Explosion\"\nradius 5\nheight 5\nscale 3.0\n+SEEKERMISSILE\n+SCREENSEEKER\n+MTHRUSPECIES\n\n//-ALLOWBOUNCEONACTORS\nspeed 15\ngravity 1.3\nbouncefactor 0.9\nseesound \"weapon/megaball\"\nDamage (30)\nwallbouncefactor 0.95\nreactiontime 24\nvar int User_HomingRamp;\nObituary \"$OB_TAGMISSILE\"\nMaxTargetRange 1\nStates\n{\nSpawn:\nMINB A 0\nMINB A 0 A_TransferPointer(AAPTR_TARGET,AAPTR_DEFAULT,AAPTR_TRACER,AAPTR_TRACER)\nDIVE A 0 A_JumpIf(IsPointerEqual(AAPTR_TRACER, AAPTR_NULL) == FALSE, \"Lock\")//A_JumpIfTracerCloser(1000,\"Lock\")\nTrack:\nDIVE ABAB 1\nDIVE A 0 A_Countdown\nloop\nLock:\nDIVE A 0 A_PlaySoundEx(\"weapon/Trigger\",\"Soundslot6\")\nDIVE A 0 A_ChangeFlag(\"BOUNCEONWALLS\",1)\nDIVE A 0\nDIVE A 0 A_JumpifTracerCloser(450,\"Chase\")\ngoto Rush\n\nChase:\nDIVE A 0 A_PlaySoundEx(\"weapon/heat3\",\"Weapon\")\nDIVE ABAB 1 A_SeekerMissile (User_HomingRamp, User_HomingRamp)\nDIVE A 0 A_JumpIf(User_HomingRamp >= 90,2)\nDIVE A 0 A_SetUserVar(\"User_HomingRamp\",User_HomingRamp+3)\nDIVE A 0\nDIVE A 0 A_Countdown\nDIVE A 0 A_JumpifTracerCloser(450,\"Chase\")\ngoto Rush\nRush:\nDIVE A 0 A_PlaySoundEx(\"weapon/heat1\",\"Weapon\")\nDIVE A 0 A_SeekerMissile (User_HomingRamp, User_HomingRamp)\nDIVE A 1 A_ChangeVelocity(45,0,momz,CVF_REPLACE|CVF_RELATIVE) //this applies forward speed\nDIVE B 0 A_SeekerMissile (User_HomingRamp, User_HomingRamp)\nDIVE B 1 A_ChangeVelocity(45,0,momz,CVF_REPLACE|CVF_RELATIVE) //this applies forward speed\n\nDIVE A 0 A_JumpIf(User_HomingRamp >= 90,2)\nDIVE A 0 A_SetUserVar(\"User_HomingRamp\",User_HomingRamp+3)\nDIVE A 0\nDIVE A 0 A_Countdown\nDIVE A 0 A_Jumpifinventory(\"BP_Active\",1,\"Rush\",AAPTR_TRACER)\nDIVE A 0 A_Jumpifinventory(\"HookOutFlag\",1,\"Rush\",AAPTR_TRACER)\nDIVE A 0 A_JumpifTracerCloser(450,\"Chase\")\nloop\n\nCrash:\nDeath:\nAMIS A 0 A_Jumpifcloser(100,\"blastjump\")\nMINB A 0 A_SpawnItemEx(\"TAGMissileSource\")//ACS_ExecuteAlways(BlastKnockback,0,50,18,100)\nMINB D 1 A_Explode(35, 164, 1,0,120)\nTNT1 A 1 A_SpawnItemEx(\"TAGMissileExplosion\")\nstop\nXDeath:\nDIVE AA 1 A_Stop\nTNT1 A 1 A_SpawnItemEx(\"TAGMissileExplosion\")\nstop\n//---\nblastjump:\nMINB A 0 A_SpawnItemEx(\"TAGMissileSource\")//ACS_ExecuteAlways(BlastKnockback,0,50,18,100)\nMINB A 0 A_GiveToTarget(\"BlastProtection\")\nMINB D 1 A_Explode(35, 164, 1,0,120)\nTNT1 A 1 A_SpawnItemEx(\"TAGMissileExplosion\")\nstop\n}\n}\n\n\tactor TAGMissileProjectile_BLUE : TAGMissileProjectile{}\n\tactor TAGMissileProjectile_RED : TAGMissileProjectile{translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"}\n\nactor TAGMissileProjectile2 //Doesn't Home in, but is faster\n{\nPROJECTILE\ndamagetype \"Explosion\"\nradius 7\nheight 7\nscale 3.0\n+MTHRUSPECIES\nspeed 45\nDamage (30)\nreactiontime 24\nObituary \"$OB_TAGMISSILE\"\nStates\n{\nSpawn:\nMINB A 0\nDIVE ABAB 1\nDIVE A 0 A_Countdown\nloop\n\nCrash:\nDeath:\nAMIS A 0 A_Jumpifcloser(100,\"blastjump\")\nMINB A 0 A_SpawnItemEx(\"TAGMissileSource2\")//ACS_ExecuteAlways(BlastKnockback,0,50,18,100)\nMINB D 1 A_Explode(35, 180, 1,0,100)\nTNT1 A 1 A_SpawnItemEx(\"TAGMissileExplosion\")\nstop\nXDeath:\nDIVE AA 1 A_Stop\nTNT1 A 1 A_SpawnItemEx(\"TAGMissileExplosion\")\nstop\n//---\nblastjump:\nMINB A 0 A_SpawnItemEx(\"TAGMissileSource2\")//ACS_ExecuteAlways(BlastKnockback,0,50,18,100)\nMINB A 0 A_GiveToTarget(\"BlastProtection\")\nMINB D 1 A_Explode(35, 180, 1,0,100)\nTNT1 A 1 A_SpawnItemEx(\"TAGMissileExplosion\")\nstop\n}\n}\n\n\tactor TAGMissileProjectile2_BLUE : TAGMissileProjectile2 {}\n\tactor TAGMissileProjectile2_RED : TAGMissileProjectile2 {translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"}\n\n//[+]========================================================================[+]\n//--------------------------------|Effect Actors|------------------------------\n//[+]========================================================================[+]\n// [+++]=============================[+++]\nactor TAGMissileExplosion : ExplosionBase //now just the FX due to desynch\n{\nscale 3.0\nStates\n{\nSpawn:\nMINB A 0\nNAPC D 0 //A_Explode(35, 350, 1,0,36)\nNAPC A 0 A_PlaySoundEx(\"weapon/napalm\", \"Weapon\")\nASEX ABCDDEEF 1\nstop\n}\n}\n\nactor TAGMissileSource : ExplosionBase //\n{\nStates\n{\nSpawn:\nMINB A 0\nNAPC D 0 //A_Explode(35, 350, 1,0,36)\nMINB A 0 ACS_ExecuteAlways(BlastKnockback,0,40,50,100)\nTNT1 AA 1\nstop\n}\n}\n\nactor TAGMissileSource2 : ExplosionBase //\n{\nStates\n{\nSpawn:\nMINB A 0\nNAPC D 0 //A_Explode(35, 350, 1,0,36)\nMINB A 0 ACS_ExecuteAlways(BlastKnockback,0,70,60,160)\nTNT1 AA 1\nstop\n}\n}\n\nactor TAGMissileTrail : FXActor_A\n{\nscale 0.8\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 2\nMINB IIIIII 1\nMINB IIIIII 1 A_Fadeout\nstop\n}\n}\n\nactor TAGMissileReticle : FXActor_A\n{\n+MTHRUSPECIES\n+DONTSPLASH\n-CLIENTSIDEONLY\nscale 3.2\nStates\n{\nSpawn:\nTNT1 A 0\nSCSR B 2\nstop\n}\n}\n\n\tactor TAGMissileReticle_BLUE : TAGMissileReticle\n\t{\n\t}\n\n\tactor TAGMissileReticle_RED : TAGMissileReticle\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\t}\n\nactor TagReticleSpawner : CustomInventory\n{\nStates\n{\nPickup:\nBLTR C 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nPRMN A 0 A_SpawnitemEx(\"TAGMissileReticle\",0,0,40,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)\nstop\nTeamRedFire:\nPRMN A 0 A_SpawnitemEx(\"TAGMissileReticle_BLUE\",0,0,40,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)\nTNT1 A 0\nstop\nTeamBlueFire:\nPRMN A 0 A_SpawnitemEx(\"TAGMissileReticle_RED\",0,0,40,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)\nTNT1 A 0\nstop\n}\n}\n\nactor TAGMissileAimsight : HiPERBeamTrail\n{\n+DONTSPLASH\nspeed 75\nscale 0.7\nStates\n{\nSpawn:\nTNT1 A 0\nBASB U 0 A_Jumpifcloser(800,\"Spawn2\")\nGoto Death\nSpawn2:\n\"####\" U 0 A_Spawnitemex(\"TAGMissileAimsight\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n\"####\" U 0 A_Stop\n\"####\" UU 1 A_Stop\nstop\nDeath:\n\"####\" U 0\nstop\n}\n\n}\n\n\tactor TAGMissileAimsight_BLUE : TAGMissileAimsight\n\t{\n\t}\n\n\tactor TAGMissileAimsight_RED : TAGMissileAimsight\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\"\n\t}\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\nactor TAGMissileShooter : CustomInventory  //places a buster posie based on the team.\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 0 A_FireCustomMissile(\"TAGMissileProjectile\",0,2,0,2)\nstop\nTeamRedFire:\nBUST B 0 A_FireCustomMissile(\"TAGMissileProjectile_RED\",0,2,0,2)\nTNT1 A 0\nstop\nTeamBlueFire:\nBUST B 0 A_FireCustomMissile(\"TAGMissileProjectile_BLUE\",0,2,0,2)\nTNT1 A 0\nstop\n}\n}\n\nactor TAGMissileShooter2 : CustomInventory  //places a buster posie based on the team.\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 0 A_FireCustomMissile(\"TAGMissileProjectile2\",0,2,0,2)\nstop\nTeamRedFire:\nBUST B 0 A_FireCustomMissile(\"TAGMissileProjectile2_RED\",0,2,0,2)\nTNT1 A 0\nstop\nTeamBlueFire:\nBUST B 0 A_FireCustomMissile(\"TAGMissileProjectile2_BLUE\",0,2,0,2)\nTNT1 A 0\nstop\n}\n}\n\nactor TagBeamShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\n\nBUST B 1 A_FireCustomMissile(\"TAGMissileAimsight\",0,0,0,0)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"TAGMissileAimsight_RED\",0,0,0,0)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"TAGMissileAimsight_BLUE\",0,0,0,0)\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/NWN-11_Crisperizer.txt",
        "contents": "/*=============================\nSlow but toasty, the Crisperizer is a buster gun that fires heated blasts to\nroast any opponent, these shots aren't as quick as the regular buster gun but\nthey are noticeably larger!\n\n*///===========================\n\nactor Crisperizer : WepMasterBase\n{\nTag \"Crisperizer\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 8\nscale 2.0\nObituary \"$OB_CRISPERIZER\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"CrisperizerClip\"\ninventory.icon \"CRISI\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUSR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nBUST B 0\nRedReady:\n\"####\" B 1 A_WeaponReady\n\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\"####\" B 0 A_Jumpifinventory(\"CrisperizerClip\",1,\"Ready\")\nGoto Reload\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/magmabazooka\",\"Weapon\")\n\"####\" B 0 A_GiveInventory(\"CrisperizerShooter\")\n\"####\" CDD 2 A_WeaponReady(WRF_NOPRIMARY)\n\"####\" B 11\n\"####\" C 0 A_REfire\ngoto Ready\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"CrisperizerClip\",1,\"Ready\")\nReload:\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 28\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 0 A_Giveinventory(\"CrisperizerClip\",8)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor Crisperizer2 : Crisperizer\n{Weapon.SlotNumber 2}\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\nactor CrisperizerClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 8\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor CrisperizerShot : ProjectileBase\n{\nSpeed 65\nDamage (25 + ACS_ExecuteWithResult(DamageRate,10,range2,8))\nradius 12\nDamagetype \"Crisperizer\"\n//MissileHeight 16\nheight 8\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0  //A_Changevelocity(0,random(-4,4),random(-4,4),CVF_RELATIVE)\nTNT1 A 0\nSpawn2:\nCRIS A 1\nTNT1 A 0 A_Spawnitemex(\"CrisperizerTrail\",0,0,0,VELX/2,VELY/2,VELZ/2,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEVELOCITY)\nLoop\nDeath:\nBSTG A 1 A_Spawnitemex(\"CrisperizerPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\n\tactor CrisperizerShot_BLUE : CrisperizerShot\n\t{//MissileType \"CrisperizerTrail\"\n\n\t}\n\n\tactor CrisperizerShot_RED : CrisperizerShot\n\t{//MissileType \"CrisperizerTrail_RED\"\n\ttranslation \"192:192=160:160\", \"198:198=42:42\", \"196:196=215:215\", \"197:197=226:226\"\n\t}\n\n//[+]========================================================================[+]\n//--------------------------------|Special Actors|------------------------------\n//[+]========================================================================[+]\nactor CrisperizerPuff1 : FXActor_A\n{\nscale 3\nStates\n{\nSpawn:\nBIM1 AABCDEF 1\nstop\n}\n}\n\nactor CrisperizerTrail : FXActor_A\n{\nscale 1.8\nAlpha 0.9\nStates\n{\nSpawn:\nCRBM A 0\nCRIS BCDE 2\n//BSTG AAAAA 1 A_Fadeout\nstop\n}\n}\n\nactor CrisperizerTrail_RED : CrisperizerTrail\n{translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\", \"241:241=191:191\"}\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\nactor CrisperizerShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"CrisperizerShot\",0,1,4,4)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"CrisperizerShot_RED\",0,1,4,4)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"CrisperizerShot_BLUE\",0,1,4,4)\nTNT1 A 1\nstop\n}\n}"
      }
    ]
  },
  "maps": []
}

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