Raw model (for completeness)
{
"meta": {
"id": "0bc5741b-a761-4d77-add1-c23bafc61223",
"sha1": "035bfcf1377292097459bde77f4703d8756859a0",
"sha256": "d5beb25b81e8e0d02bac99999dea029c980982eba0ffbc415d9bee07f4972164",
"filenames": [
"aow_v2.2-patch_r042318.pk3"
],
"additional": {
"engines": [],
"iwad": [],
"filename": null,
"added": "2018-04-26 15:07:26",
"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-04-26 15:07:26",
"file": {
"type": "PK3",
"size": 24263,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/035bfcf1377292097459bde77f4703d8756859a0/035bfcf1377292097459bde77f4703d8756859a0.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 5,
"maps": 0,
"palettes": 0
}
},
"text_files": [
{
"source": "pk3",
"name": "actors/weapons/knife.txt",
"contents": "// Stealth Trooper's Knife\nactor Knife : AOWWeapon {\n\t+MELEEWEAPON\n\t+NOALERT\n\t+THRUGHOST\n\t+NOAUTOAIM\n\t+MELEEWEAPON\n\t+ALT_AMMO_OPTIONAL\n\tInventory.PickupSound \"misc/w_pkup\"\n\tInventory.PickupMessage \"The Ninja Knife. This is a hard weapon to get. Use it wisely.\"\n\tobituary \"$OB_KNIFE\" // \"%o \\ckwas cut up by %k!\"\n\tInventory.PickupSound \"weapons/KnifeSelect\"\n\tDecal \"BulletChip\"\n\tweapon.PreferredSkin \"MarineKnife\"\n\tweapon.ammotype2 \"StealthCharge\"\n\tweapon.ammouse2 0\n\tweapon.ammogive2 0\n\tweapon.selectionorder 17\n\tstates\n\t{\n\tReady:\n\t\tKNIF AA 0 A_JumpIfInventory (\"StealthMode\", 1, \"ReadyStealthed\")\n\t\tKNIF AAAAAAAAAAAA 3 offset (0,0) A_WeaponReady\n\t\tKNIF A 0 A_GiveInventory (\"StealthCharge\", 1)\n\t\tKNIF A 0 A_TakeInventory (\"StealthFire\", 1)\n\t\tgoto Ready+1\n\tReadyStealthed:\n\t\tKNIF A 0 A_JumpIfInventory(\"StealthCharge\", 1, 1)\n\t\tgoto AltFireOff\n\t\tKNIF AAAAAAAAAAAA 3 A_WeaponReady\n\t\tKNIF A 0 A_TakeInventory(\"StealthCharge\",1)\n\t\tgoto Ready\n\tSelect:\n\t\tKNIF A 0\n\t\tKNIF A 0 A_TakeInventory (\"StealthFire\", 1)\n\t\tKNIF A 0 A_PlayWeaponSound (\"Weapons/KnifeSelect\")\n\t\tKNIF A 1 offset (130,154)\n\t\t// KNIF A 1 offset (120,139)\n\t\t// KNIF A 1 offset (110,125)\n\t\tKNIF A 1 offset (100,112)\n\t\t// KNIF A 1 offset (90,100)\n\t\t// KNIF A 1 offset (80,89)\n\t\tKNIF A 1 offset (70,79)\n\t\t// KNIF A 1 offset (60,70)\n\t\t// KNIF A 1 offset (50,62)\n\t\tKNIF A 1 offset (40,55)\n\t\t// KNIF A 1 offset (30,49)\n\t\t// KNIF A 1 offset (20,44)\n\t\tKNIF A 1 offset (15,40)\n\t\t// KNIF A 1 offset (10,37)\n\t\t// KNIF A 1 offset (5,34)\n\t\tKNIF A 1 offset (0,0)\n\t\tGoto Ready\n\tDeselect:\n\t\tKNIF A 0\n\t\tKNIF A 2 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t\tKNIF A 1 offset (4,34)\n\t\t// KNIF A 1 offset (8,40)\n\t\tKNIF A 1 offset (16,49)\n\t\t// KNIF A 1 offset (24,62)\n\t\tKNIF A 1 offset (32,79)\n\t\t// KNIF A 1 offset (40,100)\n\t\tKNIF A 1 offset (48,125)\n\t\t// KNIF A 1 offset (56,154)\n\t\tTNT1 A 0 offset (1, 33)\n\t\tgoto DeselectLoop\n\tDeselectLoop:\n\t\tTNT1 AA 0 A_Lower\n\t\tTNT1 A 1 A_Lower\n\t\tloop\n\tAltFire:\n\t\tTNT1 A 0 A_JumpIfInventory (\"IsInSpawnRoom\", 1, \"AltRejected\") // [Cata] Prevent knife from being used in spawn room.\n\t\tKNIF A 5 A_JumpIfInventory (\"StealthMode\", 1, \"AltFireOff\")\n\t\tKNIF A 0 A_JumpIfNoAmmo (\"AltRejected\")\n\t\tKNIF A 50 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_ON)\n\t\tgoto Ready\n\tAltFireOff:\n\t\tKNIF A 5 A_JumpIfInventory (\"StealthMode\", 3, \"AltRejected\")\n\t\tKNIF A 5\n\t\tKNIF A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_OFF)\n\t\tKNIF A 48 A_WeaponReady (WRF_NOSECONDARY)\n\t\tgoto Ready\n\tAltRejected:\n\t\tKNIF A 18 A_WeaponReady (WRF_NOSECONDARY)\n\t\tgoto Ready\n\tFire:\n\t\tTNT1 A 0 A_JumpIfInventory (\"IsInSpawnRoom\", 1, \"Ready\")\n\t\tTNT1 A 0 A_JumpIfInventory (\"InMenu\", 1, \"Ready\")\n\t\tKNIF A 0 A_JumpIfInventory (\"StealthMode\", 1, \"Fire.Stealth\")\n\tFire.Go:\n\t\tKNIF B 1\n\t\tKNIF B 1 offset (0, 0)\n\t\tKNIF B 1 offset (-16, 32)\n\t\tKNIF B 1 offset (-40, 28)\n\t\tKNIF B 1 offset (-64, 24)\n\t\tKNIF B 1 offset (-88, 20)\n\t\tKNIF B 1 offset (-112, 16)\n\t\tKNIF B 1 offset (-136, 12)\n\t\tKNIF C 1 offset (-232, -2)\n\t\tKNIF C 1 offset (-224, -4)\n\t\tKNIF C 1 offset (-256, -6)\n\t\tKNIF C 1 offset (-262, -7)\n\t\tKNIF C 1 offset (-268, -8)\n\t\tKNIF C 0 A_PlayWeaponSound(\"Weapons/KnifeSwing\")\n\t\tKNIF C 0 A_CustomPunch (16, 1, 1, \"KnifePuff\",100)\n\t\tKNIF C 1 offset (-180, -14)\n\t\tKNIF C 0 A_CustomPunch (16, 1, 1, \"KnifePuff\",100)\n\t\tKNIF C 1 offset (-92, -18)\n\t\tKNIF C 0 A_CustomPunch (16, 1, 1, \"KnifePuff\",100)\n\t\tKNIF C 1 offset (-4, -14)\n\t\tKNIF C 0 A_CustomPunch (16, 1, 1, \"KnifePuff\",100)\n\t\tKNIF C 0 A_CustomPunch (16, 1, 1, \"KnifePuff\", 100)\n\t\tKNIF C 1 offset (84, -10)\n\t\tKNIF C 1 offset (116, -8)\n\t\tKNIF C 1 offset (148, -6)\n\t\tKNIF C 1 offset (164, -4)\n\t\tKNIF C 1 offset (172, -2)\n\t\tKNIF C 1 offset (176, 0)\n\t\tKNIF C 1 offset (178, 0)\n\t\tKNIF C 1 offset (176, 0)\n\t\tKNIF C 1 offset (168, 2)\n\t\tKNIF C 1 offset (160, 4)\n\t\tKNIF C 1 offset (144, 8)\n\t\tKNIF C 1 offset (128, 12)\n\t\tKNIF C 1 offset (112, 16)\n\t\tKNIF C 1 offset (96, 20)\n\t\tKNIF C 1 offset (80, 24)\n\t\tKNIF B 1 offset (64, 26)\n\t\tKNIF B 1 offset (48, 38)\n\t\tKNIF B 1 offset (32, 30)\n\t\tKNIF B 1 offset (32, 32)\n\t\tKNIF B 0 A_Refire\n\t\tKNIF AAAAA 2 A_WeaponReady\n\t\tgoto Restealth\n\tFire.Stealth:\n\t\tKNIF A 0 A_JumpIfInventory (\"StealthMode\", 3, \"Fire.Go\")\n\t\tKNIF A 0 A_GiveInventory (\"StealthFire\", 1)\n\t\tKNIF A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t\tgoto Fire.Go\n\tRestealth:\n\t\tKNIF A 0 A_JumpIfInventory (\"StealthFire\", 1, 2)\n\t\tgoto Ready\n\t\tKNIF A 0 A_TakeInventory (\"StealthFire\", 1)\n\t\tKNIF A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_ON)\n\t\tKNIF A 15 A_WeaponReady\n\t\tgoto Ready\n\t}\n}\n\nactor KnifePuff : BulletPuff {\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t-ALLOWPARTICLES\n\t+PUFFONACTORS\n\talpha 0.5\n\tDamageType \"StealthKnife\"\n}\n\n/*actor KnifeDisarm {\n\tDamageType \"Disarm\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 1 bright\n\t\tstop\n\tMelee:\n\t\tTNT1 A 1 bright\n\t\tstop\n\t}\n}*/"
},
{
"source": "pk3",
"name": "actors/weapons/shotgun.txt",
"contents": "// Shotgun\nactor Boomstick : AOWWeapon replaces Shotgun 21080 {\n\t//$Category Weapons\n\tTag \"Shotgun\"\n\tObituary \"$OB_SHOTGUN\"\n\tInventory.PickupMessage \"You got the shotgun!\"\n\tWeapon.SelectionOrder 17\n\tWeapon.KickBack 80\n\tWeapon.AmmoType \"ShotgunAmmo\"\n\tWeapon.AmmoUse 1\n\tWeapon.AmmoGive 5\n\tWeapon.PreferredSkin \"MarineShotgun\"\n\tWeapon.UpSound \"weapons/up/shotgun\"\n\tdecal \"BulletChip\"\n\tStates {\n\tReady:\n\t\tSHTG A 1 A_WeaponReady\n\t\twait\n\tDeselect:\n\t\tSHTG A 1 offset (-5, 34)\n\t\tSHTG A 1 offset (-16, 38)\n\t\tSHTG A 1 offset (-23, 45)\n\t\tSHTG A 1 offset (-32, 56)\n\t\tSHTG A 1 offset (-42, 66)\n\t\tSHTG A 1 offset (-51, 73)\n\t\tSHTG A 1 offset (-63, 87)\n\t\tSHTG A 1 offset (-78, 97)\n\t\tSHTG A 1 offset (-88, 111)\n\t\tSHTG A 1 offset (-99, 121)\n\t\tSHTG A 1 offset (-112, 133)\n\t\tSHTG A 1 offset (-125, 154)\n\t\tSHTG A 0 offset (-1, 33)\n\t\tSHTG A 0 A_Lower\n\t\twait\n\tSelect:\n\t\tSHTG A 1 offset (-125, 154)\n\t\tSHTG A 1 offset (-112, 133)\n\t\tSHTG A 1 offset (-99, 121)\n\t\tSHTG A 1 offset (-88, 111)\n\t\tSHTG A 1 offset (-78, 97)\n\t\tSHTG A 1 offset (-63, 87)\n\t\tSHTG A 1 offset (-51, 73)\n\t\tSHTG A 1 offset (-42, 66)\n\t\tSHTG A 1 offset (-32, 56)\n\t\tSHTG A 1 offset (-23, 45)\n\t\tSHTG A 1 offset (-16, 38)\n\t\tSHTG A 1 offset (-5, 34)\n\t\tgoto ready\n\tFire:\n\t\tTNT1 A 0 A_JumpIfInventory (\"IsInSpawnRoom\", 1, \"Ready\")\n\t\tTNT1 A 0 A_JumpIfInventory (\"InMenu\", 1, \"Ready\")\n\t\tSHTG A 0 Bright A_PlaySound (\"weapons/shotgf\", CHAN_WEAPON)\n\t\tSHTG A 0 Bright A_GunFlash\n\t\tSHTG A 0 Bright Radius_Quake (3, random (3, 5), 0, 1, 0)\n\t\tSHTG A 0 Bright A_FireBullets (5.5, 5.5, 2, 6, \"HandgunPuff\", 0, 500)\n\t\tSHTG A 0 Bright A_FireBullets (5.5, 5.5, 4, 5, \"HandgunPuff\", 1, 1500)\n\t\tSHTG A 1 bright A_SetPitch(pitch-1.0)\n\t\tSHTG A 1 Bright Offset (0, 41) A_SetPitch(pitch+1.0)\n\t\tSHTG A 1 Bright Offset (0, 45)\n\t\tSHTG A 1 Bright Offset (0, 49)\n\t\tSHTG A 1 Offset (0, 45)\n\t\tSHTG A 1 Offset (0, 41)\n\t\tSHTG A 1 Offset (0, 38)\n\t\tSHTG A 1 Offset (0, 35)\n\t\t/*\n\t\tSHTG A 3 Offset (0, 32)\n\t\tSHTG B 1 Offset (-12, 32)\n\t\t*/\n\t\tSHTG B 1 Offset (-24, 31)\n\t\tSHTG B 1 Offset (-42, 30)\n\t\tSHTG B 1 Offset (-56, 29)\n\t\tSHTG C 1 Offset (-60, 31) A_PlaySound (\"shotgun/pump\", 5)\n\t\tSHTG C 2 Offset (-84, 32)\n\t\tSHTG C 1 Offset (-84, 36)\n\t\tSHTG D 1 Offset (-84, 40)\n\t\tSHTG D 3 Offset (-84, 46) A_SpawnItemEx (\"ShotgunShellCasing\", 12, 9, 33,\n\t\t\trandom (-2, -4), random (2, 3), random (1, 2), random (45, 60))\n\t\tSHTG D 1 Offset (-84, 40)\n\t\tSHTG D 1 Offset (-84, 36)\n\t\tSHTG C 2 Offset (-84, 32)\n\t\tSHTG C 1 Offset (-70, 31)\n\t\tSHTG C 1 Offset (-56, 30)\n\t\tSHTG B 1 Offset (-42, 29)\n\t\tSHTG B 1 Offset (-28, 30)\n\t\tSHTG B 1 Offset (-14, 31)\n\t\tSHTG A 4 Offset ( -1, 32)\n\t\tSHTG A 0 A_ReFire\n\t\tgoto Ready\n\tFlash:\n\t\tSHTF A 1 Bright A_Light1\n\t\tSHTF B 1 Bright A_Light2\n\t\tSHTF B 0 A_Light0\n\t\tstop\n\tSpawn:\n\t\tSHOT A -1\n\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/weapons/chemsprayer.txt",
"contents": "// Chemical sprayer\nactor ChemicalSprayer : AOWWeapon 21066 {\n\t//$Category Weapons\n\t+ALT_AMMO_OPTIONAL\n\tInventory.PickupMessage \"You got the chemical sprayer!\"\n\tAttackSound \"Chem/fire\"\n\tWeapon.SelectionOrder 9\n\tWeapon.Kickback 1\n\tWeapon.AmmoType \"ChemicalAmmo\"\n\tWeapon.AmmoUse 1\n\tWeapon.AmmoGive 25\n\tWeapon.AmmoType2 \"ChemicalGrenadeAmmo\"\n\tWeapon.AmmoUse2 1\n\tWeapon.AmmoGive2 0\n\tWeapon.PreferredSkin \"MarineChem\"\n\tWeapon.UpSound \"weapons/up/chem\"\n\tTag \"Chemical Sprayer\"\n\tstates {\n\tSpawn:\n\t\tCHMG X -1\n\t\tstop\n\tReady:\n\t\tCHMS A 1 A_WeaponReady\n\t\twait\n\tDeselect:\n\t\tCHMS A 1 offset (-5, 34)\n\t\tCHMS A 1 offset (-16, 38)\n\t\tCHMS A 1 offset (-23, 45)\n\t\tCHMS A 1 offset (-32, 56)\n\t\tCHMS A 1 offset (-42, 66)\n\t\tCHMS A 1 offset (-51, 73)\n\t\tCHMS A 1 offset (-63, 87)\n\t\tCHMS A 1 offset (-78, 97)\n\t\tCHMS A 1 offset (-88, 111)\n\t\tCHMS A 1 offset (-99, 121)\n\t\tCHMS A 1 offset (-112, 133)\n\t\tCHMS A 1 offset (-125, 154)\n\t\tCHMS A 0 offset (-1, 33)\n\t\tCHMS A 0 A_Lower\n\t\twait\n\tSelect:\n\t\tCHMS A 1 offset (-125, 154)\n\t\tCHMS A 1 offset (-112, 133)\n\t\tCHMS A 1 offset (-99, 121)\n\t\tCHMS A 1 offset (-88, 111)\n\t\tCHMS A 1 offset (-78, 97)\n\t\tCHMS A 1 offset (-63, 87)\n\t\tCHMS A 1 offset (-51, 73)\n\t\tCHMS A 1 offset (-42, 66)\n\t\tCHMS A 1 offset (-32, 56)\n\t\tCHMS A 1 offset (-23, 45)\n\t\tCHMS A 1 offset (-16, 38)\n\t\tCHMS A 1 offset (-5, 34)\n\t\tgoto ready\n\tFire:\n\t\tTNT1 A 0 A_JumpIfInventory (\"IsInSpawnRoom\", 1, \"Ready\")\n\t\tTNT1 A 0 A_JumpIfInventory (\"InMenu\", 1, \"Ready\")\n\tSpam:\n\t\tCHMS A 0 A_PlaySound (\"chem/fire\", CHAN_WEAPON, 1.0, true)\n\t\tCHMS A 0 A_GunFlash\n\t\tCHMS A 1 bright offset (0, 35) A_FireCustomMissile (\"ChemicalShot\",random(-1,1),0,8,random(-1,1))\n\t\tCHMS A 1 bright offset (2, 36) A_FireCustomMissile (\"ChemicalShotDummy\",random(-1,1),0,8,random(-1,1))\n\t\tCHMS A 1 bright offset (3, 37) A_FireCustomMissile (\"ChemicalShot\",random(-1,1),1,8,random(-1,1))\n\t\tCHMS A 1 bright offset (1, 36) A_FireCustomMissile (\"ChemicalShotDummy\",random(-1,1),0,8,random(-1,1))\n\t\tCHMS A 6 bright offset (-1, 34) A_ReFire(\"Spam\")\n\t\tCHMS A 1 A_StopSound (CHAN_WEAPON)\n\t\tCHMS A 1\n\t\tgoto Ready\n\tAltFire:\n\t\tCHMS A 0 A_JumpIfNoAmmo (\"AltRejected\")\n\t\tTNT1 A 0 A_JumpIfInventory (\"IsInSpawnRoom\", 1, \"Ready\")\n\t\tTNT1 A 0 A_JumpIfInventory (\"InMenu\", 1, \"Ready\")\n\t\tCHMS D 0 bright A_FireCustomMissile (\"ChemicalGrenade\", 0, 1, 8, 0)\n\t\tCHMS B 1 A_PlaySound (\"phosnade/fire\", 5)\n\t\tCHMS C 1\n\t\tTNT1 A 0 Radius_Quake(4,6,0,1,0)\n\t\tCHMS D 1 bright A_SetPitch(pitch-1.0)\n\t\tCHMS E 1 bright A_SetPitch(pitch+1.0)\n\t\tCHMS FGH 1 bright\n\t\tCHMS A 28\n\t\tCHMS A 0 A_ReFire\n\t\tCHMS A 15 A_WeaponReady // This is to prevent the altfire sound from cutting off\n\t\tgoto Ready\n\tAltRejected:\n\t\tCHMS A 35 A_WeaponReady (WRF_NOSECONDARY)\n\t\tgoto Ready\n\tFlash:\n\t\tTNT1 A 2 A_Light1\n\t\tTNT1 A 2 A_Light2\n\t\tTNT1 A 0 A_Light0\n\t\tstop\n\t}\n}\n\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */\nactor ChemicalShot {\n\tPROJECTILE\n\t+FORCEXYBILLBOARD\n\tObituary \"$OB_CHEMSPRAYER\"\n\tRenderstyle Add\n\tAlpha 0.9\n\tRadius 8\n\tHeight 8\n\tSpeed 39\n\tDamage (random (3,5))\n\tDamageType \"Chemical\"\n\tdecal \"ChemScorch\"\n\tScale 0.5\n\tStates {\n\tSpawn:\n\t\tTNT1 A 4\n\t\tTIBX ABCDEFGHIJK 2 bright A_Explode(2, 128, 0)\n\tClear:\n\t\tTNT1 A 0 A_SpawnItemEx(\"AnthraxDecay\", random(-16,16), random(-16,16), 4, 0, 0, 0, 0, SXF_TRANSFERPOINTERS, 240)\n\t\tTIBX L 2 bright\n\t\tTIBX MMNNOOPPQQ 1 bright A_FadeOut(0.1)\n\t\tstop\n\tDeath:\n\t\tTNT1 A 1 A_Explode(3,128)\n\t\tTNT1 A 0 A_SpawnItemEx(\"AnthraxDecay\", random(-16,16), random(-16,16), 4, 0, 0, 0, 0, SXF_TRANSFERPOINTERS, 240)\n\t\tTIBX H 3 bright A_SpawnItemEx(\"ChemFakeDeath\",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_CLIENTSIDE)\n\t\t//^ Dat is optimization sir. Instead of 4 Kb/s out when shooting MCT, it's about 2.3 Kb/s.\n\t\tstop\n\t}\n}\n\nactor ChemFakeDeath : ChemicalShot {\n\tDamage (0)\n\tAlpha 0.375\n\t+CLIENTSIDEONLY // This guy decreases network usage, remember? :(\n\tStates {\n\tDeath:\n\tSpawn:\n\t\tTIBX IIJJKKLLMMOOPPQQ 1 bright A_FadeOut(0.035)\n\t\tstop\n\t}\n}\n\nactor ChemicalShotDummy {\n\tPROJECTILE\n\t//+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\t-ACTIVATEIMPACT\n\t-ACTIVATEPCROSS\n\trenderstyle Add\n\talpha 0.9\n\tRadius 8\n\tHeight 8\n\tSpeed 32\n\tDamage (0)\n\tScale 0.5\n\tStates {\n\tSpawn:\n\t\t// [Dusk] If we're in low-fx mode, potentially just remove the actor\n\t\tTNT1 A 0\n\t\tCHMS A 0 A_JumpIf (ACS_ExecuteWithResult(910, 0) < 0, \"MightClear\")\n\t\tgoto Idle\n\tMightClear:\n\t\tTNT1 A 0 A_Jump (128, 1)\n\t\tgoto Idle\n\t\tTNT1 A 0\n\t\tstop\n\tIdle:\n\t\tTNT1 A 4\n\t\tTIBX ABCDEFGHIJKL 2 bright\n\t\tTIBX MMNNOOPPQQ 1 bright A_FadeOut(0.1)\n\t\tstop\n\tDeath:\n\t\tTIBX H 3 bright A_Stop\n\t\tTIBX IIJJKKLLMMOOPPQQ 1 bright A_FadeOut(0.07)\n\t\tstop\n\t}\n}\n\nactor AnthraxDecay {\n\t+NOBLOCKMAP\n\t+NODAMAGETHRUST\n\trenderstyle None\n\talpha 0.5\n\tGravity 0.125\n\tScale 2.0\n\tDamageType \"Chemical\"\n\tobituary \"$OB_CHEMICALS\"\n\tstates {\n\tSpawn:\n\t\tTNT1 AA 0 A_PlaySound(\"chem/chem\")\n\t\tTNT1 A 0 A_SpawnItemEx (\"AnthraxDecayFX\")\n\t\tTNT1 AAAAAAAAAAA 15 BRIGHT A_Explode(4, 128)\n\t\tstop\n\t}\n}\n\nactor AnthraxDecayFX {\n\t+NOBLOCKMAP\n\t+CLIENTSIDEONLY\n\tGravity 0.125\n\treactiontime 33\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 5 A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)\n\t\tTNT1 A 0 A_Countdown\n\t\tloop\n\tDeath:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}\n\nactor AnthraxDecaySpecial : AnthraxDecay {\n\tdamagetype \"ChemicalSpecial\"\n}\n\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */\nactor ChemicalGrenade {\n\tPROJECTILE\n\t-RANDOMIZE\n\t-NOGRAVITY\n\tGravity 0.125\n\tradius 11\n\theight 8\n\tspeed 35\n\tdamage (30)\n\tseesound \"\"\n\tdeathsound \"weapons/rocklx\"\n\tobituary \"$OB_CHEMSPRAYER_GRENADE\"\n\tdamagetype \"Chemical\"\n\tdecal \"ChemScorchStrong\"\n\ttranslation \"2:30=202:223\"\n\tstates {\n\tSpawn:\n\t\tSGRN A 2 bright A_SpawnItemEx (\"PulseBallSmokePuff\", -25)\n\t\twait\n\tDeath:\n\t\tTNT1 A 0 bright A_SpawnItem (\"ChemicalExplosion\")\n\t\tTNT1 A 0 bright A_Gravity\n\t\tTNT1 A 0 bright A_Explode (90, 128, 1)\n\t\tgoto Decay\n\tDecay:\n\t\tTNT1 AAAAAAAAA 70 A_SpawnItemEx(\"AnthraxDecay\", random(-64,64), random(-64,64), 4, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)\n\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/mechs/Mastodon.txt",
"contents": "// Mastodon mech\n Actor Mastodon : MechPlayer_Base\n {\n Health 2500\n\tRadius 60\n\tHeight 76\n\tPainChance 0\n\tPlayer.DisplayName \"Mastodon\"\n\tPlayer.Forwardmove 0.63\n\tPlayer.Sidemove 0\n\tPlayer.Maxhealth 2500\n\tPlayer.ViewHeight 75\n\tPlayer.MorphWeapon \"MastodonWeapons\"\n\tScale 1.5\n\tStates\n\t{\n\t Spawn:\n\t MDON I 0\n\t MDON A 0 SetPlayerProperty(0, 0, 3)\n\t MDON A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t MDON A 0 ACS_Execute(315, 0)\n\t MDON A 0 A_GiveInventory(\"MechEjectButton\", 1)\n\t MDON A 0 A_GiveInventory(\"IsMech\", 1)\n\t MDON A 35\n\t MDON AAAA 35\n\t MDON A 35\n\t Loop\n\n\t See:\n\t TNT1 A 0 SetPlayerProperty (0, 0, 3)\n\t TNT1 A 0 A_SpawnItemEx (\"MastodonStepDamageWeak\", 0, 0, 4)\n\t MDON B 1 A_JumpIfHealthLower (1000, \"SeeDamaged\")\n\t TNT1 A 0 A_SpawnItemEx (\"MechStepSmokePuff\", 0, 0, 4)\n\t MDON C 1\n\t TNT1 A 0 A_SpawnItemEx (\"MastodonStepDamageWeak\", 0, 0, 4)\n\t MDON D 1\n\t TNT1 A 0 A_SpawnItemEx (\"MechStepSmokePuff\", 0, 0, 4)\n\t MDON A 1\n\t TNT1 C 0 A_JumpIf(WaterLevel >= 1, \"Drown\")\n\t Goto Spawn\n\n\t SeeDamaged:\n\t TNT1 A 0 SetPlayerProperty (0, 0, 3)\n\t TNT1 A 0 A_SpawnItemEx (\"MastodonStepDamageWeak\", 0, 0, 4)\n\t MDON B 1\n\t TNT1 A 0 A_SpawnItemEx (\"EjectedMechSmokePuff\", random(-32,32),random(-32,32),random(96,128), 0,0,3)\n\t MDON C 1\n\t TNT1 A 0 A_SpawnItemEx (\"MastodonStepDamageWeak\", 0, 0, 4)\n\t MDON D 1\n\t TNT1 A 0 A_SpawnItemEx (\"MechStepSmokePuff\", 0, 24, 4)\n\t MDON A 1\n\t TNT1 A 0 A_JumpIf(WaterLevel >= 1, \"Drown\")\n\t Goto Spawn\n\n\t Melee:\n\t MDON A 10 bright\n\t Goto Spawn\n\n\t Drown:\n\t TNT1 A 0 Thing_Damage (0, 300, 12)\n\t Goto Spawn\n\n\t Death:\n\t TNT1 A 0\n\t TNT1 A 0 A_JumpIfInventory(\"IsKamikaze\",1,\"Death.IonExplosion\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsBombCrate\", 1, \"Death.BombExplosion\")\n\t Goto DeathGo\n\n\t DeathGo:\n\t TNT1 A 0 A_NoBlocking\n\t TNT1 A 0 A_StopSound (6)\n\t TNT1 A 0 A_StopSound (CHAN_WEAPON)\n\t MDON A 1\n\t MDON A 1 A_SpawnItemEx (\"MechExplosionSmall\", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)\n\t MDON A 10 Bright\n\t DISR Z -1 A_SetTranslucent(0,0.0)\n\t Stop\n\n\t Death.IonExplosion:\n\t TNT1 A 0\n\t TNT1 A 0 A_JumpIfInventory (\"IsRed\", 1, \"Death.NukeExplosion\")\n\t TNT1 A 0 A_SpawnItemEx (\"BlueStrikeKamikaze\", 0, 0, 32)\n\t Goto DeathGo\n\n\t Death.NukeExplosion:\n\t TNT1 A 0\n\t TNT1 A 0 A_SpawnItemEx (\"NukeKamikaze\", 0, 0, 32)\n\t Goto DeathGo\n\n\t Death.BombExplosion:\n\t MDON A 0\n\t MDON A 0 A_SpawnItemEx(\"BombExplosion\")\n\t Goto DeathGo\n\t}\n }\n\n Actor MastodonStepDamageWeak\n {\n\tRenderStyle None\n\t+RANDOMIZE\n\t+NOCLIP\n\t+NODAMAGETHRUST\n\t-TELESTOMP\n\tPROJECTILE\n\tSpeed 1\n\tDamage 0\n\tScale 0.7\n\tDamagetype \"MechStomp\"\n\tStates\n\t{\n\t Spawn:\n\t TNT1 A 0\n\t ROB1 D 0 Radius_Quake(2,2,0,2,0)\n\t PUFF A 0 A_SpawnItemEx(\"MastodonStepSound\", 0, 0, 0, 0, 0, 0, 0, 128, 0)\n\t TNT1 A 10 bright A_Explode(128,160,0)\n\t Stop\n\t}\n }\n\n Actor MastodonStepSound\n {\n\t+CLIENTSIDEONLY\n\t-TELESTOMP\n\tRadius 1\n\tHeight 1\n\t+NoClip\n\tStates\n\t{\n\t Spawn:\n\t TNT1 A 0\n\t TNT1 A 1 A_PlaySound(\"tanktr\", 6, 0.45)\n\t Stop\n\t}\n }\n\n Actor MastodonUsed : Mastodon { Health 1000 }\n\nactor PowerMastodon : AOWMorph {powermorph.playerclass \"Mastodon\"}\nactor PowerMastodon2 : AOWMorph {PowerMorph.PlayerClass \"MastodonUsed\"}\nactor MastodonSwitch : PermanentPowerup {Powerup.Type \"Mastodon\"}\nactor MastodonSwitch2 : PermanentPowerup {Powerup.Type \"Mastodon2\"}\n\n Actor MastodonSwitchPickup : CustomInventory\n {\n\tInventory.Pickupsound \"mech/start\"\n\t+INVENTORY.AUTOACTIVATE\n\tScale 1.5\n\tStates\n\t{\n\t Spawn:\n\t MDON E -1\n\t Stop\n\n\t Pickup:\n\t TNT1 A 0 ACS_ExecuteWithResult (353, 0)\n\t Stop\n\n\t Use:\n\t TNT1 A 0 A_GiveInventory (\"MastodonSwitch2\", 1)\n\t TNT1 A 0 A_GiveInventory (\"IsMech\", 1)\n\t TNT1 A 0 A_GiveInventory(\"MechEjectButton\",1)\n\t Stop\n\t}\n }\n\n Actor MastodonWeapons : AOWWeapon\n {\n\tWeapon.SelectionOrder 1\n\tObituary \"%o was destroyed by %k's Mastodon.\"\n\t-NOAUTOAIM\n\t+WEAPON.CHEATNOTWEAPON\n\t+WEAPON.DONTBOB\n\tWeapon.Preferredskin \"MastodonMech\"\n\tWeapon.AmmoType \"DonRocketAmmo\"\n\tWeapon.AmmoType2 \"DonFireAmmo\"\n\tStates\n\t{\n\t Ready:\n\t MHUD A 1 A_WeaponReady\n\t Wait\n\n\t Deselect:\n\t MHUD A 0 A_JumpIfHealthLower(1,1)\n\t Goto Ready\n\t MHUD CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 0 A_Lower\n\t TNT1 A 1 A_Lower\n\t Wait\n\n\t Select:\n\t MHUD C 0\n\t MHUD CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 0 A_Raise\n\t MHUD C 1 A_Raise\n\t Goto Select+31\n\n\t WaitReload:\n\t MHUD A 0\n\t MHUD A 2\n\t MHUD A 2 A_ReFire\n\t Goto Ready\n\n\t Fire:\n\t NHUD A 0\n\t MHUD A 0 A_JumpIfInventory (\"DonRocketAmmo\", 2, \"FireMissiles\")\n\t Goto Ready\n\n\t FireMissiles:\n\t MHUD A 2 A_PlayWeaponSound (\"tanksh\")\n\t MHUD B 0 Radius_Quake (2, 25, 0, 1, 0)\n\t MHUD A 0 A_TakeInventory (\"DonRocketAmmo\", 2)\n\t MHUD B 0 Bright A_GunFlash\n\t MHUD B 2\n\t TNT1 A 0 A_FireCustomMissile (\"DonHomingMissile\", 0, 0, 16, 36)\n\t TNT1 A 0 A_FireCustomMissile (\"OrcaFireFlame\", 0, 0, 16, 36)\n\t TNT1 A 0 A_FireCustomMissile (\"DonHomingMissile\", 0, 0, -16, 36)\n\t TNT1 A 0 A_FireCustomMissile (\"OrcaFireFlame\", 0, 0, -16, 36)\n\t MHUD A 30\n\t TNT1 A 0 A_PlaySound(\"lrm/reload\", 7)\n\t MHUD A 20\n\t MHUD A 2 A_Refire\n\t Goto Ready\n\n\t AltFire:\n\t NHUD A 0\n\t MHUD A 0 A_JumpIfInventory (\"DonFireAmmo\", 2, \"FireMissiles2\")\n\t Goto Ready\n\n\t FireMissiles2:\n\t MHUD A 2 A_PlayWeaponSound (\"tanksh\")\n\t MHUD B 0 Radius_Quake (2, 25, 0, 1, 0)\n\t MHUD A 0 A_TakeInventory (\"DonFireAmmo\", 2)\n\t MHUD B 0 Bright A_GunFlash\n\t MHUD B 2\n\t TNT1 A 0 A_FireCustomMissile (\"DonFireGrenade\", 0, 0, 16, 32)\n\t TNT1 A 0 A_FireCustomMissile (\"OrcaFireFlame\", 0, 0, -16, 32)\n\t TNT1 A 0 A_FireCustomMissile (\"DonFireGrenade\", 0, 0, -16, 32)\n\t TNT1 A 0 A_FireCustomMissile (\"OrcaFireFlame\", 0, 0, -16, 32)\n\t MHUD A 30\n\t TNT1 A 0 A_PlaySound(\"lrm/reload\", 7)\n\t MHUD A 20\n\t MHUD A 2 A_Refire\n\t Goto Ready\n\n\t Flash:\n\t TNT1 A 1 Bright A_Light2\n\t TNT1 A 2 Bright A_Light1\n\t Goto LightDone\n\n\t Spawn:\n\t TNT1 A 0\n\t Stop\n\t}\n }\n\n Actor DonHomingMissile : HeavyMissile\n {\n //+SEEKERMISSILE\n\tDamage(45)\n\tSpeed 50\n\tObituary \"$OB_SEEKERMISSILE\"\n\tStates\n\t{\n\t Spawn:\n\t TNT1 A 4 Bright\n\t //TNT1 A 0 Bright A_PlaySound (\"seeker/beep\", CHAN_ITEM, 0.5, True)\n\t TNT1 A 0 bright A_PlaySound (\"ambient/rocket\", CHAN_BODY, 0.5, True)\n\t Goto Fly\n\n\t Fly:\n\t MISR A 0 A_SpawnItemEx (\"HeavyMissileSmoke\", -16)\n\t MISR A 8 Bright //A_SeekerMissile (30, 60)\n\t Loop\n\n\t TNT1 A 0 A_StopSound (CHAN_ITEM)\n\t Goto Super::Death\n\t}\n }\n\n Actor DonFireGrenade\n {\n\tRadius 13\n\tHeight 13\n\tDamage (30)\n\tSpeed 30\n\tProjectile\n\tGravity .5\n\t-NOGRAVITY\n\tDeathSound \"tankflame\"\n\tStates\n\t{\n\t Spawn:\n\t TNT1 A 3\n\t Goto Fly\n\n\t Fly:\n\t MCGR AB 3\n\t Loop\n\n\t Death:\n\t TNT1 A 0 A_Explode(64, 128)\n\t TNT1 A 0 A_SpawnItem(\"DonFlameDecay\")\n\t TNT1 A 0 A_SpawnItem(\"ExplosionSmall\")\n\t Stop\n\t}\n }\n\n Actor DonFlameFX\n {\n\tPROJECTILE\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\t-RANDOMIZE\n\tRadius 24\n\tHeight 60\n\tDamage 0\n\tRenderstyle Add\n\tAlpha 0.75\n\tStates\n\t{\n\t Spawn:\n\t TNT1 A 0\n\t MFLM A 4 Bright\n\t MFLM BCDEFGH 4 Bright\n\t MFLM ABCDEFGHABCDEFGH 4 Bright A_FadeOut(0.1)\n\t Stop\n\n\t Death:\n\t MFLM A 2 Bright\n\t MFLM BCDEFGH 4 Bright\n\t MFLM ABCDEFGHABCDEFGH 4 Bright A_FadeOut(0.1)\n\t Stop\n\t}\n }\n\n Actor DonFlameDecay\n {\n\t+NOBLOCKMAP\n\t+NODAMAGETHRUST\n\t+NOEXPLODEFLOOR\n\tGravity 0.5\n\tDamageType \"Fire\"\n\tObituary \"%o was playing with %k's fire.\"\n\treactiontime 16\n\tStates\n\t{\n\t Spawn:\n\t TNT1 A 0\n\t TNT1 A 0 A_SpawnItemEx (\"DonFlameDecayFX\")\n\t TNT1 A 0 A_PlaySoundEx(\"fire/fire\",\"SoundSlot6\",1)\n\n\t Idle:\n\t TNT1 A 12 Bright A_Explode (32, 128)\n\t TNT1 A 0 A_CountDown\n\t Loop\n\n\t Death:\n\t TNT1 A 0 A_PlaySoundEx(\"fire/firefade\",\"SoundSlot6\",0)\n\t Stop\n\t}\n }\n\n Actor DonFlameDecayFX\n {\n\t+NOBLOCKMAP +CLIENTSIDEONLY\n\tStates\n\t{\n\t Spawn:\n\t TNT1 AAAAAAAAAAA 5 A_SpawnItemEx(\"DonFlameFX\", random(-16,16), random(-16,16), random(0,8), 0, 0, random(1,2), 0, 128, 0)\n\t TNT1 AAAAAAAAAAA 5 A_SpawnItemEx(\"DonFlameFX\", random(-16,16), random(-16,16), random(0,8), 0, 0, random(1,2), 0, 128, 0)\n\t TNT1 AAAAAAAAAAA 5 A_SpawnItemEx(\"DonFlameFX\", random(-16,16), random(-16,16), random(0,8), 0, 0, random(1,2), 0, 128, 0)\n\t Stop\n\t}\n }\n\n Actor DamagedMastodon\n {\n\tHealth 300\n\tRadius 58\n\tHeight 128\n\tMass 2000\n\tScale 1.5\n\t-SOLID\n\t-NOBLOCKMAP\n\t-NOCLIP\n\t+SHOOTABLE\n\tPainChance 0\n\tBloodtype \"HHMetalHit\"\n\tBloodcolor \"White\"\n\tObituary \"%o went boom.\"\n\tTranslation \"112:127=[255,255,255]:[0,0,0]\"\n\tDamageFactor \"Disarm\", 0.0\n\tStates\n\t{\n\t Spawn:\n\t MDON EEEE 35\n\t MDON E 35\n\t MDON EEEE 5 A_SpawnItemEx(\"EjectedMechSmokePuff\",random(-32,32),random(-32,32),random(96,128),0,0,3,0,128,0)\n\t MDON E 5 A_SpawnItemEx(\"EjectedMechSmokePuff\",random(-32,32),random(-32,32),random(96,128),0,0,3,0,128,0)\n\t Goto Spawn+5\n\n\t Death:\n\t MDON E 0\n\t MDON E 10 A_NoBlocking\n\t MDON E 10 A_SpawnItemEx (\"MechExplosionSmall\", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)\n\t DISR K -1\n\t Stop\n\t}\n }\n\n Actor EjectedMastodon\n {\n Scale 1.5\n\tTranslation \"112:127=[255,255,255]:[0,0,0]\"\n\tStates\n\t{\n\t Spawn:\n\t MDON EEEE 35\n\t MDON A 0 A_SpawnItemEx (\"MastodonSwitchPickup\")\n\t Stop\n\t}\n }\n\n Actor DonRocketAmmo : Ammo\n {\n Inventory.amount 2\n\tInventory.maxamount 80\n\tAmmo.backpackamount 10\n\tAmmo.backpackmaxamount 80\n }\n\n Actor DonFireAmmo : Ammo\n {\n Inventory.amount 2\n\tInventory.maxamount 80\n\tAmmo.backpackamount 10\n\tAmmo.backpackmaxamount 80\n }\n\n Actor MastodonAmmoPackage : CustomInventory\n {\n\t+AUTOACTIVATE\n\tInventory.Maxamount 0\n\tStates\n\t{\n\t Pickup:\n\t TNT1 A 0 A_GiveInventory (\"DonRocketAmmo\", 40)\n\t TNT1 A 0 A_GiveInventory (\"DonFireAmmo\", 40)\n\t Stop\n\t}\n }"
}
]
},
"maps": []
}