bool Player::requiredQuests(const char* pQuestIdString) { if (pQuestIdString != nullptr) { unsigned int pos = 0; unsigned int id; std::string confString(pQuestIdString); chompAndTrim(confString); while (getNextQuestId(confString, pos, id)) { QuestStatus status = GetQuestStatus(id); if (status == QUEST_STATUS_COMPLETE) return true; } } return false; }
void HandleDummy(SpellEffIndex /*effIndex*/) { auto target = GetHitUnit(); if (!target || target->GetTypeId() != TYPEID_PLAYER) return; auto player = GetCaster()->ToPlayer(); if (player->GetQuestStatus(29951) == QUEST_STATUS_INCOMPLETE) { if (!player->HasAura(106284)) { player->MonsterTextEmote("Mudmug's vial will slowly spill water while you are moving. Plan your path carefully!", player->GetGUID() , true); player->CastSpell(player, 106284, true); } else player->CastSpell(player, 106294, true); if (player->GetPower(POWER_ALTERNATE_POWER) == 100) { player->AddItem(76356, 1); player->RemoveAurasDueToSpell(106284); } } }