lca-ark-1.7.5-opt.a7.pk3

PK3 4.4 MiB 0 map(s)

Counts

endoom0
graphics0
lumps637
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "0454359c-9439-4804-8379-a0a481039d1d",
    "sha1": "eb819601cc50a15a3c1be4c978c09a9afafda23f",
    "sha256": "294edb0192d15d5456c47870c453a9716e0e2fc3268cc8d820929f483e570d41",
    "filenames": [
      "lca-ark-1.7.5-opt.a7.pk3"
    ],
    "additional": {
      "engines": [
        "ZDOOM"
      ],
      "iwad": [],
      "filename": null,
      "added": "2016-12-14 23:20:30",
      "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": "2016-12-14 23:20:30",
    "file": {
      "type": "PK3",
      "size": 4630343,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/eb819601cc50a15a3c1be4c978c09a9afafda23f/eb819601cc50a15a3c1be4c978c09a9afafda23f.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 637,
        "maps": 0,
        "palettes": 0
      },
      "engines_guess": [
        "ZDOOM"
      ]
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "README.txt",
        "contents": "=======================================================================\nTitle                   : Complex/LCA/Ark (Version 1.7.5)\nFilename                : lca-ark-1.7.5.pk3\nCategory                : Stand-alone Add-on\nDate Finished           : Oct 3, 2016\nAuthors         \t    : arkore\nE-Mail                  : e@arkore.com\nWebsite\t\t\t        : http://www.arkore.com/\n=======================================================================\n\n*** Play Information ***\n\nSource port                         : Zandronum\nMaps                                : No\nSingle Player                       : No\nCooperative 2-4 Player              : No\nDeathmatch \t\t\t\t            : No\nRandommons (RM) Compatible          : Yes\nHardcore-as-f*** (HAF) Compatible   : Yes\nDifficulty Settings                 : No\nNew Sounds                          : Yes\nNew Music                           : No\nNew Graphics                        : Yes\nNew Monsters                        : Yes\nNew Weapons                         : Yes\nDemos Replaced                      : None\n\n*** Installation ***\nLoad this after LCA.\n\nNote: If you're loading HAF, then you must load this after HAF.  Otherwise, the\nDoom Player will not receive \"Player\" DamageFactor 0.\n\n*** Description ***\nPlayers spawn through a tear; the tear is powerful enough to wipe out any\nenemies nearby.\n\nCorrupted cardinals have been sighted.\n\nUAC has begun spawning additional backpacks.\n\n* Copyright / Permissions *\n\nAuthors may NOT use the contents of this file as a base for modification or reuse. You may distribute this WAD in any format\n(Internet, Diskette, CD, etc) as long as you include this file intact.\n\nWhile a good portion of this mod is from The Realm667 Beastiary\n(www.Realm667.com), there are things made by Aerial for this mod that\nshe would not like people to use. If you would like to use the monsters\nin this,you are better off using the originals from the Beastiary, as\nthese are modified for balance and some have major rewrites."
      },
      {
        "source": "pk3",
        "name": "TOARKORE.txt",
        "contents": "Somethings do not look exactly the same, you were waaaaay too dependant on PNG transparency in a bunch of sprites"
      },
      {
        "source": "pk3",
        "name": "CHANGELOG.txt",
        "contents": "*** Change List ***\nv1.7.5\n- Adds missing MODELDEF for Ark replacement of 10KProjectile.\n- Adds new multi-teleport bfg attack.\n- Adds new pain split mirroring ability.\n- Enhances effects of D-BFG Ball Impact Explosion.\n\nv1.7.2\n- Reverts Legendary BFG Ball DamageType LCA1.5.8 patch.\n\nv1.7.1\n- Restores +DONTRIP, and adds +CANTSEEK to Corrupted Cardinal.\n- Patches Legendary BFG Ball DamageType to LCA 1.5.8, for Corrupted Cardinal.\n- Changes backpack system, again.\n- Fixes friendly-fire bug with D-BFG Ball Impact Explosion and Smoke.\n- Fixes scaling of Corrupted Cardinal's Ghost.\n\nv1.7\n- Improves reinforcement backpack system.\n- Increases difficulty of Corrupted Cardinal.\n- Removes TIMEFREEZE, and DONTRIP from Corrupted Cardinal.\n\nv1.6\n- Prevents stacked backpack spawners.\n- Changes reinforcement backpacks to be classic backpacks.\n- Increases difficulty of Corrupted Cardinal.\n\nv1.5.3\n- Adjusts resistences on corrupted cardinal.\n\nv1.5.2\n- Fixes scale of corrupted cardinal to match original cardinal.\n- Reduces health and resistence of corrupted cardinal.\n\nv1.5.1\n- Fixes corrupted cardinal's ghost scale.\n- Fixes positioning of jet flames to match newly positioned sprites.\n- Removes CyberReplacer spawner, to improve compatibility with other mods.\n\nv1.5\n- Disables elites system.\n- Restores cardinal spawner to spawn corrupted cardinals.\n- Repositions corrupted cardinal sprites to match with normal cardinal.\n- Adds more drops to corrupted cardinal.\n- Adds pickup sounds to DBFG ammo items.\n- Changes CyberReplacer.\n\nv1.4.5\n- Fixes bug that allowed players to use puke to spawn elite early.\n\nv1.4.4\n- Removes unstuck system.\n\nv1.4.3\n- Changes elite spawn chance to 50% -> 65% -> 80% -> 90%.\n- Removes wall clipping from elite.\n\nv1.4.2\n- Fixes bug where dead players were being accounted for elite spawn and scale.\n- Prevents elite from spawning/teleporting on player.\n- Changes elite to not die from player tear's.\n- Updates elite's obituary to say elite.\n\nv1.4.1\n- Improves the elite warning music.\n- Adds secondary BGM when elite is at 50% health.\n- Adds missing IDLE music.\n- Elite's health now scales for # of players, by +50% per player.\n- Fixes bug where a floating elite cannot get unstuck.\n- Fixes bug where an elite would sometimes not arrive to it's elite teleport.\n- Fixes bug where an elite would revive upon death.\n- Fixes bug where elite health bar would periodically disappear.\n- Adds precautionary check for a valid player for elite re-teleport.\n- Adds 75% resistence to the corrupted cardinal.\n- Adds various % resistences to the corrupted cardinal.\n- Adds timefreeze resistence to the corrupted cardinal.\n- Adds more drops to the corrupted cardinal.\n- Adds railgun attack to corrupted cardinal.\n\nv1.4\n- Adds missing GLDEF lighting for D-BFG drop.\n- Removes D-BFG ammo from backpacks.\n- Renames Blue Cardinal to Corrupted Cardinal.\n- Adds Elites system.\n- Removes Corrupted Cardinal from spawners.  Now as an elite.\n- Removes LCA music disabler.  Note: For HAF servers, load lca-music-off-v2.pk3\n\nv1.3\n- Restores missing sprites for spawn tear.\n- Adds limit to Blue Cardinal \"See\" sounds.\n- Reduces damage of D-BFG pulse shot by 25%.\n- Reduces Blue Cardinal spawnrate chance by 50%.\n- Reduces ammo costs of D-BFG ball, from 25 to 20.\n- Adds missing tracer graphics.\n- Adds 3D tracer graphics.\n- Adds 95% resistence to Blue Cardinal for Player's D-BFG pulse attacks.\n- Adds 90% resistence to Blue Cardinal for Player's D-BFG ball attacks.\n- Restores original health of Blue Cardinal to 16000.\n- Adds teleport ability to Blue Cardinal.\n- Blue Cardinal will teleport when in pain.\n- Improves death sequence for Blue Cardinal.\n- Increases size of D-BFG ball, as intended.\n- Adds recoil to D-BFG.\n- Reduces packet surge from spawn tears for when there are many players.\n- Renames weapon system name DBFG to D-BFG.\n- Removes HAF dependancy. (Can use on regular LCA servers now.)\n\nv1.2\n- Fixes bug where tear wouldn't hurt legendaries sometimes.\n- Adds player spawn backpack spawners.  Backpacks respawn every 30 seconds.\n- Adds Blue Cardinal w/ D-BFG weapon.\n- Removes auto-tear attack.\n\nv1.1\n- Adds a timed auto-tear attack.\n- Changes LCA weapon music to be disabled.\n\nv1.0\n- Adds a Player-spawn tear.\n- Changes LCA music disabled."
      },
      {
        "source": "pk3",
        "name": "actors/effects.txt",
        "contents": "ACTOR T3BaseEffect\n{\n +CLIENTSIDEONLY\n +NOINTERACTION\n +NOGRAVITY\n +NOBLOCKMAP\n +NOTELEPORT\n +NOCLIP\n +NONETID\nStates\n{\n  Toaster:\n    TNT1 A 0\n\tStop\n}\n}\n\nACTOR 10KProjectileArk : 10KProjectile Replaces 10KProjectile\n{\nDamageType \"BFG10K\"\n}\n\nACTOR Player10KExArk : Player10KEx Replaces Player10KEx\n{\nDamageType \"BFG10K\"\n}\n\nACTOR T3LightningBolt : T3BaseEffect\n{\nRenderStyle Add\nScale 0.15\nAlpha 0.5\n+MISSILE\n+DONTSPLASH\n-SOLID\nStates\n{\nSpawn:\n    TNT1 A 0\n    TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)\n    B3L1 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,\"Death\")\n    B3L2 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,\"Death\")\n    B3L3 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,\"Death\")\n    B3L4 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,\"Death\")\nDeath:\n    \"----\" A 1 Bright\n    Stop\n    }\n}\n\nACTOR BlueFireEx : BlueKaboom3\n{\nSpeed 0\nScale 0.85\n}\n\nACTOR BlueFire\n{\n+MISSILE\n+DONTSPLASH\n+CLIENTSIDEONLY\n+NOBLOCKMAP\n+NOGRAVITY\n+NOTELEPORT\n+FORCEXYBILLBOARD\n+THRUACTORS\nRenderStyle Add\nScale 0.4\nStates\n{\nSpawn:\nBMKE ABCDEFGHIJKL 2 Bright A_FadeOut\nStop\n}\n}\nACTOR BlueFireSpawner : T3BaseEffect\n{\nScale 1.5\n+DONTSPLASH\n  States\n  {\n  Spawn:\n    TNT1 A 0\n\tTNT1 A 0 A_PlaySound(\"monster/ambientfire3\")\n\tTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n\tTNT1 A 0 A_SpawnItemEx(\"BlueFireEx\",random(8,-8),random(4,-4),random(70,80),0,0,random(-4,-6),0,128,0)\n    TNT1 AAAA 0 A_SpawnItemEx(\"BlueFire\",random(18,-18),random(14,-14),random(70,80),0,0,random(-6,-8),0,128,0)\n    TNT1 A 1\n    Stop\n  }\n}\n\nACTOR LightBlueGuruStruckGlowX : BlueGuruStruckGlowX\n{\nStates\n{\n  Spawn:\n    TNT1 A 0\n    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n  Fade:\n    TNT1 A 0 //A_SetScale(ScaleX +0.1, ScaleY +0.025)\n    G3FL A 1 Bright A_FadeOut(0.01)\n    Loop\n  Toaster:\n    TNT1 A 0\n    Stop\n}\n}\n\nACTOR LightBlueGuruStruckGlowY : BlueGuruStruckGlowY\n{\nStates\n{\n  Spawn:\n    TNT1 A 0\n    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n  Fade:\n    G3FL A 0 //A_SetScale(ScaleX +0.025, ScaleY +0.1)\n    G3FL A 1 Bright A_FadeOut(0.01)\n    Loop\n  Toaster:\n    TNT1 A 0\n    Stop\n}\n}\n\nACTOR LightBlueStruckGlow : GuruEffectInheritance\n{\nStates\n{\n  Spawn:\n\tTNT1 A 0\n    G3FL A 2 Bright A_FadeOut(0.05)\n    Loop\n}\n}\n\nACTOR LightBlueGuruChunkSpark : BlueGuruChunkSpark\n{\nStates\n{\n  Spawn:\n    TNT1 A 0\n    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n    G3SP ABCDEF 2 Bright A_FadeOut(0.1)\n    Stop\n  Toaster:\n    TNT1 A 0\n    Stop\n}\n}\n\nACTOR LightBlueGuruSphereSmoke : BlueGuruSmokeInheritance\n{\nScale 1.8\nAlpha 0.45\nRenderStyle Translucent\nProjectile\nStates\n{\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1 A_Jump(256,\"Spawn1\",\"Spawn2\",\"Spawn3\")\n    Stop\n  Spawn1:\n    TNT1 A 0 //A_SetScale(ScaleX -0.002, ScaleY -0.002)\n    TNT1 A 0 A_JumpIf(Alpha<0.3,2)\n    G3SM A 0 A_Explode(10,200)\n    G3SM A 4 Bright A_FadeOut(0.0065)\n    Loop\n  Spawn2:\n    TNT1 A 0 //A_SetScale(ScaleX -0.002, ScaleY -0.002)\n    TNT1 A 0 A_JumpIf(Alpha<0.3,2)\n    G3SM A 0 A_Explode(10,200)\n    G3SM B 4 Bright A_FadeOut(0.0065)\n    Loop\n  Spawn3:\n    TNT1 A 0 //A_SetScale(ScaleX -0.002, ScaleY -0.002)\n    TNT1 A 0 A_JumpIf(Alpha<0.3,2)\n    G3SM A 0 A_Explode(10,200)\n    G3SM C 4 Bright A_FadeOut(0.0065)\n    Loop\n}\n}\n\nACTOR MonsterGhost\n{\nScale 1.0\nRENDERSTYLE Translucent\nAlpha 0.75\n+NOGRAVITY\n+CLIENTSIDEONLY\n+DONTSPLASH\n+NOINTERACTION\n+NOCLIP\n}\n\n/*\nACTOR ArkModdedBulletPuff : ModdedBulletPuff Replaces ModdedBulletPuff {\nDamageType \"Player\"\n}\n*/"
      },
      {
        "source": "pk3",
        "name": "actors/spawners.txt",
        "contents": "ACTOR ComplexCardinal : Cardinal { }\n\nACTOR ArkCardinalSpawner : RandomSpawner Replaces Cardinal\n{\nDropItem \"ComplexCardinal\", 256, 85\nDropItem \"BlueCardinal\", 256, 15\n}"
      },
      {
        "source": "pk3",
        "name": "actors/weapons/dbfg.txt",
        "contents": "Actor \"D-BFG\" : Weapon\n{\n  Radius 20\n  Height 20\n  Weapon.Selectionorder 2820\n  Weapon.AmmoGive 20\n  Weapon.AmmoType \"DCell\"\n  Weapon.AmmoType2 \"DCell\"\n  Weapon.Kickback 100\n  Inventory.PickupSound \"misc/w_pkup2\"\n  Inventory.Pickupmessage \"You found a D-BFG!\"\n  Weapon.PreferredSkin \"DBFG-Marine\"\n  Obituary \"%o was blasted by %k's D-BFG\"\n  Tag \"D-BFG\"\n  +Weapon.NoAutoFire\n  Decal DBFGLightning\n  AttackSound \"\"\n  Weapon.UpSound \"Weapons/dbfgup\"\n  Weapon.SlotNumber 7\n  Weapon.SlotPriority 1\n  States\n  {\n  Spawn:\n    BFG3 A -1\n    Stop\n  Ready:\n    TNT1 A 0\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgready\", CHAN_AUTO, 0.5)\n    BG3G A 1 A_WeaponReady\n    BG3G A 1 A_WeaponReady\n    BG3G A 1 A_WeaponReady\n    BG3G B 1 A_WeaponReady\n    BG3G B 1 A_WeaponReady\n    BG3G B 1 A_WeaponReady\n    BG3G C 1 A_WeaponReady\n    BG3G C 1 A_WeaponReady\n    BG3G C 1 A_WeaponReady\n    BG3G D 1 A_WeaponReady\n    BG3G D 1 A_WeaponReady\n    BG3G D 1 A_WeaponReady\n    Loop\n  Select:\n    BG3G I 1 A_Raise\n    BG3G I 0 A_Raise\n    Loop\n  Deselect:\n    BG3G I 1 A_Lower\n    BG3G I 0 A_Lower\n    Loop\n  Fire:\n\tTNT1 A 0 A_JumpIfInventory(\"DCell\", 1, 1)\n\tGoto Empty\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgcharge2\", CHAN_WEAPON) // 196 tics.\n\n    BG3G JKL 4 Bright\n\tBG3G JKL 3 Bright\n\tBG3G JKL 2 Bright\n    BG3G MNM 2 Bright\n\n    Goto Hold\n  Hold:\n\tTNT1 A 0 A_JumpIfInventory(\"DCell\", 1, 1)\n\tGoto Empty\n    BG3G JKL 1 Bright A_GunFlash\n    BG3G E 1 Bright A_GunFlash\n    TNT1 A 0 A_SetBlend(\"Blue\", 0.02, 3)\n\tTNT1 A 0 A_TakeInventory(\"DCell\", 1)\n    BG3G F 1 Bright A_FireCustomMissile(\"PlayerT3DBFG10kShot\",Random(100,-100)/100.00,0,0,0,0,Random(100,-100)/100.00)\n\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgfire2\", CHAN_BODY)\n    BG3G G 2 Bright A_Recoil(3)\n    BG3G H 2 Bright A_ReFire\n    BG3G I 30 A_PlaySound(\"Weapons/dbfgcooldown2\", CHAN_WEAPON)\n    Goto Ready\n\n  AltFire:\n\tTNT1 A 0 A_JumpIfInventory(\"DCell\", 20, 1)\n\tGoto Empty\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgcharge\", CHAN_WEAPON) // 196 tics.\n\n    //BG3G JKLJKL 4 Bright\n    //BG3G M 3 Bright\n    //BG3G JKLJKLJKL 4 Bright\n    //BG3G M 3 Bright\n    BG3G JKLJKL 3 Bright\n    BG3G MNM 2 Bright\n    BG3G JKLJKLJKLJKL 2 Bright\n\n    BG3G MNM 2 Bright\n    BG3G JKLJKLJKL 2 Bright\n    BG3G MNM 2 Bright\n    BG3G JKLJKL 2 Bright\n    BG3G MNM 2 Bright\n    BG3G JKL 2 Bright\n\n    Goto AltHold\n\n  Empty:\n\tBG3G A 20 A_PlayWeaponSound(\"weapons/click\")\n\tGoto Ready\n\n  AltHold:\n\tTNT1 A 0 A_JumpIfInventory(\"DCell\", 20, 1)\n\tGoto Empty\n    BG3G MNM 2 Bright\n    BG3G JKL 2 Bright\n    BG3G MNM 2 Bright\n    BG3G JKL 1 Bright\n    BG3G MNM 1 Bright\n    BG3G JKL 1 Bright\n    BG3G MNM 1 Bright\n\n    BG3G E 1 Bright\n    TNT1 A 0 A_SetBlend(\"Blue\", 0.02, 3)\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgfire\", CHAN_AUTO)\n\tTNT1 A 0 A_TakeInventory(\"DCell\", 20)\n\tTNT1 A 0 A_JumpIfInventory(\"RuneSpread\", 1, \"NoSpread\")\n\tBG3G F 2 A_FireCustomMissile(\"PlayerT3DBFGBall\", 0, 0)\n    BG3G G 2 Bright A_Recoil(20)\n    BG3G H 2 Bright A_ReFire\n    BG3G I 50 A_PlaySound(\"Weapons/dbfgcooldown\")\n    Goto Ready\n\n  NoSpread:\n\tBG3G F 1 A_TakeInventory(\"RuneSpread\", 1)\n\tBG3G F 0 A_FireCustomMissile(\"PlayerT3DBFGBallx2\", 0)\n\tBG3G F 1 A_GiveInventory(\"RuneSpread\", 1)\n\tGoto AltHold+28\n  }\n\n}\n\nACTOR DCell : Ammo 30720\n{\n//$Category Ammunition\n//$Title \"ArkDoom - D-Cell\"\n//$Sprite BG3CA0\n   Inventory.Amount 10\n   Inventory.MaxAmount 50\n   Ammo.BackpackAmount 0 // 25\n   Ammo.BackpackMaxAmount 100\n   Inventory.PickupMessage \"Picked up an D-Cell.\"\n   Inventory.PickupSound \"items/cell\"\n   Inventory.Icon \"BG3CA0\"\n   States\n   {\n   Spawn:\n     BG3C AB 3\n     Loop\n   }\n}\n\nACTOR DCellPack : DCell 30721\n{\n//$Category Ammunition\n//$Title \"ArkDoom - D-Cell Pack\"\n//$Sprite BG3BA0\n\tInventory.PickupMessage \"Picked up an D-Cellpack.\"\n   Inventory.PickupSound \"items/cellpack\"\n\tInventory.Amount 50\n\tStates\n\t{\n\tSpawn:\n        BG3B AB 3\n        Loop\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/monsters/bluecard.txt",
        "contents": "ACTOR BlueCardinal\n{\nScale 1.1\nHealth 6000\nSpeed 10\nRadius 40\nHeight 100\nMass 0x7FFFFFFF\nMeleedamage 10\n\nSpecies \"Cybers\"\n\nBloodColor \"33 66 99\"\nObituary \"%o was blessed by a corrupted cardinal.\"\n\nSeeSound \"BlueCardinal/Sight\"\n//PainSound \"BlueCardinal/Pain\"\nActiveSound \"BlueCardinal/Active\"\nDeathSound \"BlueCardinal/Death\"\n\n// Pain Chances\nPainChance 2 // 5\nPainChance \"DBFG2\", 0\nPainChance \"PlayerDBFG2\", 0\nPainChance \"DBFG10K2\", 0\nPainChance \"PlayerDBFG10K2\", 0\n\nPainChance \"SoulToxic\", 5\nPainChance \"Explosion\", 40\nPainChance \"BFG9500Ball\", 40\nPainChance \"PlayerDevBall\", 100\nPainChance \"BFG10K\", 100\nPainChance \"PDTBFG\", 100\nPainChance \"Legendary\", 100 // 100\nPainChance \"LegendaryPlayer\", 100 // 100\nPainChance \"LegendaryGuru\", 256\nPainChance \"LegendaryGuruPlayer\", 256\n\n// Damage Factors\nDamageFactor 0.5\nDamageFactor \"Player\", 0.05\nDamageFactor \"DBFG10K2\", 0.0 // 0.05\nDamageFactor \"PlayerDBFG10K2\", 0.05\nDamageFactor \"DBFG2\", 0.0 // 0.05\nDamageFactor \"PlayerDBFG2\", 0.10\nDamageFactor \"FreezerBurn\", 0.0\nDamageFactor \"Ice\", 0.0\n\nDamageFactor \"Legendary\", 0.75 // Monster+player\nDamageFactor \"PlayerDevBall\", 0.65\nDamageFactor \"PlayerDevTracer\", 0.15\nDamageFactor \"PowerDoubleDamage\", 0.35\n\nDamageFactor \"BFG10K\", 0.65\nDamageFactor \"BFG9500Ball\", 0.1\nDamageFactor \"CustomSpray\", 0.1\nDamageFactor \"BFGSplash\", 0.1\nDamageFactor \"BFGSpray\", 0.1\nDamageFactor \"Explosion\", 0.1\nDamageFactor \"PDTBFG\", 0.1\nDamageFactor \"PDTBFGTracer\", 0.1\nDamageFactor \"PlayerDTBFGRailgunSlug\", 0.1\nDamageFactor \"PDTPuff\", 0.1\n\nDamageFactor \"Cyber10K\", 0.0 // Monster+player dev.\n\n// No infighting.\nDamageFactor \"CerChainguns\", 0.0\nDamageFactor \"CerEnergyBall\", 0.0\nDamageFactor \"DemolisherEx\", 0.0\nDamageFactor \"DarkDemoEx\", 0.0\nDamageFactor \"Legendary1\", 0.0 // Leg Imp\nDamageFactor \"VileFires\", 0.0\nDamageFactor \"NobleComet\", 0.0\nDamageFactor \"ZombieDev\", 0.0\nDamageFactor \"BeheComet\", 0.0\n\n// Drops\nDropItem \"BossLifeEssence\" 192 25\nDropItem \"BossArmorBonusMax\" 192 1\nDropItem \"DemonicChalice\" 128 1\nDropItem \"UltraSphere\" 256 1\n\nDropitem \"D-BFG\" 256\nDropitem \"DCellPack\" 256 32\nDropitem \"DCellPack\" 128 24\nDropitem \"DCell\" 256 10\nDropitem \"DCell\" 256 10\nDropitem \"DCell\" 256 10\n\nMONSTER\n+DONTHARMSPECIES\n+QUICKTORETALIATE\n+NORADIUSDMG\n+NOGRAVITY\n//+FLOATBOB\n+FLOAT\n+BOSS\n\n+MISSILEMORE\n+MISSILEEVENMORE\n+NOTARGET\n+FLOORCLIP\n+DONTMORPH\n+BOSSDEATH\n+NOICEDEATH\n+CANTSEEK\n+DONTGIB\n+DONTRIP\n\nvar int user_rageshot;\nvar int user_lasershot;\nvar int user_voidtravel;\nvar int user_disappeared;\nvar int user_mirrored;\nvar int user_flashing;\nStates\n{\n  Spawn:\n    BCRD A 4 Bright A_Look\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD B 4 Bright A_Look\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    Loop\n  See:\n    TNT1 A 0\n    TNT1 A 0 A_SetShootable\n\tTNT1 A 0 A_UnSetReflectiveInvulnerable\n    TNT1 A 0 A_SetTranslucent(1)\n\n\tTNT1 A 0 A_JumpIfHealthLower(3000, 2) // 3000\n    TNT1 A 0 A_Jump(256, 2)\n    TNT1 A 0 A_JumpIf(user_disappeared < 1, \"Disappear\")\n\n    TNT1 A 0 A_Jump(100,\"Rush\")\n\n    BCRD AA 2 Bright A_Chase\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD BB 2 Bright A_Chase\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    BCRD AA 2 Bright A_Chase\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD BB 2 Bright A_Chase\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    BCRD AA 2 Bright A_Chase\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD BB 2 Bright A_Chase\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    Loop\n  Missile:\n  Normal:\n    TNT1 A 0 A_SetTranslucent(1)\n\n    TNT1 A 0 A_Jump(128,\"DBFG10K\",\"Railgun\")\n    TNT1 A 0 A_Jump(128,\"DBFG\",\"DBFG10KBall\")\n    TNT1 A 0 A_Jump(64,\"Lasers\")\n\n    TNT1 A 0 A_JumpIfCloser(128, \"Teleport\")\n    //BCRD A 0 A_jump(100,5)\n    BCRD C 5 Bright A_FaceTarget\n    TNT1 A 0 A_FaceTarget\n    TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_CustomMissile(\"BlueCardinalRocket\", 72, -30, 0)\n    BCRD D 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD C 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_CustomMissile(\"BlueCardinalRocket\", 72, -30, 0)\n    BCRD D 5 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD C 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_CustomMissile(\"BlueCardinalRocket\", 72, -30, 0)\n    BCRD D 5 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD C 5 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD C 5 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    TNT1 A 0 A_JumpIfCloser(512, \"Whirl\")\n\n    Goto See\n  Rush:\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Rush\", CHAN_VOICE)\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)\n    BCRD A 2 Bright A_SpawnItemEx(\"BlueCardinalGhost\")\n    TNT1 AAAA 0 Bright A_Chase\n\n    BCRD A 2 Bright A_SpawnItemEx(\"BlueCardinalGhost\")\n    TNT1 AAAA 0 Bright A_Chase\n\n    BCRD B 2 Bright A_SpawnItemEx(\"BlueCardinalGhostB\")\n    TNT1 AAAA 0 Bright A_Chase\n\n    BCRD B 2 Bright A_SpawnItemEx(\"BlueCardinalGhostB\")\n    TNT1 AAAA 0 Bright A_Chase\n\n    TNT1 A 0 A_Jump(16,\"Teleport\")\n    TNT1 A 0 A_Jump(32,\"See\")\n    Loop\n  \"Whirl\":\n    TNT1 A 0\n    TNT1 A 0 A_JumpIfCloser(128, \"Teleport\")\n    TNT1 A 0 A_Jump(128, \"DBFG10K\")\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Whirl\", CHAN_VOICE)\n    TNT1 A 0 A_FaceTarget\n    TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)\n    BCC1 AA 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 BB 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CC 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 DD 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    BCC1 AB 3 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CD 3 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    BCC1 AB 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CD 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    BCC1 AB 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CD 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    TNT1 A 0 A_UnSetShootable\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    BCC1 AABBCCDDAAB 1 Bright A_FadeOut(0.1,0)\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)\n    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase(0, 0, CHF_NIGHTMAREFAST)\n    TNT1 A 1 Bright A_PlayWeaponSound(\"boss/teleport\")\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    BCT1 BCCDDAABBCCD 1 A_FadeIn(0.1)\n    TNT1 A 0 A_SetShootable\n\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Spit\")\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,0,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,20,2,5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,40,2,10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,60,2,15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,80,2,25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,100,2,30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,120,2,35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,140,2,40)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,160,2,45)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,180,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,200,2,-5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,220,2,-10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,240,2,-15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,260,2,-20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,280,2,-25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,300,2,-30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,320,2,-35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,340,2,-40)\n\n    BCC1 AB 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CD 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Spit\")\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,180,2,45)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,200,2,40)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,220,2,35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,240,2,30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,260,2,25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,280,2,20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,300,2,15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,320,2,10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,340,2,5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,0,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,20,2,-5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,40,2,-10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,60,2,-15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,80,2,-20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,100,2,-25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,120,2,-30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,140,2,-35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,160,2,-40)\n\n    BCC1 AB 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CD 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Spit\")\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,90,2,45)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,110,2,40)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,130,2,35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,150,2,30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,170,2,25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,190,2,20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,210,2,15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,230,2,10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,250,2,5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,270,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,290,2,-5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,310,2,-10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,330,2,-15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,350,2,-20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,10,2,-25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,30,2,-30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,50,2,-35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,70,2,-40)\n\n    BCC1 AB 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CD 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Spit\")\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,270,2,45)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,290,2,40)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,310,2,35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,330,2,30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,350,2,25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,10,2,20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,30,2,15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,50,2,10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,70,2,5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,90,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,110,2,-5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,130,2,-10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,150,2,-15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,170,2,-20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,190,2,-25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,210,2,-30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,230,2,-35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,250,2,-40)\n\n    BCC1 AB 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CD 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 AB 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CD 2 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 AB 3 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 CD 3 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 A 4 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 B 4 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 C 4 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC1 D 4 Bright A_Chase(0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    Goto See\n  Railgun:\n    TNT1 A 0 A_PlaySound(\"CyberRail/Charge\")\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_FaceTarget\n    TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_CustomMissile(\"BlueCyberRail\",88,-30,0)\n    BCF1 A 4 Bright A_FaceTarget\n    BCF1 AAA 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 AA 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD CCCCC 2 A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    //TNT1 A 0 A_Jump(128,\"Missile\")\n    Goto Missile\n\n  \"DBFG\":\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgcharge\") // 196 tics.\n\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_FaceTarget\n    TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    BCC2 BA 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 3 Bright A_FaceTarget\n    BCC2 BA 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 3 Bright A_FaceTarget\n    BCC2 BA 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 3 Bright A_FaceTarget\n    BCC2 BA 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 3 Bright A_FaceTarget\n\n    BCC2 AB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 A 2 Bright A_FaceTarget\n    BCC2 B 2 Bright A_FaceTarget\n    BCC2 AB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgfire\", CHAN_AUTO)\n    TNT1 A 0 A_CustomMissile(\"T3DBFGBall\", 72, 0, Random(4, -4), 0, Random(4, -4))\n    BCF1 AAA 2 A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 AB 2 A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgcooldown\")\n    BCRD C 4 A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    Goto See\n  \"DBFG10K\":\n    TNT1 A 0\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgcharge2\") // 196 tics.\n    BCC2 AA 2 Bright A_FaceTarget\n    TNT1 A 0 A_FaceTarget\n    TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 BB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 AA 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n\t/*\n    BCC2 BA 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 B 3 Bright A_FaceTarget\n\n    BCC2 AB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 AB 2 Bright A_FaceTarget\n\n    BCC2 AB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\t*/\n  \"DBFG10KHold\":\n    BCC2 AB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgfire2\")\n    BCF1 A 3 Bright A_CustomMissile(\"T3DBFG10kShot\", 72, 0, Random(4, -4), 0, Random(4, -4))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_CheckSight(2)\n    TNT1 A 0 A_Jump(240, \"DBFG10KHold\")\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgcooldown2\")\n    BCC2 AB 2\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD CC 2\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD AA 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD BB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD AA 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD BB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD AA 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD BB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    Goto See\n  \"DBFG10KBall\":\n    TNT1 A 0\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgcharge2\") // 196 tics.\n    BCC2 AA 2 Bright A_FaceTarget\n    TNT1 A 0 A_FaceTarget\n    TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 BB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 AA 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgfire2\")\n    BCF1 A 3 Bright A_CustomMissile(\"T3DBFG10KBall\", 72)\n\tGoto Missile\n  \"FlashBFGs\":\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)\n\tTNT1 A 0 A_PlaySound(\"BlueCardinal/Flash\", CHAN_NOPAUSE)\n    BCFL A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL B 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL C 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL D 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL E 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    BCFL D 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL E 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL D 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL E 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL D 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL E 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL D 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL E 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL D 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL E 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DE 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DE 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DE 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DE 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DE 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DE 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DE 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DEDE 1 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DEDE 1 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL DEDE 1 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    TNT1 A 0 A_SetUserVar(\"user_flashing\", 0)\n  \"Flashing\":\n    TNT1 A 0 A_JumpIf(user_flashing >= 6, \"Missile\")\n    TNT1 A 0 A_SetUserVar(\"user_flashing\", user_flashing+1)\n\n    TNT1 A 0 A_UnSetShootable\n\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    BCFL EEEEE 1 Bright A_FadeOut(0.2,0)\n    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander\n    TNT1 AAAA 0 A_Chase(0, 0, CHF_NIGHTMAREFAST)\n\n    TNT1 A 1 A_PlayWeaponSound(\"boss/teleport\")\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    TNT1 A 0 A_FaceTarget\n\n    BCFL EEEEE 1 A_FadeIn(0.2)\n\n    BCFL DCBA 1 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    TNT1 A 0 A_SetShootable\n\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgfire2\")\n    BCF1 A 3 Bright A_CustomMissile(\"T3DBFG10KBall2\", 72)\n\n    TNT1 A 0 A_JumpIf(user_flashing >= 6, \"Missile\")\n\n    BCFL ABCDE 1 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n\tLoop\n  Lasers:\n    TNT1 A 0 A_SetReflectiveInvulnerable\n\tTNT1 A 0 A_PlaySound(\"BlueCardinal/Charge2\", CHAN_NOPAUSE)\n\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n    BCLC AB 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n\tBCLC CA 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n\tBCLC BC 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n\tBCLC AB 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n\tBCLC CA 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n\tBCLC BC 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n    BCLC D 4\n    //TNT1 A 0 A_PlaySound(\"BlueCardinal/Charge\", CHAN_AUTO|CHAN_NOPAUSE)\n    TNT1 A 0 A_UnSetReflectiveInvulnerable\n    TNT1 A 0 A_SetUserVar(\"user_lasershot\", 0)\n    TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)\n  Lasering:\n    TNT1 A 0 A_JumpIf(user_lasershot >= 24, \"See\")\n    TNT1 A 0 A_SetUserVar(\"user_lasershot\", user_lasershot+1)\n\n\tTNT1 A 0 A_PlaySound(\"Laser/Beam\", CHAN_NOPAUSE)\n\tTNT1 A 0 Bright A_CustomMissile(\"LaserBeam\",116,6,0,0)\n\tBCLR A 2 Bright A_CustomMissile(\"LaserBeam\",116,-6,0,0)\n\tTNT1 A 0 Bright A_CustomMissile(\"LaserBeam\",116,6,0,0)\n\tBCLR B 2 Bright A_CustomMissile(\"LaserBeam\",116,-6,0,0)\n\n\tLoop\n  Rage:\n    TNT1 A 0 A_JumpIfCloser(128, \"Teleport\")\n    TNT1 A 0 A_UnSetShootable\n    BCRD E 5 Bright A_FaceTarget\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Whirl\", CHAN_VOICE)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCRD E 5 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCRD E 5 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCRD C 5 Bright A_FaceTarget\n\tTNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCRD C 5 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCRD C 5 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCRD C 5 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCRD C 5 Bright A_FaceTarget\n\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgcharge2\") // 196 tics.\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCC2 B 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCC2 A 4 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n\n    BCC2 BA 3 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCC2 B 3 Bright A_FaceTarget\n\n    BCC2 AB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    BCC2 A 2 Bright A_FaceTarget\n\n    BCC2 B 2 Bright A_FaceTarget\n    BCC2 AB 2 Bright A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalRagingSmokeSpawner\",0,0,64)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n\n    TNT1 A 0 A_SetUserVar(\"user_mirrored\", 0)\n    TNT1 A 0 A_SetUserVar(\"user_rageshot\", 0)\n    TNT1 A 0 A_SetShootable\n  Raging:\n    TNT1 A 0 A_JumpIf(user_rageshot >= 24, \"RagingFinalBlow\")\n    TNT1 A 0 A_SetUserVar(\"user_rageshot\", user_rageshot+1)\n\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgfire2\")\n    TNT1 A 0 A_FaceTarget\n    BCF1 A 3 Bright A_CustomMissile(\"T3DBFG10kShot\", 72, 0, Random(6, -6), 0, Random(4, -4))\n    BCC2 AB 1 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,4)\n    Loop\n  RagingFinalBlow:\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgfire\", CHAN_AUTO)\n    TNT1 A 0 A_CustomMissile(\"T3DBFGBall\", 72, 0, Random(4, -4), 0, Random(4, -4))\n    BCF1 AAA 2 A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCC2 AB 2 A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_PlaySound(\"Weapons/dbfgcooldown\")\n    BCRD C 4 A_FaceTarget\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    Goto See\n  Pain:\n    TNT1 A 0 A_SetTranslucent(1)\n    TNT1 A 0 A_Jump(64,\"PainMirror\")\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Pain\")\n    TNT1 A 0 A_Jump(32,\"Rage\",\"FlashBFGs\")\n    TNT1 A 0 A_Jump(64,\"Teleport\",\"Rage\",\"FlashBFGs\")\n\tTNT1 A 0 A_Jump(128,\"Dodge\")\n    TNT1 A 0 A_Jump(128,\"PainMissile\")\n    BCT1 X 8 Bright\n    TNT1 A 0 A_SpawnItem(\"BlueFireSpawner\",0,16,0,0)\n    Goto See\n  \"PainMirror\":\n    TNT1 A 0\n\tTNT1 A 0 A_PlaySound(\"BlueCardinal/Pain\")\n    TNT1 A 0 A_UnSetShootable\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorOut\", 0, 0, 0, -16, 0, 0, 0)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorOut\", 0, 0, 0, -16, 0, 0, 45)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorOut\", 0, 0, 0, -16, 0, 0, 90)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorOut\", 0, 0, 0, -16, 0, 0, 135)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorOut\", 0, 0, 0, -16, 0, 0, 180)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorOut\", 0, 0, 0, -16, 0, 0, 225)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorOut\", 0, 0, 0, -16, 0, 0, 270)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorOut\", 0, 0, 0, -16, 0, 0, 315)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    BCFL AAAAA 1 Bright A_FadeOut(0.2,0)\n\n    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander\n\tTNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Wander\n\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorIn\", -400, 0, 0, 16, 0, 0, 0)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorIn\", -400, 0, 0, 16, 0, 0, 45)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorIn\", -400, 0, 0, 16, 0, 0, 90)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorIn\", -400, 0, 0, 16, 0, 0, 135)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorIn\", -400, 0, 0, 16, 0, 0, 180)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorIn\", -400, 0, 0, 16, 0, 0, 225)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorIn\", -400, 0, 0, 16, 0, 0, 270)\n    BCFL A 1 A_SpawnItemEx(\"BlueCardinalTeleportMirrorIn\", -400, 0, 0, 16, 0, 0, 315)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    TNT1 A 1 A_PlayWeaponSound(\"boss/teleport\")\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    TNT1 A 0 A_FaceTarget\n    BCFL AAAAAAAAAAA 1 A_FadeIn(0.1)\n\n    TNT1 A 0 A_SetShootable\n\n    TNT1 A 0 A_Jump(32,\"Rage\")\n    TNT1 A 0 A_Jump(64,\"Teleport\",\"Rage\")\n\tTNT1 A 0 A_Jump(128,\"Dodge\")\n    TNT1 A 0 A_Jump(128,\"PainMissile\")\n    BCT1 X 8 Bright\n    TNT1 A 0 A_SpawnItem(\"BlueFireSpawner\",0,16,0,0)\n\n    Goto Missile\n  Pain.Legendary:\n  Pain.LegendaryPlayer:\n  Pain.PlayerDevBall:\n  Pain.PDTBFG:\n  Pain.BFG10K:\n    TNT1 A 0 A_Jump(200, \"Teleport\")\n    Goto PainMissile\n  Pain.LegendaryGuru:\n  Pain.LegendaryGuruPlayer:\n    TNT1 A 0 A_JumpIf(user_mirrored < 1, \"MirrorDodge\")\n    TNT1 A 0 A_Jump(256, \"Teleport\")\n    Goto PainMissile\n  \"Dodge\":\n    TNT1 A 0 A_FaceTarget\n\tTNT1 A 0 A_Jump(128, 3)\n    TNT1 A 0 ThrustThing(angle*256/360+64, 15, 0, 0)\n\tTNT1 A 0 A_Jump(256, 2)\n    TNT1 A 0 ThrustThing(angle*256/360+192, 15, 0, 0)\n    BCT1 X 8\n    Goto PainMissile\n  \"MirrorDodge\":\n    TNT1 A 0 A_UnSetShootable\n    TNT1 A 0 A_SetUserVar(\"user_mirrored\", 1)\n\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)\n\tTNT1 A 0 A_SpawnItemEx(\"LightBlueStruckGlow\", 0, 0, 48)\n    BCT1 XXXXX 1 Bright A_FadeOut(0.2,0)\n\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalSplitMirror\", 0, 0, 0, -16, 0, 0, 0)\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalSplitMirror\", 0, 0, 0, -16, 0, 0, 45)\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalSplitMirror\", 0, 0, 0, -16, 0, 0, 90)\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalSplitMirror\", 0, 0, 0, -16, 0, 0, 135)\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalSplitMirror\", 0, 0, 0, -16, 0, 0, 180)\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalSplitMirror\", 0, 0, 0, -16, 0, 0, 225)\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalSplitMirror\", 0, 0, 0, -16, 0, 0, 270)\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardinalSplitMirror\", 0, 0, 0, -16, 0, 0, 315)\n\n\tTNT1 A 90 // 20+64+20=104\n    BCT1 XXXXX 1 Bright A_FadeIn(0.2)\n\tTNT1 A 0 A_SpawnItemEx(\"LightBlueStruckGlow\", 0, 0, 48)\n    TNT1 A 0 A_SetShootable\n    Goto PainMissile\n  PainMissile:\n    TNT1 A 0\n    BCT1 X 8 Bright\n    TNT1 A 0 A_SpawnItem(\"BlueFireSpawner\",0,16,0,0)\n    Goto Missile\n  \"Taunt\":\n    TNT1 A 0\n    TNT1 A 0 A_SetReflectiveInvulnerable\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Taunt\", CHAN_VOICE)\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n    BCT1 A 4 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCT1 B 4 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n    BCT1 AB 3 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCT1 A 2 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n    BCT1 B 2 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    BCT1 AB 2 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCT1 A 2 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n    BCT1 B 2 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    BCT1 AB 3 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCT1 AB 4 Bright\n    TNT1 A 0 A_SpawnItemEx(\"BlueCardShield\", Random(-1,1), Random(-1,1), 8)\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    TNT1 A 0 A_UnSetReflectiveInvulnerable\n    Goto See\n  \"Teleport\":\n    TNT1 A 0\n    TNT1 A 0 A_UnSetShootable\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    BCT1 XXXXXXXXXXX 1 Bright A_FadeOut(0.1,0)\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)\n    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase(0, 0, CHF_NIGHTMAREFAST)\n    //TNT1 AAAA 0 A_Wander // Removed on 2016-07-31\n    TNT1 A 1 A_PlayWeaponSound(\"boss/teleport\")\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    TNT1 A 0 A_FaceTarget\n\n    // Dash.\n\tTNT1 A 0 A_Jump(192, 3)\n    TNT1 A 0 ThrustThing(angle*256/360+128, 15, 0, 0)\n\tTNT1 A 0 A_Jump(256, 2)\n    TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)\n\n    BCT1 XXXXXXXXXXX 1 A_FadeIn(0.1)\n    BCT1 X 20\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)\n    TNT1 A 0 A_SetShootable\n    TNT1 A 0 A_Jump(70,\"DBFG10K\")\n    TNT1 A 0 A_Jump(128, \"Taunt\")\n    Goto Missile\n  \"Disappear\":\n    TNT1 A 0 A_UnSetShootable\n    TNT1 A 0 A_SetUserVar(\"user_disappeared\", 1)\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    BCT1 XXXXXXXXXXX 4 Bright A_FadeOut(0.1,0)\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)\n    TNT1 A 0 A_SetUserVar(\"user_voidtravel\", 0)\n  \"VoidTravel\":\n    TNT1 A 0 A_JumpIf(user_voidtravel >= Random(15,45), \"Reappear\")\n    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander\n\tTNT1 A 35\n    TNT1 A 0 A_SetUserVar(\"user_voidtravel\", user_voidtravel+1)\n    Loop\n  \"Reappear\":\n    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase(0, 0, CHF_NIGHTMAREFAST)\n    TNT1 A 1 A_PlayWeaponSound(\"boss/teleport\")\n    TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"BlueCardLineSpawner\")\n    TNT1 A 0 A_FaceTarget\n    TNT1 A 0 ThrustThing(angle*256/360+128, 15, 0, 0)\n    BCT1 XXXXXXXXXXX 1 A_FadeIn(0.1)\n    BCT1 X 20\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)\n    TNT1 A 0 A_SetShootable\n    TNT1 A 0 A_Jump(70,\"DBFG10K\")\n    TNT1 A 0 A_Jump(128, \"Taunt\")\n\tGoto See\n  Raise:\n    Stop\n  Death:\n    TNT1 A 0\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Taunt\", CHAN_VOICE)\n\n    // Dying\n    BCT1 A 4 Bright A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCT1 B 4 Bright A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    // Whirl Attack\n    TNT1 A 0 A_PlaySound(\"BlueCardinal/Spit\")\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,0,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,20,2,5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,40,2,10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,60,2,15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,80,2,25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,100,2,30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,120,2,35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,140,2,40)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,160,2,45)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,180,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,200,2,-5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,220,2,-10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,240,2,-15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,260,2,-20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,280,2,-25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,300,2,-30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,320,2,-35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,340,2,-40)\n\n    // Dying\n    BCT1 AB 3 Bright A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCT1 AB 2 Bright A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    // Whirl attack 2\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,180,2,45)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,200,2,40)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,220,2,35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,240,2,30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,260,2,25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,280,2,20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,300,2,15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,320,2,10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,340,2,5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,0,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,20,2,-5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,40,2,-10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,60,2,-15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,80,2,-20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,100,2,-25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,120,2,-30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,140,2,-35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,160,2,-40)\n\n    // Dying\n    BCT1 AB 2 Bright A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCT1 AB 2 Bright A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    // Whirl attack 3\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,90,2,45)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,110,2,40)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,130,2,35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,150,2,30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,170,2,25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,190,2,20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,210,2,15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,230,2,10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,250,2,5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,270,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,290,2,-5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,310,2,-10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,330,2,-15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,350,2,-20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,10,2,-25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,30,2,-30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,50,2,-35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,70,2,-40)\n\n    // Dying\n    BCT1 AB 1 Bright A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCT1 AB 1 Bright A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n\n    // Whirl attack 4\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,270,2,45)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,290,2,40)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,310,2,35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,330,2,30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,350,2,25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,10,2,20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,30,2,15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,50,2,10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,70,2,5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,90,2,0)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,110,2,-5)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,130,2,-10)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,150,2,-15)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,170,2,-20)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,190,2,-25)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,210,2,-30)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,230,2,-35)\n    TNT1 A 0 A_custommissile(\"BlueCardball\",72,0,250,2,-40)\n\n    // Explode\n    BCRD E 5 Bright A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n    TNT1 A 0 A_SpawnItemEx(\"BlueFireSpawner\",0,0,-12)\n    BCRD E 3 A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n\n    BCRD F 2 Bright A_Scream\n    BCRD FF 3 A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n\n    BCRD G 5 Bright A_NoBlocking\n    BCRD G 3 A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n\n    BCRD H 2 Bright\n    BCRD HH 3 A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n\n    BCRD I 2 Bright A_Explode\n    BCRD II 3 A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n\n    BCRD J 2 Bright\n    BCRD J 3 A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n\n    BCRD K 8 Bright\n    BCRD L 8 Bright\n    Stop\n}\n}\n\n//====================\nACTOR BlueCardinalRocket\n{\n\tGame Doom\n\tSpawnID 127\n\tRadius 11\n\tHeight 8\n\tSpeed 20\n\tDamage 19\n\tDamageType \"DBFG2\"\n\tProjectile\n\t+RANDOMIZE\n\t+DEHEXPLOSION\n\t+ROCKETTRAIL\n\t+SEEKERMISSILE\n\tSeeSound \"weapons/rocklf\"\n\tDeathSound \"weapons/rocklx\"\n\tStates\n\t{\n\tSpawn:\n\t\tBCRC AB 4 Bright A_Tracer2\n\t\tTNT1 A 0 A_PlaySound(\"Weapons/homingbeep\")\n\t\tLoop\n\tDeath:\n\t\tBCRC C 8 Bright A_Explode\n\t\tBCRC D 6 Bright\n\t\tBCRC E 4 Bright\n\t\tStop\n\t}\n}\n\nACTOR BlueCardball\n{\n  Radius 11\n  Height 8\n  Scale 0.5\n  Speed 18\n  Damage 15\n  DamageType \"DBFG2\"\n  Alpha 0.97\n  Scale 0.25\n  SeeSound \"Imp/Attack\"\n  DeathSound \"Imp/ShotX\"\n  Projectile\n  Renderstyle Add\n  +EXPLODEONWATER\n  +FORCERADIUSDMG\n  +DONTBLAST\n  Decal Scorch\n  Obituary \"%k got hit by %o's Blueball!\"\n\n  States\n  {\n  Spawn:\n\tD3PP ABCDEFG 1 Bright A_SpawnItemEx(\"BlueCardballTrail\")\n\tLoop\n  Death:\n    TNT1 A 0\n\tTNT1 A 0 A_Explode(128, 128, 0)\n\tTNT1 A 0 A_PlaySound(\"weapons/t2fbx1\", 0, 0.75, 0, ATTN_NORM)\n\tTNT1 A 0 A_SpawnItemEx(\"BlueCardballExp\")\n\tStop\n  }\n}\n\nACTOR BlueCardballExp\n{\n\tAlpha 0.75\n\t+NOGRAVITY\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tRenderstyle Add\n\tScale 0.75\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tD3PX A 1 Bright A_FadeOut(0.05)\n\t\tD3PX B 1 Bright A_FadeOut(0.05)\n\t\tD3PX C 1 Bright A_FadeOut(0.045)\n\t\tD3PX D 1 Bright A_FadeOut(0.035)\n\t\tD3PX E 1 Bright A_FadeOut(0.025)\n\t\tD3PX F 1 Bright A_FadeOut(0.015)\n\tContinuous:\n\t\tD3PX G 1 Bright A_FadeOut(0.065)\n\t\tLoop\n\t}\n}\n\nACTOR BlueCardballTrail : T3BaseEffect\n{\n\tScale 0.35\n\tAlpha 0.75\n\t+CLIENTSIDEONLY\n\tRenderstyle Add\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tD3PP A 1 Bright A_FadeOut(0.1)\n\t\t\tD3PP B 1 Bright A_FadeOut(0.1)\n\t\t\tD3PP C 1 Bright A_FadeOut(0.1)\n\t\t\tD3PP D 1 Bright A_FadeOut(0.1)\n\t\t\tD3PP E 1 Bright A_FadeOut(0.1)\n\t\t\tD3PP F 1 Bright A_FadeOut(0.1)\n\t\t\tD3PP G 1 Bright A_FadeOut(0.1)\n\t\t\tLoop\n\t}\n}\n\nACTOR BlueCardRocketExplosion : BlueCardinalRocket\n{\n  SeeSound \"\"\n  DeathSound \"\"\n  Speed 5\n  DamageType \"DBFG2\"\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 0 A_Jump(128, 1)\n\tGoto AltDeath\n\tTNT1 A 0\n\tTNT1 A 0 A_PlaySound(\"weapons/rockhit\")\n\tGoto Death\n  AltDeath:\n    TNT1 A 0\n\n\tTNT1 A 0 A_SpawnItemEx(\"BlueParticleSpawner\", 0, 0, 0, 0, 0, 0, 0, 128)\n    TNT1 AAA 0 A_CustomMissile(\"BlueKaboom3\", 0, 0, random(0,360), 2, random(0,360))\n\tTNT1 AAA 0 A_CustomMissile(\"SmokeFX2\", 0, 0, random(0,360), 2, random(0,360))\n    TNT1 AAAA 0 A_SpawnItemEx(\"Debris\",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)\n    TNT1 A 1 A_Explode\n\n\tStop\n  }\n}\n\nACTOR BlueCardRocketExplosionBundle\n{\n    States\n\t{\n\tSpawn:\n\t  TNT1 A 0\n      TNT1 AAAAA 1 A_SpawnItemEx(\"BlueCardRocketExplosion\", random(31,-31), frandom(31,-31), frandom(39,-39), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))\n\t  Stop\n\t}\n}\n\nACTOR BlueCardShield : T3BaseEffect\n{\nRenderStyle Add\nYScale 2.0\nXScale 1.5\nAlpha 0.8\nStates\n{\n  Spawn:\n    BCSH ABCDEFGH 1 Bright A_FadeOut(0.1)\n\tStop\n}\n}\n\nACTOR BlueCardLineSpawner : BluePowerLineSpawner\n{\nStates\n{\nSpawn:\n\tTNT1 A 0\n\tTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n\tTNT1 AAAAA 0 A_SpawnItemEx(\"BlueCardPowerLine\",random(48,-48),random(48,-48),random(0,48),0,0,random(2,8),0,128,0)\n\tTNT1 A 1 A_SpawnItemEx(\"BlueCardPowerLine\",random(48,-48),random(48,-48),random(0,48),0,0,random(2,8),0,128,0)\n    Stop\n    }\n}\n\nACTOR BlueCardPowerLine : BluePowerLine\n{\nScale 0.84\nStates\n{\nSpawn:\n   SPFX A 5 Bright\n   TNT1 A 0 A_Jump(128,\"FadeOut2\")\nNormal:\n   SPFX AAAAAAAA 1 Bright A_FadeOut(0.025)\n   Stop\nFadeOut2:\n   SPFX AAAAAAAA 1 Bright A_FadeOut(0.03)\n   Stop\n   }\n}\n\nACTOR BlueCardinalGhost : MonsterGhost\n{\nScale 1.1\nStates\n{\n  Spawn:\n    BCRD A 2 A_FadeOut(0.1)\n    Loop\n}\n}\n\nACTOR BlueCardinalGhostB : BlueCardinalGhost\n{\nStates\n{\n  Spawn:\n    BCRD B 2 A_FadeOut(0.1)\n    Loop\n}\n}\n\nACTOR BlueCardinalRagingSmokeSpawner : RagingSmokeSpawner2 { }\n\nACTOR BlueCardinalMirror : MonsterGhost\n{\nScale 1.1\nRadius 40\nHeight 100\nAlpha 0.0\nStates\n{\n  Spawn:\n    BCRD ABABABABAB 4 A_FadeIn(0.10) // BCRDE\n    BCRD ABABA 1 A_FadeOut(0.20)\n    Stop\n}\n}\n\nACTOR BlueCardinalTeleportMirrorIn : BlueCardinalMirror\n{\nStates\n{\n  Spawn:\n    BCFL AAAAAAAAAA 2 A_FadeIn(0.10) // BCRDE\n    BCFL AAAAA 1 A_FadeOut(0.20)\n    Stop\n}\n}\n\nACTOR BlueCardinalTeleportMirrorOut : BlueCardinalMirror\n{\nAlpha 1.0\nStates\n{\n  Spawn:\n    BCFL AAAAAAAAAA 2 A_FadeOut(0.10) // BCRDE\n    Stop\n}\n}\n\nACTOR BlueCardinalSplitMirror : BlueCardinalMirror\n{\nStates\n{\n  Spawn:\n    BCC1 ABCDABCD 2 A_FadeIn(0.10) // BCRDE\n    TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_RELATIVE|CVF_REPLACE)\n    BCC1 ABCDABCDABCDABCD 2\n    BCC1 ABCDABCDABCDABCD 2\n    TNT1 A 0 A_ChangeVelocity(16, 0, 0, CVF_RELATIVE|CVF_REPLACE)\n    BCC1 ABCDABCD 2 A_FadeOut(0.10) // BCRDE\n    Stop\n\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/player/tear.txt",
        "contents": "ACTOR PlayerTearProjectile\n{\n+NOGRAVITY\n+NODAMAGETHRUST\n+MTHRUSPECIES\n+THRUSPECIES\n+THRUACTORS\n+NOBLOCKMAP\n+NOCLIP\n+NOTELEPORT\n+FORCERADIUSDMG\n+DONTHARMSPECIES\n+BLOODLESSIMPACT\n+FOILINVUL\n+RIPPER\nScale 2.0\nAlpha 0.75\nRenderstyle Add\nProjectile\nRadius 4\nHeight 8\nSpeed 20\nDamage 1024\nDamageType \"PlayerTear\"\nSpecies \"Player\"\nObituary \"%o was caught in %k's tear.\"\n\nStates {\n  Spawn:\n\tTNT1 A 0\n\tTNT1 A 0 A_Explode(1024, 384, 0, false, 192)\n\tSTFX A 1 Bright A_FadeOut(0.05)\n\tTNT1 A 0 A_Explode(1024, 384, 0, false, 192)\n\tSTFX B 1 Bright A_FadeOut(0.05)\n\tTNT1 A 0 A_Explode(1024, 384, 0, false, 192)\n\tSTFX C 1 Bright A_FadeOut(0.045)\n\tTNT1 A 0 A_Explode(1024, 384, 0, false, 192)\n\tSTFX B 1 Bright A_FadeOut(0.035)\n\tTNT1 A 0 A_Explode(1024, 384, 0, false, 192)\n\tSTFX C 1 Bright A_FadeOut(0.025)\n\tTNT1 A 0 A_Explode(1024, 384, 0, false, 192)\n\tSTFX B 1 Bright A_FadeOut(0.015)\n  Continuous:\n\tTNT1 A 0 A_Explode(512, 384, 0, false, 192)\n\tSTFX CB 1 Bright A_FadeOut(0.065)\n\tLoop\n  Death:\n\tTNT1 A 1\n\tStop\n}\n}\n\nACTOR PlayerSpawnTear\n{\n+NOGRAVITY\n+NOINTERACTION\n+NODAMAGETHRUST\n+MTHRUSPECIES\n+THRUSPECIES\n+THRUACTORS\n+NOBLOCKMAP\n+NOCLIP\n+NOTELEPORT\n+FORCERADIUSDMG\n+DONTHARMSPECIES\n+BLOODLESSIMPACT\n+FOILINVUL\nScale 2.0\nAlpha 0.75\nRenderstyle Add\nSpecies \"Player\"\nDamageType \"PlayerTear\"\nObituary \"%o was erased by %k's tear.\"\n\nStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Explode(4096, 448, 0, false, 192)\n\t\tTNT1 A 0 A_PlaySound(\"Player/Spawn\")\n\t\tTNT1 A 0 A_CustomMissile(\"PlayerTearProjectile\", 16, 0, 0, CMF_AIMDIRECTION)\n\t\tSTFX A 1 Bright A_FadeOut(0.05)\n\t\tTNT1 A 0 A_CustomMissile(\"PlayerTearProjectile\", 16, 0, 135, CMF_AIMDIRECTION)\n\t\tSTFX B 1 Bright A_FadeOut(0.05)\n\t\tTNT1 A 0 A_CustomMissile(\"PlayerTearProjectile\", 16, 0, 270, CMF_AIMDIRECTION)\n\t\tSTFX C 1 Bright A_FadeOut(0.045)\n\t\tTNT1 A 0 A_CustomMissile(\"PlayerTearProjectile\", 16, 0, 90, CMF_AIMDIRECTION)\n\t\tSTFX B 1 Bright A_FadeOut(0.035)\n\t\tTNT1 A 0 A_CustomMissile(\"PlayerTearProjectile\", 16, 0, 225, CMF_AIMDIRECTION)\n\t\tSTFX C 1 Bright A_FadeOut(0.025)\n\t\tTNT1 A 0 A_CustomMissile(\"PlayerTearProjectile\", 16, 0, 270, CMF_AIMDIRECTION)\n\t\tSTFX B 1 Bright A_FadeOut(0.015)\n\t\tTNT1 A 0 A_CustomMissile(\"PlayerTearProjectile\", 16, 0, 90, CMF_AIMDIRECTION)\n\t\tSTFX C 1 Bright A_FadeOut(0.015)\n\t\tTNT1 A 0 A_CustomMissile(\"PlayerTearProjectile\", 16, 0, 180, CMF_AIMDIRECTION)\n\t\tSTFX B 1 Bright A_FadeOut(0.015)\n\t\tTNT1 A 0 A_CustomMissile(\"PlayerTearProjectile\", 16, 0, 315, CMF_AIMDIRECTION)\n\t\tSTFX C 1 Bright A_FadeOut(0.015)\n\tContinuous:\n\t\tSTFX BC 1 Bright A_FadeOut(0.065)\n\t\tLoop\n\tDeath:\n\t    TNT1 A 1\n\t\tStop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/effects/dbfg.txt",
        "contents": "ACTOR T3DBFGBallParticleFloater : T3BaseEffect\n{\n  Height 0\n  Radius 0\n  Mass 0\n  Damage 0\n  +THRUACTORS\n  +DONTSPLASH\n  +DOOMBOUNCE\n  +MISSILE\n  +FORCEXYBILLBOARD\n  -NOGRAVITY\n  RenderStyle Add\n  BounceFactor 0.6\n  Gravity 0.2\n  Scale 0.06\n  States\n  {\n    Spawn:\n      TNT1 A 0\n      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n      SSKB ABC 2 Bright A_FadeOut(0.015)\n      Loop\n  }\n}\n\nACTOR T3DBFGShockAttack\n{\n  Projectile\n  +LOOKALLAROUND\n  +ISMONSTER\n  +QUICKTORETALIATE\n  +NOTARGET\n  +FRIENDLY\n  +NOCLIP\n  Obituary \"%o got shocked by %k's D-BFG.\"\n  DamageType \"DBFG2\"\n  MissileType \"T3DBFGRailgunSlug\"\n  States\n  {\n  Spawn:\n    TNT1 A 0\n\tTNT1 AAAAA 1 A_Look\n\tStop\n  See:\n    TNT1 A 0\n\tTNT1 A 1 A_JumpIfCloser(1250,\"Attack\")\n\tStop\n  Attack:\n    TNT1 A 0\n\tTNT1 A 0 A_FaceTarget\n\tTNT1 A 0 A_MissileAttack\n\tTNT1 A 1 A_CustomRailgun(-1,0,NONE,\"White\",1,1,2)\n\tGoto Death\n  Death:\n\tTNT1 A 1\n\tStop\n  }\n}\n\nACTOR PlayerT3DBFGShockAttack : T3DBFGShockAttack\n{\n  Species \"Player\"\n  DamageType \"PlayerDBFG2\"\n  MissileType \"PlayerT3DBFGRailgunSlug\"\n}\n\nACTOR T3DBFGBallTrail : T3BaseEffect\n{\n\tAlpha 0.70\n\tRenderstyle Add\n    Scale 1.0\n\tStates\n\t{\n\tSpawn:\n        B3FL ABC 2 Bright A_FadeOut(0.10)\n        B3FL DEF 2 Bright A_FadeOut(0.10)\n        TNT1 AAAA 2 Bright A_FadeOut(0.10)\n\t\tStop\n\t}\n}\n\nACTOR T3DBFGBallParticle : T3BaseEffect\n{\n    Scale 0.5\n\tAlpha 0.75\n\tRenderstyle Add\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n   \t\t\tTNT1 A 0 A_ChangeVelocity(frandom(1.6, -1.6), frandom(1.6, -1.6), frandom(1.6, -1.6), 0)\n\t\t\tSSKB A 1 Bright A_FadeOut(0.08+random(0.0075,-0.0075))\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleTrail\", 0, 0, 0, 0)\n\n\t\t\tSSKB B 1 Bright A_FadeOut(0.08+random(0.0075,-0.0075))\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleTrail\", 0, 0, 0, 0)\n\n\t\t\tSSKB C 1 Bright A_FadeOut(0.08+random(0.0075,-0.0075))\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleTrail\", 0, 0, 0, 0)\n\n\t\t\tSSKB B 1 Bright A_FadeOut(0.08+random(0.0075,-0.0075))\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleTrail\", 0, 0, 0, 0)\n\n\t\t\tSSKB A 1 Bright A_FadeOut(0.08+random(0.0075,-0.0075))\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleTrail\", 0, 0, 0, 0)\n\n\t\t\tSSKB B 1 Bright A_FadeOut(0.08+random(0.0075,-0.0075))\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleTrail\", 0, 0, 0, 0)\n\n\t\t\tSSKB C 1 Bright A_FadeOut(0.08+random(0.0075,-0.0075))\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleTrail\", 0, 0, 0, 0)\n\t\t\tLoop\n\t}\n}\n\nACTOR T3DBFGBallParticleTrail : T3BaseEffect\n{\n    Scale 0.5\n\tAlpha 0.75\n\tRenderstyle Add\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n   \t\t\tTNT1 A 0 A_ChangeVelocity(frandom(0.2, -0.2), frandom(0.2, -0.2), frandom(0.2, -0.2), 0)\n\t\t\t//BGFL ABC 1 Bright A_FadeOut(0.05+random(0.0075,-0.0075))\n            B3FL ABC 2 Bright A_FadeOut(0.10)\n   \t\t\tTNT1 A 0 A_ChangeVelocity(frandom(0.2, -0.2), frandom(0.2, -0.2), frandom(0.2, -0.2), 0)\n\n            B3FL DEF 2 Bright A_FadeOut(0.10)\n   \t\t\tTNT1 A 0 A_ChangeVelocity(frandom(0.2, -0.2), frandom(0.2, -0.2), frandom(0.2, -0.2), 0)\n\n            TNT1 AAAA 2 Bright A_FadeOut(0.10)\n\t\t\tStop\n\t}\n}\n\nACTOR T3DBFGBallLightningBolt : T3LightningBolt\n{\nScale 0.35\n}\n\nACTOR T3DTBFGLightningSpawner : T3BaseEffect\n{\n+NOGRAVITY\nStates\n{\nSpawn:\n    TNT1 A 0\n\tTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 Bright A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)\n    Stop\n    }\n}\n\nACTOR T3DBFGBallShockwave : T3BaseEffect\n{\n  Alpha 0.9\n  Renderstyle Add\n  +DONTSPLASH\n  +FORCEXYBILLBOARD\n\n  States\n  {\n    Spawn:\n      BG3W ABCDEFGHIJKLMNOPQR 1 Bright A_FadeOut(0.04)\n      Stop\n  }\n}\n\nACTOR T3DBFGBallShockwaveLrg : T3DBFGBallShockwave\n{\n  Scale 2.5\n  Alpha 0.85\n  States\n  {\n    Spawn:\n      BG3W ABCDEFGHIJKLMNOPQR 2 Bright A_FadeOut(0.04)\n      Stop\n  }\n}\n\nACTOR T3DBFGShotShockwave : T3DBFGBallShockwave\n{\n  Scale 0.75\n}\n\nACTOR PlayerT3DBFGProjectileAttack\n{\nPROJECTILE\n+LOOKALLAROUND\n+ISMONSTER\n+QUICKTORETALIATE\n+NOTARGET\n+FRIENDLY\n+NOCLIP\nObituary \"%o had no chance against %k's Demon Tech BFG10K.\"\nMissileType \"PlayerDTBFGRailgunSlug\"\nStates\n{\nSpawn:\n    TNT1 A 0\n\tTNT1 AAAAA 1 A_Look\n\tStop\nSee:\n    TNT1 A 0\n\tTNT1 A 1 A_JumpIfCloser(1250,\"Attack\")\n\tStop\nAttack:\n    TNT1 A 0\n\tTNT1 A 0 A_FaceTarget\n\tTNT1 A 0 A_MissileAttack\n\tTNT1 A 1 A_CustomRailgun(-1,0,NONE,\"Green\",1,1,2)\n\tGoto Death\nDeath:\n\tTNT1 A 1\n\tStop\n\t}\n}\n\n/*\nACTOR LightBlueParticleSpawner : BlueParticleSpawner\n{\n  States\n  {\n  Spawn:\n\tTNT1 A 0\n\tTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n    TNT1 A 0 A_SpawnItemEx(\"TPSG7\",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)\n\tTNT1 A 0 A_SpawnItemEx(\"TPSG8\",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)\n    TNT1 A 0 A_SpawnItemEx(\"TPSG9\",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)\n\tTNT1 A 0 A_SpawnItemEx(\"TPSG10\",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)\n    TNT1 A 0 A_SpawnItemEx(\"TPSG11\",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)\n\tTNT1 A 0 A_SpawnItemEx(\"TPSG12\",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)\n    TNT1 A 1\n    Stop\n  }\n}\n*/\n\nACTOR LightBlueSpray : BlueSpray\n{\n//+NOTIMEFREEZE\nStates\n{\nSpawn:\n   TNT1 A 0\n   BG3E A 6 Bright A_SpawnItemEx(\"BlueParticleSpawner\", 0, 0, 0, 0, 0, 0, 0, 128)\n   BG3E BCD 6 Bright\n   Stop\n   }\n}\n\nACTOR T3DBFGTracer : FastProjectile\n{\n   Height 4\n   Radius 16\n   Speed 60\n   Damage 50\n   Decal None\n   Species \"Cybers\"\n   +THRUSPECIES\n   //+NOTIMEFREEZE\n   States\n   {\n   Spawn:\n      TNT1 A 15\n\t  Stop\n   Death:\n      TNT1 A 1\n      Stop\n   XDeath:\n\t  TNT1 A 0\n      TNT1 A 1 A_SpawnItem(\"LightBlueSpray\")\n      Stop\n\t  }\n}\n\nACTOR T3DBFG10KBall : DTBFG10KBall\n{\nDamage 150\nSpeed 20\nAlpha 0.85\nDecal DBFG9500Lightning\nPROJECTILE\nDamageType \"DBFG2\"\n+FORCERADIUSDMG\n+THRUSPECIES\n//+NOTIMEFREEZE\nSpecies \"Cybers\"\nStates\n{\n  Spawn:\n    TNT1 A 0\n    TNT1 A 0 A_Jump(128,\"SFX\")\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 A_PlaySoundEx(\"weapons/dtech10kball\",\"Voice\",1)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 A 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 B 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 C 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 D 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    Loop\n  SFX:\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 A_PlaySoundEx(\"weapons/dtech10kball\",\"Voice\",1)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlue\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 A 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlue2\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 B 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlue\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 C 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlue2\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 D 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    Goto Spawn\n  Death:\n    TNT1 A 0\n    TNT1 A 0 A_SetTranslucent(0.75,1)\n    TNT1 A 0 Radius_Quake(5,60,0,10,0)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,0,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,10,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,20,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,30,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,40,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,50,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,60,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,70,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,80,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,90,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,100,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,110,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,120,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,130,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,140,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,150,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,160,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,170,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,180,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,190,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,200,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,210,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,220,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,230,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,240,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,250,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,260,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,270,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,280,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,290,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,300,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,310,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,320,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,330,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,340,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,350,CMF_TRACKOWNER)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlueSpawner\", 0, 0, 15, 0, 0, 0, 0, 128)\n    B3S1 ABCD 6 Bright A_SpawnItemEx(\"DTech10KShockwaveBlue\", 0, 0, 15, 0, 0, 0, 0, 128)\n    TNT1 A 0 A_Explode(480,240)\n    TNT1 A 0 A_StopSoundEx(\"Voice\")\n    TNT1 A 0 Radius_Quake(15,20,0,20,0)\n    TNT1 A 0 A_PlaySound(\"weapons/dtech10kexplode\")\n    TNT1 A 0 A_SpawnItemEx(\"DTech10KShockwaveBlue1\", 0, 0, 15, 0, 0, 0, 0, 128)\n    TNT1 A 20 Bright A_SpawnItemEx(\"T3DBFGBallExp\")\n    Stop\n}\n}\n\nACTOR T3DBFG10KBall2 : T3DBFG10KBall\n{\nStates\n{\n  Spawn:\n    TNT1 A 0\n    TNT1 A 0 A_Jump(128,\"SFX\")\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 A_PlaySoundEx(\"weapons/dtech10kball\",\"Voice\",1)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 E 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 F 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 G 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 H 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    Loop\n  SFX:\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 A_PlaySoundEx(\"weapons/dtech10kball\",\"Voice\",1)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlue\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 E 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlue2\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 F 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlue\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 G 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlue2\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n    TNT1 A 0 A_SpawnItemEx(\"BFGTrailParticleBlue\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n    B3S1 H 1 Bright A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n    Goto Spawn\n  Death:\n    TNT1 A 0\n    TNT1 A 0 A_SetTranslucent(0.75,1)\n    TNT1 A 0 Radius_Quake(5,60,0,10,0)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,0,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,10,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,20,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,30,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,40,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,50,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,60,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,70,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,80,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,90,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,100,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,110,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,120,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,130,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,140,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,150,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,160,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,170,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,180,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,190,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,200,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,210,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,220,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,230,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,240,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,250,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,260,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,270,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,280,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,290,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,300,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,310,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,320,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,330,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,340,CMF_TRACKOWNER)\n    TNT1 A 0 Bright A_CustomMissile(\"T3DBFGTracer\",0,0,350,CMF_TRACKOWNER)\n    TNT1 A 0 A_SpawnItemEx(\"DTBFGLightningBlueSpawner\", 0, 0, 15, 0, 0, 0, 0, 128)\n    B3S1 EFGH 6 Bright A_SpawnItemEx(\"DTech10KShockwaveBlue\", 0, 0, 15, 0, 0, 0, 0, 128)\n    TNT1 A 0 A_Explode(480,240)\n    TNT1 A 0 A_StopSoundEx(\"Voice\")\n    TNT1 A 0 Radius_Quake(15,20,0,20,0)\n    TNT1 A 0 A_PlaySound(\"weapons/dtech10kexplode\")\n    TNT1 A 0 A_SpawnItemEx(\"DTech10KShockwaveBlue1\", 0, 0, 15, 0, 0, 0, 0, 128)\n    TNT1 A 20 Bright A_SpawnItemEx(\"T3DBFGBallExp\")\n    Stop\n}\n}\n\nACTOR T3DBFGBallExploding : T3BaseEffect\n{\n  Damage 0\n  Speed 6\n  Scale 1.15\n  Alpha 0.75\n  Renderstyle Add\n  PROJECTILE\n  +DONTSPLASH\n  +MISSILE\n  +FORCEXYBILLBOARD\n  States\n  {\n    Spawn:\n      TNT1 A 0\n      BXPO AABBCDEFGHIJKLM 2 Bright A_FadeOut(0.05)\n      Stop\n  }\n}\n\nACTOR T3DBFGBallExp : T3BaseEffect\n{\n  RenderStyle Add\n  Alpha 0.85\n  +CLIENTSIDEONLY\n  +NOGRAVITY\n  States\n  {\n    Spawn:\n\t  TNT1 A 0\n      B3E1 AAAAAABBBBBBCCCCCCDDDDDD 1 Bright A_CustomMissile(\"T3DBFGBallExploding\", 0, 0, random(0,360), 2, random(0,360))\n      B3E1 EF 6 Bright\n      Stop\n  }\n}\n\nACTOR T3DBFGBoltExpStruckGlowX : LightBlueGuruStruckGlowX { }\nACTOR T3DBFGBoltExpStruckGlowY : LightBlueGuruStruckGlowY { }\nACTOR T3DBFGBoltExpChunkSpark : LightBlueGuruChunkSpark { }\nACTOR T3DBFGBoltExpSphereSmoke : LightBlueGuruSphereSmoke { DamageType \"DBFG2\" }\nACTOR PlayerT3DBFGBoltExpSphereSmoke : T3DBFGBoltExpSphereSmoke { DamageType \"PlayerDBFG2\" }\n\nACTOR T3DBFGBoltExpImpact\n{\n+DONTHARMSPECIES\n+MTHRUSPECIES\n+THRUSPECIES\n+NOBLOCKMAP\n+NOTELEPORT\n+BLOODLESSIMPACT\n+NOGRAVITY\nDamageType \"DBFG2\"\n\nStates\n{\n  Spawn:\n    TNT1 A 0\n\tTNT1 A 0 A_PlaySound(\"Weapons/GuruBlast3\",5)\n\tTNT1 A 0 A_Explode(512,256,0,1)\n\t//COLLATERAL DAMAGE EFFECTS\n\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpStruckGlowX\",0,0,10,0,0,0,0,128,0)\n\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpStruckGlowY\",0,0,10,0,0,0,0,128,0)\n\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpImpactFlareSpawner\",0,0,10,0,0,0,0,128,0)\n\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx(\"T3DBFGBoltExpSphereSmoke\",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)\n\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx(\"T3DBFGBoltExpChunkSpark\",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)\n\tTNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx(\"T3DBFGBoltExpChunkSpark\",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)\n\tStop\n}\n}\n\nACTOR T3DBFGBoltExpImpactFlare : T3BaseEffect\n{\nRenderStyle Add\nStates\n{\n  Spawn:\n    TNT1 A 0\n\tBLFL A 1 Bright A_FadeOut(0.05)\n\tLoop\n}\n}\n\nACTOR T3DBFGBoltExpImpactFlareSpawner : T3BaseEffect\n{\nStates\n{\n  Spawn:\n    TNT1 A 0\n\tTNT1 AAAAA 0 A_SpawnItemEx(\"T3DBFGBoltExpImpactFlare\", Random(-64, 64), Random(-64, 64), Random(-64, 64), Random(-1, 1), Random(-1, 1), Random(-1, 1))\n\tTNT1 AAAAA 1 A_SpawnItemEx(\"T3DBFGBoltExpImpactFlare\", Random(-128, 128), Random(-128, 128), Random(-128, 128), Random(-1, 1), Random(-1, 1), Random(-1, 1))\n\tStop\n}\n}\n\nACTOR PlayerT3DBFGBoltExpImpact : T3DBFGBoltExpImpact\n{\nSpecies \"Player\"\nDamageType \"PlayerDBFG2\"\nStates\n{\n  Spawn:\n    TNT1 A 0\n\tTNT1 A 0 A_PlaySound(\"Weapons/GuruBlast3\",5)\n\tTNT1 A 0 A_Explode(512,256,0,1)\n\t//COLLATERAL DAMAGE EFFECTS\n\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpStruckGlowX\",0,0,10,0,0,0,0,128,0)\n\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpStruckGlowY\",0,0,10,0,0,0,0,128,0)\n\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx(\"PlayerT3DBFGBoltExpSphereSmoke\",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)\n\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx(\"T3DBFGBoltExpChunkSpark\",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)\n\tTNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx(\"T3DBFGBoltExpChunkSpark\",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)\n\tStop\n}\n}\n\nACTOR T3DBFGBoltExp\n{\n    +NODAMAGETHRUST\n    +MTHRUSPECIES\n    +THRUSPECIES\n    +NOBLOCKMAP\n    +NOTELEPORT\n    +FORCERADIUSDMG\n    +BLOODLESSIMPACT\n\t+NOBLOCKMAP\n\t+DONTHARMSPECIES\n\t+NOGRAVITY\n\tRenderstyle Add\n\n    Alpha 0.95\n    DamageType \"DBFG2\"\n\tRenderStyle Add\n\n\tStates {\n\tSpawn:\n        TNT1 A 0 Radius_Quake(5,60,0,10,0)\n        TNT1 A 0 A_SpawnItemEx(\"T3DTBFGLightningSpawner\", 0, 0, 15, 0, 0, 0, 0, 128)\n\n        TNT1 A 0 Bright A_SpawnItemEx(\"T3DBFGBallShockwave\", 0, 0, 15, 0, 0, 0, 0, 128)\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 Bright A_SpawnItemEx(\"T3DBFGBallShockwave\", 0, 0, 15, 0, 0, 0, 0, 128)\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 Bright A_SpawnItemEx(\"T3DBFGBallShockwave\", 0, 0, 15, 0, 0, 0, 0, 128)\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 Bright A_SpawnItemEx(\"T3DBFGBallShockwave\", 0, 0, 15, 0, 0, 0, 0, 128)\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 A_StopSound(CHAN_VOICE)\n        TNT1 A 0 Radius_Quake(15,20,0,20,0)\n\t\tTNT1 A 0 A_PlaySound(\"Weapons/dbfgexplode\", CHAN_AUTO, 1.0, False, ATTN_NONE)\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallShockwaveLrg\", 0, 0, 15, 0, 0, 0, 0, 128)\n        TNT1 A 20 A_SpawnItemEx(\"T3DBFGBallExp\")\n\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpImpact\")\n\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallShockwaveLrg\", 0, 0, 15, 0, 0, 0, 0, 128)\n\n\t\tTNT1 A 0\n\t\t//TNT1 A 0 A_PlaySound(\"Weapons/dbfgexplode\", CHAN_BODY, 1.0, False, ATTN_NONE)\n\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX A 3 Bright A_FadeOut(0.05)\n\t\tD3PX B 3 Bright A_FadeOut(0.05)\n\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltLrgExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltLrgExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX C 3 Bright A_FadeOut(0.045)\n\t\tD3PX D 3 Bright A_FadeOut(0.035)\n\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExtLrgExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX A 3 Bright A_FadeOut(0.05)\n\t\tD3PX B 3 Bright A_FadeOut(0.05)\n\n        //TNT1 AA 0 A_SpawnItemEx(\"T3DBFGBoltLrgExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        //TNT1 AAA 0 A_SpawnItemEx(\"T3DBFGBoltLrgExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX C 3 Bright A_FadeOut(0.045)\n\t\tD3PX D 3 Bright A_FadeOut(0.035)\n\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExtLrgExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX E 3 Bright A_FadeOut(0.025)\n\t\tD3PX F 3 Bright A_FadeOut(0.015)\n\n\t\tD3PX G 4 Bright A_FadeOut(0.065)\n\n\tContinuous:\n\t\tD3PX G 1 Bright A_FadeOut(0.065)\n\t\tLoop\n    }\n}\n\nACTOR PlayerT3DBFGBoltExp : T3DBFGBoltExp\n{\nSpecies \"Player\"\nDamageType \"PlayerDBFG2\"\n\nStates {\n\tSpawn:\n        TNT1 A 0 Radius_Quake(5,60,0,10,0)\n        TNT1 A 0 A_SpawnItemEx(\"T3DTBFGLightningSpawner\", 0, 0, 15, 0, 0, 0, 0, 128)\n\n        TNT1 A 0 Bright A_SpawnItemEx(\"T3DBFGBallShockwave\", 0, 0, 15, 0, 0, 0, 0, 128)\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 Bright A_SpawnItemEx(\"T3DBFGBallShockwave\", 0, 0, 15, 0, 0, 0, 0, 128)\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 Bright A_SpawnItemEx(\"T3DBFGBallShockwave\", 0, 0, 15, 0, 0, 0, 0, 128)\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 Bright A_SpawnItemEx(\"T3DBFGBallShockwave\", 0, 0, 15, 0, 0, 0, 0, 128)\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t\tD3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n        TNT1 A 0 A_StopSound(CHAN_VOICE)\n        TNT1 A 0 Radius_Quake(15,20,0,20,0)\n\t\tTNT1 A 0 A_PlaySound(\"Weapons/dbfgexplode\", CHAN_AUTO, 1.0, False, ATTN_NONE)\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallShockwaveLrg\", 0, 0, 15, 0, 0, 0, 0, 128)\n        TNT1 A 20 A_SpawnItemEx(\"T3DBFGBallExp\")\n\n\t\tTNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGBoltExpImpact\")\n\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallShockwaveLrg\", 0, 0, 15, 0, 0, 0, 0, 128)\n\n\t\tTNT1 A 0\n\t\t//TNT1 A 0 A_PlaySound(\"Weapons/dbfgexplode\", CHAN_BODY, 1.0, False, ATTN_NONE)\n\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX A 3 Bright A_FadeOut(0.05)\n\t\tD3PX B 3 Bright A_FadeOut(0.05)\n\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltLrgExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltLrgExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX C 3 Bright A_FadeOut(0.045)\n\t\tD3PX D 3 Bright A_FadeOut(0.035)\n\n        TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExtLrgExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX A 3 Bright A_FadeOut(0.05)\n\t\tD3PX B 3 Bright A_FadeOut(0.05)\n\n        //TNT1 AA 0 A_SpawnItemEx(\"T3DBFGBoltLrgExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        //TNT1 AAA 0 A_SpawnItemEx(\"T3DBFGBoltLrgExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX C 3 Bright A_FadeOut(0.045)\n\t\tD3PX D 3 Bright A_FadeOut(0.035)\n\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n        //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExtLrgExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t\tD3PX E 3 Bright A_FadeOut(0.025)\n\t\tD3PX F 3 Bright A_FadeOut(0.015)\n\n\t\tD3PX G 4 Bright A_FadeOut(0.065)\n\n\tContinuous:\n\t\tD3PX G 1 Bright A_FadeOut(0.065)\n\t\tLoop\n    }\n}\n\nACTOR T3DBFGBoltExpB : T3DBFGBoltExp\n{\n\n  States\n  {\n    Spawn:\n    D3P1 A 4 Bright A_FadeOut(0.05)\n\tD3P1 B 4 Bright A_FadeOut(0.05)\n\tD3P1 C 4 Bright A_FadeOut(0.045)\n\tD3P1 D 4 Bright A_FadeOut(0.035)\n\tD3P1 E 4 Bright A_FadeOut(0.025)\n\tD3P1 F 4 Bright A_FadeOut(0.015)\n\tD3P1 G 4 Bright A_FadeOut(0.065)\nContinuous:\n\tD3P1 G 1 Bright A_FadeOut(0.065)\n\tLoop\n  }\n}\n\nACTOR T3DBFGBoltSmlExpB : T3DBFGBoltExpB\n{\n  Scale 0.5\n  States\n  {\n    Spawn:\n    TNT1 A 0\n\tTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n\tTNT1 A 0 A_PlaySound(\"Weapons/dbfgwave\", CHAN_AUTO)\n    D3P1 A 3 Bright A_FadeOut(0.05)\n\tD3P1 B 3 Bright A_FadeOut(0.05)\n\tD3P1 C 3 Bright A_FadeOut(0.045)\n\tD3P1 D 3 Bright A_FadeOut(0.035)\n\tD3P1 E 3 Bright A_FadeOut(0.025)\n\tD3P1 F 3 Bright A_FadeOut(0.015)\n\tD3P1 G 3 Bright A_FadeOut(0.065)\n  Continuous:\n\tD3P1 G 1 Bright A_FadeOut(0.065)\n\tLoop\n  Toaster:\n    TNT1 A 0\n\tStop\n  }\n}\n\nACTOR T3DBFGBoltLrgExpB : T3DBFGBoltExpB\n{\n  Scale 2.0\n}\n\nACTOR T3DBFGBoltExtLrgExpB : T3DBFGBoltExpB\n{\n  Scale 4.0\n}\n\nACTOR T3DBFGBoltExpC : T3DBFGBoltExp\n{\n\n  States\n  {\n    Spawn:\n    D3P2 A 4 Bright A_FadeOut(0.05)\n\tD3P2 B 4 Bright A_FadeOut(0.05)\n\tD3P2 C 4 Bright A_FadeOut(0.045)\n\tD3P2 D 4 Bright A_FadeOut(0.035)\n\tD3P2 E 4 Bright A_FadeOut(0.025)\n\tD3P2 F 4 Bright A_FadeOut(0.015)\n\tD3P2 G 4 Bright A_FadeOut(0.065)\nContinuous:\n\tD3P2 G 1 Bright A_FadeOut(0.065)\n\tLoop\n  }\n}\n\nACTOR T3DBFGBoltSmlExpC : T3DBFGBoltExpB\n{\n  Scale 0.5\n\n  States\n  {\n    Spawn:\n    TNT1 A 0\n\tTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")    D3P2 A 3 Bright A_FadeOut(0.05)\n\tD3P2 B 3 Bright A_FadeOut(0.05)\n\tD3P2 C 3 Bright A_FadeOut(0.045)\n\tD3P2 D 3 Bright A_FadeOut(0.035)\n\tD3P2 E 3 Bright A_FadeOut(0.025)\n\tD3P2 F 3 Bright A_FadeOut(0.015)\n\tD3P2 G 3 Bright A_FadeOut(0.065)\n  Continuous:\n\tD3P2 G 1 Bright A_FadeOut(0.065)\n\tLoop\n  Toaster:\n    TNT1 A 0\n\tStop\n  }\n}\n\nACTOR T3DBFGBoltLrgExpC : T3DBFGBoltExpC\n{\n  Scale 2.0\n}\n\nACTOR T3DBFGBoltExtLrgExpC : T3DBFGBoltExpC\n{\n  Scale 4.0\n}\n\nActor T3DBFG10kDeathParticleSpawner\n{\n  +NoClip\n  +NoBlockMap\n  +NoGravity\n  +Missile\n  States\n  {\n  Spawn:\n    TNT1 A 0\n\tTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, \"Toaster\")\n    TNT1 AAAAA 1 A_SpawnItemEx(\"T3DBFG10kDeathParticle\", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)\n    TNT1 AAAAA 0 A_SpawnItemEx(\"T3DBFG10kDeathParticle\", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)\n    TNT1 AAAAA 1 A_SpawnItemEx(\"T3DBFG10kDeathParticle\", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)\n    TNT1 AAAAA 0 A_SpawnItemEx(\"T3DBFG10kDeathParticle\", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)\n    TNT1 A 1\n    Stop\n  Toaster:\n    TNT1 A 0\n\tStop\n  }\n}\n\nActor T3DBFG10kDeathParticle\n{\n  Height 0\n  Radius 0\n  Mass 0\n  +Missile\n  +NoBlockMap\n  -NoGravity\n  +LowGravity\n  +DontSplash\n  +DoomBounce\n  BounceFactor 0.7\n  RenderStyle Add\n  Scale 0.04\n  States\n  {\n  Spawn:\n  Death:\n    SSKB A 2 Bright A_FadeOut(0.05)\n    Loop\n  }\n}\n\nACTOR T3DBFGRailgunSlug : ProjectileBullet\n{\n   Damage 8\n   Decal None\n   +RIPPER\n   +NOBOSSRIP\n   +BLOODLESSIMPACT\n   +NODAMAGETHRUST\n   +THRUSPECIES\n   -NOEXTREMEDEATH\n   States\n   {\n   Death:\n      TNT1 A 1\n      Stop\n\t  }\n}\n\nACTOR PlayerT3DBFGRailgunSlug : T3DBFGRailgunSlug\n{\n   DamageType \"PlayerDBFG2\"\n   Species \"Player\"\n}\n\n//\n\nActor T3DBFG10kShot : FastProjectile\n{\n  Height 1 // 8\n  Radius 1 // 11\n  Speed 200\n  Projectile\n  Renderstyle Add\n  Alpha 0.75\n  DeathSound \"Weapons/dbfgexplode2\"\n  Damage 75 // 100\n  DamageType \"DBFG10K2\"\n  +THRUSPECIES\n  //+MTHRUSPECIES\n  +NOEXTREMEDEATH\n  +ActivatePCross\n  +FORCEXYBILLBOARD\n  +ForceRadiusDmg\n  States\n  {\n  Spawn:\n    TRC5 A 1 Bright\n    Loop\n  Death:\n  XDeath:\n    TNT1 A 0 A_SpawnItemEx(\"T3DBFG10kDeathParticleSpawner\", 0, 0, 0, 0, 0, 0, 0, 128)\n    TNT1 A 0 A_SpawnItemEx(\"T3DBFGShotShockwave\", 0, 0, 0, 0, 0, 0, 0, 128)\n\tTNT1 A 0 A_Detonate\n    BG3X A 3 Bright A_SpawnItemEx(\"T3DBFGShotShockwaveDmg\", 16, 16)\n    BG3X B 3 Bright A_SpawnItemEx(\"T3DBFGShotShockwaveDmg\", -16, 16)\n\tBG3X C 3 Bright A_SpawnItemEx(\"T3DBFGShotShockwaveDmg\", 16, -16)\n\tBG3X D 3 Bright A_SpawnItemEx(\"T3DBFGShotShockwaveDmg\", -16, -16)\n\tBG3X E 3 Bright A_SpawnItemEx(\"T3DBFGShotShockwaveDmg\", 0, 0, 16)\n\tBG3X F 3 Bright A_SpawnItemEx(\"T3DBFGShotShockwaveDmg\", 0, 0, -16)\n    Stop\n  }\n}\n\nACTOR T3DBFGShotShockwaveDmg\n{\n+ForceRadiusDmg\n+NoDamageThrust\n+NoClip\n+NoBlockMap\nStates\n{\n  Spawn:\n    TNT1 A 0\n\tTNT1 A 1 A_Explode(32, 128, 0, 0, True)\n\tStop\n}\n}\n\nACTOR PlayerT3DBFG10kShot : T3DBFG10kShot\n{\n  Species \"Player\"\n  DamageType \"PlayerDBFG10K2\"\n  +FOILINVUL\n}\n\nACTOR T3DBFGBall : BFGBall\n{\n   Alpha 0.75\n   Scale 1.5\n   Speed 26\n   Radius 20\n   Height 40\n   Damage 100\n   Decal \"DBFGLightning\"\n   DeathSound \"Weapons/bfg27ex\"\n   DamageType \"DBFG2\"\n   SeeSound \"\"\n   +MTHRUSPECIES\n   +FORCERADIUSDMG\n   +NODAMAGETHRUST\n   +FOILINVUL\n   +RIPPER\n   States\n   {\n   Spawn:\n      TNT1 A 0\n      TNT1 A 0 A_Jump(128,\"SpawnSFX\")\n      TNT1 A 0 A_AlertMonsters\n\t  TNT1 A 0 A_PlaySound(\"Weapons/dbfgball\", CHAN_VOICE, 1.0, True)\n\n\t  TNT1 A 0 A_Jump(128, 2)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t  TNT1 A 0 A_Jump(256, 1)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n\n\t  Loop\n   \"SpawnSFX\":\n      TNT1 A 0 A_AlertMonsters\n\t  TNT1 A 0 A_PlaySound(\"Weapons/dbfgball\", CHAN_VOICE, 1.0, True)\n\n\t  TNT1 A 0 A_Jump(128, 2)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t  TNT1 A 0 A_Jump(256, 1)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n\t  Loop\n   Death:\n      TNT1 A 0\n\t  TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExp\")\n\t  //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpImpact\")\n\t  //TNT1 A 0 A_Explode(1024, 1024, 0, false, 256)\n      TNT1 A 0 A_Explode(256, 256, 0, false, 128)\n      TNT1 A 0 Bright A_Quake(4, 35*2, 0, 4096, none)\n\n\t  TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 384, 0, false, 128)\n\n\t  TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n\n\t  TNT1 A 8 Bright A_BFGSpray(\"T3DBFGExtra\", 40, 30)\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n\n\t  TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n\n      TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n\n      TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n      Stop\n   }\n}\n\nACTOR PlayerT3DBFGBall : T3DBFGBall\n{\nSpecies \"Player\"\nDamageType \"PlayerDBFG2\"\n\nStates\n{\n   Spawn:\n      TNT1 A 0\n      TNT1 A 0 A_Jump(128,\"SpawnSFX\")\n      TNT1 A 0 A_AlertMonsters\n\t  TNT1 A 0 A_PlaySound(\"Weapons/dbfgball\", CHAN_VOICE, 1.0, True)\n\n\t  TNT1 A 0 A_Jump(128, 2)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t  TNT1 A 0 A_Jump(256, 1)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n\n\t  Loop\n   \"SpawnSFX\":\n      TNT1 A 0 A_AlertMonsters\n\t  TNT1 A 0 A_PlaySound(\"Weapons/dbfgball\", CHAN_VOICE, 1.0, True)\n\n\t  TNT1 A 0 A_Jump(128, 2)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t  TNT1 A 0 A_Jump(256, 1)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n\n\t  TNT1 A 0 A_Explode(128, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n\t  Loop\n   Death:\n      TNT1 A 0\n\t  TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGBoltExp\")\n\t  //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpImpact\")\n\t  //TNT1 A 0 A_Explode(1024, 1024, 0, false, 256)\n      TNT1 A 0 A_Explode(256, 256, 0, false, 128)\n      TNT1 A 0 Bright A_Quake(4, 35*2, 0, 4096, none)\n\n\t  TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 384, 0, false, 128)\n\n\t  TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n\n\t  TNT1 A 8 Bright A_BFGSpray(\"PlayerT3DBFGExtra\", 40, 30)\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n\n\t  TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n\n      TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n\n      TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(256, 512, 0, false, 256)\n      Stop\n   }\n}\n\nACTOR PlayerT3DBFGBallx2 : PlayerT3DBFGBall\n{\nStates\n{\n   Spawn:\n      TNT1 A 0\n      TNT1 A 0 A_Jump(128,\"SpawnSFX\")\n      TNT1 A 0 A_AlertMonsters\n\t  TNT1 A 0 A_PlaySound(\"Weapons/dbfgball\", CHAN_VOICE, 1.0, True)\n\n\t  TNT1 A 0 A_Jump(128, 2)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t  TNT1 A 0 A_Jump(256, 1)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t  TNT1 A 0 A_Explode(256, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n\n\t  TNT1 A 0 A_Explode(256, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n\n\t  TNT1 A 0 A_Explode(256, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n\n\t  Loop\n   \"SpawnSFX\":\n      TNT1 A 0 A_AlertMonsters\n\t  TNT1 A 0 A_PlaySound(\"Weapons/dbfgball\", CHAN_VOICE, 1.0, True)\n\n\t  TNT1 A 0 A_Jump(128, 2)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpB\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\t  TNT1 A 0 A_Jump(256, 1)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltSmlExpC\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n\n\t  TNT1 A 0 A_Explode(256, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP A 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n\n\t  TNT1 A 0 A_Explode(256, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP B 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n\n\t  TNT1 A 0 A_Explode(256, 256, 0, false, 64)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n\t  D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n      TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGShockAttack\",0,0,0,0,0,0,0,SXF_SETMASTER)\n      D3PP C 1 Bright A_SpawnItemEx(\"T3DBFGBallTrail\", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, 128, 0)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticle\", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallParticleFloater\",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)\n      TNT1 A 0 A_SpawnItemEx(\"T3DBFGBallLightningBolt\",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)\n\t  Loop\n   Death:\n      TNT1 A 0\n\t  TNT1 A 0 A_SpawnItemEx(\"PlayerT3DBFGBoltExp\")\n\t  //TNT1 A 0 A_SpawnItemEx(\"T3DBFGBoltExpImpact\")\n\t  //TNT1 A 0 A_Explode(1024, 1024, 0, false, 256)\n      TNT1 A 0 A_Explode(512, 256, 0, false, 128)\n      TNT1 A 0 Bright A_Quake(4, 35*2, 0, 4096, none)\n\n\t  TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(512, 384, 0, false, 128)\n\n\t  TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(512, 512, 0, false, 256)\n\n\t  TNT1 A 8 Bright A_BFGSpray(\"PlayerT3DBFGExtra\", 40, 60)\n      TNT1 A 0 A_Explode(512, 512, 0, false, 256)\n\n\t  TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(512, 512, 0, false, 256)\n\n      TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(512, 512, 0, false, 256)\n\n      TNT1 A 8 Bright\n      TNT1 A 0 A_Explode(512, 512, 0, false, 256)\n      Stop\n   }\n}\n\nACTOR T3DBFGExtra\n{\n  +NOBLOCKMAP\n  +NOGRAVITY\n  RenderStyle Add\n  Alpha 0.75\n  DamageType \"DBFGSplash2\"\n  States\n  {\n  Spawn:\n    BG3E ABCD 8 Bright\n    Stop\n  }\n}\n\nACTOR PlayerT3DBFGExtra : T3DBFGExtra\n{\n  Species \"Player\"\n  DamageType \"PlayerDBFGSplash2\"\n}"
      },
      {
        "source": "pk3",
        "name": "actors/effects/rage.txt",
        "contents": "ACTOR RagingSmoke\n{\n+MISSILE\n+DONTSPLASH\n+NOBLOCKMAP\n+NOGRAVITY\n+NOTELEPORT\n+FORCEXYBILLBOARD\n+THRUACTORS\n+CLIENTSIDEONLY\nScale 0.3\nRenderStyle Add\nStates\n{\n  Spawn:\n    TNT1 A 0\n    TNT1 A 0 A_Jump(256, 1, 9, 17, 25, 33, 41)\n    FTF1 ABCDEFGH 2 bright A_FadeOut(0.1)\n    Stop\n    FTF2 ABCDEFGH 2 bright A_FadeOut(0.1)\n    Stop\n    FTF3 ABCDEFGH 2 bright A_FadeOut(0.1)\n    Stop\n    FTF4 ABCDEFGH 2 bright A_FadeOut(0.1)\n    Stop\n    FTF5 ABCDEFGH 2 bright A_FadeOut(0.1)\n    Stop\n    FTF6 ABCDEFGH 2 bright A_FadeOut(0.1)\n    Stop\n}\n}\n\nACTOR RagingSmoke2 : RagingSmoke\n{\nScale 0.4\n}\n\nACTOR RagingSmokeSpawner : T3BaseEffect\n{\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke\",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3))\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke2\",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3))\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke\",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3))\n    Stop\n  }\n}\n\nACTOR RagingSmokeSpawner2 : T3BaseEffect\n{\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 AA 0 A_SpawnItemEx(\"RagingSmoke\",random(24,-24),random(24,-24),random(12,64),0,0,random(1,3))\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke\",random(24,-24),random(24,-24),random(12,64),0,0,random(1,3))\n    TNT1 AA 0 A_SpawnItemEx(\"RagingSmoke2\",random(24,-24),random(24,-24),random(12,64),0,0,random(1,3))\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke2\",random(24,-24),random(24,-24),random(12,64),0,0,random(1,3))\n    TNT1 AA 0 A_SpawnItemEx(\"RagingSmoke\",random(24,-24),random(24,-24),random(12,64),0,0,random(1,3))\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke\",random(24,-24),random(24,-24),random(12,64),0,0,random(1,3))\n    Stop\n  }\n}\n\nACTOR LargeRagingSmokeSpawner : RagingSmokeSpawner\n{\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke\",random(48,-48),random(48,-48),random(16,96),0,0,random(2,6))\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke2\",random(48,-48),random(48,-48),random(16,96),0,0,random(1,3))\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke\",random(48,-48),random(48,-48),random(16,96),0,0,random(1,3))\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke2\",random(48,-48),random(48,-48),random(16,96),0,0,random(1,3))\n    TNT1 A 1 A_SpawnItemEx(\"RagingSmoke\",random(48,-48),random(48,-48),random(16,96),0,0,random(2,6))\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/effects/cybrrail.txt",
        "contents": "ACTOR BlueCyberRail : FastProjectile\n{\nRadius 6\nHeight 6\nSpeed 300\nDamage (Random(60,80))\nScale 1.26\nDeathSound \"CyberRail/Hit\"\nMissileType \"BlueCyberRailTrail\"\nSpecies \"Cybers\"\n+RIPPER\n+THRUSPECIES\n+EXTREMEDEATH\n+BLOODLESSIMPACT\nStates\n{\nSpawn:\n    TNT1 A 1\n    Loop\nDeath:\n\tTNT1 A 1\n\tStop\n\t}\n}\n\nACTOR BlueCyberRailTrail\n{\nRenderStyle Add\n+CLIENTSIDEONLY\n+NOBLOCKMAP\n+DONTSPLASH\n+NOCLIP\n+NOINTERACTION\n+THRUACTORS\nScale 1\nStates\n{\nSpawn:\n\tTNT1 A 0\n\tBCRL ABCDEFGHIJKLMNOP 2 A_FadeOut(0.04)\n\tStop\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/effects/lasers.txt",
        "contents": "Actor LaserBeam : FastProjectile\n{\n  Radius 1\n  Height 1\n  Scale 1.0\n  Speed 200\n  Damage 15\n  Renderstyle Add\n  Decal DoomImpScorch\n  SeeSound \"\"\n  -CANNOTPUSH\n  -NODAMAGETHRUST\n  +THRUSPECIES\n  +NOEXTREMEDEATH\n  +RIPPER\n\n  States\n  {\n    Spawn:\n\t  TNT1 A 0\n\t  //TNT1 A 0 A_PlaySound(\"Laser/Beam\", CHAN_AUTO|CHAN_NOPAUSE)\n\t  TRC5 A 1\n\t  Loop\n    Death:\n      TNT1 A 0\n\t  TNT1 A 0 Radius_Quake(6, 6, 0, 12, 0)\n\t  TNT1 A 0 A_Explode(32, 64, 0, False, 32)\n\t  TNT1 A 0 A_SpawnItemEx(\"T3BlueLaserFlare\")\n      T3FS ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.06)\n      Stop\n  }\n}\n\nACTOR T3BlueLaserFlare : T3BaseEffect\n{\nScale 0.5\nAlpha 1.0\nRenderstyle Add\n\nStates\n{\n  Spawn:\n    TNT1 A 0\n    B3FL A 2 Bright\n  Continuous:\n    B3FL A 1 Bright A_FadeOut(0.05)\n    Loop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/items/ammo.txt",
        "contents": "ACTOR StandardBackpack : BackpackItem\n{\nHeight 26\nInventory.PickupMessage \"\"\nStates\n{\n  Spawn:\n    BPAK A -1\n    Stop\n}\n}\n\nACTOR ArkBackpack : CustomInventory\n{\n  -INVENTORY.ALWAYSPICKUP\n  Height 36\n  Inventory.PickupMessage \"You picked up a reinforcement backpack!\"\n  States\n  {\n  Pickup:\n    TNT1 A 0 A_GiveInventory(\"StandardBackpack\", 1)\n    TNT1 A 0 A_GiveInventory(\"ArmorBonus\", 1)\n    TNT1 A 0 A_GiveInventory(\"ArmorBonus\", 1)\n    TNT1 A 0 A_GiveInventory(\"ArmorBonus\", 1)\n    TNT1 A 0 A_GiveInventory(\"ArmorBonus\", 1)\n    TNT1 A 0 A_GiveInventory(\"ArmorBonus\", 1)\n    TNT1 A 0 A_GiveInventory(\"HealthBonus\", 10)\n    Stop\n  Spawn:\n    ABPK ABCD 4\n    Loop\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.