fartyguns_test_version.pk3

PK3 101 MiB 0 map(s)

Counts

endoom0
graphics0
lumps1674
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "08788205-76fe-4d6a-9705-a4a4a015c6ef",
    "sha1": "0ea62342d1c2178629d8d890a85d483830149e9f",
    "sha256": "6f808509f8462579e7ab0b218727622bac95f246f41e01f408ea3e02c17c9d58",
    "filenames": [
      "fartyguns_test_version.pk3"
    ],
    "additional": {
      "engines": [],
      "iwad": [],
      "filename": null,
      "added": "2022/01/09 11:55:57",
      "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": "2022/01/09 11:55:57",
    "file": {
      "type": "PK3",
      "size": 106289950,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/0ea62342d1c2178629d8d890a85d483830149e9f/0ea62342d1c2178629d8d890a85d483830149e9f.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 1674,
        "maps": 0,
        "palettes": 0
      }
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "Decorate/Ammo.txt",
        "contents": "ACTOR FartCell : Ammo replaces Cell\n{\n  +COUNTITEM\n  Inventory.PickupMessage \"$GOTCELL\" // \"Picked up an energy cell.\"\n  Inventory.Amount 40\n  Inventory.MaxAmount 600\n  Ammo.BackpackAmount 40\n  Ammo.BackpackMaxAmount 1200\n  Inventory.Icon \"CELLA0\"\n  States\n  {\n  Spawn:\n    CELL A -1\n    Stop\n  }\n}\n\nACTOR FartClip : Ammo replaces Clip\n{\n  +COUNTITEM\n  Inventory.PickupMessage \"$GOTCLIP\" // \"Picked up a clip.\"\n  Inventory.Amount 20\n  Inventory.MaxAmount 400\n  Ammo.BackpackAmount 20\n  Ammo.BackpackMaxAmount 800\n  Inventory.Icon \"CLIPA0\"\n  States\n  {\n  Spawn:\n    CLIP A -1\n    Stop\n  }\n}\n\nactor Gasoline : Ammo\n{\n\tInventory.Amount 60\n\tInventory.MaxAmount 400\n\tAmmo.BackpackAmount 60\n\tAmmo.BackpackMaxAmount 800\n\tInventory.Icon \"JRYCA0\"\n}\n\nACTOR FartRocketAmmo : Ammo\n{\n  +COUNTITEM\n  Inventory.PickupMessage \"$GOTROCKET\" // \"Picked up a rocket.\"\n  Inventory.Amount 2\n  Inventory.MaxAmount 100\n  Ammo.BackpackAmount 2\n  Ammo.BackpackMaxAmount 200\n  Inventory.Icon \"ROCKA0\"\n  States\n  {\n  Spawn:\n    ROCK A -1\n    Stop\n  }\n}\n\nACTOR FartShell : Ammo replaces Shell\n{\n  +COUNTITEM\n  Inventory.PickupMessage \"Picked up some shells.\" // \"Picked up 4 shotgun shells.\"\n  Inventory.Amount 8\n  Inventory.MaxAmount 100\n  Ammo.BackpackAmount 8\n  Ammo.BackpackMaxAmount 200\n  Inventory.Icon \"SHELA0\"\n  States\n  {\n  Spawn:\n    SHEL A -1\n    Stop\n  }\n}\n\nactor DinnerAmmo : Ammo\n{\n\tInventory.Amount 2\n\tInventory.MaxAmount 200\n\tAmmo.BackpackAmount 2\n\tAmmo.BackpackMaxAmount 400\n}\n\n/////////////\n// PICKUPS\n/////////////\n\nACTOR FartShellBox : FartShell replaces Shellbox\n{\n  Inventory.PickupMessage \"$GOTSHELLBOX\" // \"Picked up a box of shotgun shells.\"\n  Inventory.Amount 40\n  States\n  {\n  Spawn:\n    SBOX A -1\n    Stop\n  }\n}\n\nACTOR FartRocketBox : FartRocketAmmo\n{\n  Inventory.PickupMessage \"$GOTROCKBOX\" // \"Picked up a box of rockets.\"\n  Inventory.Amount 10\n  States\n  {\n  Spawn:\n    BROK A -1\n    Stop\n  }\n}\n\nACTOR FartClipBox : FartClip replaces ClipBox\n{\n  Inventory.PickupMessage \"$GOTCLIPBOX\" // \"Picked up a box of bullets.\"\n  Inventory.Amount 100\n  States\n  {\n  Spawn:\n    AMMO A -1\n    Stop\n  }\n}\n\nactor RocketBoxSpawner : RandomSpawner replaces RocketBox\n{\n\tDropItem \"FartRocketBox\", 255, 3\n\tDropItem \"BigSpraycanPickup\", 255, 1\n}\n\nactor RocketAmmoSpawner : RandomSpawner replaces RocketAmmo\n{\n\tDropItem \"FartRocketAmmo\", 255, 3\n\tDropItem \"SpraycanPickup\", 255, 1\n}\n\nACTOR FartCellPack : FartCell replaces CellPack\n{\n  Inventory.PickupMessage \"$GOTCELLBOX\" // \"Picked up an energy cell pack.\"\n  Inventory.Amount 100\n  States\n  {\n  Spawn:\n    CELP A -1\n    Stop\n  }\n}\n\nactor SpraycanPickup : CustomInventory\n{\n\t+COUNTITEM\n\tInventory.PickupMessage \"Acquired a spray can.\"\n\tScale 0.75\n\tInventory.MaxAmount 0\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSPRA A -1\n\t\t\tStop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"SpraycanWeapon\", 1, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 4)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Gasoline\", 0, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 2)\n\t\t\tTNT1 A 0 A_RailWait\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"Gasoline\", 40)\n\t\t\tTNT1 A 0 A_GiveInventory(\"SpraycanWeapon\")\n\t\t\tTNT1 A 0\n\t\t\tstop\n\t}\n}\n\nactor BigSpraycanPickup : SpraycanPickup\n{\n\tInventory.PickupMessage \"Vacuumed up a bunch of spray cans.\"\n\tScale 0.75\n\tInventory.MaxAmount 0\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSPRA B -1\n\t\t\tStop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"SpraycanWeapon\", 1, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 4)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Gasoline\", 0, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 2)\n\t\t\tTNT1 A 0 A_RailWait\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"Gasoline\", 120)\n\t\t\tTNT1 A 0 A_GiveInventory(\"SpraycanWeapon\")\n\t\t\tTNT1 A 0\n\t\t\tstop\n\t}\n}\n\n/////////////\n// CLIPS\n/////////////\n\nactor PistolClip : Ammo\n{\n inventory.amount 0\n inventory.maxamount 20\n ammo.backpackamount 0\n ammo.backpackmaxamount 20\n}\n\nactor PistolClip2 : Ammo\n{\n inventory.amount 0\n inventory.maxamount 20\n ammo.backpackamount 0\n ammo.backpackmaxamount 20\n}\n\nactor FartRifleCounter : Ammo\n{\n\tinventory.amount 0\n\tinventory.maxamount 100\n\tAmmo.Backpackamount 0\n\tAmmo.backpackmaxamount 100\n}\n\nactor SGClip : Ammo\n{\n inventory.amount 6\n inventory.maxamount 6\n Ammo.Backpackamount 0\n Ammo.backpackmaxamount 6\n}\n\nactor UziClip : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 30\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 30\n}\n\nactor RailgunClip : Ammo\n{\n inventory.amount 0\n inventory.maxamount 40\n ammo.backpackamount 0\n ammo.backpackmaxamount 40\n}\n\nactor SpraycanThrowForce : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 100\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 100\n}\n\nactor RiotGunClip : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 8\n\tAmmo.Backpackamount 0\n\tAmmo.BackpackMaxAmount 8\n}\n\nactor FlamethrowerClip : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 60\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 60\n}\n\nactor GM94Clip : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 4\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 4\n}"
      },
      {
        "source": "pk3",
        "name": "Decorate/Character.txt",
        "contents": "ACTOR Marine: Doomplayer Replaces Doomplayer\n{\n  Player.StartItem \"PlayerBriber\", 1\n  Player.StartItem \"PlayerFarter\", 1\n  Player.StartItem \"PlayerKARQuoter\", 1\n  Player.StartItem \"FartPistol\"\n  Player.StartItem \"Fist2\"\n  player.startitem \"pimpslap\"\n  Player.StartItem \"FartClip\", 20\n  Player.StartItem \"PistolClip\", 20\n  Player.StartItem \"UziClip\", 15\n  Player.StartItem \"SSGClip\", 2\n  Player.StartItem \"SSGStep\", 1\n  Player.StartItem \"SGClip\", 4\n  Player.StartItem \"RiotGunClip\", 4\n  Player.StartItem \"RailgunClip\", 20\n  Player.StartItem \"FlamethrowerClip\", 30\n  Player.StartItem \"GM94Clip\", 2\n  Player.StartItem \"BribeWeapon\"\n  States\n  {\n\tPain.Fart:\n\t\tPLAY G 4\n\t\tPLAY G 4 A_PlaySoundEx(\"player/cough\", \"Voice\")\n\t\tGoto Spawn\n\tDeath.Fart:\n\t\tPLAY H 0 A_PlayerSkinCheck(\"AltSkinDeathFart\")\n\tDeath1Fart:\n\t\tPLAY H 10\n\t\tPLAY I 10 A_PlaySoundEx(\"player/choke\", \"Voice\")\n\t\tPLAY J 10 A_NoBlocking\n\t\tPLAY KLM 10\n\t\tPLAY N -1\n\t\tStop\n\tAltSkinDeathFart:\n\t\tPLAY H 6\n\t\tPLAY I 6 A_PlaySoundEx(\"player/choke\", \"Voice\")\n\t\tPLAY JK 6\n\t\tPLAY L 6 A_NoBlocking\n\t\tPLAY MNO 6\n\t\tPLAY P -1\n\t\tStop\n  }\n}\n\nactor MonkeyPlayer : PlayerPawn\n{\n\tSpeed 1\n\tHealth 500\n\tRadius 16\n\tHeight 56\n\tMass 100\n\tPainChance 255\n\t+NOSKIN\n\tPlayer.DisplayName \"Monkey\"\n\tPlayer.CrouchSprite \"PL1C\"\n\tPlayer.ForwardMove 1.22, 1.22\n\tPlayer.SideMove 1.22, 1.22\n\tPlayer.SpawnClass \"Monkey\"\n\tPlayer.SoundClass \"Monkey\"\n\tPlayer.DisplayName \"Monkey\"\n\tPlayer.MorphWeapon \"Fist2\"\n\tPlayer.Face \"STM\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tPLA1 A -1\n\t\t\tStop\n\t\tSee:\n\t\t\tPLA1 ABCD 3\n\t\t\tloop\n\t\tMelee:\n\t\tMissile:\n\t\t\tPLA1 EF 6\n\t\t\tGoto Spawn\n\t\tPain:\n\t\t\tPLA1 G 4\n\t\t\tPLA1 G 4 A_PlaySound(\"monkey/pain\", CHAN_VOICE)\n\t\t\tGoto Spawn\n\t\tDeath:\n\t\t\tPLA1 H 10\n\t\t\tPLA1 I 10 A_PlaySound(\"monkey/death\", CHAN_VOICE)\n\t\t\tPLA1 J 10 A_NoBlocking\n\t\t\tPLA1 KLM 10\n\t\t\tPLA1 N -1\n\t\t\tstop\n\t\tXDeath:\n\t\t\tPLA1 O 5\n\t\t\tPLA1 P 5 A_XScream\n\t\t\tPLA1 Q 5 A_NoBlocking\n\t\t\tPLA1 RSTUV 5\n\t\t\tPLA1 W -1\n\t\t\tstop\n\t}\n}\n\nactor HealthbarPuff\n{\n\t-SOLID\n\t+PUFFONACTORS\n\t+PUFFGETSOWNER\n\t+HITTRACER\n\t+BLOODLESSIMPACT\n\t+NODECAL\n\t+NOGRAVITY\n\t+NODAMAGETHRUST\n\t+NOTRIGGER\n\t+DONTREFLECT\n\tStates\n\t{\n\t\tXDeath:\n\t\tSpawn:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 ACS_NamedExecute(\"DrawEnemyHealthbar\", 0, 0, 0, 0)\n\t\tTNT1 A 2 bright\n\t\tstop\n\t\tCrash:\n\t\tTNT1 A 2 bright\n\t\tstop\n\t}\n}\n\nactor BribeSuccess : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor EnemyBriber : CustomInventory\n{\n\t+ALWAYSPICKUP\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_ChangeFlag(\"FRIENDLY\", true)\n\t\t\tstop\n\t}\n}\n\nactor BribedEffect\n{\n\t-SOLID\n\t+NOBLOCKMAP\n\t+NOTELEPORT\n\t-NOGRAVITY\n\t+CORPSE\n\tgravity 0.15\n\tscale 0.3\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tMONI ABC 6\n\t\t\tloop\n\t\tCrash:\n\t\t\tMONI B 35\n\t\t\tstop\n\t}\n}\n\nactor BribedFollower\n{\n\t-SOLID\n\t+NOBLOCKMAP\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 8 A_SpawnItemEx(\"BribedEffect\", frandom(-6, 6), frandom(-6, 6), 42, frandom(-3, 3), frandom(-3, 3), 0)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TRACER)\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"RemoveFollowerCheck\", 0, 0, 0, 0)\n\t\t\tloop\n\t}\n}\n\nactor BribePuff\n{\n\t+PUFFONACTORS\n\t+PUFFGETSOWNER\n\t+HITTRACER\n\t+FORCEPAIN\n\t+BLOODLESSIMPACT\n\t+NOBLOCKMAP\n\t+NODECAL\n\t+NOGRAVITY\n\t+NODAMAGETHRUST\n\t+NOTRIGGER\n\t+DONTREFLECT\n\tStates\n\t{\n\t\tXDeath:\n\t\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"TryBribe\",0,0,0,0) == 1, 2)\n\t\t//TNT1 A 0 A_GiveToTarget(\"BribeHit\", 1)\n\t\tTNT1 A 2\n\t\tstop\n\t\tTNT1 A 0 A_PlaySound(\"player/burp\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"BribedFollower\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"BribedEffect\", 0, 0, 0, frandom(-6, 6), frandom(-6, 6), frandom(-6, 6))\n\t\tstop\n\t\tCrash:\n\t\tTNT1 A 1\n\t\tstop\n\t}\n}\n\nactor BribeWeapon : Fartygun\n{\n\tWeapon.SelectionOrder 9000\n\tStates\n\t{\n\t\tSelect:\n\t\t\tGIVM A 0\n\t\t\tGIVM A 0 A_PlaySound(\"player/bribe\", CHAN_VOICE)\n\t\tActualSelect:\n\t\t\tGIVM A 0 A_Raise\n\t\t\tGIVM A 1 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tGIVM A 0 A_Lower\n\t\t\tloop\n\t\tSpawn:\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t\tReady:\n\t\t\t//GIVM A 1 A_WeaponReady(WRF_NOSWITCH | WRF_NOFIRE)\n\t\t\tGIVM A 0\n\t\t\tGIVM A 0 A_FireBullets(0, 0, 1, 0, \"BribePuff\", 0, 80)\n\t\t\tGIVM A 2 A_WeaponReady(WRF_NOSWITCH | WRF_NOFIRE)\n\t\t\tGIVM A 0 A_JumpIfInventory(\"BribeSuccess\",1,\"MoneyGiven\")\n\t\tMoneyNotGiven:\n\t\t\tGIVM A 4 A_WeaponReady(WRF_NOFIRE)\n\t\t\tGIVM A 0 ACS_NamedExecute(\"SwitchToSavedWeapon\")\n\t\t\tloop\n\t\tMoneyGiven:\n\t\t\tGIVM B 0 A_TakeInventory(\"BribeSuccess\")\n\t\t\tGIVM B 6 A_WeaponReady(WRF_NOFIRE)\n\t\t\tGIVM B 0 ACS_NamedExecute(\"SwitchToSavedWeapon\")\n\t\t\tloop\n\t\tFire:\n\t\t\tGIVM A 0\n\t\t\tGoto Ready\n\t}\n}\n\nactor PlayerBriber : CustomInventory\n{\n\tinventory.amount 1\n\tinventory.interhubamount 1\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t\tUse:\n\t\t\tTNT1 A 0\n\t\t\t//TNT1 A 0 A_PlaySound(\"player/burp\")\n\t\t\t//TNT1 A 0 A_FireBullets(0, 0, 1, 0, \"BribePuff\", 0, 80)\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"SwitchToBribe\", 0, 0, 0, 0)\n\t\t\tTNT1 A 1\n\t\t\tfail\n\t}\n}\n\nactor PlayerFartCharge : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 100\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 100\n}\n\nactor PlayerFart1\n{\n\t-SOLID\n\t+NOGRAVITY\n\t+NOBLOCKMAP\n\tvar int user_counter;\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", 0)\n\t\tSpawn1:\n\t\t\tBAL1 A 0 A_Quake(3, 5, 0, 256)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 2 A_SpawnItemEx(\"FartCloudSmall\", 0, 0, 5, frandom(-2, -4), frandom(-1, 1), frandom(-1, 1))\n\t\t\tBAL1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tBAL1 A 0 A_JumpIf(user_counter > 3, \"End\")\n\t\t\tloop\n\t\tEnd:\n\t\t\tTNT1 A 25\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"PlayerQuoteKARFromFarter\")\n\t\t\tTNT1 A 60\n\t\t\tStop\n\t}\n}\n\nactor PlayerFart2 : PlayerFart1\n{\n\tvar int user_counter;\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", 0)\n\t\tSpawn1:\n\t\t\tBAL1 A 0 A_Quake(4, 3, 0, 256)\n\t\t\tBAL1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 3 A_SpawnItemEx(\"FartCloudMedium\", 0, 0, 5, frandom(-2, -4), frandom(-1, 1), frandom(-1, 1))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 20, \"Spawn2\")\n\t\t\tloop\n\t\tSpawn2:\n\t\t\tTNT1 A 10\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", 0)\n\t\tSpawn3:\n\t\t\tTNT1 A 0 A_Quake(7, 4, 0, 256)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"FartCloud\", 0, 0, 5, frandom(-3, -7), frandom(-1, 1), frandom(-1, 1))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 4, \"End\")\n\t\t\tLoop\n\t}\n}\n\nactor PlayerFart3 : PlayerFart1\n{\n\tvar int user_counter;\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", 0)\n\t\tSpawn1:\n\t\t\tTNT1 A 0 A_Quake(6, 4, 0, 256)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 3 A_SpawnItemEx(\"FartCloudMedium\", 0, 0, 5, frandom(-4, -8), frandom(-2, 2), frandom(-2, 2))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 20, \"Spawn2\")\n\t\t\tloop\n\t\tSpawn2:\n\t\t\tTNT1 A 10\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", 0)\n\t\tSpawn3:\n\t\t\tTNT1 A 0 A_Quake(8, 4, 0, 256)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 4 A_SpawnItemEx(\"FartCloud\", 0, 0, 5, frandom(-4, -8), frandom(-2, 2), frandom(-2, 2))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 15, \"End\")\n\t\t\tloop\n\t}\n}\n\nactor PlayerFart4 : PlayerFart1\n{\n\tvar int user_counter;\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", 0)\n\t\tSpawn1:\n\t\t\tTNT1 A 0 A_Quake(3, 6, 0, 256)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 5 A_SpawnItemEx(\"FartCloudMedium\", 0, 0, 16, frandom(-3, -5), frandom(-2, 2), frandom(-2, 2))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 9, \"Spawn2\")\n\t\t\tloop\n\t\tSpawn2:\n\t\t\tTNT1 A 0 A_Quake(5, 5, 0, 256)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 4 A_SpawnItemEx(\"FartCloudMedium\", 0, 0, 16, frandom(-4, -8), frandom(-2, 2), frandom(-2, 2))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 22, \"Spawn3\")\n\t\t\tloop\n\t\tSpawn3:\n\t\t\tTNT1 A 0 A_Quake(8, 3, 0, 256)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 2 A_SpawnItemEx(\"FartCloudMedium\", 0, 0, 16, frandom(-5, -10), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 52, \"Spawn4\")\n\t\t\tloop\n\t\tSpawn4:\n\t\t\tTNT1 A 0 A_Quake(9, 2, 0, 256)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 5 A_SpawnItemEx(\"FartCloud\", 0, 0, 16, frandom(-5, -12), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 57, \"Spawn5\")\n\t\t\tloop\n\t\tSpawn5:\n\t\t\tTNT1 A 0 A_Quake(3, 2, 0, 35)\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"FartCloud\", 0, 0, 16, frandom(-5, -9), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 82, \"End\")\n\t\t\tloop\n\t}\n}\n\nactor PlayerFart5 : PlayerFart1\n{\n\tvar int user_counter;\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", 0)\n\t\tSpawn1:\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 0 A_Quake(5, 4, 0, 256)\n\t\t\tTNT1 A 3 A_SpawnItemEx(\"FartCloud\", 0, 0, 16, frandom(-6, -11), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 14, \"Spawn2\")\n\t\t\tloop\n\t\tSpawn2:\n\t\t\tTNT1 A 9\n\t\tSpawn3:\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 0 A_Quake(7, 4, 0, 256)\n\t\t\tTNT1 A 3 A_SpawnItemEx(\"FartCloud\", 0, 0, 16, frandom(-6, -11), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 40, \"Spawn4\")\n\t\t\tloop\n\t\tSpawn4:\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 0 A_Quake(7, 3, 0, 256)\n\t\t\tTNT1 A 5 A_SpawnItemEx(\"FartCloud\", 0, 0, 16, frandom(-6, -11), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 45, \"Spawn5\")\n\t\t\tloop\n\t\tSpawn5:\n\t\t\tTNT1 A 18\n\t\tSpawn6:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 0 A_Quake(9, 3, 0, 256)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"FartCloud\", 0, 0, 16, frandom(-6, -11), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 31\n\t\tSpawn7:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 0 A_Quake(9, 3, 0, 256)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"FartCloud\", 0, 0, 16, frandom(-6, -11), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 38\n\t\tSpawn8:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 0 A_Quake(9, 3, 0, 256)\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"FartCloud\", 0, 0, 16, frandom(-6, -11), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 41\n\t\tSpawn9:\n\t\t\tTNT1 A 0 A_Warp(AAPTR_TARGET)\n\t\t\tTNT1 A 0 A_Quake(9, 2, 0, 256)\n\t\t\tTNT1 A 4 A_SpawnItemEx(\"FartCloud\", 0, 0, 16, frandom(-6, -11), frandom(-4, 4), frandom(-4, 4))\n\t\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tTNT1 A 0 A_JumpIf(user_counter > 70, \"End\")\n\t\t\tloop\n\t}\n}\n\nactor PlayerFarter : CustomInventory\n{\n\tTag \"Farter\"\n\tinventory.maxamount 1\n\tInventory.interhubamount 1\n\tinventory.icon \"FOGSA0\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 1\n\t\t\tStop\n\t\tUse:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PlayerFartCharge\", 100, \"Fart5\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PlayerFartCharge\", 75, \"Fart4\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PlayerFartCharge\", 50, \"Fart3\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PlayerFartCharge\", 25, \"Fart2\")\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PlayerFartCharge\", 10, \"Fart1\")\n\t\t\tfail\n\t\tFart1:\n\t\t\tTNT1 A 0 A_PlaySoundEx(\"player/fart1\", CHAN_VOICE)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"PlayerFart1\", 0, 0, 0, 0, 0, 0, 0, SXF_SETMASTER)\n\t\t\tTNT1 A 0 A_TakeInventory(\"PlayerFartCharge\", 100)\n\t\t\tfail\n\t\tFart2:\n\t\t\tTNT1 A 0 A_Quake(4, 16, 0, 1)\n\t\t\tTNT1 A 0 A_PlaySoundEx(\"player/fart2\", CHAN_VOICE)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"PlayerFart2\", 0, 0, 0, 0, 0, 0, 0, SXF_SETMASTER)\n\t\t\tTNT1 A 0 A_TakeInventory(\"PlayerFartCharge\", 100)\n\t\t\tfail\n\t\tFart3:\n\t\t\tTNT1 A 0 A_PlaySoundEx(\"player/fart3\", CHAN_VOICE)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"PlayerFart3\", 0, 0, 0, 0, 0, 0, 0, SXF_SETMASTER)\n\t\t\tTNT1 A 0 A_TakeInventory(\"PlayerFartCharge\", 100)\n\t\t\tfail\n\t\tFart4:\n\t\t\tTNT1 A 0 A_PlaySoundEx(\"player/fart4\", CHAN_VOICE)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"PlayerFart4\", 0, 0, 0, 0, 0, 0, 0, SXF_SETMASTER)\n\t\t\tTNT1 A 0 A_TakeInventory(\"PlayerFartCharge\", 100)\n\t\t\tfail\n\t\tFart5:\n\t\t\tTNT1 A 0 A_PlaySoundEx(\"player/fart5\", CHAN_VOICE)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"PlayerFart5\", 0, 0, 0, 0, 0, 0, 0, SXF_SETMASTER)\n\t\t\tTNT1 A 0 A_TakeInventory(\"PlayerFartCharge\", 100)\n\t\t\tfail\n\t}\n}\n\nactor PlayerKARQuoter : CustomInventory\n{\n\tTag \"King Ass Ripper Quoter\"\n\tinventory.amount 1\n\tinventory.interhubamount 1\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 1\n\t\t\tStop\n\t\tUse:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySoundEx(\"player/karquote\", CHAN_VOICE)\n\t\t\tFail\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "Decorate/Effects.txt",
        "contents": "actor NewBlood : Blood replaces Blood\n{\n game Doom\n States\n {\n Spawn:\n BLUD A 0\n BLUD AAAAAAA 0 A_SpawnItemEx(\"Flyingblood\",0,0,0,random(1,7),random(1,7),random(1,10),random(-180,180),129,200)\n BLUD CBA 3\n stop\n }\n}\n\nactor NewBloodSplatter : NewBlood replaces BloodSplatter { }\n\nactor NewBloodLite : NewBlood\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\tBLUD AA 0 A_SpawnItemEx(\"FlyingbloodLite\",0,0,0,random(1,7),random(1,7),random(1,10),random(-180,180),129,200)\n\t\tBLUD CBA 3\n\t\tstop\n\t}\n}\n\nactor FlyingBlood\n{\nScale 0.7\nHealth 1\nRadius 4\nHeight 1\nMass 1\ngravity 0.8\nRenderstyle Translucent\n-NOGRAVITY\n+CORPSE\n+NOTELEPORT\n+NOBLOCKMAP\n+NOBLOCKMONST\n+DOOMBOUNCE\n+CLIENTSIDEONLY\nReactionTime 80\nbouncefactor 0.2\nbouncecount 2\nStates\n{\nSpawn:\nBLUD C 0 A_CountDown\nBLUD C 1 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,0)\nloop\nCrash:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"Bloodspot\",0,0,0,0,0,0,0,129,0)\nTNT1 A 0 A_PlaySound(\"blood/splat\")\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,random(-2,2),random(-2,2),random(1,3),random(-180,180),129,60)\nstop\n}\n}\n\nactor FlyingBloodLite : FlyingBlood\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\tBLUD C 0 A_CountDown\n\t\tBLUD C 1 A_SpawnItemEx(\"FlyingBloodTrailLite\",0,0,0,0,0,0,0,129,0)\n\t\tloop\n\t\tCrash:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"Bloodspot\",0,0,0,0,0,0,0,129,0)\n\t\tTNT1 A 0 A_Playsound(\"blood/splat\")\n\t\tstop\n\t}\n}\n\nactor BloodSpot\n{\n Game Doom\n Radius 1\n Height 1\n Mass 1\n Scale 1\n RenderStyle Translucent\n +NOTELEPORT\n -NOBLOCKMAP\n +CORPSE\n +CLIENTSIDEONLY\n States\n {\n Spawn:\n  BLUD A 0 A_ChangeFlag(\"NOGRAVITY\",0)\n  BLUD DDEEFG 60\n  BLUD GGGGG 1 A_FadeOut\n  Stop\n }\n}\n\nactor Flyingbloodtrail\n{\n Scale 0.5\n Health 1\n Radius 1\n Height 1\n Mass 1\n gravity 0.3\n renderstyle Translucent\n -NOGRAVITY\n +NOTELEPORT\n +NOBLOCKMAP\n +CORPSE\n +RANDOMIZE\n +CLIENTSIDEONLY\n States\n {\n Spawn:\n BLUD CCBA 4\n Stop\n Crash:\n BLUD D 0 A_Stop\n BLUD D 0 A_ChangeFlag(\"NOGRAVITY\",0)\n BLUD DEFG 50\n BLUD GGGGGGGG 1 A_FadeOut\n Stop\n }\n}\n\nactor FlyingBloodTrailLite : FlyingBloodTrail\n{\n\tStates\n\t{\n\t\tCrash:\n\t\tBLUD G 0\n\t\tStop\n\t}\n}\n\nactor Giblet1 : FlyingBlood\n{\n\tScale 1\n\tStates\n\t{\n\t\tSpawn:\n\t\tGIBL AABBCCDD 1 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,32,0)\n\t\tLoop\n\t\tCrash:\n\t\tGIBL A 0 A_Stop\n\t\tGIBL A 0 A_ChangeFlag(\"NOGRAVITY\", 0)\n\t\tTNT1 A 0 A_PlaySound(\"gib/splat\")\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,random(-2,2),random(-2,2),random(1,3),random(-180,180),129,60)\n\t\tGoto CrashLoop\n\t\tCrashLoop:\n\t\tGIBL A 10 A_CountDown\n\t\tLoop\n\t}\n}\n\nactor Giblet2 : Giblet1\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\tGIBL EEFFGGHH 1 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,32,0)\n\t\tLoop\n\t\tCrash:\n\t\tGIBL A 0 A_Stop\n\t\tGIBL A 0 A_ChangeFlag(\"NOGRAVITY\", 0)\n\t\tTNT1 A 0 A_PlaySound(\"gib/splat\")\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,random(-2,2),random(-2,2),random(1,3),random(-180,180),129,60)\n\t\tGoto CrashLoop\n\t\tCrashLoop:\n\t\tGIBL E 10 A_CountDown\n\t\tLoop\n\t}\n}\n\nactor Giblet3 : Giblet1\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\tGIBL JJKKLLMM 1 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,32,0)\n\t\tLoop\n\t\tCrash:\n\t\tGIBL A 0 A_Stop\n\t\tGIBL A 0 A_ChangeFlag(\"NOGRAVITY\", 0)\n\t\tTNT1 A 0 A_PlaySound(\"gib/splat\")\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,random(-2,2),random(-2,2),random(1,3),random(-180,180),129,60)\n\t\tGoto CrashLoop\n\t\tCrashLoop:\n\t\tGIBL I 10 A_CountDown\n\t\tLoop\n\t}\n}\n\nactor CacoGib1 : Giblet1\n{\n\tBloodColor \"Blue\"\n\tStates\n\t{\n\t\tSpawn:\n\t\tCACG AABBCCDD 1 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,32,0)\n\t\tLoop\n\t\tCrash:\n\t\tGIBL A 0 A_Stop\n\t\tGIBL A 0 A_ChangeFlag(\"NOGRAVITY\", 0)\n\t\tTNT1 A 0 A_PlaySound(\"gib/splat\")\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,random(-2,2),random(-2,2),random(1,3),random(-180,180),129,60)\n\t\tGoto CrashLoop\n\t\tCrashLoop:\n\t\tCACG E 10 A_CountDown\n\t\tLoop\n\t}\n}\nactor CacoGib2 : Giblet1\n{\n\tBloodColor \"Blue\"\n\tStates\n\t{\n\t\tSpawn:\n\t\tCACY AABBCCDD 1 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,32,0)\n\t\tLoop\n\t\tCrash:\n\t\tGIBL A 0 A_Stop\n\t\tGIBL A 0 A_ChangeFlag(\"NOGRAVITY\", 0)\n\t\tTNT1 A 0 A_PlaySound(\"gib/splat\")\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,random(-2,2),random(-2,2),random(1,3),random(-180,180),129,60)\n\t\tGoto CrashLoop\n\t\tCrashLoop:\n\t\tCACY E 10 A_CountDown\n\t\tLoop\n\t}\n}\nactor CacoGib3 : Giblet1\n{\n\tBloodColor \"Blue\"\n\tStates\n\t{\n\t\tSpawn:\n\t\tCACH AABBCCDD 1 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,32,0)\n\t\tLoop\n\t\tCrash:\n\t\tGIBL A 0 A_Stop\n\t\tGIBL A 0 A_ChangeFlag(\"NOGRAVITY\", 0)\n\t\tTNT1 A 0 A_PlaySound(\"gib/splat\")\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,random(-2,2),random(-2,2),random(1,3),random(-180,180),129,60)\n\t\tGoto CrashLoop\n\t\tCrashLoop:\n\t\tCACH E 10 A_CountDown\n\t\tLoop\n\t}\n}\n\nactor FireBallNoSpeed\n{\n\tScale 0.7\n\tHealth 1\n\tRadius 4\n\tHeight 1\n\tMass 1\n\tgravity 0.6\n\tRenderstyle Translucent\n\t-NOGRAVITY\n\t+CORPSE\n\t+NOTELEPORT\n\t+NOBLOCKMAP\n\t+NOBLOCKMONST\n\t+DOOMBOUNCE\n\tbouncefactor 0.2\n\tbouncecount 2\n\tStates\n\t{\n\t\tSpawn:\n\t\tFRBL ABCDEF 2 bright A_SpawnItemEx(\"CharacterFlame\",frandom(-2,2),frandom(-2,2),frandom(-2,2),0,0,0,0,0,32,0)\n\t\tloop\n\t\tCrash:\n\t\tTNT1 A 0\n\t\tTNT1 AAAA 0 A_SpawnItemEx(\"SubFireBall\", 0, 0, 0, frandom(-5,-5),frandom(-5,5),frandom(5,12),0,0,64)\n\t\tTNT1 A 0 A_SpawnItemEx(\"GayNukeFlame\")\n\t\tStop\n\t}\n}\n\nactor SubFireBall : FireBallNoSpeed\n{\n\tStates\n\t{\n\t\tCrash:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"GayNukeFlame2\")\n\t\tStop\n\t}\n}\n\nactor NewTeleportFog : TeleportFog replaces TeleportFog\n{\nTranslation \"208:211=224:231\", \"211:223=112:122\",\"176:191=122:127\"\nStates\n{\n\tSpawn:\n\tTFOG A 0\n\tTFOG A 0 A_SpawnItemEx(\"TeleportFlare\", 0, 0, 32)\n\tTFOG AAAAAAAAAAAAAAAA 0 A_SpawnItemEx(\"TeleportParticle\", frandom(-10, 10), frandom(-10, 10), frandom(10, 30), frandom(-5, 5), frandom(-5,5),frandom(-5,5))\n\tTFOG A 0 A_Jump(16, \"Spawnboom\")\n\tTFOG ABABCDEFGHIJ 6 Bright\n    Stop\n\tSpawnboom:\n\tMISL B 0 A_PlaySound(\"misc/teleboom\")\n\tMISL B 0 A_Explode(12830912, 64)\n\tMISL BCDEFGHIJKLMN 3 Bright\n\tStop\n}\n}\n\nactor NewBulletPuff : BulletPuff\n{\n\tVSpeed 0\n\t-ALLOWPARTICLES\n\t+PUFFGETSOWNER\n\t+HITTRACER\n\t+PUFFONACTORS\n\tStates\n\t{\n\t\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecute(\"HitMarker\")\n\t\tTNT1 A 70\n\t\tstop\n\t\t//Spawn:\n\t\tCrash:\n\t\tBULP A 0\n\t\tBULP A 0 A_PlaySound(\"bullet/ric\")\n\t\tBULP ABC 2 Bright\n\t\tBULP DEFG 2\n\t\tStop\n\t\tMelee:\n\t\tPUFF CD 4\n\t\tStop\n\t}\n}\n\nactor HitmarkerTestPuff : NewBulletPuff\n{\n\t+BLOODLESSIMPACT\n\t+NODECAL\n\t+PAINLESS\n\t+NOTRIGGER\n\t+DONTREFLECT\n\t+DONTSPLASH\n\tStates\n\t{\n\t\tCrash:\n\t\tTNT1 A 10\n\t\tstop\n\t\tMelee:\n\t\tTNT1 A 10\n\t\tStop\n\t}\n}\n\nactor SpraycanBallFlame\n{\n\t+NOGRAVITY\n\t+NOTELEPORT\n\tVSpeed 1\n\tScale 0.5\n\tRenderStyle Translucent\n\tAlpha 0.85\n\tStates\n\t{\n\t\tSpawn:\n\t\tFLAM A 0\n\t\tFLAM ABCDEFGH 3 bright\n\t\tStop\n\t}\n}\n\nactor CharacterFlame : SpraycanBallFlame\n{\n\tScale 0.75\n}\n\nactor BurningCharacter\n{\n\tRadius 20\n\tHeight 56\n\tMass 100\n\tSpeed 12\n\tScale 0.5\n\t+FLOORCLIP\n\t+SOLID\n\t+CANPASS\n\t+NONSHOOTABLE\n\tvar int user_counter;\n\tDamageType Fire\n\tStates\n\t{\n\t\tSpawn:\n\t\tBURN A 0\n\t\tBURN A 0 A_SetUserVar(\"user_counter\", 0)\n\t\tBURN A 0 A_PlaySound(\"burndeath\")\n\t\tBURN A 0 A_Wander\n\t\tRunning:\n\t\tBURN A 0\n\t\tBURN A 0 A_Explode(10, 80)\n\t\tBURN AA 0 A_SpawnItemEx(\"CharacterFlame\", random(-15,15),random(-15,15),random(-15,15)+30)\n\t\tBURN AABBCC 2 bright A_Wander\n\t\tBURN C 0 A_Explode(10, 80)\n\t\tBURN CC 0 A_SpawnItemEx(\"CharacterFlame\", random(-15,15),random(-15,15),random(-15,15)+30)\n\t\tBURN DDEEFF 2 bright A_Wander\n\t\tBURN A 0 bright A_JumpIf(user_counter>7, \"End\")\n\t\tBURN A 0 A_SetUserVar(\"user_counter\", user_counter+1)\n\t\tloop\n\t\tEnd:\n\t\tBURN A 0\n\t\tBURN AAAA 0 A_SpawnItemEx(\"Flyingblood\",0,0,0,random(1,7),random(1,7),random(1,10),random(-180,180),2177,64)\n\t\tBURN A 0 A_NoBlocking\n\t\tBURN GHIJK 4 bright\n\t\tBURN LMNOLMNOLMNOLMNOLMNO 4 bright\n\t\tBURN PQRST 4 bright\n\t\tBURN T -1\n\t\tStop\n\t}\n}\n\nactor BurningZombieman : BurningCharacter\n{\n\tStates\n\t{\n\tEnd:\n\tBURN A 0\n\tBURN A 0 A_PlaySound(\"grunt/death\")\n\tgoto Super::End\n\t}\n}\n\nactor BurningImp : BurningCharacter\n{\n\tStates\n\t{\n\tEnd:\n\tBURN A 0\n\tBURN A 0 A_PlaySound(\"imp/death\")\n\tgoto Super::End\n\t}\n}\n\nactor BurningRevenant : BurningCharacter\n{\n\tScale 0.6\n\tStates\n\t{\n\tEnd:\n\tBURN A 0\n\tBURN A 0 A_PlaySound(\"skeleton/death\")\n\tgoto Super::End\n\t}\n}\n\nactor BurningGhost : BurningCharacter\n{\n\tScale 0.6\n\tStates\n\t{\n\tEnd:\n\tBURN A 0\n\tBURN A 0 A_PlaySound(\"ghost/death\")\n\tgoto Super::End\n\t}\n}\n\nactor BurningArchvile : BurningCharacter\n{\n\tScale 0.6\n\tStates\n\t{\n\tEnd:\n\tBURN A 0\n\tBURN A 0 A_Playsound(\"vile/death\")\n\tGoto Super::End\n\t}\n}\n\nactor BurningBaron : BurningCharacter\n{\n\tBloodColor \"Green\"\n\tRadius 24\n\tHeight 64\n\tScale 0.6\n\tStates\n\t{\n\tEnd:\n\tBURN A 0\n\tBURN A 0 A_PlaySound(\"baron/death\")\n\tGoto Super::End\n\t}\n}\n\nactor BurningHellKnight : BurningCharacter\n{\n\tBloodColor \"Green\"\n\tScale 0.6\n\tRadius 24\n\tHeight 64\n\tStates\n\t{\n\tEnd:\n\tBURN A 0\n\tBURN A 0 A_PlaySound(\"knight/death\")\n\tGoto Super::End\n\t}\n}\n\nactor BouncePuff\n{\n\t-SOLID\n\t+NOGRAVITY\n\t+CLIENTSIDEONLY\n\trenderstyle translucent\n\talpha 0.75\n\tStates\n\t{\n\t\tSpawn:\n\t\tBPUF ABCDEFG 2\n\t\tstop\n\t}\n}\n\nactor EmptyCasingSmoke\n{\n\t-SOLID\n\t+NOGRAVITY\n\t+CLIENTSIDEONLY\n\tRenderStyle add\n\talpha 0.25\n\tScale 0.1\n\tVSpeed 0.5\n\tStates\n\t{\n\t\tSpawn:\n\t\tSMOK A 0\n\t\tSMOK A 0 A_Jump(128, 1, 2, 3)\n\t\tSMOK ABCDEFGHIJKLMONOPQ 2\n\t\tStop\n\t}\n}\n\nactor BulletCasing\n{\n\tPROJECTILE\n\t-SOLID\n\t-NOGRAVITY\n\t+USEBOUNCESTATE\n\t+ALLOWBOUNCEONACTORS\n\t+BOUNCEONACTORS\n\t+CLIENTSIDEONLY\n\tBounceType \"Doom\"\n\tbouncefactor 0.4\n\twallbouncefactor 0.25\n\tbouncecount 2\n\tscale 0.2\n\tBounceSound \"casing/bounce\"\n\tDeathSound \"casing/freeze\"\n\tStates\n\t{\n\t\tSpawn:\n\t\tBCAS ABCDEFGH 1 A_SpawnItemEx(\"EmptyCasingSmoke\")\n\t\tSpawn1:\n\t\tBCAS ABCDEFGH 2\n\t\tloop\n\t\tBounce.Floor:\n\t\tBCAS A 0\n\t\tBCAS A 0 A_SpawnItemEx(\"BouncePuff\")\n\t\tGoto Spawn1\n\t\tDeath:\n\t\tBCAS A 0 A_SpawnItemEx(\"BouncePuff\")\n\t\tBCAS C 400\n\t\tStop\n\t}\n}\n\nactor ShellCasing : BulletCasing\n{\n\tscale 0.2\n\tBounceSound \"shell/bounce\"\n\tDeathSound \"shell/freeze\"\n\tStates\n\t{\n\t\tSpawn:\n\t\tSCAS ABCDEFGH 1 A_SpawnItemEx(\"EmptyCasingSmoke\")\n\t\tSpawn1:\n\t\tSCAS ABCDEFGH 2\n\t\tloop\n\t\tDeath:\n\t\tBCAS A 0 A_SpawnItemEx(\"BouncePuff\")\n\t\tSCAS C 400\n\t\tStop\n\t}\n}\n\nactor PistolMag : BulletCasing\n{\n\tbouncefactor 0.2\n\tscale 0.6\n\tBounceSound \"mag/bounce\"\n\tDeathSound \"mag/bounce\"\n\tStates\n\t{\n\t\tSpawn:\n\t\tCLP1 ABCDEFGH 2\n\t\tloop\n\t\tDeath:\n\t\tCLP1 A 0 A_SpawnItemEx(\"BouncePuff\")\n\t\tCLP1 A 600\n\t\tStop\n\t}\n}\n\nactor UziMag : PistolMag\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\tCLP4 ABCDEFGH 2\n\t\tloop\n\t\tDeath:\n\t\tCLP4 A 0 A_SpawnItemEx(\"BouncePuff\")\n\t\tCLP4 A 600\n\t\tStop\n\t}\n}\n\nactor PlasmaRifleCoolSmoke : EmptyCasingSmoke\n{\n\tScale 0.2\n}\n\nactor FartCloudExplosion\n{\n\t+NOGRAVITY\n\tDamageType Fire\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tMISL B 0\n\t\t\tMISL B 0 A_PlaySound(\"weapons/rocklx\")\n\t\t\tMISL B 0 A_Explode\n\t\t\tMISL BCDEFGHIJKLMN 2 bright\n\t\t\tstop\n\t}\n}\n\nActor FartCloud\n{\n\t+NOGRAVITY\n\t/*+NOBLOCKMAP\n\t+SHOOTABLE\n\tHealth 10*/\n\tHealth 10\n\t-SHOOTABLE\n\t+VULNERABLE\n\t+HITTRACER\n\tobituary \"%o died to a fart cloud.\"\n\tTranslation \"80:111=48:79\", \"208:223=60:68\",\"176:191=69:79\"\n\tRenderStyle \"Translucent\"\n\tDamageFactor \"Normal\", 0\n\tDamageFactor \"Fire\", 1\n\tDamageType Fart\n\tAlpha 0.5\n\tStates\n\t{\n\tSpawn:\n\tFOGS A 0\n\tFOGS A 0 A_Jump(128, 1, 2, 3, 4)\n\tFOGS AB 4\n\tFOGM AB 4\n\tFOGL AB 4\n\tSpawn1:\n\tFOGL A 0 A_ScaleVelocity(0.65)\n\tFOGL A 4 A_Explode(3, 90)\n\tFOGL B 4\n\tFOGL C 4 A_Explode(3, 90)\n\tFOGL D 4\n\tFOGL E 4 A_Explode(3, 90)\n\t//FOGL ABCDE 4 A_Explode(5, 90)\n\tFOGL E 0 A_Jump(10, \"Spawn2\")\n\tloop\n\tSpawn2:\n\tFOGL A 0 A_ScaleVelocity(0.65)\n\tFOGM A 4 A_Explode(2, 70)\n\tFOGM BC 4\n\tFOGM D 4 A_Explode(2, 70)\n\tFOGM E 4\n\t//FOGM ABCDE 4 A_Explode(3, 50)\n\tFOGM E 0 A_Jump(20, \"Spawn3\")\n\tloop\n\tSpawn3:\n\tFOGL A 0 A_ScaleVelocity(0.65)\n\tFOGS A 4 A_Explode(2, 80)\n\tFOGS BCDE 4\n\t//FOGS ABCDE 4 A_Explode(1, 20)\n\tFOGS E 0 A_Jump(30, \"Death\")\n\tloop\n\tDeath:\n\tFOGS ABCDE 4 A_FadeOut(0.2)\n\tstop\n\tDeath.Fire:\n\tMISL B 0\n\tMISL B 0 A_SpawnItemEx(\"FartCloudExplosion\")\n\tstop\n\t}\n}\n\nActor FartCloudMedium : FartCloud\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFOGS A 0\n\t\t\tFOGS A 0 A_Jump(128, 1, 2, 3, 4)\n\t\t\tFOGS AB 4\n\t\t\tFOGM AB 4\n\t\tGoto Spawn2\n\t}\n}\n\nActor FartCloudSmall : FartCloud\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFOGS AB 4\n\t\t\tGoto Spawn3\n\t}\n}\n\nactor SFXExplosion\n{\n\t+NOGRAVITY\n\t-SOLID\n\t+NOBLOCKMAP\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tMISL A 0\n\t\t\tMISL A 0 A_PlaySound(\"weapons/rocklx\")\n\t\t\tMISL BCDEFGHIJKLMN 2 bright\n\t\t\tstop\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "Decorate/Items.txt",
        "contents": "actor PowerFireImmunity : PowerProtection\n{\n\tDamageFactor \"Fire\", 0\n}\n\nactor PowerFartImmunity : PowerProtection\n{\n\tDamageFactor \"Fart\", 0\n}\n\nactor FartProtectionGiver : PowerupGiver\n{\n\tInventory.MaxAmount 0\n\tPowerup.Type \"FartImmunity\"\n\tPowerup.Duration -60\n\t+INVENTORY.ALWAYSPICKUP\n\t+INVENTORY.AUTOACTIVATE\n}\n\nactor FireProtectionGiver : PowerupGiver\n{\n\tInventory.MaxAmount 0\n\tPowerup.Type \"FireImmunity\"\n\tPowerup.Duration -60\n\t+INVENTORY.ALWAYSPICKUP\n\t+INVENTORY.AUTOACTIVATE\n}\n\nactor ActualRadSuit : PowerupGiver\n{\n  Height 46\n  +INVENTORY.AUTOACTIVATE\n  +INVENTORY.ALWAYSPICKUP\n  Inventory.MaxAmount 0\n  Powerup.Type \"IronFeet\"\n  States\n  {\n  Spawn:\n    TNT1 A -1 Bright\n    Stop\n  }\n}\n\nactor FartRadSuit : CustomInventory replaces Radsuit\n{\n\tHeight 46\n\tInventory.MaxAmount 0\n\tInventory.PickupMessage \"Got a CBRN suit!\"\n\tInventory.PickupSound \"misc/p_pkup\"\n\t+COUNTITEM\n\t+INVENTORY.ALWAYSPICKUP\n\t+INVENTORY.AUTOACTIVATE\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSUIT A -1 bright\n\t\t\tStop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_GiveInventory(\"FartProtectionGiver\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"FireProtectionGiver\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"ActualRadSuit\")\n\t}\n}\n\nACTOR ActualHealthBonus : Health\n{\n  +COUNTITEM\n  +INVENTORY.ALWAYSPICKUP\n  Inventory.Amount 3\n  Inventory.MaxAmount 200\n  Inventory.PickupSound \"shotgun/shell1\"\n  Inventory.PickupMessage \"Picked up a health bonus.\" // \"Picked up a health bonus.\"\n  States\n  {\n  Spawn:\n    BON1 ABCDCB 6\n    Loop\n  }\n}\n\nACTOR FalseHealthBonus : CustomInventory\n{\n  +COUNTITEM\n  Inventory.PickupSound \"fatso/pain\"\n  Inventory.PickupMessage \"That tasted like shit.\" // \"Picked up a health bonus.\"\n  States\n  {\n  Spawn:\n    BON1 ABCDCB 6\n    Loop\n  Pickup:\n    TNT1 A 0 A_Explode(1, 8)\n\tstop\n  }\n}\n\nactor Beer : CustomInventory\n{\n\t+COUNTITEM\n\tInventory.PickupMessage \"ahaw yeah smashed that motherfuckin beer hahaw\"\n\tInventory.PickupSound \"player/burp\"\n\tScale 0.07\n\tStates\n\t{\n\t\tspawn:\n\t\t\tFOOD H -1\n\t\t\tstop\n\t\tPickup:\n\t\t\tTNT1 A 0 A_GiveInventory(\"ActualHealthBonus\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"PlayerFartCharge\", 2)\n\t\t\tTNT1 A 0 A_GiveInventory(\"DinnerAmmo\", 2)\n\t\t\tstop\n\t}\n}\n\nactor Mayonnaise : Beer\n{\n\tInventory.PickupMessage \"an entire jar of mayonnaise goin in my fuckin gut dayum\"\n\tScale 0.06\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFOOD I -1\n\t\t\tstop\n\t}\n}\n\nACTOR LethalHealthBonus : CustomInventory\n{\n  Inventory.PickupSound \"fatso/death\"\n  Inventory.PickupMessage \"That was so bad, your remaining kidney exploded and you died.\" // \"Picked up a health bonus.\"\n  States\n  {\n  Spawn:\n    BON1 ABCDCB 6\n    Loop\n  Pickup:\n    TNT1 A 0 A_Explode(50000, 8)\n\tMISL BCDEFGHIJKLMN 3\n\tstop\n  }\n}\n\nactor healthbonusspawner : RandomSpawner replaces HealthBonus\n{\n\tDropItem \"ActualHealthBonus\" 255, 40\n\tDropItem \"Beer\", 255, 40\n\tDropItem \"Mayonnaise\", 255, 40\n\tDropItem \"FalseHealthBonus\" 255, 30\n\tDropItem \"LethalHealthBonus\" 255, 3\n}\n\nACTOR ActualMedikit : Health\n{\n  +COUNTITEM\n  Inventory.Amount 25\n  Inventory.PickupMessage \"$GOTMEDIKIT\" // \"Picked up a medikit.\"\n  Health.LowMessage 25, \"$GOTMEDINEED\" // \"Picked up a medikit that you REALLY need!\"\n  States\n  {\n  Spawn:\n    MEDI A -1\n    Stop\n  }\n}\n\nactor ActualStimpack : Stimpack { }\n\nactor Beans : CustomInventory\n{\n\t+COUNTITEM\n\tInventory.PickupMessage \"Oh yeah 10 pounds of beans loaded with mayonnaise\"\n\tInventory.PickupSound \"player/burp\"\n\tScale 0.05\n\tStates\n\t{\n\t\tspawn:\n\t\t\tFOOD A -1\n\t\t\tstop\n\t\tPickup:\n\t\t\tTNT1 A 0 A_JumpIf(health >= 100, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 2)\n\t\t\tTNT1 A 0 A_RailWait\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"ActualStimpack\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"PlayerFartCharge\", 6)\n\t\t\tTNT1 A 0 A_GiveInventory(\"DinnerAmmo\", 7)\n\t\t\tstop\n\t}\n}\n\nactor BaconBurger : Beans\n{\n\tInventory.PickupMessage \"fuck yeah a bacon donut burger sauced in mayonnaise\"\n\tScale 0.09\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFOOD C -1\n\t\t\tStop\n\t}\n}\n\nactor Pancakes : Beans\n{\n\tInventory.PickupMessage \"look at these pancakes slopped in mayonnaise goin in my fuckin gut\"\n\tScale 0.09\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFOOD F -1\n\t\t\tstop\n\t}\n}\n\nACTOR Fartpack : Stimpack\n{\n  +COUNTITEM\n  Health.LowMessage 99, \"What the fuck is up with this stimpack?\"\n  Game Doom\n  SpawnID 23\n  Inventory.Amount 10\n  Inventory.PickupMessage \"$GOTSTIM\" // \"Picked up a stimpack.\"\n  States\n  {\n  Spawn:\n    STIM A 0 A_Jump(20,\"fart\")\n    STIM A 5 A_Jump(190,\"morph\")\n    Loop\n  Morph:\n    MEDI A 8\n    STIM A 2\n    MEDI A 1\n    STIM A 6\n    MEDI A 9\n    Goto Spawn\n  Fart:\n    STIM A 4 A_PlaySound(\"fart1\")\n    MISL BCDDCBBCDDCB 1\n    Goto Spawn\n  }\n}\n\nactor StimpackSpawner : RandomSpawner replaces Stimpack\n{\n\tDropItem \"Beans\", 255, 3\n\tDropItem \"BaconBurger\", 255, 3\n\tDropItem \"Pancakes\", 255, 3\n\tDropItem \"Fartpack\", 255, 1\n}\n\nactor Chicken : Beans\n{\n\tInventory.PickupMessage \"hahaw an entire greasy chicken slathered in mayonnaise like i do everything\"\n\tScale 0.12\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFOOD B -1\n\t\t\tstop\n\t\tPickup:\n\t\t\tTNT1 A 0 A_JumpIf(health >= 100, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 2)\n\t\t\tTNT1 A 0 A_RailWait\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"ActualMedikit\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"PlayerFartCharge\", 10)\n\t\t\tTNT1 A 0 A_GiveInventory(\"DinnerAmmo\", 17)\n\t\t\tstop\n\t}\n}\n\nactor BigBurger : Chicken\n{\n\tInventory.PickupMessage \"ohhhh look at that greased up burger baby\"\n\tScale 0.12\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFOOD D -1\n\t\t\tstop\n\t}\n}\n\nactor Chili : Chicken\n{\n\tInventory.PickupMessage \"aw yeah an entire pan of chili mixed with mayonnaise\"\n\tScale 0.135\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFOOD E -1\n\t\t\tstop\n\t}\n}\n\nactor MouldBurger : CustomInventory\n{\n +COUNTITEM\n +INVENTORY.ALWAYSPICKUP\n Inventory.PickupMessage \"mouldy ass hamburger whatever like i care im hairy n gross\"\n Inventory.PickupSound \"player/burp\"\n Scale 0.12\n States\n {\n Spawn:\n FOOD G -1\n Stop\n Pickup:\n TNT1 A 0\n TNT1 A 0 A_GiveInventory(\"PlayerFartCharge\", 10)\n TNT1 A 0 A_Explode(25, 8)\n TNT1 A 0 A_GiveInventory(\"DinnerAmmo\", 16)\n stop\n }\n}\n\nactor MedikitSpawner: RandomSpawner replaces Medikit\n{\n\tDropItem \"Chicken\", 255, 30\n\tDropItem \"BigBurger\", 255, 30\n\tDropItem \"Chili\", 255, 30\n\tDropItem \"MouldBurger\", 255, 5\n}\n\nactor PowerMoneyCooldown : Powerup\n{\n\tPowerup.Duration -60\n}\n\nactor MoneyCooldown : PowerupGiver\n{\n\tPowerup.Type \"PowerMoneyCooldown\"\n\t+AUTOACTIVATE\n}\n\nactor MoneyAmmo : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 0x7FFFFFFF\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 0x7FFFFFFF\n}\n\nactor Money : CustomInventory\n{\n\t-NOGRAVITY\n\t-SOLID\n\t+ALWAYSPICKUP\n\tInventory.PickupSound \"random/cash\"\n\tScale 0.08\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tCASH A 3150\n\t\t\tStop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"PickupMoney\")\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t}\n}\n\nactor Money5 : Money\n{\n\tInventory.PickupMessage \"5 dollar bill!\"\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"PickupMoney\")\n\t\t\tTNT1 A 1 A_GiveInventory(\"MoneyAmmo\", 5)\n\t\t\tstop\n\t}\n}\n\nactor Money10 : Money\n{\n\tInventory.PickupMessage \"10 dollar bill!\"\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"PickupMoney\")\n\t\t\tTNT1 A 1 A_GiveInventory(\"MoneyAmmo\", 10)\n\t\t\tstop\n\t}\n}\n\nactor Money25 : Money\n{\n\tInventory.PickupMessage \"25 dollar bill!\"\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"PickupMoney\")\n\t\t\tTNT1 A 1 A_GiveInventory(\"MoneyAmmo\", 25)\n\t\t\tstop\n\t}\n}\n\nactor Money50 : Money\n{\n\tInventory.PickupMessage \"50 dollar bill!\"\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"PickupMoney\")\n\t\t\tTNT1 A 1 A_GiveInventory(\"MoneyAmmo\", 50)\n\t\t\tstop\n\t}\n}\n\nactor Money100 : Money\n{\n\tInventory.PickupMessage \"100 dollar bill!\"\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"PickupMoney\")\n\t\t\tTNT1 A 1 A_GiveInventory(\"MoneyAmmo\", 100)\n\t\t\tstop\n\t}\n}\n\nactor Money500 : Money\n{\n\tInventory.PickupMessage \"500 dollar bill!\"\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"PickupMoney\")\n\t\t\tTNT1 A 1 A_GiveInventory(\"MoneyAmmo\", 500)\n\t\t\tstop\n\t}\n}\n\nactor Money1000 : Money\n{\n\tInventory.PickupMessage \"1000 dollar bill!\"\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"PickupMoney\")\n\t\t\tTNT1 A 1 A_GiveInventory(\"MoneyAmmo\", 1000)\n\t\t\tstop\n\t}\n}\n\nactor ActualBerserk : Berserk { }\n\nactor BerserkerReplacement : RandomSpawner replaces Berserk\n{\n\tDropItem \"MonkeyOrb\", 255, 3\n\tDropItem \"ActualBerserk\", 255, 10\n}\n\n/*actor PowerMonke : PowerMorph\n{\n\tPowerMorph.PlayerClass \"MonkeyPlayer\"\n\tPowerMorph.MorphStyle MRF_FULLHEALTH\n}*/\n\nactor MonkeySphere : CustomInventory\n{\n\t+COUNTITEM\n\t+ALWAYSPICKUP\n\t+BIGPOWERUP\n\tscale 0.2\n\tInventory.PickupSound \"misc/monkeyorbpickup\"\n\tInventory.PickupMessage \"return to monke\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tMNOB A 0\n\t\t\tMNOB A 0 A_PlaySoundEx(\"misc/monkeyorbloop\", \"Voice\", true)\n\t\t\tMNOB ABCDEFGHIJKLMNOPQRSTUVWX 2\n\t\t\tMNOB XWVUTSRQPONMLKJIHGFEDCBA 2\n\t\t\tloop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_StopSoundEx(\"Voice\")\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"MorphIntoMonkey\", 0, 0, 0, 0)\n\t\t\tTNT1 A 0 A_GiveInventory(\"BlueArmorForMegasphere\")\n\t\t\tTNT1 A 0 A_GiveInventory(\"MegasphereHealth\", 1)\n\t\t\tstop\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "Decorate/Weapons.txt",
        "contents": "/*bfg, plasma, minigun and fist*/\n\n/*actor Chainspawner replaces Chaingun\n{\n -SOLID\n +NOBLOCKMAP\n states\n {\n  Spawn:\n  TNT1 A 0\n  TNT1 A 0 A_Jump(128,2)\n  TNT1 A 0 A_SpawnItem(\"Chainfart\",0,0,0)\n  stop\n  TNT1 A 0\n  TNT1 A 0 A_SpawnItem(\"BarrelLauncher\",0,0,0)\n  stop\n  Death:\n  TNT1 A 0\n }\n}*/\n\nactor WeaponLeftFire : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor WeaponRightFire : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor WeaponReload : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor MonkeyFist : Fartygun\n{\n\tWeapon.SelectionOrder 9999\n\tObituary \"%o got his lights knocked out by the filthy ape %k\"\n\tStates\n\t{\n\t\tDeselect:\n\t\t\tTNT1 A 0 A_TakeInventory(\"WeaponLeftFire\", 1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"WeaponRightFire\", 1)\n\t\t\tTNT1 A 0 A_GunFlash(\"RightStop\")\n\t\tActualDeselect:\n\t\t\tTNT1 A 0 A_Lower\n\t\t\tloop\n\t\tSelect:\n\t\t\tTNT1 A 0 A_GunFlash(\"RightStop\")\n\t\t\tTNT1 A 0 A_Raise\n\t\t\tTNT1 A 1 A_Raise\n\t\t\tloop\n\n\t\tReady:\n\t\t\tTNT1 A 0 A_GunFlash(\"RightReady\")\n\t\tActualReady:\n\t\t\tPUNG Y 1 A_WeaponReady(WRF_NOSECONDARY | WRF_ALLOWRELOAD)\n\t\t\tloop\n\t\tRightReady:\n\t\t\tPUNG Z 1 A_JumpIfInventory(\"WeaponRightFire\", 1, \"RightFire\")\n\t\t\tloop\n\n\t\tFire:\n\t\t\tPUNG I 0 A_CustomPunch(2*random(1,10), true, 0, \"SwingCheckPuff\")\n\t\t\tPUNG I 0 A_FireCustomMissile(\"boxgloves\")\n\t\t\tPUNG H 1\n\t\t\tPUNG D 1\n\t\t\tPUNG CB 1\n\t\t\tPUNG B 0 A_JumpIfInventory(\"WeaponLeftFire\", 1, \"RepeatFire\")\n\t\t\tgoto ActualReady\n\t\tRepeatFire:\n\t\t\tPUNG Y 0\n\t\t\tPUNG Y 0 A_JumpIfInventory(\"WeaponLeftFire\", 1, 1)\n\t\t\tGoto ActualReady\n\t\t\tPUNG Y 1\n\t\t\tloop\n\t\tRightFire:\n\t\t\tPUNG I 0 A_CustomPunch(2*random(1,10), true, 0, \"SwingCheckPuff\")\n\t\t\tPUNG I 0 A_FireCustomMissile(\"boxgloves\")\n\t\t\tPUNG I 1\n\t\t\tPUNG G 1\n\t\t\tPUNG FE 1\n\t\t\tPUNG B 0 A_JumpIfInventory(\"WeaponRightFire\", 1, \"RepeatRightFire\")\n\t\t\tgoto RightReady\n\t\tRepeatRightFire:\n\t\t\tPUNG Z 0\n\t\t\tPUNG Z 0 A_JumpIfInventory(\"WeaponRightFire\", 1, 1)\n\t\t\tGoto RightReady\n\t\t\tPUNG Z 1\n\t\t\tloop\n\n\t\tRightStop:\n\t\t\tPUNG Z 1\n\t\t\tloop\n\t}\n}\n\nactor PistolCount : ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor PistolPickup : CustomInventory\n{\n\tInventory.PickupMessage \"It's a pisstol.\"\n\tInventory.PickupSound \"misc/w_pkup\"\n\tInventory.MaxAmount 0\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tPISW A -1\n\t\t\tstop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"FartClip\", 0, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 4)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PistolCount\", 2, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 2)\n\t\t\tTNT1 A 0 A_RailWait\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"FartClip\", 20)\n\t\t\tTNT1 A 0 A_GiveInventory(\"FartPistolDouble\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"PistolCount\", 1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"FartPistol\", 1)\n\t\t\tstop\n\t}\n}\n\nactor PistolCocked : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor FartPistolDouble : Fartygun\n{\n\tWeapon.SelectionOrder 1800\n\t+BLOODSPLATTER\n\t+WEAPON.WIMPY_WEAPON\n\t+WEAPON.NOAUTOFIRE\n\tObituary \"%k pooped twice as much shitnuggets at %o.\"\n\tWeapon.AmmoType1 \"FartClip\"\n\tWeapon.AmmoType2 \"PistolClip\"\n\tWeapon.AmmoUse1 0\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tPISW A -1\n\t\t\tstop\n\t\tDeselect:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_TakeInventory(\"WeaponLeftFire\", 1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"WeaponRightFire\", 1)\n\t\t\tTNT1 A 0 A_GunFlash(\"RightStop\")\n\t\t\tTNT1 A 0 A_Lower\n\t\t\tloop\n\t\tSelect:\n\t\t\tTNT1 A 0 A_GunFlash(\"RightStop\")\n\t\t\tPISL A 0 A_Raise\n\t\t\tPISL A 1 A_Raise\n\t\t\tloop\n\t\tReady:\n\t\t\tTNT1 A 0 A_GunFlash(\"RightReady\")\n\t\tActualReady:\n\t\t\tPISL A 1 A_WeaponReady(WRF_NOSECONDARY | WRF_ALLOWRELOAD)\n\t\t\tloop\n\t\tFire:\n\t\t\tPISL A 0 A_JumpIfInventory(\"PistolClip2\", 1, 1)\n\t\t\tGoto Reload\n\t\t\tPISL B 0 A_FireBullets (3, 1.5, -1, 8, \"NewBulletPuff\")\n\t\t\tPISL B 0 A_SetPitch(pitch-2)\n\t\t\tPISL B 0 A_SetAngle(angle+frandom(-1.5,1.5))\n\t\t\tPISL B 0 A_PlaySound(\"weapons/pistol\", CHAN_WEAPON)\n\t\t\tPISL B 0 A_TakeInventory(\"PistolClip2\", 1)\n\t\t\tPISL B 0 A_SpawnItemEx(\"BulletCasing\", 18, -8, 40, frandom(0,3), frandom(4,7), frandom(4,7))\n\t\t\tPISL B 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tPISL B 0 A_SetPitch(pitch+0.75)\n\t\t\tPISL C 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tPISL A 0 A_SetPitch(pitch+0.75)\n\t\t\tgoto ActualReady\n\t\tReload:\n\t\t    PISL A 0 A_JumpIfInventory(\"PistolClip2\", 0, \"Ready\")\n\t\t\tPISL A 0 A_JumpIfInventory(\"FartClip\", 1, 1)\n\t\t\tGoto ActualReady\n\t\t\tPISL DEFGGG 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tPISL H 0 A_PlaySound(\"pistol/magout\", CHAN_WEAPON)\n\t\t\tPISL H 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tPISL IJK 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tPISL K 0 A_SpawnItemEx(\"PistolMag\", 18, -8, 25, frandom(0,3), frandom(4,7), 0)\n\t\t\tPISL GGGFEANML 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tTNT1 A 12 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tTNT1 A 0 A_PlaySound(\"pistol/magin\", CHAN_WEAPON)\n\t\tReloadLoop:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"FartClip\", 1, 1)\n\t\t\tGoto ReloadEnd\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_TakeInventory(\"FartClip\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"PistolClip2\", 1)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PistolClip2\", 0, \"ReloadEnd\")\n\t\t\tGoto ReloadLoop\n\t\tReloadEnd:\n\t\t\tTNT1 A 8 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tTNT1 A 0 A_PlaySound(\"pistol/slide\", CHAN_WEAPON)\n\t\t\tTNT1 A 9 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tPISL LMNO 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH | WRF_NOSECONDARY)\n\t\t\tgoto ActualReady\n\n\t\tRightReady:\n\t\t\tPISD A 1 A_JumpIfInventory(\"WeaponRightFire\", 1, \"RightFire\")\n\t\t\tPISD A 0 A_JumpIfInventory(\"WeaponReload\", 1, \"ReloadRight\")\n\t\t\tloop\n\t\tRightStop:\n\t\t\tPISD A 1\n\t\t\tloop\n\t\tRightFire:\n\t\t\tPISL A 0 A_JumpIfInventory(\"PistolClip\", 1, 1)\n\t\t\tGoto ReloadRight\n\t\t\tPISD B 0 A_FireBullets (3, 1.5, -1, 8, \"NewBulletPuff\")\n\t\t\tPISD B 0 A_SetPitch(pitch-2)\n\t\t\tPISD B 0 A_SetAngle(angle+frandom(-1.5,1.5))\n\t\t\tPISD B 0 A_PlaySound(\"weapons/pistol\", CHAN_WEAPON)\n\t\t\tPISD B 0 A_TakeInventory(\"PistolClip\", 1)\n\t\t\tPISD B 0 A_SpawnItemEx(\"BulletCasing\", 18, 8, 40, frandom(0,3), frandom(4,7), frandom(4,7))\n\t\t\tPISD BC 1 bright A_SetPitch(pitch+0.75)\n\t\t\tPISD A 0 A_JumpIfInventory(\"WeaponRightFire\", 1, \"FireHeldRight\")\n\t\t\tgoto RightReady\n\t\tFireHeldRight:\n\t\t\tPISD A 1\n\t\t\tPISD A 0 A_JumpIfInventory(\"WeaponRightFire\", 1, \"FireHeldRight\")\n\t\t\tgoto RightReady\n\t\tReloadRight:\n\t\t    PISD A 0 A_JumpIfInventory(\"PistolClip\", 0, \"RightReady\")\n\t\t\tPISD A 0 A_JumpIfInventory(\"FartClip\", 1, 2)\n\t\t\tPISD A 1\n\t\t\tGoto RightReady\n\t\t\tPISD DEFGGG 1\n\t\t\tPISD H 0 A_PlaySound(\"pistol/magout\", CHAN_WEAPON)\n\t\t\tPISD H 1\n\t\t\tPISD IJK 1\n\t\t\tPISD K 0 A_SpawnItemEx(\"PistolMag\", 18, 8, 25, frandom(0,3), frandom(4,7), 0)\n\t\t\tPISD GGGFEANML 1\n\t\t\tTNT1 A 12\n\t\t\tTNT1 A 0 A_PlaySound(\"pistol/magin\", CHAN_WEAPON)\n\t\tReloadLoopRight:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"FartClip\", 1, 1)\n\t\t\tGoto ReloadEndRight\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_TakeInventory(\"FartClip\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"PistolClip\", 1)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PistolClip\", 0, \"ReloadEndRight\")\n\t\t\tGoto ReloadLoopRight\n\t\tReloadEndRight:\n\t\t\tTNT1 A 8\n\t\t\tTNT1 A 0 A_PlaySound(\"pistol/slide\", CHAN_WEAPON)\n\t\t\tTNT1 A 9\n\t\t\tPISD LMNO 1\n\t\t\tgoto RightReady\n\t}\n}\n\nactor FartPistol : Fartygun replaces Pistol 5010 //The definition as of the development of Skulltag.\n{\n +BLOODSPLATTER\n +NOAUTOFIRE\n +WEAPON.WIMPY_WEAPON\n Inventory.PickupMessage \"Wow, it's a crappy pistol.\"\n Obituary \"%k pooped little shitnuggets at %o.\"\n Weapon.SelectionOrder 1900\n Weapon.AmmoType1 \"FartClip\"\n Weapon.AmmoType2 \"PistolClip\"\n Weapon.AmmoUse1 0\n  States\n  {\n  Select:\n  PISG A 0 A_JumpIfInventory(\"PistolCocked\", 1, \"ActualSelect\")\n  PISG A 0 A_JumpIfInventory(\"FartClip\", 1, 1)\n  Goto ActualSelect\n  TNT1 AAAAAAAAAAAAAAA 0 A_Raise\n  PISG ADOP 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  PISG P 0 A_PlaySound(\"pistol/slide\")\n  PISG P 0 A_GiveInventory(\"PistolCocked\", 1)\n  PISG QRS 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  ActualSelect:\n  PISG A 0 A_Raise\n  PISG A 1 A_Raise\n  loop\n  Deselect:\n  PISG A 0 A_Lower\n  loop\n  Ready:\n  PISG A 1 A_WeaponReady(WRF_ALLOWRELOAD)\n  loop\n  Fire:\n    PISG B 0 A_JumpIfInventory(\"PistolClip\", 1, 1)\n\tGoto Reload\n    PISG B 0 //ACS_Execute(287,0,random(10,10),0,0)\n    PISG B 0 A_FireBullets (1.5, 1.5, 1, 8, \"NewBulletPuff\")\n\tPISG B 0 A_SetPitch(pitch-2)\n\tPISG B 0 A_SetAngle(angle+frandom(-1.5,1.5))\n    PISG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    PISG B 0 A_PlaySound(\"weapons/pistol\")\n\tPISG B 0 A_TakeInventory(\"PistolClip\", 1)\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 40, frandom(0,3), frandom(4,7), frandom(4,7))\n    PISG B 0 A_GunFlash\n\tPISF A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISF A 0 A_SetPitch(pitch+0.75)\n\tPISF A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISF A 0 A_SetPitch(pitch+0.75)\n    PISG C 2 A_WeaponReady\n    PISG B 7 A_WeaponReady\n    PISG B 0 A_ReFire\n    Goto Ready\n  AltFire:\n    PISG A 0 A_FireCustomMissile(\"fartexplosion\",0,0,0,0,0)\n\tPISG A 0 A_Quake(9, 8, 0, 1)\n    PISG A 39 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    PISG A 0 A_ReFire\n    Goto Ready\n  Flash:\n    TNT1 A 2 Bright A_Light1\n    Goto LightDone\n    TNT1 A 2 Bright A_Light0\n    Goto LightDone\n  Reload:\n    PISG A 0 A_JumpIfInventory(\"PistolClip\", 20, \"Ready\")\n    PISG A 0 A_JumpIfInventory(\"FartClip\", 1, 1)\n\tGoto Ready\n    PISG A 0 A_JumpIfInventory(\"PistolClip\", 1, 2)\n\tPISG A 0 A_TakeInventory(\"PistolCocked\", 1)\n\tPISG D 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG E 0 A_PlaySound(\"pistol/magout\")\n\tPISG E 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG E 0 A_JumpIfInventory(\"PistolClip\", 1, 2)\n\tPISG E 0 A_SpawnItemEx(\"PistolMag\", 18, 4, 25, frandom(0,3), frandom(4,7), 0)\n\tPISG FGH 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG I 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG JKL 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG M 3 A_PlaySound(\"pistol/magin\")\n\tGoto ReloadLoop\n\tReloadLoop:\n\tPISG M 0 A_JumpIfInventory(\"FartClip\", 1, 1)\n\tGoto ReloadEnd\n\tPISG M 0\n\tPISG M 0 A_TakeInventory(\"FartClip\", 1)\n\tPISG M 0 A_GiveInventory(\"PistolClip\", 1)\n\tPISG M 0 A_JumpIfInventory(\"PistolClip\", 20, \"ReloadEnd\")\n\tGoto ReloadLoop\n\tReloadEnd:\n\tPISG A 0 A_JumpIfInventory(\"PistolCocked\", 1, \"ReloadEndCocked\")\n\tPISG NO 3 A_WeaponReady(WRF_NOFIRE)\n\tPISG P 0 A_PlaySound(\"pistol/slide\")\n\tPISG P 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG P 0 A_GiveInventory(\"PistolCocked\", 1)\n\tPISG QRS 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tGoto Ready\n\tReloadEndCocked:\n\tPISG OS 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tGoto Ready\n  }\n}\n\nactor KnucklesCracked : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor FistHit : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor SwingCheckPuff : BulletPuff\n{\n\t+PUFFONACTORS\n\t+PUFFGETSOWNER\n\t+HITTRACER\n\tSeeSound \"player/punch\"\n\tStates\n\t{\n\t\tXDeath:\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_GiveToTarget(\"FistHit\", 1)\n\t\t\tTNT1 A 0 A_GiveToTarget(\"FistInvul1\", 1)\n\t\t\tTNT1 A 0 A_Quake(5, 5, 0, 64, \"null\")\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"HitMarker\")\n\t\t\tTNT1 A 50\n\t\t\tStop\n\t\tCrash:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_GiveToTarget(\"FistHit\", 1)\n\t\t\tTNT1 A 0 A_Quake(5, 5, 0, 64, \"null\")\n\t\t\tPUFF CD 4\n\t\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 10\n\t\t\tStop\n\t}\n}\n\nactor SwingCheckPuffBig : BulletPuff\n{\n\t+PUFFONACTORS\n\t+PUFFGETSOWNER\n\t+HITTRACER\n\tSeeSound \"player/bigpunch\"\n\tStates\n\t{\n\t\tXDeath:\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_GiveToTarget(\"FistHit\", 1)\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"HitMarker\")\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"BulletPushBack\", 0, 5000)\n\t\t\tTNT1 A 60\n\t\t\tStop\n\t\tCrash:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_GiveToTarget(\"FistHit\", 1)\n\t\t\tTNT1 A 0 A_PlaySound(\"player/bigpunchmiss\", CHAN_VOICE)\n\t\t\tPUFF CD 4\n\t\t\tTNT1 A 15\n\t\t\tStop\n\t\tDeath:\n\t\t\tTNT1 A 10\n\t\t\tStop\n\t}\n}\n\nactor FistCounter : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 20\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 20\n}\n\nactor FistInvul1 : PowerupGiver\n{\n\tPowerup.Duration 53\n\tPowerup.Color None\n\tPowerup.Type \"Invulnerable\"\n\t+INVENTORY.AUTOACTIVATE\n\t+INVENTORY.ALWAYSPICKUP\n\tInventory.MaxAmount 0\n}\n\nactor BigFistKnockBack : CustomInventory\n{\n\tInventory.MaxAmount 1\n\t+INVENTORY.ALWAYSPICKUP\n\tStates\n\t{\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_ChangeVelocity(0, 0, 500)\n\t\t\tTNT1 A 0 A_TakeInventory(\"BigFistKnockBack\", 1)\n\t\t\tStop\n\t}\n}\n\nactor Fist2 : Fartygun replaces Fist\n{\n+BLOODSPLATTER\n  Game Doom\n  Weapon.SelectionOrder 3700\n  Weapon.Kickback 500\n  +WEAPON.WIMPY_WEAPON\n  +WEAPON.MELEEWEAPON\n  +NOAUTOFIRE\n  Obituary \"%o was fisted by %k's\" // \"%o chewed on %k's fist.\"\n  States\n  {\n  Ready:\n\tPUNG A 0 A_TakeInventory(\"FistCounter\", 20)\n    PUNG A 1 A_WeaponReady\n    loop\n  Deselect:\n    PUNG A 0 A_StopSound(CHAN_WEAPON)\n\tPUNG A 0 A_Lower\n    loop\n  Select:\n\tPUNG A 0 A_JumpIfInventory(\"KnucklesCracked\", 1, \"ActualSelect\")\n\tTNT1 AAAAAAAAAAA 0 A_Raise\n\tKCRK A 1 offset(0,110)\n\tKCRK A 1 offset(0,95)\n\tKCRK A 1 offset(0,70)\n\tKCRK A 1 offset(0, 55)\n\tKCRK A 1 offset(0, 40)\n\tKCRK D 0 A_PlaySound(\"random/knuckles\")\n\tKCRK BC 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tKCRK D 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tKCRK CBA 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tKCRK A 0 A_GiveInventory(\"KnucklesCracked\", 1)\n  ActualSelect:\n    PUNG A 1 A_Raise\n\tPUNG A 0 A_Raise\n    loop\n  Fire:\n    TNT1 A 0\n\tTNT1 A 0 offset(1, 32)\n    TNT1 A 0 A_JumpIfInventory(\"PowerStrength\", 1, \"Atata\")\n\tTNT1 A 0 A_PlaySound(\"random/woosh\")\n    TNT1 A 0 A_Jump(128,\"Fire2\")\n    PUNG H 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    PUNG D 0 A_CustomPunch(2*random(1,10), true, 0, \"SwingCheckPuff\")\n\tPUNG D 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPUNG D 0 A_FireCustomMissile(\"boxgloves\")\n    PUNG CB 2 A_weaponReady\n\tPUNG A 2 A_WeaponReady\n\tPUNG A 0 A_ReFire\n    goto Ready\n\tFire2:\n    PUNG I 0\n    PUNG I 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    PUNG G 0 A_CustomPunch(2*random(1,10), true, 0, \"SwingCheckPuff\")\n\tPUNG G 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPUNG G 0 A_FireCustomMissile(\"boxgloves\")\n    PUNG FE 2 A_WeaponReady\n\tPUNG A 2 A_WeaponReady\n\tPUNG A 0 A_ReFire\n    goto Ready\n\tHold:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PowerStrength\", 1, \"Atata\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"FistCounter\", 1, \"ActualHold\")\n\t\tPUNG A 1 offset(1, 32) A_SetAngle(angle-0.5)\n\t\tPUNG A 0 A_SetPitch(pitch+0.1)\n\t\tPUNG A 1 offset(8, 34) A_SetAngle(angle-0.5)\n\t\tPUNG A 0 A_SetPitch(pitch+0.1)\n\t\tPUNG A 1 offset(16, 40) A_SetAngle(angle-1)\n\t\tPUNG A 0 A_SetPitch(pitch+0.1)\n\t\tPUNG A 1 offset(40, 50) A_SetAngle(angle-1.5)\n\t\tPUNG A 0 A_SetPitch(pitch+0.5)\n\t\tPUNG A 1 offset(80, 60) A_SetAngle(angle-2)\n\t\tPUNG A 0 A_SetPitch(pitch+0.5)\n\t\tPUNG A 1 offset(120, 70) A_SetAngle(angle-2.5)\n\t\tPUNG A 0 A_SetPitch(pitch+0.5)\n\t\tPUNG A 1 offset(140, 80) A_SetAngle(angle-3)\n\t\tTNT1 A 0 A_GiveInventory(\"FistCounter\", 1)\n\t\tTNT1 A 1\n\tActualHold:\n\t\tTNT1 A 0 A_GiveInventory(\"FistCounter\", 1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"FistCounter\", 20, \"BigSwing\")\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_ReFire\n\t\tTNT1 A 0 A_JumpIfInventory(\"FistCounter\", 10, \"DropKick\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"FistCounter\", 5, \"Kick\")\n\t\tGoto Fire\n\tKick:\n\t\tKICK A 0 offset(1, 32)\n\t\tKICK A 0 A_PlaySound(\"random/woosh\")\n\t\tKICK ABCDEFG 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tKICK G 0 A_CustomPunch(45, true, 0, \"SwingCheckPuff\")\n\t\tKICK G 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tKICK FEDCBA 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tTNT1 A 0 A_TakeInventory(\"FistCounter\", 20)\n\t\tTNT1 A 0 A_ReFire\n\t\tGoto Ready\n\tDropKick:\n\t\tKIC2 A 0 offset(1, 32)\n\t\tKIC2 A 0 A_ChangeVelocity(10, 0, 5, CVF_RELATIVE)\n\t\tKIC2 A 0 A_PlaySound(\"random/woosh\")\n\t\tKIC2 A 0\n\t\tKIC2 ABCDE 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tKIC2 F 0 A_CustomPunch(80, true, 0, \"SwingCheckPuff\")\n\t\tKIC2 F 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tKIC2 F 1 offset(0, 35)\n\t\tKIC2 F 1 offset(0, 40)\n\t\tKIC2 F 1 offset(0, 45)\n\t\tKIC2 F 1 offset(0, 55)\n\t\tKIC2 F 1 offset(0, 65)\n\t\tKIC2 F 1 offset(0, 80)\n\t\tKIC2 F 1 offset(0, 95)\n\t\tKIC2 F 1 offset(0, 115)\n\t\tKIC2 F 1 offset(0, 135)\n\t\tKIC2 F 1 offset(0, 155)\n\t\tTNT1 A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tTNT1 A 1 A_ReFire\n\t\tGoto Ready\n\tBigSwing:\n\t\tTNT1 A 0 A_PlaySound(\"random/bigwoosh\")\n\t\tTNT1 A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tBIGF A 1 offset(100, 60) A_SetAngle(angle+0.5)\n\t\tBIGF A 0 A_SetPitch(pitch-0.5)\n\t\tBIGF A 1 offset(50, 50) A_SetAngle(angle+1)\n\t\tBIGF A 0 A_SetPitch(pitch-1)\n\t\tBIGF A 1 offset(-1, 40) A_SetAngle(angle+1.5)\n\t\tBIGF A 0 A_SetPitch(pitch-1)\n\t\tBIGF A 0 A_CustomPunch(500, true, 0, \"SwingCheckPuffBig\")\n\t\tBIGF A 1 offset(-50, 35) A_SetAngle(angle+2)\n\t\tBIGF A 0 A_SetPitch(pitch-0.5)\n\t\tBIGF A 1 offset(-45, 32)\n\t\tBIGF A 0 A_JumpIfInventory(\"FistHit\", 1, \"HoldHit\")\n\tHoldMiss:\n\t\tBIGF A 1 offset(-100, 32) A_SetAngle(angle+2.5)\n\t\tBIGF A 1 offset(-150, 40) A_SetAngle(angle+3)\n\t\tBIGF A 1 offset(-200, 50) A_SetAngle(angle+3.5)\n\t\tBIGF A 1 offset(-250, 60) A_SetAngle(angle+4)\n\t\tTNT1 A 10 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tTNT1 A 0 A_TakeInventory(\"FistCounter\", 20)\n\t\tTNT1 A 0 A_ReFire\n\t\tgoto Ready\n\tHoldHit:\n\t\tBIGF A 0 A_Quake(9, 15, 0, 64, \"null\")\n\t\tBIGF A 0 A_GiveToTarget(\"BigFistKnockback\", 1)\n\t\tBIGF A 15 offset(0,0) A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tBIGF A 1 offset(-43, 35)\n\t\tBIGF A 1 offset(-40, 37)\n\t\tBIGF A 1 offset(-30, 40)\n\t\tBIGF A 1 offset(-15, 45)\n\t\tBIGF A 1 offset(1, 50)\n\t\tBIGF A 1 offset(15, 55)\n\t\tBIGF A 1 offset(45, 60)\n\t\tBIGF A 1 offset(75, 70)\n\t\tBIGF A 1 offset(105, 80)\n\t\tBIGF A 0 A_TakeInventory(\"FistHit\", 1)\n\t\tTNT1 A 0 A_TakeInventory(\"FistCounter\", 20)\n\t\tTNT1 A 0 A_ReFire\n\t\tgoto Ready\n  Atata:\n  PUNG B 0\n  PUNG B 0 A_PlaySound(\"fist/super\", CHAN_WEAPON, 3, 1)\n  PUNG DBEGEB 1 A_FireBullets(60,20,1,15,\"NewBulletPuff\",0,90)//A_CustomPunch(40)\n  PUNG G 0 A_Refire\n  HNDG J 0 A_StopSound(CHAN_WEAPON)\n  UPCU A 0 A_PlaySound(\"fist/superend\", CHAN_WEAPON, 3)\n  UPCU ABCD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  UPCU E 1 A_CustomPunch(500000)\n  HNDG J 0 A_Quake(15, 40, 0, 128)\n  UPCU EFGEFGEFG 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  UPCU E 25 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  UPCU DCBA 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  //HNDG J 0 A_CustomPunch(50000)\n  Goto Ready\n  AltFire:\n    PUNG A 1 offset(0,40)\n\tPUNG A 1 offset(0,45)\n\tPUNG A 1 offset(0,55)\n\tPUNG A 1 offset(0,70)\n\tPUNG A 1 offset(0,95)\n\tPUNG A 1 offset(0,110)\n\tTNT1 A 6 A_PlayWeaponSound(\"grenade/pin\")\n\tHNDG H 1 offset(0,40) A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tHNDG I 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tHNDG J 0 A_PlayWeaponSound(\"grenade/throw\")\n\t//HNDG J 2 A_FireProjectile(\"Granaat\", 0, 0, 0, 0, FPF_NOAUTOAIM, 3)\n\tHNDG J 0 A_FireCustomMissile(\"Granaat\",0,0,0,0,4,8)\n\tHNDG JKLMNOPQ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPUNG A 1 offset(0,110)\n\tPUNG A 1 offset(0,95)\n\tPUNG A 1 offset(0,70)\n\tPUNG A 1 offset(0,55)\n\tPUNG A 1 offset(0,45)\n\tPUNG A 1 offset(0,40)\n\tgoto Ready\n  }\n}\n\nactor boxgloves : MageWandMissile\n{\n -ripper\n damage 3\n radius 20\n height 5\n speed 100\n scale 0.05\n MissileType \"boxglovestrail\"\n obituary \"%o thinks %k has some nice boxing gloves.\"\n States\n {\n Spawn:\n TNT1 AAAAAA 1\n stop\n Xdeath:\n Crash:\n BOXX A 0\n BOXX A 0 ACS_NamedExecute(\"HitMarker\")\n BOXX A 0 A_PlaySound(\"player/punch\")\n TNT1 A 10\n stop\n }\n}\n\nactor boxglovestrail : Magewandsmoke\n{\n PROJECTILE\n speed 1\n renderstyle translucent\n alpha 0.5\n scale 0.05\n States\n {\n Spawn:\n boxx a 5\n stop\n }\n}\n\nactor GrenadeExplosion\n{\n\tPROJECTILE\n\t+NOGRAVITY\n\tscale 0.6\n\tStates\n\t{\n\tSpawn:\n\t\tBOOM A 0\n\t\tBOOM A 0 A_SpawnItemEx(\"ExplosionFlare\")\n\t\tBOOM ABCDEFGHIJKLMNOP 1 bright\n\t\tStop\n\t}\n}\n\nactor GrenadeExplosion2 : GrenadeExplosion\n{\n\tscale 1\n}\n\nactor Granaat\n{\n PROJECTILE\n -NOGRAVITY\n +USEBOUNCESTATE\n +HITTRACER\n BounceType \"Doom\"\n Radius 5\n Height 5\n Speed 25\n gravity 0.6\n scale 0.15\n bouncefactor 0.6\n wallbouncefactor 0.25\n bouncecount 4\n obituary \"%o went boom by %k's grenade.\"\n bouncesound \"grenade/bounce\"\n deathsound \"grenade/boom\"\n states\n {\n  Spawn:\n  BOMB ABCDEFGH 2\n  loop\n  Bounce:\n  BOMB A 0\n  BOMB A 0 A_SpawnItemEx(\"BouncePuff\")\n  Goto Spawn\n  Crash:\n  XDeath:\n  TNT1 A 0\n  TNT1 A 0 ACS_NamedExecute(\"hitmarker\")\n  TNT1 A 1\n  Goto Death\n  Death:\n  MISL B 0 A_Stop\n  MISL B 0 Radius_Quake(4,10,3,3,0)\n  MISL B 0 A_Explode(120,80,1)\n  MISL B 0 ACS_NamedExecute(\"HitMarker\")\n  MISL B 0 A_SpawnItemEx(\"GrenadeExplosion\")\n  TNT1 A 1\n  stop\n }\n}\n\nactor SlowRocket : Rocket\n{\n\tScale 4\n\tSpeed 5\n\tDamage 10000\n\tObituary \"%o was nuked to shit by %k's rocket.\"\n\tSeeSound \"nuke/launch\"\n\tDamageType \"None\"\n\tDeathSound \"nuke/explode\"\n\tStates\n\t{\n\t\tDeath:\n\t\t\tMISL BBBBBBBBBBBBB 0 A_SpawnItemEx(\"GayNukeFlame\",frandom(-128, 128), frandom(-128,128))\n\t\t\tMISL B 6 bright A_Explode(721893712, 5000)\n\t\t\tMISL CDEFGHIJKLMN 6 bright\n\t\t\tstop\n\t}\n}\n\nactor Rocket2 : Rocket replaces Rocket\n{\n+BLOODSPLATTER\n+HITTRACER\nDamageType \"None\"\nObituary \"%o took %k's dick up his ass.\"\nStates\n{\nXDeath:\nCrash:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecute(\"Hitmarker\")\nTNT1 A 1\nGoto Death\nDeath:\nMISL B 0\nMISL B 0 A_SpawnItemEx(\"ExplosionFlare\")\nMISL B 2 bright A_Explode\nMISL CDEFGHIJKLMN 2 bright\nstop\n}\n}\n\nactor DevastatorCount : ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 2\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 2\n}\n\nactor DevastatorPickup : CustomInventory\n{\n\tInventory.PickupMessage \"Devastator. Groovy.\"\n\tInventory.PickupSound \"misc/w_pkup\"\n\tInventory.MaxAmount 0\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDEVP A -1\n\t\t\tloop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"FartRocketAmmo\", 0, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 4)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"DevastatorCount\", 2, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 2)\n\t\t\tTNT1 A 0 A_RailWait\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"FartRocketAmmo\", 4)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"DevastatorCount\", 1, \"Pickup2\")\n\t\t\tTNT1 A 0 A_GiveInventory(\"Devastator\")\n\t\t\tTNT1 A 0 A_GiveInventory(\"DevastatorCount\", 1)\n\t\t\tstop\n\t\tPickup2:\n\t\t\tTNT1 A 0 A_GiveInventory(\"DevastatorDouble\", 1)\n\t\t\tTNT1 A 0 A_GiveInventory(\"DevastatorCount\", 1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"Devastator\", 1)\n\t\t\tstop\n\t}\n}\n\nactor Devastator : Fartygun\n{\n\tInventory.PickupMessage \"Groovy.\"\n\tWeapon.SelectionOrder 2500\n\tWeapon.AmmoType \"FartRocketAmmo\"\n\tWeapon.AmmoUse 1\n\tWeapon.AmmoGive 4\n\t+WEAPON.NOAUTOFIRE\n\t+BLOODSPLATTER\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDEVP A -1\n\t\t\tstop\n\t\tSelect:\n\t\t\tDEVS A 0 A_Raise\n\t\t\tDEVS A 1 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tDEVS A 0 A_Lower\n\t\t\tloop\n\t\tReady:\n\t\t\tDEVS A 1 A_WeaponReady\n\t\t\tloop\n\t\tFire:\n\t\t\tDEVS B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVS C 0 A_Jump(248, 3)\n\t\t\tDEVS C 0 A_FireCustomMissile(\"SlowRocket\")\n\t\t\tDEVS C 0 A_Jump(256, 2)\n\t\t\tDEVS C 0 A_FireMissile\n\t\t\tDEVS C 0 A_Recoil(3)\n\t\t\tDEVS C 0 A_Quake(4, 6, 0, 2)\n\t\t\tDEVS C 0 A_SetPitch(pitch-3)\n\t\t\tDEVS C 1 A_SetPitch(pitch+1, SPF_INTERPOLATE)\n\t\t\tDEVS C 0 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVS D 1 A_SetPitch(pitch+1, SPF_INTERPOLATE)\n\t\t\tDEVS D 0 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVS E 1 A_SetPitch(pitch+1, SPF_INTERPOLATE)\n\t\t\tDEVS E 0 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVS FB 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVS A 14 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVS A 0 A_ReFire\n\t\t\tGoto Ready\n\t\tAltFire:\n\t\t\tDEVS AB 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tAltFireLoop:\n\t\t\tMISF B 0 A_JumpIfInventory(\"FartRocketAmmo\", 1, 1)\n\t\t\tGoto EndAltfire\n\t\t\tDEVS C 0 A_TakeInventory(\"FartRocketAmmo\", 1)\n\t\t\tDEVS C 0 A_FireMissile\n\t\t\tDEVS C 0 A_SetAngle(angle-frandom(-3,3))\n\t\t\tDEVS C 0 A_SetPitch(pitch-frandom(-3,3))\n\t\t\tDEVS C 0 A_Recoil(3)\n\t\t\tloop\n\t\tEndAltfire:\n\t\t\tDEVS C 0 Radius_Quake(4, 6, 0, 2, 0)\n\t\t\tDEVS CDEFBAA 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVS A 0 A_ReFire\n\t\t\tGoto Ready\n\t}\n}\n\nactor DevastatorDouble : Fartygun\n{\n\tInventory.PickupMessage \"Groovy.\"\n\tWeapon.SelectionOrder 2500\n\tWeapon.AmmoType \"FartRocketAmmo\"\n\tWeapon.AmmoUse 1\n\tWeapon.AmmoGive 4\n\t+BLOODSPLATTER\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDEVP A -1\n\t\t\tstop\n\t\tSelect:\n\t\t\tDEVD H 0 A_Raise\n\t\t\tTNT1 A 0 A_GunFlash(\"RightStop\")\n\t\t\tDEVD H 1 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tDEVD H 0 A_GunFlasH(\"RightStop\")\n\t\t\tDEVD H 0 A_Lower\n\t\t\tloop\n\t\tReady:\n\t\t\tDEVD A 0 A_GunFlash(\"RightReady\")\n\t\tActualReady:\n\t\t\tDEVD H 1 A_WeaponReady(WRF_NOSECONDARY)\n\t\t\tloop\n\t\tFire:\n\t\t\tDEVD I 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD J 0 A_Jump(250, 3)\n\t\t\tDEVD J 0 A_FireCustomMissile(\"SlowRocket\", 0, 1, -10)\n\t\t\tDEVD J 0 A_Jump(256, 2)\n\t\t\tDEVD J 0 A_FireCustomMissile(\"Rocket2\", 0, 1, -10)\n\t\t\tDEVD J 0 A_Recoil(3)\n\t\t\tDEVD J 0 A_Quake(4, 6, 0, 2)\n\t\t\tDEVD J 0 A_SetPitch(pitch-6)\n\t\t\tDEVD J 1 A_SetPitch(pitch+2, SPF_INTERPOLATE)\n\t\t\tDEVD J 0 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD K 1 A_SetPitch(pitch+2, SPF_INTERPOLATE)\n\t\t\tDEVD K 0 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD L 1 A_SetPitch(pitch+2, SPF_INTERPOLATE)\n\t\t\tDEVD L 0 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD MN 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD H 14 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD H 0 A_ReFire\n\t\t\tGoto ActualReady\n\n\t\tRightReady:\n\t\t\tDEVD A 1 A_JumpIfInventory(\"WeaponRightFire\", 1, \"RightFire\")\n\t\t\tloop\n\t\tRightFire:\n\t\t\tDEVD B 0 A_JumpIfInventory(\"FartRocketAmmo\", 1, 2)\n\t\t\tDEVD A 1\n\t\t\tGoto RightReady\n\t\t\tDEVD B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD C 0 A_Jump(250, 3)\n\t\t\tDEVD C 0 A_FireCustomMissile(\"SlowRocket\", 0, 1, 10)\n\t\t\tDEVD C 0 A_Jump(256, 2)\n\t\t\tDEVD C 0 A_FireCustomMissile(\"Rocket2\", 0, 1, 10)\n\t\t\tDEVD C 0 A_Recoil(3)\n\t\t\tDEVD C 0 A_Quake(4, 6, 0, 2)\n\t\t\tDEVD C 0 A_SetPitch(pitch-6)\n\t\t\tDEVD C 1 A_SetPitch(pitch+2, SPF_INTERPOLATE)\n\t\t\tDEVD C 0 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD D 1 A_SetPitch(pitch+2, SPF_INTERPOLATE)\n\t\t\tDEVD D 0 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD E 1 A_SetPitch(pitch+2, SPF_INTERPOLATE)\n\t\t\tDEVD E 0 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD FG 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDEVD A 14 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\t//DEVD A 0 A_ReFire\n\t\t\tGoto RightReady\n\t\tRightStop:\n\t\t\tDEVD A 1\n\t\t\tloop\n\t}\n}\n\n/*actor FartLauncher : Fartygun\n{\nInventory.PickupMessage \"It's a Fart Launcher! Groovy.\"\nWeapon.SelectionOrder 2500\nWeapon.AmmoType \"FartRocketAmmo\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 4\n+WEAPON.NOAUTOFIRE\n+BLOODSPLATTER\n  States\n  {\n  Spawn:\n\tLAUN A -1\n\tStop\n  Ready:\n  MISG A 1 A_WeaponReady\n  loop\n  Select:\n  MISG A 0 A_Raise\n  MISG A 1 A_Raise\n  loop\n  Deselect:\n  MISG A 0 A_Lower\n  loop\n  Fire:\n\tMISG B 0 A_Jump(248, 3)\n\tMISG B 0 A_FireCustomMissile(\"SlowRocket\")\n\tMISG B 0 A_Jump(256, 2)\n    MISG B 0 A_FireMissile\n    MISG B 0 A_Recoil(3)\n    MISG B 0 Radius_Quake(4,6,0,2,0)\n\tMISG B 0 A_GunFlash\n    MISG B 8 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    MISG B 12 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    MISG B 0 A_ReFire\n    Goto Ready\n  Flash:\n    MISF A 1 Bright A_Light1\n    MISF B 2 Bright\n    MISF CD 2 Bright A_Light2\n    Goto LightDone\n  AltFire:\n  MISF B 0\n  MISF B 0 A_JumpIfInventory(\"FartRocketAmmo\", 1, 1)\n  Goto EndAltfire\n  MISF B 0 A_TakeInventory(\"FartRocketAmmo\", 1)\n  MISF B 0 A_FireMissile\n  MISF B 0 A_SetAngle(angle-frandom(-3,3))\n  MISF B 0 A_SetPitch(pitch-frandom(-3,3))\n  MISF B 0 A_Recoil(3)\n  Goto AltFire\n  EndAltfire:\n  MISG B 0\n  MISG B 0 Radius_Quake(4, 6, 0, 2, 0)\n  MISG B 8 A_GunFlash\n  MISG B 12 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  MISG B 0 A_ReFire\n  Goto Ready\n  }\n}*/\n\nactor GM94Pumped : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor GM94Reloading : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor GM94 : Fartygun replaces GrenadeLauncher\n{\n\tInventory.PickupMessage \"Is this a shotgun or a grenade launcher?\"\n\tobituary \"%o received a faceful of piping hot bomb fresh from mama %k's kitchen.\"\n\tradius 20\n\theight 16\n\tweapon.ammotype \"FartRocketAmmo\"\n\tweapon.ammogive 6\n\t+WEAPON.NOAUTOAIM\n\tScale 0.25\n\tstates\n\t{\n\t\tSpawn:\n\t\t\tGRAP A -1\n\t\t\tStop\n\t\tSelect:\n\t\t\tGM94 A 0\n\t\t\tGM94 A 0 A_JumpIfInventory(\"GM94Pumped\", 1, \"ActualSelect\")\n\t\t\tTNT1 AAAAAAAAAAAAAAA 0 A_Raise\n\t\t\tGM94 HIJ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 J 0 A_PlaySound(\"gm94/pump\")\n\t\t\tGM94 K 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 JIH 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 A 0 A_GiveInventory(\"GM94Pumped\", 1)\n\t\tActualSelect:\n\t\t\tGM94 A 0 A_Raise\n\t\t\tGM94 A 1 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tGM94 A 0 A_TakeInventory(\"GM94Reloading\")\n\t\t\tGM94 A 0 A_Lower\n\t\t\tloop\n\t\tReady:\n\t\t\tGM94 A 1 A_WeaponReady(WRF_ALLOWRELOAD)\n\t\t\tloop\n\t\tFire:\n\t\t\tGM94 A 0\n\t\t\tGM94 A 0 A_JumpIfInventory(\"GM94Clip\", 1, 1)\n\t\t\tGoto Reload\n\t\t\tGM94 A 0 A_JumpIfInventory(\"GM94Reloading\", 1, \"ReloadEnd\")\n\t\t\tGM94 A 0 A_JumpIfInventory(\"GM94Pumped\", 1, 1)\n\t\t\tGoto FirePump\n\t\t\tGM94 A 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 A 0 A_Quake(5, 6, 0, 1)\n\t\t\tGM94 A 0 A_PlaySound(\"gm94/shoot\", CHAN_WEAPON)\n\t\t\tGM94 A 0 A_FireCustomMissile(\"Grenade2\", 0, 1, 0, 0, 4, 8)\n\t\t\tGM94 A 0 A_SetPitch(pitch-10)\n\t\t\tGM94 A 0 A_SetAngle(angle+frandom(-7, 7))\n\t\t\tGM94 A 0 A_TakeInventory(\"GM94Clip\", 1)\n\t\t\tGM94 A 0 A_TakeInventory(\"GM94Pumped\", 1)\n\t\t\tGM94 B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 B 0 A_SetPitch(pitch+2)\n\t\t\tGM94 C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 C 0 A_SetPitch(pitch+2)\n\t\t\tGM94 D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 D 0 A_SetPitch(pitch+2)\n\t\t\tGM94 E 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 E 0 A_SetPitch(pitch+2)\n\t\t\tGM94 FG 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 A 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 A 0 A_ReFire\n\t\t\tGM94 A 8 A_WeaponReady\n\t\t\tGoto Ready\n\t\tFirePump:\n\t\t\tGM94 J 0 A_PlaySound(\"gm94/pump\")\n\t\t\tGM94 HIJ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 K 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 JIH 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 A 0 A_GiveInventory(\"GM94Pumped\", 1)\n\t\t\tGM94 A 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM94 A 0 A_ReFire\n\t\t\tGM94 A 8 A_WeaponReady\n\t\t\tGoto Ready\n\t\tReload:\n\t\t\tGM9R A 0\n\t\t\tGM9R A 0 A_JumpIfInventory(\"GM94Clip\", 0, \"Ready\")\n\t\t\tGM9R A 0 A_JumpIfInventory(\"FartRocketAmmo\", 1, 1)\n\t\t\tGoto Ready\n\t\t\tGM9R A 0 A_GiveInventory(\"GM94Reloading\", 1)\n\t\t\tGM9R AB 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM9R C 0 A_PlaySound(\"gm94/open\", CHAN_WEAPON)\n\t\t\tGM9R C 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM9R DEF 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM9R F 0 A_JumpIfInventory(\"GM94Clip\", 1, \"ReloadLoop\")\n\t\tReload1:\n\t\t\tGM9R FGHIJ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM9R J 0 A_PlaySound(\"gm94/load\", CHAN_WEAPON)\n\t\t\tGM9R J 0 A_GiveInventory(\"GM94Clip\", 1)\n\t\t\tGM9R J 0 A_TakeInventory(\"FartRocketAmmo\", 1)\n\t\t\tGM9R KL 2 A_WeaponReady\n\t\tReloadLoop:\n\t\t\tGM9R M 0 A_JumpIfInventory(\"FartRocketAmmo\", 1, 1)\n\t\t\tGoto ReloadEnd\n\t\t\tGM9R M 0 A_JumpIfInventory(\"GM94Clip\", 0, \"ReloadEnd\")\n\t\t\tGM9R MNOPJ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM9R J 0 A_PlaySound(\"gm94/load\", CHAN_WEAPON)\n\t\t\tGM9R J 0 A_GiveInventory(\"GM94Clip\", 1)\n\t\t\tGM9R J 0 A_TakeInventory(\"FartRocketAmmo\", 1)\n\t\t\tGM9R KL 2 A_WeaponReady\n\t\t\tloop\n\t\tReloadEnd:\n\t\t\tGM9R EDC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM9R C 0 A_PlaySound(\"gm94/close\", CHAN_WEAPON)\n\t\t\tGM9R BA 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGM9R A 0 A_TakeInventory(\"GM94Reloading\", 1)\n\t\t\tGM9R A 0 A_ReFire\n\t\t\tGoto Ready\n\t}\n}\n\n/*Actor GrenadeFarter : FartyGun replaces GrenadeLauncher\n{\n\tInventory.PickupMessage \"Grenade Farter. Serious firepower.\"\n\tObituary \"%o likes %k's grenade in his face.\"\n\tRadius 20\n\tHeight 16\n\tWeapon.AmmoType \"FartRocketAmmo\"\n\tWeapon.AmmoUse 1\n\tWeapon.AmmoGive 4\n\t+WEAPON.NOAUTOFIRE\n\t+WEAPON.NOAUTOAIM\n\tStates\n\t{\n\t\tSelect:\n\t\t\tROGL A 0 A_Raise\n\t\t\tROGL A 1 A_Raise\n\t\t\tloop\n\t\tDeSelect:\n\t\t\tROGL A 0 A_Lower\n\t\t\tloop\n\t\tReady:\n\t\t\tROGL A 1 A_WeaponReady\n\t\t\tloop\n\t\tFire:\n\t\t\tROGL B 0 A_Quake(4, 6, 0, 1)\n\t\t\tROGL B 0 A_FireCustomMissile(\"Grenade2\",0,1,0,0,4,8)\n\t\t\tROGL BCDE 2 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tROGL FG 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tROGL G 0 A_PlaySound(\"grenadelauncher/spin\")\n\t\t\tROGL HIJA 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tROGL A 2 A_ReFire\n\t\t\tGoto Ready\n\t\tSpawn:\n\t\t\tRGLP A -1\n\t\t\tStop\n\t}\n}*/\n\nactor LauncherSpawner : RandomSpawner replaces RocketLauncher\n{\n\tDropItem \"DevastatorPickup\", 255, 10\n\tDropItem \"Flamethrower\", 255, 5\n\tDropItem \"GM94\", 255, 5\n}\n\nactor Grenade2 : Granaat replaces Grenade\n{\n\tSpeed 35\n\tDamage 40\n\tRadius 8\n\tSeeSound \"grenade/throw\"\n\tObituary \"$OB_GRENADE\" // \"%o caught %k's grenade.\"\n\tDamageType Grenade\n\tStates\n\t{\n\t\tDeath:\n\t\t\tBOOM A 0 A_Scream\n\t\t\tBOOM A 0 A_Explode(225, 164)\n\t\t\tMISL B 0 A_SpawnItemEx(\"GrenadeExplosion2\")\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t}\n}\n\nactor GayPlasma: PlasmaBall replaces PlasmaBall\n{\n+BLOODSPLATTER\n decal Gaydecal1\n +SEEKERMISSILE\n +HITTRACER\n renderstyle add\n alpha 1\n Translation \"192:207=[255,168,255]:[83,0,83]\", \"240:247=[83,0,83]:[55,0,55]\"\n SeeSound \"\"\n States\n {\n  Spawn:\n  PLSS A 0 A_SpawnItemEx(\"FartRifleParticle\", 0, 0, 0, frandom(-2, 2), frandom(-2, 2), frandom(-2, 2))\n  PLSS A 2 bright A_Jump(70, \"End\")\n  PLSS A 0 A_SpawnItemEx(\"FartRifleParticle\", 0, 0, 0, frandom(-2, 2), frandom(-2, 2), frandom(-2, 2))\n  PLSS B 2 bright A_Jump(70,\"End\")\n  loop\n  End:\n  PLSE ABCDEABCDE 1 bright\n  Goto Spawn\n  XDeath:\n  Crash:\n  TNT1 A 0\n  TNT1 A 0 ACS_NamedExecute(\"Hitmarker\")\n  TNT1 A 1\n  Goto Death\n  Death:\n  PLSS AAAAA 0 A_SpawnItemEx(\"FartRifleParticle\", 0, 0, 0, frandom(-2, 2), frandom(-2, 2), frandom(-2, 2))\n  PLSE A 0 A_SpawnItemEx(\"FartRifleFlareSmall\")\n  PLSE ABCDE 2 bright\n  stop\n }\n}\n\nactor GayNukeClouds\n{\n +NOGRAVITY\n mass 0\n scale 6\n Translation \"192:207=[255,168,255]:[83,0,83]\", \"240:247=[83,0,83]:[55,0,55]\"\n renderstyle add\n alpha 1\n States\n {\n  Spawn:\n  PLSE A 0 A_SetPitch(random(-90, 90))\n  PLSE ACABBACDADBCADCBABDBCDE 1 bright\n  stop\n }\n}\n\nactor GayNukeExplosion\n{\n +NOGRAVITY\n mass 0\n scale 4\n renderstyle add\n states\n {\n spawn:\n MISL BDEFGHIJKLMN 4 bright\n stop\n }\n}\n\nactor GayNukeTrail : GayNukeClouds\n{\n scale 3\n alpha 0.5\n States\n {\n  Spawn:\n  PLSE A 0 A_Jump(128, 0, 6, 9, 12)\n  PLSE ABABCACDBCBDCDE 1 bright\n  stop\n }\n}\n\nactor GayNukeFlame\n{\n scale 1\n +NOBLOCKMAP\n +MOVEWITHSECTOR\n +NOTELEPORT\n ReactionTime 20\n DamageType \"Fire\"\n States\n {\n  Spawn:\n  FLME ABC 3 bright\n  FLME A 0 A_Explode(5, 64)\n  FLME DEF 3 bright\n  FLME A 0 A_Explode(5, 64)\n  FLME GHI 3 bright\n  FLME A 0 A_Explode(5, 64)\n  FLME JKL 3 bright\n  FLME A 0 A_Explode(5, 64)\n  FLME MN 3 bright\n  FLME N 0 bright A_Explode(5, 64)\n  FLME A 0 A_CountDown\n  loop\n  Death:\n  FLME ABCDEFGHIJKLMN 3 bright A_FadeOut(0.1)\n  loop\n }\n}\n\nactor GayNukeFlame2 : GayNukeFlame\n{\n\tscale 0.6\n\tReactionTime 10\n\tStates\n\t{\n\t\tSpawn:\n\t\tTNT1 A 0\n\t\tGoto Super::Spawn\n\t}\n}\n\nactor GayNukePlasma : GayPlasma\n{\n speed 90\n scale 4\n radius 11\n damage 5000\n var int user_radiusspawn;\n renderstyle normal\n SeeSound \"none\"\n //DeathSound \"weapons/rocklx\"\n States\n {\n  Spawn:\n  PLSE AAAAAAAAAAA 0 A_SpawnItemEx(\"GayNukeClouds\", 0, 0, 0, frandom(10,40), frandom(-20,20), frandom(-20,20), frandom(0, 360))\n  Spawnloop:\n  PLSS A 1 bright A_SpawnItemEx(\"GayNukeTrail\")\n  PLSS A 0 bright A_SpawnItemEx(\"FartRifleFlare1\")\n  loop\n  Crash:\n  XDeath:\n  TNT1 A 0\n  TNT1 A 0 ACS_NamedExecute(\"Hitmarker\")\n  TNT1 A 1\n  Goto Death\n  Death:\n  PLSE A 0\n  PLSE A 0 A_PlaySound(\"gay/explode\",0,1,0)\n  PLSE A 0 A_SetUserVar(\"user_radiusspawn\", 0)\n  PLSE AAAAAAAA 0 A_SpawnItemEx(\"GayNukeFlame\",frandom(-128, 128), frandom(-128,128))\n  PLSE A 0 A_SpawnItemEx(\"FartRifleFlareHuge\", 0, 0, 64)\n  //PLSE AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile(\"GayPlasma\", 0, 0, frandom(0,360), CMF_ABSOLUTEANGLE)\n  DeathLoop:\n  //PLSE A 0 A_SpawnItemEx(\"GayPlasma\",0,0,0,user_radiusspawn)\n  PLSE A 0 A_CustomMissile(\"GayPlasma\", 0, 0,user_radiusspawn, CMF_ABSOLUTEANGLE | CMF_AIMDIRECTION, user_radiusspawn/40)\n  PLSE A 0 A_SetUserVar(\"user_radiusspawn\", user_radiusspawn+5)\n  PLSE A 0 A_JumpIf(user_radiusspawn>=3600,2)\n  loop\n  PLSE AAAAAAAAAAA 0 A_SpawnItemEx(\"GayNukeClouds\", 0, 0, 0, 30, 0, 0, frandom(0, 360))\n  PLSE AAAAAAAAAAA 0 A_Explode(5000, 512)\n  PLSE A 0 A_RadiusThrust(80000, 512, RTF_AFFECTSOURCE)\n  //PLSE ABABABCDCDCDABCDECDE 1 bright\n  MISL BCD 4 bright\n  MISL EFGHIJKLMN 4 bright\n  stop\n }\n}\n\nactor FartRifle : FartyGun\n{\n  +BLOODSPLATTER\n  Inventory.PickupMessage \"Made do with a Fart Rifle.\"\n  Weapon.SelectionOrder 100\n  Weapon.AmmoType \"FartCell\"\n  Weapon.AmmoGive 40\n  Weapon.AmmoType2 \"FartRifleCounter\"\n  Weapon.AmmoUse 1\n  States\n  {\n  Spawn:\n\tPLAS A -1\n\tStop\n  Ready:\n  PLSG A 1 A_WeaponReady\n  loop\n  Select:\n  PLSG A 0 A_Raise\n  PLSG A 1 A_Raise\n  loop\n  Deselect:\n  PLSG A 0 A_Lower\n  loop\n  Ready:\n  PLSG A 1 A_WeaponReady\n  PLSG A 0 A_TakeInventory(\"FartRifleCounter\", 2)\n  loop\n  Flash:\n    PLSF A 2 Bright A_Light1\n    Goto LightDone\n    PLSF B 2 Bright A_Light1\n    Goto LightDone\n  Fire:\n  PLSG A 0\n  PLSG A 0 A_JumpIfInventory(\"PowerDoubleFiringSpeed\", 1, \"RageAltfire\")\n  PLSG A 0 A_JumpIfInventory(\"RuneDoubleFiringSpeed\", 1, \"RageAltfire\")\n  PLSG A 0 A_JumpIfInventory(\"FartRifleCounter\", 100, 3)\n  PLSG A 0 A_GiveInventory(\"FartRifleCounter\", 2)\n  PLSG A 0 A_Jump(255, 2)\n  PLSG A 0 A_Jump(10, \"BigFire\")\n  PLSG A 0 A_GunFlash\n  PLSG A 0 A_FirePlasma\n  PLSG A 0 A_PlaySound(\"weapons/plasmaf\", CHAN_WEAPON)\n  PLSG A 0 A_SetPitch(pitch-2)\n  PLSG A 0 A_SetPitch(pitch+1)\n  PLSG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  PLSG A 0 A_SetPitch(pitch+1)\n  PLSG AA 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  PLSG A 0 A_ReFire\n  CoolStart:\n\tPKPL ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  CoolLoop:\n\tPLSG B 0 A_JumpIfInventory(\"FartRifleCounter\", 1, 1)\n\tGoto CoolEnd\n\tPLSG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPLSG B 0 A_SpawnItemEx(\"PlasmaRifleCoolSmoke\", 10, -10, 46)\n\tPLSG B 0 A_TakeInventory(\"FartRifleCounter\", 2)\n\tLoop\n  CoolEnd:\n\tPKPL CBA 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tGoto Ready\n  BigFire:\n  PLSG A 0 A_PlaySound(\"gay/shoot\", 1, 1, 0)\n  PLSG A 50 A_Quake(3, 50, 0, 16)\n  PLSF A 50 A_Quake(7, 50, 0, 25)\n  PLSF B 45 A_Quake(15, 50, 0, 60)\n  PLSG A 0 A_GunFlash\n  PLSG A 0 A_Quake(600, 5, 0, 2)\n  PLSF B 3 A_FireCustomMissile(\"GayNukePlasma\", 0, 1, 0, 0, 0, 0)\n  PLSG A 0 A_SetPitch(pitch-15)\n  PLSG B 20 A_Recoil(150)\n  Goto Ready\n  RageAltfire:\n  PLSG A 0 A_GunFlash\n  PLSG A 0 A_Recoil(150)\n  PLSG A 60 A_FireCustomMissile(\"GayNukePlasma\", 0, 1, 0, 0, 0, 0)\n  PLSG B 40 A_ReFire\n  Goto Ready\n  }\n}\n\nactor MinifartSpun : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nACTOR Minifart : FartyGun replaces Minigun\n{\n+BLOODSPLATTER\n  SpawnID 214\n  Radius 20\n  Height 16\n  Weapon.AmmoType \"FartClip\"\n  Weapon.AmmoGive 100\n  Weapon.AmmoUse 1\n  Weapon.Selectionorder 700\n  Weapon.Kickback 100\n  Inventory.PickupMessage \"It's a minigun! Neat.\" // \"%o was drilled by %k's minigun.\"\n  Obituary \"$OB_MINIGUN\" // \"You got the minigun!\"\n  //AttackSound \"weapons/minigun\"\n  States\n  {\n  Spawn:\n    MNGN A -1\n    Loop\n  Ready:\n    MNGS A 1 A_WeaponReady\n    Loop\n  Deselect:\n\tMNGS A 0 A_StopSoundEx(\"Weapon\")\n\tMNGS A 0 A_Lower\n    Loop\n  Select:\n\tMNGS A 0 A_JumpIfInventory(\"MinifartSpun\", 1, \"ActualSelect\")\n\tMNSG A 0 A_PlaySound(\"mini/spin\")\n\tMNGS A 1 offset(0, 110)\n\tMNGS B 1 offset(0, 100)\n\tMNGS C 1 offset(0, 90)\n\tMNGS D 1 offset(0, 80)\n\tMNGS A 1 offset(0, 70)\n\tMNGS B 1 offset(0, 60)\n\tMNGS C 1 offset(0, 50)\n\tMNGS D 1 offset(0, 40)\n\tMNGS A 1 offset(0, 37)\n\tMNGS B 1 offset(0, 34)\n\tMNGS C 1 offset(0, 33)\n\tMNGS DABBCCCDDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tMNGS D 0 A_GiveInventory(\"MinifartSpun\", 1)\n\tActualSelect:\n    MNGS A 0 A_Raise\n    MNGS A 1 A_Raise\n    Loop\n  Fire:\n    MNGS A 0 A_PlayWeaponSound(\"mini/up\")\n    MNGS BBBCCD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    MNGG A 0 A_PlaySoundEx(\"mini/fire\",\"Weapon\",1)\n    MNGG A 0 A_GunFlash\n    MNGS A 0 A_FireBullets(5.6, 0, 1, 5, \"NewBulletPuff\")\n\tMNGS A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n    MNGG A 0 ////ACS_Execute(287,0,10,random(2,4),0)\n    MNGS B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    MNGS C 0 A_FireBullets(5.6, 0, 1, 5, \"NewBulletPuff\")\n\tMNGS C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n    MNGS D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    MNGG B 0 ////ACS_Execute(287,0,10,random(2,4),0)\n    MNGG B 0 A_ReFire\n    MNGG A 0 A_StopSoundEx(\"Weapon\")\n    MNGG A 0 A_PlayWeaponSound(\"mini/down\")\n    MNGS BCDBCDBCDBCDBBCCDDBBBCCCDDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    Goto Ready\n   Hold:\n    MNGG A 0\n    MNGG A 0 A_PlaySoundEx(\"mini/fire\",\"Weapon\",1)\n    MNGG A 0 A_GunFlash\n    MNGG A 0 Radius_Quake(2,8,0,1,0)\n\tSHT2 A 0 A_ChangeVelocity(cos(pitch)*-0.5, 0, sin(pitch)*0.5, CVF_RELATIVE)\n    MNGG A 0 A_SetPitch(pitch-0.5)\n\tMNGG A 0 A_SetAngle(angle-random(-2, 2))\n    MNGS A 0 A_FireBullets(5.6, 3.5, 1, 5, \"NewBulletPuff\")\n\tMNGS A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n    MNGS B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    SHT2 A 0 A_ChangeVelocity(cos(pitch)*-0.5, 0, sin(pitch)*0.5, CVF_RELATIVE)\n    MNGG A 0 A_SetPitch(pitch-.5)\n\tMNGG A 0 A_SetAngle(angle-random(-2, 2))\n    MNGS C 0 A_FireBullets(5.6, 3.5, 1, 5, \"NewBulletPuff\")\n\tMNGS C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n    MNGS D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    MNGG B 0 A_ReFire\n    MNGG A 0 A_StopSoundEx(\"Weapon\")\n    MNGG A 0 A_PlayWeaponSound(\"mini/down\")\n    MNGS BCDBCDBCDBCDBBCCDDBBBCCCDDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    Goto Ready\n\tAltFire:\n\t//A_FireCustomMissile(\"fartgrenade\",random(2,-2),0,0,0)\n    MNGG A 0 A_PlaySoundEx(\"mini/fire\",\"Weapon\",1)\n    MNGG A 0 A_GunFlash\n    MNGG A 0 Radius_Quake(2,8,0,1,0)\n\tSHT2 A 0 A_ChangeVelocity(cos(pitch)*-0.5, 0, sin(pitch)*0.5, CVF_RELATIVE)\n    MNGG A 0 A_SetPitch(pitch-0.5)\n\tMNGG A 0 A_SetAngle(angle-random(-2, 2))\n    MNGS A 0 A_FireCustomMissile(\"fartgrenade\",random(2,-2),0,0,0)\n\tMNGS A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n    MNGS B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    SHT2 A 0 A_ChangeVelocity(cos(pitch)*-0.5, 0, sin(pitch)*0.5, CVF_RELATIVE)\n    MNGG A 0 A_SetPitch(pitch-.5)\n\tMNGG A 0 A_SetAngle(angle-random(-2, 2))\n    MNGS C 0 A_FireCustomMissile(\"fartgrenade\",random(2,-2),0,0,0)\n\tMNGS C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n    MNGS D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    MNGG B 0 A_ReFire\n    MNGG A 0 A_StopSoundEx(\"Weapon\")\n    MNGG A 0 A_PlayWeaponSound(\"mini/down\")\n    MNGS BCDBCDBCDBCDBBCCDDBBBCCCDDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tGoto Ready\n\tAltHold:\n\tMNGG A 0 A_PlaySoundEx(\"mini/fire\",\"Weapon\",1)\n    MNGG A 0 A_GunFlash\n    MNGG A 0 Radius_Quake(2,8,0,1,0)\n\tSHT2 A 0 A_ChangeVelocity(cos(pitch)*-0.5, 0, sin(pitch)*0.5, CVF_RELATIVE)\n    MNGG A 0 A_SetPitch(pitch-0.2)\n\tMNGG A 0 A_SetAngle(angle-random(-1.5, 1.5))\n    MNGS A 0 A_FireCustomMissile(\"fartgrenade\",random(2,-2),0,0,0)\n\tMNGS A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n    MNGS B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    SHT2 A 0 A_ChangeVelocity(cos(pitch)*-0.5, 0, sin(pitch)*0.5, CVF_RELATIVE)\n    MNGG A 0 A_SetPitch(pitch-.2)\n\tMNGG A 0 A_SetAngle(angle-random(-1.5,1.5))\n    MNGS C 0 A_FireCustomMissile(\"fartgrenade\",random(2,-2),0,0,0)\n\tMNGS C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n    MNGS D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    MNGG B 0 A_ReFire\n    MNGG A 0 A_StopSoundEx(\"Weapon\")\n    MNGG A 0 A_PlayWeaponSound(\"mini/down\")\n    MNGS BCDBCDBCDBCDBBCCDDBBBCCCDDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tGoto Ready\n   Flash:\n    TNT1 A 1\n    MNCF A 1 BRIGHT A_Light2\n    TNT1 A 1 BRIGHT A_Light0\n    MNCF B 1 BRIGHT A_Light1\n    TNT1 A 1 BRIGHT A_Light0\n    Stop\n  }\n}\n\nactor SGCounter : Ammo\n{\n\tinventory.amount 6\n\tinventory.maxamount 6\n\tAmmo.backpackamount 0\n\tAmmo.backpackmaxamount 6\n}\n\nactor SGCocking : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor SGReloading : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor Shotfart : FartyGun replaces Shotgun 2001\n{\nInventory.PickupMessage \"Confiscated a Shartgun.\"\nObituary \"%o got steaming hot shitpellets in his face from %k's shartgun.\"\nWeapon.SelectionOrder 1300\nWeapon.AmmoType \"FartShell\"\nWeapon.AmmoUse 0\nWeapon.AmmoGive 8\nWeapon.AmmoType2 \"SGClip\"\nScale 0.8\n+BLOODSPLATTER\n  States\n  {\n  Spawn:\n\tHVSG E -1\n\tStop\n  Ready:\n  REMG A 1 A_WeaponReady(WRF_ALLOWRELOAD)\n  Loop\n  Select:\n  REMG A 0 A_TakeInventory(\"SGReloading\", 1)\n  REMG A 0 A_JumpIfInventory(\"SGCounter\", 1, \"ActualSelect\")\n  // 15 a_raise calls raises the weapon almost fully\n  TNT1 AAAAAAAAAAAAAAA 0 A_Raise\n  REMG GHIJ 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  REMG K 0 A_PlaySound(\"shotgun/cock\")\n  REMG K 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  REMG L 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  REMG L 0 A_GiveInventory(\"SGcounter\", 1)\n  REMG KJ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  REMG IHG 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  REMG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  ActualSelect:\n  REMG A 0 A_Raise\n  REMG A 1 A_Raise\n  loop\n  Deselect:\n  REMG A 0 A_Lower\n  Loop\n    Fire:\n\tREMG A 0 A_JumpIfInventory(\"SGClip\", 1, 1)\n\tGoto Reload\n\tREMG A 0 A_JumpIfInventory(\"SGReloading\", 1, \"ReloadToFire\")\n\tREMG A 0 A_JumpIfInventory(\"SGCounter\", 1, 1)\n\tGoto FireCock\n\tREMG A 0 A_TakeInventory(\"SGClip\", 1)\n\tREMG A 0 Radius_Quake(3, 6, 0, 1, 0)\n\tREMG A 0 A_FireBullets(5, 1, 10, 5, \"NewBulletPuff\")\n\tREMG A 0 A_PlaySound(\"weapons/shotgf\", CHAN_WEAPON)\n\tREMG A 0 A_TakeInventory(\"SGCounter\", 1)\n\tREMG A 0 A_SetAngle(angle+frandom(-7,7))\n\tREMG A 0 A_SetPitch(pitch-10)\n\tREMG A 0 A_JumpIfInventory(\"SGCounter\", 1, 2)\n\tREMG A 0 A_Jump(255, 2)\n\tREMG A 0 A_SpawnItemEx(\"ShellCasing\", 18, 25, 32, frandom(0,3), frandom(-4,-7), frandom(4,7))\n\tREMG AAAAAAAA 0 A_SpawnItemEx(\"ShotgunParticle\", 12, 5, 32, frandom(5, 10), frandom(-2, 2), frandom(-2, 2))\n\tREMG A 0 A_GunFlash\n\tREMG B 0 bright A_SetPitch(pitch+1.5)\n\tREMG B 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG C 0 bright A_SetPitch(pitch+1.5)\n\tREMG C 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG D 0 bright A_SetPitch(pitch+1.5)\n\tREMG D 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG E 0 bright A_SetPitch(pitch+1.5)\n\tREMG E 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG F 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG A 0 A_ReFire\n\tREMG A 8 A_WeaponReady\n\tGoto Ready\n    //SHTG A 0 //ACS_Execute(287,0,-30,-40,0)\n    //SHTG BC 4\n    //SHTG D 3 A_PlaySound(\"misc/w_pkup\")\n    //SHTG CB 4\n    //SHTG A 2\n    //SHTG A 7 A_ReFire\n\tFireCock:\n\tREMG GHIJK 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG K 0 A_PlaySound(\"shotgun/cock\")\n\tREMG L 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG L 0 A_SpawnItemEx(\"ShellCasing\", 18, 10, 38, frandom(0,3), frandom(-4,-7), frandom(4,7))\n\tREMG L 0 A_GiveInventory(\"SGCounter\", 1)\n\tREMG KJ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG IHG 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG A 0 A_ReFire\n\tREMG A 7 A_WeaponReady\n\tGoto Ready\n  Altfire:\n\tREMG B 0 A_JumpIfInventory(\"SGCounter\", 6, \"Ready\")\n    REMG C 0 A_JumpIfInventory(\"SGClip\", 6, 1)\n\tGoto Ready\n\tREMG D 0 A_JumpIfInventory(\"SGReloading\", 1, \"ReloadToFire\")\n\tREMG E 0 A_GiveInventory(\"SGCocking\", 1)\n\tREMG HI 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG J 0 A_ReFire\n\tGoto AltHold\n  AltHold:\n\tREMG A 0 A_JumpIfInventory(\"SGCocking\", 1, 1)\n\tGoto Ready\n\tREMG A 0 A_JumpIfInventory(\"SGClip\", 6, 1)\n\tGoto Ready\n\tREMG A 0 A_JumpIfInventory(\"SGcounter\", 6, \"AltHoldEnd\")\n\tREMG J 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG K 0 A_PlaySound(\"shotgun/cock\")\n\tREMG K 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG K 0 A_GiveInventory(\"SGCounter\", 1)\n\tREMG L 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG KJ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG I 0 A_ReFire\n\tREMG I 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n  AltHoldEnd:\n\tREMG HG 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tREMG G 0 A_TakeInventory(\"SGCocking\", 1)\n\tGoto Ready\n\tReload:\n\t\tSHTG A 0 A_JumpIfInventory(\"SGClip\", 6, \"Ready\")\n\t\tSHTG A 0 A_JumpIfInventory(\"FartShell\", 1, 1)\n\t\tGoto Ready\n\t\tREMG A 0 A_GiveInventory(\"SGReloading\", 1)\n\t\tREMG A 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tREMR ABC 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tREMR DEFG 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tREMR H 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tSGReloadLoop:\n\t\tREMG L 0 A_JumpIfInventory(\"FartShell\", 1, 1)\n\t\tGoto SGReloadEnd\n\t\tREMR IJ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tREMR KLM 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tREMR M 0 A_PlaySound(\"shotgun/shellin\")\n\t\tREMR M 0 A_TakeInventory(\"FartShell\", 1)\n\t\tREMR M 0 A_GiveInventory(\"SGClip\", 1)\n\t\tREMR NO 1 A_WeaponReady\n\t\tREMR O 0 A_JumpIfInventory(\"SGClip\", 6, \"SGReloadEnd\")\n\t\tGoto SGReloadLoop\n\tSGReloadEnd:\n\t\tREMR A 0 A_TakeInventory(\"SGReloading\")\n\t\tREMR H 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tREMR GFED 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tREMR CBA 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tREMG A 0 A_ReFire\n\t\tREMG A 4 A_WeaponReady\n\t\tGoto Ready\n\tReloadToFire:\n\t\tREMR G 0 A_TakeInventory(\"SGReloading\", 1)\n\t\tREMR HFDB 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tREMR A 0 A_ReFire\n\t\tGoto Ready\n  Flash:\n\tTNT1 A 2 Bright A_Light1\n\tTNT1 A 1 Bright A_Light2\n    TNT1 A 0 Bright A_Light0\n    Goto LightDone\n  }\n}\n\nactor BFGFartBall : BFGBall Replaces BFGBall\n{\n\t+HITTRACER\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tBFS1 AAABBB 1 Bright A_SpawnItemEx(\"BFGExplodeParticle\", 0, 0, 8, frandom(-16, 16), frandom(-16, 16), frandom(-16,16),0)\n\t\t\tLoop\n\t\tXDeath:\n\t\tCrash:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"HitMarker\")\n\t\tDeath:\n\t\t\tBFG1 B 0 A_SpawnItemEx(\"BFGFlare1\", 0, 0, 8)\n\t\t\tBFG1 BBBBBBB 0 A_SpawnItemEx(\"BFGExplodeParticle\", 0, 0, 8, frandom(-16, 16), frandom(-16, 16), frandom(-16,16))\n\t\t\tBFE1 AB 6 bright\n\t\t\tBFG1 B 0 A_BFGSpray\n\t\tstop\n\t}\n}\n\nactor BFGFartExtra : BFGExtra replaces BFGExtra\n{\n\t+PUFFGETSOWNER\n\t+HITTRACER\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"Hitmarker\")\n\t\t\tBFE2 ABCD 8 Bright\n\t\t\tStop\n\t}\n}\n\nactor BFGfart : FartyGun replaces BFG9000 2006\n{\nInventory.PickupMessage \"Woohoo! A BFG9000, now all yours.\"\nHeight 20\nWeapon.SelectionOrder 2800\nWeapon.AmmoGive 40\nWeapon.AmmoUse 40\nWeapon.AmmoType \"FartCell\"\n+BLOODSPLATTER\n+WEAPON.NOAUTOFIRE\n  States\n  {\n  Ready:\n\tBFGG A 1 A_WeaponReady\n\tloop\n  Spawn:\n\tBFUG A -1\n\tStop\n  Select:\n  BFGG A 0 A_Raise\n  BFGG A 1 A_Raise\n  loop\n  Deselect:\n  BFGG A 0 A_Lower\n  loop\n  Fire:\n    BFGG A 0 Radius_Quake(1,14,0,2,0)\n\tBFGG A 0 A_BFGSound\n    BFGG A 20 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    BFGG A 0 Radius_Quake(2,14,0,4,0)\n\tBFGG B 0 A_GunFlash\n    BFGG B 10 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    BFGG B 0 Radius_Quake(3,14,0,7,0)\n\tBFGG B 0 A_FireBFG\n    BFGG B 10 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    BFGG B 0 Radius_Quake(4,7,0,4,0)\n    BFGG B 0 A_Recoil(20)\n    BFGG B 0 ThrustThingZ(0,10,0,0)\n\tBFGG B 0 A_ReFire\n    BFGG B 20 A_WeaponReady\n    goto Ready\n\tFlash:\n\t\tBFGF A 11 Bright A_Light2\n\t\tBFGF B 6 Bright A_Light1\n\t\tGoto LightDone\n\tFire2:\n\tBFGG A 20 A_BFGSound\n  }\n}\n\nactor ChainfartSpun : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor ChainfartSequence : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor Chainfart : FartyGun\n{\nInventory.PickupMessage \"Obtained a Chainfart.\"\nObituary \"%k poop at %o\"\nWeapon.SelectionOrder 700\nWeapon.AmmoType \"FartClip\"\nWeapon.AmmoGive 20\nWeapon.AmmoUse 1\n+BLOODSPLATTER\n  states\n  {\n  Ready:\n\tCHGG A 1 A_WeaponReady\n\tloop\n  Spawn:\n\tMGUN A -1\n\tStop\n  Select:\n \tMNGS A 0 A_JumpIfInventory(\"ChainfartSpun\", 1, \"ActualSelect\")\n\tMNSG A 0 A_PlaySound(\"mini/spin\")\n\tPKCG A 1 offset(0, 110)\n\tPKCG B 1 offset(0, 100)\n\tPKCG C 1 offset(0, 90)\n\tPKCG D 1 offset(0, 80)\n\tPKCG A 1 offset(0, 70)\n\tPKCG B 1 offset(0, 60)\n\tPKCG C 1 offset(0, 50)\n\tPKCG D 1 offset(0, 40)\n\tPKCG A 1 offset(0, 37)\n\tPKCG B 1 offset(0, 34)\n\tPKCG C 1 offset(0, 33)\n\tPKCG DABBCCCDDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG D 0 A_GiveInventory(\"ChainfartSpun\", 1)\n  ActualSelect:\n  PKCG A 0 A_Raise\n  PKCG A 1 A_Raise\n  loop\n  Deselect:\n  PKCG A 0 A_Lower\n  loop\n  Fire:\n    PKCG AAABBCD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    PKCG A 0 A_FireBullets (5.6, 0, 1, 5, \"NewBulletPuff\")\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n\tPKCG A 0 A_PlaySound(\"weapons/pistol\")\n    PKCG A 0 A_GunFlash\n\tPKCG A 0 A_SetPitch(pitch-2)\n    PKCG A 0 //ACS_Execute(287,0,random(20,40),random(-20,20),0)\n    PKCG A 0 //ACS_Execute(287,0,random(-20,-40),random(-20,20),0)\n\tPKCG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG A 0 A_SetPitch(pitch+0.15)\n\tPKCG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG B 0 A_SetPitch(pitch+0.15)\n\tPKCG C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG C 0 A_SetPitch(pitch+0.15)\n\tPKCG D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG D 0 A_SetPitch(pitch+0.15)\n    PKCG A 0 A_FireBullets (5.6, 0, 1, 5, \"NewBulletPuff\")\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n\tPKCG A 0 A_PlaySound(\"weapons/pistol\")\n    PKCG D 0 A_GunFlash(\"Flash2\")\n\tPKCG A 0 A_SetPitch(pitch-2)\n\tPKCG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG A 0 A_SetPitch(pitch+0.15)\n\tPKCG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG B 0 A_SetPitch(pitch+0.15)\n\tPKCG C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG C 0 A_SetPitch(pitch+0.15)\n\tPKCG D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG D 0 A_SetPitch(pitch+0.15)\n    PKCG A 0 //ACS_Execute(287,0,random(20,40),random(-20,20),0)\n    PKCG A 0 //ACS_Execute(287,0,random(-20,-40),random(-20,20),0)\n    PKCG A 0 A_ReFire\n    PKCG ABCCDDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    goto Ready\n  Hold:\n    PKCG D 0 A_FireBullets (5.6, 0, 1, 5, \"NewBulletPuff\")\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n\tPKCG A 0 A_PlaySound(\"weapons/pistol\")\n    PKCG D 0 A_GunFlash\n\tPKCG A 0 A_SetPitch(pitch-2)\n    PKCG A 0 //ACS_Execute(287,0,random(20,40),random(-30,30),0)\n\tPKCG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG A 0 A_SetPitch(pitch+0.15)\n\tPKCG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG B 0 A_SetPitch(pitch+0.15)\n\tPKCG C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG C 0 A_SetPitch(pitch+0.15)\n\tPKCG D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG D 0 A_SetPitch(pitch+0.15)\n    PKCG D 0 A_FireBullets (5.6, 0, 1, 5, \"NewBulletPuff\")\n\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 4, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n\tPKCG A 0 A_PlaySound(\"weapons/pistol\")\n    PKCG D 0 A_GunFlash(\"Flash2\")\n\tPKCG A 0 A_SetPitch(pitch-2)\n    PKCG A 0 //ACS_Execute(287,0,random(20,40),random(-30,30),0)\n\tPKCG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG A 0 A_SetPitch(pitch+0.15)\n\tPKCG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG B 0 A_SetPitch(pitch+0.15)\n\tPKCG C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG C 0 A_SetPitch(pitch+0.15)\n\tPKCG D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG D 0 A_SetPitch(pitch+0.15)\n    PKCG D 0 A_ReFire\n    PKCG ABCCDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    goto Ready\n  AltFire:\n    PKCG AAABBCD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    CHGG A 0 A_FireCustomMissile(\"fartgrenade\",random(2,-2),0,0,0)\n\tCHGG A 0 A_GunFlash\n\tPKCG A 0 A_SetPitch(pitch-2)\n\tPKCG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG A 0 A_SetPitch(pitch+0.15)\n\tPKCG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG B 0 A_SetPitch(pitch+0.15)\n\tPKCG C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG C 0 A_SetPitch(pitch+0.15)\n\tPKCG D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG D 0 A_SetPitch(pitch+0.15)\n    CHGG A 0 A_FireCustomMissile(\"fartgrenade\",random(2,-2),0,0,0)\n\tCHGG A 0 A_GunFlash(\"Flash2\")\n\tPKCG A 0 A_SetPitch(pitch-2)\n\tPKCG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG A 0 A_SetPitch(pitch+0.15)\n\tPKCG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG B 0 A_SetPitch(pitch+0.15)\n\tPKCG C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG C 0 A_SetPitch(pitch+0.15)\n\tPKCG D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG D 0 A_SetPitch(pitch+0.15)\n    PKCG D 0 A_ReFire\n    PKCG ABCCDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    goto Ready\n  AltHold:\n    CHGG A 0 A_FireCustomMissile(\"fartgrenade\",random(2,-2),0,0,0)\n\tCHGG A 0 A_GunFlash(\"Flash\")\n\tPKCG A 0 A_SetPitch(pitch-2)\n\tPKCG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG A 0 A_SetPitch(pitch+0.15)\n\tPKCG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG B 0 A_SetPitch(pitch+0.15)\n\tPKCG C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG C 0 A_SetPitch(pitch+0.15)\n\tPKCG D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG D 0 A_SetPitch(pitch+0.15)\n    CHGG A 0 A_FireCustomMissile(\"fartgrenade\",random(2,-2),0,0,0)\n\tCHGG A 0 A_GunFlash(\"Flash2\")\n\tPKCG A 0 A_SetPitch(pitch-2)\n\tPKCG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG A 0 A_SetPitch(pitch+0.15)\n\tPKCG B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG B 0 A_SetPitch(pitch+0.15)\n\tPKCG C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG C 0 A_SetPitch(pitch+0.15)\n\tPKCG D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tPKCG D 0 A_SetPitch(pitch+0.15)\n    PKCG D 0 A_ReFire\n    PKCG ABCCDD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    goto Ready\n  Flash:\n    PKCF A 2 bright A_Light1\n    PKCF B 1 bright A_Light2\n    TNT1 A 1 bright A_Light0\n    stop\n\tFlash2:\n    PKCF C 2 bright A_Light1\n    PKCF D 1 bright A_Light2\n    TNT1 A 1 bright A_Light0\n    stop\n  }\n}\n\n// this actor is used to track how many uzis the player has\nactor UziCounter : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 2\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 2\n}\n\n// this actor determines whether the player is actually holding one or two uzis\nactor UziDouble : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor UziPickup : CustomInventory\n{\n\tInventory.PickupMessage \"Snatched a Uzi.\"\n\tInventory.PickupSound \"misc/w_pkup\"\n\tInventory.MaxAmount 0\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tUSMG A -1\n\t\t\tloop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"FartClip\", 0, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 4)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"UziCounter\", 2, 2)\n\t\t\tTNT1 A 0 A_Jump(256, 2)\n\t\t\tTNT1 A 0 A_RailWait\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"FartClip\", 45)\n\t\t\tTNT1 A 0 A_GiveInventory(\"UziCounter\", 1)\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Uzi\", 1, 2)\n\t\t\tTNT1 A 0 A_GiveInventory(\"Uzi\")\n\t\t\tTNT1 A 0\n\t\t\tstop\n\t}\n}\n\nactor Uzi : FartyGun\n{\n\tInventory.PickupMessage \"Snatched a Uzi.\"\n\tWeapon.AmmoType \"FartClip\"\n\tWeapon.AmmoGive 45\n\tWeapon.AmmoType2 \"UziClip\"\n\tStates\n\t{\n\t\tSelect:\n\t\t\tUZIG A 0 A_JumpIfInventory(\"UziDouble\", 1, \"SelectDouble\")\n\t\t\tUZIG A 0 A_Raise\n\t\t\tUZIG A 1 A_Raise\n\t\t\tloop\n\t\tSelectDouble:\n\t\t\tUZI2 A 0 A_Raise\n\t\t\tUZI2 A 1 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tUZIG A 0 A_JumpIfInventory(\"UziDouble\", 1, \"DeselectDouble\")\n\t\t\tUZIG A 0 A_Lower\n\t\t\tloop\n\t\tDeselectDouble:\n\t\t\tUZI2 A 0 A_Lower\n\t\t\tloop\n\t\tReady:\n\t\t\tUZIG A 0 A_JumpIfInventory(\"UziDouble\", 1, \"ReadyDouble\")\n\t\t\tUZIG A 1 A_WeaponReady(WRF_ALLOWRELOAD)\n\t\t\tloop\n\t\tReadyDouble:\n\t\t\tUZI2 A 1 A_WeaponReady(WRF_ALLOWRELOAD)\n\t\t\tloop\n\t\tFire:\n\t\t\tUZI2 A 0 A_JumpIfInventory(\"UziDouble\", 1, \"FireDouble\")\n\t\t\tUZI2 A 0 A_JumpIfInventory(\"UziClip\", 1, 1)\n\t\t\tGoto Reload\n\t\t\tUZIG B 0 bright A_FireBullets(9, 2, 1, 5, \"NewBulletPuff\")\n\t\t\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 12, 38, frandom(0,3), frandom(4,7), frandom(4,7))\n\t\t\tUZIG B 0 bright A_TakeInventory(\"UziClip\", 1)\n\t\t\tUZIG B 0 bright A_PlaySound(\"uzi/fire\", CHAN_WEAPON)\n\t\t\tUZIG B 0 bright Radius_Quake(1, 4, 0, 1, 0)\n\t\t\tUZIG B 0 bright A_SetPitch(pitch-3)\n\t\t\tUZIG B 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG B 0 bright A_SetPitch(pitch+1)\n\t\t\tUZIG C 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG C 0 bright A_SetPitch(pitch+1)\n\t\t\tUZIG D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG A 0 A_ReFire\n\t\t\tUZIG A 5 A_WeaponReady\n\t\t\tgoto Ready\n\t\tFireDouble:\n\t\t\tUZI2 A 0 A_JumpIfInventory(\"UziClip\", 1, 1)\n\t\t\tGoto ReloadDouble\n\t\t\tUZI2 B 0 bright A_FireBullets(12, 2, 2, 5, \"NewBulletPuff\")\n\t\t\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, 12, 38, frandom(0,3), frandom(4,7), frandom(4,7))\n\t\t\tPISG B 0 A_SpawnItemEx(\"BulletCasing\", 18, -12, 38, frandom(0,3), frandom(4,7), frandom(4,7))\n\t\t\tUZI2 B 0 bright A_TakeInventory(\"UziClip\", 1)\n\t\t\tUZI2 B 0 bright A_PlaySound(\"uzi/fire\", CHAN_WEAPON)\n\t\t\tUZI2 B 0 bright Radius_Quake(2, 4, 0, 1, 0)\n\t\t\tUZI2 B 0 bright A_SetPitch(pitch-4)\n\t\t\tUZI2 B 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZI2 B 0 bright A_SetPitch(pitch+1.5)\n\t\t\tUZI2 C 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZI2 C 0 bright A_SetPitch(pitch+1.5)\n\t\t\tUZI2 A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZI2 A 0 A_ReFire\n\t\t\tUZI2 A 5 A_WeaponReady\n\t\t\tgoto Ready\n\t\tReload:\n\t\t\tUZIG A 0 A_JumpIfInventory(\"UziDouble\", 1, \"ReloadDouble\")\n\t\t\tUZIG A 0 A_JumpIfInventory(\"UziClip\", 30, \"Ready\")\n\t\t\tUZIG A 0 A_JumpIfInventory(\"FartClip\", 1, 1)\n\t\t\tGoto Ready\n\t\t\tUZIG E 0 A_PlaySound(\"uzi/out\")\n\t\t\tUZIG E 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG H 0 A_SpawnItemEx(\"UziMag\", 18, 0, 25, frandom(0,3), frandom(-2,-3), 0)\n\t\t\tUZIG H 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG I 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tReloadLoop:\n\t\t\tUZIG J 0 A_JumpIfInventory(\"FartClip\", 1, 1)\n\t\t\tGoto ReloadEnd\n\t\t\tUZIG J 0 A_GiveInventory(\"UziClip\", 1)\n\t\t\tUZIG J 0 A_TakeInventory(\"FartClip\", 1)\n\t\t\tUZIG J 0 A_JumpIfInventory(\"UziClip\", 30, 1)\n\t\t\tGoto ReloadLoop\n\t\tReloadEnd:\n\t\t\tUZIG J 0 A_PlaySound(\"uzi/in\")\n\t\t\tUZIG J 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG KLMN 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG N 0 A_PlaySound(\"uzi/rack\")\n\t\t\tUZIG OP 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto Ready\n\t\tAltFire:\n\t\t\tUZIG A 0 A_JumpIfInventory(\"UziClip\", 30, 1)\n\t\t\tGoto Ready\n\t\t\tUZIG A 0 A_JumpIfInventory(\"UziDouble\", 1, \"AltFireDouble\")\n\t\t\tUZIG A 0 A_JumpIfInventory(\"UziCounter\", 2, 1)\n\t\t\tGoto Ready\n\t\t\tUZIG A 0 A_GiveInventory(\"UziDouble\", 1)\n\t\t\tUZIS AB 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZI2 A 6 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto Ready\n\t\tAltFireDouble:\n\t\t\tUZIG A 0 A_TakeInventory(\"UziDouble\", 1)\n\t\t\tUZIS BA 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG A 6 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto Ready\n\t\tReloadDouble:\n\t\t\tUZIG A 0 A_JumpIfInventory(\"UziClip\", 30, \"Ready\")\n\t\t\tUZIG A 0 A_JumpIfInventory(\"FartClip\", 2, 1)\n\t\t\tGoto Ready\n\t\t\tUZDG F 2 A_PlaySound(\"uzi/out\")\n\t\t\tUZDG F 0 A_SpawnItemEx(\"UziMag\", 18, 4, 25, frandom(0,3), frandom(-2,-3), 0)\n\t\t\tUZDG F 0 A_SpawnItemEx(\"UziMag\", 18, -4, 25, frandom(0,3), frandom(2,3), 0)\n\t\t\tUZDG GHI 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZDG J 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZDG K 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZDG L 0 A_PlaySound(\"uzi/in\")\n\t\t\tUZDG L 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZDG MNOPQ 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZDG Q 0 A_PlaySound(\"uzi/rack\")\n\t\t\tUZDG RSN 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIS CD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZI2 A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIS BA 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG H 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG J 0 A_PlaySound(\"uzi/in\")\n\t\t\tUZIG J 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tReloadLoopDouble:\n\t\t\tUZIG J 0 A_JumpIfInventory(\"FartClip\", 2, 1)\n\t\t\tGoto ReloadEndDouble\n\t\t\tUZIG J 0 A_GiveInventory(\"UziClip\", 1)\n\t\t\tUZIG J 0 A_TakeInventory(\"FartClip\", 2)\n\t\t\tUZIG J 0 A_JumpIfInventory(\"UziClip\", 30, 1)\n\t\t\tGoto ReloadLoopDouble\n\t\tReloadEndDouble:\n\t\t\tUZIG KLMN 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIG N 0 A_PlaySound(\"uzi/rack\")\n\t\t\tUZIG OP 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tUZIS AB 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tgoto Ready\n\t}\n}\n\nactor ChaingunSpawner : RandomSpawner replaces Chaingun\n{\n\tDropItem \"Chainfart\", 255, 10\n\tDropItem \"MiniFart\", 255, 3\n\tDropItem \"UziPickup\", 255, 5\n}\n\nactor SSGSpent : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 10\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 10\n}\n\nactor SSGClip : Ammo\n{\n inventory.amount 0\n inventory.maxamount 10\n Ammo.Backpackamount 0\n Ammo.backpackmaxamount 10\n}\n\n//Step numbers:\n//0: Ready to fire or empty depending on SSGClip\n//1: Opened\n//2: Loaded and ready to close\nactor SSGStep : Ammo\n{\n\tinventory.amount 0\n\tinventory.maxamount 1\n\tammo.backpackamount 0\n\tammo.backpackmaxamount 1\n}\n\nactor SSGSpawner : RandomSpawner replaces SuperShotgun\n{\n\tDropItem \"SuperFartgun\", 255, 10\n\tDropItem \"RiotGun\", 255, 4\n}\n\nactor SSGPuff : NewBulletPuff\n{\n\t+PUFFONACTORS\n\t+PUFFGETSOWNER\n\t+HITTRACER\n\tStates\n\t{\n\t\tSpawn: //on actor\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"BulletPushBack\", 0, 25)\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"HitMarker\")\n\t\t\tTNT1 A 10\n\t\t\tstop\n\t\tCrash: //on wall\n\t\t\tBULP A 0\n\t\t\tBULP A 0 A_PlaySound(\"bullet/ric\")\n\t\t\tBULP ABC 2 Bright\n\t\t\tBULP DEFG 2\n\t\tStop\n\t}\n}\n\nactor SuperFartgun: FartyGun\n{\n\t+NOAUTOFIRE\n\tObituary \"%o was shat on by %k's super shartgun.\"\n\tInventory.PickupMessage \"This Super Shartgun is rightfully yours.\"\n\tWeapon.SelectionOrder 400\n\tWeapon.AmmoType \"FartShell\"\n\tWeapon.AmmoGive 8\n\tWeapon.AmmoUse 0\n\tWeapon.AmmoUse2 0\n\tScale 0.3\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSAWP A -1\n\t\t\tStop\n\t\tSelect:\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGStep\", 1, 1)\n\t\t\tGoto ActualSelect\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGClip\", 1, 1)\n\t\t\tGoto ActualSelect\n\t\t\tTNT1 AAAAAAAAAAAAAAA 0 A_Raise\n\t\t\tSAWN Q 0 A_PlaySound(\"weapons/sshotc\", CHAN_WEAPON)\n\t\t\tSAWN Q 0 A_TakeInventory(\"SSGStep\", 2)\n\t\t\tSAWN RSTUFFFEDC 1\n\t\tActualSelect:\n\t\t\tSAWN A 0 A_Raise\n\t\t\tSAWN A 1 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tSAWN A 0 A_Lower\n\t\t\tloop\n\t\tReady:\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGStep\", 1, \"ReadyEmpty\")\n\t\t\tSAWN A 1 A_WeaponReady\n\t\t\tloop\n\t\tReadyEmpty:\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGClip\", 5, \"Ready5\")\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGClip\", 4, \"Ready4\")\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGClip\", 3, \"Ready3\")\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGClip\", 2, \"Ready2\")\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGClip\", 1, \"Ready1\")\n\t\t\tSAWN K 1 A_WeaponReady\n\t\t\tloop\n\t\tReady1:\n\t\t\tSAWN L 1 A_WeaponReady\n\t\t\tloop\n\t\tReady2:\n\t\t\tSAWN M 1 A_WeaponReady\n\t\t\tloop\n\t\tReady3:\n\t\t\tSAWN N 1 A_WeaponReady\n\t\t\tloop\n\t\tReady4:\n\t\t\tSAWN O 1 A_WeaponReady\n\t\t\tloop\n\t\tReady5:\n\t\t\tSAWN P 1 A_WeaponReady\n\t\t\tloop\n\t\tFire:\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGStep\", 1, \"ReloadStart\")\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGClip\", 1, 2)\n\t\t\tSAWN A 0 A_PlaySound(\"ssg/empty\", CHAN_WEAPON)\n\t\t\tGoto Ready\n\t\t\tSAWN A 0 A_PlaySound(\"weapons/sshotf\", CHAN_WEAPON)\n\t\t\tSAWN A 0 Radius_Quake(7, 6, 0, 1, 0)\n\t\t\tSAWN AAAAAAAA 0 A_SpawnItemEx(\"ShotgunParticle\", 0, 5, 32, frandom(5, 10), frandom(-2, 2), frandom(-2, 2))\n\t\t\tSAWN A 0 A_GunFlash\n\t\tFireLoop:\n\t\t\tSAWN A 0 A_JumpIfInventory(\"SSGClip\", 1, 1)\n\t\t\tGoto FireLoopEnd\n\t\t\tSAWN A 0 A_GiveInventory(\"SSGSpent\", 1)\n\t\t\tSAWN A 0 A_ChangeVelocity(cos(pitch)*-5, 0, sin(pitch)*3, CVF_RELATIVE)\n\t\t\tSAWN A 0 A_TakeInventory(\"SSGClip\", 1)\n\t\t\tSAWN A 0 A_FireBullets(11.2, 7.1, 10, 5, \"SSGPuff\")\n\t\t\tGoto FireLoop\n\t\tFireLoopEnd:\n\t\t\tSAWN A 0 A_SetPitch(pitch-12)\n\t\t\t//SAWN A 6 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWN B 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWN CDEFF 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWN EDC 1 A_WeaponReady\n\t\t\tGoto Ready\n\t\tReloadStart:\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"FartShell\", 1, 1)\n\t\t\tGoto Ready\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGStep\", 1, \"Reload0\")\n\t\t\tSAWN CDEFFGH 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWN H 0 A_OpenShotgun2\n\t\t\tSAWN IJK 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tReloadStartLoop:\n\t\t\tSSGR E 0 A_JumpIfInventory(\"SSGSpent\", 1, 1)\n\t\t\tGoto ReloadStartLoopEnd\n\t\t\t//SSGR E 0 A_SpawnItemEx(\"ShellCasing\", 18, 0, 32, frandom(0,3), frandom(-12,-4), frandom(4,12))\n\t\t\tSSGR E 0 A_SpawnItemEx(\"ShellCasing\", 14, 5, 32, frandom(0, 3), frandom(-2, 5), frandom(4, 12))\n\t\t\tSSGR E 0 A_TakeInventory(\"SSGSpent\", 1)\n\t\t\tGoto ReloadStartLoop\n\t\tReloadStartLoopEnd:\n\t\t\tSSGR E 0 A_GiveInventory(\"SSGStep\", 1)\n\t\tGoto Ready\n\t\tReload0:\n\t\t\tSSGR V 0 A_JumpIfInventory(\"SSGClip\", 10, \"Ready\")\n\t\t\tSSGR V 0 A_PlaySound(\"shotgun/shellin\", CHAN_WEAPON)\n\t\t\tSSGR V 0 A_GiveInventory(\"SSGClip\", 1)\n\t\t\tSSGR V 0 A_TakeInventory(\"FartShell\", 1)\n\t\t\tSSGR A 0 A_JumpIfInventory(\"SSGClip\", 1, \"Reload1\")\n\t\t\tSAWR ABC 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR DEF 1 A_WeaponReady\n\t\t\t//SSGR OQS 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto Ready\n\t\tReload1:\n\t\t\tSSGB A 0 A_JumpIfInventory(\"SSGClip\", 2, \"Reload2\")\n\t\t\t//SSGA ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR HIC 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR DEJ 1 A_WeaponReady\n\t\t\tGoto Ready\n\t\tReload2:\n\t\t\tSSGB A 0 A_JumpIfInventory(\"SSGClip\", 3, \"Reload3\")\n\t\t\t//SSGB ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR KLC 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR DEM 1 A_WeaponReady\n\t\t\tGoto Ready\n\t\tReload3:\n\t\t\tSSGB A 0 A_JumpIfInventory(\"SSGClip\", 4, \"Reload4\")\n\t\t\t//SSGC ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR NOC 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR DEP 1 A_WeaponReady\n\t\t\tGoto Ready\n\t\tReload4:\n\t\t\tSSGB A 0 A_JumpIfInventory(\"SSGClip\", 5, \"Reload5\")\n\t\t\t//SSGD ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR QRC 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR DES 1 A_WeaponReady\n\t\t\tGoto Ready\n\t\tReload5:\n\t\t\t//SSGF ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR TUC 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWR DEV 1 A_WeaponReady\n\t\t\tGoto Ready\n\t\tReloadEnd:\n\t\t\tSSGR W 0 A_PlaySound(\"weapons/sshotc\", CHAN_WEAPON)\n\t\t\tSSGR W 0 A_TakeInventory(\"SSGStep\", 1)\n\t\t\t//SSGR WXYZ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWN RSTUFFFEDCA 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSAWN A 6 A_WeaponReady\n\t\t\tGoto Ready\n\t\tAltFire:\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"FartShell\", 1, 1)\n\t\t\tGoto Ready\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 1, 2)\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGStep\", 1, 1)\n\t\t\tGoto ReloadStart\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGStep\", 1, \"ReloadEnd\")\n\t\t\tGoto Ready\n\t\tFlash:\n\t\t\tTNT1 A 1 Bright A_Light2\n\t\t\tTNT1 A 1 Bright A_Light1\n\t\t\tgoto LightDone\n\t}\n}\n\n/*actor SuperFartgun: FartyGun\n{\n\t+NOAUTOFIRE\n\tObituary \"%o was shat on by %k's super shartgun.\"\n\tInventory.PickupMessage \"This Super Shartgun is rightfully yours.\"\n\tWeapon.SelectionOrder 400\n\tWeapon.AmmoType \"FartShell\"\n\tWeapon.AmmoGive 8\n\tWeapon.AmmoUse 0\n\tWeapon.AmmoUse2 0\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSGN2 A -1\n\t\t\tStop\n\t\tSelect:\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGStep\", 1, 1)\n\t\t\tGoto ActualSelect\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 1, 1)\n\t\t\tGoto ActualSelect\n\t\t\tTNT1 AAAAAAAAAAAAAAA 0 A_Raise\n\t\t\tSSGR W 0 A_PlaySound(\"weapons/sshotc\", CHAN_WEAPON)\n\t\t\tSSGR W 0 A_TakeInventory(\"SSGStep\", 2)\n\t\t\tSSGR WXYZ 2\n\t\tActualSelect:\n\t\t\tSHT2 A 0 A_Raise\n\t\t\tSHT2 A 1 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tSHT2 A 0 A_Lower\n\t\t\tloop\n\t\tReady:\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGStep\", 1, \"ReadyEmpty\")\n\t\t\tSHT2 A 1 A_WeaponReady\n\t\t\tloop\n\t\tReadyEmpty:\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 5, \"Ready5\")\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 4, \"Ready4\")\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 3, \"Ready3\")\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 2, \"Ready2\")\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 1, \"Ready1\")\n\t\t\tSSGE A 1 A_WeaponReady\n\t\t\tloop\n\t\tReady1:\n\t\t\tSSGE B 1 A_WeaponReady\n\t\t\tloop\n\t\tReady2:\n\t\t\tSSGE C 1 A_WeaponReady\n\t\t\tloop\n\t\tReady3:\n\t\t\tSSGE D 1 A_WeaponReady\n\t\t\tloop\n\t\tReady4:\n\t\t\tSSGE E 1 A_WeaponReady\n\t\t\tloop\n\t\tReady5:\n\t\t\tSSGE F 1 A_WeaponReady\n\t\t\tloop\n\t\tFire:\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGStep\", 1, \"ReloadStart\")\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 1, 2)\n\t\t\tSHT2 A 0 A_PlaySound(\"ssg/empty\", CHAN_WEAPON)\n\t\t\tGoto Ready\n\t\t\tSHT2 A 0 A_PlaySound(\"weapons/sshotf\", CHAN_WEAPON)\n\t\t\tREMG AAAAAAAA 0 A_SpawnItemEx(\"ShotgunParticle\", 0, 5, 32, frandom(5, 10), frandom(-2, 2), frandom(-2, 2))\n\t\t\tSHT2 A 0 A_GunFlash\n\t\tFireLoop:\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 1, 1)\n\t\t\tGoto FireLoopEnd\n\t\t\tSHT2 A 0 Radius_Quake(5, 6, 0, 1, 0)\n\t\t\tSHT2 A 0 A_GiveInventory(\"SSGSpent\", 1)\n\t\t\tSHT2 A 0 A_ChangeVelocity(cos(pitch)*-5, 0, sin(pitch)*3, CVF_RELATIVE)\n\t\t\tSHT2 A 0 A_TakeInventory(\"SSGClip\", 1)\n\t\t\tSHT2 A 0 A_FireBullets(11.2, 7.1, 10, 5, \"SSGPuff\")\n\t\t\tGoto FireLoop\n\t\tFireLoopEnd:\n\t\t\tSHT2 A 0 A_SetPitch(pitch-12)\n\t\t\tSHT2 A 6 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto Ready\n\t\tReloadStart:\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"FartShell\", 1, 1)\n\t\t\tGoto Ready\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGStep\", 1, \"Reload0\")\n\t\t\tSSGR ABCDYDC 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSSGR E 0 A_OpenShotgun2\n\t\t\tSSGR E 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tReloadStartLoop:\n\t\t\tSSGR E 0 A_JumpIfInventory(\"SSGSpent\", 1, 1)\n\t\t\tGoto ReloadStartLoopEnd\n\t\t\tSSGR E 0 A_SpawnItemEx(\"ShellCasing\", 18, 0, 32, frandom(0,3), frandom(-12,-4), frandom(4,12))\n\t\t\tSSGR E 0 A_TakeInventory(\"SSGSpent\", 1)\n\t\t\tGoto ReloadStartLoop\n\t\tReloadStartLoopEnd:\n\t\t\tSSGR E 0 A_GiveInventory(\"SSGStep\", 1)\n\t\tGoto Ready\n\t\tReload0:\n\t\t\tSSGR V 0 A_JumpIfInventory(\"SSGClip\", 10, \"Ready\")\n\t\t\tSSGR A 0 A_JumpIfInventory(\"SSGClip\", 1, \"Reload1\")\n\t\t\tSSGR OQS 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto ReloadStep1End\n\t\tReload1:\n\t\t\tSSGB A 0 A_JumpIfInventory(\"SSGClip\", 2, \"Reload2\")\n\t\t\tSSGA ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto ReloadStep1End\n\t\tReload2:\n\t\t\tSSGB A 0 A_JumpIfInventory(\"SSGClip\", 3, \"Reload3\")\n\t\t\tSSGB ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto ReloadStep1End\n\t\tReload3:\n\t\t\tSSGB A 0 A_JumpIfInventory(\"SSGClip\", 4, \"Reload4\")\n\t\t\tSSGC ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto ReloadStep1End\n\t\tReload4:\n\t\t\tSSGB A 0 A_JumpIfInventory(\"SSGClip\", 5, \"Reload5\")\n\t\t\tSSGD ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto ReloadStep1End\n\t\tReload5:\n\t\t\tSSGF ABC 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto ReloadStep1End\n\t\tGoto ReloadStep1End\n\t\tReloadStep1End:\n\t\t\tSSGR A 0 A_JumpIfInventory(\"FartShell\", 1, 1)\n\t\t\tGoto ReloadEnd\n\t\t\tSSGR T 0 A_PlaySound(\"shotgun/shellin\", CHAN_WEAPON)\n\t\t\tSSGR V 0 A_GiveInventory(\"SSGClip\", 1)\n\t\t\tSSGR V 0 A_TakeInventory(\"FartShell\", 1)\n\t\t\tSSGR TUV 1 A_WeaponReady\n\t\tGoto Ready\n\t\tReloadEnd:\n\t\t\tSSGR W 0 A_PlaySound(\"weapons/sshotc\", CHAN_WEAPON)\n\t\t\tSSGR W 0 A_TakeInventory(\"SSGStep\", 1)\n\t\t\tSSGR WXYZ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSHT2 A 6 A_WeaponReady\n\t\t\tGoto Ready\n\t\tAltFire:\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"FartShell\", 1, 1)\n\t\t\tGoto Ready\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGClip\", 1, 2)\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGStep\", 1, 1)\n\t\t\tGoto ReloadStart\n\t\t\tSHT2 A 0 A_JumpIfInventory(\"SSGStep\", 1, \"ReloadEnd\")\n\t\t\tGoto Ready\n\t\tFlash:\n\t\t\tSHT2 J 1 Bright A_Light2\n\t\t\tSHT2 I 1 Bright A_Light1\n\t\t\tgoto LightDone\n\t}\n}*/"
      },
      {
        "source": "pk3",
        "name": "Decorate/Weapons2.txt",
        "contents": "actor Railcheck : Inventory\n{\ninventory.amount 0\ninventory.maxamount 1\n}\n\nactor Railpuff : BulletPuff\n{\n+BLOODSPLATTER\n +ALWAYSPUFF\n +NOBLOCKMAP\n -ALLOWPARTICLES\n -RANDOMIZE\n +NOGRAVITY\ndecal Raildecal\n Mass 5\n States\n {\nSpawn:\nPLSE A 4\nstop\n}\n}\n\nACTOR Railfart : FartyGun replaces Railgun 5012\n{\n Radius 20\n Height 18\n Weapon.SelectionOrder 100\n Inventory.PickupMessage \"A Railfart has found its way into your hands.\"\n Obituary \"%o railed %k xd\"\n Weapon.AmmoType2 \"RailgunClip\"\n Weapon.AmmoType1 \"FartCell\"\n Weapon.AmmoUse1 0\n Weapon.AmmoGive 40\n Weapon.SlotNumber 6\n +WEAPON.AMMO_OPTIONAL\n  States\n  {\n  Spawn:\n  RAIL A -1\n  Stop\n  Select:\n  RLGG A 0 A_Raise\n  RLGG A 1 A_Raise\n  loop\n  Deselect:\n  RLGG A 0 A_Lower\n  loop\n  Ready:\n  RLGG A 1 A_WeaponReady(WRF_ALLOWRELOAD)\n  loop\n  Fire:\n    RLGG A 0\n    RLGG A 0 A_JumpIfInventory(\"Railcheck\",1,\"Fire1\")\n    RLGG A 0 A_JumpIfInventory(\"RailgunClip\",1,1)\n    goto Reload\n\tRLGG E 0 A_FireBullets(0,0,1,0,\"HitmarkerTestPuff\",0)\n\tRLGG E 0 A_RailAttack(100,0,1,\"aa 92 23\",\"aa 92 23\",1,2,\"NewBulletPuff\")\n    RLGG EEEE 0 A_SpawnItemEx(\"poo\",0,0,32,random(3,7),random(-3,3),random(3,7),0,128,0)\n    RLGG E 0 A_FireBullets(0,0,1,0,\"Railpuff\",0)\n    RLGG E 0 //ACS_Execute(287,0,random(-100,100),random(-100,100),0)\n\tRLGG E 0 A_TakeInventory(\"RailgunClip\", 10)\n\tRLGG E 0 A_SetAngle(angle+random(-5,5))\n\tRLGG E 0 A_SetPitch(pitch-5)\n\tRLGG E 0 A_Quake(8, 8, 0, 1)\n    RLGG E 0 A_PlaySound(\"rail/fart\", CHAN_WEAPON)\n\tRLGG E 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tRLGG E 0 A_SetPitch(pitch+1)\n\tRLGG E 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tRLGG E 0 A_SetPitch(pitch+1)\n\tRLGG E 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tRLGG E 0 A_SetPitch(pitch+1)\n\tRLGG E 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tRLGG E 0 A_SetPitch(pitch+1)\n\tRLGG E 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tRLGG E 0 A_SetPitch(pitch+1)\n    RLGG E 7 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    RLGG A 6 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    RLGG A 0 A_ReFire\n    Goto Ready\n  Fire1:\n    RLGG A 0\n    RLGG A 0 A_PlaySound(\"rail/fart\")\n    RLGG AAAA 0 A_SpawnItemEx(\"poo\",0,0,32,random(3,7),random(-3,3),random(3,7),0,128,0)\n    RLGG A 0 //ACS_Execute(287,0,random(-50,50),random(-50,50),0)\n    RLGG A 3 A_RailAttack(40,0,0,\"none\",\"aa 92 23\",1,4,\"NewBulletPuff\")\n    RLGG A 0 A_FireBullets(0,0,1,0,\"Railpuff\",0)\n    RLGG A 0 A_TakeInventory(\"FartCell\",1)\n    RLGG A 0 A_ReFire\n    RLGG E 6\n    RLGG A 0 A_ReFire\n    Goto Ready\n  Flash:\n    TNT1 A 5 bright A_Light1\n    TNT1 A 5 bright A_Light2\n    TNT1 A 0 bright A_Light0\n    Goto LightDone\n/*ModeSwitch1:\nRLGG A 0\nRLGG A 0 A_JumpIfInventory(\"Railcheck\",1,\"ModeSwitch2\")\nRLGG A 1 offset(0,40)\nRLGG A 1 offset(0,55)\nRLGG A 1 offset(0,60)\nRLGG A 1 offset(0,65)\nRLGG A 1 offset(0,68)\nRLGG A 5 offset(0,70)\nRLGG A 0 A_PlaySound(\"barrel/switch\")\nRLGG A 0 A_GiveInventory(\"Railcheck\",1)\nRLGG A 3 offset(0,68)\nRLGG A 5 offset(0,70)\nRLGG A 1 offset(0,68)\nRLGG A 1 offset(0,65)\nRLGG A 1 offset(0,60)\nRLGG A 1 offset(0,55)\nRLGG A 1 offset(0,40)\ngoto Ready\nModeSwitch2:\nRLGG A 1 offset(0,40)\nRLGG A 1 offset(0,55)\nRLGG A 1 offset(0,60)\nRLGG A 1 offset(0,65)\nRLGG A 1 offset(0,68)\nRLGG A 5 offset(0,70)\nRLGG A 0 A_PlaySound(\"barrel/switch\")\nRLGG A 0 A_TakeInventory(\"Railcheck\",1)\nRLGG A 3 offset(0,68)\nRLGG A 5 offset(0,70)\nRLGG A 1 offset(0,68)\nRLGG A 1 offset(0,65)\nRLGG A 1 offset(0,60)\nRLGG A 1 offset(0,55)\nRLGG A 1 offset(0,40)\ngoto Ready\n  AltFire:\n    RLGG A 0 A_JumpIfInventory(\"RailgunClip\",40,\"Modeswitch1\")\n    RLGG A 0\n    goto Reload*/\nReload:\nRLGG F 0 A_JumpIfInventory(\"RailgunClip\",40,\"Ready\")\nRLGG F 0 A_JumpIfInventory(\"FartCell\",1,\"ReloadLoop\")\ngoto Ready\nReloadLoop:\nRLGG F 0 A_TakeInventory(\"FartCell\",1)\nRLGG F 0 A_GiveInventory(\"RailgunClip\",1)\nRLGG F 0 A_JumpIfInventory(\"RailgunClip\",40,\"ReloadEnd\")\nRLGG F 0 A_JumpIfInventory(\"FartCell\",1,1)\nGoto Ready\nRLGG F 0\nloop\nReloadEnd:\nRLGG F 6 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\nRLGG G 0 A_PlaySound(\"railgun/out\")\nRLGG GHIJ 6 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\nRLGG K 0 A_PlaySound(\"railgun/load\")\nRLGG KLA 6 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\ngoto Ready\n  }\n}\n\nactor Chainsaw2 : Chainsaw replaces Chainsaw\n{\n\tInventory.PickupMessage \"Seized a Chainsaw!\"\n  States\n  {\n  Select:\n  SAWG A 0 A_Raise\n  SAWG A 1 A_Raise\n  loop\n  Deselect:\n  SAWG A 0 A_Lower\n  loop\n  Ready:\n    SAWG C 0 A_PlaySound(\"weapons/sawidle\")\n    SAWG C 0 //ACS_Execute(287,0,random(6,12),random(-10,10),0)\n    SAWG C 1 A_WeaponReady\n    SAWG C 0 //ACS_Execute(287,0,random(-6,-12),random(-10,10),0)\n    SAWG D 1 A_WeaponReady\n    loop\n  Fire:\n    SAWG A 0 //ACS_Execute(287,0,random(14,20),random(-20,20),0)\n    SAWG A 1 A_Saw\n    SAWG B 0 //ACS_Execute(287,0,random(-14,-20),random(-20,20),0)\n    SAWG B 1 A_Saw\n    SAWG B 0 A_ReFire\n    goto Ready\n  }\n}\n\nactor FartRifleSpawner : RandomSpawner replaces PlasmaRifle\n{\n\tDropItem \"FartRifle\", 255, 10\n\tDropItem \"RailFart\", 255, 3\n\tDropItem \"DinnerBlaster\", 255, 2\n}\n\nactor SprayBallHit\n{\n\t+NOGRAVITY\n\t+FORCERADIUSDMG\n\tDamageType Fire\n\tScale 0.4\n\tvar int user_counter;\n\tStates\n\t{\n\t\tSpawn:\n\t\tFLMB A 0\n\t\tFLMB A 0 A_SetUserVar(\"user_counter\",0)\n\t\tLooping:\n\t\tTNT1 A 9 A_Warp(AAPTR_TRACER, 0, 0, 30)\n\t\tTNT1 A 0 A_SpawnItemEx(\"SpraycanBallFlame\", random(-15,15), random(-15,15),random(-15,15))\n\t\tTNT1 A 0 A_Explode(1, 64, 0, 0, 64)\n\t\tTNT1 A 0 A_JumpIf(user_counter>=40, \"End\")\n\t\tTNT1 A 0 A_SetUserVar(\"user_counter\", user_counter+1)\n\t\tLoop\n\t\tEnd:\n\t\tFLMB A 0\n\t\tStop\n\t}\n}\n\nactor SpraycanBall\n{\n\tRadius 8\n\tHeight 8\n\tSpeed 10\n\tDamage 1\n\tScale 0.3\n\tProjectile\n\tDamagetype Fire\n\t+BLOODLESSIMPACT\n\t+HITTRACER\n\tRenderstyle Translucent\n\tAlpha 0.8\n\tObituary \"%o was cooked with %k's aerosol can.\"\n\tvar int user_counter;\n\tStates\n\t{\n\t\tSpawn:\n\t\tFLMB A 0\n\t\tFLMB A 0 A_SetUserVar(\"user_counter\",0)\n\t\tLooping:\n\t\tFLMB AB 3 bright A_Explode(4, 64, 0)\n\t\tFLMB A 0 A_Jump(128, 2)\n\t\tFLMB A 0 A_SpawnItem(\"SpraycanBallFlame\")\n\t\tFLMB A 0 A_JumpIf(user_counter>=4, \"Death\")\n\t\tFLMB A 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\tLoop\n\t\tXDeath:\n\t\tCrash:\n\t\tFLMB A 0\n\t\tFLMB A 0 ACS_NamedExecute(\"Hitmarker\")\n\t\tFLMB A 0 A_SpawnItemEx(\"SprayBallHit\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)\n\t\tDeath:\n\t\tFLMB CDEFGH 3 Bright\n\t\tFLMB G 3 Bright A_SetScale(0.3)\n\t\tFLMB H 3 Bright A_SetScale(0.2)\n\t\tFLMB F 3 Bright A_SetScale(0.1)\n\t\tStop\n\t}\n}\n\nactor FastSpraycanBall: SpraycanBall\n{\n\tRadius 8\n\tHeight 8\n\tSpeed 20\n\tScale 1\n\tStates\n\t{\n\t\tSpawn:\n\t\tTNT1 AAAAA 1\n\t\tStop\n\t\tDeath:\n\t\tFLMB A 0\n\t\tStop\n\t}\n}\n\nactor SpraycanExplosion\n{\n\t+NOGRAVITY\n\t-SOLID\n\t+NOTELEPORT\n\tDamageType Fire\n\tvar int user_counter;\n\tStates\n\t{\n\t\tSpawn:\n\t\tFREX A 0\n\t\tFREX A 0 A_SpawnItemEx(\"ExplosionFlare\", 0, 0, 16)\n\t\tSpawn1:\n\t\tFREX A 0 A_JumpIf(user_counter >= 360*4, 4)\n\t\t//FREX A 0 A_SpawnItemEx(\"FastSpraycanBall\", 0, 0, 16, user_counter)\n\t\tFREX A 0 A_CustomMissile(\"FastSpraycanBall\", 16, 0, user_counter, 16, (user_counter/8)-90)\n\t\tFREX A 0 A_SetUserVar(\"user_counter\", user_counter + 20)\n\t\tloop\n\t\tFREX ABCDEFGHIJK 2 Bright\n\t\tStop\n\t}\n}\n\nactor SpraycanLit : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 1\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 1\n}\n\nactor SpraycanLitCounter : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 10\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 10\n}\n\nactor SpraycanThrown\n{\n\tProjectile\n\t-NOGRAVITY\n\tGravity 0.8\n\tRadius 7\n\tHeight 7\n\tScale 0.4\n\t+HITTRACER\n\tStates\n\t{\n\t\tSpawn:\n\t\tSPRC ABCDEFGH 2 Bright\n\t\tLoop\n\t\tXDeath:\n\t\tCrash:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecute(\"HitMarker\")\n\t\tTNT1 A 1\n\t\tDeath:\n\t\tTNT1 A 0\n\t\tFREX A 0 A_Explode(64, 128)\n\t\tTNT1 A 0 A_PlaySound(\"bigexplosion\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"SpraycanExplosion\")\n\t\tTNT1 A 1\n\t\tStop\n\t}\n}\n\nactor SpraycanThrown1 : SpraycanThrown\n{\n\tSpeed 15\n}\n\nactor SpraycanThrown2 : SpraycanThrown\n{\n\tSpeed 20\n}\n\nactor SpraycanThrown3 : SpraycanThrown\n{\n\tSpeed 25\n}\n\nactor SpraycanThrown4 : SpraycanThrown\n{\n\tSpeed 30\n}\n\nactor SpraycanThrownBounce : SpraycanThrown\n{\n\tBounceType \"Doom\"\n\tBounceFactor 0.4\n\tWallBounceFactor 0.4\n\tvar int user_counter;\n\t+ALLOWBOUNCEONACTORS\n\t+BOUNCEONACTORS\n\t+USEBOUNCESTATE\n\tbouncesound \"spraycan/bounce\"\n\tStates\n\t{\n\t\tBounce.Floor:\n\t\tSPRC A 0\n\t\tSPRC A 0 A_SpawnItemEx(\"bouncepuff\")\n\t\tGoto Spawn\n\t\tDeath:\n\t\tTNT1 A 0 A_SetUserVar(user_counter, 0)\n\t\tLooping:\n\t\tSPRC IJKL 2\n\t\tSPRC L 0 A_JumpIf(user_counter > 10, 2)\n\t\tSPRC L 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\tloop\n\t\tSPRC L 0\n\t\tGoto Super::Death\n\t}\n}\n\nactor SpraycanThrownBounce1 : SpraycanThrownBounce\n{\n\tSpeed 15\n}\n\nactor SpraycanThrownBounce2 : SpraycanThrownBounce\n{\n\tSpeed 20\n}\n\nactor SpraycanThrownBounce3 : SpraycanThrownBounce\n{\n\tSpeed 25\n}\n\nactor SpraycanThrownBounce4 : SpraycanThrownBounce\n{\n\tSpeed 30\n}\n\nactor SpraycanWeapon : FartyGun\n{\n\tinventory.PickupMessage \"Retrieved an Aerosol can.\"\n\tWeapon.AmmoType \"Gasoline\"\n\tWeapon.AmmoUse 1\n\tWeapon.AmmoGive 40\n\tWeapon.AmmoType2 \"SpraycanThrowForce\"\n\tWeapon.AmmoUse2 0\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSPRA A -1\n\t\t\tstop\n\t\tReady:\n\t\t\tSPRY A 0 A_JumpIfInventory(\"SpraycanLit\", 1, \"ReadyLit\")\n\t\t\tSPRY GGGHHHIII 1 A_WeaponReady\n\t\t\tloop\n\t\tReadyLit:\n\t\t\tSPRY RRRSSSTTT 1 A_WeaponReady\n\t\t\tSPRY T 0 A_JumpIfInventory(\"SpraycanLitCounter\", 10, 2)\n\t\t\tSPRY T 0 A_GiveInventory(\"SpraycanLitCounter\", 1)\n\t\t\tloop\n\t\t\tSPRY T 0 A_TakeInventory(\"SpraycanLitCounter\", 10)\n\t\t\tSPRY T 0 A_TakeInventory(\"SpraycanLit\", 1)\n\t\t\tSPRY T 0 A_SpawnItemEx(\"SpraycanExplosion\")\n\t\t\tTNT1 A 0 A_PlaySound(\"bigexplosion\")\n\t\t\tTNT1 A 6\n\t\t\tSPRY G 1 offset(0, 110)\n\t\t\tSPRY G 1 offset(0, 95)\n\t\t\tSPRY G 1 offset(0, 70)\n\t\t\tSPRY H 1 offset(0, 55)\n\t\t\tSPRY H 1 offset(0, 45)\n\t\t\tSPRY H 1 offset(0, 40)\n\t\t\tGoto Ready\n\t\tSelect:\n\t\t\tSPRY A 0 A_PlaySound(\"spraycan/open\")\n\t\t\tSPRY AAAAAAAAAA 0 A_Raise\n\t\t\tSPRY AAAA 0 A_Raise\n\t\t\tSPRY AB 2\n\t\t\tSPRY C 2\n\t\t\tSPRY D 2\n\t\t\tSPRY E 2 A_PlaySound(\"spraycan/light\")\n\t\t\tSPRY AAAAAAA 0 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tSPRY A 0 A_TakeInventory(\"SpraycanLit\", 1)\n\t\t\tSPRY A 0 A_TakeInventory(\"SpraycanLitCounter\",10)\n\t\t\tSPRY A 0 A_StopSoundEx(\"Voice\")\n\t\t\tSPRY E 0 A_Lower\n\t\t\tloop\n\t\tFire:\n\t\t\tSPRY A 0 A_JumpIfInventory(\"SpraycanLit\", 1, \"FireLit\")\n\t\t\tSPRY J 0 A_PlaySoundEx(\"spraycan/start\", \"Weapon\")\n\t\t\tSPRY JK 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSPRY L 0 A_ReFire\n\t\t\tSPRY L 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSPRY KJ 3 A_WeaponReady\n\t\tGoto Ready\n\t\tFireLit:\n\t\t\tSPRY R 1 offset(0,40)\n\t\t\tSPRY R 1 offset(0,45)\n\t\t\tSPRY R 1 offset(0,55)\n\t\t\tSPRY S 1 offset(0,70)\n\t\t\tSPRY S 1 offset(0,95)\n\t\t\tSPRY S 1 offset(0,110)\n\t\t\tTNT1 A 1 A_ReFire\n\t\t\tHNDG H 1 offset(0,40)\n\t\t\tHNDG I 1\n\t\t\tHNDG J 0 A_PlayWeaponSound(\"grenade/throw\")\n\t\t\tHNDG J 0 A_TakeInventory(\"SpraycanLit\", 1)\n\t\t\tHNDG J 0 A_TakeInventory(\"SpraycanLitCounter\", 10)\n\t\t\tHNDG J 0 A_TakeInventory(\"Gasoline\", 40)\n\t\t\tHNDG J 2 A_FireCustomMissile(\"SpraycanThrown1\",0,0,0,0,4,8)\n\t\t\tHNDG KLMNOPQ 2\n\t\t\tTNT1 A 6\n\t\t\tSPRY G 1 offset(0, 110)\n\t\t\tSPRY G 1 offset(0, 95)\n\t\t\tSPRY G 1 offset(0, 70)\n\t\t\tSPRY H 1 offset(0, 55)\n\t\t\tSPRY H 1 offset(0, 45)\n\t\t\tSPRY H 1 offset(0, 40)\n\t\t\tGoto Ready\n\t\tHold:\n\t\t\tSPRY L 0\n\t\t\tSPRY L 0 A_JumpIfInventory(\"SpraycanLit\",1, \"HoldLit\")\n\t\t\tSPRY L 0 A_PlaySoundEx(\"spraycan/loop\", \"Voice\", 1)\n\t\t\tSPRY L 0 A_FireCustomMissile(\"SpraycanBall\", 0, 1)\n\t\t\tSPRY L 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSPRY L 0 A_ReFire\n\t\t\tSPRY L 0 A_StopSoundEx(\"Voice\")\n\t\t\tSPRY L 0 A_PlaySoundEx(\"spraycan/end\", \"Voice\")\n\t\t\tSPRY KJ 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto Ready\n\t\tHoldLit:\n\t\t\tTNT1 A 1\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"SpraycanThrowForce\", 100, 3)\n\t\t\tTNT1 A 0 A_GiveInventory(\"SpraycanThrowForce\", 2)\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_ReFire\n\t\t\tHNDG H 1 offset(0,40)\n\t\t\tHNDG I 1\n\t\t\tHNDG J 2\n\t\t\tHNDG J 0 A_PlayWeaponSound(\"grenade/throw\")\n\t\t\tHNDG J 0 A_TakeInventory(\"SpraycanLit\", 1)\n\t\t\tHNDG J 0 A_TakeInventory(\"SpraycanLitCounter\", 10)\n\t\t\tHNDG J 0 A_TakeInventory(\"Gasoline\", 40)\n\t\t\tHNDG J 0 A_JumpIfInventory(\"SpraycanThrowForce\", 75, \"Throw75\")\n\t\t\tHNDG J 0 A_JumpIfInventory(\"SpraycanThrowForce\", 50, \"Throw50\")\n\t\t\tHNDG J 0 A_JumpIfInventory(\"SpraycanThrowForce\", 25, \"Throw25\")\n\t\t\tHNDG J 0 A_FireCustomMissile(\"SpraycanThrown1\",0,0,0,0,4,12)\n\t\t\tGoto HoldLitEnd\n\t\tThrow25:\n\t\t\tHNDG J 0 A_FireCustomMissile(\"SpraycanThrown2\",0,0,0,0,4,14)\n\t\t\tGoto HoldLitEnd\n\t\tThrow50:\n\t\t\tHNDG J 0 A_FireCustomMissile(\"SpraycanThrown3\",0,0,0,0,4,16)\n\t\t\tgoto HoldLitEnd\n\t\tThrow75:\n\t\t\tHNDG J 0 A_FireCustomMissile(\"SpraycanThrown4\",0,0,0,0,4,18)\n\t\tHoldLitEnd:\n\t\t\tHNDG J 0 A_TakeInventory(\"SpraycanThrowForce\",100)\n\t\t\tHNDG JKLMNOPQ 2\n\t\t\tTNT1 A 6\n\t\t\tSPRY G 1 offset(0, 110)\n\t\t\tSPRY G 1 offset(0, 95)\n\t\t\tSPRY G 1 offset(0, 70)\n\t\t\tSPRY H 1 offset(0, 55)\n\t\t\tSPRY H 1 offset(0, 45)\n\t\t\tSPRY H 1 offset(0, 40)\n\t\t\tGoto Ready\n\t\tAltFire:\n\t\t\tSPRY G 0 A_JumpIfInventory(\"Gasoline\", 40, 1)\n\t\tGoto Ready\n\t\t\tSPRY G 0 A_JumpIfInventory(\"SpraycanLit\", 1, \"AltFireLit\")\n\t\t\tSPRY GMNO 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSPRY P 0 A_GiveInventory(\"SpraycanLit\", 1)\n\t\t\tSPRY P 0 A_PlaySound(\"weapons/pistol\")\n\t\t\tSPRY PQ 3 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tGoto Ready\n\t\tAltFireLit:\n\t\t\tSPRY R 1 offset(0,40)\n\t\t\tSPRY R 1 offset(0,45)\n\t\t\tSPRY R 1 offset(0,55)\n\t\t\tSPRY S 1 offset(0,70)\n\t\t\tSPRY S 1 offset(0,95)\n\t\t\tSPRY S 1 offset(0,110)\n\t\t\tTNT1 A 1 A_ReFire\n\t\t\tHNDG H 1 offset(0,40)\n\t\t\tHNDG I 1\n\t\t\tHNDG J 0 A_PlayWeaponSound(\"grenade/throw\")\n\t\t\tHNDG J 0 A_TakeInventory(\"SpraycanLit\", 1)\n\t\t\tHNDG J 0 A_TakeInventory(\"SpraycanLitCounter\", 10)\n\t\t\tHNDG J 0 A_TakeInventory(\"Gasoline\", 40)\n\t\t\tHNDG J 2 A_FireCustomMissile(\"SpraycanThrownBounce1\",0,0,0,0,4,8)\n\t\t\tHNDG KLMNOPQ 2\n\t\t\tTNT1 A 6\n\t\t\tSPRY G 1 offset(0, 110)\n\t\t\tSPRY G 1 offset(0, 95)\n\t\t\tSPRY G 1 offset(0, 70)\n\t\t\tSPRY H 1 offset(0, 55)\n\t\t\tSPRY H 1 offset(0, 45)\n\t\t\tSPRY H 1 offset(0, 40)\n\t\t\tGoto Ready\n\t\tAltHold:\n\t\t\tSPRY L 0\n\t\t\tSPRY L 0 A_JumpIfInventory(\"SpraycanLit\",1, \"AltHoldLit\")\n\t\t\tSPRY L 0 A_ReFire\n\t\t\tGoto Ready\n\t\tAltHoldLit:\n\t\t\tTNT1 A 1\n\t\t\tTNT1 A 0 A_GiveInventory(\"SpraycanThrowForce\", 2)\n\t\t\tTNT1 A 0 A_ReFire\n\t\t\tHNDG H 1 offset(0,40)\n\t\t\tHNDG I 1\n\t\t\tHNDG J 2\n\t\t\tHNDG J 0 A_PlayWeaponSound(\"grenade/throw\")\n\t\t\tHNDG J 0 A_TakeInventory(\"SpraycanLit\", 1)\n\t\t\tHNDG J 0 A_TakeInventory(\"SpraycanLitCounter\", 10)\n\t\t\tHNDG J 0 A_TakeInventory(\"Gasoline\", 40)\n\t\t\tHNDG J 0 A_JumpIfInventory(\"SpraycanThrowForce\", 75, \"Throw75B\")\n\t\t\tHNDG J 0 A_JumpIfInventory(\"SpraycanThrowForce\", 50, \"Throw50B\")\n\t\t\tHNDG J 0 A_JumpIfInventory(\"SpraycanThrowForce\", 25, \"Throw25B\")\n\t\t\tHNDG J 0 A_FireCustomMissile(\"SpraycanThrownBounce1\",0,0,0,0,4,12)\n\t\t\tGoto HoldLitEnd\n\t\tThrow25B:\n\t\t\tHNDG J 0 A_FireCustomMissile(\"SpraycanThrownBounce2\",0,0,0,0,4,14)\n\t\t\tGoto HoldLitEnd\n\t\tThrow50B:\n\t\t\tHNDG J 0 A_FireCustomMissile(\"SpraycanThrownBounce3\",0,0,0,0,4,16)\n\t\t\tgoto HoldLitEnd\n\t\tThrow75B:\n\t\t\tHNDG J 0 A_FireCustomMissile(\"SpraycanThrownBounce4\",0,0,0,0,4,18)\n\t\t\tGoto HoldLitEnd\n\t}\n}\n\nactor FlamethrowerBall\n{\n\tProjectile\n\tDamagetype Fire\n\t+BLOODLESSIMPACT\n\t+HITTRACER\n\t-NOGRAVITY\n\tRenderstyle Translucent\n\tSpeed 25\n\tAlpha 1\n\tScale 0.3\n\tGravity 0.3\n\tObituary \"%o was burnt to a crisp by %k's flamethrower.\"\n\tStates\n\t{\n\t\tSpawn:\n\t\tFLMB AB 3 bright A_Explode(4, 64, 0)\n\t\tFLMB A 0 A_Jump(128, 2)\n\t\tFLMB A 0 A_SpawnItem(\"SpraycanBallFlame\")\n\t\tFLMB A 0\n\t\tLoop\n\t\tXDeath:\n\t\tCrash:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecute(\"Hitmarker\")\n\t\tFLMB A 0 A_SpawnItemEx(\"SprayBallHit\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)\n\t\tTNT1 A 1\n\t\tGoto FlameDeath\n\t\tDeath:\n\t\tFLMB AA 0 A_SpawnItemEx(\"FlamethrowerSubBall\", 0, 0, 0, frandom(-5,5),frandom(-5,5),frandom(3,8),0,0)\n\t\tFlameDeath:\n\t\tFLMB A 0 A_ChangeFlag(\"NOGRAVITY\", true)\n\t\tFLMB CDEFGH 3 Bright\n\t\tFLMB G 3 Bright A_SetScale(0.3)\n\t\tFLMB H 3 Bright A_SetScale(0.2)\n\t\tFLMB F 3 Bright A_SetScale(0.1)\n\t\tStop\n\t}\n}\n\nactor FlamethrowerSubBall\n{\n\tSpeed 0\n\tScale 0.5\n\t-NOGRAVITY\n\t+CORPSE\n\t+NOTELEPORT\n\t+NOBLOCKMAP\n\t+NOBLOCKMONST\n\t+DOOMBOUNCE\n\tbouncefactor 0.2\n\tbouncecount 2\n\tStates\n\t{\n\t\tSpawn:\n\t\tFRBL ABCDEF 2 bright A_SpawnItemEx(\"CharacterFlame\",frandom(-2,2),frandom(-2,2),frandom(-2,2),0,0,0,0,0,32,0)\n\t\tloop\n\t\tCrash:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"FlamethrowerFlame2\")\n\t\tTNT1 A 1\n\t\tStop\n\t}\n}\n\nactor FlamethrowerBallBig : FlamethrowerBall\n{\n\tSpeed 40\n\tRadius 8\n\tHeight 8\n\tGravity 0.5\n\tScale 0.7\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFRBL ABCDEF 2 bright A_SpawnItemEx(\"CharacterFlame\",frandom(-2,2),frandom(-2,2),frandom(-2,2),0,0,0,0,0,32,0)\n\t\t\tloop\n\t\tXDeath:\n\t\tCrash:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"Hitmarker\")\n\t\t\tTNT1 A 1\n\t\tDeath:\n\t\t\tTNT1 A 0 A_Stop\n\t\t\tFREX A 0 A_Explode(45, 128)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"SpraycanExplosion\")\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"FlamethrowerBigSubBall\", 0, 0, 0, frandom(-7,7),frandom(-7,7),frandom(5,12),0,0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"FlamethrowerFlame\")\n\t\t\tTNT1 A 0 A_PlaySound(\"bigexplosion\")\n\t\t\tTNT1 A 1\n\t\t\tStop\n\t}\n}\n\nactor FlamethrowerBigSubBall : FlamethrowerSubBall\n{\n\tRadius 1\n\tHeight 1\n\tStates\n\t{\n\t\tCrash:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"FlamethrowerFlame\")\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t}\n}\n\nactor FlamethrowerFlame\n{\n scale 1\n +NOBLOCKMAP\n +MOVEWITHSECTOR\n +NOTELEPORT\n ReactionTime 10\n DamageType \"Fire\"\n States\n {\n  Spawn:\n  FLME A 0 bright A_SetScale(0)\n  FLME A 3 bright A_SetScale(0.2)\n  FLME B 3 bright A_SetScale(0.4)\n  FLME C 3 bright A_SetScale(0.6)\n  FLME D 3 bright A_SetScale(0.8)\n  FLME E 3 bright A_SetScale(1)\n  Looping:\n  FLME ABC 3 bright\n  FLME A 0 A_Explode(2, 80, XF_HURTSOURCE, 80)\n  FLME DEF 3 bright\n  FLME A 0 A_Explode(2, 80, XF_HURTSOURCE, 80)\n  FLME GHI 3 bright\n  FLME A 0 A_Explode(2, 80, XF_HURTSOURCE, 80)\n  FLME JKL 3 bright\n  FLME A 0 A_Explode(2, 80, XF_HURTSOURCE, 80)\n  FLME MN 3 bright\n  FLME N 0 bright A_Explode(2, 80, XF_HURTSOURCE, 80)\n  FLME A 0 A_CountDown\n  loop\n  Death:\n  FLME ABCDEFGHIJKLMN 3 bright A_FadeOut(0.1)\n  loop\n }\n}\n\nactor FlamethrowerFlame2 : FlamethrowerFlame\n{\n\tStates\n\t{\n  Spawn:\n  FLME A 0 bright A_SetScale(0)\n  FLME A 3 bright A_SetScale(0.2)\n  FLME B 3 bright A_SetScale(0.4)\n  FLME C 3 bright A_SetScale(0.6)\n  FLME D 3 bright A_SetScale(0.8)\n  Looping:\n  FLME ABCD 3 bright\n  FLME A 0 A_Explode(2, 80, XF_HURTSOURCE, 80)\n  FLME EFGH 3 bright\n  FLME F 0 A_Explode(2, 80, XF_HURTSOURCE, 80)\n  FLME IJKL 3 bright\n  FLME A 0 A_Explode(2, 80, XF_HURTSOURCE, 80)\n  FLME MN 3 bright\n  FLME N 0 A_Explode(2, 80, XF_HURTSOURCE, 80)\n  FLME A 0 A_CountDown\n  loop\n  Death:\n  FLME ABCDEFGHIJKLMN 3 bright A_FadeOut(0.1)\n  loop\n }\n}\n\nactor Flamethrower : FartyGun\n{\n\tinventory.PickupMessage \"Retrieved an Aerosol can.\"\n\tWeapon.AmmoType \"Gasoline\"\n\tWeapon.AmmoUse 0\n\tWeapon.AmmoGive 30\n\tWeapon.AmmoType2 \"FlamethrowerClip\"\n\tWeapon.AmmoUse2 0\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSCRP A -1\n\t\t\tstop\n\t\tReady:\n\t\t\tSCRG A 1 A_WeaponReady(WRF_ALLOWRELOAD)\n\t\t\tLoop\n\t\tSelect:\n\t\t\tSCRG A 0 A_Raise\n\t\t\tSCRG A 1 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tSCRG A 0 A_StopSoundEx(\"Weapon\")\n\t\t\tSCRG A 0 A_Lower\n\t\t\tloop\n\t\tFire:\n\t\t\tSCRF A 0 A_JumpIfInventory(\"FlamethrowerClip\", 1, 1)\n\t\t\tGoto Reload\n\t\t\tSCRF A 0 A_PlaySoundEx(\"flamethrower/start\", \"Weapon\")\n\t\t\tSCRG A 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tHold:\n\t\t\tSCRF A 0 A_JumpIfInventory(\"FlamethrowerClip\", 1, 1)\n\t\t\tGoto Reload\n\t\t\tSCRG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRG A 0 A_SetPitch(pitch - 0.25)\n\t\t\tSCRG A 0 A_SetAngle(angle + frandom(-0.15, 0.15))\n\t\t\tSCRG A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRG A 0 A_SetPitch(pitch - 0.25)\n\t\t\tSCRG A 0 A_SetAngle(angle + frandom(-0.15, 0.15))\n\t\t\tSCRG A 0 A_TakeInventory(\"FlamethrowerClip\", 1)\n\t\t\tSCRG A 0 A_Quake(2,4,0,1)\n\t\t\tSCRF C 0 A_PlaySoundEx(\"flamethrower/loop\", \"Weapon\", 1)\n\t\t\tSCRF C 0 A_FireCustomMissile(\"FlamethrowerBall\", 0, 0, 10)\n\t\t\tSCRF C 0 A_JumpIfInventory(\"FlamethrowerClip\", 1, 2)\n\t\t\tSCRF C 0 A_Jump(256, 2)\n\t\t\tSCRF C 0 A_ReFire\n\t\t\tSCRF D 0\n\t\t\tSCRF D 0 A_StopSoundEx(\"Weapon\")\n\t\t\tSCRF D 0 A_PlaySoundEx(\"flamethrower/end\", \"Weapon\")\n\t\t\tSCRF ABCDEF 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto Ready\n\t\tAltFire:\n\t\t\tSCRF A 0 A_JumpIfInventory(\"FlamethrowerClip\", 20, 1)\n\t\t\tGoto Ready\n\t\t\tSCRF A 0 A_FireCustomMissile(\"FlamethrowerBallBig\", 0, 0, 10)\n\t\t\tSCRG A 0 A_SetPitch(pitch - 5)\n\t\t\tSCRG A 0 A_Quake(4,6,0,1,0)\n\t\t\tSCRF A 0 A_PlaySoundEx(\"flamethrower/alt\", CHAN_WEAPON)\n\t\t\tSCRF A 0 A_TakeInventory(\"FlamethrowerClip\", 20)\n\t\t\tSCRF A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRF A 0 A_SetPitch(pitch + 1)\n\t\t\tSCRF A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRF A 0 A_SetPitch(pitch + 1)\n\t\t\tSCRF B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRF B 0 A_SetPitch(pitch + 1)\n\t\t\tSCRF B 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRF B 0 A_SetPitch(pitch + 1)\n\t\t\tSCRF C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRF C 0 A_SetPitch(pitch + 1)\n\t\t\tSCRF C 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRF C 0 A_SetPitch(pitch + 1)\n\t\t\tSCRF DEF 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRF F 0 A_ReFire\n\t\t\tSCRG A 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto Ready\n\t\tReload:\n\t\t\tSCRG A 0 A_JumpIfInventory(\"Gasoline\", 1, 1)\n\t\t\tGoto Ready\n\t\t\tSCRF D 0 A_StopSoundEx(\"Body\")\n\t\t\tSCRG A 0 A_JumpIfInventory(\"FlamethrowerClip\", 60, \"Ready\")\n\t\t\tSCRG BCDEFGHIJK 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRR ABCD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRR D 0 A_PlaySound(\"flamethrower/out\")\n\t\t\tSCRR EFGHIJKLMNOP 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRR P 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tReloadLoop:\n\t\t\tSCRR A 0 A_TakeInventory(\"Gasoline\", 1)\n\t\t\tSCRR A 0 A_GiveInventory(\"FlamethrowerClip\", 1)\n\t\t\tSCRR A 0 A_JumpIfInventory(\"FlamethrowerClip\", 60, \"ReloadEnd\")\n\t\t\tSCRR A 0 A_JumpIfInventory(\"Gasoline\", 1, 1)\n\t\t\tLoop\n\t\t\tGoto ReloadEnd\n\t\t\tRIOR A 0\n\t\t\tloop\n\t\tReloadEnd:\n\t\t\tSCRR PONMLKJIHGFE 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRR D 0 A_PlaySound(\"flamethrower/in\")\n\t\t\tSCRR DCBA 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tSCRG KJIHGFEDCB 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tGoto Ready\n\t}\n}\n\nactor RiotgunCycle : Ammo\n{\n\tInventory.Amount 0\n\tInventory.MaxAmount 4\n\tAmmo.BackpackAmount 0\n\tAmmo.BackpackMaxAmount 4\n}\n\nactor RiotGun : FartyGun\n{\n\tWeapon.AmmoType \"FartShell\"\n\tWeapon.AmmoGive 16\n\tWeapon.AmmoUse 0\n\tWeapon.AmmoType2 \"RiotGunClip\"\n\tWeapon.AmmoUse2 0\n\tStates\n\t{\n\tReady:\n\t\tRIOT A 1 A_WeaponReady(WRF_ALLOWRELOAD)\n\t\tloop\n\tSelect:\n\t\tTNT1 A 0 A_JumpIfInventory(\"RiotgunCycle\", 1, \"ActualSelect\")\n\t\tTNT1 AAAAAAAAAAAAAAA 0 A_Raise\n\t\tRIOR F 0 A_GiveInventory(\"RiotgunCycle\", 4)\n\t\tRIOR FGHI 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT A 0 A_PlaySoundEx(\"riotgun/cock\", CHAN_WEAPON)\n\t\tRIOR JKLMNO 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT A 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tActualSelect:\n\t\tRIOT A 0 A_Raise\n\t\tRIOT A 1 A_Raise\n\t\tloop\n\tDeselect:\n\t\tRIOT A 0 A_Lower\n\t\tloop\n\tFire:\n\t\tRIOT A 0 A_JumpIfInventory(\"RiotGunClip\", 1, 1)\n\t\tGoto Reload\n\t\tRIOT A 0 A_FireBullets(22, 5, 10, 5, \"NewBulletPuff\")\n\t\tRIOT A 0 A_TakeInventory(\"RiotgunCycle\", 1)\n\t\tRIOT A 0 A_TakeInventory(\"RiotgunClip\", 1)\n\t\tRIOT A 0 A_SpawnItemEx(\"ShellCasing\", 18, 10, 32, frandom(0,3), frandom(4,7), frandom(4,7))\n\t\tREMG AAAAAAAA 0 A_SpawnItemEx(\"ShotgunParticle\", 12, 5, 32, frandom(5, 10), frandom(-2, 2), frandom(-2, 2))\n\t\tRIOT A 0 A_SetAngle(angle+random(-15,15))\n\t\tRIOT A 0 A_SetPitch(pitch-10)\n\t\tRIOT A 0 Radius_Quake(6, 6, 0, 1, 0)\n\t\tRIOT A 0 A_PlaySoundEx(\"ssg/empty\", CHAN_WEAPON)\n\t\tRIOT A 0 A_Recoil(5)\n\t\tRIOT B 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT B 0 bright A_SetPitch(pitch+1.5)\n\t\tRIOT C 1 bright A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT C 0 bright A_SetPitch(pitch+1.5)\n\t\tRIOT D 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT D 0 A_SetPitch(pitch+1.5)\n\t\tRIOT E 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT E 0 A_SetPitch(pitch+1.5)\n\t\tRIOT F 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT A 0 A_JumpIfInventory(\"RiotgunClip\", 1, 2)\n\t\tRIOT A 0 A_Jump(256, 2)\n\t\tRIOT A 0 A_JumpIfInventory(\"RiotgunCycle\", 1, 1)\n\t\tGoto FireCycle\n\t\tRIOT A 0 A_ReFire\n\t\tRIOT A 6 A_WeaponReady\n\t\tGoto ready\n\tFireCycle:\n\t\tRIOT A 0 A_GiveInventory(\"RiotgunCycle\", 4)\n\t\tRIOR FGHI 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT A 0 A_PlaySoundEx(\"riotgun/cock\", CHAN_WEAPON)\n\t\tRIOR JKLMNO 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT A 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT A 0 A_ReFire\n\t\tGoto Ready\n\tReload:\n\t\tRIOR A 0 A_JumpIfInventory(\"FartShell\", 1, 1)\n\t\tGoto Ready\n\t\tRIOR A 0 A_JumpIfInventory(\"RiotgunClip\", 8, \"Ready\")\n\t\tRIOR A 0 A_TakeInventory(\"RiotgunCycle\", 4)\n\t\tRIOR A 0 A_PlaySoundEx(\"riotgun/out\", CHAN_WEAPON)\n\t\tRIOR ABCD 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOR E 23 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOR DCBA 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOR A 0 A_PlaySoundEx(\"riotgun/in\", CHAN_WEAPON)\n\tReloadLoop:\n\t\tRIOR A 0 A_TakeInventory(\"FartShell\", 1)\n\t\tRIOR A 0 A_GiveInventory(\"RiotGunClip\", 1)\n\t\tRIOR A 0 A_JumpIfInventory(\"RiotgunClip\", 8, \"ReloadEnd\")\n\t\tRIOR A 0 A_JumpIfInventory(\"FartShell\", 1, 1)\n\t\tLoop\n\t\tGoto ReloadEnd\n\t\tRIOR A 0\n\t\tloop\n\tReloadEnd:\n\t\tRIOT A 6 A_WeaponReady(WRF_NOFIRE)\n\t\tRIOR F 0 A_GiveInventory(\"RiotgunCycle\", 4)\n\t\tRIOR FGHIJ 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOR J 0 A_PlaySoundEx(\"riotgun/cock\", CHAN_WEAPON)\n\t\tRIOR KLMNO 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\tRIOT A 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\tGoto Ready\n\tSpawn:\n\t\tRIOP A -1\n\t\tStop\n\t}\n}\n\nACTOR Bfg10kFartShot : BFG10kShot\n{\n\t+HITTRACER\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"Hitmarker\")\n\t\t\tTNT1 A 1\n\t\tCrash:\n\t\t\tBFE1 A 0 Bright\n\t\t\tBFG1 B 0 A_SpawnItemEx(\"BFGFlare1\", 0, 0, 8)\n\t\t\tBFG1 BBBBBBBBBBBBBBBB 0 A_SpawnItemEx(\"BFGExplodeParticle\", 0, 0, 8, frandom(-16, 16), frandom(-16, 16), frandom(-16,16))\n\t\t\tBFE1 A 3 Bright A_Explode(160, 128)\n\t\t\tBFE1 BCDEF 3 Bright\n\t\tStop\n\t}\n}\n\nACTOR BFG10fart : Fartygun replaces BFG10K 5013\n{\nRadius 20\nHeight 20\nWeapon.SelectionOrder 2800\nWeapon.AmmoType \"FartCell\"\nWeapon.AmmoUse 5\nWeapon.AmmoGive 40\nWeapon.SlotNumber 7\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOLMS\nInventory.PickupMessage \"It's a fucking BFG10Fart! Woopee!\"\n+BLOODSPLATTER\n  States\n  {\n  Spawn:\n  BFG2 A -1\n  Stop\n  Select:\n  BG2G A 0 A_Raise\n  BG2G A 1 A_Raise\n  loop\n  Deselect:\n  BG2G A 0 A_Lower\n  loop\n  Ready:\n  BG2G A 0 A_PlaySound(\"weapons/bfg10kidle\")\n  BG2G AAABBBCCCDDD 1 A_WeaponReady\n  loop\n  Fire:\n\tBG2G E 0\n\tBG2G E 0 A_Quake(4, 28, 0, 1)\n\tBG2G E 0 A_PlaySoundEx(\"weapons/bfg10kf\", CHAN_VOICE)\n    BG2G E 20 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    BG2G F 4 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    BG2G GHIJ 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    Goto Hold\n  Hold:\n    BG2G K 0 A_RailAttack(0,0,0,\"00 ff 00\",none,1,20,\"none\")\n\tBG2G K 0 A_Gunflash\n\tBG2G K 0 A_Quake(8, 2, 0, 1)\n    BG2G K 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    BG2G K 0 //ACS_Execute(287,0,random(30,120),random(-90,90),0)\n    BG2G L 0 A_FireBullets(0,0,1,0,\"BFG10kFartShot\")\n\tBG2G L 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    BG2G K 0 //ACS_Execute(287,0,random(-30,-120),random(-20,20),0)\n    BG2G M 2 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    BG2G N 0 A_ReFire\n\tBG2G O 0 A_PlaySound(\"weapons/bfg10kcool\")\n    BG2G O 35 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n    Goto Ready\n  Flash:\n    TNT1 A 1 Bright A_Light1\n    TNT1 A 2 Bright\n    Goto LightDone\n    Stop\n  }\n}\n\nactor Dinner\n{\n\tRadius 13\n\tHeight 8\n\tSpeed 30\n\tDamage 10\n\tProjectile\n\tScale 0.06\n\tobituary \"%o ate %k's burgers\"\n\tDamageType \"Dinner\"\n\t+BLOODLESSIMPACT\n\t+HITTRACER\n\t+EXTREMEDEATH\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDINN A 1\n\t\t\tloop\n\t\tDeath:\n\t\t\tDINN A 0\n\t\t\tDINN AAAAA 0 A_SpawnItemEx(\"Flyingblood\",0,0,10,frandom(-7.5, 7.5),frandom(-7.5, 7.5), frandom(3, 10),0,129, 64)\n\t\t\tDINN A 0 A_SpawnItemEx(\"DinnerKetchup\", 0, 0, 10, 0, 0, 0)\n\t\t\tDINN A 0 A_SpawnItemEx(\"DinnerBunTop\", 0, 0, 10, frandom(-10, 10), frandom(-10, 10), frandom(4, 12))\n\t\t\tDINN A 0 A_SpawnItemEx(\"DinnerBunBottom\", 0, 0, 10, frandom(-10, 10), frandom(-10, 10), frandom(4, 12))\n\t\t\tDINN AAAA 0 A_SpawnItemEx(\"DinnerPickle\", 0, 0, 10, frandom(-10, 10), frandom(-10, 10), frandom(4, 12), 0, 0, 64)\n\t\t\tDINN AAA 0 A_SpawnItemEx(\"DinnerTomato\", 0, 0, 10, frandom(-10, 10), frandom(-10, 10), frandom(4, 12), 0, 0, 64)\n\t\t\tDINN AAA 0 A_SpawnItemEx(\"DinnerOnion\", 0, 0, 10, frandom(-10, 10), frandom(-10, 10), frandom(4, 12), 0, 0, 64)\n\t\t\tDINN A 0 A_SpawnItemEx(\"DinnerPatty\", 0, 0, 10, frandom(-10, 10), frandom(-10, 10), frandom(4, 12))\n\t\t\tStop\n\t\tXDeath:\n\t\tCrash:\n\t\t\tTNT1 A 0\n\t\t\tDINN A 0 A_SpawnItemEx(\"DinnerKetchup\", 0, 0, 10, 0, 0, 0)\n\t\t\tTNT1 A 0 A_PlaySound(\"random/gulp\")\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"DinnerProjectileDeath\")\n\t\t\tTNT1 A 0 ACS_NamedExecute(\"HitMarker\")\n\t\t\tTNT1 A 10\n\t\t\tstop\n\t}\n}\n\nactor DinnerParticle\n{\n\t-SOLID\n\t+NOBLOCKMAP\n\t-NOGRAVITY\n\t+NOTELEPORT\n\t+CORPSE\n\tRadius 8\n\tHeight 8\n\tGravity 0.8\n\tBounceType Doom\n\tBounceCount 2\n\tBounceFactor 0.2\n}\n\nactor DinnerKetchup\n{\n\t+NOGRAVITY\n\t-SOLID\n\t+NOBLOCKMAP\n\t+NOTELEPORT\n\tscale 0.6\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tKETC ABCDEF 2\n\t\t\tStop\n\t}\n}\n\nactor DinnerBunTop : DinnerParticle\n{\n\tScale 0.04\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDINN F 2 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,0)\n\t\t\tloop\n\t\tCrash:\n\t\t\tDINN F 350\n\t\t\tStop\n\t}\n}\n\nactor DinnerBunBottom : DinnerParticle\n{\n\tScale 0.04\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDINN G 2 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,0)\n\t\t\tloop\n\t\tCrash:\n\t\t\tDINN G 350\n\t\t\tStop\n\t}\n}\n\nactor DinnerPickle : DinnerParticle\n{\n\tScale 0.03\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDINN B 2 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,0)\n\t\t\tloop\n\t\tCrash:\n\t\t\tDINN B 350\n\t\t\tStop\n\t}\n}\n\nactor DinnerTomato : DinnerParticle\n{\n\tScale 0.04\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDINN C 2 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,0)\n\t\t\tloop\n\t\tCrash:\n\t\t\tDINN C 350\n\t\t\tStop\n\t}\n}\n\nactor DinnerOnion : DinnerParticle\n{\n\tScale 0.025\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDINN D 2 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,0)\n\t\t\tloop\n\t\tCrash:\n\t\t\tDINN D 350\n\t\t\tStop\n\t}\n}\n\nactor DinnerPatty : DinnerParticle\n{\n\tScale 0.04\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDINN E 2 A_SpawnItemEx(\"Flyingbloodtrail\",0,0,0,0,0,0,0,129,0)\n\t\t\tLoop\n\t\tCrash:\n\t\t\tDINN E 350\n\t\t\tStop\n\t}\n}\n\nactor DinnerBlaster : FartyGun\n{\n\tScale 0.4\n\tWeapon.AmmoType \"DinnerAmmo\"\n\tWeapon.AmmoGive 5\n\tWeapon.AmmoUse 1\n\tInventory.PickupMessage \"Destroy Link\"\n\tInventory.PickupSound \"dinnerblaster/pickup\"\n\tobituary \"MUHA. MUHA HA HA HA.\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tDINP A -1\n\t\t\tStop\n\t\tSelect:\n\t\t\tDINB A 0\n\t\t\tDINB A 0 A_PlaySound(\"dinnerblaster\")\n\t\tSelectLoop:\n\t\t\tDINB A 0 A_Raise\n\t\t\tDINB A 1 A_Raise\n\t\t\tloop\n\t\tDeselect:\n\t\t\tDINB A 0 A_StopSoundEx(\"SoundSlot6\")\n\t\t\tDINB A 0 A_Lower\n\t\t\tLoop\n\t\tReady:\n\t\t\tDINB A 1 A_WeaponReady\n\t\t\tloop\n\t\tFire:\n\t\t\tDINB A 0\n\t\t\tDINB A 0 A_PlaySound(\"dinnerblaster/shootstart\")\n\t\t\tDINB A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDINB A 0 A_ReFire\n\t\tGoto Ready\n\t\tHold:\n\t\t\tDINB A 0 A_Quake(4, 4, 0, 1)\n\t\t\tDINB A 0 A_PlaySoundEx(\"dinnerblaster/shootloop\", \"SoundSlot6\", 1)\n\t\t\tDINB A 0 A_FireCustomMissile(\"Dinner\", 0, 1, 8)\n\t\t\tDINB A 0 A_PlaySoundEx(\"dinnerblaster/shoot\", \"Weapon\")\n\t\t\tDINB BCDE 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDINB FG 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)\n\t\t\tDINB A 0 A_ReFire\n\t\t\tDINB A 0 A_StopSoundEx(\"SoundSlot6\")\n\t\t\tDINB A 4 A_WeaponReady\n\t\tGoto Ready\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "Decorate/Monsters.txt",
        "contents": "/*Actor NewSMM : SpiderMastermind replaces SpiderMastermind\n{\n\tSeeSound \"spider/sight\"\n\tPainSound \"spider/pain\"\n}*/\n\nactor FriendlyFlagRemover : CustomInventory\n{\n\tStates\n\t{\n\t\tspawn:\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t\tPickup:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_ChangeFlag(\"FRIENDLY\", false)\n\t\t\tstop\n\t}\n}\n\nActor EnemyBullet : FastProjectile\n{\n\tPROJECTILE\n\tRadius 8\n\tHeight 2\n\tSpeed 70\n\tDamage 2\n\t+BLOODSPLATTER\n\tStates\n\t{\n\tSpawn:\n\t\tTRAC A 1 bright\n\t\tloop\n\tDeath:\n\t\tTNT1 A 0 A_SpawnItemEx(\"NewBulletPuff\")\n\t\tStop\n\tXDeath:\n\tCrash:\n\t\tTNT1 A 0\n\t\tStop\n\t}\n}\n\nActor RevenantSpawner : RandomSpawner replaces Revenant\n{\n\tDropItem \"FartRevenant\", 255, 10\n\tDropItem \"GhostRevenant\", 255, 2\n}\n\nActor FartRevenant : Revenant\n{\n\tObituary \"%o got killed by the skeletons in their closet.\"\n\tPainSound \"misc/oorgh\"\n\tPainChance \"Fire\", 4\n\tStates\n\t{\n\t\tDeath.Fire:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningRevenant\")\n\t\tstop\n\t}\n}\n\nactor GhostRevenant : FartRevenant\n{\n\tObituary \"%o got hit by two words: punitive damages.\"\n\tSeeSound \"ghost/sight\"\n\tActiveSound \"ghost/idle\"\n\tDeathSound \"ghost/death\"\n\tPainSound \"ghost/pain\"\n\tPainChance \"Fire\", 4\n\tvar int user_counter;\n\tStates\n\t{\n\t\tSee:\n\t\t\tSKEL A 0 A_SetUserVar(\"user_counter\", 0)\n\t\t\tGoto Super::See\n\t\tMissile:\n\t\t\tSKEL A 0 A_JumpIfCloser(400, \"MissileCans\")\n\t\t\tSKEL J 0 A_PlaySoundEx(\"ghost/cans\", \"Voice\")\n\t\t\tSKEL K 10 Bright A_FaceTarget\n\t\tMissileLoop:\n\t\t\tSKEL J 0 Bright A_CustomMissile(\"GhostRevenantMissile\", 52, 14)\n\t\t\tSKEL JK 5 Bright A_FaceTarget\n\t\t\tSKEL K 0 Bright A_CustomMissile(\"GhostRevenantMissile\", 52, -14)\n\t\t\tSKEL JK 5 Bright A_FaceTarget\n\t\t\tSKEL K 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tSKEL K 0 A_JumpIf(user_counter >= 3, \"See\")\n\t\t\tLoop\n\t\tMissileCans:\n\t\t\tSKEL J 0 A_PlaySoundEx(\"ghost/cans\", \"Voice\")\n\t\t\tSKEL J 10 Bright A_Facetarget\n\t\tMissileCansLoop:\n\t\t\tSKEL J 0 Bright A_Jump(255, 1, 3, 5)\n\t\t\tSKEL J 0 Bright A_CustomMissile(\"GhostCan1\", 48, 0, frandom(-5, 5))\n\t\t\tSKEL J 0 Bright A_Jump(255, 4)\n\t\t\tSKEL J 0 Bright A_CustomMissile(\"GhostCan2\", 48, 0, frandom(-5, 5))\n\t\t\tSKEL J 0 Bright A_Jump(255, 2)\n\t\t\tSKEL J 0 Bright A_CustomMissile(\"GhostCan3\", 48, 0, frandom(-5, 5))\n\t\t\tSKEL J 2 Bright A_FaceTarget\n\t\t\tSKEL J 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tSKEL J 0 A_JumpIf(user_counter >= 30, 1)\n\t\t\tloop\n\t\t\tSKEL K 10 Bright\n\t\t\tGoto See\n\t\tDeath.Fire:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningGhost\")\n\t\tstop\n\t}\n}\n\nactor GhostCanTrail\n{\n\t-SOLID\n\t+NOTELEPORT\n\tGravity 0.6\n\tScale 0.15\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"Spawn1\", \"Spawn2\", \"Spawn3\")\n\t\tSpawn1:\n\t\t\tCAN1 ABCDEFABCDEFABCDEF 3\n\t\t\tStop\n\t\tSpawn2:\n\t\t\tCAN2 ABCDEFABCDEFABCDEF 3\n\t\t\tStop\n\t\tSpawn3:\n\t\t\tCAN3 ABCDEFABCDEFABCDEF 3\n\t\t\tStop\n\t}\n}\n\nactor GhostRevenantMissile : RevenantTracer\n{\n\tDamage 3\n\tSpeed 20\n\t-SEEKERMISSILE\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tFATB AB 2 bright A_SpawnItemEx(\"GhostCanTrail\", frandom(-3, 3), frandom(-3, 3), frandom(-3, 3), frandom(-3, 3), frandom(-3, 3), frandom(-3, 3))\n\t\t\tLoop\n\t\tDeath:\n\t\t\tFBXP AAAAAAAAAA 0 A_SpawnItemEx(\"GhostCanExplosion\")\n\t\t\tFBXP A 8 Bright\n\t\t\tFBXP B 6 Bright\n\t\t\tFBXP C 4 Bright\n\t\t\tStop\n\t}\n}\n\nactor GhostCanExplosion\n{\n\t-SOLID\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, 1, 3, 5)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GhostCan1\",0,0,0,frandom(-9,9),frandom(-9,9),frandom(4,9),0,SXF_TRANSFERPOINTERS)\n\t\t\tBAL1 A 10\n\t\t\tStop\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GhostCan2\",0,0,0,frandom(-9,9),frandom(-9,9),frandom(4,9),0,SXF_TRANSFERPOINTERS)\n\t\t\tBAL1 A 10\n\t\t\tStop\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"GhostCan3\",0,0,0,frandom(-9,9),frandom(-9,9),frandom(4,9),0,SXF_TRANSFERPOINTERS)\n\t\t\tBAL1 A 10\n\t\t\tStop\n\t}\n}\n\nactor GhostCan1\n{\n\tProjectile\n\t-NOGRAVITY\n\t+ALLOWBOUNCEONACTORS\n\t+BOUNCEONACTORS\n\t+USEBOUNCESTATE\n\tScale 0.25\n\tSpeed 30\n\tGravity 0.8\n\tRadius 8\n\tHeight 8\n\tDamage 1\n\tBounceType \"Doom\"\n\tBounceFactor 0.6\n\tWallBounceFactor 0.4\n\tBounceCount 2\n\tBounceSound \"spraycan/bounce\"\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tCAN1 ABCDEF 3\n\t\t\tLoop\n\t\tBounce.Floor:\n\t\t\tSPRC A 0\n\t\t\tSPRC A 0 A_SpawnItemEx(\"bouncepuff\")\n\t\t\tGoto Spawn\n\t\tDeath:\n\t\t\tCAN1 G 500\n\t\t\tStop\n\t}\n}\n\nactor GhostCan2 : GhostCan1\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tCAN2 ABCDEF 3\n\t\t\tLoop\n\t\tBounce.Floor:\n\t\t\tSPRC A 0\n\t\t\tSPRC A 0 A_SpawnItemEx(\"bouncepuff\")\n\t\t\tGoto Spawn\n\t\tDeath:\n\t\t\tCAN2 G 500\n\t\t\tStop\n\t}\n}\n\nactor GhostCan3 : GhostCan1\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tCAN3 ABCDEF 3\n\t\t\tLoop\n\t\tBounce.Floor:\n\t\t\tSPRC A 0\n\t\t\tSPRC A 0 A_SpawnItemEx(\"bouncepuff\")\n\t\t\tGoto Spawn\n\t\tDeath:\n\t\t\tCAN3 G 500\n\t\t\tStop\n\t}\n}\n\nActor FartFatsoExplosion\n{\n\t+BRIGHT\n\tobituary \"%o died to a Mancubus' final explosive fart.\"\n\tTranslation \"208:223=60:68\",\"176:191=69:79\"\n\tStates\n\t{\n\tSpawn:\n\tMISL B 0 A_Explode(40, 128)\n\tMISL B 0 A_PlaySound(\"weapons/rocklx\")\n\tMISL BCDEFGHIJKLMN 2\n\tTNT1 AAAAA 1 A_SpawnItemEx(\"FartCloud\", frandom(-25,25), frandom(-25,25), frandom(0, 5))\n\tstop\n\t}\n}\n\nActor FartFatso : Fatso replaces Fatso\n{\n\tObituary \"A fatass shat on %o's fun.\"\n\tPainChance \"Fire\", 8\n  States\n  {\n  Death:\n\tFATT K 0 A_Jump(200, 2)\n\tFATT K 0 A_SpawnItem(\"FartFatsoExplosion\", 0, 0)\n    FATT K 6\n    FATT L 6 A_Scream\n    FATT M 6 A_NoBlocking\n    FATT NOPQRS 6\n    FATT T -1 A_BossDeath\n\tStop\n}\n}\n\nActor MancubusBall : FatShot replaces FatShot\n{\n\tStates\n\t{\n\t\tDeath:\n\t\t\tMISL BCDEFGHIJKLMN 2 bright\n\t\tStop\n\t}\n}\n\nactor FartiemanDrop : RandomSpawner\n{\n\tDropItem \"FartClip\", 255, 15\n\tDropItem \"PistolPickup\", 255, 8\n}\n\nactor FartieMan : Zombieman\n{\n\tObituary \"How embarassing, %o died to a zombieman. What a fuken nub lol\"\n\tActiveSound \"zombie/idle\"\n\tvar int user_counter;\n\tDropItem \"FartiemanDrop\"\n\tStates\n\t{\n\t\tMissile:\n\t\t\tPOSS E 10 A_FaceTarget\n\t\tMissileLoop:\n\t\t\tPOSS F 0 A_PlaySound(\"weapons/pistol\")\n\t\t\tPOSS F 2 bright A_CustomMissile(\"EnemyBullet\")\n\t\t\tPOSS E 4 A_FaceTarget\n\t\t\tPOSS E 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tPOSS F 0 A_JumpIf(user_counter >= 3, \"MissileEnd\")\n\t\t\tloop\n\t\tMissileEnd:\n\t\t\tPOSS E 0 A_SetUserVar(\"user_counter\", 0)\n\t\t\tPOSS E 8\n\t\t\tGoto See\n\t\tDeath.Fire:\n\t\tTNT1 A 0 A_NoBlocking\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningZombieman\")\n\t\tstop\n\t\tXDeath:\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tGoto Super::XDeath\n\t}\n}\n\nactor FartRifleManDrop : RandomSpawner\n{\n\tDropItem \"FartCell\", 255, 15\n\tDropItem \"FartRifle\", 255, 1\n}\n\nactor FartRifleMan : Fartieman\n{\n\tDropItem \"FartRifleManDrop\"\n\tObituary \"%o got fucked up by a fart rifle man.\"\n\tActiveSound \"zombie/idle\"\n\tSpeed 10\n\tHealth 60\n\tvar int user_counter;\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tZMAY AB 10 A_Look\n\t\t\tLoop\n\t\tSee:\n\t\t\tZMAY A 0 A_SetUserVar(\"user_counter\", 0)\n\t\t\tZMAY AABBCCDD 4 A_Chase\n\t\t\tLoop\n\t\tMissile:\n\t\t\tZMAY E 10 A_FaceTarget\n\t\tMissileLoop:\n\t\t\tZMAY E 0 A_JumpIf(user_counter >= 10, \"MissileEnd\")\n\t\t\tZMAY F 1 A_CustomMissile(\"GayPlasma\", 32, 0)\n\t\t\tZMAY F 0 A_PlaySound(\"weapons/plasmaf\")\n\t\t\tZMAY E 2 A_FaceTarget\n\t\t\tZMAY E 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tGoto MissileLoop\n\t\tMissileEnd:\n\t\t\tZMAY E 8\n\t\t\tGoto See\n\t\tPain:\n\t\t\tZMAY G 3\n\t\t\tZMAY G 3 A_Pain\n\t\t\tGoto See\n\t\tDeath:\n\t\t\tZMAY H 5\n\t\t\tZMAY I 5 A_Scream\n\t\t\tZMAY J 5 A_NoBlocking\n\t\t\tZMAY K 5\n\t\t\tZMAY L -1\n\t\t\tStop\n\t\tXDeath:\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\t\tZMAY O 5\n\t\t\tZMAY P 5 A_XScream\n\t\t\tZMAY Q 5 A_NoBlocking\n\t\t\tZMAY RSTU 5\n\t\t\tZMAY V -1\n\t\t\tStop\n\t}\n}\n\nActor UziGuy : Fartieman\n{\n\tDropItem \"UziPickup\"\n\tAttackSound \"uzi/fire\"\n\tActiveSound \"zombie/idle\"\n\tHealth 50\n\tSpeed 12\n\tObituary \"%o was clapped by a dude with a uzi.\"\n\tvar int user_counter;\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tPDWP AB 10 A_Look\n\t\t\tLoop\n\t\tSee:\n\t\t\tPDWP A 0 A_SetUserVar(\"user_counter\", 0)\n\t\t\tPDWP AABBCCDD 3 A_Chase\n\t\t\tloop\n\t\tMissile:\n\t\t\tPDWP E 10 A_FaceTarget\n\t\tMissileLoop:\n\t\t\tPDWP A 0 A_JumpIf(user_counter > 5, \"MissileEnd\")\n\t\t\tPDWP F 1 bright A_CustomMissile(\"EnemyBullet\", 32, 0, frandom(-3, 3))\n\t\t\tPDWP F 0 A_PlaySound(\"uzi/fire\")\n\t\t\tPDWP F 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tPDWP E 2 A_FaceTarget\n\t\t\tLoop\n\t\tMissileEnd:\n\t\t\tPDWP E 10\n\t\t\tGoto See\n\t\tPain:\n\t\t\tPDWP G 3\n\t\t\tPDWP G 3 A_Pain\n\t\t\tGoto See\n\t\tDeath:\n\t\t\tPDWP H 5\n\t\t\tPDWP I 5 A_Scream\n\t\t\tPDWP J 5 A_NoBlocking\n\t\t\tPDWP KLM 5\n\t\t\tPDWP N -1\n\t\t\tStop\n\t\tXDeath:\n\t\t\tPDWP O 5\n\t\t\tPDWP P 5 A_XScream\n\t\t\tPDWP Q 5 A_NoBlocking\n\t\t\tPDWP RSTUV 5\n\t\t\tPDWP W -1\n\t\t\tStop\n\t}\n}\n\nActor FartieManSpawner : RandomSpawner replaces ZombieMan\n{\n\tDropItem \"FartieMan\", 255, 10\n\tDropItem \"UziGuy\", 255, 3\n\tDropItem \"FartRifleMan\", 255, 1\n}\n\nActor Chainfartguy : ChaingunGuy\n{\n\tAttackSound \"weapons/chngun\"\n\tActiveSound \"zombie/idle\"\n\tObituary \"%o was turned into minced meat by a chainfarter.\"\n\tStates\n\t{\n\t\tMissile:\n\t\t\tCPOS E 10 A_FaceTarget\n\t\t\tCPOS F 4 Bright A_CustomMissile(\"EnemyBullet\", 32, 0, frandom(-3, 3))\n\t\t\tCPOS F 0 A_PlaySound(\"weapons/pistol\")\n\t\t\tCPOS E 4 Bright A_CustomMissile(\"EnemyBullet\", 32, 0, frandom(-3, 3))\n\t\t\tCPOS E 0 A_PlaySound(\"weapons/pistol\")\n\t\t\tCPOS F 1 A_CPosRefire\n\t\t\tGoto Missile+1\n\t\tDeath.Fire:\n\t\tTNT1 A 0 A_NoBlocking\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningZombieman\")\n\t\tstop\n\t\tXDeath:\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tGoto Super::XDeath\n\t}\n}\n\nActor MiniFartGuy : ChainfartGuy\n{\n\tDropItem \"MiniFart\"\n\tAttackSound \"\"\n\tActiveSound \"zombie/idle\"\n\tObituary \"%o was shredded to shit by a minifarter.\"\n\tSpeed 6\n\tHealth 80\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tMINZ AB 10 A_Look\n\t\t\tLoop\n\t\tSee:\n\t\t\tMINZ AABBCCDD 3 A_Chase\n\t\t\tloop\n\t\tMissile:\n\t\tMINZ E 0 A_PlaySound(\"mini/up\", CHAN_WEAPON, 1, 0)\n\t\tMINZ E 6 A_FaceTarget\n\t\tMINZ E 0 A_PlaySound(\"mini/fire\", CHAN_WEAPON, 1, 1)\n\t\tMINZ E 1 bright A_FaceTarget\n\t\tMINZ E 1 bright A_CustomMissile(\"EnemyBullet\", 32, 0, frandom(-5, 5))\n\t\tMINZ F 1 bright A_FaceTarget\n\t\tMINZ F 1 bright A_CustomMissile(\"EnemyBullet\", 32, 0, frandom(-5, 5))\n\t\tMINZ F 0 bright A_Recoil(5)\n\t\tMINZ F 0 A_MonsterRefire(40, \"StopFire\")\n\t\tgoto Missile+4\n\t\tStopFire:\n\t\tMINZ E 10 A_StopSound(CHAN_WEAPON)\n\t\tgoto See\n\t\tPain:\n\t\tMINZ A 0 A_StopSound(CHAN_WEAPON)\n\t\tMINZ G 3\n\t\tMINZ G 3 A_Pain\n\t\tGoto See\n\t\tDeath:\n\t\tMINZ A 0 A_StopSound(CHAN_WEAPON)\n\t\tMINZ A 0 A_Jump(64, \"Death1\")\n\t\tMINZ H 5\n\t\tMINZ I 5 A_Scream\n\t\tMINZ J 5 A_NoBlocking\n\t\tMINZ KLM 5\n\t\tMINZ N -1\n\t\tStop\n\t\tXDeath:\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\t\tMINZ A 0 A_StopSound(CHAN_WEAPON)\n\t\t\tMINZ O 5\n\t\t\tMINZ P 5 A_XScream\n\t\t\tMINZ Q 5 A_NoBlocking\n\t\t\tMINZ RSTUV 5\n\t\t\tMINZ W -1\n\t\t\tStop\n\t\tDeath1:\n\t\tMINZ A 0 A_Scream\n\t\tMINZ A 0 A_NoBlocking\n\t\tMINZ LKIJIHNIJNMLMLMLKHIHIIIHJNHNNNHKNNHHHKHLN 1\n\t\tMINZ N -1\n\t\tstop\n\t\tRaise:\n\t\t\tMINZ MLKJIH 5\n\t\t\tGoto See\n\t}\n}\n\nActor CZombieSpawner : RandomSpawner replaces ChaingunGuy\n{\n\tDropItem \"Chainfartguy\", 255, 10\n\tDropItem \"MiniFartGuy\", 255, 2\n}\n\nActor FartgunGuy : Shotgunguy\n{\n\tObituary \"%o got shat on by a shartgun guy.\"\n\tActiveSound \"zombie/idle\"\n\tvar int user_counter;\n\tstates\n\t{\n\t\tMissile:\n\t\tSPOS E 0 A_SetUserVar(\"user_counter\", 0)\n\t\tSPOS E 0 A_Jump(100, \"Missile1\")\n\t\tSPOS E 10 A_FaceTarget\n\t\tSPOS F 0 A_PlaySound(\"weapons/shotgf\")\n\t\tSPOS FFFFF 0 A_CustomMissile(\"EnemyBullet\", 32, 0, frandom(-10, 10))\n\t\tSPOS F 10 Bright\n\t\tSPOS E 10\n\t\tGoto See\n\t\tMissile1:\n\t\tSPOS E 0 A_PlaySound(\"shotgun/reloadfinish\")\n\t\tSPOS E 16 A_FaceTarget\n\t\tMissile1Loop:\n\t\tSPOS E 0 A_JumpIf(user_counter == 6, \"Missile1End\")\n\t\tSPOS E 2 A_FaceTarget\n\t\tSPOS E 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\tSPOS F 0 A_Recoil(10)\n\t\tSPOS FFFFF 0 A_CustomMissile(\"EnemyBullet\", 32, 0, frandom(-10, 10))\n\t\tSPOS F 0 A_PlaySound(\"weapons/shotgf\")\n\t\tSPOS F 2 Bright\n\t\tSPOS E 2\n\t\tGoto Missile1Loop\n\t\tMissile1End:\n\t\tSPOS E 10 A_SetUserVar(\"user_counter\", 0)\n\t\tgoto See\n\t\tDeath:\n\t\tSPOS H 0 A_Jump(64, \"Death1\")\n\t\tGoto Super::Death\n\t\tDeath.Fire:\n\t\tTNT1 A 0 A_NoBlocking\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningZombieman\")\n\t\tstop\n\t\tDeath1:\n\t\tSPOS H 0 A_Scream\n\t\tSPOS H 0 A_NoBlocking\n\t\tSPOS HIJKLKJIHIJHKL 1\n\t\tSPOS ABCDABCDABCDABCD 1\n\t\tSPOS HLHLHLHL 1\n\t\tSPOS L -1\n\t\tstop\n\t\tXDeath:\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tGoto Super::XDeath\n\t}\n}\n\nactor SuperFartgunGuy : SuperShotgunGuy replaces SuperShotgunGuy\n{\n\tObituary \"%o got fuken rekt by a super shartgun guy. gg ez no re\"\n\tvar int user_counter;\n\tActiveSound \"zombie/idle\"\n\tAttackSound \"weapons/sshotf\"\n\tStates\n\t{\n\t\tXDeath:\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\t\tGoto Super::XDeath\n\t\tDeath.Fire:\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"BurningZombieman\")\n\t\t\tstop\n\t\tMissile:\n\t\t\tGPOS E 10 A_FaceTarget\n\t\t\tGPOS F 0 A_PlaySound(\"weapons/sshotf\", CHAN_VOICE)\n\t\t\tGPOS FFFFFFFFFF 0 A_CustomMissile(\"EnemyBullet\", 32, 0, frandom(-10, 10), 0, frandom(-5, 5))\n\t\t\tGPOS F 0 A_Recoil(5)\n\t\t\tGPOS F 8 Bright\n\t\t\tGPOS E 7\n\t\t\tGPOS A 7\n\t\t\tGPOS A 0 A_PlaySound(\"weapons/sshoto\")\n\t\t\tGPOS AA 0 A_SpawnItemEx(\"ShellCasing\", 18, 0, 32, frandom(0,3), frandom(-12,-4), frandom(4,12), 0, 0, 128)\n\t\t\tGPOS E 8\n\t\t\tGPOS A 8 A_PlaySound(\"weapons/sshotc\")\n\t\t\tGoto See\n\t\t/*MissileLoop:\n\t\t\tGPOS FFFFF 0 A_CustomMissile(\"EnemyBullet\", 32, 0, frandom(-10, 10), 0, frandom(-5, 5))\n\t\t\tGPOS F 0 A_Recoil(5)\n\t\t\tGPOS F 0 A_SetUserVar(\"user_counter\", user_counter + 1)\n\t\t\tGPOS A 0 A_Jump(64, \"MissileEnd\")\n\t\t\tGPOS A 0 A_JumpIf(user_counter > 10, \"MissileEnd\")\n\t\t\tGoto MissileLoop\n\t\tMissileEnd:\n\t\t\tGPOS F 8 Bright\n\t\t\tGPOS E 7\n\t\t\tGPOS A 7\n\t\t\tGPOS A 0 A_PlaySound(\"weapons/sshoto\")\n\t\tMissileEndLoop:\n\t\t\tGPOS A 0 A_JumpIf(user_counter <= 0, \"MissileEndEnd\")\n\t\t\tGPOS A 0 A_SpawnItemEx(\"ShellCasing\", 18, 0, 32, frandom(0,3), frandom(-12,-4), frandom(4,12), 0, 0, 128)\n\t\t\tGPOS A 0 A_SetUserVar(\"user_counter\", user_counter - 1)\n\t\t\tGoto MissileEndLoop\n\t\tMissileEndEnd:\n\t\t\tGPOS E 8\n\t\t\tGPOS A 8 A_PlaySound(\"weapons/sshotc\")\n\t\t\tGoto See*/\n\t}\n}\n\nactor SZombieSpawner : RandomSpawner replaces Shotgunguy\n{\n\tDropItem \"FartgunGuy\", 255, 10\n\tDropItem \"SuperFartgunGuy\", 255, 2\n}\n\nActor CyberFarter : CyberDemon replaces CyberDemon\n{\n\tObituary \"A cyberfarter shoved a dick up %o's fat ass.\"\n\tPainChance \"Fire\", 1\n\tPainChance \"Fart\", 1\n\tvar int user_angle;\n\tStates\n\t{\n\t\tMissile:\n\t\tCYBR E 0\n\t\tCYBR E 0 A_Jump(16, \"MissileSlow\")\n\t\tCYBR E 0\n\t\tGoto Super::Missile\n\t\tMissileSlow:\n\t\tCYBR EEEE 6 A_FaceTarget\n\t\tCYBR F 0 A_CustomMissile(\"SlowRocket\", 35)\n\t\tCYBR F 0 A_Recoil(70)\n\t\tCYBR F 12\n\t\tgoto See\n\t\tDeath:\n\t\tCYBR A 0 A_SetUserVar(\"user_angle\", 0)\n\t\tCYBR A 0 A_Jump(16, \"Death1\")\n\t\tGoto Super::Death\n\t\tDeath1:\n\t\tCYBR A 0 A_JumpIf(user_angle >= 360, \"Death1End\")\n\t\tCYBR A 0 A_CustomMissile(\"Rocket\", 30, 0, user_angle)\n\t\tCYBR A 0 A_SetUserVar(\"user_angle\", user_angle + 15)\n\t\tgoto Death1\n\t\tDeath1End:\n\t\tCYBR A 0\n\t\tGoto Super::Death\n\t}\n}\n\nactor FartoDemon : Cacodemon replaces Cacodemon\n{\n\tObituary \"lololol %o died to a fartodemon xd\"\n\tBloodColor \"blue\"\n\tPainChance \"Fire\", 4\n\tStates\n\t{\n\t\tSee:\n\t\t\tHEAD A 0 A_Jump(16, \"Tele\")\n\t\t\tHEAD A 3 A_Chase\n\t\t\tloop\n\t\tTele:\n\t\t\tHEAD BCD 5 A_FaceTarget\n\t\t\tHEAD A 0 A_SpawnItemEx(\"NewTeleportFog\")\n\t\t\tHEAD AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander\n\t\t\tHEAD A 0 A_SpawnItemEx(\"NewTeleportFog\")\n\t\t\tHEAD DCB 5 A_FaceTarget\n\t\t\tGoto See\n\t\tDeath.Fire:\n\t\tHEAD E 0 A_PlaySound(\"caco/boom\")\n\t\tHEAD EF 8\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"CacoGib1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, 0 , 64)\n\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"CacoGib2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, 0 , 64)\n\t\tTNT1 AAA 0 A_SpawnItemEx(\"CacoGib3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, 0 , 128)\n\t\tTNT1 AAAAAAA 0 A_SpawnItemEx(\"FireBallNoSpeed\", 0, 0, 32, frandom(-10,10), frandom(-10,10), frandom(5,10), 0, 0, 64)\n\t\tTNT1 A 0 A_SpawnItemEx(\"SpraycanExplosion\")\n\t\tTNT1 A 0 A_Jump(64, 3)\n\t\tTNT1 A 20\n\t\tTNT1 A 0 A_PlaySound(\"misc/humanity\")\n\t\tTNT1 A 0\n\t\tStop\n\t}\n}\n\nactor FartElemental : PainElemental replaces PainElemental\n{\n\tPainChance \"Fire\", 4\n\tPainChance \"Fart\", 0\n\tDamageFactor \"Fart\", 0.15\n\tvar int user_counter;\n\tStates\n\t{\n\t\tMissile:\n\t\t\tPAIN D 0 A_JumpIfCloser(384, \"FartStart\")\n\t\t\tGoto Super::Missile\n\t\tFartStart:\n\t\t\tPAIN G 18 A_PlaySound(\"pain/fartstart\")\n\t\t\tGoto Fart\n\t\tFart:\n\t\t\tPAIN F 0 A_FaceTarget\n\t\t\tPAIN F 0 A_PlaySound(\"pain/fart\")\n\t\t\tPAIN FFFFF 0 A_SpawnItemEx(\"FartCloud\", frandom(-25,25), frandom(-25,25), frandom(0, 5), frandom(-2, 2), frandom(-2, 2), frandom(-2, 2))\n\t\t\tPAIN F 15 A_PlaySound(\"pain/fart\")\n\t\t\tPAIN A 5\n\t\t\tPAIN A 0 A_Jump(64, \"FartEnd\")\n\t\t\tPAIN A 0 A_JumpIf(user_counter >= 5, \"FartEnd\")\n\t\t\tPAIN A 0 A_SetUserVar(\"user_counter\", user_counter+1)\n\t\t\tPAIN G 0 A_PlaySound(\"pain/fartmid\")\n\t\t\tPAIN G 0 A_FaceTarget\n\t\t\tPAIN G 40\n\t\t\tloop\n\t\tFartEnd:\n\t\t\tPAIN G 0 A_FaceTarget\n\t\t\tPAIN G 0 A_SetUserVar(\"user_counter\", 0)\n\t\t\tPAIN G 0 A_PlaySound(\"pain/fartend\")\n\t\t\tPAIN G 35\n\t\t\tGoto See\n\t\tDeath.Fire:\n\t\tPAIN G 0 A_PlaySound(\"caco/boom\")\n\t\tPAIN GG 8\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAA 0 A_SpawnItemEx(\"FireBallNoSpeed\", 0, 0, 32, frandom(-10,10), frandom(-10,10), frandom(5,10), 0, 0, 64)\n\t\tTNT1 A 0 A_SpawnItemEx(\"SpraycanExplosion\")\n\t\tTNT1 A 0 A_Jump(64, 3)\n\t\tTNT1 A 20\n\t\tTNT1 A 0 A_PlaySound(\"misc/humanity\")\n\t\tTNT1 A 0\n\t\tStop\n\t}\n}\n\nactor FartKnight : HellKnight replaces HellKnight\n{\n\tobituary \"lol loud nigra yelled at %o and he did a die lmao\"\n\tBloodColor \"green\"\n\tPainChance \"Fire\", 4\n\tStates\n\t{\n\t\tDeath.Fire:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningHellKnight\")\n\t\tstop\n\t}\n}\n\nActor BaronofFart : BaronOfHell replaces BaronOfHell\n{\n\tBloodColor \"green\"\n\tPainChance \"Fire\", 4\n\tStates\n\t{\n\t\tDeath.Fire:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningBaron\")\n\t\tstop\n\t}\n}\n\nactor FartVile : ArchVile replaces ArchVile\n{\n\tPainChance \"Fire\", 4\n\tStates\n\t{\n\t\tDeath.Fire:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningArchvile\")\n\t\tstop\n\t}\n}\n\nactor Farty : Demon replaces Demon\n{\n\tPainChance \"Fire\", 4\n}\n\nactor FartImpDrop : RandomSpawner\n{\n\tDropItem \"PistolPickup\", 25\n}\n\nActor FartImp : DoomImp replaces DoomImp\n{\n\tDropItem \"FartImpDrop\"\n\tStates\n\t{\n\t\tDeath.Fire:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningImp\")\n\t\tstop\n\t\tXDeath:\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet1\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet2\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"Giblet3\", 0, 0, 32, frandom(-13, 13), frandom(-13, 13), frandom(2, 13), 0, SXF_USEBLOODCOLOR, 64)\n\t\tGoto Super::XDeath\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "Decorate/Particles.txt",
        "contents": "actor SingleParticle\n{\n\t-SOLID\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tScale 0.4\n\tHeight 1\n\tRadius 1\n\tRenderstyle Add\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tPART A 2 bright A_FadeOut(0.1)\n\t\t\tloop\n\t}\n}\n\nactor TeleportParticle : SingleParticle\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTPAR AB 3 bright A_FadeOut(0.05)\n\t\t\tTPAR C 0 A_ChangeVelocity(frandom(-2,2),frandom(-2,2),frandom(-2,2))\n\t\t\tLoop\n\t}\n}\n\nactor BFGExplodeParticle : SingleParticle\n{\n\tScale 0.8\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tTPAR AB 2 bright\n\t\t\tTPAR A 0 A_SetScale(scalex-0.1,scaley-0.1)\n\t\t\tTPAR A 0 A_JumpIf(scalex <= 0, \"End\")\n\t\t\tLoop\n\t\tEnd:\n\t\t\tTPAR A 0\n\t\t\tStop\n\t}\n}\n\nactor ShotgunParticle : SingleParticle\n{\n\tScale 0.7\n\tRenderStyle \"Add\"\n\tStates\n\t{\n\t\tSpawn:\n\t\tSpawnLoop:\n\t\t\tOPAR A 0 A_SetScale(scalex-0.1, scalex-0.1)\n\t\t\tOPAR A 0 A_JumpIf(scalex <= 0, \"End\")\n\t\t\tOPAR A 1 bright\n\t\t\tLoop\n\t\tEnd:\n\t\t\tTNT1 A 0\n\t\t\tStop\n\t}\n}\n\nactor fartparticle : SingleParticle\n{\n -NOGRAVITY\n gravity 0.2\n scale 0.2\n height 1\n radius 1\n Translation \"[255,255,255]:[0,0,0]=[255,190,125]:[106,56,19]\"\n States\n {\n Spawn:\n PART A 2 bright A_FadeOut(0.1)\n loop\n }\n}\n\nactor FartRifleParticle : SingleParticle\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tPPAR AB 3 bright A_FadeOut(0.1)\n\t\t\tLoop\n\t}\n}\n\nactor FartRifleFlareSmall : SingleParticle\n{\n\tAlpha 0.65\n\tScale 0.5\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tGFLA A 1 bright A_SetScale(scalex-0.05, scaley-0.05)\n\t\t\tGFLA A 0 A_JumpIf(scalex <= 0, \"End\")\n\t\t\tloop\n\t\tEnd:\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t}\n}\n\nactor FartRifleFlare1 : FartRifleFlareSmall\n{\n\tAlpha 0.25\n\tScale 2\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tGFLA A 1 bright A_SetScale(scalex-0.3, scaley-0.3)\n\t\t\tGFLA A 0 bright A_JumpIf(scalex <= 0, \"End\")\n\t\t\tloop\n\t\t//\tGLFA A 1 bright A_SetScale(scalex-0.15, scaley-0.15)\n\t\t//\tGFLA A 0 A_JumpIf(scalex <= 0, \"End\")\n\t\t//\tloop\n\t\tEnd:\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t}\n}\n\nactor FartRifleFlareHuge : FartRifleFlare1\n{\n\tAlpha 1\n\tScale 8\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tGFLA A 1 bright A_SetScale(scalex-1, scaley-1)\n\t\t\tGFLA A 0 A_JumpIf(scalex <= 0, \"End\")\n\t\t\tloop\n\t\tEnd:\n\t\t\tTNT1 A 1\n\t\t\tStop\n\t}\n}\n\nactor TeleportFlare : SingleParticle\n{\n\tAlpha 0.6\n\tScale 0.6\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tBFLA A 1 bright A_SetScale(scalex-0.05, scaley-0.05)\n\t\t\tBFLA A 0 A_JumpIf(scalex <= 0, \"End\")\n\t\t\tloop\n\t\tEnd:\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t}\n}\n\nactor ExplosionFlare : SingleParticle\n{\n\tAlpha 0.7\n\tScale 0.8\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tEFLA A 1 bright A_SetScale(scalex-0.1, scaley-0.1)\n\t\t\tEFLA A 0 A_JumpIf(scalex <= 0, \"End\")\n\t\t\tloop\n\t\tEnd:\n\t\t\tTNT1 A 1\n\t\t\tStop\n\t}\n}\n\nactor BFGFlare1 : TeleportFlare\n{\n\tAlpha 0.7\n\tScale 0.8\n}\n\nactor BFGFlare2 : BFGFlare1\n{\n\tScale 0.6\n}\n\nactor BFGFlare3 : BFGFlare1\n{\n\tScale 0.4\n}"
      },
      {
        "source": "pk3",
        "name": "Decorate/reference.txt",
        "contents": "ACTOR DualPistol : Pistol\n{\n  States\n  {\n    Deselect:\n    TNT1 A 0 A_TakeInventory(\"SynthFireActive\")\n    TNT1 A 0 A_TakeInventory(\"SynthFireLeft\")\n    TNT1 A 0 A_TakeInventory(\"SynthFireRight\")\n    TNT1 A 0 A_GunFlash(\"RightStop\")\n    DUA1 A 1 A_Lower\n    Loop\n  Select:\n    TNT1 A 0 A_GunFlash(\"RightStop\")\n    DUA1 A 1 A_Raise\n    Loop\n\n  Ready:\n    TNT1 A 0 A_GunFlash(\"RightReady\")\n    TNT1 A 0 A_GiveInventory(\"SynthFireActive\")\n    TNT1 A 0 ACS_NamedExecuteAlways(\"DualieSynthRight\")\n  ReallyReady:\n    DUA1 A 1 A_WeaponReady(WRF_NOSECONDARY)\n    Loop\n\n  RightReady:\n    DUA2 A 1 A_JumpIfInventory(\"SynthFireRight\",1,\"RightFire\")\n    Loop\n\n  Fire:\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 A_FireBullets (5.6, 0, 1, 6, \"BulletPuff\")\n    TNT1 A 0 A_PlaySound(\"weapons/pistol\", CHAN_WEAPON)\n    DUA1 BBBCCDDE 1\n    Goto ReallyReady\n\n  RightStop:\n    DUA2 A 1\n    Loop\n\n  RightFire:\n    TNT1 A 0 A_AlertMonsters\n    TNT1 A 0 A_FireBullets (5.6, 0, 1, 6, \"BulletPuff\")\n    TNT1 A 0 A_PlaySound(\"weapons/pistol\", CHAN_WEAPON)\n    DUA2 BBBCCDDE 1\n    Goto RightReady\n\n  Spawn:\n    PIST A 5 A_SpawnItemEx(\"WEPONYAY\",0,0,0,0,0,0,0,SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION)\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.