P_RESTRICTIONS¶
NAME¶
P_RESTRICTIONS "restrictions"
DEFINIERT IN¶
/sys/combat.h
(Die SR_*-Parameter sind in /sys/new_skills.h definiert.)
BESCHREIBUNG¶
Enthaelt ein Mapping mit den zu pruefenden Einschraenkungen.
In dieser Property lassen sich Restriktionen setzen, die vor dem
Zuecken einer Waffe / Anziehen einer Ruestung oder Kleidung geprueft
werden und dies gegebenfalls verhindern, ohne gleich auf eine evtl.
vorhandene WieldFunc / WearFunc zuzugreifen.
Die Auswertung erfolgt ueber den Aufruf von check_restrictions()
in /std/restriction_checker.c per call_other().
Die im Mapping verwendbaren Eintraege finden sich in der Manpage
zu check_restrictions().
Die Funktionalitaet ist identisch mit Ausnahme von SR_FUN. Bei
Verwendung von SR_FUN im Mapping wird die Funktion, wenn sie als
Funktionsname angegeben wird, immer am aufrufenden Objekt gerufen.
Soll die Funktion an einem anderen Objekt gerufen werden, ist eine
der beiden alternativen Formen (Closure oder Array) zu verwenden,
um den Funktionsnamen anzugeben.
BEMERKUNGEN¶
Diese Property eignet sich hervorragend dafuer, einige Grundbedingungen
fuer das Nutzen der Waffe / Ruestung / Kleidung zu stellen, ohne gleich
eine Wield- oder WearFunc setzen und auswerten zu muessen.
Denkbar waere der Einsatz bei hochwertigen Waffen / Ruestungen / Kleidung,
z.B. aus der Para-Welt oder solchen, die sich nah am Limit der geltenden
Grenzwerte fuer P_WC / P_AC bewegen oder sogar (nach Genehmigung durch
die Balance) darueber.
BEISPIEL¶
Mindeststufe 25: SetProp(P_RESTRICTIONS,([P_LEVEL:25]));
Keine Menschen: SetProp(P_RESTRICTIONS,([SR_EXCLUDE_RACE:({"Mensch"})]));
Alignment >499: SetProp(P_RESTRICTIONS,([SR_GOOD:500]));
Komplexeres Beispiel
Quest "Diamond Club" bestanden, magiereigene Property P_AUSGANG_GEFUNDEN
muss gesetzt sein, Stufe 10, nicht taub, max. 45 Food:
SetProp(P_RESTRICTIONS, ([ P_LEVEL: 10, P_DEAF: 1, P_FOOD: 45,
SR_PROP: ([P_AUSGANG_GEFUNDEN:1]), SR_QUEST:({"Diamond Club"}) ]));
SIEHE AUCH¶
check_restrictions(L), execute_anything(L)
WieldFunc(L), WearFunc(L), RemoveFunc(L), UnwieldFunc(L),
P_WIELD_FUNC, P_WEAR_FUNC, P_REMOVE_FUNC, P_UNWIELD_FUNC
/std/armour/wear.c, /std/weapon/combat.c, clothing, armours, weapon
LETZTE AeNDERUNG¶
03. Januar 2014, Arathorn