ticket #3930 adds a TechCostMultiplier to the ProductionQueue components. The AI has to be adapted to take it into account.
Current behaviour of the AI: both research plans (queueplanResearch.js) and training plans (queueplanTraining.js) create a generic plan (queueplan.js) which computes the costs of the produced entity. Then the plan accumulates some resources, with the sharing of the available resources between the different plans being done by the queueManager (queueManager.js). Then when the plan has gathered enough resources, it is started and only then looks for the best ProductionQueue to be used.
To adapt the AI to #3930, research and training plans should already look for the best ProductionQueue when they are created, pass it to queueplan.js so that it can computes the right costs. And then, when the plan is about to start, check what is the current best ProductionQueue and its current cost (as the previous ProductionQueue may have been destroyed or some new auras may have changed the cost), and then check that we can really start. If not, we should update the costs of the plan and let it continue to accumulate resources according to the new cost.
As in its present state, #3930 only decreases the costs, the AI will still work even if not adapted (although being a bit inefficient as not taking profit of these auras) and thus this ticket can be splitted from #3930 and commited after.
Remove the simple keyword as the patch is more involved than anticipated. This first part of the patch fixes the tech case.