Author Topic: Promotion Advisor  (Read 4171 times)

Offline MyThos

  • Sergeant
  • **
  • Posts: 43
    • View Profile
Promotion Advisor
« on: September 27, 2013, 04:54:00 pm »
Hi,

as per the "Promotions"discussion in the "Open Feedback" forum it would be rather nice if, after battle and promotion slots are available, the user get's to choose soldiers for promotion from a list of eligible candidates. This could either be part or follow-up of the tactical combat summary screen.

Of course available as "optional" item as it hat impact on the game. What do you think ?

Ref: https://openxcom.org/forum/index.php/topic,1493.msg14471.html#msg14471

Cheers,
Michael

Offline kharille

  • Colonel
  • ****
  • Posts: 370
    • View Profile
Re: Promotion Advisor
« Reply #1 on: September 28, 2013, 03:09:26 pm »
Something just crossed my mind.  Since we're on this topic, are there subtle but powerful effects that rank has?  Maybe you can't build another base until you have a captain?  Or maybe other factors.  As far as I'm concerned rank means more responsibility and a need for certain leadership qualities which doesn't necessarily mean excellent shooting skills.

Just brainstorming.  Maybe higher ranks can call in air strikes from nearby interceptors.  Ok, so the aliens are already at a disadvantage, but small things like that.  Like the authority to destroy a crash site from the air. 

Just a thought.  Feel free to share your thoughts.

Offline Align

  • Colonel
  • ****
  • Posts: 196
    • View Profile
Re: Promotion Advisor
« Reply #2 on: September 28, 2013, 04:10:15 pm »
I'm not sure I'd want to be forced to adapt to ranks any more than I already am. Better if it's the other way around, like how you only start getting higher ranks in the vanilla game if you hire more soldiers total.
So if it could somehow tell which soldiers I keep in the bank and promote those before my frontliners, that'd be useful.

Offline Sharp

  • Colonel
  • ****
  • Posts: 181
    • View Profile
Re: Promotion Advisor
« Reply #3 on: September 28, 2013, 08:35:12 pm »
So if it could somehow tell which soldiers I keep in the bank and promote those before my frontliners, that'd be useful.

Well you can see promotion score in code

Code: [Select]
void SavedGame::inspectSoldiers(Soldier **highestRanked, size_t *total, int rank)
{
int highestScore = 0;
*total = 0;

for (std::vector<Base*>::iterator i = _bases.begin(); i != _bases.end(); ++i)
{
for (std::vector<Soldier*>::iterator j = (*i)->getSoldiers()->begin(); j != (*i)->getSoldiers()->end(); ++j)
{
if ((*j)->getRank() == (SoldierRank)rank)
{
(*total)++;
UnitStats *s = (*j)->getCurrentStats();
int v1 = 2 * s->health + 2 * s->stamina + 4 * s->reactions + 4 * s->bravery;
int v2 = v1 + 3*( s->tu + 2*( s->firing ) );
int v3 = v2 + s->melee + s->throwing + s->strength;
if (s->psiSkill > 0) v3 += s->psiStrength + 2 * s->psiSkill;
int score = v3 + 10 * ( (*j)->getMissions() + (*j)->getKills() );
if (score > highestScore)
{
highestScore = score;
*highestRanked = (*j);
}
}
}
}
}

So you could manually calculate who have high promotion scores, easier way to look at it is
promotion_score = 2*HPs + 2*Energy + 4*Reactions + 4*Bravery + 3*TUs + 6*FireAcc + MeeLeeAcc + ThrowAcc + Strength + 10*Missions_cnt + 10*Kills_cnt + PsiSkill>0?(PsiStrength+2*PsiSkill):0;

No hidden stats (except melee accuracy which can be 20-40 at start and increases the more you stun) as psi won't count until they have been psi-tested. Bit of an effort to manually calculate the promotion score of each soldier but it is doable.