diff options
Diffstat (limited to 'src/emap/craft.c')
-rw-r--r-- | src/emap/craft.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/emap/craft.c b/src/emap/craft.c index c790836..8ad8633 100644 --- a/src/emap/craft.c +++ b/src/emap/craft.c @@ -274,3 +274,19 @@ void craft_delete(const int id) delete_craft_var(craft); idb_remove(craftvar_db, id); } + +struct craft_slot *craft_get_slot(const int id, const int slot) +{ + struct craft_vardata *craft = idb_get(craftvar_db, id); + if (!craft) + { + ShowError("Craft object with id %d not exists.\n", id); + return NULL; + } + if (slot < 0 || slot > craft_inventory_size) + { + ShowError("Wrong slot %d for craft with id %d.\n", slot, id); + return NULL; + } + return &craft->slots[slot]; +} |