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

Fixed Quest Officer Salaries

I currently have 5 officers. 3 quest officers and 2 hired off the street. Voysey is the most expensive by far, then comes the other 2, then the regular officers are a little cheaper yet.
 
Should the way the prices are calculated not be the same or at least similar for quest and non-quest officers?
It should be. But I suspect the prices which are set in the character init conflict somewhere altough they should be overwritten.
I will be able to tackle this on wednesday.
 
It should be. But I suspect the prices which are set in the character init conflict somewhere altough they should be overwritten.
I will be able to tackle this on wednesday.
Fred Bob only has:
Code:
ch.quest.officerprice = "500";
 
@Levis: Can you give a brief explanation of how officer salaries are determined? Both when initially generated AND when they level-up?
I observed that their salary increases on almost all Level-Ups, which is was a bit surprising to me because I'd expect it on ALL level-ups.

Unless you made use of my suggestion of only increasing the salary IF they level-up the skills/perks that they actually contribute.
But that hypothesis doesn't seem to hold true either: Salaries increased even with Auto Skill System OFF or when not levelling up contributing skills/perks.
So I'd quite like to know how it is meant to work so that I can check if it indeed appears to work as intended.

I tested this using the Level-Up Cheats.
 
A character gets a officerprice after its fully initialized (so maybe the error lies there).
After that each time you Level up (not skill Level only normal Level (if you have my latests fixes at least)) the Price should increase with a certain amount based on the skill Levels etc.
What it does is it calculates the officer Price you should pay before you Level up and the officerprice after you Level up and substracts those two. This difference is added to the officerprice.

Come to think of it there might be a Problem because the adding function is called when LevelUp is true in the addxptochar function but it might return also true if a skill Levels up. Don't know that for sure anymore.

I will look at this as soon as I can.
 
I happen to have a save made just before I arrive at the pirate settlement at Nevis, where Artois is about to be killed because I'm not going to pay him 3500/month. :)
If you want it for testing purposes, I could attach it later in the evening, when I'm at home.
 
sight..... this was not my fault ...
Code:
characters[GetCharacterIndex("Artois Voysey")].quest.officerprice = makeint((sti(Pchar.rank) * 2 + 10)*100) - 330 + rand(40)*15 + rand(10);

From quest_side.c
 
Fred Bob I can't find anything about except if you fire him his offerprice is raised a lot...
 
Fred Bob I can't find anything about except if you fire him his offerprice is raised a lot...
Is that separate code in there somewhere? If so, maybe time to kick that out.

And that line for Artois can be dropped too, I imagine. Officer = officer, after all.
 
Is that separate code in there somewhere? If so, maybe time to kick that out.

And that line for Artois can be dropped too, I imagine. Officer = officer, after all.
Removed it for artois. Just spawned fred bob and he looked good. I did change the dialog file so a number is added instead of its altered to these values. Fixes comming soon with the other stuff
 
Ah. So I can let this guy live. Which function do I use from the console to calculate a sane salary for him? xD
 
Ah. So I can let this guy live. Which function do I use from the console to calculate a sane salary for him? xD
If you want to calculate a new price for an officer use this:
Code:
ref officer = characterFromID("Fred Bob");
officer.quest.OfficerPrice = GetBaseOfficerPrice(officer);

Change the Fred Bob to the ID of the character you want to change it for.
 
@Levis: I'm looking into some quest issues now and ran into this example of strange officer salaries:
upload_2016-1-4_16-48-39.png


Then after hiring, it obviously doesn't match with what he said:
upload_2016-1-4_16-49-7.png


Now it seems to me that "2500" per month is quite a huge sum in the first place.
Salaries also don't stay the same throughout the game, so such a promise is quite silly.
This is made worse by the the "first two months for free" thing.

Is that "2500" not supposed to be a one-time sum to be paid to ARNAUD MATTTON and not to Baldewyn?
We could change the dialog to "you square his debt, then you pay him a reasonable salary each month".
Leave the actual salary out of the dialog altogether and then it cannot possibly be wrong either. :wp
 
hmmm.....Or we add an attribute to the character. If this attribute is present it wont use my salaray calculations?

I believe the 2500 is coded. So thats not by my scripts :p.
In these cases it might be better to just have a salary of 0. And maybe only after the quest is done or so remove the attribute so his salary will change?
 
I believe the 2500 is coded. So thats not by my scripts :p.
I know it isn't your code. It is just some random stuff in that dialog.
Rather than changing the code to match with the dialog, I was thinking of simply changing the dialog to match with your code. ;)
 
This is disucces in another thread now so I'm closing this one again.
 
Back
Top