Base.cfg specifies 'vulnerability windows', time periods where bases are vulnerable. Outside of those windows, bases are straight up impervious to damage other than wear&tear.
Shield damage reduction starts relatively low, and ramps up the reduction as station takes damage, possibly going up to 100%, rendering the station invincible before the vulnerability period ends.
The damage reduction goes back to the specified default upon entering a vulnerability window.
Config file changes:
Base.cfg:
set_shield_damage_multiplier - deprecated
base_shield_strength - float, stores the baseline damage reduction for any shielded POB. shield_reinforcement_threshold - float, damage that needs to be taken by the station to increase the damage reduction. shield_reinforcement_increment - float, amount by which shield reduction increases after passing each threshold.
base_vulnerability_window - [integer, integer], multiple entries allowed - a pair of integers specifying a time window where bases are vulnerable (in local timezone). For example: values of 12, 15 would mean the POBs are vulnerable from noon until 3PM
Example scenario:
Base has 1000 HP, baseline shield is 50%, reinforcement threshold is 100HP, and increment is 10%. Let's assume there are no repairs in the game. Until the base loses 100HP, it will take 50% reduced damage, then, until it loses another 100HP(down to 800) it will have a 60% reduction. Eventually, at 500HP the base will become invulnerable until the next vulnerability window begins. nullptr fix
Reworked the shield system to the following:
Base.cfg specifies 'vulnerability windows', time periods where bases are vulnerable. Outside of those windows, bases are straight up impervious to damage other than wear&tear.
Shield damage reduction starts relatively low, and ramps up the reduction as station takes damage, possibly going up to 100%, rendering the station invincible before the vulnerability period ends.
The damage reduction goes back to the specified default upon entering a vulnerability window.
Config file changes: Base.cfg: set_shield_damage_multiplier - deprecated base_shield_strength - float, stores the baseline damage reduction for any shielded POB. shield_reinforcement_threshold - float, damage that needs to be taken by the station to increase the damage reduction. shield_reinforcement_increment - float, amount by which shield reduction increases after passing each threshold. base_vulnerability_window - [integer, integer], multiple entries allowed - a pair of integers specifying a time window where bases are vulnerable (in local timezone). For example: values of 12, 15 would mean the POBs are vulnerable from noon until 3PM
Example scenario: Base has 1000 HP, baseline shield is 50%, reinforcement threshold is 100HP, and increment is 10%. Let's assume there are no repairs in the game. Until the base loses 100HP, it will take 50% reduced damage, then, until it loses another 100HP(down to 800) it will have a 60% reduction. Eventually, at 500HP the base will become invulnerable until the next vulnerability window begins. nullptr fix