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

Some questions

I'm not at all sure who "KAM" is, truth be told. He/she hasn't been here for a long time though; longer than I have been here, that's for sure.

One thought I have on this one that you can try is to replace this:
Code:
//View Enc Officer Mod: Taghmon 

If(Checkattribute(GameInterface, "View_Enc_Officer")) 
{ 
bBeParty = false; 
SetNodeUsing("LEFTCHANGE_CHARACTER",false); 
SetNodeUsing("RIGHTCHANGE_CHARACTER",false); 
} 

//View Enc Officer Mod End
With this:
Code:
//View Enc Officer Mod: Taghmon 

If(Checkattribute(GameInterface, "View_Enc_Officer")) 
{ 
bBeParty = false; 
SetNodeUsing("LEFTCHANGE_CHARACTER",false); 
SetNodeUsing("RIGHTCHANGE_CHARACTER",false); 
} 
else
{ 
bBeParty = true; 
SetNodeUsing("LEFTCHANGE_CHARACTER",true); 
SetNodeUsing("RIGHTCHANGE_CHARACTER",true); 
} 

//View Enc Officer Mod End
I can't promise that'll work, but it may. One thing's for sure; those interface things ARE being set to false,
so one way or another, you need to set them back to true at the appropriate time.

I did indeed make the Capsize Mod that's in the latest version of Build 14 Beta 1 Patch 3.
Of course any mod CAN be added to the stock game; Build 14 is only Stock Game + All Mods anyway.
The best way of actually finding the code required for this is to do a WinMerge compare between Build 14 Beta 1 and Patch 3.
There might also still be some stand-alone installers for it in the thread I have on that mod:
http://forum.piratesahoy.net/topic/16144-capsizing-ships/page__view__findpost__p__372930
These files are compatible with Build 14 Beta 1 though, so you'd have to do a WinMerge compare and get rid of all code differences that are NOT related to the Capsize Mod.

Are you sure that if you put the ship's head into the wind, damage decreases and experience increases?
I never really noticed any advantage to doing that, even though it is my opinion that there should be.
That's why I added the Capsize Mod in the first place: to make it obvious and important to DO do that.

As for how to handle a real storm, sure if you put your stern to the waves, the speed of impact would be decreased.
However, with the waves coming from behind, you might be subject to excessive rolling.
As surprising as it might sound, it is usually best to put the ship's bow to the waves to let it plow through them.
After all, the stern isn't very good at plowing through waves, especially on old sailing vessels, as the sterns are very plump.
If at all possible, it's also recommended to keep at least some sail and put the head not exactly into the wind, but close to the wind.
This to maintain steerage way and thus control of the vessel.
If you take all sails down, you basically surrender to the elements and you don't know what the ship will end up doing.
It can also help to throw out a sea anchor of some kind that will keep the head into the waves more-or-less automatically even when you do furl all sails.

As for modern shipping, the ships are much stronger now and can stand storms better than the sailing vessels of old.
It also helps that modern ships are more stable because they've got their center of gravity lower than sailing vessels.
They would have their center of gravity quite high up due to all the rigging.

Another major improvement in modern shipping is the availability of weather forecasts so that it's possible to avoid the storms altogether.
However, when equipped with only the bare minimum equipment on a ship, the weather forecast might consist solely of a text stating
"storm of force 12 in this position and moving in this general direction". That is better than nothing, but not very specific.

When the ship DOES end up in a storm, you would do the same general thing as the ships of old,
eg. try to reduce the rolling of the ship by heaving to and putting the ship's head into the waves.
Reducing speed to bare steerage way will also help in reducing the encounter frequency and impact of the waves.
Also on passenger ships, we've got stabilizer fins that can help with decreasing the rolling of the ship, but only to a limited extent.

I actually know a fair bit about ships in storms, partly because I work on a passenger ship as Fourth Officer,
but also because just over a year ago I worked at the MAritime Research Institute Netherlands (MARIN) doing research on the subject of
"weather routing", eg. changing one's route to avoid bad weather or take most advantage of the elements.

