• 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 Corrected No-Save Monks

Here's the two amended files to allow saving with a holy relic (aka cross) at a church but not the Abbey and amended dialogue to point to it.

Please do. :bow

@DavyJack Is that enough of a tweak or is it larger (over the 4) skill contribution you desire?


EDIT Slight amendment to the message you get if you can't save to mention sanctuary - saveload.c updated ENDEDIT
 

Attachments

  • monk_dialog.h
    9.2 KB · Views: 257
  • save_load.c
    56.9 KB · Views: 275
Last edited:
There are a couple of problems with the monks. One is that when I try to save game in a church, sometimes there is no option to save a new game, only to save over an existing game. Screenshots of a blocked save showing the "New Save" option, and saving allowed while in San Juan church:
no_save.jpg save_in_church.jpg

The other is that taking a cross to a different monk doesn't seem to work! Having taken a cross from the monk on Puerto Rico, I then took it to the monk to whom it was supposed to be given, who did not say anything about taking the cross from me and instead offered a new one. The reason is in "monk_dialog.c":
Code:
       if (CheckAttribute(PChar,"NoSave.CarryRelic") && PChar.NoSave.CarryRelic != "none")
       {
           NextDiag.CurrentNode = "Next time after select_relic";
       }
       if (CheckAttribute(PChar,"NoSave.CarryRelic") && PChar.NoSave.CarryRelic == "none")
       {
           NextDiag.CurrentNode = "Next time after reject_relic";
       }
'NextDiag.CurrentNode' is what the character will say next time you talk to him and is reset in case "exit". So this code has no effect and the receiving monk just goes into the normal dialog. I changed it to 'Dialog.CurrentNode', which is what the switch that controls the dialog looks for, and then the receiving monk took the cross.

There's also a slight mistake in "monk_dialog.h":
"I'm sure that I'll find him, when I want to leave the archipelago. Thank you and farwell!"
The corrected dialog files are attached.
 

Attachments

  • monk_dialog.c
    15.7 KB · Views: 289
  • monk_dialog.h
    9.2 KB · Views: 285
There are a couple of problems with the monks. One is that when I try to save game in a church, sometimes there is no option to save a new game, only to save over an existing game. Screenshots of a blocked save showing the "New Save" option, and saving allowed while in San Juan church:
Is that second screenshot saving whilst not in a church?? or what?

The other is that taking a cross to a different monk doesn't seem to work! Having taken a cross from the monk on Puerto Rico, I then took it to the monk to whom it was supposed to be given, who did not say anything about taking the cross from me and instead offered a new one. The reason is in "monk_dialog.c"

Hmm good catch see post #57 above, pretty much proves no-one has used it in 5 years.
 
The first screenshot is where I'm not in church. The save interface shows the option for a new savegame, but actual saving is blocked because I have a relic.

The second screenshot is in church. I can save game while carrying a relic. There is no option for a new savegame, I can only replace an existing savegame.
 
The first screenshot is where I'm not in church. The save interface shows the option for a new savegame, but actual saving is blocked because I have a relic.

The second screenshot is in church. I can save game while carrying a relic. There is no option for a new savegame, I can only replace an existing savegame.
Is that repeatable, do you have a save? (Yes I know how that sounds - do you have a save of a no save game) I have tried console leaping round the Caribbean and in over 25 church visits have been unable to reproduce it.

Since all I have effectively done is open saving under a specific condition I'm not sure how this would be caused by that somewhere in saveload presumably
 
You could do what I did to create that game in the first place. Start a FreePlay game as a Spanish character; you probably want to start as a Swordmaster because the first thing you will do is go to the jungle and then to the pass, where you'll meet a bunch of thugs before you meet the monk. Save game before talking to the monk. And now you have pretty much the same position as one of the saves shown in those screenshots. (My character is actually a Corsair with a load of promotions due to cheatmode. His original purpose was to test some of my revised code for marrying a governor's relative. That's why the other save shown in the screenshot is in San Juan townhall. :D)
 
Additional information:
This only seems to happen after I've tried to save while not in a church. I talked to the monk, got a cross, went back to San Juan town, into the church, and the save game interface allowed a new save. After going outside, trying to save and getting the blocked message, I went back into church, tried to save, and the interface did not allow a new save. The effect seems to be temporary - after testing the save interface in San Juan church, I went to Bridgetown (the cross this time has to go to Speightstown but that has no church and Bridgetown is on the same island). Inside Bridgetown church, the interface now showed the option for a new save. That is, until I went back outside, tried to save, and then went back to church.

