diff --git a/common/component_templates/RG_ship_parts.txt b/common/component_templates/RG_ship_parts.txt index c4cc78f..6af3380 100644 --- a/common/component_templates/RG_ship_parts.txt +++ b/common/component_templates/RG_ship_parts.txt @@ -450,7 +450,6 @@ weapon_component_template = { prerequisites = { "tech_gray_juggernaut_8" } - hidden = yes ship_limit = 1 ai_weight = { weight = 0 diff --git a/common/on_actions/RG_on_actions.txt b/common/on_actions/RG_on_actions.txt index 4b1adac..ca2db7c 100644 --- a/common/on_actions/RG_on_actions.txt +++ b/common/on_actions/RG_on_actions.txt @@ -59,6 +59,7 @@ on_yearly_pulse_country = { rg_event.17 rg_event.18 rg_event.20 + rg_event.24 } } diff --git a/common/scripted_effects/RG_gray_leader_init_effects.txt b/common/scripted_effects/RG_gray_leader_init_effects.txt index 5ef1aa8..fe4598a 100644 --- a/common/scripted_effects/RG_gray_leader_init_effects.txt +++ b/common/scripted_effects/RG_gray_leader_init_effects.txt @@ -36,7 +36,7 @@ rg_gray_govener_init = { event_target:rg_gray_country = { create_leader = { class = official - species = root + species = GRAY_SPECIES name = "NAME_Gray" gender = female immortal = yes @@ -155,7 +155,7 @@ rg_gray_commander_init = { event_target:rg_gray_country = { create_leader = { class = commander - species = root + species = GRAY_SPECIES name = "NAME_Gray" immortal = yes event_leader = yes @@ -275,7 +275,7 @@ rg_gray_commander_init = { # event_target:rg_gray_country = { # create_leader = { # class = admiral -# species = root +# species = GRAY_SPECIES # name = "NAME_Gray" # immortal = yes # event_leader = yes @@ -390,7 +390,7 @@ rg_gray_commander_init = { # event_target:rg_gray_country = { # create_leader = { # class = general -# species = root +# species = GRAY_SPECIES # name = "NAME_Gray" # immortal = yes # event_leader = yes @@ -498,7 +498,7 @@ rg_gray_scientist_init = { event_target:rg_gray_country = { create_leader = { class = scientist - species = root + species = GRAY_SPECIES name = "NAME_Gray" immortal = yes event_leader = yes @@ -598,7 +598,7 @@ rg_gray_country_leader_init = { create_leader = { # 只用作看板娘 class = official - species = event_target:gray_species + species = GRAY_SPECIES name = "NAME_Gray" gender = female immortal = yes diff --git a/common/scripted_effects/RG_scripted_effects.txt b/common/scripted_effects/RG_scripted_effects.txt index e9f6f8d..9d8d8d0 100644 --- a/common/scripted_effects/RG_scripted_effects.txt +++ b/common/scripted_effects/RG_scripted_effects.txt @@ -2245,6 +2245,11 @@ rg_gray_country_after_init = { event_target:rg_gray_country = { establish_communications_no_message = event_target:gray_owner } + # 年检立绘并替换回正常立绘 + country_event = { + id = rg_event.24 + } + } rg_timeline_attract_field_init = { diff --git a/common/ship_sizes/RG_ship_sizes.txt b/common/ship_sizes/RG_ship_sizes.txt index 0f250b7..ddfc025 100644 --- a/common/ship_sizes/RG_ship_sizes.txt +++ b/common/ship_sizes/RG_ship_sizes.txt @@ -123,8 +123,55 @@ RG_graygoo_capitalship = { combat_disengage_chance = 1.25 class = shipclass_military construction_type = starbase_shipyard + # possible_construction = { + # always = no + # } + potential_construction = { + OR = { + is_scope_type = starbase + AND = { + is_scope_type = megastructure + OR = { + is_megastructure_type = mega_shipyard_3 + is_megastructure_type = mega_shipyard_restored + } + } + } + } + possible_construction = { - always = no + custom_tooltip = { + fail_text = starbase_citadel_trigger + OR = { + AND = { + is_scope_type = megastructure + OR = { + is_megastructure_type = mega_shipyard_3 + is_megastructure_type = mega_shipyard_restored + } + } + AND = { + is_scope_type = starbase + has_starbase_size >= starbase_citadel + } + } + } + custom_tooltip = { + fail_text = starbase_colossal_yards_trigger + OR = { + AND = { + is_scope_type = megastructure + OR = { + is_megastructure_type = mega_shipyard_3 + is_megastructure_type = mega_shipyard_restored + } + } + AND = { + is_scope_type = starbase + has_starbase_building = colossus_yards + } + } + } } combat_size_multiplier = 4 prerequisites = { @@ -149,6 +196,8 @@ RG_graygoo_capitalship = { min_upgrade_cost = { alloys = 8 } + + empire_limit = 1 } RG_armed_constructor_ship = { diff --git a/common/species_classes/rg_species_classes.txt b/common/species_classes/rg_species_classes.txt new file mode 100644 index 0000000..3be3c17 --- /dev/null +++ b/common/species_classes/rg_species_classes.txt @@ -0,0 +1,127 @@ + +# The Portraits defined here are generally not available to the character creator, but will instead appear in AI empires across the galaxy. +# 'graphical_culture' is connected to the looks used for ships and cities; see "common/graphical_culture/". +# These may be overwitten in an "extendable" manner, meaning (for example) you can create a second "HUM" with extra portraits in it. + +# playable = yes/no/trigger (default: yes) if this species class can is playable +# randomized = yes/no/trigger (default: yes) if this species class is randomized +# custom_portraits = {} +# randomized = yes/no/trigger (default: yes) to specify if portraits are randomized +# playable = yes/no/trigger (default: yes) to specify if portraits are playable +# portraits = list portrait keys +# species_trait_points base number of species trait points available for this species class +# species_max_traits maximum number of traits that species of this class can have (doesn't count those with cost == 0) +# possible ethics/government requirements; see common/governments/readme_requirements.txt +# gender = yes/no (default: yes) whether the species has a gender +# portrait_modding yes/no (default: yes) whether the portrait can be modified with e.g. genemodding or robomodding +GRAY_SPECIES = { + archetype = OTHER + + playable = { always = no } + randomized = no + + gender = female + + portraits = { + "GrayTempest06" + } + + move_pop_sound_effect = "moving_pop_confirmation" +} + +RG_ROBOT = { + archetype = ROBOT + + playable = { has_global_flag = game_started } + randomized = no + gender = no + use_climate_preference = no + portrait_modding = yes + + leader_age_min = 2 + leader_age_max = 10 + + custom_portraits = { + randomized = { host_has_dlc = "Synthetic Dawn Story Pack" } + playable = { host_has_dlc = "Synthetic Dawn Story Pack" } + portraits = { + "sd_hum_robot" + "sd_mam_robot" + "sd_rep_robot" + "sd_avi_robot" + "sd_art_robot" + "sd_mol_robot" + "sd_fun_robot" + "sd_pla_robot" + } + } + + custom_portraits = { # use custom_portraits instead of portraits so we can put them after the custom_portraits above + randomized = { always = yes } + playable = { always = yes } + portraits = { + "default_robot" + } + } + + graphical_culture = ai_01 + move_pop_sound_effect = "robot_pops_move" + + resources = {} +} + +RG_MACHINE = { + archetype = MACHINE + + playable = { host_has_dlc = "Synthetic Dawn Story Pack" } + randomized = { + host_has_dlc = "Synthetic Dawn Story Pack" + # The create_species effect can't properly take the possible trigger below into account. + # Work around this by disabling this class for species randomization after game start. + NOT = { has_global_flag = game_started } + } + possible = { authority = { OR = { value = auth_machine_intelligence text = SPECIES_CLASS_MUST_USE_MACHINE_INTELLIGENCE } } } + possible_secondary = { always = no text = SECONDARY_SPECIES_CLASS_INVALID } + + gender = no + use_climate_preference = no + portrait_modding = yes + + leader_age_min = 2 + leader_age_max = 10 + + custom_portraits = { + randomized = { + host_has_dlc = "Synthetic Dawn Story Pack" + # The create_species effect can't properly take the possible trigger below into account. + # Work around this by disabling this class for species randomization after game start. + NOT = { has_global_flag = game_started } + } + playable = { host_has_dlc = "Synthetic Dawn Story Pack" } + portraits = { + "sd_hum_robot" + "sd_mam_robot" + "sd_rep_robot" + "sd_avi_robot" + "sd_art_robot" + "sd_mol_robot" + "sd_fun_robot" + "sd_pla_robot" + } + } + + custom_portraits = { # use custom_portraits instead of portraits so we can put them after the custom_portraits above + randomized = { + host_has_dlc = "Synthetic Dawn Story Pack" + } + playable = { host_has_dlc = "Synthetic Dawn Story Pack" } + portraits = { + "default_robot" + } + } + + graphical_culture = mammalian_01 + move_pop_sound_effect = "robot_pops_move" + + resources = {} +} \ No newline at end of file diff --git a/common/species_names/RG_species_names_SC.txt b/common/species_names/RG_species_names_SC.txt new file mode 100644 index 0000000..d58376c --- /dev/null +++ b/common/species_names/RG_species_names_SC.txt @@ -0,0 +1,8 @@ +GRAY_SPECIES = { + language = "l_simp_chinese" + name = "灰风" + plural = "灰风" + home_planet = ? + home_system = ? + name_list = "RG" +} \ No newline at end of file diff --git a/descriptor.mod b/descriptor.mod index 69d67a9..5a6e047 100644 --- a/descriptor.mod +++ b/descriptor.mod @@ -8,5 +8,5 @@ tags={ } name="Real Gray" picture="thumbnail.png" -supported_version="3.10.*" +supported_version="3.11.*" remote_file_id="2136166095" \ No newline at end of file diff --git a/events/RG_events.txt b/events/RG_events.txt index 8f62c18..9cb6e75 100644 --- a/events/RG_events.txt +++ b/events/RG_events.txt @@ -1069,6 +1069,42 @@ country_event = { } } +# looping check for grayport +country_event = { + id = rg_event.24 + hide_window = yes + is_triggered_only = yes + trigger = { + is_same_value = event_target:gray_owner + } + immediate = { + random_owned_leader = { + limit = { + has_leader_flag = gray_governor + } + if = { + limit = { + owner = { + OR = { + has_global_flag = has_wsg_mod + has_global_flag = kdc_event_mod_active + } + } + } + set_gray_portrait = yes + } + else = { + rg_set_gray_portrait = yes + } + } + country_event = { + id = rg_event.24 + years = 1 + } + # *THIS* looping check + } +} + # 拆毁工厂小灰通讯 country_event = { id = rg_event.200