void StructurePermissionList::migrateLists(ZoneServer* zoneServer, uint64 ownerObjectID) { Locker locker(&lock); ManagedReference<GuildManager*> guildManager = zoneServer->getGuildManager(); ManagedReference<PlayerManager*> playerManager = zoneServer->getPlayerManager(); for (int i = 0; i < permissionLists.size(); i++) { String listName = permissionLists.elementAt(i).getKey(); addList(listName); SortedVector<String>* list = &permissionLists.get(i); for (int j = 0; j < list->size(); j++) { String name = list->get(j); if (name.beginsWith("guild:")) { String abbrev = name.replaceAll("guild:",""); if (abbrev == "" || !guildManager->guildAbbrevExists(abbrev)) { continue; } ManagedReference<GuildObject*> guild = guildManager->getGuildFromAbbrev(abbrev); if (guild == NULL) { continue; } grantPermission(listName, guild->getObjectID()); } else { if (!playerManager->existsName(name)) { continue; } ManagedReference<CreatureObject*> player = playerManager->getPlayer(name); if (player == NULL || !player->isPlayerCreature()) { continue; } grantPermission(listName, player->getObjectID()); } } } ownerID = ownerObjectID; permissionLists.removeAll(); }