promotional bannermobile promotional banner

CEPGP LootMaster - ANADOLU [Core]

CEPGP LootMaster - ANADOLU - Core version is made for our guild standarts to use our raider members.

File Details

cepgp_lootmaster-8.7.1.zip

  • R
  • May 24, 2026
  • 733.86 KB
  • 690
  • 2.5.5
  • Classic TBC

File Name

cepgp_lootmaster-8.7.1.zip

Supported Versions

  • 2.5.5

Changes

8.7.1 — 2026-05-22

Features

Guild Master Auto-Recorded as Root Admin (Multi-Guild Support)

  • New: On every guild roster refresh, the current Guild Master's character name is recorded into a persisted list and granted root-admin access — name-based, not via a live "is GM" check at every call site. This lets the addon work cleanly for guilds outside A N A D O L U: any guild's GM automatically becomes a root admin without needing the hardcoded ROOT_ADMIN_CHARACTERS table to be edited.
  • How: New LootMaster:RecordGuildMasterAsRootAdmin() in lootmaster_core.lua iterates self.GuildCache.members looking for rankIndex == 0 and writes the GM's short name into db.global.rootAdminNames. Called at the tail end of RefreshGuildCache (after the cache becomes valid + after PersistGuildCacheToDisk). Additive and idempotent — safe to call on every roster update.
  • Where the name is consulted: IsRootAdmin now also matches against db.global.rootAdminNames (plain case-insensitive name match) in addition to the existing hardcoded list and the live rankIndex == 0 cache check. Because the list is persisted, root-admin status survives /reload and is in effect on subsequent logins even before the live roster has loaded for the session.
  • Also: GetSessionAdminsFromConfig now includes the recorded GM names, so they appear in admin enumerations alongside ROOT_ADMIN_CHARACTERS and TEMP_SESSION_ADMINS.
  • Storage: db.global.rootAdminNames is a {shortName = true} table; lazy-initialised on first record. The existing live rankIndex == 0 fallback in IsRootAdmin is intentionally retained as a safety net.

UI Improvements

Raid Session History — Wider Frame for Long Instance Names

  • Changed: The Loot History dashboard (LootMasterHistoryFrame) is now 1180px wide (was 1000), and each of the four dashboard cards (Instance / Status / Master Looter / Items) is 230px wide (was 190). Long instance names such as "Coilfang: Serpentshrine Cavern" now fit comfortably inside the Instance card.
  • Why the in-between width: An initial bump to 255px caused the cards to overlap the Attendance tab button (anchored top-right of the frame). The 230px / 1180px combination keeps the cards, search bar and Attendance button visually clear of each other.
  • Where: lootmaster_player_ui.luaframe:SetWidth(1180) in the history frame creator; card:SetSize(230, HIST_CARD_HEIGHT) in the local CreateHistCard helper. Layout is otherwise unchanged.

Configuration Changes

Minimap Menu Permission Panel Removed; Visibility Now Fixed in Code

  • Removed from UI: The configurable "Minimap Menu" group under ML Settings → Tools → Minimap Permissions — the per-item Guild Members / Admins / Specific Rank toggles and rank dropdowns — has been hidden from the AceConfig panel. The dead config-table args remain in cepgp_lootmaster_ml/lootmaster_options.lua (the group has hidden = true) rather than being excised, to avoid risking a brace-mismatch that would break the entire config window.
  • Why: The previous configurable system added complexity for little gain and was reported as not behaving consistently. A small, predictable set of fixed rules is simpler and easier to reason about.
  • New fixed behaviour (hardcoded in LootMaster:HasMinimapMenuPermission, lootmaster_core.lua):
    • Show EPGP Ranks — visible to everyone.
    • Show EPGP History — visible to everyone.
    • Mini Session Bar — visible only to the Master Looter and Root Admins.
  • One chokepoint, both menus: HasMinimapMenuPermission is called from both the core's ShowMinimapMenu and the Raid Tools module's RT:ShowExtendedMinimapMenu (cepgp_lootmaster_rt/rt_core.lua). Changing the function once propagates to both — no per-call-site edits.
  • Implementation note: HasMinimapMenuPermission short-circuits at the top with a do ... end block returning the new fixed visibility; the legacy permission-table evaluation code below remains intentionally unreachable (kept in place for safety / reference).
  • Migration: No SavedVariables migration required. db.profile.minimapMenuPermissions and db.profile.minimapMenuRanks continue to exist in the DB but are no longer consulted at runtime.

Configuration Changes

Account-Wide Shared Profile Renamed: "Akathriel - Thunderstrike" → "Fhe - Thunderstrike"

  • Changed: The hardcoded account-wide shared AceDB profile that every character is forced onto has been renamed from "Akathriel - Thunderstrike" to "Fhe - Thunderstrike". Fhe is now the primary/main character for configuration.
  • Where: lootmaster_core.lua — the SHARED_PROFILE constant in the V2 profile-migration block (OnInitialize), and its two surrounding comments. The login-time enforcement (SetProfile(SHARED_PROFILE)) now routes every character to the Fhe profile.
  • Why: The Fhe profile was the actively-maintained one (33 configured keys vs. 13 on the old Akathriel profile) and is the intended main character going forward.
  • Note: Akathriel remains a root admin — ROOT_ADMIN_CHARACTERS is unchanged. Only the config profile changed.

SavedVariables Data Migration (one-time, manual)

  • Because the V2 profile migration is locked off once db.global.profileMigratedV2 is set, the live SavedVariables (CEPGPLootMaster) was edited directly for the affected account:
    • Merged the two settings that existed only on the old Akathriel profile into the Fhe profile: alwaysEnableEPGP = true and attendanceStartWeek.
    • Repointed all profileKeys entries to "Fhe - Thunderstrike" (the three that referenced the Akathriel profile now point at Fhe).
    • Deleted the "Akathriel - Thunderstrike" profile entry.
  • Conflict resolution: keys present on both profiles with differing values were resolved in favour of the newer Fhe profile — configUIScale, epgpAnnounce.channel (kept Fhe's officer), sessionBarPos, detectedRaidLookups.
  • A timestamped backup of the SavedVariables file was taken before editing.