- ###(((manage_inventory
- # temp_array_e: hero's overlay_id
- # temp_array_a: hero's troop_no
- # temp_array_b: inventory_slot's overlay_id
- # temp_array_c: if troop can use item
- # temp_array_d: item's overlay_id
- # temp_array_f: lock's overlay_id
- ("manage_inventory", 0, mesh_inventory_window, [
- (ti_on_presentation_load, [
- (presentation_set_duration, 999999),
- (set_fixed_point_multiplier, 1000),
- (assign, "$g_cur_selected_item_slot", -1),
- # (assign, "$g_cur_selected_item_object", -1),
- (assign, "$g_current_opened_item_details", -1),
- (call_script, "script_all_toggle_weapons_set", 1),
- (assign, ":selected_troop", "$g_prsnt_param_1"),
- # (assign, "$g_num_main_party_heros", 0),
- (assign, ":num_main_party_heros", 0),
- (party_clear, "p_main_party_heros"), ##
- (party_get_num_companion_stacks, ":num_stacks","p_main_party"),
- (try_for_range, ":i_stack", 0, ":num_stacks"),
- (party_stack_get_troop_id,":stack_troop","p_main_party",":i_stack"),
- (troop_is_hero, ":stack_troop"),
- (this_or_next|eq, ":stack_troop", "trp_player"),
- (troop_slot_eq, ":stack_troop", slot_troop_not_auto_equip, 1),
- (val_add, ":num_main_party_heros", 1),
- (party_add_members, "p_main_party_heros", ":stack_troop", 1), ##
- (try_end),
- # hero list
- (create_text_overlay, reg1, "@Equip Companions", tf_center_justify),
- (position_set_x, pos1, 835),
- (position_set_y, pos1, 700),
- (overlay_set_position, reg1, pos1),
- (str_clear, s0),
- (create_text_overlay, reg1, s0, tf_scrollable_style_2),
- (position_set_x, pos1, 840),
- (position_set_y, pos1, 100),
- (overlay_set_position, reg1, pos1),
- (assign, ":area_size_x", 120),
- (assign, ":area_size_y", 520),
- (assign, ":offset_y", 30),
- (position_set_x, pos1, ":area_size_x"),
- (position_set_y, pos1, ":area_size_y"),
- (overlay_set_area_size, reg1, pos1),
- (set_container_overlay, reg1),
- (store_mul, ":pos_y", ":num_main_party_heros", ":offset_y"),
- (val_max, ":pos_y", ":area_size_y"),
- (val_sub, ":pos_y", ":offset_y"),
- (store_div, ":pos_x", ":area_size_x", 2),
- (assign, ":troop_overlay_no", 0),
- (try_for_range, ":i_stack", 0, ":num_main_party_heros"),
- (party_stack_get_troop_id,":stack_troop","p_main_party_heros",":i_stack"),
- (str_store_troop_name, s1, ":stack_troop"),
- (create_button_overlay, reg1, s1, tf_center_justify),
- (position_set_x, pos1, ":pos_x"),
- (position_set_y, pos1, ":pos_y"),
- (overlay_set_position, reg1, pos1),
- (try_begin),
- (eq, ":stack_troop", ":selected_troop"),
- (overlay_set_color, reg1, 0x333333),
- (try_end),
- (troop_set_slot, "trp_temp_array_e", ":troop_overlay_no", reg1),
- (troop_set_slot, "trp_temp_array_a", ":troop_overlay_no", ":stack_troop"),
- (val_add, ":troop_overlay_no", 1),
- (val_sub, ":pos_y", ":offset_y"),
- (try_end),
- (set_container_overlay, -1),
- # back
- (create_game_button_overlay, "$g_presentation_obj_admin_panel_2", "@Done", tf_center_justify),
- (position_set_x, pos1, 835),
- (position_set_y, pos1, 25),
- (overlay_set_position, "$g_presentation_obj_admin_panel_2", pos1),
- # sort
- (create_game_button_overlay, "$g_presentation_obj_admin_panel_4", "@Sort", tf_center_justify),
- (position_set_x, pos1, 165),
- (position_set_y, pos1, 25),
- (overlay_set_position, "$g_presentation_obj_admin_panel_4", pos1),
- # your inventory
- (create_text_overlay, reg1, "@Your Inventory", tf_center_justify),
- (position_set_x, pos1, 165),
- (position_set_y, pos1, 700),
- (overlay_set_position, reg1, pos1),
- (str_clear, s0),
- (create_text_overlay, "$g_presentation_obj_admin_panel_7", s0, tf_scrollable_style_2),
- (position_set_x, pos1, 20),
- (position_set_y, pos1, 100),
- (overlay_set_position, "$g_presentation_obj_admin_panel_7", pos1),
- (assign, ":area_size_x", 270),
- (assign, ":area_size_y", 600),
- (position_set_x, pos1, ":area_size_x"),
- (position_set_y, pos1, ":area_size_y"),
- (overlay_set_area_size, "$g_presentation_obj_admin_panel_7", pos1),
- (set_container_overlay, "$g_presentation_obj_admin_panel_7"),
- (assign, ":offset_xy", 90),
- (store_div, ":item_pos_offset", ":offset_xy", 2),
- (troop_get_inventory_capacity, ":inv_cap", "trp_player"),
- (store_sub, ":num_inventory_slots", ":inv_cap", 10),
- (store_div, ":height", ":num_inventory_slots", 3),
- (store_mod, ":offset", ":num_inventory_slots", 3),
- (val_min, ":offset", 1),
- (val_add, ":height", ":offset"),
- (store_mul, ":pos_y", ":height", ":offset_xy"),
- (val_sub, ":pos_y", ":offset_xy"),
- (assign, ":pos_x", 0),
- ## inventory slots
- (try_for_range, ":slot_no", 10, ":inv_cap"),
- (create_mesh_overlay, reg1, "mesh_inventory_slot"), # inventory slot
- (position_set_x, pos1, 920),
- (position_set_y, pos1, 920),
- (overlay_set_size, reg1, pos1),
- (position_set_x, pos1, ":pos_x"),
- (position_set_y, pos1, ":pos_y"),
- (overlay_set_position, reg1, pos1),
- (troop_set_slot, "trp_temp_array_b", ":slot_no", reg1),
- (troop_get_inventory_slot, ":item_no", "trp_player", ":slot_no"),
- (troop_get_inventory_slot_modifier, ":item_imod", "trp_player", ":slot_no"),
- (try_begin),
- (lt, ":item_no", 0),
- (assign, ":item_no", 0),
- (assign, ":can_use", 1),
- (troop_set_slot, "trp_temp_array_c", ":slot_no", ":can_use"),
- (else_try),
- (gt, ":item_no", 0),
- (call_script, "script_troop_can_use_item", ":selected_troop", ":item_no", ":item_imod"),
- (assign, ":can_use", reg0),
- (troop_set_slot, "trp_temp_array_c", ":slot_no", ":can_use"),
- (try_end),
- (create_mesh_overlay_with_item_id, reg1, ":item_no"), # item
- (position_set_x, pos3, 960),
- (position_set_y, pos3, 960),
- (overlay_set_size, reg1, pos3),
- (store_add, ":item_x", ":pos_x", ":item_pos_offset"),
- (store_add, ":item_y", ":pos_y", ":item_pos_offset"),
- (position_set_x, pos1, ":item_x"),
- (position_set_y, pos1, ":item_y"),
- (overlay_set_position, reg1, pos1),
- (troop_set_slot, "trp_temp_array_d", ":slot_no", reg1),
- (troop_set_slot, "trp_temp_array_x", ":slot_no", ":item_x"),
- (troop_set_slot, "trp_temp_array_y", ":slot_no", ":item_y"),
- ## sort setting
- (create_check_box_overlay, reg1, "mesh_checkbox_lock_off", "mesh_checkbox_lock_on"),
- (store_add, ":lock_x", ":pos_x", 66),
- (store_add, ":lock_y", ":pos_y", 2),
- (position_set_x, pos1, ":lock_x"),
- (position_set_y, pos1, ":lock_y"),
- (overlay_set_position, reg1, pos1),
- (troop_get_slot, ":locked", "trp_temp_array_lock", ":slot_no"),
- (overlay_set_val, reg1, ":locked"),
- (troop_set_slot, "trp_temp_array_f", ":slot_no", reg1),
- (val_add, ":slot_no", 1),
- (val_add, ":pos_x", ":offset_xy"),
- (try_begin),
- (ge, ":pos_x", ":area_size_x"),
- (assign, ":pos_x", 0),
- (val_sub, ":pos_y", ":offset_xy"),
- (try_end),
- (try_end),
- (set_container_overlay, -1),
- # selected troop
- (str_store_troop_name, s1, ":selected_troop"),
- (create_text_overlay, reg1, s1, tf_center_justify),
- # (position_set_x, pos1, 900),
- # (position_set_y, pos1, 900),
- # (overlay_set_size, reg1, pos1),
- (position_set_x, pos1, 580),
- (position_set_y, pos1, 240),
- (overlay_set_position, reg1, pos1),
- (store_mul, ":troop_with_weapons", ":selected_troop", 2),
- (create_mesh_overlay_with_tableau_material, "$g_presentation_obj_admin_panel_3", -1, "tableau_game_party_window", ":troop_with_weapons"),
- (position_set_x, pos1, 800),
- (position_set_y, pos1, 960),
- (overlay_set_size, "$g_presentation_obj_admin_panel_3", pos1),
- (position_set_x, pos1, 315),
- (position_set_y, pos1, 20),
- (overlay_set_position, "$g_presentation_obj_admin_panel_3", pos1),
- ## equipments
- (assign, ":init_pos_x", 554),
- (assign, ":init_pos_y", 695),
- (create_combo_label_overlay, "$g_presentation_obj_admin_panel_1"),
- (position_set_x, pos1, 400),
- (position_set_y, pos1, 750),
- (overlay_set_size, "$g_presentation_obj_admin_panel_1", pos1),
- (position_set_x, pos1, 655),
- (position_set_y, pos1, ":init_pos_y"),
- (overlay_set_position, "$g_presentation_obj_admin_panel_1", pos1),
- (overlay_add_item, "$g_presentation_obj_admin_panel_1", "@Arms 1"),
- (overlay_add_item, "$g_presentation_obj_admin_panel_1", "@Arms 2"),
- (overlay_set_val, "$g_presentation_obj_admin_panel_1", "$g_weapons_set_no"),
- (create_text_overlay, reg1, "@Outfit", tf_center_justify),
- (position_set_x, pos1, 455),
- (position_set_y, pos1, ":init_pos_y"),
- (overlay_set_position, reg1, pos1),
- (create_text_overlay, reg1, "@Horse", tf_center_justify),
- (position_set_x, pos1, 405),# init_pos_y-290
- (position_set_y, pos1, 405),
- (overlay_set_position, reg1, pos1),
- (assign, ":pos_x", ":init_pos_x"),
- (assign, ":pos_y", ":init_pos_y"),
- (assign, ":offset_xy", 88),
- (store_div, ":item_pos_offset", ":offset_xy", 2),
- (try_for_range, ":slot_no", 0, 9),
- (try_begin),
- (eq, ":slot_no", 4),
- (assign, ":pos_x", 453), # init_pos_x-101
- (assign, ":pos_y", ":init_pos_y"),
- (else_try),
- (eq, ":slot_no", 7),
- (val_sub, ":pos_x", ":offset_xy"),
- (store_sub, ":pos_y", ":init_pos_y", ":offset_xy"),
- (else_try),
- (eq, ":slot_no", 8),
- (assign, ":pos_y", 405), # init_pos_y-290
- (try_end),
- (val_sub, ":pos_y", ":offset_xy"),
- (troop_get_inventory_slot, ":item_no", ":selected_troop", ":slot_no"),
- (try_begin),
- (lt, ":item_no", 0),
- (assign, ":item_no", 0),
- (try_end),
- (troop_set_slot, "trp_temp_array_c", ":slot_no", 1), # can use
- (create_mesh_overlay, reg1, "mesh_inventory_slot"), # inventory slot
- (position_set_x, pos1, 860),
- (position_set_y, pos1, 860),
- (overlay_set_size, reg1, pos1),
- (position_set_x, pos1, ":pos_x"),
- (position_set_y, pos1, ":pos_y"),
- (overlay_set_position, reg1, pos1),
- (overlay_set_color, reg1, 0x000000),
- (overlay_set_alpha, reg1, 0x00),
- (try_begin),
- (gt, ":item_no", 0),
- (overlay_set_alpha, reg1, 0xFF),
- (try_end),
- (troop_set_slot, "trp_temp_array_b", ":slot_no", reg1),
- (create_mesh_overlay_with_item_id, reg1, ":item_no"), # item
- (position_set_x, pos4, 950),
- (position_set_y, pos4, 950),
- (overlay_set_size, reg1, pos4),
- (store_add, ":item_x", ":pos_x", ":item_pos_offset"),
- (store_add, ":item_y", ":pos_y", ":item_pos_offset"),
- (position_set_x, pos1, ":item_x"),
- (position_set_y, pos1, ":item_y"),
- (overlay_set_position, reg1, pos1),
- (troop_set_slot, "trp_temp_array_d", ":slot_no", reg1),
- ## Upgrade setting
- (create_check_box_overlay, reg1, "mesh_checkbox_lock_off", "mesh_checkbox_lock_on"),
- (store_add, ":lock_x", ":pos_x", 62),
- (store_add, ":lock_y", ":pos_y", 1),
- (position_set_x, pos1, ":lock_x"),
- (position_set_y, pos1, ":lock_y"),
- (overlay_set_position, reg1, pos1),
- (troop_get_slot, ":locked", "trp_temp_array_lock", ":slot_no"),
- (overlay_set_val, reg1, ":locked"),
- (troop_set_slot, "trp_temp_array_f", ":slot_no", reg1),
- (try_end),
- # Auto-upgrade equipments
- (create_in_game_button_overlay, "$g_presentation_obj_admin_panel_6", "@Upgrade for All"),
- (overlay_set_color, "$g_presentation_obj_admin_panel_6", 0xFFFFFF),
- (position_set_x, pos1, 835),
- (position_set_y, pos1, 645),
- (overlay_set_position, "$g_presentation_obj_admin_panel_6", pos1),
- # lock
- (create_mesh_overlay, reg1, "mesh_checkbox_lock_on"),
- (position_set_x, pos1, 740),
- (position_set_y, pos1, 600),
- (overlay_set_position, reg1, pos1),
- (create_text_overlay, reg1, "@Locked. Item won't be upgraded or sorted.", tf_scrollable|tf_center_justify),
- (position_set_x, pos1, 690),
- (position_set_y, pos1, 470),
- (overlay_set_position, reg1, pos1),
- (position_set_x, pos1, 140),
- (position_set_y, pos1, 120),
- (overlay_set_area_size, reg1, pos1),
- # (position_set_x, pos1, 960),
- # (position_set_y, pos1, 960),
- # (overlay_set_size, reg1, pos1),
- # unlock
- (create_mesh_overlay, reg1, "mesh_checkbox_lock_off"),
- (position_set_x, pos1, 740),
- (position_set_y, pos1, 400),
- (overlay_set_position, reg1, pos1),
- (create_text_overlay, reg1, "@Unlocked. Item will be upgraded or sorted.", tf_scrollable|tf_center_justify),
- (position_set_x, pos1, 690),
- (position_set_y, pos1, 270),
- (overlay_set_position, reg1, pos1),
- (position_set_x, pos1, 140),
- (position_set_y, pos1, 120),
- (overlay_set_area_size, reg1, pos1),
- # (position_set_x, pos1, 800),
- # (position_set_y, pos1, 800),
- # (overlay_set_size, reg1, pos1),
- ]),
- (ti_on_presentation_mouse_enter_leave,[
- (store_trigger_param_1, ":object"),
- (store_trigger_param_2, ":enter_leave"),
- (assign, ":selected_troop", "$g_prsnt_param_1"),
- (troop_get_inventory_capacity, ":inv_cap", "trp_player"),
- (try_begin),
- (eq, ":enter_leave", 0),
- (try_for_range, ":slot_no", 0, ":inv_cap"),
- (neq, ":slot_no", 9),
- (troop_slot_eq, "trp_temp_array_b", ":slot_no", ":object"),
- (troop_get_slot, ":item_object", "trp_temp_array_d", ":slot_no"),
- (overlay_get_position, pos0, ":item_object"),
- (try_begin),
- (is_between, ":slot_no", 0, 9),
- (troop_get_inventory_slot, ":cur_item", ":selected_troop", ":slot_no"),
- (troop_get_inventory_slot_modifier, ":cur_imod", ":selected_troop", ":slot_no"),
- (else_try),
- (is_between, ":slot_no", 10, ":inv_cap"),
- (troop_get_inventory_slot, ":cur_item", "trp_player", ":slot_no"),
- (troop_get_inventory_slot_modifier, ":cur_imod", "trp_player", ":slot_no"),
- (try_end),
- (eq, "$g_cur_selected_item_slot", -1),
- (gt, ":cur_item", -1),
- # (try_begin),
- # (gt, ":cur_imod", 0),
- (show_item_details_with_modifier, ":cur_item", ":cur_imod", pos0, 100),
- # (else_try),
- # (show_item_details, ":cur_item", pos0, 100),
- # (try_end),
- (assign, "$g_current_opened_item_details", ":slot_no"),
- (try_end),
- (else_try),
- (try_for_range, ":slot_no", 0, ":inv_cap"),
- (troop_slot_eq, "trp_temp_array_b", ":slot_no", ":object"),
- (try_begin),
- (eq, "$g_current_opened_item_details", ":slot_no"),
- (close_item_details),
- (try_end),
- (try_end),
- (try_end),
- ]),
- (ti_on_presentation_mouse_press,[
- (store_trigger_param_1, ":object"),
- (store_trigger_param_2, ":mouse_state"),
-
- (assign, ":selected_troop", "$g_prsnt_param_1"),
- (assign, ":put_back", 1),
- (troop_get_inventory_capacity, ":inv_cap", "trp_player"),
- (try_for_range, ":slot_no", 0, ":inv_cap"),
- (neq, ":slot_no", 9),
- (troop_slot_eq, "trp_temp_array_b", ":slot_no", ":object"),
- (assign, ":put_back", 0),
- # (troop_slot_eq, "trp_temp_array_c", ":slot_no", 1), # can use
- (try_begin),
- (is_between, ":slot_no", 0, 9),
- (troop_get_inventory_slot, ":cur_item", ":selected_troop", ":slot_no"),
- (else_try),
- (is_between, ":slot_no", 10, ":inv_cap"),
- (troop_get_inventory_slot, ":cur_item", "trp_player", ":slot_no"),
- (try_end),
-
- (try_begin),
- (eq, ":mouse_state", 0), # left-click
- (try_begin),
- (eq, "$g_cur_selected_item_slot", -1),
- (try_begin),
- (gt, ":cur_item", -1),
- ### object position
- (try_begin),
- (ge, ":slot_no", 10),
- (troop_get_slot, ":item_x", "trp_temp_array_x", ":slot_no"),
- (troop_get_slot, ":item_y", "trp_temp_array_y", ":slot_no"),
- (position_set_x, pos5, ":item_x"),
- (position_set_y, pos5, ":item_y"),
- (else_try),
- (troop_get_slot, ":cur_selected_object", "trp_temp_array_d", ":slot_no"),
- (overlay_get_position, pos5, ":cur_selected_object"),
- (troop_get_slot, ":cur_selected_slot_obj", "trp_temp_array_b", ":slot_no"),
- (overlay_set_alpha, ":cur_selected_slot_obj", 0x00),
- (try_end),
- ###
- (assign, "$g_cur_selected_item_slot", ":slot_no"),
- (close_item_details),
- (try_end),
- (else_try),
- #(gt, "$g_cur_selected_item_slot", -1),
- (this_or_next|troop_slot_eq, "trp_temp_array_c", "$g_cur_selected_item_slot", 1), ##
- (is_between, ":slot_no", 10, ":inv_cap"),
- (assign, ":old_slot", "$g_cur_selected_item_slot"),
- (assign, ":new_slot", ":slot_no"),
- ### object position change
- (troop_get_slot, ":old_object", "trp_temp_array_d", ":old_slot"),
- (troop_get_slot, ":can_use_old_item", "trp_temp_array_c", ":old_slot"),
- (troop_get_slot, ":new_object", "trp_temp_array_d", ":new_slot"),
- (troop_get_slot, ":can_use_new_item", "trp_temp_array_c", ":new_slot"),
- (try_begin),
- (ge, ":new_slot", 10),
- (troop_get_inventory_slot, ":new_item", "trp_player", ":new_slot"),
- (troop_get_slot, ":item_x", "trp_temp_array_x", ":new_slot"),
- (troop_get_slot, ":item_y", "trp_temp_array_y", ":new_slot"),
- (position_set_x, pos6, ":item_x"),
- (position_set_y, pos6, ":item_y"),
- (overlay_set_size, ":old_object", pos3),
- (overlay_set_container_overlay, ":old_object", "$g_presentation_obj_admin_panel_7"),
- (else_try),
- (troop_get_inventory_slot, ":new_item", ":selected_troop", ":new_slot"),
- (overlay_get_position, pos6, ":new_object"),
- (overlay_set_size, ":old_object", pos4),
- (overlay_set_container_overlay, ":old_object", -1),
- (troop_get_slot, ":new_slot_obj", "trp_temp_array_b", ":new_slot"),
- (overlay_set_alpha, ":new_slot_obj", 0xFF),
- (try_end),
- (overlay_set_position, ":old_object", pos6),
- (troop_set_slot, "trp_temp_array_d", ":new_slot", ":old_object"),
- (troop_set_slot, "trp_temp_array_c", ":new_slot", ":can_use_old_item"),
- (try_begin), # old_object position: pos5
- (ge, ":old_slot", 10),
- (overlay_set_size, ":new_object", pos3),
- (overlay_set_container_overlay, ":new_object", "$g_presentation_obj_admin_panel_7"),
- (else_try),
- (overlay_set_size, ":new_object", pos4),
- (overlay_set_container_overlay, ":new_object", -1),
- (troop_get_slot, ":old_slot_obj", "trp_temp_array_b", ":old_slot"),
- (overlay_set_alpha, ":old_slot_obj", 0xFF),
- (eq, ":new_item", -1),
- (overlay_set_alpha, ":old_slot_obj", 0x00),
- (try_end),
- (overlay_set_position, ":new_object", pos5),
- (troop_set_slot, "trp_temp_array_d", ":old_slot", ":new_object"),
- (troop_set_slot, "trp_temp_array_c", ":old_slot", ":can_use_new_item"),
- ###
- (call_script, "script_exchange_two_items_of_slots", ":old_slot", ":new_slot", ":selected_troop"),
- # (start_presentation, "prsnt_manage_inventory"),
- (assign, "$g_cur_selected_item_slot", -1),
- (overlay_set_display, "$g_presentation_obj_admin_panel_3", 0),
- (store_mul, ":troop_with_weapons", ":selected_troop", 2),
- # (create_mesh_overlay_with_tableau_material, "$g_presentation_obj_admin_panel_3", -1, "tableau_game_party_window_1", ":selected_troop"), #test
- (create_mesh_overlay_with_tableau_material, "$g_presentation_obj_admin_panel_3", -1, "tableau_game_party_window", ":troop_with_weapons"),
- (position_set_x, pos1, 800),
- (position_set_y, pos1, 960),
- (overlay_set_size, "$g_presentation_obj_admin_panel_3", pos1),
- (position_set_x, pos1, 315),
- (position_set_y, pos1, 20),
- (overlay_set_position, "$g_presentation_obj_admin_panel_3", pos1),
- (try_end),
- (else_try),
- (eq, ":mouse_state", 1), # right-click
- (gt, ":cur_item", -1),
- (try_begin),
- (eq, "$g_cur_selected_item_slot", -1),
- (try_begin),
- (is_between, ":slot_no", 10, ":inv_cap"),
- # (gt, ":cur_item", -1),
- (try_begin),
- (troop_slot_eq, "trp_temp_array_c", ":slot_no", 1), ##
- (assign, ":old_slot", ":slot_no"),
- (item_get_type, ":old_slot_type", ":cur_item"),
- (try_begin), # weapons
- (this_or_next|is_between, ":old_slot_type", itp_type_one_handed_wpn, itp_type_goods),
- (is_between, ":old_slot_type", itp_type_pistol, itp_type_animal),
- (assign, ":old_slot_type", itp_type_one_handed_wpn),
- (try_end),
- (assign, ":end_cond", 9),
- (try_for_range, ":new_slot", 0, ":end_cond"),
- (try_begin),
- (is_between, ":new_slot", 0, 4), # weapons
- (assign, ":new_slot_type", itp_type_one_handed_wpn),
- (troop_get_inventory_slot, ":new_item", ":selected_troop", ":new_slot"),
- (try_begin),
- (gt, ":new_item", -1),
- (assign, ":new_slot_type", -1),
- (try_end),
- (else_try),
- (is_between, ":new_slot", 4, 8),
- (store_add, ":new_slot_type", ":new_slot", 8),
- (else_try),
- (eq, ":new_slot", 8),
- (assign, ":new_slot_type", itp_type_horse),
- (try_end),
- (eq, ":new_slot_type", ":old_slot_type"),
- (assign, ":end_cond", 0), #stop
- ### object position change
- (troop_get_slot, ":old_object", "trp_temp_array_d", ":old_slot"),
- (troop_get_slot, ":can_use_old_item", "trp_temp_array_c", ":old_slot"),
- (troop_get_slot, ":new_object", "trp_temp_array_d", ":new_slot"),
- (troop_get_slot, ":can_use_new_item", "trp_temp_array_c", ":new_slot"),
- (troop_get_slot, ":item_x", "trp_temp_array_x", ":old_slot"),
- (troop_get_slot, ":item_y", "trp_temp_array_y", ":old_slot"),
- (position_set_x, pos5, ":item_x"),
- (position_set_y, pos5, ":item_y"),
- (overlay_get_position, pos6, ":new_object"),
- (overlay_set_size, ":old_object", pos4),
- (overlay_set_container_overlay, ":old_object", -1),
- (overlay_set_position, ":old_object", pos6),
- (troop_get_slot, ":new_slot_obj", "trp_temp_array_b", ":new_slot"),
- (overlay_set_alpha, ":new_slot_obj", 0xFF),
- (troop_set_slot, "trp_temp_array_d", ":new_slot", ":old_object"),
- (troop_set_slot, "trp_temp_array_c", ":new_slot", ":can_use_old_item"),
- (overlay_set_size, ":new_object", pos3),
- (overlay_set_container_overlay, ":new_object", "$g_presentation_obj_admin_panel_7"),
- (overlay_set_position, ":new_object", pos5),
- (troop_set_slot, "trp_temp_array_d", ":old_slot", ":new_object"),
- (troop_set_slot, "trp_temp_array_c", ":old_slot", ":can_use_new_item"),
- ###
- (call_script, "script_exchange_two_items_of_slots", ":old_slot", ":new_slot", ":selected_troop"),
- # (start_presentation, "prsnt_manage_inventory"),
- (overlay_set_display, "$g_presentation_obj_admin_panel_3", 0),
- (store_mul, ":troop_with_weapons", ":selected_troop", 2),
- (create_mesh_overlay_with_tableau_material, "$g_presentation_obj_admin_panel_3", -1, "tableau_game_party_window", ":troop_with_weapons"),
- (position_set_x, pos1, 800),
- (position_set_y, pos1, 960),
- (overlay_set_size, "$g_presentation_obj_admin_panel_3", pos1),
- (position_set_x, pos1, 315),
- (position_set_y, pos1, 20),
- (overlay_set_position, "$g_presentation_obj_admin_panel_3", pos1),
- (try_end),
- (try_end),
- (else_try),
- (is_between, ":slot_no", 0, 9),
- # (gt, ":cur_item", -1),
- (assign, ":old_slot", ":slot_no"),
- (assign, ":end_cond", ":inv_cap"),
- (try_for_range, ":new_slot", 10, ":end_cond"),
- (troop_slot_eq, "trp_temp_array_lock", ":new_slot", 0),
- (troop_get_inventory_slot, ":new_item", "trp_player", ":new_slot"),
- (eq, ":new_item", -1),
- (assign, ":end_cond", 0), #stop
- ### object position change
- (troop_get_slot, ":old_object", "trp_temp_array_d", ":old_slot"),
- (troop_get_slot, ":can_use_old_item", "trp_temp_array_c", ":old_slot"),
- (troop_get_slot, ":new_object", "trp_temp_array_d", ":new_slot"),
- (troop_get_slot, ":can_use_new_item", "trp_temp_array_c", ":new_slot"),
- (overlay_get_position, pos5, ":old_object"),
- (troop_get_slot, ":item_x", "trp_temp_array_x", ":new_slot"),
- (troop_get_slot, ":item_y", "trp_temp_array_y", ":new_slot"),
- (position_set_x, pos6, ":item_x"),
- (position_set_y, pos6, ":item_y"),
- (overlay_set_size, ":old_object", pos3),
- (overlay_set_container_overlay, ":old_object", "$g_presentation_obj_admin_panel_7"),
- (overlay_set_position, ":old_object", pos6),
- (troop_set_slot, "trp_temp_array_d", ":new_slot", ":old_object"),
- (troop_set_slot, "trp_temp_array_c", ":new_slot", ":can_use_old_item"),
- (overlay_set_size, ":new_object", pos4),
- (overlay_set_container_overlay, ":new_object", -1),
- (overlay_set_position, ":new_object", pos5),
- (troop_get_slot, ":old_slot_obj", "trp_temp_array_b", ":old_slot"),
- (overlay_set_alpha, ":old_slot_obj", 0x00),
- (troop_set_slot, "trp_temp_array_d", ":old_slot", ":new_object"),
- (troop_set_slot, "trp_temp_array_c", ":old_slot", ":can_use_new_item"),
- ###
- (call_script, "script_exchange_two_items_of_slots", ":old_slot", ":new_slot", ":selected_troop"),
- # (start_presentation, "prsnt_manage_inventory"),
- (overlay_set_display, "$g_presentation_obj_admin_panel_3", 0),
- (store_mul, ":troop_with_weapons", ":selected_troop", 2),
- (create_mesh_overlay_with_tableau_material, "$g_presentation_obj_admin_panel_3", -1, "tableau_game_party_window", ":troop_with_weapons"),
- (position_set_x, pos1, 800),
- (position_set_y, pos1, 960),
- (overlay_set_size, "$g_presentation_obj_admin_panel_3", pos1),
- (position_set_x, pos1, 315),
- (position_set_y, pos1, 20),
- (overlay_set_position, "$g_presentation_obj_admin_panel_3", pos1),
- (try_end),
- (try_end),
- (try_end),
- (try_end),
- (try_end),
- (try_begin),
- (eq, ":put_back", 1),
- (eq, ":mouse_state", 1), # right-click
- (gt, "$g_cur_selected_item_slot", -1),
- (troop_get_slot, ":cur_selected_object", "trp_temp_array_d", "$g_cur_selected_item_slot"),
- (try_begin),
- (ge, "$g_cur_selected_item_slot", 10),
- (overlay_set_size, ":cur_selected_object", pos3),
- (overlay_set_container_overlay, ":cur_selected_object", "$g_presentation_obj_admin_panel_7"),
- (else_try),
- (overlay_set_size, ":cur_selected_object", pos4),
- (troop_get_slot, ":cur_selected_slot_obj", "trp_temp_array_b", "$g_cur_selected_item_slot"),
- (overlay_set_alpha, ":cur_selected_slot_obj", 0xFF),
- (try_end),
- (overlay_set_position, ":cur_selected_object", pos5),
- (assign, "$g_cur_selected_item_slot", -1),
- (try_end),
- ]),
-
- (ti_on_presentation_run, [
- # (set_fixed_point_multiplier, 1000),
- (try_begin),
- (gt, "$g_cur_selected_item_slot", -1),
- (troop_get_slot, ":cur_selected_object", "trp_temp_array_d", "$g_cur_selected_item_slot"),
- (mouse_get_position, pos1),
- (try_begin),
- (ge, "$g_cur_selected_item_slot", 10),
- (overlay_set_container_overlay, ":cur_selected_object", -1),
- (try_end),
- (overlay_set_position, ":cur_selected_object", pos1),
- (position_set_x, pos2, 1600),
- (position_set_y, pos2, 1600),
- (overlay_set_size, ":cur_selected_object", pos2),
- (try_end),
- (try_begin),
- (this_or_next|key_clicked, key_escape),
- (this_or_next|key_clicked, key_xbox_ltrigger),
- (key_clicked, key_xbox_rtrigger),
- (presentation_set_duration, 0),
- (try_end),
- ]),
- (ti_on_presentation_event_state_change,[
- (store_trigger_param_1, ":object"),
- (store_trigger_param_2, ":value"),
- (assign, ":selected_troop", "$g_prsnt_param_1"),
- (troop_get_inventory_capacity, ":inv_cap", "trp_player"),
- (party_get_num_companion_stacks, ":num_main_party_heros", "p_main_party_heros"),
- (try_begin), # toggle weapon set for all
- (eq, ":object", "$g_presentation_obj_admin_panel_1"),
- (assign, "$g_weapons_set_no", ":value"),
- (call_script, "script_all_toggle_weapons_set", 1),
- (start_presentation, "prsnt_manage_inventory"),
- (else_try), # done
- (eq, ":object", "$g_presentation_obj_admin_panel_2"),
- (assign, ":selected_troop", "trp_player"),
- (assign, "$g_prsnt_param_1", ":selected_troop"),
- (call_script, "script_all_toggle_weapons_set", 0), # toggle to none-empty weapons_set
- (presentation_set_duration, 0),
- (else_try), # sort
- (eq, ":object", "$g_presentation_obj_admin_panel_4"),
- (call_script, "script_sort_player_inventory_by_item_type"),
- (start_presentation, "prsnt_manage_inventory"),
- (else_try), # upgrade all
- (eq, ":object", "$g_presentation_obj_admin_panel_6"),
- (try_for_range, ":i_stack", 0, ":num_main_party_heros"),
- (party_stack_get_troop_id, ":stack_troop", "p_main_party_heros", ":i_stack"),
- (call_script, "script_upgrade_armors_and_horse_for_troop", ":stack_troop"),
- (call_script, "script_upgrade_weapons_for_troop", ":stack_troop"),
- (try_end),
- (start_presentation, "prsnt_manage_inventory"),
- (try_end),
- # heros
- (try_for_range, ":troop_overlay_no", 0, ":num_main_party_heros"),
- (troop_slot_eq, "trp_temp_array_e", ":troop_overlay_no", ":object"),
- (troop_get_slot, ":selected_troop", "trp_temp_array_a", ":troop_overlay_no"),
- (assign, "$g_prsnt_param_1", ":selected_troop"),
- (start_presentation, "prsnt_manage_inventory"),
- (try_end),
- # lock
- (try_for_range, ":slot_no", 0, ":inv_cap"),
- (neq, ":slot_no", 9),
- (troop_slot_eq, "trp_temp_array_f", ":slot_no", ":object"),
- (troop_set_slot, "trp_temp_array_lock", ":slot_no", ":value"),
- (try_end),
- ]),
- ] + pos_tool),
复制代码
|