Counts

endoom0
graphics0
lumps3
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "029168e8-2f91-46e3-8f9c-4e47b1f66b5e",
    "sha1": "1176f251541a939e06fd0bb94470e0a3c4167de7",
    "sha256": "d4fa2a524d346afe00af3902623cd7c73b877ea6b1bbbdf27441177f3d6c53b9",
    "filenames": [
      "vclasses-v1a-publicbeta2-hotfix2.pk3"
    ],
    "additional": {
      "engines": [],
      "iwad": [],
      "filename": null,
      "added": "2021-01-10 03:03:40",
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false,
      "name": null,
      "description": null,
      "maps": null,
      "graphicOverrides": null,
      "screenshots": null,
      "palettes": null,
      "categories": null
    },
    "flags": {
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false
    },
    "added": "2021-01-10 03:03:40",
    "file": {
      "type": "PK3",
      "size": 10229,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/1176f251541a939e06fd0bb94470e0a3c4167de7/1176f251541a939e06fd0bb94470e0a3c4167de7.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 3,
        "maps": 0,
        "palettes": 0
      }
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "actors/megaman5/Gyroman.txt",
        "contents": "actor Gyroman : SemiWeakArmorClass\n{\n\tplayer.startitem \"SemiWeakArmor\"\n\tplayer.soundclass \"gyromanc\"\n\tplayer.displayname \"Gyroman\"\n\tplayer.jumpz 14\n\tPlayer.ViewHeight 44\n\tplayer.forwardmove 0.85, 0.85\n\tplayer.sidemove 0.83, 0.83\n\tplayer.startitem \"GyroAttackBoss\"\n\tplayer.startitem \"Base28Ammo\", 28\n\tplayer.startitem \"BaseAltfireAmmo\", 112\n\tplayer.startitem \"CanThirdFire\"\n\tplayer.startitem \"UltimateAttackItem2\", 1\n\tplayer.startitem \"UltSoundWatcherSpawn2\"\n\tPlayer.ViewHeight 53\n\tStates\n\t{\n\t\tSpawn:\n\t\tGYRM A 0\n\t\tGYRM B 1 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Flying\")\n\t\tGYRM A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Flying\")\n\t\tGYRM A 1 //A_JumpIf(z-floorz>0, \"Jumping\")\n\t\tGoto Spawn+2\n\n\t\tSee:\n\t\tGYRM BCDE 4 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Flying\")\n\t\tGoto Spawn+1\n\n\t\tFlying:\n\t\tGYRM I 0 A_TakeInventory(\"JumpCancler\",1)\n\t\tGYRM IJIJ 2\n\t\tGYRM A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Flying\")\n\t\tgoto Spawn+1\n\n\t\tMissile:\n\t\tGYRM A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Missile2\")\n\t\tGYRM FFFFFFGGGGGGGGG 1 A_JumpIfInventory(\"GyroMissileAnim\",1,\"Missile3\")\n\t\tGoto Spawn+1\n\n\t\tMissile2:\n\t\tGYRM KKKKKKLLLLLLLLL 1 A_JumpIfInventory(\"GyroMissileAnim\",1,\"Missile3\")\n\t\tGYRM A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Flying\")\n\t\tGoto Spawn+1\n\n\t\tMissile3:\n\t\tGYRM MNMNMNMNMNMNMNMNMNMNMN 2\n\t\tgoto Spawn+1\n\n\t\tClassTimeStop:\n\t\tPLAY A 0 SetPlayerProperty(0,1,4)\n\t\tPLAY A 0 ACS_Execute(528,0)\n\t\tGYRM AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop\n\t\tPLAY A 0 SetPlayerProperty(0,0,4)\n\t\tGoto pain+1\n\t\tClassPain:\n\t\tGYRM HHHHHHHHHH 2 A_SpawnItem(\"PainFX\",0,3)\n\t\tGoto Spawn+1\n\t\tClassDeath:\n\t\tGYRM ] 20 ACS_ExecuteAlways(999,0,0)\n\t\tGYRM ] 0 A_PlayerScream\n\t\tNOFX A 0 A_SpawnItemEx(\"FakeDeathFX\",0,0,32)\n\t\tNOFX A 1 A_CheckPlayerDone\n\t\twait\n\t\tClassIceDeath:\n\t\tGYRM A 35\n\t\tNOFX A 0 A_SpawnItemEx(\"FrozenDeathFX\",0,0,16)\n\t\tNOFX A 1 A_CheckPlayerDone\n\t\twait\n\t}\n}\n\nactor GyroAttackBoss : VCBaseWeapon\n{\n\tObituary \"$OB_GYROMAN1\"\n\tweapon.ammotype \"Base28Ammo\"\n\tweapon.ammotype2 \"BaseAltfireAmmo\"\n\t+WEAPON.NOAUTOAIM\n\tStates\n\t{\n\t\tReady:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIfInventory(\"BaseCustomFlag2\",1,2)\n\t\tGYAR A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Ready.CanThirdFire\")\n\t\tGYAR A 0 A_JumpIfInventory(\"BaseAltfireAmmo\",56,\"Ready.CanThirdfire\")\n\t\tGYAR A 1 A_WeaponReady GYAR A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") //GYAR A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tGYAR A 1 A_WeaponReady GYAR A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") //GYAR A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tGYAR A 1 A_WeaponReady GYAR A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") //GYAR A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tGYAR A 1 A_WeaponReady GYAR A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") //GYAR A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tGYAR A 0 A_GiveInventory(\"Base28Ammo\",1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"BaseCustomFlag2\",1,1)\n\t\tGYAR A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Ready\")\n\t\tGYAR A 0 A_GiveInventory(\"BaseAltfireAmmo\",2)\n\t\tGoto Ready\n\n\t\tReady.CanThirdfire:\n\t\tGYAR A 1 A_WeaponReady GYAR A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") GYAR A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tGYAR A 1 A_WeaponReady GYAR A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") GYAR A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tGYAR A 1 A_WeaponReady GYAR A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") GYAR A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tGYAR A 1 A_WeaponReady GYAR A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") GYAR A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tGYAR A 0 A_GiveInventory(\"Base28Ammo\",1)\n\t\tGYAR A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Ready.CanThirdFire\")\n\t\tGYAR A 0 A_GiveInventory(\"BaseAltfireAmmo\",2)\n\t\tGoto Ready\n\n\t\tReady.Ult:\n\t\tGYAR A 4 A_WeaponReady\n\t\tGYAR A 0 A_GiveInventory(\"Base28Ammo\",1)\n\t\tGYAR A 0 A_GiveInventory(\"BaseAltfireAmmo\",2)\n\t\tTNT1 A 0 A_JumpIfInventory(\"BaseCustomFlag2\",1,\"Ready.Ult\")\n\t\tGoto Ready\n\n\t\tDeselect:\n\t\tTNT1 A 0 A_GunFlash(\"NoFlash\")\n\t\tDeselectX:\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\t\tGYAR A 1 A_Lower\n\t\tLoop\n\n\t\tSelect:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways(991,0,803)\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\t\tGYAR A 1 A_Raise\n\t\tLoop\n\n\t\tUser1:\n\t\tGYAR A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"User1.Two\")\n\t\tGYAR A 0 A_PlaySoundEx(\"weapon/gyrofly\",\"SoundSlot5\")\n\t\tGYAR J 0 A_GiveInventory(\"BaseCustomFlag1\")\n\t\tGYAR GIJ 1 ThrustThingZ(0,30,0,0)\n\t\tGYAR A 0 A_GiveInventory(\"GyroAirSpeed\")\n\n\t\tUser1.Loop:\n\t\tGYAR J 0 A_JumpIfInventory(\"BaseAltfireAmmo\",1,1)\n\t\tgoto User1.End\n\t\tGYAR A 0 A_PlaySoundEx(\"weapon/gyrofly\",\"SoundSlot5\")\n\t\tGYAR J 0 ThrustThingZ(0,30,0,0)\n\t\tGYAR J 1 A_TakeInventory(\"BaseAltfireAmmo\",1)\n\t\tGYAR J 0 ThrustThingZ(0,30,0,0)\n\t\tGYAR J 1 A_TakeInventory(\"BaseAltfireAmmo\",1)\n\t\tGYAR J 0 ThrustThingZ(0,30,0,0)\n\t\tGYAR J 1 A_TakeInventory(\"BaseAltfireAmmo\",1)\n\t\tGYAR JJ 1 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1.Loop\")\n\n\t\tUser1.End:\n\t\tGYAR JIG 1 ThrustThingZ(0,10,0,0)\n\t\tGYAR A 0 A_GunFlash\n\t\tgoto Ready\n\n\t\tUser1.Two: //You can't use actual numbers here, apparently. -Fr3ak\n\t\tGYAR A 0 A_GiveInventory(\"DrillFlag\")\n\t\tGYAR GIJ 1 ThrustThingZ(0,30,0,0)\n\n\t\tUser1.Loop2:\n\t\tGYAR J 0 A_JumpIfInventory(\"BaseAltfireAmmo\",1,1)\n\t\tgoto User1.End2\n\t\tGYAR A 0 A_PlaySoundEx(\"weapon/gyrofly\",\"SoundSlot5\")\n\t\tGYAR JJ 1 ThrustThingZ(0,30,0,0)\n\t\tGYAR J 0 ThrustThingZ(0,30,0,0)\n\t\tGYAR J 1 A_TakeInventory(\"BaseAltfireAmmo\",1)\n\t\tGYAR JJ 1 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1.Loop2\")\n\n\t\tUser1.End2:\n\t\tGYAR A 0 A_TakeInventory(\"DrillFlag\")\n\t\tGYAR JIG 1 ThrustThingZ(0,10,0,0)\n\t\tgoto Ready\n\n\t\tUser1.Cancel:\n\t\tGYAR A 0 A_GunFlash(\"NoFlash\")\n\t\tGYAR GIJJJJIG 1 ThrustThingZ(0,10,1,0)\n\t\tgoto Ready\n\n\t\tFire:\n\t\tGYAR A 0 A_JumpIfInventory(\"BaseCustomFlag2\",1,\"Fire2\") //Ult mainfire\n\t\tGYAR A 0 A_JumpIfInventory(\"GyroActiveFlag\",1,\"Ready\")\n\t\tGYAR HHHBCD 1\n\t\tGYAR A 0 A_GiveInventory(\"Base28Ammo\",2)\n\t\tTNT1 A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,2)\n\t\tGYAR A 0 A_GiveInventory(\"BaseAltfireAmmo\",2)\n\t\tGYAR A 0 A_FireCustomMissile(\"GyroManAttack\",0,0,0,8)\n\t\tGYAR A 0 A_PlaySoundEx(\"weapon/gyroattack\",\"Weapon\")\n\t\tGYAR EFF 1\n\t\tGYAR F 1 Offset(0,64)\n\t\tGYAR F 1 Offset(0,96)\n\t\tGYAR F 1 Offset(0,128)\n\t\tTNT1 A 1 A_WeaponReady(14)\n\t\tGYAR JIG 1\n\t\tGoto Ready\n\n\t\tFire2:\n\t\tGYAR HHHBCD 1\n\t\tGYAR A 0 A_GiveInventory(\"Base28Ammo\",2)\n\t\tGYAR A 0 A_GiveInventory(\"BaseAltfireAmmo\",2)\n\t\tGYAR A 0 A_FireCustomMissile(\"GyroManAttack2\",-30,0,0,8)\n\t\tGYAR A 0 A_FireCustomMissile(\"GyroManAttack2\",30,0,0,8)\n\t\tGYAR A 0 A_FireCustomMissile(\"GyroManAttack2\",0,0,0,8)\n\t\tGYAR A 0 A_FireCustomMissile(\"GyroManAttack2\",0,0,0,8,0,10)\n\t\tGYAR A 0 A_PlaySoundEx(\"weapon/chainblastone\",\"Weapon\")\n\t\tGYAR EFF 2\n\t\tGYAR F 2 Offset(0,64)\n\t\tGYAR F 2 Offset(0,96)\n\t\tGYAR F 2 Offset(0,128)\n\t\tTNT1 A 2 A_WeaponReady(14)\n\t\tGYAR JIG 2\n\t\tGYAR A 16\n\t\tGoto Ready.Ult\n\n\t\tAltfire:\n\t\tGYAR A 0 A_JumpIfInventory(\"Base28Ammo\",14,\"Altfire.Real\")\n\t\tgoto NoAmmo\n\n\t\tAltfire.Real:\n\t\tGYAR A 0 A_JumpIfInventory(\"BaseCustomFlag2\",1,\"Altfire2\") //Ult altfire\n\t\tGYAR I 0 A_GiveInventory(\"GyroMissileAnim\")\n\t\tGYAR GIJ 1\n\t\tGYAR A 0 A_GiveInventory(\"DrillFlag\")\n\t\tGYAR A 0 A_TakeInventory(\"Base28Ammo\",14,1)\n\t\tGYAR G 0 A_SpawnItemEx(\"GyroAltWatcher\")\n\t\tGYAR A 0 A_PlaySoundEx(\"weapon/gyroalt\",\"Weapon\")\n\t\tGYAR JJJJJJJJJJJJJJJJJJJJJJJJJJJJ 1 A_ChangeVelocity(cos(pitch)*26,0,-sin(pitch)*26,CVF_RELATIVE|CVF_REPLACE)\n\t\tGYAR A 0 A_TakeInventory(\"DrillFlag\")\n\t\tGYAR IIGGAA 1 A_ScaleVelocity(0.75)\n\t\tGYAR A 12\n\t\tgoto Ready\n\n\t\tAltfire2:\n\t\tGYAR I 0 A_GiveInventory(\"GyroMissileAnim\")\n\t\tGYAR GIJ 1\n\t\tGYAR A 0 A_TakeInventory(\"Base28Ammo\",14,1)\n\t\tGYAR G 0 A_SpawnItemEx(\"GyroAltWatcher2\")\n\t\tGYAR A 0 A_PlaySoundEx(\"weapon/gyroult\",\"Weapon\")\n\t\tGYAR JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 1 A_ChangeVelocity(cos(pitch)*52,0,-sin(pitch)*52,CVF_RELATIVE|CVF_REPLACE)\n\t\tGYAR IIGGAA 1 A_ScaleVelocity(0.75)\n\t\tGYAR A 12\n\t\tgoto Ready.Ult\n\n\t\tUltimateAttack:\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"VC_UltimateText\",0,38)\n\t\tTNT1 A 0 A_TakeInventory(\"MediumShortUltimateAmmo\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"GyroUltCooldown\",1)\n\t\tCUTA A 0 A_PlaySoundEx(\"classes/ultimateactivation\",\"Auto\")\n\t\tCUTA A 0 A_GunFlash(\"Flash.Ultimate\")\n\t\tTNT1 A 0 A_TakeInventory(\"GyroAirSpeed\")\n\t\tCUTA A 0 A_GiveInventory(\"BaseCustomFlag1\")\n\t\tCUTA A 0 A_GiveInventory(\"BaseCustomFlag2\")\n\t\tCUTA A 0 A_TakeInventory(\"UltAttackFlag\")\n\t\tGYAR A 1 SetPlayerProperty(0,1,3)\n\t\tgoto Ready.Ult\n\n\t\tFlash:\n\t\tTNT1 A 0 A_PlaySoundEx(\"weapon/gyrofly\",\"SoundSlot5\")\n\t\tTNT1 A 0 A_TakeInventory(\"BaseAltfireAmmo\",2)\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")\n\t\tTNT1 A 0 A_CheckFloor(\"NoFlash\")\n\t\tTNT1 AAAAAA 1 A_GiveInventory(\"GyroThruster\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"BaseAltfireAmmo\",1,\"Flash\")\n\t\tgoto NoFlash\n\n\t\tNoFlash:\n\t\tTNT1 A 0 A_StopSound(CHAN_5)\n\t\tTNT1 A 0 A_TakeInventory(\"BaseAltfireAmmo\",56)\n\t\tTNT1 A 0 A_TakeInventory(\"GyroAirSpeed\")\n\t\tTNT1 A 0 A_TakeInventory(\"BaseCustomFlag1\")\n\t\tstop\n\n\t\tFlash.Ultimate:\n\t\tTNT1 A 0 A_PlaySoundEx(\"weapon/gyrofly\",\"SoundSlot5\")\n\t\tTNT1 A 0 A_TakeInventory(\"MediumShortUltimateAmmo\",2)\n\t\tTNT1 A 0 A_GiveInventory(\"GyroUltCooldown\")\n\t\tTNT1 AAAA 1 A_JumpIfInventory(\"IsDead\",1,\"NoFlash.Ult\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"MediumShortUltimateAmmo\",1,\"Flash.Ultimate\")\n\t\tgoto NoFlash.Ult\n\n\t\tNoFlash.Ult:\n\t\tTNT1 A 0 A_StopSound(CHAN_5)\n\t\tTNT1 A 0 A_TakeInventory(\"MediumShortUltimateAmmo\",56)\n\t\tTNT1 A 0 A_TakeInventory(\"BaseCustomFlag1\")\n\t\tTNT1 A 0 A_TakeInventory(\"BaseCustomFlag2\")\n\t\tTNT1 A 0 SetPlayerProperty(0,0,3)\n\t\tstop\n\n\t\tNoAmmo:\n\t\tGYAR A 0 A_JumpIfInventory(\"BaseCustomFlag2\",1,\"NoAmmo.Ult\")\n\t\tGYAR A 4 A_GiveInventory(\"Base28Ammo\",1)\n\t\tGYAR A 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Ready\")\n\t\tGYAR A 0 A_GiveInventory(\"BaseAltfireAmmo\",2)\n\t\tgoto Ready\n\n\t\tNoAmmo.Ult:\n\t\tGYAR A 4 A_GiveInventory(\"Base28Ammo\",1)\n\t\tGYAR A 0 A_GiveInventory(\"BaseAltfireAmmo\",2)\n\t\tgoto Ready.Ult\n\t}\n}\n\nactor GyroAirSpeed : PowerSpeed\n{\n\t+POWERSPEED.NOTRAIL\n\tPowerup.Duration 999\n\tSpeed  1.6\n}\n\nactor GyroFlyingAnim : Powerup\n{\nPowerup.Duration 4\n}\n\nactor GyroMissileAnim : Powerup\n{\nPowerup.Duration 4\n}\n\nactor GyroManAttack\n{\nObituary \"$OB_GYROMAN1\"\nPROJECTILE\nRadius 16\nHeight 16\nscale 2.5\ndamagetype \"Gyroman\"\ndamage (17)\nspeed 50\n+SEEKERMISSILE\n+LOOKALLAROUND\n+NOEXPLODEFLOOR\n+HEXENBOUNCE\n-BOUNCEONFLOORS\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nGYCS A 0 A_PlaySoundEx(\"weapon/gyroattack\",\"Body\")\nTNT1 A 0 A_GiveToTarget(\"GyroActiveFlag\")\nGYCS ABAB 1 A_CheckFloor(\"Home\")\nGYCS A 0 A_PlaySoundEx(\"weapon/gyroattack\",\"Body\")\nGYCS ABAB 1 A_CheckFloor(\"Home\")\nHome:\nGYCS A 0 A_ChangeFlag(\"HEXENBOUNCE\",0)\nGYCS A 0 A_Stop\nGYCS A 0 A_PlaySoundEx(\"weapon/gyroattack\",\"Body\")\nGYCS ABABABAB 2 A_Stop\nGYCS A 0 A_ChangeVelocity(50,0,0,CVF_RELATIVE)\nGYCS AAAAAA 0 A_SeekerMissile (90, 360, SMF_LOOK|SMF_PRECISE, 50, 10)\nloopit:\nGYCS A 0 A_PlaySoundEx(\"weapon/gyroattack\",\"Body\")\nGYCS AB 1\nloop\nDeath:\nMMFX B 0 A_TakeFromTarget(\"GyroActiveFlag\")\nMMFX BCDE 2\nstop\n}\n}\n\nactor GyroManAttack2 : GyroManAttack\n{\nspeed 30\nObituary \"$OB_GYROMAN3\"\n+HEXENBOUNCE\nwallbouncefactor 1.0\nbouncefactor 1.0\nreactiontime 6\ndamage (6)\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nGYCS A 0 A_PlaySoundEx(\"weapon/gyrospin\",\"Body\")\nGYCS CDEF 1 A_GiveToTarget(\"GyroUltCooldown\")\nGYCS A 0 A_PlaySoundEx(\"weapon/gyrospin\",\"Body\")\nGYCS CDEF 1 A_GiveToTarget(\"GyroUltCooldown\")\nGYCS A 0 A_PlaySoundEx(\"weapon/gyrospin\",\"Body\")\nGYCS CDEFCDEFCDEF 1 A_Stop\nGYCS A 0 A_Countdown\nGYCS A 0 A_ChangeVelocity(50,0,0,CVF_RELATIVE)\nGYCS AAAAAA 0 A_SeekerMissile (90, 360, SMF_LOOK|SMF_PRECISE, 50, 10)\nloop\nDeath:\nMMFX BCDE 2\nstop\n}\n}\n\nactor GyroActiveFlag : Powerup\n{\nPowerup.Duration 45\n}\n\nactor GyroAfterimage\n{\ntranslation \"192:192=205:205\", \"198:198=74:74\", \"0:2=76:76\"\nPROJECTILE\n+NOCLIP\n+NOINTERACTION\n+THRUGHOST\nrenderstyle translucent\nalpha 0.6\nscale 2.5\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileFXCode\",1)\nGYRM NMNM 2\nloopit:\nGYRM NMNM 2 A_FadeOut(0.15)\nloop\n}\n}\n\nactor GyroWindTunnel : BasicClientSide\n{\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileFXCode\",1)\nGYWI ABABABABAB 1\nloopit:\nGYWI ABAB 1 A_FadeOut(0.2)\nloop\n}\n}\n\nactor GyroAltWatcher\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+MISSILE\nreactiontime 14\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"GyroHitboxGiver\")\nTNT1 A 1 A_JumpIf(CallACS(\"Core_TargetExists\",0) == 0, \"Death\")\nTNT1 A 0 A_GiveToTarget(\"GyroHitboxGiver\")\nTNT1 A 0 A_GiveToTarget(\"GyroAfterImageSpawn\")\nTNT1 A 1 A_JumpIf(CallACS(\"Core_TargetExists\",0) == 0, \"Death\")\nTNT1 A 0 A_Countdown\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor GyroHitboxGiver : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.AUTOACTIVATE\n+COUNTITEM\n+INVBAR\nstates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"GyroFlyHitbox\", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)\nstop\n}\n}\n\nactor GyroAltWatcher2\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+MISSILE\nreactiontime 22\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"GyroWindTunnelSpawn\")\nTNT1 A 0 A_GiveToTarget(\"GyroHitboxGiver2\")\nTNT1 A 1 A_JumpIf(CallACS(\"Core_TargetExists\",0) == 0, \"Death\")\nTNT1 A 0 A_GiveToTarget(\"GyroWindTunnelSpawn\")\nTNT1 A 0 A_GiveToTarget(\"GyroHitboxGiver2\")\nTNT1 A 0 A_GiveToTarget(\"GyroAfterImageSpawn\")\nTNT1 A 1 A_JumpIf(CallACS(\"Core_TargetExists\",0) == 0, \"Death\")\nTNT1 A 0 A_Countdown\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor GyroHitboxGiver2 : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.AUTOACTIVATE\n+COUNTITEM\n+INVBAR\nstates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"GyroFlyHitbox2\", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)\nstop\n}\n}\n\nactor GyroAfterImageSpawn : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.AUTOACTIVATE\n+COUNTITEM\n+INVBAR\nstates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"GyroAfterimage\",-48,0,0,0,0,0,0)\nstop\n}\n}\n\nactor GyroWindTunnelSpawn : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.AUTOACTIVATE\n+COUNTITEM\n+INVBAR\nstates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"GyroWindTunnel\",-48,0,0,0,0,0,0)\nstop\n}\n}\n\nactor GyroFlyHitbox\n{\nObituary \"$OB_GYROMAN2\"\nPROJECTILE\n+NOEXPLODEFLOOR\nRadius 32\nHeight 32\nscale 2.5\nspeed 0\ndamage (22)\nDamagetype \"GyromanAttack\"\nStates\n{\nSpawn:\nTNT1 A 2\nstop\n}\n}\n\nactor GyroFlyHitbox2 : GyroFlyHitbox\n{\ndamage (70)\nStates\n{\nSpawn:\nTNT1 A 2\nstop\n}\n}\n\nactor GyromanAttackProtect : PowerProtection\n{\n\tpowerup.duration 35\n\tDamageFactor \"GyromanAttack\", 0.0\n}\n\nactor GyroThruster : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.AUTOACTIVATE\n+COUNTITEM\n+INVBAR\nstates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"DrillFlag\",1,\"Nope\")\nTNT1 A 0 ThrustThingZ(0,2,1,0)\nstop\nNope:\nTNT1 A 0\nstop\n}\n}\n\nactor GyroUltCooldown : UltBuildCooldownGiver\n{\nPowerup.Duration 35\n}"
      },
      {
        "source": "pk3",
        "name": "actors/megamanv/Terra.txt",
        "contents": "actor Terra : SemiWeakArmorClass\n{\n\tplayer.startitem \"IsFromGB3\"\n\tplayer.startitem \"SemiWeakArmor\"\n\tplayer.soundclass \"terrac\"\n\tPlayer.ViewHeight 52\n\tplayer.displayname \"Terra\"\n\tplayer.forwardmove 0.85, 0.85\n\tplayer.sidemove 0.83, 0.83\n\tplayer.jumpz 12\n\tplayer.startitem \"SparkChaserBoss\"\n\tplayer.startitem \"Base28Ammo\", 28\n\tplayer.startitem \"BaseAltfireAmmo\", 112\n\tplayer.startitem \"CanThirdFire\"\n\tplayer.startitem \"UltimateAttackItem4\", 1\n\tplayer.startitem \"UltSoundWatcherSpawn4\"\n\tStates\n\t{\n\t\tAnimation1:\n\t\tSpawn:\n\t\tTERR A 0\n\t\tTERR B 1 A_JumpIf(z-floorz>0,\"Jumping\")\n\t\tTERR A 1 A_JumpIf(z-floorz>0,\"Jumping\")\n\t\tGoto Spawn+2\n\n\t\tSee:\n\t\tTERR BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0,\"Jumping\")\n\t\tGoto Spawn+1\n\n\t\tJumping:\n\t\tTERR I 1 A_JumpIf(z-floorz<=0,\"Spawn\")\n\t\twait\n\n\t\tMissile:\n\t\tTERR FFFFFGGGGG 1 A_JumpIf(z-floorz>0,\"JumpingMissile\")\n\t\tgoto Spawn+1\n\n\t\tJumpingMissile:\n\t\tTERR JJJJJJJJJJ 1 A_JumpIf(z-floorz<=0,\"Missile\")\n\t\tgoto Jumping\n\n\t\tAnimation2:\n\t\tTERR K 17\n\t\tgoto Spawn+2\n\n\t\tClassTimeStop:\n\t\tPLAY A 0 SetPlayerProperty(0,1,4)\n\t\tPLAY A 0 ACS_Execute(528,0)\n\t\tTERR AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop\n\t\tPLAY A 0 SetPlayerProperty(0,0,4)\n\t\tGoto pain+1\n\t\tClassPain:\n\t\tTERR HHHHHHHHHH 2 A_SpawnItem(\"PainFX\",0,3)\n\t\tGoto Spawn+1\n\t\tClassDeath:\n\t\tTERR H 0 A_TakeInventory(\"BaseCustomFlag1\",1)\n\t\tTERR H 20 ACS_ExecuteAlways(999,0,0)\n\t\tTERR H 0 A_PlayerScream\n\t\tNOFX A 0 A_SpawnItemEx(\"FakeDeathFX\",0,0,32)\n\t\tNOFX A 1 A_CheckPlayerDone\n\t\twait\n\t\tClassIceDeath:\n\t\tTERR A 35\n\t\tNOFX A 0 A_SpawnItemEx(\"FrozenDeathFX\",0,0,16)\n\t\tNOFX A 1 A_CheckPlayerDone\n\t\twait\n\t}\n}\n\nactor SparkChaserBoss : VCBaseWeapon\n{\n\tWeapon.AmmoUse 7\n\tWeapon.AmmoGive 28\n\tWeapon.AmmoType2 \"BaseAltfireAmmo\"\n\tObituary \"$OB_TERRA1\"\n\tStates\n\t{\n\t\tReady:\n\t\tTNT1 A 0\n\t\tTERH A 0 A_JumpIfInventory(\"BaseAltfireAmmo\",112,\"Ready.CanThird\")\n\t\tTERH A 1 A_WeaponReady TERH A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\")\n\t\tTERH A 1 A_WeaponReady TERH A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\")\n\t\tTERH A 1 A_WeaponReady TERH A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\")\n\t\tTERH A 0 A_GiveInventory(\"Base28Ammo\",1)\n\t\tGoto Ready\n\n\t\tReady.CanThird:\n\t\tTERH A 1 A_WeaponReady TERH A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") TERH A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tTERH A 1 A_WeaponReady TERH A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") TERH A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tTERH A 1 A_WeaponReady TERH A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\") TERH A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"VC_CheckBtn\",3)==3,\"User1\")\n\t\tTERH A 0 A_GiveInventory(\"Base28Ammo\",1)\n\t\tGoto Ready\n\n\t\tDeselect:\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\t\tTERH A 1 A_Lower\n\t\tLoop\n\t\tSelect:\n\t\tTNT1 A 0 A_GunFlash\n\t\tTNT1 A 0 ACS_ExecuteAlways(991,0,960)\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\t\tTERH A 1 A_Raise\n\t\tLoop\n\n\t\tFire:\n\t\tTERH A 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\t\tTERH B 2\n\t\tTERH C 0 A_PlaySoundEx(\"weapon/sparkchaser\",\"Weapon\")\n\t\tTERH C 8 A_FireCustomMissile(\"TerraChaser\",0,1,1,8)\n\t\tTERH B 2\n\t\tTERH A 16\n\t\tgoto Ready\n\n\t\tUser1:\n\t\tHAZH D 0 A_ChangeFlag(\"INVULNERABLE\",1)\n\t\tHAZH D 0 A_GiveInventory(\"InvProtection\")\n\t\tHAZH D 0 A_TakeInventory(\"UnSolid\",1)\n\t\tHAZH D 0 A_ChangeFlag(\"SOLID\",0)\n\t\tHAZH D 0 A_ChangeFlag(\"PICKUP\",0)\n\t\tDORH A 0 A_SpawnItemEx(\"TerraTeleportFX\",0,0,32)\n\t\tDORH A 0 A_PlaySoundEx(\"weapon/terrawarp\",\"Weapon\")\n\t\tTERH A 0 A_SetTranslucent(0.0)\n\t\tDORH A 0 A_TakeInventory(\"BaseAltfireAmmo\",112,1)\n\t\tTNT1 A 1 A_ChangeVelocity(cos(pitch)*300,0,0,CVF_RELATIVE|CVF_REPLACE)\n\t\tHAZH D 0 A_ChangeFlag(\"INVULNERABLE\",0)\n\t\tHAZH D 0 A_TakeInventory(\"InvProtection\")\n\t\tDRIA A 0 A_SpawnItemEx(\"ReSolidifier\")\n\t\tTNT1 A 0 A_ChangeFlag(\"PICKUP\",1)\n\t\tTERH A 1 A_Stop\n\t\tTERH AAAA 1 A_SetTranslucent(1.0)\n\t\tgoto Ready\n\n\t\tAltfire:\n\t\tTERH A 0 A_JumpIfInventory(\"Base28Ammo\",14,\"Altfire.Real\")\n\t\tgoto NoAmmo\n\n\t\tAltfire.Real:\n\t\tTERH B 0 A_PlaySoundEx(\"weapon/terracharge\",\"Weapon\")\n\t\tTERH B 0 ACS_NamedExecute(\"VC_SetState\",0,1)\n\t\tTERH B 1 A_SpawnItemEx(\"TerraFormFX\",10,0,40)\n\t\tTERH C 13\n\t\tTERH C 0 A_TakeInventory(\"Base28Ammo\",14,1)\n\t\tTERH C 0 A_PlaySoundEx(\"weapon/pshot\",\"Body\")\n\t\tTERH C 1 Offset(8,38) A_FireCustomMissile(\"TerraFirma\",0,0,1,8)\n\t\tTERH C 1 Offset(16,44)\n\t\tTERH C 5 Offset(24,50)\n\t\tTERH C 1 Offset(20,47)\n\t\tTERH C 1 Offset(16,44)\n\t\tTERH C 1 Offset(12,41)\n\t\tTERH C 1 Offset(8,38)\n\t\tTERH C 1 Offset(4,35)\n\t\tTERH BA 1\n\t\tgoto Ready\n\n\t\tFlash:\n\t\tTNT1 A 1 A_GiveInventory(\"BaseAltfireAmmo\",1)\n\t\tloop\n\n\t\tUltimateAttack:\n\t\tTERH A 0 ACS_NamedExecuteAlways(\"VC_UltimateText\",0,107)\n\t\tTERH A 0 ACS_NamedExecute(\"VC_SetState\",0,2)\n\t\tTERH A 0 A_GiveInventory(\"TerraUltBuildCooldownGiver\",1)\n\t\tTERH A 0 A_PlaySoundEx(\"classes/ultimateactivation\",\"Auto\")\n\t\tTERH A 0 A_SpawnItemEx(\"DarkMoonTeleport\", -20, 0, 512, 0, 0, -36, 0, SXF_NOCHECKPOSITION, 0)\n\t\tTERH A 0 A_TakeInventory(\"MediumLongUltimateAmmo\",999)\n\t\tTERH A 20 Offset(0,56)\n\t\tTERH A 0 A_TakeInventory(\"UltAttackFlag\",1)\n\t\tgoto Ready\n\n\t\tNoAmmo:\n\t\tTERH A 3\n\t\tTERH A 0 A_JumpIfInventory(\"TerraSparkActive\",1,\"Ready\")\n\t\tTERH A 0 A_GiveInventory(\"Base28Ammo\",1)\n\t\tgoto Ready\n\t}\n}\n\nactor TerraChaser\n{\nObituary \"$OB_TERRA1\"\nPROJECTILE\nRadius 8\nHeight 8\nscale 2.5\ndamagetype \"TerraChaser\"\ndamage (2)\nspeed 40\nbouncefactor 1.0\n+HEXENBOUNCE\n+SEEKERMISSILE\n+RIPPER\n+DONTBLAST\n+LOOKALLAROUND\nbouncecount 99\nReactionTime 7\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nTERA A 0 A_PlaySoundEx(\"weapon/terrazip\",\"Body\")\nTERS A 1 bright //A_SpawnItemEx(\"TerraChaserTrail\",0,0,0,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",-momx*2/3,-momy*2/3,-momz*2/3,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",-momx/3,-momy/3,-momz/3,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",0,0,0,momx/4,momy/4,momz/4,0,SXF_ABSOLUTEMOMENTUM)\nTERS A 1 bright A_SpawnItemEx(\"TerraChaserTrail\",0,0,0,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",-momx*2/3,-momy*2/3,-momz*2/3,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",-momx/3,-momy/3,-momz/3,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",0,0,0,momx/4,momy/4,momz/4,0,SXF_ABSOLUTEMOMENTUM)\nTERS A 1 bright A_SpawnItemEx(\"TerraChaserTrail\",0,0,0,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",-momx*2/3,-momy*2/3,-momz*2/3,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",-momx/3,-momy/3,-momz/3,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",0,0,0,momx/4,momy/4,momz/4,0,SXF_ABSOLUTEMOMENTUM)\nTERS A 1 bright A_SpawnItemEx(\"TerraChaserTrail\",0,0,0,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",-momx*2/3,-momy*2/3,-momz*2/3,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",-momx/3,-momy/3,-momz/3,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS A 0 bright A_SpawnItemEx(\"TerraChaserTrail\",0,0,0,momx/4,momy/4,momz/4,0,SXF_ABSOLUTEMOMENTUM)\nTERS A 1 bright A_SpawnItemEx(\"TerraChaserTrail\",0,0,0,0,0,0,0,SXF_ABSOLUTEPOSITION)\nTERS BBCCBBCCBBCCBBCCBBC 1 A_Stop\nTERS C 1 A_SpawnItemEx(\"TerraChaserDot\")\nTERS AAAAAAA 0  A_SeekerMissile (2, 359, SMF_LOOK|SMF_PRECISE, 50, 10)\nTERS A 0 A_CountDown\nTERS A 0 A_Recoil(-20)\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor TerraChaserTrail\n{\nObituary \"$OB_TERRA1\"\ndamagetype \"TerraChaser\"\nprojectile\n+RIPPER\nscale 2.5\nheight 8\nradius 8\ndamage (2)\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nTERS A 2\nstop\n}\n}\n\nactor TerraChaserDot : TerraChaserTrail\n{\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nTERS BBC 1\nstop\n}\n}\n\nactor TerraChaserProtect : PowerProtection\n{\npowerup.duration 4\nDamageFactor \"TerraChaser\", 0.0\n}\n\nactor TerraTeleportFX : BasicClientSide\n{\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileFXCode\")\nTRTP ABCDEFGFHF 2\nstop\n}\n}\n\nactor TerraFormFX\n{\nscale 2.5\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\ndamage(0)\nradius 5\nheight 5\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileFXCode\",1)\nTNT1 A 0 A_Warp(AAPTR_TARGET,30,0,40,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nTRSS ABCDEFGHIJGHIJ 1 A_Warp(AAPTR_TARGET,30,0,40,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nstop\n}\n}\n\nactor TerraFirma\n{\nObituary \"$OB_TERRA2\"\nscale 2.5\nPROJECTILE\nspeed 40\ndamage(0)\n+RIPPER\ndamagetype \"TerraFirma\"\nradius 8\nheight 8\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\",1)\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTRSS GHIJGHIJ 1 A_Explode(22,32,0,0,32)\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTNT1 A 0 A_SetScale(scalex+0.5,scaley+0.5)\nTRSS GHIJGHIJ 1 A_Explode(22,40,0,0,40)\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTNT1 A 0 A_SetScale(scalex+0.5,scaley+0.5)\nTRSS GHIJGHIJ 1 A_Explode(22,48,0,0,48)\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTNT1 A 0 A_SetScale(scalex+0.5,scaley+0.5)\nTRSS GHIJGHIJ 1 A_Explode(22,56,0,0,56)\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTNT1 A 0 A_SetScale(scalex+0.5,scaley+0.5)\nTRSS GHIJGHIJ 1 A_Explode(22,64,0,0,64)\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTNT1 A 0 A_SetScale(scalex+0.5,scaley+0.5)\nTRSS GHIJGHIJ 1 A_Explode(22,72,0,0,72)\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTNT1 A 0 A_SetScale(scalex+0.5,scaley+0.5)\nTRSS GHIJGHIJ 1 A_Explode(22,80,0,0,80)\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTNT1 A 0 A_SetScale(scalex+0.5,scaley+0.5)\nTRSS GHIJGHIJ 1 A_Explode(22,88,0,0,88)\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTNT1 A 0 A_SetScale(scalex+0.5,scaley+0.5)\nloopit:\nTNT1 A 0 A_PlaySoundEx(\"weapon/terrafirma\",\"Body\")\nTRSS GHIJGHIJ 1 A_Explode(22,96,0,0,96)\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor TerraFirmaProtect : PowerProtection\n{\npowerup.duration 22\nDamageFactor \"TerraFirma\", 0.0\n}\n\nactor TerraStunWatcher\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+MISSILE\nRenderstyle none\nreactiontime 35\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"MovementFrozen2\")\nTNT1 A 1 A_Warp(AAPTR_TARGET, 0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION)\nTNT1 A 0 A_JumpIf(CallACS(\"Core_TargetExists\",0) == 0, \"Death\")\nTNT1 A 0 A_SpawnItemEx(\"TerraFreezeFX\", random(8, 64), 0, random(0, 64), 0, 0, 0, random(0, 359))\nTNT1 A 0 A_Countdown\nloop\nDeath:\nTNT1 A 0 A_GiveToTarget(\"MovementReturnFailsafe\")\nstop\n}\n}\n\nactor TerraFreezeFX : BasicClientSide\n{\nscale 0.0\nalpha 0.9\nrenderstyle add\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileFXCode\")\nTRSS KKKKK 1 A_SetScale(scalex+0.5,scaley+0.5)\nTRSS KKKKK 1 A_SetScale(scalex-0.5,scaley-0.5)\nstop\n}\n}\n\nactor TerraUltBuildCooldownGiver : UltBuildCooldownGiver\n{\n\tPowerup.Duration 70\n}\n\nactor DarkMoonTeleport\n{\nRadius 8\nHeight 8\nscale 2.5\n+NOCLIP\nPROJECTILE\n+DONTBLAST\n+SKYEXPLODE\nstates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nDMUN A 9\nDMUN A 0 A_ChangeFlag(\"NOCLIP\", 0)\nDMUN AAAAAAAAAA 1 A_CheckFloor(\"Next\")\nGoto Next\nNext:\nDMUN A 0 //A_ChangeFlag(NOGRAVITY, false)\nGoto Death\nDeath:\nTNT1 A 0 A_GiveToTarget(\"TerraUltBuildCooldownGiver\")\nTNT1 A 0 A_SpawnItemEx(\"DarkMoon\",0,0,3,0,0,momz,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION,0)\nstop\n}\n}\n\nactor DarkMoon\n{\nPROJECTILE\n-SOLID\n+DONTBLAST\n+NOCLIP\n+SKYEXPLODE\n+MISSILE\n-ISMONSTER\nscale 2.5\nRadius 1\nHeight 1\nstates\n{\nSpawn:\nTNT1 AA 0 A_GiveToTarget(\"ProjectileCode\")\nRUSH A 0 A_ChangeFlag(\"MISSILE\",0)\nloopit:\nDMUN A 0 A_ChangeVelocity(0, 0, -32, CVF_REPLACE)\nDMUN A 1 A_JumpIf(z-floorz<=0, \"Tick\")\nloop\nTick:\nDMUN A 0 A_PlaySoundEx(\"weapon/darkmoonwarp\",\"Body\")\nDMUN A 0 A_ChangeFlag(\"NOCLIP\",0)\nDMUN BC 2\nDMUN B 0 A_PlaySoundEx(\"weapon/darkmooncount\",\"Body\")\nDMUN DDDDEFFEDDDDDE 4 A_GiveToTarget(\"TerraUltBuildCooldownGiver\")\nDMUN F 1 A_ChangeVelocity(0,16,0,CVF_RELATIVE|CVF_REPLACE)\nDMUN F 1 A_ChangeVelocity(0,-16,0,CVF_RELATIVE|CVF_REPLACE)\nDMUN F 1 A_ChangeVelocity(0,16,0,CVF_RELATIVE|CVF_REPLACE)\nDMUN F 1 A_ChangeVelocity(0,-16,0,CVF_RELATIVE|CVF_REPLACE)\nDMUN E 1 A_ChangeVelocity(0,16,0,CVF_RELATIVE|CVF_REPLACE)\nDMUN E 1 A_ChangeVelocity(0,-16,0,CVF_RELATIVE|CVF_REPLACE)\nDMUN D 1 A_ChangeVelocity(0,16,0,CVF_RELATIVE|CVF_REPLACE)\nDMUN D 1 A_ChangeVelocity(0,-16,0,CVF_RELATIVE|CVF_REPLACE)\nDMUN D 1 A_ChangeVelocity(0,16,0,CVF_RELATIVE|CVF_REPLACE)\nDMUN D 1 A_ChangeVelocity(0,-16,0,CVF_RELATIVE|CVF_REPLACE)\nTNT1 A 0 A_PlaySoundEx(\"weapon/darkmoonboom\",\"Body\")\nTNT1 A 0 A_SpawnItemEx(\"DMFakeDeathFX\",20,0,120,0,0,0,0,1)\nTNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx(\"DarkMoonPiece\",random(0,64),0,random(0,160),random(7,25),0,random(-30,30),random(0,359),1)\nTNT1 A 2\nstop\n}\n}\n\nactor DMDeathFX1\n{\nheight 1\nradius 1\nscale 2.5\n+NOINTERACTION\nSpeed 15\nPROJECTILE\nreactiontime 14\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileFXCode\")\nDMUN MNO 2 A_GiveInventory(\"ProjectileFXCode\")\nDMUN A 0 A_CountDown\nloop\n}\n}\n\nactor DMDeathFX2 : DMDeathFX1\n{\nspeed 5\n}\n\nactor DMFakeDeathFX\n{\nPROJECTILE\nradius 1\nheight 1\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileFXCode\")\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX1\",0,0,0,2,90)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX1\",0,0,0,2,-90)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX1\",0,0,90,2,45)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX1\",0,0,-90,2,-45)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX1\",0,0,90,2,0)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX1\",0,0,-90,2,0)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX1\",0,0,90,2,-45)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX1\",0,0,-90,2,45)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX2\",0,0,0,2,90)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX2\",0,0,0,2,-90)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX2\",0,0,90,2,0)\nPLY1 Z 0 A_CustomMissile(\"DMDeathFX2\",0,0,-90,2,0)\nTNT1 A 1\nstop\n}\n}\n\nactor DarkMoonPiece\n{\nPROJECTILE\nScale 2.5\nHeight 16\nRadius 16\nDamage(15)\n+ALLOWBOUNCEONACTORS\nbouncetype \"Classic\"\nbouncesound \"weapon/darkmoonbounce\"\n+BOUNCEONWALLS\n+CANBOUNCEWATER\n+SKYEXPLODE\ndamagetype \"Terra\"\nObituary \"$OB_TERRA3\"\nbouncefactor 1.0\nwallbouncefactor 1.0\nspeed 0\nbouncecount 99\nreactiontime 40\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nDMUN LKJIHG 2 A_GiveToTarget(\"TerraUltBuildCooldownGiver\")\nloopit:\nDMUN GHIHG 2 A_GiveToTarget(\"TerraUltBuildCooldownGiver\")\nDMUN G 0 A_Countdown\nloop\n}\n}\n\nactor TerraSparkActive : Powerup\n{\nPowerup.Duration 24\n}"
      },
      {
        "source": "pk3",
        "name": "actors/megaman4/Ringman.txt",
        "contents": "actor Ringman : VCBaseClass\n{\n+NOSKIN\nplayer.displayname \"Ringman\"\nplayer.soundclass \"ringmanc\"\nplayer.startitem \"NormalArmor\"\nplayer.startitem \"RingBoomerangBoss\"\nplayer.startitem \"Base28Ammo\",28\nplayer.startitem \"BaseAltfireAmmo\",112\nplayer.forwardmove 0.85, 0.85\nplayer.sidemove 0.83, 0.83\nplayer.jumpz 14\nplayer.viewheight 44\nplayer.startitem \"UltimateAttackItem2\"\nplayer.startitem \"UltSoundWatcherSpawn2\"\nStates\n{\nSpawn:\nRINM A 0\nRINM B 1 A_JumpIf(z-floorz>0, \"Jumping\")\nRINM A 1 A_JumpIf(z-floorz>0, \"Jumping\")\nGoto Spawn+2\n\nSee:\nRINM BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0, \"Jumping\")\nGoto Spawn+1\n\nJumping:\nRINM J 1 A_JumpIf(z-floorz<=0, \"Spawn\")\nwait\n\nMissile:\nRINM F 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"Missile3\")\nRINM FFF 1 A_JumpIf(z-floorz>0, \"JumpingMissile\")\n\nMissile2:\nRINM GGGGG 1 A_JumpIf(z-floorz>0, \"JumpingMissile2\")\ngoto Spawn+1\n\nMissile3:\nRINM MMMMM 1 A_JumpIf(z-floorz>0, \"JumpingMissile3\")\ngoto Spawn+1\n\nJumpingMissile:\nRINM K 0 A_JumpIfInventory(\"BaseCustomFlag1\",1,\"JumpingMissile3\")\nRINM KKK 1 A_JumpIf(z-floorz<=0, \"Missile\")\n\nJumpingMissile2:\nRINM LLLLL 1 A_JumpIf(z-floorz<=0, \"Missile2\")\ngoto Jumping\n\nJumpingMissile3:\nRINM NNNNN 1 A_JumpIf(z-floorz<=0, \"Missile3\")\ngoto Jumping\n\nClassTimeStop:\nPLAY A 0 SetPlayerProperty(0,1,4)\nPLAY A 0 ACS_Execute(528,0)\nRINM AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop\nPLAY A 0 SetPlayerProperty(0,0,4)\nGoto pain+1\nClassPain:\nRINM HHHHHHHHHH 2 A_SpawnItem(\"PainFX\",0,3)\nGoto Spawn+1\nClassDeath:\nRINM H 20 ACS_ExecuteAlways(999,0,0)\nRINM H 0 A_PlayerScream\nNOFX A 0 A_SpawnItemEx(\"FakeDeathFX\",0,0,32)\nNOFX A 1 A_CheckPlayerDone\nwait\nClassIceDeath:\nRINM A 35\nNOFX A 0 A_SpawnItemEx(\"FrozenDeathFX\",0,0,16)\nNOFX A 1 A_CheckPlayerDone\nwait\n}\n}\n\nactor RingBoomerangBoss : VCBaseWeapon\n{\nWeapon.AmmoUse 4\nWeapon.Ammotype \"Base28Ammo\"\nWeapon.Ammotype2 \"BaseAltfireAmmo\"\nObituary \"$OB_RINGMAN1\"\nStates\n{\nReady:\nTNT1 A 0\nTNT1 A 0 A_JumpIfInventory(\"BaseAltfireAmmo\",28,\"Ready.CanAlt\")\nRINA A 1 A_WeaponReady(WRF_NOSECONDARY) RINA A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\")\nRINA A 1 A_WeaponReady(WRF_NOSECONDARY) RINA A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\")\nRINA A 0 A_GiveInventory(\"Base28Ammo\",1)\nRINA A 0 A_GiveInventory(\"BaseAltfireAmmo\",1)\nGoto Ready\n\nReady.CanAlt:\nRINA A 1 A_WeaponReady RINA A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\")\nRINA A 1 A_WeaponReady RINA A 0 A_JumpIfInventory(\"UltAttackFlag\",1,\"UltimateAttack\")\nRINA A 0 A_GiveInventory(\"Base28Ammo\",1)\nRINA A 0 A_GiveInventory(\"BaseAltfireAmmo\",1)\nGoto Ready\n\nSelect:\nRINA A 0\nRINA A 0 ACS_ExecuteAlways(991,0,784)\nRINA A 10 A_WeaponReady(14)\ngoto Ready\n\nDeselect:\nTNT1 A 0 A_GunFlash(\"NoFlash\")\nDeselectX:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nRINA A 1 A_Lower\nLoop\n\nFire:\nRINA A 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\nHold:\nRINA A 0 A_JumpIfInventory(\"RingManCharge\",13,\"Hold2\")\nRINA A 1 Offset(0,38) A_GiveInventory(\"RingManCharge\",1)\nRINA A 0 A_Refire\ngoto Fire1\n\nHold2:\nRINA A 0 A_JumpIfInventory(\"RingManCharge\",26,\"Hold3\")\nRINA A 1 Offset(0,44) A_GiveInventory(\"RingManCharge\",1)\nRINA A 0 A_Refire(\"Hold2\")\ngoto Fire1\n\nHold3:\nRINA A 0 A_JumpIfInventory(\"RingManCharge\",39,\"Hold4\")\nRINA A 1 Offset(0,50) A_GiveInventory(\"RingManCharge\",1)\nRINA A 0 A_Refire(\"Hold3\")\ngoto Fire1\n\nHold4:\nRINA A 0 A_JumpIfInventory(\"RingManCharge\",52,\"Hold5\")\nRINA A 1 Offset(0,56) A_GiveInventory(\"RingManCharge\",1)\nRINA A 0 A_Refire(\"Hold4\")\ngoto Fire1\n\nHold5:\nRINA I 0 A_PlaySoundEx(\"weapon/ringwhopper\",\"Weapon\")\nRINA A 0 A_SpawnItemEx(\"WhopperRingFX\")\nRINA I 1 Offset(0,72)\nRINA I 1 Offset(0,56)\nRINA I 1 Offset(0,44)\nRINA I 1 Offset(0,36)\n\nFire.FullHold:\nRINA I 2 A_TakeInventory(\"RingManCharge\",1)\nRINA A 0 A_JumpIfInventory(\"RingManCharge\",1,1)\ngoto Fire2\nRINA A 0 A_Refire(\"Fire.FullHold\")\ngoto Fire2\n\nFire1:\nRINA A 0 A_WeaponReady(WRF_NOFIRE)\nRINA A 0 A_JumpIfNoAmmo(\"NoAmmo\")\nRINA B 1\nRINA A 0 A_PlaySoundEx(\"weapon/ringboomerang\",\"Weapon\")\nRINA A 0 A_GiveInventory(\"RingM1Handler\")\nRINA CDEF 1\nRINA A 0 A_TakeInventory(\"RingManCharge\",999)\nTNT1 A 4\nRINA GHA 2\nRINA A 0 A_Refire(\"Fire1\")\ngoto Ready\n\nFire2:\nRINA A 0 A_PlaySoundEx(\"weapon/ringboomerang\",\"Weapon\")\nRINA A 0 A_FireCustomMissile(\"WhopperRing\",0,1,0,8)\nRINA A 0 A_FireCustomMissile(\"WhopperRing\",60,0,0,8)\nRINA A 0 A_FireCustomMissile(\"WhopperRing\",120,0,0,8)\nRINA A 0 A_FireCustomMissile(\"WhopperRing\",180,0,0,8)\nRINA A 0 A_FireCustomMissile(\"WhopperRing\",240,0,0,8)\nRINA A 0 A_FireCustomMissile(\"WhopperRing\",300,0,0,8)\nRINA A 0 A_GiveInventory(\"DrillFlag\")\nRINA L 1 A_TakeInventory(\"RingManCharge\",999)\nRINA L 8 Offset(0,40) A_TakeInventory(\"RingManCharge\",999)\nRINA L 1 Offset(0,60)\nRINA L 1 Offset(0,80)\nRINA L 1 Offset(0,100)\nRINA L 1 Offset(0,120)\nRINA L 1 Offset(0,140)\nRINA L 1 Offset(0,160)\nRINA L 1 Offset(0,180)\nRINA A 0 A_TakeInventory(\"DrillFlag\")\nRINA L 0 A_WeaponReady(WRF_NOFIRE)\nRINA GHAAA 1 A_ClearRefire\nGoto Ready\n\nAltfire:\nRINA A 0 A_PlaySoundEx(\"weapon/ringalt\",\"Weapon\")\nRINA A 0 A_SpawnItemEx(\"RingKaba\",0,0,120)\nRINA IJKL 1 A_GiveInventory(\"BaseCustomFlag1\")\nRINA A 0 A_GunFlash\n\nAltfire.Holding:\nRINA L 2 A_TakeInventory(\"BaseAltfireAmmo\",1)\nRINA A 0 A_JumpIfInventory(\"BaseAltfireAmmo\",1,1)\ngoto Altfire.End\nRINA A 0 A_Refire(\"Altfire.Holding\")\n\nAltfire.End:\nRINA A 0 A_TakeInventory(\"BaseAltfireAmmo\",28)\nRINA A 0 A_GiveInventory(\"KabaCancel\")\nRINA LKJI 2 A_GunFlash(\"NoFlash\")\nRINA A 0 A_TakeInventory(\"BaseCustomFlag1\")\nRINA A 8 A_ClearRefire\ngoto Ready\n\nFlash:\nTNT1 A 2 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")\nTNT1 A 0 A_TakeInventory(\"BaseAltfireAmmo\",1)\nloop\n\nUltimateAttack:\nTNT1 A 0 ACS_NamedExecuteAlways(\"VC_UltimateText\",0,31)\nTNT1 A 0 A_TakeInventory(\"UltAttackFlag\",1)\nTNT1 A 0 A_TakeInventory(\"MediumShortUltimateAmmo\",1)\nCUTA A 0 A_PlaySoundEx(\"classes/ultimateactivation\",\"Auto\")\nCUTA A 0 A_GiveInventory(\"RingUltCooldown\")\nRINA A 0 A_SpawnItemEx(\"RingUltWatcher\")\nRINA A 1 A_TakeInventory(\"UltAttackFlag\",1)\ngoto Ready\n\nNoAmmo:\nRINA A 0 A_ClearRefire\nRINA A 0 A_GiveInventory(\"Base28Ammo\",1)\nRINA A 2 A_GiveInventory(\"BaseAltfireAmmo\",1)\nGoto Ready\n}\n}\n\nactor RingManCharge : Ammo\n{\n\tinventory.amount 1\n\tinventory.maxamount 52\n\t+INVENTORY.IGNORESKILL\n}\n\nactor RingKaba\n{\nObituary \"$OB_RINGMAN3\"\nscale 0.0\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\ndamage(0)\nradius 5\nheight 5\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileFXCode\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 0 A_SetScale(scalex+0.25,scaley+0.25)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\n\nloopit:\nKABA A 0 A_JumpIfInTargetInventory(\"KabaCancel\",1,\"Death\")\nKABA A 0 A_GiveInventory(\"CutterFlag\",1)\nKABA A 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA A 0 A_JumpIfInventory(\"CutterFlag\",10,\"ShootMissile\")\nloop\n\nShootMissile:\nKABA B 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA B 0 A_JumpIfInTargetInventory(\"KabaCancel\",1,\"Death\")\nKABA B 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA B 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA B 0 A_JumpIfInTargetInventory(\"KabaCancel\",1,\"Death\")\nKABA B 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA B 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA B 0 A_JumpIfInTargetInventory(\"KabaCancel\",1,\"Death\")\nKABA B 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA B 0 A_PlaySoundEx(\"weapon/kabashoot\",\"Body\")\n//KABA B 0 A_SpawnItemEx(\"KabaMissile\",32,0,-30,20,0,0)\nKABA B 0 A_GiveToTarget(\"KabaMissileFire\",1)\nKABA A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA A 0 A_JumpIfInTargetInventory(\"KabaCancel\",1,\"Death\")\nKABA B 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA B 0 A_JumpIfInTargetInventory(\"KabaCancel\",1,\"Death\")\nKABA B 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA B 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA B 0 A_JumpIfInTargetInventory(\"KabaCancel\",1,\"Death\")\nKABA B 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA B 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA B 0 A_JumpIfInTargetInventory(\"KabaCancel\",1,\"Death\")\nKABA B 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA B 0 A_TakeInventory(\"CutterFlag\",10)\nKABA B 0 A_JumpIfInTargetInventory(\"RingBoomerangBoss\",1,\"loopit\")\nKABA B 1 A_Warp(AAPTR_TARGET,0,0,120,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nKABA B 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nKABA B 0 A_JumpIfInTargetInventory(\"KabaCancel\",1,\"Death\")\ngoto Death\n\nDeath:\nKABA B 1 A_PlaySoundEx(\"misc/mm4pain\",\"SoundSlot5\")\nKABA B 1\nMMFX BCDE 2\nstop\n}\n}\n\nactor KabaMissile\n{\nPROJECTILE\nDamagetype \"Ringman\"\nSpeed 20\nDamage (6)\n+SEEKERMISSILE\n+SCREENSEEKER\n-NOEXPLODEFLOOR\n-EXTREMEDEATH\nRadius 12\nHeight 12\nscale 2.5\nreactiontime 58\nObituary \"$OB_RINGMAN3\"\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\",1)\nKABA CCCDDDCCCDDD 1 A_SeekerMissile (2, 10, SMF_LOOK, 256, 100)\nKABA C 0 A_ChangeFlag(\"NOEXPLODEFLOOR\",1)\nloopit:\nKABA CCCDDD 1 A_SeekerMissile (2, 10, SMF_LOOK, 256, 100)\nKABA C 0 A_Countdown\nloop\nDeath:\nTNT1 A 0 A_ChangeFlag(\"NOINTERACTION\",1)\nMMFX BCDE 2\nstop\n}\n}\n\nactor KabaCancel : Powerup\n{\nPowerup.Duration 10\n}\n\nactor RingM1Handler : CustomInventory\n{\nStates\n{\nPickup:\nBUST B 0 A_JumpIfInventory(\"RingManCharge\",39,\"Fire4\")\nBUST B 0 A_JumpIfInventory(\"RingManCharge\",26,\"Fire3\")\nBUST B 0 A_JumpIfInventory(\"RingManCharge\",13,\"Fire2\")\nFire1:\nTNT1 A 0 A_FireCustomMissile(\"RingManBoomerang1\",0,1,1,8)\nstop\nFire2:\nTNT1 A 0 A_FireCustomMissile(\"RingManBoomerang2\",0,1,1,8)\nstop\nFire3:\nTNT1 A 0 A_FireCustomMissile(\"RingManBoomerang3\",0,1,1,8)\nstop\nFire4:\nTNT1 A 0 A_FireCustomMissile(\"RingManBoomerang4\",0,1,1,8)\nstop\n}\n}\n\nactor KabaMissileFire : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_FireCustomMissile(\"KabaMissile\",0,0,0,60)\nstop\n}\n}\n\nactor RingManBoomerang1\n{\nPROJECTILE\nRadius 12\nHeight 12\nscale 2.5\ndamage (5)\n+RIPPER\n+HEXENBOUNCE\n+NOTARGETSWITCH\n+CANBOUNCEWATER\nmeleerange 1\ndamagetype \"Ringman\"\nObituary \"$OB_RINGMAN1\"\nspeed 65\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nRING ABCD 2\nRING A 0 A_GiveInventory(\"CutterFlag\",1)\nRING A 0 A_JumpIfInventory(\"CutterFlag\",meleerange,\"Return\")\nloop\n\nReturn:\nRING A 0 A_Stop\nRING ABCDABCD 2\nGoto Death\n\nDeath:\nRING A 0\nRING A 0 A_CustomMissile(\"ReturningManRing\",0,0,0,0)\nstop\n}\n}\n\nactor RingManBoomerang2 : RingManBoomerang1\n{\nmeleerange 2\n}\n\nactor RingManBoomerang3 : RingManBoomerang1\n{\nmeleerange 3\n}\n\nactor RingManBoomerang4 : RingManBoomerang1\n{\nmeleerange 4\n}\n\nactor ReturningManRing : RingManBoomerang1\n{\nspeed 40\n+NOINTERACTION\ndamagetype \"Ringman\"\nradius 0\nheight 0\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nRING A 0 A_JumpIfCloser(40,\"Death\")\nRING A 1 A_SpawnItemEx(\"RingManBoomerangDamager\",0,0,0,2,0,0)\nRING B 0 A_JumpIfCloser(40,\"Death\")\nRING B 1 A_SpawnItemEx(\"RingManBoomerangDamager\",0,0,0,2,0,0)\nRING C 0 A_JumpIfCloser(40,\"Death\")\nRING C 1 A_SpawnItemEx(\"RingManBoomerangDamager\",0,0,0,2,0,0)\nRING D 0 A_JumpIfCloser(40,\"Death\")\nRING D 1 A_SpawnItemEx(\"RingManBoomerangDamager\",0,0,0,2,0,0)\nRING A 0 A_CustomMissile(\"ReturningManRing\",0,0,0,0)\nstop\nDeath:\nRING A 0\nstop\n}\n}\n\nactor RingManBoomerangDamager : RingBoomerangDamager\n{\ndamagetype \"Ringman\"\nObituary \"$OB_RINGMAN1\"\ndamage (5)\n}\n\nactor WhopperRingFX\n{\nObituary \"$OB_RINGMAN3\"\nscale 2.5\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\ndamage(0)\nradius 5\nheight 5\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileFXCode\",1)\nRINX E 0 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nRINX E 0 A_JumpIfInTargetInventory(\"DrillFlag\",1,\"Death\")\nRINX E 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nRINX E 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nRINX E 0 A_JumpIfInTargetInventory(\"DrillFlag\",1,\"Death\")\nRINX E 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nRINX E 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\n\nRINX F 0 A_JumpIfInTargetInventory(\"DrillFlag\",1,\"Death\")\nRINX F 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nRINX F 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nRINX F 0 A_JumpIfInTargetInventory(\"DrillFlag\",1,\"Death\")\nRINX F 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nRINX F 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\n\nRINX G 0 A_JumpIfInTargetInventory(\"DrillFlag\",1,\"Death\")\nRINX G 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nRINX G 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nRINX G 0 A_JumpIfInTargetInventory(\"DrillFlag\",1,\"Death\")\nRINX G 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nRINX G 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\n\nRINX H 0 A_JumpIfInTargetInventory(\"DrillFlag\",1,\"Death\")\nRINX H 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nRINX H 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nRINX H 0 A_JumpIfInTargetInventory(\"DrillFlag\",1,\"Death\")\nRINX H 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nRINX H 0 A_JumpIf(ACS_NamedExecuteWithResult(\"core_targetexists\",0)==0,\"Death\")\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor WhopperRing\n{\nPROJECTILE\nRadius 20\nHeight 16\nscale 2.5\ndamage (22)\n+RIPPER\n+HEXENBOUNCE\n+NOTARGETSWITCH\n+CANBOUNCEWATER\ndamagetype \"RingWhopper\"\nObituary \"$OB_RINGMAN2\"\nspeed 70\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nRINX ABCDABCD 2\nRINX A 0 A_ScaleVelocity(-1)\nRINX ABCDABCDA 2\nDeath:\nstop\n}\n}\n\nactor RingWhopperProtect : PowerProtection\n{\nPowerup.Duration 29\nDamageFactor \"RingWhopper\", 0.0\n}\n\nActor RingUltWatcher\n{\nHeight 0\nRadius 0\n+NOTARGETSWITCH\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+MISSILE\n+DONTBLAST\nStates\n{\nSpawn:\nTNT1 A 10 A_GiveToTarget(\"RingRingSpawn\",1)\nTNT1 A 0 A_TakeFromTarget(\"MediumShortUltimateAmmo\",3)\nTNT1 A 0 A_JumpIf(CallACS(\"Core_TargetExists\",0) == 0,\"Death\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"MediumShortUltimateAmmo\",1,\"Spawn\")\nTNT1 A 0\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor RingUltCooldown : UltBuildCooldownGiver\n{\nPowerup.Duration 35\n}\n\nactor RingRingSpawner\n{\nPROJECTILE\nradius 24\nheight 24\n+THRUACTORS\n+NOEXPLODEFLOOR\nspeed 20\nscale 2.5\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nTNT1 A 3\nDeath:\nTNT1 A 0 A_ChangeFlag(\"NOINTERACTION\",1)\nTNT1 A 0 A_Stop\nMMFX EDCB 1 A_Stop\nMMFX B 0 A_SpawnItemEx(\"RingRingMan\",0,0,0,8,0,0,0,1)\nstop\n}\n}\n\nactor RingRingMan\n{\nPROJECTILE\nDamagetype \"RingRing\"\nSpeed 8\nDamage (13)\n+SEEKERMISSILE\n+SCREENSEEKER\n+SKYEXPLODE\nbouncetype hexen\nbouncecount 2\nRadius 16\nHeight 16\nscale 2.5\nreactiontime 30\nObituary \"$OB_RINGMAN4\"\nStates\n{\nSpawn:\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\",1)\nRIRG A 0 A_GiveToTarget(\"RingUltCooldown\")\nRIRG AAAABBBBCCCCDDDD 1 A_SeekerMissile(4, 10, SMF_LOOK|SMF_PRECISE, 256, 100)\nRIRG A 0 A_Countdown\nloop\nDeath:\nTNT1 A 0 A_ChangeFlag(\"NOINTERACTION\",1)\nMMFX BCDE 2\nstop\n}\n}\n\nactor RingRingSpawn : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"RingRingSpawner\",0,0,24,random(0,80),0,random(-80,80),random(0,359))\nstop\n}\n}"
      }
    ]
  },
  "maps": []
}

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