-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Will this fix the mutable? The answer may surprise you! #66312
Conversation
I'm running local tests I used this:
Of course it failed right as I was typing this. |
Failed locally on tests. Output(with the same added debug messages for nearby terrain): Output06:54:58.734 INFO : Starting the actual test at Mon Jun 19 06:54:58 2023 Filters: overmap_terrain_coverage06:55:43.203 ERROR : \Cataclysm-DDA\src\overmap.cpp:2554 [place] SURROUNDING TERRAIN WAS: (136,156,-1) with ID solid_earth Entering phase 1At (140,157,-1) chose 'bowels' rot 3 with neighbours N:solid_earth E:solid_earth S:solid_earth W:solid_earth and constraints above: surface_to_bowels Entering phase 2At (140,156,-1) chose 'bowels_edge1' rot 2 with neighbours N:solid_earth E:corpse_bowels_mid S:corpse_bowels_mid W:corpse_bowels_mid and constraints south: bowels_mid_to_mid Entering phase 3At (137,158,-1) FAILED to match on terrain solid_earth with neighbours N:solid_earth E:corpse_bowels_tentacle_edge_west S:solid_earth W:solid_earth and constraints east: bowels_tentacle_to_edge from amongst rules neck_3x1 Entering phase 4At (140,160,-1) FAILED to match on terrain solid_earth with neighbours N:corpse_bowels_tentacle_edge_south E:solid_earth S:solid_earth W:solid_earth and constraints north: bowels_tentacle_to_edge from amongst rules neck_3x1_extra Entering phase 5At (139,154,-1) FAILED to match on terrain solid_earth with neighbours N:solid_earth E:solid_earth S:corpse_bowels_tentacle_edge_north W:solid_earth and constraints south: bowels_tentacle_to_edge from amongst rules head_intact and head_decapicated Entering phase 6At (137,158,-1) chose 'tentacle_mid' rot 1 with neighbours N:solid_earth E:corpse_bowels_tentacle_edge_west S:solid_earth W:solid_earth and constraints east: bowels_tentacle_to_edge Entering phase 7At (139,153,-1) chose 'tentacle_rcorner' rot 3 with neighbours N:solid_earth E:solid_earth S:corpse_tentacle_ns W:solid_earth and constraints south: tentacle_to_tentacle Entering phase 8At (136,156,-1) FAILED to match on terrain solid_earth with neighbours N:corpse_tentacle_es E:corpse_tentacle_ew S:corpse_tentacle_ns W:solid_earth and constraints north: tentacle_to_tentacle, east: tentacle_to_tentacle, and south: tentacle_to_tentacle from amongst rules tentacle_mid Entering phase 9At (136,156,-1) FAILED to match on terrain solid_earth with neighbours N:corpse_tentacle_es E:corpse_tentacle_ew S:corpse_tentacle_ns W:solid_earth and constraints north: tentacle_to_tentacle, east: tentacle_to_tentacle, and south: tentacle_to_tentacle from amongst rules tentacle_end_w_entry Entering phase 10At (150,154,0) FAILED to match on terrain forest_thick with neighbours N:forest_thick E:forest_thick S:forest_thick W:forest_thick and constraints below: surface_to_tentacle from amongst rules tentacle_end_w_entry Entering phase 11At (139,161,0) chose 'corpse_entry_surface' rot 3 with neighbours N:field E:forest S:forest W:forest and constraints below: surface_to_tentacle Entering phase 12At (136,156,-1) FAILED to match on terrain solid_earth with neighbours N:corpse_tentacle_es E:corpse_tentacle_ew S:corpse_tentacle_ns W:solid_earth and constraints north: tentacle_to_tentacle, east: tentacle_to_tentacle, and south: tentacle_to_tentacle from amongst rules tentacle_end, tentacle_tee, tentacle_end_lcorner, and tentacle_end_straight=============================================================================== 06:56:03.062 INFO : Ended test at Mon Jun 19 06:56:03 2023 06:56:03.063 INFO : The test took 64.3275 seconds |
I decided to go one step further and deleted "tentacle_tee_to_tentacle" and its opposites altogether. I also tried testing the flexibility of the generation and bumped the tentacle tees to spawn 10000x as often. It worked without issues. This passes the checks for now, so here's a hesitant yay! from me. God, mutables are such a headache! |
Summary
None
Purpose of change
I don't know if this fixes #65983.
Describe the solution
The mutable was having some trouble when three tentacles wanted to end at the same spot. So I added a "tentacle tee" at the end of the generation line to hopefully fix that. I made the chances of it spawning rare enough to spawn only when it's absolutely necessary.
Describe alternatives you've considered
Fourway connections are not accounted for, but I imagine it is magnitudes rarer than the already mythical three-way connection so I'm not too worried.
Testing
Fast-scrolled through Overmap for ~5 minutes. No errors. Not that it means anything.
Additional context
None.