ccbm-v6-compatch-real.pk3

PK3 200 KiB 0 map(s)

Counts

endoom0
graphics0
lumps133
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "0cb90644-87fb-4792-90e2-796084c37252",
    "sha1": "af7f2a42f14df1efa8e51eda70b9a0d64dd64f04",
    "sha256": "5460d7f5d74418cda0dee6b488c07995617da09e8def45f7fd830715aa9281bc",
    "filenames": [
      "ccbm-v6-compatch-real.pk3"
    ],
    "additional": {
      "engines": [],
      "iwad": [],
      "filename": null,
      "added": "2021/01/24 11:48:30",
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false,
      "name": null,
      "description": null,
      "maps": null,
      "graphicOverrides": null,
      "screenshots": null,
      "palettes": null,
      "categories": null
    },
    "flags": {
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false
    },
    "added": "2021/01/24 11:48:30",
    "file": {
      "type": "PK3",
      "size": 204730,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/af7f2a42f14df1efa8e51eda70b9a0d64dd64f04/af7f2a42f14df1efa8e51eda70b9a0d64dd64f04.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 133,
        "maps": 0,
        "palettes": 0
      }
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "README(Patch).txt",
        "contents": "ATTENTION:\nTHIS PATCH WAS CREATED WITH THE INTENTION OF MODIFYING CCBM FOR V6 COMPATIBILITY, AND WILL\nBE TREATED AS SUCH.\n\nA MAJORITY OF THE ISSUES WITH V6 COMPAT ARE FIXED HERE, AND MANY COPYWEPS HAVE BEEN IMPORTED AS WELL.\n\nTHIS PATCH IS MADE POSSIBLE BY COMMUNITY HELP, SO PLEASE REPORT ANY BUGS THAT YOU MAY FIND.\n\n-NIGHTFLY\n\nHUGE THANKS TO THE FOLLOWING PEOPLE WHO HELPED ME MAKE THIS PATCH WORK:\n///////////////////\nMENDEZ\nJASON\n///////////////////\nSHOULD ANY OTHER MODDER BE ABLE TO FIX ANY PRESENT ISSUES WITH THE PATCH, THEY ARE FREE TO DO SO."
      },
      {
        "source": "pk3",
        "name": "actors/ClassBase0.txt",
        "contents": "///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//                              JaxOf7's moar amazing class bases.                                                                   //\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nactor ClassBase0 : PlayerPawn  //All Classes inherit from this in order to make pain states more manageable. To make a new class, refer to GUIDE.txt\n{\nplayer.displayname \"Copy Robot\"\nplayer.damagescreencolor \"yellow\"\nplayer.maxhealth 100\nplayer.forwardmove 0.8, 0.8\nplayer.sidemove 0.78, 0.78\nplayer.jumpz 10\nbloodtype \"MegamanBlood\"\n//+NOSKIN\n-SOLID//\n+NOGRAVITY//\n+NOBLOOD\n+DONTBLAST\n+NODAMAGETHRUST\n+QUICKTORETALIATE\nplayer.colorrange 0 0\n//Player.GruntSpeed 12.0\nmass 99999\n//damagefactor \"spawntelefrag\", 0.0\ndamagefactor \"Dummy\", 0.0\ngravity 0.8\nscale 2.5\nSpecies \"Megaman\"\nPlayer.MaxSkinSizeFactor 0, 0\n\nvar int user_wepangle;\nvar int user_weppitch;\nvar int user_wepangle2;//Dynamo\n\nvar int user_wepaimlimit;//SpectrumMystery\n\nStates\n{\nSpawn:\n\"----\" A 0\n\"----\" B 1\n\"----\" A 1\nGoto Spawn+2\nSee:\n\"----\" BCDE 5\nGoto Spawn\nMissile:\n\"----\" F 5\n\"----\" G 4\ngoto Spawn\n\nPain.BotSight:\n\"----\" B 5 HealThing(1)\nGoto Spawn+2\n\n//No Hitstun/Suffer Recoil\nPain.ProtoBuster:Pain.Buster:Pain.BassBuster:Pain.RockKick:Pain.RollCleanse:\nPain.BreakShot:Pain.CursorTag:Pain.BreakSnipe:Pain.BreakRail:\nPain.TrebleSentry:Pain.Treble:Pain.TrebleBoost:\nPain.OilSlider:\nPain.QuickBoomerang:Pain.Clash:\nPain.NeedleCannonB:Pain.MagnetMissile:\nPain.DiveMissile:\nPain.ChargeKick:Pain.StarCrash:Pain.CrystalEyeBitB:Pain.NapalmBombB:Pain.DarkBuster:\nPain.YamatoSpear:Pain.CentaurFlash:Pain.PlantTrapper:\nPain.WildCoil:Pain.FreezeCracker:Pain.JunkShot:Pain.ScorchWheel:\nPain.TornadoHold:\nPain.CopyVision:Pain.SpreadDrillB4:\nPain.RevolverBuster:\nPain.PumpHandle:\nPain.MegaWaterS:Pain.HyperStormH:Pain.HSHFire:\nPain.ScrewCrusher:Pain.SakuDrill:\nPain.GrabBusterB:\nPain.Punch:Pain.GutsPunch:Pain.JunkPunch:Pain.ColdPunch:Pain.PharaohPunch:\nPain.Misc:Pain.DarkMan:Pain.Gamma:\nPain.ClassPainLess:\n\"----\" H 0\nGoto Pain+1\n\nPain.OilSliderX:\n\"----\" H 0 A_GiveInventory(\"OilSliderFireProtect\")\nGoto Pain+1\n\nPain.BreakEscape:\n\"----\" H 0 A_GiveInventory(\"BreakEscapeDamagerProtect\",1)\nGoto Pain+1\n\n//No Hitstun painstates/No recoil\nPain.RollWhiff:\nPain.BBA_Mega:\nPain.WaterShield:\nPain.WilyFireB2:\nPain.FireSpin:Pain.Oil:\nPain.AtomicfireB:Pain.LeafShieldB:\nPain.TopSpinB:\nPain.PharaohHold:Pain.RainFlushWeak:\nPain.GravityB2:Pain.StarCrashB:Pain.DarkShield:\nPain.PlantDrain:\nPain.ScorchWheelB:Pain.JunkShield:\nPain.WaterCannon:Pain.ThunderClawT:Pain.FlameSwordSpark:Pain.FlameSwordSpark2:Pain.FlameSwordSpark3:Pain.ODuoPunch:Pain.EvilFlameSword:\nPain.JewelSatelliteB:Pain.BlackHoleBombB:Pain.HornetChaserB:\nPain.TenguBladeB:Pain.WaveBurner:Pain.WaveBurnerUW:Pain.IceWallB:Pain.SpreadDrillB:Pain.TheKing:Pain.PiratePush:\nPain.BubbleBombB:\nPain.BusterRodPole:Pain.BusterRodG:\nPain.SakugarneB:\n\nPain.Crush:\nPain.TripleBladeB:\nPain.ClassPainLess2:\n\"----\" H 0\nGoto Pain+2\n\n//Semi scale velocity+Recoil\nPain.ChargeBuster:\nPain.FlashBomb:\nPain.RemoteMine:Pain.IceWall:Pain.DynamoTendril:\nPain.ClassPainSemi:\n\"----\" H 0 A_GiveInventory(\"PainScaleVelocityFlashBombC\",1)\nGoto Pain+1\n\n//Semi scale velocity+No Recoil\nPain.FlashBombB:\nPain.Darkman2Spark:\nPain.ClassPainSemi2:\n\"----\" H 0 A_GiveInventory(\"PainScaleVelocityFlashBombC\",1)\nGoto Pain+2\n\n///////////////////\n//Sound Based / Power Protects\n///////////////////\nPain.Reggae:\n\"----\" H 0 A_PlaySoundEx(\"item/reggae\", \"SoundSlot7\", 0)\nGoto Pain+2\n\nPain.AtomicFire3:\n\"----\" H 0 A_GiveInventory(\"AtomicOnce\",1)\nGoto Pain\n\nPain.LeafFall:\n\"----\" H 0 A_GiveInventory(\"LeafFallProtect\",1)\nGoto Pain\n\nPain.LeafTrap:\n\"----\" H 0 A_GiveInventory(\"LeafTrapProtect\",1)\nGoto Pain+2\nPain.LeafTrapStop:\n\"----\" H 0 A_GiveInventory(\"LeafTrapStopProtect\",1)\nGoto Pain.NeutralStopShock\n\nPain.TopSpinC:\n\"----\" H 0 A_GiveInventory(\"TopSpinCProtect\",1)\nGoto Pain+2\n\nPain.RingBoomerangB:\n\"----\" H 0 A_GiveInventory(\"RingBoomerangBProtect\",1)\nGoto Pain+2\n\nPain.DiveMine:\n\"----\" H 0 A_GiveInventory(\"DiveMineProtect\",1)\nGoto Pain+1\n\nPain.WaterShielder:\n\"----\" H 0 A_GiveInventory(\"WaterShielderProtect\",1)\nGoto Pain+2\n\nPain.DumbDiveTackle:\n\"----\" H 0 A_GiveToTarget(\"DiveTackleHitFlag\",1)\n\"----\" H 0 HealThing(1)\ngoto Pain+1\n\nPain.DiveSonar:\n\"----\" H 0 A_GiveInventory(\"DiveSonarProtect\",1)\nGoto Pain+2\n\nPain.StoneLeap:\n\"----\" H 0 A_GiveInventory(\"StoneLeapProtect\",1)\nGoto Pain+2\n\nPain.CrystalEyeBitC:\n\"----\" H 0 A_GiveInventory(\"CrystalEyeBitCProtect\",1)\nGoto Pain+2\n\nPain.FlameBlastB:\n\"----\" H 0 A_GiveInventory(\"FlameBlastProtectC\",1)\nGoto Pain\n\nPain.WindGyro:\n\"----\" H 0 A_GiveInventory(\"WindGyroProtect\",1)\nGoto Pain.ClassPainSemi\n\nPain.SlashClaw:\n\"----\" H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.SlashClawB:\n\"----\" H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\n\"----\" H 0 A_GiveInventory(\"SlashClawBProtect\",1)\nGoto Pain+2\n\nPain.ThunderClawT2:\n\"----\" H 0 A_GiveInventory(\"ThunderClawT2Protect\",1)\nGoto Pain+2\n\nPain.FlameSword:\n\"----\" H 0 A_GiveInventory(\"FlameSwordProtect\",1)\n\"----\" HH 0 A_SpawnItemEx(\"FlameSwordBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,359))\nGoto Pain\n\nPain.FlameSwordB:\n\"----\" H 0 A_SpawnItemEx(\"FlameSwordBitB\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,359))\nGoto Pain+2\n\nPain.FlameSwordCBM:\n\"----\" H 0 A_GiveInventory(\"FlameSwordCBMProtect\",1)\n\"----\" HH 0 A_SpawnItemEx(\"FlameSwordBitB\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,359))\nGoto Pain+2\n\nPain.FlashBombT:\n\"----\" H 0 A_GiveInventory(\"FlashBombTProtect\",1)\ngoto Pain.FlashbombB\n\nPain.ODuoWave:\n\"----\" H 0 A_GiveInventory(\"ODuoWaveProtect\",1)\nGoto Pain+1\n\nPain.TrioSpectrum:\n\"----\" H 0 A_GiveInventory(\"TrioSpectrumPickup\",1)\nGoto Pain+2\n\nPain.IceWallC:\n\"----\" H 0 A_GiveInventory(\"IceWallCProtect\",1)\n\"----\" H 0 A_GiveInventory(\"IceWallCProtect0\",1)\nGoto Pain+2\n\nPain.SpreadDrillB1:\nPain.SpreadDrill:\nPain.SpreadDrill2:\nPain.SpreadDrill3:\n\"----\" H 0 A_JumpIfInventory(\"SpreadDrillProtectC\",1,2)\n\"----\" H 0 A_PlaySoundEx(\"weapon/spreaddrillhit\",\"SoundSlot5\")\n\"----\" H 0 A_GiveInventory(\"SpreadDrillProtectC\",1)\nGoto Pain+1\n\nPain.RemoteMineB:\n\"----\" H 0 A_GiveInventory(\"RemoteMineBProtect\",1)\nGoto Pain+2\n\nPain.RemoteMineB2:\n\"----\" H 0\nGoto Pain+2\n\nPain.MagicCardBF:\n\"----\" H 0 HealThing(1)\ngoto Pain.FlashbombB\n\nPain.LaserTrident:\n\"----\" H 0 A_GiveInventory(\"LaserTridentProtect\",1)\ngoto Pain+1\nPain.LaserTridentSE:\n\"----\" H 0 A_GiveInventory(\"LaserTridentSEProtect\",1)\ngoto Pain+1\n\nPain.BlackHoleBombCBM:\n\"----\" H 0 A_GiveInventory(\"BlackHoleBombCBMProtect4\",1)\n\"----\" H 0 A_GiveInventory(\"BlackHoleBombCBMProtect\",1)\n\"----\" H 0 A_JumpIfInventory(\"PowerGalaxyBHB_ACS\",1,2)\n\"----\" H 0 A_Stop\n\"----\" H 0\nGoto Pain+2\n\nPain.ScrewCrusherM:\n\"----\" H 0 A_GiveInventory(\"ScrewCrusherMProtect\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainScrewCrusherMHit\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainConcreteShoulderHit\",1)\n\"----\" H 0 A_PlaySoundEx(\"weapon/punkbash\",\"Body\")\ngoto Pain+2\n\nDeath.ScrewCrusherM:\n\"----\" H 0 A_SpawnItemEx(\"PainScrewCrusherMHit\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainConcreteShoulderHit\",1)\n\"----\" H 0 A_PlaySoundEx(\"weapon/punkbash\",\"Body\")\ngoto Death\n\nPain.PunkStun:\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainConcreteShoulderHit\",1)\ngoto Pain+2\n\nPain.SakugarneWave:\n\"----\" H 0 A_GiveInventory(\"SakugarneWaveProtect\",1)\nGoto Pain+2\n\nPain.ElectricShockB:\n\"----\" H 0 A_GiveInventory(\"ElectricShockBProtect\",1)\nGoto Pain+2\n\nPain.UranusCharge:\n\"----\" H 0 A_GiveInventory(\"UranusChargeProtection\",1)\nGoto Pain+2\n\nPain.PumpShield:\n\"----\" H 0 A_GiveInventory(\"PumpShieldProtect\",1)\nGoto Pain+2\n\n///////////////////\n//Movement Based (Stops/Slows)\n///////////////////\nPain.TimeStopper:\n\"----\" H 0 A_GiveInventory(\"TimeStopActivatorC\",1)//ClaseBaseFlags.txt\nGoto Pain+2\n\nPain.ClassPainTimeStop:\nPain.TimeStop:\n\"----\" H 0 A_GiveInventory(\"TimeStoppedTF\",1)\n\"----\" H 0 A_SpawnItemEx(\"AntiTimeStopFreezeHelper\")\n\"----\" H 0 A_Jump(256, \"TimeStopped\")\nGoto TimeStopped\nTimeStopped:\n//\"----\" AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop\n\"####\" \"]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\" 1 A_Stop\nGoto Pain+2\nTimeStoppedX:\n\"####\" \"#####################################################################################################\" 1 A_Stop\nGoto Pain+2\n\nPain.LightRyuStop:\n\"####\" H 0 A_SpawnItemEx(\"PainLightRyuStopHit\")\n\"####\" H 0 A_GiveInventory(\"LightRyuStopProtect\",1)\n\"####\" H 0 A_GiveInventory(\"TimeStoppedTF\",1)\n\"####\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_Stop\nGoto Pain+2\n\nPain.BrightB:\n\"----\" H 0 A_SpawnItemEx(\"BossFlashStoppered\")\nGoto Pain+2\n\nPain.ColdField:\n\"----\" H 0 A_JumpIfInventory(\"GroundIceFlag\",1,3)\n\"----\" H 0 A_PlaySound(\"weapon/ColdFrozen\",5,1.0)\n\"----\" H 0 A_SpawnItemEx(\"GroundIce_Cold\")\n\"----\" H 0\nGoto Pain+2\nPain.FreezeCrackerF:\n\"----\" H 0 A_JumpIfInventory(\"GroundIceFlag\",1,3)\n\"----\" H 0 A_PlaySound(\"weapon/ColdFrozen\",5,1.0)\n\"----\" H 0 A_SpawnItemEx(\"GroundIce_FreezeAir\")\n\"----\" H 0\nGoto Pain+2\nPain.FreezeCrackerB:\n\"----\" H 0 A_SpawnItemEx(\"GroundIce_Freeze\")\nGoto Pain+2\nPain.IceWaveB:\n\"----\" H 0 A_SpawnItemEx(\"GroundIce_Frost\")\nGoto Pain+2\n\nPain.ConcreteStop:\n\"----\" H 0 A_GiveInventory(\"PainStopC\",1)\nGoto Pain+2\nPain.ThunderClawG:\n\"----\" H 0 A_JumpIfInventory(\"ThunderClawGProtect\",1,2)\n\"----\" H 0 A_GiveInventory(\"PainStopC\",1)\n\"----\" H 0 A_GiveInventory(\"ThunderClawGProtect\",1)\nGoto Pain+2\n\nPain.ClassPainStop:\n\"----\" H 0 A_Stop\nGoto Pain+2\n\nPain.TimeSlow:\nPain.MegaTimeBall:\n\"----\" H 0 A_GiveInventory(\"Slowed\",1)\nGoto Pain+2\nPain.MegaIceBall:\n\"----\" H 0 A_GiveInventory(\"PainStopC\",1)\nPain.HornetHoney:\nPain.IceSlashSlow:\nPain.IceSlashSlowL:\nPain.IceSlashBlock:\n\"----\" H 0 A_GiveInventory(\"IcemanSlowPickup\",1)\nGoto Pain+2\nPain.SlashGoop:\n\"----\" H 0 A_GiveInventory(\"PowerSlashGoopSlow\",1)\ngoto Pain\nPain.TornadoWall:\n\"----\" H 0 A_GiveInventory(\"TornadoWallProtect\",1)\ngoto Pain+2\n\nPain.ConcreteShot:\n\"----\" H 0 A_JumpIfInventory(\"ConcreteVision\",1,\"ConcreteReset\")\n\"----\" H 0 A_GiveInventory(\"ConcreteVision\",1)\n\"----\" H 0 A_GiveInventory(\"ConcreteTime\",105)\n\"----\" H 0 A_SpawnItemEx(\"ConcreteWatcherC\")\ngoto Pain+1\nConcreteReset:\n\"----\" H 0 A_GiveInventory(\"ConcreteTime\",105)\ngoto Pain+1\n\nPain.BurnerShockW:\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked_18\",1)\n\"----\" H 0 A_GiveInventory(\"BurnerTrapProtect\",1)\nGoto Pain+1\nPain.BurnerShock:\n\"----\" H 0 A_GiveInventory(\"BurnerTrapProtect\",1)\nPain.NeutralStopShock:\n\"----\" H 0 A_Stop//PainStopC\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+2\n\nPain.RollShock:\nPain.CentaurShock:\nPain.JunkShock:\nPain.NeutralShock:\nPain.SparkShock:\nPain.Darkman2Level2:\nPain.ElectroNet:\nPain.BreakShotWeak:\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\nPain.SparkShockW:\nPain.NeutralShockW:\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked_18\",1)\nGoto Pain+1\n\n///////////////////\n//Movement Based (Flings)\n///////////////////\nPain.DangerTrap:\n\"----\" H 0 A_SpawnItemEx(\"DangerTrapped\")\nGoto Pain+2\nPain.TornadoHoldB:\n\"----\" H 0 //A_SpawnItemEx(\"TornadoHeld\")\ngoto Pain+2\nPain.MWSLift:\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,2)\n\"----\" H 0 ThrustThingZ(0,80,0,0)\n\"----\" H 0 A_GiveInventory(\"MWSLiftProtect\",1)\nGoto Pain+2\n\nPain.LightRyuShoryu:\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,2)\n\"----\" H 0 ThrustThingZ(0,56,0,0)\n\"----\" H 0\nGoto Pain+2//Pain.LightRyu1\nPain.LightRyuShoryuNew:\n\"----\" H 0 A_SpawnItemEx(\"PainLightRyu1Hit\")\n\"----\" H 0 A_GiveInventory(\"LightRyuShoryuProtect\",1)\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,2)\n\"----\" H 0 ThrustThingZ(0,56,0,0)\n\"----\" H 0\nGoto Pain+2\nDeath.LightRyuShoryu:\nDeath.LightRyuShoryuNew:\n\"----\" H 0 ThrustThingZ(0,90,0,0)\n\"----\" H 0 A_SpawnItemEx(\"DeathLightRyuShoryuHit\",1)\nGoto FlingDeath\n\nPain.LightRyuShinShoryu:\n\"----\" H 0 A_TakeInventory(\"LightRyuStopProtect\",1)\n\"----\" H 0 ThrustThingZ(0,200,0,0)\nGoto Pain+2\nDeath.LightRyuShinShoryu:\n\"----\" H 0 ThrustThingZ(0,200,0,0)\n\"----\" H 0 A_SpawnItemEx(\"DeathLightRyuShinShoryuHit\",1)\nGoto FlingDeath\n\nPain.NitroBike:\n\"----\" H 0 ThrustThingZ(0,65,0,1)\n\"----\" H 0 A_GiveInventory(\"NitroBikeProtect\",1)\nGoto Pain+2\n\nPain.UranusLift:\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,2)\n\"----\" H 0 ThrustThingZ(0,random(70,80),0,0)\n\"----\" H 0\nGoto Pain+2\nDeath.UranusLift:\n\"----\" H 0 ThrustThingZ(0,100,0,0)\n\"----\" H 0 A_SpawnItemEx(\"DeathUranusLiftHit\",1)\nGoto FlingDeath\n\nPain.WindStorm:\nPain.FlingDamage:\n\"----\" H 0 //ThrustThing(random(0,255),50,1,0)\n\"----\" H 0 ThrustThing(random(0,255),5,0,0)\n\"----\" H 0 ThrustThingZ(0,30,0,0)\nGoto Pain+1\n\nPain.TornadoFloor:\n\"----\" H 0 A_GiveInventory(\"TornadoFloorProtect\",1)\nPain.TornadoBlow:\n\"----\" H 0 ThrustThingZ(0,60,0,0)\ngoto Pain+2\nPain.TornadoBlowB:\n\"----\" H 0 ThrustThingZ(0,2,0,1)\ngoto Pain+2\n\nPain.ColdSmackDown:\nPain.UranusDeepDigger:\nPain.ClassPainSmackDown:\n\"----\" H 0 A_SpawnItemEx(\"PainGravitySmackDown_H\")\n\"----\" H 0 A_CheckFloor(2)\n\"----\" H 0 ThrustThingZ(0,70,1,0)\n\"----\" H 0\ngoto Pain+2\nPain.GravitySmackDown:\n\"----\" H 0 A_GiveInventory(\"GmanSmackD_DelayF\",1)\n\"----\" H 0 A_JumpIfInventory(\"GmanSmackU_DelayF\",1,5)\n\"----\" H 0 A_SpawnItemEx(\"PainGravitySmackDown_H\")\n\"----\" H 0 A_CheckFloor(2)\n\"----\" H 0 ThrustThingZ(0,70,1,0)\n\"----\" H 0\ngoto Pain+2\n\"----\" H 0 A_TakeInventory(\"GmanSmackU_DelayF\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainGravitySlamHit\")\nGoto Pain+2\n\nPain.GravitySmackUp:\n\"----\" H 0 A_GiveInventory(\"Shocked_18\",1)\n\"----\" H 0 A_GiveInventory(\"GmanSmackU_DelayF\",1)\n\"----\" H 0 A_JumpIfInventory(\"GmanSmackD_DelayF\",1,4)\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,2)\n\"----\" H 0 ThrustThingZ(0,70,0,0)\n\"----\" H 0\ngoto Pain+2\n\"----\" H 0 A_TakeInventory(\"GmanSmackD_DelayF\",1)\n\"----\" H 0 //A_JumpIfInventory(\"FlightDisableFlag\",1,2)\n\"----\" H 0 ThrustThingZ(0,105,0,0)\n\"----\" H 0\nGoto Pain+2\n\nPain.GravityHold:\n\"----\" H 0 A_ChangeVelocity(momx, momy, 0, CVF_REPLACE)\n\"----\" H 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\n\"----\" H 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\n\"----\" H 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\n\"----\" H 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\nGoto GravityForceFinish\nGravityForce4:\n\"----\" H 0 A_GiveInventory(\"GravityForce4\",1)\nGoto GravityForceFinish\nGravityForce3:\n\"----\" H 0 A_GiveInventory(\"GravityForce3\",1)\nGoto GravityForceFinish\nGravityForce2:\n\"----\" H 0 A_GiveInventory(\"GravityForce2\",1)\nGoto GravityForceFinish\nGravityForce1:\n\"----\" H 0 A_GiveInventory(\"GravityForce1\",1)\nGoto GravityForceFinish\nGravityForceFinish:\n\"----\" H 0 A_CheckFloor(2)\n\"----\" H 0 ThrustThingZ(0,150,1,0)\n\"----\" H 0\nGoto Pain+1\n\nPain.PharaohPunch:\n\"----\" H 0\n\"----\" H 0 A_SpawnItemEx(\"PainPharaohPunchHit\",1)\n\"----\" H 0 ThrustThingZ(0,20,0,0)\n\"----\" H 0 A_PlaySoundEx(\"weapon/pharaohpunchhit\", \"SoundSlot7\", 0)\nGoto Pain+1\n\n///////////////////\n//Effect Based\n///////////////////\nPain.FlashBulb:\nPain.FlashStopper:\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"BrightBlind\", 1,3)\n\"----\" H 0 A_GiveInventory(\"BrightBlind\",125)\n\"----\" H 0 ACS_NamedExecuteAlways(\"CCBM_BrightNewBlind\", 0)\nGoto Pain+1\n\"----\" H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto Pain+1\n\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"BeatCallCheck\", 1, \"BeatAssist\")\nGoto Pain+1\nBeatAssist:\n\"----\" H 0\n\"----\" H 0 HealThing(2)\n\"----\" H 0 ACS_ExecuteAlways(205,0)\nGoto Pain+1\n\nPain.WilyFire:\n\"----\" H 0 A_SpawnItemEx(\"ImOnFire\")\n\"----\" H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain+2\nPain.WilyIce:\n\"----\" H 0 A_GiveInventory(\"WilyIceTotallyFrozen\",1)\n\"----\" H 0 A_TakeInventory(\"SuperEffective\",1)\n\"----\" H 0 A_GiveInventory(\"EndBossFlashStoppered\",1)\n\"----\" H 0 A_GiveInventory(\"TimeStoppedUnfreeze\",1)\n\"----\" H 0 A_SpawnItemEx(\"ImFrozen\")\n\"----\" H 0 A_GiveInventory(\"IceVision\",1)\n\"----\" H 0 A_Stop\n\"----\" H 0 A_Jump(256, \"Spawn\")\nGoto Spawn\n\n///////////////////\n//TID Soup Based\n///////////////////\n\n//Bonus Damage\n//Pain.MegaFireBall:\n//\"----\" H 0 A_SpawnItemEx(\"PainMegaFireBallHit\",0,0,0,0,0,0,0,1)\n//Goto Pain+1\n\nPain.LightRyuFire:\n\"----\" H 0 A_GiveInventory(\"LightRyuFireProtect\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainLightRyuFireHit\",0,0,0,0,0,0,0,1)\nGoto Pain+1\n\nPain.WilyFireB1:\n\"----\" H 0 A_SpawnItemEx(\"PainWilyFireB1Hit\",0,0,0,0,0,0,0,1)\nGoto Pain+1\n\nPain.GravitySphereSlam:\n\"----\" H 0 A_SpawnItemEx(\"PainGravitySphereSlamHit\")\nGoto Pain+2\n//Stone\nPain.G_TenguSlam:\n\"----\" H 0 A_SpawnItemEx(\"PainG_TenguSlamHit\")\nGoto Pain+2\nPain.G_TornadoSlam:\n\"----\" H 0 A_GiveInventory(\"G_TornadoSlamProtect\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainG_TornadoSlamHit\")\nGoto Pain+2\n\nPain.DynaTag:\n\"----\" H 0 A_GiveInventory(\"DynaTagCooldown\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainDynaTagHit\")\n\"----\" H 0 A_PlaySoundEx(\"classes/DynamoTag\",\"Voice\")\n\"----\" H 0 HealThing(1)\nGoto Pain+5\n\n//Fling\nPain.DuoRam:\n\"----\" H 0 A_SpawnItemEx(\"PainDuoRamHit\")\n\"----\" H 0 ThrustThingZ(0,28,0,0)\nGoto Pain+2\n\nPain.MagPush:\n\"----\" H 0 A_SpawnItemEx(\"PainMagPushHit\")\nGoto Pain+2\n\nPain.KnightRush:\n\"----\" H 0 A_SpawnItemEx(\"PainKnightRushHit\")\nGoto Pain.SparkShock\n\nPain.WindStormPull:\n\"----\" H 0 A_GiveInventory(\"WindStormPullProtect\",1)\n\"----\" H 0 A_GiveInventory(\"PainStopC\",1)\n\"----\" H 0 ThrustThingZ(0,30,0,0)\n\"----\" H 0 A_SpawnItemEx(\"PainWindStormPullHit\")\nGoto Pain+2\nPain.WindStormPush:\n\"----\" H 0 ThrustThingZ(0,30,0,0)\n\"----\" H 0 A_SpawnItemEx(\"PainWindStormPushHit\")\nGoto Pain+2\n\nPain.TurboHonk:\n\"----\" H 0 A_GiveInventory(\"TurboHonkProtect\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainDuoRamHit\")\nGoto Pain+2\n\nPain.ODuoRam:\n\"----\" H 0 //A_JumpIfInventory(\"ODuoRamProtect\",1,2)\n\"----\" H 0 A_SpawnItemEx(\"PainODuoRamHit\")\n\"----\" H 0 A_GiveInventory(\"ODuoRamProtect\",1)\nGoto Pain+2\nDeath.ODuoPunch:\nDeath.ODuoRam:\n\"----\" H 0 ThrustThingZ(0,64,0,0)\n\"----\" H 0 A_SpawnItemEx(\"PainODuoRamHit\")\nGoto FlingDeath\nPain.ODuoMeteorF:\n\"----\" H 0 ThrustThingZ(0,28,0,0)\n\"----\" H 0 A_SpawnItemEx(\"PainODuoMeteorFHit\")\nGoto Pain+2\nDeath.ODuoMeteorF:\n\"----\" H 0 ThrustThingZ(0,100,0,0)\n\"----\" H 0 A_SpawnItemEx(\"PainODuoMeteorFHit\")\nGoto FlingDeath\n\nPain.JupiterPush:\n\"----\" H 0 A_SpawnItemEx(\"PainJupiterPushHit\")\nGoto Pain+2\n\nPain.EnkerPush:\n\"----\" H 0 A_SpawnItemEx(\"PainEnkerPushHit\")\nGoto Pain+2\nDeath.EnkerPush:\n\"----\" H 0 ThrustThingZ(0,44,0,0)\n\"----\" H 0 A_SpawnItemEx(\"DeathEnkerPushHit\")\nGoto FlingDeath\n\nPain.MegaWaterBarrier:\n\"----\" H 0 A_SpawnItemEx(\"PainMegaWaterBarrierHit\")\nGoto Pain+2\n\nPain.HyperStormBlaster:\n\"----\" H 0 A_SpawnItemEx(\"PainHyperStormBlasterHit\")\nGoto Pain+2\n\n//Give on-hit\nPain.RollSwing:\n\"----\" H 0 A_GiveInventory(\"TempPitProtect\",1)\n//\"----\" H 0 ThrustThing(random(0,255),15,1,0)\n//\"----\" H 0 ThrustThingZ(0,50,0,0)\n\"----\" H 0 A_SpawnItemEx(\"PainRollHit\")\nGoto Pain+2\nDeath.RollSwing:\n\"----\" H 0 A_GiveToTarget(\"RollHealAmmo\",4)\ngoto Death\n\nPain.LightRyu1:\n\"----\" H 0 A_SpawnItemEx(\"PainLightRyu1Hit\")\nGoto Pain+2\nPain.LightRyu4:\n\"----\" H 0 A_SpawnItemEx(\"PainLightRyu4Hit\")\nGoto Pain+1\nDeath.LightRyu1:\n\"----\" H 0 A_GiveToTarget(\"SuperComboGauge\",1)\ngoto Death\nDeath.LightRyu4:\n\"----\" H 0 A_GiveToTarget(\"SuperComboGauge\",4)\ngoto Death\n\nPain.JoeTruck:\n\"----\" H 0 A_GiveInventory(\"JoeHitItem\",1)\ngoto Pain+2\nPain.Joe:Pain.JoeGrenade:Pain.JoeApache:\n\"----\" H 0 A_GiveInventory(\"JoeHitItem\",1)\ngoto Pain+1\nPain.JoeJ:\n\"----\" H 0 A_GiveInventory(\"JoeHitItem\",1)\n\"----\" H 0 A_SpawnItemEx(\"JoeJHit\")\ngoto Pain+1\nDeath.Joe:Death.JoeGrenade:\n\"----\" H 0 A_GiveToTarget(\"JoeUpgradeAmmo\",105)\nDeath.JoeTruck:Death.JoeApache:\n\"----\" H 0 A_GiveInventory(\"JoeHitItem\",1)\ngoto Death\n\nPain.BBA_MegaR:\n\"----\" H 0 A_SpawnItemEx(\"PainBBA_MegaRHit\")\nGoto Pain+2\nDeath.BBA_MegaR:\n\"----\" H 0 A_GiveToTarget(\"BBA_Money\",16)\ngoto Death\n\nPain.ToadLeap:\n\"----\" H 0 A_SpawnItemEx(\"PainToadLeapHit\")\n\"----\" H 0 A_GiveInventory(\"ToadLeapProtect\",1)\nGoto Pain+2\nDeath.ToadLeap:\n\"----\" H 0 A_GiveToTarget(\"ToadLeap_Pickup\",1)\ngoto Death\n\nDeath.SkullSniperX:\n\"----\" H 0 A_GiveToTarget(\"SkullHyperDeathPickup\",1)\ngoto Death\n\nDeath.DarkRail:\n\"----\" H 0 A_GiveToTarget(\"DarkRailMultiFlag\",1)\ngoto Death\n\nPain.BlizzardBowl:\n\"----\" H 0 A_SpawnItemEx(\"PainBlizzardBowlHit\")\n\"----\" H 0 A_GiveInventory(\"BlizzardBowlProtect\",1)\nGoto Pain\nDeath.BlizzardBowl:\n\"----\" H 0 A_GiveToTarget(\"CrackFlag\",1)\ngoto Death\n\nPain.ShadeSuck:\n\"----\" H 0 A_PlaySoundEx(\"weapon/shadesuck\",\"SoundSlot5\")\n\"----\" H 0 A_SpawnItemEx(\"PainShadeSuckHit\")\nGoto Pain+4\nDeath.ShadeSuck:\n\"----\" H 0 A_GiveToTarget(\"MC_H_PU_5\",1)\ngoto Death\n\nPain.PlantBuster:\n\"----\" H 0 A_SpawnItemEx(\"PainPlantBusterHit\")\nGoto Pain+1\nDeath.PlantBuster:\n\"----\" H 0 A_GiveToTarget(\"LMSRegen\",1)\nGoto Death\n\nPain.FlashBombB1:\n\"----\" H 0 A_SpawnItemEx(\"PainFlashBombB1Hit\")\ngoto Pain.FlashBomb\nPain.FlashBombB2:\n\"----\" H 0 A_SpawnItemEx(\"PainFlashBombB2Hit\")\ngoto Pain.FlashBomb\nDeath.FlashBombB1:\n\"----\" H 0 A_GiveToTarget(\"THATFELTGOODAMMO\",2)\nGoto Death\nDeath.FlashBombB2:\n\"----\" H 0 A_GiveToTarget(\"THATFELTGOODAMMO\",6)\nGoto Death\n\nPain.ODuoMeteor:\n\"----\" H 0 A_SpawnItemEx(\"PainODuoMeteorHit\")\n\"----\" H 0 A_GiveInventory(\"ODuoMeteorProtect\",1)\nGoto Pain+2\nDeath.ODuoMeteor:\n\"----\" H 0 A_GiveToTarget(\"ODuoTheMeteorPickup\",1)\ngoto Death.ODuoMeteorF\n\nPain.EvilTornadoHold:\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,2)\n\"----\" H 0 ThrustThingZ(0,random(70,80),0,0)\n\"----\" H 0\nGoto Pain+2\n\nPain.EvilFlameSword:\n\"----\" H 0 A_GiveInventory(\"EvilFlameSwordProtect\",1)\n\"----\" HH 0 A_SpawnItemEx(\"FlameSwordBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,359))\nGoto Pain+2\n\nPain.MagicCardB:\n\"----\" H 0 A_GiveInventory(\"MagicCardProtectC\",1)\n\"----\" H 0 A_GiveInventory(\"PainMagicCardBHit\",1)\ngoto Pain\nDeath.MagicCardB:\n\"----\" H 0 A_GiveToTarget(\"MC_H_PU_4\",1)\nGoto Death\n\nPain.ConcreteShoulder:\n\"----\" H 0 A_GiveInventory(\"ConcreteShoulderProtect\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainConcreteShoulderHit\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainKnightRushHit\")\ngoto Pain\nDeath.ConcreteShoulder:\n\"----\" H 0 ThrustThingZ(0,120,0,0)\n\"----\" H 0 A_SpawnItemEx(\"DeathConcreteShoulderHit\",1)\n\"----\" H 0 A_GiveToTarget(\"ConcreteBashFlag\",1)\nGoto FlingDeath\nDeath.GutsPunch:\n\"----\" H 0 ThrustThingZ(0,120,0,0)\n\"----\" H 0 A_SpawnItemEx(\"DeathConcreteShoulderHit\",1)\ngoto FlingDeath\nDeath.PharaohPunch:\n\"----\" H 0 ThrustThingZ(0,120,0,0)\n\"----\" H 0 A_PlaySoundEx(\"weapon/pharaohpunchko\", \"SoundSlot7\", 0)\n\"----\" H 0 A_SpawnItemEx(\"DeathConcreteShoulderHit\",1)\ngoto FlingDeath\n\nPain.TornadoLeap:\n\"----\" H 0 A_SpawnItemEx(\"PainTornadoLeapHit\")\n\"----\" H 0 A_GiveInventory(\"TornadoLeapProtect\",1)\nGoto Pain+2\nDeath.TornadoLeap:\n\"----\" H 0 A_GiveToTarget(\"TornadoLeap_Pickup\",1)\ngoto Death\n\nPain.QuintLeap:\n\"----\" H 0 A_SpawnItemEx(\"PainQuintLeapHit\")\n\"----\" H 0 A_GiveInventory(\"QuintLeapProtect\",1)\nGoto Pain+2\nDeath.QuintLeap:\n\"----\" H 0 A_GiveToTarget(\"QuintLeap_Pickup\",1)\ngoto Death\n\nPain.MWSHookPull:\n\"----\" H 0 A_GiveInventory(\"PainStopC\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainHarpoon2PullHit\")\nGoto Pain+2\n\nPain.HSHCold:\n\"----\" H 0 A_SpawnItemEx(\"PainHSHColdHit\")\nGoto Pain+2\nDeath.HSHCold:\n\"----\" H 0 A_GiveToTarget(\"HyperStormCold\",25)\nGoto Death\n\nPain.HSHSuck:\n\"----\" H 0 A_SpawnItemEx(\"PainHSHSuckHit\")\nGoto Pain+2\nDeath.HSHSuck:\n\"----\" H 0 A_GiveToTarget(\"MC_H_PU_2\",1)\nGoto Death\n\nPain.DarkTank:\n\"----\" H 0 A_SpawnItemEx(\"PainDarkTankHit\",1)\nGoto Pain+2\n\nPain1:\n\"----\" H 0\ngoto Pain+1\nPain2:\n\"----\" H 0\ngoto Pain+2\n\n//Pain.Normal:\nPain.ProtoBuster2:Pain.ProtoBuster3:Pain.MegaBuster3:Pain.SuperAdaptor:Pain.ArrowBuster:Pain.LaserBuster:Pain.DuoFist1:Pain.DuoFist2:Pain.DuoFist3:\nPain.MegaCutBall:Pain.MegaGutsBall:/*Pain.MegaIceBall:*/Pain.MegaBombBall:Pain.MegaFireBall:Pain.MegaElecBall:/*Pain.MegaTimeBall:*/Pain.MegaOilBall:\nPain.RollingCutter:Pain.SuperArm:Pain.IceSlasher:Pain.HyperBomb:Pain.FireStorm:Pain.ThunderBeam:/*Pain.OilSlider:*/Pain.OilFlame:\nPain.MetalBlade:Pain.AirShooter:Pain.BubbleLead:Pain.AtomicFire1:Pain.AtomicFire2:/*Pain.AtomicFire3:*/Pain.LeafShield:\nPain.GeminiLaser:Pain.HardKnuckle:Pain.TopSpin:Pain.SearchSnake:Pain.ShadowBlade:Pain.NeedleCannon:\nPain.RainFlush:Pain.DrillBomb:Pain.PharaohShot1:Pain.PharaohShot2:Pain.PharaohShot3:Pain.RingBoomerang:Pain.DustCrusher:Pain.DustCrusherBit:Pain.SkullBarrier:\nPain.WaterWave:Pain.PowerStone:Pain.GyroAttack:Pain.NapalmBomb:Pain.CrystalEye:Pain.CrystalEyeBit:Pain.DarkShot:Pain.DarkRail:\nPain.BlizzardAttack:Pain.FlameBlast:Pain.KnightCrush:Pain.SilverTomahawk:Pain.PlantBarrier:\n/*Pain.FreezeCracker:*/Pain.FreezeCrackerBit:/*Pain.JunkShot:*/Pain.DangerWrap:Pain.ThunderBolt:Pain.WildCoil2:Pain.NoiseCrush1:Pain.NoiseCrush2:\nPain.MegaBall:Pain.AstroCrush:Pain.IceWave:Pain.ThunderClaw:Pain.WaterBalloon:Pain.HomingSniper:Pain.GrenadeSD:\nPain.Concrete:Pain.PlugBall:Pain.HornetChaser:Pain.MagmaBazooka1:Pain.MagmaBazooka2:Pain.BlackHoleBomb:Pain.JewelSatellite:\nPain.TripleBlade:Pain.WheelCutter:Pain.SolarBlaze:\nPain.TenguBlade:Pain.MagicCard:Pain.LightningBolt:\nPain.MirrorBuster:Pain.MirrorBuster1:Pain.MirrorBuster2:Pain.MirrorBuster3:Pain.Sakugarne:Pain.BalladeCracker:\nPain.GrabBuster:Pain.BubbleBomb:Pain.ElectricShock:Pain.DeepDigger:\nPain.Mine:Pain.SkullSniper:Pain.SkullSniperX:Pain.CentaurArrow:\nPain.WilyLightning://Pain.TopSpinB:\nPain.Coal:\n//Pain.Tango:Pain.FireTrap:Pain.FirePillar:\nPain.ClassPain:\nPain:\n\"----\" H 0//A_GiveInventory(\"PainScaleVelocityC\",1)\n\"----\" H 0// A_GiveInventory(\"PainRecoilC\",1)\n\"----\" H 0 A_TakeInventory(\"SuperEffective\",1)\n\"----\" H 0 A_GiveInventory(\"EndBossFlashStoppered\",1)\n\"----\" H 0 A_JumpIfInventory(\"BushInvis\", 1, 2)\n\"----\" H 0 A_Pain\n\"----\" H 0 A_GiveInventory(\"TimeStoppedUnfreeze\",1)\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"SkipClassPainJump\",1,\"PainContinue\")\n\"----\" H 0 A_Jump(256, \"ClassPain\")\ngoto ClassPain\nClassPain:\n\"----\" H 0\ngoto PainContinue\nPainContinue:\n//\"----\" H 1 A_SpawnItemEx(\"PainFX_CBM\",-5,0,3,0,0,0)\n//\"----\" H 1// A_GiveInventory(\"PainRecoilC\",1)\n\"----\" \"#\" 0 A_GiveInventory(\"IsInPain\",1)\n\"----\" \"#\" 0 A_JumpIfInventory(\"BushInvis\", 1, 11)\n\"----\" \"##########\" 2 A_SpawnItemEx(\"PainFX_CBM\",-5,0,3,0,0,0)//HHHHHHHHHH\n\"----\" H 1\n\"----\" H 0 A_Jump(256, \"Spawn\")\n\"----\" H 1 A_Jump(256, \"Spawn\")\nGoto Spawn\n\n//Death states\n\nDeath.Ice:\nDeath.IceSlashSlow:Death.IceSlashSlowL:Death.MegaIceBall:\nDeath.WilyIce:Death.TimeStop:\nDeath.FreezeCrackerB:\nDeath.IceWave:Death.IceWaveB:\nDeath.ColdField:Death.ColdPunch:Death.ColdSmackDown:\nDeath.ClassPainTimeStop:Death.Thomas:\nDeath.ChillSpikeBoss:\n\"----\" H 0 A_GiveInventory(\"IceDeathFlag\",1)\ngoto Death\n\nDeath.WindStorm:Death.WindStormPull:Death.WindStormPush:\nDeath.GravityHold:Death.GravitySmackUp:Death.G_TenguSlam:Death.G_TornadoSlam:\nDeath.DangerTrap:\nDeath.TornadoHoldB:\nDeath.TornadoBlow:Death.TornadoBlowB:Death.TornadoFloor:\nDeath.MWSLift:\n\"----\" H 0 A_GiveInventory(\"RiseDeathFlag\",1)\ngoto Death\n\nDeath.spawntelefrag:\n\"----\" H 0 A_GiveInventory(\"SpawnTeleFragFlag\",1)\ngoto Death\nDeath.instagib:\nDeath.GravityB2:\nDeath.Beam:Death.Telefrag:Death.Spiney:Death.Crush:Death.Suicide://Death.Extreme:Death.InstantDeath:\n//Death.GravityHold:\n\"----\" H 0 A_GiveInventory(\"InstagibFlag\",1)\n\"----\" H 0 A_SetTranslucent(0.0,0)\ngoto Death\n\nFlingDeath:\n\"----\" H 0 A_GiveInventory(\"FlingDeathFlag\",1)\ngoto Death\n\nDeath.DustCrusher:Death.DustCrusherBit:\nDeath.JunkShield:Death.JunkShot:Death.JunkPunch:Death.JunkShock:\n\"----\" H 0 A_GiveInventory(\"JunkDeathDropFlag\",1)\ngoto Death\n\nDeath.Fire:Death.Slime:Death.Drowning:Death.Exit:\nDeath:\n\"----\" H 0 A_GiveInventory(\"DeadClassBundle\")\n\"----\" H 0 A_Jump(256,\"DeathFix\")\ngoto DeathFix\n\nDeathFix://Used to show the H sprite for a class on death and check if a class should do a special death.\n\"----\" H 0\n\"----\" H 1\ngoto DeathContinue\n\nClassDeath://Used for special deaths. (such as grenademan)\n\"----\" H 0\n\"----\" H 1\ngoto MegaDeathEnd\n\nClassDeathM://Placeholder to fix desync online\n\"----\" H 1\ngoto MegaDeathEnd\nClassDeathF:\n\"----\" H 19\ngoto MegaDeathEnd\nClassDeathR:\n\"----\" H 1\ngoto RiseDeath\nClassDeathRE:\n\"----\" H 1\ngoto MegaDeathEnd\nClassDeathI:\n\"----\" H 1\ngoto IceDeath\n\nDeathContinue://Which state to hop to\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"SpecialDeathFlag\",1,\"ClassDeath\")\n\"----\" H 0 A_JumpIfInventory(\"InstagibFlag\",1,\"MegaDeathEnd\")\n\"----\" H 0 A_JumpIfInventory(\"RiseDeathFlag\",1,\"RiseDeath\")\n\"----\" H 0 A_JumpIfInventory(\"IceDeathFlag\",1,\"IceDeath\")\n\"----\" H 19\n\"----\" H 0\ngoto MegaDeathEnd\n\nRiseDeath:\n\"----\" H 1 ThrustThingZ(0,21,0,1)\n\"----\" H 0 A_JumpIf(ceilingz-z<64,\"MegaDeathEnd\")\n\"----\" H 0 A_GiveInventory(\"RiseDeathFlag2\",1)\n\"----\" H 0 A_JumpIfInventory(\"RiseDeathFlag2\",25,\"MegaDeathEnd\")\nGoto RiseDeath\nIceDeath:\n\"----\" H 0 ACS_ExecuteAlways(998,0,DYE_ICEDEATHCBM,10)\n\"----\" H 1 A_PlaySoundEx(\"CBM/freeze\",\"Voice\")\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_SpawnItemEx(\"FrozenDeathBitFX\",frandom(16,48),0,fRandom(16,48),0,0,0,random(0,359))\n\"----\" H 0 A_PlaySoundEx(\"CBM/icebreak\",\"Body\")\n\"----\" H 0 A_SpawnItemEx(\"FrozenDeathFXC\",0,0,0)\ngoto DeathWait\nDeath.Falling:\n\"----\" H 0 A_GiveInventory(\"FallingFlag\",1)\n\"----\" H 0 A_GiveInventory(\"DeadClassBundle\")\n\"----\" H 0 A_SetTranslucent(0.0,0)\n\"----\" H 0 A_PlaySoundEx(\"*death\",\"Voice\")\ngoto DeathWait\n\nMegaDeathEnd:\n\"----\" H 0 A_ChangeVelocity(0,0,0,CVF_REPLACE)\n\"----\" H 0 A_PlaySoundEx(\"*death\",\"Voice\")//A_XScream\n\"----\" H 0 A_JumpIf(ACS_ExecuteWithResult(143,0)>=0,3)//Check if team game\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFXC\",0,0,32)\n\"----\" H 0 A_Jump(256,2)\n\"----\" H 0 A_SpawnItemEx(\"TFakeDeathFX\",0,0,32,0,0,0,0,1)\n\"----\" H 0\ngoto DeathWait\n\nDeathWait:\nPLAY Z 1 A_CheckPlayerDone\nwait\n\nDropWeapon:\n\"----\" H 0\n\"----\" H 0 A_Jump(256,\"NoDropWeapon\")\ngoto NoDropWeapon\nNoDropWeapon:\nPLAY Z 1 A_CheckPlayerDone\nwait\n\n//AmmoGet:\n//\"----\" Y 0 A_PlaySoundEx(\"weapon/mirrorabsorb\",\"Voice\")\n//\"----\" Y 0 A_GiveInventory(\"MirrorCharge\",7)\n//EnkerClassAbsorb:\n//\"----\" Y 35\n//\"----\" Y 0\n//goto Spawn+1\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}"
      },
      {
        "source": "pk3",
        "name": "actors/MegamanV/Saturn.txt",
        "contents": "actor Saturn : LightClassBase2\n{\nPlayer.ScoreIcon \"C_0VF0X\"\nplayer.startitem \"MegaHealthBar\"\nplayer.displayname \"Saturn\"\nplayer.soundclass \"saturnc\"\nplayer.startitem \"BlackHoleBoss\"\n//player.startitem \"SaturnItem\"\nplayer.startitem \"BlackVortexAmmo\", 14\nplayer.startitem \"WhiteHoleAmmo\", 350\nplayer.startitem \"SaturnHoldAmmo\", 280\nplayer.forwardmove 0.7, 0.7\nplayer.sidemove 0.68, 0.68\n\nplayer.startitem \"BubbleBombWeakness2\", 1\n\nplayer.startitem \"DangerWrapWeakness\", 1\nplayer.startitem \"HyperBombWeakness\", 1\nplayer.startitem \"BubbleLeadWeakness\", 1\nplayer.startitem \"DrillBombWeakness\", 1\nplayer.startitem \"NapalmBombWeakness\", 1\nplayer.startitem \"DangerWrapWeakness\", 1\nplayer.startitem \"FlashBombWeakness\", 1\nplayer.startitem \"RemoteMineWeakness\", 1\nplayer.startitem \"LaserTridentWeakness\", 1\nplayer.startitem \"BubbleBombWeakness\", 1\nplayer.startitem \"BalladeCrackerWeakness\", 1\n\nplayer.startitem \"RealClassFlag\", 113\nStates\n{\nSpawn:\nSATU A 0\nSATU B 1\nSATU A 1\nGoto Spawn+2\n\nSee:\nSATU BBBBBCCCCCDDDDDEEEEE 1\nGoto Spawn\n\nMissile:\nSATU FGFGFG 3\ngoto Spawn\n\nCustomState1:\nSATU FGFGFG 3\ngoto Spawn\n\nClassPain:\nSATU H 0\ngoto PainContinue\nDeathFix:\nSATU H 0\ngoto DeathContinue\nClassDeath:\nSATU H 1\ngoto MegaDeathEnd\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/WeaponSlide.txt",
        "contents": "//These are WepC versions of the core Weapons, AltFire's are given to the core weapons to allow sliding.\n\n//There are other edits to certain weapons\n\n//The following weapons have SPREADRUNE related changes to work correctly.\n//ThunderBeam, RainFlush, IceWall, TornadoBlow, BlackHoleBomb, Sakugarne\n\n//The following weapons have SPREADRUNE related changes to weaken them.\n//MagnetMissile, DiveMissile, HomingSniper, HornetChaser\n\nactor TimeStopperGiverC : TimeStopperGiver replaces TimeStopperGiver\n{\nstates\n{\nPickup:\nDUST B 0 A_JumpIfInventory(\"CanCopyWeapons\",1,2)\nDUST B 0\nfail\nDUST B 0 A_GiveInventory(\"TimeStopperWepC\",1)\nstop\n}\n}\n\nactor FlashStopperGiverC : FlashStopperGiver replaces FlashStopperGiver\n{\nstates\n{\nPickup:\nDUST B 0 A_JumpIfInventory(\"CanCopyWeapons\",1,2)\nDUST B 0\nfail\nDUST B 0 A_GiveInventory(\"FlashStopperWepC\",1)\nstop\n}\n}\n\nactor SkullBarrierGiverC : SkullBarrierGiver replaces SkullBarrierGiver\n{\nstates\n{\nPickup:\nDUST B 0 A_JumpIfInventory(\"CanCopyWeapons\",1,2)\nDUST B 0\nfail\nDUST B 0 A_GiveInventory(\"SkullBarrierWepC\",1)\nstop\n}\n}\n\nactor SakugarneGiverC : SakugarneGiver replaces SakugarneGiver\n{\nstates\n{\nPickup:\nDUST B 0 A_JumpIfInventory(\"CanCopyWeapons\",1,2)\nDUST B 0\nfail\nDUST B 0 A_GiveInventory(\"SakugarneWepC\",1)\nstop\n}\n}\n\n//BUSTER//BUSTER//BUSTER//\n//BUSTER//BUSTER//BUSTER//\n\nactor BassBusterC : BassBuster\n{\ndropitem \"JetUpgradeGiverDropped\"\nStates\n{\nTakeBusters:\nBASB B 0 A_GiveInventory(\"TakeBuster_P\",1)\nGoto Ready2\n\nFire:\nBASB B 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nBASB B 0 A_GiveInventory(\"BassBusterRage\", 1)\nBASB B 0 A_JumpIfInventory(\"BassBusterRage\", 9*4, \"Fire4\")\nBASB B 0 A_JumpIfInventory(\"BassBusterRage\", 9*3, \"Fire3\")\nBASB B 0 A_JumpIfInventory(\"BassBusterRage\", 9*2, \"Fire2\")\nBASB B 0 A_JumpIfInventory(\"BassBusterRage\", 9*1, \"Fire1\")\nFire0:\nBASB B 0 A_FireCustomMissile(\"BassShot\",frandom(-3,3),0,8,0,0,frandom(0,0))\nGoto Anim\nFire1:\nBASB B 0 A_FireCustomMissile(\"BassShot\",frandom(-4,4),0,8,0,0,frandom(-1,1))\ngoto Anim\nFire2:\nBASB B 0 A_FireCustomMissile(\"BassShot\",frandom(-5,5),0,8,0,0,frandom(-2,2))\ngoto Anim\nFire3:\nBASB B 0 A_FireCustomMissile(\"BassShot\",frandom(-6,6),0,8,0,0,frandom(-3,3))\ngoto Anim\nFire4:\nBASB B 0 A_FireCustomMissile(\"BassShot\",frandom(-7,7),0,8,0,0,frandom(-4,4))\ngoto Anim\nAnim:\nBASB C 2\nBASB D 1\nBASB B 1\nBASB B 0 A_Refire\ngoto Cooldown\n\nReadyC:Goto Ready2\n}\n}\n\nactor ProtoBusterC : ProtoBuster\n{\ndropitem \"PowerUpgradeGiverDropped\"\nStates\n{\nTakeBusters:\nPROC J 0 A_GiveInventory(\"TakeBuster_P\",1)\nGoto Ready2\n\nHold:\nPROC J 0 A_TakeInventory(\"StopShield\",1)\nPROC D 0 A_JumpIfInventory(\"WeaponCharge\",36,\"Charge2\")\nPROC D 0 A_JumpIfInventory(\"WeaponCharge\",13,\"Charge1\")\nPROC D 0 A_JumpIfInventory(\"WeaponCharge\",10,\"Charge\")\nPROC D 1 A_GiveInventory(\"WeaponCharge_RC\",1)//\nPROC D 0 A_Refire\nGoto Ready2+1\nCharge:\nPROC D 0 A_PlaySoundEx(\"weapon/pchargelong\",\"Weapon\")\nGoto Charge1\nCharge1:\nPROC J 0 A_JumpIfInventory(\"WeaponCharge\",36,\"Charge2\")\nPROC D 1 ACS_ExecuteAlways(998,0,63,5)//\nPROC H 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nPROC H 1 ACS_ExecuteAlways(998,0,36,1)//\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 HH 0 A_GiveInventory(\"WeaponCharge_RC\",1)//\nPROC H 0 A_Refire(\"Charge1\")\nGoto Fire2\nCharge2:\nPROC I 1 ACS_ExecuteAlways(998,0,64,6)\nPROC H 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nPROC H 1 ACS_ExecuteAlways(998,0,36,7)\nPROC J 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\nPROC H 0 A_Refire(\"Charge2\")\nGoto Fire3\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready2+1\n}\n}\n\nactor SuperAdaptorWepC : SuperAdaptorWep\n{\ndropitem \"AdaptorUpgrade2GiverDropped\"\nStates\n{\nTakeBusters:\nSAPT A 0 A_GiveInventory(\"TakeBuster_P\",1)\nGoto Ready2\n\nHold:\nSAPT D 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2\")\nSAPT D 0 A_JumpIfInventory(\"WeaponCharge\",21,\"Charge1\")//\nSAPT D 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Charge\")\nSAPT A 1 A_GiveInventory(\"WeaponCharge_RC\",1)//\nSAPT D 0 A_Refire\nGoto Fire\nCharge:\nSAPT D 0 A_PlaySoundEx(\"weapon/adaptercharge\",\"Weapon\")\nSAPT AD 1\nSAPT AD 1\nSAPT AD 1\nGoto Charge1\nCharge1:\nSAPT A 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\nSAPT A 0 ACS_ExecuteAlways(998,0,77,1)//\nSAPT A 1 A_GiveInventory(\"WeaponCharge_RC\",1)//\nSAPT A 0 A_Refire(\"Charge1.a\")\nGoto Fire\nCharge1.a:\nSAPT D 1 ACS_ExecuteAlways(998,0,78,5)//\nSAPT A 0 A_Refire(\"Charge1\")\nGoto Fire\nCharge2Start:\nSAPT G 0 A_GunFlash(\"Sound.BusterCharge\",GFF_NOEXTCHANGE)\ngoto Charge2\nCharge2:\nSAPT G 1 ACS_ExecuteAlways(998,0,79,6)//\nSAPT A 0 A_Refire(\"Charge2.a\")\nGoto Fire2\nCharge2.a:\nSAPT H 1 ACS_ExecuteAlways(998,0,80,7)//\nSAPT A 0 A_Refire(\"Charge2.b\")\nGoto Fire2\nCharge2.b:\nSAPT K 1 ACS_ExecuteAlways(998,0,77,1)//\nSAPT A 0 A_Refire(\"Charge2.c\")\nGoto Fire2\nCharge2.c:\nSAPT K 0 A_JumpIfInventory(\"IsBot\",1,\"BotFire\")\nSAPT A 0 A_Refire(\"Charge2\")\nGoto Fire2\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready3\n}\n}\n\nactor LaserBusterC : LaserBuster\n{\ndropitem \"LaserBusterUpgrade2GiverDropped\"\nstates\n{\nTakeBusters:\nBUST B 0 A_GiveInventory(\"TakeBuster_P\",1)\nGoto Ready2\n\nHold:\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2\")//\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",21,\"Charge1\")//\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Charge\")\nBUST B 1 A_GiveInventory(\"WeaponCharge_RC\",1)//\nBUST B 0 A_Refire\nGoto Ready2+2\nCharge:\nBUST B 0 A_PlaySoundEx(\"weapon/coilstart\",\"Weapon\")\nGoto Charge1\nCharge1:\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\nLBST H 1 ACS_ExecuteAlways(998,0,106,5)//\nCHBU H 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nBUST B 1 ACS_ExecuteAlways(998,0,0,1)//\nBUST B 0 A_GiveInventory(\"WeaponCharge_RC\",1)//\nCHBU H 0 A_Refire(\"Charge1\")\nGoto Fire2\nCharge2Start:\nBUST B 0 A_GunFlash(\"Sound.BusterCharge\",GFF_NOEXTCHANGE)\nGoto Charge2\nCharge2:\nLBST I 1 ACS_ExecuteAlways(998,0,107,7)//\nCHBU H 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nBUST B 1 ACS_ExecuteAlways(998,0,0,6)//\nBUST B 0 A_JumpIfInventory(\"IsBot\",1,\"BotFire\")\nCHBU H 0 A_Refire(\"Charge2\")\nGoto Fire3\nBotFire:\nBUST B 0 A_Jump(16,\"Fire3\")\nCHBU H 0 A_Refire(\"Charge2\")//\nGoto Fire3\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready2+2\n}\n}\n\nactor ArrowBusterC : ArrowBuster\n{\ndropitem \"ArrowBusterUpgrade2GiverDropped\"\nstates\n{\nTakeBusters:\nBUST B 0 A_GiveInventory(\"TakeBuster_P\",1)\nGoto Ready2\n\nHold:\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2\")//\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",21,\"Charge1\")//\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Charge\")\nBUST B 1 A_GiveInventory(\"WeaponCharge_RC\",1)//\nBUST B 0 A_Refire\nGoto Ready2+2\nCharge:\nBUST B 0 A_PlaySoundEx(\"weapon/coilstart\",\"Weapon\")\nGoto Charge1\nCharge1:\nBUST B 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\nCHBU H 1 ACS_ExecuteAlways(998,0,92,5)//\nCHBU H 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nBUST B 1 ACS_ExecuteAlways(998,0,0,1)//\nBUST B 0 A_GiveInventory(\"WeaponCharge_RC\",1)//\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(998,0,93,6)//\nCHBU H 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nCHBU I 1 ACS_ExecuteAlways(998,0,94,7)//\nCHBU H 0 A_Refire(\"Charge2.b\")\nGoto Fire3\nCharge2.b:\nCHBU J 1 ACS_ExecuteAlways(998,0,0,5)//\nBUST B 0 A_JumpIfInventory(\"IsBot\",1,\"BotFire\")\nBUST B 0 A_Refire(\"Charge2\")\nGoto Fire3\nBotFire:\nBUST B 0 A_Jump(16,\"Fire3\")\nCHBU H 0 A_Refire(\"Charge2\")//\nGoto Fire3\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready2+2\n}\n}\n\nactor DuoFistC : DuoFist\n{\ndropitem \"DuoFistUpgrade2GiverDropped\"\nStates\n{\nTakeBusters:\nDUOF C 0 A_GiveInventory(\"TakeBuster_P\",1)\nGoto Ready2\n\nHold:\nDUOF B 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Charge\")\nDUOF B 1 A_GiveInventory(\"WeaponCharge_RC\",1)//\nDUOF B 0 A_Refire\nGoto Ready2+2\nCharge:\nDUOF B 0 A_PlaySoundEx(\"weapon/coilstart\",\"Weapon\")\nGoto Charge1\nCharge1:\nDUOF B 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\nDUOF H 1 ACS_ExecuteAlways(998,0,102,5)//\nDUOF H 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nDUOF B 1 ACS_ExecuteAlways(998,0,101,1)//\nDUOF B 0 A_GiveInventory(\"WeaponCharge_RC\",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(998,0,103,6)\nDUOF H 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nDUOF I 1 ACS_ExecuteAlways(998,0,104,7)\nDUOF H 0 A_Refire(\"Charge2.b\")\nGoto Fire3\nCharge2.b:\nDUOF J 1 ACS_ExecuteAlways(998,0,101,1)//\nDUOF J 0 A_JumpIfInventory(\"IsBot\",1,\"BotFire\")\nDUOF H 0 A_Refire(\"Charge2\")\nGoto Fire3\nBotFire:\nDUOF H 0 A_Jump(16,\"Fire3\")\nDUOF H 0 A_Refire(\"Charge2\")//\nGoto Fire3\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready2+2\n}\n}\n\nactor TrebleBoostC : TrebleBoost\n{\ndropitem \"TrebleBoostUpgrade2GiverDropped\"\nStates\n{\nTakeBusters:\nTREB B 0 A_GiveInventory(\"TakeBuster_P\",1)\nGoto Ready2\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:\nTREB B 0 A_JumpIfInventory(\"TrebleFlightFlag\",1,\"FlightReady\")\nGoto Ready2\n}\n}\n\n//MM1//MM1//MM1//MM1//MM1//MM1\n//MM1//MM1//MM1//MM1//MM1//MM1\nactor RollingCutterWepC : RollingCutterWep //replaces RollingCutterWep\n{\ndropitem \"RollingCutterWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor SuperArmWepC : SuperArmWep //replaces SuperArmWep\n{\ndropitem \"SuperArmWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfireC:\nTNT1 A 0 A_JumpIfInventory(\"SuperArmTemp\",1,\"Throw\")\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\n\nactor IceSlasherWepC : IceSlasherWep //replaces IceSlasherWep\n{\ndropitem \"IceSlasherWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor HyperBombWepC : HyperBombWep //replaces HyperBombWep\n{\ndropitem \"HyperBombWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor FireStormWepC : FireStormWep //replaces FireStormWep\n{\ndropitem \"FireStormWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor ThunderBeamWepC : ThunderBeamWep //replaces ThunderBeamWep\n{\ndropitem \"ThunderBeamWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"FireSpread\")\ngoto \"Super::Fire\"\nFireSpread:\nTHUN H 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTHUN H 0 A_PlaySoundEx(\"weapon/thunderbeam\",\"Weapon\")\n//\nTHUN H 0 A_SpawnItemEx(\"ThunderBeam\",0,8,32,cos(pitch)*30,0,sin(-pitch)*30,45)\nTHUN H 0 A_SpawnItemEx(\"ThunderBeam\",0,8,32,cos(pitch)*30,0,sin(-pitch)*30,-45)\nTHUN H 0 A_SpawnItemEx(\"ThunderBeam\",cos(pitch)*8,0,32,cos(pitch)*30,0,sin(-pitch)*30,-45)\nTHUN H 0 A_SpawnItemEx(\"ThunderBeam\",cos(pitch)*8,0,32,cos(pitch)*30,0,sin(-pitch)*30,-135)\nTHUN H 0 A_SpawnItemEx(\"ThunderBeam\",cos(pitch)*-8,0,32,cos(pitch)*30,0,sin(-pitch)*30,45)\nTHUN H 0 A_SpawnItemEx(\"ThunderBeam\",cos(pitch)*-8,0,32,cos(pitch)*30,0,sin(-pitch)*30,135)\ngoto \"Super::Fire+2\"\n\nReadyC:Goto Ready+1\n}\n}\n\nactor TimeSlowWepC : TimeSlowWep //replaces TimeSlowWep\n{\ndropitem \"TimeSlowWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire2:\nTSLO A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTSLO A 0 A_JumpIfInventory(\"TimeSlowCooldownC\",1,\"NoAmmo\")//TimeSlowCooldown\nTSLO A 0 A_ScaleVelocity(0.5)\nSLOT JKLMN 2\nTNT1 A 0 A_PlaySoundEx(\"weapon/slow\",\"Weapon\")\nTNT1 A 0 ACS_Execute(976,0)\nTNT1 A 0 A_FireCustomMissile(\"TimeSlow\",0,1,8,0)\nTNT1 A 2\nTSLO BC 1\nTSLO A 1 A_GiveInventory(\"TimeSlowCooldown_RC\",1)//TimeSlowCooldown\ngoto Ready+1\n\nReadyC:Goto Ready+1\n}\n}\n\nactor TimeSlowCooldownC : PowerUp\n{\n+INVENTORY.ADDITIVETIME\npowerup.duration 15\n}\n\nactor TimeSlowCooldown_RC : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_JumpIfInventory(\"PowerRage_ST\",1,\"PickupR\")\nTNT1 A 0 A_GiveInventory(\"TimeSlowCooldownC\",1)\ngoto PickupR\nPickupR:\nTNT1 A 0 A_GiveInventory(\"TimeSlowCooldownC\",1)\nstop\n}\n}\n\nactor OilSliderWepC : OilSliderWep //replaces OilSliderWep\n{\ndropitem \"OilSliderWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nSlide:\nOILL A 0 SetPlayerProperty(0, 1, 0)\nOILL A 0 A_TakeInventory(\"OilSliderFlag\",1)\nOILL A 0 A_JumpIfInventory(\"IsUnderWater\", 1, \"UnderWater\")\nOILL A 0 A_JumpIfInventory(\"IsUnderBubbleWater\", 1, \"UnderWater\")\nGoto SlideContinue\n\nAltfireC:\nOILL A 0 A_JumpIfInventory(\"OilCheck\",1,\"SlideBegin\")\nOILL A 0 A_JumpIfInventory(\"OilBoat\",1,\"OilPogo\")\ngoto AltFireS\nReadyC:Goto Ready+2\n}\n}\n\n//MM2//MM2//MM2//MM2//MM2//MM2\n//MM2//MM2//MM2//MM2//MM2//MM2\nactor MetalBladeWepC : MetalBladeWep //replaces MetalBladeWep\n{\ndropitem \"MetalBladeWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor AirShooterWepC : AirShooterWep //replaces AirShooterWep\n{\ndropitem \"AirShooterWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor BubbleLeadWepC : BubbleLeadWep //replaces BubbleLeadWep\n{\ndropitem \"BubbleLeadWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor QuickBoomerangWepC : QuickBoomerangWep //replaces QuickBoomerangWep\n{\ndropitem \"QuickBoomerangWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor CrashBombWepC : CrashBombWep //replaces CrashBombWep\n{\ndropitem \"CrashBombWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor TimeStopperWepC : TimeStopperWep //replaces TimeStopperWep\n{\ndropitem \"TimeStopperWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor AtomicFireWepC : AtomicFireWep //replaces AtomicFireWep\n{\ndropitem \"AtomicFireWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nHold2Start:\nHEAT G 0 A_GunFlash(\"Sound.Heat\", GFF_NOEXTCHANGE)//A_PlaySoundEx(\"weapon/heat1\", \"SoundSlot5\", 1)\nHold2:\nHEAT G 0 A_JumpIfInventory(\"WeaponCharge\",40,\"Hold3Start\")\nHEAT H 1 ACS_ExecuteAlways(998,0,60,5)\nHEAT G 0 A_Refire(\"Hold2.a\")\nGoto Fire1\nHold2.a:\nHEAT G 0 ACS_ExecuteAlways(998,0,3,1)\nHEAT G 1 A_GiveInventory(\"WeaponCharge_RC\",1)\nHEAT G 0 A_Refire(\"Hold2\")\nGoto Fire1\nHold3Start:\nHold3:\nHEAT G 0 A_JumpIfInventory(\"WeaponCharge\",70,\"Hold4Start\")\nHEAT I 1 ACS_ExecuteAlways(998,0,61,6)\nHEAT G 0 A_Refire(\"Hold3.a\")\nGoto Fire2\nHold3.a:\nHEAT G 1 ACS_ExecuteAlways(998,0,3,1)\nHEAT G 0 A_GiveInventory(\"WeaponCharge_RC\",1)\nHEAT G 0 A_Refire(\"Hold3\")\nGoto Fire2\nBotFire:\nHEAT G 0 A_Jump(16, \"Fire3\")\nHEAT G 0 A_Refire(\"Hold4\")\nGoto Fire3\nHold4Start:\nHold4:\nHEAT J 1 ACS_ExecuteAlways(998,0,62,7)\nHEAT G 0 A_Refire(\"Hold4.a\")\nGoto Fire3\nHold4.a:\nHEAT G 1 ACS_ExecuteAlways(998,0,3,1)\nHEAT G 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\nHEAT G 0 A_Refire(\"Hold4\")\nGoto Fire3\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor LeafShieldWepC : LeafShieldWep //replaces LeafShieldWep\n{\ndropitem \"LeafShieldWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nAltfireC:\nLEAF A 0 A_TakeInventory(\"ShieldCheck\", 1)\nLEAF A 0 A_TakeInventory(\"LeafShieldCharge\", 99)\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\n\n//MM3//MM3//MM3//MM3//MM3//MM3\n//MM3//MM3//MM3//MM3//MM3//MM3\nactor NeedleCannonWepC : NeedleCannonWep //replaces NeedleCannonWep\n{\ndropitem \"NeedleCannonWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor MagnetMissileWepC : MagnetMissileWep //replaces MagnetMissileWep\n{\ndropitem \"MagnetMissileWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"FireSpread\")\ngoto \"Super::Fire\"\nFireSpread:\nMAGG C 0 A_JumpIfNoAmmo(\"NoAmmo\")\nMAGG C 0 A_PlaySoundEx(\"weapon/magnetmissile\",\"Weapon\")\nMAGG C 0 A_FireCustomMissile(\"MagnetMissileSpread\",0,1,8,0)\ngoto \"Super::Fire+3\"\n\nReadyC:Goto Ready+1\n}\n}\n\nactor GeminiLaserWepC : GeminiLaserWep //replaces GeminiLaserWep\n{\ndropitem \"GeminiLaserWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor HardKnuckleWepC : HardKnuckleWep //replaces HardKnuckleWep\n{\ndropitem \"HardKnuckleWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor TopSpinWepC : TopSpinWep //replaces TopSpinWep\n{\ndropitem \"TopSpinWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor SearchSnakeWepC : SearchSnakeWep //replaces SearchSnakeWep\n{\ndropitem \"SearchSnakeWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor SparkShockWepC : SparkShockWep //replaces SparkShockWep\n{\ndropitem \"SparkShockWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready2\n}\n}\n\nactor ShadowBladeWepC : ShadowBladeWep //replaces ShadowBladeWep\n{\ndropitem \"ShadowBladeWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\n//MM4//MM4//MM4//MM4//MM4//MM4\n//MM4//MM4//MM4//MM4//MM4//MM4\nactor FlashStopperWepC : FlashStopperWep //replaces FlashStopperWep\n{\ndropitem \"FlashStopperWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor RainFlushWepC : RainFlushWep //replaces RainFlushWep\n{\ndropitem \"RainFlushWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"FireSpread\")\ngoto \"Super::Fire\"\nFireSpread:\nTOAH A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTOAH A 0 A_FireCustomMissile(\"RainFlushPod\",0,1,0,0)\nTOAH A 0 A_SpawnItemEx(\"RainFlush\",0,0,0)\nTOAH A 0 A_SpawnItemEx(\"RainFlush\",0,0,0,0,0,0,15)\nTOAH A 0 A_SpawnItemEx(\"RainFlush\",0,0,0,0,0,0,-15)\ngoto \"Super::Fire+3\"\n\nReadyC:Goto Ready+1\n}\n}\n\nactor DrillBombWepC : DrillBombWep //replaces DrillBombWep\n{\ndropitem \"DrillBombWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor PharaohShotWepC : PharaohShotWep //replaces PharaohShotWep\n{\ndropitem \"PharaohShotWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nPHAN A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nPHAN A 2 A_GiveInventory(\"PharaohCharge\",1)\nPHAN A 0 A_Refire(\"Hold1\")\nGoto Throw1\nHold1:\nPHAN BCDE 2\nPHAN E 0 A_SpawnItemEx(\"PharaohFX\")\nPHAN A 0 A_Refire(\"Hold2\")\nGoto Throw1\nHold2:\nTNT1 A 0 A_JumpIfInventory(\"PharaohCharge\",78,\"Hold3a\")\nTNT1 A 1 A_GiveInventory(\"PharaohCharge_RC\",1)\nTNT1 A 0 A_Refire(\"Hold2\")\nTNT1 A 0 A_JumpIfInventory(\"PharaohCharge\",78,\"Throw3\")\nTNT1 A 0 A_JumpIfInventory(\"PharaohCharge\",33,\"Throw2\")\nGoto Throw1\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor PharaohCharge_RC : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_JumpIfInventory(\"PowerRage_ST\",1,\"PickupR\")\nTNT1 A 0 A_GiveInventory(\"PharaohCharge\",2)\nstop\nPickupR:\nTNT1 A 0 A_GiveInventory(\"PharaohCharge\",4)\nstop\n}\n}\n\nactor RingBoomerangWepC : RingBoomerangWep //replaces RingBoomerangWep\n{\ndropitem \"RingBoomerangWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor DustCrusherWepC : DustCrusherWep //replaces DustCrusherWep\n{\ndropitem \"DustCrusherWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor DiveMissileWepC : DiveMissileWep //replaces DiveMissileWep\n{\ndropitem \"DiveMissileWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"FireSpread\")\ngoto \"Super::Fire\"\nFireSpread:\nAIRS D 0 A_JumpIfNoAmmo(\"NoAmmo\")\nAIRS D 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nAIRS D 0 A_FireCustomMissile(\"DiveMissileSpread\",0,1,8,0)\ngoto \"Super::Fire+3\"\n\nReadyC:Goto Ready+1\n}\n}\n\nactor SkullBarrierWepC : SkullBarrierWep //replaces SkullBarrierWep\n{\ndropitem \"SkullBarrierWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\n//MM5//MM5//MM5//MM5//MM5//MM5\n//MM5//MM5//MM5//MM5//MM5//MM5\nactor GravityHoldWepC : GravityHoldWep //replaces GravityHoldWep\n{\ndropitem \"GravityHoldWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor WaterWaveWepC : WaterWaveWep //replaces WaterWaveWep\n{\ndropitem \"WaterWaveWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor PowerStoneWepC : PowerStoneWep //replaces PowerStoneWep\n{\ndropitem \"PowerStoneWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor GyroAttackWepC : GyroAttackWep //replaces GyroAttackWep\n{\ndropitem \"GyroAttackWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor StarCrashWepC : StarCrashWep //replaces StarCrashWep\n{\ndropitem \"StarCrashWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nAltfireC:\nSTAA A 0 A_TakeInventory(\"ShieldCheck\",1)\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\n\nactor ChargeKickWepC : ChargeKickWep //replaces ChargeKickWep\n{\ndropitem \"ChargeKickWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nCKIC C 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\nCKIC C 0 A_GiveInventory(\"MegaSlide\",1)\nCKIC C 0 A_GiveInventory(\"ProtoSlide\",1)\nCKIC C 0 A_GiveInventory(\"BassDash\",1)\nCKIC C 0 A_GiveInventory(\"DuoBash\",1)\n\nCKIC C 0 A_PlaySoundEx(\"weapon/chargekick\",\"Weapon\")\nCKIC C 0 SetPlayerProperty(0,1,0)\nCKIC C 2 A_ChangeVelocity(25,0,momz,3)\nCKIC B 2 A_FireCustomMissile(\"ChargeKick\",0,1,0,0)\nCKIC A 8 SetPlayerProperty(0,0,0)\nCKIC B 5\nCKIC C 5\n\nCKIC C 0 A_TakeInventory(\"MegaSlide\",1)\nCKIC C 0 A_TakeInventory(\"ProtoSlide\",1)\nCKIC C 0 A_TakeInventory(\"BassDash\",1)\nCKIC C 0 A_GiveInventory(\"DuoBash\",1)\n\nCKIC C 0 A_Refire\nGoto Ready+1\n\nReadyC:Goto Ready+1\n}\n}\n\nactor NapalmBombWepC : NapalmBombWep //replaces NapalmBombWep\n{\ndropitem \"NapalmBombWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor CrystalEyeWepC : CrystalEyeWep //replaces CrystalEyeWep\n{\ndropitem \"CrystalEyeWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\n//MM6//MM6//MM6//MM6//MM6//MM6\n//MM6//MM6//MM6//MM6//MM6//MM6\nactor BlizzardAttackWepC : BlizzardAttackWep //replaces BlizzardAttackWep\n{\ndropitem \"BlizzardAttackWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor CentaurFlashWepC : CentaurFlashWep //replaces CentaurFlashWep\n{\ndropitem \"CentaurFlashWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor FlameBlastWepC : FlameBlastWep //replaces FlameBlastWep\n{\ndropitem \"FlameBlastWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor KnightCrushWepC : KnightCrushWep //replaces KnightCrushWep\n{\ndropitem \"KnightCrushWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor PlantBarrierWepC : PlantBarrierWep //replaces PlantBarrierWep\n{\ndropitem \"PlantBarrierWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nPLAA A 0 A_JumpIfInventory(\"ShieldCheck\",1,\"ShieldThrow\")\nPLAA A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nPLAA A 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nPLAA A 1 A_GiveInventory(\"ShieldCheck\",1)\ngoto ShieldActive\nShieldActive:\nPLAA B 0 A_SpawnItemEx(\"PlantBarrierWarper\")\nPLAA BCDEFGH 2\nPLAA A 0 A_JumpIf(ACS_ExecuteWithResult(CBM_FetchMyHealth,2)==0,\"Waiting\")\nGoto Shield\nShield:\nPLAA A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nPLAA A 0 HealThing(1)\nPLAA A 0 A_JumpIf(ACS_ExecuteWithResult(CBM_FetchMyHealth,2)==0,\"Waiting\")\nPLAA A 0 A_TakeInventory(\"PlantBarrierAmmo\",1)\nPLAA A 2 A_WeaponReady\nPLAA A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nPLAA A 0 HealThing(1)\nPLAA A 0 A_JumpIf(ACS_ExecuteWithResult(CBM_FetchMyHealth,2)==0,\"Waiting\")\nPLAA A 2 A_WeaponReady\nPLAA A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nPLAA A 0 HealThing(1)\nPLAA A 0 A_JumpIf(ACS_ExecuteWithResult(CBM_FetchMyHealth,2)==0,\"Waiting\")\nPLAA A 2 A_WeaponReady\nPLAA A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nPLAA A 0 HealThing(1)\nPLAA A 0 A_JumpIf(ACS_ExecuteWithResult(CBM_FetchMyHealth,2)==0,\"Waiting\")\nLoop\nWaiting:\nPLAA A 1 A_WeaponReady\nPLAA A 0 A_JumpIf(ACS_ExecuteWithResult(CBM_FetchMyHealth,2),\"Shield\")\n//A_JumpIfHealthLower(ACS_ExecuteWithResult(CBM_FetchMyHealth,1), \"Shield\")\nPLAA A 0 A_JumpIfInventory(\"ShieldCheck\", 1, \"Waiting\")\nGoto ShieldThrow\n\nAltfireC:\nPLAA A 0 A_TakeInventory(\"PlantWeakener\",1)\nPLAA A 0 A_TakeInventory(\"ShieldCheck\",999)\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\n\nactor SilverTomahawkWepC : SilverTomahawkWep //replaces SilverTomahawkWep\n{\ndropitem \"SilverTomahawkWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor WindStormWepC : WindStormWep //replaces WindStormWep\n{\ndropitem \"WindStormWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor YamatoSpearWepC : YamatoSpearWep //replaces YamatoSpearWep\n{\ndropitem \"YamatoSpearWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\n//MM7//MM7//MM7//MM7//MM7//MM7\n//MM7//MM7//MM7//MM7//MM7//MM7\nactor FreezeCrackerWepC : FreezeCrackerWep //replaces FreezeCrackerWep\n{\ndropitem \"FreezeCrackerWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor JunkShieldWepC : JunkShieldWep //replaces JunkShieldWep\n{\ndropitem \"JunkShieldWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nAltfireC:\nJARM A 0 A_TakeInventory(\"ShieldCheck\",1)\nJARM A 0 A_TakeInventory(\"JunkShieldCheck\",1)\nJARM A 0 A_TakeInventory(\"BasicArmor\",100)\nJARM A 0 A_TakeInventory(\"JunkDuration\",999)\nJARM A 0 A_StopSoundEx(\"Weapon\")\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\n\nactor DangerWrapWepC : DangerWrapWep //replaces DangerWrapWep\n{\ndropitem \"DangerWrapWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor ThunderBoltWepC : ThunderBoltWep //replaces ThunderBoltWep\n{\ndropitem \"ThunderboltWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor WildCoilWepC : WildCoilWep //replaces WildCoilWep\n{\ndropitem \"WildCoilWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nHoldStart:\nWCOI A 0 A_PlaySoundEx(\"weapon/coilstart\", \"Weapon\")\nGoto Hold2\nHold2:\nWCOI A 0 A_JumpIfInventory(\"WeaponCharge\",30,\"Hold3\")//23\nWCOI A 0 A_JumpIfInventory(\"WeaponCharge\",22,\"HoldStart2\")\nWCOI G 1 ACS_ExecuteAlways(998,0,74,5)\nWCOI G 0 A_Refire(\"Hold2.a\")\nGoto Fire1\nHold2.a:\nWCOI A 1 ACS_ExecuteAlways(998,0,58,1)\nWCOI A 0 A_GiveInventory(\"WeaponCharge_RC\",1)\nWCOI G 0 A_Refire(\"Hold2\")\nGoto Fire1\nHoldStart2:\nSAPT A 0 ACS_ExecuteAlways(974,0)\nNCRU L 0 A_GunFlash(\"Sound.BusterCharge\", GFF_NOEXTCHANGE)\nWCOI A 0 A_GiveInventory(\"WeaponCharge\",10)//1\nGoto Hold3\nHold3:\nWCOI H 1 ACS_ExecuteAlways(998,0,75,6)\nWCOI H 0 A_Refire(\"Hold3.a\")\nGoto Fire2\nHold3.a:\nWCOI I 1 ACS_ExecuteAlways(998,0,76,7)\nWCOI H 0 A_Refire(\"Hold3.b\")\nGoto Fire2\nHold3.b:\nWCOI A 1 ACS_ExecuteAlways(998,0,58,1)\nWCOI A 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\nWCOI H 0 A_Refire(\"Hold3\")\nGoto Fire2\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+2\n}\n}\n\nactor SlashClawWepC : SlashClawWep //replaces SlashClawWep\n{\ndropitem \"SlashClawWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor NoiseCrushWepC : NoiseCrushWep //replaces NoiseCrushWep\n{\ndropitem \"NoiseCrushWepCDropped\"\n+WEAPON.ALT_AMMO_OPTIONAL\nWeapon.AmmoUse2 2\nweapon.ammotype2 \"NoiseCrushAmmo\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nCharged:\nNCRU L 0 A_GunFlash(\"Sound.BusterCharge\", GFF_NOEXTCHANGE)\nNCRU L 0 ACS_ExecuteAlways(998,0,72,6)\nNCRU M 1 A_WeaponReady\nNCRU L 0 ACS_ExecuteAlways(998,0,73,7)\nNCRU N 1 A_WeaponReady\nNCRU I 0 ACS_ExecuteAlways(998,0,55,1)\nNCRU I 1 A_WeaponReady\nGoto Charged+1\n\nAltfireC:\nNCRU I 0 A_JumpIfInventory(\"WeaponCharge\",1,\"Fire2\")\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\n\nactor ScorchWheelWepC : ScorchWheelWep //replaces ScorchWheelWep\n{\ndropitem \"ScorchWheelWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\n//MM8//MM8//MM8//MM8//MM8//MM8\n//MM8//MM8//MM8//MM8//MM8//MM8\nactor MegaBallWepC : MegaBallWep //replaces MegaBallWep\n{\ndropitem \"MegaBallWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor TornadoHoldWepC : TornadoHoldWep //replaces TornadoHoldWep\n{\ndropitem \"TornadoHoldWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor AstroCrushWepC : AstroCrushWep //replaces AstroCrushWep\n{\ndropitem \"AstroCrushWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nFire:\nAHUD A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nAHUD B 0\nAHUD B 0 A_JumpIfInventory(\"FlightDisableFlag\",1,3)\nAHUD B 0 A_Stop\nAHUD B 0 SetPlayerProperty(0,1,3)\n\nTNT1 A 0 A_GiveInventory(\"SelfTotallyFrozen\",1)\n\nAHUD BCDEF 3\nTNT1 A 0 A_FireCustomMissile(\"AstroCrushSpawner\",0,1,0,0)\nTNT1 A 30\nAHUD B 0 SetPlayerProperty(0,0,3)\n\nTNT1 A 0 A_GiveInventory(\"SelfTotallyUnfrozen\",1)\n\nAHUD GH 3\nAHUD A 14\nAHUD A 0 A_Refire\nGoto Ready+1\nReadyC:Goto Ready+1\n}\n}\n\nactor FlameSwordWepC : FlameSwordWep //replaces FlameSwordWep\n{\ndropitem \"FlameSwordWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor ThunderClawWepC : ThunderClawWep //replaces ThunderClawWep\n{\ndropitem \"ThunderClawWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor HomingSniperWepC : HomingSniperWep //replaces HomingSniperWep\n{\ndropitem \"HomingSniperWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nHold:\nHSNI C 0 A_JumpIfNoAmmo(\"NoAmmo\")\nHSNI C 0 A_JumpIfInventory(\"WeaponCharge\",18,\"Hold1\")\nHSNI C 0 A_GiveInventory(\"WeaponCharge_RC\",1)\nHSNI C 1 A_GiveInventory(\"WeaponCharge_RC\",1)\nHSNI C 0 A_Refire\nGoto Fire1\nHold1:\nHSNI C 0 //A_JumpIfInventory(\"WeaponCharge\",19,\"Charge1\")\nHSNI C 0 A_PlaySoundEx(\"weapon/chargeup\",\"Weapon\")\nHSNI C 2 A_GiveInventory(\"WeaponCharge\",1)\nCharge1:\nHSNI C 0 A_JumpIfInventory(\"WeaponCharge\",35,\"Charge2Start\")\nHSNI F 1 ACS_ExecuteAlways(998,0,89,5)\nHSNI C 0 A_Refire(\"Charge1.a\")\nGoto Fire2\nCharge1.a:\nHSNI C 0 ACS_ExecuteAlways(998,0,88,1)\nHSNI C 1 A_GiveInventory(\"WeaponCharge_RC\",1)\nHSNI C 0 A_Refire(\"Charge1\")\nGoto Fire2\nCharge2Start:\nHSNI I 0 A_GunFlash(\"Sound.BusterCharge\", GFF_NOEXTCHANGE)\nGoto Charge2\nCharge2:\nHSNI I 1 ACS_ExecuteAlways(998,0,90,6)\nHSNI C 0 A_Refire(\"Charge2.a\")\nGoto Fire3\nCharge2.a:\nHSNI J 1 ACS_ExecuteAlways(998,0,91,7)\nHSNI C 0 A_Refire(\"Charge2.b\")\nGoto Fire3\nCharge2.b:\nHSNI C 1 ACS_ExecuteAlways(998,0,88,1)\nHSNI C 0 A_GiveInventory(\"WeaponCharge\",1)\nHSNI C 0 A_JumpIfInventory(\"IsBot\",1,\"BotFire\")\nHSNI C 0 A_Refire(\"Charge2\")\nGoto Fire3\n\nFire2:\nHSNI C 0 A_TakeInventory(\"WeaponCharge\",500)\nHSNI C 0 A_PlaySoundEx(\"weapon/coilexplode\",\"Weapon\")\nHSNI C 0 A_JumpIfInventory(\"HomingSniperAmmo\",4,\"Fire2r\")\nGoto Fire1\nFire3:\nHSNI C 0 A_TakeInventory(\"WeaponCharge\",500)\nHSNI C 0 A_PlaySoundEx(\"weapon/coilexplode\",\"Weapon\")\nHSNI C 0 A_JumpIfInventory(\"HomingSniperAmmo\",10,\"Fire3r\")\nHSNI C 0 A_JumpIfInventory(\"HomingSniperAmmo\",4,\"Fire2r\")\nGoto Fire1\n\nFire1:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"Fire1Spread\")\ngoto \"Super::Fire1\"\nFire1Spread:\nHSNI C 0 A_TakeInventory(\"WeaponCharge\",500)\nHSNI C 0 A_PlaySoundEx(\"weapon/coilexplode\",\"Weapon\")\nHSNI C 0 A_FireCustomMissile(\"HomingSniperSpread\",0,1,8,0)\ngoto \"Super::Fire1+3\"\nFire2r:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"Fire2rSpread\")\ngoto \"Super::Fire2r\"\nFire2rSpread:\nHSNI C 0 A_TakeInventory(\"HomingSniperAmmo\",4)\nHSNI C 0 A_FireCustomMissile(\"HomingSniperSpread\",0,0,8,0)\nHSNI C 2\nHSNI C 0 A_FireCustomMissile(\"HomingSniperSpread\",random(-5,5),0,8,0,0,random(-4,4))\ngoto \"Super::Fire2r+4\"\nFire3r:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"Fire3rSpread\")\ngoto \"Super::Fire3r\"\nFire3rSpread:\nHSNI C 0 A_TakeInventory(\"HomingSniperAmmo\",10)\nHSNI C 0 A_FireCustomMissile(\"HomingSniperSpread\",0,0,8,0)\nHSNI C 2\nHSNI C 0 A_FireCustomMissile(\"HomingSniperSpread\",random(-7,7),0,8,0,0,random(-4,4))\nHSNI D 2\nHSNI D 0 A_FireCustomMissile(\"HomingSniperSpread\",random(-7,7),0,8,0,0,random(-4,4))\nHSNI D 2\nHSNI D 0 A_FireCustomMissile(\"HomingSniperSpread\",random(-7,7),0,8,0,0,random(-4,4))\nHSNI D 2\nHSNI C 0 A_FireCustomMissile(\"HomingSniperSpread\",random(-7,7),0,8,0,0,random(-4,4))\ngoto \"Super::Fire3r+10\"\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor IceWaveWepC : IceWaveWep //replaces IceWaveWep\n{\ndropitem \"IceWaveWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor FlashBombWepC : FlashBombWep //replaces FlashBombWep\n{\ndropitem \"FlashBombWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor WaterBalloonWepC : WaterBalloonWep //replaces WaterBalloonWep\n{\ndropitem \"WaterBalloonWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\n//MMB//MMB//MMB//MMB//MMB//MMB\n//MMB//MMB//MMB//MMB//MMB//MMB\nactor TenguBladeWepC : TenguBladeWep //replaces TenguBladeWep\n{\ndropitem \"TenguBladeWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nHold:\nTENA A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTENA A 0 A_JumpIfInventory(\"WeaponCharge\", 25, \"Charge2\")\nTENA A 0 A_JumpIfInventory(\"WeaponCharge\", 15, \"Charge\")\nTENA A 1 A_GiveInventory(\"WeaponCharge_RC\",1)\nTENA A 0 A_Refire\nGoto Fire1\nCharge:\nTENA B 0 A_JumpIfInventory(\"WeaponCharge\", 25, \"Charge2\")\nTENA B 1 A_GiveInventory(\"WeaponCharge_RC\",1)\nTENA B 0 A_Refire\nGoto Fire1\n\nDashStart:\nTENA E 0 A_GiveInventory(\"CutterFlag\",10)\nTENA E 0 A_TakeInventory(\"TenguBladeAmmo\",2)\nTENA E 0 A_Recoil(-50)\nTENA E 0 A_PlaySoundEx(\"weapon/tengudash\",\"Weapon\")\n\nTNT1 A 0 A_GiveInventory(\"SelfTotallyFrozen\",1)//\n\nTENA E 0 A_ChangeFlag(\"THRUSPECIES\",1)\nGoto DashAttack\nDashExtend:\nTENA E 0 A_GiveInventory(\"CutterFlag\",2)\nTENA E 0 A_Stop\nTENA E 0 A_SpawnItemEx(\"TenguDash\")\nTENA E 0 A_Recoil(-40)\nTENA E 0 ThrustThingZ(0,35,0,0)\nGoto DashAttack\nDashAttack:\nTENA E 0 A_Recoil(-1)\nTENA E 1 A_SpawnItemEx(\"TenguDash\",48,0,32,momx,momy,momz,0,8) //A_FireCustomMissile(\"TenguMelee\",0,0,11,-8)\nTENA E 0 A_TakeInventory(\"CutterFlag\",1)\nTENA E 0 A_JumpIfInventory(\"CutterFlag\",1,\"DashAttack\")\nDashFinish:\nTENA E 1 A_JumpIf(ACS_ExecuteWithResult(261,64)==1,\"DashExtend\")\n\nTNT1 A 0 A_GiveInventory(\"SelfTotallyUnfrozen\",1)//\n\nTENA E 0 A_ChangeFlag(\"THRUSPECIES\",0)\nTENA E 0 A_ScaleVelocity(0.25)\nTENA FG 2\nTNT1 A 8 A_TakeInventory(\"WeaponCharge\",999)\nTENA CBA 2\nTENA A 0 A_Refire\nGoto Ready+1\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor CopyVisionWepC : CopyVisionWep //replaces CopyVisionWep\n{\ndropitem \"CopyVisionWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nFire:\nCOPB A 0 A_JumpIfInventory(\"CopyVisionFlag\",1,\"Buster\")\nCOPB A 0 A_JumpIfNoAmmo(\"Buster\")\nCOPB A 0 A_JumpIfInventory(\"EvilFistC\", 1, \"FireBuff\")\nCOPB A 0 A_JumpIfInventory(\"DocBusterC\", 1, \"FireBuff\")\nCOPB A 0 A_JumpIfInventory(\"DuoFistC\", 1, \"FireBuff\")\nCOPB A 0 A_FireCustomMissile(\"CopyVisionSpawner\",0,0,8,0,0,0)\nCOPB A 0 A_TakeInventory(\"CopyVisionAmmo\",7)\nCOPB A 0 A_GiveInventory(\"CopyVisionFlag\",1)\nCOPB BC 3\nCOPB A 5\nCOPB A 2 A_Refire\nGoto Ready+1\nFireBuff:\nCOPB A 0 A_FireCustomMissile(\"CopyVisionBuffSpawner\",0,0,8,0,0,0)\nCOPB A 0 A_TakeInventory(\"CopyVisionAmmo\",7)\nCOPB A 0 A_GiveInventory(\"CopyVisionFlag\",1)\nCOPB BC 3\nCOPB A 5\nCOPB A 2 A_Refire\nGoto Ready+1\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor LightningBoltWepC : LightningBoltWep //replaces LightningBoltWep\n{\ndropitem \"LightningBoltWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nFire:\nLIBO B 0 A_JumpIfNoAmmo(\"NoAmmo\")\nLIBO B 0 A_JumpIfInventory(\"LightningBoltCooldownC\",1,\"NoAmmo\")//LightningBoltCooldown\nLIBO B 0 A_PlaySoundEx(\"weapon/lightningbolt\",\"Weapon\")\nLIBO B 0 A_JumpIfInventory(\"FlightDisableFlag\",1,3)\nLIBO B 0 A_Stop\nLIBO B 0 SetPlayerProperty(0,1,3)\n\nTNT1 A 0 A_GiveInventory(\"SelfTotallyFrozen\",1)\n\nLIBO C 2 A_SpawnItemEx(\"LightningStartFX1\",4,0,48)\nLIBO D 2 A_SpawnItemEx(\"LightningStartFX2\",4,0,48)\nLIBO EF 2\nTNT1 A 10\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 0, 1, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 345, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 30, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 315, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 60, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 285, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 90, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 255, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 120, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 225, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 150, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 195, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 180, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 165, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 210, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 135, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 240, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 105, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 270, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 75, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 300, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 45, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 330, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 15, 0, 8, 0)\nTNT1 A 10\nLIBO FEDC 2\nLIBO B 0 SetPlayerProperty(0,0,3)\n\nTNT1 A 0 A_GiveInventory(\"SelfTotallyUnfrozen\",1)\n\nLIBO B 1 A_GiveInventory(\"LightningBoltCooldown_RC\",1)\nLIBO B 0 A_Refire\nGoto Ready+1\n\nReadyC:Goto Ready+1\n}\n}\n\nactor LightningBoltCooldownC : PowerUp\n{\n+INVENTORY.ADDITIVETIME\npowerup.duration 10\n}\n\nactor LightningBoltCooldown_RC : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_JumpIfInventory(\"PowerRage_ST\",1,\"PickupR\")\nTNT1 A 0 A_GiveInventory(\"LightningBoltCooldownC\",1)\ngoto PickupR\nPickupR:\nTNT1 A 0 A_GiveInventory(\"LightningBoltCooldownC\",1)\nstop\n}\n}\n\nactor IceWallWepC : IceWallWep //replaces IceWallWep\n{\ndropitem \"IceWallWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"FireSpread\")\ngoto \"Super::Fire\"\nFireSpread:\nICWL H 0 A_JumpIfNoAmmo(\"NoAmmo\")\nICWL H 0 A_GiveInventory(\"IceWallFlag\",1)\nICWL H 0 A_PlaySoundEx(\"weapon/icewallspawn\",\"Weapon\")\nICWL H 0 A_Stop\n//\nICWL H 0 A_SpawnItemEx(\"IceWallSpawner\",64,-32,0,0,0,0,45)\nICWL H 0 A_SpawnItemEx(\"IceWallSpawner\",64,32,0,0,0,0,-45)\ngoto \"Super::Fire+4\"\n\nReadyC:Goto Ready+1\n}\n}\n\nactor SpreadDrillWepC : SpreadDrillWep //replaces SpreadDrillWep\n{\ndropitem \"SpreadDrillWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nSPRE H 0 A_JumpIfInventory(\"SpreadDrillFlag\",2,\"Reset\")\nSPRE H 0 A_JumpIfInventory(\"SpreadDrillFlag\",1,\"Spread\")\nSPRE H 0 A_JumpIfNoAmmo(\"NoAmmo\")\nSPRE H 0 A_JumpIfInventory(\"SpreadDrillBuffer\",1,\"Waiting\")\nSPRE H 0 A_GiveInventory(\"SpreadDrillBuffer\",1)\nSPRE H 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"FireSpread\")\ngoto \"Super::Fire+5\"\nFireSpread:\nSPRE H 0 A_SpawnItemEx(\"SpreadDrill\",cos(pitch)*32,0,28-(sin(pitch)*32),cos(pitch)*13,0,-sin(pitch)*13,15,0,0)\nSPRE H 0 A_SpawnItemEx(\"SpreadDrill\",cos(pitch)*32,0,28-(sin(pitch)*32),cos(pitch)*13,0,-sin(pitch)*13,-15,0,0)\ngoto \"Super::Fire+5\"\nReset:\nSPRE H 0 A_TakeInventory(\"SpreadDrillBuffer\",999)\nSPRE H 1 A_TakeInventory(\"SpreadDrillFlag\",2)\nGoto Fire+2\n\nAltfire:Goto AltfireCBM\nAltfireCore:\nSPRE I 0 A_JumpIfInventory(\"SpreadDrillBuffer\",1,\"Waiting\")\nSPRE H 0 A_TakeInventory(\"SpreadDrillFlag\", 2)\nGoto Fire\n\nReadyC:Goto Ready+1\n}\n}\n\nactor RemoteMineWepC : RemoteMineWep //replaces RemoteMineWep\n{\ndropitem \"RemoteMineWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor WaveBurnerWepC : WaveBurnerWep //replaces WaveBurnerWep\n{\ndropitem \"WaveBurnerWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor MagicCardWepC : MagicCardWep //replaces MagicCardWep\n{\ndropitem \"MagicCardWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\n//MM9//MM9//MM9//MM9//MM9//MM9\n//MM9//MM9//MM9//MM9//MM9//MM9\nactor ConcreteShotWepC : ConcreteShotWep //replaces ConcreteShotWep\n{\ndropitem \"ConcreteShotWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor TornadoBlowWepC : TornadoBlowWep //replaces TornadoBlowWep\n{\ndropitem \"TornadoBlowWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"FireSpread\")\ngoto \"Super::Fire\"\nFireSpread:\nTBLH B 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTBLH B 2\nTBLH A 0 A_PlaySoundEx(\"weapon/tornadoblow\",\"Weapon\")\nTBLH A 0 //A_GunFlash // TIME ASS\n//\n\nTBLH A 0 A_TakeInventory(\"TornadoBlowAmmo\", 7)\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",100,100,0)\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",150,50,0)\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",50,150,0)\nTBLH AAA 0 A_SpawnItemEx(\"TornadoDamager\")\nTBLH C 1 A_GiveInventory(\"TornadoBlowThrust\",1)\nTBLH CD 1\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",-100,100,0)\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",-150,50,0)\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",-50,150,0)\nTBLH AAA 0 A_SpawnItemEx(\"TornadoDamager\")\nTBLH D 1 A_GiveInventory(\"TornadoBlowThrust\",1)\nTBLH EE 1\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",-100,-100,0)\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",-150,-50,0)\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",-50,-150,0)\nTBLH AAA 0 A_SpawnItemEx(\"TornadoDamager\")\nTBLH F 1 A_GiveInventory(\"TornadoBlowThrust\",1)\nTBLH F 1\nTNT1 A 1\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",100,-100,0)\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",150,-50,0)\nTBLH A 0 A_SpawnItemEx(\"TornadoBlow\",50,-150,0)\nTBLH AAA 0 A_SpawnItemEx(\"TornadoDamager\")\ngoto \"Super::Fire+17\"\n\nReadyC:Goto Ready+1\n}\n}\n\nactor LaserTridentWepC : LaserTridentWep //replaces LaserTridentWep\n{\ndropitem \"LaserTridentWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor PlugBallWepC : PlugBallWep //replaces PlugBallWep\n{\ndropitem \"PlugBallWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor HornetChaserWepC : HornetChaserWep //replaces HornetChaserWep\n{\ndropitem \"HornetChaserWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"FireSpread\")\ngoto \"Super::Fire\"\nFireSpread:\nHCHS D 0 A_JumpIfNoAmmo(\"NoAmmo\")\nHCHS D 0 A_PlaySoundEx(\"weapon/hornetchaser\",\"Weapon\")\nHCHS D 0 A_FireCustomMissile(\"HornetChaserSpread\",0,1,8,0)\ngoto \"Super::Fire+3\"\n\nReadyC:Goto Ready+1\n}\n}\n\nactor MagmaBazookaWepC : MagmaBazookaWep //replaces MagmaBazookaWep\n{\ndropitem \"MagmaBazookaWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nHold:\nMGHD A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nMGHD A 0 A_GunFlash(\"Sound.Magma\", GFF_NOEXTCHANGE)\nHold.b:\nMGHD A 0 A_JumpIfInventory(\"WeaponCharge\", 19, \"Charge2Start\")\nMGHD A 0 A_GiveInventory(\"WeaponCharge_RC\", 1)\nMGHD A 1\nMGHD A 0 A_Refire(\"Hold.a\")\ngoto fire\nHold.a:\nMGHD F 1\nMGHD A 0 A_Refire(\"Hold.b\")\ngoto Fire\nCharge2Start:\nCharge2:\nMGHD B 1 ACS_ExecuteAlways(998,0,192,6)\nMGHD G 0 A_Refire(\"Charge2.a\")\nMGHD A 0 A_JumpIfInventory(\"MagmaBazookaAmmo\", 6, \"Fire2\")\nGoto Fire\nCharge2.a:\nMGHD A 1 ACS_ExecuteAlways(998,0,191,1)\nMGHD A 0 A_Refire(\"Charge2.b\")\nMGHD A 0 A_JumpIfInventory(\"MagmaBazookaAmmo\", 6, \"Fire2\")\ngoto Fire\nCharge2.b:\nMGHD C 1 ACS_ExecuteAlways(998,0,193,7)\nMGHD A 0 A_JumpIfInventory(\"IsBot\", 1, \"BotFire\")\nMGHD A 0 A_Refire(\"Charge2\")\nMGHD A 0 A_JumpIfInventory(\"MagmaBazookaAmmo\", 6, \"Fire2\")\ngoto Fire\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor BlackHoleBombWepC : BlackHoleBombWep //replaces BlackHoleBombWep\n{\ndropitem \"BlackHoleBombWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nTNT1 A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"FireSpread\")\ngoto \"Super::Fire\"\nFireSpread:\nBHUD A 0 A_JumpIfInventory(\"BlackHoleBombCooldown\", 1, \"NoAmmo\")\nBHUD A 0 A_JumpIfInventory(\"BlackHoleFlag\",1,\"Switch\")\nBHUD A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nBHUD A 1\n//\nBHUD A 0 A_SpawnItemEx(\"BlackHoleBomb\", 0, 8, 32, cos(-pitch)*10, 0, sin(-pitch)*10, 45, SXF_TRANSFERTRANSLATION|SXF_TRANSFERPITCH)\nBHUD A 0 A_SpawnItemEx(\"BlackHoleBomb\", 0, 8, 32, cos(-pitch)*10, 0, sin(-pitch)*10, -45, SXF_TRANSFERTRANSLATION|SXF_TRANSFERPITCH)\ngoto \"Super::Fire+4\"\n\nReadyC:Goto Ready+1\n}\n}\n\nactor JewelSatelliteWepC : JewelSatelliteWep //replaces JewelSatelliteWep\n{\ndropitem \"JewelSatelliteWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nShieldThrow:\nJEWE J 0 A_GiveInventory(\"RemoteMineFlag\",10)\nJEWE J 0 A_GiveInventory(\"BlackHoleFlag\",2)\nJEWE J 0 A_GiveInventory(\"BlackHoleFlagD\",1)//\nJEWE RST 1\nJEWE M 0 A_PlaySoundEx(\"weapon/jewelfire\",\"weapon\")\nJEWE M 0 A_FireCustomMissile(\"JewelShot\",0,0,8,0)\nJEWE M 0 A_TakeInventory(\"JewelShieldCheck\",1)\nJEWE TSR 4\nJEWE J 0 A_TakeInventory(\"BlackHoleFlag\",999)\nJEWE J 0 A_TakeInventory(\"RemoteMineFlag\",999)\nJEWE J 0 A_TakeInventory(\"BlackHoleFlagD\",999)//\ngoto ShieldEnd\n\nAltfireC:\nJEWE J 0 A_JumpIfInventory(\"JewelShieldCheck\",1,\"ShieldEnd_CBM\")\ngoto AltFireS\nShieldEnd_CBM:\nJEWE J 0 A_ChangeFlag(REFLECTIVE,0)\nJEWE J 0 A_ChangeFlag(DONTRIP,0)\nJEWE J 0 A_ChangeFlag(CANTSEEK,0)\nJEWE J 0 A_ChangeFlag(DEFLECT,0)\nJEWE J 0 A_TakeInventory(\"ShieldCheck\",1)\nJEWE J 0 A_TakeInventory(\"JewelShieldCheck\",4)\nJEWE J 1\ngoto Ready+1\n\nReadyC:Goto Ready+1\n}\n}\n\n//MM10//MM10//MM10//MM10//MM10\n//MM10//MM10//MM10//MM10//MM10\nactor ThunderWoolWepC : ThunderWoolWep\n{\ndropitem \"ThunderWoolWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\nactor ReboundStrikerWepC : ReboundStrikerWep\n{\ndropitem \"ReboundStrikerWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor TripleBladeWepC : TripleBladeWep //replaces TripleBladeWep\n{\ndropitem \"TripleBladeWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\nactor WaterShieldWepC : WaterShieldWep //replaces WaterShieldWep\n{\ndropitem \"WaterShieldWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nAltfireC:\nCWA2 A 0 A_GiveInventory(\"WaterShieldFlagX\",1)\nCWA2 A 0 A_TakeInventory(\"WaterShieldCheck\",999)\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\nactor CommandoBombWepC : CommandoBombWep //replaces CommandoBombWep\n{\ndropitem \"CommandoBombWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\nactor ChillSpikeWepC : ChillSpikeWep //replaces ChillSpikeWep\n{\ndropitem \"ChillSpikeWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n/*actor ThunderWoolWepC : ThunderWoolWep //replaces ThunderWoolWep\n{\ndropitem \"ThunderWoolWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\nactor ReboundStrikerWepC : ReboundStrikerWep //replaces ReboundStrikerWep\n{\ndropitem \"ReboundStrikerWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}*/\nactor WheelCutterWepC : WheelCutterWep //replaces WheelCutterWep\n{\ndropitem \"WheelCutterWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\nactor SolarBlazeWepC : SolarBlazeWep //replaces SolarBlazeWep\n{\ndropitem \"SolarBlazeWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\n//MMV//MMV//MMV//MMV//MMV//MMV\n//MMV//MMV//MMV//MMV//MMV//MMV\nactor SparkChaserWepC : Weapon {}\nactor BlackHoleWepC : Weapon {}\n/*\nactor SparkChaserWepC : SparkChaserWep //replaces SparkChaserWep\n{\ndropitem \"SparkChaserWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n*/\nactor GrabBusterWepC : GrabBusterWep //replaces GrabBusterWep\n{\ndropitem \"GrabBusterWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor BubbleBombWepC : BubbleBombWep //replaces BubbleBombWep\n{\ndropitem \"BubbleBombWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor PhotonMissileWepC : PhotonMissileWep //replaces PhotonMissileWep\n{\ndropitem \"PhotonMissileWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor ElectricShockWepC : ElectricShockWep //replaces ElectricShockWep\n{\ndropitem \"ElectricShockWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor BlackHoleWepC : BlackHoleWep //replaces BlackHoleWep\n{\ndropitem \"BlackHoleWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor DeepDiggerWepC : DeepDiggerWep //replaces DeepDiggerWep\n{\ndropitem \"DeepDiggerWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfireC:\nTNT1 A 0 A_JumpIfInventory(\"SuperArmTemp\",1,\"FireToss\")\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\n\nactor BreakDashWepC : BreakDashWep //replaces BreakDashWep\n{\ndropitem \"BreakDashWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor SaltWaterWepC : SaltWaterWep //replaces SaltWaterWep\n{\ndropitem \"SaltWaterWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n//MMK//MMK//MMK//MMK//MMK//MMK\n//MMK//MMK//MMK//MMK//MMK//MMK\nactor MirrorBusterWepC : MirrorBusterWep //replaces MirrorBusterWep\n{\ndropitem \"MirrorBusterWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor BalladeCrackerWepC : BalladeCrackerWep //replaces BalladeCrackerWep\n{\ndropitem \"BalladeCrackerWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor ScrewCrusherWepC : ScrewCrusherWep //replaces ScrewCrusherWep\n{\ndropitem \"ScrewCrusherWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor SakugarneWepC : SakugarneWep //replaces SakugarneWep\n{\ndropitem \"SakugarneWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\n\nFire:\nSAKH A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nSAKH A 0 A_JumpIfInventory(\"IsFlying\",1,\"NoAmmo\")\nSAKH A 0 A_JumpIfInventory(\"SakugarneActive\",1,\"AirReady\")\nSAKH A 0 A_CheckFloor(\"FireStart\")\ngoto ReadyReal\nFireStart:\nSAKH A 0 A_GiveInventory(\"SakugarneActive\",1)\nSAKH A 0 A_Stop\nSAKH A 0 A_PlaySoundEx(\"weapon/sakugarne\",\"Weapon\")\nSAKH A 0 A_SpawnItemEx(\"SakugarneWarperStart\")\nSAKH A 0 A_SpawnItemEx(\"SakugarneWarper\")\nSAKH AB 4\nSAKH C 0 A_Stop\nSAKH C 0 A_ChangeVelocity(17,0,16, CVF_RELATIVE)\nSAKH C 5\nGoto Air\nAirSpread:\nSAKH CCC 0 A_SpawnItemEx(\"SakugarneCrush\",0,0,-10,0,0,-32)\ngoto Air+4\nAir:\nSAKH C 0 A_JumpIfInventory(\"IsFlying\",1,\"NoAmmo\")\nSAKH C 0\nSAKH C 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"AirSpread\")\nSAKH C 0 A_SpawnItemEx(\"SakugarneCrush\",0,0,-10,0,0,-32)\nSAKH C 0 ThrustThingZ(0,1,1,1)\nSAKH C 1 A_WeaponReady\nSAKH C 0 A_CheckFloor(\"Jump\")\nloop\nAirReadySpread:\nSAKH CCC 0 A_SpawnItemEx(\"SakugarneCrush\",0,0,-10,0,0,-32)\ngoto AirReady+3\nAirReady:\nSAKH C 0 A_JumpIfInventory(\"IsFlying\",1,\"NoAmmo\")\nSAKH C 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"AirReadySpread\")\nSAKH C 0 A_SpawnItemEx(\"SakugarneCrush\",0,0,-10,0,0,-32)\nSAKH C 0\nSAKH C 0 ThrustThingZ(0,1,1,1)\nSAKH C 1\nSAKH C 0 A_CheckFloor(\"Jump2\")\nloop\nAirCancel:\nSAKH B 0 A_JumpIfInventory(\"IsFlying\",1,\"NoAmmo\")\nSAKH B 0 A_SpawnItemEx(\"SakugarneCrush\",0,0,-10,0,0,-32)\nSAKH B 0\nSAKH B 0 ThrustThingZ(0,1,1,1)\nSAKH B 1\nSAKH B 0 A_CheckFloor(\"Jump\")\nloop\nJump1Spread:\nSAKH AAA 0 A_SpawnItemEx(\"SakugarneDriller\",0,0,16)\ngoto Jump+2\nJump:\nSAKH A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"Jump1Spread\")\nSAKH A 0 A_SpawnItemEx(\"SakugarneDriller\",0,0,16)\nSAKH A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nSAKH A 0 A_JumpIfInventory(\"IsFlying\",1,\"NoAmmo\")\nSAKH A 0 A_PlaySoundEx(\"weapon/sakugarne\",\"Weapon\")\nSAKH A 0 A_Stop\nSAKH A 4\nSAKH A 0 A_Stop\nSAKH B 4\nSAKH B 0 A_Stop\nSAKH A 0 A_ChangeVelocity(17,0,16, CVF_RELATIVE)\nSAKH C 5\nGoto Air\nJump2Spread:\nSAKH AAA 0 A_SpawnItemEx(\"SakugarneDriller\",0,0,16)\ngoto Jump2+2\nJump2:\nSAKH A 0 A_JumpIfInventory(\"PowerSpread_ST\",1,\"Jump2Spread\")\nSAKH A 0 A_SpawnItemEx(\"SakugarneDriller\",0,0,16)\nSAKH A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nSAKH A 0 A_JumpIfInventory(\"IsFlying\",1,\"NoAmmo\")\nSAKH A 0 A_PlaySoundEx(\"weapon/sakugarne\",\"Weapon\")\nSAKH A 0 A_Stop\nSAKH A 3\nSAKH A 0 A_Stop\nSAKH B 3\nSAKH B 0 A_Stop\nSAKH A 0 A_ChangeVelocity(20,0,21, CVF_RELATIVE)\nSAKH C 5\nGoto Air\n\nAltfireC:\nSAKH A 0 A_TakeInventory(\"SakugarneActive\",1)\ngoto AltFireS\n\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\n//CBM//CBM//CBM//CBM//CBM//CBM\n//CBM//CBM//CBM//CBM//CBM//CBM\n\nactor RisingFistWepC : RisingFistWep //replaces RisingFistWep\n{\ndropitem \"RisingFistWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor WaveBusterWepC : WaveBusterWep //replaces WaveBusterWep\n{\ndropitem \"WaveBusterWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor TimeBenderWepC : TimeBenderWep //replaces TimeBenderWep\n{\ndropitem \"TimeBenderWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor BoobeamBarrierWepC : BoobeamBarrierWep //replaces BoobeamBarrierWep\n{\ndropitem \"BoobeamBarrierWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor TopTwistWepC : TopTwistWep //replaces TopTwistWep\n{\ndropitem \"TopTwistWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor DocScannerWepC : DocScannerWep //replaces DocScannerWep\n{\ndropitem \"DocScannerWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor FlashBulbWepC : FlashBulbWep //replaces FlashBulbWep\n{\ndropitem \"FlashBulbWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor DiveSonarWepC : DiveSonarWep //replaces DiveSonarWep\n{\ndropitem \"DiveSonarWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor SkullSniperWepC : SkullSniperWep //replaces SkullSniperWep\n{\ndropitem \"SkullSniperWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor GravitySphereWepC : GravitySphereWep //replaces GravitySphereWep\n{\ndropitem \"GravitySphereWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor DarkShieldWepC : DarkShieldWep //replaces DarkShieldWep\n{\ndropitem \"DarkShieldWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfireC:\nDKC2 H 0 A_GiveInventory(\"StopShield\",1)\nDKC2 H 0 A_TakeInventory(\"ShieldCheck\",1)\nDKC2 H 0 A_TakeInventory(\"DarkShieldPowerup\",1)\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\n\nactor CentaurArrowWepC : CentaurArrowWep //replaces CentaurArrowWep\n{\ndropitem \"CentaurArrowWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor PlantTrapperWepC : PlantTrapperWep //replaces PlantTrapperWep\n{\ndropitem \"PlantTrapperWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor DynamoTendrilWepC : DynamoTendrilWep //replaces DynamoTendrilWep\n{\ndropitem \"DynamoTendrilWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor RainbowGalaxyWepC : RainbowGalaxyWep //replaces RainbowGalaxyWep\n{\ndropitem \"RainbowGalaxyWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor FakeRepeaterWepC : FakeRepeaterWep //replaces FakeRepeaterWep\n{\ndropitem \"FakeRepeaterWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}\n\nactor BusterRodGWepC : BusterRodGWep //replaces BusterRodGWep\n{\ndropitem \"BusterRodGWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nReadyC:Goto Ready+1\n}\n}\n\nactor MegaWaterSWepC : MegaWaterSWep //replaces MegaWaterSWep\n{\ndropitem \"MegaWaterSWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfireC:\nMWSH M 0 A_JumpIfInventory(\"ShieldCheck\",1,\"Finish\")\ngoto AltFireS\nReadyC:Goto Ready+1\n}\n}\n\nactor HyperStormHWepC : HyperStormHWep //replaces HyperStormHWep\n{\ndropitem \"HyperStormHWepCDropped\"\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nAltfire:Goto AltfireCBM\nAltfireCore:Goto Super::Altfire\nReadyC:Goto Ready+1\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/ChillSpike.txt",
        "contents": "actor ChillSpikeWep : BaseMM8BDMWep 10103\n{\n//$Category MM8BDM-Weapons\n//$Title Chill Spike\nWeapon.AmmoUse 3\nWeapon.AmmoGive 56\nWeapon.SlotNumber 6\nInventory.Pickupmessage \"Power Up! Chill Spike!\"\nObituary \"%o was given a cold snap by %k's Chill Spike.\"\nTag \"Chill Spike\"\nweapon.ammotype \"ChillSpikeAmmo\"\ninventory.icon \"CHILSPII\"\nStates\n{\nSpawn:\n10_I D 1\nloop\nReady:\nTNT1 A 0 ACS_ExecuteAlways(998,0,203)\nCSPB A 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nCSPB A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nCSPB A 1 A_Raise\nLoop\nFire:\nCSPB A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nCSPB A 0 A_PlaySoundEx(\"weapon/chillshot\",\"Weapon\")\nCSPB A 0 A_FireCustomMissile(\"ChillSpikeCW\",0,1,8,0)\nCSPB BC 6\nCSPB A 29\nCSPB D 0 A_Refire\nGoto Ready+1\nNoAmmo:\nCSPB A 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor ChillSpikeCW\n{\nRadius 9\nHeight 10\nObituary \"%o was given a cold snap by %k's Chill Spike.\"\nScale 2.5\n+NOGRAVITY\nPROJECTILE\n+NOTARGETSWITCH\n+DONTBLAST\ndamagetype \"ChillSpike\"\nDamage (10)\nSpeed 35\nStates\n{\nSpawn:\nTNT1 A 2\nXW_S AA 1\nXW_S A 0 A_ChangeFlag(\"NOGRAVITY\",0)\nloopdis:\nTNT1 A 0\nXW_S AABBCC 1\nloop\nXDeath:\nTNT1 A 0\nTNT1 A 0 A_Stop\nStop\nDeath:\nTNT1 A 0\nTNT1 A 0 A_Spawnitem(\"ChillSpikeSummonSound\")\nTNT1 A 0 A_Stop\nTNT1 A 0 A_CheckFloor(\"Death.Floor\")\nTNT1 A 0 A_CheckCeiling(\"Death.Ceiling\")\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeWallCW\",2,5,0,0,0,0,0)\nstop\nDeath.Floor:\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",-95,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",-75,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",-55,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",-35,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",-15,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",5,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",25,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",45,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",65,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",85,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",105,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",125,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",145,0,0)\nstop\nDeath.Ceiling:\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",-95,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",-75,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",-55,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",-35,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",-15,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",5,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",25,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",45,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",65,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",85,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",105,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",125,0,5)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeCeilingCW\",145,0,5)\nstop\n}\n}\n\nactor ChillSpikeSummonSound\n{\n+NOINTERACTION\n+NOGRAVITY\n+FORCEXYBILLBOARD\n-SOLID\nscale 2.5\nheight 0\nradius 0\nStates{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/chillspike\", \"Voice\")\nstop\n}}\n\nactor ChillSpikeShatterSound\n{\n+NOINTERACTION\n+NOGRAVITY\n+FORCEXYBILLBOARD\n-SOLID\nscale 2.5\nheight 0\nradius 0\nStates{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/chillbreak\", \"Voice\")\nstop\n}}\n\nactor ChillSpikeSpikeWallCW {\nPROJECTILE\n+NOTARGETSWITCH\n+DONTBLAST\nScale 2.5\ndamage (5)\nreactiontime 30\ndamagetype \"ClassPainLess2\"\nObituary \"%o was given a cold snap by %k's Chill Spike.\"\nheight 4\nradius 6\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_FaceTarget\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",-35,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",-15,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",5,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",25,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",45,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",65,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",85,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",105,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",125,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",145,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",165,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",185,0,0)\nTNT1 A 0 A_SpawnItemEx(\"ChillSpikeSpikeFloorCW\",205,0,0)\nloopdis:\nTNT1 A 0\nXW_S G 3\nXW_S G 0 A_Countdown\nloop\ndeath:\nTNT1 A 0\nTNT1 A 0 A_Spawnitem(\"ChillSpikeShatterSound\")\nTNT1 A 0 A_Stop\nTNT1 A 0 A_Spawnitemex(\"ChillSpikeEffect\",frandom(-9,9),frandom(-5,5),frandom(9,15),frandom(-9,9),frandom(-9,9),frandom(6,13))\nTNT1 A 0 A_Spawnitemex(\"ChillSpikeEffect\",frandom(-9,9),frandom(-5,5),frandom(9,15),frandom(-9,9),frandom(-9,9),frandom(6,13))\nstop\n}}\n\nactor ChillSpikeSpikeWall2CW {\nPROJECTILE\n+NOTARGETSWITCH\n+DONTBLAST\nScale 2.5\ndamage (5)\nreactiontime 30\ndamagetype \"ClassPainLess2\"\nObituary \"%o was given a cold snap by %k's Chill Spike.\"\nheight 4\nradius 6\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_FaceTarget\nXW_S FG 2\nloopdis:\nTNT1 A 0\nXW_S G 3\nXW_S G 0 A_Countdown\nloop\ndeath:\nTNT1 A 0\nTNT1 A 0 A_Spawnitem(\"ChillSpikeShatterSound\")\nTNT1 A 0 A_Stop\nTNT1 A 0 A_Spawnitemex(\"ChillSpikeEffect\",frandom(-9,9),frandom(-5,5),frandom(9,15),frandom(-9,9),frandom(-9,9),frandom(6,13))\nTNT1 A 0 A_Spawnitemex(\"ChillSpikeEffect\",frandom(-9,9),frandom(-5,5),frandom(9,15),frandom(-9,9),frandom(-9,9),frandom(6,13))\nstop\n}}\n\nactor ChillSpikeSpikeCeilingCW : ChillSpikeSpikeWallCW {\n+CEILINGHUGGER\n-FLOORHUGGER\nheight 4\nradius 6\nGravity 5\nstates {\nSpawn:\nTNT1 A 0\nXW_S HI 2\nloopdis:\nTNT1 A 0\nXW_S I 3\nXW_S I 0 A_Countdown\nloop }}\n\nactor ChillSpikeSpikeFloorCW : ChillSpikeSpikeWallCW {\n+FLOORHUGGER\nheight 4\nradius 6\nstates { Spawn:\nTNT1 A 0\nXW_S DE 2\nloopdis:\nTNT1 A 0\nXW_S E 3\nXW_S E 0 A_Countdown\nloop }}\n\nactor ChillSpikeEffect\n{\n+THRUACTORS\n+CLIENTSIDEONLY\nheight 9\nscale 3.0\nradius 6\ngravity 1.9\nreactiontime 35\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_Jump(65,\"SpawnSprite2\")\nXW_S JJJJ 2\nXW_S J 0 //A_ChangeVelocity(momx,momy,momz,CVF_REPLACE|CVF_RELATIVE)\nLoopdis:\nTNT1 A 0\nXW_S J 2\nXW_S J 0 A_Countdown\nloop\nSpawnSprite2:\nXW_S KKKK 2\nXW_S K 0 //A_ChangeVelocity(momx,momy,momz,CVF_REPLACE|CVF_RELATIVE)\nLoopdis2:\nTNT1 A 0\nXW_S K 2\nXW_S K 0 A_GiveInventory(\"CutterFlag\",1)\nXW_S K 0 A_JumpIfInventory(\"CutterFlag\",35,\"Death2\")\nloop\nDeath:\nTNT1 A 0\nXW_S JJJJJJ 1 A_Fadeout(0.15)\nstop\nDeath2:\nTNT1 A 0\nXW_S KKKKKK 1 A_Fadeout(0.15)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/TripleBlade.txt",
        "contents": "actor TripleBladeWep : BaseMM8BDMWep 10097\n{\n//$Category MM8BDM-Weapons\n//$Title Triple Blade\n//$Sprite TRIPA0\nWeapon.AmmoUse 1\nWeapon.AmmoGive 28\nWeapon.SlotNumber 3\nObituary \"$OB_TRIPLEBLADE\"\nTag \"$TAG_TRIPLEBLADE\"\nInventory.Pickupmessage \"$PU_TRIPLEBLADE\"\nweapon.ammotype \"TripleBladeAmmo\"\ninventory.icon \"TRIPSI\"\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawnLoop:\nTRIP A -1\nloop\nReady:\nTRIP B 0 ACS_ExecuteAlways(998,0,205)\nTRIP C 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nTRIP C 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nTRIP C 1 A_Raise\nLoop\nFire:\nTRIP C 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTRIP C 0 A_PlaySoundEx(\"weapon/bladeshoot\",\"Weapon\")\nTRIP C 0 A_FireCustomMissile(\"TripleBlade\",0,1,8,0,0,0)\nTRIP C 0 A_JumpIf(pitch > 270 && pitch < 270+11.25, \"Top\")\nTRIP C 0 A_JumpIf(pitch > 90-11.25 && pitch < 90, \"Bottom\")\ngoto Center\nTop:\nTRIP C 0 A_FireCustomMissile(\"TripleBladeR\",180,0,8,0,0,11.25)\nTRIP C 0 A_FireCustomMissile(\"TripleBlade\",0,0,8,0,0,-11.25)\ngoto FireEnd\nBottom:\nTRIP C 0 A_FireCustomMissile(\"TripleBlade\",0,0,8,0,0,11.25)\nTRIP C 0 A_FireCustomMissile(\"TripleBladeR\",180,0,8,0,0,-11.25)\ngoto FireEnd\nCenter:\nTRIP C 0 A_FireCustomMissile(\"TripleBlade\",0,0,8,0,0,11.25)\nTRIP C 0 A_FireCustomMissile(\"TripleBlade\",0,0,8,0,0,-11.25)\ngoto FireEnd\nFireEnd:\nTRIP DE 2\nTRIP C 8\ngoto Ready+1\nNoAmmo:\nTRIP C 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor TripleBlade\n{\nPROJECTILE\n+RIPPER\n+DONTBLAST\nObituary \"$OB_TRIPLEBLADE\"\nRadius 16\nHeight 5\nScale 2.5\ndamagetype \"TripleBlade\"\nDamage (5)\nSpeed 30\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(momz>=30, \"90Degrees\")\nTNT1 A 0 A_JumpIf(momz>=22.5, \"67P5Degrees\")\nTNT1 A 0 A_JumpIf(momz>=15, \"45Degrees\")\nTNT1 A 0 A_JumpIf(momz>=7.5, \"22P5Degrees\")\nTNT1 A 0 A_JumpIf(momz<7.5 && momz>-7.5, \"0Degrees\")\nTNT1 A 0 A_JumpIf(momz<=-29, \"N90Degrees\")\nTNT1 A 0 A_JumpIf(momz<=-7.5, \"N22P5Degrees\")\nTNT1 A 0 A_JumpIf(momz<=-22.5, \"N67P5Degrees\")\nTNT1 A 0 A_JumpIf(momz<=-15, \"N45Degrees\")\nTBL1 E 1\nwait\n90Degrees:\nTBL1 A 1\nwait\n67P5Degrees:\nTBL1 B 1\nwait\n45Degrees:\nTBL1 C 1\nwait\n22P5Degrees:\nTBL1 D 1\nwait\n0Degrees:\nTBL1 E 1\nwait\nN22P5Degrees:\nTBL1 F 1\nwait\nN45Degrees:\nTBL1 G 1\nwait\nN67P5Degrees:\nTBL1 H 1\nwait\nN90Degrees:\nTBL1 I 1\nwait\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor TripleBladeR : TripleBlade\n{\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_SetAngle(angle+180)\n        TNT1 A 0 A_JumpIf(momz>0, \"90Degrees\")\n        TNT1 A 0 A_JumpIf(momz<0, \"N90Degrees\")\n        TBL1 I 1\n        wait\n    }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/BubbleBomb.txt",
        "contents": "actor BubbleBombWep : BaseMM8BDMWep 10104\n{\n//$Category MM8BDM-Weapons\n//$Title Bubble Bomb\n//$Sprite BBOMA0\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 5\nObituary \"$OB_BUBBLEBOMB\"\nTag \"$TAG_BUBBLEBOMB\"\nInventory.Pickupmessage \"$PU_BUBBLEBOMB\"\nweapon.ammotype \"BubbleBombAmmo\"\ninventory.icon \"BBOMWI\"\nStates\n{\nSpawnLoop:\nBBOM R 1\nloop\nReady:\nBBOM R 0 ACS_ExecuteAlways(998,0,207)\nBBOM R 0 A_TakeInventory(\"BubbleBombSwitch\", 1)\nBBOM R 1 A_WeaponReady\nGoto Ready+2\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBBOM R 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBBOM R 1 A_Raise\nLoop\nFire:\nBBOM R 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTNT1 A 1\nTNT1 A 0 A_JumpIfInventory(\"BubbleBombSwitch\", 1, \"FireSwap\")\nBBOM IJ 1\nBBOM F 0 A_PlaySoundEx(\"weapon/bubblebomb\",\"Weapon\")\nBBOM F 0 A_FireCustomMissile(\"BubbleBomb\",0,1,8,0)\nBBOM F 0 A_GiveInventory(\"BubbleBombFrames\", 1)\nBBOM F 0 A_GiveInventory(\"BubbleBombSwitch\", 1)\nBBOM KLMN 1\ngoto FireEnd\nFireSwap:\nBBOM OP 1\nBBOM F 0 A_PlaySoundEx(\"weapon/bubblebomb\",\"Weapon\")\nBBOM F 0 A_FireCustomMissile(\"BubbleBomb2\",0,1,8,0)\nBBOM F 0 A_GiveInventory(\"BubbleBombFrames\", 1)\nBBOM F 0 A_TakeInventory(\"BubbleBombSwitch\", 1)\nBBOM QRST 1\ngoto FireEnd\nAltfire:\nBBOM F 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTNT1 A 1\nTNT1 A 0 A_JumpIfInventory(\"BubbleBombSwitch\", 1, \"AltfireSwap\")\nBBOM OP 1\nBBOM F 0 A_PlaySoundEx(\"weapon/bubblebomb\",\"Weapon\")\nBBOM F 0 A_FireCustomMissile(\"BubbleBomb2\",0,1,8,0)\nBBOM F 0 A_GiveInventory(\"BubbleBombFrames\", 1)\nBBOM F 0 A_GiveInventory(\"BubbleBombSwitch\", 1)\nBBOM QRST 1\ngoto FireEnd\nAltfireSwap:\nBBOM IJ 1\nBBOM F 0 A_PlaySoundEx(\"weapon/bubblebomb\",\"Weapon\")\nBBOM F 0 A_FireCustomMissile(\"BubbleBomb\",0,1,8,0)\nBBOM F 0 A_GiveInventory(\"BubbleBombFrames\", 1)\nBBOM F 0 A_TakeInventory(\"BubbleBombSwitch\", 1)\nBBOM KLMN 1\ngoto FireEnd\nFireEnd:\nTNT1 A 1 A_RailWait\nTNT1 A 0 A_JumpIfInventory(\"BubbleBombFrames\", 1, \"FrameRefireCheck\")\ngoto FireEndTrue\nFrameRefireCheck:\nTNT1 A 0 A_Refire(\"FireEnd\")\ngoto FireEndReleased\nFireEndReleased:\nTNT1 A 1 A_RailWait\nTNT1 A 0 A_JumpIfInventory(\"BubbleBombFrames\", 1, \"FireEndReleased\")\nBBOM F 0 A_TakeInventory(\"BubbleBombSwitch\", 1)\ngoto FireEndTrue\nFireEndTrue:\nTNT1 A 0 A_JumpIfNoAmmo(\"NoAmmoReady\")\nBBOM HG 2 A_WeaponReady\nGoto Ready+1\nNoAmmoReady:\nBBOM HG 2\nGoto Ready+1\nNoAmmo:\nBBOM R 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor BubbleBombSwitch : Once {}\nactor BubbleBombFrames : PowerUp { powerup.duration 17 }\n\n// Based on WaveBuster from Classes-v9d.pk3\nactor BubbleBomb\n{\n\tTranslation \"204:204=68:68\",\"195:195=70:70\",\"249:249=210:210\"\n    PROJECTILE\n    +FORCEXYBILLBOARD\n    damagetype \"BubbleBomb\"\n    Obituary \"$OB_BUBBLEBOMB\"\n    Radius 10\n    Height 10\n    scale 2.5\n    damage (1)\n    speed 24\n    var int user_DIRECTION;\n    var int user_SPEED;\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_SetUserVar(\"user_DIRECTION\",1)\n        TNT1 A 0 A_SetUserVar(\"user_SPEED\", 6)\n        goto SpawnStart\n    SpawnStart:\n        VENB JJ 1 A_Changevelocity(0, -(user_SPEED/2)*user_DIRECTION,0,1)\n        VENB J 0 A_Changevelocity(0, 3*user_SPEED*user_DIRECTION,0,1)\n        goto SpawnLoop\n    SpawnLoop:\n        VENB JKK 2\n        VENB KJ 3 A_Changevelocity(0,-user_SPEED*user_DIRECTION,0,1)\n        VENB JJ 3 A_Changevelocity(0,-user_SPEED*user_DIRECTION,0,1)\n        VENB KK 2\n        VENB KJ 3 A_Changevelocity(0,user_SPEED*user_DIRECTION,0,1)\n        VENB JJ 3 A_Changevelocity(0,user_SPEED*user_DIRECTION,0,1)\n        loop\n    Death:\n        VENB A 0 A_Stop\n        VENB A 0 A_PlaySoundEx(\"weapon/crackerexplode\", \"Weapon\")\n        VENB A 0 A_Explode(42, 96, 0, 0, 48)\n        TNT1 A 35 A_SpawnItemEx(\"ExplosionEffect2\")\n        stop\n    }\n}\n\nactor BubbleBomb2 : BubbleBomb\n{\n    States\n    {\n    Spawn:\n        TNT1 A 1\n        TNT1 A 0 A_SetUserVar(\"user_DIRECTION\",-1)\n        TNT1 A 0 A_SetUserVar(\"user_SPEED\", 6)\n        goto SpawnStart\n    }\n}\n\n// LEGACY: UNUSED BECAUSE A_WEAVE SOMETIMES SETS PROJECTILES AS RIPPER.\n/*\nactor BubbleBomb\n{\n    PROJECTILE\n    +FORCEXYBILLBOARD\n    damagetype \"BubbleBomb\"\n    Obituary \"$OB_BUBBLEBOMB\"\n    Radius 10\n    Height 10\n    scale 2.5\n    damage (1)\n    speed 20\n    var int user_waveSpeed;\n    var int user_waveSize;\n    States\n    {\n    Spawn:\n        BBOM A 0\n        BBOM A 0 A_SetUserVar(user_waveSpeed, 3)\n        BBOM A 0 A_SetUserVar(user_waveSize, 6.0)\n        goto SpawnLoop\n    SpawnLoop:\n        BBOM BBBBBB 1 A_Weave(user_waveSpeed, 0, user_waveSize, 0)\n        BBOM CCCCCCDDDDDDEEEEEEDDDDDD 1 A_Weave(user_waveSpeed, 0, user_waveSize, 0)\n        goto SpawnLoop + 6\n    Death:\n        BBOM A 0 A_Stop\n        BBOM A 0 A_PlaySoundEx(\"weapon/crackerexplode\", \"Weapon\")\n        BBOM A 0 A_Explode(50, 96, 0, 0, 48)\n        TNT1 A 35 A_SpawnItemEx(\"ExplosionEffect2\")\n        stop\n    }\n}\n*/"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/WheelCutter.txt",
        "contents": "actor WheelCutterWep : BaseMM8BDMWep 10095\n{\n//$Category MM8BDM-Weapons\n//$Title Wheel Cutter\n//$Sprite WHEEA0\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 4\nObituary \"$OB_WHEELCUTTER\"\nTag \"$TAG_WHEELCUTTER\"\nInventory.Pickupmessage \"$PU_WHEELCUTTER\"\nweapon.ammotype \"WheelCutterAmmo\"\ninventory.icon \"WHEELI\"\nStates\n{\nSpawnLoop:\nWHEE A -1\nloop\nReady:\nWHEE I 0 ACS_ExecuteAlways(998,0,199)\nWHEE I 0 A_TakeInventory(\"WheelCutterCheck\", 105)\nWHEE I 1 A_WeaponReady\nwait\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nWHEE I 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nWHEE I 1 A_Raise\nLoop\nFire:\nWHEE I 0 A_JumpIfNoAmmo(\"NoAmmo\")\nWHEE J 0 A_TakeInventory(\"WheelCutterAmmo\",2,TIF_NOTAKEINFINITE)\nWHEE J 0 A_PlaySoundEx(\"weapon/wheelstart\",\"Weapon\")\nWHEE J 0 A_GiveInventory(\"WheelCutterCheck\", 105)\nWHEE J 1\nWHEE J 0 A_GiveInventory(\"FireWheelSaw\", 1)\nWHEE I 0 A_Refire\ngoto Throw\nHold:\nWHEE J 0 A_JumpIfInventory(\"WheelCutterCheck\", 1, \"HoldLoop\")\ngoto Throw\nHoldLoop:\nWHEE J 1\nWHEE J 0 A_Refire(\"HoldLoop2\")\ngoto Throw\nHoldLoop2:\nWHEE J 1\nWHEE J 0 A_Refire(\"HoldLoop3\")\ngoto Throw\nHoldLoop3:\nWHEE J 1\nWHEE J 0 A_Refire(\"HoldLoop4\")\ngoto Throw\nHoldLoop4:\nWHEE J 1\nWHEE J 0 A_Refire(\"HoldLoop5\")\ngoto Throw\nHoldLoop5:\nWHEE J 1\nWHEE J 0 A_TakeInventory(\"WheelCutterCheck\", 1)\nWHEE J 0 A_JumpIfInventory(\"WheelCutterDestroy\", 1, \"End\")\nWHEE J 0 A_JumpIfInventory(\"IsBot\", 1, \"Throw\")\nWHEE J 0 A_Refire\nGoto Throw\nAltfire:\nWHEE I 0 A_JumpIfNoAmmo(\"NoAmmo\")\nWHEE J 0 A_TakeInventory(\"WheelCutterAmmo\",2,TIF_NOTAKEINFINITE)\nWHEE J 0 A_PlaySoundEx(\"weapon/wheelstart\",\"Weapon\")\nWHEE J 1\nThrow:\nWHEE J 0 A_GiveInventory(\"FireWheelCutter\", 1)\nWHEE JK 3\nWHEE I 0 A_TakeInventory(\"WheelCutterCheck\", 105)\nWHEE I 16\nWHEE I 0 A_ClearRefire\ngoto Ready+1\nEnd:\nWHEE J 1\nWHEE J 0 A_TakeInventory(\"WheelCutterDestroy\", 1)\nWHEE JK 3\nWHEE J 0 A_TakeInventory(\"WheelCutterCheck\", 105)\nWHEE I 10\nWHEE I 0 A_ClearRefire\ngoto Ready+1\nNoAmmo:\nWHEE I 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor WheelCutterCheck : Inventory\n{\ninventory.amount 1\ninventory.maxamount 105\n}\n\nactor WheelCutterDestroy : WheelCutterCheck\n{\ninventory.maxamount 1\n}\n\nactor WheelThruster : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\nStates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"WheelCutterCheck\", 4)\nTNT1 A 0 A_JumpIf(momz < -8.24, \"MinSpeed\")\nTNT1 A 0 A_JumpIf(momz > 14, \"MaxSpeed\")\nTNT1 A 1 A_ChangeVelocity(0, 0, 2.5)\nstop\nMinSpeed:\nTNT1 A 1 A_ChangeVelocity(0, 0, 5)\nstop\nMaxSpeed:\nTNT1 A 1 A_ChangeVelocity(momx, momy, 14, CVF_REPLACE)\nstop\n}\n}\n\nactor FireWheelCutter : CustomInventory\n{\n    States\n    {\n    Pickup:\n        WHEE J 0 A_TakeInventory(\"WheelCutterCheck\", 105)\n        WHEE J 0 A_TakeInventory(\"WheelCutterDestroy\", 1)\n        WHEE J 0 A_SpawnItemEx(\"WheelBounceSpawner\", 0, 8, 16, 32)\n        WHEE J 0 A_JumpIfInventory(\"RuneSpread\", 1, \"PickupSpread\")\n        stop\n    PickupSpread:\n        WHEE J 0 A_SpawnItemEx(\"WheelBounceSpawner\", 0, 8, 16, 32, 0, 0, 15)\n        WHEE J 0 A_SpawnItemEx(\"WheelBounceSpawner\", 0, 8, 16, 32, 0, 0, -15)\n        stop\n    }\n}\n\nactor FireWheelSaw : CustomInventory\n{\n    States\n    {\n    Pickup:\n        WHEE J 0 A_SpawnItemEx(\"WheelCutterSaw\", 48, 8, 32, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)\n        WHEE J 0 A_JumpIfInventory(\"RuneSpread\", 1, \"PickupSpread\")\n        stop\n    PickupSpread:\n        WHEE J 0 A_SpawnItemEx(\"WheelCutterSawL\", 48, 8, 32, 0, 0, 0, -15, SXF_NOCHECKPOSITION,0)\n        WHEE J 0 A_SpawnItemEx(\"WheelCutterSawR\", 48, 8, 32, 0, 0, 0, 15, SXF_NOCHECKPOSITION,0)\n        stop\n    }\n}\n\nactor WheelBounceSpawner\n{\n    PROJECTILE\n    Obituary \"$OB_WHEELCUTTER\"\n    Damagetype \"WheelCutter\"\n    Damage (27)\n    scale 2.5\n    +STEPMISSILE\n    +NOEXPLODEFLOOR\n    maxstepheight 32\n    Radius 3\n    Height 4\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 1\n        TNT1 A 1 A_Stop\n        TNT1 A 0 A_SpawnItemEx(\"WheelBouncer\", 0, 0, 0, 1.5, 0, 1.0, 0, SXF_NOCHECKPOSITION|SXF_MULTIPLYSPEED,0)\n        stop\n    Death:\n        TNT1 A 0 A_SpawnItemEx(\"ExplosionEffect1\", 0, 0, 20)\n        stop\n    }\n}\n\nactor WheelCutterWallCheck\n{\nPROJECTILE\n+THRUACTORS\n+DONTREFLECT\n+NOEXPLODEFLOOR\ndamage (0)\nSpeed 32\nradius 8\nheight 16\nStates\n{\nSpawn:\nTNT1 A 1\nstop\nDeath:\nTNT1 A 0 A_SpawnItemEx(\"WheelCutterClimbFX\", 16, 0, frandom(-16, 16), 5, 0, 1, 180+frandom(-8, 8))\nTNT1 A 0 A_PlaySoundEx(\"weapon/wheelclimb\", \"body\")\nTNT1 A 0 A_GiveToTarget(\"WheelThruster\",1)\nTNT1 A 10\nstop\n}\n}\n\nactor WheelCutterClimbFX : BasicGraphicEffect\n{\n    +BRIGHT\n    States\n    {\n    Spawn:\n        WHEE LLMMNN 1 ThrustThingZ(0, 3, 1, 1)\n        stop\n    }\n}\n\nactor WheelCutterSaw\n{\n    PROJECTILE\n    +DONTSPLASH\n    +THRUACTORS\n\tbouncetype hexen\n\t-ALLOWBOUNCEONACTORS\n\tbouncefactor 0.0\n\tHeight 10\n\tRadius 5\n\tScale 2.5\n    Damage(0)\n    mass 30\n\tStates\n\t{\n\tSpawn:\n\t\tWHEE B 0\n\tSpawnB1:\n\t\tWHEE B 0 A_GiveToTarget(\"WheelCutterWallClimb\", 1)\n        WHEE B 1 A_Warp(AAPTR_TARGET, 48, 8, 32, mass-30, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        WHEE B 0 A_JumpIfInTargetInventory(\"WheelCutterDestroy\", 1, \"Death\")\n        WHEE B 0 A_JumpIfInTargetInventory(\"IsDead\", 1, \"End\")\n\t\tWHEE B 0 A_JumpIfInTargetInventory(\"WheelCutterCheck\", 1, \"SpawnB2\")\n\t\tWHEE B 1 A_JumpIf(true, \"End\")\n\t\twait\n\tSpawnB2:\n\t\tWHEE B 0 //A_GiveToTarget(\"WheelCutterWallClimb\", 1)\n        WHEE B 1 A_Warp(AAPTR_TARGET, 48, 8, 32, mass-30, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        WHEE B 0 A_JumpIfInTargetInventory(\"WheelCutterDestroy\", 1, \"Death\")\n        WHEE B 0 A_JumpIfInTargetInventory(\"IsDead\", 1, \"End\")\n\t\tWHEE B 0 A_JumpIfInTargetInventory(\"WheelCutterCheck\", 1, \"SpawnC1\")\n\t\tWHEE B 1 A_JumpIf(true, \"End\")\n\t\twait\n\tSpawnC1:\n\t\tWHEE B 0 A_GiveToTarget(\"WheelCutterWallClimb\", 1)\n        WHEE C 1 A_Warp(AAPTR_TARGET, 48, 8, 32, mass-30, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        WHEE B 0 A_JumpIfInTargetInventory(\"WheelCutterDestroy\", 1, \"Death\")\n        WHEE B 0 A_JumpIfInTargetInventory(\"IsDead\", 1, \"End\")\n\t\tWHEE B 0 A_JumpIfInTargetInventory(\"WheelCutterCheck\", 1, \"SpawnC2\")\n\t\tWHEE C 1 A_JumpIf(true, \"End\")\n\t\twait\n\tSpawnC2:\n\t\tWHEE B 0 //A_GiveToTarget(\"WheelCutterWallClimb\", 1)\n        WHEE C 1 A_Warp(AAPTR_TARGET, 48, 8, 32, mass-30, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        WHEE B 0 A_JumpIfInTargetInventory(\"WheelCutterDestroy\", 1, \"Death\")\n        WHEE B 0 A_JumpIfInTargetInventory(\"IsDead\", 1, \"End\")\n\t\tWHEE B 0 A_JumpIfInTargetInventory(\"WheelCutterCheck\", 1, \"SpawnB1\")\n\t\tWHEE C 1 A_JumpIf(true, \"End\")\n\t\twait\n    End:\n\t\tWHEE B 0 A_TakeFromTarget(\"WheelCutterDestroy\", 1)\n\t\tWHEE B 0 A_TakeFromTarget(\"WheelCutterCheck\", 105)\n        WHEE B 2\n\t\tstop\n\tDeath:\n        WHEE B 0 A_GiveToTarget(\"WheelCutterDestroy\", 1)\n\t\tTNT1 A 0 A_SpawnItemEx(\"ExplosionEffect1\")\n\t\tstop\n\t}\n}\n\nactor WheelCutterSawDamage : FastProjectile\n{\n    PROJECTILE\n\tObituary \"$OB_WHEELCUTTER\"\n\tdamagetype \"WheelCutterSaw\"\n\tHeight 10\n    Radius 10\n    Damage (27)\n    Speed 16\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 1\n        stop\n    Death:\n        TNT1 A 0\n        stop\n    XDeath:\n        WHEE B 0 A_GiveToTarget(\"WheelCutterDestroy\", 1)\n        TNT1 A 0 A_SpawnItemEx(\"ExplosionEffect1\")\n        stop\n    }\n}\n\nactor WheelCutterSawL : WheelCutterSaw\n{\n    mass 15\n}\n\nactor WheelCutterSawR : WheelCutterSaw\n{\n    mass 45\n}\n\nactor WheelCutterWallClimb : CustomInventory\n{\n\t+INVENTORY.AUTOACTIVATE\n\tStates\n\t{\n\tUse:\n        TNT1 A 0 A_SpawnItemEx(\"WheelCutterWallCheck\", 0, 0, 24, 64)\n        TNT1 A 0 A_FireCustomMissile(\"WheelCutterSawDamage\", 0, 0, 8, 0)\n\t\tstop\n\t}\n}\n\nactor WheelBouncer\n{\nPROJECTILE\nObituary \"$OB_WHEELCUTTER\"\nDamagetype \"WheelCutter\"\n-NOGRAVITY\nspeed 5\nscale 2.5\nRadius 10\nHeight 10\nDamage (27)\n+HEXENBOUNCE\n-ALLOWBOUNCEONACTORS\n+CANBOUNCEWATER\nbouncecount 2\nbouncefactor 0.6\nwallbouncefactor 1.0\ngravity 1.5\nvar int user_angle;\nStates\n{\nSpawn:\nWHEE D 0\nWHEE D 0 A_SetUserVar(user_angle, angle)\nWHEE D 0 A_JumpIf(z-floorz<=0, \"Boost\")\nWHEE DE 2\ngoto Spawn+3\nBoost:\nWHEE A 0 A_ChangeVelocity(0, 0, 10, CVF_RELATIVE)\ngoto Spawn+3\nXDeath:\nTNT1 A 0 A_SpawnItemEx(\"ExplosionEffect1\", 0, 0, 20)\nstop\nDeath:\nWHEE D 0\nWHEE D 0 A_PlaySoundEx(\"weapon/wheelshot\",\"weapon\")\nWHEE D 0 A_ChangeFlag(\"NOGRAVITY\",0)\nWHEE D 0 A_SpawnItemEx(\"WheelCutter\", 0, 0, 0, 1.0, 0, 0, user_angle, SXF_MULTIPLYSPEED|SXF_ABSOLUTEANGLE)\nWHEE D 0 A_ChangeFlag(NOINTERACTION, false)\nWHEE Z 5\nstop\n}\n}\n\nactor WheelCutter\n{\nPROJECTILE\n+NOEXPLODEFLOOR\n+STEPMISSILE\nmaxstepheight 15\n+BOUNCEONCEILINGS\nBounceCount 1\nObituary \"$OB_WHEELCUTTER\"\nDamagetype \"WheelCutter\"\nscale 2.5\n-NOGRAVITY\nRadius 10\nHeight 10\nSpeed 40\nDamage (27)\nreactiontime 100\nStates\n{\nSpawn:\nWHEE DE 2 A_Countdown\nloop\nDeath:\nTNT1 A 0 A_SpawnItemEx(\"ExplosionEffect1\", 0, 0, 20)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/WaterShield.txt",
        "contents": "actor WaterShieldWep : BaseMM8BDMWep 10098\n{\n\t//$Category MM8BDM-Weapons\n\t//$Title Water Shield\n\t//$Sprite WATSA0\n\tWeapon.AmmoUse 7\n\tWeapon.AmmoGive 28\n\tWeapon.SlotNumber 7\n\tObituary \"$OB_WATERSHIELD\"\n\tTag \"$TAG_WATERSHIELD\"\n\tInventory.Pickupmessage \"$PU_WATERSHIELD\"\n\tweapon.ammotype \"WaterShieldAmmo\"\n\tinventory.icon \"WATERI\"\n\tStates\n\t{\n\tSpawnLoop:\n\t\tWATS A -1\n\t\tloop\n\tReady:\n\t\tWSHD D 0 ACS_ExecuteAlways(998,0,204)\n\t\tWSHD D 1 A_WeaponReady\n\t\tGoto Ready+1\n\tDeselect:\n\t\tTNT1 A 0 A_TakeInventory(\"WaterShieldCheck\", 8)\n\t\tTNT1 A 0 A_TakeInventory(\"ShieldCheck\", 1)\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\t\tWSHD D 1 A_Lower\n\t\tGoto Deselect+1\n\tSelect:\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\t\tWSHD D 1 A_Raise\n\t\tLoop\n\tFire:\n\t\tWSHD D 0 A_JumpIfInventory(\"WaterShieldCheck\", 1, \"BotCheck\")\n\t\tWSHD D 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\t\tWSHD D 0 A_TakeInventory(\"WaterShieldAmmo\",7,TIF_NOTAKEINFINITE)\n\t\tWSHD D 0 A_PlaySoundEx(\"weapon/watershieldspawn\", \"Weapon\")\n\t\tWSHD D 0 A_GiveInventory(\"ShieldCheck\", 1)\n\t\tWSHD E 0 A_GiveInventory(\"SpawnWaterShield\", 1)\n\t\tWSHD EEEFFEEEFFEEEFFEEEFF 1\n\t\tWSHD EEEFFEEEFFEEEFFEEEFF 1\n\t\tWSHD D 10\n\t\tWSHD D 0 A_GiveInventory(\"WaterShieldExpand\", 1)\n\t\tGoto Ready+1\n\tActive:\n\t\tWSHD D 1 A_WeaponReady\n\t\tWSHD D 0 A_JumpIfInventory(\"WaterShieldCheck\", 1, \"Active\")\n\t\tWSHD D 1 A_Jump(256, \"ClearReady\")\n\t\twait\n\tClearReady:\n\t\tWSHD D 0 A_TakeInventory(\"ShieldCheck\", 1)\n\t\tgoto Ready+1\n\tBotCheck:\n\t\tWSHD E 0 A_JumpIfInventory(\"IsBot\", 1, \"BotBullRun\")\n\t\tgoto ShieldFire\n\tShieldFire:\n\t\tWSHD D 0 A_PlaySoundEx(\"weapon/watershieldburst\", \"Weapon\")\n\t\tWSHD D 0 A_GiveInventory(\"WaterShieldShoot\", 1)\n\t\tWSHD D 1\n\t\tWSHD E 0 A_TakeInventory(\"WaterShieldCheck\",8)\n\t\tWSHD E 0 A_TakeInventory(\"ShieldCheck\", 1)\n\t\tWSHD D 35\n\t\tWSHD D 0 A_TakeInventory(\"WaterShieldShoot\", 1)\n\t\tGoto Ready+1\n\tBotBullrun:\n\t\tWSHD D 10 A_ChangeVelocity(10, 0, momz, CVF_RELATIVE|CVF_REPLACE)\n\t\tWSHD D 0 A_Refire(\"Fire\")\n\t\tgoto ShieldFire\n\tNoAmmo:\n\t\tWOOD J 0 A_TakeInventory(\"WaterShieldCheck\",999)\n\t\tWSHD D 1 ACS_Execute(979,0)\n\t\tgoto Ready+1\n\t}\n}\n\nactor WaterShieldShoot : ShieldCheck {}\nactor WaterShieldCheck : ShieldCheck\n{\n\tinventory.maxamount 8\n}\n\nactor WaterShieldExpand : PowerUp {powerup.duration 4}\n\nactor SpawnWaterShield : Custominventory\n{\n    States\n    {\n    Pickup:\n        TNT1 A 0 A_JumpIfInventory(\"RuneSpread\", 1, \"PickupSpread\")\n        TNT1 A 0 A_SpawnItemEx(\"WaterShieldSpawner\", 0, 0, 0, 0, 0, 0, 0)\n        stop\n    PickupSpread:\n        TNT1 A 0 A_SpawnItemEx(\"WaterShieldSpawnerS1\", 0, 0, 0, 0, 0, 0, 342)\n        TNT1 A 0 A_SpawnItemEx(\"WaterShieldSpawnerS2\", 0, 0, 0, 0, 0, 0, 354)\n        TNT1 A 0 A_SpawnItemEx(\"WaterShieldSpawnerS3\", 0, 0, 0, 0, 0, 0, 366)\n        TNT1 A 0 A_SpawnItemEx(\"WaterShieldSpawnerS4\", 0, 0, 0, 0, 0, 0, 378)\n        stop\n    }\n}\n\nactor WaterShieldSpawner\n{\n\tPROJECTILE\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\tScale 4.0\n    renderstyle none\n    mass 360\n\tStates\n\t{\n\tSpawn:\n\t\tWATS C 0\n\t\tWATS C 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0, \"End\")\n\t\tWATS C 0 A_GiveToTarget(\"WaterShieldCheck\", 1)\n\t\t// Spawned blobs sometimes bounce on walls, resetting their angle.\n\t\t// By manipulating the scale in this manner, the angle can be synced again by transferring it to the blob.\n\t\tWATS C 0 A_SetScale(angle, ScaleY)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShield\", 0, 0, 8, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShieldSpawn\", 64, 0, 40)\n\t\tWATS ZZZZZ 1 A_Warp(AAPTR_TARGET, 0, 0, 0, angle+mass, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tWATS C 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0, \"End\")\n\t\tWATS C 0 A_GiveToTarget(\"WaterShieldCheck\", 1)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShieldSpawn\", 64, 0, 40)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShield\", 0, 0, 8, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tWATS ZZZZZ 1 A_Warp(AAPTR_TARGET, 0, 0, 0, angle+mass, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tWATS C 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0, \"End\")\n\t\tWATS C 0 A_GiveToTarget(\"WaterShieldCheck\", 1)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShieldSpawn\", 64, 0, 40)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShield\", 0, 0, 8, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tWATS ZZZZZ 1 A_Warp(AAPTR_TARGET, 0, 0, 0, angle+mass, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tWATS C 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0, \"End\")\n\t\tWATS C 0 A_GiveToTarget(\"WaterShieldCheck\", 1)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShieldSpawn\", 64, 0, 40)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShield\", 0, 0, 8, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tWATS ZZZZZ 1 A_Warp(AAPTR_TARGET, 0, 0, 0, angle+mass, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tWATS C 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0, \"End\")\n\t\tWATS C 0 A_GiveToTarget(\"WaterShieldCheck\", 1)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShieldSpawn\", 64, 0, 40)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShield\", 0, 0, 8, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tWATS ZZZZZ 1 A_Warp(AAPTR_TARGET, 0, 0, 0, angle+mass, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tWATS C 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0, \"End\")\n\t\tWATS C 0 A_GiveToTarget(\"WaterShieldCheck\", 1)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShieldSpawn\", 64, 0, 40)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShield\", 0, 0, 8, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tWATS ZZZZZ 1 A_Warp(AAPTR_TARGET, 0, 0, 0, angle+mass, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tWATS C 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0, \"End\")\n\t\tWATS C 0 A_GiveToTarget(\"WaterShieldCheck\", 1)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShieldSpawn\", 64, 0, 40)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShield\", 0, 0, 8, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tWATS ZZZZZ 1 A_Warp(AAPTR_TARGET, 0, 0, 0, angle+mass, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tWATS C 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0, \"End\")\n\t\tWATS C 0 A_GiveToTarget(\"WaterShieldCheck\", 1)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShieldSpawn\", 64, 0, 40)\n\t\tWATS C 0 A_SpawnItemEx(\"WaterShield\", 0, 0, 8, 0, 0, 0, 0, SXF_TRANSFERSCALE)\n\t\tstop\n\tEnd:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}\n\nactor WaterShieldSpawnerS1 : WaterShieldSpawner { mass 342 }\nactor WaterShieldSpawnerS2 : WaterShieldSpawner { mass 354 }\nactor WaterShieldSpawnerS3 : WaterShieldSpawner { mass 366 }\nactor WaterShieldSpawnerS4 : WaterShieldSpawner { mass 378 }\n\n// Item to conditionally give Water Shield NOINTERACTION and remove bouncing\n// if the game is a network game. (Given by a clientside script.)\nactor WaterShieldInteract : Custominventory\n{\n\tStates\n\t{\n\tPickup:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf(true, \"End\") // Client skips this jump online, but not offline.\n\t\tTNT1 A 0 A_ChangeFlag(NOINTERACTION, true)\n\t\tTNT1 A 0 A_ChangeFlag(HEXENBOUNCE, false)\n\t\tstop\n\tEnd:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}\n\nactor WaterShield\n{\n\tPROJECTILE\n\t+FORCEXYBILLBOARD\n\tObituary \"$OB_WATERSHIELD\"\n\tDamagetype \"WaterShield\"\n\tbouncetype hexen\n\t+THRUSPECIES\n\t+SHOOTABLE\n\t+DONTRIP\n\thealth 1\n\t-NOBLOCKMAP\n\t+SKYEXPLODE\n\t+NOBLOOD\n\t+CANTSEEK\n    +DONTSPLASH\n    +NORADIUSDMG\n    -ALLOWBOUNCEONACTORS\n    +NOTAUTOAIMED\n\tbouncefactor 0.0\n\tDamage (20)\n\tSpeed 30\n\tHeight 40\n\tRadius 20\n\tScale 4.0\n\treactiontime 35\n\tvar int user_radius;\n\tvar int user_angleadd;\n\tvar int user_angle;\n\tvar int user_expandtime;\n\n\tvar int user_speed;\n\tvar int user_maxturn;\n\tvar int user_turndivisor;\n\tvar int user_turndivisor_add;\n\tStates\n\t{\n\tSpawn:\n\t\tWATS B 0 A_JumpIf(true, \"SpawnLoop\")\n\t\tWATS B 0 A_SetUserVar(user_radius, 64)\n\t\tWATS B 0 A_SetUserVar(user_angleadd, 9)\n\t\tWATS B 0 A_SetUserVar(user_angle, scaleX) // Scale is pulled into the blob position info before set back to 4.0\n\t\tWATS B 0 A_SetScale(4.0, ScaleY)\n\tSpawnLoop:\n\t\tWATS B 0 A_SetUserVar(user_angle, user_angle-user_angleadd)\n\t\tWATS B 0 A_Warp(AAPTR_TARGET, cos(-user_angle)*user_radius, sin(-user_angle)*user_radius, 8, 0, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tWATS B 0 A_JumpIfInTargetInventory(\"IsDead\", 1, \"Death\")\n\t\tWATS B 0 A_JumpIfInTargetInventory(\"WaterShieldExpand\", 1, \"Expand\")\n\t\tWATS B 0 A_JumpIfInTargetInventory(\"WaterShieldShoot\", 1, \"Shoot\")\n\t\tWATS B 1\n\t\tWATS B 0 A_JumpIfInTargetInventory(\"WaterShieldCheck\", 1, \"SpawnLoop\")\n\t\tWATS B 0 A_JumpIf(true, \"Death\")\n\t\tWATS B 70\n\t\tgoto Death\n\tExpand:\n\t\tWATS B 0 A_SetUserVar(user_expandtime, 16)\n\tExpandLoop:\n\t\tWATS B 0 A_SetUserVar(user_angleadd, user_angleadd-((user_expandtime%3)%2))\n\t\tWATS B 0 A_SetUserVar(user_radius, user_radius+3)\n\t\tWATS B 0 A_SetUserVar(user_expandtime, user_expandtime-1)\n\t\tWATS B 1\n\t\tWATS B 0 A_SetUserVar(user_angle, user_angle-user_angleadd)\n\t\tWATS B 0 A_Warp(AAPTR_TARGET, cos(-user_angle)*user_radius, sin(-user_angle)*user_radius, 8, 0, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tWATS B 0 A_JumpIf(user_expandtime <= 0, \"ExpandEnd\")\n\t\tWATS B 0 A_JumpIfInTargetInventory(\"IsDead\", 1, \"Death\")\n\t\tWATS B 0 A_JumpIfInTargetInventory(\"WaterShieldShoot\", 1, \"Shoot\")\n\t\tWATS B 0 A_JumpIfInTargetInventory(\"WaterShieldCheck\", 1, \"ExpandLoop\")\n\t\tWATS B 0 A_JumpIf(true, \"Death\")\n\t\tWATS B 10\n\t\tgoto Death\n\tExpandEnd:\n\t\tWATS B 0 //A_ChangeFlag(THRUSPECIES, false)\n\t\tgoto SpawnLoop\n\tShoot:\n\t\tWATS B 0 A_GiveInventory(\"WaterShieldShoot\", 1)\n\t\t// stolen from Power Stone\n\t\tWATS A 0 A_SetUserVar(\"user_speed\", 30)\n\t\tWATS A 0 A_SetUserVar(\"user_maxturn\", 600)\n\t\tWATS A 0 A_SetUserVar(\"user_turndivisor\", 50)\n\t\tWATS A 0 A_SetUserVar(\"user_turndivisor_add\", 12)\n\n\t\tWATS B 0 A_SetAngle(user_angle-2*(user_maxturn/user_turndivisor))\n\t\tWATS B 0 A_ChangeVelocity(30, 0, 0, CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_ChangeFlag(BOUNCEONWALLS, false)\n\t\tWATS B 1\n\tShoot2:\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\tShoot3:\n\t\tWATS B 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n\t\tWATS B 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tWATS B 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n\t\tWATS B 0 A_Countdown\n\t\tloop\n\tDeath:\n\t\tWATS C 0 A_Stop\n\t\tWATS C 0 A_JumpIfInventory(\"WaterShieldShoot\", 1, \"DeathPop\")\n\t\tWATS C 0 A_TakeFromTarget(\"WaterShieldCheck\", 1)\n\tDeathPop:\n\t\tWATS C 0 A_SpawnItemEx(\"WatershieldPop\", 0, 0, 32)\n\t\tstop\n\t}\n}\n\nactor WatershieldPop\n{\n\t+NOINTERACTION\n\t+NOGRAVITY\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\t-SOLID\n\tscale 4.0\n\theight 0\n\tradius 0\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_CheckFloor(\"End\")\n\t\tWATS C 4\n\t\tstop\n\tEnd:\n\t\tTNT1 C 4\n\t\tstop\n\t}\n}\n\nactor WaterShieldSpawn : WaterShieldPop\n{\n\t+MISSILE\n\tStates\n\t{\n\tSpawn:\n\t\tWATS C 0\n\t\tWATS CC 1 A_Warp(AAPTR_TARGET, 64, 0, 40, angle, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tstop\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/CommandoBomb.txt",
        "contents": "actor CommandoBombWep : BaseMM8BDMWep\n{\ndropitem \"CommandoBombWepCDropped\"\nWeapon.AmmoUse 3\nWeapon.AmmoGive 28\nWeapon.SlotNumber 5\nInventory.Pickupmessage \"$PU_COMMANDOBOMB\"\nObituary \"$OB_COMMANDOBOMB\"\nTag \"$TAG_COMMANDOBOMB\"\nweapon.ammotype \"CommandoBombAmmo\"\ninventory.icon \"M10ICN_3\"\nStates\n{\nSpawn:\nCWA3 Z 1\nloop\nReady:\nCWA3 A 0 ACS_ExecuteAlways(998,0,DYE_CBM_COMMANDOBOMB)\nCWA3 A 1 A_WeaponReady\nwait\nDeselect:\nCWA3 A 0 A_JumpIfInventory(\"CommandoBombFlag\",1,24)\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nCWA3 A 1 A_Lower\nLoop\nCWA3 A 0 A_TakeInventory(\"CommandoBombFlag\",999)\nCWA3 A 10\nGoto Deselect+1\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nCWA3 A 1 A_Raise\nLoop\nAltfire:\nCWA3 A 0 A_JumpIfInventory(\"CommandoBombFlag\",1,\"FireCommand\")\nCWA3 A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nCWA3 A 0 A_PlaySoundEX(\"weapon/commandobomb\",\"Weapon\")\nCWA3 A 0 A_FireCustomMissile(\"CommandoBomb1\",0,1,8,0)\nCWA3 BC 3\nCWA3 A 10\nGoto Ready+1\nFire:\nCWA3 A 0 A_JumpIfInventory(\"CommandoBombFlag\",1,\"FireCommand\")\nCWA3 A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nCWA3 A 0 A_PlaySoundEX(\"weapon/commandobomb\",\"Weapon\")\nCWA3 A 0 A_FireCustomMissile(\"CommandoBomb\",0,1,8,0)\nCWA3 A 0 A_GiveInventory(\"CommandoBombFlag\",1)\nCWA3 BC 3\nFireDelay:\nCWA3 A 0 A_JumpIfInventory(\"CommandoBombFlag\",1,\"FireReady\")\nCWA3 A 10\nGoto Ready+1\nFireReady:\nCWA3 A 1 A_WeaponReady\nGoto FireDelay\nFireCommand:\nCWA3 A 10 A_GiveInventory(\"CommandoBombFlag\",1)\nCWA3 A 0 A_TakeInventory(\"CommandoBombFlag\",999)\nGoto Ready+1\nNoAmmo:\nCWA3 A 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor CommandoBombAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\n}\n\nactor CommandoBombFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 2\n}\n\nactor CommandoBomb\n{\ntranslation \"204:204=88:88\", \"195:195=222:222\", \"202:202=210:210\"\nPROJECTILE\nDamagetype \"CommandoBomb\"\nObituary \"$OB_COMMANDOBOMB\"\nDamage (5)\nRadius 10\nHeight 10\nSpeed 20\nScale 2.5\nStates\n{\nSpawn:\nCMDH G 0\nCMDH G 1 A_JumpIfInTargetInventory(\"CommandoBombFlag\",2,\"Command\")\nwait\nCommand:\nCMDH G 0 A_PlaySoundEX(\"weapon/commandoredirect\",\"Weapon\")\nCMDH G 1 A_GiveToTarget(\"TargetMarkerX\",1)\nCMDH G 1 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100)\nCMDH G 0 A_SpawnItemEx(\"CommandoBomb2\",0,0,0,Cos(pitch)*40,0,-sin(pitch)*40,0,1)//30\nstop\nDeathF:\nTNT1 A 0 A_SpawnItemEx(\"CommandoBombWaveTrail\",20,0,16,10,0,0,0,1)\nTNT1 A 0 A_SpawnItemEx(\"CommandoBombWaveTrail\",20,0,16,10,0,0,90,1)\nTNT1 A 0 A_SpawnItemEx(\"CommandoBombWaveTrail\",20,0,16,10,0,0,180,1)\nTNT1 A 0 A_SpawnItemEx(\"CommandoBombWaveTrail\",20,0,16,10,0,0,270,1)\nTNT1 A 0 A_PlaySoundEX(\"wep_L/commandowave\",\"Body\")\ngoto DeathEnd\nDeathC:\nTNT1 A 0 A_SpawnItemEX(\"CommandoBombBit\",random(-10,10),0,-13,8,0,0,0,1)\nTNT1 A 0 A_SpawnItemEX(\"CommandoBombBit\",random(-10,10),0,-13,8,0,0,90,1)\nTNT1 A 0 A_SpawnItemEX(\"CommandoBombBit\",random(-10,10),0,-13,8,0,0,180,1)\nTNT1 A 0 A_SpawnItemEX(\"CommandoBombBit\",random(-10,10),0,-13,8,0,0,270,1)\ngoto DeathEnd\nDeath:\nTNT1 A 0 A_TakeFromTarget(\"CommandoBombFlag\",999)\nTNT1 A 0 A_Explode(16,96,0,0,20)\nTNT1 A 0 A_CheckFloor(\"DeathF\")\n//TNT1 A 0 A_JumpIf(z-floorz<9,\"Floor\")\nTNT1 A 0 A_JumpIf(z-ceilingz==0-10,\"DeathC\")\nTNT1 A 0 A_SpawnItemEX(\"CommandoBombBit\",0,0,random(-10,10),10,0,0,210,1)\nTNT1 A 0 A_SpawnItemEX(\"CommandoBombBit\",0,0,random(-10,10),10,0,0,190,1)\nTNT1 A 0 A_SpawnItemEX(\"CommandoBombBit\",0,0,random(-10,10),10,0,0,170,1)\nTNT1 A 0 A_SpawnItemEX(\"CommandoBombBit\",0,0,random(-10,10),10,0,0,150,1)\ngoto DeathEnd\nXDeath:\nTNT1 A 0 A_TakeFromTarget(\"CommandoBombFlag\",999)\nTNT1 A 0 A_Explode(15,96,0,0,20)\ngoto DeathEnd\nDeathEnd:\nTNT1 A 0 A_PlaySoundEx(\"weapon/napalm\",\"Weapon\")\nTN_B EFGHIJKLMNOPQRS 1\nstop\n}\n}\n\nactor CommandoBomb1 : CommandoBomb\n{\nStates\n{\nSpawn:\nCMDH G 1\nwait\n}\n}\n\nactor CommandoBomb2 : CommandoBomb\n{\ndamage (4)\nStates\n{\nSpawn:\nCMDH GH 3 A_SpawnItemEX(\"CommandoBombTrailFX\")\nloop\nDeath:\nTNT1 A 0 A_Explode(15,96,0,0,20)\ngoto Super::Death+2\nXDeath:\nTNT1 A 0 A_Explode(14,96,0,0,20)\ngoto DeathEnd\n}\n}\n\nactor CommandoBombTrailFX : BasicClientSide\n{\nrenderstyle add\nstates\n{\nSpawn:\nCMDH I 1 A_FadeOut(0.15)\nloop\n}\n}\n\nactor CommandoBombWaveTrail\n{\nPROJECTILE\nDamagetype \"CommandoBombWave\"\nObituary \"$OB_COMMANDOBOMB\"\n-NOGRAVITY\n+DONTBLAST\n+DONTREFLECT\n+THRUACTORS\n//+FLOORHUGGER\n+STEPMISSILE\n+NOEXPLODEFLOOR\nmaxstepheight 16\ngravity 5.0\nDamage (0)\nRadius 20\nHeight 12\nSpeed 50\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AAAAAAA 3 A_SpawnItemEx(\"CommandoBombWave\",0,0,0,0,0,0,0,1)\nstop\n}\n}\n\nactor CommandoBombWaveProtect : PowerProtection\n{\nPowerup.Duration 10\nDamageFactor \"CommandoBombWave\", 0.55\n}\n\nactor CommandoBombWave\n{\nPROJECTILE\nDamagetype \"CommandoBombWave\"\nObituary \"$OB_COMMANDOBOMB\"\n+DONTBLAST\n+DONTREFLECT\n+THRUGHOST\n+FLOORHUGGER\nRadius 20\nHeight 26\nDamage (6)\nSpeed 0\nScale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nY_AC TUVW 2\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor CommandoBombBit\n{\nPROJECTILE\nDamagetype \"CommandoBomb\"\nObituary \"$OB_COMMANDOBIT\"\n-NOGRAVITY\n+BOUNCEONWALLS\ndeathsound \"weapon/commandowave\"\nWallbouncefactor 0.50\nDamage (6)\nRadius 10\nHeight 10\nSpeed 20\nScale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ThrustThingZ(0,2,0,1)\nUMFX RS 2\ngoto Spawn+2\nDeath:\nTNT1 A 0\nTNT1 A 4 A_SpawnItemEx(\"CommandoBombWaveTrail\",0,0,0,10,0,0,0,1)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/ThunderWool.txt",
        "contents": "actor ThunderWoolWep : BaseMM8BDMWep\n{\n//$Category MM8BDM-Weapons\n//$Title Bubble Lead\nWeapon.AmmoUse 4\nWeapon.AmmoGive 28\nWeapon.SlotNumber 4\nInventory.Pickupmessage \"Power up! Thunder Wool!\"\nObituary \"%o was galvanized by %k's thunder wool.\"\nTag \"Thunder Wool\"\nweapon.ammotype \"ThunderWoolAmmo\"\ninventory.icon \"M10ICNN1\"\nStates\n{\nSpawn:\nCWA5 A 1\nloop\nReady:\nCWA5 A 0 ACS_ExecuteAlways(998,0,DYE_CBM_THUNDERWOOL)\nCWA5 A 1 A_WeaponReady\ngoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nCWA5 A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nCWA5 A 1 A_Raise\nLoop\nFire:\nCWA5 A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nCWA5 A 0\nCWA5 A 0 A_FireCustomMissile(\"ArchOfWoolCopywep\",0,1,8,0)\nCWA5 BCCCCCCCCCCCBA 2\nCWA5 A 0 A_Refire\ngoto Ready+1\nNoAmmo:\nCWA5 A 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor ArchOfWoolCopywep\n{\nTranslation \"198:198=36:36\", \"192:192=248:248\"\nPROJECTILE\nRenderstyle Translucent\nAlpha 0.5\nBouncetype Hexen\n+THRUACTORS\n+DONTBLAST\n+SKYEXPLODE\n+BOUNCEONWALLS\n+USEBOUNCESTATE\n+NOTARGETSWITCH\n+NOGRAVITY\nBounceFactor 0.5\nWallBounceFactor 0.5\nspeed 15\nscale 2.5\nRadius 16\nHeight 16\ngravity 1\nSpecies \"ThunderWoolBoss\"\nreactiontime 10\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"BULL_Tidifier\", 0)\nSpawnLOOP:\nSHPC A 0\nSHPC A 0 A_PlaySoundEx(\"weapon/woolrise\", \"Body\")\nReady:\nSHPC A 1 A_SetTranslucent(0.6)\nSHPC A 1 A_SetTranslucent(0.7)\nSHPC A 1 A_SetTranslucent(0.8)\nSHPC A 1 A_SetTranslucent(0.9)\nSHPC B 1 A_SetTranslucent(1)\nSHPC B 1\nSHPC B 1\nSHPC B 1\nSee:\nSHPC C 0 A_PlaySoundEx(\"weapon/woolshock\", \"Weapon\")\nSHPC C 1 A_SpawnItemEx(\"ArchWoolProjectile\",0,0,0,0,0,0,0,1)\nSHPC C 0 A_SpawnItemEx(\"ArchWoolProjectileExplosionC\",0,0,0,momx,momy,-10,0,552)\nSHPC C 0 ThrustThingZ(0,2,0,1)\nSHPC C 0 A_Recoil(-1)\nSHPC D 1 A_SpawnItemEx(\"ArchWoolProjectile2\",0,0,0,0,0,0,0,1)\nSHPC D 0 A_SpawnItemEx(\"ArchWoolProjectileExplosionC\",0,0,0,momx,momy,-10,0,552)\nSHPC D 0 ThrustThingZ(0,2,0,1)\nSHPC D 0 A_Recoil(-1)\nSHPC C 1 A_SpawnItemEx(\"ArchWoolProjectile\",0,0,0,0,0,0,0,1)\nSHPC C 0 A_SpawnItemEx(\"ArchWoolProjectileExplosionC\",0,0,0,momx,momy,-10,0,552)\nSHPC C 0 ThrustThingZ(0,2,0,1)\nSHPC C 0 A_Recoil(-1)\nSHPC D 1 A_SpawnItemEx(\"ArchWoolProjectile2\",0,0,0,0,0,0,0,1)\nSHPC D 0 A_SpawnItemEx(\"ArchWoolProjectileExplosionC\",0,0,0,momx,momy,-10,0,552)\nSHPC D 0 ThrustThingZ(0,2,0,1)\nSHPC D 0 A_Recoil(-1)\nSHPC C 1 A_SpawnItemEx(\"ArchWoolProjectile\",0,0,0,0,0,0,0,1)\nSHPC C 0 A_SpawnItemEx(\"ArchWoolProjectileExplosionC\",0,0,0,momx,momy,-10,0,552)\nSHPC C 0 ThrustThingZ(0,2,0,1)\nSHPC C 0 A_Recoil(-1)\nSHPC D 1 A_SpawnItemEx(\"ArchWoolProjectile2\",0,0,0,0,0,0,0,1)\nSHPC D 0 A_SpawnItemEx(\"ArchWoolProjectileExplosionC\",0,0,0,momx,momy,-10,0,552)\nSHPC D 0 ThrustThingZ(0,2,0,1)\nSHPC D 0 A_Recoil(-1)\nSHPC D 0 A_Countdown\ngoto See\n\nDeath:\nSHPC A 1 A_SetTranslucent(0.9)\nSHPC A 1 A_SetTranslucent(0.8)\nSHPC B 1 A_SetTranslucent(0.7)\nSHPC B 1 A_SetTranslucent(0.6)\nSHPC A 1 A_SetTranslucent(0.5)\nSHPC A 1 A_SetTranslucent(0.4)\nSHPC B 1 A_SetTranslucent(0.3)\nSHPC B 1 A_SetTranslucent(0.2)\nSHPC A 1 A_SetTranslucent(0.1)\nSHPC A 1 A_SetTranslucent(0)\nstop\n}\n}\n\nactor ArchWoolProjectileExplosionC\n{\nPROJECTILE\nSpecies \"ThunderWoolBoss\"\nObituary \"%o was galvanized by %k's thunder wool.\"\ndamagetype \"ArchOfWool\"\n+THRUACTORS\n+THRUSPECIES\n+THRUGHOST\n+DONTBLAST\n+DONTREFLECT\n+SERVERSIDEONLY\nrenderstyle none\ndamage (0)\nRadius 8\nHeight 8\nspeed 45\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"ArchWoolProjectileExplosionC\",0,0,0,0,0,momz,0,552)\nTNT1 A 0 A_Stop\nTNT1 A 1 A_Explode(7,32,0,0,33)\nstop\nDeath:\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/ReboundStriker.txt",
        "contents": "actor ReboundStrikerWep : BaseMM8BDMWep\n{\n//$Category MM8BDM-Weapons\n//$Title Bubble Lead\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 4\nInventory.Pickupmessage \"Power up! Rebound Striker!\"\nObituary \"%o failed to catch %k's rebound striker.\"\nTag \"Rebound Striker\"\nweapon.ammotype \"ReboundStrikerAmmo\"\ninventory.icon \"M10ICNN2\"\nStates\n{\nSpawn:\nCWA6 A 1\nloop\nReady:\nCWA6 A 0 ACS_ExecuteAlways(998,0,DYE_CBM_REBOUNDSTRIKER)\nCWA6 A 1 A_WeaponReady\ngoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nCWA6 A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nCWA6 A 1 A_Raise\nLoop\nFire:\nCWA6 A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nCWA6 A 0\nCWA6 A 0 A_FireCustomMissile(\"ReboundStrikerCWep\",0,1,8,0)\nCWA6 BCCCCCCBA 2\nCWA6 A 0 A_Refire\ngoto Ready+1\nNoAmmo:\nCWA6 A 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nActor ReboundStrikerCWep\n{\nTranslation \"198:198=251:251\", \"192:192=38:38\"\nPROJECTILE\nDamagetype \"ClassPainLess2\"\nObituary \"%o was smacked to the benches by %k's Rebound Striker.\"\n+DONTSPLASH\n+HEXENBOUNCE\n+SKYEXPLODE\n+BOUNCEONACTORS\n+USEBOUNCESTATE\n+HITTRACER\nSeeSound \"weapon/reboundprojectile\"\nBounceFactor 1.0\nWallBounceFactor 1.0\nBounceCount 7\nDamage (15)\nRadius 16\nHeight 16\nSpeed 50\nScale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"BULL_Tidifier\", 0)\nSpawn2:\nRBDS ABCD 1\nloop\n\nBounce.Actor:\nRBDS A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"cbm_istracerenemy\")==1,\"AntiRape\")\nRBDS A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_TARGET)\ngoto Spawn2\n\nAntiRape:\nRBDS A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_TARGET)\nRBDS A 0 A_ChangeFlag(\"THRUACTORS\", 1)\nRBDS A 1 A_ChangeVelocity(50.0,0,velz,CVF_RELATIVE|CVF_REPLACE)\nRBDS B 1\nRBDS C 1\nRBDS D 1\nRBDS D 0 A_ChangeFlag(\"THRUACTORS\",0)\ngoto Spawn2\n\nDeath:\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/SparkChaser.txt",
        "contents": "actor SparkChaserWep : BaseMM8BDMWep 10102\n{\n//$Category MM8BDM-Weapons\n//$Title Spark Chaser\n//$Sprite SCHSA0\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 2\nInventory.Pickupmessage \"$PU_SPARKCHASER\"\nObituary \"$OB_SPARKCHASER\"\nTag \"$TAG_SPARKCHASER\"\nweapon.ammotype \"SparkChaserAmmo\"\ninventory.icon \"SCHSWI\"\nStates\n{\nSpawnLoop:\nSCHS A -1\nloop\nReady:\nSCHS E 0 ACS_ExecuteAlways(998,0,217)\nSCHS E 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nSCHS E 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nSCHS E 1 A_Raise\nLoop\nFire:\nSCHS E 0 A_JumpIfNoAmmo(\"NoAmmo\")\nSCHS E 0 A_PlaySoundEx(\"weapon/sparkchaser\",\"Weapon\")\nSCHS E 0 A_FireCustomMissile(\"SparkChaser\",0,1,8,0)\nSCHS FG 6\nSCHS E 5\nSCHS E 0 A_Refire\nGoto Ready+1\nNoAmmo:\nSCHS E 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor SparkChaserTrail\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        SCHS D 10\n        stop\n    }\n}\n\nactor SparkChaser\n{\n    var int user_speed;\n    var int user_frames;\n    var int user_frameMax;\n    var int user_tagwait;\n    PROJECTILE\n    +SEEKERMISSILE\n    +FORCEXYBILLBOARD\n    +RIPPER\n    +BRIGHT\n    Radius 4\n    Height 4\n    scale 2.5\n    damage ((user_frames!=0)*8)\n    speed 1\n    reactiontime 30\n    Obituary \"$OB_SPARKCHASER\"\n    damagetype \"SparkChaser\"\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        SCHS D 0 ACS_ExecuteAlways(259, 0, 0) // Set the starting pitch\n        SCHS D 0 A_SetUserVar(user_speed, 40)\n        SCHS D 0 A_SetUserVar(user_frameMax, 10)\n        goto FlashMove\n    SpawnMove:\n        SCHS D 0 A_SpawnItemEx(\"SparkChaserTrail\", cos(pitch)*user_speed/2, 0, sin(-pitch)*user_speed/2)\n        SCHS D 1 A_SpawnItemEx(\"SparkChaserTrail\", 0, 0, 0)\n        SCHS D 0 A_SetUserVar(user_frames, user_frames-1)\n        SCHS D 0 A_JumpIf(user_frames == 0, \"Flash\")\n        loop\n    Flash:\n        SCHS D 0 A_JumpIfInventory(\"SparkChaserTagged\", 1, \"SetTag\", AAPTR_TRACER)\n        SCHS D 0 A_PlaySoundEx(\"weapon/sparkchaserchase\", \"body\")\n        SCHS D 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_NULL) // Clear previous hit\n        SCHS D 0 A_SeekerMissile(0, 0, SMF_LOOK, 256, 8)\n        SCHS D 0 A_Warp(AAPTR_DEFAULT, 0, 0, 0, 0, WARPF_STOP)\n        SCHS D 0 A_JumpIf(CallACS(\"core_compareptr\", AAPTR_TRACER, AAPTR_MASTER), \"FlashRetarget\")\n        SCHS CCBBC 2\n        SCHS D 0 A_Countdown\n        SCHS D 0 A_JumpIfTargetInLOS(\"FlashSearch\", 0, JLOSF_PROJECTILE)\n        goto FlashMove\n    SetTag:\n        SCHS D 0 A_SetUserVar(user_tagwait, 4)\n        SCHS D 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_TRACER, AAPTR_DEFAULT) // Store Tracer in Master\n        goto Flash+1\n    ClearTag:\n        SCHS D 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_NULL, AAPTR_DEFAULT) // Clear Master\n        goto Flash+6\n    FlashRetarget:\n        SCHS D 0 A_SetUserVar(user_tagwait, user_tagwait-1)\n        SCHS D 0 A_JumpIf(user_tagwait <= 0, \"ClearTag\")\n        SCHS D 1 A_GiveInventory(\"SparkChaserCantseek\", 1, AAPTR_MASTER)\n        goto Flash+2\n    FlashSearch:\n        SCHS D 0 ACS_NamedExecuteAlways(\"core_lookatptr\", 0, AAPTR_TRACER)\n        goto FlashMove\n    FlashMove:\n        SCHS C 2\n        SCHS D 0 A_ChangeVelocity(cos(pitch)*user_speed, 0, sin(-pitch)*user_speed, CVF_RELATIVE|CVF_REPLACE)\n        SCHS D 0 A_SetUserVar(user_frames, user_frameMax)\n        goto SpawnMove\n    Death:\n        TNT1 A 0\n        stop\n    }\n}\n\nactor SparkChaserCantSeekCounter : Inventory\n{\n    inventory.amount 1\n    inventory.maxamount 100\n}\n\nactor SparkChaserCantseek : CustomInventory\n{\n    +INVENTORY.AUTOACTIVATE\n    States\n    {\n    Use:\n        TNT1 A 0 ACS_NamedExecuteAlways(\"core_cantseekplayer\", 0, 0, true)\n        TNT1 A 0 A_GiveInventory(\"SparkChaserCantSeekCounter\", 15)\n        TNT1 A 0 A_SpawnItemEx(\"SparkChaserCantseekWatcher\")\n        stop\n    }\n}\n\nactor SparkChaserCantseekWatcher\n{\n    PROJECTILE\n    +NOINTERACTION\n    renderstyle none\n    States\n    {\n    Spawn:\n        PLY1 A 1\n        TNT1 A 0 A_TakeFromTarget(\"SparkChaserCantSeekCounter\", 1)\n        TNT1 A 0 A_JumpIfInTargetInventory(\"SparkChaserCantSeekCounter\", 1, \"Spawn\")\n        TNT1 A 0 A_GiveToTarget(\"SparkChaserCanSeek\", 1)\n        stop\n    }\n}\n\nactor SparkChaserCanSeek : CustomInventory\n{\n    +INVENTORY.AUTOACTIVATE\n    States\n    {\n    Use:\n        TNT1 A 0 ACS_NamedExecuteAlways(\"core_cantseekplayer\", 0, 0, false)\n        stop\n    }\n}\n\nactor SparkChaserTagged : PowerUp\n{\n    powerup.duration 14\n}\n\n// LEGACY\n/*\n\nactor SparkChaser\n{\nPROJECTILE\n+SEEKERMISSILE\n+FORCEXYBILLBOARD\n+RIPPER\nRadius 4\nHeight 4\nscale 2.5\ndamage ((momx!=0 || momy!=0 || momz!=0)*6)\nspeed 1\nObituary \"$OB_SPARKCHASER\"\ndamagetype \"SparkChaser\"\nvar int user_speed;\nvar int user_frames;\nvar int user_frameMax;\nvar int user_tagged;\nvar int user_timer;\nvar int user_tagTimer;\nStates\n{\nSpawn:\n    TNT1 A 0\n    SCHS D 0 ACS_ExecuteAlways(259, 0, 0) // Set the starting pitch\n    SCHS D 0 A_SetUserVar(user_speed, 40)\n    SCHS D 0 A_SetUserVar(user_frameMax, 10)\n    SCHS D 0 A_SetUserVar(user_timer, 8)\n    goto FlashMove\nSpawnMove:\n    SCHS D 0 A_JumpIfTracerCloser(user_speed, \"Tagged\")\n    SCHS D 0 A_SpawnItemEx(\"SparkChaserTrail\", cos(pitch)*user_speed/2, 0, sin(-pitch)*user_speed/2)\n    SCHS D 1 A_SpawnItemEx(\"SparkChaserTrail\", 0, 0, 0)\n    SCHS D 0 A_SetUserVar(user_frames, user_frames-1)\n    SCHS D 0 A_JumpIf(user_frames == 0, \"Flash\")\n    loop\nTagged:\n    SCHS D 0 A_SetUserVar(user_tagged, 1)\n    goto MoveTagged\nMoveTagged:\n    SCHS D 0 A_SpawnItemEx(\"SparkChaserTrail\", cos(pitch)*user_speed/2, 0, sin(-pitch)*user_speed/2)\n    SCHS D 1 A_SpawnItemEx(\"SparkChaserTrail\", 0, 0, 0)\n    SCHS D 0 A_SetUserVar(user_frames, user_frames-1)\n    SCHS D 0 A_JumpIf(user_frames == 0, \"Flash\")\n    loop\nFlash:\n    SCHS D 0 A_PlaySoundEx(\"weapon/sparkchaserchase\", \"body\")\n    SCHS D 0 A_JumpIf(user_timer <= 0, \"FlashRemove\")\n    SCHS D 0 A_SetUserVar(user_timer, user_timer-1)\n    SCHS D 0 A_JumpIf(user_tagged == 2, \"FlashClear\")\n    SCHS D 0 A_JumpIf(user_tagged == 1, \"FlashTagged\")\n    SCHS D 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_NULL) // Clear previous hit\n    SCHS D 0 A_SeekerMissile(0, 0, SMF_LOOK, 256, 8)\n    SCHS D 0 A_JumpIf(CallACS(\"core_compareptr\", AAPTR_TRACER, AAPTR_MASTER), \"FlashRetarget\")\n    SCHS D 0 A_Warp(AAPTR_DEFAULT, 0, 0, 0, 0, WARPF_STOP)\n    SCHS CCBBC 2\n    SCHS D 0 A_JumpIfTargetInLOS(\"FlashSearch\", 0, JLOSF_PROJECTILE)\n    goto FlashMove\nFlashTagged:\n    SCHS D 0 A_SetUserVar(user_tagTimer, 4)\n    SCHS D 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_TRACER, AAPTR_DEFAULT) // Store Tracer in Master\n    SCHS D 0 A_SetUserVar(user_tagged, 2)\n    goto Flash+1\nFlashClear:\n    SCHS D 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_NULL, AAPTR_DEFAULT) // Clear Master\n    SCHS D 0 A_SetUserVar(user_tagged, 0)\n    goto Flash+1\nFlashRetarget:\n    SCHS C 0 A_GiveInventory(\"SparkChaserCantseek\", 1, AAPTR_MASTER)\n    SCHS C 0 A_SetUserVar(user_tagTimer, user_tagTimer-1)\n    SCHS C 0 A_JumpIf(user_tagTimer > 0, \"FlashRetargetEnd\")\n    SCHS D 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_NULL) // Clear previous hit\nFlashRetargetEnd:\n    SCHS C 2\n    SCHS C 0 A_printBold(\"help\")\n    SCHS C 0 A_SeekerMissile(0, 0, SMF_LOOK, 256, 8)\n    SCHS D 0 A_Warp(AAPTR_DEFAULT, 0, 0, 0, 0, WARPF_STOP)\n    SCHS CBBC 2\n    SCHS D 0 A_JumpIfTargetInLOS(\"FlashSearch\", 0, JLOSF_PROJECTILE)\n    goto FlashMove\nFlashSearch:\n    SCHS D 0 ACS_NamedExecuteAlways(\"core_lookatptr\", 0, AAPTR_TRACER)\n    goto FlashMove\nFlashRemove:\n    SCHS D 0 A_Warp(AAPTR_DEFAULT, 0, 0, 0, 0, WARPF_STOP)\n    SCHS CBBC 2\n    goto FlashMove\nFlashMove:\n    SCHS C 2\n    SCHS D 0 A_ChangeVelocity(cos(pitch)*user_speed, 0, sin(-pitch)*user_speed, CVF_RELATIVE|CVF_REPLACE)\n    SCHS D 0 A_SetUserVar(user_frames, user_frameMax)\n    goto SpawnMove\n}\n}\n\n*/"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/GrabBuster.txt",
        "contents": "actor GrabBusterWep : BaseMM8BDMWep\n{\ndropitem \"GrabBusterWepCDropped\"\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 2\nInventory.Pickupmessage \"$PU_GRABBUSTER\"\nObituary \"$OB_GRABBUSTER\"\nTag \"$TAG_GRABBUSTER\"\nweapon.ammotype \"GrabBusterAmmo\"\ninventory.icon \"MVICN_1\"\nStates\n{\nSpawn:\nCWV1 Z 1\nloop\nReady:\nCWV1 A 0 ACS_ExecuteAlways(998,0,DYE_CBM_GRABBUSTER)\nCWV1 A 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nCWV1 A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nCWV1 A 1 A_Raise\nLoop\nFire:\nCWV1 A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nCWV1 A 0 A_PlaySoundEx(\"weapon/grabbuster\",\"Weapon\")\nCWV1 A 0 A_FireCustomMissile(\"GrabBuster\",0,1,8,0)\nCWV1 CBA 3\nCWV1 A 7\nCWV1 A 0 A_Refire\nGoto Ready+1\nNoAmmo:\nCWV1 A 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor GrabBusterAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\n}\n\nactor GrabBuster\n{\nTranslation \"192:192=104:104\",\"198:198=0:0\"\nPROJECTILE\nDamagetype \"GrabBusterCopywep\"\nObituary \"$OB_GRABBUSTER\"\nDamage (15)\nRadius 8\nHeight 8\nSpeed 30\nScale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_Jump(256,1,2,3,4)\nSpawn2:\nMRCR DCBA 1\nloop\n}\n}\n\nactor PainGrabBusterHit\n{\n+MISSILE\n+NOGRAVITY\n+NOINTERACTION\n-SOLID\nHeight 2\nRadius 2\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainGrabBusterHit_P\",1)\nstop\n}\n}\nactor PainGrabBusterHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"GrabBusterHealthChaser\",0,0,0,0,0,0,0,0)\nstop\n}\n}\n\nactor GrabBusterHealthChaser\n{\nTranslation \"192:192=4:4\",\"198:198=214:214\"\nPROJECTILE\n+SEEKERMISSILE\n+DONTBLAST\n+DONTREFLECT\n+NOINTERACTION\nrenderstyle translucent\nalpha 0.8\nreactiontime 135\nRadius 16\nHeight 32\nspeed 50\nscale 2.0\nstates\n{\nSpawn:\nCWV1 Y 0\nCWV1 Y 0 A_TransferPointer(2,0,2,2)\nCWV1 Y 0 A_RearrangePointers(0,0,2)\nCWV1 Y 0 A_FaceTarget\nCWV1 Y 0 A_SetPitch(30)//momz\nCWV1 Y 0 A_SetAngle(angle+random(150,210))\nCWV1 Y 1 A_ChangeVelocity(30,0,30,2)\ngoto SpawnSlow+2\nSpawnSlow:\nCWV1 X 0 A_JumpIf(Args[4]>=9,\"SpawnSpeedStart\")\nCWV1 X 0 A_JumpIfCloser(48,\"Death\")//64\nCWV1 X 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,\"No\")\nCWV1 X 0 A_SetArg(4,Args[4]+1)\nCWV1 X 0 A_FaceTracer(5,2)\nCWV1 X 1 A_ChangeVelocity(30-3*Args[4],0,sin(pitch)*(30-3*Args[4]),3)//momz*(1-Args[4]*0.05),3)\nCWV1 Y 0 A_FaceTracer(5,2)\nCWV1 Y 1 A_ChangeVelocity(30-3*Args[4],0,sin(pitch)*(30-3*Args[4]),3)\nloop\nSpawnSpeedStart:\nCWV1 X 0 A_JumpIfCloser(48,\"Death\")\nCWV1 X 0 A_FaceTracer(6,3)\nCWV1 X 1 A_ChangeVelocity(6,0,sin(pitch)*6,3)\nCWV1 Y 0 A_FaceTracer(6,3)\nCWV1 Y 1 A_ChangeVelocity(6,0,sin(pitch)*6,3)\ngoto SpawnSpeed\nSpawnSpeed:\nCWV1 X 0 A_JumpIf(Args[3]>=16,\"SpawnL_End\")\nCWV1 X 0 A_JumpIfCloser(48,\"Death\")\nCWV1 X 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,\"No\")\nCWV1 X 0 A_SetArg(3,Args[3]+1)\nCWV1 X 0 A_FaceTracer(6,3)\nCWV1 X 1 A_ChangeVelocity(3+3*Args[3],0,sin(pitch)*(3+3*Args[3]),3)\nCWV1 Y 0 A_JumpIfCloser(48,\"Death\")\nCWV1 Y 0 A_FaceTracer(6,3)\nCWV1 Y 1 A_ChangeVelocity(3+3*Args[3],0,sin(pitch)*(3+3*Args[3]),3)\nloop\nSpawnL_End:\nTNT1 A 0 A_SpawnItemEx(\"GrabBusterSmallHealth\",0,0,0,momx*0.25,momy*0.25,momz*0.4,0,9)\nstop\n\nDeath:\nTNT1 A 0 A_PlaySoundEx(\"item/energyup\",\"Weapon\")\nTNT1 A 3 A_GiveToTarget(\"GrabBusterSmallHealth\",1)\nstop\nNo:\nTNT1 A 0\nstop\n}\n}\n\nActor GrabBusterSmallHealth : CustomInventory\n{\nTranslation \"192:192=4:4\",\"198:198=214:214\"\ninventory.pickupmessage \"Picked up a tiny health capsule. (10)\"\ninventory.PickupSound \"item/energyup\"\n//-SPECIAL\n//+THRUACTORS\n+NOBLOCKMONST\nReactionTime 42\nSpeed 20\nscale 2.0\nStates\n{\nSpawn:\nCWV1 XYXY 6\nCWV1 X 0 A_CountDown\nloop\nPickup:\n//TNT1 A 0 A_JumpIf(Health>0,\"Pickup2\")\n//fail\n//Pickup2:\nTNT1 A 0 HealThing(10)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/PhotonMissile.txt",
        "contents": "actor PhotonMissileWep : BaseMM8BDMWep 10105\n{\n    //$Category MM8BDM-Weapons\n    //$Title Photon Missile\n    //$Sprite PMISA0\n    Weapon.AmmoUse 3\n    Weapon.AmmoGive 28\n    Weapon.SlotNumber 5\n    Inventory.Pickupmessage \"$PU_PHOTONMISSILE\"\n    Obituary \"$OB_PHOTONMISSILE\"\n    Tag \"$TAG_PHOTONMISSILE\"\n    weapon.ammotype \"PhotonMissileAmmo\"\n    inventory.icon \"PMISWI\"\n    States\n    {\n    SpawnLoop:\n        PMIS A -1\n        loop\n    Ready:\n        PMIS G 0 ACS_ExecuteAlways(998,0,208)\n        PMIS G 1 A_WeaponReady\n        goto Ready+1\n    Deselect:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n        PMIS G 1 A_Lower\n        Loop\n    Select:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n        PMIS G 1 A_Raise\n        Loop\n    Fire:\n        PMIS G 0 A_JumpIfNoAmmo(\"NoAmmo\")\n        PMIS G 0 A_TakeInventory(\"PhotonMissileAmmo\", 3, TIF_NOTAKEINFINITE)\n        PMIS H 0 A_PlaySoundEx(\"weapon/photonmissilestart\", \"weapon\")\n        PMIS H 1\n    HoldB1:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold1\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS H 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"HoldArm\")\n        PMIS H 0 A_Refire(\"HoldB2\")\n        goto Launch\n    HoldB2:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold1\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS H 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"HoldArm\")\n        PMIS H 0 A_Refire(\"HoldC1\")\n        goto Launch\n    HoldC1:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold2\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS H 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"HoldArm\")\n        PMIS H 0 A_Refire(\"HoldC2\")\n        goto Launch\n    HoldC2:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold2\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS H 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"HoldArm\")\n        PMIS H 0 A_Refire(\"HoldD1\")\n        goto Launch\n    HoldD1:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold3\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS H 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"HoldArm\")\n        PMIS H 0 A_Refire(\"HoldD2\")\n        goto Launch\n    HoldD2:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold3\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS H 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"HoldArm\")\n        PMIS H 0 A_Refire(\"HoldB1\")\n        goto Launch\n\n    HoldArm:\n        PMIS H 0 A_PlaySoundEx(\"weapon/photonmissilearm\", \"weapon\")\n        goto HoldB3\n\n    HoldB3:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold4\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS I 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS H 0 A_Refire(\"HoldB4\")\n        goto Launch\n    HoldB4:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold4\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS I 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS H 0 A_Refire(\"HoldC3\")\n        goto Launch\n    HoldC3:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold5\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS I 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS H 0 A_Refire(\"HoldC4\")\n        goto Launch\n    HoldC4:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold5\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS I 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS H 0 A_Refire(\"HoldD3\")\n        goto Launch\n    HoldD3:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold3\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS I 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS H 0 A_Refire(\"HoldD4\")\n        goto Launch\n    HoldD4:\n        PMIS H 0 A_SpawnItemEx(\"PhotonMissileHold3\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS H 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS I 1 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS H 0 A_Refire(\"HoldB3\")\n        goto Launch\n\n    Launch:\n        PMIS G 0 A_PlaySoundEx(\"weapon/megabuster\",\"Weapon\")\n        PMIS G 0 A_GiveInventory(\"FirePhotonMissileLauncher\", 1) // SpreadRune\n        PMIS G 0 A_SpawnItemEx(\"PhotonMissileHold3\", 48*cos(pitch), 8, 48*sin(-pitch)+32, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        PMIS IIHH 1\n        PMIS G 0 A_TakeInventory(\"PhotonMissileCharge\", 999)\n        PMIS G 14\n        goto Ready+1\n    Altfire:\n        PMIS G 0 A_JumpIfNoAmmo(\"NoAmmo\")\n        PMIS G 0 A_TakeInventory(\"PhotonMissileAmmo\", 3, TIF_NOTAKEINFINITE)\n        PMIS H 0 A_PlaySoundEx(\"weapon/photonmissilestart\", \"weapon\")\n        PMIS H 1\n        goto Launch\n    NoAmmo:\n        PMIS G 1 ACS_Execute(979,0)\n        goto Ready+1\n    }\n}\n\nactor PhotonMissileCharge : WeaponCharge\n{\n    inventory.maxamount 55\n}\n\nactor PhotonMissileHold1\n{\n    +NOINTERACTION\n    +NOGRAVITY\n    +CLIENTSIDEONLY\n    -SOLID\n    scale 2.5\n    height 0\n    radius 0\n    States\n    {\n    Spawn:\n        PMIS B 0\n        PMIS B 1\n        stop\n    }\n}\n\nactor PhotonMissileHold2 : PhotonMissileHold1\n{\n    States\n    {\n    Spawn:\n        PMIS C 0\n        PMIS C 1\n        stop\n    }\n}\n\nactor PhotonMissileHold3 : PhotonMissileHold1\n{\n    States\n    {\n    Spawn:\n        PMIS D 0\n        PMIS D 1\n        stop\n    }\n}\n\nactor PhotonMissileHold4 : PhotonMissileHold1\n{\n    +BRIGHT\n    States\n    {\n    Spawn:\n        PMIS E 0\n        PMIS E 1\n        stop\n    }\n}\n\nactor PhotonMissileHold5 : PhotonMissileHold1\n{\n    +BRIGHT\n    States\n    {\n    Spawn:\n        PMIS F 0\n        PMIS F 1\n        stop\n    }\n}\n\nactor FirePhotonMissileLauncher : Custominventory\n{\n    States\n    {\n    Pickup:\n        TNT1 A 0 A_JumpIfInventory(\"RuneSpread\", 1, \"PickupSpread\")\n        TNT1 A 0 A_SpawnItemEx(\"PhotonMissileLauncher\", 0, 8, 32, 48*cos(pitch), 0, 48*-sin(pitch), 0, SXF_TRANSFERPITCH)\n        stop\n    PickupSpread:\n        TNT1 A 0 A_SpawnItemEx(\"PhotonMissileLauncher\", 0, 8, 48, 48*cos(pitch), 0, 48*-sin(pitch), 0, SXF_TRANSFERPITCH)\n        TNT1 A 0 A_SpawnItemEx(\"PhotonMissileLauncher\", 0, -6, 24, 48*cos(pitch), 0, 48*-sin(pitch), 0, SXF_TRANSFERPITCH)\n        TNT1 A 0 A_SpawnItemEx(\"PhotonMissileLauncher\", 0, 20, 24, 48*cos(pitch), 0, 48*-sin(pitch), 0, SXF_TRANSFERPITCH)\n        stop\n    }\n}\n\nactor PhotonMissileLauncher\n{\n    PROJECTILE\n    +THRUACTORS\n    +DOOMBOUNCE\n    Radius 10\n    Height 10\n    scale 2.5\n    damage (1)\n    speed 1\n    damagetype \"PhotonMissile\"\n    Obituary \"$OB_PHOTONMISSILE\"\n    bouncefactor 0.0\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_ChangeFlag(DOOMBOUNCE, false)\n        TNT1 A 0 A_Stop\n        TNT1 A 0 ACS_ExecuteAlways(259, 0, 1)\n        PMIS ZC 1\n        PMIS B 0\n        PMIS B 0 A_JumpIfInTargetInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS D 2\n        PMIS B 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM+1, \"SpawnWait2\")\n    SpawnWait:\n        PMIS B 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"SpawnArm\")\n        PMIS B 1\n        PMIS B 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS B 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"SpawnArm\")\n        PMIS B 1\n        PMIS B 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS C 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"SpawnArm\")\n        PMIS C 1\n        PMIS C 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS C 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"SpawnArm\")\n        PMIS C 1\n        PMIS C 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS D 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"SpawnArm\")\n        PMIS D 1\n        PMIS D 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS D 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONARM, \"SpawnArm\")\n        PMIS D 1\n        PMIS D 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        loop\n    SpawnArm:\n        PMIS D 0 A_PlaySoundEx(\"weapon/photonmissilearm\", \"auto\")\n        PMIS D 0 A_ChangeFlag(BRIGHT, true)\n    SpawnWait2:\n        PMIS E 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS E 1\n        PMIS E 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS E 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS E 1\n        PMIS E 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS F 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS F 1\n        PMIS F 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS F 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS F 1\n        PMIS F 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS D 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS D 1\n        PMIS D 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        PMIS D 0 A_JumpIfInventory(\"PhotonMissileCharge\", CONST_PHOTONMAX, \"Launch\")\n        PMIS D 1\n        PMIS D 0 A_GiveInventory(\"PhotonMissileCharge\", 1)\n        loop\n    Launch:\n        PMIS D 0 A_PlaySoundEx(\"weapon/photonmissilelaunch\", \"auto\")\n        PMIS D 0 A_SpawnItemEx(\"PhotonMissile\", 0, 0, 0, 80*cos(pitch), 0, 80*sin(-pitch))\n        TNT1 A 35\n        stop\n    Death:\n        TNT1 A 0 A_SpawnItemEx(\"PhotonMissileExplosion\")\n        stop\n    }\n}\n\nactor PhotonMissile : FastProjectile\n{\n    PROJECTILE\n    +RIPPER\n    +BRIGHT\n    missiletype \"PhotonMissileTrail\"\n    damagetype \"PhotonMissile\"\n    Obituary \"$OB_PHOTONMISSILE\"\n    damage (1)\n    Radius 10\n    Height 10\n    scale 2.5\n    Speed 80\n    States\n    {\n    Spawn:\n        PMIS DEF 2\n        loop\n    Death:\n        TNT1 A 0 A_SpawnItemEx(\"PhotonMissileExplosion\")\n        stop\n    }\n}\n\nactor PhotonMissileExplosion\n{\n    PROJECTILE\n    +FORCEXYBILLBOARD\n    +NOINTERACTION\n    Radius 1\n    Height 1\n    scale 2.5\n    damagetype \"PhotonMissile\"\n    Obituary \"$OB_PHOTONMISSILE\"\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_PlaySoundEx(\"weapon/photonmissileexplode\", \"auto\")\n        TNT1 A 0 A_Explode(60, 128, 0, 0, 64)\n        TNT1 A 35 A_SpawnItemEx(\"ExplosionEffect3\")\n        stop\n    }\n}\n\nactor PhotonMissileTrail : PhotonMissileHold3\n{\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        stop\n    }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/ElectricShock.txt",
        "contents": "actor ElectricShockWep : BaseMM8BDMWep 10106\n{\n    //$Category MM8BDM-Weapons\n    //$Title Electric Shock\n    //$Sprite ESPAA0\n    Weapon.AmmoUse 1\n    Weapon.AmmoGive 56\n    Weapon.SlotNumber 4\n    Inventory.Pickupmessage \"$PU_ELECTRICSHOCK\"\n    Obituary \"$OB_ELECTRICSHOCK\"\n    Tag \"$TAG_ELECTRICSHOCK\"\n    weapon.ammotype \"ElectricShockAmmo\"\n    inventory.icon \"ESPAWI\"\n    States\n    {\n    SpawnLoop:\n        ESPA A -1\n        loop\n    Ready:\n        ESPA D 0 ACS_ExecuteAlways(998,0,210)\n        ESPA D 1 A_WeaponReady\n        goto Ready+1\n    Deselect:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n        ESPA D 1 A_Lower\n        Loop\n    Select:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n        ESPA D 1 A_Raise\n        Loop\n    Altfire:\n    Fire:\n        ESPA D 0 A_JumpIfNoAmmo(\"NoAmmo\")\n        ESPA EF 2\n        TNT1 A 2\n        ESPA GH 1\n    AltHold:\n    Hold:\n        ESPA D 0 A_PlaySoundEx(\"weapon/electricshock\", \"Weapon\")\n        ESPA D 0 A_FireCustomMissile(\"ElectricShockBurstStart\",0,0,0,0)\n        ESPA I 3 A_FireCustomMissile(\"ElectricShockDamager\",0,1,0,0)\n        ESPA D 0 A_JumpIfNoAmmo(\"FireEnd\")\n        ESPA I 0 A_Refire\n    FireEnd:\n        ESPA JK 7\n        ESPA D 0 A_ClearRefire\n        goto Ready+1\n    NoAmmo:\n        ESPA D 1 ACS_Execute(979,0)\n        Goto Ready+1\n    }\n}\n\nactor ElectricShockBurstStart //: BasicHelper\n{\n    +MISSILE\n    -SOLID\n    +NOCLIP\n    +NOINTERACTION\n    +NOGRAVITY\n    +DONTBLAST\n    +DONTREFLECT\n    +THRUACTORS\n    RenderStyle none\n    Radius 2\n    Height 2\n\n    Speed 15\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_Warp(2,0,0,32,0,16+8)//But which interpolation? Does it matter?\n        TNT1 A 1 A_SpawnItemEx(\"ElectricShockBurst\",0,0,0,momx,momy,momz,0,8)\n        stop\n    }\n}\n\nactor ElectricShockBurst : FastProjectile//FastProj to match damager hitbox\n{\n    +MISSILE\n    +NOGRAVITY\n    +SKYEXPLODE\n    +EXPLODEONWATER\n    +DONTSPLASH\n    +PAINLESS\n    +CLIENTSIDEONLY\n    RenderStyle None\n    Damage (0)\n    Radius 10\n    Height 10\n    Speed 15\n    Scale 2.5\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_JumpIf(Pitch > 18,\"Death2\")\n        TNT1 A 0 A_SetPitch(Pitch+1)\n        TNT1 A 0 A_SpawnItemEx(\"ElectricShockBurst\",0,0,0,momx,momy,momz,0,552)//512+32+8\n        TNT1 A 0 A_Stop\n        TNT1 A 0 A_SpawnItemEx(\"ElectricShockFX\",0,frandom(-9,9),frandom(-9,9))\n        TNT1 A 0 A_SpawnItemEx(\"ElectricShockBurst2\",0,frandom(-16,16),frandom(-16,16))\n        TNT1 A 1\n        stop\n    Death:\n        TNT1 A 0 A_SpawnItemEx(\"ElectricShockEndFX\")\n        stop\n    Death2:\n        TNT1 A 0 A_Stop\n        TNT1 A 0 A_SpawnItemEx(\"ElectricShockEndFX\")\n        stop\n    }\n}\n\nactor ElectricShockFX : BasicGraphicEffect\n{\n    +FORCEXYBILLBOARD\n    +BRIGHT\n    States\n    {\n    Spawn:\n        ESPA Q 0\n        ESPA Q 0 A_Jump(256,1,4)\n        ESPA QRS 1\n        stop\n        ESPA XWV 1\n        stop\n    }\n}\n\nactor ElectricShockEndFX : ElectricShockFX\n{\n    States\n    {\n    Spawn:\n        ESPA ZYZY 1\n        ESPA Z 0 A_SetScale(1.25)\n        ESPA ZY 1\n        stop\n    }\n}\n\nactor ElectricShockBurst2\n{\n    +MISSILE\n    +NOGRAVITY\n    +SKYEXPLODE\n    +EXPLODEONWATER\n    +DONTSPLASH\n    +PAINLESS\n    +CLIENTSIDEONLY\n    +FORCEXYBILLBOARD\n    +BRIGHT\n    Damage (0)\n    Radius 10\n    Height 10\n    Speed 15\n    Scale 2.5\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_JumpIf(random(1,4) >= 4,\"SpawnReal\")\n        stop\n    SpawnReal:\n        TNT1 A 10 A_SetTics(random(2,4)*3)\n        TNT1 A 0 A_PlaySoundEx(\"weapon/electricshockspark\",\"Auto\")\n        TNT1 A 0 A_SetPitch(random(12,18))\n        TNT1 A 0 A_SpawnItemEx(\"ElectricShockBurst3\",0,0,0,0,0,0,0,544)//512+32\n        stop\n    Death:\n        TNT1 A 0\n        stop\n    }\n}\n\nactor ElectricShockBurst3 : ElectricShockBurst2\n{\n    +BRIGHT\n    Scale 0.5\n    States\n    {\n    Spawn:\n        ESPA T 0\n        ESPA T 0 A_JumpIf(Pitch < 2,\"Death\")\n        ESPA T 0 A_SetPitch(Pitch-1)\n        ESPA T 0 A_SpawnItemEx(\"ElectricShockBurst3\",-2*random(0,1)+1, -2*random(0,1)+1, -2*random(0,1)+1,0,0,0,0,544)//512+32\n        ESPA T 0 A_SetTics(random(0,2))\n        ESPA T 0 A_Jump(256,1,2)\n        ESPA T 1\n        stop\n        ESPA U 1\n        stop\n    }\n}\n\nactor ElectricShockDamager : FastProjectile\n{\n    PROJECTILE\n    damagetype \"ElecticShock\"\n    Obituary \"$OB_ELECTRICSHOCK\"\n    +SKYEXPLODE\n    +EXPLODEONWATER\n    RenderStyle None\n    Damage (9)\n    Radius 10\n    Height 10\n    speed 150\n    scale 2.5\n    states\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 1\n        TNT1 A 0\n        stop\n    }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/BlackHole.txt",
        "contents": "actor BlackHoleWep : BaseMM8BDMWep 10107\n{\n    //$Category MM8BDM-Weapons\n    //$Title Black Hole\n    //$Sprite BHOLA0\n    Weapon.AmmoUse 4\n    Weapon.AmmoGive 28\n    Weapon.SlotNumber 7\n    Inventory.Pickupmessage \"$PU_BLACKHOLE\"\n    Obituary \"$OB_BLACKHOLE\"\n    Tag \"$TAG_BLACKHOLE\"\n    weapon.ammotype \"BlackHoleAmmo\"\n    inventory.icon \"BHOLWI\"\n    States\n    {\n    SpawnLoop:\n        BHOL A -1\n        loop\n    Ready:\n        BHOL I 0 ACS_ExecuteAlways(998,0,211)\n        BHOL I 1 A_WeaponReady\n        Goto Ready+1\n    Deselect:\n        TNT1 A 0 A_JumpIfInventory(\"ShieldCheck\", 1, \"Detonate\")\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n        BHOL I 1 A_Lower\n        Loop\n    Select:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n        BHOL I 1 A_Raise\n        Loop\n    Fire:\n        BHOL I 0 A_JumpIfInventory(\"ShieldCheck\", 1, \"Detonate\")\n        BHOL I 0 A_JumpIfNoAmmo(\"NoAmmo\")\n        BHOL I 0 A_JumpIfInventory(\"BlackHoleTrigger\", 1, \"NoAmmo\")\n        TNT1 A 2\n        BHOL LM 1\n        BHOL I 0 A_PlaySoundEx(\"weapon/blackholestart\",\"Weapon\")\n        BHOL I 0 A_GiveInventory(\"ShieldCheck\", 1)\n        BHOL I 0 A_GiveInventory(\"SpawnBlackHole\", 1)\n        BHOL NOP 1\n        TNT1 A 2\n        BHOL JK 2\n    Active:\n        BHOL KKKKKKKKKKKKKKKKKK 1 A_WeaponReady\n        BHOL K 0 A_TakeInventory(\"BlackHoleAmmo\", 1)\n        BHOL K 0 A_JumpIfInventory(\"BlackHoleAmmo\", 1, \"Active\")\n        goto Detonate\n    Detonate:\n        BHOL I 0 A_PlaySoundEx(\"weapon/blackholestart\",\"Weapon\")\n        BHOL I 0 A_GiveInventory(\"BlackHoleTrigger\", 1)\n        BHOL I 0 A_TakeInventory(\"ShieldCheck\", 1)\n        BHOL I 0 A_TakeInventory(\"BlackHoleAmmo\", 4)\n        BHOL QR 1\n        BHOL S 10\n        BHOL RQ 1\n        BHOL I 10\n        //BHOL I 0 A_TakeInventory(\"BlackHoleTrigger\", 1)\n        BHOL I 0 A_ClearRefire\n        goto Ready+1\n    NoAmmo:\n        BHOL I 1 ACS_Execute(979,0)\n        Goto Ready+1\n    }\n}\n\n// actor BlackHoleTrigger : Once {}\n\nactor SpawnBlackHole : CustomInventory\n{\n    States\n    {\n    Pickup:\n        TNT1 A 0 A_SpawnItemEx(\"BlackHoleSpawner\", 0, 0, 32)\n        TNT1 A 0 A_JumpIfInventory(\"RuneSpread\", 1, \"PickupSpread\")\n        stop\n    PickupSpread:\n        TNT1 A 0 A_SpawnItemEx(\"BlackHoleSpawner\", 64, 0, 32, 0, 0, 0, 0)\n        TNT1 A 0 A_SpawnItemEx(\"BlackHoleSpawner\", 64, 0, 32, 0, 0, 0, 120)\n        TNT1 A 0 A_SpawnItemEx(\"BlackHoleSpawner\", 64, 0, 32, 0, 0, 0, 240)\n        stop\n    }\n}\n\nactor BlackHoleTrigger : Powerup\n{\n    powerup.duration 35\n}\n\nactor BlackHoleSpawner\n{\n    radius 1\n    height 1\n    +MISSILE\n    +NOINTERACTION\n    var int user_part;\n    var int user_InFloor;\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_TARGET)\n        TNT1 A 0 A_SetUserVar(user_InFloor, (z-floorz < 32))\n        TNT1 A 0 A_SpawnItemEx(\"BlackHoleCore\", 0, 0, !user_InFloor * -32 + user_InFloor * -(z-floorz), 0, 0, 0, 0, SXF_TRANSFERPOINTERS)\n        TNT1 A 0 A_SetUserVar(user_part, BLACKHOLE_PARTMAX)\n    SpawnWait:\n        TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0,\"End\")\n        TNT1 A 1 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        loop\n    Detonate:\n        TNT1 A 0 A_PlaySoundEx(\"weapon/blackholestart\",\"auto\")\n        TNT1 A 15\n        TNT1 A 0 A_PlaySoundEx(\"weapon/blackholeexplode\",\"auto\")\n        TNT1 A 1\n    SpawnSpiral:\n        TNT1 A 0 A_SpawnItemEx(\"BlackHoleSpiral\", 0, 0, user_InFloor * (z-floorz), 1, 0, 0, user_part*(360/BLACKHOLE_PARTMAX))\n        TNT1 A 0 A_SetUserVar(user_part, user_part-1)\n        TNT1 A 0 A_JumpIf(user_part>0, \"SpawnSpiral\")\n        TNT1 A 1 A_JumpIf(true, \"End\")\n        wait\n    End:\n        TNT1 A 0\n        stop\n    }\n}\n\nactor BlackHoleCore\n{\n    +NOGRAVITY\n    +ISMONSTER\n    +NOTARGETSWITCH\n    +THRUACTORS\n    +FORCEXYBILLBOARD\n    +MOVEWITHSECTOR\n    +BRIGHT\n    height 1\n    radius 1\n    maxstepheight 0\n    renderstyle translucent\n    alpha 0.8\n    Scale 2.5\n    var int user_part;\n    var int user_partmax;\n    States\n    {\n    Spawn:\n        BHOL B 0\n        BHOL G 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_DEFAULT)\n        BHOL B 0 A_SetUserVar(user_partmax, 16)\n        BHOL B 0 A_SetUserVar(user_part, user_partmax)\n    SpawnParts:\n        BHOL B 0 A_SpawnItemEx(\"BlackHolePart\", 0, 0, 0, 0, 0, 0, user_part*(360/BLACKHOLE_PARTMAX), SXF_SETMASTER|SXF_TRANSFERPOINTERS)\n        BHOL B 0 A_SetUserVar(user_part, user_part-1)\n        BHOL B 0 A_JumpIf(user_part<=0, \"Active\")\n        BHOL B 1 A_JumpIf(true, \"SpawnParts\")\n        wait\n    Active:\n        BHOL BBBB 1 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        BHOL B 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0,\"End\")\n        BHOL CCCC 1 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        BHOL C 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0,\"End\")\n        BHOL DDDD 1 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        BHOL D 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0,\"End\")\n        BHOL EEEE 1 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        BHOL E 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0,\"End\")\n        BHOL FFFF 1 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        BHOL F 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0,\"End\")\n        loop\n    Detonate:\n        BHOL A 0 A_KillChildren\n        BHOL BCDEFBCDEFBCDEF 1\n        stop\n    End:\n        TNT1 A 0\n        stop\n    }\n}\n\nactor BlackHolePart\n{\n    +ISMONSTER\n    +NOCLIP\n    +NOGRAVITY\n    +DROPOFF\n    +MISSILE\n    +ACTIVATEIMPACT\n    +ACTIVATEPCROSS\n    +SHOOTABLE\n    +DONTREFLECT\n    +DONTSPLASH\n    +DONTBLAST\n    +DONTRIP\n    +INVULNERABLE\n    +NOBLOOD\n    +FORCEXYBILLBOARD\n    +MOVEWITHSECTOR\n    +NOTAUTOAIMED\n    +BRIGHT\n    painchance 255\n    maxstepheight 0\n    Scale 2.5\n    height 56\n    radius 38\n    var int user_radius;\n    var int user_angle;\n    var int user_angleadd;\n    var int user_expandtime;\n    States\n    {\n    Spawn:\n        BHOL G 0\n        BHOL G 0 A_SetUserVar(user_radius, 32)\n        BHOL G 0 A_SetUserVar(user_angleadd, 12)\n        BHOL G 0 A_SetUserVar(user_expandtime, 40)\n        BHOL G 0 A_SetUserVar(user_angle, angle)\n        goto Expand\n    SpawnLoop:\n        BHOL H 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\")==0,\"End\")\n        BHOL H 0 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        BHOL G 0 A_SetUserVar(user_angle, user_angle-user_angleadd)\n        BHOL G 1 A_Warp(AAPTR_MASTER, cos(-user_angle)*user_radius, sin(-user_angle)*user_radius, 0, 0, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        BHOL H 0 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        BHOL G 0 A_SetUserVar(user_angle, user_angle-user_angleadd)\n        BHOL G 1 A_Warp(AAPTR_MASTER, cos(-user_angle)*user_radius, sin(-user_angle)*user_radius, 0, 0, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        BHOL H 0 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        BHOL H 0 A_SetUserVar(user_angle, user_angle-user_angleadd)\n        BHOL H 1 A_Warp(AAPTR_MASTER, cos(-user_angle)*user_radius, sin(-user_angle)*user_radius, 0, 0, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        BHOL H 0 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        BHOL H 0 A_SetUserVar(user_angle, user_angle-user_angleadd)\n        BHOL H 1 A_Warp(AAPTR_MASTER, cos(-user_angle)*user_radius, sin(-user_angle)*user_radius, 0, 0, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        loop\n    Expand:\n        BHOL H 0 A_SetUserVar(user_angleadd, user_angleadd-((user_expandtime%4)%2))\n\t\tBHOL H 0 A_SetUserVar(user_radius, user_radius+4)\n\t\tBHOL H 0 A_SetUserVar(user_expandtime, user_expandtime-1)\n\t\tBHOL H 1\n\t\tBHOL H 0 A_SetUserVar(user_angle, user_angle-user_angleadd)\n\t\tBHOL H 0 A_Warp(AAPTR_MASTER, cos(-user_angle)*user_radius, sin(-user_angle)*user_radius, 0, 0, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tBHOL H 0 A_JumpIf(user_expandtime <= 0, \"SpawnLoop\")\n        BHOL H 0 A_JumpIfInTargetInventory(\"BlackHoleTrigger\", 1, \"Detonate\")\n        loop\n    Death:\n    Detonate:\n        BHOL H 0 A_SetUserVar(user_radius, user_radius-16)\n        BHOL H 1\n        BHOL H 0 A_SetUserVar(user_angle, user_angle-user_angleadd)\n        BHOL H 0 A_Warp(AAPTR_MASTER, cos(-user_angle)*user_radius, sin(-user_angle)*user_radius, 0, 0, WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n        BHOL H 0 A_JumpIf(user_radius <= 0, \"End\")\n        loop\n    End:\n        BHOL H 0\n        stop\n    }\n}\n\nactor BlackHoleSpiral\n{\n    PROJECTILE\n    +FORCEXYBILLBOARD\n    +BRIGHT\n    Radius 16\n    Height 10\n    scale 2.5\n    damage (20)\n    damagetype \"BlackHole\"\n    Obituary \"$OB_BLACKHOLE\"\n    speed 0\n    var int user_speed;\n    var int user_maxturn;\n    var int user_turndivisor;\n    var int user_turndivisor_add;\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_SetUserVar(\"user_speed\", 50)\n        TNT1 A 0 A_SetUserVar(\"user_maxturn\", 1500)\n        TNT1 A 0 A_SetUserVar(\"user_turndivisor\", 80)\n        TNT1 A 0 A_SetUserVar(\"user_turndivisor_add\", 10)\n    Spawn2:\n        TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n        BHOL Y 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n        TNT1 A 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n        TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n        BHOL Y 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n        TNT1 A 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n        TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n        BHOL Z 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n        TNT1 A 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n        TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)\n        BHOL Z 1 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE)\n        TNT1 A 0 A_SetUserVar(\"user_turndivisor\",user_turndivisor+user_turndivisor_add)\n        loop\n    Death:\n        POWS A 0\n        stop\n    }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/DeepDigger.txt",
        "contents": "actor DeepDiggerWep : BaseMM8BDMWep 10108\n{\n    //$Category MM8BDM-Weapons\n    //$Title Deep Digger\n    //$Sprite DDIGA0\n    Weapon.AmmoUse 2\n    Weapon.AmmoGive 28\n    Weapon.SlotNumber 2\n    Inventory.Pickupmessage \"$PU_DEEPDIGGER\"\n    Obituary \"$OB_DEEPDIGGER\"\n    Tag \"$TAG_DEEPDIGGER\"\n    weapon.ammotype \"DeepDiggerAmmo\"\n    inventory.icon \"DDIGWI\"\n    States\n    {\n    SpawnLoop:\n        DDIG A -1\n        loop\n    Ready:\n        DDIG D 0 ACS_ExecuteAlways(998,0,212)\n        DDIG D 1 A_WeaponReady\n        Goto Ready+1\n    Deselect:\n        DDIG D 0 A_JumpIfHealthLower(1, 3) // Don't throw rocks if you're dead\n        DDIG D 0 A_JumpIfInventory(\"DeepDiggerFlagL\", 1, \"Fire\")\n        DDIG D 0 A_JumpIfInventory(\"DeepDiggerFlagR\", 1, \"Fire\")\n        DDIG D 0 A_TakeInventory(\"DeepDiggerFlagL\", 1)\n        DDIG D 0 A_TakeInventory(\"DeepDiggerFlagR\", 1)\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n        DDIG D 1 A_Lower\n        goto Deselect+3\n    Select:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n        DDIG D 1 A_Raise\n        Loop\n    Altfire:\n        DDIG D 0 A_JumpIfInventory(\"DeepDiggerFlagL\", 1, \"CheckLeft\")\n        DDIG D 0 A_JumpIfInventory(\"DeepDiggerFlagR\", 1, \"CheckLeft\")\n        goto Fire\n    Fire:\n        DDIG D 0 A_JumpIfInventory(\"DeepDiggerFlagR\", 1, \"CheckRight\")\n        DDIG D 0 A_JumpIfInventory(\"DeepDiggerFlagL\", 1, \"CheckRight\")\n        DDIG D 0 A_JumpIfNoAmmo(\"NoAmmo\")\n        DDIG EZ 1\n        DDIG D 0 A_PlaySoundEx(\"weapon/deepdiggerdig\", \"weapon\")\n        DDIG D 0 A_GiveInventory(\"DeepDiggerFlagL\", 1)\n        DDIG D 0 A_GiveInventory(\"DeepDiggerFlagR\", 1)\n        DDIG A 0 SetPlayerProperty(0,1,0)\n        DDIG D 0 A_Stop\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\", 68,  17, 16)\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\", 60, -17, 16)\n        DDIG F 1\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\", 52,  16, 32)\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\", 44, -16, 32)\n        DDIG F 1\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\", 36,  15, 48)\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\", 28, -15, 48)\n        DDIG G 1\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\", 20,  13, 64)\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\", 12, -13, 64)\n        DDIG G 1\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\",  4,  10, 74)\n        DDIG A 0 A_SpawnItemEx(\"TempDeepDigger\", -4, -10, 74)\n        DDIG H 1\n        DDIG H 1 A_GiveInventory(\"SpawnTempDeepDigger\", 1)\n        DDIG D 0 SetPlayerProperty(0,0,0)\n        TNT1 AAAAAAAAAA 1 A_GiveInventory(\"SpawnTempDeepDigger\", 1)\n        goto Carry\n    Carry:\n        TNT1 A 0 A_GiveInventory(\"SpawnTempDeepDigger\", 1)\n        TNT1 A 1 A_WeaponReady\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagR\", 1, \"Carry\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagL\", 1, \"Carry\")\n        TNT1 A 0 A_JumpIf(true, \"FireEnd\")\n        loop\n\n    FireEnd:\n        TNT1 A 1 A_RailWait\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerAltFrames\", 1, \"FireEnd\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerMainFrames\", 1, \"FireEnd\")\n        TNT1 A 0 A_JumpIf(true, \"FireEndReal\")\n        loop\n    FireEndReal:\n        TNT1 A 10\n        DDIG OP 6\n        DDIG D 0 A_ClearRefire\n        Goto Ready+1\n\n    CheckRight:\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerMainFrames\", 1, \"FireLeft\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerAltFrames\", 1, \"FireRight\")\n        TNT1 A 0 A_GunFlash(\"FlashFireRight\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagR\", 1, \"RightWait\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagL\", 1, \"RightWait\")\n        TNT1 A 1 A_JumpIf(true, \"FireEnd\")\n        loop\n    RightWait:\n        TNT1 AAAAAA 1 A_GiveInventory(\"SpawnTempDeepDigger\", 1)\n        goto Carry\n    CheckLeft:\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerMainFrames\", 1, \"FireLeft\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerAltFrames\", 1, \"FireRight\")\n        TNT1 A 0 A_GunFlash(\"FlashFireLeft\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagR\", 1, \"LeftWait\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagL\", 1, \"LeftWait\")\n        TNT1 A 1 A_JumpIf(true, \"FireEnd\")\n        loop\n    LeftWait:\n        TNT1 AAAAAA 1 A_GiveInventory(\"SpawnTempDeepDigger\", 1)\n        goto Carry\n\n    FireLeft:\n        TNT1 A 0 A_PlaySoundEx(\"weapon/deepdiggerthrow\",\"Weapon\")\n        TNT1 A 0 A_FireCustomMissile(\"DeepDigger\",0,1,-10,4)\n        TNT1 A 0 A_GiveInventory(\"DeepDiggerTakeLeft\", 1)\n        DDIG QRSTUV 1 A_GiveInventory(\"SpawnTempDeepDigger\", 1)\n        goto FireEnd\n    FireRight:\n        TNT1 A 0 A_PlaySoundEx(\"weapon/deepdiggerthrow\",\"Weapon\")\n        TNT1 A 0 A_FireCustomMissile(\"DeepDigger\",0,1,10,-4)\n        TNT1 A 0 A_GiveInventory(\"DeepDiggerTakeRight\", 1)\n        DDIG IJKLMN 1 A_GiveInventory(\"SpawnTempDeepDigger\", 1)\n        goto FireEnd\n\n    FlashFireLeft:\n        DDIG F 0 A_PlaySoundEx(\"weapon/deepdiggerthrow\",\"Weapon\")\n        DDIG F 0 A_FireCustomMissile(\"DeepDigger\",0,1,-10,4)\n        DDIG F 0 A_GiveInventory(\"DeepDiggerTakeLeft\", 1)\n        DDIG QRSTUV 1\n        stop\n    FlashFireRight:\n        DDIG F 0 A_PlaySoundEx(\"weapon/deepdiggerthrow\",\"Weapon\")\n        DDIG F 0 A_FireCustomMissile(\"DeepDigger\",0,1,10,-4)\n        DDIG F 0 A_GiveInventory(\"DeepDiggerTakeRight\", 1)\n        DDIG IJKLMN 1\n        stop\n\n    NoAmmo:\n        DDIG D 1 ACS_Execute(979,0)\n        Goto Ready+1\n    }\n}\n\nactor TempDeepDigger\n{\n    +NOINTERACTION\n    +NOGRAVITY\n    +CLIENTSIDEONLY\n    +NOTIMEFREEZE\n    -SOLID\n    scale 2.5\n    height 0\n    radius 0\n    States\n    {\n    Spawn:\n        DDIG B 0\n        DDIG B 1\n        stop\n    }\n}\n\nactor SpawnTempDeepDigger : CustomInventory\n{\n    States\n    {\n    Pickup:\n        TNT1 A 0\n    CheckRight:\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagR\", 1, \"SpawnRight\")\n        goto CheckLeft\n    SpawnRight:\n        TNT1 A 0 A_GiveInventory(\"SpawnTempDeepDigger_PR\", 1)\n        goto CheckLeft\n    CheckLeft:\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagL\", 1, \"SpawnLeft\")\n        stop\n    SpawnLeft:\n        TNT1 A 0 A_GiveInventory(\"SpawnTempDeepDigger_PL\", 1)\n        stop\n    }\n}\n\nactor SpawnTempDeepDigger_PR : CustomInventory\n{\n    States\n    {\n    Pickup:\n        TNT1 A 0 A_SpawnItemEx(\"TempDeepDigger\", -1, 10, 56 + 16, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        stop\n    }\n}\n\nactor SpawnTempDeepDigger_PL : CustomInventory\n{\n    States\n    {\n    Pickup:\n        TNT1 A 0 A_SpawnItemEx(\"TempDeepDigger\", -9, -10, 56 + 16, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM)\n        stop\n    }\n}\n\nactor DeepDiggerTakeRight : CustomInventory\n{\n    States\n    {\n    Pickup:\n        TNT1 A 0\n        TNT1 A 0 A_GiveInventory(\"DeepDiggerMainFrames\", 1)\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagR\", 1, \"TakeRight\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagL\", 1, \"TakeLeft\")\n        TNT1 A 1 A_JumpIf(true, \"End\")\n        wait\n    TakeRight:\n        TNT1 A 0 A_TakeInventory(\"DeepDiggerFlagR\", 1)\n        goto End\n    TakeLeft:\n        TNT1 A 0 A_TakeInventory(\"DeepDiggerFlagL\", 1)\n        goto End\n    End:\n        TNT1 A 0\n        stop\n    }\n}\n\nactor DeepDiggerTakeLeft : DeepDiggerTakeRight\n{\n    States\n    {\n    Pickup:\n        TNT1 A 0\n        TNT1 A 0 A_GiveInventory(\"DeepDiggerAltFrames\", 1)\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagL\", 1, \"TakeLeft\")\n        TNT1 A 0 A_JumpIfInventory(\"DeepDiggerFlagR\", 1, \"TakeRight\")\n        TNT1 A 1 A_JumpIf(true, \"End\")\n        wait\n    }\n}\n\nactor DeepDiggerAltFrames : Powerup\n{\n    powerup.duration 12\n}\n\nactor DeepDiggerMainFrames : Powerup\n{\n    powerup.duration 12\n}\n\nactor DeepDiggerFlagL : Inventory\n{\n    inventory.amount 1\n    inventory.maxamount 2\n}\nactor DeepDiggerFlagR : DeepDiggerFlagL {}\n\nactor DeepDigger\n{\n    PROJECTILE\n    Radius 10\n    Height 10\n    scale 2.5\n    damage (34)\n    speed 40\n    damagetype \"DeepDigger\"\n    Obituary \"$OB_DEEPDIGGER\"\n    States\n    {\n    Spawn:\n        DDIG B 1\n        loop\n    XDeath:\n        DDIG B 0 A_PlaySoundEx(\"weapon/deepdiggerbreak\", \"auto\")\n        DDIG BBBB 0 A_SpawnItemEx(\"DeepDiggerBreakFX\",0,0,0,random(-10,10),random(-10,10),random(5,10),random(0,360))\n        TNT1 A 2\n        stop\n    Death:\n        DDIG B 0 A_PlaySoundEx(\"weapon/deepdiggerbreak\", \"auto\")\n        DDIG B 0 A_SpawnItemEx(\"DeepDiggerBit\", 0, 0, 0, 1, 0, 0,  67.5, SXF_MULTIPLYSPEED)\n        DDIG B 0 A_SpawnItemEx(\"DeepDiggerBit\", 0, 0, 0, 1, 0, 0,  22.5, SXF_MULTIPLYSPEED)\n        DDIG B 0 A_SpawnItemEx(\"DeepDiggerBit\", 0, 0, 0, 1, 0, 0, -22.5, SXF_MULTIPLYSPEED)\n        DDIG B 0 A_SpawnItemEx(\"DeepDiggerBit\", 0, 0, 0, 1, 0, 0, -67.5, SXF_MULTIPLYSPEED)\n        TNT1 A 2\n        stop\n    }\n}\n\nactor DeepDiggerBreakFX\n{\nPROJECTILE\ndamage 0\n+RIPPER\n-NOGRAVITY\n+CLIENTSIDEONLY\n-SOLID\nscale 2.5\n+HEXENBOUNCE\nHeight 2\nRadius 2\nStates\n{\nSpawn:\nDDIG C 2\nTNT1 A 2\nDDIG C 2\nTNT1 A 2\nDDIG C 2\nTNT1 A 2\nDDIG C 2\nTNT1 A 2\nDDIG C 2\nTNT1 A 2\nstop\n}\n}\n\nactor DeepDiggerBit\n{\n    PROJECTILE\n    +HEXENBOUNCE\n    bouncecount 2\n    Obituary \"$OB_DEEPDIGGER\"\n    damagetype \"DeepDigger\"\n    Radius 5\n    Height 5\n    scale 2.5\n    damage (10)\n    speed 40\n    States\n    {\n    Spawn:\n        DDIG C 1\n        DDIG C 0 A_ChangeFlag(HEXENBOUNCE, false)\n        DDIG C 1\n        wait\n    }\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/BreakDash.txt",
        "contents": "actor BreakDashWep : BaseMM8BDMWep\n{\ndropitem \"BreakDashWepCDropped\"\nWeapon.AmmoUse 4\nWeapon.AmmoGive 28\nWeapon.SlotNumber 4\nInventory.Pickupmessage \"$PU_BREAKDASH\"\nObituary \"$OB_BREAKDASH\"\nTag \"$TAG_BREAKDASH\"\nweapon.ammotype \"BreakDashAmmo\"\ninventory.icon \"MVICN_7\"\nStates\n{\nSpawn:\nCWV7 Z 1\nloop\nReady:\nCWV7 A 0 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH)\nCWV7 A 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nCWV7 A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nCWV7 A 1 A_Raise\nLoop\nFire:\nCWV7 A 0 A_JumpIfNoAmmo(\"Buster\")\nCWV7 A 0 A_PlaySoundEx(\"weapon/GameBoyFire\",\"Weapon\")\nCWV7 A 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\nCWV7 CB 3\nCWV7 A 2\nCWV7 A 0 A_Refire(\"FireH0\")\nGoto Ready+1\n\nAltfire:\nBuster:\nCWV7 A 0 A_PlaySoundEx(\"weapon/GameBoyFire\",\"Weapon\")\nCWV7 A 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\nCWV7 CB 3\nCWV7 A 2\nCWV7 A 0 A_JumpIfInventory(\"IsBot\",1,\"BotNoAmmo\")\nGoto Ready+1\n\nBotNoAmmo:\nCWV7 A 0 A_Jump(24,\"NoAmmo\")\nGoto Ready+1\nNoAmmo:\nCWV7 A 0 ACS_Execute(979,0)\nGoto Ready+1\n\nFireH0:\nCWV7 A 0 A_JumpIfInventory(\"WeaponCharge\",10,\"FireHSnd\")\nCWV7 A 1 A_GiveInventory(\"WeaponCharge_RC\",1)\nCWV7 A 0 A_Refire(\"FireH0\")\nCWV7 A 1 A_TakeInventory(\"WeaponCharge\",999)\nGoto Ready+1\n//14|12\nFireHSnd:\nCWV7 A 0 A_PlaySoundEx(\"weapon/MMV_Charge\",\"Weapon\")\nCWV7 A 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 A 0 A_Refire(\"FireH.a\")\nCWV7 A 0 A_CheckFloor(\"FireDashW\")\ngoto FireH.a\nFireH:\nCWV7 A 0 A_JumpIfInventory(\"WeaponCharge\",18,\"FireH2Snd\")\nCWV7 A 0 A_JumpIfInventory(\"WeaponCharge\",15,2)\nCWV7 A 0 A_JumpIfInventory(\"WeaponCharge\",14,\"FireHSnd\")\nCWV7 A 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 A 0 A_Refire(\"FireH.a\")\nCWV7 A 0 A_CheckFloor(\"FireDashW\")\ngoto FireH.a\nFireH.a:\nCWV7 D 0 A_GiveInventory(\"WeaponCharge_RC\",1)\nCWV7 D 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE1,5)\nCWV7 D 0 A_Refire(\"FireH.b\")\nCWV7 D 0 A_CheckFloor(\"FireDashW\")\ngoto FireH.b\nFireH.b:\nCWV7 E 0 A_JumpIfInventory(\"IsBot\",1,\"BotFireH\")\nCWV7 E 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE2,6)\nCWV7 E 0 A_Refire(\"FireH\")\nCWV7 E 0 A_CheckFloor(\"FireDashW\")\ngoto FireH\nBotFireH:\nCWV7 E 0 A_Jump(16,1)\ngoto FireH.b+1\nCWV7 E 0 A_CheckFloor(\"FireDash\")\ngoto FireH.b+1\n\nFlash.VChargeSnd:\nTNT1 A 6 A_PlaySoundEx(\"weapon/MMV_Charge\",\"Weapon\")\nTNT1 A 1 A_JumpIfInventory(\"WeaponCharge\",1,\"Flash.VChargeSnd\")\nstop\n\nFireH2Snd:\nCWV7 A 0 A_GunFlash(\"Flash.VChargeSnd\",GFF_NOEXTCHANGE)\nCWV7 A 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 A 0 A_Refire(\"FireH2.a\")\nCWV7 A 0 A_CheckFloor(\"FireDash\")\ngoto FireH2.a\n\nFireH2:\nCWV7 A 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 A 0 A_Refire(\"FireH2.a\")\nCWV7 A 0 A_CheckFloor(\"FireDash\")\ngoto FireH_2.a\nFireH2.a:\nCWV7 F 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 F 0 A_Refire(\"FireH2.b\")\nCWV7 F 0 A_CheckFloor(\"FireDash\")\ngoto FireH_2.b\nFireH2.b:\nCWV7 G 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 G 0 A_Refire(\"FireH2.c\")\nCWV7 G 0 A_CheckFloor(\"FireDash\")\ngoto FireH_2.c\nFireH2.c:\nCWV7 H 0 A_JumpIfInventory(\"IsBot\",1,\"BotFireH2\")\nCWV7 H 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 H 0 A_Refire(\"FireH2\")\nCWV7 H 0 A_CheckFloor(\"FireDash\")\ngoto FireH_2\nBotFireH2:\nCWV7 H 0 A_Jump(24,1)\ngoto FireH2.c+1\nCWV7 H 0 A_CheckFloor(\"FireDash\")\ngoto FireH2.c+1\n\nFireH_2:\nCWV7 A 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 A 0 A_Refire(\"FirePewH2\")\nCWV7 A 0 A_CheckFloor(\"FireDash\")\ngoto FireH_2.a\nFireH_2.a:\nCWV7 F 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 F 0 A_Refire(\"FirePewH3\")\nCWV7 F 0 A_CheckFloor(\"FireDash\")\ngoto FireH_2.b\nFireH_2.b:\nCWV7 G 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 G 0 A_Refire(\"FirePewH4\")\nCWV7 G 0 A_CheckFloor(\"FireDash\")\ngoto FireH_2.c\nFireH_2.c:\nCWV7 H 0 A_JumpIfInventory(\"IsBot\",1,\"BotFireH_2\")\nCWV7 H 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 H 0 A_Refire(\"FirePewH1\")\nCWV7 H 0 A_CheckFloor(\"FireDash\")\ngoto FireH_2\nBotFireH_2:\nCWV7 H 0 A_Jump(24,1)\ngoto FireH_2.c+1\nCWV7 H 0 A_CheckFloor(\"FireDash\")\ngoto FireH_2.c+1\n\nFirePewH1:\nCWV7 C 0 A_PlaySoundEx(\"weapon/GameBoyFire\",\"Body\")\nCWV7 C 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\nCWV7 C 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 C 0 A_Refire(2)\nCWV7 C 0 A_CheckFloor(\"FireDash\")\nCWV7 L 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 L 0 A_Refire(2)\nCWV7 L 0 A_CheckFloor(\"FireDash\")\nCWV7 M 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 M 0 A_Refire(2)\nCWV7 M 0 A_CheckFloor(\"FireDash\")\nCWV7 K 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 K 0 A_Refire(2)\nCWV7 K 0 A_CheckFloor(\"FireDash\")\nCWV7 B 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 B 0 A_Refire(2)\nCWV7 B 0 A_CheckFloor(\"FireDash\")\nCWV7 I 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 I 0 A_Refire(2)\nCWV7 I 0 A_CheckFloor(\"FireDash\")\nCWV7 G 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 G 0 A_Refire(2)\nCWV7 G 0 A_CheckFloor(\"FireDash\")\nCWV7 H 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 H 0 A_Refire(\"FireH2\")\nCWV7 G 0 A_CheckFloor(\"FireDash\")\nGoto FireH_2\n\nFirePewH2:\nCWV7 C 0 A_PlaySoundEx(\"weapon/GameBoyFire\",\"Body\")\nCWV7 C 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\nCWV7 L 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 L 0 A_Refire(2)\nCWV7 L 0 A_CheckFloor(\"FireDash\")\nCWV7 M 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 M 0 A_Refire(2)\nCWV7 M 0 A_CheckFloor(\"FireDash\")\nCWV7 N 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 N 0 A_Refire(2)\nCWV7 N 0 A_CheckFloor(\"FireDash\")\nCWV7 B 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 B 0 A_Refire(2)\nCWV7 B 0 A_CheckFloor(\"FireDash\")\nCWV7 I 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 I 0 A_Refire(2)\nCWV7 I 0 A_CheckFloor(\"FireDash\")\nCWV7 J 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 J 0 A_Refire(2)\nCWV7 J 0 A_CheckFloor(\"FireDash\")\nCWV7 H 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 H 0 A_Refire(2)\nCWV7 H 0 A_CheckFloor(\"FireDash\")\nCWV7 A 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 A 0 A_Refire(\"FireH2.a\")\nCWV7 A 0 A_CheckFloor(\"FireDash\")\nGoto FireH_2.a\n\nFirePewH3:\nCWV7 C 0 A_PlaySoundEx(\"weapon/GameBoyFire\",\"Body\")\nCWV7 C 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\nCWV7 M 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 M 0 A_Refire(2)\nCWV7 M 0 A_CheckFloor(\"FireDash\")\nCWV7 N 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 N 0 A_Refire(2)\nCWV7 N 0 A_CheckFloor(\"FireDash\")\nCWV7 C 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 C 0 A_Refire(2)\nCWV7 C 0 A_CheckFloor(\"FireDash\")\nCWV7 I 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 I 0 A_Refire(2)\nCWV7 I 0 A_CheckFloor(\"FireDash\")\nCWV7 J 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 J 0 A_Refire(2)\nCWV7 J 0 A_CheckFloor(\"FireDash\")\nCWV7 K 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 K 0 A_Refire(2)\nCWV7 K 0 A_CheckFloor(\"FireDash\")\nCWV7 A 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 A 0 A_Refire(2)\nCWV7 A 0 A_CheckFloor(\"FireDash\")\nCWV7 F 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 F 0 A_Refire(\"FireH2.b\")\nCWV7 F 0 A_CheckFloor(\"FireDash\")\nGoto FireH_2.b\n\nFirePewH4:\nCWV7 C 0 A_PlaySoundEx(\"weapon/GameBoyFire\",\"Body\")\nCWV7 C 0 A_FireCustomMissile(\"MegaShot\",0,0,8,0)\nCWV7 N 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 N 0 A_Refire(2)\nCWV7 N 0 A_CheckFloor(\"FireDash\")\nCWV7 C 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 C 0 A_Refire(2)\nCWV7 C 0 A_CheckFloor(\"FireDash\")\nCWV7 L 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 L 0 A_Refire(2)\nCWV7 L 0 A_CheckFloor(\"FireDash\")\nCWV7 J 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 J 0 A_Refire(2)\nCWV7 J 0 A_CheckFloor(\"FireDash\")\nCWV7 K 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE5,7)\nCWV7 K 0 A_Refire(2)\nCWV7 K 0 A_CheckFloor(\"FireDash\")\nCWV7 B 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 B 0 A_Refire(2)\nCWV7 B 0 A_CheckFloor(\"FireDash\")\nCWV7 F 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE3,5)\nCWV7 F 0 A_Refire(2)\nCWV7 F 0 A_CheckFloor(\"FireDash\")\nCWV7 G 1 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASHCHARGE4,6)\nCWV7 G 0 A_Refire(\"FireH2.c\")\nCWV7 G 0 A_CheckFloor(\"FireDash\")\nGoto FireH_2.c\n\nFlash.BreakDashSnd:\nTNT1 A 0 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")\nTNT1 A 5 A_PlaySoundEx(\"weapon/plutobreakdash\",\"Weapon\")\nloop\n\nFireDashW:\nCWV7 O 0 A_ChangeVelocity(28,0,0,3)\nCWV7 O 0 A_SetArg(3,momy)\nCWV7 O 0 A_SetArg(2,momx)\nCWV7 O 0 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 O 0 A_GunFlash(\"Flash.BreakDashSnd\",GFF_NOEXTCHANGE)\nCWV7 O 0 A_SpawnItemEx(\"BreakDashFX\",2,16,32,0,0,0,angle,4)\nCWV7 O 1 A_GiveInventory(\"BreakDashFireStartW_P\",1)\nCWV7 O 0 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 O 0 A_CheckFloor(\"FireDashW_L\")\ngoto FireDashEnd\nFireDashW_L:\nCWV7 O 0 A_JumpIfInventory(\"BreakDashFlag\",9,\"FireDashEnd\")\nCWV7 O 0 A_GiveInventory(\"BreakDashFlag\",1)\nCWV7 O 1 A_GiveInventory(\"BreakDashFire_P\",1)\nCWV7 O 0 A_CheckFloor(\"FireDashW_L\")\ngoto FireDashEnd\nFireDash:\nCWV7 O 0 A_ChangeVelocity(28,0,0,3)\nCWV7 O 0 A_SetArg(3,momy)\nCWV7 O 0 A_SetArg(2,momx)\nCWV7 O 0 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 O 0 A_GunFlash(\"Flash.BreakDashSnd\",GFF_NOEXTCHANGE)\nCWV7 O 0 A_SpawnItemEx(\"BreakDashFX\",2,16,32,0,0,0,angle,4)\nCWV7 O 1 A_GiveInventory(\"BreakDashFireStart_P\",1)\nCWV7 O 0 ACS_ExecuteAlways(998,0,DYE_CBM_BREAKDASH,1)\nCWV7 O 0 A_CheckFloor(\"FireDash_L2\")\nGoto FireDashEnd\nFireDash_L:\nCWV7 O 0 A_JumpIfInventory(\"BreakDashFlag\",19,\"FireDashEnd\")\nCWV7 O 0 A_GiveInventory(\"BreakDashFlag\",1)\nCWV7 O 1 A_GiveInventory(\"BreakDashFire_P\",1)\nCWV7 O 0 A_CheckFloor(\"FireDash_L2\")\ngoto FireDashEnd\nFireDash_L2:\nCWV7 P 0 A_JumpIfInventory(\"BreakDashFlag\",19,\"FireDashEnd\")\nCWV7 P 0 A_GiveInventory(\"BreakDashFlag\",1)\nCWV7 P 1 A_GiveInventory(\"BreakDashFire_P\",1)\nCWV7 P 0 A_CheckFloor(\"FireDash_L\")\ngoto FireDashEnd\n\nFireDashEnd:\nCWV7 O 0 A_GunFlash(\"NoFlash\",GFF_NOEXTCHANGE)\nCWV7 O 2 OffSet(2,52)A_GiveInventory(\"BreakDashFireEnd_P\",1)\nCWV7 O 2 OffSet(4,72)A_TakeInventory(\"BreakDashFlag\",999)\nTNT1 A 2 A_TakeInventory(\"WeaponCharge\",999)\nCWV7 A 2 OffSet(4,72)\nCWV7 A 2 OffSet(2,52)\nCWV7 A 0 A_WeaponReady(14)\nCWV7 A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nCWV7 A 0 A_Refire(\"FireH0\")\nGoto Ready+1\n\n}\n}\n\nactor BreakDashFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 20\n}\n\nactor PowerBreakDashInvulnerable : PowerProtection\n{\nPowerup.Duration 35\nDamageFactor \"Normal\", 0.0\n}\n\nactor BreakDashProtect : PowerProtection\n{\nPowerup.Duration 7\nDamageFactor \"BreakDash\", 0.085\n}\n\nactor BreakDashFire_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_FireCustomMissile(\"BreakDash\",0,0,0,0)\nTNT1 A 0 A_SpawnItemEx(\"BreakDashFX3_H\",0,0,0,0,0,0,args[4],4)\nTNT1 A 0 A_ChangeVelocity(args[2],args[3],momz,CVF_REPLACE)\nstop\n}\n}\nactor BreakDashFireStart_P : BreakDashFire_P\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"PowerBreakDashInvulnerable\",1)\nTNT1 A 0 A_GiveInventory(\"IsInvunFlag\",1)\nTNT1 A 0 A_TakeInventory(\"UnSolid\",99)\nTNT1 A 0 A_ChangeFlag(\"SOLID\",0)\nTNT1 A 0 A_ChangeFlag(\"THRUSPECIES\",1)\nTNT1 A 0 A_FireCustomMissile(\"BreakDash\",0,1,0,0)\ngoto Super::Pickup+1\n}\n}\nactor BreakDashFireStartW_P : BreakDashFireStart_P\n{\nStates\n{\nPickup:\ngoto Super::Pickup+2\n}\n}\nactor BreakDashFireEnd_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"PowerBreakDashInvulnerable\",9)\nTNT1 A 0 A_TakeInventory(\"IsInvunFlag\",9)\nTNT1 A 0 A_TakeInventory(\"BreakDashFlag\",999)\nTNT1 A 0 A_TakeInventory(\"WeaponCharge\",999)\n\nTNT1 A 0 A_SpawnItemEx(\"ReSolidifier\")\nTNT1 A 0 A_ChangeFlag(\"THRUSPECIES\",0)\nstop\n}\n}\n\nactor BreakDash : BasicExplosion\n{\ndamagetype \"BreakDash\"\nObituary \"$OB_BREAKDASH\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_Explode(22,56,0,0,56)\nTNT1 A 4\nstop\n}\n}\n\nactor BreakDashFX3_H : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"BreakDashFX3\",0,0,0)\nTNT1 A 2\nstop\n}\n}\n\nactor BreakDashFX : BasicClientSide\n{\nTranslation \"192:192=4:4\",\"198:198=63:63\"\nStates\n{\nSpawn:\nX_VH A 0\nX_VH A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,\"Death\")\nX_VH A 1 A_Warp(2,16,10,32,angle,26)\nX_VH A 0 A_CheckFlag(\"THRUSPECIES\",1,2)\nstop\nSpawn2:\nX_VH A 1 A_Warp(2,16,10,32,angle,26)\nX_VH A 0 A_CheckFlag(\"THRUSPECIES\",1,2)\nstop\nSpawn3:\nX_VH B 1 A_Warp(2,16,10,32,angle,26)\nX_VH B 0 A_CheckFlag(\"THRUSPECIES\",1,2)\nstop\nSpawn4:\nX_VH B 1 A_Warp(2,16,10,32,angle,26)\nX_VH B 0 A_CheckFlag(\"THRUSPECIES\",\"Spawn\",2)\nstop\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor BreakDashFX3 : BreakDashFX\n{\nStates\n{\nSpawn:\nX_VH C 0\nX_VH CDE 2\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Wep/CopyWep/CBM_CopyWep/Core/SaltWater.txt",
        "contents": "actor SaltWaterWep : BaseMM8BDMWep 10110\n{\n    //$Category MM8BDM-Weapons\n    //$Title Salt Water\n    //$Sprite SWATA0\n    Weapon.AmmoUse 2\n    Weapon.AmmoGive 28\n    Weapon.SlotNumber 4\n    Obituary \"$OB_SALTWATER\"\n    Tag \"$TAG_SALTWATER\"\n    Inventory.Pickupmessage \"$PU_SALTWATER\"\n    weapon.ammotype \"SaltWaterAmmo\"\n    inventory.icon \"SWATWI\"\n    States\n    {\n    SpawnLoop:\n        SWAT A -1\n        loop\n    Ready:\n        SWAT J 0 ACS_ExecuteAlways(998,0,209)\n        SWAT J 1 A_WeaponReady\n        Goto Ready+1\n    Deselect:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n        SWAT J 1 A_Lower\n        Loop\n    Select:\n        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n        SWAT J 1 A_Raise\n        Loop\n    Fire:\n        SWAT J 0 A_JumpIfNoAmmo(\"NoAmmo\")\n        TNT1 A 1\n        SWAT MN 1\n        SWAT J 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\n        SWAT J 0 A_FireCustomMissile(\"SaltWater\",0,1,8,0)\n        SWAT OPQR 1\n        TNT1 A 13\n        TNT1 A 0 A_JumpIfNoAmmo(\"NoAmmoReady\")\n        SWAT LK 2 A_Refire\n        Goto Ready+1\n    NoAmmoReady:\n        SWAT LK 2\n        Goto Ready+1\n    NoAmmo:\n        SWAT J 1 ACS_Execute(979,0)\n        Goto Ready+1\n    }\n}\n\nactor SaltWater\n{\n    PROJECTILE\n    +FORCEXYBILLBOARD\n    +BOUNCEONCEILINGS\n    +USEBOUNCESTATE\n    -NOGRAVITY\n    Damage (33)\n    Obituary \"$OB_SALTWATER\"\n    damagetype \"SaltWater\"\n    gravity 1.2\n    Speed 24\n    Height 10\n    Radius 10\n    Scale 2.5\n    States\n    {\n    Spawn:\n        SWAT B 0\n        SWAT B 0 ThrustThingZ(0, 30, 0, 1)\n        SWAT B 1\n        wait\n    Bounce.Ceiling:\n        SWAT B 0 A_ChangeFlag(USEBOUNCESTATE, false)\n        SWAT B 0 A_ChangeFlag(BOUNCEONCEILINGS, false)\n        SWAT B 0 A_ChangeVelocity(momx, momy, momz-1, CVF_REPLACE)\n        goto Spawn+2\n    Death:\n        TNT1 A 0 A_SpawnItemEx(\"SaltWaterBit\", 0, 0, 0, 0.8, 0, 0.5,  12, SXF_MULTIPLYSPEED)\n        TNT1 A 0 A_SpawnItemEx(\"SaltWaterBit\", 0, 0, 0, 0.9, 0, 0.5,   6, SXF_MULTIPLYSPEED)\n        TNT1 A 0 A_SpawnItemEx(\"SaltWaterBit\", 0, 0, 0, 1.0, 0, 0.5,   0, SXF_MULTIPLYSPEED)\n        TNT1 A 0 A_SpawnItemEx(\"SaltWaterBit\", 0, 0, 0, 0.9, 0, 0.5,  -6, SXF_MULTIPLYSPEED)\n        TNT1 A 0 A_SpawnItemEx(\"SaltWaterBit\", 0, 0, 0, 0.8, 0, 0.5, -12, SXF_MULTIPLYSPEED)\n        TNT1 A 0 A_JumpIf(z-floorz < 4, \"FloorSplash\")\n        TNT1 A 0 A_JumpIf(true, \"WallSplash\")\n        TNT1 A 1\n        wait\n    WallSplash:\n        TNT1 A 0 A_SpawnItemEx(\"SaltWaterWallSplash\")\n        stop\n    FloorSplash:\n        TNT1 A 0 A_SpawnItemEx(\"SaltWaterSplash\")\n        stop\n    XDeath:\n        TNT1 AAAAA 0 A_SpawnItemEx(\"SaltWaterBitDie\", frandom(-32, 32), frandom(-32, 32), frandom(-32, 32))\n        stop\n    }\n}\n\nactor SaltWaterSplash\n{\n    +NOINTERACTION\n    +NOGRAVITY\n    +CLIENTSIDEONLY\n    -SOLID\n    scale 2.5\n    height 0\n    radius 0\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_PlaySoundEx(\"weapon/saltwatersplash\", \"body\")\n        SWAT CDE 4\n        stop\n    }\n}\n\nactor SaltWaterWallSplash\n{\n    +NOINTERACTION\n    +NOGRAVITY\n    +CLIENTSIDEONLY\n    -SOLID\n    scale 2.5\n    height 0\n    radius 0\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_PlaySoundEx(\"weapon/saltwatersplash\", \"body\")\n        SWAT ST 4\n        stop\n    }\n}\n\nactor SaltWaterBit\n{\n    PROJECTILE\n    +FORCEXYBILLBOARD\n    -NOGRAVITY\n    +HEXENBOUNCE\n    Obituary \"$OB_SALTWATER\"\n    damagetype \"SaltWater\"\n    bouncecount 2\n    Damage (11)\n    Speed 20\n    Height 10\n    Radius 10\n    Scale 2.5\n    States\n    {\n    Spawn:\n        SWAT F 1\n        SWAT F 0 A_ChangeFlag(HEXENBOUNCE, false)\n        SWAT F 1\n        wait\n    Death:\n        TNT1 A 0 A_SpawnItemEx(\"SaltWaterBitDie\")\n        stop\n    }\n}\n\nactor SaltWaterBitDie : SaltWaterSplash\n{\n    +FORCEXYBILLBOARD\n    States\n    {\n    Spawn:\n        TNT1 A 0\n        TNT1 A 0 A_PlaySoundEx(\"weapon/saltwaterbit\", \"body\")\n        SWAT GHI 3\n        stop\n    }\n}"
      }
    ]
  },
  "maps": []
}

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