blob: 8a68c421ce3f9bb007f28e971cd9e3418b3cfddf [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001Pacify()
2========
3
4FUNKTION
5--------
6::
7
8 public int Pacify(object caster)
9
10DEFINIERT IN
11------------
12::
13
14 /std/living/combat.c
15
16BESCHREIBUNG
17------------
18::
19
20 Diese Funktion versucht, ein Lebewesen zu befrieden.
21 Will eine Gilde ein Lebewesen befrieden, muss sie hierfuer diese Funktion
22 in dem Lebewesen aufrufen.
23
24 Ein immer befriedbarer NPC kann durch das Setzen von P_ACCEPT_PEACE in einem
25 Lebewesen realisiert werden.
26
27 Standardmaessig funktioniert die Funktion wie folgt:
28 * Kommt der Versuch vom Spellcaster selbst, ist er immer erfolgreich.
29 * Kommt der Versuch von einem Teamkollegen, ist er immer erfolgreich.
30 * Hat das Lebewesen keine Gegner, ist der Versuch immer erfolglos.
31 In diesen Faellen erfolgt auch keine Erhoehung des Befriedezaehlers.
32
33
34
35 In anderen Faellen wird die in P_PEACE_HISTORY fuer die Gilde des Casters
36 abgelegte Zahl erfolgreicher Befriedungen (ANZ), die Intelligenz des
37 Casters (INT_CASTER) und die Intelligenz des Lebenwesens selber (INT_ME)
38 ermittelt.
39 Anschliessend wird eine Wahrscheinlichkeit w ausgerechnet:
40
41
42
43 w = (INT_CASTER + 10 - ANZ*4) / (INT_ME + 10)
44
45
46
47 Hierbei gibt w die Chance auf eine erfolgreiche Befriedung an. Mittels einer
48 Zufallszahl wird bestimmt, ob der aktuelle Versuch erfolgreich ist. Falls
49 ja, wird der Zaehler fuer die Gilde des Casters in P_PEACE_HISTORY erhoeht.
50
51 Je oefter ein Lebewesen als von einer Gilde schon befriedet wurde, desto
52 unwahrscheinlicher, dass es erneut darauf 'hereinfaellt'.
53
54BEMERKUNGEN
55-----------
56::
57
58 * Die Funktion kann auch ueberschrieben werden, um ein vom Magier
59 gewuenschtes Verhalten zu realisieren. Ein komplettes Abhaengen von
60 Befriedungen sollte dabei aber die Ausnahme sein!
61 * Diese Funktion verwaltet auch das P_PEACE_HISTORY, speziell die Reduktion
62 der Erfolgszaehler. Ueberschreibt man sie ohne das geerbte Pacify()
63 zu nutzen, wird P_PEACE_HISTORY nicht mehr verwaltet.
64
65RUECKGABEWERTE
66--------------
67::
68
69 1 - das Lebewesen wurde erfolgreich befriedet..
70 0 - der Befriedeversuch ist gescheitert.
71
72
73
74BEISPIELE
75---------
76::
77
78 Angenommen, der Caster hat eine Intelligenz von 22. Die folgende Tabelle
79 gibt dann die Wahrscheinlichkeiten fuer eine erfolgreiche Befriedung an:
80 (in Abhaengigkeit von eigener Intelligenz und vergangener erfolgreicher
81 Versuche)
82 INT_ME Erfolgswahrscheinlichkeiten je nach Anzahl erfolgreicher Versuche
83 1 2 3 4 5 6 7 8
84 0 280 240 200 160 120 80 40 0
85 2 233,33 200 166,67 133,33 100 66,67 33,33 0
86 4 200 171,43 142,86 114,29 85,71 57,14 28,57 0
87 6 175 150 125 100 75 50 25 0
88 8 155,56 133,33 111,11 88,89 66,67 44,44 22,22 0
89 10 140 120 100 80 60 40 20 0
90 12 127,27 109,09 90,91 72,73 54,55 36,36 18,18 0
91 14 116,67 100 83,33 66,67 50 33,33 16,67 0
92 16 107,69 92,31 76,92 61,54 46,15 30,77 15,38 0
93 18 100 85,71 71,43 57,14 42,86 28,57 14,29 0
94 20 93,33 80 66,67 53,33 40 26,67 13,33 0
95 22 87,5 75 62,5 50 37,5 25 12,5 0
96 24 82,35 70,59 58,82 47,06 35,29 23,53 11,76 0
97 26 77,78 66,67 55,56 44,44 33,33 22,22 11,11 0
98 28 73,68 63,16 52,63 42,11 31,58 21,05 10,53 0
99 30 70 60 50 40 30 20 10 0
100 32 66,67 57,14 47,62 38,1 28,57 19,05 9,52 0
101 34 63,64 54,55 45,45 36,36 27,27 18,18 9,09 0
102 35 62,22 53,33 44,44 35,56 26,67 17,78 8,89 0
103 36 60,87 52,17 43,48 34,78 26,09 17,39 8,7 0
104 38 58,33 50 41,67 33,33 25 16,67 8,33 0
105 40 56 48 40 32 24 16 8 0
106 42 53,85 46,15 38,46 30,77 23,08 15,38 7,69 0
107 44 51,85 44,44 37,04 29,63 22,22 14,81 7,41 0
108 46 50 42,86 35,71 28,57 21,43 14,29 7,14 0
109 48 48,28 41,38 34,48 27,59 20,69 13,79 6,9 0
110 50 46,67 40 33,33 26,67 20 13,33 6,67 0
111 52 45,16 38,71 32,26 25,81 19,35 12,9 6,45 0
112 54 43,75 37,5 31,25 25 18,75 12,5 6,25 0
113 56 42,42 36,36 30,3 24,24 18,18 12,12 6,06 0
114 58 41,18 35,29 29,41 23,53 17,65 11,76 5,88 0
115 60 40 34,29 28,57 22,86 17,14 11,43 5,71 0
116 62 38,89 33,33 27,78 22,22 16,67 11,11 5,56 0
117 64 37,84 32,43 27,03 21,62 16,22 10,81 5,41 0
118 66 36,84 31,58 26,32 21,05 15,79 10,53 5,26 0
119 68 35,9 30,77 25,64 20,51 15,38 10,26 5,13 0
120 70 35 30 25 20 15 10 5 0
121 72 34,15 29,27 24,39 19,51 14,63 9,76 4,88 0
122 74 33,33 28,57 23,81 19,05 14,29 9,52 4,76 0
123 76 32,56 27,91 23,26 18,6 13,95 9,3 4,65 0
124 78 31,82 27,27 22,73 18,18 13,64 9,09 4,55 0
125 80 31,11 26,67 22,22 17,78 13,33 8,89 4,44 0
126 82 30,43 26,09 21,74 17,39 13,04 8,7 4,35 0
127 84 29,79 25,53 21,28 17,02 12,77 8,51 4,26 0
128 86 29,17 25 20,83 16,67 12,5 8,33 4,17 0
129 88 28,57 24,49 20,41 16,33 12,24 8,16 4,08 0
130 90 28 24 20 16 12 8 4 0
131 92 27,45 23,53 19,61 15,69 11,76 7,84 3,92 0
132 94 26,92 23,08 19,23 15,38 11,54 7,69 3,85 0
133 96 26,42 22,64 18,87 15,09 11,32 7,55 3,77 0
134 98 25,93 22,22 18,52 14,81 11,11 7,41 3,7 0
135 100 25,45 21,82 18,18 14,55 10,91 7,27 3,64 0
136
137SIEHE AUCH
138----------
139::
140
141 P_ACCEPT_PEACE, P_PEACE_HISTORY
142
143LETZTE AENDERUNG
144----------------
145::
146
14707.06.2008, Zesstra
148