• 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: Governor Silehard Does Not Allow Promotions

Hotshot

Freebooter
Storm Modder
Hi,

is there a console command (or can I speak to someone) to get points I currently have (for any one nation)?
Just so I know how many points I still need to make :)

Thanks!
 
Its not quite clear for me, what you mean?
 

Attachments

  • seadogs2_0000.jpg
    seadogs2_0000.jpg
    421 KB · Views: 109
is there a console command (or can I speak to someone) to get points I currently have (for any one nation)?
Just so I know how many points I still need to make :)
Indeed as @ANSEL shows, the number of points you have per nation is shown in F2>Nations Relations.

Here you can find the number of points you need for each promotion:
New Horizons National ranks | PiratesAhoy!
You're currently on English Rank 5, which is "Commander". Rank 6 requires 107.72 points, which you already have.
This is why your rank title shows as "Green" to indicate that you're ready for promotion.
Just talk to any English governor, excluding Robert Christopher Silehard because his custom quest dialog doesn't support promotions.

Michael Smith in Charlestown, Nevis seems quite happy to promote you right now. You may need to talk to him twice.
Because you haven't talked to him yet, he first "needs to get to know you" (read: he needs to get to his "default dialog case").
 
Last edited:
Indeed as @ANSEL shows, the number of points you have per nation is shown in F2>Nations Relations.

Here you can find the number of points you need for each promotion:
New Horizons National ranks | PiratesAhoy!
You're currently on English Rank 5, which is "Commander". Rank 6 requires 107.72 points, which you already have.
This is why your rank title shows as "Green" to indicate that you're ready for promotion.
Just talk to any English governor, excluding Robert Christopher Silehard because his custom quest dialog doesn't support promotions.
Perhaps give Silehard the line 'ch.Dialog.Filename.GroupDialog = "governor.c";' in his definition, then delete the "Dialog.Filename.GroupDialog" attribute when he turns nasty? That way he would be able to give promotions and do the rest of his job as governor. Or put the regular governor stuff back into his own dialog files. He certainly used to be able to hand out promotions.
 
Perhaps give Silehard the line 'ch.Dialog.Filename.GroupDialog = "governor.c";' in his definition, then delete the "Dialog.Filename.GroupDialog" attribute when he turns nasty? That way he would be able to give promotions and do the rest of his job as governor. Or put the regular governor stuff back into his own dialog files. He certainly used to be able to hand out promotions.
I have a vague recollection that splitting his quest dialog from the regular governor dialog was a bit of a pain for him.
So since there are other English governors available anyway, I probably didn't bother going through the trouble.
And I was also afraid of potential quest interference.

But this was all quite a while back and I may be misremembering. So by all means, please try.
It should be possible to get it working for sure. Someone just needs to do it.
 
There certainly didn't seem to be any conflict last time I played "Tales of a Sea Hawk", which was ages ago, probably before the governor dialog split. You didn't get a LoM for free from Silehard at that time because the new international relations system hadn't been invented so it wasn't necessary, but I bought one from him anyway, and then got promotions from him as he was the English governor I was most likely to visit. These stopped, of course, when I joined forces with Danielle and got the idol from Bridgetown.

If I remember correctly - and if the storyline hasn't changed - Port Royale townhall is locked after the Bridgetown idol incident. So the next time you see Silehard is when you board Sovereign of the Seas at Cozumel, and the only way you talk to him is if he surrenders. At that time he probably switches to a different dialog file anyway, the same one used by any surrendering captain, but just in case not, it would be worth deleting the "Dialog.Filename.GroupDialog" attribute so he can't offer you a promotion for sinking his pirate friends.
 
By all means, please try:
Code:
characters[GetCharacterIndex("Robert Christopher Silehard")].Dialog.Filename.GroupDialog = "governor.c";
I'd be quite happy if that works. :yes
(Please check syntax)
 
OK, here are "PROGRAM\Storyline\standard\characters\Story.c" and "PROGRAM\Storyline\standard\quests\quests_reaction.c".

The first has 'ch.Dialog.Filename.GroupDialog = "governor.c";' added - syntax should be correct because I copied it from another governor's character definition.

The second has 'DeleteAttribute(characterFromID("Robert Christopher Silehard"), "Dialog.Filename.GroupDialog");' added to case "both_to_residence_complete", which is where you and Danielle teleport to Silehard's bedroom to talk to him about treasure and he talks about guards instead. If I remember correctly, this is the first point where he definitely won't be doing his governor job any more.

