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

Pre Build 13 Modpack

<img src="style_emoticons/<#EMO_DIR#>/hi.gif" style="vertical-align:middle" emoid=":gday" border="0" alt="hi.gif" /> Pieter et, al.

The bug getting stuck on the second deck was not present in the previous update.

I get to the second deck each time I have boarded and I can't get off. We can't really play the game until this is fixed. Calling it a pretty bad think is an understatment. I will put it on the bug tracker.
 
Actually, I was just chatting with someone who plays the stock game on a console. It turns out this particular bug is in the stock game. I guess we'll have to go looking for it.

Hook
 
*Hook looks at the new code and shakes his head in amazement*

Ok, here's the fix, and hopefully an explanation of why it's broken.

LAi_boarding.c, line 1076
//boarding_player_crew = boarding_player_crew + 1;

Uncomment the line by removing the "//" at the beginning.

Line 1090
mchr.ship.crew.quantity = boarding_player_crew; // original code

For gosh sakes, comment this line out! It's killing us! Put "//" at the beginning of the line.

The combined effect of these two lines meant that you'd have no crew whatsoever on your ship. Zero, zip, zilch, nada, none at all. Might as well rename your ship Andrea Dorea.

The variable boarding_player_crew is the number of visible boarding actors on the deck. In the stock game it was the total number of actors you would have with all the decks added together. Heaven knows what it actually means in this code. It does NOT mean the number of actual crew at any point.

While we're at it, uncomment line 1622 as well
// crew = crew + (((GetCrewQuantity(PlayerChar)-crew)/2) + rand(makeint((GetCrewQuantity(PlayerChar)-crew)/2))); // Yet another attempt to up the number of survivors. Gameplay.

by removing the "//" at the beginning. This will remove both of Swindler's changes. Sorry Swindler. The numbers aren't right, but at least they're giving us playable results.

Hook
 
<img src="style_emoticons/<#EMO_DIR#>/par-ty.gif" style="vertical-align:middle" emoid=":cheers" border="0" alt="par-ty.gif" /> Thanks Hook! And this will fix the getting stuck on the second deck problem?
 
<!--quoteo(post=156501:date=Aug 4 2006, 08:28 AM:name=Jason)--><div class='quotetop'>QUOTE(Jason @ Aug 4 2006, 08:28 AM) [snapback]156501[/snapback]</div><div class='quotemain'><!--quotec-->
<img src="style_emoticons/<#EMO_DIR#>/par-ty.gif" style="vertical-align:middle" emoid=":cheers" border="0" alt="par-ty.gif" /> Thanks Hook! And this will fix the getting stuck on the second deck problem?
<!--QuoteEnd--></div><!--QuoteEEnd-->
Honestly? It's totally untested, same as the code I've recommended changing back to what it was before when it still worked. But it can do no harm, and may do much good.

There might be somewhere else in the program that's got it messed up. But I'd try this first, as I know this new code was wrong. If it still doesn't work, you're no worse off. And I guarantee it will fix some bug somewhere.

Hook
 
Ok, thanks for clearing that up.

I know I am ignorant, where do I find the line numbers?
 
<img src="style_emoticons/<#EMO_DIR#>/hi.gif" style="vertical-align:middle" emoid=":gday" border="0" alt="hi.gif" /> Jason

Open the file in notepad.
Under format, make sure "Word Wrap" is off.

Then under Edit, select "Go to"

A "Goto Line" box opens where you can enter the line number you want to go to.
 
Hey Petros, thanks. Always a plesure to see you. When I make the changes and save do I have to turn the word wrap back on?
 
<img src="style_emoticons/<#EMO_DIR#>/par-ty.gif" style="vertical-align:middle" emoid=":cheers" border="0" alt="par-ty.gif" />
I think word wrap is off by default.

I believe it does not make a difference in the game.
 
Ahoy Hook,

I tried to make those changes as you said, and my game wouldn't load. Just proves people like me shouldn't mess with code, I guess.

I did try something else. I went back and got the boarding LAI file from the previous update, and when I encountered an enemy captain in his cabin he couldn't load his dialogue and I couldn't get out his cabin just like you can't move from the second deck.

I am afraid I will have to wait for someonelse to fix this boarding problem before I test anymore. If barding doesn't work there isn't muich to the game.
 
