blob: a8f6404ec19a9e2ebec691ef1ebec00b29da8ece [file] [log] [blame]
Bugfix5a19dca2022-10-03 21:21:11 +02001H_HOOK_ATTACK_MOD
2=================
3
4HOOK
5----
6
7 H_HOOK_ATTACK_MOD
8
9DEFINIERT IN
10------------
11
12 /sys/hook.h
13
14GERUFEN VON
15-----------
16
17 /std/living/combat.c
18
19BESCHREIBUNG
20------------
21
22 Wird im Attack() eines Lebewesens ausgeloest. Es ist moeglich das Attack()
23 abzubrechen oder die Daten zu veraendern.
24 Dieser Hook kommt nach der Auswertung von P_TMP_ATTACK_HOOK und
25 P_TMP_ATTACK_MOD zum Zuge, kann also auch die durch diese modifizierten
26 Daten aendern.
27
Zesstrab19a0dc2022-10-05 00:02:42 +020028 Insb. wird dieser Hook aber auch erst nach Abfrage von Waffen und Skills
29 ausgefuehrt. Von diesen sind evtl. bereits Meldungen ausgegeben worden,
30 auch wenn das Attack an dieser Stelle vom Hook abgebrochen wird.
31
Bugfix5a19dca2022-10-03 21:21:11 +020032HOOK-DATEN
33----------
34
35 Es wird ein Mapping uebergeben.
36 deep_copy(ainfo), siehe Defendinfo, Abschnitt ORIGINAL_AINFO
37
Zesstrab19a0dc2022-10-05 00:02:42 +020038 Der Inhalt des zurueckgegebenen Mappings wird als Aenderung des
39 uebergebenen ainfo aufgefasst. Man kann so also auch nur einzelne Keys
40 zurueckgeben und aendern und ein leeres Mapping erzeugt keine Aenderung
41 (in diesem Fall aber bitte H_NO_MOD bevorzugen).
42 Die Aenderungen werden zur Zeit aber nur teilweise von SkillResTransfer()
43 in den eigentlichen Angriff uebernommen. Das sind aktuell folgende Keys:
44 SI_SKILLDAMAGE, SI_SKILLDAMAGE_MSG, SI_SKILLDAMAGE_MSG2,
45 SI_SKILLDAMAGE_TYPE, SI_SPELL
46
Bugfix5a19dca2022-10-03 21:21:11 +020047RUECKGABEWERTE
48--------------
49
50 ({ <status>, <daten> })
51 <status> : H_NO_MOD, H_CANCELLED, H_ALTERED
52 <daten> : wie uebergebenes Datenmapping
53
54SIEHE AUCH
55----------
56
57 HRegisterToHook(), HUnregisterFromHook(), HookFlow(), defeindinfo
58
Zesstrab19a0dc2022-10-05 00:02:42 +020059Letzte Aenderung: 04.10.2022 Zesstra