Naechstes Beispiel.
Change-Id: Ib44b4891bc9ca02d361344e7663ca70fc0fe0208
diff --git a/obj/axt2.c b/obj/axt2.c
new file mode 100644
index 0000000..ebfeef2
--- /dev/null
+++ b/obj/axt2.c
@@ -0,0 +1,46 @@
+// Fuer Waffen allgemein bitte "man waffen" lesen!
+inherit "/std/weapon";
+
+#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. Niemand kann so damit zuhauen "
+ "wie er."));
+
+ SetProp(P_NAME, "Axt");
+ 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_WEAPON_TYPE, WT_AXE);
+ SetProp(P_DAM_TYPE, DT_SLASH);
+ SetProp(P_NR_HANDS, 1);
+
+ SetProp(P_VALUE, 200);
+ SetProp(P_WEIGHT, 3250);
+ SetProp(P_SIZE, 90);
+
+ SetProp(P_MATERIAL, ([MAT_STEEL:100]));
+}
+