• 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 Hornblower Storyline: Attack on Antigua (Dead rifleman and nothing happens)

lucho1392

Sailor Apprentice
Well based on this walktrough (http://www.piratesahoy.net/wiki/chronicles-of-horatio-hornblower-walkthrough/#antigua-land-battle) I am in the part where "Talk to Sharpe [TRAP] (according to your answer)" but after Sharpe founds the bodies he talks to me and I am not able to choose any answer he just stop talking and nothing happens:modding Idk if this could mess the quest and game... Before getting to Antigua boarded new ship and assigned Bush has captain and obviously when I arrive to Antigua theres the attack going on so cant sell ship and cant get Bush with me.... If this do broke my game well I am FU#$% cuz oldest save game is at port :rofl:rofl:rofl
 

Attachments

  • -=Hornblower=- QuickSave 45.rar
    584.4 KB · Views: 101
  • compile.log
    14.1 KB · Views: 92
  • system.log
    6.8 KB · Views: 99
  • bugg.png
    bugg.png
    2 MB · Views: 99
The last code that executed:
Code:
Quest name What_happened_here3 FOUND in QuestComplete
Template <follow> -> timeout chr.id = Richard Sharpe
Template <follow> -> teleport chr.id = Richard Sharpe to pos(3.7948, -1.5656e-002, -18.382)
Template <follow> -> path not found chr.id = Lt. Uriah Quelp
Quest name Quelp_moves_them_along FOUND in QuestComplete
It seems that the "Lt. Uriah Quelp" character isn't there, who is probably the one who needs to talk to you based on the last quest name called.
 
Did you manage to talk to Quelp in the previous scene? Either there's a time delay or you need to be standing in exactly the right place because I always have trouble getting to talk to Quelp just after the battle.
 
Seems the game can't find the right path.
Maybe add a go to locator first so after that it can find the path...
 
Seems the game can't find the right path.
Maybe add a go to locator first so after that it can find the path...
That can happen when the character isn't in the location in the first place.
Would require checking the code a bit.
 
:modding Idk if this could mess the quest and game... Before getting to Antigua boarded new ship and assigned Bush has captain and obviously when I arrive to Antigua theres the attack going on so cant sell ship and cant get Bush with me.... If this do broke my game well I am FU#$% cuz oldest save game is at port :rofl:rofl:rofl

Very Probably - it has messed things up - this is not a story where you can do whatever you want ( at least not until you have completed the story ) - you have just follow the story - don't change ships - don't allocate officers to ships etc. Just do what you are told - after all your in the Navy now :napoleon xD
 
If somebody with a bit coding knowledge plays through this again, it might be worthwhile to adding some lines of code to prevent such things.
Definitely possible and has been done in the Standard Storyline code from the stock game as well.
It was just never done for the mod-added storylines. :facepalm

The way is to use lines like these:
Code:
SetCharacterRemovable(characterFromID("Researcher"), false);
Works for officers ashore and also for companions.

There is also:
Code:
SetCargoLocked(rTrader, true);
Though that one is not quite as relevant.
 
It seems that the "Lt. Uriah Quelp" character isn't there said:
I guess he is the one who continues the quest but no sign of him.

Did you manage to talk to Quelp in the previous scene? Either there's a time delay or you need to be standing in exactly the right place because I always have trouble getting to talk to Quelp just after the battle.
Yes i was able to.

Seems the game can't find the right path.
Maybe add a go to locator first so after that it can find the path...
Idk how can I do such a thing.

Very Probably - it has messed things up - this is not a story where you can do whatever you want ( at least not until you have completed the story ) - you have just follow the story - don't change ships - don't allocate officers to ships etc. Just do what you are told - after all your in the Navy now :napoleon xD
Looks like it is not a problem cuz loaded oldest game and went to Nevis, sold ship, Bush free, went to Aruba and same bugg.

Thak you all for the supp I really want to end the story so any solutions are welcome :3
 
Very Probably - it has messed things up - this is not a story where you can do whatever you want ( at least not until you have completed the story ) - you have just follow the story - don't change ships - don't allocate officers to ships etc. Just do what you are told - after all your in the Navy now :napoleon xD
I thought this had already been arranged. You can't change ships and you can't sell your own ship; this, I believe, is part of general naval officer behaviour, not just Hornblower. You can't re-arrange officers, which is why I had to arrange for Fred Bob to go to any unoccupied slot when you do the "Help the Boatswain" side quest - originally he took the same slot occupied by one of the quest officers, displacing that officer and breaking the next part of the quest because you can't put the officer back.

As for Quelp: I played the savegame supplied by @lucho1392 and now I'm puzzled. Quelp doesn't appear in the jungle scene with the dead riflemen because he's still stuck in the previous location with the waterfall where you fought the French cannons. I actually managed to complete this part by going back and forth between the waterfall scene and the jungle scene, so Quelp could say his pieces and then we could continue to the beach. The problem is easily rectified with a command to place Quelp in the jungle section, so what puzzles me now is: why did this ever work before? Quelp has always been in the jungle scene when I played through the game, and in fact I was able to play the story to conclusion before, which is how I got to add and check the extension which ends the story and switches to free-play.

So here's "quests_reaction.c" with the relevant move command for Quelp added. In addition, I've added a command to increase the radius of locator "goto60" in the waterfall scene. That's where you have to stand so that Quelp says his piece about a midshipman, and the increased radius should make it easier to trigger the dialog.

By the way, the vcskip line in 'case "Sharpe_asks_questiions"' doesn't seem to work. I sometimes meet highwaymen in the jungle scene.
 

Attachments

  • quests_reaction.c
    779.2 KB · Views: 121
Copy this file to your PROGRAM\QUESTS folder and take a savegame from before you enter the location. Now it should work.
 
Copy that file into "PROGRAM\Storyline\Hornblower\quests". Reload your savegame and try again. Then let me know if the jungle scene with the dead riflemen works.
 
I thought this had already been arranged. You can't change ships and you can't sell your own ship; this, I believe, is part of general naval officer behaviour, not just Hornblower. You can't re-arrange officers, which is why I had to arrange for Fred Bob to go to any unoccupied slot when you do the "Help the Boatswain" side quest - originally he took the same slot occupied by one of the quest officers, displacing that officer and breaking the next part of the quest because you can't put the officer back.
I think the "cannot rearrange officers" thing is a Hornblower-specific feature because he isn't the captain of the ship he sails so doesn't get to decide who does what.
But I can't remember now. :facepalm

As for Quelp: I played the savegame supplied by @lucho1392 and now I'm puzzled. Quelp doesn't appear in the jungle scene with the dead riflemen because he's still stuck in the previous location with the waterfall where you fought the French cannons. I actually managed to complete this part by going back and forth between the waterfall scene and the jungle scene, so Quelp could say his pieces and then we could continue to the beach. The problem is easily rectified with a command to place Quelp in the jungle section, so what puzzles me now is: why did this ever work before? Quelp has always been in the jungle scene when I played through the game, and in fact I was able to play the story to conclusion before, which is how I got to add and check the extension which ends the story and switches to free-play.
Is he normally an officer in your party? If so, that would explain how he gets transferred to whatever location you go to.
Doesn't explain why it doesn't work anymore though, but it would be a start. :confused:

By the way, the vcskip line in 'case "Sharpe_asks_questiions"' doesn't seem to work. I sometimes meet highwaymen in the jungle scene.
Is that added before or after the reload to the offending location?
 
I think the "cannot rearrange officers" thing is a Hornblower-specific feature because he isn't the captain of the ship he sails so doesn't get to decide who does what.
That's probably why I said "You can't change ships and you can't sell your own ship; this, I believe, is part of general naval officer behaviour, not just Hornblower". ;) The bit about not being able to rearrange officers is indeed unique to Hornblower; officially it's because he's not a captain, not even when he is the captain of Le Reve or Retribution. xD Unofficially it's to prevent the player from re-arranging his squad and making a quest officer inactive, thus breaking the next piece of quest which requires him to be there.
Is he normally an officer in your party? If so, that would explain how he gets transferred to whatever location you go to.
Doesn't explain why it doesn't work anymore though, but it would be a start. :confused:
Here are the character assignments, in case "Follow_the_French":
Code:
      LAi_SetOfficerType(characterFromID("Lt. Uriah Quelp"));
       LAi_SetOfficerType(characterFromID("Richard Sharpe"));
       LAi_SetOfficerType(characterFromID("Rifleman Tongue"));
       LAi_SetOfficerType(characterFromID("Patrick Harper"));
       LAi_SetOfficerType(characterFromID("Rifleman Haggman"));
       LAi_SetOfficerType(characterFromID("Rifleman Mansfield"));
       LAi_SetOfficerType(characterFromID("Rifleman Harris"));
Then, in case "a_gruesome_find":
Code:
       ChangeCharacterAddressGroup(characterFromID("Rifleman Tongue"), "Antigua_Jungle_02", "officers", "reload3_1");
       ChangeCharacterAddressGroup(characterFromID("Patrick Harper"), "Antigua_Jungle_02", "officers", "reload3_1");
       ChangeCharacterAddressGroup(characterFromID("Rifleman Haggman"), "Antigua_Jungle_02", "officers", "reload3_1");
       ChangeCharacterAddressGroup(characterFromID("Rifleman Mansfield"), "Antigua_Jungle_02", "officers", "reload3_1");
       ChangeCharacterAddressGroup(characterFromID("Rifleman Harris"), "Antigua_Jungle_02", "officers", "reload3_1");
       LAi_SetActorType(characterFromID("Lt. Uriah Quelp"));
       LAi_SetActorType(characterFromID("Rifleman Tongue"));
       LAi_SetActorType(characterFromID("Patrick Harper"));
       LAi_SetActorType(characterFromID("Rifleman Haggman"));
       LAi_SetActorType(characterFromID("Rifleman Mansfield"));
       LAi_SetActorType(characterFromID("Rifleman Harris"));

       LAi_SetActorType(characterFromID("Richard Sharpe"));
That's the original version. Quelp and Sharpe appear to be treated the same, which makes the current problem even more baffling because Sharpe does follow you to the jungle. Neither Sharpe nor Quelp have "ChangeCharacterAddressGroup" lines.

I've added one for Quelp under the one for Harris, and also diverted a couple of the riflemen to "reload3_2" so they're not all standing on top of each other. Quelp gets "reload3_3" all to himself because he's an officer. xD

Is that added before or after the reload to the offending location?
Before. Possibly too soon - it's at case "Sharpe_asks_questiions". Also, is there a limit on how many vcskips can be active at once? Because there are a lot of 'vcskip = true' lines and no corresponding disable lines...
 
That's probably why I said "You can't change ships and you can't sell your own ship; this, I believe, is part of general naval officer behaviour, not just Hornblower". ;) The bit about not being able to rearrange officers is indeed unique to Hornblower; officially it's because he's not a captain, not even when he is the captain of Le Reve or Retribution. xD Unofficially it's to prevent the player from re-arranging his squad and making a quest officer inactive, thus breaking the next piece of quest which requires him to be there.
As far as I'm concerned, the official reason should be the ONLY reason.
Which means that it could also be deleted earlier in the story once you get your own command, allowing you the freedom to do as a normal commissioned officer.
For any quest officers that may not be removed for story purposes, we should really add the SetCharacterRemovable false lines.

Can you take prize ships during the Hornblower storyline? I can't remember now.
If that is enabled, there is probably no code in place to prevent you from assigning quest officers as captains on those ships, which may have happened for @lucho1392 .
SetCharacterRemovable false should prevent that for specific characters, but the "notcaptain" attribute would NOT.

That's probably why I said "You can't change ships and you can't sell your own ship; this, I believe, is part of general naval officer behaviour, not just Hornblower". ;) The bit about not being able to rearrange officers is indeed unique to Hornblower; officially it's because he's not a captain, not even when he is the captain of Le Reve or Retribution. xD Unofficially it's to prevent the player from re-arranging his squad and making a quest officer inactive, thus breaking the next piece of quest which requires him to be there.

Here are the character assignments, in case "Follow_the_French":
Code:
      LAi_SetOfficerType(characterFromID("Lt. Uriah Quelp"));
       LAi_SetOfficerType(characterFromID("Richard Sharpe"));
       LAi_SetOfficerType(characterFromID("Rifleman Tongue"));
       LAi_SetOfficerType(characterFromID("Patrick Harper"));
       LAi_SetOfficerType(characterFromID("Rifleman Haggman"));
       LAi_SetOfficerType(characterFromID("Rifleman Mansfield"));
       LAi_SetOfficerType(characterFromID("Rifleman Harris"));
Then, in case "a_gruesome_find":
Code:
       ChangeCharacterAddressGroup(characterFromID("Rifleman Tongue"), "Antigua_Jungle_02", "officers", "reload3_1");
       ChangeCharacterAddressGroup(characterFromID("Patrick Harper"), "Antigua_Jungle_02", "officers", "reload3_1");
       ChangeCharacterAddressGroup(characterFromID("Rifleman Haggman"), "Antigua_Jungle_02", "officers", "reload3_1");
       ChangeCharacterAddressGroup(characterFromID("Rifleman Mansfield"), "Antigua_Jungle_02", "officers", "reload3_1");
       ChangeCharacterAddressGroup(characterFromID("Rifleman Harris"), "Antigua_Jungle_02", "officers", "reload3_1");
       LAi_SetActorType(characterFromID("Lt. Uriah Quelp"));
       LAi_SetActorType(characterFromID("Rifleman Tongue"));
       LAi_SetActorType(characterFromID("Patrick Harper"));
       LAi_SetActorType(characterFromID("Rifleman Haggman"));
       LAi_SetActorType(characterFromID("Rifleman Mansfield"));
       LAi_SetActorType(characterFromID("Rifleman Harris"));

       LAi_SetActorType(characterFromID("Richard Sharpe"));
That's the original version. Quelp and Sharpe appear to be treated the same, which makes the current problem even more baffling because Sharpe does follow you to the jungle. Neither Sharpe nor Quelp have "ChangeCharacterAddressGroup" lines.

I've added one for Quelp under the one for Harris, and also diverted a couple of the riflemen to "reload3_2" so they're not all standing on top of each other. Quelp gets "reload3_3" all to himself because he's an officer. xD
A LOT of characters are set to OfficerType there, but of course only 3 fit into your shore party.
Perhaps if Sharpe and Quelp are both in your shore party to begin with, they will work fine, but if one of them isn't there then that one will fail to show up as well.
Might that be the case here?

Before. Possibly too soon - it's at case "Sharpe_asks_questiions". Also, is there a limit on how many vcskips can be active at once? Because there are a lot of 'vcskip = true' lines and no corresponding disable lines...
The game has no limit. It is just a location attribute and as long as you don't remove it again for a location, it will remain in effect.
You could add the attribute to ALL locations and you won't have any such random characters, just like the stock game.

Which might also provide an explanation: Not all characters are generated through the same methods and certainly stock game ones, such as the highwaymen robbers, may not listen to .vcskip in the first place.
 
As far as I'm concerned, the official reason should be the ONLY reason.
Which means that it could also be deleted earlier in the story once you get your own command, allowing you the freedom to do as a normal commissioned officer.
For any quest officers that may not be removed for story purposes, we should really add the SetCharacterRemovable false lines.
Don't forget that you also can't hire officers during "Hornblower". You went to a lot of trouble to plug all the leaks I kept finding. ;) The exception is officers from side quests such as Fred Bob and Artois Voysey; they're still available unless the side quests are disabled, and we also did a bit of work to make sure that such officers don't disappear during "The Devil and the Duchess".

