188 lines
5.4 KiB
Plaintext
188 lines
5.4 KiB
Plaintext
# =============================================================================
|
|
# Giga + Age of Wonder Compatibility Patch — Dyson Swarm [TIER 2 / divergent]
|
|
# "TWO BUILD BUTTONS, Giga primary" — same architecture as zzzz_compat_dyson_sphere.txt.
|
|
#
|
|
# AOW's vanilla-override `dyson_swarm_1` is a fresh build that redirects by star
|
|
# spectral class to AOW_MEGA_dyson_swarm_1_<class> in on_build_complete. Giga
|
|
# keeps the vanilla dyson_swarm_1/2/3 (wins by load order); AOW's entry is
|
|
# re-homed here to a new directly-buildable `AOW_MEGA_dyson_swarm_entry` (faithful
|
|
# copy of AOW's dyson_swarm_1, new ID — all AOW refs it makes remain valid).
|
|
# AOW's `AOW_MEGA_dyson_swarm_*` variants keep their unique IDs and coexist.
|
|
# Mutual exclusion via AOW_trgr_PLNT_existing_megastructure = no.
|
|
# =============================================================================
|
|
|
|
AOW_MEGA_dyson_swarm_entry = {
|
|
entity = "dyson_swarm_phase_1_entity"
|
|
construction_entity = "dyson_swarm_phase_1_entity"
|
|
portrait = "GFX_megastructure_dyson_swarm_background"
|
|
entity_offset = { x = -0.1 y = -0.1 }
|
|
rotate_to_center = no
|
|
scale_offset = yes
|
|
place_entity_on_planet_plane = yes
|
|
use_planet_resource = yes
|
|
build_time = 1080 # 3 years
|
|
custom_tooltip_requirements = "MEGASTRUCTURE_TOOLTIP_REQUIREMENTS_DYSON_SPHERE"
|
|
resources = {
|
|
category = megastructures
|
|
cost = {
|
|
unity = 1000
|
|
}
|
|
cost = {
|
|
alloys = 500
|
|
}
|
|
upkeep = {
|
|
alloys = 5
|
|
}
|
|
}
|
|
construction_blocks_and_blocked_by = none
|
|
inline_script = {
|
|
script = megastructures/dismantle_megastructure_with_effects
|
|
time = 360
|
|
tech = tech_dyson_swarm
|
|
category = megastructures
|
|
key = dyson_swarm
|
|
alloys = 500
|
|
minerals = 0 vm = 0 eg = 0 rc = 0 lm = 0 zo = 0 dm = 0
|
|
}
|
|
prerequisites = { "tech_dyson_swarm" }
|
|
potential = { always = no } # COMPAT: AOW Dyson Swarm build disabled — use the Giga Dyson Swarm instead.
|
|
possible = {
|
|
hidden_trigger = { exists = starbase }
|
|
custom_tooltip = {#on_build_start
|
|
fail_text = "AOW_mega_requires_CNTR_no_more_megastructure"
|
|
from = { NOT = { has_country_flag = AOW_flag_CNTR_no_more_dyson_swarm } }
|
|
}
|
|
custom_tooltip = {
|
|
fail_text = "requires_inside_border"
|
|
is_inside_border = from
|
|
}
|
|
}
|
|
placement_rules = {
|
|
planet_possible = {
|
|
custom_tooltip = {
|
|
fail_text = "AOW_mega_requires_PLNT_obafgkm_star_rift_star"
|
|
OR = {
|
|
AOW_trgr_PLNT_obafgkm_star = yes
|
|
is_planet_class = pc_rift_star
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
fail_text = "requires_no_anomaly"
|
|
NOT = { has_anomaly = yes }
|
|
}
|
|
custom_tooltip = {#放置处不能有巨构
|
|
fail_text = "requires_no_existing_megastructure"
|
|
AOW_trgr_PLNT_existing_megastructure = no
|
|
}
|
|
if = {
|
|
limit = {
|
|
from = { is_ai = yes }
|
|
}
|
|
NOR = {
|
|
has_deposit = d_energy_1
|
|
has_deposit = d_energy_2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
country_modifier = {
|
|
custom_tooltip = dyson_swarm_1_mod_tooltip
|
|
}
|
|
# root = system
|
|
# from = country
|
|
ai_weight = {
|
|
factor = 5
|
|
modifier = {
|
|
factor = 0.1
|
|
starbase = { NOT = { has_starbase_size >= starbase_starfortress } }
|
|
}
|
|
modifier = {
|
|
factor = 0.1
|
|
any_neighbor_system = {
|
|
exists = owner
|
|
NOT = {
|
|
owner = { is_same_value = from }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
on_build_start = {
|
|
AOW_effect_check_mega_cap = {
|
|
key = dyson_swarm
|
|
constructing = dyson_swarm_1
|
|
}
|
|
}
|
|
on_build_cancel = {}
|
|
on_build_complete = {
|
|
from = {
|
|
change_variable = { which = dyson_swarm_counter value = 1 }
|
|
}
|
|
fromfrom.planet = {
|
|
AOW_eft_PLNT_dismantle_orbital_station = yes
|
|
remove_modifier = dyson_swarm_1_mod
|
|
remove_modifier = dyson_swarm_2_mod
|
|
remove_modifier = dyson_swarm_3_mod
|
|
add_modifier = {
|
|
modifier = dyson_swarm_1_mod
|
|
days = -1
|
|
}
|
|
}
|
|
fromfrom = {
|
|
planet = { AOW_eft_PLNT_dismantle_orbital_station = yes }
|
|
set_megastructure_flag = dyson_swarm
|
|
set_megastructure_flag = AOW_flag_MEGA_dyson_swarm_@owner
|
|
if = {
|
|
limit = { planet = { AOW_trgr_PLNT_hyper_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_hyper
|
|
finish_upgrade = yes
|
|
}
|
|
else_if = {
|
|
limit = { planet = { AOW_trgr_PLNT_super_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_super
|
|
finish_upgrade = yes
|
|
}
|
|
else_if = {
|
|
limit = { planet = { AOW_trgr_PLNT_o_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_o
|
|
finish_upgrade = yes
|
|
}
|
|
else_if = {
|
|
limit = { planet = { AOW_trgr_PLNT_b_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_b
|
|
finish_upgrade = yes
|
|
}
|
|
else_if = {
|
|
limit = { planet = { AOW_trgr_PLNT_giant_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_giant
|
|
finish_upgrade = yes
|
|
}
|
|
else_if = {
|
|
limit = { planet = { AOW_trgr_PLNT_a_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_a
|
|
finish_upgrade = yes
|
|
}
|
|
else_if = {
|
|
limit = { planet = { AOW_trgr_PLNT_f_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_f
|
|
finish_upgrade = yes
|
|
}
|
|
else_if = {
|
|
limit = { planet = { AOW_trgr_PLNT_g_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_g
|
|
finish_upgrade = yes
|
|
}
|
|
else_if = {
|
|
limit = { planet = { AOW_trgr_PLNT_k_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_k
|
|
finish_upgrade = yes
|
|
}
|
|
else_if = {
|
|
limit = { planet = { AOW_trgr_PLNT_m_star = yes } }
|
|
upgrade_megastructure_to = AOW_MEGA_dyson_swarm_1_m
|
|
finish_upgrade = yes
|
|
}
|
|
else = {}
|
|
}
|
|
}
|
|
}
|