So wie in axt2 soll man es gerade nicht machen ...

Change-Id: I8fe3f26313589af8888e58fb91d0dab349d3428e
diff --git a/obj/axt2.c b/obj/axt2.c
index a8eb3aa..83937d9 100644
--- a/obj/axt2.c
+++ b/obj/axt2.c
@@ -1,11 +1,13 @@
 /*
-  Manchmal moechte man ja einem NPC eine ordentliche Waffe geben, die dann
-  aber fuer Spieler nicht so geeignet oder schlicht zu gut waere. In diesem
-  Fall ist eine Moeglichkeit, die Waffenwerte abhaengig von demjenigen zu
-  setzen, der sie gerade dabeihat.
+  Eine andere Moeglichkeit, eine Waffe nur fuer einen NPC zur Verfuegung zu
+  stellen ist ein wenig frustrierender fuer Spieler. Man sollte Beispiele
+  wie dieses nicht ungeprueft uebernehmen. Waffen, die kein Spieler zuecken
+  kann, stossen meist nicht auf sehr hohen Enthusiasmus beim Spieler, die
+  betreffende Gegend mehrmals zu aufzusuchen.
 */
 inherit "/std/weapon";
 
+#include <new_skills.h>
 #include __PATH__(1)"defs.h"
 
 
@@ -25,23 +27,16 @@
   SetProp(P_GENDER, FEMALE);
   AddId(({"axt"}));
 
-  /* Dies ist Kawumms persoenliche Axt, und mit der macht er mehr Schaden als
-     jeder andere. Gleichzeitig ist dies ein Beispiel dafuer, wie man eine
-     Prop mit einer Closure setzt. Da F_QUERY_METHOD angegeben ist, wird die
-     eingebundene Inline-Function jedesmal ausgefuehrt, wenn der Wert von P_WC
-     abgefragt wird, also z.B. auch bei jedem Attack().
-     Der umgekehrte Fall waere, wenn wir F_SET_METHOD verwenden, dann wuerde
-     die Inline-Function ausgefuehrt, wenn jemand SetProp(P_WC) aufruft. */
-  Set(P_WC, function int() {
-    if (load_name(ENV()) == __PATH__(1)"npc/zwerg5")
-      return 180;
-    return 100;
-  }, F_QUERY_METHOD);
-
+  SetProp(P_WC, 180);
   SetProp(P_WEAPON_TYPE, WT_AXE);
   SetProp(P_DAM_TYPE, DT_SLASH);
   SetProp(P_NR_HANDS, 1);
 
+  /* "Restriktionen" bezieht sich hier konkret auf das Zuecken der Waffe.
+     In diesem Beispiel wird das anhand der Function wield_check()
+     ueberprueft, die sich in DIESEM Objekt befinden muss: */
+  SetProp(P_RESTRICTIONS, ([SR_FUN: "wield_check"]));
+
   SetProp(P_VALUE, 200);
   SetProp(P_WEIGHT, 3250);
   SetProp(P_SIZE, 90);
@@ -49,3 +44,13 @@
   SetProp(P_MATERIAL, ([MAT_STEEL:100]));
 }
 
+public string wield_check() {
+  /* Wir pruefen direkt, ob derjenige, der die Axt im Inventory hat, der
+     legale Besitzer ist. Diese Axt funktioniert also z.B. nicht mehr,
+     wenn man einen anderen NPC damit ausruesten moechte. */
+  if (load_name(ENV()) != __PATH__(1)"npc/zwerg4")
+    return BSLF(
+      "Dies ist Kawumms persoenliche Axt. Sie ist so dermassen unhandlich, "
+      "dass Du sie nicht zuecken kannst.");
+  return 0;
+}
diff --git a/obj/axt3.c b/obj/axt3.c
index 83937d9..a2fbf7f 100644
--- a/obj/axt3.c
+++ b/obj/axt3.c
@@ -1,10 +1,3 @@
-/*
-  Eine andere Moeglichkeit, eine Waffe nur fuer einen NPC zur Verfuegung zu
-  stellen ist ein wenig frustrierender fuer Spieler. Man sollte Beispiele
-  wie dieses nicht ungeprueft uebernehmen. Waffen, die kein Spieler zuecken
-  kann, stossen meist nicht auf sehr hohen Enthusiasmus beim Spieler, die
-  betreffende Gegend mehrmals zu aufzusuchen.
-*/
 inherit "/std/weapon";
 
 #include <new_skills.h>
