mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-18 11:25:42 +00:00
fix(Core/Items): armor type requirement for needing items in LFG grou… (#7523)
- Closes #7467
This commit is contained in:
@@ -290,6 +290,70 @@ void WorldSession::HandleDestroyItemOpcode(WorldPacket& recvData)
|
||||
_player->DestroyItem(bag, slot, true);
|
||||
}
|
||||
|
||||
bool ItemTemplate::HasStat(ItemModType stat) const
|
||||
{
|
||||
for (uint8 i = 0; i < MAX_ITEM_PROTO_STATS; ++i)
|
||||
{
|
||||
if (i >= StatsCount)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (ItemStat[i].ItemStatType == stat)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ItemTemplate::HasSpellPowerStat() const
|
||||
{
|
||||
bool invalid = false;
|
||||
for (uint8 i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i)
|
||||
{
|
||||
_Spell const& spellData = Spells[i];
|
||||
if (!spellData.SpellId)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellData.SpellId);
|
||||
if (!spellInfo)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
for (uint8 j = EFFECT_0; j <= EFFECT_2; ++j)
|
||||
{
|
||||
switch (spellInfo->Effects[j].ApplyAuraName)
|
||||
{
|
||||
case SPELL_AURA_MOD_HEALING_DONE:
|
||||
case SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT:
|
||||
case SPELL_AURA_MOD_SPELL_HEALING_OF_ATTACK_POWER:
|
||||
case SPELL_AURA_MOD_HEALING:
|
||||
invalid = true;
|
||||
break;
|
||||
case SPELL_AURA_MOD_DAMAGE_DONE:
|
||||
case SPELL_AURA_MOD_SPELL_DAMAGE_OF_STAT_PERCENT:
|
||||
case SPELL_AURA_MOD_SPELL_DAMAGE_OF_ATTACK_POWER:
|
||||
case SPELL_AURA_MOD_DAMAGE_TAKEN:
|
||||
if (!(spellInfo->Effects[j].MiscValue & SPELL_SCHOOL_MASK_SPELL))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
invalid = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return invalid;
|
||||
}
|
||||
|
||||
void ItemTemplate::InitializeQueryData()
|
||||
{
|
||||
queryData.Initialize(SMSG_ITEM_QUERY_SINGLE_RESPONSE, 1);
|
||||
|
||||
Reference in New Issue
Block a user