# INPUT: arg1 = none
# OUTPUT: reg0 = companion_limit
("game_get_party_companion_limit",
[
(assign, ":troop_no", "trp_player"),
(assign, ":limit", 30),
(store_skill_level, ":skill", "skl_leadership", ":troop_no"),
(store_attribute_level, ":charisma", ":troop_no", ca_charisma),
(val_mul, ":skill", 5),
(val_add, ":limit", ":skill"),
(val_add, ":limit", ":charisma"),
(troop_get_slot, ":troop_renown", ":troop_no", slot_troop_renown),
(store_div, ":renown_bonus", ":troop_renown", 25),
(val_add, ":limit", ":renown_bonus"),
#each (charisma level) gives 1 to limit
(val_add, ":limit", ":charisma"),
(try_begin),
(gt, "$players_kingdom", 0),
(faction_slot_eq, "$players_kingdom", slot_faction_leader, ":troop_no"), #bonus for king
(val_add, ":limit", 100),
(assign, reg6, 100), #For size report
(else_try),
(assign, reg6, 0), #For size report
(try_end),
(try_begin),
(gt, "$players_kingdom", 0), #updated by DruDru the Magniscisiscent
(faction_slot_eq, "$players_kingdom", slot_faction_marshall, ":troop_no"), #bonus for marshall
(val_add, ":limit", 20),
(assign, reg7, 20), #For size report
(else_try),
(assign, reg7, 0), #For size report
(try_end),
(assign, ":fief_count", 0),
(assign, ":pre_limit", ":limit"),
(try_for_range, ":cur_center", centers_begin, centers_end),
(party_slot_eq, ":cur_center", slot_town_lord, ":troop_no"),
(val_add, ":fief_count", 1),
(party_slot_eq, ":cur_center", slot_party_type, spt_castle), #This will do what this loop did previously, giving a 20 troop boost for each castle owned
(val_add, ":limit", 20),
(try_end),
(store_sub, ":pre_limit", ":limit", ":pre_limit"),
(assign, reg8, ":pre_limit"), #For size report, castles
(try_begin),
(gt, ":fief_count", 0),
(val_add, ":limit", 5), #bonus for holding at least one fief and therefore being nobility
(assign, reg9, 5), #For size report
(else_try),
(assign, reg9, 0), #For size report
(try_end),
(assign, reg0, ":limit"),
(set_trigger_result, reg0),
]),