blob: 9ca678aca02745a92f797543acf58ad7b4b5e55b [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001P_PLURAL
2********
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005NAME
6====
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 P_PLURAL "plural"
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
13
14 /sys/thing/language.h
15
16
17BESCHREIBUNG
18============
19
20 Mit Hilfe von P_PLURAL koennen auch nicht Unit Objekte als Pluralobjekte
21 markiert werden. Bei einem Wert > 1 wird der Wert ausserdem auch noch in
22 den Namen eingefuegt. Sollte man in eigenem Code zulassen wollen, das
23 etwas mit bestimmten Objekten geschieht, dann sollte man die Verben
24 entsprechen konjugieren.
25
26
27BEMERKUNGEN
28===========
29
30 Wirkt nicht auf Todesmeldungen -> siehe dafuer P_KILL_MSG
31
32
33BEISPIELE
34=========
35
36 SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 2);
37 name(WER, 1) -> "die zwei Stiefel"
38
39 SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 1);
40 name(WER, 1) -> "die Stiefel"
41
42 // Ein Beispiel fuer das konjugieren von Verben
43 static int cmd_opfer(string str)
44 {
45 int i;
46 object *obs;
47 notify_fail("Was moechtest Du opfern?\n");
48 if (!str || !sizeof(obs=PL->find_obs(str))) return 0;
49 for (i=sizeof(obs)-1; i>=0; i--)
50 if (obs[i]->QueryProp(P_VALUE)<=0)
51 write(obs[i]->Name(WER)+" "
52 +(ob->QueryProp(P_PLURAL) ? "sind" : "ist")
53 +" doch gar nichts wert.\n");
54 else obs[i]->remove();
55 }
MG Mud User88f12472016-06-24 23:31:02 +020056
5726. Juni 2004 Gloinson