-
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
Add base camp construction markers #71084
Add base camp construction markers #71084
Conversation
Does this work in showing the player a "preview" of what will change if the order is given? I find frequently that base camp changes overlap with items or constructions I've placed. |
No. As the images show, it only shows which tiles are affected by the construction mission, not what the mission constructs. Also, the indications are generated upon giving the construction order, at which time you have committed resources to the construction. Displaying what to place where would require some illusionary version of everything terrain, furniture, and combination thereof that can be constructed, plus logic to tie the illusionary version to the real one and handle the cases where the illusionary version doesn't exist (because nobody has defined it). It can also be noted that field basecamp version 2 and version 2 of expansions create indications of where things will be built in the future by removing the grass from those tiles. |
It's probably stupid. What happens if I overlay the same field with ````"display_field": false,```? And then delete it. |
This is great and I don't see any need for it to show a preview of the terrains and furniture
That said I do disagree that it'd need any of this, it could just use the existing sprites/symbols with some way to differentiate them like the way that seeing down z levels does, for sprites it could give them a blue hue and cut them up in lines to make it look like a hologram for example and for symbols the background could cycle light blue and back for instance. |
You can't define the same thing twice (or if you can, only one of them would be active, probably "randomly", as that's what's happened in the past with duplicate definitions that weren't detected as duplicates). It might be possible to hide it by defining a hiding field that has a blank as its symbol and has a higher priority, but then it would remain and clutter the memory (and hide any other future constructions in that space, such as e.g. the furnishing of a building just constructed). Much better to find out how to refresh the display of the fields. I have no idea how to do any "graphic" display stuff, so illusory versions of things would have to be done by someone else. They'd have to be readily distinguishable from the real thing even in character mode. |
This is pretty cool! |
Gonna steal this for another ui/visual-only field idea. Thanks for laying the groundwork! |
Summary
None
Purpose of change
Fix #71016, as per the title
Describe the solution
Detect which tiles are changed by the application of a construction order by applying them to a fake map and then apply the construction site field to the corresponding tiles of the real map when initiating construction and doing the corresponding action to remove the construction field site after construction.
The logic was mostly stolen from an operation that counted number of changed terrain and furniture tiles.
This required the introduction of a new field, with the "looks like" selected to hopefully not cause any confusion.
It can be noted that the author can not be trusted to draw a stick figure without supervision, so tile support will have to be provided by competent people.
Apply the solution above to salt water pipes and remote fortifications.
Add new map operation to get rid of fields directly, rather than waiting for maintenance updates that don't happen.
Describe alternatives you've considered
Testing
Started the defense line project:
Started the chicken coop project:
Started the salt water pipe project:
Finished the chicken coop:
Finished the trench part of the defense line:
Finished the first part of the salt water pipe project (well in the swamp):
Ordered the spike part of the defense:
line:
Ordered the construction of the first few sections of the salt water pipe:
Finished the defense line:
Finished the first few sections of the salt water pipe:
Ordered the last part of the salt water pipe construction:
Ordered the salt water pump construction (and finished the last segment of the pipes):
Finished the salt water pump:
Additional context
The new delete field operation works, as far as I can see, and I don't think it should be unsafe when used with fields that don't have effects beyond being visible. Comments from competent people would be desirable, however.