Can you take prize ships during the Hornblower storyline? I can't remember now.
If that is enabled, there is probably no code in place to prevent you from assigning quest officers as captains on those ships, which may have happened for @lucho1392 .
SetCharacterRemovable false should prevent that for specific characters, but the "notcaptain" attribute would NOT.
Yes, you can indeed take prize ships. @lucho1392 did indeed assign Bush as captain of a prize ship, but I don't think that will upset this part of the story.

A LOT of characters are set to OfficerType there, but of course only 3 fit into your shore party.
Perhaps if Sharpe and Quelp are both in your shore party to begin with, they will work fine, but if one of them isn't there then that one will fail to show up as well.
Might that be the case here?
Good point. I don't know off-hand. But Quelp obviously isn't stuck on a prize ship otherwise he wouldn't appear in the waterfall scene either, and you're not allowed to re-assign officers, so I don't know how Quelp could have been a companion before and not be a companion at the time of the savegame except as assigned by the quest. I am going to play through the "Hornblower" storyline again and see if any other new bugs show up, and will try to remember what Quelp is doing when I get to the Antigua battle.
Which might also provide an explanation: Not all characters are generated through the same methods and certainly stock game ones, such as the highwaymen robbers, may not listen to .vcskip in the first place.
That's a bit of a nuisance considering how common highwaymen are now! But that would explain why I've seen highwaymen but no other encounters such as rapists, disorganised thugs or peaceful civilians.
 
