• 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!

Medium Priority Assassin Storyline: Cannons of La Mona quest, commanders house door locked

Odieman

Powder Monkey
As the topic says. When I come out of the tavern, the english officer speaks to me, saying chico has been arrested, and that I am to go to the commanders house. I go to the jungle with the house, and the door is locked. Tried reloading, sailed to the island again, but with the same result. Tried again, making sure I went to the port early in the day, in case it was a time of day issue (which I have encountered before in this storyline). In this case however the time of day is set to 17:00 when you arrive in port/shore. However after having waited 2 hours (presumably), in the tavern, the time of day is still just 17:15/17:25. (give or take)

Is there a console command I can do to open the door?
 
If you want to sort the time issue, I recommend waiting until "night" then wait until "day".
That might force the time to be closer to noon.

Alternatively, execute this through console:
Code:
SetCurrentTime(12.00, 0);
See here for how: Tutorial - Modding Tips & Tricks | PiratesAhoy!
Then reload to another location to "update" the time.

I don't know if it truly is a time problem, but it would be great if you can try this and confirm if that is the case. :doff

Do you have a compile.log from the last actual quest case that occurred?
That should point towards the relevant code and make it easier to track this one down.
 
Before I got your reply I went back in, reloade the save from antigua, and sailed there yet again. The time was again automatically set to 17:00 when I came ashore, (even though it was 05:50 when I pressed the shore tab in travel to).

Anyway, I tried waiting by going back to the ship, I tried at the hours 19:30, 19:51, 23:41, 09:30, 11:30. I can try one more time with the console just to make sure. But I dont think its a time issue either.

Edit: I will upload a log.
 
Here is the compile log, I think the answer is towards the bottom, I can see several error messages in it, but dont know what they mean.

Edit: I also uploaded the save game in antigua. (I am at the port about to sail to La Mona, having already spoken to the merchant standing there).

Edit 2: This is not the version that was released now in march btw, this is version: Build 14 Beta 4 WIP 14 Feb
 

Attachments

  • compile.log
    13.3 KB · Views: 256
  • -=Odieman=- Antigua. Saint John's port.rar
    791.8 KB · Views: 253
Last edited:
Indeed some weird stuff in there:
Code:
Quest name news_coisbis FOUND in QuestComplete
ERROR: unidentified condition type()
[...]
WARNING!!! Town name Isla Mona not found
WARNING!!! Town name Isla Mona not found
ERROR: unidentified condition type()

This is the code that is supposed to be executed. Probably one of those two final lines is the one that should open up the door:
Code:
      Characters[GetCharacterIndex("Wilfred Burman")].dialog.currentnode = "begin_1";       
       LAi_ActorRunToLocation(characterfromID("soldato ingles"), "reload", "reload2", "none", "", "", "", 10.0);
       Locations[FindLocation("IslaMona_port")].reload.l1.disable = 0;
       Locations[FindLocation("IslaMona_port")].reload.l3.disable = 0;
Strange though, because your compile.log says that code WAS executed. o_O
 
For reference, "ERROR: unidentified condition type()" refers to QUEST condition.

In PROGRAM\QUESTS\quests_check.c find:
Code:
trace("ERROR: unidentified condition type()" + condition);
Replace with:
Code:
   trace("ERROR: unidentified condition type():");
   DumpAttributes(condition);
Then play through that section again. Maybe the compile.log will then have some more details in it.
 
I'll test that tomorrow morning. Maybe with the console.c, Odieman could execute the case containing this code.
 
Indeed some weird stuff in there:
Code:
Quest name news_coisbis FOUND in QuestComplete
ERROR: unidentified condition type()
[...]
WARNING!!! Town name Isla Mona not found
WARNING!!! Town name Isla Mona not found
ERROR: unidentified condition type()

This is the code that is supposed to be executed. Probably one of those two final lines is the one that should open up the door:
Code:
      Characters[GetCharacterIndex("Wilfred Burman")].dialog.currentnode = "begin_1";      
       LAi_ActorRunToLocation(characterfromID("soldato ingles"), "reload", "reload2", "none", "", "", "", 10.0);
       Locations[FindLocation("IslaMona_port")].reload.l1.disable = 0;
       Locations[FindLocation("IslaMona_port")].reload.l3.disable = 0;
Strange though, because your compile.log says that code WAS executed. o_O


I think the reason why it says was executed, is because this bit refers to the english soldier walking up and talking to you after the tavern. I use the console command with this added to it. With the following results: Whilst in the tavern (before meeting the soldier outside), "Error: missing character soldado Ingles", when I tried it after speaking to the soldier whilst outside the tavern, it just said console executed, (i.e no error message). When trying after speaking to him, but in the jungle section (outside the house Im supposed to enter), it gave the same error message, as mentione before. And the door did not open in any of the tests.

I have attached a new compile log (after testing with the console command). And some more save games, the open sea one is outside the shore at Isla Mona, before mooring (i.e havent visited yet). And theres 1 save where I am in the tavern, about to go out and then be met by the soldier.
 

Attachments

  • Save games for testing.rar
    1.5 MB · Views: 243
  • compile.log
    12.2 KB · Views: 244
For reference, "ERROR: unidentified condition type()" refers to QUEST condition.

In PROGRAM\QUESTS\quests_check.c find:
Code:
trace("ERROR: unidentified condition type()" + condition);
Replace with:
Code:
   trace("ERROR: unidentified condition type():");
   DumpAttributes(condition);
