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

Included in Build Hornblower updates

That was actually an original part of the "professionalnavy" functionality as created for Hornblower.
I always assumed that was to prevent the shore crew from interfering with the quest.
I'll need to think about this. If shore crew can mess up the quest then they need to be prevented throughout the story, including at those points where Hornblower is a captain. What exactly do shore crew do? Provide some help if you get into a fight, and cause random additional fights? Anything else?

You may consider using this there instead:
Code:
LeaveService(PChar, ENGLAND, false);
That is actually the function that removes both the "professionalnavy" and "isnotcaptain" attributes.
Done. :onya
 
You're spot on for what shore crew do.

At the time they didn't respect the "vcskip" attribute either, but now they do.
So perhaps they indeed can be enabled just fine and vcskip can be used for specific quest cases that can mess them up.

Or I can add a line so that as soon as you are "notcaptain", the shore crew immediately disappear again?
I'm also thinking what happens if they're active and you get captured through the story.
They don't acknowledge that, of course. :facepalm

And what about hiring officers when you're in command and then still having them when your command is taken away again?
 
I don't think shore crew are going to do much harm to the main story. You're captured, then if they show up in the prison, so what? It's just a series of dialogs anyway. Unless they manage to trigger a prison riot which results in you getting killed, in which case, tough luck, maybe you shouldn't have brought them along - there are plenty of other ways in the main story to get yourself killed by making a wrong decision, so at worst this is just another one. As I understand it, the main purpose of taking shore parties is to get some help against random enemies e.g. bandits in the jungle, and situations where random bandits can mess things up are already covered by 'vcskip' commands. (If shore crew are going to be a problem in the prison fort, and if they obey 'vcskip', then there's an obvious solution!)

Officers which were assigned to you by the quest (Lt. William Bush and Lt. Uriah Quelp) go their own way when you're decommissioned - at least, they do now. Anyone else you encountered along the way, e.g. Fred Bob or Artois Voysey, are the results of side quests and I'd be inclined to leave them. You can do those side quests regardless of your position in the main story, including when you're a lieutenant, or even just a midshipman, so it would be a bit unfair to then remove these companions when you're decommissioned and revert to lieutenant. And I don't want those side quests disabled because those guys are really useful if an enemy ship appears while you're on your way to your next quest destination, and you do your duty as a naval officer by attacking it. You don't want to put a quest officer in command of it, but you're perfectly safe to use Artois Voysey as a prize captain.
 
My original thinking was to disable the sidequests that give you officers if you're "notcaptain".
After all, it shouldn't be your business to do those, right? But I suppose you cna just "pretend you received orders to do so".
Then if sidequest characters are OK, I suppose random officers are too.

So.... pretty much keep the behaviour as-is, then?
 
Yes, I'm happy with the behaviour as it is. I don't want to spoil a player's fun unless it's really necessary to prevent the quest from breaking.

Meanwhile, here are the new texture files for Sharpe. (I tried uploading the whole lot as a single zip file and the system complained that it was too big. Presumably there's a 2MB limit on file size. "Characters.zip" by itself just manages to sneak in under the limit, and "INTERFACES.zip" is no problem at all.) Put them into the relevant places in "RESOURCE\Textures".
 

Attachments

  • Characters.zip
    1.8 MB · Views: 179
  • INTERFACES.zip
    894.2 KB · Views: 170
Yes, I'm happy with the behaviour as it is. I don't want to spoil a player's fun unless it's really necessary to prevent the quest from breaking.
Fair deal. :doff

Presumably there's a 2MB limit on file size.
There is indeed. I can probably change that in the forum ACP, but I never really saw the need.

Meanwhile, here are the new texture files for Sharpe. Put them into the relevant places in "RESOURCE\Textures".
Thanks very much!
Are there any other code changes I should be having or is that it?
 
Ah. I forgot. You'll also need this so that redcoat Sharpe gets the right interface icons. He uses model "Soldier_Eng7_18", which by default uses face 452 and so do all the rest of the riflemen, which means if I change face 452 to be the new one for Sharpe, everyone else gets Sharpe's face on their icons as well, as I found out when I went to ask Rifleman Mansfield where the regiment was on Cayman. :facepalm

So this version of "initModels.c" has "Soldier_Eng7_18" use face 567, which is now redcoat Sharpe's icon, and face 452 is unchanged. I don't think "Soldier_Eng7_18" is used anywhere else, but as the model now has Sharpe's face then it may as well have his icons as well, so as of now "Soldier_Eng7_18" is redcoat Sharpe. :D
 

Attachments

  • initModels.c
    450.5 KB · Views: 171
I don't think "Soldier_Eng7_18" is used anywhere else, but as the model now has Sharpe's face then it may as well have his icons as well, so as of now "Soldier_Eng7_18" is redcoat Sharpe. :D
That may require double-checking using the Windows Search Index trick:
Tutorial - Modding Tips & Tricks | PiratesAhoy!

If it truly IS a quest-only character, I'd be tempted to rename that model to something that actually names it "Sharpe" so it is clear it isn't a generic one.
 
I already thought of using Windows Search. ;) If you do rename the model, you'll also need to change it in Hornblower's "Story.c". Sharpe's definition already seems to have changed, it's currently "Soldier_Eng7_18" with "Soldier_Eng3_18" commented out.
 
That statement was made after the Windows Search. ;)
Ah, right! Sorry, I misunderstood you there.
Then indeed the renaming is optional, just to prevent potential future confusion.
But it will be OK in the game and that's what matters. :onya
 
