Lpc Manpages

QueryDefend()

FUNKTION:
     int QueryDefend(string *dtyp, mixed spell, object enemy);

DEFINIERT IN:
     /std/armour/combat.c

ARGUMENTE:
     dtyp
          Schadenstypen der Angriffsart
     spell
          0 bei konventionellem Angriff, Mapping mit weiteren Infos bei
          Angriff per Zauberspruch.
     enemy
          Der angreifende Gegner

BESCHREIBUNG:
     Dies ist die zentrale Funktion einer jeden Ruestung. Sie wird in jeder
     Kampfrunde von Defend() aus aufgerufen und berechnet die Abwehrstaerke
     der Ruestung abhaengig von 'dtyp', wobei - abgesehen von einer Defend-
     Func() - der Ruestungsschutz nur berechnet wird, wenn in 'dtyp' einer
     der 'physischen' Schadenstypen (DT_SLASH, DT_PIERCE, DT_BLUDGEON,
     DT_SQUEEZE, DT_RIP oder DT_WHIP) vorkommt.

     Ein konventioneller Angriff ist ein Angriff mit spell=0, oder wenn
     spell ein Mapping ist, in dem das Attribut DefendFunc() angegeben, so
     wird diese mit den gleichen Parametern wie QueryDefend() aufgerufen.
     Dies geschieht in jedem Fall, also auch bei magischen Attacken.

RUECKGABEWERT:
     Die Ruestungsstaerke in dieser Kampfrunde. Sie ermittelt sich als
     Zufallszahl zwischen 0 und P_AC, zuzueglich des Ergebnisses des
     DefendFunc()-Aufrufs.

BEMERKUNGEN:
     Auch wenn man eine DefendFunc() benutzt, darf der Rueckgabewert
     insgesamt nicht groesser werden als der fuer den Ruestungstyp maximal
     zulaessige!
     
DOKUMENTIERT:
     08.05.1996 von Wargon@MorgenGrauen
     09.08.1996 modifiziert von Mupfel

SIEHE AUCH:
     Defend(), DefendFunc(), TakeFlaw(), /std/armour/combat.c, P_DAM_TYPES