Page 1 of 1

Industrial Centre Scope Conditions

Posted: Sun Sep 23, 2012 8:18 pm
by Geoff the Medio
I noticed a bunch of error messages in the AI logs like this

Code: Select all

2012-09-23 12:36:52,105 ERROR AI : Variable<double>::Eval unrecognized object property: RootCandidate.Population
I traced this to the scope condition of the Industrial Centre building, which uses the marco [[INFRA_CONDITION_INFRA]] which evaluates to

Code: Select all

INFRA_CONDITION_INFRA
'''Construction low = RootCandidate.Population * [[INFRA_PRODUCTION_PER_POP]] / ([[INFRA_PRODUCTION_PER_INFRA]])'''
This causes the error message because there's no test that selects only planet earlier in the enclosing And condition, so the scope evaluation is testing the Population of buildings located on planets that match the other conditions in the scope. Whenever such a macro is used, the script should have a Planet condition earlier in the And condition, to exclude buildings and avoid this error message. It looks like a few other buildings use this macro, or similar macros, which are assuming only planets (or only objects with certain other meters) are previously selected.