First I'd like to know that the alternative music I've arranged for the opening plays on other people's PC's.
I just tried and that seems to work fine.
Hornblower TV series music at the beginning and the Sharpe singing at the end both. :onya

However, continuing from the jump-start, I did have some troubles with Wolfe.
It seemed that LAi_ActorFollowEverywhere didn't working right for him at first, but executing the same lines of code again convinced the quest to continue.
Might have been because I wasn't playing the game properly, but skipped everywhere.
I had very little time available, but since you asked your work to be tested, I figured somebody should actually do it. :cheers

I did manage to get Sharpe killed in the boarding of the Meduse, but thankfully he resurrected and the quest completed as it should. :onya
 
Thanks for doing the testing! :cheers

That's strange about Wolfe. Where during the game did he fail to follow you - in prison, in Bridgetown, or on Hispaniola?

What does 'LAi_ActorFollowEverywhere' actually do? I'd assumed it meant the obvious, i.e. that the actor follows you everywhere, but that may not be the case. If the problem is happening when you leave Bridgetown prison or at Boca de Yuman then another 'LAi_SetOfficerType' may be needed at case "wolfe_out_of_jail" and possibly at "Hispaniola_shore_for_Quelp".

Sharpe should be a bit tougher after a proper playthrough, plus he gets a shiny new sword along with his promotion to lieutenant. If he's still too vulnerable thanks to the "balancing" of enemies then I may need to restore his and Harper's immortality...
 
That's strange about Wolfe. Where during the game did he fail to follow you - in prison, in Bridgetown, or on Hispaniola?
This is what I remember:
- Got out of the prison after "freeing" Wolfe
- Auto-talked with Sharpe, then auto-talked with Wolfe
- Wolfe was NOT near me at the time; in fact, he was standing by the gates leading towards the port for some reason and didn't seem to move
- Used a QuestReloadToLocation to teleport to Boca de Yuman
- Sharpe auto-talked to me, but Wolfe did not answer afterwards; I don't remember seeing Wolfe in the location at all
- This is when I executed LAi_SetActorType and LAi_ActorFollowEverywhere through console
- Went to the next location, where I now DID see Wolfe again, but he still didn't seem willing to move
- Went back to Boca de Yuman. Wolfe was there again, but still seemed frozen until he suddenly DID start moving towards me
- Executed some quest code through console again to trigger the dialog with Sharpe again; this time Wolfe did respond as he should

