Add KI coord offset to hood for additional customization #1553
Replies: 3 comments 1 reply
-
IIRC, the Neighborhood initialization takes place in EmgrPhase0. |
Beta Was this translation helpful? Give feedback.
-
A problem with this: marker missions assume that every instance of an age uses the same constant KI coordinates. When you create a marker in a neighborhood, it will appear in all neighborhoods in the same spot. If different hood instances had different KI coordinates, the same marker would appear at multiple different coordinates, which doesn't make sense conceptually. (Of course, the current situation with all hoods at the same coordinates makes no sense either, just in a different way.) The simplest solution (implementation-wise) would be to just accept that hood markers exist at multiple coordinates at once. In that case, we only need to make sure that all parts of the marker game UI display the correct coordinates for the hood you're currently in. A particular problem here: there are GZ calibration markers in the hoods, and their coordinates are hardcoded as strings and so wouldn't adjust to different hood coordinates. (In principle, we also have to consider how to display hood marker coordinates if you're not currently in a hood instance. But the marker coordinate display is already borked if you look at markers located in an age other than the one you're in, so we don't need to worry too much about that now.) The proper solution would be to make hood markers visible only in the hood instance in which they were placed. This would make sense in-world, but would require A LOT of work to implement and probably isn't desirable gameplay-wise. Regarding how to implement this in the code: the KI coordinates are also represented on the C++ side, not just in the KI Python scripts. To ensure that everything remains consistent, I think any dynamic changes to the KI coordinates should be applied on the C++ side. The relevant code is in |
Beta Was this translation helpful? Give feedback.
-
This is a good idea, and one that would be nice to implement, but there are some difficult problems that I don't think can be solved, as the nature of an infinite number of neighborhoods precludes any real solution meant to anchor them into a real-world location in the cavern. Aside from the technical problems mentioned above, it's impossible to guarantee that all neighborhoods have a location that is:
Due to this, it's trading one unrealism for another more-confusing and technically-complicated one. It would even introduce a realism-breaking change when it comes to the CGZ markers, unless those are restricted to a single "Bevin" neighborhood. |
Beta Was this translation helpful? Give feedback.
-
It has never really made sense for me that the hoods have the exact same KI coords...
Im proposing we add a randomized coord offset to the hoods.
It would need a new SDL Variable to save the coord after its been randomly generated.
The random generation would only happen once and the first time its visited.
That would need to be done in the https://github.com/H-uru/Plasma/blob/63026e7d961dc65caa69fe5f7e7f633f2f0b89ca/Scripts/Python/Neighborhood.py most likely.
KI code itself would need to grab that variable when its in the hood
Here is where I believe it would need to be added
Plasma/Scripts/Python/ki/__init__.py
Lines 3795 to 3801 in 63026e7
Beta Was this translation helpful? Give feedback.
All reactions