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

Fix in Progress Build 4.1 Side quest - Vogel

Code:
    case "birdsearch1":
       Pchar.Temp.self.dialog = Pchar.dialog.currentnode;
       LAi_SetActorType(pchar);
       Pchar.dialog.filename = "LaCroix_dialog.c";
       Pchar.dialog.currentnode = "logbook";
       LAi_ActorSelfDialog(Pchar, "player_back");
       LAi_QuestDelay("learn about smugglers", 0.0); //Levis <---  This is what activates "Smuggler's Life for Me"
    break;
 
I recently played the "Vogelstruijs" side quest as well. As I recall, when I put to sea, the usual interface commands were unavailable, in particular "Sail To". When I'm doing a normal ship-hunting quest for a governor I can find the target by using "Sail To", it's usually the last ship on the list. Without that, I had to Direct Sail all the way around the island to find the Vogelstruijs. Fortunately the wind was fairly co-operative, but I suspect this quest will be a lot less fun if it's blowing from the east, straight into your face as you try to make your way from Port au Prince to Boca de Yuman.

Also, playing this side quest activated the "Smuggler's Life for Me" side quest. Can this please be removed? Partly because it was annoying to be stuck with a side quest I didn't want, and partly because it is highly illogical. Your job here is to kill a smuggler (and possibly his wife, depending on how that encounter goes), then destroy his ship - a smuggler's life is definitely not for you!
The quests is started there because you learn about the existence of smugglers.
 
The existence of smugglers is hardly a secret as there's one in pretty much every tavern. ;) Anyone who is interested in smuggling can learn about them there, but as things are now, anyone who isn't interested in smuggling is stuck with a permanently unresolved questbook entry.
 
I didn't even know that was there and would be quite fine if that is removed again.
 
So did anyone find out the problem with this quest already?
 
I think two things need doing:
1. Remove that Smuggling Questbook entry
2. Figure out what it is that disables the Sail-To and get rid of that (I don't think it is necessary)
 
From case "birdhunt3":
Code:
bQuestDisableMapEnter = true;
Does this do anything apart from prevent you from going to worldmap? (That's probably necessary because if you do, the Vogelstruijs might not be there any more when you return to Hispaniola.) Also:
Code:
Group_SetTaskRunAway("Attack");
That's the only "Group" command which does not refer directly to "Skipper1" - does it affect the player?
 
Does this do anything apart from prevent you from going to worldmap?
It isn't supposed to do anything else.
You could try commenting out and see if the interface does remain responsive then.

That's the only "Group" command which does not refer directly to "Skipper1" - does it affect the player?
That does look VERY dodgy. Unless I'm very much mistaken, that makes no sense at all.
Wouldn't surprise me, since I've seen similarly very wrong code before. Scary....
Good catch! :onya
 
good chance that second one is the cause for the interface not responding...
it calls this function to get the right group:
Code:
ref    Group_FindOrCreateGroup(string sGroupID)
{
    int iGroupIndex = Group_FindGroup(sGroupID);
    if (iGroupIndex < 0)
    {
        iGroupIndex = Group_CreateGroup(sGroupID);
        if (iGroupIndex < 0) 
        {
            Trace("Group_FindOrCreateGroup sGroupID = " + sGroupID + ", can't create group ");
            AIGroups[iGroupIndex].Task.Lock = false;
            return &AIGroups[0];
        }
    }

    return &AIGroups[iGroupIndex];
}
so maybe something goes wrong in here or the attack group might contain the player by some reason ..
 
What's the function syntax for that 'Group_SetTaskRunAway' function?
It probably takes the name of a group. But does the group "Attack" exist?
 
What's the function syntax for that 'Group_SetTaskRunAway' function?
It probably takes the name of a group. But does the group "Attack" exist?
its should be the groupname yes. so it should say":
Code:
case "birdhunt3":
            bQuestDisableMapEnter = true;
            UpdateRelations();
            Group_CreateGroup("Skipper1");
            Group_AddCharacter("Skipper1", "Skipper1");
            Group_SetGroupCommander("Skipper1", "Skipper1");
            Group_SetTaskRunAway("Skipper1"); //Levis: Changed to Skipper1
            Group_LockTask("Skipper1");
            Group_SetAddress("Skipper1", "Hispaniola", "Quest_ships", "quest_ship_6");
            Sea_LoginGroupNow("Skipper1");
            characters[GetCharacterIndex("Skipper")].nosurrender = 2;
            SetCharacterRelationBoth(GetCharacterIndex("Skipper1"),GetMainCharacterIndex(),RELATION_ENEMY);
[..]
 
The same question still applies, though - what does 'Group_SetTaskRunAway("Skipper1")' do? If it makes him run away then you'll sail all the way round Hispaniola, possibly battling an adverse wind, and when you get to where the Vogelstruijs is supposed to be, it won't be there any more - good luck finding it...

Incidentally, I had an interesting tactical problem. The command 'SetCharacterRelationBoth(GetCharacterIndex("Skipper1"),GetMainCharacterIndex(),RELATION_ENEMY);' no longer does anything because relations are determined purely by flags. So, there's me under a British flag; there's the Vogelstruijs under a Dutch flag; Holland is allied to Britain. Attacking Vogelstruijs isn't going to cost me my British LoM because you're only penalised for sinking or capturing a friendly ship, and the set-piece boarding is going to interrupt the battle before you sink the Vogelstruijs while you're prevented by quest code from boarding it by choice.

The other two Dutch ships which happened to be in the area as random coastal traffic were another matter...
I had to hoist a false hostile flag to initiate battle against the Vogelstruijs. Then I had to be careful where I was shooting so as not to inadvertently sink either of the other ships. For their part, they had no wish to go up against the Sovereign of the Seas and ran away.

As for how I got into Port au Prince under a British flag: the Sovereign of the Seas goes anywhere it wants. :pirate41:
 
Last edited:
The same question still applies, though - what does 'Group_SetTaskRunAway("Skipper1")' do? If it makes him run away then you'll sail all the way round Hispaniola, possibly battling an adverse wind, and when you get to where the Vogelstruijs is supposed to be, it won't be there any more - good luck finding it...
Indeed it doesn't sound like a very good idea. Maybe better use 'TaskAttack' so he'll seek you out instead?
 
The same question still applies, though - what does 'Group_SetTaskRunAway("Skipper1")' do? If it makes him run away then you'll sail all the way round Hispaniola, possibly battling an adverse wind, and when you get to where the Vogelstruijs is supposed to be, it won't be there any more - good luck finding it...
it will make him run away indeed.
Might be set to:
Group_SetTaskNone
instead
 
Makes sense. He doesn't know you're on your way to leave a little present in his hold, and presumably he hasn't offloaded his cargo yet, so he shouldn't want to go anywhere.
 
Back
Top