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