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

Fixed Standard Storyline: Danielle Missing at San Juan Tavern

I merged two threads that seemed to be about the same Beta 3.5 WIP issue, which confirms that there IS indeed a problem.
Thanks to @ANSEL, we also have more of a clue now where to look.
 
Somehow @ANSEL's savegame has LAi_group_IsActivePlayerAlarm() on AT SEA, which prevents me from accessing some menus in 3D sailing mode.
Have you got any idea how that might have happened?

Suggestion to prevent such weirdness in PROGRAM\Loc_ai\LAi_groups.c:
Code:
//If the alarm is active for the player
bool LAi_group_IsActivePlayerAlarm()
{
   if (bSeaActive) return false; // PB: This should NEVER be on at sea!
   return LAi_grp_alarmactive;
}
 
Somehow @ANSEL's savegame has LAi_group_IsActivePlayerAlarm() on AT SEA, which prevents me from accessing some menus in 3D sailing mode.
Have you got any idea how that might have happened?

Not a clue! I have been playing with the console, giving me self a couple of blades and some guns, I wont to try them out,
but that will be harmless I think?
 
Last edited by a moderator:
Is this the place to set the code: //Utilities
Udklip.PNG
 
Yes. Will be in my next update to prevent any such future weirdness.
Also, this was NOT related to the actual issue at hand; I'm still looking into that.
And because your officers were permanently erased, they aren't coming back. :facepalm
 
Actually, executing this code through console MIGHT at least allow you to continue play:
Code:
Pchar.Temp.Officer.idx1 = GetCharacterIndex("Blaze_Crewmember_01");
Pchar.Temp.Officer.idx2 = GetCharacterIndex("Blaze_Crewmember_02");
Pchar.Temp.Officer.idx3 = GetCharacterIndex("Blaze_Crewmember_03");
 
It wasn't as bad as I thought! I managed to save your officers, @ANSEL! :woot

Extract attached file to your PROGRAM folder to get the fixed code.
Then execute this through console upon loading the savegame you posted:
Code:
  ch = CharacterFromID("Enc_Officer_6");
   ch.StoredFellow = true; // PB: Flag to prevent erasing this character
   ch = CharacterFromID("Enc_Officer_8");
   ch.StoredFellow = true; // PB: Flag to prevent erasing this character
Now continue playing and it should be all good again.

ERROR - Quest name to_muelle_complete NOT found in ANY function
Confirmed as well. It got called by this code, but I checked all the way back to the stock game and that code was just never there:
Code:
    case "resque_danielle_18":
       dialog.text = DLG_TEXT[128] + GetMyName(Pchar) + DLG_TEXT[129];
       link.l1 = DLG_TEXT[130];
       link.l1.go = "officer_exit";
       pchar.quest.main_line = "to_secret_redmond_shore";
     /*   pchar.quest.to_muelle.win_condition.l1 = "location";
       pchar.quest.to_muelle.win_condition.l1.location = "Muelle_town_01";
       pchar.quest.to_muelle.win_condition = "to_muelle_complete";*/
       AddQuestRecord("search_danielle", 23);
       CloseQuestHeader("search_danielle");
       SetQuestHeader("revenge_for_silehard");
       AddQuestRecord("revenge_for_silehard", 1);
     break;
As you can see, I have outcommented here as it serves no purpose other than to cause an error message.
 

Attachments

  • MAXIMUS_Functions.zip
    34.5 KB · Views: 99
Also major thanks to @ANSEL and also @Johivas for finding and reporting this issue.
It has the potential of being quite a nasty one that could possibly also have affected game versions before the Beta 3.5 WIP, though much less likely.
As I have applied a pretty generic fix, any stored officers should never be erased or overwritten again.
 
Back
Top