Summary: the bug only happens if you follow a specific sequence which just happens to be the sequence I followed while testing. The effect is temporary. Don't bother about it unless you can think of an easy fix.
 
Additional information:
This only seems to happen after I've tried to save while not in a church. I talked to the monk, got a cross, went back to San Juan town, into the church, and the save game interface allowed a new save. After going outside, trying to save and getting the blocked message, I went back into church, tried to save, and the interface did not allow a new save. The effect seems to be temporary - after testing the save interface in San Juan church, I went to Bridgetown (the cross this time has to go to Speightstown but that has no church and Bridgetown is on the same island). Inside Bridgetown church, the interface now showed the option for a new save. That is, until I went back outside, tried to save, and then went back to church.

Summary: the bug only happens if you follow a specific sequence which just happens to be the sequence I followed while testing. The effect is temporary. Don't bother about it unless you can think of an easy fix.

Thanks for the extra info I was struggling to track down a consistent example before that. Now I can. :onya It seems you can also clear the problem if you have tried to save and got blocked by clicking on profile in the save screen then load in the profile screen and it returns with the new save now ready in the save interface ! (That's as well as just cancelling the save and then trying again) I might play about a bit more but I doubt I can (quickly) find what is causing it.
 
<"Mission Impossible" music>
Your mission, should you choose to accept it, is to locate the monk "somewhere in St. Pierre". Feel free to search any or all houses.

If you still can not find the monk, widen your search to include all of Martinique.

As usual, should any of your force be captured or killed, the NH modders will disavow any knowledge of your action.

This message will not self-destruct because that feature has not yet been implemented.
 
<"Mission Impossible" music>
Your mission, should you choose to accept it, is to locate the monk "somewhere in St. Pierre". Feel free to search any or all houses.

If you still can not find the monk, widen your search to include all of Martinique.

As usual, should any of your force be captured or killed, the NH modders will disavow any knowledge of your action.

This message will not self-destruct because that feature has not yet been implemented.

Sounds a better task than the last one (trying to find where the blocking of the save altered the new save at the next attempt). I seem to remember all the original monks having some fancy positioning that the check for being the right one wouldn't pass (or something). So I guess I choose to accept it (in a way).
 
<"Mission Impossible" music>
Your mission, should you choose to accept it, is to locate the monk "somewhere in St. Pierre". Feel free to search any or all houses.

If you still can not find the monk, widen your search to include all of Martinique.

As usual, should any of your force be captured or killed, the NH modders will disavow any knowledge of your action.

This message will not self-destruct because that feature has not yet been implemented.
:rofl
 
Found him!
Yes, you found that the problem was the lack of a "monk:goto1" locator for the beach. Having come to the same conclusion, I've also added the locator. Mine is some distance along the beach to put the monk well away from anything else that may happen there - we don't want him caught in the crossfire if you're smuggling to Martinique and are caught by the coastguard, for example! I'll have a look at your file to see where you put him, then decide which one is going into the update.

I've also added a couple of lines to the "Hornblower" storyline to make doubly sure. Victor Hugues is removed shortly before you go to the shore for a big set-piece battle with French soldiers, and put back again when you arrive at Speightstown. And I changed a couple of lines in "PROGRAM\Characters\init\monks.c" to refer to islands Martinique and Bonaire rather than towns St. Pierre and Kralendijk. ("#sisland_Falaise de Fleur#" and "#sisland_Douwesen#" instead of "#sFalaise de Fleur#" and "#sDouwesen#".)
 
Yes, you found that the problem was the lack of a "monk:goto1" locator for the beach. Having come to the same conclusion, I've also added the locator. Mine is some distance along the beach to put the monk well away from anything else that may happen there - we don't want him caught in the crossfire if you're smuggling to Martinique and are caught by the coastguard, for example! I'll have a look at your file to see where you put him, then decide which one is going into the update.

I've also added a couple of lines to the "Hornblower" storyline to make doubly sure. Victor Hugues is removed shortly before you go to the shore for a big set-piece battle with French soldiers, and put back again when you arrive at Speightstown. And I changed a couple of lines in "PROGRAM\Characters\init\monks.c" to refer to islands Martinique and Bonaire rather than towns St. Pierre and Kralendijk. ("#sisland_Falaise de Fleur#" and "#sisland_Douwesen#" instead of "#sFalaise de Fleur#" and "#sDouwesen#".)

Don't bother not much thought went into my placement.

The change of location description will reduce some frustration for anyone who doesn't know where they are from previous playthroughs. I get the impression one original intention was to have them randomly round the island just for the heartache involved in hunting them. Hmm there's an idea! nah.
 
Last edited:
Back
Top