Subject: | Croak in search_character for low level characters |
For reference the issue is with Kundari of Gorgonnash, L17 US server.
The API croaks during a ->search_character(). Specifically, in the
get_heroic_access subcall.
Line 482, 'Can't use string ("Alliance") as a HASH ref while "strict
refs" in use at cpan/lib/Games/WoW/Armory.pm line 482.'
The module appears to be attempting to de-referencing the character-
Show quoted text
>reputation->{$rep}->{$fac}->{'faction'} when $rep is pointing to a
scalar, and not a hash-ref. Examination of other successful searches,
indicates the data structure isn't being built properly.
A working character's data structure is :
{
reputation => {
factionCategory => {
"$FactionGroupName1" => { ... },
"$FactionGroupName2" => { ... },
etc.
}
},
}
The invalid case that I'm running into looks more like:
{
reputation => {
factionCategory => {
name => 'Alliance',
faction => { ... },
key => 'alliance',
}
},
}
Essentially, in the first (working) example, there is an Alliance
faction *group* and it is properly formed in a sub-hash, in the non-
working case, this Alliance faction is at the root of the
factionCategory hash structure.
The problem appears to be that the armory does not list the factions in
groups if the player has yet to run into a faction that is not of their
main group, ie Alliance/Horde. This makes sense given that this
character is only lvl 17 and hasn't battleground or performed any
goblinesque quests.
A solution might be just to hack on a group name if there is no listed
group name, as there should only be two cases, Alliance or Horde.
Dumper output of the entire WoW::Armory object just before the
get_heroic_access() call is attached.
Thanks for your time.
Subject: | dumper_kudari_gorgonnash_us_20071028.txt |
Message body is not shown because it is too large.