MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 2 | DefendInfo() |
| 3 | ************ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 5 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 6 | FUNKTION |
| 7 | ======== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 8 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 9 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 10 | DEFINIERT IN |
| 11 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 12 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 13 | /sys/combat.h |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 14 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 15 | |
| 16 | ARGUMENTE |
| 17 | ========= |
| 18 | |
| 19 | |
| 20 | BESCHREIBUNG |
| 21 | ============ |
| 22 | |
| 23 | Die DefendInformationen werden im Runde eines Attack/Defend Vorgangs |
| 24 | in Attack initial angelegt und dem Defend ueber den Parameter spell |
| 25 | uebergeben. Ist dieser Parameter ein Mapping, so sind die |
| 26 | DefendInformationen ueber den Key EINFO_DEFEND zu erhalten. |
| 27 | Die Informationen liegen in Form eines Mappings vor. |
| 28 | Vor Zugriff sollte immer auf die Existenz dieses Keys in dem Mapping |
| 29 | geprueft werden, da nicht alle Informationen immer existieren. |
| 30 | Die Keys sind in combat.h definiert und sind folgende: |
| 31 | |
| 32 | |
| 33 | |
| 34 | ORIGINAL_AINFO - Mapping |
| 35 | Hier ist eine Kopie des originalen ainfo-mappings des Attacks |
| 36 | vorhanden mit folgenden Eintraegen: |
| 37 | Immer vorhandene Eintraege: |
| 38 | SI_ENEMY der angegriffene Gegner |
| 39 | |
| 40 | |
| 41 | |
| 42 | Angriff mit gezueckter Waffe: |
| 43 | P_WEAPON das Waffenobjekt selbst |
| 44 | P_WEAPON_TYPE P_WEAPON_TYPE der Waffe |
| 45 | P_WC P_WC der Waffe |
| 46 | P_NR_HANDS P_NR_HANDS der Waffe |
| 47 | SI_SKILLDAMAGE_TYPE P_DAM_TYPE der Waffe |
| 48 | SI_SKILLDAMAGE waffe->QueryDamage(enemy) |
| 49 | bei vorhandenem Zweihandskill SK_TWOHANDED wird nur der durch |
| 50 | den Skill modifizierte Schadenswert uebernommen |
| 51 | SI_SKILLDAMAGE_MSG "mit "+waffe->name(WEM,0) |
| 52 | SI_SKILLDAMAGE_MSG2 "mit "+waffe->name(WEM,1) |
| 53 | SI_SPELL 0 |
| 54 | |
| 55 | Angriff mit blossen Haenden: |
| 56 | P_WEAPON_TYPE WT_HANDS |
| 57 | P_WC P_HANDS[1] |
| 58 | SI_SKILLDAMAGE Schadenswert, aus P_HANDS[1] und A_STR |
| 59 | berechnet |
| 60 | SI_SKILLDAMAGE_TYPE P_HANDS[2] |
| 61 | SI_SKILLDAMAGE_MSG |
| 62 | SI_SKILLDAMAGE_MSG2 beides P_HANDS[0] |
| 63 | SI_SPELL 0 |
| 64 | |
| 65 | |
| 66 | |
| 67 | Angriff mit einem Spell (SK_MAGIC_ATTACK): |
| 68 | SI_SKILLDAMAGE Schadenswert des Spells |
| 69 | SI_SKILLDAMAGE_TYPE Schadenstypen des Spells |
| 70 | SI_SKILLDAMAGE_MSG Schadensmeldung des Spells, wenn vorhanden, |
| 71 | sonst "mit magischen Faehigkeiten" |
| 72 | SI_SKILLDAMAGE_MSG2 entsprechende Meldung des Spells, wenn |
| 73 | gesetzt, ansonsten identisch mit |
| 74 | SI_SKILLDAMAGE_MSG |
| 75 | P_WEAPON_TYPE P_WEAPON_TYPE des Spells, wenn vorhanden, |
| 76 | sonst WT_MAGIC |
| 77 | SI_SPELL SI_SPELL des Spells |
| 78 | |
| 79 | |
| 80 | |
| 81 | Hinweise: |
| 82 | - Alle Eintraege in diesem Mapping koennen bereits durch |
| 83 | InternalModifyAttack() veraendert worden sein. |
| 84 | - Die Daten werden mittels deep_copy(ainfo) eingetragen. |
| 85 | - Daten in den Eintraegen SI_SKILLDAMAGE* und SI_SPELL koennen bei |
| 86 | physikalischen Angriffen durch die Skills FIGHT(P_WEAPON_TYPE) oder |
| 87 | SK_FIGHT oder durch einen P_TMP_ATTACK_MOD bzw. Hook vom Typ |
| 88 | H_HOOK_ATTACK_MOD modifiziert worden sein. |
| 89 | |
| 90 | |
| 91 | |
| 92 | ORIGINAL_DAM - int |
| 93 | Der Originalschaden aus dem Attack |
| 94 | |
| 95 | ORIGINAL_DAM_TYPE - string/string* |
| 96 | Der Originaldamagetyp aus dem Attack |
| 97 | |
| 98 | CURRENT_DAM - int |
| 99 | Der momentane Schaden, nach schon erfolgten Modifikationen |
| 100 | |
| 101 | |
| 102 | |
| 103 | CURRENT_DAM_TYPE - string/string* |
| 104 | Der momentane Damagetyp, nach schon erfolgten Modifikationen |
| 105 | |
| 106 | |
| 107 | |
| 108 | ENEMY_INSERTED - int |
| 109 | 0 oder 1 je nachdem ob der Angreifer schon in der enemy-list |
| 110 | vorhanden war oder nicht |
| 111 | |
| 112 | |
| 113 | |
| 114 | RFR_REDUCE - int |
| 115 | 0 oder reduzierter Schaden durch RFR Modifikation |
| 116 | |
| 117 | |
| 118 | |
| 119 | PRESENT_DEFENDERS - Array |
| 120 | Liste der durch InformDefend informierten Defender als Objekt. |
| 121 | Ein Defender wird immer NACH InformDefend |
| 122 | dazugefuegt |
| 123 | |
| 124 | |
| 125 | |
| 126 | DEFENDING_DEFENDER - Array ({}) |
| 127 | Hat ein durch InformDefend ein Defender verteidigt, so wird |
| 128 | fuer diesen Defender ein Eintrag in diesem Array vorgenommen, |
| 129 | welcher folgende Struktur besitzt. |
| 130 | ({ |
| 131 | DEF_DEFENDER - Object |
| 132 | Der Verteidiger, welcher VOR |
| 133 | DefendOther eingefuegt wird |
| 134 | DEF_DAM - int |
| 135 | Der veraenderte Schaden, welcher NACH |
| 136 | DefendOther eingefuegt wird |
| 137 | DEF_DAMTYPE string/string* |
| 138 | Die veraenderte Schadensart, welche |
| 139 | NACH DefendOther eingefuegt wird |
| 140 | DEF_SPELL - Mapping |
| 141 | Das Mapping des veraenderten Spells, welches |
| 142 | als Kopie NACH DefendOther eingefuegt wird |
| 143 | }) |
| 144 | |
| 145 | |
| 146 | |
| 147 | DEFEND_HOOK - Int/Array |
| 148 | DI_NOHOOK, wenn kein Hook da war, DI_HOOKINTERRUPT, wenn der |
| 149 | Hook das Defend unterbricht, DI_HOOK, wenn ein Hook vorhanden |
| 150 | ist, dieser das Defend aber unveraendert laesst. |
| 151 | Veraendert ein Hook das Defend, so ist hier ein Array zu finden |
| 152 | mit den veraenderten Parametern in der Struktur: |
| 153 | ({ |
| 154 | HOOK_DAM - int |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 155 | Der veraenderte Schaden |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 156 | HOOK_DAMTYPE - string/string* |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 157 | Die veraenderte Schadensart |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 158 | HOOK_SPELL - Mapping |
| 159 | Das Mapping des veraenderten Spells als Kopie |
| 160 | }) |
| 161 | |
| 162 | |
| 163 | |
| 164 | DEFEND_ARMOURS - Mapping (2 Werte pro Key) |
| 165 | Liste der beruecksichtigten Ruestungen. Fuer jede Ruestung |
| 166 | wird ein Eintrag vorgenommen, mit dem Objekt der jeweiligen |
| 167 | Ruestung als Key. Hierbei werden die Ruestungen erst eingetragen, |
| 168 | wenn ihr jeweiliges QueryDefend() aufgerufen wird, d.h. es sind nicht |
| 169 | von Anfang an alle getragenen Ruestung drin. Jeder Eintrag im Mapping |
| 170 | besitzt die folgenden 2 Werte: |
| 171 | DEF_ARMOUR_DAM - int |
| 172 | Der Schaden NACH QueryDefend (vorher 0) |
| 173 | DEF_ARMOUR_PROT - int |
| 174 | Verteidigungswert der Ruestung VOR DefendFunc |
| 175 | Bsp: Ich will wissen, wie gut 'ruestung' schuetzte: |
| 176 | spell[EINFO_DEFEND][DEFEND_ARMOURS][ruestung,DEF_ARMOUR_PROT] |
| 177 | |
| 178 | DEFEND_GUILD - Array |
| 179 | Eine Liste mit der Modifikation der Gilde mit der Struktur |
| 180 | ({ |
| 181 | GUILD_DAM - int |
| 182 | Der veraenderte Schaden |
| 183 | GUILD_DAMTYPE - string/string* |
| 184 | Die veraenderte Schadensart |
| 185 | }) |
| 186 | |
| 187 | |
| 188 | |
| 189 | DEFEND_RESI - int |
| 190 | Schaden nach CheckResistance |
| 191 | |
| 192 | |
| 193 | |
| 194 | DEFEND_BODY - int |
| 195 | Schaden nach Beruecksichtigung des Bodies (nur |
| 196 | physikalisch) |
| 197 | |
| 198 | |
| 199 | |
| 200 | DEFEND_LOSTLP - int |
| 201 | Tatsaechlich abgezogene LP |
| 202 | |
| 203 | |
| 204 | |
| 205 | DEFEND_CUR_ARMOUR_PROT - int |
| 206 | Schutz der Ruestung vor Call der |
| 207 | DefendFunc. Ist nur in der DefendFunc definiert. Kann auch aus |
| 208 | DEFEND_ARMOURS entnommen werden |
| 209 | |
| 210 | |
| 211 | SIEHE AUCH |
| 212 | ========== |
| 213 | |
| 214 | Attack, Defend |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 215 | |
| 216 | 18.Jul 2006 Muadib |