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,21 +24,14 @@ 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 )) {
{ return;
if (sConfigMgr->GetOption<bool>("Leech.Debug", false)) }
LOG_DEBUG("module", "mod-leech: blocked (missing item {})", requiredItem); }
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()))
{ {
return; return;