So, there is still a lot of posts I haven't read on the forum, so please forgive me if I've posted anything that has been discussed before.
How about for Workers: Repair, Maintenance and Manufacturing?
- Repair - Anything that might ever need to be repaired (aircraft, tanks, etc.) would have a certain repair points per health point cost, where it would cost a given number of repair points to restore a single hp. This attribute would be the amount of said repair points a worker can produce in a set time period (1 hour?). If a base doesn't have any workers, it uses some small hard-coded value which would represent workers sent from U.N.
- Maintenance - Each building in base and some of the bigger equipment (such as aircraft) would have a monthly maintenance cost (this would be separate from the current upkeep cost; upkeep = spare parts, etc., maintenance = time spent replacing/cleaning/inspecting). All your workers maintenance points would be summed, and for every point the base falls short would have to be paid in cash instead (1k or 10k credits per point?). This calculation could be done together with the monthly upkeep. If done right it would discourage players from firing their workers just before the end of the month.
- Manufacturing - Basically, each item that can be produced would have a construction cost. This attribute would determine how many of said points a worker contributes in a production cycle.
Also I think that instead of calculating the staff salaries at the end of a month, it might be better for each base to have an integer for each of the personnel type that can be hired which would track the salary to be paid so far, and have some sort of daily or hourly cycle when this gets incremented based on current personnel. This would definitely stop all but the most hardcore cheaters from using the fire/hire method of avoiding paying salaries.
With the above the Maintenance thing could be changed so that the maintenance cost of items and buildings would be set somewhat high at the beginning of each month, and would be decreased by the total maintenance points of all workers each time the owed salary is incremented.
======================
Regarding pilots, if they'll have any attributes, I've seen it discussed elsewhere in the forum (an old post) that it may be difficult to use a similar approach to soldiers for leveling them. Therefore I propose that their attributes instead be tied/hard-coded to rank, and would only change as the pilot gets promoted. They would gain experience points for every hour in the air, for every 10 seconds of combat and for every kill (so not for hitting a ufo or evading their attacks).
======================
Another way to make personnel unique is by special skills/training (could be displayed as some sort of badges). They could have 3 grades which would be reflected in the color of their icon (bronze, silver, gold). Some examples:
Soldiers
- <Environment> Combat Training (e.g. <Desert, Urban, Woodland, etc.> Combat Training - 5%, 10% or 15% bonus to attributes for bronze, silver and gold grade respectively). Perhaps some types of environments could also be divided into how extreme they are, giving a 5%, 10% or 15% penalty to attributes, and could then be negated by the appropriate training. For instance in a desert with 10% penalty, a soldier with gold Desert Combat Training badge (+15%) would get a 5% bonus to attributes.
- Field Medic - Bronze grade would decrease the TU cost of using a medkit (might have to set the cost higher for untrained soldiers), Silver would increase the amount healed and Gold would increase the number of charges for a medkit (it could have 4 charges, but below gold grade would cost 2 charges to use, thus giving 2 uses for "untrained" and 4 uses for the trained soldiers).
Workers
- Golden Touch - 5%, 15% and 30% boost to repair attribute.
- Engineer - 5%, 10% and 20% boost to manufacturing attribute. Couldn't come up with a better name for this, but since they're called workers instead of engineers...
Etc...
Personnel would sometimes come with one or two of those, but they could all be gained through experience/training. Gaining them through experience should be very slow, and a little unpredictable (e.g. some soldiers would get a bronze Field Medic after restoring 200 hit points, others after restoring 300). On the other hand, sending someone to dedicated training would always give the attribute upon completion, and it would always take the same amount of time.
There should also be a big difference in requirements between bronze and silver, and even higher between silver and gold. Sending someone to training should make them unavailable for the duration (I can imagine silver to gold upgrade taking 6 months or so).
======================
Also I would like to propose a new attribute for all the types of personnel, Fatigue.
It would be used slightly differently for each of the types.
Soldiers
- Every 20 - 30 TU's used would add 1 fatigue point. Some actions/events would also add extra fatigue points, for instance firing a weapon would add 1 extra fatigue point, while getting hit would add 1-4 points, depending on hp lost.
- Once fatigue reaches a certain level, it will decrease the number of TUs available to the soldier each turn (down to a certain minimum, perhaps enough to fire a pistol once and move 2 squares?). If the fatigue reaches critical levels, the soldier will suffer penalties to his attributes (up to 50%?).
- Every hour spent outside the base (for instance traveling to/from missions) would also cost 1 fatigue point. Whereas every hour spent at the base would decrease fatigue by 1 point. If fatigue is above certain level, perhaps give player an option to put the soldier into the hospital for a couple of days. This would make him unavailable for the duration, but would remove all their fatigue.
- Using a medkit to administer a stim would remove some of the fatigue points accumulated so far, for the duration of the mission, but would add a lot after the mission.
Pilots
- Every 30 minutes in the air would add a fatigue point. Every 10 seconds of combat would add 2-4.
- After the fatigue reaches a certain level, their speed would start to decrease. If fatigue gets high enough it will also start affecting other attributes of the aircraft, like to-hit and to-evade chances.
Scientists and Workers
- This will need the player to be able to set the length of work-shifts. There would be either 3 or 5 options. The middle value would be the "normal" shift, the value(s) below that would be shorter shifts - decrease fatigue and add a penalty to work efficiency - while the ones above would be longer shifts - add fatigue but also give a bonus to production/research. The bonus/penalties wouldn't be equal, for example switching to longer shifts might give a 10% bonus to production and increase fatigue by 3, switching to shorter shifts in order to recover fatigue might instead give a 20% penalty to production and only remove 2 fatigue points.
- In order to motivate players to keep their workers fatigue low, besides the attribute penalty at higher fatigue levels, their salary could also be modified by fatigue (basically paying them overtime?).
The idea behind fatigue for soldiers and pilots is to add another layer of resource management. With limited replacement personnel, and a lot of alien activity the player may have to make hard choices, possibly forcing him to ignore most missions in order to keep his men fresh and ready for the ones he thinks more important, or in case of soldiers, sending fewer on a mission than he would otherwise in order to be able to do more missions.