summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
authorAsheraf <acheraf1998@gmail.com>2020-01-01 16:31:52 +0100
committerAsheraf <acheraf1998@gmail.com>2020-01-01 16:32:58 +0100
commit486b1f1558d8bd87eb3260ec4eb0a573e509a28c (patch)
tree89a5e74efae3d393b184806a341cc719fb7c6dba /src/map/pc.c
parentbf99547843038bc15dc1948748d969950e866465 (diff)
downloadhercules-486b1f1558d8bd87eb3260ec4eb0a573e509a28c.tar.gz
hercules-486b1f1558d8bd87eb3260ec4eb0a573e509a28c.tar.bz2
hercules-486b1f1558d8bd87eb3260ec4eb0a573e509a28c.tar.xz
hercules-486b1f1558d8bd87eb3260ec4eb0a573e509a28c.zip
Fix pc_have_item_chain should get the chain id from cache
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index 179a4b78a..3b3cd58e1 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -12162,15 +12162,15 @@ static int pc_have_magnifier(struct map_session_data *sd)
/**
* checks if player have any item that listed in item chain
* @param sd map_session_data of Player
- * @param chain_id unsigned short of item chain id
+ * @param chain_cache_id cache id of item chain
* @return index of inventory, INDEX_NOT_FOUND if it is not found
*/
-static int pc_have_item_chain(struct map_session_data *sd, unsigned short chain_id)
+static int pc_have_item_chain(struct map_session_data *sd, enum e_chain_cache chain_cache_id)
{
- if (chain_id >= itemdb->chain_count) {
- ShowError("itemdb_chain_item: unknown chain id %d\n", chain_id);
- return INDEX_NOT_FOUND;
- }
+ nullpo_retr(INDEX_NOT_FOUND, sd);
+ Assert_retr(INDEX_NOT_FOUND, chain_cache_id >= ECC_ORE && chain_cache_id < ECC_MAX);
+
+ int chain_id = itemdb->chain_cache[chain_cache_id];
for (int n = 0; n < itemdb->chains[chain_id].qty; n++) {
struct item_chain_entry *entry = &itemdb->chains[chain_id].items[n];