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