2021-12-05 17:54:36 +00:00
|
|
|
#include "NpcPirateServer.h"
|
2023-01-22 23:38:47 +00:00
|
|
|
#include "eMissionState.h"
|
2021-12-05 17:54:36 +00:00
|
|
|
#include "InventoryComponent.h"
|
|
|
|
|
2023-01-22 23:38:47 +00:00
|
|
|
void NpcPirateServer::OnMissionDialogueOK(Entity* self, Entity* target, int missionID, eMissionState missionState) {
|
2021-12-05 17:54:36 +00:00
|
|
|
auto* inventory = target->GetComponent<InventoryComponent>();
|
|
|
|
if (inventory != nullptr && missionID == 1881) {
|
|
|
|
auto* luckyShovel = inventory->FindItemByLot(14591);
|
|
|
|
|
|
|
|
// Add or remove the lucky shovel based on whether the mission was completed or started
|
2023-01-22 23:38:47 +00:00
|
|
|
if ((missionState == eMissionState::AVAILABLE || missionState == eMissionState::COMPLETE_AVAILABLE)
|
2021-12-05 17:54:36 +00:00
|
|
|
&& luckyShovel == nullptr) {
|
2022-04-25 01:40:20 +00:00
|
|
|
inventory->AddItem(14591, 1, eLootSourceType::LOOT_SOURCE_NONE);
|
2023-01-22 23:38:47 +00:00
|
|
|
} else if (missionState == eMissionState::READY_TO_COMPLETE || missionState == eMissionState::COMPLETE_READY_TO_COMPLETE) {
|
2021-12-05 17:54:36 +00:00
|
|
|
inventory->RemoveItem(14591, 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|