diff --git a/common/agreement_presets/RG_agreement_presets.txt b/common/agreement_presets/RG_agreement_presets.txt new file mode 100644 index 0000000..222fb91 --- /dev/null +++ b/common/agreement_presets/RG_agreement_presets.txt @@ -0,0 +1,34 @@ +############## +# SCION +############## + +preset_rg_scion = { + icon = "GFX_diplomacy_status_is_scion" + term_data = { + discrete_terms = { + { key = specialist_type value = specialist_none } + { key = subject_integration value = subject_can_not_be_integrated } + { key = subject_diplomacy value = subject_can_do_diplomacy } + { key = subject_expand value = subject_can_expand } + { key = joins_overlord_wars value = joins_overlord_wars_all } + { key = joins_subject_wars value = joins_subject_wars_all } + { key = subject_holdings_limit value = subject_holdings_limit_0 } + { key = subject_sensors value = subject_is_not_protectorate } + } + resource_terms = { + { key = resource_subsidies_advanced value = -0.35 } + { key = resource_subsidies_strategic value = -0.35 } + } + } + potential = { + any_agreement = { + agreement_preset = preset_rg_scion + } + from = { + OR = { + is_country_type = fallen_empire + is_country_type = awakened_fallen_empire + } + } + } +} \ No newline at end of file diff --git a/common/scripted_effects/RG_fallen_empire_effects.txt b/common/scripted_effects/RG_fallen_empire_effects.txt index 7789724..bca58cd 100644 --- a/common/scripted_effects/RG_fallen_empire_effects.txt +++ b/common/scripted_effects/RG_fallen_empire_effects.txt @@ -307,4 +307,195 @@ rg_create_scion_wormhole_link = { } set_country_flag = encountered_first_wormhole add_seen_bypass_type = wormhole +} + +rg_lcluster_spawn_effect_scion = { + set_global_flag = rg_origin_scion_l_cluster + set_spawn_system_batch = begin + no_scope = { + # makes system positions originate from galactic core + spawn_system = { + min_distance >= 550 + max_distance <= 560 + min_orientation_angle = 44 + max_orientation_angle = 46 + initializer = rg_cluster_init_01 + hyperlane = no + } + random_system = { + limit = { + has_star_flag = lcluster1 + } + save_global_event_target_as = lcluster1 + spawn_system = { + min_distance >= 29 + max_distance <= 31 + min_orientation_angle = 24 + max_orientation_angle = 66 + initializer = rg_cluster_init_02 + } + spawn_system = { + min_distance >= 29 + max_distance <= 31 + min_orientation_angle = 114 + max_orientation_angle = 156 + initializer = rg_cluster_init_03 + } + spawn_system = { + min_distance >= 30 + max_distance <= 60 + min_orientation_angle = 340 + max_orientation_angle = 20 + initializer = rg_cluster_init_01b + } + } + random_system = { + limit = { + has_star_flag = lcluster2 + } + save_global_event_target_as = lcluster2 + spawn_system = { + min_distance >= 30 + max_distance <= 60 + min_orientation_angle = 0 + max_orientation_angle = 40 + initializer = rg_cluster_init_02b + } + } + random_system = { + limit = { + has_star_flag = lcluster3 + } + save_global_event_target_as = lcluster3 + spawn_system = { + min_distance >= 20 + max_distance <= 30 + min_orientation_angle = 24 + max_orientation_angle = 66 + initializer = rg_fallen_machine + } + spawn_system = { + min_distance >= 10 + max_distance <= 50 + min_orientation_angle = 250 + max_orientation_angle = 290 + initializer = rg_cluster_init_03b + } + } + random_system = { + limit = { + has_star_flag = lcluster4 + } + save_global_event_target_as = lcluster4 + spawn_system = { + min_distance >= 5 + max_distance <= 10 + min_orientation_angle = 250 + max_orientation_angle = 290 + initializer = rg_cluster_init_05 + } + spawn_system = { + min_distance >= 30 + max_distance <= 60 + min_orientation_angle = 20 + max_orientation_angle = 160 + initializer = rg_cluster_init_04b + } + } + } + random_system = { + limit = { + has_star_flag = lcluster5 + } + save_global_event_target_as = lcluster5 + } + random_system = { + limit = { + has_star_flag = lcluster1b + } + save_global_event_target_as = lcluster1b + } + random_system = { + limit = { + has_star_flag = lcluster2b + } + save_global_event_target_as = lcluster2b + } + random_system = { + limit = { + has_star_flag = lcluster3b + } + save_global_event_target_as = lcluster3b + } + random_system = { + limit = { + has_star_flag = lcluster4b + } + save_global_event_target_as = lcluster4b + } + # clear all hyperlanes to and within the cluster + every_system = { + limit = { + has_star_flag = lcluster + } + isolate_system = yes + } + # add hyperlanes + event_target:lcluster5 = { + add_hyperlane = { + from = event_target:lcluster5 + to = event_target:lcluster4 + } + } + event_target:lcluster4 = { + add_hyperlane = { + from = event_target:lcluster4 + to = event_target:lcluster3 + } + add_hyperlane = { + from = event_target:lcluster4 + to = event_target:lcluster2 + } + add_hyperlane = { + from = event_target:lcluster4 + to = event_target:lcluster4b + } + } + event_target:lcluster3 = { + add_hyperlane = { + from = event_target:lcluster3 + to = event_target:lcluster1 + } + add_hyperlane = { + from = event_target:lcluster3 + to = event_target:lcluster3b + } + } + event_target:lcluster2 = { + add_hyperlane = { + from = event_target:lcluster2 + to = event_target:lcluster1 + } + add_hyperlane = { + from = event_target:lcluster2 + to = event_target:lcluster3 + } + add_hyperlane = { + from = event_target:lcluster2 + to = event_target:lcluster2b + } + } + event_target:lcluster1 = { + add_hyperlane = { + from = event_target:lcluster1 + to = event_target:lcluster1b + } + } + event_target:lcluster1b = { + add_hyperlane = { + from = event_target:lcluster1b + to = event_target:lcluster2b + } + } + set_spawn_system_batch = end } \ No newline at end of file diff --git a/common/solar_system_initializers/RG_fallen_empire_initializers.txt b/common/solar_system_initializers/RG_fallen_empire_initializers.txt index 3102997..e3641d2 100644 --- a/common/solar_system_initializers/RG_fallen_empire_initializers.txt +++ b/common/solar_system_initializers/RG_fallen_empire_initializers.txt @@ -1,10 +1,15 @@ # Home System - Machine + rg_fallen_machine = { usage = fallen_empire_init name = 芬里尔III class = "rl_standard_stars" - flags = { ring_world_built } + flags = { + lcluster + lcluster4 + ring_world_built + } planet = { class = star @@ -143,15 +148,6 @@ rg_fallen_machine = { add_building = building_ancient_control_center add_building = building_nourishment_center add_building = building_nourishment_center - add_building = building_ancient_cryo_chamber - add_building = building_ancient_cryo_chamber - add_building = building_ancient_cryo_chamber - add_building = building_ancient_cryo_chamber - add_building = building_ancient_cryo_chamber - add_building = building_ancient_cryo_chamber - add_building = building_ancient_cryo_chamber - add_building = building_ancient_cryo_chamber - add_building = building_ancient_cryo_chamber add_building = building_ancient_palace add_building = building_fe_stronghold add_building = building_fe_stronghold @@ -180,46 +176,6 @@ rg_fallen_machine = { } } - event_target:rg_scion_fe = { - set_policy = { - policy = artificial_intelligence_policy - option = ai_servitude - cooldown = no - } - set_policy = { - policy = robot_pop_policy - option = robot_pops_allowed - cooldown = no - } - random_playable_country = { - limit = { - has_origin = rg_origin_scion - has_country_flag = rg_scion_needs_fe - } - remove_country_flag = rg_scion_needs_fe - save_event_target_as = rg_scion_slave - } - set_country_flag = rg_scion_master - save_event_target_as = rg_scion_master - add_opinion_modifier = { - who = event_target:rg_scion_slave - modifier = opinion_scion - } - # country_event = { id = origin.20 days = 9000 random = 9000 } - event_target:rg_scion_slave = { - establish_communications_no_message = event_target:rg_scion_fe - set_subject_of = { - who = event_target:rg_scion_fe - preset = preset_scion - } - add_opinion_modifier = { - who = event_target:rg_scion_fe - modifier = opinion_scion - } - country_event = { id = rg_origin.10 days = 3 } - } - } - while = { count = 94 create_pop = { @@ -246,7 +202,7 @@ rg_fallen_machine = { orbit_angle = -90 orbit_distance = 45 } - rg_create_fe_citadel = yes + # rg_create_fe_citadel = yes } planet = { @@ -376,10 +332,10 @@ rg_fallen_machine = { } } - spawn_megastructure = { - type = lgate_base - orbit_angle = 225 - orbit_distance = 30 - } + # spawn_megastructure = { + # type = lgate_base + # orbit_angle = 225 + # orbit_distance = 30 + # } +} -} \ No newline at end of file diff --git a/common/solar_system_initializers/RG_initializers.txt b/common/solar_system_initializers/RG_initializers.txt index e6ecb96..a2bf20a 100644 --- a/common/solar_system_initializers/RG_initializers.txt +++ b/common/solar_system_initializers/RG_initializers.txt @@ -498,7 +498,6 @@ rg_cluster_init_04 = { flags = { start_rg_cluster_gatebuilders ignore_startup_effect - rw_spec_empire } init_effect = { prevent_anomaly = yes diff --git a/common/special_projects/!_RG_projects_distant_stars.txt b/common/special_projects/!_RG_projects_distant_stars.txt index 3e25324..627bf16 100644 --- a/common/special_projects/!_RG_projects_distant_stars.txt +++ b/common/special_projects/!_RG_projects_distant_stars.txt @@ -22,6 +22,7 @@ special_project = { has_global_flag = l_cluster_origin # l-cluster plus has_global_flag = rg_origin_l_cluster # 遥远约定 has_global_flag = gray_origin_activate # 远星之歌 + has_global_flag = rg_origin_scion_l_cluster # 未来追迹 } } country_event = { diff --git a/events/RG_origin_event.txt b/events/RG_origin_event.txt index 76cf562..571510d 100644 --- a/events/RG_origin_event.txt +++ b/events/RG_origin_event.txt @@ -31,8 +31,8 @@ country_event = { is_triggered_only = yes immediate = { - set_country_flag = first_contact_event - set_country_flag = Story2 # Already encountered spacefarers + # set_country_flag = first_contact_event + # set_country_flag = Story2 # Already encountered spacefarers # Spawn mini-FE if player turned off Fallen Empires but picked this Origin anyway... if = { limit = { @@ -41,17 +41,48 @@ country_event = { } } set_country_flag = rg_scion_needs_fe - random_system = { - limit = { has_owner = no } - spawn_system = { initializer = "rg_fallen_machine" } + rg_lcluster_spawn_effect_scion = yes + event_target:rg_scion_fe = { + set_policy = { + policy = artificial_intelligence_policy + option = ai_servitude + cooldown = no + } + set_policy = { + policy = robot_pop_policy + option = robot_pops_allowed + cooldown = no + } + random_playable_country = { + limit = { + has_origin = rg_origin_scion + has_country_flag = rg_scion_needs_fe + } + remove_country_flag = rg_scion_needs_fe + save_event_target_as = rg_scion_slave + } + set_country_flag = rg_scion_master + save_event_target_as = rg_scion_master + add_opinion_modifier = { + who = event_target:rg_scion_slave + modifier = opinion_scion + } + # country_event = { id = origin.20 days = 9000 random = 9000 } + event_target:rg_scion_slave = { + establish_communications_no_message = event_target:rg_scion_fe + set_subject_of = { + who = event_target:rg_scion_fe + preset = preset_rg_scion + } + overlord = { + add_opinion_modifier = { + modifier = opinion_scion + who = rg_scion_fe + } + } + country_event = { id = rg_origin.10 days = 3 } + } } - add_extra_hyperlane_to_spawned_system_effect = yes - } - if = { - limit = { - exists = event_target:rg_scion_master - } - rg_create_scion_wormhole_link = yes capital_scope = { solar_system = { spawn_megastructure = { @@ -61,6 +92,13 @@ country_event = { } } } + every_system = { + limit = { + has_star_flag = lcluster + } + rg_create_fe_citadel = yes + } + # add_extra_hyperlane_to_spawned_system_effect = yes } } } diff --git a/localisation/simp_chinese/RG_l_simp_chinese.yml b/localisation/simp_chinese/RG_l_simp_chinese.yml index f14797c..3ac9cf1 100644 --- a/localisation/simp_chinese/RG_l_simp_chinese.yml +++ b/localisation/simp_chinese/RG_l_simp_chinese.yml @@ -28,6 +28,15 @@ RG_leader_trait_admiral_nanorebuild_gray_desc:0 "灰色风暴在L星团中席卷无数纪元。\n创造与解构,纳米机器席卷之处我们无所不能。" RG_leader_trait_admiral_nanorebuild_effect:0 "$FLEET_EFFECTS_TXT$:\n$t$每摧毁一艘敌军舰船:\n$tt$§Y重塑计数器层数§!: §G+1§!\n$t$这位领袖所在舰队损失舰船时:\n$tt$消耗§Y重塑计数器层数§!立即重建舰船。\n$t$当前§Y重塑计数器层数§!: §Y[owner.rg_nanorebuild_counter]§!\n$t$§Y$NAME_Gray$§!无法被该技能重建。\n\n$RG_leader_trait_tempest_incoming_effect$" + preset_rg_scion: "誓约计划国" + preset_rg_scion_desc: "出于某种不可告人的目的,远古堕落帝国将其视若己出。他们的远古宗主不会允许其誓约国受到任何外部干扰。" + + concept_rg_scion: "$preset_rg_scion$" + concept_rg_scion_desc: "$preset_rg_scion_desc$" + + concept_rg_gray: "$NAME_Gray$" + concept_rg_gray_desc: "$gray_backstory$" + RG_leader_trait_ruler_gray_tt:0 "§E随每技能等级提升的效果:§!" RG_leader_trait_variable_tt:0 "§E随变量层数提升的效果:§!" @@ -48,10 +57,10 @@ RG_gatebuilder_thruster:0 "§Y「漫步星海」§!" origin_rg_gray:0 "§Y遥远约定§!" origin_rg_gray_desc:0 "你偷偷说服了$NAME_Gray$从遥远的L星团前来看望你" - origin_tooltip_rg_gray_effects:0 "开局时拥有$NAME_Gray$,并在一个孤立的L-星团中开始你的冒险。你将很难有重见银河的机会。\n\n§R<但...代价是什么?>§!\n§Y- 为防止重复选择,该起源被重复选择时将被替换成隐藏起源§!§H<你也事龙>§!§Y并开局获得全部L星门认知。§!\n§R- 多人游戏中存在重复龙开起源国家,L星团国家将无法触发中期开门事件。§!\n§R- 该起源被AI帝国占用时L-星团将被AI帝国占用。唔,你懂的。§!" + origin_tooltip_rg_gray_effects:0 "—开局时获得['concept_rg_gray']的帮助\n—母星系:一个孤立的L-星团中开始你的冒险\n—原$HOME_SYSTEM$通过一个['concept_l_gates']连接到['concept_l_gates']网络中。\n\n§R<但...你将很难有重见银河的机会。>§!\n§Y—该起源无法重复选择。§!\n§Y—该起源被AI帝国占用时L-星团将被AI帝国占用。唔,你懂的§!" rg_origin_scion:0 "§Y未来追迹§!" rg_origin_scion_desc:0 "剧本疑似被什么人改写了。你将在$NAME_Gray$无微不至的监护下成长。" - origin_tooltip_rg_scion_effects:0 "开局时将作为$NAME_Gray$堕落帝国的附属国。$NAME_Gray$将保护你的国家不受外敌侵犯,有时候还会给予你一定的帮助...但这同样会成为阻碍你发展的障碍...\n§Y- 这是一个未完成的起源。仅供测试使用。§!" + origin_tooltip_rg_scion_effects:0 "开局时将作为['concept_rg_gray']堕落帝国的附属国。['concept_rg_gray']将保护你的国家不受外敌侵犯,有时候还会给予你一定的帮助。\n—['concept_rg_gray']['concept_fallen_empire']宗主的['concept_rg_scion', £scion£誓约计划国]\n—$HOME_SYSTEM$通过一个['concept_l_gates']连接到['concept_l_gates']网络中。\n—['concept_rg_gray']['concept_fallen_empire']无视星系设置必定出现在一个孤立的L星团中\n—将会受到['concept_rg_gray']视若己出的保护。\n\n§R<但这同样会成为阻碍你发展的障碍...>§!\n§Y—这是一个未完成的起源。仅供开发测试使用。请不要在正式游戏中使用。§!" RG_SHIP_AURA_NANOBOT_CLOUD:0 "§Y「漫播飞尘」§!" RG_SHIP_AURA_NANOBOT_CLOUD_DESC:0 "§Y散播希望,还有绝望。§!\n多用途微型纳米机器。$NAME_Gray$可以通过布置一个高浓度纳米机器人场来维修同星系内的友方舰船。" RG_BOMBER_HANGAR_AP_BOMB:0 "§Y「落光」§!"