If you're worried about citadels arriving too soon you may wish to amend this in the campaign_script
Code:
;===================== Is the AI? =======================
monitor_event PreFactionTurnStart FactionIsLocal
set_event_counter is_the_ai 0
set_event_counter freeze_recr_pool 0
set_event_counter citadel_boost 0
end_monitor
monitor_event PreFactionTurnStart not FactionIsLocal
set_event_counter is_the_ai 1
set_event_counter freeze_recr_pool 0
set_event_counter citadel_boost 0
end_monitor
;--- AI Citadel check
monitor_event PreFactionTurnStart IsFactionAIControlled
and not FactionBuildingExists = citadel
and I_TurnNumber > 120
set_event_counter citadel_boost 1
end_monitor