'cargoSpace returns -1 (this is definitely new in 1.7A2).
'combatStrength throws an exception.

Both of them work at other times. I tested a few other properties (which worked), but not all of them.

megas 3 Jul 2016:

(typGetProperty type 'speed) no longer works reliably in the <OnFireWeapon> event. It returns 100, even for missile types with missileSpeed less than 100.

george moromisato 26 Jul 2016:

Need to investigate.

george moromisato 29 Oct 2016:

Unfortunately, this behavior is due to an implementation limitation. <OnGlobalTypesInit> is purposefully called before the main bind phase, before we've stitched together all the type references.

For example, imagine ship class UNID = 01 refers to a cargo hold with UNID = 02. <OnGlobalTypesInit> is allowed to create an override of the cargo hold of UNID 02. Because of that, we don't yet know which actual cargo hold to use with ship class 01.

Thus we defer initializing all those stats until after we bind all the types. That's why cargo hold is uninitialized.

Thus any call to ask about a type stat is bound to be wrong because we don't know the correct value (since someone could override later).

Post something in the forums (and ping me) about what exactly you're trying to do and maybe we can come up with a workaround or alternate method.

nms 29 Oct 2016:

That makes sense. (Although currently I think you'd always be right to assume that none of the devices that any ship type comes with are cargo bays that actually add cargo.)

I was able to work around it by using XML functions to get the inherent cargo space for the ship type.