Don't forget that you also can't hire officers during "Hornblower". You went to a lot of trouble to plug all the leaks I kept finding. ;) The exception is officers from side quests such as Fred Bob and Artois Voysey; they're still available unless the side quests are disabled, and we also did a bit of work to make sure that such officers don't disappear during "The Devil and the Duchess".
Yep, that was also intentional. But that can be reverted when you gain captaincy too, I reckon.
As long as we use SetCharacterRemovable as appropriate.

For the sidequest officers, perhaps StartStoryline.c should be edited to remove the sidequests and have those enabled only AFTER the main story has completed.
That should be quite possible

Yes, you can indeed take prize ships. @lucho1392 did indeed assign Bush as captain of a prize ship, but I don't think that will upset this part of the story.
It might upset other parts. SetCharacterRemovable!!! :dance
(Ok, I'll shut up now. :cheeky )

Good point. I don't know off-hand. But Quelp obviously isn't stuck on a prize ship otherwise he wouldn't appear in the waterfall scene either, and you're not allowed to re-assign officers, so I don't know how Quelp could have been a companion before and not be a companion at the time of the savegame except as assigned by the quest.
Maybe in the savegame posted, the starting situation is different than it normally would be for some reason?

That's a bit of a nuisance considering how common highwaymen are now! But that would explain why I've seen highwaymen but no other encounters such as rapists, disorganised thugs or peaceful civilians.
I don't know for sure that what I suggested is true. Would need to be checked by finding the code that actually puts them in place.
And once we know where that is, it shoul be easy enough to add a .vcskip check if it indeed isn't already there.
 
Back
Top