Raw model (for completeness)
{
"meta": {
"id": "0804b5a6-74f9-4ac9-b5a4-c29f0f412be9",
"sha1": "f9cfa2feafedb8d7d1511ee952c12750af0a4794",
"sha256": "f95fc3e69815d800753e9495c473084cf15edd5ba801da79571698bbb93fc6a3",
"filenames": [
"theneumodianproject-beta-b1.pk3"
],
"additional": {
"engines": [
"ZDOOM"
],
"iwad": [],
"filename": null,
"added": "2018-06-18 12:44:31",
"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": "2018-06-18 12:44:31",
"file": {
"type": "PK3",
"size": 3396757,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/f9cfa2feafedb8d7d1511ee952c12750af0a4794/f9cfa2feafedb8d7d1511ee952c12750af0a4794.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 1047,
"maps": 0,
"palettes": 0
},
"engines_guess": [
"ZDOOM"
]
},
"analysis": {
"title": "theneumodianproject-beta-b1",
"description": "This WAD is a single large PK3 file designed for ZDoom-compatible engines, containing no traditional maps but extensive custom content and HUD modifications. It features a complex status bar with multiple custom HUD elements, indicating a focus on enhanced player interface rather than new levels. The absence of maps and monster data suggests it is a mod or project supplement rather than a standalone mapset. The content likely includes new graphics, weapons, or gameplay mechanics, emphasizing customization and player feedback. No IWAD dependency is specified, and the WAD is not vanilla compatible. The structure is non-linear due to the lack of maps, focusing on engine-specific enhancements.",
"tags": [
"boom_compatible",
"custom_interface",
"hud_mod",
"mod",
"no_maps",
"nonlinear",
"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, 140;\n\tInInventory WilyTeamFlag, 1 {DrawImage \"NEHUDHR\", 0, 140;}\n\tDrawImage \"ALTHUD\", 0, 161;\n\tInInventory WilyTeamFlag, 1 {DrawImage \"ALTHUD_R\", 0, 161;}\n\tDrawImage weaponicon, 37,135; //58, 132;\n\tDrawBar \"NHLTHB\", \"NBARE\", Health, Horizontal, 8,152;//39, 114;\n\t//DrawBar \"NARMR\", \"NNOBAR\", Basicarmor, Horizontal, 8,152;//39, 114;\n\n\tDrawNumber 3, CONFONT, UNTRANSLATED, Health,fillzeros, alignment(Left), 3,135;//10, 116; //72\n\nInInventory not NoClipBar, 1{\nDrawNumber 3, smallfont, white, Ammo1, alignment(left), 48,135;//27, 132;\n}\n\nininventory PersonalShieldFlag ,1\n\t{\n\tDrawImage \"RESO01\", 17, 161;\n\tDrawBar \"RESOBR\", \"NORESO\", PersonalShieldHealth, Horizontal, 33, 161;\n\tininventory PShieldBreaker ,1 {DrawBar \"GRRESO\", \"NORESO\", PersonalShieldHealth, Horizontal, 33, 161;}\n\t}\n\n//[+]======================================[+]\n//--------------|Emblem huds|---------------\n//[+]======================================[+]\nInInventory PlayerIconFlag,1 {InInventory not PlayerIconFlag,2 {DrawImage \"SE00A0\", 87, 156;}}\nInInventory PlayerIconFlag,2 {InInventory not PlayerIconFlag,3 {DrawImage \"SE00B0\", 87, 156;}}\nInInventory PlayerIconFlag,3 {InInventory not PlayerIconFlag,4 {DrawImage \"SE00C0\", 87, 156;}}\nInInventory PlayerIconFlag,4 {InInventory not PlayerIconFlag,5 {DrawImage \"SE00D0\", 87, 156;}}\nInInventory PlayerIconFlag,5 {InInventory not PlayerIconFlag,6 {DrawImage \"SE00E0\", 87, 156;}}\nInInventory PlayerIconFlag,6 {InInventory not PlayerIconFlag,7 {DrawImage \"SE00F0\", 87, 156;}}\nInInventory PlayerIconFlag,7 {InInventory not PlayerIconFlag,8 {DrawImage \"SE00G0\", 87, 156;}}\nInInventory PlayerIconFlag,8 {InInventory not PlayerIconFlag,9 {DrawImage \"SE00H0\", 87, 156;}}\nInInventory PlayerIconFlag,9 {InInventory not PlayerIconFlag,10 {DrawImage \"SE00I0\", 87, 156;}}\nInInventory PlayerIconFlag,10 {InInventory not PlayerIconFlag,11 {DrawImage \"SE00J0\", 87, 156;}}\nInInventory PlayerIconFlag,11 {InInventory not PlayerIconFlag,12 {DrawImage \"SE00K0\", 87, 156;}}\nInInventory PlayerIconFlag,12 {InInventory not PlayerIconFlag,13 {DrawImage \"SE00L0\", 87, 156;}}\nInInventory PlayerIconFlag,13 {InInventory not PlayerIconFlag,14 {DrawImage \"SE00M0\", 87, 156;}}\nInInventory PlayerIconFlag,14 {InInventory not PlayerIconFlag,15 {DrawImage \"SE00N0\", 87, 156;}}\nInInventory PlayerIconFlag,15 {InInventory not PlayerIconFlag,16 {DrawImage \"SE00O0\", 87, 156;}}\nInInventory PlayerIconFlag,16 {InInventory not PlayerIconFlag,17 {DrawImage \"SE00P0\", 87, 156;}}\nInInventory PlayerIconFlag,17 {InInventory not PlayerIconFlag,18 {DrawImage \"SE00Q0\", 87, 156;}}\nInInventory PlayerIconFlag,18 {InInventory not PlayerIconFlag,19 {DrawImage \"SE00R0\", 87, 156;}}\nInInventory PlayerIconFlag,19 {InInventory not PlayerIconFlag,20 {DrawImage \"SE00S0\", 87, 156;}}\nInInventory PlayerIconFlag,20 {InInventory not PlayerIconFlag,21 {DrawImage \"SE00T0\", 87, 156;}}\nInInventory PlayerIconFlag,21 {InInventory not PlayerIconFlag,22 {DrawImage \"SE00U0\", 87, 156;}}\nInInventory PlayerIconFlag,22 {InInventory not PlayerIconFlag,23 {DrawImage \"SE00V0\", 87, 156;}}\nInInventory PlayerIconFlag,23 {InInventory not PlayerIconFlag,24 {DrawImage \"SE00W0\", 87, 156;}}\nInInventory PlayerIconFlag,24 {InInventory not PlayerIconFlag,25 {DrawImage \"SE00X0\", 87, 156;}}\nInInventory PlayerIconFlag,25 {InInventory not PlayerIconFlag,26 {DrawImage \"SE00Y0\", 87, 156;}}\nInInventory PlayerIconFlag,26 {InInventory not PlayerIconFlag,27 {DrawImage \"SE00Z0\", 87, 156;}}\n\n//[+]======================================[+]\n//--------------|AltFire huds|---------------\n//[+]======================================[+]\n\nininventory MinibombFlag {\n\nDrawImage \"MEGABALI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MinibombCooldownitem, vertical,reverse, 5, 163;\nininventory MinibombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MinibombCooldownitem, vertical,reverse, 5, 163;}\n\n}\n\nininventory MannTurretFlag {\n\nDrawImage \"TRETI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MannTurretCooldownitem, vertical,reverse, 5, 163;\nininventory MannTurretCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MannTurretCooldownitem, vertical,reverse, 5, 163;}\n\n}\n/*\nininventory ProxyMineFlag {\n\nDrawImage \"PROXI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", ProxyMineCooldownitem, vertical,reverse, 5, 163;\nininventory ProxyMineCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", ProxyMineCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory HealFlareFlag {\n\nDrawImage \"HFLAI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealFlareCooldownitem, vertical,reverse, 5, 163;\nininventory HealFlareCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealFlareCooldownitem, vertical,reverse, 5, 163;}\n}\n*/\nininventory LightScreenFlag {\nDrawImage \"LTSCI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", LightScreenCooldownitem, vertical,reverse, 5, 163;\nininventory LightScreenCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", LightScreenCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory BarrierFlag {\n\nDrawImage \"BARRI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BarrierCooldownitem, vertical,reverse, 5, 163;\nininventory BarrierCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BarrierCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory GrapplingHookFlag {\n\nDrawImage \"WIRE\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", GrapplingHookCooldownitem, vertical,reverse, 5, 163;\nininventory GrapplingHookCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", GrapplingHookCooldownitem, vertical,reverse, 5, 163;}\n}\n/*\nininventory ClearsprayFlag {\n\nDrawImage \"WATERBI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", ClearsprayCooldownitem, vertical,reverse, 5, 163;\nininventory ClearsprayCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", ClearsprayCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory TopGrenadeFlag {\nDrawImage \"TPGNI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TopGrenadeCooldownitem, vertical,reverse, 5, 163;\nininventory TopGrenadeCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TopGrenadeCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory MegaHealBombFlag {\nDrawImage \"MEGHEI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MegaHealBombCooldownitem, vertical,reverse, 5, 163;\nininventory MegaHealBombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MegaHealBombCooldownitem, vertical,reverse, 5, 163;}\n}\n*/\nininventory BoosterPackFlag {\nDrawImage \"ADAPSI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BoosterPackCooldownitem, vertical,reverse, 5, 163;\nininventory BoosterPackCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BoosterPackCooldownitem, vertical,reverse, 5, 163;}\n\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\tDrawImage \"RESO02\", 17, 170;\n\tDrawBar \"SRESO1\", \"NORESO2\", BP_Fuel, Horizontal, 33, 170;\n\tininventory BP_Fuel ,35 {DrawBar \"SRESO2\", \"NORESO2\", BP_Fuel, Horizontal, 33, 170;}\n\n}\n\nininventory TimeBombFlag {\nDrawImage \"TIMBI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TimeBombCooldownitem, vertical,reverse, 5, 163;\nininventory TimeBombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TimeBombCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory HealthGeneratorFlag {\nDrawImage \"HGENI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealthGeneratorCooldownitem, vertical,reverse, 5, 163;\nininventory HealthGeneratorCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealthGeneratorCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory BuddySentryFlag {\nDrawImage \"TRETI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BuddySentryCooldownitem, vertical,reverse, 5, 163;\nininventory BuddySentryCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BuddySentryCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory TopGrenadeFlag {\nDrawImage \"TPGNI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TopGrenadeCooldownitem, vertical,reverse, 5, 163;\nininventory TopGrenadeCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TopGrenadeCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory RotaryShellFlag {\nDrawImage \"MIRRSI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", RotaryShellCooldownitem, vertical,reverse, 5, 163;\nininventory RotaryShellCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", RotaryShellCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory CureSprayFlag {\nDrawImage \"MEGHEI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", CureSprayCooldownitem, vertical,reverse, 5, 163;\nininventory CureSprayCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", CureSprayCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory PowerDartFlag {\nDrawImage \"NEEDSI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", PowerDartCooldownitem, vertical,reverse, 5, 163;\nininventory PowerDartCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", PowerDartCooldownitem, vertical,reverse, 5, 163;}\n}\n\nininventory HealPatchFlag {\nDrawImage \"HFLAI\", 2, 166;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealPatchCooldownitem, vertical,reverse, 5, 163;\nininventory HealPatchCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealPatchCooldownitem, vertical,reverse, 5, 163;}\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 ,35 {DrawBar \"CLDBAR02\", \"NBARE\", CrossbowPrime, Horizontal, 146, 134;}\n\nDrawImage \"LASERSI\", 134, 136;\n\n\t*/\n\tDrawImage \"HEATBASE\", 46, 137;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", CrossbowPrime, Horizontal, 61, 137;\n\tininventory CrossbowPrime ,35 {DrawBar \"HTBAR4\", \"NOHEATBR\", CrossbowPrime, Horizontal, 61, 137;}\n}\n\nIsSelected HeatRay, HeatRay2 {\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\tDrawImage \"HEATBASE\", 46, 137;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", BeamPowerLevel, Horizontal, 61, 137;\n\tininventory BeamPowerLevel ,100 {DrawBar \"HTBAR4\", \"NOHEATB2\", BeamPowerLevel, Horizontal, 61, 137;}\n\tininventory BeamPowerLevel ,1 {DrawBar \"HTBAR3\", \"NOHEATB2\", BeamHoldTimer, Horizontal, 61, 137;}\n\n}\n\nIsSelected BusterGun, BusterGun2 {\n/*\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\t//DrawImage \"RESO02\", 45, 105;\n\t//DrawBar \"RESOBR2\", \"NORESO2\", WeaponHeat_A, Horizontal, 61, 105;\n\t*/\n\tDrawImage \"HEATBASE\", 46, 137;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", WeaponHeat_A, Horizontal, 61, 137;\n\tininventory WeaponHeat_A ,70 {DrawBar \"HTBAR2\", \"NOHEATBR\", WeaponHeat_A, Horizontal, 61, 137;}\n\tininventory OverHeatFlag_A ,1 {DrawBar \"HTBAR3\", \"NOHEATBR\", WeaponHeat_A, Horizontal, 61, 137;}\n\n}\n\nIsSelected Blitzer, Blitzer2 {\n//Shield\n/*\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", PersonalShieldHealth, Horizontal, 146, 134;\nininventory PShieldBreaker ,1 {DrawBar \"CLDBAR03\", \"NBARE\", PersonalShieldHealth, Horizontal, 146, 134;}\nDrawImage \"BARRI\", 134, 136;\n*/\n}\n\nIsSelected Blasterwep , Blasterwep2 {\n/*\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//Shield\nDrawImage \"RHUD_B\", 190, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 190, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", PersonalShieldHealth, Horizontal, 206, 134;\nininventory PersonalShieldHealth ,70 {DrawBar \"CLDBAR03\", \"NBARE\", PersonalShieldHealth, Horizontal, 206, 134;}\nDrawImage \"BARRI\", 194, 136;\n*/\n\n\tDrawImage \"HEATBASE\", 46, 137;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", WeaponHeat_B, Horizontal, 61, 137;\n\tininventory WeaponHeat_B ,70 {DrawBar \"HTBAR2\", \"NOHEATBR\", WeaponHeat_B, Horizontal, 61, 137;}\n\tininventory OverHeatFlag_B ,1 {DrawBar \"HTBAR3\", \"NOHEATBR\", WeaponHeat_B, Horizontal, 61, 137;}\n}\n\nIsSelected Voltspear , Voltspear2 {\n/*\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", WeaponHeat_C, Horizontal, 146, 134;\nininventory WeaponHeat_C ,70 {DrawBar \"CLDBAR03\", \"NBARE\", WeaponHeat_C, Horizontal, 146, 134;}\nDrawImage \"ATOMI\", 134, 136;\n*/\n\tDrawImage \"HEATBASE\", 46, 137;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", WeaponHeat_C, Horizontal, 61, 137;\n\tininventory WeaponHeat_C ,70 {DrawBar \"HTBAR2\", \"NOHEATBR\", WeaponHeat_C, Horizontal, 61, 137;}\n\tininventory OverHeatFlag_C ,1 {DrawBar \"HTBAR3\", \"NOHEATBR\", WeaponHeat_C, Horizontal, 61, 137;}\n}\n\nIsSelected Basher, Basher2 {\n/*\n//Shield\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", PersonalShieldHealth, Horizontal, 146, 134;\nininventory PShieldBreaker ,1 {DrawBar \"CLDBAR03\", \"NBARE\", PersonalShieldHealth, Horizontal, 146, 134;}\nDrawImage \"BARRI\", 134, 136;\n*/\n}\n\nIsSelected MannTurretWep{\n\tDrawImage \"RESO02\", 17, 170;\n\tDrawBar \"SRESO2\", \"NORESO2\", BaseArmorItem, Horizontal, 33, 170;\n\t//ininventory BP_Fuel ,35 {DrawBar \"SRESO2\", \"NORESO2\", BP_Fuel, Horizontal, 33, 170;}\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\t//DrawImage \"NEUMHUD\", 0, 19;\n\t//InInventory WilyTeamFlag, 1 {DrawImage \"NEUMHUDR\", 0, 19;}\n\tDrawImage \"ALTHUD\", 60, 140;\n\tInInventory WilyTeamFlag, 1 {DrawImage \"ALTHUD_R\", 60, 140;}\n\n\t//DrawBar \"NHLTHV\", \"NBAREV\", Health, vertical, 20, 30;\n\t//DrawBar \"NARMRV\", \"NNOVAR\", Basicarmor, vertical, 20, 30;\n//DrawImage \"CTSUP\", 0, 140;\nDrawNumber 3, smallfont, white, Health,fillzeros, alignment(Left), 11, 140; //72\nDrawImage weaponicon, 0, 150;\nInInventory not NoClipBar, 1{DrawNumber 3, smallfont, white, Ammo1, alignment(left), 11, 150;}\n\nininventory PersonalShieldFlag ,1\n\t{\n\t//DrawImage \"VESO01\", 29, 30;\n\t//DrawBar \"VESOBR\", \"NOVESO\", PersonalShieldHealth, vertical, 29, 46;\n\t//ininventory PersonalShieldHealth ,70 {DrawBar \"VESOBR\", \"NOVESO\", PersonalShieldHealth, vertical, 29, 46;}\n\tDrawImage \"CTDEF\", 0, 160;\n\tDrawNumber 3, smallfont, white, PersonalShieldHealth, alignment(left), 11, 160;\n\t}\n//[+]======================================[+]\n//--------------|Emblem huds|---------------\n//[+]======================================[+]\nInInventory PlayerIconFlag,1 {InInventory not PlayerIconFlag,2 {DrawImage \"SE00A0\", 5, 150;}}\nInInventory PlayerIconFlag,2 {InInventory not PlayerIconFlag,3 {DrawImage \"SE00B0\", 5, 150;}}\nInInventory PlayerIconFlag,3 {InInventory not PlayerIconFlag,4 {DrawImage \"SE00C0\", 5, 150;}}\nInInventory PlayerIconFlag,4 {InInventory not PlayerIconFlag,5 {DrawImage \"SE00D0\", 5, 150;}}\nInInventory PlayerIconFlag,5 {InInventory not PlayerIconFlag,6 {DrawImage \"SE00E0\", 5, 150;}}\nInInventory PlayerIconFlag,6 {InInventory not PlayerIconFlag,7 {DrawImage \"SE00F0\", 5, 150;}}\nInInventory PlayerIconFlag,7 {InInventory not PlayerIconFlag,8 {DrawImage \"SE00G0\", 5, 150;}}\nInInventory PlayerIconFlag,8 {InInventory not PlayerIconFlag,9 {DrawImage \"SE00H0\", 5, 150;}}\nInInventory PlayerIconFlag,9 {InInventory not PlayerIconFlag,10 {DrawImage \"SE00I0\", 5, 150;}}\nInInventory PlayerIconFlag,10 {InInventory not PlayerIconFlag,11 {DrawImage \"SE00J0\", 5, 150;}}\nInInventory PlayerIconFlag,11 {InInventory not PlayerIconFlag,12 {DrawImage \"SE00K0\", 5, 150;}}\nInInventory PlayerIconFlag,12 {InInventory not PlayerIconFlag,13 {DrawImage \"SE00L0\", 5, 150;}}\nInInventory PlayerIconFlag,13 {InInventory not PlayerIconFlag,14 {DrawImage \"SE00M0\", 5, 150;}}\nInInventory PlayerIconFlag,14 {InInventory not PlayerIconFlag,15 {DrawImage \"SE00N0\", 5, 150;}}\nInInventory PlayerIconFlag,15 {InInventory not PlayerIconFlag,16 {DrawImage \"SE00O0\", 5, 150;}}\nInInventory PlayerIconFlag,16 {InInventory not PlayerIconFlag,17 {DrawImage \"SE00P0\", 5, 150;}}\nInInventory PlayerIconFlag,17 {InInventory not PlayerIconFlag,18 {DrawImage \"SE00Q0\", 5, 150;}}\nInInventory PlayerIconFlag,18 {InInventory not PlayerIconFlag,19 {DrawImage \"SE00R0\", 5, 150;}}\nInInventory PlayerIconFlag,19 {InInventory not PlayerIconFlag,20 {DrawImage \"SE00S0\", 5, 150;}}\nInInventory PlayerIconFlag,20 {InInventory not PlayerIconFlag,21 {DrawImage \"SE00T0\", 5, 150;}}\nInInventory PlayerIconFlag,21 {InInventory not PlayerIconFlag,22 {DrawImage \"SE00U0\", 5, 150;}}\nInInventory PlayerIconFlag,22 {InInventory not PlayerIconFlag,23 {DrawImage \"SE00V0\", 5, 150;}}\nInInventory PlayerIconFlag,23 {InInventory not PlayerIconFlag,24 {DrawImage \"SE00W0\", 5, 150;}}\nInInventory PlayerIconFlag,24 {InInventory not PlayerIconFlag,25 {DrawImage \"SE00X0\", 5, 150;}}\nInInventory PlayerIconFlag,25 {InInventory not PlayerIconFlag,26 {DrawImage \"SE00Y0\", 5, 150;}}\nInInventory PlayerIconFlag,26 {InInventory not PlayerIconFlag,27 {DrawImage \"SE00Z0\", 5, 150;}}\n//[+]======================================[+]\n//--------------|AltFire huds|---------------\n//[+]======================================[+]\nininventory MinibombFlag {\n\nDrawImage \"MEGABALI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MinibombCooldownitem, vertical,reverse, 65, 142;\nininventory MinibombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MinibombCooldownitem, vertical,reverse, 65, 142;}\n\n}\n\nininventory MannTurretFlag {\n\nDrawImage \"TRETI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MannTurretCooldownitem, vertical,reverse, 65, 142;\nininventory MannTurretCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MannTurretCooldownitem, vertical,reverse, 65, 142;}\n\n}\n/*\nininventory ProxyMineFlag {\n\nDrawImage \"PROXI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", ProxyMineCooldownitem, vertical,reverse, 65, 142;\nininventory ProxyMineCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", ProxyMineCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory HealFlareFlag {\n\nDrawImage \"HFLAI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealFlareCooldownitem, vertical,reverse, 65, 142;\nininventory HealFlareCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealFlareCooldownitem, vertical,reverse, 65, 142;}\n}\n*/\nininventory LightScreenFlag {\nDrawImage \"LTSCI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", LightScreenCooldownitem, vertical,reverse, 65, 142;\nininventory LightScreenCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", LightScreenCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory BarrierFlag {\n\nDrawImage \"BARRI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BarrierCooldownitem, vertical,reverse, 65, 142;\nininventory BarrierCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BarrierCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory GrapplingHookFlag {\n\nDrawImage \"WIRE\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", GrapplingHookCooldownitem, vertical,reverse, 65, 142;\nininventory GrapplingHookCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", GrapplingHookCooldownitem, vertical,reverse, 65, 142;}\n}\n/*\nininventory ClearsprayFlag {\n\nDrawImage \"WATERBI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", ClearsprayCooldownitem, vertical,reverse, 65, 142;\nininventory ClearsprayCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", ClearsprayCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory TopGrenadeFlag {\nDrawImage \"TPGNI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TopGrenadeCooldownitem, vertical,reverse, 65, 142;\nininventory TopGrenadeCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TopGrenadeCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory MegaHealBombFlag {\nDrawImage \"MEGHEI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", MegaHealBombCooldownitem, vertical,reverse, 65, 142;\nininventory MegaHealBombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", MegaHealBombCooldownitem, vertical,reverse, 65, 142;}\n}\n*/\nininventory BoosterPackFlag {\n\nDrawImage \"ADAPSI\", 62, 145;//\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BoosterPackCooldownitem, vertical,reverse, 65, 142;//\nininventory BoosterPackCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BoosterPackCooldownitem, vertical,reverse, 65, 142;}\n\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\n\t//DrawImage \"VESO02\", 62, 155;\n\t//DrawBar \"SVESO1\", \"NOVESO2\", BP_Fuel, vertical, 62, 171;\n\t//ininventory BP_Fuel ,35 {DrawBar \"SVESO2\", \"NOVESO2\", BP_Fuel, vertical, 62, 171;}\n\n\tDrawImage \"HEATBASE\", 62, 160;\n\tDrawBar \"HTBAR4\", \"NOHEATBR\", BP_Fuel, Horizontal, 77, 160;\n\tininventory BP_Fuel ,35 {DrawBar \"HTBAR3\", \"NOHEATBR\", BP_Fuel, Horizontal, 77, 160;}\n}\n\nininventory TimeBombFlag {\nDrawImage \"TIMBI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TimeBombCooldownitem, vertical,reverse, 65, 142;\nininventory TimeBombCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TimeBombCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory HealthGeneratorFlag {\nDrawImage \"HGENI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealthGeneratorCooldownitem, vertical,reverse, 65, 142;\nininventory HealthGeneratorCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealthGeneratorCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory BuddySentryFlag {\nDrawImage \"TRETI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", BuddySentryCooldownitem, vertical,reverse, 65, 142;\nininventory BuddySentryCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", BuddySentryCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory TopGrenadeFlag {\nDrawImage \"TPGNI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", TopGrenadeCooldownitem, vertical,reverse, 65, 142;\nininventory TopGrenadeCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", TopGrenadeCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory RotaryShellFlag {\nDrawImage \"MIRRSI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", RotaryShellCooldownitem, vertical,reverse, 65, 142;\nininventory RotaryShellCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", RotaryShellCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory CureSprayFlag {\nDrawImage \"MEGHEI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", CureSprayCooldownitem, vertical,reverse, 65, 142;\nininventory CureSprayCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", CureSprayCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory PowerDartFlag {\nDrawImage \"NEEDSI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", PowerDartCooldownitem, vertical,reverse, 65, 142;\nininventory PowerDartCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", PowerDartCooldownitem, vertical,reverse, 65, 142;}\n}\n\nininventory HealPatchFlag {\nDrawImage \"HFLAI\", 62, 145;\nDrawBar \"ALTEMP\", \"ALTHBAR1\", HealPatchCooldownitem, vertical,reverse, 65, 142;\nininventory HealPatchCooldownitem ,1 {DrawBar \"ALTEMP\", \"ALTHBAR\", HealPatchCooldownitem, vertical,reverse, 65, 142;}\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 ,35 {DrawBar \"CLDBAR02\", \"NBARE\", CrossbowPrime, Horizontal, 146, 134;}\n\nDrawImage \"LASERSI\", 134, 136;\n\n\t*/\n\tDrawImage \"HEATBASE\", 11, 150;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", CrossbowPrime, Horizontal, 26, 150;\n\tininventory CrossbowPrime ,35 {DrawBar \"HTBAR4\", \"NOHEATBR\", CrossbowPrime, Horizontal, 26, 150;}\n}\n\nIsSelected HeatRay, HeatRay2 {\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\n\tDrawImage \"HEATBASE\", 11, 150;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", BeamPowerLevel, Horizontal, 26, 150;\n\tininventory BeamPowerLevel ,100 {DrawBar \"HTBAR2\", \"NOHEATB2\", BeamPowerLevel, Horizontal, 26, 150;}\n\tininventory BeamPowerLevel ,1 {DrawBar \"HTBAR3\", \"NOHEATB2\", BeamHoldTimer, Horizontal, 26, 150;}\n}\n\nIsSelected BusterGun, BusterGun2 {\n/*\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\t//DrawImage \"RESO02\", 45, 105;\n\t//DrawBar \"RESOBR2\", \"NORESO2\", WeaponHeat_A, Horizontal, 61, 105;\n\t*/\n\tDrawImage \"HEATBASE\", 11, 150;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", WeaponHeat_A, Horizontal, 26, 150;\n\tininventory WeaponHeat_A ,70 {DrawBar \"HTBAR2\", \"NOHEATBR\", WeaponHeat_A, Horizontal, 26, 150;}\n\tininventory OverHeatFlag_A ,1 {DrawBar \"HTBAR3\", \"NOHEATBR\", WeaponHeat_A, Horizontal, 26, 150;}\n\n}\n\nIsSelected Blitzer, Blitzer2 {\n//Shield\n/*\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", PersonalShieldHealth, Horizontal, 146, 134;\nininventory PShieldBreaker ,1 {DrawBar \"CLDBAR03\", \"NBARE\", PersonalShieldHealth, Horizontal, 146, 134;}\nDrawImage \"BARRI\", 134, 136;\n*/\n}\n\nIsSelected Blasterwep , Blasterwep2 {\n/*\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//Shield\nDrawImage \"RHUD_B\", 190, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 190, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", PersonalShieldHealth, Horizontal, 206, 134;\nininventory PersonalShieldHealth ,70 {DrawBar \"CLDBAR03\", \"NBARE\", PersonalShieldHealth, Horizontal, 206, 134;}\nDrawImage \"BARRI\", 194, 136;\n*/\n\n\tDrawImage \"HEATBASE\", 11, 150;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", WeaponHeat_B, Horizontal, 26, 150;\n\tininventory WeaponHeat_B ,70 {DrawBar \"HTBAR2\", \"NOHEATBR\", WeaponHeat_B, Horizontal, 26, 150;}\n\tininventory OverHeatFlag_B ,1 {DrawBar \"HTBAR3\", \"NOHEATBR\", WeaponHeat_B, Horizontal, 26, 150;}\n}\n\nIsSelected Voltspear , Voltspear2 {\n/*\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", WeaponHeat_C, Horizontal, 146, 134;\nininventory WeaponHeat_C ,70 {DrawBar \"CLDBAR03\", \"NBARE\", WeaponHeat_C, Horizontal, 146, 134;}\nDrawImage \"ATOMI\", 134, 136;\n*/\n\tDrawImage \"HEATBASE\", 11, 150;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", WeaponHeat_C, Horizontal, 26, 150;\n\tininventory WeaponHeat_C ,70 {DrawBar \"HTBAR2\", \"NOHEATBR\", WeaponHeat_C, Horizontal, 26, 150;}\n\tininventory OverHeatFlag_C ,1 {DrawBar \"HTBAR3\", \"NOHEATBR\", WeaponHeat_C, Horizontal, 26, 150;}\n}\n\nIsSelected Basher, Basher2 {\n/*\n//Shield\nDrawImage \"RHUD_B\", 130, 130;\nInInventory WilyTeamFlag, 1 {DrawImage \"RHUD_R\", 130, 130;}\nDrawBar \"CLDBAR01\", \"NBARE\", PersonalShieldHealth, Horizontal, 146, 134;\nininventory PShieldBreaker ,1 {DrawBar \"CLDBAR03\", \"NBARE\", PersonalShieldHealth, Horizontal, 146, 134;}\nDrawImage \"BARRI\", 134, 136;\n*/\n}\n\nIsSelected MannTurretWep{\n\tDrawImage \"HEATBASE\", 62, 160;\n\tDrawBar \"HTBAR4\", \"NOHEATBR\", BaseArmorItem, Horizontal, 77, 160;\n\t//ininventory BP_Fuel ,35 {DrawBar \"SRESO2\", \"NORESO2\", BP_Fuel, Horizontal, 33, 170;}\n}\n\n}}"
},
{
"source": "pk3",
"name": "TEXTCOLOURS.txt",
"contents": "WhiteOutLine {\n\t\t#e4e4e4 #c3c3c3 0 6\n\t\t#000000 #222222 7 256\n\tConsole:\n\t\t#111111 #353535 0 127\n\t\t#b1b1b1 #ffffff 128 256\n}\n\nMenuGreen {\n\t\t#000000 #000000 0 123\n\t\t#00C800 #00C800 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#00C800 #00C800 124 256\n}\n\nMenuYellow {\n\t\t#000000 #000000 0 123\n\t\t#FFFF00 #FFFF00 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#FFFF00 #FFFF00 124 256\n}\n\n//Future ZDoom colors\n\nIce\n{\n #343450 #7C7C98 0 94\n #7C7C98 #E0E0E0 95 256\nConsole:\n #343450 #7C7C98 0 127\n #7C7C98 #E0E0E0 128 256\nFlat:\n #7C7C98\n}\n\nFire\n{\n #660000 #D57604 0 104\n #D57604 #FFFF00 105 256\nConsole:\n #6F0000 #D57604 0 127\n #D57604 #FFFF00 128 256\nFlat:\n #D57604\n}\n\nSapphire\n{\n #000468 #506CFC 0 94\n #506CFC #50ECFC 95 256\nConsole:\n #000468 #506CFC 0 127\n #506CFC #50ECFC 128 256\nFlat:\n #506CFC\n}\n\nTeal\n{\n #001F1F #236773 0 90\n #236773 #7BB3C3 91 256\nConsole:\n #001F1F #236773 0 127\n #236773 #7BB3C3 128 256\nFlat:\n #236773\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 + CallACS(\"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 + CallACS(\"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 + CallACS(\"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 + CallACS(\"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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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 + CallACS(\"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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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 DamageFactor \"Voltspear\", 3.0\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 = 950; // 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 Stats|====\n//==|Bustergun|==\n\nConst int BGUN_A = 30; //Base damage\nConst int BGUN_B = 10; // Modified damage\nConst int BGUN_C = 6; //Damage decay rate\n\nconst float BGUN_S = 0.6; //spread\n\n//basher\nconst float BasherSpread = 2.3;\n\n//MannTurret\nconst float MT_SPD = 3.2;\n\n//blitzer\nConst float SRev = 360;\n\nConst float S_SprAng = 2.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.6;\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\n//VoltSpear\nconst int VSR1 = 550;\nconst int VSR2 = 275;\n\n//Blaster\nconst float BST_SPD = 0.3;\n\n//HealPatch\nconst int HLP_RAD = 200;\n\n//Heat Ray\n const int HR_DAM1 = 50;\n const int HR_DAM2 = 95;\n//[+]================|Sripts|===================[+]\n\nconst int GetTotalHPPerc = 726;\nconst int GetValueHPPerc = 727;\nconst int WepBloomStat = 728;\n//const 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 \"\"\n//height 58\n//radius 25\nPlayer.DisplayName \"megaman\"\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.HeatRay:\n\"----\" H 0 A_GiveInventory(\"FireCritCheck\",1)\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,6)\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\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.VoltSpear:\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_GiveInventory(\"HitSound\")//A_Pain\n\"----\" H 0 A_GiveInventory(\"CritCheck\")\n\t\"----\" H 0 A_GiveInventory(\"SnackingHitCheck\")\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:\nDeath.HeatRay:\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 0 A_GiveInventory(\"CritCheck\")\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 -7}\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)\nTNT1 A 0 A_JumpIfInTargetInventory(\"ProtectorFlag\",1,5)\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)\nLASH A 0\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.15\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\nTNT1 A 0 A_JumpIfInTargetInventory(\"ProtectorFlag\",1,5)\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)\nLASH A 0\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\nDamagefactor \"HeatRay\" , 3.0\n\nPowerup.Color Red, 0.15\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_jumpifInventory(\"BaseArmorItem\",1,\"ArmorHit\")\nTNT1 A 0 A_Pain\nstop\nArmorHit:\nTNT1 A 0 A_PlaySoundEx(\"body/ArmorPain\", \"Body\")\nCENF AAAAA 0 A_SpawnItemEx(\"ArmorHitParticle\", 0, 0, 28, 256/24, 256/24, random2(256/24), random(0, 359))\n\nstop\n}\n}\n\nactor ArmorHitParticle //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:\nHARD BCDE 2\nstop\nDeath:\nASEX A 0\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\"####\" B 0 A_TakeInventory(\"AutoShotCounter\",999)\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\",2)\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\"####\" B 0 A_TakeInventory(\"AutoShotCounter\",999)\n\"####\" CD 1 A_WeaponReady(WRF_NOPRIMARY)\nGoto Hold\nHold:\n\"####\" B 1\n\"####\" B 0 A_GiveInventory(\"AutoShotCounter\",1)\n\"####\" B 0 A_Jumpifinventory(\"AutoShotCounter\",8,\"Fire\")\n\"####\" C 0 A_REfire\n\"####\" B 0 A_TakeInventory(\"AutoShotCounter\",999)\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\nactor AutoShotCounter : inventory\n{inventory.amount 1 inventory.maxamount 100}\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\n\nactor BusterGunShot : fastProjectileBase\n{\nObituary \"$OB_BUSTERGUN\"\nDamageType \"SingleShot\"\nSpeed 10\nDamage (15 + CallACS(\"DamageRate\",25,Range2,5))\nradius 3\n\nMissileHeight 16\nreactiontime 10\nheight 6\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(9.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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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)\n//TNT1 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_CountDown//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 + CallACS(\"DamageRate\",25,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(\"Blasterwep\",1,\"BlasterHeat\")\nTNT1 A 0 A_Jumpifinventory(\"Blasterwep2\",1,\"BlasterHeat\")\nTNT1 A 0 A_Jumpifinventory(\"VoltSpear\",1,\"VoltSpearHeat\")\nTNT1 A 0 A_Jumpifinventory(\"VoltSpear2\",1,\"VoltSpearHeat\")\nstop\nBusterGunHeat:\nTNT1 A 0 A_Spawnitemex(\"HeatDrainer_A\")\nTNT1 A 0 A_Jumpifinventory(\"Blasterwep\",1,\"BlasterHeat\")\nTNT1 A 0 A_Jumpifinventory(\"Blasterwep2\",1,\"BlasterHeat\")\nTNT1 A 0 A_Jumpifinventory(\"VoltSpear\",1,\"VoltSpearHeat\")\nTNT1 A 0 A_Jumpifinventory(\"VoltSpear2\",1,\"VoltSpearHeat\")\nstop\nBlasterHeat:\nTNT1 A 0 A_Spawnitemex(\"HeatDrainer_B\")\nTNT1 A 0 A_Jumpifinventory(\"VoltSpear\",1,\"VoltSpearHeat\")\nTNT1 A 0 A_Jumpifinventory(\"VoltSpear2\",1,\"VoltSpearHeat\")\nstop\nVoltSpearHeat:\nTNT1 A 0 A_Spawnitemex(\"HeatDrainer_C\")\nstop\n\nNope:\nBUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n\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:\n//\"####\" B 0 A_GiveInventory(\"PShieldKiller\")\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\n\"####\" B 0 A_GiveInventory(\"CycleReloadDelay\")\n\"####\" B 0 A_TakeInventory(\"PShieldKiller\")\n\"####\" B 0 A_GiveInventory(\"PersonalShieldShooter\")\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// ===26 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\nactor PersonalShieldFlag : inventory {inventory.amount 1 inventory.maxamount 1}\nactor PersonalShieldHealth : inventory {inventory.amount 1 inventory.maxamount 200}\nactor PShieldBreaker : inventory {inventory.amount 1 inventory.maxamount 1}\nActor PShieldKiller : Powerup {inventory.amount 1 inventory.maxamount 1 Powerup.Duration 4}\nActor PShieldActive : Powerup {inventory.amount 1 inventory.maxamount 1 Powerup.Duration 12}\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\n\nactor BlitzerPellet : LinearBullet2\n{\nObituary \"$OB_BLITZER\"\nDamageType \"SpreadShot\"\nMissiletype \"BlitzerTrail\"\nSpeed 100\nDamage (8 + CallACS(\"DamageRate\",2,Range1,25))\nradius 6\nheight 6\nReactiontime 14\nStates\n{\nSpawn:\nTNT1 A 0\nGoto Spawn2\nSpawn2:\nTNT1 A 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\tactor BlitzerPellet_BLUE : BlitzerPellet\n\t{\n\tMissiletype \"BlitzerTrail\"\n\t}\n\n\tactor BlitzerPellet_RED : BlitzerPellet\n\t{\n\tMissiletype \"BlitzerTrail_RED\"\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"\n\t}\n//[+]========================================================================[+]\n//--------------------------------|Special Actors|------------------------------\n//[+]========================================================================[+]\nactor PersonalShield\n{\n//PROJECTILE\nObituary \"%o forgot about %k's orbitars.\"\nScale 2.5\nSpeed 0\nHeight 60\nRadius 35\nHealth 1000\npainchance 256\n+MISSILE\n DamageFactor \"Voltspear\", 3.0\n+SHOOTABLE\n+NOGRAVITY\n//+MTHRUSPECIES\n +DONTSPLASH\n +FLOORCLIP\n +DONTREFLECT\n +NODAMAGETHRUST\n +DONTBLAST\n//+NOINTERACTION //--\n+FORCEXYBILLBOARD\n+NOCLIP\n+NOTARGETSWITCH\n//+NOBLOOD\n//+NOBLOODDECALS\n+thrughost\n+Ghost\n//ReactionTime 350\nvar int user_XCor;\nvar int user_YCor;\nvar int user_ZCor;\nvar int user_Rads;\nvar int user_SMTH;\nvar int user_SAdd;\nvar int user_Timer;\nStates\n{\nSpawn:\nDUST C 0\nDUST C 0 A_SetUserVar(\"user_ZCor\",16)\nDUST C 0 A_SetUserVar(\"user_XCor\",35)\nDUST C 0 A_SetUserVar(\"user_SMTH\",0)\nGoto SpawnC\nSpawnC:\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",false)\nTNT1 A 0 A_SetUserVar(\"user_SMTH\",360/72+user_SMTH)\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",true)\ngoto Warping\n//---------------------\nWarping:\nDUST C 0 A_JumpIfInTargetInventory(\"IsDead\",1,\"Terminate\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"Terminate\")\nDUST C 0 A_JumpIfInTargetInventory(\"PShieldKiller\",1,\"Expire\")\nDUST C 0 A_jumpif(callACS(\"PShieldCheck\") != 1, \"Terminate\")\nDUST C 0 //A_CountDown\nDUST C 0 A_Warp(AAPTR_TARGET,user_XCor*cos(user_SMTH),user_XCor*sin(user_SMTH),user_ZCor-user_XCor*sin(pitch))\nDUST C 0 //A_Explode(10,32,0,0,24)\nTNT1 A 0 A_GiveToTarget(\"PShieldActive\")\nTNT1 A 0 A_FaceTarget\nDUST C 0 ACS_NamedExecuteAlways(\"PitchMatch\",0)\nTNT1 A 1 A_SpawnItemEx(\"OrbitarFX\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\ngoto Warping\n\tPain:\n\tTNT1 A 0 A_JumpIfInTargetInventory(\"PersonalShieldHealth\",1,\"Deduct\")\n\tGoto Death\n\tDeduct:\n\tTNT1 A 0 A_PlaySoundEX (\"item/protoreflect\",\"Soundslot5\")\n\tDUST C 0 A_Warp(AAPTR_TARGET,70*cos(user_SMTH),70*sin(user_SMTH),16)\n\tDUST C 0 A_TakeFromTarget(\"PersonalShieldHealth\",1000-Health)\n\tDUST C 0 Healthing(1000)\n\tTNT1 A 0 A_FaceTarget\n\tDUST C 0 ACS_NamedExecuteAlways(\"PitchMatch\",0)\n\tTNT1 AA 0 A_SpawnItemEx(\"LightScreenSpark\", 0, 0, 28, 256/24, 256/24, random2(256/24), random(0, 359))\n\tTNT1 A 1 A_SpawnItemEx(\"OrbitarFX\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n\tgoto Warping\nDeath:\n\tTNT1 A 1 A_PlaySoundEx(\"weapon/CentaurFlash\",\"Weapon\")\n\tTNT1 A 0 A_GiveToTarget(\"PShieldBreaker\")\n\tTNT1 AAAAA 0 A_SpawnItemEx(\"LightScreenSpark\", 0, 0, 28, 256/24, 256/24, random2(256/24), random(0, 359))\n\nTNT1 A 0\nstop\n\nExpire:\nTNT1 A 1 A_ChangeFlag(\"SHOOTABLE\",false)\nTerminate:\nTNT1 A 0 A_TakeFromTarget(\"PShieldActive\",99)\nTNT1 A 0\nstop\n}\n}\n\nactor PersonalShield_BLUE : PersonalShield\n{Species\"BLUEMember\" DesignatedTeam 0 Translation \"248:248=192:192\", \"222:222=198:198\"}\n\nactor PersonalShield_RED : PersonalShield\n{Species\"REDMember\" DesignatedTeam 1 Translation \"248:248=54:54\", \"222:222=170:170\",\"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"}\n\n//[+]========================================================================[+]\n//--------------------------------|Utility Actors|------------------------------\n//[+]========================================================================[+]\nactor ShieldManager : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_GiveInventory(\"PersonalShieldHealth\",200)\nTNT1 A 0 A_GiveInventory(\"PersonalShieldFlag\",1)\nTNT1 A 0 A_Spawnitemex(\"ShieldRegener\")\nstop\n\nNope:\nBUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n\n}\n}\n\nactor ShieldRegener : WatcherBase // Coolers are a type of watcher actor that handle weapon cooldowns\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nTNT1 A 0 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"Death\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"IsDead\",1,\"Death\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"PShieldBreaker\",1,\"Broken\")\nTNT1 A 2\nTNT1 A 0 A_JumpIfInTargetInventory(\"PShieldActive\",1,\"Spawn\")\nTNT1 A 0 A_GiveToTarget(\"PersonalShieldHealth\",2)\nloop\n\nBroken:\nTNT1 A 3\nTNT1 A 0 A_GiveToTarget(\"PersonalShieldHealth\",2)\nTNT1 A 0 A_JumpIfInTargetInventory(\"PersonalShieldHealth\",200,\"Restored\")\nGoto Broken\n\nRestored:\nTNT1 A 0 A_TakeFromTarget(\"PShieldBreaker\",9)\nTNT1 A 0 A_GiveToTarget(\"PersonalShieldShooter\",1)\nGoto Spawn\n\nDeath:\nDeathTake:\nTNT1 A 0\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|effect Actors|------------------------------\n//[+]========================================================================[+]\n\nactor BlitzerPuff : FXActor_A\n{\nscale 0.5\nStates\n{\nSpawn:\nBIM1 AABCDEF 1\nstop\n}\n}\n\nactor BlitzerTrail : FXActor_B\n{\nMissileHeight 8\nscale 1.3\nStates\n{\nSpawn:\nBASB U 1\nBASB UU 1 A_Fadeout(0.4)\nstop\n}\n}\n\nactor BlitzerTrail_RED : BlitzerTrail\n{translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"}\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}\n\nactor PersonalShieldShooter : 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\nBLTR C 0 A_Jumpifinventory(\"PShieldBreaker\",1,\"Nope\")\nBLTR C 0 A_Jumpifinventory(\"PShieldActive\",1,\"Nope\")\nBLTR C 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nDSTS B 0 A_FireCustomMissile(\"PersonalShield\",0,0,8,0)\n\nstop\nTeamRedFire:\nDSTS B 0 A_FireCustomMissile(\"PersonalShield_RED\",0,0,8,0)\n\nstop\nTeamBlueFire:\nDSTS B 0 A_FireCustomMissile(\"PersonalShield_BLUE\",0,0,8,0)\nstop\nNope:\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\n// ===3 frames===\n\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(3 + CallACS(\"DamageRate\",3,Range2,55),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(20.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 midweight 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\"####\" B 0 A_Jumpifinventory(\"ZoomMode\",1,\"Ready2\")\n\"####\" A 1 A_WeaponReady(WRF_ALLOWZOOM)\n\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\"####\" B 0 A_Jumpifinventory(\"HiPEgunClip\",1,\"Ready\")\nGoto Reload\n\n\tReady2: //zooom ready\n\t\"####\" A 1 A_WeaponReady(WRF_ALLOWZOOM|WRF_NOSWITCH|WRF_NOSECONDARY)\n\t\"####\" A 0 A_Giveinventory(\"FocusSpeedDown\",1)\n\t\"####\" A 0 A_ZoomFactor(4.5)\n\t\"####\" A 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\t\"####\" A 0 A_Jumpifinventory(\"HiPEgunClip\",1,\"Ready\")\n\tGoto 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// ===22 frames===\n\nNoAmmo:\n\"####\" A 1\n\"####\" B 0 A_Jumpifinventory(\"HiPEgunClip\",1,\"Ready\")\nReload:\n\t\"####\" B 0 A_ZoomFactor(1.0,0)\n\t\"####\" B 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\"####\" 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\n\nzoom:\n\"####\" B 0 A_Jumpifinventory(\"ZoomMode\",1,\"DeZoom\")\n\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_ZoomFactor(4.5,0)\n\"####\" B 0 A_GiveInventory(\"ZoomMode\")\n\"####\" A 7\ngoto Ready\nDeZoom:\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_ZoomFactor(1.0,0)\n\"####\" B 0 A_TakeInventory(\"ZoomMode\",9)\n\"####\" A 7\ngoto Ready\n\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 (65 + CallACS(\"DamageRate\",20,Range3,25))\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_HeatRay.txt",
"contents": "/*=============================\nThe Heat ray is a high caliber ray gun that is not to be messed with. it's\nseering hot lazer shots can cover extreme distances without any decay in potency.\nand can set things on fire with ease. the ray is even more potent against targets\nthat are already hot!\n\nif this bad boy wasn't bad enough, it can charge up the shot for more potent blasts!\nwatch the kickback though.\n*///===========================\n\nactor HeatRay : WepMasterBase\n{\nTag \"Heat Ray\"\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\",4)\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 5\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 5\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 HeatRay2 : HeatRay\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 \"HeatRay\"\n//DamageType \"SingleShot3\"\n\nalpha 1.0\nStates\n{\nSpawn:\nCRBM A 0\nCRBM A 0 //A_Explode(50,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 \"HeatRay\"\n//DamageType \"SingleShot3\"\n\nalpha 1.0\nStates\n{\nSpawn:\nCRBM A 0\nCRBM A 0 //A_Explode(95,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 : FXActor_B\n{\n//PROJECTILE\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\n//BUST B 1 A_FireCustomMissile(\"HiPERBeamTrail\",0,1,0,0)\nBUST B 1 A_RailAttack(0, 0, 1, NONE, NONE, RGF_SILENT , 0, \"none\", 0, 0, 0, 7, 0.8, 0, \"HiPERBeamTrail\", -4)\nBUST B 1 A_fireBullets(0,0,1,HR_DAM1,\"HiPERBeamPuff\",FBF_NORANDOM,0)\nstop\nTeamRedFire:\n//BUST B 1 A_FireCustomMissile(\"HiPERBeamTrail_RED\",0,1,0,0)\nBUST B 1 A_RailAttack(0, 0, 1, NONE, NONE, RGF_SILENT , 0, \"none\", 0, 0, 0, 7, 0.8, 0, \"HiPERBeamTrail_RED\", -4)\nBUST B 1 A_fireBullets(0,0,1,HR_DAM1,\"HiPERBeamPuff_RED\",FBF_NORANDOM,0)\nTNT1 A 1\nstop\nTeamBlueFire:\n//BUST B 1 A_FireCustomMissile(\"HiPERBeamTrail_BLUE\",0,1,0,0)\nBUST B 1 A_RailAttack(0, 0, 1, NONE, NONE, RGF_SILENT , 0, \"none\", 0, 0, 0, 7, 0.8, 0, \"HiPERBeamTrail_BLUE\", -4)\nBUST B 1 A_fireBullets(0,0,1,HR_DAM1,\"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)\n//BUST B 1 A_FireCustomMissile(\"HiPERBeamTrail2\",0,1,0,0)\nBUST B 1 A_RailAttack(0, 0, 1, NONE, NONE, RGF_SILENT , 0, \"none\", 0, 0, 0, 7, 0.3, 0, \"HiPERBeamTrail2\", -4)\nBUST B 1 A_fireBullets(0,0,1,HR_DAM2,\"HiPERBeamMAXPuff\",FBF_NORANDOM,0)\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"BeamRing1_RED\",0,1,0,0)\n//BUST B 1 A_FireCustomMissile(\"HiPERBeamTrail2_RED\",0,1,0,0)\nBUST B 1 A_RailAttack(0, 0, 1, NONE, NONE, RGF_SILENT , 0, \"none\", 0, 0, 0, 7, 0.3, 0, \"HiPERBeamTrail2_RED\", -4)\nBUST B 1 A_fireBullets(0,0,1,HR_DAM2,\"HiPERBeamMAXPuff_RED\",FBF_NORANDOM,0)\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"BeamRing1_BLUE\",0,1,0,0)\n//BUST B 1 A_FireCustomMissile(\"HiPERBeamTrail2_BLUE\",0,1,0,0)\nBUST B 1 A_RailAttack(0, 0, 1, NONE, NONE, RGF_SILENT , 0, \"none\", 0, 0, 0, 7, 0.3, 0, \"HiPERBeamTrail2_BLUE\", -4)\nBUST B 1 A_fireBullets(0,0,1,HR_DAM2,\"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// ===25 frames===\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 (35 + CallACS(\"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)\n\tBOMB S 0 A_Explode(25, 250, 1,0,64)\n\tBOMB S 0 A_Explode(25, 250, 1,0,250)\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\")\n\tBOMB S 0 A_Explode(25, 250, 1,0,64)\n\tBOMB S 0 A_Explode(25, 250, 1,0,250)\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 2\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\n// ===36 frames===\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 (35 + CallACS(\"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\t\"####\" A 0 A_Jumpifinventory(\"TargActive\",1,2)\n\t\"####\" B 0 ACS_ExecuteAlways(404,0,1,1120)\n\t\"####\" B 0\n\"####\" B 0 A_Jumpifinventory(\"ZoomMode\",1,\"Ready2\")\n\"####\" A 1 A_WeaponReady(WRF_ALLOWZOOM)\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\n\tReady2: //zooom ready\n\t\"####\" A 1 A_WeaponReady(WRF_ALLOWZOOM|WRF_NOSWITCH|WRF_NOSECONDARY)\n\t\"####\" A 0 A_Giveinventory(\"FocusSpeedDown\",1)\n\t\"####\" A 0 A_ZoomFactor(4.5)\n\t\"####\" A 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\n\t\"####\" A 0 A_Jumpifinventory(\"MediRifleClip\",1,\"Ready\")\n\tGoto 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// ===17 frames===\n\nNoAmmo:\n\"####\" A 1\n\"####\" A 0 A_Jumpifinventory(\"MediRifleClip\",1,\"Ready\")\nReload:\n\t\"####\" B 0 A_ZoomFactor(1.0,0)\n\t\"####\" B 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\n\nzoom:\n\"####\" B 0 A_Jumpifinventory(\"ZoomMode\",1,\"DeZoom\")\n\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_ZoomFactor(4.5,0)\n\"####\" B 0 A_GiveInventory(\"ZoomMode\")\n\"####\" A 7\ngoto Ready\nDeZoom:\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_ZoomFactor(1.0,0)\n\"####\" B 0 A_TakeInventory(\"ZoomMode\",9)\n\"####\" A 7\ngoto Ready\n\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 (40 + CallACS(\"DamageRate\",15,Range3,7))\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 A 0 A_SpawnItemEx(\"MediRiflePuff2\", 0, 0, 0, 0, 0, 0, 0,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 A 0 A_SpawnItemEx(\"MediRiflePuff2\", 0, 0, 0, 0, 0, 0, 0,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 A 0 A_SpawnItemEx(\"MediRiflePuff2\", 0, 0, 0, 0, 0, 0, 0,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,80,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 MediRiflePuff2 : FXActor_A //healing hit\n{\nscale 3.0\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/rollhealing\",\"Soundslot6\")\nHEAL A 1 A_SetScale(5.0)\nHEAL A 1 A_SetScale(6.0)\nHEAL A 1 A_SetScale(7.0)\nHEAL A 1 A_SetScale(8.0)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"HealFX3\", 0, 0, 14, 256/24, 256/24, random2(256/24), random(0, 359),SXF_TRANSFERTRANSLATION)\nHEAL B 1 A_SetScale(9.0)\nHEAL B 0 A_Fadeout\nHEAL B 1 A_SetScale(9.5)\nHEAL B 0 A_Fadeout\nHEAL B 1 A_SetScale(10.0)\nHEAL B 0 A_Fadeout\nHEAL B 1 A_SetScale(10.5)\nHEAL B 0 A_Fadeout\nHEAL B 1 A_SetScale(11.0)\n\nTNT1 A 5\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 1\nWeapon.AmmoGive 50\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 Reload\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\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\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\"####\" B 1 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_NULL, AAPTR_NULL)\n\"####\" A 0 A_TakeInventory(\"TargHolder\",999)\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 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(\"MendingToolClip\",50)\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 50\n}\n\nActor healdelay : Powerup\n{\ninventory.amount 1\npowerup.duration 5\n}\n\nActor MT_DrainDelay : Powerup\n{\ninventory.amount 1\npowerup.duration 3\n}\n\nActor BeamFXBuffer : Powerup\n{\ninventory.amount 1\npowerup.duration 7\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)\nTNT1 A 0 A_GiveInventory(\"MT_AmmoDrain\",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_Jumpifinventory(\"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,12,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\nactor MT_AmmoDrain : 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(\"MT_DrainDelay\",1,\"Nope\")\nTNT1 A 1 A_Takeinventory(\"MendingToolClip\",1)\nTNT1 A 1 A_Giveinventory(\"MT_DrainDelay\")\nstop\nNope:\nTNT1 A 0\nstop\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_Jumpifinventory(\"RattledPower\",1,\"Ready3\")\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_Jumpifinventory(\"RattledPower\",1,\"Ready3\")\n\"####\" B 0 //A_Giveinventory(\"LunchTime\")\nGoto Ready2\n\nReady3:\n\"####\" \"#\" 0 Offset(0,82)\n\"####\" A 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOBOB)\n\"####\" A 0 A_Jumpifinventory(\"RattledPower\",1,\"Ready3\")\nGoto Ready\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\"####\" \"#\" 0 A_Jumpifinventory(\"RattledPower\",1,\"NoAmmo\")\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 A_PlaySoundEx(\"weapon/noammo\",\"Weapon\")\n\"####\" \"#\" 0\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\nActor RattledPower : powerup\n{inventory.amount 1 powerup.duration 87} //`~2.5 sec\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 SnackingHitCheck : 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,\"Rattle\")\nTNT1 A 0 A_jumpifinventory(\"RattledPower\",1,\"Rattle\")\nTNT1 A 0\nstop\nRattle:\n\"####\" \"#\" 1 A_PlaySoundEx(\"weapon/SlashClawHit\",\"Soundslot7\")\nTNT1 A 0 A_Giveinventory(\"RattledPower\",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\n//TNT1 A 0 A_GiveToTarget(\"SnackingSpeed\",1)\n//TNT1 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(\"RattledPower\",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// ===3 frames===\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// ===39 frames===\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 (15)\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\")\n\tDIVE A 1 A_SeekerMissile (User_HomingRamp, User_HomingRamp)\n\tDIVE A 0 A_SpawnItemEX(\"MiniBombTrail\",0,0,-4,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\n\tDIVE A 1 A_SeekerMissile (User_HomingRamp, User_HomingRamp)\n\tDIVE B 1 A_SeekerMissile (User_HomingRamp, User_HomingRamp)\n\tDIVE B 0 A_SpawnItemEX(\"MiniBombTrail\",0,0,-4,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\n\tDIVE B 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\n\tDIVE B 0 A_SpawnItemEX(\"MiniBombTrail\",0,0,-4,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\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\tDIVE B 0 A_SpawnItemEX(\"MiniBombTrail\",0,0,-4,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\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 0 A_Explode(10, 164, 1,0,120)\nMINB D 0 A_Explode(25, 164, 1,0,180)\nMINB D 1\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\",0,0,20)//ACS_ExecuteAlways(BlastKnockback,0,50,18,100)\nMINB A 0 A_GiveToTarget(\"BlastProtection\")\nMINB D 0 A_Explode(10, 164, 1,0,120)\nMINB D 0 A_Explode(25, 164, 1,0,180)\nMINB D 1\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 (80)\nreactiontime 24\nObituary \"$OB_TAGMISSILE\"\nStates\n{\nSpawn:\nMINB A 0\nDIVE ABAB 1 A_SpawnItemEX(\"MiniBombTrail\",0,0,-4,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\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 0 A_Explode(10, 180, 1,0,100)\nMINB D 0 A_Explode(25, 180, 1,0,180)\nMINB D 1\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 0 A_Explode(10, 180, 1,0,100)\nMINB D 0 A_Explode(25, 180, 1,0,180)\nMINB D 1\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,90,60,220)\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\n// ===17 frames===\n\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 + CallACS(\"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": []
}