trying another method from mod-aoe-loot
This commit is contained in:
parent
ff4d63ef39
commit
d86112823b
@ -131,26 +131,34 @@ namespace
|
|||||||
{
|
{
|
||||||
Loot *loot = &lootGo->loot;
|
Loot *loot = &lootGo->loot;
|
||||||
|
|
||||||
// 1) Normal items
|
for (uint8 slot = 0; slot < loot->items.size(); ++slot)
|
||||||
for (uint32 slot = 0; slot < loot->items.size(); ++slot)
|
|
||||||
{
|
{
|
||||||
LootItem &li = loot->items[slot];
|
LootItem &li = loot->items[slot];
|
||||||
if (li.is_looted)
|
if (li.is_looted)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
InventoryResult msg = EQUIP_ERR_OK;
|
InventoryResult msg = EQUIP_ERR_OK;
|
||||||
plr->StoreLootItem(uint8(slot), loot, msg);
|
plr->StoreLootItem(slot, loot, msg);
|
||||||
|
}
|
||||||
|
|
||||||
if (!loot->quest_items.empty())
|
const QuestItemMap &questItems = loot->GetPlayerQuestItems();
|
||||||
|
if (!questItems.empty())
|
||||||
{
|
{
|
||||||
uint32 baseSlot = loot->items.size();
|
uint8 baseSlot = static_cast<uint8>(loot->items.size());
|
||||||
for (uint32 q = 0; q < loot->quest_items.size(); ++q)
|
for (uint8 i = 0; i < questItems.size(); ++i)
|
||||||
{
|
{
|
||||||
QuestItem &qi = loot->quest_items[q];
|
uint8 slot = baseSlot + i;
|
||||||
if (qi.is_looted)
|
InventoryResult msg = EQUIP_ERR_OK;
|
||||||
continue;
|
plr->StoreLootItem(slot, loot, msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
uint8 slot = uint8(baseSlot + q);
|
const QuestItemMap &ffaItems = loot->GetPlayerFFAItems();
|
||||||
|
if (!ffaItems.empty())
|
||||||
|
{
|
||||||
|
for (uint8 i = 0; i < ffaItems.size(); ++i)
|
||||||
|
{
|
||||||
|
uint8 slot = i;
|
||||||
InventoryResult msg = EQUIP_ERR_OK;
|
InventoryResult msg = EQUIP_ERR_OK;
|
||||||
plr->StoreLootItem(slot, loot, msg);
|
plr->StoreLootItem(slot, loot, msg);
|
||||||
}
|
}
|
||||||
@ -174,7 +182,7 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TryAutoFish(Player * plr)
|
void TryAutoFish(Player *plr)
|
||||||
{
|
{
|
||||||
if (!plr || !plr->IsInWorld() || !RequirementMet(plr))
|
if (!plr || !plr->IsInWorld() || !RequirementMet(plr))
|
||||||
return;
|
return;
|
||||||
@ -198,11 +206,11 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AutoFish_WorldScript : public WorldScript
|
class AutoFish_WorldScript : public WorldScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
AutoFish_WorldScript() : WorldScript("AutoFish_WorldScript") {}
|
AutoFish_WorldScript() : WorldScript("AutoFish_WorldScript") {}
|
||||||
|
|
||||||
void OnAfterConfigLoad(bool) override
|
void OnAfterConfigLoad(bool) override
|
||||||
@ -243,9 +251,9 @@ namespace
|
|||||||
TickAutoLoot(diff);
|
TickAutoLoot(diff);
|
||||||
TickRecast(diff);
|
TickRecast(diff);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void AddSC_autofish_world()
|
void AddSC_autofish_world()
|
||||||
{
|
{
|
||||||
new AutoFish_WorldScript();
|
new AutoFish_WorldScript();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user