DarkflameServer/dScripts/NpcCowboyServer.cpp
EmosewaMC 7a051afd97 loot source for item drops
Added support for Items to have a loot source attached to them when dropped or rolled.  This fixes the issue where achievements would give the item before it appeared in the achievement window.
2022-04-23 20:35:34 -07:00

34 lines
1.0 KiB
C++

#include "NpcCowboyServer.h"
#include "MissionComponent.h"
#include "InventoryComponent.h"
void NpcCowboyServer::OnMissionDialogueOK(Entity* self, Entity* target, int missionID, MissionState missionState)
{
if (missionID != 1880)
{
return;
}
auto* inventoryComponent = target->GetComponent<InventoryComponent>();
if (inventoryComponent == nullptr)
{
return;
}
if (missionState == MissionState::MISSION_STATE_COMPLETE_ACTIVE||
missionState == MissionState::MISSION_STATE_ACTIVE ||
missionState == MissionState::MISSION_STATE_AVAILABLE ||
missionState == MissionState::MISSION_STATE_COMPLETE_AVAILABLE)
{
if (inventoryComponent->GetLotCount(14378) == 0)
{
inventoryComponent->AddItem(14378, 1, eLootSourceType::LOOT_SOURCE_ACTIVITY);
}
}
else if (missionState == MissionState::MISSION_STATE_READY_TO_COMPLETE || missionState == MissionState::MISSION_STATE_COMPLETE_READY_TO_COMPLETE)
{
inventoryComponent->RemoveItem(14378, 1);
}
}