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