@@ -20,8 +13,8 @@
 
   SetProp(P_SHORT, "Eine besondere Axt");
   SetProp(P_LONG, BSLF(
-    "Dies ist die Axt von Kawumm, dem Zwerg. Niemand kann so damit zuhauen "
-    "wie er."));
+    "Dies ist die Axt von Kawumm, dem Zwerg. Sie ist allerdings nicht fuer "
+    "Spielerhaende gedacht."));
 
   SetProp(P_NAME, "Axt");
   SetProp(P_GENDER, FEMALE);
@@ -32,10 +25,9 @@
   SetProp(P_DAM_TYPE, DT_SLASH);
   SetProp(P_NR_HANDS, 1);
 
-  /* "Restriktionen" bezieht sich hier konkret auf das Zuecken der Waffe.
-     In diesem Beispiel wird das anhand der Function wield_check()
-     ueberprueft, die sich in DIESEM Objekt befinden muss: */
-  SetProp(P_RESTRICTIONS, ([SR_FUN: "wield_check"]));
+  /* Als Variante des letzten Beispieles: Wenn es egal ist, welcher NPC
+     die Axt zuecken darf, dann geht es auch ohne zusaetzliche Function: */
+  SetProp(P_RESTRICTIONS, ([SR_PROP: ([P_NPC:1])]));
 
   SetProp(P_VALUE, 200);
   SetProp(P_WEIGHT, 3250);
@@ -44,13 +36,3 @@
   SetProp(P_MATERIAL, ([MAT_STEEL:100]));
 }
 
-public string wield_check() {
-  /* Wir pruefen direkt, ob derjenige, der die Axt im Inventory hat, der
-     legale Besitzer ist. Diese Axt funktioniert also z.B. nicht mehr,
-     wenn man einen anderen NPC damit ausruesten moechte. */
-  if (load_name(ENV()) != __PATH__(1)"npc/zwerg4")
-    return BSLF(
-      "Dies ist Kawumms persoenliche Axt. Sie ist so dermassen unhandlich, "
-      "dass Du sie nicht zuecken kannst.");
-  return 0;
-}
diff --git a/obj/axt3b.c b/obj/axt3b.c
deleted file mode 100644
index a2fbf7f..0000000
--- a/obj/axt3b.c
+++ /dev/null
@@ -1,38 +0,0 @@
-inherit "/std/weapon";
-
-#include <new_skills.h>
-#include __PATH__(1)"defs.h"
-
-
-protected void create() {
-  if (!clonep()) {
-    set_next_reset(-1);
-    return;
-  }
-  ::create();
-
-  SetProp(P_SHORT, "Eine besondere Axt");
-  SetProp(P_LONG, BSLF(
-    "Dies ist die Axt von Kawumm, dem Zwerg. Sie ist allerdings nicht fuer "
-    "Spielerhaende gedacht."));
-
-  SetProp(P_NAME, "Axt");
-  SetProp(P_GENDER, FEMALE);
-  AddId(({"axt"}));
-
-  SetProp(P_WC, 180);
-  SetProp(P_WEAPON_TYPE, WT_AXE);
-  SetProp(P_DAM_TYPE, DT_SLASH);
-  SetProp(P_NR_HANDS, 1);
-
-  /* Als Variante des letzten Beispieles: Wenn es egal ist, welcher NPC
-     die Axt zuecken darf, dann geht es auch ohne zusaetzliche Function: */
-  SetProp(P_RESTRICTIONS, ([SR_PROP: ([P_NPC:1])]));
-
-  SetProp(P_VALUE, 200);
-  SetProp(P_WEIGHT, 3250);
-  SetProp(P_SIZE, 90);
-
-  SetProp(P_MATERIAL, ([MAT_STEEL:100]));
-}
-