(try_begin),
(eq, "$g_multiplayer_game_type", multiplayer_game_type_captain_coop),
(try_begin),
#check if item is free for troop
(player_get_troop_id, ":player_troop_no", ":my_player_no"),
(call_script, "script_cf_multiplayer_is_item_default_for_troop", ":item_no", ":player_troop_no"),
(store_add, ":player_slot_index", slot_player_selected_item_indices_begin, "$g_presentation_state"),
(val_sub, ":player_slot_index", 1),
(player_set_slot, ":my_player_no", ":player_slot_index", ":item_no"),
(call_script, "script_multiplayer_update_cost_labels"),
(assign, ":end_cond", 0), #break
(else_try),
# can player buy item
(try_begin),
(eq, "$g_multiplayer_game_type", multiplayer_game_type_captain_coop),
(call_script, "script_multiplayer_get_item_value_for_troop", ":item_no", ":troop_no"),
(assign, ":item_price", reg0),
(try_begin),
(is_between, ":item_price", 0, 301),
(assign, ":border_wave", 0),
(else_try),
(is_between, ":item_price", 301, 551),
(assign, ":border_wave", 3),
(else_try),
(is_between, ":item_price", 351, 701),
(assign, ":border_wave", 5),
(else_try),
(is_between, ":item_price", 701, 1101),
(assign, ":border_wave", 8),
(else_try),
(gt, ":item_price", 1001),
(assign, ":border_wave", 11),
(try_end),
(lt, "$g_multiplayer_ccoop_wave_no", ":border_wave"),
(gt, ":border_wave", 1),
(try_end),
(le, ":item_price", ":max_value"),
(store_add, ":player_slot_index", slot_player_selected_item_indices_begin, "$g_presentation_state"),
(val_sub, ":player_slot_index", 1),
(player_set_slot, ":my_player_no", ":player_slot_index", ":item_no"),
(call_script, "script_multiplayer_update_cost_labels"),
(assign, ":end_cond", 0), #break