《騎馬與砍殺》村莊招募player的bug修複
村莊招募player的bug修複
以liberty or death為例,打開scripts.txt,查找cf_village_recruit_volunteers_cond,得到
cf_village_recruit_volunteers_cond -1
12 2147484189 3 144115188075855974 35 2 2147484189 3 144115188075855974 35 1 2147484209 3 144115188075855974 39 1 2204 2 1224979098644774912 144115188075855974 521 3 1224979098644774913 144115188075855974 26 30 2 1224979098644774913 0 1073741854 2 1224979098644774913 5 1073741855 2 1224979098644774912 144115188075856219 31 2 144115188075856219 0 561 3 144115188075855974 93 0 1633 2 1224979098644774914 648518346341351424 30 2 1224979098644774914 1
修改為
cf_village_recruit_volunteers_cond -1
13 2147484189 3 144115188075855972 35 2 2147484189 3 144115188075855972 35 1 2147484209 3 144115188075855972 39 1 2204 2 1224979098644774912 144115188075855972 521 3 1224979098644774913 144115188075855972 26 30 2 1224979098644774913 0 1073741854 2 1224979098644774913 5 1073741855 2 1224979098644774912 144115188075856217 31 2 144115188075856217 0 561 3 144115188075855972 93 0 561 3 144115188075855972 92 1 1633 2 1224979098644774914 648518346341351424 30 2 1224979098644774914 1
原理:
在原版module_scripts.py中,有如下代碼:
("cf_village_recruit_volunteers_cond", #村莊征募志願兵條件
[(neg|party_slot_eq, "$current_town", slot_village_state, svs_looted),
(neg|party_slot_eq, "$current_town", slot_village_state, svs_being_raided),
(neg|party_slot_ge, "$current_town", slot_village_infested_by_bandits, 1),
(store_faction_of_party, ":village_faction", "$current_town"),
(party_get_slot, ":center_relation", "$current_town", slot_center_player_relation),
(ge, ":center_relation", 0),
(this_or_next|ge, ":center_relation", 5),
(this_or_next|eq, ":village_faction", "$players_kingdom"),
(eq, "$players_kingdom", 0),
(party_slot_ge, "$current_town", slot_center_volunteer_troop_amount, 0),
(party_slot_ge, "$current_town", slot_center_volunteer_troop_type, 1), #控制可征兵種類
(party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
(ge, ":free_capacity", 1),
]),
若缺少紅色的語句,則出現招募到player的bug,原理不詳;
把加粗的1改為2,則可招募到2級兵,估計是控制可征兵種數目,未經嚴格測試
這樣修改後征募2級兵的價格與1級兵相同,問能不能寫一段代碼,根據等級計算志願兵價格?