P_EFFECTIVE_WC

NAME

P_EFFECTIVE_WC     "effective_wc"

DEFINIERT IN

<combat.h>

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
  1. Nov 2011 Gloinson