Then play through that section again. Maybe the compile.log will then have some more details in it.

Ok so I did this, and did the section 4 times, (trying out the console 2 times, 1 time I went back into the tavern talked to a random npc and a tavernbrawl broke out :p). Anyway the 4th time was clean, I did the bit without executing any console commands. Hope this helps :).

EDIT: I saved the install files and saves for this version, but have unninstalled the game in order to play the new version. But I have the relevant files still, should they be needed/if this issue is resolved. Will probably revisit that save/storyline later but for now I wanna try out another storyline
 

Attachments

  • compile (3rd).log
    28.4 KB · Views: 236
Last edited:
That code change I suggested did indeed give further details. It indicates that one of those weird errors is related to this:
Code:
location = Redmond_church
characteridx = 0
I *think* that might be due to this in PROGRAM\Storyline\Assassin\quests\quests_reaction.c:
Code:
       PChar.quest.Hit_congrats.win_condition.l1.location = "Redmond_church";
       PChar.quest.Hit_congrats.win_condition.l1.character = PChar.id;
       PChar.quest.Hit_congrats.win_condition = "Hit_congrats";
Looks like there is a line missing there and it should have been:
Code:
       PChar.quest.Hit_congrats.win_condition.l1 = "location";
       PChar.quest.Hit_congrats.win_condition.l1.character = PChar.id;
       PChar.quest.Hit_congrats.win_condition.l1.location = "Redmond_church";
       PChar.quest.Hit_congrats.win_condition = "Hit_congrats";

You're already WELL past that point though, so I'm surprised that worked at all. Anyway, it should no longer be a relevant problem.
Try executing this code through console:
Code:
DeleteAttribute(pchar, "quest.Hit_congrats");
I think that should at least stop those particular compile.log entries from continuing to show up all the time.

I have an old POTC version. Could you or Pieter upload IslaMona.c from PROGRAM\Locations\init ?
See attached. Just in case, I included the Location init AND the Character init file.

Whilst in the tavern (before meeting the soldier outside), "Error: missing character soldado Ingles", when I tried it after speaking to the soldier whilst outside the tavern, it just said console executed, (i.e no error message).
That refers to this section of code:
Code:
    case "news_cois":
  sld = LAi_CreateFantomCharacter(false, 0, true, true, 0.25, Nations[ENGLAND].fantomModel.m1, "goto", "goto24");
       LAi_SetHP(sld, 100.0, 100.0);
       sld.dialog.filename = "Divers_dialog.c";
       sld.dialog.currentnode = "begin_19";
       sld.id = "soldato ingles";

  LAi_SetActorType(characterFromID("soldato ingles"));
       LAi_ActorDialog(characterFromID("soldato ingles"), pchar, "", 6.0, 1.0);
     break;

     case "news_coisbis":
       Characters[GetCharacterIndex("Wilfred Burman")].dialog.currentnode = "begin_1";       
       LAi_ActorRunToLocation(characterfromID("soldato ingles"), "reload", "reload2", "none", "", "", "", 10.0);
       Locations[FindLocation("IslaMona_port")].reload.l1.disable = 0;
       Locations[FindLocation("IslaMona_port")].reload.l3.disable = 0;       
     break;
"soldato ingles" is a temporary character that normally would get ERASED after any location reload.

If he does need to "stick around", this function needs to be run on him:
Code:
LAi_StoreFantom(sld);

And then when he isn't needed anymore:
Code:
LAi_UnStoreFantom(CharacterFromID("soldato ingles"));
 

Attachments

  • IslaMona_Characters.zip
    1.7 KB · Views: 227
  • IslaMona_Locations.zip
    2.6 KB · Views: 216
I've checked IslaMona.c. There are many changes but nothing that could mess up the quest.
I don't understand.:(
I suggest anyway to change the position in the case about the locators, like that:
Code:
case "news_coisbis":
Locations[FindLocation("IslaMona_port")].reload.l1.disable = 0;
Locations[FindLocation("IslaMona_port")].reload.l3.disable = 0;      
Characters[GetCharacterIndex("Wilfred Burman")].dialog.currentnode = "begin_1";      
LAi_ActorRunToLocation(characterfromID("soldato ingles"), "reload", "reload2", "none", "", "", "", 10.0);
break;
It's weird like suggestion but sometimes something illogical works fine in POTC.

Btw:
You're right about the missing line for quest.Hit_congrats :yes
 
@Odieman: There's been silence here for half a week. Does that mean the suggestion by @Bartolomeu o Portugues solved the problem?

I havent tried it. I am currently playing the newest release of the mod but a different storyline. When (not if :) probably within 2-3 months) I choose to revisit the assassin storyline I will reinstall the earlier version of the game and try it, or perhaps just start from scratch and see how it pans out. I am sorry for not beeing more patient, but I have really become hooked on this game again, and decided to just start a new story. Also I wasnt sure that the post was directed at me, and I had already played 20+ hours when I saw it.

Thanks for the help though, I really appreciate it. However if you think it still might be an issue in the newest version, one of the save games in the zip I uploaded is optimal for testing it.
 
However if you think it still might be an issue in the newest version, one of the save games in the zip I uploaded is optimal for testing it.
I have moved this to the Testing List, because ideally we do need to know if this is a consistent problem that still needs further fixing or if it is OK now.

At least this way we won't forget.
 
Back
Top