summaryrefslogtreecommitdiff
path: root/src/map/storage.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2017-04-09 15:24:22 +0200
committerGitHub <noreply@github.com>2017-04-09 15:24:22 +0200
commitdb5a1d0f714fa196e1c026ccb123ac7104af2f75 (patch)
treee399edacc33de1a1954777d5ebfd9b1b6213367e /src/map/storage.c
parent083ed4ad7a30bdc3172b3ef2a66bb257c0c0e70f (diff)
parent974222a8d3f189083205bf5d330de04a43226ad3 (diff)
downloadhercules-db5a1d0f714fa196e1c026ccb123ac7104af2f75.tar.gz
hercules-db5a1d0f714fa196e1c026ccb123ac7104af2f75.tar.bz2
hercules-db5a1d0f714fa196e1c026ccb123ac7104af2f75.tar.xz
hercules-db5a1d0f714fa196e1c026ccb123ac7104af2f75.zip
Merge pull request #1598 from Smokexyz/IRO
Implementation of Item Options System.
Diffstat (limited to 'src/map/storage.c')
-rw-r--r--src/map/storage.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/map/storage.c b/src/map/storage.c
index acb72be81..aacc7c053 100644
--- a/src/map/storage.c
+++ b/src/map/storage.c
@@ -133,9 +133,12 @@ int compare_item(struct item *a, struct item *b)
a->bound == b->bound &&
a->unique_id == b->unique_id)
{
- int i;
- for (i = 0; i < MAX_SLOTS && (a->card[i] == b->card[i]); i++);
- return (i == MAX_SLOTS);
+ int i = 0, k = 0;
+ ARR_FIND(0, MAX_SLOTS, i, a->card[i] != b->card[i]);
+ ARR_FIND(0, MAX_ITEM_OPTIONS, k, a->option[k].index != b->option[k].index || a->option[k].value != b->option[k].value);
+
+ if (i == MAX_SLOTS && k == MAX_ITEM_OPTIONS)
+ return 1;
}
return 0;
}