Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alpha version of labyrinthine structures, a dungeon for CBMs #73247

Closed
wants to merge 42 commits into from

Conversation

I-am-Erk
Copy link
Member

@I-am-Erk I-am-Erk commented Apr 24, 2024

Summary

Content "Adds an early playtest version of the exodii labyrinth dungeon to available mods."

Purpose of change

This specific PR is likely to just remain in draft and get parted out into a few follow-ups, because it's almost certainly going to be too much for one push.

Since I started adding the exodii in 2020-2021, and then got floored with the life of a healthcare practitioner during a pandemic, their core necessary content has been languishing. It's had a few pushes in the past, thanks to sarius skelrets and mng cataclysm, but then hung for another year. I have been back in the saddle for a week, and we're still behind on a key feature - exodii/cbm related dungeons. These should serve as a place to go raiding for alien technology and cybernetics, eventually allowing them to be moved from labs; Kevin lit a fire on this with #73223.

Describe the solution

Labyrinthine structures are a long-planned exodii dungeon type that will serve as new, raidable content from the late-early game up to the endgame (I hope!) and will provide a place to go spelunking for CBMs and artifacts, as well as just a different sort of content than most of what we currently have. Ideally I'd like them to exist in the netherum, and the new stuff we have with portal dungeons should be an adequate way to simulate that.

I will work on this PR to try to get at least a bare bones version, although ideally I hope to have more. What I plan is:

  • You can ask Rubik for ideas about where to get more high tech salvage. They suggest you could check out a labyrinth they spotted, and they give you some of the backstory as to what these things are. (A labyrinth is a netherum place kind of similar to the mines we have in game already, but the exodii create them on purpose as a way of generating useful resources). This creates a single specific labyrinth, which cannot otherwise spawn randomly.
  • The labyrinth itself is accessible from a surface teleporter, probably a portal with some exodii stuff strewn about it. This teleports you to a structure deep in z-10, but also disables your map.
  • The dungeon room is surrounded by indestructible material but the interiors can still be blown up, allowing you to use standard cataclysm !!fun!! to explore interesting workarounds.
  • The dungeon itself is a mutable mapgen series of hallways with semi-procgen rooms and some set pieces. For this initial pass I don't plan to get very far on this but we'll see.

CBM based treasure spawns in hard-to-reach special rooms, for which you need a 'passcode', a tattoo added by a trait. Different passcodes offer different types of CBMs. For this early version the passcodes and treasure are pretty basic, but as it goes on, I'd like different ways to get passcodes, such as passing puzzles, defeating enemies, etc, with associated different rewards. These might also unlock further areas of the dungeon.


After some consideration, I have decided to prep this as a mod for playtesting, rather than put it in vanilla, until it's got enough content. I'm concerned that if I release it as it will be in a first pass, people will assume it's always going to be a fairly simple location, and won't think to check back as I expand it. In this version, if you want to playtest the mod, you talk to Rubik, ask them for jobs, then ask the out-of-character question about going to a labyrinth. This will take you to a labyrinth to try it out. This PR is already 4000 lines long, so this early alpha version is a bit low on content, but I hope it will help people see what I'm making and offer tests or perhaps ideas for how to improve it.

UPCOMING PLANS:

  • more rooms, content, and items.
  • better loot balance. The loot presently is just filler to keep the place from being empty. I do intend it to be possible to loot some edibles and some first aid supplies though, as these are likely necessary to help you remain functional in the dungeon for the necessary time.
  • Special items: There might be some usable items, eg weapons and armour, that are lootable in the labyrinth but can't come home with you.
  • Convenience items: I'd like to have a placeable "beacon" and a semi-rare "beaconstone" item: you can use these to fast-travel to your placed beacons, spending the beaconstone in the process
  • Unique mobs: I have some ideas coming up soon.
  • A consistent antagonist in the form of the "templeOS", the computer system you interact with all through the dungeon. The barest hints of it are here but I imagine it being a presence you can really get a feel for over time.

Describe alternatives you've considered

I've tried this a bunch of different ways but always run out of time. We have some more infrastructure in now so let's see if I can get this working now

Testing

image
image
image-1
image
image

Additional context

Initially I had imagined not taking your NPC along, we'll see if that's necessary now or not. For the moment it remains impossible, but we do have ways to make it work.

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON astyled astyled PR, label is assigned by github actions labels Apr 24, 2024
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Apr 24, 2024
includes a range of straight hall variants, because mapping is fun
@github-actions github-actions bot removed the json-styled JSON lint passed, label assigned by github actions label Apr 25, 2024
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Apr 25, 2024
@github-actions github-actions bot added the Map / Mapgen Overmap, Mapgen, Map extras, Map display label Apr 26, 2024
@github-actions github-actions bot removed the json-styled JSON lint passed, label assigned by github actions label Apr 28, 2024
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Apr 28, 2024
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label May 2, 2024
Copy link
Contributor

