2021-12-05 17:54:36 +00:00
|
|
|
|
#include "GfJailkeepMission.h"
|
|
|
|
|
#include "MissionComponent.h"
|
|
|
|
|
#include "Character.h"
|
|
|
|
|
|
2022-07-28 13:39:57 +00:00
|
|
|
|
void GfJailkeepMission::OnMissionDialogueOK(Entity* self, Entity* target, int missionID, MissionState missionState) {
|
|
|
|
|
auto* missionComponent = target->GetComponent<MissionComponent>();
|
|
|
|
|
if (missionComponent == nullptr)
|
|
|
|
|
return;
|
2021-12-05 17:54:36 +00:00
|
|
|
|
|
2022-07-28 13:39:57 +00:00
|
|
|
|
if (missionID == 385 && missionState == MissionState::MISSION_STATE_AVAILABLE) {
|
|
|
|
|
missionComponent->AcceptMission(386, true);
|
|
|
|
|
missionComponent->AcceptMission(387, true);
|
|
|
|
|
missionComponent->AcceptMission(388, true);
|
|
|
|
|
missionComponent->AcceptMission(390, true);
|
|
|
|
|
} else if (missionID == 385 && missionState == MissionState::MISSION_STATE_COMPLETE_READY_TO_COMPLETE) {
|
|
|
|
|
auto* character = target->GetCharacter();
|
|
|
|
|
if (character != nullptr && character->GetPlayerFlag(68)) {
|
|
|
|
|
missionComponent->AcceptMission(701);
|
|
|
|
|
missionComponent->AcceptMission(702);
|
|
|
|
|
missionComponent->AcceptMission(703);
|
|
|
|
|
missionComponent->AcceptMission(704);
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-12-05 17:54:36 +00:00
|
|
|
|
}
|
|
|
|
|
|
2022-07-28 13:39:57 +00:00
|
|
|
|
void GfJailkeepMission::OnUse(Entity* self, Entity* user) {
|
|
|
|
|
auto* missionComponent = user->GetComponent<MissionComponent>();
|
|
|
|
|
if (missionComponent == nullptr)
|
|
|
|
|
return;
|
2021-12-05 17:54:36 +00:00
|
|
|
|
|
2022-07-28 13:39:57 +00:00
|
|
|
|
if (missionComponent->GetMissionState(385) == MissionState::MISSION_STATE_ACTIVE) {
|
|
|
|
|
missionComponent->AcceptMission(386, true);
|
|
|
|
|
missionComponent->AcceptMission(387, true);
|
|
|
|
|
missionComponent->AcceptMission(388, true);
|
|
|
|
|
missionComponent->AcceptMission(390, true);
|
|
|
|
|
}
|
2021-12-05 17:54:36 +00:00
|
|
|
|
}
|
|
|
|
|
|