While sailing along it came time to pay the crew but they took 3 times as money as they should have. This probably an intermittent bug an there might be other things going on too.
I loaded your savegame and put in some trace lines to check what actually happens. This was the result:
Paid 3332 to crew (correct amount as shown in interface)
Removed 6000 from player money and added to personal wealth
So in total 9332 gold was subtracted from the "crew fund" while the interface indicated only 3332. I can understand that would be confusing.
However, that extra 6000 gold does not disappear! You get it as personal wealth, which you can donate right back to the crew.
By doing that, I got 15349 gold after all those transactions and there was 18681 gold before. The difference is only the actual pay of 3332 gold.
So based on this test, this isn't actually a bug and you don't actually lose your money either.
---------------------------------------------------------------------------------------
That being said, getting paid 6000 as captain while the entire crew pay is only 3332 does sound a bit excessive.
The player salary share is calculated in this function:
Code:
int GetPaymentSum(ref PChar)
{
int pSalary = makeint((0.75 + makefloat(GetFoodEver()) * 0.25) * makefloat((10+sti(PChar.rank)*2) * 100 * COMP_PRICE_SCALAR* SALARY_MULTIPLIER) * (0.5 * makefloat(GetDifficulty())));
return pSalary;
}
So you get MORE money on higher difficulties; this may have been intended to balance the harder game.
And you get more at higher player rank too. But this test was conducted at rank 5 so that amount of money is only going to go UP during the game.
GetFoodEver simply returns 1 or 0 depending on whether you have crew who eat food or not:
Code:
bool GetFoodEver()
{
if(CheckAttribute(GetMainCharacter(),"foodoff")) return false;
return true;
}
Not entirely sure why that is factored into this calculation though.
---------------------------------------------------------------------------------------
Long story short, I see no actual bug here. But it certainly does look like an odd feature that we might want to think through a bit further.
What would be a reasonable monthly salary for the player character and what should this depend on?
The current formulation doesn't make all that much sense to me and looks to be returning a too high amount in this test case as well.
Thoughts? Suggestions?