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

Solved Fixing the Pirate Hunting Quests

Cheers Pieter!

BTW: Open PROGRAM\console.c and add these lines below int limit; :

I'll try that.
Well, hmm, perhaps I did ask at a pirate hunting quest after arriving at Martinique, but if so, I don't remember. I'll start with that savegame now, and look where it leads me to.

Great thanks.
 
Indeed that would be most useful. Put that code in, start again from the Martinique savegame and use F12 to check if anything weird happens.
If you can, try to trace your steps as much as possible. At least as far as dealing with governors and quest pirates are concerned. :onya
 
Back again.

I think I did almost the same things at Martinique as before, but this time, the pirate hunt quest did not break. After all that selling and repairing stuf, I got that quest from governor, and just completed it.
After talking to governor again, I get that wait timer.

Another question:
Now I have a military rank ... ermm ... Sous-Lieutenant de Vaisseaus it is ... I expected to have french soldiers when boarding enemy ships. do have french soldiers as crew when I am on my ships deck. But when I board, they all look like Nathaniel Hawke, wearing the cheapest armor (with which I just equipped them by putting lots of them into the wapons locker). Should I not have french soldiers as boarders? Not a big matter, I just ask.
 
- DirectSail automatically switched off upon accepting a governor's Pirate Hunting quest to prevent a DirectSail update from making the target ship disappear: need feedback
Two questions on this subject:
1. Should we completely disable DirectSail in this instance? At the moment, you can still switch it on again yourself by pressing 0.
2. If we leave it freely toggleable, should we have DirectSail automatically enable once the Pirate Hunting quest is completed?
 
Heya!

For experienced and forum-active users it won't make much of a difference. Personally, I prefer it being toggleable.

On the other hand I think it was when I started using direct sail, I "lost" some pirates because direct sail was switched on. I remember I asked here to get an idea of it. But possibly, not anyone would, many people may just think "ah, bad mod" and throw it away.

So ... best make it so that it works automatically, but leave it toggleable please. The first is for the casual user, the second for us :pirates
 
Two options:
1. You CANNOT use DirectSail if a Pirate Hunting quest is active
2. DirectSail is switched off when you get a Pirate Hunting quest, but can be switched on by the player; this will probably break the quest

I think I may actually go for option #1. At least then people can't break it and we won't get complaints about it.
We'll have an on-screen message explaining that DirectSail is switched off and why.
 
Cheers!

Two options:
1. You CANNOT use DirectSail if a Pirate Hunting quest is active
2. DirectSail is switched off when you get a Pirate Hunting quest, but can be switched on by the player; this will probably break the quest

I think I may actually go for option #1. At least then people can't break it and we won't get complaints about it.
We'll have an on-screen message explaining that DirectSail is switched off and why.

Yes, I think you're right, option 1 is the safer one. And true, there is no real reason to use direct sail while hunting a pirate.
 
