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