After some testing I found that a niche issue arises from the combination of the alphabetical sorting and the for loop. This aims to band-aid the issue as best possible until proper rework is done.
Renamed fields
Appended main areas (BB) which house other locations with `_ZONE` .
Example
Old → `HOSIDIUS("Hosidius", new Location(1737, 3627, 1789, 3582), 0),`
New → `HOSIDIUS_ZONE("Hosidius", new Location(1737, 3627, 1789, 3582), 0),`
Reason for this is to solve a problem with the `for loop` responsible for iterating over all locations to find which one the player is located in.
Since they are sorted alphabetically, `HOSIDIUS` comes before `HOSIDIUS_BANK` or any other location prefixed with "hosidius".
Disregarding if `worldArea ∈ BB`.
So, coincidentally, appending BB areas with `_ZONE` is just a lucky "solution" as a result of the alphabetical sorting to push the area down in the hierarchy.
To be clear; This is a hack, not a proper solution.
Ideally, in a perfect world the entire thing would be replaced by a proper R-Tree or other spatial access method.
However, for now, this is as good as it gets seeing as it'd be a pretty big task.
Added over 500 new locations.
Some locations were merged together, or split further into finer segments.
Removed few locations.
Spelling corrections
Renamed and organised fields.
Renamed few field display labels to give a more intuitive description of the intended world point.
Limited margin of "distance to area" to 128 squares(region length*2) to prevent mislabeling areas. Particularly in instances.
Fixed error which caused each world area to be placed on wrong coordinates along y-axis.
Added Math.abs() to get absolute value when calculating polygon dimensions from coordinates.
The value cannot be more than MAX_VALUE so the previous condition was
never met. Additionally use MAX_QUANTITY constant instead of abusing
char max value which is completely unrelated.
Fix notifications for highlighted drops occuring when a non highlighted drop is
assigned a value tier with the same color as highlighted drops. Check the
highlightedItems list directly instead of doing a color comparison.
Because both level up dialogs and BA high gambles use the same widget
interface, commit 40f032bede caused BA
high gambles and some level up dialogs to trigger screenshots if either
config was enabled in the config, as that would set a flag to capture a
screenshot on the next game tick based on the widget text. This commit
adds config checks to the DIALOG_SPRITE_TEXT branch to ensure the
appropriate config flag must be set for a screenshot to be captured.
this should fix the following known bugs:
- putting a U+2019 in the config causes it to become corrupted and
~double in size every launch
- scripts become assembled incorrectly and the nbsp after your name in
the chatbox becomes incorrect
- the feed panel doesn't show emoji