("init_troop_age",
[
(store_script_param, ":troop_no", 1),
(store_script_param, ":age", 2), #minimum 20
(try_begin),
(gt, ":age", 20),
(troop_set_slot, ":troop_no", slot_troop_age, 20),
(else_try),
(troop_set_slot, ":troop_no", slot_troop_age, ":age"),
(try_end),
(store_sub, ":years_to_age", ":age", 20),
(troop_set_age, ":troop_no", 0),
(try_begin),
(gt, ":years_to_age", 0),
(try_for_range, ":unused", 0, ":years_to_age"),
(call_script, "script_age_troop_one_year", ":troop_no"),
(try_end),
(try_end),
]),
#This is probably unnecessarily complicated, but can support a multi-generational mod
("age_troop_one_year",
[
(store_script_param, ":troop_no", 1),
(troop_get_type, ":is_female", ":troop_no"),
(troop_get_slot, ":age", ":troop_no", slot_troop_age),
(troop_get_slot, ":appearance", ":troop_no", slot_troop_age_appearance),
(val_add, ":age", 1),
(store_random_in_range, ":addition", 1, 5),
(try_begin),
(eq, ":is_female", 1),
# (val_add, ":addition", 2), #the women's age slider seems to produce less change than the male one - commented out: makes women look too old.
(try_end),
(val_add, ":appearance", ":addition"),
(try_begin),
(gt, ":age", 45),
(store_attribute_level, ":strength", ":troop_no", ca_strength),
(store_attribute_level, ":agility", ":troop_no", ca_agility),
(store_random_in_range, ":random", 0, 50), #2% loss brings it down to about 36% by age 90, but of course can be counteracted by new level gain
(try_begin),
(lt, ":random", ":strength"),
(troop_raise_attribute, ":troop_no", ca_strength, -1),
(try_end),
(try_begin),
(lt, ":random", ":agility"),
(troop_raise_attribute, ":troop_no", ca_agility, -1),
(try_end),
(try_end),
(val_clamp, ":appearance", 1, 100),
(troop_set_slot, ":troop_no", slot_troop_age, ":age"),
(troop_set_slot, ":troop_no", slot_troop_age_appearance, ":appearance"),
(troop_set_age, ":troop_no", ":appearance"),
]),
我的做法是,力量和敏捷,一次只判定一种,避免力量和敏捷同时降低。而且这种判定有偏向,1/3的机会判定为力量,2/3判定为敏捷。判定为某一种之后,再结合原有的条件,决定是否-1。 一般领主都是15~20点力量,随机数的范围是0-50,降属性的几率为30%~40%。

| 欢迎光临 骑马与砍杀中文站论坛 (https://bbs.mountblade.com.cn/) | Powered by Discuz! X3.4 |