Neues Beispiel.
Change-Id: I7446342fb4a460a31b0adb9dccfbde155360dda0
diff --git a/npc/zwerg7.c b/npc/zwerg7.c
new file mode 100644
index 0000000..4290a3b
--- /dev/null
+++ b/npc/zwerg7.c
@@ -0,0 +1,80 @@
+inherit "/std/npc";
+
+#include <new_skills.h>
+#include __PATH__(1)"defs.h"
+
+#define MYPROP notstrom_tutorial2018_beispiel1
+
+private string look();
+private int hauen();
+
+private mapping hauer = ([]);
+
+protected void create() {
+ if (!clonep()) {
+ set_next_reset(-1);
+ return;
+ }
+ ::create();
+
+ create_default_npc(20, 600);
+
+ SetProp(P_SHORT, "Ein Zwerg");
+ Set(P_LONG, #'look, F_QUERY_METHOD);
+ SetProp(P_NAME, "Kawumm");
+ SetProp(P_ARTICLE, 0);
+ SetProp(P_GENDER, MALE);
+
+ AddId(({"zwerg", "kawumm"}));
+ SetProp(P_ALIGN, 100);
+ SetProp(P_RACE, "Zwerg");
+ SetProp(P_SIZE, 102);
+
+ AddCmd("hau|haue&@ID", #'hauen,
+ "Wen willst Du hauen?");
+}
+
+void reset() {
+ ::reset();
+
+ if (sizeof(hauer)) {
+ tell_room(ENV(), BSLF(
+ "Krawumm vergisst, von wem er schon alles gehauen wurde. Seine "
+ "Blessuren verschwinden wie von Magierhand."));
+ hauer = ([]);
+ }
+}
+
+private string look() {
+ string msg = "Dies ist Krawumm, der Zwerg. ";
+ if (!sizeof(hauer)) {
+ msg += "Niemand hat ihm bisher eins auf die Omme gehauen, obwohl er so "
+ "verfuehrerisch herumsteht.\n";
+ } else {
+ msg += "Er hat schon durchaus was auf die Omme bekommen, und zwar von "+
+ CountUp(hauer)+"\n";
+ }
+ msg += "Wenn Du ihm was draufsemmeln willst, dann versuche einfach:\n"
+ " haue krawumm";
+ return BSLF(msg);
+}
+
+private int hauen() {
+ if (TP->QueryProp(MYPROP)) {
+ tell_object(TP, BSLF(
+ "Aber nicht doch. Du hast Krawumm bereits gehauen."));
+ } else {
+ tell_object(TP, BSLF(
+ "Gut, Du haust also Krawumm welche auf die Omme. Krawumm zuckt kurz, "
+ "steht dann aber unbewegt weiter rum. Er hat sich das aber bestimmt "
+ "gemerkt ..."));
+ tell_room(ENV(), BSLF(
+ TPN+" haut Krawumm eins auf die Omme. Dem scheint das aber nicht viel "
+ "auszumachen. Typisch Zwerg, solange er Alk kriegt, ist er zufrieden."),
+ ({TP}));
+ TP->SetProp(MYPROP, 1);
+ m_add(hauer, getuuid(TP), 1);
+ }
+ return 1;
+}
+