feat(Core/Scripting): Implement OnAllowedForPlayerLootCheck() hook (#12316)

* feat(Core/Scripting): Implement OnAllowedForPlayerLootCheck() hook

* reverse logic
This commit is contained in:
Skjalf
2022-07-09 00:10:04 -03:00
committed by GitHub
parent 5dec721a71
commit 32ba21d029
9 changed files with 47 additions and 18 deletions

View File

@@ -1015,7 +1015,7 @@ void Group::GroupLoot(Loot* loot, WorldObject* pLootedObject)
continue;
if (member->IsAtLootRewardDistance(pLootedObject))
{
if (i->AllowedForPlayer(member))
if (i->AllowedForPlayer(member, loot->sourceWorldObjectGUID))
{
r->totalPlayersRolling++;
@@ -1099,7 +1099,7 @@ void Group::GroupLoot(Loot* loot, WorldObject* pLootedObject)
if (member->IsAtLootRewardDistance(pLootedObject))
{
if (i->AllowedForPlayer(member))
if (i->AllowedForPlayer(member, loot->sourceWorldObjectGUID))
{
r->totalPlayersRolling++;
r->playerVote[member->GetGUID()] = NOT_EMITED_YET;
@@ -1157,7 +1157,7 @@ void Group::NeedBeforeGreed(Loot* loot, WorldObject* lootedObject)
if (!playerToRoll)
continue;
if (i->AllowedForPlayer(playerToRoll) && playerToRoll->IsAtLootRewardDistance(lootedObject))
if (i->AllowedForPlayer(playerToRoll, loot->sourceWorldObjectGUID) && playerToRoll->IsAtLootRewardDistance(lootedObject))
{
r->totalPlayersRolling++;
if (playerToRoll->GetPassOnGroupLoot())
@@ -1231,7 +1231,7 @@ void Group::NeedBeforeGreed(Loot* loot, WorldObject* lootedObject)
if (!playerToRoll)
continue;
if (i->AllowedForPlayer(playerToRoll) && playerToRoll->IsAtLootRewardDistance(lootedObject))
if (i->AllowedForPlayer(playerToRoll, loot->sourceWorldObjectGUID) && playerToRoll->IsAtLootRewardDistance(lootedObject))
{
r->totalPlayersRolling++;
r->playerVote[playerToRoll->GetGUID()] = NOT_EMITED_YET;