Hi everyone — happy to say that SANDMAN v0.2.0 is out now. Thanks for all of your great suggestions. Here’s what I was able to add in this release:
RESERVE CREWS
Bases may now store reserve crews per unit class, which can be swapped in to replace exhausted pilots. Planes that start the game as “Maintenance (Unavailable)” or “Reserve (Available)” automatically add reserve crews to the local pool. Scenario designers may also add reserve crews via the Lua API:
Code: Select all
Sandman_AddReserves({
guid = '', — guid of the base to add the reserve crew
dbid= 437, — DBID of the unit type
proficiency=“Veteran”, —base proficiency level of the reserve crew
num=4, —number of reserve crews to add
min_hoursawake=6, — (optional) minimum # of hours awake, if different from side default
max_hoursawake=15 — (optional) maximum # of hours awake, if different from side default
})
Placing pilots in reserve is also the most effective way to rest them. You can manually do this by switching the loadout of a plane to “Reserve (Available)”.
You can set your automatic replacement thresholds from the Special Actions menu.
MULTICREW MODELING
The effectiveness level of planes with multiple crew members is the composite of their individual effectiveness levels. They are also proportionally less likely to micronap.
GLOBAL TIMEZONES + CIRCADIAN RHYTHM SHIFTING
There’s no need to calibrate a local timezone anymore — this is handled automatically by unit longitude. Crews start with their circadian rhythms synchronized to their starting timezones, but these rhythms will slowly shift as they move. That means you’ll now end up with jetlagged crews if you transfer them long distances.
PEAK AWARENESS TIME (P.A.T.)
The Fatigue Awareness Tool now shows you each crew’s Peak Awareness Time (P.A.T.) in Zulu time, so that you can synchronize your operations with your crew’s circadian rhythms.
ENABLE FATIGUE TRACKING BY SIDE
In the SANDMAN wizard, you now choose to enable fatigue tracking for each side. You can also customize the fatigue modeling values per side.
API CHANGES
The API now follows the CMO standard more closely:
Code: Select all
Sandman_Disable()
Sandman_Enable()
Sandman_SetRandomSleepDeficit({guid, min_hoursawake, max_hoursawake, longitude})
Sandman_GetEffectiveness({guid})
Sandman_GetCrashRisk({guid})
Sandman_AddReserves({guid, dbid, proficiency, num, min_hoursawake, max_hoursawake})
MISCELLANEOUS
-Proficiency reduction is now modeled as a delta value, not a multiplier. That means more experienced pilots will stay effective longer.
-The built-in pseudo-random number generator has been replaced with a pure Lua implementation, which should cut down on weird results (see my above
rant for context on this).
-UAVs automatically get 2x reserve crews, and will never micronap.
-The SANDMAN update function is now called on prime number intervals between 47 and 71 seconds, so that events no longer happen on exact minute boundaries.
IMPORTANT NOTE: For best results, install this on a fresh copy of your scenario instead of installing it over the previous (0.1.x) version of SANDMAN.