############################################### # Pirate Events # Written by Henrik Thyrwall (& Gemma Thomson) ############################################### namespace = pirate # Birth of Space Piracy country_event = { id = pirate.1 title = "pirate.1.name" picture = GFX_evt_pirate_armada show_sound = event_space_battle location = event_target:pirate_system desc = { trigger = { if = { limit = { has_origin = origin_storm_chasers } text = pirate.1.desc.storm } else_if = { # Spiritual limit = { has_spiritualist_government = yes } text = pirate.1.desc_01 } else_if = { # Militarist limit = { OR = { has_militarist_government = yes has_government = gov_bandit_commune } } text = pirate.1.desc_02 } else_if = { # Materialist limit = { has_materialist_government = yes } text = pirate.1.desc_03 } else_if = { # Pacifist limit = { has_pacifist_government = yes } text = pirate.1.desc_04 } else_if = { # Generic Autocracy limit = { OR = { has_government = gov_despotic_empire has_government = gov_feudal_empire has_government = gov_constitutional_dictatorship has_government = gov_enlightened_monarchy has_government = gov_elective_monarchy has_government = gov_bandit_kingdom } } text = pirate.1.desc_05 } else_if = { # Generic Oligarchy limit = { OR = { has_government = gov_megacorporation has_government = gov_plutocratic_oligarchy } } text = pirate.1.desc_06 } else_if = { # Generic Democracy limit = { OR = { has_government = gov_representative_democracy has_government = gov_communal_parity } } text = pirate.1.desc_07 } else = { # default description text = pirate.1.desc_01 } # Treasure Hunters additional lore if = { limit = { has_origin = origin_treasure_hunters has_country_flag = met_captain_hoo } text = newline text = pirate.1.desc.black_needle } } } trigger = { is_country_type = default years_passed > 10 NOR = { has_country_flag = birth_of_piracy has_ethic = ethic_gestalt_consciousness } exists = capital_scope has_monthly_income = { resource = trade value > 300 } any_system_within_border = { is_on_border = yes any_neighbor_system = { has_owner = no NOT = { has_star_flag = guardian } } } } is_triggered_only = yes immediate = { set_timed_country_flag = { flag = pirates_spawned days = 3600 } set_country_flag = birth_of_piracy set_country_flag = pirate_encountered capital_scope = { save_event_target_as = capital solar_system = { save_event_target_as = capital_system } } save_event_target_as = pirate_target owner_species = { save_event_target_as = owner_species } random_system_within_border = { limit = { is_on_border = yes } random_neighbor_system = { limit = { has_owner = no NOT = { has_star_flag = guardian } } save_event_target_as = pirate_system create_normal_pirate_country = yes create_pirate_fleet = yes } } } option = { name = pirate.2.a trigger = { has_spiritualist_government = yes NOR = { has_origin = origin_storm_chasers AND = { has_origin = origin_treasure_hunters has_valid_civic = civic_crusader_spirit_corporate } } } } option = { name = pirate.2.b trigger = { OR = { has_militarist_government = yes has_government = gov_bandit_commune has_government = gov_successor_khanate has_government = gov_diadochi } NOR = { has_origin = origin_storm_chasers AND = { has_origin = origin_treasure_hunters has_valid_civic = civic_crusader_spirit_corporate } } } } option = { name = pirate.2.c trigger = { has_materialist_government = yes NOR = { has_origin = origin_storm_chasers AND = { has_origin = origin_treasure_hunters has_valid_civic = civic_crusader_spirit_corporate } } } } option = { name = pirate.2.d trigger = { has_pacifist_government = yes NOR = { has_origin = origin_storm_chasers AND = { has_origin = origin_treasure_hunters has_valid_civic = civic_crusader_spirit_corporate } } } } option = { name = pirate.2.e trigger = { OR = { has_government = gov_despotic_empire has_government = gov_feudal_empire has_government = gov_constitutional_dictatorship has_government = gov_enlightened_monarchy has_government = gov_elective_monarchy has_government = gov_bandit_kingdom has_purifier_government = yes } NOR = { has_origin = origin_storm_chasers AND = { has_origin = origin_treasure_hunters has_valid_civic = civic_crusader_spirit_corporate } } } } option = { name = pirate.2.f trigger = { OR = { has_government = gov_megacorporation has_government = gov_plutocratic_oligarchy has_government = gov_trade_league has_government = gov_worker_coop } NOR = { has_origin = origin_storm_chasers AND = { has_origin = origin_treasure_hunters has_valid_civic = civic_crusader_spirit_corporate } } } } option = { name = pirate.2.g trigger = { OR = { has_government = gov_representative_democracy has_government = gov_communal_parity } NOR = { has_origin = origin_storm_chasers AND = { has_origin = origin_treasure_hunters has_valid_civic = civic_crusader_spirit_corporate } } } } option = { name = pirate.2.h trigger = { OR = { has_government = gov_criminal_syndicate has_government = gov_pirate_haven has_government = gov_subversive_cult } NOR = { has_origin = origin_storm_chasers AND = { has_origin = origin_treasure_hunters has_valid_civic = civic_crusader_spirit_corporate } } } } option = { name = pirate.2.i #none of the above trigger = { NOR = { has_spiritualist_government = yes has_militarist_government = yes has_government = gov_bandit_commune has_materialist_government = yes has_pacifist_government = yes has_government = gov_despotic_empire has_government = gov_feudal_empire has_government = gov_constitutional_dictatorship has_government = gov_enlightened_monarchy has_government = gov_elective_monarchy has_government = gov_bandit_kingdom has_purifier_government = yes has_government = gov_megacorporation has_government = gov_worker_coop has_government = gov_plutocratic_oligarchy has_government = gov_trade_league has_government = gov_representative_democracy has_government = gov_communal_parity has_government = gov_criminal_syndicate has_government = gov_pirate_haven has_government = gov_subversive_cult has_government = gov_successor_khanate has_government = gov_diadochi has_origin = origin_storm_chasers AND = { has_origin = origin_treasure_hunters has_valid_civic = civic_crusader_spirit_corporate } } } log_error = "[Root.GetGovernmentName] is missing an option in pirate.1, using fallback option instead" } option = { name = pirate.2.j.storm trigger = { has_origin = origin_storm_chasers } } option = { name = pirate.2.k trigger = { hidden_trigger = { has_origin = origin_treasure_hunters } has_valid_civic = civic_crusader_spirit_corporate } } } # Spread of Space Piracy (Treasure Hunters/Hive Mind version) country_event = { id = pirate.2 base = pirate.1 title = pirate.1.name.treasure_hunters } ## New Ships (HIDDEN) #country_event = { # id = pirate.2 # hide_window = yes # # trigger = { # is_country_type = pirate # OR = { # num_fleets < 2 # num_ships < 3 # } # any_controlled_ship = { # is_ship_size = pirate_station # } # any_country = { # is_country_type = default # has_country_flag = spawner_of@root # exists = capital_scope # any_controlled_planet = { # OR = { # has_mining_station = yes # has_research_station = yes # } # solar_system = { # NOT = { is_same_value = prev.prev.capital_scope.solar_system } # } # } # } # } # # mean_time_to_happen = { # months = 100 # } # # immediate = { # random_country = { # limit = { # is_country_type = default # has_country_flag = spawner_of@root # } # save_event_target_as = pirate_target # capital_scope = { # solar_system = { save_event_target_as = capital_system } # } # } # save_event_target_as = pirate_band # random_controlled_ship = { # limit = { is_ship_size = pirate_station } # fleet = { # orbit = { save_event_target_as = pirate_home } # save actual planet as home # } # } # create_pirate_fleet = yes # } #} #Starting the pirate chain ship_event = { id = pirate.3 hide_window = yes is_triggered_only = yes trigger = { exists = owner owner = { is_country_type = default } from = { solar_system = { NOT = { any_system_planet = { is_homeworld = yes } } } } NOT = { owner = { has_country_flag = outer_system_mining_stations_constructed has_country_flag = birth_of_piracy } } } immediate = { owner = { if = { limit = { NOT = { check_variable = { which = outer_system_mining_stations value > 0 } } } set_variable = { which = "outer_system_mining_stations" value = 1 } } else = { change_variable = { which = "outer_system_mining_stations" value = 1 } } if = { limit = { check_variable = { which = outer_system_mining_stations value > 4 } } set_country_flag = outer_system_mining_stations_constructed } } } } event = { id = pirate.4 hide_window = yes is_triggered_only = yes immediate = { every_playable_country = { limit = { NOT = { has_country_flag = birth_of_piracy } has_monthly_income = { resource = trade value > 100 } } country_event = { id = pirate.5 } } } } #yearly pulse event country_event = { id = pirate.5 hide_window = yes is_triggered_only = yes immediate = { if = { limit = { NOT = { has_ethic = ethic_gestalt_consciousness } } if = { limit = { has_origin = origin_treasure_hunters has_country_flag = met_captain_hoo } country_event = { id = pirate.2 days = 1 random = 30 } } else = { country_event = { id = pirate.1 days = 1 random = 30 } } break = yes } if = { limit = { is_hive_empire = yes is_wilderness_empire = no } if = { limit = { has_origin = origin_treasure_hunters has_country_flag = met_captain_hoo } country_event = { id = pirate.8 days = 1 random = 30 } } else = { country_event = { id = pirate.6 days = 1 random = 30 } } break = yes } if = { limit = { is_machine_empire = yes } if = { limit = { has_origin = origin_treasure_hunters has_country_flag = met_captain_hoo } country_event = { id = pirate.9 days = 1 random = 30 } } else = { country_event = { id = pirate.7 days = 1 random = 30 } } } } } # Birth of Space Piracy (Hive Mind version) country_event = { id = pirate.6 title = "pirate.1.name" picture = GFX_evt_pirate_armada show_sound = event_space_battle location = event_target:pirate_system desc = { text = pirate.6.desc trigger = { NOT = { has_origin = origin_storm_chasers } } } desc = { text = pirate.1.desc.storm trigger = { has_origin = origin_storm_chasers } } trigger = { is_country_type = default NOT = { has_country_flag = birth_of_piracy } exists = capital_scope has_monthly_income = { resource = trade value > 300 } any_system_within_border = { is_on_border = yes any_neighbor_system = { has_owner = no NOT = { has_star_flag = guardian } } } } is_triggered_only = yes immediate = { set_timed_country_flag = { flag = pirates_spawned days = 3600 } set_country_flag = birth_of_piracy set_country_flag = pirate_encountered capital_scope = { save_event_target_as = capital solar_system = { save_event_target_as = capital_system } } save_event_target_as = pirate_target owner_species = { save_event_target_as = owner_species } random_system_within_border = { limit = { is_on_border = yes } random_neighbor_system = { limit = { has_owner = no NOT = { has_star_flag = guardian } } save_event_target_as = pirate_system create_normal_pirate_country = yes create_pirate_fleet = yes } } } option = { name = pirate.50.a trigger = { NOT = { has_origin = origin_storm_chasers } } } option = { name = pirate.2.j.storm trigger = { has_origin = origin_storm_chasers } } } # Birth of Space Piracy (Machine version) country_event = { id = pirate.7 title = "pirate.1.name" picture = GFX_evt_machine_space_battle show_sound = event_space_battle location = event_target:pirate_system desc = { text = pirate.7.desc trigger = { NOT = { has_origin = origin_storm_chasers } } } desc = { text = pirate.1.desc.storm trigger = { has_origin = origin_storm_chasers } } trigger = { is_country_type = default NOR = { has_country_flag = birth_of_piracy has_country_flag = finish_shroud_forged_control_flag } exists = capital_scope has_monthly_income = { resource = trade value > 100 } } is_triggered_only = yes immediate = { set_timed_country_flag = { flag = pirates_spawned days = 3600 } set_country_flag = birth_of_piracy set_country_flag = pirate_encountered capital_scope = { save_event_target_as = capital solar_system = { save_event_target_as = capital_system } } save_event_target_as = pirate_target owner_species = { save_event_target_as = owner_species } random_system_within_border = { limit = { is_on_border = yes } random_neighbor_system = { limit = { has_owner = no } save_event_target_as = pirate_system create_normal_pirate_country = yes create_pirate_fleet = yes } } } option = { name = pirate.50.a trigger = { NOT = { has_origin = origin_storm_chasers } } } option = { name = pirate.2.j.storm trigger = { has_origin = origin_storm_chasers } } } # Spread of Space Piracy (Treasure Hunters/Hive Mind version) country_event = { id = pirate.8 base = pirate.6 title = pirate.1.name.treasure_hunters } # Spread of Space Piracy (Treasure Hunters/Machine version) country_event = { id = pirate.9 base = pirate.7 title = pirate.1.name.treasure_hunters } # discovered pirate home system fleet_event = { id = pirate.10 title = pirate.10.name picture = GFX_evt_pirate_armada desc = pirate.10.desc.nobirth show_sound = event_air_raid_siren location = from is_triggered_only = yes trigger = { exists = owner from = { has_star_flag = pirate_home_system any_fleet_in_system = { has_fleet_flag = pirate_home_system_fleet } } NOT = { owner = { has_country_flag = privateers_found } } } immediate = { owner = { set_country_flag = privateers_found } } option = { name = pirate.10.a.nobirth trigger = { NOR = { owner = { has_country_flag = birth_of_piracy } any_country = { is_country_type = pirate has_communications = root.owner } } } } option = { name = pirate.10.a.birth trigger = { OR = { owner = { has_country_flag = birth_of_piracy } any_country = { is_country_type = pirate has_communications = root.owner } } } } } # perp port # on_fleet_destroyed_perp # This = owner of fleet 1 (combatant) # From = owner of fleet 2 (destroyed) # FromFrom = fleet 1 # FromFromFrom = fleet 2 country_event = { id = pirate.13 hide_window = yes is_triggered_only = yes trigger = { NOT = { has_global_flag = privateers_destroyed } is_country_type = default from = { is_country_type = pirate has_communications = root } fromfromfrom = { has_fleet_flag = pirate_home_system_fleet } fromfrom.solar_system = { has_star_flag = pirate_home_system NOT = { any_fleet_in_system = { has_fleet_flag = pirate_home_system_fleet NOT = { is_same_value = fromfromfrom } } } } } immediate = { fromfrom = { save_event_target_as = killer_fleet } country_event = { id = pirate.15 } } } # destroyed pirate home system country_event = { id = pirate.15 title = pirate.15.name picture = GFX_evt_exploding_ship desc = { trigger = { NOT = { has_event_chain = "l_cluster_chain" } } text = pirate.15.desc } desc = { trigger = { has_event_chain = "l_cluster_chain" } text = pirate.15.desc2 } show_sound = event_space_battle is_triggered_only = yes immediate = { set_global_flag = privateers_destroyed } option = { name = EXCELLENT add_resource = { minerals = 2500 energy = 1500 alloys = 750 } generate_lcluster_clue = yes } } # raid from home system fleet_event = { id = pirate.20 hide_window = yes trigger = { NOT = { has_global_flag = privateers_destroyed } exists = event_target:young_blood is_same_value = event_target:young_blood exists = solar_system solar_system = { has_star_flag = pirate_home_system } } mean_time_to_happen = { months = 600 } immediate = { random_country = { limit = { is_country_type = default fleet_power > 1800 # at least slightly more than the raiding party } capital_scope = { save_event_target_as = target_capital } } if = { limit = { NOT = { exists = event_target:target_capital } } break = yes } queue_actions = { repeat = { find_closest_system = { trigger = { id = pirate.20.a any_system_planet = { is_same_value = event_target:target_capital } } found_system = { move_to = this find_closest_planet = { trigger = { id = pirate.20.b is_same_value = event_target:target_capital } found_planet = { move_to = this } } } } wait = { duration = 10 } find_closest_system = { trigger = { id = pirate.20.c has_star_flag = pirate_home_system } found_system = { move_to = this } } } } } } # Destroyed Pirate Station (HIDDEN) # on_fleet_destroyed_perp country_event = { id = pirate.24 hide_window = yes is_triggered_only = yes trigger = { from = { is_country_type = pirate has_communications = root } fromfromfrom = { is_ship_size = pirate_station NOT = { has_fleet_flag = pirate_home_system_fleet } } is_country_type = default } immediate = { fromfrom = { save_event_target_as = pirate_slayers } if = { limit = { has_event_chain = "l_cluster_chain" } random_list = { 85 = { country_event = { id = pirate.25 } } 15 = { country_event = { id = pirate.26 } } } } else = { country_event = { id = pirate.25 } } } } # Destroyed Pirate Station country_event = { id = pirate.25 title = pirate.25.name picture = GFX_evt_large_explosion desc = { trigger = { text = pirate.25.desc if = { limit = { has_origin = origin_treasure_hunters has_country_flag = has_defeated_black_needle } text = newline text = pirate.25.desc.black_needle } } } show_sound = event_space_battle is_triggered_only = yes immediate = { random_list = { 5 = { set_country_flag = massive_loot modifier = { factor = 1.5 years_passed > 80 } modifier = { factor = 1.5 years_passed > 100 } modifier = { factor = 1.5 years_passed > 120 } modifier = { factor = 1.5 years_passed > 140 } modifier = { factor = 1.5 years_passed > 160 } modifier = { factor = 1.5 years_passed > 180 } modifier = { factor = 1.5 years_passed > 200 } } 15 = { set_country_flag = big_loot modifier = { factor = 1.2 years_passed > 80 } modifier = { factor = 1.2 years_passed > 100 } modifier = { factor = 1.2 years_passed > 120 } modifier = { factor = 1.2 years_passed > 140 } modifier = { factor = 1.2 years_passed > 160 } modifier = { factor = 1.2 years_passed > 180 } modifier = { factor = 1.2 years_passed > 200 } } 35 = { set_country_flag = medium_loot } 50 = { set_country_flag = small_loot modifier = { factor = 0.8 years_passed > 80 } modifier = { factor = 0.8 years_passed > 100 } modifier = { factor = 0.8 years_passed > 120 } modifier = { factor = 0.8 years_passed > 140 } modifier = { factor = 0.8 years_passed > 160 } modifier = { factor = 0.8 years_passed > 180 } modifier = { factor = 0.8 years_passed > 200 } } } } option = { name = EXCELLENT trigger = { has_country_flag = massive_loot } if = { limit = { years_passed > 100 } add_resource = { minerals = 1200 energy = 600 } } else = { add_resource = { minerals = 600 energy = 300 } } hidden_effect = { remove_country_flag = massive_loot } } option = { name = EXCELLENT trigger = { has_country_flag = big_loot } if = { limit = { years_passed > 100 } add_resource = { minerals = 600 energy = 300 } } else = { add_resource = { minerals = 300 energy = 150 } } hidden_effect = { remove_country_flag = big_loot } } option = { name = EXCELLENT trigger = { has_country_flag = medium_loot } if = { limit = { years_passed > 100 } add_resource = { minerals = 360 energy = 200 } } else = { add_resource = { minerals = 180 energy = 100 } } hidden_effect = { remove_country_flag = medium_loot } } option = { name = EXCELLENT trigger = { has_country_flag = small_loot } if = { limit = { years_passed > 100 } add_resource = { minerals = 160 energy = 100 } } else = { add_resource = { minerals = 80 energy = 50 } } hidden_effect = { remove_country_flag = small_loot } } option = { name = EXCELLENT trigger = { NOR = { has_country_flag = massive_loot has_country_flag = big_loot has_country_flag = medium_loot has_country_flag = small_loot } } if = { limit = { years_passed > 100 } add_resource = { minerals = 400 energy = 400 } } else = { add_resource = { minerals = 200 energy = 200 } } } after = { if = { limit = { has_origin = origin_treasure_hunters has_country_flag = has_defeated_black_needle } add_monthly_resource_mult = { resource = energy value = @tier1materialreward min = @tier1materialmin max = @tier1materialmax } } } } # Destroyed Pirate Station, Gained L-Cluster Insight country_event = { id = pirate.26 title = pirate.25.name picture = GFX_evt_large_explosion desc = pirate.26.desc show_sound = event_space_battle is_triggered_only = yes immediate = { random_list = { 5 = { set_country_flag = massive_loot modifier = { factor = 1.5 years_passed > 80 } modifier = { factor = 1.5 years_passed > 100 } modifier = { factor = 1.5 years_passed > 120 } modifier = { factor = 1.5 years_passed > 140 } modifier = { factor = 1.5 years_passed > 160 } modifier = { factor = 1.5 years_passed > 180 } modifier = { factor = 1.5 years_passed > 200 } } 15 = { set_country_flag = big_loot modifier = { factor = 1.2 years_passed > 80 } modifier = { factor = 1.2 years_passed > 100 } modifier = { factor = 1.2 years_passed > 120 } modifier = { factor = 1.2 years_passed > 140 } modifier = { factor = 1.2 years_passed > 160 } modifier = { factor = 1.2 years_passed > 180 } modifier = { factor = 1.2 years_passed > 200 } } 35 = { set_country_flag = medium_loot } 50 = { set_country_flag = small_loot modifier = { factor = 0.8 years_passed > 80 } modifier = { factor = 0.8 years_passed > 100 } modifier = { factor = 0.8 years_passed > 120 } modifier = { factor = 0.8 years_passed > 140 } modifier = { factor = 0.8 years_passed > 160 } modifier = { factor = 0.8 years_passed > 180 } modifier = { factor = 0.8 years_passed > 200 } } } } option = { name = EXCELLENT trigger = { has_country_flag = massive_loot } if = { limit = { years_passed > 100 } add_resource = { minerals = 1200 energy = 600 } } else = { add_resource = { minerals = 600 energy = 300 } } generate_lcluster_clue = yes hidden_effect = { remove_country_flag = massive_loot } } option = { name = EXCELLENT trigger = { has_country_flag = big_loot } if = { limit = { years_passed > 100 } add_resource = { minerals = 600 energy = 300 } } else = { add_resource = { minerals = 300 energy = 150 } } generate_lcluster_clue = yes hidden_effect = { remove_country_flag = big_loot } } option = { name = EXCELLENT trigger = { has_country_flag = medium_loot } if = { limit = { years_passed > 100 } add_resource = { minerals = 360 energy = 200 } } else = { add_resource = { minerals = 180 energy = 100 } } generate_lcluster_clue = yes hidden_effect = { remove_country_flag = medium_loot } } option = { name = EXCELLENT trigger = { has_country_flag = small_loot } if = { limit = { years_passed > 100 } add_resource = { minerals = 160 energy = 100 } } else = { add_resource = { minerals = 80 energy = 50 } } generate_lcluster_clue = yes hidden_effect = { remove_country_flag = small_loot } } option = { name = EXCELLENT trigger = { NOR = { has_country_flag = massive_loot has_country_flag = big_loot has_country_flag = medium_loot has_country_flag = small_loot } } if = { limit = { years_passed > 100 } add_resource = { minerals = 400 energy = 400 } } else = { add_resource = { minerals = 200 energy = 200 } } generate_lcluster_clue = yes } } # Pirates Sighted On Action event = { id = pirate.48 hide_window = yes is_triggered_only = yes immediate = { every_playable_country = { limit = { has_country_flag = birth_of_piracy NOT = { has_country_flag = pirates_spawned } } random_system_within_border = { limit = { is_on_border = yes } random_neighbor_system = { limit = { has_owner = no NOT = { has_star_flag = guardian } } save_event_target_as = pirate_system } } country_event = { id = pirate.49 } } } } # Pirates Sighted (HIDDEN) country_event = { id = pirate.49 hide_window = yes is_triggered_only = yes trigger = { is_country_type = default has_country_flag = birth_of_piracy NOT = { has_country_flag = pirates_spawned } any_system_within_border = { any_system_planet = { planet_resource_compare = { resource = trade value > 1000 } } } exists = event_target:pirate_system } immediate = { random_list = { 200 = {} 10 = { set_timed_country_flag = { flag = pirates_spawned days = 3600 } if = { limit = { NOT = { has_ethic = ethic_gestalt_consciousness } } country_event = { id = pirate.50 } } if = { limit = { is_hive_empire = yes } country_event = { id = pirate.52 } } if = { limit = { is_machine_empire = yes } country_event = { id = pirate.55 } } } } } } # Pirates Sighted country_event = { id = pirate.50 title = "pirate.50.name" picture = GFX_evt_pirates_attacking_cargo desc = pirate.50.a.desc desc = pirate.50.b.desc desc = pirate.50.c.desc show_sound = event_ship_bridge location = event_target:pirate_system is_triggered_only = yes immediate = { capital_scope = { solar_system = { save_event_target_as = capital_system } } owner_species = { save_event_target_as = owner_species } save_event_target_as = pirate_target event_target:pirate_system = { create_normal_pirate_country = yes create_pirate_fleet = yes } } option = { name = pirate.50.a } } # Pirates Hive Mind (HIDDEN) country_event = { id = pirate.52 hide_window = yes is_triggered_only = yes immediate = { if = { limit = { any_relation = { is_country_type = default has_communications = root NOT = { has_ethic = ethic_gestalt_consciousness } } } random_list = { 50 = { country_event = { id = pirate.53 } } 50 = { country_event = { id = pirate.54 } } } } else = { country_event = { id = pirate.53 } } } } # Pirates Sighted (Drones) country_event = { id = pirate.53 title = "pirate.53.name" picture = GFX_evt_pirates_attacking_cargo desc = pirate.53.desc show_sound = event_ship_bridge location = event_target:pirate_system is_triggered_only = yes immediate = { capital_scope = { solar_system = { save_event_target_as = capital_system } } owner_species = { save_event_target_as = owner_species } create_drone_pirate_country = yes create_pirate_fleet = yes } option = { name = pirate.50.a } } # Pirates Sighted (Non-Drones) country_event = { id = pirate.54 title = "pirate.54.name" picture = GFX_evt_pirates_attacking_cargo desc = pirate.54.desc show_sound = event_ship_bridge location = event_target:pirate_system is_triggered_only = yes immediate = { capital_scope = { solar_system = { save_event_target_as = capital_system } } owner_species = { save_event_target_as = owner_species } random_relation = { limit = { is_country_type = default NOT = { has_ethic = ethic_gestalt_consciousness } has_communications = root } owner_species = { save_event_target_as = pirate_species } } create_drone_pirate_country_2 = yes create_pirate_fleet = yes } option = { name = pirate.50.a } } # Pirates Machine Intelligence (HIDDEN) country_event = { id = pirate.55 hide_window = yes is_triggered_only = yes immediate = { if = { limit = { any_relation = { is_country_type = default has_communications = root NOT = { has_ethic = ethic_gestalt_consciousness } } } random_list = { 50 = { country_event = { id = pirate.56 } } 50 = { country_event = { id = pirate.57 } } } } else = { country_event = { id = pirate.56 } } } } # Pirates Sighted (Machines) country_event = { id = pirate.56 title = "pirate.56.name" picture = GFX_evt_pirates_attacking_cargo desc = pirate.56.desc show_sound = event_ship_bridge location = event_target:pirate_system is_triggered_only = yes immediate = { capital_scope = { solar_system = { save_event_target_as = capital_system } } owner_species = { save_event_target_as = owner_species } create_machine_pirate_country = yes create_pirate_fleet = yes } option = { name = pirate.50.a } } # Pirates Sighted (Non-Machines) country_event = { id = pirate.57 title = "pirate.57.name" picture = GFX_evt_pirates_attacking_cargo desc = pirate.57.desc show_sound = event_ship_bridge location = event_target:pirate_system is_triggered_only = yes immediate = { capital_scope = { solar_system = { save_event_target_as = capital_system } } owner_species = { save_event_target_as = owner_species } random_relation = { limit = { is_country_type = default NOT = { has_ethic = ethic_gestalt_consciousness } has_communications = root } owner_species = { save_event_target_as = pirate_species } } create_machine_pirate_country_2 = yes create_pirate_fleet = yes } option = { name = pirate.50.a } } ## Pirate Test Event #country_event = { # id = pirate.100 # title = "Pirate Test" # picture = GFX_evt_smugglers_in_bar # desc = "What's yer poison?" # show_sound = event_ship_bridge # # trigger = { # always = no # } # # option = { # name = "Fleet 0" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_0 = yes # set_location = root.capital_scope # } # } # } # option = { # name = "Fleet 1" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_1 = yes # set_location = root.capital_scope # } # } # } # option = { # name = "Fleet 2" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_2 = yes # set_location = root.capital_scope # } # } # } # option = { # name = "Fleet 3" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_3 = yes # set_location = root.capital_scope # } # } # } # option = { # name = "Fleet 4" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_4 = yes # set_location = root.capital_scope # } # } # } # option = { # name = "Fleet 5" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_5 = yes # set_location = root.capital_scope # } # } # } # option = { # name = "Fleet 6" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_6 = yes # set_location = root.capital_scope # } # } # } # option = { # name = "Fleet 7" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_7 = yes # set_location = root.capital_scope # } # } # } # option = { # name = "Fleet 8" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_8 = yes # set_location = root.capital_scope # } # } # } # option = { # name = "Fleet 9" # create_fleet = { # name = "NAME_Pirate_Fleet" # effect = { # set_owner = root # create_pirate_ships_9 = yes # set_location = root.capital_scope # } # } # } #} # Pirate station spawns on disabled starbase (HIDDEN) ship_event = { id = pirate.70 hide_window = yes is_triggered_only = yes trigger = { is_ship_class = shipclass_starbase exists = from from = { owner = { is_country_type = pirate NOT = { has_country_flag = disable_pirate_starbase_spawning } } } solar_system = { NOT = { any_fleet_in_system = { is_ship_size = pirate_station } } } } immediate = { solar_system = { random_system_planet = { save_event_target_as = pirate_base_location } } create_fleet = { name = "NAME_Pirate_Station" effect = { set_owner = from.owner create_ship = { name = random design = "NAME_Pirate_Nest" graphical_culture = "pirate_01" } set_location = event_target:pirate_base_location } } } } ############################ # Late-game Pirates # Written by Gemma Thomson ############################ # Setup (triggered by on_late_game_pulse): Choose a pirate fleet to spawn event = { id = pirate.100 hide_window = yes is_triggered_only = yes trigger = { end_game_years_passed >= 0 any_system = { #has_system_trade_value >= 180 } } immediate = { random_list = { 1 = { #Bemat Thalassocracy event_target:global_event_country = { country_event = { id = pirate.150 days = 550 } } } # More pirate encounters can be added here 6 = {} } } } ### Bemat Thalassocracy ### # Setup (event_target:global_event_country scope; randomly triggered in pirate.100): Find a suitable spawn point country_event = { id = pirate.150 hide_window = yes is_triggered_only = yes trigger = { NOR = { exists = event_target:thalassocracy_country any_country = { has_country_flag = met_thalassocracy } } } immediate = { create_thalassocracy_country = yes if = { #Prioritise unoccupied systems limit = { any_system = { num_planets_in_system > 1 NOR = { exists = space_owner has_star_flag = hostile_system has_star_flag = guardian has_star_flag = tiyanki_home_system has_star_flag = tiyanki_graveyard_system has_star_flag = amoeba_home_system has_star_flag = lcluster has_star_flag = sealed_system } } } random_system = { limit = { num_planets_in_system > 1 NOR = { exists = space_owner has_star_flag = hostile_system has_star_flag = guardian has_star_flag = tiyanki_home_system has_star_flag = tiyanki_graveyard_system has_star_flag = amoeba_home_system has_star_flag = lcluster has_star_flag = sealed_system } } save_global_event_target_as = thalassocracy_target_system random_system_planet = { save_global_event_target_as = thalassocracy_spawn_planet set_planet_flag = thalassocracy_visited } random_system_planet = { limit = { NOT = { has_planet_flag = thalassocracy_visited } } save_global_event_target_as = thalassocracy_target_planet } event_target:thalassocracy_country = { set_country_flag = spawned_fleet } create_thalassocracy_fleet = yes } } else_if = { #Pop up in a semi-convenient, empire-owned system, if possible limit = { #Must be duplicated below, in the random_system effect any_system = { exists = space_owner num_planets_in_system > 1 NOR = { is_pirate_system = yes has_star_flag = hostile_system has_star_flag = guardian has_star_flag = enclave any_system_planet = { is_capital = yes } } #has_system_trade_value >= 80 distance = { source = this.capital_scope.solar_system use_bypasses = no min_jumps = 2 max_jumps = 5 } } } random_system = { limit = { exists = space_owner num_planets_in_system > 1 NOR = { is_pirate_system = yes has_star_flag = hostile_system has_star_flag = guardian has_star_flag = enclave any_system_planet = { is_capital = yes } } #has_system_trade_value >= 80 distance = { source = this.capital_scope.solar_system use_bypasses = no min_jumps = 2 max_jumps = 5 } } save_global_event_target_as = thalassocracy_target_system random_system_planet = { save_global_event_target_as = thalassocracy_spawn_planet set_planet_flag = thalassocracy_visited } random_galaxy_planet = { limit = { NOT = { has_planet_flag = thalassocracy_visited } } save_global_event_target_as = thalassocracy_target_planet } event_target:thalassocracy_country = { set_country_flag = spawned_fleet } create_thalassocracy_fleet = yes space_owner = { country_event = { id = pirate.155 days = 0 scopes = { from = event_target:thalassocracy_country } } #Establish contact } } } else = { #Nothing; await next pulse/valid country } } } # The pirates encounter an empire (triggered by on_first_contact) # This = Initiating (e.g. player) empire # From = Pirate empire country_event = { id = pirate.155 title = "pirate.155.name" desc = { text = "pirate.155.desc.regular" trigger = { is_regular_empire = yes } } desc = { text = "pirate.155.desc.machine" trigger = { is_machine_empire = yes } } desc = { text = "pirate.155.desc.hive" trigger = { is_hive_empire = yes } } is_triggered_only = yes diplomatic = yes picture_event_data = { portrait = event_target:thalassocracy_species room = ethic_spaceship_room } show_sound = event_ship_bridge location = event_target:thalassocracy_target_system trigger = { exists = event_target:thalassocracy_country from = { is_same_value = event_target:thalassocracy_country has_country_flag = spawned_fleet } NOR = { has_communications = from has_country_flag = met_thalassocracy } } immediate = { establish_communications_no_message = event_target:thalassocracy_country set_country_flag = met_thalassocracy } option = { #Disbelief name = "pirate.155.a" } option = { #Scum! name = "pirate.155.b" trigger = { NOR = { is_pacifist = yes is_machine_empire = yes is_megacorp = yes } } } option = { name = "pirate.155.pacifist" trigger = { is_pacifist = yes } } option = { name = "pirate.155.machine" trigger = { is_machine_empire = yes } } option = { name = "pirate.155.corp" trigger = { is_megacorp = yes } } }