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

Need Help Cant board unless enemy is stronger

CaptnLysop

Sailor Apprentice
I have a weird bug.

Reinstalling all of GoF and the Game doesnt solve it, ReInits dont do the trick, I am out of ideas with the following:

I cant board any ship unless: the enemy is much stronger than me (I can board with my Class 6 Ship a Class 2 Ship, but you can tell how that would end...).

The only time a ship with same/smaller size can be borded, is if THEY do it to ME:

In other words, if they are confident, and agressive, a small interceptor will board ME, but as soon as I grind their crew down, they can't be boarded at all.

Its like something prevents boarding alltogether since GoF, I remember in vanilla and CMP, it always worked no matter what.

Somebody got any idea?
 
Nah, all my Skills are at about 50-60.

And if, then it'd be the grappling skill which it depends on.

The thing is the stuff with only bigger ships, it doesnt make sense at all.
 
Ok, I read up, but I'm not sure if that is the cause: the "Lips" Icon, specifically the one where you can talk with another ship and extort money from them or tell them to surrender - apparently, it alleggedly can cause the game to bug out violently, not allowing you to board at all anymore.

*Edit* Ok, I need testing.

But: GoF introduced "interface\speak.c", and there is a piece of code in there:
void ShipGoFreeAsk()
{
[SNIP HERE!!!!! ...........]
rSpeakCharacter.Abordage.Enable = false; //rSpeakCharacter au lieu de sld
[SNIP there!!!!]

Notice the big and juicy "Enable false" back there; I can only imgagine, if you try to force them to surrender, it breaks the game and never resets, it would make sense - not sure since the damn thing looks like its quoted out, so disabled...

And that brings me to this: a lot of things in all the scripts are just quoted out (using // or /* and */, or some ;), that is definetly not the way to do it guys; when you write a piece of code and rethink and decide to take it out, you just dont quote it out, you remove it alltogether - it helps with the overview, and makes things look tidy and stuff. That is my biggest prob at the moment, the code is just rubbishly quoted out at some points, you play hell ID'ing what you need to change.
 
Most of the original code was quoted out and new code added in its place, this was done so other modders could see what the old code was and how the new code works (not many people got interested in modding the game). We could have gone back to remove the old code, but we first needed to know if all the new coding worked. Sadly the GOF team went there own ways after releasing GOF 1.2. But i'm sure if you check any mod, you will see the old coding quoted out because it can be used for reference later on.
 
And that brings me to this: a lot of things in all the scripts are just quoted out (using // or /* and */, or some ;), that is definetly not the way to do it guys; when you write a piece of code and rethink and decide to take it out, you just dont quote it out, you remove it alltogether - it helps with the overview, and makes things look tidy and stuff. That is my biggest prob at the moment, the code is just rubbishly quoted out at some points, you play hell ID'ing what you need to change.
That's half-true. On PotC modding we have also been leaving a lot of old code in, quoted out with a note on why it was quoted out.
It can be quite useful for future reference. On the other hand, if there is too much of that, it does get confusing and I have been removing a fair amount of that lately.
After all, about 8 years after it was commented out, it sort-of loses its relevance.... :cheeky
 
Hai Luffy (spelling of some OP chars depends on Language, in some Languages its "Ruffy", in the original Jap and US its "Luffy", hehe :));

And thanks for answering, Peter;
That is true, after 8years, heheh - its still a wonderful game (POTC and AoP both are) :)


I havent gotten time to try if something I changed did the trick, coz naturally, you start with a small ship, and even then, it takes a lot of time to test stuff, esp. for me since I never remember to switch on some cheats or something like that. So I always test normal gameplay, which takes a loooong time. But so far it looks good.
But it also looked good when I started, and after 8-10 hrs that bug happened. I'll try to do a longterm test.

But its just so sad to see everything so bleak and deserted - I still play POTC and AoP2 since there is no alternative, at least none that is singleplayer, well-made, not-browser-based, and open-world. Dont get me started about AC3, its not gonna be a pirate game, probably not open-world, at least not like AoP is.

So its basically the same as with open-world-space-sims: theres one two games, and thats it, the rest is either good spirit but bad execution, or in the making.
 
I changed two things:

in Speak.c I quoted out, or you backup the original file and delete the following:

/*case "ransom":
isRansom = true; //already checked for ransom in seaspeak.c
AskForRansom();
break;*/

and then
if(GetRelation(sti(rSpeakCharacter.index), nMainCharacterIndex) == RELATION_ENEMY)
{
//AskForRansom(); // This disables asking for Ransom
if (SPEAK_DEBUG) trace("etape recoansw3 speak");
}

and then
if(GetRelation(sti(rSpeakCharacter.index), nMainCharacterIndex) == RELATION_ENEMY)
{
//AskForCapture(); // This one makes the surrender option not do anything
if (SPEAK_DEBUG) trace("etape recoansw4 speak");
}

then you change:
rSpeakCharacter.Abordage.Enable = true; //this one was false. the function is quoted out anyways but lets change it anyways

So I just quoted out the 2 AksForRansom() and 1 AskForCapture() and set the Abordage.Enable to true, in case it magically gets called anyways.

That way, the button is still visible, but it doesnt do anything. Not that it did anything in the first place, even a when severly damaged, ships never accepted my offer for ransom, and if they did, it was sooooo low, beh, I can make 20x that money smuggling a couple'o goods.

Even before doing the "Quote out Part", I played for a little while with only that true-false swap, and never clicked "Demand Ransom" or "Demand surrender", and only payed money to the pirates when I was too much in a hurry to deal with them, only thing I changed about 4-6 hrs ago, was the true-false swap.

I just NOW had the glorious idea and disabled the Strings for the Capture-Ransom-Options too, since I got sick of being overcautious to not misclick on the wrong option.

Ever since changing the "Abordage.Enable" and never touching any of the other options, I was able to board every ship, even when they got scared and tried to run off.

I suspect, that the Dialog is strongly related to that glitch, somehow - as it [the Boarding] is working, even when I outnumber a ships crew greatly, the "Board em" menu option appears again.

Since this glitch also happened on a fresh restart, I conclude; that new menu/dialog seems [note: SEEMS!] to be 100% responsible for that glitch.

Do not use the "demand" options at all - they almost never accept anyways, and only look at you like "Eh? What you want?".

Only use "Bribe", "Trade" or "Rumour" (have only tested "Bribe", cant 100% verify the others arent responsible for the glitch, too!)
#Use the menu when you did smuggling and want to bribe the possible enemy patrol ship waiting for you.
#Bribe an overpowered fleet of nation's ships chasing you around and denying you access to the Island you want to go to.
#Bribe one of them dastardly pirate interceptors chasing you at lightspeed - they are pesty little buggers -_-'
 
Last edited:
Oi, thanks Luke! I am honoured to have one of the ones I consider VIP's reply to my post, yet announce to try it out :)

But a THOUSAND devils, it looks like this whole "AskGoFree" is quoted out to begin with...!!!

It says "//case "ShipGoFreeAsk":" which means the whole "rSpeakCharacter.Abordage.Enable" is not even called for at any point, how disappointing.

But on the other hand, why is it still working all of a sudden, I'm confused :-(

I mean, it is quoted out alright, but why in the world did changing the disabled function still fix the whole thing?

I will try with the old version, code and everything set back to normal.

*Edit*
Hm, some quick testing revealed that it cant be pinpointed WHEN the function breaks, but it seems to be erratic, for a weird reason - with the vanilla mod, theres a 50% chance it breaks.
With my changes done, there is a 0% chance that it breaks - at least it didnt happen again, I restarted about 7-8 times now, with and without changes.

I'm leaving the function disabled, and do testing with the changes as they are at the moment, if it breaks at some point again, then something else can also be to blame.
 
Last edited:
Lol, well its good to see someone else trying to do what so many have tried to do and either never succeeded, didn't have the time to commit to it, or half succeeded but never posted their findings. Sadly COAS modding has come to a stand still, there is only Moderknight, myself and you who seem to be delving into files looking to do things with GOF. There are only 2 of us actually working on nods though, MK with his highly anticipated Era mod, and my version of GOF. So from a lot of interest in this game, it seems to have died a slow death as far as modding has gone at least. Hopefully when MK's mod is released the interest in COAS will be reignited and we will see a lot of things start to happen from people willing to try new things out for the game.

I haven't checked the file myself, but if it is already quoted out then you have been lucky so far, although the boarding bug kicks in during mid to late game, around class 3 ships I think (haven't played GOF 1.2 for over a year now, and didn't really play it much after its release). Not sure if you have looked into trying GOF 2 with the latest patch 2.0.9? it has a few features removed like the surrender feature (uses COAS stock settings) and a few other features, but the new beta which is going to be a standalone (no need to install GOF 2 first) I have included all the features from GOF 1.2, so I will be implementing your changes into this beta to see if it fixes the problem or not. If it does then that's excellent news, if it doesn't then its back to the drawing board. But this beta will be for those who want to have all the features from GOF 1.2 but in a more stable mod.
 
Hm that is strange, since I havent gotten anything over a class 5 yet - LOL!!!

I tend to take it easy and play slowly, so something else is messing up, or WAS - it hasnt happened again yet.

I'll look into disabling the capture feature on the new version.

CAREFUL with my changes, it messes up the "speak" menu, you cant quote the 2 things (strings) out that I did - I found another fix and fix the opening post as I write this.

It seem to be in AIShip.c, under "void Ship_Surrender(int chridx)".

It checks for the Surrender in "void Ship_CheckSituation()".

And the conditions FOR the surrender are checked in "bool Ship_Check_Surrender(int chridx, float fSurrMult)"

If you simply disable "Ship_Surrender(iCharIdx);", it MAY simply check a surrender positive, but not do anything at all.

Problemo that remains, they never ever did it to me, so far. So to make them surrender, you must be REALLY overpowering them to begin with.

For the fun of it, I'll disable it and keep playing, wonder what will happen - probably what I just said, they just wont surrender on their own, hi hi hi :)

I've also done a billion smaller interface tweaks, and game tweaks, so it'd be a hell finding and matching everything to another mod, I'm staying on GoF 1.1b (my own version, he he he :)) for now.

One day when I've identified all the changes, I'll post them and how to do it.
 
Last edited:
Since its the speak option that breaks the boarding ability, wouldn't it be easier to disable that feature, the ships hopefully will still surrender and the bug could have been stopped from been activated. Its worth a try, at the moment i'm working on weather changes so if you wish to disable the speak feature and post what you disabled and where then I can do the same and when i'm ready to test I can begin.:yes
 
Last edited:
hello
I have the same problem. The boarding icon doesn't appear and I'm unable to board ships anymore. Pissed me off because I think I have at least 70 h of gameplay. Until now the changes doesn't seem to work.
 
hello
I have the same problem. The boarding icon doesn't appear and I'm unable to board ships anymore. Pissed me off because I think I have at least 70 h of gameplay. Until now the changes doesn't seem to work.

Yes, the problem is, the fix doesnt seem to work on a older game - once it is broken, the function stays broken.

The Fixes I did seem to prevent it from happening in the first place, but when it is already happened, well, it stays broken.
It most certainly is possible to code another function to reenable boarding, by just calling "rSpeakCharacter.Abordage.Enable = true;" again somewhere.

I am NOT sure, but I think it glitches when rSpeakCharacter becomes your own character, then it breaks because you disable boarding on yourself(!), and you are the (basically) only permanent Character who is sailing around, other than the Heroes like Sparrow and the others - that's just a rough theory, backed by the fact that on CMV (where there was no 'White Flag' and "Speak menu") it never broke for me, ever.

It may work putting it in the call for "Trade" or "Tax", that way, when you Trade or pay Tax or ask for News, it would re-enable the option.
 

Ok mate, but disabling the Speak menu alltogether, I dont like. It's much better if you can "buy your way out" of a hopeless situation.

So far, the speak function still works, I've only disabled the functions "Demand", surrender and ransom that is - the Trade, news, and offer gold still works perfect. Here's all I did:

If you use notepad to edit the text files, I will include the lines where the code is located as well.

Speak.c
1.) Line 92, quote out or delete:
Code:
case "ransom":
isRansom = true;  //already checked for ransom in seaspeak.c
AskForRansom();
break;

