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": []
}