@Procyonae Procyonae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only skimmed the non mapgen/overmap stuff and I haven't tested in game, might do so before this merges but I'll probably wait until it's in seeing as you're doing it as a mod to begin with anyway.
Some of the id naming feels a bit nightmarish but I don't have good alternative suggestions.
Other than the typos none of these are necessary changes.

data/mods/CBM_Dungeon_Test/ls_mapgen_containers.json Outdated Show resolved Hide resolved
data/mods/CBM_Dungeon_Test/ls_mapgen_containers.json Outdated Show resolved Hide resolved
data/mods/CBM_Dungeon_Test/ls_mapgen_containers.json Outdated Show resolved Hide resolved
data/mods/CBM_Dungeon_Test/ls_mapgen_containers.json Outdated Show resolved Hide resolved
data/mods/CBM_Dungeon_Test/ls_mapgen_containers.json Outdated Show resolved Hide resolved
data/mods/CBM_Dungeon_Test/oms_labyrinth.json Outdated Show resolved Hide resolved
data/mods/CBM_Dungeon_Test/ls_mapgen_updates.json Outdated Show resolved Hide resolved
data/mods/CBM_Dungeon_Test/LS_furniture_and_terrain.json Outdated Show resolved Hide resolved
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label May 2, 2024
Thanks for the review

Co-authored-by: Procyonae <[email protected]>
@github-actions github-actions bot removed BasicBuildPassed This PR builds correctly, label assigned by github actions json-styled JSON lint passed, label assigned by github actions labels May 3, 2024
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label May 3, 2024
Copy link
Contributor

Spell checker encountered unrecognized words in the in-game text added in this pull request. See below for details.

Click to expand
  • &<color_light_green> @user > doorstatus --list\n<color_light_green>12 drwxr****-xr-x 1 @user\n<color_light_green>File lost or deleted.\n<color_light_green>A new, stronger reality has supplanted the previous. Thank you for using TempleOS.\n<color_light_green> @user > _
  • &<color_light_green> @user > doorstatus --update=lock\n<color_light_green>Command accepted.\n<color_light_green>Nearby doors locked.\n<color_light_green>Warning: What is done cannot be undone. This does not represent a return to how things were. You can never go back.\n\n<color_light_green> @user > _
  • &<color_light_green> @user > doorstatus --update=unlock\n<color_light_green>Bad command or file name.\n<color_light_green>What is done cannot be undone. Please see prior user warning.\n\n<color_light_green> @user > _
  • &<color_light_green> @user > doorstatus --update=unlock\n<color_light_green>Command accepted.\n<color_light_green>Nearby doors unlocked.\n<color_light_green>Thank you for using TempleOS.\n\n<color_light_green> @user > _
  • &<color_light_green> @user > doorstatus --update=unlock --force\n<color_light_green>Error: Insufficient confidence.\n<color_light_green>Aborted: No forceable process.\n @user > sudo doorstatus --update=unlock\n<color_light_green>Oh, is that how it will be? Very well.\n<color_light_green>Blood tax requested.\nA drawer on the side of the terminal slides open, revealing a small, thin needle.\n\n<color_light_green> @user > _
  • GimmeCBMyouPiece-of-shit
  • IGaveyouEverything
  • ImJustATeenagedEdgelordBaby
  • SheGaveUsLife
  • Teleport me to the LABYRINTH RIGHT NOW OMG.
  • Zwoink.
  • Zworunk

This alert is automatically generated. You can simply disregard if this is inaccurate, or (optionally) you can also add the new words to tools/spell_checker/dictionary.txt so they will not trigger an alert next time.

Hints for adding a new word to the dictionary
  • If the word is normally in all lowercase, such as the noun word or the verb does, add it in its lower-case form; if the word is a proper noun, such as the surname George, add it in its initial-caps form; if the word is an acronym or has special letter case, such as the acronym CDDA or the unit mW, add it by preserving the case of all the letters. A word in the dictionary will also match its initial-caps form (if the word is in all lowercase) and all-uppercase form, so a word should be added to the dictionary in its normal letter case even if used in a different letter case in a sentence.
  • For a word to be added to the dictionary, it should either be a real, properly-spelled modern American English word, a foreign loan word (including romanized foreign names), or a foreign or made-up word that is used consistently and commonly enough in the game. Intentional misspelling (including eye dialect) of a word should not be added unless it has become a common terminology in the game, because while someone may have a legitimate use for it, another person may spell it that way accidentally.

Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label Jun 17, 2024
@github-actions github-actions bot closed this Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Lore Game lore, in-game communication. Also the Lore tab. Map / Mapgen Overmap, Mapgen, Map extras, Map display Mods Issues related to mods or modding Monsters Monsters both friendly and unfriendly. Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies Spawn Creatures, items, vehicles, locations appearing on map stale Closed for lack of activity, but still valid.
Projects
Status: Abandoned PRs with no one to pick them up
Development

Successfully merging this pull request may close these issues.

3 participants