2021-12-05 17:54:36 +00:00
|
|
|
#include "NjScrollChestServer.h"
|
|
|
|
#include "InventoryComponent.h"
|
|
|
|
|
|
|
|
void NjScrollChestServer::OnUse(Entity *self, Entity *user) {
|
|
|
|
const auto keyLOT = self->GetVar<LOT>(u"KeyNum");
|
|
|
|
const auto rewardItemLOT = self->GetVar<LOT>(u"openItemID");
|
|
|
|
|
|
|
|
auto* playerInventory = user->GetComponent<InventoryComponent>();
|
|
|
|
if (playerInventory != nullptr && playerInventory->GetLotCount(keyLOT) == 1) {
|
|
|
|
|
|
|
|
// Check for the key and remove
|
|
|
|
playerInventory->RemoveItem(keyLOT, 1);
|
|
|
|
|
|
|
|
// Reward the player with the item set
|
2022-04-25 01:40:20 +00:00
|
|
|
playerInventory->AddItem(rewardItemLOT, 1, eLootSourceType::LOOT_SOURCE_NONE);
|
2021-12-05 17:54:36 +00:00
|
|
|
}
|
|
|
|
}
|