After that, it all seemed to work as intended. Not sure why it happened like that, but that's what I got. :confused:

Sharpe should be a bit tougher after a proper playthrough, plus he gets a shiny new sword along with his promotion to lieutenant. If he's still too vulnerable thanks to the "balancing" of enemies then I may need to restore his and Harper's immortality...
He got resurrected when he was needed again, so you can just imagine that he got wounded and didn't truly die.
The quest continued fine, so this is quite a non-issue.

I also was NOT playing very well at all, just trying to get through in the least possible time.
Because the cannon battle with the Loup-Garou took far too long for my liking, I immediately went for boarding on the Meduse just to save time.
With godmode enabled, this was the fastest way for me to get to the next part. That was admittedly terrible, terrible strategy on my part...

Boarding balancing will probably be changing before the weekend is over anyway.
So at the moment I don't think anything is needed there. I just mentioned it since it did happen like that.
In fact, I was afraid it would break the quest, but it didn't, so was actually quite impressed. Consider it a compliment! :onya
 
This is what I remember:
- Got out of the prison after "freeing" Wolfe
- Auto-talked with Sharpe, then auto-talked with Wolfe
- Wolfe was NOT near me at the time; in fact, he was standing by the gates leading towards the port for some reason and didn't seem to move
What the blazes is he doing there? He's supposed to spawn at "officers/reload27_2", which is just outside the prison - look at case "wolfe_out_of_jail". Can you run the quest again, then let me have the log files from that point?

- Used a QuestReloadToLocation to teleport to Boca de Yuman
- Sharpe auto-talked to me, but Wolfe did not answer afterwards; I don't remember seeing Wolfe in the location at all
Were Harper and Haggman there as well? Again, I'd like to see log files from this point, they may provide a clue as to why Wolfe didn't show up.

- This is when I executed LAi_SetActorType and LAi_ActorFollowEverywhere through console
- Went to the next location, where I now DID see Wolfe again, but he still didn't seem willing to move
- Went back to Boca de Yuman. Wolfe was there again, but still seemed frozen until he suddenly DID start moving towards me
Possibly a side-effect of using 'QuestReloadToLocation' instead of sailing there, though I doubt it.

I also was NOT playing very well at all, just trying to get through in the least possible time.
Because the cannon battle with the Loup-Garou took far too long for my liking, I immediately went for boarding on the Meduse just to save time.
With godmode enabled, this was the fastest way for me to get to the next part. That was admittedly terrible, terrible strategy on my part...
Of course, if you have godmode enabled, you should have no trouble defeating the crews of those ships. Remember that you can put godmode on your companions as well. ;) Personally, I always have "REALISTIC_ABILITIES" and "ALLOW_LOCKED_PERKS" disabled in "InternalSettings.h" anyway, so whether by earning ability points through genuine gameplay or giving myself levels by cheatmode, I have "Instant Board" to speed up the action here. :D Loup-Garou should be easy, it's just a sloop. Meduse is supposed to be your equal, a 6th rate frigate. Which, incidentally, you don't need to defeat. The condition to trigger the next quest event is your arrival at Bridgetown. If you defeat Meduse then you get an extra questbook entry, if you run away and get to Bridgetown then you should get the end sequence with Sharpe, Harper and Haggman anyway. Of course, defeating the Meduse is probably quicker than running away!
 
At the moment I have no access to my game files, but I think I still have the compile.log from that playthrough, so should be able to post it.
I'm not sure I can spare the time to try again, but let me know if the log file I've got isn't enough to go on....
I found it as strange as you do; as far as I can tell, the code is functionally correct.

Of course, if you have godmode enabled, you should have no trouble defeating the crews of those ships. Remember that you can put godmode on your companions as well. ;)
Of course I could have done. But I didn't. Actually, I thought they already were immortal.
Anyway, it's good to know that it doesn't break the quest.

