ZOM_check_and_execute_spawn = { if = { limit = { NOT = { has_global_flag = ZOM_apocalypse_spawned } } set_global_flag = ZOM_apocalypse_spawned ZOM_execute_zombie_spawn = yes } } ZOM_execute_zombie_spawn = { ZOM = { add_manpower = 6000000 add_named_threat = { threat = 100 } # Spawn Location - determines starting state(s) and base units if = { limit = { has_game_rule = { rule = zombie_spawn_location option = AFRICA } } set_capital = { state = 275 } 275 = { add_core_of = ZOM transfer_state_to = ZOM ZOM = { load_oob = "ZOM_2000" } create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 126 owner = ZOM prioritize_location = 11474 } } declare_war_on = { target = SAF type = annex_everything } add_timed_idea = { idea = shock_and_zombie_awe days = 180 } SAF = { country_event = zombie.8 create_faction_from_template = faction_template_anti_zombie_coalition } } else_if = { limit = { has_game_rule = { rule = zombie_spawn_location option = EAST_ASIA } } random_list = { 33 = { set_capital = { state = 605 } 605 = { add_core_of = ZOM transfer_state_to = ZOM ZOM = { load_oob = "ZOM_2000" } create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 126 owner = ZOM prioritize_location = 4086 } } } 33 = { set_capital = { state = 606 } 606 = { add_core_of = ZOM transfer_state_to = ZOM ZOM = { load_oob = "ZOM_2000" } create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 126 owner = ZOM prioritize_location = 7204 } } } 34 = { set_capital = { state = 607 } 607 = { add_core_of = ZOM transfer_state_to = ZOM ZOM = { load_oob = "ZOM_2000" } create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 126 owner = ZOM prioritize_location = 3261 } } } } declare_war_on = { target = KOR type = annex_everything } add_timed_idea = { idea = shock_and_zombie_awe days = 180 } KOR = { country_event = zombie.8 create_faction_from_template = faction_template_anti_zombie_coalition } } else_if = { limit = { has_game_rule = { rule = zombie_spawn_location option = MULTIPLE } } add_state_core = 459 transfer_state = 459 459 = { ZOM = { load_oob = "ZOM_2000" } create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 42 owner = ZOM prioritize_location = 1510 } } 275 = { add_core_of = ZOM transfer_state_to = ZOM create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 42 owner = ZOM prioritize_location = 11474 } } random_list = { 33 = { 605 = { add_core_of = ZOM transfer_state_to = ZOM create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 42 owner = ZOM prioritize_location = 4086 } } } 33 = { 606 = { add_core_of = ZOM transfer_state_to = ZOM create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 42 owner = ZOM prioritize_location = 7204 } } } 34 = { 607 = { add_core_of = ZOM transfer_state_to = ZOM create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 42 owner = ZOM prioritize_location = 3261 } } } } declare_war_on = { target = RAJ type = annex_everything } add_timed_idea = { idea = shock_and_zombie_awe days = 180 } RAJ = { country_event = zombie.8 create_faction_from_template = faction_template_anti_zombie_coalition } } else = { # Default: INDIA (state 459) add_state_core = 459 transfer_state = 459 load_oob = "ZOM_2000" 459 = { create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 126 owner = ZOM prioritize_location = 1510 } } declare_war_on = { target = RAJ type = annex_everything } add_timed_idea = { idea = shock_and_zombie_awe days = 180 } RAJ = { country_event = zombie.8 create_faction_from_template = faction_template_anti_zombie_coalition } } # Difficulty Settings if = { limit = { has_game_rule = { rule = zombie_difficulty option = HARD } } capital_scope = { create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 129 owner = ZOM } } modify_timed_idea = { idea = shock_and_zombie_awe days = 180 } } if = { limit = { has_game_rule = { rule = zombie_difficulty option = EXTREME } } capital_scope = { create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 258 owner = ZOM } } modify_timed_idea = { idea = shock_and_zombie_awe days = 365 } } if = { limit = { has_game_rule = { rule = zombie_difficulty option = INSANE } } capital_scope = { create_unit = { division = "name = \"Zombie Horde\" division_template = \"Zombie Horde\" start_experience_factor = 0.3" count = 909 owner = ZOM } } add_ideas = { better_instincts } modify_timed_idea = { idea = shock_and_zombie_awe days = 730 } } } } # No engine effect deletes an air wing, so draining the stockpile that annexations keep refilling is the only way to keep zombies out of cockpits. ZOM_purge_captured_equipment = { set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@infantry_weapons_type multiply = -1 } } add_equipment_to_stockpile = { type = infantry_weapons_type amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@land_drone_equipment_type multiply = -1 } } add_equipment_to_stockpile = { type = land_drone_equipment_type amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cnc_equipment_type multiply = -1 } } add_equipment_to_stockpile = { type = cnc_equipment_type amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@AA_Equipment multiply = -1 } } add_equipment_to_stockpile = { type = AA_Equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@L_AT_Equipment multiply = -1 } } add_equipment_to_stockpile = { type = L_AT_Equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@H_AT_Equipment multiply = -1 } } add_equipment_to_stockpile = { type = H_AT_Equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@artillery_equipment multiply = -1 } } add_equipment_to_stockpile = { type = artillery_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@space_artillery_equipment_type multiply = -1 } } add_equipment_to_stockpile = { type = space_artillery_equipment_type amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@util_vehicle_type multiply = -1 } } add_equipment_to_stockpile = { type = util_vehicle_type amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@heavy_util_vehicle_type multiply = -1 } } add_equipment_to_stockpile = { type = heavy_util_vehicle_type amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@HACS_equipment multiply = -1 } } add_equipment_to_stockpile = { type = HACS_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@CHIMERA_equipment multiply = -1 } } add_equipment_to_stockpile = { type = CHIMERA_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@heavy_tank_chassis multiply = -1 } } add_equipment_to_stockpile = { type = heavy_tank_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@heavy_tank_amphibious_chassis multiply = -1 } } add_equipment_to_stockpile = { type = heavy_tank_amphibious_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_tank_chassis multiply = -1 } } add_equipment_to_stockpile = { type = medium_tank_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_tank_aa_chassis multiply = -1 } } add_equipment_to_stockpile = { type = medium_tank_aa_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_tank_artillery_chassis multiply = -1 } } add_equipment_to_stockpile = { type = medium_tank_artillery_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_tank_destroyer_chassis multiply = -1 } } add_equipment_to_stockpile = { type = medium_tank_destroyer_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_tank_amphibious_chassis multiply = -1 } } add_equipment_to_stockpile = { type = medium_tank_amphibious_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_tank_flame_chassis multiply = -1 } } add_equipment_to_stockpile = { type = medium_tank_flame_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_tank_rocket_chassis multiply = -1 } } add_equipment_to_stockpile = { type = medium_tank_rocket_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@super_heavy_tank_chassis multiply = -1 } } add_equipment_to_stockpile = { type = super_heavy_tank_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@super_heavy_tank_destroyer_chassis multiply = -1 } } add_equipment_to_stockpile = { type = super_heavy_tank_destroyer_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@super_heavy_tank_artillery_chassis multiply = -1 } } add_equipment_to_stockpile = { type = super_heavy_tank_artillery_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@walker_tank_chassis multiply = -1 } } add_equipment_to_stockpile = { type = walker_tank_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@heavy_walker_tank_chassis multiply = -1 } } add_equipment_to_stockpile = { type = heavy_walker_tank_chassis amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@small_plane_airframe multiply = -1 } } add_equipment_to_stockpile = { type = small_plane_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@small_plane_cas_airframe multiply = -1 } } add_equipment_to_stockpile = { type = small_plane_cas_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@small_plane_strike_airframe multiply = -1 } } add_equipment_to_stockpile = { type = small_plane_strike_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@small_plane_naval_bomber_airframe multiply = -1 } } add_equipment_to_stockpile = { type = small_plane_naval_bomber_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@small_plane_suicide_airframe multiply = -1 } } add_equipment_to_stockpile = { type = small_plane_suicide_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_small_plane_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_small_plane_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_small_plane_cas_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_small_plane_cas_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_small_plane_strike_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_small_plane_strike_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_small_plane_naval_bomber_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_small_plane_naval_bomber_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_small_plane_suicide_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_small_plane_suicide_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_plane_airframe multiply = -1 } } add_equipment_to_stockpile = { type = medium_plane_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_plane_fighter_airframe multiply = -1 } } add_equipment_to_stockpile = { type = medium_plane_fighter_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_plane_cas_airframe multiply = -1 } } add_equipment_to_stockpile = { type = medium_plane_cas_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_plane_suicide_airframe multiply = -1 } } add_equipment_to_stockpile = { type = medium_plane_suicide_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_plane_maritime_patrol_airframe multiply = -1 } } add_equipment_to_stockpile = { type = medium_plane_maritime_patrol_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@medium_plane_air_transport_airframe multiply = -1 } } add_equipment_to_stockpile = { type = medium_plane_air_transport_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_medium_plane_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_medium_plane_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_medium_plane_fighter_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_medium_plane_fighter_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_medium_plane_cas_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_medium_plane_cas_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_medium_plane_scout_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_medium_plane_scout_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_medium_plane_maritime_patrol_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_medium_plane_maritime_patrol_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@cv_medium_plane_air_transport_airframe multiply = -1 } } add_equipment_to_stockpile = { type = cv_medium_plane_air_transport_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@large_plane_airframe multiply = -1 } } add_equipment_to_stockpile = { type = large_plane_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@large_plane_maritime_patrol_airframe multiply = -1 } } add_equipment_to_stockpile = { type = large_plane_maritime_patrol_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@large_plane_awacs_airframe multiply = -1 } } add_equipment_to_stockpile = { type = large_plane_awacs_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@large_plane_cas_airframe multiply = -1 } } add_equipment_to_stockpile = { type = large_plane_cas_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@large_plane_air_transport_airframe multiply = -1 } } add_equipment_to_stockpile = { type = large_plane_air_transport_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@mothership_equipment multiply = -1 } } add_equipment_to_stockpile = { type = mothership_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@mothership_strike_airframe multiply = -1 } } add_equipment_to_stockpile = { type = mothership_strike_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@mothership_naval_bomber_airframe multiply = -1 } } add_equipment_to_stockpile = { type = mothership_naval_bomber_airframe amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@Missile multiply = -1 } } add_equipment_to_stockpile = { type = Missile amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@sam_missile_equipment multiply = -1 } } add_equipment_to_stockpile = { type = sam_missile_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@guided_missile_equipment multiply = -1 } } add_equipment_to_stockpile = { type = guided_missile_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@hypersonic_missile_equipment multiply = -1 } } add_equipment_to_stockpile = { type = hypersonic_missile_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@ballistic_missile_equipment multiply = -1 } } add_equipment_to_stockpile = { type = ballistic_missile_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@nuclear_ballistic_missile_equipment multiply = -1 } } add_equipment_to_stockpile = { type = nuclear_ballistic_missile_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@nuclear_missile_equipment multiply = -1 } } add_equipment_to_stockpile = { type = nuclear_missile_equipment amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@convoy multiply = -1 } } add_equipment_to_stockpile = { type = convoy amount = ZOM_scrap_stock } set_temp_variable = { ZOM_scrap_stock = { value = num_equipment@train_equipment multiply = -1 } } add_equipment_to_stockpile = { type = train_equipment amount = ZOM_scrap_stock } }