blob: 8b948545f445ac6a29d0949d56bae2497add32b0 [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
Arathorn214fd7a2021-01-20 00:27:01 +010021 Diese Funktion versucht, ein Lebewesen zu befrieden.
Zesstra953f9972017-02-18 15:37:36 +010022 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
Arathorn214fd7a2021-01-20 00:27:01 +010025 Ein immer befriedbarer NPC kann durch das Setzen von P_ACCEPT_PEACE in
26 einem Lebewesen realisiert werden.
MG Mud User88f12472016-06-24 23:31:02 +020027
Arathorn214fd7a2021-01-20 00:27:01 +010028 Standardmaessig funktioniert die Funktion wie folgt:
29
Zesstra953f9972017-02-18 15:37:36 +010030 * Kommt der Versuch vom Spellcaster selbst, ist er immer erfolgreich.
31 * Kommt der Versuch von einem Teamkollegen, ist er immer erfolgreich.
32 * Hat das Lebewesen keine Gegner, ist der Versuch immer erfolglos.
Arathorn214fd7a2021-01-20 00:27:01 +010033
Zesstra953f9972017-02-18 15:37:36 +010034 In diesen Faellen erfolgt auch keine Erhoehung des Befriedezaehlers.
MG Mud User88f12472016-06-24 23:31:02 +020035
Zesstra953f9972017-02-18 15:37:36 +010036 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
Zesstra953f9972017-02-18 15:37:36 +010042 w = (INT_CASTER + 10 - ANZ*4) / (INT_ME + 10)
43
Zesstra953f9972017-02-18 15:37:36 +010044 Hierbei gibt w die Chance auf eine erfolgreiche Befriedung an. Mittels einer
45 Zufallszahl wird bestimmt, ob der aktuelle Versuch erfolgreich ist. Falls
46 ja, wird der Zaehler fuer die Gilde des Casters in P_PEACE_HISTORY erhoeht.
47
48 Je oefter ein Lebewesen als von einer Gilde schon befriedet wurde, desto
49 unwahrscheinlicher, dass es erneut darauf 'hereinfaellt'.
50
51
52BEMERKUNGEN
53===========
54
Arathorn214fd7a2021-01-20 00:27:01 +010055 * Die Funktion kann auch ueberschrieben werden, um ein vom Magier
56 gewuenschtes Verhalten zu realisieren. Ein komplettes Abhaengen
57 von Befriedungen sollte dabei aber die Ausnahme sein!
58
59 * Diese Funktion verwaltet auch das P_PEACE_HISTORY, speziell die
60 Reduktion der Erfolgszaehler. Ueberschreibt man sie ohne das
61 geerbte Pacify() zu nutzen, wird P_PEACE_HISTORY nicht mehr
62 verwaltet.
Zesstra953f9972017-02-18 15:37:36 +010063
64
65RUECKGABEWERTE
66==============
67
68 1 - das Lebewesen wurde erfolgreich befriedet..
69 0 - der Befriedeversuch ist gescheitert.
70
71
72BEISPIELE
73=========
74
Arathorn214fd7a2021-01-20 00:27:01 +010075 Angenommen, der Caster hat eine Intelligenz von 22. Die folgende Tabelle
76 gibt dann die Wahrscheinlichkeiten fuer eine erfolgreiche Befriedung an:
77 (in Abhaengigkeit von NPC-Intelligenz INT_ME und vergangener erfolgreicher
78 Versuche).
79
Zesstra953f9972017-02-18 15:37:36 +010080 INT_ME Erfolgswahrscheinlichkeiten je nach Anzahl erfolgreicher Versuche
81 1 2 3 4 5 6 7 8
82 0 280 240 200 160 120 80 40 0
83 2 233,33 200 166,67 133,33 100 66,67 33,33 0
84 4 200 171,43 142,86 114,29 85,71 57,14 28,57 0
85 6 175 150 125 100 75 50 25 0
86 8 155,56 133,33 111,11 88,89 66,67 44,44 22,22 0
87 10 140 120 100 80 60 40 20 0
88 12 127,27 109,09 90,91 72,73 54,55 36,36 18,18 0
89 14 116,67 100 83,33 66,67 50 33,33 16,67 0
90 16 107,69 92,31 76,92 61,54 46,15 30,77 15,38 0
91 18 100 85,71 71,43 57,14 42,86 28,57 14,29 0
92 20 93,33 80 66,67 53,33 40 26,67 13,33 0
93 22 87,5 75 62,5 50 37,5 25 12,5 0
94 24 82,35 70,59 58,82 47,06 35,29 23,53 11,76 0
95 26 77,78 66,67 55,56 44,44 33,33 22,22 11,11 0
96 28 73,68 63,16 52,63 42,11 31,58 21,05 10,53 0
97 30 70 60 50 40 30 20 10 0
98 32 66,67 57,14 47,62 38,1 28,57 19,05 9,52 0
99 34 63,64 54,55 45,45 36,36 27,27 18,18 9,09 0
100 35 62,22 53,33 44,44 35,56 26,67 17,78 8,89 0
101 36 60,87 52,17 43,48 34,78 26,09 17,39 8,7 0
102 38 58,33 50 41,67 33,33 25 16,67 8,33 0
103 40 56 48 40 32 24 16 8 0
104 42 53,85 46,15 38,46 30,77 23,08 15,38 7,69 0
105 44 51,85 44,44 37,04 29,63 22,22 14,81 7,41 0
106 46 50 42,86 35,71 28,57 21,43 14,29 7,14 0
107 48 48,28 41,38 34,48 27,59 20,69 13,79 6,9 0
108 50 46,67 40 33,33 26,67 20 13,33 6,67 0
109 52 45,16 38,71 32,26 25,81 19,35 12,9 6,45 0
110 54 43,75 37,5 31,25 25 18,75 12,5 6,25 0
111 56 42,42 36,36 30,3 24,24 18,18 12,12 6,06 0
112 58 41,18 35,29 29,41 23,53 17,65 11,76 5,88 0
113 60 40 34,29 28,57 22,86 17,14 11,43 5,71 0
114 62 38,89 33,33 27,78 22,22 16,67 11,11 5,56 0
115 64 37,84 32,43 27,03 21,62 16,22 10,81 5,41 0
116 66 36,84 31,58 26,32 21,05 15,79 10,53 5,26 0
117 68 35,9 30,77 25,64 20,51 15,38 10,26 5,13 0
118 70 35 30 25 20 15 10 5 0
119 72 34,15 29,27 24,39 19,51 14,63 9,76 4,88 0
120 74 33,33 28,57 23,81 19,05 14,29 9,52 4,76 0
121 76 32,56 27,91 23,26 18,6 13,95 9,3 4,65 0
122 78 31,82 27,27 22,73 18,18 13,64 9,09 4,55 0
123 80 31,11 26,67 22,22 17,78 13,33 8,89 4,44 0
124 82 30,43 26,09 21,74 17,39 13,04 8,7 4,35 0
125 84 29,79 25,53 21,28 17,02 12,77 8,51 4,26 0
126 86 29,17 25 20,83 16,67 12,5 8,33 4,17 0
127 88 28,57 24,49 20,41 16,33 12,24 8,16 4,08 0
128 90 28 24 20 16 12 8 4 0
129 92 27,45 23,53 19,61 15,69 11,76 7,84 3,92 0
130 94 26,92 23,08 19,23 15,38 11,54 7,69 3,85 0
131 96 26,42 22,64 18,87 15,09 11,32 7,55 3,77 0
132 98 25,93 22,22 18,52 14,81 11,11 7,41 3,7 0
133 100 25,45 21,82 18,18 14,55 10,91 7,27 3,64 0
134
MG Mud User88f12472016-06-24 23:31:02 +0200135
136SIEHE AUCH
Zesstra953f9972017-02-18 15:37:36 +0100137==========
138
139 P_ACCEPT_PEACE, P_PEACE_HISTORY
140
MG Mud User88f12472016-06-24 23:31:02 +0200141
142LETZTE AENDERUNG
Zesstra953f9972017-02-18 15:37:36 +0100143================
MG Mud User88f12472016-06-24 23:31:02 +0200144
Zesstra953f9972017-02-18 15:37:36 +010014507.06.2008, Zesstra