realgray-stellaris-mod/common/scripted_triggers/RG_scripted_triggers_planet...

418 lines
8.4 KiB
Plaintext
Raw Normal View History

# 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 }
}
}
}