OK, forget that! Put "Will Turner_dialog.h", "Port Guard_dialog.h" and their associated ".c" files back the way they were.
In "PROGRAM\utils.c", find:
Code:
Preprocessor_Save("cursed_ship", "Black Pearl"); // PB: For Jack Sparrow storyline
Preprocessor_Save("uncursed_ship", "Crimson Blood"); // PB: For Jack Sparrow storyline
And in "PROGRAM\Ships\Ships.c", find:
Code:
Preprocessor_Save("cursed_ship", "Crimson Blood");
Preprocessor_Save("uncursed_ship", "Black Pearl");
Replace
"Black Pearl" with
XI_ConvertString("Black Pearl") in both, and do the same for
"Crimson Blood".
That will only take effect in a new game, or if you have yet to complete "Sao Feng's Bodyguards". To correct your current game, put this into "PROGRAM\console.c":
Code:
Preprocessor_Delete("cursed_ship");
Preprocessor_Delete("uncursed_ship");
Preprocessor_Save("cursed_ship", XI_ConvertString("Black Pearl"));
Preprocessor_Save("uncursed_ship", XI_ConvertString("Crimson Blood"))
Press F12 to activate "console.c". Then watch for anywhere that those ship names should appear and don't - it probably means they're being translated and don't need to be.
Sorry, I didn't have time to check this. This works in dialogue, but the Black Pearl ship turns into a corvette. Probably the same problem with 'Crimson Blood'.
Maybe it somehow depends on the fact that in Ships.c 'Black Pearl' is the definition of "uncursed_ship", and in utils.c "cursed_ship".
It might be easier to replace the commands in the .h files with ship names in different languages.
Small improvement:
We need to increase the time so that they have time to approach.
case "The_Governor_and_Norrington_arrive":
LAi_ActorRunToLocator(characterFromID("James Norrington"), "officers", "Sea_1_2", "", 30.0);
case "The_Governor_and_Norrington_arrive2":
LAi_ActorDialog(characterFromID("James Norrington"), Pchar, "", 10.0, 0);
case "Swann_starts_talking":
LAi_ActorDialog(characterFromID("Weatherby Swann"), Pchar, "", 8.0, 0);
You also probably need to block the fast transition so as not to break the quest. The smartest thing to do is after arriving at the pier, but I don't know where to turn it off because there are 3 storylines.
case "You_need_to_pay_mooring":
DisableFastTravel(true);
If you fight with the soldiers on the pier, you can run away to the city and break the quest.
case "Fight_Port_soldiers":
Locations[FindLocation("Redmond_port")].reload.l1.disable = true;
case "Fight_with_Turner_in_Shipyard":
Locations[FindLocation("Redmond_port")].reload.l1.disable = false;
Reduce delay in case "Dauntless_Deck_NORR6":
LAi_QuestDelay("Dauntless_Deck_NORR7", 1.0);