fix(arrow): Sunstrider zoneId 3431, rotation CW, collection distance, native map pins

- zoneId detection: accept 3430 OR 3431 OR uiMapId 1241 (4 locations)
- SetRotation is CW-positive: rotAngle=relative (was -relative)
- Collection functions: override target->1241 when player on Sunstrider
- NPC 15281: spawn zone 1241 (not 3430) for correct coord space
- _ResolveMapUiMapId: removed 1241->1941 redirect
- zoneDB: added areaIdToUiMapId[1241]=1241
- Updated CHANGELOG, README, docs
This commit is contained in:
Xurkon
2026-05-21 19:22:40 -05:00
parent 7f99e7228d
commit 24ed0f48b3
19 changed files with 1170 additions and 469 deletions
+5 -11
View File
@@ -58,18 +58,12 @@ local fadeLogicTimerShown
local fadeLogicCoroutine
local function _ResolveMapUiMapId(uiMapId, x, y)
-- Ascension zone mapping: On Ascension, Sunstrider Isle (uiMapId 1241) shares
-- Eversong Woods' (1941) coordinate space. Zone 3430 (Eversong Woods) data
-- now correctly maps to uiMapId 1941 via GetUiMapIdByAreaId(3430)=1941.
-- These Eversong-map pins appear on the Sunstrider sub-map (1241) via
-- ZONE_REDIRECT visibility in HBD.lua.
--
-- Redirect any remaining map-1241 pins to 1941. On Ascension, map 1241
-- does not have its own independent coordinate space — it IS Eversong's
-- space. Pins destined for 1241 must use 1941's bounds for correct rendering.
if uiMapId == 1241 then
-- Ghost map 946 has no real coordinate data; redirect to Eversong (1941).
if uiMapId == 946 then
return 1941
end
-- Map 1241 (Sunstrider Isle) now has its own Ascension-calibrated bounds
-- and pins on 1241 render correctly on the Sunstrider sub-map. No redirect.
return uiMapId
end
@@ -678,7 +672,7 @@ end
local closestStarter = {}
function QuestieMap:FindClosestStarter()
local playerX, playerY, _ = HBD:GetPlayerWorldPosition();
local playerZone = HBD:GetPlayerWorldPosition();
local playerZone = QuestiePlayer:GetCurrentUiMapId();
for questId in pairs(QuestiePlayer.currentQuestlog) do
if (not closestStarter[questId]) then
local quest = QuestieDB.GetQuest(questId);