Neue Funktion: GetHelperObject()

Damit nicht jeder eine eigene Funktion bauen muss,
um irgendein Helferobjekt zu finden, was bestimmten
Kriterien genuegt, gibt es jetzt eine in der Mudlib.

Change-Id: Id627046bc3da6685b7509cab448fe76b45a16293
diff --git a/std/living/helpers.c b/std/living/helpers.c
index 3d292c0..26c94e5 100644
--- a/std/living/helpers.c
+++ b/std/living/helpers.c
@@ -147,3 +147,23 @@
   return deep_copy(Query(P_HELPER_OBJECTS,F_VALUE));
 }
 
+public varargs object GetHelperObject(int type, int|closure strength)
+{
+  object ob;
+  // Wir brauchen strength als kleineren Wert, als den minimal akzeptierten,
+  // damit wir mit > arbeiten koennen, ist meistens egal, aber wenn kein
+  // Wert uebergeben wird ist strength = 0, in dem Fall duerfte aber
+  // mehrheitlich 1 gemeint sein.
+  --strength;
+  foreach(closure cl : Query(P_HELPER_OBJECTS)[type]-({0}))
+  {
+    if((intp(strength) && 
+      funcall(cl,this_object(),previous_object())>strength) ||
+      (closurep(strength) && funcall(strength,this_object(),cl)))
+    {
+      ob=get_type_info(cl,2);
+      break;
+    }
+  }
+  return ob;
+}