Counts

endoom0
graphics3
lumps8584
maps0
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "0886c958-f2db-4248-a715-f8acb0a951f4",
    "sha1": "820735b45a09bb8d5e466c4635e1200585338dfb",
    "sha256": "92b0c9f83a5cbf0f0cab7f6a4b6da271e06f512a27e62860539f85925de75709",
    "filenames": [
      "mofp-ix-v1.2.4b(fm)(r7.0)(hpb)(st)(bm)(-s)ptf1.pk3"
    ],
    "additional": {
      "engines": [],
      "iwad": [],
      "filename": null,
      "added": "2021-01-10 03:52:35",
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false,
      "name": null,
      "description": null,
      "maps": null,
      "graphicOverrides": null,
      "screenshots": null,
      "palettes": null,
      "categories": null
    },
    "flags": {
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false
    },
    "added": "2021-01-10 03:52:35",
    "file": {
      "type": "PK3",
      "size": 32008451,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/820735b45a09bb8d5e466c4635e1200585338dfb/820735b45a09bb8d5e466c4635e1200585338dfb.pk3.gz",
      "corrupt": false
    },
    "content": {
      "counts": {
        "endoom": 0,
        "graphics": 3,
        "lumps": 8584,
        "maps": 0,
        "palettes": 0
      }
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "ChangeLogMOP.txt",
        "contents": "Foreword by HiM\nChanges done by HiM. Contact: 123.neo@protonmail.com\nCo-modding, ideas by Johnny Blaze (JB). Contact: johnnyblaze27@optimum.net\n\nThe origins for MOP is based on english version of MOP source (original has russian ranks):\nhttp://www.moddb.com/mods/mopjmod/downloads/release-mopjmod\nSingle WAD file and update with weapon ACS modding was created by JB, called \"MOP4Chillax_D2.2\" long time ago.\nThis was the WAD used for many years, on many servers. No changes were done.\n\nModding on top of \"MOP4Chillax_D2.2\" by HiM started around October/November 2016.\nChanges done from version 1.0 till 2.9.9 without changelog as experiment/fun by HiM.\nProject went more popular and ChangeLog started at 2.9.9.\nSome fork modding on top of HiM mod emerge on various servers, good to know mod is worth putting time and effort into :)\nBest gameplay!\n\nChanges in 3.0.0:\n- AssaultRifle removes scope on weapon switc or AltFire (regular)\n- Railgun removes scope on weapon switch or AltFire (regular)\n- Cybers and Annix take Apocalypse yamato collateral damage at 5% not 10%\n- Archvile take Apocalypse yamato collateral damage at 2% not 3%\n- Apocalypse take yamato damage from another Apocalypse at 15% not 10% (immune to itself)\n- Apocalypse removed flag +QUICKTORETALIATE to do less collateral damage\n- Puppet controlled Cyber, Annix take 5% damage from Apocalypse yamato (was instant death before)\n- Puppet controlled Archvile take 2% damage from Apocalypse yamato (was instant death before)\n- Adjusted ACS 3001. No effect. Powerup can not be taken or replaced until expires in ZAN 2.1.2.\n  Full brigntness keeps till player changes level or dies, spectates.\n\nChanges in 3.0.1:\n- Marine RocketLaucher homing missile AltFireY has increased seeker range (10 to 20)\n- Marine RocketLaucher homing missile AltFireY can avoid wall (bounce) max 3 times\n- Marine PlasmaRifle homing missile AltFireY has increased seeker range (10 to 20)\n- Marine PlasmaRifle homing missile AltFireY can avoid wall (bounce) max 3 times\n- Monster SpiderMastermind has 4500HP, alwaysfast, take only 15% annix yamato damage\n- Puppet SpiderMastermind has 4500HP, take only 15% annix yamato damage, added AltFireX and AltFireY\n- Puppet SpiderPlasma added AltFireX and AltFireY, faster movement\n- Puppet SpiderChaingun added AltFireX and AltFireY, faster movement, health 500\n- Monster SpiderChaingun health 500\n- Puppet CacoLantern added AltFireX and AltFireY\n- Puppet Cyber homing missile AltFireY improved, avoid wall (bounce) max 3 times\n- Puppet Revenant homing missile AltFireY improved, avoid wall (bounce) max 3 times\n- Monster Apocalypse shoots Yamato higher from ground\n\nChanges in 3.1:\n- Pork health increase from 2000hp to 3000hp\n- Pork weapon damage per bite decreased from 3hp to 1hp (was overpowered)\n- Puppet Master can not suicide possessed monster (trolling)\n- Marine can not suicide on instant, takes 4 attempts with 10sec timeout (trolling)\n- Marines have Kicking with leg weapon enabled (bind in controls)\n  Marines do 1-2% damage to other Marines\n  Pig has 200% damage on Kicking\n- KirovCaco to Marines damage increased from 0.25 to 0.33\n- KirovCaco speed increased from 30 to 40\n- KirovCaco removed flag QuickToRetaliate (attacking other monsters)\n- Shadow speed increased from 25 to 40\n- Added new Monster RevenantGrenadier (shoots skeleton grenade)\n- Marine Teamkilling auto-control added, if Teamkills (and suicides) more than 7\n  All weapons except Pistol are removed, all upgrades, removed, rank down to Noob\n\nChanges in 3.2:\n- Puppet Ghost immunized against new damagetypes (monsteres, marines),\n  in event it might occur (ghost already is +NONSHOOTABLE)\n- Puppet Ghost can go through all walls (+NOCLIP)\n- Marine weapon taunt sounds added\n- Marine 2 death sounds added (heretic game)\n\nChanges in 3.3:\n- Duke Taunt update, remove DN04 (ill be back, not a duke sound)\n- Marine Railgun balancing: speed increased by 1 tick, damage decrease random(18,25)x5 to random(16,20)x5\n- Marine AssaultRifle balancing: AltFireX scope damage increase from 12 (regular is 9) to 15\n- Marine AssaultRifle balancing: AltFireY sniper damage increase from random(200,400) to random(300,450)\n- Monster RevenantGrenadier attack agressiveness: health 450, alwaysfast, 200hp pain threshold, 2 grenades\n- Monster MKirovCaco attack agressiveness: alwaysfast, quicktoretaliate\n- Monster Demon Pinky attack agressiveness: health 150 to 300, speed 10 to 15\n- Monster Demon Pinky Mech attack agressiveness: health 300 to 400, speed 15 to 20, melee 5 to 10, no leg sound\n- Monsters do not attack each other (all Cacos, Chaingunguys), +NOINFIGHTING flag\n- Monster Demon Pinkies can jump of ledges if close to marine\n- Monster Annix and AnnixApocalypse take only 12% of Marine superweapon damage\n- Puppet Demon Pinky Mech health 300 to 400, no leg sound\n- Puppet Annix take only 12% of Marine superweapon damage\n\nChanges in 3.4:\n- Puppet Ghost noclip rollback (+NOCLIP removed due to some issues)\n- Puppet MAbaddon grenade damage reduced from 100% to 50%\n- Puppet Revenant grenade damage reduced from 100% to 50% (self damage 10%)\n- Puppet Cyber rocked and grenade cluster reload time increased from 8 tics to 25 tics\n- Puppet CyberAnnix rocked and grenade cluster reload time increased from 12 tics to 25 tics\n- Marine teamdamage changed for BFG splash from 0 to 3%\n- Marine teamdamage changed for Rockets and Grenades from 0 to 3% (fixed AltfireX rocket damage)\n- Marine tamdamage leg kick basic changed from 2.4% to 3% (some kicks had no damage)\n- Marine tamdamage leg kick powered changed from 0.6% to 1% (some kicks had no damage)\n- Marine corpse should not trigger or exit level (NOTRIGGER added on death, removed on spawn)\n- Marine teamkiller deranking disables any weapon pickup (-PICKUP flag)\n- Monster added CyberDemonSeeker with 3 seeker missiles\n\nChanges in 3.5:\n- Marine teamkiller deranking takes effect across levels (-PICKUP on current and next levels)\n  Print messages more explanatory\n- Monster RevenantGrenadier marine damage decreased from 100% to 33% (was OP)\n- Removed all floor splash effects (created lag&CPU hog for Chillax maps 11,13,21 etc as each monster move on floor\n  triggers spawning sprites\n- Monster Revenant has projectile smoke fire sprite removed (created lag&CPU hog for Chillax maps 12,13 etc,)\n  Some projectiles might still have smoke\n- Monster RevenantGrenadier can be revived by Archvile (corpse stays)\n- Monster Shadow -ALWAYSFAST flag removed to allow random moves\n- Monster Demon Pinky, Demon Pinky Mech corpse remove decreased from 1000 to 500 tics,\n  Arm dissaper from never to 250 tics (lag Chillax map 21 etc)\n- Monster Demon jumpoff flag removed\n\nChanges in 3.6:\n- Floor splash effect update to be removed from network fraffic,\n  added 1 tick as TNT1 and +CLIENTSIDEONLY (created lag on server)\n- Monster MDarkImp attack agressivenes: health 120 to 300, speed 10 to 15,\n  no pain, alwaysfast, seekermissile homing agressive, can be raised by arch, changed spawnchanges\n- Monster MCyberDemonSeeker has bit higher chance of spawning\n- Monster MBloodDemon Mech does not have pain (no stop on bullets)\n- Monster MRevenant, Commando and Grenadier have no tracer smoke (network traffic, lag),\n  TracerSmoke is +CLIENTSIDEONLY.\n- Monster Grenadier has larger delay between grenades, can also shoot Plasma\n\nChanges in 3.7:\n- Monster added MCyberDemonRail with railgun, agressive +ALWAYSFAST\n- Monster MCyberDemonSeeker agressiveness, +ALWAYSFAST\n- Monster all cybers take 90% marine railgun damage, MCyberDemonRail take 45%\n- Monster&Puppet seeker missile PCybRocket2 now bounces (monster annix, seeker)\n\nChanges in 3.8:\n- Monster MCyberDemonRail no infighting with other monsters (only marines)\n- Monster MCyberDemonRail has 4 shots, faster reload, changed charge sound, quiter rail sound, less damage random(100,130)\n- Marine TeamkillPunish ACS message now in 1 paragraph\n\nChanges in 3.9:\n- AltFireZ functionality added through ACS\n- Puppet CyberDemon added AltFireZ mode with 4x Railgun (100-130 damage each)\n- Puppet CyberAnnixilator added AltFireZ mode with double 4x Railgun (100-130 damage each\n- Marine PlasmaRifle added AltFireZ mode with Ripper plasma burst\n- Monster cybers (all) do no infighting (only cyber rail before) - does not work\n- Monster CyberRail charge time increased from 60 to 80 tics\n- Marine RocketLauncher not given at spawn. Need to pick up (use AssaultShotgun grenade)\n- Puppet Ghost AltFireX burn speed increased from 30 to 10 tics\n- Marine AdvPistol, AssaultShotgun, AssaultRifle, DBShotgun recoil added (vertical move)\n- Marine AssaultRifle informative messages for AltFireX and AltFireY modes added\n- Marine AssaultShotgun added AltFireX (grenade) and AltFireY (slug) modes\n\nChanges in 4.0:\n- Marine PlasmaRifle AltFireZ Ripper bounces 3 times\n- Monster DarkImp homing range reduced (spam)\n\nChanges in 4.1:\n- Monster Grenadier, CyberAnnix, CyberSeeker missile seek range reduced to 5\\10 and\n  bounce count reduced from 3 to 1 (less spam)\n- Monster AnnixApocalypse does 800 HP self damage after Yamato launch (around 6 shots)\n  Marine exp for this monster reduced to 0 (engine issue, all players get points)\n- Puppet Archivile gets 100HP by raising monster (to counter HP loss on unraisable monsters)\n- Monster CyberRail spawning chances reduced by 50%, have normal Cyber instead\n- Monster CyberRail damage reduced by 50% (50/65 HP)\n\nChanges in 4.2:\n- Puppet ArachPlasma added AltFireZ\n- Puppet Archile added AltFireX and AltFireY firing modes\n- Puppet Pinky HP increased, Punky and Spectre 350HP, MechDemon 500HP\n- Monster AnnixApocalypse does 200 HP self damage after Yamato launch\n\nChanges in 4.3:\n- Puppet CyberDemon and Annixilator homing missile bounces 2 times instead of none\n- Puppet Archivile AltFireX attack tweaked: blast soound, blast power direct hit increase\n- Puppet ArachPlasma AltFireY blast power direct hit increase, speed 12, blast power 5000\n- Puppet Archivile AltFireY attack tweaked: fire rail spawn height decreased, random fire tail move\n- Puppet DoubleChaingunGuy added AltFire X Y Z, health 150 to 200, heal 2HP\n- Puppet ArachtronPlasma, ArachtronGun, Revenant, all 3 barons, 2 fatso,\n  Caco and CacoLantern added/fixed healing\n- Marine BFG gun added limited AltFireX 12 Star shots\n\nChanges in 4.4:\n- Monster Apocalypse randomly drops MegaSphere instead of InvulnerabilitySphere,\n  chance decreased from 96\\255 to 128\\255\n- Puppet Ghost grap monster on fast weapons (sv_fastweapons 1, sv_fastweapons 2)\n  same way as with normal weapons. Might be better, but issue with ACS_ExecuteAlways(406) on fast weapons,\n  there is time delay before new monster can be grabbed (Fire state not active for while at all)\n- Puppet ArachtronPlasma BFF AltFire Y and Star AltFire Z weapon delay reduced from 30 to 20 tics\n- Puppet Archvile FireRail AltFire Y weapon delay reduced from 30 to 20 tics\n- Puppet PainElemental and LostSoul healing added\n\nChanges in 4.5:\n- Marine Vulcan added AltFire X Y Z. Barrel needs spin to use (AltFire).\n  Heat to max 750 degrees (bullets). ACS added to remove 15 degrees each 5 seconds and\n  reset to 0 start of each level. All Vulcan bullets have tracers, AltFire X Y Z rico sounds.\n\nChanges in 4.6:\n- Marine Vulcan fire bright animation fixed for 0 tick sprites\n- Marine Chaigun fire added tracer animation\n- Marine AssaultRifle fire added tracer animation\n- Marine AssaultRifle AltFire Y sniper mode sound added from CounterStrike AWP\n- Marine AssaultRifle AltFire Z added grenade launcher\n- Marine deranked pistol added WEAPON.CHEATNOTWEAPON (give weapons does not result in deranking)\n- Puppet MasterMind, ArachtronPlasma, ArachtronChain AltFireZ fast railgun,\n  ArachtronChain BFG moved to AltFire Y, removed BFG star shot\n- Marine HomingRocket and HomingPlasma angle reduced from 45/90 to 30/60 to have more smooth trajectory\n- Marine AssaultShotgun Added AltFireZ grenade launcher, AltFire Y rail damage increase\n  from 120/150 to 150/180, AltFire X rapid 2x fire with more spread\n\nChanges in 4.7:\n- Monster Behphegor gives 7 experience points (was missing)\n- ACS MMASTER source added from \"mop050_jmod011plus\", current compiled one from \"mop050_jmod008plus\" saved\n  as \"Mmaster_jmod008.o\" (in case need roll back),\n  This is added to enable further improvements regarding ACS as source for current mod was not available.\n- ACS MMASTER Marine Pig kill awards reinforcement reduced from 4 to 2 (-1+2=1)\n- ACS MMASTER kill% to exit (tokillforexit) variable level increased from 50% (GetLevelInfo(LEVELINFO_TOTAL_MONSTERS)/2) to 80% (/5)\n- ACS MMASTER script 425 Marine Pig morph does not remove weapons (vulcan, plasma, bfg)\n- ACS MMASTER title changed to \"Master of Puppets MOD\"\n- ACS MMASTER Max marine reinforcements reduced from 85 to 75 (as was before)\n- Marine death sound added MDeath5 (brutal doom)\n- Monster MKirovCaco HP reduced from 3000 to 2500\n\nChanges in 4.7.1:\n- ACS MMASTER fix counter of active puppeteers (was missing counter, missing on hud)\n\nChanges in 4.8:\n- Marine BFG weapon AltFire X Gravity Wave Blast has 3 consecutive gravity waves on explosion,\n  12 by 3 in total. Animation added. Monsters woken up.\n- Marine BFG weapon AltFire Y Gravity Wave Shield has 7 consecutive gravity waves on explosion,\n  3 by 7 in total. Animation added. Monsters woken up.\n\nChanges in 4.8.1:\n- Marine BFG AltFire X and Y added parameter to affect gravity (engine issue)\n\nChanges in 4.9:\n- Marine BFG AltFire added for Black Hole implosion 3 shots,\n  switched order of AltFire X Y Z, doubled force to 10000 for AltFire X, charge animation\n- Marine RocketLauncher added AltFire Z, napalm\n\nChanges in 5.0:\n- Marine RocketLauncher AltFire Z reload time decreased by 5 ticks,\n  6 extra fire crackers added\n- Marine BFG AltFire Y Black Hole Implosion added damage and radius, 3 to 6 per level\n- Puppet Arch added AltFire Z Napalm Ripper, 50% damagefactor to marines,\n  AltFire Y Ripper added speed increased from 8 to 12 and bounce count from 3 to 4\n\nChanges in 5.1:\n- Puppet Arch Altfire Z does full damage (not 50%), longer burn time block added,\n  homing fire does small damage, faster. AltFire Z looks at target only 2x. 10 tick faster reload, movement slows down on firing\n- Pullet Arch AltFire Y ripper has double speed from 12 to 24, reload time decreased from 30 to 15\n- Puppet Cyber AltFire Z rail has 5 instead of 4 shots, damage increase from 100-130 to 120-150\n- Puppet Cyber Annix AltFire Z rail has damage increase from 100-130 to 120-150, firing speed 3 less tics per double rail\n- Marine RocketLauncher AltFire Z has longer burn time block added\n- Marine PlasmaRifle AltFire Z balanced with 12 to 10 ball decrease per shot\n- Marine BFG AltFire Y Black Hole blast radius increased, increased damage\n\nChanges in 5.2:\n- ACS NightVision is now permanently switched on respawns (switch off on next level),\n  for PuppetMasters still need to switch on as actors change.\n- Monster all Cybers and MasterMind now take radius damage (-NORADIUSDMG)\n- Marine PlasmaRifle X Z projectile sound update from Quake3\n- Marine BFG AltFire X Y Z update. X has less radius from 512 to 300, Y has less radius from 6000 to 300,\n  Z has 21 shots instead of 7, less radius from 512 to 300.\n  A_Blast still kills monsters above walls (A_ThrustThing, TrustThing does not work),\n  that break some levels, but should be less cases now.\n\nChanges in 5.3:\n- Marine PlasmaRifle sound fix (was firing sound on weapon drop)\n- Marine start Green armor decreased from 100 to 75 (original is 50)\n- Spectator can have NightVision enabled\n- Puppet Fatso added AltFireZ fire ripper rail\n- Puppet Fatso Hectebus added AltFireZ fire ripper rail (2x),\n  AltFire Y improved (faster reload)\n- Puppet Arachtron Plasma AltFire Y radius decreased from 512 to 300\n- Monster Cybers dropped spheres can be picket up without glitch (-FLOORCLIP)\n\nChanges in 5.4:\n- Rollback: Monster Cybers added back +FLOORCLIP\n- Rollback: Cybers and MasterMind take no radious damage (BFG)\n- Rollback: Marine start Green armor 100\n- Puppet DoubleChaingunner AltFire Z improved, with cooldown. Max health from 200 to 350.\n- Puppet Fatso and Hectebus AltFire Z rip damage increase from 5 to 10\n- Puppet Arch AltFire Z rip cracker damage increase from 1 to 2\n- Puppet Arch AltFire X A_Blast reduced from 384 to 100, added 90 HP damage on direct hit\n- Puppet Arachtron A+Blast radius decreased from 300 to 100, increased A_Explode damage ranges\n- Puppet Pinky health fix to max 350, 500 (typo in parameters)\n- Rollback: Marine BFG  X Y Z A_Blast radius decreased 300 to 100, X Y increased A_Explode damage to close range and more in mid range\n- Marines need 75% kill on level not 80% to exit\n\nChanges in 5.5:\n- Rollback: Marine corpse is given trigger ability (flying corpse, marine not pushing space to respawn). ChangeFlag removed, NOTRIGGER.\n  Possibly impacting voodoo doll not triggering doors.\n- Rollback: Marine Pig is given trigger ability. ChangeFlag removed, NOTRIGGER.\n  Possibly impacting voodoo doll not triggering doors (pig on trolley).\n- Puppet Cybers have homing missile seeker angle doubled from 5/10 to 10/20.\n- Puppet Revenant given Cyber homing missile angle properties.\n- TeamInfo update to have Marines as 5801 and Puppeteers as 5804 (from 4 teams)\n\nChanges in 5.6:\n- Monster DarkImp removed 200HP pain threshold (spamming), painchance 32/255 (was 200/255)\n- Marine Vulcan weapon AltFire XYZ has double tracers\n- Monster Pinky demons have random 32/255 chance for JumpOn target with bite, bite range increased to 100,\n  Basic demon has higher bite rate (from MechDemon)\n\nChanges in 5.7:\n- Monster MDemon and Spectre fix to deal damage (meleedamage 10), spawner for MSpectre added to replace default monster\n- Monster Pinky spawner includes MSpectre to be spawned (1 piky/3 mech, to 2 pinky, 1 spectre, 9 mech)\n- Monster Zombieman and ShotgunGuy spawner now includes all 6 types of zombies, not just 3 per each,\n  spawn changes balanced\n- Puppet Spectre has healing added on run\n- Puppet CacoLantern has healing increased from 2 to 5\n- Puppet AssaultShotgunGuy made stronger. Health 70 to 250, Heal 5, Speed 0.5 to 0.75,\n  primary fire 6 to 12 pellets, damage per pellet 5 to 6\n- Puppet ChaingunGuy made stronger. Health 80 to 160, Heal 5, Speed 0.5 to 0.75,\n  primary fire damage per bullet 6 to 9\n- Puppet DoubleShotgunGuy made stronger. Health 100 to 200, Heal 5, Speed 0.7 to 0.75,\n  primary fire 16 to 32 pellets, damage per pellet 6 to 9\n- Puppet ShotgunGuy made stronger. Health 30 to 120, Heal 5, Speed 0.5 to 0.75,\n  primary fire 7 to 12 pellets, damage per pellet 5 to 8\n- Puppet RifleGuy made stronger. Health 20 to 100, Heal 5, Speed 0.5 to 0.75,\n  primary fire damage per bullet 8 to 16\n- Puppet ChainsawGuy made stronger. Health 90 to 120, Heal 5, Speed 0.95 to 1.1,\n  primary fire damage per saw 2 to 10\n- Puppet PlasmaGuy made stronger. Health 50 to 250, Heal 5, Speed 0.65 to 0.75,\n  primary fire plasma 3 to 8 shot bursts\n- Puppet DoubleChaingunGuy heal increased from 2 to 5\n- Puppet monsters damagefactor to railgun reduced from 0.7 to 0.35, except Cybers\n- Puppet monsters damagefactor to other than railgun reduced from 0.7 to 0.5, except cybers\n- Puppet Mastermind damagefactor reduced to all marine weapons to 0.7, railgun to 0.5\n- Puppet Cybers BFG damagefactor reduced from 1 to 0.7, marine rail damage from 0.9 to 0.7\n- Marine leg kick damagefactor for marines increased from 0.03 to 0.25, powered 0.01 to 0.1\n\nChanges in 5.8:\n- Puppet Imp made stronger. Health 60 to 180, Heal 5, Speed 0.5 to 0.75,\n  primary fire 1 to 5 shots (1 straight, 4 spread)\n- Puppet DarkImp made stronger. Health 120 to 300 (same as monster), Heal 5, Speed 0.5 to 0.75,\n  primary fire 1 to 5 shots (1 straight, 4 spread)\n- Puppet Shadow made stronger. Health 160 to 320, Heal 10 (same), Speed 1.2 to 1.5,\n  primary fire 1 to 5 shots (1 straight, 4 spread), always 5 shots\n- Puppet SoulHarvester made stronger. Health 100 to 200, Heal 5, Speed 0.5 to 0.75,\n  primary fire 1 to 5 shots (1 straight, 4 spread), always 5 shots\n- Puppet PlasmaGuy, DoubleShotgunGuy, AssaultShotgunGuy healing increased from 5 to 10\n- Puppet all Zombies, Chaingun and Revenant all have jump height 10 (same as marine)\n- Puppet ChainsawZombie health increased from 120 to 180\n- Monster spawner ChaingunGuy and Imp how spawns all 6 zombie rifleman in addition, balanced\n- Monster ZombieRifle health increase 20 to 50\n- Monster ZombieChansaw health increase 90 to 120, melee damage 3 to 12, no idle sound\n- Monster ZombiePlasma health increase 50 to 120\n- Monster ZombieShotgun health increase 30 to 60\n- Monster ZombieAssaultShotgun health increase 70 to 120\n- Monster ZombiePlasma, ZombieAssaultShotgun can be revived by Archvile\n- Monster Cybs and Mastermind are quick to retaliate (+QUICKTORETALIATE)\n- Monster Archvile added 1/7 chance of spawning MArchvileExorcist (alwaysfast)\n\nChanges in 5.9:\n- Balancing: Puppet Hectebus AltFire Y takes longer time to fire/reload\n- Balancing: Puppet AssaultShotgunGuy deal less damage (was mostly instakill),\n  damage per pellet reduced from 9 to 6\n- Balancing: Puppet AssaultShotgunGuy, PlasmaGuy, Shadow and DoubleShotgunGuy heal 5 not 10 points\n- Balancing: Puppet imps fire spread is now random(-15,15) not (-5,5)\n- Puppet AssaultShotgunGuy given AltFire X Y Z modes (faster shoot, cartridge, grenade)\n- Puppet Zombies and Imps (except SoulHarvester), Fatsos are disabled autoaim (+WEAPON.NOAUTOAIM)\n- Marine BFT AltFire Z shield has 25% more duration, AltFire X and Y projectile speed increased 12 to 24\n- Marine can roll left and right (brutal doom), ACS 3012-3013, ACS 3004 updated (crouch&moveleft&back, crouch&moveright&back),\n  this needs server to be with \"compat_ClientsSendFullButtonInfo TRUE\"\n- Marine can kick automatically, ACS 3014 (all 4 move keys pressed), thrust with kick forward up\n- Marine Leg Kick takes 2x more distance, 200 kickback added for impacted\n- Marine Yamato has 90 seconds charging on each level (Yamato mod is separate, but ACS 3015 added here)\n\nChanges in 6.0:\n- Balancing: Number of Apocalypse spawn reduced by 1/30 unit and given to CyberRail,\n  Apocalypse spawn is now not 3/30 but 2/30 or 1 of 15 cybers.\n- Splitted and renamed Custom ACS as CustACS with additional CustACSZ for non common zandronum functions, added to loading\n- Respawn invulnerability MSpawnProt increased from 140 to 150 tics (35 tics = 1 second)\n- Added teleport exit invulnerability MTeleProt 100 tics (need a way to add it during teleport with ACS)\n- Balancing: Puppet Abaddon marine rail damage increased from 35% to 50%\n- Balancing: Puppet AssaultShotgunner primary and AltFireX damage reduced from 6 to 5 per pellet, spread slightly increased,\n  primary fire reload slightly increased, AltFire Y has 12 pellets, 3 damage per pellet\n- Balancing: Puppet Rifle zombie reload spead increased\n- Balancing: Puppet Chainsaw zombie healing is when running not firing, 10 HP\n- Monster KirovCaco health decreased from 2500 to 2000 HP, experience reduced from 50 to 15\n\nChanges in 6.1:\n- Puppet DoubleChaingunner AltFire Z reload increased from 12 to 16 tics\n- Puppet SingleChaingunner added AltFire Z Y Z, healt increased from 160 to 200\n- Puppet Chaingunners added ricochet and tracer animations for AltFires X Y Z\n- Puppet SSGzombie added AltFireX with single barrel shot (more accuracy, 2x less damage per shot)\n- Puppet RifleZombie health increase from 100 to 200, added AltFireX with 4 burst rico\n- Puppet ChansawZombie health increase from 180 to 200, heal 1 per reload, damage 10 to 20 per saw, melee range 150\n- Puppet PlasmaZombie plasma shots increase 8 to 12 per reload\n- Puppet MasterMind AltFireZ min rail damage increased from random(16,25)*2 to random(16,25)*3\n- Puppet Cyber homing missile improved (from PuppetRevenant), PuppetCybRocket2 and PuppetCybRocket3\n- Puppet Cyber AltFireZ homing missile is pack of 3 launch\n- Puppet Pinky, MechPinkie and Spectre melee range 180 given\n\nChanges in 6.2:\n- Fix: ACTOR PuppetBulletRico damagetype changed from \"MarineDamage\" to \"ZombiesDamage\"\n- Puppet Chaingun zombie AltFireX balacing with 9 to 7 HP per bullet reduce\n- Puppet DoubleChaingun zombie max health reduced from 350 to 300\n- Puppet SSG zombie damage reduce per pelled from 6 to 5. Double shot 32 pellets*5. Single shot 16 pellets*5,\n  removed 3 tic lag before shots, added recoil.\n- Puppet Chainsaw zombie speed increased from 1.1 to 1.25\n- Marine SSG weapon added AltFireX with 2 shots. From 22 pellets increased to 32 pellets, damage 6 per pellet.\n  Accuracy main shot is 5/5, AltFireX is 3.5/3.5\n- Monster spawners for Zombie and ShotGunGuy have equal chance for all 6 types of monsters\n- Monster Cyber Apocalypse spawning chance reduced a bit\n\nChanges in 6.3:\n- Puppet ShotGunGuy health increased from 120 to 200\n- Puppet RifleZombie AltFireX balancing: delay between bursts 24 tics, spread increased to 4/3\n- Puppet Archvile MarineRail damagefactor increased from 35% to 50%\n- Puppet AssaultShotgunGuy AltFireY increased damage. 6 rapid shots with 12pellets*3damage increased to 16 pellets*3damage.\n- Puppet Pinky, MechPinky and Spectre update to heal only when walking, remove ghost shadow spawn.\n- Marine AssaultRifle AltFireX scope mode available on weapon pickup (upgrade needed for AltFire Y, Z, secondary)\n- Marine ACS fix: RUnlock6 given at Mrank13 (light vulcan), RUnlock7 given at Mrank14 (Railgun rapid AltFire),\n  ACS 426 update with new values, Marine no unlock mode not Vulcan 35% speed, but 50%. With unlock 95%.\n  Railgun weapon update for AltFire if no upgrade (no fire).\n- ACS update not to reduce reinforcements if Marine is AFK (never moved on a map, or after respawn on map).\n  Added inventory \"PlayerActiveMove\" in ACS 411 update with condition not to reduce, if idle.\n  Updated ACS 3004 to remove inventory on death (net), added ACS 3016, 3017 to check actual input activity on enter or respawn.\n  If Marine becomes AFK during play (actually played after respawn), reinforcement will still be reduced by 1.\n- ACS update 411 for Puppets and marines to clear all skulls on death.\n  \"Teamkill\" inventory made undroppable, cleared on new level start in OPEN script 3009, Mskull cleared in 3009.\n  Puppets now can see level total kills on HUD.\n\nChanges in 6.4:\n- Puppet Archvile speed fix due to ACS 426 marine update,\n  Firing was 10% not 35% speed. Primary and AltFireX is 35% speed, AltFireY, AltFireZ increased to 60%.\n- Puppet HellKnight damage increased from 13 to 15, speed 23 to 32, projectile animation, moving speed from 0.5 to 0.70, no autoaim\n- Puppet BaronOfHell AltFireX has fast projectile from 23 to 32 speed, no autoaim\n- Puppet Belphegor AltFireX has fast projectile from 23 to 32 speed, projectile taken from BaronOfHell (explode),\n  projectile animation added, no autoaim\n\nChanges in 6.5:\n- Marine respawn protection increased from 150 tics (4.3 sec) to 225 tics (6.4 sec), 50% more.\n- Marine respawn protection added Gold color that wears off\n- Marine respawn protection added on level ENTER, not just RESPAWN, ACS 412 updated.\n- Marine Vulcan without upgrade move speed increased from 50% to 70%, with upgrade 95% as regular speed.\n- Marine has key switch to on/off automatic PlayerRollAutoFlag for RollLeft RollRight, ACS 3018, updated ACS 3012, 3013.\n- Marine RollLeft RollRight now separate ACS scripts that can be binded as keys, ACS 3019, 3020.\n- Marine Roll delay decreased from 100 tics to 65 tics, ACS 3012, 3013, 3019, 3020.\n- Marine reload fix for SSG, 10 tics of reload after last sequence\n- Marine BFG overuse primary cools down by 1 shot every 5 secs\n- Puppet ArachtronPlasma BFG refire rate decreased, added 20 tics on reload\n- Puppet RifleZombie AltFireX spread increased from 4/3 to 6/6, damage 15 to 10 per bullet (4 burst)\n- Puppet Barrel health increase from 20 to 100, death or fire results in blast (black hole implode)\n- Puppet SSG zombie reload fix for SSG, 18 tics of reload after last sequence\n\nChanges in 6.6:\n- Puppet Zombie Shotgunner, SSG, AssaultShotgunner drop just weapon, no shells. Assault shotgun dropped, shotgun replaced with MShotgun\n- Puppet ArachtronGunner and Mastermind have bullet tracers and recoil effects\n- Puppet Zombie Plasma added delay 5 tics between 4 plasma bursts, drops PlasmaRifle and not cell\n- Puppet Zombie Rifle drops AssaultRifle and not clip\n- Puppet Zombie Chainsaw drops Chainsaw\n- Full Brightness switch is now permanent across levels (MFullBrightnessFlag), ACS 3001 text notification update\n- Monster KirovCaco A_SkullAttack speed 16 added, added tics before and after\n- Marine BFG AltFireZ added MShieldProt temporary 6 sec (210 tics) invulnerability with green tint\n- Marine BFG AltFireX and AltFireY increased blast push radius from 100 to 150\n- Marine BFG Ball updated with blast damage from AltFireX single shot (some range removed)\n\nChanges in 6.7:\n- Puppet Knight, BaronOfHell, Belphegor balancing, projectile damage decrease from 15 to 10, explode from 8 to 6.\n- Puppet Knight, BaronOfHell, Belphegor balancing, melee damage from 15 increased to 25.\n- [Major] Puppet Ghost voodoo doll fix. Now spawn on trolley will activate switches if Player0 is Puppet.\n  Updated Ghost states: Initial parameters are trigger, gravity, no float.\n  Spawn state just loops (instead going to See directly). See state sets all flags as per Puppet to fly,\n  not trigger any lines, walk through monsters, grab monsters etc.\n  Initial Height and Radius parameters need to be more than 0 to trigger voodoo trolley (set to Radius 16, Height 0).\n  Radius 1 does not roll over trolley, therefore set same as marine 16.\n  Reset back to 0 does not work in Zandronum (A_SetSize(0,0,1)), will not go through walls.\n  Possibly with ACS can be set if needed (APROP_radius, APROP_height by SetPlayerProperty).\n- Puppet zombies with hitscan weapons drop weapon on death.\n  Somehow in Death scene after 0 tick weapon is spawn, Puppet sometimes morphed to Marine!\n  Weapon drop for all zombies put after 16 tics.\n- Marine health regeneration if below 25 HP, inventory MarineHealthRegen added, ACS 3021,\n  heart beat sound added, red screen flash added.\n- Puppet Revenant Homing rocket damage decreased from 96 to 64.\n\nChanges in 6.8:\n- Puppet ShotgunGuy zombie XDeath sprite fix\n- Marine heal ACS 3021 hurt red flash increased from 0.3 to 0.4 intensity,\n  Heal increased from 25 to 30 HP.\n- MMaster ACS 413 updated for HUD counts of marines, puppeteers. Puppeteers were not properly updated.\n  Added Total Player counter.\n\nChanges in 6.9:\n- ACS script 413 for HUD net traffic optimize, run not each 10 tics, but each 50 tics (bit more a second).\n- Puppet ShotgunGuy zombie XDeath sprite fix.\n\nChanges in 7.0:\n- Marine PlasmaRifle homing projectile scanning distance reduced to default 10x64 from 20x64 (net lags).\n- Marine RocketLauncher homing projectile scanning distance reduced to default 10x64 from 20x64 (net lags).\n- ACS script 413 for HUD net traffic optimize, 50 to 70 tics (2 seconds).\n- ACS script 401 update for marine reinforcements, nightmare is 2x not 3x.\n  If there are 75, and monster count is large, add 5-25 more,\n  If there are 75 and monster count is small, reduce 5-35.\n- Marine new weapon QuadShotgun, given at plasma spread upgrade.\n\nChanges in 7.1:\n- Marine BFG AltFire teleport, telestomp fix.\n- Marine QuadShotgun noautoaim flag added, reduced recoil (no QSSG jumps) changed from A_ChangeVelocity to recoil 15.\n  Added AltFireX with 4 rapid shots, added recoil ricochet visuals and ricochet sounds.\n- Puppet Cyber railgun rail damage reduced to random 80-100 //100-130, 120-150\n- Puppet Annixilator railgun rail damage reduced to random 40-50 (2 paralel rails), total 80-100.\n- Puppet Annixilator can shoot only 5 nukes per puppet per level, only after 90 minutes in level.\n  Counter PuppetYamatoLimit, ACS 3009 update to reset counter on level change, damage thing reduced from 2000 to 1000.\n  ACS update to make 90sec inventory undroppable (instead of shared key).\n- BaronOfHell AltFireY self damage increased from 70 to 140, Belhphegor AltFireY self damage increased from 100 to 200.\n- Puppet HellKnight, BaronOfHell, Belphegor,Archvile, Abaddon, Falso, Hectebus, Revenant, Arachtron, ArachGunner, DoubleChaingunner,\n  Pinkie, MechPinkie, Spectre damage factor from marines increased from 0.5 (some 0.35 rail) to 0.6 all.\n- Puppet ZombieShotgunGuy damage decreased from 12x8 to 12x6.\n- Puppet Zombie AssaultShotgunGuy damage decreased for Fire and AltFireX from 12x5 to 10x5.\n- Puppet Zombie Rifle AltFireX damage decreased from 4x10 to 4x8.\n\nChanges in 7.2:\n- Puppet BaronOfHell AltFireY self damage decreased from from 140 to 100.\n- Puppet Belhphegor AltFireY self damage increased from 200 to 100.\n- Marine Quad Shotgun main fire fix of sequence, first fire, then recoil and angle change.\n  AltFireX recoil reduced from 2 to 1 per shot.\n- Marine PlasmaRifle AltFire Y homing limitation 300 with cooldown 3 per 5sec.\n- Marine RocketLauncher AltFire Y homing limitation 30 with cooldown random(0,1) per 5sec.\n- Marine Vulcan Primary limitation 1500 with cooldown 25 per 5sec (slow firing rate when overheat).\n- Puppet Cyber Annixilator max 3 Yamato per level (5 was not working). Self damage 1000 to 2000.\n- All inventory with Doomkey changed to Inventory with undroppable flag.\n  Reset on next level included in ACS 3009.\n- Marine ACS 3007 script update as CourtMartialled is undroppable inventory.\n- Marine HUD added cooldown numbers for weapons: VulcanPrimary, VulcanXYZ, RocketY, PlasmaY, BFG splash.\n\nChanges in 7.3:\n- Marine Vulcan Primary counter fix on refire, cooldown 25 to 50.\n  Counter increased from 1500 to 1750.\n\nChanges in 7.4:\n- Marine Vulcan Primary counter limitation removed.\n\nChanges in 7.5:\n- Marine RocketLauncher AltFire Y homing limitation removed.\n- Marine PlasmaRifle AltFire Y homing limitation removed.\n- Marine Vulcan XYZ counter counts per each shot not by 4/8 (total is the same).\n  Cooldown increased from 15 to 20 bullets per 5sec.\n- Marine BFG Splash cooldown increased from 1 to 2 per 5 seconds.\n- Marine RocketLauncher AltFire Z speed increased from 12 to 15.\n  Added 4 more flame crackers.\n\nChanges in 7.6:\n- Marines un rank-up get full 100% health\n- Marine Quad SSG main recoil reduce from 15 to 5, kickback increase from 700 to 900,\n  Added AltFireY with slower refire, but much higher accuracy, bullet mass increased 5 to 7, extremedamage.\n  ACS 3004 and 3009 added QuadSingleShotUsed clearing. AltFireY does single shots not burts, reload counters added to states.\n- Marine AssaultRifle AltFireY delay fix 3 tics to 0 tics.\n- Marine RailGun fire delay fix 3 tics to 0 tics, gunflash after that.\n- Marine given carrying MedPack with 100 health on level each start. ACS 3010 updated, updated for marines only, 1hp per 5 seconds.\n  ACS 3022 and 3023 added, 3023 added in key binds. Can heal if at least 10 HP charged.\n- Marine BFG AltFireYZ charging time decreased from 240 to 170, sound pitch edited.\n- Monster CyberDemonRail takes 90% from marine Railgun damage instead of 45% before (roll back).\n- Puppet Ghost See and See2 states separated for loop.\n\nChanges in 7.7:\n- [Major] Replaced ACS library MWEP with WWEP2 for 64 player support, ACS source added.\n- Removed old ACS compilation Mmaster_jmod008.o (no issues using newer source observed).\n- ACS 534 update to give sound message on puppet death only, not to all players (including dying marines).\n  Sould is all distance.\n- Monsters added name TAG.\n\nChanges in 7.8:\n- Removed decorate references for ACS 520 (MasterGuns) and 571 (CyberDemonClass, ArchileClass, MasterMindClass).\n  ACS 520 and 571 source added and commented out to keep in MMASTER ACS.\n- Monsters have name TAG.\n- [Major] PreviousWeapon switch LAG fix. Updated ACS 480, 487, 488 to NET instead of clientside.\n  A_Raise states fixed across weapons.\n  Marine SPAWN state separated from SpawnLoop. Invantory HavGun made undroppable with max 1, ACS 3004 updated to clear on death.\n  ACS 480 added delay 70 to allow previous weapon to raise. There were cases when current weapon overwrote previous weapon.\n  Marine weapon Railgun and BFG Select/raise/ready states changed to have quicker raise for previous weapon switch (animation eeded to complete).\n- Pistol for deranked added firing sound.\n\nChanges in 7.9:\n- New Monster FallenColonel added as random spawner. Has 1000 health, 4 weapons BFG ball, BFG splash, railgun, 3 homing rockets.\n- New Puppet FallenColonel added to be grabbed, 3 altfires X Y Z. ACS update scripts 410 and 419.\n- Puppet monster death taunt \"Gotcha\" script 534 updated to reduce volume from 127 to 75. Sound only random 1 in 5 cases (no spam).\n- Puppet Cyber, Cyber Annihillator primary rocket fire speed increased from 20 to 30 (+50%),\n  homing rocket bounce count increased from 2 to 3.\n- Puppet homing rockets improved for Cyber, Cyber Annihillator and Revenant, targeting from 4 to 1 tick in spawn.\n  Cyber, Cyber Annihillator added +screenseeker flag.\n- Puppet Cyber homing rocket count increased from 3 to 4 (cooldown increased 16 to 20 tics),\n  Cyber Annihillator added 2 extra homing rockets.\n- Puppet Fatso and Hectebus have small explosion damage A_Explode (4,64,0,0) (hard to hit crouching marine).\n- Puppet PlasmaZombie has 3 burst on refire.\n- ACS 410 updated with all monster types (drop on altfire). Still need to add them on grab/drop.\n\nChanges in 8.0:\n- Monster fix PCybRocket primary rocket speed rollback from 30 to 20 (PuppetCybRocket has 30).\n- Monster FallenColonel Railgun damage reduce from random(120,180)*5 to random(75,100). Dealth sound fix.\n- Puppet FallenColonel fix for weapon animation on idle (4 sprites). Removed bullet sound, BFG splash and Railgun sound fix.\n- Marine reinforcement slight incremental increase over 1600 monsters, ACS 401 update.\n- Marine last weapon give on respawn update, ACS 488 delay increased from 3 to 4 tics (sometimes last weapon was not given).\n- Marine respawn protection increased by 20 tics from 225 to 245 (6.4 to 7 seconds).\n\nChanges in 8.1:\n- Marine Railgun AltFire Z mode added with rapid rail beam with ricochet from walls.\n- Marine BFG AltFire X damage radius increase on less than in 64 block size (direct or near hit), projectile speed increased 24 to 30,\n  basic damage increased from 20 to 25. A_Blast speed push increase from 20  to 30.\n- Marine deranking ACS 3006 updated with removing Quad SSG (was missing).\n- Monster MFallenColonel balancing: cannot be raised by Arches (expire in 1000 tics), BFG splash count incresed from 8 to 12,\n  BFG ball disabled telestomp ability, weapons attacksound \"\" sound fix removing bullet sound from actor.\n- Puppet FallenColonel balancing: Railgun cooldown tics increased from 30 to 45, BFG splashed count increased from 8 to 10,\n  BFG splashes cooldown increased from 50 to 60 tics.\n- Puppet HellKnight balancing: speed increase from 0.7 to 0.85, jump height increase from 6 to 8.\n- Puppet Red Cacodemon has 3 shots instead of 1, health increase from 400 to 500.\n- Puppet Caco Lantern shot speed increased from 16 to 25.\n\nChanges in 8.2:\n- Marine Railgun AltFire Z fixes: teleport added, firing does not push away enemies but rip them,\n  damage balanced between size of projectile and exposure per tick 70-80 damage (was 75-100 with push),\n  trail decrease from 30 tics to 25 tics, bounce count increased from 6 to 7, no spread straight fire forward,\n  smooth switch from zoomed AltFireX and AltFireY scopes.\n- Marine added individual death counter \"MarineManDown\", undroppable, ACS 3009 updated to reset each level.\n  Marine Class state update to add counter in all death types. Fixed Pain.KPlasma state that ended in death not SpawnLoop.\n  Counter added to Marine huds in SBARINFO as grey counter.\n- Marine Fist/Fists damage type for MFistPuff changed from \"MarineDamage\" (0 friendly damange)\n  to \"MarineKickBasic\" 25% from punch, berserk added new MFistPuffPowered with \"MarineKickPowered\" 10% from punch.\n  Updated MFists berser damage 23 to 25 as basic fist. \"MarineKickPowered\" for leg and punch reduced from 0.1 to 0.07.\n- Monster DarkImp painchance added from 32/256 to 48/256 (do less attack back when fired from rapid weapon).\n- Monster DarkImp, PlasmaZombie, AssaultShotgunZombie, Belphegor, Abaddon, Hectebus, RevenantGrenadier\n  has 1/3 chance of not able to be revived by Archeville (before was infinite revival).\n- Monster Archeville and ArchevilleExorcist reduced chance to not be able to be revived by Arches from 1/4 to 1/3.\n\nChanges in 8.3:\n- Marine on weapon switch (deselect state) AltFire X Y Z is removed, so that next weapon starts with primary fire.\n  This was enabled on respawn and deselect with scope weapons like Railgun, AssaultRifle, but not all weapons.\n  Weapons with default Deselect state missing in weapons added Deselect state from general decorate.\n- Marine AssaultRifle AltFire fix. Scope and AltFire X Y Z was not removed until upgrade.\n\nChanges in 8.4:\n- Monster Fallen Colonel balancing. Take more marine damage: factor 0.5 to 0.6, superweapon 0.07 to 0.2.\n  Monster infight damage reduced from 0.5 to 0.25 across all monster damages. ZombiesDamage 0.5 to 0.1 (less recoil and self damage).\n  Spawner chance reduced for zombieman and shotgunguy (factor 2 to 3 increased for all other monsters).\n  Added obituary message. Updated ACS 417 to have puppet HUD sprite with BFG marine instead of zombie rifleman.\n- Puppet Fallen Colonel balancing. Take more damage marine: factor 0.5 to 0.6, superweapon 0.07 to 0.1.\n  Railgun damage reduced from random(120,180)*5 to random(125,200).\n- Monster Kirov grenades now explode with 0/1/2 bounces, not 9.\n  Replaced A_SkullAttack with Thrust, alwaysfast flag removed. Slightly reduced spawner chance.\n- Marine ranking message updated for Lightweight Vulcan Cannon.\n\nChanges in 8.5:\n- Marine MSpulsphere is not picked up if player already has 200 health (-INVENTORY.ALWAYSPICKUP).\n  Green and Blue armor added same flag (same effect).\n- Marine MMegasphere is not picked up if player already has 200 health and 200 armor (-INVENTORY.ALWAYSPICKUP). ACS 3024 added.\n- Marine reinforcement fix for small levels. ACS 401 updated, simplified counter. 75 reinforcements by default,\n  nightmare has 2x, non-boss level adjustment as before (large levels more, small levels less), boss level 75 (2x if nightmare).\n- Puppet Annixillator yamato limit per level increased 3 to 5, nuke self damage reduced from 2000 to 1500.\n\nChanges in 8.6:\n- Monster Fallen Colonel randomly (52/256, 20%) drops golden armor with 300 points and 75% absorption rate.\n  Can be equipped together with Megashphere, but not if already has 200/200 health armor.\n  Spawn and HUD sprites changed to Gold color. Textures added scaling for AICONG, green and blue armor to 10/7.\n  HUD placement centered to 5/189 instead of 5/190.\n  Green Armor has absorption rate 33.3%, Blue Armor 50%. Golden Armor keeps more health at expense of armor.\n- Monster chance of dropping weapon reduced not to spawn too many weapons around.\n  Out of 256 chance, chaingunners 64 to 32, SSG AssaultSG Plasma 64 to 32, Chainsaw 256 to 32, Shotgun 256 to 0.\n\nChanges in 8.7:\n- Marine Golden Armor capacity increase from 300 to 350 (drains fast at 75% absorption).\n- Marine AssaultShotgun AltFireX damage increase per pellet 6 to 8 points.\n- Monster Fallen Colonel drops Golden Armor more often (77/256, 30%).\n- Puppet Fallen Colonel dying with ghost always drops Golden Armor.\n- Puppet Hell Knight added AltFire X Y Z.\n- Puppet Baron of Hell and Belphegor added AltFire Z ramming. MeleeRange 130 option added. Melee state punch faster after 4 ticks not 8, 4 added later.\n\nChanges in 8.8:\n- Monster Belphegor AltFire Z fix (was not working)\n- Puppet Fallen Colonel balancing, railgun damage increase random(125,200) to random(150,250)\n\nChanges in 8.9:\n- Monster Cyber Anihillator Apocalypse always explodes on death with Yamato.\n- Puppet Cyber Anihillator Apocalypse randomly 1 in 2 explodes on death with Yamato.\n- Monster Spider Mastermind added flag +NOINFIGHTING (as all cybers have),\n  Spider Mastermind and all Cybers added flag not to be infighted by other monsters (+NOTARGET).\n- Monster Cyber Anihillator and Puppet Cyber Anihillator health increase from 4500 to 5000.\n- Monster Spider Mastermind and Puppet Spider Mastermind health increase from 4500 to 5000.\n- Puppet Cyber AltFire Z railgun damage increase from 80-100 to 100-120.\n- Puppet Cyber Anihillator AltFire railgun damage increase from 40-50 (per rail) to 50-60 (per rail).\n- Marine MSpawnProt reduced from 245 to 210 tics (7 to 6 secs).\n- Monster Spider Mastermind and Cybers have 0.03 of monster Yamato damage (was 0.05, 0.15 Spider).\n- Marine Advanced Pistol AltFire added 5 tick delay after burst.\n- Marine Assault Shotgun AltFire X double shot damage per pellet reduced from 8 to 7 (regular is 6).\n- Monster Cyber Anihillator Apocalypse spawner chance increased from 3 to 4 shares.\n- Puppet Baron of Hell and Belphegor AltFire Z improve, punch moved up in animation few ticks.\n- Puppet Spectre Spawn and See states have brutal Spectre sprites with eyes only. Full body only when fire or die.\n\nChanges in 9.0:\n- Monster FallenColonel blood color changed from red to darkgreen.\n  BFG Splash fix (FallenColonelMBFG10kShot) for distance, reload time incresed, damage reduced from 50 to 10.\n  Can not hurt sampe species flag (except bfg spray for all monsters), damage type changed to ZombiesFCDamage, 0 to same species.\n- Monster SpiderMastermind fire damage increase (8-16), decorate update replacing built in A_SPosAttack. Bullet tracers added.\n  Richchet sounds added.\n- Puppet FallenColonel blood color changed from red to darkgreen.\n- Puppet Ghost push limitation 5 times, with cooldown 1 each 30 secs. ACS 3009 updated for inventory PuppetPushLimit removal level start.\n  ACS 3025 added to cooldown each 30 secs 1 push. Ghost decorate states updated.\n\nChanges in 9.1:\n- Monster FallenColonel BFG splash fly speed increased from 15 to 20.\n- Marine Invuln deflect mode remove (counts as teamkill somehow) from all Invulnerability items.\n- Puppet Ghost added AltFire Z mode (monster heal by 2 HP on radius 600 each 1 tick).\n- Puppet AltFireY push limitation increased from 5 to 8.\n- Puppet AltFire XYZ is on refire mode with one time message, if fire button released, XYZ is reset to 0 (can possess).\n  Many novice players got lost with unable to possess monster until AltFire XY or Z is switched off manually.\n- Puppet Annixillator primary fire update (2fast, 2 homing, 2 fast, 2 homing) instead of 4 homing pack in middle.\n- Puppet Cyber and Annixillator homing rocket has 2 tics instead of 1 in spawn.\n- Puppet Archville projectile radius increase from 4-10, larger fire cracker sprite radius 10, Z mode kept 4,\n  AltFireZ tweak.\n\nChanges in 9.2:\n- Puppet Cyber and Annixillator deathreactor state fix to exclude A_BossDeath and TID change in beginning not after spawning nuke.\n- Puppet Ghost AltFireX flame is now limited 54 with cooldown 12 each 30 seconds, but does 1/3 flame damage (random 1-8) HP damage.\n  ACS 3009 and 3025 updated with new inventory PuppetFlameLimit. ForcePain flag added.\n- Puppet Ghost AltFireY fix to include overuse check on start of fire not just before refire.\n- Puppet Ghost AltFireZ heal 3HP instead of 2HP.\n- Puppet Archvile AltFireZ starting fire MVileFireP damage reduce 2 to 1 (random 1-8 not 2-16) as there are 5 flames.\n\nChange in 9.2.6.2\n- Added changes to log and slight balance adjust for Black Ops\n- Puppet Ghost sprite changed to Ghostbusters Slimer sprite\n- Puppet make killable by THX1138 for better balancing while puppet in ghost form\n- Hud overhaul the old hud was just to cluttered in places and some readouts were nearly unreadable so major hud redesign.\n- Hud Redesign includes new hud graphics and fonts nearly all hud contents has reedited position placements\n- Runlocks 4 & 5 have been moved to rank 6 this was originally for test purposes but got left in due to popular demand this is subject to change\n- Changed Plasma Gun sprites to Ones done by JDRedalert, but plasma shot is my own design. fire and alts should be as near to the original as i could get them.\n- Changed Fallen Colonel to Black Ops because i think they look better and also avoids the confusion of him looking the same as the players.\n- The black ops is a random generator between male and female spawns that runs from the fallen colonels actor call, the morth state is just male who uses the marines assault shotgun with alts (i'm lazy couldnt be bothered to figure it all out but it works)\n- There has be a couple of previous revisions where i have been adjusting black ops balancing this is still subject to change.\n- Moved internal wads contents to correct folders they were just addition sprites and sound, and removed wads this should speed up load times.\n\nChanges in 9.2.6.3\n- Added GatlaserVarient this is a varient of Thx1138s Gatlaser that he acquired from Realm667 and recoded, Varient version has modified sprites rearranged animation sequences and a alt fire mode also intergration into mop, thie is currently subject to play testing.\n- Also forgot to mention in last update that Black ops were acquired from Realm667, sprites by them recoding by me.\n\nChanges in 9.2.6.4\n- Improved GatLaserVarients fire rates on primary fire and Xalt fastfire and slowed homing rate slightly as well as speeded up animations.\n- added xyz alt fires and improved change overs between different fire modes, returning to normal fire is still a bit clunky\n- added overheat counter for xyz fire modes.\n- generally tidied up code for gatlaser varient and moved to slot 9, gun becomes available on rank 13 or is it 14 one of them.\nChanges in 9.2.6.6a\n- Added 3 new guns Raygun which has replaced ADMpistol and has standard and alt shots, Electrogun which shares with GatlaserVarient on slot 9 this has normal and alt shots.\n- And Sawthrower again has standard and alt shots, none of them have xyz alts i may add them in at a later date but for no im considering them starter guns.\n- have added random looney quotes to Gatlaser Varient and new guns apart from raygun that says the pistols quote on equip Magnum which sounds a bit odd because it isn,t\n- i may change this at a later date.\n- added numeric xp counter that displays over xp bar\n- This Verision still has the standard xp system that resets on each rank up until Colonel where it stops at 480\n- also added revive + above health replenish to try and let players know what it is.\n- Think thats it laters.\nChanges in 8.2.6.6d\n- opps forgot new weapon Damage factors, now included and remove numeric xp counter seems pointless on this version.\nChanges in 9.2.6.6e\n- Added MegaBlast, TeslaCannon & Cryobow\nChanges in 9.2.6.6i\n- increased weapon swap speed, Arranged Weapon Select for the more popular weapons to be selected first. fixed Cryobows team damage.\n- added in yamato and hpbar.\n- reintroduced replenish timer for megablast but may change gun is to powerful i think and increased tesla shots to 1000.\n- general replenish timer changed to 30sec\nChanges in 9.2.6.6ie\n- Removed Replenish timer for megablast and set to 50 primary and 100 secondary.\n- fixed Electroguns decal staying to long.\n- hopefully fixed black ops puppet fire so can actually do decent damage to marines added limit counter to alt fires to deter spamming doorways with grenades and such like.\n- generalised damage to ghost so should be more balanced rather than bam he's dead.\n- changed Yamato max shots back to HIMs ratings rather than THXs as overuse leads to performance hits specially when spamming homing nukes or Thunderthingies or whatever they are called.\nChanges in 9.2.6.6_Uber_Edition\n- made extra weapons into separate Decorate\n- made yamato into separate Decorate basically to cut Decorate lengths down for easier editing.\n- Increased Yamato Start time to 3 minutes\n- Removed Hpbar dont think is nessesary to be included really.\n- Again Added in 30 sec Replenish counter but decreased megablast shot damage was way to overpowered and increased shots to 100 for primary and 200 for secondary.\n- Reused the homing shot counters for rocket and plasma, there isn't really a limit unless they somehow manage to use 999999 shots, is just something to keep track of how many homing shots they're using.\n- Added UberMinigun, LightMachinegun to hopefully give a bit more oomph when starting off, Also added HeavyMachineGun but it isn't announced so Surprise!! UberMinigun has 3000 round limit (We don't want to go to overboard now do we) but does recharge slowly.\n- Tweaked Electrogun so primary fire faster and does more damage and secondary fires slightly slower and slightly less damage as is triple shot looks quite cool too.\n- Adjusted Tesla limit counter to 5000 is quite effective gun that hardly anybody uses.\n- Tweaked Sawthrower to fire slightly faster and deal more damage more effective now.\nChanges in 9.2.6.6_Ixtra\n- Fixed a slight issue with gatlaser varient\n- Added a second timer for Marine cooldown 1 30sec timer for megablast,1 5 sec timer for all other guns that use cooldown.\n- Cleaned up Black Ops Script a bit more they now have have decorateswithout ref to fallen colonel. so now puppets can be male or female black ops. Though left FallenColonelSpecies in just because.\n- Added New Monsters ZombieMissleTank and ZombiePlasmaTank then are subject to tweakage depending on how well or not so well they muller the marines cant tell properly without some proper play testing.\n- Added Altfires to Uberminigun secondary,Sawthrower xyz,tesla xzy,Raygun xyz,Heavy&Light Machinegun grenade Secondaries, Cryobow Secondary Ballista Shots & made a few adjustments.\nChanges in 9.2.6.6_Ixtra_v1.2.1\n- Added new monster Mr Scientist loosely based on the Fallen Colonel he has purple rail,bfg,minirockets but less powerful and bfg fires purpley-white instead of green.\n- Cooldown timer set to single 15 seconds\n- Removed overheat warning it spams the console to much.\n- Removed Cooldown from Tesla & GatLaserVariant\n- Added more opengl defs for various shots that i overlooked originally have to wait for feed back on them as i dont use opengl.\n- Readjusted Black Ops puppet hopefully not invicible now.\n- Readjusted spawns for new monsters.\n- Fixed Grenade Alt on Rocket Freezing on weapon swap (Slight Typo Opps).\n- Set ghost code back to Hims Settings but removed Ghosts ability to harm Marines(They'll have to get in a monster)\n- Set Rocket Damage from team to 0 less accidents that way\n- Added new style golden armour (Im not good with shading but i like it) with gldefs.\n- Adjust a couple of slight niggles with sawshot spread alt and tesla spread alt.\nChanges in 9.2.6.6_ixtra_v1.2.2\n- updated GLdefs including BFG and Plasma Alts that were missing or broken.\n- Changed Zombie & ZombieTank Plasma shots to green and updated GLdefs & Decals to suit.\nChanges in 9.2.6.6_Ixtra_v1.2.3\n- Marine Energy Weapons GLdefs removed to see if this would help with occasional performance issues.\nChanges in 9.2.6.6_Ixtra_v1.2.4\n- Added XYZ Indicator for all marine weapons & Puppet Monsters\n- Displays what Alts are available and what are disabled\n- XYZs that are disabled or not used are button disabled too\n- also changes to display which alt is in use\n- also changes to display cooldown messages and overuse messages\n- Changed Spectre Sprites they are now a semi-transparent green\n- also reduced their melee range slightly as well as the demons melee range too\n- added kick counters for Cyber Annihilator, Cyber Demon, ArchVile & MasterMind\n- This should hopefully reduce spamming with what are basically super monsters.\n- Added Sound wavs for announcing the ending Marine or Puppets Win\n- Added new graphics for Marine Cooldown Counters\n- did a small fix on Rocket Launcher Alt Z not returning to normal fire when alts disabled\n- made the overheat and kick counters display max amount and countdown.\n Changes in 9.2.6.6_Ixtra v1.2.4b >>>Reyalp<<< aka Manic Enterprises\n - This addresses the issues\n - the pig snout issue, on throwing weapons,\n - sawthrower not reselecting and altfire teamkill\n - the Z alt remaining on when deselecting yamato.\n - Zombietank size issues and spawn locations\n - Black Ops speghetti code improved\n - Kirov sprite Improvements plus decorate adjustments\n - decal lag\n - Rewrote Bfg fire animations\n - added settings to yamato mostly server side\n - added in map start countdown off by default unless wanted\n - etc etc...."
      },
      {
        "source": "pk3",
        "name": "ChangeLogYamato.txt",
        "contents": "ChangeLog started at 2/12Y 1.7.\n\nChanges in 2/12Y 1.8:\n- Flag set to +EXTREMEDEATH\n- Weapon.PreferredSkin \"BFG10kMarine\" (not a rifle as before)\n- Kick with Leg enabled for this weapon\n- Nuke and Mini Nuke can be teleported\n- Recoil added 25 for Nuke, 10 for Mini Nuke\n- Weapon taunts added\n\nChanges in 2/12Y 1.9:\n- Fix, message \"Rank too low\" not showed any more when player is Mrank15 (Colonel)\n- Update order of code for overuse\n\nChanges in 2/12Y 2.0:\n- Weapon activated only after 90 seconds on level start per player (MOP 5.9 ACS)\n- Explode in the sky property (+SKYEXPLODE)\n\nChanges in 2/12Y 2.1:\n- Added weapon save support from MWEPS2 in MOP7.7, ACS_executeAlways(480,0,8,0,0)\n\nChanges in 2/12Y 2.2:\n- Added AltFire X Y Z: bending laser, rapid mode, thunderball\n- Switched order of Primary and AltFire (due to X Y Z not to fire large one due to human error)\n- Used fire counter added after firing, not before\n- Fixed Select/Sel state for last weapon switch ACS, raise sequence, weapon ready animation\n\nChanges in 2/12Y 2.3:\n- AltFireX: shots per level increase 160 to 180, direct damage decrease from 12 to 6,\n  splash damage increase from 4/8 to 15/20. Splash radius increase from 256 to 200, scale 0.7 to 0.8, no seeker\n- AltFireY: shots per level increase 60 to 70, direct damage decrease from 100 to 50,\n  splash damage increase from 25/75 to 70/120. Splash radius increase from 256 to 300.\n- AltFireZ: shots per level increase 8 to 10, bounce count increase 16 to 25\nChanges in here are by >>>ReYalP<<< aka ManiC\n- made all shot amounts adjustable through use of cvars serverside only set by host\n- Nukes left and right mouse buttons can be switched to suit the user by either typing Altbuttons in console or setting a switch key the perference is saved\n- Nuke start timer is adjustable serverside by host"
      },
      {
        "source": "pk3",
        "name": "Ixinded Weapons CREDITS.txt",
        "contents": "Ixtinded Weapons Credits\nAll new weapon additions are from Realm667 apart from Plasma Rifle Sprites & Sound that are from JDRedAlerts Site.\n\nElectrogun Credits\n\nSubmitted: Xim\nOriginal Decorate: Xim     (Reedit for Mop >>>ReYalP<<<)\nGLDefs: Xim\nSounds: Monolith Productions\nSprites: Jimmy Beaubien\nSprite Edit: Ravage\n\nPlasma Rifle Credits\n\nSubmitted: jdredalert\nOriginal Decorate: jdredalert   (Reedit for Mop >>>ReYalP<<<)\nSounds: Midway, Marvel Studios\nSprites: Eriance (aka Amuscaria)\n\nRayGun Credits\n\nSubmitted: Captain Toenail\nOriginal Decorate: Captain Toenail   (Reedit for Mop >>>ReYalP<<<)\nSprites: Doom, Hexen, Strife, CyClones\nSpriteEdit: Captain Toenail\nSounds: TimeSplitters\nIdea Base: Cod W@W/Fallout 3 rayguns\n\nSawThrower Credits\nSubmitted: Xim\nOriginal Decorate: Daniel    (Reedit for Mop >>>ReYalP<<<)\nSprites: Xatrix (RR)\nSounds: Xatrix (RR)\n\nStunnerRifle aka MegaBlast Credits\n\nSubmitted: Ghastly_dragon\nOriginal Decorate: Tormentor667 (Reedit for Mop >>>ReYalP<<<)\nGLDefs: Keksdose\nSprites: Eriance, Raven Software\nSounds: Raven Software\n\nTeslaCannon Credits\n\nSubmitted: lolo_is_cool\nOriginal Decorate: lolo_is_cool       (Reedit for Mop >>>ReYalP<<<)\nSprites: Monolith Productions\nSounds: id Software, ZeroProphet\nIdea Base: Tesla Cannon from Blood\n\nUberMinigun Credits\n\nSubmitted: lolo_is_cool\nDecorate: lolo_is_cool                (Reedit for Mop >>>ReYalP<<<)\nSprites: Croteam,  TheDarkArchon\nSprite Edit: Lolo_is_cool\nSounds: Croteam\nIdea Base: N/A\n\nHeavy & Light MachineGuns Credits\n\nSubmitted: HellCattX\nOriginal Decorate: HellCattX     (Reedit for Mop >>>ReYalP<<<)\nSprites: ID Software\nSounds: Firearms 3.0 PKM\nSprite Edit: HellCattX\nIdea Base: Machineguns\n\nCryobow Credits\n\nSubmitted: Bloax\nOriginal Decorate: Xaser, zrrion the insect, Bloax           (Reedit for Mop >>>ReYalP<<<)\nSprites: Xaser, zrrion the insect, Bloax, Paul NMN, NeoWorm, Velocity, Banjo Software.\nSounds: Unknown\nSprite Edit: zrrion the insect, Bloax, Xaser\nIdea Base: Ethril called it a railgun crossbow\n\nGatling Laser aka GatLaserVarient Credits\n\nOriginal Idea and Concept for MoP Thx1138 (GatLaser With Rail not Varient)\nSubmitted: BadMojo\nOriginal Decorate: BadMojo               (Reedit & AltFires for Mop >>>ReYalP<<<)\nSounds: BadMojo\nOriginal Sprites: IdSoftware, BadMojo\nOriginal Sprite Edit: BadMojo              (Reedit for Mop >>>ReYalP<<<)\nIdea Base: I guess it reminds me of the gatling laser from fallout 4 but doom style\n\nAnd Finally Though not a Weapons\n\nThe Black Ops Replacer for the Fallen Colonel\nCredits\nSubmitted: TODM\nOriginal Decorate: TODM, Ghastly       (Reedit for Mop >>>ReYalP<<<)\nGLDefs: none\nSounds: Unreal 2, Doom 3\nSprites: Rogue\nSprite Edit: TODM\n\nZombie Missile\\Plasma Tank Credits\nDecorate: Xim                (Reedit/write for Mop >>>Rayalp<<<\nGLDEFs: Dreadopp, Ghastly Dragon, Xim (Brightmaps)\nSounds: Id Software, 3DRealms\nSprites: Id Software, 3DRealms, David G\nSprite Edit: Xim\nIdea Base: Pig Tank from Duke Nukem 3D\nHUD Sprite Edit >>>Reyalp<<<\n\nDeployable Shield\nSubmitted: David Raven\nDecorate: Captain Toenail, David Raven\nSounds: Quake 2, Half Life\nSprites: Doom, Duke3D, Rogue Entertainment\nSprite Edit: Captain Toenail, scalliano, David Raven\nIdea Base: David Raven\n\nPenguins Custom Runes MIT License......\n\nCopyright (c) 2020 Penguin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
      },
      {
        "source": "pk3",
        "name": "Classes/MarineClass.txt",
        "contents": "ACTOR MarineClass : PlayerPawn\n{ Speed 0.95\n  Health 100\n  Radius 16\n  Height 56\n  Mass 100\n  PainChance 255\n  Player.ColorRange 112, 127\n  Player.DisplayName \"Marine\"\n  Player.CrouchSprite \"PLYC\"\n  Player.JumpZ 10 //added\n  Player.StartItem \"Mrank0\",1 //Starting rank on joining game //5\n  Player.StartItem \"StartArmor\", 1 //Armor given on spawn\n  Player.StartItem \"MClipBox\", 20\n  Player.StartItem \"MShellBox\", 10\n  Player.StartItem \"MRocketBox\", 10\n  Player.StartItem \"MCellPack\", 20\n  Player.StartItem \"Sawbox\", 15\n  Player.StartItem \"Bolts\", 50\n  Player.StartItem \"CryoBolts\", 10\n  Player.StartItem \"BallistaBolts\", 10\n  Player.StartItem \"WhatTheFckAmmo\", 100\n  Player.startItem \"TeleportSpot\",1\n  //Player.startItem \"-Shotgun-\",1\n  //Player.startItem \"-SuperShotgun-\",1\n  Player.WeaponSlot 0,\"-WhatTheFckgun-\"\n  Player.WeaponSlot 1,\"-Fist-\",\"-Fists-\",\"-Chainsaw-\",\"-SawThrower-\"\n  Player.WeaponSlot 2,\"-DesertEagle-\",\"-Raygun-\",\"-Cryobow-\"\n  Player.WeaponSlot 3,\"-QuadShotgun-\",\"-Shotgun-\",\"-SuperShotgun-\",\"-AssaultShotgun-\"\n  Player.WeaponSlot 4,\"-HeavyMachinegun-\",\"-AssaultRifle-\",\"-LaserMachinegun-\",\"-UberMinigun-\",\"-Vulcan-\"\n  Player.WeaponSlot 5,\"GrenadeLauncher\",\"-TeslaCannon-\",\"-RocketLauncher-\"\n  Player.WeaponSlot 6,\"-PlasmaRifle-\",\"-RailGun-\"\n  Player.WeaponSlot 7,\"-MegaBlast-\",\"-BFG10K-\"\n  Player.WeaponSlot 8,\"-YamatoNuke-\"\n  Player.WeaponSlot 9,\"-ElectroGun-\",\"-GatLaserVarient-\"\n  DamageFactor \"Suicide\", 0.00005\n  DamageFactor \"MarineKickBasic\", 0\n  DamageFactor \"MarineKickPowered\", 0\n  DamageFactor \"Control\", 0\n  DamageFactor \"MarineDamage\", 0\n  DamageFactor \"BFGSplash\", 0\n  DamageFactor \"MarineRLDamage\", 0\n  DamageFactor \"MarineRail\", 0\n  DamageFactor \"MarineSuperweapon\", 0\n  DamageFactor \"PorkDamage\", 0\n  DamageFactor Disintegrate, 0\n  DamageFactor Sawshot, 0\n  DamageFactor \"Electric\", 0\n  DamageFactor Ice, 0\n  DamageFactor \"KPLASMA\", 1\n  DamageFactor \"ImpBallDamage\", 1\n  DamageFactor \"CacoDamage\", 1\n  DamageFactor \"SkelDamage\", 1\n  DamageFactor \"FatsoDamage\", 1\n  DamageFactor \"KnightDamage\", 1\n  DamageFactor \"ArachDamage\", 1\n  DamageFactor \"ZombiesDamage\", 1\n  DamageFactor \"viledamage\", 1\n  DamageFactor \"Slime\", 0.25 //1\n  DamageFactor \"ZombieTankDamage\", 1\n  DamageFactor \"KirGrenDamage\", 0.33 //monster\n  DamageFactor \"SkelDamageGren\", 0.33 //monster\n  DamageFactor \"AbaddonGrenDamage\", 0.5 //puppet\n  DamageFactor \"RevenantGrenDamage\", 0.5 //puppet\n  +NOSKIN\n  +NOTELEFRAG\n  +THRUSPECIES\n  SPECIES \"MarinePlayerSpecies\"\n  LimitedToTeam 0\n  States\n  {\n  Spawn:\n    PLAY A 0\n    PLAY A 0 A_JumpIfInventory(\"WhatWeapon\",1,\"SpawnLoop\")\n    PLAY A 1 //ACS_NamedExecuteAlways(\"WeaponReselectNet\",0)\n\tPLAY A 0 A_GiveInventory(\"WhatWeapon\",1)\n  SpawnLoop:\n\tPLAY A 0 A_ChangeFlag (\"NOPAIN\", 0)\n\tPLAY A 1\n\tPLAY A 0 A_jumpifinventory(\"kicking\",1,\"kick\")\n    goto SpawnLoop\n  See:\n\tPLAY A 0 Thing_ChangeTid(0,390)\n\tPLAY A 0 A_jumpifinventory(\"kicking\",1,\"kick\")\n    PLAY AAAA 1\n    PLAY BBBB 1\n    PLAY CCCC 1\n    PLAY DDDD 1\n    Loop\n  Missile:\n    PLAY E 12\n\tPLAY A 0 Thing_ChangeTid(0,390)\n    Goto Spawnloop\n  Melee:\n    PLAY F 6\n    Goto Missile\n  Pain:\n    PLAY G 4\n    PLAY A 0 A_jumpifinventory(\"kicking\",1,\"kick\")\n    PLAY G 4 A_Pain\n    Goto Spawnloop\n  Kick:\n\tPL32 \"[\" 2 ThrustThing(angle*256/360,10,0,0)\n\tPL32 \"[\" 1 ThrustThingZ(0,10,0,1)\n    PL32 \"[\" 3\n    PL32 \"]\" 3\n    PL32 \"z\" 3\n    PL32 \"]\" 3\n    PL32 A 0 A_TakeInventory(\"Kicking\",1)\n    GOTO Spawnloop\n  Pain.KPLASMA:\n    PLAY G 4\n    PLAY A 0 A_jumpifinventory(\"kicking\",1,\"kick\")\n    PLAY G 4 A_Pain\n\tGOTO Spawnloop\n  Death.KPLASMA:\n    PLAY H 0\n    GOTO Death\n  Death:\n    PLAY H 0 A_JumpIfInventory (\"NoTeamkillhere\",1,4)\n    PLAY H 0 A_GiveToTarget (\"Mskull\",1)\n\tPLAY H 0 A_GiveToTarget (\"Teamkill\",1)\n\tPLAY H 0 A_GiveInventory(\"MarineManDown\",1)\n\tPLAY H 0 A_TakeInventory(\"NoTeamkillhere\",1)\n\tPLAY H 0 A_TakeInventory(\"WhatWeapon\",1)\n\tPLAY H 0 A_GiveInventory(\"-poop-\",1)\n    PLAY H 0 Thing_changeTid(390,0)\n\tPLAY H 0 A_PlayerSkinCheck(\"AltSkinDeath\")\n    PLAY H 10\n    PLAY I 10 A_PlayerScream\n    PLAY J 10 A_NoBlocking\n    PLAY KLM 10\n    PLAY N -1\n    Stop\n  AltSkinDeath:\n    PLAY H 6\n    PLAY I 6 A_PlayerScream\n    PLAY JK 6\n    PLAY L 6 A_NoBlocking\n    PLAY MNO 6\n\tPLAY O 1\n    PLAY P -1\n\tStop\n  XDeath:\n    PLAY O 0 A_JumpIfInventory (\"NoTeamkillhere\",1,4)\n    PLAY O 0 A_GiveToTarget (\"Mskull\",1)\n\tPLAY O 0 A_GiveToTarget (\"Teamkill\",1)\n\tPLAY O 0 A_GiveInventory(\"MarineManDown\",1)\n\tPLAY O 0 A_TakeInventory(\"NoTeamkillhere\",1)\n\tPLAY O 0 A_TakeInventory(\"WhatWeapon\",1)\n\tPLAY H 0 A_GiveInventory(\"-poop-\",1)\n    PLAY O 0 Thing_changeTid(390,0)\n\tPLAY O 0 A_PlayerSkinCheck(\"AltSkinXDeath\")\n    PLAY O 5\n    PLAY P 5 A_XScream\n    PLAY Q 5 A_NoBlocking\n    PLAY RSTU 5\n\tPLAY V 1\n    PLAY W -1\n    Stop\n  altSkinXDeath:\n    PLAY Q 5 A_PlayerScream\n    PLAY R 0 A_NoBlocking\n    PLAY R 5 A_SkullPop\n    PLAY STUVWX 5\n\tPLAY X 1\n    PLAY Y -1\n    Stop\n}}"
      },
      {
        "source": "pk3",
        "name": "Classes/MarineInv.txt",
        "contents": "actor MarineExp : AMMO\n{inventory.amount 1\n inventory.maxamount 20\n  states\n  {Spawn:\n    TNT1 A -1\n    stop}}\nactor Mrank0 : inventory\n{inventory.amount 1\n inventory.maxamount 1\n  states\n  {Spawn:\n    TNT1 A -1\n    stop}}\nactor Mrank1   : Mrank0 { }\nactor Mrank2   : Mrank0 { }\nactor Mrank3   : Mrank0 { }\nactor Mrank4   : Mrank0 { }\nactor Mrank5   : Mrank0 { }\nactor Mrank6   : Mrank0 { }\nactor Mrank7   : Mrank0 { }\nactor Mrank8   : Mrank0 { }\nactor Mrank9   : Mrank0 { }\nactor Mrank10  : Mrank0 { }\nactor Mrank11  : Mrank0 { }\nactor Mrank12  : Mrank0 { }\nactor Mrank13  : Mrank0 { }\nactor Mrank14  : Mrank0 { }\nactor Mrank15  : Mrank0 { }\nactor Mrank16  : Mrank0 { }\nactor Mrank17  : Mrank0 { }\nactor RUnlock1 : Mrank0 { }\nactor RUnlock2 : Mrank0 { }\nactor RUnlock3 : Mrank0 { }\nactor RUnlock4 : Mrank0 { }\nactor RUnlock5 : Mrank0 { }\nactor RUnlock6 : Mrank0 { }\nactor RUnlock7 : Mrank0 { }\nactor Expc     : Mrank0 { }\nactor Expd     : Mrank0 { }\nactor Expe     : Mrank0\n{inventory.maxamount 2}\nactor sinner   : Mrank0\n{inventory.maxamount 2}\nactor PM_AltFireX : Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor PM_AltFireY:Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor PM_AltFireZ:Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor PM_ZoomoffX:Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor PM_ZoomoffY:Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor BootanX:Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor BootanY:Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor NoTeamkillhere : Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor FckingStop : Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor DisableXYZ : Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor NoFavGunsAvailable : Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 4\n}\nactor Altfiring : Inventory\n{\n  inventory.Amount 0\n  inventory.MaxAmount 1\n}\nactor RankStore : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 20\n+Inventory.Undroppable}\nactor ShowHud : Inventory\n{ Inventory.Amount 0\ninventory.maxamount 1\n+Inventory.Undroppable}\nactor WhichRank : Inventory\n{ Inventory.Amount 0\ninventory.maxamount 1\n+Inventory.Undroppable}\nactor TimeLimit : Inventory\n{ Inventory.Amount 0\ninventory.maxamount 1\n+Inventory.Undroppable}\nactor WhatWeapon : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable}\nactor WeaponSelectFail : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable}\nactor NetWeaponSave : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 30\n+Inventory.Undroppable}\nactor NetInvSave : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 10\n+Inventory.Undroppable}\nactor CliWeaponSave : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 30\n+Inventory.Undroppable}\nactor CliInvSave : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 10\n+Inventory.Undroppable}\nactor EnterCheck : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable}\nactor TempNetSave : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 100\n+Inventory.Undroppable}\nactor PlayerPos : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 100\n+Inventory.Undroppable}\nactor MTeleport : Inventory\n{inventory.Amount 0\n  inventory.MaxAmount 100}\nactor HomshotTally : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 9000\n+Inventory.Undroppable}\nactor MVulcanPrimary_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1750\n+Inventory.Undroppable }\nactor MegaPrimary_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 900\n+Inventory.Undroppable}\nactor UberPrimary_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 9000\n+Inventory.Undroppable }\nactor MegaAlt_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 900\n+Inventory.Undroppable}\nactor SawThrowX_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 2000\n+Inventory.Undroppable}\nactor RayGunAlt_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 2000\n+Inventory.Undroppable}\nactor GatlaserZ_Counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 9000\n+Inventory.Undroppable}\nactor MVulcanAltFireXYZ_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 5000\n+Inventory.Undroppable}\nactor MBFG10K_Splash_Used : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 2000\n+Inventory.Undroppable }\nactor MBFG10K_BFG_Used : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 400\n+Inventory.Undroppable }\nactor MBFG10K_BFG_Use : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable }\nactor MBFG10K_GravityWaveBlast_Used : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 300\n+Inventory.Undroppable }\nactor MBFG10K_GravityWaveBlast_Use : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable }\nactor MBFG10K_BlackHole_Used : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 200\n+Inventory.Undroppable }\nactor MBFG10K_BlackHole_Use : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable }\nactor MBFG10K_GravityWaveShield_Used : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 100\n+Inventory.Undroppable }\nactor MBFG10K_GravityWaveShield_Use : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable }\nactor QuadSingleShotUsed : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 4\n+Inventory.Undroppable}\nactor TeleportID : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 7000\n+Inventory.Undroppable}\nACTOR Yamato_SecLevelStart : inventory\n{ Inventory.MaxAmount 1\n+Inventory.Undroppable }\nactor PlayerActiveMove  : inventory\n{  inventory.maxamount 1  }\nactor XYZALTSX : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1}\nactor XYZALTSXY : XYZALTSX{}\nactor XYZALTS : XYZALTSX{}\nactor XYZALTX : XYZALTSX{}\nactor XYZALTY : XYZALTSX{}\nactor XYZALTZ : XYZALTSX{}\nactor XYZALTXC : XYZALTSX{}\nactor XYZALTYC : XYZALTSX{}\nactor XYZALTZC : XYZALTSX{}\nactor XYZALTSC : XYZALTSX{}\nactor Vulcaninfo : XYZALTSX{}\nactor XYZALTD : XYZALTSX{}\nactor Cooloff : XYZALTSX{}\nactor XYZALTN : XYZALTSX{}\nactor INVENZ : XYZALTSX{}\nactor INVENYZ : XYZALTSX{}\nactor VuloCool : XYZALTSX{}\nactor BFGCool : XYZALTSX{}\nactor UberCool : XYZALTSX{}\nactor MegaCool : XYZALTSX{}\nactor MaltCool : XYZALTSX{}\nactor RayCool : XYZALTSX{}\nactor SawCool : XYZALTSX{}\nactor GatCool : XYZALTSX{}\nactor shooting : XYZALTSX{}\nactor shootingM : XYZALTSX{}\nactor shootingB : XYZALTSX{}\nactor shootingU : XYZALTSX{}\nactor shootingV : XYZALTSX{}\nactor shootingA : XYZALTSX{}\nactor shootingR : XYZALTSX{}\nactor shootingS : XYZALTSX{}\nactor shootingG : XYZALTSX{}\n//Checks for full Ammo given state and doesn't give again\nactor VulcanGot : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable\n}\nactor BFGGot : VulcanGot{}\nactor UberGot : VulcanGot{}\nactor MegaGot : VulcanGot{}\nactor MAltGot : VulcanGot{}\nactor RayGot : VulcanGot{}\nactor SawGot : VulcanGot{}\nactor GatGot : VulcanGot{}\nactor ThrowCheck : VulcanGot{}\nactor Mapstart : VulcanGot{}\nactor Debug : VulcanGot{}\nactor Homshot : VulcanGot{}\nactor HomShotTallys : VulcanGot{}\nactor StartPlasCounter : VulcanGot{}\nactor PlasmaHomingInf : VulcanGot{}\nactor RaygunInf : VulcanGot{}\nactor SawthrowInf : VulcanGot{}\nactor GatlaserInf : VulcanGot{}\nactor StopMoaning : Inventory\n{Inventory.Amount 0\nInventory.MaxAmount 1\nstates\n  {Spawn:\n    TNT1 A -1\n    stop}}\nactor AltMiniG : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable}\nACTOR Yamato_Nuke_Used : Inventory\n{Inventory.MaxAmount 50\n+Inventory.Undroppable}\nACTOR Yamato_AltNuke_Used : Inventory\n{Inventory.MaxAmount 100\n+Inventory.Undroppable}\nACTOR Yamato_AltFireX_Used : Inventory\n{ Inventory.MaxAmount 500\n+Inventory.Undroppable}\nACTOR Yamato_AltFireY_Used : Inventory\n{ Inventory.MaxAmount 300\n+Inventory.Undroppable}\nACTOR Yamato_AltFireZ_Used : Inventory\n{ Inventory.MaxAmount 200\n+Inventory.Undroppable}\nACTOR Yamato_Nuke_Use : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable}\nACTOR Yamato_AltNuke_Use :Yamato_Nuke_Use{}\nACTOR Yamato_AltFireX_Use :Yamato_Nuke_Use{}\nACTOR Yamato_AltFireY_Use :Yamato_Nuke_Use{}\nACTOR Yamato_AltFireZ_Use :Yamato_Nuke_Use{}"
      },
      {
        "source": "pk3",
        "name": "Classes/KillsInv.txt",
        "contents": "actor KilCntDisabled : Inventory //Detailed Kill Count\n{inventory.amount 0\n inventory.maxamount 1\n states\n  {Spawn:\n    TNT1 A -1\n    stop}}\nactor KilledTotal : Inventory\n{inventory.amount 0\n inventory.maxamount 9999\n  states\n  {Spawn:\n    TNT1 A -1\n    stop}}\nactor Arachno : KilledTotal{}\nactor ArachGu : KilledTotal{}\nactor BaronHl : KilledTotal{}\nactor Belpheg : KilledTotal{}\nactor CacoDem : KilledTotal{}\nactor CacoLan : KilledTotal{}\nactor Abadoon : KilledTotal{}\nactor ChainGu : KilledTotal{}\nactor ChainG2 : KilledTotal{}\nactor CyberDe : KilledTotal{}\nactor CyberSe : KilledTotal{}\nactor CyberRa : KilledTotal{}\nactor CyberAn : KilledTotal{}\nactor CyberAp : KilledTotal{}\nactor DdomImp : KilledTotal{}\nactor DrrkImp : KilledTotal{}\nactor Shaddow : KilledTotal{}\nactor SoulHar : KilledTotal{}\nactor Mancbus : KilledTotal{}\nactor Hectbus : KilledTotal{}\nactor HellKgt : KilledTotal{}\nactor Revnant : KilledTotal{}\nactor RevComo : KilledTotal{}\nactor RevGred : KilledTotal{}\nactor ShotGuy : KilledTotal{}\nactor MMSShot : KilledTotal{}\nactor MMAShot : KilledTotal{}\nactor BlackMa : KilledTotal{}\nactor BlackFe : KilledTotal{}\nactor SpidMin : KilledTotal{}\nactor Wolfens : KilledTotal{}\nactor MrScien : KilledTotal{}\nactor ZomiMan : KilledTotal{}\nactor ZomiCha : KilledTotal{}\nactor ZomiPla : KilledTotal{}\nactor ZomiRoc : KilledTotal{}\nactor LostSul : KilledTotal{}\nactor PainEle : KilledTotal{}\nactor Archvil : KilledTotal{}\nactor ArchExl : KilledTotal{}\nactor StonDem : KilledTotal{}\nactor Spectri : KilledTotal{}\nactor BlooDem : KilledTotal{}\nactor KiroCac : KilledTotal{}\nactor MisTank : KilledTotal{}\nactor PlaTank : KilledTotal{}\nactor PupMorh : KilledTotal{}"
      },
      {
        "source": "pk3",
        "name": "Classes/MarinePiggie.txt",
        "contents": "// Pig for TeamKillers\nACTOR PigMarine : PlayerPawn\n{Health 3000 //500\n  PainChance 255\n  Scale 1.5\n  Radius 18\n  Height 33\n  Speed 0.50\n  Player.JumpZ 5\n  Player.Viewheight 36\n  Player.SoundClass \"SPigMarine\"\n  Player.DisplayName \"Pig Teamkiller\"\n  Player.MorphWeapon \"PigSnout\"\n  Player.WeaponSlot 1,PigSnout\n  -PICKUP\n  +NOSKIN\n  +NOTARGET //added - not attacked by monsters\n  -COUNTKILL //added\n  -FRIENDLY //added - monsters will not attack\n  DamageFactor \"Slime\", 0\n  DamageFactor \"Control\", 0\n  DamageFactor \"Suicide\", 0 //added\n  DamageFactor \"MarineKickBasic\", 2\n  DamageFactor \"MarineKickPowered\", 2\n  DamageType \"PorkDamage\" //added - not to harm marines\n  States\n  {Spawn:\n\tMPIG A 0 SetPlayerProperty(0,0,0)\n    MPIG A 1\n    MPIG A 1\n    Loop\n  See:\n    MPIG ABCD 3\n    Loop\n  Pain:\n    MPIG A 4 A_PlaySoundEx (\"mpig/pain\",\"body\")\n    Goto Spawn\n  Melee:\n  Missile:\n    MPIG AB 4\n    Goto Spawn\n  Death:\n    MPIG E 4 A_PlaySoundEx (\"mpig/death\",\"body\")\n    MPIG F 1 A_NoBlocking\n\tMPIG F 1 A_GiveToTarget (\"MarineExp\",10)\n\tMPIG F 1 A_SpawnItem(\"MSoulsphere\",0,0)\n\tMPIG F 0 A_TakeInventory (\"PigSnout\",1)\n\tMPIG F 0 ACS_ExecuteAlways (428)\n    MPIG G 4\n    MPIG H 3\n    MPIG IJK 4\n    MPIG L -1\n    Stop}}\n\nACTOR PigSnout : Weapon\n{Weapon.SelectionOrder 99999\n  +WEAPON.DONTBOB\n  +WEAPON.MELEEWEAPON\n  Weapon.Kickback 10\n  DamageType \"PorkDamage\"  //added\n  States\n  {\n  Ready:\n    MWPG A 4 A_WeaponReady\n\tMWPG A 1 A_Jump (127,1) //0\n\tloop\n\tMWPG B 8 A_PlaySoundEx (\"mpig/active\",\"weapon\")\n    Goto Ready\n  Deselect:\n    MWPG A 1 A_Lower\n\tMWPG A 0 A_TakeInventory (\"PigSnout\",1)\n    Loop\n  Select:\n    MWPG A 1 A_Raise\n  Fire:\n    //MWPG A 0 SetPlayerProperty (0, 1, 0)\n    MWPG A 4 A_PlaySoundEx (\"mpig/active\",\"weapon\")\n\tMWPG A 2 A_CustomPunch (1,0,0,\"MFistPuff\",0)\n\tMWPG A 2 A_CustomPunch (1,0,0,\"MFistPuff\",0)\n    MWPG B 2\n\tMWPG A 2 A_CustomPunch (1,0,0,\"MFistPuff\",0)\n\tMWPG A 2 A_CustomPunch (1,0,0,\"MFistPuff\",0)\n    MWPG B 2\n\tMWPG A 2 A_CustomPunch (1,0,0,\"MFistPuff\",0)\n\tMWPG A 2 A_CustomPunch (1,0,0,\"MFistPuff\",0)\n    MWPG B 2\n\t//MWPG A 0 SetPlayerProperty (0, 0, 0)\n    Goto Ready}}"
      },
      {
        "source": "pk3",
        "name": "Classes/PuppetClass.txt",
        "contents": "//PuppetClass\nactor PuppetClass : playerpawn\n{ Speed 1//0.7\n  Health 1\n  Radius 16 //0\n  Height 0 //0\n  Mass 100\n  PainChance 0\n  Player.ViewHeight 25\n  Player.DisplayName \"PuppetMaster\"\n  Player.SoundClass  \"PuppetMaster\"\n  Player.StartItem     mastergun\n  Player.WeaponSlot 1, mastergun\n  FloatSpeed 1\n  Alpha 0.60\n  scale 0.7\n  +NODAMAGE\n  -NOBLOODDECALS\n  -DONTSPLASH\n  -NOINTERACTION\n  -SHOOTABLE\n  -SOLID\n  -PICKUP\n  -TELESTOMP\n  -FRIENDLY\n  +CANNOTPUSH\n  +NONSHOOTABLE\n  +NOTARGET\n  Renderstyle \"translucent\"\n  SPECIES \"PuppetPlayerSpecies\" //added - simultaneous teleporting\n  //Team \"PuppetPlayerTeam\" //added\n  limitedtoteam 1\n  States\n {Spawn:\n\tTNT1 A 0\n\tSPIR A 1 ACS_NamedExecuteAlways(\"ClearAmmoDisplay\",0)\n  Gap:\n    TNT1 A 0\n    SPIR A 4\n\tLOOP\n\tLOOP\n  See:\n\tTNT1 A 0 SetPlayerProperty (0, 1, 1)\n\tTNT1 A 0 SetPlayerProperty (0, 1, 3)\n\tTNT1 A 0 A_changeflag(\"float\",1)\n\tTNT1 A 0 A_changeflag(\"nogravity\",1)\n\tTNT1 A 0 A_changeflag(\"NOBLOCKMAP\",1)\n\tTNT1 A 0 A_changeflag(\"NOTRIGGER\",1)\n\tTNT1 A 0 A_changeflag(\"NOCLIP\",1)\n\tTNT1 A 0 A_GIVEINVENTORY(\"mastergun\",1)\n\tTNT1 A 0 A_GIVEINVENTORY(\"active\",1)\n\tTNT1 A 0 Thing_ChangeTid(0,144)\n\tTNT1 A 0 A_SpawnItemEx (\"MGhost\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)\n\tSPIR A 4\n\tLOOP\n  Missile:\n\tSPIR E 1\n\tgoto see\n  Death:\n\tTNT1 A 1 A_hidething\n\tTNT1 A 1 A_TakeInventory(\"onteam\",1)\n\tTNT1 A -1\n\tstop}}\nactor MGhost\n{ +NOBLOCKMAP\n  +NOGRAVITY\n  +NOTELEPORT\n  Renderstyle \"translucent\"\n  Alpha 0.02\n  scale 0.7\n  +NOTRIGGER\n  States\n {Spawn:\n    SLIM A 4\n    SLIM A 1 Thing_ChangeTid(0,143)\n  Death:\n    SLIM A 4\n    TNT1 A  0\n    TNT1 A  1 Thing_Remove(143)\n    STOP}}\nACTOR MDeathGhost\n{ +NOBLOCKMAP\n  +NOGRAVITY\n  +NOTELEPORT\n  alpha 0.30\n  scale 0.8\n  +NOTRIGGER\n  States\n  {Spawn:\n    SPIR EFGHIJK 3\n    stop}}\n\nACTOR PuppetMonsterTarget\n{ Health 1\n  Radius 1\n  Height 1\n  Mass 1\n  Speed 8\n  Damage 1\n  Monster\n  +FLOAT\n  +NOGRAVITY\n  +DONTFALL\n  -COUNTKILL\n  -SOLID\n  Tag \"\"\n  States\n  {Spawn:\n    TNT1 A 5\n  Death:\n    TNT1 A 0\n    Stop}}"
      },
      {
        "source": "pk3",
        "name": "Classes/PuppetInv.txt",
        "contents": "// Player kill count\nactor Mskull : Inventory\n{ inventory.amount 1\n  inventory.maxamount 9999 //6\n  states\n  {Spawn:\n    NULL A -1\n    stop}}\n// Total teamkill counter per level\nactor Teamkill : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 9999\n+Inventory.Undroppable }\n// Individual death counter per level\nactor MarineManDown : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 9999\n+Inventory.Undroppable }\nactor ACtive : Inventory\n{ inventory.amount 1\n  inventory.maxamount 6}\nactor onteam : Inventory\n{inventory.maxamount 1}\nactor closeit : Inventory\n{inventory.maxamount 700}\n//Added\nActor FHeat: Inventory{}\n//Puppet 3 nuke counter per level\nactor PuppetYamatoLimit : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 5\n+Inventory.Undroppable }\n//Puppet Push AltFire limitation\nactor PuppetPushLimit : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 8\n+Inventory.Undroppable }\n//Puppet Flame AltFire limitation\nactor PuppetFlameLimit : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 54\n+Inventory.Undroppable }\n//PuppetBlackOps Rail & Grenade OverHeat counter\nactor PuppetBlackOpsYZ_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 5000\n+Inventory.Undroppable}\n//CyberDemons CyberAnnihilators Spiderminds ArchViles\n//will now be classed as Super Weapons So will now have a Limited Usage.\n//CyberAnnihilator OverHeat kick counter\nactor PuppetCyberAnni_Counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 2000\n+Inventory.Undroppable}\n//CyberDemon OverHeat kick counter\nactor PuppetCyberDemon_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 5000\n+Inventory.Undroppable}\n//SpiderMind OverHeat kick counter\nactor PuppetSpiderMind_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 9000\n+Inventory.Undroppable}\n//ArchVile OverHeat kick counter\nactor PuppetArchVile_counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 2000\n+Inventory.Undroppable}\n//Moloch Overuse Counters\nactor PuppetMoloNail_Counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 9000\n+Inventory.Undroppable}\nactor PuppetMoloGrenade_Counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1000\n+Inventory.Undroppable}\nactor PuppetMoloBolt_Counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 2000\n+Inventory.Undroppable}\nactor PuppetMoloWraith_Counter : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 2000\n+Inventory.Undroppable}\nactor OverUsed : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1}\n/*Counter kick State Inventories*/\nactor DoKickVile : OverUsed{}\nactor DoKickDemon : OverUsed{}\nactor DoKickAnni : OverUsed{}\nactor DoKickMMind : OverUsed{}\nactor BlckCool : OverUsed{}\nactor MoloNailCool : OverUsed{}\nactor MoloGrenCool : OverUsed{}\nactor MoloBoltCool : OverUsed{}\nactor MoloWrthCool : OverUsed{}\nactor Cyrocketshot : OverUsed{}\nactor Cyrailshot : OverUsed{}\nactor Spidershot : OverUsed{}\nactor VileShot : OverUsed{}\nactor Blckshot : OverUsed{}\nactor MoloNailshot : OverUsed{}\nactor MoloGrenshot : OverUsed{}\nactor MoloBoltshot : OverUsed{}\nactor MoloWrthshot : OverUsed{}\n//Checks for Inventory Given and doesn't give again\nactor SpiderGot : Inventory\n{ Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable}\nactor DemonGot : SpiderGot{}\nactor AnniGot : SpiderGot{}\nactor VileGot : SpiderGot{}\nactor BlckGot : SpiderGot{}\nactor PuppetTimerStarted : SpiderGot{}\nactor CyberRail : SpiderGot{}\nactor CyberSeek : SpiderGot{}\nactor CyberApoc : SpiderGot{}\nactor RevComm : SpiderGot{}\nactor RevGren : SpiderGot{}\nactor ExorVile : SpiderGot{}\nactor HuntThemDown : Inventory\n{\nInventory.Amount 0\nInventory.MaxAmount 1\nstates\n  {Spawn:\n    TNT1 A -1\n    stop}}"
      },
      {
        "source": "pk3",
        "name": "Effects/Effects.txt",
        "contents": "actor FBulletPuff : BulletPuff\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  DamageType \"ZombiesDamage\"\n}\nACTOR MTeleportFog_gone replaces TeleportFog\n{\n  +CLIENTSIDEONLY //network traffic optimization\n States\n  {\n  Spawn:\n    TNT1 A 1\n    Stop\n  }\n}\n//Original actor is still being called somehow\nACTOR BloodSplashBase_gone replaces BloodSplashBase\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MBloodSplashBase : BloodSplashBase_gone replaces BloodSplashBase_gone\n{\n  //scale 0.8\n  //States\n  //{\n  //Spawn:\n  //  BSPH EFGHIJK 4\n  //  Stop\n  //}\n}\n//Original actor is still being called somehow\nACTOR WaterSplashBase_gone replaces WaterSplashBase\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MWaterSplashBase : WaterSplashBase_gone replaces WaterSplashBase_gone\n{\n  //scale 0.8\n  //States\n  //{\n  //Spawn:\n  //  SPSH EFGHIJK 4\n  //  Stop\n  //}\n}\n//Original actor is still being called somehow\nACTOR SludgeSplash_gone replaces SludgeSplash\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST //not in original\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MSludgeSplashBase : SludgeSplash_gone replaces SludgeSplash_gone\n{\n  //scale 0.8\n  //States\n  //{\n  //Spawn:\n  //  SLDG EFGH 4\n  //  Stop\n  //}\n}\n\n//Original actor is still being called somehow\nACTOR SlimeSplash_gone replaces SlimeSplash\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST //not in original\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MSlimeSplash : SlimeSplash_gone replaces SlimeSplash_gone\n{\n  //scale 0.8\n  //States\n  //{\n  //Spawn:\n  //  SLIM EFGH 4\n  //  Stop\n  //}\n}\n\n//Original actor is still being called somehow\nACTOR LavaSplash_gone replaces LavaSplash\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MLavaSplash : LavaSplash_gone replaces LavaSplash_gone\n{\n  //scale 0.8\n  //States\n  //{\n  //Spawn:\n  //  LVAS ABCDEF 5 Bright\n  //  Stop\n  //}\n}\n\n//Original actor is still being called somehow\nACTOR BloodSplash_gone replaces BloodSplash\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST\n  //+MISSILE //in original\n  //+DROPOFF //in original\n  //+NOTELEPORT //in original\n  //+LOWGRAVITY //in original\n  //+CANNOTPUSH //in original\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MBloodSplash : BloodSplash_gone replaces BloodSplash_gone\n{\n   //scale 0.8\n   //States\n   //{\n   //   Spawn:\n   //      BSPH ABCD 6\n   //      Stop\n   //   Death:\n   //      BSPH D 6\n   //      Stop\n   //}\n}\n\n//Original actor is still being called somehow\nACTOR WaterSplash_gone replaces WaterSplash\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST\n  //+MISSILE //in original\n  //+DROPOFF //in original\n  //+NOTELEPORT //in original\n  //+LOWGRAVITY //in original\n  //+CANNOTPUSH  //in original\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MWaterSplash : WaterSplash_gone replaces WaterSplash_gone\n{\n  //scale 0.8\n  //States\n  //{\n  //Spawn:\n  //  SPSH ABCD 6\n  //  Stop\n  //Death:\n  //  SPSH D 6\n  //  Stop\n  //}\n}\n\n//Original actor is still being called somehow\nACTOR SludgeChunk_gone replaces SludgeChunk\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST\n  //+MISSILE //in original\n  //+DROPOFF //in original\n  //+NOTELEPORT //in original\n  //+LOWGRAVITY //in original\n  //+CANNOTPUSH //in original\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MSludgeChunk : SludgeChunk_gone replaces SludgeChunk_gone\n{\n  //scale 0.8\n  //States\n  //{\n  //Spawn:\n  //  SLDG ABCD 6\n  //  Stop\n  //Death:\n  //  SLDG D 6\n  //  Stop\n  //}\n}\n\n//Original actor is still being called somehow\nACTOR SlimeChunk_gone replaces SlimeChunk\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST\n  //+MISSILE //in original\n  //+DROPOFF //in original\n  //+NOTELEPORT //in original\n  //+LOWGRAVITY //in original\n  //+CANNOTPUSH //in original\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MSlimeChunk : SlimeChunk_gone replaces SlimeChunk_gone\n{\n  //scale 0.8\n  //States\n  //{\n  //Spawn:\n  //  SLIM ABCD 6\n  //  Stop\n  //Death:\n  //  SLIM D 6\n  //  Stop\n  //}\n}\n\n//Original actor is still being called somehow\nACTOR LavaSmoke_gone replaces LavaSmoke\n{\n  +CLIENTSIDEONLY //network traffic optimization\n  +NOBLOCKMAP\n  +NOCLIP\n  +NOGRAVITY\n  +DONTSPLASH\n  +DONTBLAST\nStates\n  {\n  Spawn:\n\tTNT1 A 1\n    Stop\n  }\n}\nACTOR MLavaSmoke : LavaSmoke_gone replaces LavaSmoke_gone\n{\n  //scale 0.6\n  //States\n  //{\n  //Spawn:\n  //  LVAS GHIJK 5 Bright\n  //  Stop\n  //}\n}\n\nACTOR MSpawnFire : SpawnFire\n{\n\tHeight 78\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\tRenderStyle Translucent\n\tAlpha 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tFIRE ABCDEFGH 4 Bright A_Fire\n\t\tStop\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "Items/doomitems.txt",
        "contents": "ACTOR MMegasphere : Megasphere replaces Megasphere\n{\n Inventory.RespawnTics 3150 //4200\n -INVENTORY.ALWAYSPICKUP\n  States\n  {\n  Spawn:\n    MEGA ABCD 6 BRIGHT\n    Loop\n  Pickup:\n\tMEGA A 1 A_JumpIf((ACS_ExecuteWithResult(3024,0,0,0)>0),\"GiveSphere\")\n\tFail\n\tGoto Spawn\n  GiveSphere:\n    TNT1 A 0 A_GiveInventory(\"MBlueArmor\", 1)\n    TNT1 A 0 A_GiveInventory(\"MegasphereHealth\", 1)\n    Stop\n\t}\n}\nACTOR MSoulsphere : Soulsphere replaces Soulsphere\n{\n  Inventory.RespawnTics 3150\n  -INVENTORY.ALWAYSPICKUP\n}\nACTOR MInvulnSphere : InvulnerabilitySphere replaces InvulnerabilitySphere\n{\nPowerup.Color GoldMap\nInventory.RespawnTics 2100\n}\nActor MBlueArmor : BlueArmor replaces BlueArmor\n{\n Inventory.RespawnTics 2100\n Inventory.Icon \"AICONB\"\n Inventory.PickupSound  ARMORBLU\n -INVENTORY.ALWAYSPICKUP\n}\nACTOR BlackOpsVest : BasicArmorPickup\n{\n  Radius 20\n  Height 16\n  Inventory.PickupMessage \"\\ccYou Picked up the \\cvBlackops \\cfBodyVest\\cc!\"\n  Inventory.Icon \"AICONG\"\n  Armor.SavePercent 75\n  Armor.SaveAmount 350\n  -INVENTORY.ALWAYSPICKUP\n  Inventory.RespawnTics 3150\n  Inventory.PickupSound  ARMORSUP\n  States\n  {\n  spawn:\n    ARM3 A 3 Bright\n    ARM3 B 3 Bright\n\tARM3 C 3 Bright\n    ARM3 B 3 Bright\n    Loop\n\t}\n}\nActor MHealthBonus : HealthBonus replaces HealthBonus\n{\nInventory.Amount 2\nInventory.PickupSound  MiniVial\nStates\n\t{\n\tSpawn:\n\t\tBON1 ABCDCB 6 Bright\n\t\tLoop\n    }\n}\n/*\nActor MBlueCard : BlueCard Replaces BlueCard\n{\nGame Doom\nSpawnID 85\nInventory.PickupSound  CARDKEY\nInventory.Pickupmessage \"$GOTBLUECARD\"\nInventory.Icon \"STKEYS0\"\n\tStates\n\t{\n\tSpawn:\n\t\tBKEY A 10\n\t\tBKEY B 10 bright\n\t\tloop\n\t}\n}\nActor MRedCard : RedCard Replaces RedCard\n{\nGame Doom\nSpawnID 86\nInventory.PickupSound  CARDKEY\nInventory.Pickupmessage \"$GOTREDCARD\"\nInventory.Icon \"STKEYS2\"\n\tStates\n\t{\n\tSpawn:\n\t\tRKEY A 10\n\t\tRKEY B 10 bright\n\t\tloop\n\t}\n}\nActor MYellowCard : YellowCard Replaces YellowCard\n{\nGame Doom\nSpawnID 87\nInventory.PickupSound  CARDKEY\nInventory.Pickupmessage \"$GOTYELWCARD\"\nInventory.Icon \"STKEYS1\"\n\tStates\n\t{\n\tSpawn:\n\t\tYKEY A 10\n\t\tYKEY B 10 bright\n\t\tloop\n\t}\n}\nActor MYellowSkull : YellowSkull Replaces YellowSkull\n{\nGame Doom\nSpawnID 88\nInventory.PickupSound  SKULLKEY\nInventory.Pickupmessage \"$GOTYELWSKUL\"\nInventory.Icon \"STKEYS4\"\n\tStates\n\t{\n\tSpawn:\n\t\tYSKU A 10\n\t\tYSKU B 10 bright\n\t\tloop\n\t}\n}\nActor MBlueSkull : BlueSkull Replaces BlueSkull\n{\nGame Doom\nSpawnID 90\nInventory.PickupSound  SKULLKEY\nInventory.Pickupmessage \"$GOTBLUESKUL\"\nInventory.Icon \"STKEYS3\"\n\tStates\n\t{\n\tSpawn:\n\t\tBSKU A 10\n\t\tBSKU B 10 bright\n\t\tloop\n\t}\n}\nActor MRedSkull : RedSkull Replaces RedSkull\n{\nGame Doom\nSpawnID 89\nInventory.PickupSound  SKULLKEY\nInventory.Pickupmessage \"$GOTREDSKUL\"\nInventory.Icon \"STKEYS5\"\n\tStates\n\t{\n\tSpawn:\n\t\tRSKU A 10\n\t\tRSKU B 10 bright\n\t\tloop\n\t}\n}*/\nActor MStimpack : Stimpack replaces Stimpack\n{\nInventory.Amount 15\nInventory.PickupSound  SMALHEAL\n}\nActor MMedikit : Medikit replaces Medikit\n{\nInventory.PickupSound  MEDIHEAL\nInventory.Amount 30\n}\nActor MarineHealthRegen : MMedikit\n{\nInventory.Amount 1\n}\nActor MarineCarryMedkit : Inventory\n{\n  Inventory.Amount 0\n  Inventory.MaxAmount 100\n}\nActor MGreenArmor : GreenArmor replaces GreenArmor\n{\n  Inventory.Icon \"AICONR\"\n  Inventory.PickupSound  ARMORGRN\n  -INVENTORY.ALWAYSPICKUP\n}\nActor StartArmor : MGreenArmor\n{\nArmor.Saveamount 100\n}\nActor MArmorBonus : ArmorBonus replaces ArmorBonus\n{\n  Inventory.Icon \"AICONR\"\n  Armor.Saveamount 2\n  Inventory.PickupSound  ARMORSHD\n  }\nACTOR MBerserk : Berserk replaces Berserk\n{\n-INVENTORY.ALWAYSPICKUP\n-COUNTITEM\nInventory.PickupMessage \"\\ccYou picked up a \\cdMegaMedi\\ccPack\"\nInventory.PickupSound SUPAHEAL\n  States\n  {\n  Spawn:\n    MBPK A -1\n    stop\n\tPickup:\n\tTNT1 A 0 A_GiveInventory(\"MegaHealth\", 1)\n    Stop\n\t}\n}\nACTOR MegaHealth : Health\n{\n\tInventory.Amount 100\n\tInventory.MaxAmount 100\n}\n\nACTOR MSpawnProt : PowerupGiver\n{\n  +INVENTORY.AUTOACTIVATE\n  +INVENTORY.ALWAYSPICKUP\n  Inventory.MaxAmount 0\n  Powerup.Type \"Invulnerable\"\n  Powerup.Color GoldMap\n  Powerup.Duration 210\n  //Powerup.Mode Reflective\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    stop\n\t}\n}\nACTOR MShieldProt : PowerupGiver\n{\n  +INVENTORY.AUTOACTIVATE\n  +INVENTORY.ALWAYSPICKUP\n  Inventory.MaxAmount 0\n  Powerup.Type \"Invulnerable\"\n  Powerup.Color GreenMap\n  Powerup.Duration 210 //35*6 secs\n  //Powerup.Mode Reflective\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    stop\n\t}\n}\nACTOR MTeleportProt : PowerupGiver\n{\n  +INVENTORY.AUTOACTIVATE\n  +INVENTORY.ALWAYSPICKUP\n  Inventory.MaxAmount 0\n  Powerup.Type \"Invulnerable\"\n  Powerup.Duration 175 //35*5 secs\n  //Powerup.Mode Reflective\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    stop\n\t}\n}\n\nactor MopDoomScanner : PowerupGiver\n{\n  powerup.type \"Scanner\"\n  +INVENTORY.AUTOACTIVATE\n  Inventory.MaxAmount 0\n  Powerup.Duration 0x7FFFFFFF\n  states\n  {\n  Spawn:\n    TNT1 A 1\n    stop\n  }\n}\nACTOR IncredibleVest : BasicArmorPickup\n{\n  Radius 20\n  Height 16\n  Inventory.PickupMessage \"\\ccYou Picked up the \\cvIncredible \\cfBodyVest\\cc!\"\n  Inventory.Icon \"AICONG\"\n  Armor.SavePercent 90\n  Armor.SaveAmount 1000\n  -INVENTORY.ALWAYSPICKUP\n  Inventory.RespawnTics 3150\n  Inventory.PickupSound  armor_pkup1\n  States\n  {\n  spawn:\n    ARM3 A 3 Bright\n    ARM3 B 3 Bright\n\tARM3 C 3 Bright\n    ARM3 B 3 Bright\n    Loop\n\t}\n}\n\nACTOR IncredibleHealth : Health\n{\n\tInventory.Amount 1000\n\tInventory.MaxAmount 99999\n}\n\nACTOR MopIncredibleSphere : CustomInventory\n{\n  Game Doom\n  +COUNTITEM\n  +INVENTORY.AUTOACTIVATE\n  +INVENTORY.BIGPOWERUP\n  +INVENTORY.ALWAYSPICKUP\n  +INVENTORY.FANCYPICKUPSOUND\n  Inventory.PickupMessage \"Incredible!!!!!\"\n  Inventory.PickupSound \"announced/Incrediblesphere\"\n  Translation \"128:135=224:231\", \"136:143=160:167\", \"144:151=96:103\", \"13:15=109:111\"\n  States\n  {\n  Spawn:\n    MEGA ABCD 6 Bright\n    Loop\n  Pickup:\n    TNT1 A 0 A_GiveInventory(\"IncredibleHealth\", 1)\n    TNT1 A 0 A_GiveInventory(\"IncredibleVest\", 1)\n\tstop\n  }\n}\n\nactor Torchit : Inventory\n{\n Inventory.Amount 0\nInventory.MaxAmount 1\n+Inventory.Undroppable\n}\nACTOR MFullBrightnessOn : PowerupGiver\n{\n  +INVENTORY.AUTOACTIVATE\n  +INVENTORY.ALWAYSPICKUP\n  +CountItem\n  Inventory.MaxAmount 1\n  Powerup.Type \"LightAmp\"\n  Powerup.Duration -6\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    stop\n }\n}\nActor TeleportSpot : Inventory //CustomInventory\n{\n  //+INVENTORY.INVBAR\n  //+INVENTORY.PERSISTENTPOWER\n  //Inventory.InterHubAmount 1\n  Inventory.Amount 0\n  inventory.maxamount 1\n  +Inventory.Undroppable\n  //Tag \"Nothing Here\"\n  //States\n  //{\n  //Spawn:\n  //  TELE D -1\n  //  Stop\n  //Use:\n //  TNT1 A 1 A_SpawnItemEx (\"ActiveTeleport\", 56, 0, 28, 25, 0, 25, 0,1)\n\t//Stop\n\t//}\n}\n\nActor ThrowTeleport\n  {\n  Radius 2\n  Height 2\n states\n   {\n    Spawn:\n\tTNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"ActiveTeleport\", 56, 0, 28, 6, 0, 6, 0,1)\n    stop\n\t}\n}\n\nActor ActiveTeleport\n  {\n  Tag \"Teleport\"\n  Radius 2\n  Height 2\n  YScale 0.7\n  xscale 1.2\n  -SOLID\n  States\n  {\n  Spawn:\n    TELE A 0 Bright A_PlaySound(\"Teleport/Start\")\n  goto Ignited\n  Ignited:\n    TELE A 0 Bright Thing_changeTid(0,9764)\n  Teleloop:\n    TELE A 0 Bright A_PlaySoundEx(\"Teleport/Loop\", \"SoundSlot7\", 1, -1)\n    TELE ABABABABABABABABABABABABABABABABAB 2 Bright\n\tTELE ABABABABABABABABABABABABABABABABAB 2 Bright\n  goto Teleloop\n    Death:\n    TNT1 A 1\n    stop\n\t}\n}\n\nactor BigTreespawner : RandomSpawner replaces Bigtree\n{\n\tDropItem \"MBigTree\",256,4\n\tDropItem \"MBigTreeA\",256,4\n\tDropItem \"MBigTreeB\",256,4\n}\n\nACTOR MBigTree\n{\n\tGame Doom\n\tRadius 32\n\tHeight 108\n\tProjectilePassHeight -16\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTRE2 A -1\n\t\tStop\n\t}\n}\n\nACTOR MBigTreeA\n{\n\tGame Doom\n\tRadius 32\n\tHeight 108\n\tProjectilePassHeight -16\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTRE3 A -1\n\t\tStop\n\t}\n}\n\nACTOR MBigTreeB\n{\n\tGame Doom\n\tRadius 32\n\tHeight 108\n\tProjectilePassHeight -16\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTRE6 A -1\n\t\tStop\n\t}\n}\n\nactor SmallTreespawner : RandomSpawner replaces TorchTree\n{\n\tDropItem \"MTorchTree\",256,4\n\tDropItem \"MTorchTreeA\",256,4\n\tDropItem \"MTorchTreeB\",256,4\n}\n\nACTOR MTorchTree\n{\n\tGame Doom\n\tRadius 16\n\tHeight 56\n\tProjectilePassHeight -16\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTRE1 A -1\n\t\tStop\n\t}\n}\n\nACTOR MTorchTreeA\n{\n\tGame Doom\n\tRadius 16\n\tHeight 56\n\tProjectilePassHeight -16\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTRE4 A -1\n\t\tStop\n\t}\n}\n\nACTOR MTorchTreeB\n{\n\tGame Doom\n\tRadius 16\n\tHeight 56\n\tProjectilePassHeight -16\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTRE5 A -1\n\t\tStop\n\t}\n}\n//Skulltag Items\nACTOR GreyColumn 5051\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 40\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tCOL8 A -1\n\t\tStop\n\t}\n}\n\nACTOR TallGreyColumn 5052\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 52\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tCOL7 A -1\n\t\tStop\n\t}\n}\n\nACTOR GreyHeartColumn 5053\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 40\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tCOL9 AB 14\n\t\tLoop\n\t}\n}\n\nACTOR TallGothicColumn 5054\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 52\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tGCOL A -1\n\t\tStop\n\t}\n}\n\nACTOR RevenantHand 5055\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 16\n\t+SOLID\n\tStates\n\t{\n\tSpawn:\n\t\tSGRB AB 14\n\t\tStop\n\t}\n}\n\nACTOR ImpHead 5056\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 8\n\tHeight 32\n\t+SOLID\n\tStates\n\t{\n\tSpawn:\n\t\tIHED A -1\n\t\tStop\n\t}\n}\n\nACTOR Impse 5058\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 20\n\tHeight 48\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tIMPS ABC 4\n\t\tLoop\n\t}\n}\n\nACTOR FloatingBobbingSkull : FloatingSkull 5009\n{\n\t+FLOATBOB\n}\n\nACTOR ImpalingSpike 5120\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 64\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOL7 A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpalingSpike2 5121\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 56\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOL8 A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpalingSpike3 5122\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 56\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOL9 A -1\n\t\tStop\n\t}\n}\n\nACTOR WhiteTorch 5150\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 68\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTWHI ABCD 4 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR ShortWhiteTorch 5151\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 37\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tSMWT ABCD 4 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR YellowTorch 5152\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 68\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTYEL ABCD 4 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR ShortYellowTorch 5153\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 37\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tSMYT ABCD 4 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR RedEvilEye 5059\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 54\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tCEYR ABCB 6 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR BlueEvilEye 5060\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 54\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tCEYB ABCB 6 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR RedCandleStick 5156\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 20\n\tHeight 14\n\tStates\n\t{\n\tSpawn:\n\t\tCANR A -1 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR BlueCandleStick 5157\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 20\n\tHeight 14\n\tStates\n\t{\n\tSpawn:\n\t\tCANB A -1 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR RedTechLamp 5154\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 80\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTLP3 ABCD 4 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR RedTechLamp2 5155\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 60\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tTLP4 ABCD 4 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR RedColumn 5158\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 48\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tRCOL A -1\n\t\tStop\n\t}\n}\n\nACTOR BlueColumn 5159\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 48\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tBCOL A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpalingSpike4 5320\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 56\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOLA A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpalingSpike5 5321\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 64\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOLB A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpalingSpike6 5322\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 45\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOLC A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpalingSpike7 5323\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 54\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOLD A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpalingSpike8 5324\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 54\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOLE A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpalingSpike9 5325\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 64\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOLF A 6\n\t\tPOLF B 8\n\t\tLoop\n\t}\n}\n\nACTOR ImpalingSpike10 5326\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 64\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOLG A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpalingSpike11 5327\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 64\n\t+SOLID\n\t+USESPECIAL\n\tStates\n\t{\n\tSpawn:\n\t\tPOLH A -1\n\t\tStop\n\t}\n}\n\nACTOR MarineHelmetGibs 5328\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 16\n\tHeight 64\n\tStates\n\t{\n\tSpawn:\n\t\tGIB1 A -1\n\t\tStop\n\t}\n}\n\nACTOR ImpStatue 5110\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 20\n\tHeight 56\n\t+SOLID\n\tStates\n\t{\n\tSpawn:\n\t\tSTA1 A -1\n\t\tStop\n\t}\n}\n\nACTOR DemonStatue 5111\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 30\n\tHeight 56\n\t+SOLID\n\tStates\n\t{\n\tSpawn:\n\t\tSTA2 A -1\n\t\tStop\n\t}\n}\n\nACTOR ArchvileStatue 5112\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 20\n\tHeight 56\n\t+SOLID\n\tStates\n\t{\n\tSpawn:\n\t\tSTA3 A -1\n\t\tStop\n\t}\n}\n\nACTOR BaronStatue 5113\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 24\n\tHeight 64\n\t+SOLID\n\tStates\n\t{\n\tSpawn:\n\t\tSTA4 A -1\n\t\tStop\n\t}\n}\n\nACTOR CyberdemonStatue 5114\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 40\n\tHeight 110\n\t+SOLID\n\tStates\n\t{\n\tSpawn:\n\t\tSTA5 A -1\n\t\tStop\n\t}\n}\n\nACTOR MassmouthStatue 5115\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tRadius 24\n\tHeight 64\n\tXScale 0.5\n\tYScale 0.5\n\t+SOLID\n\tStates\n\t{\n\tSpawn:\n\t\tSTA6 A -1\n\t\tStop\n\t}\n}\n\nactor DeadCyberdemon : Cyberdemon 5070\n{\n\tSkip_Super\n\tGame Doom\n\tDropItem None\n\tStates\n\t{\n\tSpawn:\n\t\tGoto Super::Death+9\n\t}\n}"
      },
      {
        "source": "pk3",
        "name": "Items/Morph.txt",
        "contents": "actor Mmorpher : PowerMorph\n{PowerMorph.MorphStyle MRF_LOSEACTUALWEAPON\nPowerup.Duration 0}\nACTOR morphtozombieman  : Mmorpher{PowerMorph.PlayerClass \"ZombieManClass\"}\nACTOR morphtosawzombieman  : Mmorpher{PowerMorph.PlayerClass \"ChainsawZombieClass\"}\nACTOR morphtoimp  : Mmorpher{PowerMorph.PlayerClass \"DoomImpClass\"}\nACTOR morphtodarkimp  : Mmorpher{PowerMorph.PlayerClass \"DarkImpClass\"}\nACTOR morphtoShadow  : Mmorpher{PowerMorph.PlayerClass \"ShadowClass\"}\nACTOR morphtosoulhar  : Mmorpher{PowerMorph.PlayerClass \"SoulHarvesterClass\"}\nACTOR morphtoshotgunguy  : Mmorpher{PowerMorph.PlayerClass \"ShotGunGuyClass\"}\nACTOR morphtoashotgunguy  : Mmorpher{PowerMorph.PlayerClass \"AShotGunGuyClass\"}\nACTOR morphtoSSgZombie  : Mmorpher{PowerMorph.PlayerClass \"SSgZombieClass\"}\nACTOR morphtochaingunguy  : Mmorpher{PowerMorph.PlayerClass \"ChainGunGuyClass\"}\nACTOR morphtochaingunguy2  : Mmorpher{PowerMorph.PlayerClass \"ChainGunGuy2Class\"}\nACTOR morphtodemon : Mmorpher{PowerMorph.PlayerClass \"DemonClass\"}\nACTOR morphtoBloodDemon : Mmorpher{PowerMorph.PlayerClass \"BloodDemonClass\"}\nACTOR morphtoSpectre : Mmorpher{PowerMorph.PlayerClass \"SpectreClass\"}\nACTOR morphtorevenant : Mmorpher{PowerMorph.PlayerClass \"RevenantClass\"}\nACTOR morphtoMRevenantCommando: Mmorpher{PowerMorph.PlayerClass \"RevenantClass\"}\nACTOR morphtoMRevenantGrenadier: Mmorpher{PowerMorph.PlayerClass \"RevenantClass\"}\nACTOR morphtoknight : Mmorpher{PowerMorph.PlayerClass \"HellKnightClass\"}\nACTOR morphtobaron : Mmorpher{PowerMorph.PlayerClass \"BaronOfHellClass\"}\nACTOR morphtobelphegor : Mmorpher{PowerMorph.PlayerClass \"BelphegorClass\"}\nACTOR morphtocaco : Mmorpher{PowerMorph.PlayerClass \"CacoDemonClass\"}\nACTOR morphtocacolantern : Mmorpher{PowerMorph.PlayerClass \"CacoLanternClass\"}\nACTOR morphtoabaddon : Mmorpher{PowerMorph.PlayerClass \"AbaddonClass\"}\nACTOR morphtoKirovCaco: Mmorpher{PowerMorph.PlayerClass \"KirovCacoClass\"}\nACTOR morphtofatso : Mmorpher{PowerMorph.PlayerClass \"FatsoClass\"}\nACTOR morphtohectebus : Mmorpher{PowerMorph.PlayerClass \"HectebusClass\"}\nACTOR morphtoarachnotron : Mmorpher{PowerMorph.PlayerClass \"ArachnotronClass\"}\nACTOR morphtoarachgunner : Mmorpher{PowerMorph.PlayerClass \"ArachGunnerClass\"}\nACTOR morphtocyberdemon : Mmorpher{PowerMorph.PlayerClass \"CyberDemonClass\"}\nACTOR morphtoMCyberdemonSeeker: Mmorpher{PowerMorph.PlayerClass \"CyberDemonClass\"}\nACTOR morphtoMCyberdemonRail: Mmorpher{PowerMorph.PlayerClass \"CyberDemonClass\"}\nACTOR morphtomastermind : Mmorpher{PowerMorph.PlayerClass \"MasterMindClass\"}\nACTOR morphtovile: Mmorpher{PowerMorph.PlayerClass \"ArchVileClass\"}\nACTOR morphtoMArchvileExorcist: Mmorpher{PowerMorph.PlayerClass \"ArchVileClass\"}\nACTOR morphtonazi: Mmorpher{PowerMorph.PlayerClass \"WolfensteinSSClass\"}\nACTOR morphtopain: Mmorpher{PowerMorph.PlayerClass \"PainElementalClass\"}\nACTOR morphtolost: Mmorpher{PowerMorph.PlayerClass \"LostSoulClass\"}\nACTOR morphtobarrel: Mmorpher{PowerMorph.PlayerClass \"BarrelClass\"}\nACTOR morphtoPlasZ: Mmorpher{PowerMorph.PlayerClass \"PlasmaZombieClass\"}\nACTOR morphtoanni : Mmorpher{PowerMorph.PlayerClass \"CyberAnniClass\"}\nACTOR morphtoMAnnixApocalypse: Mmorpher{PowerMorph.PlayerClass \"CyberAnniClass\"}\nACTOR morphtopig: Mmorpher{PowerMorph.PlayerClass \"PigMarine\"}\nACTOR morphtogreen: Mmorpher{PowerMorph.PlayerClass \"Marineclass\"}\nACTOR morphtoZombieMissileTank: Mmorpher{PowerMorph.PlayerClass \"ZombieMissileTankClass\"}\nACTOR morphtoZombiePlasmaTank: Mmorpher{PowerMorph.PlayerClass \"ZombiePlasmaTankClass\"}\nACTOR morphtoMrScientist: Mmorpher{PowerMorph.PlayerClass \"MrScientistClass\"}\nACTOR morphtoBlackOpsMale: Mmorpher{PowerMorph.PlayerClass \"BlackOpsMaleClass\"}\nACTOR morphtoBlackOpsFemale: Mmorpher{PowerMorph.PlayerClass \"BlackOpsFemaleClass\"}\nACTOR morphtoRocketZombie: Mmorpher{PowerMorph.PlayerClass \"RocketZombieClass\"}\nACTOR morphtoMoloch: Mmorpher{PowerMorph.PlayerClass \"MolochClass\"}\nACTOR morphtoMolochWraith: Mmorpher{PowerMorph.PlayerClass \"MolochWraithClass\"}\nACTOR morphtoAlienArachno: Mmorpher{PowerMorph.PlayerClass \"AlienArachnoClass\"}\nACTOR morphtoAfrit: Mmorpher{PowerMorph.PlayerClass \"AfritClass\"}\nACTOR morphtoGreyBaron: Mmorpher{PowerMorph.PlayerClass \"GreyBaronClass\"}\nACTOR morphtoDamnedSoul: Mmorpher{PowerMorph.PlayerClass \"DamnedSoulClass\"}\nACTOR NoFlash replaces TeleportFog\n{RenderStyle None\n States\n {Spawn:\n  TNT1 A 1\n  Stop}}"
      },
      {
        "source": "pk3",
        "name": "Items/Hpbar.txt",
        "contents": "actor MonsterScore : Inventory {\n    Inventory.MaxAmount 999\n}\n\nactor MonsterScoreTemporary : MonsterScore {}"
      },
      {
        "source": "pk3",
        "name": "Items/CustomRunes.txt",
        "contents": "ACTOR Rune : Powerup\n{\n}\nACTOR RuneDoubleDamage : PowerDamage\n{\nDamagefactor normal, 2.0\n}\nACTOR RuneDoubleFiringSpeed : PowerDoubleFiringSpeed\n{\n}\nACTOR RuneDrain : PowerDrain\n{\n}\nACTOR RuneSpread : PowerSpread\n{\n}\nACTOR RuneHalfDamage : PowerProtection\n{\n\tDamagefactor normal, 0.5\n}\nACTOR RuneRegeneration : PowerRegeneration\n{\n}\nACTOR RuneProsperity : PowerProsperity\n{\n}\nACTOR RuneReflection : PowerReflection\n{\n}\nACTOR RuneHighJump : PowerHighJump\n{\n}\nACTOR RuneSpeed25 : PowerSpeed\n{\n\tSpeed 1.25\n}\n\nACTOR StrengthRune : RuneGiver 5100\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 180\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon STRRA0\n\tInventory.MaxAmount 0\n\tRune.Type DoubleDamage\n\t//Inventory.PickupMessage \"$PICKUP_STRENGTH\"\n\t//Inventory.PickupAnnouncerEntry \"strength\"\n\tStates\n\t{\n\tSpawn:\n\t\tSTRR ABCD 6\n\t\tLoop\n\t}\n}\n\nACTOR RageRune : RuneGiver 5101\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 181\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon RAGRA0\n\tInventory.MaxAmount 0\n\tRune.Type DoubleFiringSpeed\n\t//Inventory.PickupMessage \"$PICKUP_RAGE\"\n\t//Inventory.PickupAnnouncerEntry \"rage\"\n\tStates\n\t{\n\tSpawn:\n\t\tRAGR ABCDEFGH 6\n\t\tLoop\n\t}\n}\n\nACTOR DrainRune : RuneGiver 5102\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 182\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon DRARA0\n\tInventory.MaxAmount 0\n\tRune.Type Drain\n\t//Inventory.PickupMessage \"$PICKUP_DRAIN\"\n\t//Inventory.PickupAnnouncerEntry \"drain\"\n\tStates\n\t{\n\tSpawn:\n\t\tDRAR ABCD 6\n\t\tLoop\n\t}\n}\n\nACTOR SpreadRune : RuneGiver 5103\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 183\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+FLOATBOB\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon SPRRA0\n\tInventory.MaxAmount 0\n\tRune.Type Spread\n\t//Inventory.PickupMessage \"$PICKUP_SPREAD\"\n\t//Inventory.PickupAnnouncerEntry \"spread\"\n\tStates\n\t{\n\tSpawn:\n\t\tSPRR ABCD 6\n\t\tLoop\n\t}\n}\n\nACTOR ResistanceRune : RuneGiver 5104\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 184\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon RESRA0\n\tInventory.MaxAmount 0\n\tRune.Type HalfDamage\n\t//Inventory.PickupMessage \"$PICKUP_RESISTANCE\"\n\t//Inventory.PickupAnnouncerEntry \"resistance\"\n\tStates\n\t{\n\tSpawn:\n\t\tRESR ABCDEFGH 6\n\t\tLoop\n\t}\n}\n\nACTOR RegenerationRune : RuneGiver 5105\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 185\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+FLOATBOB\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon REGRA0\n\tInventory.MaxAmount 0\n\tRune.Type Regeneration\n\t//Inventory.PickupMessage \"$PICKUP_REGENERATION\"\n\t//Inventory.PickupAnnouncerEntry \"regeneration\"\n\tStates\n\t{\n\tSpawn:\n\t\tREGR AB 6\n\t\tLoop\n\t}\n}\n\nACTOR ProsperityRune : RuneGiver 5106\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 186\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon PRSRA0\n\tInventory.MaxAmount 0\n\tRune.Type Prosperity\n\t//Inventory.PickupMessage \"$PICKUP_PROSPERITY\"\n\t//Inventory.PickupAnnouncerEntry \"prosperity\"\n\tStates\n\t{\n\tSpawn:\n\t\tPRSR ABCD 6\n\t\tLoop\n\t}\n}\n\nACTOR ReflectionRune : RuneGiver 5107\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 187\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+FLOATBOB\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon REFRA0\n\tInventory.MaxAmount 0\n\tRune.Type Reflection\n\t//Inventory.PickupMessage \"$PICKUP_REFLECTION\"\n\t//Inventory.PickupAnnouncerEntry \"reflection\"\n\tStates\n\t{\n\tSpawn:\n\t\tREFR BA 6\n\t\tLoop\n\t}\n}\n\nACTOR HighJumpRune : RuneGiver 5108\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 188\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon HIJRA0\n\tInventory.MaxAmount 0\n\tRune.Type HighJump\n\t//Inventory.PickupMessage \"$PICKUP_HIGHJUMP\"\n\t//Inventory.PickupAnnouncerEntry \"highjump\"\n\tStates\n\t{\n\tSpawn:\n\t\tHIJR ABCD 6\n\t\tLoop\n\t}\n}\n\nACTOR HasteRune : RuneGiver 5109\n{\n\tGame Doom\n\tGame Heretic\n\tGame Hexen\n\tSpawnID 189\n\t+COUNTITEM\n\t+NOGRAVITY\n\t+FLOATBOB\n\t+INVENTORY.AUTOACTIVATE\n\t//Inventory.Icon HASRA0\n\tInventory.MaxAmount 0\n\tRune.Type Speed25\n\t//Inventory.PickupMessage \"$PICKUP_HASTE\"\n\t//Inventory.PickupAnnouncerEntry \"haste\"\n\tStates\n\t{\n\tSpawn:\n\t\tHASR ABCD 6\n\t\tLoop\n\t}\n}\n\n//Decorate from Penguin's Drop-All-Runes-Mod edits by ManiC aka >>>Reyalp<<<\n\nACTOR CustomDoubleDamage : PowerDamage\n{\n\tDamagefactor 2.0\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR CustomDoubleFiringSpeed : PowerDoubleFiringSpeed\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR CustomDrain : PowerDrain\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR CustomSpread : PowerSpread\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR CustomHalfDamage : PowerProtection\n{\n\tDamagefactor 0.5\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR CustomRegeneration : PowerRegeneration\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR CustomProsperity : PowerProsperity\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR CustomReflection : PowerReflection\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR CustomHighJump : PowerHighJump\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR CustomSpeed25 : PowerSpeed\n{\n\tSpeed 1.5\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\n/*ACTOR DemonFrightener : PowerFrightener\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n*/\n\nACTOR DemonPower : PowerDamage\n{\n\tDamagefactor 1.25\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR DemonDrain : PowerDrain\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR DemonIronFeet : PowerIronFeet\n{\n\tPowerup.Duration 0x7FFFFFFD\n\tPowerup.Color \"FF FF FF\", 0.01\n\tDamageFactor \"Slime\", 0.0\n\tDamageFactor \"Lava\", 0.0\n\tDamageFactor \"Poison\", 0.0\n\tDamageFactor \"Acid\", 0.0\n\tDamageFactor \"Virus\", 0.0\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR RavenFlight : PowerHighJump\n{\n\tPowerup.Strength 80\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR RavenGhost : PowerGhost\n{\n\tPowerup.Strength 50\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR DevilIronFeet : PowerIronFeet\n{\n\tPowerup.Duration 0x7FFFFFFD\n\tPowerup.Color \"FF FF FF\", 0.01\n\tDamageFactor \"Slime\", 0.0\n\tDamageFactor \"Lava\", 0.0\n\tDamageFactor \"Poison\", 0.0\n\tDamageFactor \"Acid\", 0.0\n\tDamageFactor \"Virus\", 0.0\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR DevilTorch : PowerTorch\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR DevilReflection : PowerReflection\n{\n\tDamagefactor 1.0\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR DevilSpeed25 : PowerSpeed\n{\n\tSpeed 2.5\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nACTOR SatanIronFeet : PowerIronFeet\n{\n\tPowerup.Duration 0x7FFFFFFD\n\tPowerup.Color \"FF FF FF\", 0.01\n\tDamageFactor \"Slime\", 0.0\n\tDamageFactor \"Lava\", 0.0\n\tDamageFactor \"Poison\", 0.0\n\tDamageFactor \"Acid\", 0.0\n\tDamageFactor \"Virus\", 0.0\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\n/*ACTOR SatanFrightener : PowerFrightener\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t+NOTIMEFREEZE\n}*/\n\nACTOR SatanGhost : PowerGhost\n{\n\tPowerup.Strength 50\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t+NOTIMEFREEZE\n}\n\nACTOR SatanRegeneration : PowerTargeter\n{\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t+NOTIMEFREEZE\n\tStates\n\t{\n\tTargeter:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 HealThing(5,1000)\n\t\tTNT1 A 16\n\t\tLoop\n\t}\n}\n\nACTOR SatanProtection : PowerProtection\n{\n\tDamagefactor 0.25\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t+NOTIMEFREEZE\n}\n\nACTOR SatanReflection : PowerReflection\n{\n\tDamagefactor 4.0\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n\t+DONTBLAST\n\t+DONTMORPH\n\t+DONTRIP\n\t+DONTSQUASH\n\t+NOPAIN\n\t+NORADIUSDMG\n\t+NOTELEOTHER\n}\n\nACTOR SatanDamage : PowerDamage\n{\n\tDamagefactor 1.5\n\tPowerup.Duration 0x7FFFFFFD\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\n//2min timelimit affects dont carry  to new maps Custom runes\n\nACTOR LimitDoubleDamage : CustomDoubleDamage\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitDoubleFiringSpeed : CustomDoubleFiringSpeed\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitDrain : CustomDrain\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitSpread : CustomSpread\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitHalfDamage : CustomHalfDamage\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitRegeneration : CustomRegeneration\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitProsperity : CustomProsperity\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitReflection : CustomReflection\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitHighJump : CustomHighJump\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitSpeed25 : CustomSpeed25\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\n/*ACTOR LimitDemonFrightener : DemonFrightener\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}*/\n\nACTOR LimitDemonPower : DemonPower\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitDemonDrain : DemonDrain\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitDemonIronFeet : DemonIronFeet\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitRavenFlight : RavenFlight\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitRavenGhost : RavenGhost\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitDevilIronFeet : DevilIronFeet\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitDevilTorch : DevilTorch\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitDevilReflection : DevilReflection\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitDevilSpeed25 : DevilSpeed25\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitSatanIronFeet : SatanIronFeet\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\n/*ACTOR LimitSatanFrightener : SatanFrightener\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}*/\n\nACTOR LimitSatanGhost : SatanGhost\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitSatanRegeneration : SatanRegeneration\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitSatanProtection : SatanProtection\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitSatanReflection : SatanReflection\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR LimitSatanDamage : SatanDamage\n{Powerup.Duration -120\n -INVENTORY.HUBPOWER\n -INVENTORY.PERSISTENTPOWER\n -INVENTORY.UNDROPPABLE}\n\nACTOR StrengthCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon STRRA\n\tInventory.PickupMessage \"$PICKUP_STRENGTH\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tSTRR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tSTRR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tSTRR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tSTRR ABCD 6\n\t\tLoop\n\tMReady:\n\t\tSTRR A 0 A_ClearTarget\n\t\tSTRR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tSTRR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tSTRR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tSTRR ABCD 6 A_Look\n\t\tWait\n\tSee:\n\t\tSTRR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tSTRR A 0 A_JumpIfTargetInlos(3)\n\t\tSTRR A 0 A_ClearTarget\n\t\tSTRR A 1\n\t\tGoto MReady\n\t\tSTRR ABCD 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredStrength\")\n\t\tStop\n\t}\n}\n\nACTOR RageCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon RAGRA\n\tInventory.PickupMessage \"$PICKUP_RAGE\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tRAGR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tRAGR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tRAGR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tRAGR ABCDEFGH 6\n\t\tLoop\n\tMReady:\n\t\tRAGR A 0 A_ClearTarget\n\t\tRAGR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tRAGR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tRAGR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tRAGR ABCDEFGH 6 A_Look\n\t\tWait\n\tSee:\n\t\tRAGR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tRAGR A 0 A_JumpIfTargetInlos(3)\n\t\tRAGR A 0 A_ClearTarget\n\t\tRAGR A 1\n\t\tGoto MReady\n\t\tRAGR ABCDEFGH 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredRage\")\n\t\tStop\n\t}\n}\n\nACTOR DrainCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon DRARA\n\tInventory.PickupMessage \"$PICKUP_DRAIN\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tDRAR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tDRAR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tDRAR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tDRAR ABCD 6\n\t\tLoop\n\tMReady:\n\t\tDRAR A 0 A_ClearTarget\n\t\tDRAR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tDRAR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tDRAR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tDRAR ABCD 6 A_Look\n\t\tWait\n\tSee:\n\t\tDRAR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tDRAR A 0 A_JumpIfTargetInlos(3)\n\t\tDRAR A 0 A_ClearTarget\n\t\tDRAR A 1\n\t\tGoto MReady\n\t\tDRAR ABCD 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredDrain\")\n\t\tStop\n\t}\n}\n\nACTOR SpreadCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon SPRRA\n\tInventory.PickupMessage \"$PICKUP_SPREAD\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tSPRR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tSPRR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tSPRR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tSPRR ABCD 6\n\t\tLoop\n\tMReady:\n\t\tSPRR A 0 A_ClearTarget\n\t\tSPRR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tSPRR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tSPRR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tSPRR ABCD 6 A_Look\n\t\tWait\n\tSee:\n\t\tSPRR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tSPRR A 0 A_JumpIfTargetInlos(3)\n\t\tSPRR A 0 A_ClearTarget\n\t\tSPRR A 1\n\t\tGoto MReady\n\t\tSPRR ABCD 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredSpread\")\n\t\tStop\n\t}\n}\n\nACTOR ResistanceCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon RESRA\n\tInventory.PickupMessage \"$PICKUP_RESISTANCE\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tRESR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tRESR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tRESR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tRESR ABCDEFGH 6\n\t\tLoop\n\tMReady:\n\t\tRESR A 0 A_ClearTarget\n\t\tRESR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tRESR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tRESR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tRESR ABCDEFGH 6 A_Look\n\t\tWait\n\tSee:\n\t\tRESR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tRESR A 0 A_JumpIfTargetInlos(3)\n\t\tRESR A 0 A_ClearTarget\n\t\tRESR A 1\n\t\tGoto MReady\n\t\tRESR ABCDEFGH 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredResistance\")\n\t\tStop\n\t}\n}\n\nACTOR RegenerationCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon REGRA\n\tInventory.PickupMessage \"$PICKUP_REGENERATION\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tREGR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tREGR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tREGR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tREGR AB 6\n\t\tLoop\n\tMReady:\n\t\tREGR A 0 A_ClearTarget\n\t\tREGR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tREGR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tREGR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tREGR AB 6 A_Look\n\t\tWait\n\tSee:\n\t\tREGR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tREGR A 0 A_JumpIfTargetInlos(3)\n\t\tREGR A 0 A_ClearTarget\n\t\tREGR A 1\n\t\tGoto MReady\n\t\tREGR AB 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredRegeneration\")\n\t\tStop\n\t}\n}\n\nACTOR ProsperityCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon PRSRA\n\tInventory.PickupMessage \"$PICKUP_PROSPERITY\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tPRSR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tPRSR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tPRSR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tPRSR ABCD 6\n\t\tLoop\n\tMReady:\n\t\tPRSR A 0 A_ClearTarget\n\t\tPRSR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tPRSR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tPRSR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tPRSR ABCD 6 A_Look\n\t\tWait\n\tSee:\n\t\tPASR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tPASR A 0 A_JumpIfTargetInlos(3)\n\t\tPASR A 0 A_ClearTarget\n\t\tPASR A 1\n\t\tGoto MReady\n\t\tPRSR ABCD 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredProsperity\")\n\t\tStop\n\t}\n}\n\nACTOR ReflectionCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon REFRA\n\tInventory.PickupMessage \"$PICKUP_REFLECTION\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tREFR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tREFR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tREFR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tREFR AB 6\n\t\tLoop\n\tMReady:\n\t\tREFR A 0 A_ClearTarget\n\t\tREFR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tREFR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tREFR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tREFR AB 6 A_Look\n\t\tWait\n\tSee:\n\t\tREFR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tREFR A 0 A_JumpIfTargetInlos(3)\n\t\tREFR A 0 A_ClearTarget\n\t\tREFR A 1\n\t\tGoto MReady\n\t\tREFR AB 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredReflection\")\n\t\tStop\n\t}\n}\n\nACTOR HighJumpCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon HIJRA\n\tInventory.PickupMessage \"$PICKUP_HIGHJUMP\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tHIJR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tHIJR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tHIJR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tHIJR ABCD 6\n\t\tLoop\n\tMReady:\n\t\tHIJR A 0 A_ClearTarget\n\t\tHIJR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tHIJR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tHIJR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tHIJR ABCD 6 A_Look\n\t\tWait\n\tSee:\n\t\tHIJR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tHIJR A 0 A_JumpIfTargetInlos(3)\n\t\tHIJR A 0 A_ClearTarget\n\t\tHIJR A 1\n\t\tGoto MReady\n\t\tHIJR ABCD 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredHighJump\")\n\t\tStop\n\t}\n}\n\nACTOR HasteCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon HASRA\n\tInventory.PickupMessage \"$PICKUP_HASTE\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tHASR A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tHASR A 0 A_JumpIf(user_time >= 3,\"MReady\")\n\t\tHASR A 0 A_SetUserVar(\"user_time\",user_time+1)\n\t\tHASR ABCD 6\n\t\tLoop\n\tMReady:\n\t\tHASR A 0 A_ClearTarget\n\t\tHASR A 0 A_ChangeFlag(\"FLOAT\",1)\n\t\tHASR A 0 A_ChangeFlag(\"FLOATBOB\",1)\n\t\tHASR A 0 A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tHASR ABCD 6 A_Look\n\t\tWait\n\tSee:\n\t\tHASR A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tHASR A 0 A_JumpIfTargetInlos(3)\n\t\tHASR A 0 A_ClearTarget\n\t\tHASR A 1\n\t\tGoto MReady\n\t\tHASR ABCD 6 A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredHaste\")\n\t\tStop\n\t}\n}\n\nACTOR DemonCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon ARTILSKL\n\tInventory.PickupMessage \"$PICKUP_DEMON\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tLCHS A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tLCHS A 0 Bright A_JumpIf(user_time >= 3,\"MReady\")\n\t\tLCHS A 0 Bright A_SetUserVar(\"user_time\",user_time+1)\n\t\tLCHS ABCD 3 Bright\n\t\tLoop\n\tMReady:\n\t\tLCHS A 0 A_ClearTarget\n\t\tLCHS A 0 Bright A_ChangeFlag(\"FLOAT\",1)\n\t\tLCHS A 0 Bright A_ChangeFlag(\"FLOATBOB\",1)\n\t\tLCHS A 0 Bright A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tLCHS ABCD 6 Bright A_Look\n\t\tWait\n\tSee:\n\t\tLCHS A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tLCHS A 0 A_JumpIfTargetInlos(3)\n\t\tLCHS A 0 A_ClearTarget\n\t\tLCHS A 1 Bright\n\t\tGoto MReady\n\t\tLCHS ABCD 6 Bright A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredDemon\")\n\t\tStop\n\t}\n}\n\nACTOR RavenCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\tScale 0.6\n\t//Inventory.Icon ICRVA0\n\tInventory.PickupMessage \"$PICKUP_RAVEN\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tICRV A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tICRV B 0 Bright A_JumpIf(user_time >= 3,\"MReady\")\n\t\tICRV B 0 Bright A_SetUserVar(\"user_time\",user_time+1)\n\t\tICRV BCDC 6 Bright\n\t\tLoop\n\tMReady:\n\t\tICRV A 0 A_ClearTarget\n\t\tICRV B 0 Bright A_ChangeFlag(\"FLOAT\",1)\n\t\tICRV B 0 Bright A_ChangeFlag(\"FLOATBOB\",1)\n\t\tICRV B 0 Bright A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tICRV BCDC 6 Bright A_Look\n\t\tWait\n\tSee:\n\t\tICRV A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tICRV A 0 A_JumpIfTargetInlos(3)\n\t\tICRV A 0 A_ClearTarget\n\t\tICRV A 1 Bright\n\t\tGoto MReady\n\t\tICRV BCDC 6 Bright A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredRaven\")\n\t\tStop\n\t}\n}\n\nACTOR DevilCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon DEVIL\n\tInventory.PickupMessage \"$PICKUP_DEVIL\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tDEVI A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tDEVI A 0 Bright A_JumpIf(user_time >= 3,\"MReady\")\n\t\tDEVI A 0 Bright A_SetUserVar(\"user_time\",user_time+1)\n\t\tDEVI ABCD 6 Bright\n\t\tLoop\n\tMReady:\n\t\tDEVI A 0 A_ClearTarget\n\t\tDEVI A 0 Bright A_ChangeFlag(\"FLOAT\",1)\n\t\tDEVI A 0 Bright A_ChangeFlag(\"FLOATBOB\",1)\n\t\tDEVI A 0 Bright A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tDEVI ABCD 6 Bright A_Look\n\t\tWait\n\tSee:\n\t\tDEVI A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tDEVI A 0 A_JumpIfTargetInlos(3)\n\t\tDEVI A 0 A_ClearTarget\n\t\tDEVI A 1 Bright\n\t\tGoto MReady\n\t\tDEVI ABCD 6 Bright A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredDevil\")\n\t\tStop\n\t}\n}\n\nACTOR SatanCustomRune : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\t//Inventory.Icon SATAN\n\tInventory.PickupMessage \"$PICKUP_SATAN\"\n\tvar int user_time;\n\tSpeed 20\n\tStates\n\t{\n\tSpawn:\n\t\tSATA A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tSATA A 0 Bright A_JumpIf(user_time >= 3,\"MReady\")\n\t\tSATA A 0 Bright A_SetUserVar(\"user_time\",user_time+1)\n\t\tSATA ABCD 6\n\t\tLoop\n\tMReady:\n\t\tSATA A 0 A_ClearTarget\n\t\tSATA A 0 Bright A_ChangeFlag(\"FLOAT\",1)\n\t\tSATA A 0 Bright A_ChangeFlag(\"FLOATBOB\",1)\n\t\tSATA A 0 Bright A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tSATA ABCD 6 Bright A_Look\n\t\tWait\n\tSee:\n\t\tSATA A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tSATA A 0 A_JumpIfTargetInlos(3)\n\t\tSATA A 0 A_ClearTarget\n\t\tSATA A 1 Bright\n\t\tGoto MReady\n\t\tSATA ABCD 6 Bright A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"StoredSatan\")\n\t\tStop\n\t}\n}\n\nACTOR StoredStrength : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon STRRA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"StrengthRune\"\n\tInventory.UseSound \"announced/strength\"\n\tTag \"Activate Strength Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tSTRR ABCD 6\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomDoubleDamage\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"StrengthRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitDoubleDamage\")\n\t\tStop\n\t}\n}\n\nACTOR StoredRage : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon RAGRA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"RageRune\"\n\tInventory.UseSound \"announced/rage\"\n\tTag \"Activate Rage Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tRAGR ABCDEFGH 6\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomDoubleFiringSpeed\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"RageRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitDoubleFiringSpeed\")\n\t\tStop\n\t}\n}\n\nACTOR StoredDrain : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon DRARA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"DrainRune\"\n\tInventory.UseSound \"announced/drain\"\n\tTag \"Activate Drain Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tDRAR ABCD 6\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomDrain\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"DrainRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitDrain\")\n\t\tStop\n\t}\n}\n\nACTOR StoredSpread : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon SPRRA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"SpreadRune\"\n\tInventory.UseSound \"announced/spread\"\n\tTag \"Activate Spread Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tSPRR ABCD 6\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomSpread\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"SpreadRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitSpread\")\n\t\tStop\n\t}\n}\n\nACTOR StoredResistance : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon RESRA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"ResistanceRune\"\n\tInventory.UseSound \"announced/resistance\"\n\tTag \"Activate Resistance Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tRESR ABCDEFGH 6\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomHalfDamage\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"ResistanceRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitHalfDamage\")\n\t\tStop\n\t}\n}\n\nACTOR StoredRegeneration : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon REGRA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"RegenerationRune\"\n\tInventory.UseSound \"announced/regeneration\"\n\tTag \"Activate Regeneration Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tREGR AB 6\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomRegeneration\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"RegenerationRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitRegeneration\")\n\t\tStop\n\t}\n}\n\nACTOR StoredProsperity: CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon PRSRA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"ProsperityRune\"\n\tInventory.UseSound \"announced/prosperity \"\n\tTag \"Activate Prosperity Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tPRSR ABCD 6\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomProsperity\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"ProsperityRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitProsperity\")\n\t\tStop\n\t}\n}\n\nACTOR StoredReflection : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon REFRA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"ReflectionRune\"\n\tInventory.UseSound \"announced/reflection\"\n\tTag \"Activate Reflection Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tREFR BA 6\n\t\tLoop\n\tUse:\n\t\tTNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t\tTNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomReflection\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"ReflectionRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitReflection\")\n\t\tStop\n\t}\n}\n\nACTOR StoredHighJump : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon HIJRA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"HighJumpRune\"\n\tInventory.UseSound \"announced/highjump\"\n\tTag \"Activate HighJump Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tHIJR ABCD 6\n\t\tLoop\n\tUse:\n\t\tTNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t\tTNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomHighJump\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"HighJumpRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitHighJump\")\n\t\tStop\n\t}\n}\n\nACTOR StoredHaste : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon HASRA\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"HasteRune\"\n\tInventory.UseSound \"announced/haste\"\n\tTag \"Activate Haste Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tHASR ABCD 6\n\t\tLoop\n\tUse:\n\t\tTNT1 A 0  A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 1, 0, 0, 0) == 1, \"original\")\n\t\tTNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"CustomSpeed25\")\n\t\tStop\n\tOriginal:\n\t\tTNT1 A 0 A_GiveInventory(\"HasteRune\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitSpeed25\")\n\t\tStop\n\t}\n}\n\nACTOR StoredDemon : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon ARTILSKL\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"DemonRune\"\n\tTag \"Activate Demon Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tLCHS ABCD 3 Bright\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"DemonPower\")\n\t\tTNT1 A 0 A_GiveInventory(\"DemonDrain\")\n\t\tTNT1 A 0 A_GiveInventory(\"DemonIronFeet\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitDemonPower\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitDemonDrain\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitDemonIronFeet\")\n\t\tStop\n\n\t}\n}\n\nACTOR StoredRaven : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon ICRVA0\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"RavenRune\"\n\tTag \"Activate Raven Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tICRV BCDC 6 Bright\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"RavenFlight\")\n\t\tTNT1 A 0 A_GiveInventory(\"RavenGhost\")\n\t\tStop\n    TimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitRavenFlight\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitRavenGhost\")\n\t}\n}\n\nACTOR StoredDevil : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon DEVIL\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"DevilRune\"\n\tTag \"Activate Devil Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tDEVI ABCD 3 Bright\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"DevilIronFeet\")\n\t\tTNT1 A 0 A_GiveInventory(\"DevilTorch\")\n\t\tTNT1 A 0 A_GiveInventory(\"DevilReflection\")\n\t\tStop\n    TimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitDevilIronFeet\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitDevilTorch\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitDevilReflection\")\n\t\tStop\n\t}\n}\n\nACTOR StoredSatan : CustomInventory\n{\n\t+INVBAR\n\t//Inventory.Icon SATAN\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupMessage \"SatanRune\"\n\tTag \"Activate Satan Rune\"\n\tStates\n\t{\n\tSpawn:\n\t\tSATA ABCD 3 Bright\n\t\tLoop\n\tUse:\n\t    TNT1 A 0  A_JumpIfInventory(\"TimeLimit\",1,\"TimeLimit\")\n\t\tTNT1 A 0 A_GiveInventory(\"SatanIronFeet\")\n\t\tTNT1 A 0 A_GiveInventory(\"SatanGhost\")\n\t\tTNT1 A 0 A_GiveInventory(\"SatanRegeneration\")\n\t\tTNT1 A 0 A_GiveInventory(\"SatanProtection\")\n\t\tTNT1 A 0 A_GiveInventory(\"SatanReflection\")\n\t\tTNT1 A 0 A_GiveInventory(\"SatanDamage\")\n\t\tStop\n\tTimeLimit:\n\t    TNT1 A 0 A_GiveInventory(\"LimitSatanIronFeet\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitSatanGhost\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitSatanRegeneration\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitSatanProtection\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitSatanReflection\")\n\t\tTNT1 A 0 A_GiveInventory(\"LimitSatanDamage\")\n\t\tStop\n\t}\n}\n\n/*Actor Omamori : CustomInventory\n{\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+INVENTORY.FANCYPICKUPSOUND\n\t+INVENTORY.PICKUPFLASH\n\t+FLOATBOB\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\tInventory.Icon STRRA\n\tInventory.PickupMessage \"Omamori!\"\n\tvar int user_time;\n\tSpeed 5\n\tStates\n\t{\n\tSpawn:\n\t\tBDAM A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tBDAM A 0 Bright A_JumpIf(user_time >= 8,\"MReady\")\n\t\tBDAM A 0 Bright A_SetUserVar(\"user_time\",user_time+1)\n\t\tBDAM A 1 Bright\n\t\tLoop\n\tMReady:\n\t\tBDAM A 0 A_ClearTarget\n\t\tBDAM A 0 Bright A_ChangeFlag(\"FLOAT\",1)\n\t\tBDAM A 0 Bright A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tBDAM A 1 Bright A_Look\n\t\tWait\n\tSee:\n\t\tBDAM A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tBDAM A 0 Bright A_JumpIfTargetInlos(3)\n\t\tBDAM A 0 Bright A_ClearTarget\n\t\tBDAM A 1 Bright\n\t\tGoto MReady\n\t\tBDAM A 1 Bright A_Chase\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"OmamoriItem\")\n\t\tStop\n\t}\n}\n\nActor OmamoriItem : CustomInventory\n{\n\t+INVBAR\n\tInventory.Icon ARTIBDAM\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 0\n\tInventory.PickupSound \"misc/p_pkup\"\n\tInventory.UseSound \"misc/invuse\"\n\tInventory.PickupMessage \"Omamori!\"\n\tTag \"Omamori\"\n\tStates\n\t{\n\tSpawn:\n\t\tBDAM A -1 Bright\n\t\tStop\n\tFailed:\n\t\tTNT1 A 1 A_Print(\"Already in use\")\n\t\tFail\n\tUse:\n\t\tTNT1 A 0 A_JumpIfInventory(\"OmamoriCheck\", 1, \"Failed\")\n\t\tTNT1 A 0 A_GiveInventory(\"OmamoriCheck\")\n\t\tTNT1 A 0 A_Print(\"Increased your life by one!\")\n\t\tTNT1 A 0 ACS_NamedExecute(\"Omamori_Script\",0)\n\t\tStop\n\t}\n}\n\nActor OmamoriCheck : Inventory\n{\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n}\n\nActor OmamoriPower : ArtiTeleport\n{\n\t+INVENTORY.AUTOACTIVATE\n\t+INVENTORY.ALWAYSPICKUP\n}\n\nActor Drag : CustomInventory\n{\n\tInventory.PickupMessage \"Drag!\"\n\tInventory.PickupSound \"misc/p_pkup\"\n\tInventory.Icon ARTISTIM\n\tRenderstyle Add\n\t+INVENTORY.FANCYPICKUPSOUND\n\t+INVENTORY.NEVERRESPAWN\n\t+INVENTORY.ALWAYSPICKUP\n\t+FLOATBOB\n\t+NOTIMEFREEZE\n\t+AMBUSH\n\t+LOOKALLAROUND\n\t+NOBLOCKMONST\n\t+NOTELEPORT\n\t+NOFEAR\n\t+NOPAIN\n\t+NODAMAGE\n\t+QUICKTORETALIATE\n\t-SHOOTABLE\n\tvar int user_time;\n\tSpeed 5\n\tStates\n\t{\n\tSpawn:\n\t\tSTMP A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult(\"Check_CVar\", 0, 0, 0, 0) == 0, 3)\n\t\tSTMP A 0 Bright A_JumpIf(user_time >= 8,\"MReady\")\n\t\tSTMP A 0 Bright A_SetUserVar(\"user_time\",user_time+1)\n\t\tSTMP ABCD 6 Bright\n\t\tLoop\n\tMReady:\n\t\tSTMP A 0 A_ClearTarget\n\t\tSTMP A 0 Bright A_ChangeFlag(\"FLOAT\",1)\n\t\tSTMP A 0 Bright A_ChangeFlag(\"FLOATBOB\",1)\n\t\tSTMP A 0 Bright A_ChangeFlag(\"NOGRAVITY\",1)\n\t\tSTMP ABCD 6 Bright A_Look\n\t\tWait\n\tSee:\n\t\tSTMP A 0 A_CheckFlag(\"ISMONSTER\", \"MReady\", AAPTR_TARGET)\n\t\tSTMP A 0 Bright A_JumpIfTargetInlos(3)\n\t\tSTMP A 0 Bright A_ClearTarget\n\t\tSTMP A 1 Bright\n\t\tGoto MReady\n\t\tSTMP A 0 Bright A_Chase\n\t\tSTMP A 1 Bright\n\t\tSTMP A 0 Bright A_Chase\n\t\tSTMP A 1 Bright\n\t\tSTMP A 0 Bright A_Chase\n\t\tSTMP A 1 Bright\n\t\tSTMP A 0 Bright A_Chase\n\t\tSTMP A 1 Bright\n\t\tSTMP A 0 Bright A_Chase\n\t\tSTMP A 1 Bright\n\t\tSTMP A 0 Bright A_Chase\n\t\tSTMP A 1 Bright\n\t\tSTMP B 0 Bright A_Chase\n\t\tSTMP B 1 Bright\n\t\tSTMP B 0 Bright A_Chase\n\t\tSTMP B 1 Bright\n\t\tSTMP B 0 Bright A_Chase\n\t\tSTMP B 1 Bright\n\t\tSTMP B 0 Bright A_Chase\n\t\tSTMP B 1 Bright\n\t\tSTMP B 0 Bright A_Chase\n\t\tSTMP B 1 Bright\n\t\tSTMP B 0 Bright A_Chase\n\t\tSTMP B 1 Bright\n\t\tSTMP C 0 Bright A_Chase\n\t\tSTMP C 1 Bright\n\t\tSTMP C 0 Bright A_Chase\n\t\tSTMP C 1 Bright\n\t\tSTMP C 0 Bright A_Chase\n\t\tSTMP C 1 Bright\n\t\tSTMP C 0 Bright A_Chase\n\t\tSTMP C 1 Bright\n\t\tSTMP C 0 Bright A_Chase\n\t\tSTMP C 1 Bright\n\t\tSTMP C 0 Bright A_Chase\n\t\tSTMP C 1 Bright\n\t\tSTMP D 0 Bright A_Chase\n\t\tSTMP D 1 Bright\n\t\tSTMP D 0 Bright A_Chase\n\t\tSTMP D 1 Bright\n\t\tSTMP D 0 Bright A_Chase\n\t\tSTMP D 1 Bright\n\t\tSTMP D 0 Bright A_Chase\n\t\tSTMP D 1 Bright\n\t\tSTMP D 0 Bright A_Chase\n\t\tSTMP D 1 Bright\n\t\tSTMP D 0 Bright A_Chase\n\t\tSTMP D 1 Bright\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"DragItem\")\n\t\tStop\n\t}\n}\n\nActor DragItem : CustomInventory\n{\n\tInventory.PickupMessage \"Drag!\"\n\tInventory.Amount 1\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.PickupSound \"misc/p_pkup\"\n\tInventory.UseSound \"items/powerstim\"\n\tInventory.Icon ARTISTIM\n\tRenderstyle Add\n\tTag \"Drag\"\n\t+INVENTORY.FANCYPICKUPSOUND\n\t+INVBAR\n\tstates\n\t{\n\tSpawn:\n\t\tSTMP ABCD 1 Bright\n\t\tloop\n\tFailed:\n\t\tTNT1 A 1 A_Print(\"Not yet available.\")\n\t\tFail\n\tUse:\n\t\tTNT1 A 0 A_JumpIfInventory(\"DragTimer\", 1, \"Failed\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"DragSideEffects\", 1, \"Failed\")\n\t\tTNT1 A 0 A_Print(\"You can hear dizziness and sound like an earthquake as a side effect.\")\n//\t\tTNT1 A 0 A_GiveInventory(\"DragBuddha\", 1)\n\t\tTNT1 A 0 ACS_NamedExecuteAlways(\"Drag_Buddha\", 0)\n\t\tTNT1 A 0 A_GiveInventory(\"DragQuadDamage\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"DragDoubleFiringSpeed\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"DragHighJump\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"DragQuadSpeed\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"DragTorch\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"DragTimer\", 1)\n\t\tStop\n\t}\n}*/\n\n/*Actor DragBuddha : PowerBuddha\n{\n\tPowerup.Duration -120\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t+NOTIMEFREEZE\n}*/\n\n/*Actor DragQuadDamage : PowerDamage\n{\n\tDamagefActor 4.0\n\tPowerup.Duration -120\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nActor DragDoubleFiringSpeed : PowerDoubleFiringSpeed\n{\n\tPowerup.Duration -120\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nActor DragHighJump : PowerHighJump\n{\n\tPowerup.Duration -120\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nActor DragQuadSpeed : PowerSpeed\n{\n\tSpeed 4\n\tPowerup.Duration -120\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nActor DragTorch : PowerTorch\n{\n\tPowerup.Duration -120\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t-INVENTORY.ADDITIVETIME\n\t+NOTIMEFREEZE\n}\n\nActor DragTimer : PowerTargeter\n{\n\tPowerup.Duration -120\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t+NOTIMEFREEZE\n\tStates\n\t{\n\tTargeter:\n\t\tTNT1 A 1\n\t\tTNT1 A 1\n\t\tTNT1 A 1\n\t\tLoop\n\t}\n}\n\nActor DragSideEffects : PowerTargeter\n{\n\tPowerup.Duration -60\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.UNDROPPABLE\n\t+INVENTORY.QUIET\n\t+NOTIMEFREEZE\n\tStates\n\t{\n\tTargeter:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_Quake(9, 35, 0, 1)\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_SetAngle(frandom(-1.0, 1.0)+angle, SPF_INTERPOLATE)\n\t\tTNT1 A 0 A_SetPitch(frandom(-1.0, 1.0)+pitch, SPF_INTERPOLATE)\n\t\tLoop\n\t}\n}*/"
      },
      {
        "source": "pk3",
        "name": "Items/DeployableShield.txt",
        "contents": "ACTOR PortShCount : Inventory\n{\n  Inventory.MaxAmount 3200\n  Inventory.Amount 1\n}\n\nactor PShieldPart\n{\n  Radius 10\n  Height 16\n  Scale 0.5\n  RenderStyle None\n  Alpha 0.25\n  Tag \"Deployable Shield\"\n  Bloodtype \"PShieldHit\"\n  +SHOOTABLE\n  +NOGRAVITY\n  +NOTELEPORT\n  +NODAMAGE\n  +NORADIUSDMG\n  +DONTRIP\n  +NOBLOODDECALS\n  +FLOORCLIP\n  //+REFLECTIVE\n  +GHOST\t//Give projectiles that you wish to pass through the shield THRUGHOST flag\n  States\n  {\n  Spawn:\n    HEXA A 4 bright\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor PShieldPartVisual\n{\n  Radius 8\n  Height 8\n  Scale 0.5\n  RenderStyle Add\t//Fuzzy looks great in software mode\n  Tag \"Deployable Shield\"\n  Alpha 0.25\n  +NOINTERACTION\n  +CLIENTSIDEONLY\n  +FLOORCLIP\n  States\n  {\n  Spawn:\n    HEXA A 4 bright\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor PShieldSpawner5up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 0, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 48, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 64, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 0, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPartVisual\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPartVisual\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPartVisual\", 0, 0, 48, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPartVisual\", 0, 0, 64, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor PShieldSpawner4up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 8, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 24, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 40, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 56, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 8, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPartVisual\", 0, 0, 24, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPartVisual\", 0, 0, 40, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPartVisual\", 0, 0, 56, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor PShieldSpawner3up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPart\", 0, 0, 48, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPartVisual\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldPartVisual\", 0, 0, 48, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor PShieldHit\n{\n  Radius 1\n  Height 1\n  Scale 0.5\n  Renderstyle Add\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    FHIT A 0 bright\n    FHIT A 1 bright A_Stop\n    FHIT A 0 bright A_PlaySound (\"ForceBarrier/Hit\")\n    FHIT BCDEFGH 1 bright\n    stop\n  }\n}\n\n//33% red part//\n\nactor RedAPShieldPart\n{\n  Radius 10\n  Height 16\n  Scale 0.5\n  RenderStyle None\n  Alpha 0.25\n  Tag \"Deployable Shield\"\n  Bloodtype \"RedAPShieldHit\"\n  +SHOOTABLE\n  +NOGRAVITY\n  +NOTELEPORT\n  +NODAMAGE\n  +NORADIUSDMG\n  +DONTRIP\n  +NOBLOODDECALS\n  +FLOORCLIP\n  //+REFLECTIVE\n  +GHOST\t//Give projectiles that you wish to pass through the shield THRUGHOST flag\n  States\n  {\n  Spawn:\n    HEXP A 4 bright\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor RedAPShieldPartVisual\n{\n  Radius 8\n  Height 8\n  Scale 0.5\n  RenderStyle Add\t//Fuzzy looks great in software mode\n  Tag \"Deployable Shield\"\n  Alpha 0.25\n  +NOINTERACTION\n  +CLIENTSIDEONLY\n  +FLOORCLIP\n  States\n  {\n  Spawn:\n    HEXP A 4 bright\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor RedAPShieldSpawner5up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 0, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 48, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 64, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 0, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPartVisual\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPartVisual\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPartVisual\", 0, 0, 48, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPartVisual\", 0, 0, 64, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor RedAPShieldSpawner4up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 8, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 24, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 40, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 56, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 8, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPartVisual\", 0, 0, 24, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPartVisual\", 0, 0, 40, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPartVisual\", 0, 0, 56, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor RedAPShieldSpawner3up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPart\", 0, 0, 48, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPartVisual\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldPartVisual\", 0, 0, 48, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor RedAPShieldHit\n{\n  Radius 1\n  Height 1\n  Scale 0.5\n  Renderstyle Add\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    FHIP A 0 bright\n    FHIP A 1 bright A_Stop\n    FHIP A 0 bright A_PlaySound (\"ForceBarrier/Hit\")\n    FHIP BCDEFGH 1 bright\n    stop\n  }\n}\n\n//66% red part//\n\nactor RedBPShieldPart\n{\n  Radius 10\n  Height 16\n  Scale 0.5\n  RenderStyle None\n  Alpha 0.25\n  Tag \"Deployable Shield\"\n  Bloodtype \"RedBPShieldHit\"\n  +SHOOTABLE\n  +NOGRAVITY\n  +NOTELEPORT\n  +NODAMAGE\n  +NORADIUSDMG\n  +DONTRIP\n  +NOBLOODDECALS\n  +FLOORCLIP\n  //+REFLECTIVE\n  +GHOST\t//Give projectiles that you wish to pass through the shield THRUGHOST flag\n  States\n  {\n  Spawn:\n    HEXQ A 4 bright\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor RedBPShieldPartVisual\n{\n  Radius 8\n  Height 8\n  Scale 0.5\n  RenderStyle Add\t//Fuzzy looks great in software mode\n  Tag \"Deployable Shield\"\n  Alpha 0.25\n  +NOINTERACTION\n  +CLIENTSIDEONLY\n  +FLOORCLIP\n  States\n  {\n  Spawn:\n    HEXQ A 4 bright\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor RedBPShieldSpawner5up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 0, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 48, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 64, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 0, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPartVisual\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPartVisual\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPartVisual\", 0, 0, 48, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPartVisual\", 0, 0, 64, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor RedBPShieldSpawner4up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 8, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 24, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 40, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 56, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 8, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPartVisual\", 0, 0, 24, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPartVisual\", 0, 0, 40, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPartVisual\", 0, 0, 56, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor RedBPShieldSpawner3up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPart\", 0, 0, 48, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPartVisual\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldPartVisual\", 0, 0, 48, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor RedBPShieldHit\n{\n  Radius 1\n  Height 1\n  Scale 0.5\n  Renderstyle Add\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    FHIQ A 0 bright\n    FHIQ A 1 bright A_Stop\n    FHIQ A 0 bright A_PlaySound (\"ForceBarrier/Hit\")\n    FHIQ BCDEFGH 1 bright\n    stop\n  }\n}\n\n//100% red part//\n\nactor RedPShieldPart\n{\n  Radius 10\n  Height 16\n  Scale 0.5\n  RenderStyle None\n  Alpha 0.25\n  Tag \"Deployable Shield\"\n  Bloodtype \"RedPShieldHit\"\n  +SHOOTABLE\n  +NOGRAVITY\n  +NOTELEPORT\n  +NODAMAGE\n  +NORADIUSDMG\n  +DONTRIP\n  +NOBLOODDECALS\n  +FLOORCLIP\n  //+REFLECTIVE\n  +GHOST\t//Give projectiles that you wish to pass through the shield THRUGHOST flag\n  States\n  {\n  Spawn:\n    HEXR A 4 bright\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor RedPShieldPartVisual\n{\n  Radius 8\n  Height 8\n  Scale 0.5\n  RenderStyle Add\t//Fuzzy looks great in software mode\n  Tag \"Deployable Shield\"\n  Alpha 0.25\n  +NOINTERACTION\n  +CLIENTSIDEONLY\n  +FLOORCLIP\n  States\n  {\n  Spawn:\n    HEXR A 4 bright\n    stop\n  Death:\n    TNT1 A 2\n    stop\n  }\n}\n\nactor RedPShieldSpawner5up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 0, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 48, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 64, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 0, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPartVisual\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPartVisual\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPartVisual\", 0, 0, 48, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPartVisual\", 0, 0, 64, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor RedPShieldSpawner4up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 8, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 24, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 40, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 56, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 8, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPartVisual\", 0, 0, 24, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPartVisual\", 0, 0, 40, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPartVisual\", 0, 0, 56, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor RedPShieldSpawner3up\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 0\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPart\", 0, 0, 48, 0, 0, 0, 0, 32)\n    //TNT1 A 0 A_SpawnItemEx (\"ShieldPartVisual\", 0, 0, 16, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPartVisual\", 0, 0, 32, 0, 0, 0, 0, 32)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldPartVisual\", 0, 0, 48, 0, 0, 0, 0, 32)\n    stop\n  }\n}\n\nactor RedPShieldHit\n{\n  Radius 1\n  Height 1\n  Scale 0.5\n  Renderstyle Add\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    FHIR A 0 bright\n    FHIR A 1 bright A_Stop\n    FHIR A 0 bright A_PlaySound (\"ForceBarrier/Hit\")\n    FHIR BCDEFGH 1 bright\n    stop\n  }\n}\n\nACTOR DeployableShield : Inventory\n{\n  //+COUNTITEM\n  //+INVENTORY.INVBAR\n  //Inventory.Icon \"DEPSA0\"\n  Inventory.Amount 0\n  inventory.maxamount 100\n  +Inventory.Undroppable\n  //Inventory.PickupMessage \"You picked up a deployable shield!\"\n  //States\n  //{\n // Spawn:\n  //  DEPS A -1\n  //  Stop\n  //Use:\n    //DEPS A -1\n    //TNT1 A 0 A_SpawnItemEx (\"ActiveShield\", 56, 0, 8, 0, 0, 0, 0, 1)\n    //Stop\n  //}\n}\n\nactor DeployShield\n{\n    Radius 1\n    Height 1\n\tStates\n\t{\n     Spawn:\n\t  TNT1 A 1\n\t  TNT1 A 0 A_SpawnItemEx (\"ActiveShield\", 56, 0, 8, 0, 0, 0, 0, 1)\n\t  stop\n\t  }\n}\n\nactor ActiveShield\n{\n  -SOLID\n  -SHOOTABLE\n  States\n  {\n  Spawn:\n    TNT1 A 1\n\tTNT1 A 0 A_PlaySound (\"ForceBarrier/On\")\n\tDEPS A 26\n\tDEPS E 3\n\tDEPS D 3\n\tDEPS C 3\n\tgoto See\n  See:\n    DEPS B 1\n\tTNT1 A 0 A_PlaySound (\"ForceBarrier/Loop\")\n\tTNT1 A 0 A_SpawnItemEx (\"ShieldSpawner2\")\n    DEPS B 2\n\tTNT1 A 0 A_GiveInventory(\"PortShCount\", 1)\n\tTNT1 A 0 A_JumpIfInventory (\"PortShCount\", 800, \"See2\")\n    Loop\n  See2:\n    DEPS C 1\n\tTNT1 A 0 A_PlaySound (\"ForceBarrier/Loop\")\n\tTNT1 A 0 A_SpawnItemEx (\"RedAShieldSpawner2\")\n    DEPS C 2\n\tTNT1 A 0 A_GiveInventory(\"PortShCount\", 1)\n\tTNT1 A 0 A_JumpIfInventory (\"PortShCount\", 1600, \"See3\")\n    Loop\n  See3:\n    DEPS D 1\n\tTNT1 A 0 A_PlaySound (\"ForceBarrier/Loop\")\n\tTNT1 A 0 A_SpawnItemEx (\"RedBShieldSpawner2\")\n    DEPS D 2\n\tTNT1 A 0 A_GiveInventory(\"PortShCount\", 1)\n\tTNT1 A 0 A_JumpIfInventory (\"PortShCount\", 2400, \"See4\")\n    Loop\n  See4:\n    DEPS E 1\n\tTNT1 A 0 A_PlaySound (\"ForceBarrier/Loop\")\n\tTNT1 A 0 A_SpawnItemEx (\"RedShieldSpawner2\")\n    DEPS E 2\n\tTNT1 A 0 A_GiveInventory(\"PortShCount\", 1)\n\tTNT1 A 0 A_JumpIfInventory (\"PortShCount\", 3200, \"Death\")\n    Loop\n  Death:\n    DESP A 0 A_PlaySound (\"ForceBarrier/Off\")\n\tDEPS A 70\n\tDEPS A 3 A_FadeOut (0.05)\n    goto Death+2\n  }\n}\n\nactor ShieldSpawner2\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"PShieldSpawner5up\", 8, 0, 0)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldSpawner4up\", 8, 24, 0)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldSpawner4up\", 8, -24, 0)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldSpawner3up\", 8, 48, 0)\n    TNT1 A 0 A_SpawnItemEx (\"PShieldSpawner3up\", 8, -48, 0)\n    stop\n  }\n}\n\nactor RedShieldSpawner2\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldSpawner5up\", 8, 0, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldSpawner4up\", 8, 24, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldSpawner4up\", 8, -24, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldSpawner3up\", 8, 48, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedPShieldSpawner3up\", 8, -48, 0)\n    stop\n  }\n}\n\nactor RedAShieldSpawner2\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldSpawner5up\", 8, 0, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldSpawner4up\", 8, 24, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldSpawner4up\", 8, -24, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldSpawner3up\", 8, 48, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedAPShieldSpawner3up\", 8, -48, 0)\n    stop\n  }\n}\n\nactor RedBShieldSpawner2\n{\n  Radius 1\n  Height 1\n  +NOGRAVITY\n  +NOINTERACTION\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldSpawner5up\", 8, 0, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldSpawner4up\", 8, 24, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldSpawner4up\", 8, -24, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldSpawner3up\", 8, 48, 0)\n    TNT1 A 0 A_SpawnItemEx (\"RedBPShieldSpawner3up\", 8, -48, 0)\n    stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "Monsters/Arachnotron.txt",
        "contents": "actor MArachnotron : Arachnotron\n{ tag \"Arachnotron\"\n  health 500\n  radius 56\n  height 56\n  mass 600\n  speed 12\n  obituary \"$MO_Arachno\"\n  PainChance \"Control\", 255\n  DamageFactor \"Control\", 1\n  DamageFactor \"MarineDamage\", 1\n  DamageFactor \"ImpBallDamage\", 0.5\n  DamageFactor \"ZombiesDamage\", 0.5\n  DamageFactor \"CacoDamage\", 0.5\n  DamageFactor \"SkelDamage\", 0.5\n  DamageFactor \"FatsoDamage\", 0.5\n  DamageFactor \"KnightDamage\", 0.5\n  DamageFactor \"viledamage\", 0.5\n  DamageFactor \"ZombieTankDamage\", 0.1\n  DamageFactor \"ArachDamage\", 0\n  DamageFactor \"CybYamato\", 0.01\n  DamageFactor \"ZombiesFCDamage\", 0.1\n  states\n  {Spawn:\n    BSPI A 10 A_Look\n    BSPI B 10\n    BSPI A 0 Thing_SetSpecial (0,226,409,0,health)\n    loop\n  See:\n    BSPI A 20\n    BSPI A 3 A_BabyMetal\n    BSPI ABBCC 3 A_Chase\n    BSPI D 3 A_BabyMetal\n    BSPI DEEFF 3 A_Chase\n    BSPI A 0 A_JumpIf (special != 226,1)\n    goto See+1\n    BOSS A 0 Thing_SetSpecial (0,226,409,0,health)\n    goto see+1\n  Missile:\n    BSPI A 20 A_FaceTarget\n    BSPI H 4 bright A_BspiAttack\n    BSPI G 4\n    BSPI G 1 A_SpidRefire\n    goto Missile+1\n  Death.Control:\n    TNT1 A 0 ACS_Execute(410,0,12)\n    TNT1 A 10\n    stop\n  Death:\n    BSPI A 0 A_GiveToTarget (\"MarineExp\",5)\n    BSPI J 20 A_Scream\n    BSPI K 7 A_NoBlocking\n    BSPI LMNO 7\n    BSPI P 1000 A_BossDeath\n    stop\n   Ice:\n\t\"####\" \"#\" 5 A_GenericFreezeDeath\n\tTNT1 A 0 A_GiveToTarget (\"MarineExp\",5)\n    \"----\" A 1 A_FreezeDeathChunks\n    Wait}}\nactor MArachnotronPlasma : ArachnotronPlasma replaces ArachnotronPlasma\n{DamageType \"ArachDamage\"}\nactor MArachGunner\n{ tag \"ArachGunner\"\n  obituary \"$MO_ArachGu\"\n  health 500\n  radius 56\n  height 56\n  mass 600\n  speed 12\n  painchance 128\n  seesound \"CSPI/Sight\"\n  painsound \"baby/pain\"\n  deathsound \"CSPI/Death\"\n  activesound \"baby/active\"\n  attackSound \"weapons/pistol\"\n  decal \"bulletchip\"\n  MONSTER\n  +FLOORCLIP\n  PainChance \"Control\", 255\n  DamageFactor \"Control\", 1\n  DamageFactor \"MarineDamage\", 1\n  DamageFactor \"ImpBallDamage\", 0.5\n  DamageFactor \"ZombiesDamage\", 0.5\n  DamageFactor \"CacoDamage\", 0.5\n  DamageFactor \"SkelDamage\", 0.5\n  DamageFactor \"FatsoDamage\", 0.5\n  DamageFactor \"KnightDamage\", 0.5\n  DamageFactor \"viledamage\", 0.5\n  DamageFactor \"ZombieTankDamage\", 0.1\n  DamageFactor \"ArachDamage\", 0\n  DamageFactor \"CybYamato\", 0.01\n  DamageFactor \"ZombiesFCDamage\", 0.1\n  states\n  {Spawn:\n    CSPI A 10 A_Look\n    CSPI B 10\n    CSPI A 0 Thing_SetSpecial (0,226,409,0,health)\n    loop\n  See:\n    CSPI A 20\n    CSPI A 3 A_BabyMetal\n    CSPI ABBCC 3 A_Chase\n    CSPI D 3 A_BabyMetal\n    CSPI DEEFF 3 A_Chase\n    CSPI A 0 A_JumpIf (special != 226,1)\n    goto See+1\n    CSPI A 0 Thing_SetSpecial (0,226,409,0,health)\n    goto see+1\n  Missile:\n    CSPI A 20 A_FaceTarget\n    CSPI H 2 bright A_CustomBulletAttack (15, 5, 2, 4, \"FArachPuff\")\n    CSPI G 2\n    CSPI H 2 bright A_CustomBulletAttack (15, 5, 2, 4, \"FArachPuff\")\n    CSPI G 2\n    CSPI G 1 bright A_SpidRefire\n    goto Missile+1\n  Death.Control:\n    TNT1 A 0 ACS_Execute(410,0,31)\n    TNT1 A 10\n    stop\n  Pain:\n    CSPI I 3\n    CSPI I 3 A_Pain\n    goto See+1\n  Death:\n    CSPI A 0 A_GiveToTarget (\"MarineExp\",5)\n    CSPI J 20 A_Scream\n    CSPI K 7 A_NoBlocking\n    CSPI LMNO 7\n    CSPI P 1000 A_BossDeath\n    stop\n  Raise:\n    CSPI PONMLKJ 5\n    goto See+1\n  Ice:\n\t\"####\" \"#\" 5 A_GenericFreezeDeath\n\tTNT1 A 0 A_GiveToTarget (\"MarineExp\",5)\n    \"----\" A 1 A_FreezeDeathChunks\n    Wait}}\nactor FArachPuff : FBulletPuff\n{DamageType \"ArachDamage\"}"
      },
      {
        "source": "pk3",
        "name": "Monsters/BaronOfHell.txt",
        "contents": "actor MBaronOfHell : BaronOfHell\n{ tag \"Baron Of Hell\"\n  health 1000\n  radius 24\n  height 64\n  mass 1000\n  speed 8\n  BloodColor \"darkgreen\"\n  PainChance \"Control\", 255\n  DamageFactor \"Control\", 1\n  obituary \"$MO_BaronHe\"\n  Hitobituary \"$MO_BaronHh\"\n  DamageFactor \"MarineDamage\", 1\n  DamageFactor \"MarineRail\", 0.9\n  DamageFactor \"ImpBallDamage\", 0.5\n  DamageFactor \"ZombiesDamage\", 0.5\n  DamageFactor \"CacoDamage\", 0.5\n  DamageFactor \"SkelDamage\", 0.5\n  DamageFactor \"FatsoDamage\", 0.5\n  DamageFactor \"ArachDamage\", 0.5\n  DamageFactor \"viledamage\", 0.5\n  DamageFactor \"ZombieTankDamage\", 0.1\n  DamageFactor \"KnightDamage\", 0\n  DamageFactor \"CybYamato\", 0.01\n  DamageFactor \"ZombiesFCDamage\", 0.1\n  states\n  {Spawn:\n    BOSS A 10 A_Look\n\tBOSS B 10\n\tBOSS A 0 Thing_SetSpecial (0,226,409,0,health)\n    loop\n  See:\n    BOSS AABBCCDD 3 A_Chase\n    BOSS A 0 A_JumpIf (special != 226,1)\n\tloop\n\tBOSS A 0 Thing_SetSpecial (0,226,409,0,health)\n\tgoto see\n  Death.Control:\n    TNT1 A 0 ACS_Execute(410,0,11)\n\tTNT1 A 10\n\tstop\n  Raise:\n    BOSS O 8\n    BOSS N 8\n    BOSS MLKJI  8\n    Goto See\n  pain.GetUp:\n    BOSS D 4\n    BOSS D 4  A_changeflag(\"friendly\",1)\n    BOSS D 1  A_Print(\"was there\")\n    Goto See\n  Death:\n    BOSS I 8 A_GiveToTarget (\"MarineExp\",7)\n    BOSS J 8 A_Scream\n    BOSS K 8\n    BOSS L 8 A_NoBlocking\n    BOSS MN 8\n    BOSS O 1000  A_BossDeath\n    stop\n  Ice:\n\t\"####\" \"#\" 5 A_GenericFreezeDeath\n\tTNT1 A 0 A_GiveToTarget (\"MarineExp\",7)\n    \"----\" A 1 A_FreezeDeathChunks\n    Wait}}\n\nActor Afrit\n{\n  Health 800\n  Speed 6\n  Radius 24\n  Height 72\n  Mass 500\n  SeeSound \"Baron/Sight\"\n  PainSound \"Baron/Pain\"\n  DeathSound \"Baron/Death\"\n  ActiveSound \"Baron/Active\"\n  Tag \"Afrit\"\n  Monster\n  +NoGravity\n  +NoBlood\n  +Float\n  +DontHurtSpecies\n  Obituary \"$MO_Afrit\"\n  HitObituary \"$MO_Afrith\"\n  BloodColor \"red\"\n  PainChance \"Control\", 255\n  DamageFactor \"Control\", 1\n  DamageFactor \"MarineDamage\", 1\n  DamageFactor \"MarineRail\", 0.8\n  DamageFactor \"ImpBallDamage\", 0.3\n  DamageFactor \"ZombiesDamage\", 0.3\n  DamageFactor \"CacoDamage\", 0.3\n  DamageFactor \"SkelDamage\", 0.3\n  DamageFactor \"FatsoDamage\", 0.3\n  DamageFactor \"ArachDamage\", 0.3\n  DamageFactor \"viledamage\", 0.3\n  DamageFactor \"ZombieTankDamage\", 0.2\n  DamageFactor \"KnightDamage\", 0\n  DamageFactor \"CybYamato\", 0.01\n  DamageFactor \"ZombiesFCDamage\", 0.1\n  States\n  {\n  Spawn:\n    FRIT A 0\n    //FRIT A 0 A_CustomMissile(\"OrbitComet\", 44, 0, 0, 2, 0)\n    //FRIT A 0 A_CustomMissile(\"OrbitComet2\", 44, 0, 180, 2, 0)\n    FRIT AABB 4 Bright A_Look\n\tFRIT A 0 Thing_SetSpecial (0,226,409,0,health)\n    //Goto Spawn+3\n\tLoop\n  Idle:\n    FRIT ABCD 4 Bright A_Look\n\tFRIT A 0 Thing_SetSpecial (0,226,409,0,health)\n    Loop\n  See:\n    FRIT AABBCCDD 2 Bright A_Chase\n\tFRIT A 0 A_JumpIf (special != 226,1)\n\tloop\n\tFRIT A 0 Thing_SetSpecial (0,226,409,0,health)\n\tgoto see\n  Melee:\n    TNT1 A 0 A_Jump(64, \"Melee2\")\n    FRIT ST 6 Bright A_FaceTarget\n    FRIT U 6 Bright A_CustomComboAttack(\"AfritBall\", 44, 10, \"Baron/Melee\")\n    Goto See\n  Melee2:\n    FRIT E 6 Bright A_FaceTarget\n    FRIT F 6 Bright A_CustomMissile(\"HellFire\", 44)\n    FRIT G 6 Bright A_FaceTarget\n    Goto See\n  Missile:\n    TNT1 A 0 A_Jump(64, \"Missile3\")\n    TNT1 A 0 A_Jump(128, \"Missile2\")\n    FRIT ST 6 Bright A_FaceTarget\n    FRIT U 6 Bright A_CustomComboAttack(\"AfritBall\", 44, 10, \"Baron/Melee\")\n    Goto See\n  Missile2:\n    FRIT EF 6 Bright A_FaceTarget\n    FRIT G 6 Bright A_CustomMissile(\"Comet\", 44)\n    Goto See\n  Missile3:\n    FRIT E 6 Bright A_FaceTarget\n    FRIT F 6 Bright A_CustomMissile(\"Hellfire\", 44)\n    FRIT G 6 Bright A_FaceTarget\n    Goto See\n  Pain:\n    FRIT H 4 Bright\n    FRIT H 4 Bright A_Pain\n    Goto See\n  \tDeath.Control:\n    TNT1 A 0 ACS_Execute(410,0,51)\n\tTNT1 A 10\n\tstop\n  Death:\n    TNT1 A 0 A_NoGravity\n\tFRIT I 3 A_GiveToTarget (\"MarineExp\",7)\n    FRIT I 6 Bright A_Scream\n    FRIT J 5 Bright A_NoBlocking\n    FRIT KLMNOPQR 4 Bright\n    Stop\n  Ice:\n\t\"####\" \"#\" 5 A_GenericFreezeDeath\n\tTNT1 A 0 A_GiveToTarget (\"MarineExp\",7)\n    \"----\" A 1 A_FreezeDeathChunks\n    Wait}}\n\nActor AfritBall\n{\n  Radius 6\n  Height 8\n  Speed 15\n  Damage 8\n  Projectile\n  RenderStyle Add\n  Alpha 0.8\n  SeeSound \"Imp/Attack\"\n  DeathSound \"Imp/ShotX\"\n  Decal BaronScorch\n  States\n  {\n  Spawn:\n    FRTM AB 5 Bright\n    Loop\n  Death:\n    FRTM CDE 6 Bright\n    Stop\n  }\n}\n\nActor Comet\n{\n  Radius 6\n  Height 8\n  Speed 10\n  Damage 5\n  SpawnID 250\n  Scale 0.55\n  Projectile\n  SeeSound \"Afrit/CometFire\"\n  DeathSound \"Afrit/CometHit\"\n  Decal Scorch\n  States\n  {\n  Spawn:\n    COMT AAAABBBBCCCC 1 Bright A_SpawnItemEx(\"CometTail\", 0, 0, 0, 0, 0, 0, 0, 128)\n    Loop\n  Death:\n    COMT D 3 Bright A_SpawnItemEx(\"CometDeathGlow\", 0, 0, 0, 0, 0, 0, 0, 128)\n    COMT E 3 Bright A_Explode(80, 80, 0)\n    TNT1 A 0 A_SpawnItemEx(\"CometDeath\", 0, 0, 0, 0, 0, 0, 0, 128)\n    Stop\n  }\n}\n\nActor CometTail\n{\n  Projectile\n  +NoClip\n  RenderStyle Add\n  Alpha 0.4\n  States\n  {\n  Spawn:\n    FRTB ABCDEFGHI 1 Bright\n    Stop\n  }\n}\n\nActor CometDeathGlow : CometTail\n{\n  Scale 2.0\n  Alpha 0.6\n  States\n  {\n  Spawn:\n    FRTB ABCDEFGHI 3 Bright\n    Stop\n  }\n}\n\nActor CometDeath\n{\n  Projectile\n  RenderStyle Add\n  +NoClip\n  Alpha 0.7\n  States\n  {\n  Spawn:\n    COMT FGHI 3 Bright\n    Stop\n  }\n}\n\n/*Actor OrbitComet : Comet\n{\n  SeeSound \"\"\n  +NoClip\n  Scale 0.28\n  Speed 5\n  States\n  {\n  Spawn:\n    COMT AABBCC 1 Bright A_SpawnItemEx(\"OrbitCometTail\", 0, 0, 0, 0, 0, 0, 0, 128)\n    TNT1 A 0 A_CustomMissile(\"OrbitComet\", 0, 0, 75)\n    TNT1 A 0 A_SpawnItemEx(\"OrbitCometTail\", 0, 0, 0, 0, 0, 0, 0, 128)\n    Stop\n  }\n}\n\nActor OrbitComet2 : OrbitComet\n{\n  States\n  {\n  Spawn:\n    COMT AABBCC 1 Bright A_SpawnItemEx(\"OrbitCometTail\", 0, 0, 0, 0, 0, 0, 0, 128)\n    TNT1 A 0 A_CustomMissile(\"OrbitComet2\", 0, 0, -75)\n    TNT1 A 0 A_SpawnItemEx(\"OrbitCometTail\", 0, 0, 0, 0, 0, 0, 0, 128)\n    Stop\n  }\n}\n\nActor OrbitCometTail : CometTail\n{\n  Scale 0.5\n}*/\n\nActor HellFire\n{\n  +NoBlockMap\n  +Painless\n  +BloodlessImpact\n  +Missile\n  +DropOff\n  States\n  {\n  Spawn:\n    TNT1 A 1\n    Loop\n  Death:\n    TNT1 A 0 Bright A_CustomMissile(\"HellFire1\", 0, 0, -180)\n    TNT1 A 0 Bright A_CustomMissile(\"HellFire1\", 0, 16, -175)\n    TNT1 A 0 Bright A_CustomMissile(\"HellFire1\", 0, 32, -170)\n    TNT1 A 0 Bright A_CustomMissile(\"HellFire1\", 0, -16, -185)\n    TNT1 A 0 Bright A_CustomMissile(\"HellFire1\", 0, -32, -190)\n    TNT1 A 10 Bright A_PlaySound(\"Afrit/Hellfire\")\n    Stop\n  }\n}\n\nActor HellFire1\n{\n  +Ripper\n  +NoExplodeFloor\n  +Painless\n  +BloodlessImpact\n  +Missile\n  +DropOff\n  Speed 2\n  States\n  {\n  Spawn:\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 0, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 16, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, -16, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 0, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 16, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, -16, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 0, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 16, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, -16, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 0, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 16, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, -16, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 0, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, 16, 0)\n     TNT1 A 10 A_CustomMissile(\"HellFire2\", 0, -16, 0)\n     Stop\n  }\n}\n\nActor HellFire2\n{\n  +Ripper\n  +NoExplodeFloor\n  +BloodlessImpact\n  +DropOff\n  +Randomize\n  Scale 1.5\n  Speed 1\n  RenderStyle Add\n  Alpha 0.67\n  Damagetype \"KnightDamage\"\n  Obituary \"%o was scorched by an Afrit\"\n  States\n  {\n  Spawn:\n    TNT1 A 8\n    FRTF A 3 Bright\n    FRTF BC 3 Bright A_Explode(3, 64)\n    TNT1 A 0 A_Explode(3, 64)\n    TNT1 A 0 A_Jump(191, 4)\n    TNT1 A 0 A_CustomMissile(\"HellFire2\", 0, 24, 0)\n    TNT1 A 0 A_CustomMissile(\"HellFire2\", 0, 0, 0)\n    TNT1 A 0 A_CustomMissile(\"HellFire2\", 0, -24, 0)\n    FRTF DEFGHIJKLMNO 3 Bright\n    Stop\n  }\n}"
      },
      {
        "source": "pk3",
        "name": "Monsters/BossEye.txt",
        "contents": "ACTOR MBossEye : BossEye replaces BossEye\n{DamageFactor \"Control\", 0\n  States\n  {Spawn:\n    SSWV A 5 A_Look\n\tSSWV A 5\n    Loop}}\nACTOR MBossBrain : BossBrain replaces BossBrain\n{ DamageFactor \"Control\", 0\n  DamageFactor \"MarineDamage\", 1\n  DamageFactor \"ImpBallDamage\", 0\n  DamageFactor \"ZombiesDamage\", 0\n  DamageFactor \"CacoDamage\", 0\n  DamageFactor \"SkelDamage\", 0\n  DamageFactor \"FatsoDamage\", 0\n  DamageFactor \"KnightDamage\", 0\n  DamageFactor \"ArachDamage\", 0\n  DamageFactor \"viledamage\", 0\n  DamageFactor \"ZombieTankDamage\", 0\n  States\n  {Spawn:\n    BBRN A 1\n    loop}}\nACTOR MExplosiveBarrel : ExplosiveBarrel replaces ExplosiveBarrel\n{PainChance \"Control\", 255\n DamageFactor \"Control\", 1\n States\n {Spawn:\n    BAR1 AB 6\n    BAR1 A 0 Thing_SetSpecial (0,226,409,0,health)\n  See:\n    BAR1 ABAB 6\n    BAR1 A 0 A_JumpIf (special != 226,1)\n    loop\n    BAR1 A 0 Thing_SetSpecial (0,226,409,0,health)\n    goto see\n  Death:\n    BEXP A 5 BRIGHT\n    BEXP B 5 BRIGHT A_Scream\n    BEXP C 5 BRIGHT\n    BEXP D 5 BRIGHT A_Explode\n    BEXP E 10 BRIGHT\n    BEXP E 1050 BRIGHT A_BarrelDestroy\n    BEXP E 5 A_Respawn\n    Wait\n  Death.Control:\n    TNT1 A 0\n    TNT1 A 0 A_NoBlocking\n    TNT1 A 5 ACS_Execute(427,0,1)\n    TNT1 A 1050 BRIGHT A_BarrelDestroy\n    TNT1 A 5 A_Respawn\n    Wait}}\nACTOR MExplosiveBarrel2 : MExplosiveBarrel\n{States\n {Death:\n    BEXP A 5 BRIGHT\n    BEXP B 5 BRIGHT A_Scream\n    BEXP C 5 BRIGHT\n    BEXP D 5 BRIGHT A_Explode\n    BEXP E 10 BRIGHT\n    TNT1 A 0 Thing_Remove (0)\n    Stop\n  Death.Control:\n    TNT1 A 0\n    TNT1 A 0 A_NoBlocking\n    TNT1 A 20 ACS_Execute(427,0,1)\n    TNT1 A 0 Thing_Remove (0)\n    Stop}}\nACTOR MExplosiveBarrel3 : MExplosiveBarrel2\n{radius 5\n  height 30\n  -SOLID\n  -SHOOTABLE\n  DamageType \"CybRLDamage\"\n States\n {Spawn:\n    BAR1 AB 0\n    goto Death\n  See:\n    BAR1 AB 0\n    goto Death\n  Death:\n    BEXP A 5 BRIGHT A_SpawnItemEx (\"MDeathGhost\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)\n    BEXP B 5 BRIGHT A_Scream\n    BEXP C 5 BRIGHT\n    BEXP D 5 BRIGHT A_Explode\n    BEXP E 10 BRIGHT\n    TNT1 A 0 Thing_Remove (0)\n    Stop}}"
      },
      {
        "source": "pk3",
        "name": "Monsters/CacoDemon.txt",
        "contents": "actor MCacodemon : Cacodemon\n{ tag \"Cacodemon\"\n  health 500\n  radius 31\n  height 56\n  mass 400\n  speed 8\n  BloodColor \"blue\"\n  obituary \"$MO_Cacodem\"\n  Hitobituary \"$MO_Cacodeh\"\n  PainChance \"Control\", 255\n  DamageFactor \"Control\", 1\n  +NOINFIGHTING\n  DamageFactor \"MarineDamage\", 1\n  DamageFactor \"ImpBallDamage\", 0.2\n  DamageFactor \"ZombiesDamage\", 0.2\n  DamageFactor \"SkelDamage\", 0.2\n  DamageFactor \"FatsoDamage\", 0.2\n  DamageFactor \"KnightDamage\", 0.2\n  DamageFactor \"ArachDamage\", 0.2\n  DamageFactor \"viledamage\", 0.2\n  DamageFactor \"ZombieTankDamage\", 0.1\n  DamageFactor \"CacoDamage\", 0\n  DamageFactor \"CybYamato\", 0.01\n  DamageFactor \"ZombiesFCDamage\", 0.1\n  states\n  {Spawn:\n    HEAD A 5 A_Look\n\tHEAD A 5\n\tHEAD A 0 Thing_SetSpecial (0,226,409,0,health)\n    loop\n  See:\n    HEAD A 3 A_Chase\n    HEAD A 0 A_JumpIf (special != 226,1)\n\tloop\n\tHEAD A 0 Thing_SetSpecial (0,226,409,0,health)\n\tgoto see\n  Death.Control:\n    TNT1 A 0 ACS_Execute(410,0,7)\n\tTNT1 A 10\n\tstop\n  Death:\n    HEAD G 8 A_GiveToTarget (\"MarineExp\",4)\n    HEAD H 8 A_Scream\n    HEAD IJK 8\n    HEAD L 24 A_NoBlocking\n\tHEAD M 1 A_JumpIf(random(1,3) == 3, 2)\n\tHEAD M -1\n\tStop\n    HEAD M 1000\n    stop\n   Raise:\n\tHEAD M 8\n\tHEAD LKJIHG 8\n\tGoto See\n   Ice:\n\t\"####\" \"#\" 5 A_GenericFreezeDeath\n\tTNT1 A 0 A_GiveToTarget (\"MarineExp\",4)\n    \"----\" A 1 A_FreezeDeathChunks\n    Wait}}\nactor MCacodemonBall : CacodemonBall replaces CacodemonBall\n{DamageType \"CacoDamage\"}\n// Cacolantern\nACTOR MCacolantern : MCacodemon 5006\n{   SpawnID 159\n    tag \"Cacolantern\"\n    PainChance \"Control\", 255\n    DamageFactor \"Control\", 1\n    BloodColor \"blue\"\n    obituary \"$MO_CacoLan\"\n\tHitobituary \"$MO_CacoLah\"\n\t+NOINFIGHTING\n    DamageFactor \"MarineDamage\", 1\n    DamageFactor \"ImpBallDamage\", 0.2\n    DamageFactor \"ZombiesDamage\", 0.2\n    DamageFactor \"SkelDamage\", 0.2\n    DamageFactor \"FatsoDamage\", 0.2\n    DamageFactor \"KnightDamage\", 0.2\n    DamageFactor \"ArachDamage\", 0.2\n    DamageFactor \"viledamage\", 0.2\n\tDamageFactor \"ZombieTankDamage\", 0.1\n    DamageFactor \"CacoDamage\", 0\n\tDamageFactor \"CybYamato\", 0.01\n\tDamageFactor \"ZombiesFCDamage\", 0.1\n\tStates\n\t{Spawn:\n\t\tHED2 A 5 A_Look\n\t\tHED2 A 5\n\t    HED2 A 0 Thing_SetSpecial (0,226,409,0,health)\n\t\tLoop\n\tSee:\n\t\tHED2 A 3 A_Chase\n\t\tHEAD A 0 A_JumpIf (special != 226,1)\n\t    loop\n\t    HEAD A 0 Thing_SetSpecial (0,226,409,0,health)\n\t    goto see\n\tPain:\n\t\tHED2 E 3\n\t\tHED2 E 3 A_Pain\n\t\tHED2 F 6\n\t    goto see\n\tDeath.Control:\n        TNT1 A 0 ACS_Execute(410,0,25)\n\t    TNT1 A 10\n\t    stop\n\tMissile:\n\t\tHED2 BC 5 A_FaceTarget\n\t\tHED2 D 5 BRIGHT A_BasicAttack (8, \"None\", \"MCacolanternBall\", 32)\n\t\tGoto See\n\tDeath:\n\t    HED2 G 1 A_GiveToTarget (\"MarineExp\",5)\n\t\tHED2 G 7 A_NoBlocking\n\t\tHED2 H 8 A_Scream\n\t\tHED2 IJK 8\n\t\tHED2 L 24\n\t\tHED2 M 1 A_JumpIf(random(1,3) == 3, 2)\n\t\tHED2 M -1\n\t\tStop\n\t\tHED2 M 1000\n\t\tStop\n\tRaise:\n\t\tHED2 M 8\n\t\tHED2 LKJIHG 8\n\t\tGoto See\n\tIce:\n\t    \"####\" \"#\" 5 A_GenericFreezeDeath\n\t    TNT1 A 0 A_GiveToTarget (\"MarineExp\",5)\n        \"----\" A 1 A_FreezeDeathChunks\n        Wait}}\nACTOR MCacolanternBall\n{\n    SpawnID 219\n    DamageType \"CacoDamage\"\n    Decal CacoScorch\n    Radius 6\n\tHeight 8\n\tSpeed 20\n\tDamage 5\n\tProjectile\n\t+RANDOMIZE\n\tRenderStyle Add\n\tSeeSound \"caco/attack\"\n\tDeathSound \"caco/shotx\"\n\tStates\n\t{\n\tSpawn:\n\t\tBAL8 AB 4 BRIGHT\n\t\tLoop\n\tDeath:\n\t\tBAL8 CDE 6 BRIGHT\n\t\tStop\n\t}}\n// Abaddon\nACTOR MAbaddon : MCacolantern 5015\n{   SpawnID 220\n    tag \"Abaddon\"\n    PainChance \"Control\", 255\n    DamageFactor \"Control\", 1\n    seesound \"abba/sight\"\n    painsound \"abba/pain\"\n    deathsound \"abba/death\"\n    activesound \"abba/active\"\n    obituary \"$MO_Abaddon\"\n\tHitobituary \"$MO_Abaddoh\"\n    +NOINFIGHTING\n    DamageFactor \"MarineDamage\", 1\n    DamageFactor \"ImpBallDamage\", 0.2\n    DamageFactor \"ZombiesDamage\", 0.2\n    DamageFactor \"SkelDamage\", 0.2\n    DamageFactor \"FatsoDamage\", 0.2\n    DamageFactor \"KnightDamage\", 0.2\n    DamageFactor \"ArachDamage\", 0.2\n    DamageFactor \"viledamage\", 0.2\n\tDamageFactor \"ZombieTankDamage\", 0.1\n    DamageFactor \"CacoDamage\", 0\n\tDamageFactor \"CybYamato\", 0.01\n\tDamageFactor \"ZombiesFCDamage\", 0.1\n\t+ALWAYSFAST\n\tStates\n\t{Spawn:\n\t\tHED3 A 5 A_Look\n\t\tHED3 A 5\n\t    HED3 A 0 Thing_SetSpecial (0,226,409,0,health)\n\t\tLoop\n\tSee:\n\t\tHED3 A 3 A_Chase\n\t\tHED3 A 0 A_JumpIf (special != 226,1)\n\t    loop\n\t    HED3 A 0 Thing_SetSpecial (0,226,409,0,health)\n\t    goto see\n\tPain:\n\t\tHED3 E 3\n\t\tHED3 E 3 A_Pain\n\t\tHED3 F 6\n\t\tGoto See\n\tMissile:\n\t\tHED3 BC 5 A_FaceTarget\n\t\tHED3 D 5 BRIGHT A_BasicAttack (8, \"None\", \"MAbaddonBall\", 32)\n\t\tHED3 BC 5 A_FaceTarget\n\t\tHED3 D 5 BRIGHT A_BasicAttack (8, \"None\", \"MAbaddonBall\", 32)\n\t\tGoto See\n\tDeath:\n\t    HED3 G 1 A_GiveToTarget (\"MarineExp\",5)\n\t\tHED3 G 7 A_NoBlocking\n\t\tHED3 H 8 A_Scream\n\t\tHED3 IJK 8\n\t\tHED3 L 24\n\t\tHED3 M 1 A_JumpIf(random(1,3) == 3, 2)\n\t\tHED3 M -1\n\t\tStop\n\t\tHED3 M 500\n\t\tStop\n\tDeath.Control:\n        TNT1 A 0 ACS_Execute(410,0,26)\n\t    TNT1 A 10\n\t    stop\n\tRaise:\n\t\tHED3 M 8\n\t\tHED3 LKJIHG 8\n\t\tGoto See\n\tIce:\n\t    \"####\" \"#\" 5 A_GenericFreezeDeath\n\t    TNT1 A 0 A_GiveToTarget (\"MarineExp\",5)\n        \"----\" A 1 A_FreezeDeathChunks\n        Wait}}\nACTOR MAbaddonBall\n\n{\n\tSpawnID 221\n\tRadius 6\n\tHeight 8\n\tSpeed 20\n\tDamage 10\n\tProjectile\n\t+RANDOMIZE\n\tRenderStyle Add\n\tDamageType \"CacoDamage\"\n\tSeeSound \"hecto/attack\"\n\tDeathSound \"caco/shotx\"\n\tDecal CacoScorch\n\tStates\n\t{\n\tSpawn:\n\t\tBAL3 AB 4 BRIGHT\n\t\tLoop\n\tDeath:\n\t\tBAL3 CDE 6 BRIGHT\n\t\tStop\n\t}}"
      },
      {
        "source": "pk3",
        "name": "Monsters/ChainGunGuy.txt",
        "contents": "actor MChaingunGuy : ChainGunGuy\n{ tag \"Chaingun Guy\"\n  health 400\n  radius 20\n  height 56\n  mass 100\n  speed 8\n  painchance 170\n  PainChance \"Control\", 255\n  DamageFactor \"Control\", 1\n  obituary \"$MO_ChainGu\"\n  +NOINFIGHTING\n  DamageFactor \"MarineDamage\", 1\n  DamageFactor \"ImpBallDamage\", 0.1\n  DamageFactor \"CacoDamage\", 0.1\n  DamageFactor \"SkelDamage\", 0.1\n  DamageFactor \"FatsoDamage\", 0.1\n  DamageFactor \"KnightDamage\", 0.1\n  DamageFactor \"ArachDamage\", 0.1\n  DamageFactor \"viledamage\", 0.1\n  DamageFactor \"ZombiesDamage\", 0.1\n  DamageFactor \"ZombieTankDamage\", 0.1\n  DamageFactor \"ZombieRocket\", 0.1\n  DamageFactor \"CybYamato\", 0.01\n  DamageFactor \"ZombiesFCDamage\", 0.1\n  dropitem \"MHealthBonus\",16,86\n  states\n  {Spawn:\n    CPOS A 10 A_Look\n\tCPOS B 10\n\tCPOS A 0 Thing_SetSpecial (0,226,409,0,health)\n\tloop\n  See:\n    CPOS AABBCCDD 3 A_Chase\n    CPOS A 0 A_JumpIf (special != 226,1)\n\tloop\n\tCPOS A 0 Thing_SetSpecial (0,226,409,0,health)\n\tgoto see\n  Missile:\n    CPOS E 10 A_FaceTarget\n    CPOS F 3 bright A_CustomBulletAttack (19.5, 4, 1, 5, \"FBulletPuff\")\n    CPOS E 2\n    CPOS F 3 bright A_CustomBulletAttack (19.5, 4, 1, 5, \"FBulletPuff\")\n    CPOS E 2\n    CPOS F 1 A_CPosRefire\n    goto Missile+1\n  Death.Control:\n    TNT1 A 0 ACS_Execute(410,0,4)\n\tTNT1 A 10\n\tstop\n  Death:\n    CPOS H 5 A_GiveToTarget (\"MarineExp\",3)\n    CPOS I 5 A_Scream\n    CPOS J 5 A_NoBlocking\n    CPOS KLM 5\n    CPOS N 1000\n    stop\n  XDeath:\n    CPOS O 5 A_GiveToTarget (\"MarineExp\",3)\n    CPOS P 5 A_XScream\n    CPOS Q 5 A_NoBlocking\n    CPOS RS 5\n    CPOS T 1000\n    stop\n  Ice:\n\t\"####\" \"#\" 5 A_GenericFreezeDeath\n\tTNT1 A 0 A_GiveToTarget (\"MarineExp\",3)\n    \"----\" A 1 A_FreezeDeathChunks\n    Wait}}\nactor MChaingunGuy2\n{ tag \"Double Chaingunner\"\n  obituary \"$MO_DbChain\"\n  health 350\n  radius 20\n  height 56\n  mass 100\n  speed 8\n  painchance 150\n  seesound \"chainguy/sight\"\n  attacksound \"chainguy/attack\"\n  painsound \"chainguy/pain\"\n  deathsound \"chainguy/death\"\n  activesound \"chainguy/active\"\n  dropitem \"MHealthBonus\",16,86\n  MONSTER\n  +FLOORCLIP\n  +NOINFIGHTING\n  Decal Bulletchip\n  PainChance \"Control\", 255\n  DamageFactor \"Control\", 1\n  DamageFactor \"MarineDamage\", 1\n  DamageFactor \"ImpBallDamage\", 0.1\n  DamageFactor \"CacoDamage\", 0.1\n  DamageFactor \"SkelDamage\", 0.1\n  DamageFactor \"FatsoDamage\", 0.1\n  DamageFactor \"KnightDamage\", 0.1\n  DamageFactor \"ArachDamage\", 0.1\n  DamageFactor \"viledamage\", 0.1\n  DamageFactor \"ZombiesDamage\", 0.1\n  DamageFactor \"ZombieTankDamage\", 0.1\n  DamageFactor \"ZombieRocket\", 0.1\n  DamageFactor \"CybYamato\", 0.01\n  DamageFactor \"ZombiesFCDamage\", 0.1\n  states\n  {Spawn:\n    DPOS A 10 A_Look\n\tDPOS B 10\n\tDPOS A 0 Thing_SetSpecial (0,226,409,0,health)\n    loop\n  See:\n    DPOS AABBCCDD 3 A_Chase\n    DPOS A 0 A_JumpIf (special != 226,1)\n\tloop\n\tDPOS A 0 Thing_SetSpecial (0,226,409,0,health)\n\tgoto see\n  Missile:\n    DPOS E 10 A_FaceTarget\n    DPOS F 0 bright A_CustomBulletAttack (19.5, 4, 1, 5, \"FBulletPuff\")\n    DPOS F 3 bright A_CustomBulletAttack (19.5, 4, 1, 5, \"FBulletPuff\")\n    DPOS E 2\n    DPOS F 0 bright A_CustomBulletAttack (19.5, 4, 1, 5, \"FBulletPuff\")\n    DPOS F 3 bright A_CustomBulletAttack (19.5, 4, 1, 5, \"FBulletPuff\")\n    DPOS E 2\n    DPOS F 1 A_CPosRefire\n    goto Missile+1\n  Pain:\n    DPOS G 3\n    DPOS G 3 A_Pain\n    goto See\n  Death:\n    DPOS H 5 A_GiveToTarget (\"MarineExp\",5)\n    DPOS I 5 A_Scream\n    DPOS J 5 A_NoBlocking\n    DPOS KLM 5\n    DPOS N 1000\n    stop\n  XDeath:\n    DPOS O 5 A_GiveToTarget (\"MarineExp\",5)\n    DPOS P 5 A_XScream\n    DPOS Q 5 A_NoBlocking\n    DPOS RS 5\n    DPOS T 1000\n    stop\n  Raise:\n    DPOS NMLKJIH 5\n    goto See\n  Death.Control:\n    TNT1 A 0 ACS_Execute(410,0,22)\n\tTNT1 A 10\n\tstop\n  Ice:\n\t\"####\" \"#\" 5 A_GenericFreezeDeath\n\tTNT1 A 0 A_GiveToTarget (\"MarineExp\",5)\n    \"----\" A 1 A_FreezeDeathChunks\n    Wait}}"
      }
    ]
  },
  "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.