Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/std/inpc/boozing.c b/std/inpc/boozing.c
new file mode 100644
index 0000000..4f24f52
--- /dev/null
+++ b/std/inpc/boozing.c
@@ -0,0 +1,62 @@
+// MorgenGrauen MUDlib
+//
+// inpc/boozing.c -- Intelligentes Saufen
+//
+// $Id: boozing.c 8396 2013-02-18 21:56:37Z Zesstra $
+#pragma strong_types
+#pragma save_types
+#pragma range_check
+#pragma no_clone
+#pragma pedantic
+
+#define NEED_PROTOTYPES
+#include <thing.h>
+#include <living.h>
+#include <inpc.h>
+#include <container/moneyhandler.h>
+#include <properties.h>
+
+#define DRINK_IDS 1
+#define DRINK_COST 2
+#define DRINK_HEAL 3
+#define DRINK_ALC 4
+#define DRINK_SAT 5
+
+int Drink() {
+ mixed drinks;
+ object env;
+ int i,max,mon,hdiff;
+
+ if ((mon=QueryMoney())<=0
+ || !(env=environment())
+ || !pointerp(drinks=env->query_drink())
+ || (hdiff=QueryProp(P_MAX_HP)-QueryProp(P_HP))<=0)
+ return 0;
+ max=-1;
+ for (i=sizeof(drinks)-1;i>=0;i--) {
+ if (drinks[i][DRINK_COST]>mon
+ || ((drinks[i][DRINK_ALC]>0) &&
+ ((drinks[i][DRINK_ALC]+QueryProp(P_ALCOHOL))
+ > (100-QueryProp(P_I_HATE_ALCOHOL))))
+ || drinks[i][DRINK_SAT]+QueryProp(P_DRINK)>100
+ || drinks[i][DRINK_HEAL]<=0)
+ continue;
+ if (max<0
+ || (drinks[i][DRINK_HEAL]>drinks[max][DRINK_HEAL] &&
+ drinks[max][DRINK_HEAL]<hdiff)
+ || (drinks[i][DRINK_HEAL]>=hdiff &&
+ drinks[i][DRINK_COST]<drinks[max][DRINK_COST]))
+ max=i;
+ }
+ if (max<0) return 0;
+ command("bestell "+drinks[max][DRINK_IDS][0]);
+ return 1;
+}
+
+void DrinkLoop() {
+ while (remove_call_out("DrinkLoop")>=0);
+ if (!Drink())
+ return;
+ call_out("DrinkLoop",0);
+}
+