the change of "xi_refMainChar = pCharacter;" to "xi_refMainChar = GetMainCharacter();" seems to be the most important parts for this mod
This makes absolutely no difference, code-wise. :shrug
 
I'm back!

I've been lead to the conclusion that "KAM" is "Kieron", but yeah, it's been a long time since he was here.

I tried it, but it didn't make any difference. :(

I see. Would you say that the capsize mod is complete, or is it still a work in progress?

I'm sure. The X-Box version of the game displays tips during the loading screens, one of them is:
"If you happen to get caught in a storm, always try to sail either downwind or upwind. Your ship will suffer less damage that way. The less damage you take, the higher your experience bonus will be."
I tried it and if I align the ship against the wind or with the wind I get around 1500-2500 EXP each time the bonus is gained, and the ship takes less damage as long as it's aligned this way. The same thing happens if I align the ship close against the wind or close with the wind, and not exactly in it both when against it and when with it. If I align the ship so that it's right across the wind I get around 500-1000 EXP each time. If I align the ship so that it's against the wind or with the wind half the time and across the wind the other half I get around 500-1500 EXP each time. I don't know if anything else affects these numbers, but these are the ones I get.
The sails should also be lowered, as we know, and the X-Box version says that in a tip as well:
"When caught in a storm, lower your sails to reduce damage to them."

Yes, it seems right to let the front of the ship cut through the waves when I think about it. The waves would more pass around the ship instead of just crashing into it.
Right, so some sail should be kept. Also makes sense when I think about it.

Yes, of course the ships are much stronger now and can stand storms better. More stability because of lower center of gravity certainly helps.

Yes, weather forecasts are of course also an advantage. :p

Okay, so today's ships would do the same thing, although they have more advantages.

Thanks for the information. I thought you might know since you're working on a ship, but okay, you've researched about it as well. :)

This makes absolutely no difference, code-wise. :shrug
I got it to make a difference. If I do that change and also change "{if( GetOfficersIndex(pCharacter,i)>=0 || GetCompanionIndex(pCharacter,i)>=0 ) break;}" to "{if( GetOfficersIndex(GetMainCharacter(),i)>=0 || GetCompanionIndex(GetMainCharacter(),i)>=0 ) break;}" I can change character after viewing an officer's abilities. However, it doesn't work right. It skips a character when changing. It seems to have something to do with "curOfficer" and the new code in "void SetNextParty(bool bRight)":
Code:
void SetNextParty(bool bRight)
{
string tempstring;
int tempidx;

if (bRight)
{
curOfficer++;
if (curOfficer > ListMax) { curOfficer = 1; }
}
else
{
curOfficer--;
if (curOfficer < 1) { curOfficer = ListMax; }
}

tempstring = "member" + curOfficer;
tempidx = sti(MainChar.tempCharactersList.(tempstring).idx);
xi_refCharacter = GetCharacter(tempidx);
AddCharacterExp(xi_refCharacter,0);
}
 
Does the installer you mentioned in a previous post contain the complete mod?

I just ran into another problem while modding. What must I do in order to hex edit properly? I want to change the name of the "pirat10" files to "barbossa" and I have edited the files to point to the new name. When I start a new game to test the model there is no character, as if it's invisible, and a moment later the game crashes. If I try to open the files in GM Viewer I get an error message.
It worked when I changed "depp" to "jack", but both names consist of the same number of characters, which is not the case with "pirat10" and "barbossa", so I had to add one extra character. I inserted it when I ran out of space for the name and everything moved one step and now I had room to write the whole name. It seems like this wasn't enough, that I need to do something more. What else must I do for this to work? Surely the names do not need to consist of the same number of characters?
 
Surely the names do not need to consist of the same number of characters?
I'm afraid they do, actually. That's very important even. :facepalm

Does the installer you mentioned in a previous post contain the complete mod?
You need this: http://www.moddb.com/mods/new-horizons/downloads/build-14-beta-1-full
And this: http://www.moddb.com/mods/new-horizons/downloads/build-14-beta-1-patch-3
 
