MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | inherit "/std/thing"; |
| 2 | #include <properties.h> |
| 3 | #include <moving.h> |
| 4 | #include <language.h> |
| 5 | |
| 6 | #pragma strict_types,save_types,rtt_checks |
| 7 | |
| 8 | protected void create() |
| 9 | { |
| 10 | ::create(); |
| 11 | |
| 12 | SetProp(P_GENDER, NEUTER); |
| 13 | SetProp(P_NAME, "Gebuesch"); |
| 14 | SetProp(P_SHORT,"Ein Gebuesch"); |
| 15 | SetProp(P_LONG,"Du stehst vor einem gaanz normalen Gebuesch. Es traegt " |
| 16 | "Fruechte. Und eventuell\nkann man darin etwas finden.\n"); |
| 17 | SetProp(P_NOGET,"Es ist festgewachsen, eventuell kann man es ausgraben?\n"); |
| 18 | |
| 19 | SetProp(P_WEIGHT,5000); |
| 20 | SetProp(P_SIZE,100); |
| 21 | |
| 22 | AddId(({"busch","gebuesch"})); |
| 23 | |
| 24 | AddDetail(({"fruechte","frucht"}), |
| 25 | "Es scheinen Beeren zu sein. Vielleicht kannst Du sie pfluecken?\n"); |
| 26 | AddDetail("beeren", |
| 27 | "Pflueck sie doch, vielleicht bringt das ja was.\n"); |
| 28 | |
| 29 | // Nur wenn die Syntax erfuellt ist, wird cmd_pfluecken() aufgerufen. |
| 30 | // "pfluecke beeren von busch" etc. |
| 31 | AddCmd("pfluecke|ernte&fruechte|beeren&@ID","cmd_pfluecken", |
| 32 | "Was willst Du denn @verben?|Wo willst Du denn die Beeren @verben?"); |
Christian Georg Becker | 8871251 | 2018-03-15 17:57:00 +0100 | [diff] [blame] | 33 | // ^- Fehler fuer 'fruechte' ^- Fehler fuer '@ID' |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 34 | |
| 35 | // suchen gibt nur eine Meldung aus. Dafuer braucht man kuenftig keine |
| 36 | // Funktionen mehr. |
| 37 | AddCmd("such|suche|durchsuch|durchsuche&@ID&\nimpossible",0, |
Christian Georg Becker | 8871251 | 2018-03-15 17:57:00 +0100 | [diff] [blame] | 38 | "Wo willst Du @VERBen?|Du durchsuchst das Gebuesch, findest aber nichts." |
| 39 | // ^- Fehler fuer '@ID' ^- Fehler fuer unerfuellbare Regel '\nimpossible' |
| 40 | "^@WER1 durchsucht ein Gebuesch, findet aber nichts."); |
| 41 | // ^- return 1-Flag, mit Raummeldung |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 42 | |
| 43 | // Graben geht eh nicht. Daher nur Fehlermeldungen. |
| 44 | // Das ^ sagt, dass hier ein return1 zurueckgegeben wird. Es gibt aber keine |
| 45 | // Raummeldung. |
| 46 | AddCmd("grab|grabe&@ID&aus@\nimpossible",0, |
| 47 | "Was willst Du graben?|Du willst das Gebuesch ausgraben?|" |
Christian Georg Becker | 8871251 | 2018-03-15 17:57:00 +0100 | [diff] [blame] | 48 | // ^- Fehler fuer '@ID' ^- Fehler fuer 'aus' |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 49 | "Die Wurzeln scheinen tief zu rechen. Das wird nichts.^"); |
Christian Georg Becker | 8871251 | 2018-03-15 17:57:00 +0100 | [diff] [blame] | 50 | // ^- Fehler fuer unerfuellbare Regel '\nimpossible' ^- return 1-Flag |
| 51 | // keine Raum |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 52 | } |
| 53 | |
| 54 | int cmd_pfluecken(string arg, mixed *param) |
| 55 | { |
Christian Georg Becker | 8871251 | 2018-03-15 17:57:00 +0100 | [diff] [blame] | 56 | object obj = clone_object(__DIR__"obst"); |
| 57 | string msg = "Verwundert pflueckst Du "+(obj->name())+" vom Busch. " |
| 58 | "Komisch."; |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 59 | |
Christian Georg Becker | 8871251 | 2018-03-15 17:57:00 +0100 | [diff] [blame] | 60 | this_player()->ReceiveMsg(msg, MT_NOTIFICATION); |
| 61 | if(this_player()->pick(obj)) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 62 | return 1; |
Christian Georg Becker | 8871251 | 2018-03-15 17:57:00 +0100 | [diff] [blame] | 63 | |
| 64 | if(obj->move(environment(), M_PUT) == MOVE_OK) |
| 65 | this_player()->ReceiveMsg(obj->Name(WER)+" faellt zu Boden.", |
| 66 | MT_LOOK|MT_LISTEN); |
| 67 | else { |
| 68 | this_player()->ReceiveMsg(obj->Name(WER, 1)+" zerplatzt.", |
| 69 | MT_LOOK|MT_LISTEN); |
| 70 | obj->remove(1); |
| 71 | } |
| 72 | return 1; |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 73 | } |