(store_script_param_1, ":source"),
(store_faction_of_party, ":faction", ":source"),
###### Exodus begin ######
# Spawn some deserters.
(store_div, ":deserter_no", ":population", 100),
# some inhabitants flee to nearby centers
(val_sub, ":population", ":deserter_no"),
(val_div, ":population", 3),
(assign, ":max_dist", 50),
(assign, ":total_deserters", 0),
(set_spawn_radius, 0),
(assign, ":end_cond", centers_end),
(try_for_range, ":cur_center", centers_begin, ":end_cond"),
(neq, ":cur_center", ":center_no"),
(neq, ":cur_center", ":source"),
(store_distance_to_party_from_party, ":cur_dist", ":source", ":cur_center"),
(le, ":cur_dist", ":max_dist"),
(try_begin),
(party_slot_eq, ":cur_center", slot_party_type, spt_town),
(store_random_in_range, ":deserter_no", 100, 200),
(else_try),
(party_slot_eq, ":cur_center", slot_party_type, spt_castle),
(store_random_in_range, ":deserter_no", 30, 50),
(else_try),
(party_slot_eq, ":cur_center", slot_party_type, spt_village),
(store_random_in_range, ":deserter_no", 20, 150),
(try_end),
(spawn_around_party, ":source", "pt_town_runaways"),
(party_add_members, reg0, "trp_mercenary_e_townsman", ":deserter_no"),
(party_set_flags, reg0, pf_default_behavior, 0),
(party_set_faction, reg0, ":faction"),
(party_set_slot, reg0, slot_party_home_center, ":source"),
(party_set_slot, reg0, slot_party_type, spt_town_runaway),
(party_set_slot, reg0, slot_party_ai_state, spai_trading_with_town),
(party_set_slot, reg0, slot_party_ai_object, ":cur_center"),
(party_set_ai_behavior, reg0, ai_bhvr_travel_to_party),
(party_set_ai_object, reg0, ":cur_center"),
(val_add, ":total_deserters", ":deserter_no"),
(try_begin),
(ge, ":total_deserters", ":population"),
(assign, ":end_cond", ":cur_center"), #break
(try_end),
(try_end),
###### Exodus end ######