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

Standard house variant distribution, survivor homes, doormats #64678

Merged
merged 4 commits into from
Apr 4, 2023

Conversation

LovamKicsiGazsii
Copy link
Contributor

Summary

Content "House cleanup, survivor homes, doormats"

Purpose of change

Begins moving houses to an externally defined distribution of palette variants, thus increasing their variability. In the process, I have made some minor cleanup to house mapgen.
Maintains the variant palettes with stuff that are already in the general palette.

Describe the solution

Cleanup:
Palettized homes to utilize standard_domestic_lino_kitchen, standard_domestic_lino_bathroom, and standard_domestic_landscaping_palette, moving long lists of terrain definitions outside the mapgen file.
Removed map variants 'hoarder' and 'abandoned', and replaced them with external palettes. Using new map variants is a particularly unsustainable solution to adding variability, as they have to be individually updated and it easily leads to bloated files.
I have also removed the 'construction' map variant. No replacements for that yet.
Standardized symbols for linoleum ' and concrete flooring ~. The end goal is to have dedicated symbols for linoleum and concrete tiles.
Unified gutter terrains and removed unneeded weights.

Palettes:
Created domestic_general_and_variant_palette, a palette distribution that I eventually want to apply to every house. Its purpose is to convert homes to one of three variants: hoarder -- 0.4%, abandoned -- 2.8%, and survivor -- 1.8%.
I made the hoarder palette compatible with the standard domestic palette, so no need for a new map variant.
Added new furniture, like ladders, bedside tables, and freezers to the variant palettes.
Added gate parameters to drystone half-walls, and comments to clarify palette usage.
Created the survivor palette, a variant that fortifies homes. It also has a chance to spawn traps by the entrances. which I'm using doormats as a pretense to place. I found it to be wasteful to use a symbol ÷ only to place traps in only one variant.

Describe alternatives you've considered

Not removing internal wall definitions. The palette's parameters add more variation to the house but it also removes some of its uniqueness.

Testing

Spawned all six houses in all four variants.

Additional context

Future me will have to figure out how to deal with basements and nested chunks.

Screenshots:

kép

General variant:
kép

Abandoned:
kép

Hoarder:
kép

Survivor:
kép

add the survivor palette: barricaded doors and windows, traps, survivor fridges, empty cans

replace drystone wall gates

domestic_general_and_variant_palette

doormats, palette regionalizing
@github-actions github-actions bot added [JSON] Changes (can be) made in JSON astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions labels Mar 29, 2023
@Maleclypse
Copy link
Member

Is there a better way for me to edit palettes than what I've been doing in Xedra Evolved? #64661 would it make more sense for me to add those door variants into the base game but only have them have an examine action in XE?

@LovamKicsiGazsii
Copy link
Contributor Author

Is there a better way for me to edit palettes than what I've been doing in Xedra Evolved?

Unless there's a way to expand palettes like we can with item groups or region settings, I'm not quite sure. My next best guess is something like

  {
    "type": "palette",
    "id": "standard_domestic_palette",
    "palettes": [ "standard_domestic_palette" ]
    ...
  }

...but recursions are scary.

would it make more sense for me to add those door variants into the base game but only have them have an examine action in XE?

Electronic locks are a thing in real life, so why not? Beats having duplicate palette ids.

@bombasticSlacks bombasticSlacks merged commit 7c027dd into CleverRaven:master Apr 4, 2023
@LovamKicsiGazsii LovamKicsiGazsii deleted the house-cleanup branch April 4, 2023 16:03
Maleclypse pushed a commit to Maleclypse/Cataclysm-DDA that referenced this pull request Apr 6, 2023
…Raven#64678)

* doormat

* palette update

add the survivor palette: barricaded doors and windows, traps, survivor fridges, empty cans

replace drystone wall gates

domestic_general_and_variant_palette

doormats, palette regionalizing

* house cleanup

* comment update
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 [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants