####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##说明 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### 终于改完了扩展的战场命令。。 里面很多好功能终于能用了。架矛似乎没啥效果,但是齐射绝对赞,阵型有时也是很有用的。 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##汉化修改 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### 修改添加 qstr_Not_enough_troops_in|{s2}没 有 足 够 的 士 兵 来 排 列 成 {s1}, 将 原 地 待 命。 qstr_{!}{s2}_forming_{s1}|{s2}排 列 成 {s1}。 qstr_{!}{s2}_is_an_{s3}_d|{s2}是 {s3}, 所 以 无 法 排 列 成 {s1}, 将 原 地 待 命。 替换 qstr_ranks|列 阵 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### ##py修改 ####################################################################################################################################### ####################################################################################################################################### ####################################################################################################################################### @pbod_mission_templates.py ####################################################################################################################################### ## windmelodie edited for 16th key order caba_order_triggers = [ (ti_before_mission_start, 0, 0, [], [ (party_set_slot, "p_main_party", slot_party_gk_order, 0), (party_set_slot, "p_main_party_backup", slot_party_gk_order, 0), (party_set_slot, 2, slot_party_gk_order_hold_over_there, 0), (try_for_range, ":team", 0, 4), (try_for_range, ":i", slot_team_d0_order_weapon, slot_team_d0_order_shield + 9), (team_set_slot, ":team", ":i", clear), (try_end), (try_end), ]), (0, 0, 0, [ (this_or_next|game_key_clicked, gk_group0_hear), (this_or_next|game_key_clicked, gk_group1_hear), (this_or_next|game_key_clicked, gk_group2_hear), (this_or_next|game_key_clicked, gk_group3_hear), (this_or_next|game_key_clicked, gk_group4_hear), (this_or_next|game_key_clicked, gk_group5_hear), (this_or_next|game_key_clicked, gk_group6_hear), (this_or_next|game_key_clicked, gk_group7_hear), (this_or_next|game_key_clicked, gk_group8_hear), (this_or_next|game_key_clicked, gk_everyone_hear), (this_or_next|game_key_clicked, gk_reverse_order_group), (game_key_clicked, gk_everyone_around_hear), (neg|main_hero_fallen) ], [ (party_set_slot, "p_main_party", slot_party_gk_order, 0), (start_presentation, "prsnt_caba_order_display"), ]), #(ti_escape_pressed, 0, 0, [], [(party_set_slot, "p_main_party", slot_party_gk_order, 0),(is_presentation_active, "prsnt_caba_order_display"),(presentation_set_duration, 0)]), (0, 0, 0, [(this_or_next|key_clicked, "$key_order_9"),(key_clicked, key_escape)], [(party_set_slot, "p_main_party", slot_party_gk_order, 0),(is_presentation_active, "prsnt_caba_order_display"),(presentation_set_duration, 0)]), # (0, 0, 0, [(game_key_clicked, gk_order_1),(neg|main_hero_fallen)], [ # (store_mission_timer_c_msec, "$when_f1_first_detected"), #CABA? # (try_begin), # (neg|party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_1), # (neg|party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_2), # (neg|party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_3), # (party_set_slot, "p_main_party", slot_party_gk_order, gk_order_1), # (party_set_slot, 2, slot_party_gk_order_hold_over_there, 0), #also "holdit" # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_1), #HOLD # (party_set_slot, 2, slot_party_gk_order_hold_over_there, 1), #as "holdit" # #(call_script, "script_player_order_formations", mordr_hold), # #(party_set_slot, "p_main_party", slot_party_gk_order, 0), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_2), #ADVANCE # (call_script, "script_player_order_formations", mordr_advance), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_3), #HOLD FIRE # (call_script, "script_order_volley_begin_end", end, "$fplayer_team_no"), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (try_end), # ]), # # (0, 0, 0, [(game_key_clicked, gk_order_2),(neg|main_hero_fallen)], [ # (try_begin), # (neg|party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_1), # (neg|party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_2), # (neg|party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_3), # (party_set_slot, "p_main_party", slot_party_gk_order, gk_order_2), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_1), #FOLLOW # (call_script, "script_player_order_formations", mordr_follow), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_2), #FALL BACK # (call_script, "script_player_order_formations", mordr_fall_back), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_3), #FIRE AT WILL # (call_script, "script_order_volley_begin_end", end, "$fplayer_team_no"), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (try_end), # ]), # # (0, 0, 0, [(game_key_clicked, gk_order_3),(neg|main_hero_fallen)], [ # (try_begin), # (neg|party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_1), # (neg|party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_2), # (neg|party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_3), # (party_set_slot, "p_main_party", slot_party_gk_order, gk_order_3), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_1), #CHARGE # (call_script, "script_player_order_formations", mordr_charge), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_2), #SPREAD OUT # (call_script, "script_player_order_formations", mordr_spread_out), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_3), #BLUNT WEAPONS # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (try_end), # ]), # (0, 0, 0, [ (this_or_next|game_key_clicked, gk_order_1), (this_or_next|game_key_clicked, gk_order_2), (this_or_next|game_key_clicked, gk_order_3), (game_key_clicked, gk_order_4), (neg|main_hero_fallen)], [ (party_set_slot, "p_main_party", slot_party_gk_order, 99), ]), (0, 0, 0, [(game_key_clicked, gk_order_5),(neg|main_hero_fallen)], [ (try_begin), (party_slot_eq, "p_main_party", slot_party_gk_order, 0), (this_or_next|eq, "$g_next_menu", "mnu_simple_encounter"), #mst_lead_charge (eq, "$g_next_menu", "mnu_join_battle"), (party_set_slot, "p_main_party", slot_party_gk_order, gk_order_5), (start_presentation, "prsnt_caba_order_display"), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_1), #STAND GROUND # (call_script, "script_player_order_formations", mordr_stand_ground), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_2), #STAND CLOSER # (call_script, "script_player_order_formations", mordr_stand_closer), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_3), #ANY WEAPON # (call_script, "script_order_set_display_text", clear), # (call_script, "script_order_set_team_slot", clear, "$fplayer_team_no"), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_5), #FORMATION - RANKS (call_script, "script_division_reset_places"), ## CABA - check this new script (agent_get_position, pos49, "$fplayer_agent_no"), (try_for_range, ":division", 0, 9), (class_is_listening_order, "$fplayer_team_no", ":division"), (store_add, ":slot", slot_team_d0_target_team, ":division"), (team_set_slot, "$fplayer_team_no", ":slot", -1), (store_add, ":slot", slot_team_d0_size, ":division"), (team_slot_ge, "$fplayer_team_no", ":slot", 1), (store_add, ":slot", slot_team_d0_fclock, ":division"), (team_set_slot, "$fplayer_team_no", ":slot", 1), #Fake out at position (call_script, "script_battlegroup_get_position", Temp_Pos, "$fplayer_team_no", ":division"), (agent_set_position, "$fplayer_agent_no", Temp_Pos), (call_script, "script_player_attempt_formation", ":division", formation_ranks, 1), (try_end), (agent_set_position, "$fplayer_agent_no", pos49), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_6), #One-Hander (call_script, "script_order_set_display_text", onehand), (call_script, "script_order_weapon_type_switch", onehand, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, "$key_order_7"), #Shield (call_script, "script_order_set_display_text", shield), (call_script, "script_order_weapon_type_switch", shield, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, "$key_order_8"), #End Special Order (call_script, "script_order_end_active_order", "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, 99), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (try_end), ]), (0, 0, 0, [(game_key_clicked, gk_order_6),(neg|main_hero_fallen)], [ (try_begin), (party_slot_eq, "p_main_party", slot_party_gk_order, 0), (party_set_slot, "p_main_party", slot_party_gk_order, gk_order_6), (start_presentation, "prsnt_caba_order_display"), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_1), #RETREAT # (call_script, "script_player_order_formations", mordr_retreat), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_2), #MOUNT # (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_5), #FORMATION - SHIELDWALL (call_script, "script_division_reset_places"), (agent_get_position, pos49, "$fplayer_agent_no"), (try_for_range, ":division", 0, 9), (class_is_listening_order, "$fplayer_team_no", ":division"), (store_add, ":slot", slot_team_d0_target_team, ":division"), (team_set_slot, "$fplayer_team_no", ":slot", -1), (store_add, ":slot", slot_team_d0_size, ":division"), (team_slot_ge, "$fplayer_team_no", ":slot", 1), (store_add, ":slot", slot_team_d0_fclock, ":division"), (team_set_slot, "$fplayer_team_no", ":slot", 1), #Fake out at position (call_script, "script_battlegroup_get_position", Temp_Pos, "$fplayer_team_no", ":division"), (agent_set_position, "$fplayer_agent_no", Temp_Pos), (call_script, "script_player_attempt_formation", ":division", formation_shield, 1), (try_end), (agent_set_position, "$fplayer_agent_no", pos49), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_6), #Two-Handers (call_script, "script_order_set_display_text", twohands), (call_script, "script_order_weapon_type_switch", twohands, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, "$key_order_7"), #No Shield (call_script, "script_order_set_display_text", noshield), (call_script, "script_order_weapon_type_switch", noshield, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, "$key_order_8"), #Begin Skirmish (call_script, "script_order_set_display_text", begin + 8), (call_script, "script_order_skirmish_begin_end", begin, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, 99), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (try_end), ]), (0, 0, 0, [(key_clicked, "$key_order_7"),(neg|main_hero_fallen)], [ (try_begin), (party_slot_eq, "p_main_party", slot_party_gk_order, 0), (party_set_slot, "p_main_party", slot_party_gk_order, "$key_order_7"), (start_presentation, "prsnt_caba_order_display"), # (else_try), # (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_2), #DISMOUNT # (call_script, "script_player_order_formations", mordr_dismount), # (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_5), #FORMATION - WEDGE (call_script, "script_division_reset_places"), (agent_get_position, pos49, "$fplayer_agent_no"), (try_for_range, ":division", 0, 9), (class_is_listening_order, "$fplayer_team_no", ":division"), (store_add, ":slot", slot_team_d0_target_team, ":division"), (team_set_slot, "$fplayer_team_no", ":slot", -1), (store_add, ":slot", slot_team_d0_size, ":division"), (team_slot_ge, "$fplayer_team_no", ":slot", 1), (store_add, ":slot", slot_team_d0_fclock, ":division"), (team_set_slot, "$fplayer_team_no", ":slot", 1), #Fake out at position (call_script, "script_battlegroup_get_position", Temp_Pos, "$fplayer_team_no", ":division"), (agent_set_position, "$fplayer_agent_no", Temp_Pos), (call_script, "script_player_attempt_formation", ":division", formation_wedge, 1), (try_end), (agent_set_position, "$fplayer_agent_no", pos49), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_6), #Polearms (call_script, "script_order_set_display_text", polearm), (call_script, "script_order_weapon_type_switch", polearm, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, "$key_order_7"), #Free Shield (call_script, "script_order_set_display_text", free), (call_script, "script_order_set_team_slot", free, "$fplayer_team_no"), #(call_script, "script_order_weapon_type_switch", free, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, "$key_order_8"), #Volley (call_script, "script_order_set_display_text", begin + 10), (call_script, "script_order_volley_begin_end", begin, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, 99), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (try_end), ]), (0, 0, 0, [(key_clicked, "$key_order_8"),(neg|main_hero_fallen)], [ #f7 (try_begin), (party_slot_eq, "p_main_party", slot_party_gk_order, 0), (party_set_slot, "p_main_party", slot_party_gk_order, "$key_order_8"), (start_presentation, "prsnt_caba_order_display"), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_5), #FORMATION - SQUARE (call_script, "script_division_reset_places"), (agent_get_position, pos49, "$fplayer_agent_no"), (try_for_range, ":division", 0, 9), (class_is_listening_order, "$fplayer_team_no", ":division"), (store_add, ":slot", slot_team_d0_target_team, ":division"), (team_set_slot, "$fplayer_team_no", ":slot", -1), (store_add, ":slot", slot_team_d0_size, ":division"), (team_slot_ge, "$fplayer_team_no", ":slot", 1), (store_add, ":slot", slot_team_d0_fclock, ":division"), (team_set_slot, "$fplayer_team_no", ":slot", 1), #Fake out at position (call_script, "script_battlegroup_get_position", Temp_Pos, "$fplayer_team_no", ":division"), (agent_set_position, "$fplayer_agent_no", Temp_Pos), (call_script, "script_player_attempt_formation", ":division", formation_square, 1), (try_end), (agent_set_position, "$fplayer_agent_no", pos49), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_6), #ranged (call_script, "script_order_set_display_text", ranged), (call_script, "script_order_weapon_type_switch", ranged, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, "$key_order_8"), #Brace Spear (call_script, "script_order_set_display_text", begin + 12), (call_script, "script_order_sp_brace_begin_end", begin, "$fplayer_team_no"), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, 99), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (try_end), ]), (0, 0, 0, [(key_clicked, "$key_order_9"),(neg|main_hero_fallen)], [ #F8 (try_begin), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_5), #FORMATION - CANCEL (call_script, "script_player_order_formations", mordr_charge), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, 99), (party_set_slot, "p_main_party", slot_party_gk_order, 0), (try_end), ]), ] @module_mission_templates.py ####################################################################################################################################### ## ZZ minimap begin common_battle_order_panel =( 0, 0, ti_once, [], [ (neg|is_presentation_active, "prsnt_mini_map"), (start_presentation, "prsnt_mini_map"), ]) common_battle_order_panel_tick = ( 0, 0, 0, [], [ (try_begin), (neg|is_presentation_active, "prsnt_battle"), (neg|is_presentation_active, "prsnt_mini_map"), (neg|is_presentation_active, "prsnt_caba_order_display"),#Windmelodie pbod caba order (start_presentation, "prsnt_mini_map"), (try_end), (try_begin), (is_presentation_active, "prsnt_battle"), (call_script, "script_update_order_panel_statistics_and_map"), (else_try), (is_presentation_active, "prsnt_mini_map"), (call_script, "script_update_order_panel_map"), (eq, "$minimap_state",2), (call_script, "script_update_battle_status_label"), (try_end), ]) ## ZZ minimap end @pbod_presentations.py ####################################################################################################################################### ## windmelodie edited for 16th key order ("caba_order_display", prsntf_read_only,0,[ (ti_on_presentation_load, [(set_fixed_point_multiplier, 1000), (try_for_range, ":i", 0, 9), (troop_set_slot, order_frame_presobj, ":i", -1), (try_end), (neg|party_slot_eq, "p_main_party", slot_party_gk_order, 99), (call_script, "script_init_key_config"), # #WSE Operations - game_key_get_key # (game_key_get_key, reg0, gk_order_4), # (call_script, "script_str_store_key_name", s10, reg0), #F4 # (game_key_get_key, reg0, gk_order_5), # (call_script, "script_str_store_key_name", s11, reg0), #F5 # (game_key_get_key, reg0, gk_order_6), # (call_script, "script_str_store_key_name", s12, reg0), #F6 (str_store_string, s10, "str_0x3e"), #F4 (str_store_string, s11, "str_0x3f"), #F5 (str_store_string, s12, "str_0x40"), #F6...no way other than WSE to get the string for what is assigned to a game key (call_script, "script_str_store_key_name", s13, "$key_order_7"), #F7 (call_script, "script_str_store_key_name", s14, "$key_order_8"), #F8 (call_script, "script_str_store_key_name", s15, "$key_order_9"), #F9 (call_script, "script_str_store_key_name", s16, "$key_order_10"), #F10 (assign, ":y_position", 443), (try_begin), #Figure out which orders to display, set strings (party_slot_eq, "p_main_party", slot_party_gk_order, 0), (try_begin), (this_or_next|eq, "$g_next_menu", "mnu_simple_encounter"), #mst_lead_charge (eq, "$g_next_menu", "mnu_join_battle"), (str_store_string, s1, "@{s11} - Formation type orders"), (str_store_string, s2, "@{s12} - Weapon orders"), (str_store_string, s3, "@{s13} - Shield orders"), (str_store_string, s4, "@{s14} - Attack orders"), (str_store_string, s5, "@{s16} - Escape Menu"), (assign, ":num_orders", 5), (else_try), (str_store_string, s1, "@{s11} - Weapon orders"), (str_store_string, s2, "@{s12} - Shield orders"), (str_store_string, s3, "@{s13} - Attack orders"), (str_store_string, s4, "@{s16} - Escape Menu"), (assign, ":num_orders", 4), (try_end), (assign, ":y_position", 443), #470 (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_5), (str_store_string, s1, "@{s11} - Ranks"), (str_store_string, s2, "@{s12} - Shieldwall"), (str_store_string, s3, "@{s13} - Wedge"), (str_store_string, s4, "@{s14} - Square"), (str_store_string, s5, "@{s15} - No Formation"), (str_store_string, s6, "@{s16} - Escape Menu"), (assign, ":num_orders", 6), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, gk_order_6), (str_store_string, s1, "@{s11} - One Handers"), (str_store_string, s2, "@{s12} - Two Handers"), (str_store_string, s3, "@{s13} - Polearms"), (str_store_string, s4, "@{s14} - Ranged"), (str_store_string, s5, "@{s15} - Escape Menu"), (assign, ":num_orders", 5), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, "$key_order_7"), (str_store_string, s1, "@{s11} - Use Shields"), (str_store_string, s2, "@{s12} - No Shields"), (str_store_string, s3, "@{s13} - Free"), (str_store_string, s4, "@{s15} - Escape Menu"), (assign, ":num_orders", 4), (else_try), (party_slot_eq, "p_main_party", slot_party_gk_order, "$key_order_8"), (str_store_string, s1, "@{s11} - End Order"), (str_store_string, s2, "@{s12} - Skirmish"), (str_store_string, s3, "@{s13} - Volley Fire"), (str_store_string, s4, "@{s14} - Brace Polearms"), (str_store_string, s5, "@{s16} - Escape Menu"), (assign, ":num_orders", 5), (try_end), (party_get_slot, ":starting_order", "p_main_party", slot_party_gk_order), (party_set_slot, "p_main_party_backup", slot_party_gk_order, ":starting_order"), (try_for_range, ":i", 0, ":num_orders"), (store_add, ":string", ":i", 1), (str_store_string_reg, s0, ":string"), (create_text_overlay, ":overlay", s0), (overlay_set_color, ":overlay", 0xFFFFFF), (position_set_x, pos1, 1000), (position_set_y, pos1, 1000), (overlay_set_size, ":overlay", pos1), (position_set_x, pos1, 0), (position_set_y, pos1, ":y_position"), (overlay_set_position, ":overlay", pos1), (troop_set_slot, order_frame_presobj, ":i", ":overlay"), (val_sub, ":y_position", 30), (try_end), (store_mul, ":add_back", 30, ":num_orders"), (val_add, ":y_position", ":add_back"), (val_sub, ":y_position", 3), (try_for_range, ":i", 0, ":num_orders"), (create_mesh_overlay, ":overlay", "mesh_order_frame"), (position_set_x, pos1, 700),#712 (position_set_y, pos1, 700),#780 (overlay_set_size, ":overlay", pos1), (position_set_x, pos1, 0), (position_set_y, pos1, ":y_position"), (overlay_set_position, ":overlay", pos1), (overlay_set_display, ":overlay", 0), (val_sub, ":y_position", 30), (try_end), (try_begin), (neg|party_slot_eq, "p_main_party", slot_party_gk_order, 0), (create_mesh_overlay, ":overlay", "mesh_white_plane"), (overlay_set_color, ":overlay", 0), (overlay_set_alpha, ":overlay", 0x10), (position_set_x, pos1, 14000), (position_set_y, pos1, 4500), (overlay_set_size, ":overlay", pos1), (position_set_x, pos1, 0), (position_set_y, pos1, 498), (overlay_set_position, ":overlay", pos1), (try_end), (presentation_set_duration, 999999), ]), (ti_on_presentation_run, [(store_trigger_param_1, ":cur_time"), (gt, ":cur_time", 100), #0.1 Second after Pres. Start (try_begin), (this_or_next|key_clicked, "$key_order_10"), #current exit key (this_or_next|key_clicked, key_escape), (this_or_next|game_key_clicked, gk_order_1), (this_or_next|game_key_clicked, gk_order_2), (this_or_next|game_key_clicked, gk_order_3), #Order Keys not used by Expanded Orders (this_or_next|game_key_clicked, gk_order_4), (this_or_next|game_key_clicked, gk_group0_hear), (this_or_next|game_key_clicked, gk_group1_hear), (this_or_next|game_key_clicked, gk_group2_hear), (this_or_next|game_key_clicked, gk_group3_hear), (this_or_next|game_key_clicked, gk_group4_hear), (this_or_next|game_key_clicked, gk_group5_hear), (this_or_next|game_key_clicked, gk_group6_hear), (this_or_next|game_key_clicked, gk_group7_hear), (this_or_next|game_key_clicked, gk_group8_hear), (this_or_next|game_key_clicked, gk_everyone_hear), (this_or_next|game_key_clicked, gk_everyone_around_hear), (game_key_clicked, gk_reverse_order_group), (presentation_set_duration, 0), (else_try), (assign, ":key", -1), (try_begin), (game_key_clicked, gk_order_5), (assign, ":key", 5), (else_try), (game_key_clicked, gk_order_6), (assign, ":key", 6), (else_try), (key_clicked, "$key_order_7"), (assign, ":key", 7), (else_try), (key_clicked, "$key_order_8"), (assign, ":key", 8), (else_try), (key_clicked, "$key_order_9"), (assign, ":key", 9), (try_end), (neq, ":key", -1), (try_begin), (party_slot_eq, "p_main_party_backup", slot_party_gk_order, 0), (presentation_set_duration, 0), (else_try), (try_begin), (party_slot_eq, "p_main_party_backup", slot_party_gk_order, gk_order_5), (assign, ":min_key", 5), (assign, ":max_key", 9), (else_try), (party_slot_eq, "p_main_party_backup", slot_party_gk_order, gk_order_6), (assign, ":min_key", 5), (assign, ":max_key", 8), (else_try), (party_slot_eq, "p_main_party_backup", slot_party_gk_order, "$key_order_7"), (assign, ":min_key", 5), (assign, ":max_key", 7), (else_try), (party_slot_eq, "p_main_party_backup", slot_party_gk_order, "$key_order_8"), (assign, ":min_key", 5), (assign, ":max_key", 8), (try_end), (store_sub, ":num_orders", ":max_key", ":min_key"), (val_add, ":num_orders", 1), (store_sub, ":key_pressed", ":key", ":min_key"), (is_between, ":key_pressed", 0, ":num_orders"), (val_add, ":num_orders", 1), #For the cancel box (try_for_range, ":i", 0, ":num_orders"), (troop_get_slot, ":overlay", order_frame_presobj, ":i"), (neq, ":i", ":key_pressed"), (overlay_animate_to_alpha, ":overlay", 400, 0x00), (val_add, ":overlay", ":num_orders"), (overlay_animate_to_alpha, ":overlay", 400, 0x00), (else_try), (overlay_animate_to_alpha, ":overlay", 1100, 0x00), (val_add, ":overlay", ":num_orders"), (overlay_animate_to_alpha, ":overlay", 1100, 0x00), (try_end), (presentation_set_duration, 200), #100 (try_end), (try_end), ]), ]), @pbod_presentations.py ####################################################################################################################################### 替换 # #Player team formations functions # script_player_attempt_formation # Inputs: arg1: division # arg2: formation identifier (formation_*) # Output: none ("player_attempt_formation", [ (store_script_param, ":fdivision", 1), (store_script_param, ":fformation", 2), (store_script_param, ":at_pos", 3), (set_fixed_point_multiplier, 100), (try_begin), (eq, ":fformation", formation_ranks), (str_store_string, s1, "@ranks"), (else_try), (eq, ":fformation", formation_shield), (str_store_string, s1, "@shield wall"), (else_try), (eq, ":fformation", formation_wedge), (str_store_string, s1, "@wedge"), (else_try), (eq, ":fformation", formation_square), (str_store_string, s1, "@square"), (else_try), (str_store_string, s1, "@up"), (try_end), (str_store_class_name, s2, ":fdivision"), (try_begin), (call_script, "script_cf_battlegroup_valid_formation", "$fplayer_team_no", ":fdivision", ":fformation"), (try_begin), #new formation? (store_add, ":slot", slot_team_d0_formation, ":fdivision"), (neg|team_slot_eq, "$fplayer_team_no", ":slot", ":fformation"), (team_set_slot, "$fplayer_team_no", ":slot", ":fformation"), (try_begin), (eq, ":fformation", formation_ranks), (str_store_string, s1, "@ranks"), (else_try), (eq, ":fformation", formation_shield), (str_store_string, s1, "@shield wall"), (else_try), (eq, ":fformation", formation_wedge), (str_store_string, s1, "@wedge"), (else_try), (eq, ":fformation", formation_square), (str_store_string, s1, "@square"), (else_try), (str_store_string, s1, "@up"), (try_end), (display_message, "@{!}{s2} forming {s1}."), (store_add, ":slot", slot_team_d0_formation_space, ":fdivision"), (team_get_slot, ":div_spacing", "$fplayer_team_no", ":slot"), #bring unformed divisions into sync with formations' minimum (set_show_messages, 0), (assign, reg0, ":div_spacing"), (try_for_range, reg1, reg0, formation_start_spread_out), #spread out for ease of forming up (team_give_order, "$fplayer_team_no", ":fdivision", mordr_spread_out), (val_add, ":div_spacing", 1), (try_end), (set_show_messages, 1), (team_set_slot, "$fplayer_team_no", ":slot", ":div_spacing"), (try_end), (else_try), (assign, ":return_val", reg0), (call_script, "script_formation_end", "$fplayer_team_no", ":fdivision"), (neq, ":fformation", formation_none), (try_begin), (eq, ":fformation", formation_ranks), (str_store_string, s1, "@ranks"), (else_try), (eq, ":fformation", formation_shield), (str_store_string, s1, "@shield wall"), (else_try), (eq, ":fformation", formation_wedge), (str_store_string, s1, "@wedge"), (else_try), (eq, ":fformation", formation_square), (str_store_string, s1, "@square"), (else_try), (str_store_string, s1, "@up"), (try_end), (try_begin), (gt, ":return_val", 0), (display_message, "@Not enough troops in {s2} to form {s1}, but holding."), (else_try), (store_add, ":slot", slot_team_d0_type, ":fdivision"), (team_get_slot, reg0, "$fplayer_team_no", ":slot"), (call_script, "script_str_store_division_type_name", s3, reg0), (display_message, "@{!}{s2} is an {s3} division and cannot form {s1}, so is holding."), (try_end), (try_end), (try_begin), (this_or_next|eq, ":at_pos", 0), (eq, formation_place_around_leader, 1), (call_script, "script_battlegroup_place_around_leader", "$fplayer_team_no", ":fdivision"), (else_try), (call_script, "script_battlegroup_place_at_leader", "$fplayer_team_no", ":fdivision"), (try_end), ]),