blob: 4027187bd489b6a6e5962020a255c399f287dfbb [file] [log] [blame]
notstrom22f99b52018-12-15 14:37:07 +01001inherit "/std/npc";
2
3#include <new_skills.h>
4#include __PATH__(1)"defs.h"
5
notstrom3eb4d562018-12-15 14:37:52 +01006#define MYPROP "notstrom_tutorial2018_beispiel1"
notstrom22f99b52018-12-15 14:37:07 +01007
8private string look();
9private int hauen();
10
11private mapping hauer = ([]);
12
13protected void create() {
14 if (!clonep()) {
15 set_next_reset(-1);
16 return;
17 }
18 ::create();
19
20 create_default_npc(20, 600);
21
22 SetProp(P_SHORT, "Ein Zwerg");
23 Set(P_LONG, #'look, F_QUERY_METHOD);
24 SetProp(P_NAME, "Kawumm");
25 SetProp(P_ARTICLE, 0);
26 SetProp(P_GENDER, MALE);
27
28 AddId(({"zwerg", "kawumm"}));
29 SetProp(P_ALIGN, 100);
30 SetProp(P_RACE, "Zwerg");
31 SetProp(P_SIZE, 102);
32
33 AddCmd("hau|haue&@ID", #'hauen,
34 "Wen willst Du hauen?");
35}
36
37void reset() {
38 ::reset();
39
40 if (sizeof(hauer)) {
41 tell_room(ENV(), BSLF(
42 "Krawumm vergisst, von wem er schon alles gehauen wurde. Seine "
43 "Blessuren verschwinden wie von Magierhand."));
44 hauer = ([]);
45 }
46}
47
48private string look() {
49 string msg = "Dies ist Krawumm, der Zwerg. ";
50 if (!sizeof(hauer)) {
51 msg += "Niemand hat ihm bisher eins auf die Omme gehauen, obwohl er so "
52 "verfuehrerisch herumsteht.\n";
53 } else {
54 msg += "Er hat schon durchaus was auf die Omme bekommen, und zwar von "+
notstrom04802e12018-12-15 14:46:24 +010055 CountUp(m_indices(hauer))+".\n";
notstrom22f99b52018-12-15 14:37:07 +010056 }
57 msg += "Wenn Du ihm was draufsemmeln willst, dann versuche einfach:\n"
58 " haue krawumm";
59 return BSLF(msg);
60}
61
62private int hauen() {
63 if (TP->QueryProp(MYPROP)) {
64 tell_object(TP, BSLF(
65 "Aber nicht doch. Du hast Krawumm bereits gehauen."));
66 } else {
67 tell_object(TP, BSLF(
68 "Gut, Du haust also Krawumm welche auf die Omme. Krawumm zuckt kurz, "
69 "steht dann aber unbewegt weiter rum. Er hat sich das aber bestimmt "
70 "gemerkt ..."));
71 tell_room(ENV(), BSLF(
72 TPN+" haut Krawumm eins auf die Omme. Dem scheint das aber nicht viel "
73 "auszumachen. Typisch Zwerg, solange er Alk kriegt, ist er zufrieden."),
74 ({TP}));
75 TP->SetProp(MYPROP, 1);
notstrom04802e12018-12-15 14:46:24 +010076 m_add(hauer, Capitalize(TP->query_real_name()), 1);
notstrom22f99b52018-12-15 14:37:07 +010077 }
78 return 1;
79}
80
notstromcf80e802018-12-15 14:42:36 +010081public string get_gehauen() {
82 if (!sizeof(hauer)) return 0;
83 return CountUp(m_indices(hauer));
84}