Raw model (for completeness)
{
"meta": {
"id": "09c79a91-3c5c-49ca-b241-4336b9f09f38",
"sha1": "7c89fdd6f7b5306703c90a093b7fe5ebb4cbe3d4",
"sha256": "9dd7a65f01b74cce0fe529a0e6a763bc366dea8f248399fe0553eb2e53188582",
"filenames": [
"anw_woc-0.2f.pk3"
],
"additional": {
"engines": [],
"iwad": [],
"filename": null,
"added": "2018-03-28 00:19:29",
"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-03-28 00:19:29",
"file": {
"type": "PK3",
"size": 3686199,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/7c89fdd6f7b5306703c90a093b7fe5ebb4cbe3d4/7c89fdd6f7b5306703c90a093b7fe5ebb4cbe3d4.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 414,
"maps": 0,
"palettes": 0
}
},
"analysis": {
"title": "anw_woc-0.2f",
"description": "This WAD contains no traditional maps but includes a large set of 414 lumps, indicating extensive custom content such as new actors and effects. The included data features a powerful boss monster named Thor with complex lightning-based attacks, suggesting a focus on advanced monster behavior and scripted combat encounters. The absence of maps implies this is a mod or add-on rather than a mapset, likely requiring a Doom II compatible source port supporting DECORATE and custom actors. The content is tech-themed with heavy use of custom projectiles and sounds, emphasizing boss fights and unique monster mechanics rather than exploration or traditional level progression.",
"tags": [
"boom_compatible",
"boss_encounters",
"challenge_wad",
"no_maps",
"techbase"
],
"origin": "gpt-4.1-mini"
},
"text_files": [
{
"source": "pk3",
"name": "Thor.txt",
"contents": "/////Thor Decorate\\\\\\\\\\\n\nACTOR Thor 27043\n{\n OBITUARY \"%o witnessed the true power of Zakachi Daemonbourne.\"\n Health 3000\n Radius 25\n Height 75//50\n Mass 200\n Speed 12//4\n PainChance 25//100\n SEESOUND \"thor/sight\"\n PAINSOUND \"thor/pain\"\n DEATHSOUND \"thor/death\"\n ACTIVESOUND \"thor/active\"\n BloodColor \"00 00 20\"\n MONSTER\n +Boss\n +FloorClip\n +NoRadiusDMG\n +DontMorph\n +MissileMore\n +NoIceDeath\n states\n {\n Spawn:\n THOR M 0\n THOR M 0 A_CustomMissile(\"LightningBallC1\",200,0,0,2,0)\n THOR M 0 A_CustomMissile(\"LightningBallC2\",200,0,180,2,0)\n\tGoto Idle\n Idle:\n\tTHOR M 10 A_Look\n Loop\n See:\n THOR MNOP 5 A_Chase\n Loop\n Missile:\n\tTNT1 A 0 A_PlaySound(\"thor/attack\")\n TNT1 A 0 A_Jump(64, \"LightningColumns\")\n TNT1 A 0 A_Jump(96, \"GroundSeekers\")\n TNT1 A 0 A_Jump(64, \"Filibuster\")\n TNT1 A 0 A_Jump(128, \"LightningStream\")\n\tGoto LightningBall\n//attack 1; fragmenting lightning ball\n LightningBall:\n THOR R 5\n\tTHOR S 5 A_FaceTarget\n THOR T 5 BRIGHT A_CustomMissile(\"LightningBallL\",32,0,0,2,0)\n\tTHOR T 5\n Goto See\n//attack 2; lightning streams\n LightningStream:\n THOR RS 5 A_FaceTarget\n\tTHOR T 5 A_FaceTarget\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,-45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,-45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,-45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,-45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,-45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,45,0,0)\n THOR T 1 BRIGHT A_CustomMissile(\"MiniLightningPuff\",55,-45,0,0)\n\tTNT1 A 0 A_GiveInventory(\"ThorCounter\", 1)\n\tTNT1 A 0 A_JumpIfInventory(\"ThorCounter\", 9, \"EndStream\")\n\tGoto LightningStream+2\n EndStream:\n\tTNT1 A 0 A_TakeInventory(\"ThorCounter\", 9)\n\tTHOR T 5\n Goto See\n//attack 3, stationary/invulnerable mode\n Filibuster:\n THOR ZY 5 A_FaceTarget\n THOR X 8 BRIGHT A_FaceTarget\n THOR Z 0 A_CustomMissile(\"GroundLightning\",0,0,45,0,0)\n THOR Z 0 A_CustomMissile(\"GroundLightning\",0,0,135,0,0)\n THOR Z 0 A_CustomMissile(\"GroundLightning\",0,0,225,0,0)\n THOR Z 0 A_CustomMissile(\"GroundLightning\",0,0,315,0,0)\n THOR Z 0 A_CustomMissile(\"GroundLightning\",0,0,0,0,0)\n THOR Z 0 A_CustomMissile(\"GroundLightning\",0,0,90,0,0)\n THOR Z 0 A_CustomMissile(\"GroundLightning\",0,0,160,0,0)\n THOR Z 0 A_CustomMissile(\"GroundLightning\",0,0,270,0,0)\n THOR Z 0 A_SetReflectiveInvulnerable\n\tTNT1 A 0 A_SetTranslucent(0.5, 1)\n\tTNT1 A 0 A_ChangeFlag(\"Visibilitypulse\", 1)\n\tGoto FilibusterLoop\n FilibusterLoop:\n\tTHOR Z 35 A_Stop\n THOR RS 3 A_FaceTarget\n THOR T 8 BRIGHT A_CustomMissile(\"LightningRod1\",55,45,0,0,0)\n THOR T 0 BRIGHT A_CustomMissile(\"LightningRod1\",55,-45,0,0,0)\n THOR T 2 BRIGHT A_CustomMissile(\"LightningBallS\",55,45,0,0,0)\n THOR T 0 BRIGHT A_CustomMissile(\"LightningBallS\",55,-45,0,0,0)\n THOR T 2 BRIGHT A_CustomMissile(\"LightningBallS\",55,45,0,0,0)\n THOR T 0 BRIGHT A_CustomMissile(\"LightningBallS\",55,-45,0,0,0)\n\tTNT1 A 0 A_GiveInventory(\"ThorCounter\", 1)\n\tTNT1 A 0 A_JumpIfInventory(\"ThorCounter\", 3, \"FilibusterEnd\")\n THOR SR 3\n Goto FilibusterLoop\n FilibusterEnd:\n\tTNT1 A 0 A_UnSetReflectiveInvulnerable\n\tTNT1 A 0 A_SetTranslucent(1.0, 0)\n\tTNT1 A 0 A_ChangeFlag(\"Visibilitypulse\", 0)\n\tTNT1 A 0 A_TakeInventory(\"ThorCounter\", 9)\n\tTHOR SR 3\n THOR YZM 10\n Goto See\n//attack 4, floor-hugging seekers\n GroundSeekers:\n THOR ZY 5 A_FaceTarget\n THOR X 8 BRIGHT A_FaceTarget\n THOR X 0 BRIGHT A_CustomMissile(\"GroundLightningTracer\",0,random(-20,20),random(-45,45),0,0)\n THOR X 0 BRIGHT A_CustomMissile(\"GroundLightningTracer\",0,random(-20,20),random(-45,45),0,0)\n THOR X 0 BRIGHT A_CustomMissile(\"GroundLightningTracer\",0,random(-20,20),random(-45,45),0,0)\n\tTHOR X 8 Bright A_FaceTarget\n Goto See\n//attack 5, lightning columns\n LightningColumns:\n THOR RS 5 A_FaceTarget\n\tTNT1 A 0 A_CustomMissile(\"LightningRod3\", 0, 0, 0, CMF_AIMOFFSET)\n\tTNT1 A 0 A_CustomMissile(\"LightningRod3\", 0, 45, random(-25, -15), CMF_AIMOFFSET)\n\tTNT1 A 0 A_CustomMissile(\"LightningRod3\", 0, -45, random(15, 25), CMF_AIMOFFSET)\n\tTHOR T 5 Bright A_FaceTarget\n\tTHOR T 5\n\tGoto See\n Pain:\n THOR Q 10 A_Pain\n\tTNT1 A 0 A_TakeInventory(\"ThorCounter\", 9)\n Goto See\n Death:\n\tTNT1 A 0 A_SetTranslucent(1.0, 0)\n\tTNT1 A 0 A_ChangeFlag(\"Visibilitypulse\", 0)\n THR2 A 8 A_Scream\n THR2 B 8\n THR2 C 8\n THR2 D 6\n THR2 E 6\n THR2 F 6\n THR2 D 6\n THR2 E 6\n THR2 F 6\n THR2 D 6\n THR2 E 6\n THR2 F 6\n THR2 G 4 BRIGHT A_PlaySound(\"thor/thunder\")\n THR2 H 6 A_NoBlocking\n THR2 I 6\n THR2 J 6\n THR2 K 6\n THR2 L 6\n THR2 M 6\n THR2 N 6\n\tTNT1 A 0 A_SpawnItemEx(\"ThorCorpse\", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t//note that he needs to Stop and \"disappear\" to shut off his orbiters; a dummy corpse is left instead (see below)\n Stop\n }\n}\n\n//used to manage Thor's \"looping\" attacks\nActor ThorCounter : Inventory\n{\n Inventory.MaxAmount 9\n}\n\n//dummy corpse\nActor ThorCorpse\n{\n Radius 25\n Height 12\n States\n {\n Spawn:\n THR2 O -1\n Loop\n }\n}\n\n//orbiters\nACTOR LightningBallC1\n{\n +Noclip\n Scale .35\n Speed 5\n RENDERSTYLE Add\n Alpha 0.50\n PROJECTILE\n states\n {\n Spawn:\n\t\t ZOT3 AABBCC 1 BRIGHT A_SpawnItemEx(\"LightningBallC1T\", 0, 0, 0, 0, 0, 0, 0, 128)\n ZOT3 A 0 A_CustomMissile(\"LightningBallC1\", 0, 0, 75)\n ZOT3 A 0 A_MissileAttack\n Stop\n\t Death:\n\t\t TNT1 A 0\n\t\t Stop\n }\n}\n\nACTOR LightningBallC2\n{\n +Noclip\n Scale .28\n Speed 5\n RENDERSTYLE Add\n Alpha 0.50\n PROJECTILE\n states\n {\n Spawn:\n ZOT3 AABBCC 1 BRIGHT A_SpawnItemEx(\"LightningBallC1T\", 0, 0, 0, 0, 0, 0, 0, 128)\n ZOT3 A 0 A_CustomMissile(\"LightningBallC2\", 0, 0, -75)\n ZOT3 A 0 A_MissileAttack\n Stop\n\t Death:\n\t\t TNT1 A 0\n\t\t Stop\n\t }\n}\n\n//decorative particle shared by a few actors\nACTOR LightningBallC1T\n{\n RENDERSTYLE ADD\n Alpha 0.4\n PROJECTILE\n +Noclip\n states\n {\n Spawn:\n DFFP GHIJKLMNOPQR 1 BRIGHT\n Stop\n }\n}\n\n//limited-range projectile spawned by his \"filibuster\" attack mode\n//has no collision; primary purpose is to continuously spawn damaging particles\nACTOR GroundLightning\n{\n Radius 4\n Height 6\n Speed 20\n //Damage 6\n RENDERSTYLE Add\n Alpha 0.40\n ReactionTime 20//53\n SEESOUND \"thor/attackr1\"\n PROJECTILE\n +FloorHugger\n +Noclip\n //+Ripper\n states\n {\n Spawn:\n ICWS ABCDEFGHI 1 BRIGHT A_SpawnItemEx(\"GroundTrail\",0,0,0,0,0,0,0,128)\n ICWS A 0 BRIGHT\n ICWS A 0 BRIGHT A_Stop\n\tGoto ProjectileLoop\n ProjectileLoop:\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS A 0 BRIGHT A_CustomMissile(\"GroundSmoke\",0,0,0,2,360)\n\tTNT1 A 0 A_CountDown\n\tLoop\n Death:\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS A 0 BRIGHT\n Stop\n }\n}\n\n//trail spawned by the GroundLightning actor; harmless\nACTOR GroundTrail\n{\n Radius 2\n Height 3\n RENDERSTYLE Add\n Alpha 0.20\n ReactionTime 20//49\n PROJECTILE\n +FloorHugger\n states\n {\n Spawn:\n ICWS JKLMNOPQR 1 BRIGHT\n ICWS A 0 BRIGHT\n\tTNT1 A 0 A_CountDown\n\tLoop\n Death:\n ICWS JKLMNOPQR 1 BRIGHT\n Stop\n }\n}\n\n//actor spawned by the GroundLightning projectile; deals damage, and occasionally (25%) spawns additional particles\nACTOR GroundSmoke\n{\n Radius 12\n Height 12\n Speed 15\n Damage 1//5\n RENDERSTYLE Add\n Alpha 0.30\n SEESOUND \"thor/smoke\"\n PROJECTILE\n +Ripper\n //+Noclip\n states\n {\n Spawn:\n DFFP ABCDEFGHIJKLMNOPQR 1 BRIGHT\n DFFP A 0 BRIGHT A_Jump(64,1)\n Stop\n DFFP A 1 BRIGHT A_CustomMissile(\"SmokeLightning\",0,0,0,2,-250)\n DFFP A 1 BRIGHT A_CustomMissile(\"SmokeLightning\",0,0,45,2,-250)\n DFFP A 1 BRIGHT A_CustomMissile(\"SmokeLightning\",0,0,90,2,-250)\n DFFP A 1 BRIGHT A_CustomMissile(\"SmokeLightning\",0,0,135,2,-250)\n DFFP A 1 BRIGHT A_CustomMissile(\"SmokeLightning\",0,0,180,2,-250)\n DFFP A 1 BRIGHT A_CustomMissile(\"SmokeLightning\",0,0,225,2,-250)\n DFFP A 1 BRIGHT A_CustomMissile(\"SmokeLightning\",0,0,270,2,-250)\n DFFP A 1 BRIGHT A_CustomMissile(\"SmokeLightning\",0,0,315,2,-250)\n Stop\n }\n}\n\n//particles periodically spawned by the GroundSmoke projectile generated by the GroundLightning projectile\nACTOR SmokeLightning\n{\n Radius 16\n Height 16\n Speed 20\n Damage 2//5\n RENDERSTYLE Add\n Alpha 0.40\n Scale 0.75\n SEESOUND \"thor/spawnl\"\n DEATHSOUND \"thor/hitl\"\n ACTIVESOUND \"thor/activel\"\n PROJECTILE\n states\n {\n Spawn:\n ZOT3 ABC 2 BRIGHT\n Loop\n Death:\n ZOT3 A 0 BRIGHT //A_Explode(50,150)\n Stop\n }\n}\n\n//small projectile\nACTOR LightningBallS\n{\n Radius 16\n Height 16\n Speed 20\n Damage 5\n RENDERSTYLE Add\n Alpha 0.40\n Scale 0.75\n SEESOUND \"thor/spawnl\"\n DEATHSOUND \"thor/hitl\"\n ACTIVESOUND \"thor/activel\"\n PROJECTILE\n Decal RevenantScorch\n states\n {\n Spawn:\n ZOT3 ABCE 2 BRIGHT A_SpawnItemEx(\"LightningBallC1T\", 0, 0, 0, 0, 0, 0, 0, 128)\n Loop\n Death:\n ZAPS GHIJKL 2 BRIGHT\n Stop\n }\n}\n\n//faster small projectile\nACTOR LightningRod1\n{\n Radius 24\n Height 24\n Speed 30\n Damage 3//5\n RENDERSTYLE Add\n Alpha 0.50\n Scale 0.75\n SEESOUND \"thor/spawnl\"\n DEATHSOUND \"thor/hitl\"\n ACTIVESOUND \"thor/activel\"\n MissileType LightningBallC1T\n MissileHeight 0\n PROJECTILE\n Decal RevenantScorch\n states\n {\n Spawn:\n ZAP6 ABC 2 BRIGHT\n //ZAP6 A 0 BRIGHT A_MissileAttack\n Loop\n Death:\n ZOTS ABCDEF 2 BRIGHT\n Stop\n }\n}\n\n//large projectile; spams smaller projectiles\nACTOR LightningBallL\n{\n Radius 30\n Height 30\n Speed 12\n Damage 20\n RENDERSTYLE Add\n Alpha 0.75\n ReactionTime 6\n SEESOUND \"thor/attackr3\"\n DEATHSOUND \"thor/hitl\"\n ACTIVESOUND \"thor/activel\"\n Decal \"Scorch\"\n +SeekerMissile\n +DoomBounce\n PROJECTILE\n states\n {\n Spawn:\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n ZAP7 ABCDE 1 BRIGHT //A_SeekerMissile(20,20)\n\tGoto ProjectileLoop\n ProjectileLoop:\n ZAP7 A 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,0,0,0)\n ZAP7 B 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,20,0,0)\n ZAP7 C 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,40,0,0)\n ZAP7 D 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,60,0,0)\n ZAP7 E 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,80,0,0)\n ZAP7 A 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,100,0,0)\n ZAP7 C 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,120,0,0)\n ZAP7 D 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,140,0,0)\n ZAP7 E 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,160,0,0)\n ZAP7 A 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,180,0,0)\n ZAP7 B 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,200,0,0)\n ZAP7 C 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,220,0,0)\n ZAP7 D 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,240,0,0)\n ZAP7 E 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,260,0,0)\n ZAP7 A 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,280,0,0)\n ZAP7 B 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,300,0,0)\n ZAP7 C 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,320,0,0)\n ZAP7 D 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,340,0,0)\n ZAP7 E 1 BRIGHT A_CustomMissile(\"LightningRod1\",10,0,360,0,0)\n\tZAP7 ABCDEABCDEABCDEABCDEABCDE 1 BRIGHT//reduces spamminess\n\tTNT1 A 0 A_CountDown\n\tLoop\n Death:\n ZAPL ABCDEFG 2 BRIGHT\n Stop\n }\n}\n\n//small projectile produced by his \"stream\" attacks\nACTOR MiniLightningPuff\n{\n Radius 6\n Height 10\n Speed 14\n Damage 1\n PROJECTILE\n RENDERSTYLE ADD\n Alpha 0.67\n SEESOUND \"thor/smoke\"\n Decal PlasmaScorchLower\n states\n {\n Spawn:\n DFFP ABCDEFGH 4 BRIGHT\n Death:\n DFFP IJKLMNOPQR 4 BRIGHT\n Stop\n }\n}\n\n//floor-hugging tracer projectile\nACTOR GroundLightningTracer\n{\n Radius 4\n Height 6\n Speed 10\n Damage 6\n RENDERSTYLE Add\n Alpha 0.40\n ReactionTime 15//34\n SEESOUND \"thor/attackr2\"\n PROJECTILE\n +FloorHugger\n //+Noclip\n //+Ripper\n +SeekerMissile\n states\n {\n Spawn:\n ICWS ABCDEFGHI 1 BRIGHT A_SpawnItemEx(\"TracerTrail\",0,0,0,0,0,0,0,128)\n\tTNT1 A 0 A_Jump(128, 2)\n ICWS A 0 BRIGHT A_SeekerMissile(90,90)\n TNT1 A 0 A_CountDown\n\tLoop\n Death:\n ICWS ABCDEFGHI 5 BRIGHT A_Stop\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n ICWS ABCDEFGHI 1 BRIGHT A_CustomMissile(\"GroundSmoke\",0,10,random(0,360),2,random(80,100))\n Stop\n }\n}\n\n//modified trail with shorter duration\nACTOR TracerTrail : GroundTrail\n{\n ReactionTime 10\n}\n\n//this was originally unused; I used it in \"LightningColumns\"\nACTOR LightningRod3\n{\n Radius 24\n Height 8\n Damage 5\n Speed 20\n RENDERSTYLE Add\n Alpha 0.40\n SEESOUND \"thor/spawnl\"\n DEATHSOUND \"thor/hitl\"\n ACTIVESOUND \"thor/activel\"\n PROJECTILE\n Decal Scorch\n //+SpawnCeiling\n +FLOORHUGGER\n states\n {\n Spawn:\n ZOT1 ABCDE 2 BRIGHT\n ZOT1 A 0 BRIGHT A_SpawnItemEx(\"LightningBallC1T\", 0, 0, 0, 0, 0, 0, 0, 128)\n Loop\n Death:\n ZOTS ABCDEF 2 BRIGHT A_Explode(60,50,0)\n Stop\n }\n}\n\n/////End Thor Decorate\\\\\\\\\\"
},
{
"source": "pk3",
"name": "DarkLich.txt",
"contents": "actor DarkLich {\n\tobituary \"%o couldn't withstand the magic of a dark lich.\"\n\thealth 7000\n\tpainchance 0\n\tspeed 7\n\tradius 52\n\theight 115\n\tmass 2048\n\tdamage 0\n\tSeeSound \"ironlich/sight\"\n\tAttackSound \"ironlich/attack\"\n\tPainSound \"ironlich/pain\"\n\tDeathSound \"ironlich/death\"\n\tActiveSound \"ironlich/active\"\n\tDropItem \"AccessoryRandomSpawner\" 16\n\tDamageFactor \"Deathblow\", 0\n\tPainChance \"Lightning\", 0\n\tSpecies \"DarkLich\"\n\tMONSTER\n\t+NOBLOOD\n\t+DONTRIP\n\t+MISSILEMORE\n\t+MISSILEEVENMORE\n\t+QUICKTORETALIATE\n\t+DONTHARMSPECIES\n\t+NOICEDEATH\n\t+NOINFIGHTING\n\t+NOBLOOD\n\t+DONTMORPH\n\t+BOSS\n\t+BOSSDEATH\n\t+NODAMAGETHRUST\n\t+NOTARGET\n\t+NOPAIN\n\tRenderStyle Translucent\n\tTag \"Dark Lich\"\n\tAlpha 0.85\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(WOC_MONSTERSCRIPT, 0, 7000, 115, WOC_STAT|WOC_SUBBOSS|WOC_MAXLEVEL)\n\t\tIdle:\n\t\t\tDLCH A 3 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tDLCH A 3 A_Chase\n\t\t\tDLCH A 0 A_SpawnItem(\"DarkLichMoveFX\", 0, 0)\n\t\tloop\n\t\tPain:\n\t\t\tTNT1 A 0 //A_ChangeFlag(\"NOPAIN\" 1)\n\t\t\tDLCH A 6 A_Pain\n\t\tgoto See\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump (256, \"Fire1\", \"Fire2\", \"Fire3\", \"Fire4\")\n\t\tFire1:\n\t\t\tDLCH A 8 A_FaceTarget\n\t\t\tDLCH B 8 A_CustomMissile(\"DarkLichWarp\")\n\t\t\tTNT1 A 0 //A_ChangeFlag(\"NOPAIN\" 0)\n\t\tgoto See\n\t\tFire2:\n\t\t\tDLCH A 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"UndeadSpiritAttack\")\n\t\t\tDLCH B 10 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"UndeadSpiritAttack\")\n\t\t\tDLCH B 10 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"UndeadSpiritAttack\")\n\t\t\tDLCH B 10 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"UndeadSpiritAttack\")\n\t\t\tDLCH B 10 A_FaceTarget\n\t\t\tTNT1 A 0 //A_ChangeFlag(\"NOPAIN\" 0)\n\t\tgoto See\n\t\tFire3:\n\t\t\tDLCH A 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"dsparil/zap\", CHAN_BODY)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"PurpleParticleSpawner\", random(-24, 24), random(-24, 24), 24)\n\t\t\tDLCH A 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"dsparil/zap\", CHAN_BODY)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"PurpleParticleSpawner\", random(-24, 24), random(-24, 24), 24)\n\t\t\tDLCH A 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"dsparil/zap\", CHAN_BODY)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"PurpleParticleSpawner\", random(-24, 24), random(-24, 24), 24)\n\t\t\tDLCH A 8 A_FaceTarget\n\t\t\tDLCH B 9 A_CustomMissile(\"DarkLichVortex\")\n\t\t\tTNT1 A 0 //A_ChangeFlag(\"NOPAIN\" 0)\n\t\tGoto See\n\t\tFire4:\n\t\t\tDLCH A 7 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"DarkLichHomingBall\", 24, 0, -6)\n\t\t\tDLCH B 9 A_CustomMissile(\"DarkLichHomingBall\", 24, 0, 6)\n\t\tGoto See\n\t\tDeath:\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(WOC_MONSTERXPSCRIPT,0,4000)\n\t\t\tDLCH B 25\n\t\t\tTNT1 A 0 A_Scream\n\t\t\tDLCH B 3 A_Explode(48, 160)\n\t\t\tTNT1 A 0 A_FadeOut(0.075)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"DarkLichDeathExplosion\", random(-96, 96), random(-96, 96), random(8, 96), 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t\t\tDLCH B 3 A_Explode(48, 160)\n\t\t\tTNT1 A 0 A_FadeOut(0.075)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"DarkLichDeathExplosion\", random(-96, 96), random(-96, 96), random(8, 96), 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t\t\tDLCH B 3 A_Explode(48, 160)\n\t\t\tTNT1 A 0 A_FadeOut(0.075)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"DarkLichDeathExplosion\", random(-96, 96), random(-96, 96), random(8, 96), 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t\t\tDLCH B 3 A_Explode(48, 160)\n\t\t\tTNT1 A 0 A_FadeOut(0.075)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"DarkLichDeathExplosion\", random(-96, 96), random(-96, 96), random(8, 96), 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t\t\tDLCH B 3 A_Explode(48, 160)\n\t\t\tTNT1 A 0 A_FadeOut(0.075)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"DarkLichDeathExplosion\", random(-96, 96), random(-96, 96), random(8, 96), 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t\t\tDLCH B 3 A_Explode(48, 160)\n\t\t\tTNT1 A 0 A_FadeOut(0.075)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"DarkLichDeathExplosion\", random(-96, 96), random(-96, 96), random(8, 96), 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t\t\tDLCH B 3 A_Explode(48, 160)\n\t\t\tTNT1 A 0 A_FadeOut(0.075)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"DarkLichDeathExplosion\", random(-96, 96), random(-96, 96), random(8, 96), 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t\t\tDLCH B 3 A_Explode(48, 160)\n\t\t\tTNT1 A 0 A_FadeOut(0.075)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"DarkLichDeathExplosion\", random(-96, 96), random(-96, 96), random(8, 96), 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n\t\t\tTNT1 A -1 A_BossDeath\n\t\tstop\n\t}\n}\n\nActor DarkLichDeathExplosion {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\t+DONTSPLASH\n\tRenderstyle Add\n\tAlpha 0.85\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"MageStaffExplode\")\n\t\t\tBSBS EFGHIJKLM 3 Bright\n\t\tStop\n\t}\n}\n\nACTOR DarkLichMoveFX {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\t+DONTSPLASH\n\tALPHA 0.5\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 3\n\t\t\tDLCH A 3 A_FadeOut(0.10)\n\t\tgoto spawn+1\n\t}\n}\n\nActor UndeadSpiritDamager : BaseExplosionDamage {\n\tDamageType \"DarkLichGhost\"\n\t+PIERCEARMOR\n\t+FORCEPAIN\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_Explode(10 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 3, TARGET, 0), 48, 0, 0, 24)\n\t\tStop\n\t}\n}\n\nActor UndeadSpiritAttack {\n\tPROJECTILE\n\tHeight 6\n\tRadius 4\n\tDamage (1 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 1, TARGET, 0))\n\tDamageType \"DarkLichGhost\"\n\tSpeed 20\n\tRENDERSTYLE ADD\n\tALPHA 0.66\n\tReactionTime 7\n\tHealth 100\n\tDamageFactor \"DarkLichWarp\", 0\n\tDamageFactor \"DarkLichGhost\", 0\n\tDamageFactor \"DarkLichVortex\", 0\n\tDamageFactor \"ArcaneArchWizard\", 0\n\tSpecies \"DarkLich\"\n\t+THRUSPECIES\n\t-NOBLOCKMAP\n\t+GHOST\n\t+SHOOTABLE\n\t+RIPPER\n\t+SEEKERMISSILE\n\t+BLOODLESSIMPACT\n\t+SCREENSEEKER\n\t+NOBLOOD\n\t+HEXENBOUNCE\n\t+PIERCEARMOR\n\t+FORCEPAIN\n\t+CANBOUNCEWATER\n\t+DONTSPLASH\n\t+NODAMAGETHRUST\n\tSeeSound \"SpiritActive\"\n\tDeathSound \"SpiritDie\"\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(WOC_MONSTERSCRIPT, 0, 100, 6)\n\t\tSpawnLoop:\n\t\t\tSPIR A 5 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\t//TNT1 A 0 A_SpawnItem(\"UndeadSpiritDamager\")\n\t\t\tSPIR A 5 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\t//TNT1 A 0 A_SpawnItem(\"UndeadSpiritDamager\")\n\t\t\tTNT1 AA 0 A_SeekerMissile(90, 90)\n\t\t\tSPIR B 5 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\t//TNT1 A 0 A_SpawnItem(\"UndeadSpiritDamager\")\n\t\t\tSPIR B 5 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\t//TNT1 A 0 A_SpawnItem(\"UndeadSpiritDamager\")\n\t\t\tTNT1 AA 0 A_SeekerMissile(90, 90)\n\t\t\tTNT1 A 0 A_PlaySound(\"SpiritActive\")\n\t\t\tTNT1 A 0 A_CountDown\n\t\tLoop\n\t\tDeath:\n\t\t\tSPIR E 4 A_Stop\n\t\t\tSPIR F 5 A_Scream\n\t\t\tSPIR GHIJ 4\n\t\tStop\n\t}\n}\n\nActor DarkLichWarpDamager : BaseExplosionDamage {\n\tDamageType \"DarkLichWarp\"\n\t+NODAMAGETHRUST\n\t+PIERCEARMOR\n\t+FORCEPAIN\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_Explode(10 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 3, TARGET, 0), 64, 0, 0, 24)\n\t\tStop\n\t}\n}\n\nActor DarkLichWarp {\n\tPROJECTILE\n\tRadius 16\n\tHeight 56\n\tDamage (1 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 1, TARGET, 0))\n\tDamageType \"DarkLichWarp\"\n\tReactionTime 7\n\tBounceFactor 0.8\n\tWallBounceFactor 0.8\n\tSpeed 22\n\tRenderstyle Add\n\tAlpha 0.75\n\tMaxStepHeight 48\n\tSpecies \"DarkLich\"\n\t+PIERCEARMOR\n\t-NOGRAVITY\n\t+FORCEPAIN\n\t+THRUACTORS\n\t+BLOODLESSIMPACT\n\t+HEXENBOUNCE\n\t+FLOORHUGGER\n\t+SEEKERMISSILE\n\t+SCREENSEEKER\n\t+STEPMISSILE\n\t+CANBOUNCEWATER\n\t+DONTSPLASH\n\t+NODAMAGETHRUST\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"ironlich/attack3\", CHAN_BODY, 1.0, 1)\n\t\t\tTNT1 A 0 A_ScaleVelocity(0.1)\n\t\t\tFX07 DEFG 3\n\t\t\tTNT1 A 0 A_ChangeFlag(\"FLOORHUGGER\", 0)\n\t\t\tTNT1 A 0 A_ScaleVelocity(10.0)\n\t\tSpawnLoop:\n\t\t\tTNT1 A 0 A_SpawnItem(\"DarkLichWarpDamager\")\n\t\t\tTNT1 A 0 A_FadeOut(0.15)\n\t\t\tFX07 A 2 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\tTNT1 A 0 A_SpawnItem(\"DarkLichWarpDamager\")\n\t\t\tTNT1 A 0 A_FadeOut(0.15)\n\t\t\tFX07 A 3 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\tTNT1 A 0 A_SpawnItem(\"DarkLichWarpDamager\")\n\t\t\tTNT1 A 0 A_FadeOut(0.15)\n\t\t\tFX07 B 2 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\tTNT1 A 0 A_SpawnItem(\"DarkLichWarpDamager\")\n\t\t\tTNT1 A 0 A_FadeIn(0.15)\n\t\t\tFX07 B 3 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\tTNT1 A 0 A_SpawnItem(\"DarkLichWarpDamager\")\n\t\t\tTNT1 A 0 A_FadeIn(0.15)\n\t\t\tFX07 C 2 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\tTNT1 A 0 A_SpawnItem(\"DarkLichWarpDamager\")\n\t\t\tTNT1 A 0 A_FadeIn(0.15)\n\t\t\tFX07 C 3 A_SeekerMissile(10, 30, SMF_LOOK)\n\t\t\tTNT1 A 0 A_CountDown\n\t\tLoop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_Stop\n\t\t\tFX07 GFE 3\n\t\t\tTNT1 A 0 A_StopSound(CHAN_BODY)\n\t\t\tFX07 D 3\n\t\tStop\n\t}\n}\n\nActor DarkLichVortexExp1 : BaseExplosionDamage {\n\tDamageType \"DarkLichVortex\"\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_Explode(24 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 5, TARGET, 0), 160,0)\n\t\tStop\n\t}\n}\n\nActor DarkLichVortexExp2 : BaseExplosionDamage {\n\tDamageType \"DarkLichVortex\"\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_Explode(36 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 8, TARGET, 0), 192,0)\n\t\tStop\n\t}\n}\n\nActor DarkLichVortexExp3 : BaseExplosionDamage {\n\tDamageType \"DarkLichVortex\"\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_Explode(48 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 11, TARGET, 0), 224,0)\n\t\tStop\n\t}\n}\n\nActor DarkLichVortexExp4 : BaseExplosionDamage {\n\tDamageType \"DarkLichVortex\"\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_Explode(60 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 13, TARGET, 0), 288,0)\n\t\tStop\n\t}\n}\n\nActor DarkLichVortexExp5 : BaseExplosionDamage {\n\tDamageType \"DarkLichVortex\"\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_Explode(72 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 16, TARGET, 0), 360,0)\n\t\tStop\n\t}\n}\n\nActor DarkLichVortex {\n\tPROJECTILE\n\tHeight 10\n\tRadius 6\n\tSpeed 20\n\tDamage (80 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 18, TARGET, 0))\n\tDamageType \"Arcane\"\n\tSeeSound \"redballbsee\"\n\tDeathSound \"DarkLich/VortexHit\"\n\tSpecies \"DarkLich\"\n\t+BLOODLESSIMPACT\n\t+NODAMAGETHRUST\n\tStates {\n\t\tSpawn:\n\t\t\tGNF1 ABCABC 2 BRIGHT\n\t\t\tTNT1 A 0 A_PlaySound(\"weapons/gauntletson\")\n\t\tLoop\n\t\tDeath:\n\t\t\tGNF1 D 2 BRIGHT\n\t\t\tGNF1 E 2 BRIGHT A_PlaySound(\"weapons/gauntletsuse\")\n\t\t\tGNF1 F 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp1\")\n\t\t\tGNF1 G 2 BRIGHT\n\t\t\tGNF1 H 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp2\")\n\t\t\tGNF1 I 2 BRIGHT\n\t\t\tGNF1 J 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp3\")\n\t\t\tGNF1 K 2 BRIGHT\n\t\t\tGNF1 L 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp4\")\n\t\t\tGNF1 M 2 BRIGHT\n\t\t\tGNF1 N 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp5\")\n\t\t\tGNF1 O 2 BRIGHT\n\t\t\tGNF1 P 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp4\")\n\t\t\tGNF1 Q 2 BRIGHT\n\t\t\tGNF1 R 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp3\")\n\t\t\tGNF1 S 2 BRIGHT A_FadeOut(0.2)\n\t\t\tGNF1 T 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp2\")\n\t\t\tGNF1 U 2 BRIGHT A_FadeOut(0.2)\n\t\t\tGNF1 V 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp1\")\n\t\t\tGNF1 W 2 BRIGHT A_FadeOut(0.2)\n\t\t\tGNF1 X 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp1\")\n\t\t\tGNF1 Y 2 BRIGHT A_FadeOut(0.2)\n\t\t\tGNF1 Z 2 BRIGHT A_SpawnItem(\"DarkLichVortexExp1\")\n\t\t\tGNF1 \"[\" 2 BRIGHT A_FadeOut(0.2)\n\t\tStop\n\t}\n}\n\nACTOR DarkLichHomingBall : MageStaffFX2\n{\n Speed 16\n SeeSound \"MageStaffFire\"\n DeathSound \"MageStaffExplode\"\n DamageType \"ArcaneArchWizard\"\n Damage (random(15, 30) + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 5, TARGET, 0))\n Species \"DarkLich\"\n +NODAMAGETHRUST\n States\n {\n Spawn:\n BSBS A 0 Bright Light(DISCIPLEBALL)\n BSBS A 0 Bright Light(DISCIPLEBALL) A_PlaySoundEx (\"archwizard/ballfly\", \"SoundSlot6\", 1)\n BSBS A 2 Bright Light(DISCIPLEBALL)\n BSBS A 0 Bright Light(DISCIPLEBALL) A_SpawnItemEx (\"ArchWSpark\", random (-6, 6), random (-6, 6), random (-6, 6), 0, 0, 0, 0, 160)\n BSBS B 2 Bright Light(DISCIPLEBALL)\n BSBS B 0 Bright Light(DISCIPLEBALL) A_SpawnItemEx (\"ArchWSpark\", random (-6, 6), random (-6, 6), random (-6, 6), 0, 0, 0, 0, 160)\n BSBS C 2 Bright Light(DISCIPLEBALL)\n SpawnLoop:\n BSBS C 0 Bright Light(DISCIPLEBALL) A_SpawnItemEx (\"ArchWSpark\", random (-6, 6), random (-6, 6), random (-6, 6), 0, 0, 0, 0, 160)\n BSBS D 2 Bright Light(DISCIPLEBALL) A_MStaffTrack\n BSBS D 0 Bright Light(DISCIPLEBALL) A_SpawnItemEx (\"ArchWSpark\", random (-6, 6), random (-6, 6), random (-6, 6), 0, 0, 0, 0, 160)\n BSBS A 0 Bright Light(DISCIPLEBALL) A_MStaffTrack\n BSBS A 0 Bright Light(DISCIPLEBALL) A_PlaySoundEx (\"archwizard/ballfly\", \"SoundSlot6\", 1)\n BSBS A 2 Bright Light(DISCIPLEBALL) A_MStaffTrack\n BSBS A 0 Bright Light(DISCIPLEBALL) A_SpawnItemEx (\"ArchWSpark\", random (-6, 6), random (-6, 6), random (-6, 6), 0, 0, 0, 0, 160)\n BSBS B 2 Bright Light(DISCIPLEBALL) A_MStaffTrack\n BSBS B 0 Bright Light(DISCIPLEBALL) A_SpawnItemEx (\"ArchWSpark\", random (-6, 6), random (-6, 6), random (-6, 6), 0, 0, 0, 0, 160)\n BSBS C 2 Bright Light(DISCIPLEBALL) A_MStaffTrack\n\tLoop\n Death:\n BSBS E 0 Bright Light(DISCIPLEBALL) A_StopSoundEx (\"SoundSlot6\")\n BSBS E 0 Bright Light(DISCIPLEBALL) A_SetTranslucent (1, 1)\n BSBS E 3 Bright Light(DISCIPLEBALL) A_SpawnItem(\"ArchWizardExp1\")\n BSBS FGHIJKLM 3 Bright\n Stop\n }\n}"
},
{
"source": "pk3",
"name": "CultZealot.txt",
"contents": "Actor CultZealot\n{\n\tHealth 700\n\tMONSTER\n\t+MISSILEMORE\n\t+MISSILEEVENMORE\n\t+DONTHARMSPECIES\n\t+QUICKTORETALIATE\n\t+NOBLOOD\n\t+NODAMAGETHRUST\n\t+DONTMORPH\n\tTag \"Tifsim the Fire Mage\"\n\tSeeSound \"CultZealot/See\"\n\tPainSound \"CultZealot/Pain\"\n\tActiveSound \"CultZealot/Act\"\n\tDeathSound \"CultZealot/Die\"\n\tObituary \"%o became a short fire cracker by Tifsim.\"\n\tPainChance 48\n\tRadius 20\n\tHeight 56\n\tSpeed 10\n\tMass 1500\n\tMeleeRange 84\n\tMinMissileChance 28\n\tDropItem \"AccessoryRandomSpawner\" 8\n\tSpecies \"Archvile\"\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(WOC_MONSTERSCRIPT, 0, 700, 56, WOC_SUBBOSS)\n\t\tIdle:\n\t\t\tRSON AB 10 A_Look\n\t\tLoop\n\t\tSee:\n\t\t\tRSON A 3 A_Chase\n\t\t\tRSON A 3 A_Chase(\"\")\n\t\t\tRSON B 3 A_Chase\n\t\t\tRSON B 3 A_Chase(\"\")\n\t\t\tRSON C 3 A_Chase\n\t\t\tRSON C 3 A_Chase(\"\")\n\t\t\tRSON D 3 A_Chase\n\t\t\tRSON D 3 A_Chase(\"\")\n\t\tLoop\n\t\tMelee:\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump(64, \"Shield\")\n\t\t\tTNT1 A 0 A_Jump(192, \"Attack1\", \"Attack2\", \"Teleport\")\n\t\tGoto Attack1\n\t\tDecide:\n\t\t\tTNT1 A 0 A_Jump(184, \"Shield\")\n\t\t\tTNT1 A 0 A_Jump(96, \"Attack1\")\n\t\t\tTNT1 A 0 A_Jump(224, \"Attack2\", \"Teleport\")\n\t\tGoto Attack1\n\t\tAttack1:\n\t\t\tRSON FFFF 4 Bright A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"DarkZealotLightning_Slither\", 44, 0, 8)\n\t\t\tRSON G 5 Bright A_CustomMissile(\"DarkZealotLightning\", 44)\n\t\t\tRSON TT 4 Bright A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"DarkZealotLightning_Slither\", 44, 0, -8)\n\t\t\tRSON U 5 Bright A_CustomMissile(\"DarkZealotLightning\", 44)\n\t\t\tRSON FF 4 Bright A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile(\"DarkZealotLightning_Slither\", 44, 0, 8)\n\t\t\tRSON G 5 Bright A_CustomMissile(\"DarkZealotLightning\", 44)\n\t\tGoto See\n\t\tAttack2:\n\t\t\tTNT1 A 0 A_PlaySound(\"CultZealot/Attack1\", CHAN_WEAPON)\n\t\t\tRSON FFF 4 Bright A_FaceTarget\n\t\t\tRSON G 9 Bright A_CustomMissile(\"HadesBolt\", 0, 0, 16)\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tRSON G 9 Bright A_CustomMissile(\"HadesBolt\", 0, 0, 4)\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tRSON G 9 Bright A_CustomMissile(\"HadesBolt\", 0, 0, -4)\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tRSON G 9 Bright A_CustomMissile(\"HadesBolt\", 0, 0, -16)\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tRSON G 9 Bright A_CustomMissile(\"HadesBolt\", 0, 0)\n\t\tGoto See\n\t\tRedecide:\n\t\t\tTNT1 A 0 A_Jump(96, \"Attack1\")\n\t\t\tTNT1 A 0 A_Jump(192, \"Attack2\", \"Teleport\")\n\t\tGoto Attack1\n\t\tOffense:\n\t\t\tTNT1 A 0 A_Jump(256, \"Attack1\", \"Attack2\")\n\t\tGoto Attack1\n\t\tShield:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"ZealotShielded\", 1, \"Redecide\")\n\t\t\tRSON F 1 Bright\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"ZealotShielded\", 1)\n\t\t\tRSON FF 6 Bright A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"CultZealot/Magic\", CHAN_WEAPON)\n\t\t\tTNT1 A 0 A_Blast(0, 3, 84, 24)\n\t\t\tRSON G 8 Bright A_SetReflectiveInvulnerable\n\t\tGoto See\n\t\tPain:\n\t\t\tTNT1 A 0 A_Jump(96, \"Teleport\")\n\t\t\tRSON E 3\n\t\t\tRSON E 3 A_Pain\n\t\tGoto See\n\t\tTeleport:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"ZealotShielded\", 1, \"Offense\")\n\t\t\tTNT1 A 0 A_PlaySound(\"CultZealot/Laugh\")\n\t\t\tTNT1 A 0 A_UnsetShootable\n\t\t\tRSON OPQRS 3 Bright\n\t\tTeleportLoop:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"ZealotTeleport\", 0, \"TeleportFinish\")\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx(\"DarkServantTrail2\", frandom(-36.0, 36.0), frandom(-36.0, 36.0), frandom(8.0, 56.0), 0, 0, 0, 0, SXF_NOCHECKPOSITION | SXF_CLIENTSIDE)\n\t\t\tTNT1 AA 0 A_Wander\n\t\t\tTNT1 A 2 A_Wander\n\t\t\tTNT1 A 0 A_GiveInventory(\"ZealotTeleport\", 1)\n\t\tLoop\n\t\tTeleportFinish:\n\t\t\tTNT1 A 0 A_ScaleVelocity(0.5)\n\t\t\tTNT1 A 0 A_TakeInventory(\"ZealotTeleport\", 0)\n\t\t\tRSON SRQPO 3 Bright\n\t\t\tTNT1 A 0 A_SetShootable\n\t\tGoto See\n\t\tDeath:\n\t\t\tRSON H 6\n\t\t\tTNT1 A 0 A_SetTranslucent(1.0, 0)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(WOC_MONSTERXPSCRIPT, 0, 130)\n\t\t\tRSON I 6 A_Scream\n\t\t\tTNT1 A 0 A_SpawnItem(\"DissipationEffect\")\n\t\t\tRSON J 6\n\t\t\tRSON K 6 A_NoBlocking\n\t\t\tRSON LM 6\n\t\t\tRSON N -1\n\t\tStop\n\t Ice:\n\t\t\t\"----\" A 0 ACS_ExecuteAlways(WOC_MONSTERXPSCRIPT, 0, 130)\n\t\t\t\"----\" G 5 A_GenericFreezeDeath\n\t\t\t\"----\" G 1 A_FreezeDeathChunks\n\t\tWait\n\t}\n}\n\nActor ZealotTeleport : Inventory {\n\tinventory.maxamount 25\n}\n\nActor ZealotShielded : MON_Boolean { }\n\nActor DarkServantTrail2 {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tRenderstyle Add\n\tHeight 1\n\tRadius 1\n\tStates {\n\t\tSpawn:\n\t\t\tZLTT HHIIHHIIJJKK 1 Bright A_FadeOut(0.05)\n\t\t\tZLTT L 2 Bright\n\t\tStop\n\t}\n}\n\nActor HadesBoltExp : BaseExplosionDamage\n{\n\tDamageType \"Lightning\"\n\tObituary \"%o was tormented to death by a Cult Zealot.\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_Explode(16 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 4, TARGET, 0), 64, 0)\n\t\tStop\n\t}\n}\n\nActor HadesBoltExp2 : BaseExplosionDamage\n{\n\tDamageType \"Lightning\"\n\tObituary \"%o was tormented to death by a Cult Zealot.\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_Explode(32 + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 7, TARGET, 0), 64, 0)\n\t\tStop\n\t}\n}\n\nActor HadesBolt : CacodemonBall\n{\n Damage (random(15, 30) + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 5, TARGET, 0))\n Speed 5\n Radius 8\n Height 8\n Damagetype \"Lightning\"\n SeeSound \"weapons/none\"\n DeathSound \"weapons/gntidl\"\n YScale 4.0\n XScale 2.0\n ReactionTime 28\n Mass 256\n +FloorHugger\n +HexenBounce\n +Ripper\n -NoGravity\n +NODAMAGETHRUST\n +BloodlessImpact\n Renderstyle Add\n States\n {\n Spawn:\n LFX2 F 1 Bright A_SpawnItem(\"HadesBoltExp\")\n\tTNT1 A 0 A_PlaySound(\"Monster/hadtel\")\n LFX2 F 0 Bright A_CustomMissile(\"HadesBolt2\",0,0,0,6,90)\n LFX2 F 0 ThrustThing(random(0,255),1,0,0)\n LFX2 G 1 Bright A_SpawnItem(\"HadesBoltExp\")\n LFX2 G 0 Bright A_CustomMissile(\"HadesBolt2\",0,0,0,6,90)\n LFX2 H 1 Bright A_SpawnItem(\"HadesBoltExp\")\n LFX2 H 0 Bright A_CustomMissile(\"HadesBolt2\",0,0,0,6,90)\n LFX2 I 1 Bright A_SpawnItem(\"HadesBoltExp\")\n LFX2 I 0 Bright A_CustomMissile(\"HadesBolt2\",0,0,0,6,90)\n LFX2 J 1 Bright A_SpawnItem(\"HadesBoltExp\")\n LFX2 J 0 Bright A_CustomMissile(\"HadesBolt2\",0,0,0,6,90)\n LFX2 J 0 Bright A_CountDown\n Loop\n Death:\n LFX2 FGHIJ 2 Bright A_SpawnItem(\"HadesBoltExp2\")\n Stop\n }\n}\n\nActor HadesBolt2 : CacodemonBall\n{\n Damage 0\n Speed 184\n RenderStyle None\n DamageType \"Lightning\"\n +ThruGhost\n +Ripper\n +NODAMAGETHRUST\n SeeSound \"Monster/hadtel\"\n States\n {\n Spawn:\n TNT1 A 1 Bright A_SpawnItem(\"HadesBoltExp\")\n Loop\n Death:\n TNT1 A 1 Bright\n Stop\n }\n}\n\nActor ZealotShield {\n\tHeight 1\n\tRadius 1\n\t+THRUACTORS\n\t+CLIENTSIDEONLY\n\tRenderstyle Add\n\tStates {\n\t\tSpawn:\n\t\t\tTXP2 ABCDEFGH 2 Bright A_FadeOut(0.0825)\n\t\t\tTXP2 IJKLMNOP 2 Bright A_FadeIn(0.0825)\n\t\tLoop\n\t\tDeath:\n\t\t\tTXP2 \"#########\" 1 A_FadeOut(0.085)\n\t\tStop\n\t}\n}\n\nActor ZealotUnsetReflection : MON_Activator {\n\tStates {\n\t\tPickup:\n\t\t\tTNT1 A 0 A_ChangeFlag(\"NOPAIN\", 0)\n\t\t\tTNT1 A 0 A_TakeInventory(\"ZealotShielded\", 1)\n\t\t\tTNT1 A 0 A_UnsetReflectiveInvulnerable\n\t\tStop\n\t}\n}\n\nActor DarkZealotLightningTrail {\n\tRenderstyle Add\n\tAlpha 1.0\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tLFX1 XYZ 2 A_FadeOut(0.1)\n\t\tLoop\n\t}\n}\n\nActor DarkZealotLightning {\n\tPROJECTILE\n\tHeight 18\n\tRadius 12\n\tSpeed 40\n\tDamage (random(15, 30) + ACS_ExecuteWithResult(WOC_MONSTERSCALE, 5, TARGET, 0))\n\t+PIERCEARMOR\n\t+NODAMAGETHRUST\n\tDamageType \"Lightning\"\n\tRenderstyle Add\n\tSeeSound \"CultZealot/Lightning\"\n\tDeathSound \"CultZealot/LightningHit\"\n\tStates {\n\t\tSpawn:\n\t\t\tLFX1 XYZ 3 Bright A_SpawnItem(\"DarkZealotLightningTrail\")\n\t\tLoop\n\t\tDeath:\n\t\t\tDLIT J 4 Bright\n\t\t\tDLIT KL 3 Bright\n\t\t\tDLIT MNO 2\n\t\tStop\n\t}\n}\n\nActor DarkZealotLightning_Slither : DarkZealotLightning {\n\tStates {\n\t\tSpawn:\n\t\t\tTNT1 A 0 A_SpawnItem(\"DarkZealotLightningTrail\")\n\t\t\tTNT1 A 0 A_CstaffMissileSlither\n\t\t\tLFX1 X 1 Bright A_CstaffMissileSlither\n\t\t\tTNT1 A 0 A_CstaffMissileSlither\n\t\t\tLFX1 X 1 Bright A_CstaffMissileSlither\n\t\t\tTNT1 A 0 A_CstaffMissileSlither\n\t\t\tLFX1 X 1 Bright A_CstaffMissileSlither\n\t\t\tTNT1 A 0 A_SpawnItem(\"DarkZealotLightningTrail\")\n\t\t\tLFX1 Y 1 Bright A_CstaffMissileSlither\n\t\t\tTNT1 A 0 A_CstaffMissileSlither\n\t\t\tLFX1 Y 1 Bright A_CstaffMissileSlither\n\t\t\tTNT1 A 0 A_CstaffMissileSlither\n\t\t\tLFX1 Y 1 Bright A_CstaffMissileSlither\n\t\t\tTNT1 A 0 A_SpawnItem(\"DarkZealotLightningTrail\")\n\t\t\tLFX1 Z 1 Bright A_CstaffMissileSlither\n\t\t\tTNT1 A 0 A_CstaffMissileSlither\n\t\t\tLFX1 Z 1 Bright A_CstaffMissileSlither\n\t\t\tTNT1 A 0 A_CstaffMissileSlither\n\t\t\tLFX1 Z 1 Bright A_CstaffMissileSlither\n\t\tLoop\n\t}\n}"
},
{
"source": "pk3",
"name": "Common.txt",
"contents": "Actor MON_Boolean : Inventory {\n\tinventory.maxamount 1\n}\n\nActor MON_Activator : CustomInventory {\n\tinventory.maxamount 1\n\t+INVENTORY.ALWAYSPICKUP\n\t+INVENTORY.AUTOACTIVATE\n\t+INVENTORY.IGNORESKILL\n\t+INVENTORY.UNDROPPABLE\n}\n\nActor BaseExplosionDamage // this is necessary, calling A_Explode in actor can cause unwanted effects.\n{\n\tSpeed 0\n\tHeight 4\n\tRadius 4\n\tDamage (0)\n\t+MISSILE\n\t+DONTBLAST\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+DONTSPLASH\n\t-TELESTOMP\n\t+NODAMAGETHRUST\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1\n\t\tStop\n\t}\n}\n\nACTOR PowerHalfProtection : PowerProtection {\n DamageFactor \"Normal\", 1.5\n}\n\nACTOR PowerHalfSpeed : PowerSpeed {\n Speed 0.5\n}\n\nActor PowerLessDamage : PowerDamage {\n\tDamageFactor \"Normal\", 0.3\n}\n\nACTOR CrimsonLichCursed : PowerupGiver\n{\n -INVENTORY.INVBAR\n +INVENTORY.AUTOACTIVATE\n Inventory.MaxAmount 0\n Powerup.Color \"Red2\" 0.15\n Powerup.Type \"PowerHalfProtection\"\n Powerup.Duration 1050\n}\n\nActor FleshWizardSlow1 : PowerSpeed {\n\tSpeed 0.75\n\tPowerup.duration -2\n\tpowerup.color \"Red2\" 0.15\n}\n\nActor FleshWizardSlow2 : PowerSpeed {\n\tSpeed 0.5\n\tpowerup.duration 52\n\tpowerup.color \"Red2\" 0.125\n}\n\nActor FleshWizardWeaken : PowerDamage {\n\tpowerup.duration 52\n\tdamagefactor \"normal\", 0.75\n}\n\nActor FleshWizardSnare : PowerSpeed {\n\tSpeed 0\n\tpowerup.duration -1\n\tpowerup.color \"Red2\" 0.15\n}\n\nActor HierophantCurse1 : PowerDamage {\n\tpowerup.duration -3\n\tdamagefactor \"normal\", 0.25\n\tPowerup.Color \"88 16 88\" 0.2\n}\n\nActor HierophantCurse2 : PowerSpeed {\n\tpowerup.duration -3\n\tSpeed 0.5\n}\n\nActor DarkLichWarpDamageCooldown : PowerDamage {\n\tpowerup.duration 4\n\tdamagefactor \"normal\", 1.0\n}\n\nActor DarkLichGhostDamageCooldown : PowerDamage {\n\tpowerup.duration 7\n\tdamagefactor \"normal\", 1.0\n}"
}
]
},
"maps": []
}