/* Searches an array of RAT sources in order for one that matches
the faction, year, and unit type, checking alternate factions
(periphery, general, etc.) for each source. If none is found,
searches the array in ascending chronological order for the
best fit, then defaults to Total Warfare.
*/
I assume this is a set of defensive fallbacks to make sure a player who doesn't select sufficiently detailed datasets doesn't end up unable to hire anyone. The fallbacks don't check for dates at all.
Unsure whether it's best to treat this as 'as designed', implement a conditional check for year in the fallbacks, or have the market throw away any invalid responses.
(For reference, the logic is in UnitTableData.getBestRAT() called by PersonnelMarket.addRecruitUnit())
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Not all of the personnel market methods check era when generating potential hires, resulting in the possibility of battle armor or protomech pilots before they should be available. The problem of Kage battle armor showing up before it is supposed to be available results from the primary problem of battle armor pilots being available for hire twenty-five years too soon.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am marking this as post-stable since its not a terribly problematic bug, just an immersion breaking one. If Dylan or Carl want to tackle it for the stable be my guest.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Comment in the logic used:
/* Searches an array of RAT sources in order for one that matches
*/
I assume this is a set of defensive fallbacks to make sure a player who doesn't select sufficiently detailed datasets doesn't end up unable to hire anyone. The fallbacks don't check for dates at all.
Unsure whether it's best to treat this as 'as designed', implement a conditional check for year in the fallbacks, or have the market throw away any invalid responses.
(For reference, the logic is in UnitTableData.getBestRAT() called by PersonnelMarket.addRecruitUnit())
He never specified if he was using AtB or not. I had assumed not, and just not gotten around to fixing it.
I was using AtB
Not all of the personnel market methods check era when generating potential hires, resulting in the possibility of battle armor or protomech pilots before they should be available. The problem of Kage battle armor showing up before it is supposed to be available results from the primary problem of battle armor pilots being available for hire twenty-five years too soon.
I am marking this as post-stable since its not a terribly problematic bug, just an immersion breaking one. If Dylan or Carl want to tackle it for the stable be my guest.