# script_increase_rank
# difference can be a negative value
# messes up s11
("increase_rank",
[ (store_script_param_1, ":fac"),# gain rank (need rank points to advance)
(store_script_param_2, ":difference"),
(try_begin),
(is_between, ":fac", kingdoms_begin, kingdoms_end),
(neq, ":difference", 0),
# gain influence = 1/8 rank points gain (rounded) Was 1/10
(faction_get_slot, ":val", ":fac", slot_faction_influence),
(store_add, ":inf_dif", ":difference", 8/2),
(val_div, ":inf_dif",
,
(val_add, ":val", ":inf_dif"),
(faction_set_slot, ":fac", slot_faction_influence, ":val"),
# display message
# (store_mod, reg10, ":difference", 100),(store_div, reg11, ":difference", 100),
# (try_begin), (lt, reg10, 10), (str_store_string, s10, "@.0"), (else_try), (str_store_string, s10, "@."), (try_end),
(str_store_faction_name, s11, ":fac"),
(assign, reg11, ":difference"),
(assign, reg12, ":inf_dif"),
(assign, reg1, 1),
(try_begin),
(lt, reg11, 0),
(val_abs, reg11),
(val_abs, reg12),
(assign, reg1, 0),
(try_end),
# (display_message, "@{reg1?Earned:Lost} {reg12} influence with {s11}.", ":news_color"), # MV: why do this??
(display_message, "@{reg1?Zdobywasz:Tracisz} {reg12} punktów zasług z {s11}.", 0x33DD33),
(try_end),
]),