Counts

endoom0
graphics0
lumps4464
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "02e91180-91de-4a54-8d80-378d142e6373",
    "sha1": "e0a3cf51273158778ba870bd9a7be62ab25692b4",
    "sha256": "ca79a07a243ac1063ae50d1a88edd9c40ddd5a1fb37c0b8adaa41a1dcf16f65a",
    "filenames": [
      "gondola2.4.2testfilebutblessedbyodinsneobussy.pk3"
    ],
    "additional": {
      "engines": [],
      "iwad": [],
      "filename": null,
      "added": "2021/12/04 00:58:52",
      "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/12/04 00:58:52",
    "file": {
      "type": "PK3",
      "size": 7241196,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/e0a3cf51273158778ba870bd9a7be62ab25692b4/e0a3cf51273158778ba870bd9a7be62ab25692b4.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 4464,
        "maps": 0,
        "palettes": 0
      }
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "acs/acs.txt",
        "contents": "# acs"
      },
      {
        "source": "pk3",
        "name": "actors/Bonus/BearerClass.txt",
        "contents": "actor BearerClass : HardClassBase\n{\nPlayer.ScoreIcon \"C_00X0X\"\nplayer.startitem \"HardHealthBar\"\nplayer.displayname \"BearerClass\"\nplayer.soundclass \"BearerClassC\"\n\nplayer.startitem \"WildBearBoss\"\nplayer.startitem \"MaximumBearAmmo\",3\nplayer.startitem \"BearerFlag\"\nplayer.startitem \"CanUseItems\"\nplayer.startitem \"SemiStunArmor\"\n\nplayer.forwardmove 0.60, 0.60\nplayer.sidemove 0.58, 0.58\n\n+NOSKIN\nplayer.morphweapon \"WildBearBoss\"\nPainSound \"misc/ROCKHURTX\"\n\nStates\n{\nSpawn:\nR2GD A 0\nR2GD B 1\nR2GD A 1\nGoto Spawn+2\nSee:\nR2GD BCDC 5\nGoto Spawn\nMissile:\nR2GD FG 5\ngoto Spawn+2\n\nCustomState1:\nR2GD FG 5\ngoto Spawn+2\n\nCustomState2:\nR2GH MNOP 3 A_JumpIfInventory(\"BomuEnd\",1,\"Spawn\")\nloop\n\nClassPain:\nR2GD H 0\nR2GD H 0 A_Pain\n//R2GD H 0 A_PlaySoundEX(\"misc/GBPAINX\",\"Voice\")\nR2GD H 0 A_GiveInventory(\"IsInPain\",1)\nR2GD HHHHHHHHHH 2 A_SpawnItemEx(\"PainFX_CBM\",-5,0,3,0,0,0)\nR2GD H 1\nR2GD H 0 A_Jump(256,\"Spawn\")\nR2GD H 1 A_Jump(256,\"Spawn\")\nGoto Spawn+2\n\nDeathFix:\nR2GD H 0 A_GiveInventory(\"SpecialDeathFlag\",1)\ngoto DeathContinue\n\nClassDeath:\nR2GD H 0 A_JumpIfInventory(\"InstagibFlag\",1,\"MegaDeathEnd\")\nR2GD H 0 A_JumpIfInventory(\"RiseDeathFlag\",1,\"RiseDeath\")\nR2GD H 0 A_JumpIfInventory(\"IceDeathFlag\",1,\"IceDeath\")\nR2GD H 19\ngoto MegaDeathEnd\n\nRiseDeath:\nR2GD H 1 ThrustThingZ(0,21,0,1)\nR2GD H 0 A_JumpIf(ceilingz-z<64,\"MegaDeathEnd\")\nR2GD H 0 A_GiveInventory(\"RiseDeathFlag2\",1)\nR2GD H 0 A_JumpIfInventory(\"RiseDeathFlag2\",25,\"MegaDeathEnd\")\nGoto RiseDeath\nIceDeath:\nR2GD H 0 ACS_ExecuteAlways(998,0,DYE_ICEDEATHCBM,10)\nR2GD H 1 A_PlaySoundEx(\"CBM/freeze\",\"Voice\")\nR2GD HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_SpawnItemEx(\"FrozenDeathBitFX\",frandom(16,48),0,fRandom(16,48),0,0,0,random(0,359))\nR2GD H 0 A_PlaySoundEx(\"CBM/icebreak\",\"Body\")\nR2GD H 0 A_SpawnItemEx(\"FrozenDeathFXC\",0,0,0)\ngoto DeathWait\n\n//Have to hard code because morphes break the rules\n//\nTimeStopped:\nR2GD \"]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\" 1 A_Stop\nGoto Pain+2\nTimeStoppedX:\nR2GD \"####################################################\" 1 A_Stop\nGoto Pain+2\n\nPain.LightRyuStop:\nR2GD H 0 A_SpawnItemEx(\"PainLightRyuStopHit\")\nR2GD H 0 A_GiveInventory(\"LightRyuStopProtect\",1)\nR2GD H 0 A_GiveInventory(\"TimeStoppedTF\",1)\nR2GD HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_Stop\nGoto Pain+2\n}\n}\n\nactor WildBearBoss : BaseMM8BDMWep_CBM\n{\ndropitem \"ConfettiDeathSpawner\"\ndropitem \"CopyClassUpgradeDropped\"\nTag \"$TAGC_BEAR\"\nWeapon.AmmoUse 0\nWeapon.AmmoGive 3\nObituary \"$OB_BEARCLOSE\"\nweapon.ammotype \"MaximumBearAmmo\"\nStates\n{\nSpawn:\nC_00 X 1\nloop\nReady:\nR2GH A 0 ACS_ExecuteAlways(998,0,DYE_YELLOWDEVIL)\nReady1:\nR2GH A 10 A_WeaponReady//(WRF_ALLOWRELOAD)\nR2GH A 0 A_JumpIfInventory(\"BomuHeal\",1,\"Heal\")\nloop\n\nHeal:\nR2GH A 0 HealThing(1)\nR2GH A 0 A_TakeInventory(\"BomuHeal\",1)\nR2GH A 2 A_WeaponReady//(WRF_ALLOWRELOAD)\ngoto Ready1+1\n\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nR2GH A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nR2GH A 1 A_Raise\nLoop\n\nFire:\nR2GH A 0 A_GiveInventory(\"WildBearMain_CI\",1)\nR2GH A 0 A_PlaySoundEx(\"wep/YD_Punch\",\"Weapon\")\nR2GH A 0 ACS_NamedExecute(\"BULL_SetState\",0,1)\nR2GH B 2 Offset(-28,14)\nR2GH BBBB 2 Offset(-56,-4)\nR2GH B 2 Offset(-56,-4)\nR2GH B 2 Offset(-56,-4)\nR2GH B 2 Offset(-32,8)\nR2GH A 2 Offset(-12,20)\nR2GH A 2 A_WeaponReady(14)\nGoto Ready1\n\nAltfire:\nR2GH C 0\nR2GH A 1 Offset(8,26)\nR2GH E 1 Offset(8,26)\nR2GH E 1 Offset(20,16)\nR2GH E 1 Offset(28,8)\nR2GH C 0 A_Refire(\"AltfireCharge\")\nAltfire2:\nR2GH C 0 A_TakeInventory(\"BomuCharge\", 50)\nR2GH C 0 A_PlaySoundEx(\"wep/YD_Toss\",\"weapon\")\nR2GH C 0 A_GiveInventory(\"WildBearAltA_CI\",1)\nR2GH C 0 A_GiveInventory(\"WildBearAltB_CI\",1)\nR2GH C 10 Offset(40,0)\nR2GH C 2 Offset(36,4)\nR2GH C 1 Offset(32,8)\nR2GH A 2 Offset(-4,32)\nR2GH A 7 Offset(-8,36)\nR2GH A 1 Offset(-6,35)\nR2GH A 1 Offset(-4,34)\nR2GH A 1 Offset(-2,33)\nGoto Ready1\n\nAltfireCharge:\nR2GH C 0 A_JumpIfInventory(\"BomuCharge\",50,\"AltfireCharged\")\nR2GH E 2 Offset(28,8) A_GiveInventory(\"BomuCharge\")\nR2GH C 0 A_Refire(\"AltfireCharge\")\nGoto Altfire2\n\nAltfireCharged:\nR2GH D 1 Offset(32,12)\nAltfireCharged2:\nR2GH C 0 A_PlaySoundEx(\"weapon/bumobrr\",\"weapon\")\nR2GH C 2 Offset(30,6)\nR2GH C 2 Offset(28,8)\nR2GH E 1 A_Refire(\"AltfireCharged2\")\nR2GH C 0 A_TakeInventory(\"BomuCharge\", 50)\nR2GH C 0 A_TakeInventory(\"BomuEnd\",3)\nR2GH C 0 A_PlaySoundEx(\"wep/YD_Toss\",\"weapon\")\nR2GH C 0 ACS_NamedExecute(\"BULL_SetState\",0,2)\nR2GH C 0 A_GiveInventory(\"WildBearAlt2_CI\",1)\nR2GH C 0 A_ChangeFlag(\"NOTELEPORT\",1)\nR2GH C 0 A_ChangeFlag(\"SOLID\",0)\nR2GH C 0 A_TakeInventory(\"UnSolid\",1)\nR2GH C 0 A_Changeflag(\"PICKUP\",0)\n//R2GH C 0 A_ChangeFlag(\"INVISIBLE\",1)\nR2GH E 2 Offset(28,8)\nR2GH E 2 Offset(20,8)\nR2GH E 0 ACS_NamedExecuteAlways(\"CCBM_DevilHealthDrainer\",0)\nAltfireLoop:\nR2GH E 0 A_SpawnItemEx(\"BearerChargedDamager\",0,0,8,momx,momy,momz,0,8,0)\nR2GH E 1 Offset(12,17)\nR2GH E 0 A_JumpIfInventory(\"BomuEnd\",1,\"AltfireEnd\")\nR2GH E 0 //DamageThing(2)\nR2GH E 0 //A_GiveInventory(\"BomuHeal\",1)\nloop\n\nAltfireEnd:\n//R2GH E 0 A_ChangeFlag(\"INVISIBLE\",0)\nR2GH E 0 A_ChangeFlag(\"PICKUP\",1)\nR2GH E 0 A_ChangeFlag(\"NOTELEPORT\",0)\nR2GH E 0 A_SpawnItemEx(\"ReSolidifier\")\nR2GH E 0 A_PlaySoundEx(\"wep/YD_Sploosh\",\"Weapon\")\nR2GH E 0 A_CheckCeiling(\"AltfireEndCeiling\")\nR2GH E 0 A_SpawnItemEx(\"YD_BearerCubeBit\",4,0,12,8,0,10,0,1)\nR2GH E 0 A_SpawnItemEx(\"YD_BearerCubeBit\",4,0,12,8,0,10,90,1)\nR2GH E 0 A_SpawnItemEx(\"YD_BearerCubeBit\",4,0,12,8,0,10,180,1)\nR2GH E 0 A_SpawnItemEx(\"YD_BearerCubeBit\",4,0,12,8,0,10,270,1)\nAltfireEnd2:\nR2GH E 1 Offset(12,17)\nR2GH E 1 Offset(2,27)\nR2GH E 18 Offset(-10,37)\nR2GH A 1 Offset(-8,36)\nR2GH A 1 Offset(-6,35)\nR2GH A 1 Offset(-4,34)\nR2GH A 1 Offset(-2,33)\nGoto Ready1\n\nAltfireEndCeiling:\nTNT1 A 0 A_SpawnItemEx(\"YD_BearerCubeBit\",4,0,12,8,0,-10,0,1)\nTNT1 A 0 A_SpawnItemEx(\"YD_BearerCubeBit\",4,0,12,8,0,-10,90,1)\nTNT1 A 0 A_SpawnItemEx(\"YD_BearerCubeBit\",4,0,12,8,0,-10,180,1)\nTNT1 A 0 A_SpawnItemEx(\"YD_BearerCubeBit\",4,0,12,8,0,-10,270,1)\nGoto AltfireEnd2\n}\n}\n\nactor MaximumBearAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 3\n+INVENTORY.IGNORESKILL\n}\n\nactor BearerFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor BomuCharge : Inventory\n{\ninventory.amount 1\ninventory.maxamount 50\n}\n\nactor BomuHeal : Inventory\n{\ninventory.amount 1\ninventory.maxamount 200\n}\n\nactor BomuEnd : Inventory\n{\ninventory.amount 1\ninventory.maxamount 3\n}\n\n//I present, a far less bad version of the original very loopy cheese protection.\nactor CheeseProtectionHelper : CustomInventory\n{\n\tStates\n\t{\n\t\tPickup:\n\t\tTNT1 A 0 A_SpawnItemEx(\"CheeseProtectionGiver\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"CheeseProtectionTaker\")\n\t\tstop\n\t}\n}\n\nactor CheeseProtectionGiver : BasicHelper\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_GiveToTarget(\"InvulnerableOn_Pickup\")\n\t\tstop\n\t}\n}\n\nactor CheeseProtectionTaker : BasicHelper\n{\n\tStates\n\t{\n\t\tSpawn:\n\t\tTNT1 A 50\n\t\tTNT1 A 0 A_GiveToTarget(\"InvulnerableOff_Pickup\")\n\t\tstop\n\t}\n}\n\nactor BearerMorphStart_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 //LightTeamFlag//ACS handles TeamFlags/FlagPickups\n\nTNT1 A 0 SetPlayerProperty(0,0,16)//Buddha\nTNT1 A 0 SetPlayerProperty(0,0,4)//TotallyFrozen\nTNT1 A 0 SetPlayerProperty(0,0,0)//Frozen\nTNT1 A 0 SetPlayerProperty(0,0,3)//Flight\n\n//Important Gives\nTNT1 A 0 A_GiveInventory(\"BearerFlag\",1)//ACS watches for this\nTNT1 A 0 A_GiveInventory(\"EnvironmentGravity\",1)//Fix underwater gravity\nTNT1 A 0 A_GiveInventory(\"IsInGame\",1)//Great deal of things watch for this\nTNT1 A 0 A_GiveInventory(\"PowerNoGravityFix\",1)//Fixes NoGravity\nTNT1 A 0 A_GiveInventory(\"SpawnTelefragFixPickup\",1)//Probably not needed, but might as well\nTNT1 A 0 A_GiveInventory(\"StaminaFlag\",500)//Restore Stamina due to ClearInventory();\n\n//Bonus Gives\nTNT1 A 0 A_GiveInventory(\"CanUseItems\",1)\nTNT1 A 0 A_GiveInventory(\"SemiStunArmor\",1)\nTNT1 A 0 A_GiveInventory(\"HardHealthBar\",1)\nTNT1 A 0 A_GiveInventory(\"CheeseProtectionHelper\",1)\n\n//Flags to end certain class actors/projectiles\n\nTNT1 A 0 A_GiveInventory(\"BubbleFloodUndeploy\",1)\n\nTNT1 A 0 A_GiveInventory(\"ClashFlag1\",1)//Applies to Tornado as well\nTNT1 A 0 A_GiveInventory(\"ClashFlag2\",1)\nTNT1 A 0 A_GiveInventory(\"ClashFlag3\",1)\nTNT1 A 0 A_GiveInventory(\"ClashFlag4\",1)\nTNT1 A 0 A_GiveInventory(\"ClashFlagT\",1)\n\nTNT1 A 0 A_GiveInventory(\"RingFlag\",1)\nTNT1 A 0 A_GiveInventory(\"RingFlag2\",1)\n\nTNT1 A 0 A_GiveInventory(\"DiveLockonCleanse\",1)\n\nTNT1 A 0 A_GiveInventory(\"EndFlameFlag\",1)\n\nTNT1 A 0 A_GiveInventory(\"SearchBushFlag1\",1)\nTNT1 A 0 A_GiveInventory(\"SearchBushFlag2\",1)\nTNT1 A 0 A_GiveInventory(\"SearchBushFlag3\",1)\nTNT1 A 0 A_GiveInventory(\"SearchBushFlag4\",1)\n\nTNT1 A 0 A_GiveInventory(\"AquaKillFlag\",1)\n\nTNT1 A 0 A_GiveInventory(\"DuoMeteorEnd\",1)\nTNT1 A 0 A_GiveInventory(\"ODuoMeteorStop\",1)\n\nTNT1 A 0 A_GiveInventory(\"SplashEndSinging\",1)\n\nTNT1 A 0 A_GiveInventory(\"BeeFlag1\",1)\n\nTNT1 A 0 A_GiveInventory(\"Merc_BlobOff_F\",1)\n\nTNT1 A 0 A_TakeInventory(\"NoJumpCancel\",9)\nTNT1 A 0 A_GiveInventory(\"StopShield\",1) //I'm kind of amazed this wasn't already here.\nstop\n}\n}\n\nactor YD_BearerCube\n{\n\tTranslation \"192:192=216:216\", \"198:198=220:220\"\n\tPROJECTILE\n\tObituary \"$OB_BEARMAIN1\"\n\tdamagetype \"YellowDevilB\"\n\t-NOGRAVITY\n\t+SKYEXPLODE\n\tdamage (10)\n\tBounceType Doom\n\tBounceCount 1\n\treactiontime 15\n\tgravity .7\n\tRadius 25\n\tHeight 40\n\tspeed 29\n\tscale 1.5\n\tStates\n\t{\n\t\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"BULL_Tidifier\", 0)\n\t\tTNT1 A 0 ThrustThingZ(0,14,0,1)\n\t\tTNT1 A 0 A_Countdown\n\t\tR2GH FGHI 3\n\t\tGoto Spawn+2\n\t\tDeath:\n\t\tTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tTNT1 A 1 A_Stop\n\t\tTNT1 A 0 A_PlaySound(\"wep/YD_Sploosh\",\"Weapon\",0.35)\n\t\tTNT1 A 0 A_CheckCeiling(\"DeathCeiling\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"YD_BearerCubeBit\",0,0,12,29,0,10,0,1)\n\t\tstop\n\t\tDeathCeiling:\n\t\tTNT1 A 0 A_SpawnItemEx(\"YD_BearerCubeBit\",0,0,12,29,0,-10,0,1)\n\t\tstop\n\t\tXDeath:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}\n\nactor YD_BearerCubeCharged : YD_BearerCube\n{\n\t+DONTBLAST\n\t+DONTREFLECT\n\t+DONTSPLASH\n\t+THRUACTORS\n\tscale 2.5\n\tStates\n\t{\n\t\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways(815,0,200)\n\t\tTNT1 A 0 ThrustThingZ(0,14,0,1)\n\t\tTNT1 A 0 A_Countdown\n\t\tTNT1 A 12 A_JumpIfInTargetInventory(\"BumoEnd\",1,\"Death\")\n\t\tGoto Spawn+3\n\t\tDeath:\n        XDeath:\n\t\tTNT1 A 0 A_GiveToTarget(\"BomuEnd\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"ProjectilePortDead\",1)\n\t\tTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tTNT1 A 1 A_Stop\n\t\tstop\n\t}\n}\n\nactor BearerChargedDamager\n{\nPROJECTILE\ndamagetype \"BearerDevilC\"\nObituary \"$OB_YELLOWMAIN3\"\n+DONTSPLASH\n+DONTBLAST\n+NOEXPLODEFLOOR\n+THRUGHOST\n+DONTREFLECT\ndamage (25)\nRadius 45\nHeight 70\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 1\nstop\nCrash:\nXDeath:\nTNT1 A 1 A_GiveToTarget(\"BomuEnd\",1)\nstop\nDeath:\nTNT1 A 1 A_GiveToTarget(\"BomuEnd\",1)\nStop\n}\n}\n\nactor BearerDevilCProtect : PowerProtection\n{\nPowerup.Duration 3\nDamageFactor \"BearerDevilC\", 0.0\n}\n\nactor YD_BearerCubeB : YD_BearerCube{translation \"192:192=205:205\", \"198:198=74:74\"}\nactor YD_BearerCubeR : YD_BearerCube{translation \"192:192=171:171\", \"198:198=41:41\"}\nactor YD_BearerCubeO : YD_BearerCube{translation \"192:192=104:104\", \"198:198=128:128\"}\nactor YD_BearerCubeP : YD_BearerCube{translation \"192:192=229:229\", \"198:198=232:232\"}\nactor YD_BearerCubeChargedB : YD_BearerCubeCharged{translation \"192:192=205:205\", \"198:198=74:74\"}\nactor YD_BearerCubeChargedR : YD_BearerCubeCharged{translation \"192:192=171:171\", \"198:198=41:41\"}\nactor YD_BearerCubeChargedO : YD_BearerCubeCharged{translation \"192:192=104:104\", \"198:198=128:128\"}\nactor YD_BearerCubeChargedP : YD_BearerCubeCharged{translation \"192:192=229:229\", \"198:198=232:232\"}\n\nactor YD_BearerCubeBit\n{\nPROJECTILE\nObituary \"$OB_BEARMAIN2\"\ndamagetype \"YellowDevilB\"\n+DONTSPLASH\n-NOGRAVITY\n+HEXENBOUNCE\ndamage (5)\nRadius 8//25\nHeight 8//20\nspeed 14\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"BULL_Tidifier\", 0)\nR2GH JK 1\nTNT1 A 0 A_ChangeFlag(HEXENBOUNCE, false)\nSpawn2:\nR2GH JK 4\nloop\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor YD_BearerPunch\n{\ntranslation \"192:192=216:216\"\nPROJECTILE\ndamagetype \"YellowDevilP\"\nObituary \"$OB_BEARALT\"\n+DONTBLAST\nreactiontime 1\ndamage (35)\nRadius 40\nHeight 20\nspeed 60\nscale 2.5\nStates\n{\nSpawn:\nTMFX R 0\nTMFX R 1 A_CountDown\nwait\nDeath:\nTMFX R 0 A_Explode(35,40,0,0,40)\ngoto XDeath\nXDeath:\nTMFX R 0 A_Stop\nTMFX R 2\nYMFX C 2\nTMFX RS 2\nstop\n}\n}\n\nactor YD_BearerPunchB : YD_BearerPunch{translation \"192:192=205:205\"}\nactor YD_BearerPunchR : YD_BearerPunch{translation \"192:192=171:171\"}\nactor YD_BearerPunchO : YD_BearerPunch{translation \"192:192=104:104\"}\nactor YD_BearerPunchP : YD_BearerPunch{translation \"192:192=229:229\"}\n\nactor WildBearAltA_CI : TeamColor_CI\n{\nstates\n{\nFireX:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCube\",0,0,8,0)\ngoto Done\nFireB:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeB\",0,0,8,0)\ngoto Done\nFireR:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeR\",0,0,8,0)\ngoto Done\nFireO:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeO\",0,0,8,0)\ngoto Done\nFireP:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeP\",0,0,8,0)\ngoto Done\n}\n}\n\nactor WildBearAltB_CI : TeamColor_CI\n{\nstates\n{\nFireX:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCube\",15,0,8,0)\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCube\",-15,0,8,0)\ngoto Done\nFireB:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeB\",15,0,8,0)\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeB\",-15,0,8,0)\ngoto Done\nFireR:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeR\",15,0,8,0)\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeR\",-15,0,8,0)\ngoto Done\nFireO:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeO\",15,0,8,0)\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeO\",-15,0,8,0)\ngoto Done\nFireP:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeP\",15,0,8,0)\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeP\",-15,0,8,0)\ngoto Done\n}\n}\n\nactor WildBearAlt2_CI : TeamColor_CI\n{\nstates\n{\nFireX:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeCharged\",0,0,8,0)\ngoto Done\nFireB:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeChargedB\",0,0,8,0)\ngoto Done\nFireR:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeChargedR\",0,0,8,0)\ngoto Done\nFireO:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeChargedO\",0,0,8,0)\ngoto Done\nFireP:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerCubeChargedP\",0,0,8,0)\ngoto Done\n}\n}\n\nactor WildBearMain_CI : TeamColor_CI\n{\nstates\n{\nFireX:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerPunch\",0,0,8,0)\ngoto Done\nFireB:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerPunchB\",0,0,8,0)\ngoto Done\nFireR:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerPunchR\",0,0,8,0)\ngoto Done\nFireO:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerPunchO\",0,0,8,0)\ngoto Done\nFireP:\nTNT1 A 0 A_FireCustomMissile(\"YD_BearerPunchP\",0,0,8,0)\ngoto Done\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/ClaseBaseFlags.txt",
        "contents": "//These are actors used for ClassBase0\n\nactor DeadClassBundle : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"UnSolid\",999)\n//TNT1 A 0 A_TakeInventory(\"PharaohCharge\",999)\n//TNT1 A 0 A_TakeInventory(\"PharaohChargeC\",999)\nTNT1 A 0 A_TakeInventory(\"WeaponCharge\",999)\nTNT1 A 0 A_GiveInventory(\"EndBossFlashStoppered\",1)\nTNT1 A 0 A_GiveInventory(\"CutterFlag\",999)\nTNT1 A 0 A_GiveInventory(\"IsDead\",1)\nTNT1 A 0 A_TakeInventory(\"WilyBurnTimer\",999)\nTNT1 A 0 A_TakeInventory(\"ConcreteTime\",999)\nTNT1 A 0 A_JumpIfInventory(\"SpawnTeleFragFlag\",1,3)\nTNT1 A 0 A_SpawnItemEx(\"ScrewSpewer\",0,0,0,0,0,0,0,1)\nTNT1 A 0 A_GiveInventory(\"TrioExodiaDropPickup\",1)//EvilRobot actor\nTNT1 A 0 A_GiveInventory(\"RaThorSinistarDropper_P\",1)//RaThor actor\nTNT1 A 0 SetPlayerProperty(0,0,4)\nTNT1 A 0 A_NoBlocking\nTNT1 A 0 A_ChangeFlag(\"THRUACTORS\",1)\n//TNT1 A 0 A_ChangeFlag(\"SOLID\",0)\n//TNT1 A 0 A_JumpIfInventory(\"NoStopDeathFlag\",1,2)\n//TNT1 A 0 A_Stop\nTNT1 A 0 A_GiveToTarget(\"KilledMeStock\",1)\nTNT1 A 0 A_GiveToTarget(\"KilledMe\",1)\nTNT1 A 0 //ACS_ExecuteAlways(999,0,0)//Old fade cancel script\ngoto SpecialDrops\n\nSpecialDrops:\nTNT1 A 0 A_JumpIfInventory(\"JoeHitFlag2\",1,\"ScoreBall\")\nTNT1 A 0 A_JumpIfInventory(\"RaThorHitFlag\",1,\"RaThorSoul\")\nTNT1 A 0 A_JumpIfInventory(\"JunkDeathDropFlag\",1,\"JunkDrop\")\nTNT1 A 0\ngoto FinalCheck\nFinalCheck:\nTNT1 A 0 A_JumpIfInventory(\"RiseDeathFlag\",1,\"Rising\")\nTNT1 A 0 A_JumpIfInventory(\"InstagibFlag\",1,\"Bonus\")\nTNT1 A 0 A_JumpIfInventory(\"FallingFlag\",1,\"Bonus\")\nstop\n\nBonus:\nTNT1 A 0 A_SetTranslucent(0.0,0)\nTNT1 A 0 //A_GiveInventory(\"\",1)//Could do something\nstop\nRising:\nTNT1 A 0 //A_Stop\nTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nstop\nScoreBall:\nTNT1 A 0 A_SpawnItemEx(\"ScoreBallPickUp\",0,0,32,random(1,3),0,10,random(0,359),1)\ngoto SpecialDrops+1\nRaThorSoul:\nTNT1 A 0 A_SpawnItemEX(\"ThorSoul\",0,0,0,random(-4,4),random(-4,4),frandom(2,3),random(0,359),1)\ngoto SpecialDrops+2\nJunkDrop:\nTNT1 AAA 0 A_SpawnItemEx(\"ClassJunkBit\",0,0,0,random(1,10),0,random(3,12),random(0,359),1)\ngoto SpecialDrops+3\n}\n}\n\nactor FrozenDeathFXC : FrozenDeathFX{Radius 16 Height 56}\n\nactor FrozenDeathBitFX : BasicClientSide\n{\nTranslation \"192:192=4:4\", \"198:198=201:201\", \"3:8=72:72\", \"243:247=72:72\", \"208:215=4:4\"\nScale 1.25\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_Jump(256,\"Spawn1\",\"Spawn2\",\"Spawn3\",\"Spawn4\",\"Spawn5\",\"Spawn6\")\nSpawn1:\nBLIZ A 3 bright\nTNT1 A 1\nBLIZ B 3 bright\nTNT1 A 1\nBLIZ C 2 bright\nstop\nSpawn2:\nTNT1 A 0 A_Jump(128,\"Spawn2a\")\nMRFP EDC 3 bright\nstop\nSpawn2a:\nMRFP CDE 3 bright\nstop\nSpawn3:\nTNT1 A 0 A_Jump(128,\"Spawn3a\")\nFLSA RST 3 bright\nstop\nSpawn3a:\nFLSA USW 3 bright\nstop\nSpawn4:\nTNT1 A 0 A_Jump(128,\"Spawn4a\")\nFLSA UVW 3 bright\nstop\nSpawn4a:\nFLSA RVT 3 bright\nstop\nSpawn5:\nFCRA I 3 bright\nTNT1 A 1\nFCRA I 3 bright\nTNT1 A 1\nFCRA I 3 bright\nstop\nSpawn6:\nFCRA JKL 3 bright\nstop\nEnd:\nTNT1 A 0\nstop\n}\n}\n\nactor ConfettiDeath : Confetti{+THRUGHOST}\n\nactor ConfettiDeathSpawner : ConfettiSpawner{ReactionTime 9 States{\nSpawn:\nTNT1 AAA 0 A_SpawnItemEx(\"ConfettiDeath\",random(-16, 16),random(-16, 16),Random(8, 16),random(-3,3), random(-3,3), random(1,-1),0)\nTNT1 A 1 A_CountDown\nLoop}}\n\nactor DeathFX1C : DeathFX1\n{\nStates\n{\nSpawn:\nMMFX BCDEBCDEBCDEBCDEBCDEBCDEBCDEBCDEBCDEBCDE 2\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor TFakeDeathFX1 : DeathFX1C\n{\nStates\n{\nSpawn:\nTMFX ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD 2\nstop\nSpawn2:\nTMFX ABCD 2//There is a wierd warning with this online, so the above method is placeholder.\nTMFX A 0 A_CountDown\nloop\n}\n}\n\nActor FakeDeathFXC : FakeDeathFX\n{\nStates\n{\nSpawn:\nTNT1 A 1//DeathFX1\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,0,15,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,0,-15,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,10.598,10.606,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,-10.598,10.606,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,10.606,-10.598,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,-10.606,-10.598,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,15,0,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,-15,0,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,0,5,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,0,-5,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,3.533,3.535,0,1)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,-3.533,3.535,0,1)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,3.535,-3.534,0,1)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,-3.535,-3.534,0,1)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,5,0,0,0)\nPLAY Z 0 A_SpawnItemEx(\"DeathFX1C\",0,0,0,0,-5,0,0,0)\nTNT1 A 1\nstop\n}\n}\nActor TFakeDeathFX : FakeDeathFX\n{\nStates\n{\nSpawn:\nTNT1 A 1\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,0,15,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,0,-15,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,10.598,10.606,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,-10.598,10.606,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,10.606,-10.598,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,-10.606,-10.598,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,15,0,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,-15,0,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,0,5,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,0,-5,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,3.533,3.535,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,-3.533,3.535,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,3.535,-3.534,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,-3.535,-3.534,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,5,0,0,1)\nPLAY Z 0 A_SpawnItemEx(\"TFakeDeathFX1\",0,0,0,0,-5,0,0,1)\nTNT1 A 1\nstop\n}\n}\n\nactor DelayPainFX : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AAAAAAAAA 2 A_GiveToTarget(\"PainFXItem\",1)\nstop\n}\n}\n\nactor PainFXItem : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 1\nTNT1 A 0 A_SpawnItemEx(\"PainFX_CBM\",-5,0,3,0,0,0)\nstop\n}\n}\n\nactor PainScaleVelocityC : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"StunArmor\",1,\"Pickup3\")\nTNT1 A 0 A_JumpIfInventory(\"SemiStunArmor\",1,\"Pickup2\")\nTNT1 A 0 A_ScaleVelocity(0.75)\nstop\nPickup2:\nTNT1 A 0 A_ScaleVelocity(0.875)\nstop\nPickup3:\nTNT1 A 0\nstop\n}\n}\n\nactor PainScaleVelocityFlashBombC : PainScaleVelocityC\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"StunArmor\",1,\"Pickup3\")\nTNT1 A 0 A_JumpIfInventory(\"SemiStunArmor\",1,\"Pickup2\")\nTNT1 A 0 A_ScaleVelocity(0.9)\nstop\nPickup2:\nTNT1 A 0 A_ScaleVelocity(0.95)\nstop\n}\n}\n\nactor PainStopC : PainScaleVelocityC\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"StunArmor\",1,\"Pickup3\")\nTNT1 A 0 A_JumpIfInventory(\"SemiStunArmor\",1,\"Pickup2\")\nTNT1 A 0 A_Stop\nstop\nPickup2:\nTNT1 A 0 A_ScaleVelocity(0.50)\nstop\n}\n}\n\nactor PainRecoilC : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"RecoilPowerC\",1,\"Pickup2\")\nTNT1 A 0 A_JumpIfInventory(\"StunArmor\",1,\"Pickup2\")\nTNT1 A 0 A_JumpIfInventory(\"SemiStunArmor\",1,\"Pickup2\")\nTNT1 A 0 A_Recoil(1)\nTNT1 A 0 A_GiveInventory(\"RecoilPowerC\",1)\nstop\nPickup2:\nTNT1 A 0\nstop\n}\n}\n\nactor RecoilPowerC : Powerup\n{\nPowerup.Duration 1\n}\n\nactor TimeStopActivatorC : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_JumpIfInventory(\"TimeStoppedCounter\",1,\"No\")\nTNT1 A 0 A_Stop\nTNT1 A 0 A_GiveInventory(\"TimeStoppedCounter\",1)\n\nTNT1 A 0 SetPlayerProperty(0,1,4)\nTNT1 A 0 ACS_ExecuteAlways(806,0)\nTNT1 A 0 A_GiveInventory(\"TotallyFrozenLook\",1)\n\nTNT1 A 0 SetPlayerProperty(0,1,3)\n\nTNT1 A 0 A_SpawnItemEx(\"TimeStoppedWatcherC\")\nstop\nNo:\nTNT1 A 0\nstop\n}\n}\nactor TimeStoppedWatcherC : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Warp(AAPTR_TARGET,0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION)\nTNT1 A 0 A_SpawnItemEx(\"TimeStopGFX\",random(8,64),0,random(0,64),0,0,0,random(0,359))\nTNT1 A 0 A_JumpIfInTargetInventory(\"TimeStoppedCounter\",1,\"Spawn\")\nTNT1 A 5 A_GiveToTarget(\"TimeUnstoppedC\")\nTNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx(\"TimeStopGFXSmall\", random(8, 64), 0, random(0, 64), 0, 0, 0, random(0, 359))\nstop\n}\n}\nactor TimeUnstoppedC : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"FlightDisableCheck\",1)\nTNT1 A 0 A_GiveInventory(\"CoreTimeStopUnfreeze\",1)\nstop\n}\n}\n\nactor SelfTotallyFrozen : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"SelfTotallyFrozenFlag\",1)\nTNT1 A 0 SetPlayerProperty(0,1,4)\nstop\n}\n}\n\nactor SelfTotallyFrozenDuo : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"SelfTotallyFrozenFlag\",1)\nTNT1 A 0 SetPlayerProperty(0,1,0)\nstop\n}\n}\n\nactor SelfTotallyFrozenFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor SelfStoppedTFFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor TotallyFrozenLook : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor TotallyFrozenLookOnce : TotallyFrozenLook {}\n\nactor SelfStoppedTF : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"SelfStoppedTFFlag\",1)\nTNT1 A 0 SetPlayerProperty(0,1,4)\nTNT1 A 0 ACS_ExecuteAlways(806,0)\nTNT1 A 0 A_GiveInventory(\"TotallyFrozenLook\",1)\nstop\n}\n}\n\nactor TimeStoppedTF : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"TimeStoppedTFFlag\",1)\nTNT1 A 0 SetPlayerProperty(0,1,4)\nTNT1 A 0 ACS_ExecuteAlways(806,0)\nTNT1 A 0 A_GiveInventory(\"TotallyFrozenLook\",1)\nstop\n}\n}\n\nactor TimeStoppedTFFlag : SelfTotallyFrozenFlag {}\n\nactor WilyIceTotallyFrozen : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"WilyIceTFFlag\",1)\nTNT1 A 0 SetPlayerProperty(0,1,4)\nTNT1 A 0 ACS_ExecuteAlways(806,0)\nTNT1 A 0 A_GiveInventory(\"TotallyFrozenLook\",1)\nstop\n}\n}\n\nactor WilyIceTFFlag : SelfTotallyFrozenFlag {}\n\nactor Unfreeze : CustomInventory\n{\nStates\n{\nPickup1:\nTNT1 A 0 A_JumpIfInventory(\"SelfTotallyFrozenFlag\",1,\"PickupNo\")\nTNT1 A 0 A_JumpIfInventory(\"TimeStoppedTFFlag\",1,\"PickupNo\")\nTNT1 A 0 A_JumpIfInventory(\"WilyIceTFFlag\",1,\"PickupNo\")\nTNT1 A 0 A_JumpIfInventory(\"SelfStoppedTFFlag\",1,\"PickupNo\")\nTNT1 A 0 A_JumpIfInventory(\"TimeStoppedCounter\",1,\"PickupNo\")\nTNT1 A 0 A_TakeInventory(\"TotallyFrozenLook\",1)\nTNT1 A 0 SetPlayerProperty(0,0,0)\nTNT1 A 0 SetPlayerProperty(0,0,4)\nstop\nPickupNo:\nTNT1 A 0\nstop\n}\n}\n\nactor SelfTotallyUnfrozen : Unfreeze\n{\nStates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"SelfTotallyFrozenFlag\",1)\ngoto Pickup1\n}\n}\n\nactor TimeStoppedUnfreeze : Unfreeze\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"TimeStoppedTFFlag\",1,\"Pickup0\")\ngoto PickupNo\nPickup0:\nTNT1 A 0 A_TakeInventory(\"TimeStoppedTFFlag\",1)\ngoto Pickup1\n}\n}\n\nactor WilyIceUnfreeze : Unfreeze\n{\nStates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"WilyIceTFFlag\",1)\ngoto Pickup1\n}\n}\n\nactor SelfStoppedUnfreeze : Unfreeze\n{\nStates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"SelfStoppedTFFlag\",1)\ngoto Pickup1\n}\n}\n\nactor CoreTimeStopUnfreeze : Unfreeze\n{\nStates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"TimeStoppedCounter\",1)\ngoto Pickup1\n}\n}\n\nactor AtomicOnce : PowerProtection\n{\nPowerup.Duration 7\ndamagefactor \"AtomicFire3\", 0.1\n}\n\nactor TempPitProtect : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(804,66)>=1,\"No\")\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(107,0)==1, \"Maybe\")\nTNT1 A 0 A_JumpIfInventory(\"TempPitProtectFlag\",1,\"Pickup2\")\nTNT1 A 0 A_ChangeFlag(\"NOBLOCKMONST\",0)\nTNT1 A 0 A_SpawnItemEx(\"TempPitProtectEnder\")\nPickup2:\nTNT1 A 0 A_GiveInventory(\"TempPitProtectFlag\",1)\nstop\nMaybe:\nTNT1 A 0 A_JumpIfInventory(\"TempPitProtectFlag\",1,\"Pickup2\")\nstop\nNo:\nTNT1 A 0\nstop\n}\n}\n\nactor TempPitProtectFlag : Powerup\n{\nPowerup.Duration 35\n}\n\nactor TempPitProtectEnder\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+MISSILE\nStates\n{\nSpawn:\nTNT1 A 0\nSpawn2:\nTNT1 A 1\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPitProtectFlag\",1,\"Spawn2\")\nTNT1 A 0 A_GiveToTarget(\"TempPitProtectEnd\", 1)\nstop\n}\n}\n\nactor TempPitProtectEnd : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"IsBot\",1,\"Pickup2\")\nTNT1 A 0 A_ChangeFlag(\"NOBLOCKMONST\",1)\nPickup2:\nTNT1 A 0\nstop\n}\n}\n\n/*\nactor LowGravityEx : LowGravity replaces LowGravity\n{\nStates\n{\nPickup:\nTNT1 A 1 ACS_ExecuteAlways(204,0,1)\nstop\n}\n}\n\nactor NormalGravityEx : NormalGravity replaces NormalGravity\n{\nStates\n{\nPickup:\nTNT1 A 1 ACS_ExecuteAlways(204,0,0)\nstop\n}\n}\n*/\n\nactor NormalGravityFlag : OnceC{}\n\nactor LowGravityFlag : OnceC{}\n\nactor EndBossFlashStoppered : OnceC{}\n\nactor ScrewSpewer : BasicHelper\n{\nStates\n{\nSpawn:\nPLAY A 0\nPLAY A 0 A_Jump(128,2)\nPLAY A 0 A_SpawnItemEx(\"ScrewBoltBigPickup\",0,0,0,random(1,3),0,random(10,15),random(0,359),1)\nstop\nPLAY AA 0 A_SpawnItemEx(\"ScrewBoltPickup\",0,0,0,random(1,6),0,random(5,10),random(0,359),1)\nstop\n}\n}\n\nactor ScrewBoltPickup : CustomInventory\n{\ninventory.pickupmessage \"Picked up a Small Screw!\"\nscale 2.5\nReactionTime 800\nStates\n{\nSpawn:\nSCOR E 1 A_SetAngle(angle+15)\nSCOR E 0 A_CountDown\nloop\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"SparkShockBoss\",1,\"Spark\")\nTNT1 A 0 A_JumpIfInventory(\"PlantBarrierBoss\",1,\"Plant\")\nTNT1 A 0 A_JumpIfInventory(\"RollFlag\",1,\"Roll\")\nTNT1 A 0 A_JumpIfInventory(\"LightningBoltBoss\",1,\"Dynamo\")\nTNT1 A 0 A_JumpIfInventory(\"IsAuto\",1,\"Auto\")\nTNT1 A 0 A_JumpIfInventory(\"LaserTridentBoss\",1,\"Splash\")\nTNT1 A 0 A_JumpIfInventory(\"CanSnatch_F\",1,\"TheSnatch\")\nTNT1 A 0\nfail\nPickup2:\nTNT1 A 0\nTNT1 A 0\nstop\nSpark:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"SparkHealAmmo\",7)\nstop\nPlant:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"PlantmanHealAmmo\",7)\nstop\nRoll:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"RollHealAmmo\",7)\nstop\nDynamo:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"DynamoHealAmmo\",5)\nstop\nSplash:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"CrabHealingAmmo\",7)\nstop\nAuto:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"AutoNutsAmmo\",1)\nstop\nTheSnatch:\nTNT1 A 0 A_GiveInventory(\"SnatchItems_P1B\",1)\nstop\nNo:\nTNT1 A 0\nfail\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor ScrewBoltBigPickup : ScrewBoltPickup\n{\ninventory.pickupmessage \"Picked up a Big Screw!\"\nReactionTime 1000\nStates\n{\nSpawn:\nSCOR F 1 A_SetAngle(angle+15)\nSCOR F 0 A_CountDown\nloop\nSpark:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"SparkHealAmmo\",14)\nstop\nPlant:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"PlantmanHealAmmo\",14)\nstop\nRoll:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"RollHealAmmo\",14)\nstop\nDynamo:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"DynamoHealAmmo\",10)\nstop\nSplash:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"CrabHealingAmmo\",14)\nstop\nAuto:\nTNT1 A 0 A_PlaySound(\"item/JunkPick\",3,1.0)\nTNT1 A 0 A_GiveInventory(\"AutoNutsAmmo\",2)\nstop\nTheSnatch:\nTNT1 A 0 A_GiveInventory(\"SnatchItems_P2A\",1)\nstop\n}\n}\n\n//Pain Locations\n//ClassBase0, Stoneman, BearerClass, GeminiClone?\nactor PainFX_CBM : PainFX replaces PainFX {speed 1000}\n\nactor SuperPainSnd_D : Powerup\n{\nPowerup.Duration 14\n}\n\nactor WeakPain_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"SuperEffective\",3)\nTNT1 A 0 A_SpawnItemEx(\"PainFX_CBM\",-5,0,3,0,0,0)\nTNT1 A 0 A_JumpIfInventory(\"SuperPainSnd_D\",1,\"No\")\ngoto SuperP\nSuperP:\nTNT1 A 0 A_SpawnItemEx(\"SuperPainFX_CBM\",0,0,28)\nTNT1 A 0 A_GiveInventory(\"SuperPainSnd_D\",1)\nstop\nNo:\nTNT1 A 0\nstop\n}\n}\n\nactor SuperPainFX_CBM : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEX(\"classes/superX\",\"Weapon\")\nTNT1 AA 1\nstop\n}\n}\n\nactor ImFrozenC : ImFrozen replaces ImFrozen\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_GiveToTarget(\"WasFrozenTodayFX\",1)\nTNT1 A 1 A_GiveToTarget(\"ImNotFrozenNowC\",1)\nstop\n}\n}\n\nactor ImNotFrozenNowC : ImNotFrozenNow replaces ImNotFrozenNow\n{\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_GiveInventory(\"WilyIceUnfreeze\",1)\nTNT1 A 0 A_GiveInventory(\"PowerWilyIceUnfreeze\",1)\nTNT1 A 0 A_TakeInventory(\"IceVision\",1)\nstop\n}\n}\n\nactor WasFrozenTodayFX : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"WasFrozenToday\",0,0,36,0,0,0,0,1)\nTNT1 A 1\nstop\n}\n}\n\nactor WasFrozenToday\n{\nRenderStyle \"Translucent\"\nscale 5.0\nAlpha 0.5\n- SOLID\n+NOGRAVITY\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nMRFP B 0\nMRFP B 1\nstop\n}\n}\n/*\nACTOR TeleportFogC : TeleportFog2 replaces TeleportFog2\n{\n  States\n  {\n  Spawn:\n    TFOG A 0\n\tTFOG A 0 A_SpawnItemEx(\"SpawnProtect\")\n\tTFOG A 3 A_PlaySound(\"misc/teleport\")\n    TFOG BC 2\n    Stop\n}\n}\n\nactor SpawnProtect\n{\n+SOLID\n//+CLIENTSIDEONLY\n+SHOOTABLE\n+DONTRIP\n+NODAMAGE\n+NOBLOOD\nhealth 99999\n+DONTBLAST\nheight 56\nradius 16\nscale 2.5\nspeed 0\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nstop\n}\n}\n*/\n\nactor SuperEffective : Inventory\n{\ninventory.amount 1\ninventory.maxamount 2\n}\n\n//DrLight, BBA, DrWily, Alien, Gravity, Flame*, Grenade, EvilRobot, Galaxy, Fake, Bearer\n\nactor SpecialDeathFlag :OnceC{}\n//actor NoStopDeathFlag :OnceC{}\nactor FlingDeathFlag :OnceC{}\nactor IceDeathFlag :OnceC{}\nactor RiseDeathFlag :OnceC{}\nactor RiseDeathFlag2 : Inventory\n{\ninventory.amount 1\ninventory.maxamount 30\n}\nactor InstagibFlag : OnceC{}\nactor FallingFlag : OnceC{}\nactor SpawnTeleFragFlag : OnceC{}\n\nactor StunArmor : OnceC{}\nactor SemiStunArmor : StunArmor {}\n\nactor DontPushMyFlagBro : OnceC{}\n\n//actor StayLocked : OnceC{}\n\nactor SpawningMisfire : OnceC{}\nactor SpawningMisfired : OnceC{}\n\nactor CustomBossAmmoBar : OnceC{}\n\nactor JunkDeathDropFlag :OnceC{}\n\n/*\nactor Shocked2 : Shocked\n{\npowerup.duration 45\n}\n*/\n\nactor Shocked_18 : PowerSpeed\n{\npowerup.duration 18\nSpeed 0.0\n}\n\nactor IsInPain : PowerUp\n{\nPowerup.Duration 3\n}\nactor SkipClassPainJump : PowerUp\n{\nPowerup.Duration 1\n}\n\nactor SinglePlayerStateFlag : Powerup\n{\npowerup.duration 3\n}\n\nactor AirJumpBoost_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"FlightDisableFlag\",1,\"No\")\nTNT1 A 0 A_JumpIfInventory(\"CanAirJumpLimit\",1,\"Jump\")\nstop\nNo:\nTNT1 A 0\nstop\nJump:\nTNT1 A 0 A_TakeInventory(\"CanAirJumpLimit\",1)\nTNT1 A 0 //A_ChangeVelocity(momx,momy,10.0,2)\nTNT1 A 0 A_ChangeVelocity(momx,momy,CallACS(\"CBM_FetchJumpZ\"),2)\nTNT1 A 0 A_GiveInventory(\"JumpCancler\",1)\nstop\n}\n}\n\nactor TempPitProtect_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIf(CallACS(\"CBM_GetCVar\",3)>=1,\"No\")\nTNT1 A 0 A_JumpIfInventory(\"PowerTempPitProtect\",1,\"Pickup2\")\nTNT1 A 0 A_ChangeFlag(\"NOBLOCKMONST\",0)\nTNT1 A 0 A_SpawnItemEx(\"TempPitProtect_H\")\nPickup2:\nTNT1 A 0 A_GiveInventory(\"PowerTempPitProtect\",1)\nstop\nNo:\nTNT1 A 0\nstop\n}\n}\n\nactor PowerTempPitProtect : Powerup\n{\nPowerup.Duration 35\n}\n\nactor TempPitProtect_H : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nSpawn2:\nTNT1 A 1\nTNT1 A 0 A_JumpIfInTargetInventory(\"PowerTempPitProtect\",1,\"Spawn2\")\nTNT1 A 0 A_GiveToTarget(\"TempPitProtectEnd_P\",1)\nstop\n}\n}\n\nactor TempPitProtectEnd_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"IsBot\",1,\"Pickup2\")\nTNT1 A 0 A_ChangeFlag(\"NOBLOCKMONST\",1)\nPickup2:\nTNT1 A 0\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/ClassArmorBase.txt",
        "contents": "actor BasePowerDamage : PowerDamage\n{//Make sure damage increases don't increase these\nPowerup.Duration 0x7FFFFFFD\ndamagefactor \"Normal\", 1.0\ndamagefactor \"MagicCardBF\", 1.0\ndamagefactor \"DynaTag\", 1.0\n}\n\nactor BasePowerWeak : PowerProtection\n{//Make sure taking more damage doesn't increase these\nPowerup.Duration 0x7FFFFFFD\ndamagefactor \"Normal\", 1.0\ndamagefactor \"GrenadeSD\", 1.0\n}\n\nactor BasePowerPro : PowerProtection\n{//Make sure damage reduction doesn't reduce these\nPowerup.Duration 0x7FFFFFFD\ndamagefactor \"Normal\", 1.0\ndamagefactor \"MagicCardBF\", 1.0\ndamagefactor \"DynaTag\", 1.0\ndamagefactor \"Crush\", 1.0\n\ndamagefactor \"TimeStop\", 1.0\ndamagefactor \"BrightB\", 1.0\ndamagefactor \"GravityB1\", 1.0\ndamagefactor \"FlameSwordSpark\", 1.0\n}\n\n//Legacy Health Bars,\nactor GlassHealthBar : OnceC{}\nactor LightHealthBar : OnceC{}\nactor SturdyHealthBar : OnceC{}\nactor ToadHealthBar : OnceC{}\nactor HeavyHealthBar : OnceC{}\nactor HardHealthBar : OnceC{}\n\nactor ProtoHealthBar : OnceC{}\nactor MegaHealthBar : OnceC{}\nactor DuoHealthBar : OnceC{}\nactor DocToadHealthBar : OnceC{}\n\nactor MoreArmorClassBase : ClassBase\n{\n\n//damagefactor \"TimeSlow\", 1.0\n//damagefactor \"CentaurShock\", 1.0\ndamagefactor \"FlashStopper\", 1.0\ndamagefactor \"TimeStop\", 1.0\ndamagefactor \"BrightB\", 1.0\ndamagefactor \"GravityB1\", 1.0\n//damagefactor \"WaterCannon\", 1.0\n}\nactor LessArmorClassBase : ClassBase\n{\ndamagefactor \"GrenadeSD\", 1.0\n}\n\n//Armor bases.\n//Have the class inherit from the one that grants proper resistance.\nactor HardClassBase : MoreArmorClassBase\n{\nplayer.startitem \"HardHealthBar\" //startitems actually aren't inherited btw\nplayer.maxhealth 200\nhealth 200\n//damagefactor \"Normal\", 0.5\n//damagefactor \"TimeSlow\", 0.75\n//damagefactor \"CentaurShock\", 0.75\n//damagefactor \"TopSpin\", 0.35\n//damagefactor \"FlameSwordSpark\", 1.0\n}\n\nactor HeavyClassBase : MoreArmorClassBase\n{\nplayer.startitem \"HeavyHealthBar\"\nplayer.maxhealth 185\nhealth 185\n//damagefactor \"Normal\", 0.55\n//damagefactor \"TimeSlow\", 0.775\n//damagefactor \"CentaurShock\", 0.775\n//damagefactor \"TopSpin\", 0.41\n//damagefactor \"FlameSwordSpark\", 1.0\n}\n\nactor ToadClassBase : MoreArmorClassBase\n{\nplayer.startitem \"ToadHealthBar\"\nplayer.maxhealth 155\nhealth 155\n//damagefactor \"Normal\", 0.65\n//damagefactor \"TimeSlow\", 0.825\n//damagefactor \"CentaurShock\", 0.825\n//damagefactor \"TopSpin\", 0.52\n//damagefactor \"FlameSwordSpark\", 1.0\n}\n\nactor DocToadClassBase : MoreArmorClassBase //Really scrounging for names here\n{\nplayer.startitem \"DocToadHealthBar\"\nplayer.maxhealth 135\nhealth 135\n//damagefactor \"Normal\", 0.728\n//damagefactor \"TimeSlow\", 0.864\n//damagefactor \"CentaurShock\", 0.864\n//damagefactor \"TopSpin\", 0.621\n//damagefactor \"FlameSwordSpark\", 1.0\n//damagefactor \"FlameSwordSpark2\", 1.0\n}\n\nactor SturdyClassBase : MoreArmorClassBase\n{\nplayer.startitem \"SturdyHealthBar\"\nplayer.maxhealth 125\nhealth 125\n//damagefactor \"Normal\", 0.8\n//damagefactor \"TimeSlow\", 0.9\n//damagefactor \"CentaurShock\", 0.9\n//damagefactor \"TopSpin\", 0.72\n//damagefactor \"FlameSwordSpark\", 1.0\n//damagefactor \"FlameSwordSpark2\", 1.0\n}\n\nactor DuoClassBase : MoreArmorClassBase\n{\nplayer.startitem \"DuoHealthBar\"\nplayer.maxhealth 115\nhealth 115\n//damagefactor \"Normal\", 0.896\n//damagefactor \"TimeSlow\", 0.948\n//damagefactor \"CentaurShock\", 0.948\n//damagefactor \"TopSpin\", 0.848\n//damagefactor \"FlameSwordSpark\", 1.0\n//damagefactor \"FlameSwordSpark2\", 1.0\n}\n\nactor MegaClassBase : LessArmorClassBase\n{\nplayer.startitem \"MegaHealthBar\"\nplayer.maxhealth 90\nhealth 90\n//damagefactor \"Normal\", 1.12\n}\n\nactor LightClassBase : LessArmorClassBase\n{\nplayer.startitem \"LightHealthBar\"\nplayer.maxhealth 85\nhealth 85\n//damagefactor \"Normal\", 1.2\n}\n\nactor LightClassBase2 : LessArmorClassBase\n{\nplayer.startitem \"LightHealthBar\"\nplayer.maxhealth 110\nhealth 110\n//damagefactor \"Normal\", 1.2\n}\n\nactor LightClassBase3 : LessArmorClassBase\n{\nplayer.startitem \"LightHealthBar\"\nplayer.maxhealth 65\nhealth 65\n//damagefactor \"Normal\", 1.2\n}\n\nactor ProtoClassBase : LessArmorClassBase\n{\nplayer.startitem \"ProtoHealthBar\"\nplayer.maxhealth 75\nhealth 75\n//damagefactor \"Normal\", 1.333\n}\n\nactor GlassClassBase : LessArmorClassBase\n{\nplayer.startitem \"GlassHealthBar\"\nplayer.maxhealth 70\nhealth 70\n//damagefactor \"Normal\", 1.5\n}\n\n//Doc Robot armor changes\nactor DocArmor : BasePowerPro{}\n\nactor MoreDocArmor : DocArmor\n{\ndamagefactor \"TimeStop\", 1.0\ndamagefactor \"BrightB\", 1.0\ndamagefactor \"GravityB1\", 1.0\ndamagefactor \"FlameSwordSpark\", 1.0\ndamagefactor \"FlameSwordSpark2\", 1.0\n}\nactor LessDocArmor : DocArmor\n{\ndamagefactor \"GrenadeSD\", 1.0\n}\n\nactor NormalDocArmor : LessDocArmor\n{\ndamagefactor \"Normal\", 1.00//1.12\n}\n\nactor LightDocArmor : LessDocArmor\n{\ndamagefactor \"Normal\", 1.20//1.333\n}\n\nactor SturdyDocArmor : MoreDocArmor\n{\ndamagefactor \"Normal\", 0.80//0.896\ndamagefactor \"TimeSlow\", 0.9//0.948\ndamagefactor \"CentaurShock\", 0.9//0.948\ndamagefactor \"TopSpin\", 0.72//0.848\n}\n\nactor ToadDocArmor : MoreDocArmor\n{\ndamagefactor \"Normal\", 0.65//0.728\ndamagefactor \"TimeSlow\", 0.825//0.864\ndamagefactor \"CentaurShock\", 0.825//0.864\ndamagefactor \"TopSpin\", 0.52//0.621\n}"
      },
      {
        "source": "pk3",
        "name": "actors/ClassBase.txt",
        "contents": "actor ClassBase : ClassBase1\n{\nstates\n{\n\nPain.HardKnuckleClass:\n\"----\" H 0 A_PlaySoundEx(\"weapon/hknucklehit\",\"Body\")\n\"----\" H 0 A_SpawnItemEx(\"HardKnuckleHitFX\",0,0,32,0,0,0,0,0)\nGoto Pain+2\n\nPain.KnightBonk:\n\"----\" H 0 A_GiveInventory(\"KnightBonkProtect\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainKnightBonkHit\")\nGoto Pain+2\n\nPain.KnightBonk2:\n\"----\" H 0 ThrustThingZ(0,40,0,1)\n\"----\" H 0 A_SpawnItemEx(\"PainKnightRushHit\")\nGoto Pain+2\n\nPain.KnightReturn:\n\"----\" H 0 A_GiveInventory(\"KnightReturnProtect\")\nGoto Pain+2\n\nDeath.KnightBonk:\n\"----\" H 0 A_SpawnItemEx(\"PainKnightBonkHit\")\nGoto FlingDeath\n\nDeath.KnightBonk2:\n\"----\" H 0 A_SpawnItemEx(\"PainKnightRushHit\")\nGoto FlingDeath\n\nPain.KnightCrushNoisy:\n\"----\" H 0 A_ChangeVelocity(momz*3/4,momy*3/4,momz,CVF_REPLACE)\n\"----\" H 0 A_PlaySoundEx(\"weapon/knightcrushhit\",\"SoundSlot5\")\nGoto Pain+2\nDeath.KnightCrushNoisy:\n\"----\" H 0 A_PlaySoundEx(\"weapon/knightcrushhit\",\"SoundSlot5\")\nGoto Death\n\nPain.DuoWave:\n\"----\" H 0 A_GiveInventory(\"DuoWaveProtect\",1)\n\"----\" H 0 A_JumpIfInventory(\"DuoSlowImpaired\",1,2)\n\"----\" H 0 A_SpawnItemEx(\"ImpairmentHelperDuoSlow\")\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,4)\n\"----\" H 0 A_ChangeVelocity(momz/4,momy/4,momz,CVF_REPLACE)\n\"----\" H 0 ThrustThingZ(0,56,0,1)\n\"----\" H 0 A_GiveInventory(\"DuoWaveThrustSpeed1\",1)\n\"----\" H 0 A_SpawnItemEx(\"DuoWaveThrustFX1\")\n\"----\" H 0\nGoto Pain+1\nPain.DuoWave2:\n\"----\" H 0 A_GiveInventory(\"DuoWaveProtect\",1)\n\"----\" H 0 A_JumpIfInventory(\"DuoSlowImpaired\",1,2)\n\"----\" H 0 A_SpawnItemEx(\"ImpairmentHelperDuoSlow\")\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,4)\n\"----\" H 0 A_ChangeVelocity(momz/4,momy/4,momz,CVF_REPLACE)\n\"----\" H 0 ThrustThingZ(0,62,0,1)\n\"----\" H 0 A_GiveInventory(\"DuoWaveThrustSpeed2\",1)\n\"----\" H 0 A_SpawnItemEx(\"DuoWaveThrustFX2\")\n\"----\" H 0\nGoto Pain+1\nPain.DuoWave3:\n\"----\" H 0 A_GiveInventory(\"DuoWaveProtect\",1)\n\"----\" H 0 A_JumpIfInventory(\"DuoSlowImpaired\",1,2)\n\"----\" H 0 A_SpawnItemEx(\"ImpairmentHelperDuoSlow\")\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,4)\n\"----\" H 0 A_ChangeVelocity(momz/4,momy/4,momz,CVF_REPLACE)\n\"----\" H 0 ThrustThingZ(0,68,0,1)\n\"----\" H 0 A_GiveInventory(\"DuoWaveThrustSpeed3\",1)\n\"----\" H 0 A_SpawnItemEx(\"DuoWaveThrustFX3\")\n\"----\" H 0\nGoto Pain+1\nPain.DuoWave4:\n\"----\" H 0 A_GiveInventory(\"DuoWaveProtect\",1)\n\"----\" H 0 A_JumpIfInventory(\"DuoSlowImpaired\",1,2)\n\"----\" H 0 A_SpawnItemEx(\"ImpairmentHelperDuoSlow\")\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,4)\n\"----\" H 0 A_ChangeVelocity(momz/4,momy/4,momz,CVF_REPLACE)\n\"----\" H 0 ThrustThingZ(0,74,0,1)\n\"----\" H 0 A_GiveInventory(\"DuoWaveThrustSpeed4\",1)\n\"----\" H 0 A_SpawnItemEx(\"DuoWaveThrustFX4\")\n\"----\" H 0\nGoto Pain+1\nPain.DuoWave5:\n\"----\" H 0 A_GiveInventory(\"DuoWaveProtect\",1)\n\"----\" H 0 A_JumpIfInventory(\"DuoSlowImpaired\",1,2)\n\"----\" H 0 A_SpawnItemEx(\"ImpairmentHelperDuoSlow\")\n\"----\" H 0 A_JumpIfInventory(\"FlightDisableFlag\",1,4)\n\"----\" H 0 A_ChangeVelocity(momz/4,momy/4,momz,CVF_REPLACE)\n\"----\" H 0 ThrustThingZ(0,80,0,1)\n\"----\" H 0 A_GiveInventory(\"DuoWaveThrustSpeed5\",1)\n\"----\" H 0 A_SpawnItemEx(\"DuoWaveThrustFX5\")\n\"----\" H 0\nGoto Pain+1\n\nPain.ERTornadoHold:\n\"----\" H 0 ThrustThingZ(0,300,0,0)\nGoto Pain+2\n\nPain.AcidGas:\n\"----\" H 0 A_GiveInventory(\"AcidGasProtection\",1)\ngoto Pain+2\nPain.AcidmanBoss:\n\"----\" H 0 A_JumpIfInventory(\"AcidBurnImpaired\",1,2)\n\"----\" H 0 A_SpawnItemEx(\"ImpairmentHelperAcidBurn\")\n\"----\" H 0\ngoto Pain+1\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.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.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_GiveToTarget(\"SuperComboGauge\",1)\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.MercSploosh:\n\"----\" H 0 A_GiveInventory(\"MercBlobProtect\",1)\nGoto Pain+2\n\nPain.SolarVent:\n\"----\" H 0 ThrustThingZ(0,12,0,0)\n\"----\" H 0 A_SpawnItemEx(\"SolarVentHit\")\n\"----\" H 0 A_GiveInventory(\"TempPitProtect\")\nGoto Pain+2\n\nPain.BlastBombBig:\n\"----\" H 0 A_GiveInventory(\"PainScaleVelocityFlashBombC\",1)\n\"----\" H 0 A_GiveInventory(\"ChainBlastActivator\")\ngoto Pain+1\n\nPain.SparkChaserWep:\nPLY1 H 0 A_GiveInventory(\"SparkChaserTagged\", 1)\ngoto Pain+1\n\nPain.WaterCannonC:\n\"----\" H 0 A_GiveInventory(\"WaterCannonProtect\",1)\nGoto Pain\n\nPain.MegaBall:\n\"----\" H 0 A_GiveInventory(\"MegaBallProtect\",1)\nGoto Pain+2\nPain.MegaCutBall:\n\"----\" H 0 A_GiveInventory(\"CutBallProtect\",1)\nGoto Pain+2\nPain.MegaGutsBall:\n\"----\" H 0 A_GiveInventory(\"GutsBallProtect\",1)\nGoto Pain+2\n/*Pain.MegaBombBall:\n\"----\" H 0 A_GiveInventory(\"BombBallProtect\",1)\nGoto Pain+2*/\nPain.MegaFireBall:\n\"----\" H 0 A_GiveInventory(\"FireBallProtect\",1)\nGoto Pain+2\nPain.MegaElecBall:\n\"----\" H 0 A_GiveInventory(\"ElecBallProtect\",1)\nGoto Pain+2\nPain.MegaOilBall:\n\"----\" H 0 A_GiveInventory(\"OilBallProtect\",1)\nGoto Pain+2\n\nPain.JunkPunch2:\n\"----\" H 0 A_SpawnItemEx(\"PainPharaohPunchHit\",1)\ngoto Pain\n\nPain.TimeSlow:\nPain.MegaTimeBall:\n\"----\" H 0 A_GiveInventory(\"Slowed\",1)\n\"----\" H 0 A_GiveInventory(\"TimeBallProtect\",1)\nGoto Pain+2\n\nPain.HornetHoney:\n\"----\" H 0 A_JumpIfInventory(\"PowerIceHornet\",1,2)\n\"----\" H 0 A_GiveInventory(\"HornetmanSlowPickup\",1)\n\"----\" H 0\nGoto Pain+2\nPain.HornetHoney1:\n\"----\" H 0 A_JumpIfInventory(\"PowerIceHornet1\",1,2)\n\"----\" H 0 A_GiveInventory(\"HornetmanSlowPickup\",1)\n\"----\" H 0\nGoto Pain+2\nPain.HornetHoney2:\n\"----\" H 0 A_JumpIfInventory(\"PowerIceHornet2\",1,2)\n\"----\" H 0 A_GiveInventory(\"HornetmanSlowPickup\",1)\n\"----\" H 0\nGoto Pain+2\nPain.HornetHoney3:\n\"----\" H 0 A_JumpIfInventory(\"PowerIceHornet3\",1,2)\n\"----\" H 0 A_GiveInventory(\"HornetmanSlowPickup\",1)\n\"----\" H 0\nGoto Pain+2\n\nPain.MegaIceBall:\n\"----\" H 0 A_GiveInventory(\"PainStopC\",1)\n\"----\" H 0 A_GiveInventory(\"IceBallProtect\",1)\nPain.IceSlashSlow:\nPain.IceSlashSlowL:\nPain.IceSlashBlock:\n\"----\" H 0 A_GiveInventory(\"IcemanSlowPickup\",1)\nGoto Pain+2\n\nPain.SolarMortarMain:\n\"----\" H 0 ThrustThingZ(0,65,0,1)\nPain.SolarMortarWave:\n\"----\" H 0 A_GiveInventory(\"SolarMortarProtect\",1)\nGoto Pain\n\nPain.SolarHead:\n\"----\" H 0 A_GiveInventory(\"SolarHeadProtect\",1)\nGoto Pain\n\nPain.ShadowBladeCBM:\n\"----\" H 0 A_GiveInventory(\"ShadowBladeCBMProtect\",1)\nGoto Pain+2\n\nPain.JunkM_Cube:\n\"----\" H 0 A_GiveInventory(\"JunkM_CubeProtect\",1)\nGoto Pain\n\nPain.StoneSpiralP:\n\"----\" H 0 A_GiveInventory(\"StoneSpiralProtect\",1)\nGoto Pain+2\n\nPain.TorchHit1:\n\"----\" H 0 A_SpawnItemEx(\"PainTorchHit1\")\nGoto Pain+2\n\nPain.TorchHit2:\n\"----\" H 0 A_SpawnItemEx(\"PainTorchHit2\")\nGoto Pain+2\n\nPain.TorchHit25:\n\"----\" H 0 A_SpawnItemEx(\"PainTorchHit25\")\n\"----\" H 0 A_SpawnItemEx(\"PainDuoRamHit\")\nGoto Pain+2\n\nPain.TorchHit3:\n\"----\" H 0 A_SpawnItemEx(\"PainTorchHit3\")\nGoto Pain+2\n\nPain.TorchHit35:\n\"----\" H 0 A_SpawnItemEx(\"PainTorchHit35\")\nGoto Pain+2\n\nDeath.TorchHit1:\nDeath.TorchHit2:\nDeath.TorchHit3:\nDeath.TorchHit35:\n\"----\" H 1 A_GiveToTarget(\"TorchjutsuAmmo\",100)\nGoto Death\n\nDeath.TorchHit25:\n\"----\" H 1 A_GiveToTarget(\"TorchjutsuAmmo\",100)\n\"----\" H 0 A_GiveInventory(\"FlingDeathFlag\",1)\nGoto Death\n\nPain.TerraMelee:\n\"----\" H 0\n\"----\" H 0 A_SpawnItemEx(\"PainTerraMeleeHit\",1)\n\"----\" H 0 ThrustThingZ(0,2,0,0)\n\"----\" H 0 A_PlaySoundEx(\"weapon/terramelee\", \"SoundSlot7\", 0)\nGoto Pain.SparkShock\n\nDeath.TerraMelee:\n\"----\" H 0 ThrustThingZ(0,120,0,0)\n\"----\" H 0 A_PlaySoundEx(\"weapon/terrameleeko\", \"SoundSlot7\", 0)\n\"----\" H 0 A_SpawnItemEx(\"DeathConcreteShoulderHit\",1)\ngoto FlingDeath\n\nPain.SparkChaserTerra:\n\"----\" H 0 A_GiveInventory(\"SparkChaserTerraProtectC\",1)\nGoto Pain+2\n\nPain.BusterC:\n\"----\" H 0\n\"----\" H 0\nGoto Pain+1\n\nPain.FlameSwordB:\n\"----\" H 0 A_PlaySound(\"weapon/flameswordhit\",\"Body\")\n\"----\" H 0 A_GiveInventory(\"FlameSwordBProtect\",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.FlameSwordCBM1:\n\"----\" H 0 A_PlaySound(\"weapon/flameswordhit\",\"Body\")\n\"----\" H 0 A_GiveInventory(\"FlameSwordCBM1Protect\",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.FlameSwordCBM2:\n\"----\" H 0 A_PlaySound(\"weapon/flameswordhit\",\"Body\")\n\"----\" H 0 A_GiveInventory(\"FlameSwordCBM2Protect\",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.FlameSwordCBM3:\n\"----\" H 0 A_PlaySound(\"weapon/flameswordhit\",\"Body\")\n\"----\" H 0 A_GiveInventory(\"FlameSwordCBM3Protect\",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.DuoGrabExplosion5:\n\"----\" H 0 A_SpawnItemEx(\"PainDuoExplodeHit5\")\n\"----\" H 0 A_GiveInventory(\"DuoCleanserGrabberSpd0\")\n//\"----\" H 0 ThrustThingZ(0,40,0,0)\ngoto Pain+2\n\npain.DuoGrabExplosion4:\n\"----\" H 0 A_SpawnItemEx(\"PainDuoExplodeHit4\")\n\"----\" H 0 A_GiveInventory(\"DuoCleanserGrabberSpd0\")\n//\"----\" H 0 ThrustThingZ(0,40,0,0)\ngoto Pain+2\n\npain.DuoGrabExplosion3:\n\"----\" H 0 A_SpawnItemEx(\"PainDuoExplodeHit3\")\n\"----\" H 0 A_GiveInventory(\"DuoCleanserGrabberSpd0\")\n//\"----\" H 0 ThrustThingZ(0,40,0,0)\ngoto Pain+2\n\npain.DuoGrabExplosion2:\n\"----\" H 0 A_SpawnItemEx(\"PainDuoExplodeHit2\")\n\"----\" H 0 A_GiveInventory(\"DuoCleanserGrabberSpd0\")\n//\"----\" H 0 ThrustThingZ(0,40,0,0)\ngoto Pain+2\n\npain.DuoGrabExplosion1:\n\"----\" H 0 A_SpawnItemEx(\"PainDuoExplodeHit1\")\n\"----\" H 0 A_GiveInventory(\"DuoCleanserGrabberSpd0\")\n//\"----\" H 0 ThrustThingZ(0,40,0,0)\ngoto Pain+2\n\nPain.ChargeBusterC:\n\"----\" H 0 A_GiveInventory(\"PainScaleVelocityFlashBombC\",1)\nGoto Pain+1\n\nPain.HyperBombRecoil:\n\"----\" H 0 A_SpawnItemEx(\"PainHyperBombRecoil\",1)\nGoto Pain\n\nPain.SparkSaw:\n//\"----\" H 0 A_ScaleVelocity(0.9)\n\"----\" H 0 A_GiveToTarget(\"Health\",5)\n\"----\" H 0 A_GiveInventory(\"ShockChainsawProtect\",1)\nGoto Pain\n\nPain.SparkShot1:\n\"----\" H 0 A_Stop\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain\n\nPain.SparkShot2:\n\"----\" H 0 A_Stop\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked_18\",1)\nGoto Pain+1\n\nPain.SparkShot3:\n\"----\" H 0 A_Stop\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"ShockProtect\",1)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\n\nPain.SparkSuplex:\n\"----\" H 0 A_GiveInventory(\"SparkReloadProtect\")\nGoto Pain+2\n\nPain.MaestroFire:\n\"----\" H 0 A_GiveInventory(\"MaestroFireProtect\",1)\nGoto Pain+2\n\nPain.FireSpin:\n\"----\" H 0 A_GiveInventory(\"FireSpinProtect\",1)\nGoto Pain+2\n\nPain.MaestroFireGuts:\n\"----\" H 0 A_GiveInventory(\"MaestroFireProtect2\",1)\n\"----\" H 0 A_JumpIfInventory(\"FireGutsCheck\",1,\"NoGuts\")\n\"----\" H 0 A_GiveInventory(\"FireGutsCheck\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainMaestroAfterburn\",0,0,0,0,0,0,0,1)\nGoto Pain+2\nNoGuts:\n\"----\" H 0\nGoto Pain+2\n\nPain.MaestroShock:\n\"----\" H 0 A_Stop\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\n\nPain.MaestroShock2:\n\"----\" H 0 A_Stop\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked_18\",1)\nGoto Pain+1\n\nPain.MaestroWood:\n\"----\" H 0 A_GiveInventory(\"MaestroWoodProtect\",1)\n\"----\" H 0 ThrustThingZ(0,100,0,0)\nGoto Pain\n\nPain.MaestroAquaGuts:\n\"----\" H 0 A_SpawnItemEx(\"PainMaestroAquaGuts\",1)\nGoto Pain\n\nPain.SparkShotAlt:\n\"----\" H 0 A_GiveInventory(\"PowerSparkSlow\",1)\nGoto Pain+1\n\nPain.RaThor:\n\"----\" H 0 A_GiveInventory(\"RaThorHitItem\",1)\nGoto Pain+2\nPain.RaThorSlam:\n\"----\" H 0 A_SpawnItemEx(\"RaThorSlamFloorChecker\",0,0,0,0,0,0,0,1)\nGoto Pain.RaThor\nPain.RaThorWave:\n\"----\" H 0 A_GiveInventory(\"RaThorWaveProtect\",1)\nGoto Pain.RaThor\nPain.RaThorSpirit:\n\"----\" H 0 A_GiveInventory(\"RaThorSpiritProtect\",1)\nGoto Pain.RaThor\n\nPain.RaThorThrow:\n\"----\" H 0 A_GiveInventory(\"Shocked_18\",1)\nGoto Pain.RaThor\nDeath.RaThorThrow:\n\"----\" H 0 A_GiveInventory(\"RaThorHitItem\",1)\ngoto FlingDeath\n\nDeath.RaThorSlam:\n\"----\" H 0 A_PlaySound(\"weapon/RaThorSlam\",5,1.0)\nDeath.RaThor:\nDeath.RaThorSpirit:\nDeath.RaThorWave:\n\"----\" H 0 A_GiveInventory(\"RaThorHitItem\",1)\ngoto Death\n\nPain.JewelSatelliteC:\n\"----\" H 0 A_GiveInventory(\"JewelSatelliteProtect\")\nGoto Pain.JewelSatelliteB\n\nPain.AutoBoltX:\n\"----\" H 0 A_GiveInventory(\"AutoBoltXProtect\",1)\nGoto Pain+1\n\nPain.AutoAmmoShotS:\nPain.AutoAmmoShotL:\n\"----\" H 0\nGoto Pain+1\n\nPain.ArchOfWool:\n\"----\" H 0 A_GiveInventory(\"ArchWoolProtect\",1)\ngoto Pain+2\nPain.ArchOfWoolGround:\n\"----\" H 0 A_GiveInventory(\"ArchWoolGroundProtect\",1)\ngoto Pain+2\n\nPain.StrikeBall:\n\"----\" H 0 A_SpawnItemEx(\"PainStrikeBallHit\",1)\ngoto Pain+2\n\nDeath.StrikeBall:\n\"----\" H 0 ThrustThingZ(0,120,0,0)\n\"----\" H 0 A_PlaySound(\"weapon/reboundbunt\",5,1.0)\n\"----\" H 0 A_SpawnItemEx(\"PainStrikeBallHit\",1)\n\"----\" H 0 A_SpawnItemEx(\"DeathConcreteShoulderHit\",1)\ngoto FlingDeath\n\nPain.StrikeBall2:\n\"----\" H 0 A_PlaySound(\"weapon/reboundbunt\",5,1.0)\n\"----\" H 0 ThrustThingZ(0,30,0,0)\n\"----\" H 0 A_SpawnItemEx(\"PainStrikeBallHit2\",1)\ngoto Pain+2\n\nPain.MaxMetal:\n\"----\" H 0 A_GiveInventory(\"MetalRipperProtection\",1)\nGoto Pain\n\nDeath.StrikeBall2:\n\"----\" H 0 ThrustThingZ(0,120,0,0)\n\"----\" H 0 A_PlaySound(\"weapon/reboundbunt\",5,1.0)\n\"----\" H 0 A_PlaySound(\"weapon/reboundcheer\",6,1.0)\n\"----\" H 0 A_SpawnItemEx(\"DeathConcreteShoulderHit\",1)\ngoto FlingDeath\n\nPain.PumpTheHandle:\n\"----\" H 0 A_SpawnItemEx(\"PainConcreteShoulderHit\",1)\ngoto Pain+2\n\nPain.SaturnWhiteRing1:\n\"----\" H 0 A_GiveInventory(\"SaturnProtect1\",1)\ngoto Pain\n\nPain.SaturnWhiteRing2:\n\"----\" H 0 A_GiveInventory(\"SaturnProtect1\",1)\ngoto Pain\n\nPain.SaturnShot:\n//\"----\" H 0 A_GiveInventory(\"SaturnShotProtect\",1)\n\"----\" H 0 A_SpawnItemEx(\"PainConcreteShoulderHit\",1)\ngoto Pain\n\nDeath.SaturnShot:\nDeath.SaturnWhiteRing1:\nDeath.SaturnWhiteRing2:\n\"----\" H 0 ThrustThingZ(0,120,0,0)\n\"----\" H 0 A_SpawnItemEx(\"DeathConcreteShoulderHit\",1)\ngoto FlingDeath\n\n//Pain.ThunderClawHit:\n//\"----\" H 0 A_PlaySoundEx(\"weapon/thunderclawhit\",\"SoundSlot5\")\n//Goto Pain.ThunderClaw\n//Death.ThunderClawHit:\n//\"----\" H 0 A_PlaySoundEx(\"weapon/thunderclawhit\",\"SoundSlot5\")\n//Goto Death\n\n//-------------- [BG] ---------------\nPain.FusemanMeleeX:\n\"----\" H 0 A_GiveInventory(\"FusemanMeleeProtect\")\ngoto Pain+2\n\nPain.FusemanDash:\n\"----\" H 0 A_GiveInventory(\"FusemanDashP\")\ngoto Pain+2\n\nPain.FusemanDash2:\n\"----\" H 0 A_GiveInventory(\"FusemanDashP2\")\ngoto Pain+2\n\nPain.FuserZapper:\n\"----\" H 0 A_GiveInventory(\"FusemanZapperP\")\ngoto Pain+2\n\nPain.FuseTeleporter:\n\"----\" H 0 A_GiveInventory(\"FuseTeleporterP\")\ngoto Pain+2\n\npain.HeroProtoShot:\n\"----\" H 0\ngoto Pain+2\npain.HeroProtoShot2:\n\"----\" H 0 A_GiveInventory(\"HeroProtoShot2Protection\")\ngoto Pain+2\n\nPain.DuoCleanserGrab:\n\"####\" H 0 A_SpawnItemEx(\"PainDuoGrabHit\")\n\"####\" H 0 A_GiveInventory(\"DuoCleanserGrabberProt\",1)\n\"####\" H 0 A_GiveInventory(\"DuoCleanserGrabberSpd0\",1)\n//\"####\" H 0 A_GiveInventory(\"TimeStoppedTF\",1)\n\"####\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_Stop\nGoto Pain+2\n\npain.DuoGrabExplosion:\n\"----\" H 0 A_SpawnItemEx(\"PainDuoExplodeHit\")\n\"----\" H 0 A_GiveInventory(\"DuoCleanserGrabberSpd0\")\n//\"----\" H 0 ThrustThingZ(0,40,0,0)\ngoto Pain+2\n\nPain.ClassPainLess2Ice:\n\"----\" H 0\nGoto Pain+2\n\n//Flings\npain.ProtomanHeroShieldBash:\n\"----\" H 0 ThrustThingZ(0,12,0,0)\n\"----\" H 0 A_SpawnItem(\"PainProtoShieldBashHit\")\n\"----\" H 0 A_GiveInventory(\"ProtomanHeroShieldBasherProtection\")\ngoto Pain+2\n\nPain.KnightRush:\n\"----\" H 0 A_SpawnItemEx(\"PainKnightRushHit\")\nGoto Pain.SparkShock\n\ndeath.ProtomanHeroShieldBash:\n\"----\" H 0 ThrustThingZ(0,60,0,0)\n\"----\" H 0 A_SpawnItem(\"PainProtoShieldBashHit\")\n\"----\" H 0 A_GiveInventory(\"ProtomanHeroShieldBasherProtection\")\nGoto FlingDeath\n\npain.BassKickC:\n\"----\" H 0 ThrustThingZ(0,18,0,0)\n\"----\" H 0 A_SpawnItem(\"PainBassKickHit\")\n\"----\" H 0 A_GiveInventory(\"BassKickCProtect\")\ngoto Pain+2\ndeath.BassKickC:\n\"----\" H 0 ThrustThingZ(0,180,0,0)\n\"----\" H 0 A_SpawnItem(\"PainBassKickHit\")\n\"----\" H 0 A_GiveInventory(\"BassKickCProtect\")\nGoto FlingDeath\n\npain.BassKickEx:\n\"----\" H 0 ThrustThingZ(0,22,0,0)\n\"----\" H 0 A_SpawnItem(\"PainBassKickHitEx\")\n\"----\" H 0 A_GiveInventory(\"BassKickCProtect\")\ngoto Pain+2\n\n//Give on-hit\nPain.GrabBusterCopywep:\n\"----\" H 0 A_SpawnItemEx(\"PainGrabBusterHit\")\nGoto Pain+1\nDeath.GrabBusterCopywep:\n\"----\" H 0 A_SpawnItemEx(\"GrabBusterHealthChaser\")\ngoto Death\n\n// -------------------------------------------------\n\nPain.WheelCutter:\n\"----\" H 0 A_GiveInventory(\"WheelCutterProtect\", 1)\ngoto pain+1\nPain.ChillSpike:\nPLY1 H 0 A_GiveInventory(\"ChillFreeze\", 1)\ngoto Pain+1\nPain.WheelCutter:\n\"----\" H 0 A_GiveInventory(\"WheelCutterProtect\", 1)\ngoto pain+1\n\n//==================\n//All of the painstates below are copied from cbm\n//------------------\n//==================\n//MM2\nPain.CrashBomb:\n\"----\" H 0 A_ScaleVelocity(0.6)\nGoto Pain+2\n\n//MM5\nPain.GravitySmackUpNoSlam:\n\"----\" H 0 HealThing(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\n//MM8\nPain.TenguTornadoHeld:\n\"----\" H 0 A_JumpIfInventory(\"TenguTornadoHeldProtect\",1,3)\n\"----\" H 0 A_GiveInventory(\"TenguTornadoHeldProtect\",1)\n\"----\" H 0 A_SpawnItemEx(\"TenguTornadoHeld_H\")\n\"----\" H 0\ngoto Pain+2\n\n//MM10\nPain.PumpHandle:\n\"----\" H 0\nGoto Pain+1\n\nPain.PumpShield:\n\"----\" H 0 A_GiveInventory(\"PumpShieldProtect\",1)\nGoto Pain+2\n\nPain.WaterShielder:\n\"----\" H 0 A_GiveInventory(\"WaterShielderProtect\",1)\nGoto Pain+2\n\nPain.CommandoBombWave:\n\"----\" H 0 A_GiveInventory(\"CommandoBombWaveProtect\",1)\nGoto Pain+2\n\nPain.CommandoBomb:\n\"----\" H 0\ngoto Pain\n\nPain.CommandoCrush_p:\n\"----\" H 0 A_GiveInventory(\"CommandoCrushProtect\",1)\nGoto Pain+2\n\n//MMV\nPain.SaltWater:\n\"----\" H 0\ngoto Pain\n\nPain.PhotonMissileStart:\n\"----\" H 0\ngoto Pain\n\nPain.PhotonMissile:\n\"----\" H 0 A_GiveInventory(\"PhotonMissileProtect\",1)\nGoto Pain+2\n\nPain.ElectricShockBeam:\n\"----\" H 0 A_GiveInventory(\"ElectricShockBeamProtect\",1)\nGoto Pain+2\n\nPain.SlashClaw:\nPain.PlutoClaw:\n\"----\" H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\n\nPain.BreakDash:\n\"----\" H 0 A_GiveInventory(\"BreakDashProtect\",1)\nGoto Pain+2\n\nPain.BreakDashP:\n\"----\" H 0 A_GiveInventory(\"BreakDashPProtect\",1)\nGoto Pain+2\n\nPain.NeptuneSaltStomp:\n\"----\" H 0 A_GiveInventory(\"NeptuneSaltStompProtect\",1)\nGoto Pain+2\n\nPain.NeptuneLeap:\n\"----\" H 0 A_SpawnItemEx(\"PainNeptuneLeapHit\")\n\"----\" H 0 A_GiveInventory(\"NeptuneLeapProtect\",1)\nGoto Pain+2\nDeath.NeptuneLeap:\n\"----\" H 0 A_GiveToTarget(\"NeptuneLeap_Pickup\",1)\ngoto Death\n\nPain.RemoteMineB:\n\"----\" H 0 A_GiveInventory(\"RemoteMineBProtect\",1)\nGoto Pain+2\n\nPain.RemoteMineB2:\n\"----\" H 0\nGoto Pain+2\n\n}\n}"
      },
      {
        "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.Misc:Pain.DarkMan:Pain.Gamma:\nPain.ClassPainLess:\n\"----\" H 0\nGoto Pain+1\n\nPain.Punch:Pain.JunkPunch:Pain.ColdPunch:Pain.PharaohPunch:\n\"----\" H 0 A_GiveInventory(\"PunchProtect\")\nGoto Pain+1\n\nPain.ChargeKickB:\n\"----\" H 0 A_SpawnItemEx(\"ChargeHit\")\ngoto Pain+1\n\nPain.GutsPunch:\n\"----\" H 0 A_GiveInventory(\"GutsPunch_PowerProtect\",1)\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:Pain.ThunderWool:\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_PlaySoundEx(\"weapon/flamehit\",\"SoundSlot5\")\n\"----\" H 0 A_GiveInventory(\"FlameSwordProtect\",1)\n\"----\" H 0 A_SpawnItemEx(\"FlameSwordBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,359))\nGoto Pain\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(\"TimeStopProtector\")\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\"####\" \"]\" 0 A_PlaySoundEx(\"weapon/timestopper\",\"Body\")\n\"####\" \"]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\" 1 A_Stop\n//TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx(\"TimeStopGFXSmall\", random(8, 64), 0, random(0, 64), 0, 0, 0, random(0, 359))\nGoto Pain+2\nTimeStoppedX:\n\"####\" \"####################################################\" 1 A_Stop\n//TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx(\"TimeStopGFXSmall\", random(8, 64), 0, random(0, 64), 0, 0, 0, random(0, 359))\nGoto Pain+2\n\nPain.FlashRadius:\n\"----\" H 0 A_GiveInventory(\"TimeStopProtector\")\n\"----\" H 0 A_SpawnItemEx(\"BossFlashAOE\")\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.SparkShock:\n\"----\" H 0 A_JumpIfInventory(\"PowerShock\",1,3) //It's up to God if the rest of these painstates ever inherit this.\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\n\"----\" H 0\nGoto Pain+1\n\nPain.RollShock:\nPain.CentaurShock:\nPain.JunkShock:\nPain.NeutralShock:\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.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.MadMagFly:\n\"----\" H 0 A_ScaleVelocity(0.75)\n\"----\" H 0 A_GiveInventory(\"MadMagFlyProtection\",1)\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 HealThing(1)\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.GrabBusterCopywep:\n\"----\" H 0 A_SpawnItemEx(\"PainGrabBusterHit\")\nGoto Pain+1\nDeath.GrabBusterCopywep:\n\"----\" H 0 A_SpawnItemEx(\"GrabBusterHealthChaser\")\ngoto Death\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.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.YellowDevilC:\n\"----\" H 0 A_GiveInventory(\"YellowDevilCProtect\",1)\nGoto Pain\nDeath.YellowDevilC:\n\"----\" H 0 A_GiveToTarget(\"BumoEnd\",1)\ngoto Death\nPain.BearerDevilC:\n\"----\" H 0 A_GiveInventory(\"BearerDevilCProtect\",1)\nGoto Pain\nDeath.BearerDevilC:\n\"----\" H 0 A_GiveToTarget(\"BomuEnd\",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.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.FlashBombB\nPain.MagicCard2B:\n\"----\" H 0 A_GiveInventory(\"MagicCardProtect2C\",1)\n\"----\" H 0 //A_GiveInventory(\"PainMagicCardBHit\",1)\nGoto Pain.FlashBombB\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 //A_GiveToTarget(\"MeowMeowMix\")\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\nSaturnDeathContinue://to ensure it works :D\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 65\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/ClassBaseTID.txt",
        "contents": "actor BasicHitBase\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+MISSILE\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 //A_GiveToTarget(\"RollHitPickup\",1)\nstop\n}\n}\n\nactor BasicPoisonBase\n{\nvar int user_HIT;\nvar int user_SOURCE;\nvar int user_AMOUNT;\nHeight 0\nRadius 0\n+NOINTERACTION\n+NOCLIP\n+SEEKERMISSILE\nPROJECTILE\nStates\n{\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor BasicHitBaseF : BasicHitBase\n{\nvar int user_HIT;\n//var int user_power;\n}\n\nactor CollideFlag : OnceC{}\n\nactor ForceEndPoisonFlag : OnceC{}\n\nactor C_PSN2 : PowerUp{Powerup.Duration -2}\nactor C_PSN3 : PowerUp{Powerup.Duration -3}\nactor C_PSN4 : PowerUp{Powerup.Duration -4}\nactor C_PSN5 : PowerUp{Powerup.Duration -5}\nactor C_PSN6 : PowerUp{Powerup.Duration -6}\n\n//General idea/method by JaxOf7\n\n//Bonus Damage\n\nactor WilyFireB1_PSNFlag : OnceC{}\nactor WilyFireB1_PSN : C_PSN2{}\nactor WilyFireB1_PSN0 : C_PSN2{}//Online desync\n\nactor WilyFireB1_PSN1000:C_PSN2{}actor WilyFireB1_PSN1001:C_PSN2{}actor WilyFireB1_PSN1002:C_PSN2{}actor WilyFireB1_PSN1003:C_PSN2{}actor WilyFireB1_PSN1004:C_PSN2{}actor WilyFireB1_PSN1005:C_PSN2{}actor WilyFireB1_PSN1006:C_PSN2{}actor WilyFireB1_PSN1007:C_PSN2{}\nactor WilyFireB1_PSN1008:C_PSN2{}actor WilyFireB1_PSN1009:C_PSN2{}actor WilyFireB1_PSN1010:C_PSN2{}actor WilyFireB1_PSN1011:C_PSN2{}actor WilyFireB1_PSN1012:C_PSN2{}actor WilyFireB1_PSN1013:C_PSN2{}actor WilyFireB1_PSN1014:C_PSN2{}actor WilyFireB1_PSN1015:C_PSN2{}\nactor WilyFireB1_PSN1016:C_PSN2{}actor WilyFireB1_PSN1017:C_PSN2{}actor WilyFireB1_PSN1018:C_PSN2{}actor WilyFireB1_PSN1019:C_PSN2{}actor WilyFireB1_PSN1020:C_PSN2{}actor WilyFireB1_PSN1021:C_PSN2{}actor WilyFireB1_PSN1022:C_PSN2{}actor WilyFireB1_PSN1023:C_PSN2{}\nactor WilyFireB1_PSN1024:C_PSN2{}actor WilyFireB1_PSN1025:C_PSN2{}actor WilyFireB1_PSN1026:C_PSN2{}actor WilyFireB1_PSN1027:C_PSN2{}actor WilyFireB1_PSN1028:C_PSN2{}actor WilyFireB1_PSN1029:C_PSN2{}actor WilyFireB1_PSN1030:C_PSN2{}actor WilyFireB1_PSN1031:C_PSN2{}\nactor WilyFireB1_PSN1032:C_PSN2{}actor WilyFireB1_PSN1033:C_PSN2{}actor WilyFireB1_PSN1034:C_PSN2{}actor WilyFireB1_PSN1035:C_PSN2{}actor WilyFireB1_PSN1036:C_PSN2{}actor WilyFireB1_PSN1037:C_PSN2{}actor WilyFireB1_PSN1038:C_PSN2{}actor WilyFireB1_PSN1039:C_PSN2{}\nactor WilyFireB1_PSN1040:C_PSN2{}actor WilyFireB1_PSN1041:C_PSN2{}actor WilyFireB1_PSN1042:C_PSN2{}actor WilyFireB1_PSN1043:C_PSN2{}actor WilyFireB1_PSN1044:C_PSN2{}actor WilyFireB1_PSN1045:C_PSN2{}actor WilyFireB1_PSN1046:C_PSN2{}actor WilyFireB1_PSN1047:C_PSN2{}\nactor WilyFireB1_PSN1048:C_PSN2{}actor WilyFireB1_PSN1049:C_PSN2{}actor WilyFireB1_PSN1050:C_PSN2{}actor WilyFireB1_PSN1051:C_PSN2{}actor WilyFireB1_PSN1052:C_PSN2{}actor WilyFireB1_PSN1053:C_PSN2{}actor WilyFireB1_PSN1054:C_PSN2{}actor WilyFireB1_PSN1055:C_PSN2{}\nactor WilyFireB1_PSN1056:C_PSN2{}actor WilyFireB1_PSN1057:C_PSN2{}actor WilyFireB1_PSN1058:C_PSN2{}actor WilyFireB1_PSN1059:C_PSN2{}actor WilyFireB1_PSN1060:C_PSN2{}actor WilyFireB1_PSN1061:C_PSN2{}actor WilyFireB1_PSN1062:C_PSN2{}actor WilyFireB1_PSN1063:C_PSN2{}\n\nactor PainWilyFireB1Hit : BasicPoisonBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_AMOUNT\",1)//How much poison is given in tics. (1 if a powerup)\nTNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(257,0))//Record who was hit\nTNT1 A 0 A_TransferPointer(2,0,2,2)//Make this projectile the shooters\nTNT1 A 0 A_SetUserVar(\"user_SOURCE\", ACS_ExecuteWithResult(257,0))//Record the original shooter\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_POISONFOLLOW,user_HIT,-1,user_SOURCE)>=1, \"Death\")\n//^^Give player specific inventory based on who hit them, and also kills this actor if they already have that inventory\nTNT1 A 0 ACS_ExecuteAlways(C_POISONFOLLOW,0,user_HIT,200,user_SOURCE)//Makes this actor track/follow the person hit (Check ACS for more info)\n//^^This is Powerup track with following\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",50)//Duration between damage in tics\nGoto DoT\nDoT:\nTNT1 A 0 A_SpawnItemEX(\"WilyTackleFireFX1\",0,0,12,0,0,0,0,1)//From here you can do what for this actor while it tracks the Hit player.\nTNT1 A 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")//If the Hit Player is out of poison time, this flag will be given to end this actor\nTNT1 A 0 A_SpawnItemEX(\"WilyTackleFireFX1\",0,0,12,0,0,0,0,1)\nTNT1 A 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\nTNT1 A 0 A_SpawnItemEX(\"WilyTackleFireFX1\",0,0,12,0,0,0,0,1)\nTNT1 A 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\nTNT1 A 0 A_SpawnItemEX(\"WilyTackleFireFX1\",0,0,12,0,0,0,0,1)\nTNT1 A 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\nTNT1 A 0 A_SpawnItemEX(\"WilyTackleFireFX2\",0,0,12,0,0,0,0,1)\nTNT1 A 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\nTNT1 A 0 A_SpawnItemEX(\"WilyTackleFireFX2\",0,0,12,0,0,0,0,1)\nTNT1 A 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\nTNT1 A 0 A_SpawnItemEX(\"WilyTackleFireFX2\",0,0,12,0,0,0,0,1)\nTNT1 A 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\nTNT1 A 0 A_SpawnItemEX(\"WilyTackleFireFX2\",0,0,12,0,0,0,0,1)\nTNT1 A 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)//While this poison actor is following the player, its not following at the same rate online.\n//So the above will guarantee the below will spawn directly on the poisoned target.\nTNT1 A 0 A_SpawnItemEX(\"WilyFireCollide\",0,0,28)//The main damager\nloop\n}\n}\n\nactor PainMaestroAfterburn : BasicPoisonBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_AMOUNT\",1)\nTNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_TransferPointer(2,0,2,2)\nTNT1 A 0 A_SetUserVar(\"user_SOURCE\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 ACS_ExecuteAlways(C_POISONFOLLOW,0,user_HIT,200,user_SOURCE)\nTNT1 A 0 A_GiveInventory(\"WeaponCharge\",50)\nGoto DoT\nDoT:\nTNT1 AAA 4 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 0 A_SpawnItemEX(\"MaestroAfterburn\",0,0,28)\nTNT1 AAA 4 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 0 A_SpawnItemEX(\"MaestroAfterburn\",0,0,28)\nTNT1 AAA 4 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 0 A_SpawnItemEX(\"MaestroAfterburn\",0,0,28)\nTNT1 AAA 4 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 0 A_SpawnItemEX(\"MaestroAfterburn\",0,0,28)\nTNT1 AAA 4 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 0 A_SpawnItemEX(\"MaestroAfterburn\",0,0,28)\nstop\n}\n}\n\nactor MegaFireBall_PSNFlag : OnceC{}\nactor MegaFireBall_PSN : C_PSN3{}\nactor MegaFireBall_PSN0 : C_PSN3{}//Online desync\n\nactor MegaFireBall_PSN1000:C_PSN3{}actor MegaFireBall_PSN1001:C_PSN3{}actor MegaFireBall_PSN1002:C_PSN3{}actor MegaFireBall_PSN1003:C_PSN3{}actor MegaFireBall_PSN1004:C_PSN3{}actor MegaFireBall_PSN1005:C_PSN3{}actor MegaFireBall_PSN1006:C_PSN3{}actor MegaFireBall_PSN1007:C_PSN3{}\nactor MegaFireBall_PSN1008:C_PSN3{}actor MegaFireBall_PSN1009:C_PSN3{}actor MegaFireBall_PSN1010:C_PSN3{}actor MegaFireBall_PSN1011:C_PSN3{}actor MegaFireBall_PSN1012:C_PSN3{}actor MegaFireBall_PSN1013:C_PSN3{}actor MegaFireBall_PSN1014:C_PSN3{}actor MegaFireBall_PSN1015:C_PSN3{}\nactor MegaFireBall_PSN1016:C_PSN3{}actor MegaFireBall_PSN1017:C_PSN3{}actor MegaFireBall_PSN1018:C_PSN3{}actor MegaFireBall_PSN1019:C_PSN3{}actor MegaFireBall_PSN1020:C_PSN3{}actor MegaFireBall_PSN1021:C_PSN3{}actor MegaFireBall_PSN1022:C_PSN3{}actor MegaFireBall_PSN1023:C_PSN3{}\nactor MegaFireBall_PSN1024:C_PSN3{}actor MegaFireBall_PSN1025:C_PSN3{}actor MegaFireBall_PSN1026:C_PSN3{}actor MegaFireBall_PSN1027:C_PSN3{}actor MegaFireBall_PSN1028:C_PSN3{}actor MegaFireBall_PSN1029:C_PSN3{}actor MegaFireBall_PSN1030:C_PSN3{}actor MegaFireBall_PSN1031:C_PSN3{}\nactor MegaFireBall_PSN1032:C_PSN3{}actor MegaFireBall_PSN1033:C_PSN3{}actor MegaFireBall_PSN1034:C_PSN3{}actor MegaFireBall_PSN1035:C_PSN3{}actor MegaFireBall_PSN1036:C_PSN3{}actor MegaFireBall_PSN1037:C_PSN3{}actor MegaFireBall_PSN1038:C_PSN3{}actor MegaFireBall_PSN1039:C_PSN3{}\nactor MegaFireBall_PSN1040:C_PSN3{}actor MegaFireBall_PSN1041:C_PSN3{}actor MegaFireBall_PSN1042:C_PSN3{}actor MegaFireBall_PSN1043:C_PSN3{}actor MegaFireBall_PSN1044:C_PSN3{}actor MegaFireBall_PSN1045:C_PSN3{}actor MegaFireBall_PSN1046:C_PSN3{}actor MegaFireBall_PSN1047:C_PSN3{}\nactor MegaFireBall_PSN1048:C_PSN3{}actor MegaFireBall_PSN1049:C_PSN3{}actor MegaFireBall_PSN1050:C_PSN3{}actor MegaFireBall_PSN1051:C_PSN3{}actor MegaFireBall_PSN1052:C_PSN3{}actor MegaFireBall_PSN1053:C_PSN3{}actor MegaFireBall_PSN1054:C_PSN3{}actor MegaFireBall_PSN1055:C_PSN3{}\nactor MegaFireBall_PSN1056:C_PSN3{}actor MegaFireBall_PSN1057:C_PSN3{}actor MegaFireBall_PSN1058:C_PSN3{}actor MegaFireBall_PSN1059:C_PSN3{}actor MegaFireBall_PSN1060:C_PSN3{}actor MegaFireBall_PSN1061:C_PSN3{}actor MegaFireBall_PSN1062:C_PSN3{}actor MegaFireBall_PSN1063:C_PSN3{}\n\nactor PainMegaFireBallHit : BasicPoisonBase//Spawned from MegaFireBall\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_AMOUNT\",1)\n//TNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(257,0))\n//TNT1 A 0 A_TransferPointer(2,0,2,2)\n//TNT1 A 0 A_SetUserVar(\"user_SOURCE\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(147,1))\nTNT1 A 0 A_SetUserVar(\"user_SOURCE\",ACS_ExecuteWithResult(147,0))\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_POISONFOLLOW,user_HIT,-2,user_SOURCE)>=1, \"Death\")\nTNT1 A 0 ACS_ExecuteAlways(C_POISONFOLLOW,0,user_HIT,301,user_SOURCE)\n\nGoto DoT\nDoT://15\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"RockFireBallBurn\",0,0,28)//The main damager\nloop\n}\n}\n\nactor PainMegaFireBallHit2 : BasicPoisonBase//Spawned from MegaFireBall 2 : Burning Boogaloo\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_AMOUNT\",1)\n//TNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(257,0))\n//TNT1 A 0 A_TransferPointer(2,0,2,2)\n//TNT1 A 0 A_SetUserVar(\"user_SOURCE\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(147,1))\nTNT1 A 0 A_SetUserVar(\"user_SOURCE\",ACS_ExecuteWithResult(147,0))\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_POISONFOLLOW,user_HIT,-2,user_SOURCE)>=1, \"DoT\")\nTNT1 A 0 ACS_ExecuteAlways(C_POISONFOLLOW,0,user_HIT,301,user_SOURCE)\n\nGoto DoT\nDoT://15\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"RockFireBallBurn\",0,0,28)//The main damager\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"RockFireBallBurn\",0,0,28)//The main damager\nstop\n}\n}\n\nactor PainMegaFireBallHit3 : BasicPoisonBase//Spawned from MegaFireBall 2 : Burning Boogaloo\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_AMOUNT\",1)\n//TNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(257,0))\n//TNT1 A 0 A_TransferPointer(2,0,2,2)\n//TNT1 A 0 A_SetUserVar(\"user_SOURCE\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(147,1))\nTNT1 A 0 A_SetUserVar(\"user_SOURCE\",ACS_ExecuteWithResult(147,0))\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_POISONFOLLOW,user_HIT,-2,user_SOURCE)>=1, \"DoT\")\nTNT1 A 0 ACS_ExecuteAlways(C_POISONFOLLOW,0,user_HIT,301,user_SOURCE)\n\nGoto DoT\nDoT://15\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"RockFireBallBurn\",0,0,28)//The main damager\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"RockFireBallBurn\",0,0,28)//The main damager\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"RockFireBallBurn\",0,0,28)//The main damager\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"RockFireBallBurn\",0,0,28)//The main damager\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"RockFireBallBurn\",0,0,28)//The main damager\nstop\n}\n}\n\nactor LightRyuFire_PSNFlag : OnceC{}\nactor LightRyuFire_PSN : C_PSN3{}\nactor LightRyuFire_PSN0 : C_PSN3{}//Online desync\n\nactor LightRyuFire_PSN1000:C_PSN3{}actor LightRyuFire_PSN1001:C_PSN3{}actor LightRyuFire_PSN1002:C_PSN3{}actor LightRyuFire_PSN1003:C_PSN3{}actor LightRyuFire_PSN1004:C_PSN3{}actor LightRyuFire_PSN1005:C_PSN3{}actor LightRyuFire_PSN1006:C_PSN3{}actor LightRyuFire_PSN1007:C_PSN3{}\nactor LightRyuFire_PSN1008:C_PSN3{}actor LightRyuFire_PSN1009:C_PSN3{}actor LightRyuFire_PSN1010:C_PSN3{}actor LightRyuFire_PSN1011:C_PSN3{}actor LightRyuFire_PSN1012:C_PSN3{}actor LightRyuFire_PSN1013:C_PSN3{}actor LightRyuFire_PSN1014:C_PSN3{}actor LightRyuFire_PSN1015:C_PSN3{}\nactor LightRyuFire_PSN1016:C_PSN3{}actor LightRyuFire_PSN1017:C_PSN3{}actor LightRyuFire_PSN1018:C_PSN3{}actor LightRyuFire_PSN1019:C_PSN3{}actor LightRyuFire_PSN1020:C_PSN3{}actor LightRyuFire_PSN1021:C_PSN3{}actor LightRyuFire_PSN1022:C_PSN3{}actor LightRyuFire_PSN1023:C_PSN3{}\nactor LightRyuFire_PSN1024:C_PSN3{}actor LightRyuFire_PSN1025:C_PSN3{}actor LightRyuFire_PSN1026:C_PSN3{}actor LightRyuFire_PSN1027:C_PSN3{}actor LightRyuFire_PSN1028:C_PSN3{}actor LightRyuFire_PSN1029:C_PSN3{}actor LightRyuFire_PSN1030:C_PSN3{}actor LightRyuFire_PSN1031:C_PSN3{}\nactor LightRyuFire_PSN1032:C_PSN3{}actor LightRyuFire_PSN1033:C_PSN3{}actor LightRyuFire_PSN1034:C_PSN3{}actor LightRyuFire_PSN1035:C_PSN3{}actor LightRyuFire_PSN1036:C_PSN3{}actor LightRyuFire_PSN1037:C_PSN3{}actor LightRyuFire_PSN1038:C_PSN3{}actor LightRyuFire_PSN1039:C_PSN3{}\nactor LightRyuFire_PSN1040:C_PSN3{}actor LightRyuFire_PSN1041:C_PSN3{}actor LightRyuFire_PSN1042:C_PSN3{}actor LightRyuFire_PSN1043:C_PSN3{}actor LightRyuFire_PSN1044:C_PSN3{}actor LightRyuFire_PSN1045:C_PSN3{}actor LightRyuFire_PSN1046:C_PSN3{}actor LightRyuFire_PSN1047:C_PSN3{}\nactor LightRyuFire_PSN1048:C_PSN3{}actor LightRyuFire_PSN1049:C_PSN3{}actor LightRyuFire_PSN1050:C_PSN3{}actor LightRyuFire_PSN1051:C_PSN3{}actor LightRyuFire_PSN1052:C_PSN3{}actor LightRyuFire_PSN1053:C_PSN3{}actor LightRyuFire_PSN1054:C_PSN3{}actor LightRyuFire_PSN1055:C_PSN3{}\nactor LightRyuFire_PSN1056:C_PSN3{}actor LightRyuFire_PSN1057:C_PSN3{}actor LightRyuFire_PSN1058:C_PSN3{}actor LightRyuFire_PSN1059:C_PSN3{}actor LightRyuFire_PSN1060:C_PSN3{}actor LightRyuFire_PSN1061:C_PSN3{}actor LightRyuFire_PSN1062:C_PSN3{}actor LightRyuFire_PSN1063:C_PSN3{}\n\nactor PainLightRyuFireHit : BasicPoisonBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_AMOUNT\",1)\nTNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_TransferPointer(2,0,2,2)\nTNT1 A 0 A_SetUserVar(\"user_SOURCE\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_POISONFOLLOW,user_HIT,-3,user_SOURCE)>=1, \"Death\")\nTNT1 A 0 ACS_ExecuteAlways(C_POISONFOLLOW,0,user_HIT,302,user_SOURCE)\nGoto DoT\nDoT://15\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"LightRyuFireBurn\",0,0,28)\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"LightRyuFireBurn\",0,0,28)\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"LightRyuFireBurn\",0,0,28)\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"LightRyuFireBurn\",0,0,28)\nTNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"CollideFlag\",1,\"Death\")\n\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 AAAAAAAAAA 0 A_SpawnItemEx(\"MagmamanBitFX2\",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)\nTNT1 A 0 A_SpawnItemEX(\"LightRyuFireBurn\",0,0,28)\nstop\n}\n}\n\nactor PainGravitySlamHit : BasicHelper//Gravityman\n{\nvar int user_HIT;\nvar int user_GravStack;\n+NOCLIP\n//+NOTARGETSWITCH\nMass 250\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetArg(0, z-floorz)\nTNT1 A 0 A_SetUserVar(\"user_HIT\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_TransferPointer(2,0,2,2)\nTNT1 A 0 ACS_ExecuteAlways(C_GRAVITY_SLAM,0,user_HIT)\ngoto CollideWait\nCollideWait:\nTNT1 A 1 A_JumpIfInventory(\"CollideFlag\",1,\"CollideCheck\")\nloop\n\nCollideCheck:\nTNT1 A 0 //A_LogInt(user_GravStack)\nTNT1 A 0 A_SetScale(user_GravStack)\nTNT1 A 0 A_JumpIf(user_GravStack>=Mass,\"CollideX\")\nTNT1 A 0 A_JumpIf(user_GravStack>=1,\"Collide\")\nTNT1 A 2 //A_Log(\"Gravity Slam = 0\")\nstop\nCollide:\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 2 A_SpawnItemEx(\"GravitySmackDownCollide\",0,0,28,0,0,0,0,SXF_TRANSFERSPECIAL)//SXF_TRANSFERSCALE\nTNT1 A 2\nstop\nCollideX:\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 2 A_SpawnItemEx(\"GravitySmackDownCollideX\",0,0,28,0,0,0,0,SXF_TRANSFERSPECIAL)\nTNT1 A 2\nstop\n}\n}\n\nactor PainGravitySphereSlamHit : PainGravitySlamHit//GravitySphere\n{\nStates\n{\nCollide:\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 2\nstop\nCollideX:\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 2\nstop\n}\n}\n\nactor PainG_TenguSlamHit : PainGravitySlamHit//Tenguman\n{\nStates\n{\nCollide:\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 2 A_SpawnItemEX(\"G_TenguSlamCollide\",0,0,28,0,0,0,0,SXF_TRANSFERSPECIAL)\nTNT1 A 2\nstop\nCollideX:\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 2 A_SpawnItemEX(\"G_TenguSlamCollideX\",0,0,28,0,0,0,0,SXF_TRANSFERSPECIAL)\nTNT1 A 2\nstop\n}\n}\n\nactor PainG_TornadoSlamHit : PainGravitySlamHit//Tornadoman\n{\nStates\n{\nCollide:\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 2 A_SpawnItemEX(\"G_TornadoSlamCollide\",0,0,28,0,0,0,0,16384)\nTNT1 A 2\nstop\nCollideX:\nTNT1 A 0 Thing_Move(0,user_HIT,1)\nTNT1 A 2 A_SpawnItemEX(\"G_TornadoSlamCollideX\",0,0,28,0,0,0,0,16384)\nTNT1 A 2\nstop\n}\n}\n\nactor PainDynaTagHit : BasicHitBaseF\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_HIT\",ACS_ExecuteWithResult(257,0)+2000)\nTNT1 A 0 A_TransferPointer(2,0,2,2)\nTNT1 A 0 ACS_ExecuteAlways(C_DYNAMOACS,0,user_HIT,ACS_ExecuteWithResult(257,0))\nstop\n}\n}\n\n//Flings\nactor PainBaseFlingHit : BasicHitBaseF\n{\nvar int user_Amount;\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"TempPitProtect\",1)\nTNT1 A 0 A_SetUserVar(\"user_HIT\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_TransferPointer(2,0,2,2)\nTNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,user_Amount)\nstop\n}\n}\n\nactor PainSaturnShotHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",45)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainDuoRamHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",32)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor DeathLightRyuShoryuHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",15)\ngoto PainBaseFlingHit::Spawn+2\n}\n}\n\nactor DeathLightRyuShinShoryuHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",35)\ngoto PainBaseFlingHit::Spawn+2\n}\n}\n\nactor PainMagPushHit : BasicHitBaseF//MagHitKai\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"TempPitProtect\",1)\nTNT1 A 0 A_SetUserVar(\"user_HIT\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_TransferPointer(2,0,2,2)\nTNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,0+2.5*ACS_ExecuteWithResult(C_CHECK_TARGET_ITEM,2))\nstop\n}\n}\n\nactor PainPharaohPunchHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",20)\ngoto PainBaseFlingHit::Spawn\n}\n}\nactor PainKnightRushHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",8)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainKnightBonkHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",8)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainWindStormPullHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",-16)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainWindStormPushHit : BasicHitBaseF\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"TempPitProtect\",1)\nTNT1 A 0 A_SetUserVar(\"user_HIT\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_TransferPointer(2,0,2,2)\nTNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,10+ACS_ExecuteWithResult(C_CHECK_TARGET_ITEM,1))\nstop\n}\n}\n\nactor PainODuoRamHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",64)\ngoto PainBaseFlingHit::Spawn\n}\n}\nactor PainODuoMeteorFHit : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",38)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor DeathConcreteShoulderHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",70)\ngoto PainBaseFlingHit::Spawn+2\n}\n}\n\nactor DeathUranusLiftHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",40)\ngoto PainBaseFlingHit::Spawn+2\n}\n}\n\nactor PainEnkerPushHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",22)\ngoto PainBaseFlingHit::Spawn\n}\n}\nactor DeathEnkerPushHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",44)\ngoto PainBaseFlingHit::Spawn+2\n}\n}\n\nactor PainMegaWaterBarrierHit : BasicHitBaseF\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"TempPitProtect\",1)\nTNT1 A 0 A_SetUserVar(\"user_HIT\", ACS_ExecuteWithResult(257,0))\nTNT1 A 0 A_TransferPointer(2,0,2,2)\nTNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,5+1*ACS_ExecuteWithResult(C_CHECK_TARGET_ITEM,3))\nstop\n}\n}\n\nactor PainHarpoon2PullHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",-30)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainYellowDevilPHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",77)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainHyperStormBlasterHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",7)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainJupiterPushHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",25)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\n//Give on-hit\nactor PainRollHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainRollHit_P\",1)\nstop\n}\n}\nactor PainRollHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"RollHealAmmo\",4)\nstop\n}\n}\n\nactor PainLightRyu1Hit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainLightRyu1Hit_P\",1)\nstop\n}\n}\nactor PainLightRyu1Hit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"SuperComboGauge\",1)\nstop\n}\n}\nactor PainLightRyu4Hit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainLightRyu4Hit_P\",1)\nstop\n}\n}\nactor PainLightRyu4Hit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"SuperComboGauge\",4)\nstop\n}\n}\nactor PainLightRyuStopHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainLightRyuStopHit_P\",1)\nstop\n}\n}\nactor PainLightRyuStopHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"RyuShinShoryuFlag_P\",1)\nstop\n}\n}\n\nactor JoeHitFlag2 : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\nactor JoeHitFlag : Powerup\n{\nPowerup.Duration -8\n}\nactor JoeHitItem : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"JoeHitFlag\",1,3)\nTNT1 A 0 A_GiveInventory(\"JoeHitFlag2\",1)\nTNT1 A 0 A_SpawnItemEx(\"JoeHitWatcher\")\nTNT1 A 0 A_GiveInventory(\"JoeHitFlag\",1)\nstop\n}\n}\nactor JoeHitWatcher : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nTNT1 A 0 A_JumpIfInTargetInventory(\"JoeHitFlag\", 1, \"Spawn\")\nTNT1 A 0 A_TakeFromTarget(\"JoeHitFlag2\",999)\nstop\n}\n}\n\nactor JoeJHit: BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"JoeJHit_P\",1)\nstop\n}\n}\nactor JoeJHit_P: CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"JoeUpgradeAmmo\",10)\nstop\n}\n}\n\nactor PainBBA_MegaRHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainBBA_MegaRHit_P\",1)\nstop\n}\n}\nactor PainBBA_MegaRHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"BBA_Money\",16)\nstop\n}\n}\n\nactor PainToadLeapHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainToadLeapHit_P\",1)\nstop\n}\n}\nactor PainToadLeapHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"ToadLeap_Pickup\",1)\nstop\n}\n}\n\nactor PainPlantBusterHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainPlantBusterHit_P\",1)\nstop\n}\n}\nactor PainPlantBusterHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"PlantmanHealAmmoHelper\")\nTNT1 A 0 A_GiveToTarget(\"LMSRegen\",1)\nstop\n}\n}\n\nactor PainBlizzardBowlHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainBlizzardBowlHit_P\",1)\nstop\n}\n}\nactor PainBlizzardBowlHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"CrackFlag\",1)\nstop\n}\n}\n\nactor PainTerraMeleeHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",10)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor SolarVentHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",16)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainShadeSuckHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainShadeSuckHit_P\",1)\nstop\n}\n}\nactor PainShadeSuckHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"DocBusterC\",1,\"P_DOC\")\n\nTNT1 A 0 A_JumpIfInventory(\"EnkerAbsorbCount\",1,\"P_1\")\nTNT1 A 0 A_JumpIfInventory(\"BasicArmor\",1,\"P_2\")\nTNT1 A 0 A_JumpIfInventory(\"StarArmorPower\",1,\"P_2\")\n\nTNT1 A 0 A_JumpIfInventory(\"WilyNoSuitWeakness\",1,\"P_7\")\nTNT1 A 0 A_JumpIfInventory(\"DynamoHealingWeakness\",1,\"P_7\")\nTNT1 A 0 A_JumpIfInventory(\"TrioRageWeakness\",1,\"P_10\")\ngoto P_5\n\nP_1:TNT1 A 0 A_GiveToTarget(\"Health\",1)stop\nP_2:TNT1 A 0 A_GiveToTarget(\"Health\",2)stop\nP_3:TNT1 A 0 A_GiveToTarget(\"Health\",3)stop\nP_4:TNT1 A 0 A_GiveToTarget(\"Health\",5)stop\nP_5:TNT1 A 0 A_GiveToTarget(\"Health\",5)stop\nP_6:TNT1 A 0 A_GiveToTarget(\"Health\",6)stop\nP_7:TNT1 A 0 A_GiveToTarget(\"Health\",7)stop\nP_8:TNT1 A 0 A_GiveToTarget(\"Health\",8)stop\nP_9:TNT1 A 0 A_GiveToTarget(\"Health\",9)stop\nP_10:TNT1 A 0 A_GiveToTarget(\"Health\",10)stop\nP_11:TNT1 A 0 A_GiveToTarget(\"Health\",11)stop\n\nP_DOC:\nTNT1 A 0 A_JumpIfInventory(\"DocToadHealthBar\",1,\"P_3\")\nTNT1 A 0 A_JumpIfInventory(\"DuoHealthBar\",1,\"P_4\")\nTNT1 A 0 A_JumpIfInventory(\"MegaHealthBar\",1,\"P_6\")\nTNT1 A 0 A_JumpIfInventory(\"ProtoHealthBar\",1,\"P_7\")\ngoto P_7\nNo:\nTNT1 A 0\nstop\n}\n}\n\nactor ChargeHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"ChargeHit_P\",1)\nstop\n}\n}\nactor ChargeHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"ChargemanArmorBonus\",1)\nTNT1 A 0 A_GiveToTarget(\"ChargemanArmorDelay\",1)\nstop\n}\n}\n\nactor PainFlashBombB1Hit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainFlashBombB1Hit_P\",1)\nstop\n}\n}\nactor PainFlashBombB1Hit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"THATFELTGOODAMMO\",1)\nstop\n}\n}\nactor PainFlashBombB2Hit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainFlashBombB2Hit_P\",1)\nstop\n}\n}\nactor PainFlashBombB2Hit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"THATFELTGOODAMMO\",3)\nstop\n}\n}\n\nactor PainMagicCardBHit : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 //A_JumpIf(CheckClass(\"Magicman\",2),\"GiveHealth\")//This works, but not on the first hit\n//stop\n//GiveHealth:\nTNT1 A 0 A_JumpIfInventory(\"MagicStackedDeckFlag1\",1,\"Stack_1\")\nTNT1 A 0 A_JumpIfInventory(\"MagicStackedDeckFlag2\",1,\"Stack_1\")\nTNT1 A 0 A_JumpIfInventory(\"MagicStackedDeckFlag3\",1,\"Stack_2\")\nTNT1 A 0 A_JumpIfInventory(\"MagicStackedDeckFlag4\",1,\"Stack_3\")\nTNT1 A 0 A_JumpIfInventory(\"MagicStackedDeckFlag5\",1,\"Stack_4\")\ngoto Stack_5\nStack_1:\nTNT1 A 0 A_GiveInventory(\"MagicStackedDeckFlag1\",1)\nTNT1 A 0 A_SpawnItemEx(\"MagicCardHealth_1\",0,0,28,0,0,0,0,1)\nstop\nStack_2:\nTNT1 A 0 A_GiveInventory(\"MagicStackedDeckFlag2\",1)\nTNT1 A 0 A_SpawnItemEx(\"MagicCardHealth_2\",0,0,28,0,0,0,0,1)\nstop\nStack_3:\nTNT1 A 0 A_GiveInventory(\"MagicStackedDeckFlag3\",1)\nTNT1 A 0 A_SpawnItemEx(\"MagicCardHealth_3\",0,0,28,0,0,0,0,1)\nstop\nStack_4:\nTNT1 A 0 A_GiveInventory(\"MagicStackedDeckFlag4\",1)\nTNT1 A 0 A_SpawnItemEx(\"MagicCardHealth_4\",0,0,28,0,0,0,0,1)\nstop\nStack_5:\nTNT1 A 0 A_GiveInventory(\"MagicStackedDeckFlag5\",1)\nTNT1 A 0 A_SpawnItemEx(\"MagicCardHealth_5\",0,0,28,0,0,0,0,1)\nstop\n\nNo:\nTNT1 A 0\nstop\n}\n}\n\nactor MagicStackedDeckFlag1 : Powerup\n{\nPowerup.Duration -3\n}\nactor MagicStackedDeckFlag2 : MagicStackedDeckFlag1 {}\nactor MagicStackedDeckFlag3 : MagicStackedDeckFlag1 {}\nactor MagicStackedDeckFlag4 : MagicStackedDeckFlag1 {}\nactor MagicStackedDeckFlag5 : MagicStackedDeckFlag1 {}\n\nactor MagicCardHealth_1\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+SEEKERMISSILE\nReactionTime 100\nDamage (0)\nRadius 2\nHeight 2\nspeed 35\nscale 2.5\nstates\n{\nSpawn:\nMCAR S 0\nMCAR S 0 A_TransferPointer(2,0,2,2)\nMCAR S 0 A_RearrangePointers(0,0,2)\nMCAR S 1 A_FaceTarget\ngoto Spawn2\nSpawn2:\nMCAR S 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR S 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR S 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR S 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR S 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR S 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR T 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR T 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR T 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR T 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR T 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR T 1 A_JumpIfCloser(64,\"Giver\")MCAR S 0 A_SeekerMissile(90,90,2)\nMCAR S 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,\"SuperDeath\")\nMCAR S 0 A_CountDown\nloop\nSuperDeath:\nTNT1 A 1\nstop\nGiver:\nTNT1 A 0 A_GiveToTarget(\"MC_H_PU_1\",1)\ngoto End\nEnd:\nTNT1 A 0 A_Stop\nTNT1 A 1 A_SpawnItemEx(\"MagicCardHealthFX\",-8,0,-8,0,0,0,0,1)\nstop\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor MagicCardHealthFX : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"item/energyup\",\"Weapon\")\nTNT1 A 2 A_SpawnItemEx(\"MagicCardHealthFX2\",0,0,0,0,0,0,0,1)\nstop\n}\n}\n\nactor MagicCardHealthFX2 : BasicClientSide\n{\nStates\n{\nSpawn:\nMGB9 ABCDEFG 3\nstop\n}\n}\n\nactor MagicCardHealth_2 : MagicCardHealth_1\n{\nStates\n{\nGiver:\nTNT1 A 0 A_GiveToTarget(\"MC_H_PU_2\",1)\ngoto End\n}\n}\nactor MagicCardHealth_3 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_3\",1)goto End}}\nactor MagicCardHealth_4 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_4\",1)goto End}}\nactor MagicCardHealth_5 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_5\",1)goto End}}\nactor MagicCardHealth_6 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_6\",1)goto End}}\nactor MagicCardHealth_7 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_7\",1)goto End}}\nactor MagicCardHealth_8 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_8\",1)goto End}}\nactor MagicCardHealth_9 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_9\",1)goto End}}\nactor MagicCardHealth_10: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_10\",1)goto End}}\nactor MagicCardHealth_11: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_11\",1)goto End}}\nactor MagicCardHealth_12: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_12\",1)goto End}}\nactor MagicCardHealth_13: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_13\",1)goto End}}\nactor MagicCardHealth_14: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_14\",1)goto End}}\nactor MagicCardHealth_15: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_15\",1)goto End}}\nactor MagicCardHealth_16: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_16\",1)goto End}}\nactor MagicCardHealth_17: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_17\",1)goto End}}\nactor MagicCardHealth_18: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_18\",1)goto End}}\nactor MagicCardHealth_19: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_19\",1)goto End}}\nactor MagicCardHealth_20: MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget(\"MC_H_PU_20\",1)goto End}}\n\nactor MC_H_PU_1 : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_JumpIf(Health>0,\"Pickup2\")\nstop\nPickup2:\nTNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,1)\nstop\n}\n}\nactor MC_H_PU_2 : MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,2)stop}}\nactor MC_H_PU_3 : MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,3)stop}}\nactor MC_H_PU_4 : MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,4)stop}}\nactor MC_H_PU_5 : MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,5)stop}}\nactor MC_H_PU_6 : MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,6)stop}}\nactor MC_H_PU_7 : MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,7)stop}}\nactor MC_H_PU_8 : MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,8)stop}}\nactor MC_H_PU_9 : MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,9)stop}}\nactor MC_H_PU_10: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,10)stop}}\nactor MC_H_PU_11: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,11)stop}}\nactor MC_H_PU_12: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,12)stop}}\nactor MC_H_PU_13: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,13)stop}}\nactor MC_H_PU_14: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,14)stop}}\nactor MC_H_PU_15: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,15)stop}}\nactor MC_H_PU_16: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,16)stop}}\nactor MC_H_PU_17: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,17)stop}}\nactor MC_H_PU_18: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,18)stop}}\nactor MC_H_PU_19: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,19)stop}}\nactor MC_H_PU_20: MC_H_PU_1{states{Pickup2:TNT1 A 0 ACS_NamedExecuteAlways(\"C_HEALTHACS\",0,2,20)stop}}\n\nactor PainODuoMeteorHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainODuoMeteorHit_P\",1)\nstop\n}\n}\nactor PainODuoMeteorHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"ODuoTheMeteorPickup\",1)\nstop\n}\n}\n\nactor PainConcreteShoulderHit : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainConcreteShoulderHit_P\",1)\nTNT1 A 0 A_SetUserVar(\"user_Amount\",30)\ngoto PainBaseFlingHit::Spawn\n}\n}\nactor PainConcreteShoulderHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"ConcreteBashFlag\",1)\nstop\n}\n}\n\nactor PainStrikeBallHit : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainStrikeBallHit_P\",1)\nTNT1 A 0 A_SetUserVar(\"user_Amount\",30)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainStrikeBallHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"StrikeHitTarget\",1)\nstop\n}\n}\n\nactor PainStrikeBallHit2 : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainStrikeBallHit2_P\",1)\nTNT1 A 0 A_SetUserVar(\"user_Amount\",40)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainStrikeBallHit2_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"ReboundStrikerPower\",4)\nstop\n}\n}\n\nactor PainDarkTankHit : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",5)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainTornadoLeapHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainTornadoLeapHit_P\",1)\nstop\n}\n}\nactor PainTornadoLeapHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"TornadoLeap_Pickup\",1)\nstop\n}\n}\n\nactor PainQuintLeapHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainQuintLeapHit_P\",1)\nstop\n}\n}\nactor PainQuintLeapHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"QuintLeap_Pickup\",1)\nstop\n}\n}\n\nactor PainHSHColdHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainHSHColdHit_P\",1)\nstop\n}\n}\nactor PainHSHColdHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"HyperStormCold\",6)\nstop\n}\n}\n\nactor PainHSHSuckHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainHSHSuckHit_P\",1)\nstop\n}\n}\nactor PainHSHSuckHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 //A_GiveToTarget(\"Health\",1)\nstop\n}\n}\n\nactor PainScrewCrusherMHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainScrewCrusherMHit_P\",1)\nstop\n}\n}\nactor PainScrewCrusherMHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"PunkMeleeStopPickup\",1)\nstop\n}\n}\n\n//Bull\nactor PainProtoShieldBashHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",28)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainBassKickHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",24)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainBassKickHitEx : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",36)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainDuoGrabHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainDuoGrabHit_P\",1)\nstop\n}\n}\nactor PainDuoGrabHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_PlaySoundEx(\"weapon/crashland\",\"Weapon\")\nTNT1 A 0 A_GiveToTarget(\"DuoGrabSucess\",1)\nTNT1 A 0 A_GiveToTarget(\"DuoGrabP\",1)\nTNT1 A 0 A_GiveToTarget(\"DuoCleanserGrabberSpd0\",1)\nTNT1 A 0 A_GiveToTarget(\"IsInvunFlag\",1)\nstop\n}\n}\n\nactor PainDuoExplodeHit5 : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",50)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainDuoExplodeHit4 : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",40)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainDuoExplodeHit3 : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",30)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainDuoExplodeHit2 : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",20)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainDuoExplodeHit1 : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",10)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainHyperBombRecoil : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",25)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PainMaestroAquaGuts : PainBaseFlingHit\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",6)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\n//$Binary\n\nactor ChillFree : custominventory {\nstates {\npickup:\nTNT1 A 0\nTNT1 A 0 SetPlayerProperty(0,0,4)\nstop\n}}\n\nactor ChillStuck : custominventory {\nstates {\npickup:\nTNT1 A 0\nTNT1 A 0 SetPlayerProperty(0,1,4)\nstop\n}}\n\nactor ChillVision : PowerUp\n{\n\tPowerup.Duration 9999\n\tPowerup.Colormap 0.5, 1.0, 1.0, 1.0, 1.0, 1.1\n}\n\nactor ChillFreeze : powerspeed\n{\npowerup.duration 1600\nspeed 0\n+POWERSPEED.NOTRAIL\n}\n\nactor ChillFreezeWatcher\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n-SOLID\n+NOTARGETSWITCH\n+NOGRAVITY\n+MISSILE\nreactiontime 26\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIfInTargetInventory(\"GoodatGettingHit\",1,\"Death2\")\nTNT1 A 0 A_GiveToTarget(\"ChillStuck\",1)\nTNT1 A 0 A_GiveToTarget(\"ChillVision\",1)\nTNT1 A 1 A_GiveToTarget(\"ChillVision\",1)\nTNT1 A 0 A_GiveToTarget(\"ChillStuck\",1)\nTNT1 A 0 A_GiveToTarget(\"ChillVision\",1)\nTNT1 A 0 A_Countdown\nloop\nDeath:\nTNT1 A 0\nTNT1 A 0 A_TakeFromTarget(\"PowerofNothing\",999)\nTNT1 A 0 A_TakeFromTarget(\"GoodatGettingHit\",999)\nTNT1 A 0 A_TakeFromTarget(\"ChillVision\",999)\nTNT1 A 0 A_GiveToTarget(\"ChillFree\",1)\nstop\nDeath2:\nTNT1 A 0\nTNT1 A 0 A_TakeFromTarget(\"PowerofNothing\",999)\nTNT1 A 0 A_TakeFromTarget(\"GoodatGettingHit\",999)\nPLY1 H 0 A_SpawnItemEx(\"ChillFreezeWatcher\",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)\nstop\nDeath2:\nTNT1 A 0\nstop\n}}\n\nactor PowerofNothing : Powerup {}\n\nactor GoodatGettingHit : PowerupGiver\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\npowerup.duration 5\npowerup.type \"PowerofNothing\"\n}\n\nactor PainNeptuneLeapHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"PainNeptuneLeapHit_P\",1)\nstop\n}\n}\nactor PainNeptuneLeapHit_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"NeptuneLeap_Pickup\",1)\nstop\n}\n}\n\nactor PainRaThorThrowHit : PainBaseFlingHit\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SetUserVar(\"user_Amount\",64)\ngoto PainBaseFlingHit::Spawn\n}\n}\n\nactor PowerRaThorHitG : BasicPowerupGiver\n{\npowerup.type \"PowerRaThorHit\"\n}\nactor PowerRaThorHit : PowerUp\n{\nPowerup.Duration -10\n}\nactor RaThorHitFlag : OnceC{}\n\nactor RaThorHitItem : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"PowerRaThorHit\",1,3)\nTNT1 A 0 A_GiveInventory(\"RaThorHitFlag\",1)\nTNT1 A 0 A_SpawnItemEx(\"RaThorHitWatcher\")\nTNT1 A 0 A_GiveInventory(\"PowerRaThorHitG\",1)\nstop\n}\n}\nactor RaThorHitWatcher : BasicHelper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nTNT1 A 0 A_JumpIfInTargetInventory(\"PowerRaThorHit\",1,\"Spawn\")\nTNT1 A 0 A_TakeFromTarget(\"RaThorHitFlag\",999)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/inventory/baseweapon.txt",
        "contents": "//Replace the BaseWeapon with needed details.\n//Go to actors/Wep/CopyWep/baseweapon_s.txt to find the vanilla weapons version.\n\nactor BaseMM8BDMWep_CBM : Weapon\n{\n\t+WEAPON.AMMO_OPTIONAL\n\t+WEAPON.ALT_AMMO_OPTIONAL\n\t//+WEAPON.ALT_USES_BOTH//CBM\n\t+WEAPON.DONTBOB\n\tWeapon.SlotNumber 1\n\tinventory.pickupsound \"weapon/weaponup\"\n\tScale 2.0\n\tweapon.ammotype \"BusterAmmo\"//CBM\n\tinventory.icon \"TNT1A0\"//CBM\n\tdropitem \"\"//CBM\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 1 A_GiveInventory(\"MM8BDMWepSpawnFunc\",1)\n\t\tTNT1 A 1 A_Jump(256, \"SpawnLoop\")\n\t\twait\n\tSpawnLoop:\n\t\tWEAP X 1\n\t\tloop\n//CBM~~~~~~\n\tDeselect:\n\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\tTNT1 A 1 A_Lower\n\tLoop\n\tSelect:\n\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\tTNT1 A 1 A_Raise\n\tLoop\n\n\tReady:\n\tTNT1 A 1 A_WeaponReady\n\tloop\n\tFire:\n\tTNT1 A 1 A_RailWait\n\tgoto Ready\n\n\tFlash:\n\tTNT1 A 1\n\tstop\n//CBM~~~~~~\n\n//\tAltfire:\n//\t\t\"----\" A 1 A_JumpIfInventory(\"BusterAmmo\", 1, \"Fire\")\n//\t\t\"----\" A 1 A_Jump(256, \"NoAmmo\")\n//\t\twait\n\tFlashloop:\n\t\tTNT1 A 0\n\t\tstop\n\tNoFlash:\n\t\tTNT1 A 0\n\t\tstop\n\tSound.BusterCharge:\n\t\tTNT1 A 9 A_PlaySoundEx(\"weapon/adapterchargeloop\",\"Weapon\",0)\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")//CBM\n\t\tTNT1 A 1 A_JumpIfInventory(\"WeaponCharge\",1,\"Sound.BusterCharge\")\n\t\tstop\n\t}\n}\n\n#include \"actors/Wep/CopyWep/baseweapon_s.txt\"\n//#include \"Wep/CopyWep/baseweapon_s2.txt\"\n\n// Used for Atomic Fire and other weapons that charge up\nactor WeaponCharge : Inventory\n{\ninventory.amount 1\ninventory.maxamount 5000\n}\n\n// Used for pretty much every shield in the game\nactor ShieldCheck : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\n// These are used for Copy Vision and Remote Mine's aiming\nActor TargetMarker : CustomInventory\n{\nInventory.amount 1\nInventory.MaxAmount 1\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nstop\nUse:\n//TNT1 A 0 A_FireCustomMissile(\"TargetTracer\",0,0,0,16,0,0)\nTNT1 A 0 A_SpawnItemEx(\"TargetTracer\", 0, 8, 32, Cos(pitch)*1000, 0, sin(-pitch)*1000,0)\nstop\n}\n}\n\nActor TargetMarker2 : TargetMarker\n{\nstates\n{\nUse:\n//TNT1 A 0 A_FireCustomMissile(\"TargetTracer\",0,0,0,16,0,0)\nTNT1 A 0 A_SpawnItemEx(\"TargetTracer2\", 0, 8, 32, Cos(pitch)*1000, 0, sin(-pitch)*1000,0)\nstop\n}\n}\n\nactor TargetTracer : FastProjectile\n{\nRadius 16\nHeight 1\nPROJECTILE\nSpeed 1000\nDamage(0)\nRenderStyle none\n+DONTSPLASH\n+DONTBLAST\n+THRUGHOST\n+SKYEXPLODE\n+NOTARGETSWITCH\nStates\n{\nSpawn:\nTNT1 A 5\nGoto Death\nDeath:\nTNT1 A 0\nTNT1 A 1 A_SpawnItemEx(\"TargetAimPoint\", 0, 0, 0)  //Thing_SpawnNoFog(0,201,0,ACS_ExecuteWithResult(257, 0)+100)\nstop\n}\n}\n\nactor TargetTracer2 : TargetTracer\n{\n+THRUACTORS\n}\n\nactor TargetAimPoint\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+RIPPER\nRenderStyle \"NONE\"\nRadius 16\nHeight 1\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0 Thing_Remove(ACS_ExecuteWithResult(257, 0)+100)\nTNT1 A 0 Thing_ChangeTID(0, ACS_ExecuteWithResult(257, 0)+100)\nERO3 YYYYYYYYYY 1\nStop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\n// Used for Skull Barrier and shields that tank a specified number of hits\nactor ShieldHits : Inventory\n{\n\tinventory.amount 1\n\tinventory.maxamount 999\n}\n\nactor HitShieldProtection : PowerProtection\n{\n\tpowerup.duration 10\n\tdamagefactor \"normal\", 0.0\n\tdamagefactor \"crush\", 1.0\n\tdamagefactor \"telefrag\", 1.0\n//\tdamagefactor \"LaserTrident\", 1.0\n}\n\nactor StopHitShield : PowerProtection\n{\n\tpowerup.duration 10\n}\n\nactor NoAmmoSoundCooldown : Powerup\n{\npowerup.duration 12\n}\n\nactor BaseShieldWarper\n{\n\tScale 2.5\n\tHeight 0\n\tRadius 0\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\t-SOLID\n\t+NOGRAVITY\n\t+MISSILE\n\t+DONTBLAST\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"core_shieldwarper\", 0, 0)\n\t\tTNT1 A 0 A_Jump(256, \"Shield\")\n\t\tGoto Shield\n\tShield:\n\t\tSTAR AABBCCDD 1 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\n\t\tloop\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/inventory/mm1/timeslow.txt",
        "contents": "actor TimeSlowWep : BaseMM8BDMWep 11010\n{\n//$Category MM8BDM-Weapons\n//$Title Time Slow\nWeapon.AmmoUse 14\nWeapon.AmmoGive 28\nWeapon.SlotNumber 6\nInventory.Pickupmessage \"$PU_TIMESLOW\"\nObituary \"$OB_TIMESLOW\"\nTag \"$TAG_TIMESLOW\"\nweapon.ammotype \"TimeSlowAmmo\"\nInventory.Icon \"TIMMI2\"\nStates\n{\nSpawnLoop:\nSLOT X -1\nloop\nReady:\nTSLO A 0 ACS_ExecuteAlways (998,0,96)\nTSLO A 1 A_WeaponReady\ngoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nTSLO A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nTSLO A 1 A_Raise\nLoop\nFire:\nTSLO A 0\nTSLO A 0 A_JumpIfInventory(\"PowerTime\",1,\"Ready\")\ngoto Fire1\nFire1:\nTSLO A 0 A_JumpIfInventory(\"TimeSlowAmmo\", 14, \"Fire2\")\nGoto NoAmmo\nFire2:\n//With Hand\nTSLO A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTSLO A 0 A_JumpIfInventory(\"TimeSlowCooldown\", 1, \"NoAmmo\")\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)\n//SLOT LMN 3\nTNT1 A 2\nTSLO BC 1\nTSLO A 1 A_GiveInventory(\"TimeSlowCooldown\", 1)\ngoto Ready+1\nNoAmmo:\nTSLO A 1 ACS_Execute(979,0)\ngoto Ready+1\nNotReady:\nTSLO A 1\nGoto Ready+1\n}\n}\n\nactor TimeSlowCooldown : Powerup\n{\npowerup.duration 30\n}\n\nactor TimeSlowAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\n}\n\nactor TimeSlow\n{\n-SOLID\n+NOGRAVITY\n+DONTBLAST\nPROJECTILE\ndamage 0\nradius 1\nheight 1\ndamagetype \"TimeSlow\"\nObituary \"$OB_TIMESLOW\"\nScale 7.68\n+FORCEXYBILLBOARD\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(10, 768,0)\nSLOD EFGHIJKLMNEFGHIJKLMN 1\nstop\n}\n}\n\nactor TimeCoolDown : PowerupGiver\n{\ninventory.maxamount 0\npowerup.duration 245\npowerup.color \"00 00 00\", 0.0\npowerup.type \"PowerTime\"\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 175\nstop\n}\n}\n\nactor PowerTime : PowerUp\n{\nInventory.Icon \"TIMICON\"\nSpeed 1.0\n}\n\nactor Slowed : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n-INVBAR\nStates\n{\nUse:\nTNT1 A 0 A_JumpIfInventory(\"PowerSlow\", 1, 2)\nTNT1 A 0 A_SpawnItemEx(\"TimeSlowWatcher\")\nTNT1 A 0 A_GiveInventory(\"SlowedPower\", 1)\nstop\n}\n}\n\nactor SlowedPower : PowerupGiver\n{\nSpeed 0.7\npowerup.duration 105\npowerup.type \"PowerSlow\"\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 0\n\nTNT1 A 175\nstop\n}\n}\n\nactor PowerSlow : PowerSpeed\n{\nSpeed 0.7\nPowerup.Color \"55 00 55\", 0.4\n}\n\nactor TimeSlowWatcher\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+MISSILE\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 3 A_GiveToTarget(\"TimeSlowFX\", 1)\nTNT1 A 0 A_JumpIfInTargetInventory(\"PowerSlow\", 1, \"Spawn\")\nstop\n}\n}\n\nactor TimeSlowFX : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n-INVBAR\nStates\n{\nUse:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"TimeSlowGFX\", random(16, 48), 0, Random(16,48), 0, 0, 0, random(0, 359))\nstop\n}\n}\n\nactor TimeSlowGFX\n{\n+FLOATBOB\n+NOGRAVITY\n+THRUACTORS\n+CLIENTSIDEONLY\n+FORCEXYBILLBOARD\n+MISSILE\n+DONTBLAST\nDamage(0)\nScale 2.5\nHeight 0\nRadius 0\nStates\n{\nSpawn:\nSLOD DCBA 4 A_Fadeout(0.2)\nloop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/inventory/mm10/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 \"BLAWI\"\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 TripleBladeAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\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\nTranslation \"192:192=4:4\", \"198:198=251:251\"\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/inventory/mm3/magnetmissile.txt",
        "contents": "actor MagnetMissileWep : BaseMM8BDMWep 10038\n{\n//$Category MM8BDM-Weapons\n//$Title Magnet Missile\n//$Sprite WEAPI0\nWeapon.AmmoUse 3\nWeapon.AmmoGive 28\nWeapon.SlotNumber 2\nInventory.Pickupmessage \"$PU_MAGNETMISSILE\"\nObituary \"$OB_MAGNETMISSILE\"\nTag \"$TAG_MAGNETMISSILE\"\nweapon.ammotype \"MagnetMissileAmmo\"\ninventory.icon \"MAGNETSI\"\nStates\n{\nSpawnLoop:\nWEAP I -1\nloop\nReady:\nMAGG C 0 ACS_ExecuteAlways(998,0,8)\nMAGG C 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nMAGG C 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nMAGG C 1 A_Raise\nLoop\nFire:\nMAGG C 0 A_JumpIfNoAmmo(\"NoAmmo\")\nMAGG C 0 A_PlaySoundEx(\"weapon/magnetmissile\",\"Weapon\")\nMAGG C 0 A_FireCustomMissile(\"MagnetMissile\",0,1,8,0)\nMAGG DEC 5\nMAGG C 11\nMAGG C 0 A_Refire\nGoto Ready+1\nNoAmmo:\nMAGG C 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor MagnetMissileAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\n}\n\nactor MagnetMissile\n{\nPROJECTILE\nRadius 8\nHeight 5\nscale 2.5\ndamagetype \"MagnetMissile\"\nObituary \"$OB_MAGNETMISSILE\"\ndamage (30)\nspeed 47\n+SEEKERMISSILE\n-EXTREMEDEATH\n+SCREENSEEKER\nreactiontime 60\nStates\n{\nSpawn:\nMAGG A 2 A_SeekerMissile (2, 8, SMF_LOOK, 128, 8)\nMAGG A 0 A_CountDown\nloop\nDeath:\nTNT1 A 0 A_SpawnItemEx(\"ExplosionEffect1\")\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/inventory/mm4/flashstopper.txt",
        "contents": "actor FlashStopperWep : BaseMM8BDMWep 10078\n{\n//$Category MM8BDM-Weapons\n//$Title Flash Stopper\nWeapon.AmmoUse 7\nWeapon.AmmoGive 28\nWeapon.SlotNumber 6\nInventory.Pickupmessage \"$PU_FLASHSTOPPER\"\nObituary \"$OB_FLASHSTOPPER\"\nTag \"$TAG_FLASHSTOPPER\"\nweapon.ammotype \"FlashStopperAmmo\"\ninventory.icon \"BRIGHSI\"\nStates\n{\nSpawnLoop:\nWEA3 E -1\nloop\nReady:\nFSTO A 0 ACS_ExecuteAlways(998,0,49)\nFSTO A 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nFSTO A 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nFSTO A 1 A_Raise\nLoop\nFire:\nFSTO A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nFSTO BC 2\nFSTO A 0 A_SpawnItemEx(\"FlashStopperFX\",0,0,64)\nFSTO A 0 A_PlaySoundEx(\"weapon/flashstopper\",\"Weapon\")\nFSTO A 0 A_FireCustomMissile(\"FlashStopper\",0,1,8,0)\nFSTO D 40\nFSTO C 3\nFSTO A 0 A_Refire\nGoto Ready+1\n\nNoAmmo:\nFSTO A 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor FlashStopperGiver : CustomInventory //10078\n{\n//$Category MM8BDM-Weapons\n//$Title Flash Stopper\nInventory.Pickupmessage \"$PU_FLASHSTOPPER\"\ninventory.pickupsound \"weapon/weaponup\"\nInventory.RespawnTics 1800\nscale 2.0\nstates\n{\nSpawn:\nWEA3 E 1\nloop\nPickup:\nWEA3 E 0 A_JumpIfInventory(\"FlashStopperWep\",1,\"Failure\")\nWEA3 E 0 A_GiveInventory(\"FlashStopperWep\")\nstop\nFailure:\nWEA3 E 0\nfail\n}\n}\n\nactor FlashStopper\n{\n-SOLID\n+NOGRAVITY\nPROJECTILE\n+DONTBLAST\n+NOINTERACTION\ndamage 0\nradius 1\nheight 1\ndamagetype \"FlashStopper\"\nObituary \"$OB_FLASHSTOPPER\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"FlashStopperFlash\", 1)\nTNT1 A 1 A_Explode(5, 450,0)\nstop\n}\n}\n\nactor FlashStopperFlash : CustomInventory\n{\n\t+INVENTORY.AUTOACTIVATE\n\tStates\n\t{\n\tUse:\n\t\tTNT1 A 0 A_SetBlend(\"99 99 99\", 0.95, 15)\n\t\tstop\n\t}\n}\n\nactor FlashStopperAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\n}\n\nactor Flashed : PowerDamage\n{\npowerup.duration 105\ndamagefactor \"normal\", 1.0\n}\n\nactor BrightBlind : Inventory\n{\ninventory.amount 1\ninventory.maxamount 125\n}\n\nactor FlashStopperFX\n{\nrenderstyle translucent\n+NOINTERACTION\n+FORCEXYBILLBOARD\n+CLIENTSIDEONLY\nheight 1\nradius 1\nalpha 1.0\nscale 5.0\n-SOLID\n+NOGRAVITY\nstates\n{\nSpawn:\nFST2 ABCDEF 1 A_FadeOut(0.12)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/inventory/mm7/thunderbolt.txt",
        "contents": "actor ThunderBoltWep : BaseMM8BDMWep 10089\n{\n//$Category MM8BDM-Weapons\n//$Title Thunder Bolt\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 2\nInventory.Pickupmessage \"$PU_THUNDERBOLT\"\nObituary \"$OB_THUNDERBOLT\"\nTag \"$TAG_THUNDERBOLT\"\nweapon.ammotype \"ThunderBoltAmmo\"\ninventory.icon \"TBOLSI\"\nStates\n{\nSpawnLoop:\nWEA3 R -1\nloop\nReady:\nTBOL S 0 ACS_ExecuteAlways(998,0,56)\nTBOL S 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nTBOL S 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nTBOL S 1 A_Raise\nLoop\nFire:\nTBOL S 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTBOL S 0 A_PlaySoundEx(\"weapon/thunderbolt\",\"Weapon\")\nTBOL S 0 A_FireCustomMissile(\"ThunderBolt\",0,1,8,0)\nTBOL TU 5\nTBOL S 14\nTBOL S 0 A_Refire\nGoto Ready+1\nNoAmmo:\nTBOL S 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor ThunderBoltAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\n}\n\nactor ThunderBolt\n{\nPROJECTILE\ndamagetype \"ThunderBolt\"\nObituary \"$OB_THUNDERBOLT\"\nscale 2.5\nSpeed 30\nRadius 20\nHeight 15\nDamage (25)\nStates\n{\nSpawn:\nTBOL ABCD 1\nGoto Flying\nFlying:\nTBOL N 1\nTBOL M 1 A_SpawnItemEx(\"ThunderTrail\")\nloop\nDeath:\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplit\",0,0,90,2,0)\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplit\",0,0,-90,2,0)\nMMFX BCDE 2\nstop\n}\n}\n\nactor ThunderBoltSplit : ThunderBolt\n{\n+THRUACTORS\nRadius 20\nHeight 15\nDamage (15)\nreactiontime 90\nStates\n{\nSpawn:\nTBOL OP 1 A_CountDown\nTBOL O 0 A_SpawnItemEx(\"ThunderTrail\")\nTBOL O 0 A_ChangeFlag(THRUACTORS, false)\nTBOL QR 1 A_CountDown\nTBOL O 0 A_GiveInventory(\"CutterFlag\",1)\nTBOL O 0 A_SpawnItemEx(\"ThunderTrail\")\nloop\nDeath:\nTNT1 A 0\nstop\nXDeath:\nCrash:\nTBOL O 0 A_JumpIfInventory(\"CutterFlag\",1,\"Split\")\nstop\nSplit:\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplit\",0,0,90,2,0)\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplit\",0,0,-90,2,0)\nstop\n}\n}\n\nactor ThunderBoltFX\n{\nscale 2.5\n-SOLID\n+NOGRAVITY\n+CLIENTSIDEONLY\nheight 0\nradius 0\nStates\n{\nSpawn:\nTBOL ABCD 1\nstop\n}\n}\n\nactor ThunderTrail\n{\nscale 2.5\n-SOLID\n+NOGRAVITY\n+CLIENTSIDEONLY\nheight 0\nradius 0\nStates\n{\nSpawn:\nTBOL IJKL 2\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/inventory/mmb/spreaddrill.txt",
        "contents": "actor SpreadDrillWep : BaseMM8BDMWep 10014\n{\n//$Category MM8BDM-Weapons\n//$Title Spread Drill\n//$Sprite SPREX0\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 5\nInventory.Pickupmessage \"$PU_SPREADDRILL\"\nObituary \"$OB_SPREADDRILL\"\nTag \"$TAG_SPREADDRILL\"\nweapon.ammotype \"SpreadDrillAmmo\"\ninventory.icon \"SPREI\"\n+AMMO_OPTIONAL\n+ALT_AMMO_OPTIONAL\nStates\n{\nSpawnLoop:\nSPRE X -1\nloop\nReady:\nSPRE H 0 ACS_ExecuteAlways(998,0,172)\nSPRE H 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 A 0 A_TakeInventory(\"SpreadDrillFlag\",4)\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nSPRE H 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nSPRE H 1 A_Raise\nLoop\nAltfire:\nSPRE I 0 A_JumpIfInventory(\"SpreadDrillBuffer\",1,\"Waiting\")\nSPRE H 0 A_TakeInventory(\"SpreadDrillFlag\", 2)\nGoto Fire\nFire:\nSPRE H 0 A_JumpIfInventory(\"SpreadDrillFlag\",2,\"Reset\")\nSPRE H 0 A_JumpIfInventory(\"SpreadDrillFlag\",1,\"Spread\")\nSPRE H 0 A_JumpIfNoAmmo(\"NoAmmo\")\nSPRE I 0 A_JumpIfInventory(\"SpreadDrillBuffer\",1,\"Waiting\")\nSPRE H 0 A_GiveInventory(\"SpreadDrillBuffer\",1)\nSPRE H 0 A_PlaySoundEx(\"weapon/spreaddrill1\",\"Weapon\")\nSPRE H 0 A_SpawnItemEx(\"SpreadDrill\",cos(pitch)*32,0,28-(sin(pitch)*32),cos(pitch)*13,0,-sin(pitch)*13,0,0,0)//A_FireCustomMissile(\"SpreadDrill\",0,1,8,0)\nSPRE H 0 A_TakeInventory(\"SpreadDrillAmmo\",2,TIF_NOTAKEINFINITE)\nSPRE H 0 A_GiveInventory(\"SpreadDrillFlag\",1)\nSPRE IJ 2\nSPRE H 4\nSPRE J 0 A_Refire\nGoto Ready+1\nReset:\nSPRE H 0 A_TakeInventory(\"SpreadDrillBuffer\",999)\nSPRE H 1 A_TakeInventory(\"SpreadDrillFlag\", 2)\nGoto Fire+2\nSpread:\nSPRE H 2 A_GiveInventory(\"SpreadDrillFlag\", 1)\nSPRE H 4\nSPRE H 0 A_JumpIfInventory(\"SpreadDrillFlag\",2, \"Waiting\")\nSPRE H 0 A_JumpIfInventory(\"SpreadDrillFlag\",1, 1)\nGoto Ready+1\nSPRE H 0 A_Refire\ngoto Ready+1\nWaiting:\nSPRE H 5\nSPRE H 0 A_Refire\nGoto Ready+1\nNoAmmo:\nSPRE H 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor SpreadDrillAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\n}\n\nactor SpreadDrillFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 2\n}\n\nactor SpreadDrillBuffer : Powerup\n{\npowerup.duration 23\n}\n\nactor SpreadDrill\n{\nPROJECTILE\n+RIPPER\nradius 32\nheight 16\nscale 2.5\nspeed 13\nDamageType \"SpreadDrill\"\nObituary \"$OB_SPREADDRILL\"\ndamage (30)\nGravity 0.25\nstates\n{\nSpawn:\nTNT1 A 0\nSPRE AA 1\nSPRE A 0 A_ChangeFlag(\"NOCLIP\",0)\nWaiting:\nSPRE F 2 A_GiveInventory(\"CutterFlag\", 1)\nSPRE F 0 A_JumpIfInTargetInventory(\"SpreadDrillFlag\",2,\"Spread\")\nSPRE A 2 A_GiveInventory(\"CutterFlag\", 1)\nSPRE A 0 A_JumpIfInTargetInventory(\"SpreadDrillFlag\",2,\"Spread\")\nSPRE A 0 A_JumpIfInventory(\"CutterFlag\",5,\"AddGravity\")\nLoop\nAddGravity:\nSPRE A 0 A_ChangeFlag(\"NOGRAVITY\", 0)\nGoto Waiting2\nWaiting2:\nSPRE AA 1 A_JumpIf(z-floorz < 1, \"Death\")\nSPRE A 0 A_JumpIfInTargetInventory(\"SpreadDrillFlag\",2,\"Spread\")\nSPRE FF 1 A_JumpIf(z-floorz < 1, \"Death\") // A_Checkfloor doesn't work here\nSPRE B 0 A_JumpIfInTargetInventory(\"SpreadDrillFlag\",2,\"Spread\")\nLoop\nSpread:\nTNT1 A 0 A_TakeFromTarget(\"SpreadDrillFlag\",1)\nTNT1 A 0 A_SpawnItemEx(\"LargeDrillShell\",-8,0,0,5)\nTNT1 A 0 A_SpawnItemEx(\"MediumDrill1\",0,0,0,20,13,0,0)\nTNT1 A 0 A_SpawnItemEx(\"MediumDrill1\",0,0,0,20,-13,0,0)\nstop\nDeath:\nTNT1 A 0 A_TakeFromTarget(\"SpreadDrillFlag\",2)\nstop\n}\n}\n\nactor MediumDrill1 : SpreadDrill\n{\n-NOCLIP\n-LOWGRAVITY\n+NOGRAVITY\nradius 20\nscale 2.5\ndamage (10)\nDamageType \"SpreadDrill2\"\nstates\n{\nSpawn:\nSPRE B 0\nSPRE CB 2\nGoto Death\nDeath:\nTNT1 A 0 A_CustomMissile(\"MediumDrill2\",0,0,0, 2,0)\nTNT1 A 0 A_CustomMissile(\"MediumDrill2\",0,0,0, 2,0)\nstop\n}\n}\n\nactor MediumDrill2 : SpreadDrill\n{\n-NOCLIP\n-LOWGRAVITY\n+NOGRAVITY\nradius 16\nscale 2.5\nSpeed 20\nDamageType \"SpreadDrill2\"\ndamage (10)\nstates\n{\nSpawn:\nSPRE CB 2\nSPRE B 0 A_JumpIfInTargetInventory(\"SpreadDrillFlag\",2,\"Spread\")\nLoop\nSpread:\nTNT1 A 0 A_SpawnItemEx(\"MediumDrillShell\",-4,0,0,5)\nTNT1 A 0 A_SpawnItemEx(\"SmallDrill1\",0,0,0,20,8,0,0)\nTNT1 A 0 A_SpawnItemEx(\"SmallDrill1\",0,0,0,20,-8,0,0)\nTNT1 A 0 A_GiveToTarget(\"SpreadDrillFlag\", 2)\nstop\nDeath:\nTNT1 A 0\nTNT1 A 0 A_TakeFromTarget(\"SpreadDrillFlag\",2)\nstop\n}\n}\n\nactor SmallDrill1 : MediumDrill1\n{\nradius 12\nheight 8\ndamage (8)\nDamageType \"SpreadDrill3\"\nstates\n{\nSpawn:\nSPRE D 0\nSPRE ED 2\nGoto Death\nDeath:\nTNT1 A 0 A_CustomMissile(\"SmallDrill2\",0,0,0, 2,0)//A_SpawnItemEx(\"SmallDrill2\",0,0,0,27,0,0,0)\nstop\n}\n}\n\nactor SmallDrill2 : MediumDrill2\n{\nradius 8\nheight 8\ndamage (8)\nSpeed 28\nDamageType \"SpreadDrill3\"\nstates\n{\nSpawn:\nSPRE ED 2\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor LargeDrillShell\n{\n+MISSILE\n+RIPPER\n+NOCLIP\nRadius 1\nHeight 1\nscale 2.5\nGravity 0.3\nStates\n{\nSpawn:\nTNT1 A 0\nSHEL A 1 A_PlaySoundEx(\"weapon/spreaddrill2\",\"Weapon\")\nTNT1 A 1\nSpawn2:\nSHEL A 1\nTNT1 A 1 A_CheckFloor(\"Death\")\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor MediumDrillShell : LargeDrillShell\n{\nStates\n{\nSpawn:\nTNT1 A 0\nSHEL B 1 A_PlaySoundEx(\"weapon/spreaddrill3\",\"Weapon\")\nTNT1 A 1\nSpawn2:\nSHEL B 1\nTNT1 A 1 A_CheckFloor(\"Death\")\nloop\n}\n}\n\nactor SpreadDrillProtect : PowerProtection\n{\nPowerup.Duration 3\nDamageFactor \"SpreadDrill\", 0.1\nDamageFactor \"SpreadDrill2\", 0.5\nDamageFactor \"SpreadDrill3\", 0.5\n}"
      },
      {
        "source": "pk3",
        "name": "actors/inventory/mmv/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 A -1\nloop\nReady:\nBBOM F 0 ACS_ExecuteAlways(998,0,207)\nBBOM F 0 A_TakeInventory(\"BubbleBombSwitch\", 1)\nBBOM F 1 A_WeaponReady\nGoto Ready+2\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBBOM F 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBBOM F 1 A_Raise\nLoop\nFire:\nBBOM F 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\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 F 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor BubbleBombSwitch : Once {}\nactor BubbleBombFrames : PowerUp { powerup.duration 17 }\n\nactor BubbleBombAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\n}\n\n// Based on WaveBuster from Classes-v9d.pk3\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 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        BBOM BB 1 A_Changevelocity(0, -(user_SPEED/2)*user_DIRECTION,0,1)\n        BBOM B 0 A_Changevelocity(0, 3*user_SPEED*user_DIRECTION,0,1)\n        goto SpawnLoop\n    SpawnLoop:\n        BBOM CCD 2\n        BBOM EE 3 A_Changevelocity(0,-user_SPEED*user_DIRECTION,0,1)\n        BBOM DC 3 A_Changevelocity(0,-user_SPEED*user_DIRECTION,0,1)\n        BBOM CCD 2\n        BBOM EE 3 A_Changevelocity(0,user_SPEED*user_DIRECTION,0,1)\n        BBOM DC 3 A_Changevelocity(0,user_SPEED*user_DIRECTION,0,1)\n        loop\n    Death:\n        BBOM A 0 A_Stop\n        BBOM A 0 A_PlaySoundEx(\"weapon/crackerexplode\", \"Weapon\")\n        BBOM 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/inventory/mmv/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    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 DeepDiggerAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n+INVENTORY.IGNORESKILL\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/inventory/mmv/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    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 ElectricShockAmmo : Ammo\n{\n    inventory.amount 1\n    inventory.maxamount 56\n    +INVENTORY.IGNORESKILL\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/inventory/mmv/photonmissile.txt",
        "contents": "const int CONST_PHOTONMAX = 55;\nconst int CONST_PHOTONARM = 30;\n\nactor 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\tAltfire:\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    NoAmmo:\n        PMIS G 1 ACS_Execute(979,0)\n        goto Ready+1\n    }\n}\n\nactor PhotonMissileAmmo : Ammo\n{\n    inventory.amount 1\n    inventory.maxamount 28\n    +INVENTORY.IGNORESKILL\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 B 0 ACS_NamedExecuteAlways(\"core_loadphotonmissile\", 0)\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/Megaman/Bombman.txt",
        "contents": "actor Bombman : SturdyClassBase\n{\nPlayer.ScoreIcon \"C_01D0X\"\nplayer.startitem \"SturdyHealthBar\"\nplayer.displayname \"Bombman\"\nplayer.soundclass \"bombmanc\"\nplayer.startitem \"HyperBombBoss\"\nPlayer.StartItem \"GigaAmmo\", 106\nplayer.forwardmove 0.65, 0.65\nplayer.sidemove 0.63, 0.63\nplayer.jumpz 13\n//player.startitem \"RealClassFlag\", 14\n\nplayer.startitem \"RollingCutterWeakness2\", 1\n\nplayer.startitem \"RollingCutterWeakness\", 1\nplayer.startitem \"MetalBladeWeakness\", 1\nplayer.startitem \"ShadowBladeWeakness\", 1\nplayer.startitem \"GyroAttackWeakness\", 1\nplayer.startitem \"SilverTomahawkWeakness\", 1\nplayer.startitem \"TenguBladeWeakness\", 1\n//player.startitem \"WheelCutterWeakness\", 1\nplayer.startitem \"ScrewCrusherWeakness\", 1\n\n/*player.startitem \"FireStormWeakness2\", 1\n\nplayer.startitem \"FireStormWeakness\", 1\nplayer.startitem \"AtomicFireWeakness\", 1\nplayer.startitem \"PharaohShotWeakness\", 1\nplayer.startitem \"FlameBlastWeakness\", 1\nplayer.startitem \"FlameSwordWeakness\", 1*/\nStates\n{\nSpawn:\nBOMM A 0\nBOMM A 0 A_JumpIfInventory(\"SuperArmTemp\",1,3)\nBOMM B 1\nBOMM A -1\nBOMM R 1\nBOMM F 1 A_JumpIfInventory(\"VivifyDelay8\",1,\"MissileToss2\")\nwait\nSee:\nBOMM B 0 A_JumpIfInventory(\"SuperArmTemp\",1,\"SeeSomeBombs\")\nBOMM BCDE 5\nGoto Spawn\nSeeSomeBombs:\nBOMM RRRRRSSSSSTTTTTSSSSS 1 A_JumpIfInventory(\"VivifyDelay8\",1,\"MissileToss\")\nGoto Spawn+4\nMissile:\nBOMM F 0 A_JumpIfInventory(\"VivifyDelay8\",1,\"MissileToss\")\nBOMM F 0 A_JumpIfInventory(\"VivifyDelay5\",1,\"MissilePick\")\nBOMM FG 5\ngoto Spawn\nMissileToss:\nBOMM G 6\ngoto Spawn\nMissileToss2:\nBOMM G 6\ngoto Spawn+3\nMissilePick:\nBOMM GF 4\ngoto Spawn+4\n\nClassPain:\nBOMM H 0\ngoto PainContinue\nDeathFix:\nBOMM H 0\ngoto DeathContinue\nClassDeath:\nBOMM H 1\ngoto MegaDeathEnd\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/Megaman/Fireman.txt",
        "contents": "actor Fireman : ClassBase\n{\nPlayer.ScoreIcon \"C_01E0X\"\nplayer.displayname \"fireman\"\nplayer.soundclass \"firemanc\"\nplayer.startitem \"FireStormBoss\"\nplayer.startitem \"FireStormerBoss\"\nplayer.startitem \"BurningJusticeAmmo\", 24\nplayer.weaponslot 1, \"FireStormBoss\"\nplayer.weaponslot 2, \"FireStormerBoss\"\n\nplayer.startitem \"IceSlasherWeakness2\", 1\n\nplayer.startitem \"IceSlasherWeakness\", 1\nplayer.startitem \"BlizzardAttackWeakness\", 1\nplayer.startitem \"FreezeCrackerWeakness\", 1\nplayer.startitem \"IceWaveWeakness\", 1\nplayer.startitem \"IceWallWeakness\", 1\nplayer.startitem \"ChillSpikeWeakness\", 1\nStates\n{\nSpawn:\nFIRM A 0\nFIRM B 1\nFIRM A 1\nFIRM A random(110,220)\nFIRM RS 5\nGoto Spawn+4\nSee:\nFIRM BCDE 5\nGoto Spawn\nMissile:\nFIRM F 5\nFIRM G 4\ngoto Spawn\nClassPain:\nFIRM H 0\ngoto PainContinue\nDeathFix:\nFIRM H 0\ngoto DeathContinue\nClassDeath:\nFIRM H 1\ngoto MegaDeathEnd\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.