diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 14836165..7f2987b6 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -44,12 +44,12 @@ jobs: fi echo "VERSION=$VERSION" >> $GITHUB_OUTPUT - name: Upload Freedoom - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: path: "artifacts/freedoom" name: freedoom-${{steps.buildstep.outputs.VERSION}} - name: Upload Freedm - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: path: "artifacts/freedm" name: freedm-${{steps.buildstep.outputs.VERSION}} diff --git a/CREDITS b/CREDITS index 37a8adfe..692531a9 100644 --- a/CREDITS +++ b/CREDITS @@ -1041,3 +1041,13 @@ D: textures S: Richard Stayman D: textures, levels + +N: Georgy Samoilov +S: GeorgePieVG +D: textures, lumps + +S: elf-alchemist +D: lumps + +S: Devalaous +D: umapinfo template diff --git a/buildcfg.txt b/buildcfg.txt index 28ab9fcc..b104af8a 100644 --- a/buildcfg.txt +++ b/buildcfg.txt @@ -148,14 +148,23 @@ DBIGFONT #ifdef FREEDM DEHACKED = fdm_deh -ZMAPINFO = fdmmpinf +UMAPINFO = fdmuminf +GAMECONF = fdmgconf +WADINFO = fdmwdinf +ZMAPINFO = fdmzminf ENDOOM = endoomdm FREEDM #else #ifdef PHASE1 DEHACKED = p1_deh +UMAPINFO = p1_uminf +GAMECONF = p1_gconf +WADINFO = p1_wdinf #else DEHACKED = p2_deh +UMAPINFO = p2_uminf +GAMECONF = p2_gconf +WADINFO = p2_wdinf #endif ENDOOM #endif diff --git a/levels/e2m2.wad b/levels/e2m2.wad index 85e5bac1..54e82670 100644 Binary files a/levels/e2m2.wad and b/levels/e2m2.wad differ diff --git a/levels/e2m3.wad b/levels/e2m3.wad index 06c6a49d..fd2c01ee 100644 Binary files a/levels/e2m3.wad and b/levels/e2m3.wad differ diff --git a/lumps/dehacked/dehacked.txt b/lumps/dehacked/dehacked.txt index 5ea10199..f08b93fd 100644 --- a/lumps/dehacked/dehacked.txt +++ b/lumps/dehacked/dehacked.txt @@ -27,6 +27,28 @@ Sprite subnumber = 32773 Frame 689 Sprite subnumber = 32773 +# A_PosAttack and A_CPosAttack use identical formulae +# and the same number of RNG calls to determine the +# attack; the only difference other than the way the +# information is organized is the sound being played. +# Having the minigunner and sailor call A_PosAttack +# makes them not sound confusingly similar to the large +# technospider's much more powerful shotgunguy-like attack. + +# Minigunner using A_PosAttack +Pointer 234 (Frame 417) +Codep Frame = 185 + +Pointer 235 (Frame 418) +Codep Frame = 185 + +# Sailor using A_PosAttack +Pointer 234 (Frame 738) +Codep Frame = 185 + +Pointer 235 (Frame 740) +Codep Frame = 185 + # The super shotgun's first frame is 7 tics long before it # begins its reload sequence, but the muzzle flash animation # totals 9 tics, causing the flash to trail behind the gun. diff --git a/lumps/fdmgconf.lmp b/lumps/fdmgconf.lmp new file mode 100644 index 00000000..cf7f95ea --- /dev/null +++ b/lumps/fdmgconf.lmp @@ -0,0 +1,17 @@ +{ + "type": "gameconf", + "version": "1.0.0", + "metadata": { }, + "data": + { + "title": "FreeDM", + "author": "The Freedoom Project", + "description": "A 32-level game designed for competitive deathmatch play.", + "version": "0.13.0", + "iwad": null, + "pwads": null, + "executable": "limitremoving", + "mode": "commercial", + "options": null + } +} diff --git a/lumps/fdmuminf.lmp b/lumps/fdmuminf.lmp new file mode 100644 index 00000000..41665207 --- /dev/null +++ b/lumps/fdmuminf.lmp @@ -0,0 +1,361 @@ +// SPDX-License-Identifier: BSD-3-Clause +// UMAPINFO definitions for FreeDM +// Original UMAPINFO template by Devalaous + +map MAP01 +{ + LevelName = "Tech Test" + Label = "DM01" + LevelPic = "CWILV00" + Next = "MAP02" + Music = "D_RUNNIN" + SkyTexture = "SKY1" + ParTime = 0 + Episode = clear + Episode = "M_EPI1", "FreeDM", "1" +} + +map MAP02 +{ + LevelName = "Natural Station" + Label = "DM02" + LevelPic = "CWILV01" + Next = "MAP03" + Music = "D_STALKS" + SkyTexture = "SKY1" + ParTime = 0 +} + +map MAP03 +{ + LevelName = "Issues of Claveria" + Label = "DM03" + LevelPic = "CWILV02" + Next = "MAP04" + Music = "D_COUNTD" + SkyTexture = "SKY1" + ParTime = 0 +} + +map MAP04 +{ + LevelName = "Steel" + Label = "DM04" + LevelPic = "CWILV03" + Next = "MAP05" + Music = "D_BETWEE" + SkyTexture = "SKY1" + ParTime = 0 +} + +map MAP05 +{ + LevelName = "Dense Fields" + Label = "DM05" + LevelPic = "CWILV04" + Next = "MAP06" + Music = "D_DOOM" + SkyTexture = "SKY1" + ParTime = 0 +} + +map MAP06 +{ + LevelName = "Temple of Ammon" + Label = "DM06" + LevelPic = "CWILV05" + Next = "MAP07" + Music = "D_THE_DA" + SkyTexture = "SKY1" + InterText = clear + ParTime = 0 +} + +map MAP07 +{ + LevelName = "Main Stronghold" + Label = "DM07" + LevelPic = "CWILV06" + Next = "MAP08" + Music = "D_SHAWN" + SkyTexture = "SKY1" + ParTime = 0 +} + +map MAP08 +{ + LevelName = "Artifact Base" + Label = "DM08" + LevelPic = "CWILV07" + Next = "MAP09" + Music = "D_DDTBLU" + SkyTexture = "SKY1" + ParTime = 0 +} + +map MAP09 +{ + LevelName = "Industrial Outland" + Label = "DM09" + LevelPic = "CWILV08" + Next = "MAP10" + Music = "D_IN_CIT" + SkyTexture = "SKY1" + ParTime = 0 +} + +map MAP10 +{ + LevelName = "Detached Grounds" + Label = "DM10" + LevelPic = "CWILV09" + Next = "MAP11" + Music = "D_DEAD" + SkyTexture = "SKY1" + ParTime = 0 +} + +map MAP11 +{ + LevelName = "Isolated Facility" + Label = "DM11" + LevelPic = "CWILV10" + Next = "MAP12" + Music = "D_STLKS2" + SkyTexture = "SKY1" + InterText = clear +} + +map MAP12 +{ + LevelName = "Up 'n' Down Canyon" + Label = "DM12" + LevelPic = "CWILV11" + Next = "MAP13" + Music = "D_THEDA2" + SkyTexture = "SKY2" + ParTime = 0 +} + +map MAP13 +{ + LevelName = "Unholy Blood" + Label = "DM13" + LevelPic = "CWILV12" + Next = "MAP14" + Music = "D_DOOM2" + SkyTexture = "SKY2" + ParTime = 0 +} + +map MAP14 +{ + LevelName = "Technical Assault" + Label = "DM14" + LevelPic = "CWILV13" + Next = "MAP15" + Music = "D_DDTBL2" + SkyTexture = "SKY2" + ParTime = 0 +} + +map MAP15 +{ + LevelName = "Shallow Complex" + Label = "DM15" + LevelPic = "CWILV14" + Next = "MAP16" + NextSecret = "MAP31" + Music = "D_RUNNI2" + SkyTexture = "SKY2" + InterTextSecret = clear +} + +map MAP16 +{ + LevelName = "Barren Alleys" + Label = "DM16" + LevelPic = "CWILV15" + Next = "MAP17" + Music = "D_DEAD2" + SkyTexture = "SKY2" + ParTime = 0 +} + +map MAP17 +{ + LevelName = "Underwoods" + Label = "DM17" + LevelPic = "CWILV16" + Next = "MAP18" + Music = "D_STLKS3" + SkyTexture = "SKY2" + ParTime = 0 +} + +map MAP18 +{ + LevelName = "Deserted Courtyard" + Label = "DM18" + LevelPic = "CWILV17" + Next = "MAP19" + Music = "D_ROMERO" + SkyTexture = "SKY2" + ParTime = 0 +} + +map MAP19 +{ + LevelName = "Tech Isle" + Label = "DM19" + LevelPic = "CWILV18" + Next = "MAP20" + Music = "D_SHAWN2" + SkyTexture = "SKY2" + ParTime = 0 +} + +map MAP20 +{ + LevelName = "Warehouse" + Label = "DM20" + LevelPic = "CWILV19" + Next = "MAP21" + Music = "D_MESSAG" + SkyTexture = "SKY2" + InterText = clear +} + +map MAP21 +{ + LevelName = "Refinery" + Label = "DM21" + LevelPic = "CWILV20" + Next = "MAP22" + Music = "D_COUNT2" + SkyTexture = "SKY3" + ParTime = 0 +} + +map MAP22 +{ + LevelName = "Military Depot" + Label = "DM22" + LevelPic = "CWILV21" + Next = "MAP23" + Music = "D_DDTBL3" + SkyTexture = "SKY3" + ParTime = 0 +} + +map MAP23 +{ + LevelName = "Confrontation" + Label = "DM23" + LevelPic = "CWILV22" + Next = "MAP24" + Music = "D_AMPIE" + SkyTexture = "SKY3" + ParTime = 0 +} + +map MAP24 +{ + LevelName = "Flooded Base" + Label = "DM24" + LevelPic = "CWILV23" + Next = "MAP25" + Music = "D_THEDA3" + SkyTexture = "SKY3" + ParTime = 0 +} + +map MAP25 +{ + LevelName = "Mansion Yard" + Label = "DM25" + LevelPic = "CWILV24" + Next = "MAP26" + Music = "D_ADRIAN" + SkyTexture = "SKY3" + ParTime = 0 +} + +map MAP26 +{ + LevelName = "Acidic Crypt" + Label = "DM26" + LevelPic = "CWILV25" + Next = "MAP27" + Music = "D_MESSG2" + SkyTexture = "SKY3" + ParTime = 0 +} + +map MAP27 +{ + LevelName = "The Exile" + Label = "DM27" + LevelPic = "CWILV26" + Next = "MAP28" + Music = "D_ROMER2" + SkyTexture = "SKY3" + ParTime = 0 +} + +map MAP28 +{ + LevelName = "Weapons Factory" + Label = "DM28" + LevelPic = "CWILV27" + Next = "MAP29" + Music = "D_TENSE" + SkyTexture = "SKY3" + ParTime = 0 +} + +map MAP29 +{ + LevelName = "Unusual Territory" + Label = "DM29" + LevelPic = "CWILV28" + Next = "MAP30" + Music = "D_SHAWN3" + SkyTexture = "SKY3" + ParTime = 0 +} + +map MAP30 +{ + LevelName = "Last Man Standing" + Label = "DM30" + LevelPic = "CWILV29" + Next = "MAP01" + Music = "D_OPENIN" + SkyTexture = "SKY3" + InterText = clear +} + +map MAP31 +{ + LevelName = "Desolated Fort" + Label = "DM31" + LevelPic = "CWILV30" + Next = "MAP16" + NextSecret = "MAP32" + Music = "D_EVIL" + SkyTexture = "SKY3" + ParTime = 0 + InterTextSecret = clear +} + +map MAP32 +{ + LevelName = "Fourplay" + Label = "DM32" + LevelPic = "CWILV31" + Next = "MAP16" + Music = "D_ULTIMA" + SkyTexture = "SKY3" + ParTime = 0 +} diff --git a/lumps/fdmwdinf.lmp b/lumps/fdmwdinf.lmp new file mode 100644 index 00000000..cbf2b2ed --- /dev/null +++ b/lumps/fdmwdinf.lmp @@ -0,0 +1,94 @@ +=========================================================================== +Advanced engine needed : Vanilla-compatible +Primary purpose : Deathmatch +=========================================================================== +Title : FreeDM +Filename : freedm.wad +Release date : 2024-01-29 +Author : The Freedoom Project +Version : 0.13.0 +Other Files By Author : Freedoom: Phase 1, Freedoom: Phase 2 +Misc. Author Info : Contributors to the Freedoom Project + +Description : A 32-level game designed for competitive deathmatch + play. + The Freedoom project aims to provide all the + content needed to form a complete, entirely + free/libre game for the Doom engine. It is designed + to be compatible with most custom levels, music, + graphics and other modifications (mods) made for + the original Doom games by Doom fans and artists + over the decades. + +Additional Credits to : See the CREDITS file +=========================================================================== +* What is included * + +New levels : 32 +Sounds : Yes +Music : Yes +Graphics : Yes +Dehacked/BEX Patch : Yes +Demos : Yes +Other : No +Other files required : None + + +* Play Information * + +Game : Doom 2 +Single Player : Player starts only +Cooperative 2-4 Player : Player starts only +Deathmatch 2-4 Player : Designed for +Other game styles : None +Difficulty Settings : Not implemented + + +* Construction * + +Base : New from scratch +Build Time : Since 2001 +Editor(s) used : DeuTex +Known Bugs : Please report bugs to + https://github.com/freedoom/freedoom/issues +May Not Run With : None +Tested With : Chocolate Doom, Crispy Doom, Odamex, GZDoom + + +* Copyright / Permissions * + +Copyright © 2001-2024 +Contributors to the Freedoom project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Freedoom project nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS +IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +For a list of contributors to the Freedoom project, see the file +CREDITS. + +* Where to get the file that this text file describes * + +The Usual: ftp://archives.gamers.org/pub/idgames/ and mirrors +Web sites: https://freedoom.github.io/ diff --git a/lumps/fdmmpinf.lmp b/lumps/fdmzminf.lmp similarity index 100% rename from lumps/fdmmpinf.lmp rename to lumps/fdmzminf.lmp diff --git a/lumps/p1_gconf.lmp b/lumps/p1_gconf.lmp new file mode 100644 index 00000000..ad6377ae --- /dev/null +++ b/lumps/p1_gconf.lmp @@ -0,0 +1,17 @@ +{ + "type": "gameconf", + "version": "1.0.0", + "metadata": { }, + "data": + { + "title": "Freedoom: Phase 1", + "author": "The Freedoom Project", + "description": "Four episodes, nine levels each, totalling 36 levels. This game aims for compatibility with The Ultimate Doom mods, also known as plain Doom or Doom 1.", + "version": "0.13.0", + "iwad": null, + "pwads": null, + "executable": "limitremoving", + "mode": "retail", + "options": null + } +} diff --git a/lumps/p1_uminf.lmp b/lumps/p1_uminf.lmp new file mode 100644 index 00000000..fa7edf18 --- /dev/null +++ b/lumps/p1_uminf.lmp @@ -0,0 +1,486 @@ +// SPDX-License-Identifier: BSD-3-Clause +// UMAPINFO definitions for Freedoom: Phase 1 +// Original UMAPINFO template by Devalaous + +map E1M1 +{ + LevelName = "Outer Prison" + LevelPic = "WILV00" + Label = "E1M1" + Next = "E1M2" + Music = "D_E1M1" + SkyTexture = "SKY1" + ParTime = 30 + Episode = clear + Episode = "M_EPI1", "Outpost Outbreak", "1" +} + +map E1M2 +{ + LevelName = "Communications Center" + LevelPic = "WILV01" + Label = "E1M2" + Next = "E1M3" + Music = "D_E1M2" + SkyTexture = "SKY1" + ParTime = 120 +} + +map E1M3 +{ + LevelName = "Waste Disposal" + LevelPic = "WILV02" + Label = "E1M3" + Next = "E1M4" + NextSecret = "E1M9" + Music = "D_E1M3" + SkyTexture = "SKY1" + ParTime = 150 +} + +map E1M4 +{ + LevelName = "Supply Depot" + LevelPic = "WILV03" + Label = "E1M4" + Next = "E1M5" + Music = "D_E1M4" + SkyTexture = "SKY1" + ParTime = 180 +} + +map E1M5 +{ + LevelName = "Armory" + LevelPic = "WILV04" + Label = "E1M5" + Next = "E1M6" + Music = "D_E1M5" + SkyTexture = "SKY1" + ParTime = 90 +} + +map E1M6 +{ + LevelName = "Training Facility" + LevelPic = "WILV05" + Label = "E1M6" + Next = "E1M7" + Music = "D_E1M6" + SkyTexture = "SKY1" + ParTime = 390 +} + +map E1M7 +{ + LevelName = "Xenobiotic Materials Lab" + LevelPic = "WILV06" + Label = "E1M7" + Next = "E1M8" + Music = "D_E1M7" + SkyTexture = "SKY1" + ParTime = 690 +} + +map E1M8 +{ + LevelName = "Outpost Quarry" + LevelPic = "WILV07" + Label = "E1M8" + Music = "D_E1M8" + SkyTexture = "SKY1" + ParTime = 60 + Endgame = true + InterBackdrop = "AQF051" + InterText = "Free at last from that dreadful outpost!", + "But you're still stuck on this rock\, with", + "AGM and all their monstrous \"experiments.\"", + "Best not to dwell on what evil horrors", + "they were going to create from you...", + " ", + "You need a functioning starship to", + "get back to Earth. The best chance at", + "one is the facility they had you in", + "when they first brought you planetside.", + "When they first gave you your powers.", + " ", + "When the nightmare first began...", + " ", + "Perfect time for the teleporter to", + "glitch out your gear as you get ready", + "to raid the Military Labs." +} + +map E1M9 +{ + LevelName = "Nutrient Recycling" + LevelPic = "WILV08" + Label = "E1M9" + Next = "E1M4" + Music = "D_E1M9" + SkyTexture = "SKY1" + ParTime = 240 +} + +map E2M1 +{ + LevelName = "Elemental Gate" + LevelPic = "WILV10" + Label = "E2M1" + Next = "E2M2" + Music = "D_E2M1" + SkyTexture = "SKY2" + ParTime = 120 + Episode = "M_EPI2", "Military Labs", "2" +} + +map E2M2 +{ + LevelName = "Shifter" + LevelPic = "WILV11" + Label = "E2M2" + Next = "E2M3" + Music = "D_E2M2" + SkyTexture = "SKY2" + ParTime = 150 +} + +map E2M3 +{ + LevelName = "Reclaimed Facilities" + LevelPic = "WILV12" + Label = "E2M3" + Next = "E2M4" + Music = "D_E2M3" + SkyTexture = "SKY2" + ParTime = 180 +} + +map E2M4 +{ + LevelName = "Flooded Installation" + LevelPic = "WILV13" + Label = "E2M4" + Next = "E2M5" + Music = "D_E2M4" + SkyTexture = "SKY2" + ParTime = 270 +} + +map E2M5 +{ + LevelName = "Underground Hub" + LevelPic = "WILV14" + Label = "E2M5" + Next = "E2M6" + NextSecret = "E2M9" + Music = "D_E2M5" + SkyTexture = "SKY2" + ParTime = 300 +} + +map E2M6 +{ + LevelName = "Hidden Sector" + LevelPic = "WILV15" + Label = "E2M6" + Next = "E2M7" + Music = "D_E2M6" + SkyTexture = "SKY2" + ParTime = 150 +} + +map E2M7 +{ + LevelName = "Control Complex" + LevelPic = "WILV16" + Label = "E2M7" + Next = "E2M8" + Music = "D_E2M7" + SkyTexture = "SKY2" + ParTime = 120 +} + +map E2M8 +{ + LevelName = "Containment Cell" + LevelPic = "WILV17" + Label = "E2M8" + Music = "D_E2M8" + SkyTexture = "SKY2" + ParTime = 120 + Endgame = true + InterBackdrop = "AQF054" + InterText = "The massive brutes collapse onto the", + "ground\, falling apart bit by bit.", + "The starport is yours.", + " ", + "But no ship: the launch bay sits empty\,", + "leaving only a massive teleporter pad.", + "Limited inorganics. Fixed destination.", + " ", + "The name suggests it's probably the new", + "AGM ship hub in this remote star cluster.", + "Bastards owe you for what they've done\,", + "so what even is interstellar piracy", + "but a bit of D.I.Y. law enforcement?", + " ", + "You board the platform and fade away.", + "Next stop: Horizon." +} + +map E2M9 +{ + LevelName = "Fortress 31" + LevelPic = "WILV18" + Label = "E2M9" + Next = "E2M6" + Music = "D_E2M9" + SkyTexture = "SKY2" + ParTime = 360 +} + +map E3M1 +{ + LevelName = "Land of the Lost" + LevelPic = "WILV20" + Label = "E3M1" + Next = "E3M2" + Music = "D_E3M1" + SkyTexture = "SKY3" + ParTime = 30 + Episode = "M_EPI3", "Event Horizon", "3" +} + +map E3M2 +{ + LevelName = "Geothermal Tunnels" + LevelPic = "WILV21" + Label = "E3M2" + Next = "E3M3" + Music = "D_E3M2" + SkyTexture = "SKY3" + ParTime = 120 +} + +map E3M3 +{ + LevelName = "Sacrificial Bastion" + LevelPic = "WILV22" + Label = "E3M3" + Next = "E3M4" + Music = "D_E3M3" + SkyTexture = "SKY3" + ParTime = 240 +} + +map E3M4 +{ + LevelName = "Oblation Temple" + LevelPic = "WILV23" + Label = "E3M4" + Next = "E3M5" + Music = "D_E3M4" + SkyTexture = "SKY3" + ParTime = 270 +} + +map E3M5 +{ + LevelName = "Infernal Hallows" + LevelPic = "WILV24" + Label = "E3M5" + Next = "E3M6" + Music = "D_E3M5" + SkyTexture = "SKY3" + ParTime = 0 +} + +map E3M6 +{ + LevelName = "Igneous Intrusion" + LevelPic = "WILV25" + Label = "E3M6" + Next = "E3M7" + NextSecret = "E3M9" + Music = "D_E3M6" + SkyTexture = "SKY3" + ParTime = 180 +} + +map E3M7 +{ + LevelName = "No Regrets" + LevelPic = "WILV26" + Label = "E3M7" + Next = "E3M8" + Music = "D_E3M7" + SkyTexture = "SKY3" + ParTime = 300 +} + +map E3M8 +{ + LevelName = "Ancient Lair" + LevelPic = "WILV27" + Label = "E3M8" + Music = "D_E3M8" + SkyTexture = "SKY3" + ParTime = 60 + Endgame = true + InterBackdrop = "FLAT5_2" + InterText = "The abomination explodes into oblivion.", + "What the hell even was that?", + " ", + "As the shadow sets over this red rock\,", + "you realize that you're now trapped here.", + "At least you've got more space in this", + "wasteland than your old cell.", + " ", + "You kick the corpse in anger\, and it feels", + "good. You kick it again\, and a remote falls", + "out. You press the button\, and the ground", + "gives way to reveal a teleporter. You look", + "at the gizmo - it says \"To Double Impact.\"", + " ", + "Wherever or whatever that is, you pray", + "to any listening deity that there's", + "a working ship on the other side." +} + +map E3M9 +{ + LevelName = "Acquainted With Grief" + LevelPic = "WILV28" + Label = "E3M9" + Next = "E3M7" + Music = "D_E3M9" + SkyTexture = "SKY3" + ParTime = 570 +} + +map E4M1 +{ + LevelName = "Maintenance Area" + LevelPic = "WILV30" + Label = "E4M1" + Next = "E4M2" + Music = "D_E4M1" + SkyTexture = "SKY4" + ParTime = 0 + Episode = "M_EPI4", "Double Impact", "4" + Author = "RottKing and Ralphis" +} + +map E4M2 +{ + LevelName = "Research Complex" + LevelPic = "WILV31" + Label = "E4M2" + Next = "E4M3" + NextSecret = "E4M9" + Music = "D_E4M2" + SkyTexture = "SKY4" + ParTime = 0 + Author = "RottKing and Ralphis" +} + +map E4M3 +{ + LevelName = "Central Computing" + LevelPic = "WILV32" + Label = "E4M3" + Next = "E4M4" + Music = "D_E4M3" + SkyTexture = "SKY4" + ParTime = 0 + Author = "RottKing and Ralphis" +} + +map E4M4 +{ + LevelName = "Hydroponic Facility" + LevelPic = "WILV33" + Label = "E4M4" + Next = "E4M5" + Music = "D_E4M4" + SkyTexture = "SKY4" + ParTime = 0 + Author = "RottKing and Ralphis" +} + +map E4M5 +{ + LevelName = "Engineering Station" + LevelPic = "WILV34" + Label = "E4M5" + Next = "E4M6" + Music = "D_E4M5" + SkyTexture = "SKY4" + ParTime = 0 + Author = "RottKing and Ralphis" +} + +map E4M6 +{ + LevelName = "Command Center" + LevelPic = "WILV35" + Label = "E4M6" + Next = "E4M7" + Music = "D_E4M6" + SkyTexture = "SKY4" + ParTime = 0 + Author = "RottKing and Ralphis" +} + +map E4M7 +{ + LevelName = "Waste Treatment" + LevelPic = "WILV36" + Label = "E4M7" + Next = "E4M8" + Music = "D_E4M7" + SkyTexture = "SKY4" + ParTime = 0 + Author = "RottKing and Ralphis" +} + +map E4M8 +{ + LevelName = "Launch Bay" + LevelPic = "WILV37" + Label = "E4M8" + Music = "D_E4M8" + SkyTexture = "SKY4" + ParTime = 0 + Endgame = true + InterBackdrop = "AQF075" + Intertext = "Suppressing fire echoes above as the last", + "survivors flee the ship. The launch process", + "is irreversible: killing you now would only", + "bring a slow death drifting through space.", + " ", + "Fifty-nine. Fifty-eight. Fifty-seven. . .", + "You melt into the pilot's seat\, lost in the", + "voice of an automated assembly of angels", + "delivering you from this wretched rock.", + " ", + "The ship rumbles as she wakes up;", + "you think of Earth as she lifts off.", + "Hopefully AGM won't find you there:", + "they've got the outbreak to deal with,", + "so that'll give you some time." + Author = "RottKing and Ralphis" +} + +map E4M9 +{ + LevelName = "Operations" + LevelPic = "WILV38" + Label = "E4M9" + Next = "E4M3" + Music = "D_E1M9" + SkyTexture = "SKY4" + ParTime = 0 + Author = "RottKing and Ralphis" +} diff --git a/lumps/p1_wdinf.lmp b/lumps/p1_wdinf.lmp new file mode 100644 index 00000000..e3d91428 --- /dev/null +++ b/lumps/p1_wdinf.lmp @@ -0,0 +1,96 @@ +=========================================================================== +Advanced engine needed : Vanilla-compatible +Primary purpose : Single + coop play +=========================================================================== +Title : Freedoom: Phase 1 +Filename : freedoom1.wad +Release date : 2024-01-29 +Author : The Freedoom Project +Version : 0.13.0 +Other Files By Author : Freedoom: Phase 2, FreeDM +Misc. Author Info : Contributors to the Freedoom Project + +Description : Four episodes, nine levels each, totalling 36 + levels. This game aims for compatibility with The + Ultimate Doom mods, also known as plain Doom or + Doom 1. + The Freedoom project aims to provide all the + content needed to form a complete, entirely + free/libre game for the Doom engine. It is designed + to be compatible with most custom levels, music, + graphics and other modifications (mods) made for + the original Doom games by Doom fans and artists + over the decades. + +Additional Credits to : See the CREDITS file +=========================================================================== +* What is included * + +New levels : 36 +Sounds : Yes +Music : Yes +Graphics : Yes +Dehacked/BEX Patch : Yes +Demos : Yes +Other : No +Other files required : None + + +* Play Information * + +Game : Doom +Single Player : Designed for +Cooperative 2-4 Player : Designed for +Deathmatch 2-4 Player : Designed for +Other game styles : None +Difficulty Settings : Not implemented + + +* Construction * + +Base : New from scratch +Build Time : Since 2001 +Editor(s) used : DeuTex +Known Bugs : Please report bugs to + https://github.com/freedoom/freedoom/issues +May Not Run With : None +Tested With : Chocolate Doom, Crispy Doom, Odamex, GZDoom + + +* Copyright / Permissions * + +Copyright © 2001-2024 +Contributors to the Freedoom project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Freedoom project nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS +IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +For a list of contributors to the Freedoom project, see the file +CREDITS. + +* Where to get the file that this text file describes * + +The Usual: ftp://archives.gamers.org/pub/idgames/ and mirrors +Web sites: https://freedoom.github.io/ diff --git a/lumps/p2_gconf.lmp b/lumps/p2_gconf.lmp new file mode 100644 index 00000000..943aec35 --- /dev/null +++ b/lumps/p2_gconf.lmp @@ -0,0 +1,17 @@ +{ + "type": "gameconf", + "version": "1.0.0", + "metadata": { }, + "data": + { + "title": "Freedoom: Phase 2", + "author": "The Freedoom Project", + "description": "32 levels in one long episode, featuring extra monsters and a double-barrelled shotgun. This project aims for compatibility with Doom II mods.", + "version": "0.13.0", + "iwad": null, + "pwads": null, + "executable": "limitremoving", + "mode": "commercial", + "options": "comp_soul 0" + } +} diff --git a/lumps/p2_uminf.lmp b/lumps/p2_uminf.lmp new file mode 100644 index 00000000..aed576e0 --- /dev/null +++ b/lumps/p2_uminf.lmp @@ -0,0 +1,464 @@ +// SPDX-License-Identifier: BSD-3-Clause +// UMAPINFO definitions for Freedoom: Phase 2 +// Original UMAPINFO template by Devalaous + +map MAP01 +{ + LevelName = "Hydroelectric Plant" + Label = "MAP01" + LevelPic = "CWILV00" + Next = "MAP02" + Music = "D_RUNNIN" + SkyTexture = "SKY1" + Parime = 30 + Episode = clear + Episode = "M_EPI1", "Phase 2", "1" +} + +map MAP02 +{ + LevelName = "Filtration Tunnels" + Label = "MAP02" + LevelPic = "CWILV01" + Next = "MAP03" + Music = "D_STALKS" + SkyTexture = "SKY1" + Parime = 90 +} + +map MAP03 +{ + LevelName = "Crude Processing Center" + Label = "MAP03" + LevelPic = "CWILV02" + Next = "MAP04" + Music = "D_COUNTD" + SkyTexture = "SKY1" + Parime = 120 +} + +map MAP04 +{ + LevelName = "Containment Bay" + Label = "MAP04" + LevelPic = "CWILV03" + Next = "MAP05" + Music = "D_BETWEE" + SkyTexture = "SKY1" + Parime = 120 +} + +map MAP05 +{ + LevelName = "Sludge Burrow" + Label = "MAP05" + LevelPic = "CWILV04" + Next = "MAP06" + Music = "D_DOOM" + SkyTexture = "SKY1" + Parime = 150 +} + +map MAP06 +{ + LevelName = "Janus Terminal" + Label = "MAP06" + LevelPic = "CWILV05" + Next = "MAP07" + Music = "D_THE_DA" + SkyTexture = "SKY1" + Parime = 90 + InterBackdrop = "AQF016" + InterText = "Not even Earth is safe. The monsters show", + "up ahead of you everywhere you run.", + "Where are they even coming from?", + " ", + "Despite all the other destruction they\'ve", + "wrought,\ the teleportation infrastructure", + "remains intact - you might be able to", + "get back to civilization this way.", + " ", + "You find an old pad and boot it up.", + "Connection live. Handshake established.", + " ", + "Growling and chittering on the intercom.", + " ", + "Planted your feet.", + "Checked your weapons.", + "Time to punch through." +} + +map MAP07 +{ + LevelName = "Logic Gate" + Label = "MAP07" + LevelPic = "CWILV06" + Next = "MAP08" + Music = "D_SHAWN" + SkyTexture = "SKY1" + Parime = 150 +} + +map MAP08 +{ + LevelName = "Astronomy Complex" + Label = "MAP08" + LevelPic = "CWILV07" + Next = "MAP09" + Music = "D_DDTBLU" + SkyTexture = "SKY1" + Parime = 330 +} + +map MAP09 +{ + LevelName = "Datacenter" + Label = "MAP09" + LevelPic = "CWILV08" + Next = "MAP10" + Music = "D_IN_CIT" + SkyTexture = "SKY1" + Parime = 150 +} + +map MAP10 +{ + LevelName = "Deadly Outlands" + Label = "MAP10" + LevelPic = "CWILV09" + Next = "MAP11" + Music = "D_DEAD" + SkyTexture = "SKY1" + Parime = 120 +} + +map MAP11 +{ + LevelName = "Dimensional Rift Observatory" + Label = "MAP11" + LevelPic = "CWILV10" + Next = "MAP12" + Music = "D_STLKS2" + SkyTexture = "SKY1" + Parime = 420 + InterBackdrop = + InterText = "You didn\'t find anyone alive. Again.", + " ", + "The fighting is taking its toll on you.", + "The pain. The brutality. The loneliness.", + "There\'s got to be a way to somewhere\,", + "something that isn\'t... this.", + " ", + "A train rumbles in the distance.", + " ", + "You follow the sound down the empty road", + "and reach the edge of a railyard.", + " ", + "Trains mean cities.", + "Cities mean people.", + " ", + "Right?" +} + +map MAP12 +{ + LevelName = "Railroads" + Label = "MAP12" + LevelPic = "CWILV11" + Next = "MAP13" + Music = "D_THEDA2" + SkyTexture = "SKY2" + Parime = 630 +} + +map MAP13 +{ + LevelName = "Station Earth" + Label = "MAP13" + LevelPic = "CWILV12" + Next = "MAP14" + Music = "D_DOOM2" + SkyTexture = "SKY2" + Parime = 180 +} + +map MAP14 +{ + LevelName = "Nuclear Zone" + Label = "MAP14" + LevelPic = "CWILV13" + Next = "MAP15" + Music = "D_DDTBL2" + SkyTexture = "SKY2" + Parime = 150 +} + +map MAP15 +{ + LevelName = "Hostile Takeover" + Label = "MAP15" + LevelPic = "CWILV14" + Next = "MAP16" + NextSecret = "MAP31" + Music = "D_RUNNI2" + SkyTexture = "SKY2" + Parime = 510 + InterBackdrop = "AQF004" + InterTextSecret = "You step into the teleporter. You feel a", + "familiar flash and... you\'re in a cage?", + "Jailed?", + " ", + "There are other cages in here. Occupied.", + "So is this how they capture humans?", + "Or did they set this up specially for you\,", + "as a reward for being such a monkey wrench", + "in their plans?", + " ", + "The guards haven\'t noticed you - yet.", + "Any noise could mean death. Or worse.", + "", + "When they zombify you, are you awake the", + "entire time\, locked inside of your brain?", + " ", + "You\'d rather not find out." +} + +map MAP16 +{ + LevelName = "Urban Jungle" + Label = "MAP16" + LevelPic = "CWILV15" + Next = "MAP17" + Music = "D_DEAD2" + SkyTexture = "SKY2" + Parime = 120 +} + +map MAP17 +{ + LevelName = "City Capitol" + Label = "MAP17" + LevelPic = "CWILV16" + Next = "MAP18" + Music = "D_STLKS3" + SkyTexture = "SKY2" + Parime = 120 +} + +map MAP18 +{ + LevelName = "Aquatics Lab" + Label = "MAP18" + LevelPic = "CWILV17" + Next = "MAP19" + Music = "D_ROMERO" + SkyTexture = "SKY2" + Parime = 180 +} + +map MAP19 +{ + LevelName = "Sewage Control" + Label = "MAP19" + LevelPic = "CWILV18" + Next = "MAP20" + Music = "D_SHAWN2" + SkyTexture = "SKY2" + Parime = 210 +} + +map MAP20 +{ + LevelName = "Blood Ember Fortress" + Label = "MAP20" + LevelPic = "CWILV19" + Next = "MAP21" + Music = "D_MESSAG" + SkyTexture = "SKY2" + Parime = 420 + InterBackdrop = "FLAT5_6" + InterText = "Here is no AGM but only monsters.", + "Monsters\, no humans and dusty days", + "sleeping in old ruins and eating scraps.", + "No one has escaped this wasteland alive.", + " ", + "You\'ve been tracking their movements.", + "AGM records and alien scrawlings point", + "to something big worming its way through", + "the entire teleportation network.", + "Sending its nightmare armies of brain-", + "scrambled sapients - including humans -", + "to conquer all known space.", + " ", + "And now you\'re fighting at its doorstep.", + " ", + "This could be the beginning", + "of your freedom - or your doom." +} + +map MAP21 +{ + LevelName = "Under Realm" + Label = "MAP21" + LevelPic = "CWILV20" + Next = "MAP22" + Music = "D_COUNT2" + SkyTexture = "SKY3" + Parime = 330 +} + +map MAP22 +{ + LevelName = "Remanasu" + Label = "MAP22" + LevelPic = "CWILV21" + Next = "MAP23" + Music = "D_DDTBL3" + SkyTexture = "SKY3" + Parime = 420 +} + +map MAP23 +{ + LevelName = "Underground Facility" + Label = "MAP23" + LevelPic = "CWILV22" + Next = "MAP24" + Music = "D_AMPIE" + SkyTexture = "SKY3" + Parime = 240 +} + +map MAP24 +{ + LevelName = "Abandoned Teleporter Lab" + Label = "MAP24" + LevelPic = "CWILV23" + Next = "MAP25" + Music = "D_THEDA3" + SkyTexture = "SKY3" + Parime = 420 +} + +map MAP25 +{ + LevelName = "Persistence of Memory" + Label = "MAP25" + LevelPic = "CWILV24" + Next = "MAP26" + Music = "D_ADRIAN" + SkyTexture = "SKY3" + Parime = 600 +} + +map MAP26 +{ + LevelName = "Dark Depths" + Label = "MAP26" + LevelPic = "CWILV25" + Next = "MAP27" + Music = "D_MESSG2" + SkyTexture = "SKY3" + Parime = 270 +} + +map MAP27 +{ + LevelName = "Palace of Red" + Label = "MAP27" + LevelPic = "CWILV26" + Next = "MAP28" + Music = "D_ROMER2" + SkyTexture = "SKY3" + Parime = 690 +} + +map MAP28 +{ + LevelName = "Grim Redoubt" + Label = "MAP28" + LevelPic = "CWILV27" + Next = "MAP29" + Music = "D_TENSE" + SkyTexture = "SKY3" + Parime = 450 +} + +map MAP29 +{ + LevelName = "Melting Point" + Label = "MAP29" + LevelPic = "CWILV28" + Next = "MAP30" + Music = "D_SHAWN3" + SkyTexture = "SKY3" + Parime = 300 +} + +map MAP30 +{ + LevelName = "Jaws of Defeat" + Label = "MAP30" + LevelPic = "CWILV29" + Endcast = true + Music = "D_OPENIN" + SkyTexture = "SKY3" + Parime = 60 + InterBackdrop = "SLIME13" + InterText = "The evil thing becomes unstable.", + "Its final roars echo throughout the room", + "until it crumples into scrap metal.", + " ", + "A targeting portal opens\, blissfully", + "unaware of its master\'s demise.", + " ", + "On the other side you see a small town.", + "You ditch your weapons and slip through\,", + "leaving AGM and all its horrors behind.", + " ", + "No one will know who saved them.", + " ", + "No one will know what happened here.", + " ", + "No one will ever find you again.", +} + +map MAP31 +{ + LevelName = "Be Quiet" + Label = "MAP31" + LevelPic = "CWILV30" + Next = "MAP16" + NextSecret = "MAP32" + Music = "D_EVIL" + SkyTexture = "SKY3" + Parime = 60 + InterBackDrop = "AQF021" + InterTextSecret = "Forcibly uncaged again. Good job.", + " ", + "But where are you? The air and gravity", + "still feel like whatever planet that", + "strange prison had been on.", + " ", + "You look around and the layout triggers", + "some old memories from history class.", + "", + "This is an arena.", + "Where they send prisoners to die.", + "That wasn't an exit - but an entrance.", + " ", + "You will find your way back to the city,", + "but it will have to be on the other side", + "of a few homicidal mutants...", +} + +map MAP32 +{ + LevelName = "Not Sure" + Label = "MAP32" + LevelPic = "CWILV31" + Next = "MAP16" + Music = "D_ULTIMA" + SkyTexture = "SKY3" + Parime = 210 +} diff --git a/lumps/p2_wdinf.lmp b/lumps/p2_wdinf.lmp new file mode 100644 index 00000000..92854417 --- /dev/null +++ b/lumps/p2_wdinf.lmp @@ -0,0 +1,95 @@ +=========================================================================== +Advanced engine needed : Vanilla-compatible +Primary purpose : Single + coop play +=========================================================================== +Title : Freedoom: Phase 2 +Filename : freedoom2.wad +Release date : 2024-01-29 +Author : The Freedoom Project +Version : 0.13.0 +Other Files By Author : Freedoom: Phase 1, FreeDM +Misc. Author Info : Contributors to the Freedoom Project + +Description : 32 levels in one long episode, featuring extra + monsters and a double-barrelled shotgun. This + project aims for compatibility with Doom II mods. + The Freedoom project aims to provide all the + content needed to form a complete, entirely + free/libre game for the Doom engine. It is designed + to be compatible with most custom levels, music, + graphics and other modifications (mods) made for + the original Doom games by Doom fans and artists + over the decades. + +Additional Credits to : See the CREDITS file +=========================================================================== +* What is included * + +New levels : 32 +Sounds : Yes +Music : Yes +Graphics : Yes +Dehacked/BEX Patch : Yes +Demos : Yes +Other : No +Other files required : None + + +* Play Information * + +Game : Doom 2 +Single Player : Designed for +Cooperative 2-4 Player : Designed for +Deathmatch 2-4 Player : Designed for +Other game styles : None +Difficulty Settings : Not implemented + + +* Construction * + +Base : New from scratch +Build Time : Since 2001 +Editor(s) used : DeuTex +Known Bugs : Please report bugs to + https://github.com/freedoom/freedoom/issues +May Not Run With : None +Tested With : Chocolate Doom, Crispy Doom, Odamex, GZDoom + + +* Copyright / Permissions * + +Copyright © 2001-2024 +Contributors to the Freedoom project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Freedoom project nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS +IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +For a list of contributors to the Freedoom project, see the file +CREDITS. + +* Where to get the file that this text file describes * + +The Usual: ftp://archives.gamers.org/pub/idgames/ and mirrors +Web sites: https://freedoom.github.io/ diff --git a/lumps/textures/textures.cfg b/lumps/textures/textures.cfg index 569c2a45..f29ae260 100644 --- a/lumps/textures/textures.cfg +++ b/lumps/textures/textures.cfg @@ -3241,8 +3241,12 @@ AQMETL15 64 128 * AQMETL15 0 0 AQMETL16 64 128 * AQMETL16 0 0 +AQMETF16 64 128 +* AQMETF16 0 0 AQMETL17 64 128 * AQMETL17 0 0 +AQMETF17 64 128 +* AQMETF17 0 0 AQMETL18 64 128 * AQMETL18 0 0 AQMETL19 64 128 diff --git a/manual/freedoom-manual-en.adoc b/manual/freedoom-manual-en.adoc index 1a3b1410..263018c2 100644 --- a/manual/freedoom-manual-en.adoc +++ b/manual/freedoom-manual-en.adoc @@ -565,15 +565,15 @@ image:images/monster-matribite.png[Matribite,100,100,width=100%] These flying orb-like things spit plasma and bite if you get too close. | image:images/monster-trilobite.png[Trilobite,100,100,width=100%] | **Pain Bringer** + -These guys take at least three rocket blasts to take down, and +These guys take at least three missile blasts to take down, and while you’re trying they’ll shower you with energy projectiles. | image:images/monster-pain-bringer.png[Pain Bringer,100,100,width=100%] | **Pain Lord** + -If the Pain Bringer wasn’t tough enough, this one can take five rocket +If the Pain Bringer wasn’t tough enough, this one can take five missile blasts. | image:images/monster-pain-lord.png[Pain Lord,100,100,width=100%] | **Octaminator** + -Fast moving, tough, and fires homing missiles. Do not get into a boxing +Fast moving, tough, and can fire homing fireballs. Do not get into a boxing match with one of these guys. | image:images/monster-octaminator.png[Octaminator,100,100,width=100%] | **Necromancer** + @@ -590,12 +590,12 @@ making them a deadly challenge. | image:images/monster-technospider.png[Technospider,100,100,width=100%] | **Large Technospider** + This tank on legs is equipped with a rapid-fire minigun and will take a lot -of effort to bring down. Immune to explosions from rockets and barrels. | +of effort to bring down. Immune to explosions from missiles and barrels. | image:images/monster-large-technospider.png[Large Technospider,100,100,width=100%] | **Assault Tripod** + The ultimate blend of military technology and genetic engineering, these three-legged creatures are fast-moving, heavily armored and equipped with a -missile launcher that you’ll want to avoid. Immune to explosions from rockets and barrels. | +missile launcher that you’ll want to avoid. Immune to explosions from missiles and barrels. | image:images/monster-assault-tripod.png[Assault Tripod,100,100,width=100%] |========================== @@ -704,7 +704,7 @@ into some of these suggestions: any weapon continuously until your ammo runs out or you let go. * Take cover! Monsters only attack when you’re in their line of sight. You’ll - want to find hard cover (most opaque things that show up on your automap + want to find hard cover (most opaque things that show up on your map without cheat codes) that you can put between yourself and any enemy you're not actively hitting with your own weapon. Cover is particularly important when facing certain monsters which can “lock on” to you (minigun zombie; @@ -815,7 +815,7 @@ of these ingame (case insensitive, do not use any console): | **IDBEHOLDS** | Gives the strength powerup. | **IDBEHOLDI** | Gives the invisibility powerup. | **IDBEHOLDR** | Gives the rescue suit powerup. -| **IDBEHOLDM** | Gives the area survey map. +| **IDBEHOLDA** | Gives the area survey map. | **IDBEHOLDL** | Gives the low-light goggles. |========================== diff --git a/patches/aqmetf16.png b/patches/aqmetf16.png new file mode 100644 index 00000000..c137e010 Binary files /dev/null and b/patches/aqmetf16.png differ diff --git a/patches/aqmetf17.png b/patches/aqmetf17.png new file mode 100644 index 00000000..3f7c1ff5 Binary files /dev/null and b/patches/aqmetf17.png differ diff --git a/patches/vgcrate1.png b/patches/vgcrate1.png index 32f03a67..62e3a992 100644 Binary files a/patches/vgcrate1.png and b/patches/vgcrate1.png differ diff --git a/sprites/pinva0.png b/sprites/pinva0.png index 3ede4688..438145a1 100644 Binary files a/sprites/pinva0.png and b/sprites/pinva0.png differ diff --git a/sprites/pinvb0.png b/sprites/pinvb0.png index 51fc2bed..dc97a5ec 100644 Binary files a/sprites/pinvb0.png and b/sprites/pinvb0.png differ diff --git a/sprites/pinvc0.png b/sprites/pinvc0.png index 12bc1359..8b722bbe 100644 Binary files a/sprites/pinvc0.png and b/sprites/pinvc0.png differ diff --git a/sprites/pinvd0.png b/sprites/pinvd0.png index 5f366178..1ccf072a 100644 Binary files a/sprites/pinvd0.png and b/sprites/pinvd0.png differ