mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-11-29 15:58:20 +08:00
Loot packet fix (#1190)
This commit is contained in:
@@ -29,9 +29,10 @@ bool LootAction::Execute(Event event)
|
|||||||
|
|
||||||
if (!prevLoot.IsEmpty() && prevLoot.guid != lootObject.guid)
|
if (!prevLoot.IsEmpty() && prevLoot.guid != lootObject.guid)
|
||||||
{
|
{
|
||||||
WorldPacket packet(CMSG_LOOT_RELEASE, 8);
|
WorldPacket* packet = new WorldPacket(CMSG_LOOT_RELEASE, 8);
|
||||||
packet << prevLoot.guid;
|
*packet << prevLoot.guid;
|
||||||
bot->GetSession()->HandleLootReleaseOpcode(packet);
|
bot->GetSession()->QueuePacket(packet);
|
||||||
|
// bot->GetSession()->HandleLootReleaseOpcode(packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
context->GetValue<LootObject>("loot target")->Set(lootObject);
|
context->GetValue<LootObject>("loot target")->Set(lootObject);
|
||||||
@@ -91,9 +92,10 @@ bool OpenLootAction::DoLoot(LootObject& lootObject)
|
|||||||
|
|
||||||
if (creature && creature->HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE))
|
if (creature && creature->HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE))
|
||||||
{
|
{
|
||||||
WorldPacket packet(CMSG_LOOT, 8);
|
WorldPacket* packet = new WorldPacket(CMSG_LOOT, 8);
|
||||||
packet << lootObject.guid;
|
*packet << lootObject.guid;
|
||||||
bot->GetSession()->HandleLootOpcode(packet);
|
bot->GetSession()->QueuePacket(packet);
|
||||||
|
// bot->GetSession()->HandleLootOpcode(packet);
|
||||||
botAI->SetNextCheckDelay(sPlayerbotAIConfig->lootDelay);
|
botAI->SetNextCheckDelay(sPlayerbotAIConfig->lootDelay);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -423,9 +425,10 @@ bool StoreLootAction::Execute(Event event)
|
|||||||
sGuildTaskMgr->CheckItemTask(itemid, itemcount, ref->GetSource(), bot);
|
sGuildTaskMgr->CheckItemTask(itemid, itemcount, ref->GetSource(), bot);
|
||||||
}
|
}
|
||||||
|
|
||||||
WorldPacket packet(CMSG_AUTOSTORE_LOOT_ITEM, 1);
|
WorldPacket* packet = new WorldPacket(CMSG_AUTOSTORE_LOOT_ITEM, 1);
|
||||||
packet << itemindex;
|
*packet << itemindex;
|
||||||
bot->GetSession()->HandleAutostoreLootItemOpcode(packet);
|
bot->GetSession()->QueuePacket(packet);
|
||||||
|
// bot->GetSession()->HandleAutostoreLootItemOpcode(packet);
|
||||||
botAI->SetNextCheckDelay(sPlayerbotAIConfig->lootDelay);
|
botAI->SetNextCheckDelay(sPlayerbotAIConfig->lootDelay);
|
||||||
|
|
||||||
if (proto->Quality > ITEM_QUALITY_NORMAL && !urand(0, 50) && botAI->HasStrategy("emote", BOT_STATE_NON_COMBAT) && sPlayerbotAIConfig->randomBotEmote)
|
if (proto->Quality > ITEM_QUALITY_NORMAL && !urand(0, 50) && botAI->HasStrategy("emote", BOT_STATE_NON_COMBAT) && sPlayerbotAIConfig->randomBotEmote)
|
||||||
@@ -440,9 +443,10 @@ bool StoreLootAction::Execute(Event event)
|
|||||||
AI_VALUE(LootObjectStack*, "available loot")->Remove(guid);
|
AI_VALUE(LootObjectStack*, "available loot")->Remove(guid);
|
||||||
|
|
||||||
// release loot
|
// release loot
|
||||||
WorldPacket packet(CMSG_LOOT_RELEASE, 8);
|
WorldPacket* packet = new WorldPacket(CMSG_LOOT_RELEASE, 8);
|
||||||
packet << guid;
|
*packet << guid;
|
||||||
bot->GetSession()->HandleLootReleaseOpcode(packet);
|
bot->GetSession()->QueuePacket(packet);
|
||||||
|
// bot->GetSession()->HandleLootReleaseOpcode(packet);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -507,17 +511,17 @@ bool ReleaseLootAction::Execute(Event event)
|
|||||||
GuidVector gos = context->GetValue<GuidVector>("nearest game objects")->Get();
|
GuidVector gos = context->GetValue<GuidVector>("nearest game objects")->Get();
|
||||||
for (ObjectGuid const guid : gos)
|
for (ObjectGuid const guid : gos)
|
||||||
{
|
{
|
||||||
WorldPacket packet(CMSG_LOOT_RELEASE, 8);
|
WorldPacket* packet = new WorldPacket(CMSG_LOOT_RELEASE, 8);
|
||||||
packet << guid;
|
*packet << guid;
|
||||||
bot->GetSession()->HandleLootReleaseOpcode(packet);
|
bot->GetSession()->QueuePacket(packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
GuidVector corpses = context->GetValue<GuidVector>("nearest corpses")->Get();
|
GuidVector corpses = context->GetValue<GuidVector>("nearest corpses")->Get();
|
||||||
for (ObjectGuid const guid : corpses)
|
for (ObjectGuid const guid : corpses)
|
||||||
{
|
{
|
||||||
WorldPacket packet(CMSG_LOOT_RELEASE, 8);
|
WorldPacket* packet = new WorldPacket(CMSG_LOOT_RELEASE, 8);
|
||||||
packet << guid;
|
*packet << guid;
|
||||||
bot->GetSession()->HandleLootReleaseOpcode(packet);
|
bot->GetSession()->QueuePacket(packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user