# Check if a planet can be targetd by a planet killer weapon # Scope: # this = planet being targeted # from = fleet #can_destroy_planet_with_PLANET_DESTRUCTION_COMPONENT = { # ... #} can_destroy_planet_with_RG_PLANET_KILLER = { custom_tooltip = { fail_text = "RG_requires_a_star_star_killer" NOR = { is_planet_class = pc_ag_void_star is_planet_class = pc_ag_void_planet } } custom_tooltip = { fail_text = "RG_requires_outside_border_star_killer" NOR = { AND = { is_inside_border = from.owner solar_system = { any_system_planet = { OR = { is_colony = yes is_under_colonization = yes } } } } AND = { exists = owner owner = { is_same_value = from.owner } } } } custom_tooltip = { fail_text = "RG_requires_no_pacifist_star_killer" from.owner = { NOR = { has_ethic = ethic_fanatic_pacifist has_ethic = ethic_pacifist } } } } can_destroy_planet_with_RG_PLANET_KILLER_SP = { custom_tooltip = { fail_text = "RG_requires_a_star_star_killer" NOR = { is_star = yes is_planet_class = pc_ag_void_star is_planet_class = pc_ag_void_planet } } custom_tooltip = { fail_text = "RG_requires_inside_border_star_killer" AND = { AND = { is_inside_border = from.owner solar_system = { any_system_planet = { OR = { is_colony = yes } } } } AND = { exists = owner owner = { is_same_value = from.owner } } } } } can_destroy_planet_with_RG_PLANET_KILLER_SHIELDER = { custom_tooltip = { fail_text = is_not_a_habitable_planet_or_megastructure OR = { is_a_habitable_planet_megastructure = yes is_planet_class = pc_ai } } custom_tooltip = { fail_text = is_not_hostile_or_primitive OR = { planet_is_hostile_or_crisis = yes AND = { exists = owner owner = { is_country_type = primitive } } } } if = { limit = { exists = owner owner = { is_country_type = primitive } } custom_tooltip = { fail_text = primitives_not_active_or_full_interference from.owner = { OR = { has_policy_flag = interference_active has_policy_flag = interference_full } } } } custom_tooltip = { fail_text = is_shielded NOR = { is_planet_class = pc_shielded is_planet_class = pc_ringworld_shielded is_planet_class = pc_habitat_shielded } } } can_destroy_planet_with_RG_PLANET_KILLER_NEUTRON = { custom_tooltip = { fail_text = is_not_a_habitable_planet_or_megastructure is_a_habitable_planet_megastructure = yes } custom_tooltip = { fail_text = is_shielded NOR = { is_planet_class = pc_shielded is_planet_class = pc_ringworld_shielded is_planet_class = pc_habitat_shielded } } custom_tooltip = { fail_text = is_not_hostile OR = { planet_is_hostile_or_crisis = yes AND = { exists = owner owner = { is_country_type = primitive } from.owner = { OR = { has_ethic = ethic_xenophobe has_ethic = ethic_fanatic_xenophobe } } } AND = { # at war with primitive space owner exists = space_owner exists = owner owner = { is_primitive = yes } space_owner = { OR = { is_at_war_with = from.owner is_country_type = swarm is_country_type = extradimensional is_country_type = extradimensional_2 is_country_type = extradimensional_3 is_country_type = ai_empire } } } } } custom_tooltip = { fail_text = is_unpopulated OR = { num_pops > 0 is_planet_class = pc_infested } } } can_destroy_planet_with_RG_PLANET_KILLER_GODRAY = { custom_tooltip = { fail_text = is_not_a_habitable_planet_or_megastructure OR = { is_a_habitable_planet_megastructure = yes is_planet_class = pc_ai } } custom_tooltip = { fail_text = is_shielded NOR = { is_planet_class = pc_shielded is_planet_class = pc_ringworld_shielded is_planet_class = pc_habitat_shielded } } custom_tooltip = { #success_text = "is at war with player" fail_text = is_not_hostile_or_primitive OR = { planet_is_hostile = yes is_planet_class = pc_ai AND = { exists = owner owner = { is_country_type = primitive } } AND = { exists = owner owner = { is_same_value = from.owner } } } } if = { limit = { exists = owner owner = { is_country_type = primitive } } custom_tooltip = { fail_text = primitives_not_active_or_full_interference from.owner = { OR = { has_policy_flag = interference_active has_policy_flag = interference_full } } } } # target own colony if = { limit = { NOR = { planet_is_hostile = yes AND = { exists = owner owner = { is_country_type = primitive } } } exists = owner owner = { is_same_value = from.owner } } custom_tooltip = { text = not_owned_test_fire exists = owner owner = { is_same_value = from.owner } } } } can_destroy_planet_with_RG_PLANET_KILLER_NANOBOTS = { custom_tooltip = { fail_text = is_not_a_habitable_planet_or_megastructure is_a_habitable_planet_megastructure = yes } custom_tooltip = { fail_text = is_shielded NOR = { is_planet_class = pc_shielded is_planet_class = pc_ringworld_shielded is_planet_class = pc_habitat_shielded } } custom_tooltip = { fail_text = is_not_hostile_or_primitive OR = { planet_is_hostile = yes AND = { exists = owner owner = { is_country_type = primitive } } } } if = { limit = { exists = owner owner = { is_country_type = primitive } } custom_tooltip = { fail_text = primitives_not_in_borders exists = space_owner space_owner = { is_same_value = from.owner } } custom_tooltip = { fail_text = primitives_not_full_interference from.owner = { has_policy_flag = interference_full } } } custom_tooltip = { fail_text = no_assimilatable_pops any_owned_pop = { is_valid_pop_for_PLANET_KILLER_NANOBOTS = yes } } } can_destroy_planet_with_RG_PLANET_KILLER_DELUGE = { # custom_tooltip = { #feedback suggests this isn't fun, but leaving it here in case we need it # fail_text = requires_free_ice_mining_station # from.owner = { # any_owned_starbase = { # has_starbase_building = ice_mining_station # solar_system = { # OR = { # NOT = { has_star_flag = ice_mining_in_progress } # has_star_flag = ice_mining@root.from # } # } # } # } # } custom_tooltip = { fail_text = is_habitable_non_artificial OR = { is_colonizable = yes is_colony = yes } is_artificial = no } custom_tooltip = { fail_text = is_not_oceanic NOT = { is_planet_class = pc_ocean } } if = { limit = { is_inside_border = from.owner } if = { limit = { #Uninhabited and primitive planets are always fine, if own colony then check if pops would be purged exists = owner owner = { is_same_value = from.owner } any_owned_species = { NOT = { has_trait = trait_aquatic } } } custom_tooltip = { fail_text = requires_purge_allowed success_text = will_purge_non_aquatic_pops from.owner = { is_ai = no has_policy_flag = purge_allowed } } } } else = { custom_tooltip = { fail_text = is_not_hostile_or_primitive_or_ours OR = { planet_is_hostile = yes AND = { exists = owner owner = { is_country_type = primitive } } } } } if = { limit = { exists = owner owner = { is_country_type = primitive } } custom_tooltip = { fail_text = primitives_not_in_borders exists = space_owner space_owner = { is_same_value = from.owner } } custom_tooltip = { fail_text = primitives_not_full_interference from.owner = { has_policy_flag = interference_full } } } } is_valid_pop_for_RG_PLANET_KILLER_NANOBOTS = { NOR = { has_trait = trait_hive_mind has_trait = trait_mechanical has_trait = trait_machine_unit } } can_destroy_planet_with_RG_PLANET_KILLER_STAR_CRACKER = { custom_tooltip = { fail_text = is_your_megastructure_system NOT = { solar_system = { has_star_flag = crisis_sphere_system@from.owner any_system_megastructure = { has_megastructure_flag = crisis_sphere } } } } custom_tooltip = { fail_text = is_not_star is_star = yes } custom_tooltip = { fail_text = is_black_hole NOT = { is_planet_class = pc_black_hole } } custom_tooltip = { fail_text = star_owner_is_not_hostile OR = { NOT = { exists = space_owner } space_owner = { is_hostile = from.owner } space_owner = { is_same_value = from.owner } } } }