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