Initial commit

This commit is contained in:
Mateusz Słodkowicz 2024-06-04 17:40:37 +02:00
commit 1690f8e573
Signed by: materus
GPG Key ID: 28D140BCA60B4FD1
44 changed files with 5070 additions and 0 deletions

View File

@ -0,0 +1,160 @@
assault_army = {
damage = 1.00
health = 1.00
morale = 1.00
morale_damage = 1.00
collateral_damage = 1.00
war_exhaustion = 1.00
time = 90
icon = GFX_army_type_assault
prerequisites = { "tech_assault_armies" }
resources = {
category = armies
cost = {
minerals = 100
}
upkeep = {
energy = 1
}
}
show_tech_unlock_if = {
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
potential_country = {
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
potential = {
from = {
NOR = {
has_trait = "trait_mechanical"
has_trait = "trait_machine_unit"
has_trait = "trait_limited_cybernetic"
is_sapient = no
}
}
}
ai_weight = {
base = 100
modifier = {
set = 0
OR = {
is_fallen_empire = yes
has_technology = tech_telepathy
has_technology = tech_gene_seed_purification
AND = {
OR = {
has_ethic = ethic_militarist
has_ethic = ethic_fanatic_militarist
}
has_technology = tech_gene_banks
}
}
}
modifier = {
factor = 0.01 #cannot guarantee that they actually have slaves/robots to get armies from
OR = {
AND = {
has_ai_personality_behaviour = slaver
has_technology = tech_neural_implants
}
AND = {
has_ai_personality_behaviour = robot_liberator
has_technology = tech_droid_workers
}
has_valid_civic = civic_reanimated_armies
}
}
}
}
clone_army = {
damage = 1.00
health = 1.00
morale = 1.00
collateral_damage = 1.25
war_exhaustion = 0.50
time = 30
icon = GFX_army_type_clone
pop_limited = no
resources = {
category = armies
cost = {
minerals = 75
}
upkeep = {
energy = 0.75
}
}
prerequisites = { "tech_gene_banks" }
show_tech_unlock_if = {
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
potential_country = {
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
potential = {
from = {
NOR = {
has_trait = "trait_mechanical"
has_trait = "trait_machine_unit"
has_trait = "trait_limited_cybernetic"
is_sapient = no
}
}
}
ai_weight = {
base = 100
modifier = {
set = 0
OR = {
is_fallen_empire = yes
has_technology = tech_telepathy
has_technology = tech_gene_seed_purification
NAND = {
OR = {
has_ethic = ethic_militarist
has_ethic = ethic_fanatic_militarist
}
has_technology = tech_gene_banks
}
}
}
modifier = {
factor = 2
has_origin = origin_clone_army
}
}
}

View File

@ -0,0 +1,41 @@
defense_army = {
defensive = yes
is_pop_spawned = yes
health = 1.25
damage = 1.50
morale = 1.25
collateral_damage = 0.0
war_exhaustion = 0.0 # No WE from defense armies
icon = GFX_army_type_defensive
resources = {
category = armies
produces = {
trigger = {
exists = owner
owner = { has_active_tradition = tr_unyielding_resistance_is_frugal }
}
unity = 0.5
}
}
potential = {
from = {
NOR = {
has_trait = "trait_mechanical"
has_trait = "trait_machine_unit"
is_sapient = no
}
}
owner = {
is_primitive = no
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
}
}

View File

@ -0,0 +1,29 @@
occupation_army = {
defensive = yes
occupation = yes
health = 1.25
damage = 1.50
morale = 1.25
collateral_damage = 0.0
war_exhaustion = 0.0 # No WE from occupation armies
icon = GFX_army_type_defensive
potential = {
from = {
NOR = {
has_trait = "trait_mechanical"
has_trait = "trait_machine_unit"
is_sapient = no
}
}
owner = {
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
}
}

View File

@ -0,0 +1,43 @@
ap_nihilistic_acquisition = {
potential = {
host_has_dlc = "Apocalypse"
NOT = {
has_ascension_perk = ap_nihilistic_acquisition
}
NOR = {
has_valid_civic = civic_barbaric_despoilers
has_valid_civic = civic_machine_assimilator
has_origin = origin_slavers
has_origin = origin_khan_successor
}
}
on_enabled = {
custom_tooltip = "allow_raiding"
}
possible = {
OR = {
is_authoritarian = yes
is_xenophobe = yes
has_ethic = ethic_gestalt_consciousness
}
}
ai_weight = {
factor = 10
modifier = {
factor = 0
NOT = { has_ai_personality_behaviour = slaver }
}
modifier = {
factor = 0
OR = {
has_valid_civic = civic_fanatic_purifiers
has_valid_civic = civic_hive_devouring_swarm
has_valid_civic = civic_inwards_perfection
has_valid_civic = civic_machine_terminator
}
}
}
}

View File

@ -0,0 +1,44 @@
# Cyborg Ascension (Machine Intelligence: Driven Assimilators)
ap_organo_machine_interfacing_assimilator = {
on_enabled = {
custom_tooltip = "organo_machine_interfacing_tooltip"
}
possible = {
custom_tooltip = {
fail_text = "requires_ascension_perks_2"
num_ascension_perks > 1
}
custom_tooltip = {
fail_text = "requires_not_ap_synthetic_age"
NOT = { has_ascension_perk = ap_synthetic_age }
}
custom_tooltip = {
fail_text = "requires_free_tradition_tree"
num_tradition_categories < @max_tradition_trees
}
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
NOT = {
has_ascension_perk = ap_organo_machine_interfacing_assimilator
has_civic = civic_machine_servitor
has_civic = civic_machine_terminator
}
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_mechromancy
}
}
ai_weight = {
factor = @ascension_path_base_weight
modifier = {
factor = @ascension_path_synergy_weight
has_organo_machine_interfacing_assimilator_synergy = yes
}
}
}

View File

@ -0,0 +1,70 @@
raiding = {
trigger = {
OR = {
owner = { has_ascension_perk = ap_nihilistic_acquisition }
owner = { has_valid_civic = civic_barbaric_despoilers }
owner = { has_valid_civic = civic_machine_assimilator }
owner = { has_origin = origin_slavers }
owner = { has_origin = origin_khan_successor }
owner = { is_country_type = debt_collectors }
AND = {
owner = { is_country_type = enclave_mercenary }
controller = {
OR = {
has_ascension_perk = ap_nihilistic_acquisition
has_valid_civic = civic_barbaric_despoilers
has_valid_civic = civic_machine_assimilator
has_origin = origin_slavers
has_origin = origin_khan_successor
}
}
}
}
}
default = no
stop_when_armies_dead = no
abduct_pops = yes
planet_damage = 0.5
army_damage = 0.5
kill_pop_chance = {
base = 0.15
}
min_pops_to_kill_pop = 2
# root = fleet
# from = planet
ai_weight = {
weight = 8
modifier = {
factor = 0
exists = from
from = {
OR = {
num_pops < 2
owner = { NOT = { is_hostile = root.owner } }
}
}
NOT = {
owner = { has_origin = origin_slavers }
}
}
modifier = {
factor = 0.01
exists = from
from = {
owner = { has_claim = root.solar_system }
}
NOT = {
owner = { has_origin = origin_slavers }
}
}
modifier = {
factor = 100
owner = { has_origin = origin_slavers }
}
}
}

View File

@ -0,0 +1,77 @@
agenda_cybernetic_advantage_assimilator = {
agenda_cost = @base_tradition_agenda_cost
allow = {
has_tradition = tr_cybernetics_assimilator_adopt
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
has_synthetic_ascension = no
}
modifier = {
planet_pops_cyborgs_upkeep_mult = -0.05
pop_growth_speed = 0.05
}
finish_modifier = agenda_cybernetic_advantage_assimilator_finish
}
agenda_organo_machine_interfacing_assimilator = {
agenda_cost = @ascension_agenda_cost
agenda_cooldown = @ascension_agenda_cooldown
allow = {
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
has_synthetic_ascension = no
NAND = {
has_technology = tech_powered_exoskeletons
has_technology = tech_integrated_cybernetics
has_technology = tech_neuro_quantum_links
}
}
effect = {
inverted_switch = {
trigger = has_technology
tech_powered_exoskeletons = {
add_tech_progress = {
tech = tech_powered_exoskeletons
progress = @agenda_award_tech_progress
}
}
tech_integrated_cybernetics = {
add_tech_progress = {
tech = tech_integrated_cybernetics
progress = @agenda_award_tech_progress
}
}
tech_neuro_quantum_links = {
add_tech_progress = {
tech = tech_neuro_quantum_links
progress = @agenda_award_tech_progress
}
}
default = {
add_monthly_resource_mult = {
resource = engineering_research
value = @tier3researchreward
min = @tier3researchmin
max = @tier3researchmax
}
}
}
}
}

View File

@ -0,0 +1,95 @@
district_machine_science = {
base_buildtime = 480
is_capped_by_modifier = no
icon = district_hab_science
prerequisites = {
tech_planetary_government
}
show_on_uncolonized = {
exists = from
from = {
is_machine_empire = yes
NOT = { has_valid_civic = civic_machine_servitor }
}
OR = {
is_planet_class = pc_machine
pd_is_planet_class_machine = yes
}
}
potential = {
exists = owner
owner = {
is_machine_empire = yes
NOT = { has_valid_civic = civic_machine_servitor }
}
OR = {
is_planet_class = pc_machine
pd_is_planet_class_machine = yes
}
}
allow = {
NOT = { has_modifier = resort_colony }
NOT = { has_modifier = slave_colony }
}
conversion_ratio = 1
convert_to = {
district_city
district_nexus
district_hive
district_arcology_administrative
district_arcology_religious
}
resources = {
category = planet_districts
cost = {
minerals = @city_cost
}
upkeep = {
energy = 2
}
}
planet_modifier = {
job_calculator_add = 1
planet_housing_add = 1
}
triggered_planet_modifier = {
potential = {
exists = owner
owner = {
is_machine_empire = yes
has_ascension_perk = ap_machine_worlds
}
}
job_calculator_add = 1
planet_housing_add = 1
}
triggered_planet_modifier = {
potential = {
exists = owner
owner = {
is_machine_empire = yes
has_ascension_perk = ap_machine_worlds
has_tradition = tr_discovery_finish
}
}
modifier = {
job_calculator_add = 1
planet_housing_add = 1
}
}
triggered_desc = {
text = job_calculator_effect_desc
}
}

View File

@ -0,0 +1,47 @@
can_generate_leader_from_pop = {
can_be_leader = yes
NOT = { has_living_standard = { type = living_standard_hive_mind_worker country = owner } }
NOT = { has_living_standard = { type = living_standard_hive_mind_advanced_worker country = owner } }
}
can_generate_military_leader_from_pop = {
can_be_leader = yes
can_be_military_leader = yes
NOT = { has_living_standard = { type = living_standard_hive_mind_worker country = owner } }
}
can_release_vassal = {
custom_tooltip = {
fail_text = default
NOT = { has_valid_civic = civic_fanatic_purifiers }
}
custom_tooltip = {
fail_text = default
NOT = { has_valid_civic = civic_machine_terminator }
}
custom_tooltip = {
fail_text = default
NOT = { has_valid_civic = civic_hive_devouring_swarm }
}
}
#Root = species
#This = country
can_release_vassal_from_species = {
root = {
is_sapient = yes
NOR = {
AND = {
has_trait = trait_hive_mind
NOT = { prev.this = { has_origin = origin_progenitor_hive } }
}
AND = {
NOT = { has_trait = trait_hive_mind }
prev.this = { has_authority = auth_hive_mind }
}
has_trait = trait_mechanical
can_think = no
has_trait = trait_clone_soldier_infertile
has_trait = trait_clone_soldier_infertile_full_potential
}
}
}

View File

@ -0,0 +1,464 @@
set_origin_effect = {
country_event = { id = game_start.8 }
give_starting_resources_effect = yes
# Necrophages
if = {
limit = {
has_trait = trait_necrophage
}
set_origin = origin_necrophage
}
# Subterranean
else_if = {
limit = {
has_trait = trait_cave_dweller
}
set_origin = origin_subterranean
}
# Subterranean Machines
else_if = {
limit = {
has_trait = trait_robot_cave_dweller
}
set_origin = origin_subterranean_machines
}
# Survivor
else_if = {
limit = {
has_trait = trait_survivor
}
set_origin = origin_post_apocalyptic
}
# Survivor Machine
else_if = {
limit = {
has_trait = trait_robot_survivor
}
set_origin = origin_post_apocalyptic_machines
}
# Void Dwellers
else_if = {
limit = {
has_trait = trait_void_dweller_1
}
set_origin = origin_void_dwellers
}
# Void Machines
else_if = {
limit = {
has_trait = trait_void_dweller_2
}
set_origin = origin_void_machines
}
# Calamitous Birth
else_if = {
limit = {
from = { has_origin = origin_lithoid }
has_trait = trait_lithoid
}
set_origin = origin_lithoid
}
# Liberated
else_if = {
limit = {
has_country_flag = released_empire
}
set_origin = origin_liberated
}
else = {
set_origin = origin_default
}
# Fix hive/machine
if = {
limit = {
OR = {
from = { is_machine_empire = yes }
is_machine_empire = yes
}
NOT = { has_trait = trait_machine_unit }
}
country_remove_ethic = ethic_gestalt_consciousness
shift_ethic = ethic_fanatic_materialist
shift_ethic = ethic_xenophile
change_government = {
authority = random
civics = random
cooldown = no
remove_invalid_civics = yes
}
}
else_if = {
limit = {
is_hive_empire = yes
NOT = { has_trait = trait_hive_mind }
}
country_remove_ethic = ethic_gestalt_consciousness
shift_ethic = ethic_xenophile
change_government = random
}
#Assimilators
else_if = {
limit = {
is_machine_empire = no
from = {
is_machine_empire = yes
has_valid_civic = civic_machine_assimilator
}
has_trait = trait_machine_unit
}
shift_ethic = ethic_gestalt_consciousness
change_government = {
authority = auth_machine_intelligence
civics = {
civic = civic_machine_assimilator
civic = random
}
cooldown = no
remove_invalid_civics = yes
}
}
#Servitor
else_if = {
limit = {
is_machine_empire = no
from = {
is_machine_empire = yes
has_valid_civic = civic_machine_servitor
}
has_trait = trait_machine_unit
}
shift_ethic = ethic_gestalt_consciousness
change_government = {
authority = auth_machine_intelligence
civics = {
civic = civic_machine_servitor
civic = random
}
cooldown = no
remove_invalid_civics = yes
}
}
#Generic machine
else_if = {
limit = {
is_machine_empire = no
from = {
is_machine_empire = yes
}
has_trait = trait_machine_unit
}
shift_ethic = ethic_gestalt_consciousness
change_government = {
authority = auth_machine_intelligence
civics = random
cooldown = no
remove_invalid_civics = yes
}
}
else_if = {
limit = {
is_hive_empire = no
has_trait = trait_hive_mind
}
shift_ethic = ethic_gestalt_consciousness
change_government = {
authority = auth_hive_mind
cooldown = no
remove_invalid_civics = yes
}
}
country_event = { id = game_start.70 }
country_event = { id = game_start.72 }
}
apply_post_assimilation_effects = {
if = { # assimilator empire
limit = {
root.owner = {
has_authority = auth_machine_intelligence
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
root.owner = { generate_cyborg_treats = yes } # scripted effect
}
if = {
limit = {
NOT = {
owner = {
any_owned_pop = {
is_exact_same_species = event_target:convert_to_species
NOT = { is_same_value = prevprev }
}
}
}
}
if = { # set citizenship
limit = { root.owner = { has_authority = auth_machine_intelligence } }
set_citizenship_type = {
type = citizenship_full_machine
country = root.owner
}
}
else = {
set_citizenship_type = {
type = citizenship_full
country = root.owner
}
}
if = { # set citizenship
limit = { root.owner = { has_ethic = ethic_gestalt_consciousness } }
set_living_standard = {
type = living_standard_hive_mind
country = root.owner
}
}
}
if = { # Handle assimilation of spiritualists into cybernetic empires
limit = {
root.owner = { has_policy_flag = cyberization_standards_limited }
is_spiritualist = yes
has_trait = trait_cybernetic
}
convert_to_limited_cybernetic_effect = {
CYBER_SPECIES = event_target:convert_to_species
}
}
}
give_society_tech_tier_1_effect = {
if = {
limit = {
is_regular_empire = yes
}
give_technology = { tech = tech_space_trading }
}
give_technology = { tech = tech_eco_simulation }
give_technology = { tech = tech_hydroponics }
give_technology = { tech = tech_food_processing_1 }
if = {
limit = {
is_regular_empire = yes
}
give_technology = { tech = tech_alien_life_studies }
}
if = {
limit = {
is_regular_empire = yes
}
give_technology = { tech = tech_frontier_health }
}
give_technology = { tech = tech_dense_jungle }
give_technology = { tech = tech_quicksand_basin }
give_technology = { tech = tech_noxious_swamp }
give_technology = { tech = tech_massive_glacier }
give_technology = { tech = tech_toxic_kelp }
give_technology = { tech = tech_deep_sinkhole }
if = {
limit = {
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
has_civic = civic_machine_servitor
}
}
give_technology = { tech = tech_genome_mapping }
}
give_technology = { tech = tech_ground_defense_planning }
give_technology = { tech = tech_planetary_unification }
give_technology = { tech = tech_adaptive_bureaucracy }
if = {
limit = {
is_regular_empire = yes
}
give_technology = { tech = tech_neural_implants }
}
if = {
limit = {
is_gestalt = no
}
give_technology = { tech = tech_hyper_entertainment_forum }
}
if = {
limit = {
NOR = {
has_ethic = ethic_spiritualist
has_ethic = ethic_fanatic_spiritualist
has_valid_civic = civic_machine_servitor
}
}
give_technology = { tech = tech_heritage_site }
}
}
give_society_tech_tier_2_effect = {
give_technology = { tech = tech_gene_crops }
give_technology = { tech = tech_arcane_deciphering }
if = {
limit = {
OR = {
is_machine_empire = no
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
has_civic = civic_machine_servitor
}
}
give_technology = { tech = tech_colonization_2 }
}
if = {
limit = {
OR = {
is_machine_empire = no
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
has_civic = civic_machine_servitor
}
}
give_technology = { tech = tech_colonization_3 }
}
if = {
limit = {
is_gestalt = no
}
give_technology = { tech = tech_frontier_hospital }
}
give_technology = { tech = tech_mountain_range }
give_technology = { tech = tech_volcano }
give_technology = { tech = tech_dangerous_wildlife }
give_technology = { tech = tech_terrestrial_sculpting }
if = {
limit = {
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
give_technology = { tech = tech_vitality_boosters }
}
if = {
limit = {
NOT = {
has_valid_civic = civic_fanatic_purifiers
#has_valid_civic = civic_machine_terminator # covered by not being machine
#has_valid_civic = civic_hive_devouring_swarm # can uplift to make delicious
}
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
has_civic = civic_machine_servitor
}
}
give_technology = { tech = tech_epigenetic_triggers }
}
if = {
limit = {
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
give_technology = { tech = tech_cloning }
}
if = {
limit = {
OR = {
NOT = { has_authority = auth_machine_intelligence }
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
give_technology = { tech = tech_gene_banks }
}
give_technology = { tech = tech_doctrine_fleet_size_1 }
give_technology = { tech = tech_doctrine_fleet_size_2 }
give_technology = { tech = tech_interstellar_fleet_traditions }
give_technology = { tech = tech_doctrine_navy_size_1 }
give_technology = { tech = tech_centralized_command }
give_technology = { tech = tech_global_defense_grid }
give_technology = { tech = tech_galactic_ambitions }
give_technology = { tech = tech_interstellar_campaigns }
give_technology = { tech = tech_colonial_centralization }
give_technology = { tech = tech_planetary_infrastructure_1 }
if = {
limit = {
NOT = { has_ethic = ethic_gestalt_consciousness }
}
give_technology = { tech = tech_subdermal_stimulation }
}
give_technology = { tech = tech_effective_bureaucracy }
give_technology = { tech = tech_colonial_bureaucracy }
if = {
limit = {
NOT = { has_ethic = ethic_gestalt_consciousness }
}
give_technology = { tech = tech_living_state }
}
if = {
limit = {
has_ethic = ethic_gestalt_consciousness
}
give_technology = { tech = tech_autonomous_agents }
}
if = {
limit = {
NOT = { has_ethic = ethic_gestalt_consciousness }
}
give_technology = { tech = tech_artificial_moral_codes }
}
if = {
limit = {
is_gestalt = yes
}
give_technology = { tech = tech_unity_of_purpose }
}
if = {
limit = {
has_ethic = ethic_gestalt_consciousness
}
give_technology = { tech = tech_holographic_rituals }
}
if = {
limit = {
is_hive_empire = yes
}
give_technology = { tech = tech_hive_cluster }
}
if = {
limit = {
is_gestalt = no
}
give_technology = { tech = tech_slave_colonies }
}
if = {
limit = {
is_regular_empire = yes
}
give_technology = { tech = tech_xeno_diplomacy }
}
give_technology = { tech = tech_capital_productivity_1 }
}

View File

@ -0,0 +1,2 @@
pd_is_planet_class_machine = { always = no }
is_materus_sap_installed = { always = no }

View File

@ -0,0 +1 @@
is_materus_bm_installed = { always = yes }

View File

@ -0,0 +1,496 @@
citizenship_full_machine = {
is_full_citizenship = yes
potential = {
OR = {
has_synthetic_dawn = yes
has_machine_age_dlc = yes
}
exists = from
from = { has_authority = auth_machine_intelligence }
}
allow = {
hidden_trigger = { exists = from }
if = {
limit = {
from = { NOT = { has_valid_civic = civic_machine_assimilator } }
}
custom_tooltip = {
fail_text = MACHINE_SPECIES_NOT_MACHINE
OR = {
has_trait = trait_mechanical
has_trait = trait_machine_unit
AND = {
FROM = {
has_ascension_perk = ap_mechromancy
}
has_trait = trait_cybernetic
has_trait = trait_zombie
}
AND = {
FROM = {
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
has_trait = trait_cybernetic
}
}
}
}
else = {
custom_tooltip = {
fail_text = ASSIMILATOR_SPECIES_NOT_CYBORG
OR = {
has_trait = trait_cybernetic
has_trait = trait_machine_unit
has_trait = trait_mechanical
}
}
}
}
ai_will_do = {
factor = 30
}
}
citizenship_assimilation = {
is_assimilation = yes
potential = {
OR = {
has_synthetic_dawn = yes
has_utopia = yes
has_machine_age_dlc = yes
}
exists = from
from = {
OR = {
is_homicidal = no
AND = {
is_homicidal = yes
root = {
is_same_species = prev
}
}
AND = {
has_civic = civic_machine_terminator
root = {
is_robotic_species = yes
}
}
}
OR = {
AND = { # machine cyborg assimilator
has_authority = auth_machine_intelligence
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
OR = {
AND = {
root = {
is_robotic_species = yes
}
}
root = {
NOR = {
has_trait = trait_mechanical
has_trait = trait_machine_unit
has_trait = trait_cybernetic
}
}
}
}
AND = { # machine synthetic assimilator
has_authority = auth_machine_intelligence
root = {
is_robotic_species = yes
}
}
AND = {
OR = {
AND = {
# non-devouring hive mind
has_authority = auth_hive_mind
NOT = { has_civic = civic_hive_devouring_swarm }
}
# Regular empire
AND = {
NOT = { has_ethic = ethic_gestalt_consciousness }
is_individual_machine = no
}
}
OR = {
has_active_tradition = tr_genetics_creation # genetic assimilation
has_active_tradition = tr_cybernetics_transubstantiation_synthesis # cybernetic assimilation
}
ROOT = { is_robotic_species = no }
}
AND = {
has_country_flag = synth_assimilation # synth assimilation
NOT = { has_authority = auth_machine_intelligence }
}
has_active_tradition = tr_psionics_psionic_assimilation # psionic assimilation
AND = {
is_individual_machine = yes
ROOT = { is_robotic_species = yes }
}
}
}
}
allow = {
hidden_trigger = { exists = from }
custom_tooltip = {
fail_text = MUST_NOT_BE_DOMINANT_SPECIES
NOT = { is_exact_same_species = from }
}
custom_tooltip = {
fail_text = "pre_sapients_citizenship"
is_sapient = yes
}
custom_tooltip = {
fail_text = "lonely_hive_mind_pops_kill_themselves_citizenship_assimilation"
if = {
limit = { is_lonely_hive_mind_pop = yes }
from = {
OR = {
has_active_tradition = tr_genetics_creation
has_active_tradition = tr_cybernetics_transubstantiation_synthesis
has_active_tradition = tr_cybernetics_assimilator_inevitable_assimilation
}
}
}
}
custom_tooltip = {
fail_text = "disconnected_machine_pops_collapse_citizenship"
OR = {
from = {
has_country_flag = synth_assimilation
}
is_disconnected_machine_pop = no
}
}
if = {
limit = {
from = {
has_authority = auth_machine_intelligence
}
}
custom_tooltip = { # machine assimilator
fail_text = MACHINE_SPECIES_MUST_BE_ORGANIC
}
custom_tooltip = {
fail_text = requires_tradition_tr_synthetics_adopt
}
}
else_if = {
limit = {
from = {
has_authority = auth_hive_mind
has_active_tradition = tr_genetics_creation
}
}
custom_tooltip = { # non-devouring hive mind
fail_text = HIVE_SPECIES_MUST_BE_NON_HIVE
NOR = {
has_trait = trait_hive_mind
has_trait = trait_mechanical
has_trait = trait_machine_unit
}
}
}
else_if = {
limit = {
from = {
has_authority = auth_hive_mind
has_active_tradition = tr_cybernetics_transubstantiation_synthesis
}
}
custom_tooltip = { # non-devouring hive mind
fail_text = HIVE_SPECIES_MUST_BE_NON_HIVE
NOR = {
has_trait = trait_mechanical
has_trait = trait_machine_unit
AND = {
has_trait = trait_hive_mind
has_trait = trait_cybernetic
}
}
}
}
else_if = {
limit = {
from = {
NOT = { has_authority = auth_hive_mind }
has_active_tradition = tr_cybernetics_transubstantiation_synthesis
}
}
custom_tooltip = { # cyborg empire
fail_text = CYBORG_SPECIES_MUST_BE_ORGANIC
OR = {
AND = {
has_trait = trait_hive_mind
from = {
NOT = {
has_authority = auth_hive_mind
}
}
}
AND = {
NOT = {
has_trait = trait_hive_mind
}
from = {
has_authority = auth_hive_mind
}
}
NOR = {
has_trait = trait_mechanical
has_trait = trait_machine_unit
has_trait = trait_cybernetic
has_trait = trait_limited_cybernetic
}
}
}
}
else_if = {
limit = {
from = { has_active_tradition = tr_psionics_psionic_assimilation }
}
custom_tooltip = { # species must be organic to transcend
fail_text = TRANSCENDING_SPECIES_MUST_BE_ORGANIC
is_robotic_species = no
}
custom_tooltip = { # species already has psionic trait
fail_text = TRANSCENDING_SPECIES_IS_ALREADY_PSIONIC
NOT = { has_trait = trait_psionic }
}
custom_tooltip = { # transcending species cannot be gestalt consciousness
fail_text = TRANSCENDING_SPECIES_CANT_BE_HIVE
OR = { has_active_tradition = tr_genetics_creation NOT = { has_trait = trait_hive_mind } }
}
}
else_if = {
limit = {
from = { has_active_tradition = tr_genetics_creation }
}
custom_tooltip = {
fail_text = CAN_ONLY_ASSIMILATE_HIVES
has_trait = trait_hive_mind
}
}
}
ai_will_do = {
factor = 100
modifier = {
factor = 0
from = {
OR = {
has_valid_civic = civic_hive_devouring_swarm
has_valid_civic = civic_fanatic_purifiers
has_valid_civic = civic_machine_terminator
}
}
}
modifier = {
factor = 0.3
from = {
is_individual_machine = yes
}
}
}
}
citizenship_slavery = {
is_slavery = yes
in_breach_of = {
{
key = resolution_greatergood_balance_in_the_middle
}
{
key = resolution_greatergood_universal_prosperity_mandate
}
}
potential = {
NAND = {
exists = this
OR = {
AND = {
from = { is_individual_machine = yes }
OR = {
has_trait = trait_machine_unit
has_trait = trait_mechanical
}
}
has_trait = trait_machine_unit
has_trait = trait_mechanical
}
}
}
allow = {
hidden_trigger = { exists = from }
custom_tooltip = {
fail_text = "presapients_allowed_citizenship"
OR = {
is_sapient = yes
from = {
NOT = {
has_policy_flag = pre_sapients_protect
has_policy_flag = pre_sapients_allow
}
}
}
}
custom_tooltip = {
fail_text = "presapients_purged_citizenship"
OR = {
is_sapient = yes
from = {
NOT = {
has_policy_flag = pre_sapients_purge
}
}
}
}
custom_tooltip = {
fail_text = "HIVE_MIND_MAIN_SPECIES_ALWAYS_CITIZEN"
NAND = {
from = { has_authority = auth_hive_mind }
has_trait = trait_hive_mind
}
}
custom_tooltip = {
fail_text = same_species_disallowed
NOT = { is_same_species = from }
}
custom_tooltip = {
fail_text = "lonely_hive_mind_pops_kill_themselves_citizenship"
is_lonely_hive_mind_pop = no
}
custom_tooltip = {
fail_text = SERVITORS_CANNOT_ENSLAVE
from = {
NOT = { has_valid_civic = civic_machine_servitor }
}
}
custom_tooltip = {
fail_text = ASSIMILATORS_CANNOT_ENSLAVE
from = {
NOT = { has_valid_civic = civic_machine_assimilator }
}
}
custom_tooltip = {
fail_text = MACHINE_CANNOT_ENSLAVE_CYBORGS
from = {
NOT = {
AND = {
has_ascension_perk = ap_organo_machine_interfacing_assimilator
has_trait = trait_cybernetic
}
}
}
}
custom_tooltip = {
fail_text = TERMINATORS_CANNOT_ENSLAVE
from = {
NOT = { has_valid_civic = civic_machine_terminator }
}
}
custom_tooltip = {
fail_text = DEVOURERS_CANNOT_ENSLAVE
from = {
NOT = { has_valid_civic = civic_hive_devouring_swarm }
}
}
custom_tooltip = {
fail_text = empire_xenophile
from = {
NOR = {
has_ethic = ethic_xenophile
has_ethic = ethic_fanatic_xenophile
}
}
}
custom_tooltip = {
fail_text = "FANATIC_PURIFIERS_MUST_PURIFY"
OR = {
NOT = { from = { has_valid_civic = civic_fanatic_purifiers } }
is_same_species = from
}
}
custom_tooltip = {
fail_text = does_not_embrace_species_slavery
from = {
allows_slavery = yes
OR = {
has_ethic = ethic_xenophobe
has_ethic = ethic_fanatic_xenophobe
has_ethic = ethic_authoritarian
has_ethic = ethic_fanatic_authoritarian
has_ethic = ethic_gestalt_consciousness
}
}
}
custom_tooltip = {
fail_text = yes_service_yes_citizenship
if = {
limit = {
from = { has_valid_civic = civic_citizen_service }
}
NOT = { has_military_service_type = { type = military_service_full country = from } }
}
}
custom_tooltip = {
fail_text = selective_kinship_must_citizen
if = {
limit = {
from = { has_valid_civic = civic_selective_kinship }
}
NOT = { is_same_species_class = from }
}
}
}
ai_will_do = {
factor = 15
modifier = {
factor = 0
from = {
has_valid_ai_personality = yes
NOT = {
has_ai_personality_behaviour = slaver
}
NAND = {
is_ai = no
is_xenophobe = yes
}
}
}
modifier = {
factor = 0
from = {
is_authoritarian = no
is_xenophobe = no
is_hive_empire = no
}
}
modifier = {
factor = 0.1
from = {
is_galactic_community_member = yes
}
OR = {
is_active_resolution = "resolution_greatergood_balance_in_the_middle"
is_active_resolution = "resolution_greatergood_universal_prosperity_mandate"
}
}
modifier = {
factor = 2
has_species_flag = syncretic_species@from
}
}
}

View File

@ -0,0 +1,133 @@
# from = country
# this = species
colonization_control_yes = {
can_colonize = no
potential = {
NAND = {
from = { has_authority = auth_machine_intelligence }
OR = {
has_trait = trait_machine_unit
has_trait = trait_mechanical
}
}
}
allow = {
hidden_trigger = { exists = from }
if = {
limit = {
OR = {
has_citizenship_type = { country = from type = citizenship_purge }
has_citizenship_type = { country = from type = citizenship_purge_machine }
has_citizenship_type = { country = from type = citizenship_slavery }
has_citizenship_type = { country = from type = citizenship_robot_servitude }
}
}
hidden_trigger = { always = yes }
}
else = {
custom_tooltip = {
fail_text = same_species_disallowed
NOT = { is_same_species = from }
}
}
}
ai_will_do = {
factor = 2
modifier = {
factor = 0
from = {
NOR = {
has_ethic = ethic_xenophobe
has_ethic = ethic_fanatic_xenophobe
has_ethic = ethic_gestalt_consciousness
}
}
}
modifier = {
factor = 0
has_trait = trait_cybernetic
from = { OR = { has_valid_civic = civic_machine_assimilator has_ascension_perk = ap_organo_machine_interfacing_assimilator } }
}
modifier = {
factor = 0
has_slavery_type = { country = from type = slavery_indentured }
}
}
}
colonization_control_no = {
potential = {
exists = from
NAND = {
from = { has_authority = auth_machine_intelligence }
NOR = {
has_trait = trait_machine_unit
has_trait = trait_mechanical
AND = {
has_trait = trait_cybernetic
from = { OR = { has_valid_civic = civic_machine_assimilator has_ascension_perk = ap_organo_machine_interfacing_assimilator } }
}
from = { has_valid_civic = civic_machine_servitor }
}
}
}
allow = {
hidden_trigger = { exists = from }
custom_tooltip = {
NOR = {
has_citizenship_type = { country = from type = citizenship_purge_machine }
has_citizenship_type = { country = from type = citizenship_purge }
}
fail_text = is_undesirables_tooltip
}
custom_tooltip = {
fail_text = "HIVE_MIND_SPECIES_CITIZENS_ONLY"
OR = {
NOT = { from = { has_authority = auth_hive_mind } }
has_trait = trait_hive_mind
}
}
custom_tooltip = {
fail_text = "ROBOTS_CANNOT_COLONIZE"
OR = {
NOT = { has_trait = trait_mechanical }
from = { has_technology = tech_droid_workers }
from = { has_authority = auth_machine_intelligence }
}
}
custom_tooltip = {
fail_text = "SPECIES_CANNOT_COLONIZE"
NOR = {
has_trait = trait_syncretic_proles
can_think = no
}
}
custom_tooltip = {
fail_text = is_slaves_not_battle_thralls_or_indentured_fail
if = {
limit = {
has_citizenship_type = { country = from type = citizenship_slavery }
}
OR = {
has_slavery_type = { country = from type = slavery_military }
has_slavery_type = { country = from type = slavery_indentured }
}
}
}
}
ai_will_do = {
factor = 1
modifier = {
factor = 0
from = { has_valid_civic = civic_machine_servitor }
NOR = {
has_trait = trait_machine_unit
has_trait = trait_mechanical
}
}
}
}

View File

@ -0,0 +1,131 @@
living_standard_cyborg_ego_assimilation = {
in_breach_of = {
{
trigger = {
is_gestalt = yes
}
key = resolution_greatergood_universal_prosperity_mandate
}
}
pop_modifier = {
pop_happiness = -0.50
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
NOR = {
has_trait = trait_latent_psionic
has_trait = trait_psionic
has_trait = trait_mechanical
has_trait = trait_machine_unit
}
exists = from
from = {
OR = {
AND = {
has_authority = auth_hive_mind
has_tradition = tr_cybernetics_transubstantiation_synthesis
NOT = { has_civic = civic_hive_devouring_swarm }
}
AND = {
has_authority = auth_machine_intelligence
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
prev = {
NOT = {
has_trait = trait_cybernetic
}
}
}
}
}
}
allow = {
hidden_trigger = { exists = from }
custom_tooltip = {
fail_text = SPECIES_MUST_BE_ASSIMILATING
has_citizenship_type = {
type = citizenship_assimilation
country = from
}
}
}
ai_will_do = {
factor = 100
}
}
living_standard_cyborg_ego_assimilation_psionic = {
in_breach_of = {
{
trigger = {
is_gestalt = yes
}
key = resolution_greatergood_universal_prosperity_mandate
}
}
pop_modifier = {
pop_happiness = -0.50
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
OR = {
has_trait = trait_latent_psionic
has_trait = trait_psionic
}
NOR = {
has_trait = trait_mechanical
has_trait = trait_machine_unit
}
exists = from
from = {
OR = {
AND = {
has_authority = auth_hive_mind
has_tradition = tr_cybernetics_transubstantiation_synthesis
NOT = { has_civic = civic_hive_devouring_swarm }
}
AND = {
has_authority = auth_machine_intelligence
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
prev = {
NOT = {
has_trait = trait_cybernetic
}
}
}
}
}
}
allow = {
hidden_trigger = { exists = from }
custom_tooltip = {
fail_text = SPECIES_MUST_BE_ASSIMILATING
has_citizenship_type = {
type = citizenship_assimilation
country = from
}
}
}
ai_will_do = {
factor = 100
}
}

View File

@ -0,0 +1,99 @@
living_standard_hive_mind_worker = {
potential = {
from = { has_ethic = ethic_gestalt_consciousness }
}
allow = {
if = {
limit = {
from = { has_authority = auth_hive_mind }
}
custom_tooltip = {
fail_text = species_is_not_hive
has_trait = trait_hive_mind
}
}
else_if = {
limit = { from = { has_authority = auth_machine_intelligence } }
custom_tooltip = {
fail_text = species_is_not_machine
OR = {
has_trait = trait_machine_unit
has_trait = trait_mechanical
AND = {
from = {
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_mechromancy
}
}
has_trait = trait_cybernetic
}
}
}
}
custom_tooltip = {
fail_text = SPECIES_MUST_NOT_BE_ASSIMILATING
NOT = {
has_citizenship_type = {
type = citizenship_assimilation
country = from
}
}
}
}
ai_will_do = {
factor = 0
}
}
living_standard_hive_mind_advanced_worker = {
potential = {
from = { has_ethic = ethic_gestalt_consciousness }
}
allow = {
if = {
limit = {
from = { has_authority = auth_hive_mind }
}
custom_tooltip = {
fail_text = species_is_not_hive
has_trait = trait_hive_mind
}
}
else_if = {
limit = { from = { has_authority = auth_machine_intelligence } }
custom_tooltip = {
fail_text = species_is_not_machine
OR = {
has_trait = trait_machine_unit
has_trait = trait_mechanical
AND = {
from = {
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_mechromancy
}
}
has_trait = trait_cybernetic
}
}
}
}
custom_tooltip = {
fail_text = SPECIES_MUST_NOT_BE_ASSIMILATING
NOT = {
has_citizenship_type = {
type = citizenship_assimilation
country = from
}
}
}
}
ai_will_do = {
factor = 0
}
}

View File

@ -0,0 +1,133 @@
military_service_full = {
potential = {
if = {
limit = {
from = { has_authority = auth_machine_intelligence }
}
OR = {
has_trait = trait_machine_unit
has_trait = trait_mechanical
has_trait = trait_cybernetic
}
}
}
allow = {
hidden_trigger = { exists = from }
custom_tooltip = {
fail_text = MACHINE_NO_PURE_ORGANIC_SOLDIERS
if = {
limit = {
from = { has_authority = auth_machine_intelligence }
}
OR = {
has_trait = trait_mechanical
has_trait = trait_machine_unit
AND = {
has_trait = trait_cybernetic
from = {
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
}
}
}
custom_tooltip = {
fail_text = is_undesirables_tooltip
NOR = {
has_citizenship_type = { country = from type = citizenship_purge_machine }
has_citizenship_type = { country = from type = citizenship_purge }
}
}
custom_tooltip = {
fail_text = is_slaves_tooltip
NOT = { has_citizenship_type = { country = from type = citizenship_slavery } }
}
custom_tooltip = {
fail_text = is_serviles_tooltip
NOT = { has_trait = trait_syncretic_proles }
}
custom_tooltip = {
fail_text = is_servitude_tooltip
NOT = { has_citizenship_type = { country = from type = citizenship_robot_servitude } }
}
if = {
limit = {
from = {
NOT = { has_origin = origin_synthetic_fertility }
}
has_trait = trait_mechanical
}
custom_tooltip = {
fail_text = too_alien
OR = {
is_same_species = from
from = {
AND = {
has_valid_civic = civic_selective_kinship
is_same_species_class = root
}
}
from = {
NOR = {
has_ethic = ethic_xenophobe
has_ethic = ethic_fanatic_xenophobe
}
}
}
}
}
custom_tooltip = {
fail_text = "HIVE_MIND_SPECIES_CITIZENS_ONLY"
OR = {
NOT = { from = { has_authority = auth_hive_mind } }
has_trait = trait_hive_mind
}
}
custom_tooltip = {
fail_text = NON_MACHINE_SPECIES_NEED_PREREQ_TECH
if = {
limit = {
OR = {
has_trait = trait_mechanical
has_trait = trait_machine_unit
}
}
from = {
OR = {
has_authority = auth_machine_intelligence
is_individual_machine = yes
has_technology = tech_droid_workers
}
}
}
}
custom_tooltip = {
fail_text = nerve_stapled_cannot_lead_armies
NOT = { has_trait = trait_nerve_stapled }
}
custom_tooltip = {
fail_text = nerve_stapled_cannot_lead_armies
NOT = { has_trait = trait_robot_suppressed }
}
}
ai_will_do = {
factor = 5
modifier = {
factor = 0
from = { has_valid_ai_personality = no }
}
modifier = {
factor = 0
from = {
has_valid_ai_personality = yes
NOT = {
has_ai_personality_behaviour = multispecies
}
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,137 @@
tech_pk_nanobots = {
area = engineering
cost = @tier5cost3
tier = 5
is_rare = yes
is_reverse_engineerable = no
category = { voidcraft }
prerequisites = { "tech_colossus" }
ai_update_type = military
weight = @tier5weight3
potential = {
host_has_dlc = "Apocalypse"
has_country_flag = colossus_project
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
weight_modifier = {
factor = 0.50
inline_script = {
script = technologies/rare_technologies_weight_modifiers
TECHNOLOGY = tech_pk_nanobots
}
modifier = {
factor = 0.20
NOR = {
has_trait_in_council = { TRAIT = leader_trait_maniacal }
has_trait_in_council = { TRAIT = leader_trait_maniacal_2 }
has_trait_in_council = { TRAIT = leader_trait_maniacal_3 }
has_trait_in_council = { TRAIT = leader_trait_curator }
has_trait_in_council = { TRAIT = leader_trait_expertise_voidcraft }
}
}
}
ai_weight = {
factor = 0.5
modifier = {
factor = 5
has_ethic = ethic_gestalt_consciousness
has_valid_civic = civic_machine_assimilator
}
}
}
#Integrated Cybernetics
tech_integrated_cybernetics = {
cost = @tier2cost3
area = engineering
tier = 2
category = { industry }
prerequisites = { "tech_powered_exoskeletons" "tech_colonial_centralization" }
weight = @tier2weight3
modifier = {
pop_environment_tolerance = 0.05
}
potential = {
OR = {
AND = {
is_machine_empire = no
is_individual_machine = no
}
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
weight_modifier = {
factor = 1.5
}
ai_weight = {
factor = 2
modifier = {
factor = 1000
has_origin = origin_cybernetic_creed
}
}
}
tech_neuro_quantum_links = {
area = physics
tier = 3
cost = @tier3cost1
category = { computing }
prerequisites = { "tech_basic_science_lab_2" "tech_integrated_cybernetics" }
weight = @tier3weight1
modifier = {
planet_jobs_specialist_produces_mult = 0.05
}
potential = {
OR = {
is_machine_empire = no
OR = {
has_valid_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
weight_modifier = {
factor = 1.5
modifier = {
factor = 0
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
NOR = {
has_ascension_perk = ap_the_flesh_is_weak
has_ascension_perk = ap_organo_machine_interfacing
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
modifier = {
factor = 0.25
NOR = {
has_trait_in_council = { TRAIT = leader_trait_expertise_computing }
has_trait_in_council = { TRAIT = leader_trait_curator }
}
}
}
ai_weight = {
}
}

View File

@ -0,0 +1,28 @@
tradition_cybernetics_assimilator = {
tree_template = "tree_12_11_11"
adoption_bonus = "tr_cybernetics_assimilator_adopt"
finish_bonus = "tr_cybernetics_assimilator_finish"
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_mechromancy
}
has_synthetic_ascension = no
}
traditions = {
"tr_cybernetics_assimilator_inevitable_assimilation"
"tr_cybernetics_assimilator_metabolic_reprocessing"
"tr_cybernetics_assimilator_integrated_anatomy"
"tr_cybernetics_assimilator_gestation"
"tr_cybernetics_assimilator_modular_cybernetics"
}
ai_weight = {
factor = 1000
}
}

View File

@ -0,0 +1,28 @@
tr_cybernetics_assimilator_adopt = {
possible = {
has_ascension_perk = ap_organo_machine_interfacing_assimilator
has_technology = tech_integrated_cybernetics
}
unlocks_agenda = agenda_cybernetic_advantage_assimilator
custom_tooltip = tr_cybernetics_assimilator_adopt_desc
# Increased effects from Assimilating organic pops.
# See apply_post_assimilation_effects scripted effect
on_enabled = {
if = {
limit = {
has_machine_age_dlc = yes
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_mechromancy
}
}
hidden_effect = {
country_event = {
id = cyber.2010
days = 2
}
}
}
}
}

9
better_mi/descriptor.mod Normal file
View File

@ -0,0 +1,9 @@
version="1.0"
tags={
"Overhaul"
"Gameplay"
"Balance"
}
name="Better Machine Intelligence"
supported_version="3.12.4"
remote_file_id="3261111337"

View File

@ -0,0 +1,226 @@
namespace = action
# Assimilate Pops on Yearly Pulse
event = {
id = action.64
hide_window = yes
is_triggered_only = yes
trigger = {
any_playable_country = {
num_unique_species > 1
any_owned_species = {
has_citizenship_type = {
type = citizenship_assimilation
country = prev
}
}
}
}
immediate = {
log = "action.64"
set_update_modifiers_batch = begin
every_playable_country = {
limit = {
num_unique_species > 1
any_owned_species = {
has_citizenship_type = {
type = citizenship_assimilation
country = prev
}
}
}
log = "action.64.epc"
if = { # ascended synths
limit = {
NOT = { has_country_flag = synthetic_empire }
}
every_owned_species = {
limit = {
has_citizenship_type = {
type = citizenship_assimilation
country = prev
}
}
if = { # machines assimlating machines
limit = {
OR = {
has_trait = trait_mechanical
has_trait = trait_machine_unit
}
prev = {
has_authority = auth_machine_intelligence
has_active_tradition = tr_synthetics_adopt_machine
}
}
# Deliberately do nothing here, see assimilation_effect
}
else_if = { # assimilator empire or cyborg empire
limit = {
prev = {
OR = {
AND = {
is_hive_empire = no
has_tradition = tr_cybernetics_transubstantiation_synthesis
}
AND = {
has_authority = auth_machine_intelligence
OR = {
has_civic = civic_machine_assimilator
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
}
}
modify_species = {
species = this
add_trait = trait_cybernetic
add_traits_at_start_of_list = yes
remove_trait = trait_hive_mind
remove_trait = trait_self_modified
remove_trait = trait_latent_psionic
remove_trait = trait_psionic
change_scoped_species = no
effect = {
set_timed_species_flag = {
flag = assimilation_species_of_species@prev
days = 30
}
set_timed_species_flag = {
flag = assimilation_species_of_empire@prevprev
days = 30
}
}
}
}
else_if = { # genetic hive mind
limit = {
prev = {
has_authority = auth_hive_mind
has_tradition = tr_genetics_creation
NOT = {
has_civic = civic_hive_devouring_swarm
}
}
}
modify_species = {
species = this
add_trait = trait_hive_mind
remove_trait = trait_self_modified
remove_trait = trait_latent_psionic
remove_trait = trait_psionic
change_scoped_species = no
effect = {
set_timed_species_flag = {
flag = assimilation_species_of_species@prev
days = 30
}
set_timed_species_flag = {
flag = assimilation_species_of_empire@prevprev
days = 30
}
}
}
}
else_if = { # cyborg hive mind
limit = {
prev = {
has_authority = auth_hive_mind
has_tradition = tr_cybernetics_transubstantiation_synthesis
NOT = {
has_civic = civic_hive_devouring_swarm
}
}
}
modify_species = {
species = this
add_trait = trait_cybernetic
add_trait = trait_hive_mind
add_traits_at_start_of_list = yes
remove_trait = trait_self_modified
remove_trait = trait_latent_psionic
remove_trait = trait_psionic
change_scoped_species = no
effect = {
set_timed_species_flag = {
flag = assimilation_species_of_species@prev
days = 30
}
set_timed_species_flag = {
flag = assimilation_species_of_empire@prevprev
days = 30
}
}
}
}
else_if = {
limit = {
prev = {
NOR = {
has_ethic = ethic_gestalt_consciousness
has_tradition = tr_cybernetics_transubstantiation_synthesis
}
}
has_trait = trait_hive_mind
}
modify_species = {
species = this
remove_trait = trait_hive_mind
change_scoped_species = no
effect = {
set_timed_species_flag = {
flag = assimilation_species_of_species@prev
days = 30
}
set_timed_species_flag = {
flag = assimilation_species_of_empire@prevprev
days = 30
}
}
}
}
else_if = { #### Psionic Assimilation ADD OTHER RANDOM OPTIONS TOO
limit = {
prev = {
has_tradition = tr_psionics_psionic_assimilation
}
}
modify_species = {
species = this
add_trait = trait_psionic
add_traits_at_start_of_list = yes
remove_trait = trait_latent_psionic
remove_trait = trait_cybernetic
inline_script = {
script = traits/remove_all_cybernetic_traits
}
effect = {
set_timed_species_flag = {
flag = assimilation_species_of_species@prev
days = 30
}
set_timed_species_flag = {
flag = assimilation_species_of_empire@prevprev
days = 30
}
}
}
}
}
}
every_owned_planet = {
planet_event = { id = action.65 }
}
}
set_update_modifiers_batch = end
}
}

View File

@ -0,0 +1,6 @@
spriteTypes = {
spriteType = {
name = "GFX_council_agenda_icon_agenda_engineered_evolution_machine"
texturefile = "gfx/interface/icons/agenda_icons/agenda_engineered_evolution_machine.dds"
}
}

View File

@ -0,0 +1,16 @@
l_english:
district_machine_science: "Research District"
district_machine_science_plural: "Research Districts"
district_machine_science_desc: "Districts filled with server arrays and high speed processors making scientific simulations."
mod_planet_district_machine_science_build_speed_mult: "$district_machine_science$ Build Speed"
living_standard_hive_mind_worker: "Drone Simple Worker"
living_standard_hive_mind_worker_tooltip: "While it may have little use for luxuries, a drone population still requires a great deal of resources to sustain itself. Will not generate leaders"
living_standard_hive_mind_worker_tooltip_delayed: "§LThe needs of the individual and the needs of all are one and the same.§!"
living_standard_hive_mind_advanced_worker: "Drone Advanced Worker"
living_standard_hive_mind_advanced_worker_tooltip: "While it may have little use for luxuries, a drone population still requires a great deal of resources to sustain itself. Will only generate military leaders."
living_standard_hive_mind_advanced_worker_tooltip_delayed: "§LThe needs of the individual and the needs of all are one and the same.§!"
MACHINE_CANNOT_ENSLAVE_CYBORGS: "$TRIGGER_FAIL$§YCybernetics ascended machine§! cannot enslave cyborg species."
council_agenda_agenda_engineered_evolution_machine_name: "$ap_engineered_evolution$"
council_agenda_agenda_engineered_evolution_machine_desc: "$ap_engineered_evolution_desc$"

View File

@ -0,0 +1,16 @@
l_polish:
district_machine_science: "Dzielnica naukowa"
district_machine_science_plural: "Dzielnice naukowe"
district_machine_science_desc: "Dzielnice pełne sieci serwerów i procesorów wykonujących symulacje naukowe."
mod_planet_district_machine_science_build_speed_mult: "$district_machine_science$ - szybkość budowy"
living_standard_hive_mind_worker: "Dron - Prosty pracownik"
living_standard_hive_mind_worker_tooltip: "Populacja dronów rzadko korzysta z luksusów, ale nadal potrzebuje do życia olbrzymiej ilości zasobów. Nie będzię tworzyć przywództwów"
living_standard_hive_mind_worker_tooltip_delayed: "§LNie ma różnicy między potrzebami jednostki a potrzebami roju.§!"
living_standard_hive_mind_advanced_worker: "Dron - Zaawansowany pracownik"
living_standard_hive_mind_advanced_worker_tooltip: "Populacja dronów rzadko korzysta z luksusów, ale nadal potrzebuje do życia olbrzymiej ilości zasobów. Będzie tworzyć jedynie generałów"
living_standard_hive_mind_advanced_worker_tooltip_delayed: "§LNie ma różnicy między potrzebami jednostki a potrzebami roju.§!"
MACHINE_CANNOT_ENSLAVE_CYBORGS: "$TRIGGER_FAIL$Nie można zniewolić cyborgów"
council_agenda_agenda_engineered_evolution_machine_name: "$ap_engineered_evolution$"
council_agenda_agenda_engineered_evolution_machine_desc: "$ap_engineered_evolution_desc$"

BIN
better_mi/thumbnail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -0,0 +1,552 @@
#################
# ASCENSION PATHS
#################
@ascension_path_base_weight = 100
@ascension_path_synergy_weight = 2
@ascension_path_anti_synergy_weight = 0.5
# Genetic Ascension (regular empires & Hive Minds)
ap_engineered_evolution = {
on_enabled = {
custom_tooltip = "engineered_evolution_tooltip"
if = {
limit = {
has_origin = origin_clone_army
OR = {
has_trait = trait_clone_soldier_infertile
has_trait = trait_clone_soldier_infertile_full_potential
}
}
custom_tooltip = clone_soldier_locked_genes
}
}
possible = {
custom_tooltip = {
fail_text = "synthetic_empire_biological_ascension"
OR = {
NOT = { has_trait = trait_mechanical }
has_civic = civic_machine_servitor
has_civic = civic_machine_assimilator
AND = {
is_materus_bm_installed = yes
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
custom_tooltip = {
fail_text = "requires_ascension_perks_2"
num_ascension_perks > 1
}
custom_tooltip = {
fail_text = "requires_free_tradition_tree"
num_tradition_categories < @max_tradition_trees
}
}
potential = {
has_utopia = yes
NOR = {
has_ascension_perk = ap_engineered_evolution
has_origin = origin_synthetic_fertility
}
OR = {
is_robot_empire = no
has_civic = civic_machine_servitor
has_civic = civic_machine_assimilator
AND = {
is_materus_bm_installed = yes
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
is_natural_design_empire = no
}
ai_weight = {
factor = @ascension_path_base_weight
modifier = {
factor = @ascension_path_synergy_weight
has_engineered_evolution_synergy = yes
}
modifier = {
factor = 0.1
num_ascension_perks < 3
}
modifier = {
factor = 10
num_ascension_perks > 4
}
modifier = {
factor = 0.1
OR = {
has_ascension_perk = ap_the_flesh_is_weak
has_ascension_perk = ap_organo_machine_interfacing
has_ascension_perk = ap_mind_over_matter
}
}
modifier = {
factor = 0
has_ascension_perk = ap_synthetic_evolution
}
}
}
# Cyborg Ascension (regular empires)
ap_the_flesh_is_weak = {
on_enabled = {
custom_tooltip = "flesh_is_weak_tooltip"
}
possible = {
custom_tooltip = {
fail_text = "synthetic_empire_synthetic_ascension"
NOT = { has_trait = trait_mechanical }
}
custom_tooltip = {
fail_text = "requires_ascension_perks_2"
OR = {
num_ascension_perks > 1
has_origin = origin_cybernetic_creed
}
}
custom_tooltip = {
fail_text = "requires_not_ap_mind_over_matter"
NOT = { has_ascension_perk = ap_mind_over_matter }
}
custom_tooltip = {
fail_text = "requires_not_ap_synthetic_evolution"
NOT = { has_ascension_perk = ap_synthetic_evolution }
}
custom_tooltip = {
fail_text = "requires_free_tradition_tree"
num_tradition_categories < @max_tradition_trees
}
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
NOR = {
has_ascension_perk = ap_the_flesh_is_weak
has_origin = origin_shroudwalker_apprentice
has_origin = origin_cybernetic_creed
has_origin = origin_synthetic_fertility
}
is_gestalt = no
is_individual_machine = no
is_natural_design_empire = no
}
ai_weight = {
factor = @ascension_path_base_weight
modifier = {
factor = @ascension_path_anti_synergy_weight
has_flesh_is_weak_anti_synergy = yes
}
modifier = {
factor = 0.5
has_ethic = ethic_spiritualist
}
modifier = {
factor = 0
has_ethic = ethic_fanatic_spiritualist
}
modifier = {
factor = 0.1
num_ascension_perks < 3
}
modifier = {
factor = 10
num_ascension_perks > 4
}
modifier = {
factor = 0.1
OR = {
has_ascension_perk = ap_engineered_evolution
has_ascension_perk = ap_organo_machine_interfacing
has_ascension_perk = ap_mind_over_matter
}
}
modifier = {
factor = 0
has_ascension_perk = ap_synthetic_evolution
}
}
}
# Cyborg Ascension (Hive Minds)
ap_organo_machine_interfacing = {
on_enabled = {
custom_tooltip = "organo_machine_interfacing_tooltip"
}
possible = {
custom_tooltip = {
fail_text = "requires_ascension_perks_2"
num_ascension_perks > 1
}
custom_tooltip = {
fail_text = "requires_free_tradition_tree"
num_tradition_categories < @max_tradition_trees
}
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
NOT = {
has_ascension_perk = ap_organo_machine_interfacing
}
has_authority = auth_hive_mind
is_natural_design_empire = no
}
ai_weight = {
factor = @ascension_path_base_weight
modifier = {
factor = 0.1
num_ascension_perks < 3
}
modifier = {
factor = 10
num_ascension_perks > 4
}
modifier = {
factor = 0.1
OR = {
has_ascension_perk = ap_engineered_evolution
has_ascension_perk = ap_the_flesh_is_weak
has_ascension_perk = ap_mind_over_matter
}
}
modifier = {
factor = 0
has_ascension_perk = ap_synthetic_evolution
}
}
}
# Cyborg Ascension (Machine Intelligence: Driven Assimilators)
ap_organo_machine_interfacing_assimilator = {
on_enabled = {
custom_tooltip = "organo_machine_interfacing_tooltip"
}
possible = {
custom_tooltip = {
fail_text = "requires_ascension_perks_2"
num_ascension_perks > 1
}
custom_tooltip = {
fail_text = "requires_free_tradition_tree"
num_tradition_categories < @max_tradition_trees
}
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
NOT = {
has_ascension_perk = ap_organo_machine_interfacing_assimilator
has_civic = civic_machine_servitor
has_civic = civic_machine_terminator
}
OR = {
has_civic = civic_machine_assimilator
AND = {
has_ascension_perk = ap_mechromancy
is_materus_bm_installed = yes
}
{
}
ai_weight = {
factor = @ascension_path_base_weight
modifier = {
factor = @ascension_path_synergy_weight
has_organo_machine_interfacing_assimilator_synergy = yes
}
modifier = {
factor = 0.1
num_ascension_perks < 3
}
modifier = {
factor = 10
num_ascension_perks > 4
}
modifier = {
factor = 0.1
OR = {
has_ascension_perk = ap_engineered_evolution
}
}
}
}
# Synthetic Ascension (regular empires)
ap_synthetic_evolution = {
on_enabled = {
custom_tooltip = "synthetic_evolution_tooltip"
if = {
limit = {
has_origin = origin_necrophage
has_trait = trait_necrophage
}
custom_tooltip = disables_necrophage_features
}
if = {
limit = {
has_origin = origin_clone_army
OR = {
has_trait = trait_clone_soldier_infertile
has_trait = trait_clone_soldier_infertile_full_potential
has_trait = trait_clone_soldier_fertile
}
}
custom_tooltip = disables_clone_army_origin_features
}
if = {
limit = {
has_origin = origin_overtuned
}
custom_tooltip = disables_overtuned_features
}
if = {
limit = {
OR = {
has_valid_civic = civic_idyllic_bloom
has_valid_civic = civic_hive_idyllic_bloom
}
}
custom_tooltip = disables_idyllic_bloom
}
}
possible = {
custom_tooltip = {
fail_text = "synthetic_empire_synthetic_ascension"
NOT = { has_trait = trait_mechanical }
}
custom_tooltip = {
fail_text = "requires_ascension_perks_2"
num_ascension_perks > 1
}
custom_tooltip = {
fail_text = "requires_not_ap_the_flesh_is_weak"
NOT = { has_ascension_perk = ap_the_flesh_is_weak }
}
custom_tooltip = {
fail_text = "requires_not_ap_mind_over_matter"
NOT = { has_ascension_perk = ap_mind_over_matter }
}
custom_tooltip = {
fail_text = "requires_free_tradition_tree"
num_tradition_categories < @max_tradition_trees
}
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
NOR = {
has_ascension_perk = ap_synthetic_evolution
has_authority = "auth_machine_intelligence"
has_origin = origin_shroudwalker_apprentice
has_origin = origin_cybernetic_creed
has_origin = origin_synthetic_fertility
}
is_gestalt = no
is_mechanical_empire = no
is_natural_design_empire = no
NOT = { has_valid_civic = civic_augmentation_bazaars }
is_individual_machine = no
}
ai_weight = {
factor = @ascension_path_base_weight
modifier = {
factor = @ascension_path_synergy_weight
has_synthetic_evolution_synergy = yes
}
modifier = {
factor = @ascension_path_anti_synergy_weight
has_synthetic_evolution_anti_synergy = yes
}
modifier = {
factor = 0
blocks_ai_synthetic_evolution = yes
}
modifier = {
factor = 0
is_spiritualist = yes
}
modifier = {
factor = 0.1
num_ascension_perks < 3
}
modifier = {
factor = 10
num_ascension_perks > 4
}
modifier = {
factor = 0
OR = {
has_ascension_perk = ap_engineered_evolution
has_ascension_perk = ap_the_flesh_is_weak
has_ascension_perk = ap_organo_machine_interfacing
has_ascension_perk = ap_mind_over_matter
}
}
}
}
# Psionic Ascension (regular empires)
ap_mind_over_matter = {
on_enabled = {
custom_tooltip = "mind_over_matter_tooltip"
}
possible = {
custom_tooltip = {
fail_text = "synthetic_empire_psionic_ascension"
NOT = { has_trait = trait_mechanical }
}
custom_tooltip = {
fail_text = "requires_ascension_perks_2"
num_ascension_perks > 1
}
custom_tooltip = {
fail_text = "requires_not_ap_the_flesh_is_weak"
NOT = { has_ascension_perk = ap_the_flesh_is_weak }
}
custom_tooltip = {
fail_text = "requires_not_ap_synthetic_evolution"
NOT = { has_ascension_perk = ap_synthetic_evolution }
}
custom_tooltip = {
fail_text = "requires_free_tradition_tree"
num_tradition_categories < @max_tradition_trees
}
}
potential = {
has_utopia = yes
NOR = {
has_country_flag = ratling_country
has_ascension_perk = ap_mind_over_matter
has_origin = origin_shroudwalker_apprentice
has_origin = origin_cybernetic_creed
has_origin = origin_synthetic_fertility
}
is_gestalt = no
is_mechanical_empire = no
is_cyborg_empire = no
is_natural_design_empire = no
is_individual_machine = no
NOT = { has_valid_civic = civic_augmentation_bazaars }
}
ai_weight = {
factor = @ascension_path_base_weight
modifier = {
factor = @ascension_path_synergy_weight
has_mind_over_matter_synergy = yes
}
modifier = {
factor = @ascension_path_anti_synergy_weight
has_mind_over_matter_anti_synergy = yes
}
modifier = {
factor = 10
has_ethic = ethic_fanatic_spiritualist
}
modifier = {
factor = 0.1
num_ascension_perks < 3
}
modifier = {
factor = 10
num_ascension_perks > 4
}
modifier = {
factor = 0.1
OR = {
has_ascension_perk = ap_engineered_evolution
has_ascension_perk = ap_the_flesh_is_weak
has_ascension_perk = ap_organo_machine_interfacing
}
}
}
}
# Synthetic Ascension (Machine Intelligence or Individualistic Machine)
ap_synthetic_age = {
potential = {
OR = {
has_synthetic_dawn = yes
has_machine_age_dlc = yes
}
OR = {
has_authority = auth_machine_intelligence
is_individual_machine = yes
has_country_flag = synthetics_traditions_unlocked
}
NOT = {
has_ascension_perk = ap_synthetic_age
}
is_natural_design_empire = no
}
possible = {
custom_tooltip = {
fail_text = "requires_ascension_perks_2"
num_ascension_perks > 1
}
custom_tooltip = {
fail_text = "requires_free_tradition_tree"
num_tradition_categories < @max_tradition_trees
}
}
custom_tooltip = "synthetic_age_tooltip"
tradition_swap = {
inherit_name = yes
inherit_effects = no
inherit_icon = yes
trigger = {
has_machine_age_dlc = yes
}
custom_tooltip = "synthetic_age_tooltip_machine_age"
on_enabled = {
hidden_effect = {
country_event = { id = machine_age.4000 }
}
}
weight = {
factor = 1
}
}
ai_weight = {
factor = @ascension_path_base_weight
modifier = {
factor = @ascension_path_anti_synergy_weight
has_synthetic_age_anti_synergy = yes
}
modifier = {
factor = 0.1
num_ascension_perks < 3
}
modifier = {
factor = 10
num_ascension_perks > 4
}
}
}

View File

@ -0,0 +1,620 @@
@base_tradition_agenda_cost = 7000
@ascension_agenda_cost = 3500 # Same as short_agenda_cost from traditions
@ascension_agenda_cooldown = 1080 # 3 Years
agenda_cybernetic_advantage_assimilator = {
agenda_cost = @base_tradition_agenda_cost
allow = {
has_tradition = tr_cybernetics_assimilator_adopt
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
OR = {
has_civic = civic_machine_assimilator
AND = {
is_materus_bm_installed = yes
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
}
modifier = {
planet_pops_cyborgs_upkeep_mult = -0.05
pop_growth_speed = 0.05
}
finish_modifier = agenda_cybernetic_advantage_assimilator_finish
}
agenda_organo_machine_interfacing_assimilator = {
agenda_cost = @ascension_agenda_cost
agenda_cooldown = @ascension_agenda_cooldown
allow = {
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
OR = {
AND = {
is_materus_bm_installed = yes
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
has_civic = civic_machine_assimilator
}
NAND = {
has_technology = tech_powered_exoskeletons
has_technology = tech_integrated_cybernetics
has_technology = tech_neuro_quantum_links
}
}
effect = {
inverted_switch = {
trigger = has_technology
tech_powered_exoskeletons = {
add_tech_progress = {
tech = tech_powered_exoskeletons
progress = @agenda_award_tech_progress
}
}
tech_integrated_cybernetics = {
add_tech_progress = {
tech = tech_integrated_cybernetics
progress = @agenda_award_tech_progress
}
}
tech_neuro_quantum_links = {
add_tech_progress = {
tech = tech_neuro_quantum_links
progress = @agenda_award_tech_progress
}
}
default = {
add_monthly_resource_mult = {
resource = engineering_research
value = @tier3researchreward
min = @tier3researchmin
max = @tier3researchmax
}
}
}
}
}
agenda_nanotech_unstoppable_swarm = {
agenda_cost = @base_tradition_agenda_cost
allow = {
has_tradition = tr_nanotech_adopt
}
potential = {
has_machine_age_dlc = yes
OR = {
is_individual_machine = yes
is_machine_empire = yes
}
NOR = {
has_country_flag = modularity_traditions_unlocked
has_country_flag = virtuality_traditions_unlocked
}
}
modifier = {
shipsize_nanite_swarmer_build_speed_mult = 0.20
ship_nanite_swarmer_cost_mult = -0.15
}
finish_modifier = agenda_nanotech_unstoppable_swarm_finish
}
agenda_modularity_reshape_form = {
agenda_cost = @base_tradition_agenda_cost
allow = {
has_tradition = tr_modularity_adopt
}
potential = {
has_machine_age_dlc = yes
OR = {
is_individual_machine = yes
is_machine_empire = yes
}
NOR = {
has_country_flag = nanotech_traditions_unlocked
has_country_flag = virtuality_traditions_unlocked
}
}
modifier = {
planet_pops_robotics_upkeep_mult = -0.05
planet_jobs_sr_living_metal_produces_mult = 0.05
auto_mod_monthly_add = 1
}
finish_modifier = agenda_modularity_reshape_form_finish
}
agenda_virtuality_optimized_network = {
agenda_cost = @base_tradition_agenda_cost
allow = {
has_tradition = tr_virtuality_adopt
}
potential = {
has_machine_age_dlc = yes
OR = {
is_individual_machine = yes
is_machine_empire = yes
}
NOR = {
has_country_flag = modularity_traditions_unlocked
has_country_flag = nanotech_traditions_unlocked
}
}
modifier = {
planet_virtual_jobs_produces_mult = 0.05
}
finish_modifier = agenda_virtuality_optimized_network_finish
}
agenda_synthetic_age = {
agenda_cost = @ascension_agenda_cost
agenda_cooldown = @ascension_agenda_cooldown
allow = {
has_ascension_perk = ap_synthetic_age
}
potential = {
OR = {
is_machine_empire = yes
is_individual_machine = yes
}
OR = {
has_synthetic_dawn = yes
has_machine_age_dlc = yes
}
OR = {
has_valid_civic = civic_machine_assimilator
has_cybernetic_ascension = no
AND = {
is_materus_bm_installed = yes
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
NAND = {
has_technology = tech_powered_exoskeletons
has_technology = tech_robomodding_m
has_technology = tech_binary_motivators
has_technology = tech_nanite_assemblers
has_technology = tech_mega_assembly
}
}
effect = {
inverted_switch = {
trigger = has_technology
tech_powered_exoskeletons = {
add_tech_progress = {
tech = tech_powered_exoskeletons
progress = @agenda_award_tech_progress
}
}
tech_robomodding_m = {
add_tech_progress = {
tech = tech_robomodding_m
progress = @agenda_award_tech_progress
}
}
tech_binary_motivators = {
add_tech_progress = {
tech = tech_binary_motivators
progress = @agenda_award_tech_progress
}
}
tech_nanite_assemblers = {
add_tech_progress = {
tech = tech_nanite_assemblers
progress = @agenda_award_tech_progress
}
}
tech_mega_assembly = {
add_tech_progress = {
tech = tech_mega_assembly
progress = @agenda_award_tech_progress
}
}
default = {
add_monthly_resource_mult = {
resource = engineering_research
value = @tier3researchreward
min = @tier3researchmin
max = @tier3researchmax
}
}
}
}
}
agenda_synthetic_yield = {
agenda_cost = @base_tradition_agenda_cost
allow = {
has_tradition = tr_synthetics_adopt
}
potential = {
OR = {
AND = {
is_regular_empire = yes
is_individual_machine = no
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
}
AND = {
is_machine_empire = yes
has_synthetic_dawn = yes
has_machine_age_dlc = no
}
}
NOR = {
has_psionic_ascension = yes
is_natural_design_empire = yes
}
}
modifier = {
planet_pop_assembly_add = 0.5
}
finish_modifier = agenda_synthetic_yield_finish
}
agenda_organo_machine_interfacing = {
agenda_cost = @ascension_agenda_cost
agenda_cooldown = @ascension_agenda_cooldown
allow = {
has_ascension_perk = ap_organo_machine_interfacing
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
is_hive_empire = yes
NOR = {
has_psionic_ascension = yes
has_synthetic_ascension = yes
is_natural_design_empire = yes
is_individual_machine = yes
}
NAND = {
has_technology = tech_powered_exoskeletons
has_technology = tech_integrated_cybernetics
has_technology = tech_neuro_quantum_links
}
}
effect = {
inverted_switch = {
trigger = has_technology
tech_powered_exoskeletons = {
add_tech_progress = {
tech = tech_powered_exoskeletons
progress = @agenda_award_tech_progress
}
}
tech_integrated_cybernetics = {
add_tech_progress = {
tech = tech_integrated_cybernetics
progress = @agenda_award_tech_progress
}
}
tech_neuro_quantum_links = {
add_tech_progress = {
tech = tech_neuro_quantum_links
progress = @agenda_award_tech_progress
}
}
default = {
add_monthly_resource_mult = {
resource = engineering_research
value = @tier3researchreward
min = @tier3researchmin
max = @tier3researchmax
}
}
}
}
}
agenda_flesh_is_weak = {
agenda_cost = @ascension_agenda_cost
agenda_cooldown = @ascension_agenda_cooldown
allow = {
OR = {
has_ascension_perk = ap_the_flesh_is_weak
has_origin = origin_cybernetic_creed
}
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
is_gestalt = no
NOR = {
has_psionic_ascension = yes
has_synthetic_ascension = yes
is_natural_design_empire = yes
is_individual_machine = yes
}
NAND = {
has_technology = tech_powered_exoskeletons
has_technology = tech_integrated_cybernetics
has_technology = tech_neuro_quantum_links
}
}
effect = {
inverted_switch = {
trigger = has_technology
tech_powered_exoskeletons = {
add_tech_progress = {
tech = tech_powered_exoskeletons
progress = @agenda_award_tech_progress
}
}
tech_integrated_cybernetics = {
add_tech_progress = {
tech = tech_integrated_cybernetics
progress = @agenda_award_tech_progress
}
}
tech_neuro_quantum_links = {
add_tech_progress = {
tech = tech_neuro_quantum_links
progress = @agenda_award_tech_progress
}
}
default = {
add_monthly_resource_mult = {
resource = engineering_research
value = @tier3researchreward
min = @tier3researchmin
max = @tier3researchmax
}
}
}
}
}
agenda_cybernetic_advantage = {
agenda_cost = @base_tradition_agenda_cost
allow = {
has_tradition = tr_cybernetics_adopt
}
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
is_machine_empire = no
NOR = {
has_psionic_ascension = yes
has_synthetic_ascension = yes
is_natural_design_empire = yes
is_individual_machine = yes
}
}
modifier = {
planet_pops_cyborgs_upkeep_mult = -0.05
pop_growth_speed = 0.025
}
finish_modifier = agenda_cybernetic_advantage_finish
}
agenda_genetic_pursuit = {
agenda_cost = @base_tradition_agenda_cost
allow = {
has_tradition = tr_genetics_adopt
}
potential = {
has_utopia = yes
OR = {
is_machine_empire = no
has_civic = civic_machine_assimilator
has_civic = civic_machine_servitor
AND = {
is_materus_bm_installed = yes
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
NOR = {
has_synthetic_ascension = yes
is_natural_design_empire = yes
is_individual_machine = yes
}
}
modifier = {
category_biology_research_speed_mult = 0.05
pop_growth_speed = 0.025
planet_pop_assembly_organic_mult = 0.025
}
finish_modifier = agenda_genetic_pursuit_finish
}
agenda_engineered_evolution_machine = {
agenda_cost = @ascension_agenda_cost
agenda_cooldown = @ascension_agenda_cooldown
allow = {
has_ascension_perk = ap_engineered_evolution
}
potential = {
has_utopia = yes
is_machine_empire = yes
OR = {
has_civic = civic_machine_assimilator
has_civic = civic_machine_servitor
AND = {
is_materus_bm_installed = yes
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
NAND = {
has_technology = tech_genome_mapping
has_technology = tech_gene_tailoring
has_technology = tech_glandular_acclimation
has_technology = tech_gene_expressions
}
}
effect = {
inverted_switch = {
trigger = has_technology
tech_genome_mapping = {
add_tech_progress = {
tech = tech_genome_mapping
progress = @agenda_award_tech_progress
}
}
tech_gene_tailoring = {
add_tech_progress = {
tech = tech_gene_tailoring
progress = @agenda_award_tech_progress
}
}
tech_glandular_acclimation = {
add_tech_progress = {
tech = tech_glandular_acclimation
progress = @agenda_award_tech_progress
}
}
tech_gene_expressions = {
add_tech_progress = {
tech = tech_gene_expressions
progress = @agenda_award_tech_progress
}
}
default = {
add_monthly_resource_mult = {
resource = society_research
value = @tier3researchreward
min = @tier3researchmin
max = @tier3researchmax
}
}
}
}
}
agenda_engineered_evolution = {
agenda_cost = @ascension_agenda_cost
agenda_cooldown = @ascension_agenda_cooldown
allow = {
has_ascension_perk = ap_engineered_evolution
}
potential = {
has_utopia = yes
is_machine_empire = no
NOR = {
has_synthetic_ascension = yes
is_natural_design_empire = yes
is_individual_machine = yes
}
NAND = {
has_technology = tech_genome_mapping
has_technology = tech_gene_tailoring
has_technology = tech_glandular_acclimation
has_technology = tech_gene_expressions
has_technology = tech_gene_seed_purification
}
}
effect = {
inverted_switch = {
trigger = has_technology
tech_genome_mapping = {
add_tech_progress = {
tech = tech_genome_mapping
progress = @agenda_award_tech_progress
}
}
tech_gene_tailoring = {
add_tech_progress = {
tech = tech_gene_tailoring
progress = @agenda_award_tech_progress
}
}
tech_glandular_acclimation = {
add_tech_progress = {
tech = tech_glandular_acclimation
progress = @agenda_award_tech_progress
}
}
tech_gene_expressions = {
add_tech_progress = {
tech = tech_gene_expressions
progress = @agenda_award_tech_progress
}
}
tech_gene_seed_purification = {
add_tech_progress = {
tech = tech_gene_seed_purification
progress = @agenda_award_tech_progress
}
}
default = {
add_monthly_resource_mult = {
resource = society_research
value = @tier3researchreward
min = @tier3researchmin
max = @tier3researchmax
}
}
}
}
}
agenda_mind_over_matter = {
agenda_cost = value:agenda_mind_over_matter_cost
agenda_cooldown = @ascension_agenda_cooldown
allow = {
OR = {
has_ascension_perk = ap_mind_over_matter
has_origin = origin_shroudwalker_apprentice
}
}
potential = {
has_utopia = yes
is_gestalt = no
NOR = {
has_cybernetic_ascension = yes
has_synthetic_ascension = yes
is_natural_design_empire = yes
is_individual_machine = yes
}
NAND = {
has_technology = tech_psionic_theory
has_technology = tech_telepathy
has_technology = tech_thought_enforcement
}
}
effect = {
inverted_switch = {
trigger = has_technology
tech_psionic_theory = {
add_tech_progress = {
tech = tech_psionic_theory
progress = @agenda_award_tech_progress
}
}
tech_telepathy = {
add_tech_progress = {
tech = tech_telepathy
progress = @agenda_award_tech_progress
}
}
tech_thought_enforcement = {
add_tech_progress = {
tech = tech_thought_enforcement
progress = @agenda_award_tech_progress
}
}
default = {
add_monthly_resource_mult = {
resource = society_research
value = @tier3researchreward
min = @tier3researchmin
max = @tier3researchmax
}
}
}
}
}

View File

@ -0,0 +1 @@
is_materus_bm_installed = { always = no }

View File

@ -0,0 +1,13 @@
is_materus_sap_installed = { always = yes }
can_add_overtuned_traits = {
hidden_trigger = { exists = from }
from = {
OR = {
has_origin = origin_overtuned
has_tradition = tr_genetics_finish
}
}
}

View File

@ -0,0 +1,30 @@
tradition_cybernetics = {
tree_template = "tree_12_11_11"
adoption_bonus = "tr_cybernetics_adopt"
finish_bonus = "tr_cybernetics_finish"
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
is_machine_empire = no
NOR = {
has_psionic_ascension = yes
has_synthetic_ascension = yes
is_natural_design_empire = yes
is_individual_machine = yes
}
}
traditions = {
"tr_cybernetics_transubstantiation_synthesis"
"tr_cybernetics_metabolic_reprocessing"
"tr_cybernetics_integrated_anatomy"
"tr_cybernetics_augmentation_overload"
"tr_cybernetics_modular_cybernetics"
}
ai_weight = {
factor = 1000
}
}

View File

@ -0,0 +1,30 @@
tradition_cybernetics_assimilator = {
tree_template = "tree_12_11_11"
adoption_bonus = "tr_cybernetics_assimilator_adopt"
finish_bonus = "tr_cybernetics_assimilator_finish"
potential = {
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
OR = {
has_civic = civic_machine_assimilator
AND = {
is_materus_bm_installed = yes
has_ascension_perk = ap_mechromancy
}
}
}
traditions = {
"tr_cybernetics_assimilator_inevitable_assimilation"
"tr_cybernetics_assimilator_metabolic_reprocessing"
"tr_cybernetics_assimilator_integrated_anatomy"
"tr_cybernetics_assimilator_gestation"
"tr_cybernetics_assimilator_modular_cybernetics"
}
ai_weight = {
factor = 1000
}
}

View File

@ -0,0 +1,34 @@
tradition_genetics = {
tree_template = "tree_111_11"
adoption_bonus = "tr_genetics_adopt"
finish_bonus = "tr_genetics_finish"
potential = {
has_utopia = yes
OR = {
is_machine_empire = no
has_civic = civic_machine_servitor
has_civic = civic_machine_assimilator
AND = {
is_materus_bm_installed = yes
has_ascension_perk = ap_organo_machine_interfacing_assimilator
}
}
NOR = {
is_natural_design_empire = yes
is_individual_machine = yes
}
}
traditions = {
"tr_genetics_resequencing"
"tr_genetics_creation"
"tr_genetics_enhanced_expression"
"tr_genetics_retrovirus"
"tr_genetics_efficient_cloning"
}
ai_weight = {
factor = 1000
}
}

View File

@ -0,0 +1,30 @@
tradition_modularity = {
tree_template = "tree_12_11_11"
adoption_bonus = "tr_modularity_adopt"
finish_bonus = "tr_modularity_finish"
potential = {
has_machine_age_dlc = yes
OR = {
is_machine_empire = yes
is_individual_machine = yes
has_country_flag = synthetics_traditions_unlocked
}
NOR = {
has_tradition = tr_nanotech_adopt
has_tradition = tr_virtuality_adopt
}
}
traditions = {
"tr_modularity_1"
"tr_modularity_2"
"tr_modularity_3"
"tr_modularity_4"
"tr_modularity_5"
}
ai_weight = {
factor = 1000
}
}

View File

@ -0,0 +1,30 @@
tradition_nanotech = {
tree_template = "tree_11_11_21"
adoption_bonus = "tr_nanotech_adopt"
finish_bonus = "tr_nanotech_finish"
potential = {
has_machine_age_dlc = yes
OR = {
is_machine_empire = yes
is_individual_machine = yes
has_country_flag = synthetics_traditions_unlocked
}
NOR = {
has_tradition = tr_virtuality_adopt
has_tradition = tr_modularity_adopt
}
}
traditions = {
"tr_nanotech_1"
"tr_nanotech_2"
"tr_nanotech_3"
"tr_nanotech_4"
"tr_nanotech_5"
}
ai_weight = {
factor = 1000
}
}

View File

@ -0,0 +1,28 @@
tradition_psionics = {
tree_template = "tree_21_12"
adoption_bonus = "tr_psionics_adopt"
finish_bonus = "tr_psionics_finish"
potential = {
has_utopia = yes
is_gestalt = no
NOR = {
has_cybernetic_ascension = yes
has_synthetic_ascension = yes
is_natural_design_empire = yes
is_individual_machine = yes
}
}
traditions = {
"tr_psionics_psi_corps"
"tr_psionics_mind_readers"
"tr_psionics_psionic_assimilation"
"tr_psionics_breach_shroud"
"tr_psionics_shrouded_encryption"
}
ai_weight = {
factor = 1000
}
}

View File

@ -0,0 +1,39 @@
tradition_synthetics = {
tree_template = "tree_11_12"
adoption_bonus = "tr_synthetics_adopt"
finish_bonus = "tr_synthetics_finish"
potential = {
OR = {
AND = {
is_regular_empire = yes
is_individual_machine = no
OR = {
has_utopia = yes
has_machine_age_dlc = yes
}
}
AND = {
is_machine_empire = yes
has_synthetic_dawn = yes
has_machine_age_dlc = no
}
}
NOR = {
has_cybernetic_ascension = yes
has_psionic_ascension = yes
is_natural_design_empire = yes
}
}
traditions = {
"tr_synthetics_maintenance_protocols"
"tr_synthetics_optimization_algorithms"
"tr_synthetics_transubstatiation_synthesis"
"tr_synthetics_power_systems"
"tr_synthetics_prefabricated_components"
}
ai_weight = {
factor = 1000
}
}

View File

@ -0,0 +1,30 @@
tradition_virtuality = {
tree_template = "tree_21_12"
adoption_bonus = "tr_virtuality_adopt"
finish_bonus = "tr_virtuality_finish"
potential = {
has_machine_age_dlc = yes
OR = {
is_machine_empire = yes
is_individual_machine = yes
has_country_flag = synthetics_traditions_unlocked
}
NOR = {
has_tradition = tr_nanotech_adopt
has_tradition = tr_modularity_adopt
}
}
traditions = {
"tr_virtuality_1"
"tr_virtuality_2"
"tr_virtuality_3"
"tr_virtuality_4"
"tr_virtuality_5"
}
ai_weight = {
factor = 1000
}
}

View File

@ -0,0 +1,8 @@
version="1.1"
tags={
"Gameplay"
"Balance"
}
name="Sensible multiple ascension paths"
supported_version="3.12.4"
remote_file_id="3254863813"

View File

@ -0,0 +1,3 @@
l_english:
tr_genetics_finish_extra_traits_modifier_desc: "Unlocks usage of §Yovertuned§! traits.\nAllows research of rare §YTransgenesis§! technologies.\n$mod_planet_buildings_clone_vats_upkeep_mult$: §G-33%§!\n$TRADITIONS_FINISH_AP$"

View File

@ -0,0 +1,3 @@
l_polish:
tr_genetics_finish_extra_traits_modifier_desc: "Daje dostęp do §Yprzeładowanych cech§!.\nPozwala prowadzić badania naukowe nad rzadkimi technologiami §Ytransgenezy§!.\n$mod_planet_buildings_clone_vats_upkeep_mult$: §G-33%§!\n$TRADITIONS_FINISH_AP$"

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB