dplmc_random_mixed_gender = (ti_on_agent_spawn, 0, 0, [
(ge, "$g_disable_condescending_comments", 4),
],
[
(store_trigger_param_1, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_get_troop_id, ":troop_no", ":agent_no"),
(neg|troop_is_hero, ":troop_no"),
(neg|is_between, ":troop_no", "trp_follower_woman", "trp_caravan_master"), #always female
#SB : check non-native troop genders
#get individual faction chances
(store_faction_of_troop, ":faction_no", ":troop_no"),
(try_begin), #TODO: this affects the next agent to spawn as well if custom ratio skewed too high
(agent_get_party_id, ":party_no", ":agent_no"),
(party_is_active, ":party_no"),
(store_faction_of_party, ":party_faction", ":party_no"),
# (eq, ":party_faction", "$players_kingdom"),
(call_script, "script_dplmc_get_troop_standing_in_faction", "trp_player", ":party_faction"),
(ge, reg0, DPLMC_FACTION_STANDING_LEADER),
(assign, ":faction_no", "fac_player_supporters_faction"),
(try_end),
(faction_get_slot, ":ratio", ":faction_no", slot_faction_gender_ratio),
(store_random_in_range, ":gender", -100, ":ratio"),
(try_begin),
(le, ":gender", 0),
(troop_set_type, ":troop_no", tf_male),
(else_try),
(troop_set_type, ":troop_no", tf_female),
(try_end),
])