I just read that in the "Tutorials and history" document. Too bad I didn't check there before. :facepalm
I guess there's no way to change that, then.

Ah, so the complete mod is in the build mod. Good, because I have those files. Thank you.
 
I have some more questions.

I've managed to make it so that it doesn't rain in the cabin and so that it's still raining outside when exiting the cabin. However, if I board a ship while it's raining it will rain below deck. Have you managed to fix this in the build mod? If so, what do I need to do to fix it in my game as well?

In the "Build Readme" file for build 11, NK (I guess) wrote this:
"NK - Sail Damage Bugfix - Description: This fixes a bug in the sail damage routine where the attack character, not the defending character, is checked to see whether they have defense perks."
Where can I find the code for this to also fix it in my game?

In the "Build Info" file for build 14 alpha 7, Pirate_KK (also a guess) wrote this:
"Boarding changes: When fighting in the last location (usually enemy ship cabin) main character will face captain of the ship. However, main character and his officers won't be magically healed anymore when moving from one deck to other. By Pirate_KK."
I've found a mention of this in the "LAi_boarding" file: "// KK LAi_SetCurHPMax(mchr); // when we go to the next deck we are magically healed?! Why doesn't that work on land with normal doors..."
What exactly do I need to change to make this work in my game, especially the part about being suddenly healed when moving to the next deck?
 
I've managed to make it so that it doesn't rain in the cabin and so that it's still raining outside when exiting the cabin. However, if I board a ship while it's raining it will rain below deck. Have you managed to fix this in the build mod? If so, what do I need to do to fix it in my game as well?
It sort-looks like we never did fix that. Should be possible though by opening PROGRAM\locations\init\boarding.c andsetting Locations[n].environment.weather = "false"; for all inside deck locations.

In the "Build Readme" file for build 11, NK (I guess) wrote this:
"NK - Sail Damage Bugfix - Description: This fixes a bug in the sail damage routine where the attack character, not the defending character, is checked to see whether they have defense perks."
Where can I find the code for this to also fix it in my game?
No idea, truth be told. That was before my time...

In the "Build Info" file for build 14 alpha 7, Pirate_KK (also a guess) wrote this:
"Boarding changes: When fighting in the last location (usually enemy ship cabin) main character will face captain of the ship. However, main character and his officers won't be magically healed anymore when moving from one deck to other. By Pirate_KK."
I've found a mention of this in the "LAi_boarding" file: "// KK LAi_SetCurHPMax(mchr); // when we go to the next deck we are magically healed?! Why doesn't that work on land with normal doors..."
What exactly do I need to change to make this work in my game, especially the part about being suddenly healed when moving to the next deck?
By finding that same line and commenting it out is all I can think of... :?
 
It sort-looks like we never did fix that. Should be possible though by opening PROGRAM\locations\init\boarding.c andsetting Locations[n].environment.weather = "false"; for all inside deck locations.
I tried changing it on some ships, encountered those ships while it was raining, and sadly it didn't seem to work. :( Seems strange, because as far as I know, if weather environment is off things such as windows will be black and so you can't see anything through them.

By finding that same line and commenting it out is all I can think of... :?
I never tried that because it seemed too simple to be the solution considering all the changes in the file. Oh, well, I tried it now and it seems to work. When the boarding is done you're not healed, which is logical, so you're not suddenly healed if also boarding another ship. However, there is one problem: You're not healed when the battle is over and you exit to map, nor are you healed if you "enter sea" again. You're only healed if you go to land.
I don't know if this is fixed in any build mod, but I was thinking about somehow making it so that you're healed whenever you enter the map. I couldn't find any file that seemed appropriate for this change, though. Any suggestions about which file to change and what code to add, if other than the code for being healed in "LAi_boarding"?

