Harden group sync: SF dedup, roster debounce, area ID filter

- SF first-responder lock: after sending SR/LSR, only accept SF
  messages from the first player to respond, ignore duplicates
  from other members to prevent entity flicker.
- Roster change debounce: retriggerable 5s timer with up to 5
  one-second extensions (10s max). Only fires on group size
  increase. Party events skipped when in raid.
- Area ID check in DLL respawn: markers only spawn when the
  player is in the same zone (area_id match against 0xB4E314).
- New GetCurrentAreaId() Lua function for addon zone awareness.
This commit is contained in:
MarcelineVQ
2026-03-02 11:26:10 -08:00
parent 93e4354d7b
commit bf718b66db
3 changed files with 120 additions and 19 deletions
+1
View File
@@ -267,6 +267,7 @@ fn registerLuaFunctions() void {
registerFunction("SetMarkerDef", @intFromPtr(&markers.luaSetMarkerDef));
registerFunction("ClearMarkerDef", @intFromPtr(&markers.luaClearMarkerDef));
registerFunction("GetMarkerDef", @intFromPtr(&markers.luaGetMarkerDef));
registerFunction("GetCurrentAreaId", @intFromPtr(&markers.luaGetCurrentAreaId));
}
}