As you wander around Azeroth, your reputation bar will switch depending on where you are, not by which quest gave you a faction bump.
Supports:
- Gained Retail WoW support! Completed January 26, 2022, at least until patch 9.2 releases. If I missed any scenarios or other areas, let me know.
- Zones by faction: Stormwind, Darkspear Trolls, Gnomeregan Exiles, Orgrimmar, etc.
- Instances by faction: Hydraxian Waterlords, Brood of Nozdormu, etc
- Battlegrounds by faction: Silverpike Guard, Warsong Outriders, etc
- Subzones by faction: several little areas in various zones have pockets of faction hubs
Missing data:
- If you find any subzones that have quest hubs I've missed, I need the text from the minimap in ENGLISH, your basic faction (Horde or Alliance), and the proper faction in ENGLISH to match. To get the instanceIDs for me: when you enter an instance that is missing a reputation or is incorrect, type into chat
/rdump select(8, GetInstanceInfo())
and send me the number printed to chat. - Some retail maps are "recycled" depending on the phase you are, like Vale of Eternal Blossoms. To get the correct UiMapID, I need data from
/dump WorldMapFrame:GetMapID()
please and thank you.
Open the options:
/rbz
/repbyzone
ESC, Interface, AddOns, RepByZone
Translate:
RepByZone has its own translations and LibAboutPanel-2.0's localizations.
Known Issues:
- In some rare cases, characters have not learned their racial or class reputation because they have not interacted with an NPC from that faction. This causes the Default Watched Reputation menu to have nothing selected. For example, my Rogue has never interacted with Ravenholdt. I could go down the rabbit hole and provide workarounds, but upon testing, this proved to be a bad idea. Please check this menu when you first log into a character, and if required, select a Default Watched Reputation if you wish. Not selecting one will do no harm, and once your character learns the reputation, RepByZone will fix itself.
- It is not possible to display zone or subzone data for reputations the character has not yet discovered. Examples would be Gurubashi Arena and Bloodsail Buccaneers faction, or Arathi Highlands and Wildhammer Clan faction. Once a character gains or loses any amount of reputation with that faction and moves around the zone, RBZ will update. Discovering the faction may require the character to explore other zones or even continents.
Currently getting the following LUA errors on BC Classic:
1x RepByZone\Core-Retail.lua:342: attempt to index global 'C_Covenants' (a nil value)
[string "@RepByZone\Core-Retail.lua"]:342: in function `CovenantToFactionID'
[string "@RepByZone\Core-Retail.lua"]:347: in function `GetCovenantRep'
[string "@RepByZone\Core-Retail.lua"]:331: in function `?'
[string "@alaTradeSkill\libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:119: in function <...ill\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>
[string "=[C]"]: ?
[string "@alaTradeSkill\libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:29: in function <...ill\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:25>
[string "@alaTradeSkill\libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:64: in function `Fire'
[string "@Dominos\libs\AceEvent-3.0\AceEvent-3.0-4.lua"]:120: in function <...ceDominos\libs\AceEvent-3.0\AceEvent-3.0.lua:119>
In reply to DomDashSix:
Odd. I tested on BCC last night. I'll look into what could be the cause, thanks.
In reply to DomDashSix:
I have checked with Burning Crusade Classic. I do not get that error. You have installed the retail version of RepByZone. You need to install the BCC version of RepByZone. The error you posted refers to retail code, which does not exist in either the Classic or BCC versions of the addon.
Update your copy RepByZone to 1.2.1 for the correct game version you play.
In reply to Sygon_Paul:
Hmm, I am not sure how that happened but I have been using 1.2.1 now for the past day or so and seems like everything is working well again. I had previously updated it before and tried to use that version, perhaps I did something wrong. Either way, thanks again!
In reply to Sygon_Paul:
You may have done nothing wrong. I was having packaging (making zips for downloads) issues.
Something is really broken with your packaging. The retail version is currently being shipped to BCC, causing serial Lua errors.
In reply to gallantron:
I am aware. I think I've got it fixed, and am testing. It looks good in alpha builds. Once I am certain, I'll tag release builds.
On retail with 1.20.5:
Date: 2022-01-27 00:51:44
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\RepByZone\Core-Retail.lua line 546:
bad argument #1 to 'format' (string expected, got nil)
Debug:
[string "=(tail call)"]: ?
[string "=[C]"]: format()
[string "@RepByZone\Core-Retail.lua"]:546: SwitchedZones()
[string "@RepByZone\Core-Retail.lua"]:337: ?()
[string "@AskMrRobot\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua"]:145:
...bot\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:145
[string "safecall Dispatcher[3]"]:4:
[string "safecall Dispatcher[3]"]:4
[string "=[C]"]: ?
[string "safecall Dispatcher[3]"]:13: ?()
[string "@AskMrRobot\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua"]:90: Fire()
[string "@AskMrRobot\Libs\AceEvent-3.0\AceEvent-3.0.lua"]:120:
...AddOns\AskMrRobot\Libs\AceEvent-3.0\AceEvent-3.0.lua:119
Locals:
None
BlizRuntimeLib_enUS v9.1.5.90105 <none>
(ck=1098)
In reply to Nechckn:
I will check that out, thanks.
In reply to Sygon_Paul:
Your changed fixed the initial on-load error but when zoning into torghast, queen's conservatory, and such, you get:
Date: 2022-02-07 15:27:08
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\RepByZone\Core-Retail.lua line 498:
Usage: local info = C_Map.GetMapInfo(uiMapID)
Debug:
[string "=(tail call)"]: ?
[string "=[C]"]: GetMapInfo()
[string "@RepByZone\Core-Retail.lua"]:498: SwitchedZones()
[string "@RepByZone\Core-Retail.lua"]:337: ?()
[string "@AskMrRobot\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua"]:145:
...bot\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:145
[string "safecall Dispatcher[3]"]:4:
[string "safecall Dispatcher[3]"]:4
[string "=[C]"]: ?
[string "safecall Dispatcher[3]"]:13: ?()
[string "@AskMrRobot\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua"]:90: Fire()
[string "@AskMrRobot\Libs\AceEvent-3.0\AceEvent-3.0.lua"]:120:
...AddOns\AskMrRobot\Libs\AceEvent-3.0\AceEvent-3.0.lua:119
Locals:
None
BlizRuntimeLib_enUS v9.1.5.90105 <none>
(ck=10c7)
In reply to Nechckn:
I had typos in the Classic/SoM and BCC versions. Also, I put in a check to see if the uiMapID was valid before switching the rep bar. That's in 1.20.7.
In the future, would you please post in the Issues section? Putting bug reports in the comments section is creating clutter :(
In reply to Sygon_Paul:
Great - will do!
In reply to Nechckn:
Thank you. Did 1.20.7 fix the issue? I can't trigger the error anymore.
In reply to Sygon_Paul:
Looks like you did it. Cheers!
Unfortunately for me, it's not working in dungeons.. every time i went into a dungeon it selects maghar rep and I need to change i myself...
In reply to susamon23:
I haven't finished adding all of the zones, subzones, and dungeons. RepByZone is working, but incomplete. I was working on another addon, but will return to RBZ soon.
Every time I think I've fixed an error, another one seems to crop up. The main issue stems from when Blizzard provides access to the faction data that players know. I keep delaying when I am accessing it, but I've run out of options. That said, I am not giving up, because I know it can be done. I just have to work around Blizzard's incompetent design.
For example, you can get data about reputations almost as early in the load process as possible, but you cannot get that same data about the reputations a player character knows until near the end of the load process. This causes a mismatch because of when zone data and where the player character is during login doesn't mesh with what the UI displays, or knows.
One of the few options left to me is to artificially delay setting the watched faction by a second or two after the players logs in or enters a zone or subzone. I'm looking into that as a possibility.
In other words, except when I actually write a bug into the code (and I have, see 1.19.5 as proof that I don't catch all of my bugs), most of the problems are Blizzard not knowing how to write code logically.
Anyway, I'm spinning a lot of plates here, but I haven't given up. I wanted this addon, so I'll hammer at it until it works, one way or another.
In reply to Sygon_Paul:
Incidentally, if the player character knows a faction that I associate with a zone, there doesn't seem to be any errors or issues. It's only when a player hasn't discovered a faction that I get "comparing number with nil" type of errors, which I try to address by assigning backup, racial, reputations, but I haven't always been successful. This is because I added support for class-based reputations, which the player character may or may not know.
One solution is to remove support for class-based reputations, or default to basic factions like Stormwind, Orgrimmar, etc, which all characters know. Both of those ideas are on the table, but that does force removal of a feature just to resolve Blizzard's weird code.
Message: Interface\AddOns\RepByZone\Core-BCC.lua:120: Usage: GetFactionInfoByID(id)
Time: Mon Jun 7 12:38:12 2021
Count: 1
Stack: Interface\AddOns\RepByZone\Core-BCC.lua:120: Usage: GetFactionInfoByID(id)
[string "=[C]"]: in function `GetFactionInfoByID'
[string "@Interface\AddOns\RepByZone\Core-BCC.lua"]:120: in function <Interface\AddOns\RepByZone\Core-BCC.lua:116>
[string "=[C]"]: ?
[string "@Interface\AddOns\Attune\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:70: in function <...ace\AddOns\Attune\Libs\AceAddon-3.0\AceAddon-3.0.lua:65>
[string "@Interface\AddOns\Attune\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:527: in function `EnableAddon'
[string "@Interface\AddOns\Attune\Libs\AceAddon-3.0\AceAddon-3.0.lua"]:630: in function <...ace\AddOns\Attune\Libs\AceAddon-3.0\AceAddon-3.0.lua:615>
Locals: <none>
I have the BCC thing fixed on my end, but Curseforge is crashing today, preventing an upload. You can edit your Core-BCC.lua and Core-Classic.lua files and remove this line in function RepByZone:OnEnable()
self.covenantRepID = self:CovenantToFactionID()
And that will fix the issue until Curseforge is working again. It was a copy and paste error on my behalf. RBZ 1.19.6 will have the fix, whenever I can upload to Curseforge.