By the way, while testing this with the rain and getting suddenly healed I noticed a rather big problem. I don't know if it's fixed in build mod 13 and build mod 14, but it's not fixed in build mod 11 and build mod 12.1. While boarding you have the option to "Exit cabin" in the command menu, and that obviously shouldn't be possible. You can also enter the cabin while in a battle, which also shouldn't be possible. Since you, for example, cannot exit to map while in a battle there must be something that prevents you from doing certain things in battle. I was thinking about making it so that you cannot enter the cabin during battle and cannot "exit the cabin" while boarding. I don't know which file that code is in, though. It might have something to do with "BattleInterface". Is it fixed in build mod 13 and/or build mod 14? Any ideas on what code to add and where to add it?
 
I tried changing it on some ships, encountered those ships while it was raining, and sadly it didn't seem to work. :( Seems strange, because as far as I know, if weather environment is off things such as windows will be black and so you can't see anything through them.
This is for the boarding locations, right? Note that you would need to start a new game for this modification.

I never tried that because it seemed too simple to be the solution considering all the changes in the file. Oh, well, I tried it now and it seems to work. When the boarding is done you're not healed, which is logical, so you're not suddenly healed if also boarding another ship. However, there is one problem: You're not healed when the battle is over and you exit to map, nor are you healed if you "enter sea" again. You're only healed if you go to land.
I don't know if this is fixed in any build mod, but I was thinking about somehow making it so that you're healed whenever you enter the map. I couldn't find any file that seemed appropriate for this change, though. Any suggestions about which file to change and what code to add, if other than the code for being healed in "LAi_boarding"?
Maybe if you put that same line in PROGRAM\Worldmap\worldmap_reload.c in void wdmReloadToSea()?

By the way, while testing this with the rain and getting suddenly healed I noticed a rather big problem. I don't know if it's fixed in build mod 13 and build mod 14, but it's not fixed in build mod 11 and build mod 12.1. While boarding you have the option to "Exit cabin" in the command menu, and that obviously shouldn't be possible. You can also enter the cabin while in a battle, which also shouldn't be possible. Since you, for example, cannot exit to map while in a battle there must be something that prevents you from doing certain things in battle. I was thinking about making it so that you cannot enter the cabin during battle and cannot "exit the cabin" while boarding. I don't know which file that code is in, though. It might have something to do with "BattleInterface". Is it fixed in build mod 13 and/or build mod 14? Any ideas on what code to add and where to add it?
We did fix that, but I have no idea how to put it in your game, because the fix is part of a complete rewrite of the "walk on your ship" code.
 
This is for the boarding locations, right? Note that you would need to start a new game for this modification.
The "NEXT_SHIP" lines, like "NEXT1_FRIGATE", right? I started a new game and tried it but it didn't work. Maybe you should try it yourself, if I happened to miss something.

Maybe if you put that same line in PROGRAM\Worldmap\worldmap_reload.c in void wdmReloadToSea()?
I had to add other lines related to it, but yes, it worked. Thank you. :)

