hyperfighting-v2a-beta-1b.pk3

PK3 3.8 MiB 0 map(s)

Counts

endoom0
graphics0
lumps258
maps94
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "01a71758-7300-414d-9589-313677eb7ea9",
    "sha1": "bd8b7ca4a28cc30db3b2383339f99db8a4c4afad",
    "sha256": "189508f1c9659b6bf6bfd9cbaa60961ab7ab0baacb70422f02c19c45a61c2e06",
    "filenames": [
      "hyperfighting-v2a-beta-1b.pk3"
    ],
    "additional": {
      "engines": [],
      "iwad": [],
      "filename": null,
      "added": "2022/05/17 00:22:04",
      "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/05/17 00:22:04",
    "file": {
      "type": "PK3",
      "size": 4018196,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/bd8b7ca4a28cc30db3b2383339f99db8a4c4afad/bd8b7ca4a28cc30db3b2383339f99db8a4c4afad.pk3.gz",
      "corrupt": false
    },
    "content": {
      "maps": [
        "TRAINING",
        "MM1CUT2",
        "MM1BOM2",
        "MM1ELE2",
        "MM1ICE2",
        "MM1FIR2",
        "MM1DW22",
        "MM2BUB2",
        "MM2AIR2",
        "MM2HEA2",
        "MM2QUI2",
        "MM2MET2",
        "MM2DW12",
        "MM3TOP2",
        "MM3GEM2",
        "MM3MAG2",
        "MM3SHA2",
        "MM4PHA2",
        "MM4DIV2",
        "MM4RIN2",
        "MM4BRI2",
        "MM5CHA2",
        "MM5WAV2",
        "MM5WAV3",
        "MM5GYR2",
        "MM5GYR3",
        "MM5STA2",
        "MM5CRY2",
        "MM5CRY3",
        "MM6CEN2",
        "MM6PLA2",
        "MM7FRE2",
        "MM7BUR2",
        "MM7CLO2",
        "MM7CLO3",
        "MM7SPR2",
        "MM7TUR2",
        "MM7DW42",
        "MM7DW43",
        "MM8CLO2",
        "MMBMUS2",
        "MMBPIR2",
        "MMBPIR3",
        "MMBMAG2",
        "MMCTF04A",
        "MMCTF04B",
        "MMCTF19A",
        "002-training",
        "010-MM1CUT2",
        "012-MM1BOM2",
        "013-MM1ELE2",
        "014-MM1ICE2",
        "015-MM1FIR2",
        "019-MM1DW22",
        "020-MM2BUB2",
        "021-MM2AIR2",
        "022-MM2HEA2",
        "024-MM2QUI2",
        "027-MM2MET2",
        "028-MM2DW12",
        "031-MM3TOP2",
        "034-MM3GEM2",
        "035-MM3MAG2",
        "037-MM3SHA2",
        "040-MM4PHA2",
        "041-MM4DIV2",
        "045-MM4RIN2",
        "047-MM4BRI2",
        "050-MM5CHA2",
        "053-MM5WAV2",
        "053-MM5WAV3",
        "054-MM5GYR2",
        "054-MM5GYR3",
        "056-MM5STA2",
        "057-MM5CRY2",
        "057-MM5CRY3",
        "061-MM6CEN2",
        "064-MM6PLA2",
        "071-MM7FRE2",
        "073-MM7BUR2",
        "074-MM7CLO2",
        "074-MM7CLO3",
        "075-MM7SPR2",
        "078-MM7TUR2",
        "07C-MM7DW42",
        "07C-MM7DW43",
        "083-MM8CLO2",
        "090-MMBMUS2",
        "096-MMBPIR2",
        "096-MMBPIR3",
        "098-MMBMAG2",
        "803-MMCTF04a",
        "803-MMCTF04b",
        "818-MMCTF19a"
      ],
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 258,
        "maps": 94,
        "palettes": 0
      }
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "SBARINFO.H.txt",
        "contents": "//HORIZONTAL BARS\nheight 0;\n\nstatusbar normal, forcescaled\n{\nInInventory not NoHud, 1\n{\nInInventory not NoHealthBar, 1\n{\nDrawbar \"VARHEALT\", \"VAREMPTY\", Health, horizontal, 130, 184;\n\tInInventory LightTeamFlag, 1{DrawImage \"LBARH\", 130, 179;}\n\tInInventory WilyTeamFlag, 1{DrawImage \"WBARH\", 130, 179;}\n\tInInventory CossackTeamFlag, 1{DrawImage \"CBARH\", 130, 179;}\n\tInInventory KingTeamFlag, 1{DrawImage \"KBARH\", 130, 179;}\n\n//InInventory SkullShieldCheck, 1{DrawBar \"VARFLS5\", \"VNOBAR\", SkullShieldCheck, horizontal, 130, 184;}\n//InInventory SkullBarrierProtection, 1{DrawBar \"VARFLS5\", \"VNOBAR\", SkullShieldCheck, horizontal, 130, 184;}\nInInventory BasicArmor, 1{DrawBar \"VARAMT31\", \"VNOBAR\", Armor, horizontal, 130, 184;}\n\n//IfCVarInt mm8bdm_healthnumber, 1\nInInventory AmmoNumberFlag, 1\n{\n\tWeaponAmmo not BusterAmmo\n\t{\n\t\t//DrawNumber 5,CMBHPFONT,Untranslated,Health,/*interpolate(10),*/alignment(left),150,177;\n\t\tDrawNumber 3, \"8BDMAFONT\", Untranslated, Ammo1, alignment(left), 80, 177;\n\t}\n}\n\n//IfCVarInt mm8bdm_healthnumber, 1\nInInventory HealthNumberFlag, 1\n{\n\t//DrawNumber 5,CMBHPFONT,Untranslated,Health,/*interpolate(10),*/alignment(left),150,177;\n\tDrawNumber 3, \"8BDMAFONT\", Untranslated, Health, alignment(left), 152, 177;\n\t//DrawNumber 3, \"8BDMAFONT\", DarkGray, Armor, alignment(left), 136, 177;\n\tDrawNumber 3, \"8BDMAFONT\", DarkGray, Armor, alignment(left), 152, 170;\n}\n\nDrawSelectedInventory INDEXFONT ,122, 184, 120, 185, white;\nDrawImage weaponicon, 50, 184;\n\n}\n\n//MM1 Bars\nIsSelected RollingCutterWep{Drawbar\"VARAMMO1\", \"VAREMPTY\", RollingCutterAmmo, horizontal, 58, 184;}\nIsSelected SuperArmWep{Drawbar\"VARAMMO2\", \"VAREMPTY\", SuperArmAmmo, horizontal, 58, 184;}\nIsSelected IceSlasherWep{Drawbar\"VARAMMO3\", \"VAREMPTY\", IceSlasherAmmo, horizontal, 58, 184;}\nIsSelected HyperBombWep{Drawbar\"VARAMMO4\", \"VAREMPTY\", HyperBombAmmo, horizontal, 58, 184;}\nIsSelected FireStormWep{Drawbar\"VARAMMO5\", \"VAREMPTY\", FireStormAmmo, horizontal, 58, 184;}\nIsSelected ThunderBeamWep{Drawbar\"VARAMMO6\", \"VAREMPTY\", ThunderBeamAmmo, horizontal, 58, 184;}\nIsSelected TimeSlowWep{DrawBar\"VARAMMO7\", \"VAREMPTY\", TimeSlowAmmo, horizontal, 58, 184;}\nIsSelected OilSliderWep{DrawBar\"VARAMMO8\", \"VAREMPTY\", OilSliderAmmo, horizontal, 58, 184;\n\tInInventory OilSliderFlag, 1\t{DrawBar\"VARFLS1\", \"VNOBAR\", OilSliderFlag, horizontal, 58, 184;}}\n\n//MM2\nIsSelected MetalBladeWep{Drawbar\"VARAMMO9\", \"VAREMPTY\", MetalBladeAmmo, horizontal, 58, 184;}\nIsSelected AirShooterWep{Drawbar\"VARAMM10\", \"VAREMPTY\", AirShooterAmmo, horizontal, 58, 184;}\nIsSelected BubbleLeadWep{Drawbar\"VARAMMO1\", \"VAREMPTY\", BubbleLeadAmmo, horizontal, 58, 184;}\nIsSelected QuickBoomerangWep{Drawbar\"VARAMM11\", \"VAREMPTY\", QuickBoomerangAmmo, horizontal, 58, 184;}\nIsSelected CrashBombWep{Drawbar\"VARAMM12\", \"VAREMPTY\", CrashBombAmmo, horizontal, 58, 184;}\nIsSelected TimeStopperWep{Drawbar\"VARAMMO7\", \"VAREMPTY\", TimeStopperAmmo, horizontal, 58, 184;}\nIsSelected AtomicFireWep{Drawbar\"VARAMM13\", \"VAREMPTY\", AtomicFireAmmo, horizontal, 58, 184;\n\tInInventory WeaponCharge, 65{DrawBar \"VARFLS2\", \"VAREMPTY\", AtomicFireAmmo, horizontal, 58, 184;}}\nIsSelected LeafShieldWep{Drawbar\"VARAM201\", \"VAREMPTY\", LeafShieldAmmo, horizontal, 58, 184;\n\tInInventory LeafShieldCheck, 1{DrawBar \"VARFLS1\", \"VNOBAR\", LeafShieldAmmo, horizontal, 58, 184;}}\nInInventory LeafShieldCheck, 1 {IsSelected NOT LeafShieldWep {DrawBar \"VHDBAR07\", \"VNOBAR\", LeafShieldAmmo, horizontal, 130, 184;}}\n\n//MM3\nIsSelected NeedleCannonWep{Drawbar\"VARAMMO2\", \"VAREMPTY\", NeedleCannonAmmo, horizontal, 58, 184;}\nIsSelected MagnetMissileWep{Drawbar\"VARAMM14\", \"VAREMPTY\", MagnetMissileAmmo, horizontal, 58, 184;}\nIsSelected GeminiLaserWep{Drawbar\"VARAMM15\", \"VAREMPTY\", GeminiLaserAmmo, horizontal, 58, 184;}\nIsSelected HardKnuckleWep{Drawbar\"VARAMM16\", \"VAREMPTY\", HardKnuckleAmmo, horizontal, 58, 184;}\nIsSelected TopSpinWep{Drawbar\"VARAMM17\", \"VAREMPTY\", TopSpinAmmo, horizontal, 58, 184;}\nIsSelected SearchSnakeWep{Drawbar\"VARAMMO4\", \"VAREMPTY\", SearchSnakeAmmo, horizontal, 58, 184;}\nIsSelected SparkShockWep{Drawbar\"VARAMM12\", \"VAREMPTY\", SparkShockAmmo, horizontal, 58, 184;}\nIsSelected ShadowBladeWep{Drawbar\"VARAMMO7\", \"VAREMPTY\", ShadowBladeAmmo, horizontal, 58, 184;}\n\n//MM4\nIsSelected FlashStopperWep{Drawbar\"VARAMM18\", \"VAREMPTY\", FlashStopperAmmo, horizontal, 58, 184;}\nIsSelected RainFlushWep{Drawbar\"VARAMM19\", \"VAREMPTY\", RainFlushAmmo, horizontal, 58, 184;}\nIsSelected DrillBombWep{Drawbar\"VARAMM14\", \"VAREMPTY\", DrillBombAmmo, horizontal, 58, 184;}\nIsSelected PharaohShotWep{Drawbar\"VARAMM20\", \"VAREMPTY\", PharaohShotAmmo, horizontal, 58, 184;\n\tInInventory PharaohCharge, 78{DrawBar \"VARFLS4\", \"VAREMPTY\", PharaohShotAmmo, horizontal, 58, 184;}\n\tInInventory PharaohCharge, 1{DrawBar\"VARFLS1\", \"VNOBAR\", PharaohCharge, horizontal, 58, 184;}}\nIsSelected RingBoomerangWep{Drawbar\"VARAMMO9\", \"VAREMPTY\", RingBoomerangAmmo, horizontal, 58, 184;}\nIsSelected DustCrusherWep{Drawbar\"VARAMMO1\", \"VAREMPTY\", DustCrusherAmmo, horizontal, 58, 184;}\nIsSelected DiveMissileWep{Drawbar\"VARAMM10\", \"VAREMPTY\", DiveMissileAmmo, horizontal, 58, 184;}\nIsSelected SkullbarrierWep{Drawbar\"VARAMM21\", \"VAREMPTY\", SkullbarrierAmmo, horizontal, 58, 184;\n\tInInventory SkullShieldCheck, 1{DrawBar \"VARFLS55\", \"VNOBAR\", SkullbarrierAmmo, horizontal, 58, 184;}\n\tInInventory SkullBarrierFaded, 1{DrawBar \"VARAMM65\", \"VAREMPTY\", SkullbarrierAmmo, horizontal, 58, 184;}}\nInInventory SkullShieldCheck, 1 {IsSelected NOT SkullbarrierWep {DrawBar \"VHDBAR04\", \"VNOBAR\", SkullbarrierAmmo, horizontal, 130, 184;\n\tInInventory SkullBarrierFaded, 1{DrawBar \"VHDBAR05\", \"VNOBAR\", SkullbarrierAmmo, horizontal, 130, 184;}}}\n\n//MM5\nIsSelected GravityHoldWep{Drawbar\"VARAMM18\", \"VAREMPTY\", GravityHoldAmmo, horizontal, 58, 184;}\nIsSelected WaterWaveWep{Drawbar\"VARAMM10\", \"VAREMPTY\", WaterWaveAmmo, horizontal, 58, 184;}\nIsSelected PowerStoneWep{Drawbar\"VARAMM22\", \"VAREMPTY\", PowerStoneAmmo, horizontal, 58, 184;}\nIsSelected GyroAttackWep{Drawbar\"VARAMMO4\", \"VAREMPTY\", GyroAttackAmmo, horizontal, 58, 184;}\nIsSelected StarCrashWep{Drawbar\"VARAMM23\", \"VAREMPTY\", StarCrashAmmo, horizontal, 58, 184;\n\tInInventory StarCrashCheck, 1{DrawBar \"VARFLS6\", \"VAREMPTY\", StarCrashAmmo, horizontal, 58, 184;}}\nInInventory StarCrashCheck, 1 {IsSelected NOT StarCrashWep {DrawBar \"VHDBAR06\", \"VNOBAR\", StarCrashAmmo, horizontal, 130, 184;}}\nIsSelected ChargeKickWep{Drawbar\"VARAMM12\", \"VAREMPTY\", ChargeKickAmmo, horizontal, 58, 184;}\nIsSelected NapalmBombWep{Drawbar\"VARAMM24\", \"VAREMPTY\", NapalmBombAmmo, horizontal, 58, 184;}\nIsSelected CrystalEyeWep{Drawbar\"VARAMM25\", \"VAREMPTY\", CrystalEyeAmmo, horizontal, 58, 184;}\n\n//MM6\nIsSelected BlizzardAttackWep{Drawbar\"VARAMM15\", \"VAREMPTY\", BlizzardAttackAmmo, horizontal, 58, 184;}\nIsSelected CentaurFlashWep{Drawbar\"VARAMM26\", \"VAREMPTY\", CentaurFlashAmmo, horizontal, 58, 184;}\nIsSelected FlameBlastWep{Drawbar\"VARAMM20\", \"VAREMPTY\", FlameBlastAmmo, horizontal, 58, 184;}\nIsSelected KnightCrushWep{Drawbar\"VARAMM27\", \"VAREMPTY\", KnightCrushAmmo, horizontal, 58, 184;}\nIsSelected PlantbarrierWep{Drawbar\"VARAMM28\", \"VAREMPTY\", PlantbarrierAmmo, horizontal, 58, 184;\n\tInInventory PlantbarrierCheck, 1{DrawBar \"VARFLS7\", \"VAREMPTY\", PlantbarrierAmmo, horizontal, 58, 184;}}\n\t\t\t\t\t\t\t   //DrawBar \"VARHEALP\", \"VAREMPTY\", health, horizontal, 130, 184;}}\nInInventory PlantbarrierCheck, 1 {IsSelected NOT PlantbarrierWep {DrawBar \"VHDBAR02\", \"VNOBAR\", PlantbarrierAmmo, horizontal, 130, 184;}}\nIsSelected SilverTomahawkWep{Drawbar\"VARAMM29\", \"VAREMPTY\", SilverTomahawkAmmo, horizontal, 58, 184;}\nIsSelected WindStormWep{Drawbar\"VARAMMO1\", \"VAREMPTY\", WindStormAmmo, horizontal, 58, 184;}\nIsSelected YamatoSpearWep{Drawbar\"VARAMM30\", \"VAREMPTY\", YamatoSpearAmmo, horizontal, 58, 184;}\n\n//MM7\nIsSelected FreezeCrackerWep{Drawbar\"VARAMM31\", \"VAREMPTY\", FreezeCrackerAmmo, horizontal, 58, 184;}\nIsSelected JunkShieldWep{Drawbar\"VARAMM32\", \"VAREMPTY\", JunkShieldAmmo, horizontal, 58, 184;\n    InInventory JunkShieldCharge, 1{DrawBar\"VARFLS1\", \"VNOBAR\", JunkShieldCharge, horizontal, 58, 184;}}\nInInventory JunkShieldCheck, 1 {IsSelected NOT JunkShieldWep {DrawBar \"VHDBAR06\", \"VNOBAR\", JunkShieldAmmo, horizontal, 130, 184;}}\nIsSelected DangerWrapWep{Drawbar\"VARAMM33\", \"VAREMPTY\", DangerWrapAmmo, horizontal, 58, 184;}\nIsSelected ThunderBoltWep{Drawbar\"VARAMM34\", \"VAREMPTY\", ThunderBoltAmmo, horizontal, 58, 184;}\nIsSelected WildCoilWep{Drawbar\"VARAMM35\", \"VAREMPTY\", WildCoilAmmo, horizontal, 58, 184;\n\tInInventory WeaponCharge, 23{DrawBar \"VARFLS9\", \"VAREMPTY\", WildCoilAmmo, horizontal, 58, 184;}}\nIsSelected SlashClawWep{Drawbar\"VARAMM36\", \"VAREMPTY\", SlashClawAmmo, horizontal, 58, 184;}\nIsSelected NoiseCrushWep{Drawbar\"VARAMM37\", \"VAREMPTY\", NoiseCrushAmmo, horizontal, 58, 184;\n\tInInventory WeaponCharge, 1{DrawBar \"VARFLS10\", \"VAREMPTY\", NoiseCrushAmmo, horizontal, 58, 184;}}\nIsSelected ScorchWheelWep{Drawbar\"VARAMM38\", \"VAREMPTY\", ScorchWheelAmmo, horizontal, 58, 184;\n\tInInventory WheelCount, 1{DrawBar\"VARFLS1\", \"VNOBAR\", WheelCount, horizontal, 58, 184;}}\n\n//MM8\nIsSelected MegaBallWep{Drawbar\"VARAMM39\", \"VAREMPTY\", MegaBallAmmo, horizontal, 58, 184;}\nIsSelected TornadoHoldWep{Drawbar\"VARAMM40\", \"VAREMPTY\", TornadoHoldAmmo, horizontal, 58, 184;}\nIsSelected AstroCrushWep{Drawbar\"VARAMM41\", \"VAREMPTY\", AstroCrushAmmo, horizontal, 58, 184;}\nIsSelected FlameSwordWep{Drawbar\"VARAMM42\", \"VAREMPTY\", FlameSwordAmmo, horizontal, 58, 184;}\nIsSelected ThunderClawWep{Drawbar\"VARAMM43\", \"VAREMPTY\", ThunderClawAmmo, horizontal, 58, 184;}\nIsSelected HomingSniperWep{Drawbar\"VARAMM44\", \"VAREMPTY\", HomingSniperAmmo, horizontal, 58, 184;\n\tInInventory HomingSniperFlag, 1{DrawBar \"VARFLS11\", \"VNOBAR\", HomingSniperFlag, horizontal, 58, 184;}}\nIsSelected IceWaveWep {DrawBar \"VARAMM45\", \"VAREMPTY\", IceWaveAmmo, horizontal, 58, 184;}\nIsSelected FlashBombWep{Drawbar\"VARAMM46\", \"VAREMPTY\", FlashBombAmmo, horizontal, 58, 184;}\nIsSelected WaterBalloonWep{Drawbar\"VARAMM47\", \"VAREMPTY\", WaterBalloonAmmo, horizontal, 58, 184;}\n\n//MMB\nIsSelected TenguBladeWep{Drawbar\"VARAMMO1\", \"VAREMPTY\", TenguBladeAmmo, horizontal, 58, 184;}\nIsSelected CopyVisionWep{Drawbar\"VARAMM52\", \"VAREMPTY\", CopyVisionAmmo, horizontal, 58, 184;}\nIsSelected LightningBoltWep{Drawbar\"VARAMM53\", \"VAREMPTY\", LightningBoltAmmo, horizontal, 58, 184;}\nIsSelected IceWallWep{Drawbar\"VARAMM54\", \"VAREMPTY\", IceWallAmmo, horizontal, 58, 184;}\nIsSelected SpreadDrillWep{DrawBar\"VARAMM55\", \"VAREMPTY\", SpreadDrillAmmo, horizontal, 58, 184;}\nIsSelected RemoteMineWep{Drawbar\"VARAMM56\", \"VAREMPTY\", RemoteMineAmmo, horizontal, 58, 184;\n\tInInventory WeaponCharge, 5{DrawBar \"VARFLS14\", \"VAREMPTY\", RemoteMineAmmo, horizontal, 58, 184;}}\nIsSelected WaveBurnerWep{Drawbar\"VARAMM57\", \"VAREMPTY\", WaveBurnerAmmo, horizontal, 58, 184;}\nIsSelected MagicCardWep{Drawbar\"VARAMM58\", \"VAREMPTY\", MagicCardAmmo, horizontal, 58, 184;}\n\n//MM9\nIsSelected PlugBallWep {DrawBar \"VARAMM60\", \"VAREMPTY\", PlugBallAmmo, horizontal, 58, 184;}\nIsSelected LaserTridentWep {DrawBar \"VARAMM61\", \"VAREMPTY\", LaserTridentAmmo, horizontal, 58, 184;}\nIsSelected TornadoBlowWep {DrawBar \"VARAMM68\", \"VAREMPTY\", TornadoBlowAmmo, horizontal, 58, 184;}\nIsSelected JewelSatelliteWep{DrawBar \"VARAMM63\", \"VAREMPTY\", JewelSatelliteAmmo, horizontal, 58, 184;\n\tInInventory JewelShieldCheck, 1\t{DrawBar \"VARFLS1\", \"VNOBAR\", JewelShieldCheck, horizontal, 58, 184;}}\nInInventory JewelSatelliteCheck, 1 {IsSelected NOT JewelSatelliteWep {DrawBar \"VHDBAR03\", \"VNOBAR\", JewelSatelliteAmmo, horizontal, 130, 184;}}\nIsSelected MagmaBazookaWep{DrawBar \"VARAMM64\", \"VAREMPTY\", MagmaBazookaAmmo, horizontal, 58, 184;\n\tInInventory WeaponCharge, 19 {DrawBar \"VARFLS13\", \"VAREMPTY\", MagmaBazookaAmmo, horizontal, 58, 184;}}\nIsSelected ConcreteShotWep{DrawBar \"VARAMM65\", \"VAREMPTY\", ConcreteShotAmmo, horizontal, 58, 184;}\nIsSelected BlackHoleBombWep{DrawBar \"VARAMM66\", \"VAREMPTY\", BlackHoleBombAmmo, horizontal, 58, 184;\n\tInInventory BlackHoleBombCooldown, 1{DrawBar \"VARFLS15\", \"VAREMPTY\", BlackHoleBombAmmo, horizontal, 58, 184;}}\nIsSelected HornetChaserWep{DrawBar \"VARAMM67\", \"VAREMPTY\", HornetChaserAmmo, horizontal, 58, 184;}\n\n//MM10\nIsSelected TripleBladeWep {DrawBar \"VARAMM6A\", \"VAREMPTY\", TripleBladeAmmo, horizontal, 58, 184;}\nIsSelected WaterShieldWep {DrawBar \"VARAMM69\", \"VAREMPTY\", WaterShieldAmmo, horizontal, 58, 184;\n\tInInventory WaterShieldCheck, 1\t{DrawBar \"VARFLS1\", \"VNOBAR\", WaterShieldCheck, horizontal, 58, 184;}}// Over HP\nInInventory WaterShieldCheck, 1 {IsSelected NOT WaterShieldWep {DrawBar \"VHDBAR08\", \"VNOBAR\", WaterShieldCheck, horizontal, 130, 184;}}\nIsSelected CommandoBombWep {DrawBar \"VARAMM70\", \"VAREMPTY\", CommandoBombAmmo, horizontal, 58, 184;}\n\t//InInventory CommandoCooldown {DrawBar \"VARFLS1\", \"VNOBAR\", CommandoCooldown, horizontal, 58, 184;}}\nIsSelected ChillSpikeWep {DrawBar \"VARAMM71\", \"VAREMPTY\", ChillSpikeAmmo, horizontal, 58, 184;}\nIsSelected ThunderWoolWep {DrawBar \"VARAMM72\", \"VAREMPTY\", ThunderWoolAmmo, horizontal, 58, 184;}\nIsSelected ReboundStrikerWep {DrawBar \"VARAMM73\", \"VAREMPTY\", ReboundStrikerAmmo, horizontal, 58, 184;}\nIsSelected WheelCutterWep {DrawBar \"VARAMM74\", \"VAREMPTY\", WheelCutterAmmo, horizontal, 58, 184;\n\tInInventory WheelCutterCheck, 1\t{DrawBar \"VARFLS1\", \"VNOBAR\", WheelCutterCheck, horizontal, 58, 184;}}\nIsSelected SolarBlazeWep {DrawBar \"VARAMM75\", \"VAREMPTY\", SolarBlazeAmmo, horizontal, 58, 184;}\n\n//MMV\nIsSelected SparkChaserWep {DrawBar \"VARAMM76\", \"VAREMPTY\", SparkChaserAmmo, horizontal, 58, 184;}\nIsSelected GrabBusterWep {DrawBar \"VARAMM77\", \"VAREMPTY\", GrabBusterAmmo, horizontal, 58, 184;}\nIsSelected BubbleBombWep {DrawBar \"VARAMM78\", \"VAREMPTY\", BubbleBombAmmo, horizontal, 58, 184;}\nIsSelected PhotonMissileWep {DrawBar \"VARAMM79\", \"VAREMPTY\", PhotonMissileAmmo, horizontal, 58, 184;\n\tInInventory PhotonMissileCharge, 1\t{DrawBar \"VARFLS1\", \"VNOBAR\", PhotonMissileCharge, horizontal, 58, 184;}}\nIsSelected SaltWaterWep {DrawBar \"VARAMM80\", \"VAREMPTY\", SaltWaterAmmo, horizontal, 58, 184;}\nIsSelected ElectricShockWep {DrawBar \"VARAMM81\", \"VAREMPTY\", ElectricShockAmmo, horizontal, 58, 184;}\nIsSelected BlackHoleWep {DrawBar \"VARAMM82\", \"VAREMPTY\", BlackHoleAmmo, horizontal, 58, 184;\n\tInInventory BlackHoleCheck, 1\t{DrawBar \"VARFLS16\", \"VAREMPTY\", BlackHoleAmmo, horizontal, 58, 184;}}\nIsSelected DeepDiggerWep {DrawBar \"VARAMM83\", \"VAREMPTY\", DeepDiggerAmmo, horizontal, 58, 184;\n\tInInventory DeepDiggerFlagL, 1\t{DrawBar \"VARFLS1\", \"VNOBAR\", DeepDiggerFlagL, horizontal, 58, 184;}\n\tInInventory DeepDiggerFlagR, 1\t{DrawBar \"VARFLS1\", \"VNOBAR\", DeepDiggerFlagR, horizontal, reverse, 58, 184;}}\nIsSelected BreakDashWep {DrawBar \"VARAMM84\", \"VAREMPTY\", BreakDashAmmo, horizontal, 58, 184;\n\tInInventory WeaponCharge, 23 {DrawBar \"VARFLS17\", \"VAREMPTY\", BreakDashAmmo, horizontal, 58, 184;}}\n\n//MMK\nIsSelected SakugarneWep{Drawbar\"VARAMM48\", \"VAREMPTY\", SakugarneAmmo, horizontal, 58, 184;}\nIsSelected MirrorBusterWep{Drawbar\"VARAMM49\", \"VAREMPTY\", MirrorBusterAmmo, horizontal, 58, 184;\n\tInInventory MirrorBusterDamage, 1{DrawBar\"VARFLS1\", \"VNOBAR\", MirrorBusterDamage, horizontal, 58, 184;}}\nIsSelected ScrewCrusherWep{Drawbar\"VARAMM50\", \"VAREMPTY\", ScrewCrusherAmmo, horizontal, 58, 184;}\nIsSelected BalladeCrackerWep{Drawbar\"VARAMM51\", \"VAREMPTY\", BalladeCrackerAmmo, horizontal, 58, 184;}\nIsSelected DawnBreakerWep{Drawbar\"VARAM202\", \"VAREMPTY\", DawnBreakerAmmo, horizontal, 58, 184;\n\tInInventory WeaponCharge, 23{DrawBar\"VARFL202\", \"VNOBAR\", DawnBreakerAmmo, horizontal, 58, 184;}}\n\n//Assists\nInInventory RushJetCounter, 5{DrawImage \"RUSHH2H8\", 290,16;}\nInInventory RushJetCounter, 1{DrawImage \"RUSHOUT\", 290,16;}\nInInventory RushMarineCounter, 1{InInventory IsUnderWater, 1{\n\tInInventory RushMarineCounter, 4{DrawImage \"RUSHO0\", 290,8;}\n\tInInventory RushMarineCounter, 1{DrawImage \"RUSHMOUT\", 290,8;}}\n\tInInventory Not IsUnderWater, 1{DrawImage \"RUSHP0\", 290,8;}}\nInInventory BeatCallCheckHF, 1{DrawImage \"BEATD0\", 298,16;}\nInInventory BeatCounter, 5{DrawImage \"BEATB8B2\", 298,16;}\nInInventory BeatCounter, 1{DrawImage \"BEATOUT\",298,16;}\nInInventory BeatSupportActivated, 1{DrawImage \"BSPTA0\",314,16;}\nInInventory BeatSupportFired, 1 {DrawImage \"BSPTB0\",314,16;}\nInInventory Flashed, 1{DrawImage \"FBLIND\",  -30,-20;}\nInInventory EnergyBalancerActive, 1{DrawImage \"NRGOUT\", 267, 10;}\nInInventory EnergySaverActive, 1{DrawImage \"ESVOUT\", 250, 10;}\n\n//Boss Health\nInInventory BossHealth1, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth1, horizontal, 202, 184;}\nInInventory BossHealth2, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth2, horizontal, 202, 184;}\nInInventory BossHealth3, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth3, horizontal, 202, 184;}\nInInventory BossHealth4, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth4, horizontal, 202, 184;}\nInInventory BossHealth5, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth5, horizontal, 202, 184;}\nInInventory BossHealth6, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth6, horizontal, 202, 184;}\nInInventory BossHealth7, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth7, horizontal, 202, 168;}\nInInventory BossHealth8, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth8, horizontal, 202, 184;}\nInInventory BossHealth9, 1{DrawBar \"VARHEALT\", \"VAREMPTY\", BossHealth9, horizontal, 202, 184;}\nInInventory EvilRobotShield, 1{DrawBar \"VARAMM32\", \"VAREMPTY\", BossHealth1, horizontal, 202, 184;}\nInInventory SunstarShield, 1{DrawBar \"VARAMM32\", \"VAREMPTY\", BossHealth8, horizontal, 202, 184;}\n\n}\nInInventory GammaPlayerHealth, 1\n{\n    InInventory GammaPlayerPowerHP, 1\n    {\n    DrawImage \"VAMA2FHX\", 129, 178;\n    DrawBar \"VAMA2PH0\", \"VNOBAR\", GammaPlayerHealth, horizontal, 130, 184;\n    }\n    else\n    {\n    DrawBar \"VARHEALT\", \"VAMA2ECX\", GammaPlayerHealth, horizontal, 130, 184;\n    }\n}\n\nInInventory EclipseBossHealth, 1\n{\nDrawBar \"VARECLIP\", \"VAREMPTY\", BossHealth1, horizontal, 202, 184;\nDrawBar \"VAMA2ECT\", \"VAMA2ECX\", EclipseBossHealth, horizontal, 202, 181;\n}\n\n// Misc\nInInventory TimeStoppedCounter, 1{DrawImage \"FLASHS\", 36, 0;}\n}"
      },
      {
        "source": "pk3",
        "name": "SBARINFO.V.txt",
        "contents": "//VERTICAL BARS\nheight 0;\n\nstatusbar fullscreen, forcescaled\n{\nInInventory not NoHud, 1\n{\nInInventory not NoHealthBar, 1\n{\nDrawBar \"BARHEALT\", \"BAREMPTY\", Health, vertical, 24, 8;\n\tInInventory LightTeamFlag, 1{DrawImage \"LBAR\", 24, 3;}\n\tInInventory WilyTeamFlag, 1{DrawImage \"WBAR\", 24, 3;}\n\tInInventory CossackTeamFlag, 1{DrawImage \"CBAR\", 24, 3;}\n\tInInventory KingTeamFlag, 1{DrawImage \"KBAR\", 24, 3;}\n\n//InInventory SkullShieldCheck, 1{DrawBar \"BARFLS5\", \"NOBAR\", SkullShieldCheck, vertical, 24, 8;}\n//InInventory SkullBarrierProtection, 1{DrawBar \"BARFLS5\", \"NOBAR\", SkullShieldCheck, vertical, 24, 8;}\nInInventory BasicArmor, 1{DrawBar \"BARAMT31\", \"NOBAR\", Armor, vertical, 24, 8;}\n\n//IfCVarInt mm8bdm_ammonumber, 1\n//ha ha ha end me\nInInventory AmmoNumberFlag, 1\n{\n\tWeaponAmmo not BusterAmmo\n\t{\n\t\t//DrawNumber 5,CMBHPFONT,Untranslated,Health,/*interpolate(10),*/alignment(left),31,30;\n\t\tDrawNumber 3, \"8BDMAFONT\", Untranslated, Ammo1, alignment(right), 15, 31;\n\t}\n}\n\n//IfCVarInt mm8bdm_healthnumber, 1\n//dont worry jax I'm in pain too\nInInventory HealthNumberFlag, 1\n{\n\t//DrawNumber 5,CMBHPFONT,Untranslated,Health,/*interpolate(10),*/alignment(left),31,30;\n\tDrawNumber 3, \"8BDMAFONT\", Untranslated, Health, alignment(left), 31, 31;\n\tDrawNumber 3, \"8BDMAFONT\", DarkGrey, Armor, alignment(left), 31, 38;\n\n}\n}\n\nDrawSelectedInventory INDEXFONT ,24, 64, 37, 64, white;\nDrawImage weaponicon, 16, 64;\n\n//MM1 Bars\nIsSelected RollingCutterWep{Drawbar\"BARAMMO1\", \"BAREMPTY\", RollingCutterAmmo, vertical, 16, 8;}\nIsSelected SuperArmWep{Drawbar\"BARAMMO2\", \"BAREMPTY\", SuperArmAmmo, vertical, 16, 8;}\nIsSelected IceSlasherWep{Drawbar\"BARAMMO3\", \"BAREMPTY\", IceSlasherAmmo, vertical, 16, 8;}\nIsSelected HyperBombWep{Drawbar\"BARAMMO4\", \"BAREMPTY\", HyperBombAmmo, vertical, 16, 8;}\nIsSelected FireStormWep{Drawbar\"BARAMMO5\", \"BAREMPTY\", FireStormAmmo, vertical, 16, 8;}\nIsSelected ThunderBeamWep{Drawbar\"BARAMMO6\", \"BAREMPTY\", ThunderBeamAmmo, vertical, 16, 8;}\nIsSelected TimeSlowWep{DrawBar\"BARAMMO7\", \"BAREMPTY\", TimeSlowAmmo, vertical, 16, 8;}\nIsSelected OilSliderWep{DrawBar\"BARAMMO8\", \"BAREMPTY\", OilSliderAmmo, vertical, 16, 8;\n\tInInventory OilSliderFlag, 1\t{DrawBar\"BARFLS1\", \"NOBAR\", OilSliderFlag, vertical, 16, 8;}}\n\n//MM2\nIsSelected MetalBladeWep{Drawbar\"BARAMMO9\", \"BAREMPTY\", MetalBladeAmmo, vertical, 16, 8;}\nIsSelected AirShooterWep{Drawbar\"BARAMM10\", \"BAREMPTY\", AirShooterAmmo, vertical, 16, 8;}\nIsSelected BubbleLeadWep{Drawbar\"BARAMMO1\", \"BAREMPTY\", BubbleLeadAmmo, vertical, 16, 8;}\nIsSelected QuickBoomerangWep{Drawbar\"BARAMM11\", \"BAREMPTY\", QuickBoomerangAmmo, vertical, 16, 8;}\nIsSelected CrashBombWep{Drawbar\"BARAMM12\", \"BAREMPTY\", CrashBombAmmo, vertical, 16, 8;}\nIsSelected TimeStopperWep{Drawbar\"BARAMMO7\", \"BAREMPTY\", TimeStopperAmmo, vertical, 16, 8;}\nIsSelected AtomicFireWep{Drawbar\"BARAMM13\", \"BAREMPTY\", AtomicFireAmmo, vertical, 16, 8;\n\tInInventory WeaponCharge, 65{DrawBar \"BARFLS2\", \"BAREMPTY\", AtomicFireAmmo, vertical, 16, 8;}}\nIsSelected LeafShieldWep{Drawbar\"BARAM201\", \"BAREMPTY\", LeafShieldAmmo, vertical, 16, 8;\n\tInInventory LeafShieldCheck, 1{DrawBar \"BARFLS1\", \"NOBAR\", LeafShieldAmmo, vertical, 16, 8;}}\nInInventory LeafShieldCheck, 1 {IsSelected NOT LeafShieldWep {DrawBar \"SHDBAR07\", \"NOBAR\", LeafShieldAmmo, vertical, 24, 8;}}\n\n//MM3\nIsSelected NeedleCannonWep{Drawbar\"BARAMMO2\", \"BAREMPTY\", NeedleCannonAmmo, vertical, 16, 8;}\nIsSelected MagnetMissileWep{Drawbar\"BARAMM14\", \"BAREMPTY\", MagnetMissileAmmo, vertical, 16, 8;}\nIsSelected GeminiLaserWep{Drawbar\"BARAMM15\", \"BAREMPTY\", GeminiLaserAmmo, vertical, 16, 8;}\nIsSelected HardKnuckleWep{Drawbar\"BARAMM16\", \"BAREMPTY\", HardKnuckleAmmo, vertical, 16, 8;}\nIsSelected TopSpinWep{Drawbar\"BARAMM17\", \"BAREMPTY\", TopSpinAmmo, vertical, 16, 8;}\nIsSelected SearchSnakeWep{Drawbar\"BARAMMO4\", \"BAREMPTY\", SearchSnakeAmmo, vertical, 16, 8;}\nIsSelected SparkShockWep{Drawbar\"BARAMM12\", \"BAREMPTY\", SparkShockAmmo, vertical, 16, 8;}\nIsSelected ShadowBladeWep{Drawbar\"BARAMMO7\", \"BAREMPTY\", ShadowBladeAmmo, vertical, 16, 8;}\n\n//MM4\nIsSelected FlashStopperWep{Drawbar\"BARAMM18\", \"BAREMPTY\", FlashStopperAmmo, vertical, 16, 8;}\nIsSelected RainFlushWep{Drawbar\"BARAMM19\", \"BAREMPTY\", RainFlushAmmo, vertical, 16, 8;}\nIsSelected DrillBombWep{Drawbar\"BARAMM14\", \"BAREMPTY\", DrillBombAmmo, vertical, 16, 8;}\nIsSelected PharaohShotWep{Drawbar\"BARAMM20\", \"BAREMPTY\", Ammo1, vertical, 16, 8;\n\tInInventory PharaohCharge, 78{DrawBar \"BARFLS4\", \"BAREMPTY\", Ammo1, vertical, 16, 8;}\n\tInInventory PharaohCharge, 1{InInventory NOT PharaohCharge, 78{DrawBar \"BARFLS1\", \"NOBAR\", PharaohCharge, vertical, 16, 8;}}}\nIsSelected RingBoomerangWep{Drawbar\"BARAMMO9\", \"BAREMPTY\", RingBoomerangAmmo, vertical, 16, 8;}\nIsSelected DustCrusherWep{Drawbar\"BARAMMO1\", \"BAREMPTY\", DustCrusherAmmo, vertical, 16, 8;}\nIsSelected DiveMissileWep{Drawbar\"BARAMM10\", \"BAREMPTY\", DiveMissileAmmo, vertical, 16, 8;}\n\nIsSelected SkullbarrierWep{Drawbar\"BARAMM21\", \"BAREMPTY\", SkullbarrierAmmo, vertical, 16, 8;\n\tInInventory SkullShieldCheck, 1{DrawBar \"BARFLS55\", \"NOBAR\", SkullbarrierAmmo, vertical, 16, 8;}\n\tInInventory SkullBarrierFaded, 1{DrawBar \"BARAMM65\", \"BAREMPTY\", SkullbarrierAmmo, vertical, 16, 8;}}\n\nInInventory SkullShieldCheck, 1 {IsSelected NOT SkullbarrierWep {DrawBar \"SHDBAR04\", \"NOBAR\", SkullbarrierAmmo, vertical, 24, 8;\n\tInInventory SkullBarrierFaded, 1{DrawBar \"SHDBAR05\", \"NOBAR\", SkullbarrierAmmo, vertical, 24, 8;}}}\n\n//MM5\nIsSelected GravityHoldWep{Drawbar\"BARAMM18\", \"BAREMPTY\", GravityHoldAmmo, vertical, 16, 8;}\nIsSelected WaterWaveWep{Drawbar\"BARAMM10\", \"BAREMPTY\", WaterWaveAmmo, vertical, 16, 8;}\nIsSelected PowerStoneWep{Drawbar\"BARAMM22\", \"BAREMPTY\", PowerStoneAmmo, vertical, 16, 8;}\nIsSelected GyroAttackWep{Drawbar\"BARAMMO4\", \"BAREMPTY\", GyroAttackAmmo, vertical, 16, 8;}\nIsSelected StarCrashWep{Drawbar\"BARAMM23\", \"BAREMPTY\", StarCrashAmmo, vertical, 16, 8;\n\tInInventory StarCrashCheck, 1{DrawBar \"BARFLS6\", \"BAREMPTY\", StarCrashAmmo, vertical, 16, 8;}}\nInInventory StarCrashCheck, 1 {IsSelected NOT StarCrashWep {DrawBar \"SHDBAR06\", \"NOBAR\", StarCrashAmmo, vertical, 24, 8;}}\nIsSelected ChargeKickWep{Drawbar\"BARAMM12\", \"BAREMPTY\", ChargeKickAmmo, vertical, 16, 8;}\nIsSelected NapalmBombWep{Drawbar\"BARAMM24\", \"BAREMPTY\", NapalmBombAmmo, vertical, 16, 8;}\nIsSelected CrystalEyeWep{Drawbar\"BARAMM25\", \"BAREMPTY\", CrystalEyeAmmo, vertical, 16, 8;}\n\n//MM6\nIsSelected BlizzardAttackWep{Drawbar\"BARAMM15\", \"BAREMPTY\", BlizzardAttackAmmo, vertical, 16, 8;}\nIsSelected CentaurFlashWep{Drawbar\"BARAMM26\", \"BAREMPTY\", CentaurFlashAmmo, vertical, 16, 8;}\nIsSelected FlameBlastWep{Drawbar\"BARAMM20\", \"BAREMPTY\", FlameBlastAmmo, vertical, 16, 8;}\nIsSelected KnightCrushWep{Drawbar\"BARAMM27\", \"BAREMPTY\", KnightCrushAmmo, vertical, 16, 8;}\nIsSelected PlantbarrierWep{Drawbar\"BARAMM28\", \"BAREMPTY\", PlantbarrierAmmo, vertical, 16, 8;\n\tInInventory PlantBarrierCheck, 1{DrawBar \"BARFLS7\", \"BAREMPTY\", PlantbarrierAmmo, vertical, 16, 8;}}\n\t\t\t\t\t\t\t //  DrawBar \"BARHEALP\", \"BAREMPTY\", Health, vertical, 24, 8;}}\nInInventory PlantBarrierCheck, 1 {IsSelected NOT PlantbarrierWep {DrawBar \"SHDBAR02\", \"NOBAR\", PlantbarrierAmmo, vertical, 24, 8;}}\nIsSelected SilverTomahawkWep{Drawbar\"BARAMM29\", \"BAREMPTY\", SilverTomahawkAmmo, vertical, 16, 8;}\nIsSelected WindStormWep{Drawbar\"BARAMMO1\", \"BAREMPTY\", WindStormAmmo, vertical, 16, 8;}\nIsSelected YamatoSpearWep{Drawbar\"BARAMM30\", \"BAREMPTY\", YamatoSpearAmmo, vertical, 16, 8;}\n\n//MM7\nIsSelected FreezeCrackerWep{Drawbar\"BARAMM31\", \"BAREMPTY\", FreezeCrackerAmmo, vertical, 16, 8;}\nIsSelected JunkShieldWep{Drawbar\"BARAMM32\", \"BAREMPTY\", JunkShieldAmmo, vertical, 16, 8;\n    InInventory JunkShieldCharge, 1{DrawBar\"BARFLS1\", \"NOBAR\", JunkShieldCharge, vertical, 16, 8;}}\nInInventory JunkShieldCheck, 1 {IsSelected NOT JunkShieldWep {DrawBar \"SHDBAR01\", \"NOBAR\", JunkShieldAmmo, vertical, 24, 8;}}\nIsSelected DangerWrapWep{Drawbar\"BARAMM33\", \"BAREMPTY\", DangerWrapAmmo, vertical, 16, 8;}\nIsSelected ThunderBoltWep{Drawbar\"BARAMM34\", \"BAREMPTY\", ThunderBoltAmmo, vertical, 16, 8;}\nIsSelected WildCoilWep{Drawbar\"BARAMM35\", \"BAREMPTY\", WildCoilAmmo, vertical, 16, 8;\n\tInInventory WeaponCharge, 23{DrawBar \"BARFLS9\", \"BAREMPTY\", WildCoilAmmo, vertical, 16, 8;}}\nIsSelected SlashClawWep{Drawbar\"BARAMM36\", \"BAREMPTY\", SlashClawAmmo, vertical, 16, 8;}\nIsSelected NoiseCrushWep{Drawbar\"BARAMM37\", \"BAREMPTY\", NoiseCrushAmmo, vertical, 16, 8;\n\tInInventory WeaponCharge, 1{DrawBar \"BARFLS10\", \"BAREMPTY\", NoiseCrushAmmo, vertical, 16, 8;}}\nIsSelected ScorchWheelWep{Drawbar\"BARAMM38\", \"BAREMPTY\", ScorchWheelAmmo, vertical, 16, 8;\n\tInInventory WheelCount, 1{DrawBar\"BARFLS1\", \"NOBAR\", WheelCount, vertical, 16, 8;}}\n\n//MM8\nIsSelected MegaBallWep{Drawbar\"BARAMM39\", \"BAREMPTY\", MegaBallAmmo, vertical, 16, 8;}\nIsSelected TornadoHoldWep{Drawbar\"BARAMM40\", \"BAREMPTY\", TornadoHoldAmmo, vertical, 16, 8;}\nIsSelected AstroCrushWep{Drawbar\"BARAMM41\", \"BAREMPTY\", AstroCrushAmmo, vertical, 16, 8;}\nIsSelected FlameSwordWep{Drawbar\"BARAMM42\", \"BAREMPTY\", FlameSwordAmmo, vertical, 16, 8;}\nIsSelected ThunderClawWep{Drawbar\"BARAMM43\", \"BAREMPTY\", ThunderClawAmmo, vertical, 16, 8;}\nIsSelected HomingSniperWep{Drawbar\"BARAMM44\", \"BAREMPTY\", HomingSniperAmmo, vertical, 16, 8;\n\t//InInventory WeaponCharge, 35{DrawBar \"BARFLS11\", \"BAREMPTY\", HomingSniperAmmo, vertical, 16, 8;}}\n\tInInventory HomingSniperFlag, 1{DrawBar \"BARFLS11\", \"NOBAR\", HomingSniperFlag, vertical, 16, 8;}}\nIsSelected IceWaveWep {DrawBar \"BARAMM45\", \"BAREMPTY\", IceWaveAmmo, vertical, 16, 8;}\nIsSelected FlashBombWep{Drawbar\"BARAMM46\", \"BAREMPTY\", FlashBombAmmo, vertical, 16, 8;}\nIsSelected WaterBalloonWep{Drawbar\"BARAMM47\", \"BAREMPTY\", WaterBalloonAmmo, vertical, 16, 8;}\n\n//MMB\nIsSelected TenguBladeWep{Drawbar\"BARAMMO1\", \"BAREMPTY\", TenguBladeAmmo, vertical, 16, 8;}\nIsSelected CopyVisionWep{Drawbar\"BARAMM52\", \"BAREMPTY\", CopyVisionAmmo, vertical, 16, 8;}\nIsSelected LightningBoltWep{Drawbar\"BARAMM53\", \"BAREMPTY\", LightningBoltAmmo, vertical, 16, 8;}\nIsSelected IceWallWep{Drawbar\"BARAMM54\", \"BAREMPTY\", IceWallAmmo, vertical, 16, 8;}\nIsSelected SpreadDrillWep{DrawBar\"BARAMM55\", \"BAREMPTY\", SpreadDrillAmmo, vertical, 16, 8;}\nIsSelected RemoteMineWep{Drawbar\"BARAMM56\", \"BAREMPTY\", RemoteMineAmmo, vertical, 16, 8;\n\tInInventory WeaponCharge, 5{DrawBar \"BARFLS14\", \"BAREMPTY\", RemoteMineAmmo, vertical, 16, 8;}}\nIsSelected WaveBurnerWep{Drawbar\"BARAMM57\", \"BAREMPTY\", WaveBurnerAmmo, vertical, 16, 8;}\nIsSelected MagicCardWep{Drawbar\"BARAMM58\", \"BAREMPTY\", MagicCardAmmo, vertical, 16, 8;}\n\n//MM9\nIsSelected PlugBallWep {DrawBar \"BARAMM60\", \"BAREMPTY\", PlugBallAmmo, vertical, 16, 8;}\nIsSelected LaserTridentWep {DrawBar \"BARAMM61\", \"BAREMPTY\", LaserTridentAmmo, vertical, 16, 8;}\nIsSelected TornadoBlowWep {DrawBar \"BARAMM68\", \"BAREMPTY\", TornadoBlowAmmo, vertical, 16, 8;}\nIsSelected JewelSatelliteWep{DrawBar \"BARAMM63\", \"BAREMPTY\", JewelSatelliteAmmo, vertical, 16, 8;\n\tInInventory JewelShieldCheck, 1 {DrawBar \"BARFLS1\", \"NOBAR\", JewelShieldCheck, vertical, 16, 8;}}\nInInventory JewelSatelliteCheck, 1 {IsSelected NOT JewelSatelliteWep {DrawBar \"SHDBAR03\", \"NOBAR\", JewelSatelliteAmmo, vertical, 24, 8;}}\nIsSelected MagmaBazookaWep {DrawBar \"BARAMM64\", \"BAREMPTY\", MagmaBazookaAmmo, vertical, 16, 8;\n\tInInventory WeaponCharge, 19 {DrawBar \"BARFLS13\", \"BAREMPTY\", MagmaBazookaAmmo, vertical, 16, 8;}}\nIsSelected ConcreteShotWep {DrawBar \"BARAMM65\", \"BAREMPTY\", ConcreteShotAmmo, vertical, 16, 8;}\nIsSelected BlackHoleBombWep {DrawBar \"BARAMM66\", \"BAREMPTY\", BlackHoleBombAmmo, vertical, 16, 8;\n\tInInventory BlackHoleBombCooldown, 1 {DrawBar \"BARFLS15\", \"BAREMPTY\", BlackHoleBombAmmo, vertical, 16, 8;}}\nIsSelected HornetChaserWep {DrawBar \"BARAMM67\", \"BAREMPTY\", HornetChaserAmmo, vertical, 16, 8;}\n\n//MM10\nIsSelected TripleBladeWep {DrawBar \"BARAMM6A\", \"BAREMPTY\", TripleBladeAmmo, vertical, 16, 8;}\nIsSelected WaterShieldWep {DrawBar \"BARAMM69\", \"BAREMPTY\", WaterShieldAmmo, vertical, 16, 8;\n\tInInventory WaterShieldCheck, 1 {DrawBar \"BARFLS1\", \"NOBAR\", WaterShieldCheck, vertical, 16, 8;}}\nInInventory WaterShieldCheck, 1 {IsSelected NOT WaterShieldWep {DrawBar \"SHDBAR08\", \"NOBAR\", WaterShieldCheck, vertical, 24, 8;}}\nIsSelected CommandoBombWep {DrawBar \"BARAMM70\", \"BAREMPTY\", CommandoBombAmmo, vertical, 16, 8;}\n\t//InInventory CommandoCooldown {DrawBar \"BARFLS1\", \"NOBAR\", CommandoCooldown, vertical, 16, 8;}}\nIsSelected ChillSpikeWep {DrawBar \"BARAMM71\", \"BAREMPTY\", ChillSpikeAmmo, vertical, 16, 8;}\nIsSelected ThunderWoolWep {DrawBar \"BARAMM72\", \"BAREMPTY\", ThunderWoolAmmo, vertical, 16, 8;}\nIsSelected ReboundStrikerWep {DrawBar \"BARAMM73\", \"BAREMPTY\", ReboundStrikerAmmo, vertical, 16, 8;}\nIsSelected WheelCutterWep {DrawBar \"BARAMM74\", \"BAREMPTY\", WheelCutterAmmo, vertical, 16, 8;\n\tInInventory WheelCutterCheck, 1 {DrawBar \"BARFLS1\", \"NOBAR\", WheelCutterCheck, vertical, 16, 8;}}\nIsSelected SolarBlazeWep {DrawBar \"BARAMM75\", \"BAREMPTY\", SolarBlazeAmmo, vertical, 16, 8;}\n\n//MMV\nIsSelected SparkChaserWep {DrawBar \"BARAMM76\", \"BAREMPTY\", SparkChaserAmmo, vertical, 16, 8;}\nIsSelected GrabBusterWep {DrawBar \"BARAMM77\", \"BAREMPTY\", GrabBusterAmmo, vertical, 16, 8;}\nIsSelected BubbleBombWep {DrawBar \"BARAMM78\", \"BAREMPTY\", BubbleBombAmmo, vertical, 16, 8;}\nIsSelected PhotonMissileWep {DrawBar \"BARAMM79\", \"BAREMPTY\", PhotonMissileAmmo, vertical, 16, 8;\n\tInInventory PhotonMissileCharge, 1 {DrawBar \"BARFLS1\", \"NOBAR\", PhotonMissileCharge, vertical, 16, 8;}}\nIsSelected SaltWaterWep {DrawBar \"BARAMM80\", \"BAREMPTY\", SaltWaterAmmo, vertical, 16, 8;}\nIsSelected ElectricShockWep {DrawBar \"BARAMM81\", \"BAREMPTY\", ElectricShockAmmo, vertical, 16, 8;}\nIsSelected BlackHoleWep {DrawBar \"BARAMM82\", \"BAREMPTY\", BlackHoleAmmo, vertical, 16, 8;\n\tInInventory BlackHoleCheck, 1\t{DrawBar \"BARFLS16\", \"BAREMPTY\", BlackHoleAmmo, vertical, 16, 8;}}\nIsSelected DeepDiggerWep {DrawBar \"BARAMM83\", \"BAREMPTY\", DeepDiggerAmmo, vertical, 16, 8;\n\tInInventory DeepDiggerFlagL, 1 {DrawBar \"BARFLS1\", \"NOBAR\", DeepDiggerFlagL, vertical, 16, 8;}\n\tInInventory DeepDiggerFlagR, 1 {DrawBar \"BARFLS1\", \"NOBAR\", DeepDiggerFlagR, vertical, reverse, 16, 8;}}\nIsSelected BreakDashWep {DrawBar \"BARAMM84\", \"BAREMPTY\", BreakDashAmmo, vertical, 16, 8;\n\tInInventory WeaponCharge, 23  {DrawBar \"BARFLS17\", \"BAREMPTY\", BreakDashAmmo, vertical, 16, 8;}}\n\n//MMK\nIsSelected SakugarneWep{Drawbar\"BARAMM48\", \"BAREMPTY\", SakugarneAmmo, vertical, 16, 8;}\nIsSelected MirrorBusterWep{Drawbar\"BARAMM49\", \"BAREMPTY\", MirrorBusterAmmo, vertical, 16, 8;\n\tInInventory MirrorBusterDamage, 1{DrawBar\"BARFLS1\", \"NOBAR\", MirrorBusterDamage, vertical, 16, 8;}}\nIsSelected ScrewCrusherWep{Drawbar\"BARAMM50\", \"BAREMPTY\", ScrewCrusherAmmo, vertical, 16, 8;}\nIsSelected BalladeCrackerWep{Drawbar\"BARAMM51\", \"BAREMPTY\", BalladeCrackerAmmo, vertical, 16, 8;}\nIsSelected DawnBreakerWep{Drawbar\"BARAM202\", \"BAREMPTY\", DawnBreakerAmmo, vertical, 16, 8;\n\tInInventory WeaponCharge, 23{DrawBar\"BARFL202\", \"NOBAR\", DawnBreakerAmmo, vertical, 16, 8;}}\n\n//Assists\nInInventory RushJetCounter, 5{DrawImage \"RUSHH2H8\", 290,16;}\nInInventory RushJetCounter, 1{DrawImage \"RUSHOUT\", 290,16;}\nInInventory RushMarineCounter, 1{InInventory IsUnderWater, 1{\n\t\tInInventory RushMarineCounter, 4{DrawImage \"RUSHO0\", 290,8;}\n\t\tInInventory RushMarineCounter, 1{DrawImage \"RUSHMOUT\", 290,8;}}\n\tInInventory Not IsUnderWater, 1{DrawImage \"RUSHP0\", 290,8;}}\n\nInInventory BeatCallCheckHF, 1{DrawImage \"BEATD0\", 298,16;}\nInInventory BeatCounter, 5{DrawImage \"BEATB8B2\", 298,16;}\nInInventory BeatCounter, 1{DrawImage \"BEATOUT\",298,16;}\nInInventory BeatSupportActivated, 1{DrawImage \"BSPTA0\",314,16;}\nInInventory BeatSupportFired, 1 {DrawImage \"BSPTB0\",314,16;}\nInInventory Flashed, 1{DrawImage \"FBLIND\",  -30,-20;}\nInInventory EnergyBalancerActive, 1{DrawImage \"NRGOUT\", 267, 10;}\nInInventory EnergySaverActive, 1{DrawImage \"ESVOUT\", 250, 10;}\n\n//Boss Health\nInInventory BossHealth1, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth1, vertical, 292, 8;}\nInInventory BossHealth2, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth2, vertical, 292, 8;}\nInInventory BossHealth3, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth3, vertical, 292, 8;}\nInInventory BossHealth4, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth4, vertical, 292, 8;}\nInInventory BossHealth5, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth5, vertical, 292, 8;}\nInInventory BossHealth6, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth6, vertical, 292, 8;}\nInInventory BossHealth7, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth7, vertical, 306, 8;}\nInInventory BossHealth8, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth8, vertical, 292, 8;}\nInInventory BossHealth9, 1{DrawBar \"BARHEALT\", \"BAREMPTY\", BossHealth9, vertical, 292, 8;}\nInInventory EvilRobotShield, 1{DrawBar \"BARAMM32\", \"BAREMPTY\", BossHealth1, vertical, 292, 8;}\nInInventory SunstarShield, 1{DrawBar \"BARAMM32\", \"BAREMPTY\", BossHealth8, vertical, 292, 8;}\n\n}\nInInventory GammaPlayerHealth, 1\n{\n    InInventory GammaPlayerPowerHP, 1\n    {\n    DrawImage \"GAMA2FHX\", 18, -1;\n    DrawBar \"GAMA2PH0\", \"NOBAR\", GammaPlayerHealth, vertical, 24, 8;\n    }\n    else\n    {\n    DrawBar \"BARHEALT\", \"GAMA2ECX\", GammaPlayerHealth, vertical, 24, 8;\n    }\n}\n\nInInventory EclipseBossHealth, 1\n{\nDrawBar \"BARECLIP\", \"BAREMPTY\", BossHealth1, vertical, 292, 8;\nDrawBar \"GAMA2ECT\", \"GAMA2ECX\", EclipseBossHealth, vertical, 289, 8;\n}\n\n// Misc\nInInventory TimeStoppedCounter, 1{DrawImage \"FLASHS\", 36, 0;}\n}"
      },
      {
        "source": "pk3",
        "name": "ANIMDEFS.txt",
        "contents": "//Skull Barrier2\ntexture BARFLS55\npic BARAMM15 tics 4\npic BARHEALT tics 4\n\ntexture VARFLS55\npic VARAMM15 tics 4\npic VARHEALT tics 4"
      },
      {
        "source": "pk3",
        "name": "MENUDEF.txt",
        "contents": "//-------------------------------------------------------------------------------------------\n//\n// Note:\n// Much of the menu structure defined here is accessed internally by CCMDs\n// and menu generation code. If you want to design your own menus make sure\n// that they are named identically and that links to all important submenus\n// are present.\n//\n//-------------------------------------------------------------------------------------------\n\nDEFAULTLISTMENU\n{\n\tFont \"BigFont\", \"Untranslated\"\n\tIfGame(Doom, Chex)\n\t{\n\t\tSelector \"M_SKULL1\", -32, -5\n\t\tLinespacing 16\n\t\tFont \"BigFont\", \"MenuWhite\"\n\t}\n\tIfGame(Strife)\n\t{\n\t\tSelector \"M_CURS1\", -28, -5\n\t\tLinespacing 19\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tSelector \"M_SLCTR1\", -28, -1\n\t\tLinespacing 20\n\t}\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The main menu. There's a lot of differences here between the games\n//\n//-------------------------------------------------------------------------------------------\n\nLISTMENU \"MainMenu\"\n{\n\tIfGame(Doom, Chex)\n\t{\n\t\tStaticPatch 94, 2, \"M_DOOM\"\n\t\tPosition 97, 72\n\t\tIfOption(ReadThis)\n\t\t{\n\t\t\tPosition 97, 64\n\t\t}\n\t}\n\tIfGame(Strife)\n\t{\n\t\tStaticPatch 84, 2, \"M_STRIFE\"\n\t\tPosition 97, 45\n\t}\n\tIfGame(Heretic)\n\t{\n\t\tStaticPatch 88, 0, \"M_HTIC\"\n\t\tStaticPatch 40, 10, \"M_SKL01\"\n\t\tStaticPatch 232, 10, \"M_SKL00\"\n\t\tPosition 110, 56\n\t}\n\tIfGame(Hexen)\n\t{\n\t\tStaticPatch 88, 0, \"M_HTIC\"\n\t\tStaticPatch 37, 80, \"FBULB0\"\n\t\tStaticPatch 278, 80, \"FBULA0\"\n\t\tPosition 110, 56\n\t}\n\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tFont \"DBIGFONT\", \"MenuWhite\"\n\t\tTextItem \"SinglePlayer\", \"s\", \"PlayerclassMenu\"\n\t\tTextItem \"Multiplayer\", \"m\", \"ZA_MultiplayerOptions\" // [Russ]\n\t\tTextItem \"Player Setup\", \"p\", \"PlayerMenu\"\n\t\tTextItem \"Options\", \"o\", \"OptionsMenu\"\n\t\tTextItem \"Quit Game\", \"q\", \"QuitMenu\"\n\t}\n\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tTextItem \"$MNU_NEWGAME\", \"n\", \"PlayerclassMenu\"\n\t\tTextItem \"$MNU_OPTIONS\", \"o\", \"OptionsMenu\"\n\t\tTextItem \"$MNU_GAMEFILES\", \"g\", \"GameFilesMenu\"\n\t\tTextItem \"$MNU_INFO\", \"i\", \"ReadThisMenu\"\n\t\tTextItem \"$MNU_QUITGAME\", \"q\", \"QuitMenu\"\n\t}\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Important note about the following template menus:\n// Don't even think about replacing them with something that's not an empty menu\n// with some static elements only. Proper function is not guaranteed then.\n//\n//-------------------------------------------------------------------------------------------\n\n//-------------------------------------------------------------------------------------------\n//\n// The player class menu\n// The init code will set the first item to 'autoselect' if it's the only one.\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"PlayerclassMenu\"\n{\n\tIfGame(Doom, Heretic, Hexen, Strife)\n\t{\n\t\tNetgameMessage \"$NEWGAME\"\n\t}\n\tIfGame(Chex)\n\t{\n\t\tNetgameMessage \"$CNEWGAME\"\n\t}\n\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tStaticTextCentered 160, 15, \"$MNU_CHOOSECLASS\"\n\t\tPosition 48, 63\n\t\tPlayerDisplay 220, 63, \"20 00 00\", \"80 00 40\"\n\t\tMouseWindow 0, 220\n\t}\n\tIfGame(Heretic)\n\t{\n\t\tStaticTextCentered 160, 15, \"$MNU_CHOOSECLASS\"\n\t\tPosition 80, 50\n\t\tPlayerDisplay 220, 50, \"20 00 00\", \"80 00 40\"\n\t\tMouseWindow 0, 220\n\t}\n\tIfGame(Hexen)\n\t{\n\t\tStaticText 34, 24, \"$MNU_CHOOSECLASS\"\n\t\tPosition 66, 58\n\t\tPlayerDisplay 174, 8, \"00 07 00\", \"40 53 40\"\n\t\tMouseWindow 0, 174\n\t}\n\t// The rest of this menu will be set up based on the actual player definitions.\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The episode menu\n// The init code will set the first item to 'autoselect' if it's the only one.\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"EpisodeMenu\"\n{\n\tIfGame(Doom, Heretic, Hexen, Strife)\n\t{\n\t\tNetgameMessage \"$NEWGAME\"\n\t}\n\tIfGame(Chex)\n\t{\n\t\tNetgameMessage \"$CNEWGAME\"\n\t}\n\n\tIfGame(Doom, Chex)\n\t{\n\t\tPosition 48, 63\n\t\tStaticPatch 54, 38, \"M_EPISOD\"\n\t}\n\tIfGame(Strife)\n\t{\n\t\tPosition 48, 63\n\t\tStaticText 54, 38, \"$MNU_EPISODE\"\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tPosition 80, 50\n\t}\n\t// items will be filled in by MAPINFO\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The skill menu\n// Most of this will be filled in at runtime\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"SkillMenu\"\n{\n\n\tIfGame(Doom, Chex)\n\t{\n\t\tStaticPatch 96, 14, \"M_NEWG\"\n\t}\n\tIfGame(Strife)\n\t{\n\t\tStaticPatch 96, 14, \"M_NGAME\"\n\t}\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tStaticPatch 54, 38, \"M_SKILL\"\n\t\tPosition 48, 63\n\t}\n\tIfGame (Heretic)\n\t{\n\t\tPosition 38, 30\n\t}\n\tIfGame (Hexen)\n\t{\n\t\tStaticText 74, 16, \"$MNU_CHOOSESKILL\"\n\t\tPosition 160, 44\n\t\tcentermenu\n\t}\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Raven's game files menu\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"GameFilesMenu\"\n{\n\tPosition 110, 60\n\tTextItem \"$MNU_LOADGAME\", \"l\", \"LoadGameMenu\"\n\tTextItem \"$MNU_SAVEGAME\", \"s\", \"SaveGameMenu\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Base definition for load game menu. Only the configurable part is done here\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"LoadGameMenu\"\n{\n\tIfGame(Doom, Heretic, Hexen, Strife)\n\t{\n\t\tNetgameMessage \"$LOADNET\"\n\t}\n\tIfGame(Chex)\n\t{\n\t\tNetgameMessage \"$CLOADNET\"\n\t}\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tStaticPatchCentered 160, -20, \"M_LOADG\"\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tStaticTextCentered 160, -10, \"$MNU_LOADGAME\"\n\t}\n\tPosition 80,54\n\tClass \"LoadMenu\"\t// uses its own implementation\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Base definition for save game menu. Only the configurable part is done here\n//\n//-------------------------------------------------------------------------------------------\n\nListMenu \"SaveGameMenu\"\n{\n\tNetgameMessage \"$SAVENET\" // [TP] Zandronum doesn't allow the client to save the game.\n\tIfGame(Doom, Strife, Chex)\n\t{\n\t\tStaticPatchCentered 160, -20, \"M_SAVEG\"\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tStaticTextCentered 160, -10, \"$MNU_SAVEGAME\"\n\t}\n\tPosition 80,54\n\tClass \"SaveMenu\"\t// uses its own implementation\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The option menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue \"YesNo\"\n{\n\t0, \"No\"\n\t1, \"Yes\"\n}\n\nOptionValue \"NoYes\"\n{\n\t0, \"Yes\"\n\t1, \"No\"\n}\n\nOptionValue \"OnOff\"\n{\n\t0, \"Off\"\n\t1, \"On\"\n}\n\nOptionValue \"OffOn\"\n{\n\t0, \"On\"\n\t1, \"Off\"\n}\n\nOptionValue Wipes\n{\n\t0.0, \"$OPTVAL_NONE\"\n\t1.0, \"$OPTVAL_MELT\"\n\t2.0, \"$OPTVAL_BURN\"\n\t3.0, \"$OPTVAL_CROSSFADE\"\n}\n\nOptionMenuSettings\n{\n\t// These can be overridden if a different menu fonts requires it.\n\tLinespacing 8\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tLinespacing 9\n\t}\n}\n\nDefaultOptionMenu\n{\n\tPosition -15\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tPosition -13\n\t}\n}\n\n// [TP] Zandronum additions, these get filled in by the engine\nOptionValue ZA_Levels {}\nOptionValue ZA_Bots {}\nOptionValue ZA_Announcers {}\n// [TP] --\n\n//  MM8BDM\nOptionValue 8BDM_MapCards\n{\n\t0.0, \"Never\"\n\t1.0, \"Maps only\"\n\t2.0, \"Maps and Bosses\"\n}\n\nOptionValue \"MM8Music\"\n{\n\t0, \"Random\"\n\t1, \"PSX\"\n\t2, \"Saturn\"\n}\n\nOptionValue \"MM10Music\"\n{\n\t0, \"Random\"\n\t1, \"MM10\"\n\t2, \"Gameboy\"\n}\n\nOptionMenu \"OptionsMenu\"\n{\n\tTitle \"OPTIONS\"\n\t// [Russ] These were moved to the main menu.\n\t//Submenu \"Multiplayer Options\",\t\t\"ZA_MultiplayerOptions\" // [TP]\n\t//StaticText \" \" // [TP]\n\tSubmenu \"Customize Controls\",\t\t\"CustomizeControls\"\n\tSubmenu \"Mouse options\",\t\t\t\"MouseOptions\"\n\tSubmenu \"Joystick options\",\t\t\t\"JoystickOptions\"\n\tStaticText \" \"\n\tSubmenu \"Message Options\", \t\t\t\"MessageOptions\"\n\tStaticText \" \"\n\tSubmenu \"Sound Options\",\t\t\t\"SoundOptions\"\n\tSubmenu \"Display Options\",\t\t\t\"VideoOptions\"\n\tSubmenu \"Set video mode\",\t\t\t\"VideoModeMenu\"\n\tSubmenu \"Advanced Options\",\t\t\t\"8BDMAdvancedOptions\"\n\n\tStaticText \" \"\n\n\tStaticText\t\"MM8BDM Options\", 1\n\tStaticText \" \"\n\tOption \"Display Health Number\",\t\t\t\"mm8bdm_healthnumber\", \"OnOff\"\n\tOption \"Display Ammo Number\",\t\t\t\"mm8bdm_ammonumber\", \"OnOff\"\n\tOption \"Auto Swap Empty Weapons\", \t\t\"mm8bdm_autoswapweapons\", \"OffOn\"\n\tOption \"Health/Ammo Pickup Style\", \t\t\"hf_CapsuleType\", \"CapsuleType\"\n\tOption \"Pickup Weapon Colors\",\t\t\t\"mm8bdm_noenergycolors\", \"OffOn\"\n\tOption \"Show Critical Death Gibs\",\t\t\"mm8bdm_enablegibs\", \"OnOff\"\n\tOption \"Show Map Creator Cards\",\t\t\"mm8bdm_mapcards\", \"8BDM_MapCards\"\n\tOption \"CTF Objective Compass\",\t\t\t\"mm8bdm_noctfradar\", \"OffOn\"\n\n\tStaticText \" \"\n\n\tStaticText\t\"Music Preferences\", 1\n\tStaticText \" \"\n\tOption \"Tengu Man Stage\",\t\t\t\"mm8bdm_music_tenguman\", \"MM8Music\"\n\tOption \"Enker Stage\",\t\t\t\"mm8bdm_music_enker\", \"MM10Music\"\n\tOption \"Punk Stage\",\t\t\t\"mm8bdm_music_punk\", \"MM10Music\"\n\tOption \"Ballade Stage\",\t\t\t\"mm8bdm_music_ballade\", \"MM10Music\"\n\n}\n\nOptionMenu \"8BDMAdvancedOptions\"\n{\n\tTitle \"ADVANCED OPTIONS\"\n\tSubmenu \"Gameplay Options\",\t\t\t\"GameplayOptions\"\n\tSubmenu \"Compatibility Options\",\t\"CompatibilityOptions\"\n\tSubmenu \"Automap Options\",\t\t\t\"AutomapOptions\"\n\tSubmenu \"HUD Options\",\t\t\t\t\"HUDOptions\"\n\tSubmenu \"Miscellaneous Options\",\t\"MiscOptions\"\n\tStaticText \" \"\n\tSubmenu \"Load Game (Doom)\", \"LoadGameMenu\"\n\tSubmenu \"Save Game (Doom)\", \"SaveGameMenu\"\n\tStaticText \" \"\n\tSafeCommand \"Boost Save Data\", \"boostsavedata\"\n    StaticText \" \"\n\tSafeCommand \"Reset to defaults\",\t\"reset2defaults\"\n\tSafeCommand\t\"Reset to last saved\",\t\"reset2saved\"\n\tCommand \"Go to console\",\t\t\t\"menuconsole\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// The player menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue \"Gender\"\n{\n\t0, \"Male\"\n\t1, \"Female\"\n\t2, \"Other\"\n}\n\nOptionValue \"Autoaim\"\n{\n\t0, \"Never\"\n\t1, \"Very low\"\n\t2, \"Low\"\n\t3, \"Medium\"\n\t4, \"High\"\n\t5, \"Very high\"\n\t6, \"Always\"\n}\n\nListMenu \"PlayerMenu\"\n{\n\tStaticTextCentered 160, 6, \"$MNU_PLAYERSETUP\"\n\tFont \"SmallFont\"//, \"White\", \"Cyan\"\n\tLinespacing 14\n\tPosition 48, 36\n\tIfGame(Doom, Heretic, Strife, Chex)\n\t{\n\t\tMouseWindow 0, 220\n\t\tPlayerDisplay 220, 55, \"00 00 00\", \"00 AA AA\", 1, \"PlayerDisplay\"\n\t}\n\tIfGame(Hexen)\n\t{\n\t\tMouseWindow 0, 220\n\t\tPlayerDisplay 220, 75, \"00 07 00\", \"40 53 40\", 1, \"PlayerDisplay\"\n\t}\n\n\tIfGame (Doom, Strife, Chex)\n\t{\n\t\tPlayerNameBox \"Name\", 0, \"Playerbox\"\n\t\tSelector \"-\", -16, -1\n\t}\n\tIfGame(Heretic, Hexen)\n\t{\n\t\tPlayerNameBox \"Name\", 5, \"Playerbox\"\n\t\tSelector \"-\", -16, 1\n\t}\n\n\t// [TP] Zandronum does not store team in userinfo\n\t// ValueText \"Team\", \"Team\"\n\t// [TP] For now Zandronum doesn't support colorsets either.\n\t// ValueText \"Color\", \"Color\"\n\tLinespacing 14\n\t//Slider \"Red\", \"Red\", 0, 255, 16\n\t//Slider \"Green\", \"Green\", 0, 255, 16\n\t//Linespacing 14\n\t//Slider \"Blue\", \"Blue\", 0, 255, 16\n\tValueText \"Class\", \"Class\"\n\tValueText \"Skin\", \"Skin\"\n\tValueText \"Gender\", \"Gender\", \"Gender\"\n\tValueText \"Autoaim\", \"Autoaim\", \"Autoaim\"\n\t//Slider \"Handicap\", \"Handicap\", 0, 200, 5 // [TP]\n\t// [TP] This is moved to weapon setup\n\t// ValueText \"Switch on pickup\", \"Switch\", \"OffOn\"\n\tValueText \"Always Run\", \"AlwaysRun\", \"OnOff\"\n\t//ValueText \"Chat Substitution\", \"chat_substitution\", \"OnOff\" (doesn't work :/)\n\tTextItem \"Weapon Setup\", \"w\", \"ZA_WeaponSetup\" // [TP]\n\n\tClass \"PlayerMenu\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Controls Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue JoinMenuKeys\n{\n\t0.0, \"Space\"\n\t1.0, \"Enter\"\n}\n\nOptionMenu \"CustomizeControls\"\n{\n\tTitle \"CUSTOMIZE CONTROLS\"\n\tScrollTop 2\n\tStaticTextSwitchable \t\"ENTER to change, BACKSPACE to clear\", \"Press new key for control, ESC to cancel\", \"ControlMessage\"\n\t// [Russ] MM8BDM core controls\n\tStaticText \t\"\"\n\tStaticText\t\"Basic Controls\", 1\n\tControl \t\"Move forward\",\t\t\t\"+forward\"\n\tControl \t\"Move backward\",\t\t\"+back\"\n\tControl \t\"Move left\",\t\t\t\"+moveleft\"\n\tControl \t\"Move right\",\t\t\t\"+moveright\"\n\tControl \t\"Jump\",\t\t\t\t\t\"+jump\"\n\tControl \t\"Primary Fire\",\t\t\t\"+attack\"\n\tControl \t\"Alternate Fire\",\t\t\"+altattack\"\n\tControl \t\"Next weapon\",\t\t\t\"weapnext\"\n\tControl \t\"Previous weapon\",\t\t\"weapprev\"\n\tControl \t\"Use item\",\t\t\t\t\"invuse\"\n\tControl \t\"Next item\",\t\t\t\"invnext\"\n\tControl \t\"Previous item\",\t\t\"invprev\"\n\tControl \t\"Show Scoreboard\",\t\t\"+showscores\"\n\n\tStaticText\t\"\"\n\tStaticText \t\"Expanded Controls\", 1\n\tControl \t\"Primary Fire\",\t\t\t\"+attack\"\n\tControl \t\"Alternate Fire\",\t\t\"+altattack\"\n\t//Control \t\"Weapon Reload\",\t\t\"+reload\"\n\t//Control \t\"Weapon Zoom\",\t\t\t\"+zoom\"\n\tControl \t\"Move forward\",\t\t\t\"+forward\"\n\tControl \t\"Move backward\",\t\t\"+back\"\n\tControl \t\"Strafe left\",\t\t\t\"+moveleft\"\n\tControl \t\"Strafe right\",\t\t\t\"+moveright\"\n\tControl \t\"Turn left\",\t\t\t\"+left\"\n\tControl \t\"Turn right\",\t\t\t\"+right\"\n\tControl \t\"Jump\",\t\t\t\t\t\"+jump\"\n\tControl \t\"Crouch\",\t\t\t\t\"+crouch\"\n\tControl \t\"Crouch Toggle\",\t\t\"crouch\"\n\tControl \t\"Fly / Swim up\",\t\t\"+moveup\"\n\tControl \t\"Fly / Swim down\",\t\t\"+movedown\"\n\t//Control \t\"Stop flying\",\t\t\t\"land\"\n\tControl \t\"Mouse look\",\t\t\t\"+mlook\"\n\tControl \t\"Keyboard look\",\t\t\"+klook\"\n\tControl \t\"Look up\",\t\t\t\t\"+lookup\"\n\tControl \t\"Look down\",\t\t\t\"+lookdown\"\n\tControl \t\"Center view\",\t\t\t\"centerview\"\n\tControl\t\t\"Run Toggle\",\t\t\t\"toggle cl_run\"\n\tControl \t\"Run\",\t\t\t\t\t\"+speed\"\n\tControl \t\"Strafe\",\t\t\t\t\"+strafe\"\n\tControl \t\"Show Scoreboard\",\t\t\"+showscores\"\n\tControl\t\t\"Show medals\",\t\t\t\"+showmedals\" // [TP]\n\tStaticText \t\"\"\n\tStaticText \t\"Weapons\", 1\n\tControl \t\"Next weapon\",\t\t\t\"weapnext\"\n\tControl \t\"Previous weapon\",\t\t\"weapprev\"\n\tControl\t\t\"Weapon Slot 1\",\t\t\"slot 1\"\n\tControl\t\t\"Weapon Slot 2\",\t\t\"slot 2\"\n\tControl\t\t\"Weapon Slot 3\",\t\t\"slot 3\"\n\tControl\t\t\"Weapon Slot 4\",\t\t\"slot 4\"\n\tControl\t\t\"Weapon Slot 5\",\t\t\"slot 5\"\n\tControl\t\t\"Weapon Slot 6\",\t\t\"slot 6\"\n\tControl\t\t\"Weapon Slot 7\",\t\t\"slot 7\"\n\tControl\t\t\"Weapon Slot 8\",\t\t\"slot 8\"\n\tControl\t\t\"Weapon Slot 9\",\t\t\"slot 9\"\n\tControl\t\t\"Weapon Slot 0\",\t\t\"slot 0\"\n\tStaticText \t\"\"\n\tStaticText \t\"Inventory\", 1\n\tControl \t\"Use item\",\t\t\t\t\"invuse\"\n\tControl \t\"Use all items\",\t\t\"invuseall\"\n\tControl \t\"Next item\",\t\t\t\"invnext\"\n\tControl \t\"Previous item\",\t\t\"invprev\"\n\tControl \t\"Drop item\",\t\t\t\"invdrop\"\n\tControl\t\t\"Query item\",\t\t\t\"invquery\"\n\tControl \t\"Drop weapon\",\t\t\t\"weapdrop\"\n\t// [TP] Voting controls\n\tStaticText \t\"\"\n\tStaticText \t\"Multiplayer Interaction\", 1\n\tControl \t\"Chat\",\t\t\t\t\t\"messagemode\"\n\tControl \t\"Team Chat\",\t\t\t\"messagemode2\"\n\tControl\t\t\"Vote yes\",\t\t\t\t\"vote_yes\"\n\tControl\t\t\"Vote no\",\t\t\t\t\"vote_no\"\n\t// [TP] --\n\tStaticText \t\"\"\n\tStaticText \t\"Other\", 1\n\tControl \t\"Use / Open\",\t\t\t\"+use\"\n\tControl \t\"Toggle automap\",\t\t\"togglemap\"\n\tControl \t\"Chasecam\",\t\t\t\t\"chase\"\n\tControl \t\"Coop spy\",\t\t\t\t\"spynext\"\n\tControl \t\"Screenshot\",\t\t\t\"screenshot\"\n\tControl\t\t\"Spectate\",\t\t\t\t\"spectate\" // [TP]\n\tControl\t\t\"Taunt\",\t\t\t\t\"taunt\" // [TP]\n\tOption\t\t\"Join the game\",\t\t\"joinmenukey\", \"JoinMenuKeys\" // [TP]\n\tControl\t\t\"Join the game (custom)\", \"menu_join\" // [TP]\n\tControl\t\t\"Display Map Author Card\",\t\"mapcard\"\n\tControl  \t\"Open console\",\t\t\t\"toggleconsole\"\n\tStaticText \t\"\"\n\tStaticText \t\"Strife Popup Screens\", 1\n\tControl \t\"Mission objectives\",\t\"showpop 1\"\n\tControl \t\"Keys list\",\t\t\t\"showpop 2\"\n\tControl \t\"Weapons/ammo/stats\",\t\"showpop 3\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Mouse Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue \"Corners\"\n{\n\t-1, \"Off\"\n\t0, \"Upper left\"\n\t1, \"Upper right\"\n\t2, \"Lower left\"\n\t3, \"Lower right\"\n}\n\nOptionValue \"MenuMouse\"\n{\n\t0, \"No\"\n\t1, \"Yes\"\n\t2, \"Touchscreen-like\"\n}\n\nOptionString \"Cursors\"\n{\n\t\"None\", \"Default\"\n\t\"cursor\", \"Simple arrow\"\n\t\"doomcurs\", \"Doom\"\n\t\"herecurs\", \"Heretic\"\n\t\"hexncurs\", \"Hexen\"\n\t\"strfcurs\", \"Strife\"\n\t\"chexcurs\", \"Chex\"\n\t\"-\", \"System cursor\"\n}\n\nOptionMenu \"MouseOptions\"\n{\n\tTitle \"MOUSE OPTIONS\"\n\tOption \"Enable mouse\",\t\t\t\t\"use_mouse\", \"YesNo\"\n\tOption \"Enable mouse in menus\",\t\"m_use_mouse\", \"MenuMouse\", \"use_mouse\"\n\tOption \"Show back button\",\t\t\"m_show_backbutton\", \"Corners\", \"use_mouse\"\n\tOption \"Cursor\",\t\t\t\t\"vid_cursor\", \"Cursors\"\n\tStaticText \t\"\"\n\tSlider \"Overall sensitivity\",\t\t\"mouse_sensitivity\", 0.5, 2.5, 0.1\n\tOption \"Prescale mouse movement\",\t\"m_noprescale\", \"NoYes\"\n\tOption \"Smooth mouse movement\",\t\t\"smooth_mouse\", \"YesNo\"\n\tStaticText \t\"\"\n\tSlider \"Turning speed\",\t\t\t\t\"m_yaw\", 0, 2.5, 0.1\n\tSlider \"Mouselook speed\",\t\t\t\"m_pitch\", 0, 2.5, 0.1\n\tSlider \"Forward/Backward speed\",\t\"m_forward\", 0, 2.5, 0.1\n\tSlider \"Strafing speed\",\t\t\t\"m_side\", 0, 2.5, 0.1\n\tStaticText \t\"\"\n\tOption \"Always Mouselook\",\t\t\t\"freelook\", \"OnOff\"\n\tOption \"Invert Mouse\",\t\t\t\t\"invertmouse\", \"OnOff\"\n\tOption \"Lookspring\",\t\t\t\t\"lookspring\", \"OnOff\"\n\tOption \"Lookstrafe\",\t\t\t\t\"lookstrafe\", \"OnOff\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Joystick Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu \"JoystickOptions\"\n{\n\tTitle \"CONTROLLER OPTIONS\"\n\t// Will be filled in by joystick code.\n}\n\nOptionValue \"JoyAxisMapNames\"\n{\n\t-1, \"None\"\n\t0, \"Turning\"\n\t1, \"Looking Up/Down\"\n\t2, \"Moving Forward\"\n\t3, \"Strafing\"\n\t4, \"Moving Up/Down\"\n}\n\nOptionValue \"Inversion\"\n{\n\t0, \"Not Inverted\"\n\t1, \"Inverted\"\n}\n\nOptionMenu \"JoystickConfigMenu\"\n{\n\tTitle \"CONFIGURE CONTROLLER\"\n\tClass \"JoystickConfigMenu\"\n\t// Will be filled in by joystick code.\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Video Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue ColumnMethods\n{\n\t0.0, \"Original\"\n\t1.0, \"Optimized\"\n}\n\nOptionValue RocketTrailTypes\n{\n\t0.0, \"Off\"\n\t1.0, \"Particles\"\n\t2.0, \"Sprites\"\n\t3.0, \"Sprites & Particles\"\n}\n\nOptionValue BloodTypes\n{\n\t0.0, \"Sprites\"\n\t1.0, \"Sprites & Particles\"\n\t2.0, \"Particles\"\n}\n\nOptionValue PuffTypes\n{\n\t0.0, \"Sprites\"\n\t1.0, \"Particles\"\n}\n\nOptionValue Wipes\n{\n\t0.0, \"None\"\n\t1.0, \"Melt\"\n\t2.0, \"Burn\"\n\t3.0, \"Crossfade\"\n}\n\nOptionValue Endoom\n{\n\t0.0, \"Off\"\n\t1.0, \"On\"\n\t2.0, \"Only modified\"\n}\n\nOptionValue Contrast\n{\n\t0.0, \"Off\"\n\t1.0, \"On\"\n\t2.0, \"Smooth\"\n}\n\nOptionValue Fuzziness\n{\n\t0.0, \"Translucent\"\n\t1.0, \"Fuzz\"\n\t2.0, \"Shadow\"\n}\n\nOptionValue CapsuleType\n{\n\t0.0, \"Map Specific\"\n\t1.0, \"Mega Man 1\"\n\t2.0, \"Mega Man 2-6\"\n\t7.0, \"Mega Man 7\"\n\t11.0, \"Mega Man 8\"\n}\n\n// [TP]\nOptionValue ZA_RespawnInvulEffects\n{\n\t0.0, \"None\"\n\t1.0, \"Skulltag\"\n\t2.0, \"ZDoom\"\n}\n\nOptionMenu \"GLTextureGLOptions\"\n{\n\tTitle \"TEXTURE OPTIONS\"\n\tOption \"Textures enabled\",\t\t\tgl_texture,\t\t\t\t\t\t\"YesNo\"\n\tOption \"Texture Filter mode\",\t\tgl_texture_filter,\t\t\t\t\"FilterModes\"\n\tOption \"Anisotropic filter\",\t\tgl_texture_filter_anisotropic,\t\"Anisotropy\"\n\tOption \"Texture Format\",\t\t\tgl_texture_format,\t\t\t\t\"TextureFormats\"\n\tOption \"Enable hires textures\",\t\tgl_texture_usehires,\t\t\t\"YesNo\"\n\tOption \"High Quality Resize mode\",\tgl_texture_hqresize,\t\t\t\"HqResizeModes\"\n\tOption \"Resize textures\",\t\t\tgl_texture_hqresize_textures,\t\"OnOff\"\n\tOption \"Resize sprites\",\t\t\tgl_texture_hqresize_sprites,\t\"OnOff\"\n\tOption \"Resize fonts\",\t\t\t\tgl_texture_hqresize_fonts,\t\t\"OnOff\"\n\tOption \"Precache GL textures\",\t\tgl_precache,\t\t\t\t\t\"YesNo\"\n\tOption \"Camera textures offscreen\",\tgl_usefb,\t\t\t\t\t\t\"OnOff\"\n\tOption \"Trim sprite edges\",\t\t\tgl_trimsprites,\t\t\t\t\t\"OnOff\"\n}\n\nOptionMenu \"GLLightOptions\"\n{\n\tTitle \"DYNAMIC LIGHTS\"\n\tOption \"Dynamic Lights enabled\",\tgl_lights,\t\t\t\t\t\t\"YesNo\"\n\tOption \"Enable light definitions\",\tgl_attachedlights,\t\t\t\t\"YesNo\"\n\tOption \"Clip lights\",\t\t\t\tgl_lights_checkside,\t\t\t\"YesNo\"\n\tOption \"Lights affect sprites\",\t\tgl_light_sprites,\t\t\t\t\"YesNo\"\n\tOption \"Lights affect particles\",\tgl_light_particles,\t\t\t\t\"YesNo\"\n\tOption \"Force additive lighting\",\tgl_lights_additive,\t\t\t\t\"YesNo\"\n\tSlider \"Light intensity\",\t\t\tgl_lights_intensity, \t\t\t0.0, 1.0, 0.1\n\tSlider \"Light size\",\t\t\t\tgl_lights_size,\t\t\t\t\t0.0, 2.0, 0.1\n\tOption \"Use shaders for lights\",\tgl_dynlight_shader,\t\t\t\t\"YesNo\"\n}\n\nOptionMenu \"GLPrefOptions\"\n{\n\tTitle \"OPENGL PREFERENCES\"\n\tOption \"Sector light mode\",\t\t\tgl_lightmode,\t\t\t\t\t\"LightingModes\"\n\tOption \"Fog mode\",\t\t\t\t\tgl_fogmode,\t\t\t\t\t\t\"FogMode\"\n\tOption \"Fog forces fullbright\",\t\tgl_brightfog,\t\t\t\t\t\"YesNo\"\n\tSlider \"Weapon light strength\",\t\tgl_weaponlight,\t\t\t\t\t0,32, 2\n\tOption \"Environment map on mirrors\",gl_mirror_envmap,\t\t\t\t\"OnOff\"\n\tOption \"Enhanced night vision mode\",gl_enhanced_nightvision,\t\t\"OnOff\"\n\tOption \"ENV shows stealth monsters\",gl_enhanced_nv_stealth,\t\t\t\"EnhancedStealth\"\n\tOption \"Force brightness in fog\",\tgl_spritebrightfog,\t\t\t\t\"OnOff\"\n\tOption \"Adjust sprite clipping\",\tgl_spriteclip,\t\t\t\t\t\"SpriteclipModes\"\n\tOption \"Smooth sprite edges\",\t\tgl_sprite_blend,\t\t\t\t\"OnOff\"\n\tOption \"Fuzz Style\",\t\t\t\tgl_fuzztype,\t\t\t\t\t\"FuzzStyle\"\n\tOption \"Sprite billboard\",\t\t\tgl_billboard_mode,\t\t\t\t\"BillboardModes\"\n\tOption \"Particle style\",\t\t\tgl_particles_style,\t\t\t\t\"Particles\"\n\tSlider \"Ambient light level\",\t\tgl_light_ambient,\t\t\t\t1.0, 255.0, 5.0\n\tOption \"Rendering quality\",\t\t\tgl_render_precise,\t\t\t\t\"Precision\"\n\tOption \"Use vertex buffer\",\t\t\tgl_usevbo,\t\t\t\t\t\t\"VBOModes\"\n\t// [BB]\n\tOption \"Use models\",\t\t\t\tgl_use_models,\t\t\t\t\t\"OnOff\"\n}\n\nOptionMenu \"GLShaderOptions\"\n{\n\tTitle \"SHADER OPTIONS\"\n\tOption \"Enable brightness maps\",\tgl_brightmap_shader,\t\t\t\"OnOff\"\n\tOption \"Shaders for texture warp\",\tgl_warp_shader,\t\t\t\t\t\"OnOff\"\n\tOption \"Shaders for fog\",\t\t\tgl_fog_shader,\t\t\t\t\t\"OnOff\"\n\tOption \"Shaders for colormaps\",\t\tgl_colormap_shader,\t\t\t\t\"OnOff\"\n\tOption \"Shaders for glowing textures\",\tgl_glow_shader,\t\t\t\t\"OnOff\"\n}\nOptionMenu \"OpenGLOptions\"\n{\n\tTitle \"OPENGL OPTIONS\"\n\tSubmenu \"Dynamic Light Options\",\t\"GLLightOptions\"\n\tSubmenu \"Texture Options\", \t\t\t\"GLTextureGLOptions\"\n\tSubmenu \"Shader Options\", \t\t\t\"GLShaderOptions\"\n\tSubmenu \"Preferences\", \t\t\t\t\"GLPrefOptions\"\n}\n\nOptionMenu \"VideoOptions\"\n{\n\tTitle \"DISPLAY OPTIONS\"\n\n\tSubmenu \"OpenGL Options\", \t\t\t\"OpenGLOptions\"\n\tSubmenu \"Scoreboard Options\", \t\t\"ScoreboardOptions\"\n\tStaticText \" \"\n\tSlider \"Screen size\",\t\t\t\t\"screenblocks\", 3.0, 12.0, 1.0, 0\n\tSlider \"Brightness\",\t\t\t\t\"Gamma\", 0.75, 3.0, 0.05, 2\n\tOption \"Vertical Sync\",\t\t\t\t\"vid_vsync\", \"OnOff\"\n\tOption \"Column render mode\",\t\t\"r_columnmethod\", \"ColumnMethods\"\n\n\tIfOption(Windows)\n\t{\n\t\tOption\t\"Show ENDOOM screen\",\t\"showendoom\", \"Endoom\"\n\t\t//Option \"DirectDraw palette hack\", \"vid_palettehack\", \"OnOff\"\n\t\t//Option \"Use attached surfaces\", \"vid_attachedsurfaces\", \"OnOff\"\n\t}\n\n\tOption \"Stretch short skies\",\t\t\"r_stretchsky\", \"OnOff\"\n\tOption \"Use fuzz effect(Doom)\",\t\t\t\"r_drawfuzz\", \"Fuzziness\"\n\t//Slider \"Lost Soul translucency\",\t\"transsouls\", 0.25, 1.0, 0.05, 2\n\tOption \"Use fake contrast\",\t\t\t\"r_fakecontrast\", \"Contrast\"\n\t//Option \"Rocket Trails\",\t\t\t\t\"cl_rockettrails\", \"RocketTrailTypes\"\n\t//Option \"Blood Type\",\t\t\t\t\"cl_bloodtype\", \"BloodTypes\"\n\t//Option \"Bullet Puff Type\",\t\t\t\"cl_pufftype\", \"PuffTypes\"\n\tSlider \"Number of particles\",\t\t\"r_maxparticles\", 100, 10000, 100, 0\n\tOption \"Show player sprites\",\t\t\"r_drawplayersprites\", \"OnOff\"\n\tOption \"Death camera\",\t\t\t\t\"r_deathcamera\", \"OnOff\"\n\tOption \"Teleporter zoom\",\t\t\t\"telezoom\", \"OnOff\"\n\tSlider \"Earthquake shake intensity\",\t\"r_quakeintensity\", 0.0, 1.0, 0.05, 2\n\tOption \"Interpolate monster movement\",\t\"nomonsterinterpolation\", \"NoYes\"\n\tOption \"Screen Transition\",\t\t\t\t\"wipetype\", \"Wipes\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// HUD menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue DisplayTagsTypes\n{\n\t0.0, \"None\"\n\t1.0, \"Items\"\n\t2.0, \"Weapons\"\n\t3.0, \"Both\"\n}\n\nOptionValue TextColors\n{\n\t0.0, \"\\cabrick\"\n\t1.0, \"\\cbtan\"\n\t2.0, \"\\ccgray\"\n\t3.0, \"\\cdgreen\"\n\t4.0, \"\\cebrown\"\n\t5.0, \"\\cfgold\"\n\t6.0, \"\\cgred\"\n\t7.0, \"\\chblue\"\n\t8.0, \"\\ciorange\"\n\t9.0, \"\\cjwhite\"\n\t10.0, \"\\ckyellow\"\n\t11.0, \"\\cldefault\"\n\t12.0, \"\\cmblack\"\n\t13.0, \"\\cnlight blue\"\n\t14.0, \"\\cocream\"\n\t15.0, \"\\cpolive\"\n\t16.0, \"\\cqdark green\"\n\t17.0, \"\\crdark red\"\n\t18.0, \"\\csdark brown\"\n\t19.0, \"\\ctpurple\"\n\t20.0, \"\\cudark gray\"\n\t21.0, \"\\cvcyan\"\n}\n\nOptionValue Crosshairs\n{\n\t// will be filled in from the XHAIRS lump\n}\n\nOptionValue ZDoomHexen\n{\n\t0.0, \"ZDoom\"\n\t1.0, \"Hexen\"\n}\n\nOptionValue ZDoomStrife\n{\n\t0.0, \"ZDoom\"\n\t1.0, \"Strife\"\n}\n\n// [TP]\nOptionValue ZA_VotingDisplay\n{\n\t0, \"Minimal\"\n\t1, \"Fullscreen\"\n}\n\n// [TP]\nOptionValue ZA_FullscreenHUD\n{\n\t0, \"Classic style\"\n\t1, \"New style\"\n}\n\nOptionMenu \"HUDOptions\"\n{\n\tTitle \"HUD Options\"\n\tSubmenu \"Alternative HUD\",\t\t\t\"AltHudOptions\"\n\tStaticText \" \"\n\tOption \"Default Crosshair\",\t\t\t\"crosshair\", \"Crosshairs\"\n\tOption \"Force default crosshair\",\t\"crosshairforce\", \"OnOff\"\n\tOption \"Grow crosshair when picking up items\",\t\"crosshairgrow\", \"OnOff\"\n\tColorPicker \"Crosshair color\", \t\t\"crosshaircolor\"\n\tOption \"Crosshair shows health\",\t\"crosshairhealth\", \"OnOff\"\n\tOption \"Scale crosshair\",\t\t\t\"crosshairscale\", \"OnOff\"\n\tOption \"Voting display\",\t\t\t\"cl_showfullscreenvote\", \"ZA_VotingDisplay\"\n\tOption \"Fullscreen HUD\",\t\t\t\"cl_stfullscreenhud\", \"ZA_FullscreenHUD\"\n\tStaticText \" \"\n\tOption \"Large frag messages\",\t\t\"cl_showlargefragmessages\",\t\"YesNo\" // [TP]\n\tOption \"Draw coop info\",\t\t\t\"cl_drawcoopinfo\", \"YesNo\" // [TP]\n\tOption \"Display nametags\",\t\t\t\"displaynametags\", \"DisplayTagsTypes\"\n\tOption \"Nametag color\",\t\t\t\t\"nametagcolor\", \"TextColors\", \"displaynametags\"\n\tOption \"Stretch status bar\",\t\t\"st_scale\", \"OnOff\"\n\tOption \"Stretch Fullscreen HUD\",\t\"hud_scale\", \"OnOff\"\n\tOption \"Use old ouch mug shot formula\",\t\"st_oldouch\", \"OnOff\"\n\tStaticText \" \"\n\tOption \"Hexen weapon flashes\",\t\t\"pf_hexenweaps\",\t\"ZDoomHexen\"\n\tOption \"Poison damage flashes\",\t\t\"pf_poison\",\t\t\"ZDoomHexen\"\n\tOption \"Ice death flashes\",\t\t\t\"pf_ice\",\t\t\t\"ZDoomHexen\"\n\tOption \"Poison Buildup flashes\",\t\"pf_hazard\",\t\t\"ZDoomStrife\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Alternative HUD\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue \"AMCoordinates\"\n{\n\t0, \"Player\"\n\t1, \"Map\"\n}\n\nOptionValue \"AltHUDScale\"\n{\n\t0, \"Off\"\n\t1, \"Scale to 640x400\"\n\t2, \"Pixel double\"\n}\n\nOptionValue \"AltHUDTime\"\n{\n\t0, \"Off\"\n\t1, \"Level, milliseconds\"\n\t2, \"Level, seconds\"\n\t3, \"Level\"\n\t4, \"Hub, seconds\"\n\t5, \"Hub\"\n\t6, \"Total, seconds\"\n\t7, \"Total\"\n\t8, \"System, seconds\"\n\t9, \"System\"\n}\n\nOptionMenu \"AltHUDOptions\"\n{\n\tTitle \"Alternative HUD\"\n\t//Indent 220\n\tOption \"Enable alternative HUD\",\t\t\t\t\"hud_althud\", \"OnOff\"\n\tOption \"Stretch alternative HUD\",\t\t\t\t\"hud_althudscale\", \"AltHUDScale\"\n\tOption \"Show secret count\",\t\t\t\t\t\t\"hud_showsecrets\", \"OnOff\"\n\tOption \"Show monster count\",\t\t\t\t\t\"hud_showmonsters\", \"OnOff\"\n\tOption \"Show item count\",\t\t\t\t\t\t\"hud_showitems\", \"OnOff\"\n\tOption \"Show stamina and accuracy\",\t\t\t\t\"hud_showstats\", \"OnOff\"\n\tOption \"Show berserk\",\t\t\t\t\t\t\t\"hud_berserk_health\", \"OnOff\"\n\tOption \"Show time\",\t\t\t\t\t\t\t\t\"hud_showtime\", \"AltHUDTime\"\n\tOption \"Time color\",\t\t\t\t\t\t\t\"hud_timecolor\", \"TextColors\"\n\tSlider \"Red ammo display below %\",\t\t\t\t\"hud_ammo_red\", 0, 100, 1, 0\n\tSlider \"Yellow ammo display below %\",\t\t\t\"hud_ammo_yellow\", 0, 100, 1, 0\n\tSlider \"Red health display below\",\t\t\t\t\"hud_health_red\", 0, 100, 1, 0\n\tSlider \"Yellow health display below\",\t\t\t\"hud_health_yellow\", 0, 100, 1, 0\n\tSlider \"Green health display below\",\t\t\t\"hud_health_green\", 0, 100, 1, 0\n\tSlider \"Red armor display below\",\t\t\t\t\"hud_armor_red\", 0, 100, 1, 0\n\tSlider \"Yellow armor display below\",\t\t\t\"hud_armor_yellow\", 0, 100, 1, 0\n\tSlider \"Green armor display below\",\t\t\t\t\"hud_armor_green\", 0, 100, 1, 0\n\tStaticText \" \"\n\tStaticText \"Alternative Automap HUD\", 1\n\toption \"Map title color\",\t\t\t\t\t\t\"hudcolor_titl\", \"TextColors\"\n\toption \"Map time color\",\t\t\t\t\t\t\"hudcolor_ltim\", \"TextColors\"\n\toption \"Hub time color\",\t\t\t\t\t\t\"hudcolor_time\", \"TextColors\"\n\toption \"Total time color\",\t\t\t\t\t\t\"hudcolor_ttim\", \"TextColors\"\n\toption \"Coordinate color\",\t\t\t\t\t\t\"hudcolor_xyco\", \"TextColors\"\n\toption \"Coordinate mode\",\t\t\t\t\t\t\"map_point_coordinates\", \"AMCoordinates\"\n\toption \"Statistics name color\",\t\t\t\t\t\"hudcolor_statnames\", \"TextColors\"\n\toption \"Statistics color\",\t\t\t\t\t\t\"hudcolor_stats\", \"TextColors\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Misc menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue Autosave\n{\n\t0,\t\"Always\"\n\t1,\t\"Scripts Only\"\n\t2,\t\"Never\"\n}\n\nOptionValue dehopt\n{\n\t0,\t\"Never\"\n\t1,\t\"All\"\n\t2,\t\"Only last one\"\n}\n\nOptionMenu \"MiscOptions\"\n{\n\tTitle \"Miscellaneous Options\"\n\t//Indent 220\n\tIfOption(Windows)\n\t{\n\t\tOption \"Merge left+right Alt/Ctrl/Shift\", \t\t\"k_mergekeys\", \"OnOff\"\n\t\tOption \"Alt-Enter toggles fullscreen\",\t\t\t\"k_allowfullscreentoggle\", \"OnOff\"\n\t}\n\tOption \"Show IWAD selection dialog\",\t\t\t\"queryiwad\", \"OnOff\"\n\tStaticText \" \"\n\tOption \"Enable cheats from all games\",\t\t\t\"allcheats\", \"OnOff\"\n\tOption \"Enable autosaves\",\t\t\t\t\t\t\"disableautosave\", \"Autosave\"\n\tSlider \"Number of autosaves\",\t\t\t\t\t\"autosavecount\", 1, 20, 1, 0\n\tOption \"Load *.deh/*.bex lumps\",\t\t\t\t\"dehload\", \"dehopt\"\n\tStaticText \" \"\n\tOption \"Cache nodes\",\t\t\t\t\t\t\t\"gl_cachenodes\", \"OnOff\"\n\tSlider \"Time threshold for node caching\",\t\t\"gl_cachetime\", 0.0, 2.0, 0.1\n\tSafeCommand \"Clear node cache\",\t\t\t\t\t\"clearnodecache\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Automap Menu\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue MapColorTypes\n{\n\t0, \"Custom\"\n\t1, \"Traditional Doom\"\n\t2, \"Traditional Strife\"\n\t3, \"Traditional Raven\"\n}\n\nOptionValue SecretTypes\n{\n\t0, \"Never\"\n\t1, \"Only when found\"\n\t2, \"Always\"\n}\n\nOptionValue RotateTypes\n{\n\t0, \"Off\"\n\t1, \"On\"\n\t2, \"On for overlay only\"\n}\n\nOptionValue OverlayTypes\n{\n\t0, \"Off\"\n\t1, \"Overlay+Normal\"\n\t2, \"Overlay Only\"\n}\n\nOptionValue MaplabelTypes\n{\n\t0, \"Never\"\n\t1, \"Always\"\n\t2, \"Not for hubs\"\n}\n\nOptionValue STSTypes\n{\n\t0, \"Off\"\n\t1, \"Front\"\n\t2, \"Animated\"\n\t3, \"Rotated\"\n}\n\nOptionValue MapBackTypes\n{\n\t0, \"Off\"\n\t1, \"On\"\n\t2, \"Map defined colors only\"\n}\n\nOptionMenu AutomapOptions\n{\n\tTitle \"AUTOMAP OPTIONS\"\n\tOption \"Map color set\",\t\t\t\t\"am_colorset\", \"MapColorTypes\"\n\tOption \"Allow map defined colors\",\t\"am_customcolors\", \"YesNo\"\n\tSubmenu \"Set custom colors\",\t\t\"MapColorMenu\"\n\tSubmenu \"Customize map controls\",\t\"MapControlsMenu\"\n\tStaticText \" \"\n\tOption \"Rotate automap\",\t\t\t\"am_rotate\", \"RotateTypes\"\n\tOption \"Overlay automap\",\t\t\t\"am_overlay\", \"OverlayTypes\"\n\tOption \"Enable textured display\",\t\"am_textured\", \"OnOff\"\n\tOption \"Follow player\",\t\t\t\t\"am_followplayer\", \"OnOff\"\n\tStaticText \" \"\n\tOption \"Show item counts\",\t\t\t\"am_showitems\", \"OnOff\"\n\tOption \"Show monster counts\",\t\t\"am_showmonsters\", \"OnOff\"\n\tOption \"Show secret counts\",\t\t\"am_showsecrets\", \"OnOff\"\n\tOption \"Show time elapsed\",\t\t\t\"am_showtime\", \"OnOff\"\n\tOption \"Show total time elapsed\",\t\"am_showtotaltime\", \"OnOff\"\n\tOption \"Show secrets on map\",\t\t\"am_map_secrets\", \"SecretTypes\"\n\tOption \"Show map label\",\t\t\t\"am_showmaplabel\", \"MaplabelTypes\"\n\tOption \"Draw map background\",\t\t\"am_drawmapback\", \"MapBackTypes\"\n\tOption \"Show keys (cheat)\",\t\t\t\"am_showkeys\", \"OnOff\"\n\tOption \"Show trigger lines\",\t\t\"am_showtriggerlines\", \"OnOff\"\n\tOption \"Show things as sprites\",\t\"am_showthingsprites\", \"STSTypes\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Automap Controls\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu MapControlsMenu\n{\n\tTitle \"CUSTOMIZE MAP CONTROLS\"\n\tScrollTop 2\n\tStaticTextSwitchable \t\"ENTER to change, BACKSPACE to clear\", \"Press new key for control, ESC to cancel\", \"ControlMessage\"\n\tStaticText \t\"\"\n\tStaticText \"Map Controls\", 1\n\tMapControl \"Pan left\",\t\t\"+am_panleft\"\n\tMapControl \"Pan right\",\t\t\"+am_panright\"\n\tMapControl \"Pan up\",\t\t\"+am_panup\"\n\tMapControl \"Pan down\",\t\t\"+am_pandown\"\n\tMapControl \"Zoom in\",\t\t\"+am_zoomin\"\n\tMapControl \"Zoom out\",\t\t\"+am_zoomout\"\n\tMapControl \"Toggle zoom\",\t\"am_gobig\"\n\tMapControl \"Toggle follow\",\t\"am_togglefollow\"\n\tMapControl \"Toggle grid\",\t\"am_togglegrid\"\n\tMapControl \"Toggle texture\",\"am_toggletexture\"\n\tMapControl \"Set mark\",\t\t\"am_setmark\"\n\tMapControl \"Clear mark\",\t\"am_clearmarks\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Automap Colors\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu MapColorMenu\n{\n\tTitle \"CUSTOMIZE MAP COLORS\"\n\tSafeCommand \"Restore default custom colors\", \"am_restorecolors\"\n\tStaticText \" \"\n\tColorPicker \"Background\",\t\t\t\t\t\t\t\t\"am_backcolor\"\n\tColorPicker \"You\",\t\t\t\t\t\t\t\t\t\t\"am_yourcolor\"\n\tColorPicker \"1-sided walls\",\t\t\t\t\t\t\t\"am_wallcolor\"\n\tColorPicker \"2-sided walls with different floors\",\t\t\"am_fdwallcolor\"\n\tColorPicker \"2-sided walls with different ceilings\",\t\"am_cdwallcolor\"\n\tColorPicker \"2-sided walls with 3D floors\",\t\t\t\t\"am_efwallcolor\"\n\tColorPicker \"Map grid\",\t\t\t\t\t\t\t\t\t\"am_gridcolor\"\n\tColorPicker \"Center point\",\t\t\t\t\t\t\t\t\"am_xhaircolor\"\n\tColorPicker \"Not-yet-seen walls\",\t\t\t\t\t\t\"am_notseencolor\"\n\tColorPicker \"Locked doors\",\t\t\t\t\t\t\t\t\"am_lockedcolor\"\n\tColorPicker \"Teleporter to the same map\",\t\t\t\t\"am_intralevelcolor\"\n\tColorPicker \"Teleporter to a different map\",\t\t\t\"am_interlevelcolor\"\n\tColorPicker \"Secret sector\",\t\t\t\t\t\t\t\"am_secretsectorcolor\"\n\tColorPicker \"Special trigger lines\",\t\t\t\t\t\"am_specialwallcolor\"\n\tStaticText \" \"\n\tStaticText \"Cheat Mode\", 1\n\tColorPicker \"Invisible 2-sided walls\",\t\t\"am_tswallcolor\"\n\tColorPicker \"Secret walls\",\t\t\t\t\t\"am_secretwallcolor\"\n\tColorPicker \"Actors\",\t\t\t\t\t\t\"am_thingcolor\"\n\tColorPicker \"Monsters\",\t\t\t\t\t\t\"am_thingcolor_monster\"\n\tColorPicker \"non-counting Monsters\",\t\t\"am_thingcolor_ncmonster\"\n\tColorPicker \"Friends\",\t\t\t\t\t\t\"am_thingcolor_friend\"\n\tColorPicker \"Items\",\t\t\t\t\t\t\"am_thingcolor_item\"\n\tColorPicker \"Count Items\",\t\t\t\t\t\"am_thingcolor_citem\"\n\tStaticText \" \"\n\tStaticText \"Overlay Mode\", 1\n\tColorPicker \"You\",\t\t\t\t\t\t\t\"am_ovyourcolor\"\n\tColorPicker \"1-sided walls\",\t\t\t\t\"am_ovwallcolor\"\n\tColorPicker \"2-sided walls with different floors\",\t\t\"am_ovfdwallcolor\"\n\tColorPicker \"2-sided walls with different ceilings\",\t\"am_ovcdwallcolor\"\n\tColorPicker \"2-sided walls with 3D floors\",\t\t\t\t\"am_ovefwallcolor\"\n\tColorPicker \"Not-yet-seen walls\",\t\t\t\"am_ovunseencolor\"\n\tColorPicker \"Locked doors\",\t\t\t\t\"am_ovlockedcolor\"\n\tColorPicker \"Teleporter to the same map\",\t\t\t\t\t\"am_ovtelecolor\"\n\tColorPicker \"Teleporter to a different map\",\t\t\t\"am_ovinterlevelcolor\"\n\tColorPicker \"Secret sector\",\t\t\t\t\"am_ovsecretsectorcolor\"\n\tColorPicker \"Special trigger lines\",\t\t\"am_ovspecialwallcolor\"\n\tStaticText \" \"\n\tStaticText \"Overlay Cheat Mode\", 1\n\tColorPicker \"Invisible 2-sided walls\",\t\t\"am_ovotherwallscolor\"\n\tColorPicker \"Secret walls\",\t\t\t\t\t\"am_ovsecretwallcolor\"\n\tColorPicker \"Actors\",\t\t\t\t\t\t\"am_ovthingcolor\"\n\tColorPicker \"Monsters\",\t\t\t\t\t\t\"am_ovthingcolor_monster\"\n\tColorPicker \"non-counting Monsters\",\t\t\"am_ovthingcolor_ncmonster\"\n\tColorPicker \"Friends\",\t\t\t\t\t\t\"am_ovthingcolor_friend\"\n\tColorPicker \"Items\",\t\t\t\t\t\t\"am_ovthingcolor_item\"\n\tColorPicker \"Count Items\",\t\t\t\t\t\"am_ovthingcolor_citem\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Color Picker\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu ColorPickerMenu\n{\n\tTitle \"SELECT COLOR\"\n\t// This menu will be created by the calling code\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Messages\n//\n//-------------------------------------------------------------------------------------------\n\nOptionValue ScaleValues\n{\n\t0, \"Off\"\n\t1, \"On\"\n\t2, \"Double\"\n}\n\nOptionValue MessageLevels\n{\n\t0.0, \"Item Pickup\"\n\t1.0, \"Obituaries\"\n\t2.0, \"Critical Messages\"\n}\n\n// [TP]\nOptionValue ZA_ChatSound\n{\n\t0, \"Off\"\n\t1, \"Default\"\n\t2, \"Doom 1\"\n\t3, \"Doom 2\"\n}\n\n// [TP]\nOptionValue ZA_ColorInMessages\n{\n\t0, \"Off\"\n\t1, \"On\"\n\t2, \"Not in chat\"\n}\n\nOptionMenu MessageOptions\n{\n\tTitle \t\"MESSAGES\"\n\tSubMenu \"Text scaling\",\t\t\t\t\"ZA_TextScaling\" // [TP]\n\tOption \"Show messages\",\t\t\t\t\"show_messages\", \"OnOff\"\n\tOption \"Show obituaries\",\t\t\t\"show_obituaries\", \"OnOff\"\n\tOption \"Chat sound\",\t\t\t\t\"chat_sound\", \"ZA_ChatSound\" // [TP]\n\tOption \"Scale text in high res\", \t\"con_scaletext\", \"ScaleValues\"\n\tOption \"Minimum message level\", \t\"msg\", \"MessageLevels\"\n\tOption \"Center messages\",\t\t\t\"con_centernotify\", \"OnOff\"\n\tOption \"Color in messages\",\t\t\t\"con_colorinmessages\", \"ZA_ColorInMessages\" // [TP]\n\tSlider \"Message Duration\",\t\t\t\"con_notifytime\", 1, 10, .5\n\tSlider \"Maximum Message Amount\",\t\"con_notifylines\", 1, 10, 1\n\tStaticText \" \"\n\tStaticText \"Message Colors\", 1\n\tStaticText \" \"\n\tOption \"Item Pickup\",\t\t\t\t\"msg0color\", \"TextColors\"\n\tOption \"Obituaries\",\t\t\t\t\"msg1color\", \"TextColors\"\n\tOption \"Critical Messages\",\t\t\t\"msg2color\", \"TextColors\"\n\tOption \"Chat Messages\",\t\t\t\t\"msg3color\", \"TextColors\"\n\tOption \"Team Messages\",\t\t\t\t\"msg4color\", \"TextColors\"\n\tOption \"Centered Messages\",\t\t\t\"msgmidcolor\", \"TextColors\"\n\tStaticText \" \"\n\tOption \"Screenshot messages\",\t\t\"screenshot_quiet\",\t\"OffOn\"\n\tOption \"Detailed save messages\",\t\"longsavemessages\",\t\"OnOff\"\n}\n\n//-------------------------------------------------------------------------------------------\n//\n// Scoreboard\n//\n//-------------------------------------------------------------------------------------------\n\nOptionMenu ScoreboardOptions\n{\n\tTitle \"SCOREBOARD OPTIONS\"\n\tStaticText \"Cooperative Options\", 1\n\tStaticText \" \"\n\tOption \"Enable Scoreboard\",\t\t\"sb_cooperative_enable\", \"YesNo\"\n\tOption \"Header Color\",\t\t\t\"sb_cooperative_headingcolor\", \"TextColors\"\n\tOption \"Your Player Color\",\t\t\"sb_cooperative_yourplayercolor\", \"TextColors\"\n\tOption \"Other Players' Color\",\t\"sb_cooperative_otherplayercolor\", \"TextColors\"\n\tStaticText \" \"\n\tStaticText \" \"\n\tStaticText \"Deathmatch Options\", 1\n\tStaticText \" \"\n\tOption \"Enable Scoreboard\",\t\t\"sb_deathmatch_enable\",\t\"YesNo\"\n\tOption \"Header Color\",\t\t\t\"sb_deathmatch_headingcolor\", \"TextColors\"\n\tOption \"Your Player Color\",\t\t\"sb_deathmatch_yourplayercolor\", \"TextColors\"\n\tOption \"Other Players' Color\",\t\"sb_deathmatch_otherplayercolor\", \"TextColors\"\n\tStaticText \" \"\n\tStaticText \" \"\n\tStaticText \"Team Deathmatch Options\", 1\n\tStaticText \" \"\n\tOption \"Enable Scoreboard\",\t\t\"sb_teamdeathmatch_enable\", \"YesNo\"\n\tOption \"Header Color\",\t\t\t\"sb_teamdeathmatch_headingcolor\", \"TextColors\"\n}\n\n/*=======================================\n *\n * Gameplay Options (dmflags) Menu\n *\n *=======================================*/\n\nOptionValue  SmartAim\n{\n\t0.0, \"Off\"\n\t1.0, \"On\"\n\t2.0, \"Never friends\"\n\t3.0, \"Only monsters\"\n}\n\nOptionValue  FallingDM\n{\n\t0, \"Off\"\n\t1, \"Old\"\n\t2, \"Hexen\"\n\t3, \"Strife\"\n}\n\nOptionValue  JumpCrouch\n{\n\t0, \"Default\"\n\t1, \"Off\"\n\t2, \"On\"\n}\n\nOptionMenu GameplayOptions\n{\n\tTitle \t\"GAMEPLAY OPTIONS\"\n\t//Indent 222\n\tOption \"Teamplay\",\t\t\t\t\"teamplay\",\t\"OnOff\"\n\tSlider\t\"Team damage scalar\",\t\"teamdamage\", 0, 1, 0.05\n\tStaticText \" \"\n\tOption \"Smart Autoaim\",\t\t\t\"sv_smartaim\", \"SmartAim\"\n\tStaticText \" \"\n\tOption \"Falling damage\",\t\t\"sv_fallingdamage\", \"FallingDM\"\n\tOption \"Drop weapon\",\t\t\t\"sv_weapondrop\", \"YesNo\"\n\tOption \"Double ammo\",\t\t\t\"sv_doubleammo\", \"YesNo\"\n\tOption \"Infinite ammo\",\t\t\t\"sv_infiniteammo\", \"YesNo\"\n\tOption \"Infinite inventory\",\t\"sv_infiniteinventory\", \"YesNo\"\n\tOption \"No monsters\",\t\t\t\"sv_nomonsters\", \"YesNo\"\n\tOption \"No monsters to exit\",\t\"sv_killallmonsters\", \"YesNo\"\n\tOption \"Monsters respawn\",\t\t\"sv_monsterrespawn\", \"YesNo\"\n\tOption \"No respawn\",\t\t\t\"sv_norespawn\", \"YesNo\"\n\tOption \"Items respawn\",\t\t\t\"sv_itemrespawn\", \"YesNo\"\n\tOption \"Big powerups respawn\",\t\"sv_respawnsuper\", \"YesNo\"\n\tOption \"Fast monsters\",\t\t\t\"sv_fastmonsters\", \"YesNo\"\n\tOption \"Degeneration\",\t\t\t\"sv_degeneration\", \"YesNo\"\n\tOption \"Allow Autoaim\",\t\t\t\"sv_noautoaim\", \"NoYes\"\n\tOption \"Allow Suicide\",\t\t\t\"sv_disallowsuicide\", \"NoYes\"\n\tOption \"Allow jump\",\t\t\t\"sv_jump\", \"JumpCrouch\"\n\tOption \"Allow crouch\",\t\t\t\"sv_crouch\", \"JumpCrouch\"\n\tOption \"Allow freelook\",\t\t\"sv_nofreelook\", \"NoYes\"\n\tOption \"Allow FOV\",\t\t\t\t\"sv_nofov\", \"NoYes\"\n\t// [TP] Zandronum has this CVar under a different name\n\t// Option \"Allow BFG aiming\",\t\t\"sv_nobfgaim\", \"NoYes\"\n\tOption \"Allow BFG aiming\",\t\t\"sv_bfgfreeaim\", \"YesNo\"\n\tOption \"Allow automap\",\t\t\t\"sv_noautomap\", \"NoYes\"\n\tOption \"Automap allies\",\t\t\"sv_noautomapallies\", \"NoYes\"\n\tOption \"Allow spying\",\t\t\t\"sv_disallowspying\", \"NoYes\"\n\tOption \"Chasecam cheat\",\t\t\"sv_chasecam\", \"YesNo\"\n\tOption \"Check ammo for weapon switch\",\t\"sv_dontcheckammo\", \"NoYes\"\n\tOption \"Icon's death kills its spawns\",\t\"sv_killbossmonst\", \"YesNo\"\n\tOption \"End sector counts for kill %\",\t\"sv_nocountendmonst\", \"NoYes\"\n\t// [TP] Zandronum dmflags\n\tOption \"Allow player identification\",\t\"sv_noidentifytarget\", \"NoYes\"\n\tOption \"Unblock players\",\t\t\"sv_unblockplayers\", \"YesNo\"\n\tOption \"Unblock allies\",\t\t\"sv_unblockallies\", \"YesNo\"\n\tOption \"Allow rocket jumping\",\t\"sv_norocketjumping\", \"NoYes\"\n\tOption \"Allow item dropping\",\t\"sv_nodrop\", \"NoYes\"\n\tOption \"Award damage dealt\",\t\"sv_awarddamageinsteadkills\", \"YesNo\"\n\tOption \"Force OpenGL defaults\",\t\"sv_forcegldefaults\", \"YesNo\"\n\tOption \"Force translucency\",\t\"sv_forcealpha\", \"YesNo\"\n\tOption \"Full blood brightness\",\t\"sv_maxbloodscalar\", \"YesNo\"\n\t// [TP] --\n\n\tStaticText \" \"\n\tStaticText \"Deathmatch Settings\",1\n\tOption \"Weapons stay\",\t\t\t\"sv_weaponstay\", \"YesNo\"\n\tOption \"Allow powerups\",\t\t\"sv_noitems\", \"NoYes\"\n\tOption \"Allow health\",\t\t\t\"sv_nohealth\", \"NoYes\"\n\tOption \"Allow armor\",\t\t\t\"sv_noarmor\", \"NoYes\"\n\tOption \"Spawn farthest\",\t\t\"sv_spawnfarthest\", \"YesNo\"\n\tOption \"Same map\",\t\t\t\t\"sv_samelevel\", \"YesNo\"\n\tOption \"Force respawn\",\t\t\t\"sv_forcerespawn\", \"YesNo\"\n\tOption \"Allow exit\",\t\t\t\"sv_noexit\", \"NoYes\"\n\tOption \"Barrels respawn\",\t\t\"sv_barrelrespawn\", \"YesNo\"\n\t// [TP] Zandronum has this CVar under a different name\n\t// Option \"Respawn protection\",\t\"sv_respawnprotect\", \"YesNo\"\n\tOption \"Respawn protection\",\t\"sv_norespawninvul\", \"NoYes\"\n\tOption \"Lose frag if fragged\",\t\"sv_losefrag\", \"YesNo\"\n\tOption \"Keep frags gained\",\t\t\"sv_keepfrags\", \"YesNo\"\n\tOption \"No team switching\",\t\t\"sv_noteamswitch\", \"YesNo\"\n\t// [TP] Zandronum deathmatch settings\n\tOption \"Keep teams across levels\", \"sv_keepteams\", \"YesNo\"\n\tOption \"Apply LMS spectator settings\",\t\"sv_applylmsspectatorsettings\", \"YesNo\"\n\tOption \"Medals\",\t\t\t\t\"sv_nomedals\", \"NoYes\"\n\t// [TP] --\n\n\tStaticText \" \"\n\tStaticText \"Cooperative Settings\",1\n\tOption \"Spawn multi. weapons\", \t\"sv_noweaponspawn\", \"NoYes\"\n\t// [TP] Zandronum uses different names for these CVars\n\t/*\n\tOption \"Lose entire inventory\",\t\"sv_cooploseinventory\", \"YesNo\"\n\tOption \"Keep keys\",\t\t\t\t\"sv_cooplosekeys\", \"NoYes\"\n\tOption \"Keep weapons\",\t\t\t\"sv_cooploseweapons\", \"NoYes\"\n\tOption \"Keep armor\",\t\t\t\"sv_cooplosearmor\", \"NoYes\"\n\tOption \"Keep powerups\",\t\t\t\"sv_cooplosepowerups\", \"NoYes\"\n\tOption \"Keep ammo\",\t\t\t\t\"sv_cooploseammo\", \"NoYes\"\n\tOption \"Lose half ammo\",\t\t\"sv_coophalveammo\", \"YesNo\"\n\t*/\n\tOption \"Lose entire inventory\",\t\"sv_coop_loseinventory\", \"YesNo\"\n\tOption \"Keep keys\",\t\t\t\t\"sv_coop_losekeys\", \"NoYes\"\n\tOption \"Keep weapons\",\t\t\t\"sv_coop_loseweapons\", \"NoYes\"\n\tOption \"Keep armor\",\t\t\t\"sv_coop_losearmor\", \"NoYes\"\n\tOption \"Keep powerups\",\t\t\t\"sv_coop_losepowerups\", \"NoYes\"\n\tOption \"Keep ammo\",\t\t\t\t\"sv_coop_loseammo\", \"NoYes\"\n\tOption \"Lose half ammo\",\t\t\"sv_coop_halveammo\", \"YesNo\"\n\tOption \"Spawn where died\",\t\t\"sv_samespawnspot\", \"YesNo\"\n\t// [TP] Zandronum co-operative settings\n\tOption \"Spawn singleplayer actors\", \"sv_coop_spactorspawn\", \"YesNo\"\n\tOption \"Share keys\",\t\t\t\"sv_sharekeys\", \"YesNo\"\n\tOption \"Allow coop info\",\t\t\"sv_nocoopinfo\", \"NoYes\"\n\t// [TP] --\n\tClass \"GameplayMenu\"\n}\n\n/*=======================================\n *\n * Compatibility Options Menu\n *\n *=======================================*/\n\nOptionValue CompatModes\n{\n\t0, \"Default\"\n\t1, \"Doom\"\n\t2, \"Doom (strict)\"\n\t3, \"Boom\"\n\t6, \"Boom (strict)\"\n\t5, \"MBF\"\n\t4, \"ZDoom 2.0.63\"\n}\n\nOptionMenu \"CompatibilityOptions\"\n{\n\tTitle \"COMPATIBILITY OPTIONS\"\n\tOption \"Compatibility mode\",\t\t\t\t\t\t\"compatmode\", \"CompatModes\", \"\", 1\n\n\t// [JDM] Separated ZDoom and Zandronum compatibility options\n\tStaticText \" \"\n\tStaticText \"Vanilla/Boom Compatibility\",1\n\tOption \"Find shortest textures like Doom\",\t\t\t\"compat_SHORTTEX\", \"YesNo\"\n\tOption \"Use buggier stair building\",\t\t\t\t\"compat_stairs\", \"YesNo\"\n\tOption \"Find neighboring light like Doom\",\t\t\t\"compat_LIGHT\", \"YesNo\"\n\tOption \"Limit Pain Elementals' Lost Souls\",\t\t\t\"compat_LIMITPAIN\", \"YesNo\"\n\tOption \"Don't let others hear your pickups\",\t\t\"compat_SILENTPICKUP\", \"YesNo\"\n\tOption \"Actors are infinitely tall\",\t\t\t\t\"compat_nopassover\", \"YesNo\"\n\tOption \"Enable wall running\",\t\t\t\t\t\t\"compat_WALLRUN\", \"YesNo\"\n\tOption \"Spawn item drops on the floor\",\t\t\t\t\"compat_NOTOSSDROPS\", \"YesNo\"\n\tOption \"All special lines can block <use>\",\t\t\t\"compat_USEBLOCKING\", \"YesNo\"\n\tOption \"Disable BOOM door light effect\",\t\t\t\"compat_NODOORLIGHT\", \"YesNo\"\n\tOption \"Raven scrollers use original speed\",\t\t\"compat_RAVENSCROLL\", \"YesNo\"\n\tOption \"Use original sound target handling\",\t\t\"compat_SOUNDTARGET\", \"YesNo\"\n\tOption \"DEH health settings like Doom2.exe\",\t\t\"compat_DEHHEALTH\", \"YesNo\"\n\tOption \"Self ref. sectors don't block shots\",\t\t\"compat_TRACE\", \"YesNo\"\n\tOption \"Monsters get stuck over dropoffs\",\t\t\t\"compat_DROPOFF\", \"YesNo\"\n\tOption \"Monsters cannot cross dropoffs\",\t\t\t\"compat_CROSSDROPOFF\", \"YesNo\"\n\tOption \"Monsters see invisible players\",\t\t\t\"compat_INVISIBILITY\", \"YesNo\"\n\tOption \"Boom scrollers are additive\",\t\t\t\t\"compat_BOOMSCROLL\", \"YesNo\"\n\tOption \"Inst. moving floors are not silent\",\t\t\"compat_silentinstantfloors\", \"YesNo\"\n\tOption \"Sector sounds use center as source\",\t\t\"compat_SECTORSOUNDS\", \"YesNo\"\n\tOption \"Use Doom heights for missile clipping\",\t\t\"compat_MISSILECLIP\", \"YesNo\"\n\tOption \"Allow any bossdeath for level special\",\t\t\"compat_ANYBOSSDEATH\", \"YesNo\"\n\tOption \"No Minotaur floor flames in water\",\t\t\t\"compat_MINOTAUR\", \"YesNo\"\n\tOption \"Original A_Mushroom speed in DEH mods\",\t\t\"compat_MUSHROOM\", \"YesNo\"\n\tOption \"Monster movement is affected by effects\",\t\"compat_MBFMONSTERMOVE\", \"YesNo\"\n\tOption \"Crushed monsters can be resurrected\",\t\t\"compat_CORPSEGIBS\", \"YesNo\"\n\tOption \"Friendly monsters aren't blocked\",\t\t\t\"compat_NOBLOCKFRIENDS\", \"YesNo\"\n\tOption \"Invert sprite sorting\",\t\t\t\t\t\t\"compat_SPRITESORT\", \"YesNo\"\n\tOption \"Use Doom code for hitscan checks\",\t\t\t\"compat_HITSCAN\", \"YesNo\"\n\tOption \"Cripple sound for silent BFG trick\",\t\t\"compat_soundslots\", \"YesNo\"\n\tOption \"Draw polyobjects like Hexen\",\t\t\t\t\"compat_POLYOBJ\", \"YesNo\"\n\tOption \"Ignore Y offsets on masked midtextures\",\t\"compat_MASKEDMIDTEX\", \"YesNo\"\n\tOption \"Cannot travel straight NSEW\",\t\t\t\t\"compat_badangles\", \"YesNo\"\n\tOption \"Use Doom's floor motion behavior\",\t\t\t\"compat_floormove\", \"YesNo\"\n\n\t// [TP] Zandronum compatibility settings\n\tStaticText \" \"\n\tStaticText \"Old Zan/ST/ZDoom Compatibility\",1\n\tOption \"Limit air movement\",\t\t\t\t\t\t\"compat_limited_airmovement\", \"YesNo\"\n\tOption \"Item grab like vanilla\",\t\t\t\t\t\"compat_plasmabump\", \"YesNo\"\n\tOption \"Respawn instantly\",\t\t\t\t\t\t\t\"compat_instantrespawn\", \"YesNo\"\n\tOption \"No taunts\",\t\t\t\t\t\t\t\t\t\"compat_disabletaunts\", \"YesNo\"\n\tOption \"Use old intermission screens/music\",\t\t\"compat_oldintermission\", \"YesNo\"\n\tOption \"No stealth monsters\",\t\t\t\t\t\t\"compat_disablestealthmonsters\", \"YesNo\"\n\tOption \"Splash damage is infinitely tall\",\t\t\t\"compat_oldradiusdmg\", \"YesNo\"\n\tOption \"No crosshairs\",\t\t\t\t\t\t\t\t\"compat_nocrosshair\", \"YesNo\"\n\tOption \"Always switch weapons on pickup\",\t\t\t\"compat_oldweaponswitch\", \"YesNo\"\n\tOption \"NET scripts are client-side\",\t\t\t\t\"compat_netscriptsareclientside\", \"YesNo\"\n\tOption \"Clients send full button info\",\t\t\t\t\"compat_clientssendfullbuttoninfo\", \"YesNo\"\n\tOption \"Forbid the 'land' console command\",\t\t\t\"compat_noland\", \"YesNo\"\n\tOption \"Use the old pseudo-RNG\",\t\t\t\t\t\"compat_oldrandom\", \"YesNo\"\n\tOption \"Spheres float like in Skulltag\",\t\t\t\"compat_nogravity_spheres\", \"YesNo\"\n\tOption \"Player scripts resume after disconnect\",\t\"compat_dont_stop_player_scripts_on_disconnect\", \"YesNo\"\n\tOption \"Explosion thrust like old ZDoom versions\",\t\"compat_explosionthrust\", \"YesNo\"\n\tOption \"Dropped items pass through bridges\",\t\t\"compat_bridgedrops\", \"YesNo\"\n\tOption \"Vertical movement like old ZDoom versions\",\t\"compat_oldzdoomzmovement\", \"YesNo\"\n\tOption \"Weapons must be lowered fully\",\t\t\t\t\"compat_fullweaponlower\", \"YesNo\"\n\tOption \"Auto-aiming has vertical holes\",\t\t\t\"compat_autoaim\", \"YesNo\"\n\tOption \"West facing spawns are silent\",\t\t\t\t\"compat_silentwestspawns\", \"YesNo\"\n\n\tClass \"CompatibilityMenu\"\n}\n\n/*=======================================\n *\n * Sound Options Menu\n *\n *=======================================*/\n\nOptionValue SampleRates\n{\n\t0,\t\t\"Default\"\n\t4000,\t\"4000 Hz\"\n\t8000,\t\"8000 Hz\"\n\t11025,\t\"11025 Hz\"\n\t22050,\t\"22050 Hz\"\n\t32000,\t\"32000 Hz\"\n\t44100,\t\"44100 Hz\"\n\t48000,\t\"48000 Hz\"\n}\n\nOptionValue BufferSizes\n{\n\t   0, \"Default\"\n\t  64, \"64 samples\"\n\t 128, \"128 samples\"\n\t 256, \"256 samples\"\n\t 512, \"512 samples\"\n\t1024, \"1024 samples\"\n\t2048, \"2048 samples\"\n\t4096, \"4096 samples\"\n}\n\nOptionValue BufferCounts\n{\n\t   0, \"Default\"\n\t   2, \"2\"\n\t   3, \"3\"\n\t   4, \"4\"\n\t   5, \"5\"\n\t   6, \"6\"\n\t   7, \"7\"\n\t   8, \"8\"\n\t   9, \"9\"\n\t  10, \"10\"\n\t  11, \"11\"\n\t  12, \"12\"\n}\n\nOptionString SoundOutputsWindows\n{\n\t\"Default\",\t\t\"Default\"\n\t\"DirectSound\",\t\"DirectSound\"\n\t\"WASAPI\",\t\t\"Vista WASAPI\"\n\t\"ASIO\",\t\t\t\"ASIO\"\n\t\"WaveOut\",\t\t\"WaveOut\"\n\t\"OpenAL\",\t\t\"OpenAL (very beta)\"\n\t\"No sound\",\t\t\"No sound\"\n}\n\nOptionString SoundOutputsUnix\n{\n\t\"Default\",\t\t\"Default\"\n\t\"OSS\",\t\t\t\"OSS\"\n\t\"ALSA\",\t\t\t\"ALSA\"\n\t\"SDL\",\t\t\t\"SDL\"\n\t\"ESD\",\t\t\t\"ESD\"\n\t\"PulseAudio\",\t\"PulseAudio\"\n\t\"No sound\",\t\t\"No sound\"\n}\n\nOptionString SoundOutputsMac\n{\n\t\"Sound Manager\",\t\"Sound Manager\"\n\t\"Core Audio\",\t\t\"Core Audio\"\n\t\"No sound\",\t\t\t\"No sound\"\n}\n\nOptionString OutputFormats\n{\n\t\"PCM-8\",\t\t\"8-bit\"\n\t\"PCM-16\",\t\t\"16-bit\"\n\t\"PCM-24\",\t\t\"24-bit\"\n\t\"PCM-32\",\t\t\"32-bit\"\n\t\"PCM-Float\",\t\"32-bit float\"\n}\n\nOptionString SpeakerModes\n{\n\t\"Auto\",\t\t\"Auto\"\n\t\"Mono\",\t\t\"Mono\"\n\t\"Stereo\",\t\"Stereo\"\n\t\"Prologic\",\t\"Dolby Prologic Decoder\"\n\t\"Quad\",\t\t\"Quad\"\n\t\"Surround\",\t\"5 speakers\"\n\t\"5.1\",\t\t\"5.1 speakers\"\n\t\"7.1\",\t\t\"7.1 speakers\"\n}\n\nOptionString Resamplers\n{\n\t\"NoInterp\",\t\t\"No interpolation\"\n\t\"Linear\",\t\t\"Linear\"\n\t\"Cubic\",\t\t\"Cubic\"\n\t\"Spline\",\t\t\"Spline\"\n}\n\nOptionValue MidiDevices\n{\n\t// filled in by the sound code\n}\n\nOptionMenu SoundOptions\n{\n\tTitle \"SOUND OPTIONS\"\n\tSlider \"Sounds volume\",\t\t\"snd_sfxvolume\", 0, 1, 0.05\n\tSlider \"Menu volume\",\t\t\"snd_menuvolume\", 0, 1, 0.05\n\tSlider \"Music volume\",\t\t\"snd_musicvolume\", 0, 1, 0.05\n\tSlider \"Announcer volume\",\t\"snd_announcervolume\", 0, 1, 0.05 // [TP]\n\tOption \"Announcer\",\t\t\t\"cl_announcer\", \"ZA_Announcers\" // [TP]\n\tOption \"MIDI device\",\t\t\"snd_mididevice\", \"MidiDevices\"\n\tStaticText \" \"\n\tOption \"Underwater reverb\",\t\"snd_waterreverb\", \"OnOff\"\n\tSlider \"Underwater cutoff\",\t\"snd_waterlp\", 0, 2000, 50, 0\n\tOption \"Randomize pitches\",\t\"snd_pitched\", \"OnOff\"\n\tSlider \"Sound channels\",\t\"snd_channels\", 8, 256, 8, 0\n\tOption \"Play connect sound\", \"cl_connectsound\", \"YesNo\" // [TP]\n\tOption \"Multiple announcer sounds\", \"cl_allowmultipleannouncersounds\", \"YesNo\" // [TP]\n\tStaticText \" \"\n\tCommand \"Restart sound\",\t\"snd_reset\"\n\tStaticText \" \"\n\tIfOption(Windows)\n\t{\n\t\tOption \"Output system\",\t\t\"snd_output\", \"SoundOutputsWindows\"\n\t}\n\tIfOption(Unix)\n\t{\n\t\tOption \"Output system\",\t\t\"snd_output\", \"SoundOutputsUnix\"\n\t}\n\tIfOption(Mac)\n\t{\n\t\tOption \"Output system\",\t\t\"snd_output\", \"SoundOutputsMac\"\n\t}\n\tOption \"Output format\",\t\t\"snd_output_format\", \"OutputFormats\"\n\tOption \"Speaker mode\",\t\t\"snd_speakermode\", \"SpeakerModes\"\n\tOption \"Resampler\",\t\t\t\"snd_resampler\", \"Resamplers\"\n\tOption \"HRTF filter\",\t\t\"snd_hrtf\", \"OnOff\"\n\n\tStaticText \" \"\n\tSubmenu \"Advanced options\",\t\t\t\"AdvSoundOptions\"\n\tSubmenu \"Module replayer options\",\t\"ModReplayerOptions\"\n}\n\n/*=======================================\n *\n * Advanced Sound Options Menu\n *\n *=======================================*/\n\nOptionValue GusMemory\n{\n\t0, \"Unlimited\"\n\t1, \"256K\"\n\t2, \"512K\"\n\t3, \"768K\"\n\t4, \"1024K\"\n}\n\nOptionValue OplCores\n{\n\t0, \"MAME OPL2\"\n\t1, \"DOSBox OPL3\"\n\t2, \"Java OPL3\"\n}\n\nOptionMenu AdvSoundOptions\n{\n\tTitle \"ADVANCED SOUND OPTIONS\"\n\tOption \"Sample rate\",\t\t\t\"snd_samplerate\", \"SampleRates\"\n\tOption \"Buffer size\",\t\t\t\"snd_buffersize\", \"BufferSizes\"\n\tOption \"Buffer count\",\t\t\t\"snd_buffercount\", \"BufferCounts\"\n\tStaticText \" \"\n\tStaticText \"OPL Synthesis\",\t1\n\tSlider \"Number of emulated OPL chips\", \"opl_numchips\", 1, 8, 1, 0\n\tOption \"Full MIDI stereo panning\", \"opl_fullpan\", \"OnOff\"\n\tOption \"OPL Emulator Core\", \"opl_core\", \"OplCores\"\n\tStaticText \" \"\n\tStaticText \"GUS Emulation\",\t1\n\tSlider \"MIDI voices\",\t\"midi_voices\", 16, 256, 4, 0\n\tOption \"Emulate TiMidity\", \"midi_timiditylike\", \"OnOff\"\n\tOption \"Read DMXGUS lumps\", \"midi_dmxgus\", \"OnOff\"\n\tOption \"GUS memory size\", \"gus_memsize\", \"GusMemory\"\n}\n\n/*=======================================\n *\n * Module Replayer Options Menu\n *\n *=======================================*/\n\nOptionValue ModReplayers\n{\n\t0.0, \"FMOD\"\n\t1.0, \"foo_dumb\"\n}\n\nOptionValue ModInterpolations\n{\n\t0.0, \"None\"\n\t1.0, \"Linear\"\n\t2.0, \"Cubic\"\n}\n\nOptionValue ModVolumeRamps\n{\n\t0.0, \"None\"\n\t1.0, \"Logarithmic\"\n\t2.0, \"Linear\"\n\t3.0, \"XM=lin, else none\"\n\t4.0, \"XM=lin, else log\"\n}\n\nOptionMenu ModReplayerOptions\n{\n\tTitle \"MODULE REPLAYER OPTIONS\"\n\tOption \"Replayer engine\",\t\t\"mod_dumb\", \"ModReplayers\"\n\tStaticText \" \"\n\tOption \"Sample rate\",\t\t\t\"mod_samplerate\", \"SampleRates\", \"mod_dumb\"\n\tOption \"Interpolation\",\t\t\t\"mod_interp\", \"ModInterpolations\", \"mod_dumb\"\n\tOption \"Volume ramping\",\t\t\"mod_volramp\", \"ModVolumeRamps\", \"mod_dumb\"\n\tStaticText \" \"\n\tOption \"Chip-o-matic\",\t\t\t\"mod_autochip\", \"OnOff\", \"mod_dumb\"\n\t// TODO if the menu system is ever rewritten: Provide a decent\n\t// mechanism to edit the chip-o-matic settings like you can with\n\t// the foo_dumb preferences in foobar2000.\n}\n\n/*=======================================\n *\n * Video mode menu\n *\n *=======================================*/\n\nOptionValue ForceRatios\n{\n\t0.0, \"Off\"\n\t3.0, \"4:3\"\n\t1.0, \"16:9\"\n\t5.0, \"17:10\"\n\t2.0, \"16:10\"\n\t4.0, \"5:4\"\n}\nOptionValue Ratios\n{\n\t0.0, \"4:3\"\n\t1.0, \"16:9\"\n\t2.0, \"16:10\"\n\t3.0, \"17:10\"\n\t -1, \"All\"\n}\nOptionValue RatiosTFT\n{\n\t0.0, \"4:3\"\n\t4.0, \"5:4\"\n\t1.0, \"16:9\"\n\t2.0, \"16:10\"\n\t3.0, \"17:10\"\n\t -1, \"All\"\n}\n\n// [BB]\nOptionValue Renderers\n{\n\t0.0, \"Software\"\n\t1.0, \"OpenGL\"\n}\n\nOptionMenu VideoModeMenu\n{\n\tTitle \"VIDEO MODE\"\n\n\tOption \"Fullscreen\",\t\t\t\"fullscreen\", \"YesNo\"\n\tOption \"Aspect ratio\",\t\t\t\"menu_screenratios\", \"Ratios\"\n\t// [BB]\n\tOption \"Renderer\",\t\t\t\"vid_renderer\", \"Renderers\"\n\tOption \"Force aspect ratio\",\t\"vid_aspect\", \"ForceRatios\"\n\tOption \"Enable 5:4 aspect ratio\",\"vid_tft\", \"YesNo\"\n\tStaticText \" \"\n\tScreenResolution \"res_0\"\n\tScreenResolution \"res_1\"\n\tScreenResolution \"res_2\"\n\tScreenResolution \"res_3\"\n\tScreenResolution \"res_4\"\n\tScreenResolution \"res_5\"\n\tScreenResolution \"res_6\"\n\tScreenResolution \"res_7\"\n\tScreenResolution \"res_8\"\n\tScreenResolution \"res_9\"\n\tStaticTextSwitchable \"Press ENTER to set mode\", \"\", \"VMEnterText\"\n\tStaticText \" \"\n\tStaticTextSwitchable \"T to test mode for 5 seconds\", \"Please wait 5 seconds...\", \"VMTestText\"\n\tclass VideoModeMenu\n}\n\n// =================================================================================================\n//\n// MULTIPLAYER OPTIONS\n//\n// =================================================================================================\n\nOptionValue ZA_AllowSkins\n{\n\t0.0, \"Off\"\n\t1.0, \"On\"\n\t2.0, \"No cheat skins\"\n}\n\nOptionValue ZA_OverridePlayerColors\n{\n\t0.0, \"Never\"\n\t1.0, \"FFA only\"\n\t2.0, \"With 2 teams max\"\n\t3.0, \"Always\"\n}\n\nOptionMenu ZA_MultiplayerOptions\n{\n\tTitle \"MULTIPLAYER OPTIONS\"\n\n\tSubMenu\t\t\"Offline Skirmish\",\t\t\t\"ZA_SkirmishMenu\"\n\tSubMenu\t\t\"Network Options\",\t\t\t\"ZA_NetworkOptions\"\n\tSubMenu\t\t\"Player Setup\",\t\t\t\t\"PlayerMenu\"\n\tSubMenu\t\t\"Log in\",\t\t\t\t\t\"ZA_LoginMenu\"\n\t//SubMenu\t\t\"Browse servers\",\t\t\t\"ZA_Browser\"\n\tStaticText\t\" \"\n\tCommand\t\t\"Spectate\",\t\t\t\t\t\"menu_spectate\"\n\tCommand\t\t\"Switch teams\",\t\t\t\t\"menu_changeteam\"\n\tCommand\t\t\"Disconnect\",\t\t\t\t\"menu_disconnect\"\n\tStaticText\t\" \"\n\tSubMenu\t\t\"Call a vote\",\t\t\t\t\"ZA_CallVote\"\n\tSubMenu\t\t\"Ignore a player\",\t\t\t\"ZA_IgnoreMenu\"\n\tStaticText\t\" \"\n\tOption\t\t\"Start as spectator\",\t\t\"cl_startasspectator\",\t\t\"YesNo\"\n\tTextField\t\"Server password\",\t\t\t\"cl_password\"\n\tTextField\t\"Server join password\",\t\t\"cl_joinpassword\"\n\tOption\t\t\"Reset frags at join\",\t\t\"cl_dontrestorefrags\",\t\t\"YesNo\"\n\tOption\t\t\"Hide country\",\t\t\t\t\"cl_hidecountry\",\t\t\t\"YesNo\"\n\tOption\t\t\"Respawn using attack key\",\t\"cl_respawnonfire\",\t\t\t\"YesNo\"\n\tStaticText\t\" \"\n\tOption\t\t\"Skins\",\t\t\t\t\t\"cl_skins\",\t\t\t\t\t\"ZA_AllowSkins\"\n\tOption\t\t\"Taunts\",\t\t\t\t\t\"cl_taunts\",\t\t\t\t\"OnOff\"\n\tOption\t\t\"Icons\",\t\t\t\t\t\"cl_icons\",\t\t\t\t\t\"OnOff\"\n\tOption\t\t\"Identify players\",\t\t\t\"cl_identifytarget\",\t\t\"OnOff\"\n\tOption\t\t\"Show spawn spots\",\t\t\t\"cl_showspawns\",\t\t\t\"YesNo\"\n\tSlider\t\t\"Spectator move speed\",\t\t\"cl_spectatormove\",\t\t\t0.1, 5.0, 0.1\n}\n\n// =================================================================================================\n//\n// NETWORK OPTIONS\n//\n// =================================================================================================\n\nOptionValue ZA_UnlagType\n{\n\t0.0, \"Gametic\"\n\t1.0, \"Ping\"\n}\n\nOptionValue ZA_UpdateRate\n{\n\t1.0, \"Fastest (every tick)\"\n\t2.0, \"Medium (every second tick)\"\n\t3.0, \"Slow (every third tick)\"\n}\n\nOptionValue ZA_ConnectionType\n{\n\t0.0, \"56k / ISDN\"\n\t1.0, \"DSL\"\n}\n\nOptionMenu ZA_NetworkOptions\n{\n\tTitle \"NETWORK OPTIONS\"\n\n\tOption\t\t\"Connection type\",\t\t\t\"cl_connectiontype\",\t\t\"ZA_ConnectionType\"\n\tOption\t\t\"Unlagged\",\t\t\t\t\t\"cl_unlagged\",\t\t\t\t\"OnOff\"\n\tOption\t\t\"Unlag Type\",\t\t\t\t\"cl_ping_unlagged\",\t\t\t\"ZA_UnlagType\"\n\tOption\t\t\"Update Rate\",\t\t\t\t\"cl_ticsperupdate\",\t\t\t\"ZA_UpdateRate\"\n\tOption\t\t\"Hitscan decals\",\t\t\t\"cl_hitscandecalhack\",\t\t\"OnOff\"\n\tOption\t\t\"Clientside puffs\",\t\t\t\"cl_clientsidepuffs\",\t\t\"OnOff\"\n}\n\n// =================================================================================================\n//\n// OFFLINE SKIRMISH\n//\n// =================================================================================================\n\nOptionValue ZA_Gamemode\n{\n\t0, \"Cooperative\"\n\t1, \"Survival Cooperative\"\n\t2, \"Invasion\"\n\t3, \"Deathmatch\"\n\t4, \"Team Deathmatch\"\n\t5, \"Duel\"\n\t6, \"Terminator\"\n\t7, \"Last Man Standing\"\n\t8, \"Team Last Man Standing\"\n\t9, \"Possession\"\n\t10, \"Team Possession\"\n\t11, \"Teamgame (ACS)\"\n\t12, \"Capture The Flag\"\n\t13, \"One Flag CTF\"\n\t14, \"Skulltag\"\n\t15, \"Domination\"\n}\n\nOptionValue ZA_Modifier\n{\n\t0, \"None\"\n\t1, \"Instagib\"\n\t2, \"Buckshot\"\n}\n\nOptionMenu ZA_SkirmishMenu\n{\n\tTitle\t\t\"SKIRMISH\"\n\tOption\t\t\"Level\",\t\t\t\t\"menu_skirmishlevel\",\t\t\t\"ZA_Levels\"\n\tOption\t\t\"Game Mode\",\t\t\t\"menu_skirmishgamemode\",\t\t\"ZA_Gamemode\"\n\tOption\t\t\"Modifier\",\t\t\t\t\"menu_skirmishmodifier\",\t\t\"ZA_Modifier\"\n\tStaticText\t\" \"\n\tNumberField\t\"Timelimit\",\t\t\t\"menu_skirmishtimelimit\"\n\tNumberField\t\"Fraglimit\",\t\t\t\"menu_skirmishfraglimit\"\n\tNumberField\t\"Pointlimit\",\t\t\t\"menu_skirmishpointlimit\"\n\tNumberField\t\"Duellimit\",\t\t\t\"menu_skirmishduellimit\"\n\tNumberField\t\"Winlimit\",\t\t\t\t\"menu_skirmishwinlimit\"\n\tNumberField\t\"Wavelimit\",\t\t\t\"menu_skirmishwavelimit\", 0, 10\n\tStaticText\t\" \"\n\tNumberField\t\"Skill\",\t\t\t\t\"menu_skirmishskill\", 0, 4\n\tNumberField\t\"Botskill\",\t\t\t\t\"menu_skirmishbotskill\", 0, 4\n\tStaticText\t\" \"\n\tSubMenu\t\t\"Bot Setup\",\t\t\t\"ZA_BotSetup\"\n\tStaticText\t\" \"\n\tCommand\t\t\"Start Game!\",\t\t\t\"menu_startskirmish\"\n}\n\n// Gets filled in by the engine\nOptionMenu ZA_BotSetup\n{\n\tTitle \"BOT SETUP\"\n\tClass \"BotSetupMenu\"\n\tIndent 80\n}\n\nOptionValue ZA_ServerType\n{\n\t0.0, \"Internet\"\n\t1.0, \"Local\"\n}\n\nOptionValue ZA_ServerSortType\n{\n\t0.0, \"Ping\"\n\t1.0, \"Server Name\"\n\t2.0, \"Map Name\"\n\t3.0, \"Players\"\n}\n\nOptionValue ZA_ServerGamemode\n{\n\t0, \"Any mode\"\n\t1, \"Cooperative\"\n\t2, \"Survival Cooperative\"\n\t3, \"Invasion\"\n\t4, \"Deathmatch\"\n\t5, \"Team Deathmatch\"\n\t6, \"Duel\"\n\t7, \"Terminator\"\n\t8, \"Last Man Standing\"\n\t9, \"Team Last Man Standing\"\n\t10, \"Possession\"\n\t11, \"Team Possession\"\n\t12, \"Teamgame (ACS)\"\n\t13, \"Capture The Flag\"\n\t14, \"One Flag CTF\"\n\t15, \"Skulltag\"\n\t16, \"Domination\"\n}\n\nOptionMenu ZA_ServerInfo\n{\n\tTitle \"SERVER INFORMATION\"\n\tClass \"ServerInfoMenu\"\n\tIndent 80\n}\n\nOptionMenu ZA_Browser\n{\n\tTitle \"SERVER BROWSER\"\n\tClass \"BrowserMenu\"\n\tIndent 80\n\n\tOption\t\t\"Servers\",\t\t\"menu_browser_servers\",\t\t\"ZA_ServerType\"\n\tOption\t\t\"Gametype\",\t\t\"menu_browser_gametype\",\t\t\"ZA_ServerGamemode\"\n\tOption\t\t\"Sort by\",\t\t\"menu_browser_sortby\",\t\t\"ZA_ServerSortType\"\n\tOption\t\t\"Show empty\",\t\t\"menu_browser_showempty\",\t\t\"YesNo\"\n\tOption\t\t\"Show full\",\t\t\"menu_browser_showfull\",\t\t\"YesNo\"\n\tStaticText\t\" \"\n\tStaticText\t\" \" // Header\n\tStaticText\t\" \"\n\tServerBrowserSlot 0\n\tServerBrowserSlot 1\n\tServerBrowserSlot 2\n\tServerBrowserSlot 3\n\tServerBrowserSlot 4\n\tServerBrowserSlot 5\n\tServerBrowserSlot 6\n\tServerBrowserSlot 7\n\tStaticText\t\" \"\n\tCommand\t\t\"Refresh\",\t\t\t\"querymaster\"\n\tSubmenu\t\t\"Get server info\",\t\t\t\"ZA_ServerInfo\"\n\tCommand\t\t\"Join game!\",\t\t\t\"menu_join_selected_server\"\n}\n\n// =================================================================================================\n//\n// TEXT SCALING\n//\n// =================================================================================================\n\nOptionMenu ZA_TextScaling\n{\n\tTitle \"TEXT SCALING\"\n\tClass \"TextScalingMenu\"\n\n\tOption\t\t\"Enable text scaling\",\t\"con_scaletext\",\t\t\t\t\"ScaleValues\"\n\tSlider\t\t\"Text size scalar\",\t\t\"menu_textsizescalar\",\t\t\t0, 24, 1\n\tTextField\t\"Virtual width\",\t\t\"con_virtualwidth\", \"con_scaletext\"\n\tTextField\t\"Virtual height\",\t\t\"con_virtualheight\", \"con_scaletext\"\n\tOption\t\t\"Use screen ratio\",\t\t\"con_scaletext_usescreenratio\",\t\"YesNo\", \"con_scaletext\"\n\n\tStaticText \"Sample text\", 1\n\t// Sample text is filled in by the engine\n}\n\n// =================================================================================================\n//\n// VOTING MENU\n//\n// =================================================================================================\n\nOptionValue ZA_VoteLimitTypes\n{\n\t0, \"Fraglimit\"\n\t1, \"Timelimit\"\n\t2, \"Winlimit\"\n\t3, \"Duellimit\"\n\t4, \"Pointlimit\"\n}\n\nOptionMenu ZA_CallVote\n{\n\tTitle \"CALL VOTE\"\n\tNetGameOnly\n\n\tSubMenu\t\t\"Kick a player\",\t\t\"ZA_CallKickVote\"\n\tSubMenu\t\t\"Change the map\",\t\t\"ZA_CallMapVote\"\n\tSubMenu\t\t\"Change a limit\",\t\t\"ZA_CallLimitVote\"\n}\n\nOptionMenu ZA_CallKickVote\n{\n\tTitle\t\t\"KICK A PLAYER\"\n\n\tPlayerField\t\"Player\",\t\t\t\t\"menu_callvoteplayer\",\t\t\tNoBots, NotSelf\n\tOption\t\t\"Ban for 10 minutes\",\t\"menu_callvoteban\",\t\t\t\t\"YesNo\"\n\tStaticText \" \"\n\tTextField\t\"Reason for kick\",\t\t\"menu_callvotereason\"\n\tCommand\t\t\"Vote!\",\t\t\t\t\"menu_callkickvote\"\n}\n\nOptionMenu ZA_CallMapVote\n{\n\tTitle\t\t\"CHANGE MAP\"\n\n\tOption\t\t\"Map\",\t\t\t\t\t\"menu_callvotemap\",\t\t\t\t\"ZA_Levels\"\n\tOption\t\t\"Intermission\",\t\t\t\"menu_callvoteintermission\",\t\"YesNo\"\n\tStaticText\t\" \"\n\tTextField\t\"Reason for change\",\t\"menu_callvotereason\"\n\tCommand\t\t\"Vote!\",\t\t\t\t\"menu_callmapvote\"\n}\n\nOptionMenu ZA_CallLimitVote\n{\n\tTitle\t\t\"CHANGE LIMIT\"\n\n\tOption\t\t\"Limit\",\t\t\t\t\"menu_callvotelimit\",\t\t\t\"ZA_VoteLimitTypes\"\n\tTextField\t\"New value\",\t\t\t\"menu_callvotevalue\"\n\tStaticText\t\" \"\n\tTextField\t\"Reason for change\",\t\"menu_callvotereason\"\n\tCommand\t\t\"Vote!\",\t\t\t\t\"menu_calllimitvote\"\n}\n\n// =================================================================================================\n//\n// IGNORE A PLAYER MENU\n//\n// =================================================================================================\n\nOptionValue ZA_IgnoreDuration\n{\n\t0, \"Indefinitely\"\n\t10, \"10 minutes\"\n\t20, \"20 minutes\"\n\t30, \"30 minutes\"\n}\n\nOptionValue ZA_IgnoreAction\n{\n\t0, \"Ignore\"\n\t1, \"Unignore\"\n}\n\nOptionMenu ZA_IgnoreMenu\n{\n\tTitle \"IGNORE A PLAYER\"\n\tNetGameOnly\n\n\tPlayerField\t\"Player\",\t\t\t\t\"menu_ignoreplayer\",\t\t\tNoBots, NotSelf\n\t// [TP] Perhaps this could be a slider? But then we need to somehow make it display\n\t// 0 as \"indefinitely\". Qt solved this (although with spinboxes) with a \"special value\"\n\t// attribute which is displayed instead of the value when the value is at the minimum.\n\t// Maybe something similar could be done here? This needs to be coordinated with ZDoom though.\n\tOption\t\t\"Duration\",\t\t\t\t\"menu_ignoreduration\",\t\t\t\"ZA_IgnoreDuration\"\n\tStaticText\t\" \"\n\tOption\t\t\"Action\",\t\t\t\t\"menu_ignoreaction\",\t\t\t\"ZA_IgnoreAction\"\n\tCommand\t\t\"Execute!\",\t\t\t\t\"menu_ignore\"\n}\n\n// =================================================================================================\n//\n// JOIN MENU\n//\n// =================================================================================================\n\nOptionMenu ZA_JoinMenu\n{\n\tTitle\t\t\"JOIN GAME\"\n\n\tStaticText\t\"You are spectating.\"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tCommand\t\t\"Join game\",\t\t\t\"menu_joingame\"\n\tCommand\t\t\"How to play\",\t\t\t\"menu_help\"\n}\n\nOptionMenu ZA_JoinTeamMenu\n{\n\tTitle\t\t\"JOIN TEAM\"\n\n\tStaticText\t\"Please select a team.\"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tCommand\t\t\"Auto-select\",\t\t\t\"menu_autoselect\"\n\tStaticText\t\" \"\n\tJoinMenuTeamOption\n\tCommand\t\t\"Join game\",\t\t\t\"menu_joingame\"\n\tStaticText\t\" \"\n\tCommand\t\t\"How to play\",\t\t\t\"menu_help\"\n}\n\nOptionMenu ZA_SelectClassMenu\n{\n\tTitle\t\t\"PLAYER CLASS SELECTION\"\n\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tStaticText\t\" \"\n\tJoinMenuPlayerClassOption\n\tStaticText\t\" \"\n\tCommand\t\t\"Join game\",\t\t\t\"menu_joingamewithclass\"\n}\n\n// =================================================================================================\n//\n// WEAPON SETUP\n//\n// =================================================================================================\n\nOptionValue \"ZA_RailgunColors\"\n{\n\t0, \"Blue\"\n\t1, \"Red\"\n\t2, \"Yellow\"\n\t3, \"Black\"\n\t4, \"Silver\"\n\t5, \"Gold\"\n\t6, \"Green\"\n\t7, \"White\"\n\t8, \"Purple\"\n\t9, \"Orange\"\n\t10, \"Rainbow\"\n}\n\nOptionValue ZA_SwitchOnPickup\n{\n\t0, \"Never\"\n\t1, \"Only higher ranked\"\n\t2, \"Always\"\n\t3, \"Use PWO\"\n}\n\nOptionMenu ZA_WeaponSetup\n{\n\tTitle\t\t\"WEAPON SETUP\"\n\tIndent 170\n\n\tOption\t\t\"Switch on pickup\",\t\t\"switchonpickup\",\t\t\t\t\"ZA_SwitchOnPickup\"\n\tOption\t\t\"Switch without ammo\",\t\"cl_noammoswitch\",\t\t\t\t\"YesNo\"\n\tOption\t\t\"Railgun color\",\t\t\"railcolor\",\t\t\t\t\t\"ZA_RailgunColors\"\n\n\tClass WeaponSetupMenu\n}\n\n// =================================================================================================\n//\n// LOGIN MENU\n//\n// =================================================================================================\n\nOptionMenu ZA_LoginMenu\n{\n\tNetGameOnly\n\tTitle \"LOG IN\"\n\n\tTextField\t\"Username\",\t\t\t\t\"menu_authusername\"\n\tTextField\t\"Password\",\t\t\t\t\"menu_authpassword\"\n\tStaticText\t\" \"\n\tCommand\t\t\"Log in\",\t\t\t\t\"menu_login\"\n}\n\n// =================================================================================================\n//\n// Bot skill menu\n//\n// =================================================================================================\n\nListMenu \"BotSkillMenu\"\n{\n\tStaticPatch 48, 24, \"M_BSKILL\"\n\tPosition 38, 54\n\tPatchItem \"M_MOMMY\", \"m\", \"ChooseBotSkill\", 0\n\tPatchItem \"M_PAIN\", \"a\", \"ChooseBotSkill\", 1\n\tPatchItem \"M_BRING\",\"b\", \"ChooseBotSkill\", 2\n\tPatchItem \"M_THRIVE\",\"t\", \"ChooseBotSkill\", 3\n\tPatchItem \"M_BNMARE\",\"n\", \"ChooseBotSkill\", 4\n}"
      },
      {
        "source": "pk3",
        "name": "DECORATE.txt",
        "contents": "#include \"actors/inventory/HFitems.txt\""
      },
      {
        "source": "pk3",
        "name": "actors/player/megaman.txt",
        "contents": "actor Megaman : PlayerPawn\n{\nplayer.displayname \"megaman\"\nplayer.soundclass \"megaman\"\nplayer.damagescreencolor \"yellow\"\nplayer.forwardmove 0.89, 0.89\nplayer.sidemove 0.87, 0.87\nplayer.jumpz 13.5\nPlayer.MaxHealth 100\nplayer.colorrange 0 0\nplayer.startitem \"MegaBuster\"\nplayer.startitem \"BusterAmmo\", 3\nplayer.startitem \"BaseFlagPack\", 1\nplayer.startitem \"EnergyBalancerActive\", 1\nmass 9999\ngravity 1.0\n+NODAMAGETHRUST\n+DONTBLAST\n+NOBLOOD\n+QUICKTORETALIATE\ndamagefactor \"Dummy\", 0.0\nPlayer.MaxSkinSizeFactor 0, 0\nscale 2.5\nbloodtype \"MegamanBlood\"\nvar int user_hp;\nvar int user_dmg;\nStates\n{\nSpawn:\nPLY1 A 0\nPLY1 B 1\nPLY1 A 1\nGoto Spawn+2\nSee:\nPLY1 BCDE 5\nGoto Spawn\nMissile:\nPLY1 F 5\nPLY1 G 4\nGoto Spawn+2\nPain.NoPain:\nPLY1 B 0\nGoto Spawn\nPain.BotSight:\nPLY1 B 5 HealThing(1)\nGoto Spawn+2\nPain.ProtoBuster:\nPain.DarkMan:\nPain.FireSpin:\nPain.QuickBoomerang:\nPain.Buster:\nPain.BassBuster:\nPain.WildCoil:\nPain.ChargeKick:\nPain.YamatoSpear:\nPain.DiveMissile:\nPain.StarCrash:\nPain.CentaurFlash:\nPain.FreezeCracker:\nPain.ScrewCrusher:\nPain.PharaohHold:\nPain.TornadoHold:\nPain.TrebleSentry:\nPain.ScorchWheel:\nPain.MagnetMissile:\nPain.JunkShield:\nPain.OilSlider:\nPain.BassBuster:\nPain.WaveBurner:\nPain.WaveBurnerUW:\nPain.Gamma:\nPain.Misc:\nPain.KyorownBullet:\nPain.Treble:\nPain.ThunderWool:\nPain.CommandoBomb:\nPain.TripleBlade:\nPain.ElectricShock:\nPain.MegaArm:\nPain.FlameSwordSpark:\nPain.NeedleCannon:\nPLY1 H 0\nGoto pain+1\nPain.Reggae:\nTNT1 A 0 A_PlaySoundEx(\"item/reggae\", \"SoundSlot7\", 0)\nGoto Pain+1\nPain.WaterBalloon:\n//Pain.FlashBomb:\n//Pain.RemoteMine:\nPain.IceWall:\nPLY1 H 0 A_ScaleVelocity(0.9)\nGoto Pain+1\nPain.SpreadDrill:\nPain.SpreadDrill2:\nPain.SpreadDrill3:\nPLY1 H 0 A_JumpIfInventory(\"SpreadDrillProtect\", 1 ,2)\nPLY1 H 0 A_PlaySoundEx(\"weapon/spreaddrillhit\",\"SoundSlot5\")\nPLY1 H 0 A_GiveInventory(\"SpreadDrillProtect\", 1)\nGoto pain+1\nPain.FlameSword:\nPLY1 H 0 A_GiveInventory(\"FlameSwordProtect\", 1)\nPLY1 H 0 A_PlaySoundEx(\"weapon/flamehit\",\"SoundSlot5\")\nPLY1 HH 0 A_SpawnItemEx(\"FlameSwordBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nPain.PharaohHold:\nPLY1 H 0 A_GiveInventory(\"PharaohProtect\", 1)\nGoto pain+1\npain.LaserTrident:\nPLY1 H 0 A_GiveInventory(\"LaserTridentProtect\", 1)\ngoto pain+1\npain.PlugBall:\nPLY1 H 0 ACS_NamedExecuteAlways(\"hf_takeammo\", 0, 5)\ngoto pain+1\n\nPain.FlingDamage:\nPLY1 H 0 //ThrustThing(random(0,255),50,1,0)\nPLY1 H 0 ThrustThing(random(0,255),5,0,0)\nPLY1 H 0 ThrustThingZ(0,30,0,0)\nGoto pain+1\nPain.WindStorm:\nPLY1 H 0 ThrustThing(random(0,255),2,0,0)\nPLY1 H 0 ThrustThingZ(0,40,0,0)\nGoto pain+1\nPain.WindStorm2:\n//PLY1 H 0 A_ChangeVelocity(momx*0.75, momy*0.75, momz, CVF_REPLACE)\nPLY1 H 0 ThrustThingZ(0,12,0, 1)\nGoto pain+1\nPain.SlashClaw:\nPLY1 H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.TenguSlash:\nPLY1 H 0 A_PlaySoundEx(\"weapon/tenguhit\",\"SoundSlot5\")\ngoto Pain\nPain.FlashStopper:\nPLY1 H 0\nPLY1 H 0 A_GiveInventory(\"FlashStopperHit\", 1)\ngoto Pain+1\nPain.TimeSlow:\nPLY1 H 0 A_GiveInventory(\"Slowed\",1)\nGoto pain+1\nPain.TimeArrow:\nPLY1 H 0 A_ChangeVelocity(momx*0.33, momy*0.33, momz, CVF_REPLACE)\nPLY1 HHHH 0 A_SpawnItemEx(\"TimeSlowGFX\", Random(16, 48), 0, Random(16, 48), 0, 0, 0, Random(0,360))\nGoto pain+1\nPain.SparkShock:\nPLY1 H 0 A_ChangeVelocity(0, 0, momz, CVF_REPLACE)\nPLY1 H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\nPLY1 H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\nPain.FlashBombHit:\nPain.IceSlasher:\nPLY1 H 0 A_ScaleVelocity(0.5)\nGoto Pain+1\nPain.CrashBomb:\nPLY1 H 0 A_Stop\nGoto Pain+1\nPain.TopSpin:\nPLY1 H 0 A_GiveInventory(\"TopBounceGiver\", 1)\nGoto Pain+1\nPain.GravityHold:\nPLY1 H 0 A_CheckFloor(\"GravityUp\")\nGoto GravityDown\nGravityUp:\nPLY1 H 0 ThrustThingZ(0,100,0,0)\nPLY1 H 0 A_SpawnItemEx(\"GravityHoldFXUp\")\nGoto Pain+1\nGravityDown:\nPLY1 H 0 ThrustThingZ(0,100,1,0)\nPLY1 H 0 A_SpawnItemEx(\"GravityHoldFXDown\")\nGoto Pain+1\n\n/*PLY1 H 0 A_ChangeVelocity(momx, momy, 0, CVF_REPLACE)\nPLY1 H 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\nPLY1 H 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\nPLY1 H 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\nPLY1 H 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\n*/\npain.WheelCutterSaw:\nPLY1 H 0 A_GiveInventory(\"WheelCutterSawProtect\", 1)\nGoto Pain+1\nGravityForce4:\nPLY1 H 2 A_GiveInventory(\"GravityForce4\",1)\nGoto GravityForceFinish\nGravityForce3:\nPLY1 H 2 A_GiveInventory(\"GravityForce3\",1)\nGoto GravityForceFinish\nGravityForce2:\nPLY1 H 2 A_GiveInventory(\"GravityForce2\",1)\nGoto GravityForceFinish\nGravityForce1:\nPLY1 H 2 A_GiveInventory(\"GravityForce1\",1)\nGoto GravityForceFinish\nGravityForceFinish:\nPLY1 H 0 A_CheckFloor(2)\nPLY1 H 0 ThrustThingZ(0,150,1,0)\nPLY1 H 0\nGoto Pain+1\nPain.ConcreteShot:\nPLY1 H 0 A_JumpIfInventory(\"ConcreteVision\", 1, \"ConcreteReset\")\nPLY1 H 0 A_GiveInventory(\"ConcreteVision\", 1)\nPLY1 H 0 A_GiveInventory(\"ConcreteTime\", 105)\nPLY1 H 0 A_SpawnItemEx(\"ConcreteWatcher\")\ngoto Pain+1\nConcreteReset:\nPLY1 H 0 A_GiveInventory(\"ConcreteTime\", 105)\ngoto Pain+1\npain.MagicCard:\nPLY1 H 0 A_GiveInventory(\"MagicCardProtect\", 1)\nGoto Pain+1\nPain.TornadoBlow:\nPLY1 H 0 ThrustThingZ(0, 60, 0, 0)\ngoto Pain+1\nPain.ChillShot:\nPLY1 H 0 A_ChangeVelocity(0.25*momx, 0.25*momy, 0.75*momz,CVF_REPLACE )\ngoto pain+1\nPain.ChillSpike:\nPLY1 H 0 A_GiveInventory(\"ChillFreeze\", 1)\ngoto Pain+1\nPain.SparkChaser:\nPLY1 H 0 A_GiveInventory(\"SparkChaserTagged\", 1)\ngoto Pain+1\nPain.BreakDash:\nPLY1 H 0 A_GiveInventory(\"BreakDashProtect\", 1)\nPLY1 H 0 A_Stop\ngoto Pain+1\nPain.WilyFire:\nPLY1 H 0 A_SpawnItemEx(\"ImOnFire\")\nPLY1 H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.WilyIce:\nPLY1 H 0 SetPlayerProperty(0,1,4)\nPLY1 H 0 A_SpawnItemEx(\"ImFrozen\")\nPLY1 H 0 A_GiveInventory(\"IceVision\",1)\nPLY1 H 30 A_Stop\nPLY1 H 30\nPLY1 H 0 SetPlayerProperty(0,0,0)\nPLY1 H 0 A_TakeInventory(\"IceVision\",1)\nGoto Spawn+2\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\nPLY1 H 0 A_JumpIfInventory(\"BeatCallCheckHF\", 1, \"BeatAssist\")\nGoto Pain+1\nPain.TimeStopper:\nPLY1 H 0 A_SetUserVar(\"user_dmg\", 0)\nPLY1 H 0 A_GiveInventory(\"NoRemoveTimeStop\", 1)\nPLY1 H 0 A_GiveInventory(\"TimeStopActivator\", 1)\nGoto Pain+1\nBeatAssist:\nPLY1 H 0\nPLY1 H 0 HealThing(2)\nPLY1 H 2 ACS_NamedExecuteAlways(\"core_beatflight\", 0, 0, 1)\nPLY1 H 0 A_JumpIfInventory(\"BeatCallProtection\", 1, \"Spawn\")\n//Goto Pain+1\nGoto Spawn\nPain.EclipsePunch:\nPLY1 B 0\nGoto Spawn\nPain:\nPLY1 H 0 A_ScaleVelocity(0.75)\nPLY1 H 0 ACS_NamedExecuteWithResult(\"core_decdmg_begin\")\nPLY1 H 0 A_Pain\nPLY1 H 0 A_JumpIfInventory(\"NoRemoveTimeStop\", 1, 4)\nPLY1 H 0 A_SetUserVar(\"user_dmg\", user_dmg + (user_hp - health))\nPLY1 H 0 A_JumpIf(user_dmg < 20, 2)\nPLY1 H 0 A_TakeInventory(\"TimeStoppedCounter\", 1)\nPLY1 H 1 A_SpawnItemEx(\"PainFX\",-5,0,3,0,0,0)\nPLY1 H 1 A_Recoil(1)\nPLY1 HHHHHHHHH 2 A_SpawnItemEx(\"PainFX\",-5,0,3,0,0,0)\nPLY1 H 1\nGoto Spawn\n\nDeath.WindStorm:\nDeath.GravityHold:\nDeath.TornadoBlow:\nDeath.TornadoHold:\nPLY1 H 0 SetPlayerProperty(0, 0, PROP_TOTALLYFROZEN)\nPLY1 H 0 ACS_NamedExecuteWithResult(\"core_decdmg_begin\")\nPLY1 H 0 A_ChangeFlag(\"NOINTERACTION\", 1)\nPLY1 H 0 A_GiveInventory(\"DeathFlagPack\", 1)\nPLY1 H 0 A_NoBlocking\nPLY1 H 1 A_Stop\nBlowDeathRise:\nPLY1 H 1 ThrustThingZ(0,10,0,1)\nPLY1 H 0 A_JumpIf(ceilingz-z<64, \"BlowDeathExplode\")\nPLY1 H 0 A_GiveInventory(\"BlowDeathTimer\", 1)\nPLY1 H 0 A_JumpIfInventory(\"BlowDeathTimer\", 35, \"BlowDeathExplode\")\nGoto BlowDeathRise\nBlowDeathExplode:\nPLY1 H 0 A_Stop\nPLY1 H 0 A_PlayerScream\nPLY1 H 0 A_SpawnItemEx(\"FakeDeathFX2\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\nPLY1 Z 1 A_CheckPlayerDone\nwait\nDeath.Beam:\nDeath.instagib:\nDeath.Telefrag:\nDeath.TopSpin:\nDeath.DawnBreaker:\nDeath.Gib:\nPLY1 Z 0 SetPlayerProperty(0, 0, PROP_TOTALLYFROZEN)\n// [Russ] Because this state can be reached after the death confirmation of other means, don't give them again!\nPLY1 H 0 A_JumpIfInventory(\"IsDead\", 1, 2)\nPLY1 H 0 A_GiveInventory(\"DeathFlagPack\", 1)\nPLY1 H 0 A_GiveInventory(\"CriticalDeathGiver\", 1)\nPLY1 H 0 A_SpawnItemEx(\"FakeDeathFX2\", 0, 0, 32, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\nPLY1 Z 1 A_CheckPlayerDone\nwait\nDeath.Falling:\nPLY1 H 0 A_JumpIfInventory(\"FallDeathExplodeFlag\", 1, \"Death\")\nPLY1 H 0 SetPlayerProperty(0, 0, PROP_TOTALLYFROZEN)\nPLY1 H 0 A_GiveInventory(\"DeathFlagPack\", 1)\nPLY1 H 0 A_NoBlocking\nPLY1 Z 0 A_Stop\nPLY1 Z 2 A_PlayerScream\nPLY1 Z 1 A_CheckPlayerDone\nwait\nIce:\nPLY1 H 0 SetPlayerProperty(0, 0, PROP_TOTALLYFROZEN)\nPLY1 H 0 A_GiveInventory(\"DeathFlagPack\", 1)\nPLY1 H 0 ACS_ExecuteAlways(998,0,105,1)\nPLY1 H 0 A_PlayerScream\nPLY1 H 0 A_NoBlocking\nPLY1 H 0 A_FreezeDeath\nPLY1 H 35\nPLY1 H 0 A_SpawnItemEx(\"FrozenDeathFX\", 0, 0, 16)\nPLY1 Z 1 A_CheckPlayerDone\nwait\nDeath:\nPLY1 H 0 SetPlayerProperty(0, 0, PROP_TOTALLYFROZEN)\nPLY1 H 0 ACS_NamedExecuteWithResult(\"core_decdmg_begin\")\nPLY1 H 0 A_NoBlocking\nPLY1 H 0 A_Stop\nPLY1 H 0 A_GiveInventory(\"DeathFlagPack\", 1)\nPLY1 HHHHHHHHHHHHHHHHHHHH 1 A_JumpIfInventory(\"CriticalDeath\", 1, \"Death.Gib\")\nPLY1 H 0 SetPlayerProperty(0, 0, PROP_TOTALLYFROZEN)\nPLY1 H 0 A_SpawnItemEx(\"FakeDeathFX2\", 0, 0, 32, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\nPLY1 H 0 A_PlayerScream\nPLY1 Z 1 A_CheckPlayerDone\nwait\n\n// SINGLEPLAYER STUFF\nTheEnd: // Used in the original ending\nPLY1 G 4\nloop\nWalkForward:\nPLY1 BBBBBCCCCCDDDDDEEEEE 1 A_Recoil(-0.8)\nloop\nCreditWalk:\nPLY1 BCDE 8\nloop\nCreditRun:\nPLY1 BCDE 5\nloop\nDozerCarry:\nPLY1 BBBBCCCCDDDDEEEEBBBBCCCCDDDDBBBBCCCCDDDD 1 A_Recoil(-1)\nPLY1 F 10 A_Stop\nPLY1 F -1\nstop\nDozerThrow:\nPLY1 F 0 A_ChangeFlag(\"THRUACTORS\",1)\nPLY1 F 20 ThrustThingZ(0, 60, 0, 1)\nPLY1 G 20\nPLY1 A -1\nstop\nEndlessPain:\nPLY1 H -1\nstop\n}\n}\n\nactor FrozenDeathFX\n{\n-SOLID\n+NOGRAVITY\n+NOINTERACTION\nradius 16\nheight 56\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_FreezeDeathChunks\nstop\n}\n}\n\nactor PainFX\n{\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\n+CLIENTSIDEONLY\nscale 2.5\nheight 0\nradius 0\n+MISSILE\nStates\n{\nSpawn:\nMMFX AA 1\nstop\n}\n}\n\nactor DeathFX1 : ExplosionEffect1\n{\nPROJECTILE\nSpeed 15\nreactiontime 10\nStates\n{\nSpawn:\nMXP1 ABCDE 2\nMXP1 A 0 A_CountDown\nloop\n}\n}\n\nactor DeathFX2 : DeathFX1\n{\nspeed 5\n}\n\nactor FakeDeathFX\n{\n-SOLID\n+NOGRAVITY\n+NOINTERACTION\nStates\n{\nSpawn:\nTNT1 A 1\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX1\", 0, 0, 0, 0,  1.0,  0.0, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX1\", 0, 0, 0, 0,  0.7,  0.7, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX1\", 0, 0, 0, 0,  0.0,  1.0, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX1\", 0, 0, 0, 0, -0.7,  0.7, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX1\", 0, 0, 0, 0, -1.0,  0.0, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX1\", 0, 0, 0, 0, -0.7, -0.7, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX1\", 0, 0, 0, 0,  0.0, -1.0, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX1\", 0, 0, 0, 0,  0.7, -0.7, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX2\", 0, 0, 0, 0,  1.0,  0.0, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX2\", 0, 0, 0, 0,  0.7,  0.7, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX2\", 0, 0, 0, 0,  0.0,  1.0, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX2\", 0, 0, 0, 0, -0.7,  0.7, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX2\", 0, 0, 0, 0, -1.0,  0.0, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX2\", 0, 0, 0, 0, -0.7, -0.7, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX2\", 0, 0, 0, 0,  0.0, -1.0, 0, SXF_MULTIPLYSPEED)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX2\", 0, 0, 0, 0,  0.7, -0.7, 0, SXF_MULTIPLYSPEED)\nTNT1 A 1\nstop\n}\n}\n\nactor FakeDeathFX2\n{\n-SOLID\n+NOGRAVITY\n+NOINTERACTION\nStates\n{\nSpawn:\nTNT1 A 1\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX3\", 0, 0, 0, 0,  1.0,  0.0, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX3\", 0, 0, 0, 0,  0.7,  0.7, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX3\", 0, 0, 0, 0,  0.0,  1.0, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX3\", 0, 0, 0, 0, -0.7,  0.7, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX3\", 0, 0, 0, 0, -1.0,  0.0, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX3\", 0, 0, 0, 0, -0.7, -0.7, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX3\", 0, 0, 0, 0,  0.0, -1.0, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX3\", 0, 0, 0, 0,  0.7, -0.7, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX4\", 0, 0, 0, 0,  1.0,  0.0, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX4\", 0, 0, 0, 0,  0.7,  0.7, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX4\", 0, 0, 0, 0,  0.0,  1.0, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX4\", 0, 0, 0, 0, -0.7,  0.7, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX4\", 0, 0, 0, 0, -1.0,  0.0, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX4\", 0, 0, 0, 0, -0.7, -0.7, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX4\", 0, 0, 0, 0,  0.0, -1.0, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\nPLY1 Z 0 A_SpawnItemEx(\"DeathFX4\", 0, 0, 0, 0,  0.7, -0.7, 0, SXF_MULTIPLYSPEED|SXF_TRANSFERTRANSLATION)\n\nTNT1 A 1\nstop\n}\n}\n\nactor DeathFX3\n{\nheight 1\nradius 1\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\n+DONTBLAST\n\nscale 2.5\nPROJECTILE\nSpeed 15\n\nStates\n{\nSpawn:\nMMFX JKLM 2\nMMFX A 0 A_CountDown\nloop\n}\n}\n\nactor DeathFX4 : DeathFX3\n{\nspeed 5\n}\n\nactor GreenPlayerSpawn 5083\n{\n//$Category Player Starts\n//$Tag Player Green start (MM8BDM)\n//$Sprite PLAYF1\n-SOLID\n+NOINTERACTION\nheight 56\nradius 16\n}\n\nactor GoldPlayerSpawn 5084\n{\n//$Category Player Starts\n//$Tag Player Gold start (MM8BDM)\n//$Sprite PLAYF1\n-SOLID\n+NOINTERACTION\nheight 56\nradius 16\n}"
      },
      {
        "source": "pk3",
        "name": "actors/player/megaman-flags.txt",
        "contents": "// Replace with the MAPINFO version later (way later)!\nDamageType Ignition\n{\nFactor 0\n}\n\nactor MomentumFlag : Powerup {Powerup.Duration 105}\nactor CanBeGrabBustered : Once { +INVENTORY.UNDROPPABLE }\nactor CanBeMegaArmed : Once { +INVENTORY.UNDROPPABLE }\n\nactor BaseFlagPack : CustomInventory\n{\n  +INVENTORY.AUTOACTIVATE\n  States\n  {\n  Use:\n      PLY1 H 0 A_GiveInventory(\"MM8BDMPlayer\", 1)\n      PLY1 H 0 A_GiveInventory(\"CanBeGrabBustered\", 1)\n      PLY1 H 0 A_GiveInventory(\"CanBeMegaArmed\", 1)\n      stop\n  }\n}\n\nactor DeathFlagPack : BaseFlagPack\n{\n    States\n    {\n    Use:\n        PLY1 H 0 A_TakeInventory(\"WeaponCharge\",999)\n        PLY1 H 0 A_TakeInventory(\"ConcreteTime\", 999)\n        PLY1 H 0 A_GiveInventory(\"CutterFlag\",999)\n        PLY1 H 0 A_GiveInventory(\"IsDead\",1)\n        PLY1 H 0 A_GiveToTarget(\"KilledMeStock\",1)\n        PLY1 H 0 A_GiveToTarget(\"KilledMe\", 1)\n        stop\n    }\n}\n\nactor BlowDeathTimer : Inventory\n{\n    inventory.amount 1\n    inventory.maxamount 35\n}\n\nactor MM8BDMPlayer : Once { +INVENTORY.UNDROPPABLE }\n\n// V6 Water Actors\nactor WaterGravityOn: CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"GravityFlag\", 1)\nTNT1 A 0 ACS_NamedExecuteAlways(\"HF_Gravity\",0, 1, 3, 2)\nstop\n\n}\n}\n\nactor WaterGravityOff: CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"GravityFlag\", 1)\nTNT1 A 0 ACS_NamedExecuteAlways(\"HF_Gravity\",0 ,0, 3, 2)\nstop\n\n}\n}\n\n// Legacy Water items\nactor LowGravity : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"HasFeetInWater\", 1, \"NoGive\")\nTNT1 A 0 A_GiveInventory(\"GravityFlag\", 1)\nTNT1 A 0 ACS_NamedExecuteAlways(\"HF_Gravity\",0, 1, 3, 2)\nTNT1 A 1 A_GiveInventory(\"IsUnderWater\", 1)\nTNT1 A 1 A_GiveInventory(\"HasFeetInWater\", 1)\nstop\nNoGive:\nTNT1 A 0 A_RailWait\nstop\n}\n}\n\nactor NormalGravity : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_JumpIfInventory(\"HasFeetInWater\", 1, \"Success\")\nGoto NoGive\nSuccess:\nTNT1 A 0 A_TakeInventory(\"GravityFlag\", 1)\nTNT1 A 1 ACS_NamedExecuteAlways(\"HF_Gravity\",0 ,0, 3, 2)\nTNT1 A 1 A_TakeInventory(\"IsUnderWater\", 1)\nTNT1 A 1 A_TakeInventory(\"HasFeetInWater\", 1)\nstop\nNoGive:\nTNT1 A 0 A_RailWait\nstop\n}\n}\n\nactor TeleportFlag : PowerUp\n{\npowerup.duration 5\n}\n\nactor IsUnderWater : Once {}\nactor HasFeetInWater : IsUnderWater {}\n\nactor FlyActivate : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0 A_GiveInventory(\"IsFlying\", 1)\nTNT1 A 1 SetPlayerProperty(0,1,3)\nstop\n}\n}\n\nactor FlyDeactivate : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"TrebleFlightFlag\",1,\"Nope\")\nTNT1 A 0 A_JumpIfInventory(\"RushJetCounter\",1,\"Nope\")\nTNT1 A 0 A_JumpIfInventory(\"BeatCounter\",1,\"Nope\")\nTNT1 A 0 A_JumpIfInventory(\"RushMarineCounter\",1,\"UnderWaterCheck\")\nGoto DeactivateNow\nUnderWaterCheck:\nTNT1 A 0 A_JumpIfInventory(\"IsUnderWater\",1,\"Nope\")\nGoto DeactivateNow\nDeactivateNow:\nTNT1 A 0 A_TakeInventory(\"IsFlying\", 1)\nTNT1 A 1 SetPlayerProperty(0,0,3)\nstop\nNope:\nTNT1 A 0\nstop\n}\n}\n\nactor IsFlying : Once {}\nactor BoostFlag : Once {}\n\nactor ImOnFire\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\nStates\n{\nSpawn:\nTNT1 A 20\nTNT1 A 0 A_GiveToTarget(\"OnFireDamage\",1)\nTNT1 A 20\nTNT1 A 0 A_GiveToTarget(\"OnFireDamage\",1)\nTNT1 A 20\nTNT1 A 0 A_GiveToTarget(\"OnFireDamage\",1)\nTNT1 A 20\nTNT1 A 0 A_GiveToTarget(\"ImNotOnFireNow\",1)\nstop\n}\n}\n\nactor ImFrozen\n{\n+MISSILE\n+NOGRAVITY\n+NOINTERACTION\nStates\n{\nSpawn:\nTNT1 A 60\nTNT1 A 0 A_GiveToTarget(\"ImNotFrozenNow\",1)\nstop\n}\n}\n\nactor OnFireDamage : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 DamageThing(4)\nstop\n}\n}\n\nactor ImNotOnFireNow : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 SetPlayerProperty(0,0,4)\nTNT1 A 0 A_TakeInventory(\"FireVision\",1)\nstop\n}\n}\n\nactor ImNotFrozenNow : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 SetPlayerProperty(0,0,4)\nTNT1 A 0 A_TakeInventory(\"IceVision\",1)\nstop\n}\n}\n\nactor FireVision : PowerSpeed\n{\nPowerup.Duration 1200\nSpeed 0.3\nPowerup.Color Red, 0.5\n}\n\nactor IceVision : PowerProtection\n{\nPowerup.Duration 1200\ndamagefactor \"Normal\", 0.0\nPowerup.Color Blue, 0.5\n}\n\nactor KilledMeStock : Inventory\n{\ninventory.amount 1\ninventory.maxamount 9999\n}\n\nactor IsDead : Once {}\n\nactor GravityForce4 : PowerProtection\n{\nPowerup.Duration 20\ndamagefactor \"GravityHold\", 5.0\n}\n\nactor GravityForce3 : PowerProtection\n{\nPowerup.Duration 20\ndamagefactor \"GravityHold\", 4.0\n}\n\nactor GravityForce2 : PowerProtection\n{\nPowerup.Duration 20\ndamagefactor \"GravityHold\", 3.0\n}\n\nactor GravityForce1 : PowerProtection\n{\nPowerup.Duration 20\ndamagefactor \"GravityHold\", 2.0\n}\n\nactor DarkDamager\n{\nPROJECTILE\nobituary \"%o was squashed by %k.\"\nheight 1\ndamagetype \"QuickBoomerang\"\nradius 1\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(1,64,0)\nstop\n}\n}\n\nactor Shocked : PowerupGiver\n{\n  inventory.maxamount 0\n  powerup.duration 35\n  powerup.color \"00 00 00\", 0.0\n  powerup.type \"PowerShock\"\n  +INVENTORY.AUTOACTIVATE\n  +INVENTORY.ALWAYSPICKUP\n  states\n  {\n  Spawn:\n    TNT1 A 6\n    loop\n  }\n}\n\nactor PowerShock : PowerSpeed\n{\nSpeed 0.0\n}\n\nactor TempInvince : PowerupGiver\n{\n  inventory.pickupmessage \"\"\n  inventory.icon \"TNT1A0\"\n  //inventory.respawntics 4230\n  powerup.duration 48\n  powerup.type \"Invulnerable\"\n  +INVENTORY.AUTOACTIVATE\n  -INVBAR\n  states\n  {\n  Spawn:\n    INVU ABCD 3\n    loop\n  }\n}\n\nactor MonsterBlock : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 1 A_ChangeFlag(\"NOBLOCKMONST\", false)\nstop\n}\n}\n\nactor MonsterUnblock : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 1 A_ChangeFlag(\"NOBLOCKMONST\", true)\nstop\n}\n}\n\nactor Pushable : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 1 A_ChangeFlag(\"PUSHABLE\", true)\nstop\n}\n}\n\nactor JumpCancler : Once {}\n\nactor KilledMe : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nTNT1 A 1\nstop\n}\n}\n\nactor LMSInvincible : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nSKLB G 0 A_ChangeFlag(\"SHOOTABLE\", false)\nSKLB G 1 A_ChangeFlag(\"DONTRIP\", true)\nstop\n}\n}\n\nactor IGMovement : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 ACS_ExecuteAlways(191,0,APROP_SPEED,5,4)\nTNT1 A 0 ACS_ExecuteAlways(191,0,APROP_JUMPZ,13,1)\n//TNT1 A 0 A_GiveInventory(\"HighJumpRune\", 1)\nstop\n}\n}\n\nactor DontTakeAmmo : Once {}\n\nactor ThruActors : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nSKLB G 1 A_ChangeFlag(\"THRUACTORS\", true)\nstop\n}\n}\n\nactor PlayerPropertyFrozen : Inventory\n{\ninventory.amount 1\ninventory.maxamount 99999\n}\n\nactor PlayerPropertyStopped : PlayerPropertyFrozen {}\nactor PlayerPropertyFlight : PlayerPropertyFrozen {}\nactor PlayerPropertyCantseek : PlayerPropertyFrozen {}\n\nactor PlayerPropertyCantseekOff : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 1 A_ChangeFlag(CANTSEEK, false)\nstop\n}\n}\n\nactor PlayerPropertyCantseekOn : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 1 A_ChangeFlag(CANTSEEK, true)\nstop\n}\n}\n\n// To get around the centerview \"feature\"...\nactor PlayerPropertyFlightOff : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 1 SetPlayerProperty(0,0,3)\nstop\n}\n}\n\nactor PlayerPropertyFlightOn : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 1 SetPlayerProperty(0,1,3)\nstop\n}\n}\n\nactor EasyModeDamageReduction : PowerProtection\n{\npowerup.duration -9999\nDamageFactor \"normal\", 0.7\nDamageFactor \"Beam\", 1.0\n}\n\nactor Repulsion : ArtiBlastRadius\n{\n\t+AUTOACTIVATE\n\tStates\n\t{\n\t\tUse:\n\t\tTNT1 A 0 A_Blast(0, 255, 192, 20.0)\n\t\tstop\n\t}\n}\n\nactor NoTeamTranslation : Once {}\n\nactor NoJumpCancel : NoTeamTranslation {}\n\nactor NoHealthBar : Once {}\n\nactor NoHud : NoHealthBar {}\n\nactor NoWeaponTranslation : NoHealthBar {}\n\nactor NoPickups : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nTNT1 A 0 A_ChangeFlag(\"PICKUP\",0)\nstop\n}\n}\n\nactor YesPickups : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nTNT1 A 0 A_ChangeFlag(\"PICKUP\",1)\nstop\n}\n}\n\nactor HealthNumberFlag : Once {}\n\nactor AmmoNumberFlag : Once {}\n\nactor TranslationID : Inventory {}\n\nactor FallDeathExplodeFlag : Once {}\n\nactor NoWeaponSwitchSound : Once {}\n\nactor SetSolid : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nTNT1 A 0 A_ChangeFlag(\"SOLID\", 1)\nstop\n}\n}\n\nactor SetUnsolid : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nTNT1 A 0 A_ChangeFlag(\"SOLID\", 0)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/HFItems.txt",
        "contents": "// Slide delay item\nactor NoSlideFlag : PowerUP\n{\npowerup.duration 20\n}\n\n//Stackable items to determine if all gravity actors are done influencing the player\nactor GravityFlag : Inventory\n{\nInventory.Amount 1\nInventory.MaxAmount 999\n}\n\n//Used by swappable shields\nactor PlayerShieldActive : Once {}\n\n//The shadow the shows when sliding\nactor SlideShadow\n{\n-SOLID\n+NOGRAVITY\n+NOINTERACTION\n+FLOORHUGGER\n+CLIENTSIDEONLY\nRenderstyle \"Stencil\"\nStencilcolor \"Black\"\nAlpha 0.3\nradius 16\nheight 56\nScale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 3\nSLID A 1 A_Fadeout(0.018)\nwait\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor NoZThrust : Powerup\n{\nPowerUP.duration 350\n}\n\n//Armor actors\nactor MegaArmorSpawn\n{\n+NOINTERACTION\n//+NOCLIP\nRadius 16\nHeight 16\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetArg(0, z)\nTNT1 A 0 A_SpawnItemEx(\"MegaArmorSpawn2\", 40, 0, 0, 0, 0, 0, 0, SXF_TRANSFERSPECIAL)\nTNT1 A 0 A_SpawnItemEx(\"MegaArmorSpawn2\", -40, 0, 0, 0, 0, 0, 0, SXF_TRANSFERSPECIAL)\nstop\n}\n}\n\nactor MegaArmorSpawn2\n{\n+NOGRAVITY\nRadius 16\nHeight 16\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(z-floorz > 0, \"Death\")\nTNT1 A 0 A_JumpIf(Args[0] != z, \"Death\")\nTNT1 A 0 Thing_ChangeTID(0,998)\nTNT1 A 350\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor MegaArmor : BasicArmorBonus\n{\ninventory.pickupmessage \"Picked up some armor!\"\nInventory.PickupSound \"misc/door\"\nInventory.respawntics 1050\nDamageFactor \"normal\", 0.9\nArmor.Savepercent 45\nArmor.SaveAmount 5\nArmor.MaxSaveAmount 100\nArmor.Maxbonus 100\n\n-Inventory.AlwaysPickup\nScale 2.0\nStates\n{\nSpawn:\nMAMR A 0\nMAMR A 0 ACS_NamedExecuteAlways(\"HF_ChangeProperty\", 0,  APROP_DROPPED, 0, 175)\nMAMR A 1\nwait\n}\n}\n\nactor MegaArmorSmall : MegaArmor\n{\nArmor.SaveAmount 1\nStates\n{\nSpawn:\nMAMR A 1\nloop\n}\n}\n\n//Replaces of health and energy to show as different styles + defined respawn timers\nactor SmallHealthHF : SmallHealth replaces SmallHealth\n{\n//$Category MM8BDM-Energy\n//$Title Small Health\n//$Sprite HBALA0\n//Inventory.RespawnTics 210\nInventory.RespawnTics 350\ninventory.amount 20\ninventory.maxamount 100\ninventory.pickupmessage \"$PU_SMALLHEALTH\"\n+COUNTITEM\ninventory.pickupsound \"item/energyup\"\nScale 2.0\nStates\n{\nSpawn:\nHBAL A 0\nHBAL A 0 Thing_ChangeTID(0,995)\nTNT1 A 1 ACS_NamedExecuteAlways(\"HF_capsulespriteSpawn\")\nGoto MM2Sprite\nMM1Sprite:\nHBA1 ABABABAB 6\nloop\nMM2Sprite:\nHBAL ABABABAB 6\nloop\nMM7Sprite:\nHBA2 ABABABAB 6\nloop\nMM8Sprite:\nHBA3 ABABABAB 6\nloop\n}\n}\n\nactor BigHealthHF : BigHealth replaces BigHealth\n{\n//$Category MM8BDM-Energy\n//$Title Big Health\n//$Sprite HBALC0\n//Inventory.RespawnTics 550\nInventory.RespawnTics 525\ninventory.amount 55\ninventory.maxamount 100\nScale 2.0\ninventory.pickupmessage \"$PU_LARGEHEALTH\"\ninventory.pickupsound \"item/energyup/large\"\n+COUNTITEM\nStates\n{\nSpawn:\nHBAL C 0\nHBAL C 0 Thing_ChangeTID(0,995)\nTNT1 A 1 ACS_NamedExecuteAlways(\"HF_capsulespriteSpawn\")\nGoto MM2Sprite\nMM1Sprite:\nHBA1 CDCDCDCD 6\nloop\nMM2Sprite:\nHBAL CDCDCDCD 6\nloop\nMM7Sprite:\nHBA2 CDCDCDCD 6\nloop\nMM8Sprite:\nHBA3 CDCDCDCD 6\nloop\n}\n}\n\nactor WeaponEnergyHF : WeaponEnergy replaces WeaponEnergy\n{\n//$Category MM8BDM-Energy\n//$Title Weapon Energy\n//$Sprite EBALA0\n//Inventory.RespawnTics 210\nInventory.RespawnTics 350\ninventory.pickupmessage \"$PU_SMALLENERGY\"\ninventory.amount 1\ninventory.pickupsound \"item/energyup\"\nScale 2.0\nStates\n{\nSpawn:\nEBAL A 0\nEBAL A 0 Thing_ChangeTID(0,996)\nTNT1 A 1 ACS_NamedExecuteAlways(\"HF_capsulespriteSpawn\")\nGoto MM2Sprite\nMM1Sprite:\nEBA1 ABABABAB 6\nloop\nMM2Sprite:\nEBAL ABABABAB 6\nloop\nMM7Sprite:\nEBA2 ABABABAB 6\nloop\nMM8Sprite:\nEBA3 ABABABAB 6\nloop\nPickup:\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(984,0),\"Success\")\nfail\nSuccess:\nTNT1 A 0 ACS_ExecuteAlways(992,0,20)\nstop\n}\n}\n\nactor BigWeaponEnergyHF : BigWeaponEnergy replaces BigWeaponEnergy\n{\n//$Category MM8BDM-Energy\n//$Title Big Weapon Energy\n//$Sprite EBALC0\n//Inventory.RespawnTics 350\nInventory.RespawnTics 525\ninventory.pickupmessage \"$PU_LARGEENERGY\"\n+COUNTITEM\ninventory.pickupsound \"item/energyup/large\"\nScale 2.0\nStates\n{\nSpawn:\nEBAL C 0\nEBAL C 0 Thing_ChangeTID(0,996)\nTNT1 A 1 ACS_NamedExecuteAlways(\"HF_capsulespriteSpawn\")\nGoto MM2Sprite\nMM1Sprite:\nEBA1 CDCDCDCD 6\nloop\nMM2Sprite:\nEBAL CDCDCDCD 6\nloop\nMM7Sprite:\nEBA2 CDCDCDCD 6\nloop\nMM8Sprite:\nEBA3 CDCDCDCD 6\nloop\nPickup:\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(984,0),\"Success\")\nfail\nSuccess:\nTNT1 A 0 ACS_ExecuteAlways(992,0,50)\nstop\n}\n}\n\n//Replacement peg to show FX when grappling\nActor ThunderClawPegHF : ThunderClawPeg replaces ThunderClawPeg\n{\nStates\n{\nSpawn:\nTHOO A 0\nTHOO A 0 A_SpawnItemEx(\"PegChainTop\",0,0,20)\nTHOO A 0 A_JumpIf(ceilingz - z < 16, \"Spawn2\")\nTHOO A 0 A_JumpIf(Args[0]>0, \"Spawn2\")\nTHOO A 1 A_SpawnItemEx(\"PegChain\",0,0,8,0,0,25)\nSpawn2:\nTHOO A 1\nloop\nPain.ThunderClaw:\nPain.ThunderClawPegHelp:\nTHOO A 0 A_ChangeFlag(SHOOTABLE, false)\nTHOO A 1 ACS_ExecuteAlways(248, 0, 70)\nTHOO A 1 A_SpawnItemEx(\"TCGrapple\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)\nTHOO A 0 A_ClearTarget\nTHOO A 0 A_ChangeFlag(SHOOTABLE, true)\nGoto Spawn2\n}\n}\n\n//Chain itself\nactor TCGrapple\n{\n+NOINTERACTION\n+NOCLIP\n+NOGRAVITY\nReactionTime 70\nScale 2.5\nStates\n{\nSpawn:\n\tTNT1 A 0\n\tTNT1 A 0 ACS_NamedExecuteAlways(\"core_drawhookshot\", 0, ACS_NamedExecuteWithResult(\"core_gettarget\"), 32)\nSpawn2:\n\tTNT1 A 1 A_CountDown\n\tTNT1 A 0 A_JumpIfInTargetInventory(\"ReleaseChain\", 1, \"Death\")\n\tloop\nDeath:\n\tTNT1 A 0\n\tstop\n}\n}\n\nactor ReleaseChain : Powerup\n{\nPowerup.duration 5\n}\n\nactor TCGrappleFX : ThunderClawFX\n{\n+NOTIMEFREEZE\nStates\n{\nFrame1:\nTCLA D 1\nstop\nFrame2:\nTCLA E 1\nstop\nFrame3:\nTCLA F 1\nstop\n}\n}\n\n//Replacement actors to allow higher quantity\nactor RushCoilHF : RushCoil replaces RushCoil\n{\ninventory.maxamount 2\n}\n\nactor Item1HF : Item1 replaces Item1\n{\ninventory.maxamount 6\n}\n\nactor Item1PlatformHF : Item1Platform replaces Item1Platform\n{\nStates\n{\nSpawn:\nITEM A 1\nITEM A 0 A_Stop\nITEM A 0 A_ChangeFlag(MISSILE,0)\nITEM A 0 A_ChangeFlag(THRUGHOST,0)\nITEM ABABABABABABABAB 3 ThrustThingZ(0, 2, 0, 0)\nITEM AZBZAZBZAZ 3 ThrustThingZ(0, 2, 0, 0)\nGoto Death\nDeath:\nMMFX B 0 A_Stop\nMMFX B 0 A_ChangeFlag(\"SOLID\",0)\nMMFX B 0 A_ChangeFlag(\"NoInteraction\",1)\nMMFX B 0 A_ChangeFlag(\"NoClip\",1)\nMMFX BCDE 2\nstop\n}\n}\n\nactor Item2HF : Item2 replaces Item2\n{\ninventory.maxamount 4\n}\n\nactor Item3HF : Item3 replaces Item3\n{\ninventory.maxamount 4\n}\n\n//Wtank that refills all weapon energy\nactor WTankHF : WTank replaces WTank\n{\nStates\n{\nUse:\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(984,1),\"Success\")\nfail\nSuccess:\nEBAL E 0 A_PlaySound(\"item/energyup\")\nEBAL E 0 A_PlaySoundEx(\"item/refill\",\"Voice\")\nEBAL E 0 ACS_ExecuteAlways(992, 0, 0, 1)\nstop\n}\n}\n\n//Energy Saver\nActor EnergySaver : CustomInventory replaces EnergyBalancer\n{\n//$Category MM8BDM-Assists\ninventory.amount 1\ninventory.maxamount 1\ninventory.pickupmessage \"Support Item! Energy Saver!\"\nInventory.PickupSound \"item/1up\"\nscale 2.0\n+COUNTITEM\nStates\n{\nSpawn:\nESAV AB 6\nloop\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"EnergySaverActive\", 1, \"Nope\")\nTNT1 A 0 A_GiveInventory(\"EnergySaverActive\", 1)\nTNT1 A 0 ACS_ExecuteAlways(992, 0, 0, 2)\nstop\nNope:\nTNT1 A 0\nfail\n}\n}\n\nActor EnergySaverActive : BackPackItem {}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/Buster/megabuster.txt",
        "contents": "actor MegaBuster : BaseMM8BDMWep\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\nWeapon.SlotNumber 1\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nObituary \"$OB_MEGABUSTER\"\nTag \"$TAG_MEGABUSTER\"\nweapon.ammotype \"BusterAmmo\"\ninventory.icon \"NULLICON\"\nDropitem \"\"\n+WEAPON.WIMPY_WEAPON\n+WEAPON.ALLOW_WITH_RESPAWN_INVUL\nStates\n{\nSpawnLoop:\nWEAP X 1\nloop\nReady:\nBUST B 0 A_JumpIfInventory(\"Once\",1,\"Ready2\")\nBUST B 0 ACS_ExecuteAlways(981,0,0)\nBUST B 0 A_GiveInventory(\"Once\",1)\nGoto Ready2+1\nReady2:\nBUST B 0 ACS_ExecuteAlways(998,0,0)\nBUST B 0 A_TakeInventory(\"WeaponCharge\",999)\nBUST B 1 A_WeaponReady\nGoto Ready2+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBUST B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBUST B 1 A_Raise\nLoop\nFire:\nAltfire:\nBUST B 0 A_JumpIfNoAmmo(\"Hold\")\nBUST B 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nBUST B 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\nBUST B 0 A_TakeInventory(\"WeaponCharge\",999)\nBUST CD 3\nBUST B 1\nBUST B 0 A_Refire\ngoto ready2+1\nFire2:\nBUST B 0 A_TakeInventory(\"WeaponCharge\",999)\nBUST B 0 A_PlaySoundEx(\"weapon/minchrgshot\",\"Weapon\")\nBUST B 1 ACS_ExecuteAlways(991,0,0)\nBUST C 0 A_FireCustomMissile(\"MidShot\",0,0,8,0)\nBUST CD 3\nBUST B 0 A_Refire\ngoto ready2+1\nFire3:\nBUST B 0 A_TakeInventory(\"WeaponCharge\",999)\nBUST B 0 A_StopSoundEx(CHAN_WEAPON)\nBUST B 0 A_PlaySoundEx(\"weapon/minchrgshot\",\"Weapon\")\nBUST C 0 ACS_ExecuteAlways(991,0,0)\nBUST C 0 A_FireCustomMissile(\"MegaShot2\",0,0,8,0)\nBUST CCD 3\nBUST C 9\nBUST B 0 A_Refire\ngoto ready2+1\nHold:\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Charge\")\nBUST B 1 A_GiveInventory(\"WeaponCharge\",1)\nBUST B 0 A_Refire\nGoto Fire\nCharge:\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",19,\"Charge1\")\nBUST B 0 A_PlaySoundEx (\"weapon/chargeup\",\"Weapon\")\nGoto Charge1\nCharge1:\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\nLBST H 1 ACS_ExecuteAlways(991,0,106)\nCHBU H 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nBUST B 1 ACS_ExecuteAlways(991,0,0)\nBUST B 0 A_GiveInventory(\"WeaponCharge\",1)\nCHBU H 0 A_Refire(\"Charge\")\nGoto Fire2\nBotFire:\nBUST B 0 A_Jump(32, \"Fire3\")\nCHBU H 0 A_Refire(\"Charge2\")\nGoto Fire3\nCharge2Start:\nBUST B 0 A_GunFlash(\"Sound.BusterCharge\", GFF_NOEXTCHANGE)\nGoto Charge2\nCharge2:\nLBST I 1 ACS_ExecuteAlways(991,0,107)\nCHBU H 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nBUST B 1 ACS_ExecuteAlways(991,0,0)\nBUST B 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\nCHBU H 0 A_Refire(\"Charge2\")\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\", 35, 2)\nBUST B 0 A_GiveInventory(\"WeaponCharge\",1)\nBUST B 0 A_Refire\nGoto Fire3\n}\n}\n\nactor BusterAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 3\nammo.backpackamount 1\nammo.backpackmaxamount 3\n}\n\nactor MegaShot\n{\nPROJECTILE\n+BRIGHT\ndamagetype \"Buster\"\nObituary \"$OB_MEGABUSTER\"\nSpeed 40\nDamage (10)\nradius 10\nheight 5\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 2\nBUST A 1\nwait\n}\n}\n\nactor MegaShot2 : MegaShot\n{\nPROJECTILE\nDamage (40)\nradius 20\nheight 20\nSpeed 47\nTranslation \"87:87=192:192\", \"42:42=198:198\"\nStates\n{\nSpawn:\nTNT1 A 1\nMMFX EDC 1\nSpawn2:\nPROC ABC 2\nloop\n}\n}\n\nactor ChargingFX\n{\n+NOINTERACTION\n+NOGRAVITY\n//+CLIENTSIDEONLY\n+FORCEXYBILLBOARD\n-SOLID\n+NOTIMEFREEZE\n+SEEKERMISSILE\nRenderStyle \"Add\"\nscale 2.5\nheight 0\nradius 0\nSpeed 16\nReactionTime 6\nStates\n{\nSpawn:\nBLKH T 0\nBLKH S 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_TARGET)//A_ChangeVelocity(-16, 0, 0, CVF_RELATIVE|CVF_REPLACE)\nBLKH S 0 A_FaceTracer\nGoto SpawnLoop\nSpawnLoop:\nBLKH R 0 A_JumpIfCloser(40, \"Death\")\nBLKH R 0 A_SeekerMissile(5, 360, SMF_PRECISE, 0, 0)\nBLKH R 1 A_SpawnItemEx(\"ChargingFX2\",0,0,0,momx/1.5,momy/1.5,0,0,SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nBLKH R 0 A_Countdown\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor ChargingFX2 : ChargingFX\n{\nStates\n{\nSpawn:\nBLKH R 1 A_Fadeout\nBLKH R 0 A_JumpIfCloser(40, \"Death\")\nloop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/Buster/arrowbuster.txt",
        "contents": "actor ArrowBuster : LaserBuster\n{\nInventory.Pickupmessage \"$PU_ARROWBUSTER\"\nObituary \"$OB_ARROWBUSTER\"\nTag \"$TAG_ARROWBUSTER\"\nStates\n{\nSpawnLoop:\nWEA4 L 1\nstop\nFire3:\nBUST B 0 A_TakeInventory(\"WeaponCharge\",999)\nBUST B 0 A_PlaySoundEx(\"weapon/cfire\",\"Weapon\")\nBUST B 0\nBUST C 0 ACS_ExecuteAlways(991,0,0)\nBUST C 0 A_FireCustomMissile(\"ArrowShot\",0,0,8,0)\nBUST CD 3\nBUST C 9\nBUST B 0 A_Refire\ngoto Ready2+2\nBotFire:\nBUST B 0 A_Jump(32, \"Fire3\")\nCHBU H 0 A_Refire(\"Charge2\")\nGoto Fire3\nCharge1:\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\nCHBU H 1 ACS_ExecuteAlways(991,0,92)\nCHBU H 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nBUST B 1 ACS_ExecuteAlways(991,0,0)\nBUST B 0 A_GiveInventory(\"WeaponCharge\",1)\nBUST B 0 A_SpawnItemEx(\"ChargingFX\", Random(64, 128), 0, Random(16, 96), momx, momy, momz, random(45, 315), SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)\nCHBU H 0 A_Refire(\"Charge1\")\nGoto Fire2\nCharge2Start:\nBUST B 0 A_GunFlash(\"Sound.BusterCharge\", GFF_NOEXTCHANGE)\nGoto Charge2\nCharge2:\nBUST B 1 ACS_ExecuteAlways(991,0,93)\nBUST B 0 A_SpawnItemEx(\"ChargingFX\", Random(64, 128), 0, Random(16, 96), momx, momy, momz, random(45, 315), SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)\nCHBU H 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nCHBU I 1 ACS_ExecuteAlways(991,0,94)\nCHBU I 0 A_SpawnItemEx(\"ChargingFX\", Random(64, 128), 0, Random(16, 96), momx, momy, momz, random(45, 315), SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)\nCHBU H 0 A_Refire(\"Charge2.b\")\nGoto Fire3\nCharge2.b:\nCHBU J 1 ACS_ExecuteAlways(991,0,0)\nCHBU J 0 A_SpawnItemEx(\"ChargingFX\", Random(64, 128), 0, Random(16, 96), momx, momy, momz, random(45, 315), SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)\nBUST B 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\", 35, 2)\nBUST B 0 A_GiveInventory(\"WeaponCharge\",1)\nBUST B 0 A_Refire(\"Charge2\")\nGoto Fire3\n}\n}\n\nactor MidShot : Megashot\n{\nPROJECTILE\n+BRIGHT\ndamagetype \"ChargeBuster\"\nObituary \"$OB_MEGABUSTER\"\n//seesound \"weapon/mbuster\"\n//Speed 26\nDamage (25)\nradius 20\nheight 20\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 2\nMBUS AB 2\nGoto Spawn+1\n}\n}\n\nactor ArrowShot\n{\nPROJECTILE\n+FORCEXYBILLBOARD\n+BRIGHT\ndamagetype \"ArrowBuster\"\nObituary \"$OB_ARROWBUSTER\"\nSpeed 54\nDamage (35)\nradius 20\nheight 16\nscale 2.5\nStates\n{\nSpawn:\nARRS ABACAD 1\nLoop\nDeath:\nARRS F 0 A_PlaySoundEx(\"weapon/napalm\", \"Weapon\")\nARRS F 0 A_SpawnItemEx (\"ArrowFrag1\",0,0,0,54,0,0,165,0,0)\nARRS F 0 A_SpawnItemEx (\"ArrowFrag1\",0,0,0,54,0,0,150,0,0)\nARRS F 0 A_SpawnItemEx (\"ArrowFrag1\",0,0,0,54,0,0,135,0,0)\nARRS F 0 A_SpawnItemEx (\"ArrowFrag1\",0,0,0,54,0,0,-135,0,0)\nARRS F 0 A_SpawnItemEx (\"ArrowFrag1\",0,0,0,54,0,0,-150,0,0)\nARRS F 0 A_SpawnItemEx (\"ArrowFrag1\",0,0,0,54,0,0,-165,0,0)\nstop\n}\n}\n\nactor ArrowFrag1\n{\nPROJECTILE\n+NOINTERACTION\n+FORCEXYBILLBOARD\n+BRIGHT\ndamagetype \"ArrowBuster\"\nObituary \"$OB_ARROWBUSTER\"\nDamage (15)\nradius 5\nheight 5\nscale 1.5\nSpeed 26\nStates\n{\nSpawn:\nARRS G 1\nARRS G 1\nARRS G 0 A_Stop\nARRS G 4 A_ChangeFlag(\"NOINTERACTION\", 0)\nARRS GGGG 1 A_SetScale(scalex + 0.25, scaley + 0.25)\nARRS G 0 A_SpawnItemEx(\"ArrowFrag2\",0,0,0,cos(-pitch)*60,0,sin(-pitch)*60,180,0,0)\nStop\nDeath:\nTNT1 A 0\nTNT1 A 0\nstop\n}\n}\n\nactor ArrowFrag2 : ArrowFrag1\n{\nscale 2.5\n-NOINTERACTION\n-NOCLIP\nStates\n{\nSpawn:\nARRS G 3\nARRS H 1\nGoto Spawn+1\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/Buster/laserbuster.txt",
        "contents": "const float SPEED_SCALAR = 0.01;\n\nactor LaserBuster : BaseMM8BDMWep\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\nWeapon.SlotNumber 1\nInventory.Pickupmessage \"$PU_LASERBUSTER\"\nObituary \"$OB_LASERBUSTER\"\nTag \"$TAG_LASERBUSTER\"\nweapon.ammotype \"BusterAmmo\"\ninventory.icon \"NULLICON\"\nDropitem \"\"\nStates\n{\nSpawnLoop:\nWEA4 K 1\nstop\nReady:\nBUST B 0 A_JumpIfInventory(\"BusterGiven\",1,\"TakeBusters\")\nGoto Ready2\nTakeBusters:\nTNT1 Q 0 A_GiveInventory(\"TakeBuster\", 1)\nGoto Ready2\nReady2:\nBUST B 0 ACS_ExecuteAlways(998,0,0)\nBUST B 0 ACS_ExecuteAlways(991,0,0)\nBUST B 0 A_TakeInventory(\"WeaponCharge\",999)\nBUST B 2 A_WeaponReady\nGoto Ready2+2\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBUST B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBUST B 1 A_Raise\nLoop\nFire:\nAltfire:\nBUST B 0 A_JumpIfNoAmmo(\"Hold\")\nBUST B 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nBUST B 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\nBUST B 1 A_TakeInventory(\"WeaponCharge\",999)\nBUST CD 3\nBUST B 1\nBUST B 0 A_Refire\ngoto Ready2+2\nFire2:\nBUST B 0 A_TakeInventory(\"WeaponCharge\",999)\nBUST C 0 A_PlaySoundEx(\"weapon/minchrgshot\",\"Weapon\")\nBUST B 1 ACS_ExecuteAlways(991,0,0)\nBUST C 0 A_FireCustomMissile(\"MidShot\",0,0,8,0)\nBUST CD 3\nBUST B 0 A_Refire\ngoto Ready2+2\nFire3:\nBUST B 0 A_TakeInventory(\"WeaponCharge\",999)\nTNT1 A 0 A_StopSoundEx(\"SoundSlot5\")\nBUST B 0 A_PlaySoundEx(\"weapon/lshot\",\"Weapon\")\nBUST C 0 ACS_ExecuteAlways(991,0,0)\nBUST C 0 A_FireCustomMissile(\"LaserShot\",0,0,8,0)\nBUST CCD 3\nBUST C 9\nBUST B 0 A_Refire\ngoto Ready2+2\nHold:\n//BUST B 0 A_JumpIfInventory(\"WeaponCharge\",34,\"Charge2Start\")\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Charge\")\nBUST B 1 A_GiveInventory(\"WeaponCharge\",1)\nBUST B 0 A_Refire\nGoto Fire\nCharge:\n//BUST B 0 A_JumpIfInventory(\"WeaponCharge\",34,\"Charge2Start\")\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",19,\"Charge1\")\nBUST B 0 A_PlaySoundEx(\"weapon/coilstart\",\"Weapon\")\nGoto Charge1\nCharge1:\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\nLBST H 1 ACS_ExecuteAlways(991,0,106)\nCHBU H 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nBUST B 1 ACS_ExecuteAlways(991,0,0)\nBUST B 0 A_GiveInventory(\"WeaponCharge\",1)\nBUST B 0 A_SpawnItemEx(\"ChargingFX\", Random(64, 128), 0, Random(16, 96), momx, momy, momz, random(45, 315), SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)\nCHBU H 0 A_Refire(\"Charge\")\nGoto Fire2\nBotFire:\nBUST B 0 A_Jump(32, \"Fire3\")\nCHBU H 0 A_Refire(\"Charge2\")\nGoto Fire3\nCharge2Start:\nBUST B 0 A_GunFlash(\"Sound.BusterCharge\", GFF_NOEXTCHANGE)\nGoto Charge2\nCharge2:\nLBST I 1 ACS_ExecuteAlways(991,0,107)\nLBST B 0 A_SpawnItemEx(\"ChargingFX\", Random(64, 128), 0, Random(16, 96), momx, momy, momz, random(45, 315), SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)\nCHBU H 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nBUST B 1 ACS_ExecuteAlways(991,0,0)\nLBST B 0 A_SpawnItemEx(\"ChargingFX\", Random(64, 128), 0, Random(16, 96), momx, momy, momz, random(45, 315), SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)\nBUST B 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\nCHBU H 0 A_Refire(\"Charge2\")\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\", 35, 2)\nBUST B 0 A_GiveInventory(\"WeaponCharge\",1)\nBUST B 0 A_Refire\nGoto Fire3\n}\n}\n\nactor LaserShot\n{\nPROJECTILE\n+DONTREFLECT\n+FORCEXYBILLBOARD\n+RIPPER\nSpeed 55\nDamage (0)\nradius 5\nheight 5\nscale 2.5\nReactionTime 9\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_ScaleVelocity(SPEED_SCALAR)\nSpawn2:\nTNT1 A 0 A_CountDown\nTNT1 A 0 A_SpawnItemEx(\"MegaLaser\",0,0,0,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),0,SXF_ABSOLUTEMOMENTUM)\nTNT1 A 0 A_SpawnItemEx(\"LaserTrail\",0,0,0,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),0,SXF_ABSOLUTEMOMENTUM)\nTNT1 A 0 A_SpawnItemEx(\"LaserTrail\",-(momx/SPEED_SCALAR)/3,-(momy/SPEED_SCALAR)/3,-(momz/SPEED_SCALAR)/3,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),0,SXF_ABSOLUTEPOSITION|SXF_ABSOLUTEMOMENTUM)\nTNT1 A 0 A_SpawnItemEx(\"LaserTrail\",-(momx/SPEED_SCALAR)*2/3,-(momy/SPEED_SCALAR)*2/3,-(momz/SPEED_SCALAR)*2/3,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),0,SXF_ABSOLUTEPOSITION|SXF_ABSOLUTEMOMENTUM)\nTNT1 A 1\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor MegaLaser\n{\nPROJECTILE\n+DONTREFLECT\n+FORCEXYBILLBOARD\n+RIPPER\n+BRIGHT\ndamagetype \"LaserBuster\"\nObituary \"$OB_LASERBUSTER\"\nDamage (5)\nradius 16\nheight 10\nscale 2.5\nrenderstyle none\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nSpawn2:\nLASH AB 1\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor LaserTrail : MegaLaser\n{\nrenderstyle normal\nDamage(0)\n+CLIENTSIDEONLY\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/Buster/bassbuster.txt",
        "contents": "actor BassBuster : BaseMM8BDMWep\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\nWeapon.SlotNumber 1\nInventory.Pickupmessage \"$PU_BASSBUSTER\"\nObituary \"$OB_BASSBUSTER\"\nTag \"$TAG_BASSBUSTER\"\nweapon.ammotype \"BusterAmmo\"\ninventory.icon \"NULLICON\"\nDropitem \"\"\nStates\n{\nSpawnLoop:\nWEA3 A 1\nstop\nReady:\nBASB B 0 A_JumpIfInventory(\"BusterGiven\",1,\"TakeBusters\")\nGoto Ready2\nTakeBusters:\nTNT1 Q 0 A_GiveInventory(\"TakeBuster\", 1)\nGoto Ready2\nReady2:\nBASB B 0 ACS_ExecuteAlways(998,0,46)\nBASB B 1 A_WeaponReady\nGoto Ready2+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBASB B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBASB B 1 A_Raise\nLoop\nFire:\nBASB B 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nBASB B 0 A_FireCustomMissile(\"BassShot\",random(-2,2),0,8,0)\nBASB CDB 1\nBASB B 0 A_Refire\ngoto Ready2+1\n}\n}\n\nactor BassBusterRage : Inventory\n{\ninventory.amount 1\ninventory.maxamount 999\n}\n\nactor BassShot : FastProjectile\n{\nPROJECTILE\n+FORCEXYBILLBOARD\n+BRIGHT\ndamagetype \"BassBuster\"\nObituary \"$OB_BASSBUSTER\"\nSpeed 70\nDamage (8-args[0])\nradius 5\nheight 5\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 1\nBASB AAAA 1\nBASB A 0 A_SetArg(0, 1)\nBASB A 1\nwait\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/Buster/duofist.txt",
        "contents": "actor DuoFist : BaseMM8BDMWep\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\nWeapon.SlotNumber 1\nInventory.Pickupmessage \"$PU_DUOFIST\"\nObituary \"$OB_DUOFIST\"\nTag \"$TAG_DUOFIST\"\nweapon.ammotype \"BusterAmmo\"\ninventory.icon \"NULLICON\"\nDropitem \"\"\nStates\n{\nSpawnLoop:\nDUOF A 1\nstop\nReady:\nDUOF B 0 A_JumpIfInventory(\"BusterGiven\",1,\"TakeBusters\")\nGoto Ready2\nTakeBusters:\nTNT1 Q 0 A_GiveInventory(\"TakeBuster\", 1)\nGoto Ready2\nReady2:\nDUOF C 0 ACS_ExecuteAlways(998,0,101)\nDUOF C 0 ACS_ExecuteAlways(991,0,101)\nDUOF C 0 A_TakeInventory(\"WeaponCharge\",999)\nDUOF C 1 A_WeaponReady\nGoto Ready2+2\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nDUOF C 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nDUOF C 1 A_Raise\nLoop\nFire:\nAltfire:\nDUOF C 0 A_JumpIfNoAmmo(\"Hold\")\nDUOF C 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nDUOF C 0 A_FireCustomMissile(\"DuoPunch\",0,0,8,0)\nDUOF C 0 A_TakeInventory(\"WeaponCharge\",999)\nDUOF G 1 A_TakeInventory(\"FistFlag\",1)\nGoto FistWait\nFistWait:\nDUOF G 1\nDUOF G 0 A_GiveInventory(\"AdapterWaitCount\",1)\nDUOF G 0 A_JumpIfInventory(\"AdapterWaitCount\",20,\"FistFinish\")\nDUOF G 0 A_JumpIfInventory(\"FistFlag\",1,\"FistFinish\")\nloop\nFistFinish:\nDUOF G 0 A_PlayWeaponSound(\"weapon/adapterreturn\")\nDUOF G 0 A_TakeInventory(\"FistFlag\",1)\nDUOF G 0 A_JumpIfInventory(\"AdapterWaitCount\", 8, 2) //Adds a slight delay if fired at very close range\nDUOF D 2\nDUOF G 0 A_TakeInventory(\"AdapterWaitCount\",999)\nDUOF DC 3\nDUOF B 0 A_Refire\nGoto Ready2+2\nFire2:\nDUOF B 0 A_TakeInventory(\"WeaponCharge\",999)\nDUOF CD 1\nDUOF B 0 A_PlaySoundEx(\"weapon/minchrgshot\",\"Weapon\")\nDUOF B 0 A_FireCustomMissile(\"MidFist\",0,0,8,0)\nDUOF B 0 ACS_ExecuteAlways(991,0,101)\nDUOF G 12\nDUOF DC 3\nDUOF B 0 A_Refire\ngoto Ready2+2\nFire3:\nDUOF B 0 A_TakeInventory(\"WeaponCharge\",999)\nDUOF B 0\nDUOF B 0 ACS_ExecuteAlways(991,0,101)\nDUOF B 0 A_PlaySoundEx(\"weapon/cfire\",\"Weapon\")\nDUOF B 0 A_FireCustomMissile(\"GigaFist\",0,0,8,0)\nDUOF B 0 ACS_ExecuteAlways(991,0,101)\nDUOF EF 1\nDUOF G 15\nDUOF DC 3\nDUOF B 0 A_Refire\ngoto Ready2+2\nHold:\nDUOF B 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Charge\")\nDUOF B 1 A_GiveInventory(\"WeaponCharge\",1)\nDUOF B 0 A_Refire\nGoto Ready2+2\nCharge:\nDUOF B 0 A_JumpIfInventory(\"WeaponCharge\",19,\"Charge1\")\nDUOF B 0 A_PlaySoundEx(\"weapon/coilstart\",\"Weapon\")\nGoto Charge1\nCharge1:\nDUOF B 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\nDUOF H 1 ACS_ExecuteAlways(991,0,102)\nDUOF H 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nDUOF B 1 ACS_ExecuteAlways(991,0,101)\nDUOF B 0 A_GiveInventory(\"WeaponCharge\",1)\nDUOF H 0 A_Refire(\"Charge1\")\nGoto Fire2\nCharge2Start:\nDUOF K 0 A_GunFlash(\"Sound.BusterCharge\", GFF_NOEXTCHANGE)\nGoto Charge2\nCharge2:\nDUOF K 1 ACS_ExecuteAlways(991,0,103)\nDUOF H 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nDUOF I 1 ACS_ExecuteAlways(991,0,104)\nDUOF H 0 A_Refire(\"Charge2.b\")\nGoto Fire3\nCharge2.b:\nDUOF J 1 ACS_ExecuteAlways(991,0,101)\nDUOF J 0 A_JumpIfInventory(\"WeaponCharge\", 35, 3)\nDUOF J 0 A_GiveInventory(\"WeaponCharge\",1)\nDUOF J 0 A_GunFlash\nDUOF J 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\nDUOF H 0 A_Refire(\"Charge2\")\nGoto Fire3\nBotFire:\nDUOF H 0 A_Jump(32, \"Fire3\")\nDUOF H 0 A_Refire(\"Charge2\")\nGoto Fire3\n}\n}\n\nactor DuoPunch\n{\nPROJECTILE\n+SKYEXPLODE\nPROJECTILE\nDamage (35)\nSpeed 45\nRadius 10\nHeight 10\nscale 2.5\ndamagetype \"DuoFist1\"\nObituary \"$OB_DUOFIST\"\nStates\n{\nSpawn:\nGIGF A 0\nGIGF A 0 A_GiveInventory(\"CutterFlag\", 7)\nSpawn2:\nGIGF A 0\nGIGF A 1 A_SpawnItemEx(\"DuoPunchWire\")\nGIGF A 0 A_TakeInventory(\"CutterFlag\", 1)\nGIGF A 0 A_JumpIfInventory(\"Cutterflag\", 2, \"Spawn2\")\nGIGF A 0\nGoto Spawn3\nSpawn3:\nGIGF AA 1\nGIGF A 0 A_TakeInventory(\"CutterFlag\", 999)\nGoto Death\nXDeath:\nTNT1 A 0 ACS_ExecuteAlways(247, 0, -7, 64)\nDeath:\nTNT1 A 1 A_CustomMissile(\"DuoPunchReturn\",0,0,0,0)\nTNT1 A 5\nstop\n}\n}\n\nActor DuoPunchReturn\n{\nradius 0\nheight 0\nspeed 60\ndamage (0)\nscale 2.5\n+DONTBLAST\n+RIPPER\nPROJECTILE\n+SKYEXPLODE\n+NOINTERACTION\nstates\n{\nSpawn:\nGIGF J 0\nGIGF J 0 A_FaceTarget\nGIGF J 0 A_CustomMissile(\"DuoPunchWire\",0,0,0,0)\nGIGF JJJJ 1 A_JumpIfCloser(60,\"Return\")\nTNT1 A 0 A_CustomMissile(\"DuoPunchReturn\",0,0,0,0)\nstop\nReturn:\nGIGF A 0 A_GiveToTarget(\"FistFlag\",1)\nstop\n}\n}\n\nActor DuoPunchWire : DuoPunch\n{\nDamage (0)\n+NOCLIP\n//+CLIENTSIDEONLY\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nTNT1 A 0 A_SpawnItemEx(\"DuoPunchWireFX\")\nTNT1 A 0 A_JumpIfCloser(64, \"Death\")\nTNT1 A 0 A_CustomMissile(\"DuoPunchWire\", 0, 0, 0, 0)\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nActor DuoPunchWireFX\n{\n+NOINTERACTION\n//+CLIENTSIDEONLY\nScale 2.5\nStates\n{\nSpawn:\nTNT1 A 1\nTNT1 A 0 A_JumpIfCloser(32, \"Death\")\nGIGF B 2\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor MidFist\n{\nPROJECTILE\n+SKYEXPLODE\n+BRIGHT\nScale 2.5\ndamagetype \"DuoFist2\"\nObituary \"$OB_DUOFIST\"\nDamage (45)\nSpeed 40\nRadius 16\nHeight 10\nStates\n{\nSpawn:\nGIGF CD 1\nLoop\nXDeath:\nGIGF F 0 ACS_ExecuteAlways(247, 0, -15, 64)\nDeath:\nGIGF F 0\nGIGF F 0 A_Recoil(5)\nGIGF F 0 A_SetScale(scaleX + 0.1, ScaleY + 0.1)\nGIGF CD 1 A_FadeOut\nGoto Death+2\n}\n}\n\nactor GigaFist\n{\nPROJECTILE\n+SKYEXPLODE\n+BRIGHT\nRenderStyle \"Translucent\"\nAlpha 0.98\nscale 2.5\ndamagetype \"DuoFist3\"\nObituary \"$OB_DUOFIST\"\nSpeed 40\nRadius 20\nHeight 10\nDamage (90)\nStates\n{\nSpawn:\nGIGF F 2\nGIGF F 1 A_SpawnItemEx(\"GigaFistFX\",64,0,0,momx/7,momy/7,momz/7,0,SXF_ABSOLUTEMOMENTUM)\nGIGF G 2\nloop\nXDeath:\nGIGF F 0 ACS_ExecuteAlways(247, 0, -25, 64)\nDeath:\nGIGF F 0\nGIGF F 0 A_Recoil(5)\nGIGF F 0 A_SetScale(scaleX + 0.1, ScaleY + 0.1)\nGIGF F 1 A_FadeOut\nGoto Death+2\n}\n}\n\nActor GigaFistFX\n{\n+NOINTERACTION\n+CLIENTSIDEONLY\n+BRIGHT\nScale 2.5\nStates\n{\nSpawn:\nTNT1 A 1\nGIGF H 3\nGIGF I 5\nGoto Death\nDeath:\nGIGF I 1 A_FadeOut(0.5)\nLoop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/Buster/superadaptor.txt",
        "contents": "actor SuperAdaptorWep : BaseMM8BDMWep\n{\n\tWeapon.AmmoUse 1\n\tWeapon.AmmoGive 3\n\tWeapon.SlotNumber 1\n\tInventory.Pickupmessage \"$PU_SUPERADAPTOR\"\n\tObituary \"$OB_SUPERADAPTOR\"\n\tTag \"$TAG_SUPERADAPTOR\"\n\tweapon.ammotype \"BusterAmmo\"\n\tinventory.icon \"NULLICON\"\n\tDropitem \"\"\n\tStates\n\t{\n\tSpawn:\n\t\tWEA3 P 1\n\t\tstop\n\tReady:\n\t\tSAPT A 0 A_GiveInventory(\"AdaptorFlag\",1)\n\t\tTNT1 B 0 A_JumpIfInventory(\"BusterGiven\",1,\"TakeBusters\")\n\t\tgoto Ready2\n\tTakeBusters:\n\t\tTNT1 Q 0 A_GiveInventory(\"TakeBuster\", 1)\n\t\tgoto Ready2\n\tReady2:\n\t\tSAPT A 0 ACS_ExecuteAlways(998,0,77)\n\t\tSAPT A 0 A_SpawnItemEx(\"AdaptorWings\",0,0,0,0,0,0,0,0)\n\tReady3:\n\t\tSAPT A 1 A_WeaponReady\n\t\tgoto Ready3\n\tDeselect:\n\t\tSAPT A 1 A_StopSoundEx(\"Weapon\")\n\t\tTNT1 A 0 //A_JumpIf(z-floorz!=0, \"Deselect\")\n\t\tTNT1 A 0 A_TakeInventory(\"AdaptorFlag\",1)\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\t\tSAPT A 1 A_Lower\n\t\tLoop\n\tSelect:\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\t\tSAPT A 1 A_Raise\n\t\tLoop\n\tFire:\n\tAltfire:\n\t\tSAPT A 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\t\tSAPT A 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\n\t\tSAPT A 0 ACS_ExecuteAlways(991,0,77)\n\t\tSAPT A 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\n\t\tSAPT BC 3\n\t\tSAPT E 2 A_TakeInventory(\"WeaponCharge\",999)\n\t\tSAPT B 0 A_Refire\n\t\tSAPT A 0 ACS_ExecuteAlways(998,0,77,1)\n\t\tgoto Ready3\n\tHold:\n\t\tSAPT D 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2\")\n\t\tSAPT D 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Charge\")\n\t\tSAPT A 1 A_GiveInventory(\"WeaponCharge\",1)\n\t\tSAPT D 0 A_Refire\n\t\tgoto Fire\n\tCharge:\n\t\tSAPT D 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2\")\n\t\tSAPT D 0 A_JumpIfInventory(\"WeaponCharge\",19,\"Charge1\")\n\t\tSAPT D 0 A_PlaySoundEx(\"weapon/adaptercharge\",\"Weapon\")\n\t\tSAPT ADADAD 1\n\t\tgoto Charge1\n\tCharge1:\n\t\tSAPT A 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\n\t\tSAPT A 0 ACS_ExecuteAlways(991,0,77)\n\t\tSAPT A 1 A_GiveInventory(\"WeaponCharge\",1)\n\t\tSAPT A 0 A_Refire(\"Charge1.a\")\n\t\tgoto Fire\n\tCharge1.a:\n\t\tSAPT A 0 ACS_ExecuteAlways(991,0,78)\n\t\tSAPT D 1 //A_GiveInventory(\"AdapterCharge\",1)\n\t\tSAPT A 0 A_Refire(\"Charge1\")\n\t\tgoto Fire\n\tCharge2Start:\n\t\tSAPT G 0 A_GunFlash(\"Sound.BusterCharge\", GFF_NOEXTCHANGE)\n\tCharge2:\n\t\tSAPT G 1 ACS_ExecuteAlways(991,0,79)\n\t\tSAPT A 0 A_Refire(\"Charge2.a\")\n\t\tgoto Fire2\n\tCharge2.a:\n\t\tSAPT H 1 ACS_ExecuteAlways(991,0,80)\n\t\tSAPT A 0 A_Refire(\"Charge2.b\")\n\t\tgoto Fire2\n\tCharge2.b:\n\t\tSAPT K 1 ACS_ExecuteAlways(991,0,77)\n\t\tSAPT A 0 A_Refire(\"Charge2.c\")\n\t\tgoto Fire2\n\tCharge2.c:\n\t\tSAPT K 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\n\t\tSAPT A 0 A_Refire(\"Charge2\")\n\t\tgoto Fire2\n\tBotFire:\n\t\tSAPT K 0 A_Jump(32, \"Fire2\")\n\t\tSAPT A 0 A_Refire\n    Fire2:\n        SAPT A 0 ACS_ExecuteAlways(991,0,77)\n        SAPT I 0 A_TakeInventory(\"WeaponCharge\",999)\n        SAPT I 0 A_TakeInventory(\"FistFlag\",1)\n        SAPT I 0 A_PlaySoundEx(\"weapon/adapterfire\", \"Weapon\")\n        SAPT I 10 A_FireCustomMissile(\"AdaptorFist\",1,0,8,0)\n        goto FistWait\n    FistWait:\n        SAPT I 1 A_GiveInventory(\"AdapterWaitCount\",1)\n        SAPT I 0 A_JumpIfInventory(\"AdapterWaitCount\",90,\"FistFinish\")\n        SAPT I 0 A_JumpIfInventory(\"FistFlag\",1,\"FistFinish\")\n        loop\n\tFistFinish:\n\t\tSAPT I 0\n\t\tSAPT I 0 A_TakeInventory(\"AdapterWaitCount\",999)\n\t\tSAPT I 0 A_PlaySoundEx(\"weapon/adapterreturn\", \"Voice\")\n\t\tSAPT I 0 A_TakeInventory(\"FistFlag\",1)\n\t\t//SAPT A 0 ACS_ExecuteAlways(998,0,77,1)\n\t\tgoto Ready3\n\tNoFlash:\n\t\tTNT1 A 0\n\t\tstop\n\tNoAmmo:\n\t\tSAPT A 1\n\t\tgoto Ready\n\t}\n}\n\nactor AdapterWaitCount : Inventory\n{\n\tinventory.amount 1\n\tinventory.maxamount 100\n}\n\nactor AdaptorFist\n{\n\tPROJECTILE\n\t+SEEKERMISSILE\n\t+SKYEXPLODE\n\t+SCREENSEEKER\n\tRadius 10\n\tHeight 10\n\tscale 2.5\n\tdamage (45)\n\tdamagetype \"SuperAdaptor\"\n\tObituary \"$OB_SUPERADAPTOR\"\n\tspeed 50\n\treactiontime 15\n\tStates\n\t{\n\tSpawn:\n\t\tSAPT J 0\n\t\tSAPT J 1 A_SeekerMissile (2, 10, SMF_LOOK, 50, 10)\n\t\tSAPT J 0 A_SpawnItemEx(\"FistFX\")\n\t\tSAPT J 0 A_CountDown\n\t\tSAPT J 1 A_SeekerMissile (2, 10, SMF_LOOK, 50, 10)\n\t\tSAPT J 0 A_CountDown\n\t\tloop\n\tDeath:\n\t\tTNT1 A 1 A_CustomMissile(\"FistReturn\",0,0,0,0)\n\t\tstop\n\t}\n}\n\nactor FistFX : ExplosionEffect1\n{\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 2\n\t\tMMFX D 1\n\t\tMMFX E 1 A_Fadeout\n\t\twait\n\t}\n}\n\nactor FistFlag : Once {}\n\nactor FistReturn\n{\n\tPROJECTILE\n\t+NOINTERACTION\n\tradius 0\n\theight 0\n\tspeed 40\n\tdamage 0\n\tscale 2.5\n\tstates\n\t{\n\tSpawn:\n\t\tSAPT J 1 A_FaceTarget\n\t\tSAPT J 0 A_JumpIfCloser(60,\"Return\")\n\t\tSAPT J 1 A_FaceTarget\n\t\tSAPT J 0 A_JumpIfCloser(60,\"Return\")\n\t\tSAPT J 1 A_FaceTarget\n\t\tSAPT J 0 A_JumpIfCloser(60,\"Return\")\n\t\tSAPT J 1 A_FaceTarget\n\t\tSAPT J 0 A_JumpIfCloser(60,\"Return\")\n\t\tTNT1 A 0 A_CustomMissile(\"FistReturn\",0,0,0,0)\n\t\tstop\n\tReturn:\n\t\tSAPT J 0 A_GiveToTarget(\"FistFlag\",1)\n\t\tstop\n\t}\n}\n\nactor AdaptorFlag : FistFlag {}\n\nactor BoostCount : Inventory\n{\n\tinventory.amount 1\n\tinventory.maxamount 30\n}\n\nactor BoostGive : CustomInventory\n{\n\tinventory.amount 1\n\tinventory.maxamount 1\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tstop\n\tPickup:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"BoosterFX\",-20,-15,12,-5,-2,-10,0)\n\t\tTNT1 A 0 A_SpawnItemEx(\"BoosterFX\",-20, 15,12,-5, 2,-10,0)\n\t\tTNT1 A 0 A_Recoil(-2)\n\t\tTNT1 A 0 ThrustThingZ(0,30,0,0)\n\t\tstop\n\t}\n}\n\nactor BoosterFX : ExplosionEffect1\n{\n\tmass 1\n\trenderstyle \"translucent\"\n\talpha 0.8\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 1\n\t\tgoto Super::Spawn+1\n\t}\n}\n\nactor AdaptorWings : BaseShieldWarper\n{\n\ttranslation \"192:192=4:4\", \"198:198=42:42\"\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"core_shieldwarper_buster\", 0, 1)\n\t\tTNT1 A 0 A_Jump(256, \"Shield\")\n\t\tGoto Shield\n\tShield:\n\t\tSAPT F 1 A_Warp(AAPTR_TARGET, -12, 0, 18, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)\n\t\tloop\n\t}\n}\n\nactor Boosting : CustomInventory\n{\n\t+INVENTORY.AUTOACTIVATE\n\tStates\n\t{\n\tUse:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SpawnItemEx(\"BoostMan\")\n\t\tTNT1 A 0 A_PlaySoundEx(\"weapon/superboost\",\"Voice\")\n\t\tstop\n\t}\n}\n\nactor BoostMan\n{\n\t-SOLID\n\t+NOGRAVITY\n\t+MISSILE\n\t+NOBLOCKMAP\n\tHeight 0\n\tRadius 0\n\tscale 2.5\n\t+NOINTERACTION\n\tStates\n\t{\n\tSpawn:\n\tBoostLoop1:\n\t\tTNT1 A 2 A_GiveToTarget(\"BoostGive\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"BoostCount\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"BoostCount\",9,\"BoostEnd\")\n\t\tTNT1 A 0 A_JumpIfInTargetInventory(\"AdaptorFlag\",1,\"BoostLoop1\")\n\t\tstop\n\tBoostEnd:\n\t\tTNT1 A 0 A_TakeInventory(\"BoostCount\",999)\n\t\tstop\n\tDeath:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/Buster/trebleboost.txt",
        "contents": "actor TrebleBoost : BaseMM8BDMWep\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 28\nWeapon.SlotNumber 1\nInventory.Pickupmessage \"$PU_TREBLEBOOST\"\nObituary \"$OB_TREBLEBOOST\"\nTag \"$TAG_TREBLEBOOST\"\nweapon.ammotype \"BusterAmmo\"\ninventory.icon \"NULLICON\"\nDropitem \"\"\nStates\n{\nSpawnLoop:\nTRBB I 1\nstop\nReady:\nTREB B 0\nTREB B 0 ACS_ExecuteAlways(998,0,178)\nTREB B 2 A_GiveInventory(\"TrebleBoostActive\", 1)\nTREB B 0 A_SpawnItemEx(\"TrebleBoostWings\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nTREB B 0 A_JumpIfInventory(\"BusterGiven\",1,\"TakeBusters\")\nGoto Ready2\nTakeBusters:\nTNT1 A 0 A_GiveInventory(\"TakeBuster\",1)\nGoto Ready2\nReady2:\nTREB B 1 A_WeaponReady\nLoop\nDeselect:\nTREB B 0 A_TakeInventory(\"TrebleBoostActive\", 1)\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nTREB B 1 A_Lower\nGoto Deselect+1\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nTREB B 1 A_Raise\nLoop\n\nFire:\nTREB C 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nTREB C 0 A_FireCustomMissile(\"BoostShot\",-10,0,8,0)\nTREB C 0 A_FireCustomMissile(\"BoostShot\",10,0,8,0)\nTREB C 0 A_FireCustomMissile(\"BoostShot\",0,0,8,0)\nTREB DDDCCC 1\nTREB B 9\ngoto Ready2\n}\n}\n\nactor TrebleBoostJet : PowerUp\n{\n    powerup.duration 20\n}\n\nactor TrebleBoostDelay : PowerUp\n{\n    powerup.duration 40\n}\n\nactor TrebleBoostActive : Once {}\n\nactor TrebleBoostAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\n}\n\nactor BoostShot : FastProjectile\n{\nPROJECTILE\n+FORCEXYBILLBOARD\n+BRIGHT\ndamagetype \"TrebleBoost\"\nObituary \"$OB_TREBLEBOOST\"\nSpeed 64\nDamage (13)\nRadius 5\nHeight 5\nscale 2.5\nStates\n{\nSpawn:\nBASB A 1\nloop\n}\n}\n\nactor TrebleFlightFlag : Once {}\n\nactor TrebleFlightCounter : Inventory\n{\ninventory.amount 1\ninventory.maxamount 28\n}\n\nactor TrebleBoostWings : BaseShieldWarper\n{\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"core_shieldwarper_buster\", 0, 1)\n\t\tTNT1 A 0 A_Jump(256, \"Shield\")\n\t\tGoto Shield\n\tShield:\n        TREB G 1 A_Warp(AAPTR_TARGET, -12, 0, 18, 0, WARPF_INTERPOLATE|WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)\n\tDisabled:\n        TREB G 0 A_JumpIfInTargetInventory(\"TrebleBoostJet\", 1, \"Smoke\")\n        TREB G 0 A_JumpIfInTargetInventory(\"TrebleBoostActive\", 1,\"Shield\")\n\t\tTREB G 1 A_Warp(AAPTR_TARGET, -12, 0, 18, 0, WARPF_INTERPOLATE|WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)\n        loop\n    Smoke:\n        TREB G 0 A_SpawnItemEx(\"TrebleBoostTrail\", 0, 18, 0, 0, 0, -5)\n        TREB G 0 A_SpawnItemEx(\"TrebleBoostTrail\", 0, -16, 0, 0, 0, -5)\n        TREB FE 1 bright A_Warp(AAPTR_TARGET, -12, 0, 18, 0, WARPF_INTERPOLATE|WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)\n        goto Disabled\n\t}\n}\n\nactor TrebleBoostTrail\n{\n    +NOINTERACTION\n    +NOGRAVITY\n    +CLIENTSIDEONLY\n    +FORCEXYBILLBOARD\n    -SOLID\n    +BRIGHT\n    scale 2.5\n    height 0\n    radius 0\n    States\n    {\n    Spawn:\n        MMFX ZBCDE 1\n        stop\n    }\n}\n\n// LEGACY\n\nactor TrebleBoostTeleport\n{\nRadius 8\nHeight 8\nscale 2.5\n+NOINTERACTION\nPROJECTILE\n+DONTBLAST\nstates\n{\nSpawn:\nTFOG A 7\nstop\n}\n}\n\nactor TrebleBoostWatcher\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n+NOGRAVITY\n+MISSILE\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"FlyActivate\", 1)\nGoto TakeAmmo\nTakeAmmo:\nTNT1 A 0 A_TakeFromTarget(\"TrebleBoostAmmo\",1,TIF_NOTAKEINFINITE)\nTNT1 A 0 A_TakeInventory(\"CutterFlag\", 10)\nGoto Spawn2\nSpawn2:\nTNT1 A 1 A_GiveInventory(\"CutterFlag\", 1)\nTNT1 A 0 A_JumpIfInTargetInventory(\"IsDead\",1,\"Death\")\nTNT1 A 0 A_JumpIfInventory(\"CutterFlag\", 10, \"TakeAmmo\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TrebleBoostAmmo\",1,1)\nGoto Death\nTNT1 A 0 A_JumpIfInTargetInventory(\"TrebleFlightFlag\",1,\"Spawn2\")\nGoto Death\nDeath:\nTNT1 A 0 A_TakeFromTarget(\"TrebleFlightFlag\",1)\nTNT1 A 0 A_GiveToTarget(\"FlyDeActivate\", 1)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/Buster/megaarm.txt",
        "contents": "actor MegaArm : BaseMM8BDMWep\n{\n    Weapon.AmmoUse 1\n    Weapon.AmmoGive 3\n    Weapon.SlotNumber 1\n    Inventory.Pickupmessage \"$PU_MEGAARM\"\n    Obituary \"$OB_MEGAARM\"\n    Tag \"$TAG_MEGAARM\"\n    weapon.ammotype \"BusterAmmo\"\n    inventory.icon \"NULLICON\"\n    Dropitem \"\"\n    States\n    {\n    SpawnLoop:\n        MARM A 1\n        stop\n    Ready:\n        BUST B 0 A_JumpIfInventory(\"BusterGiven\",1,\"TakeBusters\")\n        Goto Ready2\n    TakeBusters:\n        BUST B 0 A_GiveInventory(\"TakeBuster\", 1)\n        Goto Ready2\n    Ready2:\n        BUST B 0 ACS_ExecuteAlways(998,0,0)\n        BUST B 0 ACS_ExecuteAlways(998,0,0,1)\n        BUST B 0 A_TakeInventory(\"WeaponCharge\",999)\n        BUST B 2 A_WeaponReady\n        Goto Ready2+2\n    Deselect:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n        BUST B 1 A_Lower\n        Loop\n    Select:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n        BUST B 1 A_Raise\n        Loop\n    Fire:\n    Altfire:\n        BUST B 0 A_JumpIfNoAmmo(\"Hold\")\n        BUST B 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\n        BUST B 0 A_TakeInventory(\"WeaponCharge\",999)\n        BUST B 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\n        BUST C 1\n        BUST B 0 ACS_ExecuteAlways(998,0,0,1)\n        BUST C 2\n\t\tBUST D 3\n        BUST B 1\n        BUST B 0 A_Refire\n        goto Ready2+2\n    MiniFire:\n        TNT1 A 0 A_TakeInventory(\"WeaponCharge\",999)\n        TNT1 A 0 A_StopSoundEx(\"SoundSlot5\")\n        TNT1 A 0 A_PlaySoundEx(\"weapon/megaarmmini\",\"Weapon\")\n        TNT1 A 0 A_FireCustomMissile(\"MegaArmHand\",0,0,8,0)\n        TNT1 A 1\n        TNT1 A 0 A_GiveInventory(\"MegaArmWait\", 1)\n        TNT1 A 0 ACS_ExecuteAlways(998,0,0,1)\n        goto ChargeFireWait\n    ChargeFire:\n        TNT1 A 0 A_TakeInventory(\"WeaponCharge\",999)\n        TNT1 A 0 A_StopSoundEx(\"SoundSlot5\")\n        TNT1 A 0 A_PlaySoundEx(\"weapon/megaarm\",\"Weapon\")\n        TNT1 A 0 A_FireCustomMissile(\"MegaArmFist\",0,0,8,0)\n        TNT1 A 1\n        TNT1 A 0 A_GiveInventory(\"MegaArmWait\", 1)\n        TNT1 A 0 ACS_ExecuteAlways(998,0,0,1)\n    ChargeFireWait:\n        TNT1 A 1 A_RailWait\n        TNT1 A 0 A_JumpIfInventory(\"MegaArmWait\", 1, \"ChargeFireWait\")\n        TNT1 A 0 A_JumpIf(true, \"ChargeFireEnd\")\n        loop\n    ChargeFireEnd:\n        BUST B 0 A_PlaySoundEx(\"weapon/megaarmreturn\",\"Weapon\")\n        BUST B 10\n        BUST B 0 A_Refire(1)\n        goto Ready2+2\n\t\tBUST B 0 A_GiveInventory(\"WeaponCharge\", 10)\n\t\tBUST B 0 A_Refire\n\t\tgoto Ready2+2\n    Hold:\n        //BUST B 0 A_JumpIfInventory(\"WeaponCharge\",34,\"Charge2Start\")\n        BUST B 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Charge\")\n        BUST B 1 A_GiveInventory(\"WeaponCharge\",1)\n        BUST B 0 A_Refire\n        Goto Fire//Ready2+2\n    Charge:\n        //MARM H 0 A_JumpIfInventory(\"WeaponCharge\",34,\"Charge2Start\")\n        MARM H 0 A_PlaySoundEx(\"weapon/coilstart\",\"Weapon\")\n        MARM H 0 A_JumpIfInventory(\"WeaponCharge\",19,\"Charge1\")\n        Goto Charge1\n    BotFire:\n        MARM H 0 A_Jump(128, \"ChargeFire\")\n        MARM H 0 A_Refire\n        Goto ChargeFire\n    Charge1:\n        MARM H 2 ACS_ExecuteAlways(991,0,221)\n        MARM H 0 A_GiveInventory(\"WeaponCharge\",1)\n        MARM H 0 A_JumpIfInventory(\"WeaponCharge\", 37, \"Charge2Start\")\n        MARM H 0 A_Refire(\"Charge1.a\")\n        Goto MiniFire\n    Charge1.a:\n        BUST B 2 ACS_ExecuteAlways(991,0,0)\n        MARM H 0 A_GiveInventory(\"WeaponCharge\",1)\n        MARM H 0 A_JumpIfInventory(\"WeaponCharge\", 37, \"Charge2Start\")\n        BUST B 0 A_Refire(\"Charge1.b\")\n        Goto MiniFire\n    Charge1.b:\n        MARM I 2 ACS_ExecuteAlways(991,0,222)\n        MARM H 0 A_GiveInventory(\"WeaponCharge\",1)\n        MARM H 0 A_JumpIfInventory(\"WeaponCharge\", 37, \"Charge2Start\")\n        MARM I 0 A_Refire(\"Charge1.c\")\n        Goto MiniFire\n    Charge1.c:\n        MARM J 2 ACS_ExecuteAlways(991,0,223)\n        MARM H 0 A_GiveInventory(\"WeaponCharge\",1)\n        MARM H 0 A_JumpIfInventory(\"WeaponCharge\", 37, \"Charge2Start\")\n        MARM J 0 A_Refire(\"Charge1.d\")\n        Goto MiniFire\n    Charge1.d:\n        MARM H 2 ACS_ExecuteAlways(991,0,221)\n        MARM H 0 A_GiveInventory(\"WeaponCharge\",1)\n        MARM H 0 A_JumpIfInventory(\"WeaponCharge\", 37, \"Charge2Start\")\n        MARM H 0 A_Refire(\"Charge1\")\n        Goto MiniFire\n    Charge2Start:\n        MARM H 0 A_GunFlash(\"Sound.BusterCharge\", GFF_NOEXTCHANGE)\n        Goto Charge2\n    Charge2:\n        MARM K 1 ACS_ExecuteAlways(991,0,224)\n        MARM K 0 A_Refire(\"Charge2.a\")\n        Goto ChargeFire\n    Charge2.a:\n        MARM L 1 ACS_ExecuteAlways(991,0,225)\n        MARM L 0 A_Refire(\"Charge2.b\")\n        Goto ChargeFire\n    Charge2.b:\n        MARM M 1 ACS_ExecuteAlways(991,0,226)\n        MARM M 0 A_Refire(\"Charge2.c\")\n        Goto ChargeFire\n    Charge2.c:\n        HSPR C 1 ACS_ExecuteAlways(991,0,0)\n        HSPR C 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\n        HSPR C 0 A_Refire(\"Charge2\")\n        Goto ChargeFire\n    }\n}\n\nactor MegaArmFist\n{\n    PROJECTILE\n    +HITTRACER\n    +SKYEXPLODE\n    +DONTREFLECT\n    Damage (40)\n    Speed 54\n    height 10\n    radius 10\n    Scale 2.5\n    reactiontime 5\n    Obituary \"$OB_MEGAARM\"\n    Damagetype \"MegaArm\"\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_SpawnItemEx(\"ExplosionEffect1\")\n        MARM BC 2\n        MARM B 0 A_Countdown\n        goto Spawn+2\n    GripCheck:\n        MARM D 0 A_JumpIfInventory(\"CanBeMegaArmed\", 1, \"Grip\", AAPTR_TRACER)\n        MARM D 1 A_JumpIf(true, \"GripFail\")\n        loop\n    Grip:\n        MARM D 0 A_SpawnItemEx(\"MegaArmGrip\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)\n        stop\n    XDeath:\n        MARM D 0 A_CheckFlag(\"SHOOTABLE\", \"GripCheck\", AAPTR_TRACER)\n        MARM D 1 A_JumpIf(true, \"Death\")\n        loop\n    GripFail:\n        MARM C 0\n    Death:\n        MARM C 0 A_CustomMissile(\"MegaArmReturn\", 0, 0, 0, 0)\n        stop\n    }\n}\n\nactor MegaArmGrip\n{\n    PROJECTILE\n    +NOINTERACTION\n    Damage (0)\n    Speed 50\n    height 10\n    radius 10\n    Scale 2.5\n    reactiontime 5\n    Obituary \"$OB_MEGAARM\"\n    Damagetype \"MegaArm\"\n    States\n    {\n    Spawn:\n        MARM D 0\n        MARM D 0 A_GiveInventory(\"CutterFlag\", 5)\n        MARM D 0 A_JumpIfInTargetInventory(\"LightTeamFlag\", 1, \"LightTracerCheck\")\n        MARM D 0 A_JumpIfInTargetInventory(\"WilyTeamFlag\", 1, \"WilyTracerCheck\")\n        MARM D 0 A_JumpIfInTargetInventory(\"CossackTeamFlag\", 1, \"CossackTracerCheck\")\n        MARM D 0 A_JumpIfInTargetInventory(\"KingTeamFlag\", 1, \"KingTracerCheck\")\n        goto Grip\n    Grip:\n        //MARM DDDDDDDD 1 A_Warp(AAPTR_TRACER, -12, frandom(-2, 2), 32, 180, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tMARM DDDDDD 1 A_Warp(AAPTR_TRACER, -12, frandom(-2, 2), 32, 180, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        MARM D 0 A_JumpIfCloser(1200, \"GripCheckLOS\")\n        MARM D 0 A_JumpIf(true, \"Death\")\n        loop\n    GripCheckLOS:\n        MARM D 1 A_JumpIfTargetInLOS(\"GripCheckTime\", 0)\n        MARM D 0 A_JumpIf(true, \"Death\")\n        loop\n    GripCheckTime:\n        MARM D 1 A_JumpIfInventory(\"CutterFlag\", 1, \"Tighter\")\n        MARM D 0 A_JumpIf(true, \"Death\")\n        loop\n    Tighter:\n        MARM D 0 A_JumpIfInventory(\"IsDead\", 1, \"Death\", AAPTR_TRACER)\n        MARM D 0 A_JumpIfInTargetInventory(\"IsDead\", 1, \"Death\")\n        MARM D 0 A_GiveToTarget(\"MegaArmWait\", 1)\n        MARM D 0 A_SpawnItemEx(\"MegaArmDamage\", 16)\n        MARM D 0 A_TakeInventory(\"CutterFlag\", 1)\n        goto Grip\n    Death:\n        MARM C 0 A_SpawnItemEx(\"MegaArmReturn\", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)\n        stop\n    LightTracerCheck:\n        MARM C 0 A_JumpIfInventory(\"LightTeamFlag\", 1, \"Death\", AAPTR_TRACER)\n        goto Grip\n    WilyTracerCheck:\n        MARM C 0 A_JumpIfInventory(\"WilyTeamFlag\", 1, \"Death\", AAPTR_TRACER)\n        goto Grip\n    CossackTracerCheck:\n        MARM C 0 A_JumpIfInventory(\"CossackTeamFlag\", 1, \"Death\", AAPTR_TRACER)\n        goto Grip\n    KingTracerCheck:\n        MARM C 0 A_JumpIfInventory(\"KingTeamFlag\", 1, \"Death\", AAPTR_TRACER)\n        goto Grip\n    }\n}\n\nactor MegaArmDamage\n{\n    PROJECTILE\n    Damage (6)\n    Speed 0\n    Height 5\n    Radius 5\n    Obituary \"$OB_MEGAARM\"\n    Damagetype \"MegaArm\"\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 1\n        stop\n    }\n}\n\nactor MegaArmWait : Powerup\n{\n    powerup.duration 70\n}\n\nactor MegaArmHand : MegaArmFist\n{\n    Damage (35)\n\treactiontime 2\n    Damagetype \"MegaArmHand\"\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_SpawnItemEx(\"ExplosionEffect1\")\n        MARM BC 2\n        MARM B 0 A_Countdown\n        goto Spawn+2\n    XDeath:\n        MARM D 0\n        goto Death\n    }\n}\n\nactor MegaArmReturn\n{\n    PROJECTILE\n    +NOINTERACTION\n    +NOCLIP\n    +SEEKERMISSILE\n    reactiontime 70\n    speed 54\n    Damage (0)\n    height 10\n    radius 10\n    Scale 2.5\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_TARGET)\n    SpawnLoop:\n        MARM ZZZZ 0 A_SeekerMissile(90, 90, SMF_PRECISE)\n        MARM Z 1 A_GiveToTarget(\"MegaArmWait\", 1)\n        MARM Z 0 A_Countdown\n        MARM Z 0 A_JumpIfCloser(64, \"Death\")\n        loop\n    Death:\n        MARM Z 0 A_TakeFromTarget(\"MegaArmWait\", 1)\n        stop\n    }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/Buster/protobuster.txt",
        "contents": "actor ProtoBuster : BaseMM8BDMWep\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\nWeapon.SlotNumber 1\nInventory.Pickupmessage \"$PU_PROTOBUSTER\"\nObituary \"$OB_PROTOBUSTER\"\nTag \"$TAG_PROTOBUSTER\"\nweapon.ammotype \"BusterAmmo\"\ninventory.icon \"NULLICON\"\nDropitem \"\"\nStates\n{\nSpawnLoop:\nWEA2 Q 1\nstop\nReady:\nPROC J 0 A_TakeInventory(\"StopShield\",1)\nPROC B 0 A_JumpIfInventory(\"BusterGiven\",1,\"TakeBusters\")\nGoto Ready2\nTakeBusters:\nTNT1 Q 0 A_GiveInventory(\"TakeBuster\", 1)\nGoto Ready2\nReady2:\nPROC J 0 ACS_ExecuteAlways(998,0,36)\nPROC J 0 A_TakeInventory(\"WeaponCharge\",999)\nPROC J 0 A_TakeInventory(\"StopShield\",1)\nPROC J 0 A_GunFlash\nPROC LKJ 1 A_WeaponReady\nGoto Ready2+6\nDeselect:\nPROC J 0 A_GiveInventory(\"StopShield\",1)\nPROC JJKL 1\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nPROC J 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nPROC J 1 A_Raise\nloop\nAltfire:\nPROC D 0 A_JumpIfNoAmmo(\"Hold\")\nPROC D 0 A_GiveInventory(\"StopShield\",1)\nPROC KLD 1 A_TakeInventory(\"WeaponCharge\",999)\nAltfire.a:\nPROC D 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nPROC D 0 A_FireCustomMissile(\"ProtoShot\",0,0,8,0)\nPROC EFD 3\nPROC D 3 A_Refire(\"Altfire.a\")\ngoto Ready2+2\nFire:\nPROC D 0 A_JumpIfNoAmmo(\"Hold\")\nPROC D 0 A_GiveInventory(\"StopShield\",1)\nPROC D 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nPROC D 0 A_TakeInventory(\"WeaponCharge\",999)\nPROC D 0 A_FireCustomMissile(\"ProtoShot\",0,0,8,0)\nPROC KLD 1\nPROC EF 3\nPROC D 3 A_Refire\ngoto Ready2+2\nFire2:\nPROC J 0 ACS_ExecuteAlways(991,0,36)\nPROC D 0 A_TakeInventory(\"WeaponCharge\",999)\nPROC D 0 A_GiveInventory(\"StopShield\",1)\nPROC F 0 A_PlaySoundEx(\"weapon/pshot\",\"Weapon\")\nPROC F 3 A_FireCustomMissile(\"ProtoShot2\",0,0,8,0)\nPROC EDD 3\nPROC D 0 A_Refire\ngoto Ready2+2\nFire3:\nPROC J 0 ACS_ExecuteAlways(991,0,36)\nPROC D 0 A_TakeInventory(\"WeaponCharge\",999)\nPROC D 0 A_GiveInventory(\"StopShield\",1)\nPROC D 0 A_PlaySoundEx(\"weapon/pshot\",\"Weapon\")\n//PROC F 0 A_FireCustomMissile(\"ProtoShotFX\",0,0,8,0)\nPROC K 0 A_FireCustomMissile(\"ProtoShot3\",0,0,8,0)\nPROC KLD 1\nPROC EF 3\nPROC D 15\nPROC D 0 A_Refire\ngoto Ready2+1\nHold:\nPROC J 0 A_TakeInventory(\"StopShield\",1)\nPROC LK 2\nPROC J 0 A_GunFlash\nHold.a:\nPROC J 0 A_JumpIfInventory(\"WeaponCharge\",24,\"Charge2\")\nPROC J 0 A_JumpIfInventory(\"WeaponCharge\",10,\"Charge\")\nPROC J 1 A_GiveInventory(\"WeaponCharge\",1)\nPROC J 0 A_GunFlash\nPROC J 0 A_Refire(\"Hold.a\")\nGoto Fire+1\nCharge:\nPROC J 0 A_JumpIfInventory(\"WeaponCharge\",24,\"Charge2\")\nPROC J 0 A_JumpIfInventory(\"WeaponCharge\",11,\"Charge1\")\nPROC J 0 A_PlaySoundEx(\"weapon/pcharge\",\"Weapon\")\nGoto Charge1\nCharge1:\nPROC J 0 A_JumpIfInventory(\"WeaponCharge\",24,\"Charge2\")\nPROC J 1 ACS_ExecuteAlways(991,0,63)\nPROC H 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nPROC H 1 ACS_ExecuteAlways(991,0,36)\nPROC H 0 A_Refire(\"Charge1.b\")\nGoto Fire2\nCharge1.b:\nPROC H 1 ACS_ExecuteAlways(991,0,36)\nPROC H 0 A_Refire(\"Charge1.c\")\nGoto Fire2\nCharge1.c:\nPROC H 1 ACS_ExecuteAlways(991,0,36)\nPROC H 0 A_GiveInventory(\"WeaponCharge\",2)\nPROC H 0 A_Refire(\"Charge1\")\nGoto Fire2\nCharge2:\nPROC I 1 ACS_ExecuteAlways(991,0,64)\nPROC H 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nPROC H 1 ACS_ExecuteAlways(991,0,36)\nPROC J 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\nPROC H 0 A_Refire(\"Charge2\")\nGoto Fire3\nBotFire:\nPROC J 0 A_Jump(32, \"Fire3\")\nPROC H 0 A_Refire\nGoto Fire3\nFlash:\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox1\",28,-16,8,0,0,0,0,1)\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox2\",28,-8,8,0,0,0,0,1)\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox3\",28,0,8,0,0,0,0,1)\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox4\",28,8,8,0,0,0,0,1)\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox5\",28,16,8,0,0,0,0,1)\nFlashLoop:\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldFX\",23,-10,8,momx,momy,momz,0,9,0)\nTNT1 A 1 A_JumpIfInventory(\"StopShield\",1,\"NoFlash\")\nTNT1 A 0 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")\nloop\nNoFlash:\nTNT1 A 0\nStop\n}\n}\n\nactor StopShield : Once {}\n\nactor ProtoShot : MegaShot\n{\nPROJECTILE\n+LOOKALLAROUND\n+SKYEXPLODE\n+THRUGHOST\n//translation \"215:215=248:248\"\ndamagetype \"ProtoBuster\"\nObituary \"$OB_PROTOBUSTER\"\n//seesound \"weapon/mbuster\"\n//Speed 26\n//Damage (20)\n//radius 5\n//height 5\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 2\nBUST A 2\nBUST A 0 A_ChangeFlag(\"THRUGHOST\", 0)\nBUST A 1\ngoto spawn+3\nDeath:\nBUST A 1\nstop\n}\n}\n\nactor ProtoShot2 : ProtoShot\n{\nPROJECTILE\n+THRUGHOST\n+BRIGHT\ndamagetype \"ProtoBuster2\"\nObituary \"$OB_PROTOBUSTER\"\n//Speed 26\nDamage (25)\nradius 20\nheight 20\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 2\nMMFX D 2\nMMFX D 0 A_ChangeFlag(\"THRUGHOST\", 0)\nMMFX D 4\nwait\n}\n}\n\nactor ProtoShot3\n{\nPROJECTILE\n+LOOKALLAROUND\n+SKYEXPLODE\n+DONTBLAST\n+THRUGHOST\n+BRIGHT\n//seesound \"weapon/mbuster\"\nSpeed 60\nDamage (50)\nradius 20\nheight 20\nscale 2.5\ndamagetype \"ProtoBuster3\"\nObituary \"$OB_PROTOBUSTER\"\nStates\n{\nSpawn:\nPROC A 2\nPROC B 2 A_ChangeFlag(\"THRUGHOST\", 0)\nPROC C 2\nPROC ABC 2\nGoto Spawn+3\n}\n}\n\nactor ProtoShotFX\n{\n+CLIENTSIDEONLY\n-SOLID\n+NOGRAVITY\n+BRIGHT\nscale 2.5\nStates\n{\nSpawn:\nMXP1 ABCD 2\nstop\n}\n}\n\nactor BasicShieldHitbox\n{\n-SOLID\n+MISSILE\n+DONTSPLASH\n+DONTBLAST\n+DONTDRAIN\n+DONTREFLECT\n+DONTRIP\n+NOBLOOD\n+NOCLIP\n+NORADIUSDMG\n+GHOST\n+SHOOTABLE\n+NOTIMEFREEZE\n+NOGRAVITY\n+NOTARGETSWITCH\n+NOTAUTOAIMED\n//+NODAMAGE\n\n//PainSound \"item/protoreflect\"\nRenderStyle \"None\"\nbloodtype \"\"\ndamagefactor \"Telefrag\",0.0\npainchance 256\nhealth 99999\n\nMeleerange 28 // Warp X\nAccuracy 0 // Warp Y\nMass 8 // Warp Z\n\nDamage 0\nHeight 42\nRadius 5\nSpeed 0\nscale 2.5\n\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0,\"Death2\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"StopShield\",1,\"SpawnStop\")\nPLAY A 1 A_Warp(2,Meleerange,Accuracy,Mass,0,24)\nloop\nSpawnStop:\nTNT1 A 0 //A_Log(\"SpawnStop\")\nPLAY H 1\nstop\nPain:\nTNT1 A 0 ACS_NamedExecuteAlways(\"HF_ProtoPush\", 0, ACS_ExecuteWithResult(257), (99999-health)*0.75)\nTNT1 A 0 HealThing(99999-health)\nTNT1 A 0 A_PlaySound(\"item/protoreflect\")//A_Pain\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldDeathFX\")\ngoto Spawn\nDeath:\nTNT1 A 0 //A_PlaySound(\"item/protoreflect\")\nPLAY H 1\nstop\nDeath2:\nTNT1 A 0 //A_Log(\"Death2\")\nPLAY H 1\nstop\n}\n}\n\nactor ProtoShieldHitbox1 : BasicShieldHitbox\n{\nMeleerange 28\nAccuracy -16\nMass 8\n}\nactor ProtoShieldHitbox2 : ProtoShieldHitbox1\n{\nAccuracy -8\n}\nactor ProtoShieldHitbox3 : ProtoShieldHitbox1\n{\nAccuracy 0\n}\nactor ProtoShieldHitbox4 : ProtoShieldHitbox1\n{\nAccuracy 8\n}\nactor ProtoShieldHitbox5 : ProtoShieldHitbox1\n{\nAccuracy 16\n}\n\nactor ProtoShieldDeathFX\n{\nscale 2.5\n+NOINTERACTION\n+CLIENTSIDEONLY\nalpha 0.9\nrenderstyle add\n+BRIGHT\nstates\n{\nSpawn:\nPROC M 0 A_SetScale(scaleX + 0.1, 2.5)\nPROC M 1 A_FadeOut(0.05)\nloop\n}\n}\n\nactor ProtoShieldFX\n{\n-SOLID\n+NOGRAVITY\n+NOBLOCKMAP\n+FIXMAPTHINGPOS\n+NOTIMEFREEZE\nHeight 0\nRadius 0\nscale 2.5\n+CLIENTSIDEONLY\n+NOINTERACTION\nStates\n{\nSpawn:\nTNT1 A 0\nPROS A 2\nstop\n}\n}\n\n// Legacy\n\nactor ProtoShieldHitbox\n{\n+MISSILE\nSpeed 0\n+DONTSPLASH\nDamage 0\nHeight 42\nRadius 5\nhealth 9999\nscale 2.5\ndamagefactor \"ProtoBuster\", 0.0\n+SHOOTABLE\n+NOTAUTOAIMED\n+NOBLOOD\n-SOLID\n+NOTIMEFREEZE\n+NOGRAVITY\n+HEXENBOUNCE\n+BOUNCEONACTORS\npainchance 256\nbloodtype \"\"\n+DONTRIP\n+GHOST\n+NORADIUSDMG\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 2\nstop\nDeath:\nTNT1 A 0 //A_PlaySound(\"item/protoreflect\")\nTNT1 A 1\nstop\nPain:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldDeathFX\")\nTNT1 A 1 A_PlaySound(\"item/protoreflect\")\nstop\n}\n}\n\nactor ProtoShieldX\n{\n+MISSILE\n+THRUACTORS\n+DONTBLAST\n+DONTREFLECT\n-SOLID\n//+NOINTERACTION\nheight 1\nradius 1\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox\", 0, -16, 0, velx, vely, velz, 0, 8)\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox\", 0, -8, 0, velx, vely, velz, 0, 8)\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox\", 0, 16, 0, velx, vely, velz, 0, 8)\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox\", 0, 8, 0, velx, vely, velz, 0, 8)\nTNT1 A 0 A_SpawnItemEx(\"ProtoShieldHitbox\", 0, 0, 0, velx, vely, velz, 0, 8)\nTNT1 A 1\nstop\n}\n}\n\n// Scars\nactor ProtoShieldDeahthFX : ProtoShieldDeathFX {}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/mm1/rollingcutter.txt",
        "contents": "actor RollingCutterWep : BaseMM8BDMWep 10056\n{\n//$Category MM8BDM-Weapons\n//$Title Rolling Cutter\n//$Sprite WEA2F0\nWeapon.AmmoUse 4\nWeapon.AmmoGive 56\nWeapon.SlotNumber 4\nInventory.Pickupmessage \"$PU_ROLLINGCUTTER\"\nObituary \"$OB_ROLLINGCUTTER\"\nTag \"$TAG_ROLLINGCUTTER\"\nweapon.ammotype \"RollingCutterAmmo\"\ninventory.icon \"RCUTSI\"\nStates\n{\nSpawnLoop:\nWEA2 F -1\nloop\nReady:\nBUSH S 0 ACS_ExecuteAlways(998,0,25)\nBUSH S 0 A_JumpIfNoAmmo(\"ReadyNoAmmo\")\nBUSH S 0 A_TakeInventory(\"CutterFlag\",999)\nBUSH S 1 A_WeaponReady\nGoto Ready+2\nReadyNoAmmo:\nBUS2 B 1 A_WeaponReady\nBUS2 B 0 A_JumpIfNoAmmo(\"ReadyNoAmmo\")\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBUSH S 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBUSH S 1 A_Raise\nLoop\nFire:\nBUSH S 0 A_JumpIfNoAmmo(\"NoAmmo\")\nBUSH T 0 A_TakeInventory(\"RollingCutterFlag\", 1)\nBUSH T 2 A_FireCustomMissile(\"RollingCutter\",0,1,8,0, 0, 7)\nBUSH UVWXY 2\nGoto Check\nCheck:\nTNT1 A 1 A_GiveInventory(\"CutterFlag\",1)\nTNT1 A 0 A_JumpIfInventory(\"CutterFlag\",100,\"Return\")\nTNT1 A 0 A_JumpIfInventory(\"RollingCutterFlag\",1,\"Return\")\nGoto Check\nReturn:\nBUSH Y 0 A_TakeInventory(\"CutterFlag\",999)\nBUSH Y 0 A_TakeInventory(\"RollingCutterFlag\",1)\nBUSH YZ 2\nBUSH S 0 A_Refire\nGoto Ready+1\nNoAmmo:\nBUS2 B 1 ACS_Execute(979,0)\nGoto ReadyNoAmmo\n}\n}\n\nactor RollingCutterAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\nammo.backpackamount 0\nammo.backpackmaxamount 56\n}\n\nactor RollingCutter\n{\nPROJECTILE\nRadius 8\nHeight 8\nscale 2.5\ndamage (0)\n+DONTSPLASH\n+DOOMBOUNCE\n+RIPPER\n+NOTARGETSWITCH\n+SKYEXPLODE\nmeleerange 12\nreactiontime 12\n//+FLOAT\ndamagetype \"RollingCutter\"\nspeed 33\nFloatSpeed 16\nbouncefactor 1.0\nwallbouncefactor 1.0\ngravity 0.75\nStates\n{\nSpawn:\nRCUT A 0\nRCUT A 0 A_ChangeFlag(NOGRAVITY, false)\nRCUT A 0 A_PlaySound(\"weapon/rollingcutter\")\nRCUT A 0 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"Death\")\nRCUT AAAA 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT BBBB 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT CCCC 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT DDDD 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT A 0 A_CustomMissile(\"ReturningCutter\",0,0,0,0)\nstop\nDeath:\nRCUT A 0 A_GiveToTarget(\"RollingCutterFlag\",1)\nstop\n}\n}\n\nactor ReturningCutter : RollingCutter\n{\nradius 0\nheight 0\n//speed 24\ndamagetype \"RollingCutter\"\ndamage 0\n+DONTSPLASH\n+NOINTERACTION\n+SEEKERMISSILE\nReactiontime 350\nStates\n{\nSpawn:\nRCUT A 0\nRCUT A 0 A_FaceTarget\nRCUT A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_TARGET)\nSpawn2:\nRCUT A 0 A_JumpIfCloser(64,\"Death\")\nRCUT A 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT A 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT A 0 A_JumpIfCloser(64,\"Death\")\nRCUT A 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT A 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT A 0 A_JumpIfCloser(64,\"Death\")\nRCUT A 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT A 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT A 0 A_JumpIfCloser(64,\"Death\")\nRCUT A 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT A 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\n\nRCUT B 0 A_JumpIfCloser(64,\"Death\")\nRCUT B 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT B 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT B 0 A_JumpIfCloser(64,\"Death\")\nRCUT B 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT B 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT B 0 A_JumpIfCloser(64,\"Death\")\nRCUT B 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT B 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT B 0 A_JumpIfCloser(64,\"Death\")\nRCUT B 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT B 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\n\nRCUT C 0 A_JumpIfCloser(64,\"Death\")\nRCUT C 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT C 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT C 0 A_JumpIfCloser(64,\"Death\")\nRCUT C 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT C 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT C 0 A_JumpIfCloser(64,\"Death\")\nRCUT C 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT C 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT C 0 A_JumpIfCloser(64,\"Death\")\nRCUT C 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT C 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\n\nRCUT D 0 A_JumpIfCloser(64,\"Death\")\nRCUT D 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT D 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT D 0 A_JumpIfCloser(64,\"Death\")\nRCUT D 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT D 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT D 0 A_JumpIfCloser(64,\"Death\")\nRCUT D 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT D 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nRCUT D 0 A_JumpIfCloser(64,\"Death\")\nRCUT D 0 A_SeekerMissile(1, 90, SMF_PRECISE, 0, 0)\nRCUT D 1 A_SpawnItemEx(\"RollingCutterDamager\",0,0,0,momx/2,momy/2,momz/2, 0, SXF_ABSOLUTEMOMENTUM)\nloop\n}\n}\n\nactor RollingCutterDamager\n{\nPROJECTILE\ndamagetype \"RollingCutter\"\nObituary \"$OB_ROLLINGCUTTER\"\n+DONTBLAST\ndamage (19)\nradius 16\nheight 16\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 2 //A_Explode(25, 16, 0, 0, 16)\nstop\n}\n}\n\nactor CutterFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 999\n}\n\nactor RollingCutterFlag : Once {}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/mm1/firestorm.txt",
        "contents": "actor FireStormWep : BaseMM8BDMWep 10052\n{\n//$Category MM8BDM-Weapons\n//$Title Fire Storm\n//$Sprite WEAPY0\nWeapon.AmmoUse 1\nWeapon.AmmoGive 56\nWeapon.SlotNumber 2\nInventory.Pickupmessage \"$PU_FIRESTORM\"\nObituary \"$OB_FIRESTORM\"\nTag \"$TAG_FIRESTORM\"\nweapon.ammotype \"FireStormAmmo\"\ninventory.icon \"FIRESI\"\nStates\n{\nSpawnLoop:\nWEAP Y -1\nloop\nReady:\nFIRE G 0 ACS_ExecuteAlways(998,0,21)\nFIRE G 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nFIRE G 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nFIRE G 1 A_Raise\nLoop\nFire:\nFIRE H 0 A_JumpIfNoAmmo(\"NoAmmo\")\nFIRE H 0 A_PlaySoundEx(\"weapon/firestorm\",\"Weapon\")\nFIRE H 1 A_FireCustomMissile(\"FireStorm\",0,1,8,0)\nFIRE H 4 A_SpawnItemEx(\"FireShield00\", 32)\nFIRE I 6\nFIRE G 5\nGoto Ready+1\nNoAmmo:\nFIRE G 0 ACS_Execute(979,0)\nGoto Ready+1\n\n}\n}\n\nactor FireStormAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\nammo.backpackamount 0\nammo.backpackmaxamount 56\n}\n\nactor FireStorm\n{\nPROJECTILE\n+BRIGHT\ndamagetype \"FireStorm\"\nObituary \"$OB_FIRESTORM\"\nRadius 12\nHeight 12\nscale 2.5\ndamage (30)\nspeed 47\nStates\n{\nSpawn:\nFIRE ABC 2\nloop\nDeath:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"OilPitIgnite\",0,0,8)\nstop\n}\n}\n\nactor FireShield00\n{\nPROJECTILE\n+FORCEXYBILLBOARD\n+SKYEXPLODE\n+NOINTERACTION\n+NOCLIP\n+DONTBLAST\n//+RIPPER\nrenderstyle translucent\nalpha 0.6\ndamagetype \"FireSpin\"\nObituary \"$OB_FIRESTORM\"\nscale 2.5\nradius 8\nheight 8\nDamage (0)//(4)\nStates\n{\nSpawn:\nFIRE D 0 A_GiveInventory(\"CutterFlag\", 1)\nFIRE D 1 A_SetAngle(angle-45)\nFIRE D 0 A_SpawnItemEx(\"FireShield01\")\nFIRE D 0 A_Warp(AAPTR_TARGET, 64, 0, 32, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION|WARPF_USECALLERANGLE)\nFIRE D 0 A_JumpIfInventory(\"CutterFlag\", 7, \"Death\")\nFIRE D 1 A_SetAngle(angle-45)\nFIRE D 0 A_SpawnItemEx(\"FireShield01\")\nFIRE D 0 A_Warp(AAPTR_TARGET, 64, 0, 32, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION|WARPF_USECALLERANGLE )\nFIRE D 0 A_JumpIfInventory(\"CutterFlag\", 7, \"Death\")\nLoop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor FireShield01 : FireShield00\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(4,80,0,0,56)\nFIRE EEFF 1 A_Warp(AAPTR_TARGET, 64, 0, 32, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION|WARPF_USECALLERANGLE)\nstop\n}\n}\n\nactor FireShield1\n{\nPROJECTILE\n+FORCEXYBILLBOARD\n+SKYEXPLODE\n+BRIGHT\n//+RIPPER\nrenderstyle translucent\nalpha 0.6\ndamagetype \"FireSpin\"\nObituary \"$OB_FIRESTORM\"\nscale 2.5\nradius 8\nheight 8\nDamage (0)//(4)\nStates\n{\nSpawn:\nFIRE D 0\nFIRE D 0 A_CheckFloor(\"Death\")\nFIRE D 0 A_Explode(4,80,0,0,64)\nFIRE D 2\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor FireShield2 : FireShield1\n{\nStates\n{\nSpawn:\nFIRE E 0\nFIRE E 0 A_CheckFloor(\"Death\")\nFIRE D 0 A_Explode(4,80,0,0,64)\nFIRE E 2\nstop\n}\n}\n\nactor FireShield3 : FireShield1\n{\nStates\n{\nSpawn:\nFIRE F 0\nFIRE F 0 A_CheckFloor(\"Death\")\nFIRE D 0 A_Explode(4,80,0,0,64)\nFIRE F 2\nstop\n}\n}\n\nactor FireShieldDamage : FireShield1\n{\nRenderstyle none\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_Explode(4,80,0,0,64)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Inventory/mm1/hyperbomb.txt",
        "contents": "actor HyperBombWep : BaseMM8BDMWep 10037\n{\n//$Category MM8BDM-Weapons\n//$Title Hyper Bomb\n//$Sprite WEAPH0\nWeapon.AmmoUse 3\nWeapon.AmmoGive 56\nWeapon.SlotNumber 5\nInventory.Pickupmessage \"$PU_HYPERBOMB\"\nObituary \"$OB_HYPERBOMB\"\nTag \"$TAG_HYPERBOMB\"\nweapon.ammotype \"HyperBombAmmo\"\ninventory.icon \"BOMBSI\"\nStates\n{\nSpawnLoop:\nWEAP H -1\nloop\nReady:\nBOMH A 0 ACS_ExecuteAlways(998,0,7)\nBOMH A 0 A_JumpIfNoAmmo(\"ReadyNoAmmo\")\nBOMH A 1 A_WeaponReady\nGoto Ready+2\nReadyNoAmmo:\nBOMH J 1 A_WeaponReady\nBOMH J 0 A_JumpIfNoAmmo(\"ReadyNoAmmo\")\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBOMH A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBOMH A 1 A_Raise\nLoop\nFire:\nBOMH A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nBOMH A 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nBOMH A 0 A_FireCustomMissile(\"HyperBomb\",0,1,8,0)\nBOMH BCDEFG 2\nBOMH HI 4\nBOMH A 7\nBOMH A 0 A_Refire\nGoto Ready+1\nNoAmmo:\nBOMH J 1 ACS_Execute(979,0)\nGoto ReadyNoAmmo\n}\n}\n\nactor HyperBombAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\nammo.backpackamount 0\nammo.backpackmaxamount 56\n}\n\nactor HyperBomb\n{\nPROJECTILE\ndamagetype \"HyperBomb\"\nObituary \"$OB_HYPERBOMB\"\n- NOGRAVITY\n+HEXENBOUNCE\n+CANBOUNCEWATER\nRadius 6\nHeight 7\nscale 2.5\nspeed 15\nreactiontime 85\nbouncefactor 0.7\nDamage(0)\nvar int user_damage;\nStates\n{\nSpawn:\nBOMB A 0\nBOMB A 0 ThrustThingZ(0, 12, 0, 1)\nSpawnLoop:\nBOMB A 0 A_SetUserVar(\"user_damage\", user_damage+1)\nBOMB A 0 A_SetScale(ScaleX + 0.01, ScaleY + 0.01)\nBOMB A 1 A_CountDown\nloop\nXDeath:\nBOMB A 0 A_Explode(55+user_Damage, 160, 0)\nGoto Death+1\nDeath:\nBOMB A 0 A_Explode(200, 180, 0)\nBOMB A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nBOMB A 0 A_Stop\nBOMB A 0 A_PlaySoundEx(\"weapon/hyperbomb\", \"Weapon\")\nTNT1 A 35 A_SpawnItemEx(\"ExplosionEffect3\")\nstop\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.