After finishing the "Missing Son of the Spanish Admiral" sidequest, if you recruit Lucas then a 3 month timer starts. If Lucas is an active officer when the timer expires then he talks to you and asks to go to St. Pierre to visit Justine le Moigne, who replaces both Arabella Silehard in the "Missing Son" quest and Elizabeth Shaw in the "Disappearance" quest. So this request is supposed to be your lead into "Justine le Moigne's Disappearance", and it doesn't happen if for any reason Lucas is not an active officer in your shore party at the end of the 3 months.
One way to deal with this is to have the timer trigger a quest case which then sets up checks in several locations - perhaps Nevis Pirate Settlement, Turks Island port and Tortuga port. Jack Sparrow is pretty well certain to visit at least one of those, whether on other sidequest business or just to cash in a promotion from the Brotherhood. So, when you arrive at one of these places, if Lucas isn't an active officer then he can spawn at a nearby locator.
Another way is not to bother. If Lucas can't ask to go to St. Pierre due to not being active, it doesn't break the quest because you can go to St. Pierre anyway and talk to Governor le Moigne.
So, which way do we want this to go? Lucas guaranteed to say his piece but only at the three pirate bases; or Lucas can say his piece anywhere, but only if he's in your shore party?
The other problem is at the end of the quest. After you've faced Davy Jones, been shot in the head, recovered in the tavern and been paid by the governor, Captain Maggee shows up and introduces you to Tia Dalma. When you go to worldmap, Davy Jones shows up on your quarterdeck and Tia Dalma tells him to leave you alone. This is how it's supposed to trigger:
And "Tia_to_Davy" does this:
That breaks, badly, if "MapEnter" was triggered by direct-sailing to another island rather than by going to worldmap. The fix is to do something similar to when Davy Jones appears earlier in the quest and you play Liar's Dice:
"Tia_to_Davy1.5" triggers right away if you're direct-sailing, or when you switch from worldmap back to sailing mode.
The only problem then is that, if you're doing this after the main story and it's gone down the incomplete DMC route, your ship teleports back to near the beach on Martinique, which isn't much fun if you've just direct-sailed to another island!
One way to deal with this is to have the timer trigger a quest case which then sets up checks in several locations - perhaps Nevis Pirate Settlement, Turks Island port and Tortuga port. Jack Sparrow is pretty well certain to visit at least one of those, whether on other sidequest business or just to cash in a promotion from the Brotherhood. So, when you arrive at one of these places, if Lucas isn't an active officer then he can spawn at a nearby locator.
Another way is not to bother. If Lucas can't ask to go to St. Pierre due to not being active, it doesn't break the quest because you can go to St. Pierre anyway and talk to Governor le Moigne.
So, which way do we want this to go? Lucas guaranteed to say his piece but only at the three pirate bases; or Lucas can say his piece anywhere, but only if he's in your shore party?
The other problem is at the end of the quest. After you've faced Davy Jones, been shot in the head, recovered in the tavern and been paid by the governor, Captain Maggee shows up and introduces you to Tia Dalma. When you go to worldmap, Davy Jones shows up on your quarterdeck and Tia Dalma tells him to leave you alone. This is how it's supposed to trigger:
Code:
PChar.quest.Tia_to_Davy.win_condition.l1 = "MapEnter";
PChar.quest.Tia_to_Davy.win_condition = "Tia_to_Davy";
Code:
string QDeck = GetCharacterShipQDeck(pchar);
DoQuestReloadToLocation(QDeck, "rld", "startloc", "Tia_to_Davy2");
Code:
PChar.quest.Tia_to_Davy1_5.win_condition.l1 = "SeaEnter";
PChar.quest.Tia_to_Davy1_5.win_condition = "Tia_to_Davy1.5";
break;
case "Tia_to_Davy1.5":
DoReloadFromSeaToLocation(GetCharacterShipQDeck(PChar), "rld", "startloc");
PChar.quest.Tia_to_Davy2.win_condition.l1 = "location";
PChar.quest.Tia_to_Davy2.win_condition.l1.location = GetCharacterShipQDeck(PChar);
PChar.quest.Tia_to_Davy2.win_condition = "Tia_to_Davy2";
break;
The only problem then is that, if you're doing this after the main story and it's gone down the incomplete DMC route, your ship teleports back to near the beach on Martinique, which isn't much fun if you've just direct-sailed to another island!