Bugfix | 852b5a1 | 2022-10-05 14:37:18 +0200 | [diff] [blame] | 1 | H_HOOK_DEFEND |
| 2 | ============= |
| 3 | |
| 4 | HOOK |
| 5 | ---- |
| 6 | |
| 7 | H_HOOK_DEFEND |
| 8 | |
| 9 | DEFINIERT IN |
| 10 | ------------ |
| 11 | |
| 12 | /sys/hook.h |
| 13 | |
| 14 | GERUFEN VON |
| 15 | ----------- |
| 16 | |
| 17 | /std/living/combat.c |
| 18 | |
| 19 | BESCHREIBUNG |
| 20 | ------------ |
| 21 | |
| 22 | Wird im Defend() eines Lebewesens ausgeloest. Es ist moeglich das Defend() |
| 23 | abzubrechen oder die Daten zu veraendern. |
| 24 | Dieser Hook kommt nach der Auswertung von P_TMP_DEFEND_HOOK zum Zuge, kann |
| 25 | also auch die durch diesen modifizierten Daten aendern. |
| 26 | Die Daten des Legacy-Hooks stehen, sofern vorhanden, in |
| 27 | spell[EINFO_DEFEND][DEFEND_HOOK]. |
| 28 | |
| 29 | Insb. wird dieser Hook aber auch erst nach Abfrage der Defender |
| 30 | ausgefuehrt. Von diesen sind evtl. bereits Meldungen ausgegeben worden, |
| 31 | auch wenn das Defend() an dieser Stelle vom Hook abgebrochen wird. |
| 32 | |
| 33 | Parierwaffen, Ruestungen und Skills kommen erst nach dem Hook zum Zug. |
| 34 | |
| 35 | HOOK-DATEN |
| 36 | ---------- |
| 37 | |
| 38 | Es wird ein array uebergeben. |
| 39 | ({int dam, string* dam_type, mapping spell, object enemy}) |
| 40 | Die Werte sind bereits normalisiert D.h., eine Ueberpruefung auf korrekte |
| 41 | Datentypen ist hier ueberfluessig. |
| 42 | |
| 43 | RUECKGABEWERTE |
| 44 | -------------- |
| 45 | |
| 46 | ({ <status>, <daten> }) |
| 47 | <status> : H_NO_MOD, H_CANCELLED, H_ALTERED |
| 48 | <daten> : wie uebergebenes Datenarray |
| 49 | |
| 50 | SIEHE AUCH |
| 51 | ---------- |
| 52 | |
| 53 | HRegisterToHook(), HUnregisterFromHook(), HookFlow(), Defend() |
| 54 | |
| 55 | Letzte Aenderung: 06.10.2022, Bugfix |