("camp_recruit_prisoners",0,
"You offer your prisoners freedom if they agree to join you as soldiers. {s18}",
"none",
[(assign, ":num_regular_prisoner_slots", 0),
(party_get_num_prisoner_stacks, ":num_stacks", "p_main_party"),
(try_for_range, ":cur_stack", 0, ":num_stacks"),
(party_prisoner_stack_get_troop_id, ":cur_troop_id", "p_main_party", ":cur_stack"),
(neg|troop_is_hero, ":cur_troop_id"),
(store_character_level, ":level", ":cur_troop_id"),
(le, ":level", 20),
(val_add, ":num_regular_prisoner_slots", 1),
(try_end),
(try_begin),
(eq, ":num_regular_prisoner_slots", 0),
(jump_to_menu, "mnu_camp_no_prisoners"),
(else_try),
(eq, "$g_prisoner_recruit_troop_id", 0),
(store_current_hours, "$g_prisoner_recruit_last_time"),
(store_random_in_range, ":rand", 0, 100),
(store_skill_level, ":persuasion_level", "skl_persuasion", "trp_player"),
(store_sub, ":reject_chance", 15, ":persuasion_level"),
(val_mul, ":reject_chance", 4),
(try_begin),
(lt, ":rand", ":reject_chance"),
(assign, "$g_prisoner_recruit_troop_id", -7),
(else_try),
(assign, ":num_regular_prisoner_slots", 0),
(party_get_num_prisoner_stacks, ":num_stacks", "p_main_party"),
(try_for_range, ":cur_stack", 0, ":num_stacks"),
(party_prisoner_stack_get_troop_id, ":cur_troop_id", "p_main_party", ":cur_stack"),
(neg|troop_is_hero, ":cur_troop_id"),
(store_character_level, ":level", ":cur_troop_id"),
(le, ":level", 20),
(val_add, ":num_regular_prisoner_slots", 1),
(try_end),
(store_random_in_range, ":random_prisoner_slot", 0, ":num_regular_prisoner_slots"),
(try_for_range, ":cur_stack", 0, ":num_stacks"),
(party_prisoner_stack_get_troop_id, ":cur_troop_id", "p_main_party", ":cur_stack"),
(neg|troop_is_hero, ":cur_troop_id"),
(store_character_level, ":level", ":cur_troop_id"),
(le, ":level", 20),
(val_sub, ":random_prisoner_slot", 1),
(lt, ":random_prisoner_slot", 0),
(assign, ":num_stacks", 0),
(assign, "$g_prisoner_recruit_troop_id", ":cur_troop_id"),
(party_prisoner_stack_get_size, "$g_prisoner_recruit_size", "p_main_party", ":cur_stack"),
(try_end),
(try_end),
(try_begin),
(gt, "$g_prisoner_recruit_troop_id", 0),
(party_get_free_companions_capacity, ":capacity", "p_main_party"),
(val_min, "$g_prisoner_recruit_size", ":capacity"),
(assign, reg1, "$g_prisoner_recruit_size"),
(gt, "$g_prisoner_recruit_size", 0),
(try_begin),
(gt, "$g_prisoner_recruit_size", 1),
(assign, reg2, 1),
(else_try),
(assign, reg2, 0),
(try_end),
(str_store_troop_name_by_count, s1, "$g_prisoner_recruit_troop_id", "$g_prisoner_recruit_size"),
(str_store_string, s18, "@{reg1} {s1} {reg2?accept:accepts} the offer."),
(else_try),
(str_store_string, s18, "@No one accepts the offer."),
(try_end),
(try_end),
],