blob: 9099df52b9c14350355ca0077532a62934e69bad [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001P_RESTRICTIONS
2==============
3
4NAME
5----
6::
7
8 P_RESTRICTIONS "restrictions"
9
10DEFINIERT IN
11------------
12::
13
14 /sys/combat.h
15 (Die SR_*-Parameter sind in /sys/new_skills.h definiert.)
16
17BESCHREIBUNG
18------------
19::
20
Zesstrae0146a52019-01-07 21:15:12 +010021 Enthaelt ein Mapping mit den zu pruefenden Einschraenkungen.
Zesstra18626972017-01-31 10:38:27 +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()
Zesstrae0146a52019-01-07 21:15:12 +010029 in /std/restriction_checker.c per call_other().
Zesstra18626972017-01-31 10:38:27 +010030
Zesstrae0146a52019-01-07 21:15:12 +010031 Die im Mapping verwendbaren Eintraege finden sich in der Manpage
32 zu check_restrictions().
33
34 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.
Zesstra18626972017-01-31 10:38:27 +010040
41BEMERKUNGEN
42-----------
43::
44
45 Diese Property eignet sich hervorragend dafuer, einige Grundbedingungen
Zesstrae0146a52019-01-07 21:15:12 +010046 fuer das Nutzen der Waffe / Ruestung / Kleidung zu stellen, ohne gleich
Zesstra18626972017-01-31 10:38:27 +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
54BEISPIEL
55--------
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
Zesstrae0146a52019-01-07 21:15:12 +010069
Zesstra18626972017-01-31 10:38:27 +010070SIEHE AUCH
71----------
72::
73
Zesstrae0146a52019-01-07 21:15:12 +010074 check_restrictions(L), execute_anything(L)
Zesstra18626972017-01-31 10:38:27 +010075 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
79LETZTE AeNDERUNG
80----------------
81::
82
Zesstrae0146a52019-01-07 21:15:12 +010083 03. Januar 2014, Arathorn
Zesstra18626972017-01-31 10:38:27 +010084