# script_multiplayer_find_bot_troop_and_group_for_spawn
# Input: arg1 = team_no
# Output: reg0 = troop_id, reg1 = group_id
("multiplayer_find_bot_troop_and_group_for_spawn",
[
(store_script_param, ":team_no", 1),
(store_script_param, ":look_only_actives", 2),
(call_script, "script_multiplayer_find_player_leader_for_bot", ":team_no", ":look_only_actives"),
(assign, ":leader_player", reg0),
(assign, ":available_troops_in_faction", 0),
(assign, ":available_troops_to_spawn", 0),
(team_get_faction, ":team_faction_no", ":team_no"),
(store_current_scene, ":cur_scene"),
(try_begin),
(eq, ":cur_scene", "scn_assault_on_malakoff_test"), #place here list of maps where you want infantry-only combat.
(eq, "$g_multiplayer_game_type", multiplayer_game_type_team_deathmatch), #place here names of gamemodes
(try_for_range, ":troop_no", multiplayer_ai_troops_begin, multiplayer_ai_troops_end),
(neg|tf_mounted, ":troop_no"), #condition - no mounted units
(store_troop_faction, ":troop_faction", ":troop_no"),
(eq, ":troop_faction", ":team_faction_no"),
(store_add, ":wanted_slot", slot_player_bot_type_1_wanted, ":available_troops_in_faction"),
(val_add, ":available_troops_in_faction", 1),
(try_begin),
(this_or_next|lt, ":leader_player", 0),
(player_slot_ge, ":leader_player", ":wanted_slot", 1),
(val_add, ":available_troops_to_spawn", 1),
(try_end),
(try_end),
(assign, ":available_troops_in_faction", 0),
(store_random_in_range, ":random_troop_index", 0, ":available_troops_to_spawn"),
(assign, ":end_cond", multiplayer_ai_troops_end),
(try_for_range, ":troop_no", multiplayer_ai_troops_begin, ":end_cond"),
(store_troop_faction, ":troop_faction", ":troop_no"),
(eq, ":troop_faction", ":team_faction_no"),
(store_add, ":wanted_slot", slot_player_bot_type_1_wanted, ":available_troops_in_faction"),
(val_add, ":available_troops_in_faction", 1),
(this_or_next|lt, ":leader_player", 0),
(player_slot_ge, ":leader_player", ":wanted_slot", 1),
(val_sub, ":random_troop_index", 1),
(lt, ":random_troop_index", 0),
(assign, ":end_cond", 0),
(assign, ":selected_troop", ":troop_no"),
(try_end),
(assign, reg0, ":selected_troop"),
(assign, reg1, ":leader_player"),
(else_try),
(try_for_range, ":troop_no", multiplayer_ai_troops_begin, multiplayer_ai_troops_end),
(store_troop_faction, ":troop_faction", ":troop_no"),
(eq, ":troop_faction", ":team_faction_no"),
(store_add, ":wanted_slot", slot_player_bot_type_1_wanted, ":available_troops_in_faction"),
(val_add, ":available_troops_in_faction", 1),
(try_begin),
(this_or_next|lt, ":leader_player", 0),
(player_slot_ge, ":leader_player", ":wanted_slot", 1),
(val_add, ":available_troops_to_spawn", 1),
(try_end),
(try_end),
(assign, ":available_troops_in_faction", 0),
(store_random_in_range, ":random_troop_index", 0, ":available_troops_to_spawn"),
(assign, ":end_cond", multiplayer_ai_troops_end),
(try_for_range, ":troop_no", multiplayer_ai_troops_begin, ":end_cond"),
(store_troop_faction, ":troop_faction", ":troop_no"),
(eq, ":troop_faction", ":team_faction_no"),
(store_add, ":wanted_slot", slot_player_bot_type_1_wanted, ":available_troops_in_faction"),
(val_add, ":available_troops_in_faction", 1),
(this_or_next|lt, ":leader_player", 0),
(player_slot_ge, ":leader_player", ":wanted_slot", 1),
(val_sub, ":random_troop_index", 1),
(lt, ":random_troop_index", 0),
(assign, ":end_cond", 0),
(assign, ":selected_troop", ":troop_no"),
(try_end),
(assign, reg0, ":selected_troop"),
(assign, reg1, ":leader_player"),
(try_end),
]),