Validate reward item instance

This commit is contained in:
hg 2022-09-27 20:05:05 -04:00 committed by Akkadius
parent 494789f8d0
commit 9f1519cd94

View File

@ -991,6 +991,7 @@ void ClientTaskState::RewardTask(Client *c, const TaskInformation *ti, ClientTas
if (item_id > 0) { if (item_id > 0) {
std::unique_ptr<EQ::ItemInstance> inst(database.CreateItem(item_id, charges)); std::unique_ptr<EQ::ItemInstance> inst(database.CreateItem(item_id, charges));
if (inst && inst->GetItem()) {
bool stacked = c->TryStacking(inst.get()); bool stacked = c->TryStacking(inst.get());
if (!stacked) { if (!stacked) {
int16_t slot = c->GetInv().FindFreeSlot(inst->IsClassBag(), true, inst->GetItem()->Size); int16_t slot = c->GetInv().FindFreeSlot(inst->IsClassBag(), true, inst->GetItem()->Size);
@ -1002,6 +1003,7 @@ void ClientTaskState::RewardTask(Client *c, const TaskInformation *ti, ClientTas
} }
} }
} }
}
// just use normal NPC faction ID stuff // just use normal NPC faction ID stuff
if (ti->faction_reward && ti->faction_amount == 0) { if (ti->faction_reward && ti->faction_amount == 0) {