DarkflameServer/dScripts/NpcPirateServer.cpp

18 lines
1023 B
C++
Raw Normal View History

#include "NpcPirateServer.h"
#include "InventoryComponent.h"
void NpcPirateServer::OnMissionDialogueOK(Entity *self, Entity *target, int missionID, MissionState missionState) {
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
if ((missionState == MissionState::MISSION_STATE_AVAILABLE || missionState == MissionState::MISSION_STATE_COMPLETE_AVAILABLE)
&& luckyShovel == nullptr) {
2022-04-23 12:13:06 +00:00
inventory->AddItem(14591, 1, eInventoryType::INVALID, {}, 0LL, true, false, 0LL, eInventoryType::INVALID, 0, false, -1, eLootSourceType::LOOT_SOURCE_ACTIVITY);
} else if (missionState == MissionState::MISSION_STATE_READY_TO_COMPLETE || missionState == MissionState::MISSION_STATE_COMPLETE_READY_TO_COMPLETE) {
inventory->RemoveItem(14591, 1);
}
}
}