Cleans up check overall
This commit is contained in:
parent
bbb417dab0
commit
ff700c2815
@ -628,18 +628,7 @@ int char_memitemdata_to_sql(const struct item items[], int max, int id, enum sto
|
|||||||
if( items[i].nameid == 0 || flag[i] )
|
if( items[i].nameid == 0 || flag[i] )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if( items[i].nameid == item.nameid
|
if( items[i].nameid == item.nameid &&
|
||||||
&& (memcmp(items[i].card, item.card, sizeof(int) * MAX_SLOTS) == 0)
|
|
||||||
&& (memcmp(items[i].option, item.option, 5 * MAX_ITEM_RDM_OPT) == 0)
|
|
||||||
&& items[i].unique_id == item.unique_id
|
|
||||||
) { //They are the same item.
|
|
||||||
int k;
|
|
||||||
|
|
||||||
ARR_FIND( 0, MAX_SLOTS, j, items[i].card[j] != item.card[j] );
|
|
||||||
ARR_FIND( 0, MAX_ITEM_RDM_OPT, k, items[i].option[k].id != item.option[k].id || items[i].option[k].value != item.option[k].value || items[i].option[k].param != item.option[k].param );
|
|
||||||
|
|
||||||
if( j == MAX_SLOTS &&
|
|
||||||
k == MAX_ITEM_RDM_OPT &&
|
|
||||||
items[i].amount == item.amount &&
|
items[i].amount == item.amount &&
|
||||||
items[i].equip == item.equip &&
|
items[i].equip == item.equip &&
|
||||||
items[i].identify == item.identify &&
|
items[i].identify == item.identify &&
|
||||||
@ -648,10 +637,15 @@ int char_memitemdata_to_sql(const struct item items[], int max, int id, enum sto
|
|||||||
items[i].expire_time == item.expire_time &&
|
items[i].expire_time == item.expire_time &&
|
||||||
items[i].bound == item.bound &&
|
items[i].bound == item.bound &&
|
||||||
items[i].enchantgrade == item.enchantgrade &&
|
items[i].enchantgrade == item.enchantgrade &&
|
||||||
(tableswitch != TABLE_INVENTORY || (items[i].favorite == item.favorite && items[i].equipSwitch == item.equipSwitch)) )
|
(tableswitch != TABLE_INVENTORY || (items[i].favorite == item.favorite && items[i].equipSwitch == item.equipSwitch)) &&
|
||||||
; //Do nothing.
|
items[i].unique_id == item.unique_id
|
||||||
else
|
) { //They are the same item.
|
||||||
{
|
int k;
|
||||||
|
|
||||||
|
ARR_FIND( 0, MAX_SLOTS, j, items[i].card[j] != item.card[j] );
|
||||||
|
ARR_FIND( 0, MAX_ITEM_RDM_OPT, k, items[i].option[k].id != item.option[k].id || items[i].option[k].value != item.option[k].value || items[i].option[k].param != item.option[k].param );
|
||||||
|
|
||||||
|
if( j != MAX_SLOTS && k != MAX_ITEM_RDM_OPT) {
|
||||||
// update all fields.
|
// update all fields.
|
||||||
StringBuf_Clear(&buf);
|
StringBuf_Clear(&buf);
|
||||||
StringBuf_Printf(&buf, "UPDATE `%s` SET `amount`='%d', `equip`='%u', `identify`='%d', `refine`='%d',`attribute`='%d', `expire_time`='%u', `bound`='%d', `unique_id`='%" PRIu64 "', `enchantgrade`='%d'",
|
StringBuf_Printf(&buf, "UPDATE `%s` SET `amount`='%d', `equip`='%u', `identify`='%d', `refine`='%d',`attribute`='%d', `expire_time`='%u', `bound`='%d', `unique_id`='%" PRIu64 "', `enchantgrade`='%d'",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user