blob: 195a74e45600ad9807da5f405719a1320f8b027c [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001P_RESTRICTIONS
2**************
MG Mud User88f12472016-06-24 23:31:02 +02003
4
Zesstra953f9972017-02-18 15:37:36 +01005NAME
6====
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 P_RESTRICTIONS "restrictions"
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /sys/combat.h
15 (Die SR_*-Parameter sind in /sys/new_skills.h definiert.)
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018BESCHREIBUNG
19============
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra077cbc62019-01-07 21:16:39 +010021 Enthaelt ein Mapping mit den zu pruefenden Einschraenkungen.
Zesstra953f9972017-02-18 15:37:36 +010022
23 In dieser Property lassen sich Restriktionen setzen, die vor dem
24 Zuecken einer Waffe / Anziehen einer Ruestung oder Kleidung geprueft
25 werden und dies gegebenfalls verhindern, ohne gleich auf eine evtl.
26 vorhandene WieldFunc / WearFunc zuzugreifen.
27
28 Die Auswertung erfolgt ueber den Aufruf von check_restrictions()
Zesstra077cbc62019-01-07 21:16:39 +010029 in /std/restriction_checker.c per call_other().
Zesstra953f9972017-02-18 15:37:36 +010030
Zesstra077cbc62019-01-07 21:16:39 +010031 Die im Mapping verwendbaren Eintraege finden sich in der Manpage
32 zu check_restrictions().
Zesstra953f9972017-02-18 15:37:36 +010033
Zesstra077cbc62019-01-07 21:16:39 +010034 Die Funktionalitaet ist identisch mit Ausnahme von SR_FUN. Bei
35 Verwendung von SR_FUN im Mapping wird die Funktion, wenn sie als
36 Funktionsname angegeben wird, immer am aufrufenden Objekt gerufen.
37 Soll die Funktion an einem anderen Objekt gerufen werden, ist eine
38 der beiden alternativen Formen (Closure oder Array) zu verwenden,
39 um den Funktionsnamen anzugeben.
Zesstra953f9972017-02-18 15:37:36 +010040
41
42BEMERKUNGEN
43===========
44
45 Diese Property eignet sich hervorragend dafuer, einige Grundbedingungen
Zesstra077cbc62019-01-07 21:16:39 +010046 fuer das Nutzen der Waffe / Ruestung / Kleidung zu stellen, ohne gleich
Zesstra953f9972017-02-18 15:37:36 +010047 eine Wield- oder WearFunc setzen und auswerten zu muessen.
48
49 Denkbar waere der Einsatz bei hochwertigen Waffen / Ruestungen / Kleidung,
50 z.B. aus der Para-Welt oder solchen, die sich nah am Limit der geltenden
51 Grenzwerte fuer P_WC / P_AC bewegen oder sogar (nach Genehmigung durch
52 die Balance) darueber.
53
54
55BEISPIEL
56========
57
58 Mindeststufe 25: SetProp(P_RESTRICTIONS,([P_LEVEL:25]));
59 Keine Menschen: SetProp(P_RESTRICTIONS,([SR_EXCLUDE_RACE:({"Mensch"})]));
60 Alignment >499: SetProp(P_RESTRICTIONS,([SR_GOOD:500]));
61
62 Komplexeres Beispiel
63
64 Quest "Diamond Club" bestanden, magiereigene Property P_AUSGANG_GEFUNDEN
65 muss gesetzt sein, Stufe 10, nicht taub, max. 45 Food:
66 SetProp(P_RESTRICTIONS, ([ P_LEVEL: 10, P_DEAF: 1, P_FOOD: 45,
67 SR_PROP: ([P_AUSGANG_GEFUNDEN:1]), SR_QUEST:({"Diamond Club"}) ]));
68
69
70SIEHE AUCH
71==========
72
Zesstra077cbc62019-01-07 21:16:39 +010073 check_restrictions(L), execute_anything(L)
Zesstra953f9972017-02-18 15:37:36 +010074 WieldFunc(L), WearFunc(L), RemoveFunc(L), UnwieldFunc(L),
75 P_WIELD_FUNC, P_WEAR_FUNC, P_REMOVE_FUNC, P_UNWIELD_FUNC
76 /std/armour/wear.c, /std/weapon/combat.c, clothing, armours, weapon
77
78
79LETZTE AeNDERUNG
80================
81
Zesstra077cbc62019-01-07 21:16:39 +010082 03. Januar 2014, Arathorn