blob: d5393cb352d3a8cf70d53eb708a87114f58b69c5 [file] [log] [blame]
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(m_indices(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, TP->query_real_name(), 1);
}
return 1;
}
public string get_gehauen() {
if (!sizeof(hauer)) return 0;
return CountUp(m_indices(hauer));
}