At the moment the price of the officer is determined by it's skills and it's level.
each time a level or skill goes up the price will be changed. If the officer is changed in role the price will also be changed to reflect the new contributions.
So at the moment it doesn't make a difference if the officer is new or in your service for a long time already.
I was thinking....maybe its an idea to have some more varaity. Some idea's:
- Have a salary multiplier per person which is a random number between (say) 0.8 and 1.2. And this number is fixed and won't change. The salary is always multiplied with this number so some people will have always a lower salary then others even if they are exactly the same (this would be realistic right ...).
- Have the salary be a bit less if a officer is longer in service. I believe realisticly speaking the longer a officer is in service the higher its salary would be, but gameplay wise I think it would be better to have a discount for officers which are longer in service to motivate people to keep theire officers longer.
- Have the officer price be also depended on the total amount of damage a officer has experienced. So someone who was hurt a lot wants a higher price (this would contradict the things I say in the thing above and it might motivate people to get rid of officers easier).
idea's?
Code:
int GetBaseOfficerPrice(ref Officer)
{
//Get the modifier for the officertype
float typemod = GetOfficerPriceMod(Officer);
//Level based price
int baseprice = (sti(Officer.rank)-1) * 125;
int skillprice = 0;
//Skill based price
for(int i = 0; i < 10; i++)
{
skillprice += GetOfficerPriceForSkillLevel(Officer, GetSkillName(i));
}
return makeint((baseprice + skillprice) * typemod * OPRICE_LEVEL_MULT);
}
Code:
int GetOfficerPriceForSkillLevel(ref Officer, string skillname)
{
string officType = Officer.quest.officerType;
int skillFactor = GetOfficerSkillFactor(Officer, skillname);
if(skillFactor > 0)
{
int skilllevel = GetEffectiveSkill(Officer, skillname);
return skilllevel * skillFactor * 20;
}
return 0;
}
So at the moment it doesn't make a difference if the officer is new or in your service for a long time already.
I was thinking....maybe its an idea to have some more varaity. Some idea's:
- Have a salary multiplier per person which is a random number between (say) 0.8 and 1.2. And this number is fixed and won't change. The salary is always multiplied with this number so some people will have always a lower salary then others even if they are exactly the same (this would be realistic right ...).
- Have the salary be a bit less if a officer is longer in service. I believe realisticly speaking the longer a officer is in service the higher its salary would be, but gameplay wise I think it would be better to have a discount for officers which are longer in service to motivate people to keep theire officers longer.
- Have the officer price be also depended on the total amount of damage a officer has experienced. So someone who was hurt a lot wants a higher price (this would contradict the things I say in the thing above and it might motivate people to get rid of officers easier).
idea's?