Always set all item data in npc_sellist_sub (#6429)

Fixes #6422

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
This commit is contained in:
Jittapan Pluemsumran 2024-06-13 05:47:04 +07:00 committed by GitHub
parent 8f9b0b8354
commit 503f9e09f6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2962,28 +2962,24 @@ static int npc_selllist_sub(map_session_data* sd, int list_length, PACKET_CZ_PC_
script_setarray_pc( sd, "@sold_nameid", i, sd->inventory.u.items_inventory[idx].nameid, &key_nameid ); script_setarray_pc( sd, "@sold_nameid", i, sd->inventory.u.items_inventory[idx].nameid, &key_nameid );
script_setarray_pc( sd, "@sold_quantity", i, item_list[i].amount, &key_amount ); script_setarray_pc( sd, "@sold_quantity", i, item_list[i].amount, &key_amount );
script_setarray_pc( sd, "@sold_refine", i, sd->inventory.u.items_inventory[idx].refine, &key_refine );
script_setarray_pc( sd, "@sold_attribute", i, sd->inventory.u.items_inventory[idx].attribute, &key_attribute );
script_setarray_pc( sd, "@sold_identify", i, sd->inventory.u.items_inventory[idx].identify, &key_identify );
script_setarray_pc( sd, "@sold_enchantgrade", i, sd->inventory.u.items_inventory[idx].enchantgrade, &key_enchantgrade );
if( itemdb_isequip(sd->inventory.u.items_inventory[idx].nameid) ) for( j = 0; j < MAX_SLOTS; j++ )
{// process equipment based information into the arrays {// store each of the cards from the equipment in the array
script_setarray_pc( sd, "@sold_refine", i, sd->inventory.u.items_inventory[idx].refine, &key_refine ); snprintf(card_slot, sizeof(card_slot), "@sold_card%d", j + 1);
script_setarray_pc( sd, "@sold_attribute", i, sd->inventory.u.items_inventory[idx].attribute, &key_attribute ); script_setarray_pc( sd, card_slot, i, sd->inventory.u.items_inventory[idx].card[j], &key_card[j] );
script_setarray_pc( sd, "@sold_identify", i, sd->inventory.u.items_inventory[idx].identify, &key_identify ); }
script_setarray_pc( sd, "@sold_enchantgrade", i, sd->inventory.u.items_inventory[idx].enchantgrade, &key_enchantgrade );
for( j = 0; j < MAX_SLOTS; j++ ) for (j = 0; j < MAX_ITEM_RDM_OPT; j++) { // Store each of the item options in the array
{// store each of the cards from the equipment in the array snprintf(option_id, sizeof(option_id), "@sold_option_id%d", j + 1);
snprintf(card_slot, sizeof(card_slot), "@sold_card%d", j + 1); script_setarray_pc( sd, option_id, i, sd->inventory.u.items_inventory[idx].option[j].id, &key_option_id[j] );
script_setarray_pc( sd, card_slot, i, sd->inventory.u.items_inventory[idx].card[j], &key_card[j] ); snprintf(option_val, sizeof(option_val), "@sold_option_val%d", j + 1);
} script_setarray_pc( sd, option_val, i, sd->inventory.u.items_inventory[idx].option[j].value, &key_option_val[j] );
snprintf(option_param, sizeof(option_param), "@sold_option_param%d", j + 1);
for (j = 0; j < MAX_ITEM_RDM_OPT; j++) { // Store each of the item options in the array script_setarray_pc( sd, option_param, i, sd->inventory.u.items_inventory[idx].option[j].param, &key_option_param[j] );
snprintf(option_id, sizeof(option_id), "@sold_option_id%d", j + 1);
script_setarray_pc( sd, option_id, i, sd->inventory.u.items_inventory[idx].option[j].id, &key_option_id[j] );
snprintf(option_val, sizeof(option_val), "@sold_option_val%d", j + 1);
script_setarray_pc( sd, option_val, i, sd->inventory.u.items_inventory[idx].option[j].value, &key_option_val[j] );
snprintf(option_param, sizeof(option_param), "@sold_option_param%d", j + 1);
script_setarray_pc( sd, option_param, i, sd->inventory.u.items_inventory[idx].option[j].param, &key_option_param[j] );
}
} }
} }