blob: 6e69c7fdd38314693c5447c2b8497e72bd708f45 [file] [log] [blame]
H_HOOK_DEFEND
=============
HOOK
----
H_HOOK_DEFEND
DEFINIERT IN
------------
/sys/hook.h
GERUFEN VON
-----------
/std/living/combat.c
BESCHREIBUNG
------------
Wird im Defend() eines Lebewesens ausgeloest. Es ist moeglich das Defend()
abzubrechen oder die Daten zu veraendern.
Dieser Hook kommt nach der Auswertung von P_TMP_DEFEND_HOOK zum Zuge, kann
also auch die durch diesen modifizierten Daten aendern.
Die Daten des Legacy-Hooks stehen, sofern vorhanden, in
spell[EINFO_DEFEND][DEFEND_HOOK].
Insb. wird dieser Hook aber auch erst nach Abfrage der Defender
ausgefuehrt. Von diesen sind evtl. bereits Meldungen ausgegeben worden,
auch wenn das Defend() an dieser Stelle vom Hook abgebrochen wird.
Parierwaffen, Ruestungen und Skills kommen erst nach dem Hook zum Zug.
HOOK-DATEN
----------
Es wird ein array uebergeben.
({int dam, string* dam_type, mapping spell, object enemy})
Die Werte sind bereits normalisiert D.h., eine Ueberpruefung auf korrekte
Datentypen ist hier ueberfluessig.
RUECKGABEWERTE
--------------
({ <status>, <daten> })
<status> : H_NO_MOD, H_CANCELLED, H_ALTERED
<daten> : wie uebergebenes Datenarray
SIEHE AUCH
----------
HRegisterToHook(), HUnregisterFromHook(), HookFlow(), Defend()
Letzte Aenderung: 06.10.2022, Bugfix