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