###### # ## # # ###### ##### # # ##### #### # # ###### ##### ##### ## # # # # #### # # # # ## ## # # # # # # # # # # # # # # # # ## # # # # ##### # # # # ## # ##### # ###### # # # # # # ##### # # # # # # # # #### #### # # ###### # # # # # # ##### # # # ## # # ##### # ###### # # # # # # # # # # # # # # # # # # # # ## ## # # # # # # # ## # # # # # ###### # # # # ###### # # # # # #### # # ###### # # # # # # # # # #### sp_land_flamethrower_tank = { specialization = specialization_land #icon = GFX_sp_land_flamethrower_tank ### Automatically hooked-in since the GFX ID matches the project ID. project_tags = sp_tag_tank ai_will_do = { base = 1 } allowed = { has_dlc = "No Step Back" } available = { FROM = { has_tech = tech_engineers } } breakthrough_cost = { specialization_land = 1 } prototype_time = sp_time.prototype.short complexity = sp_complexity.small project_output = { country_effects = { hidden_effect = { #Update tooltip in Italian focus if anything changes here!!! (maybe change focus effects too if Italy starts with Flamethrower Tank) if = { limit = { has_dlc = "No Step Back" original_tag = ITA has_completed_focus = ITA_italian_tankettes } ITA_add_basic_light_flamethrower_template = yes } } add_design_template_bonus = { name = sp_land_flamethrower_tank uses = 1 cost_factor = 1 equipment = light_tank_flame_chassis equipment = medium_tank_flame_chassis equipment = heavy_tank_flame_chassis } add_design_template_bonus = { name = sp_land_flamethrower_tank uses = 2 cost_factor = 0.5 equipment = light_tank_flame_chassis equipment = medium_tank_flame_chassis equipment = heavy_tank_flame_chassis } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_advanced_flamethrower_tech } } enable_equipment_modules = { flamethrower } enable_equipment_modules = { limit = { has_dlc = "Gotterdammerung" } lc_flamethrower_turret } enable_subunits = { light_flame_tank medium_flame_tank heavy_flame_tank } } generic_prototype_rewards = { sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_scientist_xp_3 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_army_xp_3 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_major_progress_2 sp_land_generic_reward_major_progress_3 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_test_failure_2 sp_land_generic_reward_test_failure_3 sp_land_generic_reward_resource_scarcity } } ##### # # # # # ##### ###### #### # ## # # #### ##### # # ##### # # #### ##### ###### ##### # # ###### # # # #### # ###### #### # # # # # # # # # # # # # # # # # ## ## # # # # # # # # # # # # # # # # # # ##### # # ##### # # # # # # #### # # # # # # ## # # # # # ##### # # # # ##### ###### # # # ##### #### # ##### # # # ###### # # # # ####### ##### # # # # ##### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### # ###### #### # # # ###### # #### # # # # # # # #### # # ###### ##### # ###### # # # #### ###### ###### #### sp_land_military_engineering_vehicles = { specialization = specialization_land project_tags = sp_tag_tank available = { FROM = { has_tech = tech_engineers } } prototype_time = sp_time.prototype.short complexity = sp_complexity.small breakthrough_cost = { specialization_land = 1 } project_output = { enable_equipments = { armored_support_vehicle_1 } enable_subunits = { assault_engineer } country_effects = { if = { limit = { has_dlc = "Gotterdammerung" } SP_create_variant_based_on_country_assault_engineer = yes } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_engineer_tech } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_maintenance_tech } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_signal_tech } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_motorized_military_police_tech } } } generic_prototype_rewards = { sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_scientist_xp_3 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_army_xp_3 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_major_progress_2 sp_land_generic_reward_major_progress_3 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_test_failure_2 sp_land_generic_reward_test_failure_3 sp_land_generic_reward_armor_tech_1 sp_land_generic_reward_armor_tech_2 sp_land_generic_reward_armor_tech_3 sp_land_generic_reward_engine_bonus_1 sp_land_generic_reward_engine_bonus_2 sp_land_generic_reward_engine_bonus_3 sp_land_generic_reward_resource_scarcity } } ## #### # # ##### ###### ##### # # ###### ## # # # # # # # # #### ##### ###### ##### # # ##### ## # # # # #### # # # # # # # # # # # # # # # # # ## ## ## # # # # # # # ## # # # # ## # # # # #### # # # # ##### # # ##### ###### ##### # # # # # ### # ## # # # # # ##### # # # # # # # # # # # #### #### # # # ##### # ##### # # # ###### # # # # # # # # # # # # # ##### # # # # ###### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # ## # # # # #### #### # ###### # # # # ###### # # ## # ### # # # #### ##### ###### # # # # # # # # # # # #### sp_land_land_cruiser = { specialization = specialization_land project_tags = sp_tag_tank allowed = { has_dlc = "Gotterdammerung" } available = { if = { limit = { has_dlc = "No Step Back" } FROM = { has_tech = super_heavy_tank_chassis } } else = { FROM = { has_tech = super_heavy_tank } } } prototype_time = sp_time.prototype.medium complexity = sp_complexity.insane breakthrough_cost = { specialization_land = 3 } resource_cost = { resources = { steel = 16 chromium = 8 } } ai_will_do = { base = 1 modifier = { factor = 0 OR = { ROOT = { is_major = no } # Pointless unless we are big enough to do this ROOT = { has_government = democratic }# Don't spend the tax payers' money on this, then they won't vote for you again } } modifier = { factor = 2 ROOT = { original_tag = GER has_government = fascism } date > 1943.6.1 } } project_output = { country_effects = { if = { limit = { has_dlc = "No Step Back" } add_design_template_bonus = { name = sp_land_land_cruiser uses = 1 cost_factor = 1 equipment = land_cruiser_chassis_1 } } else = { add_equipment_to_stockpile = { type = land_cruiser_equipment_1 amount = 1 } add_equipment_production = { equipment = { type = land_cruiser_equipment_1 } requested_factories = 1 #optional progress = 0.35 #optional amount = 1 efficiency = 30 } } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_lc_naval_engine_conversion_tech } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_lc_transmission_improvements_tech } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_lc_specialized_field_manuals_tech } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_lc_weapon_fire_control_tech } if = { limit = { has_dlc = "No Step Back" } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_armored_lc_high_impact_obliterator_cannon_tech } } } enable_subunits = { land_cruiser } enable_equipments = { limit = { has_dlc = "No Step Back" } land_cruiser_chassis_1 } enable_equipments = { limit = { NOT = { has_dlc = "No Step Back" } } land_cruiser_equipment_1 } enable_equipment_modules = { limit = { has_dlc = "No Step Back" } lc_heavy_naval_guns #lc_super_heavy_railway_gun #SP: SH RWG #lc_high_impact_obliterator_cannon #SP Tech: Obliterator Cannon #lc_heavy_anti_air_platform #Tech: AA III (last AA tech) lc_medium_naval_guns #lc_hull_mounted_railway_gun #Tech: RWG lc_super_heavy_howitzer #lc_heavy_high_velocity_cannons #Tech: AT III (Last AT tech) #lc_heavy_anti_air_battery #Tech: AA II (Second AA eq. tech) #lc_medium_cannon_turret #Tech: Arty II (Second Arty eq. Tech) #lc_assault_gun #Tech: Arty II (Second Arty eq. Tech) #lc_high_velocity_cannon_turret #Tech: AT I (First AT Tech) #lc_light_anti_air_battery #Tech: AA I (First AA Tech) #lc_flamethrower_turret #SP: Flamethrower Tank #lc_rocket_launcher #Tech: Rocket Arty I (First Rocket Arty Tech) #lc_radio_1 #Tech: Radio I #lc_radio_2 #Tech: Radio II #lc_radio_3 #Tech: Radio III #lc_command_center #SP Tech: Armored Signal Company #lc_radar #SP: Radar lc_aircraft_catapult #lc_helipad #SP: Helicopter #lc_armored_skirts #Tech: Tank Armor III #lc_bunker_emplacement #Tech: Improved Forts (II) #lc_obstacle_clearance_gear #Tech: Engineers II lc_internal_fuel_tanks lc_internal_ammunition_compartments lc_wet_ammunition_storage lc_smoke_generators lc_stabilizers } #MM: List of all modules for Debug purposes #enable_equipment_modules = { # limit = { # has_dlc = "No Step Back" # } # lc_heavy_naval_guns # lc_super_heavy_railway_gun # lc_high_impact_obliterator_cannon # lc_heavy_anti_air_platform # lc_medium_naval_guns # lc_hull_mounted_railway_gun # lc_super_heavy_howitzer # lc_heavy_high_velocity_cannons # lc_heavy_anti_air_battery # lc_medium_cannon_turret # lc_assault_gun # lc_high_velocity_cannon_turret # lc_light_anti_air_battery # lc_flamethrower_turret # lc_rocket_launcher # lc_radio_1 # lc_radio_2 # lc_radio_3 # lc_command_center # lc_radar # lc_aircraft_catapult # lc_helipad # lc_armored_skirts # lc_bunker_emplacement # lc_obstacle_clearance_gear # lc_internal_fuel_tanks # lc_internal_ammunition_compartments # lc_wet_ammunition_storage # lc_smoke_generators # lc_stabilizers #} } generic_prototype_rewards = { sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_scientist_xp_3 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_army_xp_3 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_major_progress_2 sp_land_generic_reward_major_progress_3 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_test_failure_2 sp_land_generic_reward_test_failure_3 sp_land_generic_reward_armor_tech_1 sp_land_generic_reward_armor_tech_2 sp_land_generic_reward_armor_tech_3 sp_land_generic_reward_armor_bonus_1 sp_land_generic_reward_armor_bonus_2 sp_land_generic_reward_armor_bonus_3 sp_land_generic_reward_engine_bonus_1 sp_land_generic_reward_engine_bonus_2 sp_land_generic_reward_engine_bonus_3 sp_land_generic_reward_resource_scarcity sp_land_generic_reward_critical_failure } unique_prototype_rewards = { sp_land_reward_land_cruiser_overheating = { fire_only_once = yes threshold = { min = 0 max = 100 } weight = { base = 1 } option = { token = sp_land_reward_option_land_cruiser_overheating iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } } } } sp_land_reward_land_cruiser_chassis = { fire_only_once = yes threshold = { min = 20 max = 70 } weight = { base = 4 } option = { token = sp_land_reward_option_land_cruiser_chassis_redesign iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_chassis_redesign_bonus_name land_cruiser_chassis_1 = { reliability = 0.05 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.medium } } } } option = { token = sp_land_reward_option_land_cruiser_chassis_reinforce iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_chassis_reinforce_bonus_name land_cruiser_chassis_1 = { reliability = -0.03 armor_value = 0.05 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } } } option = { token = sp_land_reward_option_land_cruiser_chassis_lighter_materials iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_chassis_lighter_materials_bonus_name land_cruiser_chassis_1 = { armor_value = -0.05 } } } } } sp_land_reward_land_cruiser_engine = { fire_only_once = yes threshold = { min = 20 max = 70 } weight = { base = 4 } option = { token = sp_land_reward_option_land_cruiser_engine_leave iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } } } option = { token = sp_land_reward_option_land_cruiser_engine_modify iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_engine_modify_bonus_name land_cruiser_chassis_1 = { maximum_speed = 0.05 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.medium } } } } option = { token = sp_land_reward_option_land_cruiser_engine_new iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_engine_new_bonus_name land_cruiser_chassis_1 = { reliability = 0.05 maximum_speed = 0.05 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.high } } } } } sp_land_reward_land_cruiser_turret = { fire_only_once = yes threshold = { min = 50 max = 100 } weight = { base = 4 } option = { token = sp_land_reward_option_land_cruiser_turret_original iteration_output = { } } option = { token = sp_land_reward_option_land_cruiser_turret_simplify iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_turret_simplify_bonus_name land_cruiser_chassis_1 = { breakthrough = -0.03 build_cost_ic = -0.02 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.gain.low } } } } option = { token = sp_land_reward_option_land_cruiser_turret_redesign iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_turret_redesign_bonus_name land_cruiser_chassis_1 = { breakthrough = 0.03 maximum_speed = 0.03 build_cost_ic = 0.05 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } } } } sp_land_reward_land_cruiser_track = { fire_only_once = yes threshold = { min = 30 max = 80 } weight = { base = 4 } option = { token = sp_land_reward_option_land_cruiser_track_current iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } } } option = { token = sp_land_reward_option_land_cruiser_track_reduce_armor iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_track_reduce_armor_bonus_name land_cruiser_chassis_1 = { armor_value = -0.03 } } } } option = { token = sp_land_reward_option_land_cruiser_track_reinforce_track iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_track_reinforce_track_bonus_name land_cruiser_chassis_1 = { reliability = 0.05 build_cost_ic = 0.03 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.medium } } } } } sp_land_reward_land_cruiser_communication = { fire_only_once = yes threshold = { min = 60 max = 100 } weight = { base = 4 } option = { token = sp_land_reward_option_land_cruiser_communication_current iteration_output = { } } option = { token = sp_land_reward_option_land_cruiser_communication_new iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_communication_new_bonus_name land_cruiser_chassis_1 = { breakthrough = 0.03 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } } } option = { token = sp_land_reward_option_land_cruiser_communication_redesign iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_communication_redesign_bonus_name land_cruiser_chassis_1 = { breakthrough = 0.03 defense = 0.03 build_cost_ic = 0.02 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.medium } } } } } sp_land_reward_land_cruiser_assembly = { fire_only_once = yes threshold = { min = 20 max = 60 } weight = { base = 4 } option = { token = sp_land_reward_option_land_cruiser_assembly_all iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_assembly_bonus_name land_cruiser_chassis_1 = { reliability = 0.07 build_cost_ic = 0.05 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } } } option = { token = sp_land_reward_option_land_cruiser_assembly_key iteration_output = { equipment_bonus = { #name = sp_land_reward_option_land_cruiser_assembly_bonus_name land_cruiser_chassis_1 = { reliability = 0.03 } } } } } sp_land_reward_land_cruiser_suspension = { fire_only_once = yes threshold = { min = 30 max = 100 } weight = { base = 4 } option = { token = sp_land_reward_option_land_cruiser_suspension_full iteration_output = { equipment_bonus = { #name = sp_land_reward_land_cruiser_suspension land_cruiser_chassis_1 = { maximum_speed = 0.03 reliability = 0.03 build_cost_ic = 0.05 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.gain.low } } } } option = { token = sp_land_reward_option_land_cruiser_suspension_rear iteration_output = { equipment_bonus = { #name = sp_land_reward_land_cruiser_suspension land_cruiser_chassis_1 = { reliability = 0.03 } } } } } sp_land_reward_land_cruiser_ammunition = { fire_only_once = yes threshold = { min = 50 max = 100 } weight = { base = 4 } option = { token = sp_land_reward_option_land_cruiser_ammunition_current iteration_output = { } } option = { token = sp_land_reward_option_land_cruiser_ammunition_simplified iteration_output = { equipment_bonus = { #name = sp_land_reward_land_cruiser_ammunition land_cruiser_chassis_1 = { breakthrough = 0.03 build_cost_ic = 0.02 } } } } option = { token = sp_land_reward_option_land_cruiser_ammunition_new iteration_output = { equipment_bonus = { #name = sp_land_reward_land_cruiser_ammunition land_cruiser_chassis_1 = { breakthrough = 0.05 reliability = 0.03 build_cost_ic = 0.05 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } } } } } } ## ##### # # ## # # #### ###### ##### ## ##### ##### # # # ###### ##### # # ##### ##### #### # ###### #### ##### #### # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### # # # # # # # # # # ##### # # # # # # # # # # ##### # # #### ###### # # # # ###### # # # # # # # ###### ##### # # # # # ##### # ##### ##### # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### ## # # # # #### ###### ##### # # # # # # ###### ###### ###### # # # # # # #### #### ###### #### # #### sp_land_super_heavy_howitzer = { specialization = specialization_land project_tags = sp_tag_artillery allowed = { has_dlc = "Gotterdammerung" } available = { FROM = { has_tech = gw_artillery } } prototype_time = sp_time.prototype.short complexity = sp_complexity.medium breakthrough_cost = { specialization_land = 2 } resource_cost = { resources = { steel = 8 tungsten = 4 } } project_output = { enable_subunits = { super_heavy_artillery } enable_equipments = { super_heavy_artillery_equipment_1 } country_effects = { custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH_WITH_EXTRA_TECH TECH = sp_artillery_rocket_assisted_projectiles_tech EXTRA_TECH = experimental_rockets } } } generic_prototype_rewards = { sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_scientist_xp_3 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_army_xp_3 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_major_progress_2 sp_land_generic_reward_major_progress_3 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_test_failure_2 sp_land_generic_reward_test_failure_3 sp_land_generic_reward_artillery_tech_1 sp_land_generic_reward_artillery_tech_2 sp_land_generic_reward_artillery_tech_3 sp_land_generic_reward_artillery_bonus_1 sp_land_generic_reward_artillery_bonus_2 sp_land_generic_reward_artillery_bonus_3 sp_land_generic_reward_resource_scarcity sp_land_generic_reward_critical_failure } unique_prototype_rewards = { sp_land_reward_super_heavy_howitzer_focus_preference = { fire_only_once = yes threshold = { min = 30 max = 100 } weight = { base = 50 } option = { token = sp_land_reward_option_super_heavy_howitzer_focus_preference_balance iteration_output = { country_effects = { custom_effect_tooltip = { localization_key = generic_no_effects_to_equipment_tt EQUIPMENT = super_heavy_artillery_equipment_1 } } } } option = { token = sp_land_reward_option_super_heavy_howitzer_focus_preference_firepower iteration_output = { equipment_bonus = { super_heavy_artillery_equipment_1 = { build_cost_ic = 0.1 soft_attack = 0.05 additional_collateral_damage = 0.1 } } country_effects = { } } } option = { token = sp_land_reward_option_super_heavy_howitzer_focus_preference_production iteration_output = { equipment_bonus = { super_heavy_artillery_equipment_1 = { build_cost_ic = -0.15 soft_attack = -0.05 additional_collateral_damage = -0.1 } } country_effects = { } } } } } } sp_land_self_propelled_super_heavy_howitzer = { specialization = specialization_land project_tags = sp_tag_artillery allowed = { has_dlc = "Gotterdammerung" } special_project_parent = { sp_land_military_engineering_vehicles sp_land_super_heavy_howitzer } prototype_time = sp_time.prototype.medium complexity = sp_complexity.medium breakthrough_cost = { specialization_land = 2 } resource_cost = { resources = { steel = 8 tungsten = 6 chromium = 2 } } project_output = { country_effects = { custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_artillery_purpose_built_gun_motor_carriages_tech } } enable_subunits = { self_propelled_super_heavy_artillery } enable_equipments = { self_propelled_super_heavy_artillery_equipment_1 } } generic_prototype_rewards = { sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_scientist_xp_3 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_army_xp_3 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_major_progress_2 sp_land_generic_reward_major_progress_3 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_test_failure_2 sp_land_generic_reward_test_failure_3 sp_land_generic_reward_artillery_tech_1 sp_land_generic_reward_artillery_tech_2 sp_land_generic_reward_artillery_tech_3 sp_land_generic_reward_artillery_bonus_1 sp_land_generic_reward_artillery_bonus_2 sp_land_generic_reward_artillery_bonus_3 sp_land_generic_reward_resource_scarcity sp_land_generic_reward_critical_failure } unique_prototype_rewards = { sp_land_reward_self_propelled_super_heavy_howitzer_focus_preference = { fire_only_once = yes threshold = { min = 30 max = 100 } weight = { base = 50 } option = { token = sp_land_reward_option_self_propelled_super_heavy_howitzer_focus_preference_balance iteration_output = { country_effects = { custom_effect_tooltip = { localization_key = generic_no_effects_to_equipment_tt EQUIPMENT = self_propelled_super_heavy_artillery_equipment_1 } } } } option = { token = sp_land_reward_option_self_propelled_super_heavy_howitzer_focus_preference_firepower iteration_output = { equipment_bonus = { self_propelled_super_heavy_artillery_equipment_1 = { build_cost_ic = 0.1 soft_attack = 0.05 additional_collateral_damage = 0.1 } } } } option = { token = sp_land_reward_option_self_propelled_super_heavy_howitzer_focus_preference_production iteration_output = { equipment_bonus = { self_propelled_super_heavy_artillery_equipment_1 = { build_cost_ic = -0.15 soft_attack = -0.05 additional_collateral_damage = -0.1 } } } } } } } sp_land_super_heavy_railway_gun = { specialization = specialization_land project_tags = sp_tag_artillery allowed = { has_dlc = "No Step Back" } available = { FROM = { has_tech = railway_gun } } prototype_time = sp_time.prototype.long complexity = sp_complexity.medium breakthrough_cost = { specialization_land = 1 } resource_cost = { resources = { steel = 16 tungsten = 8 chromium = 8 } } project_output = { enable_equipments = { super_heavy_railway_gun_equipment_1 } enable_subunits = { super_heavy_railway_gun } enable_equipment_modules = { limit = { has_dlc = "Gotterdammerung" } lc_super_heavy_railway_gun } country_effects = { if = { limit = { original_tag = GER } create_railway_gun = { equipment = super_heavy_railway_gun_equipment_1 name = "Dora" } } else = { create_railway_gun = { equipment = super_heavy_railway_gun_equipment_1 } } } } generic_prototype_rewards = { sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_scientist_xp_3 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_army_xp_3 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_major_progress_2 sp_land_generic_reward_major_progress_3 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_test_failure_2 sp_land_generic_reward_test_failure_3 sp_land_generic_reward_artillery_tech_1 sp_land_generic_reward_artillery_tech_2 sp_land_generic_reward_artillery_tech_3 sp_land_generic_reward_artillery_bonus_1 sp_land_generic_reward_artillery_bonus_2 sp_land_generic_reward_artillery_bonus_3 sp_land_generic_reward_resource_scarcity sp_land_generic_reward_critical_failure } } sp_land_multi_charge_large_caliber_gun = { specialization = specialization_land project_tags = sp_tag_artillery allowed = { has_dlc = "Gotterdammerung" } special_project_parent = { sp_land_super_heavy_howitzer } prototype_time = sp_time.prototype.medium complexity = sp_complexity.small breakthrough_cost = { specialization_land = 1 } resource_cost = { resources = { steel = 6 tungsten = 4 chromium = 2 } } project_output = { country_effects = { custom_override_tooltip = { tooltip = { localization_key = SP_UNLOCK_BUILDING_ICON_DESC BUILDING = mega_gun_emplacement BUILDING_DESCRIPTION = mega_gun_emplacement_desc ICON_FRAME = 24 } #hidden_effect = { #MM: Uncomment this if we get code support for implementing small scale of V-3 # if = { # limit = { # FROM = { has_project_flag = multi_charge_large_caliber_gun_small_size_flag } # } # add_equipment_bonus = { # bonus = { # explosive_ammo_equipment_1 = { # air_range = -0.25 # air_bombing = -0.35 # } # } # } # add_ideas = sp_multi_charge_large_caliber_gun_small_size_ns # } #} set_technology = { land_multi_charge_large_caliber_gun_tech = 1 popup = no } } } } generic_prototype_rewards = { sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_scientist_xp_3 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_army_xp_3 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_major_progress_2 sp_land_generic_reward_major_progress_3 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_test_failure_2 sp_land_generic_reward_test_failure_3 sp_land_generic_reward_artillery_tech_1 sp_land_generic_reward_artillery_tech_2 sp_land_generic_reward_artillery_tech_3 sp_land_generic_reward_artillery_bonus_1 sp_land_generic_reward_artillery_bonus_2 sp_land_generic_reward_artillery_bonus_3 sp_land_generic_reward_resource_scarcity } unique_prototype_rewards = { sp_land_reward_multi_charge_large_caliber_gun_successful_test_firing = { fire_only_once = yes threshold = { min = 0 max = 70 } weight = { base = 5 } option = { token = sp_land_reward_option_multi_charge_large_caliber_gun_successful_test_firing iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.gain.medium } } scientist_effects = { if = { limit = { has_scientist_level = { level < 5 specialization = specialization_land } } add_scientist_xp = { experience = constant:sp_scientist_xp_gain.low specialization = specialization_land } } } } } } sp_land_reward_multi_charge_large_caliber_gun_test_failure = { fire_only_once = yes threshold = { min = 0 max = 70 } weight = { base = 1 } option = { token = sp_land_reward_option_multi_charge_large_caliber_gun_test_failure iteration_output = { facility_state_effects = { damage_building = { tags = facility damage = 0.25 province = var:facility_province_id } damage_building = { type = infrastructure damage = 0.15 } } country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.medium } } scientist_effects = { if = { limit = { has_scientist_level = { level < 5 specialization = specialization_land } } add_scientist_xp = { experience = constant:sp_scientist_xp_gain.low specialization = specialization_land } injure_scientist_for_days = 60 } } } } } sp_land_reward_multi_charge_large_caliber_gun_breakthrough_in_propulsion_technology = { fire_only_once = yes threshold = { min = 60 max = 100 } weight = { base = 2 } option = { token = sp_land_reward_option_multi_charge_large_caliber_gun_breakthrough_in_propulsion_technology iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.gain.high } add_breakthrough_progress = { specialization = specialization_land value = sp_breakthrough_progress.low } } scientist_effects = { if = { limit = { NOT = { has_trait = scientist_trait_fast_learner } } random_list = { 70 = { #No effect } 30 = { add_scientist_trait = scientist_trait_fast_learner } } } else_if = { limit = { NOT = { has_trait = scientist_trait_bright } } random_list = { 80 = { #No effect } 20 = { add_scientist_trait = scientist_trait_bright } } } } } } } } } ## ## ######## ###### ### ######## ####### ######## ######## ### ### ## ## ## ## ## ## ## ## ## ## ## #### #### ## ## ## ## ## ## ## ## ## ## ## ### ## ###### ## #### ## ## ###### ## ## ######## ## ## ## ## ## ## ######### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ######## ###### ## ## ## ####### ## ## ## sp_land_stronghold_network = { specialization = specialization_land project_tags = sp_tag_artillery allowed = { has_dlc = "Gotterdammerung" } available = { FROM = { has_tech = basic_fortification_tech } } prototype_time = sp_time.prototype.medium complexity = sp_complexity.large breakthrough_cost = { specialization_land = 2 } resource_cost = { resources = { steel = 4 chromium = 2 tungsten = 1 } } project_output = { country_effects = { custom_override_tooltip = { tooltip = { localization_key = SP_UNLOCK_BUILDING_ICON_DESC BUILDING = stronghold_network BUILDING_DESCRIPTION = stronghold_network_desc ICON_FRAME = 23 } set_technology = { stronghold_network_tech = 1 popup = no } } } } generic_prototype_rewards = { sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_scientist_xp_3 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_army_xp_3 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_major_progress_2 sp_land_generic_reward_major_progress_3 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_test_failure_2 sp_land_generic_reward_test_failure_3 sp_land_generic_reward_critical_failure } unique_prototype_rewards = { sp_land_reward_stronghold_network_structural_weakness_discovered = { fire_only_once = yes threshold = { min = 20 max = 70 } weight = { base = 1 modifier = { factor = 0 has_project_flag = sp_land_stronghold_network_structural_weakness_discovered_flag #Used in other unique rewards to prevent multiple structural failures } } option = { token = sp_land_reward_option_stronghold_network_structural_weakness_discovered iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.medium set_project_flag = sp_land_stronghold_network_structural_weakness_discovered_flag #Used in other unique rewards to prevent multiple structural failures } } } } } sp_land_reward_stronghold_network_delayed_by_concrete_shortage = { fire_only_once = yes threshold = { min = 0 max = 90 } weight = { base = 1 } option = { token = sp_land_reward_option_stronghold_network_delayed_by_concrete_shortage iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } scientist_effects = { add_scientist_xp = { experience = constant:sp_scientist_xp_gain.low specialization = specialization_land } } } } } sp_land_reward_stronghold_network_underground_rail_systems = { fire_only_once = yes threshold = { min = 30 max = 100 } weight = { base = 2 } option = { token = sp_land_reward_option_stronghold_network_delayed_by_concrete_shortage iteration_output = { country_effects = { add_tech_bonus = { name = sp_land_reward_stronghold_network_underground_rail_systems bonus = 0.1 uses = 1 category = cat_fortification category = engineers_tech } FROM = { add_project_progress_ratio = constant:sp_progress.gain.low } } } } } sp_land_reward_stronghold_network_integration_of_anti_blast_doors = { fire_only_once = yes threshold = { min = 30 max = 100 } weight = { base = 2 } option = { token = sp_land_reward_option_stronghold_network_integration_of_anti_blast_doors iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.gain.low } } } } } sp_land_reward_stronghold_network_communication_system_overhaul = { fire_only_once = yes threshold = { min = 50 max = 100 } weight = { base = 5 } option = { token = sp_land_reward_option_stronghold_network_communication_system_overhaul_standardize iteration_output = { country_effects = { add_tech_bonus = { name = sp_land_reward_stronghold_network_communication_system_overhaul bonus = 0.25 uses = 1 category = cat_fortification category = construction_tech } } } } option = { token = sp_land_reward_option_stronghold_network_communication_system_overhaul_further_study iteration_output = { scientist_effects = { add_scientist_xp = { experience = constant:sp_scientist_xp_gain.medium specialization = specialization_land } } } } } sp_land_reward_stronghold_network_leadership_approach = { fire_only_once = yes threshold = { min = 0 max = 100 } force_reward_if_available = yes weight = { base = 100 #Weight is still checked when more than 1 reward are supposed to be forced at the same time } option = { token = sp_land_reward_option_stronghold_network_leadership_approach_oversee_work_personally iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.gain.low set_project_flag = sp_land_reward_stronghold_network_leadership_approach_field_flag #Unlocks possible specific rewards } } scientist_effects = { add_scientist_xp = { experience = constant:sp_scientist_xp_gain.low specialization = specialization_land } } } } option = { token = sp_land_reward_option_stronghold_network_leadership_approach_office_planning iteration_output = { country_effects = { add_breakthrough_progress = { specialization = specialization_land value = sp_breakthrough_progress.low } FROM = { set_project_flag = sp_land_reward_stronghold_network_leadership_approach_office_flag #Unlocks possible specific rewards } } } } } sp_land_reward_stronghold_network_breakthrough_in_concrete_reinforcement_01 = { #Scientist working from Office fire_only_once = yes threshold = { min = 50 max = 100 } weight = { base = 0 modifier = { add = 15 has_project_flag = sp_land_reward_stronghold_network_leadership_approach_field_flag } } option = { token = sp_land_reward_option_stronghold_network_breakthrough_in_concrete_reinforcement_01_apply_and_document_discovery iteration_output = { country_effects = { add_tech_bonus = { name = sp_land_reward_stronghold_network_breakthrough_in_concrete_reinforcement_01 bonus = 0.5 uses = 1 category = cat_fortification category = construction_tech } FROM = { add_project_progress_ratio = constant:sp_progress.gain.low } } } } option = { token = sp_land_reward_option_stronghold_network_breakthrough_in_concrete_reinforcement_01_use_in_current_project iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.gain.medium } } scientist_effects = { add_scientist_xp = { experience = constant:sp_scientist_xp_gain.low specialization = specialization_land } } } } } sp_land_reward_stronghold_network_breakthrough_in_concrete_reinforcement_02 = { #Scientist working from Office fire_only_once = yes threshold = { min = 50 max = 100 } weight = { base = 0 modifier = { add = 15 has_project_flag = sp_land_reward_stronghold_network_leadership_approach_office_flag } } option = { token = sp_land_reward_option_stronghold_network_breakthrough_in_concrete_reinforcement_01_apply_and_document_discovery #Intentional 01 iteration_output = { country_effects = { add_tech_bonus = { name = sp_land_reward_stronghold_network_breakthrough_in_concrete_reinforcement_01 #Intentional 01 bonus = 0.75 uses = 1 category = cat_fortification category = construction_tech } if = { limit = { any_scientist = { has_scientist_level = { level > 0 specialization = specialization_land } is_active_scientist = no } } random_scientist = { limit = { has_scientist_level = { level > 0 specialization = specialization_land } is_active_scientist = no } add_scientist_xp = { experience = constant:sp_scientist_xp_gain.high specialization = specialization_land } } } } } } option = { token = sp_land_reward_option_stronghold_network_breakthrough_in_concrete_reinforcement_01_use_in_current_project #Intentional 01 iteration_output = { country_effects = { if = { limit = { any_scientist = { has_scientist_level = { level > 0 specialization = specialization_land } is_active_scientist = no } } random_scientist = { limit = { has_scientist_level = { level > 0 specialization = specialization_land } is_active_scientist = no } add_scientist_xp = { experience = constant:sp_scientist_xp_gain.medium specialization = specialization_land } } } FROM = { add_project_progress_ratio = constant:sp_progress.gain.low } } } } } sp_land_reward_option_stronghold_network_collapse_01 = { #Scientist working from Office fire_only_once = yes threshold = { min = 60 max = 100 } weight = { base = 0 modifier = { add = 10 has_project_flag = sp_land_reward_stronghold_network_leadership_approach_field_flag } modifier = { factor = 0 has_project_flag = sp_land_stronghold_network_structural_weakness_discovered_flag #Used in other unique rewards to prevent multiple structural failures } } option = { token = sp_land_reward_option_stronghold_network_collapse_01_prioritize_scientist iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.high } } scientist_effects = { injure_scientist_for_days = 30 } } } option = { token = sp_land_reward_option_stronghold_network_collapse_01_prioritize_safety iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.medium } } scientist_effects = { injure_scientist_for_days = 60 } } } option = { token = sp_land_reward_option_stronghold_network_collapse_01_continue_without_delay iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } scientist_effects = { injure_scientist_for_days = 60 } facility_state_effects = { add_dynamic_modifier = { modifier = sp_land_stronghold_network_collapse_workers_drafted days = 60 } } } } } sp_land_reward_option_stronghold_network_collapse_02 = { #Scientist working from Office fire_only_once = yes threshold = { min = 60 max = 100 } weight = { base = 0 modifier = { add = 10 has_project_flag = sp_land_reward_stronghold_network_leadership_approach_office_flag } modifier = { factor = 0 has_project_flag = sp_land_stronghold_network_structural_weakness_discovered_flag #Used in other unique rewards to prevent multiple structural failures } } option = { token = sp_land_reward_option_stronghold_network_collapse_01_prioritize_safety #Intentional 01 iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.medium } } } } option = { token = sp_land_reward_option_stronghold_network_collapse_01_continue_without_delay #Intentional 01 iteration_output = { country_effects = { FROM = { add_project_progress_ratio = constant:sp_progress.loss.low } } facility_state_effects = { add_dynamic_modifier = { modifier = sp_land_stronghold_network_collapse_workers_drafted days = 60 } } } } } } } #Large Caliber Kinetic energy sabot - Pfot sp_land_large_caliber_kinetic_energy_sabot = { specialization = specialization_land project_tags = sp_tag_artillery ai_will_do = { base = 1 modifier = { factor = 0 ROOT = { is_major = no } # Not worried about forts } # modifier = { #Forts are a pressing issue # factor = 2 # any_country = { # has_war_with = FROM # is_neighbor_of = FROM # any_state = { # any_province_building_level = { # province = { # limit_to_border = yes # } # building = bunker # level > 3 # } # } # } # } modifier = { #Forts are a very pressing issue for me factor = 100 ROOT = { original_tag = GER any_enemy_country = { OR = { original_tag = CZE original_tag = FRA } is_neighbor_of = ROOT any_controlled_state = { any_province_building_level = { province = { limit_to_border = yes } building = bunker level > 4 } } } } } } allowed = { has_dlc = "Peace For Our Time" } available = { FROM = { has_tech = interwar_antitank } } prototype_time = sp_time.prototype.short complexity = sp_complexity.small breakthrough_cost = { specialization_land = 1 } resource_cost = { resources = { steel = 2 chromium = 4 tungsten = 2 } } project_output = { country_effects = { if = { limit = { has_dlc = "Gotterdammerung" } custom_effect_tooltip = tech_effect|sp_land_large_caliber_kinetic_energy_sabot_gd_tech hidden_effect = { set_technology = { sp_land_large_caliber_kinetic_energy_sabot_gd_tech = 1 popup = no } } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_advance_sabot_shells } } else = { custom_effect_tooltip = tech_effect|sp_land_large_caliber_kinetic_energy_sabot_no_gd_tech hidden_effect = { set_technology = { sp_land_large_caliber_kinetic_energy_sabot_no_gd_tech = 1 popup = no } } custom_effect_tooltip = { localization_key = SP_UNLOCK_TECH TECH = sp_advance_sabot_shells } } } } generic_prototype_rewards = { sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_scientist_xp_3 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_army_xp_3 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_major_progress_2 sp_land_generic_reward_major_progress_3 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_test_failure_2 sp_land_generic_reward_test_failure_3 sp_land_generic_reward_artillery_tech_1 sp_land_generic_reward_artillery_tech_2 sp_land_generic_reward_artillery_tech_3 sp_land_generic_reward_artillery_bonus_1 sp_land_generic_reward_artillery_bonus_2 sp_land_generic_reward_artillery_bonus_3 sp_land_generic_reward_resource_scarcity sp_land_generic_reward_critical_failure } }