Raw model (for completeness)
{
"meta": {
"id": "07295dc0-0031-4c2a-826b-e32e8b86a6e8",
"sha1": "2f856e1bc9063fd5bff643fc5f553b58aed446cc",
"sha256": "b4650573c8b03a925df9d54fd053ab77f015531e6ee0b7f43254c4a392d2fd81",
"filenames": [
"finaljoedown-0.3aipha.pk3"
],
"additional": {
"engines": [],
"iwad": [],
"filename": null,
"added": "2021-01-10 03:19:41",
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false,
"name": null,
"description": null,
"maps": null,
"graphicOverrides": null,
"screenshots": null,
"palettes": null,
"categories": null
},
"flags": {
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false
},
"added": "2021-01-10 03:19:41",
"file": {
"type": "PK3",
"size": 1145380,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/2f856e1bc9063fd5bff643fc5f553b58aed446cc/2f856e1bc9063fd5bff643fc5f553b58aed446cc.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 1623,
"maps": 0,
"palettes": 0
}
},
"text_files": [
{
"source": "pk3",
"name": "Read Me First.txt",
"contents": "FINAL JOEDOWN - Ver 0.3 Alpha\n--------------------------------------------------------------------------------\n\n== DEVELOPMENT TEAM ==\nEcl1p5e - Head of Development, Lead Programmer and Original Conceptualiser\n\n== ADDITIONAL CREDITS (in alphabetical order) ==\nCBM Team - Borrowed ACS Scripts and Decorate Code\nJaxOf7 - Borrowed ACS Scripts from 8BDMPlus and JWep\nNebula - Contribution towards CCBM Ally Info Functions used in this mod\nTrillster - Borrowed ACS Scripts and Decorate Code from CCBM Ally Info Functions and CSCC:DC\n\n--------------------------------------------------------------------------------\nFile packed on: 03 October 2020\n--------------------------------------------------------------------------------\n\nThis is a modification for Mega Man 8-Bit Deathmatch that focuses on bringing\nand reminiscing fast-paced FPS gameplay (akin to the style of Quake and\nHalf-Life) to this game.\n\nYour main objective is to frag other opponents and gain Credits, which you will\nbe using to upgrade your character and attempt to keep yourself above others\nwith your new and upgraded firepower and try to hit the win condition on the\ngamemode you are playing this with, be it Traditional Deathmatch, Last Man\nStanding or Terminator. The aim here is to make the mod compatible as well\nas enjoyable in every gamemode available for play.\n\nFollow Development at: https://discord.gg/nMvDuZX\n\n--------------------------------------------------------------------------------"
},
{
"source": "pk3",
"name": "List of Classes.txt",
"contents": "Apache Joe\nCannon Joe\nClassic Joe\nCrystal Joe\nFinal Joe (Breakman)\nGunner Joe\nHammer Joe\nHarpoon Joe (Mobile Game)\nLance Joe (RM&F2)\nMace Joe (RM&F2)\nMachinegun Joe\nOptic Joe (SFxMM)\nRider Joe (Wavebike)\nRiot Joe\nSamurai Joe (SFxMM)\nSkeleton Joe\nSniper Armor\nSniper Joe 01 (MM7)\nThunder Joe (MMV)\nTrack Joe (Battle & Chase)\nTruck Joe\nZombie Joe (The only non canon exception because i found a skin lying around)"
},
{
"source": "pk3",
"name": "Change Log.txt",
"contents": "= Ver 0.1 Alpha\n- Initial Release\n\n= Ver 0.2 Alpha\n- Attempt made towards fixing broken Riot Joe Shield\n- Fixed issue of resetting ZACOMPATFLAGS online after one map was over, which resulted in heavy stutters while jumping\n\n= Ver 0.3 Alpha\n- Ally Info Functions updated from V1 to V2\n- Fling/Knockback ACS updated\n- Removed more redundant and deprecated code\n- Numbered ACS scripts given proper names\n- Added a delay before applying color translations to avoid game crashes when shifting from Online to Offline Play\n- Added new Quit Messages in the form of flavour text\n- Changed Menu Dim and Item Pickup Colours\n- Changed Cutstuff Logo\n- Added 11 Different Powerups\n- Added 3 Throwable Grenade types\n- Added Armor and Credit Pickups"
},
{
"source": "pk3",
"name": "Actors/Weapons/== Weapon References ==.txt",
"contents": "// Flash for Flying Classes\n\nFlash:\nTNT1 A 0 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")\nTNT1 A 0 A_JumpIfInventory(\"FlightDisableFlag\",1,\"NoFlight\")\nTNT1 A 0 A_JumpIfInventory(\"JoedownFlightFlag\",1,\"Flight\")\ngoto NoFlight\nFlight:\nTNT1 A 0 A_JumpIf(z-floorz>=160,\"NoFlight\")\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"CheckForPits\",0)==1,\"MaybeFlight\")\nYesFlight:\nTNT1 A 1 SetPlayerProperty(0,1,3)\nTNT1 A 0 A_JumpIfInventory(\"StaminaFlag\",500,\"Flash\")\nTNT1 A 0 A_JumpIf(z-floorz==0,\"Recharge\")\ngoto Flash\nMaybeFlight:\nTNT1 A 0 A_TakeInventory(\"StaminaFlag\",20)\nTNT1 A 0 A_JumpIfInventory(\"StaminaFlag\",1,\"YesFlight\")\ngoto NoFlight\nNoFlight:\nTNT1 A 1 SetPlayerProperty(0,0,3)\nTNT1 A 0 A_JumpIfInventory(\"StaminaFlag\",500,\"Flash\")\nTNT1 A 0 A_JumpIf(z-floorz==0,\"Recharge\")\nGoto Flash\nRecharge:\nTNT1 A 0 A_GiveInventory(\"StaminaFlag\",4)\nGoto Flash\n\n// Flash for Swimming Classes\n\nFlash:\nTNT1 A 0 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")\nTNT1 A 0 A_JumpIfInventory(\"IsTreadingWater\",1,\"Flash.Swim\")\nTNT1 A 1\nloop\nFlash.Ammo:\nTNT1 A 0 A_JumpIfInventory(\"UnderwaterSwimAmmo\",280,\"Flash\")\nTNT1 A 0 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")\nTNT1 A 0 A_JumpIfInventory(\"IsTreadingWater\",1,\"Flash.Swim\")\nTNT1 A 1 A_GiveInventory(\"UnderwaterSwimAmmo_RC\",1)\nloop\n\nFlash.Swim:\nTNT1 A 0 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")\nTNT1 A 1 A_GiveInventory(\"UnderwaterSwimFlash_P\",1)\nTNT1 A 0 A_JumpIf(z-floorz==0,\"Flash.LandEnd\")\nTNT1 A 0 A_JumpIfInventory(\"UnderwaterSwimAmmo\",1,\"Flash.Swim\")\nTNT1 A 0 SetPlayerProperty(0,0,3)\ngoto Flash.Land\n\nFlash.Land:\nTNT1 A 0 A_JumpIf(z-floorz==0,\"Flash.LandEnd\")\nTNT1 A 0 A_JumpIf(momz==0,\"Flash.LandZ\")\nTNT1 A 0 A_JumpIfInventory(\"IsDead\",1,\"NoFlash\")\nTNT1 A 1\nloop\nFlash.LandZ:\nTNT1 A 1\nTNT1 A 0 A_JumpIf(z-floorz==0,\"Flash.LandEnd\")\nTNT1 A 0 A_JumpIf(momz==0,\"Flash.LandEnd\")\ngoto Flash.Land+2\nFlash.LandEnd:\nTNT1 A 1 A_GiveInventory(\"UnderwaterSwimFlashEnd_P\",1)\ngoto Flash.Ammo"
},
{
"source": "pk3",
"name": "Actors/Weapons/GeneralWeaponActors.txt",
"contents": "actor JoedownPuffID : CutterFlag {}\n\nactor JoedownTargetClearer : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ClearTarget\nstop\n}\n}\n\nactor JoedownSpecialAmmo : Ammo {Inventory.MaxAmount 7 Inventory.Amount 1}\n\nactor JoedownSpecialHit : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"JoedownSpecialHit_P1\",1)\nstop\n}\n}\n\nactor JoedownSpecialHit_P1 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"JoedownSpecialHit_P2\",1)\nstop\n}\n}\n\nactor JoedownSpecialHit_P2 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"JoedownSpecialHit_P3\")\nstop\n}\n}\n\nactor JoedownSpecialHit_P3 : BasicHelper\n{\nReactionTime 7\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIfInTargetInventory(\"JoedownSpecialAmmo\",7,\"Death\")\nTNT1 A 0 A_GiveToTarget(\"JoedownSpecialHit_P4\",1)\nTNT1 A 3 A_CountDown\nloop\n}\n}\n\nactor JoedownSpecialHit_P4 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"Joedown_LocalSound\",0,1) //joedown/specialrefill\nTNT1 A 0 A_GiveInventory(\"JoedownSpecialAmmo\",1)\nstop\n}\n}\n\nactor JoedownTeleportStopImmunity : PowerSpeed\n{\n+POWERSPEED.NOTRAIL\nSpeed 1.0001\nPowerup.Duration 0x7FFFFFFD\n}\n\nactor JoedownHazardRespawn : ArtiTeleport\n{\ninventory.maxamount 0\n+COUNTITEM\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nSpawn:\nTNT1 A 1\nloop\n}\n}\n\nactor JoedownPuff\n{\nTranslation \"198:198=88:88\"\n+NOGRAVITY\n+PUFFONACTORS\n+PUFFGETSOWNER\n+HITTRACER\nscale 2.2\nStates\n{\nSpawn:\nTNT1 A 1\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nDeath:\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"IsTracerEnemy\")==1, \"Mark\")\nFHIT L 1 A_PlaySoundEx(\"joedown/ricochet\",\"Voice\")\nFHIT LMMNN 1\nstop\nMark:\nFHIT B 0 A_GiveToTarget(\"JoedownPuffID\",(ACS_NamedExecuteWithResult(\"TargetSwitcher\",1)-1000)+1)\nFHIT B 0 A_GiveToTarget(\"JoedownPuffACS_P\",1)\nFHIT L 1 A_PlaySoundEx(\"joedown/ricochet\",\"Voice\")\nFHIT L 1\nFHIT M 1 A_TakeFromTarget(\"JoedownPuffID\",999)\nFHIT MNN 1\nstop\n}\n}\n\nactor JoedownPuffACS_P : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"HitmarkerToggle\"),\"Pickup0\")\ngoto Pickup1\nPickup1:\nTNT1 A 0 ACS_NamedExecuteAlways(\"Joedown_LocalSound\",0,0) //joedown/hitmarker\nTNT1 A 0 ACS_NamedExecuteAlways(\"HitmarkerDisplay\",0)\nstop\nPickup0:\nTNT1 A 0\nstop\n}\n}\n\nactor JoedownCasing\n{\nTranslation \"192:192=4:4\", \"198:198=88:88\"\n+DONTBLAST\n+MISSILE\n-NOGRAVITY\n+THRUACTORS\n+CLIENTSIDEONLY\n+FLOORCLIP\n+DONTSPLASH\n+HEXENBOUNCE\nBounceCount 5\nBounceFactor 0.65\nWallBounceFactor 0.8\nSeeSound \"joedown/casing\"\nDamage (0)\nHeight 4\nRadius 4\nSpeed 30\nScale 0.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nTNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8)\nFHIT DEFGHIJK 1\ngoto Spawn+2\n}\n}\n\nactor JoedownFakeBullet : fastProjectileBase\n{\nTranslation \"198:198=88:88\"\n+CLIENTSIDEONLY\nSpeed 10\nDamage (0)\nradius 8\nheight 12\nscale 2\nVar Int User_TrailCount;\nVar Int User_TP;\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nTNT1 AA 1 ACS_NamedExecuteAlways(\"PitchMatch\",0)\nTNT1 A 0 A_scalevelocity(15.5)\nSpawn2:\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-5,0,(sin(pitch)*5),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-10,0,(sin(pitch)*10),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-15,0,(sin(pitch)*15),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-20,0,(sin(pitch)*20),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-25,0,(sin(pitch)*25),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-30,0,(sin(pitch)*30),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-35,0,(sin(pitch)*35),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-40,0,(sin(pitch)*40),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-45,0,(sin(pitch)*45),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-50,0,(sin(pitch)*50),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-55,0,(sin(pitch)*55),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"JoedownFakeBulletFx\",cos(pitch)*-60,0,(sin(pitch)*60),momX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0\nTNT1 A 1\nGoto Spawn2\nLoop\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor JoedownFakeBulletFx : FXActor_A\n{\nscale 0.5\nTranslation \"198:198=88:88\"\n//Alpha 0.9\nStates\n{\nSpawn:\nFHIT B 0\nFHIT BB 0 A_GiveInventory(\"ProjectileCode\")\nFHIT BB 1\nFHIT B 1 A_Fadeout(0.5)\nstop\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/UpgradeInterface_Master.txt",
"contents": "actor JoeUpgradeWep : BaseMM8BDMWep\n{\nObituary \"$OB_FW_UP\"\nTag \"$TAGC_FW_UP\"\nInventory.Icon \"NULLICON\"\nWeapon.SlotNumber 1\nWeapon.AmmoType \"JoedownSpecialAmmo\"\nStates\n{\nReady:\n\"####\" \"#\" 0 A_GunFlash\ngoto Ready1\n\nReady1:\n\"####\" \"#\" 1 A_WeaponReady\nGoto Ready1\n\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" \"#\" 1 A_Lower\nLoop\n\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" \"#\" 1 A_Raise\nLoop\n\nFire:\n\"####\" \"#\" 0 A_JumpIfInventory(\"ClassicJoeWep\",1,1)\nGoto UpgradeFail\n\"####\" \"#\" 0 A_GiveInventory(\"Token_L\",1)\nGoto UpgradeChecks\n\nAltfire:\n\"####\" \"#\" 0 A_JumpIfInventory(\"ClassicJoeWep\",1,1)\nGoto UpgradeFail\n\"####\" \"#\" 0 A_GiveInventory(\"Token_O\",1)\nGoto UpgradeChecks\n\nUpgradeFail:\n\"####\" \"#\" 0 ACS_NamedExecuteAlways(\"Joedown_LocalSound\",0,2) //joedown/upgradefail\n\"####\" \"#\" 10\nGoto Ready1\n\nUpgradeChecks:\n\"####\" \"#\" 0 A_JumpIfInventory(\"Token_L\",1,\"Machinegun\")\n\"####\" \"#\" 0 A_JumpIfInventory(\"Token_O\",1,\"Riot\")\nGoto UpgradeFail\n\nUpgradeSuccess:\n\"####\" \"#\" 0 A_GiveInventory(\"Health\",9999)\n\"####\" \"#\" 0 A_GiveInventory(\"JoedownSpecialAmmo\",99)\n\"####\" \"#\" 0 A_GunFlash\nGoto Ready1\n\n// The Wall of Cases\n\nMachinegun:\n\"####\" \"#\" 0 A_JumpIfInventory(\"JoedownCredits\",100,1)\nGoto UpgradeFail\n\"####\" \"#\" 0 A_PlaySoundEx(\"joedown/upgradesuccess\",\"Weapon\")\n\"####\" \"#\" 0 A_SpawnItemEx(\"JoedownUpgradeFX\",0,0,16,0,0,0,0,1)\n\"####\" \"#\" 0 A_TakeInventory(\"JoedownCredits\",100)\n\"####\" \"#\" 0 A_GiveInventory(\"MachinegunJoeWep\",1)\n\"####\" \"#\" 0 A_GiveInventory(\"JoeUpgradeWep_L\",1)\n\"####\" \"#\" 0 A_TakeInventory(\"ClassicJoeWep\",99)\n\"####\" \"#\" 0 A_TakeInventory(\"Token_L\",99)\nGoto UpgradeSuccess\n\nRiot:\n\"####\" \"#\" 0 A_JumpIfInventory(\"JoedownCredits\",100,1)\nGoto UpgradeFail\n\"####\" \"#\" 0 A_PlaySoundEx(\"joedown/upgradesuccess\",\"Weapon\")\n\"####\" \"#\" 0 A_SpawnItemEx(\"JoedownUpgradeFX\",0,0,16,0,0,0,0,1)\n\"####\" \"#\" 0 A_TakeInventory(\"JoedownCredits\",100)\n\"####\" \"#\" 0 A_GiveInventory(\"RiotJoeWep\",1)\n\"####\" \"#\" 0 A_GiveInventory(\"JoeUpgradeWep_O\",1)\n\"####\" \"#\" 0 A_TakeInventory(\"ClassicJoeWep\",99)\n\"####\" \"#\" 0 A_TakeInventory(\"Token_O\",99)\nGoto UpgradeSuccess\n}\n}\n\nactor Token_L : OnceC {}\nactor Token_O : OnceC {}\n\nactor JoedownUpgradeFX : BasicClientSide\n{\nspeed 0\nScale 2.5\nStates\n{\nSpawn:\nFUPG ABCDEFGH 4\nstop\n}\n}\n\n//For graphics to show up for Main+Alt/Alt+Main gimmicks\nActor LeftClickFlag : Inventory{}\nActor RightClickFlag : Inventory{}"
},
{
"source": "pk3",
"name": "Actors/Weapons/UpgradeInterface_Inherents.txt",
"contents": "actor JoeUpgradeWep_C : JoeUpgradeWep\n{\nTag \"$TAGC_FW_UPC\"\nWeapon.PreferredSkin \"Joe-Classic\"\nStates\n{\nReady:\nTNT1 A 0 ACS_ExecuteAlways(998,0,10500) //CLASSICJOE\nReady1:\nFU_1 C 1 A_WeaponReady\nGoto Ready1\n\nFlash:\nFU_1 C 0 A_TakeInventory(\"JoeUpgradeWep_C\",99)\nstop\n}\n}\n\nactor JoeUpgradeWep_L : JoeUpgradeWep\n{\nTag \"$TAGC_FW_UPL\"\nWeapon.PreferredSkin \"Joe-Machinegun\"\nStates\n{\nReady:\nTNT1 A 0 ACS_ExecuteAlways(998,0,10501) //MACHINEGUNJOE\nReady1:\nFU_1 L 1 A_WeaponReady\nGoto Ready1\n\nFlash:\nFU_1 C 0 A_TakeInventory(\"JoeUpgradeWep_L\",99)\nstop\n}\n}\n\nactor JoeUpgradeWep_O : JoeUpgradeWep\n{\nTag \"$TAGC_FW_UPO\"\nWeapon.PreferredSkin \"Joe-Riot\"\nStates\n{\nReady:\nTNT1 A 0 ACS_ExecuteAlways(998,0,10502) //RIOTJOE\nReady1:\nFU_1 O 1 A_WeaponReady\nGoto Ready1\n\nFlash:\nFU_1 C 0 A_TakeInventory(\"JoeUpgradeWep_O\",99)\nstop\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/ClassicJoeWep.txt",
"contents": "actor ClassicJoeWep : BaseMM8BDMWep\n{\nObituary \"$OB_FW_C2\"\nTag \"$TAGC_FW_C\"\nInventory.Icon \"NULLICON\"\nDropItem \"\"\nWeapon.PreferredSkin \"Joe-Classic\"\nWeapon.SlotNumber 2\nWeapon.AmmoType \"JoedownSpecialAmmo\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 7\nStates\n{\nReady:\nTNT1 A 0 ACS_ExecuteAlways(998,0,10500) //CLASSICJOE\nFH_C A 0 A_GunFlash\ngoto Ready1\n\nReady1:\nFH_C A 0 A_JumpIfInventory(\"JoedownSpecialAmmo\",1,\"Ready2\")\nFH_C A 1 A_WeaponReady(WRF_NOSECONDARY)\nloop\nReady2:\nFH_C A 1 A_WeaponReady\nGoto Ready1\n\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nFH_C A 1 A_Lower\nLoop\n\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nFH_C A 1 A_Raise\nLoop\n\nFire:\nFH_C A 0 A_PlaySoundEx(\"misc/devilfire\",\"Weapon\")\nFH_C A 0 A_FireCustomMissile(\"ClassicJoeShot\",0,0,8)\nFH_C BCC 1\nFH_C CBA 2\nGoto Ready1\n\nAltfire:\nFH_C A 0 A_PlaySound(\"joedown/hitscanshot\",CHAN_WEAPON)\nFH_C B 0 A_FireCustomMissile(\"ClassicJoeFakeBullet\",0,0,8)\nFH_C B 0 A_FireBullets(0,0,-1,15,\"ClassicJoePuff\",FBF_NORANDOM|FBF_USEAMMO)\nFH_C A 0 A_SpawnItemEx(\"JoedownCasing\", 22, 20, 28, Random(-1, 1), Random(-3, 1), Random(3, 7))\nFH_C A 0 A_Jump(128,2)\nFH_C D 1\nGoto Altfire+7\nFH_C E 1\nFH_C B 1 Offset(10,40)\nFH_C B 1 Offset(15,45)\nFH_C C 1 Offset(22,52) A_JumpIfInventory(\"PowerDoubleFiringSpeed\",1,1)\nFH_C C 1 Offset(24,54)\nFH_C C 1 Offset(25,55)\nFH_C C 1 Offset(25,55) A_JumpIfInventory(\"PowerDoubleFiringSpeed\",1,1)\nFH_C C 1 Offset(25,55)\nFH_C C 1 Offset(24,54)\nFH_C B 1 Offset(22,52) A_JumpIfInventory(\"PowerDoubleFiringSpeed\",1,1)\nFH_C B 1 Offset(13,43)\nFH_C A 1 Offset(10,40)\nFH_C A 1 Offset(7,37) A_JumpIfInventory(\"PowerDoubleFiringSpeed\",1,1)\nFH_C A 1 Offset(4,34)\nGoto Ready1\n}\n}\n\nactor ClassicJoeShot\n{\nTranslation \"198:198=108:108\"\nPROJECTILE\n+THRUGHOST\n+DONTREFLECT\nObituary \"$OB_FW_C1\"\ndamagetype \"JoedownNormal\"\nSpeed 70\nDamage (10)\nradius 5\nheight 5\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nFP_C B 1\nGoto Spawn+3\n\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor ClassicJoeFakeBullet : JoedownFakeBullet\n{\nPROJECTILE\n+MTHRUSPECIES\n+GHOST\n+FORCEXYBILLBOARD\n+DONTREFLECT\n+DONTBLAST\nTranslation \"198:198=108:108\"\nspeed 22\nscale 0.8\n}\n\nactor ClassicJoePuff : JoedownPuff {Translation \"198:198=108:108\" Damagetype \"JoedownNormal\"}"
},
{
"source": "pk3",
"name": "Actors/Weapons/MachinegunJoeWep.txt",
"contents": "actor MachinegunJoeWep : BaseMM8BDMWep\n{\nObituary \"$OB_FW_L2\"\nTag \"$TAGC_FW_L\"\nInventory.Icon \"NULLICON\"\nDropItem \"\"\nWeapon.PreferredSkin \"Joe-Machinegun\"\nWeapon.SlotNumber 2\nWeapon.AmmoType \"JoedownSpecialAmmo\"\nWeapon.AmmoUse 0\nWeapon.AmmoGive 7\nStates\n{\nReady:\nTNT1 A 0 ACS_ExecuteAlways(998,0,10501) //MACHINEGUNJOE\nFH_L A 0 A_GunFlash\ngoto Ready1\n\nReady1:\nFH_L A 0 A_JumpIfInventory(\"JoedownSpecialAmmo\",1,\"Ready2\")\nFH_L A 1 A_WeaponReady(WRF_NOSECONDARY)\nloop\nReady2:\nFH_L A 1 A_WeaponReady\nGoto Ready1\n\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nFH_L A 1 A_Lower\nLoop\n\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nFH_L A 1 A_Raise\nLoop\n\nFire:\nFH_L B 0 A_JumpIfInventory(\"PowerRage_ST\",1,\"Fire_R\")\nFH_L A 0 A_PlaySoundEx(\"misc/devilfire\",\"Weapon\")\nFH_L A 0 A_FireCustomMissile(\"MachinegunJoeShot\",random(-4,4),0,8)\nFH_L BC 2\nFH_L A 0 A_Refire\nFH_L CCBAA 2\nGoto Ready1\n\nFire_R:\nFH_L A 0 A_PlaySoundEx(\"misc/devilfire\",\"Weapon\")\nFH_L A 0 A_FireCustomMissile(\"MachinegunJoeShot\",random(-4,4),0,8)\nFH_L BC 2\nFH_L C 2\nFH_L A 0 A_Refire\nFH_L CCBAA 2\nGoto Ready1\n\nAltfire:\nFH_L A 0 A_TakeInventory(\"JoedownSpecialAmmo\",1)\nAltfireStart:\nFH_L A 0 A_GiveInventory(\"MachinegunJoeRepeat\",1)\nFH_L A 0 A_PlaySoundEx(\"joedown/hitscanshot\",\"Weapon\")\nFH_L B 0 A_FireCustomMissile(\"MachinegunJoeFakeBullet\",0,0,8)\nFH_L B 0 A_FireBullets(0,0,-1,5,\"MachinegunJoePuff\",FBF_NORANDOM|FBF_USEAMMO)\nFH_L A 0 A_SpawnItemEx(\"JoedownCasing\", 22, 20, 28, Random(-1, 1), Random(-3, 1), Random(3, 7))\nFH_L D 1 Offset(2,30)\nFH_L A 1 Offset(-2,34)\nFH_L A 1 Offset(2,34)\nFH_L A 0 A_JumpIfInventory(\"MachinegunJoeRepeat\",5,1)\nGoto AltfireStart\nAltfireEnd:\nFH_L A 0 A_TakeInventory(\"MachinegunJoeRepeat\",99)\nFH_L B 1 Offset(10,40)\nFH_L B 1 Offset(15,45)\nFH_L C 1 Offset(22,52) A_JumpIfInventory(\"PowerRage_ST\",1,1)\nFH_L C 1 Offset(24,54)\nFH_L C 1 Offset(25,55)\nFH_L C 1 Offset(25,55) A_JumpIfInventory(\"PowerRage_ST\",1,1)\nFH_L C 1 Offset(25,55)\nFH_L C 1 Offset(24,54)\nFH_L B 1 Offset(22,52) A_JumpIfInventory(\"PowerRage_ST\",1,1)\nFH_L B 1 Offset(13,43)\nFH_L A 1 Offset(10,40)\nFH_L A 1 Offset(7,37) A_JumpIfInventory(\"PowerRage_ST\",1,1)\nFH_L A 1 Offset(4,34)\nGoto Ready1\n}\n}\n\nactor MachinegunJoeRepeat : Ammo\n{\nInventory.MaxAmount 5\nInventory.Amount 1\n}\n\nactor MachinegunJoeShot\n{\nTranslation \"199:199=42:42\"\nPROJECTILE\n+THRUGHOST\n+DONTREFLECT\nObituary \"$OB_FW_L1\"\ndamagetype \"JoedownNormal\"\nSpeed 60\nDamage (6)\nradius 5\nheight 5\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nFP_L A 1\nGoto Spawn+3\n\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor MachinegunJoeFakeBullet : JoedownFakeBullet\n{\nPROJECTILE\n+MTHRUSPECIES\n+GHOST\n+FORCEXYBILLBOARD\n+DONTREFLECT\n+DONTBLAST\nTranslation \"198:198=42:42\"\nspeed 22\nscale 0.8\n}\n\nactor MachinegunJoePuff : JoedownPuff {Translation \"198:198=42:42\" Damagetype \"JoedownNormal\"}"
},
{
"source": "pk3",
"name": "Actors/Weapons/RiotJoeWep.txt",
"contents": "actor RiotJoeWep : BaseMM8BDMWep\n{\nObituary \"$OB_FW_O2\"\nTag \"$TAGC_FW_O\"\nInventory.Icon \"NULLICON\"\nDropItem \"\"\nWeapon.PreferredSkin \"Joe-Riot\"\nWeapon.SlotNumber 2\nWeapon.AmmoType \"JoedownSpecialAmmo\"\nWeapon.AmmoUse 1\nWeapon.AmmoGive 7\nStates\n{\nReady:\nTNT1 A 0 ACS_ExecuteAlways(998,0,10502) //RIOTJOE\nFH_O A 0 A_GunFlash\ngoto Ready1\n\nReady1:\nFH_O A 0 A_JumpIfInventory(\"RiotJoe_CannotShield\",1,\"Ready2\")\nFH_O A 1 A_WeaponReady\nloop\nReady2:\nFH_O A 1 A_WeaponReady(WRF_NOSECONDARY)\nGoto Ready1\n\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\nFH_C O 1 A_Lower\nLoop\n\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\nFH_C O 1 A_Raise\nLoop\n\nFire:\nFH_O A 0 A_JumpIfInventory(\"RiotJoe_CanShieldSmack\",1,\"ShieldSmack\")\nFH_O A 0 ACS_NamedExecuteAlways(\"Joedown_ChangeSkinSprite\",0,2)\nFH_O A 0 A_PlaySoundEx(\"misc/devilfire\",\"Weapon\")\nFH_O A 0 A_FireCustomMissile(\"RiotJoeShot\",0,0,8)\nFH_O BCC 1\nFH_O CBAAA 2\nGoto Ready1\n\nAltfire:\nFH_O A 0 A_GunFlash(\"NoFlash\")\nFH_O A 0 ACS_NamedExecuteAlways(\"Joedown_ChangeSkinSprite\",0,1)\nFH_O A 1 Offset(80,32) A_GiveInventory(\"RiotJoe_ShieldDurability\",3)\nFH_O F 1 Offset(160,34) A_GiveInventory(\"RiotJoe_ShieldDurability\",3)\nFH_O F 0 A_SpawnItemEx(\"RiotJoe_ShieldFX1\",23,0,8,momx,momy,momz,0,9,0)\nFH_O F 0 A_PlaySoundEx(\"joedown/shieldup\",\"Weapon\")\nFH_O G 1 Offset(254,36) A_GiveInventory(\"RiotJoe_ShieldDurability\",3)\nFH_O G 0 A_SpawnItemEx(\"RiotJoe_ShieldFX2\",23,0,8,momx,momy,momz,0,9,0)\nFH_O H 1 Offset(254,38) A_GiveInventory(\"RiotJoe_ShieldDurability\",3)\nAltfireHold:\nFH_O H 0 A_JumpIfInventory(\"RiotJoe_ShieldDurability\",112,\"ShieldGameEnded\")\nFH_O H 0 ACS_NamedExecuteAlways(\"Joedown_ChangeSkinSprite\",0,1)\nFH_O H 0 A_GiveInventory(\"RiotJoe_CanShieldSmack\",1)\nFH_O H 0 A_SpawnItemEx(\"RiotJoe_ShieldFX3\",23,0,8,momx,momy,momz,0,9,0)\nFH_O H 0 A_SpawnItemEx(\"RiotJoe_ShieldHitboxSpawner\",28,0,8,momx,momy,momz,0,9,0)\nFH_O H 0 A_JumpIfInventory(\"JoedownSpecialAmmo\",1,2)\nFH_O H 1 A_GiveInventory(\"RiotJoe_ShieldDurability\",2)\nGoto AltfireHold+6\nFH_O H 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOBOB)\nFH_O H 1 A_GiveInventory(\"RiotJoe_ShieldDurability\",2)\nFH_O H 0 A_ReFire(\"AltfireHold\")\nFH_O H 0 A_TakeInventory(\"RiotJoe_CanShieldSmack\",99)\nGoto ShieldLower\n\nShieldLower:\nFH_O A 0 A_GunFlash\nFH_O A 0 ACS_NamedExecuteAlways(\"Joedown_ChangeSkinSprite\",0,1)\nFH_O A 0 A_SpawnItemEx(\"RiotJoe_ShieldFX2\",23,0,8,momx,momy,momz,0,9,0)\nFH_O G 1 Offset(160,36)\nFH_O A 0 A_SpawnItemEx(\"RiotJoe_ShieldFX1\",23,0,8,momx,momy,momz,0,9,0)\nFH_O G 1 Offset(80,34)\nFH_O F 1 Offset(1,32)\nGoto Ready1\n\nShieldSmack:\nFH_O I 1 Offset(254, 38)\nFH_O I 1 Offset(315, 39)\nFH_O I 1 Offset(387, 52)\nFH_O I 1 Offset(245, 29)\nFH_O I 0 A_PlaySoundEx(\"joedown/shieldsmack\",\"Body\")\nFH_O I 0 A_FireCustomMissile(\"RiotJoe_ShieldSmack\",0,1,-8,0)\nFH_O I 1 Offset(152, 20)\nFH_O I 1 Offset(18, 27)\nFH_O I 1 Offset(-24, 34)\nTNT1 A 10 Offset(110,69)\nFH_O A 1 Offset(110,69)\nFH_O A 1 Offset(55,48)\nFH_O H 0 A_TakeInventory(\"RiotJoe_CanShieldSmack\",99)\nFH_O A 0 A_GunFlash\nGoto Ready1\n\nShieldGameEnded:\nTNT1 A 1 A_GiveInventory(\"RiotJoe_CannotShield\",1)\nFH_O I 1 Offset(248,33)A_PlaySoundEx(\"joedown/shielddown\",\"Body\")\nTNT1 A 1 Offset(240,43)\nFH_O I 1 Offset(236,53)\nTNT1 A 1 Offset(232,63)\nFH_O I 1 Offset(228,73)\nTNT1 A 1 Offset(224,83)\nFH_O I 1 Offset(222,93)\nTNT1 A 1 Offset(220,103)\nFH_O I 1 Offset(218,113)\nTNT1 A 1 Offset(216,123)\nFH_O I 1 Offset(218,133)\nTNT1 A 1 Offset(216,143)\nTNT1 A 4 Offset(110,69)\nFH_O A 1 Offset(110,69)\nFH_O A 1 Offset(55,48)\nFH_O H 0 A_TakeInventory(\"RiotJoe_CanShieldSmack\",99)\nFH_O A 0 A_GunFlash\nGoto Ready1\n\nFlash:\nTNT1 A 1\nTNT1 A 0 A_JumpIfInventory(\"RiotJoe_ShieldDurability\",1,1)\nGoto Flash_AltfireRestore\nTNT1 A 1 A_TakeInventory(\"RiotJoe_ShieldDurability\",2)\nloop\n\nFlash_AltfireRestore:\nTNT1 A 0 A_TakeInventory(\"RiotJoe_CannotShield\",1)\nGoto Flash\n}\n}\n\nactor RiotJoe_ShieldDurability : Inventory\n{\ninventory.amount 1\ninventory.maxamount 112\n}\n\nactor RiotJoe_CannotShield : OnceC {}\nactor RiotJoe_CanShieldSmack : OnceC {}\n\nactor RiotJoeShot\n{\nTranslation \"192:192=214:214\"\nPROJECTILE\n+THRUGHOST\n+DONTREFLECT\nObituary \"$OB_FW_O1\"\ndamagetype \"JoedownNormal\"\nSpeed 60\nDamage (14)\nradius 8\nheight 8\nscale 3\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nFP_O B 1\nGoto Spawn+3\n\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor RiotJoe_ShieldFX1 : ProtoShieldFX\n{\nStates\n{\nSpawn:\nTNT1 A 0\nFP_O C 2\nstop\n}\n}\nactor RiotJoe_ShieldFX2 : ProtoShieldFX\n{\nStates\n{\nSpawn:\nTNT1 A 0\nFP_O D 2\nstop\n}\n}\n\nactor RiotJoe_ShieldFX3 : ProtoShieldFX\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AA 0 A_GiveInventory(\"ProjectileCode\")\nFP_O E 2\nstop\n}\n}\n\nactor RiotJoe_ShieldHitboxSpawner : BasicHelper\n{\n+NOTIMEFREEZE\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"RiotJoe_ShieldHitbox\",0,-16,0,momx,momy,momz,0,8)\nTNT1 A 0 A_SpawnItemEx(\"RiotJoe_ShieldHitbox\",0,-8,0,momx,momy,momz,0,8)\nTNT1 A 0 A_SpawnItemEx(\"RiotJoe_ShieldHitbox\",0,0,0,momx,momy,momz,0,8)\nTNT1 A 0 A_SpawnItemEx(\"RiotJoe_ShieldHitbox\",0,8,0,momx,momy,momz,0,8)\nTNT1 A 1 A_SpawnItemEx(\"RiotJoe_ShieldHitbox\",0,16,0,momx,momy,momz,0,8)\nstop\n}\n}\n\nactor RiotJoe_ShieldHitbox : BasicShieldHitbox\n{\n+THRUSPECIES\nSpecies \"RiotJoe_Shield\"\nHeight 48\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 2\nstop\nPain:\nTNT1 A 0 A_SpawnItemEx(\"RiotJoe_ShieldDeathFX\")\nstop\n}\n}\n\nactor RiotJoe_ShieldDeathFX : ProtoShieldDeathFX\n{\nStates\n{\nSpawn:\nFP_O F 0\nFP_O F 0 A_PlaySoundEx(\"item/protoreflect\",\"Voice\")\nSpawn2:\nFP_O F 0 A_SetScale(scaleX + 0.1, 2.5)\nFP_O F 1 A_FadeOut(0.05)\nGoto Spawn2\n}\n}\n\nactor RiotJoe_ShieldSmack\n{\ntranslation \"202:202=210:210\"\nPROJECTILE\ndamagetype \"JoedownKnockback20\"\nObituary \"$OB_FW_O2\"\n+DONTBLAST\nreactiontime 1\ndamage (20)\nRadius 20\nHeight 20\nspeed 60\nscale 2.5\nStates\n{\nSpawn:\nUMFX R 0\nUMFX RR 0 A_GiveInventory(\"ProjectileCode\")\nUMFX R 1 A_CountDown\nwait\nDeath:\nUMFX R 0 A_Explode(20,40,0,0,40)\ngoto XDeath\nXDeath:\nUMFX R 0 A_Stop\nUMFX R 2\nYMFX Q 2\nUMFX RS 2\nstop\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Essentials/BasicActors.txt",
"contents": "actor BasicHitBase\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+MISSILE\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0\nstop\n}\n}\n\nactor BasicHitBaseF : BasicHitBase\n{\nvar int user_HIT;\n//var int user_power;\n}\n\nactor ProjectileBase\n{\nPROJECTILE\n+SKYEXPLODE\n+DONTBLAST\n+MTHRUSPECIES\n+BLOODSPLATTER\nSpeed 40\nDamage (10)\nradius 5\nheight 5\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nBUST T 1\nloop\nDeath:\nBUST T 1\nstop\n}\n}\n\nactor FastProjectileBase : Fastprojectile\n{\nPROJECTILE\n+SKYEXPLODE\n+DONTBLAST\n+MTHRUSPECIES\n+BLOODSPLATTER\nMissileHeight 8\nSpeed 90\nDamage (10)\nradius 5\nheight 5\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nBUST A 1\nloop\nDeath:\nBUST A 1\nstop\n}\n}\n\nactor HitscanPuffBase : BulletPuff\n{\nscale 1\n+PUFFONACTORS\n+ALWAYSPUFF\n+PUFFGETSOWNER\n+MTHRUSPECIES\nalpha 1.0\nStates\n{\nSpawn:\nTNT1 A 0\nBUST A 1\nstop\n}\n}\n\nactor FXActor_A\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+CLIENTSIDEONLY\nradius 8\nheight 8\nDamage (0)\nscale 3.0\nReactiontime 35\nRenderstyle \"Translucent\"\nAlpha 1.0\nStates\n{\nSpawn:\nBUST A 0\nBUST A 2\nstop\n}\n}\n\nactor FXActor_B\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+CLIENTSIDEONLY\nradius 8\nheight 8\nDamage (0)\nscale 3.0\nReactiontime 35\nRenderstyle \"Add\"\nAlpha 1.0\nStates\n{\nSpawn:\nBUST A 0\nBUST A 2\nstop\n}\n}\n\nactor FXActor_C\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+CLIENTSIDEONLY\nradius 8\nheight 8\nDamage (0)\nscale 3.0\nReactiontime 35\nRenderstyle \"Subtract\"\nAlpha 1.0\nStates\n{\nSpawn:\nBUST A 0\nBUST A 2\nstop\n}\n}\n\nactor YMFXBooster2\n{\n+MISSILE\n+THRUACTORS\n+CLIENTSIDEONLY\ndamage 0\nRadius 2\nHeight 2\nscale 2.5\nStates\n{\nSpawn:\nVMFX QRS 1\nSMFX D 1\nstop\n}\n}\n\nactor BasicExplosion\n{\n+MISSILE\n-SOLID\n+DONTBLAST\n+NOGRAVITY\n+RIPPER\n+SKYEXPLODE\n+NOINTERACTION\n+DONTSPLASH\n+THRUGHOST\n+THRUACTORS\n+DONTREFLECT\nDamage 0\nradius 2\nheight 2\n//Scale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(10,10,0)\nstop\n}\n}\n\nactor BasicHelper\n{\n+MISSILE\n-SOLID\n+NOCLIP\n+NOINTERACTION\n+NOGRAVITY\n+DONTBLAST\n+DONTREFLECT\n+THRUACTORS\nrenderstyle none\nradius 2\nheight 2\nStates\n{\nSpawn:\nTNT1 A 1\nstop\nDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor BasicClientSide\n{\n+CLIENTSIDEONLY\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\nradius 2\nheight 2\nscale 2.5\n}\n\nactor BasicItemPickup : CustomInventory\n{\n+INVBAR\n+COUNTITEM\nInventory.amount 1\nInventory.maxamount 1\nInventory.icon \"NULLICON\"\nInventory.PickupSound \"item/1up\"\nTag \"No Tag Defined\"\nScale 2.0\n}\n\nactor BasicPowerupGiver : PowerupGiver\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nInventory.PickupSound \"\"\nInventory.MaxAmount 0\nStates\n{\nSpawn:\nTNT1 A 1\nstop\n}\n}\n\n//General actors used by classes\n\nactor BasicClassItem : CustomInventory\n{\nInventory.Amount 1\nInventory.Maxamount 1\nInventory.Icon \"NULLICON\"\nInventory.PickupMessage \"YOU GOT PLACEHOLDER!\"\nInventory.PickupSound \"GNT/Treasure\"\n+INVBAR\n//+COUNTITEM\nTag \"You forgot the Tag\"\nScale 2.0\nStates\n{\nSpawn:\nCARY W 1\nwait\nNo:\nTNT1 A 0\nfail\n}\n}\n\nactor BasicCollideSlam : BasicExplosion\n{\ndamagetype \"GravityB2\"\nObituary \"$OB_GRAVITYBALL\"\nMass 1\nMeleerange 30\nrenderstyle none\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_Explode(Mass*(Meleerange*0.01)*ScaleX+1,15,0,0,15)\nTNT1 A 3\nstop\n}\n}\n\nactor BasicHardQuakeFX : BasicClientSide\n{\nStates\n{\nSpawn:\nSMFX XYZ 3\nstop\n}\n}\n\nactor WatcherBase\n//Watchers area type of actor that is invisible and handles tasks in the background.\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\n+NOTARGETSWITCH\n+NONETID\nStates\n{\nSpawn:\nTNT1 A 1\nDeath:\nDeathTake:\nTNT1 A 0\nstop\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Essentials/ClassBaseHit.txt",
"contents": "// Reserved for Later"
},
{
"source": "pk3",
"name": "Actors/Essentials/ClassBase.txt",
"contents": "actor ClassBase : ClassBase0\n{\nStates\n{\nPain.JoedownNormal:\n\"----\" H 0\nGoto Pain+2\nPain.JoedownKnockback20:\n\"----\" H 0 ThrustThingZ(0,20,0,0)\n\"----\" H 0 A_PlaySoundEx(\"joedown/shieldsmackhit\",\"Body\")\n\"----\" H 0 ACS_NamedExecuteAlways(\"Joedown_Knockback\",0,20,0)\ngoto Pain+2\nPain.Joedown_HighExplosiveGrenade:\n\"----\" H 0 ThrustThingZ(0,40,0,0)\ngoto Pain+2\nPain.Joedown_PlasmaticGrenade:\n\"----\" H 0 HealThing(1)\ngoto Pain+2\nDeath.JoedownNormal:\n\"----\" H 0 A_SpawnItemEx(\"JoedownSpecialHit\")\n\"----\" H 0 A_SpawnItemEx(\"JoedownCredits100\")\nGoto Death\nDeath.JoedownKnockback20:\n\"----\" H 0 ThrustThingZ(0,20,0,0)\n\"----\" H 0 A_PlaySoundEx(\"joedown/shieldsmackhit\",\"Body\")\n\"----\" H 0 ACS_NamedExecuteAlways(\"Joedown_Knockback\",0,40,0)\n\"----\" H 0 A_SpawnItemEx(\"JoedownSpecialHit\")\n\"----\" H 0 A_SpawnItemEx(\"JoedownCredits100\")\ngoto Death\nDeath.Joedown_HighExplosiveGrenade:\n\"----\" H 0 ThrustThingZ(0,80,0,0)\ngoto Death\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Essentials/ClassBase0.txt",
"contents": "actor ClassBase0 : PlayerPawn\n{\nplayer.displayname \"Generic Class\"\nplayer.damagescreencolor \"yellow\"\nplayer.forwardmove 1, 1\nplayer.sidemove 1, 1\nplayer.jumpz 10\nplayer.colorrange 0 0\nmass 99999\ngravity 0.8\n+NODAMAGETHRUST\n+DONTBLAST\n+NOBLOOD\n+QUICKTORETALIATE\ndamagefactor \"Dummy\", 0.0\ndamagefactor \"Beam\", 0.199\ndamagefactor \"Spiney\", 0.199\ndamagefactor \"Ice\", 0.199\ndamagefactor \"BurnWave\", 0.199\ndamagefactor \"Drowning\", 0.199\ndamagefactor \"Fire\", 0.199\ndamagefactor \"Falling\", 0.199\ndamagefactor \"Slime\", 0.199\nSpecies \"Megaman\"\nPlayer.MaxSkinSizeFactor 0, 0\nscale 2.5\nbloodtype \"MegamanBlood\"\n\nStates\n{\nSpawn:\n\"----\" A 0\n\"----\" B 1\n\"----\" A 1\nGoto Spawn+2\nSee:\n\"----\" BCDE 5\nGoto Spawn\nMissile:\n\"----\" F 5\n\"----\" G 4\nGoto Spawn+2\nPain.BotSight:\n\"----\" B 5 HealThing(1)\nGoto Spawn+2\nPain.ProtoBuster:\nPain.DarkMan:\nPain.FireSpin:\nPain.QuickBoomerang:\nPain.Buster:\nPain.BassBuster:\nPain.WildCoil:\nPain.ChargeKick:\nPain.YamatoSpear:\nPain.DiveMissile:\nPain.StarCrash:\nPain.CentaurFlash:\nPain.FreezeCracker:\nPain.ScrewCrusher:\nPain.PharaohHold:\nPain.TornadoHold:\nPain.TrebleSentry:\nPain.ScorchWheel:\nPain.MagnetMissile:\nPain.JunkShield:\nPain.OilSlider:\nPain.BassBuster:\nPain.WaveBurner:\nPain.WaveBurnerUW:\nPain.Gamma:\nPain.Misc:\nPain.KyorownBullet:\nPain.Treble:\nPain.FlameSwordSpark:\n\"----\" H 0\nGoto pain+1\nPain.Reggae:\nTNT1 A 0 A_PlaySoundEx(\"item/reggae\", \"SoundSlot7\", 0)\nGoto Pain+1\nPain.WaterBalloon:\nPain.FlashBomb:\nPain.RemoteMine:\nPain.IceWall:\n\"----\" H 0 A_ScaleVelocity(0.9)\nGoto Pain+1\nPain.SpreadDrill:\nPain.SpreadDrill2:\nPain.SpreadDrill3:\n\"----\" H 0 A_JumpIfInventory(\"SpreadDrillProtect\", 1 ,2)\n\"----\" H 0 A_PlaySoundEx(\"weapon/spreaddrillhit\",\"SoundSlot5\")\n\"----\" H 0 A_GiveInventory(\"SpreadDrillProtect\", 1)\nGoto pain+1\nPain.FlameSword:\n\"----\" H 0 A_GiveInventory(\"FlameSwordProtect\", 1)\n\"----\" HH 0 A_SpawnItemEx(\"FlameSwordBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nGoto pain\npain.LaserTrident:\n\"----\" H 0 A_GiveInventory(\"LaserTridentProtect\", 1)\ngoto pain+1\nPain.WindStorm:\nPain.FlingDamage:\n\"----\" H 0 //ThrustThing(random(0,255),50,1,0)\n\"----\" H 0 ThrustThing(random(0,255),5,0,0)\n\"----\" H 0 ThrustThingZ(0,30,0,0)\nGoto pain+1\nPain.SlashClaw:\n\"----\" H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.FlashStopper:\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"BrightBlind\", 1,3)\n\"----\" H 0 A_GiveInventory(\"BrightBlind\",125)\n\"----\" H 0 ACS_ExecuteAlways(249, 0)\nGoto pain+1\n\"----\" H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto pain+1\nPain.TimeSlow:\n\"----\" H 0 A_GiveInventory(\"Slowed\",1)\nGoto pain+1\nPain.SparkShock:\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\nPain.CrashBomb:\n\"----\" H 0 A_Stop\nGoto Pain+1\nPain.GravityHold:\n\"----\" H 0 A_ChangeVelocity(momx, momy, 0, CVF_REPLACE)\n\"----\" H 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\n\"----\" H 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\n\"----\" H 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\n\"----\" H 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\nGoto GravityForceFinish\nGravityForce4:\n\"----\" H 2 A_GiveInventory(\"GravityForce4\",1)\nGoto GravityForceFinish\nGravityForce3:\n\"----\" H 2 A_GiveInventory(\"GravityForce3\",1)\nGoto GravityForceFinish\nGravityForce2:\n\"----\" H 2 A_GiveInventory(\"GravityForce2\",1)\nGoto GravityForceFinish\nGravityForce1:\n\"----\" H 2 A_GiveInventory(\"GravityForce1\",1)\nGoto GravityForceFinish\nGravityForceFinish:\n\"----\" H 0 A_CheckFloor(2)\n\"----\" H 0 ThrustThingZ(0,150,1,0)\n\"----\" H 0\nGoto Pain+1\nPain.ConcreteShot:\n\"----\" H 0 A_JumpIfInventory(\"ConcreteVision\", 1, \"ConcreteReset\")\n\"----\" H 0 A_GiveInventory(\"ConcreteVision\", 1)\n\"----\" H 0 A_GiveInventory(\"ConcreteTime\", 105)\n\"----\" H 0 A_SpawnItemEx(\"ConcreteWatcher\")\ngoto Pain+1\nConcreteReset:\n\"----\" H 0 A_GiveInventory(\"ConcreteTime\", 105)\ngoto Pain+1\nPain.TornadoBlow:\n\"----\" H 0 ThrustThingZ(0, 60, 0, 0)\ngoto Pain+1\nPain.WilyFire:\n\"----\" H 0 A_SpawnItemEx(\"ImOnFire\")\n\"----\" H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.WilyIce:\n\"----\" H 0 SetPlayerProperty(0,1,4)\n\"----\" H 0 A_SpawnItemEx(\"ImFrozen\")\n\"----\" H 0 A_GiveInventory(\"IceVision\",1)\n\"----\" H 30 A_Stop\n\"----\" H 30\n\"----\" H 0 SetPlayerProperty(0,0,0)\n\"----\" H 0 A_TakeInventory(\"IceVision\",1)\nGoto Spawn+2\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\n\"----\" H 0\n\"----\" H 0 A_PlaySoundEx(\"joedown/hazardpain\",\"Auto\")\n\"----\" H 0 A_GiveInventory(\"JoedownHazardRespawn\",1)\nGoto Pain+1\nPain.Beam:Pain.Spiney:Pain.Ice:Pain.BurnWave:\n\"----\" H 0 A_PlaySoundEx(\"joedown/hazardpain\",\"Auto\")\n\"----\" H 0 A_GiveInventory(\"JoedownHazardRespawn\",1)\nGoto Pain+2\nPain.TimeStopper:\n\"----\" H 0 A_GiveInventory(\"TimeStopActivator\", 1)\nGoto Pain+1\nBeatAssist:\n\"----\" H 0\n\"----\" H 0 HealThing(2)\n\"----\" H 2 ACS_NamedExecuteAlways(\"core_beatflight\", 0, 0, 1)\n\"----\" H 0 A_JumpIfInventory(\"BeatCallProtection\", 1, \"Spawn\")\nGoto Pain+1\nPain.ClassPain:\nPain:\n\"----\" H 0 A_GiveInventory(\"PainScaleVelocityC\",1)\n\"----\" H 0 A_GiveInventory(\"PainRecoilC\",1)\n\"----\" H 0 A_Pain\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"SkipClassPainJump\",1,\"PainContinue\")\n\"----\" H 0 A_Jump(256, \"ClassPain\")\ngoto ClassPain\nClassPain:\n\"----\" H 0\ngoto PainContinue\nPainContinue:\n\"----\" \"#\" 0 A_GiveInventory(\"IsInPain\",1)\n\"----\" \"#\" 0 A_ClearTarget\n\"----\" \"##########\" 2 A_SpawnItemEx(\"PainFX\",-5,0,3,0,0,0)//HHHHHHHHHH\n\"----\" H 1\n\"----\" H 0 A_Jump(256, \"Spawn\")\n\"----\" H 1 A_Jump(256, \"Spawn\")\nGoto Spawn\n\nDeath.WindStorm:\nDeath.GravityHold:\nDeath.TornadoBlow:\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_ChangeFlag(\"NOINTERACTION\", 1)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_TakeInventory(\"ConcreteTime\", 999)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_TakeInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" H 0 A_Stop\n\"----\" H 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" H 1 A_GiveToTarget(\"KilledMe\",1)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\nRiseMyMegaman:\n\"----\" H 1 ThrustThingZ(0,10,0,1)\n\"----\" H 0 A_JumpIf(ceilingz-z<64, \"ExplodeNow\")\n\"----\" H 0 A_GiveInventory(\"Cutterflag\", 1)\n\"----\" H 0 A_JumpIfInventory(\"CutterFlag\", 35, \"ExplodeNow\")\nGoto RiseMyMegaman\nExplodeNow:\n\"----\" H 0 A_Stop\n\"----\" H 0 A_PlayerScream\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 0)\n\"----\" Z 1 A_CheckPlayerDone\nwait\nDeath.Beam:\n//Death.GravityHold:\nDeath.instagib:\nDeath.Telefrag:\n\"----\" Z 1 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_GiveToTarget(\"KilledMe\",1)\n\"----\" H 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_TakeInventory(\"ConcreteTime\", 999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" Z 0 A_PlayerScream\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\n\"----\" Z 1 A_CheckPlayerDone\nwait\nDeath:\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_TakeInventory(\"ConcreteTime\", 999)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" H 0 A_Stop\n\"----\" H 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" H 20 A_GiveToTarget(\"KilledMe\",1)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_PlayerScream\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\n\"----\" Z 1 A_CheckPlayerDone\nwait\nDeath.Falling:\n\"----\" H 0 A_JumpIfInventory(\"FallDeathExplodeFlag\", 1, \"Death\")\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" Z 1 A_PlayerScream\n\"----\" Z 1 A_Stop\n\"----\" Z 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" Z 0 A_GiveToTarget(\"KilledMe\",1)\n\"----\" Z 1 A_CheckPlayerDone\nwait\nIce:\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_GiveInventory(\"CutterFlag\",999)\n\"----\" H 0 A_GiveInventory(\"IsDead\",1)\n\"----\" H 0 A_TakeInventory(\"WeaponCharge\",999)\n\"----\" Z 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" Z 0 A_GiveToTarget(\"KilledMe\",1)\n\"----\" H 1 A_PlayerScream\n\"----\" H 0 ACS_ExecuteAlways(998,0,105,1)\n\"----\" H 0 A_NoBlocking\n\"----\" H 0 A_FreezeDeath\n\"----\" H 35\n\"----\" H 0 A_SpawnItemEx(\"FrozenDeathFX\", 0, 0, 16)\n\"----\" Z 1 A_CheckPlayerDone\nwait\n\nDeath:\n\"----\" H 0 A_Jump(256,\"DeathFix\")\ngoto DeathFix\n\nDeathFix://Used to show the H sprite for a class on death and check if a class should do a special death.\n\"----\" H 0\n\"----\" H 1 A_ClearTarget\ngoto DeathContinue\n\nClassDeath://Used for special deaths. (such as grenademan)\n\"----\" H 0\n\"----\" H 1\ngoto MegaDeathEnd\n\nClassDeathM://Placeholder to fix desync online\n\"----\" H 1\ngoto MegaDeathEnd\nClassDeathF:\n\"----\" H 19\ngoto MegaDeathEnd\nClassDeathR:\n\"----\" H 1\ngoto RiseDeath\nClassDeathRE:\n\"----\" H 1\ngoto MegaDeathEnd\nClassDeathI:\n\"----\" H 1\ngoto IceDeath\n\nDeathContinue://Which state to hop to\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"SpecialDeathFlag\",1,\"ClassDeath\")\n\"----\" H 0 A_JumpIfInventory(\"InstagibFlag\",1,\"MegaDeathEnd\")\n\"----\" H 0 A_JumpIfInventory(\"RiseDeathFlag\",1,\"RiseDeath\")\n\"----\" H 0 A_JumpIfInventory(\"IceDeathFlag\",1,\"IceDeath\")\n\"----\" H 19\n\"----\" H 0\ngoto MegaDeathEnd\n\nRiseDeath:\n\"----\" H 1 ThrustThingZ(0,21,0,1)\n\"----\" H 0 A_JumpIf(ceilingz-z<64,\"MegaDeathEnd\")\n\"----\" H 0 A_GiveInventory(\"RiseDeathFlag2\",1)\n\"----\" H 0 A_JumpIfInventory(\"RiseDeathFlag2\",25,\"MegaDeathEnd\")\nGoto RiseDeath\nIceDeath:\n\"----\" H 0 ACS_ExecuteAlways(998,0,10666,10) //ICEDEATH\n\"----\" H 1 A_PlaySoundEx(\"CBM/freeze\",\"Voice\")\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_SpawnItemEx(\"FrozenDeathBitFX\",frandom(16,48),0,fRandom(16,48),0,0,0,random(0,359))\n\"----\" H 0 A_PlaySoundEx(\"CBM/icebreak\",\"Body\")\n\"----\" H 0 A_SpawnItemEx(\"FrozenDeathFX\",0,0,0)\ngoto DeathWait\nDeath.Falling:\n\"----\" H 0 A_GiveInventory(\"FallingFlag\",1)\n\"----\" H 0 A_SetTranslucent(0.0,0)\n\"----\" H 0 A_PlaySoundEx(\"*death\",\"Voice\")\ngoto DeathWait\n\nMegaDeathEnd:\n\"----\" H 0 A_ChangeVelocity(0,0,0,CVF_REPLACE)\n\"----\" H 0 A_PlaySoundEx(\"*death\",\"Voice\")//A_XScream\n\"----\" H 0 A_JumpIf(ACS_NamedExecuteWithResult(\"CheckTeamDeath\",0)>=0,3)//Check if team game\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFX\",0,0,32)\n\"----\" H 0 A_Jump(256,2)\n\"----\" H 0 A_SpawnItemEx(\"TFakeDeathFX\",0,0,32,0,0,0,0,1)\n\"----\" H 0\ngoto DeathWait\n\nDeathWait:\nPLAY Z 1 A_CheckPlayerDone\nwait\n\nDropWeapon:\n\"----\" H 0\n\"----\" H 0 A_Jump(256,\"NoDropWeapon\")\ngoto NoDropWeapon\nNoDropWeapon:\nPLAY Z 1 A_CheckPlayerDone\nwait\n\n// SINGLEPLAYER STUFF\nTheEnd: // Used in the original ending\n\"----\" G 4\nloop\nWalkForward:\n\"----\" BBBBBCCCCCDDDDDEEEEE 1 A_Recoil(-0.8)\nloop\nCreditWalk:\n\"----\" BCDE 8\nloop\nCreditRun:\n\"----\" BCDE 5\nloop\nDozerCarry:\n\"----\" BBBBCCCCDDDDEEEEBBBBCCCCDDDDBBBBCCCCDDDD 1 A_Recoil(-1)\n\"----\" F 10 A_Stop\n\"----\" F -1\nstop\nDozerThrow:\n\"----\" F 0 A_ChangeFlag(\"THRUACTORS\",1)\n\"----\" F 20 ThrustThingZ(0, 60, 0, 1)\n\"----\" G 20\n\"----\" A -1\nstop\nEndlessPain:\n\"----\" H -1\nstop\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Essentials/JoedownClass.txt",
"contents": "actor Joedown : ClassBase\n{\n+NOSKIN\nPlayer.DisplayName \"A Regular Joe\"\nPlayer.SoundClass \"JoedownC\"\nPlayer.ViewHeight 41\nPlayer.ForwardMove 0.9, 0.9\nPlayer.SideMove 0.88, 0.88\nPlayer.JumpZ 10\nPlayer.StartItem \"ClassicJoeWep\"\nPlayer.StartItem \"JoeUpgradeWep_C\"\nPlayer.StartItem \"StaminaFlag\", 500 //Start with full Stamina\n//Player.StartItem \"JoedownCredits\", 200\nPlayer.StartItem \"JoedownSpecialAmmo\", 7\nPlayer.StartItem \"JoedownTeleportStopImmunity\", 1 //Fix for halts after teleporting\n\nStates\n{\nSpawn:\nFS_C A 0\nFS_C B 1\nFS_C A 1\nGoto Spawn+2\nSee:\nFS_C BCDE 5\nGoto Spawn\nMissile:\nFS_C F 6\nFS_C G 6\nGoto Spawn\n\n// Used for Riot Joe\nCustomState1:\nFS_C I 4\nGoto Spawn\nCustomState2:\nFS_C F 14\nGoto Spawn\n\nClassPain:\nFS_C H 0\ngoto PainContinue\nDeathFix:\nFS_C H 0\ngoto DeathContinue\nClassDeath:\nFS_C H 1\ngoto MegaDeathEnd\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Essentials/JoedownEconomy.txt",
"contents": "actor JoedownCredits : Ammo {Inventory.MaxAmount 99999 Inventory.Amount 1}\n\n// Hit Bases for Attacks\n\nactor JoedownCredits100 : BasicHitBase\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveToTarget(\"JoedownCredits100_P\",1)\nstop\n}\n}\n\nactor JoedownCredits100_P : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveToTarget(\"JoedownCredits\",100)\nstop\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Essentials/ProjectileTeamColors.txt",
"contents": "actor ProjectileCode : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"ProjectileSpawned\",1)\nTNT1 A 0 A_GiveInventory(\"TrailProjectileCheck\",1)\nPickup1:\nTNT1 A 0 A_JumpIf(CallACS(\"Check_ProjectileColor_Server\"),\"Pickup2\")\nstop\nPickup2:\nTNT1 A 0 A_Jumpifintargetinventory(\"LightTeamFlag\",1,\"TeamBlue\")\nTNT1 A 0 A_Jumpifintargetinventory(\"WilyTeamFlag\",1,\"TeamRed\")\nTNT1 A 0 A_Jumpifintargetinventory(\"CossackTeamFlag\",1,\"TeamGreen\")\nTNT1 A 0 A_Jumpifintargetinventory(\"KingTeamFlag\",1,\"TeamGold\")\nstop\nTeamBlue:\nTeamBlue1:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_Projectile_Translation\",0)\nstop\nTeamRed:\nTeamRed1:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_Projectile_Translation\",1)\nstop\nTeamGreen:\nTeamGreen1:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_Projectile_Translation\",2)\nstop\nTeamGold:\nTeamGold1:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"Set_Projectile_Translation\",3)\nstop\n}\n}\n\nactor ProjectileFXCode : ProjectileCode {}\n\nactor ProjectileSpawned : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor ProjectileDCode : ProjectileCode\n{\nstates\n{\nPickup:\nTNT1 A 0 A_Jumpifinventory(\"ProjectileSpawned\",1,\"PickupNo\")\ngoto Pickup1\nPickupNo:\nTNT1 A 0\nstop\n}\n}\n\nactor ProjectileCodeNo : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"TrailProjectileCheck\",1)\nstop\n}\n}\n\nactor SyncTarget : ProjectileCode\n{\nstates\n{\nPickup:\nTNT1 A 0\ngoto Pickup1\nTeamBlue:\nTeamRed:\nTeamGreen:\nTeamGold:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"SyncTargetToTID\",CallACS(\"Core_GetTarget\"))\nstop\n}\n}\n\nactor ProjectileCodeSyncTarget : ProjectileCode\n{\nstates\n{\nTeamBlue:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"SyncTargetToTID\",CallACS(\"Core_GetTarget\"))\ngoto TeamBlue1\nTeamRed:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"SyncTargetToTID\",CallACS(\"Core_GetTarget\"))\ngoto TeamRed1\nTeamGreen:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"SyncTargetToTID\",CallACS(\"Core_GetTarget\"))\ngoto TeamGreen1\nTeamGold:\nTNT1 A 0 ACS_NamedExecuteWithResult(\"SyncTargetToTID\",CallACS(\"Core_GetTarget\"))\ngoto TeamGold1\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Essentials/ProjectileTeamColorsTrails.txt",
"contents": "//special cases, due to being non-clientside spawned with a_spawnitemex and spawning a clientside fx\n//or something like that\n\nactor TrailProjectileCheck : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_JumpIf(CheckClass(\"RainFlush\", AAPTR_DEFAULT, true),\"Pickup2\")\nTNT1 A 0 A_JumpIf(CheckClass(\"JunkCounterProjectile\", AAPTR_DEFAULT, true),\"Pickup2\")\nTNT1 A 0 A_JumpIf(CheckClass(\"FlashBombExplosion\", AAPTR_DEFAULT, true),\"Pickup2\")\nTNT1 A 0 A_JumpIf(CheckClass(\"HomingSniperLockon\", AAPTR_DEFAULT, true),\"Pickup2\")\nTNT1 A 0 A_JumpIf(CheckClass(\"IceWaveIcicleWall\", AAPTR_DEFAULT, true),\"Pickup2\")\nTNT1 A 0 A_JumpIf(CheckClass(\"IceWaveIcicleFloor\", AAPTR_DEFAULT, true),\"Pickup2\")\nTNT1 A 0 A_JumpIf(CheckClass(\"LightningBolt\", AAPTR_DEFAULT, true),\"Pickup2\")\nTNT1 A 0 A_JumpIf(CheckClass(\"ThunderClawReturn2\", AAPTR_DEFAULT, true),\"Pickup2\")\nstop\nPickup2:\nTNT1 A 0 A_GiveInventory(\"SyncTarget\",1)\nstop\n}\n}\n\nactor HomingSniperLockonT : HomingSniperLockon\n{\n+THRUACTORS\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"THRUACTORS\",0)\ngoto \"Super::Spawn\"\n}\n}\n\nActor LightningBoltFXT : LightningBoltFX\n{\n-NONETID\n+CLIENTSIDEONLY\n}\n\nactor LightningStartFX1T : LightningStartFX1 { -NONETID }\nactor LightningStartFX2T : LightningStartFX2 { -NONETID }"
},
{
"source": "pk3",
"name": "Actors/Essentials/VanillaReplace.txt",
"contents": "actor BaseShieldWarperT : BaseShieldWarper\n{\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_GiveInventory(\"ProjectileCode\",1)\ngoto \"Super::Spawn\"\n}\n}"
},
{
"source": "pk3",
"name": "Actors/Essentials/VisualFunctions.txt",
"contents": "actor AllyVisualFunc : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"AllyHealthBarFunc2\")\n//TNT1 A 0 A_SpawnItemEx(\"AllyScrewBarFunc2\")\nstop\n}\n}\n\nactor VisualFunc2\n{\nHeight 0\nRadius 0\n+NOINTERACTION\n+NOCLIP\nPROJECTILE\n+CLIENTSIDEONLY\n}\n\nactor BaseVisual\n{\nPROJECTILE\nspeed 100\nHeight 0\nRadius 0\n+NOCLIP\n+NOINTERACTION\n+FORCEXYBILLBOARD\nscale 2.5\nRenderStyle \"Translucent\"\nAlpha 0.6\n+CLIENTSIDEONLY\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nstop\n}\n}\n\nactor AllyHealthBarFunc2 : VisualFunc2\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(CallACS(\"AllyHealthBar_Check\")&&(CallACS(\"GetTargetHealth\")>0),\"Spawn2\")\nTNT1 A 1\nstop\nSpawn2:\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<7, \"Health1\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<14, \"Health2\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<21, \"Health3\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<27, \"Health4\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<34, \"Health5\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<41, \"Health6\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<47, \"Health7\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<54, \"Health8\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<61, \"Health9\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<67, \"Health10\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<74, \"Health11\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<81, \"Health12\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<87, \"Health13\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetHealthPercent\")<94, \"Health14\")\ngoto Health15\nHealth1:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar1\")\nstop\nHealth2:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar2\")\nstop\nHealth3:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar3\")\nstop\nHealth4:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar4\")\nstop\nHealth5:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar5\")\nstop\nHealth6:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar6\")\nstop\nHealth7:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar7\")\nstop\nHealth8:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar8\")\nstop\nHealth9:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar9\")\nstop\nHealth10:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar10\")\nstop\nHealth11:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar11\")\nstop\nHealth12:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar12\")\nstop\nHealth13:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar13\")\nstop\nHealth14:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar14\")\nstop\nHealth15:\nTNT1 A 0 A_GiveToTarget(\"SpawnHealthBar15\")\nstop\n}\n}\n\nactor SpawnHealthBar1 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar1\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar2 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar2\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar3 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar3\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar4 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar4\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar5 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar5\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar6 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar6\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar7 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar7\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar8 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar8\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar9 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar9\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar10 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar10\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar11 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar11\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar12 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar12\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar13 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar13\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar14 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar14\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnHealthBar15 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"HealthBar15\", -momx, -momy, -momz+height*7/4, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor HealthBar1 : BaseVisual\n{\nStates\n{\nSpawn:\nEPCE P 0\nSpawn2:\n\"----\" A 1\nstop\n}\n}\n\nactor HealthBar2 : HealthBar1 { states { Spawn: EPCE O 0\ngoto Spawn2 }}\nactor HealthBar3 : HealthBar1 { states { Spawn: EPCE N 0\ngoto Spawn2 }}\nactor HealthBar4 : HealthBar1 { states { Spawn: EPCE M 0\ngoto Spawn2 }}\nactor HealthBar5 : HealthBar1 { states { Spawn: EPCE L 0\ngoto Spawn2 }}\nactor HealthBar6 : HealthBar1 { states { Spawn: EPCE K 0\ngoto Spawn2 }}\nactor HealthBar7 : HealthBar1 { states { Spawn: EPCE J 0\ngoto Spawn2 }}\nactor HealthBar8 : HealthBar1 { states { Spawn: EPCE I 0\ngoto Spawn2 }}\nactor HealthBar9 : HealthBar1 { states { Spawn: EPCE H 0\ngoto Spawn2 }}\nactor HealthBar10 : HealthBar1 { states { Spawn: EPCE G 0\ngoto Spawn2 }}\nactor HealthBar11 : HealthBar1 { states { Spawn: EPCE F 0\ngoto Spawn2 }}\nactor HealthBar12 : HealthBar1 { states { Spawn: EPCE E 0\ngoto Spawn2 }}\nactor HealthBar13 : HealthBar1 { states { Spawn: EPCE D 0\ngoto Spawn2 }}\nactor HealthBar14 : HealthBar1 { states { Spawn: EPCE C 0\ngoto Spawn2 }}\nactor HealthBar15 : HealthBar1 { states { Spawn: EPCE B 0\ngoto Spawn2 }}\n\n/* SAVED FOR LATER\n\nactor AllyScrewBarFunc2 : VisualFunc2\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(CallACS(\"AllyHealthBar_Check\")&&CallACS(\"ScrewUser_Check\")&&(CallACS(\"GetTargetHealth\")>0),\"Spawn2\")\nTNT1 A 1\nstop\nSpawn2:\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<7, \"Screw1\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<14, \"Screw2\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<21, \"Screw3\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<27, \"Screw4\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<34, \"Screw5\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<41, \"Screw6\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<47, \"Screw7\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<54, \"Screw8\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<61, \"Screw9\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<67, \"Screw10\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<74, \"Screw11\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<81, \"Screw12\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<87, \"Screw13\")\nTNT1 A 0 A_JumpIf(CallACS(\"GetTargetScrewPercent\")<94, \"Screw14\")\ngoto Screw15\nScrew1:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar1\")\nstop\nScrew2:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar2\")\nstop\nScrew3:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar3\")\nstop\nScrew4:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar4\")\nstop\nScrew5:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar5\")\nstop\nScrew6:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar6\")\nstop\nScrew7:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar7\")\nstop\nScrew8:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar8\")\nstop\nScrew9:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar9\")\nstop\nScrew10:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar10\")\nstop\nScrew11:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar11\")\nstop\nScrew12:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar12\")\nstop\nScrew13:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar13\")\nstop\nScrew14:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar14\")\nstop\nScrew15:\nTNT1 A 0 A_GiveToTarget(\"SpawnScrewBar15\")\nstop\n}\n}\n\nactor SpawnScrewBar1 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar1\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar2 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar2\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar3 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar3\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar4 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar4\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar5 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar5\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar6 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar6\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar7 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar7\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar8 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar8\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar9 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar9\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar10 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar10\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar11 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar11\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar12 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar12\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar13 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar13\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar14 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar14\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor SpawnScrewBar15 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"ScrewBar15\", -momx, -momy, -momz+height*7/4-12.5, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEPOSITION|SXF_TRANSFERTRANSLATION, 0)\nstop\n}\n}\n\nactor ScrewBar1 : BaseVisual\n{\nStates\n{\nSpawn:\nEPC1 P 0\nSpawn2:\n\"----\" A 1\nstop\n}\n}\n\nactor ScrewBar2 : ScrewBar1 { states { Spawn: EPC1 O 0\ngoto Spawn2 }}\nactor ScrewBar3 : ScrewBar1 { states { Spawn: EPC1 N 0\ngoto Spawn2 }}\nactor ScrewBar4 : ScrewBar1 { states { Spawn: EPC1 M 0\ngoto Spawn2 }}\nactor ScrewBar5 : ScrewBar1 { states { Spawn: EPC1 L 0\ngoto Spawn2 }}\nactor ScrewBar6 : ScrewBar1 { states { Spawn: EPC1 K 0\ngoto Spawn2 }}\nactor ScrewBar7 : ScrewBar1 { states { Spawn: EPC1 J 0\ngoto Spawn2 }}\nactor ScrewBar8 : ScrewBar1 { states { Spawn: EPC1 I 0\ngoto Spawn2 }}\nactor ScrewBar9 : ScrewBar1 { states { Spawn: EPC1 H 0\ngoto Spawn2 }}\nactor ScrewBar10 : ScrewBar1 { states { Spawn: EPC1 G 0\ngoto Spawn2 }}\nactor ScrewBar11 : ScrewBar1 { states { Spawn: EPC1 F 0\ngoto Spawn2 }}\nactor ScrewBar12 : ScrewBar1 { states { Spawn: EPC1 E 0\ngoto Spawn2 }}\nactor ScrewBar13 : ScrewBar1 { states { Spawn: EPC1 D 0\ngoto Spawn2 }}\nactor ScrewBar14 : ScrewBar1 { states { Spawn: EPC1 C 0\ngoto Spawn2 }}\nactor ScrewBar15 : ScrewBar1 { states { Spawn: EPC1 B 0\ngoto Spawn2 }}\n*/\n\nactor Death_MapMarker_D : MapMarker\n{\nheight 0\nradius 0\n+CLIENTSIDEONLY\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\nStates\n{\nSpawn:\n_MM1 [ 175\nstop\n}\n}\nactor Death_MapMarker_0 : Death_MapMarker_D {translation \"4:4=205:205\"}\nactor Death_MapMarker_1 : Death_MapMarker_D {translation \"4:4=171:171\"}\nactor Death_MapMarker_2 : Death_MapMarker_D {translation \"4:4=104:104\"}\nactor Death_MapMarker_3 : Death_MapMarker_D {translation \"4:4=229:229\"}\n\nactor Directional_MapMarker_D : MapMarker\n{\nheight 0\nradius 0\n+CLIENTSIDEONLY\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\nStates\n{\nSpawn:\n_MM1 ] 2\nstop\n}\n}\nactor Directional_MapMarker_0 : Directional_MapMarker_D {translation \"4:4=205:205\"}\nactor Directional_MapMarker_1 : Directional_MapMarker_D {translation \"4:4=171:171\"}\nactor Directional_MapMarker_2 : Directional_MapMarker_D {translation \"4:4=104:104\"}\nactor Directional_MapMarker_3 : Directional_MapMarker_D {translation \"4:4=229:229\"}\nactor SpawnDirectionalMapMarkerD : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*2, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*2, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*3, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*3, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*4, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*4, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*5, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*5, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*6, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*6, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*7, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*7, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*8, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*8, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*9, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*9, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*10, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_D\", 16*10, 0, 0, 0, 0, 0, -45)\nstop\n}\n}\nactor SpawnDirectionalMapMarker0 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*2, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*2, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*3, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*3, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*4, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*4, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*5, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*5, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*6, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*6, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*7, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*7, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*8, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*8, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*9, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*9, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*10, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_0\", 16*10, 0, 0, 0, 0, 0, -45)\nstop\n}\n}\nactor SpawnDirectionalMapMarker1 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*2, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*2, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*3, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*3, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*4, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*4, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*5, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*5, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*6, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*6, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*7, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*7, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*8, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*8, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*9, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*9, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*10, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_1\", 16*10, 0, 0, 0, 0, 0, -45)\nstop\n}\n}\nactor SpawnDirectionalMapMarker2 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*2, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*2, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*3, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*3, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*4, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*4, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*5, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*5, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*6, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*6, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*7, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*7, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*8, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*8, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*9, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*9, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*10, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_2\", 16*10, 0, 0, 0, 0, 0, -45)\nstop\n}\n}\nactor SpawnDirectionalMapMarker3 : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*2, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*2, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*3, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*3, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*4, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*4, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*5, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*5, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*6, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*6, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*7, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*7, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*8, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*8, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*9, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*9, 0, 0, 0, 0, 0, -45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*10, 0, 0, 0, 0, 0, 45)\nTNT1 A 0 A_SpawnItemEx(\"Directional_MapMarker_3\", 16*10, 0, 0, 0, 0, 0, -45)\nstop\n}\n}\n\nactor Joedown_MapMarker_D : MapMarker\n{\nheight 0\nradius 0\ntranslation \"192:192=229:229\", \"198:198=128:128\"\n+CLIENTSIDEONLY\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\nStates\n{\nSpawn:\nEPCE Q 2\nstop\n}\n}\nactor Joedown_MapMarker_0 : Joedown_MapMarker_D {translation \"192:192=205:205\", \"198:198=74:74\"}\nactor Joedown_MapMarker_1 : Joedown_MapMarker_D {translation \"192:192=171:171\", \"198:198=41:41\"}\nactor Joedown_MapMarker_2 : Joedown_MapMarker_D {translation \"192:192=104:104\", \"198:198=128:128\"}\nactor Joedown_MapMarker_3 : Joedown_MapMarker_D {translation \"192:192=229:229\", \"198:198=232:232\"}"
}
]
},
"maps": []
}