Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Rework many aspects of Ice Cave maps (hellmonk)
Many ice cave maps don't define variants for the hard difficulty version of the portal that places at later levels, which means less map variety at these locations. Additionally, terrain in many maps includes freezing vapour generators that are randomly placed, leading to annoying gameplay and many out-of-LOS collateral monster kills. Many maps place large deep water areas that are either completely enclosed with rock or lead to spoilery dead ends with no gameplay relevance. Finally, some maps share common functions and data for defining thematic monsters and loot, but these are a patchwork that's not used consistently among all maps. This commit addresses these issues. Partially based on hellmonk's PR #1942, we add hard variant monster and item sets to all ice caves. To help achieve this, the vault functions for items and monsters are generalized and shared to some degree among all maps. As before this commit, there are two thematic sets of monsters, natural and demons+undead, but instead of using the natural set only for easy difficulty and undead+demons only for hard, both sets have definitions for each difficulty. Both sets define eight monster definitions using the same glyphs 1 through 8, with a designated function at each glyph like "statue monster", "miniboss", and "boss". This way any map can use the definitions interchangeably, regardless of monster set or difficulty. All but four maps use these monster sets, and the three "sprawling caverns" can use either set at either difficulty, randomly choosing between the two. The monster lists have been tweaked to be more coherent with more well-defined difficulty progression. For statue monsters, we use ice statue for both sets at easy, orange crystal statue for the natural natural at hard difficulty, and obsidian statue for undead+demon at hard. To allow Shadow Creatures to work for orange crystal statues and the player spell, both monster sets defined appropriate random monster lists at both difficulties. Additionally the simulacrum lists used by the undead+demon set have been expanded to have definitions at both difficulties, rebalanced, and refactored to be more easily reused. Both sets now define two boss monsters, a stronger, but smaller group monsters and a weaker, but larger group monster, and most maps randomly choose one of these two configurations. For the natural monster set at easy difficulty, the player faces either two ironbound frosthearts or a single frost giant. At hard difficulty, this is either two or more frost giants or one to two shard shrikes. For the undead+demons set at easy difficulty, the player faces either two bog bodies or a single reaper. At hard difficulty, this is either two or more blizzard demons or one to two ice fiends. Trivia: the infamous double ice fiend found on ice_cave_small_demon at hard difficulty was due to a bug where the original author misapplied a substitution pattern used in other maps. They meant to give either two blizzard demons or one ice fiend, and gave instead either one blizzard demon or two ice fiends. This double fiend is so universally loved that I made it possible on any map using the undead+necro set at high difficulty, albeit with reduced chance. I also expanded the idea to the natural monster set using shard shrikes. Enjoy! The ice-themed common loot definitions have been improved to have six common classes of items: three tiers of armour (aux+light, medium, and heavy), two tiers of weapons (any weapon and upper-tier weapons), and a magic set (books, enhancers, jewellery, and misc items). Additionally, necromancy-themed maps share a common ice-themed necromancy loot definition. These definitions used to some degree by all maps, replacing the many different and overlapping definitions used previously. Larger maps that place loot items at early or midpoint locations now always place one of the armour class items at these locations, so a player might get access to rC before the map is finished. The tier of armour item at these locations is randomized, so it won't always be light armour, for example. For maps that previously had hidden water caverns, we turns some of these areas on each map into randomized shortcuts that are each open 50% of the time. These shortcuts contain either deep water (encouraging use of flight or amphibiousness) or floor with a freezing vapour generator. These shortcuts are at fixed locations that provide meaningful skips of significant fights and in a way where collateral monster deaths to freezing vapour will be reduced. More randomly placed freezing vapour machines are gone altogether, with the exception for the ones at the end of ice_cave_small_demon. All freezing vapour machines now place with the same power level (cloud duration), but vary by size (number of clouds placed) as appropriate for their map location. Many other aspects of monster placement and composition have changed on a per-map basis. Comments have been updated at the top of each map to summarize types of monsters and loot, and there are comments for each group of SUBST/NSUBST/SHUFFLE. On each map, comments above the conditional check for hard or easy difficulty describe the major differences between the two difficulties. Some additional notes on specific maps: ice_cave_small_demon: Any reaper placed now gets a robe of cold resistance and either a ring of protection from cold or a ring of ice, bringing it to rC+++ and freezing vapour immunity. Gone are the days of the mysterious dead reaper! This map could randomize between reapers and blizzard fiends since it doesn't have an explicit necromancy theme, but for now we're going with reapers only for tier 2 demons. ice_cave_statue_garden_transporter: The final transporter area has been reworked to be small enough so it can be entirely seen by the player before taking the transporter. ice_cave_statue_garden_chambered: The map was created before circlelos became squarelos, when visual range was 8 squares for all characters. Hence its ice statues were all in view of each other before squarelos, but it wasn't updated for the reduction of visual range to 7 squares. I've reduced the map two squares in its longest dimension to bring them back within LOS of each other. Closes #1942.
- Loading branch information