blob: dbfee7692d941a920c01dc9d7eb6333c9e67910c [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001SetAttackChats()
2================
3
4FUNKTION
5--------
6::
7
8 void SetAttackChats(int chance, mixed strs);
9
10DEFINIERT IN
11------------
12::
13
14 /std/npc/chat.c
15
16ARGUMENTE
17---------
18::
19
20 chance
21 Prozentuale Wahrscheinlichkeit einer Ausgabe
22 strs
23 Stringarray mit den Monsterchats
24
25BESCHREIBUNG
26------------
27::
28
29 Der NPC gibt mit der Wahrscheinlichkeit 'chance' einen zufaellig
30 gewaehlten Text aus 'strs' von sich. Die Arrayelemente koennen
31 auch Funktionen ("@@func@@") oder Closures enthalten, die dann
32 aufgerufen werden und deren Rueckgabewerte das Monster dann ausgibt.
33
34RUECKGABEWERT
35-------------
36::
37
38 keiner
39
40
41
42BEMERKUNGEN
43-----------
44::
45
46 AttackChats werden nur im Kampf ausgegeben. Ansonsten ist SetChats()
47 zu verwenden.
48
49
50
51 'chance' wird in der Property P_ACHAT_CHANCE abgelegt. Um einen NPC
52 voruebergehend 'stillzulegen', kann man P_ACHAT_CHANCE auf 0 setzen.
53
54
55
56 Man kann AttackChats nutzen, um Monsterspells zu realisieren. Besser
57 ist es aber, dafuer 'AddSpell' zu verwenden.
58
59
60
61BEISPIELE
62---------
63::
64
65 SetAttackChats( 20,
66 ({ "Der Ork tritt Dir in den Hintern.\n",
67 "Der Ork bruellt: Lebend kommst Du hier nicht raus!\n",
68 "Der Ork blutet schon aus mehreren Wunden.\n",
69 "@@knirsch@@" }) );
70
71
72
73 string knirsch()
74 {
75 object *ruestung, *tmp, helm;
76
77
78
79 ruestung = this_player()->QueryProp(P_ARMOURS); // getragene Ruestung
80 tmp = filter_objects(ruestung, "id", AT_HELMET);
81 // Wenn der Spieler einen Helm traegt, enthaelt 'tmp' jetzt
82 // ein Array mit dem Helmobjekt als einzigem Element
83 if (sizeof(tmp)) helm = tmp[0];
84 if (objectp(helm))
85 {
86 // AC nur dann senken, wenn sie nicht schon 0 ist.
87 if (helm->QueryProp(P_AC)>0) {
88 helm->Damage(1);
89 return "Der Ork beschaedigt Deinen Helm!\n";
90 }
91 return "";
92 }
93 else
94 return ""; // keine Meldung
95 }
96
97SIEHE AUCH
98----------
99::
100
101 P_ACHAT_CHANCE, SetChats(), /std/npc/chat.c, AddSpell()
102
103LETZTE AENDERUNG
104----------------
105::
106
107 Don, 27.12.2007, 16:35:00 von Arathorn
108