####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##说明 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### 城堡系列的修改太多了。。 大家还是进游戏看说明吧。。 反正就是增加了不少新功能。 主要是改进了巡逻队和增加了兵营。 城堡其他功能以后还会添加的 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##汉化修改 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### @factions.csv ####################################################################################################################################### fac_player_supporters_faction|{s0}的 追 随 者 @dialogs.csv ####################################################################################################################################### dlga_outpost_patrol:outpost_patrol_pretalk.3|回 {s1}吧 dlga_outpost_patrol:outpost_patrol_pretalk.4|把 你 的 俘 虏 给 我 dlga_outpost_patrol:outpost_patrol_pretalk.5|再 招 一 些 士 兵 吧(1000第 纳 尔) @troops.csv ####################################################################################################################################### trp_fort_rider|巡 逻 队 长 @quick_strings.csv ####################################################################################################################################### 替换 qstr_Outpost_built!|驻 扎 地 建 立 了 qstr_You_don_t_have_enoug|你 没 有 足 够 的 钱 qstr_Outpost_upgraded.|前 哨 升 级 qstr_You_don_t_have_enough|你 没 有 足 够 的 钱 qstr_Patrol_enlisted!|巡 逻 队 已 经 组 建 qstr_Outpost_Patrol|{s1}的 巡 逻 队 qstr_You_don_t_have_enough_|你 没 有 足 够 的 钱 qstr_Basic|基 础 的 qstr_Regular|正 规 的 qstr_Advanced|加 强 的 qstr_Expert|专 业 的 qstr_Patrol_trained!|巡 逻 队 训 练 qstr_You_don_t_have_enough_m|你 没 有 足 够 的 钱 qstr_Outpost_demolished.|前 哨 移 除 qstr_You_don_t_have_enough_mo|你 没 有 足 够 的 钱 qstr__Your_own_banner_flies|你 的 旗 帜 飘 扬 在 城 楼 上 qstr__You_see_the_banner_of|你 看 见 {s7} 的 旗 帜 飘 扬 在 城 楼 上 @game_strings.csv ####################################################################################################################################### 替换 str_name_kingdom_text|你 的 王 国/ 追 随 者 的 名 字 str_default_kingdom_name|{s0} 的 追 随 者 增加 str_name_fort_text|你 的 城 堡 的 新 名 字 str_patrol_defeated|你 的 巡 逻 队 被 敌 人 消 灭 了。 替换 str_enterprise_s5_at_s0|{s0}的 {s5} @game_menus.csv ####################################################################################################################################### 替换 mno_action_rename_kingdom|配 置 你 的 王 国/ 追 随 者 替换 mno_build_outpost|建 立 一 个 驻 扎 地 (2000 第 纳 尔) mno_camp_end_outpost|返 回 驻 扎 地 菜 单 menu_outpost|你 进 入 了 你 的 驻 扎 地。 ^^ 你 打 算 ? mno_outpost_walk_around|四 处 走 走 mno_outpost_upgrade|升 级 ! (可 以 组 建 巡 逻 队)(5000 第 纳 尔) mno_outpost_to_fort|升 级 为 城 堡 (可 以 使 用 兵 营)(10000第 纳 尔) mno_outpost_enlist_patrol|组 建 巡 逻 队 (3000 第 纳 尔) 增加 mno_outpost_patrol_back|召 回 巡 逻 队 替换 mno_fort_rename|重 命 名 {s1} mno_fort_wait|在 这 里 休 息 一 会 儿 {s1}。 mno_build_castle|建 立 一 个 聚 集 点 .(5000) mno_change_castle_position|更 换 聚 集 点 位 置 .(1500) 改为 mno_change_outpost_position|移 动 你 的 驻 扎 地 到 这 里。(5000第 纳 尔) mno_change_fort_position|移 动 {s1}到 这 里。(8000第 纳 尔) @parties.csv ####################################################################################################################################### 替换 p_outpost_1|驻 扎 地 p_fort|城 堡 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##py修改 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### @module_parties.py ####################################################################################################################################### 替换 #-## Outposts begin ("outpost_1","Outpost",icon_training_ground|pf_disabled|pf_is_static|pf_always_visible|pf_show_faction|pf_label_small, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0, 0),[]), ("outpost_2","Outpost",icon_village_a|pf_disabled|pf_is_static|pf_always_visible|pf_show_faction|pf_label_small, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(1, -1),[]), ("fort","Fort",icon_castle_a|pf_disabled|pf_is_static|pf_always_visible|pf_show_faction|pf_label_medium, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(1, 1),[]), #-## Outposts end @module_dialogs.py ####################################################################################################################################### 整段替换 #-## Outposts changen by windmelodie begin # Lumos: Patrol talks. I added some fuctions [anyone ,"start", [(this_or_next|party_slot_eq, "p_outpost_1", slot_outpost_patrol, "$g_encountered_party"), (this_or_next|party_slot_eq, "p_outpost_2", slot_outpost_patrol, "$g_encountered_party"), (party_slot_eq, "p_fort", slot_outpost_patrol, "$g_encountered_party"), (neq, "$talk_context", tc_merchants_house), # Bugfix # Report current activity: (party_get_slot, ":patrol_state", "$g_encountered_party", slot_cattle_driven_by_player), (try_begin), (eq, ":patrol_state", 1), (str_store_string, s1, "@We are currently following you."), (else_try), (eq, ":patrol_state", 0), (str_store_string, s1, "@We are currently holding this location."), (else_try), # Assume that patrolling is the normal activity (str_store_string, s1, "@We are currently patrolling around the area."), (try_end), ], "Good day, {sir/madam}. Is there anything we can do for you? {s1}", "outpost_patrol",[]], [anyone,"outpost_patrol_pretalk", [], "Anything else?", "outpost_patrol",[]], # Lumos: Stolen from the cattle herding. :D [anyone|plyr,"outpost_patrol", [(neg|party_slot_eq, "$g_encountered_party", slot_cattle_driven_by_player, 1)], "Follow me.", "outpost_patrol_pretalk",[ (party_set_slot, "$g_encountered_party", slot_cattle_driven_by_player, 1), (party_set_ai_behavior, "$g_encountered_party", ai_bhvr_escort_party), (party_set_ai_object,"$g_encountered_party", "p_main_party"), ]], [anyone|plyr,"outpost_patrol", [(neg|party_slot_eq, "$g_encountered_party", slot_cattle_driven_by_player, 0)], "Hold this location.", "outpost_patrol_pretalk",[ (party_set_slot, "$g_encountered_party", slot_cattle_driven_by_player, 0), (party_set_ai_behavior, "$g_encountered_party", ai_bhvr_hold), ]], [anyone|plyr,"outpost_patrol", [(neg|party_slot_eq, "$g_encountered_party", slot_cattle_driven_by_player, 2)], "Patrol around this location.", "outpost_patrol_pretalk",[ (party_set_slot, "$g_encountered_party", slot_cattle_driven_by_player, 2), (party_get_position, pos1, "$g_encountered_party"), (party_set_ai_behavior, "$g_encountered_party", ai_bhvr_patrol_location), (party_set_ai_object, "$g_encountered_party", "$g_encountered_party"), (party_set_ai_patrol_radius, "$g_encountered_party", 10), (party_set_ai_target_position, "$g_encountered_party", pos1), ]], [anyone|plyr,"outpost_patrol", [(neg|party_slot_eq, "$g_encountered_party", slot_cattle_driven_by_player, 3), (try_begin), (party_slot_eq, "p_fort", slot_outpost_patrol,0 ), (str_store_party_name, s1, "p_outpost_1"), (else_try), (str_store_party_name, s1, "p_fort"), (try_end), ], "Go back to {s1}.", "outpost_patrol_pretalk",[ (party_set_slot, "$g_encountered_party", slot_cattle_driven_by_player, 3), (party_set_ai_behavior, "$g_encountered_party", ai_bhvr_escort_party), (try_begin), (party_slot_eq, "p_fort", slot_outpost_patrol,0 ), (party_set_ai_object,"$g_encountered_party", "p_outpost_1"), (else_try), (party_set_ai_object,"$g_encountered_party", "p_fort"), (try_end), ]], [anyone|plyr,"outpost_patrol", [(party_get_num_prisoner_stacks, ":prisoner_stacks","$g_encountered_party"), (gt,":prisoner_stacks",0), ], "give me your prisoners.", "outpost_patrol_pretalk", [(party_get_num_prisoner_stacks, ":prisoner_stacks","$g_encountered_party"), (assign,":stack_del",0), (try_for_range, ":stack_no", 0, ":prisoner_stacks"), (assign,":stack_real",":stack_no"), (val_sub,":stack_real",":stack_del"), (party_prisoner_stack_get_troop_id, ":stack_troop","$g_encountered_party",":stack_real"), (party_prisoner_stack_get_size, ":stack_size","$g_encountered_party",":stack_real"), (party_get_free_prisoners_capacity,":prisoners_capacity","p_main_party"), (gt,":prisoners_capacity",":stack_size"), (party_add_prisoners, "p_main_party", ":stack_troop", ":stack_size"), (party_remove_prisoners ,"$g_encountered_party",":stack_troop", ":stack_size"), (val_add,":stack_del",1), (try_end), ]], [anyone|plyr,"outpost_patrol", [(faction_slot_eq,"fac_mod_variables",slot_Mod_fort_patrol_reinforce,0), (party_get_num_companions,":member","$g_encountered_party"), (lt,":member",150), ], "I want you to hire more soilders.", "outpost_patrol_pretalk", [(call_script, "script_cf_reinforce_patrol", "$g_encountered_party"), (faction_set_slot,"fac_mod_variables",slot_Mod_fort_patrol_reinforce,1), ]], [anyone|plyr,"outpost_patrol", [], "Continue your activities.", "outpost_patrol_end",[]], [anyone, "outpost_patrol_end", [(assign, "$g_leave_encounter", 1)], "Aye, {sir/madam}.", "close_window", [(jump_to_menu, "mnu_auto_return")]], # Fort Captain (should it be a woman called Kelly Chambers? :P ) [trp_fort_captain ,"start", [], "How may I help you, Commander?", "fort_captain",[]], [anyone ,"fort_captain_pretalk", [], "Anything else, Commander?", "fort_captain",[]], [anyone|plyr, "fort_captain", [], "Is there anything I should know?.", "fort_captain_nothing", []], #yifeng [anyone|plyr,"fort_captain", [], "Would you allow me to check out your equipment?", "fort_captain_equip",[]], [anyone,"fort_captain_equip", [], "Very well, it's all here...", "fort_captain_pretalk",[ (change_screen_equip_other), ]], # [anyone|plyr,"fort_captain", [], "If it would please you, can you tell me about your skills?", "fort_captain_view_char_requested",[]], [anyone,"fort_captain_view_char_requested", [], "Well, all right.", "fort_captain_pretalk",[(change_screen_view_character)]], #yifeng [anyone|plyr, "fort_captain", [(assign, "$g_leave_encounter", 1)], "That'll be all.", "close_window", [(change_screen_return, 0)]], [anyone ,"fort_captain_nothing", [], "Nothing right now.", "fort_captain_pretalk",[]], #-## Outposts changen by windmelodie end @module_troops.py ####################################################################################################################################### ["fort_rider","Patrol","Guards",tf_hero|tf_allways_fall_dead|tf_no_capture_alive|tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_horse|tf_guarantee_gloves|tf_guarantee_shield,0,0,fac_player_faction, [itm_iron_greaves,itm_hourglass_gauntlets_l,itm_sword_renai,itm_platemail_harness_05,itm_armet_01,itm_armet_02,itm_heavy_lance,itm_courser,itm_hunter,itm_cartridges,itm_pistol_a,itm_pistol_b], str_12|agi_15|int_4|cha_4|level(35),wpe(150,130,130,130)| wp_firearm (140) ,knows_leadership_2|knows_riding_8|knows_prisoner_management_5|knows_power_strike_4|knows_reserved_1_1|knows_spotting_2|knows_pathfinding_5|knows_athletics_5|knows_weapon_master_5|knows_ironflesh_4|knows_reserved_14_4,mercenary_face_1, mercenary_face_2], @module_strings.py ####################################################################################################################################### 增加 ("name_fort_text", "Rename your castle"), ("patrol_defeated", "your patrol has probably been defeated"), @module_simple_triggers.py ####################################################################################################################################### ## ZZ barrack begin (72, [ (try_for_range, ":center_no", walled_centers_begin, walled_centers_end), (call_script, "script_update_volunteer_troops_in_town_and_castle", ":center_no"), (party_set_slot,":center_no",slot_center_troop_1,reg0), (try_end), ]), ## ZZ barrack end 改为 ## ZZ barrack changed by windmelodie for castle begin (72, [ (try_for_range, ":center_no", walled_centers_begin, walled_centers_end), (call_script, "script_update_volunteer_troops_in_town_and_castle", ":center_no"), (party_set_slot,":center_no",slot_center_troop_1,reg0), (try_end), (call_script, "script_update_volunteer_troops_in_town_and_castle", "p_fort"), (party_set_slot,"p_fort",slot_center_troop_1,reg0), ]), ## ZZ barrack changed by windmelodie for castle end ####################################################################################################################################### 添加 ## Windmelodie Patrol begin (24, [(try_begin), (faction_slot_eq,"fac_mod_variables",slot_Mod_fort_patrol_reinforce,1), (faction_set_slot,"fac_mod_variables",slot_Mod_fort_patrol_reinforce,0), (else_try), ]), ## Windmelodie Patrol end ## Windmelodie fort begin (24 * 7, [(store_random_in_range,":random",-2,2), (party_get_slot,":prosperity","p_fort", slot_town_prosperity), (val_add,":prosperity",":random"), (party_set_slot, "p_fort", slot_town_prosperity,":prosperity"), ]), ## Windmelodie fort end ####################################################################################################################################### #Collect taxes for another week (try_for_range, ":center_no", centers_begin, centers_end), (try_begin), 替换为 #Collect taxes for another week (try_for_range, ":center_no", centers_begin, "p_zhai"), (this_or_next|lt,":center_no",centers_end), (eq, ":center_no","p_fort"), (try_begin), @scripts.py ####################################################################################################################################### 开头添加 (party_set_slot, "p_fort", slot_town_lord, -1), ####################################################################################################################################### #Name faction (try_begin), (is_between, ":liege", active_npcs_begin, active_npcs_end), (store_faction_of_troop, ":liege_faction"), (is_between, ":liege_faction", npc_kingdoms_begin, npc_kingdoms_end), (faction_get_slot, ":adjective_string", ":liege_faction", slot_faction_adjective), (str_store_string, s1, ":adjective_string"), #(faction_set_name, "fac_player_supporters_faction", "@{s1} Rebels"), (else_try), (str_store_troop_name, s2, ":liege"), (str_store_string, s1, "str_s2s_rebellion"), (try_end), (faction_set_color, "fac_player_supporters_faction", 0xFF0000), (assign, "$players_kingdom", "fac_player_supporters_faction"), (assign, "$g_player_banner_granted", 1), 替换为 #Name faction (try_begin), (is_between, ":liege", active_npcs_begin, active_npcs_end), (store_faction_of_troop, ":liege_faction"), (is_between, ":liege_faction", npc_kingdoms_begin, npc_kingdoms_end), (faction_get_slot, ":adjective_string", ":liege_faction", slot_faction_adjective), (str_store_string, s1, ":adjective_string"), (faction_set_name, "fac_player_supporters_faction", "@{s1} Rebels"), (else_try), (str_store_troop_name, s2, ":liege"), (str_store_string, s1, "str_s2s_rebellion"), (try_end), #(faction_set_color, "fac_player_supporters_faction", 0xFF0000), (assign, "$players_kingdom", "fac_player_supporters_faction"), (assign, "$g_player_banner_granted", 1), ####################################################################################################################################### (try_begin), (neg|is_between, "$g_encountered_party", centers_begin, centers_end), (rest_for_hours, 0), #stop waiting (assign, "$g_infinite_camping", 0), (try_end), # (assign, "$g_permitted_to_center",0), (assign, "$new_encounter", 1), #check this in the menu. (try_begin), (lt, "$g_encountered_party_2",0), #Normal encounter. Not battle or siege. (try_begin), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_town), (jump_to_menu, "mnu_castle_outside"), (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_castle), (jump_to_menu, "mnu_castle_outside"), (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_ship), (jump_to_menu, "mnu_ship_reembark"), (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_village), (jump_to_menu, "mnu_village"), (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_cattle_herd), (jump_to_menu, "mnu_cattle_herd"), #-## Outposts begin (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_outpost), (jump_to_menu, "mnu_outpost"), (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_fort), (jump_to_menu, "mnu_fort"), #-## Outposts end 替换为 (try_begin), (neg|is_between, "$g_encountered_party", centers_begin, centers_end), (rest_for_hours, 0), #stop waiting (assign, "$g_infinite_camping", 0), (try_end), # (assign, "$g_permitted_to_center",0), (assign, "$new_encounter", 1), #check this in the menu. (try_begin), (lt, "$g_encountered_party_2",0), #Normal encounter. Not battle or siege. (try_begin), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_town), (jump_to_menu, "mnu_castle_outside"), (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_castle), #windmelodie Outposts change begin (try_begin), (eq,"$g_encountered_party","p_outpost_1"), (jump_to_menu, "mnu_outpost"), (else_try), (eq,"$g_encountered_party","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_castle_outside"), (try_end), #windmelodie Outposts change end (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_ship), (jump_to_menu, "mnu_ship_reembark"), (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_village), (jump_to_menu, "mnu_village"), (else_try), (party_slot_eq, "$g_encountered_party", slot_party_type, spt_cattle_herd), (jump_to_menu, "mnu_cattle_herd"), #-## Outposts begin #(else_try), # (party_slot_eq, "$g_encountered_party", slot_party_type, spt_outpost), # (jump_to_menu, "mnu_outpost"), #(else_try), # (party_slot_eq, "$g_encountered_party", slot_party_type, spt_fort), # (jump_to_menu, "mnu_fort"), #-## Outposts end ####################################################################################################################################### (try_begin), (eq, ":faction_no", "fac_player_supporters_faction"), (assign, ":reln_with_player", 100), (else_try), (store_relation, ":reln_with_player", ":faction_no", "fac_player_supporters_faction"), (try_end), 替换为 (try_begin), (eq, ":faction_no", "fac_player_supporters_faction"), (assign, ":reln_with_player", 100), #windmelodie add for patrol begin (else_try), (eq, ":faction_no", "fac_player_faction"), (assign, ":reln_with_player", 100), (assign, ":player_faction",1), #windmelodie add for patrol end (else_try), (store_relation, ":reln_with_player", ":faction_no", "fac_player_supporters_faction"), (try_end), ####################################################################################################################################### (party_get_slot, ":party_type", ":party_no"), (eq, ":party_type", spt_kingdom_hero_party), (party_stack_get_troop_id, ":leader", ":party_no", 0), #(troop_get_slot, ":player_relation", ":leader", slot_troop_player_relation), (call_script, "script_troop_get_player_relation", ":leader"), (assign, ":player_relation", reg0), 改为 (party_get_slot, ":party_type", ":party_no"), #windmelodie add for patrol begin (this_or_next|eq, ":player_faction",1), #windmelodie add for patrol end (eq, ":party_type", spt_kingdom_hero_party), (party_stack_get_troop_id, ":leader", ":party_no", 0), #(troop_get_slot, ":player_relation", ":leader", slot_troop_player_relation), (call_script, "script_troop_get_player_relation", ":leader"), (assign, ":player_relation", reg0), ####################################################################################################################################### (this_or_next|ge, ":player_relation", 0), (eq, ":join_even_you_do_not_like_player", 1), 前加入 #windmelodie add for patrol begin (this_or_next|eq, ":player_faction",1), #windmelodie add for patrol end ####################################################################################################################################### 在 ############################################################################################################################ ## Recruiter kit begin yifeng ############################################################################################################################ # This little fella just shows a message when a recruiter is defeated. (try_begin), (party_slot_eq, ":root_defeated_party", slot_party_type, spt_recruiter), (party_get_slot, reg10, ":root_defeated_party", slot_party_recruiter_needed_recruits), (party_get_slot, ":party_origin", ":root_defeated_party", slot_party_recruiter_origin), (str_store_party_name_link, s13, ":party_origin"), (display_log_message, "@Your recruiter who was commissioned to recruit {reg10} recruits to {s13} has been defeated!", 0xFF0000), (try_end), ############################################################################################################################ ## Recruiter kit end ############################################################################################################################ 前加 ## Windmelodie Patrol defeated report begin (try_begin), (try_begin), (party_get_slot, ":outpost_patrol","p_fort", slot_outpost_patrol ), (eq,":outpost_patrol",0), (party_get_slot, ":outpost_patrol","p_outpost_1", slot_outpost_patrol ), (try_end), (eq, ":root_defeated_party", ":outpost_patrol"), (party_set_slot, "p_fort", slot_outpost_patrol,0 ), (party_set_slot, "p_outpost_1", slot_outpost_patrol,0 ), (display_log_message, "str_patrol_defeated"), (try_end), ## Windmelodie Patrol defeated report end ####################################################################################################################################### 添加 # script_cf_reinforce_patrol by windmelodie # Input: arg1 = party_no, # Output: none # Adds reinforcement to patrol according to its faction ("cf_reinforce_patrol", [ (store_script_param_1, ":party_no"), (faction_get_slot, ":party_template_a", "fac_player_supporters_faction", slot_faction_reinforcements_a), (faction_get_slot, ":party_template_b", "fac_player_supporters_faction", slot_faction_reinforcements_b), (faction_get_slot, ":party_template_c", "fac_player_supporters_faction", slot_faction_reinforcements_c), (assign, ":party_template", 0), (store_random_in_range, ":rand", 0, 100), (try_begin), (lt, ":rand", 50), (assign, ":party_template", ":party_template_a"), (else_try), (lt, ":rand", 75), (assign, ":party_template", ":party_template_b"), (else_try), (assign, ":party_template", ":party_template_c"), (try_end), (try_begin), (party_add_template, ":party_no", ":party_template"), (try_end), ]), ####################################################################################################################################### ## ZZ barrack begin (try_for_range, ":center_no", walled_centers_begin, walled_centers_end), (call_script, "script_update_volunteer_troops_in_town_and_castle", ":center_no"), (party_set_slot,":center_no",slot_center_troop_1,reg0), (try_end), ## ZZ barrack end 替换为 ## ZZ barrack changed by windmelodie for castle begin (try_for_range, ":center_no", walled_centers_begin, walled_centers_end), (call_script, "script_update_volunteer_troops_in_town_and_castle", ":center_no"), (party_set_slot,":center_no",slot_center_troop_1,reg0), (try_end), (call_script, "script_update_volunteer_troops_in_town_and_castle", "p_fort"), (party_set_slot,"p_fort",slot_center_troop_1,reg0), ## ZZ barrack changed by windmelodie for castle end ####################################################################################################################################### 整段替换 ## changed by windmelodie for castle begin ("update_volunteer_troops_in_town_and_castle", [ (store_script_param, ":center_no", 1), #(party_get_slot, ":center_culture", ":center_no", slot_center_culture), (store_faction_of_party, ":center_faction",":center_no"), #(faction_get_slot, ":center_culture", slot_faction_culture,":center_faction"), (faction_get_slot, ":volunteer_troop", ":center_faction", slot_faction_tier_1_troop), (store_random_in_range, ":random_no", 0, 5), (val_add,":volunteer_troop",":random_no"), (store_random_in_range, ":amount", 15, 30), (assign, reg0, ":volunteer_troop"), (val_mul,":amount",10000), (val_add,reg0,":amount"), ]), ## changed by windmelodie for castle end @module_presentations.py ####################################################################################################################################### #Enterprise ends, taxes begin 前添加 ## windmelodie fort taxes (try_begin), (eq,":center_no","p_fort"), (assign,":forttaxes",0), (else_try), (assign,":forttaxes",1), (try_end), (try_begin), (party_slot_eq, "p_fort", slot_outpost_level, 1), (assign,":forttaxes",1), (try_end), (eq,":forttaxes",1), ## windmelodie fort taxes ####################################################################################################################################### (else_try), (this_or_next|party_slot_eq, ":party_no", slot_party_type, spt_town), (party_slot_eq, ":party_no", slot_party_type, spt_castle), (neg|party_slot_ge, ":party_no", slot_town_lord, 1), #unassigned (store_faction_of_party, ":center_faction", ":party_no"), (eq, ":center_faction", "fac_player_supporters_faction"), (faction_slot_eq, "fac_player_supporters_faction", slot_faction_leader, "trp_player"), (assign, ":garrison_troop", 1), (try_end), 替换为(2次)(#Half payment for garrisons之前那段) (else_try), (this_or_next|party_slot_eq, ":party_no", slot_party_type, spt_town), (party_slot_eq, ":party_no", slot_party_type, spt_castle), (neg|party_slot_ge, ":party_no", slot_town_lord, 1), #unassigned (store_faction_of_party, ":center_faction", ":party_no"), (eq, ":center_faction", "fac_player_supporters_faction"), (faction_slot_eq, "fac_player_supporters_faction", slot_faction_leader, "trp_player"), #add by windmelodie for fort begin (neg|eq, ":party_no","p_outpost_1"), (neg|eq, ":party_no","p_fort"), #add by windmelodie for fort end (assign, ":garrison_troop", 1), (try_end), ####################################################################################################################################### (try_for_range, ":center_no", centers_begin, centers_end), (party_slot_eq, ":center_no", slot_town_lord, "trp_player"), (party_set_slot, ":center_no", slot_center_accumulated_rents, 0), (party_set_slot, ":center_no", slot_center_accumulated_tariffs, 0), 替换为 (try_for_range, ":center_no", centers_begin, "p_zhai"), #add by windmelodie for fort begin (this_or_next|lt,":center_no",centers_end), (eq, ":center_no","p_fort"), #add by windmelodie for fort end (party_slot_eq, ":center_no", slot_town_lord, "trp_player"), (party_set_slot, ":center_no", slot_center_accumulated_rents, 0), (party_set_slot, ":center_no", slot_center_accumulated_tariffs, 0), ####################################################################################################################################### (assign, ":all_centers_accumulated_total", 0), (assign, ":all_centers_accumulated_taxes_and_rents", 0), (try_for_range, ":center_no", centers_begin, centers_end), (try_begin), 替换为 (assign, ":all_centers_accumulated_total", 0), (assign, ":all_centers_accumulated_taxes_and_rents", 0), (try_for_range, ":center_no", centers_begin, "p_zhai"), #add by windmelodie for fort begin (this_or_next|lt,":center_no",centers_end), (eq, ":center_no","p_fort"), #add by windmelodie for fort end (try_begin), ####################################################################################################################################### (try_for_range, ":center_no", centers_begin, centers_end), #Enterprise (try_begin), 替换为 #add by windmelodie for fort begin (try_for_range, ":center_no", centers_begin, "p_zhai"), (this_or_next|lt,":center_no",centers_end), (eq, ":center_no","p_fort"), #add by windmelodie for fort end #Enterprise (try_begin), ####################################################################################################################################### ("name_kingdom",0,mesh_load_window,[ 前添加 ("name_fort",0,mesh_load_window,[ (ti_on_presentation_load, [(set_fixed_point_multiplier, 1000), (str_store_string, s1, "str_name_fort_text"), (create_text_overlay, reg1, s1, tf_center_justify), (position_set_x, pos1, 500), (position_set_y, pos1, 500), (overlay_set_position, reg1, pos1), (overlay_set_text, reg1, s1), (create_simple_text_box_overlay, "$g_presentation_obj_name_kingdom_1"), (position_set_x, pos1, 400), (position_set_y, pos1, 400), (overlay_set_position, "$g_presentation_obj_name_kingdom_1", pos1), (str_store_party_name,s7,"p_fort"), (overlay_set_text, "$g_presentation_obj_name_kingdom_1", s7), (try_end), (create_button_overlay, "$g_presentation_obj_name_kingdom_2", "@Continue...", tf_center_justify), (position_set_x, pos1, 500), (position_set_y, pos1, 300), (overlay_set_position, "$g_presentation_obj_name_kingdom_2", pos1), (presentation_set_duration, 999999), ]), (ti_on_presentation_event_state_change, [(store_trigger_param_1, ":object"), (try_begin), (eq, ":object", "$g_presentation_obj_name_kingdom_1"), (str_store_string, s7, s0), (else_try), (eq, ":object", "$g_presentation_obj_name_kingdom_2"), (party_set_name, "p_fort", s7), (presentation_set_duration, 0), (try_end), ]), ]), ####################################################################################################################################### 整段替换 ("name_kingdom",0,mesh_load_window,[ (ti_on_presentation_load, [(set_fixed_point_multiplier, 1000), #(call_script, "script_presentation_load"), ## Windmelodie Kingdom_color begin ## add RGB box to change color of player_supporters_faction (str_store_string, s1, "str_name_kingdom_text"), (create_text_overlay, reg1, s1, tf_center_justify), (position_set_x, pos1, 400), (position_set_y, pos1, 600), (overlay_set_position, reg1, pos1), (overlay_set_text, reg1, s1), (create_simple_text_box_overlay, "$g_presentation_obj_name_kingdom_1"), (position_set_x, pos1, 100), (position_set_y, pos1, 500), (overlay_set_position, "$g_presentation_obj_name_kingdom_1", pos1), (try_begin), (eq, "$players_kingdom_name_set", 1), (str_store_faction_name, s7, "fac_player_supporters_faction"), (overlay_set_text, "$g_presentation_obj_name_kingdom_1", s7), (else_try), (str_store_troop_name, s0, "trp_player"), (overlay_set_text, "$g_presentation_obj_name_kingdom_1", "str_default_kingdom_name"), (str_store_string, s7, "str_default_kingdom_name"), (try_end), (assign,":color_Mix",0), (assign,":color_Red",0), (assign,":color_Green",0), (assign,":color_Blue",0), #RGB Box (create_number_box_overlay, reg2,0,256),#Red Box (position_set_x, pos1, 100), (position_set_y, pos1, 400), (overlay_set_position, reg2, pos1), (create_number_box_overlay, reg3,0,256),#Green Box (position_set_x, pos1, 100), (position_set_y, pos1, 375), (overlay_set_position, reg3, pos1), (create_number_box_overlay, reg4,0,256),#Blue Box (position_set_x, pos1, 100), (position_set_y, pos1, 350), (overlay_set_position, reg4, pos1), (create_mesh_overlay, reg5, "mesh_white_plane"),#Color Box (position_set_x, pos1, 200), (position_set_y, pos1, 350), (overlay_set_position, reg5, pos1), (position_set_x, pos1, 2500), (position_set_y, pos1, 3900), (overlay_set_size, reg5, pos1), (faction_get_color, ":color_Mix", "fac_player_supporters_faction"), (overlay_set_color, reg5, ":color_Mix"), (store_mod, ":color_Blue", ":color_Mix", 0x100), (val_div, ":color_Mix", 0x100), (store_mod, ":color_Green", ":color_Mix", 0x100), (val_div, ":color_Mix", 0x100), (store_mod, ":color_Red", ":color_Mix", 0x100), (overlay_set_val, reg2, ":color_Red"), (overlay_set_val, reg3, ":color_Green"), (overlay_set_val, reg4, ":color_Blue"), ## Windmelodie Kingdom_color end ## ZZ custom_kingdom_troop (assign,reg20,0), (assign,reg19,0), (assign,reg21,0), (create_check_box_overlay, "$g_presentation_obj_1", "mesh_checkbox_off", "mesh_checkbox_on"), (position_set_x, pos1, 400), (position_set_y, pos1, 400), (overlay_set_position, "$g_presentation_obj_1", pos1), (overlay_set_val, "$g_presentation_obj_1",0), (create_text_overlay, "$g_presentation_obj_2", "@Create your own kindom troops!", tf_center_justify), (position_set_x, pos1, 620), (position_set_y, pos1, 395), (overlay_set_position, "$g_presentation_obj_2", pos1), (create_check_box_overlay, "$g_presentation_obj_3", "mesh_checkbox_off", "mesh_checkbox_on"), (position_set_x, pos1, 400), (position_set_y, pos1, 510), (overlay_set_position, "$g_presentation_obj_3", pos1), (overlay_set_val, "$g_presentation_obj_3",0), (create_text_overlay, "$g_presentation_obj_5", "@Use the Existed kindoms' troops!", tf_center_justify), (position_set_x, pos1, 630), (position_set_y, pos1, 505), (overlay_set_position, "$g_presentation_obj_5", pos1), (create_combo_label_overlay, "$g_presentation_obj_4"), (position_set_x, pos1, 600), (position_set_y, pos1, 450), (overlay_set_position, "$g_presentation_obj_4", pos1), (try_for_range, ":cur_faction", npc_kingdoms_begin, npc_kingdoms_end), (str_store_faction_name, s0, ":cur_faction"), (overlay_add_item, "$g_presentation_obj_4", s0), (try_end), (overlay_set_val, "$g_presentation_obj_4", npc_kingdoms_begin), (overlay_set_display, "$g_presentation_obj_4", 0), ## ZZ custom_kingdom_troop (create_button_overlay, "$g_presentation_obj_name_kingdom_2", "@Continue...", tf_center_justify), (position_set_x, pos1, 500), (position_set_y, pos1, 300), (overlay_set_position, "$g_presentation_obj_name_kingdom_2", pos1), (presentation_set_duration, 999999), ]), (ti_on_presentation_event_state_change, [(store_trigger_param_1, ":object"), (store_trigger_param_2, ":value"), (try_begin), ## Windmelodie Kingdom_color begin (this_or_next|eq,":object", reg2), (this_or_next|eq,":object", reg3), (eq,":object", reg4), (faction_get_color, ":color_Mix", "fac_player_supporters_faction"), (store_mod, ":color_Blue", ":color_Mix", 0x100), (val_div, ":color_Mix", 0x100), (store_mod, ":color_Green", ":color_Mix", 0x100), (val_div, ":color_Mix", 0x100), (store_mod, ":color_Red", ":color_Mix", 0x100), (try_begin), (eq,":object", reg2), (assign, ":color_Red", ":value"), (else_try), (eq,":object", reg3), (assign, ":color_Green", ":value"), (else_try), (eq,":object", reg4), (assign, ":color_Blue", ":value"), (try_end), (assign, ":color_Mix", 0xFF), (val_mul, ":color_Mix", 0x100), (val_add, ":color_Mix", ":color_Red"), (val_mul, ":color_Mix", 0x100), (val_add, ":color_Mix", ":color_Green"), (val_mul, ":color_Mix", 0x100), (val_add, ":color_Mix", ":color_Blue"), (overlay_set_color, reg5, ":color_Mix"), ## Windmelodie Kingdom_color begin (faction_set_color, "fac_player_supporters_faction", ":color_Mix"), ## Windmelodie Kingdom_color end (else_try), ## Windmelodie Kingdom_color end (eq, ":object", "$g_presentation_obj_name_kingdom_1"), (str_store_string, s7, s0), (else_try), (eq, ":object", "$g_presentation_obj_1"), (neq,reg19,1), (overlay_set_val, "$g_presentation_obj_1",":value"), (assign,reg20,":value"), (else_try), (eq, ":object", "$g_presentation_obj_3"), (neq,reg20,1), (overlay_set_val, "$g_presentation_obj_3",":value"), (overlay_set_display, "$g_presentation_obj_4", ":value"), (assign,reg19,":value"), (else_try), (eq, ":object", "$g_presentation_obj_4"), (overlay_set_val, "$g_presentation_obj_4",":value"), (assign,reg21,":value"), (else_try), (eq, ":object", "$g_presentation_obj_name_kingdom_2"), (faction_set_name, "fac_player_supporters_faction", s7), (assign, "$players_kingdom_name_set", 1), ## ZZ custom_kingdom_troop (try_begin), (eq,reg20,1), (assign,"$g_player_culture",0), (call_script, "script_player_faction_troops"), (start_presentation, "prsnt_custom_kingdom_troop"), (else_try), (eq,reg19,1), (val_add,reg21,1), (assign,"$g_player_culture",reg21), (call_script, "script_player_faction_troops"), (presentation_set_duration, 0), (try_end), ## ZZ custom_kingdom_troop (try_end), ]), (ti_on_presentation_run, [ (set_fixed_point_multiplier, 1000), #(call_script, "script_presentation_run"), ]), ]), @module_game_menus.py ####################################################################################################################################### 替换 ## ZZ ("build_castle",[ (party_get_current_terrain,":terrain","p_main_party"), (neq,":terrain",7), (neq,":terrain",15), (eq,"$has_a_temp_castle",0), (store_troop_gold,":gold","trp_player"), (ge,":gold",5000), ],"Build a temp castle.(5000)", [ (party_get_position, pos1, "p_main_party"), (party_set_position, "p_zhai", pos1), (enable_party,"p_zhai"), (party_set_faction, "p_zhai", "$players_kingdom"), (party_set_slot,"p_zhai", slot_town_lord,"trp_player"), (troop_remove_gold,"trp_player",1500), (assign,"$has_a_temp_castle",1), (change_screen_map), ] ), ("change_castle_position",[ (eq,"$has_a_temp_castle",1), (store_troop_gold,":gold","trp_player"), (ge,":gold",1500), ],"Change temp castle position.(1500)", [ (party_get_position, pos1, "p_main_party"), (party_set_position, "p_zhai", pos1), (troop_remove_gold,"trp_player",1500), (change_screen_map), ] ), ## ZZ 为 ##windmelodie move outpost fort begin ("change_outpost_position", [(this_or_next|party_slot_eq, "p_outpost_1", slot_outpost_level, 1), (party_slot_eq, "p_outpost_1", slot_outpost_level, 2),], "Change temp castle position.(5000)", [(store_troop_gold, ":gold_amount", "trp_player"), (try_begin), (ge, ":gold_amount", 5000), (party_relocate_near_party, "p_outpost_1", "p_main_party"), (troop_remove_gold,"trp_player",5000), (else_try), (lt, ":gold_amount", 5000), (display_message, "@You don't have enough money to build an outpost!"), (try_end), (change_screen_map), ] ), ("change_fort_position", [(party_slot_eq, "p_outpost_1", slot_outpost_level, 3), (str_store_party_name, s1, "p_fort"),], "Change {s1} position.(8000)", [(store_troop_gold, ":gold_amount", "trp_player"), (try_begin), (ge, ":gold_amount", 8000), (party_relocate_near_party, "p_fort", "p_main_party"), (troop_remove_gold,"trp_player",8000), (else_try), (lt, ":gold_amount", 8000), (display_message, "@You don't have enough money to build an outpost!"), (try_end), (change_screen_map), ] ), ##windmelodie move outpost fort end ####################################################################################################################################### 替换 ## ZZ barrack changed by windmelodie begin ("barrack",0, "Here is the barrack of {s2}. {reg20} {s1} are ready to fight! Do you need them to reinforce your army?", "none", [ (str_store_party_name, s2, "$current_town"), (party_get_slot,":num","$current_town",slot_center_troop_1), (store_div,":number",":num",10000), (store_mod,":troop_no",":num",10000), (str_store_troop_name_plural,s1,":troop_no"), (assign,reg20,":number"), ], [ ("join", [ (party_get_slot,":num","$current_town",slot_center_troop_1), (store_div,":number",":num",10000), (store_mod,":troop_no",":num",10000), (call_script,"script_game_get_upgrade_cost",":troop_no"), (store_add,reg1,reg0,10), (party_get_free_companions_capacity, ":free_capacity", "p_main_party"), (val_min, ":number",":free_capacity"), (store_troop_gold, ":gold", "trp_player"), (store_div,":max_capacity",":gold",reg1), (val_min, ":number", ":max_capacity"), (assign,reg2,":number"), (assign,reg3,":troop_no"), (val_mul,reg1,":number"), ], "Let {reg2} of them to join you(need {reg1} denars).", [ (party_add_members, "p_main_party", reg3, reg2), (party_set_slot, "$current_town", slot_center_troop_1, -1), (troop_remove_gold, "trp_player", reg1), (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ]), ("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 ("back_to_previous_menu", [], "Return.", [ (try_begin), (eq, reg12, 1), (jump_to_menu, "mnu_village"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ]), ]), ## ZZ Aid to develop end 替换为 ("back_to_previous_menu", [], "Return.", [ (try_begin), (ge,"$current_town","p_fort"), (jump_to_menu, "mnu_fort"), (else_try), (eq, reg12, 1), (jump_to_menu, "mnu_village"), (else_try), (jump_to_menu, "mnu_town"), (try_end), ]), ]), ## ZZ Aid to develop end ####################################################################################################################################### 整段替换 ("action_rename_kingdom", [ (assign,":result",0), (try_begin), (party_slot_ge, "p_outpost_1", slot_outpost_level, 1), (assign,":result",1), (else_try), (eq, "$players_kingdom_name_set", 1), (faction_slot_eq, "fac_player_supporters_faction", slot_faction_state, sfs_active), (faction_slot_eq, "fac_player_supporters_faction", slot_faction_leader, "trp_player"), (assign,":result",1), (try_end), (eq,":result",1), ],"Rename your kingdom.", [(start_presentation, "prsnt_name_kingdom"), ] ), ####################################################################################################################################### 删除 #-## Outposts begin ("action_manage_outposts",[],"Manage your Outposts.", [(jump_to_menu, "mnu_manage_outposts")]), #-## Outposts end ####################################################################################################################################### 删除 ("manage_outposts", 0, "The Outpost Management Menu. ^^ Choose an action:", "none", [], [("build_outpost", [(this_or_next|neg|party_slot_ge, "p_outpost_1", slot_outpost_level, 1),(neg|party_slot_ge, "p_outpost_2", slot_outpost_level, 1)], "Build an Outpost. (3500 denars)", [(store_troop_gold, ":gold_amount", "trp_player"), (try_begin), (ge, ":gold_amount", 3500), (assign, ":outpost_party", -1), (try_begin), (party_slot_eq, "p_outpost_1", slot_outpost_level, 0), (assign, ":outpost_party", "p_outpost_1"), (else_try), (party_slot_eq, "p_outpost_2", slot_outpost_level, 0), (assign, ":outpost_party", "p_outpost_2"), (else_try), (display_message, "@You have reached the outpost limit!"), (try_end), (gt, ":outpost_party", 0), (troop_remove_gold, "trp_player", 3500), (party_relocate_near_party, ":outpost_party", "p_main_party"), (store_faction_of_party, ":fac_player", "p_main_party"), (call_script, "script_give_center_to_faction_aux", ":outpost_party", ":fac_player"), (call_script, "script_give_center_to_lord", ":outpost_party", "trp_player", 0), (party_set_slot, ":outpost_party", slot_party_type, spt_outpost), (party_set_slot, ":outpost_party", slot_outpost_level, 1), (rest_for_hours, 6, 5, 1), # Lumos: A crude way to add waiting. (enable_party, ":outpost_party"), (display_message, "@Outpost built!"), (change_screen_return), (else_try), (lt, ":gold_amount", 3500), (display_message, "@You don't have enough money to build an outpost!"), (try_end), ]), # ("build_fort", [(neg|party_slot_ge, "p_fort", slot_outpost_level, 1), # (eq, 1, 0) # This option is disabled # ], # "Build a Fort. (25000 denars)", # [(store_troop_gold, ":gold_amount", "trp_player"), # (try_begin), # (ge, ":gold_amount", 25000), # (troop_remove_gold, "trp_player", 25000), # (party_relocate_near_party, "p_fort", "p_main_party"), # (store_faction_of_party, ":fac_player", "p_main_party"), # (call_script, "script_give_center_to_faction_aux", "p_fort", ":fac_player"), # (call_script, "script_give_center_to_lord", "p_fort", "trp_player", 0), # (party_set_slot, "p_fort", slot_party_type, spt_fort), # (party_set_slot, "p_fort", slot_outpost_level, 1), # (rest_for_hours, 24, 5, 1), # Lumos: I don't like it much. # (change_screen_return), # (enable_party, "p_fort"), # (display_message, "@Fort built!"), # (else_try), # (party_slot_ge, "p_fort", slot_outpost_level, 1), # (display_message, "@You have reached the fort limit!"), # (else_try), # (lt, ":gold_amount", 25000), # (display_message, "@You don't have enough money to build a fort!"), # (try_end), # ]), ("camp_end_outpost", [], "Return to your camp.", [(jump_to_menu, "mnu_camp")] )] ), ####################################################################################################################################### 在 ##windmelodie move outpost fort begin ("change_outpost_position", 之前添加 #Windmelodie Outpost Changed begin ("build_outpost", [(neg|party_slot_ge, "p_outpost_1", slot_outpost_level, 1), #(this_or_next|neg|party_slot_ge, "p_outpost_1", slot_outpost_level, 1), #(neg|party_slot_ge, "p_outpost_2", slot_outpost_level, 1) (troop_slot_ge, "trp_player", slot_troop_renown, 200), (ge,"$player_right_to_rule",5), ], "Build an Outpost. (2000 denars)", [(store_troop_gold, ":gold_amount", "trp_player"), (try_begin), (ge, ":gold_amount", 2000), (assign, ":outpost_party", -1), (try_begin), (party_slot_eq, "p_outpost_1", slot_outpost_level, 0), (assign, ":outpost_party", "p_outpost_1"), #(else_try), # (party_slot_eq, "p_outpost_2", slot_outpost_level, 0), # (assign, ":outpost_party", "p_outpost_2"), #(else_try), # (display_message, "@You have reached the outpost limit!"), (try_end), (gt, ":outpost_party", 0), (troop_remove_gold, "trp_player", 2000), (party_relocate_near_party, ":outpost_party", "p_main_party"), #(call_script, "script_give_center_to_faction_aux", ":outpost_party", "player_supporters_faction"), #(call_script, "script_give_center_to_lord", ":outpost_party", "trp_player", 0), #Windmelodie add #(faction_set_slot,"fac_player_supporters_faction",slot_faction_state, sfs_active), (party_set_faction, ":outpost_party", "fac_player_supporters_faction"), (troop_get_slot, ":cur_banner", "trp_player", slot_troop_banner_scene_prop), (gt, ":cur_banner", 0), (val_sub, ":cur_banner", banner_scene_props_begin), (val_add, ":cur_banner", banner_map_icons_begin), (party_set_banner_icon,":outpost_party", ":cur_banner"), (party_set_slot, ":outpost_party", slot_outpost_patrol,0 ), (party_set_slot, ":outpost_party", slot_town_lord, "trp_player"), (party_set_slot, ":outpost_party", slot_party_type, spt_castle), (party_set_slot, ":outpost_party", slot_outpost_level, 1), #(rest_for_hours, 6, 5, 1), # Lumos: A crude way to add waiting. (enable_party, ":outpost_party"), (display_message, "@Outpost built!"), (change_screen_return), (eq, "$players_kingdom_name_set", 0), (start_presentation, "prsnt_name_kingdom"),\ (change_screen_map), (else_try), (lt, ":gold_amount", 2000), (display_message, "@You don't have enough money to build an outpost!"), (try_end), ]), #Windmelodie Outpost Changed end ####################################################################################################################################### 整段替换 #Windmelodie Outpost Changed begin ("outpost", 0, "You pass across the barricades and enter the outpost. ^^ What do you want to do?", "none", [], [ ("outpost_upgrade", [(party_slot_eq, "$g_encountered_party", slot_outpost_level, 1)], "Upgrade outpost (better patrols and defences)(5000 denars)", [ (store_troop_gold, ":gold_amount", "trp_player"), (try_begin), (ge, ":gold_amount", 5000), (troop_remove_gold, "trp_player", 5000), #(rest_for_hours, 8, 5, 1), # Lumos: I should try thinking of something better. (party_set_slot, "$g_encountered_party", slot_outpost_level, 2), (display_message, "@Outpost upgraded."), (change_screen_return), (else_try), (lt, ":gold_amount", 5000), (display_message, "@You don't have enough money to upgrade the outpost"), (try_end), ]), ("outpost_to_fort", [(ge,"$player_right_to_rule",20),(party_slot_eq, "$g_encountered_party", slot_outpost_level, 2),(neg|party_slot_ge, "p_fort", slot_outpost_level, 1)], "Expand outpost to a fortified stronghold (10000)", [ (store_troop_gold, ":gold_amount", "trp_player"), (try_begin), (ge, ":gold_amount", 10000), (troop_remove_gold, "trp_player", 10000), (party_set_slot, "$g_encountered_party", slot_outpost_level, 3), (party_get_slot, ":patrol", "$g_encountered_party", slot_outpost_patrol), (party_set_slot, "$g_encountered_party", slot_outpost_patrol, 0), (party_set_slot, "$g_encountered_party", slot_town_lord, -1), (call_script, "script_party_copy", "p_temp_party", "$g_encountered_party"), (disable_party, "$g_encountered_party"), (party_relocate_near_party, "p_fort", "p_main_party"), #(store_faction_of_party, ":fac_player", "p_main_party"), # Copy the outpost garrison into temp_party #(call_script, "script_give_center_to_faction_aux", "p_fort", ":fac_player"), #(call_script, "script_give_center_to_lord", "p_fort", "trp_player", 0), #Windmelodie add (party_set_faction, "p_fort", "fac_player_supporters_faction"), (troop_get_slot, ":cur_banner", "trp_player", slot_troop_banner_scene_prop), (gt, ":cur_banner", 0), (val_sub, ":cur_banner", banner_scene_props_begin), (val_add, ":cur_banner", banner_map_icons_begin), (party_set_banner_icon,"p_fort", ":cur_banner"), (party_set_slot, "p_fort", slot_party_type, spt_castle), (party_set_slot, "p_fort", slot_outpost_level, 1), (party_set_slot, "p_fort", slot_town_lord, "trp_player"), (enable_party, "p_fort"), (call_script, "script_party_copy", "p_fort", "p_temp_party"), # Move the temp_party garriosn to the fort (party_clear, "p_temp_party"), # Lumos: Forts seem to disappear somehow, if there is no garrison. (party_add_leader, "p_fort", "trp_fort_captain"), # That's why we add an immovable leader. (party_is_active, ":patrol"), (party_set_ai_object, ":patrol", "p_fort"), (party_set_slot, "p_fort", slot_outpost_patrol, ":patrol"), #(rest_for_hours, 18, 5, 1), # Lumos: I really don't like it. At all. (display_message, "@Outpost upgraded."), (call_script, "script_update_volunteer_troops_in_town_and_castle", "p_fort"), (party_set_slot,"p_fort",slot_center_troop_1,reg0), (party_set_slot, "p_fort", slot_town_prosperity,50), (change_screen_return), (else_try), (lt, ":gold_amount", 10000), (display_message, "@You don't have enough money to upgrade the outpost"), (try_end), ]), ("outpost_patrol_back", [(neg|party_slot_eq, "$g_encountered_party", slot_outpost_patrol, 0)], "call back patrol", [(party_get_slot, ":outpost_patrol","$g_encountered_party",slot_outpost_patrol), (party_set_slot, ":outpost_patrol", slot_cattle_driven_by_player, 3), (party_set_ai_behavior, ":outpost_patrol", ai_bhvr_escort_party), (party_set_ai_object,":outpost_patrol", "$g_encountered_party"), (change_screen_return), ]), ("outpost_enlist_patrol", [(party_slot_eq, "$g_encountered_party", slot_outpost_patrol, 0), (party_slot_ge, "$g_encountered_party", slot_outpost_level, 2),], "Enlist a patrol (3000 denars)", [(store_troop_gold, ":gold_amount", "trp_player"), (try_begin), #(party_slot_ge, "$g_encountered_party", slot_outpost_level, 1), (ge, ":gold_amount", 3000), (troop_remove_gold, "trp_player", 3000), (set_spawn_radius, 2), (spawn_around_party, "$g_encountered_party", "pt_kingdom_hero_party"), (assign, ":outpost_patrol", reg0), (party_add_members, ":outpost_patrol", "trp_fort_rider", 1), #ADD TROOPS HERE (party_set_faction, ":outpost_patrol",fac_player_faction), (party_set_flags, ":outpost_patrol", pf_default_behavior, 0), (party_set_aggressiveness, ":outpost_patrol", 10), # Very aggressive (party_set_courage, ":outpost_patrol", 10), # Even more courageous (party_set_slot, ":outpost_patrol", slot_cattle_driven_by_player, 2), # I use this to dictate tehir behaviour (party_set_ai_behavior, ":outpost_patrol", ai_bhvr_patrol_location), (party_set_ai_object, ":outpost_patrol", "$g_encountered_party"), (party_get_position, pos1, "$g_encountered_party"), (party_set_ai_patrol_radius, ":outpost_patrol", 10), (party_set_ai_target_position, ":outpost_patrol", pos1), (display_message, "@Patrol enlisted!"), (party_set_slot, "$g_encountered_party", slot_outpost_patrol, ":outpost_patrol"), (party_set_slot, ":outpost_patrol", slot_outpost_level, 1), (party_set_slot, ":outpost_patrol", slot_party_type, spt_patrol), (str_store_troop_name, s1, "trp_player"), (party_set_name, ":outpost_patrol", "@Outpost Patrol"), (call_script, "script_cf_reinforce_patrol", ":outpost_patrol"), (call_script, "script_cf_reinforce_patrol", ":outpost_patrol"), (call_script, "script_cf_reinforce_patrol", ":outpost_patrol"), (faction_set_slot,"fac_mod_variables",slot_Mod_fort_patrol_reinforce,0), (faction_get_slot, ":cur_faction_banner", "fac_player_supporters_faction", slot_faction_banner), (val_sub, ":cur_faction_banner", banner_meshes_begin), (val_add, ":cur_faction_banner", banner_map_icons_begin), (party_set_banner_icon, ":outpost_patrol", ":cur_faction_banner"), (else_try), (lt, ":gold_amount", 3000), (display_message, "@You don't have enough money to enlist a patrol."), (try_end), (change_screen_return), ]), ("outpost_station_garrison", [], "Station a garrison here", [ (change_screen_exchange_members, 1), ]), ("resume_travelling",[],"Resume travelling.", [ (change_screen_return), ] ), ], ), #Windmelodie Outpost Changed end ####################################################################################################################################### 整段替换 ( "fort",mnf_enable_hot_keys, "{s10}{s11}", "none", [ (call_script, "script_music_set_situation_with_culture", mtf_sit_travel), (store_encountered_party,"$current_town"), (call_script, "script_update_center_recon_notes", "$current_town"), (assign, "$g_defending_against_siege", 0), (str_clear, s3), (party_get_battle_opponent, ":besieger_party", "$current_town"), (store_faction_of_party, ":encountered_faction", "$g_encountered_party"), (store_relation, ":faction_relation", ":encountered_faction", "fac_player_supporters_faction"), (try_begin), (gt, ":besieger_party", 0), (ge, ":faction_relation", 0), (store_faction_of_party, ":besieger_party_faction", ":besieger_party"), (store_relation, ":besieger_party_relation", ":besieger_party_faction", "fac_player_supporters_faction"), (lt, ":besieger_party_relation", 0), (assign, "$g_defending_against_siege", 1), (assign, "$g_siege_first_encounter", 1), (jump_to_menu, "mnu_siege_started_defender"), (try_end), (assign, "$talk_context", 0), (assign,"$all_doors_locked",0), (try_begin), (eq, "$g_town_visit_after_rest", 1), (assign, "$g_town_visit_after_rest", 0), (assign, "$town_entered", 1), (try_end), (try_begin), (eq,"$g_leave_town",1), (assign,"$g_leave_town",0), (assign,"$g_permitted_to_center",0), (leave_encounter), (change_screen_return), (try_end), (str_store_party_name,s2, "$current_town"), (party_get_slot, ":center_lord", "$current_town", slot_town_lord), (store_faction_of_party, ":center_faction", "$current_town"), (str_store_faction_name,s9,":center_faction"), (try_begin), (ge, ":center_lord", 0), (str_store_troop_name,s8,":center_lord"), (str_store_string,s7,"@{s8} of {s9}"), (try_end), (str_store_string,s10,"@You are at {s2}."), (try_begin), (party_slot_eq,"$current_town",slot_party_type, spt_castle), (try_begin), (eq, ":center_lord", "trp_player"), (str_store_string,s11,"@ Your own banner flies over the fort."), (else_try), (ge, ":center_lord", 0), (str_store_string,s11,"@ You see the banner of {s7} over the fort."), (else_try), (str_store_string,s11,"@ The townsfolk here have declared their independence."), (try_end), (try_end), (assign,"$castle_undefended",0), (party_get_num_companions, ":castle_garrison_size", "p_collective_enemy"), (try_begin), (eq,":castle_garrison_size",0), (assign,"$castle_undefended",1), (try_end), ], [ ("fort_station_troops", [ (party_slot_eq,"$current_town",slot_town_lord, "trp_player"), ], "Station a garrison here...", [ (change_screen_exchange_members,0), # Do not move leader ]), ("fort_rename", [(str_store_party_name, s1, "p_fort"),], "Rename this fort. (To your current name)", [ (start_presentation, "prsnt_name_fort"), ]), ("fort_wait", [ # (party_slot_eq,"$current_town",slot_party_type, spt_castle), (this_or_next|ge, "$g_encountered_party_relation", 0), (eq,"$castle_undefended",1), (assign, ":can_rest", 1), (str_clear, s1), (try_begin), (neg|party_slot_eq, "$current_town", slot_town_lord, "trp_player"), (party_get_num_companions, ":num_men", "p_main_party"), (store_div, reg1, ":num_men", 4), (val_add, reg1, 1), (str_store_string, s1, "@ ({reg1} denars per night)"), (store_troop_gold, ":gold", "trp_player"), (lt, ":gold", reg1), (assign, ":can_rest", 0), (try_end), (eq, ":can_rest", 1), ## (eq, "$g_defending_against_siege", 0), ], "Wait here for some time{s1}.", [ (assign,"$auto_enter_town","$current_town"), (assign, "$g_town_visit_after_rest", 1), (assign, "$g_last_rest_center", "$current_town"), (assign, "$g_last_rest_payment_until", -1), (rest_for_hours_interactive, 24 * 7, 5, 0), #rest while not attackable (change_screen_return), ]), # Add any custom menu items you want AFTER this point otherwise the passages will get messed up ("outpost_patrol_back", [(neg|party_slot_eq, "$g_encountered_party", slot_outpost_patrol, 0)], "call back patrol", [(party_get_slot, ":outpost_patrol","$g_encountered_party",slot_outpost_patrol), (party_set_slot, ":outpost_patrol", slot_cattle_driven_by_player, 3), (party_set_ai_behavior, ":outpost_patrol", ai_bhvr_escort_party), (party_set_ai_object,":outpost_patrol", "$g_encountered_party"), (change_screen_return), ]), #windmelodie add ("outpost_enlist_patrol", [(party_slot_eq, "$g_encountered_party", slot_outpost_patrol, 0)], "Enlist a patrol (3000 denars)", [(store_troop_gold, ":gold_amount", "trp_player"), (try_begin), #(party_slot_ge, "$g_encountered_party", slot_outpost_level, 1), (ge, ":gold_amount", 3000), (troop_remove_gold, "trp_player", 3000), (set_spawn_radius, 2), (spawn_around_party, "$g_encountered_party", "pt_kingdom_hero_party"), (assign, ":outpost_patrol", reg0), (party_add_members, ":outpost_patrol", "trp_fort_rider", 1), #ADD TROOPS HERE (party_set_faction, ":outpost_patrol",fac_player_faction), (party_set_flags, ":outpost_patrol", pf_default_behavior, 0), (party_set_aggressiveness, ":outpost_patrol", 10), # Very aggressive (party_set_courage, ":outpost_patrol", 10), # Even more courageous (party_set_slot, ":outpost_patrol", slot_cattle_driven_by_player, 2), # I use this to dictate tehir behaviour (party_set_ai_behavior, ":outpost_patrol", ai_bhvr_patrol_location), (party_set_ai_object, ":outpost_patrol", "$g_encountered_party"), (party_get_position, pos1, "$g_encountered_party"), (party_set_ai_patrol_radius, ":outpost_patrol", 10), (party_set_ai_target_position, ":outpost_patrol", pos1), (display_message, "@Patrol enlisted!"), (party_set_slot, "$g_encountered_party", slot_outpost_patrol, ":outpost_patrol"), (party_set_slot, ":outpost_patrol", slot_outpost_level, 1), (party_set_slot, ":outpost_patrol", slot_party_type, spt_patrol), (str_store_troop_name, s1, "trp_player"), (party_set_name, ":outpost_patrol", "@Outpost Patrol"), (call_script, "script_cf_reinforce_patrol", ":outpost_patrol"), (call_script, "script_cf_reinforce_patrol", ":outpost_patrol"), (call_script, "script_cf_reinforce_patrol", ":outpost_patrol"), (call_script, "script_cf_reinforce_patrol", ":outpost_patrol"), (call_script, "script_cf_reinforce_patrol", ":outpost_patrol"), (faction_set_slot,"fac_mod_variables",slot_Mod_fort_patrol_reinforce,0), (faction_get_slot, ":cur_faction_banner", "fac_player_supporters_faction", slot_faction_banner), (val_sub, ":cur_faction_banner", banner_meshes_begin), (val_add, ":cur_faction_banner", banner_map_icons_begin), (party_set_banner_icon, ":outpost_patrol", ":cur_faction_banner"), (else_try), (lt, ":gold_amount", 3000), (display_message, "@You don't have enough money to enlist a patrol."), (try_end), (change_screen_return), ]), ("barrack", [(party_get_slot,":num","$current_town",slot_center_troop_1),(ge,":num",0),], "Visit the barrack", [ (jump_to_menu, "mnu_barrack"), ]), ## ZZ Aid to develop changed by windmelodie begin ("aid_to_develop", [ ], "Aid the center to develop", [(jump_to_menu,"mnu_aid_to_develop"),]), ## ZZ Aid to develop changed by windmelodie end ("fort_leave",[],"Leave...",[ (assign, "$g_permitted_to_center",0), (change_screen_return,0), ],"Leave Area."), ] ),