Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/std/inpc/nobank.c b/std/inpc/nobank.c
new file mode 100644
index 0000000..6f04aef
--- /dev/null
+++ b/std/inpc/nobank.c
@@ -0,0 +1,100 @@
+// MorgenGrauen MUDlib
+//
+// inpc/nobank.c -- Nieder mit Bankzweities!
+//
+// $Id: nobank.c 8966 2014-11-19 21:41:12Z Zesstra $
+#pragma strong_types
+#pragma save_types
+#pragma range_check
+#pragma no_clone
+#pragma pedantic
+
+inherit "/std/living/moneyhandler";
+
+#include <properties.h>
+#include <attributes.h>
+#include <money.h>
+#define ME this_object()
+
+int DeepQueryMoney(object ob) {
+  int res,i;
+  object *obs;
+  
+  if (!ob) return 0;
+  res=0;obs=deep_inventory(ob);
+  for (i=sizeof(obs)-1;i>=0;i--)
+    if ((ob=obs[i]) && load_name(ob)==GELD)
+      res+=ob->QueryProp(P_AMOUNT);
+  return res;
+}
+
+int is_bank(object ob) {
+  int *stats,geld;
+  
+  if (!ob || !query_once_interactive(ob)) return 0;
+  stats=({ob->QueryAttribute(A_STR),
+	  ob->QueryAttribute(A_INT),
+	  ob->QueryAttribute(A_DEX),
+	  ob->QueryAttribute(A_CON),
+	  0});
+  stats[4]=stats[1]+stats[2]+stats[3];
+  geld=DeepQueryMoney(ob);
+  
+  if (stats[0]>=10
+      && stats[4]<stats[0]
+      && geld>5000
+      && ob->QueryProp(P_XP)<300000
+      && ob->QueryProp(P_QP)<300)
+    return geld;
+  return 0;
+}
+
+int DeepTransferMoney(object pl, int amount) {
+  object *obs,ob;
+  int act,trans,i;
+  
+  if (!pl || amount<=0)
+    return 0;
+  if (pl->QueryMoney()>=amount) {
+    pl->AddMoney(-1*amount);
+    trans=amount;
+  } else {
+    obs=deep_inventory(pl);trans=0;
+    for (i=sizeof(obs)-1;i>=0;i--) {
+      if ((ob=obs[i]) && load_name(ob)==GELD) {
+	act=ob->QueryProp(P_AMOUNT);
+	if (act<=0) continue;
+	if (act>=amount) { // mehr Geld als benoetigt?
+	  ob->SetProp(P_AMOUNT,act-amount); // abziehen
+	  trans+=amount; 
+	  amount=0; // nichts mehr benoetigt
+	  break;    // also auch ende
+	}
+	amount-=act;
+	trans+=act;
+	ob->remove(); // abziehen was da ist
+      }
+    }
+  }
+  log_file("stolen_money",
+	   sprintf("%s %O: %O (%O)\n",ctime(time())[4..15],pl,trans,ME));
+  AddMoney(trans);
+  return trans;
+}
+
+varargs int TestAndTransfer(object ob, int trans, string msg) {
+  int geld,abzug;
+
+  if ((geld=is_bank(ob))<=0) return 0;
+  if (trans<0)
+    abzug=(geld*trans)/-100; // Prozentsatz
+  else
+    abzug=trans;             // fester Abzug
+  if (abzug>geld) abzug=geld;
+  if (abzug<=0) return 0;
+  abzug=DeepTransferMoney(ob,abzug);
+  if (abzug<=0) return 0;  
+  if (msg && ob)
+    tell_object(ob,sprintf(msg,abzug));
+  return abzug;
+}