Mercurial > wow > ouroloot
comparison core.lua @ 51:857aea8ae33d
Also detect LFR happening and load then, before they zone in and potentially get into combat. Detect combat and avoid secure button creation in that case anyhow.
| author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
|---|---|
| date | Wed, 01 Feb 2012 02:34:10 +0000 |
| parents | 973d7396e0bf |
| children | 7af58a7dce7d |
comparison
equal
deleted
inserted
replaced
| 50:973d7396e0bf | 51:857aea8ae33d |
|---|---|
| 269 end | 269 end |
| 270 | 270 |
| 271 DEFAULT_CHAT_FRAME:HookScript("OnHyperlinkClick", function(self, link, string, mousebutton) | 271 DEFAULT_CHAT_FRAME:HookScript("OnHyperlinkClick", function(self, link, string, mousebutton) |
| 272 local ltype, arg = strsplit(":",link) | 272 local ltype, arg = strsplit(":",link) |
| 273 if ltype ~= "OuroRaid" then return end | 273 if ltype ~= "OuroRaid" then return end |
| 274 -- XXX this is crap, redo this as a dispatch table with code at the call site | |
| 274 if arg == 'openloot' then | 275 if arg == 'openloot' then |
| 275 addon:BuildMainDisplay() | 276 addon:BuildMainDisplay() |
| 276 elseif arg == 'popupurl' then | 277 elseif arg == 'popupurl' then |
| 277 -- Sadly, this is not generated by the packager, so hardcode it for now. | 278 -- Sadly, this is not generated by the packager, so hardcode it for now. |
| 278 -- The 'data' field is handled differently for onshow than for other callbacks. | 279 -- The 'data' field is handled differently for onshow than for other callbacks. |
| 288 end | 289 end |
| 289 addon:broadcast('bcast_responder') | 290 addon:broadcast('bcast_responder') |
| 290 elseif arg == 'waferthin' then -- mint? it's wafer thin! | 291 elseif arg == 'waferthin' then -- mint? it's wafer thin! |
| 291 g_wafer_thin = true -- fuck off, I'm full | 292 g_wafer_thin = true -- fuck off, I'm full |
| 292 addon:broadcast('bcast_denied') -- remove once tested | 293 addon:broadcast('bcast_denied') -- remove once tested |
| 294 elseif arg == 'reload' then | |
| 295 addon:BuildMainDisplay('opt') | |
| 293 end | 296 end |
| 294 end) | 297 end) |
| 295 | 298 |
| 296 local old = ItemRefTooltip.SetHyperlink | 299 local old = ItemRefTooltip.SetHyperlink |
| 297 function ItemRefTooltip:SetHyperlink (link, ...) | 300 function ItemRefTooltip:SetHyperlink (link, ...) |
| 529 return AC:Print (chat_prefix, str, ...) | 532 return AC:Print (chat_prefix, str, ...) |
| 530 end | 533 end |
| 531 end | 534 end |
| 532 end | 535 end |
| 533 | 536 |
| 534 if opts.keybinding then | 537 while opts.keybinding do |
| 538 if InCombatLockdown() then | |
| 539 self:Print("Cannot create '%s' as a keybinding while in combat!", | |
| 540 opts.keybinding_text) | |
| 541 self:Print("The rest of the addon will continue to work, but you will need to reload out of combat to get the keybinding. Either type /reload or use the button on %s in the lower right.", self.format_hypertext('reload',"the options tab",ITEM_QUALITY_UNCOMMON)) | |
| 542 break | |
| 543 end | |
| 544 | |
| 535 KeyBindingFrame_LoadUI() | 545 KeyBindingFrame_LoadUI() |
| 536 local btn = CreateFrame("Button", "OuroLootBindingOpen", nil, "SecureActionButtonTemplate") | 546 local btn = CreateFrame("Button", "OuroLootBindingOpen", nil, "SecureActionButtonTemplate") |
| 537 btn:SetAttribute("type", "macro") | 547 btn:SetAttribute("type", "macro") |
| 538 btn:SetAttribute("macrotext", "/ouroloot toggle") | 548 btn:SetAttribute("macrotext", "/ouroloot toggle") |
| 539 if SetBindingClick(opts.keybinding_text, "OuroLootBindingOpen") then | 549 if SetBindingClick(opts.keybinding_text, "OuroLootBindingOpen") then |
| 542 local c = GetCurrentBindingSet() | 552 local c = GetCurrentBindingSet() |
| 543 if c == ACCOUNT_BINDINGS or c == CHARACTER_BINDINGS then | 553 if c == ACCOUNT_BINDINGS or c == CHARACTER_BINDINGS then |
| 544 SaveBindings(c) | 554 SaveBindings(c) |
| 545 end | 555 end |
| 546 else | 556 else |
| 547 self:Print("Error registering '%s' as a keybinding, check spelling!", opts.keybinding_text) | 557 self:Print("Error registering '%s' as a keybinding, check spelling!", |
| 548 end | 558 opts.keybinding_text) |
| 559 end | |
| 560 break | |
| 549 end | 561 end |
| 550 | 562 |
| 551 --[[ | 563 --[[ |
| 552 The four loot format patterns of interest, changed into relatively tight | 564 The four loot format patterns of interest, changed into relatively tight |
| 553 string match patterns. Done at enable-time rather than load-time against | 565 string match patterns. Done at enable-time rather than load-time against |
