Raw model (for completeness)
{
"meta": {
"id": "00e59b24-ea10-4423-ad44-5120ccd5c15d",
"sha1": "0496802d7ca0a481eb788ae5d5185e5f65f101c8",
"sha256": "7d63d808fc563ffb81b1c74e57e26421ad1274daa60e4dd26389dea7c55c0049",
"filenames": [
"qcde-dickkickemv0.7.pk3"
],
"additional": {
"engines": [
"ZDOOM"
],
"iwad": [],
"filename": null,
"added": "2018-10-26 03:14:12",
"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-10-26 03:14:12",
"file": {
"type": "PK3",
"size": 7065081,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/0496802d7ca0a481eb788ae5d5185e5f65f101c8/0496802d7ca0a481eb788ae5d5185e5f65f101c8.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 1607,
"maps": 0,
"palettes": 0
},
"engines_guess": [
"ZDOOM"
]
},
"analysis": {
"title": "qcde-dickkickemv0.7.pk3",
"description": "A ZDoom gameplay add-on for QCDE that replaces/augments the bestiary with Duke Nukem 3D-inspired enemies, projectiles, sounds, and visual effects rather than providing any playable maps. The roster emphasizes ranged pressure and fast projectiles (trooper lasers, sniper shots, chaingun-style fire) alongside several large boss-class monsters such as the Battlelord, Overlord, Cycloid Emperor, and Alien Queen. Expect frequent explosive attacks (rockets, mortars, drone detonations) and high incoming damage potential, with some enemies featuring special behaviors like teleporting, charging kamikaze runs, and spawning additional monsters. Includes GLDEFS dynamic lights and extensive SNDINFO/DECORATE definitions, indicating a modern ZDoom-focused presentation.",
"tags": [
"boss_monsters",
"custom_monsters",
"custom_sounds",
"duke3d",
"dynamic_lights",
"explosive_combat",
"gameplay_mod",
"high_damage",
"hitscanner_heavy",
"monster_replacement",
"no_maps",
"pk3",
"projectile_heavy",
"sci-fi",
"zdoom"
],
"origin": "gpt-4.1-mini"
},
"text_files": [
{
"source": "pk3",
"name": "DECORATE.txt",
"contents": "#include \"Actors/D3DCommon.txt\"\n\n// new monsters sprites by sebabdukeboss\n\n#include \"Actors/D3DLiztroop.txt\"\n#include \"Actors/D3DLizCaptain.txt\"\n#include \"Actors/D3DPigcop.txt\"\n#include \"Actors/D3DEnforcer.txt\"\n#include \"Actors/D3DPigBrute.txt\"\n#include \"Actors/D3DPigAss.txt\"\n#include \"Actors/D3DSDrone.txt\"\n#include \"Actors/D3DPDrone.txt\"\n#include \"Actors/D3DDukinator.txt\"\n#include \"Actors/D3DOctabrain.txt\"\n#include \"Actors/D3DRecon.txt\"\n#include \"Actors/D3DAssComm.txt\"\n#include \"Actors/D3DPigTank.txt\"\n#include \"Actors/D3DMegaBrain.txt\"\n#include \"Actors/D3DAlienSniper.txt\"\n#include \"Actors/D3DBattlelord.txt\"\n#include \"Actors/D3DOverlord.txt\"\n#include \"Actors/D3DCycloid.txt\"\n#include \"Actors/D3DAlienQueen.txt\""
},
{
"source": "pk3",
"name": "GLDEFS.txt",
"contents": "// gldefs taken from duke nukem 3d mod for doom\npointlight AlienBulletLight\n{\n color 1.0 0.6 0.3\n size 42\n offset 0 0 0\n}\n\nobject TrooperLaser {\n\tframe TNT1A { light AlienBulletLight }\n}\n\nobject ReconPatrolLaser {\n\tframe TNT1A { light AlienBulletLight }\n}\n\nflickerlight ShrinkerLight1\n{\n color 0.7 1.0 0.5\n size 50\n secondarysize 40\n chance 0.1\n offset 0 0 0\n}\n\npointlight ShrinkerLight2\n{\n color 0.7 1.0 0.5\n size 40\n offset 0 0 0\n}\n\npointlight ShrinkerLight3\n{\n color 0.7 1.0 0.5\n size 70\n offset 0 0 0\n}\n\npointlight ShrinkerLight4\n{\n color 0.7 1.0 0.5\n size 50\n offset 0 0 0\n}\n\nobject AlienShrinkerAttack {\n frame PR_DA { light ShrinkerLight1 }\n frame PR_DB { light ShrinkerLight1 }\n frame PR_DC { light ShrinkerLight1 }\n frame PR_DD { light ShrinkerLight1 }\n frame PR_DE { light ShrinkerLight2 }\n frame PR_DF { light ShrinkerLight3 }\n frame PR_DG { light ShrinkerLight4 }\n frame PR_DH { light ShrinkerLight2 }\n}\n\nPointlight FlameBreath1\n{\n Color 1.0 0.8 0.2\n Size 115\n}\n\nPointlight FlameBreath2\n{\n Color 1.0 0.8 0.2\n Size 110\n}\n\nPointlight FlameBreath3\n{\n Color 1.0 0.8 0.2\n Size 105\n}\n\nPointlight FlameBreath4\n{\n Color 1.0 0.8 0.2\n Size 100\n}\n\nPointlight FlameBreath5\n{\n Color 1.0 0.8 0.2\n Size 95\n}\n\nPointlight FlameBreath6\n{\n Color 1.0 0.8 0.2\n Size 90\n}\n\nPointlight FlameBreath7\n{\n Color 1.0 0.8 0.2\n Size 85\n}\n\nPointlight FlameBreath8\n{\n Color 0.9 0.7 0.1\n Size 80\n}\n\nPointlight FlameBreath9\n{\n Color 0.9 0.7 0.1\n Size 75\n}\n\nPointlight FlameBreath10\n{\n Color 0.9 0.7 0.1\n Size 70\n}\n\nPointlight FlameBreath11\n{\n Color 0.8 0.6 0.0\n Size 65\n}\n\nPointlight FlameBreath12\n{\n Color 0.8 0.6 0.0\n Size 60\n}\n\nPointlight FlameBreath13\n{\n Color 0.8 0.6 0.0\n Size 55\n}\n\nPointlight FlameBreath14\n{\n Color 0.6 0.4 0.0\n Size 50\n}\n\nPointlight FlameBreath15\n{\n Color 0.6 0.4 0.0\n Size 45\n}\n\nPointlight FlameBreath16\n{\n Color 0.6 0.4 0.0\n Size 40\n}\n\nPointlight FlameBreath17\n{\n Color 0.4 0.2 0.0\n Size 35\n}\n\nPointlight FlameBreath18\n{\n Color 0.4 0.2 0.0\n Size 30\n}\n\nPointlight FlameBreath19\n{\n Color 0.2 0.0 0.0\n Size 25\n}\n\nPointlight FlameBreath20\n{\n Color 0.2 0.0 0.0\n Size 20\n}\n\nPointlight FlameBreath21\n{\n Color 0.2 0.0 0.0\n Size 15\n}\n\nobject RPGExplosion {\n\tFrame RPGXB { Light FlameBreath1 }\n\tFrame RPGXC { Light FlameBreath2 }\n\tFrame RPGXD { Light FlameBreath3 }\n\tFrame RPGXE { Light FlameBreath4 }\n\tFrame RPGXF { Light FlameBreath5 }\n\tFrame RPGXG { Light FlameBreath6 }\n\tFrame RPGXH { Light FlameBreath7 }\n\tFrame RPGXI { Light FlameBreath8 }\n\tFrame RPGXJ { Light FlameBreath9 }\n\tFrame RPGXK { Light FlameBreath10 }\n\tFrame RPGXL { Light FlameBreath11 }\n\tFrame RPGXM { Light FlameBreath12 }\n\tFrame RPGXN { Light FlameBreath13 }\n\tFrame RPGXO { Light FlameBreath14 }\n\tFrame RPGXP { Light FlameBreath15 }\n\tFrame RPGXQ { Light FlameBreath16 }\n\tFrame RPGXR { Light FlameBreath17 }\n\tFrame RPGXS { Light FlameBreath18 }\n\tFrame RPGXT { Light FlameBreath19 }\n\tFrame RPGXU { Light FlameBreath20 }\n}\n\nflickerlight AssCommanderLight\n{\n color 1.0 0.6 0.3\n size 70\n secondarysize 50\n chance 0.1\n offset 0 0 0\n}\n\nobject ACommanderRocket {\n\tframe RPGXA { light AssCommanderLight }\n}\n\nflickerlight OverlordLight\n{\n color 1.0 0.6 0.3\n size 90\n secondarysize 70\n chance 0.2\n offset 0 0 0\n}\n\nobject OverlordRocket {\n\tframe RPGXA { light OverlordLight }\n}\n\nflickerlight CycloidLight\n{\n color 1.0 0.6 0.3\n size 36\n secondarysize 38\n chance 0.1\n offset 0 0 0\n}\n\nobject CyEmperorRocket {\n frame RPGXA { light CycloidLight }\n}\n\nflickerlight QueenLight1 {\n\tcolor 0.5 0.5 1.0\n\tsize 64\n\tsecondarysize 96\n\toffset 0 50 0\n}\n\nflickerlight QueenLight2 {\n\tcolor 0.5 0.5 1.0\n\tsize 48\n\tsecondarysize 96\n\toffset 0 50 0\n}\n\nobject D3D_AlienQueen {\n\tframe QUEEF { light QueenLight1 }\n\tframe QUEEG { light QueenLight2 }\n}"
},
{
"source": "pk3",
"name": "LOADACS.txt",
"contents": "DICK"
},
{
"source": "pk3",
"name": "SNDINFO.txt",
"contents": "duke3d/shotgunfire\t\tD3DSGFIR\nduke3d/shotguncock\t\tD3DSGCK\nduke3d/chaingunfire\t\tD3DCGUN\n$limit duke3d/chaingunfire 0\nduke3d/rpgfire\t\t\tD3DRPG\nduke3d/rpgexp\t\t\tD3DRPGX\n$limit duke3d/rpgexp 0\nduke3d/pistolfire\t\tD3DPIST\nduke3d/bounce\t\t\tD3DBNC\nduke/enemygib\t\t\tD3DGIB\n\nassaultcapt/choking\t\tchokn12\nassaultcapt/fire\t\tgblasr01\nassaultcapt/teleport\tascatele\n\n$random pigcop/roam { pigcop/roam1 pigcop/roam2 pigcop/roam3 }\npigcop/roam1\t\t\tpigrm\npigcop/roam2\t\t\troam29\npigcop/roam3\t\t\troam67\npigcop/sight\t\t\tpigrg\npigcop/pain\t\t\t\tpigpn\n$limit pigcop/pain 1 40\npigcop/death\t\t\tpigdy\n$pitchshift\tpigcop/pain 3\n$pitchshift\tpigcop/death 3\n$pitchshift\tpigcop/roam 3\n$pitchshift\tpigcop/sight 3\n\n$random liztroop/roam { liztroop/roam1 liztroop/roam2 }\nliztroop/roam1\t\t\troam06\nliztroop/roam2\t\t\troam58\nliztroop/death\t\t\tpreddy\nliztroop/pain\t\t\tpredpn\n$limit liztroop/pain 1 40\nliztroop/sight\t\t\tpredrg\n$pitchshift liztroop/sight 1\n$pitchshift\tliztroop/pain 1\n$pitchshift\tliztroop/death 1\n$pitchshift\tliztroop/roam 1\n$pitchshift\tliztroop/sight 1\n\nassaultenf/roam\t\t\tpredrm\nassaultenf/death\t\tepreddy\nassaultenf/pain\t\t\tepredpn\n$limit assaultenf/pain 1 40\nassaultenf/sight\t\tepredrg\nassaultenf/turd\t\t\tlizshit3\nassaultenf/spit\t\t\tlizspit\n$pitchshift\tassaultenf/pain 3\n$pitchshift\tassaultenf/death 3\n$pitchshift\tassaultenf/roam 3\n$pitchshift\tassaultenf/sight 3\n\noctabrain/attack\t\toctaat1\noctabrain/melee\t\t\toctaat2\noctabrain/sight\t\t\toctarg\noctabrain/roam\t\t\toctarm\noctabrain/pain\t\t\toctapn\n$limit octabrain/pain 1 40\noctabrain/death\t\t\toctady\n$pitchshift\toctabrain/pain 1\n$pitchshift\toctabrain/death 1\n$pitchshift\toctabrain/roam 1\n$pitchshift\toctabrain/sight 1\n\nassaultcom/attack\t\tcommat\nassaultcom/death\t\tcommdy\nassaultcom/pain\t\t\tcommpn\n$limit assaultcom/pain 1 40\nassaultcom/roam\t\t\tcommrm\nassaultcom/spin\t\t\tcommsp\nassaultcom/sight\t\tcommrg\n$pitchshift\tassaultcom/pain 1\n$pitchshift\tassaultcom/death 1\n$pitchshift\tassaultcom/roam 1\n$pitchshift\tassaultcom/sight 1\n\nsentdrone/charge\t\tsnakata\nsentdrone/detonate\t\tsnakatb\nsentdrone/pain\t\t\tsnakpn\n$limit sentdrone/pain 1 40\nsentdrone/sight\t\t\tsnakrg\nsentdrone/active\t\tsnakrm\n\nbattlelord/death\t\tbos1dy\nbattlelord/pain\t\t\tepredpn\n$limit battlelord/pain 1 40\nbattlelord/roam\t\t\tbos1rm\nbattlelord/sight\t\tbos1rg\n\noverlord/sight b3rec04\noverlord/death\t\t\tb3die03g\noverlord/pain\t\t\tb3rec03g\n$limit overlord/pain 1 40\noverlord/roam\t\t\tb3roam01\n\ncycloid/sight b2rec03\ncycloid/death\t\t\tb2die03\ncycloid/pain\t\t\tb2pain03\n$limit cycloid/pain 1 40\ncycloid/roam\t\t\tb2atk01\ncycloid/attack\t\t\tb2atk02\n$pitchshift\tcycloid/pain 1\n$pitchshift\tcycloid/death 1\n$pitchshift\tcycloid/roam 1\n$pitchshift\tcycloid/sight 1\n\nqueen/sight bqrec2a\nqueen/attack\t\t\tbqshock3\nqueen/roam\t\t\t\tbqroam2a\nqueen/birth\t\t\t\tbqegg1a\nqueen/pain\t\t\t\tbqpain2a\n$limit queen/pain 1 40\nqueen/death\t\t\t\tbqdie1a\n\npigtank/active\t\t\ttank3a\n\nrpv/fly\t\t\t\t\trpvfligh\n\nprodrone/attack1\t\tblrip1a\nprodrone/attack2\t\tblrip1b\nprodrone/roam\t\t\tblroam2a\nprodrone/spit\t\t\tblspit1a\nprodrone/death\t\t\tbldie3a\nprodrone/pain\t\t\tblpain1b\n$limit prodrone/pain 1 40\nprodrone/see\t\t\tblrec4b\n\nduke/thud\t\t\t\tdukethud\n\n$pitchshift prodrone/pain 4\n$pitchshift prodrone/death 4\n\naliensniper/sight\t\tASNPSEE\naliensniper/pain1\t\tASNPPN1\naliensniper/pain2\t\tASNPPN2\n$random aliensniper/pain { aliensniper/pain1 aliensniper/pain2 }\n$limit aliensniper/pain 1 40\naliensniper/death1\t\tASNPDIE1\naliensniper/death2\t\tASNPDIE2\n$random aliensniper/death { aliensniper/death1 aliensniper/death2 }\naliensniper/roam1\t\tASNPROM1\naliensniper/roam2\t\tASNPROM2\naliensniper/roam3\t\tASNPROM3\n$random aliensniper/roam { aliensniper/roam1 aliensniper/roam2 aliensniper/roam3 }\naliensniper/fire\t\tasnpfir\n\nmegabrain/sight\t\t\tMEGABSEE\nmegabrain/death\t\t\tMEGABDIE\nmegabrain/attack\t\tMEGABATK\n$limit megabrain/attack 0\nmegabrain/explode1\t\tMEGABEX1\nmegabrain/explode2\t\tMEGABEX2\n$random megabrain/explode { megabrain/explode1 megabrain/explode2 }\nmegabrain/roam1\t\t\tMEGABRM1\nmegabrain/roam2\t\t\tMEGABRM2\n$random megabrain/roam { megabrain/roam1 megabrain/roam2 }\nmegabrain/shock\t\t\tMEGABSHK\nmegabrain/pain\t\t\tMEGABPN\n$limit megabrain/pain 1 40\n\npigbrute/sight\t\t\tPGBSEE\npigbrute/pain\t\t\tPGBPAIN\n$limit pigbrute/pain 1 40\npigbrute/death\t\t\tPGBDIE\npigbrute/roam1\t\t\tPGBROAM1\npigbrute/roam2\t\t\tPGBROAM2\n$random pigbrute/roam { pigbrute/roam1 pigbrute/roam2 }\npigbrute/melee\t\t\tPGBMELEE\npigbrute/swing\t\t\tPGBSWING\npigbrute/smack\t\t\tPGBSMACK\npigbrute/rage\t\t\tPGBRAGE\npigbrute/clang\t\t\tPGBCLANG\npig/heavyland\t\t\tPGHLAND\n\ndukinator/line1\t\t\tDUKIL1\ndukinator/line2\t\t\tDUKIL2\ndukinator/line3\t\t\tDUKIL3\ndukinator/line4\t\t\tDUKIL4\ndukinator/line5\t\t\tDUKIL5\ndukinator/line6\t\t\tDUKIL6\n$random dukinator/line { dukinator/line1 dukinator/line2 dukinator/line3 dukinator/line4 dukinator/line5 dukinator/line6 }\ndukinator/shothit\t\tDUKIPHIT\ndukinator/shoot\t\t\tDUKISHOT\ndukinator/crawl\t\t\tDUKICRAW\ndukinator/sight\t\t\tDUKISEE\n\nduke/metalhit1\t\t\tD3DMTH1\nduke/metalhit2\t\t\tD3DMTH2\nduke/metalhit3\t\t\tD3DMTH3\n$random duke/metalhit { duke/metalhit1 duke/metalhit2 duke/metalhit3 }\n$limit duke/metalhit 0\n$limit duke/metalhit1 0\n$limit duke/metalhit2 0\n$limit duke/metalhit3 0\n$pitchshift duke/metalhit 2\n$pitchshift duke/metalhit1 2\n$pitchshift duke/metalhit2 2\n$pitchshift duke/metalhit3 2"
},
{
"source": "pk3",
"name": "Actors/D3DLizTroop.txt",
"contents": "const int liz_choke_health = 15;\n\nACTOR D3D_LizTroop : QCDE_MonsterSmall {\n\tHealth 40\n\tRadius 20\n\tHeight 56\n\tSpeed 6\n\tPainChance 96\n\tScale 0.7\n\tMass 96\n\tMONSTER\n\t+FLOORCLIP\n\t+NOINFIGHTING\n +THRUGHOST\n\t+MISSILEMORE\n\tSeeSound \"liztroop/sight\"\n\tPainSound \"liztroop/pain\"\n\tDeathSound \"liztroop/death\"\n\tActiveSound \"liztroop/roam\"\n\tAttackSound \"\"\n\tObituary \"An Assault Trooper killed %o with his laser.\"\n\tBloodType \"LizTroopBlood\"\n\tBloodColor \"D9 24 05\"\n\tTag \"Assault Trooper\"\n\tDecal BulletChip\n\tStates {\n\t\tIdle:\n\t\t\tASTR A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tASTR A 3 A_Chase\n\t\t\tASTR A 3 A_Chase\n\t\t\tASTR B 3 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASTR B 3 A_Chase\n\t\t\tASTR C 3 A_Chase\n\t\t\tASTR C 3 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASTR D 3 A_Chase\n\t\t\tASTR D 3 A_Chase\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump (64, \"CrouchShot\")\n\t\tStandShot:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 0)\n\t\t\tASTR QQ 9 A_Facetarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tASTR E 9 Bright A_CustomMissile(\"TrooperLaser\", 36, 12, 0, 8)\n\t\t\tASTR Q 9 A_Facetarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tASTR E 9 Bright A_CustomMissile(\"TrooperLaser\", 36, 12, 0, 8)\n\t\t\tASTR Q 2 A_Facetarget\n\t\t\tGoto See\n\t\tCrouchShot:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 0)\n\t\t\tASTR GG 9 A_FaceTarget\n\t\t\tASTR HH 4 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 A_CustomMissile(\"TrooperLaser\", 32, 10, 0, 8)\n\t\t\tASTR GG 4 A_FaceTarget\n\t\t\tASTR HH 4 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 A_CustomMissile(\"TrooperLaser\", 32, 10, 0, 8)\n\t\t\tASTR GG 4 A_FaceTarget\n\t\t\tASTR HH 4 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 A_CustomMissile(\"TrooperLaser\", 32, 10, 0, 8)\n\t\t\tASTR GG 4 A_FaceTarget\n\t\t\tASTR HH 4 A_FaceTarget\n\t\t\tGoto See\n\t\tPain:\n\t\t\tASTR I 3\n\t\t\tASTR I 3 A_Pain\n\t\t\tTNT1 A 0 A_Jump(128, 2)\n\t\t\tTNT1 A 0 A_JumpIfHealthLower(liz_choke_health, \"Choke\")\n\t\t\tTNT1 A 0\n\t\tGoto See\n\t\tChoke:\n\t\t TNT1 A 0 A_PlaySound(\"assaultcapt/choking\", CHAN_BODY)\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 1)\n\t\t\tASTR N 7 A_GiveInventory(\"D3DBool\", 1)\n\t\t\tASTR O 8\n\t\t\tASTR N 8\n\t\t\tASTR O 8\n\t\t\tASTR N 8\n\t\t\tASTR O 8\n\t\t\tASTR N 8\n\t\t\tASTR O 8\n\t\t\tASTR N 8\n\t\t\tASTR O 8\n\t\t\tASTR N 8\n\t\t\tASTR P 6\n\t\t\tTNT1 A 0 Thing_Damage(0, liz_choke_health, 1)\n\t\t\tASTR M 8 A_NoBlocking\n\t\tStop\n\t\tDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(CHAN_BODY)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ZombieAmmoDropper\",0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)\n\t\t\tTNT1 A 0 A_Scream\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"JustDie\")\n\t\t\tASTR I 7\n\t\t\tASTR J 5\n\t\t\tASTR K 6\n\t\t\tASTR L 6\n\t\tJustDie:\n\t\t\tASTR M -1\n\t\tStop\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(CHAN_BODY)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ZombieAmmoDropper\",0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GibDropperSmall\",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR)\n\t\t\tTNT1 A 1 A_UnsetSolid\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs2\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs3\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs4\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs5\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs6\")\n\t\t\tTNT1 A 0 A_Jump(32,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs1\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs10\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs12\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs11\")\n\t\t\tACLO E 1 A_PlaySound(\"duke/enemygib\")\n\t\t\tACLO E 5\n\t\tStop\n\t\tIce:\n\t\t\t\"####\" \"#\" 0 A_GiveInventory(\"ImDead\",1)\n\t\t\t\"####\" \"#\" 0 A_SpawnItemEx(\"ZombieAmmoDropper\",0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)\n\t\t\t\"----\" G 5 A_GenericFreezeDeath\n\t\t\t\"----\" G 1 A_FreezeDeathChunks\n\t\tWait\n\t\tRaise:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"QCDE_DamageTracker\",0,1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"D3DBool\", 1)\n\t\t\tASTR MLKJI 5\n\t\tGoto See\n\t}\n}\n\nACTOR TrooperLaser {\n\tRadius 13\n\tHeight 8\n\tSpeed 38\n\tDamage (7)\n\tPROJECTILE\n\tDecal bulletchip\n\tScale 0.3\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"TrooperLaserTrail\", -20, 0, -4 * velz / 5)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"TrooperLaserTrail\", -15, 0, -3 * velz / 5)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"TrooperLaserTrail\", -10, 0, -2 * velz / 5)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"TrooperLaserTrail\", -5, 0, -velz / 5)\n\t\t\tTNT1 A 1 bright A_SpawnItemEx(\"TrooperLaserTrail\", 0, 0, 0)\n\t\tloop\n\t\tDeath:\n\t\t\tTNT1 A 1\n\t\tStop\n\t}\n}\n\nACTOR TrooperLaserTrail {\n\tscale 0.3\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tStates {\n\t\tSpawn:\n\t\t\tASLS A 2 bright\n\t\tstop\n\t}\n}\n\nACTOR LizTroopBlood : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\")\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeBlood\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/D3DLizCaptain.txt",
"contents": "ACTOR D3D_LizCaptain : QCDE_MonsterSmall {\n\tHealth 65\n\tRadius 18\n\tHeight 56\n\tSpeed 8\n\tPainChance 96\n\tScale 0.7\n\tMass 96\n\tMONSTER\n\t+FLOORCLIP\n +NOTDMATCH\n\t+NOINFIGHTING\n +THRUGHOST\n\t+MISSILEMORE\n\tSeeSound \"liztroop/sight\"\n\tPainSound \"liztroop/pain\"\n\tDeathSound \"liztroop/death\"\n\tActiveSound \"liztroop/roam\"\n\tAttackSound \"\"\n\tDropitem \"DefaultPinataPop\"\n\tObituary \"An Assault Captain killed %o with his laser.\"\n\tBloodType \"LizTroopBlood\"\n\tBloodColor \"D9 24 05\"\n\tTag \"Assault Captain\"\n\tDecal BulletChip\n\tStates {\n\t\tIdle:\n\t\t\tASCA A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tTNT1 A 0 A_SetSolid\n\t\t\tTNT1 A 0 A_SetShootable\n\t\tSeeLoop:\n\t\t\tASCA A 3 A_Chase\n\t\t\tASCA A 3 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASCA B 3 A_Chase\n\t\t\tASCA B 3 A_Chase\n\t\t\tASCA C 3 A_Chase\n\t\t\tASCA C 3 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASCA D 3 A_Chase\n\t\t\tASCA D 3 A_Chase\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump (64, \"CrouchShot\", \"Teleport\")\n\t\tStandShot:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\",0)\n\t\t\tASCA SS 9 A_Facetarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tASCA E 9 Bright A_CustomMissile(\"TrooperLaser\", 36, 12, 0, 8)\n\t\t\tASCA S 9 A_Facetarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tASCA E 9 Bright A_CustomMissile(\"TrooperLaser\", 36, 12, 0, 8)\n\t\t\tASCA S 2 A_Facetarget\n\t\t\tGoto See\n\t\tCrouchShot:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\",0)\n\t\t\tASCA GG 9 A_FaceTarget\n\t\t\tASCA HH 4 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 Bright A_CustomMissile(\"TrooperLaser\",32,10,0,8)\n\t\t\tASCA GG 4 A_FaceTarget\n\t\t\tASCA HH 4 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 Bright A_CustomMissile(\"TrooperLaser\",32,10,0,8)\n\t\t\tASCA GG 4 A_FaceTarget\n\t\t\tASCA HH 4 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 Bright A_CustomMissile(\"TrooperLaser\",32,10,0,8)\n\t\t\tASCA GG 4 A_FaceTarget\n\t\t\tASCA HH 4 A_FaceTarget\n\t\t\tGoto See\n\t\tTeleport:\n\t\t\tASCA Q 12\n\t\t\tASCA R 1 A_ChangeFlag(\"NOPAIN\", 1)\n\t\t\tASCA R 1 A_SetTranslucent(0.96,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.90,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.84,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.78,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.72,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.66,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.60,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.54,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.48,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.42,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.36,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.30,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.24,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.18,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.12,0)\n\t\t\tASCA R 1 A_SetTranslucent(0.06,0)\n\t\t\tTNT1 A 0 A_UnsetSolid\n\t\t\tTNT1 A 0 A_UnsetShootable\n\t\t\tTNT1 A 0 A_PlaySoundEx(\"assaultcapt/teleport\",\"soundslot5\",0,0)\n\t\t\tTNT1 A 0 A_SpawnItem(\"DukeTeleportFlash\")\n\t\t\tTNT1 A 1 A_SetTranslucent(1,0)\n\t\tGoto Invisible\n\t\tInvisible:\n\t\t\tTNT1 AA 5 A_Wander\n\t\t\tTNT1 AA 5 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Jump(30, \"TeleEnd\")\n\t\tLoop\n\t\tTeleEnd:\n\t\t\tTNT1 A 13 A_SpawnItem(\"DukeTeleportFlash\")\n\t\t\tTNT1 A 0 A_SetSolid\n\t\t\tTNT1 A 0 A_SetShootable\n\t\t\tASCA E 1 A_PlaySoundEx(\"assaultcapt/teleport\",\"soundslot5\",0,0)\n\t\tGoto StandShot\n\t\tPain:\n\t\t\tASCA I 3\n\t\t\tASCA I 3 A_Pain\n\t\t\tTNT1 A 0 A_Jump(128, 2)\n\t\t\tTNT1 A 0 A_JumpIfHealthLower(liz_choke_health, \"Choke\")\n\t\t\tTNT1 A 0\n\t\tGoto See\n\t\tChoke:\n\t\t TNT1 A 0 A_PlaySound(\"assaultcapt/choking\", CHAN_BODY)\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 1)\n\t\t\tASCA N 7 A_GiveInventory(\"D3DBool\", 1)\n\t\t\tASCA O 8\n\t\t\tASCA N 8\n\t\t\tASCA O 8\n\t\t\tASCA N 8\n\t\t\tASCA O 8\n\t\t\tASCA N 8\n\t\t\tASCA O 8\n\t\t\tASCA N 8\n\t\t\tASCA O 8\n\t\t\tASCA N 8\n\t\t\tASCA P 6\n\t\t\tTNT1 A 0 Thing_Damage(0, liz_choke_health, 1)\n\t\t\tASCA M 8 A_NoBlocking\n\t\tStop\n\t\tDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(CHAN_BODY)\n\t\t\tTNT1 A 0 A_Scream\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"JustDie\")\n\t\t\tASCA I 7\n\t\t\tASCA J 5\n\t\t\tASCA K 6\n\t\t\tASCA L 6\n\t\tJustDie:\n\t\t\tASCA M -1\n\t\tStop\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(CHAN_BODY)\n\t\t\tTNT1 A 0 A_UnsetSolid\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GibDropperSmall\",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR)\n\t\t\tTNT1 A 0 A_SetTranslucent(1,0)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs2\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs3\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs4\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs5\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs6\")\n\t\t\tTNT1 A 0 A_Jump(32,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs1\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs10\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs12\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs11\")\n\t\t\tTNT1 A 2 A_PlaySound(\"duke/enemygib\")\n\t\tStop\n\t\tRaise:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"QCDE_DamageTracker\",0,1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"D3DBool\", 1)\n\t\t\tASCA MLKJI 5\n\t\tGoto See\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/D3DPigcop.txt",
"contents": "ACTOR D3D_Pigcop : QCDE_MonsterSmall {\n\tHealth 85\n\tRadius 20\n\tHeight 56\n\tSpeed 7\n\tPainChance 64\n\tMass 160\n\tScale 0.75\n\tMONSTER\n\t+FLOORCLIP\n +NOTDMATCH\n\t+NOINFIGHTING\n +THRUGHOST\n\t+MISSILEMORE\n\tSeeSound \"pigcop/sight\"\n\tPainSound \"pigcop/pain\"\n\tDeathSound \"pigcop/death\"\n\tActiveSound \"pigcop/roam\"\n\tAttackSound \"\"\n\tObituary \"%o was shotgunned by a Pig Cop.\"\n\tBloodType \"PigcopBlood\"\n\tBloodColor \"D9 24 05\"\n\tTag \"Pig Cop\"\n\tDecal BulletChip\n\tDropitem \"Shotgun\"\n\tStates {\n\t\tIdle:\n\t\t\tPIGC A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tPIGC A 3 A_Chase\n\t\t\tPIGC A 3 A_Chase\n\t\t\tPIGC B 3 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tPIGC B 3 A_Chase\n\t\t\tPIGC C 3 A_Chase\n\t\t\tPIGC C 3 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tPIGC D 3 A_Chase\n\t\t\tPIGC D 3 A_Chase\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump (64, \"ProneShot\")\n\t\tStandShot:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\",0)\n\t\t\tPIGC EEE 5 A_FaceTarget\n\t\t\tPIGC E 3\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/shotgunfire\", CHAN_WEAPON)\n\t\t\tTNT1 AAAAA 0 A_CustomMissile(\"PigCopBullet\",32,0,frandom(-12,12),8,frandom(-6,6))\n\t\t\tPIGC F 15 Bright\n\t\t\tPIGC G 7 A_PlaySound(\"duke3d/shotguncock\", 5)\n\t\t\tPIGC EEE 5 A_FaceTarget\n\t\t\tPIGC E 7\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/shotgunfire\", CHAN_WEAPON)\n\t\t\tTNT1 AAAAA 0 A_CustomMissile(\"PigCopBullet\",32,0,random(-12,12),8,random(-6,6))\n\t\t\tPIGC F 16 Bright\n\t\t\tPIGC G 7 A_PlaySound(\"duke3d/shotguncock\", 5)\n\t\t\tPIGC E 9 A_CPosRefire\n\t\tGoto See\n\t\tProneShot:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\",0)\n\t\t\tPIGC H 11 A_FaceTarget\n\t\t\tPIGC IIIIII 5 A_FaceTarget\n\t\t\tTNT1 AAAAA 0 A_CustomMissile(\"PigCopBullet\",16,0,frandom(-8,8),8,random(-3,3))\n\t\t\tPIGC J 18 Bright A_PlaySound(\"duke3d/shotgunfire\", CHAN_WEAPON)\n\t\t\tPIGC I 17 A_PlaySound(\"duke3d/shotguncock\", 5)\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tTNT1 AAAAA 0 A_CustomMissile(\"PigCopBullet\",16,0,frandom(-8,8),8,random(-3,3))\n\t\t\tPIGC J 16 Bright A_PlaySound(\"duke3d/shotgunfire\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/shotguncock\", 5)\n\t\t\tTNT1 A 0 A_CPosRefire\n\t\tGoto See\n\t\tPain:\n\t\t\tPIGC K 3\n\t\t\tPIGC K 3 A_Pain\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\t\tPIGC K 3 A_Scream\n\t\t\tPIGC L 5\n\t\t\tPIGC M 5 A_NoBlocking\n\t\t\tPIGC N 4\n\t\t\tPIGC OP 5\n\t\t\tPIGC P -1\n\t\tstop\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GibDropperSmall\",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR)\n\t\t\tTNT1 A 0 A_UnsetSolid\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs1\")\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs2\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs3\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs4\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs5\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs6\")\n\t\t\tTNT1 A 2 A_PlaySound(\"duke/enemygib\")\n\t\tStop\n\t\tRaise:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"QCDE_DamageTracker\",0,1)\n\t\t\tPIGC PONMLK 5\n\t\tGoto See\n\t}\n}\n\nACTOR PigCopBullet : DukeEnemyBullet { Damage (random(8, 10)) }\n\nACTOR PigcopBlood : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\")\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeBlood\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/D3DEnforcer.txt",
"contents": "ACTOR D3D_Enforcer : QCDE_MonsterSmall {\n\tHealth 100\n\tRadius 20\n\tHeight 56\n\tMass 150\n\tSpeed 3\n\tScale 0.775\n\tGravity 0.50\n\tPainChance 32\n\tMinMissileChance 100\n\tMONSTER\n\t+FLOORCLIP\n +NOTDMATCH\n +THRUGHOST\n +NOTARGET\n +NOINFIGHTING\n\tSeeSound \"assaultenf/sight\"\n\tPainSound \"assaultenf/pain\"\n\tDeathSound \"assaultenf/death\"\n\tActiveSound \"assaultenf/roam\"\n\tObituary \"%o was shot by an Assault Enforcer.\"\n\tBloodType \"LizEnforcerBlood\"\n\tBloodColor \"D9 24 05\"\n\tTag \"Assault Enforcer\"\n\tDecal BulletChip\n\tDropItem \"Chaingun\"\n\tStates {\n\t\tIdle:\n\t\t\tASEN A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tASEN AAAA 1 A_Chase\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 0)\n\t\t\tASEN A 1 A_Chase\n\t\t\tASEN BBBB 1 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASEN B 1 A_Chase\n\t\t\tASEN CCCC 1 A_Chase\n\t\t\tASEN C 1 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASEN DDDD 1 A_Chase\n\t\t\tASEN D 1 A_Chase\n\t\t\tTNT1 A 0 A_Jump (1, \"Poop\")\n\t\t\tTNT1 A 0 A_Jump(32, \"Run\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(256, \"See\")\n\t\tGoto Run\n\t\tRun:\n\t\t\tASEN A 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tASEN A 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tASEN A 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(140, \"Missile\")\n\t\t\tASEN B 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tASEN B 1 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tASEN B 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tASEN B 1 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(288, \"Jump\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(140, \"Missile\")\n\t\t\tASEN C 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tASEN C 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tASEN C 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(140, \"Missile\")\n\t\t\tASEN D 1 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tASEN D 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tASEN D 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tASEN D 1 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_Chase(\"\",\"\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(288, \"Jump\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(140, \"Missile\")\n\t\tLoop\n\t\tJump:\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tASEN I 1 ThrustThingZ(0,30,0,0)\n\t\t\tTNT1 A 0 ThrustThing(angle*256/360,10,0,0)\n\t\t\tASEN I 13 A_JumpIf((!velx && !vely) || z - floorz < 3, \"JumpFinish\")\n\t\tGoto MidJump\n\t\tMidJump:\n\t\t\tASEN J 17 A_JumpIf((!velx && !vely) || z - floorz < 3, \"JumpFinish\")\n\t\t\tASEN K 1 A_JumpIf((!velx && !vely) || z - floorz < 3, \"JumpFinish\")\n\t\tGoto EndJump\n\t\tEndJump:\n\t\t\tASEN K 1 A_JumpIf((!velx && !vely) || z - floorz < 3, \"JumpFinish\")\n\t\t\tASEN K 4 ThrustThing(angle*256/360,1,0,0)\n\t\tLoop\n\t\tJumpFinish:\n\t\t\tASEN A 1\n\t\tGoto See\n\t\tPoop:\n\t\t\tASEN G 20\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultenf/turd\",CHAN_BODY)\n\t\t\tTNT1 A 0 A_SpawnItemEX (\"EnforcerTurd\", 0 , -30, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t\tgoto See\n\t\tMissile:\n\t\t TNT1 A 0 A_Jump(46, \"AcidSpit\")\n\t\tChaingunFire:\n\t\t\tASEN E 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/chaingunfire\", 5)\n\t\t\tASEN F 3 Bright A_CustomMissile(\"EnforcerBullet\", 32, 10, frandom(-12, 12), 8, frandom(-8, 8))\n\t\t\tASEN E 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/chaingunfire\", 5)\n\t\t\tASEN F 3 Bright A_CustomMissile(\"EnforcerBullet\", 32, 10, frandom(-12, 12), 8, frandom(-8, 8))\n\t\t\tTNT1 A 0 A_Jump (24, \"See\")\n\t\t\tTNT1 A 0 A_CPosRefire\n\t\tGoto ChaingunFire\n\t\tAcidSpit:\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultenf/spit\",CHAN_WEAPON)\n\t\t\tASEN G 10 A_FaceTarget\n\t\t\tASEN H 10 A_FaceTarget\n\t\t\tASEN G 10 A_FaceTarget\n\t\t\tTNT1 A 0 A_Jump(32, \"Spit1\", \"Spit2\", \"Spit4\")\n\t\t\tTNT1 A 0 A_Jump(128, \"Spit3\", \"Spit4\")\n\t\tSpit5:\n\t\t\tTNT1 A 0 A_CustomMissile(\"EnforcerAcidSpit\", 32, 10, frandom(-16, 16), 8, frandom(-2.5, 2.5))\n\t\tSpit4:\n\t\t\tTNT1 A 0 A_CustomMissile(\"EnforcerAcidSpit\", 32, 10, frandom(-16, 16), 8, frandom(-2.5, 2.5))\n\t\tSpit3:\n\t\t\tTNT1 A 0 A_CustomMissile(\"EnforcerAcidSpit\", 32, 10, frandom(-16, 16), 8, frandom(-2.5, 2.5))\n\t\tSpit2:\n\t\t\tTNT1 A 0 A_CustomMissile(\"EnforcerAcidSpit\", 32, 10, frandom(-16, 16), 8, frandom(-2.5, 2.5))\n\t\tSpit1:\n\t\t\tASEN H 6 A_CustomMissile(\"EnforcerAcidSpit\", 32, 10, 0, 8)\n\t\t\tTNT1 A 0 A_Jump(64, \"LessWaitSpit\")\n\t\t\tASEN H 3 A_FaceTarget\n\t\tLessWAitSpit:\n\t\t\tASEN H 1 A_FaceTarget\n\t\tGoto See\n\t\tPain:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 1)\n\t\t\tTNT1 A 0 A_Pain\n\t\tGoto ChaingunFire\n\t\tDeathChecksDone:\n\t\t\tASEN M 4 A_Scream\n\t\t\tASEN NO 4\n\t\t\tASEN P 4 A_NoBlocking\n\t\t\tASEN Q 4\n\t\t\tASEN R 4\n\t\t\tASEN R -1\n\t\tStop\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GibDropperSmall\",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR)\n\t\t\tTNT1 A 0 A_UnsetSolid\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs2\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs3\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs4\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs5\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs6\")\n\t\t\tTNT1 A 0 A_Jump(32,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs1\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs7\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs9\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs8\")\n\t\t\tTNT1 A 0\n\t\t\tACLO E 2 A_PlaySound(\"duke/enemygib\")\n\t\tStop\n\t\tRaise:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"QCDE_DamageTracker\",0,1)\n\t\t\tASEN RQPONM 5\n\t\tGoto See\n\t}\n}\n\nActor EnforcerAcidSpit {\n\tSpeed 18\n\tRadius 10\n\tHeight 14\n\tDamage (6)\n\tALPHA 0.80\n\tDamageType \"DukeEnforcerSpit\"\n\tPoisonDamage 10\n\tScale 0.80\n\tProjectile\n\tMaxStepHeight 4\n\tDeathSound \"\"\n\t+HITTRACER\n\tStates {\n\t\tSpawn:\n\t\t\tLOOG A 3\n\t\t\tTNT1 A 0 A_SpawnItem(\"EnforcerAcidSpitTrail\",0,0)\n\t\tLoop\n\t\tXDeath:\n\t\t\tTNT1 A 5 A_GiveInventory(\"LizardSpitTrigger\", 1, AAPTR_TRACER)\n\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 5\n\t\tStop\n\t}\n}\n\nACTOR EnforcerAcidSpitTrail {\n\tRadius 0\n\tHeight 1\n\tSpeed 0\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+DROPOFF\n\t-SOLID\n\t+CLIENTSIDEONLY\n\t+MISSILE\n\tALPHA 0.75\n\tScale 0.55\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 2\n\t\t\tLOOG AAAA 2\n\t\tStop\n\t}\n}\n\nACTOR EnforcerTurd {\n\tHeight 2\n\tRadius 2\n\tScale 0.65\n\t-SOLID\n\t+NOINTERACTION\n\t+MOVEWITHSECTOR\n\t+CLIENTSIDEONLY\n\tStates {\n\t\tSpawn:\n\t\t\tTURD A -1\n\t\tStop\n\t}\n}\n\nActor EnforcerBullet : DukeEnemyBullet {\n\tDamage (5)\n}\n\nACTOR LizEnforcerBlood : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\")\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeBlood\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}\n\nActor LizardSpitTrigger : CustomInventory {\n\t+ALWAYSPICKUP\n\tStates {\n\t\tPickup:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Lizard Spit\")\n\t\tStop\n\t}\n}\n\nActor LizardSpitOnMe : Inventory {\n\tinventory.maxamount 1\n}"
},
{
"source": "pk3",
"name": "Actors/D3DPDrone.txt",
"contents": "ACTOR D3D_PDrone : QCDE_MonsterSmall {\n\tHealth 185\n\tRadius 20\n\tHeight 56\n\tMass 400\n\tSpeed 7\n Scale 0.75\n\tGravity 0.50\n\tPainchance 36\n\tMONSTER\n\t+FLOORCLIP\n\t+NOTDMATCH\n\t+THRUGHOST\n\t+NOINFIGHTING\n\tSeeSound \"prodrone/see\"\n\tPainSound \"prodrone/pain\"\n\tDeathSound \"prodrone/death\"\n\tActiveSound \"prodrone/roam\"\n\tAttackSound \"prodrone/attack\"\n\tObituary \"%o was clawed to death by a Protector Drone.\"\n\tMeleeRange 48\n\tBloodType \"ProDroneBlood\"\n\tBloodColor \"LimeGreen\"\n\tTag \"Protector Drone\"\n\tStates {\n\t\tIdle:\n\t\t\tPRDR A 6 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tPRDR BBBB 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tPRDR CC 1 A_Chase(\"Melee\",0)\n\t\t\tPRDR CC 1 A_Chase\n\t\t\tPRDR DDDD 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tPRDR EE 1 A_Chase(\"Melee\",0)\n\t\t\tPRDR EE 1 A_Chase\n\t\t\tTNT1 A 0 A_Jump(32, \"Run\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(384,\"See\")\n\t\tGoto Run\n\t\tRun:\n\t\t\tPRDR B 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tPRDR B 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tPRDR B 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_JumpIfCloser(384,\"Jump\")\n\t\t\tPRDR C 1 A_Chase(\"Melee\",0)\n\t\t\tTNT1 A 0 A_Chase\n\t\t\tPRDR C 1 A_Chase(\"Melee\",0)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tPRDR C 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0)\n\t\t\tPRDR C 1 A_Chase\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0)\n\t\t\tTNT1 A 0 A_JumpIfCloser(384,\"Jump\")\n\t\t\tPRDR D 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tPRDR D 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tPRDR D 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_JumpIfCloser(384,\"Jump\")\n\t\t\tPRDR E 1 A_Chase(\"Melee\",0)\n\t\t\tTNT1 A 0 A_Chase\n\t\t\tPRDR E 1 A_Chase(\"Melee\",0)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tPRDR E 1 A_Chase(\"Melee\",0,CHF_NOPLAYACTIVE)\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0)\n\t\t\tPRDR E 1 A_Chase\n\t\t\tTNT1 A 0 A_Chase(\"Melee\",0)\n\t\t\tTNT1 A 0 A_JumpIfCloser(384,\"Jump\")\n\t\tLoop\n\t\tJump:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 1)\n\t\t\tPRDR L 1 ThrustThingZ(0,35,0,0)\n\t\t\tTNT1 A 0 ThrustThing(angle*256/360,10,0,0)\n\t\t\tPRDR L 13 A_JumpIf((!velx && !vely) || z - floorz < 3, \"JumpFinish\")\n\t\tGoto MidJump\n\t\tMidJump:\n\t\t\tPRDR M 17 A_JumpIf((!velx && !vely) || z - floorz < 3, \"JumpFinish\")\n\t\t\tPRDR N 1 A_JumpIf((!velx && !vely) || z - floorz < 3, \"JumpFinish\")\n\t\tGoto EndJump\n\t\tEndJump:\n\t\t\tPRDR N 1 A_JumpIf((!velx && !vely) || z - floorz < 3, \"JumpFinish\")\n\t\t\tPRDR N 4 ThrustThing(angle*256/360,1,0,0)\n\t\tLoop\n\t\tJumpFinish:\n\t\t\tPRDR B 1 A_ChangeFlag(\"NOPAIN\", 0)\n\t\tGoto See\n\t\tMelee:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\",0)\n\t\t\tPRDR FFF 2 A_FaceTarget\n\t\t\tPRDR F 1\n\t\t\tPRDR G 7 A_CustomMeleeAttack(11, \"prodrone/attack1\", \"prodrone/attack2\")\n\t\t\tPRDR H 7 A_CustomMeleeAttack(11, \"\", \"prodrone/attack2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(64, \"See\")\n\t\tGoto MeleeEnd\n\t\tMeleeEnd:\n\t\t\tPRDR A 8\n\t\t\tTNT1 A 0 A_Jump(96, \"SkipRoam\")\n\t\t\tTNT1 A 0 A_PlaySound(\"prodrone/roam\")\n\t\tSkipRoam:\n\t\t\tPRDR A 32\n\t\tGoto See\n\t\tMissile:\n\t\t\tPRDR I 0 A_FaceTarget\n \t\tPRDR I 21 A_PlayWeaponSound(\"prodrone/spit\")\n \t\tPRDR I 0 A_FaceTarget\n \t\t\tPRDR J 10 Bright A_CustomMissile(\"AlienShrinkerAttack\",32,0,0)\n \t\tPRDR J 4 Bright\n\t\tgoto See\n\t\tPain:\n\t\t\tPRDR O 3\n\t\t\tPRDR O 3 A_Pain\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\t\tPRDR P 3 A_Scream\n\t\t\tPRDR Q 5 A_NoBlocking\n\t\t\tPRDR R 4\n\t\t\tPRDR STU 5\n\t\t\tPRDR V 4\n\t\t\tPRDR W -1\n\t\tstop\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_UnsetSolid\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GibDropperSmall\",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"ProtectorDroneGibs2\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"ProtectorDroneGibs3\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"ProtectorDroneGibs4\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"ProtectorDroneGibs5\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"ProtectorDroneGibs6\")\n\t\t\tTNT1 A 0 A_Jump(32,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"ProtectorDroneGibs1\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"ProtectorDroneGibs7\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"ProtectorDroneGibs9\")\n\t\t\tTNT1 A 0 A_Jump(64,1)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"ProtectorDroneGibs8\")\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/enemygib\")\n\t\t\tTNT1 A 2\n\t\tStop\n\t\tRaise:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"QCDE_DamageTracker\",0,1)\n\t\t\tPRDR WVUTSRQP 5\n\t\tGoto See\n\t}\n}\n\nactor AlienShrinkerAttack {\n\tRadius 6\n\tHeight 12\n\tSpeed 25\n\tdamage (20)\n\tProjectile\n\t+RANDOMIZE\n\tDeathSound \"shrinker/hit\"\n\tscale 0.6\n\tdecal Scorch\n\tStates {\n\t\tSpawn:\n\t\t\tPR_D ABCD 2 bright\n\t\tloop\n\t\tDeath:\n\t\t\tPR_D EFGH 4 bright\n\t\tstop\n\t}\n}\n\nACTOR ProDroneBlood : D3DMonsterBlood {\n\t+NOGRAVITY\n\tTranslation \"16:47=112:127\", \"176:191=112:127\"\n\tScale 0.65\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 A_ChangeVelocity(0,0,0,CVF_REPLACE)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"Duke_FlyingBlood_Green\",0,0,0,frandom(-3.5,3.5),frandom(-3.5,3.5),frandom(5,10),frandom(-180,180),32)\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\")\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"Blood\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/D3DSDrone.txt",
"contents": "ACTOR D3D_Sentry : QCDE_MonsterSmall {\n\tHealth 150\n\tRadius 16\n\tHeight 30\n\tSpeed 7\n\tPainChance 256\n\tScale 0.7\n\tMONSTER\n\tMass 256\n\t+FLOORCLIP\n\t+FLOAT\n\t+NOGRAVITY\n\t+NOTDMATCH\n\t+NOICEDEATH\n\t+THRUGHOST\n\t+DONTGIB\n\t+NOTARGET\n\t+NOINFIGHTING\n\t+DONTMORPH\n\t+NOBLOODDECALS\n\tSeeSound \"sentdrone/sight\"\n\tPainSound \"sentdrone/pain\"\n\tDeathSound \"sentdrone/detonate\"\n\tActiveSound \"sentdrone/active\"\n\tTag \"Sentry Drone\"\n\tObituary \"A Sentry Drone delivered its payload to %o\"\n\tBloodType \"SentryDroneBlood\"\n\tconst int sdrone_vel = 16;\n\tconst int sdrone_counter = 28;\n\tconst float sdrone_mult = 1.25;\n\tconst float sdrone_slow = 0.825;\n\tconst int sdrone_dist = 68;\n\tconst int sdrone_upvel = 3;\n\tconst int sdrone_sidevel = 2;\n\tvar int user_count;\n\tStates {\n\t\tIdle:\n\t\t\tSEDR A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tTNT1 A 0 A_PlaySound (\"sentdrone/active\", 6, 1.0, 1, 2)\n\t\tSee2:\n\t\t\tSEDR A 1 A_Wander\n\t\t\tSEDR A 1 A_Chase\n\t\tLoop\n\t\tPain:\n\t\t\tTNT1 A 0 A_GiveInventory(\"D3DBool\", 1)\n\t\t\tSEDR A 1 A_Pain\n\t\t\tTNT1 A 0 A_ChangeVelocity(0, 0, sdrone_upvel, CVF_REPLACE)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"SDroneMove\", 1, \"MoveRight\")\n\t\t\tSEDR A 0 A_GiveInventory(\"SDroneMove\", 1)\n\t\t\tSEDR A 1 A_FaceTarget\n\t\t\tTNT1 A 0 A_SetAngle(angle - 90)\n\t\tGoto DroneFinishPain\n\t\tMoveRight:\n\t\t\tSEDR A 0 A_TakeInventory(\"SDroneMove\", 1)\n\t\t\tSEDR A 1 A_FaceTarget\n\t\t\tTNT1 A 0 A_SetAngle(angle + 90)\n\t\tDroneFinishPain:\n\t\t\tSEDR AAAA 1 ThrustThing(angle * 256 / 360, sdrone_sidevel, 0, 0)\n\t\t\tSEDR AAAAA 1 A_ChangeVelocity(0, vely * sdrone_slow, velz * sdrone_slow, CVF_REPLACE)\n\t\t\tSEDR A 1 A_ChangeVelocity(velx, vely, -2, CVF_REPLACE)\n\t\t\tSEDR A 8\n\t\t\tSEDR A 2 A_Stop\n\t\t\tSEDR AAAA 2 A_FaceTarget(22)\n\t\tGoto See\n\t\tMissile:\n\t\t\tSEDR AAAAAAAAAAAAAAA 2 A_FaceTarget(0, 0)\n\t\t\tTNT1 A 0 A_PlaySound (\"sentdrone/charge\")\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_count\", 0)\n\t\t\tTNT1 A 0 A_TakeInventory(\"D3DBool\", 1)\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Actor Move Check\")\n\t\t\tSEDR A 4 A_ChangeVelocity(sdrone_vel * cos(angle), sdrone_vel * sin(angle), sdrone_vel * sin(pitch), CVF_REPLACE)\n\t\tMissileLoop:\n\t\t\tTNT1 A 0 A_JumpIf(user_count == sdrone_counter, \"StopAttack\")\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_count\", user_count + 1)\n\t\t\tSEDR A 1 A_JumpIfCloser(sdrone_dist, \"Explode\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"StopAttack\")\n\t\t\tSEDR A 1 A_JumpIfCloser(sdrone_dist, \"Explode\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"StopAttack\")\n\t\t\tSEDR A 1 A_JumpIfCloser(sdrone_dist, \"Explode\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"StopAttack\")\n\t\t\tSEDR A 1 A_JumpIfCloser(sdrone_dist, \"Explode\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"StopAttack\")\n\t\t\tSEDR A 1 A_JumpIfCloser(sdrone_dist, \"Explode\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"StopAttack\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(sdrone_vel * sdrone_mult * cos(angle), sdrone_vel * sdrone_mult * sin(angle), sdrone_vel * sdrone_mult * sin(pitch), CVF_REPLACE)\n\t\tLoop\n\t\tStopAttack:\n\t\t\tSEDR A 2 A_FaceTarget(22)\n\t\t\tTNT1 A 0 A_GiveInventory(\"D3DBool\", 1)\n\t\t\tTNT1 A 0 A_Stop\n\t\t\tSEDR AAAA 2 A_FaceTarget(22)\n\t\t\tSEDR A 2\n\t\tGoto See2\n\t\tMelee:\n\t\tExplode:\n\t\t\tSEDR A 8 A_Die\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\tXDeathChecksDone:\n\t\tIce:\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"SentryDroneBomb\",0,0,32,0,0,0,0,1,0)\n\t\t\tTNT1 AAA 0 A_SpawnItemEx(\"DukeShrapnel1\",0,0,0,frandom(-3.5,3.5),frandom(-3.5,3.5),random(5, 10),random(-180,180),32)\n\t\t\tTNT1 AAA 0 A_SpawnItemEx(\"DukeShrapnel2\",0,0,0,frandom(-3.5,3.5),frandom(-3.5,3.5),random(5, 10),random(-180,180),32)\n\t\t\tTNT1 AAA 0 A_SpawnItemEx(\"DukeShrapnel3\",0,0,0,frandom(-3.5,3.5),frandom(-3.5,3.5),random(5, 10),random(-180,180),32)\n\t\t\tTNT1 A 5 A_PlaySound (\"sentdrone/detonate\", 6)\n\t\tstop\n\t}\n}\n\nACTOR SentryDroneBomb {\n\tRadius 1\n\tHeight 1\n\tSpeed 0\n\t+NOCLIP\n\tPROJECTILE\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\tGoto Death\n\t\tDeath:\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 1.0, 0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\t\tTNT1 AAAAAAAA 0 A_SpawnDebris(\"DukeShrapnel1\")\n\t\t\tTNT1 AAAA 0 A_SpawnDebris(\"DukeShrapnel2\")\n\t\t\tTNT1 AAAAAAA 0 A_SpawnDebris(\"DukeShrapnel3\")\n\t\t\tTNT1 A 5 A_Explode(25, 142, 1)\n\t\tstop\n\t}\n}\n\nACTOR SentryDroneBlood : D3DMonsterBlood {\n\t+NOGRAVITY\n\tScale 0.65\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\")\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"BulletPuff\")\n\t\tStop\n\t}\n}\n\nActor SDroneMove : Inventory {\n\tinventory.maxamount 1\n}"
},
{
"source": "pk3",
"name": "Actors/D3DRecon.txt",
"contents": "ACTOR D3D_ReconVehicle : QCDE_MonsterMedium {\n\tHealth 300\n\tRadius 30\n\tHeight 56\n\tMass 800\n\tSpeed 12\n\tScale 0.75\n\tGravity 0.20\n\tMinMissileChance 128\n \tMONSTER\n\t+FLOORCLIP\n +NOTDMATCH\n +THRUGHOST\n\t+MISSILEMORE\n\t+NOGRAVITY\n\t+NOINFIGHTING\n\t+NOBLOOD\n\t+FLOAT\n\t+NOPAIN\n\t+NOBLOODDECALS\n\tSeeSound \"pigcop/sight\"\n\tPainSound \"pigcop/pain\"\n\tDeathSound \"\"\n\tActiveSound \"pigcop/roam\"\n\tTag \"Recon Patrol Vehicle (RPV)\"\n\tObituary \"%o couldn't avoid the recon patrol vehicle.\"\n\tconst int recon_speed = 8;\n\tconst int recon_fallspeed = -6;\n\tBloodType \"PigcopBlood_NoBlood\"\n\tStates {\n\t\tIdle:\n\t\t\tPIGR A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tTNT1 A 0 A_PlaySound (\"rpv/fly\", 6, 1.0, 1, 2)\n\t\tSee2:\n\t\t\tPIGR AAAAAA 2 A_Chase\n\t\t\tPIGR AAAAAAAAA 2 A_Wander\n\t\tLoop\n\t\tMissile:\n\t\t\tPIGR A 5 A_FaceTarget\n\t\t\tPIGR AAA 5 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tPIGR A 0 A_CustomMissile(\"TrooperLaser\", 12,0,0,8)\n\t\t\tPIGR AAA 5 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tPIGR A 0 A_CustomMissile(\"TrooperLaser\", 12,0,0,8)\n\t\t\tPIGR AAA 5 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tPIGR A 0 A_CustomMissile(\"TrooperLaser\", 12,0,0,8)\n\t\t\tPIGR A 5 A_FaceTarget\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(6)\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\",0)\n\t\t\tTNT1 A 0 A_ChangeFlag(\"THRUACTORS\",1)\n\t\tDeathLoop:\n\t\t\tPIGR A 0 A_ChangeVelocity(0.80,0,0,1)\n\t\t\tPIGR A 0 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 1.0, 0, ATTN_NORM)\n\t\tSpinAround:\n\t\t\tTNT1 A 0 A_SetAngle(Angle - 45)\n\t\t\tTNT1 A 0 A_ChangeVelocity(recon_speed * cos(angle), recon_speed * sin(angle), recon_fallspeed, CVF_RELATIVE | CVF_REPLACE)\n\t\t\tPIGR BBB 2 A_JumpIf(!velz || z - floorz < 4, \"Landed\")\n\t\t\tPIGR A 0 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\tLoop\n\t\tLanded:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 1.0, 0, ATTN_NORM)\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"D3D_Pigcop\", 0, 0, 20, 0, 0, 10, 0, 32)\n\t\t\tTNT1 A 3\n\t\tStop\n\t}\n}\n\nActor ReconPatrolLaser : TrooperLaser {\n\tDamage (10)\n\tSpeed 45\n}\n\nACTOR PigcopBlood_NoBlood : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\")\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"DukeShrapnel1\",0,0,0,frandom(-3.5,3.5),frandom(-3.5,3.5),random(5, 10),random(-180,180),32)\n\t\t\tTNT1 A 1 A_SpawnItem(\"BulletPuff\")\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/D3DOctabrain.txt",
"contents": "ACTOR D3D_Octabrain : QCDE_MonsterMedium {\n\tHealth 400\n\tRadius 28\n\tHeight 56\n\tMass 384\n\tSpeed 6\n\tPainChance 64\n\tScale 0.775\n\tMinMissileChance 210\n\tMONSTER\n\t+FLOORCLIP\n +NOTDMATCH\n\t+NOINFIGHTING\n +THRUGHOST\n\t+NOGRAVITY\n\t+FLOAT\n\tSeeSound \"octabrain/sight\"\n\tPainSound \"octabrain/pain\"\n\tDeathSound \"octabrain/death\"\n\tActiveSound \"octabrain/roam\"\n\tAttackSound \"octabrain/attack\"\n\tObituary \"%o had their brain melted by an Octabrain.\"\n\tMeleeRange 48\n\tBloodType \"OctabrainBlood\"\n\tRadiusDamageFactor 2.0\n\tBloodColor \"D9 24 05\"\n\tStates {\n\t\tIdle:\n\t\t\tOCTA A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tOCTA AA 2 A_Chase(\"Melee\", \"\")\n\t\t\tOCTA BBCCDD 2 A_Chase\n\t\tLoop\n\t\tGuaranteedMissile:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 1)\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump(192, \"Long\")\n\t\t\tTNT1 A 0 A_Jump(64, \"Short\")\n\t\tGoto Medium\n\t\tLong:\n\t\t\tOCTA E 6 Bright A_FaceTarget\n\t\tMedium:\n\t\t\tOCTA E 6 Bright A_FaceTarget\n\t\tShort:\n\t\t\tOCTA EEEE 6 Bright A_FaceTarget\n\t\t\tOCTA E 1 Bright A_CustomMissile(\"OctabrainProjectile\",30,0,0,8)\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 0)\n\t\t\tTNT1 A 0 A_TakeInventory(\"OctaPaincounter\", 0)\n\t\t\tOCTA EE 4 Bright A_FaceTarget\n\t\tGoto See\n\t\tMelee:\n\t\t\tOCTA ABC 4 A_FaceTarget\n\t\t\tOCTA D 4 A_CustomMeleeAttack(22, \"octabrain/melee\")\n\t\t\tOCTA ABCD 4 A_FaceTarget\n\t\tGoto See\n\t\tPain:\n\t\t\tOCTA F 4 A_Pain\n\t\t\tOCTA F 4 A_GiveInventory(\"OctaPaincounter\", 1)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctaPaincounter\", 0, \"GuaranteedMissile\")\n\t\tGoto Missile\n\t\tDeathChecksDone:\n\t\t\tOCTA F 5 A_Scream\n\t\t\tOCTA G 5 A_NoBlocking\n\t\t\tOCTA HIJK 5\n\t\t\tOCTA K -1\n\t\t\tStop\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GibDropperMedium\",0,0,28,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR)\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs1\")\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs2\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs3\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs4\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs5\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs6\")\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/enemygib\")\n\t\t\tTNT1 A 3\n\t\tStop\n\t\tRaise:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"QCDE_DamageTracker\",0,1)\n\t\t\tOCTA KJIHGF 5\n\t\tGoto See\n\t}\n}\n\n// won't go to pain state after going twice, until it gets a missile attack off\nActor OctaPaincounter : Inventory {\n\tinventory.maxamount 2\n}\n\nACTOR OctabrainProjectile {\n\tRadius 16\n\tHeight 12\n\tSpeed 12\n\tDamage (38)\n\tScale 0.5\n\tPROJECTILE\n\t+FORCERADIUSDMG\n\tObituary \"%o was brainshocked by an Octabrain\"\n\tDecal Scorch\n\tSeeSound \"octabrain/attack\"\n\tStates {\n\t\tSpawn:\n\t\t\tOCPR ABCDEFGHIJKLMNOPQRST 3 Bright A_GiveInventory(\"OctabrainCounter\", 1)\n\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 19, \"T\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 18, \"S\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 17, \"R\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 16, \"Q\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 15, \"P\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 14, \"O\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 13, \"N\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 12, \"M\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 11, \"L\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 10, \"K\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 9, \"J\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 8, \"I\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 7, \"H\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 6, \"G\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 5, \"F\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 4, \"E\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 3, \"D\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 2, \"C\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"OctabrainCounter\", 1, \"B\")\n\t\tB:\n\t\t\tOCPR B 3 Bright\n\t\tC:\n\t\t\tOCPR C 3 Bright\n\t\tD:\n\t\t\tOCPR D 3 Bright\n\t\tE:\n\t\t\tOCPR E 3 Bright\n\t\tF:\n\t\t\tOCPR F 3 Bright\n\t\tG:\n\t\t\tOCPR G 3 Bright\n\t\tH:\n\t\t\tOCPR H 3 Bright\n\t\tI:\n\t\t\tOCPR I 3 Bright\n\t\tJ:\n\t\t\tOCPR J 3 Bright\n\t\tK:\n\t\t\tOCPR K 3 Bright\n\t\tL:\n\t\t\tOCPR L 3 Bright\n\t\tM:\n\t\t\tOCPR M 3 Bright\n\t\tN:\n\t\t\tOCPR N 3 Bright\n\t\tO:\n\t\t\tOCPR O 3 Bright\n\t\tP:\n\t\t\tOCPR P 3 Bright\n\t\tQ:\n\t\t\tOCPR Q 3 Bright\n\t\tR:\n\t\t\tOCPR R 3 Bright\n\t\tS:\n\t\t\tOCPR S 3 Bright\n\t\tT:\n\t\t\tOCPR T 3 Bright\n\t\tStop\n\t}\n}\n\nActor OctabrainCounter : Inventory {\n\tinventory.maxamount 20\n}\n\nACTOR OctabrainBlood : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\")\n\t\t\tTNT1 A 1 A_SpawnItem(\"DukeBlood\")\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/D3DAssComm.txt",
"contents": "ACTOR D3D_AssCommander : QCDE_MonsterMedium {\n\tHealth 550\n\tRadius 30\n\tHeight 56\n\tMass 1024\n\tSpeed 3\n\tScale 0.8\n \tMONSTER\n\t+FLOORCLIP\n +NOTDMATCH\n +THRUGHOST\n\t+NOGRAVITY\n\t+NOINFIGHTING\n\t+FLOAT\n\t+NOPAIN\n\tSeeSound \"assaultcom/sight\"\n\tPainSound \"assaultcom/pain\"\n\tDeathSound \"assaultcom/death\"\n\tActiveSound \"assaultcom/roam\"\n\tAttackSound \"assaultcom/attack\"\n\tObituary \"%o was blown to bits by an Assault Commander.\"\n\tBloodType \"CommanderBlood\"\n\tBloodColor \"D9 24 05\"\n\tTag \"Assault Commander\"\n\tDamageFactor \"CommanderDamager\", 0\n\tconst float ang_inc = 22.5;\n\tStates {\n\t\tIdle:\n\t\t\tTNT1 A 0 A_StopSound(5)\n\t\tIdleLoop:\n\t\t\tASCO A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tTNT1 A 0 A_StopSound(5)\n\t\tSeeLoop:\n\t\t\tASCO AAAAA 1 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASCO AAAA 1 A_Chase\n\t\t\tASCO BBBBB 1 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASCO BBBB 1 A_Chase\n\t\t\tASCO CCCCC 1 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASCO CCCC 1 A_Chase\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_StopSound(5)\n\t\t\tTNT1 A 0 A_Jump (96, 2)\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcom/attack\", CHAN_WEAPON)\n\t\t\tASCO EEEE 5 A_FaceTarget\n\t\tMissileLoop:\n\t\t\tASCO EEEE 5 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"ACommanderRocket\", 14, 0, 0, 8)\n\t\t\tTNT1 A 0 A_Jump(128, \"CanSee\")\n\t\t\tASCO EEE 5 A_FaceTarget\n\t\tGoto See\n\t\tCanSee:\n\t\t\tTNT1 A 0 A_JumpIfTargetInLOS(\"MissileLoop\")\n\t\tGoto See\n\t\tMelee:\n\t\t\tASCO D 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcom/spin\",5,1.0,1,ATTN_NORM)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 4 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 4 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 4 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\tLoopThis:\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcom/spin\",5,1.0,1,ATTN_NORM)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(76, \"LoopThis\")\n\t\t\tASCO F 1 A_StopSound(5)\n\t\tFinishSpin:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tASCO F 1 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 2 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 3 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(4 * cos(angle), 4 * sin(angle), velz, CVF_REPLACE)\n\t\t\tASCO F 4 A_SetAngle(angle - ang_inc)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"ACommanderSpinDamager\")\n\t\t\tTNT1 A 0 A_ChangeVelocity(0, 0, velz, CVF_REPLACE)\n\t\t\tASCO A 9\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(5)\n\t\t\tASCO G 5 A_Scream\n\t\t\tASCO H 5 A_NoBlocking\n\t\t\tASCO IJKLMN 5\n\t\t\tASCO N -1\n\t\tStop\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(5)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GibDropperMediumBig\",0,0,28,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR)\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs1\")\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs2\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs3\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs4\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs5\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs6\")\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/enemygib\")\n\t\t\tTNT1 A 2\n\t\tStop\n\t\tRaise:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"QCDE_DamageTracker\",0,1)\n\t\t\tASCO NMLKJIHG 5\n\t\tGoto See\n\t}\n}\n\nActor ACommanderSpinDamager {\n\t+MISSILE\n\t+THRUACTORS\n\t+NOGRAVITY\n\tHeight 1\n\tRadius 1\n\tDamageType \"CommanderDamage\"\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 1 NoDelay A_Explode(11, 80, 0, 0, 80)\n\t\tStop\n\t}\n}\n\nACTOR ACommanderRocket {\n\tRadius 6\n\tHeight 12\n\tSpeed 30\n\tPROJECTILE\n\tObituary \"%o was blown to bits by an Assault Commander\"\n\tScale 0.625\n\tDecal Scorch\n\tDamage (25)\n\t+FORCERADIUSDMG\n\tStates {\n\t\tSpawn:\n\t\t\tRPGX A 1 bright A_SpawnItemEx(\"DukeRocketPuff\",0,0,0,0,0,0,0,160)\n\t\tloop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_Explode(35, 112)\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 1.0, 0)\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\tstop\n\t}\n}\n\nACTOR CommanderBlood : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0 // the below line imitates the soundonce behavior of d3d\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\", 0, D3D_PAINCOOLDOWN_COMM)\n\t\t\tTNT1 A 2 A_SpawnItemEx(\"DukeBloodAC\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}\n\nActor CommanderPainCooldown : PowerDamage {\n\tdamagefactor \"normal\", 1.0\n\tpowerup.duration 35\n}"
},
{
"source": "pk3",
"name": "Actors/D3DPigTank.txt",
"contents": "ACTOR D3D_PigTank : QCDE_MonsterBig {\n\tHealth 600\n\tRadius 40\n\tHeight 64\n\tMass 1024\n\tSpeed 10\n\tPainChance 0\n\tScale 1.05\n\tMONSTER\n\t+FLOORCLIP\n +NOTDMATCH\n +NOICEDEATH\n +THRUGHOST\n\t+NOBLOOD\n +NOTARGET\n +NOINFIGHTING\n\t+DONTMORPH\n\t+DONTRIP\n\t+NOPAIN\n\tSeeSound \"pigcop/sight\"\n\tObituary \"%o was shredded by a Pig Cop Tank.\"\n\tTag \"Pig Cop Tank\"\n\tDecal BulletChip\n\tMaxTargetRange 1280\n\tStates {\n\t\tIdle:\n\t\t\tPIGT A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tTNT1 A 0 A_PlaySound(\"pigtank/active\", CHAN_VOICE)\n\t\t\tPIGT AAAAAAAAAAAAA 3 A_Chase\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"TankMissileToken\", 0, \"MissileEnd\")\n\t\t\tTNT1 A 0 A_GiveInventory (\"TankMissileToken\",1)\n\t\t\tTNT1 A 0 A_JumpIfCloser(1024, \"Machinegun\")\n\t\t\tPIGT B 1 Bright A_FaceTarget(22)\n\t\t\tPIGT B 2 Bright A_CustomMissile(\"TrooperLaser\", 56, -26, angle, CMF_ABSOLUTEANGLE | CMF_CHECKTARGETDEAD)\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\t\tPIGT C 3 Bright A_CustomMissile(\"TrooperLaser\", 56, 26, angle, CMF_ABSOLUTEANGLE | CMF_CHECKTARGETDEAD)\n\t\t\tTNT1 A 0 A_PlaySound(\"assaultcapt/fire\", CHAN_WEAPON)\n\t\tLoop\n\t\tMachinegun:\n\t\t\tPIGT B 1 Bright A_FaceTarget(22)\n\t\t\tPIGT B 2 Bright A_CustomMissile(\"PigTankBullet\", 58, -26, angle + frandom(-12, 12), CMF_ABSOLUTEANGLE | CMF_CHECKTARGETDEAD, frandom(-8, 8))\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/pistolfire\", CHAN_WEAPON)\n\t\t\tPIGT C 3 Bright A_CustomMissile(\"PigTankBullet\", 58, 26, angle + frandom(-12, 12), CMF_ABSOLUTEANGLE | CMF_CHECKTARGETDEAD, frandom(-8, 8))\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/pistolfire\", CHAN_WEAPON)\n\t\tGoto Missile\n\t\tMissileEnd:\n\t\t\tTNT1 A 0 A_TakeInventory (\"TankMissileToken\", 0)\n\t\t\tTNT1 A 0 A_JumpIfCloser (512, \"NoMortar\")\n\t\t\tPIGT A 1 A_FaceTarget(0, 0)\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgfire\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Lob\", 0, D3D_GRENADE_TANK, 0)\n\t\tNoMortar:\n\t\t\tPIGT A 20\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 1.0, 0)\n\t\t\tTNT1 A 4 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"D3D_Pigcop\",0,0,0,0,0,0,0,0,127)\n\t\t\tTNT1 A 1\n\t\tStop\n\t}\n}\n\nACTOR TankMissileToken : Inventory {\n\tinventory.MaxAmount 12\n}\n\nActor PigTankBullet : DukeEnemyBullet {\n\tDamage (6)\n}\n\nActor PigTankMortarAfterImage : BattleLordMortarAfterImage {\n\tScale 0.7\n}\n\nActor PigTankMortar : BattleLordMortar {\n\tScale 0.7\n\tSpeed 26\n\tHeight 12\n\tRadius 6\n\tDamage 0\n\tObituary \"%o was blown away by a Pig Tank.\"\n\tStates {\n\t\tSpawn:\n\t\t\tBTLO OPQR 2 A_SpawnItemEx(\"PigTankMortarAfterImage\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)\n\t\tLoop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_Explode(50, 156, 0, 0, 48)\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 1.0, 0)\n\t\t\tTNT1 A 5 A_SpawnItemEx(\"RPGExplosion\")\n\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/D3DBattlelord.txt",
"contents": "ACTOR D3D_Battlelord : QCDE_MonsterBoss {\n\tHealth 4000\n\tRadius 76\n\tHeight 100\n\tMass 5760\n\tSpeed 11\n\tPainChance 32\n\tScale 1.2\n\tMONSTER\n\t+FLOORCLIP\n +NOTDMATCH\n +NOICEDEATH\n +THRUGHOST\n\t+BOSS\n\t+DONTGIB\n +NOTARGET\n +NOINFIGHTING\n\t+MISSILEMORE\n\t+DONTMORPH\n\t+BOSSDEATH\n\t+DONTRIP\n\t+NORADIUSDMG\n\t+QUICKTORETALIATE\n\tSeeSound \"battlelord/sight\"\n\tPainSound \"battlelord/pain\"\n\tDeathSound \"battlelord/death\"\n\tActiveSound \"battlelord/roam\"\n\tAttackSound \"duke/chaingun\"\n\tObituary \"%o was shot by the Battlelord.\"\n\tBloodType \"DukeBloodBoss_Blord\"\n\tBloodColor \"D9 24 05\"\n\tDecal BulletChip\n\tvar int user_count;\n\tconst int blord_fire = 24;\n\tStates {\n\t\tIdle:\n\t\t\tBTLO A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tBTLO AAA 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tBTLO B 2 A_Chase\n\t\t\tBTLO B 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tBTLO B 2 A_Chase\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/thud\", CHAN_BODY)\n\t\t\tBTLO CCC 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tBTLO D 2 A_Chase\n\t\t\tBTLO D 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tBTLO D 2 A_Chase\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/thud\", CHAN_BODY)\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_JumpIfCloser(420, \"Chaingun\")\n\t\t\tTNT1 A 0 A_Jump(96, \"Chaingun\")\n\t\tGoto Mortar\n\t\tChaingun:\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_count\", 0)\n\t\tChaingunLoop:\n\t\t\tTNT1 A 0 A_JumpIf(user_count == blord_fire, \"FinishFire\")\n\t\t\tBTLO E 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/chaingunfire\", CHAN_WEAPON)\n\t\t\tTNT1 AAAAA 0 A_CustomMissile(\"BattlelordBullet\", 36, 24, frandom(-12, 12), CMF_CHECKTARGETDEAD, frandom(-6.5, 6.5))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_count\", user_count + 1)\n\t\t\tBTLO F 3 Bright A_CustomMissile(\"BattlelordBullet\", 36, 24, frandom(-7, 7), CMF_CHECKTARGETDEAD)\n\t\tLoop\n\t\tFinishFire:\n\t\t\tBTLO E 2\n\t\tGoto See\n\t\tMortar:\n\t\t\tBTLO GGGG 4 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgfire\", CHAN_WEAPON)\n\t\t\tBTLO H 8 Bright ACS_NamedExecuteAlways(\"D3D Lob\", 0, D3D_GRENADE_BATTLELORD, 35)\n\t\t\tTNT1 A 0 A_Jump(96, \"FinishMortar\")\n\t\tGoto Mortar\n\t\tFinishMortar:\n\t\t\tBTLO G 8\n\t\tGoto See\n\t\tPain:\n\t\t\tBTLO I 3 A_Pain\n\t\t\tBTLO I 2\n\t\t\tTNT1 A 0 A_Jump(192, \"Missile\")\n\t\t\tBTLO I 1\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\tXDeathChecksDone:\n\t\t\tBTLO I 10 A_Scream\n\t\t\tBTLO JK 10\n\t\t\tBTLO L 10 A_NoBlocking\n\t\t\tBTLO MN 10\n\t\t\tBTLO N 20\n\t\t\tBTLO N -1\n\t\tStop\n\t}\n}\n\nActor BattlelordBullet : DukeEnemyBullet {\n\tDamage (6)\n}\n\nACTOR BattleLordChaingunToken : CustomInventory { Inventory.MaxAmount 12 }\nACTOR BattleLordMortarToken : CustomInventory { Inventory.MaxAmount 4 }\n\nActor DukeBloodBoss_Blord : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\", 0, D3D_PAINCOOLDOWN_BLORD)\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeBloodBoss\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}\n\nActor BattlelordPainCooldown : PowerDamage {\n\tdamagefactor \"normal\", 1.0\n\tpowerup.duration 53\n}"
},
{
"source": "pk3",
"name": "Actors/D3DOverlord.txt",
"contents": "ACTOR D3D_Overlord : QCDE_MonsterBoss {\n\tHealth 4000\n\tRadius 40\n\tHeight 110\n\tMass 5760\n\tSpeed 12\n\tPainChance 16\n\tScale 1.1\n\tMONSTER\n\t+BOSS\n\t+FLOORCLIP\n +NOTDMATCH\n +NOICEDEATH\n\t+NOINFIGHTING\n +THRUGHOST\n\t+MISSILEEVENMORE\n\t+DONTRIP\n\t+NORADIUSDMG\n\t+QUICKTORETALIATE\n\tSeeSound \"overlord/sight\"\n\tPainSound \"overlord/pain\"\n\tDeathSound \"overlord/death\"\n\tActiveSound \"overlord/roam\"\n\tAttackSound \"\"\n\tObituary \"%o was stomped on by the Overlord.\"\n\tBloodType \"DukeBloodBoss_OLord\"\n\tBloodColor \"D9 24 05\"\n\tStates {\n\t\tIdle:\n\t\t\tOVRL A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 0)\n\t\t\tOVRL AAA 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tOVRL B 2 A_Chase\n\t\t\tOVRL B 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tOVRL B 2 A_Chase\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/thud\", CHAN_BODY)\n\t\t\tOVRL CCC 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tOVRL D 2 A_Chase\n\t\t\tOVRL D 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tOVRL D 2 A_Chase\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/thud\", CHAN_BODY)\n\t\tLoop\n\t\tMissile:\n\t\t\tOVRL EEEEFFFFGGGGGG 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_Jump(64, \"DoubleSpam\")\n\t\tGoto Spam\n\t\tSpam:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 1)\n\t\t\tOVRL GGG 2 A_FaceTarget\n\t\t\tOVRL H 4 Bright A_CustomMissile(\"OverlordRocket\", 100, 15, 0, 8)\n\t\t\tOVRL H 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 0)\n\t\t\tOVRL GGG 2 A_FaceTarget\n\t\t\tOVRL H 4 Bright A_CustomMissile(\"OverlordRocket\", 100, -15, 0, 8)\n\t\t\tOVRL H 1 A_Jump (32, \"See\")\n\t\tLoop\n\t\tDoubleSpam:\n\t\t\tOVRL GGG 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"OverlordRocket\", 100, -15, 0, CMF_CHECKTARGETDEAD | CMF_AIMOFFSET)\n\t\t\tOVRL H 4 Bright A_CustomMissile(\"OverlordRocket\", 100, 15, 0, CMF_CHECKTARGETDEAD | CMF_AIMOFFSET)\n\t\t\tOVRL H 2 A_FaceTarget\n\t\t\tOVRL GGG 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"OverlordRocket\", 100, -15, 0, CMF_CHECKTARGETDEAD | CMF_AIMOFFSET)\n\t\t\tOVRL H 4 Bright A_CustomMissile(\"OverlordRocket\", 100, 15, 0, CMF_CHECKTARGETDEAD | CMF_AIMOFFSET)\n\t\t\tOVRL H 1 A_Jump (32, \"See\")\n\t\tLoop\n\t\tPain:\n\t\t\tOVRL I 3 A_Pain\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\tXDeathChecksDone:\n\t\t\tOVRL I 8 A_Scream\n\t\t\tOVRL J 8 A_NoBlocking\n\t\t\tOVRL KLMNOPQR 8\n\t\t\tOVRL R 22\n\t\t\tOVRL R -1\n\t\tStop\n\t}\n}\n\nACTOR OverlordRocketPuff : DukeRocketPuff {\n\tRenderStyle Translucent\n\tAlpha 0.5\n\tStates {\n Spawn:\n\t\t\tTNT1 A 2\n\t\t\tDKPF ABCD 4\n Stop\n }\n}\n\nACTOR OverlordRocket : ACommanderRocket {\n\tRadius 16\n\tHeight 12\n\tObituary \"%o was destroyed by the Overlord\"\n\tScale 0.825\n\tDamage (50)\n\tRadius 8\n\tHeight 16\n\tStates {\n\t\tDeath:\n\t\t\tTNT1 A 0 A_Explode(90, 136, 0, 0, 24)\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 1.0, 0)\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\tstop\n\t}\n}\n\nActor DukeBloodBoss_Olord : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\", 0, D3D_PAINCOOLDOWN_OVERLORD)\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeBloodBoss\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}\n\nActor OverlordPainCooldown : PowerDamage {\n\tdamagefactor \"normal\", 1.0\n\tpowerup.duration 35\n}"
},
{
"source": "pk3",
"name": "Actors/D3DCycloid.txt",
"contents": "ACTOR D3D_Cycloid : QCDE_MonsterBoss {\n\tHealth 4000\n\tRadius 40\n\tHeight 110\n\tMass 5760\n\tSpeed 10\n\tPainChance 48\n\tScale 1.2\n\tMONSTER\n\t+BOSS\n\t+FLOORCLIP\n +NOTDMATCH\n +NOICEDEATH\n\t+NOINFIGHTING\n +THRUGHOST\n\t+MISSILEMORE\n\t+MISSILEEVENMORE\n\t+DONTMORPH\n\t+DONTRIP\n\t+NORADIUSDMG\n\t+QUICKTORETALIATE\n\tSeeSound \"cycloid/sight\"\n\tPainSound \"cycloid/pain\"\n\tDeathSound \"cycloid/death\"\n\tActiveSound \"cycloid/roam\"\n\tAttackSound \"cycloid/attack\"\n\tTag \"Cycloid Emperor\"\n\tObituary \"%o was stomped on by the Cycloid Emperor.\"\n\tBloodType \"DukeBloodBoss_Cycloid\"\n\tBloodColor \"D9 24 05\"\n\tconst int cycloid_count = 9;\n\tvar int user_count;\n\tStates {\n\t\tIdle:\n\t\t\tCYEM A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 0)\n\t\t\tCYEM AAA 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tCYEM BBB 2 A_Chase\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/thud\", CHAN_BODY)\n\t\t\tCYEM CCC 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tCYEM DDD 2 A_Chase\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/thud\", CHAN_BODY)\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_PlaySound(\"cycloid/attack\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 A_Jump(38, \"Rocketatk\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(468, \"EnergyAtk\")\n\t\tgoto RocketAtk\n\t\tRocketAtk:\n\t\t\tCYEM EEEEE 1 A_FaceTarget\n\t\t\tCYEM F 3 Bright A_CustomMissile(\"CyEmperorRocket\", 56, 12, frandom(-24,24),8)\n\t\t\tCYEM FF 1 A_FaceTarget\n\t\t\tCYEM EEEEE 1 A_FaceTarget\n\t\t\tCYEM F 3 Bright A_CustomMissile(\"CyEmperorRocket\", 56, 12, frandom(-16,16),8)\n\t\t\tCYEM FF 1 A_FaceTarget\n\t\t\tCYEM EEEEE 1 A_FaceTarget\n\t\t\tCYEM F 3 Bright A_CustomMissile(\"CyEmperorRocket\", 56, 12, frandom(-8,8),8)\n\t\t\tCYEM FF 1 A_FaceTarget\n\t\t\tCYEM EEEEE 1 A_FaceTarget\n\t\t\tCYEM F 3 Bright A_CustomMissile(\"CyEmperorRocket\", 56, 12, frandom(-16,16),8)\n\t\t\tCYEM FF 1 A_FaceTarget\n\t\t\tCYEM EEEEE 1 A_FaceTarget\n\t\t\tCYEM F 3 Bright A_CustomMissile(\"CyEmperorRocket\", 56, 12, frandom(-24,24),8)\n\t\t\tCYEM FF 1 A_FaceTarget\n\t\t\tTNT1 A 0 A_Jump(96, \"See\")\n\t\tGoto RocketAtk\n\t\tEnergyAtk:\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_count\", 0)\n\t\t\tCYEM GGGGG 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 1)\n\t\t\tCYEM GGGGG 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"octabrain/attack\", CHAN_WEAPON)\n\t\tEnergyLoop:\n\t\t\tTNT1 A 0 A_JumpIf(user_count == cycloid_count, \"FinishEnergy\")\n\t\t\tTNT1 AA 0 A_CustomMissile(\"OctabrainProjectileCy\", 80, 0, frandom(-16, 16), 8)\n\t\t\tCYEM H 2 Bright A_CustomMissile(\"OctabrainProjectileCy\", 80, 0, frandom(-16, 16), 8)\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_count\", user_count + 1)\n\t\t\tCYEM H 2 A_FaceTarget\n\t\tLoop\n\t\tFinishEnergy:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 0)\n\t\t\tCYEM G 2 A_FaceTarget\n\t\tgoto See\n\t\tPain:\n\t\t\tCYEM I 2 A_Pain\n\t\tGoto RocketAtk\n\t\tDeathChecksDone:\n\t\tXDeathChecksDone:\n\t\t\tCYEM I 10 A_Scream\n\t\t\tCYEM J 10 A_NoBlocking\n\t\t\tCYEM KLMNOPQ 10\n\t\t\tCYEM Q 30\n\t\t\tCYEM Q -1\n\t\tStop\n\t}\n}\n\nACTOR CycloidEmperorRocketToken : CustomInventory { Inventory.MaxAmount 5 }\nACTOR CycloidEmperorEnergyToken : CustomInventory { Inventory.MaxAmount 12 }\n\nACTOR OctabrainProjectileCy : OctabrainProjectile {\n\tSpeed 20\n}\n\nACTOR CyEmperorRocket : ACommanderRocket {\n\tSpeed 39\n\tScale 0.55\n\tObituary \"%o was dealt with by the Cycloid Emperor's rockets.\"\n\tDamage (25)\n\tRadius 5\n\tHeight 10\n\tStates {\n\t\tSpawn:\n\t\t\tRPGX A 1 bright\n\t\tloop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_Explode(45, 112, 0, 0, 24)\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 0.75, 0)\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\tstop\n\t}\n}\n\nActor DukeBloodBoss_Cycloid : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\")\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeBloodBoss\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/D3DAlienQueen.txt",
"contents": "ACTOR D3D_AlienQueen : QCDE_MonsterBoss {\n\tHealth 4000\n\tRadius 80\n\tHeight 100\n\tMass 5760\n\tSpeed 8\n\tPainChance 16\n\tScale 1.3\n\tMONSTER\n\t+BOSS\n\t+FLOORCLIP\n +NOTDMATCH\n +NOICEDEATH\n\t+NOINFIGHTING\n +THRUGHOST\n\t+DONTRIP\n\t+NORADIUSDMG\n\t+QUICKTORETALIATE\n\tSeeSound \"queen/sight\"\n\tPainSound \"queen/pain\"\n\tDeathSound \"queen/death\"\n\tActiveSound \"queen/roam\"\n\tAttackSound \"queen/attack\"\n\tObituary \"%o was shocked to death by the Alien Queen.\"\n\tBloodType \"DukeBloodBoss_Queen\"\n\tBloodColor \"LimeGreen\"\n\tTag \"Alien Queen\"\n\tBloodColor LimeGreen\n\tStates {\n\t\tIdle:\n\t\t\tQUEE A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tQUEE AAAA 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tQUEE B 2 A_Chase\n\t\t\tQUEE B 2 A_Chase\n\t\t\tQUEE B 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tQUEE B 2 A_Chase\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/thud\", CHAN_BODY)\n\t\t\tQUEE CCCC 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tQUEE D 2 A_Chase\n\t\t\tQUEE D 2 A_Chase\n\t\t\tQUEE D 2 A_Chase(\"\",\"\",CHF_NOPLAYACTIVE)\n\t\t\tQUEE D 2 A_Chase\n\t\t\tTNT1 A 0 A_PlaySound(\"duke/thud\", CHAN_BODY)\n\t\t\tTNT1 A 0 A_Jump(4, \"Birth\")\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump (120, \"Birth\")\n\t\t\tTNT1 A 0 A_PlaySound(\"queen/attack\", CHAN_WEAPON)\n\t\tAttack:\n\t\t\tQUEE EEEEE 2 A_FaceTarget\n\t\tAttackLoop:\n\t\t\tQUEE F 1 A_GiveInventory(\"QueenDamageChecker\", 1)\n\t\t\tQUEE FF 1\n\t\t\tQUEE GGGGG 1 A_FaceTarget\n\t\t\tQUEE F 1 A_GiveInventory(\"QueenDamageChecker\", 1)\n\t\t\tQUEE FF 1\n\t\t\tQUEE GGGGG 1 A_FaceTarget\n\t\t\tQUEE F 1 A_GiveInventory(\"QueenDamageChecker\", 1)\n\t\t\tQUEE FF 1\n\t\t\tQUEE GGGGG 1 A_FaceTarget\n\t\t\tQUEE F 1 A_GiveInventory(\"QueenDamageChecker\", 1)\n\t\t\tQUEE FF 1\n\t\t\tQUEE GGGGG 1 A_FaceTarget\n\t\t\tQUEE F 1 A_GiveInventory(\"QueenDamageChecker\", 1)\n\t\t\tQUEE FF 1\n\t\t\tQUEE GGGGG 1 A_FaceTarget\n\t\t\tTNT1 A 0 A_Jump(80, \"FinishAttack\")\n\t\tGoto AttackLoop\n\t\tFinishAttack:\n\t\t\tQUEE EEE 2 A_FaceTarget\n\t\tGoto See\n\t\tBirth:\n\t\t\tTNT1 A 0 A_PlaySound(\"queen/birth\", CHAN_WEAPON)\n\t\t\tQUEE HI 30\n\t\t\tQUEE J 30 ACS_NamedExecuteAlways(\"D3D Spawn Protector Drone\")\n\t\tgoto See\n\t\tPain:\n\t\t\tTNT1 A 0 A_StopSound(CHAN_WEAPON)\n\t\t\tQUEE K 2 A_Pain\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(CHAN_WEAPON)\n\t\t\tQUEE K 8 A_Scream\n\t\t\tQUEE L 8 A_NoBlocking\n\t\t\tQUEE MNOPQRST 8\n\t\t\tQUEE T 20\n\t\t\tQUEE T -1\n\t\tStop\n\t}\n}\n\nActor QueenDamager {\n\tScale 0.3\n\tRenderstyle Add\n\tAlpha 1.0\n\t+NOGRAVITY\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0 NoDelay A_Explode(random(4, 8), 32, 0, 0, 32)\n\t\t\tD3D2 ABCDEFGHI 1 A_Warp(AAPTR_TRACER, 16, 0, 32, 0, WARPF_NOCHECKPOSITION | WARPF_INTERPOLATE)\n\t\tStop\n\t}\n}\n\nActor QueenDamageChecker : CustomInventory {\n\t+ALWAYSPICKUP\n\tStates {\n\t\tPickup:\n\t\t\tTNT1 A 0 A_JumpIfTargetInLOS(\"InSight\")\n\t\tStop\n\t\tInSight:\n\t\t\tTNT1 A 0 A_VileTarget(\"QueenDamager\")\n\t\tStop\n\t}\n}\n\nActor DukeBloodBoss_Queen : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\", 0, D3D_PAINCOOLDOWN_QUEEN)\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeBloodQueen\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}\n\nActor QueenPainCooldown : PowerDamage {\n\tdamagefactor \"normal\", 1.0\n\tpowerup.duration 40\n}"
},
{
"source": "pk3",
"name": "Actors/D3DAlienSniper.txt",
"contents": "ACTOR D3D_AlienSniper : QCDE_MonsterMedium {\n\tHealth 225\n\tRadius 20\n\tHeight 56\n\tSpeed 8\n\tPainChance 84\n\tScale 0.7\n\tMass 160\n\tMONSTER\n\t+FLOORCLIP\n\t+NOINFIGHTING\n +THRUGHOST\n\t+MISSILEMORE\n\tSeeSound \"aliensniper/sight\"\n\tPainSound \"aliensniper/pain\"\n\tDeathSound \"aliensniper/death\"\n\tActiveSound \"aliensniper/roam\"\n\tAttackSound \"\"\n\tObituary \"%o was shot down by an Alien Sniper.\"\n\tBloodType \"AlienSniperBlood\"\n\tBloodColor \"D9 24 05\"\n\tTag \"Alien Sniper\"\n\tDecal BulletChip\n\tMeleeRange 60\n\tMaxTargetRange 1024\n\tStates {\n\t\tIdle:\n\t\t\tASNI A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tASNI A 2 A_Chase\n\t\t\tASNI A 2 A_Chase\n\t\t\tASNI B 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASNI B 2 A_Chase\n\t\t\tASNI C 2 A_Chase\n\t\t\tASNI C 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tASNI D 2 A_Chase\n\t\t\tASNI D 2 A_Chase\n\t\tLoop\n\t\tMelee:\n\t\t\tASNI III 3 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMeleeAttack(15, \"\", \"\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(68, \"Push\")\n\t\tContinueMelee:\n\t\t\tASNI J 5\n\t\t\tASNI I 3\n\t\tGoto Missile\n\t\tPush:\n\t\t\tTNT1 A 0 A_GiveToTarget(\"AlienSniperPusher\", 1)\n\t\tGoto ContinueMelee\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump (80, \"CrouchShot\")\n\t\tStandShot:\n\t\t\tASNI EE 9 A_Facetarget\n\t\t\tTNT1 A 0 A_PlaySound(\"aliensniper/fire\", CHAN_WEAPON)\n\t\t\tASNI F 9 Bright A_CustomMissile(\"AlienSniperBullet\", 36, 0, frandom(-2, 2), 8, frandom(-0.75, 0.75))\n\t\t\tASNI E 6 A_Facetarget\n\t\t\tGoto See\n\t\tCrouchShot:\n\t\t\tASNI GG 7 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"aliensniper/fire\", CHAN_WEAPON)\n\t\t\tASNI H 5 Bright A_CustomMissile(\"AlienSniperBullet_Crouched\", 24, 0, frandom(-1.25, 1.25), 8, frandom(-0.25, 0.25))\n\t\t\tASNI GG 5 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"aliensniper/fire\", CHAN_WEAPON)\n\t\t\tASNI H 5 Bright A_CustomMissile(\"AlienSniperBullet_Crouched\", 24, 0, frandom(-1.25, 1.25), 8, frandom(-0.25, 0.25))\n\t\t\tASNI GG 4 A_FaceTarget\n\t\t\tGoto See\n\t\tPain:\n\t\t\tASNI K 3 A_Pain\n\t\t\tASNI K 3\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(CHAN_BODY)\n\t\t\tASNI L 7 A_Scream\n\t\t\tASNI M 5 A_NoBlocking\n\t\t\tASNI N 6\n\t\t\tASNI O 6\n\t\t\tASNI P -1\n\t\tStop\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0 A_StopSound(CHAN_BODY)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GibDropperMedium\",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR)\n\t\t\tTNT1 A 1 A_UnsetSolid\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs2\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs3\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs4\")\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs5\")\n\t\t\tTNT1 AAA 0 A_SpawnDebris(\"DukeJibs6\")\n\t\t\tTNT1 A 0 A_Jump(32,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs1\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs10\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 AA 0 A_SpawnDebris(\"DukeJibs12\")\n\t\t\tTNT1 A 0 A_Jump(64,2)\n\t\t\tTNT1 A 0 A_SpawnDebris(\"DukeJibs11\")\n\t\t\tTNT1 A 1 A_PlaySound(\"duke/enemygib\")\n\t\tStop\n\t\tRaise:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"QCDE_DamageTracker\",0,1)\n\t\t\tASNI ONML 5\n\t\tGoto See\n\t}\n}\n\nActor AlienSniperBullet : FastProjectile {\n\tRadius 3\n\tHeight 6\n\tSpeed 192\n\tDamage (15)\n\tPROJECTILE\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A -1\n\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_SpawnItem(\"AlienSniperPuffFX\")\n\t\t\tTNT1 A 5 ACS_NamedExecuteAlways(\"D3D Alien Sniper Trails\", 0, 9, 44)\n\t\tStop\n\t}\n}\n\nActor AlienSniperBullet_Crouched : AlienSniperBullet {\n\tDamage (20)\n\tStates {\n\t\tDeath:\n\t\t\tTNT1 A 0 A_SpawnItem(\"AlienSniperPuffFX\")\n\t\t\tTNT1 A 5 ACS_NamedExecuteAlways(\"D3D Alien Sniper Trails\", 0, 8, 28)\n\t\tStop\n\t}\n}\n\nActor AlienSniperFX {\n\tScale 0.125\n\tRenderstyle Add\n\tAlpha 0.875\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tStates {\n\t\tSpawn:\n\t\t\tD3D0 AA 1 Bright A_SetScale(scalex + 0.025, scaley + 0.025)\n\t\t\tTNT1 A 0 A_SetTranslucent(alpha - 0.075)\n\t\t\tD3D0 BB 1 Bright A_SetScale(scalex + 0.025, scaley + 0.025)\n\t\t\tTNT1 A 0 A_SetTranslucent(alpha - 0.075)\n\t\t\tD3D0 CC 1 Bright A_SetScale(scalex + 0.025, scaley + 0.025)\n\t\t\tTNT1 A 0 A_SetTranslucent(alpha - 0.075)\n\t\t\tD3D0 DD 1 Bright A_SetScale(scalex + 0.025, scaley + 0.025)\n\t\t\tTNT1 A 0 A_SetTranslucent(alpha - 0.075)\n\t\t\tD3D0 EE 1 Bright A_SetScale(scalex - 0.025, scaley - 0.025)\n\t\t\tTNT1 A 0 A_SetTranslucent(alpha - 0.075)\n\t\t\tD3D0 FF 1 Bright A_SetScale(scalex - 0.025, scaley - 0.025)\n\t\t\tTNT1 A 0 A_SetTranslucent(alpha - 0.075)\n\t\t\tD3D0 GG 1 Bright A_SetScale(scalex - 0.025, scaley - 0.025)\n\t\t\tTNT1 A 0 A_SetTranslucent(alpha - 0.075)\n\t\t\tD3D0 HH 1 Bright A_SetScale(scalex - 0.025, scaley - 0.025)\n\t\tStop\n\t}\n}\n\nActor AlienSniperPuffFX {\n\tScale 0.175\n\tRenderstyle Add\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tStates {\n\t\tSpawn:\n\t\t\tD3D1 ABCDEFGH 2 Bright\n\t\tStop\n\t}\n}\n\nActor AlienSniperPusher : CustomInventory {\n\t+ALWAYSPICKUP\n\tStates {\n\t\tPickup:\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Monster Push\", 0, 13)\n\t\tStop\n\t}\n}\n\nACTOR AlienSniperBlood : D3DMonsterBlood {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"D3D Do Pain Sound\")\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeBlood\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/D3DDukinator.txt",
"contents": "ACTOR D3D_Dukinator : QCDE_MonsterMedium {\n\tHealth 550\n\tRadius 20\n\tHeight 56\n\tProjectilePassHeight 64\n\tSpeed 6\n\tScale 0.8\n\tMass 320\n\tPainchance 28\n\tMONSTER\n\t+FLOORCLIP\n\t+NOINFIGHTING\n\t+MISSILEMORE\n\t+MISSILEEVENMORE\n\t+NOBLOODDECALS\n\tSeeSound \"dukinator/sight\"\n\tDeathSound \"dukinator/shothit\"\n\tActiveSound \"dukinator/line\"\n\tAttackSound \"\"\n\tObituary \"%o was terminated by a Dukinator.\"\n\tTag \"Dukinator\"\n\tDecal Scorch\n\tBloodType \"DukinatorBlood\"\n\tStates {\n\t\tIdle:\n\t\t\tTNT1 A 0 A_TakeInventory(\"D3DBool\", 1)\n\t\tIdleLoop:\n\t\t\tDUKI A 8 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"SeeWalk\")\n\t\t\tDUKI B 8\n\t\t\tDUKI B 4 A_PlaySound(\"dukinator/line\", 5)\n\t\tSeeWalk:\n\t\t\tDUKI CC 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tDUKI DD 2 A_Chase\n\t\t\tDUKI EE 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tDUKI FF 2 A_Chase\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_TakeInventory(\"DukinatorShotCount\", 0)\n\t\t\tTNT1 A 0 A_Jump(128, \"Crouchshot\", \"Boomerang\")\n\t\tShoot:\n\t\t\tDUKI GGG 3 A_FaceTarget\n\t\tMissileLoop:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"DukinatorShotCount\", 0, \"FinishMissile\")\n\t\t\tTNT1 A 0 A_PlaySound(\"dukinator/shoot\", CHAN_WEAPON)\n\t\t\tDUKI H 4 Bright A_CustomMissile(\"DukinatorProjectile\", 52, 9)\n\t\t\tTNT1 A 0 A_GiveInventory(\"DukinatorShotCount\", 1)\n\t\t\tDUKI G 3 A_FaceTarget\n\t\tLoop\n\t\tCrouchshot:\n\t\t\tDUKI I 4 A_FaceTarget\n\t\tCrouchShotLoop:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"DukinatorShotCount\", 0, \"FinishMissile\")\n\t\t\tTNT1 A 0 A_PlaySound(\"dukinator/shoot\", CHAN_WEAPON)\n\t\t\tDUKI J 4 Bright A_CustomMissile(\"DukinatorProjectile\", 40, 9)\n\t\t\tTNT1 A 0 A_GiveInventory(\"DukinatorShotCount\", 1)\n\t\t\tDUKI I 3 A_FaceTarget\n\t\tLoop\n\t\tBoomerang:\n\t\t\tTNT1 A 0 A_JumpIfCloser(340, \"ContinueBoomerang\")\n\t\tGoto Shoot\n\t\tContinueBoomerang:\n\t\t\tDUKI GG 3 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"dukinator/shoot\", CHAN_WEAPON)\n\t\t\tDUKI H 4 Bright A_CustomMissile(\"DukinatorProjectile2\", 52, 9, 0, CMF_SAVEPITCH)\n\t\t\tDUKI G 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"dukinator/shoot\", CHAN_WEAPON)\n\t\t\tDUKI H 4 Bright A_CustomMissile(\"DukinatorProjectile2\", 52, 9, 0, CMF_SAVEPITCH)\n\t\t\tDUKI G 3 A_FaceTarget\n\t\tGoto See\n\t\tFinishMissile:\n\t\t\tDUKI C 1\n\t\tGoto See\n\t\tPain:\n\t\t\tDUKI Q 3\n\t\t\tDUKI Q 2 A_Jump(96, \"Missile\")\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\tXDeathChecksDone:\n\t\t\tDUKI R 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI S 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI R 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI S 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI R 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI S 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI R 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI S 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI R 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI S 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI R 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tDUKI S 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(12, 40))\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 1.0, 0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"D3D_DukinatorTorso\", 0, 0, 32, frandom(-2.5, 2.5), frandom(-2.5, 2.5), frandom(5, 10), 0, SXF_NOCHECKPOSITION)\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"DukinatorLeg\", 0, 0, 8, frandom(-8, 8), frandom(-8, 8), frandom(4, 7))\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"DukinatorPart1\", frandom(-8, 8), 0, 12, frandom(-4, 4), frandom(-4, 4), frandom(6, 12))\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"DukinatorPart2\", frandom(-8, 8), 0, 12, frandom(-4, 4), frandom(-4, 4), frandom(6, 12))\n\t\t\tTNT1 A 5 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\tStop\n\t}\n}\n\nActor D3D_DukinatorTorso : QCDE_MonsterMedium {\n\tRadius 20\n\tHeight 36\n\tHealth 250\n\tSpeed 3\n\tScale 0.7\n\tMass 320\n\tPainchance 24\n\tMONSTER\n\t+FLOORCLIP\n\t+NOINFIGHTING\n\t+MISSILEMORE\n\t+NOPAIN\n\t+LOOKALLAROUND\n\t+NOBLOODDECALS\n\tSeeSound \"\"\n\tDeathSound \"dukinator/shothit\"\n\tActiveSound \"dukinator/line\"\n\tAttackSound \"\"\n\tObituary \"%o didn't pay attention to the a T-69.\"\n\tTag \"Dukinator Torso\"\n\tDecal Scorch\n\tBloodType \"DukinatorBlood\"\n\tStates {\n\t\tIdle:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"IdleLoop\")\n\t\t\tDUKI T 8 A_Look\n\t\t\tTNT1 A 0 A_GiveInventory(\"D3DBool\", 1)\n\t\t\tTNT1 A 0 A_ChangeFlag(\"LOOKALLAROUND\", 0)\n\t\tIdleLoop:\n\t\t\tDUKI K 6 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tDUKI LL 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tDUKI MM 2 A_Chase\n\t\t\tTNT1 A 0 A_PlaySound(\"dukinator/crawl\", 5)\n\t\t\tDUKI NN 2 A_Chase(\"\", \"\", CHF_NOPLAYACTIVE)\n\t\t\tDUKI KK 2 A_Chase\n\t\tLoop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_TakeInventory(\"DukinatorShotCount\", 0)\n\t\t\tDUKI OOO 2 A_FaceTarget\n\t\tMissileLoop:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"DukinatorShotCount\", 0, \"FinishMissile\")\n\t\t\tTNT1 A 0 A_PlaySound(\"dukinator/shoot\", CHAN_WEAPON)\n\t\t\tDUKI P 3 Bright A_CustomMissile(\"DukinatorProjectile\", 12, 9)\n\t\t\tTNT1 A 0 A_GiveInventory(\"DukinatorShotCount\", 1)\n\t\t\tDUKI O 3 A_FaceTarget\n\t\tLoop\n\t\tFinishMissile:\n\t\t\tDUKI O 1\n\t\tGoto See\n\t\tDeathChecksDone:\n\t\tXDeathChecksDone:\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tDUKI U 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(8, 24))\n\t\t\tDUKI V 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(8, 24))\n\t\t\tDUKI U 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(8, 24))\n\t\t\tDUKI V 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(8, 24))\n\t\t\tDUKI U 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(8, 24))\n\t\t\tDUKI V 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(8, 24))\n\t\t\tDUKI U 4 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(8, 24))\n\t\t\tDUKI V 3 A_SpawnItemEx(\"DukinatorBlood\", frandom(-4, 4), frandom(-4, 4), frandom(8, 24))\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_PlaySound(\"duke3d/rpgexp\", 6, 1.0, 0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"DukinatorHead\", 0, 0, 20, frandom(-4, 4), frandom(-4, 4), frandom(6, 12))\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"DukinatorTorso\", 0, 0, 12, frandom(-4, 4), frandom(-4, 4), frandom(6, 12))\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"DukinatorArm\", frandom(-8, 8), 0, 12, frandom(-4, 4), frandom(-4, 4), frandom(6, 12))\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"DukinatorPart1\", frandom(-8, 8), 0, 12, frandom(-4, 4), frandom(-4, 4), frandom(6, 12))\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"DukinatorPart2\", frandom(-8, 8), 0, 12, frandom(-4, 4), frandom(-4, 4), frandom(6, 12))\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"RPGExplosion\",0,0,0,0,0,0,0,160)\n\t\tStop\n\t}\n}\n\nActor DukinatorProjectile {\n\tPROJECTILE\n\tDamage (12)\n\tSpeed 36\n\tHeight 12\n\tRadius 6\n\tScale 0.75\n\tRenderstyle Add\n\tDeathSound \"dukinator/shothit\"\n\tAlpha 1.0\n\t+PIERCEARMOR\n\tStates {\n\t\tSpawn:\n\t\t\tD3D7 AABB 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail\")\n\t\tLoop\n\t\tDeath:\n\t\t\tD3D7 C 1 A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.075, scaley - 0.075)\n\t\t\tD3D7 C 1 A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.075, scaley - 0.075)\n\t\t\tD3D7 C 1 A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.075, scaley - 0.075)\n\t\t\tD3D7 D 1 A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.075, scaley - 0.075)\n\t\t\tD3D7 D 1 A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.075, scaley - 0.075)\n\t\t\tD3D7 D 1 A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.075, scaley - 0.075)\n\t\t\tD3D7 E 1 A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.075, scaley - 0.075)\n\t\t\tD3D7 E 1 A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.075, scaley - 0.075)\n\t\t\tD3D7 E 1 A_FadeOut(0.075)\n\t\tStop\n\t}\n}\n\nActor DukinatorProjectileTrail {\n\tRenderstyle Add\n\tAlpha 1.0\n\tScale 0.75\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 1\n\t\tSpawnLoop:\n\t\t\tD3D7 AABB 1 A_FadeOut(0.0825)\n\t\tLoop\n\t}\n}\n\nActor DukinatorProjectile2 : DukinatorProjectile {\n\tDamage (5)\n\tSpeed 28\n\tHeight 8\n\tRadius 8\n\tconst int pspd = 20;\n\t+RIPPER\n\t+BLOODLESSIMPACT\n\tStates {\n\t\tSpawn:\n\t\t\tD3D8 AABBCCDDAABB 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail2\")\n\t\tSpawnLoop:\n\t\t\tD3D8 C 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(36, \"Vanish\")\n\t\t\tTNT1 A 0 A_FaceTarget(8, 8)\n\t\t\tTNT1 A 0 A_ChangeVelocity(pspd * cos(angle), pspd * sin(angle), pspd * sin(-pitch), CVF_REPLACE)\n\t\t\tD3D8 C 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(36, \"Vanish\")\n\t\t\tTNT1 A 0 A_FaceTarget(8, 8)\n\t\t\tTNT1 A 0 A_ChangeVelocity(pspd * cos(angle), pspd * sin(angle), pspd * sin(-pitch), CVF_REPLACE)\n\t\t\tD3D8 D 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(36, \"Vanish\")\n\t\t\tTNT1 A 0 A_FaceTarget(8, 8)\n\t\t\tTNT1 A 0 A_ChangeVelocity(pspd * cos(angle), pspd * sin(angle), pspd * sin(-pitch), CVF_REPLACE)\n\t\t\tD3D8 D 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(36, \"Vanish\")\n\t\t\tTNT1 A 0 A_FaceTarget(8, 8)\n\t\t\tTNT1 A 0 A_ChangeVelocity(pspd * cos(angle), pspd * sin(angle), pspd * sin(-pitch), CVF_REPLACE)\n\t\t\tD3D8 A 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(36, \"Vanish\")\n\t\t\tTNT1 A 0 A_FaceTarget(8, 8)\n\t\t\tTNT1 A 0 A_ChangeVelocity(pspd * cos(angle), pspd * sin(angle), pspd * sin(-pitch), CVF_REPLACE)\n\t\t\tD3D8 A 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(36, \"Vanish\")\n\t\t\tTNT1 A 0 A_FaceTarget(8, 8)\n\t\t\tTNT1 A 0 A_ChangeVelocity(pspd * cos(angle), pspd * sin(angle), pspd * sin(-pitch), CVF_REPLACE)\n\t\t\tD3D8 B 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(36, \"Vanish\")\n\t\t\tTNT1 A 0 A_FaceTarget(8, 8)\n\t\t\tTNT1 A 0 A_ChangeVelocity(pspd * cos(angle), pspd * sin(angle), pspd * sin(-pitch), CVF_REPLACE)\n\t\t\tD3D8 B 1 Bright A_SpawnItemEx(\"DukinatorProjectileTrail2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(36, \"Vanish\")\n\t\t\tTNT1 A 0 A_FaceTarget(8)\n\t\t\tTNT1 A 0 A_ChangeVelocity(pspd * cos(angle), pspd * sin(angle), pspd * sin(-pitch), CVF_REPLACE)\n\t\tLoop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_Explode(25, 96, 0, 0, 32)\n\t\t\tD3D8 EFGHIJ 3 Bright\n\t\tStop\n\t\tVanish:\n\t\t\tTNT1 A 1\n\t\tStop\n\t}\n}\n\nActor DukinatorProjectileTrail2 {\n\tScale 0.75\n\tRenderstyle Add\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tStates {\n\t\tSpawn:\n\t\t\tD3D8 A 1 Bright A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.05, scaley - 0.05)\n\t\t\tD3D8 A 1 Bright A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.05, scaley - 0.05)\n\t\t\tD3D8 B 1 Bright A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.05, scaley - 0.05)\n\t\t\tD3D8 B 1 Bright A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.05, scaley - 0.05)\n\t\t\tD3D8 C 1 Bright A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.05, scaley - 0.05)\n\t\t\tD3D8 C 1 Bright A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.05, scaley - 0.05)\n\t\t\tD3D8 D 1 Bright A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.05, scaley - 0.05)\n\t\t\tD3D8 D 1 Bright A_FadeOut(0.075)\n\t\t\tTNT1 A 0 A_SetScale(scalex - 0.05, scaley - 0.05)\n\t\tLoop\n\t}\n}\n\nActor DukinatorShotCount : Inventory {\n\tinventory.maxamount 10\n}\n\nActor DukinatorHead {\n\tScale 0.8\n\tPROJECTILE\n\tDamage 0\n\tHeight 12\n\tRadius 6\n\tBounceType Doom\n\t+CLIENTSIDEONLY\n\t+SKYEXPLODE\n\t-NOGRAVITY\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0 NoDelay A_Jump(128, \"Flip\")\n\t\tSpawnLoop:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"Other\")\n\t\t\tD3D6 A -1\n\t\tStop\n\t\tOther:\n\t\t\tD3D6 J -1\n\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"OtherDeath\")\n\t\t\tD3D6 B 16\n\t\t\tD3D6 C 350\n\t\tStop\n\t\tOtherDeath:\n\t\t\tD3D6 K 16\n\t\t\tD3D6 L 350\n\t\tStop\n\t\tFlip:\n\t\t\tTNT1 A 0 A_GiveInventory(\"D3DBool\", 1)\n\t\tGoto SpawnLoop\n\t}\n}\n\nActor DukinatorLeg : DukinatorHead {\n\t+RANDOMIZE\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0 NoDelay A_Jump(256, \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\")\n\t\tA:\n\t\t\tD3D5 A 4 A_GiveInventory(\"D3DBool\", 1)\n\t\tB:\n\t\t\tD3D5 B 4\n\t\tC:\n\t\t\tD3D5 C 4\n\t\tD:\n\t\t\tD3D5 D 4\n\t\tE:\n\t\t\tD3D5 E 4 A_TakeInventory(\"D3DBool\", 1)\n\t\tF:\n\t\t\tD3D5 F 4\n\t\tG:\n\t\t\tD3D5 G 4\n\t\tH:\n\t\t\tD3D5 H 4\n\t\tGoto A\n\t\tDeath:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"Flip\")\n\t\t\tD3D5 G 350\n\t\tStop\n\t\tFlip:\n\t\t\tD3D5 C 350\n\t\tStop\n\t}\n}\n\nActor DukinatorTorso : DukinatorHead {\n\t+RANDOMIZE\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0 NoDelay A_Jump(128, \"Other\")\n\t\tSpawnLoop:\n\t\t\tD3D6 F -1\n\t\tStop\n\t\tOther:\n\t\t\tTNT1 A 0 A_GiveInventory(\"D3DBool\", 1)\n\t\t\tD3D6 G -1\n\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"DeathOther\")\n\t\t\tD3D6 F 350\n\t\tStop\n\t\tDeathOther:\n\t\t\tD3D6 G 350\n\t\tStop\n\t}\n}\n\nActor DukinatorArm : DukinatorHead {\n\t+RANDOMIZE\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0 NoDelay A_Jump(128, \"Other\")\n\t\tSpawnLoop:\n\t\t\tD3D6 H -1\n\t\tStop\n\t\tOther:\n\t\t\tTNT1 A 0 A_GiveInventory(\"D3DBool\", 1)\n\t\t\tD3D6 I -1\n\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"DeathOther\")\n\t\t\tD3D6 H 350\n\t\tStop\n\t\tDeathOther:\n\t\t\tD3D6 I 350\n\t\tStop\n\t}\n}\n\nActor DukinatorPart1 : DukinatorHead {\n\t+RANDOMIZE\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0 NoDelay A_Jump(128, \"Other\")\n\t\tSpawnLoop:\n\t\t\tD3D6 D -1\n\t\tStop\n\t\tOther:\n\t\t\tTNT1 A 0 A_GiveInventory(\"D3DBool\", 1)\n\t\t\tD3D6 E -1\n\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"DeathOther\")\n\t\t\tD3D6 D 350\n\t\tStop\n\t\tDeathOther:\n\t\t\tD3D6 E 350\n\t\tStop\n\t}\n}\n\nActor DukinatorPart2 : DukinatorHead {\n\t+RANDOMIZE\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0 NoDelay A_Jump(128, \"Other\")\n\t\tSpawnLoop:\n\t\t\tD3D5 X -1\n\t\tStop\n\t\tOther:\n\t\t\tTNT1 A 0 A_GiveInventory(\"D3DBool\", 1)\n\t\t\tD3D5 Y -1\n\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"D3DBool\", 1, \"DeathOther\")\n\t\t\tD3D5 X 350\n\t\tStop\n\t\tDeathOther:\n\t\t\tD3D5 Y 350\n\t\tStop\n\t}\n}\n\nActor DukinatorBlood {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 AAAA 0\n\t\t\tTNT1 A 1 A_SpawnItem(\"BulletPuff\")\n\t\t\tTNT1 A 0 A_Jump(256, \"1\", \"2\", \"3\")\n\t\t1:\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeShrapnel1\",0,0,0,frandom(-3.5,3.5),frandom(-3.5,3.5),random(5, 10),random(-180,180),32)\n\t\tStop\n\t\t2:\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeShrapnel2\",0,0,0,frandom(-3.5,3.5),frandom(-3.5,3.5),random(5, 10),random(-180,180),32)\n\t\tStop\n\t\t3:\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"DukeShrapnel3\",0,0,0,frandom(-3.5,3.5),frandom(-3.5,3.5),random(5, 10),random(-180,180),32)\n\t\tStop\n\t}\n}"
}
]
},
"maps": []
}