-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
(done) Migrate some terrains that should be furnitures into furniture #41731
(done) Migrate some terrains that should be furnitures into furniture #41731
Conversation
generator_broken, and begin groundwork for machinery_light, machinery_heavy, machinery_old, machinery_electronic, console, console_broken, and plut_generator (that will become f_kilopower)
Lots of maps left to update Also doing a fair bit of region terrain switches while I'm in here because that's a heck of a job too.
needed to update mapdata.h to make the f_console fixes work
t_console seems to finally be dead.
This points to an obsolete terran - but these terrains should all be furniture eventually anyway and it can be fixed then.
Oh thank goodness. Thanks Kevin |
Probably need tileset jsons updates - #42125 |
People should just use better, more up to date tilesets. |
Consoles in gas stations from old saves aren't working anymore ( |
@@ -192,7 +193,7 @@ computer *submap::get_computer( const point &p ) | |||
{ | |||
// need to update to std::map first so modifications to the returned object | |||
// only affects the exact point p | |||
update_legacy_computer(); | |||
//update_legacy_computer(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this commented out? This might cause problems for older saves.
@@ -160,7 +160,7 @@ void submap::update_legacy_computer() | |||
if( legacy_computer ) { | |||
for( int x = 0; x < SEEX; ++x ) { | |||
for( int y = 0; y < SEEY; ++y ) { | |||
if( ter[x][y] == t_console ) { | |||
if( frn[x][y] == furn_str_id( "f_console" ) ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it's a legacy computer, then the save may still contain "t_console" which should also be updated, unless we actually migrate "t_console" to "f_console" while loading the save.
Sources: 1. Migration of centrifuge from terrain to furniture, by I-am-Erk: CleverRaven/Cataclysm-DDA#41731 2. Fixing what the above PR broke, by johnstoecker: CleverRaven/Cataclysm-DDA#43361 3. Making centrifuges useful for separation, by zachary-kaelan: CleverRaven/Cataclysm-DDA#34344
* Port over migration and tool use of centrifuges Sources: 1. Migration of centrifuge from terrain to furniture, by I-am-Erk: CleverRaven/Cataclysm-DDA#41731 2. Fixing what the above PR broke, by johnstoecker: CleverRaven/Cataclysm-DDA#43361 3. Making centrifuges useful for separation, by zachary-kaelan: CleverRaven/Cataclysm-DDA#34344 * Update uncategorized.json
Summary
SUMMARY: Infrastructure "Changes some awkward terrains into furnitures for better layering"
Purpose of change
A great many things that are currently terrrains should in fact be furniture. For anything sticking above the ground, furniture has a lot more options for layering, preserving the identity of the terrain beneath it.
Describe the solution
This converts several manufactured/industrial terrains to furniture, obsoletes the old entries, and updates any palettes in the repository.
New furnitures;
The compact ASRG containment unit has had the most changes from the old plut_generator. It now has a heavy lead and ceramic housing that can be removed to reveal a fragile kilopower-style nuclear reactor inside. It cannot be harvested for plutonium at this time but it can be smashed if you like being blown up and irradiated. Note that the explosion is a sodium reaction, not a nuclear one, you could survive it.
I have also adjusted some deconstruction recipes to include new ingredients available, and made the a "connects_to": "COUNTER" group for things like the consoles. When dismantled, consoles will leave behind a counter.
I have done a bit of palette updating while in maps, mostly to update region groundcover, and in a few places adding a fill_ter or other minor infrastructure fixes. It bloated an already big PR but if I'm going to read several hundred palettes, I may as well fix stuff while I'm at it: these are things that would probably never get done otherwise.
Describe alternatives you've considered
Eventually we'd like to have more mapping layers than just terrain and furniture, but this is an early step towards that anyway.
Testing
Game runs without errors. Maps appear to spawn with the new furnitures instead of the old terrains. Consoles appear to work as intended.
I have tried to find some hard coded locations to see how it's working there, I couldn't find any I am sure of.
Can't think of anything else to test. Tired of looking at this PR.