We did fix that, but I have no idea how to put it in your game, because the fix is part of a complete rewrite of the "walk on your ship" code.
If it cannot be fixed in my game, I guess I have to remove the cabin mod. :(
 
I managed to fix the problem with the cabin mod! :D It now works as it should.

I'm now trying to fix the problem with the rain. It's strange that it doesn't seem to make any difference when that file is edited.

Besides the rain, I am trying to give labels to every command, like as it says "Map" above the map command icon. The line for that is "BattleInterface.Commands.Map.note = LanguageConvertString(idLngFile, "sea_Map");". I have managed to give labels to almost everything, including the potions in the "Use item" command. The only things I haven't been able to give a label are the icons for the various cannon ammunitions in the "Reload" command and the ability icons in the "Use ability" command, both seen while at sea. These icons do not have a label in Build Mod 14 Beta 1 Patch 3.1 either. Have you tried to give these icons a label as well? If so, what's the verdict? It can't be done? One could think it would be as easy as just putting in the appropriate "language file" and then put in "BattleInterface.AbilityIcons.Turn180.note = LanguageConvertString(idLngFile, "Turn180");" for "Quick Turn-Around", for example, as the other commands have a line like that. Apparently it's not that easy. As for the cannon ammunition, there's not even a line for them, such as:
Code:
BattleInterface.Commands.Charge.enable			= false;
BattleInterface.Commands.Charge.picNum			= 11;
BattleInterface.Commands.Charge.event			= "BI_Charge";
BattleInterface.Commands.Charge.note			= LanguageConvertString(idLngFile, "sea_Charge");
This makes it more complicated, as there's no example to follow.
 
I'm now trying to fix the problem with the rain. It's strange that it doesn't seem to make any difference when that file is edited.
What if you set sea = false? Does that take effect? Should be quite noticeable if it does.

I am trying to give labels to every command, like as it says "Map" above the map command icon. The line for that is "BattleInterface.Commands.Map.note = LanguageConvertString(idLngFile, "sea_Map");". I have managed to give labels to almost everything, including the potions in the "Use item" command. The only things I haven't been able to give a label are the icons for the various cannon ammunitions in the "Reload" command and the ability icons in the "Use ability" command, both seen while at sea. These icons do not have a label in Build Mod 14 Beta 1 Patch 3.1 either.
I had a look through the code, but couldn't quite make it out either. For the others though, would you mind posting your changes?
We didn't add all that in our files, but I would like to. :wp

The one thing I'd REALLY like to do on this account is to add notes for the "Sail To" ships that would include the ships' names.
This would be quite useful for various quest purposes where you have to find a certain ship.
I had a look into this before though and couldn't figure that one out either. :facepalm
 
Nope, no change. I don't think I missed something.

Most icons have a label in Build Mod 14 Beta 1 Patch 3.1, including the potions. If you want me to post my changes anyway, I'll do so. :)

I'm sorry, when I said that I have managed to give labels to everything except the cannon ammunition icons and the ability icons I didn't think of the ships in the "Sail to" command, and so I haven't been able to give labels to those as well. I might have given the impression that I managed to give a label to them and might have given you a false expectation, and if so I'm really sorry. :(

I've found out that the code for the numbers above the cannon ammunition icons is this:
Code:
ref BI_GetChargeQuantity()
{
int chIdx = GetEventData();
ref refChar = GetCharacter(chIdx);
BI_ChargeState[0] = 4;
BI_ChargeState[1] = GetCargoGoods(refChar,GOOD_BALLS);
BI_ChargeState[2] = GetCargoGoods(refChar,GOOD_GRAPES);
BI_ChargeState[3] = GetCargoGoods(refChar,GOOD_KNIPPELS);
BI_ChargeState[4] = GetCargoGoods(refChar,GOOD_BOMBS);

return &BI_ChargeState;
}
I can only get it to display numbers, though. For example, "BI_ChargeState[1] = "500";" will show that I have 500 cannonballs regardless if I have any or not. If I put text it will only show "0".
 
No problem on the "fast travel" ships, mate. I was just wondering because that's what I was trying to figure out in the past. :doff

I'm surprised that BI_GetChargeQuantity() is a ref function; I would've expected an int.
No idea what to do about this one in any case. :facepalm
 
All right. :)

I found a fix so that it doesn't rain below deck while boarding. In the "LAi_boarding" file in "PROGRAM\Loc_ai" under "void LAi_ReloadEndFade()" and under "if(canReload)" I added "WhrDeleteRainEnvironment();" and under the "else" I added "CreateWeatherEnvironment();".
The part in my file looks like this. I have followed your example and signed my changes.
Code:
void LAi_ReloadEndFade()
{
//Çàãðóæàåì ñëåäóþùóþ ëîêàöèþ
DelEventHandler("FaderEvent_EndFade", "LAi_ReloadEndFade");
SendMessage(&boarding_fader, "lfl", FADER_IN, RELOAD_TIME_FADE_IN, true);
//Îïðåäåëèì âîçìîæíîñòü ïðîäîëæåíèÿ ïåðåãðóçîê
bool canReload = true;
if(boarding_enemy_crew <= 0) canReload = false;
if(!CheckAttribute(&Locations[boarding_location], "boarding.nextdeck")) canReload = false;
if(Locations[boarding_location].boarding.nextdeck == "") canReload = false;
if(canReload)
{
//Ïðîäîëæàåì àáîðäàæ
LAi_LoadLocation(Locations[boarding_location].boarding.nextdeck);
WhrDeleteRainEnvironment(); // Baste
}else{
//Ñëåäóþùåé ëîêàöèè íåò
DelEventHandler("LAi_event_GroupKill", "LAi_BoardingGroupKill");
boarding_location = -1;
//Ïåðåñ÷èòûâàåì êîìàíäó èãðîêà
float crew = (boarding_player_crew + boarding_officers + 1)*boarding_player_crew_per_chr;
SetCrewQuantity(GetMainCharacter(), MakeInt(crew + 0.5));
//Ïåðåñ÷èòûâàåì êîìàíäó ñîïåðíèêà
crew = boarding_enemy_base_crew*(0.1 + rand(20)*0.01);
if(boarding_echr_index >= 0)
{
SetCrewQuantity(&Characters[boarding_echr_index], MakeInt(crew + 0.5));
boarding_echr_index = -1;
}
//Íà÷èñëèì îïûò
AddCharacterExp(GetMainCharacter(), MakeInt(boarding_exp));
//Íàñòðîèì èíòåðôåéñ
Log_SetActiveAction("Nothing");
EndBattleLandInterface();
//InitBattleInterface();
//StartBattleInterface();
//RefreshBattleInterface();
//Âîñòàíîâèì àäðåñà
ref mchr = GetMainCharacter();
mchr.location = boarding_adr[0].location;
mchr.location.group = boarding_adr[0].group;
mchr.location.locator = boarding_adr[0].locator;
for(int i = 1; i < 4; i++)
{
int idx = GetOfficersIndex(GetMainCharacter(), i);
if(idx < 0) continue;
Characters[idx].location = boarding_adr[i].location;
Characters[idx].location.group = boarding_adr[i].group;
Characters[idx].location.locator = boarding_adr[i].locator;
}
//Âûãðóæàåìñÿ â èíòåðôåéñ		
LAi_boarding_process = false;
CreateWeatherEnvironment(); // Baste
if(boarding_location_type == BRDLT_SHIP)
{
LaunchRansackMain(GetMainCharacter(), boarding_enemy, "");
LAi_boarding_process = false;
}else{
if(boarding_location_type == BRDLT_FORT)
{
LaunchFortCapture(boarding_enemy);
LAi_boarding_process = false;
}else{
Trace("Boarding: unknow boarding location type");
}
}
}
}
The part in the file in Build Mod 14 Beta 1 Patch 3.1 looks different, but this should be able to work in the build mod as well.

With this it will rain when you board a ship and fight on the deck, but below deck it will not rain. When the boarding is done it will resume raining. Note that it will be the same for forts, when you enter the fort it will rain in the first location, but in the following locations it will not rain even if they are outside.



About the ships, I know that with the "MODEL.DLL" and "ship.DLL" files from the russian patch it is possible to destroy masts, but crew can still climb in the rigging of the mast that is destroyed and will thus climb in the air. Was this ever fixed somehow?
 
About the ships, I know that with the "MODEL.DLL" and "ship.DLL" files from the russian patch it is possible to destroy masts, but crew can still climb in the rigging of the mast that is destroyed and will thus climb in the air. Was this ever fixed somehow?
Unfortunately, no.
 
I see. Too bad.



I tried enabling the rapers encounter and it worked, but I found something that might not be fixed even in the build mods. The woman can get male names, which she shouldn't. How can it be changed so she can only get female names? She also has a sword, which she also shouldn't, and altough I used the fix for that she still has it. How can it be fixed so she doesn't get a sword?
Fixed. It is fixed in the build mods, but that fix didn't work in my game, so I found another way to fix it.

In the stock game if viewing the abilities of an officer and then cancelling it returns to the view of the main character, but in build mod 11 this is fixed so it stays on the officer in question. I've managed to fix this in my game as well. Unfortunately you can't change character if you exit the ability view of an officer, you have to exit and enter the character view again. In build mod 14 (I don't know about 12.1 and 13), however, you can still change character when exiting the ability view of an officer. What must I do in order to make it possible in my game as well? I think it has something to do with "SetNodeUsing("LEFTCHANGE_CHARACTER",false);" and "SetNodeUsing("RIGHTCHANGE_CHARACTER",false);" in the "character.c" file in "PROGRAM\INTERFACE".
Fixed. I used KAM's code and had to modify it a little, and now it works in my game.

In the "Build Readme" file for build 11, NK (I guess) wrote this:
"NK - Sail Damage Bugfix - Description: This fixes a bug in the sail damage routine where the attack character, not the defending character, is checked to see whether they have defense perks."
Where can I find the code for this to also fix it in my game?
Fixed. Found the code and fixed it.

I have also made several other modifications, such as making the random officers more useful.

Oh, and about this:
Rain inside during ship boarding fixed by Baste
I'm happy to be of help, even though it isn't a very advanced fix. :)

By the way, the "Build Info" file says "Build 14 Beta 5 WIP", and "Beta 5" doesn't seem right. :p

You also might or might not know that the descriptions for the "Swift Shader" and "ENB Improved Graphics" in the installer for build mod 14 should be swapped. I thought I should say that in case you didn't know so it's not the same in an eventually upcoming beta 2.

About build mod 14, I haven't tried it a lot, just a little, but have some things to say. The keys for up and down in dialogs are changed to W and S and that might be good, but there should be an option for this as well in the options menu if anyone wants to change it back or use other keys.

The "BuildSettings" file does not seem to work anymore. I edited it but the changes didn't take effect in the game and I had to edit the settings in the game, and there seems to be a limit to things such as starting level and starting money.

It seems it is better to fight unarmed than to use a sword. I talked to a guy and suddenly a lot of enemies came out of nowhere and attacked me, and nobody seemed to help me. I had bought good equipment and fought back but after a while I was knocked out and woke up in the tavern. I tried it some more times but the same thing happened. Then just to try I did it again but this time fought unarmed. I won, I made more damage than with swords and guns and also "stunned" enemies, everyone was sitting on the ground with white particles over them and I could easily kill them and take their money and stuff and then sell the stuff. I got a lot of money that way. So, it seems to be better to fight unarmed. It seems strange that suddenly a lot of people wanted to attack me, but it also seems strange that it is better to fight without weapons.

In my game I made it so that it's possible to use officers' abilities on the ship if the main character does not have the ability, but there are problems, and it's the same in both my game and the build mod. For instance, if I do not have the "Quick Turn-around" ability but an officer does and I use it, I can use it directly again even though there's supposed to be a time limit, and if I view my own abilities I suddenly have the ability myself. Strange.
 
Oops; will fix the Build version description for the next release. :facepalm

I do know about the ENB and SwiftShader swap; will fix that for Beta 2. :yes

You can change various keys in PROGRAM\CONTROLS\DefaultControls.h, including the up/down dialog ones.

For the BuildSettings, use the ingame Options>Advanced Options instead.
The starting money and level options don't seem to work properly though.
I use the console for those if I need to.

Have a look at this code in PROGRAM\Loc_ai\LAi_events.c:
Code:
		if( CheckAttribute(weapon, "fist" ) && !LAi_IsImmortal(enemy))
// PB: New weapons attribute, exclusively for your fists
//     Can't knock out immortal characters, nor can you do damage to them
{
int rank = makeint(attack.rank);
int punch = rand(rank) + rank;
// Calculates the strength of your punch; character's rank increases damage

LAi_ApplyCharacterDamage(enemy, punch);
// Applies damage to enemy
LAi_CharacterPlaySound(enemy, "OBJECTS\duel\punch"+sti(Rand(5)+1)+".wav");//MAXIMUS: added 3 new sounds from Pirates
// Play a random punch impact sound

LAi_CheckKillCharacter(enemy); // Checks if this has killed the character

if(!LAi_IsDead(enemy)) //checks if char now dead or not
{
if(rand(100) < punch + sti(attack.skill.Sneak) && sti(enemy.index) != GetMainCharacterIndex())
// Checks if punch knocks enemy out; character's rank increases chance
{	//MAXIMUS: during fight, character can join to his crew. Sometimes it may be helpful -->
bPlayer = false;
if(CheckAttribute(enemy, "chr_ai.group") && enemy.chr_ai.group==LAI_GROUP_PLAYER)
{
if(sti(mainCh.skill.Leadership)>sti(enemy.skill.Leadership)) bPlayer = true;
}
else
{
if(sti(mainCh.skill.Leadership)<sti(enemy.skill.Leadership)) bPlayer = true;
}
LAi_Stunned_StunCharacter(enemy, 100, true, STUN_STARS, bPlayer);
//MAXIMUS: during fight, character can join to his crew. Sometimes it may be helpful <--
SetHostile = false;
}
}
}
I never did get the fists to work properly balanced, so if you've got any suggestions, be my guest. :doff
 
You can change various keys in PROGRAM\CONTROLS\DefaultControls.h, including the up/down dialog ones.
Ah. :)

