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