summaryrefslogtreecommitdiff
path: root/src/emap/craft.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emap/craft.c')
-rw-r--r--src/emap/craft.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/emap/craft.c b/src/emap/craft.c
index 54cf7b9..4c5cb5d 100644
--- a/src/emap/craft.c
+++ b/src/emap/craft.c
@@ -143,7 +143,8 @@ bool craft_checkstr(TBL_PC *sd, const char *craftstr)
if (!amount)
continue;
if(sd->status.inventory[f].nameid == 0 ||
- sd->status.inventory[f].amount < amount)
+ sd->status.inventory[f].amount < amount ||
+ sd->status.inventory[f].equip > 0)
{
return false;
}
@@ -335,7 +336,8 @@ bool craft_validate(TBL_PC *sd, const int id)
if (invIndex < 0 ||
invIndex >= MAX_INVENTORY ||
!sd->status.inventory[invIndex].nameid ||
- !sd->status.inventory[invIndex].amount)
+ sd->status.inventory[invIndex].amount <= 0 ||
+ sd->status.inventory[invIndex].equip > 0)
{
return false;
}
@@ -348,7 +350,8 @@ bool craft_validate(TBL_PC *sd, const int id)
if (!amount)
continue;
if(sd->status.inventory[f].nameid == 0 ||
- sd->status.inventory[f].amount < amount)
+ sd->status.inventory[f].amount < amount ||
+ sd->status.inventory[f].equip > 0)
{
return false;
}
@@ -364,7 +367,8 @@ static int find_inventory_item(TBL_PC *sd,
for (i = 0; i < MAX_INVENTORY; i++)
{
if (sd->status.inventory[i].nameid == id &&
- sd->status.inventory[i].amount >= amount)
+ sd->status.inventory[i].amount >= amount &&
+ sd->status.inventory[i].equip == 0)
{
return i;
}