Ships with shields with the armorShield attribute (only itHullPlateIonizer in core) start with shields at 0. Anton Nasser, who has a shield with a <GetMaxHP> event, starts with only the base hp value (35% of adjusted max).

I believe the problem is that CShip::CreateFromClass installs devices before armor and shield level is set as part of install, in CShieldClass::OnInstall. This calls CShieldClass::GetMaxHP, which in these cases looks for the installed armor, but doesn't find any. Later, FinishInstall is called for each item, but this only fires the XML <OnInstall> events, not the C functions.

nms 5 Feb 2018:

My fix is now tested and confirmed working in my build:
https://github.com/kronosaur/Mammoth/pull/43

nms 16 Feb 2018:

Fixed in 1.8A5.