mmsp-demo-1.pk3

PK3 356 KiB 0 map(s)

Counts

endoom0
graphics0
lumps112
maps1
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "055e9cfd-cca6-4a44-a2fb-ee553099a666",
    "sha1": "266bdec5a091d721af58ef3bf190906dee835ed0",
    "sha256": "fc06d99aef9c624d7647ee45c1a3054727aa12bd19c89b5cd0ce01163961fbe4",
    "filenames": [
      "mmsp-demo-1.pk3"
    ],
    "additional": {
      "engines": [
        "ZDOOM"
      ],
      "iwad": [],
      "filename": null,
      "added": "2013-04-18 21:58:00",
      "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": "2013-04-18 21:58:00",
    "file": {
      "type": "PK3",
      "size": 365030,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/266bdec5a091d721af58ef3bf190906dee835ed0/266bdec5a091d721af58ef3bf190906dee835ed0.pk3.gz",
      "corrupt": false
    },
    "content": {
      "maps": [
        "MMSPCUT"
      ],
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 112,
        "maps": 1,
        "palettes": 0
      },
      "engines_guess": [
        "ZDOOM"
      ]
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "actors/SPWeapons.txt",
        "contents": "actor MegaBusterSP : MegaBuster\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\nWeapon.SlotNumber 1\nscale 2.0\nObituary \"%o was bombed by %k's Mega Buster.\"\nInventory.Pickupmessage \"You got the Mega Buster!\"\nweapon.ammotype \"BusterAmmo\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUST B 0 A_JumpIfInventory(\"Once\",1,\"Ready2\")\nBUST B 0 ACS_ExecuteAlways(998,0,0,1)\nBUST B 0 A_GiveInventory(\"Once\",1)\nGoto Ready2+1\nReady2:\nBUST B 0 ACS_ExecuteAlways(998,0,0)\nBUST B 1 A_WeaponReady\nGoto Ready2+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBUST B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBUST B 1 A_Raise\nLoop\nFire:\nBUST B 0 A_JumpIfNoAmmo(\"NoAmmo\")\nBUST B 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nBUST B 0 A_FireCustomMissile(\"MegaShot2\",0,0,8,0)\nBUST CD 3\nBUST B 2\nBUST B 0 A_Refire\ngoto Ready2+1\nNoAmmo:\nBUST B 1\nGoto Ready\n}\n}\n\nactor MegaShot2 : MegaShot\n{\n+BLOODSPLATTER\n}\n\nactor ProtoBusterSP : Weapon\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\nWeapon.SlotNumber 1\nscale 2.0\nObituary \"%o was sniped by %k's Proto Buster.\"\nInventory.Pickupmessage \"You got the Proto Buster!\"\nweapon.ammotype \"BusterAmmo\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\nStates\n{\nSpawn:\nWEA2 Q 1\nstop\nReady:\nPROC J 0 A_JumpIfInventory(\"Once\",1,\"Ready2\")\nBUST B 0 ACS_ExecuteAlways(998,0,36,1)\nPROC J 0 A_GiveInventory(\"Once\",1)\nGoto Ready2+1\nReady2:\nPROC J 0 ACS_ExecuteAlways(998,0,36)\nPROC J 0 A_TakeInventory(\"ProtoCharge\",999)\nPROC J 0 A_TakeInventory(\"StopShield\",1)\nPROC J 0 A_GunFlash\nPROC LK 1 A_WeaponReady\nPROC J 1 A_WeaponReady\nGoto Ready2+6\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nPROC J 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nPROC J 1 A_Raise\nLoop\nFire:\nPROC D 0 A_JumpIfNoAmmo(\"Hold\")\nPROC D 0 A_GiveInventory(\"StopShield\",1)\nPROC D 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nPROC D 0 A_FireCustomMissile(\"ProtoShotSP\",0,0,8,0)\nPROC KLD 1 A_TakeInventory(\"ProtoCharge\",999)\nPROC EF 3\nPROC D 3 A_Refire\ngoto Ready2+2\nFire2:\nPROC D 0 A_TakeInventory(\"ProtoCharge\",999)\nPROC D 0 A_GiveInventory(\"StopShield\",1)\nPROC F 3 A_PlaySoundEx(\"weapon/pshot\",\"Weapon\")\nPROC F 3 A_FireCustomMissile(\"ProtoShot2SP\",0,0,8,0)\nPROC EFD 3\nPROC D 0 A_Refire\ngoto Ready2+2\nFire3:\nPROC D 0 A_TakeInventory(\"ProtoCharge\",999)\nPROC D 0 A_GiveInventory(\"StopShield\",1)\nPROC D 0 A_PlaySoundEx(\"weapon/pshot\",\"Weapon\")\nPROC F 3 //A_FireCustomMissile(\"ProtoShotFX\",0,0,8,0)\nPROC F 3 A_FireCustomMissile(\"ProtoShot3SP\",0,0,8,0)\nPROC ED 3\nPROC D 9\nPROC D 0 A_Refire\ngoto Ready2+1\nHold:\nPROC D 0 A_JumpIfInventory(\"ProtoCharge\",32,\"BotCheck\")\nPROC D 0 A_JumpIfInventory(\"ProtoCharge\",18,\"Charge\")\nPROC D 1 A_GiveInventory(\"ProtoCharge\",1)\nPROC D 0 A_Refire\nGoto Ready2+1\nCharge:\nPROC D 0 A_JumpIfInventory(\"ProtoCharge\",32,\"Charge2\")\nPROC D 0 A_JumpIfInventory(\"ProtoCharge\",19,\"Charge1\")\nPROC D 0 A_PlaySoundEx(\"weapon/pcharge\",\"Weapon\")\nPROC LK 1\nPROC J 0 A_GunFlash\nGoto Charge1\nCharge1:\nPROC J 0 A_JumpIfInventory(\"ProtoCharge\",32,\"Charge2\")\nPROC J 1 ACS_ExecuteAlways(991,0,63)\nPROC H 3 ACS_ExecuteAlways(991,0,36)\nPROC H 0 A_GiveInventory(\"ProtoCharge\",2)\nPROC J 0 A_GunFlash\nPROC H 0 A_Refire\nGoto Fire2\nBotCheck:\nPROC H 0 A_Jump(224, \"Charge2\")\nPROC H 0 ACS_ExecuteAlways(974,0)\nGoto Charge2\nCharge2:\nPROC I 1 ACS_ExecuteAlways(991,0,64)\nPROC H 1 ACS_ExecuteAlways(991,0,36)\nPROC J 0 A_GunFlash\nPROC H 0 A_Refire\nGoto Fire3\nFlash:\nPROC J 0 A_SpawnItemEx(\"ProtoShieldX\",23,-17,8,momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)\nPROC J 0 A_SpawnItemEx(\"ProtoShieldFX\",23,-17,8,momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)\nTNT1 A 1 A_JumpIfInventory(\"StopShield\",1,\"NoFlash\")\nTNT1 A 0 A_JumpIfInventory(\"CutterFlag\",999,\"NoFlash\")\nloop\nNoFlash:\nTNT1 A 0\nStop\n}\n}\n\nactor ProtoShotSP : ProtoShot\n{\nSpeed 26\n+BLOODSPLATTER\nDamage (12)\n}\n\nactor ProtoShot2SP : ProtoShot2\n{\nSpeed 26\nDamage (20)\n+BLOODSPLATTER\n}\n\nactor ProtoShot3SP : ProtoShot3\n{\n+BLOODSPLATTER\nSpeed 60\nDamage (50)\n}\n\nactor EnemyHurtFX1\n{\n+NOINTERACTION\n-SOLID\nrenderstyle None\nStates\n{\nSpawn:\nPLAY A 0\nPLAY A 1 A_SpawnItemEx(\"HurtSound1\",0,0,0)\nPLAY A 0// A_PlaySoundEx(\"misc/devilpain\",\"SoundSlot5\")\nstop\n}\n}\n\nactor HurtSound1\n{\n+NOINTERACTION\n-SOLID\nrenderstyle None\nStates\n{\nSpawn:\nPLAY A 0\nPLAY A 1 A_SpawnItemEx(\"EnemyPainFX\")\nPLAY A 0 A_PlaySoundEx(\"misc/devilpain\",\"SoundSlot5\")\nstop\n}\n}\n\nactor EnemyPainFX\n{\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\nscale 1.5\nStates\n{\nSpawn:\nMMFX A 3\nstop\n}\n}\n\nactor BassBusterSP : Weapon\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\nWeapon.SlotNumber 1\nscale 2.0\nObituary \"%o was pelted by %k's Bass Buster.\"\nInventory.Pickupmessage \"You got the Bass Buster!\"\nweapon.ammotype \"BusterAmmo\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\nStates\n{\nSpawn:\nWEA3 A 1\nstop\nReady:\nBASB B 0 A_JumpIfInventory(\"Once\",1,\"Ready2\")\nBASB B 0 ACS_ExecuteAlways(998,0,46,1)\nBASB B 0 A_GiveInventory(\"Once\",1)\nGoto Ready2+1\nReady2:\nBASB B 0 ACS_ExecuteAlways(998,0,46)\nBASB B 1 A_WeaponReady\nGoto Ready2+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBASB B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBASB B 1 A_Raise\nLoop\nFire:\nBASB B 0 A_JumpIfHealthLower(30,\"Fire3\")\nBASB B 0 A_JumpIfHealthLower(60,\"Fire2\")\nBASB B 0 //SetPlayerProperty(0,1,0)\nBASB B 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nBASB B 0 A_FireCustomMissile(\"BassShotSP\",random(-1,1),0,8,0)\nBASB CCD 1\nBASB B 1\nBASB B 0 A_Refire\nBASB B 0 //SetPlayerProperty(0,0,0)\ngoto Ready2+1\nHold:\nGoto Fire\nFire2:\nBASB B 0 //SetPlayerProperty(0,1,0)\nBASB B 0 A_PlaySoundEx(\"weapon/minchrgshot\",\"Weapon\")\nBASB B 0 A_FireCustomMissile(\"BassShotSP2\",random(-4,4),0,8,0)\nBASB CCD 1\nBASB B 1\nBASB B 0 A_Refire\nBASB B 0 //SetPlayerProperty(0,0,0)\ngoto Ready2+1\nFire3:\nBASB B 0 //SetPlayerProperty(0,1,0)\nBASB B 0 A_PlaySoundEx(\"weapon/pshot\",\"Auto\")\nBASB B 0 A_FireCustomMissile(\"BassShotSP3\",random(-7,7),0,8,0)\nBASB CCD 1\nBASB B 1\nBASB B 0 A_Refire\nBASB B 0 //SetPlayerProperty(0,0,0)\ngoto Ready2+1\n}\n}\n\nactor BassShotSP : FastProjectile\n{\nPROJECTILE\n+BLOODSPLATTER\n+LOOKALLAROUND\n+SKYEXPLODE\n+DONTBLAST\ndamagetype \"Buster\"\n//seesound \"weapon/mbuster\"\nSpeed 64\nDamage (3)\nradius 5\nheight 5\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 1\nBASB A 1\nGoto Spawn+1\nDeath:\nBASB A 1\nstop\n}\n}\n\nactor BassShotSP2 : BassShotSP\n{\ntranslation \"214:215=208:208\"\nDamage (5)\n}\n\nactor BassShotSP3 : BassShotSP\n{\n//translation \"214:215=57:57\", \"247:247=4:4\"\ntranslation \"227:227=57:57\", \"228:230=4:4\"\nDamage (7)\nscale 1.2\nStates\n{\nSpawn:\nTNT1 A 1\nFIRE ABC 2\nGoto Spawn+1\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor RollBusterSP : MegaBuster\n{\n//$Category MM8BDM-Weapons\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 1\nObituary \"%o was cleaned up by %k's Roll Buster.\"\nInventory.Pickupmessage \"Power up! Roll Buster\"\nweapon.ammotype \"BusterAmmo\"\ninventory.pickupsound \"weapon/weaponup\"\n+WEAPON.AMMO_OPTIONAL\nScale 2.0\nStates\n{\nSpawn:\nWEAP V 1\nloop\nReady:\nDRIL D 0 ACS_ExecuteAlways(998,0,19)\nDRIL D 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nDRIL D 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nDRIL D 1 A_Raise\nLoop\nFire:\nDRIL D 0 A_JumpIfNoAmmo(\"NoAmmo\")\nDRIL D 0 A_PlaySoundEx(\"weapon/mbuster\",\"Weapon\")\nDRIL D 0 A_FireCustomMissile(\"RollShot\",0,0,8,0)\nDRIL EF 3\nDRIL D 2\nGoto Ready+1\nNoAmmo:\nDRIL D 0 ACS_Execute(979,0)\nGoto Hold\n}\n}\n\nactor RollShot\n{\nPROJECTILE\n+BLOODSPLATTER\n+LOOKALLAROUND\n+SKYEXPLODE\n+DONTBLAST\ndamagetype \"Buster\"\n//seesound \"weapon/mbuster\"\nSpeed 28\nDamage (8)\nradius 5\nheight 5\nscale 2.5\nStates\n{\nSpawn:\nBUST A 25\nloop\nDeath:\nBUST A 1\nstop\n}\n}\n\nactor RollHealerSP : MegaBuster\n{\n//$Category MM8BDM-Weapons\nWeapon.AmmoUse 1\nWeapon.AmmoGive 28\nWeapon.SlotNumber 1\nObituary \"%o was cleaned up by %k's Roll Buster.\"\nInventory.Pickupmessage \"Power up! Roll Buster\"\nweapon.ammotype \"HealAmmo\"\ninventory.pickupsound \"weapon/weaponup\"\n+WEAPON.AMMO_OPTIONAL\nScale 2.0\nStates\n{\nSpawn:\nWEAP V 1\nloop\nReady:\nCRYE C 0 ACS_ExecuteAlways(998,0,33)\nCRYE K 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nCRYE K 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nCRYE K 1 A_Raise\nLoop\nFire:\nCRYE K 0 A_JumpIfNoAmmo(\"NoAmmo\")\nSPAS D 0 //SetPlayerProperty(0,1,0)\nGoto Hold\nHold:\nSPAS C 0 A_JumpIfNoAmmo(\"NoAmmo\")\nCRYE K 0 A_TakeInventory(\"HealAmmo\",1)\nSPAS K 0 A_FireCustomMissile(\"RollHealProjectile\",0,0,8,0)\nCRYE LLLLLLLLLLLLLLL 1 A_FireCustomMissile(\"RollHealFX\",random(-5,5),0,8,0)\nSPAS K 0 A_Refire\nSPAS D 0 //SetPlayerProperty(0,0,0)\nCRYE MK 5\nGoto Ready+1\nNoAmmo:\nSPAS D 0 //SetPlayerProperty(0,0,0)\nDRIL D 0 //ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor HealAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n}\n\nactor DummyHealer\n{\nStates\n{\nSpawn:\nPLAY A 2 A_Look\nloop\nSee:\nPLAY A 20 A_CustomMissile(\"RollHealProjectile\",32,0,0,0)\nloop\n}\n}\n\nactor RollHealFX\n{\n+MISSILE\n+NOINTERACTION\n+NOGRAVITY\n+RANDOMIZE\nspeed 40\nscale 2.5\nradius 4\nheight 4\n+RIPPER\nDamage 0\nStates\n{\nSpawn:\nROLH A 0\nROLH A 0 ThrustThingZ(0,5,random(0,1),1)\nROLH A 0 A_Jump(128,2)\nROLH ABCDEF 1\nstop\n}\n}\n\nactor RollHealProjectile\n{\n+MISSILE\n+NOINTERACTION\n+NOGRAVITY\ndamagetype \"RollHeal\"\nradius 5\nheight 5\nspeed 40\n+LOOKALLAROUND\nrenderstyle none\nDamage (0)\nStates\n{\nSpawn:\nROLH A 1\nROLH AAAAAAAAAAAAAA 1 A_LookEx(LOF_NOSOUNDCHECK, 0, 42,0,360,\"See\")\nstop\nSee:\nROLH A 1\nROLH A 0 A_GiveToTarget(\"RollSmallHealth\",1)\nstop\n}\n}\n\nactor RollSmallHealth : CustomInventory\n{\ninventory.amount 1\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(404,0)==100,\"Nope\")\nTNT1 A 0 A_SpawnItemEx(\"HealedFX\")\nTNT1 A 0 HealThing(9)\nstop\nNope:\nROLH A 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\nactor HealedFX\n{\n+NOINTERACTION\n-SOLID\nrenderstyle none\nStates\n{\nSpawn:\nROLH A 1\nROLH A 0 A_PlaySoundEx(\"item/1up\",\"Item\")\nROLH AAAAAAAAAAA 0 A_SpawnItemEx(\"RollHealFX\",random(-32,32),random(-32,32),random(-32,32),0,0,random(4,6))\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/SPEnemies.txt",
        "contents": "actor Blader\n{\nHeight 40\nRadius 32\nHealth 20\nscale 2.5\ndamagefactor \"Enemy\", 0.0\ndamagetype \"Enemy\"\nObituary \"%o was bashed by a Blader.\"\nMONSTER\n+FLOAT\nbloodtype \"EnemyHurtFX1\"\n+NOGRAVITY\n+LOOKALLAROUND\ndropitem \"WeaponEnergy\", 10\ndropitem \"SmallHealth\", 10\nmass 99999999\npainchance 256\npainsound \"misc/devilpain\"\nspeed 8\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_ExecuteAlways(400,0)\nLook:\nBLAD AB 4 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nloop\nSee:\nBLAD AAAABBBB 1 A_Chase(\"Melee\",\"Missile\")\nloop\nMissile:\nBLAD A 0 A_FaceTarget\nBLAD A 0 A_SkullAttack\nBLAD AB 4\nGoto Missile+2\nPain.SparkShock:\nCRAZ A 0 A_Stop\nCRAZ A 0 A_Pain\nBLAD A 30 A_SpawnItemEx(\"ShockFX\",4,0,32)\nGoto Look\nMelee:\nBLAD A 0 A_FaceTarget\nBLAD A 0 A_CustomMeleeAttack(10)\nBLAD AABBAABB 2\nGoto See\nDeath:\nBLAD A 0 A_Pain\nBLAD A 0 A_Fall\nBLAD A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nMMFX BCDE 3\nstop\n}\n}\n\nactor BladerSpawner 30000\n{\n+NOGRAVITY\n+NOINTERACTION\nheight 32\nradius 32\nrenderstyle none\nstates\n{\nSpawn:\nBLAD B 1 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nloop\nSee:\nBLAD B 650 A_SpawnItemEx(\"Blader\")\nGoto Spawn\n}\n}\n\nactor CrazyRazy 30001\n{\nHeight 52\nRadius 48\nHealth 50\nObituary \"%o was punched by a Crazy Razy.\"\ndamagefactor \"Enemy\", 0.0\nscale 2.5\nMeleeRange 60\nmaxstepheight 50\nbloodtype \"EnemyHurtFX1\"\n+DROPOFF\nMONSTER\n+LOOKALLAROUND\n//dropitem \"WeaponEnergy\", 10\n//dropitem \"SmallHealth\", 10\nmass 99999999\npainchance 256\npainsound \"misc/devilpain\"\nspeed 8\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_ExecuteAlways(400,0)\nLook:\nCRAZ A 1 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nloop\nSee:\nCRAZ AAABBBCCC 1 A_Chase\nloop\nPain.SparkShock:\nCRAZ A 0 A_Stop\nCRAZ A 0 A_Pain\nCRAZ A 30 A_SpawnItemEx(\"ShockFX\",4,0,32)\nGoto Look\nMelee:\nCRAZ A 0 A_FaceTarget\nCRAZ A 0 A_CustomMeleeAttack(15)\nCRAZ A 12\nGoto See\nDeath:\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nCRAZ A 0 A_SpawnItemEx(\"CrazyRazyHead\",0,0,32,0,0,10)\nMMFX BCDE 3\nTNT1 A -1\nstop\n}\n}\n\nactor CrazyRazyHead\n{\nHeight 52\nMeleeRange 60\nRadius 48\nObituary \"%o was punched by a Crazy Razy.\"\ndamagefactor \"Enemy\", 0.0\nHealth 50\nscale 2.5\nmaxstepheight 32\nbloodtype \"EnemyHurtFX1\"\nMONSTER\n+LOOKALLAROUND\n+NOGRAVITY\n+FLOAT\ndropitem \"WeaponEnergy\", 10\ndropitem \"SmallHealth\", 10\nmass 99999999\npainchance 256\npainsound \"misc/devilpain\"\nspeed 8\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_ExecuteAlways(400,0)\nLook:\nCRAZ D 15\nCRAZ A 0 A_Stop\nCRAZ D 1 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nGoto Look+2\nPain.SparkShock:\nCRAZ A 0 A_Stop\nCRAZ A 0 A_Pain\nCRAZ D 30 A_SpawnItemEx(\"ShockFX\",4,0,32)\nGoto Look\nSee:\nCRAZ D 1 A_Chase\nloop\nMelee:\nCRAZ A 0 A_FaceTarget\nCRAZ A 0 A_CustomMeleeAttack(15)\nCRAZ D 12\nGoto See\nDeath:\nBLAD A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nMMFX BCDE 3\nstop\n}\n}\n\nactor Flea 30002\n{\nHeight 30\nRadius 30\nHealth 20\nscale 2.5\ndamagefactor \"Enemy\", 0.0\n//MeleeRange 60\nObituary \"%o was tickled by a Flea.\"\nmaxstepheight 50\n+DROPOFF\nMONSTER\nbloodtype \"EnemyHurtFX1\"\n+LOOKALLAROUND\n//dropitem \"WeaponEnergy\", 10\n//dropitem \"SmallHealth\", 10\nmass 99999999\npainchance 256\npainsound \"misc/devilpain\"\nspeed 0\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_ExecuteAlways(400,0)\nLook:\nFLEA A 1 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nloop\nSee:\nFLEA AAAAAAAAAAAAAAA 1 A_Chase\nGoto Leap\nLeap:\nFLEA B 0 A_PlaySoundEx(\"weapon/crackermine\",\"voice\")\nFLEA B 0 A_FaceTarget\nFLEA B 0 A_Recoil(-23)\nFLEA B 10 ThrustThingZ(0,50,0,0)\nGoto Leaping\nLeaping:\nFLEA B 0 A_JumpIf(floorz-z==0,\"See\")\nFLEA B 1 A_Chase\nloop\nPain.SparkShock:\nCRAZ A 0 A_Stop\nCRAZ A 0 A_Pain\nFLEA A 30 A_SpawnItemEx(\"ShockFX\",4,0,32)\nGoto Look\nMelee:\nFLEA A 0 A_FaceTarget\nFLEA A 0 A_CustomMeleeAttack(15)\nFLEA B 12\nGoto See\nDeath:\nFLEA A 0 A_Stop\nFLEA A 0 A_Pain\nFLEA A 0 A_Fall\nMMFX BCDE 3\nTNT1 A -1\nstop\n}\n}\n\nactor HyperCutterSpawner 30003\n{\n+NOGRAVITY\n+NOINTERACTION\n+LOOKALLAROUND\nheight 16\nradius 16\nObituary \"%o was sliced and diced by a Hyper Cutter.\"\nrenderstyle none\nstates\n{\nSpawn:\nHCUT B 1 A_LookEx(LOF_NOSOUNDCHECK,0,250,0,360,\"See\")\nloop\nSee:\nHCUT B 0 A_FaceTarget\nHCUT B 0 A_PlaySoundEx(\"weapon/screwcrusher\",\"voice\")\nHCUT B 10 A_SpawnItemEx(\"HyperCutterProjectile\",0,0,0,random(5,15),0,random(2,5),random(-10,10))\nHCUT B 0 A_ClearTarget\nGoto Spawn\n}\n}\n\nactor HyperCutterProjectile\n{\nPROJECTILE\nScale 2.5\n-NOGRAVITY\nRadius 16\nheight 16\nDamage (20)\nbouncetype \"Heretic\"\ndamagetype \"Enemy\"\nStates\n{\nSpawn:\nHCUT AB 3\nloop\n}\n}\n\nactor ScrewBomber 30004\n{\nHeight 46\nRadius 32\nHealth 60\ndamagefactor \"Enemy\", 0.0\nscale 2.5\npainchance 256\nmaxstepheight 32\nObituary \"%o was surprised by a Screw Bomber.\"\ndamagefactor \"Enemy\", 0.0\nbloodtype \"EnemyHurtFX1\"\nMONSTER\n+LOOKALLAROUND\ndropitem \"WeaponEnergy\", 10\ndropitem \"SmallHealth\", 10\nmass 99999999\npainsound \"misc/devilpain\"\nspeed 8\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_ExecuteAlways(400,0)\nLook:\nSWBM A 1 A_LookEx(LOF_NOSOUNDCHECK,0,800,0,360,\"See\")\nloop\nSee:\nSWBM BCDBCD 3\nKYOR A 0 A_FaceTarget\nKYOR A 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,50,0,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,0,50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,-50,0,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,0,-50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,50,50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,50,-50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,-50,50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,-50,-50,0)\nSWBM BCDBCDBCD 2\nKYOR A 0 A_FaceTarget\nKYOR A 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,50,0,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,0,50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,-50,0,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,0,-50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,50,50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,50,-50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,-50,50,0)\nSWBM B 0 A_SpawnItemEx(\"ScrewBomberShot\",0,0,20,-50,-50,0)\nSWBM BCDBCDBCD 2\nSWBM BCD 3\nSWBM A 35\nGoto Look\nPain.SparkShock:\nCRAZ A 0 A_Stop\nCRAZ A 0 A_Pain\nSWBM B 30 A_SpawnItemEx(\"ShockFX\",4,0,32)\nGoto Look\nDeath:\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nMMFX BCDE 3\nTNT1 A -1\nstop\n}\n}\n\nactor ScrewBomberShot\n{\nPROJECTILE\nRadius 10\ndamagetype \"Enemy\"\nHeight 5\nDamage (5)\nSpeed 50\nscale 2.5\nStates\n{\nSpawn:\nYBIT G 1\nloop\n}\n}\n\nactor BigEyeEnemy 30005\n{\nscale 2.5\nHealth 280\nHeight 120\ndamagefactor \"Enemy\", 0.0\npainchance 0\nRadius 40\nObituary \"%o was crushed by a Big Eye.\"\n+SOLID\nmaxstepheight 50\n+DROPOFF\nmass 999999\nMONSTER\n+DONTBLAST\nbloodtype \"EnemyHurtFX1\"\nspeed 0\npainsound \"misc/devilpain\"\ndropitem \"WeaponEnergy\", 50\ndropitem \"SmallHealth\", 50\ndropitem \"BigWeaponEnergy\", 15\ndropitem \"BigHealth\", 15\npainchance 256\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_ExecuteAlways(400,0)\nLook:\nBIGE A 1 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nLoop\nSee:\nBIGE B 0 A_SpawnItemEx(\"BigEyeStomp\")\nBIGE BBBBBBBBBBBBBBBBBBBB 1 A_Chase\nBIGE B 0 A_PlaySound(\"robot/bigeye\")\nBIGE B 0 //A_Stop\nBIGE B 0 A_JumpIfCloser(250,\"LeapForward\")\nBIGE B 0 A_Jump(256,\"Leap\",\"Leap2\")\nGoto See\nPain.SparkShock:\nCRAZ A 0 A_Stop\nCRAZ A 0 A_Pain\nBIGE A 30 A_SpawnItemEx(\"ShockFX\",4,0,32)\nGoto Look\nLeap:\nBIGE A 0 A_Recoil(-3)\nBIGE A 5 ThrustThingZ(0,60,0,0)\nBIGE A 0 A_Chase\nBIGE A 1 A_Recoil(-3)\nBIGE A 0 A_Chase\nBIGE A 0 A_SpawnItemEx(\"BigEyeStomp\")\nBIGE A 0 A_Chase\nBIGE A 1 A_JumpIf(z-floorz==0, \"See\")\nGoto Leap+5\nLeapForward:\nBIGE A 0 A_FaceTarget\nLeap2:\nBIGE A 0 A_Recoil(-3)\nBIGE A 5 ThrustThingZ(0,50,0,0)\nBIGE A 0 A_Chase\nBIGE A 1 A_Recoil(-3)\nBIGE A 0 A_Chase\nBIGE A 0 A_SpawnItemEx(\"BigEyeStomp\")\nBIGE A 0 A_Chase\nBIGE A 1 A_JumpIf(z-floorz==0, \"See\")\nGoto Leap2+5\nDeath:\nNAPA A 0 A_PlaySoundEx(\"weapon/drillexplode\", \"Weapon\")\nNAPA A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nNAPA D 0 A_Stop\nNAPA DEFGHIJKLMNOPQRS 2\nTNT1 A 1 A_Fall\nTNT1 A -1\nstop\n}\n}\n\nactor BigEyeStomp\n{\n-SOLID\nPROJECTILE\ndamagetype \"Enemy\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(150,64,0)\nstop\n}\n}\n\nactor SniperJoeScout 30006\n{\nHeight 52\nRadius 32\ndamagefactor \"Enemy\", 0.0\nObituary \"%o was sniped by a Sniper Joe Scout.\"\nHealth 100\nscale 2.5\ntranslation \"192:192=4:4\", \"198:198=110:110\"\nbloodtype \"EnemyHurtFX1\"\nmaxstepheight 50\npainchance 256\nMONSTER\n+LOOKALLAROUND\n//dropitem \"WeaponEnergy\", 10\n//dropitem \"SmallHealth\", 10\nmass 99999999\npainsound \"misc/devilpain\"\nspeed 8\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_ExecuteAlways(400,0)\nLook:\nSNIP A 1 A_LookEx(LOF_NOSOUNDCHECK,0,2000,0,360,\"See\")\nloop\nSee:\nSNIP BBBBCCCC 1 A_Chase\nSNIP DDDDEEEE 1 A_Chase(\"\",\"Missile\")\nloop\nPain.SparkShock:\nCRAZ A 0 A_Stop\nCRAZ A 0 A_Pain\nSNIP A 30 A_SpawnItemEx(\"ShockFX\",4,0,32)\nGoto Look\nMissile:\nSNIP A 15 A_FaceTarget\nSNIP F 15 A_FaceTarget\nSNIP F 0 A_FaceTarget\nKYOR F 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nSNIP F 0 A_CustomMissile(\"SniperJoeShot\",10,6,0)\nSNIP F 17\nSNIP F 0 A_FaceTarget\nKYOR F 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nSNIP F 0 A_CustomMissile(\"SniperJoeShot\",10,6,0)\nSNIP F 17\nSNIP F 0 A_FaceTarget\nKYOR F 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nSNIP F 0 A_CustomMissile(\"SniperJoeShot\",10,6,0)\nSNIP F 17\nGoto See\nDeath:\nCRAZ A 0 A_Pain\nCRAZ A 0 A_Fall\nCRAZ A 0 A_SpawnItem(\"EnemyDeathFX\",0,32)\nTNT1 A -1\nstop\n}\n}\n\nactor EnemyDeathFX\n{\nScale 2.5\n+NOGRAVITY\n-SOLID\nStates\n{\nSpawn:\nMMFX BCDE 3\nstop\n}\n}\n\nactor SniperJoeShot\n{\nPROJECTILE\nDamage (10)\ndamagetype \"Enemy\"\nSpeed 40\nscale 2.5\nHeight 8\nRadius 8\nStates\n{\nSpawn:\nBASB A 1\nloop\n}\n}\n\nactor CutmanBoss\n{\n+INVULNERABLE\nScale 2.5\nHeight 52\nRadius 48\nHealth 1000\ntranslation \"192:192=4:4\", \"198:198=41:41\"\nObituary \"%o was cut to pieces by \\caCut Man\\c-.\"\ndamagefactor \"Enemy\", 0.0\nscale 2.5\nMeleeRange 64\nmaxstepheight 50\nbloodtype \"EnemyHurtFX1\"\n+DROPOFF\nMONSTER\n+LOOKALLAROUND\nmass 99999999\npainchance 256\npainsound \"misc/devilpain\"\nspeed 10\nStates\n{\nIntro:\nCUTM J 1\nCUTM J 0 A_JumpIf(floorz-z==0,\"Intro2\")\nloop\nIntro2:\nCUTM AI 5\nloop\nSpawn:\nCUTM A 2 A_ChangeFlag(\"INVULNERABLE\",0)\nCUTM AI 5 A_Look\nloop\nSee:\nCUTM B 0 A_TakeInventory(\"CutterFlag\",999)\nCUTM BBBBCCCC 1 A_Chase\nCUT2 B 0 A_Jump(10,\"Leap\")\nCUTM DDDDEEEE 1 A_Chase\nloop\nMelee:\nCUTM B 5 A_CustomMeleeAttack(20)\nGoto See\nMelee2:\nCUT2 B 5 A_CustomMeleeAttack(20)\nGoto See2\nMissile:\nCUTM F 8 A_FaceTarget\nCUTM F 0 A_FaceTarget\nCUTM G 8 A_CustomMissile(\"RollingCutterBoss\", 40,0,0,2)\nGoto See2\nMissile2:\nCUTM F 0 A_FaceTarget\nCUTM G 4 A_CustomMissile(\"RollingCutterBoss\", 40,0,0,2)\nGoto Leaping2\nSee2:\nCUT2 B 0 A_JumpIfInventory(\"CutterFlag\",300,\"See\")\nCUT2 BBBB 1 A_Chase(\"\",\"Melee2\")\nCUT2 B 0 A_Jump(80,\"Leap2\")\nCUT2 B 0 A_JumpIfInventory(\"CutterFlag\",300,\"See\")\nCUT2 CCCC 1 A_Chase(\"\",\"Melee2\")\nCUT2 B 0 A_JumpIfInventory(\"CutterFlag\",300,\"See\")\nCUT2 DDDD 1 A_Chase(\"\",\"Melee2\")\nCUT2 B 0 A_JumpIfInventory(\"CutterFlag\",300,\"See\")\nCUT2 EEEE 1 A_Chase(\"\",\"Melee2\")\nloop\nLeap:\nCUT2 B 0 A_Recoil(-10)\nCUT2 B 0 A_FaceTarget\nCUT2 J 10 ThrustThingZ(0,90,0,0)\nGoto Leaping\nLeap2:\nCUT2 B 0 A_Recoil(-10)\nCUT2 B 0 A_FaceTarget\nCUT2 J 10 ThrustThingZ(0,90,0,0)\nGoto Leaping2\nLeaping:\nCUTM J 2 A_Chase\nCUTM J 0 A_Jump(25,\"Missile2\")\nCUTM J 0 A_JumpIf(floorz-z==0,\"See\")\nloop\nLeaping2:\nCUT2 J 2 A_Chase(\"\",\"Melee2\")\nCUTM J 0 A_JumpIf(floorz-z==0,\"See2\")\nCUT2 J 0 A_JumpIfInventory(\"CutterFlag\",300,\"Leaping\")\nloop\nDeath:\nCUT2 A 0 A_PlaySoundEx(\"misc/devildeath\",\"Voice\",0,1)\nCUT2 A 0 A_FaceTarget\nCUT2 A 0 A_Fall\nCUT2 A 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nTNT1 A -1\nstop\n}\n}\n\nactor RollingCutterBoss : RollingCutter\n{\nSpeed 24\n//Damage (1)\n}\n\nactor BossPower1 : PowerProtection\n{\ndamagefactor \"Buster\", 0.7\ndamagefactor \"AirShooter\", 0.7\ndamagefactor \"CrashBomb\", 0.7\ndamagefactor \"SparkShock\", 0.7\npowerup.duration -999999\n}\n\nactor BossPower2 : PowerProtection\n{\ndamagefactor \"Buster\", 0.5\ndamagefactor \"AirShooter\", 0.5\ndamagefactor \"CrashBomb\", 0.5\ndamagefactor \"SparkShock\", 0.5\npowerup.duration -999999\n}\n\nactor BossPower3 : PowerProtection\n{\ndamagefactor \"Buster\", 0.25\ndamagefactor \"AirShooter\", 0.25\ndamagefactor \"CrashBomb\", 0.25\ndamagefactor \"SparkShock\", 0.25\npowerup.duration -999999\n}"
      },
      {
        "source": "pk3",
        "name": "actors/SPClasses.txt",
        "contents": "actor MegamanSP : PlayerPawn\n{\nplayer.displayname \"megaman\"\nplayer.soundclass \"megaman\"\nplayer.damagescreencolor \"yellow\"\nplayer.forwardmove 0.8, 0.8\nplayer.jumpz 10\nplayer.sidemove 0.78, 0.78\nplayer.colorrange 0 0\nplayer.startitem \"MegaBusterSP\"\nplayer.startitem \"BusterAmmo\", 3\n+NOSKIN\nmass 9999\ngravity 0.8\n+NODAMAGETHRUST\n+DONTBLAST\n+NOBLOOD\nscale 2.5\ndamagefactor \"Dummy\", 0.0\nStates\n{\nSpawn:\nPLAY A 0\nPLAY B 1\nPLAY A 1\nGoto Spawn+2\nSee:\nPLAY BCDE 5\nGoto Spawn\nMissile:\nPLAY F 5\nPLAY G 4\ngoto Spawn\nPain.FireSpin:\nPain.QuickBoomerang:\nPain.Buster:\nPain.WildCoil:\nPain.ChargeKick:\nPain.YamatoSpear:\nPain.DiveMissile:\nPain.StarCrash:\nPain.NeedleCannon:\nPain.CentaurFlash:\nPain.FreezeCrack:\nPain.ScrewCrusher:\nPain.PharaohHold:\nPain.TornadoHold:\nPain.TrebleSentry:\nPain.ScorchWheel:\nPain.MagnetMissile:\nPain.JunkShield:\nPain.Misc:\nPain.Oil:\nPLAY H 0\nGoto pain+1\nPain.FlameSword:\nPLAY H 0\nPLAY HH 0 A_SpawnItemEx(\"ScorchBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nGoto pain\nPain.FlashBomb:\nPLAY H 0 A_ScaleVelocity(0.85)\nGoto Pain+1\nPain.WindStorm:\nPLAY H 0 //ThrustThing(random(0,255),50,1,0)\nPLAY H 0 ThrustThing(random(0,255),5,0,0)\nPLAY H 0 ThrustThingZ(0,30,0,0)\nGoto pain+1\nPain.SlashClaw:\nPLAY H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.FlashStopper:\nPLAY H 0\nPLAY H 0 A_JumpIfInventory(\"BrightBlind\", 1,3)\nPLAY H 0 A_GiveInventory(\"BrightBlind\",125)\nPLAY H 0 ACS_ExecuteAlways(249, 0)\nGoto pain+1\nPLAY H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto pain+1\nPain.TimeSlow:\nPLAY H 0 A_GiveInventory(\"Slowed\",1)\nGoto pain+1\nPain.SparkShock:\nPLAY H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\nPLAY H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\nPain.CrashBomb:\nPLAY H 0 A_Stop\nGoto Pain+1\nPain.GravityHold:\nPLAY H 0 ThrustThingZ(0,150,1,0)\nPLAY H 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\nPLAY H 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\nPLAY H 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\nPLAY H 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\nGoto pain+1\nGravityForce4:\n//PLAY H 0 A_Print(\"Gravity 4\")\nPLAY H 0 A_GiveInventory(\"GravityForce4\",1)\nGoto Pain+1\nGravityForce3:\n//PLAY H 0 A_Print(\"Gravity 3\")\nPLAY H 0 A_GiveInventory(\"GravityForce3\",1)\nGoto Pain+1\nGravityForce2:\n//PLAY H 0 A_Print(\"Gravity 2\")\nPLAY H 0 A_GiveInventory(\"GravityForce2\",1)\nGoto Pain+1\nGravityForce1:\n//PLAY H 0 A_Print(\"Gravity 1\")\nPLAY H 0 A_GiveInventory(\"GravityForce1\",1)\nGoto Pain+1\nPain.WilyFire:\nPLAY H 0 //A_ChangeFlag(\"SHOOTABLE\",0)\nPLAY H 0 A_SpawnItemEx(\"ImOnFire\")\nPLAY H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.WilyIce:\nPLAY H 0 A_ChangeFlag(\"SHOOTABLE\",0)\nPLAY H 0 SetPlayerProperty(0,1,4)\nPLAY H 0 A_SpawnItemEx(\"ImFrozen\")\nPLAY H 0 A_GiveInventory(\"IceVision\",1)\nPLAY H 30 A_Stop\nPLAY H 30 A_ChangeFlag(\"SHOOTABLE\",1)\nPLAY H 0 SetPlayerProperty(0,0,0)\nPLAY H 0 A_TakeInventory(\"IceVision\",1)\nGoto Spawn\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\nPLAY H 0\nPLAY H 0 A_JumpIfInventory(\"BeatCallCheck\", 1, \"BeatAssist\")\nGoto Pain+1\nBeatAssist:\nPLAY H 0\nPLAY H 0 HealThing(2)\nPLAY H 0 ThrustThingZ(0,25,0,0)\nPLAY H 0 ACS_ExecuteAlways(205,0)\nGoto Pain+1\nPain:\nPLAY H 0 A_ScaleVelocity(0.75)\nPLAY H 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb\")\nPLAY H 0 A_Pain\nPLAY H 0 //A_GiveInventory(\"TempInvince\",1)\nPLAY H 0 //SetPlayerProperty(0, 1, 4)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 A_Recoil(1)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 //A_Recoil(1)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 //A_Recoil(1)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 //A_Recoil(1)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 //A_Recoil(1)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 //A_Recoil(1)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 //A_Recoil(1)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 //A_Recoil(1)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 //A_Recoil(1)\nPLAY H 1 A_SpawnItem(\"PainFX\",0,3)\nPLAY H 1 //A_Recoil(1)\nPLAY H 0 //SetPlayerProperty(0, 0, 4)\nPLAY H 0//SetPlayerProperty(0,0,1)\nGoto Spawn\nDeath.Beam:\nDeath.GravityHold:\nDeath.instagib:\nPLAY Z 1 SetPlayerProperty(0, 0, 4)\nPLAY H 0 A_GiveToTarget(\"KilledMe\",1)\nPLAY H 0 A_GiveToTarget(\"KilledMeStock\",1)\nPLAY H 0 A_GiveInventory(\"CutterFlag\",999)\nPLAY H 0 A_GiveInventory(\"IsDead\",1)\nPLAY Z 0 A_PlayerScream\nPLAY H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nPLAY Z 1 A_CheckPlayerDone\nwait\nDeath:\nPLAY H 0 SetPlayerProperty(0, 0, 4)\nPLAY H 0 A_TakeInventory(\"PharaohCharge\",999)\nPLAY H 0 A_NoBlocking\nPLAY H 0 A_GiveInventory(\"CutterFlag\",999)\nPLAY H 0 A_GiveInventory(\"IsDead\",1)\nPLAY H 0 A_Stop\nPLAY H 0 A_GiveToTarget(\"KilledMeStock\",1)\nPLAY H 1 A_GiveToTarget(\"KilledMe\",1)\nPLAY H 0 ACS_ExecuteAlways(999,0,0)\nPLAY H 0 SetPlayerProperty(0, 0, 4)\nPLAY H 0 A_PlayerScream\nPLAY H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nPLAY Z 1 A_CheckPlayerDone\nwait\nDeath.Falling:\nPLAY H 0 SetPlayerProperty(0, 0, 4)\nPLAY H 0 A_TakeInventory(\"PharaohCharge\",999)\nPLAY H 0 A_NoBlocking\nPLAY H 0 A_GiveInventory(\"CutterFlag\",999)\nPLAY H 0 A_GiveInventory(\"IsDead\",1)\nPLAY Z 1 A_PlayerScream\nPLAY Z 1 A_Stop\nPLAY Z 1 ACS_ExecuteAlways(999,0,0)\n//PLAY Z -1\nPLAY Z 1 A_CheckPlayerDone\nwait\nIce:\nPLAY H 0 SetPlayerProperty(0, 0, 4)\nPLAY H 1 A_PlayerScream\nPLAY H 0 A_TakeInventory(\"PharaohCharge\",999)\nPLAY H 0 A_GiveInventory(\"CutterFlag\",999)\nPLAY H 0 A_GiveInventory(\"IsDead\",1)\nPLAY H 0 ACS_ExecuteAlways(998,0,105,1)\nPLAY H 0 A_NoBlocking\nPLAY H 0 A_FreezeDeath\nPLAY H 35\nPLAY H 0 A_SpawnItemEx(\"FrozenDeathFX\", 0, 0, 16)\nPLAY Z 1 A_CheckPlayerDone\nwait\n//stop\nPunkSpin:\nPLAY AVW 3\nPLAY XY 3\nGoto PunkSpin+3\nPunkStop:\nPLAY WV 5\nGoto Spawn\nEnkerRaise:\nPLAY Y 1\nloop\nEnkerAbsorb:\nPLAY Y 0 A_PlaySound(\"weapon/mirrorabsorb\")\nPLAY Y 0 A_GiveInventory(\"EnkerMirrorCount\",1)\nGoto EnkerAbsorb3\nEnkerAbsorb3:\nPLAY Y 3 ACS_ExecuteAlways(998,0,65)\nPLAY Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb2\")\nGoto Spawn\nEnkerAbsorb2:\nPLAY Y 3 ACS_ExecuteAlways(998,0,66)\nPLAY Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb3\")\nGoto Spawn\nDarkLeap:\nPLAY Y 1 A_SpawnItemEx(\"DarkDamager\")\nPLAY Y 0 A_JumpIf(z-floorz==0,\"Spawn\")\nloop\nBalladeJump:\nPLAY Y 5 A_SpawnItemEx(\"BalladeMelee\")\nloop\nTheEnd:\nPLAY G 4\nloop\nCreditWalk:\nPLAY BCDE 8\nloop\n}\n}\n\nactor ProtomanSP : PlayerPawn\n{\nplayer.displayname \"protoman\"\nplayer.soundclass \"megaman\"\nplayer.damagescreencolor \"yellow\"\nplayer.forwardmove 0.62, 0.62\nplayer.sidemove 0.60, 0.60\nplayer.jumpz 10\nplayer.colorrange 0 0\nplayer.startitem \"ProtoBusterSP\"\nplayer.startitem \"BusterAmmo\", 3\n+NOSKIN\nmass 9999\ngravity 0.8\n+NODAMAGETHRUST\n+DONTBLAST\n+NOBLOOD\ndamagefactor \"Dummy\", 0.0\nscale 2.5\nStates\n{\nSpawn:\nPROM A 0\nPROM B 1\nPROM A 1\nGoto Spawn+2\nSee:\nPROM BCDE 5\nGoto Spawn\nMissile:\nPROM F 5\nPROM G 4\ngoto Spawn\nPain.FireSpin:\nPain.QuickBoomerang:\nPain.Buster:\nPain.WildCoil:\nPain.ChargeKick:\nPain.YamatoSpear:\nPain.DiveMissile:\nPain.StarCrash:\nPain.NeedleCannon:\nPain.CentaurFlash:\nPain.FreezeCrack:\nPain.ScrewCrusher:\nPain.PharaohHold:\nPain.TornadoHold:\nPain.TrebleSentry:\nPain.ScorchWheel:\nPain.MagnetMissile:\nPain.JunkShield:\nPain.Misc:\nPain.Oil:\nPROM H 0\nGoto pain+1\nPain.FlameSword:\nPROM H 0\nPROM HH 0 A_SpawnItemEx(\"ScorchBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nGoto pain\nPain.FlashBomb:\nPROM H 0 A_ScaleVelocity(0.85)\nGoto Pain+1\nPain.WindStorm:\nPROM H 0 //ThrustThing(random(0,255),50,1,0)\nPROM H 0 ThrustThing(random(0,255),5,0,0)\nPROM H 0 ThrustThingZ(0,30,0,0)\nGoto pain+1\nPain.SlashClaw:\nPROM H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.FlashStopper:\nPROM H 0\nPROM H 0 A_JumpIfInventory(\"BrightBlind\", 1,3)\nPROM H 0 A_GiveInventory(\"BrightBlind\",125)\nPROM H 0 ACS_ExecuteAlways(249, 0)\nGoto pain+1\nPROM H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto pain+1\nPain.TimeSlow:\nPROM H 0 A_GiveInventory(\"Slowed\",1)\nGoto pain+1\nPain.SparkShock:\nPROM H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\nPROM H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\nPain.CrashBomb:\nPROM H 0 A_Stop\nGoto Pain+1\nPain.GravityHold:\nPROM H 0 ThrustThingZ(0,150,1,0)\nPROM H 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\nPROM H 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\nPROM H 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\nPROM H 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\nGoto pain+1\nGravityForce4:\n//PROM H 0 A_Print(\"Gravity 4\")\nPROM H 0 A_GiveInventory(\"GravityForce4\",1)\nGoto Pain+1\nGravityForce3:\n//PROM H 0 A_Print(\"Gravity 3\")\nPROM H 0 A_GiveInventory(\"GravityForce3\",1)\nGoto Pain+1\nGravityForce2:\n//PROM H 0 A_Print(\"Gravity 2\")\nPROM H 0 A_GiveInventory(\"GravityForce2\",1)\nGoto Pain+1\nGravityForce1:\n//PROM H 0 A_Print(\"Gravity 1\")\nPROM H 0 A_GiveInventory(\"GravityForce1\",1)\nGoto Pain+1\nPain.WilyFire:\nPROM H 0 //A_ChangeFlag(\"SHOOTABLE\",0)\nPROM H 0 A_SpawnItemEx(\"ImOnFire\")\nPROM H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.WilyIce:\nPROM H 0 A_ChangeFlag(\"SHOOTABLE\",0)\nPROM H 0 SetPlayerProperty(0,1,4)\nPROM H 0 A_SpawnItemEx(\"ImFrozen\")\nPROM H 0 A_GiveInventory(\"IceVision\",1)\nPROM H 30 A_Stop\nPROM H 30 A_ChangeFlag(\"SHOOTABLE\",1)\nPROM H 0 SetPlayerProperty(0,0,0)\nPROM H 0 A_TakeInventory(\"IceVision\",1)\nGoto Spawn\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\nPROM H 0\nPROM H 0 A_JumpIfInventory(\"BeatCallCheck\", 1, \"BeatAssist\")\nGoto Pain+1\nBeatAssist:\nPROM H 0\nPROM H 0 HealThing(2)\nPROM H 0 ThrustThingZ(0,25,0,0)\nPROM H 0 ACS_ExecuteAlways(205,0)\nGoto Pain+1\nPain:\nPROM H 0 A_ScaleVelocity(0.75)\nPROM H 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb\")\nPROM H 0 A_Pain\nPROM H 0 //A_GiveInventory(\"TempInvince\",1)\nPROM H 0 //SetPlayerProperty(0, 1, 4)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 A_Recoil(1)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 //A_Recoil(1)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 //A_Recoil(1)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 //A_Recoil(1)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 //A_Recoil(1)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 //A_Recoil(1)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 //A_Recoil(1)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 //A_Recoil(1)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 //A_Recoil(1)\nPROM H 1 A_SpawnItem(\"PainFX\",0,3)\nPROM H 1 //A_Recoil(1)\nPROM H 0 //SetPlayerProperty(0, 0, 4)\nPROM H 0//SetPlayerProperty(0,0,1)\nGoto Spawn\nDeath.Beam:\nDeath.GravityHold:\nDeath.instagib:\nPROM Z 1 SetPlayerProperty(0, 0, 4)\nPROM H 0 A_GiveToTarget(\"KilledMe\",1)\nPROM H 0 A_GiveToTarget(\"KilledMeStock\",1)\nPROM H 0 A_GiveInventory(\"CutterFlag\",999)\nPROM H 0 A_GiveInventory(\"IsDead\",1)\nPROM Z 0 A_PlayerScream\nPROM H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nPROM Z 1 A_CheckPlayerDone\nwait\nDeath:\nPROM H 0 SetPlayerProperty(0, 0, 4)\nPROM H 0 A_TakeInventory(\"PharaohCharge\",999)\nPROM H 0 A_NoBlocking\nPROM H 0 A_GiveInventory(\"CutterFlag\",999)\nPROM H 0 A_GiveInventory(\"IsDead\",1)\nPROM H 0 A_Stop\nPROM H 0 A_GiveToTarget(\"KilledMeStock\",1)\nPROM H 1 A_GiveToTarget(\"KilledMe\",1)\nPROM H 0 ACS_ExecuteAlways(999,0,0)\nPROM H 0 SetPlayerProperty(0, 0, 4)\nPROM H 0 A_PlayerScream\nPROM H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nPROM Z 1 A_CheckPlayerDone\nwait\nDeath.Falling:\nPROM H 0 SetPlayerProperty(0, 0, 4)\nPROM H 0 A_TakeInventory(\"PharaohCharge\",999)\nPROM H 0 A_NoBlocking\nPROM H 0 A_GiveInventory(\"CutterFlag\",999)\nPROM H 0 A_GiveInventory(\"IsDead\",1)\nPROM Z 1 A_PlayerScream\nPROM Z 1 A_Stop\nPROM Z 1 ACS_ExecuteAlways(999,0,0)\n//PROM Z -1\nPROM Z 1 A_CheckPlayerDone\nwait\nIce:\nPROM H 0 SetPlayerProperty(0, 0, 4)\nPROM H 1 A_PlayerScream\nPROM H 0 A_TakeInventory(\"PharaohCharge\",999)\nPROM H 0 A_GiveInventory(\"CutterFlag\",999)\nPROM H 0 A_GiveInventory(\"IsDead\",1)\nPROM H 0 ACS_ExecuteAlways(998,0,105,1)\nPROM H 0 A_NoBlocking\nPROM H 0 A_FreezeDeath\nPROM H 35\nPROM H 0 A_SpawnItemEx(\"FrozenDeathFX\", 0, 0, 16)\nPROM Z 1 A_CheckPlayerDone\nwait\n//stop\nPunkSpin:\nPROM AVW 3\nPROM XY 3\nGoto PunkSpin+3\nPunkStop:\nPROM WV 5\nGoto Spawn\nEnkerRaise:\nPROM Y 1\nloop\nEnkerAbsorb:\nPROM Y 0 A_PlaySound(\"weapon/mirrorabsorb\")\nPROM Y 0 A_GiveInventory(\"EnkerMirrorCount\",1)\nGoto EnkerAbsorb3\nEnkerAbsorb3:\nPROM Y 3 ACS_ExecuteAlways(998,0,65)\nPROM Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb2\")\nGoto Spawn\nEnkerAbsorb2:\nPROM Y 3 ACS_ExecuteAlways(998,0,66)\nPROM Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb3\")\nGoto Spawn\nDarkLeap:\nPROM Y 1 A_SpawnItemEx(\"DarkDamager\")\nPROM Y 0 A_JumpIf(z-floorz==0,\"Spawn\")\nloop\nBalladeJump:\nPROM Y 5 A_SpawnItemEx(\"BalladeMelee\")\nloop\nTheEnd:\nPROM G 4\nloop\nCreditWalk:\nPROM BCDE 8\nloop\n}\n}\n\nactor BassSP : PlayerPawn\n{\nplayer.displayname \"bass\"\nplayer.soundclass \"megaman\"\nplayer.damagescreencolor \"yellow\"\nplayer.forwardmove 0.8, 0.8\nplayer.jumpz 10\nplayer.sidemove 0.78, 0.78\nplayer.colorrange 0 0\nplayer.startitem \"BassBusterSP\"\nplayer.startitem \"BusterAmmo\", 3\n+NOSKIN\nmass 9999\ngravity 0.8\n+NODAMAGETHRUST\n+DONTBLAST\n+NOBLOOD\nscale 2.5\ndamagefactor \"Dummy\", 0.0\nStates\n{\nSpawn:\nBASS A 0\nBASS B 1\nBASS A 1\nGoto Spawn+2\nSee:\nBASS BCDE 5\nGoto Spawn\nMissile:\nBASS F 5\nBASS G 4\ngoto Spawn\nPain.FireSpin:\nPain.QuickBoomerang:\nPain.Buster:\nPain.WildCoil:\nPain.ChargeKick:\nPain.YamatoSpear:\nPain.DiveMissile:\nPain.StarCrash:\nPain.NeedleCannon:\nPain.CentaurFlash:\nPain.FreezeCrack:\nPain.ScrewCrusher:\nPain.PharaohHold:\nPain.TornadoHold:\nPain.TrebleSentry:\nPain.ScorchWheel:\nPain.MagnetMissile:\nPain.JunkShield:\nPain.Misc:\nPain.Oil:\nBASS H 0\nGoto pain+1\nPain.FlameSword:\nBASS H 0\nBASS HH 0 A_SpawnItemEx(\"ScorchBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nGoto pain\nPain.FlashBomb:\nBASS H 0 A_ScaleVelocity(0.85)\nGoto Pain+1\nPain.WindStorm:\nBASS H 0 //ThrustThing(random(0,255),50,1,0)\nBASS H 0 ThrustThing(random(0,255),5,0,0)\nBASS H 0 ThrustThingZ(0,30,0,0)\nGoto pain+1\nPain.SlashClaw:\nBASS H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.FlashStopper:\nBASS H 0\nBASS H 0 A_JumpIfInventory(\"BrightBlind\", 1,3)\nBASS H 0 A_GiveInventory(\"BrightBlind\",125)\nBASS H 0 ACS_ExecuteAlways(249, 0)\nGoto pain+1\nBASS H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto pain+1\nPain.TimeSlow:\nBASS H 0 A_GiveInventory(\"Slowed\",1)\nGoto pain+1\nPain.SparkShock:\nBASS H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\nBASS H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\nPain.CrashBomb:\nBASS H 0 A_Stop\nGoto Pain+1\nPain.GravityHold:\nBASS H 0 ThrustThingZ(0,150,1,0)\nBASS H 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\nBASS H 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\nBASS H 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\nBASS H 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\nGoto pain+1\nGravityForce4:\n//BASS H 0 A_Print(\"Gravity 4\")\nBASS H 0 A_GiveInventory(\"GravityForce4\",1)\nGoto Pain+1\nGravityForce3:\n//BASS H 0 A_Print(\"Gravity 3\")\nBASS H 0 A_GiveInventory(\"GravityForce3\",1)\nGoto Pain+1\nGravityForce2:\n//BASS H 0 A_Print(\"Gravity 2\")\nBASS H 0 A_GiveInventory(\"GravityForce2\",1)\nGoto Pain+1\nGravityForce1:\n//BASS H 0 A_Print(\"Gravity 1\")\nBASS H 0 A_GiveInventory(\"GravityForce1\",1)\nGoto Pain+1\nPain.WilyFire:\nBASS H 0 //A_ChangeFlag(\"SHOOTABLE\",0)\nBASS H 0 A_SpawnItemEx(\"ImOnFire\")\nBASS H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.WilyIce:\nBASS H 0 A_ChangeFlag(\"SHOOTABLE\",0)\nBASS H 0 SetPlayerProperty(0,1,4)\nBASS H 0 A_SpawnItemEx(\"ImFrozen\")\nBASS H 0 A_GiveInventory(\"IceVision\",1)\nBASS H 30 A_Stop\nBASS H 30 A_ChangeFlag(\"SHOOTABLE\",1)\nBASS H 0 SetPlayerProperty(0,0,0)\nBASS H 0 A_TakeInventory(\"IceVision\",1)\nGoto Spawn\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\nBASS H 0\nBASS H 0 A_JumpIfInventory(\"BeatCallCheck\", 1, \"BeatAssist\")\nGoto Pain+1\nBeatAssist:\nBASS H 0\nBASS H 0 HealThing(2)\nBASS H 0 ThrustThingZ(0,25,0,0)\nBASS H 0 ACS_ExecuteAlways(205,0)\nGoto Pain+1\nPain:\nBASS H 0 A_ScaleVelocity(0.75)\nBASS H 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb\")\nBASS H 0 A_Pain\nBASS H 0 //A_GiveInventory(\"TempInvince\",1)\nBASS H 0 //SetPlayerProperty(0, 1, 4)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 A_Recoil(1)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 //A_Recoil(1)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 //A_Recoil(1)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 //A_Recoil(1)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 //A_Recoil(1)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 //A_Recoil(1)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 //A_Recoil(1)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 //A_Recoil(1)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 //A_Recoil(1)\nBASS H 1 A_SpawnItem(\"PainFX\",0,3)\nBASS H 1 //A_Recoil(1)\nBASS H 0 //SetPlayerProperty(0, 0, 4)\nBASS H 0//SetPlayerProperty(0,0,1)\nGoto Spawn\nDeath.Beam:\nDeath.GravityHold:\nDeath.instagib:\nBASS Z 1 SetPlayerProperty(0, 0, 4)\nBASS H 0 A_GiveToTarget(\"KilledMe\",1)\nBASS H 0 A_GiveToTarget(\"KilledMeStock\",1)\nBASS H 0 A_GiveInventory(\"CutterFlag\",999)\nBASS H 0 A_GiveInventory(\"IsDead\",1)\nBASS Z 0 A_PlayerScream\nBASS H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nBASS Z 1 A_CheckPlayerDone\nwait\nDeath:\nBASS H 0 SetPlayerProperty(0, 0, 4)\nBASS H 0 A_TakeInventory(\"PharaohCharge\",999)\nBASS H 0 A_NoBlocking\nBASS H 0 A_GiveInventory(\"CutterFlag\",999)\nBASS H 0 A_GiveInventory(\"IsDead\",1)\nBASS H 0 A_Stop\nBASS H 0 A_GiveToTarget(\"KilledMeStock\",1)\nBASS H 1 A_GiveToTarget(\"KilledMe\",1)\nBASS H 0 ACS_ExecuteAlways(999,0,0)\nBASS H 0 SetPlayerProperty(0, 0, 4)\nBASS H 0 A_PlayerScream\nBASS H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nBASS Z 1 A_CheckPlayerDone\nwait\nDeath.Falling:\nBASS H 0 SetPlayerProperty(0, 0, 4)\nBASS H 0 A_TakeInventory(\"PharaohCharge\",999)\nBASS H 0 A_NoBlocking\nBASS H 0 A_GiveInventory(\"CutterFlag\",999)\nBASS H 0 A_GiveInventory(\"IsDead\",1)\nBASS Z 1 A_PlayerScream\nBASS Z 1 A_Stop\nBASS Z 1 ACS_ExecuteAlways(999,0,0)\n//BASS Z -1\nBASS Z 1 A_CheckPlayerDone\nwait\nIce:\nBASS H 0 SetPlayerProperty(0, 0, 4)\nBASS H 1 A_PlayerScream\nBASS H 0 A_TakeInventory(\"PharaohCharge\",999)\nBASS H 0 A_GiveInventory(\"CutterFlag\",999)\nBASS H 0 A_GiveInventory(\"IsDead\",1)\nBASS H 0 ACS_ExecuteAlways(998,0,105,1)\nBASS H 0 A_NoBlocking\nBASS H 0 A_FreezeDeath\nBASS H 35\nBASS H 0 A_SpawnItemEx(\"FrozenDeathFX\", 0, 0, 16)\nBASS Z 1 A_CheckPlayerDone\nwait\n//stop\nPunkSpin:\nBASS AVW 3\nBASS XY 3\nGoto PunkSpin+3\nPunkStop:\nBASS WV 5\nGoto Spawn\nEnkerRaise:\nBASS Y 1\nloop\nEnkerAbsorb:\nBASS Y 0 A_PlaySound(\"weapon/mirrorabsorb\")\nBASS Y 0 A_GiveInventory(\"EnkerMirrorCount\",1)\nGoto EnkerAbsorb3\nEnkerAbsorb3:\nBASS Y 3 ACS_ExecuteAlways(998,0,65)\nBASS Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb2\")\nGoto Spawn\nEnkerAbsorb2:\nBASS Y 3 ACS_ExecuteAlways(998,0,66)\nBASS Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb3\")\nGoto Spawn\nDarkLeap:\nBASS Y 1 A_SpawnItemEx(\"DarkDamager\")\nBASS Y 0 A_JumpIf(z-floorz==0,\"Spawn\")\nloop\nBalladeJump:\nBASS Y 5 A_SpawnItemEx(\"BalladeMelee\")\nloop\nTheEnd:\nBASS G 4\nloop\nCreditWalk:\nBASS BCDE 8\nloop\n}\n}\n\nactor RollSP : PlayerPawn\n{\nplayer.displayname \"roll\"\nplayer.soundclass \"megaman\"\nplayer.damagescreencolor \"yellow\"\nplayer.forwardmove 0.8, 0.8\nplayer.jumpz 10\nplayer.sidemove 0.78, 0.78\nplayer.colorrange 0 0\nplayer.startitem \"RollBusterSP\"\nplayer.startitem \"RollHealerSP\"\nplayer.startitem \"HealAmmo\", 28\nplayer.startitem \"BusterAmmo\", 3\n+NOSKIN\nmass 9999\ngravity 0.8\n+NODAMAGETHRUST\n+DONTBLAST\n+NOBLOOD\nscale 2.5\ndamagefactor \"Dummy\", 0.0\ndamagefactor \"Enemy\", 1.1\nStates\n{\nSpawn:\nROLL A 0\nROLL B 1\nROLL A 1\nGoto Spawn+2\nSee:\nROLL BCDE 5\nGoto Spawn\nMissile:\nROLL F 5\nROLL G 4\ngoto Spawn\nPain.FireSpin:\nPain.QuickBoomerang:\nPain.Buster:\nPain.WildCoil:\nPain.ChargeKick:\nPain.YamatoSpear:\nPain.DiveMissile:\nPain.StarCrash:\nPain.NeedleCannon:\nPain.CentaurFlash:\nPain.FreezeCrack:\nPain.ScrewCrusher:\nPain.PharaohHold:\nPain.TornadoHold:\nPain.TrebleSentry:\nPain.ScorchWheel:\nPain.MagnetMissile:\nPain.JunkShield:\nPain.Misc:\nPain.Oil:\nROLL H 0\nGoto pain+1\nPain.FlameSword:\nROLL H 0\nROLL HH 0 A_SpawnItemEx(\"ScorchBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nGoto pain\nPain.FlashBomb:\nROLL H 0 A_ScaleVelocity(0.85)\nGoto Pain+1\nPain.WindStorm:\nROLL H 0 //ThrustThing(random(0,255),50,1,0)\nROLL H 0 ThrustThing(random(0,255),5,0,0)\nROLL H 0 ThrustThingZ(0,30,0,0)\nGoto pain+1\nPain.SlashClaw:\nROLL H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.FlashStopper:\nROLL H 0\nROLL H 0 A_JumpIfInventory(\"BrightBlind\", 1,3)\nROLL H 0 A_GiveInventory(\"BrightBlind\",125)\nROLL H 0 ACS_ExecuteAlways(249, 0)\nGoto pain+1\nROLL H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto pain+1\nPain.TimeSlow:\nROLL H 0 A_GiveInventory(\"Slowed\",1)\nGoto pain+1\nPain.SparkShock:\nROLL H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\nROLL H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\nPain.CrashBomb:\nROLL H 0 A_Stop\nGoto Pain+1\nPain.GravityHold:\nROLL H 0 ThrustThingZ(0,150,1,0)\nROLL H 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\nROLL H 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\nROLL H 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\nROLL H 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\nGoto pain+1\nGravityForce4:\n//ROLL H 0 A_Print(\"Gravity 4\")\nROLL H 0 A_GiveInventory(\"GravityForce4\",1)\nGoto Pain+1\nGravityForce3:\n//ROLL H 0 A_Print(\"Gravity 3\")\nROLL H 0 A_GiveInventory(\"GravityForce3\",1)\nGoto Pain+1\nGravityForce2:\n//ROLL H 0 A_Print(\"Gravity 2\")\nROLL H 0 A_GiveInventory(\"GravityForce2\",1)\nGoto Pain+1\nGravityForce1:\n//ROLL H 0 A_Print(\"Gravity 1\")\nROLL H 0 A_GiveInventory(\"GravityForce1\",1)\nGoto Pain+1\nPain.WilyFire:\nROLL H 0 //A_ChangeFlag(\"SHOOTABLE\",0)\nROLL H 0 A_SpawnItemEx(\"ImOnFire\")\nROLL H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.WilyIce:\nROLL H 0 A_ChangeFlag(\"SHOOTABLE\",0)\nROLL H 0 SetPlayerProperty(0,1,4)\nROLL H 0 A_SpawnItemEx(\"ImFrozen\")\nROLL H 0 A_GiveInventory(\"IceVision\",1)\nROLL H 30 A_Stop\nROLL H 30 A_ChangeFlag(\"SHOOTABLE\",1)\nROLL H 0 SetPlayerProperty(0,0,0)\nROLL H 0 A_TakeInventory(\"IceVision\",1)\nGoto Spawn\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\nROLL H 0\nROLL H 0 A_JumpIfInventory(\"BeatCallCheck\", 1, \"BeatAssist\")\nGoto Pain+1\nBeatAssist:\nROLL H 0\nROLL H 0 HealThing(2)\nROLL H 0 ThrustThingZ(0,25,0,0)\nROLL H 0 ACS_ExecuteAlways(205,0)\nGoto Pain+1\nPain:\nROLL H 0 A_ScaleVelocity(0.75)\nROLL H 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb\")\nROLL H 0 A_Pain\nROLL H 0 //A_GiveInventory(\"TempInvince\",1)\nROLL H 0 //SetPlayerProperty(0, 1, 4)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 A_Recoil(1)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 //A_Recoil(1)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 //A_Recoil(1)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 //A_Recoil(1)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 //A_Recoil(1)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 //A_Recoil(1)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 //A_Recoil(1)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 //A_Recoil(1)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 //A_Recoil(1)\nROLL H 1 A_SpawnItem(\"PainFX\",0,3)\nROLL H 1 //A_Recoil(1)\nROLL H 0 //SetPlayerProperty(0, 0, 4)\nROLL H 0//SetPlayerProperty(0,0,1)\nGoto Spawn\nDeath.Beam:\nDeath.GravityHold:\nDeath.instagib:\nROLL Z 1 SetPlayerProperty(0, 0, 4)\nROLL H 0 A_GiveToTarget(\"KilledMe\",1)\nROLL H 0 A_GiveToTarget(\"KilledMeStock\",1)\nROLL H 0 A_GiveInventory(\"CutterFlag\",999)\nROLL H 0 A_GiveInventory(\"IsDead\",1)\nROLL Z 0 A_PlayerScream\nROLL H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nROLL Z 1 A_CheckPlayerDone\nwait\nDeath:\nROLL H 0 SetPlayerProperty(0, 0, 4)\nROLL H 0 A_TakeInventory(\"PharaohCharge\",999)\nROLL H 0 A_NoBlocking\nROLL H 0 A_GiveInventory(\"CutterFlag\",999)\nROLL H 0 A_GiveInventory(\"IsDead\",1)\nROLL H 0 A_Stop\nROLL H 0 A_GiveToTarget(\"KilledMeStock\",1)\nROLL H 1 A_GiveToTarget(\"KilledMe\",1)\nROLL H 0 ACS_ExecuteAlways(999,0,0)\nROLL H 0 SetPlayerProperty(0, 0, 4)\nROLL H 0 A_PlayerScream\nROLL H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nROLL Z 1 A_CheckPlayerDone\nwait\nDeath.Falling:\nROLL H 0 SetPlayerProperty(0, 0, 4)\nROLL H 0 A_TakeInventory(\"PharaohCharge\",999)\nROLL H 0 A_NoBlocking\nROLL H 0 A_GiveInventory(\"CutterFlag\",999)\nROLL H 0 A_GiveInventory(\"IsDead\",1)\nROLL Z 1 A_PlayerScream\nROLL Z 1 A_Stop\nROLL Z 1 ACS_ExecuteAlways(999,0,0)\n//ROLL Z -1\nROLL Z 1 A_CheckPlayerDone\nwait\nIce:\nROLL H 0 SetPlayerProperty(0, 0, 4)\nROLL H 1 A_PlayerScream\nROLL H 0 A_TakeInventory(\"PharaohCharge\",999)\nROLL H 0 A_GiveInventory(\"CutterFlag\",999)\nROLL H 0 A_GiveInventory(\"IsDead\",1)\nROLL H 0 ACS_ExecuteAlways(998,0,105,1)\nROLL H 0 A_NoBlocking\nROLL H 0 A_FreezeDeath\nROLL H 35\nROLL H 0 A_SpawnItemEx(\"FrozenDeathFX\", 0, 0, 16)\nROLL Z 1 A_CheckPlayerDone\nwait\n//stop\nPunkSpin:\nROLL AVW 3\nROLL XY 3\nGoto PunkSpin+3\nPunkStop:\nROLL WV 5\nGoto Spawn\nEnkerRaise:\nROLL Y 1\nloop\nEnkerAbsorb:\nROLL Y 0 A_PlaySound(\"weapon/mirrorabsorb\")\nROLL Y 0 A_GiveInventory(\"EnkerMirrorCount\",1)\nGoto EnkerAbsorb3\nEnkerAbsorb3:\nROLL Y 3 ACS_ExecuteAlways(998,0,65)\nROLL Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb2\")\nGoto Spawn\nEnkerAbsorb2:\nROLL Y 3 ACS_ExecuteAlways(998,0,66)\nROLL Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb3\")\nGoto Spawn\nDarkLeap:\nROLL Y 1 A_SpawnItemEx(\"DarkDamager\")\nROLL Y 0 A_JumpIf(z-floorz==0,\"Spawn\")\nloop\nBalladeJump:\nROLL Y 5 A_SpawnItemEx(\"BalladeMelee\")\nloop\nTheEnd:\nROLL G 4\nloop\nCreditWalk:\nROLL BCDE 8\nloop\n}\n}\n\nactor BossFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}"
      },
      {
        "source": "pk3",
        "name": "SNDINFO.txt",
        "contents": "misc/door2\tbdoor2"
      }
    ]
  },
  "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.