Volunteer needed to play through the story with these added and see if Silehard offers promotions, ship-hunting quests and other governor stuff when he's supposed to, and doesn't offer them when he's not supposed to.
 

Attachments

  • Story.c
    70.4 KB · Views: 77
  • quests_reaction.c
    342.2 KB · Views: 88
Just to be sure, is there still any "general governor code" in Silehard's personal dialog file?
I'm not sure if I did or didn't get rid of that back in those days....
 
Possibly this:
Code:
  // LDH --> 12Jan09
           if (CheckQuestAttribute("generate_kill_quest", "completed"))
             Link.l2 = DLG_TEXT[21];     // Your task has been carried out.
           else
             Link.l2 = DLG_TEXT[11];     // I was hoping you had work for an able captain.
   // LDH <--
           Link.l2.go = "random quests";
 
Probably nothing if Silehard can't give ship-hunting quests. It may get in the way if the "governor.c" dialog generates one and Silehard's dialog takes over when you return to report completion because that link just goes to case "random quests", which in turn has him say "Alas, I have nothing for you at the moment. Though feel free to inquire later." and you can then reply "I have business to discuss." which leads to quest stuff that, in Silehard's dialog file, is only storyline quests. I suspect that the condition checking attribute "generate_kill_quest" can go, as "governor.c" should be handling that.
 
I suspect that the condition checking attribute "generate_kill_quest" can go, as "governor.c" should be handling that.
Sounds about right.

Also, the "general quests" node should have the same same name between Silehard's dialog and the governor.c file so that the game code knows to merge the two.
 
OK, try this. Case "random quests" is now "quests", the same as in "governor.c". As "governor.c" defines links 1 and 2 to be ship-hunting and smuggling, Silehard's version now uses link 3 to get to case "quest lines", which is where Silehard's dialog deals with storyline quest cases. And as "governor.c" now goes as far as link 7 in its options, Silehard's dialog now exits case "First time" on link 8.
 

Attachments

  • Robert Christopher Silehard_dialog.c
    35 KB · Views: 84
As "governor.c" defines links 1 and 2 to be ship-hunting and smuggling, Silehard's version now uses link 3 to get to case "quest lines", which is where Silehard's dialog deals with storyline quest cases. And as "governor.c" now goes as far as link 7 in its options, Silehard's dialog now exits case "First time" on link 8.
That should actually not be necessary; the "l" links should not overwrite each other, but end up getting shown in order.
Can't remember the specifics of how that order works. I had some difficulties with that when I was working on tavern.c, but that now behaves itself.
 
So since there are other English governors available anyway, I probably didn't bother going through the trouble.
Yes! I cant see this is a problem, Cayman isent far away, so you can go there to be promoted or get a ship hunting?

And since Silehard is dealing with pirates and smugglers, why should he want anybody
to hunt them down?
 
Last edited:
Hunting down pirates who aren't part of his gang? Hunting down smugglers who didn't pay him a suitable bribe?

Or he could be maintaining his cover - he's going to look suspicious if he's the only governor in the Caribbean who isn't seen to be trying to uphold law and order by trying to deal with pirates and smugglers.

Anyway, what's about the first thing he says when you report the attack on Speightstown?
Heavens! This news is most unsettling... how can the pirates be so bold and coordinated in these waters? Captain Tomlison assured me his squadron had caught or sunk the most dangerous of the scoundrels in the surrounding area!

So he's already sent his forces to hunt down pirates. It should be no surprise if he hires you to hunt some more.

Another point is that Silehard used to do all the usual governor stuff, including sell a Letter of Marque, then hand out promotions. It's a shame that ability has been lost, especially if it's as easily restored as I hope. On the other hand, if it's not that easy then fine, you'll need to go somewhere else and talk to a real governor. Another governor requires my attention so I can't divert much work to this one...
 
Last edited:
Silehard is corrupt, and I think we should have such a bastard in the game. In real life
some of the Danish governors was almost pirates themselves, working very close together
with the pirates. So if there is going to be any change to Silehard please make him worse.
About the first thing he says, he could be tactical to disguise his real I :pflag
 
I'd appreciate if someone could try the files proposed by @Grey Roger.
Then at least we'll know if Silehard can actually work OK with the regular governor stuff.

We can then always choose to not enable that. Or have that toggled in one way or another.
 
Back
Top