blob: 5be3ccee1b050436cf0f2b32da0c82515490aa08 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001P_EFFECTIVE_AC
Zesstra953f9972017-02-18 15:37:36 +01002**************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005NAME
6====
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 P_EFFECTIVE_AC "effective_ac"
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 <combat.h>
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017BESCHREIBUNG
18============
MG Mud User88f12472016-06-24 23:31:02 +020019
Zesstra953f9972017-02-18 15:37:36 +010020 Diese Property kommt sowohl in Ruestungen als auch in Waffen, die
21 schuetzen sollen, zum Einsatz.
MG Mud User88f12472016-06-24 23:31:02 +020022
Zesstra953f9972017-02-18 15:37:36 +010023 In Ruestungen kann hier der Effektivwert der Ruestungsklasse vermerkt
24 werden, wenn diese noch durch eine DefendFunc() modifiziert wird
25 (soweit sich ein solcher Effektivwert angeben laesst).
MG Mud User88f12472016-06-24 23:31:02 +020026
Zesstra953f9972017-02-18 15:37:36 +010027 In einigen Gilden koennen Waffen auch als Ruestung eingesetzt werden
28 (z.B. beim Parieren eines Angriffs). In dieser Property kann man die
29 Ruestungsklasse eintragen, die die Waffe bei solchen Aktionen aufweisen
30 soll. Dabei ist man an die ueblichen Beschraenkungen der
31 Ruestungsklasse gebunden! (s. /sys/combat.h)
MG Mud User88f12472016-06-24 23:31:02 +020032
MG Mud User88f12472016-06-24 23:31:02 +020033
Zesstra953f9972017-02-18 15:37:36 +010034BERMERKUNGEN
35============
MG Mud User88f12472016-06-24 23:31:02 +020036
Zesstra953f9972017-02-18 15:37:36 +010037 Das Kaempferspellbook verwendet fuer Paraden etc. P_EFFECTIVE_AC anstatt
38 P_AC, wenn verfuegbar.
MG Mud User88f12472016-06-24 23:31:02 +020039
MG Mud User88f12472016-06-24 23:31:02 +020040
Zesstra953f9972017-02-18 15:37:36 +010041BEISPIELE
42=========
MG Mud User88f12472016-06-24 23:31:02 +020043
Zesstra953f9972017-02-18 15:37:36 +010044 * DefendFuncs:
45 Der doppelte Mittelwert der DefendFunc wird zur Basis-AC dazuaddiert,
46 da sich der 'Schutzwert = random(Basis-AC) + absolut(DefendFunc-Wert)'
47 berechnet.
48
49 // #1 Eine Ruestung mit P_AC von 35 und randomisierter DefendFunc
50 SetProp(P_AC, 35);
51 SetProp(P_DEFEND_FUNC, this_object());
52
53 int DefendFunc(...) {
54 return random(20); // Mittelwert: 10
55 }
56 -> SetProp(P_EFFECTIVE_AC, 55); // 35 + 2*10 = 55
57
58 // #2 Eine Ruestung mit P_AC von 35 und teilrandomisierter DefendFunc
59 SetProp(P_AC, 35);
60 SetProp(P_DEFEND_FUNC, this_object());
61
62 int DefendFunc(...) {
63 return 20 + random(10); // Mittelwert: 20 + 5
64 }
65 -> SetProp(P_EFFECTIVE_AC, 85); // 35 + 2*(20+5) = 85
66
67 * Sonderfunktion im Kontext der Kaempfergilde:
68 Auch wenn der eigentliche AC-Wert durch keine DefendFunc oAe
69 modifiziert wird, sind abweichende Werte in P_EFFECTIVE_AC zB in der
70 Kaempfergilde fuer Paraden oder aehnliches sinnvoll. Maximalwert ist
71 dafuer der doppelte Wert des Basis-AC-Wertes.
72
73 // #3 Ein schon sehr gutes Schild, welches bei der Schildparade aber
74 // noch besser schuetzen soll.
75 SetProp(P_ARMOUR_TYPE, AT_SHIELD);
76 SetProp(P_AC, 38);
77 SetProp(P_EFFECTIVE_AC, 55);
78
79 // #4 Ein sehr labbriges Schild schuetzt zwar gegen normale Schlaege,
80 // ist zum Parieren aber irgendwie ungeeignet weil unkontrollierbar.
81 SetProp(P_ARMOUR_TYPE, AT_SHIELD);
82 SetProp(P_AC, 38);
83 SetProp(P_EFFECTIVE_AC, 20);
84
85 * Waffen:
86 P_EFFECTIVE_AC wird im Kaempferspellbook als Bonus dazugezaehlt! Daher
87 sollten gute Parierwaffen auch einen niedrigeren P_WC-Wert haben.
88 Reine Parierwaffen duerfen den maximalen AC-Wert von Schilden als
89 Maximum gesetzt haben - die Balance klaert ggf, ob das auch auf den
90 Gildenparierwert anwendbar ist.
91
92 // #5 Eine maessige Hellebarde/Axtwaffe mit Parierhaken.
93 SetProp(P_WEAPON_TYPE, WT_AXE);
94 SetProp(P_WC, 100);
95 SetProp(P_EFFECTIVE_AC, 25);
96
97
98SIEHE AUCH
99==========
100
101 Waffen: P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
102 Ruestungen: P_AC, P_TOTAL_AC, DefendFunc()
103 Files: /std/weapon.c, /std/weapon/combat.c
104 Balance: waffen, ruestungen, properties, kaempferboni
MG Mud User88f12472016-06-24 23:31:02 +0200105
1066. Nov 2011 Gloinson