P_EFFECTIVE_WC ============== NAME ---- :: P_EFFECTIVE_WC "effective_wc" DEFINIERT IN ------------ :: BESCHREIBUNG ------------ :: Diese Property kommt sowohl in Waffen als auch Ruestungen, die Schaden machen sollen, zum Einsatz. Falls die Staerke einer Waffe noch durch eine HitFunc() modifiziert wird, sollte hier der Effektivwert der Waffenklasse vermerkt werden, soweit er sich angeben laesst. Diese Property dient vor allem dazu, eine Waffe mit HitFunc() korrekt einzuschaetzen. In einigen Gilden koennen Ruestungen auch als Waffen eingesetzt werden (z.B. ein Paar Schuhe zum Treten). In dieser Property kann man die Waffenklasse eintragen, die die Ruestung bei solchen Aktionen aufweisen soll. Dabei ist man an die ueblichen Beschraenkungen der Waffenklasse gebunden! (s. /sys/combat.h) Der Ruestung kann man dann auch einen Schadenstyp mit auf den Weg geben. BEMERKUNGEN ----------- :: Das Kaempferspellbook verwendet bei Ruestungen P_AC, wenn P_EFFECTIVE_WC nicht gesetzt ist. BEISPIELE --------- :: * HitFuncs: Der doppelte Mittelwert der HitFunc wird zur Basis-WC dazuaddiert, da sich der 'Angriffswert = random(Basis-WC) + absolut(HitFunc-Wert)' berechnet. // #1 Waffe mit Basis-WC 120 und randomisierter HitFunc SetProp(P_WC, 120); SetProp(P_HIT_FUNC, this_object()); int HitFunc(...) { return random(30); // Mittelwert: 15 } -> SetProp(P_EFFECTIVE_WC, 150); // 120 + 2*15 = 150 // #2 Waffe mit Basis-WC 120 und teilweise absoluter HitFunc SetProp(P_WC, 120); SetProp(P_HIT_FUNC, this_object()); int HitFunc(...) { return 30 + random(10); // Mittelwert: 30 + 5 } -> SetProp(P_EFFECTIVE_WC, 190); // 120 + 2*(30+5) = 190 * Ruestungen (zB Gildennutzung): Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der jeweils doppelte maximale P_AC-Wert. Angabe eines Schadenstyps ist sinnvoll. // #3 Ein paar Schuhe, mit maximalem Schlag-/Saeureschaden. SetProp(P_ARMOUR_TYPE, AT_BOOT); SetProp(P_AC, 2); SetProp(P_DAM_TYPE, ({DT_BLUDGEON,DT_ACID})); -> SetProp(P_EFFECTIVE_WC, 12); // hoechstmoeglicher Wert bei // Schuhen, da deren max. P_AC = 6 // aequivalent und zukunftssicher: -> SetProp(P_EFFECTIVE_WC, 2 * VALID_ARMOUR_CLASS[AT_BOOT]); // #4 Ein Schild mit spitzem Dorn. (Stichschaden beim Schildstoss.) SetProp(P_ARMOUR_TYPE, AT_SHIELD); SetProp(P_AC, 5); SetProp(P_DAM_TYPE, ({DT_PIERCE})); SetProp(P_EFFECTIVE_WC, 55); // #5 Ein Gummischild ist schlecht fuer Angriffe. BOING! SetProp(P_ARMOUR_TYPE, AT_SHIELD); SetProp(P_AC, 30); SetProp(P_DAM_TYPE, ({DT_BLUDGEON})); SetProp(P_EFFECTIVE_WC, 10); SIEHE AUCH ---------- :: Waffen: P_WC, P_TOTAL_WC, HitFunc() Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc() Files: /std/weapon.c, /std/weapon/combat.c Balance: waffen, ruestungen, properties, kaempferboni 6. Nov 2011 Gloinson