Loup-Garou should be easy, it's just a sloop.
I was surprised by how NOT easy it was. Maybe my New Game skills were too low (I didn't use the Level-Up cheat at all) or the ship had tiny cannons installed?
Though since she should be given with GiveShip2Character, I don't think that should have been the case....

Meduse is supposed to be your equal, a 6th rate frigate. Which, incidentally, you don't need to defeat. The condition to trigger the next quest event is your arrival at Bridgetown. If you defeat Meduse then you get an extra questbook entry
Indeed I saw that in the code, but I figured since I was in the battle anyway, I might as well test that part too. :doff
 
At the moment I have no access to my game files, but I think I still have the compile.log from that playthrough, so should be able to post it.
I'm not sure I can spare the time to try again, but let me know if the log file I've got isn't enough to go on....
I found it as strange as you do; as far as I can tell, the code is functionally correct.
Even stranger is that I've played through the quest, both as a follow-on from completing the game in Beta 3.5 and by C. S. Forester cheat in Beta 4, and had no problems with Wolfe's behaviour.

"Compile.log" is most likely the one I want. "Error.log" usually helps if the game crashed to desktop or refused outright to load "quests_reaction.c" because I made a typo. "Compile.log" is more likely to tell me the progression through quest cases and if a character is failing to move where he's supposed to.

I was surprised by how NOT easy it was. Maybe my New Game skills were too low (I didn't use the Level-Up cheat at all) or the ship had tiny cannons installed?
Though since she should be given with GiveShip2Character, I don't think that should have been the case....
Indeed you do receive Atropos via 'GiveShip2Character', specifically at case "assigned_to_atropos5", with default cannons. They're only 9 pounders, though. And if neither you nor any officer has worthwhile gunnery skills then you'll have trouble hitting the target and you won't get any bonus on damage. (Looking at "Ships_init.c", the Postillionen such as Meduse has 12 pounder cannons, so it's actually a bit more than your equal. On the other hand, you're Hornblower. :D)
 
"Compile.log" is most likely the one I want. "Error.log" usually helps if the game crashed to desktop or refused outright to load "quests_reaction.c" because I made a typo. "Compile.log" is more likely to tell me the progression through quest cases and if a character is failing to move where he's supposed to.
I did actually post my error.log from that here: Fix in Progress - Various problems in error.log | Page 3 | PiratesAhoy!
Not sure those errors are related though. I don't think there are, but there are definitely some unexpected ones there.

Indeed you do receive Atropos via 'GiveShip2Character', specifically at case "assigned_to_atropos5", with default cannons. They're only 9 pounders, though. And if neither you nor any officer has worthwhile gunnery skills then you'll have trouble hitting the target and you won't get any bonus on damage.
The cannons are set to -1, right? So default for her then.
That is most likely the cause, so not actually a bug; just me playing very badly.... :wp
 
The only one which seems, at first glance, to tie in to this is the bit about "dialog.c", line 362, which seems to be it complaining about trying to have a dialog with a dodgy person as defined by 'GetEventData();'. If Wolfe wasn't there when his dialog was supposed to happen then it might have caused that, though it doesn't help me figure out why Wolfe wasn't there...

Cannons for Atropos are indeed set to -1, i.e. default. You're not playing any worse than I was when I used the shortcut to test this under Beta 4. Either I went to the trouble of sailing up to the ship and boarding it as soon as possible; or I used cheatmode to give myself some levels, which got me perks, which got me "Instant boarding", which got me onto the target ships very quickly. xD I managed to keep Sharpe alive but I did get Harper killed during the land battle, and he also got resurrected in time for the farewell parade. Nor is this the only time when someone gets killed in a fight and resurrected later, but usually they get renamed, which is why you'll find code renaming Matthews (during the Antigua land battle) and Haggman (during the extension) back to their original names.
 
Back
Top