####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##说明 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### 原来大M写的兵营系统,很好很强大。非常喜欢。 但是有那么一些地方与16世纪不是那么契合。 首先,那个系统里面随机出现的兵种只是每个国家兵种树的前5个序号的兵种,而16世纪的兵种树比它要大一点,导致有些兵永远不会出现在兵营里面,而一直会出现的有时候又是最高级的兵。导致了一定的不平衡。 于是我打算把它修改成根据国家的征兵模板来征兵。 第二,原来的系统使用起来没有限制,导致人人都去兵营征兵,村庄的招募兵以及城镇的招募官系统形同虚设。 于是打算增加一个好感度的限制:与城镇好感度超过5以后开启第一层征兵,好感度超过10以后开启第二层征兵;与城堡好感度超过10以后开启第三层征兵。 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##汉化修改 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### @game_strings.csv ####################################################################################################################################### str_reinforcements_windmelodie|{reg3}个 {s2}, @game_menus.csv ####################################################################################################################################### 替换 menu_barrack|这 里 是 {s2}的 兵 营 。 添加 mno_join_a|看 看 这 里 的 新 兵。 mno_join_b|看 看 这 里 的 正 规 军。 mno_join_c|看 看 这 里 的 老 兵。 menu_reinforcements_a|这 里 有 {s1} 招 募 他 们 将 花 费 {reg0}第 纳 尔 menu_reinforcements_b|这 里 有 {s1} 招 募 他 们 将 花 费 {reg0}第 纳 尔 menu_reinforcements_c|这 里 有 {s1} 招 募 他 们 将 花 费 {reg0}第 纳 尔 mno_not_enough_relationship|这 些 士 兵 觉 得 你 对 {s2}不 够 友 好,不 愿 跟 随 你 mno_not_enough_money|你 的 钱 不 够 mno_not_enough_space|你 的 队 伍 已 经 快 满 员 了 mno_hire_them|招 募 他 们 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##py修改 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### @module_strings.py ####################################################################################################################################### 添加 ("reinforcements_windmelodie", "{reg3}{s2},"), @module_scripts.py ####################################################################################################################################### # script_cal_temp_party_price by windmelodie # This script is called for calculating the totall cost of temp_party # Input: # Output: reg0 = cost,s1 = description of temp_party ("cal_temp_party_price", [ (party_get_num_companion_stacks, ":num_stacks","p_temp_party"), (str_clear, s1), (assign,":total_price",0), (try_for_range, ":stack_no", 0, ":num_stacks"), (party_stack_get_troop_id, ":stack_troop","p_temp_party",":stack_no"), (party_stack_get_size, ":stack_size","p_temp_party",":stack_no"), (call_script,"script_game_get_join_cost",":stack_troop"), (assign,reg1,reg0), (val_mul,reg1,":stack_size"), (val_add,":total_price",reg1), (str_store_troop_name_plural,s2,":stack_troop"), (assign,reg3,":stack_size"), (str_store_string, s3, "str_reinforcements_windmelodie"), (str_store_string, s1, "@{s1}{s3}"), (try_end), (assign,reg0,":total_price"), ]), @module_simple_triggers.py ####################################################################################################################################### 替换 ## ZZ barrack changed by windmelodie for castle begin (72, [ (try_for_range, ":center_no", walled_centers_begin, walled_centers_end), (party_set_slot,":center_no",slot_center_troop_1,1), (try_end), (party_set_slot,"p_fort",slot_center_troop_1,1), ]), ## ZZ barrack changed by windmelodie for castle end @module_game_menus.py ####################################################################################################################################### 替换 ## ZZ develop begin changed by windmelodie ("aid_to_develop", [(is_between, "$current_town",walled_centers_begin, walled_centers_end)], "Aid the center to develop.", [ (try_begin), (call_script, "script_cf_enter_center_location_bandit_check"), (else_try), (jump_to_menu, "mnu_aid_to_develop"), (try_end), ]), ## ZZ Aid to develop end changed by windmelodie 替换 ## ZZ barrack changed by windmelodie begin ("barrack",0, "Here is the barrack of {s2}.", "none", [(str_store_party_name, s2, "$current_town"),], [ ("join_a", [(is_between,"$current_town",towns_begin,towns_end),], "Have a look at some new warriors", [(jump_to_menu, "mnu_reinforcements_a"),] ), ("join_b", [(is_between,"$current_town",towns_begin,towns_end),], "Have a look at some warriors", [(jump_to_menu, "mnu_reinforcements_b"),] ), ("join_c", [(this_or_next|eq,"$current_town","p_fort"), (is_between,"$current_town",castles_begin,castles_end),], "Have a look at some senior warriors", [(jump_to_menu, "mnu_reinforcements_c"),] ), ("forget_it",[],"Forget it.", [ (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ]), ## ZZ barrack changed by windmelodie end 增加 #barrack added by windmelodie begin ("reinforcements_a",0, "here are {s20} and you need {reg20} to hire them", "none", [ (store_faction_of_party, ":party_faction", "$current_town"), (faction_get_slot, ":party_template", ":party_faction", slot_faction_reinforcements_a), (party_clear, "p_temp_party"), (party_add_template, "p_temp_party", ":party_template"), (party_add_template, "p_temp_party", ":party_template"), (call_script, "script_cal_temp_party_price"), (str_store_string, s20, s1), (assign,reg20,reg0), ], [ ("not_enough_relationship", [ (neg|party_slot_ge, "$current_town", slot_center_player_relation, 5), (str_store_party_name, s2, "$current_town"), ], "these warriors don't trust you", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("not_enough_money", [ (party_slot_ge, "$current_town", slot_center_player_relation, 5), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (lt,":gold",":cost"), ], "you don't have enough money", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("not_enough_space", [ (party_slot_ge, "$current_town", slot_center_player_relation, 5), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (ge,":gold",":cost"), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (store_party_size_wo_prisoners,":capacity","p_temp_party"), (lt,":free_capacity",":capacity"), ], "you dont have enough space", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("hire_them", [ (party_slot_ge, "$current_town", slot_center_player_relation, 5), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (ge,":gold",":cost"), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (store_party_size_wo_prisoners,":capacity","p_temp_party"), (ge,":free_capacity",":capacity"), ], "hire them", [ (call_script, "script_party_add_party_companions", "p_main_party", "p_temp_party"), (call_script, "script_cal_temp_party_price"), (troop_remove_gold, "trp_player", reg0), (party_set_slot,"$current_town",slot_center_troop_1,-1), (party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("forget_it", [ (party_slot_ge, "$current_town", slot_center_player_relation, 5), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (ge,":gold",":cost"), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (store_party_size_wo_prisoners,":capacity","p_temp_party"), (ge,":free_capacity",":capacity"), ], "Forget it.", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ]), ("reinforcements_b",0, "here are {s20} and you need {reg20} to hire them", "none", [ (store_faction_of_party, ":party_faction", "$current_town"), (faction_get_slot, ":party_template", ":party_faction", slot_faction_reinforcements_b), (party_clear, "p_temp_party"), (party_add_template, "p_temp_party", ":party_template"), (call_script, "script_cal_temp_party_price"), (str_store_string, s20, s1), (assign,reg20,reg0), ], [ ("not_enough_relationship", [ (neg|party_slot_ge, "$current_town", slot_center_player_relation, 10), (str_store_party_name, s2, "$current_town"), ], "these warriors don't trust you", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("not_enough_money", [ (party_slot_ge, "$current_town", slot_center_player_relation, 10), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (lt,":gold",":cost"), ], "you don't have enough money", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("not_enough_space", [ (party_slot_ge, "$current_town", slot_center_player_relation, 10), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (ge,":gold",":cost"), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (store_party_size_wo_prisoners,":capacity","p_temp_party"), (lt,":free_capacity",":capacity"), ], "you dont have enough space", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("hire_them", [ (party_slot_ge, "$current_town", slot_center_player_relation, 10), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (ge,":gold",":cost"), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (store_party_size_wo_prisoners,":capacity","p_temp_party"), (ge,":free_capacity",":capacity"), ], "hire them", [ (call_script, "script_party_add_party_companions", "p_main_party", "p_temp_party"), (call_script, "script_cal_temp_party_price"), (troop_remove_gold, "trp_player", reg0), (party_set_slot,"$current_town",slot_center_troop_1,-1), (party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("forget_it", [ (party_slot_ge, "$current_town", slot_center_player_relation, 10), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (ge,":gold",":cost"), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (store_party_size_wo_prisoners,":capacity","p_temp_party"), (ge,":free_capacity",":capacity"), ], "Forget it.", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ]), ("reinforcements_c",0, "here are {s20} and you need {reg20} to hire them", "none", [ (store_faction_of_party, ":party_faction", "$current_town"), (faction_get_slot, ":party_template", ":party_faction", slot_faction_reinforcements_c), (party_clear, "p_temp_party"), (party_add_template, "p_temp_party", ":party_template"), (call_script, "script_cal_temp_party_price"), (str_store_string, s20, s1), (assign,reg20,reg0), ], [ ("not_enough_relationship", [ (neg|party_slot_ge, "$current_town", slot_center_player_relation, 10), (str_store_party_name, s2, "$current_town"), ], "these warriors don't trust you", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("not_enough_money", [ (party_slot_ge, "$current_town", slot_center_player_relation, 10), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (lt,":gold",":cost"), ], "you don't have enough money", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("not_enough_space", [ (party_slot_ge, "$current_town", slot_center_player_relation, 10), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (ge,":gold",":cost"), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (store_party_size_wo_prisoners,":capacity","p_temp_party"), (lt,":free_capacity",":capacity"), ], "you dont have enough space", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("hire_them", [ (party_slot_ge, "$current_town", slot_center_player_relation, 10), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (ge,":gold",":cost"), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (store_party_size_wo_prisoners,":capacity","p_temp_party"), (ge,":free_capacity",":capacity"), ], "hire them", [ (call_script, "script_party_add_party_companions", "p_main_party", "p_temp_party"), (call_script, "script_cal_temp_party_price"), (troop_remove_gold, "trp_player", reg0), (party_set_slot,"$current_town",slot_center_troop_1,-1), (party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ("forget_it", [ (party_slot_ge, "$current_town", slot_center_player_relation, 10), (call_script, "script_cal_temp_party_price"), (assign,":cost",reg0), (store_troop_gold, ":gold", "trp_player"), (ge,":gold",":cost"), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (store_party_size_wo_prisoners,":capacity","p_temp_party"), (ge,":free_capacity",":capacity"), ], "Forget it.", [(party_clear, "p_temp_party"), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ] ), ]), #barrack added by windmelodie end