fix(Core/Spells): Forward core changes (#8841)

This commit is contained in:
acidmanifesto
2021-12-09 22:24:16 +01:00
committed by GitHub
parent 0300cef119
commit 85d2c39a48
14 changed files with 233 additions and 140 deletions

View File

@@ -1820,7 +1820,7 @@ void Player::UpdateTriggerVisibility()
GetSession()->SendPacket(&packet);
}
void Player::UpdateForQuestWorldObjects()
void Player::UpdateVisibleGameobjectsOrSpellClicks()
{
if (m_clientGUIDs.empty())
return;
@@ -1847,19 +1847,9 @@ void Player::UpdateForQuestWorldObjects()
SpellClickInfoMapBounds clickPair = sObjectMgr->GetSpellClickInfoMapBounds(obj->GetEntry());
for (SpellClickInfoContainer::const_iterator _itr = clickPair.first; _itr != clickPair.second; ++_itr)
{
//! This code doesn't look right, but it was logically converted to condition system to do the exact
//! same thing it did before. It definitely needs to be overlooked for intended functionality.
ConditionList conds = sConditionMgr->GetConditionsForSpellClickEvent(obj->GetEntry(), _itr->second.spellId);
bool buildUpdateBlock = false;
for (ConditionList::const_iterator jtr = conds.begin(); jtr != conds.end() && !buildUpdateBlock; ++jtr)
if ((*jtr)->ConditionType == CONDITION_QUESTREWARDED || (*jtr)->ConditionType == CONDITION_QUESTTAKEN)
buildUpdateBlock = true;
if (buildUpdateBlock)
{
obj->BuildValuesUpdateBlockForPlayer(&udata, this);
break;
}
obj->BuildValuesUpdateBlockForPlayer(&udata, this);
break;
}
}
}