Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 1 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 2 | P_EFFECTIVE_WC |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 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 | NAME |
| 7 | ==== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 8 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 9 | P_EFFECTIVE_WC "effective_wc" |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 10 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 11 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 12 | DEFINIERT IN |
| 13 | ============ |
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 | <combat.h> |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 16 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 17 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 18 | BESCHREIBUNG |
| 19 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 20 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 21 | Diese Property kommt sowohl in Waffen als auch Ruestungen, die Schaden |
| 22 | machen sollen, zum Einsatz. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 23 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 24 | Falls die Staerke einer Waffe noch durch eine HitFunc() modifiziert |
| 25 | wird, sollte hier der Effektivwert der Waffenklasse vermerkt werden, |
| 26 | soweit er sich angeben laesst. |
| 27 | Diese Property dient vor allem dazu, eine Waffe mit HitFunc() korrekt |
| 28 | einzuschaetzen. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 29 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 30 | In einigen Gilden koennen Ruestungen auch als Waffen eingesetzt werden |
| 31 | (z.B. ein Paar Schuhe zum Treten). In dieser Property kann man die |
| 32 | Waffenklasse eintragen, die die Ruestung bei solchen Aktionen aufweisen |
| 33 | soll. Dabei ist man an die ueblichen Beschraenkungen der Waffenklasse |
| 34 | gebunden! (s. /sys/combat.h) |
| 35 | Der Ruestung kann man dann auch einen Schadenstyp mit auf den Weg |
| 36 | geben. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 37 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 38 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 39 | BEMERKUNGEN |
| 40 | =========== |
| 41 | |
| 42 | Das Kaempferspellbook verwendet bei Ruestungen P_AC, wenn |
| 43 | P_EFFECTIVE_WC nicht gesetzt ist. |
| 44 | |
| 45 | |
| 46 | BEISPIELE |
| 47 | ========= |
| 48 | |
| 49 | * HitFuncs: |
| 50 | Der doppelte Mittelwert der HitFunc wird zur Basis-WC dazuaddiert, |
| 51 | da sich der 'Angriffswert = random(Basis-WC) + absolut(HitFunc-Wert)' |
| 52 | berechnet. |
| 53 | |
| 54 | // #1 Waffe mit Basis-WC 120 und randomisierter HitFunc |
| 55 | SetProp(P_WC, 120); |
| 56 | SetProp(P_HIT_FUNC, this_object()); |
| 57 | |
| 58 | |
| 59 | |
| 60 | int HitFunc(...) { |
| 61 | return random(30); // Mittelwert: 15 |
| 62 | } |
| 63 | -> SetProp(P_EFFECTIVE_WC, 150); // 120 + 2*15 = 150 |
| 64 | |
| 65 | |
| 66 | |
| 67 | // #2 Waffe mit Basis-WC 120 und teilweise absoluter HitFunc |
| 68 | SetProp(P_WC, 120); |
| 69 | SetProp(P_HIT_FUNC, this_object()); |
| 70 | |
| 71 | |
| 72 | |
| 73 | int HitFunc(...) { |
| 74 | return 30 + random(10); // Mittelwert: 30 + 5 |
| 75 | } |
| 76 | -> SetProp(P_EFFECTIVE_WC, 190); // 120 + 2*(30+5) = 190 |
| 77 | |
| 78 | * Ruestungen (zB Gildennutzung): |
| 79 | Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der jeweils |
| 80 | doppelte maximale P_AC-Wert. Angabe eines Schadenstyps ist sinnvoll. |
| 81 | |
| 82 | // #3 Ein paar Schuhe, mit maximalem Schlag-/Saeureschaden. |
| 83 | SetProp(P_ARMOUR_TYPE, AT_BOOT); |
| 84 | SetProp(P_AC, 2); |
| 85 | SetProp(P_DAM_TYPE, ({DT_BLUDGEON,DT_ACID})); |
| 86 | -> SetProp(P_EFFECTIVE_WC, 12); // hoechstmoeglicher Wert bei |
| 87 | // Schuhen, da deren max. P_AC = 6 |
| 88 | // aequivalent und zukunftssicher: |
| 89 | -> SetProp(P_EFFECTIVE_WC, 2 * VALID_ARMOUR_CLASS[AT_BOOT]); |
| 90 | |
| 91 | // #4 Ein Schild mit spitzem Dorn. (Stichschaden beim Schildstoss.) |
| 92 | SetProp(P_ARMOUR_TYPE, AT_SHIELD); |
| 93 | SetProp(P_AC, 5); |
| 94 | SetProp(P_DAM_TYPE, ({DT_PIERCE})); |
| 95 | SetProp(P_EFFECTIVE_WC, 55); |
| 96 | |
| 97 | // #5 Ein Gummischild ist schlecht fuer Angriffe. BOING! |
| 98 | SetProp(P_ARMOUR_TYPE, AT_SHIELD); |
| 99 | SetProp(P_AC, 30); |
| 100 | SetProp(P_DAM_TYPE, ({DT_BLUDGEON})); |
| 101 | SetProp(P_EFFECTIVE_WC, 10); |
| 102 | |
| 103 | |
| 104 | SIEHE AUCH |
| 105 | ========== |
| 106 | |
| 107 | Waffen: P_WC, P_TOTAL_WC, HitFunc() |
| 108 | Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc() |
| 109 | Files: /std/weapon.c, /std/weapon/combat.c |
| 110 | Balance: waffen, ruestungen, properties, kaempferboni |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 111 | |
| 112 | 6. Nov 2011 Gloinson |