Properties of universe objects in FOCS are case sensitive for evaluation, but are case insensitive in parsing.
In case of a casing mismatch, a default value is used which leads to wrong results.
Such an error is easy to miss as everything seems to be ok, just calculations are off.
Example:
Source.DesignID will return the design ID for a ship Source.
Source.DesignId parses and will return 0 (zero) for a ship Source. I think there is an error log entry that the property was not found.
Possible solutions:
- make FOCS parsing of properties case sensitive.
- store the property name in the ValueRef::Variable lowercase and compare to lowercase strings
- make the comparison case insensitive
- dont do anything