levelmasterrm-v2-complex.v2.pk3

PK3 3.1 MiB 0 map(s)

Counts

endoom0
graphics2
lumps180
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "0c12ce32-debe-4fda-a984-901e30e53b46",
    "sha1": "66d6482d60b47feb45895a9116ada31d23da17e2",
    "sha256": "48e9fb448439fd8635b303637e5cea8baed31d21e14e2e45d7985d069c848dc1",
    "filenames": [
      "levelmasterrm-v2-complex.v2.pk3"
    ],
    "additional": {
      "engines": [
        "ZDOOM"
      ],
      "iwad": [],
      "filename": null,
      "added": "2016-07-11 10:56:51",
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false,
      "name": null,
      "description": null,
      "maps": null,
      "graphicOverrides": null,
      "screenshots": null,
      "palettes": null,
      "categories": null
    },
    "flags": {
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false
    },
    "added": "2016-07-11 10:56:51",
    "file": {
      "type": "PK3",
      "size": 3249131,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/66d6482d60b47feb45895a9116ada31d23da17e2/66d6482d60b47feb45895a9116ada31d23da17e2.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 2,
        "lumps": 180,
        "maps": 0,
        "palettes": 0
      },
      "engines_guess": [
        "ZDOOM"
      ]
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "README.txt",
        "contents": "_        _______           _______  _          _______  _______  _______ _________ _______  _______\n ( \\      (  ____ \\|\\     /|(  ____ \\( \\        (       )(  ___  )(  ____ \\\\__   __/(  ____ \\(  ____ )\n | (      | (    \\/| )   ( || (    \\/| (        | () () || (   ) || (    \\/   ) (   | (    \\/| (    )|\n | |      | (__    | |   | || (__    | |        | || || || (___) || (_____    | |   | (__    | (____)|\n | |      |  __)   ( (   ) )|  __)   | |        | |(_)| ||  ___  |(_____  )   | |   |  __)   |     __)\n | |      | (       \\ \\_/ / | (      | |        | |   | || (   ) |      ) |   | |   | (      | (\\ (\n | (____/\\| (____/\\  \\   /  | (____/\\| (____/\\  | )   ( || )   ( |/\\____) |   | |   | (____/\\| ) \\ \\__\n (_______/(_______/   \\_/   (_______/(_______/  |/     \\||/     \\|\\_______)   )_(   (_______/|/   \\__/\n\n\t\t\t _____  ______ __  __           _____ _______ ______ _____  ______ _____\n\t\t\t|  __ \\|  ____|  \\/  |   /\\    / ____|__   __|  ____|  __ \\|  ____|  __ \\\n\t\t\t| |__) | |__  | \\  / |  /  \\  | (___    | |  | |__  | |__) | |__  | |  | |\n\t\t\t|  _  /|  __| | |\\/| | / /\\ \\  \\___ \\   | |  |  __| |  _  /|  __| | |  | |\n\t\t\t| | \\ \\| |____| |  | |/ ____ \\ ____) |  | |  | |____| | \\ \\| |____| |__| |\n\t\t\t|_|  \\_\\______|_|  |_/_/    \\_\\_____/   |_|  |______|_|  \\_\\______|_____/\n\nO======================================================================================================O\nO======================================================================================================O\n\nLevel Master: Remastered\n\nCreated by CutmanMike - http://cutstuff.net - twitter/cutmanmike\n2015\n\nO=====O\n ABOUT\nO=====O\n\nThis mod for Zandronum 1.3 or Higher. Introduces a new way to play Survival with your buddies.\n\nAt the start of the game a Level Master is chosen, who's job is to make life hard for the other players by summoning monsters. The Level Master first places an item on the map called the Exit Rune, which the other players must find to defeat him.\nThe Level Master gains power over time. The more power he has, the stronger monsters he can summon. If the players lose, the Level Master is victorious and he stays on as the Level Master.\n\nO========================O\n RECOMMENDED SERVER SETUP\nO========================O\n\nThe game mode must be Survival.\nYou may allow any number of players but many maps will be too easy with large numbers of players.\nsv_doubleammo or sv_infiniteammo is recommended for maps with limited ammo if you are allowing lots of players.\n\nA map rotation. Many default maps are too small. Non-linear or long maps are the best. Here is a good map rotation for Doom 2:\nMAP06, MAP09, MAP10, MAP12, MAP13, MAP14, MAP15, MAP16, MAP17, MAP18, MAP19, MAP20, MAP22, MAP24, MAP25, MAP26, MAP27, MAP29.\n\nI recommend experimenting with different Doom2 megawads to see what people like!\nMods that introduce new weapons, monsters, playerclasses etc may break the game until they are properlly outfitted for Level Master.\n\nThere are two additional controls a host has over the game:\nPointlimit - The amount of seconds a Level Master has to place the exit rune (default is 30).\nWinlimit - The amount of Level Master wins before the map changes (default is 3).\n\nO=============O\n HUMAN PLAYERS\nO=============O\n\nIf you are not chosen as the Level Master, you will be greeted by a blank screen. Do not fear, your monitor is still functional. The Level Master places his Exit Rune at this point and you must patiently wait while he chooses a good location. He only has 30 seconds (by default) though so don't expect to be waiting too long.\nOnce he has placed the rune, you will become active again. Now you must play through the level killing anything in your way to try and find the Exit Rune. Watch your back, the Level Master can spawn monsters anywhere where the player cannot see. Try to cover as much ground as possible to make it harder the Level Master to spawn enemies. Also try to move as quickly as you can, as the Level Master gains power from wasted seconds.\nThe player who finds the Exit Rune will become the Level Master in the next level. When it is picked up, the Level Master dies and the next level will be loaded.\n\n* Watch out for traps! They appear on the ground and are barely visible. Enter new areas with caution.\n\n* Keep your distance! The Level Master cannot spawn monsters in your visible range. Abuse this by standing out in the open while your friends search for the Exit Rune.\n\n* Save your ammo! Do you really need to use a SSG blast on that Imp stuck up on a ledge? Save for ammo for Level Master minions that need putting down.\n\n* Keep moving! Don't just stand around. The Level Master regenerates power over time. Taking too long may result in an extra Cyberdemon in your way!\n\nO================O\n THE LEVEL MASTER\nO================O\n\nIf you are lucky enough to become the Level Master, your screen will not be black and it will be announced to the other players that you are the Level Master. From then on you have 30 seconds to find a good place to hide the Exit Rune. Try not to make it obvious. Hide it in a place where players will have a hard time getting to, or somewhere that's usually overlooked. The Level Master has all the keys from the get go so putting it beyond a locked door can be a good idea.\n\nWhen the Exit Rune is placed (press fire), or you run out of time, you unlock the Level Master's summoning and flying powers. Press weapon forward/backward to choose a different ability. You can only summon a monster if you have the right amount of Mana, which increases over time. You can also only spawn a monster if there's enough room, and if there's no players looking. Even if a player is not facing you, you cannot spawn the monster if the player is in visible range. Try spawning the monster around a nearby corner or behind a pillar if you need to summon one up close.\nIf the players find the Exit Rune, the game is over and a new level is loaded. If you defeat all the human players, the Level Master stays on and the level is restarted.\n\n* Hide the Exit Rune well! Secret areas are pretty obvious. Try somewhere where the player won't look, like that dark corner everyone rushes past or the cliff no one jumps down.\n\n* Save your power! Spamming Zombies may seem like a good idea but they are extremely weak once the human players get their hands on any other weapon.\n\n* Protect key spots! Not only should you protect the Exit Rune, but protecting areas with powerups, weapons and keys can determine the victor!\n\n* Use the level! If you know the level well, you should know where all the monster traps are. Interfere with the level and open up all the traps ready for the human players!\n\nO========O\n CREDITS\nO========O\n\nConcept - CutmanMike\nProgramming - CutmanMike, Messatsu, Lego\nGraphics - CutmanMike, Eriance (Who doesn't use this guy's graphics? They're so good), various.\nMusic - Bigfoot-Tunes (Added under the Newgrounds.com License) http://www.newgrounds.com/audio/listen/64346\nSounds - Blizzard Entertainment, Various\nTesting - Messatsu, Celebi, Blaze, Korby, Myroc, Lego\n\nSpecial Thanks to Torr Samaho, Carnevil and all the other Developers that helped create SkullTag and Zandronum!"
      },
      {
        "source": "pk3",
        "name": "classes/levelmaster.txt",
        "contents": "actor LMGenericCounter : Inventory\n{\ninventory.amount 1\ninventory.maxamount 99999\n}\n\nactor LevelExitSpawner : Weapon\n{\n   Weapon.SelectionOrder 1800\n   +WEAPON.NOALERT\n   //inventory.icon \"\"\n   Weapon.SlotNumber 1\n   +WEAPON.NOAUTOAIM\n   +INVENTORY.UNDROPPABLE\n   Weapon.SlotNumber 1\n   +AMMO_OPTIONAL\n   +WEAPON.NOALERT\n   Weapon.preferredSkin \"LMSKIN\"\nStates\n{\nSpawn:\nTNT1 A 1\nStop\nReady:\nTNT1 A 0 A_TAkeInventory(\"Handgun\", 1)\nTNT1 AAAAAAAAAAAAAA 1 A_WeaponReady\nTNT1 A 1 A_JumpIfInventory(\"ExitTimerExpired\",1,\"Fire\")\nTNT1 A 0 A_FireCustomMissile(\"LevelMasterDoorOpener\",0,0,0,0)\nLoop\nDeselect:\nTNT1 A 1 A_Lower\nLoop\nSelect:\nTNT1 A 1 A_Raise\nLoop\nFire:\nTNT1 A 10 A_SpawnItemEx(\"ExitRunePlacer\",0,0,0,0,0,0)\nTNT1 A 80 ACS_ExecuteAlways(105,0)\nGoto Ready\nAltfire:\nTNT1 A 10 A_GiveInventory(\"TeleportToStart\")\nGoto Ready\n}\n}\n\nactor LevelMasterDoorOpener\n{\n+MISSILE\n//+RIPPER\n+NOBLOOD\n+NOTELEPORT\n+ACTIVATEPCROSS\n+ACTIVATEIMPACT\n+NOGRAVITY\nrenderstyle none\nDamage 0\nSpeed 20\nHeight 5\nRadius 5\nStates\n{\nSpawn:\nPLAY A 3\nstop\n}\n}\n\nactor ExitTimerExpired : Inventory\n{\ninventory.amount 1\n}\n\nactor TeleportToStart : ArtiTeleport\n{\n+INVENTORY.AUTOACTIVATE\n}\n\nactor ExitRunePlacer\n{\n-SOLID\n+CANPASS\n+THRUSPECIES\nspecies \"Monster\"\ntranslation \"112:127=176:191\"\nRadius 16\nHeight 16\nStates\n{\nSpawn:\nPPOS A 5\nPPOS A 1 A_JumpIf(momz!=0,\"Spawn\")\nDeath:\nPPOS A 0 A_SpawnItemEx(\"ExitRune\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)\nstop\n}\n}\n\nactor ExitRune\n{\ntranslation \"112:127=176:191\"\n+NOCLIP\n+DONTBLAST\n+CANPASS\n+NOGRAVITY\n+LOOKALLAROUND\nRadius 16\nHeight 16\nStates\n{\nSpawn:\nPPOS A 1\nPPOS A 0 Thing_ChangeTID(0,800)\nPPOS A 0\nPPOS A 0 A_ChangeFlag(\"NOCLIP\",0)\nPPOS A 0 A_ChangeFlag(\"DROPPED\",0)\nPPOS AAAABBBBCCCCDDDDEEEEFFFF 1 A_LookEx(LOF_NOSOUNDCHECK,0,64,0,360,\"ChannelStart\")\nGoto Spawn+5\nChannelStart:\nPPOS F 1 ACS_Execute(107,0)\nPPOS F 1 A_SetTranslucent(0.5, 1)\nPPOS F 1 A_PlaySoundEx(\"ExitRuneChannel\",\"Voice\",1,0)\nChanneling:\nPPOS ABCDEF 3\nPPOS F 0 A_GiveToTarget(\"TemporaryAnticrsh\",1)\nPPOS F 1 A_GiveToTarget(\"TemporaryRadsuit\",1)\nPPOS F 1 A_JumpIfCloser(64,\"Channeling\")\nChannelEnd:\nPPOS A 2 ACS_Terminate(107,0)\nPPOS A 1 A_SetTranslucent(1.0, 0)\nPPOS BCDEF 4 A_ClearTarget\nPPOS A 1 A_StopSound(CHAN_VOICE)\nGoto Spawn\n}\n}\n\nactor TemporaryRadsuit : PowerIronFeet\n{\npowerup.duration 20\nPowerup.Color 0, 0, 0, 0.0\n}\n\nactor TemporaryAnticrsh : PowerProtection\n{\nDamageFactor \"Crush\", 0.0\npowerup.duration 20\nPowerup.Color 0, 0, 0, 0.0\n}\n\n/*actor ExitRune : CustomInventory\n{\ntranslation \"112:127=176:191\"\nInventory.PickupMessage \"Picked up the Exit Rune!\"\n+COUNTITEM\n+NOCLIP\n+DONTBLAST\n+CANPASS\n+NOGRAVITY\nRadius 15\nHeight 16\nStates\n{\nSpawn:\nPPOS A 1\nPPOS A 0 Thing_ChangeTID(0,800)\nPPOS A 0 //A_JumpIf(momz!=0,\"Spawn\")\nPPOS A 0 A_ChangeFlag(\"NOCLIP\",0)\nPPOS A 0 A_ChangeFlag(\"DROPPED\",0)\nPPOS ABCDEF 4\nGoto Spawn+5\nPickup:\nTNT1 A 0 //A_JumpIfInventory(\"LevelMasterFlag\", 1, 2)\nTNT1 A 0 ACS_Execute(107,0)\nStop\nTNT1 A 0\nfail\n}\n}*/\n\nactor LevelMasterExit : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 ACS_Execute(112,0,2)\nTNT1 A 0 A_GiveInventory(\"LevelExitSpawner\",1)\nTNT1 A 0 A_ChangeFlag(\"NOTARGET\",1)\nTNT1 A 0 A_ChangeFlag(\"TELESTOMP\",0)\nTNT1 A 0 A_ChangeFlag(\"THRUSPECIES\",1)\nTNT1 A 0 SetPlayerProperty(0,0,4)\nTNT1 A 0 SetPlayerProperty(0,0,5)\n\nTNT1 A 0 A_GiveInventory(\"RedCard\",1)\nTNT1 A 0 A_GiveInventory(\"BlueCard\",1)\nTNT1 A 0 A_GiveInventory(\"YellowCard\",1)\nTNT1 A 0 A_GiveInventory(\"RedSkull\",1)\nTNT1 A 0 A_GiveInventory(\"BlueSkull\",1)\nTNT1 A 0 A_GiveInventory(\"YellowSkull\",1)\n\nTNT1 A 0 A_SelectWeapon(\"LevelExitSpawner\")\nTNT1 A 0 //A_HideThing\nstop\n}\n}\n\nactor LevelMasterPlayer : Inventory\n{\n+INVENTORY.UNDROPPABLE\nInventory.amount 1\nInventory.maxamount 1\n}\n\nactor LevelMasterMorph : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0 SetPlayerProperty(0,1,3)\nTNT1 A 0 SetPlayerProperty(0,1,2)\nTNT1 A 0 A_ChangeFlag(\"SOLID\",0)\nTNT1 A 0 A_ChangeFlag(\"NOCLIP\",1)\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",0)\nTNT1 A 0 A_ChangeFlag(\"INVULNERABLE\",1)\nTNT1 A 0 A_ChangeFlag(\"DONTBLAST\",1)\nTNT1 A 0 A_ChangeFlag(\"NOTARGET\",1)\nTNT1 A 0 A_ChangeFlag(\"TELESTOMP\",0)\n\nTNT1 A 0 A_GiveInventory(\"RedCard\",1)\nTNT1 A 0 A_GiveInventory(\"BlueCard\",1)\nTNT1 A 0 A_GiveInventory(\"YellowCard\",1)\nTNT1 A 0 A_GiveInventory(\"RedSkull\",1)\nTNT1 A 0 A_GiveInventory(\"BlueSkull\",1)\nTNT1 A 0 A_GiveInventory(\"YellowSkull\",1)\nTNT1 A 0 //A_HideThing\n}\n}\n\nactor KillLevelMaster : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 SetPlayerProperty(0,1,4)\nTNT1 A 0 SetPlayerProperty(0,0,5)\nTNT1 A 0 A_ChangeFlag(\"SOLID\",1)\nTNT1 A 0 A_ChangeFlag(\"NOCLIP\",0)\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",1)\nTNT1 A 0 A_ChangeFlag(\"INVULNERABLE\",0)\nTNT1 A 0 A_Die\nstop\n}\n}\n\nactor NoPickups : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"PICKUP\",0)\nstop\n}\n}\n\nactor NoClip : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"NOCLIP\",1)\nstop\n}\n}\n\nactor YesClip : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"NOCLIP\",0)\nstop\n}\n}\n\nactor Solidify : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"SOLID\",1)\nstop\n}\n}\n\nactor UnSolidify : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"SOLID\",0)\nstop\n}\n}\n\nactor Shootable : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",1)\nstop\n}\n}\n\nactor UnShootable : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",0)\nstop\n}\n}\n\nactor GiveAmbush : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"AMBUSH\",1)\nstop\n}\n}\n\nactor GiveNotarget : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"NOTARGET\",1)\nstop\n}\n}\n\nactor GiveNoinfight : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"NOINFIGHTING\",1)\nstop\n}\n}\n\nactor IsMonster : Inventory\n{\n+INVENTORY.UNDROPPABLE\nInventory.amount 1\nInventory.maxamount 1\n}\n\nactor SightConfirm : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}"
      },
      {
        "source": "pk3",
        "name": "classes/weapons.txt",
        "contents": "// Level Master's weapons.\n//Slot numbers should reflect the ordering of the weapons on the Levelmaster GUI (see LM_POWERS).\n\nactor LevelMasterWeapon : Weapon\n{\n   Weapon.SelectionOrder 1800\n   +WEAPON.NOALERT\n   //inventory.icon \"\"\n   Weapon.SlotNumber 5\n   +WEAPON.NOAUTOAIM\n   +INVENTORY.UNDROPPABLE\n   +AMMO_OPTIONAL\n   +ALT_AMMO_OPTIONAL\n   +WEAPON.DONTBOB\n   //+WEAPON.CHEATNOTWEAPON\n   weapon.ammotype \"LevelMasterMana\"\n   weapon.ammouse 0\nStates\n{\nSpawn:\nSGN2 A -1\nStop\nReady:\nTNT1 A 0 A_TAkeInventory(\"Handgun\", 1)\nTNT1 A 0 //ACS_ExecuteAlways(115, 0,1)\nTNT1 A 0 A_FireCustomMissile(\"LevelMasterDoorOpener\",0,0,0,0)//A_FireBullets (0, 0, 1, 0, \"FakePuff\", 1, 35)\nTNT1 AAAA 1 A_WeaponReady\nGoto Ready\nDeselect:\nTNT1 A 1 A_Lower\nLoop\nSelect:\nTNT1 A 1 A_Raise\nLoop\nFire:\nTNT1 A 0 A_TakeInventory(\"SightConfirm\")\nTNT1 A 3 A_SpawnItemEx(\"SightChecker\",0,0,0,0,0,0)\nTNT1 A 1 A_JumpIfInventory(\"SightConfirm\",1,\"Summon\")\nTNT1 A 20 ACS_ExecuteAlways(200,0,3)\nGoto Ready+1\nAltfire:\nTNT1 A 2 ACS_ExecuteAlways(108,0,0)\nAlthold:\nTNT1 A 2\nTNT1 A 2 A_Refire\nGoto Ready\nSummon:\nTNT1 A 0 A_TakeInventory(\"SightConfirm\")\nTNT1 A 1 ACS_Execute(202,0,2)\nTNT1 A 20 //ACS_ExecuteAlways(200,0,1)\nGoto Ready+1\n}\n}\n\nactor LevelMasterWeapon_NoCheck : LevelMasterWeapon\n{\nstates\n{\nFire:\nTNT1 A 1 ACS_Execute(202,0,2)\nTNT1 A 20 //ACS_ExecuteAlways(200,0,1)\nGoto Ready+1\n}\n}\n\nactor LevelMasterMana : Ammo\n{\n+INVENTORY.IGNORESKILL\n+INVENTORY.UNDROPPABLE\ninventory.amount 1\ninventory.maxamount 9999\n}\n\n// Bleeds actors still :/\nactor FakePuff : BulletPuff\n{\n+ALWAYSPUFF\n+PUFFONACTORS\n+NOBLOOD\nStates\n{\nSpawn:\nActive:\nCrash:\nMelee:\nXDeath:\nTNT1 A 1\nstop\n}\n}\n\nactor SightChecker\n{\n-SOLID\nPROJECTILE\n+NOGRAVITY\n+LOOKALLAROUND\n+RIPPER\n+NOBLOOD\n+BLOODLESSIMPACT\nrenderstyle none\nheight 20\nradius 1\nStates\n{\nSpawn:\nDeath:\nTNT1 A 0\nPLAY AA 1 A_LookEx(LOF_NOSOUNDCHECK,0,0,0,0,\"See\")\nTNT1 A 0 A_GiveToTarget(\"SightConfirm\",1)\nstop\nSee:\nPLAY A 10\nstop\n}\n}\n\nactor LevelMaster_ZombieMan : LevelMasterWeapon { Weapon.SlotNumber 1}\nactor LevelMaster_ShotgunGuy : LevelMasterWeapon { Weapon.SlotNumber 1}\nactor LevelMaster_DoomImp : LevelMasterWeapon { Weapon.SlotNumber 1 }\nactor LevelMaster_ChaingunGuy : LevelMasterWeapon { Weapon.SlotNumber 1}\nactor LevelMaster_LostSoul : LevelMasterWeapon { Weapon.SlotNumber 2 }\nactor LevelMaster_Demon : LevelMasterWeapon { Weapon.SlotNumber 2 }\nactor LevelMaster_Spectre : LevelMasterWeapon { Weapon.SlotNumber 2 }\nactor LevelMaster_Cacodemon : LevelMasterWeapon { Weapon.SlotNumber 2 }\nactor LevelMaster_HellKnight : LevelMasterWeapon { Weapon.SlotNumber 3 }\nactor LevelMaster_Arachnotron : LevelMasterWeapon { Weapon.SlotNumber 3 }\nactor LevelMaster_Revenant : LevelMasterWeapon { Weapon.SlotNumber 3 }\nactor LevelMaster_Fatso : LevelMasterWeapon { Weapon.SlotNumber 3 }\nactor LevelMaster_BaronOfHell : LevelMasterWeapon { Weapon.SlotNumber 3 }\nactor LevelMaster_PainElemental : LevelMasterWeapon { Weapon.SlotNumber 4 }\nactor LevelMaster_Archvile : LevelMasterWeapon { Weapon.SlotNumber 4 }\nactor LevelMaster_SpiderMastermind : LevelMasterWeapon { Weapon.SlotNumber 4 }\nactor LevelMaster_Cyberdemon : LevelMasterWeapon { Weapon.SlotNumber 4 }\n\nactor LevelMaster_RecoilTrap : LevelMasterWeapon { Weapon.SlotNumber 5 }\nactor LevelMaster_SlowTrap : LevelMasterWeapon { Weapon.SlotNumber 5 }\nactor LevelMaster_FakeExitTrap : LevelMasterWeapon { Weapon.SlotNumber 5 }\nactor LevelMaster_TentacleTrap : LevelMasterWeapon { Weapon.SlotNumber 5 }\nactor LevelMaster_ResurrectionTrap : LevelMasterWeapon { Weapon.SlotNumber 5 }\n\nactor LevelMaster_PowerUp : LevelMasterWeapon_NoCheck { Weapon.SlotNumber 6 }\nactor LevelMaster_Stealth : LevelMasterWeapon_NoCheck { Weapon.SlotNumber 6 }\nactor LevelMaster_Flight : LevelMasterWeapon_NoCheck { Weapon.SlotNumber 6 }\nactor LevelMaster_Might : LevelMasterWeapon_NoCheck { Weapon.SlotNumber 6 }"
      },
      {
        "source": "pk3",
        "name": "classes/traps.txt",
        "contents": "actor RecoilTrap\n{\n-SOLID\n+FLOORHUGGER\n+LOOKALLAROUND\nheight 5\nradius 5\nHealth 1\n+NOBLOOD\n+DONTBLAST\n+SHOOTABLE\n+NORADIUSDMG\nmass 999999\ngravity 100.0\nstates\n{\nSpawn:\nCUBE J 1 A_Look//A_LookEx(LOF_NOSOUNDCHECK, 0, 82, 0,0, \"See\")\nloop\nSee:\nTNT1 A 0 A_JumpIfCloser(102,\"Trap\")\nCUBE J 1 A_ClearTarget\nGoto Spawn\nTrap:\nTNT1 A 0 ACS_Execute(205,0,3)\nTNT1 A 0 A_PlaySoundEx(\"RecoilTrapTrip\",\"Auto\",0)\nTNT1 A 0 A_SpawnItemEx(\"RecoilTrapCube\",0,0,0,0,0,20,0)\nTNT1 AAA 1\nTNT1 A 0 A_PlaySoundEx(\"RecoilTrapExplode\",\"Voice\",0)\nTNT1 A 0 A_FaceTarget\nTNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(121)==1,\"End\")\nTNT1 A 1 A_GiveInventory(\"RadiusPush\",1)\nEnd:\nTNT1 A 4 A_Stop\nstop\nDeath:\nTNT1 A 0 A_PlaySoundEx(\"RecoilTrapExplode\",\"Voice\",0)\nTNT1 A 1 A_SpawnItemEx(\"RecoilTrapCube\",0,0,0,0,0,0,0)\nstop\n}\n}\n\nActor RecoilTrapCube\n{\nheight 1\nradius 1\n+MISSILE\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+DONTBLAST\nStates\n{\nSpawn:\nCUBE A 2\nCUBE A 6 A_Stop\nCUBE FHI 6\nstop\n}\n}\n\nACTOR RadiusPush : ArtiBlastRadius\n{\n+AUTOACTIVATE\n}\n\nactor SlowTrap\n{\nscale 0.5\n-SOLID\n+FLOORHUGGER\n+LOOKALLAROUND\nheight 5\nradius 5\n+DONTBLAST\nmass 999999\ngravity 100.0\ntranslation \"112:127=64:79\"\nstates\n{\nSpawn:\nSLWT A 1 A_Look//A_LookEx(LOF_NOSOUNDCHECK, 0, 82, 0,0, \"See\")\nloop\nSee:\nTNT1 A 0 A_JumpIfCloser(102,\"Trap\")\nSLWT A 1 A_ClearTarget\nGoto Spawn\nTrap:\nTNT1 A 0 ACS_Execute(205,0,1)\nTNT1 A 0 A_PlaySoundEx(\"SlowTrapTrip\",\"Auto\",0)\nTNT1 A 0 A_FaceTarget\nSLWT A 4 A_GiveToTarget(\"SlowDebuff\",1)\nSLWT BC 4\nTNT1 A 0 A_SpawnItemEx(\"SlowTrapFog\",0,0,3,0,0,1,0)\nTNT1 A 0 A_PlaySoundEx(\"SlowTrapExplode\",\"Voice\",0)\nTNT1 AAAAAA 4 A_Stop\nstop\n}\n}\n\nActor SlowTrapFog\n{\ntranslation \"112:127=64:79\"\nheight 1\nradius 1\n+MISSILE\n+NOINTERACTION\n-SOLID\n+NOGRAVITY\n+DONTBLAST\nrenderstyle Translucent\nalpha 0.9\nStates\n{\nSpawn:\nSLWT DEF 3\nFade:\nSLWT GHIJK 4 A_Fadeout(0.1)\nloop\n}\n}\n\nactor SlowDebuff : PowerSpeed\n{\n  Powerup.Duration -8\n  Powerup.Color \"SeaGreen\", 0.1\n  Speed 0.4\n}\n\nactor TentacleTrap\n{\n-SOLID\n+FLOORHUGGER\n+LOOKALLAROUND\nheight 5\nradius 5\n+DONTBLAST\nmass 999999\ngravity 100.0\nstates\n{\nSpawn:\nSSEG A 0\nSSEG L 1 A_Look//A_LookEx(LOF_NOSOUNDCHECK, 0, 82, 0,0, \"See\")\nloop\nSee:\nTNT1 A 0 A_JumpIfCloser(80,\"Trap\")\nSSEG L 1 //A_ClearTarget\nGoto Spawn\nTrap:\nTNT1 A 0 A_JumpIfInTargetInventory(\"TentacleCaught\",1,\"Death2\")\nTNT1 A 0 A_PlaySoundEx(\"TentacleTrapTrip\",\"Auto\",0)\nTNT1 A 0 A_PlaySoundEx(\"TentacleTrapStretch\",\"Auto\",0)\nTNT1 A 0 A_GiveToTarget(\"TentacleCaught\",1)\nTNT1 A 1 ACS_ExecuteAlways(117,0)\nTNT1 A 0 ACS_Execute(205,0,2)\nTrapping:\nTNT1 A 0 A_FaceTarget\nTNT1 A 0 A_SpawnItemEx(\"TentacleSegment\",0,0,0)\nTNT1 A 0 A_SpawnItemEx(\"TentacleSegment\",ACS_ExecuteWithResult(118,0),0,ACS_ExecuteWithResult(118,1))\nTNT1 A 0 A_SpawnItemEx(\"TentacleSegment\",ACS_ExecuteWithResult(118,0) / 2,0,ACS_ExecuteWithResult(118,1) / 2)\nTNT1 A 0 A_SpawnItemEx(\"TentacleSegment\",ACS_ExecuteWithResult(118,0) / 4,0,ACS_ExecuteWithResult(118,1) / 4)\nTNT1 A 1 A_SpawnItemEx(\"TentacleSegment\",(ACS_ExecuteWithResult(118,0) / 4) * 3,0,(ACS_ExecuteWithResult(118,1) / 4) * 3)\nTNT1 A 1 A_JumpIfInTargetInventory(\"TentacleCaught\",1,\"Trapping\")\nDeath:\nTNT1 A 0 A_PlaySoundEx(\"TentacleTrapExplode\",\"Auto\",0)\nTNT1 A 0 A_FaceTarget\nTNT1 A 0 A_SpawnItemEx(\"TentacleSegmentExplode\",0,0,0)\nTNT1 A 0 A_SpawnItemEx(\"TentacleSegmentExplode\",ACS_ExecuteWithResult(118,0),0,ACS_ExecuteWithResult(118,1))\nTNT1 A 0 A_SpawnItemEx(\"TentacleSegmentExplode\",ACS_ExecuteWithResult(118,0) / 2,0,ACS_ExecuteWithResult(118,1) / 2)\nTNT1 A 0 A_SpawnItemEx(\"TentacleSegmentExplode\",ACS_ExecuteWithResult(118,0) / 4,0,ACS_ExecuteWithResult(118,1) / 4)\nTNT1 A 1 A_SpawnItemEx(\"TentacleSegmentExplode\",(ACS_ExecuteWithResult(118,0) / 4) * 3,0,(ACS_ExecuteWithResult(118,1) / 4) * 3)\nDeath2:\nTNT1 A 1\nstop\n}\n}\n\nactor TentacleTrapTest : TentacleTrap\n{\nstates\n{\nSpawn:\nSSEG A 0\nSSEG A 0 Thing_ChangeTID(0,5)\nSSEG L 1 A_Look//A_LookEx(LOF_NOSOUNDCHECK, 0, 82, 0,0, \"See\")\nloop\n}\n}\n\nactor TentacleSegment\n{\n+NOINTERACTION\n//+CLIENTSIDEONLY\n+NOGRAVITY\nHeight 5\nRadius 5\nSpeed 40\nStates\n{\nSpawn:\nSSEG A 2\nstop\n}\n}\n\nactor TentacleSegmentExplode\n{\n+NOINTERACTION\n+NOGRAVITY\n//+CLIENTSIDEONLY\nscale 0.7\nrenderstyle translucent\nalpha 0.8\nStates\n{\nSpawn:\nVFX6 ABCDE 4\nstop\n}\n}\n\nactor TentacleCaught : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor FakeExitTrap\n{\ntranslation \"112:127=176:191\"\n+NOCLIP\n+DONTBLAST\n+CANPASS\n+NOGRAVITY\n+LOOKALLAROUND\nRadius 16\nHeight 16\nrenderstyle translucent\nalpha 0.9\nStates\n{\nSpawn:\nPPOS A 1\nPPOS A 4 Thing_Remove(801)\nPPOS A 0 //A_JumpIf(momz!=0,\"Spawn\")\nPPOS A 0 A_ChangeFlag(\"NOCLIP\",0)\nPPOS A 0 A_ChangeFlag(\"DROPPED\",0)\nPPOS A 0 Thing_ChangeTID(0,801)\nPPOS AAAABBBBCCCCDDDDEEEEFFFFAAAABBBBCCCCDDDDEEEEFFFFAAAABBBBCCCCDDDDEEEEFFFFAAAABBBBCCCCDDDDEEEEFFFFAAAABBBBCCCCDDDDEEEEFFFF 1 A_LookEx(LOF_NOSOUNDCHECK,0,64,0,360,\"Death\")\nPPOS A 0 A_FadeOut(0.5)\nPPOS AAAABBBBCCCCDDDDEEEEFFFF 1 A_LookEx(LOF_NOSOUNDCHECK,0,64,0,360,\"Death\")\nPPOS A 0 A_FadeIn(0.5)\nGoto Spawn+5\nDeath:\nPPOS F 1 A_PlaySoundEx(\"FakeExitTrip\",\"Voice\",0)\nPPOS F 1 ACS_Execute(205,0,5)\nPPOS ABCDEF 3 A_FadeOut(0.05)\nGoto Death+1\n}\n}\n\nactor ResurrectionTrap\n{\n-SOLID\n+FLOORHUGGER\n+LOOKALLAROUND\n+NOCLIP\nheight 32\nradius 500\n+DONTBLAST\nmass 999999\ngravity 100.0\nrenderstyle translucent\nstates\n{\nSpawn:\nREZT A 1 A_Look//A_LookEx(LOF_NOSOUNDCHECK, 0, 82, 0,0, \"See\")\nloop\nSee:\nTNT1 A 0 A_JumpIfCloser(102,\"Trap\")\nREZT A 1 A_ClearTarget\nGoto Spawn\nTrap:\nTNT1 A 0 ACS_Execute(205,0,5)\nTNT1 A 0 A_PlaySoundEx(\"ResurrectionTrapTrip\",\"Auto\",0)\nREZT BCD 4\nREZT D 10 A_FaceTarget\nResurrecting:\nREZT D 0 A_JumpIfInventory(\"LMGenericCounter\",5,\"Death\")\nREZT D 0 A_GiveInventory(\"LMGenericCounter\",1)\nREZT D 20\nREZT EF 4\nREZT A 0 A_PlaySoundEx(\"ResurrectionTrapActive\",\"Auto\",0)\nREZT D 0 A_SpawnItemEx(\"ResurrectionProjectile\",0,0,0,10,0,0,0,SXF_NOCHECKPOSITION)\nREZT D 0 A_SpawnItemEx(\"ResurrectionProjectile\",0,0,0,10,0,0,45,SXF_NOCHECKPOSITION)\nREZT D 0 A_SpawnItemEx(\"ResurrectionProjectile\",0,0,0,10,0,0,90,SXF_NOCHECKPOSITION)\nREZT D 0 A_SpawnItemEx(\"ResurrectionProjectile\",0,0,0,10,0,0,135,SXF_NOCHECKPOSITION)\nREZT D 0 A_SpawnItemEx(\"ResurrectionProjectile\",0,0,0,10,0,0,180,SXF_NOCHECKPOSITION)\nREZT D 0 A_SpawnItemEx(\"ResurrectionProjectile\",0,0,0,10,0,0,225,SXF_NOCHECKPOSITION)\nREZT D 0 A_SpawnItemEx(\"ResurrectionProjectile\",0,0,0,10,0,0,270,SXF_NOCHECKPOSITION)\nREZT D 0 A_SpawnItemEx(\"ResurrectionProjectile\",0,0,0,10,0,0,315,SXF_NOCHECKPOSITION)\nREZT GGGGGGFE 4\nloop\nDeath:\nREZT DCB 4\nFade:\nREZT A 4 A_Fadeout(0.1)\nloop\n}\n}\n\nactor ResurrectionProjectile\n{\n+NOCLIP\n+MISSILE\nHeight 1\nRadius 64\nrenderstyle none\nStates\n{\nSpawn:\nPLAY ABABABABABABABABABABABAB 1 A_Chase(\"\",\"\",CHF_RESURRECT)\nstop\nHeal:\nPLAY H 5 A_Stop\nstop\n}\n}\n\nactor ReviveTester\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"ResurrectionTrap\")\nstop\n}\n}\n\nactor Revivetest\n{\nspeed 0\nradius 128\n+NOCLIP\nrenderstyle none\nStates\n{\nSpawn:\nPLAY A 1 A_Look\nloop\nSee:\nPLAY A 1 A_Chase(\"\",\"\",CHF_RESURRECT)\nloop\nHeal:\nPLAY A 5\nGoto See\n}\n}"
      },
      {
        "source": "pk3",
        "name": "classes/buffs.txt",
        "contents": "actor Buff_PowerUp : Inventory {Inventory.Amount 1 Inventory.MaxAmount 1}\nactor Buff_Stealth : Inventory {Inventory.Amount 1 Inventory.MaxAmount 1}\nactor Buff_Flight : Inventory {Inventory.Amount 1 Inventory.MaxAmount 1}\nactor Buff_Might : Inventory {Inventory.Amount 1 Inventory.MaxAmount 1}\n\nactor LMDoubleDamage : PowerDamage\n{\ndamagefactor \"normal\", 2.0\npowerup.color RedMap\n//powerup.colormap 1.0, 0.0, 0.0\npowerup.duration 0x7FFFFFFF\n}\n\nactor LMGiveStealth : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"STEALTH\",1)\nstop\n}\n}\n\nactor LMGiveFlight: CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nTNT1 A 0 A_ChangeFlag(\"FLOAT\",1)\nTNT1 A 0 A_SpawnItemEx(\"LMFlightFXGiver\",1)\nstop\n}\n}\n\nactor LMGiveMight : CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_ChangeFlag(\"NOPAIN\",1)\nTNT1 A 0 A_ChangeFlag(\"NOBLOOD\",1)\nstop\n}\n}\n\nactor LMFlightFX\n{\n+NOINTERACTION\n//+CLIENTSIDEONLY\n+MISSILE\n-SOLID\nHeight 2\nRadius 2\nSpeed 10\nStates\n{\nSpawn:\nTGL2 ABCDE 2 Bright\nstop\n}\n}\n\nactor LMFlightFXGiver\n{\n+MISSILE\n-SOLID\n+NOINTERACTION\nStates\n{\nSpawn:\nTNT1 A 4 A_GiveToTarget(\"LMFlightFXInventory\",1)\nloop\n}\n}\n\nactor LMFlightFXInventory: CustomInventory\n{\n+AUTOACTIVATE\nStates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"LMFlightFX\", random(-64,64), random(-64,64), 6, 0,0,5,0,SXF_NOCHECKPOSITION)\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.