Star-Conflict has some solution (it shows shield+hp bars divided into "x shield/hp" segments in a non-default setting)
I suggest to top it to the max:
I suggest to top it to the max:
0.3x hull, 0.5x shield compared to your max, 60% hull, 10% shield left.
0.5 hull, 2x shield compared to your max, 40% hull, 10% shield left.
0.5 hull, 2x shield compared to your max, 40% hull, 10% shield left.
[||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||]
[||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||]
(A)[||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||]
0.5 hull, 2x shield compared to your max, 40% hull, 10% shield left.
[||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ][ ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||]
[||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ][ ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||]
(B)[||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ][ ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||]
0.5 hull, 2x shield compared to your max, 40% hull, 10% shield left.
[||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| .. ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||]
[||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ][ ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||]
[||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ][ ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||]
Code:
//once per own-enemy relation
ratio_max_hull,shield = enemy.hull,shield / own.hull,shield
segmentCount_hull,shield = roundUp( ratio_max_hull,shield )
if (variante A) smaller(segmentCount_hull,shield) = max(segmentCount_hull,shield)
//continuously
ratio_current_hull,shield = enemy.hull,shield / own.hull,shield
green,blue_start,length = 0, ratio_current_hull,shield *barLength
grey_start,length = ratio_current_hull,shield, (ratio_max_hull,shield - ratio_current_hull,shield) *barLength
black_start,length = ratio_max_hull,shield, (segmentCount_lower/upper - ratio_max_hull,shield) *barLength