Yes, I think you're right, option 1 is the safer one. And true, there is no real reason to use direct sail while hunting a pirate.
This would be my proposal for PROGRAM\CCCdirectsail.c:
Code:
bool DirectsailCheck()  // called hourly by Whr_UpdateWeather - now also called by procUpdateTime()
// ever growing list of conditions when Directsail shall NOT run
{
    ref pchar = GetMainCharacter();

    // PB: No DirectSail during Pirate Hunting Quests to prevent breaking them -->
    if( GetAttribute(pchar, "quest.generate_kill_quest") == "begin" && !CheckAttribute(pchar, "kill_pirate_refused_timer") )
    {
        LogIt("Pirate Hunting quest active, DirectSail disabled to prevent target ship from disappearing");
        return false;
    }
    // PB: No DirectSail during Pirate Hunting Quests to prevent breaking them <--
I just checked and that appears to disable DirectSail between you accepting the quest and completing it.
No need to manually enable it again afterwards and not possible to enable it during.
 
Errm ... how do you tell which ship in an enemy fleet is the flagship?

Methinks it says so when looking at with the spyglass.

Ok, I stopped last night when entering San Juan. That is where I bought the corvette. Here it is. You are now as far into the game as I am.
 

Attachments

  • -=Player=- Puerto Rico. San Juan port. 13-01-1692.7z
    574.3 KB · Views: 93
Then the Governors pirate quest message appears whether or not you are on a quest.
Oops! Made a typo. In PROGRAM\CCCdirectsail.c find:
Code:
if( GetAttribute(pchar, "quest.generate_kill_quest") == "begin" && !CheckAttribute(pchar, "kill_pirate_refused_timer") )
Replace with:
Code:
if( GetAttribute(pchar, "quest.generate_kill_quest") == "begin" && !CheckAttribute(pchar, "quest.kill_pirate_refused_timer") )
That should fix it. :doff
 
I am still getting that quest message. I thought I copied it correctly. It's the one at the top of the file right?
 
I am still getting that quest message. I thought I copied it correctly. It's the one at the top of the file right?
Indeed it is.
Can I ask you to upload your savegame again? Technically, this should work and I did a quick check that seems to confirm that.

You get the "quest.generate_kill_quest" attribute when a Pirate Hunting quest is activated through the governor's dialog.
It is then set to "begin". It changes to "completed" when the quest pirate is killed.
When you decline the quest, the "begin" attribute remains, but you ALSO get that "quest.kill_pirate_refused_timer".
When the timer expires, that "begin" attribute is deleted. So by using both, it should work correctly in all instances.
Unless.... weird things somehow still manage to happen. But I wouldn't know how. :facepalm
 
OK, but be aware that I started a new game and have not yet done a Governor's quest. When you see my melee skill you will understand why.
 

Attachments

  • -=Player=- Cayman.7z
    490 KB · Views: 96
I have not noticed anything different, but 4 pounders don't do much anyway.

I just visited the Governor at Santiago and he did not have anything for me. Perhaps I waited too long and now can't get those quests at all. But I still get the message!
 
OK, but be aware that I started a new game and have not yet done a Governor's quest. When you see my melee skill you will understand why.
You're absolutely right. Somehow you got the pchar.quest.generate_kill_quest = "begin"; attribute. But you DON'T have that timer attribute.
How is that even possible? Did you talk to any governors on the subject of Pirate Hunting quests at all yet?

I just visited the Governor at Santiago and he did not have anything for me. Perhaps I waited too long and now can't get those quests at all. But I still get the message!
The reason why you're not getting them is also why that message appears: the game thinks you already have one active.
What I want to know is how that is even possible. :facepalm

Just to be certain, I just started a new Tales of a Chevalier storyline and right there at the beginning, I DON'T have that attribute.
So you're getting it somewhere. And we need to find out how and where.

Has anything been done to the odds of hitting masts in combat?
I ask because since 2.4, I see an increased number of masts shot down. Of course this is ot entirely new, but it seems to happen much more often.
Nothing related to that has been touched. :no

Now, with that, even the mastercraft spyglass will not tell my anything about a ship but the distance, even if I am in range to board it. And I still have my world map available ... great.
You will be needing ship's name to be able to find your Pirate Hunting target ships.
Anyway, I'll look into those separate toggles soon; maybe tomorrow. Then we can finally give people the freedom they so badly crave again! :cheeky
 
BTW Hylie: Execute this line through console to reinstate your DirectSail and ability to get Pirate Hunting quests:
Code:
DeleteAttribute(pchar, "quest.generate_kill_quest");
We do need to figure out how you get in that situation in the first place though.
It shouldn't be necessary to execute any code through console, because it shouldn't be possible to break it. :facepalm
 
Skyworm: I just made port after a nice long battle with 2 pirate fast war galleons that also involved some Portagee ships.
After the first salvos most of the Portagees headed for the horizon but one sloop of war (Neptunus) stuck around to help my light fluyt and caravel. I was concentrating fire on their sails in an effort to slow them down and after a long fight both pirates eventually surrendered and I managed to capture one. I captured the only ship in that battle to lose a mast, it's mizzen.

It has been a long time since I have sailed or fought against a Constitution class ship, but I remember that they lost their masts quite easily. The Revenge English Galleon is another one that loses masts easily. Maybe it is just the ships you are sailing.

Pieter: I have no memory of visiting a governor before that one in Santiago today. Could it possibly be a carryover from my last game?
Should I just start a new game and see if it happens again?
 
Pieter: I have no memory of visiting a governor before that one in Santiago today. Could it possibly be a carryover from my last game?
Should I just start a new game and see if it happens again?
No idea how anything could carry over from a previous game. But the internal workings of this game can be mysterious at times. :facepalm
Try to put this code in console.c:
Code:
    if( GetAttribute(pchar, "quest.generate_kill_quest") == "begin")
    {
        LogIt("quest.generate_kill_quest = begin");
    }
    if( CheckAttribute(pchar, "quest.kill_pirate_refused_timer") )
    {
        LogIt("Has quest.kill_pirate_refused_timer");
    }
Execute it with F12 occasionally.
You should never see the first line on its own unless you're IN a Pirate Hunting mission.
If you DO see it on its own, something weird just happened and I want to know what it is! :whipa
 
I am not sure but methinks the Unitee class is the Constitution repainted for other nations.

Pieter: One step at a time. I put that first line in and hit F12, then went to the Governor at Jamaica and he gave me a mission to sink a Portagee heavy East Indiaman. :8q My poor little light fluyt! I got lucky and it spawned in the harbor where there was already a battle going on with 2 other Portagee ships, so I got lots of help from the fort and ended up capturing that beast. Then went back to the Governor and he did not have anything for me, as expected. Left the port and that message is gone.

Funny thing is, I found some lines in the console already similar to what you put into your last post. I am wondering if I hit F12 and got those going in this game by accident.
 
Ah Pieter's good testing lines being out-commented, helps if you go back to it at a later date keeping it :)
Well, I'm sort-of hoping we can finally put this issue to rest. And then I can remove those lines.
Don't like having the console cluttered up with all sorts. :facepalm
 
Back
Top