//Attunement check RequiredQuest = 0; RequiredItem = 0; QuestCompleted = false; uint32 qmapid = GetId(); QueryResult* result = sDatabase.PQuery("SELECT `RequiredQuest`,`RequiredItem` FROM `instance_template` WHERE `map` = '%d'", qmapid); Field *fields = result->Fetch(); RequiredQuest = StrSplit(fields[0].GetString(), ";"); RequiredItem = fields[1].GetUInt32(); delete result; //Check for required quest for (int i = 0; i < RequiredQuest.size(); i++) { if (player->GetQuestRewardStatus(atoi(RequiredQuest[i]))) QuestCompleted = true; } if (!QuestCompleted && RequiredQuest != NULL && (!player->isGameMaster())) { player->GetSession()->SendAreaTriggerMessage("You are not attuned to %s.", GetMapName()); return(false); } //Check for required item if (!player->HasItemCount(RequiredItem, 1) && RequiredItem != 0 && (!player->isGameMaster())) { player->GetSession()->SendAreaTriggerMessage("You do not have the required key for this instance.", GetMapName()); return(false); }