I agree that it should be fixed and TESTED before release. I can't test it properly myself at the moment as I am working on the June 28 version of the code. But the changes I suggest won't break anything unless the edits are made incorrectly.

Here are the three lines as they *should* appear. It may be easier to copy and paste. Note that extra spaces at the beginning of the line do not matter, but there should be NO line breaks in the lines. The "//" used to make something a comment only affects things following the // on the same line.

Line 1076
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->boarding_player_crew = boarding_player_crew + 1;<!--c2--></div><!--ec2-->

Line 1090
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->//mchr.ship.crew.quantity = boarding_player_crew; // original code<!--c2--></div><!--ec2-->

Line 1622
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->crew = crew + (((GetCrewQuantity(PlayerChar)-crew)/2) + rand(makeint((GetCrewQuantity(PlayerChar)-crew)/2))); // Yet another attempt to up the number of survivors. Gameplay.<!--c2--></div><!--ec2-->

Good luck.

Hook
 
Add the line

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->DeleteAttribute(mchr, "groupkill");    // LDH - Fixed in LAi_groups.c so LAi_EnableReload only gets called when all enemy dead<!--c2--></div><!--ec2-->

to LAi_boarding.c right after line 1056 that says

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->ref mchr = GetMainCharacter();<!--c2--></div><!--ec2-->

Someone added some of my changes from the unpublished boarding code when they shouldn't have. This should fix the problem with being unable to proceed past one deck.

This was a fix for the weapons multiplying in the weapons locker after a boarding and was necessary to fix some other numbers. The EnableReload funciton was being called once for EVERY enemy crewmember that died instead of once when they were all gone. This fixes the problem.

With any luck this will enable people to proceed past that one deck. Do the other changes suggested above as well, as leaving the code as is will create other problems.

Hook
 
Thanks a lot, Hook. I thought it didn't work, but I wanted to be sure. I'll work on getting it working again now.
 
To Hook: I'm sorry about some of your changes being added in while they shouldn't have been in there yet. They were part of a bugfix that IncredibleHat sent me and I was rather confused about what to do. I tried contacting IncredibleHat about it, but I've had no reply. Does anyone know what happened to him? I haven't heard from him for about a week now. <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />
 
Pieter,

Are you going to post the fix for the boarding someplace.

Sorry to ask again, but could you tell me what to change to make corpse looting work the old way, i.e. you hit o and get their stuff. I couldn't find the thread where you told me.

BTW this is working inconsistently in 7-19. Most of the time you get weapons and cash automatically when they die, hit o for potions etc if they have them. Sometimes however, you get weapons and cash when you hit o.

I was just thinking yesterday I hadn't seen a TIH post lately. No idea.
 
I will upload a 5 August update later today that has this fixed. I will also upload a small fix for those who don't want to download the 10 MBs all over again. I have just been testing the fix and it seems to work fine. Only at one point I got into the enemy's captain's cabin and he wouldn't talk to me for some reason and then I died trying to open the weapon's locker there. <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />

To answer your question, Jason: Set LOOT_DEAD_ON to 0 and it will work as it always did. This has been reset as default setting in the 3 August update.

For the fixed file: See attached. Should work with the 3 August update. <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />
 
Not your fault, Pieter. I sent the code to IncredibleHat as a "just in case" if something happened to me. I was hoping he'd look at it, but he wasn't supposed to send it to you. However, if he's left us, then sending it to you would have been a good thing if my hard drive had crashed.

The code you have isn't finished, but it works. Forts might work, but not if you have more than one ship. If you want to drop the code in and play with it, go for it. And if you see anything that needs tweaked, let me know. But you might want to wait to release it. <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />

I've had captains I couldn't talk to, but I don't think I've seen that in a long time. As for dying while opening the weapons locker, well, I think that one is out of my hands. <img src="style_emoticons/<#EMO_DIR#>/biggrin.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin.gif" />

Hook

EDIT: ReEdit: Um, disregard.
H.
 
The dying when opening the weapons locker had nothing to do with the boarding code. As you know, then you open a chest, you can injure yourself by boobytraps or because your knife slips into your hand. If that happens frequently enough, you can end up dying, which is what happened to me. Strangely enough, I did have the godmode on. But there are instances in the game where damage is being applied even though you do have godmode on.
 
Back
Top