45°38'N-13°47'E
Deity
Espionage units are apparently not getting the full XP that the game text says they are getting. I set up a situation where an Agent unit is supposed to be starting with a substantial quantity of XP. This includes Pentagon, West Point, Ultimate Soldiers Trainer, Volunteer Army civic, Intolerant civic with state religion, and Scotland Yard.
View attachment 456309
When the Agent finished production, it had only 2 XP. My guess is that Espionage units (UNITCOMBAT_SPY) only get XP from <UnitCombatFreeExperiences> tags, and not <iExperience>, <iGlobalExperience>, <DomainFreeExperiences>, <iFreeExperience>, or <iStateReligionFreeExperience>.
This is inconsistent, but I can see going either way with fixing it. Either we want espionage units to gain XP from non-espionage sources, in which case we need to fix the underlying code, or we want espionage units restricted to only the espionage buildings for XP, in which case we need to fix the game text.
Keeping espionage XP restricted this way does really rein in the number of promotions espionage units can start with. Besides Scotland Yard, since it requires a Great Spy to build, the first buildings that can grant XP to espionage units are the Intelligence Agency (at Communism) and the Interrogation Building (civic building, at Fascism). Also, the max possible would be 11 with Intelligence Agency (+2), Security Bureau/Security Center (+1), Interrogation Building (+2), Scotland Yard (+2), and The Agency (+4). That would be 3 promotions if you hit every possible source. Missing any of the big ones would mean only 2 promotions.
The drawback would be almost no way to customize regular Spy units at all, since they are replaced by Agents before reaching buildings that grant espionage XP (Scotland Yard is the exception).
If we do broaden out espionage units' access to XP, that will mean a lot more Spy promotions flying around, although mostly from Wonders and Civics as buildings target specific unit combat classes until Ultimate Soldiers/Combat Simulator.
Noted, I'll check the code, thanks.