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

Officers

JaM

Landlubber
Is posible to change level of hired officers?Game is too easy if you could recruit too powerfull officers.I had level 2 main character and i was able to recruit level `6-8` officers... What about restrict max level of hired officers? (for example with luck at `1-5` will hired officers have max level lower than main character, with luck `5-9` they will be equal and with luck 10 they will be better +2 or 3 levels...) With too high level officers all those profesions losts its importance becouse you could have a few multifunction officers.
(or make all officers in tavern to lock at certain max level...)

thanks
boild 11.0 rocks.. :cheeky
 
It is possible to tweak it so that the officers you hire are a lower level.
In the folder PROGRAMLoc_ai there is a file called LAi_CreateOfficer.c

Find the following entries and
if(friend)
{
 nRank = makeint((pRank/2.0 + Rand(pRank) + (pLead / 3.0) + (pLuck / 3.0)) * (2.0/3.0 + (4.`0-makefloat`(GetDifficulty()))/5.0) + 0.5);
}
else
{
 nRank = makeint((pRank/2.0 + Rand(pRank) - (pLuck / 3.0)) * (2.0/3.0 + ((makefloat(GetDifficulty())-1.0)/5.0)) + 0.5);
}

You'll have to work out what to change it to as I'm happy with how it's been set up now and I don't want to change it on my game.
 
Set difficulty level higher before talking to an officer. Level of friends is higher, and enemies' lower, at lower diff levels, and vice versa.
 
Technical explanation coming. xD:

<!--`QuoteBegin-Sirus_Darke`+--><div class='quotetop'>QUOTE(Sirus_Darke)</div><div class='quotemain'><!--QuoteEBegin-->It is possible to tweak it so that the officers you hire are a lower level.
In the folder PROGRAMLoc_ai there is a file called LAi_CreateOfficer.c

Find the following entries and
if(friend)
{
 nRank = makeint((pRank/2.0 + Rand(pRank) + (pLead / 3.0) + (pLuck / 3.0)) * (2.0/3.0 + (4.`0-makefloat`(GetDifficulty()))/5.0) + 0.5);
}
else
{
 nRank = makeint((pRank/2.0 + Rand(pRank) - (pLuck / 3.0)) * (2.0/3.0 + ((makefloat(GetDifficulty())-1.0)/5.0)) + 0.5);
}

You'll have to work out what to change it to as I'm happy with how it's been set up now and I don't want to change it on my game.[/quote]

nRank is the desired rank.
bool variable Friend says whether NPC is officer or not.
pRank is rank of player
pLead is player's Leadership
pLuck is player's Luck
GetDifficulty returns 1 to 4, depending on difficulty level (Apprentice = 1)
Rand(n) returns a number from 0 to n.

So, to dissect the officer side:
Rank = ( (player rank / 2) + (random number between 0 and player rank) + Leadership /3 + Luck / 3) x (2/3 + ( (4 - Difficulty) /5 ) )
 
Or, rank is basically 1/2 your rank _plus_ anywhere from 0 to your current rank, plus leadership and luck bonuses.
Then, it's scaled by anywhere from 1.267 (apprentice) to 0.67 (swash)
 
Back
Top