For the BuildSettings, use the ingame Options>Advanced Options instead.
The starting money and level options don't seem to work properly though.
I use the console for those if I need to.
Yes, I had to do it in the game, just seemed strange that the file didn't work anymore.

Well, if it's going to be based on level, how about this:
Code:
if( CheckAttribute(weapon, "fist" ) && !LAi_IsImmortal(enemy))
// PB: New weapons attribute, exclusively for your fists
//     Can't knock out immortal characters, nor can you do damage to them
{
int rank = makeint(attack.rank);
int punch;
punch = rand(rank)*0.5;
if(IsCharacterPerkOn(enemy, "BasicDefense")) punch = rand(rank)*0.45;
if(IsCharacterPerkOn(enemy, "AdvancedDefense")) punch = rand(rank)*0.4;
if(IsCharacterPerkOn(enemy, "SwordplayProfessional")) punch = rand(rank)*0.3;
if(makeint(punch) <= 0) punch = 1;
// Calculates the strength of your punch; character's rank increases damage

LAi_ApplyCharacterDamage(enemy, punch);
// Applies damage to enemy
LAi_CharacterPlaySound(enemy, "OBJECTS\duel\punch"+sti(Rand(5)+1)+".wav");//MAXIMUS: added 3 new sounds from Pirates
// Play a random punch impact sound

LAi_CheckKillCharacter(enemy); // Checks if this has killed the character

if(!LAi_IsDead(enemy)) //checks if char now dead or not
{
if(rand(50) < punch && sti(enemy.index) != GetMainCharacterIndex())
// Checks if punch knocks enemy out; character's rank increases chance
{	//MAXIMUS: during fight, character can join to his crew. Sometimes it may be helpful -->
bPlayer = false;
if(CheckAttribute(enemy, "chr_ai.group") && enemy.chr_ai.group==LAI_GROUP_PLAYER)
{
if(sti(mainCh.skill.Leadership)>sti(enemy.skill.Leadership)) bPlayer = true;
}
else
{
if(sti(mainCh.skill.Leadership)<sti(enemy.skill.Leadership)) bPlayer = true;
}
LAi_Stunned_StunCharacter(enemy, 100, true, STUN_STARS, bPlayer);
//MAXIMUS: during fight, character can join to his crew. Sometimes it may be helpful <--
SetHostile = false;
}
}
}
I made it so its maximum damage is half your level, and less if the opponent has defense abilities because they say all damage is decreased. I also changed the "piercing value" for the fists from 100% to 0%. I tried to make the "stun check" take the opponent's level into account when determining if the opponent gets stunned or not, but I couldn't get it to work so I took the random number back but changed it from 100 to 50. I also changed it so that it doesn't use Luck. I'm not sure about what "sti(enemy.index) != GetMainCharacterIndex()" does. These changes can of course be modified again, just some thoughts I had. What do you think about this?
 
Back
Top