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

Higher Abilities

Desric

Landlubber
In the base game all the PIRATES abilities are set at a max value of 10 and skills (nav, aim, luck, etc.) are set at a max of 100 and I wanted to increase those maximums to see if it would add a bit more of a challenge. I remember seeing it somewhere while looking through the program files (I think it was in the RPGUtilite file) but now I can't find it anywhere. I was hoping someone could point me in the right direction as to where to find these values. I know I can change starting abilities for specific classes, but I want to have NPCs with more diverse abilities too for added depth and difficulty (hopefully). Thanks in advance.
 
There is a easier way and thats to give your character a starting amount of skill points. In Program\characters == RPGUtilite

Code:
ch.skill.freeskill   = 0;

Change 0 to what ever you want, i think 28 is enough but could be wrong. 32 is more than enough.

If however you want to just set the charater as already having all stats at 10 then in the same file search for the following code, just above the previous code above.

Code:
case "Carpenter":
ch.perks.list.Carpenter = "1";
SetSPECIAL(ch, 7,5,7,6,7,4,6);
break;  

case "Merchant":
ch.perks.list.BasicCommerce = "1";
SetSPECIAL(ch, 4,9,5,8,9,3,4);
break;

case "Corsair":
ch.perks.list.Tireless = "1";
SetSPECIAL(ch, 7,6,6,3,5,9,6);
// ÍÇÃ -->
i = 0;
while (i < 2)// äâå íàãðàäû
{
iTmp  = rand(MAX_NATIONS-1);
sTemp = "reputation." + NationShortName(iTmp) + "hunter";
if (iTmp != PIRATE && iTmp != sti(ch.nation) && sti(ch.(sTemp)) == -5)
{
/*if (MOD_BETTATESTMODE == "On")
{
ch.(sTemp) = (7 + rand(8));
}
else
{ */
ch.(sTemp) = (1 + rand(5));
//}
i++;
}
}
// ÍÇÃ <--
break;

case "Adventurer":
ch.perks.list.BasicDefense = "1";
SetSPECIAL(ch, 5,7,6,4,6,6,8);
break;

case "Inquisitor":
ch.perks.list.IronWill = "1";
SetSPECIAL(ch, 6,4,5,9,6,7,5);
break;

case "SecretAgent":
ch.perks.list.CriticalHit = "1";
SetSPECIAL(ch, 7,7,7,4,6,5,6);
break;
 
I know about preset stats for specific classes already. I'm talking about increasing the maximums for all characters and NPCs to add a bit more depth to the game. It's a bit too one-sided if I just give all the bonuses to my characters. I'm trying to get the skills past 100. I plan on doubling the max values and see how that plays out.

I want the abilities for officers, my characters, and any enemy NPCs like fort commanders, ship captains, and even muggers to range from 8-20 instead of 3-10 and the skills to be trainable up to 200 rather than just 100. Right now I'm testing the difference in character abilities, but the only way to make it more challenging would be to reduce my abilities, and that's why I want to increase the maximum values throughout the game.

I've already changed and tested the character and officer abilities before, but now I'm trying to do the same for all other characters and NPCs in game.

case "Adventurer":
SetSPECIAL(ch, 10,10,10,10,10,10,10);
break;


void SetRandSPECIAL(ref _refCharacter)
{
SetSPECIAL(_refCharacter,
(10),
(10),
(10),
(10),
(10),
(10),
(10));

I actually found the values to change the maximum trainable skills while looking for the officer's ability generator values, I just can't find it now that I actually want to change them.
 
Oh, in that case i will point some files i have seen, not sure if they are what your looking for but they did have somethings in that might be of interest to you.

Program\scripts == officers.C
Program\loc_ai\types == Check all files


To change max skill look in.
Program\characters == characters.H

Code:
#define SKILL_MAX           100
#define SKILL_MAX_TOTAL	    100 // äåëèòåëü äëÿ ñêèëà äëÿ ôîðìóë
#define SPECIAL_MAX         10
#define SKILL_TO_OLD        10.0


Not sure if this will help. There seems to be some other things of interest in this file too.
Program\characters == GeneratorUtilite.C

Code:
  //trace("CalculateAppropriateSkillsParam " + NPchar.id);
float  fValue;

fValue = (20 * _complex / 4.0);
Npchar.skill.FencingLight = makeint(MiddleK + (frandSmall(fValue) + frandSmall((20* _complex / 3.2)) - 24));
Npchar.skill.Fencing      = makeint(MiddleK + (frandSmall(fValue) + frandSmall((20* _complex / 3.0)) - 20));
Npchar.skill.FencingHeavy = makeint(MiddleK + (frandSmall(fValue) + frandSmall((20* _complex / 3.5)) - 28));
Npchar.skill.Pistol       = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));
Npchar.skill.Fortune      = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));

Npchar.skill.Leadership   = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));
Npchar.skill.Commerce     = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));
Npchar.skill.Sailing      = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));
Npchar.skill.Accuracy     = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));
Npchar.skill.Cannons      = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));
Npchar.skill.Grappling    = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));
Npchar.skill.Repair       = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));
Npchar.skill.Defence      = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));
Npchar.skill.Sneak        = makeint(MiddleK + (frandSmall(fValue) + frandSmall(fValue) - 30));

CorrectSkillParam(Npchar);

Thats all i can find at the moment.
 
That's what I was looking for. Thanks. I'm gonna have to play around with the generator files too and see what I can make out of em. It seems pretty interesting.

By the way, this is kinda off topic, but how do you add the lines of code in the separate window within the post?
 
No problem bud, glad its what your looking. :onya

To add code into its own window just wrap code around, quote this message to see how its done. ;)

Code:
game code goes here
 
HEY! Thanks mates! :woot This could prove useful to make my enemies weaker and my skills stronger. :woot
 
Back
Top