aboutsummaryrefslogtreecommitdiff
path: root/src/obj.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/obj.h')
-rw-r--r--src/obj.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/obj.h b/src/obj.h
index c591009..249f9c1 100644
--- a/src/obj.h
+++ b/src/obj.h
@@ -60,6 +60,11 @@ struct obj_class_t {
typedef uint64_t obj_id;
+struct obj_alias_t {
+ char *alias;
+ struct obj_alias_t *next;
+};
+
/* world modules should not instantiate this directly, use obj_new() instead */
/* also, members marked with 'protected' should not be modified by the world module */
struct object_t {
@@ -72,7 +77,11 @@ struct object_t {
struct obj_class_t *class;
+ size_t n_alias;
+ struct obj_alias_t *alias_list;
+
bool list; /* whether to list in room view */
+ bool default_article; /* whether or not to use 'a' or 'an' when describing this */
void *userdata;
@@ -106,3 +115,6 @@ void obj_set_idcounter(obj_id);
/* compare two objects */
int obj_compare(const void *a, const void *b);
+
+/* count the number of non-alias objects in the given multimap */
+size_t obj_count_noalias(const void *multimap);