--- deliantra/server/common/item.C 2007/07/10 05:51:37 1.39
+++ deliantra/server/common/item.C 2007/11/08 19:43:23 1.41
@@ -1,11 +1,11 @@
/*
- * This file is part of Crossfire TRT, the Roguelike Realtime MORPG.
+ * This file is part of Deliantra, the Roguelike Realtime MMORPG.
*
- * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team
+ * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
* Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team
* Copyright (©) 1992,2007 Frank Tore Johansen
*
- * Crossfire TRT is free software: you can redistribute it and/or modify
+ * Deliantra is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
@@ -18,7 +18,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * The authors can be reached via e-mail to
+ * The authors can be reached via e-mail to
*/
#include
@@ -1161,6 +1161,38 @@
return std::string (::describe_item (this, who));
}
+void
+examine (object *op, object *tmp)
+{
+ std::string s = tmp->describe (op);
+
+ new_draw_info (NDI_UNIQUE, 0, op, s.c_str ());
+}
+
+/*
+ * inventory prints object's inventory. If inv==NULL then print player's
+ * inventory.
+ * [ Only items which are applied are showed. Tero.Haatanen@lut.fi ]
+ */
+const char *
+object::query_inventory (object *who, const char *indent)
+{
+ static dynbuf_text buf; buf.clear ();
+
+ for (object *tmp = inv; tmp; tmp = tmp->below)
+ if (who && QUERY_FLAG (who, FLAG_WIZ))
+ buf.printf ("%s- %-28.28s (%5d) %-8s\n", indent, query_name (tmp), tmp->count, query_weight (tmp));
+ else if (!tmp->invisible && (type == CONTAINER || QUERY_FLAG (tmp, FLAG_APPLIED)))
+ buf.printf ("%s- %-36.36s %-8s\n", indent, query_name (tmp), query_weight (tmp));
+
+ if (buf.size ())
+ buf.printf ("%s(total weight: %s)\n", indent, query_weight (this));
+ else
+ buf.printf ("%s(empty)\n", indent);
+
+ return buf;
+}
+
/* Return true if the item is magical. A magical item is one that
* increases/decreases any abilities, provides a resistance,
* has a generic magical bonus, or is an artifact.