File Details
cepgp_lootmaster_ml-8.5.1.zip
- R
- Mar 22, 2026
- 180.36 KB
- 61
- 2.5.5
- Classic TBC
File Name
cepgp_lootmaster_ml-8.5.1.zip
Supported Versions
- 2.5.5
Changes
8.5.1 β 2026-03-21
Roll Snapshot System
When an item is awarded, the addon now captures a full snapshot of all candidate responses at that moment and stores it with the loot history entry.
CaptureRollSnapshot(lootLink): Records all candidate responses with decided status (sort 401β1099) β stores name, class, response text, response color, roll, PR, and isEPGP flag. Sorted by response type, then PR (for EPGP) or roll (for random)StoreRollSnapshot(itemLink, snapshot): Stores the snapshot in_pendingRollSnapshots, consumed byRecordLootHistoryEntrywhen the item is recorded to session history- Dice icon in loot history: Items with a saved roll snapshot show a clickable dice icon (π²) in the history table. Clicking it opens the Roll Snapshot Viewer
ShowRollSnapshotViewer(item, itemDisplayName): Displays the recorded responses in the same "Roll SonuΓ§larΔ±" format used during live distribution β auto-converts old numeric response IDs to the new text/color format for backward compatibility- Persistent across sessions: Roll snapshots are saved with the loot history entry and survive
/reload, logout, and session export/import
Auto-Trade System
Automated trading workflow for distributing items from the ML's bags to raid members.
AutoTradeItem(itemLink, candidate, forceFree): Finds the item in bags, initiates trade with the target player, places the item in the trade window, and handles completion- GP awareness:
forceFree=truetrades without GP charge;forceFree=falseawards GP on completion - Trade distance check: Validates target is within interact range via
CheckInteractDistance(unitID, 2)before initiating - Event-driven flow: Registers
TRADE_SHOW(place item),TRADE_ACCEPT_UPDATE(track acceptance),TRADE_CLOSED(verify completion via bag contents comparison) - Auto-close existing trade: If a trade window is already open, closes it with
CancelTrade()+ 0.1s delay before starting the new trade
Trade Watch Alert System
Detects when awarded items are traded to other players and alerts the Master Looter.
AddToTradeWatchlist(itemLink, player, distributor): Tracks awarded items for 2 hours (WoW trade window limit), keyed by itemIDOnTradeWatchAccept:TRADE_ACCEPT_UPDATEhandler that inspects trade slots 1β6 for watched items, sends "TRADEWATCH" whisper to the MLShowTradeWatchAlert(player, itemLink, target): Animated dark-red alert frame (380Γ190px) at screen top β red border, 6Γ red flash overlay (0.12s fade-in, 0.35s fade-out), warning icons, labeled fields for Player/Item/Traded-to- Dedup:
_tradeWatchAlertedtable prevents duplicate alerts for the same item+player combination /lm testwatcher(or/lm tw): Simulates a trade watch alert locally for visual testing
Modern Loot Window β Settings Integration
Loot frame appearance is now fully configurable from the settings panel. All values persist in db.profile and apply on next frame open without /reload.
- Getter functions:
FrameWidth(),RowHeight(),IconSize(),VisibleRows()read fromdb.profileviaGetSetting(key, default)helper - Appearance sliders (Loot Window settings group):
- Frame Width (150β400px, default 210)
- Row Height (20β60px, default 36)
- Icon Size (16β48px, default 32)
- Visible Rows (2β15, default 5)
- Display toggles:
- Show Binding Text (
lootWindowShowBinding) β BoE/BoU indicator on item icon - Show Quantity Badge (
lootWindowShowQuantity) β count badge on icon corner - Stack Duplicates (
lootWindowStackDuplicates) β merge same-name items into single row with combined quantity - Word Wrap Names (
lootWindowWordWrap) β allow item names to wrap to 2 lines - Show Loot All Button (
lootWindowShowLootAll) β toggle bottom Loot All button - Require ML in Raid (
lootWindowRequireMLRaid) β when enabled (default), modern loot frame only appears when you are Master Looter in a raid; disable to use everywhere (ML buttons still require ML + raid + active session)
- Show Binding Text (
- Removed:
showItemLevelsetting and iLvl display β extra sub-text row eliminated
Modern Loot Window β Layout Overhaul
- Sub-text row removed: The iLvl + binding sub-text (
subFs) is gone β item name now fills the full row height, vertically centered (JustifyV("MIDDLE")) - Max 2 lines: Item names use
SetMaxLines(2)with optional word wrap; long names truncate with ellipsis - BoE/BoU icon overlay: Binding indicator moved from sub-text to a 10pt OUTLINE font overlay (
bindFs) at the icon's top-left corner β BoE in green (|cFF88FF88BoE|r), BoU in yellow (|cFFFFCC44BoU|r). BoP items show no indicator - Stack duplicates: When enabled, items with the same name merge into a single row with accumulated quantity and
extraSlotstracking
Modern Loot Window β Mock Test Improvements
- Always ML mode:
/lm testlootnow always opens in Master Looter mode βmockML = trueunconditionally, no need to type/lm testloot ml GetLootThresholdoverride: Mock mode saves and overridesGetLootThresholdto return 2 (Uncommon) via_real_GetLootThreshold, ensuring ML buttons appear on test items. Original restored on mock close
Test Loot Window Command
/lm testlootwindow(alias/lm tlw): Opens a test loot popup with realistic mock candidates using actual session data- Session Data Integration: Searches
GetLootHistorySessions()for Karazhan sessions (or any session with attendance data), extracts player names and class files fromsession.attendance - 10-Player Limit: Caps at 10 candidates to match Karazhan's raid size for realistic testing
- Response Cycling: Each candidate cycles through response types (NEED, GREED, OFFSPEC, MINORUPGRADE, PASS) for visual variety
- Fallback Data: If no session history is found, uses placeholder test data with realistic names and classes
- Uses Equipped Item: Tests with the player's currently equipped main-hand weapon (
GetInventoryItemLink("player", 16))
Gated Print System
- ML/Admin-only console output:
LootMaster:Print()now suppresses messages for non-ML/non-admin players. The originalAceConsole:Printis saved as_OriginalPrintand only called if the player is Master Looter, Root Admin, or Session Admin. Startup messages (before DB is loaded) always print
Minimap Menu Permission System
- Per-item permission control:
HasMinimapMenuPermission(menuKey)checks structured permission tables withguild,admin, andrankfields (OR logic β matching any enabled permission grants access) - Master Looter always has access to all menu items
- Legacy compatibility: Handles old string-format permissions (
"everyone","admin","guild","rank") - RT integration: Raid Tools module checks
HasMinimapMenuPermissionbefore showing EPGP Ranks, EPGP History, and Session Bar items in the minimap right-click menu
Loot Frame Recording
GiveMasterLootAndRecord(): Wrapper aroundGiveMasterLoot()used by the modern loot frame's "Give to..." dropdown β captures item link, assigns loot, marks as sent (prevents double-recording byCHAT_MSG_LOOTlistener), broadcastsLOOTEDto raid, and records the entry asLOOTTYPE.FREEin session history
Bug Fixes
ChatFrameEditBoxnil guard: TheEPGP_LOGOUTPUT_POPUPdialog'sOnHidecallback no longer crashes on clients where the deprecatedChatFrameEditBoxglobal doesn't exist- Removed
/rlcommand: The global/rl(ReloadUI shortcut) registration was removed β all addon commands now use the/lmprefix exclusively - Fixed stale
/lmtestlootreferences: Comments and print messages in the loot frame updated from old/lmtestlootto/lm testloot - Duplicate settings toggle removed: The
useModernLootFrametoggle was removed from theloot_settingsgroup β kept only in theloot_windowgroup to avoid confusion
Locale Updates
- New English strings: Loot Window settings (Frame Width, Row Height, Icon Size, Visible Rows, Display toggles), Roll Snapshot Viewer (Roll History, No roll data), Trade Watch alerts (TRADE WARNING, Player/Item/Traded-to labels), Trade completion messages
- Turkish (trTR) translations: Full translation for all new settings β ASCII-only characters for maximum compatibility
- German (deDE) translations: Matching translations for all new strings

