Broker Garrison & Order Hall
Broker Garrison (Missions, Shipments, Buildings)
Garrison Overview and Notifications (Completed Missions, Shipments, Buildings) for your characters!
An LDB Display like Bazooka or TitanPanel is recommended for this addon (it also works with ElvUI DataTexts).
If you don't have a display addon you can access the tooltips when hovering the minimap buttons.
Enable minimap buttons
/garrison display minimapButton on /garrison display minimapMissionHide off /garrison display minimapBuildingHide off
Features
- Timers / Resources for all characters (Missions, Buildings, Shipments/WorkOrders)
- LDB Text customization
- Tooltip sort/group by customization
- Show/Hide Garrison Landing Page (left-click)
- Notifications ("mission complete" on any character) - Sound optional
- Hide Blizzard mission/building notifications
- Hide Blizzard minimap button / disable pulse notification
- Toasts Notifications (LibToast) - Use Toaster for more options (position, etc.)
- Disable tooltip display / notifications for individual characters
- Resource Cache Timer - Displays amount of resources in cache (if lootable) - warning on >400 (red exclamation point)
- Garrison Invasions (yellow exclamation point)
- Herb garden / mine daily indicator (green check)
- Toas Summary (Missions, Shipments) on login
Changes
2.0
- Legion Order Hall support
1.9
- Patch 7.0: Fixes
- Known Issues: Follower / Reward Icons not displaying correctly
1.8
- Patch 6.2: Add shipyard support
- Add Seal of inveitable Fate and Oil resources
- Show available BonusRoll-Currency amount (0 - 3, from quests only)
- Change resource cache detection to specific loot toast instead of checking the player location ("near cache")
1.6
- New icons
- Disable updates in combat as option
- API to access garrison data: http://www.wowace.com/addons/broker-garrison/pages/api/
- LibDBIcon to access tooltips without LDB display addon
1.5
- Colors in Custom LDB Text - Format: =rrggbb=TEXT==
- Parse unknown mission times (e.g. started on another computer)
- Fixes (Inn tracking, Invasion display, LibSink options greyed out)
1.4
- New Icon "yellow exclamation point": Garrison Invasions
- New Icon "red exclamation point": Resource Cache >= 400
- New check (green, grey): War Mill (Weekly "Seal of Tempered Fate") and Inn (Weekly Follower from Headhunter)
In Progress / ToDo
- Detachable Tooltip (Standalone Frame)
- Profile Support (Config)
- New Mission indicator
Notifications
Missions
Buildings
Ideas
- <Your ideas here - write a ticket/feature request>
Also noticed (might have something to do with the error below) that the game stutters when the tooltip is showing. Each second that ticks over a slight stutter happens. Did not seem to be present before the patch.
This has always been the case for me, I don't think it's a new issue.
Uncheck "High Accuracy" in Settings/General. Fixed the issue for me.
I'm getting the exact same thing since the pre-patch launched - when I hold the mouse over the missions bar (I use Titan Panel) the list drops down then the screen freezes but things move once every second or so. This worked flawlessly before the patch and has definitely only started since the patch launched.
I'm also getting a much longer game freeze when I look at the shipments panel - the game basically locks up completely until I click outside the panel to close it but, even then, it takes 5-10 seconds to realise I've done that and close the panel. After that everything goes back to normal.
Get the following error as soon as i log in. I get this error with only Broker Garrisons & Titan Panel running & no other addons. If i disable Broker Garrisons the error does not occur.
It looks like the same error posted by karaste (post 356) but might be different so posted it just in case. Delete this post to remove clutter if this error is duplicated or not needed.
Thanks for your time spent on this addon, much appreciated.
Message: Interface\FrameXML\AlertFrames.lua:291: attempt to index global 'GarrisonMissionAlertSystem' (a function value)
Time: 07/24/16 08:08:27
Count: 1
Stack: Interface\FrameXML\AlertFrames.lua:291: in function <Interface\FrameXML\AlertFrames.lua:203>
Locals: self = AlertFrame {
AddAlertFrameSubSystem = <function> defined @Interface\FrameXML\AlertFrames.lua:337
OnLoad = <function> defined @Interface\FrameXML\AlertFrames.lua:179
UpdateAnchors = <function> defined @Interface\FrameXML\AlertFrames.lua:362
anchorPrioritiesDirty = true
AddJustAnchorFrameSubSystem = <function> defined @Interface\FrameXML\AlertFrames.lua:325
SetSubSustemAnchorPriority = <function> defined @Interface\FrameXML\AlertFrames.lua:345
OnEvent = <function> defined @Interface\FrameXML\AlertFrames.lua:203
AddSimpleAlertFrameSubSystem = <function> defined @Interface\FrameXML\AlertFrames.lua:329
AddAlertFrame = <function> defined @Interface\FrameXML\AlertFrames.lua:371
alertFrameSubSystems = <table> {
}
CleanAnchorPriorities = <function> defined @Interface\FrameXML\AlertFrames.lua:354
0 = <userdata>
AddQueuedAlertFrameSubSystem = <function> defined @Interface\FrameXML\AlertFrames.lua:333
}
event = "GARRISON_MISSION_FINISHED"
validInstance = true
_ = "FW Horde Garrison Level 3"
instanceType = "party"
followerTypeID = 1
missionID = 131
missionFrame = GarrisonMissionFrame {
0 = <userdata>
OnClickViewCompletedMissionsButton = <function> defined @Interface\AddOns\Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:804
OnDragStartMissionFollower = <function> defined @Interface\AddOns\Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:738
OnLoadMainFrame = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:28
NextMission = <function> defined @Interface\AddOns\Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:825
SetupCompleteDialog = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:56
SetupMissionList = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:20
CheckCompleteMissions = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:432
TopBorder = <unnamed> {
}
Bottom = <unnamed> {
}
ShowMissionStage = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:210
BotRightCorner = <unnamed> {
}
SetEnemies = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:255
OnDragStopFollowerButton = <function> defined @Interface\AddOns\Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:732
UpdateMissionParty = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:377
MissionCompleteBackground = <unnamed> {
}
OnEventMainFrame = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:91
RightBorder = <unnamed> {
}
UpdateRewards = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:678
UpdateStartButton = <function> defined @Interface\AddOns\Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:464
HasMission = <function> defined @Interface\AddOns\Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:99
ClearMouse = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:406
OnClickFollowerPlacerFrame = <function> defined @Interface\AddOns\Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:703
TopRightCorner = <unnamed> {
}
SetMissionCompleteNumEncounters = <function> defined @Interface\AddOns\Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:1050
MissionTab = <unnamed> {
}
OnShowMainFrame = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:136
SetPartySize = <function> defined @Interface\AddOns\Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:224
Seems to be working fine now, there's one issue though - when you have both buildings and missions beside each other (I use bazooka), hover over one and then moving to hover over other displays both of them briefly and then wow just hangs for few seconds.
Hope that's clear enough explanation. Looks like resources usage hits the roof (I have quite solid machine here and that doesn't help).
Found an issue with Broker Garrison conflicting with ElvUI regarding the Objectives Tracker. Broker Garrison seems to override my ability to move the panel in ElvUI, possibly linking it to the minimap? Something I noticed
Can confirm this. It seems the Objective Tracker it's stuck to minimap and can only be moved if minimap is moved.
Broker Garrison is currently causing issues with a number of addons.
Elvui, MasterPlan, and Overachiever and to name a few.
I get this error when BrokerGarrison is enabled with LeatrixPlus but it disappears when LeatrixPlus is disabled. Also, if I disable BrokerGarrison with LeatrixPlus enabled it also disappears.
Leatrix_Plus\Leatrix_Plus-7.0.41.lua:1323: Usage: hooksecurefunc([table,] "function", hookfunc)
[C]: in function `hooksecurefunc'
Leatrix_Plus\Leatrix_Plus-7.0.41.lua:1323: in function `Isolated'
Leatrix_Plus\Leatrix_Plus-7.0.41.lua:6822: in function <Leatrix_Plus\Leatrix_Plus.lua:6626>
Locals:
(*temporary) = <table> {
ERR_OUT_OF_CHI = "Not enough chi"
DH_HAVOC_CORE_ABILITY_2 = "Strong melee attack that consumes Fury. If it critical strikes, some Fury is refunded."
MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown {
}
MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock {
}
GetTrainerServiceTypeFilter = <function> defined =[C]:-1
UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names."
SetTrainerServiceTypeFilter = <function> defined =[C]:-1
LE_GAME_ERR_CHAT_RAID_RESTRICTED_TRIAL = 736
SPELL_FAILED_CUSTOM_ERROR_71 = "This partygoer wants to dance with you."
LE_GAME_ERR_PET_SPELL_TARGETS_DEAD = 395
RecruitAFriendFrame = RecruitAFriendFrame {
}
CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture = CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture {
}
HealBot_Options_CrashProt_OnClick = <function> defined @HealBot\HealBot_Options.lua:1293
TutorialFrameLeft19 = TutorialFrameLeft19 {
}
MultiCastActionButton2Cooldown = MultiCastActionButton2Cooldown {
}
ERR_TRADE_EQUIPPED_BAG = "You can't trade equipped bags."
PVP_RANK_6_1 = "Corporal"
BOOKTYPE_PROFESSION = "professions"
AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture = AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture {
}
VideoOptionsFrameCategoryFrameButton17ToggleHighlightTexture = VideoOptionsFrameCategoryFrameButton17ToggleHighlightTexture {
}
MerchantItem2AltCurrencyFrameItem1Text = MerchantItem2AltCurrencyFrameItem1Text {
}
OPTION_TOOLTIP_ACTION_BUTTON_USE_KEY_DOWN = "Action button keybinds will respond on key down, rather than on key up."
BINDING_NAME_NAMEPLATES = "Show Enemy Name Plates"
CHAT_HEADER_SUFFIX = ": "
IsReferAFriendLinked = <function> defined =[C]:-1
MAIL_LETTER_TOOLTIP = "Click to make a permanent
copy of this letter."
AudioOptionsVoicePanelMicrophoneVolumeThumb = AudioOptionsVoicePanelMicrophoneVolumeThumb {
}
PaperDollTitlesPaneButton12BgTop = PaperDollTitlesPaneButton12BgTop {
}
DUNGEON_FLOOR_UPPERBLACKROCKSPIRE3 = "Hall of Blackhand"
CHAT_CONFIG_OTHER_COMBAT = <table> {
}
FCFDockOverflowButton_OnClick = <function> defined @FrameXML\FloatingChatFrame.lua:2337
TutorialFrameRight19 = TutorialFrameRight19 {
}
ChatFrame6EditBoxFocusMid = ChatFrame6EditBoxFocusMid {
}
BN_UNABLE_TO_RESOLVE_NAME = "Unable to whisper '%s'. Battle.net may be unavailable."
LE_GAME_ERR_RECRUIT_A_FRIEND_FAILED = 941
CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight = CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight {
}
LFGTeleport = <function> defined =[C]:-1
LE_GAME_ERR_ONLY_ONE_QUIVER = 32
SpellButton6Cooldown = SpellButton6Cooldown {
}
SLASH_LibQTip1 = "/qtip"
ToggleEncounterJournal = <function> defined @FrameXML\UIParent.lua:788
AdiBagsItemButton4IconQuestTexture = AdiBagsItemButton4IconQuestTexture {
}
LOSS_OF_CONTROL_DISPLAY_FEAR = "Feared"
Graphics_QualityText = Graphics_QualityText {
}
TalentMicroButtonAlertShadowTopLeft = TalentMicroButtonAlertShadowTopLeft {
}
ROGUE_COMBAT_CORE_ABILITY_4 = "Melee ability with an increased range that consumes Combo Points."
JoinSkirmish = <function> defined =[C]:-1
Advanced_GraphicsAPIDropDownButtonHighlightTexture = Advanced_GraphicsAPIDropDownButtonHighlightTexture {
}
CompactUnitFrameProfilesSaveButton = CompactUnitFrameProfilesSaveButton {
}
MainMenuXPBarDiv8 = MainMenuXPBarDiv8 {
}
LFGListSearchPanelScrollFrameButton10BottomRight = LFGListSearchPanelScrollFrameButton10BottomRight {
}
DMG_LCD = "DMG"
RaidGraphics_EnvironmentalDetailSlider = RaidGraphics_EnvironmentalDetailSlider {
}
ChannelMemberButton10SpeakerFrameOn = ChannelMemberButton10SpeakerFrameOn {
}
Is64BitClient = <function> defined =[C]:-1
SecureCmdItemParse = <function> defined @FrameXML\ChatFrame.lua:1028
SLASH_STOPATTACK1 = "/stopattack"
HealBot_Options_AltText = HealBot_Options_AltText {
}
MultiCastActionButton4HotKey = MultiCastActionButton4HotKey {
}
CompactRaidFrameManagerDisplayFrameFilterOptionsF
Getting following error on zoning:
9x FrameXML\AlertFrames.lua:291: attempt to index global 'GarrisonMissionAlertSystem' (a function value)
FrameXML\AlertFrames.lua:291: in function <FrameXML\AlertFrames.lua:203>
Locals:
self = AlertFrame {
AddAlertFrameSubSystem = <function> defined @FrameXML\AlertFrames.lua:337
OnLoad = <function> defined @FrameXML\AlertFrames.lua:179
UpdateAnchors = <function> defined @FrameXML\AlertFrames.lua:362
anchorPrioritiesDirty = true
AddJustAnchorFrameSubSystem = <function> defined @FrameXML\AlertFrames.lua:325
SetSubSustemAnchorPriority = <function> defined @FrameXML\AlertFrames.lua:345
OnEvent = <function> defined @FrameXML\AlertFrames.lua:203
AddSimpleAlertFrameSubSystem = <function> defined @FrameXML\AlertFrames.lua:329
AddAlertFrame = <function> defined @FrameXML\AlertFrames.lua:371
alertFrameSubSystems = <table> {
}
CleanAnchorPriorities = <function> defined @FrameXML\AlertFrames.lua:354
0 = <userdata>
AddQueuedAlertFrameSubSystem = <function> defined @FrameXML\AlertFrames.lua:333
}
event = "GARRISON_MISSION_FINISHED"
validInstance = true
_ = "FW Horde Garrison Level 3"
instanceType = "party"
followerTypeID = 1
missionID = 667
missionFrame = GarrisonMissionFrame {
0 = <userdata>
OnClickViewCompletedMissionsButton = <function> defined @Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:804
OnDragStartMissionFollower = <function> defined @Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:738
OnLoadMainFrame = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:28
NextMission = <function> defined @Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:825
SetupCompleteDialog = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:56
SetupMissionList = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:20
CheckCompleteMissions = <function> defined @MasterPlan\MissionsUI.lua:3640
TopBorder = <unnamed> {
}
Bottom = <unnamed> {
}
ShowMissionStage = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:210
BotRightCorner = <unnamed> {
}
SetEnemies = <function> defined =[C]:-1
OnDragStopFollowerButton = <function> defined @Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:732
UpdateMissionParty = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:377
MissionCompleteBackground = <unnamed> {
}
OnEventMainFrame = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:91
RightBorder = <unnamed> {
}
UpdateRewards = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:678
UpdateStartButton = <function> defined @Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:464
HasMission = <function> defined @Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:99
ClearMouse = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:406
OnClickFollowerPlacerFrame = <function> defined @Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:703
TopRightCorner = <unnamed> {
}
SetMissionCompleteNumEncounters = <function> defined @Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:1050
MissionTab = <unnamed> {
}
OnShowMainFrame = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:136
SetPartySize = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:224
ResetMissionCompleteEncounter = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:478
SelectTab = <function> defined @Blizzard_GarrisonUI\Blizzard_GarrisonMissionUI.lua:180
FollowerList = GarrisonMissionFrameFollowers {
}
GetMissionPage = <function> defined @Blizzard_GarrisonTemplates\Blizzard_GarrisonMissionTemplates.lua:34
SummaryTab = <unnamed> {
}
TitleText = <
Updated to latest, and getting new error. Not sure which of the three is causing it.
2x MasterPlan\LandingAlts.lua:7: bad argument #1 to 'pairs' (table expected, got no value)
[C]: in function `pairs'
MasterPlan\LandingAlts.lua:7: in function `GetInProgressMissions'
MasterPlan\LandingAlts.lua:327: in main chunk
[C]: in function `LoadAddOn'
FrameXML\UIParent.lua:391: in function <FrameXML\UIParent.lua:390>
Broker_Garrison\core.lua:303: in function `LoadDependencies'
Broker_Garrison\core.lua:1965: in function `?'
...s\AckisRecipeList\libs\AceTimer-3.0\AceTimer-3.0-17.lua:53: in function <...s\AckisRecipeList\libs\AceTimer-3.0\AceTimer-3.0.lua:48>
Locals:
(*temporary) = "table expected, got no value"
= <function> defined =[C]:-1
I'm getting the following errors:
63x Broker_Garrison\event.lua:345: Usage: GetBuildings(garrisonType)
[C]: in function `GetBuildings'
Broker_Garrison\event.lua:345: in function `FullUpdateBuilding'
Broker_Garrison\core.lua:1695: in function `Update'
Broker_Garrison\event.lua:108: in function `?'
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:145: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:145>
[string "safecall Dispatcher[3]"]:4: in function <[string "safecall Dispatcher[3]"]:4>
[C]: ?
[string "safecall Dispatcher[3]"]:13: in function `?'
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:90: in function `Fire'
Ace3\AceEvent-3.0\AceEvent-3.0-3.lua:120: in function <Ace3\AceEvent-3.0\AceEvent-3.0.lua:119>
Locals:
nil
-----------------------
107x Broker_Garrison\core.lua:1637: Usage: GetInProgressMissions([missionList,] garrFollowerTypeID)
[C]: in function `GetInProgressMissions'
Broker_Garrison\core.lua:1637: in function `UpdateUnknownMissions'
Broker_Garrison\event.lua:114: in function `?'
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:145: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:145>
[string "safecall Dispatcher[1]"]:4: in function <[string "safecall Dispatcher[1]"]:4>
[C]: ?
[string "safecall Dispatcher[1]"]:13: in function `?'
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:90: in function `Fire'
Ace3\AceEvent-3.0\AceEvent-3.0-3.lua:120: in function <Ace3\AceEvent-3.0\AceEvent-3.0.lua:119>
Locals:
nil
27x Broker_Garrison\core.lua:1910: Usage: RawHook([object], method, [handler], [hookSecure]): Attempting to hook a non existing target
[C]: ?
Ace3\AceHook-3.0\AceHook-3.0-8.lua:211: in function <Ace3\AceHook-3.0\AceHook-3.0.lua:118>
Ace3\AceHook-3.0\AceHook-3.0-8.lua:322: in function `RawHook'
Broker_Garrison\core.lua:1910: in function <Broker_Garrison\core.lua:1814>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:529: in function `InitializeAddon'
Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:644: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:636>
Locals:
nil
Broken.
Broken since last patch :(
Patch 7.0.3, this addon breaks the functionality of TradeSkillMaster - it hides the Auction House tabs of TSM.
maybe i am blind and i can't find it, but is it possible to change the position of the minimap button somehow? if yes where? i mean i can with other addons, but the position is resetted after a short time each time i move it...
Hi, I've been having a problem for a while. I get an error every time I change my talents and have finally identified which addon may be causing it. With every single addon enabled I have this bug, and only when Skinner or Broker Garrison is disabled the bug goes away.
Here's the full error:
http://pastebin.com/d2fq3rF6