Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/secure/questmaster.h b/secure/questmaster.h
new file mode 100644
index 0000000..1cf61aa
--- /dev/null
+++ b/secure/questmaster.h
@@ -0,0 +1,132 @@
+// MorgenGrauen MUDlib
+//
+// questmaster.h -- header file for questmaster object
+//
+// $Id: questmaster.h 8261 2012-12-04 22:56:29Z Zesstra $
+
+#ifndef __QUESTMASTER_H__
+#define __QUESTMASTER_H__
+
+//XP threshold
+
+#define XP_NEEDED_FOR_WIZ 1000000
+
+// the questmaster
+#define QM "/secure/questmaster"
+
+// the quests file
+#define QUESTS "/secure/ARCH/questmaster"
+
+// Dumpfile for MiniQuests
+#define MQ_DUMP_FILE "/secure/ARCH/MINIQUESTS.dump"
+
+// percentage of max_QP which is needed to become wizard
+#define QP_PERCENT 80
+
+
+// minimum of QP to become Seer or Wizzard
+#define QP_MIN 1196
+
+
+// log to file
+
+#define QMLOG(x) write_file("/log/QUESTMASTER",dtime(time())+": "+\
+ geteuid(this_interactive())+" -> "+ x +"\n")
+
+#define MQMLOG(x) write_file("/log/ARCH/MQUESTMASTER", \
+ dtime(time())+": "+(this_interactive()?geteuid(this_interactive()):"UNKNOWN")+\
+ " -> "+ x +"\n")
+
+#define MQSOLVEDLOG(x) write_file("/log/ARCH/MQ_SOLVED", \
+ dtime(time())+" "+x+"\n")
+
+// quest groups
+
+#define QGROUP_1 8
+#define QGROUP_2 18
+#define QGROUP_3 29
+#define QGROUP_S -1
+
+#define QGROUPS ({0,QGROUP_1,QGROUP_2, QGROUP_3})
+
+
+// Welcher Eintrag im Array steht fuer was?
+#define Q_QP 0
+#define Q_XP 1
+#define Q_ALLOWED 2
+#define Q_HINT 3
+#define Q_DIFF 4
+#define Q_CLASS 5
+#define Q_ACTIVE 6
+#define Q_WIZ 7
+#define Q_SCNDWIZ 8
+#define Q_ATTR 9
+#define Q_AVERAGE 10
+
+// Sternchen fuer die Klasse
+
+#define QCLASS_STARS(n) funcall(lambda( ({ 'x, 's }), \
+ ({#'while, ({#'>, 'x, 0}), \
+ 's, ({#', ,({#'=, 'x, ({#'-, 'x, 1}) }), \
+ ({#'=, 's, ({#'+, 's, "*" }) }) \
+ }) }) ), n, "") /* ' */
+
+
+// Attribute der Quests
+#define QATTR_FLEISSIG 1
+#define QATTR_HEROISCH 2
+#define QATTR_EPISCH 3
+#define QATTR_LEGENDAER 4
+
+#define QATTR_STRINGS ([0: "", \
+ QATTR_FLEISSIG: "fleissig", \
+ QATTR_HEROISCH: "heroisch", \
+ QATTR_EPISCH: "episch", \
+ QATTR_LEGENDAER: "legendaer"])
+
+
+
+// Rueckgabewerte Quests
+
+#define OK 1
+
+#define GQ_ALREADY_SET -1
+#define GQ_KEY_INVALID -2
+#define GQ_ILLEGAL_OBJ -3
+#define GQ_IS_INACTIVE -4
+
+#define DQ_NOT_SET -1
+#define DQ_KEY_INVALID -2
+#define DQ_ILLEGAL_OBJ -3
+
+#define QQ_GUEST 2
+#define QQ_KEY_INVALID 0
+
+#define ERRNO_2_STRING(x,y) (["GQ1" : "Ok.",\
+ "GQ-1": "Die Quest ist bereits geloest worden.",\
+ "GQ-2": "Ungueltiger Questname.",\
+ "GQ-3": "Unbefugter Zugriff.",\
+ "GQ-4": "Die Quest ist derzeit inaktiv.",\
+ "DQ1" : "Ok.",\
+ "DQ-1": "Die Quest war nicht gesetzt.",\
+ "DQ-2": "Ungueltiger Questname.",\
+ "DQ-3": "Unbefugter Zugriff.",\
+ "QQ1" : "Ok.",\
+ "QQ2" : "Gaeste koennen keine Quest loesen.",\
+ "QQ0" : "Ungueltiger Questname.",\
+ ])[x+y]
+
+
+// Miniquests
+
+#define MQ_ALREADY_SET -1
+#define MQ_KEY_INVALID -2
+#define MQ_ILLEGAL_OBJ -3
+#define MQ_IS_INACTIVE -4
+#define MQ_GUEST -5
+
+
+#endif /* __QUESTMASTER_H__ */
+
+
+