2.) Line 797, delete or quote out:
Code:
AskForRansom();

3.) Line 813, delete or quote out:
Code:
AskForCapture();

4.) Line 858, change "false" to "true":
Code:
rSpeakCharacter.Abordage.Enable    = false; //rSpeakCharacter au lieu de sld


THEN go to "SEA_AI" and "AIShip.c".
There go to ->

Line 1058, delete or quote out:
Code:
Ship_Surrender(iCharIdx);

Done.
By quote out I mean use either // for each line, or use /* to start quoting out, */ to stop.

Just explaining for those who may try this themselves.

WITH these changes the Speak menu works perfect, only the Demand options are void now, and dont do anything at all.
And with the last fix in SEA_AI, it disables the ships surrendering, at least they havent for me.
 
Ok well if this works and stops the boarding bug from showing up, then its worth it. I'm almost done on the new patch for the stable version of GOF 2, so once I have finished that I will add all the changes you noted here and begin testing. Hopefully all is well and the boarding bug is fixed.:onya
 
the problem is that i want to continue the game with the current profile. i don't want to start it all over again. i think the bug can be partially solved by editing the 'encounters' file and changing the class of ship encounters.:confused:
 
Hm, maybe, maybe that works too.

Ze problem is pinpointing the problem, what causes it in the first place;

As I have been able to board every single ship since I restarted the game with the changes I made, I have no clue if that was actually it, or not.

It could be a freak thing that may or may not happen, depending on your real-life luck. I've only discovered that SOMETHING hidden deep inside the cross-references and -scriptings between the AIShip, Speakmenu, and possibly another script or even many more.

I've already forgotten where I've all checked, but Speak.c refers to some things called "Philipe" or "Phillipe", and some french comments are written along with it; apparently, someone named Philipe contributed to the Speakmenu, and it also strangely mentions "//Philippe, de AoP1", really weird and a bit creepy, as all the other weird comments arent unreadable already; or does somebody know what "çàïîìèíàåì, ÷òî çâàòü ïî Ô2" means. But that just as some useless trivia.

So try doing what you mentioned. As long as the bug doesnt happen to me any more, theres nothing I can do to research this any further - it's like, when you don't need it, the game bugs out completely, and when you are prepped to hunt the bugs and are ready to look at the scripts, the game runs perfect without any bug at all -_-
 
Back
Top