sm4bbgorev2.pk3

PK3 801 KiB 0 map(s)

Counts

endoom0
graphics0
lumps215
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
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": []
}

gib.gg runs on open-source software and freely licensed replacement game assets from the Freedoom project. gib.gg is not affiliated with Bethesda Softworks, id Software, or ZeniMax Media. All trademarks belong to their respective owners. Some WADs and associated metadata on this site are sourced from WAD Archive. User-submitted content remains the responsibility of its respective authors. If you believe content on this site violates your rights, please send DMCA requests to dmca@gib.gg.