Attempting more simplified item check

This commit is contained in:
Flerp 2025-11-04 18:00:35 -08:00
parent b26156d05e
commit fb88182e52

View File

@ -24,20 +24,13 @@ public:
Player* player = isPet ? attacker->GetOwner()->ToPlayer() : attacker->ToPlayer(); Player* player = isPet ? attacker->GetOwner()->ToPlayer() : attacker->ToPlayer();
int32 requiredItemSigned = sConfigMgr->GetOption<int32>("Leech.RequiredItemId", 0); uint32 requiredItem = sConfigMgr->GetOption<uint32>("Leech.RequiredItemId", 0u);
if (requiredItemSigned > 0) if (requiredItem != 0)
{ {
uint32 requiredItem = uint32(requiredItemSigned); if (!player || !player->HasItemCount(requiredItem, 1, false ))
if (!player || !player->HasItemCount(requiredItem, 1, false , false , true ))
{ {
if (sConfigMgr->GetOption<bool>("Leech.Debug", false))
LOG_DEBUG("module", "mod-leech: blocked (missing item {})", requiredItem);
return; return;
} }
else if (sConfigMgr->GetOption<bool>("Leech.Debug", false))
{
LOG_DEBUG("module", "mod-leech: allowed (has item {})", requiredItem);
}
} }
if (sConfigMgr->GetOption<bool>("Leech.DungeonsOnly", true) && !(player->GetMap()->IsDungeon())) if (sConfigMgr->GetOption<bool>("Leech.DungeonsOnly", true) && !(player->GetMap()->IsDungeon()))
{ {