@ Mleo
You have an error in the debug line.
pShields.GetSingleShieldPercentage(App.SHieldClass.TOP_SHIELDS)
As for the issue I will share the info I have about this particular issue and how you can reproduce it.
Ship with the following shield config causes the freeze
ShieldGenerator.SetMaxShields(ShieldGenerator.FRONT_SHIELDS, 12000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.REAR_SHIELDS, 10000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.TOP_SHIELDS, 10000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.BOTTOM_SHIELDS, 10000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.LEFT_SHIELDS, 10000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.RIGHT_SHIELDS, 10000.000000)
"Fix" would result in the hp config change to
ShieldGenerator.SetMaxShields(ShieldGenerator.FRONT_SHIELDS, 10000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.REAR_SHIELDS, 10000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.TOP_SHIELDS, 10000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.BOTTOM_SHIELDS, 10000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.LEFT_SHIELDS, 10000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.RIGHT_SHIELDS, 10000.000000)
Hope this helps ;)