Raw model (for completeness)
{
"meta": {
"id": "0c7ba978-50b4-490a-a049-31924764f327",
"sha1": "1cc65dd0bf69bd2bbc5cc11055c580825dbd4fb5",
"sha256": "61f65cf3db769559436f9b046df62dfc975c5068053916ae03a6919bfc67aead",
"filenames": [
"endlessattack-mmsp-v1d.pk3"
],
"additional": {
"engines": [],
"iwad": [],
"filename": null,
"added": "2021/05/29 23:50:16",
"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": "2021/05/29 23:50:16",
"file": {
"type": "PK3",
"size": 3402654,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/1cc65dd0bf69bd2bbc5cc11055c580825dbd4fb5/1cc65dd0bf69bd2bbc5cc11055c580825dbd4fb5.pk3.gz",
"corrupt": false
},
"content": {
"maps": [
"CUTBOSS",
"EAHUB",
"HEABOSS",
"MMSPCUT1",
"MMSPCUT2",
"MMSPCUT3",
"MMSPHEA1",
"MMSPHEA2",
"MMSPHEA3",
"MMSPNEE1",
"MMSPNEE2",
"MMSPNEE3",
"MMSPTOA1",
"MMSPTOA2",
"MMSPTOA3",
"NEEBOSS",
"TOABOSS"
],
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 938,
"maps": 17,
"palettes": 0
}
},
"text_files": [
{
"source": "pk3",
"name": "actors/bosses/MMSP/cutman.txt",
"contents": "actor CutmanBoss : BasicBoss\n{\ntranslation \"192:192=4:4\", \"198:198=41:41\"\nObituary \"%o was cut to pieces by \\caCut Man\\c-.\"\n\nspeed 8\nStates\n{\nIntro:\nCUTM J 0\nCUTM J 0 A_TakeInventory(\"BossIntroFlag\", 1)\nCUTM J 0 A_ChangeFlag(\"CANTSEEK\", true)\nCUTM J 0 A_ChangeFlag(\"INVULNERABLE\", true)\nCUTM J 1 A_JumpIf(floorz-z==0,\"Intro2\")\nwait\nIntro2:\nCUTM AI 5\nloop\n\nSpawn:\nWODM A 0\nWODM A 0 A_ChangeFlag(\"CANTSEEK\", false)\nWODM A 0 A_ChangeFlag(\"INVULNERABLE\", false)\nWODM A 0 A_JumpIfInventory(\"HealthScaled\",1,\"Spawn2\")\nWODM K 0 ACS_NamedExecuteAlways(\"EA_BossManage\", 0)\nWODM A 0 A_JumpIfInventory(\"BossIntroFlag\", 1, \"Intro\")\nSpawn2:\nCUTM A 0 A_JumpIfInventory(\"SPBossFlag\",1,\"Spawn3\")\nTakeFlags:\nCUTM B 0 A_TakeInventory(\"SPBossFlag\",999)\nCUTM AI 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"Found\")\nloop\nFound:\nCUTM AIAIAIAIAIAIAIAI 5\nGoto See\nSee:\nCUTM B 0 A_TakeInventory(\"SPBossFlag\",999)\nCUTM B 0 A_JumpIfInventory(\"BossSuperAvailable50%\",1,\"SuperChance\")\nCUTM BBBBCCCC 1 A_Chase\nCUT2 B 0 A_Jump(30,\"Leap\")\nCUTM DDDDEEEE 1 A_Chase\nloop\nMelee:\nCUTM B 5 A_CustomMeleeAttack(20*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nGoto See\nLeap:\nCUTM B 0 A_TakeInventory(\"SPBossFlag\",999)\nCUT2 B 0 A_Recoil(-10)\nCUT2 B 0 A_FaceTarget\nCUT2 J 10 ThrustThingZ(0,90,0,0)\nGoto Leaping\nLeaping:\nCUTM J 2 A_Jump(25,\"Missile2\")\nCUTM J 0 A_JumpIf(floorz-z==0,\"See\")\nloop\nMissile:\nCUTM B 0 A_TakeInventory(\"SPBossFlag\",999)\nCUTM F 0 A_GiveInventory(\"SPBossFlag\",1)\nCUTM F 8 A_FaceTarget\nCUTM F 0 A_FaceTarget\nCUTM G 8 A_CustomMissile(\"RollingCutterSP\", 40,0,0,2)\nGoto See2\nMissile2:\nCUTM B 0 A_TakeInventory(\"SPBossFlag\",999)\nCUTM F 0 A_FaceTarget\nCUTM G 4 A_CustomMissile(\"RollingCutterSP\", 40,0,0,2)\nGoto Leaping2\n\nSpawn3:\nCUT2 AI 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See2\")\nCUT2 A 0 A_JumpIfInventory(\"SPBossFlag\",999,\"TakeFlags\")\nloop\nSee2:\nCUT2 B 0 A_GiveInventory(\"SPBossFlag\",5)\nCUT2 B 0 A_JumpIfInventory(\"SPBossFlag\",300,\"See\")\nCUT2 BBBB 1 A_Chase(\"Melee2\",\"\")\nCUT2 B 0 A_Jump(80,\"Leap2\")\nCUT2 B 0 A_JumpIfInventory(\"SPBossFlag\",300,\"See\")\nCUT2 CCCC 1 A_Chase(\"Melee2\",\"\")\nCUT2 B 0 A_JumpIfInventory(\"SPBossFlag\",300,\"See\")\nCUT2 DDDD 1 A_Chase(\"Melee2\",\"\")\nCUT2 B 0 A_JumpIfInventory(\"SPBossFlag\",300,\"See\")\nCUT2 EEEE 1 A_Chase(\"Melee2\",\"\")\nloop\nMelee2:\nCUT2 B 5 A_CustomMeleeAttack(20*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nGoto See2\nLeap2:\nCUT2 B 0 A_Recoil(-10)\nCUT2 B 0 A_FaceTarget\nCUT2 J 10 ThrustThingZ(0,90,0,0)\nGoto Leaping2\nLeaping2:\nCUTM J 2 A_JumpIf(floorz-z==0,\"See2\")\nCUT2 J 0 A_JumpIfInventory(\"SPBossFlag\",300,\"Leaping\")\nloop\n\nSuperChance:\nCUTM B 0 A_Jump(55,\"Super\")\nGoto See+2\nSuper:\nCUTM A 0 A_PlaySoundEx(\"enemy/bosssuper\",\"Voice\",0,1)\nCUTM A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nCUTM G 0 A_FaceTarget\nCUTM A 5 Thing_SetTranslation(0,62)\nCUTM I 5 Thing_SetTranslation(0,0)\nCUTM A 5 Thing_SetTranslation(0,62)\nCUTM I 5 Thing_SetTranslation(0,0)\nCUTM A 5 Thing_SetTranslation(0,62)\nCUTM I 5 Thing_SetTranslation(0,0)\nCUTM A 5 Thing_SetTranslation(0,62)\nCUTM I 5 Thing_SetTranslation(0,0)\nCUTM F 12 A_FaceTarget\nCUTM G 0 A_FaceTarget\nCUTM B 0 A_TakeInventory(\"SPBossFlag\",999)\nCUTM G 35 A_CustomMissile(\"GiantRollingCutter\",0,0,0,2)\nCUTM A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nGoto See3\nSee3:\nCUT2 B 0 A_GiveInventory(\"SPBossFlag\",5)\nCUT2 B 0 A_JumpIfInventory(\"SPBossFlag\",300,\"See\")\nCUT2 BBBB 1 A_Chase(\"Melee3\",\"\")\nCUT2 B 0 //A_Jump(80,\"Leap2\")\nCUT2 B 0 A_JumpIfInventory(\"SPBossFlag\",300,\"See\")\nCUT2 CCCC 1 A_Chase(\"Melee3\",\"\")\nCUT2 B 0 A_JumpIfInventory(\"SPBossFlag\",300,\"See\")\nCUT2 DDDD 1 A_Chase(\"Melee3\",\"\")\nCUT2 B 0 A_JumpIfInventory(\"SPBossFlag\",300,\"See\")\nCUT2 EEEE 1 A_Chase(\"Melee3\",\"\")\nloop\nMelee3:\nCUT2 B 5 A_CustomMeleeAttack(20*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nGoto See3\n}\n}\n\nactor GiantRollingCutter\n{\n+THRUGHOST\nPROJECTILE\nradius 16\nheight 16\nDamage (0)\nscale 2.5\n+RIPPER\nSpeed 32\ndamagetype \"Misc\"\nStates\n{\nSpawn:\nRCUT E 0\nRCUT E 0 Thing_ChangeTID(0,200)\nRCUT E 0 A_PlaySoundEX(\"enemy/giantcutter\",\"Voice\")\nRCUT E 0 A_Explode(70*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),64,0)\nRCUT EF 3 A_SpawnItemEx(\"GiantCutterFX\",-32,random(-16,16),10,random(-5,-10),random(-10,10),random(5,10),0)\nRCUT E 0 A_Explode(70*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),64,0)\nRCUT EF 3 A_SpawnItemEx(\"GiantCutterFX\",-32,random(-16,16),10,random(-5,-10),random(-10,10),random(5,10),0)\nloop\nDeath:\nRCUT E 0 Thing_ChangeTID(0,200)\nRCUT E 0 A_PlaySoundEX(\"enemy/giantcutter\",\"Voice\")\nRCUT E 0 A_Explode(20*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),64,0)\nRCUT EF 3 A_SpawnItemEx(\"GiantCutterFX\",-32,random(-16,16),10,random(-5,-10),random(-10,10),random(5,10),0)\nRCUT E 0 A_Explode(20*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),64,0)\nRCUT EF 3 A_SpawnItemEx(\"GiantCutterFX\",-32,random(-16,16),10,random(-5,-10),random(-10,10),random(5,10),0)\nRCUT E 0 A_GiveInventory(\"SPBossFlag\",1)\nRCUT E 0 A_JumpIfInventory(\"SPBossFlag\",6,\"Return\")\nloop\nReturn:\nRCUT E 0 A_ChangeFlag(\"NOCLIP\",1)\nRCUT E 0 A_ChangeFlag(\"NOINTERACTION\",1)\nGoto ReturnLoop\nReturnLoop:\nRCUT E 0 A_FaceTarget\nRCUT E 0 A_ChangeVelocity(15,0,0,CVF_REPLACE|CVF_RELATIVE)\nRCUT E 0 A_PlaySoundEX(\"enemy/giantcutter\",\"Voice\")\nRCUT E 0 A_JumpIfCloser(128,\"End\")\nRCUT E 0 A_Explode(70*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),64,0)\nRCUT EF 3 A_SpawnItemEx(\"GiantCutterFX\",-32,random(-16,16),10,random(-5,-10),random(-10,10),random(5,10),0)\nRCUT E 0 A_ChangeVelocity(15,0,0,CVF_REPLACE|CVF_RELATIVE)\nRCUT E 0 A_FaceTarget\nRCUT E 0 A_JumpIfCloser(64,\"End\")\nRCUT E 0 A_Explode(70*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),64,0)\nRCUT EF 3 A_SpawnItemEx(\"GiantCutterFX\",-32,random(-16,16),10,random(-5,-10),random(-10,10),random(5,10),0)\nloop\nEnd:\nCUTM A 0 A_PlaySoundEx(\"weapon/adapterreturn\",\"Voice\")\nRCUT E 0 A_GiveToTarget(\"SPBossFlag\",999)\nstop\n}\n}\n\nactor GiantCutterFX\n{\n+MISSILE\n-SOLID\n+RIPPER\ndamage 0\nheight 6\nradius 6\nscale 2.5\nStates\n{\nSpawn:\nRCUT G -1\nstop\n}\n}\n\nactor RollingCutterSP// : RollingCutter\n{\nPROJECTILE\nRadius 8\nHeight 8\nscale 2.5\ndamage (0)\n+DONTSPLASH\n+DOOMBOUNCE\n+THRUGHOST\n+RIPPER\n+DONTBLAST\n+NOTARGETSWITCH\n+SKYEXPLODE\nmeleerange 12\nreactiontime 48\n//+FLOAT\ndamagetype \"RollingCutter\"\nspeed 24\nFloatSpeed 16\nbouncefactor 1.0\nwallbouncefactor 1.0\nStates\n{\nSpawn:\nRCUT A 0\nRCUT A 0 A_PlaySound(\"weapon/rollingcutter\")\nRCUT A 0 //A_JumpIfInTargetInventory(\"SPBossFlag\",999,\"Death\")\nRCUT AAAA 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT BBBB 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT CCCC 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT DDDD 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT A 0 A_PlaySound(\"weapon/rollingcutter\")\nRCUT A 0 //A_JumpIfInTargetInventory(\"SPBossFlag\",999,\"Death\")\nRCUT AAAA 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT BBBB 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT A 0 A_CustomMissile(\"ReturningCutterBoss\",0,0,0,0)\nstop\nDeath:\nRCUT A 0 A_GiveToTarget(\"SPBossFlag\",999)\nstop\n}\n}\n\nactor ReturningCutterBoss : RollingCutterSP\n{\nradius 0\nheight 0\nspeed 24\ndamagetype \"RollingCutter\"\ndamage 0\n+DONTSPLASH\n+NOINTERACTION\nStates\n{\nSpawn:\nRCUT A 0\nRCUT A 0 A_FaceTarget\nRCUT A 0 A_JumpIfCloser(60,\"Death\")\nRCUT CCCC 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT A 0 //A_JumpIfInTargetInventory(\"SPBossFlag\",999,\"Death\")\nRCUT A 0 A_FaceTarget\nRCUT A 0 A_JumpIfCloser(60,\"Death\")\nRCUT DDDD 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT A 0 A_Countdown\nRCUT A 0 //A_JumpIfInTargetInventory(\"SPBossFlag\",999,\"Death\")\nRCUT A 0 A_FaceTarget\nRCUT A 0 A_JumpIfCloser(60,\"Death\")\nRCUT A 0 A_PlaySound(\"weapon/rollingcutter\")\nRCUT AAAA 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT A 0 //A_JumpIfInTargetInventory(\"SPBossFlag\",999,\"Death\")\nRCUT A 0 A_FaceTarget\nRCUT A 0 A_JumpIfCloser(60,\"Death\")\nRCUT BBBB 1 A_SpawnItemEx(\"RollingCutterDamager2\",0,0,0,2,0,0)\nRCUT A 0// A_JumpIfInTargetInventory(\"SPBossFlag\",999,\"Death\")\nRCUT A 0 A_CustomMissile(\"ReturningCutterBoss\",0,0,0,0)\nstop\nDeath:\nRCUT A 0 A_GiveToTarget(\"SPBossFlag\",999)\nstop\n}\n}\n\nactor RollingCutterDamager2\n{\nPROJECTILE\ndamagetype \"RollingCutter\"\n+RIPPER\n+DONTBLAST\ndamage (8*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nradius 16\nheight 16\nStates\n{\nSpawn:\nTNT1 A 2\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/bosses/MMSP/heatman.txt",
"contents": "actor HeatmanBoss : BasicBoss\n{\ntranslation \"192:192=229:229\", \"198:198=41:41\"\nObituary \"%o was melted by \\ckHeat Man\\c-.\"\n\nMeleeRange 100\nspeed 0\nStates\n{\nIntro:\nHEAM K 0\nHEAM K 0 A_TakeInventory(\"BossIntroFlag\", 1)\nHEAM K 0 A_ChangeFlag(\"CANTSEEK\", true)\nHEAM K 0 A_ChangeFlag(\"INVULNERABLE\", true)\nHEAM K 1 A_JumpIf(floorz-z==0,\"Intro2\")\nwait\nIntro2:\nHEAM I 7\nHEAM J 5\nHEAM LMLMLMLMLMLMLM 2\nHEAM A 5\nwait\nSpawn:\nHEAM K 0\nHEAM K 0 A_ChangeFlag(\"CANTSEEK\", false)\nHEAM K 0 A_ChangeFlag(\"INVULNERABLE\", false)\nHEAM K 0 A_JumpIfInventory(\"HealthScaled\",1,\"Spawn2\")\nHEAM K 0 ACS_NamedExecuteAlways(\"EA_BossManage\", 0)\nHEAM K 0 A_JumpIfInventory(\"BossIntroFlag\", 1, \"Intro\")\nSpawn2:\nHEAM K 0 A_ClearTarget\nHEAM A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nHEAM A 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"Found\")\nGoto Spawn2+2\nFound:\nHEAM A 20\nGoto See\nSee:\nHEAM A 10 A_FaceTarget\nHEAM A 15 A_TakeInventory(\"CutterFlag\",9999)\nGoto Attack1\n\nAttack1:\nHEAM G 0 //A_ChangeFlag(\"SOLID\",1)\nHEAM F 5 A_FaceTarget\nHEAM GG 0 A_SpawnItemEx(\"HeatmanFlamePillarProjectile\",0,0,20,10,0,random(6,25),random(-60,5))\nHEAM GG 0 A_SpawnItemEx(\"HeatmanFlamePillarProjectile\",0,0,20,10,0,random(6,25),random(5,60))\nHEAM G 0// A_SpawnItemEx(\"HeatmanFlamePillarProjectile\",0,0,20,10,0,random(6,25),0)\nHEAM G 10\nHEAM A 5\nHEAM A 0 A_JumpIfInventory(\"AtomicFireAmmo\",1,\"SuperReady\")\nHEAM A 0 A_JumpIfInventory(\"BossSuperAvailable50%\",1,\"Super\")\nGoto Attack2\n\nSuperReady:\nHEAM A 0 A_TakeInventory(\"AtomicFireAmmo\",1)\nGoto Attack2\n\nAttack2:\nHEAM I 7\nHEAM G 0 A_ChangeFlag(\"NOBLOOD\",1)\nHEAM G 0 //A_ChangeFlag(\"SOLID\",0)\nHEAM G 0 A_ChangeFlag(\"INVULNERABLE\",1)\nHEAM LMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLM 1 A_SpawnItemEx(\"HeatmanRadius\")\nHEAM A 0 A_FaceTarget\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",0,0,0)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",0,32,32)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",0,-32,-32)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",0,32,-32)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",0,-32,32)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",0,0,64)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",0,64,0)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",0,-64,0)\nTNT1 A 3 A_SpawnItemEx(\"HeatmanDashFX\",0,0,-64)\nHEAM A 0 A_FaceTarget\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",32,0,0)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",32,-32,0)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",32,32,-0)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashFX\",32,0,32)\nTNT1 A 6 A_SpawnItemEx(\"HeatmanDashFX\",32,0,-32)\nHEAM A 0 A_FaceTarget\nHEAM A 0 A_PlaySoundEx(\"weapon/atomicfire\",\"Voice\",0,1)\nGoto Dash\n\nDash:\nHEAM P 0 A_LookEx(LOF_NOSOUNDCHECK,0,80,0,360,\"DashEnd\")\nHEAM A 0 A_FaceTarget\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nHEAM A 0 A_GiveInventory(\"CutterFlag\",1)\nHEAM A 0 A_JumpIfInventory(\"CutterFlag\",18,\"DashEnd\")\nTNT1 A 1 A_Recoil(-45)\nloop\n\nDashEnd:\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nTNT1 A 1 A_Recoil(-45)\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nTNT1 A 1 A_Recoil(-45)\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nTNT1 A 1 A_Recoil(-45)\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nTNT1 A 1 A_Recoil(-45)\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nTNT1 A 1 A_Recoil(-45)\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nTNT1 A 1 A_Recoil(-45)\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nTNT1 A 1 A_Recoil(-45)\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nTNT1 A 1 A_Recoil(-45)\nHEAM P 0 A_Stop\nHEAM A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nHEAM A 0 A_ChangeFlag(\"NOBLOOD\",0)\nHEAM A 10\nGoto Spawn2\n\nDash2:\nHEAM P 0 A_LookEx(LOF_NOSOUNDCHECK,0,80,0,360,\"DashEnd\")\nHEAM A 0 A_Stop\nHEAM A 0 A_SpawnItemEx(\"HeatmanFlamePillarSuper\",0,0,0,0)\nHEAM A 0 A_SpawnItemEx(\"HeatmanDashDamager\",0,0,0,50)\nHEAM A 0 A_GiveInventory(\"CutterFlag\",1)\nHEAM A 0 A_JumpIfInventory(\"CutterFlag\",18,\"DashEnd\")\nTNT1 A 1 A_Recoil(-35)\nloop\n\nDeath:\nHEAM A 0 Thing_Remove(888)\ngoto Super::Death\n\nSuper:\nHEAM A 0 A_GiveInventory(\"AtomicFireAmmo\",1)\nHEAM A 0 A_PlaySoundEx(\"enemy/bosssuper\",\"Voice\",0,1)\nHEAM G 0 A_ChangeFlag(\"NOBLOOD\",1)\nHEAM G 0 //A_ChangeFlag(\"SOLID\",0)\nHEAM G 0 A_ChangeFlag(\"INVULNERABLE\",1)\nHEAM G 0 A_FaceTarget\nHEAM A 4 Thing_SetTranslation(0,62)\nHEAM A 4 Thing_SetTranslation(0,0)\nHEAM A 4 Thing_SetTranslation(0,62)\nHEAM A 4 Thing_SetTranslation(0,0)\nHEAM LMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLM 1 A_SpawnItemEx(\"HeatmanRadius\")\nHEAM A 0 A_PlaySoundEx(\"weapon/atomicfire\",\"Voice\",0,1)\nGoto Dash2\n}\n}\n\nactor HeatmanFlamePillarProjectile\n{\nPROJECTILE\nDamage (3*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\n+RIPPER\n-NOGRAVITY\ndamagetype \"Enemy\"\nRadius 16\nHeight 16\nscale 2.5\nspeed 10\nstates\n{\nSpawn:\nHEAM RST 3\nloop\nDeath:\nHEAM A 0 A_PlaySoundEx(\"weapon/pharaoh2\",\"Body\")\nTNT1 A 0 A_SpawnItemEx(\"HeatmanFlamePillar\")\nstop\n}\n}\n\nactor HeatmanFlamePillar\n{\nPROJECTILE\nDamage (1*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\n+FLOORHUGGER\n+RIPPER\ndamagetype \"Misc\"\nRadius 16\nHeight 64\nscale 2.5\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,888)\nHEAM RSTRSTRSTRSTRSTRSTRSTRSTRSTRSTRSTRST 3 A_SpawnItemEx(\"HeatmanFlamePillarFX\",0,0,0,0,0,5)\nstop\n}\n}\n\nactor HeatmanFlamePillarFX\n{\n+NOGRAVITY\n-SOLID\n+NOINTERACTION\nRadius 4\nHeight 4\nscale 2.5\nStates\n{\nSpawn:\nHEAM RSTRSTRS 3\nstop\n}\n}\n\nactor HeatmanDashDamager\n{\nPROJECTILE\nDamage (5*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nRadius 48\nHeight 32\nscale 2.5\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_SpawnItemEx(\"HeatmanDashFX\",0,0,0)\nstop\n}\n}\n\nactor HeatmanDashFX\n{\n+NOGRAVITY\n-SOLID\n+NOINTERACTION\nRadius 4\nHeight 4\nscale 2.5\nStates\n{\nSpawn:\nHEAM NOP 3\nstop\n}\n}\n\nactor HeatmanRadius\n{\n+MISSILE\ndamagetype \"Enemy\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_Explode(5*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),100,0)\nstop\n}\n}\n\nactor HeatmanFlamePillarSuper\n{\nPROJECTILE\nDamage (1*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\n+FLOORHUGGER\n+RIPPER\ndamagetype \"Misc\"\nRadius 16\nHeight 64\nscale 2.5\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 Thing_ChangeTID(0,888)\nHEAM UVWXYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZXWVU 4\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/bosses/MMSP/needleman.txt",
"contents": "actor NeedlemanBoss : BasicBoss\n{\nObituary \"%o was pricked by \\chNeedle Man\\c-.\"\n\nspeed 0\nStates\n{\nIntro:\nNEED K 0\nNEED K 0 A_TakeInventory(\"BossIntroFlag\", 1)\nNEED K 0 A_ChangeFlag(\"CANTSEEK\", true)\nNEED K 0 A_ChangeFlag(\"INVULNERABLE\", true)\nNEED K 1 A_JumpIf(floorz-z==0,\"Intro2\")\nwait\nIntro2:\nNEED A 5\nNEED I 5\nwait\n\nSpawn:\nNEED K 0\nNEED K 0 A_ChangeFlag(\"CANTSEEK\", false)\nNEED K 0 A_ChangeFlag(\"INVULNERABLE\", false)\nNEED K 0 A_JumpIfInventory(\"HealthScaled\",1,\"Spawn2\")\nNEED K 0 ACS_NamedExecuteAlways(\"EA_BossManage\", 0)\nNEED K 0 A_JumpIfInventory(\"BossIntroFlag\", 1, \"Intro\")\nSpawn2:\nNEED K 0 A_ClearTarget\nNEED A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nNEED A 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"Found\")\nGoto Spawn2+2\nFound:\nNEED A 20\nGoto See\nSee:\nNEED A 10 A_FaceTarget\nNEED K 15 A_ChangeVelocity(0.0,0.0,19.0,CVF_REPLACE|CVF_RELATIVE)\nGoto Attack1\nSuperChance:\nNEED A 0 A_Jump(200,\"Super\")\nGoto See\n\nAttack1:\nNEED K 1\nCUTM J 0 A_JumpIf(floorz-z==0,\"Land\")\nNEED K 1\nNEED A 0 A_Jump(80,\"Missile\")\nNEED K 1\nloop\nMissile:\nNEED K 1\nNEED A 0 A_ChangeVelocity(0.0,0.0,0.0,CVF_REPLACE|CVF_RELATIVE)\nNEED A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nNEED K 1 A_FaceTarget\nNEED K 0 A_PlaySoundEx(\"enemy/needlemanfire\",\"Voice\")\nNEED J 4 A_CustomMissile(\"NeedlemanNeedle\",40,-28,random(-2,2))\nNEED K 4 A_FaceTarget\nNEED K 0 A_PlaySoundEx(\"enemy/needlemanfire\",\"Voice\")\nNEED L 4 A_CustomMissile(\"NeedlemanNeedle\",40,28,random(-2,2))\nNEED K 4 A_FaceTarget\nNEED K 12 A_ChangeFlag(\"NOGRAVITY\",0)\nGoto Attack1\n\nLand:\nNEED A 1\nNEED A 3 A_ChangeVelocity(0.0,0.0,0.0,CVF_REPLACE|CVF_RELATIVE)\nNEED A 1\nNEED AAAA 2 A_LookEx(LOF_NOSOUNDCHECK,0,190,0,360,\"Stab\")\nGoto Leap\nLand2:\nNEED A 1\nNEED A 3 A_ChangeVelocity(0.0,0.0,0.0,CVF_REPLACE|CVF_RELATIVE)\nNEED A 1\nNEED AAAA 2 A_LookEx(LOF_NOSOUNDCHECK,0,190,0,360,\"Stab2\")\nNEED A 0 A_JumpIfInventory(\"BossSuperAvailable50%\",1,\"SuperChance\")\nGoto Spawn2\nStab:\nNEED P 5 A_FaceTarget\nNEED P 0 A_PlaySoundEx(\"weapon/slashclaw\",\"Voice\")\nNEED O 5 A_CustomBulletAttack(0,0,1,15*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),\"NoPuff\",250)\nNEED P 5 A_FaceTarget\nNEED A 15\nGoto Leap\nStab2:\nNEED P 5 A_FaceTarget\nNEED P 0 A_PlaySoundEx(\"weapon/slashclaw\",\"Voice\")\nNEED O 5 A_CustomBulletAttack(0,0,1,15*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),\"NoPuff\",250)\nNEED P 5 A_FaceTarget\nNEED A 15\nGoto See\n\nLeap:\nNEED K 1 A_FaceTarget\nNEED A 1 //A_SetAngle(angle + random(-32,32))\nNEED A 0 A_ChangeVelocity(17.0,0.0,15.0,CVF_REPLACE|CVF_RELATIVE)\nNEED K 8\nGoto Leaping\nMelee:\nNEED K 5 A_SpawnItemEx(\"NeedlemanMelee\")//A_CustomMeleeAttack(20)\nGoto Leaping\n\nLeaping:\nNEED K 1 A_JumpIf(floorz-z==0,\"Land2\")\nloop\nLeaping2:\nNEED K 1 A_JumpIf(floorz-z==0,\"Spawn\")\nloop\n\nSuper:\nNEED A 0 A_PlaySoundEx(\"enemy/bosssuper\",\"Voice\",0,1)\nNEED A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nNEED G 0 A_FaceTarget\nNEED A 4 Thing_SetTranslation(0,62)\nNEED A 4 Thing_SetTranslation(0,0)\nNEED A 4 Thing_SetTranslation(0,62)\nNEED A 4 Thing_SetTranslation(0,0)\nNEED A 0 A_FaceTarget\nNEED K 10 A_ChangeVelocity(0.0,0.0,19.0,CVF_REPLACE|CVF_RELATIVE)\nNEED K 0 A_ChangeFlag(\"NOGRAVITY\",1)\nNEED M 10 A_ChangeVelocity(0.0,0.0,0.0,CVF_REPLACE|CVF_RELATIVE)\nGoto Spin\nSpin:\nNEED Q 0 A_JumpIfInventory(\"CutterFlag\",30,\"Finish\")\nNEED Q 0 A_PlaySoundEx(\"enemy/needlemanfire\",\"Auto\")\nNEED QQ 0 A_SpawnItemEx(\"NeedlemanNeedle2\",0,0,32,14,0,random(-3,-6),random(0,360))\nNEED Q 1\nNEED Q 0 //A_PlaySoundEx(\"enemy/needlemanfire\",\"Voice\")\nNEED QQ 0 A_SpawnItemEx(\"NeedlemanNeedle2\",0,0,32,14,0,random(-3,-6),random(0,360))\nNEED Q 1\nNEED R 0 //A_PlaySoundEx(\"enemy/needlemanfire\",\"Voice\"\nNEED QR 0 A_SpawnItemEx(\"NeedlemanNeedle2\",0,0,32,14,0,random(-3,-6),random(0,360))\nNEED R 1\nNEED R 0 //A_PlaySoundEx(\"enemy/needlemanfire\",\"Voice\")\nNEED QR 0 A_SpawnItemEx(\"NeedlemanNeedle2\",0,0,32,14,0,random(-3,-6),random(0,360))\nNEED R 1\nNEED Q 0 A_GiveInventory(\"CutterFlag\",1)\nloop\nFinish:\nNEED M 16 A_ChangeVelocity(0.0,0.0,0.0,CVF_REPLACE|CVF_RELATIVE)\nNEED K 0 A_ChangeFlag(\"NOGRAVITY\",0)\nNEED M 0 A_TakeInventory(\"CutterFlag\",999)\nNEED M 0 A_ChangeFlag(\"INVULNERABLE\",0)\nGoto Leaping2\n}\n}\n\nactor NoPuff\n{\n-SOLID\n+NOINTERACTION\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n}\n}\n\nactor NeedlemanNeedle\n{\nPROJECTILE\n+RIPPER\ndamage (8*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nscale 2.5\ntranslation \"13:246=4:4\"\ndamagetype \"Enemy\"\nHeight 8\nRadius 8\nSpeed 42\nStates\n{\nSpawn:\nNHAR F 2\nloop\n}\n}\n\nactor NeedlemanMelee\n{\n+MISSILE\ndamage (0)\nscale 2.5\ndamagetype \"Enemy\"\nHeight 8\nRadius 8\nrenderstyle none\nStates\n{\nSpawn:\nNHAR A 2\nNHAR A 2 A_Explode(130*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),300,0)\nstop\n}\n}\n\nactor NeedlemanNeedle2 : NeedlemanNeedle\n{\ndamage(6*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\n}"
},
{
"source": "pk3",
"name": "actors/bosses/MMSP/toadman.txt",
"contents": "actor ToadmanBoss : BasicBoss\n{\ntranslation \"192:192=215:215\", \"198:198=104:104\"\nHitObituary \"%o was crushed by \\cdToad Man\\c-.\"\nObituary \"%o was eroded by \\cdToad Man\\c-.\"\n\npainchance 240\nMeleeRange 52\nspeed 0\nStates\n{\nIntro:\nTOAD C 0\nTOAD C 0 A_TakeInventory(\"BossIntroFlag\", 1)\nTOAD C 0 A_ChangeFlag(\"CANTSEEK\", true)\nTOAD C 0 A_ChangeFlag(\"INVULNERABLE\", true)\nTOAD C 1 A_JumpIf(floorz-z==0,\"Intro2\")\nwait\nIntro2:\nTOAD B 5\nTOAD I 5\nwait\n\nSpawn:\nTOAD C 0\nTOAD C 0 A_ChangeFlag(\"CANTSEEK\", false)\nTOAD C 0 A_ChangeFlag(\"INVULNERABLE\", false)\nTOAD C 0 A_JumpIfInventory(\"HealthScaled\",1,\"Spawn2\")\nTOAD C 0 ACS_NamedExecuteAlways(\"EA_BossManage\", 0)\nTOAD C 0 A_JumpIfInventory(\"BossIntroFlag\", 1, \"Intro\")\nSpawn2:\nTOAD A 0 A_ClearTarget\nTOAD A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nTOAD A 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"Found\")\nGoto Spawn2+2\nFound:\nTOAD A 20 A_Chase\nGoto See\nSee:\nTOAD A 10 A_FaceTarget\nGoto Attack1\n\nPain:\nTOAD B 12 A_ChangeFlag(\"NOPAIN\",1)\nTOAD B 1 A_JumpIfInventory(\"CutterFlag\",1,\"Hide\")\nTOAD B 1 A_JumpIfInventory(\"BossSuperAvailable25%\",1,\"Super\")\nGoto Leap\n\nAttack1:\nTOAD F 0 A_ChangeFlag(\"NOPAIN\",0)\nTOAD F 0 A_FaceTarget\nTOAD EJFGFG 5\nTOAD F 0 A_CustomMissile(\"ToadmanRainFlush\",42,0,0)\nTOAD F 0 A_ChangeFlag(\"NOPAIN\",1)\nTOAD JFGFG 5\nTOAD A 10\nTOAD A 1 A_JumpIfInventory(\"CutterFlag\",1,\"Hide\")\nGoto Leap\n\nLand:\nTOAD B 0 A_SpawnItemEx(\"ToadmanLand\",0,0,32)\nTOAD B 1 A_JumpIfInventory(\"CutterFlag\",1,\"Hide\")\nTOAD B 4 A_ChangeVelocity(0.0,0.0,0.0,CVF_REPLACE|CVF_RELATIVE)\nTOAD A 10\nGoto Attack1\n\nLeap:\nTOAD B 0 A_SpawnItemEx(\"ToadmanLand\",0,0,32)\nTOAD B 1 A_FaceTarget\nTOAD B 1 //A_SetAngle(angle + random(-32,32))\nTOAD C 10 A_ChangeVelocity(17.0,0.0,15.0,CVF_REPLACE|CVF_RELATIVE)\nGoto Leaping\nMelee:\nTOAD C 5 //A_CustomMeleeAttack(20)\nGoto Leaping\n\nLeaping:\nTOAD C 1 A_JumpIf(floorz-z==0,\"Land\")\nloop\n\nSuper:\nTOAD A 0 A_PlaySoundEx(\"enemy/bosssuper\",\"Voice\",0,1)\nTOAD A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nTOAD A 0 A_FaceTarget\nTOAD A 4 Thing_SetTranslation(0,62)\nTOAD A 4 Thing_SetTranslation(0,0)\nTOAD A 4 Thing_SetTranslation(0,62)\nTOAD A 4 Thing_SetTranslation(0,0)\nTOAD A 10 A_FaceTarget\nTOAD F 15 A_GiveInventory(\"CutterFlag\",1)\nTOAD B 30 ACS_Execute(14,0,1)// earthquake\nTOAD F 10\nTOAD B 10 ACS_Execute(14,0,1)\nTOAD F 10\nTOAD B 100 ACS_Execute(14,0,2)\nGoto Hide\n\nHide:\nTNT1 A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nTNT1 A 0 //A_ChangeFlag(\"SOLID\",0)\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",0)\nTNT1 A 0 A_SpawnItemEx(\"ToadSplash\",0,0,32)\nTNT1 A 10\nGoto SpawnHidden\n\nStalk:\nTNT1 A 45 ACS_Execute(14,0,3)\nStalking:\nTNT1 A 10\nTNT1 A 1 A_Jump(32,\"WaterLeap\")\nTNT1 A 1 A_Jump(64,\"WaterAttack\")\nGoto Stalking\n\nWaterLeap:\nTOAD A 0 A_Stop\nTOAD A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nTOAD A 0 //A_ChangeFlag(\"SOLID\",1)\nTOAD A 0 A_ChangeFlag(\"SHOOTABLE\",1)\nTOAD A 0 A_SpawnItemEx(\"ToadSplash\",0,0,32)\nGoto Leap+1\nWaterAttack:\nTOAD A 0 A_Stop\nTOAD A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nTOAD A 0 //A_ChangeFlag(\"SOLID\",1)\nTOAD A 0 A_ChangeFlag(\"SHOOTABLE\",1)\nTOAD A 0 A_SpawnItemEx(\"ToadSplash\",0,0,32)\nTOAD BA 6\nGoto Attack1\n\nSpawnHidden:\nTNT1 A 0 A_ClearTarget\nTNT1 A 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"Stalk\")\nGoto SpawnHidden+1\n}\n}\n\nactor ToadSplash\n{\n+NOINTERACTION\nHeight 1\nRadius 1\n+NOGRAVITY\nscale 2.5\n-SOLID\nStates\n{\nSpawn:\nDOLP B 5\nDOLP C 5 A_PlaySoundEx(\"misc/splash\",\"Voice\")\nDOLP DE 5\nstop\n}\n}\n\nactor ToadmanLand\n{\nPROJECTILE\nObituary \"%o was crushed by \\cdToad Man\\c-.\"\nradius 1\nheight 1\ndamagetype \"Enemy\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(50*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),130,0)\nstop\n}\n}\n\nactor ToadmanRainFlush\n{\ndamagetype \"RainFlush\"\n+NOGRAVITY\n+MISSILE\n+SKYEXPLODE\n+NOINTERACTION\nheight 1\nradius 1\n-SOLID\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 Thing_Move(0, 2, 1)\nTNT1 A 0 A_PlaySoundEx(\"weapon/rainflush\",\"Voice\")\nTNT1 A 0 A_Explode(47*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),512,0)\n\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 0 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nTNT1 A 1 A_SpawnItemEx(\"RainSprinkleToad\", random(-384,384), random(-384,384), 256, -30, 0, -30, 90, SXF_CLIENTSIDE)\nstop\n}\n}\n\nactor RainSprinkleToad\n{\n+CLIENTSIDEONLY\n+NOINTERACTION\n- SOLID\n+NOGRAVITY\ntranslation \"72:72=215:215\"\nheight 0\nradius 0\nScale 2.5\nStates\n{\nSpawn:\nCRAI D 30\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/bosses/SPBosses.txt",
"contents": "actor BasicBoss\n{\nScale 2.5\n\nHeight 52\nRadius 48\nHealth 1350\n\ndamagefactor \"Enemy\", 0.0\ndamagefactor \"Normal\", 1.0\n\ndamagetype \"Enemy\"\nspecies \"Enemy\"\n\nMeleeRange 64\nmaxstepheight 50\n+DROPOFF\nMONSTER\n-SOLID\n-CANPASS\n+LOOKALLAROUND\n+SLIDESONWALLS\nmass 99999999\npainchance 256\n+THRUGHOST\npainsound \"misc/devilpain\"\n\nspeed 0\nStates\n{\nDeath:\nTNT1 A 0 Thing_Remove(200)\nTNT1 A 0 A_PlaySoundEx(\"misc/devildeath\",\"Voice\",0,1)\nTNT1 A 0 A_FaceTarget\nTNT1 A 0 A_Fall\nTNT1 A 0 ACS_NamedExecuteAlways(\"EA_ShowDefeat\",0)\nTNT1 A 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nTNT1 A 5\nstop\n}\n}\n\nactor BossIntroFlag : Once {}\n\nactor BossSuperAvailable25% : Once {}\nactor BossSuperAvailable50% : Once {}\n\nactor SPBossFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 999\n}\n\n#include \"actors/bosses/MMSP/cutman.txt\"\n#include \"actors/bosses/MMSP/needleman.txt\"\n#include \"actors/bosses/MMSP/heatman.txt\"\n#include \"actors/bosses/MMSP/toadman.txt\""
},
{
"source": "pk3",
"name": "actors/enemies/2ndCoop/FlamethrowerJoe.txt",
"contents": "actor FlamethrowerJoe : GenericRobot 30039\n{\n//$Category MM8BDM-Enemies\nHeight 52\nRadius 32\nObituary \"%o was burnt to crisps by a Flamethrower Joe.\"\nHealth 95\n\ntranslation \"192:192=4:4\", \"198:198=227:227\"\n\nmaxstepheight 50\n+MISSILEEVENMORE\n+MISSILEMORE\n+LOOKALLAROUND\n\ndropitem \"WeaponEnergy\", 16\ndropitem \"SmallHealth\", 16\nspeed 8\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nSNIP A 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nloop\nSee:\nSNIP B 1\nSNIP B 1 A_JumpIf(Args[0]==1, \"See2\")\nSNIP B 1 //A_JumpIfTargetInLOS(\"ShieldUp\") // THIS FUNCTION IS BUGGED ONLINE ARGH!\nSNIP BBBB 1 A_Chase\nSNIP A 0// A_JumpIfTargetInLOS(\"ShieldUp\")\nSNIP CCCC 1 A_Chase\nSNIP A 0 //A_JumpIfTargetInLOS(\"ShieldUp\")\nSNIP DDDD 1 A_Chase\nSNIP A 0 //A_JumpIfTargetInLOS(\"ShieldUp\")\nSNIP EEEE 1 A_Chase\nGoto See+3\nSee2:\nSNIP A 1 //A_JumpIfTargetInLOS(\"ShieldUp\")\nGoto Missile\nShieldUp:\nMissile:\nTNT1 A 0 A_SpawnItemEx(\"SP_SniperJoeShieldX\",23,-17,8,momx, momy, momz, 0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEMOMENTUM, 0)\nTNT1 A 0 A_SpawnItemEx(\"SP_SniperJoeShieldFX\",23,-17,8,momx, momy, momz, 0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION, 0)\nSNIP A 2 A_FaceTarget\nTNT1 A 0 A_GiveInventory(\"CutterFlag\",1)\nTNT1 A 0 A_JumpIfInventory(\"CutterFlag\",30,\"ReadyFire\")\nloop\nReadyFire:\nTNT1 A 0 A_TakeInventory(\"CutterFlag\",999)\nTNT1 A 0 A_SpawnItemEx(\"SP_SniperJoeShieldX\",23,-17,8,momx, momy, momz, 0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEMOMENTUM, 0)\nTNT1 A 0 A_SpawnItemEx(\"SP_SniperJoeShieldFX\",23,-17,8,momx, momy, momz, 0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION, 0)\nSNIP A 2 A_FaceTarget\nSNIP A 0 A_JumpIfCloser(512,\"ShieldFire\")\nGoto ReadyFire\n\nShieldFire:\nSNIP FFFFF 5 A_FaceTarget\nSNIP F 0 A_FaceTarget\nSNIP F 0 A_PlaySoundEx(\"weapon/magmabazooka\",\"Weapon\")\nSNIP F 0 A_PlaySoundEx(\"weapon/heatshot\",\"SoundSlot6\")\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 0 A_FaceTarget\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 0 A_FaceTarget\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 0 A_FaceTarget\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 0 A_FaceTarget\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 0 A_FaceTarget\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 0 A_FaceTarget\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 0 A_FaceTarget\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 0 A_FaceTarget\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 0 A_FaceTarget\nSNIP F 2 A_CustomMissile(\"JoeFlamethrower\",12,6,frandom(-3,3),0,frandom(-3,3))\nSNIP F 15\nSNIP F 1 A_JumpIf(Args[0]==0, \"See\")\nSNIP A 0 A_ClearTarget\nGoto Look\n\nDeath:\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nTNT1 A 5 A_SpawnItem(\"EnemyDeathFX\",0,32)\nTNT1 A -1\nstop\n}\n}\n\nactor JoeFlamethrower\n{\nPROJECTILE\n+BRIGHT\nDamage (3*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nSpeed 30\nObituary \"%o was burnt to crisps by a Flamethrower Joe.\"\ndamagetype \"Enemy\"\nRadius 20\nHeight 20\nreactiontime 1\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nSpawnLoop:\nXE01 ABC 2 A_SpawnItemEx(\"JoeFlamethrowerFX\",0,0,0,0,0,0,0,1)\nXE01 DEF 2 A_SpawnItemEx(\"JoeFlamethrowerFX2\",0,0,0,0,0,0,0,1)\nXE01 F 1 A_Countdown\nwait\nDeath:\nTNT1 A 1 A_SpawnItemEx(\"OilPitIgnite\",0,0,8)\nstop\n}\n}\n\nactor JoeFlamethrowerFX : BasicGraphicEffect\n{\n+BRIGHT\nrenderstyle add\nAlpha 0.8\nstates\n{\nSpawn:\nXE01 A 0\nXE01 BCD 1 A_FadeOut(0.2)\nstop\n}\n}\n\nactor JoeFlamethrowerFX2 : BasicGraphicEffect\n{\n+BRIGHT\nrenderstyle add\nAlpha 0.8\nstates\n{\nSpawn:\nXE01 A 0\nXE01 EFG 1 A_FadeOut(0.2)\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/ApacheJoe.txt",
"contents": "actor ApacheJoe : GenericRobot 30034\n{\n//$Category MM8BDM-Enemies\nHeight 110\nRadius 48\nHealth 120\nscale 2.5\ndamagetype \"Enemy\"\nObituary \"%o was gunned down by an Apache Joe.\"\ntranslation \"192:192=58:58\", \"198:198=225:225\"\nMONSTER\n+FLOAT\n\n+NOGRAVITY\n+LOOKALLAROUND\n//dropitem \"BigWeaponEnergy\", 16\n//dropitem \"BigHealth\", 16\ndropitem \"WeaponEnergy\", 32\ndropitem \"SmallHealth\", 32\nmass 99999999\npainchance 256\npainsound \"misc/devilpain\"\nspeed 12\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nAPAC BC 4 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nloop\nSee:\nBLAD A 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BBBBCCCC 1 A_Chase\nloop\nMissile:\nAPAC B 1 A_ChangeFlag(\"FLOAT\",0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC B 0 A_FaceTarget\nAPAC B 0 A_Recoil(-12)\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_CustomMissile(\"ApacheJoeShot\",18,0,0,0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_CustomMissile(\"ApacheJoeShot\",18,0,0,0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_CustomMissile(\"ApacheJoeShot\",18,0,0,0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_CustomMissile(\"ApacheJoeShot\",18,0,0,0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_CustomMissile(\"ApacheJoeShot\",18,0,0,0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_CustomMissile(\"ApacheJoeShot\",18,0,0,0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_CustomMissile(\"ApacheJoeShot\",18,0,0,0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_CustomMissile(\"ApacheJoeShot\",18,0,0,0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_CustomMissile(\"ApacheJoeShot\",18,0,0,0)\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_FaceTarget\nAPAC B 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nAPAC BC 4 A_ChangeFlag(\"FLOAT\",1)\nAPAC B 1 A_Stop\nGoto See\nDeath:\nCRAZ A 0 A_SpawnItem(\"BigEnemyExplode\",0,32)\nBLAD A 0 A_Pain\nBLAD A 0 A_Fall\nBLAD A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nMMFX BCDE 3\nstop\n}\n}\n\nactor ApacheJoeShot : FastProjectile\n{\nPROJECTILE\ntranslation \"214:215=208:208\"\ndamagetype \"Enemy\"\nseesound \"weapon/pshot\"\nSpeed 50\nDamage (10*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nradius 8\nheight 8\nscale 2.5\nStates\n{\nSpawn:\nAPAC D -1\nloop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/Beak.txt",
"contents": "actor BeakEnemy : GenericRobot 30008\n{\n//$Category MM8BDM-Enemies\nHeight 40\nRadius 16\nHealth 15\ndamagetype \"Enemy\"\nObituary \"%o was shot by a Beak.\"\n+NOGRAVITY\n+INVULNERABLE\n//dropitem \"BigWeaponEnergy\", 32\n//dropitem \"BigHealth\", 32\ndropitem \"WeaponEnergy\", 16\ndropitem \"SmallHealth\", 16\nspeed 0\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nBEAK A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nBEAK A 4 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,64,\"See\")\nGoto Look+1\nSee:\nMissile:\nBLAD A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nBEAK ABC 6\nBEAK D 20\nKYOR F 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nBEAK D 20 A_CustomMissile(\"BeakShot\",8,0,0)\nKYOR F 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nBEAK D 20 A_CustomMissile(\"BeakShot\",8,0,5)\nKYOR F 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nBEAK D 20 A_CustomMissile(\"BeakShot\",8,0,-5)\nBEAK CB 6\nBLAD A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nBEAK A 20 A_ClearTarget\nGoto Look\nDeath:\nBLAD A 0 A_Pain\nBLAD A 0 A_Fall\nTNT1 A 5 A_SpawnItem(\"EnemyDeathFX\",0,2)\nTNT1 A -1\nstop\n}\n}\n\nactor BeakShot\n{\nPROJECTILE\nRadius 10\ndamagetype \"Enemy\"\nHeight 5\nDamage (5*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nSpeed 20\nscale 2.5\ntranslation \"198:198=41:41\"\nStates\n{\nSpawn:\nSWBM E 1\nloop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/BigEye.txt",
"contents": "actor BigEyeEnemy : GenericRobot 30005\n{\n//$Category MM8BDM-Enemies\nHealth 280\nHeight 120\nRadius 40\nObituary \"%o was crushed by a Big Eye.\"\n+SOLID\nmaxstepheight 50\n+DROPOFF\n+LOOKALLAROUND\n+DONTBLAST\nspeed 0\ndropitem \"BigWeaponEnergy\", 64\ndropitem \"BigHealth\", 64\ndropitem \"WeaponEnergy\", 128\ndropitem \"SmallHealth\", 128\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nBIGE A 1 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nLoop\nSee:\nBIGE B 0 A_SpawnItemEx(\"BigEyeStomp\")\nBIGE BBBBBBBBBBBBBBBBBBBB 1 A_Chase\nBIGE B 0 A_PlaySound(\"robot/bigeye\")\nBIGE B 0 //A_Stop\nBIGE B 0 A_JumpIfCloser(250,\"LeapForward\")\nBIGE B 0 A_Jump(256,\"Leap\",\"Leap2\")\nGoto See\nLeap:\nBIGE A 0 A_Recoil(-3)\nBIGE A 5 ThrustThingZ(0,60,0,0)\nBIGE A 0 A_Chase\nBIGE A 1 A_Recoil(-3)\nBIGE A 0 A_Chase\nBIGE A 0 A_SpawnItemEx(\"BigEyeStomp\")\nBIGE A 0 A_Chase\nBIGE A 1 A_JumpIf(z-floorz==0, \"See\")\nGoto Leap+5\nLeapForward:\nBIGE A 0 A_FaceTarget\nLeap2:\nBIGE A 0 A_Recoil(-3)\nBIGE A 5 ThrustThingZ(0,50,0,0)\nBIGE A 0 A_Chase\nBIGE A 1 A_Recoil(-3)\nBIGE A 0 A_Chase\nBIGE A 0 A_SpawnItemEx(\"BigEyeStomp\")\nBIGE A 0 A_Chase\nBIGE A 1 A_JumpIf(z-floorz==0, \"See\")\nGoto Leap2+5\nDeath:\nNAPA A 0 A_PlaySoundEx(\"weapon/drillexplode\", \"Weapon\")\nNAPA A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nNAPA D 0 A_Stop\nNAPA EFGHIJKLMNOPQRS 2\nTNT1 A 1 A_Fall\nTNT1 A -1\nstop\n}\n}\n\nactor BigEyeStomp\n{\n-SOLID\nPROJECTILE\ndamagetype \"Enemy\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(150*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),64,0)\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/Bikky.txt",
"contents": "actor Bikky : GenericRobot 30015\n{\n//$Category MM8BDM-Enemies\nHealth 160\nHeight 128\nRadius 64\nObituary \"%o was flattened by a Bikky\"\n+SOLID\nmaxstepheight 50\n+DROPOFF\n+LOOKALLAROUND\n+DONTBLAST\nspeed 0\ndropitem \"BigWeaponEnergy\", 64\ndropitem \"BigHealth\", 64\ndropitem \"WeaponEnergy\", 32\ndropitem \"SmallHealth\", 32\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nBIKY AB 6 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nLoop\nSee:\nBIKY AB 6\nBIKY A 1 A_Jump(150, \"See\")\nBIKY A 1\nBIKY AB 5 A_FaceTarget\nBIKY AA 0 A_SpawnItemEx(\"BikkyStomp\")\nBIKY C 5 A_ChangeFlag(\"INVULNERABLE\",0)\nBIKY C 0\nBIKY D 10 A_ChangeVelocity(17.0, 0.0, 16.0, CVF_RELATIVE|CVF_REPLACE)\nGoto Leaping\nLeaping:\nBIKY A 0 A_SpawnItemEx(\"BikkyStomp\")\nBIKY D 1 A_Chase\nBIKY D 0 A_JumpIf(z-floorz==0, \"Land\")\nloop\nLand:\nBIKY A 0 A_Stop\nBIKY C 1 A_PlaySoundEx(\"enemy/bigstomp2\",\"Voice\")\nBIKY CB 5 A_ChangeFlag(\"INVULNERABLE\",1)\nBIKY A 5 A_FaceTarget\nGoto See\nDeath:\nNAPA A 0 A_PlaySoundEx(\"weapon/drillexplode\", \"Weapon\")\nNAPA A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nNAPA D 0 A_Stop\nNAPA EFGHIJKLMNOPQRS 2\nTNT1 A 1 A_Fall\nTNT1 A -1\nstop\n}\n}\n\nactor BikkyStomp\n{\n-SOLID\nPROJECTILE\ndamagetype \"Enemy\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(160*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),80,0)\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/Blader.txt",
"contents": "actor SP_Blader : GenericRobot\n{\nHeight 40\nRadius 32\nHealth 20\nscale 2.5\ndamagetype \"Enemy\"\nspecies \"Blader\"\nObituary \"%o was bashed by a Blader.\"\n+FLOAT\n+NOGRAVITY\n+LOOKALLAROUND\n//dropitem \"BigWeaponEnergy\", 16\n//dropitem \"BigHealth\", 16\ndropitem \"WeaponEnergy\", 32\ndropitem \"SmallHealth\", 32\nspeed 8\nfastspeed 12\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveInventory(\"HealthScaled\",1)\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_overflowcheck\",0)\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nBLAD AB 4 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nloop\nSee:\nBLAD A 0 A_PlaySoundEX(\"weapon/gyroattack\",\"SoundSlot6\")\nBLAD AAAABBBB 1 A_Chase\nloop\nMelee:\nBLAD A 0 A_FaceTarget\nBLAD A 0 A_CustomMeleeAttack(8*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nBLAD AABBAABB 2\nGoto See\nDeath:\nBLAD A 0 A_Pain\nBLAD A 0 A_Fall\nBLAD A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nMMFX BCDE 3\nstop\nDespawn:\nBLAD A 0\nstop\n}\n}\n\nactor SP_BladerSpawner 30000\n{\n//$Category MM8BDM-Enemies\n+NOGRAVITY\n+NOINTERACTION\n+ISMONSTER\nheight 32\nradius 32\nrenderstyle none\nstates\n{\nSpawn:\nBLAD B 1 A_LookEx(LOF_NOSOUNDCHECK,0,1500,0,360,\"See\")\nloop\nSee:\nBLAD B 1200 A_SpawnItemEx(\"SP_Blader\")\nGoto Spawn\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/BombThrown.txt",
"contents": "actor BombThrown : GenericRobot 30036\n{\n//$Category MM8BDM-Enemies\nHeight 64\nRadius 45\nObituary \"%o was bombed by a Bomb Thrown.\"\nHealth 50\nscale 2.5\ntranslation \"192:192=4:4\", \"68:191=227:227\"\n\nmaxstepheight 50\npainchance 256\nMONSTER\n+LOOKALLAROUND\n//dropitem \"BigWeaponEnergy\", 64\n//dropitem \"BigHealth\", 64\ndropitem \"WeaponEnergy\", 32\ndropitem \"SmallHealth\", 32\nmass 99999999\npainsound \"misc/devilpain\"\n//deathsound \"weapon/coilexplode\"\nspeed 2\nmeleerange 60\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nROMB A 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nGoto Look\nSee:\nROMB A 10 A_FaceTarget\nROMB D 5 A_FaceTarget\n\nROMB D 1 Thing_ChangeTID(0,3800)\nROMB D 0 A_GiveToTarget(\"DistanceChecker\",1)\nROMB D 1\nROMB D 1 A_SpawnItemEx(\"BombThrownBomb\",0,0,70,args[0] / 45,0,20)\nROMB D 0 Thing_ChangeTID(3800,0)\n\nROMB B 10 A_FaceTarget\nROMB C 20\nGoto Look\nDeath:\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nTNT1 A 5 A_SpawnItem(\"EnemyDeathFX\",0,32)\nTNT1 A -1\nstop\n}\n}\n\nactor BombThrownBomb\n{\nPROJECTILE\ndamage (0)\n-NOGRAVITY\nscale 2.5\nHeight 8\nRadius 8\nSpeed 20\ntranslation \"192:192=4:4\", \"68:191=227:227\"\ndamagetype \"Enemy\"\nSeeSound \"enemy/cannon\"\nStates\n{\nSpawn:\nROMB E 5\nloop\nDeath:\nMETC E 0 A_PlaySoundEx(\"weapon/coilexplode\",\"Body\")\nMETC E 0 A_Explode(40*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),128,0)\nMETC E 0 A_Stop\nMETC E 0 A_ChangeFlag(\"NOGRAVITY\",1)\nNAPA EFGHIJKLMNOPQRS 2\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/Cannon.txt",
"contents": "actor Cannon1 : GenericRobot 30013\n{\n//$Category MM8BDM-Enemies\nHeight 52\nRadius 32\nObituary \"%o was blown to bits by a cannon.\"\nHealth 35\nmaxstepheight 50\ndropitem \"WeaponEnergy\", 16\ndropitem \"SmallHealth\", 16\nspeed 0\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nCANN A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nCANN A 1 A_LookEx(LOF_NOSOUNDCHECK,0,400,0,90,\"See\")\nGoto Look+1\nSee:\nCANN A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nCANN BC 5 A_PlaySoundEx(\"misc/door2\",\"Body\")\nCANN D 12\nGoto Missile\nMissile:\nCANN D 0 A_PlaySoundEx(\"enemy/cannon\",\"Voice\")\nCANN D 0 A_SpawnItemEx(\"Cannon1Ball\",5,0,35,10,0,10,0)\nCANN D 50 //A_FaceTarget\nCANN D 0 A_LookEx(LOF_NOSOUNDCHECK,0,400,0,90,\"Missile\")\nGoto Retract\nRetract:\nCANN CB 5 A_PlaySoundEx(\"misc/door2\",\"Body\")\nCANN A 5 A_ChangeFlag(\"INVULNERABLE\",1)\nGoto Look\nDeath:\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nCRAZ A 0 A_SpawnItem(\"EnemyDeathFX\",0,32)\nTNT1 A -1\nstop\n}\n}\n\nactor Cannon1Ball\n{\nPROJECTILE\n-NOGRAVITY\ndamage (0)\nscale 2.5\nHeight 8\nRadius 8\nSpeed 25\ndamagetype \"Enemy\"\nStates\n{\nSpawn:\nCANN E 5\nloop\nDeath:\nCANN E 0 A_PlaySoundEx(\"weapon/coilexplode\",\"Body\")\nCANN E 0 A_Explode(50*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),128,0)\nCANN E 0 A_Stop\nCANN E 0 A_ChangeFlag(\"NOGRAVITY\",1)\nNAPA EFGHIJKLMNOPQRS 2\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/CrazyRazy.txt",
"contents": "actor CrazyRazy : GenericRobot 30001\n{\n//$Category MM8BDM-Enemies\nHeight 52\nRadius 48\nHealth 30\nObituary \"%o was punched by a Crazy Razy.\"\nscale 2.5\nMeleeRange 60\nmaxstepheight 50\n+DROPOFF\n+LOOKALLAROUND\nspeed 8\nfastspeed 10\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nCRAZ A 1 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nloop\nSee:\nCRAZ AAABBBCCC 1 A_Chase\nloop\nMelee:\nCRAZ A 0 A_FaceTarget\nCRAZ A 0 A_CustomMeleeAttack(15*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nCRAZ A 12\nGoto See\nDeath:\nBLAD A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nCRAZ A 0 A_SpawnItemEx(\"CrazyRazyHead\",0,0,32,0,0,10)\nMMFX BCDE 3\nTNT1 A -1\nstop\n}\n}\n\nactor CrazyRazyHead : GenericRobot\n{\nHeight 52\nMeleeRange 60\nRadius 48\nObituary \"%o was punched by a Crazy Razy.\"\nHealth 30\nscale 2.5\nmaxstepheight 32\n+LOOKALLAROUND\n+NOGRAVITY\n+FLOAT\n//dropitem \"BigWeaponEnergy\", 32\n//dropitem \"BigHealth\", 32\ndropitem \"WeaponEnergy\", 64\ndropitem \"SmallHealth\", 64\nspeed 8\nfastspeed 10\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nCRAZ D 15\nCRAZ A 0 A_Stop\nCRAZ D 1 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nGoto Look+2\nSee:\nCRAZ D 1 A_Chase\nloop\nMelee:\nCRAZ A 0 A_FaceTarget\nCRAZ A 0 A_CustomMeleeAttack(15*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nCRAZ D 12\nGoto See\nDeath:\nBLAD A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nMMFX BCDE 3\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/Escaroo.txt",
"contents": "actor Escaroo : GenericRobot 30023\n{\n//$Category MM8BDM-Enemies\nscale 2.5\nHealth 190\nHeight 128\n\n+DONTRIP\ndamagefactor \"RainShower\", 0.3\ndamagefactor \"AtomicFire\", 0.5\n\nRadius 128\nObituary \"%o was destroyed by a Escaroo\"\n+SOLID\nmaxstepheight 50\n+DROPOFF\n+LOOKALLAROUND\n+DONTBLAST\n+INVULNERABLE\nspeed 0\ndropitem \"BigWeaponEnergy\", 64\ndropitem \"BigHealth\", 64\ndropitem \"WeaponEnergy\", 32\ndropitem \"SmallHealth\", 32\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nESCA A 6 A_LookEx(LOF_NOSOUNDCHECK,0,2500,0,360,\"See\")\nLoop\nSee:\nESCA A 1 A_JumpIf(args[0]==1,\"Bombs\")\nESCA A 30 //A_TakeInventory(\"CutterFlag\",1)\nESCA B 10\nESCA C 40 A_ChangeFlag(\"INVULNERABLE\",0)\nESCA B 10 A_ChangeFlag(\"INVULNERABLE\",1)\nESCA A 10\nGoto Missile\nMissile:\nESCA A 1 A_JumpIfInventory(\"CutterFlag\",360,\"Bombs\")\nESCA A 30\nESCA D 0 A_CustomMissile(\"EscarooEyes\",42,0,0,0,0)\nEyes:\nESCA D 0 A_GiveInventory(\"CutterFlag\",1)\nESCA D 1 A_JumpIfInventory(\"CutterFlag\",360,\"Look\")\nloop\nBombs:\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),45)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),45)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),25)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),5)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),-25)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),-45)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),-25)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),-25)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),5)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),25)\nESCA A 13 A_SpawnItemEx(\"EscarooBomb\",0,0,160,random(7,13),0,random(8,15),45)\nESCA A 1 A_TakeInventory(\"CutterFlag\",999)\nGoto Look\nDeath:\nTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nESCA A 0 A_Stop\nESCA A 0 A_FaceTarget\nTNT1 A 0 A_Fall\nESCA AAAAAAAAAAAAAAAAAAAA 5 A_SpawnItemEx(\"BigEnemyExplode\",random(-128,128),random(-128,128),random(0,128))\nNAPA A 0 A_PlaySoundEx(\"weapon/drillexplode\", \"Voice\",0,1)\nNAPA EFGHIJKLMNOPQRS 2\nstop\n}\n}\n\nactor EscarooEyes\n{\nPROJECTILE\n+RIPPER\nDamage (0)\nRadius 32\nmeleerange 128\nHeight 16\nscale 2.5\nSpeed 45\nStates\n{\nSpawn:\nESCA E 1\nESCA E 0 A_ChangeVelocity(momx,momy,0,CVF_REPLACE)\nESCA E 2 A_Explode(55*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),40,0)\nloop\nDeath:\nESCA EEEEEEEEEEEEE 2 A_Explode(3,40,0)\nReturn:\nESCA E 0 A_Explode(55*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),40,0)\nESCA E 1 A_JumpIfCloser(64,\"Melee\")\nESCA E 1 A_FaceTarget\nESCA E 0 A_ChangeVelocity(20.0, 0.0, 0.0, CVF_RELATIVE|CVF_REPLACE)\nESCA E 0 A_GiveInventory(\"CutterFlag\",1)\nESCA E 1 A_JumpIfInventory(\"CutterFlag\",150,\"Nope\")\nloop\nMelee:\nESCA E 0 A_GiveToTarget(\"CutterFlag\",360)\nstop\nNope:\nESCA E 0\nstop\n}\n}\n\nactor EscarooBomb\n{\nPROJECTILE\n-NOGRAVITY\ndamage (0)\nscale 2.5\nHeight 8\nRadius 8\nSpeed 25\ndamagetype \"Misc\"\nStates\n{\nSpawn:\nTNT1 A 0\nESCA G 2 A_PlaySoundEx(\"enemy/cannon\",\"Body\")\nBomb:\nESCA FG 2\nloop\nDeath:\nCANN E 0 A_PlaySoundEx(\"weapon/coilexplode\",\"Body\")\nCANN E 0 A_Explode(35*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),128,0)\nCANN E 0 A_Stop\nCANN E 0 A_ChangeFlag(\"NOGRAVITY\",1)\nNAPA EFGHIJKLMNOPQRS 2\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/Flea.txt",
"contents": "actor Flea : GenericRobot 30002\n{\n//$Category MM8BDM-Enemies\nHeight 30\nRadius 30\nHealth 20\nscale 2.5\n//MeleeRange 60\nObituary \"%o was tickled by a Flea.\"\nmaxstepheight 50\n+DROPOFF\n+LOOKALLAROUND\n//dropitem \"BigWeaponEnergy\", 16\n//dropitem \"BigHealth\", 16\ndropitem \"WeaponEnergy\", 32\ndropitem \"SmallHealth\", 32\nspeed 0\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nFLEA A 1 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nloop\nSee:\nFLEA AAAAAAAAAAAAAAA 1 A_Chase\nGoto Leap\nLeap:\nFLEA B 0 A_PlaySoundEx(\"weapon/crackermine\",\"voice\")\nFLEA B 0 A_FaceTarget\nFLEA B 0 A_Recoil(-23)\nFLEA B 10 ThrustThingZ(0,50,0,0)\nGoto Leaping\nLeaping:\nFLEA B 0 A_JumpIf(floorz-z==0,\"See\")\nFLEA B 1 A_Chase\nloop\nMelee:\nFLEA A 0 A_FaceTarget\nFLEA A 0 A_CustomMeleeAttack(15*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nFLEA B 12\nGoto See\nDeath:\nFLEA A 0 A_Stop\nBLAD A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nFLEA A 0 A_Pain\nFLEA A 0 A_Fall\nMMFX BCDE 3\nTNT1 A -1\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/FlyingShell.txt",
"contents": "actor FlyingShell : GenericRobot 30009\n{\n//$Category MM8BDM-Enemies\nHeight 40\nRadius 32\nHealth 25\ndamagetype \"Enemy\"\nObituary \"%o was Shell Shocked by a Flying Shell.\"\n+FLOAT\n+NOGRAVITY\n+INVULNERABLE\n+LOOKALLAROUND\nFloatSpeed 10\nfastspeed 10\n//dropitem \"BigWeaponEnergy\", 32\n//dropitem \"BigHealth\", 32\ndropitem \"WeaponEnergy\", 16\ndropitem \"SmallHealth\", 16\nspeed 7\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nBLAD A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nSHEL A 4 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nGoto Look+1\nSee:\nSHEL AAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase\nSHEL A 0 A_JumpIfTargetInLOS(\"Shoot\")\nloop\nShoot:\nBLAD A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nSHEL A 0 A_FaceTarget\nKYOR F 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,50,0,0)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,0,50,0)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,-50,0,0)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,0,-50,0)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,50,50,0)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,50,-50,0)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,-50,50,0)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,-50,-50,0)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,50,0,20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,0,50,20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,-50,0,20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,0,-50,20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,50,50,20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,50,-50,20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,-50,50,20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,-50,-50,20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,50,0,-20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,0,50,-20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,-50,0,-20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,0,-50,-20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,50,50,-20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,50,-50,-20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,-50,50,-20)\nSWBM B 0 A_SpawnItemEx(\"ShellShot\",0,0,20,-50,-50,-20)\nSHEL B 5\nSHEL B 15\nSHEL A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nGoto See\nDeath:\nBLAD A 0 A_Pain\nBLAD A 0 A_Fall\nBLAD A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nMMFX BCDE 3\nTNT1 A 1\nstop\n}\n}\n\nactor ShellShot\n{\nPROJECTILE\nRadius 10\ndamagetype \"Enemy\"\nHeight 5\nDamage (12*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nSpeed 50\nscale 2.5\ntranslation \"198:198=216:216\"\nStates\n{\nSpawn:\nSWBM E 1\nloop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/GiantMetall.txt",
"contents": "actor GiantMetall : GenericRobot 30017\n{\n//$Category MM8BDM-Enemies\nHealth 360\nHeight 128\nRadius 64\nObituary \"%o was destroyed by a giant metall.\"\n+SOLID\nmaxstepheight 50\n+DROPOFF\n+NOGRAVITY\n+FLOAT\nfloatspeed 4\n+LOOKALLAROUND\n+DONTBLAST\nspeed 4\ndropitem \"BigWeaponEnergy\", 64\ndropitem \"BigHealth\", 64\ndropitem \"WeaponEnergy\", 32\ndropitem \"SmallHealth\", 32\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nGMET AB 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nLoop\nSee:\nGMET AAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBB 1 A_Chase(\"\",\"\")\nGMET A 0 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"Missile\")\nloop\nMissile:\nGMET A 0 A_FaceTarget\nGMET A 0 A_PlaySoundEx(\"enemy/cannon\",\"Voice\")\nGMET A 0 A_CustomMissile(\"GiantMetallBall\",16,0,0)\nGMET A 0 A_CustomMissile(\"GiantMetallBall\",16,0,16)\nGMET A 0 A_CustomMissile(\"GiantMetallBall\",16,0,-16)\nGoto See\nDeath:\nGMET A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nGMET A 0 A_Stop\nGMET A 0 A_FaceTarget\nGMET ABABABABABABABABABAB 5 A_SpawnItemEx(\"BigEnemyExplode\",random(-128,128),random(-128,128),random(0,128))\nNAPA A 0 A_PlaySoundEx(\"weapon/drillexplode\", \"Voice\",0,1)\nNAPA EFGHIJKLMNOPQRS 2\nTNT1 A 1 A_Fall\nTNT1 A -1\nstop\n}\n}\n\nactor GiantMetallBall\n{\nPROJECTILE\ndamage (0)\nscale 2.5\nHeight 8\nRadius 8\nSpeed 25\ndamagetype \"Enemy\"\nStates\n{\nSpawn:\nCANN E 5\nloop\nDeath:\nCANN E 0 A_PlaySoundEx(\"weapon/coilexplode\",\"Body\")\nCANN E 0 A_Explode(40*ACS_NamedExecuteWithResult(\"sp_cbmHP\"),128,0)\nCANN E 0 A_Stop\nCANN E 0 A_ChangeFlag(\"NOGRAVITY\",1)\nNAPA EFGHIJKLMNOPQRS 2\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/GiantSpringer.txt",
"contents": "actor GiantSpringer : GenericRobot 30016\n{\n//$Category MM8BDM-Enemies\nHeight 52\nRadius 52\nObituary \"%o was shot by a giant springer.\"\nHitObituary \"%o was bounced by a giant springer.\"\nHealth 150\nmaxstepheight 50\n+LOOKALLAROUND\ndropitem \"BigWeaponEnergy\", 64\ndropitem \"BigHealth\", 64\ndropitem \"WeaponEnergy\", 32\ndropitem \"SmallHealth\", 32\nspeed 2\nmeleerange 60\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nLook:\nGSPR A 5 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,360,\"See\")\nGoto Look\nSee:\nGSPR AAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBB 1 A_Chase(\"Melee\",\"\")\nGSPR A 0 A_LookEx(LOF_NOSOUNDCHECK,0,6000,0,360,\"Missile\")\nGoto See\nMissile:\nGSPR A 0 A_FaceTarget\nGSPR A 0 A_PlaySoundEx(\"weapon/magnetmissile\",\"Voice\")\nGSPR A 0 A_CustomMissile(\"SpringerHomingMissile\",64,0,0)//A_SpawnItemEx(\"SpringerHomingMissile\",0,0,64,0,0,12,0)\nGoto See\nMelee:\nGSPR D 0 A_CustomMeleeAttack(45*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nGSPR D 0 A_FaceTarget\nGSPR CDEDCDEDCDEDCDEDCDED 4\nGoto See\nDeath:\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nCRAZ A 0 A_SpawnItem(\"EnemyDeathFX\",0,32)\nTNT1 A -1\nstop\n}\n}\n\nactor SpringerHomingMissile// : MageStaffFX2\n{\n+MISSILE\n+NOGRAVITY\n-NOBLOCKMAP\n-SOLID\n+SHOOTABLE\n+SEEKERMISSILE\ndamagetype \"Enemy\"\nHealth 10\nHeight 16\nRadius 16\nscale 2.5\nspeed 13\nDamage (9*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nStates\n{\nSpawn:\nGSPR F 0\nGSPR F 10 A_ChangeVelocity(0.0,0.0,12.0,CVF_RELATIVE|CVF_REPLACE)// A_GiveInventory(\"CutterFlag\",1)\nGoto See\nSee:\nGSPR G 15 A_ChangeVelocity(12.0,0.0,0.0,CVF_RELATIVE|CVF_REPLACE)\nSee2:\nGSPR G 1 A_SeekerMissile(2, 10)//A_MStaffTrack\nloop\nDeath:\nCRAZ A 0 A_SpawnItem(\"EnemyDeathFX\",0,32)\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/enemies/MMSP/Gyotot.txt",
"contents": "actor Gyotot : GenericRobot 30024\n{\n//$Category MM8BDM-Enemies\nHealth 40\nHeight 50\nRadius 32\nObituary \"%o was chomped by a Gyotot.\"\n+SOLID\nmaxstepheight 50\n+DROPOFF\n+NOCLIP\n+LOOKALLAROUND\n+DONTBLAST\nspeed 18\nmeleerange 64\n//dropitem \"BigWeaponEnergy\", 64\n//dropitem \"BigHealth\", 64\ndropitem \"WeaponEnergy\", 32\ndropitem \"SmallHealth\", 32\nStates\n{\nSpawn:\nTNT1 A 0 A_ChangeFlag(\"NOCLIP\",1)\nTNT1 A 0 ACS_NamedExecuteAlways(\"sp_enemystart\",0)\nGoto Look\nLook:\nGYOT AB 6 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nloop\nSee:\nTNT1 A 0 A_ChangeFlag(\"NOCLIP\",0)\nGYOT AAAABBBB 1 A_Chase\nloop\nMelee:\nMissile:\nGYOT C 0 A_FaceTarget\nGYOT C 0 ThrustThingZ(0,40,0,0)\nGYOT C 4 A_Recoil(-12)// A_ChangeVelocity(8.0, 0.0, 10.0, CVF_RELATIVE|CVF_REPLACE)\nLeaping:\nGYOT C 0 A_SpawnItemEx(\"GyototDamager\",0,0,16,20,0,0)\nGYOT CCCCDDDD 1 A_JumpIf(z-floorz==0, \"See\")\nloop\nDeath:\nGYOT A 0 A_Stop\nGYOT A 0 A_Pain\nGYOT A 0 A_Fall\nGYOT A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nMMFX BCDE 3\nTNT1 A -1\nstop\n}\n}\n\nactor GyototDamager\n{\nPROJECTILE\ndamage (6*ACS_NamedExecuteWithResult(\"sp_cbmHP\"))\nscale 2.5\nHeight 10\nRadius 32\nSpeed 25\ndamagetype \"Enemy\"\nrenderstyle none\nStates\n{\nSpawn:\nCANN E 3\nstop\n}\n}"
}
]
},
"maps": []
}