From 88bba1790d44500f1880a6f7f49ec7899c0fae94 Mon Sep 17 00:00:00 2001 From: Die4Ever Date: Tue, 26 Mar 2024 00:56:57 -0500 Subject: [PATCH] WaltonWare Hardcore mode --- DXRModules/DeusEx/Classes/DXRAutosave.uc | 1 + DXRModules/DeusEx/Classes/DXRFlags.uc | 43 +++++++++++++++++------- README.md | 9 ++--- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/DXRModules/DeusEx/Classes/DXRAutosave.uc b/DXRModules/DeusEx/Classes/DXRAutosave.uc index 56d69f2c2..aaa0d3da6 100644 --- a/DXRModules/DeusEx/Classes/DXRAutosave.uc +++ b/DXRModules/DeusEx/Classes/DXRAutosave.uc @@ -147,6 +147,7 @@ static function bool AllowManualSaves(DeusExPlayer player) if( f == None ) return true; if( f.autosave == Hardcore ) return false; if( f.IsHordeMode() ) return false; + if( f.IsWaltonWareHardcore() ) return false; if(player.dataLinkPlay != None) { player.dataLinkPlay.FastForward(); diff --git a/DXRModules/DeusEx/Classes/DXRFlags.uc b/DXRModules/DeusEx/Classes/DXRFlags.uc index c0288280b..9d6a49a61 100644 --- a/DXRModules/DeusEx/Classes/DXRFlags.uc +++ b/DXRModules/DeusEx/Classes/DXRFlags.uc @@ -9,6 +9,7 @@ const SpeedrunMode = 6; const WaltonWare = 7; const WaltonWareEntranceRando = 8; const RandoMedium = 9; +const WaltonWareHardcore = 10; #ifdef hx var string difficulty_names[4];// Easy, Medium, Hard, DeusEx @@ -631,6 +632,16 @@ function FlagsSettings SetDifficulty(int new_difficulty) bingo_scale = 0; moresettings.newgameplus_curve_scalar = 50; + if(gamemode == WaltonWareHardcore) { +#ifndef hx + settings.CombatDifficulty *= 0.2; +#endif + settings.medkits = 0; + settings.medbots = 0; + settings.health = 200; + autosave = 0; // autosaves disabled, and DXRAutosave handles disallowing manual saves based on the gamemode + } + l("applying WaltonWare, DXRando: " $ dxr @ dxr.seed); settings.starting_map = class'DXRStartMap'.static.ChooseRandomStartMap(self, 10); } @@ -652,18 +663,17 @@ function string DifficultyName(int diff) static function int GameModeIdForSlot(int slot) {// allow us to reorder in the menu, similar to DXRLoadouts::GetIdForSlot - switch(slot) { - case 0: return 0; - case 1: return EntranceRando; - case 2: return WaltonWare; - case 3: return WaltonWareEntranceRando; - case 4: return SpeedrunMode; - case 5: return ZeroRando; - case 6: return RandoLite; - case 7: return RandoMedium; - case 8: return SeriousSam; - case 9: return HordeMode; - } + if(slot--==0) return 0; + if(slot--==0) return EntranceRando; + if(slot--==0) return WaltonWare; + if(slot--==0) return WaltonWareEntranceRando; + if(slot--==0) return WaltonWareHardcore; + if(slot--==0) return SpeedrunMode; + if(slot--==0) return ZeroRando; + if(slot--==0) return RandoLite; + if(slot--==0) return RandoMedium; + if(slot--==0) return SeriousSam; + if(slot--==0) return HordeMode; return 999999; } @@ -694,6 +704,8 @@ static function string GameModeName(int gamemode) case WaltonWareEntranceRando: return "WaltonWare Entrance Rando"; #endif + case WaltonWareHardcore: + return "WaltonWare Harcore"; } //EnumOption("Kill Bob Page (Alpha)", 3, f.gamemode); //EnumOption("How About Some Soy Food?", 6, f.gamemode); @@ -728,7 +740,12 @@ function bool IsSpeedrunMode() function bool IsWaltonWare() { - return gamemode == WaltonWare || gamemode == WaltonWareEntranceRando; + return gamemode == WaltonWare || gamemode == WaltonWareEntranceRando || gamemode == WaltonWareHardcore; +} + +function bool IsWaltonWareHardcore() +{ + return gamemode == WaltonWareHardcore; } simulated function AddDXRCredits(CreditsWindow cw) diff --git a/README.md b/README.md index 29fce824a..68f96e96d 100644 --- a/README.md +++ b/README.md @@ -60,15 +60,16 @@ If you don't know what Deus Ex Randomizer is, then here's our old trailer which * Takes away 1 random augmentation, and 1 of your weapons * Takes away half your skill points and 5 random skill levels, so the player has to choose which ones to level up first * New game modes! [(Wiki page)](https://github.com/Die4Ever/deus-ex-randomizer/wiki/Game-Modes) - * Entrance Randomization - changes what level each teleporter takes you to, but keeps it within the same mission - * Horde Mode - fight for your life to see how long you can survive in the Paris Cathedral + * WaltonWare mode - A quick option to get into the game without the time commitment of the full game! You start in a random mission and win by completing one bingo. As New Game+ keeps making it harder, see how fast you can complete them or how many you can complete! + * WaltonWare Entrance Rando - both modes combined! * Zero Rando - great for first-time Deus Ex players to benefit from the bug fixes, QoL improvements, and balance changes we've made, without any randomization. * Zero Changes mode: This one is for the purists. Use our new installer program and it will do compatibility fixes for the vanilla game (Kentie's Launcher, D3D10, DXVK, Engine.dll fix, and more), then just run DeusEx.exe as normal and the gameplay will be unchanged but with high frame rates and resolutions! * Randomizer Lite - randomizes some things without interfering with the immersion and mood of the game. Great for players who haven't played Deus Ex in a long time, or if you're intimidated by the full Randomizer. * Serious Sam mode - same as the normal game but with 10x as many enemies. The player has increased health and takes reduced damage to compensate. - * WaltonWare mode - A quick option to get into the game without the time commitment of the full game! You start in a random mission and win by completing one bingo. As New Game+ keeps making it harder, see how fast you can complete them or how many you can complete! * Speedrun mode - speedrun with fewer resets while still being able to enjoy higher difficulties. And a built in splits viewer! - * WaltonWare Entrance Rando - both modes combined! + * Entrance Randomization - changes what level each teleporter takes you to, but keeps it within the same mission + * Horde Mode - fight for your life to see how long you can survive in the Paris Cathedral + * Also WaltonWare Hardcore mode and Randomizer Medium mode! * Challenge mode loadouts! [(Wiki page)](https://github.com/Die4Ever/deus-ex-randomizer/wiki/Loadouts) * Stick With the Prod Pure means the only weapon you get is the stun prod (hint: throw a crate straight up into the air to break it) * Stick With the Prod Plus also allows EMP grenades, gas grenades, scramble grenades, pepper gun, and tranq darts