|
本帖最后由 rubik 于 2016-10-16 01:42 编辑
答案是:年龄。 游戏开始的时候,游戏的家族系统就会随机分配领主,夫人之间的关系,比如父子,配偶,子女,亲戚之类的关系,然后自动设定领主(包括夫人)的年龄。 问题就出在领主的年龄上。
先打开module_scripts.py,找到“init_troop_age”,这个就是设定年龄的。
("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),
]),
看下来,也没有发现什么问题。那就继续看它引用的script,即age_troop_one_year。
#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"),
]),
问题的症结已经很明显展现出来了,领主的岁数大于45的时候,力量和敏捷可能会随机-1,具体的看代码里的条件。关键问题在于,age_troop_one_year不止执行一次,而是(领主年龄-20)次。 领主年龄小于等于45岁的时候,没什么问题。 大于45岁的时候,每执行一次age_troop_one_year,力量和敏捷就有可能会-1。比如某个领主50岁,则有5次机会使得力量和敏捷-1。
力量和敏捷是分开判定的,可能每次两者都-1,可能只有一者-1,也有可能两者都不-1。
总体来说,只有力量和敏捷受了影响,智力和魅力不受影响。 敏捷降低,影响不大,而力量降低则影响很大,很多盔甲和武器都是要求力量的,力量小了领主就装备不上。 于是就会看到有的领主上了战场,盔甲穿不上,就穿便装。武器拿不了,就空手上阵的。
|
评分
-
参与人数 1 | 第纳尔 +100 |
互助 +1 |
贡献 +5 |
收起
理由
|
蛋清
| + 100 |
+ 1 |
+ 5 |
感谢发表经验文章! |
查看全部评分
鲜花鸡蛋古月一江 在2016-11-1 09:09 送朵鲜花 并说:原来领主五十年退休啊。 蛋清 在2016-10-15 23:01 送朵鲜花 并说:交学费 达尔克内斯 在2016-10-15 19:59 送朵鲜花 并说:引以为鉴。
|