rivalbawlz-prototype-a2.pk3

PK3 3.2 MiB 0 map(s)

Counts

endoom0
graphics0
lumps1040
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "08fd97c0-07c8-466e-805e-e321bae0935a",
    "sha1": "22a8f662aaeeaaddaf619a83d77107c850583c1f",
    "sha256": "e69a3ba0c3e7577c3113ed3db47998e9ad3e94d7bdbcb9b18767a12deb3eeeeb",
    "filenames": [
      "rivalbawlz-prototype-a2.pk3"
    ],
    "additional": {
      "engines": [
        "ZDOOM"
      ],
      "iwad": [],
      "filename": null,
      "added": "2018-09-07 14:07:56",
      "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": "2018-09-07 14:07:56",
    "file": {
      "type": "PK3",
      "size": 3307233,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/22a8f662aaeeaaddaf619a83d77107c850583c1f/22a8f662aaeeaaddaf619a83d77107c850583c1f.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 1040,
        "maps": 0,
        "palettes": 0
      },
      "engines_guess": [
        "ZDOOM"
      ]
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "SBARINFO.H.txt",
        "contents": "//HORIZONTAL BARS\n\nstatusbar normal, forcescaled\n{\nInInventory not NoHealthBar, 1\n{\n\n\tDrawImage \"NEHUDH\", 0, 140;\n\tInInventory WilyTeamFlag, 1 {DrawImage \"NEHUDHR\", 0, 140;}\n\t//DrawImage \"ALTHUD\", 0, 161;\n\t//InInventory WilyTeamFlag, 1 {DrawImage \"ALTHUD_R\", 0, 161;}\n\tDrawImage weaponicon, 37,135; //58, 132;\n\tDrawBar \"NHLTH3\", \"NBARE3\", Health, Horizontal, 8,152; //Small HP : 75\n\tinInventory not SmallHealthFlag, 1{DrawBar \"NHLTH4\", \"NORESO\", Health, Horizontal, 8,152;}//Mid HP : 100\n\tinInventory BigHealthFlag, 1{DrawBar \"NHLTH6\", \"NBARE6\", Health, Horizontal, 8,152;}// Big HP : 150\n\t//DrawBar \"NARMR\", \"NNOBAR\", Basicarmor, Horizontal, 8,152;//39, 114;\n\n\tDrawNumber 3, CONFONT, UNTRANSLATED, Health,fillzeros, alignment(Left), 3,135;//10, 116; //72\n\nInInventory not NoClipBar, 1{\nDrawNumber 3, smallfont, white, Ammo1, alignment(left), 40,135;//27, 132;\nDrawString smallfont, white, \"/\",65,135,0,alignment(left);\nDrawNumber 3, smallfont, white, RivalBallsAmmo, alignment(left), 75,135;//27, 132;\n\n}\n\n//=====\nIsSelected ErosBlaster {\n\n\tDrawImage \"HEATBASE\", 37, 127;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", BeamPowerLevel, Horizontal, 52, 127;\n\tininventory BeamPowerLevel ,65 {DrawBar \"HTBAR4\", \"NOHEATB2\", BeamPowerLevel, Horizontal, 52, 127;}\n\tininventory BeamPowerLevel ,1 {DrawBar \"HTBAR3\", \"NOHEATB2\", BeamHoldTimer, Horizontal, 52, 127;}\n\n}\n\n}}"
      },
      {
        "source": "pk3",
        "name": "SBARINFO.V.txt",
        "contents": "//VERTICAL BARS\nheight 0;\n\nstatusbar fullscreen, forcescaled\n{\nInInventory not NoHealthBar, 1\n{\n\n\t//DrawImage \"NEUMHUD\", 0, 19;\n\t//InInventory WilyTeamFlag, 1 {DrawImage \"NEUMHUDR\", 0, 19;}\n\t//DrawImage \"ALTHUD\", 60, 140;\n\t//InInventory WilyTeamFlag, 1 {DrawImage \"ALTHUD_R\", 60, 140;}\n\n\t//DrawBar \"NHLTHV\", \"NBAREV\", Health, vertical, 20, 30;\n\t//DrawBar \"NARMRV\", \"NNOVAR\", Basicarmor, vertical, 20, 30;\nDrawImage \"CTSUP\", 0, 140;\nDrawNumber 3, smallfont, white, Health,fillzeros, alignment(Left), 11, 140; //72\nDrawImage weaponicon, 0, 150;\n\nInInventory not NoClipBar, 1{\nDrawNumber 3, smallfont, white, Ammo1, alignment(left), 3, 150;\nDrawString smallfont, white, \"/\",27,150,0,alignment(left);\nDrawNumber 3, smallfont, white, RivalBallsAmmo, alignment(left), 37,150;//27, 132;\n}\n\nIsSelected ErosBlaster {\n\n\tDrawImage \"HEATBASE\", 11, 160;\n\tDrawBar \"HTBAR1\", \"NOHEATBR\", BeamPowerLevel, Horizontal, 26, 160;\n\tininventory BeamPowerLevel ,65 {DrawBar \"HTBAR4\", \"NOHEATB2\", BeamPowerLevel, Horizontal, 26, 160;}\n\tininventory BeamPowerLevel ,1 {DrawBar \"HTBAR3\", \"NOHEATB2\", BeamHoldTimer, Horizontal, 26, 160;}\n\n}\n\n}}"
      },
      {
        "source": "pk3",
        "name": "TEXTCOLOURS.txt",
        "contents": "WhiteOutLine {\n\t\t#e4e4e4  #c3c3c3   0 6\n\t\t#000000  #222222   7 256\n\tConsole:\n\t\t#111111  #353535    0 127\n\t\t#b1b1b1  #ffffff  128 256\n}\n\nMenuGreen {\n\t\t#000000 #000000 0 123\n\t\t#00C800 #00C800 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#00C800 #00C800 124 256\n}\n\nMenuYellow {\n\t\t#000000 #000000 0 123\n\t\t#FFFF00 #FFFF00 124 256\n\tConsole:\n\t\t#000000 #000000 0 123\n\t\t#FFFF00 #FFFF00 124 256\n}\n\n//Future ZDoom colors\n\nIce\n{\n    #343450  #7C7C98    0 94\n    #7C7C98  #E0E0E0   95 256\nConsole:\n    #343450  #7C7C98    0 127\n    #7C7C98  #E0E0E0  128 256\nFlat:\n    #7C7C98\n}\n\nFire\n{\n    #660000  #D57604   0 104\n    #D57604  #FFFF00   105 256\nConsole:\n    #6F0000  #D57604    0 127\n    #D57604  #FFFF00  128 256\nFlat:\n    #D57604\n}\n\nSapphire\n{\n    #000468  #506CFC    0 94\n    #506CFC  #50ECFC   95 256\nConsole:\n    #000468  #506CFC    0 127\n    #506CFC  #50ECFC  128 256\nFlat:\n    #506CFC\n}\n\nTeal\n{\n    #001F1F  #236773    0 90\n    #236773  #7BB3C3   91 256\nConsole:\n    #001F1F  #236773    0 127\n    #236773  #7BB3C3  128 256\nFlat:\n    #236773\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Dronecode.txt",
        "contents": "Actor TestDrone\n{\n+MISSILE\n+NOBLOOD\n+DONTBLAST\n//+SHOOTABLE\n+NOGRAVITY\n+SOLID\n+THRUACTORS\n+NOEXPLODEFLOOR\n+NOTARGETSWITCH\n+BOUNCEONWALLS\n+BOUNCEONCEILINGS\n+NOEXPLODEFLOOR\n+SKYEXPLODE\nTranslation \"196:196=192:192\"\nradius 15\nheight 25\nspeed 0\nscale 2\npainchance 256\nstates\n{\nspawn:\nTELY A 0\nTELY A 0 A_GiveToTarget(\"DroneActivate\")\nTELY A 0 ACS_Executealways(896,0)\nTELY A 0 ACS_Executealways(895,0)\nTELY A 0 A_ChangeFlag(\"MISSILE\",0)\nTELY A 0 A_ChangeFlag(\"ISMONSTER\",1)\nSpawn2:\nPBUG A 1\nTNT1 A 0 A_TakeFromTarget(\"Dronelife\",1)\nTNT1 A 0 A_JumpIfInTargetInventory(\"IsDead\",1,\"Death\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"Dronelife\",1,\"Spawn2\")\ngoto Death\nDeath:\nTELY A 0 ACS_Executealways(896,1)\nTELY A 0 A_GiveToTarget(\"MoveEnabler\")\nstop\n}\n}\n\nactor DroneshotDelay : Powerup {inventory.amount 1 powerup.duration 5}\nactor Dronelife : inventory {inventory.amount 1 inventory.maxamount 1050}\n\nactor DroneShot : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 0 A_JumpifinTargetinventory(\"DroneshotDelay\",1,\"Nope\")\nBLTR C 0 A_Playsoundex(\"misc/devilfire\",\"weapon\")\nBLTR C 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 0 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 0 A_SpawnItemEx(\"DroneBullet\",cos(pitch)*45,0,0+(sin(pitch)*-45),cos(pitch)*75,0,sin(pitch)*-75,0,SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)\nBUST B 0 A_Givetotarget(\"DroneshotDelay\")\nstop\nTeamRedFire:\nBUST B 0 A_SpawnItemEx(\"DroneBullet_RED\",cos(pitch)*45,0,0+(sin(pitch)*-45),cos(pitch)*75,0,sin(pitch)*-75,0,SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)\nBUST B 0 A_Givetotarget(\"DroneshotDelay\")\nTNT1 A 0\nstop\nTeamBlueFire:\nBUST B 0 A_SpawnItemEx(\"DroneBullet_BLUE\",cos(pitch)*45,0,0+(sin(pitch)*-45),cos(pitch)*75,0,sin(pitch)*-75,0,SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)\nBUST B 0 A_Givetotarget(\"DroneshotDelay\")\nTNT1 A 0\nstop\nNope:\nTNT1 A 0\nstop\n}\n}\n\nactor DroneController : Weapon\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 25\nWeapon.SlotNumber 1\nscale 2.0\nObituary \"$OB_MEGABUSTER\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"AssaultClip\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUSR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nBUST B 0\nRedReady:\n\"####\" B 1 A_WeaponReady\n\"####\" B 0 A_Jumpifinventory(\"AssaultClip\",1,\"Ready\")\nGoto Reload\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" CD 1\n\"####\" B 2\n\"####\" B 0 A_Refire\ngoto Ready\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"AssaultClip\",1,\"Ready\")\nFlash:\nTNT1 A 1\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\nactor DroneActivate : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\n+INVENTORY.AUTOACTIVATE\nstates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0 A_PlaySound(\"weapon/rminestick\")\nTNT1 A 0 A_GiveInventory(\"DroneController\")\nTNT1 A 0 A_SelectWeapon(\"DroneController\")\nTELY A 0 A_GiveInventory(\"Dronelife\",1050)\nTNT1 A 0 A_Setgravity(100)\nstop\n}\n}\n\nactor MoveEnabler : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 0\nTNT1 A 0 A_TakeInventory(\"DroneController\")\nTNT1 A 0 A_Setgravity(0.8)\nBLTR C 0 setplayerproperty(0,0,0)\nstop\n}\n}\n\nactor DroneBullet\n{\nPROJECTILE\n+LOOKALLAROUND\n+SKYEXPLODE\n+DONTBLAST\n+MTHRUSPECIES\ndamagetype \"Buster\"\nObituary \"$OB_MEGABUSTER\"\n//seesound \"weapon/mbuster\"\nSpeed 100\nDamage (16)\nradius 9\nheight 15\nscale 0.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0\nBASB T 1 A_SpawnItemEX(\"DroneBulletTrail\",0,0,0,momx/3,momy/3,momz/3,0,SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION,0)\ngoto spawn+2\nDeath:\nBUST T 1 A_Spawnitemex(\"BustergunPuff3\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\n\tactor DroneBullet_BLUE : DroneBullet\n\t{\n\tdamagetype \"Buster\"\n\t}\n\n\tactor DroneBullet_RED : DroneBullet\n\t{\n\ttranslation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\"\n\tdamagetype \"BusterRED\"\n\t}\nactor DroneBulletTrail\n{\nPROJECTILE\n+NOINTERACTION\n+DONTBLAST\nSpeed 0\nradius 5\nheight 5\nscale 0.7\nRenderstyle add\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1\nBASB TTT 1\nBASB TTT 1 A_Fadeout\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/SourceActors.txt",
        "contents": "/*\nThis file contains all the actors most main objects inherit from, typically\ncommon things like projectiles and explosionactors and such that all use the same\nstates code, this can help with reducing script size all around\n*/\n\nactor ProjectileBase\n{\nPROJECTILE\n+SKYEXPLODE\n+DONTBLAST\n+MTHRUSPECIES\n+BLOODSPLATTER\n//damagetype \"Buster\"\nSpeed 40\nDamage (3 + CallACS(\"DamageRate\",8,360,50))\nradius 5\nheight 5\nscale 2.1\nStates\n{\nSpawn:\nTNT1 A 0\nBUST T 1\nloop\nDeath:\nBUST T 1 //A_Spawnitemex(\"BustergunPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nactor FastProjectileBase : Fastprojectile\n{\nPROJECTILE\n+SKYEXPLODE\n+DONTBLAST\n+MTHRUSPECIES\n+BLOODSPLATTER\ndamagetype \"Buster\"\nMissileHeight 8\nSpeed 40\nDamage (3 + CallACS(\"DamageRate\",8,360,50))\nradius 5\nheight 5\nscale 2.1\nStates\n{\nSpawn:\nTNT1 A 0\nBUST T 1\nloop\nDeath:\nBUST T 1 //A_Spawnitemex(\"BustergunPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nactor ExplosionBase\n{\nPROJECTILE\n+NOINTERACTION\n+NOCLIP\n+DONTBLAST\n+FORCEXYBILLBOARD\n+BLOODSPLATTER\nSpeed 0\n//\nDamagetype \"Explosion\"\nradius 8\nheight 8\nscale 5.5\nStates\n{\nSpawn:\nNAPC A 0\nNAPC D 0 A_Explode(20, 310, 1,0,36)\nNAPC A 0 A_PlaySoundEx(\"weapon/napalm\", \"Weapon\")\nASEX ABCDEF 2\nstop\n}\n}\n\nactor HitscanBulletBase : FastprojectileBase\n{\ndamagetype \"Buster\"\nDamage (5 + CallACS(\"DamageRate\",4,360,150))\nspeed 255\nheight 5\nradius 5\nscale 1\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0\nTNT1 A 1\ngoto spawn+2\nDeath:\nTNT1 A 1 A_PlaySound(\"weapon/mirrordeflect\")\nTNT1 A 1 //A_Spawnitemex(\"BustergunPuff1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\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:\nICMS A 0\nICMS ABCD 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:\nICMS A 0\nICMS ABCD 2\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}\n\nactor LinearBullet : fastProjectileBase\n{\n//these are used for guns that utilize generic rounds.\nSpeed 10\nDamage (6 + CallACS(\"DamageRate\",6,300,65))\nradius 3\nheight 3\nReactiontime 14\nscale 1.0\nVar Int User_TrailCount;\nVar Int User_TP; //TrailPosition\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 AA 1 ACS_NamedExecuteAlways(\"PitchMatch\",0)\n//TNT1 A 0 A_Jump(256,\"SpeedSet\")\n//Goto SpeedSet\n//SpeedSet:\nTNT1 A 0 A_ScaleVelocity(10)\nGoto Spawn2\nSpawn2:\n//TNT1 A 0 A_SetUserVar(\"User_TP\",3*User_TrailCount)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-3,0,(sin(pitch)*3),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-6,0,(sin(pitch)*6),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-9,0,(sin(pitch)*9),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-12,0,(sin(pitch)*12),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-15,0,(sin(pitch)*15),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-18,0,(sin(pitch)*18),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-21,0,(sin(pitch)*21),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-24,0,(sin(pitch)*24),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-27,0,(sin(pitch)*27),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-30,0,(sin(pitch)*30),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-33,0,(sin(pitch)*33),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-36,0,(sin(pitch)*36),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-39,0,(sin(pitch)*39),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-42,0,(sin(pitch)*42),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-45,0,(sin(pitch)*45),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SetUserVar(\"User_TrailCount\",User_TrailCount+1)\n//TNT1 A 0 A_Jumpif(User_TrailCount >= 20,1)\n//loop\n//TNT1 A 0\nTNT1 A 1 //A_SetUserVar(\"User_TrailCount\",1)\nTNT1 A 0 A_Countdown\nGoto Spawn2\nDeath:\nTNT1 A 1 A_Spawnitemex(\"LinearBulletPuff\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nactor LinearBullet2 : fastProjectileBase\n{\n//these are used for guns that utilize generic rounds.\nSpeed 100\nDamage (6 + CallACS(\"DamageRate\",6,300,65))\nradius 3\nheight 3\nReactiontime 12\nscale 1.0\nVar Int User_TrailCount;\nVar Int User_TP; //TrailPosition\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"PitchMatch\",0)\n//TNT1 A 0 A_Jump(256,\"SpeedSet\")\n//Goto SpeedSet\n//SpeedSet:\n//TNT1 A 0 A_ScaleVelocity(16)\n\nGoto Spawn2\nSpawn2:\n//TNT1 A 0 A_SetUserVar(\"User_TP\",3*User_TrailCount)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-3,0,(sin(pitch)*3),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-6,0,(sin(pitch)*6),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-9,0,(sin(pitch)*9),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-12,0,(sin(pitch)*12),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-15,0,(sin(pitch)*15),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-18,0,(sin(pitch)*18),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-21,0,(sin(pitch)*21),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-24,0,(sin(pitch)*24),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-27,0,(sin(pitch)*27),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-30,0,(sin(pitch)*30),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-33,0,(sin(pitch)*33),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-36,0,(sin(pitch)*36),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-39,0,(sin(pitch)*39),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-42,0,(sin(pitch)*42),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_SpawnItemEx(\"LinearBulletTrail\",cos(pitch)*-45,0,(sin(pitch)*45),MomX,MomY,MomZ,0,SXF_TRANSFERPITCH|SXF_ABSOLUTEMOMENTUM|SXF_TRANSFERTRANSLATION)\n//TNT1 A 0 A_SetUserVar(\"User_TrailCount\",User_TrailCount+1)\n//TNT1 A 0 A_Jumpif(User_TrailCount >= 20,1)\n//loop\n//TNT1 A 0\nTNT1 A 1 //A_SetUserVar(\"User_TrailCount\",1)\nTNT1 A 0 A_Countdown\nGoto Spawn2\nDeath:\nTNT1 A 1 A_Spawnitemex(\"LinearBulletPuff\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nactor LinearBulletTrail : FXActor_B\n{\nMissileHeight 8\nscale 1.0\nStates\n{\nSpawn:\nBASB U 2\nstop\n}\n}\n\nactor LinearBulletPuff : FXActor_A\n{\nscale 0.4\nStates\n{\nSpawn:\nBIM1 AABCDEF 1\nstop\n}\n}\n\nactor BarrierPartBase\n{\n  Radius 14\n  Height 12\n  Scale 0.5\n  RenderStyle None\n  Alpha 0.25\n  //Bloodtype \"ShieldHit\"\n  //Species \"BLUEMember\"\n  DamageFactor \"Explosion\", 0.1\n  DamageFactor \"Voltspear\", 3.0\n  Health 900\n  Painchance 256\n  //Designatedteam 0\n  +MISSILE\n  +SHOOTABLE\n  +NOTARGETSWITCH\n  +NOGRAVITY\n  +NOTELEPORT\n  +NOTARGETSWITCH\n  +THRUSPECIES\n  +DONTRIP\n  +DONTSPLASH\n  +FLOORCLIP\n  //+REFLECTIVE\n  +DONTREFLECT\n  +NODAMAGETHRUST\n  //+DONTTHRUST\n  +DONTBLAST\n  +GHOST\t//Give projectiles that you wish to pass through the shield THRUGHOST flag\n  States\n  {\n  Spawn:\n\tTNT1 A 0\n\tTNT1 A 0 A_SpawnItemEx (\"ScreenPartVisual\", 0, 0, 16, 0, 0, 0, 0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n    HEXA A 2\n    stop\n\tPain:\n\tTNT1 A 0  A_PlaySoundEX (\"item/protoreflect\",\"Soundslot5\")\n\tstop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor ShieldHit\n{\n  Radius 1\n  Height 1\n  Scale 0.5\n  Renderstyle Add\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    MMFX A 0 bright\n    MMFX A 1 bright A_Stop\n    MMFX A 0 bright A_PlaySound (\"weapon/MirrorDeflect\")\n    MMFX A 1 bright\n    stop\n  }\n}\n\nactor ScreenPartVisual\n{\n  Radius 8\n  Height 8\n  Scale 0.5\n  RenderStyle Add\t//Fuzzy looks great in software mode\n  Alpha 0.35\n  +NOINTERACTION\n  //+CLIENTSIDEONLY\n  +FLOORCLIP\n  States\n  {\n  Spawn:\n  TNT1 A 0\n    HEXA AAAA 1 bright\n    //HEXA AA 1 bright A_Fadeout(0.4)\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor BasicClientSide\n{\n+CLIENTSIDEONLY\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\nradius 2\nheight 2\nscale 2.5\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/ConstList.txt",
        "contents": "//====|Damage falloff range constants|====\nConst int Range1 = 275; //close quarters\nConst int Range2 = 350; // mid range\nConst int Range3 = 650; // mid-long range\nConst int Range4 = 800; // long range\n\n//====|Mendingtool heal rates|====\nConst int HealRate2_B = 6;\nConst int HealRate2_A = 13;\nConst int HealRate2_Max = 20;\n\n//====|Weapon Stats|====\n//==|Bustergun|==\n\nConst int BGUN_A = 30; //Base damage\nConst int BGUN_B = 10; // Modified damage\nConst int BGUN_C = 6; //Damage decay rate\n\nconst float BGUN_S = 1.3; //spread\n\n//gun bullet spreads\nconst float SPRD_1 = 1.5;\nconst float SPRD_2 = 3.0;\nconst float SPRD_3 = 5.4;\nconst float SPRD_4 = 7.2;\n\n//basher\nconst float BasherSpread = 2.3;\n\n//MannTurret\nconst float MT_SPD = 3.2;\n\n//blitzer\nConst float SRev = 360;\n\nConst float S_SprAng = 2.8;\nConst float S_SprAngRev = SRev-S_SprAng;\n\nConst float S_SprD_Ang = S_SprAng/1.5;\nConst float S_SprD_AngRev = SRev-(S_SprAng/1.5);\n\n//megablitzer\nConst float MB_SPD = 5.0;\n\n//Repidifier\nconst float RP_SPD = 2.8;\n\n//Stinger\nconst float ST_SPD = 2.6;\n\n//buddy sentry\nconst int BSEN_SPD = 12; //multiplied by 10\nconst int BSEN_Warm = 25;\nconst int BSEN_DetectRange = 750;\nconst int BSEN_ForgetRange = 800;\n\n//top grenade\nConst int GrenTopSpeed = 8;\nConst int GrenTopTurning = 35;\n\n//CureSprayRadius\nConst int SH_RAD = 260;\nConst int SH_RAD2 = SH_RAD/2;\n\n//VoltSpear\nconst int VSR1 = 550;\nconst int VSR2 = 275;\n\n//Blaster\nconst float BST_SPD = 0.3;\n\n//HealPatch\nconst int HLP_RAD = 200;\n\n//Heat Ray\n const int HR_DAM1 = 25;\n const int HR_DAM2 = 100;\n//[+]================|Sripts|===================[+]\n\nconst int  GetTotalHPPerc = 726;\nconst int  GetValueHPPerc = 727;\nconst int  WepBloomStat = 728;\n//const int  DamageRate = 729;\nconst int  RadiusGive = 730;\nconst int  JumpToggle = 731;\nconst int  MedivisionScript = 732;\nconst int  RadiusHeal = 733;\nconst int  DotDamager = 734;\nconst int  GrapplingHookPull = 735;\nconst int  TargPitch = 736;\nconst int  BlastKnockback = 737;\nconst int  CountTID = 738;\nconst int  ObjectTally = 739;\nconst int  ObjectDeathTally = 740;\nconst int  GetTargValueHPPerc = 741;\nconst int  HealRamp = 743;"
      },
      {
        "source": "pk3",
        "name": "Actors/Classes/Contestant.txt",
        "contents": "/*\n[+]===================================[+]\n\n[+]===================================[+]\n*/\n\nActor Nerfer : ClassBase replaces Megaman\n{\nHealth 100\nPlayer.MaxHealth 100\nPlayer.DisplayName \"megaman\"\nPlayer.SoundClass \"Nerfer\"\nPlayer.JumpZ 10\nPlayer.ForwardMove 0.75, 0.75\nPlayer.SideMove 0.7, 0.7\n\nPlayer.StartItem \"HealthNumber\"\nPlayer.StartItem \"ReloadItem\"\n\nStates\n{\nSpawn:\nPLY1 A 0\nPLY1 B 1\nPLY1 A 1\nGoTo Spawn+2\nSee:\nPLY1 BCDE 5\nGoTo Spawn+1\nMissile:\nPLY1 A 0 //A_Jumpifinventory(\"MegaSlideActive\",1,\"Slide\")\nPLY1 FFFFF 1 //A_Jumpifinventory(\"MegaSlideActive\",1,\"Slide\")\nPLY1 G 4\nGoTo Spawn+2\n//Slide:\n//PLY1 RRRRRRRRRRRRRRRRR 1 A_Jumpifinventory(\"MegaSlideStopper\",1,\"SlideEnd\")\n//GoTo Spawn+2\n//SlideEnd:\n//PLY1 A 0\n//GoTo Spawn+2\n\nPainFix:\nPLY1 H 0\nGoTo PainFrames\n}\n}\n\n/*\nActor NoMega : Megaman replaces Megaman\n{\nLimitedToTeam 3\n}\n\nactor RemoveMegaman : Megaman replaces Megaman\n{\n//player.displayname \"megaman\"\nlimitedtoteam 3\n//visibletoteam 3\nplayer.colorrange 0 0\nPlayer.MaxSkinSizeFactor 0, 0\nscale 2.5\nStates\n{\nSpawn:\nPLY1 A 0\nPLY1 B 1\nPLY1 A 1\nGoTo Spawn+2\nSee:\nPLY1 BCDE 5\nGoTo Spawn+1\nMissile:\nPLY1 F 5\nPLY1 G 4\nGoTo Spawn+2\nPainFix:\nPLY1 H 0\nGoTo PainFrames\n}\n}\n*/"
      },
      {
        "source": "pk3",
        "name": "Actors/Classes/ClassBase/classbase0.txt",
        "contents": "actor ClassBase0 : PlayerPawn\n{\nplayer.displayname \"megaman\"\nplayer.soundclass \"megaman\"\nplayer.damagescreencolor \"yellow\"\nplayer.forwardmove 0.8, 0.8\nplayer.sidemove 0.78, 0.78\nplayer.jumpz 10\nplayer.colorrange 0 0\nplayer.startitem \"MegaBuster\"\nplayer.startitem \"BusterAmmo\", 3\nmass 9999\ngravity 0.8\n+NODAMAGETHRUST\n+DONTBLAST\n+NOBLOOD\n+QUICKTORETALIATE\n+DONTHARMSPECIES\n+THRUSPECIES\n\ndamagefactor \"Dummy\", 0.0\nPlayer.MaxSkinSizeFactor 0, 0\nscale 2.5\nbloodtype \"MegamanBlood\"\n\nVar int User_STargTID;\nVar int User_angleDistRegister;\nVar int User_STargRange;\n\nvar int user_wepangle;\nvar int user_weppitch;\nvar int user_wepangle2;\n\nStates\n{\nSuperSpawn:\n\"----\" A 1 A_Jump(256,\"Spawn\")\nwait\nSuperClassPain:\n\"----\" A 1 A_Jump(256,\"ClassPain\")\nwait\nSuperClassDeath:\n\"----\" A 1 A_Jump(256,\"ClassDeath\")\nwait\n\nMegamanPain:\n\"----\" A 0 A_Pain\n\"----\" A 0 A_GiveInventory(\"RegenStall\")\n\"----\" A 1 A_SpawnItemEx(\"PainFX\",-5,0,3,0,0,0)\n\"----\" A 1 A_Recoil(1)\n\"----\" A 0 A_GiveToTarget(\"HitSoundMaker\")\n\"----\" AAAAAAAAA 2 A_SpawnItemEx(\"PainFX\",-5,0,3,0,0,0)\n\"----\" A 1\ngoto SuperSpawn\n\nMegamanDeath:\n\"----\" A 0 A_Pain\n\"----\" A 1 A_GiveToTarget(\"HitSoundMaker\")\n\"----\" A 2\nMegamanExplode:\n\"----\" H 2\nTNT1 A 4 A_SpawnItemEx(\"NGS_DeathEffectActor\", 0, 0, 32,0,0,0,0,SXF_TRANSFERTRANSLATION)\nTNT1 A 0 A_playsoundex(\"weapon/Wrecker\",\"body\")//A_PlayerScream\nGoto MegamanErase\nMegamanFall:\nTNT1 A 0 A_playsoundex(\"weapon/Wrecker\",\"body\")//A_PlayerScream\nMegamanErase:\nTNT1 A 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/Classes/ClassBase/classbase1.txt",
        "contents": "actor ClassBase1 : ClassBase0\n{\nStates\n{\nPain:\n\"----\" A 0 //A_ScaleVelocity(0.75)\n\"----\" A 0\ngoto SuperClassPain\nDeath:\n\"----\" A 0 A_GiveInventory(\"ClassDeathPickup\",1)\ngoto SuperClassDeath\n\nClassPain:\n\"####\" H 0\nMegamanPain:\n\"----\" A 0 A_JumpIfInventory(\"GravityHoldPainPower\",1,\"GravityHoldWait\")\n\"----\" A 0 A_JumpIfInventory(\"WilyIcePainPower\",1,\"WilyIceWait\")\ngoto \"Super::MegamanPain\"\nGravityHoldWait:\n\"----\" A 2\n\"----\" A 0 A_CheckFloor(2)\n\"----\" A 0 ThrustThingZ(0,150,1,0)\n\"----\" A 0\ngoto \"Super::MegamanPain\"\nWilyIceWait:\n\"----\" A 30\n\"----\" A 30\n\"----\" A 0 SetPlayerProperty(0,0,0)\n\"----\" A 0 A_TakeInventory(\"IceVision\",1)\ngoto SuperSpawn\n\nClassDeath:\n\"####\" H 0\nMegamanDeath:\n\"----\" A 0 A_JumpIfInventory(\"ExplodeDeathFlag\",1,\"MegamanExplode\")\n\"----\" A 0 A_JumpIfInventory(\"FallingDeathFlag\",1,\"MegamanFall\")\n\"----\" A 0 A_JumpIfInventory(\"RisingDeathFlag\",1,\"MegamanRise\")\n\"----\" A 0 A_JumpIfInventory(\"IceDeathFlag\",1,\"MegamanIce\")\ngoto \"Super::MegamanDeath\"\nMegamanRise:\n\"----\" A 0 A_ChangeFlag(\"NOINTERACTION\", 1)\nRiseMyMegaman:\n\"----\" A 1 ThrustThingZ(0,10,0,1)\n\"----\" A 0 A_JumpIf(ceilingz-z<=(height+1), \"RiseMyMegamanEnd\")\n\"----\" A 0 A_GiveInventory(\"RiseMyMegamanFlag\", 1)\n\"----\" A 0 A_JumpIfInventory(\"RiseMyMegamanFlag\", 35, \"RiseMyMegamanEnd\")\nloop\n/*RiseMyMegamanEnd:\n\"----\" A 0\ngoto MegamanExplode*/\nRiseMyMegamanEnd:\n\"----\" A 0 A_SpawnItemEx(\"NGS_DeathEffectActor\", 0, 0, 0,0,0,0,0,SXF_TRANSFERTRANSLATION)\ngoto MegamanFall\nMegamanIce:\n\"----\" A 1 A_playsoundex(\"weapon/Wrecker\",\"body\")//A_PlayerScream\n\"----\" A 0 ACS_ExecuteAlways(998,0,105,1)\n\"----\" A 0 A_FreezeDeath\n\"----\" A 35\n\"----\" A 0 A_SpawnItemEx(\"FrozenDeathFX\", 0, 0, 16)\ngoto MegamanErase\n\nPain.GravityHold:\n\"----\" A 0 A_ChangeVelocity(momx, momy, 0, CVF_REPLACE)\n\"----\" A 0 A_JumpIf(z-floorz>180,\"GravityForce4\")\n\"----\" A 0 A_JumpIf(z-floorz>128,\"GravityForce3\")\n\"----\" A 0 A_JumpIf(z-floorz>32,\"GravityForce2\")\n\"----\" A 0 A_JumpIf(z-floorz>8,\"GravityForce1\")\nGoto GravityForceNo\nGravityForce4:\n\"----\" A 0 A_GiveInventory(\"GravityForce4\",1)\nGoto GravityForceB\nGravityForce3:\n\"----\" A 0 A_GiveInventory(\"GravityForce3\",1)\nGoto GravityForceB\nGravityForce2:\n\"----\" A 0 A_GiveInventory(\"GravityForce2\",1)\nGoto GravityForceB\nGravityForce1:\n\"----\" A 0 A_GiveInventory(\"GravityForce1\",1)\nGoto GravityForceB\nGravityForceB:\n\"----\" A 0 A_GiveInventory(\"GravityHoldPainPower\",1)\nGoto Pain+1\nGravityForceNo:\n\"----\" A 0 A_CheckFloor(2)\n\"----\" A 0 ThrustThingZ(0,150,1,0)\n\"----\" A 0\nGoto Pain+1\n\nPain.WilyIce:\n\"----\" A 0 SetPlayerProperty(0,1,4)\n\"----\" A 0 A_SpawnItemEx(\"ImFrozen\")\n\"----\" A 0 A_GiveInventory(\"IceVision\",1)\n\"----\" A 0 A_Stop\n\"----\" A 0 A_GiveInventory(\"WilyIcePainPower\",1)\nGoto Pain+1\n\nDeath.Beam:\n//Death.GravityHold:\nDeath.instagib:\nDeath.Telefrag:\n\"----\" A 0 A_GiveInventory(\"ExplodeDeathFlag\",1)\ngoto Death\nDeath.Falling:\n\"----\" A 0 A_GiveInventory(\"FallingDeathFlag\",1)\ngoto Death\nDeath.WindStorm:\nDeath.GravityHold:\nDeath.TornadoBlow:\n\"----\" A 0 A_GiveInventory(\"RisingDeathFlag\",1)\ngoto Death\n\nIce:\n\"----\" A 0 A_GiveInventory(\"IceDeathFlag\",1)\ngoto Death\n\n//////////////////\n\nPain.BotSight:\nPLY1 B 5 HealThing(1)\ngoto SuperSpawn\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.Treble:\nPain.FlameSwordSpark:\nPLY1 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:\nPLY1 H 0 A_ScaleVelocity(0.9)\nGoto Pain+1\nPain.SpreadDrill:\nPain.SpreadDrill2:\nPain.SpreadDrill3:\nPLY1 H 0 A_JumpIfInventory(\"SpreadDrillProtect\", 1 ,2)\nPLY1 H 0 A_PlaySoundEx(\"weapon/spreaddrillhit\",\"SoundSlot5\")\nPLY1 H 0 A_GiveInventory(\"SpreadDrillProtect\", 1)\nGoto pain+1\nPain.FlameSword:\nPLY1 H 0 A_GiveInventory(\"FlameSwordProtect\", 1)\nPLY1 HH 0 A_SpawnItemEx(\"FlameSwordBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nGoto pain\npain.LaserTrident:\nPLY1 H 0 A_GiveInventory(\"LaserTridentProtect\", 1)\ngoto pain+1\nPain.WindStorm:\nPain.FlingDamage:\nPLY1 H 0 //ThrustThing(random(0,255),50,1,0)\nPLY1 H 0 ThrustThing(random(0,255),5,0,0)\nPLY1 H 0 ThrustThingZ(0,30,0,0)\nGoto pain+1\nPain.SlashClaw:\nPLY1 H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")\nGoto Pain\nPain.FlashStopper:\nPLY1 H 0\nPLY1 H 0 A_JumpIfInventory(\"BrightBlind\", 1,3)\nPLY1 H 0 A_GiveInventory(\"BrightBlind\",125)\nPLY1 H 0 ACS_ExecuteAlways(249, 0)\nGoto pain+1\nPLY1 H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto pain+1\nPain.TimeSlow:\nPLY1 H 0 A_GiveInventory(\"Slowed\",1)\nGoto pain+1\nPain.SparkShock:\nPLY1 H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\nPLY1 H 0 A_GiveInventory(\"Shocked\",1)\nGoto Pain+1\nPain.CrashBomb:\nPLY1 H 0 A_Stop\nGoto Pain+1\nPain.ConcreteShot:\nPLY1 H 0 A_JumpIfInventory(\"ConcreteVision\", 1, \"ConcreteReset\")\nPLY1 H 0 A_GiveInventory(\"ConcreteVision\", 1)\nPLY1 H 0 A_GiveInventory(\"ConcreteTime\", 105)\nPLY1 H 0 A_SpawnItemEx(\"ConcreteWatcher\")\ngoto Pain+1\nConcreteReset:\nPLY1 H 0 A_GiveInventory(\"ConcreteTime\", 105)\ngoto Pain+1\nPain.TornadoBlow:\nPLY1 H 0 ThrustThingZ(0, 60, 0, 0)\ngoto Pain+1\nPain.WilyFire:\nPLY1 H 0 A_SpawnItemEx(\"ImOnFire\")\nPLY1 H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\nPLY1 H 0\nPLY1 H 0 A_JumpIfInventory(\"BeatCallCheck\", 1, \"BeatAssist\")\nGoto Pain+1\nPain.TimeStopper:\nPLY1 H 0 A_GiveInventory(\"TimeStopActivator\", 1)\nGoto Pain+1\nBeatAssist:\nPLY1 H 0\nPLY1 H 0 HealThing(2)\nPLY1 H 0 ACS_ExecuteAlways(205, 0)\nGoto Pain+1\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Classes/ClassBase/classbase2.txt",
        "contents": "actor ClassBase2 : ClassBase1\n{\nStates\n{\n\nPain.RivalBall: //shotgun like shots, weaker knockback\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,5)\nGoto Pain+1\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Classes/ClassBase/classbase.txt",
        "contents": "actor ClassBase : ClassBase2 {}"
      },
      {
        "source": "pk3",
        "name": "Actors/Classes/ClassBase/classbase-flags.txt",
        "contents": "actor ClassDeathPickup : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 SetPlayerProperty(0, 0, 4)\nTNT1 A 0 A_TakeInventory(\"WeaponCharge\",999)\nTNT1 A 0 A_TakeInventory(\"ConcreteTime\", 999)\nTNT1 A 0 A_NoBlocking\nTNT1 A 0 A_GiveInventory(\"CutterFlag\",999)\nTNT1 A 0 A_GiveInventory(\"IsDead\",1)\nTNT1 A 0 A_Stop\nTNT1 A 0 A_GiveToTarget(\"KilledMeStock\",1)\nTNT1 A 0 A_GiveToTarget(\"KilledMe\",1)\nstop\n}\n}\n\nactor PainPower : Powerup\n{\npowerup.duration 3\n}\n\nactor GravityHoldPainPower : PainPower {}\nactor WilyIcePainPower : PainPower {}\n\nactor TypeDeathFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor ExplodeDeathFlag : TypeDeathFlag {}\nactor FallingDeathFlag : TypeDeathFlag {}\nactor RisingDeathFlag : TypeDeathFlag {}\nactor IceDeathFlag : TypeDeathFlag {}\n\nactor RiseMyMegamanFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 35\n}\n\nactor SelfTotallyFrozen : CustomInventory\n{\nStates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"SelfTotallyFrozenFlag\",1)\nTNT1 A 0 SetPlayerProperty(0,1,4)\nstop\n}\n}\n\nactor SelfTotallyFrozenFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor Unfreeze : CustomInventory\n{\nStates\n{\nPickup1:\nTNT1 A 0 A_JumpIfInventory(\"SelfTotallyFrozenFlag\",1,\"PickupNo\")\n//TNT1 A 0 A_JumpIfInventory(\"TimeStoppedTFFlag\",1,\"PickupNo\")\n//TNT1 A 0 A_JumpIfInventory(\"WilyIceTFFlag\",1,\"PickupNo\")\n//TNT1 A 0 A_JumpIfInventory(\"SelfStoppedTFFlag\",1,\"PickupNo\")\n//TNT1 A 0 A_JumpIfInventory(\"TimeStoppedCounter\",1,\"PickupNo\")\n//TNT1 A 0 A_TakeInventory(\"TotallyFrozenLook\",1)\nTNT1 A 0 SetPlayerProperty(0,0,4)\nstop\nPickupNo:\nTNT1 A 0\nstop\n}\n}\n\nactor SelfTotallyUnfrozen : Unfreeze\n{\nStates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"SelfTotallyFrozenFlag\",1)\ngoto Pickup1\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Classes/ClassBase/classbaseTID.txt",
        "contents": "//[+]========================================================================[+]\n//----------------------|Healing Related Actors|--------------------------------\n//[+]========================================================================[+]\nactor RegenStall : powerup {Inventory.amount 1 powerup.duration -4}\n\n//[+]========================================================================[+]\n//------------------------|Status Effect Actors|--------------------------------\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//------------------------|Miscellaneous Actors|--------------------------------\n//[+]========================================================================[+]\n\nactor ExplodeDeathFX  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 5\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/drillexplode\", \"Body\")\nTNT1 AAAAA 2 A_SpawnitemEX(\"ExplodeDeathFX1\",Random(-80,80),Random(-80,80),Random(0,40))\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor ExplodeDeathFX1  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 2\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\nTCEX A 0\nTCEX ABCDEF 1\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor NGS_DeathEffectActor\n{\n-SOLID\n+NOGRAVITY\n+NOINTERACTION\nScale 8\nRENDERSTYLE \"add\"\nStates\n{\nSpawn:\nASEX A 0\nSPKH D 1\nASEX A 0 A_SpawnItemEx(\"NGS_DeathFX1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nASEX A 0 A_PlaysoundEX(\"misc/DeathSound\",\"soundslot6\")\nCENF AAAAAAAAAAAA 0 A_SpawnItemEx(\"NGS_DeathFX3\", 0, 0, 0, 256/12, 256/12, random2(256/12), random(0, 359),SXF_TRANSFERTRANSLATION)\nCENF AAAAAAAAAAAA 0 A_SpawnItemEx(\"NGS_DeathFX2\", 0, 0, 0, 256/24, 256/24, random2(256/24), random(0, 359),SXF_TRANSFERTRANSLATION)\nSPKH D 0 A_Fadeout(0.5)\nSPKH D 1 A_setscale(ScaleX + 2.0)\nTNT1 A 17\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor NGS_DeathFX1  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\n+NOINTERACTION\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 1.0\nRENDERSTYLE \"add\"\n\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\nTCEX A 0\nTCEX BBCCDD 1 A_setscale(ScaleX + 0.4)\nTCEX E 1 A_setscale(ScaleX + 0.4)\nTCEX E 0 A_Fadeout\nTCEX E 1 A_setscale(ScaleX + 0.4)\nTCEX E 0 A_Fadeout\nTCEX E 1 A_setscale(ScaleX + 0.4)\nTCEX E 0 A_Fadeout\nTCEX E 1 A_setscale(ScaleX + 0.4)\nTCEX E 0 A_Fadeout\nTCEX F 1 A_setscale(ScaleX + 0.4)\nTCEX E 0 A_Fadeout\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor NGS_DeathFX2 : NGS_DeathFX1\n{\nRENDERSTYLE \"add\"\nscale 1.5\nSpeed 20\nreactiontime 10\nStates\n{\nSpawn:\nNDFX A 0\nNDFX A 0 A_SetScale(Frandom(1.0,2.0))\nNDFX BCDE 1 A_ScaleVelocity(0.8)\nSpawn2:\nNDFX BCDE 1\nNDFX A 0 A_CountDown\nNDFX A 0 A_Jumpif(reactiontime >= 5, \"Spawn2\")\nTCEX E 0 A_Fadeout(0.1)\nloop\n}\n}\n\nactor NGS_DeathFX3 : Fastprojectile  //These are decorative.\n{\nPROJECTILE\nRENDERSTYLE \"add\"\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 1\nmissiletype \"NGS_DeathFX3Trail\"\nMissileheight 8\nStates\n{\nSpawn:\nMMFX A 0\nCFL5 AB 1\nCFL5 AABB 1  A_SetScale(0.3)\nCFL5 CD 2\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor NGS_DeathFX3Trail : FXActor_B\n{\nscale 1\nheight 0\nradius 0\nStates\n{\nSpawn:\nTNT1 A 0\nCFL5 CD 1\nstop\n}\n}\n//===\nactor KilledMeflag : KilledMe Replaces KilledMe\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nTNT1 A 1 ACS_ExecuteAlways(203,0)\nTNT1 A 1 A_GiveInventory(\"GotKill\")\nstop\n}\n}\n\nactor GotKill : Powerup\n{\ninventory.amount 1\nPowerup.Duration 10\n}\n\nactor IceDeathStatueFX1  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 2\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\n\"----\" H 100\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor HitSoundMaker : CustomInventory  //stops the jump\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 ACS_NamedExecuteAlways(\"HitSound\",0)\nTNT1 A 0\nstop\n}\n}\n\n/*\nactor HitSound : CustomInventory  //stops the jump\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_jumpifInventory(\"BaseArmorItem\",1,\"ArmorHit\")\nTNT1 A 0 A_Pain\nstop\nArmorHit:\nTNT1 A 0 A_PlaySoundEx(\"body/ArmorPain\", \"Body\")\nCENF AAAAA 0 A_SpawnItemEx(\"ArmorHitParticle\", 0, 0, 28, 256/24, 256/24, random2(256/24), random(0, 359))\n\nstop\n}\n}\n\nactor ArmorHitParticle  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n-NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 2\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\nHARD BCDE 2\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n*/\n\nactor DeathFX1N : DeathFX1 replaces DeathFX1\n{\nheight 1\nradius 1\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\n+DONTBLAST\nscale 2.5\nPROJECTILE\nSpeed 15\nreactiontime 3\nStates\n{\nSpawn:\nMMFX BCDE 2\nMMFX A 0 A_CountDown\nloop\n}\n}\n\nactor DeathFX2N : DeathFX1N replaces DeathFX2\n{\nspeed 5\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Classes/ClassBase/(OLD)ClassBase.txt",
        "contents": "Actor CoronditeBase : playerpawn\n{\n+NOBLOOD\n+NOBLOODDECALS\n+NODAMAGETHRUST\n//+DONTBLAST\n+QUICKTORETALIATE\n+DONTHARMSPECIES\n+THRUSPECIES\n//+NOSKIN\nBloodType \"\"\n//height 58\n//radius 25\nPlayer.DisplayName \"megaman\"\nPlayer.SoundClass \"megaman\"\nPlayer.DamageScreenColor \"yellow\"\nPlayer.JumpZ 10\nPlayer.ForwardMove 1.0, 1.0\nPlayer.SideMove 1.0, 1.0\nplayer.colorrange 0 0\nHealth 500\nPlayer.MaxHealth 500\nMass 999999\nDamageFactor \"Normal\", 1.0\nDamageFactor \"Falling\", 10.0\nGravity 0.8\nScale 2.5\nPlayer.MaxSkinSizeFactor 0, 0 //Fixes downsizing\n\n//=====\nPlayer.StartItem \"HealthNumber\"\nPlayer.StartItem \"ReloadItem\"\n\n//=====\nVar int User_STargTID;\nVar int User_angleDistRegister;\nVar int User_STargRange;\n\nStates\n{\nSpawn:\n\"----\" A 0\n\"----\" B 1\n\"----\" A 1\ngoto Spawn+2\nSee:\n\"----\" BCDE 5\ngoto Spawn+1\nMissile:\n\"----\" F 5\n\"----\" G 4\ngoto Spawn+2\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.WaveBurner:\nPain.WaveBurnerUW:\nPain.Misc:\nPain.Treble:\nPain.FlameSwordSpark:\nPain.FireSpin:\nPain.DragonType:\nPain.IceType:\nPain.FireType:\nPain.SteelType:\nPain.HolyType:\nPain.FightingType:\nPain.FireSpinN:\nPain.HolyType2:\nPain.ENormalType:\n\"----\" H 0\ngoto Pain+3\nPain.Bright:\n\"----\" H 0\n\"----\" H 0 A_ScaleVelocity(0.65)\n\"----\" H 0 A_Jump(256, \"Pain\")\ngoto Pain+3\nPain.Wind:\n\"----\" H 0\n\"----\" H 0 ThrustThing(random(0,255),35,1,0)\n\"----\" H 0 ThrustThingZ(0,100,0,0)\ngoto Pain+3\nPain.Gravity:\n\"----\" H 0\n\"----\" H 0 ThrustThing(random(0,255),50,1,0)\n\"----\" H 0 ThrustThingZ(0,60,0,0)\ngoto Pain+3\nPain.WaterBalloon:\nPain.FlashBomb:\nPain.RemoteMine:\nPain.IceWall:\n\"----\" H 0 A_ScaleVelocity(0.9)\nGoto Pain+3\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+3\nPain.FlameSword:\n\"----\" H 0 //A_GiveInventory(\"FlameSwordProtectTM\", 1)\n\"----\" HH 0 A_SpawnItemEx(\"ScorchBit\",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))\nGoto Pain\nPain.WindStorm:\nPain.FlingDamage:\n\"----\" H 0\n\"----\" H 0 ThrustThing(random(0,255),30,0,0)\n\"----\" H 0 ThrustThingZ(0,30,0,0)\nGoto Pain+3\n//-----Ehibika-----\n/*\nPain.LooseCannon:\nPain.LooseCannonRED:\n\"----\" H 0\n\"----\" H 0 A_GiveInventory(\"ShortInvulnerabilityFrames\",1)\n\"----\" H 0 A_PlaySoundEx(\"weapon/coilbounce2\",\"SoundSlot5\")\n\"----\" H 0 A_GiveInventory(\"DoubleDonkable\")\n\"----\" H 0 A_SpawnItemEX(\"DonkWatcher\",1)\n\"----\" H 0 ThrustThing(random(0,255),10,1,0)\n\"----\" H 0 ThrustThingZ(0,20,0,1)\nGoto Pain+3\nPain.LooseCannonExpl:\nPain.LooseCannonExplRED:\n\"----\" H 0\n\"----\" H 0 A_Jumpifinventory(\"DoubleDonkable\",1,1)\nGoto Pain+3\n\"----\" H 0 A_SpawnitemEx(\"DoubleDonkIcon\",0,0,130,0,0,2)\n\"----\" H 0 ThrustThing(random(0,255),20,1,0)\n\"----\" H 0 ThrustThingZ(0,20,0,0)\n\"----\" H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")  //got double donked!\nGoto Pain+3\n*/\n//-----Ehibika-----\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+3\n\"----\" H 0 A_GiveInventory(\"BrightBlind\",55)\nGoto Pain+3\nPain.TimeSlow:\n\"----\" H 0\n\"----\" H 0 A_GiveInventory(\"Slowed\",1)\n\"----\" H 0\nGoto Pain+3\nPain.SparkShock:\n\"----\" H 0\n\"----\" H 0 A_SpawnItemEx(\"ShockFX\",4,0,32)\n\"----\" H 0 A_GiveInventory(\"Shocked\",1)\n\"----\" H 0\nGoto Pain+3\nPain.CrashBomb:\n\"----\" H 0\n\"----\" H 0 A_Stop\n\"----\" H 0\nGoto Pain+3\nPain.GravityHold:\n\"----\" H 0\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+3\nPain.WilyFire:\n\"----\" H 0 //A_ChangeFlag(\"SHOOTABLE\",0)\n\"----\" H 0 A_SpawnItemEx(\"ImOnFire\")\n\"----\" H 0 A_GiveInventory(\"FireVision\",1)\nGoto Pain\nPain.WilyIce:\n\"----\" H 0 A_ChangeFlag(\"SHOOTABLE\",0)\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 A_ChangeFlag(\"SHOOTABLE\",1)\n\"----\" H 0 SetPlayerProperty(0,0,0)\n\"----\" H 0 A_TakeInventory(\"IceVision\",1)\n\"----\" H 0\nGoto Spawn+2\nPain.MagnetMissile:\nPain.DiveMissile:\nPain.HomingSniper:\n\"----\" H 0\n\"----\" H 0\nGoto Pain+3\n//---->Status Effect Pain States Start<----\nPain.Poisonous:\n\"----\" H 0 //A_Jump(192,\"Pain\")\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,15)\n\"----\" H 0 A_jumpifinventory(\"PoisonProof\",1,5)\n\"----\" H 0 A_jumpifinventory(\"TempPoisonProof\",1,4)\n\"----\" H 0 A_jumpifinventory(\"PoisonMark\",1,3)\n\"----\" H 0 A_SpawnItemEX(\"PoisonWatcher\",1)\n\"----\" H 0 A_Playsoundex(\"support/Negative\",\"Soundslot7\")\n\"----\" H 0 A_Giveinventory(\"PoisonMark\")\n\"----\" H 0\n\"----\" H 0\nGoto Pain+1\nPain.Stinger:\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,1)\n\"----\" H 0 A_GiveInventory(\"PoisonCritCheck\",1)\n\"----\" H 0 A_jumpifinventory(\"PoisonProof\",1,9)\n\"----\" H 0 A_jumpifinventory(\"TempPoisonProof\",1,8)\n\"----\" H 0 A_jumpifinventory(\"PoisonMark\",1,7)\n\"----\" H 0 A_jumpifinventory(\"StingBuffer\",1,2)\n\"----\" H 0 A_SpawnItemEX(\"StingWatcher\",1)\n\"----\" H 0\n\"----\" H 0 A_Giveinventory(\"StingCount\")\n\"----\" H 0 A_Giveinventory(\"StingBuffer\")\n\"----\" H 0 A_jumpifinventory(\"StingCount\",3,\"StingerPoison\")\n\"----\" H 0\nGoto Pain+1\nStingerPoison:\n\"----\" H 0 A_SpawnItemEX(\"PoisonWatcher\",1)\n\"----\" H 0 A_Playsoundex(\"support/Negative\",\"Soundslot7\")\n\"----\" H 0 A_Giveinventory(\"PoisonMark\")\nGoto Pain+1\n\nPain.Burner:\nPain.Incendiary:\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,2)\n\"----\" H 0 //A_Jump(192,\"Pain\")\n\"----\" H 0 A_jumpifinventory(\"FireProof\",1,5)\n\"----\" H 0 A_jumpifinventory(\"TempFireProof\",1,4)\n\"----\" H 0 A_jumpifinventory(\"BurnMark\",1,2)\n\"----\" H 0 A_SpawnItemEX(\"BurnWatcher\",1)\n\"----\" H 0 A_Giveinventory(\"BurnMark\")\n\"----\" H 0\n\"----\" H 0 //A_GiveInventory(\"BurnerhitDelay\",1)\n\"----\" H 0\nGoto Pain+1\nPain.HotShot:\n\"----\" H 0 A_GiveInventory(\"PoisonCritCheck\",1)\n\"----\" H 0 A_jumpifinventory(\"FireProof\",1,9)\n\"----\" H 0 A_jumpifinventory(\"TempFireProof\",1,8)\n\"----\" H 0 A_jumpifinventory(\"BurnMark\",1,7)\n\"----\" H 0 A_jumpifinventory(\"ScorchBuffer\",1,2)\n\"----\" H 0 A_SpawnItemEX(\"ScorchWatcher\",1)\n\"----\" H 0\n\"----\" H 0 A_Giveinventory(\"ScorchCount\")\n\"----\" H 0 A_Giveinventory(\"ScorchBuffer\")\n\"----\" H 0 A_jumpifinventory(\"ScorchCount\",3,\"HotShotBurn\")\n\"----\" H 0\n\"----\" H 0 A_jumpifinventory(\"BurnMark\",1,2) //reapply burn if you have it already\nGoto Pain+1\n\"----\" H 0\n\"----\" H 0 A_Giveinventory(\"BurnMark\")\nGoto Pain+1\n\nHotShotBurn:\n\"----\" H 0 A_SpawnItemEX(\"BurnWatcher\",1)\n\"----\" H 0 A_Giveinventory(\"BurnMark\")\nGoto Pain+1\n\npain.HeatRay:\n\"----\" H 0 A_GiveInventory(\"FireCritCheck\",1)\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,6)\n\"----\" H 0 A_jumpifinventory(\"FireProof\",1,5)\n\"----\" H 0 A_jumpifinventory(\"TempFireProof\",1,4)\n\"----\" H 0 A_jumpifinventory(\"BurnMark\",1,2)\n\"----\" H 0 A_SpawnItemEX(\"BurnWatcher\",1)\n\"----\" H 0 A_Giveinventory(\"BurnMark\")\n\"----\" H 0\n\"----\" H 0 //A_GiveInventory(\"BurnerhitDelay\",1)\n\"----\" H 0\nGoto Pain+1\n\nPain.Freezer2:\n\"----\" H 0 A_jumpifinventory(\"TempFreezeProof\",1,\"NoFreeze\")\n\"----\" H 0 SetPlayerProperty(0,1,4)\n\"----\" H 0 Thing_SetTranslation(0, 105)\n\"----\" H 0 A_SpawnItemEx(\"FreezeHandler\")\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 ACS_ExecuteAlways(998,0,1)\n\"----\" H 0 A_TakeInventory(\"IceVision\",1)\n\"----\" H 0 A_Giveinventory(\"TempFreezeProof\")\nGoto Spawn+2\nNoFreeze:\n\"----\" H 0\nPain.Freezer1:\n\"----\" H 0 //A_Jump(192,\"Pain\")\n\"----\" H 0 A_jumpifinventory(\"ChillProof\",1,5)\n\"----\" H 0 A_jumpifinventory(\"TempChillProof\",1,4)\n\"----\" H 0 A_jumpifinventory(\"ChilledMark\",1,2)\n\"----\" H 0 A_SpawnItemEX(\"ChillWatcher\",1)\n\"----\" H 0 A_Giveinventory(\"ChilledMark\")\n\"----\" H 0\n\"----\" H 0 //A_GiveInventory(\"BurnerhitDelay\",1)\n\"----\" H 0\nGoto Pain+1\n\nPain.Crisperizer:\n\"----\" H 0 A_GiveInventory(\"FireCritCheck\",1)\n\"----\" H 0\nGoto Pain+1\n\nPain.Tackle:\n\"----\" H 0 //A_GiveInventory(\"TackleHitDelay\",1)\n\"----\" H 0 ThrustThing(random(0,255),30,0,0)\n\"----\" H 0 ThrustThingZ(0,30,0,0)\n\"----\" H 0\nGoto Pain+1\n\nPain.ShieldWave:\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,15)\n\"----\" H 0 ThrustThingZ(0,40,0,0)\n\"----\" H 0\nGoto Pain+3\n\n//---->Status Effect Pain States End<----\nPain.SingleShot: // regular shots\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,8)\nGoto Pain+1\npain.VoltSpear:\nPain.SingleShot2: // rapid shot\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,1)\nGoto Pain+1\nPain.Sniper:\nPain.SingleShot3: //Hard single shots\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,15)\nGoto Pain+1\nPain.SpreadShot: //shotgun like shots\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,2)\nGoto Pain+1\nPain.SpreadShot2: //shotgun like shots, weaker knockback\n\"----\" H 0 ACS_NamedExecuteAlways(\"HitKnockBack\",0,1)\nGoto Pain+1\n\nPain.Drowning:\nPain.Fire:\nPain.Falling:\nPain.Slime:\n\"----\" H 0\n\"----\" H 0 A_JumpIfInventory(\"BeatCallCheck\", 1, \"BeatAssist\")\nGoto Pain+3\nBeatAssist:\n\"----\" H 0\n\"----\" H 0 HealThing(2)\n\"----\" H 0 ACS_ExecuteAlways(205,0)\nGoto Pain+3\nPain:\n\"----\" H 0\n\"----\" H 0//A_Recoil(1)\n\"----\" H 0 //ThrustThingZ(0,30,0,0)\n\"----\" H 0\n\"----\" H 0 A_GiveInventory(\"HitSound\")//A_Pain\n\"----\" H 0 A_GiveInventory(\"CritCheck\")\n\t\"----\" H 0 A_GiveInventory(\"SnackingHitCheck\")\n\t\"----\" H 0 A_GiveInventory(\"HealStall_A\",1)\n\t\"----\" H 0 A_GiveInventory(\"HealStall_B\",1)\n\"----\" H 0 //A_JumpIfInventory(\"IveBeenHit\", 1, 2)\n\"----\" H 0 //A_GiveInventory(\"IveBeenHit\",1)\n\"----\" H 0\n\"----\" H 0 A_Jump(256,\"PainFix\")\ngoto PainFix\nPainFix:\n\"----\" H 0\ngoto PainFrames\nPainFrames:\n\"----\" H 0 //SetPlayerProperty(0,0,4)\n\"----\" HHHHHHHHH 2 A_SpawnItem(\"PainFX\",0,3)\n\"----\" H 0 //SetPlayerProperty(0,0,1)\n\"----\" H 0 A_ChangeFlag(\"ACTIVATEMCROSS\",0)\n\"----\" H 0 //SetPlayerProperty(0,0,4)\n\"----\" H 0 A_Jump(256,\"Spawn\")\ngoto Spawn+2\nDeath.FireSpinN:\nDeath.ETopSpin:\nDeath.TopSpin:\n\"----\" H 0\n\"----\" H 0 //A_GiveInventory(\"StaticBoardDeathFX\")\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\n\"----\" H 1 A_GiveToTarget(\"KilledMe\",1)\n\"----\" H 19 ACS_ExecuteAlways(999,0,0)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_PlayerScream\n\"----\" H 0 A_PlaySoundEx(\"weapon/topspinwav\",\"SoundSlot5\")\n\"----\" HHHHHHHHHH 7 A_SetAngle(angle-72)\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\n\"----\" Z 0 //A_TakeInventory(\"OnBoard\",999)\n\"----\" Z 1 A_CheckPlayerDone\nwait\n//===\nDeath.WindStorm:\nDeath.GravityHold:\n\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_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 ACS_ExecuteAlways(999,0,0)\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 2 //A_GiveInventory(\"IveBeenHit\",1)\n\"----\" Z 1 A_CheckPlayerDone\nwait\nDeath.HyperBomb:\nDeath.SuperBomb:\nDeath.SuperBombRED:\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_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 ACS_ExecuteAlways(999,0,0)\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\nDeathLaunch:\n\"----\" H 1 ThrustThingZ(0,100,0,1)\nDeathFall:\n\"----\" H 1 ThrustThingZ(0,-10,0,1)\n\"----\" H 1 A_JumpIf(z-floorz<=0, \"ExplodeNow\")\n\"----\" H 0 A_GiveInventory(\"Cutterflag\", 1)\n\"----\" H 0 A_JumpIfInventory(\"CutterFlag\", 35, \"ExplodeNow\")\ngoto DeathFall\n\nDeath.Crisperizer:\nDeath.HeatRay:\n\"----\" H 0 A_GiveInventory(\"FireCritCheck\",1)\nGoto Death\nDeath:\n\"----\" H 0\n\"----\" H 1\n\"----\" H 0 //A_GiveInventory(\"IveBeenHit\",1)\n\"----\" H 0 A_GiveInventory(\"CritCheck\")\n\"----\" H 0 //A_GiveInventory(\"StaticBoardDeathFX\")\n//\"----\" H 1 A_KillChildren(KILS_KILLMISSILES)\n//\"----\" H 0 A_RemoveChildren(True)\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\"----\" H 0 A_Stop\n\"----\" H 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" H 1 A_GiveToTarget(\"KilledMe\",1)\n\"----\" Z 0 A_GiveToTarget(\"GotKill\",1)\n\"----\" H 1 ACS_ExecuteAlways(999,0,0) //19\n\"----\" H 0 SetPlayerProperty(0, 0, 4)\n\"----\" H 0 A_PlayerScream\n\"----\" H 0 A_SpawnItemEx(\"FakeDeathFX\", 0, 0, 32)\nPLAY Z 1 A_CheckPlayerDone\nwait\nDeath.Falling:\n\"----\" H 1\n\"----\" H 0 //A_GiveInventory(\"IveBeenHit\",1)\n//\"----\" H 1 A_KillChildren(KILS_KILLMISSILES)\n//\"----\" H 0 A_RemoveChildren(True)\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\"----\" H 0 //A_GiveInventory(\"StaticBoardDeathFX\")\n\"----\" Z 1 A_PlayerScream\n\"----\" Z 1 A_Stop\n\"----\" Z 0 //A_TakeInventory(\"OnBoard\",999)\n\"----\" Z 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" Z 0 A_GiveToTarget(\"KilledMe\",1)\n\"----\" Z 0 A_GiveToTarget(\"GotKill\",1)\n\"----\" Z 1 ACS_ExecuteAlways(999,0,0)\nPLAY Z 1 A_CheckPlayerDone\nwait\n/*\nDeath.LooseCannonExpl:\nDeath.LooseCannonExplRED:\n\"----\" H 0\n\"----\" H 1 A_Jumpifinventory(\"DonkCheck\",1,1)\nGoto Death.Explosion//\"----\" H 0 //A_Jump (256, \"Death.Explosion\")  //Gotta do this instead of [Goto Death], won't look right otherwise\n\"----\" H 0 A_SpawnitemEx(\"DoubleDonkIcon\",0,0,10,0,0,2)\n\"----\" H 0 A_PlaySoundEx(\"weapon/slashclawhit\",\"SoundSlot5\")  //got double donked to Death!\n*/\nDeath.SteamMissile:  //Death VIA Explosives\nDeath.SteamMissileRED:\nDeath.SuperNapalm:\nDeath.SuperNapalmRED:\nDeath.TorsoMissile:\nDeath.TorsoMissileRED:\nDeath.PosieMissile:\nDeath.PosieMissileRED:\nDeath.Explosion:\nDeath.ExplosionRED:\n\"----\" H 1\n\"----\" H 0 //A_GiveInventory(\"IveBeenHit\",1)\n\"----\" H 1 A_KillChildren(KILS_KILLMISSILES)\n\"----\" H 0 A_RemoveChildren(True)\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\"----\" H 0 //A_GiveInventory(\"StaticBoardDeathFX\")\n\"----\" Z 1 //A_PlayerScream\n\"----\" Z 0 A_GiveInventory(\"CritCheck\")\n\"----\" Z 1 A_SpawnItemEx(\"ExplodeDeathFX\", 0, 0, 32)\n\"----\" Z 1 A_Stop\n\"----\" Z 0 //A_TakeInventory(\"OnBoard\",999)\n\"----\" Z 0 A_GiveToTarget(\"KilledMeStock\",1)\n\"----\" Z 0 A_GiveToTarget(\"GotKill\",1)\n\"----\" Z 0 A_GiveToTarget(\"KilledMe\",1)\n\"----\" Z 2 ACS_ExecuteAlways(999,0,0)\nPLAY Z 1 A_CheckPlayerDone\nwait\n\nDeath.Freezer1:  //Death VIA Backstab\nDeath.Freezer2:\nIce:\n\"----\" H 1 A_KillChildren(KILS_KILLMISSILES)\n\"----\" H 0 A_RemoveChildren(True)\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\"----\" Z 0 A_GiveToTarget(\"GotKill\",1)\n//\"----\" H 1 A_PlayerScream\n\"----\" H 0 Thing_SetTranslation(0, 105)//ACS_ExecuteAlways(998,0,105,1)\n\"----\" H 0 A_NoBlocking\n//\"----\" H 0 Thing_SetTranslation(17, 4)\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 Thing_SetTranslation(0, 105)\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 Thing_SetTranslation(0, 105)\n\"----\" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 Thing_SetTranslation(0, 105)\n//\"----\" H 0 A_SpawnItemEx(\"IceDeathStatueFX1\", 0, 0, 0,0,0,0,0,0)\nPLAY Z 1 A_CheckPlayerDone\nwait\n/*\nEnkerRaise:\n\"----\" Y 1\nLoop\nEnkerAbsorb:\n\"----\" Y 0 A_PlaySound(\"weapon/mirrorabsorb\")\n\"----\" Y 0 A_GiveInventory(\"EnkerMirrorCount\",1)\ngoto EnkerAbsorb3\nEnkerAbsorb3:\n\"----\" Y 3 ACS_ExecuteAlways(998,0,65)\n\"----\" Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb2\")\ngoto Spawn\nEnkerAbsorb2:\n\"----\" Y 3 ACS_ExecuteAlways(998,0,66)\n\"----\" Y 0 A_JumpIfInventory(\"EnkerMirrorCount\",1,\"EnkerAbsorb3\")\ngoto Spawn\n*/\nTheEnd:\n\"----\" G 4\nloop\nCreditWalk:\n\"----\" BCDE 8\nloop\nCreditRun:\n\"----\" BCDE 5\nloop\n}\n}\n\n//[+]========================================================================[+]\n//------------------------------|Class Actors|--------------------------------\n//[+]========================================================================[+]\n//\n//[+]========================================================================[+]\n//[+]========================================================================[+]\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//----------------------|Healing Related Actors|--------------------------------\n//[+]========================================================================[+]\nactor HealStall_A : powerup {Inventory.amount 1 powerup.duration -7}\nactor HealStall_B : powerup {Inventory.amount 1 powerup.duration -2}\n\nactor DetoxLevel : inventory {Inventory.amount 1 Inventory.Maxamount 100}\n\n//[+]========================================================================[+]\n//------------------------|Status Effect Actors|--------------------------------\n//[+]========================================================================[+]\n\n//[+]=========================[+]\n//----------|Poison|-------------\n//[+]=========================[+]\nactor PoisonWatcher //: CustomInventory\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\nReactiontime 5\nObituary \"%o succumed to %k's Burning\"\nvar int user_OwnerTID;\nvar int user_LoopCount;\nvar int user_TickDamage;\nStates\n{\nSpawn:\nTNT1 A 0\n// Sow e start by making this actor immediately set it's master to the spawner's target (last person to damage them)\n// and then we set them to our tracer pointer.\nTNT1 A 0 A_GiveToTarget(\"PoisonCritAble\",1)\nLASH A 0 A_Setuservar(\"user_OwnerTID\",ACS_ExecuteWithResult(257,0))\nLASH A 0 A_Setuservar(\"user_TickDamage\",4) //ACS_ExecuteWithResult(GetTargValueHPPerc,6)\nLASH A 0 A_TransferPointer(AAPTR_TARGET,AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_MASTER,PTROP_NOSAFEGUARDS)\nLASH A 0 A_ReArrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_TARGET)\nSpawn2:\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\nTNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\n//TNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\nTNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\n//TNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\nTNT1 A 0 A_GiveToTarget(\"PoisonedEffect\",1)\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempPoisonProof\",1,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"DetoxLevel\",100,\"Detox\")\n\nTNT1 A 0 A_SetuserVar(\"user_LoopCount\", user_LoopCount+1)\nTNT1 A 0 A_Jumpif( user_LoopCount <= 7,\"Spawn2\")\nTNT1 A 0 A_SetuserVar(\"user_LoopCount\", 0)\nTNT1 A 0 A_JumpIfInTargetInventory(\"ProtectorFlag\",1,5)\n\n// when we deal tick damage, we set the target to our master (the person responsible for inflicting the dot) and use this script\n// to make them deal tick damage to the victim directly.\nLASH A 0 A_ReArrangePointers(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_DEFAULT)\nLASH A 0  ACS_NamedExecuteAlways(\"DotDamager\", 0,user_TickDamage,user_OwnerTID) //DOT Script\nLASH A 1 // this delay is important, otherwise it becomes a suicide\nLASH A 0 A_ReArrangePointers(AAPTR_TRACER,AAPTR_DEFAULT,AAPTR_DEFAULT)\n//now we set the target back to the spawner to keep the burn effect on them.\n//TNT1 A 0 A_GiveToTarget(\"BurnedDamage\",1)\nLASH A 0\n\nTNT1 A 1 A_JumpIfInTargetInventory(\"PoisonMark\",1,\"Spawn2\")\nstop\nDetox:\nTNT1 A 1 A_GiveToTarget(\"DetoxCureEffect\",1)\nDeath:\nDeathTake:\nTNT1 A 0\nTNT1 A 1 A_TakefromTarget(\"PoisonMark\",999)\nTNT1 A 1 A_TakefromTarget(\"PoisonCritAble\",999)\nTNT1 A 1 A_TakefromTarget(\"DetoxLevel\",999)\nstop\n}\n}\n\nactor StatusNummer : PowerProtection // for DOTs\n{\ninventory.amount 1\ninventory.maxamount 1\n+NOPAIN\nPowerup.Duration 1\n}\n\nactor PoisonedFX1  //These are decorative.\n{\nPROJECTILE\n+NOINTERACTION\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 0.7\nRenderStyle \"Translucent\"\nAlpha 0.9\nStates\n{\nSpawn:\nWAVB GGGGG 2\nWAVB H 3 A_Stop\nstop\n}\n}\n\nactor PoisonedEffect : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 //SetPlayerProperty(0,1,4)\nTNT1 A 0 A_SpawnItemEx(\"PoisonedFX1\",random(-24,24),random(-32,32),random(30,34),0,0,Random(1,4))\nTNT1 A 0 //SetPlayerProperty(0,1,4)\nstop\n}\n}\n\nactor PoisonMark : PowerProtection\n{\npowerup.duration -15\nDamageFactor \"Stinger\" , 3.0\nPowerup.Color Green, 0.15\n}\n\nactor PoisonStackDelay : powerup\n{powerup.duration 5}\n\nactor DetoxFX1 : FXActor_A\n{\nTranslation \"4:4=106:106\", \"196:196=112:112\"\nreactiontime 1\nscale 1.5\nAlpha 0.8\nStates\n{\nSpawn:\nTNT1 A 0\nICMS ABCDDDEEF 2\nstop\n}\n}\n\nactor DetoxFX2 : DetoxFX1\n{\nTranslation \"4:4=137:137\", \"196:196=105:105\"\n}\n\nactor DetoxFX3 : DetoxFX1\n{\nTranslation \"4:4=96:96\", \"196:196=203:203\"\n}\n\nactor DetoxEfectSpawn : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBUST C 0 A_Jumpifinventory(\"DetoxLevel\",66,\"Effect3\")\nBUST C 0 A_Jumpifinventory(\"DetoxLevel\",33,\"Effect2\")\nTNT1 AA 1 A_SpawnItemEx(\"DetoxFX1\",random(-24,24),random(-32,32),random(40,44),0,0,Random(1,3))\nstop\nEffect2:\nTNT1 AA 1 A_SpawnItemEx(\"DetoxFX2\",random(-24,24),random(-32,32),random(40,44),0,0,Random(1,3))\nTNT1 A 0\nstop\nEffect3:\nTNT1 AA 1 A_SpawnItemEx(\"DetoxFX3\",random(-24,24),random(-32,32),random(40,44),0,0,Random(1,3))\nTNT1 A 0\nstop\n}\n}\n\nactor DetoxCureEffect : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBUST C 0\nTNT1 A 0 A_PlaySoundEx(\"Support/Heal1\", \"SoundSlot5\",0)\nCENF AAAA 0 A_SpawnItemEx(\"CentaurFlashFX\", 0, 0, 28, 256/32, 256/32, random2(256/32), random(0, 359))\nCENF AAAA 0 A_SpawnItemEx(\"DetoxFX3\", 0, 0, 28, 256/32, 256/32, random2(256/32), random(0, 359))\nTNT1 A 0\nstop\n}\n}\n//[+]=========================[+]\n//--------|Burning|------------\n//[+]=========================[+]\nactor BurnWatcher //: CustomInventory\n{\n+MISSILE\n+RIPPER\n+NOGRAVITY\n+NOINTERACTION\nReactiontime 5\nObituary \"%o succumed to %k's Burning\"\nvar int user_OwnerTID;\nvar int user_TickDamage;\nvar int user_LoopCount;\nStates\n{\nSpawn:\nTNT1 A 0\n// Sow e start by making this actor immediately set it's master to the spawner's target (last person to damage them)\n// and then we set them to our tracer pointer.\nTNT1 A 0 A_GiveToTarget(\"FireCritAble\",1)\nLASH A 0 A_Setuservar(\"user_OwnerTID\",ACS_ExecuteWithResult(257,0))\nLASH A 0 A_TransferPointer(AAPTR_TARGET,AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_MASTER,PTROP_NOSAFEGUARDS)\nLASH A 0 A_ReArrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_TARGET)\nSpawn2:\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\nTNT1 A 0 A_GiveToTarget(\"BurnedEffect\",1)\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\nTNT1 A 0 A_GiveToTarget(\"BurnedEffect\",1)\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\nTNT1 A 0 A_GiveToTarget(\"BurnedEffect\",1)\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\nTNT1 A 0 A_GiveToTarget(\"BurnedEffect\",1)\nTNT1 A 1 A_JumpIfInTargetInventory(\"CutterFlag\",999,\"DeathTake\")\nTNT1 A 0 A_JumpIfInTargetInventory(\"TempFireProof\",1,\"DeathTake\")\n\nTNT1 A 0 A_SetuserVar(\"user_LoopCount\", user_LoopCount+1)\nTNT1 A 0 A_Jumpif( user_LoopCount <= 2,\"Spawn2\")\nTNT1 A 0 A_SetuserVar(\"user_LoopCount\", 0)\n\nTNT1 A 0 A_JumpIfInTargetInventory(\"ProtectorFlag\",1,5)\n\n// when we deal tick damage, we set the target to our master (the person responsible for inflicting the dot) and use this script\n// to make them deal tick damage to the victim directly.\nLASH A 0 A_ReArrangePointers(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_DEFAULT)\nLASH A 0  ACS_NamedExecuteAlways(\"DotDamager\", 0,3,user_OwnerTID) //DOT Script\nLASH A 1 // this delay is important, otherwise it becomes a suicide\nLASH A 0 A_ReArrangePointers(AAPTR_TRACER,AAPTR_DEFAULT,AAPTR_DEFAULT)\n//now we set the target back to the spawner to keep the burn effect on them.\n//TNT1 A 0 A_GiveToTarget(\"BurnedDamage\",1)\nLASH A 0\nTNT1 A 1 A_JumpIfInTargetInventory(\"BurnMark\",1,\"Spawn2\")\nTNT1 A 1 A_TakefromTarget(\"FireCritAble\",999)\nstop\nDeath:\nDeathTake:\nTNT1 A 0\nTNT1 A 1 A_TakefromTarget(\"BurnMark\",999)\nTNT1 A 1 A_TakefromTarget(\"FireCritAble\",999)\nstop\n}\n}\n\nactor BurnedEffect : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 //SetPlayerProperty(0,1,4)\nTNT1 A 0 A_SpawnItemEx(\"BurnedFX1\",random(-24,24),random(-32,32),random(1,32))\nTNT1 A 0 //SetPlayerProperty(0,1,4)\nstop\n}\n}\n\nactor BurnMark : PowerProtection\n{\npowerup.duration 80\nDamagefactor \"Crisperizer\" , 3.0\nDamagefactor \"HeatRay\" , 3.0\n\nPowerup.Color Red, 0.15\n}\n\nactor BurnStackDelay : powerup\n{powerup.duration 5}\n\nactor BurnedFX1  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 1\nRenderStyle \"Add\"\nAlpha 0.5\nStates\n{\nSpawn:\nBRNF AABBCCDDEEFGH 1\nDeath:\nTNT1 A 1\nstop\n}\n}\n//[+]========================================================================[+]\n//------------------------|Miscellaneous Actors|--------------------------------\n//[+]========================================================================[+]\n\nactor ExplodeDeathFX  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 5\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/drillexplode\", \"Body\")\nTNT1 AAAAA 2 A_SpawnitemEX(\"ExplodeDeathFX1\",Random(-80,80),Random(-80,80),Random(0,40))\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor ExplodeDeathFX1  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 2\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\nASEX ABCDEF 1\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor KilledMeflag : KilledMe Replaces KilledMe\n{\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nPickup:\nTNT1 A 1 ACS_ExecuteAlways(203,0)\nTNT1 A 1 A_GiveInventory(\"GotKill\")\nstop\n}\n}\n\nactor GotKill : Powerup\n{\ninventory.amount 1\nPowerup.Duration 10\n}\n\nactor IceDeathStatueFX1  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n+NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 2\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\n\"----\" H 100\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor HitSound : CustomInventory  //stops the jump\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_jumpifInventory(\"BaseArmorItem\",1,\"ArmorHit\")\nTNT1 A 0 A_Pain\nstop\nArmorHit:\nTNT1 A 0 A_PlaySoundEx(\"body/ArmorPain\", \"Body\")\nCENF AAAAA 0 A_SpawnItemEx(\"ArmorHitParticle\", 0, 0, 28, 256/24, 256/24, random2(256/24), random(0, 359))\n\nstop\n}\n}\n\nactor ArmorHitParticle  //These are decorative.\n{\nPROJECTILE\n+THRUACTORS\n-NOGRAVITY\nheight 2\nRadius 2\ndamage (0)\nreactiontime 1\nscale 2\n//RenderStyle \"Translucent\"\n//Alpha 0.5\nStates\n{\nSpawn:\nHARD BCDE 2\nstop\nDeath:\nASEX A 0\nstop\n}\n}\n\nactor DeathFX1N : DeathFX1 replaces DeathFX1\n{\nheight 1\nradius 1\n+NOINTERACTION\n+NOGRAVITY\n-SOLID\n+DONTBLAST\nscale 2.5\nPROJECTILE\nSpeed 15\nreactiontime 3\nStates\n{\nSpawn:\nMMFX BCDE 2\nMMFX A 0 A_CountDown\nloop\n}\n}\n\nactor DeathFX2N : DeathFX1N replaces DeathFX2\n{\nspeed 5\n}\n//[+]========================================================================[+]\n//------------------------------|Primary Weapon|--------------------------------\n//[+]========================================================================[+]\n//\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//--------------------------------|Special Actors|------------------------------\n//[+]========================================================================[+]\n\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/MasterBase.txt",
        "contents": "actor WepMasterBase : Weapon\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 3\n//Weapon.AmmoUse2 0\n//Weapon.AmmoGive2 30\nWeapon.SlotNumber 1\nWeapon.SlotPriority 0\nscale 2.0\nObituary \"OB_GENERIC\"\ninventory.icon \"BUSTI\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\n//weapon.ammotype2 \"RivalBallsAmmo\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.ALT_AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUSR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"RedReady\")\nBUST B 0\nRedReady:\n\"####\" B 1 A_WeaponReady\nGoto Ready\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 1\ngoto Ready\n\nFlash:\nTNT1 A 1\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/RivalRounds.txt",
        "contents": "actor RivalBallsAmmo : Ammo\n{\ninventory.amount 1\ninventory.maxamount 30\n\nammo.backpackamount 50\nammo.backpackmaxamount 80\n}\n\nactor RivalRound : ProjectileBase\n{\ntranslation \"192:192=160:160\", \"198:198=229:229\"\nPROJECTILE\n+DOOMBOUNCE\n+MBFBOUNCER\nBounceFactor 0.8\ngravity 1.4\ndamagetype \"RivalBall\"\n//Obituary \"$OB_GENERIC\"\nMissileType \"RivalRoundTRail\"\nMissileHeight 8\nSpeed 100\nDamage (35 + ACS_NamedExecuteWithResult(\"DamageRate\",15,Range2,10))\nradius 6\nheight 6\nReactionTime 5\nVar int User_BallTimer;\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nBASB TTT 1 A_SpawnItemEX(\"RivalRoundTRail\",0,0,5,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\nBASB T 0 A_ChangeFlag(\"NOGRAVITY\",false)\nGoto Spawn2\n\nSpawn2:\nBASB T 1\nBASB T 0 A_SpawnItemEX(\"RivalRoundTRail\",0,0,5,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\nBASB T 0 A_ScaleVelocity(0.7)\nBASB T 1\nBASB T 0 A_SpawnItemEX(\"RivalRoundTRail\",0,0,5,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\nBASB T 0 A_ScaleVelocity(0.7)\nBASB T 1\nBASB T 0 A_SpawnItemEX(\"RivalRoundTRail\",0,0,5,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\nBASB T 0 A_ScaleVelocity(0.7)\n\nSpawn3:\nBASB TTTTTTTT 1 A_SpawnItemEX(\"RivalRoundTRail\",0,0,5,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\nTNT1 A 0 A_Spawnitemex(\"RivalRoundBouncer\",0,0,0,MomX,MomY,MomZ,0,SXF_ABSOLUTEMomentum|SXF_TRANSFERTRANSLATION)\ngoto Death\n\nDeath:\nBASB T 0\nstop\n\nCrash:\nXDeath:\nBUST A 0 //A_PlaySoundEx(\"misc/MetDie\",\"Weapon\")\nTNT1 A 1 A_Spawnitemex(\"RivalRoundPuff\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\n\tactor RivalRound_BLUE : RivalRound{translation \"192:192=192:192\", \"198:198=198:198\"}\n\tactor RivalRound_RED : RivalRound{translation \"192:192=54:54\", \"198:198=42:42\" }\n\nactor RivalRoundBouncer : ProjectileBase\n{\ntranslation \"192:192=214:214\", \"198:198=162:162\"\nPROJECTILE\n+DOOMBOUNCE\n+MBFBOUNCER\n-NOGRAVITY\nBounceFactor 0.4\nWallBounceFactor 0.5\ngravity 1.4\ndamagetype \"RivalBall\"\n//Obituary \"$OB_GENERIC\"\nMissileType \"RivalRoundTRail\"\nMissileHeight 8\nseesound \"weapon/megaball\"\n\nSpeed 100\nDamage (20)\nradius 5\nheight 5\nReactionTime 55\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nBASB T 1 A_CountDown\nTNT1 A 0 A_CheckFloor(\"SlowDown\")\nBASB T 0 A_SpawnItemEX(\"RivalRoundTRail\",0,0,5,0,0,0,0,SXF_TRANSFERTRANSLATION,0)\nloop\n\nSlowDown:\nBASB T 0 A_CountDown\nTNT1 A 0 A_ScaleVelocity(0.6)\nGoto Spawn\n\nDeath:\nTNT1 A 0 A_Spawnitemex(\"RivalRoundPickup\",0,0,0,MomX,MomY,MomZ,0,SXF_ABSOLUTEMomentum|SXF_TRANSFERTRANSLATION)\n\nstop\nCrash:\nXDeath:\nBUST A 0 A_PlaySoundEx(\"misc/MetDie\",\"Weapon\")\nTNT1 A 1 A_Spawnitemex(\"RivalRoundPuff\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\nstop\n}\n}\n\nActor RivalRoundPickup : CustomInventory\n{\n//$Category MM8BDM-Health/Energy\n-COUNTITEM\nInventory.Amount 1\nInventory.PickUpMessage \"Picked up a Rival Round.\"\nInventory.PickUpSound \"weapon/crackermine\"\nScale 2.5\n//+MISSILE\n//Reactiontime 30\nVar Int User_Timer;\nStates\n{\nSpawn:\nTNT1 A 0\nBASB T 6 A_SetUserVar(\"User_Timer\",User_Timer+1)\nBASB T 0 A_Jumpif(User_Timer >= 30,\"Spawn2\")\nBASB V 6 A_SetUserVar(\"User_Timer\",User_Timer+1)\nBASB V 0 A_Jumpif(User_Timer >= 30,\"Spawn2\")\nloop\nSpawn2:\nBASB TZTZVZVZ 2\nBASB TZTZVZVZ 2\nBASB TZTZVZVZ 2\nstop\nPickUp:\nTNT1 A 0 A_GiveInventory(\"RivalBallsAmmo\",1)\nstop\n}\n}\n//[+]========================================================================[+]\n//--------------------------------|Effect Actors|------------------------------\n//[+]========================================================================[+]\nactor RivalRoundPuff : FXActor_A\n{\nscale 2\nStates\n{\nSpawn:\nBIM1 AABCDEF 1\nstop\n}\n}\n\nactor RivalRoundTRail : FXActor_B\n{\nscale 1.8\nAlpha 0.7\nStates\n{\nSpawn:\nBASB U 0\nBASB U 1\nBASB UUUUU 1 A_Fadeout\n//BSTG AAAAA 1 A_Fadeout\nstop\n}\n}\n\nactor RivalRoundTRail_Base : RivalRoundTRail\n{translation \"192:192=160:160\", \"198:198=229:229\"}\n\nactor RivalRoundTRail_Blue : RivalRoundTRail\n{translation \"192:192=192:192\", \"198:198=198:198\"}\n\nactor RivalRoundTRail_RED : RivalRoundTRail\n{translation \"192:192=54:54\", \"198:198=42:42\" , \"196:196=170:170\", \"199:199=47:47\", \"241:241=191:191\"}\n\nactor PowerStrikeFX : FXActor_A\n{\nscale 6.5\nAlpha 0.9\nReactiontime 17\nVar int User_Diminish;\nStates\n{\nSpawn:\nCRBM A 0\nNAPC A 0 A_PlaySoundEx(\"weapon/solarblaze\", \"Soundslot6\")\nNAPC A 0 A_SetUserVar(\"User_Diminish\",2.3)\nFLEX F 1\nSpawn2:\nFLEX F 1 A_SetScale(ScaleX + 2.3,Scaley*0.5)\nFLEX F 0 A_SetUserVar(\"User_Diminish\",User_Diminish*0.5)\nFLEX F 0 A_Countdown\nloop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/Helios.txt",
        "contents": "actor HeliosBlaster : WepMasterBase\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 0\n//Weapon.AmmoUse2 0\n//Weapon.AmmoGive2 0\nWeapon.SlotNumber 1\nWeapon.SelectionOrder 1\nscale 2.0\nObituary \"$OB_HELIOS\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"HeliosBlasterClip\"\n//weapon.ammotype2 \"RivalBallsAmmo\"\ninventory.icon \"NULLICON\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\n+INVENTORY.UNDROPPABLE\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUSR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"Ready.Red\")\nBUST B 0\nReady.Red:\n\t\"####\" B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_NOSECONDARY)\n\t\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\nGoto Ready\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_Jump(256,\"Fire.Bullet\")\nGoto Fire.Bullet\n\nFire.Bullet:\n\"####\" B 0 A_Jumpif(CallACS(\"InputGrab\",2) == True,\"Fire.SlamBullet\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/RapidBuster\",\"Weapon\")\n\"####\" D 2 A_GiveInventory(\"HeliosBlasterShooter\")\n\"####\" B 0 A_Jump(256,\"Fire.After\")\nGoto Fire.After\n\nFire.SlamBullet:\n\"####\" B 1 Offset(0,32)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,58)\n\"####\" B 0 A_PlaySoundEx(\"weapon/RapidBuster\",\"Weapon\")\n\"####\" B 2 A_GiveInventory(\"HeliosBlasterShooter2\")\n\"####\" B 0 A_PlaySoundEx(\"misc/fakereloadshort\",\"SoundSlot6\")\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" C 0 A_REfire(\"Fire\")\nGoto Ready\n\nFire.After:\n\"####\" BB 2\n\"####\" B 2 Offset(0,32)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,58)\n\"####\" B 6 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,32)\n\"####\" C 0 A_REfire(\"Fire\")\nGoto Ready\n\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 A_Jumpifinventory(\"RivalBallsAmmo\",1,\"Reload\")\n\"####\" B 0 ACS_Execute(979,0)\nGoto Ready\n\nReload:\n\"####\" B 0 A_JumpIf(CallACS(\"RivalBallCheck\",1) == False,\"Ready\")\n\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 24\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 ACS_NamedExecuteAlways(\"AmmoClipConvert\",0,1,10) //A_Giveinventory(\"RepidifierClip\",45)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 A_GiveInventory(\"SpringerPrime\")\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\n\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\n\nactor HeliosBlasterClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 10\n}\n\nactor SpringerPrime : inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\n//[+]========================================================================[+]\n//--------------------------------|WeaponKit|---------------------------\n//[+]========================================================================[+]\nactor HeliosBlaster_Wepkit : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_GiveInventory(\"HeliosBlaster\")\nTNT1 A 0 //A_Spawnitemex(\"HeatDrainer_A\")\nstop\n\nNope:\nBUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor Helios_RivalRound : RivalRound\n{\nSpeed 110\nDamage (40 + ACS_NamedExecuteWithResult(\"DamageRate\",15,Range3,10))\nObituary \"$OB_HELIOS\"\ntranslation \"192:192=214:214\", \"198:198=162:162\"\n}\n\n\tactor Helios_RivalRound_BLUE : Helios_RivalRound{translation \"192:192=192:192\", \"198:198=198:198\"}\n\tactor Helios_RivalRound_RED : Helios_RivalRound{translation \"192:192=54:54\", \"198:198=42:42\"}\n\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\n\nactor HeliosBlasterShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"Helios_RivalRound\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"Helios_RivalRound_RED\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"Helios_RivalRound_BLUE\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nTNT1 A 1\nstop\n}\n}\n\nactor HeliosBlasterShooter2 : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"Helios_RivalRound\",random(-SPRD_2,SPRD_2),1,0,0,0,random(-SPRD_2,SPRD_2))\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"Helios_RivalRound_RED\",random(-SPRD_2,SPRD_2),1,0,0,0,random(-SPRD_2,SPRD_2))\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"Helios_RivalRound_BLUE\",random(-SPRD_2,SPRD_2),1,0,0,0,random(-SPRD_2,SPRD_2))\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/Kronos.txt",
        "contents": "actor KronosBlaster : WepMasterBase\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 0\n\nWeapon.SlotNumber 1\nWeapon.SelectionOrder 1\nscale 2.0\nObituary \"$OB_KRONOS\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"KronosBlasterClip\"\ninventory.icon \"NULLICON\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\n+INVENTORY.UNDROPPABLE\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUSR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"Ready.Red\")\nBUST B 0\nReady.Red:\n\t\"####\" B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_NOSECONDARY)\n\t\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\nGoto Ready\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_Jump(256,\"Fire.Bullet\")\nGoto Fire.Bullet\n\nFire.Bullet:\n\"####\" B 0 A_PlaySoundEx(\"weapon/RapidBuster\",\"Weapon\") //weapon/mbuster\n\"####\" D 2 A_GiveInventory(\"KronosBlasterShooter\")\n\"####\" B 0 A_Jump(256,\"Fire.After\")\nGoto Fire.After\n\nFire.After:\n\"####\" B 2\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 1 Offset(0,32)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" C 0 A_REfire(\"Fire\")\nGoto Ready\n\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"RivalBallsAmmo\",1,\"Reload\")\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 ACS_Execute(979,0)\nGoto Ready\n\nReload:\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 A_JumpIf(CallACS(\"RivalBallCheck\",1) == False,\"Ready\")\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_Jumpifinventory(\"KronosBlasterClip\",2,\"Reload2\")\n\"####\" B 13 A_WeaponReady(WRF_NOBOB|WRF_NOPRIMARY)\ngoto Reload.loop\nReload2:\n\"####\" B 12 A_WeaponReady(WRF_NOBOB)\ngoto Reload.loop\nReload.loop:\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 0 A_JumpIf(CallACS(\"RivalBallCheck\",1) == False,\"Reload.LoopEnd\")\n\n\"####\" B 0 ACS_NamedExecuteAlways(\"AmmoClipConvert\",0,1,1)//A_Giveinventory(\"KronosBlasterClip\",1)\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"KronosBlasterClip\",5,\"Reload.LoopEnd\")\n\"####\" B 0 A_Jumpifinventory(\"IsBot\",1,\"Reload2\")\n\"####\" B 0 A_Jumpifinventory(\"KronosBlasterClip\",2,2)\n\"####\" B 12 Offset(0,82)\nGoto Reload.loop\n\"####\" B 8\n\"####\" B 4 A_WeaponReady(WRF_NOBOB)\nGoto Reload.loop\nReload.LoopEnd:\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\n\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\n\nactor KronosBlasterClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 5\n}\n\n//[+]========================================================================[+]\n//--------------------------------|WeaponKit|---------------------------\n//[+]========================================================================[+]\nactor KronosBlaster_Wepkit : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_GiveInventory(\"KronosBlaster\")\nTNT1 A 0 //A_Spawnitemex(\"HeatDrainer_A\")\nstop\n\nNope:\nBUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor Kronos_RivalRound : RivalRound\n{\nSpeed 85\nDamage (35 + ACS_NamedExecuteWithResult(\"DamageRate\",15,Range1,15))\nObituary \"$OB_KRONOS\"\ntranslation \"192:192=214:214\", \"198:198=162:162\"\n}\n\n\tactor Kronos_RivalRound_BLUE : Kronos_RivalRound{translation \"192:192=192:192\", \"198:198=198:198\"}\n\tactor Kronos_RivalRound_RED : Kronos_RivalRound{translation \"192:192=54:54\", \"198:198=42:42\"}\n\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\n\nactor KronosBlasterShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"Kronos_RivalRound\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"Kronos_RivalRound_RED\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"Kronos_RivalRound_BLUE\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/Artemis.txt",
        "contents": "actor ArtemisBlaster : WepMasterBase\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 0\nWeapon.SlotNumber 1\nWeapon.SelectionOrder 1\nscale 2.0\nObituary \"$OB_ARTEMIS\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"ArtemisBlasterClip\"\ninventory.icon \"NULLICON\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\n+INVENTORY.UNDROPPABLE\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUSR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"Ready.Red\")\nBUST B 0\nReady.Red:\n\t\"####\" B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_NOSECONDARY)\n\t\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\nGoto Ready\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_Jump(256,\"Fire.Bullet\")\nGoto Fire.Bullet\n\nFire.Bullet:\n\"####\" B 0 A_Jumpif(CallACS(\"InputGrab\",2) == True,\"Fire.SlamBullet\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/RapidBuster\",\"Weapon\") //weapon/mbuster\n\"####\" D 2 A_GiveInventory(\"ArtemisBlasterShooter\")\n\"####\" B 0 A_Jump(256,\"Fire.After\")\nGoto Fire.After\n\nFire.SlamBullet:\n\"####\" B 1 Offset(0,32)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,58)\n\"####\" B 0 A_PlaySoundEx(\"weapon/RapidBuster\",\"Weapon\")\n\"####\" B 1 A_GiveInventory(\"ArtemisBlasterShooter\")\n\"####\" B 0 A_PlaySoundEx(\"misc/fakereloadshort\",\"SoundSlot6\")\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" C 0 A_REfire(\"Fire\")\nGoto Ready\n\nFire.After:\n\"####\" B 2\n//\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 2 Offset(0,32)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,58)\n\"####\" B 3 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,32)\n\"####\" C 0 A_REfire(\"Fire\")\nGoto Ready\n\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"RivalBallsAmmo\",1,\"Reload\")\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 ACS_Execute(979,0)\nGoto Ready\n\nReload:\n\"####\" B 0 A_JumpIf(CallACS(\"RivalBallCheck\",1) == False,\"Ready\")\n\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 44\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 ACS_NamedExecuteAlways(\"AmmoClipConvert\",0,1,10) //A_Giveinventory(\"RepidifierClip\",45)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\n\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\n\nactor ArtemisBlasterClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 30\n}\n\n//[+]========================================================================[+]\n//--------------------------------|WeaponKit|---------------------------\n//[+]========================================================================[+]\nactor ArtemisBlaster_Wepkit : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_GiveInventory(\"ArtemisBlaster\")\nTNT1 A 0 //A_Spawnitemex(\"HeatDrainer_A\")\nstop\n\nNope:\nBUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor Artemis_RivalRound : RivalRound\n{\nSpeed 90\nDamage (35 + ACS_NamedExecuteWithResult(\"DamageRate\",10,Range2,15))\nObituary \"$OB_ARTEMIS\"\ntranslation \"192:192=214:214\", \"198:198=162:162\"\n}\n\n\tactor Artemis_RivalRound_BLUE : Artemis_RivalRound{translation \"192:192=192:192\", \"198:198=198:198\"}\n\tactor Artemis_RivalRound_RED : Artemis_RivalRound{translation \"192:192=54:54\", \"198:198=42:42\"}\n\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\n\nactor ArtemisBlasterShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"Artemis_RivalRound\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"Artemis_RivalRound_RED\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"Artemis_RivalRound_BLUE\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nTNT1 A 1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "Actors/Weapons/Hades.txt",
        "contents": "actor HadesBlaster : WepMasterBase\n{\nWeapon.AmmoUse 1\nWeapon.AmmoGive 0\nWeapon.SlotNumber 1\nWeapon.SelectionOrder 1\nscale 2.0\nObituary \"$OB_HADES\"\nInventory.Pickupmessage \"$PU_MEGABUSTER\"\nweapon.ammotype \"HadesBlasterClip\"\ninventory.icon \"NULLICON\"\n+WEAPON.AMMO_OPTIONAL\n+WEAPON.DONTBOB\n+WEAPON.NOAUTOFIRE\n+WEAPON.NOAUTOAIM\n+INVENTORY.UNDROPPABLE\nStates\n{\nSpawn:\nWEAP X 1\nstop\nReady:\nBUSR B 0 A_Jumpifinventory(\"WilyTeamFlag\",1,\"Ready.Red\")\nBUST B 0\nReady.Red:\n\t\"####\" B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_NOSECONDARY)\n\t\"####\" B 0 A_Jumpifinventory(\"Reload_Trigger\",1,\"Reload\")\nGoto Ready\nDeselect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower\n\"####\" B 1 A_Lower\nLoop\nSelect:\nTNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise\n\"####\" B 1 A_Raise\nLoop\nFire:\n\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 0 A_Jump(256,\"Fire.Bullet\")\nGoto Fire.Bullet\n\nFire.Bullet:\n\"####\" B 0 A_Jumpif(CallACS(\"InputGrab\",2) == True,\"Fire.SlamBullet\")\n\"####\" B 0 A_PlaySoundEx(\"weapon/RapidBuster\",\"Weapon\") //weapon/mbuster\n\"####\" D 2 A_GiveInventory(\"HadesBlasterShooter\")\n\"####\" B 0 A_Jump(256,\"Fire.After\")\nGoto Fire.After\n\nFire.SlamBullet:\n\"####\" B 1 Offset(0,32)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,58)\n\"####\" B 0 A_PlaySoundEx(\"weapon/RapidBuster\",\"Weapon\")\n\"####\" B 2 A_GiveInventory(\"HadesBlasterShooter\")\n\"####\" B 0 A_PlaySoundEx(\"misc/fakereloadshort\",\"SoundSlot6\")\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" C 0 A_REfire(\"Fire\")\nGoto Ready\n\nFire.After:\n\"####\" B 2\n//\"####\" B 0 A_JumpIfNoAmmo(\"NoAmmo\")\n\"####\" B 2 Offset(0,32)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,58)\n\"####\" B 3 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 2 Offset(0,58)\n\"####\" B 2 Offset(0,46)\n\"####\" B 2 Offset(0,32)\n\"####\" C 0 A_REfire(\"Fire\")\nGoto Ready\n\nNoAmmo:\n\"####\" B 1\n\"####\" B 0 A_Jumpifinventory(\"RivalBallsAmmo\",1,\"Reload\")\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 0 ACS_Execute(979,0)\nGoto Ready\n\nReload:\n\"####\" B 0 A_JumpIf(CallACS(\"RivalBallCheck\",1) == False,\"Ready\")\n\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,82)\n\"####\" B 0 A_PlaySoundEx(\"weapon/rminestick\",\"Weapon\")\n\"####\" B 44\n\"####\" B 0 A_PlaySoundEx(\"weapon/Crashland\",\"Weapon\")\n\"####\" B 1 Offset(0,82)\n\"####\" B 1 Offset(0,70)\n\"####\" B 1 Offset(0,58)\n\"####\" B 1 Offset(0,46)\n\"####\" B 1 Offset(0,32)\n\"####\" B 1 ACS_NamedExecuteAlways(\"AmmoClipConvert\",0,1,10) //A_Giveinventory(\"RepidifierClip\",45)\n\"####\" B 0 A_TakeInventory(\"Reload_Trigger\",999)\n\"####\" B 1 A_Refire(\"Fire\")\nGoto Ready\n\nFlash:\nTNT1 A 5\nstop\nNoFlash:\nTNT1 A 1\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Ammo & inventory|---------------------------\n//[+]========================================================================[+]\n\nactor HadesBlasterClip : Ammo\n{\ninventory.amount 1\ninventory.maxamount 60\n}\n\n//[+]========================================================================[+]\n//--------------------------------|WeaponKit|---------------------------\n//[+]========================================================================[+]\nactor HadesBlaster_Wepkit : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nTNT1 A 0 A_GiveInventory(\"HadesBlaster\")\nTNT1 A 0 //A_Spawnitemex(\"HeatDrainer_A\")\nstop\n\nNope:\nBUST B 0 A_PlaySoundEx(\"weapon/heat3\",\"Item\")\nTNT1 A 0\nstop\n}\n}\n\n//[+]========================================================================[+]\n//--------------------------------|Projectiles |--------------------------------\n//[+]========================================================================[+]\nactor Hades_RivalRound : RivalRound\n{\nSpeed 90\nDamage (35 + ACS_NamedExecuteWithResult(\"DamageRate\",10,Range2,15))\nObituary \"$OB_HADES\"\ntranslation \"192:192=214:214\", \"198:198=162:162\"\n}\n\n\tactor Hades_RivalRound_BLUE : Hades_RivalRound{translation \"192:192=192:192\", \"198:198=198:198\"}\n\tactor Hades_RivalRound_RED : Hades_RivalRound{translation \"192:192=54:54\", \"198:198=42:42\"}\n\n//[+]========================================================================[+]\n//--------------------------------|Item Shooters|------------------------------\n//[+]========================================================================[+]\n\nactor HadesBlasterShooter : CustomInventory\n{\ninventory.amount 1\nInventory.MaxAmount 100\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 0\nstop\nPickup:\nBLTR C 1 A_Jumpifinventory(\"WilyTeamFlag\",1,\"TeamRedFire\")\nBLTR C 1 A_Jumpifinventory(\"LightTeamFlag\",1,\"TeamBlueFire\")\nBUST B 1 A_FireCustomMissile(\"Hades_RivalRound\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nstop\nTeamRedFire:\nBUST B 1 A_FireCustomMissile(\"Hades_RivalRound_RED\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nTNT1 A 1\nstop\nTeamBlueFire:\nBUST B 1 A_FireCustomMissile(\"Hades_RivalRound_BLUE\",random(-SPRD_1,SPRD_1),1,0,0,0,random(-SPRD_1,SPRD_1))\nTNT1 A 1\nstop\n}\n}"
      }
    ]
  },
  "maps": []
}

gib.gg runs on open-source software and freely licensed replacement game assets from the Freedoom project. gib.gg is not affiliated with Bethesda Softworks, id Software, or ZeniMax Media. All trademarks belong to their respective owners. Some WADs and associated metadata on this site are sourced from WAD Archive. User-submitted content remains the responsibility of its respective authors. If you believe content on this site violates your rights, please send DMCA requests to dmca@gib.gg.