QueryDefend()¶
FUNKTION¶
int QueryDefend(string|string* dtyp, int|mapping spell, object enemy);
DEFINIERT IN¶
/std/armour/combat.c
ARGUMENTE¶
dtyp - Schadenstypen der Angriffsart
spell - 0 bei konventionellem Angriff,
!= 0 bei Angriff mit einem nichtphysischen Spell,
mapping bei genaueren Angaben zur Wirkung
enemy - Der angreifende Gegner
BESCHREIBUNG¶
Dies ist die zentrale Funktion einer Ruestung. Sie wird in jeder
Kampfrunde aus /std/living/combat::Defend() fuer jede Ruestung aufgerufen,
die der Spieler angezogen hat.
Der Schutzwert von P_AC entfaltet seine Wirkung nur bei konventionellen
Angriffen:
* wenn 'spell' 0 ist (bei Aufruf aus der Defend heraus ausgeschlossen)
* wenn 'spell' ein Mapping mit dem Flag SP_PHYSICAL_ATTACK != 0 UND
in 'dtyp' mindestens ein physischer Schaden enthalten ist
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!
SIEHE AUCH¶
Ruestungen: P_ARMOUR_TYPE, P_NR_HANDS, P_ARMOURS, P_WORN
Schutz: P_AC, Defend(), DefendFunc
Sonstiges: P_EQUIP_TIME, P_LAST_USE, P_DAM_TYPE
Verwandt: QueryArmourByType(L), P_WEAPON, FilterClothing(),
FilterArmours()
Resistenz: P_RESISTANCE_STRENGTHS, CheckResistance(L)
28.Jul 2014 Gloinson