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

[Aftershock] Add Habitat Block 1 to Exoplanet. Also adds Reinforced Glass Display cases and Electronic Lock doors. #74174

Merged
merged 14 commits into from
May 30, 2024

Conversation

QuillInkwell
Copy link
Contributor

Summary

Content "Adds one variant of Habitat Block to the Aftershock Exoplanet. Also adds hackable display cases and doors."

Purpose of change

There is a need for more variety of structures in the Aftershock Exoplanet mod. This PR is second in a series of PRs aimed at increasing the number of locations on the Aftershock Exoplanet. This PR aims to tackle Habitat Blocks which are referred to at several points in the project repo but not currently implemented.

Describe the solution

This PR adds one variant of Habitat Block.
image_2024-05-29_144319618
The First floor is composed of a corner parking lot with two spaces. (I imagine not many people on Salus have cars since I never see them but I have no idea what the cannon is. I also couldn't fit more.) Right behind the parking lot is a wing of 8 motel style rooms. Compact seems to be an operative word for Salus IV. So for this Hab Block I tried to keep the resident spaces as minimal as possible. Each room is equipped with the bare minimum: 2 sleep pods, kitchenette and fridge, storage board, table and chair, and one tile washroom.

The front airlock leads into a lobby which connects the services to the residential wing. In the lobby is a duo of vending machines selling food stuffs. There is also a nice bench and display of native alien flora. (Not sure if it's toxic, opps!) The two bathrooms connected to the lobby are guaranteed to spawn. As well as a the laundromat which comes equipped with ATM meant to imply a coin machine.

The other 3 rooms are all populated using nested map gen.
Slot 1 is located left of the airlock and will always be used by a dining related service. Currently it can be either a Cafe or a Dinner.
image
Slot 1 Cafe
image_2024-05-29_145507085
Slot 1 Diner

Slot 2 is located right of the Airlock and always filled a commercial service if some kind. Currently it can be:
Grocer 20%, Library 20%, Home Robotics Shop 10%, Civilian Gun Shop 10%, Clothes Shop 20%, or Pharmacy 10%
image_2024-05-29_145839076
Slot 2 Grocer

image
Slot 2 Gun Store (Front Door and Stock door are sealed by hackable metal doors. Guns are stored in hackable display cases.)

image_2024-05-29_150103285
Slot 2 Robotics Shop. (Front door and stock door are sealed by hackable metal doors. Robots are sealed in hackable display cases. Robots spawned are small mostly consumer/commercial grade bots. (See Domestic robot storage group))

image_2024-05-29_150321574
Slot 2 Clothes store

image_2024-05-29_150529415
Slot 2 Hardware Store

image_2024-05-29_150632623
Slot 2 Library

image_2024-05-29_150738689
Slot 2 Pharmacy

Slot 3 is located straight ahead of after the Airlock. Slot 3 is always filled with some resident service. Currently it can be:
Indoor Garden, Arcade, Sauna, Resident Storage Lockers, or Gym

image_2024-05-29_151059443
Slot 3 Resident Storage Lockers

image_2024-05-29_151143740
Slot 3 Sauna

image_2024-05-29_151215416
Slot 3 Arcade

image_2024-05-29_151258715
Slot 3 Gym

image_2024-05-29_151404561
Slot 3 Indoor Garden

And that was the first floor.
image_2024-05-29_151529481
Floor two contains another 8 motel style rooms located directly above the first wing. Fire escapes line the sides of the residential wing. At the end of the hall is a life support room which houses most of the buildings related life support systems. Beyond the airlock a large section of roof from the first floor is accessible for colonist use. The washrooms are guaranteed to spawn. Beyond the roof can be slotted with:
Xeno Garden, Community Garden, Aerocraft Landing Pad, Solar Panels, and mostly empty.

image
Xeno Garden

image_2024-05-29_152001521
Solar Panels

image
Community Garden

image
Aerocraft Pad (Some sealed civilian crates on the roof.)

image
Mostly Empty

Describe alternatives you've considered

I've considered using slightly more static Mapgen to save time. However I do like the feeling of smaller services clustered into larger structures. Since it allows colonists to access more services without having to exit climate controlled environments.

I've considered adding even more variants for each slot but I should probably leave this one alone for now.

I strongly considered making a a set of structures shells that are populated using nested mapgen. Structures that conditionally interlock with adjacent structures using tubes. However I had serious concerns over:

  1. Complexity of implementation,
  2. Lower quality of output in the event I am unable to adequately quality control the output of the procedural generation,
  3. Balance concerns regarding basically combining multiple structures into one super structure. That can be navigated without ever going outside.
  4. The original design concept worked off single tile structures. However the proposed design felt cluttered with connective tubes. Which also obviously highlighted the grid like pattern of CDDA generation. If an implementation was to be pursued it would likely vastly prefer larger structures spanning multiple overmap terrains.

Ultimately I want to explore the concept more but am not ready to put into this structure.

Testing

Loaded into an Exoplanet world and verified the structures were spawning. Teleported to the structures to verify presence of enemies and correct execution of nested Mapgen. Verified all variants spawning. Eyeballed the loot amounts to decent(ish) values. (Feedback and balance adjustments always welcome).

Additional context

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Mods Issues related to mods or modding Map / Mapgen Overmap, Mapgen, Map extras, Map display Spawn Creatures, items, vehicles, locations appearing on map Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Mods: Aftershock Anything to do with the Aftershock mod labels May 29, 2024
@github-actions github-actions bot added astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels May 29, 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
  • Habbitat Block

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.

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label May 30, 2024
@John-Candlebury
Copy link
Member

Looks really nice!

@QuillInkwell
Copy link
Contributor Author

Looks really nice!

Glad to hear.
I swear I had notepad++ search the entirety of my mod data multiple times to try and find that spelling mistake but evidently I did something wrong. At one point I just thought github was gaslighting me.

@github-actions github-actions bot added BasicBuildPassed This PR builds correctly, label assigned by github actions and removed BasicBuildPassed This PR builds correctly, label assigned by github actions labels May 30, 2024
@Maleclypse Maleclypse merged commit 162c43b into CleverRaven:master May 30, 2024
18 of 24 checks passed
@QuillInkwell QuillInkwell deleted the aftershock_habblock_01 branch June 4, 2024 17:20
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 BasicBuildPassed This PR builds correctly, label 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 Map / Mapgen Overmap, Mapgen, Map extras, Map display Mods: Aftershock Anything to do with the Aftershock mod Mods Issues related to mods or modding Spawn Creatures, items, vehicles, locations appearing on map
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants