Raw model (for completeness)
{
"meta": {
"id": "0cd71dfb-9257-43fa-bdfb-369439a1f7c8",
"sha1": "9afab21215f1784a39521118ce3af45956db2952",
"sha256": "f2646e3a6dbca25af05c29eb8ec0785b2583bccd743a51e82587765286007b68",
"filenames": [
"sm4bbgorev2.pk3"
],
"additional": {
"engines": [
"ZDOOM"
],
"iwad": [],
"filename": null,
"added": "2018-11-22 02:19:56",
"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-11-22 02:19:56",
"file": {
"type": "PK3",
"size": 819769,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/9afab21215f1784a39521118ce3af45956db2952/9afab21215f1784a39521118ce3af45956db2952.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 215,
"maps": 0,
"palettes": 0
},
"engines_guess": [
"ZDOOM"
]
},
"text_files": [
{
"source": "pk3",
"name": "ACSGore.txt",
"contents": "#library \"ACSGORE\"\n#include \"zcommon.acs\"\n\nscript \"BBGORE_CheckKill\" KILL\n{\n\n\t//First we check if it's actually a monster, and if it bleeds.\n\tif (CheckFlag(0, \"ISMONSTER\") || !CheckFlag(0, \"NOBLOOD\"))\n\t\t{\n\t\t//To make an enemy spawn green blood, set it's \"accuracy\" 999, or 998 for blue.\n\t\t//\"Accuracy\" has nothing to do with the monster's actual accuracy, it's a compatibility\n\t\t//script only used in Strife that has no actual practical use, but can be used to track a\n\t\t//generic thing type with GetActorProperty. It's a way to tell the engine that anything with\n\t\t//the \"Accuracy\" property set to 999 should spawn green gibs.\n\t\t//A simpler solution would be checking APROP_NameTag to check if its a Baron or a Cacodemon, but\n\t\t//this wouldn't solve the issue with blood hit actors, since it's impossible to change the\n\t\t//BloodColor property of a monster without changing it's DECORATE script directly (wish the\n\t\t//GZDoom and Zandro devs could had fixed the monster blood bug by default)\n\t\t//This section of the script is entirely irrelevant if you are porting the system to your mod.\n\n\t\t\t\t\t//Checks if the monster is marked to spawn green blood.\n\t\t\t\t\tif (GetActorProperty(0, APROP_Accuracy) == 999) {\n\t\t\t\t\t\tif (GetActorProperty(0, APROP_Health) < (GetCvar(\"bd_mingibhealth\")))\n\t\t\t\t\t\t{\n\t\t\t\t\t\tSpawn(\"BBGreenGoreSpawn\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n\t\t\t\t\t\tSetActorProperty(0, APROP_ScaleX, 0.001); SetActorProperty(0, APROP_ScaleY, 0.001); SetActorProperty(0, APROP_NoTarget, 1);\n\t\t\t\t\t\tterminate;}\n\n\t\t\t\t\t\tSpawn(\"GreenGrowingBloodPool\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n\t\t\t\t\t\tterminate;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t//Checks if the monster is marked to spawn blue blood.\n\t\t\t\t\tif (GetActorProperty(0, APROP_Accuracy) == 998) {\n\t\t\t\t\t\tif (GetActorProperty(0, APROP_Health) < (GetCvar(\"bd_mingibhealth\")))\n\t\t\t\t\t\t{\n\t\t\t\t\t\tSpawn(\"BBBlueGoreSpawn\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n\t\t\t\t\t\tSetActorProperty(0, APROP_ScaleX, 0.001); SetActorProperty(0, APROP_ScaleY, 0.001); SetActorProperty(0, APROP_NoTarget, 1);\n\t\t\t\t\t\tterminate;}\n\n\t\t\t\t\t\tSpawn(\"BlueGrowingBloodPool\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n\t\t\t\t\t\tterminate;\n\t\t\t\t\t\t}\n\n\t//Now that the issue with colored blood monsters is solved, let's spawn the regular red blood.\n\n\t\t\t\t//Minimal health for gibbing.\n\t\t\t\tif (GetActorProperty(0, APROP_Health) < (GetCvar(\"bd_mingibhealth\")))\n\t\t\t\t\t{\n\n\t\t\t\t\t//Possibly a Lost Soul or something similar, don't spawn anything.\n\t\t\t\t\tif (GetActorProperty(0, APROP_RenderStyle) != STYLE_Normal) {\tterminate;}\n\n\t\t\t\t\t//Possibly a tiny thing like a rat or a spider.\n\t\t\t\t\tif (GetActorProperty(0, APROP_Height) < 9.0) {\n\t\t\t\t\tSpawn(\"MeatDeathTiny\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n\t\t\t\t\tSetActorProperty(0, APROP_ScaleX, 0.001); SetActorProperty(0, APROP_ScaleY, 0.001); SetActorProperty(0, APROP_NoTarget, 1);\n\n\t\t\t\t\tterminate;}\n\n\t\t\t\t\t//Possibly a medium thing like a dog.\n\t\t\t\t\tif (GetActorProperty(0, APROP_Height) < 38.0) {\n\t\t\t\t\tSpawn(\"MeatDeathSmall\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n\t\t\t\t\tSetActorProperty(0, APROP_ScaleX, 0.001); SetActorProperty(0, APROP_ScaleY, 0.001); SetActorProperty(0, APROP_NoTarget, 1);\n\t\t\t\t\tterminate;}\n\n\t\t\t\t\t//Normal gibs\n\t\t\t\t\tSpawn(\"MeatDeath\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n\t\t\t\t\t//Might be a large enemy, like a Cacodemon or a Mancubus, spawn extra gibs.\n\t\t\t\t\tif (GetActorProperty(0, APROP_Radius) > 30.0) {\tSpawn(\"MeatDeathFat\", GetACtorX(0), GetACtorY(0), GetActorZ(0));}\n\t\t\t\t\t//Might be a huge enemy, like a Cyberdemon, spawn extra gibs.\n\t\t\t\t\tif (GetActorProperty(0, APROP_Height) > 100.0){\tSpawn(\"MeatDeathGiant\", GetACtorX(0), GetACtorY(0), GetActorZ(0));}\n\t\t\t\t\tSetActorProperty(0, APROP_ScaleX, 0.001); SetActorProperty(0, APROP_ScaleY, 0.001); SetActorProperty(0, APROP_NoTarget, 1);\n\t\t\t\t\tterminate;\n\t\t\t\t\t}\n\n\t\t\tdelay(35);\n\t\t\tSpawn(\"GrowingBloodPool\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n\t\t}\n\n}\n\nScript \"BB_PlayerDeath\" DEATH\n{\n\t\tif (GetActorProperty(0, APROP_Health) < (GetCvar(\"bd_mingibhealth\")))\n\t\t\t{\n\t\t\tSpawn(\"MeatDeath\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n\t\t\tSetActorState(0, \"Xdeath\");\n\t\t\t}\n\t\tdelay(35);\n\t\tSpawn(\"GrowingBloodPool\", GetACtorX(0), GetACtorY(0), GetActorZ(0));\n}\n\nScript \"BD_CheckBloodIntensity\" (VOID)\n{\n\n\tif\t(GetCvar(\"isrunningzandronum\") == 1)\n\t{\n\tif\t(GetCvar( \"bd_bloodamount\") == 0) { SetActorState(0,\"LowBlood\"); }\n\tif\t(GetCvar( \"bd_bloodamount\") == 1) { SetActorState(0,\"LowBlood\"); }\n\tif\t(GetCvar( \"bd_bloodamount\") == 3) { SetActorState(0,\"LotsOfBlood\"); }\n\tif\t(GetCvar( \"bd_bloodamount\") >= 4) { SetActorState(0,\"AbsurdBlood\"); }\n\t}\n\n\tif\t(GetCvar(\"isrunningzandronum\") == 0)\n\t{\n\tif\t(GetCvar(\"zdoombrutalblood\") == 0) { SetActorState(0,\"LowBlood\"); }\n\tif\t(GetCvar(\"zdoombrutalblood\") == 1) { SetActorState(0,\"LowBlood\"); }\n\tif\t(GetCvar(\"zdoombrutalblood\") == 3) { SetActorState(0,\"LotsOfBlood\"); }\n\tif\t(GetCvar(\"zdoombrutalblood\") == 4) { SetActorState(0,\"AbsurdBlood\"); }\n\t}\n\n\tif\t(GetCvar(\"isrunningzandronum\") == 1)\n\t{\n\t\tif\t(GetCvar(\"bd_bloodamount\") >= 5)\n\t\t\t{\n\t\t\tSetActorState(0,\"AbsurdBlood\");\n\t\t\tGiveInventory(\"AnimuGore\", 1);\n\t\t\t}\n\t}\n\n\tif\t(GetCvar(\"isrunningzandronum\") == 0)\n\t{\n\tif\t(GetCvar(\"zdoombrutalblood\") >= 5)\n\t\t{\n\t\tSetActorState(0,\"AbsurdBlood\");\n\t\tGiveInventory(\"AnimuGore\", 1);\n\t\t}\n\t}\n\n}\n\nScript \"BD_CheckIfLowBlood\" (VOID)\n{\nif\t(GetCvar(\"bd_bloodamount\") == 1) { SetActorState(0,\"Vanish\"); }\nif\t(GetCvar(\"bd_bloodamount\") == 0) { SetActorState(0,\"Vanish\"); }\n}\n\nscript \"BD_CheckIfOverLiquid\" (void) //Water Small Splash\n{\n\tif (CheckActorFloorTexture(0, \"FWATER1\")) GiveInventory(\"IsOverWater\", 1);\n\tif (CheckActorFloorTexture(0, \"FWATER2\")) GiveInventory(\"IsOverWater\", 1);\n\tif (CheckActorFloorTexture(0, \"FWATER3\")) GiveInventory(\"IsOverWater\", 1);\n\tif (CheckActorFloorTexture(0, \"FWATER4\")) GiveInventory(\"IsOverWater\", 1);\n\n if (CheckActorFloorTexture(0, \"NUKAGE1\")) GiveInventory(\"IsOverNukage\", 1);\n if (CheckActorFloorTexture(0, \"NUKAGE2\")) GiveInventory(\"IsOverNukage\", 1);\n if (CheckActorFloorTexture(0, \"NUKAGE3\")) GiveInventory(\"IsOverNukage\", 1);\n if (CheckActorFloorTexture(0, \"NUKAGE4\")) GiveInventory(\"IsOverNukage\", 1);\n\n if (CheckActorFloorTexture(0, \"SLIME01\")) GiveInventory(\"IsOverSlime\", 1);\n if (CheckActorFloorTexture(0, \"SLIME02\")) GiveInventory(\"IsOverSlime\", 1);\n if (CheckActorFloorTexture(0, \"SLIME03\")) GiveInventory(\"IsOverSlime\", 1);\n if (CheckActorFloorTexture(0, \"SLIME04\")) GiveInventory(\"IsOverSlime\", 1);\n if (CheckActorFloorTexture(0, \"SLIME05\")) GiveInventory(\"IsOverSlime\", 1);\n if (CheckActorFloorTexture(0, \"SLIME06\")) GiveInventory(\"IsOverSlime\", 1);\n if (CheckActorFloorTexture(0, \"SLIME07\")) GiveInventory(\"IsOverSlime\", 1);\n if (CheckActorFloorTexture(0, \"SLIME08\")) GiveInventory(\"IsOverSlime\", 1);\n\n if (CheckActorFloorTexture(0, \"SLIME09\")) GiveInventory(\"IsOverLava\", 1);\n if (CheckActorFloorTexture(0, \"SLIME10\")) GiveInventory(\"IsOverLava\", 1);\n if (CheckActorFloorTexture(0, \"SLIME11\")) GiveInventory(\"IsOverLava\", 1);\n if (CheckActorFloorTexture(0, \"SLIME12\")) GiveInventory(\"IsOverLava\", 1);\n\n if (CheckActorFloorTexture(0, \"LAVA1\")) GiveInventory(\"IsOverLava\", 1);\n if (CheckActorFloorTexture(0, \"LAVA2\")) GiveInventory(\"IsOverLava\", 1);\n if (CheckActorFloorTexture(0, \"LAVA3\")) GiveInventory(\"IsOverLava\", 1);\n if (CheckActorFloorTexture(0, \"LAVA4\")) GiveInventory(\"IsOverLava\", 1);\n\n if (CheckActorFloorTexture(0, \"BLOOD1\")) GiveInventory(\"IsOverBlood\", 1);\n if (CheckActorFloorTexture(0, \"BLOOD2\")) GiveInventory(\"IsOverBlood\", 1);\n if (CheckActorFloorTexture(0, \"BLOOD3\")) GiveInventory(\"IsOverBlood\", 1);\n if (CheckActorFloorTexture(0, \"BLOOD4\")) GiveInventory(\"IsOverBlood\", 1);\n}"
},
{
"source": "pk3",
"name": "DECORATE.txt",
"contents": "#include TOMATOSAUCE.txt //Blood actors\n#include MEAT.txt //Gib actors\n#include SERVING.txt //Gore Groups (spawns gibs and blood when enemies explodes)\n\n#include GREENGORE.txt\n#include BLUEGORE.txt\n\n//These are inventory tokens required for several things.\nActor IsOverWater : Inventory{inventory.maxamount 1}\nActor IsOverSlime : Inventory{inventory.maxamount 1}\nActor IsOverSludge : Inventory{inventory.maxamount 1}\nActor IsOverBlood : Inventory{inventory.maxamount 1}\nActor IsOverNukage : Inventory{inventory.maxamount 1}\nActor AnimuGore : Inventory{inventory.maxamount 1}\nActor IsOverLava : Inventory{inventory.maxamount 1}\nActor LowGraphicsMode : Inventory{inventory.maxamount 1}\nActor IsOverSlimy : Inventory{inventory.maxamount 1}"
},
{
"source": "pk3",
"name": "TomatoSauce.txt",
"contents": "//All the liquid gore stuff goes here.\n\n//Hit puff actor\n\nactor Bolognese_Blood Replaces Blood\n{\n\tDecal BrutalBloodSplat\n\tRenderstyle Translucent\n\t+FORCEXYBILLBOARD\n\t+THRUACTORS\n\t+CLIENTSIDEONLY\n\tScale 0.8\n\tAlpha 0.7\n\tMass 999999\n\t states\n\t {\n\t Spawn:\n\t\t\tBSPR A 0\n\t\t\tTNT1 A 0 A_CustomMissile (\"SuperGoreMistTiny\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckBloodIntensity\")\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"misc/xdeath5\")\n\t\t\tBSPR A 2\n\t\t\tTNT1 A 0 A_CustomMissile (\"WaterBloodCHecker\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\tSpawn2:\n\t\t\tTNT1 A 0 A_CustomMissile (\"Brutal_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\t\tTNT1 A 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t\tBSPR ABCDEFG 1\n\t\t\tBSPR HHHHHHH 1 A_FadeOut(0.1)\n\t\t\tStop\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tTNT1 AAA 0 A_CustomMissile (\"Underblood1\", 7, 0, random (0, 360), 2, random (30, 150))\n\t\t\tstop\n\t\tLotsOfBlood:\n\t\t TNT1 A 0\n\t\t TNT1 AAAA 0 A_CustomMissile (\"BloodMistSmall\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"Brutal_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 70))\n\t\t TNT1 A 0 A_CustomMissile (\"SuperWallRedBlood\", 0, 0, random (0, 360), 2, random (-15, 15))\n\t\t TNT1 AAAA 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t BSPR ABCDEFG 1\n\t\t BSPR HHHHHHH 1 A_FadeOut(0.1)\n\t\t Stop\n\t\tAbsurdBlood:\n\t\t TNT1 A 2\n\t\t TNT1 AAAA 0 A_CustomMissile (\"SuperWallRedBlood\", 0, 0, random (0, 360), 2, random (-15, 15))\n\t\t TNT1 A 0 A_JumpIfInventory(\"AnimuGore\", 1, \"AnimuGore\")\n\t\t TNT1 AA 0 A_CustomMissile (\"BloodMist\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t TNT1 AAA 0 A_CustomMissile (\"Brutal_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (10, 50))\n\t\t TNT1 A 0 A_CustomMissile (\"Brutal_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"BloodmistSmall\", 7, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"SuperGoreMist\", 0, 0, random (0, 360), 2, random (10, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"Brutal_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 70))\n\t\t TNT1 AAA 0 A_CustomMissile (\"BloodmistSpray\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t BSPR ABCDEFG 1\n\t\t BSPR HHHHHH 1 A_FadeOut(0.1)\n\t\t Stop\n\t\t AnimuGore:\n\t\t TNT1 AAA 0 A_CustomMissile (\"Brutal_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (10, 50))\n\t\t TNT1 A 0 A_CustomMissile (\"SuperWallRedBlood\", 0, 0, random (0, 360), 2, random (-15, 15))\n\t\t TNT1 A 0 A_CustomMissile (\"Brutal_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AAAAAAA 0 A_CustomMissile (\"Brutal_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 70))\n\t\t TNT1 AAAAAAAAA 0 A_CustomMissile (\"XDeath1\", 0, 0, random (0, 360), 2, random (40, 80))\n\t\t TNT1 A 0 A_CustomMissile (\"SuperGoreSpawner\", 0, 0, random (0, 360), 2, random (10, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"BloodmistSpray\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t BSPR ABCDEFG 1\n\t\t BSPR GGGGG 1 A_FadeOut(0.1)\n\t\t Stop\n\t\t LowBlood:\n\t\t\tTNT1 A 0\n\t\t\tBSPR ABCDEFG 1\n\t\t\tBSPR HHHHHHHH 1 A_FadeOut(0.1)\n\t\t\tStop\n\n\t\tSpawnPlayer:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_CustomMissile (\"SuperGoreMistTiny\", 0, 0, random (0, 360), 2, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"Brutal_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\t\tTNT1 A 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t\tBSPR ABCDEFG 1\n\t\t\tBSPR HHHHHHH 1 A_FadeOut(0.1)\n\t\t\tStop\n\t }\n}\n\n//Dummy actor just to replace the bloodpuff made by Hexen axe\nactor SawBlood : Bolognese_Blood Replaces AxeBlood\n{\n-ALLOWPARTICLES\nSpeed 0\n states\n {\n Spawn:\n TNT1 A 0\n\t\tTNT1 AA 0 A_CustomMissile (\"BloodMistSmall\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\tTNT1 AA 0 A_CustomMissile (\"XDeath1\", 0, 0, random (0, 360), 2, random (40, 80))\n\t\tTNT1 AAA 0 A_CustomMissile (\"Brutal_FlyingBlood\", 0, 0, random (0, 360), 2, random (30, 60))\n\t\tTNT1 A 0 Radius_Quake (2, 2, 0, 2, 0)\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckBloodIntensity\")\n\t\tTNT1 A 0 A_Stop\n\t\tTNT1 A 2\n\t\tGoto Spawn2\n }\n}\n\n//Dummy actor just to replace the bloodpuff made by projectiles\nactor BloodSPlatterReplacer : Bolognese_Blood Replaces BloodSplatter\n{\n}\n\n//Base flying blood actor. Leaves bloodspots on the floor\nACTOR Brutal_FlyingBlood\n{\n scale 0.4\n speed 4\n radius 8\n height 1\n Gravity 0.8\n Renderstyle Translucent\n Alpha 0.6\n Decal BrutalBlood\n Mass 1\n +MISSILE\n +CLIENTSIDEONLY\n +NOTELEPORT\n +NOBLOCKMAP\n +THRUACTORS\n +FORCEXYBILLBOARD\n +MOVEWITHSECTOR\n +DONTSPLASH\n States\n {\n Spawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Live\")\n\t Spawn1:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.4, 0.4)\n\t\t\tGoto live\n\n\tSpawn2:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.45, -0.45)\n\t\t\tGoto live\n\n\tSpawn3:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(0.5, -0.5)\n\t\t\tGoto live\n\n\t Live:\n\t\t\tBLHT BCDEFG 1\n\t\t\tTNT1 A 0\n\t\t\tBLHT HHHHH 100 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tStop\n\n\tSplash:\n\t\t\tBLOD A 0\n\t\t\tTNT1 A 0 A_SpawnItem (\"Underblood2\")\n\t\t\tstop\n\n Death:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t\t\tTNT1 A 0 A_CheckFloor(\"DeathFloor\")\n\t\t\tTNT1 A 1\n\t\t\tStop\n\n\t\tDeathFloor:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx (\"Bolognese_BloodSpot\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERTRANSLATION,0)\n\t\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t\t XDT1 EFGHIJKL 2\n\t\t\tStop\n\n\t\tNoSpawn:\n\t\t\tTNT1 A 0\n\t\t\tStop\n\n }\n}\n\n//Faster version used in some specific cases\nACTOR Brutal_FlyingBloodMuchFaster: Brutal_FlyingBlood\n{\n\t Scale 1.0\n\t Speed 8\n}\n\nactor Brutal_FlyingBloodTrail\n{\n\tscale 0.25\n\tmass 1\n\trenderstyle Translucent\n\talpha 0.8\n\tDecal BrutalBloodSplat\n\t+NOTELEPORT\n\t+NOBLOCKMAP\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\t+MISSILE\n\t+THRUACTORS\n\t+BOUNCEONWALLS\n\t+DONTSPLASH\n\tGravity 0.4\n\tSpeed 2\n\tstates\n\t{\n\t Spawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t BLHT BCDEFG 1\n\t\t BLHT HHHHHHHHH 1 A_FadeOut(0.02)\n\t\t stop\n\n\tDeath:\n\t\tTNT1 A 0\n\t\tStop\n\n\tSplash:\n BLOD A 0\n\t\tTNT1 A 0 A_SpawnItem (\"Underblood2\")\n stop\n\n }\n}\n\nactor Brutal_FlyingBloodFaster: Brutal_FlyingBloodTrail\n{\nSpeed 4\n states\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t BLOD ABCDEFFFFFF 3\n\t stop\n }\n}\n\nACTOR Brutal_FlyingBloodFake: Brutal_FlyingBloodTrail\n{\n\tscale 0.5\n\tspeed 3\n\tGravity 0.3\n\tRenderstyle Translucent\n\tAlpha 0.95\n\t+NOCLIP\n Mass 1\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tBLOD KKKKKKKKKKKK 1 A_FadeOut(0.05)\n Stop\n\tSplash:\n BLOD A 0\n\t\tTNT1 A 0 A_SpawnItem (\"Underblood2\")\n stop\n\tDeath:\n\t TNT1 A 10\n\t\tStop\n }\n}\n\nACTOR Brutal_FlyingBloodFakeNoDecal: Brutal_FlyingBloodFake { decal \"none\"}\n\nactor Bloodmist : Brutal_FlyingBlood\n{\n\t+BOUNCEONWALLS\n\tscale 0.8\n\tradius 2\n\theight 2\n\tspeed 8\n\tGravity 0.6\n\talpha 0.6\n\t states\n\t {\n\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Live\")\n\t Spawn1:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.8, 0.8)\n\t\t\tGoto live\n\n\tSpawn2:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.9, -0.9)\n\t\t\tGoto live\n\n\tSpawn3:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(0.7, -0.7)\n\t\t\tGoto live\n\n\t Live:\n\t\t\tBLHT BCDEFG 1\n\t\t\tTNT1 A 0\n\t\t\tBLHT HHHHH 100 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tStop\n\n\tDeath:\n\t\t TNT1 A 0\n\t\t Stop\n\t}\n}\n\nactor BloodmistSmall : Bloodmist\n{\n\tscale 0.5\n\tspeed 8\n\tGRAVITY 1.0\n\n\tstates\n\t {\n\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Live\")\n\t Spawn1:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.5, 0.5)\n\t\t\tGoto live\n\n\tSpawn2:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.4, -0.4)\n\t\t\tGoto live\n\n\tSpawn3:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(0.5, -0.6)\n\t\t\tGoto live\n\t\t}\n}\n\nactor BloodmistBig : Bloodmist\n{\n\tscale 1\n\tspeed 5\n\tGRAVITY 0.4\n\n\tstates\n\t {\n\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Live\")\n\t Spawn1:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-1.1, 1.1)\n\t\t\tGoto live\n\n\tSpawn2:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.9, -0.9)\n\t\t\tGoto live\n\n\tSpawn3:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(1.0, -1.0)\n\t\t\tGoto live\n\t\t}\n}\n\nactor BloodmistExtraBig : Bloodmist\n{\n\tscale 1.5\n\tspeed 5\n\tGRAVITY 0.4\n\n\tstates\n\t {\n\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Live\")\n\t Spawn1:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-1.6, 1.6)\n\t\t\tGoto live\n\n\tSpawn2:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-1.5, -1.6)\n\t\t\tGoto live\n\n\tSpawn3:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(1.4, -1.5)\n\t\t\tGoto live\n\t\t}\n}\n\n//More wattery version\nactor BloodmistSpray : Bloodmist\n{\n\tscale 1.0\n\tGravity 0.4\n\t states\n\t\t{\n\t\tSpawn:\n\t\t\tBSPR ABCDEFGH 2\n\t\t\tBSPR H 200\n\t\t\tStop\n\t\t}\n}\n\n/////////////////////// BLOOD SPOTS //////////////////////////\n\n//base bloodspot actor\nACTOR Bolognese_BloodSpot\n{\n\tradius 2\n\theight 2\n\tmass 1\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\t+MOVEWITHSECTOR\n\t+FLOORCLIP\n\t+DONTSPLASH\n\t-SOLID\n\t+THRUACTORS\n\tAlpha 0.99\n\tScale 0.5\n\tDecal BrutalBloodSplat\n\tstates\n\t {\n\t Spawn:\n\t\t TNT1 A 0\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t TNT1 A 1\n\n\t\t TNT1 A 0 A_CheckFloor(\"SpawnNormally\")\n\t\t Goto Splash\n\n\t SpawnNormally:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_QueueCorpse\n\t\t\tTNT1 A 0 A_Jump(255, \"SpawnBFrameOnly\", \"SpawnCFrameOnly\", \"SpawnDFrameOnly\")\n\t\tSpawnAFrameOnly:\n\t\t\tBPDL A -1\n\t\t\tLoop\n\n\t\t SpawnBFrameOnly:\n\t\t\tBPDL B -1\n\t\t\tLoop\n\n\t\t FadeA:\n\t\t\tBPDL AAAA 1 A_FadeOut(0.05)\n\t\t\tStop\n\n\t\t FadeB:\n\t\t\tBPDL BBBB 1 A_FadeOut(0.05)\n\t\t\tStop\n\n\t\t SpawnCFrameOnly:\n\t\t\tBPDL C -1\n\t\t\tLoop\n\n\t\t SpawnDFrameOnly:\n\t\t\tBPDL D -1\n\t\t\tLoop\n\n\t\t FadeC:\n\t\t\tBPDL CCCC 1 A_FadeOut(0.05)\n\t\t\tStop\n\n\t\t FadeD:\n\t\t\tBPDL DDDD 1 A_FadeOut(0.05)\n\t\t\tStop\n\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tstop\n\n\t\tDeath:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tStop\n\n\t\tIsOverLiquid:\n\t\t\tBPDL E 1 A_FadeOut(0.9)\n\t\t\tBPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeIn(0.05)\n\t\t\tBPDL E 400\n\t\t\tBPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeOut(0.05)\n\t\t\tStop\n\t}\n}\n\n//a special flying blood actor that spawns muddy water pools over liquids\nACTOR WaterBloodCHecker\n{\n Speed 4\n Scale 1.2\n\tRadius 1\n\t+MISSILE\n\t+EXPLODEONWATER\n\t+CLIENTSIDEONLY\n\t+DOOMBOUNCE\n\tBounceFactor 0.01\n\tHeight 1\n SeeSound \"none\"\n DeathSound \"none\"\n\tDecal none\n\tStates\n {\n Spawn:\n\t TNT1 A 5\n Loop\n Death:\n TNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")\n\t\tTNT1 A 5\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"IsOverLiquid\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"IsOverLiquid\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverNukage\", 1, \"IsOverLiquid\")\n TNT1 A 10\n Stop\n\n\tIsOverLiquid:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_CheckFloor(\"SpawnOnWater\")\n\t\tTNT1 A 2\n\t\tStop\n\n\tSpawnOnWater:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SpawnItem (\"WaterBloodSpot\", 5)\n\t\tStop\n }\n}\n\n//muddy water bloodspot actor\nACTOR WaterBloodSpot\n{\n+CLIENTSIDEONLY\n+THRUACTORS\nRadius 0\nHeight 0\nRenderstyle Shaded\nStencilColor \"55 00 00\"\nAlpha 0.2\n states\n {\n\tSpawn:\n\t\tBPDL E 1 A_FadeOut(0.9)\n\t\tBPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeIn(0.02)\n\t\tBPDL E 100\n\t\tBPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeOut(0.02)\n\t\tStop\n }\n}\n\n//bigger bloodsplat\nactor GiantBloodSpot: Bolognese_BloodSpot\n{\n Scale 1.1\n States\n {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check Floortype\n\t\tTNT1 A 3\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlimy\", 1, \"Disappear\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"Disappear\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverNukage\", 1, \"Disappear\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverLava\", 1, \"Disappear\")\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tGoto SpawnAFrameOnly\n\n\tDisappear:\n\t\tTNT1 A 0\n\t\tStop\n\t}\n}\n\nactor MinuscleBloodSpot: Bolognese_BloodSpot {Scale 0.25}\nactor BigBloodSpot: GiantBloodSpot { Scale 0.7}\nactor MediumBloodSpot: GiantBloodSpot { Scale 0.4}\nactor MediumBloodSpot2: GiantBloodSpot{ Scale 0.4}\n\n//Big version spawned by XDeath animations\nACTOR SplatteredSmall: Bolognese_BloodSpot\n{\n states\n {\n Spawn:\n\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n TNT1 A 0 A_FaceTarget\n\tTNT1 A 2\n TNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"Splash\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"Splash\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"Splash\")\n\tBPDL A -1\n\tStop\n }\n}\n\n//Big version spawned by XDeath animations of bigger enemies\nACTOR SplatteredLarge: Bolognese_BloodSpot\n{\n states\n {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n TNT1 A 0 A_CheckFloor(\"Live\")\n Goto Splash\n\n Live:\n TNT1 A 0\n TNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check if is under a liquid\n\tTNT1 A 4\n TNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"WaterBloodSpot\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"WaterBloodSpot\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"WaterBloodSpot\")\n\tTNT1 A 0 A_QueueCorpse\n\tBPDL A -1\n\tStop\n\n WaterBloodSpot:\n\tTNT1 A 0\n\tTNT1 A 0 A_SpawnItem(\"WaterBloodSpot\")\n\tStop\n }\n}\n\n//A blood pool spawned by regular enemy deaths.\nactor GrowingBloodPool: Bolognese_BloodSpot\n{\n\tvar int user_bloodpoolsize;\n\tradius 1\n\theight 1\n\tmass 1\n\tHealth 600\n\tRenderStyle Normal\n\tAlpha 0.99\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\t+MOVEWITHSECTOR\n\t+FLOORCLIP\n\t+MISSILE\n\t+DONTSPLASH\n\tScale 0.3\n\tDecal BrutalBloodSplat\n\t states\n\t\t {\n\t\t Spawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t TNT5 A 1\n\n\t\t TNT5 A 2 A_QueueCorpse\n\t\t TNT5 A 1 A_SetScale(0.33, 0.33)\n\t\t TNT5 A 1 A_SetScale(0.36, 0.36)\n\t\t TNT5 A 1 A_SetScale(0.39, 0.39)\n\t\t TNT5 A 1 A_SetScale(0.42, 0.42)\n\t\t TNT5 A 1 A_SetScale(0.45, 0.45)\n\t\t TNT5 A 1 A_SetScale(0.48, 0.48)\n\t\t TNT5 A 1 A_SetScale(0.50, 0.50)\n\n\t\t TNT5 A 2 A_SetScale(0.53, 0.53)\n\t\t TNT5 A 2 A_SetScale(0.56, 0.56)\n\t\t TNT5 A 2 A_SetScale(0.59, 0.59)\n\t\t TNT5 A 2 A_SetScale(0.62, 0.62)\n\t\t TNT5 A 2 A_SetScale(0.65, 0.65)\n\t\t TNT5 A 2 A_SetScale(0.68, 0.68)\n\t\t TNT5 A 2 A_SetScale(0.70, 0.70)\n\n\t\t TNT5 A 3 A_SetScale(0.73, 0.73)\n\t\t TNT5 A 3 A_SetScale(0.76, 0.76)\n\t\t TNT5 A 3 A_SetScale(0.79, 0.79)\n\t\t TNT5 A 3 A_SetScale(0.82, 0.82)\n\t\t TNT5 A 3 A_SetScale(0.85, 0.85)\n\t\t TNT5 A 3 A_SetScale(0.88, 0.88)\n\t\t TNT5 A 3 A_SetScale(0.90, 0.90)\n\n\t\t TNT5 A 3 A_SetScale(0.93, 0.93)\n\t\t TNT5 A 3 A_SetScale(0.96, 0.96)\n\t\t TNT5 A 3 A_SetScale(0.99, 0.99)\n\t\t TNT5 A 3 A_SetScale(1.02, 1.02)\n\t\t TNT5 A 3 A_SetScale(1.05, 1.05)\n\t\t TNT5 A 3 A_SetScale(1.08, 1.08)\n\t\t TNT5 A 3 A_SetScale(1.11, 1.11)\n\n\t\t Live:\n\t\t TNT5 A 900//duration\n\t\t TNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"Splash\")\n\t\t TNT5 A -1\n\t\t Stop\n\t\tSplash:\n\t\t BLOD A 0\n\t\t stop\n\t }\n}\n\n//A decorative kind of flying blood spawned by arterial blood\nACTOR Brutal_LiquidBlood: Brutal_FlyingBlood\n{\n speed 3\n scale 0.2\n gravity 0.6\n decal \"BrutalBloodSmearSmall\"\n States\n {\n Spawn:\n\t TNT1 A 0\n\t TNT1 A 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 10, 0, random (0, 360), 2, random (0, 90))\n BLOD AAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItem(\"Brutal_LiquidBloodTrail\")\n Stop\n\t Death:\n \t TNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t XDT1 FGHIJKL 2\n\t TNT1 A 0\n Stop\n }\n}\n\n//Faster version, leaves no decals. Used to prevent decal overflow\nACTOR Brutal_LiquidBlood2: Brutal_LiquidBlood\n{\n speed 4\n scale 0.4\n gravity 0.6\n decal \"None\"\n}\n\n//Very fast version\nACTOR Brutal_LiquidBloodFast: Brutal_LiquidBlood2\n{\n speed 8\n}\n\n//This version leaves a bloodspot\nACTOR Brutal_LiquidBlood3: Brutal_FlyingBlood\n{\nSpeed 3\n States\n {\n\t Death:\n \t TNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t TNT1 A 0 A_CheckFloor(\"SpawnFloor\")\n\t TNT1 A 4\n\t Stop\n\n\t SpawnFloor:\n\t tnt1 a 0 A_SPawnItem(\"Bolognese_BloodSpot\")\n\t XDT1 FGHIJKL 2\n\t TNT1 A 0\n Stop\n }\n}\n\n//Decorative trails\nACTOR Brutal_LiquidBloodTrail: Brutal_FlyingBlood\n{\n scale 0.4\n gravity 0.4\n States\n {\n Spawn:\n\t TNT1 A 0\n BRTL ABC 2\n\t Stop\n\t Death:\n\t TNT1 A 0\n Stop\n }\n}\n\n//An actor that will spawn multiple arterial blood actors\nACTOR ArterialBloodSpray\n{\n Speed 0\n +CLIENTSIDEONLY\n +NOINTERACTION\n States\n {\n Spawn:\n\t TNT1 A 0\n\t TNT1 A 0 A_stop\n\t\tTNT1 AAAA 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 12\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 12\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 16\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 19\n\t\tTNT1 A 2 A_CustomMissile (\"Brutal_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n Stop\n }\n}\n\n/////////////////// CEILING BLOOD //////////////////////////\n\n//Launches bloodspots on the ceiling\nACTOR CeilBloodLauncher: Brutal_FLyingBlood\n{\n +THRUACTORS\n\t-DOOMBOUNCE\n\t-SKYEXPLODE\n\t+BOUNCEONWALLS\n Speed 15\n Gravity 0.0\n\tRadius 1\n\tHeight 1\n\tDecal BrutalBloodSplat\n States\n\t\t{\n\t\t Spawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 3\n\t\t\tStop\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tstop\n\t\t Death:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_CheckCeiling(\"IsOnCeil\")\n\t\t\tTNT1 A 0\n\t\t\tstop\n\n\t\t IsOnCeil:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_SpawnItem(\"CeilBloodSpot\",0,0,0,1)\n\t\t\tStop\n\t\t Melee:\n\t\t Xdeath:\n\t\t\tTNT1 A 1\n\t\t\tStop\n\t\t}\n}\n\n//Longer version (for extreme deaths)\nACTOR CeilBloodLauncherLong: CeilBloodLauncher\n{\n States\n {\n\t\t Spawn:\n\t\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 12\n\t\t\tStop\n }\n}\n\n// The Ceil Blood Spot\nactor CeilBloodSpot\n{\n\t+MISSILE\n\t+CEILINGHUGGER\n\t-SKYEXPLODE\n\t+THRUACTORS\n\tHeight 1\n\tRadius 2\n\t+DontSplash\n\tMass 0\n\tScale 0.5\n\tGravity 0.0\n\tDecal BrutalBloodSplat\n\tRenderstyle Normal\n\tAlpha 0.9\n\tstates\n\t{\n\t\tSpawn:\n\t\t BPDL A 1\n\t\t TNT1 A 0 A_QueueCorpse\n\t\t TNT1 A 0 A_SpawnItem (\"DripingBloodLeavesSmallPool\")\n\t\t TNT1 A 0 A_SpawnItem (\"CeilBloodTinyBloodSpawner\")\n\t\tLive:\n\t\t BPDL A 5 ThrustThingZ(0, 20, 0, 1)\n\t\t Loop\n\t\t\t}\n}\n\n//Bigger version of a ceil blood spot, usually left by sticky gibs.\nactor CeilBloodSpotLarge: CeilBloodSpot\n{\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tBPDL A 1\n\t\t\tTNT1 A 0 A_QueueCorpse\n\t\t\tTNT1 A 0 A_SpawnItem (\"DripingBloodLeavesSmallPool\")\n\t\t\tTNT1 A 0 A_SpawnItem (\"CeilBloodLargeBloodSpawner\")\n\t\tLive:\n\t\t\tBPDL A 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\tLoop\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tstop\n\t\t\t}\n}\n\n//These are the actors that spawns blood drips. They are separate from the bloodspots so the sticky gibs can spawn them separately.\n\n//Small blood drips spawner, usually caused by regular blood touching the ceiling.\nACTOR CeilBloodTinyBloodSpawner: Brutal_FlyingBlood\n{\n\t+NOGRAVITY\n\t+THRUACTORS\n\t+NOCLIP\n\t States\n\t\t{\n\t\t Spawn:\n\t\t\t TNT1 A 0\n\t\t\t TNT1 A 1 A_SpawnItemEx (\"DripingBloodLeavesSmallPool\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 5 A_SpawnItemEx (\"BloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 10 A_SpawnItemEx (\"BloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 16 A_SpawnItemEx (\"BloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 24 A_SpawnItem (\"BloodDripingFromCeiling\")\n\t\t\t stop\n\t\t}\n}\n\n//Large blood drips spawner, usually caused by huge chunks of meat getting stuck on the ceiling.\nACTOR CeilBloodLargeBloodSpawner: Brutal_FlyingBlood\n{\n\t+NOGRAVITY\n\t+THRUACTORS\n\t+NOCLIP\n\tScale 0.5\n\t States\n\t\t{\n\t\t Spawn:\n\t\t\t TNT1 A 0\n\t\t\t TNT1 A 1 A_SpawnItemEx (\"DripingBloodLeavesSmallPool\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 A_SpawnItemEx (\"BloodDripingFromCeilingBig\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 10 A_SpawnItemEx (\"BloodDripingFromCeilingBig\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 15 A_SpawnItemEx (\"BloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 20 A_SpawnItemEx (\"BloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t stop\n\t\t}\n}\n\n//This is the actual blood driping from the ceiling actor\nACTOR BloodDripingFromCeiling: Brutal_FlyingBlood\n{\n\t+THRUACTORS\n\t+CLIENTSIDEONLY\n\t-FORCEXYBILLBOARD\n\t+FORCEYBILLBOARD\n\t+TOUCHY\n\tAlpha 0.7\n\tGravity 1.0\n\tRadius 2\n\tHeight 1\n States\n\t\t{\n\t\t Spawn:\n\t\t TNT1 A 0\n\t\t TNT1 A 0 A_Jump(230, \"NoSpawn\")\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t BLUD Z 500\n\t\t loop\n\n\t\t Death:\n\t\t\t TNT1 A 0\n\t\t\t TNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t\t\t XDT1 EFGHIJKL 2\n\t\t\t stop\n\t\t}\n}\n\n//This is a bigger and denser version of the blood drip, droped by sticky gibs\nACTOR BloodDripingFromCeilingBig: BloodDripingFromCeiling\n{\n\tXScale 0.4\n\tYScale 1.0\n\tGravity 0.8\n States\n {\n Spawn:\n TNT1 A 0\n\t TNT1 A 0 A_Jump(160, \"NoSpawn\")\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n BLUD Z 500\n loop\n\t Death:\n\t\t TNT1 A 0\n\t\t TNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t\t XDT1 EFGHIJKL 2\n\t\t stop\n }\n}\n\n//This is the first drip spawned by the drip spawners, which leaves a small blood pool\nACTOR DripingBloodLeavesPool: BloodDripingFromCeiling\n{\n-FORCEXYBILLBOARD\n+FORCEYBILLBOARD\n\n scale 0.3\n States\n {\n Spawn:\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n BLUD Z 4\n loop\n\tSplash:\n BLOD A 0\n stop\n Death:\n\t TNT1 A 0\n\t\tTNT1 A 0 A_SpawnItem(\"MediumBloodSpot\")\n\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n XDT1 EFGHIJKL 2\n stop\n }\n}\n\n//Just like above, but leaves a smaller pool\nACTOR DripingBloodLeavesSmallPool: DripingBloodLeavesPool\n{\n-FORCEXYBILLBOARD\n+FORCEYBILLBOARD\n+DONTSPLASH\nStates\n{\n Death:\n\t TNT1 A 0\n\t\tTNT1 A 0 A_SpawnItem(\"MinuscleBloodSpot\")\n\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n XDT1 EFGHIJKL 2\n stop\n }\n}\n\n//An invisible projectile only used to spawn bloodsplats on the walls, usually spawned by extreme deaths.\nACTOR WallRedBlood\n{\n\tscale 0.6\n\tspeed 7\n\thealth 1\n\tradius 8\n\theight 1\n\tGravity 0.7\n\tdamage 0\n\tDamageType Blood\n\tDecal BrutalBloodSmearer\n +MISSILE\n +CLIENTSIDEONLY\n +NOTELEPORT\n +NOBLOCKMAP\n +THRUACTORS\n States\n {\n\t\tSpawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 ABCD 4\n\t\t\tloop\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tstop\n\t\t Death:\n\t\t\tTNT1 A 3\n\t\t\tstop\n }\n}\n\n//This one spawns an even bigger decal\nACTOR SuperWallRedBlood: WallRedBlood\n{\n speed 32\n Gravity 0.1\n Decal BrutalBloodSuper\n States\n\t\t{\n\t\t Spawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 ABCD 1\n\t\t\tStop\n\t\t}\n}\n\n//This one spawns a ridiculously bigger decal, used by BFG extreme deaths\nACTOR GiantWallRedBlood: WallRedBlood\n{\n speed 32\n Gravity 0.1\n Decal BrutalBloodGiant\n States\n\t\t{\n\t\t Spawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t TNT1 ABCD 1\n\t\t Stop\n\n\t\t}\n}\n\n//Spawns giant blood decals all around the area. Used in Brutal Doom's BFG deaths.\nActor BloodSplinter\n{\n\t+THRUACTORS\n\t+CLIENTSIDEONLY\n\tStates\n\t\t{\n\t\t\t Spawn:\n\t\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallRedBlood\", 40, 0, 0, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallRedBlood\", 40, 0, 45, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallRedBlood\", 40, 0, 90, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallRedBlood\", 40, 0, 135, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallRedBlood\", 40, 0, 180, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallRedBlood\", 40, 0, 225, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallRedBlood\", 40, 0, 270, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallRedBlood\", 40, 0, 315, 2, random (0, 35))\n\t\t\t Stop\n\n\t\t\tSplash:\n\t\t\t\tBLOD A 0\n\t\t\t\tstop\n\t\t}\n}\n\n//Spawned by BD's kicked heads to spawn blood decals and make the head bounce sound.\nACTOR ShortWallRedBlood: WallRedBlood\n{\n speed 2\n Gravity 1\n Radius 24\n Height 12\n States\n {\n Spawn:\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n TNT1 A 3\n Stop\n\tDeath:\n\t TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile (\"Brutal_FlyingBloodFakeNoDecal\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\tTNT1 A 0 A_SpawnItem(\"Bolognese_BloodSpot\",0,0,0,1)\n\t\tTNT1 A 0 A_PlaySound(\"HEDBON\")\n\t TNT1 A 20\n\t\tStop\n\t}\n}\n\n//Blood actors spawned underwater\nACTOR Underblood1\n{\n\tscale 1.4\n\tspeed 1\n\thealth 1\n\tradius 8\n\theight 1\n\tGravity 0.9\n\tRenderstyle Translucent\n\tAlpha 0.2\n\tDecal BrutalBloodSplat\n\t+MISSILE\n\t+CLIENTSIDEONLY\n\t+NOTELEPORT\n\t+NOBLOCKMAP\n\t+FORCEXYBILLBOARD\n\t-DONTSPLASH\n\t+THRUACTORS\n\tMass 1\n\t\tStates\n\t\t{\n\t\t Spawn:\n\t\t BSP4 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2 A_JumpIf(waterlevel < 1, \"Splash\")\n\t\t Stop\n\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tstop\n\t\t Death:\n\t\t\tTNT1 A 0\n\t\t\tStop\n\t\t}\n}\n\n//Shorter version\nACTOR Underblood2: Underblood1\n{\n scale 0.7\n speed 0\n States\n {\n Spawn:\n\t BSP4 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_JumpIf(waterlevel < 1, \"Splash\")\n\t Stop\n\n\tSplash:\n BLOD A 0\n stop\n Death:\n \t TNT1 A 0\n Stop\n }\n}\n//Bigger version that moves, used for gibbing.\nACTOR Underblood3: Underblood1\n{\n scale 2.2\n speed 2\n Alpha 0.3\n}\n\n//Big blood mists\n\nactor SuperGore\n{\n\tDecal BloodSplat\n\tAlpha 0.4\n\t+FORCEXYBILLBOARD\n\t+GHOST\n\t+NOBLOCKMAP\n\tGravity 0.01\n\t+DontSplash\n\t-EXPLODEONWATER\n\t-ALLOWPARTICLES\n\t+CLIENTSIDEONLY\n\t-NOGRAVITY\n\t+THRUACTORS\n\t+NOCLIP\n\tGravity 0.2\n\tScale 1.0\n\tSpeed 1\n\t states\n\t {\n\t Spawn:\n\t\tTNT1 A 0\n\t\tBLOR HHHHHHHHHHHHHHHHHHHHHHHHIJKKKK 1 A_FadeOut(0.01)\n\t\tStop\n\t }\n}\n\nActor SuperGoreMist: SuperGore\n{\nScale 1.5\nSpeed 1\n+NOGRAVITY\n}\n\n//Used on bullet hit impacts\nActor SuperGoreMistTiny: SuperGore\n{\nScale 0.4\nAlpha 0.5\nSpeed 0\n+NOGRAVITY\n\t states\n\t {\n\t Spawn:\n\t\tTNT1 A 0\n\t\tBLOR AAABBBCCCDDDEEEFFFGGGHHHIIJJKK 1 A_FadeOut(0.01)\n\t\tStop\n\t }\n}\n\nactor BigSuperGore: SuperGore\n{\nScale 2.0\nSpeed 4\n}\n\nactor GiantSuperGore: SuperGore\n{\nScale 4.0\nSpeed 4\n}\n\n//Spawners for the supergore thing\nActor SuperGoreSpawner\n{\n\tProjectile\n\t+MISSILE\n\t+FORCEXYBILLBOARD\n\t+THRUACTORS\n\tDecal BloodSuper\n\tradius 2\n\theight 2\n\tspeed 15\n\tstates\n\t{\n\tSpawn:\n\t\tTNT1 A 3\n\t\tTNT1 AAA 3 A_CustomMissile(\"SuperGore\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\tStop\n\tDeath:\n\tXDeath:\n\t\tTNT1 A 0\n\t\tStop\n\t}\n}\n\n//Bloody footprints still requires the player to be edited to work.\n//Gives the player an inventory item to indicate the feet are smeared.\nACTOR BootSmearerRed: GrowingBloodPool\n{\n\tMONSTER\n\t-SOLID\n\t+NOCLIP\n\t+THRUACTORS\n\t-COUNTKILL\n\t+LOOKALLAROUND\n\t-FRIENDLY\n\tRadius 0\n\tHeight 0\n\t states\n\t {\n\t Spawn:\n\t\t TNT1 A 0\n\t\t TNT1 A 1 A_Look\n\t\t Goto See\n\n\t See:\n\t\t TNT1 A 1 A_Chase(\"\",\"\")\n\t\t TNT1 A 0 A_Die(\"LookForPlayer\")\n\t Death:\n\t Death.LookForPlayer:\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 8 A_JumpIfCloser(60, \"SmearBootsWithRedBlood\")\n\t\tStop\n\tSmearBootsWithRedBlood:\n\t\t//TNT1 A 0 A_GiveToTarget(\"BootsSmearedWithRedBlood\", 8)\n\t\tBPDL A 0\n\t\tStop\n\t}\n}\n\nACTOR RedBloodFootPrintLeft: GrowingBloodPool\n{\n\tScale 0.09\n\t+CLIENTSIDEONLY\n\tRenderstyle Shaded\n\tStencilColor \"55 00 00\"\n\t states\n\t {\n\t Spawn:\n\t Death:\n\t Crash:\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check if is under a liquid\n\t\tTNT1 A 4\n\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"ShowUp\")\n\t\tGoto Splash\n\tShowUp:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tBPDL A 200\n\t\tTNT1 A 0 A_JumpIfInventory(\"LowGraphicsMode\", 1, \"Splash\")\n\t\tBPDL A -1\n\t\tStop\n\tSplash:\n\t\tTNT1 A 0\n\t\tStop\n\t }\n}\n\nACTOR RedBloodFootPrintRight: GrowingBloodPool\n{\nScale 0.09\n+CLIENTSIDEONLY\nRenderstyle Shaded\nStencilColor \"55 00 00\"\n states\n {\n\t Spawn:\n\t Death:\n\t Crash:\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check if is under a liquid\n\t\tTNT1 A 4\n\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"ShowUp\")\n\t\tGoto Splash\n\t\tShowUp:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tBPDL A 200\n\t\tTNT1 A 0 A_JumpIfInventory(\"LowGraphicsMode\", 1, \"Splash\")\n\t\tBPDL A -1\n\t\tStop\n\tSplash:\n\t\tTNT1 A 0\n\t\tStop\n }\n}"
},
{
"source": "pk3",
"name": "Meat.txt",
"contents": "//Gib actors\n\nACTOR XDeath1\n{\n Radius 1\n Height 1\n Speed 12\n Scale 1.0\n\tMass 1\n +NOBLOCKMAP\n\t+MISSILE\n +NOTELEPORT\n +MOVEWITHSECTOR\n +CLIENTSIDEONLY\n\t-DONTSPLASH\n\t+THRUGHOST\n\t+THRUACTORS\n\t+FLOORCLIP\n\tMass 1\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Underwater\")\n\t\tBLOD AAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItem(\"Brutal_LiquidBloodTrail\")\n Stop\n Death:\n TNT1 A 0 A_SpawnItemEx (\"Bolognese_BloodSpot\", 0, 0, 1)\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")\n\t\tXDT1 EF 3\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"IsOverLiquid\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"IsOverLiquid\")\n XDT1 GHIJKL 3\n Stop\n TNT1 A 1\n Underwater:\n\t Splash:\n\t BLUD C 0 ThrustThingZ (0,35,1,0)\n XDT1 AB 3 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n\t\tBLUD C 0 ThrustThingZ (0,35,1,0)\n\t\tXDT1 CD 3 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n\n\tIsOverLiquid:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_CheckFloor(\"SpawnOnWater\")\n\n\tSpawnOnWater:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SpawnItem (\"WaterBloodSpot\", 5)\n\t\tStop\n }\n}\n\n//A flying piece of meat\nACTOR XDeath2: XDeath1\n{\n +CLIENTSIDEONLY\n\t+DONTSPLASH\n\tRadius 2\n\tHeight 2\n\tGravity 0.4\n DeathSound \"misc/xdeath2\"\n\tDecal BrutalBloodSuper\n Scale 1.1\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XMT1 ABCDEFGH 2 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n\t TNT1 A 0 A_CheckFloor(\"SpawnFloor\")\n\t\tTNT1 A 0 A_CheckCeiling(\"SpawnCeiling\")\n\t\tTNT1 A 0 A_SpawnItem(\"SmearingXDeath2\")\n\t\tStop\n\n\tSpawnFloor:\n\t XMT1 M 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItemEx (\"Bolognese_BloodSpot\", 0, 0, 1)\n\t\tXMT1 M -1\n\t\tStop\n\n\tSpawnCeiling:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx (\"CeilXDeath2\", 0, 0, 1)\n\t\tTNT1 A 0 A_SpawnItemEx (\"CeilBloodSpotLarge\", 0, 0, 1)\n\t\tStop\n\n\tVanish:\n\t TNT1 A 5\n\t\tStop\n }\n}\n\nACTOR XDeath2b: XDeath2 {\tSpeed 4 } //Low-range version.\n\n//A piece of meat that has hit the wall, and now is slowly smearing\nACTOR SmearingXDeath2\n{\n Radius 1\n Height 1\n\tMass 1\n\tScale 1.0\n +NOBLOCKMAP\n +NOTELEPORT\n\t+THRUGHOST\n\t+CLIENTSIDEONLY\n +DONTSPLASH\n +MOVEWITHSECTOR\n\t+FORCEXYBILLBOARD\n\t+NOGRAVITY\n States\n {\n\tSpawn:\n\t\tXMT1 N 10\n\t\tTNT1 A 0 ThrustThingZ(0, 1, 1, 1)\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\")\n\n\tSpawn1:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn2:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn3:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn4:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tDeath:\n\t TNT1 A 0\n\t TNT1 A 0 A_SpawnItem(\"XDeath2NoStick\")\n Stop\n\n\tRest:\n\t\tXMT1 M 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItem(\"Bolognese_BloodSpot\",0,0,0,1)\n\t\tXMT1 M -1\n\t\tStop\n\n\tVanish:\n\t TNT1 A 5\n\t\tStop\n }\n}\n\n//piece of meat that got stuck in the ceiling\nactor CeilXDeath2: Bolognese_BloodSpot\n{\n\tPROJECTILE\n\t+MISSILE\n\t+SPAWNCEILING\n\t+MOVEWITHSECTOR\n\t+NOGRAVITY\n\t+DontSplash\n\t+CEILINGHUGGER\n\tRenderstyle Normal\n\tScale 1.1\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JUmp (255, \"Live1\", \"Live2\", \"Live3\")\n\t\t\tGoto Live1\n\n\t\t Live1:\n\t\t\t XMT1 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live2:\n\t\t\t XMT1 IIIIIIIIIIIIIIIIIIIIIIIII 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live3:\n\t\t\t XMT1 IIIIIIIIIIIIIIIII 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Fall:\n\t\t\t XMT1 F 0\n\t\t\t XMT1 JJJKKLL 2\n\t\t\t TNT1 A 0 A_SpawnItemEx(\"XDeath2NoStick\", 0, 0, 0, 0, 0, -1)\n\t\t\t stop\n\t\t Splash:\n\t\t\t BLOD A 0\n\t\t\t stop\n\t\t}\n}\n\n//piece of meat that got stuck on the ceiling/wall and now is falling\nACTOR XDeath2NoStick: XDeath2\n{\n Speed 0\n\tGravity 0.4\n DeathSound \"misc/xdeath2\"\n\tRadius 1\n\tHeight 0\n States\n {\n Spawn:\n\t\tXMT1 FFFGGH 2\n\tLive:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"Death\")\n\t\tXMT1 ABCDEFGH 3 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 70))\n XMT1 M 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXMT1 M 3\n\t\tTNT1 A 0 A_SpawnItem(\"Bolognese_BloodSpot\",0,0,0,1)\n\t\tXMT1 M -1\n\t\tStop\n }\n}\n\n//Variation of XDeath2\nACTOR XDeath3: XDeath2\n{\n DeathSound \"misc/xdeath3\"\n\tDecal BrutalBloodSuper\n\tScale 1.1\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XMT2 ABCDEFGH 3 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n\t TNT1 A 0 A_CheckFloor(\"SpawnFloor\")\n\t\tTNT1 A 0 A_CheckCeiling(\"SpawnCeiling\")\n\t\tTNT1 A 0 A_SpawnItem(\"SmearingXDeath3\")\n\t\tStop\n\n\tSpawnFloor:\n\t XMT2 I 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItemEx (\"Bolognese_BloodSpot\", 0, 0, 1)\n\t\tXMT2 I -1\n\t\tStop\n\n\tSpawnCeiling:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx (\"CeilXDeath3\", 0, 0, 1)\n\t\tTNT1 A 0 A_SpawnItemEx (\"CeilBloodSpotLarge\", 0, 0, 1)\n\t\tStop\n\n\tVanish:\n\t TNT2 A 5\n\t\tStop\n }\n}\n\nACTOR XDeath3b: XDeath3 {\tSpeed 4 } //Low-range version.\n\n//A piece of meat that has hit the wall, and now is slowly smearing\nACTOR SmearingXDeath3: SmearingXDeath2\n{\n\n States\n {\n\tSpawn:\n\t\tXME2 G 10\n\t\tTNT1 A 0 ThrustThingZ(0, 1, 1, 1)\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\")\n\n\tSpawn1:\n\t\tXMT2 OOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn2:\n\t\tXMT2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn3:\n\t\tXMT2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn4:\n\t\tXMT2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tDeath:\n\t TNT1 A 0\n\t TNT1 A 0 A_SpawnItem(\"XDeath3NoStick\")\n Stop\n\n\tRest:\n\t\tXMT2 I 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItem(\"Bolognese_BloodSpot\",0,0,0,1)\n\t\tXMT2 I -1\n\t\tStop\n\n\tVanish:\n\t TNT1 A 5\n\t\tStop\n }\n}\n\n//piece of meat that got stuck in the ceiling\nactor CeilXDeath3: CeilXDeath2\n{\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tGoto Crash\n\t\t\tDeath:\n\t\t\tCrash:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JUmp (255, \"Live1\", \"Live2\", \"Live3\")\n\t\t\tGoto Live1\n\n\t\t Live1:\n\t\t\t XMT2 JJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live2:\n\t\t\t XMT2 JJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live3:\n\t\t\t XMT2 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Fall:\n\t\t\t XMT2 JJJJKKKLLM 2\n\t\t\t TNT1 A 0 A_SpawnItemEx(\"XDeath3NoStick\", 0, 0, 0, 0, 0, -1)\n\t\t\t XMT2 MMN 2\n\t\t\t stop\n\t\t Splash:\n\t\t\t BLOD A 0\n\t\t\t stop\n\t\t}\n}\n\n//piece of meat that got stuck on the ceiling/wall and now is falling\nACTOR XDeath3NoStick: XDeath2NoStick\n{\n\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"Death\")\n XMT2 O 3\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 70))\n XMT2 I 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXMT2 I 3\n\t\tTNT1 A 0 A_SpawnItem(\"Bolognese_BloodSpot\",0,0,0,1)\n\t\tXMT2 I -1\n\t\tStop\n }\n}\n\n//Big piece of ribcage\nACTOR XDeath4: XDeath2\n{\n DeathSound \"misc/xdeath3\"\n\tScale 1.0\n\t+DOOMBOUNCE\n\tBounceFactor 0.01\n\tGravity 1.0\n\twallbouncefactor 0.2\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XDB6 AAAAAA 3 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n\t\tXDB6 B 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXDB6 B -1\n\t\tStop\n }\n}\n\n//Big piece of ribcage 2\nACTOR XDeath5: XDeath2\n{\n DeathSound \"misc/xdeath3\"\n\tScale 1.0\n\tGravity 0.6\n\tSpeed 4\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XME5 A 3 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n TNT1 A 0 A_SpawnItemEx (\"Bolognese_BloodSpot\", 0, 0, 1)\n\t\tXME5 B 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME5 B -1\n\t\tTNT1 A 0\n XME5 B 3\n Living:\n\t\tXME5 B 800//duration\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"Vanish\")\n Loop\n\tVanish:\n\t TNT1 A 1\n\t Stop\n\n }\n}\n//Big piece of ribcage 3\nACTOR XDeath6: XDeath2\n{\n DeathSound \"misc/xdeath3\"\n\tScale 1.0\n\tGravity 0.6\n\tSpeed 4\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XME5 C 3 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n TNT1 A 0 A_SpawnItemEx (\"Bolognese_BloodSpot\", 0, 0, 1)\n\t\tXME5 D 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME5 D -1\n\t\tTNT1 A 0\n XME5 D 3\n Living:\n\t\tXME5 D 800//duration\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"Vanish\")\n Loop\n\tVanish:\n\t TNT1 A 1\n\t Stop\n\n }\n}\n\nACTOR XDeath5Big: XDeath5\n{\n\tXScale -1.5\n\tYScale 1.5\n\tSpeed 6\n}\n\nACTOR XDeath6Big: XDeath6\n{\n\tXScale -1.5\n\tYScale 1.5\n\tSpeed 6\n}\n\n//Generic organ\nACTOR XDeathOrgan1: XDeath2\n{\n\tScale 0.9\n\tSpeed 4\n States\n {\n Spawn:\n\t XME8 A 4 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n XME8 A 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME8 A -1\n Stop\n }\n}\n\nACTOR XDeathOrgan1b: XDeathOrgan1\n{\n\tXScale -0.7\n\tYScale 0.5\n}\n\nACTOR XDeathOrgan2: XDeathOrgan1\n{\nStates\n{\n Spawn:\n\t XME8 B 4 A_CustomMissile (\"Brutal_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n XME8 B 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME8 B -1\n Stop\n }\n}\n\nACTOR GoreSound: XDeath2\n{\n SeeSound \"misc/xdeath4\"\n DeathSound \"none\"\n Decal \"None\"\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n TNT1 A 2\n Loop\n Death:\n TNT1 BCDE 1\n Stop\n Splash:\n TNT1 A 1\n Stop\n }\n}\n\nACTOR Guts\n{\n Radius 8\n Height 12\n Speed 6\n\tMass 1\n\tBounceFactor 0.4\n\tRenderstyle Translucent\n\tAlpha 0.9\n\t+BOUNCEONWALLS\n\t+BOUNCEONCEILINGS\n +NOBLOCKMAP\n\t+MISSILE\n +NOTELEPORT\n +MOVEWITHSECTOR\n +CLIENTSIDEONLY\n +FORCEXYBILLBOARD\n\t-EXPLODEONWATER\n\tDecal BrutalBloodSplat\n\tScale 1.0\n\tGravity 0.4\n States\n {\n Spawn:\n\t\tGUTS A 1\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\")\n\tSpawn1:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(0.9, 0.8)\n\t\tGoto Live\n\n\tSpawn2:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-1.0, 1.0)\n\t\tGoto Live\n\n\tSpawn3:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(1.2, 1.0)\n\t\tGoto Live\n\n\tSpawn4:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.6, 1.0)\n\t\tGoto Live\n\n\tLive:\n\t\tGUTS ABCDEFGH 2 A_JumpIf(waterlevel > 1, \"Water\")\n GUTS H -1\n\t\tLoop\n\n Death:\n GUTS HIJ 3\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Water\")\n TNT1 A 0\n\t Goto Rest\n\n\tRest:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_Jump(255, \"Rest1\", \"Rest2\")\n\n\tRest1:\n GUTS K 1\n GUTS K -1\n\t\tStop\n\n\tRest2:\n\t\tGUTS L 1\n GUTS L -1\n\t\tStop\n\n\tDoNothing:\n\t\tTNT1 A 0\n\t\tStop\n\n\tWater:\n\t\tGUTS GHIH 10\n\t\tLoop\n }\n}\n\nACTOR Guts2: Guts\n{\n Speed 3\n}\n\nACTOR SmallBrainPiece: Xdeath2\n{\n Radius 2\n Height 2\n\tSpeed 10\n\tScale 0.4\n\tDecal None\n States\n {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\", \"Fly\")\n\tSpawn1:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(0.2, 0.2)\n\t\tGoto Fly\n\tSpawn2:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.5, 0.5)\n\t\tGoto Fly\n\tSpawn3:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.3, 0.3)\n\t\tGoto Fly\n\tSpawn4:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.2, 0.2)\n\t\tGoto Fly\n\tFly:\n\t\tXDB5 ABCDEFGH 2\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_CheckFloor(\"Rest\")\n\t\tTNT1 A 0 A_CheckCeiling(\"SpawnCeil\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"SmearingBrain\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tStop\n\tSpawnCeil:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"SmallBrainPieceCeil\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tStop\n\n\tRest:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXDT5 O 1\n\t\tXDT5 O -1\n\t\tStop\n\n\tDoNothing:\n\t\tTNT1 A 0\n\t\tStop\n }\n}\n\nACTOR SmallBrainPieceFast: SmallBrainPiece { Speed 14 }\n\nActor SmallBrainPieceCeil: CeilXDeath2\n{\nScale 0.4\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JUmp (255, \"Live1\", \"Live2\", \"Live3\")\n\t\t\tGoto Live1\n\n\t\t Live1:\n\t\t\t XDB5 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live2:\n\t\t\t XDB5 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live3:\n\t\t\t XDB5 JJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Fall:\n\t\t\t TNT1 A 0 A_SpawnItemEx(\"SmallBrainPieceFalling\", 0, 0, 0, 0, 0, -2, SXF_TRANSFERSCALE)\n\t\t\t stop\n\t\t Splash:\n\t\t\t BLOD A 0\n\t\t\t stop\n\t\t\t }\n}\n\nACTOR SmallBrainPieceFalling: SmallBrainPiece\n{\n States\n {\n\tSpawn:\n\t\tXDB5 P 1\n\t\tXDB5 P -1\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXDB5 O 1\n\t\tXDB5 O -1\n\t\tStop\n }\n}\n\nACTOR SmearingBrain\n{\n Radius 2\n Height 2\n\tSpeed 10\n\tMass 1\n\tScale 0.4\n +NOBLOCKMAP\n +NOTELEPORT\n\t+THRUGHOST\n\t+CLIENTSIDEONLY\n +DONTSPLASH\n +MOVEWITHSECTOR\n\t-DONTSPLASH\n\t+FORCEXYBILLBOARD\n\t+QUARTERGRAVITY\n States\n {\n\tSpawn:\n\tTNT1 A 0\n\tTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\", 1)\n\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\")\n\tGoto Spawn1\n\n\tSpawn1:\n\tXDB5 PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP 2 A_CheckFloor(\"Rest\")\n\tGoto Death\n\n\tSpawn2:\n\tXDB5 PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP 2 A_CheckFloor(\"Rest\")\n\tGoto Death\n\n\tSpawn3:\n\tXDB5 PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP 2 A_CheckFloor(\"Rest\")\n\tGoto Death\n\n\tSpawn4:\n\tXDB5 PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP 2 A_CheckFloor(\"Rest\")\n\tGoto Death\n\n\tDeath:\n\tRest:\n\t TNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t TNT1 A 0 A_ChangeFlag(\"QUARTERGRAVITY\", 0)\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tTNT1 A 0 A_CheckFloor(\"Sleep\")\n\t\tXDB5 P 2 ThrustThingZ(0,-2,0,1)\n\t\tLoop\n\tSleep:\n XDB5 K 1\n\t\tXDB5 K -1\n Stop\n\tDoNothing:\n\tTNT1 A 0\n\tStop\n }\n}\n\nACTOR GibEyeball\n{\n Radius 2\n Height 2\n\tSpeed 6\n\tMass 1\n Decal BrutalBloodSplat\n +CLIENTSIDEONLY\n\tBounceFactor 0.5\n\t+DOOMBOUNCE\n\t+MISSILE\n +NOBLOCKMAP\n +NOTELEPORT\n +DONTSPLASH\n +MOVEWITHSECTOR\n\t+FLOORCLIP\n\tScale 0.8\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Death\")\n\t\tBRIB EFGH 4\n\t\tLoop\n\tDeath:\n\t BRIB E 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0\n\t Goto Rest\n\n\tRest:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Jump(255, \"Rest1\", \"Rest2\", \"Rest3\", \"Rest4\")\n\tRest1:\n BRIB E 800\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"DoNothing\")\n Loop\n\n\tRest2:\n\t\tBRIB F 800\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"DoNothing\")\n Loop\n\tRest3:\n BRIB G 800\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"DoNothing\")\n Loop\n\n\tRest4:\n\t\tBRIB H 800\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"DoNothing\")\n Loop\n\tDoNothing:\n\tTNT1 A 0\n\tStop\n }\n}"
},
{
"source": "pk3",
"name": "modeldef.blood.txt",
"contents": "//Unfortunately, Zandronum still doesn't supports flat sprites, so to ensure that the mode can work\n//both on GZDoom and Zandronum, it's still necessary to use 3D models.\n\nModel GiantBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"SPLTBLD.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 90.0 90.0 1.0 // Scale values\n ZOffset 0.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BigBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"SPLTBLD.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 70.0 70.0 1.0 // Scale values\n ZOffset 0.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Bolognese_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.3\n}\n\nModel Bolognese_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL B 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.4\n}\n\nModel Bolognese_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd3.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL C 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.5\n}\n\nModel Bolognese_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL D 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.6\n}\n\nModel MinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 30.0 30.0 30.0 // Scale values\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.4\n}\n\nModel MinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 30.0 // Scale values\n ZOffset 1.5\n FrameIndex BPDL B 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel MinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 35.0 35.0 30.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL C 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel MinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 41.0 41.0 30.0 // Scale values\n ZOffset 1.3\n FrameIndex BPDL D 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel MinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 30.0 30.0 30.0 // Scale values\n ZOffset 1.7\n FrameIndex BPDL C 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel MinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 30.0 30.0 30.0 // Scale values\n ZOffset 1.7\n FrameIndex BPDL D 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Waterbloodspot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"BLODWAT.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n ZOffset 1.0\n ROTATING\n Rotation-Speed 1\n\n FrameIndex BPDL E 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Brutal_FlyingBlood // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 50.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL B 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Brutal_FlyingBlood // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 46.0 46.0 46.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel CeilBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodceil.md3\" // Model index, model file\n Skin 0 \"bloodspothd.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 -60.0 // Scale values\n ZOffset -0.1\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel CeilBloodSpotLarge // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodceil.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 1.0 // Scale values\n ZOffset -0.1\n FrameIndex BPDL a 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel MediumBloodSpot2 // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 80.0 80.0 80.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel MediumBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 80.0 80.0 80.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel SplatteredSmall // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 60.0 60.0 60.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel SplatteredLarge // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"SPLTBLD.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 90.0 90.0 1.0 // Scale values\n ZOffset 0.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GrowingBloodPool // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 20.0 20.0 1.0 // Scale values\n ZOffset 0.65\n FrameIndex TNT5 A 0 0 // The sprite lump, sprite frame, model index, frame number\n}"
},
{
"source": "pk3",
"name": "GreenGore.txt",
"contents": "//All the liquid gore stuff goes here.\n\n//Hit puff actor\n\nactor Green_Blood: Bolognese_Blood\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n\t states\n\t {\n\t Spawn:\n\t\t\tBSPR A 0\n\t\t\tTNT1 A 0 A_CustomMissile (\"GreenSuperGoreMistTiny\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckBloodIntensity\")\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"misc/GreenXDeath5\")\n\t\t\tBSPR A 2\n\t\t\tTNT1 A 0 A_CustomMissile (\"GreenWaterBloodCHecker\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\tSpawn2:\n\t\t\tTNT1 A 0 A_CustomMissile (\"Green_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\t\tTNT1 A 0 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t\tBSPR ABCDEFG 1\n\t\t\tBSPR HHHHHHH 1 A_FadeOut(0.1)\n\t\t\tStop\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tTNT1 AAA 0 A_CustomMissile (\"GreenUnderblood1\", 7, 0, random (0, 360), 2, random (30, 150))\n\t\t\tstop\n\t\tLotsOfBlood:\n\t\t TNT1 A 0\n\n\t\t TNT1 AAAA 0 A_CustomMissile (\"GreenBloodMistSmall\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"Green_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 70))\n\t\t TNT1 A 0 A_CustomMissile (\"SuperWallGreenBlood\", 0, 0, random (0, 360), 2, random (-15, 15))\n\t\t TNT1 AAAA 0 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t BSPR ABCDEFG 1\n\t\t BSPR HHHHHHH 1 A_FadeOut(0.1)\n\t\t Stop\n\t\tAbsurdBlood:\n\t\t TNT1 A 2\n\t\t TNT1 AAAA 0 A_CustomMissile (\"SuperWallGreenBlood\", 0, 0, random (0, 360), 2, random (-15, 15))\n\t\t TNT1 A 0 A_JumpIfInventory(\"AnimuGore\", 1, \"AnimuGore\")\n\t\t TNT1 AA 0 A_CustomMissile (\"GreenBloodMist\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t TNT1 AAA 0 A_CustomMissile (\"Green_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (10, 50))\n\t\t TNT1 A 0 A_CustomMissile (\"Green_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenBloodMistSmall\", 7, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenSuperGoreMist\", 0, 0, random (0, 360), 2, random (10, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"Green_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 70))\n\t\t TNT1 AAA 0 A_CustomMissile (\"GreenBloodMistSpray\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t BSPR ABCDEFG 1\n\t\t BSPR HHHHHH 1 A_FadeOut(0.1)\n\t\t Stop\n\t\t AnimuGore:\n\t\t TNT1 AAA 0 A_CustomMissile (\"Green_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (10, 50))\n\t\t TNT1 A 0 A_CustomMissile (\"SuperWallGreenBlood\", 0, 0, random (0, 360), 2, random (-15, 15))\n\t\t TNT1 A 0 A_CustomMissile (\"Green_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AAAAAAA 0 A_CustomMissile (\"Green_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 70))\n\t\t TNT1 AAAAAAAAA 0 A_CustomMissile (\"GreenXDeath1\", 0, 0, random (0, 360), 2, random (40, 80))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenSuperGoreSpawner\", 0, 0, random (0, 360), 2, random (10, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"GreenBloodMistSpray\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t BSPR ABCDEFG 1\n\t\t BSPR GGGGG 1 A_FadeOut(0.1)\n\t\t Stop\n\t\t LowBlood:\n\t\t\tTNT1 A 0\n\t\t\tBSPR ABCDEFG 1\n\t\t\tBSPR HHHHHHHH 1 A_FadeOut(0.1)\n\t\t\tStop\n\t }\n}\n\n//Dummy actor just to replace the bloodpuff made by Hexen axe\nactor GreenSawBlood : SawBlood\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n states\n {\n Spawn:\n TNT1 A 0\n\t\tTNT1 AA 0 A_CustomMissile (\"GreenBloodMistSmall\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\tTNT1 AA 0 A_CustomMissile (\"GreenXDeath1\", 0, 0, random (0, 360), 2, random (40, 80))\n\t\tTNT1 AAA 0 A_CustomMissile (\"Green_FlyingBlood\", 0, 0, random (0, 360), 2, random (30, 60))\n\t\tTNT1 A 0 Radius_Quake (2, 2, 0, 2, 0)\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckBloodIntensity\")\n\t\tTNT1 A 0 A_Stop\n\t\tTNT1 A 2\n\t\tGoto Spawn2\n }\n}\n\n//Base flying blood actor. Leaves bloodspots on the floor\nACTOR Green_FlyingBlood: Brutal_FlyingBlood\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n {\n Spawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Live\")\n\t Spawn1:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.4, 0.4)\n\t\t\tGoto live\n\n\tSpawn2:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.45, -0.45)\n\t\t\tGoto live\n\n\tSpawn3:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(0.5, -0.5)\n\t\t\tGoto live\n\n\t Live:\n\t\t\tBLHT BCDEFG 1\n\t\t\tTNT1 A 0\n\t\t\tBLHT HHHHH 100 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tStop\n\n\tSplash:\n\t\t\tBLOD A 0\n\t\t\tTNT1 A 0 A_SpawnItem (\"GreenUnderblood2\")\n\t\t\tstop\n\n Death:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t\t\tTNT1 A 0 A_CheckFloor(\"DeathFloor\")\n\t\t\tTNT1 A 1\n\t\t\tStop\n\n\t\tDeathFloor:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx (\"Green_BloodSpot\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERTRANSLATION,0)\n\t\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t\t XDT1 EFGHIJKL 2\n\t\t\tStop\n\n\t\tNoSpawn:\n\t\t\tTNT1 A 0\n\t\t\tStop\n\n }\n}\n\n//Faster version used in some specific cases\nACTOR Green_FlyingBloodMuchFaster: Green_FlyingBlood\n{\n\t Scale 1.0\n\t Speed 8\n}\n\nactor Green_FlyingBloodTrail: Brutal_FlyingBloodTrail\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n\tstates\n\t{\n\t Spawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t BLHT BCDEFG 1\n\t\t BLHT HHHHHHHHH 1 A_FadeOut(0.02)\n\t\t stop\n\n\tDeath:\n\t\tTNT1 A 0\n\t\tStop\n\n\tSplash:\n BLOD A 0\n\t\tTNT1 A 0 A_SpawnItem (\"GreenUnderblood2\")\n stop\n\n }\n}\n\nactor Green_FlyingBloodFaster: Green_FlyingBloodTrail\n{\nSpeed 4\n states\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t BLOD ABCDEFFFFFF 3\n\t stop\n }\n}\n\nACTOR Green_FlyingBloodFake: Brutal_FlyingBloodFake\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tBLOD KKKKKKKKKKKK 1 A_FadeOut(0.05)\n Stop\n\tSplash:\n BLOD A 0\n\t\tTNT1 A 0 A_SpawnItem (\"GreenUnderblood2\")\n stop\n\tDeath:\n\t TNT1 A 10\n\t\tStop\n }\n}\n\nACTOR Green_FlyingBloodFakeNoDecal: Green_FlyingBloodFake { decal \"none\"}\n\nactor GreenBloodMist : BloodMist\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\nactor GreenBloodMistBig : BloodMistBig\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\nactor GreenBloodMistSmall : BloodMistSmall\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\nactor GreenBloodMistExtraBig :BloodMistExtraBig\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//More wattery version\nactor GreenBloodMistSpray : BloodMistSpray\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n/////////////////////// BLOOD SPOTS //////////////////////////\n\n//base bloodspot actor\nACTOR Green_BloodSpot: Bolognese_Bloodspot\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//a special flying blood actor that spawns muddy water pools over liquids\nACTOR GreenWaterBloodCHecker: WaterBloodCHecker\n{\n\n\tDecal none\n\tStates\n {\n Spawn:\n\t TNT1 A 5\n Loop\n Death:\n TNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")\n\t\tTNT1 A 5\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"IsOverLiquid\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"IsOverLiquid\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverNukage\", 1, \"IsOverLiquid\")\n TNT1 A 10\n Stop\n\n\tIsOverLiquid:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_CheckFloor(\"SpawnOnWater\")\n\t\tTNT1 A 2\n\t\tStop\n\n\tSpawnOnWater:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SpawnItem (\"GreenWaterBloodSpot\", 5)\n\t\tStop\n }\n}\n\n//muddy water bloodspot actor\nACTOR GreenWaterBloodSpot: WaterBloodSpot\n{\nRenderstyle Shaded\nStencilColor \"0 55 00\"\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n states\n {\n\tSpawn:\n\t\tBPDL E 1 A_FadeOut(0.9)\n\t\tBPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeIn(0.02)\n\t\tBPDL E 100\n\t\tBPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeOut(0.02)\n\t\tStop\n }\n}\n\n//bigger bloodsplat\nactor GreenGiantBloodSpot: GiantBloodSpot\n{\nScale 1.1\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\nactor GreenMinuscleBloodSpot: Green_BloodSpot {Scale 0.25}\nactor GreenBigBloodSpot: GreenGiantBloodSpot { Scale 0.7}\nactor GreenMediumBloodSpot: GreenGiantBloodSpot { Scale 0.4}\nactor GreenMediumBloodSpot2: GreenGiantBloodSpot{ Scale 0.4}\n\n//Big version spawned by XDeath animations\nACTOR SplatteredGreenSmall: Green_BloodSpot\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//Big version spawned by XDeath animations of bigger enemies\nACTOR SplatteredGreenLarge: Green_BloodSpot\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n states\n {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n TNT1 A 0 A_CheckFloor(\"Live\")\n Goto Splash\n\n Live:\n TNT1 A 0\n TNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check if is under a liquid\n\tTNT1 A 4\n TNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"GreenWaterBloodSpot\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"GreenWaterBloodSpot\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"GreenWaterBloodSpot\")\n\tTNT1 A 0 A_QueueCorpse\n\tBPDL A -1\n\tStop\n\n GreenWaterBloodSpot:\n\tTNT1 A 0\n\tTNT1 A 0 A_SpawnItem(\"GreenWaterBloodSpot\")\n\tStop\n }\n}\n\n//A blood pool spawned by regular enemy deaths.\n\nactor GreenGrowingBloodPool: GrowingBloodPool\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//A decorative kind of flying blood spawned by arterial blood\nACTOR Green_LiquidBlood: Brutal_LiquidBlood\n{\n decal \"GreenBloodSmearSmall\"\n translation \"168:191=112:127\", \"16:47=123:127\"\n}\n\n//Faster version, leaves no decals. Used to prevent decal overflow\nACTOR Green_LiquidBlood2: Green_LiquidBlood\n{\n speed 4\n scale 0.4\n gravity 0.6\n decal \"None\"\n}\n\n//Very fast version\nACTOR Green_LiquidBloodFast: Green_LiquidBlood2\n{\n speed 8\n}\n\n//This version leaves a bloodspot\nACTOR Green_LiquidBlood3: Green_FlyingBlood\n{\nSpeed 3\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n {\n\t Death:\n \t TNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t TNT1 A 0 A_CheckFloor(\"SpawnFloor\")\n\t TNT1 A 4\n\t Stop\n\n\t SpawnFloor:\n\t tnt1 a 0 A_SPawnItem(\"Green_BloodSpot\")\n\t XDT1 FGHIJKL 2\n\t TNT1 A 0\n Stop\n }\n}\n\n//Decorative trails\nACTOR Green_LiquidBloodTrail: Brutal_LiquidBloodTrail\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//An actor that will spawn multiple arterial blood actors\nACTOR GreenArterialBloodSpray\n{\n Speed 0\n +CLIENTSIDEONLY\n +NOINTERACTION\n States\n {\n Spawn:\n\t TNT1 A 0\n\t TNT1 A 0 A_stop\n\t\tTNT1 AAAA 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 12\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 12\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 16\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 19\n\t\tTNT1 A 2 A_CustomMissile (\"Green_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n Stop\n }\n}\n\n/////////////////// CEILING BLOOD //////////////////////////\n\n//Launches bloodspots on the ceiling\nACTOR GreenCeilBloodLauncher: CeilBloodLauncher\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n\t\t{\n\t\t Death:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_CheckCeiling(\"IsOnCeil\")\n\t\t\tTNT1 A 0\n\t\t\tstop\n\n\t\t IsOnCeil:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_SpawnItem(\"GreenCeilBloodSpot\",0,0,0,1)\n\t\t\tStop\n\t\t}\n}\n\n//Longer version (for extreme deaths)\nACTOR GreenCeilBloodLauncherLong: GreenCeilBloodLauncher\n{\n States\n {\n\t\t Spawn:\n\t\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 12\n\t\t\tStop\n }\n}\n\n// The Ceil Blood Spot\nactor GreenCeilBloodSpot: CeilBloodSpot\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n\tstates\n\t{\n\t\tSpawn:\n\t\t BPDL A 1\n\t\t TNT1 A 0 A_QueueCorpse\n\t\t TNT1 A 0 A_SpawnItem (\"DripingGreenBloodLeavesSmallPool\")\n\t\t TNT1 A 0 A_SpawnItem (\"GreenCeilBloodTinyBloodSpawner\")\n\t\tLive:\n\t\t BPDL A 5 ThrustThingZ(0, 20, 0, 1)\n\t\t Loop\n\t\t\t}\n}\n\n//Bigger version of a ceil blood spot, usually left by sticky gibs.\nactor GreenCeilBloodSpotLarge: GreenCeilBloodSpot\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//These are the actors that spawns blood drips. They are separate from the bloodspots so the sticky gibs can spawn them separately.\n\n//Small blood drips spawner, usually caused by regular blood touching the ceiling.\nACTOR GreenCeilBloodTinyBloodSpawner: CeilBloodTinyBloodSpawner\n{\n\t States\n\t\t{\n\t\t Spawn:\n\t\t\t TNT1 A 0\n\t\t\t TNT1 A 1 A_SpawnItemEx (\"DripingGreenBloodLeavesSmallPool\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 5 A_SpawnItemEx (\"GreenBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 10 A_SpawnItemEx (\"GreenBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 16 A_SpawnItemEx (\"GreenBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 24 A_SpawnItem (\"GreenBloodDripingFromCeiling\")\n\t\t\t stop\n\t\t}\n}\n\n//Large blood drips spawner, usually caused by huge chunks of meat getting stuck on the ceiling.\nACTOR GreenCeilBloodLargeBloodSpawner: Green_FlyingBlood\n{\n\t+NOGRAVITY\n\t+THRUACTORS\n\t+NOCLIP\n\tScale 0.5\n\t States\n\t\t{\n\t\t Spawn:\n\t\t\t TNT1 A 0\n\t\t\t TNT1 A 1 A_SpawnItemEx (\"DripingGreenBloodLeavesSmallPool\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 A_SpawnItemEx (\"GreenBloodDripingFromCeilingBig\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 10 A_SpawnItemEx (\"GreenBloodDripingFromCeilingBig\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 15 A_SpawnItemEx (\"GreenBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 20 A_SpawnItemEx (\"GreenBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t stop\n\t\t}\n}\n\n//This is the actual blood driping from the ceiling actor\nACTOR GreenBloodDripingFromCeiling: BloodDripingFromCeiling\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//This is a bigger and denser version of the blood drip, droped by sticky gibs\nACTOR GreenBloodDripingFromCeilingBig: BloodDripingFromCeiling\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//This is the first drip spawned by the drip spawners, which leaves a small blood pool\nACTOR DripingGreenBloodLeavesPool: DripingBloodLeavesPool\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n {\n Spawn:\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n BLUD Z 4\n loop\n Death:\n\t TNT1 A 0\n\t\tTNT1 A 0 A_SpawnItem(\"GreenMediumBloodSpot\")\n\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n XDT1 EFGHIJKL 2\n stop\n }\n}\n\n//Just like above, but leaves a smaller pool\nACTOR DripingGreenBloodLeavesSmallPool: DripingBloodLeavesSmallPool\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\nStates\n{\n Death:\n\t TNT1 A 0\n\t\tTNT1 A 0 A_SpawnItem(\"GreenMinuscleBloodSpot\")\n\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n XDT1 EFGHIJKL 2\n stop\n }\n}\n\n//An invisible projectile only used to spawn bloodsplats on the walls, usually spawned by extreme deaths.\nACTOR WallGreenBlood: WallRedBlood\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSmearer\n States\n {\n\t\tSpawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 ABCD 4\n\t\t\tloop\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tstop\n\t\t Death:\n\t\t\tTNT1 A 3\n\t\t\tstop\n }\n}\n\n//This one spawns an even bigger decal\nACTOR SuperWallGreenBlood: WallRedBlood\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSuper\n}\n\n//This one spawns a ridiculously bigger decal, used by BFG extreme deaths\nACTOR GiantWallGreenBlood: WallGreenBlood\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodGiant\n}\n\n//Spawns giant blood decals all around the area. Used in Green Doom's BFG deaths.\nActor GreenBloodSplinter\n{\n\t+THRUACTORS\n\t+CLIENTSIDEONLY\n\tStates\n\t\t{\n\t\t\t Spawn:\n\t\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallGreenBlood\", 40, 0, 0, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallGreenBlood\", 40, 0, 45, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallGreenBlood\", 40, 0, 90, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallGreenBlood\", 40, 0, 135, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallGreenBlood\", 40, 0, 180, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallGreenBlood\", 40, 0, 225, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallGreenBlood\", 40, 0, 270, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallGreenBlood\", 40, 0, 315, 2, random (0, 35))\n\t\t\t Stop\n\n\t\t\tSplash:\n\t\t\t\tBLOD A 0\n\t\t\t\tstop\n\t\t}\n}\n\n//Spawned by BD's kicked heads to spawn blood decals and make the head bounce sound.\nACTOR ShortWallGreenBlood: WallGreenBlood\n{\n speed 2\n Gravity 1\n Radius 24\n Height 12\n States\n {\n Spawn:\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n TNT1 A 3\n Stop\n\tDeath:\n\t TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile (\"Green_FlyingBloodFakeNoDecal\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\tTNT1 A 0 A_SpawnItem(\"Green_BloodSpot\",0,0,0,1)\n\t\tTNT1 A 0 A_PlaySound(\"HEDBON\")\n\t TNT1 A 20\n\t\tStop\n\t}\n}\n\n//Blood actors spawned underwater\nACTOR GreenUnderblood1: Underblood1\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\n}\n\n//Shorter version\nACTOR GreenUnderblood2: GreenUnderblood1\n{\n scale 0.7\n speed 0\n}\n//Bigger version that moves, used for gibbing.\nACTOR GreenUnderblood3: GreenUnderblood1\n{\n scale 2.2\n speed 2\n Alpha 0.3\n}\n\n//Big blood mists\n\nactor GreenSuperGore: SuperGore\n{\n\ttranslation \"168:191=112:127\", \"16:47=123:127\"\n\tDecal GreenBloodSplat\n}\n\nActor GreenSuperGoreMist: SuperGoreMist\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//Used on bullet hit impacts\nActor GreenSuperGoreMistTiny: SuperGoreMistTiny\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\nactor BigGreenSuperGore: BigSuperGore\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\nactor GiantGreenSuperGore: GiantSuperGore\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\n//Spawners for the GreenSuperGore thing\nActor GreenSuperGoreSpawner: SuperGoreSpawner\n{\n\tstates\n\t{\n\tSpawn:\n\t\tTNT1 A 3\n\t\tTNT1 AAA 3 A_CustomMissile(\"GreenSuperGore\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\tStop\n\t}\n}\n\n//Bloody footprints still requires the player to be edited to work.\n//Gives the player an inventory item to indicate the feet are smeaGreen.\nACTOR BootSmearerGreen: GrowingBloodPool\n{\n\tMONSTER\n\t-SOLID\n\t+NOCLIP\n\t+THRUACTORS\n\t-COUNTKILL\n\t+LOOKALLAROUND\n\t-FRIENDLY\n\tRadius 0\n\tHeight 0\n\t states\n\t {\n\t Spawn:\n\t\t TNT1 A 0\n\t\t TNT1 A 1 A_Look\n\t\t Goto See\n\n\t See:\n\t\t TNT1 A 1 A_Chase(\"\",\"\")\n\t\t TNT1 A 0 A_Die(\"LookForPlayer\")\n\t Death:\n\t Death.LookForPlayer:\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 8 A_JumpIfCloser(60, \"SmearBootsWithGreenBlood\")\n\t\tStop\n\tSmearBootsWithGreenBlood:\n\t\t//TNT1 A 0 A_GiveToTarget(\"BootsSmeaGreenWithGreenBlood\", 8)\n\t\tBPDL A 0\n\t\tStop\n\t}\n}\n\nACTOR GreenBloodFootPrintLeft: GrowingBloodPool\n{\n\tScale 0.09\n\t+CLIENTSIDEONLY\n\tRenderstyle Shaded\n\tStencilColor \"55 00 00\"\n\t states\n\t {\n\t Spawn:\n\t Death:\n\t Crash:\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check if is under a liquid\n\t\tTNT1 A 4\n\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"ShowUp\")\n\t\tGoto Splash\n\tShowUp:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tBPDL A 200\n\t\tTNT1 A 0 A_JumpIfInventory(\"LowGraphicsMode\", 1, \"Splash\")\n\t\tBPDL A -1\n\t\tStop\n\tSplash:\n\t\tTNT1 A 0\n\t\tStop\n\t }\n}\n\nACTOR GreenBloodFootPrintRight: GrowingBloodPool\n{\nScale 0.09\n+CLIENTSIDEONLY\nRenderstyle Shaded\nStencilColor \"55 00 00\"\n states\n {\n\t Spawn:\n\t Death:\n\t Crash:\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check if is under a liquid\n\t\tTNT1 A 4\n\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"ShowUp\")\n\t\tGoto Splash\n\t\tShowUp:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tBPDL A 200\n\t\tTNT1 A 0 A_JumpIfInventory(\"LowGraphicsMode\", 1, \"Splash\")\n\t\tBPDL A -1\n\t\tStop\n\tSplash:\n\t\tTNT1 A 0\n\t\tStop\n }\n}\n\n//Gib actors\n\nACTOR GreenXDeath1: XDeath1\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSuper\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Underwater\")\n\t\tBLOD AAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItem(\"Green_LiquidBloodTrail\")\n Stop\n Death:\n TNT1 A 0 A_SpawnItemEx (\"Green_BloodSpot\", 0, 0, 1)\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")\n\t\tXDT1 EF 3\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"IsOverLiquid\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"IsOverLiquid\")\n XDT1 GHIJKL 3\n Stop\n TNT1 A 1\n Underwater:\n\t Splash:\n\t BLUD C 0 ThrustThingZ (0,35,1,0)\n XDT1 AB 3 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n\t\tBLUD C 0 ThrustThingZ (0,35,1,0)\n\t\tXDT1 CD 3 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n\n\tIsOverLiquid:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_CheckFloor(\"SpawnOnWater\")\n\n\tSpawnOnWater:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SpawnItem (\"GreenWaterBloodSpot\", 5)\n\t\tStop\n }\n}\n\n//A flying piece of meat\nACTOR GreenXDeath2: XDeath2\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSuper\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XMT1 ABCDEFGH 2 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n\t TNT1 A 0 A_CheckFloor(\"SpawnFloor\")\n\t\tTNT1 A 0 A_CheckCeiling(\"SpawnCeiling\")\n\t\tTNT1 A 0 A_SpawnItem(\"SmearingGreenXDeath2\")\n\t\tStop\n\n\tSpawnFloor:\n\t XMT1 M 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItemEx (\"Green_BloodSpot\", 0, 0, 1)\n\t\tXMT1 M -1\n\t\tStop\n\n\tSpawnCeiling:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx (\"CeilGreenXDeath2\", 0, 0, 1)\n\t\tTNT1 A 0 A_SpawnItemEx (\"GreenCeilBloodSpotLarge\", 0, 0, 1)\n\t\tStop\n\n\tVanish:\n\t TNT1 A 5\n\t\tStop\n }\n}\n\nACTOR GreenXDeath2b: GreenXDeath2 {\tSpeed 4 } //Low-range version.\n\n//A piece of meat that has hit the wall, and now is slowly smearing\nACTOR SmearingGreenXDeath2: SmearingXDeath2\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSuper\n States\n {\n\tSpawn:\n\t\tXMT1 N 10\n\t\tTNT1 A 0 ThrustThingZ(0, 1, 1, 1)\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\")\n\n\tSpawn1:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn2:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn3:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn4:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tDeath:\n\t TNT1 A 0\n\t TNT1 A 0 A_SpawnItem(\"GreenXDeath2NoStick\")\n Stop\n\n\tRest:\n\t\tXMT1 M 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItem(\"Green_BloodSpot\",0,0,0,1)\n\t\tXMT1 M -1\n\t\tStop\n\n\tVanish:\n\t TNT1 A 5\n\t\tStop\n }\n}\n\n//piece of meat that got stuck in the ceiling\nactor CeilGreenXDeath2: CeilXdeath2\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSuper\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JUmp (255, \"Live1\", \"Live2\", \"Live3\")\n\t\t\tGoto Live1\n\n\t\t Live1:\n\t\t\t XMT1 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live2:\n\t\t\t XMT1 IIIIIIIIIIIIIIIIIIIIIIIII 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live3:\n\t\t\t XMT1 IIIIIIIIIIIIIIIII 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\t\t Fall:\n\t\t\t XMT1 F 0\n\t\t\t XMT1 JJJKKLL 2\n\t\t\t TNT1 A 0 A_SpawnItemEx(\"GreenXDeath2NoStick\", 0, 0, 0, 0, 0, -1)\n\t\t\t stop\n\t\t Splash:\n\t\t\t BLOD A 0\n\t\t\t stop\n\t\t}\n}\n\n//piece of meat that got stuck on the ceiling/wall and now is falling\nACTOR GreenXDeath2NoStick: XDeath2NoStick\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n {\n Spawn:\n\t\tXMT1 FFFGGH 2\n\tLive:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"Death\")\n\t\tXMT1 ABCDEFGH 3 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 70))\n XMT1 M 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXMT1 M 3\n\t\tTNT1 A 0 A_SpawnItem(\"Green_BloodSpot\",0,0,0,1)\n\t\tXMT1 M -1\n\t\tStop\n }\n}\n\n//Variation of GreenXDeath2\nACTOR GreenXDeath3: XDeath3\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSuper\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XMT2 ABCDEFGH 3 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n\t TNT1 A 0 A_CheckFloor(\"SpawnFloor\")\n\t\tTNT1 A 0 A_CheckCeiling(\"SpawnCeiling\")\n\t\tTNT1 A 0 A_SpawnItem(\"SmearingGreenXDeath3\")\n\t\tStop\n\n\tSpawnFloor:\n\t XMT2 I 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItemEx (\"Green_BloodSpot\", 0, 0, 1)\n\t\tXMT2 I -1\n\t\tStop\n\n\tSpawnCeiling:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx (\"CeilGreenXDeath3\", 0, 0, 1)\n\t\tTNT1 A 0 A_SpawnItemEx (\"GreenCeilBloodSpotLarge\", 0, 0, 1)\n\t\tStop\n }\n}\n\nACTOR GreenXDeath3b: GreenXDeath3 {\tSpeed 4 } //Low-range version.\n\n//A piece of meat that has hit the wall, and now is slowly smearing\nACTOR SmearingGreenXDeath3: SmearingXDeath3\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSuper\n States\n {\n\tSpawn:\n\t\tXME2 G 10\n\t\tTNT1 A 0 ThrustThingZ(0, 1, 1, 1)\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\")\n\n\tSpawn1:\n\t\tXMT2 OOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn2:\n\t\tXMT2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn3:\n\t\tXMT2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn4:\n\t\tXMT2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tDeath:\n\t TNT1 A 0\n\t TNT1 A 0 A_SpawnItem(\"GreenXDeath3NoStick\")\n Stop\n\n\tRest:\n\t\tXMT2 I 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItem(\"Green_BloodSpot\",0,0,0,1)\n\t\tXMT2 I -1\n\t\tStop\n\n\tVanish:\n\t TNT1 A 5\n\t\tStop\n }\n}\n\n//piece of meat that got stuck in the ceiling\nactor CeilGreenXDeath3: CeilXDeath3\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSuper\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tGoto Crash\n\t\t\tDeath:\n\t\t\tCrash:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JUmp (255, \"Live1\", \"Live2\", \"Live3\")\n\t\t\tGoto Live1\n\n\t\t Live1:\n\t\t\t XMT2 JJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live2:\n\t\t\t XMT2 JJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live3:\n\t\t\t XMT2 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Fall:\n\t\t\t XMT2 JJJJKKKLLM 2\n\t\t\t TNT1 A 0 A_SpawnItemEx(\"GreenXDeath3NoStick\", 0, 0, 0, 0, 0, -1)\n\t\t\t XMT2 MMN 2\n\t\t\t stop\n\t\t}\n}\n\n//piece of meat that got stuck on the ceiling/wall and now is falling\nACTOR GreenXDeath3NoStick: XDeath3NoStick\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSuper\n States\n {\n\t Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"Death\")\n XMT2 O 3\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 70))\n XMT2 I 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXMT2 I 3\n\t\tTNT1 A 0 A_SpawnItem(\"Green_BloodSpot\",0,0,0,1)\n\t\tXMT2 I -1\n\t\tStop\n }\n}\n\n//Big piece of ribcage\nACTOR GreenXDeath4: XDeath4\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XDB6 AAAAAA 3 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n\t\tXDB6 B 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXDB6 B -1\n\t\tStop\n }\n}\n\n//Big piece of ribcage 2\nACTOR GreenXDeath5: XDeath5\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XME5 A 3 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n TNT1 A 0 A_SpawnItemEx (\"Green_BloodSpot\", 0, 0, 1)\n\t\tXME5 B 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME5 B -1\n\t\tTNT1 A 0\n XME5 B 3\n Living:\n\t\tXME5 B 800//duration\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"Vanish\")\n Loop\n\tVanish:\n\t TNT1 A 1\n\t Stop\n\n }\n}\n//Big piece of ribcage 3\nACTOR GreenXDeath6: XDeath6\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XME5 C 3 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n TNT1 A 0 A_SpawnItemEx (\"Green_BloodSpot\", 0, 0, 1)\n\t\tXME5 D 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME5 D -1\n\t\tTNT1 A 0\n XME5 D 3\n Living:\n\t\tXME5 D 800//duration\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"Vanish\")\n Loop\n\tVanish:\n\t TNT1 A 1\n\t Stop\n\n }\n}\n\nACTOR GreenXDeath5Big: GreenXDeath5\n{\n\tXScale -1.5\n\tYScale 1.5\n\tSpeed 6\n}\n\nACTOR GreenXDeath6Big: GreenXDeath6\n{\n\tXScale -1.5\n\tYScale 1.5\n\tSpeed 6\n}\n\n//Generic organ\nACTOR GreenXDeathOrgan1: XDeathOrgan1\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n States\n {\n Spawn:\n\t XME8 A 4 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n }\n}\n\nACTOR GreenXDeathOrgan1b: XDeathOrgan1b\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\nACTOR GreenXDeathOrgan2: GreenXDeathOrgan1\n{\nStates\n{\n Spawn:\n\t XME8 B 4 A_CustomMissile (\"Green_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n XME8 B 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME8 B -1\n Stop\n }\n}\n\nACTOR GreenGuts: Guts\n{\ntranslation \"168:191=112:127\", \"16:47=123:127\"\nDecal GreenBloodSplat\n}\n\nACTOR GreenGuts2: GreenGuts\n{\n Speed 3\n}\n\nACTOR SmallGreenBrainPiece: SmallBrainPiece\n{\ntranslation \"16:31=152:159\", \"32:47=9:12\", \"176:191=9:12\"\n States\n {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\", \"Fly\")\n\tSpawn1:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(0.2, 0.2)\n\t\tGoto Fly\n\tSpawn2:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.5, 0.5)\n\t\tGoto Fly\n\tSpawn3:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.3, 0.3)\n\t\tGoto Fly\n\tSpawn4:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.2, 0.2)\n\t\tGoto Fly\n\tFly:\n\t\tXDB5 ABCDEFGH 2\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_CheckFloor(\"Rest\")\n\t\tTNT1 A 0 A_CheckCeiling(\"SpawnCeil\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"SmearingGreenBrain\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tStop\n\tSpawnCeil:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"SmallGreenBrainPieceCeil\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tStop\n\n }\n}\n\nACTOR SmallGreenBrainPieceFast: SmallGreenBrainPiece { Speed 14 }\n\nActor SmallGreenBrainPieceCeil: SmallBrainPieceCeil\n{\ntranslation \"16:31=152:159\", \"32:47=9:12\", \"176:191=9:12\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JUmp (255, \"Live1\", \"Live2\", \"Live3\")\n\t\t\tGoto Live1\n\n\t\t Live1:\n\t\t\t XDB5 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live2:\n\t\t\t XDB5 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live3:\n\t\t\t XDB5 JJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Fall:\n\t\t\t TNT1 A 0 A_SpawnItemEx(\"SmallGreenBrainPieceFalling\", 0, 0, 0, 0, 0, -2, SXF_TRANSFERSCALE)\n\t\t\t stop\n\t\t\t }\n}\n\nACTOR SmallGreenBrainPieceFalling: SmallBrainPieceFalling\n{\ntranslation \"16:31=152:159\", \"32:47=9:12\", \"176:191=9:12\"\n}\n\nACTOR SmearingGreenBrain: SmearingBrain\n{\ntranslation \"16:31=152:159\", \"32:47=9:12\", \"176:191=9:12\"\n}"
},
{
"source": "pk3",
"name": "modeldef.greenblood.txt",
"contents": "//Unfortunately, Zandronum still doesn't supports flat sprites, so to ensure that the mode can work\n//both on GZDoom and Zandronum, it's still necessary to use 3D models.\n\nModel GreenGiantBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"SPLTBLD.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 90.0 90.0 1.0 // Scale values\n ZOffset 0.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenBigBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"SPLTBLD.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 70.0 70.0 1.0 // Scale values\n ZOffset 0.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Green_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.3\n}\n\nModel Green_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL B 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.4\n}\n\nModel Green_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd3.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL C 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.5\n}\n\nModel Green_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL D 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.6\n}\n\nModel GreenMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 30.0 30.0 30.0 // Scale values\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.4\n}\n\nModel GreenMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 30.0 // Scale values\n ZOffset 1.5\n FrameIndex BPDL B 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 35.0 35.0 30.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL C 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 41.0 41.0 30.0 // Scale values\n ZOffset 1.3\n FrameIndex BPDL D 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 30.0 30.0 30.0 // Scale values\n ZOffset 1.7\n FrameIndex BPDL C 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 30.0 30.0 30.0 // Scale values\n ZOffset 1.7\n FrameIndex BPDL D 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenWaterbloodspot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"BLODWAT.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n ZOffset 1.0\n ROTATING\n Rotation-Speed 1\n\n FrameIndex BPDL E 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Green_FlyingBlood // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 50.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL B 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Green_FlyingBlood // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 46.0 46.0 46.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenCeilBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodceil.md3\" // Model index, model file\n Skin 0 \"bloodspothd.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 -60.0 // Scale values\n ZOffset -0.1\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenCeilBloodSpotLarge // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodceil.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 1.0 // Scale values\n ZOffset -0.1\n FrameIndex BPDL a 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenMediumBloodSpot2 // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 80.0 80.0 80.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenMediumBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 80.0 80.0 80.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel SplatteredGreenSmall // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 60.0 60.0 60.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel SplatteredGreenLarge // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"SPLTBLD.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 90.0 90.0 1.0 // Scale values\n ZOffset 0.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel GreenGrowingBloodPool // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 20.0 20.0 1.0 // Scale values\n ZOffset 0.65\n FrameIndex TNT5 A 0 0 // The sprite lump, sprite frame, model index, frame number\n}"
},
{
"source": "pk3",
"name": "BlueGore.txt",
"contents": "//All the liquid gore stuff goes here.\n\n//Hit puff actor\n\nactor Blue_Blood: Bolognese_Blood\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n\t states\n\t {\n\t Spawn:\n\t\t\tBSPR A 0\n\t\t\tTNT1 A 0 A_CustomMissile (\"BlueSuperGoreMistTiny\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckBloodIntensity\")\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"misc/BlueXDeath5\")\n\t\t\tBSPR A 2\n\t\t\tTNT1 A 0 A_CustomMissile (\"BlueWaterBloodCHecker\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\tSpawn2:\n\t\t\tTNT1 A 0 A_CustomMissile (\"Blue_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\t\tTNT1 A 0 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t\tBSPR ABCDEFG 1\n\t\t\tBSPR HHHHHHH 1 A_FadeOut(0.1)\n\t\t\tStop\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tTNT1 AAA 0 A_CustomMissile (\"BlueUnderblood1\", 7, 0, random (0, 360), 2, random (30, 150))\n\t\t\tstop\n\t\tLotsOfBlood:\n\t\t TNT1 A 0\n\n\t\t TNT1 AAAA 0 A_CustomMissile (\"BlueBloodMistSmall\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"Blue_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 70))\n\t\t TNT1 A 0 A_CustomMissile (\"SuperWallBlueBlood\", 0, 0, random (0, 360), 2, random (-15, 15))\n\t\t TNT1 AAAA 0 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t BSPR ABCDEFG 1\n\t\t BSPR HHHHHHH 1 A_FadeOut(0.1)\n\t\t Stop\n\t\tAbsurdBlood:\n\t\t TNT1 A 2\n\t\t TNT1 AAAA 0 A_CustomMissile (\"SuperWallBlueBlood\", 0, 0, random (0, 360), 2, random (-15, 15))\n\t\t TNT1 A 0 A_JumpIfInventory(\"AnimuGore\", 1, \"AnimuGore\")\n\t\t TNT1 AA 0 A_CustomMissile (\"BlueBloodMist\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\t TNT1 AAA 0 A_CustomMissile (\"Blue_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (10, 50))\n\t\t TNT1 A 0 A_CustomMissile (\"Blue_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueBloodMistSmall\", 7, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueSuperGoreMist\", 0, 0, random (0, 360), 2, random (10, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"Blue_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 70))\n\t\t TNT1 AAA 0 A_CustomMissile (\"BlueBloodMistSpray\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t BSPR ABCDEFG 1\n\t\t BSPR HHHHHH 1 A_FadeOut(0.1)\n\t\t Stop\n\t\t AnimuGore:\n\t\t TNT1 AAA 0 A_CustomMissile (\"Blue_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (10, 50))\n\t\t TNT1 A 0 A_CustomMissile (\"SuperWallBlueBlood\", 0, 0, random (0, 360), 2, random (-15, 15))\n\t\t TNT1 A 0 A_CustomMissile (\"Blue_FlyingBloodMuchFaster\", 7, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AAAAAAA 0 A_CustomMissile (\"Blue_FlyingBlood\", 7, 0, random (0, 360), 2, random (30, 70))\n\t\t TNT1 AAAAAAAAA 0 A_CustomMissile (\"BlueXDeath1\", 0, 0, random (0, 360), 2, random (40, 80))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueSuperGoreSpawner\", 0, 0, random (0, 360), 2, random (10, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"BlueBloodMistSpray\", 0, 0, random (0, 360), 2, random (20, 90))\n\t\t BSPR ABCDEFG 1\n\t\t BSPR GGGGG 1 A_FadeOut(0.1)\n\t\t Stop\n\t\t LowBlood:\n\t\t\tTNT1 A 0\n\t\t\tBSPR ABCDEFG 1\n\t\t\tBSPR HHHHHHHH 1 A_FadeOut(0.1)\n\t\t\tStop\n\t }\n}\n\n//Dummy actor just to replace the bloodpuff made by Hexen axe\nactor BlueSawBlood : SawBlood\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n states\n {\n Spawn:\n TNT1 A 0\n\t\tTNT1 AA 0 A_CustomMissile (\"BlueBloodMistSmall\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\tTNT1 AA 0 A_CustomMissile (\"BlueXDeath1\", 0, 0, random (0, 360), 2, random (40, 80))\n\t\tTNT1 AAA 0 A_CustomMissile (\"Blue_FlyingBlood\", 0, 0, random (0, 360), 2, random (30, 60))\n\t\tTNT1 A 0 Radius_Quake (2, 2, 0, 2, 0)\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckBloodIntensity\")\n\t\tTNT1 A 0 A_Stop\n\t\tTNT1 A 2\n\t\tGoto Spawn2\n }\n}\n\n//Base flying blood actor. Leaves bloodspots on the floor\nACTOR Blue_FlyingBlood: Brutal_FlyingBlood\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n {\n Spawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Live\")\n\t Spawn1:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.4, 0.4)\n\t\t\tGoto live\n\n\tSpawn2:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(-0.45, -0.45)\n\t\t\tGoto live\n\n\tSpawn3:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SetScale(0.5, -0.5)\n\t\t\tGoto live\n\n\t Live:\n\t\t\tBLHT BCDEFG 1\n\t\t\tTNT1 A 0\n\t\t\tBLHT HHHHH 100 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tStop\n\n\tSplash:\n\t\t\tBLOD A 0\n\t\t\tTNT1 A 0 A_SpawnItem (\"BlueUnderblood2\")\n\t\t\tstop\n\n Death:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t\t\tTNT1 A 0 A_CheckFloor(\"DeathFloor\")\n\t\t\tTNT1 A 1\n\t\t\tStop\n\n\t\tDeathFloor:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx (\"Blue_BloodSpot\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERTRANSLATION,0)\n\t\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t\t XDT1 EFGHIJKL 2\n\t\t\tStop\n\n\t\tNoSpawn:\n\t\t\tTNT1 A 0\n\t\t\tStop\n\n }\n}\n\n//Faster version used in some specific cases\nACTOR Blue_FlyingBloodMuchFaster: Blue_FlyingBlood\n{\n\t Scale 1.0\n\t Speed 8\n}\n\nactor Blue_FlyingBloodTrail: Brutal_FlyingBloodTrail\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n\tstates\n\t{\n\t Spawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t BLHT BCDEFG 1\n\t\t BLHT HHHHHHHHH 1 A_FadeOut(0.02)\n\t\t stop\n\n\tDeath:\n\t\tTNT1 A 0\n\t\tStop\n\n\tSplash:\n BLOD A 0\n\t\tTNT1 A 0 A_SpawnItem (\"BlueUnderblood2\")\n stop\n\n }\n}\n\nactor Blue_FlyingBloodFaster: Blue_FlyingBloodTrail\n{\nSpeed 4\n states\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t BLOD ABCDEFFFFFF 3\n\t stop\n }\n}\n\nACTOR Blue_FlyingBloodFake: Brutal_FlyingBloodFake\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tBLOD KKKKKKKKKKKK 1 A_FadeOut(0.05)\n Stop\n\tSplash:\n BLOD A 0\n\t\tTNT1 A 0 A_SpawnItem (\"BlueUnderblood2\")\n stop\n\tDeath:\n\t TNT1 A 10\n\t\tStop\n }\n}\n\nACTOR Blue_FlyingBloodFakeNoDecal: Blue_FlyingBloodFake { decal \"none\"}\n\nactor BlueBloodMist : BloodMist\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\nactor BlueBloodMistBig : BloodMistBig\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\nactor BlueBloodMistSmall : BloodMistSmall\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\nactor BlueBloodMistExtraBig :BloodMistExtraBig\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//More wattery version\nactor BlueBloodMistSpray : BloodMistSpray\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n/////////////////////// BLOOD SPOTS //////////////////////////\n\n//base bloodspot actor\nACTOR Blue_BloodSpot: Bolognese_Bloodspot\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//a special flying blood actor that spawns muddy water pools over liquids\nACTOR BlueWaterBloodCHecker: WaterBloodCHecker\n{\n\n\tDecal none\n\tStates\n {\n Spawn:\n\t TNT1 A 5\n Loop\n Death:\n TNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")\n\t\tTNT1 A 5\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"IsOverLiquid\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"IsOverLiquid\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverNukage\", 1, \"IsOverLiquid\")\n TNT1 A 10\n Stop\n\n\tIsOverLiquid:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_CheckFloor(\"SpawnOnWater\")\n\t\tTNT1 A 2\n\t\tStop\n\n\tSpawnOnWater:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SpawnItem (\"BlueWaterBloodSpot\", 5)\n\t\tStop\n }\n}\n\n//muddy water bloodspot actor\nACTOR BlueWaterBloodSpot: WaterBloodSpot\n{\nRenderstyle Shaded\nStencilColor \"0 55 00\"\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n states\n {\n\tSpawn:\n\t\tBPDL E 1 A_FadeOut(0.9)\n\t\tBPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeIn(0.02)\n\t\tBPDL E 100\n\t\tBPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeOut(0.02)\n\t\tStop\n }\n}\n\n//bigger bloodsplat\nactor BlueGiantBloodSpot: GiantBloodSpot\n{\nScale 1.1\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\nactor BlueMinuscleBloodSpot: Blue_BloodSpot {Scale 0.25}\nactor BlueBigBloodSpot: BlueGiantBloodSpot { Scale 0.7}\nactor BlueMediumBloodSpot: BlueGiantBloodSpot { Scale 0.4}\nactor BlueMediumBloodSpot2: BlueGiantBloodSpot{ Scale 0.4}\n\n//Big version spawned by XDeath animations\nACTOR SplatteredBlueSmall: Blue_BloodSpot\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//Big version spawned by XDeath animations of bigger enemies\nACTOR SplatteredBlueLarge: Blue_BloodSpot\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n states\n {\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n TNT1 A 0 A_CheckFloor(\"Live\")\n Goto Splash\n\n Live:\n TNT1 A 0\n TNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check if is under a liquid\n\tTNT1 A 4\n TNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"BlueWaterBloodSpot\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"BlueWaterBloodSpot\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"BlueWaterBloodSpot\")\n\tTNT1 A 0 A_QueueCorpse\n\tBPDL A -1\n\tStop\n\n BlueWaterBloodSpot:\n\tTNT1 A 0\n\tTNT1 A 0 A_SpawnItem(\"BlueWaterBloodSpot\")\n\tStop\n }\n}\n\n//A blood pool spawned by regular enemy deaths.\n\nactor BlueGrowingBloodPool: GrowingBloodPool\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//A decorative kind of flying blood spawned by arterial blood\nACTOR Blue_LiquidBlood: Brutal_LiquidBlood\n{\n decal \"BlueBloodSmearSmall\"\n translation \"168:191=192:207\",\"16:47=240:247\"\n}\n\n//Faster version, leaves no decals. Used to prevent decal overflow\nACTOR Blue_LiquidBlood2: Blue_LiquidBlood\n{\n speed 4\n scale 0.4\n gravity 0.6\n decal \"None\"\n}\n\n//Very fast version\nACTOR Blue_LiquidBloodFast: Blue_LiquidBlood2\n{\n speed 8\n}\n\n//This version leaves a bloodspot\nACTOR Blue_LiquidBlood3: Blue_FlyingBlood\n{\nSpeed 3\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n {\n\t Death:\n \t TNT1 A 0 A_PlaySound(\"blooddrop2\")\n\t TNT1 A 0 A_CheckFloor(\"SpawnFloor\")\n\t TNT1 A 4\n\t Stop\n\n\t SpawnFloor:\n\t tnt1 a 0 A_SPawnItem(\"Blue_BloodSpot\")\n\t XDT1 FGHIJKL 2\n\t TNT1 A 0\n Stop\n }\n}\n\n//Decorative trails\nACTOR Blue_LiquidBloodTrail: Brutal_LiquidBloodTrail\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//An actor that will spawn multiple arterial blood actors\nACTOR BlueArterialBloodSpray\n{\n Speed 0\n +CLIENTSIDEONLY\n +NOINTERACTION\n States\n {\n Spawn:\n\t TNT1 A 0\n\t TNT1 A 0 A_stop\n\t\tTNT1 AAAA 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 6\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 9\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 12\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 12\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 16\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n\t\tTNT1 A 19\n\t\tTNT1 A 2 A_CustomMissile (\"Blue_LiquidBlood2\", 0, 0, 0, 2, random (0, 60))\n Stop\n }\n}\n\n/////////////////// CEILING BLOOD //////////////////////////\n\n//Launches bloodspots on the ceiling\nACTOR BlueCeilBloodLauncher: CeilBloodLauncher\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n\t\t{\n\t\t Death:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_CheckCeiling(\"IsOnCeil\")\n\t\t\tTNT1 A 0\n\t\t\tstop\n\n\t\t IsOnCeil:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_SpawnItem(\"BlueCeilBloodSpot\",0,0,0,1)\n\t\t\tStop\n\t\t}\n}\n\n//Longer version (for extreme deaths)\nACTOR BlueCeilBloodLauncherLong: BlueCeilBloodLauncher\n{\n States\n {\n\t\t Spawn:\n\t\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 A 12\n\t\t\tStop\n }\n}\n\n// The Ceil Blood Spot\nactor BlueCeilBloodSpot: CeilBloodSpot\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n\tstates\n\t{\n\t\tSpawn:\n\t\t BPDL A 1\n\t\t TNT1 A 0 A_QueueCorpse\n\t\t TNT1 A 0 A_SpawnItem (\"DripingBlueBloodLeavesSmallPool\")\n\t\t TNT1 A 0 A_SpawnItem (\"BlueCeilBloodTinyBloodSpawner\")\n\t\tLive:\n\t\t BPDL A 5 ThrustThingZ(0, 20, 0, 1)\n\t\t Loop\n\t\t\t}\n}\n\n//Bigger version of a ceil blood spot, usually left by sticky gibs.\nactor BlueCeilBloodSpotLarge: BlueCeilBloodSpot\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//These are the actors that spawns blood drips. They are separate from the bloodspots so the sticky gibs can spawn them separately.\n\n//Small blood drips spawner, usually caused by regular blood touching the ceiling.\nACTOR BlueCeilBloodTinyBloodSpawner: CeilBloodTinyBloodSpawner\n{\n\t States\n\t\t{\n\t\t Spawn:\n\t\t\t TNT1 A 0\n\t\t\t TNT1 A 1 A_SpawnItemEx (\"DripingBlueBloodLeavesSmallPool\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 5 A_SpawnItemEx (\"BlueBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 10 A_SpawnItemEx (\"BlueBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 16 A_SpawnItemEx (\"BlueBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 24 A_SpawnItem (\"BlueBloodDripingFromCeiling\")\n\t\t\t stop\n\t\t}\n}\n\n//Large blood drips spawner, usually caused by huge chunks of meat getting stuck on the ceiling.\nACTOR BlueCeilBloodLargeBloodSpawner: Blue_FlyingBlood\n{\n\t+NOGRAVITY\n\t+THRUACTORS\n\t+NOCLIP\n\tScale 0.5\n\t States\n\t\t{\n\t\t Spawn:\n\t\t\t TNT1 A 0\n\t\t\t TNT1 A 1 A_SpawnItemEx (\"DripingBlueBloodLeavesSmallPool\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 A_SpawnItemEx (\"BlueBloodDripingFromCeilingBig\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 10 A_SpawnItemEx (\"BlueBloodDripingFromCeilingBig\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 15 A_SpawnItemEx (\"BlueBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t TNT1 AAAAAAAAAAAAAA 20 A_SpawnItemEx (\"BlueBloodDripingFromCeiling\", random (-5, 5), random (-5, 5), 0, 0, 0, -5)\n\t\t\t stop\n\t\t}\n}\n\n//This is the actual blood driping from the ceiling actor\nACTOR BlueBloodDripingFromCeiling: BloodDripingFromCeiling\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//This is a bigger and denser version of the blood drip, droped by sticky gibs\nACTOR BlueBloodDripingFromCeilingBig: BloodDripingFromCeiling\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//This is the first drip spawned by the drip spawners, which leaves a small blood pool\nACTOR DripingBlueBloodLeavesPool: DripingBloodLeavesPool\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n {\n Spawn:\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n BLUD Z 4\n loop\n Death:\n\t TNT1 A 0\n\t\tTNT1 A 0 A_SpawnItem(\"BlueMediumBloodSpot\")\n\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n XDT1 EFGHIJKL 2\n stop\n }\n}\n\n//Just like above, but leaves a smaller pool\nACTOR DripingBlueBloodLeavesSmallPool: DripingBloodLeavesSmallPool\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\nStates\n{\n Death:\n\t TNT1 A 0\n\t\tTNT1 A 0 A_SpawnItem(\"BlueMinuscleBloodSpot\")\n\t\tTNT1 A 0 A_PlaySound(\"blooddrop2\")\n XDT1 EFGHIJKL 2\n stop\n }\n}\n\n//An invisible projectile only used to spawn bloodsplats on the walls, usually spawned by extreme deaths.\nACTOR WallBlueBlood: WallRedBlood\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSmearer\n States\n {\n\t\tSpawn:\n\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\tTNT1 ABCD 4\n\t\t\tloop\n\t\tSplash:\n\t\t\tBLOD A 0\n\t\t\tstop\n\t\t Death:\n\t\t\tTNT1 A 3\n\t\t\tstop\n }\n}\n\n//This one spawns an even bigger decal\nACTOR SuperWallBlueBlood: WallRedBlood\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSuper\n}\n\n//This one spawns a ridiculously bigger decal, used by BFG extreme deaths\nACTOR GiantWallBlueBlood: WallBlueBlood\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodGiant\n}\n\n//Spawns giant blood decals all around the area. Used in Blue Doom's BFG deaths.\nActor BlueBloodSplinter\n{\n\t+THRUACTORS\n\t+CLIENTSIDEONLY\n\tStates\n\t\t{\n\t\t\t Spawn:\n\t\t\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallBlueBlood\", 40, 0, 0, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallBlueBlood\", 40, 0, 45, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallBlueBlood\", 40, 0, 90, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallBlueBlood\", 40, 0, 135, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallBlueBlood\", 40, 0, 180, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallBlueBlood\", 40, 0, 225, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallBlueBlood\", 40, 0, 270, 2, random (0, 35))\n\t\t\t TNT1 A 0 A_CustomMissile (\"GiantWallBlueBlood\", 40, 0, 315, 2, random (0, 35))\n\t\t\t Stop\n\n\t\t\tSplash:\n\t\t\t\tBLOD A 0\n\t\t\t\tstop\n\t\t}\n}\n\n//Spawned by BD's kicked heads to spawn blood decals and make the head bounce sound.\nACTOR ShortWallBlueBlood: WallBlueBlood\n{\n speed 2\n Gravity 1\n Radius 24\n Height 12\n States\n {\n Spawn:\n TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n TNT1 A 3\n Stop\n\tDeath:\n\t TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile (\"Blue_FlyingBloodFakeNoDecal\", 0, 0, random (0, 360), 2, random (0, 90))\n\t\tTNT1 A 0 A_SpawnItem(\"Blue_BloodSpot\",0,0,0,1)\n\t\tTNT1 A 0 A_PlaySound(\"HEDBON\")\n\t TNT1 A 20\n\t\tStop\n\t}\n}\n\n//Blood actors spawned underwater\nACTOR BlueUnderblood1: Underblood1\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\n}\n\n//Shorter version\nACTOR BlueUnderblood2: BlueUnderblood1\n{\n scale 0.7\n speed 0\n}\n//Bigger version that moves, used for gibbing.\nACTOR BlueUnderblood3: BlueUnderblood1\n{\n scale 2.2\n speed 2\n Alpha 0.3\n}\n\n//Big blood mists\n\nactor BlueSuperGore: SuperGore\n{\n\ttranslation \"168:191=192:207\",\"16:47=240:247\"\n\tDecal BlueBloodSplat\n}\n\nActor BlueSuperGoreMist: SuperGoreMist\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//Used on bullet hit impacts\nActor BlueSuperGoreMistTiny: SuperGoreMistTiny\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\nactor BigBlueSuperGore: BigSuperGore\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\nactor GiantBlueSuperGore: GiantSuperGore\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\n//Spawners for the BlueSuperGore thing\nActor BlueSuperGoreSpawner: SuperGoreSpawner\n{\n\tstates\n\t{\n\tSpawn:\n\t\tTNT1 A 3\n\t\tTNT1 AAA 3 A_CustomMissile(\"BlueSuperGore\", 7, 0, random (0, 360), 2, random (30, 60))\n\t\tStop\n\t}\n}\n\n//Bloody footprints still requires the player to be edited to work.\n//Gives the player an inventory item to indicate the feet are smeaBlue.\nACTOR BootSmearerBlue: GrowingBloodPool\n{\n\tMONSTER\n\t-SOLID\n\t+NOCLIP\n\t+THRUACTORS\n\t-COUNTKILL\n\t+LOOKALLAROUND\n\t-FRIENDLY\n\tRadius 0\n\tHeight 0\n\t states\n\t {\n\t Spawn:\n\t\t TNT1 A 0\n\t\t TNT1 A 1 A_Look\n\t\t Goto See\n\n\t See:\n\t\t TNT1 A 1 A_Chase(\"\",\"\")\n\t\t TNT1 A 0 A_Die(\"LookForPlayer\")\n\t Death:\n\t Death.LookForPlayer:\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 8 A_JumpIfCloser(60, \"SmearBootsWithBlueBlood\")\n\t\tStop\n\tSmearBootsWithBlueBlood:\n\t\t//TNT1 A 0 A_GiveToTarget(\"BootsSmeaBlueWithBlueBlood\", 8)\n\t\tBPDL A 0\n\t\tStop\n\t}\n}\n\nACTOR BlueBloodFootPrintLeft: GrowingBloodPool\n{\n\tScale 0.09\n\t+CLIENTSIDEONLY\n\tRenderstyle Shaded\n\tStencilColor \"55 00 00\"\n\t states\n\t {\n\t Spawn:\n\t Death:\n\t Crash:\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check if is under a liquid\n\t\tTNT1 A 4\n\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"ShowUp\")\n\t\tGoto Splash\n\tShowUp:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tBPDL A 200\n\t\tTNT1 A 0 A_JumpIfInventory(\"LowGraphicsMode\", 1, \"Splash\")\n\t\tBPDL A -1\n\t\tStop\n\tSplash:\n\t\tTNT1 A 0\n\t\tStop\n\t }\n}\n\nACTOR BlueBloodFootPrintRight: GrowingBloodPool\n{\nScale 0.09\n+CLIENTSIDEONLY\nRenderstyle Shaded\nStencilColor \"55 00 00\"\n states\n {\n\t Spawn:\n\t Death:\n\t Crash:\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")//Check if is under a liquid\n\t\tTNT1 A 4\n\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"Splash\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverlava\", 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"ShowUp\")\n\t\tGoto Splash\n\t\tShowUp:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tBPDL A 200\n\t\tTNT1 A 0 A_JumpIfInventory(\"LowGraphicsMode\", 1, \"Splash\")\n\t\tBPDL A -1\n\t\tStop\n\tSplash:\n\t\tTNT1 A 0\n\t\tStop\n }\n}\n\n//Gib actors\n\nACTOR BlueXDeath1: XDeath1\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSuper\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Underwater\")\n\t\tBLOD AAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItem(\"Blue_LiquidBloodTrail\")\n Stop\n Death:\n TNT1 A 0 A_SpawnItemEx (\"Blue_BloodSpot\", 0, 0, 1)\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BD_CheckIfOverLiquid\")\n\t\tXDT1 EF 3\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverWater\", 1, \"IsOverLiquid\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsOverSlime\", 1, \"IsOverLiquid\")\n XDT1 GHIJKL 3\n Stop\n TNT1 A 1\n Underwater:\n\t Splash:\n\t BLUD C 0 ThrustThingZ (0,35,1,0)\n XDT1 AB 3 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n\t\tBLUD C 0 ThrustThingZ (0,35,1,0)\n\t\tXDT1 CD 3 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n\n\tIsOverLiquid:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_CheckFloor(\"SpawnOnWater\")\n\n\tSpawnOnWater:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SpawnItem (\"BlueWaterBloodSpot\", 5)\n\t\tStop\n }\n}\n\n//A flying piece of meat\nACTOR BlueXDeath2: XDeath2\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSuper\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XMT1 ABCDEFGH 2 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n\t TNT1 A 0 A_CheckFloor(\"SpawnFloor\")\n\t\tTNT1 A 0 A_CheckCeiling(\"SpawnCeiling\")\n\t\tTNT1 A 0 A_SpawnItem(\"SmearingBlueXDeath2\")\n\t\tStop\n\n\tSpawnFloor:\n\t XMT1 M 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItemEx (\"Blue_BloodSpot\", 0, 0, 1)\n\t\tXMT1 M -1\n\t\tStop\n\n\tSpawnCeiling:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx (\"CeilBlueXDeath2\", 0, 0, 1)\n\t\tTNT1 A 0 A_SpawnItemEx (\"BlueCeilBloodSpotLarge\", 0, 0, 1)\n\t\tStop\n\n\tVanish:\n\t TNT1 A 5\n\t\tStop\n }\n}\n\nACTOR BlueXDeath2b: BlueXDeath2 {\tSpeed 4 } //Low-range version.\n\n//A piece of meat that has hit the wall, and now is slowly smearing\nACTOR SmearingBlueXDeath2: SmearingXDeath2\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSuper\n States\n {\n\tSpawn:\n\t\tXMT1 N 10\n\t\tTNT1 A 0 ThrustThingZ(0, 1, 1, 1)\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\")\n\n\tSpawn1:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn2:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn3:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn4:\n\t\tXMT1 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tDeath:\n\t TNT1 A 0\n\t TNT1 A 0 A_SpawnItem(\"BlueXDeath2NoStick\")\n Stop\n\n\tRest:\n\t\tXMT1 M 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItem(\"Blue_BloodSpot\",0,0,0,1)\n\t\tXMT1 M -1\n\t\tStop\n\n\tVanish:\n\t TNT1 A 5\n\t\tStop\n }\n}\n\n//piece of meat that got stuck in the ceiling\nactor CeilBlueXDeath2: CeilXdeath2\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSuper\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JUmp (255, \"Live1\", \"Live2\", \"Live3\")\n\t\t\tGoto Live1\n\n\t\t Live1:\n\t\t\t XMT1 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live2:\n\t\t\t XMT1 IIIIIIIIIIIIIIIIIIIIIIIII 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live3:\n\t\t\t XMT1 IIIIIIIIIIIIIIIII 5 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\t\t Fall:\n\t\t\t XMT1 F 0\n\t\t\t XMT1 JJJKKLL 2\n\t\t\t TNT1 A 0 A_SpawnItemEx(\"BlueXDeath2NoStick\", 0, 0, 0, 0, 0, -1)\n\t\t\t stop\n\t\t Splash:\n\t\t\t BLOD A 0\n\t\t\t stop\n\t\t}\n}\n\n//piece of meat that got stuck on the ceiling/wall and now is falling\nACTOR BlueXDeath2NoStick: XDeath2NoStick\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n {\n Spawn:\n\t\tXMT1 FFFGGH 2\n\tLive:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"Death\")\n\t\tXMT1 ABCDEFGH 3 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 70))\n XMT1 M 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXMT1 M 3\n\t\tTNT1 A 0 A_SpawnItem(\"Blue_BloodSpot\",0,0,0,1)\n\t\tXMT1 M -1\n\t\tStop\n }\n}\n\n//Variation of BlueXDeath2\nACTOR BlueXDeath3: XDeath3\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSuper\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XMT2 ABCDEFGH 3 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n\t TNT1 A 0 A_CheckFloor(\"SpawnFloor\")\n\t\tTNT1 A 0 A_CheckCeiling(\"SpawnCeiling\")\n\t\tTNT1 A 0 A_SpawnItem(\"SmearingBlueXDeath3\")\n\t\tStop\n\n\tSpawnFloor:\n\t XMT2 I 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItemEx (\"Blue_BloodSpot\", 0, 0, 1)\n\t\tXMT2 I -1\n\t\tStop\n\n\tSpawnCeiling:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx (\"CeilBlueXDeath3\", 0, 0, 1)\n\t\tTNT1 A 0 A_SpawnItemEx (\"BlueCeilBloodSpotLarge\", 0, 0, 1)\n\t\tStop\n }\n}\n\nACTOR BlueXDeath3b: BlueXDeath3 {\tSpeed 4 } //Low-range version.\n\n//A piece of meat that has hit the wall, and now is slowly smearing\nACTOR SmearingBlueXDeath3: SmearingXDeath3\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSuper\n States\n {\n\tSpawn:\n\t\tXME2 G 10\n\t\tTNT1 A 0 ThrustThingZ(0, 1, 1, 1)\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\")\n\n\tSpawn1:\n\t\tXMT2 OOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn2:\n\t\tXMT2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn3:\n\t\tXMT2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tSpawn4:\n\t\tXMT2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 2 A_CheckFloor(\"Rest\")\n\t\tGoto Death\n\n\tDeath:\n\t TNT1 A 0\n\t TNT1 A 0 A_SpawnItem(\"BlueXDeath3NoStick\")\n Stop\n\n\tRest:\n\t\tXMT2 I 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tTNT1 A 0 A_SpawnItem(\"Blue_BloodSpot\",0,0,0,1)\n\t\tXMT2 I -1\n\t\tStop\n\n\tVanish:\n\t TNT1 A 5\n\t\tStop\n }\n}\n\n//piece of meat that got stuck in the ceiling\nactor CeilBlueXDeath3: CeilXDeath3\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSuper\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tGoto Crash\n\t\t\tDeath:\n\t\t\tCrash:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JUmp (255, \"Live1\", \"Live2\", \"Live3\")\n\t\t\tGoto Live1\n\n\t\t Live1:\n\t\t\t XMT2 JJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live2:\n\t\t\t XMT2 JJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live3:\n\t\t\t XMT2 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Fall:\n\t\t\t XMT2 JJJJKKKLLM 2\n\t\t\t TNT1 A 0 A_SpawnItemEx(\"BlueXDeath3NoStick\", 0, 0, 0, 0, 0, -1)\n\t\t\t XMT2 MMN 2\n\t\t\t stop\n\t\t}\n}\n\n//piece of meat that got stuck on the ceiling/wall and now is falling\nACTOR BlueXDeath3NoStick: XDeath3NoStick\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSuper\n States\n {\n\t Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n\t\tTNT1 A 0 A_CheckFloor(\"Death\")\n XMT2 O 3\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (20, 70))\n XMT2 I 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXMT2 I 3\n\t\tTNT1 A 0 A_SpawnItem(\"Blue_BloodSpot\",0,0,0,1)\n\t\tXMT2 I -1\n\t\tStop\n }\n}\n\n//Big piece of ribcage\nACTOR BlueXDeath4: XDeath4\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XDB6 AAAAAA 3 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n\t\tXDB6 B 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXDB6 B -1\n\t\tStop\n }\n}\n\n//Big piece of ribcage 2\nACTOR BlueXDeath5: XDeath5\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XME5 A 3 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n TNT1 A 0 A_SpawnItemEx (\"Blue_BloodSpot\", 0, 0, 1)\n\t\tXME5 B 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME5 B -1\n\t\tTNT1 A 0\n XME5 B 3\n Living:\n\t\tXME5 B 800//duration\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"Vanish\")\n Loop\n\tVanish:\n\t TNT1 A 1\n\t Stop\n\n }\n}\n//Big piece of ribcage 3\nACTOR BlueXDeath6: XDeath6\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n {\n Spawn:\n\t TNT1 A 0 A_JumpIf(waterlevel > 1, \"Splash\")\n XME5 C 3 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n TNT1 AAAAAAA 0 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 180), 2, random (0, 180))\n TNT1 A 0 A_SpawnItemEx (\"Blue_BloodSpot\", 0, 0, 1)\n\t\tXME5 D 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME5 D -1\n\t\tTNT1 A 0\n XME5 D 3\n Living:\n\t\tXME5 D 800//duration\n\t\tTNT1 A 0 A_JumpIfInventory(\"lowgraphicsmode\", 1, \"Vanish\")\n Loop\n\tVanish:\n\t TNT1 A 1\n\t Stop\n\n }\n}\n\nACTOR BlueXDeath5Big: BlueXDeath5\n{\n\tXScale -1.5\n\tYScale 1.5\n\tSpeed 6\n}\n\nACTOR BlueXDeath6Big: BlueXDeath6\n{\n\tXScale -1.5\n\tYScale 1.5\n\tSpeed 6\n}\n\n//Generic organ\nACTOR BlueXDeathOrgan1: XDeathOrgan1\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n States\n {\n Spawn:\n\t XME8 A 4 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n }\n}\n\nACTOR BlueXDeathOrgan1b: XDeathOrgan1b\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\nACTOR BlueXDeathOrgan2: BlueXDeathOrgan1\n{\nStates\n{\n Spawn:\n\t XME8 B 4 A_CustomMissile (\"Blue_FlyingBloodTrail\", 0, 0, random (0, 360), 2, random (0, 360))\n Loop\n Death:\n XME8 B 1\n\t\tTNT1 A 0 A_QueueCorpse\n\t\tXME8 B -1\n Stop\n }\n}\n\nACTOR BlueGuts: Guts\n{\ntranslation \"168:191=192:207\",\"16:47=240:247\"\nDecal BlueBloodSplat\n}\n\nACTOR BlueGuts2: BlueGuts\n{\n Speed 3\n}\n\nACTOR SmallBlueBrainPiece: SmallBrainPiece\n{\ntranslation \"16:47=[147,129,192]:[47,35,56]\", \"176:191=111:111\"\n States\n {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\", \"Spawn4\", \"Fly\")\n\tSpawn1:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(0.2, 0.2)\n\t\tGoto Fly\n\tSpawn2:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.5, 0.5)\n\t\tGoto Fly\n\tSpawn3:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.3, 0.3)\n\t\tGoto Fly\n\tSpawn4:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetScale(-0.2, 0.2)\n\t\tGoto Fly\n\tFly:\n\t\tXDB5 ABCDEFGH 2\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_CheckFloor(\"Rest\")\n\t\tTNT1 A 0 A_CheckCeiling(\"SpawnCeil\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"SmearingBlueBrain\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tStop\n\tSpawnCeil:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"SmallBlueBrainPieceCeil\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tStop\n\n }\n}\n\nACTOR SmallBlueBrainPieceFast: SmallBlueBrainPiece { Speed 14 }\n\nActor SmallBlueBrainPieceCeil: SmallBrainPieceCeil\n{\ntranslation \"16:47=[147,129,192]:[47,35,56]\", \"176:191=111:111\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JUmp (255, \"Live1\", \"Live2\", \"Live3\")\n\t\t\tGoto Live1\n\n\t\t Live1:\n\t\t\t XDB5 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live2:\n\t\t\t XDB5 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Live3:\n\t\t\t XDB5 JJJJJJJJJJJJJJJ 4 ThrustThingZ(0, 20, 0, 1)\n\t\t\t Goto Fall\n\n\t\t Fall:\n\t\t\t TNT1 A 0 A_SpawnItemEx(\"SmallBlueBrainPieceFalling\", 0, 0, 0, 0, 0, -2, SXF_TRANSFERSCALE)\n\t\t\t stop\n\t\t\t }\n}\n\nACTOR SmallBlueBrainPieceFalling: SmallBrainPieceFalling\n{\ntranslation \"16:47=[147,129,192]:[47,35,56]\", \"176:191=111:111\"\n}\n\nACTOR SmearingBlueBrain: SmearingBrain\n{\ntranslation \"16:47=[147,129,192]:[47,35,56]\", \"176:191=111:111\"\n}"
},
{
"source": "pk3",
"name": "modeldef.blueblood.txt",
"contents": "//Unfortunately, Zandronum still doesn't supports flat sprites, so to ensure that the mode can work\n//both on GZDoom and Zandronum, it's still necessary to use 3D models.\n\nModel BlueGiantBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"SPLTBLD.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 90.0 90.0 1.0 // Scale values\n ZOffset 0.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueBigBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"SPLTBLD.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 70.0 70.0 1.0 // Scale values\n ZOffset 0.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Blue_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.3\n}\n\nModel Blue_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL B 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.4\n}\n\nModel Blue_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd3.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL C 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.5\n}\n\nModel Blue_BloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n FrameIndex BPDL D 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.6\n}\n\nModel BlueMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodspothd.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 30.0 30.0 30.0 // Scale values\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n ZOffset 1.4\n}\n\nModel BlueMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 30.0 // Scale values\n ZOffset 1.5\n FrameIndex BPDL B 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 35.0 35.0 30.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL C 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 41.0 41.0 30.0 // Scale values\n ZOffset 1.3\n FrameIndex BPDL D 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 30.0 30.0 30.0 // Scale values\n ZOffset 1.7\n FrameIndex BPDL C 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueMinuscleBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 30.0 30.0 30.0 // Scale values\n ZOffset 1.7\n FrameIndex BPDL D 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueWaterbloodspot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"BLODWAT.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 0.1 // Scale values\n ZOffset 1.0\n ROTATING\n Rotation-Speed 1\n\n FrameIndex BPDL E 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Blue_FlyingBlood // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 50.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL B 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel Blue_FlyingBlood // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 46.0 46.0 46.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueCeilBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodceil.md3\" // Model index, model file\n Skin 0 \"bloodspothd.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 -60.0 // Scale values\n ZOffset -0.1\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueCeilBloodSpotLarge // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodceil.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 40.0 40.0 1.0 // Scale values\n ZOffset -0.1\n FrameIndex BPDL a 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueMediumBloodSpot2 // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 80.0 80.0 80.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueMediumBloodSpot // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 80.0 80.0 80.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel SplatteredBlueSmall // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bigbloodpool.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 60.0 60.0 60.0 // Scale values\n ZOffset 1.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel SplatteredBlueLarge // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"SPLTBLD.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 90.0 90.0 1.0 // Scale values\n ZOffset 0.6\n FrameIndex BPDL A 0 0 // The sprite lump, sprite frame, model index, frame number\n}\n\nModel BlueGrowingBloodPool // Name of actor in DECORATE\n{\n Path \"models/bloodspot\" // Path to model in PK3\n Model 0 \"bloodspot.md3\" // Model index, model file\n Skin 0 \"bloodpool2.png\" // Model index, texture (can be in any format supported by GZDoom)\n Scale 20.0 20.0 1.0 // Scale values\n ZOffset 0.65\n FrameIndex TNT5 A 0 0 // The sprite lump, sprite frame, model index, frame number\n}"
},
{
"source": "pk3",
"name": "Serving.txt",
"contents": "//Gore Groups (spawns gibs and blood when enemies explodes)\n\nACTOR MeatDeath\n{\n Radius 1\n Height 56\n Scale 0.8\n\tSpeed 0\n\tMass 1\n\tBounceFactor 0.5\n\t+DOOMBOUNCE\n\t+MISSILE\n +NOBLOCKMAP\n +NOTELEPORT\n +MOVEWITHSECTOR\n +NOGRAVITY\n +NOCLIP\n +DONTSPLASH\n States\n {\n Spawn:\n\t\t TNT1 A 0\n\t\t TNT1 A 0 A_PlaySound(\"misc/xdeath4\", 4)\n TNT1 AAAAAAA 0 A_CustomMissile (\"CeilBloodLauncherLong\", 0, 0, random (0, 360), 2, random (50, 130))\n\t\t TNT1 AAAAAAAAAAAA 0 A_CustomMissile (\"SuperWallRedBlood\", 40, 0, random (0, 360), 2, random (0, 15))\n\t\t TNT1 AAA 0 A_CustomMissile (\"Blood\", 55, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath2\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath3\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath4\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GibEyeball\", 42, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"SmallBrainPiece\", 42, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"SmallBrainPieceFast\", 42, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"XDeath2b\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"XDeath3b\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath5\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"XDeath6\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeathOrgan1\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeathOrgan2\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AAA 0 A_CustomMissile (\"Guts\", 32, 0, random (0, 360), 2, random (20, 30))\n\t\t TNT1 A 0 A_CustomMissile (\"BloodMistExtraBig\", 10, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"BloodMistExtraBig\", 30, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"BloodMistExtraBig\", 40, 0, random (0, 360), 2, random (40, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"BloodmistSpray\", 40, 0, random (0, 360), 2, random (40, 90))\n\t\t TNT1 A 0 A_SpawnItem (\"BigBloodSpot\")\n\t\t TNT1 AAA 0 A_CustomMissile (\"SuperGoreMist\", 32, 0, random (0, 360), 2, random (20, 60))\n\t\t TNT1 A 10\n\tDeath:\n\t TNT1 A 0\n Stop\n }\n}\n\n//A bit less gibs for the player\nACTOR PlayerMeatDeath: MeatDeath\n{\n States\n {\n Spawn:\n\t\t TNT1 A 0\n\t\t TNT1 A 0 A_PlaySound(\"misc/xdeath4\", 4)\n TNT1 AAAAA 0 A_CustomMissile (\"CeilBloodLauncherLong\", 0, 0, random (0, 360), 2, random (50, 130))\n\t\t TNT1 AAAAAAAA 0 A_CustomMissile (\"SuperWallRedBlood\", 40, 0, random (0, 360), 2, random (0, 15))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath2\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath3\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath4\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GibEyeball\", 42, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"SmallBrainPiece\", 42, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"SmallBrainPieceFast\", 42, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"XDeath2b\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"XDeath3b\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\tTNT1 A 0 A_CustomMissile (\"XDeathOrgan1\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeathOrgan2\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AAA 0 A_CustomMissile (\"Guts\", 32, 0, random (0, 360), 2, random (20, 30))\n\t\t TNT1 A 0 A_CustomMissile (\"BloodMistExtraBig\", 10, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"BloodMistExtraBig\", 30, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"BloodMistExtraBig\", 40, 0, random (0, 360), 2, random (40, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"BloodmistSpray\", 40, 0, random (0, 360), 2, random (40, 90))\n\t\t TNT1 A 0 A_SpawnItem (\"BigBloodSpot\")\n\t\t TNT1 AAA 0 A_CustomMissile (\"SuperGoreMist\", 32, 0, random (0, 360), 2, random (20, 60))\n\t\t TNT1 A 10\n\tDeath:\n\t TNT1 A 0\n Stop\n }\n}\n\n//Very large enemies, like a cyberdemon\nActor MeatDeathGiant: MeatDeath\n{\n States\n {\n Spawn:\n TNT1 AAAAAAAAA 0 A_CustomMissile (\"CeilBloodLauncherLong\", 0, 0, random (0, 360), 2, random (50, 130))\n TNT1 A 0 A_CustomMissile (\"XDeath2\", 82, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath3\", 82, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath4\", 82, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"XDeath2b\", 82, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"XDeath3b\", 82, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath5Big\", 82, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeath6Big\", 82, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AAAAAAAA 0 A_CustomMissile (\"BloodMistExtraBig\", 80, 0, random (0, 360), 2, random (20, 90))\n\t\t TNT1 AAAAAAAA 0 A_CustomMissile (\"BloodmistSpray\", 80, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeathOrgan1\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeathOrgan2\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AAAA 0 A_CustomMissile (\"Guts\", 64, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_SpawnItem (\"BigBloodSpot\")\n\t\t TNT1 AAAA 0 A_CustomMissile (\"BigSuperGore\", 80, 0, random (0, 360), 2, random (20, 60))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"SuperGoreSpawner\", 96, 0, random (0, 360), 2, random (20, 40))\n\tDeath:\n\t TNT1 A 0\n Stop\n }\n}\n\n//Small enemies, like a dog\nActor MeatDeathSmall: MeatDeath\n{\n States\n {\n Spawn:\n TNT1 AAA 0 A_CustomMissile (\"XDeath2b\", 16, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AAA 0 A_CustomMissile (\"XDeath3b\", 16, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeathOrgan1\", 16, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"XDeathOrgan2\", 16, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"Guts\", 16, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_SpawnItem (\"BigBloodSpot\")\n\tDeath:\n\t TNT1 A 0\n Stop\n }\n}\n\n//Fat enemies, like a Mancubus\nActor MeatDeathFat: MeatDeath\n{\n States\n {\n Spawn:\n\t\tTNT1 A 0\n\t\tTNT1 AA 0 A_CustomMissile (\"XDeath5Big\", 45, 0, random (0, 360), 2, random (30, 90))\n\t\tTNT1 AAA 0 A_CustomMissile (\"XDeath6Big\", 45, 0, random (0, 360), 2, random (30, 90))\n\t\tTNT1 AAAAAAA 0 A_CustomMissile (\"SuperGoreSpawner\", 52, 0, random (0, 360), 2, random (20, 60))\n\t\tTNT1 AA 0 A_CustomMissile (\"Guts\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\tTNT1 AAAA 0 A_CustomMissile (\"BigSuperGore\", 32, 0, random (0, 360), 2, random (20, 60))\n\t\tTNT1 AA 0 A_CustomMissile (\"Guts\", 42, 0, random (0, 360), 2, random (30, 90))\n\tDeath:\n\t TNT1 A 0\n Stop\n }\n}\n\n//Fat enemies, like a rat\nActor MeatDeathTiny: MeatDeath\n{\n States\n {\n Spawn:\n\t\tTNT1 A 0\n\t\tTNT1 AA 0 A_CustomMissile (\"XDeath2b\", 3, 0, random (0, 360), 2, random (10, 40))\n\t\tTNT1 AA 0 A_CustomMissile (\"XDeath3b\", 3, 0, random (0, 360), 2, random (10, 40))\n\t\tTNT1 AAA 0 A_CustomMissile (\"Blood\", 3, 0, random (0, 360), 2, random (10, 40))\n\tDeath:\n\t TNT1 A 0\n Stop\n }\n}\n\n//For barons of hell if you have the coloured gibs addon\nACTOR BBGreenGoreSpawn: MeatDeath\n{\n Radius 1\n Height 56\n Scale 0.8\n\tSpeed 0\n\tMass 1\n\tDecal BloodSuper\n\tBounceFactor 0.5\n\t+DOOMBOUNCE\n\t+MISSILE\n +NOBLOCKMAP\n +NOTELEPORT\n +MOVEWITHSECTOR\n +NOGRAVITY\n +NOCLIP\n +DONTSPLASH\n States\n {\n Spawn:\n\t\t TNT1 A 0\n\t\t TNT1 A 0 A_PlaySound(\"misc/xdeath4\", 4)\n TNT1 AAAAAAA 0 A_CustomMissile (\"GreenCeilBloodLauncher\", 0, 0, random (0, 360), 2, random (50, 130))\n\t\t TNT1 AAAAAAAAAAAA 0 A_CustomMissile (\"SuperWallGreenBlood\", 40, 0, random (0, 360), 2, random (0, 15))\n\t\t TNT1 AAA 0 A_CustomMissile (\"Green_Blood\", 55, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenXDeath2\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenXDeath3\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenXDeath4\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GibEyeball\", 42, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"SmallGreenBrainPiece\", 42, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"SmallGreenBrainPieceFast\", 42, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"GreenXDeath2b\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"GreenXDeath3b\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenXDeath5\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"GreenXDeath6\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenXDeath5Big\", 56, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenXDeath6Big\", 56, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenXDeathOrgan1\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GreenXDeathOrgan2\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AAA 0 A_CustomMissile (\"GreenGuts\", 32, 0, random (0, 360), 2, random (20, 30))\n\t\t TNT1 AAA 0 A_CustomMissile (\"GreenBloodMistExtraBig\", 30, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AAA 0 A_CustomMissile (\"GreenBloodMistExtraBig\", 40, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AAA 0 A_CustomMissile (\"GreenBloodMistExtraBig\", 60, 0, random (0, 360), 2, random (40, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"GreenBloodmistSpray\", 40, 0, random (0, 360), 2, random (40, 90))\n\t\t TNT1 A 0 A_SpawnItem (\"GreenBigBloodSpot\")\n\t\t TNT1 AAAAAAA 0 A_CustomMissile (\"GreenSuperGoreSpawner\", 52, 0, random (0, 360), 2, random (20, 60))\n\t\t TNT1 AAA 0 A_CustomMissile (\"GreenSuperGoreMist\", 32, 0, random (0, 360), 2, random (20, 60))\n\t\t TNT1 A 10\n\tDeath:\n\t TNT1 A 0\n Stop\n }\n}\n\n//For Cacodemons of hell if you have the coloured gibs addon\nACTOR BBBlueGoreSpawn\n{\n Radius 1\n Height 56\n Scale 0.8\n\tSpeed 0\n\tMass 1\n\tDecal BloodSuper\n\tBounceFactor 0.5\n\t+DOOMBOUNCE\n\t+MISSILE\n +NOBLOCKMAP\n +NOTELEPORT\n +MOVEWITHSECTOR\n +NOGRAVITY\n +NOCLIP\n +DONTSPLASH\n States\n {\n Spawn:\n\t\t TNT1 A 0\n\t\t TNT1 A 0 A_PlaySound(\"misc/xdeath4\", 4)\n TNT1 AAAAAAA 0 A_CustomMissile (\"BlueCeilBloodLauncher\", 0, 0, random (0, 360), 2, random (50, 130))\n\t\t TNT1 AAAAAAAAAAAA 0 A_CustomMissile (\"SuperWallBlueBlood\", 40, 0, random (0, 360), 2, random (0, 15))\n\t\t TNT1 AAA 0 A_CustomMissile (\"Blue_Blood\", 55, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueXDeath2\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueXDeath3\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueXDeath4\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"GibEyeball\", 42, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"SmallBlueBrainPiece\", 42, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"SmallBlueBrainPieceFast\", 42, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 AA 0 A_CustomMissile (\"BlueXDeath2b\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"BlueXDeath3b\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueXDeath5\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AA 0 A_CustomMissile (\"BlueXDeath6\", 42, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueXDeath5Big\", 56, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueXDeath6Big\", 56, 0, random (0, 360), 2, random (30, 60))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueXDeathOrgan1\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 A 0 A_CustomMissile (\"BlueXDeathOrgan2\", 24, 0, random (0, 360), 2, random (30, 90))\n\t\t TNT1 AAA 0 A_CustomMissile (\"BlueGuts\", 32, 0, random (0, 360), 2, random (20, 30))\n\t\t TNT1 AAA 0 A_CustomMissile (\"BlueBloodMistExtraBig\", 30, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AAA 0 A_CustomMissile (\"BlueBloodMistExtraBig\", 40, 0, random (0, 360), 2, random (40, 60))\n\t\t TNT1 AAA 0 A_CustomMissile (\"BlueBloodMistExtraBig\", 60, 0, random (0, 360), 2, random (40, 90))\n\t\t TNT1 AAAAA 0 A_CustomMissile (\"BlueBloodmistSpray\", 40, 0, random (0, 360), 2, random (40, 90))\n\t\t TNT1 A 0 A_SpawnItem (\"BlueBigBloodSpot\")\n\t\t TNT1 AAAAAAA 0 A_CustomMissile (\"BlueSuperGoreSpawner\", 52, 0, random (0, 360), 2, random (20, 60))\n\t\t TNT1 AAA 0 A_CustomMissile (\"BlueSuperGoreMist\", 32, 0, random (0, 360), 2, random (20, 60))\n\t\t TNT1 A 10\n\tDeath:\n\t TNT1 A 0\n Stop\n }\n}"
}
]
},
"maps": []
}