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 | P_RESTRICTIONS |
| 3 | ************** |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
| 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_RESTRICTIONS "restrictions" |
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 | /sys/combat.h |
| 16 | (Die SR_*-Parameter sind in /sys/new_skills.h definiert.) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 17 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 18 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 19 | BESCHREIBUNG |
| 20 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 21 | |
Zesstra | 077cbc6 | 2019-01-07 21:16:39 +0100 | [diff] [blame^] | 22 | Enthaelt ein Mapping mit den zu pruefenden Einschraenkungen. |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 23 | |
| 24 | In dieser Property lassen sich Restriktionen setzen, die vor dem |
| 25 | Zuecken einer Waffe / Anziehen einer Ruestung oder Kleidung geprueft |
| 26 | werden und dies gegebenfalls verhindern, ohne gleich auf eine evtl. |
| 27 | vorhandene WieldFunc / WearFunc zuzugreifen. |
| 28 | |
| 29 | Die Auswertung erfolgt ueber den Aufruf von check_restrictions() |
Zesstra | 077cbc6 | 2019-01-07 21:16:39 +0100 | [diff] [blame^] | 30 | in /std/restriction_checker.c per call_other(). |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 31 | |
Zesstra | 077cbc6 | 2019-01-07 21:16:39 +0100 | [diff] [blame^] | 32 | Die im Mapping verwendbaren Eintraege finden sich in der Manpage |
| 33 | zu check_restrictions(). |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 34 | |
Zesstra | 077cbc6 | 2019-01-07 21:16:39 +0100 | [diff] [blame^] | 35 | Die Funktionalitaet ist identisch mit Ausnahme von SR_FUN. Bei |
| 36 | Verwendung von SR_FUN im Mapping wird die Funktion, wenn sie als |
| 37 | Funktionsname angegeben wird, immer am aufrufenden Objekt gerufen. |
| 38 | Soll die Funktion an einem anderen Objekt gerufen werden, ist eine |
| 39 | der beiden alternativen Formen (Closure oder Array) zu verwenden, |
| 40 | um den Funktionsnamen anzugeben. |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 41 | |
| 42 | |
| 43 | BEMERKUNGEN |
| 44 | =========== |
| 45 | |
| 46 | Diese Property eignet sich hervorragend dafuer, einige Grundbedingungen |
Zesstra | 077cbc6 | 2019-01-07 21:16:39 +0100 | [diff] [blame^] | 47 | fuer das Nutzen der Waffe / Ruestung / Kleidung zu stellen, ohne gleich |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 48 | eine Wield- oder WearFunc setzen und auswerten zu muessen. |
| 49 | |
| 50 | Denkbar waere der Einsatz bei hochwertigen Waffen / Ruestungen / Kleidung, |
| 51 | z.B. aus der Para-Welt oder solchen, die sich nah am Limit der geltenden |
| 52 | Grenzwerte fuer P_WC / P_AC bewegen oder sogar (nach Genehmigung durch |
| 53 | die Balance) darueber. |
| 54 | |
| 55 | |
| 56 | BEISPIEL |
| 57 | ======== |
| 58 | |
| 59 | Mindeststufe 25: SetProp(P_RESTRICTIONS,([P_LEVEL:25])); |
| 60 | Keine Menschen: SetProp(P_RESTRICTIONS,([SR_EXCLUDE_RACE:({"Mensch"})])); |
| 61 | Alignment >499: SetProp(P_RESTRICTIONS,([SR_GOOD:500])); |
| 62 | |
| 63 | Komplexeres Beispiel |
| 64 | |
| 65 | Quest "Diamond Club" bestanden, magiereigene Property P_AUSGANG_GEFUNDEN |
| 66 | muss gesetzt sein, Stufe 10, nicht taub, max. 45 Food: |
| 67 | SetProp(P_RESTRICTIONS, ([ P_LEVEL: 10, P_DEAF: 1, P_FOOD: 45, |
| 68 | SR_PROP: ([P_AUSGANG_GEFUNDEN:1]), SR_QUEST:({"Diamond Club"}) ])); |
| 69 | |
| 70 | |
| 71 | SIEHE AUCH |
| 72 | ========== |
| 73 | |
Zesstra | 077cbc6 | 2019-01-07 21:16:39 +0100 | [diff] [blame^] | 74 | check_restrictions(L), execute_anything(L) |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 75 | WieldFunc(L), WearFunc(L), RemoveFunc(L), UnwieldFunc(L), |
| 76 | P_WIELD_FUNC, P_WEAR_FUNC, P_REMOVE_FUNC, P_UNWIELD_FUNC |
| 77 | /std/armour/wear.c, /std/weapon/combat.c, clothing, armours, weapon |
| 78 | |
| 79 | |
| 80 | LETZTE AeNDERUNG |
| 81 | ================ |
| 82 | |
Zesstra | 077cbc6 | 2019-01-07 21:16:39 +0100 | [diff] [blame^] | 83 | 03. Januar 2014, Arathorn |