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

Allow examining furniture to convert to appliances #56807

Merged
merged 1 commit into from
Apr 18, 2022

Conversation

anothersimulacrum
Copy link
Member

Summary

Interface "Allowing converting terrain/furniture to appliances through interaction"

Purpose of change

It's a little silly to deconstruct a piece of furniture, then put it back up in the same place to turn it into an appliance - let's just directly turn them into appliances with an examine.

Describe the solution

Add a new iexamine actor for converting terrain/furniture to appliances. Move some functions from construction.cpp to veh_appliance.cpp for reuse in other things that place appliances (such as the examine action here).
Add examine action to all the appliances I could find with a furniture equivalent.

Testing

Walk around, examine furniture, watch in awe as they turn into appliances before your eyes.
Put up appliances using the construction menu, and note that it still works.

Additional context

I can't give ovens this action, because they also have the fireplace action. I am unsure how to resolve this.
image
image
image

@anothersimulacrum anothersimulacrum added Info / User Interface Game - player communication, menus, etc. [C++] Changes (can be) made in C++. Previously named `Code` Appliance/Power Grid Anything to do with appliances and power grid labels Apr 14, 2022
@github-actions github-actions bot added <Documentation> Design documents, internal info, guides and help. [JSON] Changes (can be) made in JSON labels Apr 14, 2022
@anothersimulacrum anothersimulacrum added the Quality of Life QoL: degree to which players are comfortable, and able to enjoy CDDA label Apr 14, 2022
@github-actions github-actions bot added json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions labels Apr 14, 2022
@I-am-Erk
Copy link
Member

Is it possible to make this iexamine only show up if you've already built something attached to a power grid nearby, to prevent it being annoying when you're out looting and wanting to interact with things?

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Apr 14, 2022
@anothersimulacrum
Copy link
Member Author

I'm not sure exactly of the workflow that would result in this triggering often during looting (but it may just be how I play), and I'd rather keep it more discoverable by not having that as a requirement.

It would be easy to do though, and I am willing, I just think it's better for discovery this way and would not get in the way often.

@I-am-Erk
Copy link
Member

I'm okay with that waiting to see if people get annoyed. I admit, I still randomly hit 'e' to pick things up quite often so it's partly just that I know I'll accidentally turn fridges into power grids a lot for a while. In a more general sense, if I'm trying to activate something and there's a fridge nearby as there often is, it will prompt a directional input where one really isn't needed, since gridifying a fridge isn't something I want to do very often.

@anothersimulacrum
Copy link
Member Author

I don't know of an easy way to avoid the prompt, even with what I would do to mitigate that there would still be the direction prompt.

It's a little silly to deconstruct a piece of furniture, then put it
back up in the same place to turn it into an appliance - let's just
directly turn them into appliances with an examine.

Move some functions from construction.cpp to veh_appliance.cpp for reuse
in other things that place appliances (such as the examine action here).
@Maleclypse
Copy link
Member

Maleclypse commented Apr 17, 2022

Wasn’t there a discussion that ovens needed to lose the fireplace action because they won’t hold a wooden fire without causing irreparable damage? So basically to use it as a fireplace would mean it’s unusable as an oven.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Appliance/Power Grid Anything to do with appliances and power grid astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions [C++] Changes (can be) made in C++. Previously named `Code` <Documentation> Design documents, internal info, guides and help. Info / User Interface Game - player communication, menus, etc. [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Quality of Life QoL: degree to which players are comfortable, and able to enjoy CDDA
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants