#include "GfJailkeepMission.h" #include "MissionComponent.h" #include "eMissionState.h" void GfJailkeepMission::OnMissionDialogueOK(Entity* self, Entity* target, int missionID, eMissionState missionState) { auto* missionComponent = target->GetComponent(); if (missionComponent == nullptr) return; if (missionID == 385 && missionState == eMissionState::AVAILABLE) { missionComponent->AcceptMission(386, true); missionComponent->AcceptMission(387, true); missionComponent->AcceptMission(388, true); missionComponent->AcceptMission(390, true); } else if (missionID == 385 && missionState == eMissionState::COMPLETE_READY_TO_COMPLETE) { GameMessages::GetFlag getFlag{}; getFlag.target = target->GetObjectID(); getFlag.iFlagId = 68; if (SEND_ENTITY_MSG(getFlag) && getFlag.bFlag) { missionComponent->AcceptMission(701); missionComponent->AcceptMission(702); missionComponent->AcceptMission(703); missionComponent->AcceptMission(704); } } } void GfJailkeepMission::OnUse(Entity* self, Entity* user) { auto* missionComponent = user->GetComponent(); if (missionComponent == nullptr) return; if (missionComponent->GetMissionState(385) == eMissionState::ACTIVE) { missionComponent->AcceptMission(386, true); missionComponent->AcceptMission(387, true); missionComponent->AcceptMission(388, true); missionComponent->AcceptMission(390, true); } }