Core/Misc: Add default count param to HasItemCount

This commit is contained in:
Spp
2012-10-23 13:11:57 +02:00
parent 1ff5b83657
commit 663db1cee3
18 changed files with 51 additions and 52 deletions
+2 -2
View File
@@ -493,10 +493,10 @@ void LFGMgr::InitializeLockedDungeons(Player* player, uint8 level /* = 0 */)
else
if (ar->item)
{
if (!player->HasItemCount(ar->item, 1) && (!ar->item2 || !player->HasItemCount(ar->item2, 1)))
if (!player->HasItemCount(ar->item) && (!ar->item2 || !player->HasItemCount(ar->item2)))
lockData = LFG_LOCKSTATUS_MISSING_ITEM;
}
else if (ar->item2 && !player->HasItemCount(ar->item2, 1))
else if (ar->item2 && !player->HasItemCount(ar->item2))
lockData = LFG_LOCKSTATUS_MISSING_ITEM;
}
+4 -4
View File
@@ -18426,11 +18426,11 @@ bool Player::Satisfy(AccessRequirement const* ar, uint32 target_map, bool report
uint32 missingItem = 0;
if (ar->item)
{
if (!HasItemCount(ar->item, 1) &&
(!ar->item2 || !HasItemCount(ar->item2, 1)))
if (!HasItemCount(ar->item) &&
(!ar->item2 || !HasItemCount(ar->item2)))
missingItem = ar->item;
}
else if (ar->item2 && !HasItemCount(ar->item2, 1))
else if (ar->item2 && !HasItemCount(ar->item2))
missingItem = ar->item2;
if (DisableMgr::IsDisabledFor(DISABLE_TYPE_MAP, target_map, this))
@@ -22909,7 +22909,7 @@ uint32 Player::GetResurrectionSpellId()
}
// Reincarnation (passive spell) // prio: 1 // Glyph of Renewed Life
if (prio < 1 && HasSpell(20608) && !HasSpellCooldown(21169) && (HasAura(58059) || HasItemCount(17030, 1)))
if (prio < 1 && HasSpell(20608) && !HasSpellCooldown(21169) && (HasAura(58059) || HasItemCount(17030)))
spell_id = 21169;
return spell_id;
+1 -2
View File
@@ -1239,7 +1239,7 @@ class Player : public Unit, public GridObject<Player>
bool IsValidPos(uint8 bag, uint8 slot, bool explicit_pos);
uint8 GetBankBagSlotCount() const { return GetByteValue(PLAYER_BYTES_2, 2); }
void SetBankBagSlotCount(uint8 count) { SetByteValue(PLAYER_BYTES_2, 2, count); }
bool HasItemCount(uint32 item, uint32 count, bool inBankAlso = false) const;
bool HasItemCount(uint32 item, uint32 count = 1, bool inBankAlso = false) const;
bool HasItemFitToSpellRequirements(SpellInfo const* spellInfo, Item const* ignoreItem = NULL);
bool CanNoReagentCast(SpellInfo const* spellInfo) const;
bool HasItemOrGemWithIdEquipped(uint32 item, uint32 count, uint8 except_slot = NULL_SLOT) const;
@@ -1256,7 +1256,6 @@ class Player : public Unit, public GridObject<Player>
return EQUIP_ERR_ITEM_NOT_FOUND;
uint32 count = pItem->GetCount();
return CanStoreItem(bag, slot, dest, pItem->GetEntry(), count, pItem, swap, NULL);
}
InventoryResult CanStoreItems(Item** pItem, int count) const;
InventoryResult CanEquipNewItem(uint8 slot, uint16& dest, uint32 item, bool swap) const;
+5 -5
View File
@@ -5846,7 +5846,7 @@ SpellCastResult Spell::CheckItems()
else
{
uint32 itemid = m_CastItem->GetEntry();
if (!p_caster->HasItemCount(itemid, 1))
if (!p_caster->HasItemCount(itemid))
return SPELL_FAILED_ITEM_NOT_READY;
ItemTemplate const* proto = m_CastItem->GetTemplate();
@@ -5998,7 +5998,7 @@ SpellCastResult Spell::CheckItems()
{
if (m_spellInfo->Totem[i] != 0)
{
if (p_caster->HasItemCount(m_spellInfo->Totem[i], 1))
if (p_caster->HasItemCount(m_spellInfo->Totem[i]))
{
totems -= 1;
continue;
@@ -6053,7 +6053,7 @@ SpellCastResult Spell::CheckItems()
{
if (!(m_spellInfo->SpellFamilyName == SPELLFAMILY_MAGE && (m_spellInfo->SpellFamilyFlags[0] & 0x40000000)))
return SPELL_FAILED_TOO_MANY_OF_ITEM;
else if (!(p_caster->HasItemCount(m_spellInfo->Effects[i].ItemType, 1)))
else if (!(p_caster->HasItemCount(m_spellInfo->Effects[i].ItemType)))
return SPELL_FAILED_TOO_MANY_OF_ITEM;
else
p_caster->CastSpell(m_caster, m_spellInfo->Effects[EFFECT_1].CalcValue(), false); // move this to anywhere
@@ -6232,7 +6232,7 @@ SpellCastResult Spell::CheckItems()
case ITEM_SUBCLASS_WEAPON_THROWN:
{
uint32 ammo = pItem->GetEntry();
if (!m_caster->ToPlayer()->HasItemCount(ammo, 1))
if (!m_caster->ToPlayer()->HasItemCount(ammo))
return SPELL_FAILED_NO_AMMO;
};
break;
@@ -6273,7 +6273,7 @@ SpellCastResult Spell::CheckItems()
return SPELL_FAILED_NO_AMMO;
}
if (!m_caster->ToPlayer()->HasItemCount(ammo, 1))
if (!m_caster->ToPlayer()->HasItemCount(ammo))
{
m_caster->ToPlayer()->SetUInt32Value(PLAYER_AMMO_ID, 0);
return SPELL_FAILED_NO_AMMO;
+1 -1
View File
@@ -1778,7 +1778,7 @@ void Spell::EffectCreateItem2(SpellEffIndex effIndex)
{
if (item_id)
{
if (!player->HasItemCount(item_id, 1))
if (!player->HasItemCount(item_id))
return;
// remove reagent
@@ -546,7 +546,7 @@ public:
if (player->GetQuestRewardStatus(QUEST_A_BINDING_CONTRACT) != 1 &&
!player->HasItemCount(ITEM_THRORIUM_BROTHERHOOD_CONTRACT, 1, true) &&
player->HasItemCount(ITEM_SULFURON_INGOT, 1))
player->HasItemCount(ITEM_SULFURON_INGOT))
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GET_CONTRACT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
}
@@ -60,7 +60,7 @@ public:
bool OnGossipHello(Player* player, Creature* creature)
{
if (player->GetQuestStatus(3628) == QUEST_STATUS_INCOMPLETE && player->HasItemCount(10757, 1))
if (player->GetQuestStatus(3628) == QUEST_STATUS_INCOMPLETE && player->HasItemCount(10757))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_USHER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
@@ -236,7 +236,7 @@ public:
uint32 AzgalorEvent = ai->GetInstanceData(DATA_AZGALOREVENT);
// Only let them get item if Azgalor is dead.
if (AzgalorEvent == DONE && !player->HasItemCount(ITEM_TEAR_OF_GODDESS, 1))
if (AzgalorEvent == DONE && !player->HasItemCount(ITEM_TEAR_OF_GODDESS))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TYRANDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(907, creature->GetGUID());
return true;
@@ -388,13 +388,13 @@ public:
if (creature->isQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
if (player->GetQuestStatus(QUEST_OPENING_PORTAL) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(ITEM_CHRONO_BEACON, 1))
if (player->GetQuestStatus(QUEST_OPENING_PORTAL) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(ITEM_CHRONO_BEACON))
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_OBTAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(10000, creature->GetGUID());
return true;
}
else if (player->GetQuestRewardStatus(QUEST_OPENING_PORTAL) && !player->HasItemCount(ITEM_CHRONO_BEACON, 1))
else if (player->GetQuestRewardStatus(QUEST_OPENING_PORTAL) && !player->HasItemCount(ITEM_CHRONO_BEACON))
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_OBTAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(10001, creature->GetGUID());
@@ -79,7 +79,7 @@ public:
player->PrepareQuestMenu(creature->GetGUID());
InstanceScript* instance = creature->GetInstanceScript();
if (instance && instance->GetData(TYPE_BARREL_DIVERSION) != DONE && !player->HasItemCount(ITEM_ENTRY_BOMBS, 1))
if (instance && instance->GetData(TYPE_BARREL_DIVERSION) != DONE && !player->HasItemCount(ITEM_ENTRY_BOMBS))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_EROZION1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
if (player->GetQuestStatus(QUEST_ENTRY_RETURN) == QUEST_STATUS_COMPLETE)
+12 -12
View File
@@ -1289,37 +1289,37 @@ class go_wind_stone : public GameObjectScript
{
case TEMPLAR:
{
if (player->HasItemCount(ITEM_TEMPLAR_FIRE, 1))
if (player->HasItemCount(ITEM_TEMPLAR_FIRE))
result |= FIRE;
if (player->HasItemCount(ITEM_TEMPLAR_WATER, 1))
if (player->HasItemCount(ITEM_TEMPLAR_WATER))
result |= WATER;
if (player->HasItemCount(ITEM_TEMPLAR_EARTH, 1))
if (player->HasItemCount(ITEM_TEMPLAR_EARTH))
result |= EARTH;
if (player->HasItemCount(ITEM_TEMPLAR_AIR, 1))
if (player->HasItemCount(ITEM_TEMPLAR_AIR))
result |= AIR;
break;
}
case DUKE:
{
if (player->HasItemCount(ITEM_DUKE_FIRE, 1))
if (player->HasItemCount(ITEM_DUKE_FIRE))
result |= FIRE;
if (player->HasItemCount(ITEM_DUKE_WATER, 1))
if (player->HasItemCount(ITEM_DUKE_WATER))
result |= WATER;
if (player->HasItemCount(ITEM_DUKE_EARTH, 1))
if (player->HasItemCount(ITEM_DUKE_EARTH))
result |= EARTH;
if (player->HasItemCount(ITEM_DUKE_AIR, 1))
if (player->HasItemCount(ITEM_DUKE_AIR))
result |= AIR;
break;
}
case ROYAL:
{
if (player->HasItemCount(ITEM_ROYAL_FIRE, 1))
if (player->HasItemCount(ITEM_ROYAL_FIRE))
result |= FIRE;
if (player->HasItemCount(ITEM_ROYAL_WATER, 1))
if (player->HasItemCount(ITEM_ROYAL_WATER))
result |= WATER;
if (player->HasItemCount(ITEM_ROYAL_EARTH, 1))
if (player->HasItemCount(ITEM_ROYAL_EARTH))
result |= EARTH;
if (player->HasItemCount(ITEM_ROYAL_AIR, 1))
if (player->HasItemCount(ITEM_ROYAL_AIR))
result |= AIR;
break;
}
@@ -32,7 +32,7 @@
#define GOSSIP_ITEM_ETERNOS1 "I want to fly on the wings of the Bronze Flight"
#define GOSSIP_ITEM_ETERNOS2 "What abilities do Amber Drakes have?"
#define HAS_ESSENCE(a) ((a)->HasItemCount(ITEM_EMERALD_ESSENCE, 1) || (a)->HasItemCount(ITEM_AMBER_ESSENCE, 1) || (a)->HasItemCount(ITEM_RUBY_ESSENCE, 1))
#define HAS_ESSENCE(a) ((a)->HasItemCount(ITEM_EMERALD_ESSENCE) || (a)->HasItemCount(ITEM_AMBER_ESSENCE) || (a)->HasItemCount(ITEM_RUBY_ESSENCE))
enum GossipNPCs
{
@@ -978,7 +978,7 @@ class go_celestial_planetarium_access : public GameObjectScript
if (!lock->Index[i])
continue;
if (player->HasItemCount(lock->Index[i], 1))
if (player->HasItemCount(lock->Index[i]))
{
hasKey = true;
break;
+5 -5
View File
@@ -323,22 +323,22 @@ public:
{
case 3726: //b'naar
if ((player->GetQuestStatus(10299) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10329) == QUEST_STATUS_INCOMPLETE) &&
player->HasItemCount(29366, 1))
player->HasItemCount(29366))
manaforge = player->SummonCreature(ENTRY_BNAAR_C_CONSOLE, 2918.95f, 4189.98f, 161.88f, 0.34f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 125000);
break;
case 3730: //coruu
if ((player->GetQuestStatus(10321) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10330) == QUEST_STATUS_INCOMPLETE) &&
player->HasItemCount(29396, 1))
player->HasItemCount(29396))
manaforge = player->SummonCreature(ENTRY_CORUU_C_CONSOLE, 2426.77f, 2750.38f, 133.24f, 2.14f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 125000);
break;
case 3734: //duro
if ((player->GetQuestStatus(10322) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10338) == QUEST_STATUS_INCOMPLETE) &&
player->HasItemCount(29397, 1))
player->HasItemCount(29397))
manaforge = player->SummonCreature(ENTRY_DURO_C_CONSOLE, 2976.48f, 2183.29f, 163.20f, 1.85f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 125000);
break;
case 3722: //ara
if ((player->GetQuestStatus(10323) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10365) == QUEST_STATUS_INCOMPLETE) &&
player->HasItemCount(29411, 1))
player->HasItemCount(29411))
manaforge = player->SummonCreature(ENTRY_ARA_C_CONSOLE, 4013.71f, 4028.76f, 192.10f, 1.25f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 125000);
break;
}
@@ -704,7 +704,7 @@ public:
if (creature->isQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
if (player->GetQuestStatus(QUEST_ON_NETHERY_WINGS) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(29778, 1))
if (player->GetQuestStatus(QUEST_ON_NETHERY_WINGS) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(29778))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
+1 -1
View File
@@ -249,7 +249,7 @@ public:
break;
case GOSSIP_ACTION_INFO_DEF + 2:
{
if (!player->HasItemCount(24573, 1))
if (!player->HasItemCount(24573))
{
ItemPosCountVec dest;
uint32 itemId = 24573;
+9 -9
View File
@@ -677,28 +677,28 @@ public:
switch (go->GetEntry())
{
case MATRIX_PUNCHOGRAPH_3005_A:
if (player->HasItemCount(ITEM_WHITE_PUNCH_CARD, 1))
if (player->HasItemCount(ITEM_WHITE_PUNCH_CARD))
{
player->DestroyItemCount(ITEM_WHITE_PUNCH_CARD, 1, true);
player->CastSpell(player, SPELL_YELLOW_PUNCH_CARD, true);
}
break;
case MATRIX_PUNCHOGRAPH_3005_B:
if (player->HasItemCount(ITEM_YELLOW_PUNCH_CARD, 1))
if (player->HasItemCount(ITEM_YELLOW_PUNCH_CARD))
{
player->DestroyItemCount(ITEM_YELLOW_PUNCH_CARD, 1, true);
player->CastSpell(player, SPELL_BLUE_PUNCH_CARD, true);
}
break;
case MATRIX_PUNCHOGRAPH_3005_C:
if (player->HasItemCount(ITEM_BLUE_PUNCH_CARD, 1))
if (player->HasItemCount(ITEM_BLUE_PUNCH_CARD))
{
player->DestroyItemCount(ITEM_BLUE_PUNCH_CARD, 1, true);
player->CastSpell(player, SPELL_RED_PUNCH_CARD, true);
}
break;
case MATRIX_PUNCHOGRAPH_3005_D:
if (player->HasItemCount(ITEM_RED_PUNCH_CARD, 1))
if (player->HasItemCount(ITEM_RED_PUNCH_CARD))
{
player->DestroyItemCount(ITEM_RED_PUNCH_CARD, 1, true);
player->CastSpell(player, SPELL_PRISMATIC_PUNCH_CARD, true);
@@ -884,7 +884,7 @@ public:
bool OnGossipHello(Player* player, GameObject* /*go*/)
{
if (player->HasItemCount(ITEM_CUERGOS_KEY, 1))
if (player->HasItemCount(ITEM_CUERGOS_KEY))
return false;
player->CastSpell(player, SPELL_SUMMON_PIRATES_TREASURE_AND_TRIGGER_MOB, true);
@@ -910,7 +910,7 @@ public:
bool OnGossipHello(Player* player, GameObject* go)
{
if (!player->HasItemCount(ITEM_TELEPORTER_POWER_PACK, 1))
if (!player->HasItemCount(ITEM_TELEPORTER_POWER_PACK))
return false;
go->SummonCreature(NPC_IMAGE_WIND_TRADER, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), go->GetAngle(player), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
@@ -998,7 +998,7 @@ class go_soulwell : public GameObjectScript
return true;
// Don't try to add a stone if we already have one.
if (player->HasItemCount(_stoneId, 1))
if (player->HasItemCount(_stoneId))
{
if (SpellInfo const* spell = sSpellMgr->GetSpellInfo(_stoneSpell))
Spell::SendCastResult(player, spell, 0, SPELL_FAILED_TOO_MANY_OF_ITEM);
@@ -1007,7 +1007,7 @@ class go_soulwell : public GameObjectScript
owner->CastSpell(player, _stoneSpell, true);
// Item has to actually be created to remove a charge on the well.
if (player->HasItemCount(_stoneId, 1))
if (player->HasItemCount(_stoneId))
go->AddUse();
return false;
@@ -1158,7 +1158,7 @@ public:
go->CastSpell(target, SPELL_INDISPOSED_III);
}
go->CastSpell(player, SPELL_INDISPOSED);
if (player->HasItemCount(ITEM_ANDERHOLS_SLIDER_CIDER, 1))
if (player->HasItemCount(ITEM_ANDERHOLS_SLIDER_CIDER))
go->CastSpell(player, SPELL_CREATE_AMBERSEEDS);
return true;
}
+2 -2
View File
@@ -77,7 +77,7 @@ public:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SUSURRUS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
break;
case 20903: // Netherstorm - Protectorate Nether Drake
if (player->GetQuestStatus(10438) == QUEST_STATUS_INCOMPLETE && player->HasItemCount(29778, 1))
if (player->GetQuestStatus(10438) == QUEST_STATUS_INCOMPLETE && player->HasItemCount(29778))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_NETHER_DRAKE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
break;
case 18725: // Old Hillsbrad Foothills - Brazen
@@ -203,7 +203,7 @@ public:
player->ActivateTaxiPathTo(627); //TaxiPath 627 (possibly 627+628(152->153->154->155))
break;
case GOSSIP_ACTION_INFO_DEF + 2:
if (!player->HasItemCount(25853, 1))
if (!player->HasItemCount(25853))
player->SEND_GOSSIP_MENU(9780, creature->GetGUID());
else
{
+1 -1
View File
@@ -1268,7 +1268,7 @@ public:
if (player->GetSpecsCount() == 1 && creature->isCanTrainingAndResetTalentsOf(player) && player->getLevel() >= sWorld->getIntConfig(CONFIG_MIN_DUALSPEC_LEVEL))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_HELLO_ROGUE3, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_LEARNDUALSPEC);
if (player->getClass() == CLASS_ROGUE && player->getLevel() >= 24 && !player->HasItemCount(17126, 1) && !player->GetQuestRewardStatus(6681))
if (player->getClass() == CLASS_ROGUE && player->getLevel() >= 24 && !player->HasItemCount(17126) && !player->GetQuestRewardStatus(6681))
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_ROGUE2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->SEND_GOSSIP_MENU(5996, creature->GetGUID());