Raw model (for completeness)
{
"meta": {
"id": "064c6b81-1190-48b9-b848-b9ee5557d707",
"sha1": "0e63313042d697de7aa13ddf38c9d865376cebd6",
"sha256": "f03d411dbba3c638e9900a166b55f71cfcb8581d071a4500f2a2ab4a21ea5f83",
"filenames": [
"armorpiercev1.pk3"
],
"additional": {
"engines": [],
"iwad": [],
"filename": null,
"added": "2016-05-23 21:39:47",
"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": "2016-05-23 21:39:47",
"file": {
"type": "PK3",
"size": 8369,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/0e63313042d697de7aa13ddf38c9d865376cebd6/0e63313042d697de7aa13ddf38c9d865376cebd6.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 8,
"maps": 0,
"palettes": 0
}
},
"analysis": {
"title": "armorpiercev1.pk3",
"description": "This WAD is a small PK3 file containing no maps but custom weapon actors inspired by Mega Man series, featuring unique projectile weapons like ThunderBeam and SparkShock. It includes 8 lumps focused on inventory and weapon definitions, with no new levels or textures. The content is purely gameplay enhancement with new ammo types and firing mechanics, not affecting map design or difficulty. It is compatible with source ports supporting actor scripting and does not require any specific IWAD. The WAD is minimalistic, emphasizing weapon variety rather than traditional Doom map or monster content.",
"tags": [
"megaman_theme",
"no_maps",
"small_wad",
"vanilla_compatible",
"weapon_mod"
],
"origin": "gpt-4.1-mini"
},
"text_files": [
{
"source": "pk3",
"name": "actors/inventory/mm1/thunderbeam.txt",
"contents": "actor ThunderBeamWep : MegaBuster 10047\n{\n//$Category MM8BDM-Weapons\nWeapon.AmmoUse 1\nWeapon.AmmoGive 28\nWeapon.SlotNumber 2\nInventory.Pickupmessage \"$PU_THUNDERBEAM\"\nObituary \"$OB_THUNDERBEAM\"\nweapon.ammotype \"ThunderBeamAmmo\"\ninventory.pickupsound \"weapon/weaponup\"\n+WEAPON.AMMO_OPTIONAL\ninventory.icon \"THUNSI\"\nScale 2.0\nStates\n{\nSpawn:\nWEAP R 1\nloop\nReady:\nTHUN H 0 ACS_ExecuteAlways(998,0,16)\nTHUN H 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nTHUN H 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nTHUN H 1 A_Raise\nLoop\nFire:\nTHUN H 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTHUN H 0 A_PlaySoundEx(\"weapon/thunderbeam\",\"Weapon\")\nTHUN H 0 A_FireCustomMissile(\"ThunderBeamPierce\",0,0,8,0)\nTHUN H 0 A_FireCustomMissile(\"ThunderBeamPierce\",-90,0,8,0)\nTHUN H 0 A_FireCustomMissile(\"ThunderBeamPierce\",90,0,8,0)\nTHUN H 0 A_FireCustomMissile(\"ThunderBeam\",0,0,8,0)\nTHUN H 0 A_FireCustomMissile(\"ThunderBeam\",-90,0,8,0)\nTHUN H 0 A_FireCustomMissile(\"ThunderBeam\",90,1,8,0)\nTHUN IJ 5\nTHUN H 14\nTHUN H 0 A_Refire\nGoto Ready+1\nNoAmmo:\nTHUN H 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor ThunderBeamAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n}\n\nactor ThunderBeam\n{\nPROJECTILE\ndamagetype \"ThunderBeam\"\nObituary \"$OB_THUNDERBEAM\"\nscale 2.5\n+RIPPER\nSpeed 30\nRadius 12\nHeight 6\nDamage (15)\nStates\n{\nSpawn:\nTHUN ABCDEFG 3\nloop\n}\n}\n\nactor ThunderBeamPierce : ThunderBeam\n{\ndamagetype \"ThunderBeamPierce\"\n//+INVISIBLE\n}"
},
{
"source": "pk3",
"name": "actors/inventory/mm3/sparkshock.txt",
"contents": "actor SparkShockWep : MegaBuster 10057\n{\n//$Category MM8BDM-Weapons\nWeapon.AmmoUse 2\nWeapon.AmmoGive 112\nWeapon.SlotNumber 2\nInventory.Pickupmessage \"$PU_SPARKSHOCK\"\nObituary \"$OB_SPARKSHOCK\"\nweapon.ammotype \"SparkShockAmmo\"\ninventory.pickupsound \"weapon/weaponup\"\n+WEAPON.AMMO_OPTIONAL\ninventory.icon \"SPARSI\"\nScale 2.0\nStates\n{\nSpawn:\nWEA2 G 1\nloop\nReady:\nSPAS C 0 ACS_ExecuteAlways(998,0,26)\nSPAS CCCCCC 1 A_WeaponReady(WRF_NOFIRE)\nReady2:\nSPAS C 1 A_WeaponReady\nGoto Ready2\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nSPAS C 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nSPAS C 1 A_Raise\nLoop\nFire:\nSPAS C 0 A_JumpIfNoAmmo(\"NoAmmo\")\nSPAS C 2\nSPAS C 0 A_PlaySoundEx(\"weapon/sparkshock\",\"Weapon\")\nSPAS C 0 A_FireCustomMissile(\"SparkShockPierce\",0,0,8,0)\nSPAS C 0 A_FireCustomMissile(\"SparkShock\",0,1,8,0)\nSPAS DE 4\nSPAS D 8\nSPAS CCCCCC 1 A_WeaponReady(WRF_NOFIRE)\nSPAS D 0 A_Refire\nGoto Ready2\nNoAmmo:\nSPAS C 1 ACS_Execute(979,0)\nGoto Ready2\n}\n}\n\nactor SparkShockAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n}\n\nactor SparkShock\n{\nPROJECTILE\nRadius 6\nHeight 6\nscale 2.5\ndamage (12)\nspeed 35\ndamagetype \"SparkShock\"\nObituary \"$OB_SPARKSHOCK\"\nStates\n{\nSpawn:\nSPAS AB 4\nloop\n}\n}\n\nactor SparkShockPierce : SparkShock\n{\n//+INVISIBLE\ndamagetype \"SparkShockPierce\"\n}\n\nactor ShockFX\n{\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\nScale 2.5\nStates\n{\nSpawn:\nSPAS FGFGFGFGFGFGFG 2\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/inventory/mm3/geminilaser.txt",
"contents": "actor GeminiLaserWep : MegaBuster 10041\n{\n//$Category MM8BDM-Weapons\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 2\nInventory.Pickupmessage \"$PU_GEMINILASER\"\nObituary \"$OB_GEMINILASER\"\nweapon.ammotype \"GeminiLaserAmmo\"\ninventory.pickupsound \"weapon/weaponup\"\n+WEAPON.AMMO_OPTIONAL\ninventory.icon \"GEMISI\"\nScale 2.0\nStates\n{\nSpawn:\nWEAP M 1\nloop\nReady:\nBLIZ D 0 ACS_ExecuteAlways(998,0,11)\nBLIZ D 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nBLIZ D 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nBLIZ D 1 A_Raise\nLoop\nFire:\nBLIZ D 0 A_JumpIfNoAmmo(\"NoAmmo\")\nBLIZ D 0 A_PlaySoundEx(\"weapon/gemini\",\"Weapon\")\nBLIZ D 0 A_FireCustomMissile(\"GeminiLaserPiercer\",0,0,8,0)\nBLIZ D 0 A_FireCustomMissile(\"GeminiLaser\",0,1,8,0)\nBLIZ EF 3\nBLIZ D 16\nBLIZ D 0 A_Refire\nGoto Ready+1\nNoAmmo:\nBLIZ D 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor GeminiLaserAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n}\n\nactor GeminiLaser\n{\nPROJECTILE\n+HEXENBOUNCE\n+CANBOUNCEWATER\nWALLBOUNCEFACTOR 0.91\nBOUNCEFACTOR 0.91\nObituary \"$OB_GEMINILASER\"\nspeed 25\nRadius 5\nHeight 5\ndamagetype \"GeminiLaser\"\nscale 2.5\ndamage (30)\n+FORCEXYBILLBOARD\nspeed 22\nreactiontime 150\nStates\n{\nSpawn:\nGEMI A 0\nGEMI A 0 A_SpawnItemEx(\"GeminiTrail\",0,0,0,0,0,0,0)\nGEMI A 0 A_SpawnItemEx(\"GeminiLaserPiercer\",0,0,0,momx*.5,momy*.5,momz*.5,0,SXF_ABSOLUTEVELOCITY)\nGEMI A 1 A_CountDown\nloop\n}\n}\n\nactor GeminiLaserPiercer : GeminiLaser\n{\n-HEXENBOUNCE\ndamagetype \"GeminiLaserPierce\"\n//+INVISIBLE\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nstop\n}\n}\n\nactor GeminiTrail\n{\n+NOINTERACTION\n+NOGRAVITY\n+CLIENTSIDEONLY\n+FORCEXYBILLBOARD\n-SOLID\nscale 2.5\nheight 0\nradius 0\nStates\n{\nSpawn:\nGEMI A 5\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/inventory/mm7/thunderbolt.txt",
"contents": "actor ThunderBoltWep : MegaBuster 10089\n{\n//$Category MM8BDM-Weapons\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 2\nInventory.Pickupmessage \"$PU_THUNDERBOLT\"\nObituary \"$OB_THUNDERBOLT\"\nweapon.ammotype \"ThunderBoltAmmo\"\ninventory.pickupsound \"weapon/weaponup\"\n+WEAPON.AMMO_OPTIONAL\ninventory.icon \"TBOLSI\"\nScale 2.0\nStates\n{\nSpawn:\nWEA3 R 1\nloop\nReady:\nTBOL S 0 ACS_ExecuteAlways(998,0,56)\nTBOL S 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nTBOL S 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nTBOL S 1 A_Raise\nLoop\nFire:\nTBOL S 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTBOL S 0 A_PlaySoundEx(\"weapon/thunderbolt\",\"Weapon\")\nTBOL S 0 A_SpawnItemEx(\"ThunderBoltFX\",-1,8,32,0,0,0)\nTBOL S 0 A_FireCustomMissile(\"ThunderBoltPierce\",0,0,8,0)\nTBOL S 0 A_FireCustomMissile(\"ThunderBolt\",0,1,8,0)\nTBOL TU 5\nTBOL S 14\nTBOL S 0 A_Refire\nGoto Ready+1\nNoAmmo:\nTBOL S 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor ThunderBoltAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n}\n\nactor ThunderBolt\n{\nPROJECTILE\ndamagetype \"ThunderBolt\"\nObituary \"$OB_THUNDERBOLT\"\nscale 2.5\nSpeed 30\nRadius 25\nHeight 16\nDamage (25)\nStates\n{\nSpawn:\nTBOL ABCD 1\nGoto Flying\nFlying:\nTBOL N 1\nTBOL M 1 A_SpawnItemEx(\"ThunderTrail\")\nloop\nDeath:\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplit\",0,0,90,2,0)\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplit\",0,0,-90,2,0)\nMMFX BCDE 2\n//stop\n//XDeath:\n//Crash:\nstop\n}\n}\n\nactor ThunderBoltPierce : ThunderBolt\n{\n//+INVISIBLE\ndamagetype \"ThunderBoltPierce\"\nStates\n{\nSpawn:\nTBOL ABCD 1\nGoto Flying\nFlying:\nTBOL N 1\nTBOL M 1 //A_SpawnItemEx(\"ThunderTrail\")\nloop\nDeath:\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplitPierce\",0,0,90,2,0)\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplitPierce\",0,0,-90,2,0)\nMMFX BCDE 2\n//stop\n//XDeath:\n//Crash:\nstop\n}\n}\n\nactor ThunderBoltSplit : ThunderBolt\n{\n+THRUACTORS\nRadius 25\nHeight 16\nDamage (15)\nreactiontime 90\nStates\n{\nSpawn:\nTBOL OP 1 A_CountDown\nTBOL O 0 A_SpawnItemEx(\"ThunderTrail\")\nTBOL O 0 A_ChangeFlag(\"THRUACTORS\",0)\nTBOL QR 1 A_CountDown\nTBOL O 0 A_GiveInventory(\"CutterFlag\",1)\nTBOL O 0 A_SpawnItemEx(\"ThunderTrail\")\nloop\nDeath:\nTNT1 A 0\nstop\nXDeath:\nCrash:\nTBOL O 0 A_JumpIfInventory(\"CutterFlag\",1,\"Split\")\nstop\nSplit:\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplit\",0,0,90,2,0)\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplit\",0,0,-90,2,0)\nstop\n}\n}\n\nactor ThunderBoltSplitPierce : ThunderBoltSplit\n{\n//+INVISIBLE\ndamagetype \"ThunderBoltPierce\"\nStates\n{\nSpawn:\nTBOL OP 1 A_CountDown\nTBOL O 0 //A_SpawnItemEx(\"ThunderTrail\")\nTBOL O 0 A_ChangeFlag(\"THRUACTORS\",0)\nTBOL QR 1 A_CountDown\nTBOL O 0 A_GiveInventory(\"CutterFlag\",1)\nTBOL O 0 //A_SpawnItemEx(\"ThunderTrail\")\nloop\nSplit:\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplitPierce\",0,0,90,2,0)\nTNT1 A 0 A_CustomMissile(\"ThunderBoltSplitPierce\",0,0,-90,2,0)\nstop\n}\n}\n\nactor ThunderBoltFX\n{\nscale 2.5\n-SOLID\n+NOGRAVITY\n+CLIENTSIDEONLY\nheight 0\nradius 0\nStates\n{\nSpawn:\nTBOL ABCD 1\nstop\n}\n}\n\nactor ThunderTrail\n{\nscale 2.5\n-SOLID\n+NOGRAVITY\n+CLIENTSIDEONLY\nheight 0\nradius 0\nStates\n{\nSpawn:\nTBOL IJKL 2\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/inventory/mm8/thunderclaw.txt",
"contents": "actor ThunderClawWep : MegaBuster 11096\n{\n//$Category MM8BDM-Weapons\nWeapon.AmmoUse 2\nWeapon.AmmoGive 28\nWeapon.SlotNumber 4\nInventory.Pickupmessage \"$PU_THUNDERCLAW\"\nObituary \"$OB_THUNDERCLAW\"\nweapon.ammotype \"ThunderClawAmmo\"\ninventory.pickupsound \"weapon/weaponup\"\n+WEAPON.AMMO_OPTIONAL\ninventory.icon \"TCLAWI\"\nScale 2.0\nStates\n{\nSpawn:\nWEA4 G 1\nloop\nReady:\nTCLD D 0 ACS_ExecuteAlways(998,0,83)\nTCLD D 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nTCLD D 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nTCLD D 1 A_Raise\nLoop\nFire:\nTCLD D 0 A_JumpIfNoAmmo(\"NoAmmo\")\nTCLD D 0 A_PlaySoundEx(\"weapon/thunderclaw\",\"Weapon\")\nTCLD D 0 A_FireCustomMissile(\"ThunderClawPierce\",0,0,8,0)\nTCLD D 0 A_FireCustomMissile(\"ThunderClaw\",0,1,8,0)\nTCLD EF 6\nTCLD D 10\nTCLD D 0 A_Refire\nGoto Ready+1\nNoAmmo:\nTCLD D 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor ThunderClawAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n}\n\nactor ThunderClaw\n{\nPROJECTILE\n//+RIPPER\n+FORCEXYBILLBOARD\ndamage (40)\ndamagetype \"ThunderClaw\"\nObituary \"$OB_THUNDERCLAW\"\nheight 8\nradius 8\nSpeed 26\nscale 2.5\nstates\n{\nSpawn:\nTCLA B 0\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nTCLA C 0 A_Stop\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA B 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nTCLA C 1 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nstop\nDeath:\nTCLA C 0\nstop\n}\n}\n\nactor ThunderClawPierce : ThunderClaw\n{\ndamagetype \"ThunderClawPierce\"\n//+INVISIBLE\nstates\n{\nSpawn:\nTCLA B 0\nTCLA BCBCBCBC 2\nTCLA C 0 A_Stop\nTCLA BC 2\nstop\n}\n}\n\nActor ThunderClawReturn : ThunderClaw\n{\nDamage (0)\n//+NOCLIP\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_FaceTarget\nTNT1 A 0 A_SpawnItemEx(\"ThunderClawDamager\")\nTNT1 A 0 A_SpawnItemEx(\"ThunderClawDamagerPierce\")\nTNT1 A 0 A_JumpIfCloser(64, \"Death\")\nTNT1 A 1 A_FaceTarget\nTNT1 A 0 A_SpawnItemEx(\"ThunderClawDamager\")\nTNT1 A 0 A_SpawnItemEx(\"ThunderClawDamagerPierce\")\nTNT1 A 0 A_JumpIfCloser(64, \"Death\")\nTNT1 A 0 A_CustomMissile(\"ThunderClawReturn\", 0, 0, 0, 0)\nstop\n}\n}\n\nActor ThunderClawReturn2 : ThunderClawReturn\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_FaceTarget\nTNT1 A 0 A_SpawnItemEx(\"ThunderClawFX\")\nTNT1 A 0 A_JumpIfCloser(64, \"Death\")\nTNT1 A 1 A_FaceTarget\nTNT1 A 0 A_SpawnItemEx(\"ThunderClawFX\")\nTNT1 A 0 A_JumpIfCloser(64, \"Death\")\nTNT1 A 0 A_CustomMissile(\"ThunderClawReturn2\", 0, 0, 0, 0)\nstop\n}\n}\n\nactor ThunderClawDamager\n{\nPROJECTILE\n+FORCEXYBILLBOARD\nDamage(5)\ndamagetype \"ThunderClaw\"\nObituary \"$OB_THUNDERCLAW\"\nScale 2.5\nStates\n{\nSpawn:\nTCLA D 0\nTCLA D 0 A_JumpIfCloser(32, \"Death\")\nTCLA D 0 A_Jump(256, \"Frame1\", \"Frame2\", \"Frame3\")\nFrame1:\nTCLA DE 1\nstop\nFrame2:\nTCLA EF 1\nstop\nFrame3:\nTCLA FD 1\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor ThunderClawDamagerPierce : ThunderClawDamager\n{\ndamagetype \"ThunderClawPierce\"\n//+INVISIBLE\nStates\n{\nSpawn:\nTCLA D 0\nTCLA D 0 A_JumpIfCloser(32, \"Death\")\nTCLA DE 1\nstop\n}\n}\n\nactor ThunderClawFX\n{\n+NOINTERACTION\n+CLIENTSIDEONLY\nDamage(0)\nScale 2.5\nStates\n{\nSpawn:\nTCLA D 0\nTCLA D 0 A_JumpIfCloser(32, \"Death\")\nTCLA D 0 A_Jump(256, \"Frame1\", \"Frame2\", \"Frame3\")\nFrame1:\nTCLA DE 1\nstop\nFrame2:\nTCLA EF 1\nstop\nFrame3:\nTCLA FD 1\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}"
},
{
"source": "pk3",
"name": "actors/inventory/mmb/lightningbolt.txt",
"contents": "actor LightningBoltWep : MegaBuster 10019\n{\n//$Category MM8BDM-Weapons\nWeapon.AmmoUse 7\nWeapon.AmmoGive 28\nWeapon.SlotNumber 6\nInventory.Pickupmessage \"$PU_LIGHTNINGBOLT\"\nObituary \"$OB_LIGHTNINGBOLT\"\nweapon.ammotype \"LightningBoltAmmo\"\ninventory.pickupsound \"weapon/weaponup\"\n+WEAPON.AMMO_OPTIONAL\ninventory.icon \"LIGHTNI\"\nScale 2.0\nStates\n{\nSpawn:\nLIBO A 1\nloop\nReady:\nLIBO B 0 ACS_ExecuteAlways(998,0,177)\nLIBO B 1 A_WeaponReady\nGoto Ready+1\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nLIBO B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nLIBO B 1 A_Raise\nLoop\nFire:\nLIBO B 0 A_JumpIfNoAmmo(\"NoAmmo\")\nLIBO B 0 A_PlaySoundEx(\"weapon/lightningbolt\",\"Weapon\")\nLIBO B 0 A_Stop\nLIBO B 0 A_ChangeFlag(\"NOGRAVITY\", 1)\nLIBO B 0 SetPlayerProperty(0,1,4)\nLIBO C 2 A_SpawnItemEx(\"LightningStartFX1\",4,0,48)\nLIBO D 2 A_SpawnItemEx(\"LightningStartFX2\",4,0,48)\nLIBO EF 2\nTNT1 A 10\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 0, 1, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 345, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 30, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 315, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 60, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 285, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 90, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 255, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 120, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 225, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 150, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 195, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 180, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 165, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 210, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 135, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 240, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 105, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 270, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 75, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 300, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 45, 0, 8, 0)\nTNT1 A 1 A_FireCustomMissile(\"LightningBoltTracer\", 330, 0, 8, 0)\nTNT1 A 0 A_FireCustomMissile(\"LightningBoltTracer2\", 15, 0, 8, 0)\nTNT1 A 10\nLIBO FEDC 2\nLIBO B 0 A_ChangeFlag(\"NOGRAVITY\", 0)\nLIBO B 0 SetPlayerProperty(0,0,4)\nLIBO BBBBBBBBBB 1 A_WeaponReady (WRF_NOFIRE)\nLIBO BBBBBBBBBB 1 A_WeaponReady (WRF_NOFIRE)\nLIBO B 0 A_Refire\nGoto Ready+1\nNoAmmo:\nLIBO B 1 ACS_Execute(979,0)\nGoto Ready+1\n}\n}\n\nactor LightningStartFX1\n{\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+NONETID\nScale 2.5\nStates\n{\nSpawn:\nLBFX BCD 3\nstop\n}\n}\n\nactor LightningStartFX2 : LightningStartFX1\n{\nStates\n{\nSpawn:\nLBFX EFGHIJ 3\nstop\n}\n}\n\nactor LightningBoltFX : LightningStartFX1\n{\nStates\n{\nSpawn:\nLBFX K 0\nLBFX K 0 A_ChangeVelocity(Random(-2, 2), Random(-2, 2), Random(-2, 2), CVF_REPLACE)\nLBFX KLM 1\nstop\n}\n}\n\nactor LightningBoltTracer\n{\nPROJECTILE\n+DONTSPLASH\n+NOEXPLODEFLOOR\n+NOCLIP\n+DONTBLAST\nDamage (0)\nSpeed 60\nRadius 16\nHeight 96\nScale 2.5\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"FLOORHUGGER\", 1)\nTNT1 A 0 A_Changeflag(\"NOCLIP\", 0)\nTNT1 A 10\nGoto XDeath\nDeath:\nTNT1 A 0\nstop\nCrash:\nXDeath:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"LightningBolt\")\nTNT1 A 0 A_SpawnItemEx(\"LightningBoltPierce\")\nstop\n}\n}\nactor LightningBoltTracer2 : LightningBoltTracer\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"FLOORHUGGER\", 1)\nTNT1 A 0 A_Changeflag(\"NOCLIP\", 0)\nTNT1 A 5\nGoto XDeath\n}\n}\n\nactor LightningBolt\n{\nPROJECTILE\n+RIPPER\n+NOEXPLODEFLOOR\n+FORCEYBILLBOARD\n+FLOORHUGGER\n+DONTBLAST\nDamage (0)\nDamageType \"LightningBolt\"\nObituary \"$OB_LIGHTNINGBOLT\"\nheight 32\nradius 16\nscale 2.5\nstates\n{\nSpawn:\nLIBO G 0\nLIBO G 1 A_SpawnItemEx(\"LightningExtend\", 0, 0, 355)\nLIBO G 0 A_PlaySoundEx(\"weapon/lightningbolt\",\"Weapon\")\nLIBO G 0 A_Explode(35, 128, 0)\nLIBO H 1\nLIBO I 0 A_SpawnItemEx(\"LightningBoltFX\", Random(32, 96), Random(32, 96), 32)\nLIBO I 0 A_SpawnItemEx(\"LightningBoltFX\", Random(-32, -96), Random(-32, -96), 64)\nLIBO I 0 A_SpawnItemEx(\"LightningBoltFX\", Random(32, 96), Random(32, 96), 96)\nLIBO I 0 A_SpawnItemEx(\"LightningBoltFX\", Random(-32, -96), Random(-32, -96), 128)\nLIBO I 0 A_SpawnItemEx(\"LightningBoltFX\", Random(32, 96), Random(32, 96), 160)\nLIBO I 0 A_SpawnItemEx(\"LightningBoltFX\", Random(-32, -96), Random(-32, -96), 192)\nLIBO IJK 1\nStop\n}\n}\n\nactor LightningBoltPierce : LightningBolt\n{\n//+INVISIBLE\nDamageType \"LightningBoltPierce\"\nstates\n{\nSpawn:\nLIBO G 0\nLIBO G 1 //A_SpawnItemEx(\"LightningExtend\", 0, 0, 355)\nLIBO G 0 //A_PlaySoundEx(\"weapon/lightningbolt\",\"Weapon\")\nLIBO G 0 A_Explode(35, 128, 0)\nLIBO H 1\nStop\n}\n}\n\nActor LightningExtend : LightningBolt\n{\n-FLOORHUGGER\n+CLIENTSIDEONLY\n+NOINTERACTION\nStates\n{\nSpawn:\nLIBO L 0\nLIBO L 0 A_JumpIf(ceilingz-z <= 32, \"Death\")\nLIBO L 0 A_SpawnItemEx(\"LightningExtend\", 0, 0, 160)\nLIBO LLMN 1\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor LightningBoltAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 28\n}"
}
]
},
"maps": []
}