• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Strange things in the caribbean ending bug

Pisces

Landlubber
The last time I finished the animist questline (build mod 13), Padre Domingues bugged so he didn't realise he was in prison, this was ok as I just talk to him in prison when doing the main quest. This time (build mod 14) I got him out but I never actually dropped him back off in Puerto Rico, as the quest book said he was back home already (I figured he made his own way there).

However, now I come to do the main quest (look at the library) everytime I enter the port at Puerto Rico, I get teleported to the church, which crashes the game. Being a resourceful pirate I entered instead through the beach on the far side of the island. This gets me into Puerto Rico, but when entering the church Padre Domingues is still not there. I checked the Animist lair and he isn't there either. :shrug Perhaps I should check the hold!

Anyone have any ideas? I was thinking along the lines of using the console to add him somewhere or something like that.

On an unrelated question. It appears in this build there is a limit on how high a class you/your captains can sail. It is obivously not too strick as it lets me sail a 1st class anyway (possibly because my navigator boosts by sailing). Is the class your captains can sail limited to less than you can sail? as we can all sail class 3 despite them clearly having more leadership and sailing than myself. Also I know the max bonuses you can get from items is +4, however I have items which should increase my sailing to about +6 and I'm getting +2 to sailing instead. Are you sure it is capped at 4, not rolls over to 0 at 4?
 
Yes. This has been discussed before, but never fixed. :hmm I have done the same as you. After leaving the Animists lair you need to go to Puerto Rico first thing. You already know what happens if you do not. :eek:k I got lucky and when I went back to the lair he was still there.


For now you are limited to class 3. If your officers can sail higher class ships ok, don't worry about it. Sailing a higher class ship than your rating means that the ship doesn't respond as well as it could. Try sailing a class 5 ship when you are class 7.
 
Yes. This has been discussed before, but never fixed. :hmm I have done the same as you. After leaving the Animists lair you need to go to Puerto Rico first thing. You already know what happens if you do not. :eek:k I got lucky and when I went back to the lair he was still there.


For now you are limited to class 3. If your officers can sail higher class ships ok, don't worry about it. Sailing a higher class ship than your rating means that the ship doesn't respond as well as it could. Try sailing a class 5 ship when you are class 7.

I've played POTC several times through and have always managed to avoid game-ending bugs. I think this time I have played it through too recently so I am skipping steps, which confuses the proper order of triggers. I'm pretty much resigned to a console based solution. I have located to possible codes:

ChangeCharacterAddress(characterFromID("Padre domingues"), "none", "");

Obviously I don't know what to put in the last 2 variables as I haven't been able to find an instance of this code being used to actually move someone, just to remove them. Does anyone know where an active example might be, I couldn't find any in dialogs. It might be where puerto Rico port is loaded and it tests the quest progress to see if it should teleport the character to church (also where the bug will probably be located).
 
I think this is the code that puts Padre domingues back in the church at the end of the animist questline

Code:
case "Story_Domingues_released2":
changeCharacterAddress(characterfromID("second_spaniard_priest"), "none", ""); // KK
changeCharacterAddress(characterfromID("padre Domingues"), "none", "");
break;
// NK <--

// CTM -->
case "return_priest_complete":
DoReloadCharacterToLocation("Muelle_Church", "reload", "reload1");
changeCharacterAddressGroup(characterfromID("padre Domingues"), "Muelle_Church", "goto", "goto1");
LAi_SetActorType(characterFromID("padre Domingues"));
LAi_ActorDialog(characterFromID("padre Domingues"), pchar, "", 2.0, 1.0);
characters[GetCharacterIndex("padre Domingues")].dialog.currentnode = "Thank_You";

pchar.quest.return_priest_complete1.over = "yes";
break;

case "return_priest_complete1":
DoReloadCharacterToLocation("Muelle_Church", "reload", "reload1");
changeCharacterAddressGroup(characterfromID("padre Domingues"), "Muelle_Church", "goto", "goto1");
LAi_SetActorType(characterFromID("padre Domingues"));
LAi_ActorDialog(characterFromID("padre Domingues"), pchar, "", 2.0, 1.0);
characters[GetCharacterIndex("padre Domingues")].dialog.currentnode = "Thank_You";

pchar.quest.return_priest_complete.over = "yes";
break;

case "return_priest_complete2":
pchar.quest.return_priest_complete3.win_condition.l1 = "location";
pchar.quest.return_priest_complete3.win_condition.l1.location = "Muelle_Town_04";
pchar.quest.return_priest_complete3.win_condition = "return_priest_complete3";
break;

case "return_priest_complete3":
changeCharacterAddress(characterfromID("padre Domingues"), "Muelle_church", "goto11");
LAi_SetStayType(characterFromID("padre Domingues"));
Characters[GetCharacterIndex("padre Domingues")].dialog.CurrentNode  = "First time";
break;
// CTM <--


It appears at the end of the quests_reaction.c file

:cheers
 
I think this is the code that puts Padre domingues back in the church at the end of the animist questline

It appears at the end of the quests_reaction.c file

:cheers


Awesome! That looks exactly right. Now to extract the important bits and test. Thanks for looking, I knew it would be around somewhere but there are a lot of files to look through. I looked through quests and quests_int but reactions. :onya


EDIT: Ok, for the benefit of others, here is what I did. Copied and pasted the lines from "return_priest_complete" to the first break, not including the case and the break lines; into console.c (after "void executeconsole"). Loaded the game, pressed f12. Got teleported to the church and thanked by Domingues. Saved the game, decided that next few paragraphs looked inessential so I copied return_priest_complete3 into the console and got rid of the previous code. Loaded the game again, pressed f12, talked to domingues who is now behaving normally. Went to the port, got teleported back to the church (this time without crashing) and got thanked by domingues again. Pushed f12 again to put him in is proper spot with the proper dialogue. Then returning to the port everything works normally and I don't get teleported anywhere and the game doesn't crash. Hurray! :cheers
 
Back
Top