Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/props/P_ABILITIES b/doc/props/P_ABILITIES
index b82a0f6..b852bdf 100644
--- a/doc/props/P_ABILITIES
+++ b/doc/props/P_ABILITIES
@@ -1,9 +1,22 @@
-NAME:
- P_ABILITIES "abilities"
-DEFINIERT IN:
- /sys/living/attributes.h
+P_ABILITIES
+***********
-BESCHREIBUNG:
- *** OBSOLET! ***
- Siehe P_NEWSKILLS.
+
+NAME
+====
+
+ P_ABILITIES "abilities"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/attributes.h
+
+
+BESCHREIBUNG
+============
+
+ *** OBSOLET! ***
+ Siehe P_NEWSKILLS.
diff --git a/doc/props/P_AC b/doc/props/P_AC
index c62d786..e9eda47 100644
--- a/doc/props/P_AC
+++ b/doc/props/P_AC
@@ -1,28 +1,44 @@
+
P_AC
+****
-NAME:
- P_AC "ac"
-DEFINIERT IN:
- <armour.h>
+NAME
+====
-BESCHREIBUNG:
- Diese Property beschreibt die Ruestungsklasse (engl: armour class),
- also den Schutz, den die Ruestung dem Traeger verleiht. Je hoeher der
- Wert (als Zahl), um so besser ist die Ruestung. Negative Werte bewirken
- negativen Schutz, d.h. der Schaden wird vergroessert statt verringert.
+ P_AC "ac"
-BEMERKUNGEN:
- Query- und Setmethoden auf P_AC sollten unbedingt vermieden werden. Sie
- fuehren in der Regel zu massiven Inkonsistenzen im Mechanismus der
- Ruestungsbeschaedigung und -reparatur.
- Fuer jeden Ruestungstyp ist in <combat.h> eine Obergrenze definiert,
- die man nicht ueberschreiten darf.
- Ruestungen vom Typ AT_MISC haben immer AC 0 und werden mit keinen
- hoeheren Werten genemigt.
-SIEHE AUCH:
- /std/armour.c, P_DAMAGED, Damage() P_TOTAL_AC
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ <armour.h>
+
+
+BESCHREIBUNG
+============
+
+ Diese Property beschreibt die Ruestungsklasse (engl: armour class),
+ also den Schutz, den die Ruestung dem Traeger verleiht. Je hoeher der
+ Wert (als Zahl), um so besser ist die Ruestung. Negative Werte bewirken
+ negativen Schutz, d.h. der Schaden wird vergroessert statt verringert.
+
+
+BEMERKUNGEN
+===========
+
+ Query- und Setmethoden auf P_AC sollten unbedingt vermieden werden. Sie
+ fuehren in der Regel zu massiven Inkonsistenzen im Mechanismus der
+ Ruestungsbeschaedigung und -reparatur.
+ Fuer jeden Ruestungstyp ist in <combat.h> eine Obergrenze definiert,
+ die man nicht ueberschreiten darf.
+ Ruestungen vom Typ AT_MISC haben immer AC 0 und werden mit keinen
+ hoeheren Werten genemigt.
+
+
+SIEHE AUCH
+==========
+
+ /std/armour.c, P_DAMAGED, Damage() P_TOTAL_AC
+
02.10.2007, Zesstra
diff --git a/doc/props/P_ACCEPT_PEACE b/doc/props/P_ACCEPT_PEACE
index 07b63a0..214dc06 100644
--- a/doc/props/P_ACCEPT_PEACE
+++ b/doc/props/P_ACCEPT_PEACE
@@ -1,18 +1,37 @@
-PROPERTY
- P_ACCEPT_PEACE "accept_peace"
-DEFINIERT IN
- /sys/combat.h
+P_ACCEPT_PEACE
+**************
+
+
+PROPERTY
+========
+
+ P_ACCEPT_PEACE "accept_peace"
+
+
+DEFINIERT IN
+============
+
+ /sys/combat.h
+
BESCHREIBUNG
- Mittels setzen Dieser Prop lassen sich leicht NPCs bauen,
- die von jedem zu befrieden sind. Wenn die Property == 1 ist,
- ist der NPC immer wieder befriedbar, sonst fuehrt der NPC das
- uebliche Verhalten aus.
+============
+
+ Mittels setzen Dieser Prop lassen sich leicht NPCs bauen,
+ die von jedem zu befrieden sind. Wenn die Property == 1 ist,
+ ist der NPC immer wieder befriedbar, sonst fuehrt der NPC das
+ uebliche Verhalten aus.
+
SIEHE AUCH
- QueryPacify(),
- P_PEACE_HISTORY
+==========
+
+ QueryPacify(),
+ P_PEACE_HISTORY
+
LETZTE AENDERUNG
+================
+
01.05.2008, Zesstra
diff --git a/doc/props/P_ACHATS b/doc/props/P_ACHATS
index 4097620..c62e357 100644
--- a/doc/props/P_ACHATS
+++ b/doc/props/P_ACHATS
@@ -1,8 +1,21 @@
-NAME:
- P_ACHATS "achats"
-DEFINIERT IN:
- /sys/properties.h
+P_ACHATS
+********
-BESCHREIBUNG:
- Chats, die das Monster im Kampf ausgibt.
+
+NAME
+====
+
+ P_ACHATS "achats"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Chats, die das Monster im Kampf ausgibt.
diff --git a/doc/props/P_ACHAT_CHANCE b/doc/props/P_ACHAT_CHANCE
index 9ccdf16..fc28ac9 100644
--- a/doc/props/P_ACHAT_CHANCE
+++ b/doc/props/P_ACHAT_CHANCE
@@ -1,8 +1,21 @@
-NAME:
- P_ACHAT_CHANCE "achat_chance"
-DEFINIERT IN:
- /sys/properties.h
+P_ACHAT_CHANCE
+**************
-BESCHREIBUNG:
- Wahrscheinlichkeit fuer die Attack-Chat-Ausgabe.
+
+NAME
+====
+
+ P_ACHAT_CHANCE "achat_chance"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wahrscheinlichkeit fuer die Attack-Chat-Ausgabe.
diff --git a/doc/props/P_ACTUAL_NOTIFY_FAIL b/doc/props/P_ACTUAL_NOTIFY_FAIL
index 435a646..0c9acd1 100644
--- a/doc/props/P_ACTUAL_NOTIFY_FAIL
+++ b/doc/props/P_ACTUAL_NOTIFY_FAIL
@@ -1,27 +1,51 @@
-********************** VERALTETE PROPERTY *********************************
-NAME:
- P_ACTUAL_NOTIFY_FAIL "actual_notify_fail"
-DEFINIERT IN:
- /sys/player.h
+P_ACTUAL_NOTIFY_FAIL
+********************
-ACHTUNG:
- Diese Prop wird nicht mehr gesetzt (und auch nicht mehr abgefragt), da LD
- eine efun hat, um das Objekt zu ermitteln, was als letztes ein
- notify_fail() gesetzt hat, ein Speichern im Spieler also voellig
- ueberfluessig ist.
+********************** VERALTETE PROPERTY
+*********************************
-BESCHREIBUNG:
- Ist im Spielerobjekt gesetzt und enthaelt das Objekt, welches zuletzt
- eine Fehlermeldung mit notify_fail()/_notify_fail() erfolgreich
- waehrend des aktuellen Kommandos abgespeichert hat.
-BEMERKUNGEN:
- Dient dazu, bei _notify_fail() zu ueberpruefen, ob schon vorher eine
- Fehlermeldung gesetzt wurde.
+NAME
+====
-SIEHE AUCH:
- AddCmd(), add_action()
- notify_fail(), _notify_fail()
+ P_ACTUAL_NOTIFY_FAIL "actual_notify_fail"
+
+
+DEFINIERT IN
+============
+
+ /sys/player.h
+
+
+ACHTUNG
+=======
+
+ Diese Prop wird nicht mehr gesetzt (und auch nicht mehr abgefragt), da LD
+ eine efun hat, um das Objekt zu ermitteln, was als letztes ein
+ notify_fail() gesetzt hat, ein Speichern im Spieler also voellig
+ ueberfluessig ist.
+
+
+BESCHREIBUNG
+============
+
+ Ist im Spielerobjekt gesetzt und enthaelt das Objekt, welches zuletzt
+ eine Fehlermeldung mit notify_fail()/_notify_fail() erfolgreich
+ waehrend des aktuellen Kommandos abgespeichert hat.
+
+
+BEMERKUNGEN
+===========
+
+ Dient dazu, bei _notify_fail() zu ueberpruefen, ob schon vorher eine
+ Fehlermeldung gesetzt wurde.
+
+
+SIEHE AUCH
+==========
+
+ AddCmd(), add_action()
+ notify_fail(), _notify_fail()
10.03.2007, Zesstra
diff --git a/doc/props/P_ADJECTIVES b/doc/props/P_ADJECTIVES
index 3b44a4f..1c8ccb6 100644
--- a/doc/props/P_ADJECTIVES
+++ b/doc/props/P_ADJECTIVES
@@ -1,22 +1,38 @@
+
P_ADJECTIVES
+************
-NAME:
- P_ADJECTIVES "adjectives"
-DEFINIERT IN:
- <thing/description.h>
+NAME
+====
-BESCHREIBUNG:
- Hier steht ein Array von Strings, welche die Identifizierung des
- Objektes ergaenzen. Die Verwaltung erfolgt ueber die Funktionen
- AddAdjective() und RemoveAdjective().
+ P_ADJECTIVES "adjectives"
-BEMERKUNGEN:
- Man sollte an dieser Property nicht "von Hand" herumfummeln, sondern
- immer die zugehoerigen Funktionen benutzen!
-SIEHE AUCH:
- /std/thing/description.c, AddAdjective(), RemoveAdjective()
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ <thing/description.h>
+
+
+BESCHREIBUNG
+============
+
+ Hier steht ein Array von Strings, welche die Identifizierung des
+ Objektes ergaenzen. Die Verwaltung erfolgt ueber die Funktionen
+ AddAdjective() und RemoveAdjective().
+
+
+BEMERKUNGEN
+===========
+
+ Man sollte an dieser Property nicht "von Hand" herumfummeln, sondern
+ immer die zugehoerigen Funktionen benutzen!
+
+
+SIEHE AUCH
+==========
+
+ /std/thing/description.c, AddAdjective(), RemoveAdjective()
+
Last modified: Sun May 19 20:22:24 1996 by Wargon
diff --git a/doc/props/P_AERIAL_HELPERS b/doc/props/P_AERIAL_HELPERS
index 2606884..781510c 100644
--- a/doc/props/P_AERIAL_HELPERS
+++ b/doc/props/P_AERIAL_HELPERS
@@ -1,45 +1,63 @@
+
P_AERIAL_HELPERS
+****************
-NAME:
- P_AERIAL_HELPERS "lib_p_aerial_helpers"
-DEFINIERT IN:
- <living/helpers.h>
+NAME
+====
-BESCHREIBUNG:
- Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
- zu ermitteln, die fuer die Unterstuetzung beim Fliegen/Segeln bei diesem
- Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
- Form zurueckgeliefert:
- ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
- Eine Erlaeuterung dazu findet sich in der Dokumentation zu
- RegisterHelperObject().
+ P_AERIAL_HELPERS "lib_p_aerial_helpers"
-BEMERKUNGEN:
- Diese Property kann nur abgefragt werden.
- Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche
- Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
-BEISPIEL:
- Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das
- beim Fliegen hilft, sucht man alle Objekte aus dem Mapping heraus, die
- einen Wert >0 eingetragen haben und prueft deren Anzahl:
+DEFINIERT IN
+============
- mapping aerial = this_player()->QueryProp(P_AERIAL_HELPERS);
- object* helpers = filter( aerial, function int (object h) {
- return (aerial[h]>0); });
- if ( sizeof(helpers) ) {
- tell_object(this_player(), "Du erhebst Dich mit Hilfe "+
- helpers[0]->name(WESSEN,1)+" elegant in die Luefte.\n");
- }
- else {
- tell_object(this_player(), "Du hast nichts zum Fliegen bei Dir.\n");
- }
+ <living/helpers.h>
-SIEHE AUCH:
- Methoden: RegisterHelperObject(L), UnregisterHelperObject(L)
- Properties: P_HELPER_OBJECTS, P_AQUATIC_HELPERS
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
+ zu ermitteln, die fuer die Unterstuetzung beim Fliegen/Segeln bei diesem
+ Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
+ Form zurueckgeliefert:
+ ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
+ Eine Erlaeuterung dazu findet sich in der Dokumentation zu
+ RegisterHelperObject().
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property kann nur abgefragt werden.
+ Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche
+ Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
+
+
+BEISPIEL
+========
+
+ Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das
+ beim Fliegen hilft, sucht man alle Objekte aus dem Mapping heraus, die
+ einen Wert >0 eingetragen haben und prueft deren Anzahl:
+
+ mapping aerial = this_player()->QueryProp(P_AERIAL_HELPERS);
+ object* helpers = filter( aerial, function int (object h) {
+ return (aerial[h]>0); });
+ if ( sizeof(helpers) ) {
+ tell_object(this_player(), "Du erhebst Dich mit Hilfe "+
+ helpers[0]->name(WESSEN,1)+" elegant in die Luefte.\n");
+ }
+ else {
+ tell_object(this_player(), "Du hast nichts zum Fliegen bei Dir.\n");
+ }
+
+
+SIEHE AUCH
+==========
+
+ Methoden: RegisterHelperObject(L), UnregisterHelperObject(L)
+ Properties: P_HELPER_OBJECTS, P_AQUATIC_HELPERS
+
12.03.2016, Arathorn
-
diff --git a/doc/props/P_AGE b/doc/props/P_AGE
index ad6388a..e35473c 100644
--- a/doc/props/P_AGE
+++ b/doc/props/P_AGE
@@ -1,8 +1,21 @@
-NAME:
- P_AGE "age"
-DEFINIERT IN:
- /sys/living/life.h
+P_AGE
+*****
-BESCHREIBUNG:
- Alter des Spielers in Heart-Beats (1 HB == 2 Sekunden)
+
+NAME
+====
+
+ P_AGE "age"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Alter des Spielers in Heart-Beats (1 HB == 2 Sekunden)
diff --git a/doc/props/P_AGGRESSIVE b/doc/props/P_AGGRESSIVE
index b10d97e..5184687 100644
--- a/doc/props/P_AGGRESSIVE
+++ b/doc/props/P_AGGRESSIVE
@@ -1,39 +1,55 @@
-NAME:
- P_AGGRESSIVE "aggressive"
-DEFINIERT IN:
- /sys/properties.h
+P_AGGRESSIVE
+************
-BESCHREIBUNG:
- Gesetzt, wenn das Wesen von sich aus Angriffe startet.
- Ueblicherweise nimmt man als Wert 1, man kann jedoch auch
- einen kleineren Wert nehmen wenn es nur mit einer bestimmten
- Wahrscheinlichkeit automatisch angreifen soll.
+NAME
+====
- Der Wert von Spieler und Monster wird addiert, um zu entscheiden,
- ob ein Spieler angegriffen werden soll, man kann P_AGGRESSIVE
- also auch bei Spielern setzen, so dass sie von allen Monstern
- angegriffen werden.
+ P_AGGRESSIVE "aggressive"
- Bei Monstern (und NUR bei diesen) kann man hier auch ein Mapping
- angeben, das als Keys Namen von Properties des Spielers enthaelt
- und als Values Mappings, in denen steht welcher Wert bei welchen
- Wert fuer die Property genommen werden soll (Beispiele folgen).
- Mit Key 0 kann man einen Default-Wert (sowohl in inneren Mappings
- wie auch im aeusseren Mapping) festlegen. Default-Werte werden
- genommen, falls keine anderen gesetzt sind, also Vorsicht mit
- 0-Eintraegen (Tip: 0.0 ist in LPC ungleich 0).
- Bei mehreren Properties werden alle gesetzten Werte gemittelt.
-BEISPIELE:
- SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":1, "Elf":0.0, 0:0.5])]))
- Zwerge werden immer automatisch angegriffen, Elfen nie und
- alle anderen mit 50% Wahrscheinlichkeit.
- Man beachte, dass hier 0.0 genommen werden musste anstelle von 0,
- weil sonst Elfen auch 50% Wahrscheinlichkeit bekommen haetten.
+DEFINIERT IN
+============
- SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":0.3]),
- P_GUILD:(["Chaos":0.7])]))
- Zwerge werden mit 30% Wahrscheinlichkeit angegriffen,
- Chaoten mit 70% und Zwerg-Chaoten mit 50%.
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Gesetzt, wenn das Wesen von sich aus Angriffe startet.
+
+ Ueblicherweise nimmt man als Wert 1, man kann jedoch auch
+ einen kleineren Wert nehmen wenn es nur mit einer bestimmten
+ Wahrscheinlichkeit automatisch angreifen soll.
+
+ Der Wert von Spieler und Monster wird addiert, um zu entscheiden,
+ ob ein Spieler angegriffen werden soll, man kann P_AGGRESSIVE
+ also auch bei Spielern setzen, so dass sie von allen Monstern
+ angegriffen werden.
+
+ Bei Monstern (und NUR bei diesen) kann man hier auch ein Mapping
+ angeben, das als Keys Namen von Properties des Spielers enthaelt
+ und als Values Mappings, in denen steht welcher Wert bei welchen
+ Wert fuer die Property genommen werden soll (Beispiele folgen).
+ Mit Key 0 kann man einen Default-Wert (sowohl in inneren Mappings
+ wie auch im aeusseren Mapping) festlegen. Default-Werte werden
+ genommen, falls keine anderen gesetzt sind, also Vorsicht mit
+ 0-Eintraegen (Tip: 0.0 ist in LPC ungleich 0).
+ Bei mehreren Properties werden alle gesetzten Werte gemittelt.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":1, "Elf":0.0, 0:0.5])]))
+ Zwerge werden immer automatisch angegriffen, Elfen nie und
+ alle anderen mit 50% Wahrscheinlichkeit.
+ Man beachte, dass hier 0.0 genommen werden musste anstelle von 0,
+ weil sonst Elfen auch 50% Wahrscheinlichkeit bekommen haetten.
+
+ SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":0.3]),
+ P_GUILD:(["Chaos":0.7])]))
+ Zwerge werden mit 30% Wahrscheinlichkeit angegriffen,
+ Chaoten mit 70% und Zwerg-Chaoten mit 50%.
diff --git a/doc/props/P_ALCOHOL b/doc/props/P_ALCOHOL
index 63005b7..d827a94 100644
--- a/doc/props/P_ALCOHOL
+++ b/doc/props/P_ALCOHOL
@@ -1,22 +1,36 @@
-NAME:
- P_ALCOHOL "alcohol"
-DEFINIERT IN:
- /sys/living/life.h
+P_ALCOHOL
+*********
-BESCHREIBUNG:
- - Lebewesen
- Numerischer Wert fuer den Grad der Betrunkenheit eines Lebewesens.
- Der maximale Wert steht in P_MAX_ALCOHOL.
+NAME
+====
- - Speisen/Kneipen
- Numerischer Wert fuer den Grad, den eine Portion der Speise den
- Konsumenten betrunken macht
+ P_ALCOHOL "alcohol"
-SIEHE AUCH:
- P_MAX_ALCOHOL, P_ALCOHOL_DELAY, consume,
- P_FOOD, P_DRINK, wiz/food,
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ - Lebewesen
+ Numerischer Wert fuer den Grad der Betrunkenheit eines Lebewesens.
+ Der maximale Wert steht in P_MAX_ALCOHOL.
+
+ - Speisen/Kneipen
+ Numerischer Wert fuer den Grad, den eine Portion der Speise den
+ Konsumenten betrunken macht
+
+
+SIEHE AUCH
+==========
+
+ P_MAX_ALCOHOL, P_ALCOHOL_DELAY, consume,
+ P_FOOD, P_DRINK, wiz/food,
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_ALCOHOL_DELAY b/doc/props/P_ALCOHOL_DELAY
index 4c6d2c1..6ea0513 100644
--- a/doc/props/P_ALCOHOL_DELAY
+++ b/doc/props/P_ALCOHOL_DELAY
@@ -1,10 +1,23 @@
-NAME:
- P_ALCOHOL_DELAY "alcohol_delay"
-DEFINIERT IN:
- /sys/living/life.h
+P_ALCOHOL_DELAY
+***************
-BESCHREIBUNG:
- Anzahl der heart_beats, bis P_ALCOHOL um einen Punkt sinkt.
- Aenderungen dieser Property in Spielern beduerfen der
- Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+ P_ALCOHOL_DELAY "alcohol_delay"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der heart_beats, bis P_ALCOHOL um einen Punkt sinkt.
+ Aenderungen dieser Property in Spielern beduerfen der
+ Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_ALC_FULL_MSG b/doc/props/P_ALC_FULL_MSG
index bd84a86..5df4b65 100644
--- a/doc/props/P_ALC_FULL_MSG
+++ b/doc/props/P_ALC_FULL_MSG
@@ -1,24 +1,45 @@
-NAME:
- P_ALC_FULL_MSG "std_food_alc_full_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_ALC_FULL_MSG
+**************
-BESCHREIBUNG:
- Meldung an den Konsumenten, wenn Alkohol konsumiert werden soll,
- obwohl dieser nicht mehr Alkohol vertraegt.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "Soviel Alkohol vertraegst Du nicht mehr."
-SIEHE AUCH:
- P_ALCOHOL, P_MAX_ALCOHOL, wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_ALC_FULL_MSG "std_food_alc_full_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Konsumenten, wenn Alkohol konsumiert werden soll,
+ obwohl dieser nicht mehr Alkohol vertraegt.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "Soviel Alkohol vertraegst Du nicht mehr."
+
+
+SIEHE AUCH
+==========
+
+ P_ALCOHOL, P_MAX_ALCOHOL, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_ALIGN b/doc/props/P_ALIGN
index f1d3465..d4ca76c 100644
--- a/doc/props/P_ALIGN
+++ b/doc/props/P_ALIGN
@@ -1,17 +1,29 @@
-NAME:
- P_ALIGN "align"
-DEFINIERT IN:
- /sys/living/life.h
+P_ALIGN
+*******
-BESCHREIBUNG:
- Numerischer Wert fuer Gut- oder Boesheit des Wesens.
- Kann Werte von -1000 (Boese wie der Teufel hoechstpersoenlich)
- bis +1000 (Jesus, bist Du's ?) annehmen.
+NAME
+====
- Werte ausserhalb dieser Skala werden zwar teilweise verwendet,
- das Setzen derselben sollte jedoch UNBEDINGT unterbleiben.
+ P_ALIGN "align"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert fuer Gut- oder Boesheit des Wesens.
+
+ Kann Werte von -1000 (Boese wie der Teufel hoechstpersoenlich)
+ bis +1000 (Jesus, bist Du's ?) annehmen.
+
+ Werte ausserhalb dieser Skala werden zwar teilweise verwendet,
+ das Setzen derselben sollte jedoch UNBEDINGT unterbleiben.
+
Last modified: Sat Jul 12 17:00:00 by Mandragon
diff --git a/doc/props/P_ALLOWED_SHADOW b/doc/props/P_ALLOWED_SHADOW
index 39482fd..5d849b7 100644
--- a/doc/props/P_ALLOWED_SHADOW
+++ b/doc/props/P_ALLOWED_SHADOW
@@ -1,24 +1,38 @@
-NAME:
- P_ALLOWED_SHADOW "allowed_shadow"
-DEFINIERT IN:
- /sys/player/base.h
+P_ALLOWED_SHADOW
+****************
-BESCHREIBUNG:
- Normalerweise koennen nur Shadows an Spieler gebunden werden, die in
- /std/player/shadows/ liegen.
-
- Zu Testzwecken kann in dieser Property der Pfad eines Shadows eingetragen
- werden. Damit wird die oben beschriebene Regel fuer diesen Spieler und
- diesen Shadow ausser Kraft gesetzt.
+NAME
+====
-BEMERKUNG:
+ P_ALLOWED_SHADOW "allowed_shadow"
- Der Spieler muss ein Testspieler sein. Ansonsten wird diese Property
- ignoriert.
- Die Property ist secured gesetzt. Das heisst, nur EM+ koennen
- diese Property setzen und loeschen.
-------------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Normalerweise koennen nur Shadows an Spieler gebunden werden, die in
+ /std/player/shadows/ liegen.
+
+
+
+ Zu Testzwecken kann in dieser Property der Pfad eines Shadows eingetragen
+ werden. Damit wird die oben beschriebene Regel fuer diesen Spieler und
+ diesen Shadow ausser Kraft gesetzt.
+
+BEMERKUNG:
+
+ Der Spieler muss ein Testspieler sein. Ansonsten wird diese
+ Property ignoriert.
+
+ Die Property ist secured gesetzt. Das heisst, nur EM+ koennen diese
+ Property setzen und loeschen.
+
Last modified: Sun Mar 21 00:27:46 2004 by Vanion
diff --git a/doc/props/P_AMMUNITION b/doc/props/P_AMMUNITION
index f8903af..cbe7f56 100644
--- a/doc/props/P_AMMUNITION
+++ b/doc/props/P_AMMUNITION
@@ -1,42 +1,62 @@
+
P_AMMUNITION
+************
-NAME:
- P_AMMUNITION "munition"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Enthaelt die fuer eine Waffe gueltige Munition als String. Die
- Munition muss diesen String als ID besitzen.
+ P_AMMUNITION "munition"
- Fuer die Munitionsobjekte gilt:
- * es kann ein Skill am Spieler definiert werden, dieser wirkt dann
- zusaetzlich zum generellen SK_SHOOT-Skill.
- * sie koennen eine HitFunc besitzten, die beim Schuss abgefragt wird
-BEMERKUNGEN:
- Bitte das #define MUN_MISC(x) benutzen. Munition sollte auch immer
- in Deutsch und Plural angegeben werden, da P_AMMUNITION direkt
- fuer Ausgaben an den Spieler ausgewertet wird.
+DEFINIERT IN
+============
- Momentan sind vier Munitionsarten in der combat.h vordefiniert:
- MUN_ARROW, MUN_STONE, MUN_BOLT, MUN_MISC
+ <combat.h>
-BEISPIELE:
- // fuer ein kleines Blasrohr im Blasrohr
- SetProp(P_AMMUNITION, MUN_MISC("Erbsen"));
- // Entsprechend in der Munition:
- AddId(MUN_MISC("Erbsen"));
+BESCHREIBUNG
+============
-SIEHE AUCH:
- Generell: P_SHOOTING_WC, P_STRETCH_TIME
- Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
- Gebiet: P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
- Waffen: P_WEAPON_TYPE, P_WC, P_EQUIP_TIME, P_NR_HANDS
- Kampf: Attack(L), Defend(L), P_DISABLE_ATTACK, P_ATTACK_BUSY
- Team: PresentPosition(L)
- Sonstiges: fernwaffen
+ Enthaelt die fuer eine Waffe gueltige Munition als String. Die
+ Munition muss diesen String als ID besitzen.
-29.Jul 2014 Gloinson
\ No newline at end of file
+ Fuer die Munitionsobjekte gilt:
+ * es kann ein Skill am Spieler definiert werden, dieser wirkt dann
+ zusaetzlich zum generellen SK_SHOOT-Skill.
+ * sie koennen eine HitFunc besitzten, die beim Schuss abgefragt wird
+
+
+BEMERKUNGEN
+===========
+
+ Bitte das #define MUN_MISC(x) benutzen. Munition sollte auch immer
+ in Deutsch und Plural angegeben werden, da P_AMMUNITION direkt
+ fuer Ausgaben an den Spieler ausgewertet wird.
+
+ Momentan sind vier Munitionsarten in der combat.h vordefiniert:
+ MUN_ARROW, MUN_STONE, MUN_BOLT, MUN_MISC
+
+
+BEISPIELE
+=========
+
+ // fuer ein kleines Blasrohr im Blasrohr
+ SetProp(P_AMMUNITION, MUN_MISC("Erbsen"));
+
+ // Entsprechend in der Munition:
+ AddId(MUN_MISC("Erbsen"));
+
+
+SIEHE AUCH
+==========
+
+ Generell: P_SHOOTING_WC, P_STRETCH_TIME
+ Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+ Gebiet: P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
+ Waffen: P_WEAPON_TYPE, P_WC, P_EQUIP_TIME, P_NR_HANDS
+ Kampf: Attack(L), Defend(L), P_DISABLE_ATTACK, P_ATTACK_BUSY
+ Team: PresentPosition(L)
+ Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_AMOUNT b/doc/props/P_AMOUNT
index a44e45a..5c0e51a 100644
--- a/doc/props/P_AMOUNT
+++ b/doc/props/P_AMOUNT
@@ -1,8 +1,21 @@
-NAME:
- P_AMOUNT "amount"
-DEFINIERT IN:
- /sys/properties.h
+P_AMOUNT
+********
-BESCHREIBUNG:
- Anzahl der Objekte, fuer die das Objekt steht.
+
+NAME
+====
+
+ P_AMOUNT "amount"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der Objekte, fuer die das Objekt steht.
diff --git a/doc/props/P_AQUATIC_HELPERS b/doc/props/P_AQUATIC_HELPERS
index 33a07ab..8429a41 100644
--- a/doc/props/P_AQUATIC_HELPERS
+++ b/doc/props/P_AQUATIC_HELPERS
@@ -1,46 +1,64 @@
+
P_AQUATIC_HELPERS
+*****************
-NAME:
- P_AQUATIC_HELPERS "lib_p_aquatic_helpers"
-DEFINIERT IN:
- <living/helpers.h>
+NAME
+====
-BESCHREIBUNG:
- Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
- zu ermitteln, die fuer die Unterstuetzung beim Tauchen bei diesem
- Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
- Form zurueckgeliefert:
- ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
- Eine Erlaeuterung dazu findet sich in der Dokumentation zu
- RegisterHelperObject().
+ P_AQUATIC_HELPERS "lib_p_aquatic_helpers"
-BEMERKUNGEN:
- Diese Property kann nur abgefragt werden.
- Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche
- Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
-BEISPIEL:
- Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das
- beim Tauchen hilft, sucht man alle Objekte aus dem Mapping heraus, die
- einen Wert >0 eingetragen haben und prueft deren Anzahl:
+DEFINIERT IN
+============
- mapping aquatic = this_player()->QueryProp(P_AQUATIC_HELPERS);
- object* helpers = filter( aquatic, function int (object h) {
- return (aquatic[h]>0); });
- if ( sizeof(helpers) ) {
- tell_object(this_player(), "Du stuerzt Dich in die Fluten und "
- "stellst ueberrascht fest, dass Du mit Hilfe "+
- helpers[0]->name(WESSEN,1)+" sogar unter Wasser atmen kannst!\n");
- }
- else {
- tell_object(this_player(), "Du hast nichts zum Tauchen bei Dir.\n");
- }
+ <living/helpers.h>
-SIEHE AUCH:
- Methoden: RegisterHelperObject(L), UnregisterHelperObject(L)
- Properties: P_HELPER_OBJECTS, P_AERIAL_HELPERS
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
+ zu ermitteln, die fuer die Unterstuetzung beim Tauchen bei diesem
+ Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
+ Form zurueckgeliefert:
+ ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
+ Eine Erlaeuterung dazu findet sich in der Dokumentation zu
+ RegisterHelperObject().
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property kann nur abgefragt werden.
+ Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche
+ Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
+
+
+BEISPIEL
+========
+
+ Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das
+ beim Tauchen hilft, sucht man alle Objekte aus dem Mapping heraus, die
+ einen Wert >0 eingetragen haben und prueft deren Anzahl:
+
+ mapping aquatic = this_player()->QueryProp(P_AQUATIC_HELPERS);
+ object* helpers = filter( aquatic, function int (object h) {
+ return (aquatic[h]>0); });
+ if ( sizeof(helpers) ) {
+ tell_object(this_player(), "Du stuerzt Dich in die Fluten und "
+ "stellst ueberrascht fest, dass Du mit Hilfe "+
+ helpers[0]->name(WESSEN,1)+" sogar unter Wasser atmen kannst!\n");
+ }
+ else {
+ tell_object(this_player(), "Du hast nichts zum Tauchen bei Dir.\n");
+ }
+
+
+SIEHE AUCH
+==========
+
+ Methoden: RegisterHelperObject(L), UnregisterHelperObject(L)
+ Properties: P_HELPER_OBJECTS, P_AERIAL_HELPERS
+
06.04.2016, Arathorn
-
diff --git a/doc/props/P_ARMOURS b/doc/props/P_ARMOURS
index 3156bf6..e0d6a0c 100644
--- a/doc/props/P_ARMOURS
+++ b/doc/props/P_ARMOURS
@@ -1,25 +1,41 @@
+
P_ARMOURS
+*********
-NAME:
- P_ARMOURS "armours"
-DEFINIERT IN:
- <living/combat.h>
+NAME
+====
-BESCHREIBUNG:
- Array mit den getragenen Schutzbekleidungen des Lebewesen.
+ P_ARMOURS "armours"
- Bitte nach Moeglichkeit davon absehen, diese Property zu beschreiben, da
- es hierbei zu Inkonsistenzen kommen kann.
-
- Falls ihr die Ruestungen des Lebewesens, ggf. mit bestimten Kriterien,
- ermitteln wollt, benutzt hierfuer bitte die Funktion FilterArmours()
- statt selber ueber dieses Array zu laufen.
-SIEHE AUCH:
- Verwandt: QueryArmourByType(L), P_WEAPON, FilterClothing(),
- FilterArmours()
- Ruestungen: P_AC, P_ARMOUR_TYPE, P_NR_HANDS
- Sonstiges: P_EQUIP_TIME, P_LAST_USE
+DEFINIERT IN
+============
+
+ <living/combat.h>
+
+
+BESCHREIBUNG
+============
+
+ Array mit den getragenen Schutzbekleidungen des Lebewesen.
+
+ Bitte nach Moeglichkeit davon absehen, diese Property zu beschreiben, da
+ es hierbei zu Inkonsistenzen kommen kann.
+
+
+
+ Falls ihr die Ruestungen des Lebewesens, ggf. mit bestimten Kriterien,
+ ermitteln wollt, benutzt hierfuer bitte die Funktion FilterArmours()
+ statt selber ueber dieses Array zu laufen.
+
+
+SIEHE AUCH
+==========
+
+ Verwandt: QueryArmourByType(L), P_WEAPON, FilterClothing(),
+ FilterArmours()
+ Ruestungen: P_AC, P_ARMOUR_TYPE, P_NR_HANDS
+ Sonstiges: P_EQUIP_TIME, P_LAST_USE
14.03.2009, Zesstra
diff --git a/doc/props/P_ARMOUR_TYPE b/doc/props/P_ARMOUR_TYPE
index 35978f2..19e6812 100644
--- a/doc/props/P_ARMOUR_TYPE
+++ b/doc/props/P_ARMOUR_TYPE
@@ -1,46 +1,63 @@
+
P_ARMOUR_TYPE
+*************
-NAME:
- P_ARMOUR_TYPE "armour_type"
-DEFINIERT IN:
- <armour.h>
+NAME
+====
-BESCHREIBUNG:
- In dieser Property wird der Typ einer Ruestung festgehalten. Man sollte
- hier nur die in <combat.h> definierten Konstanten verwenden:
+ P_ARMOUR_TYPE "armour_type"
- AT_AMULET Amulett
- AT_ARMOUR Ruestung
- AT_BELT Guertel
- AT_BOOT Schuhe
- AT_CLOAK Umhang
- AT_GLOVE Handschuhe
- AT_HELMET Helm
- AT_QUIVER Koecher
- AT_RING Ring
- AT_SHIELD Schild
- AT_TROUSERS Hosen
- AT_MISC Sonstiges
- Der Ruestungstyp AT_MISC ist schnoedem Tand und anderem nutzlosen
- Kram vorbehalten. Auf keinen Fall darf eine AT_MISC-Ruestung ueber
- eine AC > 0 verfuegen noch irgendwie kampfrelevante Bedeutung be-
- sitzen. Ruestungen des Typs AT_MISC, die KEINE DefendFunc benoetigen,
- muessen mittels /std/clothing als einfaches Kleidungsstueck realisiert
- werden.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- Die P_AC wird bei AT_MISC-Ruestungen gar nicht erst ausgewertet.
- DefendFuncs werden zwar ausgewertet, aber bitte ueberlegt euch gut, ob
- ihr sie braucht (Rechenzeit im Kampf ist kritisch!) und ob sie seitens
- der Balance in eurem Fall erlaubt sind.
+ <armour.h>
-SIEHE AUCH:
- Verwandt: QueryArmourByType(L), P_WEAPON
- Ruestungen: P_AC, P_NR_HANDS (Schilde)
- Sonstiges: P_EQUIP_TIME, P_LAST_USE
- Code: /std/armour.c, /std/clothing.c
- Gildenergaenzung: P_GLOVE_FINGERLESS
+
+BESCHREIBUNG
+============
+
+ In dieser Property wird der Typ einer Ruestung festgehalten. Man sollte
+ hier nur die in <combat.h> definierten Konstanten verwenden:
+
+ AT_AMULET Amulett
+ AT_ARMOUR Ruestung
+ AT_BELT Guertel
+ AT_BOOT Schuhe
+ AT_CLOAK Umhang
+ AT_GLOVE Handschuhe
+ AT_HELMET Helm
+ AT_QUIVER Koecher
+ AT_RING Ring
+ AT_SHIELD Schild
+ AT_TROUSERS Hosen
+ AT_MISC Sonstiges
+
+ Der Ruestungstyp AT_MISC ist schnoedem Tand und anderem nutzlosen
+ Kram vorbehalten. Auf keinen Fall darf eine AT_MISC-Ruestung ueber
+ eine AC > 0 verfuegen noch irgendwie kampfrelevante Bedeutung be-
+ sitzen. Ruestungen des Typs AT_MISC, die KEINE DefendFunc benoetigen,
+ muessen mittels /std/clothing als einfaches Kleidungsstueck realisiert
+ werden.
+
+
+BEMERKUNGEN
+===========
+
+ Die P_AC wird bei AT_MISC-Ruestungen gar nicht erst ausgewertet.
+ DefendFuncs werden zwar ausgewertet, aber bitte ueberlegt euch gut, ob
+ ihr sie braucht (Rechenzeit im Kampf ist kritisch!) und ob sie seitens
+ der Balance in eurem Fall erlaubt sind.
+
+
+SIEHE AUCH
+==========
+
+ Verwandt: QueryArmourByType(L), P_WEAPON
+ Ruestungen: P_AC, P_NR_HANDS (Schilde)
+ Sonstiges: P_EQUIP_TIME, P_LAST_USE
+ Code: /std/armour.c, /std/clothing.c
+ Gildenergaenzung: P_GLOVE_FINGERLESS
27. Mai 2015, Arathorn
diff --git a/doc/props/P_ARRIVEMSG b/doc/props/P_ARRIVEMSG
index 02d5759..cdafdaa 100644
--- a/doc/props/P_ARRIVEMSG
+++ b/doc/props/P_ARRIVEMSG
@@ -1,8 +1,21 @@
-NAME:
- P_ARRIVEMSG "arrivemsg"
-DEFINIERT IN:
- /sys/transport.h
+P_ARRIVEMSG
+***********
-BESCHREIBUNG:
- Meldung, wenn der Transporter anlegt.
+
+NAME
+====
+
+ P_ARRIVEMSG "arrivemsg"
+
+
+DEFINIERT IN
+============
+
+ /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+ Meldung, wenn der Transporter anlegt.
diff --git a/doc/props/P_ARTICLE b/doc/props/P_ARTICLE
index 1517865..2bf2c54 100644
--- a/doc/props/P_ARTICLE
+++ b/doc/props/P_ARTICLE
@@ -1,15 +1,28 @@
-NAME:
- P_ARTICLE "article"
-DEFINIERT IN:
- /sys/thing/language.h
+P_ARTICLE
+*********
-BESCHREIBUNG:
- Gibt an, ob in der Beschreibung ein Artikel ausgegeben werden soll
- oder nicht.
- Wenn ein Artikel angegeben werden soll, so wird 1 gesetzt, sonst 0.
- Diese Property ist aus historischen Gruenden auf 1 voreingestellt
- und intern invertiert. (d.h., beim Auslesen per Query kommt als
- Ergebnis genau das falsche heraus). Bitte beachtet das bei Set- bzw.
- Query-Funktionen.
\ No newline at end of file
+NAME
+====
+
+ P_ARTICLE "article"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/language.h
+
+
+BESCHREIBUNG
+============
+
+ Gibt an, ob in der Beschreibung ein Artikel ausgegeben werden soll
+ oder nicht.
+
+ Wenn ein Artikel angegeben werden soll, so wird 1 gesetzt, sonst 0.
+ Diese Property ist aus historischen Gruenden auf 1 voreingestellt
+ und intern invertiert. (d.h., beim Auslesen per Query kommt als
+ Ergebnis genau das falsche heraus). Bitte beachtet das bei Set- bzw.
+ Query-Funktionen.
diff --git a/doc/props/P_ATTACK_BUSY b/doc/props/P_ATTACK_BUSY
index b55dc5b..dfc8ba6 100644
--- a/doc/props/P_ATTACK_BUSY
+++ b/doc/props/P_ATTACK_BUSY
@@ -1,44 +1,67 @@
-NAME:
- P_ATTACK_BUSY "attack_busy"
-DEFINIERT IN:
- /sys/living/combat.h
+P_ATTACK_BUSY
+*************
-BESCHREIBUNG:
- Ueber diese Property kann festgestellt werden, ob ein Spieler noch
- Spezialwaffen (zB Flammenkugel) einsetzen kann.
-
- Ist der Wert bei Abfrage ungleich 0, dann darf der Spieler in dieser
- Runde keine Aktion mehr durchfuehren. Mit SetProp(P_ATTACK_BUSY, 1)
- wird eine Aktion verbraucht.
- Intern wird relativ fein gerechnet, ein SetProp(P_ATTACK_BUSY, x)
- wird in das Abziehen von x*100 Punkten umgerechnet. Der Wert freier
- Aktionen pro Runde berechnet sich wie folgt:
-
- Spieler: 100 + QuerySkillAttribute(SA_SPEED)
- Seher: Spieler + 200 + QueryProp(P_LEVEL)
+NAME
+====
- Das Maximum liegt bei 500.
- Damit betraegt die Anzahl der moeglichen Aktionen pro Runde: Wert/100,
- also maximal 5 Aktionen pro Runde.
+ P_ATTACK_BUSY "attack_busy"
- Zaubersprueche zaehlen im Normalfall auch als eine Aktion.
-BEMERKUNGEN:
- Benutzt man P_ATTACK_BUSY fuer eine sich nicht sofort verbrauchende
- Sache, kann ein Seher dieses Objekt im Normalfall dreimal pro Runde
- benutzen. Wenn ungewollt, muss das ueber einen Zeitmarker selbst
- verhindert werden.
-
-BEISPIELE:
- (Code eines Objektes ist in
- /doc/beispiele/testobjekte/attack_busy_sensitive_testobj.c)
- // einfacher Test auf ATTACK_BUSY und anschliessendes Setzen
- if (this_player()->QueryProp(P_ATTACK_BUSY)) {
- write("Du hast dafuer momentan einfach nicht mehr die Puste.\n");
- return 1;
- }
- this_player()->SetProp(P_ATTACK_BUSY, 1);
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Ueber diese Property kann festgestellt werden, ob ein Spieler noch
+ Spezialwaffen (zB Flammenkugel) einsetzen kann.
+
+
+
+ Ist der Wert bei Abfrage ungleich 0, dann darf der Spieler in dieser
+ Runde keine Aktion mehr durchfuehren. Mit SetProp(P_ATTACK_BUSY, 1)
+ wird eine Aktion verbraucht.
+
+ Intern wird relativ fein gerechnet, ein SetProp(P_ATTACK_BUSY, x)
+ wird in das Abziehen von x*100 Punkten umgerechnet. Der Wert freier
+ Aktionen pro Runde berechnet sich wie folgt:
+
+
+
+ Spieler: 100 + QuerySkillAttribute(SA_SPEED)
+ Seher: Spieler + 200 + QueryProp(P_LEVEL)
+
+ Das Maximum liegt bei 500.
+ Damit betraegt die Anzahl der moeglichen Aktionen pro Runde: Wert/100,
+ also maximal 5 Aktionen pro Runde.
+
+ Zaubersprueche zaehlen im Normalfall auch als eine Aktion.
+
+
+BEMERKUNGEN
+===========
+
+ Benutzt man P_ATTACK_BUSY fuer eine sich nicht sofort verbrauchende
+ Sache, kann ein Seher dieses Objekt im Normalfall dreimal pro Runde
+ benutzen. Wenn ungewollt, muss das ueber einen Zeitmarker selbst
+ verhindert werden.
+
+
+BEISPIELE
+=========
+
+ (Code eines Objektes ist in
+ /doc/beispiele/testobjekte/attack_busy_sensitive_testobj.c)
+ // einfacher Test auf ATTACK_BUSY und anschliessendes Setzen
+ if (this_player()->QueryProp(P_ATTACK_BUSY)) {
+ write("Du hast dafuer momentan einfach nicht mehr die Puste.\n");
+ return 1;
+ }
+ this_player()->SetProp(P_ATTACK_BUSY, 1);
7. Mar 2011 Gloinson
diff --git a/doc/props/P_ATTRIBUTES b/doc/props/P_ATTRIBUTES
index 29da911..ed5dd1c 100644
--- a/doc/props/P_ATTRIBUTES
+++ b/doc/props/P_ATTRIBUTES
@@ -1,58 +1,79 @@
-NAME:
- P_ATTRIBUTES "attributes"
-DEFINIERT IN:
- /sys/living/attributes.h
+P_ATTRIBUTES
+************
-BESCHREIBUNG:
- Diese Property enthaelt ein Mapping mit den Attributen des
- Lebewesens. Die Schluessel kennzeichnen hierbei das jeweilige
- Attribut. Die verschiedenen Standardattribute findet man in
- /sys/living/attributes.h, welche derzeit folgende Moeglichkeiten
- bieten: - A_STR (Kraft)
- - A_INT (Intelligenz)
- - A_DEX (Geschick)
- - A_CON (Konstitution)
- Sie werden automatisch an verschiedenen Stellen in der MUDLib
- ausgewertet, zum Beispiel bestimmt A_INT die maximal moeglichen
- Konzentrationspunkte und A_CON die maximal moeglichen Lebenspunkte.
-BEMERKUNGEN:
- Keine echte Property, _query_attributes() und _set_attributes() sind
- in /std/living/attributes.c implementiert.
+NAME
+====
- Es bietet sich an, zum Erfragen der Attributwerte die Funktion
- QueryAttribute() zu nutzen, da es auch moegliche Offsets gibt,
- so beispielsweise ueber die Properties P_ATTRIBUTES_OFFSETS bzw.
- P_ATTRIBUTES_MODIFIER im Lebewesen selbst, oder auch ueber
- P_X_ATTR_MOD bzw. P_M_ATTR_MOD in Objekten im Lebewesen.
- Kurzfristige zeit- oder objektgebundene Attributveraenderungen
- koennen ueber die Property P_TIMED_ATTR_MOD realisiert werden.
+ P_ATTRIBUTES "attributes"
- Es gibt auch zahlreiche andere Dienstfunktionen fuer diesen sehr
- balancekritischen Bereich, siehe unten.
-BEISPIEL:
- Ein moegliches Ergebnis fuer einen frischen Level 1 Spieler waere:
- QueryProp(P_ATTRIBUTES);
- Ergebnis: (["int":1,"con":1,"str":1,"dex":1])
- Hinzu kommen eventuell moegliche Rassenboni, die mittels
- P_ATTRIBUTE_OFFSETS realisiert werden, Zwerge sind beispielsweise
- recht stark:
- QueryProp(P_ATTRIBUTES_OFFSETS);
- Ergebnis: (["int":1,"con":1,"str":1,"dex":3])
- Jetzt bekaeme man (sofern keine weiteren Offsets realisiert sind)
- mittels QueryAttribute() insgesamt:
- QueryAttribute(A_DEX);
- Ergebnis: 4
+DEFINIERT IN
+============
-SIEHE AUCH:
- QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
- SetAttribute(), SetRealAttribute(), UpdateAttributes(),
- SetTimedAttrModifier(), QueryTimedAttrModifier(),
- DeleteTimedAttrModifier(),
- P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,P_TIMED_ATTR_MOD,
- P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+ /sys/living/attributes.h
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt ein Mapping mit den Attributen des
+ Lebewesens. Die Schluessel kennzeichnen hierbei das jeweilige
+ Attribut. Die verschiedenen Standardattribute findet man in
+ /sys/living/attributes.h, welche derzeit folgende Moeglichkeiten
+ bieten: - A_STR (Kraft)
+ - A_INT (Intelligenz)
+ - A_DEX (Geschick)
+ - A_CON (Konstitution)
+ Sie werden automatisch an verschiedenen Stellen in der MUDLib
+ ausgewertet, zum Beispiel bestimmt A_INT die maximal moeglichen
+ Konzentrationspunkte und A_CON die maximal moeglichen Lebenspunkte.
+
+
+BEMERKUNGEN
+===========
+
+ Keine echte Property, _query_attributes() und _set_attributes() sind
+ in /std/living/attributes.c implementiert.
+
+ Es bietet sich an, zum Erfragen der Attributwerte die Funktion
+ QueryAttribute() zu nutzen, da es auch moegliche Offsets gibt,
+ so beispielsweise ueber die Properties P_ATTRIBUTES_OFFSETS bzw.
+ P_ATTRIBUTES_MODIFIER im Lebewesen selbst, oder auch ueber
+ P_X_ATTR_MOD bzw. P_M_ATTR_MOD in Objekten im Lebewesen.
+ Kurzfristige zeit- oder objektgebundene Attributveraenderungen
+ koennen ueber die Property P_TIMED_ATTR_MOD realisiert werden.
+
+ Es gibt auch zahlreiche andere Dienstfunktionen fuer diesen sehr
+ balancekritischen Bereich, siehe unten.
+
+
+BEISPIEL
+========
+
+ Ein moegliches Ergebnis fuer einen frischen Level 1 Spieler waere:
+ QueryProp(P_ATTRIBUTES);
+ Ergebnis: (["int":1,"con":1,"str":1,"dex":1])
+ Hinzu kommen eventuell moegliche Rassenboni, die mittels
+ P_ATTRIBUTE_OFFSETS realisiert werden, Zwerge sind beispielsweise
+ recht stark:
+ QueryProp(P_ATTRIBUTES_OFFSETS);
+ Ergebnis: (["int":1,"con":1,"str":1,"dex":3])
+ Jetzt bekaeme man (sofern keine weiteren Offsets realisiert sind)
+ mittels QueryAttribute() insgesamt:
+ QueryAttribute(A_DEX);
+ Ergebnis: 4
+
+
+SIEHE AUCH
+==========
+
+ QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+ SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+ SetTimedAttrModifier(), QueryTimedAttrModifier(),
+ DeleteTimedAttrModifier(),
+ P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,P_TIMED_ATTR_MOD,
+ P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
Last modified: Tue Jul 27 20:00:20 2004 by Muadib
diff --git a/doc/props/P_ATTRIBUTES_MODIFIER b/doc/props/P_ATTRIBUTES_MODIFIER
index f5ba513..ab9f24d 100644
--- a/doc/props/P_ATTRIBUTES_MODIFIER
+++ b/doc/props/P_ATTRIBUTES_MODIFIER
@@ -1,56 +1,78 @@
-NAME:
- P_ATTRIBUTES_MODIFIER "attributes_modifier"
-DEFINIERT IN:
- /sys/living/attributes.h
+P_ATTRIBUTES_MODIFIER
+*********************
-BESCHREIBUNG:
- In dieser Property werden Attribut-Modifikatoren gespeichert, die
- laengere Zeit wirksam sein sollen, tlw. auch ueber einen Reboot
- hinweg.
- Intern werden die Modifikatoren in einem Mapping der Form
- ([ Setzer-Key : ([ A_xy : Wert, ... ]) , ... ])
+NAME
+====
- gespeichert. Das Setzen folg hingegen in der Form
+ P_ATTRIBUTES_MODIFIER "attributes_modifier"
- spieler->SetProp(P_ATTRIBUTES_MODIFIER, ([ A_xy : Wert, ... ]));
- oder
- spieler->SetProp(P_ATTRIBUTES_MODIFIER, ({ Setzer-Key, ([ ... ]) }));
- Bei der ersten Variante wird hierbei der Filename des setzenden Objektes
- als Setzer-Key genommen.
- Es koennen also durchaus von mehreren Objekten Modifier gesetzt werden.
- Bekannte Modifier sind:
+DEFINIERT IN
+============
- #death Attribut-Abzug durch Todesfolgen (Mudlib)
- #drain Statabzug durch NPCs (Paracelsus)
- #frosch Staerken-Abzug bei Froeschen (Mudlib)
+ /sys/living/attributes.h
-BEMERKUNGEN:
- Keine echte Property, _query_attributes_modifier() und
- _set_attributes_modifier() sind in /std/living/attributes.c
- implementiert
- - SetProp/QueryProp nutzen!
- - Wenn ein Modifier nicht mehr gebracht wird, nicht die Attributswerte auf
- 0 setzen, sondern den ganzen Eintrag! also:
- SetProp(P_ATTRIBUTES_MODIFIER, ([]) );
- oder: SetProp(P_ATTRIBUTES_MODIFIER, 0 );
- aber nicht: SetProp(P_ATTRIBUTES_MODIFIER, ([A_STR:0]));
-BEISPIELE:
- // ein Bonus ... 'ende'-fest (muss also per uid gesichert werden)
- player->SetProp(P_ATTRIBUTES_MODIFIER,
- ({"g_klerus_segen", ([A_CON:5, A_INT:5])}));
- ...
- player->SetProp(P_ATTRIBUTES_MODIFIER, ({"g_klerus_segen", 0}));
+BESCHREIBUNG
+============
-SIEHE AUCH:
- QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
- SetAttribute(), SetRealAttribute(), UpdateAttributes(),
- SetTimedAttrModifier(), QueryTimedAttrModifier(),
- DeleteTimedAttrModifier(),
- P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
- P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
-----------------------------------------------------------------------------
+ In dieser Property werden Attribut-Modifikatoren gespeichert, die
+ laengere Zeit wirksam sein sollen, tlw. auch ueber einen Reboot
+ hinweg.
+ Intern werden die Modifikatoren in einem Mapping der Form
+
+ ([ Setzer-Key : ([ A_xy : Wert, ... ]) , ... ])
+
+ gespeichert. Das Setzen folg hingegen in der Form
+
+ spieler->SetProp(P_ATTRIBUTES_MODIFIER, ([ A_xy : Wert, ... ]));
+ oder
+ spieler->SetProp(P_ATTRIBUTES_MODIFIER, ({ Setzer-Key, ([ ... ]) }));
+
+ Bei der ersten Variante wird hierbei der Filename des setzenden Objektes
+ als Setzer-Key genommen.
+ Es koennen also durchaus von mehreren Objekten Modifier gesetzt werden.
+ Bekannte Modifier sind:
+
+ #death Attribut-Abzug durch Todesfolgen (Mudlib)
+ #drain Statabzug durch NPCs (Paracelsus)
+ #frosch Staerken-Abzug bei Froeschen (Mudlib)
+
+
+BEMERKUNGEN
+===========
+
+ Keine echte Property, _query_attributes_modifier() und
+ _set_attributes_modifier() sind in /std/living/attributes.c
+ implementiert
+ - SetProp/QueryProp nutzen!
+ - Wenn ein Modifier nicht mehr gebracht wird, nicht die Attributswerte auf
+ 0 setzen, sondern den ganzen Eintrag! also:
+ SetProp(P_ATTRIBUTES_MODIFIER, ([]) );
+ oder: SetProp(P_ATTRIBUTES_MODIFIER, 0 );
+ aber nicht: SetProp(P_ATTRIBUTES_MODIFIER, ([A_STR:0]));
+
+
+BEISPIELE
+=========
+
+ // ein Bonus ... 'ende'-fest (muss also per uid gesichert werden)
+ player->SetProp(P_ATTRIBUTES_MODIFIER,
+ ({"g_klerus_segen", ([A_CON:5, A_INT:5])}));
+ ...
+ player->SetProp(P_ATTRIBUTES_MODIFIER, ({"g_klerus_segen", 0}));
+
+
+SIEHE AUCH
+==========
+
+ QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+ SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+ SetTimedAttrModifier(), QueryTimedAttrModifier(),
+ DeleteTimedAttrModifier(),
+ P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
+ P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
Last modified: Tue Jul 27 20:00:20 2004 by Muadib
diff --git a/doc/props/P_ATTRIBUTES_OFFSETS b/doc/props/P_ATTRIBUTES_OFFSETS
index 3ebe2b7..dfcbb8c 100644
--- a/doc/props/P_ATTRIBUTES_OFFSETS
+++ b/doc/props/P_ATTRIBUTES_OFFSETS
@@ -1,27 +1,46 @@
-NAME:
- P_ATTRIBUTES_OFFSETS "attributes_offsets"
-DEFINIERT IN:
- /sys/living/attributes.h
+P_ATTRIBUTES_OFFSETS
+********************
-BESCHREIBUNG:
- Diese Property enthaelt ein Mapping mit Offsets, die zu den
- Attributen eine Lebewesens addiert werden. Diese koennen auch
- negativ sein! Realisiert werden damit beispielsweise Rassenboni.
- Es gibt noch weitere Moeglichkeiten, Attributoffsets anzugeben.
- Fuer weiteres siehe P_ATTRIBUTES.
-BEMKERUNGEN:
- Keine echte Property, _query_attributes_offsets() und
- _set_attributes_offsets() sind in /std/living/attributes.c
- implementiert.
+NAME
+====
-SIEHE AUCH:
- QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
- SetAttribute(), SetRealAttribute(), UpdateAttributes(),
- SetTimedAttrModifier(), QueryTimedAttrModifier(),
- DeleteTimedAttrModifier(),
- P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
- P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
-----------------------------------------------------------------------------
+ P_ATTRIBUTES_OFFSETS "attributes_offsets"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/attributes.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt ein Mapping mit Offsets, die zu den
+ Attributen eine Lebewesens addiert werden. Diese koennen auch
+ negativ sein! Realisiert werden damit beispielsweise Rassenboni.
+ Es gibt noch weitere Moeglichkeiten, Attributoffsets anzugeben.
+ Fuer weiteres siehe P_ATTRIBUTES.
+
+
+BEMKERUNGEN
+===========
+
+ Keine echte Property, _query_attributes_offsets() und
+ _set_attributes_offsets() sind in /std/living/attributes.c
+ implementiert.
+
+
+SIEHE AUCH
+==========
+
+ QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+ SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+ SetTimedAttrModifier(), QueryTimedAttrModifier(),
+ DeleteTimedAttrModifier(),
+ P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
+ P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
Last modified: Tue Jul 27 20:00:20 2004 by Muadib
diff --git a/doc/props/P_AUTH_INFO b/doc/props/P_AUTH_INFO
index 5ca65c5..953b519 100644
--- a/doc/props/P_AUTH_INFO
+++ b/doc/props/P_AUTH_INFO
@@ -1,8 +1,21 @@
-NAME:
- P_AUTH_INFO "auth_info"
-DEFINIERT IN:
- /sys/player.h
+P_AUTH_INFO
+***********
-BESCHREIBUNG:
- Username des Spielers, wenn bei ihm ein AUTHD laeuft
+
+NAME
+====
+
+ P_AUTH_INFO "auth_info"
+
+
+DEFINIERT IN
+============
+
+ /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+ Username des Spielers, wenn bei ihm ein AUTHD laeuft
diff --git a/doc/props/P_AUTOLOAD b/doc/props/P_AUTOLOAD
index 6ea69c9..5e623bb 100644
--- a/doc/props/P_AUTOLOAD
+++ b/doc/props/P_AUTOLOAD
@@ -1,15 +1,31 @@
-NAME:
- P_AUTOLOAD "autoload"
-DEFINIERT IN:
- /sys/player/base.h
+P_AUTOLOAD
+**********
-BESCHREIBUNG:
- Mapping mit der Menge der Autoloadobjekte und den zugeh.
- Properties.
-BEMERKUNGEN:
- Funktioniert momentan nicht. Die Methode wurde entfernt. Doku bleibt
- hier bis der Fall geklaert ist. (Stand 27.Aug 2006)
+NAME
+====
+
+ P_AUTOLOAD "autoload"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Mapping mit der Menge der Autoloadobjekte und den zugeh.
+ Properties.
+
+
+BEMERKUNGEN
+===========
+
+ Funktioniert momentan nicht. Die Methode wurde entfernt. Doku bleibt
+ hier bis der Fall geklaert ist. (Stand 27.Aug 2006)
27.Aug 2006 Gloinson
diff --git a/doc/props/P_AUTOLOADOBJ b/doc/props/P_AUTOLOADOBJ
index 32b433d..3184fff 100644
--- a/doc/props/P_AUTOLOADOBJ
+++ b/doc/props/P_AUTOLOADOBJ
@@ -1,119 +1,141 @@
-NAME:
- P_AUTOLOADOBJ "autoloadobj"
-DEFINIERT IN:
- /sys/player/base.h
-
-BESCHREIBUNG:
- Hiermit kann prinzipiell angegeben werden ob ein Objekt ueber das
- Ausloggen eines Spielers (Reboot/ende) behalten werden soll.
-
- Als Inhalt der Property koennen permanente Eigenschaften des Objektes
- angegeben werden.
- Beim Einloggen wird das Objekt neu erzeugt und P_AUTOLOADOBJ auf die
- gespeicherten Werte gesetzt. Die Werte muessen allerdings selbst
- verwaltet werden.
-
- Bitte geht nicht davon aus, dass es waehrend des Setzens/Abfragens dieser
- Prop einen this_player() oder ein this_interactive() geben muss.
- Speziell ist this_interactive() nicht == /secure/login!
- Ebenfalls muss das Objekt beim Setzen/Abfragen nicht in einem Spieler
- sein.
-
-BEMERKUNGEN:
- Autoloadobjekte werden beim Ausloggen nicht fallengelassen!
-
-BEISPIELE:
- ## Variante 1: simples Objekt, bleibt einfach nur erhalten,
- ## Variablen werden nicht gesichert ##
- void create() {
- ...
- SetProp(P_AUTOLOADOBJ,1);
- ...
- }
+P_AUTOLOADOBJ
+*************
- ## Variante 2: Speicherung mehrerer Variablen ueber
- ## P_AUTOLOADOBJ (elegante Verwaltung)
+NAME
+====
- // ein paar #defines fuer die Plaetze in der Speichervariablen
- #define MY_AL_SHORT 0
- #define MY_AL_ATTRM 1
- #define MY_AL_OWNER 2
- #define MY_AL_DESTRUCT 3
-
- // die Variablen, die erhalten bleiben sollen
- static object owner;
- static int destruct_time;
-
- // diese hier wird gerufen, wenn der Spieler gespeichert wird,
- // wir packen also alle aktuellen Variablen in eine und geben die
- // zum Speichern heraus ... wir nehmen hier ein Array (statt
- // zB eines Mappings), weil das am wenigsten Platz braucht
- static mixed* _query_autoloadobj() {
- mixed *ret;
- ret=allocate(4);
- ret[MY_AL_SHORT] = QueryProp(P_SHORT); // SHORT merken
- ret[MY_AL_ATTRM] = QueryProp(P_M_ATTR_MOD); // einen Modifikator merken
- ret[MY_AL_OWNER] = getuid(owner); // ah, ein Besitzer!
- ret[MY_AL_DESTRUCT]=destruct_time-time(); // und eine Lebensdauer!
-
- return ret;
-
- /*
- // normalerweise wuerde man das einfach so schreiben:
- return (({QueryProp(P_SHORT),
- QueryProp(P_M_ATTR_MOD),
- getuid(owner),
- destruct_time-time()}));
- */
- }
-
- // diese hier wird gerufen, wenn das Objekt neu im Spieler
- // erzeugt wurde (Login), also packen wir das Speicherarray wieder
- // aus und in alle entsprechenden Variablen
- static mixed* _set_autoloadobj(mixed *new) {
- // wenn das Format nicht mit dem oben uebereinstimmt ist was
- // schiefgelaufen
- if(pointerp(new) && !owner && sizeof(new)>4 &&
- (owner=find_player(new[MY_AL_OWNER]))) {
- // los, zuweisen!
-
- SetProp(P_SHORT, new[MY_AL_SHORT]);
- SetProp(P_M_ATTR_MOD, new[MY_AL_ATTRM]);
- destruct_time= time()+new[MY_AL_DESTRUCT];
-
- call_out(#'remove,new[3]);
- } else call_out(#'remove,0);
-
- return new;
- }
+ P_AUTOLOADOBJ "autoloadobj"
- ## Variante 3: und das gleiche mit Set/Querymethoden ##
- // Prototypen fuer Set und Query-Methoden -> man Set
- static mixed *my_query_autoloadobj();
- static mixed *my_set_autoloadobj(mixed *new);
+DEFINIERT IN
+============
- void create() {
- // Binden der Methoden
- Set(P_AUTOLOADOBJ, #'my_query_autoloadobj, F_QUERY_METHOD);
- Set(P_AUTOLOADOBJ, #'my_set_autoloadobj, F_SET_METHOD);
+ /sys/player/base.h
- // die werden nur von mir veraendert!
- Set(P_AUTOLOADOBJ, PROTECTED, F_MODE_AS);
- ...
- }
- static mixed *my_query_autoloadobj () {
- // s.o.
- }
+BESCHREIBUNG
+============
- static mixed *my_set_autoloadobj (mixed *new) {
- // s.o.
- }
+ Hiermit kann prinzipiell angegeben werden ob ein Objekt ueber das
+ Ausloggen eines Spielers (Reboot/ende) behalten werden soll.
-SIEHE AUCH:
- P_AUTOLOAD, SetProp
+ Als Inhalt der Property koennen permanente Eigenschaften des Objektes
+ angegeben werden.
+ Beim Einloggen wird das Objekt neu erzeugt und P_AUTOLOADOBJ auf die
+ gespeicherten Werte gesetzt. Die Werte muessen allerdings selbst
+ verwaltet werden.
+
+ Bitte geht nicht davon aus, dass es waehrend des Setzens/Abfragens dieser
+ Prop einen this_player() oder ein this_interactive() geben muss.
+ Speziell ist this_interactive() nicht == /secure/login!
+ Ebenfalls muss das Objekt beim Setzen/Abfragen nicht in einem Spieler
+ sein.
+
+
+BEMERKUNGEN
+===========
+
+ Autoloadobjekte werden beim Ausloggen nicht fallengelassen!
+
+
+BEISPIELE
+=========
+
+ ## Variante 1: simples Objekt, bleibt einfach nur erhalten,
+ ## Variablen werden nicht gesichert ##
+ void create() {
+ ...
+ SetProp(P_AUTOLOADOBJ,1);
+ ...
+ }
+
+
+ ## Variante 2: Speicherung mehrerer Variablen ueber
+ ## P_AUTOLOADOBJ (elegante Verwaltung)
+
+ // ein paar #defines fuer die Plaetze in der Speichervariablen
+ #define MY_AL_SHORT 0
+ #define MY_AL_ATTRM 1
+ #define MY_AL_OWNER 2
+ #define MY_AL_DESTRUCT 3
+
+ // die Variablen, die erhalten bleiben sollen
+ static object owner;
+ static int destruct_time;
+
+ // diese hier wird gerufen, wenn der Spieler gespeichert wird,
+ // wir packen also alle aktuellen Variablen in eine und geben die
+ // zum Speichern heraus ... wir nehmen hier ein Array (statt
+ // zB eines Mappings), weil das am wenigsten Platz braucht
+ static mixed* _query_autoloadobj() {
+ mixed *ret;
+ ret=allocate(4);
+ ret[MY_AL_SHORT] = QueryProp(P_SHORT); // SHORT merken
+ ret[MY_AL_ATTRM] = QueryProp(P_M_ATTR_MOD); // einen Modifikator merken
+ ret[MY_AL_OWNER] = getuid(owner); // ah, ein Besitzer!
+ ret[MY_AL_DESTRUCT]=destruct_time-time(); // und eine Lebensdauer!
+
+ return ret;
+
+ /*
+ // normalerweise wuerde man das einfach so schreiben:
+ return (({QueryProp(P_SHORT),
+ QueryProp(P_M_ATTR_MOD),
+ getuid(owner),
+ destruct_time-time()}));
+ */
+ }
+
+ // diese hier wird gerufen, wenn das Objekt neu im Spieler
+ // erzeugt wurde (Login), also packen wir das Speicherarray wieder
+ // aus und in alle entsprechenden Variablen
+ static mixed* _set_autoloadobj(mixed *new) {
+ // wenn das Format nicht mit dem oben uebereinstimmt ist was
+ // schiefgelaufen
+ if(pointerp(new) && !owner && sizeof(new)>4 &&
+ (owner=find_player(new[MY_AL_OWNER]))) {
+ // los, zuweisen!
+
+ SetProp(P_SHORT, new[MY_AL_SHORT]);
+ SetProp(P_M_ATTR_MOD, new[MY_AL_ATTRM]);
+ destruct_time= time()+new[MY_AL_DESTRUCT];
+
+ call_out(#'remove,new[3]);
+ } else call_out(#'remove,0);
+
+ return new;
+ }
+
+
+ ## Variante 3: und das gleiche mit Set/Querymethoden ##
+ // Prototypen fuer Set und Query-Methoden -> man Set
+ static mixed *my_query_autoloadobj();
+ static mixed *my_set_autoloadobj(mixed *new);
+
+ void create() {
+ // Binden der Methoden
+ Set(P_AUTOLOADOBJ, #'my_query_autoloadobj, F_QUERY_METHOD);
+ Set(P_AUTOLOADOBJ, #'my_set_autoloadobj, F_SET_METHOD);
+
+ // die werden nur von mir veraendert!
+ Set(P_AUTOLOADOBJ, PROTECTED, F_MODE_AS);
+ ...
+ }
+
+ static mixed *my_query_autoloadobj () {
+ // s.o.
+ }
+
+ static mixed *my_set_autoloadobj (mixed *new) {
+ // s.o.
+ }
+
+
+SIEHE AUCH
+==========
+
+ P_AUTOLOAD, SetProp
24.Aug.2006 Gloinson@MG
diff --git a/doc/props/P_AVATAR_URI b/doc/props/P_AVATAR_URI
index 3275399..0a2437c 100644
--- a/doc/props/P_AVATAR_URI
+++ b/doc/props/P_AVATAR_URI
@@ -1,22 +1,44 @@
-NAME:
- P_AVATAR_URI "p_lib_avataruri"
-DEFINIERT IN:
- /sys/living/description.h
+P_AVATAR_URI
+************
-BESCHREIBUNG:
- Lebewesen speichern in der Prop P_AVATAR_URI eine URI (string), welche auf
- ein Bild im Netz verweist, welches ein Client fuer dieses Lebewesen
- anzeigen kann.
- Spieler koennen diese Avatar-URI mit dem Befehl 'avatar' anzeigen,
- aendern und loeschen.
- Avatar-URIs anderer Spieler lassen sich mit 'finger -a' ausgeben.
-BEMERKUNGEN:
- Diese Property kann nur vom Spieler oder einem EM modifiziert werden.
+NAME
+====
-SIEHE AUCH:
- avatar
+ P_AVATAR_URI "p_lib_avataruri"
-LETZTER AENDERUNG:
- 03.9.2011, Zesstra
+
+DEFINIERT IN
+============
+
+ /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+ Lebewesen speichern in der Prop P_AVATAR_URI eine URI (string), welche auf
+ ein Bild im Netz verweist, welches ein Client fuer dieses Lebewesen
+ anzeigen kann.
+ Spieler koennen diese Avatar-URI mit dem Befehl 'avatar' anzeigen,
+ aendern und loeschen.
+ Avatar-URIs anderer Spieler lassen sich mit 'finger -a' ausgeben.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property kann nur vom Spieler oder einem EM modifiziert werden.
+
+
+SIEHE AUCH
+==========
+
+ avatar
+
+
+LETZTER AENDERUNG
+=================
+
+ 03.9.2011, Zesstra
diff --git a/doc/props/P_AVERAGE_SIZE b/doc/props/P_AVERAGE_SIZE
index 4a61208..155528f 100644
--- a/doc/props/P_AVERAGE_SIZE
+++ b/doc/props/P_AVERAGE_SIZE
@@ -1,8 +1,21 @@
-NAME:
- P_AVERAGE_SIZE "average_size"
-DEFINIERT IN:
- /sys/player/description.h
+P_AVERAGE_SIZE
+**************
-BESCHREIBUNG:
- Durchschnittliche Groesse eines Wesens dieser Rasse (derzeit nur Player)
+
+NAME
+====
+
+ P_AVERAGE_SIZE "average_size"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+ Durchschnittliche Groesse eines Wesens dieser Rasse (derzeit nur Player)
diff --git a/doc/props/P_AVERAGE_WEIGHT b/doc/props/P_AVERAGE_WEIGHT
index 18557cc..d71c53b 100644
--- a/doc/props/P_AVERAGE_WEIGHT
+++ b/doc/props/P_AVERAGE_WEIGHT
@@ -1,8 +1,21 @@
-NAME:
- P_AVERAGE_WEIGHT "average_weight"
-DEFINIERT IN:
- /sys/player/description.h
+P_AVERAGE_WEIGHT
+****************
-BESCHREIBUNG:
- Durchschnittliche Gewicht eines Wesens dieser Rasse (derzeit nur Player)
+
+NAME
+====
+
+ P_AVERAGE_WEIGHT "average_weight"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+ Durchschnittliche Gewicht eines Wesens dieser Rasse (derzeit nur Player)
diff --git a/doc/props/P_AWAY b/doc/props/P_AWAY
index ba2c938..5678440 100644
--- a/doc/props/P_AWAY
+++ b/doc/props/P_AWAY
@@ -1,8 +1,21 @@
-NAME:
- P_AWAY "away"
-DEFINIERT IN:
- /sys/properties.h
+P_AWAY
+******
-BESCHREIBUNG:
- String der ausgegeben wird, wenn man weg ist und eine Mitteilung bekommt.
+
+NAME
+====
+
+ P_AWAY "away"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ String der ausgegeben wird, wenn man weg ist und eine Mitteilung bekommt.
diff --git a/doc/props/P_BAD_MSG b/doc/props/P_BAD_MSG
index e067f2a..7015a9c 100644
--- a/doc/props/P_BAD_MSG
+++ b/doc/props/P_BAD_MSG
@@ -1,27 +1,48 @@
-NAME:
- P_BAD_MSG "std_food_bad_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_BAD_MSG
+*********
-BESCHREIBUNG:
- Meldung, wenn eine Speise gerade verdirbt.
- Befindet sich die Speise in einem Spieler, geht die Meldung an genau
- diesen, liegt die Speise im Raum, geht die Meldung an alle anwesenden
- Spieler.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "@WER1 verdirbt."
-SIEHE AUCH:
- P_LIFETIME, P_RESET_LIFETIME, P_NO_BAD,
- wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_BAD_MSG "std_food_bad_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung, wenn eine Speise gerade verdirbt.
+ Befindet sich die Speise in einem Spieler, geht die Meldung an genau
+ diesen, liegt die Speise im Raum, geht die Meldung an alle anwesenden
+ Spieler.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "@WER1 verdirbt."
+
+
+SIEHE AUCH
+==========
+
+ P_LIFETIME, P_RESET_LIFETIME, P_NO_BAD,
+ wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_BLIND b/doc/props/P_BLIND
index a80814b..da86624 100644
--- a/doc/props/P_BLIND
+++ b/doc/props/P_BLIND
@@ -1,35 +1,56 @@
-NAME:
- P_BLIND "blind"
-DEFINIERT IN:
- /sys/player/viewcmd.h
+P_BLIND
+*******
-BESCHREIBUNG:
- 1, wenn der Spieler blind ist und nichts mehr sehen kann.
- Wird von CannotSee() bei 'schau' und Betreten von Raeumen
- u.ae. ausgewertet.
+NAME
+====
- P_BLIND kann auch auf einen String gesetzt werden, der
- dann statt des 'Du bist blind' ausgegeben wird.
+ P_BLIND "blind"
-BEISPIELE:
- this_player()->SetProp(P_BLIND,1);
+DEFINIERT IN
+============
- this_player()->SetProp(P_BLIND,"Du hast Dir vorhin so schoen die "
- +"Augen ausgekratzt ... deswegen "
- +"siehst Du nun nichts mehr.\n");
-BEMERKUNGEN:
- Um herauszufinden, ob ein Spieler etwas sehen kann oder nicht,
- sollte man lieber if(this_player()->CannotSee() != 0) pruefen
- statt if(this_player()->QueryProp(P_BLIND)).
+ /sys/player/viewcmd.h
- Denn CannotSee() beruecksichtigt auch Nachtsicht (bzw. hier
- eine nicht aktivierte) und die Lichtmodifikatoren.
-SIEHE AUCH:
- P_LIGHT_MODIFIER, P_PLAYER_LIGHT, CannotSee
+BESCHREIBUNG
+============
-----------------------------------------------------------------------------
+ 1, wenn der Spieler blind ist und nichts mehr sehen kann.
+
+ Wird von CannotSee() bei 'schau' und Betreten von Raeumen
+ u.ae. ausgewertet.
+
+ P_BLIND kann auch auf einen String gesetzt werden, der
+ dann statt des 'Du bist blind' ausgegeben wird.
+
+
+BEISPIELE
+=========
+
+ this_player()->SetProp(P_BLIND,1);
+
+ this_player()->SetProp(P_BLIND,"Du hast Dir vorhin so schoen die "
+ +"Augen ausgekratzt ... deswegen "
+ +"siehst Du nun nichts mehr.\n");
+
+
+BEMERKUNGEN
+===========
+
+ Um herauszufinden, ob ein Spieler etwas sehen kann oder nicht,
+ sollte man lieber if(this_player()->CannotSee() != 0) pruefen
+ statt if(this_player()->QueryProp(P_BLIND)).
+
+ Denn CannotSee() beruecksichtigt auch Nachtsicht (bzw. hier
+ eine nicht aktivierte) und die Lichtmodifikatoren.
+
+
+SIEHE AUCH
+==========
+
+ P_LIGHT_MODIFIER, P_PLAYER_LIGHT, CannotSee
+
Letzte Aenderung: Sa 02.11.02, 00:30:00 Uhr, von Tilly
diff --git a/doc/props/P_BODY b/doc/props/P_BODY
index 7d04581..5871adb 100644
--- a/doc/props/P_BODY
+++ b/doc/props/P_BODY
@@ -1,9 +1,22 @@
-NAME:
- P_BODY "body"
-DEFINIERT IN:
- /sys/properties.h
+P_BODY
+******
-BESCHREIBUNG:
- Numerischer Wert fuer die Abwehrstaerke des blanken Koerpers
- des Wesens.
+
+NAME
+====
+
+ P_BODY "body"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert fuer die Abwehrstaerke des blanken Koerpers
+ des Wesens.
diff --git a/doc/props/P_BRIEF b/doc/props/P_BRIEF
index 33ef486..f6d3769 100644
--- a/doc/props/P_BRIEF
+++ b/doc/props/P_BRIEF
@@ -1,8 +1,21 @@
-NAME:
- P_BRIEF "brief"
-DEFINIERT IN:
- /sys/player/viewcmd.h
+P_BRIEF
+*******
-BESCHREIBUNG:
- Ist gesetzt, wenn der Spieler nur die Kurzbeschreibung sehen will.
+
+NAME
+====
+
+ P_BRIEF "brief"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/viewcmd.h
+
+
+BESCHREIBUNG
+============
+
+ Ist gesetzt, wenn der Spieler nur die Kurzbeschreibung sehen will.
diff --git a/doc/props/P_BUFFER b/doc/props/P_BUFFER
index 268f719..699f91c 100644
--- a/doc/props/P_BUFFER
+++ b/doc/props/P_BUFFER
@@ -1,9 +1,21 @@
-NAME:
- P_BUFFER "buffer"
-DEFINIERT IN:
- /sys/player/comm.h
+P_BUFFER
+********
-BESCHREIBUNG:
- Zeigt an, ob der Kobold des Spielers aktiv oder nicht aktiv ist.
+NAME
+====
+
+ P_BUFFER "buffer"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+ Zeigt an, ob der Kobold des Spielers aktiv oder nicht aktiv ist.
diff --git a/doc/props/P_BUY_ONLY_PLANTS b/doc/props/P_BUY_ONLY_PLANTS
index 46747c4..0d15a94 100644
--- a/doc/props/P_BUY_ONLY_PLANTS
+++ b/doc/props/P_BUY_ONLY_PLANTS
@@ -1,15 +1,31 @@
-NAME:
- P_BUY_ONLY_PLANTS "lib_p_buy_only_plants"
-DEFINIERT IN:
- /sys/room/description.h
+P_BUY_ONLY_PLANTS
+*****************
-BESCHREIBUNG:
- Diese Property kann auf 1 gesetzt werden, wenn ein Laden nur Kraeuter
- ankaufen darf. Hierzu muss /std/room/kraeuterladen.c geerbt werden,
- da nur dieses Objekt die Property beruecksichtigt.
-SIEHE AUCH:
- /std/room/kraeuterladen.c
-----------------------------------------------------------------------------
-Last modified: 02.04.2015 Arathorn
+NAME
+====
+
+ P_BUY_ONLY_PLANTS "lib_p_buy_only_plants"
+
+
+DEFINIERT IN
+============
+
+ /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property kann auf 1 gesetzt werden, wenn ein Laden nur Kraeuter
+ ankaufen darf. Hierzu muss /std/room/kraeuterladen.c geerbt werden,
+ da nur dieses Objekt die Property beruecksichtigt.
+
+
+SIEHE AUCH
+==========
+
+ /std/room/kraeuterladen.c
+
+Last modified: 02.04.2015 Arathorn
diff --git a/doc/props/P_CALLED_FROM_IP b/doc/props/P_CALLED_FROM_IP
index d9427d2..306241c 100644
--- a/doc/props/P_CALLED_FROM_IP
+++ b/doc/props/P_CALLED_FROM_IP
@@ -1,8 +1,21 @@
-NAME:
- P_CALLED_FROM_IP "called_from_ip"
-DEFINIERT IN:
- /sys/properties.h
+P_CALLED_FROM_IP
+****************
-BESCHREIBUNG:
- Letzte IP-Adr, von der aus sich der Spieler eingeloggt hat.
+
+NAME
+====
+
+ P_CALLED_FROM_IP "called_from_ip"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Letzte IP-Adr, von der aus sich der Spieler eingeloggt hat.
diff --git a/doc/props/P_CAN_FLAGS b/doc/props/P_CAN_FLAGS
index ba3eb2a..06afe76 100644
--- a/doc/props/P_CAN_FLAGS
+++ b/doc/props/P_CAN_FLAGS
@@ -1,9 +1,22 @@
-NAME:
- P_CAN_FLAGS "can_flags"
-DEFINIERT IN:
- /sys/player/can.h
+P_CAN_FLAGS
+***********
-BESCHREIBUNG:
- Flags die bestimmte Befehle freischalten:
- CAN_EMOTE, CAN_ECHO, CAN_REMOTE, CAN_PRESAY
+
+NAME
+====
+
+ P_CAN_FLAGS "can_flags"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/can.h
+
+
+BESCHREIBUNG
+============
+
+ Flags die bestimmte Befehle freischalten:
+ CAN_EMOTE, CAN_ECHO, CAN_REMOTE, CAN_PRESAY
diff --git a/doc/props/P_CAP_NAME b/doc/props/P_CAP_NAME
index 7fbe408..0069948 100644
--- a/doc/props/P_CAP_NAME
+++ b/doc/props/P_CAP_NAME
@@ -1,9 +1,22 @@
-NAME:
- P_CAP_NAME "cap_name"
-DEFINIERT IN:
- /sys/properties.h
+P_CAP_NAME
+**********
-BESCHREIBUNG:
- Name des Spielers, der dekliniert und ausgegen wird.
- NOT YET IMPLEMENTED.
+
+NAME
+====
+
+ P_CAP_NAME "cap_name"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Name des Spielers, der dekliniert und ausgegen wird.
+ NOT YET IMPLEMENTED.
diff --git a/doc/props/P_CARRIED_VALUE b/doc/props/P_CARRIED_VALUE
index 7df9b63..8792664 100644
--- a/doc/props/P_CARRIED_VALUE
+++ b/doc/props/P_CARRIED_VALUE
@@ -1,8 +1,21 @@
-NAME:
- P_CARRIED_VALUE "carried"
-DEFINIERT IN:
- /sys/player/base.h
+P_CARRIED_VALUE
+***************
-BESCHREIBUNG:
- Entschaedigung, die der Spieler beim Einloggen erhaelt.
+
+NAME
+====
+
+ P_CARRIED_VALUE "carried"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Entschaedigung, die der Spieler beim Einloggen erhaelt.
diff --git a/doc/props/P_CHATS b/doc/props/P_CHATS
index 633cdea..51e1a5e 100644
--- a/doc/props/P_CHATS
+++ b/doc/props/P_CHATS
@@ -1,8 +1,21 @@
-NAME:
- P_CHATS "chats"
-DEFINIERT IN:
- /sys/properties.h
+P_CHATS
+*******
-BESCHREIBUNG:
- Alist mit Strings, die das Monster zufaellig ausgibt.
+
+NAME
+====
+
+ P_CHATS "chats"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Alist mit Strings, die das Monster zufaellig ausgibt.
diff --git a/doc/props/P_CHAT_CHANCE b/doc/props/P_CHAT_CHANCE
index b6acf08..bd032bf 100644
--- a/doc/props/P_CHAT_CHANCE
+++ b/doc/props/P_CHAT_CHANCE
@@ -1,8 +1,21 @@
-NAME:
- P_CHAT_CHANCE "chat_chance"
-DEFINIERT IN:
- /sys/properties.h
+P_CHAT_CHANCE
+*************
-BESCHREIBUNG:
- Wahrscheinlichkeit, mit der die Chats ausgegeben werden.
+
+NAME
+====
+
+ P_CHAT_CHANCE "chat_chance"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wahrscheinlichkeit, mit der die Chats ausgegeben werden.
diff --git a/doc/props/P_CLASS b/doc/props/P_CLASS
index e074394..80017cc 100644
--- a/doc/props/P_CLASS
+++ b/doc/props/P_CLASS
@@ -1,19 +1,33 @@
+
P_CLASS
-NAME:
- P_CLASS "class"
+*******
-DEFINIERT IN:
- <thing/description.h>
-BESCHREIBUNG:
- Die Klassifizierung eines Objektes, soweit sie nicht schon ueber die
- Rasse oder die IDs des Objektes erfolgt ist. Zum Setzen dieser Property
- sollte man AddClass() benutzen, zur Klassenabfrage steht
- is_class_member() zur Verfuegung.
- Die moeglichen Klassen findet man in /sys/class.h
+NAME
+====
-SIEHE AUCH:
- AddClass(), RemoveClass(), is_class_member()
+ P_CLASS "class"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ <thing/description.h>
+
+
+BESCHREIBUNG
+============
+
+ Die Klassifizierung eines Objektes, soweit sie nicht schon ueber die
+ Rasse oder die IDs des Objektes erfolgt ist. Zum Setzen dieser Property
+ sollte man AddClass() benutzen, zur Klassenabfrage steht
+ is_class_member() zur Verfuegung.
+ Die moeglichen Klassen findet man in /sys/class.h
+
+
+SIEHE AUCH
+==========
+
+ AddClass(), RemoveClass(), is_class_member()
+
Last modified: Sun May 19 20:30:09 1996 by Wargon
diff --git a/doc/props/P_CLOCKMSG b/doc/props/P_CLOCKMSG
index 8b72d68..6f85b56 100644
--- a/doc/props/P_CLOCKMSG
+++ b/doc/props/P_CLOCKMSG
@@ -1,8 +1,21 @@
-NAME:
- P_CLOCKMSG "clockmsg"
-DEFINIERT IN:
- /sys/properties.h
+P_CLOCKMSG
+**********
-BESCHREIBUNG:
- Die Meldung wird zur vollen Stunde ausgegeben
+
+NAME
+====
+
+ P_CLOCKMSG "clockmsg"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Die Meldung wird zur vollen Stunde ausgegeben
diff --git a/doc/props/P_CLONER b/doc/props/P_CLONER
index 659b614..75e9d02 100644
--- a/doc/props/P_CLONER
+++ b/doc/props/P_CLONER
@@ -1,12 +1,28 @@
-NAME:
- P_CLONER "cloner"
-DEFINIERT IN:
- /sys/properties.h
+P_CLONER
+********
-BESCHREIBUNG:
- Enthaelt einen String mit dem Namen desjenigen, der das Objekt gecloned
- hat.
-SIEHE AUCH:
- P_CLONE_TIME
+NAME
+====
+
+ P_CLONER "cloner"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt einen String mit dem Namen desjenigen, der das Objekt gecloned
+ hat.
+
+
+SIEHE AUCH
+==========
+
+ P_CLONE_TIME
diff --git a/doc/props/P_CLONE_MSG b/doc/props/P_CLONE_MSG
index d9c96a2..d16f42e 100644
--- a/doc/props/P_CLONE_MSG
+++ b/doc/props/P_CLONE_MSG
@@ -1,8 +1,21 @@
-NAME:
- P_CLONE_MSG "clone_msg"
-DEFINIERT IN:
- /sys/player/base.h
+P_CLONE_MSG
+***********
-BESCHREIBUNG:
- Meldung, die beim Clonen eines Obj ausgegegen wird (nur Magier)
+
+NAME
+====
+
+ P_CLONE_MSG "clone_msg"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Meldung, die beim Clonen eines Obj ausgegegen wird (nur Magier)
diff --git a/doc/props/P_CLONE_TIME b/doc/props/P_CLONE_TIME
index a904846..fb7c3e5 100644
--- a/doc/props/P_CLONE_TIME
+++ b/doc/props/P_CLONE_TIME
@@ -1,14 +1,30 @@
-NAME:
- P_CLONE_TIME "clone_time"
-DEFINIERT IN:
- /sys/thing/description.h
+P_CLONE_TIME
+************
-BESCHREIBUNG:
- Enthaelt die Clone-Time eines Objektes.
- Heutzutage obsolet, bitte stattdessen lieber die Efun object_time()
- benutzen.
-SIEHE AUCH:
- Verwandt: object_time(E)
- Aehnlich: program_time(E)
+NAME
+====
+
+ P_CLONE_TIME "clone_time"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt die Clone-Time eines Objektes.
+ Heutzutage obsolet, bitte stattdessen lieber die Efun object_time()
+ benutzen.
+
+
+SIEHE AUCH
+==========
+
+ Verwandt: object_time(E)
+ Aehnlich: program_time(E)
diff --git a/doc/props/P_CLOTHING b/doc/props/P_CLOTHING
index 793f098..3458058 100644
--- a/doc/props/P_CLOTHING
+++ b/doc/props/P_CLOTHING
@@ -1,22 +1,42 @@
+
+P_CLOTHING
+**********
+
+
P_CLOTHINGS
+===========
-NAME:
- P_CLOTHING "std:clothing"
-DEFINIERT IN:
- <living/clothing.h>
+NAME
+====
-BESCHREIBUNG:
- Array mit der getragenen nicht-schuetzenden Kleidung des Lebewesen.
-
- Falls ihr die Kleidung des Lebewesens, ggf. mit bestimten Kriterien,
- ermitteln wollt, benutzt hierfuer bitte die Funktion FilterClothing()
- statt selber ueber dieses Array zu laufen.
+ P_CLOTHING "std:clothing"
- Diese Property kann nur vom Lebewesen selber beschrieben werden.
-
-SIEHE AUCH:
- Verwandt: QueryArmourByType(L), FilterClothing(), FilterArmours()
- Wear(), Unwear(), P_ARMOURS
+
+DEFINIERT IN
+============
+
+ <living/clothing.h>
+
+
+BESCHREIBUNG
+============
+
+ Array mit der getragenen nicht-schuetzenden Kleidung des Lebewesen.
+
+
+
+ Falls ihr die Kleidung des Lebewesens, ggf. mit bestimten Kriterien,
+ ermitteln wollt, benutzt hierfuer bitte die Funktion FilterClothing()
+ statt selber ueber dieses Array zu laufen.
+
+ Diese Property kann nur vom Lebewesen selber beschrieben werden.
+
+
+SIEHE AUCH
+==========
+
+ Verwandt: QueryArmourByType(L), FilterClothing(), FilterArmours()
+ Wear(), Unwear(), P_ARMOURS
14.03.2009, Zesstra
diff --git a/doc/props/P_CMSG b/doc/props/P_CMSG
index 9001722..e38f085 100644
--- a/doc/props/P_CMSG
+++ b/doc/props/P_CMSG
@@ -1,8 +1,21 @@
-NAME:
- P_CMSG "clonemsg"
-DEFINIERT IN:
- /sys/player/base.h
+P_CMSG
+******
-BESCHREIBUNG:
- *** OBSOLET! *** Siehe P_CLONE_MSG
+
+NAME
+====
+
+ P_CMSG "clonemsg"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ *** OBSOLET! *** Siehe P_CLONE_MSG
diff --git a/doc/props/P_CNT_STATUS b/doc/props/P_CNT_STATUS
index cd92324..5bcc584 100644
--- a/doc/props/P_CNT_STATUS
+++ b/doc/props/P_CNT_STATUS
@@ -1,9 +1,22 @@
-NAME:
- P_CNT_STATUS "cnt_status"
-DEFINIERT IN:
- /sys/container.h
+P_CNT_STATUS
+************
-BESCHREIBUNG:
- Status des Containers (offen, geschlossen, abgeschlossen)
- siehe auch /sys/container.h
+
+NAME
+====
+
+ P_CNT_STATUS "cnt_status"
+
+
+DEFINIERT IN
+============
+
+ /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+ Status des Containers (offen, geschlossen, abgeschlossen)
+ siehe auch /sys/container.h
diff --git a/doc/props/P_COMBATCMDS b/doc/props/P_COMBATCMDS
index c29a65f..e82336a 100644
--- a/doc/props/P_COMBATCMDS
+++ b/doc/props/P_COMBATCMDS
@@ -1,31 +1,44 @@
-NAME:
- P_COMBATCMDS "combatcmds"
-DEFINIERT IN:
- /sys/properties.h
+P_COMBATCMDS
+************
-BESCHREIBUNG:
- Fuer den Kampf gebrauchbare Befehle spezieller Objekte (damit auch
- Monster sie automatisch richtig anwenden koennen)
- Der Inhalt von P_COMBATCMDS ist ein Mapping, der Key ist das Kommando,
- um den Gegenstand zu benutzen (also z.B. "wirf flammenkugel"), und der
- Value ein weiteres Mapping mit Zusatzinfos (definiert in /sys/combat.h).
- Folgende Keys sind definiert:
- - C_MIN, C_AVG, C_MAX:
- minimaler, mittlerer und maximaler Schaden, den das
- Objekt macht. Alle Angaben in LEBENSPUNKTEN, d.h. Defend-Einheiten/10.
- Bei einem Aufruf wie 'enemy->Defend(200+random(200), ...)' ist dann
- C_MIN=20, C_AVG=30, C_MAX=40.
- - C_DTYPES:
- Array mit dem Schadenstyp oder den Schadenstypen. Beim Eisstab
- wuerde der Eintrag dann 'C_DTYPES:({DT_COLD})' lauten.
- - C_HEAL:
- Sollte das Kampfobjekt ueber die Moeglichkeit verfuegen, den Anwender
- irgendwie zu heilen, so wird hier die Heilung in LP/MP eingetragen.
- Das funktioniert auch bei Objekten, die nur heilen, also sonst
- nichts mit Kampf zu tun haben.
- Im Lupinental z.B. gibt es Pfirsiche, die beim Essen 5LP heilen. Da
- kann man dann 'SetProp(P_COMBATCMDS, (["iss pfirsich":([C_HEAL:5])]))'
- eintragen.
- Es sind auch mehrere Kommandos moeglich, z.B. bei Objekten, die sowohl
- heilen als auch Kampfwirkung haben.
+
+NAME
+====
+
+ P_COMBATCMDS "combatcmds"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Fuer den Kampf gebrauchbare Befehle spezieller Objekte (damit auch
+ Monster sie automatisch richtig anwenden koennen)
+ Der Inhalt von P_COMBATCMDS ist ein Mapping, der Key ist das Kommando,
+ um den Gegenstand zu benutzen (also z.B. "wirf flammenkugel"), und der
+ Value ein weiteres Mapping mit Zusatzinfos (definiert in /sys/combat.h).
+ Folgende Keys sind definiert:
+ - C_MIN, C_AVG, C_MAX:
+ minimaler, mittlerer und maximaler Schaden, den das
+ Objekt macht. Alle Angaben in LEBENSPUNKTEN, d.h. Defend-Einheiten/10.
+ Bei einem Aufruf wie 'enemy->Defend(200+random(200), ...)' ist dann
+ C_MIN=20, C_AVG=30, C_MAX=40.
+ - C_DTYPES:
+ Array mit dem Schadenstyp oder den Schadenstypen. Beim Eisstab
+ wuerde der Eintrag dann 'C_DTYPES:({DT_COLD})' lauten.
+ - C_HEAL:
+ Sollte das Kampfobjekt ueber die Moeglichkeit verfuegen, den Anwender
+ irgendwie zu heilen, so wird hier die Heilung in LP/MP eingetragen.
+ Das funktioniert auch bei Objekten, die nur heilen, also sonst
+ nichts mit Kampf zu tun haben.
+ Im Lupinental z.B. gibt es Pfirsiche, die beim Essen 5LP heilen. Da
+ kann man dann 'SetProp(P_COMBATCMDS, (["iss pfirsich":([C_HEAL:5])]))'
+ eintragen.
+ Es sind auch mehrere Kommandos moeglich, z.B. bei Objekten, die sowohl
+ heilen als auch Kampfwirkung haben.
diff --git a/doc/props/P_COMMANDS b/doc/props/P_COMMANDS
index d0ff99b..5812b35 100644
--- a/doc/props/P_COMMANDS
+++ b/doc/props/P_COMMANDS
@@ -1,58 +1,76 @@
+
P_COMMANDS
-NAME:
- P_COMMANDS "commands"
+**********
-DEFINIERT IN:
- <thing/commands.h>
-BESCHREIBUNG:
- Diese Property enthaelt ein Mapping mit den Befehlen, die dem Objekt
- zugeordnet sind.
+NAME
+====
- Sie sollte nicht von Hand manipuliert werden, sondern nur ueber die
- Funktionen AddCmd() und RemoveCmd().
+ P_COMMANDS "commands"
- Das Mapping hat folgenden Aufbau:
- ([ befehl : ({funktion1,...});
- ({flag1,...});
- ({regel1,...});
- ({id1, ...}),
- ({closure auf fun1, ...}),
- ... ])
+DEFINIERT IN
+============
- Die Eintraege entsprechen den Parametern des AddCmd()-Aufrufs, sind
- aber in anderer Form. Als Beispiel:
+ <thing/commands.h>
- AddCmd(verb,fun1,1);
- AddCmd(verb+syn1a|syn1b&syn2a|syn2b|syn2c, fun2,
- error1_notify|error2_notify^error2_write);
- -->
- ([verb:
- ({fun1,fun2}); // funs
- ({1,({error1_notify, error2_write^error2_say, 1})}); // flags
- ({0,({({syn1a,syn1b}),({syn2a,syn2b,syn2c})})}); // rules
- 0; // IDs
- ({closure auf fun1, closure auf fun2}) ]) // Cache
- Funs: ({<fun1> ,...
- 'fun' kann sein: Closure
- String: Methodenname - wird etwas geprueft
- Objekt: wenn keine Methode, this_object() fuer
- intern, previous_object() fuer extern
- 0 (erloschenes externes Objekt)
- Rules: ({<Regelsatz fuer fun1>, ({<1. Synonymgruppe>,
- <2. Synonymgruppe, ...}), ...})
- Flags: ({<Flag fuer fun1>, ({<Fehlermeldung 1. Synonymgruppe>, ... ,
- [, Index fuer write anstatt notify_fail]}),
- ... })
- IDs: 0 oder ({<ID fuer fun1>}) oder ({0, <ID fuer fun2>}) ...
- Cache: ({<closure fuer fun1>, ...
+BESCHREIBUNG
+============
-BEMERKUNGEN:
- Cache-Closures sind bei Export immer genullt
+ Diese Property enthaelt ein Mapping mit den Befehlen, die dem Objekt
+ zugeordnet sind.
-SIEHE AUCH:
- /std/thing/commands.c, AddCmd(), RemoveCmd()
+ Sie sollte nicht von Hand manipuliert werden, sondern nur ueber die
+ Funktionen AddCmd() und RemoveCmd().
-16. Dez 2016 Gloinson
\ No newline at end of file
+ Das Mapping hat folgenden Aufbau:
+
+ ([ befehl : ({funktion1,...});
+ ({flag1,...});
+ ({regel1,...});
+ ({id1, ...}),
+ ({closure auf fun1, ...}),
+ ... ])
+
+ Die Eintraege entsprechen den Parametern des AddCmd()-Aufrufs, sind
+ aber in anderer Form. Als Beispiel:
+
+ AddCmd(verb,fun1,1);
+ AddCmd(verb+syn1a|syn1b&syn2a|syn2b|syn2c, fun2,
+ error1_notify|error2_notify^error2_write);
+ -->
+ ([verb:
+ ({fun1,fun2}); // funs
+ ({1,({error1_notify, error2_write^error2_say, 1})}); // flags
+ ({0,({({syn1a,syn1b}),({syn2a,syn2b,syn2c})})}); // rules
+ 0; // IDs
+ ({closure auf fun1, closure auf fun2}) ]) // Cache
+
+ Funs: ({<fun1> ,...
+ 'fun' kann sein: Closure
+ String: Methodenname - wird etwas geprueft
+ Objekt: wenn keine Methode, this_object() fuer
+ intern, previous_object() fuer extern
+ 0 (erloschenes externes Objekt)
+ Rules: ({<Regelsatz fuer fun1>, ({<1. Synonymgruppe>,
+ <2. Synonymgruppe, ...}), ...})
+ Flags: ({<Flag fuer fun1>, ({<Fehlermeldung 1. Synonymgruppe>, ... ,
+ [, Index fuer write anstatt notify_fail]}),
+ ... })
+ IDs: 0 oder ({<ID fuer fun1>}) oder ({0, <ID fuer fun2>}) ...
+ Cache: ({<closure fuer fun1>, ...
+
+
+BEMERKUNGEN
+===========
+
+ Cache-Closures sind bei Export immer genullt
+
+
+SIEHE AUCH
+==========
+
+ /std/thing/commands.c, AddCmd(), RemoveCmd()
+
+16. Dez 2016 Gloinson
diff --git a/doc/props/P_COMPILER_PATH b/doc/props/P_COMPILER_PATH
index ecd2743..e67d01f 100644
--- a/doc/props/P_COMPILER_PATH
+++ b/doc/props/P_COMPILER_PATH
@@ -1,21 +1,40 @@
-NAME:
- P_COMPILER_PATH "compiler_path"
-DEFINIERT IN:
- /sys/v_compiler.h
+P_COMPILER_PATH
+***************
-BESCHREIBUNG:
- Directory in dem ein Virtual Compiler Objekte erzeugt.
- Muss im virtual_compiler.c gesetzt werden.
- Der VirtualCompiler muss nicht zwingend in diesem Verzeichnis
- liegen, um zu funktionieren, sollte es aber, um die Zuordnung des VCs zu
- "seinen" Objekten zu erleichern.
+NAME
+====
-BEISPIEL:
- SetProp(P_COMPILER_PATH,"/d/region/magier/vc/");
+ P_COMPILER_PATH "compiler_path"
-SIEHE AUCH:
- P_STD_OBJECT, virtual_compiler
--------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/v_compiler.h
+
+
+BESCHREIBUNG
+============
+
+ Directory in dem ein Virtual Compiler Objekte erzeugt.
+ Muss im virtual_compiler.c gesetzt werden.
+
+ Der VirtualCompiler muss nicht zwingend in diesem Verzeichnis
+ liegen, um zu funktionieren, sollte es aber, um die Zuordnung des VCs zu
+ "seinen" Objekten zu erleichern.
+
+
+BEISPIEL
+========
+
+ SetProp(P_COMPILER_PATH,"/d/region/magier/vc/");
+
+
+SIEHE AUCH
+==========
+
+ P_STD_OBJECT, virtual_compiler
+
Letzte Aenderung: 23.10.2007, von Zesstra
diff --git a/doc/props/P_CONSUME_MSG b/doc/props/P_CONSUME_MSG
index 8b8a05a..0300037 100644
--- a/doc/props/P_CONSUME_MSG
+++ b/doc/props/P_CONSUME_MSG
@@ -1,24 +1,45 @@
-NAME:
- P_CONSUME_MSG "std_food_consume_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_CONSUME_MSG
+*************
-BESCHREIBUNG:
- Meldung an den Raum exklusive Konsument, wenn eine Speise konsumiert
- wird.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "@WER2 konsumiert @WEN1."
-SIEHE AUCH:
- /std/food.c, wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_CONSUME_MSG "std_food_consume_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Raum exklusive Konsument, wenn eine Speise konsumiert
+ wird.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "@WER2 konsumiert @WEN1."
+
+
+SIEHE AUCH
+==========
+
+ /std/food.c, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_CONTAINER b/doc/props/P_CONTAINER
index ed15ca5..e779f75 100644
--- a/doc/props/P_CONTAINER
+++ b/doc/props/P_CONTAINER
@@ -1,8 +1,21 @@
-NAME:
- P_CONTAINER "container"
-DEFINIERT IN:
- /sys/properties.h
+P_CONTAINER
+***********
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_CONTAINER "container"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_CONTENTS b/doc/props/P_CONTENTS
index 1212da7..fc9f20e 100644
--- a/doc/props/P_CONTENTS
+++ b/doc/props/P_CONTENTS
@@ -1,8 +1,21 @@
-NAME:
- P_CONTENTS "contents"
-DEFINIERT IN:
- /sys/container.h
+P_CONTENTS
+**********
-BESCHREIBUNG:
- *** OBSOLET! ***
+
+NAME
+====
+
+ P_CONTENTS "contents"
+
+
+DEFINIERT IN
+============
+
+ /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+ *** OBSOLET! ***
diff --git a/doc/props/P_CORPSE b/doc/props/P_CORPSE
index bcb0ab6..762f03c 100644
--- a/doc/props/P_CORPSE
+++ b/doc/props/P_CORPSE
@@ -1,25 +1,43 @@
-NAME:
- P_CORPSE "corpse"
-DEFINIERT IN:
- /sys/properties.h
+P_CORPSE
+********
-BESCHREIBUNG:
- Hier kann man angeben, welche Art von Leiche beim Tod des NPCs
- hinterlassen wird. Damit die Leiche auf dem Moerder-Kanal senden
- kann, muss das Leichen-Objekt /std/corpse sein oder erben.
-BEISPIELE:
- Die uebliche Standardleiche befindet sich unter "/std/corpse.c",
- welches auch die Defaulteinstellung fuer diese Property darstellt:
- SetProp(P_CORPSE,"/std/corpse");
- Man koennte aber auch einen Zombie entstehen lassen:
- SetProp(P_CORPSE,PATH("zombie"));
- PATH kennzeichnet hierbei den Pfad, unter welchem "zombie.c" zu
- finden ist.
+NAME
+====
-SIEHE AUCH:
- P_NOCORPSE, P_ZAP_MSG, P_DIE_MSG, P_MURDER_MSG, P_KILL_MSG
+ P_CORPSE "corpse"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Hier kann man angeben, welche Art von Leiche beim Tod des NPCs
+ hinterlassen wird. Damit die Leiche auf dem Moerder-Kanal senden
+ kann, muss das Leichen-Objekt /std/corpse sein oder erben.
+
+
+BEISPIELE
+=========
+
+ Die uebliche Standardleiche befindet sich unter "/std/corpse.c",
+ welches auch die Defaulteinstellung fuer diese Property darstellt:
+ SetProp(P_CORPSE,"/std/corpse");
+ Man koennte aber auch einen Zombie entstehen lassen:
+ SetProp(P_CORPSE,PATH("zombie"));
+ PATH kennzeichnet hierbei den Pfad, unter welchem "zombie.c" zu
+ finden ist.
+
+
+SIEHE AUCH
+==========
+
+ P_NOCORPSE, P_ZAP_MSG, P_DIE_MSG, P_MURDER_MSG, P_KILL_MSG
+
Last modified: Mon Apr 07 11:02:06 2003 by Mandragon
diff --git a/doc/props/P_CURRENTDIR b/doc/props/P_CURRENTDIR
index 87bbd5c..b1dc2a4 100644
--- a/doc/props/P_CURRENTDIR
+++ b/doc/props/P_CURRENTDIR
@@ -1,15 +1,28 @@
-NAME:
- P_CURRENTDIR "currentdir"
-DEFINIERT IN:
- /sys/shells.h
+P_CURRENTDIR
+************
-BESCHREIBUNG:
- Momentanes Verzeichnis in dem der Magier ist.
- (nur fuer Magier von Belang)
+
+NAME
+====
+
+ P_CURRENTDIR "currentdir"
+
+
+DEFINIERT IN
+============
+
+ /sys/shells.h
+
+
+BESCHREIBUNG
+============
+
+ Momentanes Verzeichnis in dem der Magier ist.
+ (nur fuer Magier von Belang)
Siehe auch:
- P_CURRENTDIR
+ P_CURRENTDIR
Letzte Aenderung:
- 03.06.2015, Bugfix
+ 03.06.2015, Bugfix
diff --git a/doc/props/P_CURSED b/doc/props/P_CURSED
index 9253890..c3a9061 100644
--- a/doc/props/P_CURSED
+++ b/doc/props/P_CURSED
@@ -1,39 +1,56 @@
+
P_CURSED
+********
-NAME:
- P_CURSED "cursed"
-DEFINIERT IN:
- <properties.h>
+NAME
+====
-BESCHREIBUNG:
- Ruestungen und Waffen, die sich, einmal angezogen bzw. gezueckt, nicht
- wieder entfernen lassen sollen, kann man ueber diese Property
- realisieren. Die Waffe oder Ruestung hat dann in der Regel negative
- Auswirkungen auf den Traeger...
+ P_CURSED "cursed"
- Setzt man diese Property auf eine Zahl ungleich 0, so bekommt man bei
- dem Versuch, den verfluchten Gegenstand auszuziehen bzw. wegzustecken
- eine Defaultmeldung.
- Traegt man dagegen einen String ein, so wird dieser beim Versuch, den
- Gegenstand loszuwerden, ausgegeben.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- Der 'Fluch' wird erst wirksam, wenn das Opfer die Waffe zueckt bzw. die
- Ruestung anzieht. Ist dies erst einmal geschehen, helfen nur noch
- Zaubersprueche oder fluchbrechende Institutionen.
+ <properties.h>
- Moechte man, dass der Gegenstand entfluchbar ist, dann sollte er auch
- ansprechbar sein (gueltige ID, nicht unsichtbar), da das durch derzeitige
- Entfluchmoeglichkeiten vorausgesetzt wird.
- Flueche koennen ein P_LEVEL 1-100 haben, welches die Schwierigkeit des
- Enfluchens festlegt. Der Klerus behandelt das nicht linear.
+BESCHREIBUNG
+============
-SIEHE AUCH:
- Eigenschaften: P_LEVEL
- Aehnlich: AddClass (CL_CURSE)
- Code: /std/armour, /std/weapon, /gilden/files.klerus/prayermaster
+ Ruestungen und Waffen, die sich, einmal angezogen bzw. gezueckt, nicht
+ wieder entfernen lassen sollen, kann man ueber diese Property
+ realisieren. Die Waffe oder Ruestung hat dann in der Regel negative
+ Auswirkungen auf den Traeger...
+
+ Setzt man diese Property auf eine Zahl ungleich 0, so bekommt man bei
+ dem Versuch, den verfluchten Gegenstand auszuziehen bzw. wegzustecken
+ eine Defaultmeldung.
+
+ Traegt man dagegen einen String ein, so wird dieser beim Versuch, den
+ Gegenstand loszuwerden, ausgegeben.
+
+
+BEMERKUNGEN
+===========
+
+ Der 'Fluch' wird erst wirksam, wenn das Opfer die Waffe zueckt bzw. die
+ Ruestung anzieht. Ist dies erst einmal geschehen, helfen nur noch
+ Zaubersprueche oder fluchbrechende Institutionen.
+
+ Moechte man, dass der Gegenstand entfluchbar ist, dann sollte er auch
+ ansprechbar sein (gueltige ID, nicht unsichtbar), da das durch derzeitige
+ Entfluchmoeglichkeiten vorausgesetzt wird.
+
+ Flueche koennen ein P_LEVEL 1-100 haben, welches die Schwierigkeit des
+ Enfluchens festlegt. Der Klerus behandelt das nicht linear.
+
+
+SIEHE AUCH
+==========
+
+ Eigenschaften: P_LEVEL
+ Aehnlich: AddClass (CL_CURSE)
+ Code: /std/armour, /std/weapon, /gilden/files.klerus/prayermaster
25. Aug 2016 Gloinson
diff --git a/doc/props/P_DAMAGED b/doc/props/P_DAMAGED
index 671e0e0..91d5324 100644
--- a/doc/props/P_DAMAGED
+++ b/doc/props/P_DAMAGED
@@ -1,28 +1,41 @@
+
P_DAMAGED
+*********
-NAME:
- P_DAMAGED "item_damaged"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Ruestungen und Waffen koennen im Eifer des Gefechts beschaedigt werden.
- Der Grad der Beschaedigung sollte in dieser Property festgehalten
- werden.
+ P_DAMAGED "item_damaged"
- Bei Waffen ergibt sich die urspruengliche Waffenklasse aus der Summe
- von aktueller Waffenklasse und dem Wert von P_DAMAGED:
- altes P_WC = aktuelles P_WC + P_DAMAGED.
- Analoges gilt fuer die Ruestungsklasse einer beschaedigten Ruestung:
- altes P_AC = aktuelles P_AC + P_DAMAGED.
+DEFINIERT IN
+============
- P_DAMAGED bitte niemals direkt setzen, sondern immer ueber
- die Funktion Damage() manipulieren!
+ <combat.h>
-SIEHE AUCH:
- /std/armour.c, /std/weapon.c, TakeFlaw(), QueryFlaw(), Damage()
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ Ruestungen und Waffen koennen im Eifer des Gefechts beschaedigt werden.
+ Der Grad der Beschaedigung sollte in dieser Property festgehalten
+ werden.
+
+ Bei Waffen ergibt sich die urspruengliche Waffenklasse aus der Summe
+ von aktueller Waffenklasse und dem Wert von P_DAMAGED:
+ altes P_WC = aktuelles P_WC + P_DAMAGED.
+
+ Analoges gilt fuer die Ruestungsklasse einer beschaedigten Ruestung:
+ altes P_AC = aktuelles P_AC + P_DAMAGED.
+
+ P_DAMAGED bitte niemals direkt setzen, sondern immer ueber
+ die Funktion Damage() manipulieren!
+
+
+SIEHE AUCH
+==========
+
+ /std/armour.c, /std/weapon.c, TakeFlaw(), QueryFlaw(), Damage()
+
02.10.2007, Zesstra
diff --git a/doc/props/P_DAMAGE_MSG b/doc/props/P_DAMAGE_MSG
index 5906a3b..e9c71a8 100644
--- a/doc/props/P_DAMAGE_MSG
+++ b/doc/props/P_DAMAGE_MSG
@@ -1,44 +1,58 @@
+
P_DAMAGE_MSG
+************
-NAME:
- P_DAMAGE_MSG "std_p_dam_msg"
-DEFINIERT IN:
- /sys/living/combat.h
+NAME
+====
-BESCHREIBUNG:
- In dieser Property lassen sich individuelle Treffer-/Schadensmeldungen
- fuer dieses Lebewesen festlegen. Sie werden verwendet, falls bei
- eingehendem Schaden der Aufrufer von Defend() Schadensmeldungen wuenscht
- (d.h. SP_SHOW_DAMAGE != 0), jedoch keine eigenen Meldungen vorgibt.
+ P_DAMAGE_MSG "std_p_dam_msg"
- Enthaelt diese Property kein Array, werden ggf. die Standardmeldungen
- ausgegeben.
- Datenstruktur der Property:
- ({
- ({ int lphit1, string mess_me,
- string mess_en,
- string mess_room }),
- ({ lphit2, mess_me, mess_en, mess_room }),
- ...
- ({ lphitn, mess_me, mess_en, mess_room }),
- })
- wobei lphit1<lphit2<...<lphitn sein muss, d.h. das Array-
- Array ist aufsteigend sortiert.
+DEFINIERT IN
+============
- Ist ein Treffer x LP hart, werden die Meldungen des lphit-
- Arrays ausgegeben, dessen Wert am naechsten unter dem Schaden
- liegt.
+ /sys/living/combat.h
- In den Meldungen mess_me (an den Getroffenen), mess_en (an
- den Feind), mess_room (an die restlichen Umstehenden) koennen
- Ersatzstrings wie folgt verwendet werden:
- @WER1/@WESSEN1/@WEM1/@WEN1 - name(casus) des Getroffenen (TO)
- @WER2/@WESSEN2/@WEM2/@WEN2 - name(casus) des Feindes (enemy)
-SIEHE AUCH:
- Defend()
- /std/living/combat.c
+BESCHREIBUNG
+============
+
+ In dieser Property lassen sich individuelle Treffer-/Schadensmeldungen
+ fuer dieses Lebewesen festlegen. Sie werden verwendet, falls bei
+ eingehendem Schaden der Aufrufer von Defend() Schadensmeldungen wuenscht
+ (d.h. SP_SHOW_DAMAGE != 0), jedoch keine eigenen Meldungen vorgibt.
+
+ Enthaelt diese Property kein Array, werden ggf. die Standardmeldungen
+ ausgegeben.
+
+ Datenstruktur der Property:
+ ({
+ ({ int lphit1, string mess_me,
+ string mess_en,
+ string mess_room }),
+ ({ lphit2, mess_me, mess_en, mess_room }),
+ ...
+ ({ lphitn, mess_me, mess_en, mess_room }),
+ })
+ wobei lphit1<lphit2<...<lphitn sein muss, d.h. das Array-
+ Array ist aufsteigend sortiert.
+
+ Ist ein Treffer x LP hart, werden die Meldungen des lphit-
+ Arrays ausgegeben, dessen Wert am naechsten unter dem Schaden
+ liegt.
+
+ In den Meldungen mess_me (an den Getroffenen), mess_en (an
+ den Feind), mess_room (an die restlichen Umstehenden) koennen
+ Ersatzstrings wie folgt verwendet werden:
+ @WER1/@WESSEN1/@WEM1/@WEN1 - name(casus) des Getroffenen (TO)
+ @WER2/@WESSEN2/@WEM2/@WEN2 - name(casus) des Feindes (enemy)
+
+
+SIEHE AUCH
+==========
+
+ Defend()
+ /std/living/combat.c
15.09.2010, Zesstra
diff --git a/doc/props/P_DAM_DESC b/doc/props/P_DAM_DESC
index 59938c7..151f555 100644
--- a/doc/props/P_DAM_DESC
+++ b/doc/props/P_DAM_DESC
@@ -1,35 +1,56 @@
+
P_DAM_DESC
+**********
-NAME:
- P_DAM_DESC "dam_desc"
-DEFINIERT IN:
- <weapon/description.h>
+NAME
+====
-BESCHREIBUNG:
- In dieser Property befindet sich ein String oder String-Array, durch
- den die Langbeschreibung einer Ruestung oder Waffe ergaenzt wird,
- wenn diese Beschaedigt ist.
+ P_DAM_DESC "dam_desc"
-BEMERKUNGEN:
- Wird ein String gesetzt, so wird dieser angezeigt, wenn die Waffe
- mehr als die Haelfte beschaedigt ist. Bei einem Array wird der
- Text entsprechend dem Grad der Beschaedigung ausgewaehlt; das Array
- muss in der Reihenfolge zunehmender Beschaedigung sortiert sein.
-
- Bei Waffen ist P_DAM_DESC defaultmaessig auf DFLT_DAM_DESC gesetzt,
- bei Ruestungen auf 0.
-BEISPIELE:
- SetProp(P_DAM_DESC,"ist beschaedigt");
- SetProp(P_DAM_DESC,({
- "ist etwas beschaedigt",
- "ist beschaedigt",
- "ist beschaedigt",
- "ist sehr beschaedigt"}) );
+DEFINIERT IN
+============
-SIEHE AUCH:
- /std/weapon/description.c
+ <weapon/description.h>
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ In dieser Property befindet sich ein String oder String-Array, durch
+ den die Langbeschreibung einer Ruestung oder Waffe ergaenzt wird,
+ wenn diese Beschaedigt ist.
+
+
+BEMERKUNGEN
+===========
+
+ Wird ein String gesetzt, so wird dieser angezeigt, wenn die Waffe
+ mehr als die Haelfte beschaedigt ist. Bei einem Array wird der
+ Text entsprechend dem Grad der Beschaedigung ausgewaehlt; das Array
+ muss in der Reihenfolge zunehmender Beschaedigung sortiert sein.
+
+
+
+ Bei Waffen ist P_DAM_DESC defaultmaessig auf DFLT_DAM_DESC gesetzt,
+ bei Ruestungen auf 0.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_DAM_DESC,"ist beschaedigt");
+ SetProp(P_DAM_DESC,({
+ "ist etwas beschaedigt",
+ "ist beschaedigt",
+ "ist beschaedigt",
+ "ist sehr beschaedigt"}) );
+
+
+SIEHE AUCH
+==========
+
+ /std/weapon/description.c
+
Last modified: Mon Oct 14 15:29:00 1996 by Paracelsus
diff --git a/doc/props/P_DAM_TYPE b/doc/props/P_DAM_TYPE
index 56fb4bb..e5088d2 100644
--- a/doc/props/P_DAM_TYPE
+++ b/doc/props/P_DAM_TYPE
@@ -1,22 +1,35 @@
+
P_DAM_TYPE
+**********
-NAME:
- P_DAM_TYPE "dam_type"
-DEFINIERT IN:
- <weapon.h>
+NAME
+====
-BESCHREIBUNG:
- Was fuer eine Art von Schaden richtet die Waffe an? Hier kann man einen
- String oder ein Array von Strings angeben, je nachdem, welche Effekte
- die Waffe ausloesen kann. Man sollte hier nur die in <combat.h>
- definierten Schadenstypen verwenden.
+ P_DAM_TYPE "dam_type"
- Fragt man diese Property ab, bekommt man uebrigens immer ein Array von
- Strings zurueck.
-SIEHE AUCH:
- /std/weapon.c
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ <weapon.h>
+
+
+BESCHREIBUNG
+============
+
+ Was fuer eine Art von Schaden richtet die Waffe an? Hier kann man einen
+ String oder ein Array von Strings angeben, je nachdem, welche Effekte
+ die Waffe ausloesen kann. Man sollte hier nur die in <combat.h>
+ definierten Schadenstypen verwenden.
+
+ Fragt man diese Property ab, bekommt man uebrigens immer ein Array von
+ Strings zurueck.
+
+
+SIEHE AUCH
+==========
+
+ /std/weapon.c
+
Last modified: Sun May 19 15:23:43 1996 by Wargon
diff --git a/doc/props/P_DEADS b/doc/props/P_DEADS
index ca44cd7..03f0c07 100644
--- a/doc/props/P_DEADS
+++ b/doc/props/P_DEADS
@@ -1,9 +1,22 @@
-NAME:
- P_DEADS "deads"
-DEFINIERT IN:
- /sys/living/life.h
+P_DEADS
+*******
-BESCHREIBUNG:
- Anzahl der Tode des Spielers seit Einfuehrung dieser Property (irgendwann
- im Dezember 94)
+
+NAME
+====
+
+ P_DEADS "deads"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der Tode des Spielers seit Einfuehrung dieser Property (irgendwann
+ im Dezember 94)
diff --git a/doc/props/P_DEAF b/doc/props/P_DEAF
index 8745dfd..570ac06 100644
--- a/doc/props/P_DEAF
+++ b/doc/props/P_DEAF
@@ -1,10 +1,23 @@
-NAME:
- P_DEAF "deaf"
-DEFINIERT IN:
- /sys/player/comm.h
+P_DEAF
+******
-BESCHREIBUNG:
- Der Spieler ist taub. Falls hier ein String steht, wird dieser bei
- "teile ... mit" an den Mitteilenden ausgegeben, ansonsten kommt nur
- "Soundso ist leider gerade taub.\n"
+
+NAME
+====
+
+ P_DEAF "deaf"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+ Der Spieler ist taub. Falls hier ein String steht, wird dieser bei
+ "teile ... mit" an den Mitteilenden ausgegeben, ansonsten kommt nur
+ "Soundso ist leider gerade taub.\n"
diff --git a/doc/props/P_DEATH_MSG b/doc/props/P_DEATH_MSG
index 4e044bf..d5de007 100644
--- a/doc/props/P_DEATH_MSG
+++ b/doc/props/P_DEATH_MSG
@@ -1,48 +1,79 @@
-DEFINIERT IN:
- /sys/living/combat.h
-
-BESCHREIBUNG:
- In dieser Property kann man ein Array ablegen, das beim Tod eines
- Spielers ausgewertet und der darin enthaltene String
- anschliessend auf dem Todeskanal gesendet wird.
- Der Array muss folgenden Aufbau haben:
-
- SetProp( P_DEATH_MSG, ({ Text, Flag }) )
-
- Text: Der Text kann beliebig eingegeben werde. Allerdings darf
- er nicht mit einem '\n' abgeschlossen werden.
-
- Flag: Hier kann man drei Arten von Sendemethoden waehlen.
- 1. MSG_SAY Normales Senden
- 2. MSG_GEMOTE Genitiv-Emote
- 3. MSG_EMOTE Emote
-
-
-BEISPIEL:
- Der Spieler soll direkt nach seinem Tod eine Meldung auf dem
- Todeskanal senden.
-
- Nachricht auf dem Todes-Kanal:
-
- [Tod:Spieler] Ich will keine Beleidsbekundungen!
-
- void spieler_stirbt()
- {
- this_player()->SetProp( P_DEATH_MSG, ({ "Ich will keine "
- "Beleidsbekundungen!", MSG_SAY}) );
- this_player()->die();
- }
-
- Nachricht auf dem Todes-Kanal:
-
- [Tod:Spieler liebt es zu sterben.]
-
- void spieler_stirbt()
- {
- this_player()->SetProp( P_DEATH_MSG, ({ "liebt es zu sterben.",
- MSG_EMOTE }) );
- this_player()->die();
- }
-
-SIEHE AUCH:
- P_MURDER_MSG, P_FORCE_MURDER_MSG
+
+P_DEATH_MSG
+***********
+
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property kann man ein Array ablegen, das beim Tod eines
+ Spielers ausgewertet und der darin enthaltene String
+ anschliessend auf dem Todeskanal gesendet wird.
+ Der Array muss folgenden Aufbau haben:
+
+ SetProp( P_DEATH_MSG, ({ Text, Flag }) )
+
+
+
+ Text: Der Text kann beliebig eingegeben werde. Allerdings darf
+ er nicht mit einem '\n' abgeschlossen werden.
+
+
+
+ Flag: Hier kann man drei Arten von Sendemethoden waehlen.
+ 1. MSG_SAY Normales Senden
+ 2. MSG_GEMOTE Genitiv-Emote
+ 3. MSG_EMOTE Emote
+
+
+BEISPIEL
+========
+
+ Der Spieler soll direkt nach seinem Tod eine Meldung auf dem
+ Todeskanal senden.
+
+
+
+ Nachricht auf dem Todes-Kanal:
+
+
+
+ [Tod:Spieler] Ich will keine Beleidsbekundungen!
+
+
+
+ void spieler_stirbt()
+ {
+ this_player()->SetProp( P_DEATH_MSG, ({ "Ich will keine "
+ "Beleidsbekundungen!", MSG_SAY}) );
+ this_player()->die();
+ }
+
+
+
+ Nachricht auf dem Todes-Kanal:
+
+
+
+ [Tod:Spieler liebt es zu sterben.]
+
+
+
+ void spieler_stirbt()
+ {
+ this_player()->SetProp( P_DEATH_MSG, ({ "liebt es zu sterben.",
+ MSG_EMOTE }) );
+ this_player()->die();
+ }
+
+
+SIEHE AUCH
+==========
+
+ P_MURDER_MSG, P_FORCE_MURDER_MSG
diff --git a/doc/props/P_DEATH_SPONSORED_BY b/doc/props/P_DEATH_SPONSORED_BY
index 4f86a36..cae8532 100644
--- a/doc/props/P_DEATH_SPONSORED_BY
+++ b/doc/props/P_DEATH_SPONSORED_BY
@@ -1,25 +1,42 @@
-NAME:
- P_DEATH_SPONSORED_BY "responsible_wizard_for_death"
-DEFINIERT IN:
- /sys/living/combat.h
+P_DEATH_SPONSORED_BY
+********************
-BESCHREIBUNG:
- Diese Property hat fuer den Spielverlauf keinerlei Bedeutung.
- Doch gibt es Magier, die ihren Namen gern in /log/KILLS lesen.
- Wird ein Spieler durch einen Npc getoetet, ist normalerweise der
- Magier fuer den Tod verantwortlich, in dessen Verzeichnis sich
- das Monster befindet.
- Doch gibt es nun auch den Fall, dass sich das Monster in einem
- Verzeichnis /alle/mon/ befindet, oder der Spieler durch eine
- Aktion im Raum oder an einem Objekt stirbt.
- Ist in einem solchen Monster, Raum oder Objekt diese Property
- gesetzt, wird der dort angebene String an das Log-File ueber-
- geben.
+NAME
+====
-BEISPIEL:
- SetProp(P_DEATH_SPONSORED_BY,"tilly");
-
+ P_DEATH_SPONSORED_BY "responsible_wizard_for_death"
-Last modified: Don Feb 15 14:01:00 2001 von Tilly
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property hat fuer den Spielverlauf keinerlei Bedeutung.
+ Doch gibt es Magier, die ihren Namen gern in /log/KILLS lesen.
+ Wird ein Spieler durch einen Npc getoetet, ist normalerweise der
+ Magier fuer den Tod verantwortlich, in dessen Verzeichnis sich
+ das Monster befindet.
+ Doch gibt es nun auch den Fall, dass sich das Monster in einem
+ Verzeichnis /alle/mon/ befindet, oder der Spieler durch eine
+ Aktion im Raum oder an einem Objekt stirbt.
+
+ Ist in einem solchen Monster, Raum oder Objekt diese Property
+ gesetzt, wird der dort angebene String an das Log-File ueber-
+ geben.
+
+
+BEISPIEL
+========
+
+ SetProp(P_DEATH_SPONSORED_BY,"tilly");
+
+
+Last modified Don Feb 15 140100 2001 von Tilly
+==============================================
diff --git a/doc/props/P_DEFAULT_GUILD b/doc/props/P_DEFAULT_GUILD
index 28ca4e6..55abd50 100644
--- a/doc/props/P_DEFAULT_GUILD
+++ b/doc/props/P_DEFAULT_GUILD
@@ -1,25 +1,43 @@
-NAME:
- P_DEFAULT_GUILD "default_guild"
-DEFINIERT IN:
- /sys/new_skills.h
+P_DEFAULT_GUILD
+***************
-BESCHREIBUNG:
- Diese Property enthaelt den Namen der Gilde, welcher der Spieler
- standardmaessig angehoert. Der Name wird hierbei in Form eines
- kleingeschriebenen Strings angegeben. Ist P_GUILD gleich Null, so
- wird bei der Abfrage selbiger Property hierfuer der Eintrag von
- P_DEFAULT_GUILD eingesetzt.
-BEMERKUNGEN:
- Nach dem ersten Einloggen des Spielers wird ebenfalls dieser Eintrag
- genutzt, um die Gildenzugehoerigkeit festzulegen. Dies kann dazu
- genutzt werden, um eine rassenabhaengige Bestimmung der
- Standardgilde zu gewaehrleisten
- (Felinen -> Katzenkrieger, andere Rassen -> Abenteurer).
+NAME
+====
-SIEHE AUCH:
- P_GUILD, P_VISIBLE_GUILD
+ P_DEFAULT_GUILD "default_guild"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt den Namen der Gilde, welcher der Spieler
+ standardmaessig angehoert. Der Name wird hierbei in Form eines
+ kleingeschriebenen Strings angegeben. Ist P_GUILD gleich Null, so
+ wird bei der Abfrage selbiger Property hierfuer der Eintrag von
+ P_DEFAULT_GUILD eingesetzt.
+
+
+BEMERKUNGEN
+===========
+
+ Nach dem ersten Einloggen des Spielers wird ebenfalls dieser Eintrag
+ genutzt, um die Gildenzugehoerigkeit festzulegen. Dies kann dazu
+ genutzt werden, um eine rassenabhaengige Bestimmung der
+ Standardgilde zu gewaehrleisten
+ (Felinen -> Katzenkrieger, andere Rassen -> Abenteurer).
+
+
+SIEHE AUCH
+==========
+
+ P_GUILD, P_VISIBLE_GUILD
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_DEFAULT_NOTIFY_FAIL b/doc/props/P_DEFAULT_NOTIFY_FAIL
index 611e8df..351c96c 100644
--- a/doc/props/P_DEFAULT_NOTIFY_FAIL
+++ b/doc/props/P_DEFAULT_NOTIFY_FAIL
@@ -1,8 +1,21 @@
-NAME:
- P_DEFAULT_NOTIFY_FAIL "default_notify_fail"
-DEFINIERT IN:
- /sys/player.h
+P_DEFAULT_NOTIFY_FAIL
+*********************
-BESCHREIBUNG:
- Welche Fehlermeldung kommt, wenn kein Objekt ein notify_fail macht?
+
+NAME
+====
+
+ P_DEFAULT_NOTIFY_FAIL "default_notify_fail"
+
+
+DEFINIERT IN
+============
+
+ /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+ Welche Fehlermeldung kommt, wenn kein Objekt ein notify_fail macht?
diff --git a/doc/props/P_DEFENDERS b/doc/props/P_DEFENDERS
index b471d45..a54134a 100644
--- a/doc/props/P_DEFENDERS
+++ b/doc/props/P_DEFENDERS
@@ -1,30 +1,45 @@
-NAME:
- P_DEFENDERS "defenders"
-DEFINIERT IN:
- /sys/new_skills.h
+P_DEFENDERS
+***********
-BESCHREIBUNG:
- Diese Property wird in Lebewesen gesetzt, welche zum Beispiel durch
- andere Lebewesen verteidigt werden. Die Verteidiger muessen
- natuerlich bekannt sein, damit sie per InformDefend() ueber Angriffe
- informiert werden und per DefendOther() in den laufenden Angriff
- eingreifen koennen (zum Beispiel Schaeden abwehren oder umwandeln).
- Es muessen jedoch nicht unbedingt Lebewesen oder echte Verteidiger
- sein, auch beliebige Objekte koennen ueber Angriffe informiert
- werden und in diese eingreifen. Allerdings besteht die
- Einschraenkung, dass diese Objekte in der gleichen Umgebung sein
- muessen, wie das zu verteidigende Lebewesen oder im zu verteidigenden
- Lebewesen selbst.
- Die Objekte, welche dies betrifft, sind in Form eines Arrays in
- der Property P_DEFENDERS abgelegt.
- Gesetzt und geloescht werden sollten die Eintraege dieses Arrays
- jedoch nur mittels der dafuer bereitgestellten Funktionen
- AddDefender() und RemoveDefender().
-SIEHE AUCH:
- AddDefender(), RemoveDefender(), InformDefend(), DefendOther(),
- /std/living/combat.c
+NAME
+====
-----------------------------------------------------------------------------
+ P_DEFENDERS "defenders"
+
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property wird in Lebewesen gesetzt, welche zum Beispiel durch
+ andere Lebewesen verteidigt werden. Die Verteidiger muessen
+ natuerlich bekannt sein, damit sie per InformDefend() ueber Angriffe
+ informiert werden und per DefendOther() in den laufenden Angriff
+ eingreifen koennen (zum Beispiel Schaeden abwehren oder umwandeln).
+ Es muessen jedoch nicht unbedingt Lebewesen oder echte Verteidiger
+ sein, auch beliebige Objekte koennen ueber Angriffe informiert
+ werden und in diese eingreifen. Allerdings besteht die
+ Einschraenkung, dass diese Objekte in der gleichen Umgebung sein
+ muessen, wie das zu verteidigende Lebewesen oder im zu verteidigenden
+ Lebewesen selbst.
+ Die Objekte, welche dies betrifft, sind in Form eines Arrays in
+ der Property P_DEFENDERS abgelegt.
+ Gesetzt und geloescht werden sollten die Eintraege dieses Arrays
+ jedoch nur mittels der dafuer bereitgestellten Funktionen
+ AddDefender() und RemoveDefender().
+
+
+SIEHE AUCH
+==========
+
+ AddDefender(), RemoveDefender(), InformDefend(), DefendOther(),
+ /std/living/combat.c
+
Last modified: 21.09.2007, Zesstra
diff --git a/doc/props/P_DEFEND_FUNC b/doc/props/P_DEFEND_FUNC
index 02f1e8c..a9939e1 100644
--- a/doc/props/P_DEFEND_FUNC
+++ b/doc/props/P_DEFEND_FUNC
@@ -1,31 +1,50 @@
+
P_DEFEND_FUNC
+*************
-NAME:
- P_DEFEND_FUNC "defend_func"
-DEFINIERT IN:
- <armour.h>
+NAME
+====
-BESCHREIBUNG:
- Falls ein Objekt eine DefendFunc() fuer die Ruestung definiert, so muss
- dieses Objekt in dieser Property eingetragen sein.
+ P_DEFEND_FUNC "defend_func"
- Die Auswertung dieser Property erfolgt in QueryDefend().
-BEMERKUNGEN:
- 1. Es funktioniert _nicht_ hier eine Closure reinzuschreiben.
- 2. Diese Prop laesst sich _nicht_ sinnvoll mit Set() setzen, also z.B.
- keine Query-Methoden hier reinzuschreiben.
- 3. Definieren von _set_defend_func() oder Set-Methoden via Set()
- funktioniert auch nicht, zumindest nicht mit dem gewuenschten
- Ergebnis. ;-)
- 4. Bei Verwendung bitte Balance-Richtlinien beachten!
+DEFINIERT IN
+============
-BEISPIELE:
- Siehe das Beispiel zu DefendFunc()
+ <armour.h>
-SIEHE AUCH:
- /std/armour.c, DefendFunc(), balance, grenzwerte
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ Falls ein Objekt eine DefendFunc() fuer die Ruestung definiert, so muss
+ dieses Objekt in dieser Property eingetragen sein.
+
+ Die Auswertung dieser Property erfolgt in QueryDefend().
+
+
+BEMERKUNGEN
+===========
+
+ 1. Es funktioniert _nicht_ hier eine Closure reinzuschreiben.
+ 2. Diese Prop laesst sich _nicht_ sinnvoll mit Set() setzen, also z.B.
+ keine Query-Methoden hier reinzuschreiben.
+ 3. Definieren von _set_defend_func() oder Set-Methoden via Set()
+ funktioniert auch nicht, zumindest nicht mit dem gewuenschten
+ Ergebnis. ;-)
+ 4. Bei Verwendung bitte Balance-Richtlinien beachten!
+
+
+BEISPIELE
+=========
+
+ Siehe das Beispiel zu DefendFunc()
+
+
+SIEHE AUCH
+==========
+
+ /std/armour.c, DefendFunc(), balance, grenzwerte
+
Last modified: Sat May 18 15:26:17 1996 by Wargon
diff --git a/doc/props/P_DEFUEL_AMOUNT_DRINK b/doc/props/P_DEFUEL_AMOUNT_DRINK
index 558e261..79dcfa5 100644
--- a/doc/props/P_DEFUEL_AMOUNT_DRINK
+++ b/doc/props/P_DEFUEL_AMOUNT_DRINK
@@ -1,20 +1,36 @@
-NAME:
- P_DEFUEL_AMOUNT_DRINK "defuel_amount_drink"
-DEFINIERT IN:
- /sys/defuel.h
+P_DEFUEL_AMOUNT_DRINK
+*********************
-BESCHREIBUNG:
- Enthaelt die rassenabhaengige Enttankvorgabe fuer Trinken.
-
-SIEHE AUCH:
- Aehnlich: P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
- P_DEFUEL_AMOUNT_FOOD
- Methoden: defuel_drink, defuel_food
- Tanken: consume, drink_alcohol, drink_soft, eat_food
- Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
- P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- Konzepte: heilung, enttanken, food
+
+NAME
+====
+
+ P_DEFUEL_AMOUNT_DRINK "defuel_amount_drink"
+
+
+DEFINIERT IN
+============
+
+ /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt die rassenabhaengige Enttankvorgabe fuer Trinken.
+
+
+SIEHE AUCH
+==========
+
+ Aehnlich: P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
+ P_DEFUEL_AMOUNT_FOOD
+ Methoden: defuel_drink, defuel_food
+ Tanken: consume, drink_alcohol, drink_soft, eat_food
+ Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+ P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ Konzepte: heilung, enttanken, food
9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_AMOUNT_FOOD b/doc/props/P_DEFUEL_AMOUNT_FOOD
index a8554be..f61a23e 100644
--- a/doc/props/P_DEFUEL_AMOUNT_FOOD
+++ b/doc/props/P_DEFUEL_AMOUNT_FOOD
@@ -1,20 +1,36 @@
-NAME:
- P_DEFUEL_AMOUNT_FOOD "defuel_amount_food"
-DEFINIERT IN:
- /sys/defuel.h
+P_DEFUEL_AMOUNT_FOOD
+********************
-BESCHREIBUNG:
- Enthaelt die rassenabhaengige Enttankvorgabe fuer Essen.
-
-SIEHE AUCH:
- Aehnlich: P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
- P_DEFUEL_AMOUNT_DRINK
- Methoden: defuel_drink, defuel_food
- Tanken: consume, drink_alcohol, drink_soft, eat_food
- Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
- P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- Konzepte: heilung, enttanken, food
+
+NAME
+====
+
+ P_DEFUEL_AMOUNT_FOOD "defuel_amount_food"
+
+
+DEFINIERT IN
+============
+
+ /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt die rassenabhaengige Enttankvorgabe fuer Essen.
+
+
+SIEHE AUCH
+==========
+
+ Aehnlich: P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
+ P_DEFUEL_AMOUNT_DRINK
+ Methoden: defuel_drink, defuel_food
+ Tanken: consume, drink_alcohol, drink_soft, eat_food
+ Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+ P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ Konzepte: heilung, enttanken, food
9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_LIMIT_DRINK b/doc/props/P_DEFUEL_LIMIT_DRINK
index 0a59df4..d3a2c3c 100644
--- a/doc/props/P_DEFUEL_LIMIT_DRINK
+++ b/doc/props/P_DEFUEL_LIMIT_DRINK
@@ -1,21 +1,37 @@
-NAME:
- P_DEFUEL_LIMIT_DRINK "defuel_limit_drink"
-DEFINIERT IN:
- /sys/defuel.h
+P_DEFUEL_LIMIT_DRINK
+********************
-BESCHREIBUNG:
- Enthaelt die rassenabhaengige minimale Menge an Trinken, ab dem ein
- Enttankvorgang fuer den Spieler moeglich ist.
-
-SIEHE AUCH:
- Aehnlich: P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- P_DEFUEL_LIMIT_FOOD,
- P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
- Methoden: defuel_drink, defuel_food
- Tanken: consume, drink_alcohol, drink_soft, eat_food
- Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
- P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- Konzepte: heilung, enttanken, food
+
+NAME
+====
+
+ P_DEFUEL_LIMIT_DRINK "defuel_limit_drink"
+
+
+DEFINIERT IN
+============
+
+ /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt die rassenabhaengige minimale Menge an Trinken, ab dem ein
+ Enttankvorgang fuer den Spieler moeglich ist.
+
+
+SIEHE AUCH
+==========
+
+ Aehnlich: P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ P_DEFUEL_LIMIT_FOOD,
+ P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
+ Methoden: defuel_drink, defuel_food
+ Tanken: consume, drink_alcohol, drink_soft, eat_food
+ Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+ P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ Konzepte: heilung, enttanken, food
9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_LIMIT_FOOD b/doc/props/P_DEFUEL_LIMIT_FOOD
index 26e33fd..bb012a3 100644
--- a/doc/props/P_DEFUEL_LIMIT_FOOD
+++ b/doc/props/P_DEFUEL_LIMIT_FOOD
@@ -1,21 +1,37 @@
-NAME:
- P_DEFUEL_LIMIT_FOOD "defuel_limit_food"
-DEFINIERT IN:
- /sys/defuel.h
+P_DEFUEL_LIMIT_FOOD
+*******************
-BESCHREIBUNG:
- Enthaelt die rassenabhaengige minimale Menge an Essen, ab dem ein
- Enttankvorgang fuer den Spieler moeglich ist.
-
-SIEHE AUCH:
- Aehnlich: P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- P_DEFUEL_LIMIT_DRINK,
- P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
- Methoden: defuel_drink, defuel_food
- Tanken: consume, drink_alcohol, drink_soft, eat_food
- Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
- P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- Konzepte: heilung, enttanken, food
+
+NAME
+====
+
+ P_DEFUEL_LIMIT_FOOD "defuel_limit_food"
+
+
+DEFINIERT IN
+============
+
+ /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt die rassenabhaengige minimale Menge an Essen, ab dem ein
+ Enttankvorgang fuer den Spieler moeglich ist.
+
+
+SIEHE AUCH
+==========
+
+ Aehnlich: P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ P_DEFUEL_LIMIT_DRINK,
+ P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
+ Methoden: defuel_drink, defuel_food
+ Tanken: consume, drink_alcohol, drink_soft, eat_food
+ Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+ P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ Konzepte: heilung, enttanken, food
9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_TIME_DRINK b/doc/props/P_DEFUEL_TIME_DRINK
index de5eaf0..3ff3b74 100644
--- a/doc/props/P_DEFUEL_TIME_DRINK
+++ b/doc/props/P_DEFUEL_TIME_DRINK
@@ -1,21 +1,37 @@
-NAME:
- P_DEFUEL_TIME_DRINK "defuel_time_drink"
-DEFINIERT IN:
- /sys/defuel.h
+P_DEFUEL_TIME_DRINK
+*******************
-BESCHREIBUNG:
- Enthaelt die rassenabhaengige minimale Zeit zwischen einzelnen
- Enttankvorgaengen fuer Trinken eines Spielers.
-
-SIEHE AUCH:
- Aehnlich: P_DEFUEL_TIME_FOOD,
- P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
- P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
- Methoden: defuel_drink, defuel_food
- Tanken: consume, drink_alcohol, drink_soft, eat_food
- Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
- P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- Konzepte: heilung, enttanken, food
+
+NAME
+====
+
+ P_DEFUEL_TIME_DRINK "defuel_time_drink"
+
+
+DEFINIERT IN
+============
+
+ /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt die rassenabhaengige minimale Zeit zwischen einzelnen
+ Enttankvorgaengen fuer Trinken eines Spielers.
+
+
+SIEHE AUCH
+==========
+
+ Aehnlich: P_DEFUEL_TIME_FOOD,
+ P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
+ P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
+ Methoden: defuel_drink, defuel_food
+ Tanken: consume, drink_alcohol, drink_soft, eat_food
+ Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+ P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ Konzepte: heilung, enttanken, food
9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_TIME_FOOD b/doc/props/P_DEFUEL_TIME_FOOD
index d7bdd79..fcd80d0 100644
--- a/doc/props/P_DEFUEL_TIME_FOOD
+++ b/doc/props/P_DEFUEL_TIME_FOOD
@@ -1,21 +1,37 @@
-NAME:
- P_DEFUEL_TIME_FOOD "defuel_time_food"
-DEFINIERT IN:
- /sys/defuel.h
+P_DEFUEL_TIME_FOOD
+******************
-BESCHREIBUNG:
- Enthaelt die rassenabhaengige minimale Zeit zwischen einzelnen
- Enttankvorgaengen fuer Essen eines Spielers.
-
-SIEHE AUCH:
- Aehnlich: P_DEFUEL_TIME_DRINK,
- P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
- P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
- Methoden: defuel_drink, defuel_food
- Tanken: consume, drink_alcohol, drink_soft, eat_food
- Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
- P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
- Konzepte: heilung, enttanken, food
+
+NAME
+====
+
+ P_DEFUEL_TIME_FOOD "defuel_time_food"
+
+
+DEFINIERT IN
+============
+
+ /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt die rassenabhaengige minimale Zeit zwischen einzelnen
+ Enttankvorgaengen fuer Essen eines Spielers.
+
+
+SIEHE AUCH
+==========
+
+ Aehnlich: P_DEFUEL_TIME_DRINK,
+ P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
+ P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
+ Methoden: defuel_drink, defuel_food
+ Tanken: consume, drink_alcohol, drink_soft, eat_food
+ Weitere: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+ P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+ Konzepte: heilung, enttanken, food
9. August 2015 Gloinson
diff --git a/doc/props/P_DEPARTMSG b/doc/props/P_DEPARTMSG
index 515c8bd..917e01c 100644
--- a/doc/props/P_DEPARTMSG
+++ b/doc/props/P_DEPARTMSG
@@ -1,8 +1,21 @@
-NAME:
- P_DEPARTMSG "departmsg"
-DEFINIERT IN:
- /sys/transport.h
+P_DEPARTMSG
+***********
-BESCHREIBUNG:
- Meldung, mit der ein Transporter ablegt.
+
+NAME
+====
+
+ P_DEPARTMSG "departmsg"
+
+
+DEFINIERT IN
+============
+
+ /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+ Meldung, mit der ein Transporter ablegt.
diff --git a/doc/props/P_DESCRIPTION b/doc/props/P_DESCRIPTION
index d275cc7..4d32999 100644
--- a/doc/props/P_DESCRIPTION
+++ b/doc/props/P_DESCRIPTION
@@ -1,8 +1,21 @@
-NAME:
- P_DESCRIPTION "description"
-DEFINIERT IN:
- /sys/properties.h
+P_DESCRIPTION
+*************
-BESCHREIBUNG:
- Beschreibung des Spielers
+
+NAME
+====
+
+ P_DESCRIPTION "description"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Beschreibung des Spielers
diff --git a/doc/props/P_DESTROY_BAD b/doc/props/P_DESTROY_BAD
index d563af9..94f00e5 100644
--- a/doc/props/P_DESTROY_BAD
+++ b/doc/props/P_DESTROY_BAD
@@ -1,29 +1,52 @@
-NAME:
- P_DESTROY_BAD "std_food_destroy_bad"
-DEFINIERT IN:
- <sys/food.h>
+P_DESTROY_BAD
+*************
-BESCHREIBUNG:
- Speichert den Wert fuer das Verhalten, wenn eine Speise verdirbt.
- Dieses Verhalten wird in make_bad() umgesetzt.
-
- DESTROY_BAD : Die Speise wird beim Verderben zerstoert
- bzw. der Behaelter wird geleert
- DESTROY_NEVER : Die Speise wird beim Verderben nicht zerstoert
- pos. Integer : Anzahl der Sekunden, die zwischen Verderben
- und Zerstoeren der Speise liegen sollen
-
-BEMERKUNGEN:
- Ist ein positiver Integer-Wert in dieser Property gespeichert, wird nach
- Ausfuehren der Methode make_bad() nach Ablauf der angegebenen Sekunden
- ein weiterer Reset ausgeloest, der make_destroy() aufruft.
-
-DEFAULT:
- Initial ist diese Property auf DESTROY_BAD gesetzt.
-SIEHE AUCH:
- /std/food.c, wiz/food
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_DESTROY_BAD "std_food_destroy_bad"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Speichert den Wert fuer das Verhalten, wenn eine Speise verdirbt.
+ Dieses Verhalten wird in make_bad() umgesetzt.
+
+
+
+ DESTROY_BAD : Die Speise wird beim Verderben zerstoert
+ bzw. der Behaelter wird geleert
+ DESTROY_NEVER : Die Speise wird beim Verderben nicht zerstoert
+ pos. Integer : Anzahl der Sekunden, die zwischen Verderben
+ und Zerstoeren der Speise liegen sollen
+
+
+BEMERKUNGEN
+===========
+
+ Ist ein positiver Integer-Wert in dieser Property gespeichert, wird nach
+ Ausfuehren der Methode make_bad() nach Ablauf der angegebenen Sekunden
+ ein weiterer Reset ausgeloest, der make_destroy() aufruft.
+
+
+DEFAULT
+=======
+
+ Initial ist diese Property auf DESTROY_BAD gesetzt.
+
+
+SIEHE AUCH
+==========
+
+ /std/food.c, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_DESTRUCT_MSG b/doc/props/P_DESTRUCT_MSG
index 4b7e7e9..334c374 100644
--- a/doc/props/P_DESTRUCT_MSG
+++ b/doc/props/P_DESTRUCT_MSG
@@ -1,8 +1,21 @@
-NAME:
- P_DESTRUCT_MSG "destruct_msg"
-DEFINIERT IN:
- /sys/player/base.h
+P_DESTRUCT_MSG
+**************
-BESCHREIBUNG:
- Meldung, die beim Destructen Obj ausgegegen wird (nur Magier)
+
+NAME
+====
+
+ P_DESTRUCT_MSG "destruct_msg"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Meldung, die beim Destructen Obj ausgegegen wird (nur Magier)
diff --git a/doc/props/P_DETAILS b/doc/props/P_DETAILS
index e23513a..e14c15c 100644
--- a/doc/props/P_DETAILS
+++ b/doc/props/P_DETAILS
@@ -1,25 +1,44 @@
-NAME:
- P_DETAILS "details"
-DEFINIERT IN:
- /sys/thing/description.h
+P_DETAILS
+*********
-BESCHREIBUNG:
- Diese Property enthaelt ein Mapping, in der Details im Objekt
- definiert werden und Beschreibungen, die ausgegeben werden, wenn man
- sich diese Details anschaut.
-BEMERKUNGEN:
- Man kann diese Property nicht per SetProp() veraendern, sondern muss die
- entsprechenden Funktionen nutzen.
- AddSpecialDetail() und RemoveSpecialDetail() sollten nicht mehr
- verwendet werden.
+NAME
+====
-SIEHE AUCH:
- Setzen: AddDetail()
- Loeschen: RemoveDetail()
- Aehnlich: P_SPECIAL_DETAILS
- Veraltet: AddSpecialDetail(), RemoveSpecialDetail()
- Sonstiges: GetDetail(), break_string()
+ P_DETAILS "details"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt ein Mapping, in der Details im Objekt
+ definiert werden und Beschreibungen, die ausgegeben werden, wenn man
+ sich diese Details anschaut.
+
+
+BEMERKUNGEN
+===========
+
+ Man kann diese Property nicht per SetProp() veraendern, sondern muss die
+ entsprechenden Funktionen nutzen.
+ AddSpecialDetail() und RemoveSpecialDetail() sollten nicht mehr
+ verwendet werden.
+
+
+SIEHE AUCH
+==========
+
+ Setzen: AddDetail()
+ Loeschen: RemoveDetail()
+ Aehnlich: P_SPECIAL_DETAILS
+ Veraltet: AddSpecialDetail(), RemoveSpecialDetail()
+ Sonstiges: GetDetail(), break_string()
27. Jan 2013 Gloinson
diff --git a/doc/props/P_DIE_MSG b/doc/props/P_DIE_MSG
index 99f1d7c..0bd5d17 100644
--- a/doc/props/P_DIE_MSG
+++ b/doc/props/P_DIE_MSG
@@ -1,40 +1,56 @@
+
P_DIE_MSG
+*********
-NAME:
- P_DIE_MSG "die_msg"
-DEFINIERT IN:
- /sys/properties.h
+NAME
+====
-BESCHREIBUNG:
- In dieser Property uebergibt man einen String, der ausgegeben wird, wenn
- das Lebewesen stirbt. Ist die Property nicht gesetzt, so wird als String
- benutzt:
- " faellt tot zu Boden.\n".
+ P_DIE_MSG "die_msg"
- Der Name des Lebewesens wird dem String vor der Ausgabe vorangestellt.
- Der Satzumbruch am Zeilenende und das Leerzeichen nach dem Namen des
- Lebewesens muss man selbst angegeben. Es sollte allerdings beachtet
- werden, dass ein Lebewesen, das durch Gift getoetet wird, eine spezielle
- nicht zu beeinflussende Meldung erhaelt. Es wird dann als String
- benutzt:
- " wird von Gift hinweggerafft und kippt um.\n".
-BEISPIELE:
- Bei einem mitkaempfenden Schatten waere es eher unlogisch, wenn nach
- dessen 'Tod' eine Leiche zurueckbliebe. Eine logische Konsequenz waere
- folgende Meldung:
- SetProp(P_DIE_MSG," loest sich auf.\n");
- SetProp(P_NOCORPSE,1);
+DEFINIERT IN
+============
- Damit dann auch wirklich keine Leiche zurueckbleibt, wird zusaetzlich
- die Property P_NOCORPSE gesetzt.
+ /sys/properties.h
-SIEHE AUCH:
- Tod: die(L)
- Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_MURDER_MSG
- P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
- Sonstiges: P_CORPSE, P_NOCORPSE, /std/corpse.c
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ In dieser Property uebergibt man einen String, der ausgegeben wird, wenn
+ das Lebewesen stirbt. Ist die Property nicht gesetzt, so wird als String
+ benutzt:
+ " faellt tot zu Boden.\n".
+
+ Der Name des Lebewesens wird dem String vor der Ausgabe vorangestellt.
+ Der Satzumbruch am Zeilenende und das Leerzeichen nach dem Namen des
+ Lebewesens muss man selbst angegeben. Es sollte allerdings beachtet
+ werden, dass ein Lebewesen, das durch Gift getoetet wird, eine spezielle
+ nicht zu beeinflussende Meldung erhaelt. Es wird dann als String
+ benutzt:
+ " wird von Gift hinweggerafft und kippt um.\n".
+
+
+BEISPIELE
+=========
+
+ Bei einem mitkaempfenden Schatten waere es eher unlogisch, wenn nach
+ dessen 'Tod' eine Leiche zurueckbliebe. Eine logische Konsequenz waere
+ folgende Meldung:
+ SetProp(P_DIE_MSG," loest sich auf.\n");
+ SetProp(P_NOCORPSE,1);
+
+ Damit dann auch wirklich keine Leiche zurueckbleibt, wird zusaetzlich
+ die Property P_NOCORPSE gesetzt.
+
+
+SIEHE AUCH
+==========
+
+ Tod: die(L)
+ Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_MURDER_MSG
+ P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+ Sonstiges: P_CORPSE, P_NOCORPSE, /std/corpse.c
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_DISABLE_ATTACK b/doc/props/P_DISABLE_ATTACK
index 25e051d..37544ae 100644
--- a/doc/props/P_DISABLE_ATTACK
+++ b/doc/props/P_DISABLE_ATTACK
@@ -1,46 +1,64 @@
-NAME:
- P_DISABLE_ATTACK "disable_attack"
-DEFINIERT IN:
- /sys/properties.h
+P_DISABLE_ATTACK
+****************
-BESCHREIBUNG:
- Das Lebewesen kann nicht angreifen. Beim Setzen der Property ist es
- wichtig, SetProp() zu benutzen und die Anzahl der Kampfrunden anzugeben,
- die das Lebewesen paralysiert sein soll.
- Ein negativer Wert ist nicht gueltig. Bei mehr als 30 Kampfrunden wird
- die Paralyse auf 30 Kampfrunden gekappt.
+NAME
+====
- Fuer jede Paralyse bekommt ein Living eine ebenso lange Schutzzeit nach
- der Paralyse gewaehrt. Versucht man, vor Ablauf der Paralyse
- P_DISABLE_ATTACK hoeher zu setzen (oder setzt man innerhalb der folgenden
- Schutzzeit P_DISABLE_ATTACK auf > 0), wird DISABLE_TOO_EARLY von SetProp
- zurueck gegeben.
- Eine Reduktion von einem P_DISABLE_ATTACK ist moeglich, allerdings
- reduziert dies _nicht_ eine einmal gesetzte Schutzzeit.
+ P_DISABLE_ATTACK "disable_attack"
- Einen Gegner,der nie paralysiert werden koennen soll, kann man einfach
- per
- Set(P_DISABLE_ATTACK, function int () {return 0;}, F_SET_METHOD);
+DEFINIERT IN
+============
- erstellen, da bei diesem der Wert von P_DISABLE_ATTACK nicht mehr mit
- einem normalen SetProp()-Aufruf geaendert werden kann.
+ /sys/properties.h
-BEISPIELE:
- // Gegner 17 Runden lang paralysieren, ohne Ruecksicht auf fruehere P.
- // (in diesem Moment ist das Living bis time() + 4 * 17 vor laengerer
- // oder erneuter Paralyse geschuetzt)
- en->SetProp(P_DISABLE_ATTACK, 17);
- // Der Gegner kann jetzt fuer 34 Kampfrunden nicht erneut paralysiert
- // werden.
- // Paralyse reduzieren auf 10 Kampfrunden
- en->SetProp(P_DISABLE_ATTACK, 10);
- // Die Schutzzeit ist immer noch bei 34 Kampfrunden, nicht bei 20.
-SIEHE AUCH:
- P_NEXT_DISABLE_ATTACK
+BESCHREIBUNG
+============
+
+ Das Lebewesen kann nicht angreifen. Beim Setzen der Property ist es
+ wichtig, SetProp() zu benutzen und die Anzahl der Kampfrunden anzugeben,
+ die das Lebewesen paralysiert sein soll.
+
+ Ein negativer Wert ist nicht gueltig. Bei mehr als 30 Kampfrunden wird
+ die Paralyse auf 30 Kampfrunden gekappt.
+
+ Fuer jede Paralyse bekommt ein Living eine ebenso lange Schutzzeit nach
+ der Paralyse gewaehrt. Versucht man, vor Ablauf der Paralyse
+ P_DISABLE_ATTACK hoeher zu setzen (oder setzt man innerhalb der folgenden
+ Schutzzeit P_DISABLE_ATTACK auf > 0), wird DISABLE_TOO_EARLY von SetProp
+ zurueck gegeben.
+ Eine Reduktion von einem P_DISABLE_ATTACK ist moeglich, allerdings
+ reduziert dies _nicht_ eine einmal gesetzte Schutzzeit.
+
+ Einen Gegner,der nie paralysiert werden koennen soll, kann man einfach
+ per
+
+ Set(P_DISABLE_ATTACK, function int () {return 0;}, F_SET_METHOD);
+
+ erstellen, da bei diesem der Wert von P_DISABLE_ATTACK nicht mehr mit
+ einem normalen SetProp()-Aufruf geaendert werden kann.
+
+
+BEISPIELE
+=========
+
+ // Gegner 17 Runden lang paralysieren, ohne Ruecksicht auf fruehere P.
+ // (in diesem Moment ist das Living bis time() + 4 * 17 vor laengerer
+ // oder erneuter Paralyse geschuetzt)
+ en->SetProp(P_DISABLE_ATTACK, 17);
+ // Der Gegner kann jetzt fuer 34 Kampfrunden nicht erneut paralysiert
+ // werden.
+ // Paralyse reduzieren auf 10 Kampfrunden
+ en->SetProp(P_DISABLE_ATTACK, 10);
+ // Die Schutzzeit ist immer noch bei 34 Kampfrunden, nicht bei 20.
+
+
+SIEHE AUCH
+==========
+
+ P_NEXT_DISABLE_ATTACK
19.08.2014, Zesstra
-
diff --git a/doc/props/P_DISABLE_COMMANDS b/doc/props/P_DISABLE_COMMANDS
index f0318e0..e66910a 100644
--- a/doc/props/P_DISABLE_COMMANDS
+++ b/doc/props/P_DISABLE_COMMANDS
@@ -1,74 +1,100 @@
+
P_DISABLE_COMMANDS
+******************
-NAME:
- P_DISABLE_COMMANDS "p_lib_disablecommands"
-DEFINIERT IN:
- /sys/player/command.h
+NAME
+====
-BESCHREIBUNG:
- Mit dieser Prop kann man verhindern, dass Kommandos eines Spielers
- verarbeitet werden. Dies ist z.B. in Sequenzen nuetzlich, wo der Spieler
- rein passiv konsumieren soll.
- In diese Property muss ein Array mit 2 oder 3 Elementen geschrieben
- werden:
- 1) Endzeitpunkt in Sekunden seit 1.1.1970 (int)
- 2) Meldung (String oder Closure)
- 3) (optional) Array von trotzdem erlaubten Verben (string*)
- (nur ausgewertet, wenn die Meldung ein String ist)
-
- Ist die Meldung ein String, wird dieser einfach bei jedem Kommando so wie
- er ist an den Spieler ausgegeben und das Kommando abgebrochen.
- Ist die Meldung eine Closure wird diese bei jedem Kommando aufgerufen und
- das Kommando abgebrochen, wenn sie einen Rueckgabewert != 0 zurueckgibt.
- In diesem Fall ist die gerufene Funktion dafuer verantwortlich, geeignete
- Meldungen an den Spieler auszugeben!
- Der Funktion wird der vom Spieler eingebene Befehl (string) als erstes
- Argument uebergeben. Zu diesem Zeitpunkt wurde alle Aliase schon
- ausgewertet. Die Funktion kann den Kommandogeber via this_player()
- ermitteln.
- Fuer weitere Informationen steht auch command_stack() zur Verfuegung,
- allerdings ist dort die Alias-Ersetzung nicht beruecksichtigt.
+ P_DISABLE_COMMANDS "p_lib_disablecommands"
- Die Ausnahmeliste wird nur fuer simple Strings als Meldung ausgewertet,
- wird eine Closure verwendet, kann diese besser selber die Ausnahmen
- bestimmen.
-
- Fragt man diese Prop ab, erhaelt man ein Array mit 4 Elementen: setzendes
- Objekt (object), Ablaufzeit (int), Meldung (String oder Closure) und
- Liste von Ausnahmen (string*).
-BEMERKUNGEN:
- 1. Die Prop wird fuer Magier mit eingeschaltetem P_WANTS_TO_LEARN
- ignoriert.
- 2. Wenn das Objekt zerstoert wird, was die Prop gesetzt hat, wird der
- Eintrag unwirksam.
- 3. Wenn diese Prop gesetzt und nicht abgelaufen ist, kann nur das gleiche
- Objekt sie mit neuen Daten ueberschreiben. Alle anderen Objekte koennen
- die Prop nur loeschen. Dies soll verhindern, dass Magier unabsichtlich
- einfach anderer Leute Eintraege ueberschreiben. Dementsprechend: Lasst
- die Finger davon, wenn die schon gesetzt ist. ;-)
- 4. Diese Prop darf _ausschliesslich_ mit SetProp() und QueryProp() benutzt
- werden, Set() und Query() funktionieren _nicht_.
- 5. Es gibt einige Verben, die NIE blockiert werden. Zur Zeit sind dies
- "mrufe", "mschau", "bug", "idee", "typo" und "detail".
- 6. Bitte nicht missbrauchen, speziell nicht dazu, die Kommandos von
- Spieler zu ueberwachen/mitzuschreiben. Das Setzen dieser Prop wird
- geloggt.
+DEFINIERT IN
+============
-BEISPIEL:
+ /sys/player/command.h
+
+
+BESCHREIBUNG
+============
+
+ Mit dieser Prop kann man verhindern, dass Kommandos eines Spielers
+ verarbeitet werden. Dies ist z.B. in Sequenzen nuetzlich, wo der Spieler
+ rein passiv konsumieren soll.
+ In diese Property muss ein Array mit 2 oder 3 Elementen geschrieben
+ werden:
+ 1) Endzeitpunkt in Sekunden seit 1.1.1970 (int)
+ 2) Meldung (String oder Closure)
+ 3) (optional) Array von trotzdem erlaubten Verben (string*)
+ (nur ausgewertet, wenn die Meldung ein String ist)
+
+
+
+ Ist die Meldung ein String, wird dieser einfach bei jedem Kommando so wie
+ er ist an den Spieler ausgegeben und das Kommando abgebrochen.
+ Ist die Meldung eine Closure wird diese bei jedem Kommando aufgerufen und
+ das Kommando abgebrochen, wenn sie einen Rueckgabewert != 0 zurueckgibt.
+ In diesem Fall ist die gerufene Funktion dafuer verantwortlich, geeignete
+ Meldungen an den Spieler auszugeben!
+ Der Funktion wird der vom Spieler eingebene Befehl (string) als erstes
+ Argument uebergeben. Zu diesem Zeitpunkt wurde alle Aliase schon
+ ausgewertet. Die Funktion kann den Kommandogeber via this_player()
+ ermitteln.
+ Fuer weitere Informationen steht auch command_stack() zur Verfuegung,
+ allerdings ist dort die Alias-Ersetzung nicht beruecksichtigt.
+
+ Die Ausnahmeliste wird nur fuer simple Strings als Meldung ausgewertet,
+ wird eine Closure verwendet, kann diese besser selber die Ausnahmen
+ bestimmen.
+
+
+
+ Fragt man diese Prop ab, erhaelt man ein Array mit 4 Elementen: setzendes
+ Objekt (object), Ablaufzeit (int), Meldung (String oder Closure) und
+ Liste von Ausnahmen (string*).
+
+
+BEMERKUNGEN
+===========
+
+ 1. Die Prop wird fuer Magier mit eingeschaltetem P_WANTS_TO_LEARN
+ ignoriert.
+ 2. Wenn das Objekt zerstoert wird, was die Prop gesetzt hat, wird der
+ Eintrag unwirksam.
+ 3. Wenn diese Prop gesetzt und nicht abgelaufen ist, kann nur das gleiche
+ Objekt sie mit neuen Daten ueberschreiben. Alle anderen Objekte koennen
+ die Prop nur loeschen. Dies soll verhindern, dass Magier unabsichtlich
+ einfach anderer Leute Eintraege ueberschreiben. Dementsprechend: Lasst
+ die Finger davon, wenn die schon gesetzt ist. ;-)
+ 4. Diese Prop darf _ausschliesslich_ mit SetProp() und QueryProp() benutzt
+ werden, Set() und Query() funktionieren _nicht_.
+ 5. Es gibt einige Verben, die NIE blockiert werden. Zur Zeit sind dies
+ "mrufe", "mschau", "bug", "idee", "typo" und "detail".
+ 6. Bitte nicht missbrauchen, speziell nicht dazu, die Kommandos von
+ Spieler zu ueberwachen/mitzuschreiben. Das Setzen dieser Prop wird
+ geloggt.
+
+
+BEISPIEL
+========
+
In einem Raum startet eine Sequenz, in der der Spieler nichts machen soll:
if (!pl->QueryProp(P_DISABLE_COMMANDS))
pl->SetProp(P_DISABLE_COMMANDS,
({ time() + 120, "Du bist tief in Deinem Traum gefangen!\n" }) );
else // ... Fehlerbehandlung, falls Prop schon gesetzt ...
-
+
+
+
Soll die Prop aus irgendeinem Grund (vorzeitig) geloescht werden:
pl->SetProp(P_DISABLE_COMMANDS, 0);
-SIEHE AUCH:
- command(), query_command(), command_stack(), modify_command(),
- this_player()
+
+SIEHE AUCH
+==========
+
+ command(), query_command(), command_stack(), modify_command(),
+ this_player()
01.12.2012, Zesstra
diff --git a/doc/props/P_DISTRIBUTION b/doc/props/P_DISTRIBUTION
index 529c53e..51140ae 100644
--- a/doc/props/P_DISTRIBUTION
+++ b/doc/props/P_DISTRIBUTION
@@ -1,16 +1,31 @@
-NAME:
- P_DISTRIBUTION "std_food_distribution"
-
-DEFINIERT IN:
- /sys/food.h
-
-BESCHREIBUNG:
- Verteilung der Heilung ueber mehrere Heartbeats.
- Dieser Wert wird im entry_info als H_DISTRIBUTION dem consume() im
- Living uebergeben.
-
-SIEHE AUCH:
- consume
-
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+P_DISTRIBUTION
+**************
+
+
+NAME
+====
+
+ P_DISTRIBUTION "std_food_distribution"
+
+
+DEFINIERT IN
+============
+
+ /sys/food.h
+
+
+BESCHREIBUNG
+============
+
+ Verteilung der Heilung ueber mehrere Heartbeats.
+ Dieser Wert wird im entry_info als H_DISTRIBUTION dem consume() im
+ Living uebergeben.
+
+
+SIEHE AUCH
+==========
+
+ consume
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_DMSG b/doc/props/P_DMSG
index f43fbb4..40af065 100644
--- a/doc/props/P_DMSG
+++ b/doc/props/P_DMSG
@@ -1,8 +1,21 @@
-NAME:
- P_DMSG "destmsg"
-DEFINIERT IN:
- /sys/player/base.h
+P_DMSG
+******
-BESCHREIBUNG:
- *** OBSOLET! *** Siehe P_DESTRUCT_MSG
+
+NAME
+====
+
+ P_DMSG "destmsg"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ *** OBSOLET! *** Siehe P_DESTRUCT_MSG
diff --git a/doc/props/P_DOMAIN b/doc/props/P_DOMAIN
index 80fd1f7..aad5288 100644
--- a/doc/props/P_DOMAIN
+++ b/doc/props/P_DOMAIN
@@ -1,31 +1,50 @@
-NAME:
- P_DOMAIN "lib_p_domain"
-DEFINIERT IN:
- /sys/room/description.h
+P_DOMAIN
+********
-BESCHREIBUNG:
- Diese Property enthaelt die Region, in der ein Raum liegt, sofern er
- in /d/ liegt.
- Falls ein Raum nicht in /d/ liegt, aber es eigentlich ein Gebiet ist,
- welches eindeutig in einer Region zugeordnet ist, kann der Magier
- hier gezielt einen anderen Wert setzen.
-
- Bitte keine Regionen faelschen!
+NAME
+====
-BEISPIEL:
- In /d/inseln/zesstra/vulkanweg/room/r1 liefert
- QueryProp(P_DOMAIN)
- ein "Inseln" zurueck.
+ P_DOMAIN "lib_p_domain"
- In einem Raum der Chaosgilde:
- SetProp(P_DOMAIN, "Polar");
- damit der Raum als Raum der Region Polar angezeigt wird.
-SIEHE AUCH:
- gmcp
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt die Region, in der ein Raum liegt, sofern er
+ in /d/ liegt.
+
+ Falls ein Raum nicht in /d/ liegt, aber es eigentlich ein Gebiet ist,
+ welches eindeutig in einer Region zugeordnet ist, kann der Magier
+ hier gezielt einen anderen Wert setzen.
+
+
+
+ Bitte keine Regionen faelschen!
+
+
+BEISPIEL
+========
+
+ In /d/inseln/zesstra/vulkanweg/room/r1 liefert
+ QueryProp(P_DOMAIN)
+ ein "Inseln" zurueck.
+
+ In einem Raum der Chaosgilde:
+ SetProp(P_DOMAIN, "Polar");
+ damit der Raum als Raum der Region Polar angezeigt wird.
+
+
+SIEHE AUCH
+==========
+
+ gmcp
+
23.02.2013, Zesstra
-
diff --git a/doc/props/P_DOOR_INFOS b/doc/props/P_DOOR_INFOS
index 8b5f71b..dc393da 100644
--- a/doc/props/P_DOOR_INFOS
+++ b/doc/props/P_DOOR_INFOS
@@ -1,44 +1,58 @@
-NAME:
- P_DOOR_INFOS "door_infos"
-DEFINIERT IN:
- /sys/doorroom.h
-
-BESCHREIBUNG:
- Mapping mit Informationen ueber eine im Raum per NewDoor() definierte
- Tuer. Diese Infos werden ueber /std/room/doors.c an den /obj/doormaster.c
- weitergegeben und dem Raum, der die Tuer besitzt, als Property gesetzt.
- Werden mehrere Tueren in einem Raum eingebunden, enthaelt das Mapping
- entsprechend viele Eintraege.
-
- Dieses Mapping dient zur internen Verwaltung der Tueren im
- /obj/doormaster.c und sollte nicht per Hand veraendert werden!
-
- Die Eintraege im Mapping haben folgende keys (definiert in
- /sys/doorroom.h):
-
- D_DEST : Zielraum (string)
- D_CMDS : Befehl(e), um durch die Tuer zu gehen (string oder *string)
- D_IDS : IDs der Tuer (string oder *string)
- D_FLAGS : Besondere Eigenschaften der Tuer (Tuer braucht Schluessel etc.)
- D_LONG : Langbeschreibung (string)
- D_SHORT : Kurzbeschreibung (string)
- D_NAME : Name (string oder *string)
- D_GENDER : Geschlecht
- D_FUNC : Funktion, die VOR dem Durchschreiten der Tuer aufgerufen wird
- D_MSGS : Bewegungsmeldungen
- D_FUNC2 : Funktion, die NACH dem Durchschreiten der Tuer aufgerufen wird
- D_TESTFUNC : Funktion die im Sartraum testet, ob die Tuer durchschritten
- werden darf
- D_RESET_MSG : Meldungen beim Tuer-Reset
- D_OPEN_WITH_MOVE : Falls gesetzt, wird die Tuer auch mit dem
- Bewegungsbefehl geoeffnet und durchschritten, falls
- Oeffnen erfolgreich
+P_DOOR_INFOS
+************
-SIEHE AUCH:
- NewDoor(), QueryDoorKey(), QueryDoorStatus(), SetDoorStatus(),
- /std/room/doors.c, /obj/doormaster.c, GetPhiolenInfos(), QueryAllDoors()
+NAME
+====
------------------------------------------------------------------------------
+ P_DOOR_INFOS "door_infos"
+
+
+DEFINIERT IN
+============
+
+ /sys/doorroom.h
+
+
+BESCHREIBUNG
+============
+
+ Mapping mit Informationen ueber eine im Raum per NewDoor() definierte
+ Tuer. Diese Infos werden ueber /std/room/doors.c an den /obj/doormaster.c
+ weitergegeben und dem Raum, der die Tuer besitzt, als Property gesetzt.
+ Werden mehrere Tueren in einem Raum eingebunden, enthaelt das Mapping
+ entsprechend viele Eintraege.
+
+ Dieses Mapping dient zur internen Verwaltung der Tueren im
+ /obj/doormaster.c und sollte nicht per Hand veraendert werden!
+
+ Die Eintraege im Mapping haben folgende keys (definiert in
+ /sys/doorroom.h):
+
+ D_DEST : Zielraum (string)
+ D_CMDS : Befehl(e), um durch die Tuer zu gehen (string oder *string)
+ D_IDS : IDs der Tuer (string oder *string)
+ D_FLAGS : Besondere Eigenschaften der Tuer (Tuer braucht Schluessel etc.)
+ D_LONG : Langbeschreibung (string)
+ D_SHORT : Kurzbeschreibung (string)
+ D_NAME : Name (string oder *string)
+ D_GENDER : Geschlecht
+ D_FUNC : Funktion, die VOR dem Durchschreiten der Tuer aufgerufen wird
+ D_MSGS : Bewegungsmeldungen
+ D_FUNC2 : Funktion, die NACH dem Durchschreiten der Tuer aufgerufen wird
+ D_TESTFUNC : Funktion die im Sartraum testet, ob die Tuer durchschritten
+ werden darf
+ D_RESET_MSG : Meldungen beim Tuer-Reset
+ D_OPEN_WITH_MOVE : Falls gesetzt, wird die Tuer auch mit dem
+ Bewegungsbefehl geoeffnet und durchschritten, falls
+ Oeffnen erfolgreich
+
+
+SIEHE AUCH
+==========
+
+ NewDoor(), QueryDoorKey(), QueryDoorStatus(), SetDoorStatus(),
+ /std/room/doors.c, /obj/doormaster.c, GetPhiolenInfos(), QueryAllDoors()
+
Letzte Aenderung: Don, 08.05.2014, Gabylon
diff --git a/doc/props/P_DO_DESTRUCT b/doc/props/P_DO_DESTRUCT
index 7e9a230..6aa9384 100644
--- a/doc/props/P_DO_DESTRUCT
+++ b/doc/props/P_DO_DESTRUCT
@@ -1,17 +1,36 @@
-NAME:
- P_DO_DESTRUCT "do_destruct"
-DEFINIERT IN:
- /sys/properties.h
+P_DO_DESTRUCT
+*************
-BESCHREIBUNG:
- Flag, ob sich die Lichtquelle am Ende der Leuchtzeit selbst
- zerstoert.
-SIEHE AUCH:
- Basisklassen: /std/lightsource.c
- Properties: P_FUEL, P_LIGHTDESC, P_LIGHT
- Methoden: AddFuel(L)
+NAME
+====
-LETZTE AENDERUNG:
- 22. Dez. 2015, Arathorn
+ P_DO_DESTRUCT "do_destruct"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Flag, ob sich die Lichtquelle am Ende der Leuchtzeit selbst
+ zerstoert.
+
+
+SIEHE AUCH
+==========
+
+ Basisklassen: /std/lightsource.c
+ Properties: P_FUEL, P_LIGHTDESC, P_LIGHT
+ Methoden: AddFuel(L)
+
+
+LETZTE AENDERUNG
+================
+
+ 22. Dez. 2015, Arathorn
diff --git a/doc/props/P_DRINK b/doc/props/P_DRINK
index f2fe982..028e987 100644
--- a/doc/props/P_DRINK
+++ b/doc/props/P_DRINK
@@ -1,25 +1,39 @@
-NAME:
- P_DRINK "drink"
-DEFINIERT IN:
- /sys/living/life.h
+P_DRINK
+*******
-BESCHREIBUNG:
- - Lebewesen
- Numerischer Wert fuer den Saettigungsgrad eines Lebewesens mit
- Getraenken. Der maximale Wert steht in P_MAX_DRINK.
+NAME
+====
- - Speisen/Kneipen
- Numerischer Wert fuer den Saettigungsgrad einer Portion eines
- Getraenkes. Ist diese Property nicht gesetzt oder zusaetzlich
- P_FOOD gesetzt, kann man diese Speise nicht trinken. Eine
- funktionierende Speise _muss_ entweder P_FOOD oder P_DRINK
- groesser 0 gesetzt haben.
-
-SIEHE AUCH:
- P_MAX_DRINK, P_DRINK_DELAY, consume
- P_FOOD, P_ALCOHOL, wiz/food
+ P_DRINK "drink"
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ - Lebewesen
+ Numerischer Wert fuer den Saettigungsgrad eines Lebewesens mit
+ Getraenken. Der maximale Wert steht in P_MAX_DRINK.
+
+ - Speisen/Kneipen
+ Numerischer Wert fuer den Saettigungsgrad einer Portion eines
+ Getraenkes. Ist diese Property nicht gesetzt oder zusaetzlich
+ P_FOOD gesetzt, kann man diese Speise nicht trinken. Eine
+ funktionierende Speise _muss_ entweder P_FOOD oder P_DRINK
+ groesser 0 gesetzt haben.
+
+
+SIEHE AUCH
+==========
+
+ P_MAX_DRINK, P_DRINK_DELAY, consume
+ P_FOOD, P_ALCOHOL, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_DRINK_DELAY b/doc/props/P_DRINK_DELAY
index 0118843..1617b47 100644
--- a/doc/props/P_DRINK_DELAY
+++ b/doc/props/P_DRINK_DELAY
@@ -1,10 +1,23 @@
-NAME:
- P_DRINK_DELAY "drink_delay"
-DEFINIERT IN:
- /sys/living/life.h
+P_DRINK_DELAY
+*************
-BESCHREIBUNG:
- Anzahl der heart_beats, bis P_DRINK um einen Punkt sinkt.
- Aenderungen dieser Property in Spielern beduerfen der
- Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+ P_DRINK_DELAY "drink_delay"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der heart_beats, bis P_DRINK um einen Punkt sinkt.
+ Aenderungen dieser Property in Spielern beduerfen der
+ Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_DRINK_FULL_MSG b/doc/props/P_DRINK_FULL_MSG
index 2903af3..1e5c2ce 100644
--- a/doc/props/P_DRINK_FULL_MSG
+++ b/doc/props/P_DRINK_FULL_MSG
@@ -1,24 +1,45 @@
-NAME:
- P_DRINK_FULL_MSG "std_food_drink_full_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_DRINK_FULL_MSG
+****************
-BESCHREIBUNG:
- Meldung an den Konsumenten, wenn ein Getraenk getrunken werden soll,
- obwohl dieser nichts mehr trinken kann.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "So viel kannst Du im Moment nicht trinken."
-SIEHE AUCH:
- P_DRINK, P_MAX_DRINK, wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_DRINK_FULL_MSG "std_food_drink_full_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Konsumenten, wenn ein Getraenk getrunken werden soll,
+ obwohl dieser nichts mehr trinken kann.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "So viel kannst Du im Moment nicht trinken."
+
+
+SIEHE AUCH
+==========
+
+ P_DRINK, P_MAX_DRINK, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_DROP_MSG b/doc/props/P_DROP_MSG
index 5a4c9d7..9ccb875 100644
--- a/doc/props/P_DROP_MSG
+++ b/doc/props/P_DROP_MSG
@@ -1,62 +1,96 @@
+
P_DROP_MSG
-NAME:
- P_DROP_MSG "drop_message"
+**********
-DEFINIERT IN:
- /sys/living/put_and_get.h
-BESCHREIBUNG:
- Mit P_DROP_MSG kann man die Meldung, die man beim Ablegen eines
- Objektes bekommt, modifizieren.
+NAME
+====
- Folgende Werte sind moeglich:
-
- o 0
- Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
-
- o NO_PNG_MSG == -1
- Es wird keinerlei Meldung ausgegeben
-
- o Ein Array aus Strings
- Der erste String wird an den Spieler ausgegeben, der zweite
- (optionale) an den Raum.
-
- Die Strings werden durch die Funktion replace_personal() geparst.
- Objekt1 - Spieler
- Objekt2 - das Objekt, das fallengelassen wird
-
- Wird der zweite String nicht angegeben, erfolgt keine Meldung an
- den Raum.
-
-BEISPIEL:
- void create() {
- ...
- SetProp( P_SHORT, "Ugars Handaxt" );
- SetProp( P_LONG, break_string(
- "Dieses ist eine Kampfaxt, wie sie Orks normalerweise benutzen. "
- "Da Du Zeit hast, sie Dir anzuschauen, ist der Besitzer wohl "
- "bereits bei Lars.",78 ));
-
- SetProp( P_NAME, "Axt" );
- AddId( ({"handaxt","axt"}) );
- SetProp( P_GENDER, FEMALE );
-
- SetProp( P_DROP_MSG, ({
- "Du schmeisst @WEN2 hin.",
- "@WER1 schmeisst Dir @WENU2 vor die Fuesse.\n"}));
- ...
- }
+ P_DROP_MSG "drop_message"
- Will Ugar seine Axt ablegen und gibt "lasse axt fallen" ein, werden
- folgende Meldungen ausgegeben:
-
- Ugar: "Du schmeisst die Axt hin."
- Raum: "Ugar schmeisst Dir eine Axt vor die Fuesse."
-
-SIEHE AUCH:
- Aehnliches: P_PICK_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
- Fehler: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
- P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
- Sonstiges: replace_personal(E), drop_obj(L), /std/living/put_and_get.c
+
+DEFINIERT IN
+============
+
+ /sys/living/put_and_get.h
+
+
+BESCHREIBUNG
+============
+
+ Mit P_DROP_MSG kann man die Meldung, die man beim Ablegen eines
+ Objektes bekommt, modifizieren.
+
+ Folgende Werte sind moeglich:
+
+
+
+ o 0
+ Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
+
+
+
+ o NO_PNG_MSG == -1
+ Es wird keinerlei Meldung ausgegeben
+
+
+
+ o Ein Array aus Strings
+ Der erste String wird an den Spieler ausgegeben, der zweite
+ (optionale) an den Raum.
+
+
+
+ Die Strings werden durch die Funktion replace_personal() geparst.
+ Objekt1 - Spieler
+ Objekt2 - das Objekt, das fallengelassen wird
+
+
+
+ Wird der zweite String nicht angegeben, erfolgt keine Meldung an
+ den Raum.
+
+
+BEISPIEL
+========
+
+ void create() {
+ ...
+ SetProp( P_SHORT, "Ugars Handaxt" );
+ SetProp( P_LONG, break_string(
+ "Dieses ist eine Kampfaxt, wie sie Orks normalerweise benutzen. "
+ "Da Du Zeit hast, sie Dir anzuschauen, ist der Besitzer wohl "
+ "bereits bei Lars.",78 ));
+
+
+
+ SetProp( P_NAME, "Axt" );
+ AddId( ({"handaxt","axt"}) );
+ SetProp( P_GENDER, FEMALE );
+
+
+
+ SetProp( P_DROP_MSG, ({
+ "Du schmeisst @WEN2 hin.",
+ "@WER1 schmeisst Dir @WENU2 vor die Fuesse.\n"}));
+ ...
+ }
+
+ Will Ugar seine Axt ablegen und gibt "lasse axt fallen" ein, werden
+ folgende Meldungen ausgegeben:
+
+
+
+ Ugar: "Du schmeisst die Axt hin."
+ Raum: "Ugar schmeisst Dir eine Axt vor die Fuesse."
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_PICK_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
+ Fehler: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+ P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
+ Sonstiges: replace_personal(E), drop_obj(L), /std/living/put_and_get.c
14. Maerz 2004 Gloinson
diff --git a/doc/props/P_EARMUFFS b/doc/props/P_EARMUFFS
index 97e6b1c..e5b4bbb 100644
--- a/doc/props/P_EARMUFFS
+++ b/doc/props/P_EARMUFFS
@@ -1,9 +1,22 @@
-NAME:
- P_EARMUFFS "earmuffs"
-DEFINIERT IN:
- /sys/properties.h
+P_EARMUFFS
+**********
-BESCHREIBUNG:
- Shouts von Spielern und Magiern mit Magierlevel < earmuffs werden
- abgeblockt (Nur fuer Magier).
+
+NAME
+====
+
+ P_EARMUFFS "earmuffs"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Shouts von Spielern und Magiern mit Magierlevel < earmuffs werden
+ abgeblockt (Nur fuer Magier).
diff --git a/doc/props/P_EATER_MSG b/doc/props/P_EATER_MSG
index 99ae4d3..132469d 100644
--- a/doc/props/P_EATER_MSG
+++ b/doc/props/P_EATER_MSG
@@ -1,23 +1,44 @@
-NAME:
- P_EATER_MSG "std_food_eater_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_EATER_MSG
+***********
-BESCHREIBUNG:
- Meldung an den Konsumenten, wenn eine Speise konsumiert wird.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "Du konsumierst @WEN1."
-SIEHE AUCH:
- /std/food.c, wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_EATER_MSG "std_food_eater_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Konsumenten, wenn eine Speise konsumiert wird.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "Du konsumierst @WEN1."
+
+
+SIEHE AUCH
+==========
+
+ /std/food.c, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_EFFECTIVE_AC b/doc/props/P_EFFECTIVE_AC
index ff7dd53..5473d5d 100644
--- a/doc/props/P_EFFECTIVE_AC
+++ b/doc/props/P_EFFECTIVE_AC
@@ -1,87 +1,107 @@
+
P_EFFECTIVE_AC
+**************
-NAME:
- P_EFFECTIVE_AC "effective_ac"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Diese Property kommt sowohl in Ruestungen als auch in Waffen, die
- schuetzen sollen, zum Einsatz.
+ P_EFFECTIVE_AC "effective_ac"
- In Ruestungen kann hier der Effektivwert der Ruestungsklasse vermerkt
- werden, wenn diese noch durch eine DefendFunc() modifiziert wird
- (soweit sich ein solcher Effektivwert angeben laesst).
- In einigen Gilden koennen Waffen auch als Ruestung eingesetzt werden
- (z.B. beim Parieren eines Angriffs). In dieser Property kann man die
- Ruestungsklasse eintragen, die die Waffe bei solchen Aktionen aufweisen
- soll. Dabei ist man an die ueblichen Beschraenkungen der
- Ruestungsklasse gebunden! (s. /sys/combat.h)
+DEFINIERT IN
+============
-BERMERKUNGEN:
- Das Kaempferspellbook verwendet fuer Paraden etc. P_EFFECTIVE_AC anstatt
- P_AC, wenn verfuegbar.
+ <combat.h>
-BEISPIELE:
- * DefendFuncs:
- Der doppelte Mittelwert der DefendFunc wird zur Basis-AC dazuaddiert,
- da sich der 'Schutzwert = random(Basis-AC) + absolut(DefendFunc-Wert)'
- berechnet.
- // #1 Eine Ruestung mit P_AC von 35 und randomisierter DefendFunc
- SetProp(P_AC, 35);
- SetProp(P_DEFEND_FUNC, this_object());
+BESCHREIBUNG
+============
- int DefendFunc(...) {
- return random(20); // Mittelwert: 10
- }
- -> SetProp(P_EFFECTIVE_AC, 55); // 35 + 2*10 = 55
+ Diese Property kommt sowohl in Ruestungen als auch in Waffen, die
+ schuetzen sollen, zum Einsatz.
- // #2 Eine Ruestung mit P_AC von 35 und teilrandomisierter DefendFunc
- SetProp(P_AC, 35);
- SetProp(P_DEFEND_FUNC, this_object());
+ In Ruestungen kann hier der Effektivwert der Ruestungsklasse vermerkt
+ werden, wenn diese noch durch eine DefendFunc() modifiziert wird
+ (soweit sich ein solcher Effektivwert angeben laesst).
- int DefendFunc(...) {
- return 20 + random(10); // Mittelwert: 20 + 5
- }
- -> SetProp(P_EFFECTIVE_AC, 85); // 35 + 2*(20+5) = 85
+ In einigen Gilden koennen Waffen auch als Ruestung eingesetzt werden
+ (z.B. beim Parieren eines Angriffs). In dieser Property kann man die
+ Ruestungsklasse eintragen, die die Waffe bei solchen Aktionen aufweisen
+ soll. Dabei ist man an die ueblichen Beschraenkungen der
+ Ruestungsklasse gebunden! (s. /sys/combat.h)
- * Sonderfunktion im Kontext der Kaempfergilde:
- Auch wenn der eigentliche AC-Wert durch keine DefendFunc oAe
- modifiziert wird, sind abweichende Werte in P_EFFECTIVE_AC zB in der
- Kaempfergilde fuer Paraden oder aehnliches sinnvoll. Maximalwert ist
- dafuer der doppelte Wert des Basis-AC-Wertes.
- // #3 Ein schon sehr gutes Schild, welches bei der Schildparade aber
- // noch besser schuetzen soll.
- SetProp(P_ARMOUR_TYPE, AT_SHIELD);
- SetProp(P_AC, 38);
- SetProp(P_EFFECTIVE_AC, 55);
+BERMERKUNGEN
+============
- // #4 Ein sehr labbriges Schild schuetzt zwar gegen normale Schlaege,
- // ist zum Parieren aber irgendwie ungeeignet weil unkontrollierbar.
- SetProp(P_ARMOUR_TYPE, AT_SHIELD);
- SetProp(P_AC, 38);
- SetProp(P_EFFECTIVE_AC, 20);
+ Das Kaempferspellbook verwendet fuer Paraden etc. P_EFFECTIVE_AC anstatt
+ P_AC, wenn verfuegbar.
- * Waffen:
- P_EFFECTIVE_AC wird im Kaempferspellbook als Bonus dazugezaehlt! Daher
- sollten gute Parierwaffen auch einen niedrigeren P_WC-Wert haben.
- Reine Parierwaffen duerfen den maximalen AC-Wert von Schilden als
- Maximum gesetzt haben - die Balance klaert ggf, ob das auch auf den
- Gildenparierwert anwendbar ist.
- // #5 Eine maessige Hellebarde/Axtwaffe mit Parierhaken.
- SetProp(P_WEAPON_TYPE, WT_AXE);
- SetProp(P_WC, 100);
- SetProp(P_EFFECTIVE_AC, 25);
+BEISPIELE
+=========
-SIEHE AUCH:
- Waffen: P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
- Ruestungen: P_AC, P_TOTAL_AC, DefendFunc()
- Files: /std/weapon.c, /std/weapon/combat.c
- Balance: waffen, ruestungen, properties, kaempferboni
+ * DefendFuncs:
+ Der doppelte Mittelwert der DefendFunc wird zur Basis-AC dazuaddiert,
+ da sich der 'Schutzwert = random(Basis-AC) + absolut(DefendFunc-Wert)'
+ berechnet.
+
+ // #1 Eine Ruestung mit P_AC von 35 und randomisierter DefendFunc
+ SetProp(P_AC, 35);
+ SetProp(P_DEFEND_FUNC, this_object());
+
+ int DefendFunc(...) {
+ return random(20); // Mittelwert: 10
+ }
+ -> SetProp(P_EFFECTIVE_AC, 55); // 35 + 2*10 = 55
+
+ // #2 Eine Ruestung mit P_AC von 35 und teilrandomisierter DefendFunc
+ SetProp(P_AC, 35);
+ SetProp(P_DEFEND_FUNC, this_object());
+
+ int DefendFunc(...) {
+ return 20 + random(10); // Mittelwert: 20 + 5
+ }
+ -> SetProp(P_EFFECTIVE_AC, 85); // 35 + 2*(20+5) = 85
+
+ * Sonderfunktion im Kontext der Kaempfergilde:
+ Auch wenn der eigentliche AC-Wert durch keine DefendFunc oAe
+ modifiziert wird, sind abweichende Werte in P_EFFECTIVE_AC zB in der
+ Kaempfergilde fuer Paraden oder aehnliches sinnvoll. Maximalwert ist
+ dafuer der doppelte Wert des Basis-AC-Wertes.
+
+ // #3 Ein schon sehr gutes Schild, welches bei der Schildparade aber
+ // noch besser schuetzen soll.
+ SetProp(P_ARMOUR_TYPE, AT_SHIELD);
+ SetProp(P_AC, 38);
+ SetProp(P_EFFECTIVE_AC, 55);
+
+ // #4 Ein sehr labbriges Schild schuetzt zwar gegen normale Schlaege,
+ // ist zum Parieren aber irgendwie ungeeignet weil unkontrollierbar.
+ SetProp(P_ARMOUR_TYPE, AT_SHIELD);
+ SetProp(P_AC, 38);
+ SetProp(P_EFFECTIVE_AC, 20);
+
+ * Waffen:
+ P_EFFECTIVE_AC wird im Kaempferspellbook als Bonus dazugezaehlt! Daher
+ sollten gute Parierwaffen auch einen niedrigeren P_WC-Wert haben.
+ Reine Parierwaffen duerfen den maximalen AC-Wert von Schilden als
+ Maximum gesetzt haben - die Balance klaert ggf, ob das auch auf den
+ Gildenparierwert anwendbar ist.
+
+ // #5 Eine maessige Hellebarde/Axtwaffe mit Parierhaken.
+ SetProp(P_WEAPON_TYPE, WT_AXE);
+ SetProp(P_WC, 100);
+ SetProp(P_EFFECTIVE_AC, 25);
+
+
+SIEHE AUCH
+==========
+
+ Waffen: P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
+ Ruestungen: P_AC, P_TOTAL_AC, DefendFunc()
+ Files: /std/weapon.c, /std/weapon/combat.c
+ Balance: waffen, ruestungen, properties, kaempferboni
6. Nov 2011 Gloinson
diff --git a/doc/props/P_EFFECTIVE_WC b/doc/props/P_EFFECTIVE_WC
index 0328629..aa16980 100644
--- a/doc/props/P_EFFECTIVE_WC
+++ b/doc/props/P_EFFECTIVE_WC
@@ -1,86 +1,112 @@
+
P_EFFECTIVE_WC
+**************
-NAME:
- P_EFFECTIVE_WC "effective_wc"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Diese Property kommt sowohl in Waffen als auch Ruestungen, die Schaden
- machen sollen, zum Einsatz.
+ P_EFFECTIVE_WC "effective_wc"
- Falls die Staerke einer Waffe noch durch eine HitFunc() modifiziert
- wird, sollte hier der Effektivwert der Waffenklasse vermerkt werden,
- soweit er sich angeben laesst.
- Diese Property dient vor allem dazu, eine Waffe mit HitFunc() korrekt
- einzuschaetzen.
- In einigen Gilden koennen Ruestungen auch als Waffen eingesetzt werden
- (z.B. ein Paar Schuhe zum Treten). In dieser Property kann man die
- Waffenklasse eintragen, die die Ruestung bei solchen Aktionen aufweisen
- soll. Dabei ist man an die ueblichen Beschraenkungen der Waffenklasse
- gebunden! (s. /sys/combat.h)
- Der Ruestung kann man dann auch einen Schadenstyp mit auf den Weg
- geben.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- Das Kaempferspellbook verwendet bei Ruestungen P_AC, wenn
- P_EFFECTIVE_WC nicht gesetzt ist.
+ <combat.h>
-BEISPIELE:
- * HitFuncs:
- Der doppelte Mittelwert der HitFunc wird zur Basis-WC dazuaddiert,
- da sich der 'Angriffswert = random(Basis-WC) + absolut(HitFunc-Wert)'
- berechnet.
- // #1 Waffe mit Basis-WC 120 und randomisierter HitFunc
- SetProp(P_WC, 120);
- SetProp(P_HIT_FUNC, this_object());
-
- int HitFunc(...) {
- return random(30); // Mittelwert: 15
- }
- -> SetProp(P_EFFECTIVE_WC, 150); // 120 + 2*15 = 150
-
- // #2 Waffe mit Basis-WC 120 und teilweise absoluter HitFunc
- SetProp(P_WC, 120);
- SetProp(P_HIT_FUNC, this_object());
-
- int HitFunc(...) {
- return 30 + random(10); // Mittelwert: 30 + 5
- }
- -> SetProp(P_EFFECTIVE_WC, 190); // 120 + 2*(30+5) = 190
+BESCHREIBUNG
+============
- * Ruestungen (zB Gildennutzung):
- Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der jeweils
- doppelte maximale P_AC-Wert. Angabe eines Schadenstyps ist sinnvoll.
+ Diese Property kommt sowohl in Waffen als auch Ruestungen, die Schaden
+ machen sollen, zum Einsatz.
- // #3 Ein paar Schuhe, mit maximalem Schlag-/Saeureschaden.
- SetProp(P_ARMOUR_TYPE, AT_BOOT);
- SetProp(P_AC, 2);
- SetProp(P_DAM_TYPE, ({DT_BLUDGEON,DT_ACID}));
- -> SetProp(P_EFFECTIVE_WC, 12); // hoechstmoeglicher Wert bei
- // Schuhen, da deren max. P_AC = 6
- // aequivalent und zukunftssicher:
- -> SetProp(P_EFFECTIVE_WC, 2 * VALID_ARMOUR_CLASS[AT_BOOT]);
+ Falls die Staerke einer Waffe noch durch eine HitFunc() modifiziert
+ wird, sollte hier der Effektivwert der Waffenklasse vermerkt werden,
+ soweit er sich angeben laesst.
+ Diese Property dient vor allem dazu, eine Waffe mit HitFunc() korrekt
+ einzuschaetzen.
- // #4 Ein Schild mit spitzem Dorn. (Stichschaden beim Schildstoss.)
- SetProp(P_ARMOUR_TYPE, AT_SHIELD);
- SetProp(P_AC, 5);
- SetProp(P_DAM_TYPE, ({DT_PIERCE}));
- SetProp(P_EFFECTIVE_WC, 55);
+ In einigen Gilden koennen Ruestungen auch als Waffen eingesetzt werden
+ (z.B. ein Paar Schuhe zum Treten). In dieser Property kann man die
+ Waffenklasse eintragen, die die Ruestung bei solchen Aktionen aufweisen
+ soll. Dabei ist man an die ueblichen Beschraenkungen der Waffenklasse
+ gebunden! (s. /sys/combat.h)
+ Der Ruestung kann man dann auch einen Schadenstyp mit auf den Weg
+ geben.
- // #5 Ein Gummischild ist schlecht fuer Angriffe. BOING!
- SetProp(P_ARMOUR_TYPE, AT_SHIELD);
- SetProp(P_AC, 30);
- SetProp(P_DAM_TYPE, ({DT_BLUDGEON}));
- SetProp(P_EFFECTIVE_WC, 10);
-SIEHE AUCH:
- Waffen: P_WC, P_TOTAL_WC, HitFunc()
- Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc()
- Files: /std/weapon.c, /std/weapon/combat.c
- Balance: waffen, ruestungen, properties, kaempferboni
+BEMERKUNGEN
+===========
+
+ Das Kaempferspellbook verwendet bei Ruestungen P_AC, wenn
+ P_EFFECTIVE_WC nicht gesetzt ist.
+
+
+BEISPIELE
+=========
+
+ * HitFuncs:
+ Der doppelte Mittelwert der HitFunc wird zur Basis-WC dazuaddiert,
+ da sich der 'Angriffswert = random(Basis-WC) + absolut(HitFunc-Wert)'
+ berechnet.
+
+ // #1 Waffe mit Basis-WC 120 und randomisierter HitFunc
+ SetProp(P_WC, 120);
+ SetProp(P_HIT_FUNC, this_object());
+
+
+
+ int HitFunc(...) {
+ return random(30); // Mittelwert: 15
+ }
+ -> SetProp(P_EFFECTIVE_WC, 150); // 120 + 2*15 = 150
+
+
+
+ // #2 Waffe mit Basis-WC 120 und teilweise absoluter HitFunc
+ SetProp(P_WC, 120);
+ SetProp(P_HIT_FUNC, this_object());
+
+
+
+ int HitFunc(...) {
+ return 30 + random(10); // Mittelwert: 30 + 5
+ }
+ -> SetProp(P_EFFECTIVE_WC, 190); // 120 + 2*(30+5) = 190
+
+ * Ruestungen (zB Gildennutzung):
+ Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der jeweils
+ doppelte maximale P_AC-Wert. Angabe eines Schadenstyps ist sinnvoll.
+
+ // #3 Ein paar Schuhe, mit maximalem Schlag-/Saeureschaden.
+ SetProp(P_ARMOUR_TYPE, AT_BOOT);
+ SetProp(P_AC, 2);
+ SetProp(P_DAM_TYPE, ({DT_BLUDGEON,DT_ACID}));
+ -> SetProp(P_EFFECTIVE_WC, 12); // hoechstmoeglicher Wert bei
+ // Schuhen, da deren max. P_AC = 6
+ // aequivalent und zukunftssicher:
+ -> SetProp(P_EFFECTIVE_WC, 2 * VALID_ARMOUR_CLASS[AT_BOOT]);
+
+ // #4 Ein Schild mit spitzem Dorn. (Stichschaden beim Schildstoss.)
+ SetProp(P_ARMOUR_TYPE, AT_SHIELD);
+ SetProp(P_AC, 5);
+ SetProp(P_DAM_TYPE, ({DT_PIERCE}));
+ SetProp(P_EFFECTIVE_WC, 55);
+
+ // #5 Ein Gummischild ist schlecht fuer Angriffe. BOING!
+ SetProp(P_ARMOUR_TYPE, AT_SHIELD);
+ SetProp(P_AC, 30);
+ SetProp(P_DAM_TYPE, ({DT_BLUDGEON}));
+ SetProp(P_EFFECTIVE_WC, 10);
+
+
+SIEHE AUCH
+==========
+
+ Waffen: P_WC, P_TOTAL_WC, HitFunc()
+ Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc()
+ Files: /std/weapon.c, /std/weapon/combat.c
+ Balance: waffen, ruestungen, properties, kaempferboni
6. Nov 2011 Gloinson
diff --git a/doc/props/P_EMPTY_MSG b/doc/props/P_EMPTY_MSG
index 7248d8e..e91d622 100644
--- a/doc/props/P_EMPTY_MSG
+++ b/doc/props/P_EMPTY_MSG
@@ -1,24 +1,45 @@
-NAME:
- P_EMPTY_MSG "std_food_eater_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_EMPTY_MSG
+***********
-BESCHREIBUNG:
- Meldung an den Konsumenten, wenn versucht wird, eine aufgebrauchte Speise
- (also einen leeren Behaelter) zu konsumieren.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise (also den leeren Behaelter)
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "@WER1 ist bereits leer."
-SIEHE AUCH:
- /std/food.c, wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_EMPTY_MSG "std_food_eater_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Konsumenten, wenn versucht wird, eine aufgebrauchte Speise
+ (also einen leeren Behaelter) zu konsumieren.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise (also den leeren Behaelter)
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "@WER1 ist bereits leer."
+
+
+SIEHE AUCH
+==========
+
+ /std/food.c, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_EMPTY_PROPS b/doc/props/P_EMPTY_PROPS
index a8156d7..6f5c126 100644
--- a/doc/props/P_EMPTY_PROPS
+++ b/doc/props/P_EMPTY_PROPS
@@ -1,33 +1,54 @@
-NAME:
- P_EMPTY_PROPS "std_food_empty_props"
-DEFINIERT IN:
- <sys/food.h>
+P_EMPTY_PROPS
+*************
-BESCHREIBUNG:
- Mapping mit Properties fuer den leeren Behaelter, der uebrig bleibt,wenn
- eine Speise aufgebraucht ist. Alle enthaltenen Properties werden gesetzt,
- wenn keine Portionen mehr vorhanden sind.
- Bereits in diesen Properties eingetragene Werte werden ueberschrieben!
- Wenn diese Property nicht gesetzt ist, wird die Speise zerstoert, wenn
- alle Portionen aufgebraucht ist - es bleibt also kein Behaelter zurueck.
- Achtung: Es werden keine closures in diesem Mapping unterstuetzt!
-
-BEMERKUNGEN:
- Bei der Abfrage von P_VALUE und P_WEIGHT in der Speise, werden die dazu
- in P_EMPTY_PROPS gespeicherten Werte verwendet, um das Gewicht/Wert des
- leeren Behaelters zum Gesamtwert der Speise zu addieren.
- Man kann alle Properties in dieses Mapping eintragen, die sich in der
- Speise per SetProp setzen lassen. Zusaetzlich kann man Arrays in P_IDS
- und P_ADJECTIVES speichern, die per Add-Methode in der Speise
- hinzugefuegt werden, nachdem die im create() der Speise hinzugefuegten
- Ids/Adjectives dort entfernt wurden.
-
-BEISPIELE:
- Beispiele zur Verwendung findet man unter /doc/beispiele/food
-SIEHE AUCH:
- /std/food.c, wiz/food
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_EMPTY_PROPS "std_food_empty_props"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Mapping mit Properties fuer den leeren Behaelter, der uebrig bleibt,wenn
+ eine Speise aufgebraucht ist. Alle enthaltenen Properties werden gesetzt,
+ wenn keine Portionen mehr vorhanden sind.
+ Bereits in diesen Properties eingetragene Werte werden ueberschrieben!
+ Wenn diese Property nicht gesetzt ist, wird die Speise zerstoert, wenn
+ alle Portionen aufgebraucht ist - es bleibt also kein Behaelter zurueck.
+ Achtung: Es werden keine closures in diesem Mapping unterstuetzt!
+
+
+BEMERKUNGEN
+===========
+
+ Bei der Abfrage von P_VALUE und P_WEIGHT in der Speise, werden die dazu
+ in P_EMPTY_PROPS gespeicherten Werte verwendet, um das Gewicht/Wert des
+ leeren Behaelters zum Gesamtwert der Speise zu addieren.
+ Man kann alle Properties in dieses Mapping eintragen, die sich in der
+ Speise per SetProp setzen lassen. Zusaetzlich kann man Arrays in P_IDS
+ und P_ADJECTIVES speichern, die per Add-Methode in der Speise
+ hinzugefuegt werden, nachdem die im create() der Speise hinzugefuegten
+ Ids/Adjectives dort entfernt wurden.
+
+
+BEISPIELE
+=========
+
+ Beispiele zur Verwendung findet man unter /doc/beispiele/food
+
+
+SIEHE AUCH
+==========
+
+ /std/food.c, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_ENABLE_IN_ATTACK_OUT b/doc/props/P_ENABLE_IN_ATTACK_OUT
index d60a807..0a64c74 100644
--- a/doc/props/P_ENABLE_IN_ATTACK_OUT
+++ b/doc/props/P_ENABLE_IN_ATTACK_OUT
@@ -1,33 +1,51 @@
-NAME:
- P_ENABLE_IN_ATTACK_OUT "enable_in_attack_out"
-DEFINIERT IN:
- /sys/combat.h
+P_ENABLE_IN_ATTACK_OUT
+**********************
-BESCHREIBUNG:
- Normalerweise wird die bekannte Taktik Rein-Angriff-Raus
- standardmaessig unterbunden, damit NPCs auch eine Chance haben, sich
- zu verteidigen. Hierzu wird der Schaden innerhalb do_damage()
- durch einen Wert geteilt, der sich aus der Verweildauer des
- Angreifers im Raum ergibt (bis zu 3 Sekunden).
- Da manche NPCs so konzeptioniert wurden, dass man sie nur mit der
- erwaehnten Taktik toeten kann, kann man sie auch explizit erlauben
- (manche NPCs verwenden auch eigene Methoden, diese Taktik zu
- verbieten, und sie waere dann doppelt abgefangen).
- Hierzu setzt man einfach die Property P_ENABLE_IN_ATTACK_OUT im NPC.
-BEISPIEL:
- Das folgende Beispiel erlaubt einfach mal die angesprochene Taktik:
- void create()
- { ...
- SetProp(P_ENABLE_IN_ATTACK_OUT,1);
- ...
- }
- Jetzt kann man den NPC mit Rein-Angriff-Raus auch wirkungsvoll
- bekaempfen.
+NAME
+====
-SIEHE AUCH:
- do_damage(), P_LAST_MOVE, /std/living/life.c
+ P_ENABLE_IN_ATTACK_OUT "enable_in_attack_out"
------------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Normalerweise wird die bekannte Taktik Rein-Angriff-Raus
+ standardmaessig unterbunden, damit NPCs auch eine Chance haben, sich
+ zu verteidigen. Hierzu wird der Schaden innerhalb do_damage()
+ durch einen Wert geteilt, der sich aus der Verweildauer des
+ Angreifers im Raum ergibt (bis zu 3 Sekunden).
+ Da manche NPCs so konzeptioniert wurden, dass man sie nur mit der
+ erwaehnten Taktik toeten kann, kann man sie auch explizit erlauben
+ (manche NPCs verwenden auch eigene Methoden, diese Taktik zu
+ verbieten, und sie waere dann doppelt abgefangen).
+ Hierzu setzt man einfach die Property P_ENABLE_IN_ATTACK_OUT im NPC.
+
+
+BEISPIEL
+========
+
+ Das folgende Beispiel erlaubt einfach mal die angesprochene Taktik:
+ void create()
+ { ...
+ SetProp(P_ENABLE_IN_ATTACK_OUT,1);
+ ...
+ }
+ Jetzt kann man den NPC mit Rein-Angriff-Raus auch wirkungsvoll
+ bekaempfen.
+
+
+SIEHE AUCH
+==========
+
+ do_damage(), P_LAST_MOVE, /std/living/life.c
+
Last modified: Sat Jan 30 12:53:00 1999 by Patryn
diff --git a/doc/props/P_ENEMY_DAMAGE b/doc/props/P_ENEMY_DAMAGE
index 216339d..bad9c99 100644
--- a/doc/props/P_ENEMY_DAMAGE
+++ b/doc/props/P_ENEMY_DAMAGE
@@ -1,31 +1,48 @@
+
P_ENEMY_DAMAGE
+**************
-NAME:
- P_ENEMY_DAMAGE "enemy_damage"
-DEFINIERT IN:
- <living/life.h>
+NAME
+====
-BESCHREIBUNG:
- In dieser Property ist vermerkt, welches Wesen diesem Wesen wieviel
- Schaden zugefuegt hat.
+ P_ENEMY_DAMAGE "enemy_damage"
- Die Property enthaelt ein Mapping, das den Angreifern den
- errechten Schaden zuordnet:
- ([ <obname1>: <damage>; <owner>, ... ])
- <obname1>: Name des Objekts, das den Schaden verursacht hat (string),
- z.B. "/magier:zesstra"
- <damage> : Schadensmenge (int)
- <owner> : wenn das schadensverursachende Wesen ein NPC war/ist,
- welches P_HELPER_NPC gesetzt hatte und somit einem Spieler
- hilft, steht hier das Objekt des jeweiligen Spielers
- (object)
+DEFINIERT IN
+============
-BEMERKUNGEN:
- Diese Property laesst sich nur abfragen!
+ <living/life.h>
-SIEHE AUCH:
- P_HELPER_NPC
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ In dieser Property ist vermerkt, welches Wesen diesem Wesen wieviel
+ Schaden zugefuegt hat.
+
+ Die Property enthaelt ein Mapping, das den Angreifern den
+ errechten Schaden zuordnet:
+ ([ <obname1>: <damage>; <owner>, ... ])
+
+ <obname1>: Name des Objekts, das den Schaden verursacht hat (string),
+ z.B. "/magier:zesstra"
+ <damage> : Schadensmenge (int)
+ <owner> : wenn das schadensverursachende Wesen ein NPC war/ist,
+ welches P_HELPER_NPC gesetzt hatte und somit einem Spieler
+ hilft, steht hier das Objekt des jeweiligen Spielers
+ (object)
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property laesst sich nur abfragen!
+
+
+SIEHE AUCH
+==========
+
+ P_HELPER_NPC
+
26.10.2009, Zesstra
diff --git a/doc/props/P_ENEMY_DEATH_SEQUENCE b/doc/props/P_ENEMY_DEATH_SEQUENCE
index 260d325..03b2bec 100644
--- a/doc/props/P_ENEMY_DEATH_SEQUENCE
+++ b/doc/props/P_ENEMY_DEATH_SEQUENCE
@@ -1,44 +1,61 @@
+
P_ENEMY_DEATH_SEQUENCE
+**********************
-NAME:
- P_ENEMY_DEATH_SEQUENCE "enemy_death_sequence"
-DEFINIERT IN:
- /sys/living/combat.h
+NAME
+====
-BESCHREIBUNG:
- Ueber diese Property kann Einfluss auf die Todessequenz eines getoeten
- Spielers genommen werden. Sie muss im toetenden Objekt, d.h. dem
- Objekt welches die()/do_damage()/Defend() im Spieler gerufen hat,
- gesetzt sein.
+ P_ENEMY_DEATH_SEQUENCE "enemy_death_sequence"
- Es gibt folgende gueltige Werte:
- - string: Pfad zu einer eigenen Todessequenz im gueltigen Format
- - mixed* Eine Todessequenz im Format des Todesraumes:
- ({<int gesamtlaenge>,
- ([<int index1>: <string umgebrochene Meldung1>,
- <int index2>: <string umgebrochene Meldung2>,
- ...])
- })
- - mapping In die Standard-Lars-Todessequenz einzufuegende Zeilen:
- ([<int zeitindex>: <string umgebrochener Text>])
-BEISPIELE:
- // Pfad zu einer eigenen DSQ
- SetProp(P_ENEMY_DEATH_SEQUENCE, ".../passende_dsq.txt");
+DEFINIERT IN
+============
- // eigene DSQ im Todesraumformat:
- SetProp(P_ENEMY_DEATH_SEQUENCE,
- ({ 2, ([1: "DU LERNST AUS DEINEM FEHLER.\n"])}));
+ /sys/living/combat.h
- // Einfuegen einer Meldung (des NPCs) in die Standard-Todessequenz
- SetProp(P_ENEMY_DEATH_SEQUENCE,
- ([5: "Du hoerst "+name(WEN)+" hoehnisch kichern.\n"]));
-SIEHE AUCH:
- Tod: die(L)
- Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
- P_ZAP_MSG, P_NEXT_DEATH_SEQUENCE
- Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+BESCHREIBUNG
+============
-10. Nov 2011 Gloinson
\ No newline at end of file
+ Ueber diese Property kann Einfluss auf die Todessequenz eines getoeten
+ Spielers genommen werden. Sie muss im toetenden Objekt, d.h. dem
+ Objekt welches die()/do_damage()/Defend() im Spieler gerufen hat,
+ gesetzt sein.
+
+ Es gibt folgende gueltige Werte:
+ - string: Pfad zu einer eigenen Todessequenz im gueltigen Format
+ - mixed* Eine Todessequenz im Format des Todesraumes:
+ ({<int gesamtlaenge>,
+ ([<int index1>: <string umgebrochene Meldung1>,
+ <int index2>: <string umgebrochene Meldung2>,
+ ...])
+ })
+ - mapping In die Standard-Lars-Todessequenz einzufuegende Zeilen:
+ ([<int zeitindex>: <string umgebrochener Text>])
+
+
+BEISPIELE
+=========
+
+ // Pfad zu einer eigenen DSQ
+ SetProp(P_ENEMY_DEATH_SEQUENCE, ".../passende_dsq.txt");
+
+ // eigene DSQ im Todesraumformat:
+ SetProp(P_ENEMY_DEATH_SEQUENCE,
+ ({ 2, ([1: "DU LERNST AUS DEINEM FEHLER.\n"])}));
+
+ // Einfuegen einer Meldung (des NPCs) in die Standard-Todessequenz
+ SetProp(P_ENEMY_DEATH_SEQUENCE,
+ ([5: "Du hoerst "+name(WEN)+" hoehnisch kichern.\n"]));
+
+
+SIEHE AUCH
+==========
+
+ Tod: die(L)
+ Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
+ P_ZAP_MSG, P_NEXT_DEATH_SEQUENCE
+ Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
+10. Nov 2011 Gloinson
diff --git a/doc/props/P_ENTERCMDS b/doc/props/P_ENTERCMDS
index 0f7e3d9..fc6f72f 100644
--- a/doc/props/P_ENTERCMDS
+++ b/doc/props/P_ENTERCMDS
@@ -1,33 +1,57 @@
-NAME:
- P_ENTERCMDS "leavecmds"
-DEFINIERT IN:
- /sys/transport.h
+P_ENTERCMDS
+***********
-BESCHREIBUNG:
- Ein Array mit Befehlen, die zum Betreten des Transporters fuehren.
-BEISPIEL:
- SetProp(P_ENTERCMDS,({ "betrete","betritt" }) );
+NAME
+====
- Gibt der Spieler nun 'betrete xxx' ein, so sorgt /std/transport.c
- dafuer, das der Spieler auch auf oder in den Transporter bewegt
- wird. Vorausgesetzt natuerlich, er ist an einem Haltepunkt ange-
- langt und es ist genuegend Platz dort.
+ P_ENTERCMDS "leavecmds"
-BEMERKUNGEN:
- Um /std/transport.c nicht aufzublaehen, werden weitere Argumente wie
- etwa 'betrete das|die|den xxx' _nicht_ unterstuetzt!
- Hier muss der verantwortliche Magier schon eine eigene Loesung finden
- und in seinen Transporter schreiben.
+DEFINIERT IN
+============
- Sollen Kommandos zum Betreten UND Verlassen eines Transporters ver-
- wendet werden koennen, muessen diese in P_TRAVEL_CMDS gesetzt werden.
+ /sys/transport.h
-SIEHE AUCH:
- P_LEAVEFAIL, P_ENTERFAIL, P_LEAVECMDS, P_TRAVEL_CMDS, transporter,
-LETZTE AENDERUNG:
- Don, 24.01.2002, 10:15:07h von Tilly
-
\ No newline at end of file
+BESCHREIBUNG
+============
+
+ Ein Array mit Befehlen, die zum Betreten des Transporters fuehren.
+
+
+BEISPIEL
+========
+
+ SetProp(P_ENTERCMDS,({ "betrete","betritt" }) );
+
+ Gibt der Spieler nun 'betrete xxx' ein, so sorgt /std/transport.c
+ dafuer, das der Spieler auch auf oder in den Transporter bewegt
+ wird. Vorausgesetzt natuerlich, er ist an einem Haltepunkt ange-
+ langt und es ist genuegend Platz dort.
+
+
+BEMERKUNGEN
+===========
+
+ Um /std/transport.c nicht aufzublaehen, werden weitere Argumente wie
+ etwa 'betrete das|die|den xxx' _nicht_ unterstuetzt!
+
+ Hier muss der verantwortliche Magier schon eine eigene Loesung finden
+ und in seinen Transporter schreiben.
+
+ Sollen Kommandos zum Betreten UND Verlassen eines Transporters ver-
+ wendet werden koennen, muessen diese in P_TRAVEL_CMDS gesetzt werden.
+
+
+SIEHE AUCH
+==========
+
+ P_LEAVEFAIL, P_ENTERFAIL, P_LEAVECMDS, P_TRAVEL_CMDS, transporter,
+
+
+LETZTE AENDERUNG
+================
+
+ Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_ENTERFAIL b/doc/props/P_ENTERFAIL
index 2ecd1e6..5291065 100644
--- a/doc/props/P_ENTERFAIL
+++ b/doc/props/P_ENTERFAIL
@@ -1,24 +1,48 @@
-NAME:
- P_ENTERFAIL "enterfail"
-DEFINIERT IN:
- /sys/transport.h
+P_ENTERFAIL
+***********
-BESCHREIBUNG:
- Meldung an den Spieler, wenn er einen vollen Transporter betreten
- will. Ist die Propertie ein Array, so wird das erste Element als
- Meldung an den Spieler, das zweite als Meldung an die Mitspieler
- im Raum geschickt.
-BEISPIEL:
- SetProp(P_ENTERFAIL,"Dort ist wirklich kein Platz mehr fuer Dich");
-
- SetProp(P_ENTERFAIL, ({ "Dort ist wirklich kein Platz mehr fuer Dich",
- "versucht, auf die Kutsche zu klettern, wird "
- +"aber wieder heruntergeschickt" }) );
+NAME
+====
-SIEHE AUCH:
- P_ENTERMSG, P_LEAVEFAIL, P_LEAVEMSG, transporter
+ P_ENTERFAIL "enterfail"
-LETZTE AENDERUNG:
- Don, 24.01.2002, 10:15:07h von Tilly
+
+DEFINIERT IN
+============
+
+ /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Spieler, wenn er einen vollen Transporter betreten
+ will. Ist die Propertie ein Array, so wird das erste Element als
+ Meldung an den Spieler, das zweite als Meldung an die Mitspieler
+ im Raum geschickt.
+
+
+BEISPIEL
+========
+
+ SetProp(P_ENTERFAIL,"Dort ist wirklich kein Platz mehr fuer Dich");
+
+
+
+ SetProp(P_ENTERFAIL, ({ "Dort ist wirklich kein Platz mehr fuer Dich",
+ "versucht, auf die Kutsche zu klettern, wird "
+ +"aber wieder heruntergeschickt" }) );
+
+
+SIEHE AUCH
+==========
+
+ P_ENTERMSG, P_LEAVEFAIL, P_LEAVEMSG, transporter
+
+
+LETZTE AENDERUNG
+================
+
+ Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_ENTERMSG b/doc/props/P_ENTERMSG
index 2a2128e..9ba314d 100644
--- a/doc/props/P_ENTERMSG
+++ b/doc/props/P_ENTERMSG
@@ -1,18 +1,40 @@
-NAME:
- P_ENTERMSG "entermsg"
-DEFINIERT IN:
- /sys/transport.h
+P_ENTERMSG
+**********
-BESCHREIBUNG:
- Array mit zwei Meldungen, eine fuer den Raum, den der Spieler
- verlaesst, und eine fuer den Transporter, in den er geht.
-BEISPIEL:
- SetProp(P_ENTERMSG, ({ "klettert in die Kutsche","klettert herein" }) );
+NAME
+====
-SIEHE AUCH:
- P_ENTERFAIL, P_LEAVEFAIL, P_LEAVEMSG, transporter
+ P_ENTERMSG "entermsg"
-LETZTER AENDERUNG:
- Don, 24.01.2002, 10:15:07h von Tilly
+
+DEFINIERT IN
+============
+
+ /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+ Array mit zwei Meldungen, eine fuer den Raum, den der Spieler
+ verlaesst, und eine fuer den Transporter, in den er geht.
+
+
+BEISPIEL
+========
+
+ SetProp(P_ENTERMSG, ({ "klettert in die Kutsche","klettert herein" }) );
+
+
+SIEHE AUCH
+==========
+
+ P_ENTERFAIL, P_LEAVEFAIL, P_LEAVEMSG, transporter
+
+
+LETZTER AENDERUNG
+=================
+
+ Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_ENV_MSG b/doc/props/P_ENV_MSG
index b39e2c1..e969399 100644
--- a/doc/props/P_ENV_MSG
+++ b/doc/props/P_ENV_MSG
@@ -1,26 +1,47 @@
-NAME:
- P_ENV_MSG "std_food_env_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_ENV_MSG
+*********
-BESCHREIBUNG:
- Meldung an den Konsumenten, wenn eine Speise konsumiert werden soll,
- die nicht im eigenen Inventory liegt.
- Wenn diese Property leer ist, kann man die Speise dann sogar
- konsumieren!
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "Vielleicht solltest Du @WEN1 vorher nehmen."
-SIEHE AUCH:
- wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_ENV_MSG "std_food_env_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Konsumenten, wenn eine Speise konsumiert werden soll,
+ die nicht im eigenen Inventory liegt.
+ Wenn diese Property leer ist, kann man die Speise dann sogar
+ konsumieren!
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "Vielleicht solltest Du @WEN1 vorher nehmen."
+
+
+SIEHE AUCH
+==========
+
+ wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_ENV_TOO_HEAVY_MSG b/doc/props/P_ENV_TOO_HEAVY_MSG
index 8c73ac1..23c1d6c 100644
--- a/doc/props/P_ENV_TOO_HEAVY_MSG
+++ b/doc/props/P_ENV_TOO_HEAVY_MSG
@@ -1,31 +1,50 @@
-NAME:
- P_ENV_TOO_HEAVY_MSG "env_too_heavy_msg"
-DEFINIERT IN:
- /sys/thing/moving.h
+P_ENV_TOO_HEAVY_MSG
+*******************
-BESCHREIBUNG:
- Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
- versucht, ein Objekt in einen Behaelter zu legen, und dieser dann fuer
- sein Environment zu schwer wird.
- Die Property ist im Behaelter zu setzen.
- Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
- so wird die Standardmeldung ausgegeben.
- ("<Behaelter> wuerde dir dann zu schwer werden.")
- Der String in der Property wird noch durch replace_personal()
- verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
- zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
- umgebrochen.
- Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
- ganz.
-BEISPIELE:
- SetProp(P_ENV_TOO_HEAVY_MSG, "Mit @WEM1 koenntest du den Rucksack nicht"
- " mehr tragen.");
+NAME
+====
-SIEHE AUCH:
- Aehnliches: P_TOO_HEAVY_MSG, P_TOO_MANY_MSG, P_NOINSERT_MSG,
- P_NOLEAVE_MSG, P_NODROP, P_NOGET
- Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
- P_WEAR_MSG, P_WIELD_MSG
- Sonstiges: replace_personal(E), /std/living/put_and_get.c
+ P_ENV_TOO_HEAVY_MSG "env_too_heavy_msg"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
+ versucht, ein Objekt in einen Behaelter zu legen, und dieser dann fuer
+ sein Environment zu schwer wird.
+ Die Property ist im Behaelter zu setzen.
+ Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+ so wird die Standardmeldung ausgegeben.
+ ("<Behaelter> wuerde dir dann zu schwer werden.")
+ Der String in der Property wird noch durch replace_personal()
+ verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
+ zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
+ umgebrochen.
+ Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+ ganz.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_ENV_TOO_HEAVY_MSG, "Mit @WEM1 koenntest du den Rucksack nicht"
+ " mehr tragen.");
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_TOO_HEAVY_MSG, P_TOO_MANY_MSG, P_NOINSERT_MSG,
+ P_NOLEAVE_MSG, P_NODROP, P_NOGET
+ Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+ P_WEAR_MSG, P_WIELD_MSG
+ Sonstiges: replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_EQUIP_TIME b/doc/props/P_EQUIP_TIME
index 71b2f35..ee0d07f 100644
--- a/doc/props/P_EQUIP_TIME
+++ b/doc/props/P_EQUIP_TIME
@@ -1,26 +1,39 @@
+
P_EQUIP_TIME
+************
-NAME:
- P_EQUIP_TIME "equip_time"
-DEFINIERT IN:
- /sys/combat.h
+NAME
+====
-BESCHREIBUNG:
- Innerhalb von Waffen und Ruestungen wird in dieser Property
- registriert, wann diese zuletzt gezueckt bzw. angezogen wurden.
- Innerhalb der Funktionen wield_me() in '/std/weapon/combat' bzw.
- DoWear() in '/std/armour/combat' wird hierbei jeweils folgende Aktion
- ausgefuehrt:
- SetProp(P_EQUIP_TIME,time());
+ P_EQUIP_TIME "equip_time"
-SIEHE AUCH:
- Verwandt: P_LAST_USE
- Waffen: P_UNWIELD_TIME
- DoWield()
- Ruestungen: DoWear()
- Sonstiges: time()
- /std/weapon/combat.c, /std/armour/combat.c
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Innerhalb von Waffen und Ruestungen wird in dieser Property
+ registriert, wann diese zuletzt gezueckt bzw. angezogen wurden.
+ Innerhalb der Funktionen wield_me() in '/std/weapon/combat' bzw.
+ DoWear() in '/std/armour/combat' wird hierbei jeweils folgende Aktion
+ ausgefuehrt:
+ SetProp(P_EQUIP_TIME,time());
+
+
+SIEHE AUCH
+==========
+
+ Verwandt: P_LAST_USE
+ Waffen: P_UNWIELD_TIME
+ DoWield()
+ Ruestungen: DoWear()
+ Sonstiges: time()
+ /std/weapon/combat.c, /std/armour/combat.c
+
Last modified: Sun Jul 26 23:59:12 1998 by Patryn
diff --git a/doc/props/P_EVAL_FACTORS b/doc/props/P_EVAL_FACTORS
index 04e881e..ed83d4e 100644
--- a/doc/props/P_EVAL_FACTORS
+++ b/doc/props/P_EVAL_FACTORS
@@ -1,8 +1,21 @@
-NAME:
- P_EVAL_FACTORS "inpc_eval_factors"
-DEFINIERT IN:
- /sys/inpc/eval.h
+P_EVAL_FACTORS
+**************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_EVAL_FACTORS "inpc_eval_factors"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/eval.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_EVAL_OFFSETS b/doc/props/P_EVAL_OFFSETS
index d82ef39..e571f51 100644
--- a/doc/props/P_EVAL_OFFSETS
+++ b/doc/props/P_EVAL_OFFSETS
@@ -1,8 +1,21 @@
-NAME:
- P_EVAL_OFFSETS "inpc_eval_offsets"
-DEFINIERT IN:
- /sys/inpc/eval.h
+P_EVAL_OFFSETS
+**************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_EVAL_OFFSETS "inpc_eval_offsets"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/eval.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_EXITS b/doc/props/P_EXITS
index 9a90c60..c31bac3 100644
--- a/doc/props/P_EXITS
+++ b/doc/props/P_EXITS
@@ -1,24 +1,45 @@
-NAME:
- P_EXITS "exits"
-DEFINIERT IN:
- /sys/properties.h
+P_EXITS
+*******
-BESCHREIBUNG:
- Mapping (der Breite 2) aller unmittelbar sichtbaren Ausgaenge mit
- zugehoerigen Nachbarraeumen und der jeweiligen Bewegungsmeldung.
-BEMERKUNG:
- Enthaelt auch SpecialExits, bei der Abfrage mit QueryProp() werden
- diese jedoch ausgefiltert.
-
- Zugriff nur mit den dafuer vorgesehenen Funktionen, bitte nicht aendern.
-
-SIEHE AUCH:
- AddExit(), AddSpecialExit(), GetExits(),
- RemoveExit(), RemoveSpecialExit(),
- GuardExit(),
- H_HOOK_EXIT_USE, P_SPECIAL_EXITS, P_HIDE_EXITS, /std/room/exits.c
- ausgaenge
+NAME
+====
+
+ P_EXITS "exits"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Mapping (der Breite 2) aller unmittelbar sichtbaren Ausgaenge mit
+ zugehoerigen Nachbarraeumen und der jeweiligen Bewegungsmeldung.
+
+
+BEMERKUNG
+=========
+
+ Enthaelt auch SpecialExits, bei der Abfrage mit QueryProp() werden
+ diese jedoch ausgefiltert.
+
+
+
+ Zugriff nur mit den dafuer vorgesehenen Funktionen, bitte nicht aendern.
+
+
+SIEHE AUCH
+==========
+
+ AddExit(), AddSpecialExit(), GetExits(),
+ RemoveExit(), RemoveSpecialExit(),
+ GuardExit(),
+ H_HOOK_EXIT_USE, P_SPECIAL_EXITS, P_HIDE_EXITS, /std/room/exits.c
+ ausgaenge
Letzte Aenderung: 22.12.2016, Bugfix
diff --git a/doc/props/P_EXTRA_LOOK b/doc/props/P_EXTRA_LOOK
new file mode 100644
index 0000000..e4f050e
--- /dev/null
+++ b/doc/props/P_EXTRA_LOOK
@@ -0,0 +1,52 @@
+
+P_EXTRA_LOOK
+************
+
+
+NAME
+====
+
+ P_EXTRA_LOOK "extralook"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt einen String. Sie wird entweder in Lebewesen
+ direkt oder in Objekten gesetzt, die im Besitz von Lebewesen
+ sein koennen.
+ Diese Strings erscheinen dann zusaetzlich in der Langbeschreibung
+ des Lebewesens bzw. des Besitzers (wenn das Objekt sich direkt im
+ Lebewesen befindet, jedoch nicht in einem Behaelter im Lebewesen).
+ Fuer den Zeilenumbruch muss man selbst sorgen.
+
+
+BEISPIEL
+========
+
+ Ein Spieler hat eine Pfeife im Mund. In dieser Pfeife setzt man z.B.
+ in der Funktion zum Pfeife Rauchen folgendes:
+ SetProp(P_EXTRA_LOOK,break_string(
+ this_player()->Name(WER)+" ist ganz umnebelt.",78);
+
+
+BEMERKUNG
+=========
+
+ NUR dann benutzen, wenn ihr auch unabhaengig vom Extralook ein Objekt im
+ Spieler benoetigt, ansonsten IMMER AddExtraLook() verwenden.
+
+
+SIEHE AUCH
+==========
+
+ long(), /std/living/description.c, /std/player/base.c
+ AddExtraLook(), RemoveExtraLook()
+
+16.02.2017, Bugfix
diff --git a/doc/props/P_FAO b/doc/props/P_FAO
index 62f33e1..33f673e 100644
--- a/doc/props/P_FAO
+++ b/doc/props/P_FAO
@@ -1,19 +1,33 @@
+
P_FAO
+*****
-NAME:
- P_FAO "fraternitasdonoarchmagorum"
-DEFINIERT IN:
- <player/fao.h>
+NAME
+====
-BESCHREIBUNG:
- Fraternitas-relevante Property.
+ P_FAO "fraternitasdonoarchmagorum"
- Genaue Informationen unbekannt.
- Schreibender Zugriff ist nur EMs oder dem FAOMASTER (s. Headerfile)
- moeglich.
-SIEHE AUCH:
- P_FAO_PORTALS
+DEFINIERT IN
+============
+
+ <player/fao.h>
+
+
+BESCHREIBUNG
+============
+
+ Fraternitas-relevante Property.
+
+ Genaue Informationen unbekannt.
+ Schreibender Zugriff ist nur EMs oder dem FAOMASTER (s. Headerfile)
+ moeglich.
+
+
+SIEHE AUCH
+==========
+
+ P_FAO_PORTALS
1.September 2008 Gloinson
diff --git a/doc/props/P_FAO_PORTALS b/doc/props/P_FAO_PORTALS
index 465750a..5d80c90 100644
--- a/doc/props/P_FAO_PORTALS
+++ b/doc/props/P_FAO_PORTALS
@@ -1,22 +1,36 @@
+
P_FAO_PORTALS
+*************
-NAME:
- P_FAO_PORTALS "fraternitasdonoarchmagorumPORTALS"
-DEFINIERT IN:
- <player/fao.h>
+NAME
+====
-BESCHREIBUNG:
- Fraternitas-relevante Property.
+ P_FAO_PORTALS "fraternitasdonoarchmagorumPORTALS"
- Enthaelt eine Array mit einer Liste der ueber die Fraternitas
- gefundenen und benutzbaren Seher-Portale.
- Genaue Informationen unbekannt.
- Schreibender Zugriff ist nur EMs oder dem FAOMASTER (s. Headerfile)
- moeglich.
+DEFINIERT IN
+============
-SIEHE AUCH:
- P_FAO_PORTALS, P_SEERDOORS
-
+ <player/fao.h>
+
+
+BESCHREIBUNG
+============
+
+ Fraternitas-relevante Property.
+
+ Enthaelt eine Array mit einer Liste der ueber die Fraternitas
+ gefundenen und benutzbaren Seher-Portale.
+
+ Genaue Informationen unbekannt.
+ Schreibender Zugriff ist nur EMs oder dem FAOMASTER (s. Headerfile)
+ moeglich.
+
+
+SIEHE AUCH
+==========
+
+ P_FAO_PORTALS, P_SEERDOORS
+
1.September 2008 Gloinson
diff --git a/doc/props/P_FISH b/doc/props/P_FISH
index c694c09..0fa259f 100644
--- a/doc/props/P_FISH
+++ b/doc/props/P_FISH
@@ -1,75 +1,92 @@
-NAME:
- P_FISH "fish"
-DEFINIERT IN:
- /sys/fishing.h
+P_FISH
+******
-BESCHREIBUNG:
- Enthaelt Einstellungen zu allem, was mit Fischen zu tun hat.
- Kann in Fischen, Raeumen und Koedern gesetzt werden. Die verfuegbaren
- Optionen und Funktionsweisen sind in den nachfolgenden Abschnitten
- aufgefuehrt.
- Fische:
- *******
- Die Property legt zusaetzliche Eigenschaften fest:
+NAME
+====
- F_NOROTTEN
- Fisch fault nicht; ggf. sollte hier auch gleich F_NOHEAL gesetzt
- werden, weil sonst eine unverderbliche tragbare Tanke erzeugt wuerde.
- F_NOTHUNGRY
- Fisch frisst Koeder nur, wenn er auch wirklich nachher an der Angel
- haengt. Ist er zu schwer fuer die Angel und reisst ab, bleibt der
- Koeder erhalten.
- F_REPLACE
- Fisch soll sich beim Entfernen von der Angel verwandeln. Hierzu ist
- die Funktion ReplaceFish() im Fisch zu definieren, die sich um die
- Verwandlung kuemmert (z.B. Monster clonen und Fisch zerstoeren; ein
- Beispiel findet sich in /d/ebene/fraggle/angel2/obj/saegefisch.c).
- F_NOHEAL
- Fisch heilt nicht bei Verzehr
+ P_FISH "fish"
- Raum (OPTIONAL):
- ****************
- Legt die Fischdichte des Gewaessers fest. Der eingestellte Wert wirkt
- sich auf die Wartezeit aus, die der Angler verbringen muss, bis ein
- Fisch anbeisst. Berechnung im Detail (alle Zahlenwerte in Sekunden):
- - Basis-Wartezeit: delay = 80
- - Die Werte von P_FISH von Raum und Koeder werden addiert:
- summe = raum->QueryProp(P_FISH) + koeder->QueryProp(P_FISH)
- -> positive Werte (Bonus) werden auf 60 begrenzt und mit Zufalls-
- komponente von <delay> abgezogen:
- delay -= random(summe)
- -> negative Werte (Malus) werden auf -300 begrenzt und mit Zufalls-
- komponente auf <delay> aufgeschlagen:
- delay += random(-summe)
- Zusaetzlich wird ein weiterer Malus auf die Wartezeit faellig, falls
- P_WATER in der Angel und/oder P_WATER im Koeder nicht zum aktuellen
- Gewaesser passen. Der Malus betraegt jeweils 60+random(60) Sekunden.
-
- Der Standardwert fuer P_FISH im Raum ist 0 und bedeutet 100 % Bestand.
- Positive Werte erhoehen die Dichte, negative senken sie. Positive Werte
- sollten nicht >100 sein.
+DEFINIERT IN
+============
- Sofern sich die Werte fuer P_FISH in den empfohlenen Grenzen bewegen,
- koennen Abzuege fuer falsches Gewaesser ueblicherweise kaum durch
- Boni auf Angel oder Koeder kompensiert werden. Ausserdem ist zu
- bedenken, dass es keine Boni fuer richtige Gewaesserwahl gibt.
-
+ /sys/fishing.h
- Koeder (OPTIONAL):
- ******************
- Ein Koeder kann mittels P_FISH die Fischdichte modifizieren, um hierueber
- ein besseres Beissen der Fische zu simulieren (reduziert die Wartezeit
- beim Angeln, siehe oben unter "Raum"). Wenn also der Raum einen Wert
- von -100 gesetzt hat und der Koeder +100, entspricht die Fischdichte im
- Gewaesser wieder dem Normalwert.
-SIEHE AUCH:
+BESCHREIBUNG
+============
- Properties: P_WATER
- Methoden: GetAquarium(L)
+ Enthaelt Einstellungen zu allem, was mit Fischen zu tun hat.
+ Kann in Fischen, Raeumen und Koedern gesetzt werden. Die verfuegbaren
+ Optionen und Funktionsweisen sind in den nachfolgenden Abschnitten
+ aufgefuehrt.
-------------------------------------------------------------------------------
+ Fische:
+ *******
+ Die Property legt zusaetzliche Eigenschaften fest:
+
+ F_NOROTTEN
+ Fisch fault nicht; ggf. sollte hier auch gleich F_NOHEAL gesetzt
+ werden, weil sonst eine unverderbliche tragbare Tanke erzeugt wuerde.
+ F_NOTHUNGRY
+ Fisch frisst Koeder nur, wenn er auch wirklich nachher an der Angel
+ haengt. Ist er zu schwer fuer die Angel und reisst ab, bleibt der
+ Koeder erhalten.
+ F_REPLACE
+ Fisch soll sich beim Entfernen von der Angel verwandeln. Hierzu ist
+ die Funktion ReplaceFish() im Fisch zu definieren, die sich um die
+ Verwandlung kuemmert (z.B. Monster clonen und Fisch zerstoeren; ein
+ Beispiel findet sich in /d/ebene/fraggle/angel2/obj/saegefisch.c).
+ F_NOHEAL
+ Fisch heilt nicht bei Verzehr
+
+ Raum (OPTIONAL):
+ ****************
+ Legt die Fischdichte des Gewaessers fest. Der eingestellte Wert wirkt
+ sich auf die Wartezeit aus, die der Angler verbringen muss, bis ein
+ Fisch anbeisst. Berechnung im Detail (alle Zahlenwerte in Sekunden):
+ - Basis-Wartezeit: delay = 80
+ - Die Werte von P_FISH von Raum und Koeder werden addiert:
+ summe = raum->QueryProp(P_FISH) + koeder->QueryProp(P_FISH)
+ -> positive Werte (Bonus) werden auf 60 begrenzt und mit Zufalls-
+ komponente von <delay> abgezogen:
+ delay -= random(summe)
+ -> negative Werte (Malus) werden auf -300 begrenzt und mit Zufalls-
+ komponente auf <delay> aufgeschlagen:
+ delay += random(-summe)
+
+ Zusaetzlich wird ein weiterer Malus auf die Wartezeit faellig, falls
+ P_WATER in der Angel und/oder P_WATER im Koeder nicht zum aktuellen
+ Gewaesser passen. Der Malus betraegt jeweils 60+random(60) Sekunden.
+
+
+
+ Der Standardwert fuer P_FISH im Raum ist 0 und bedeutet 100 % Bestand.
+ Positive Werte erhoehen die Dichte, negative senken sie. Positive Werte
+ sollten nicht >100 sein.
+
+ Sofern sich die Werte fuer P_FISH in den empfohlenen Grenzen bewegen,
+ koennen Abzuege fuer falsches Gewaesser ueblicherweise kaum durch
+ Boni auf Angel oder Koeder kompensiert werden. Ausserdem ist zu
+ bedenken, dass es keine Boni fuer richtige Gewaesserwahl gibt.
+
+
+
+ Koeder (OPTIONAL):
+ ******************
+ Ein Koeder kann mittels P_FISH die Fischdichte modifizieren, um hierueber
+ ein besseres Beissen der Fische zu simulieren (reduziert die Wartezeit
+ beim Angeln, siehe oben unter "Raum"). Wenn also der Raum einen Wert
+ von -100 gesetzt hat und der Koeder +100, entspricht die Fischdichte im
+ Gewaesser wieder dem Normalwert.
+
+
+SIEHE AUCH
+==========
+
+ Properties: P_WATER
+ Methoden: GetAquarium(L)
+
Zuletzt geaendert: 2014-Aug-21, Arathorn
diff --git a/doc/props/P_FLAGS b/doc/props/P_FLAGS
index 3c54aea..3962aed 100644
--- a/doc/props/P_FLAGS
+++ b/doc/props/P_FLAGS
@@ -1,8 +1,21 @@
-NAME:
- P_FLAGS "can_flags"
-DEFINIERT IN:
- /sys/player/base.h
+P_FLAGS
+*******
-BESCHREIBUNG:
- Flags des Spielers
+
+NAME
+====
+
+ P_FLAGS "can_flags"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Flags des Spielers
diff --git a/doc/props/P_FOLLOW_SILENT b/doc/props/P_FOLLOW_SILENT
index 7662ad1..6dd07b3 100644
--- a/doc/props/P_FOLLOW_SILENT
+++ b/doc/props/P_FOLLOW_SILENT
@@ -1,9 +1,22 @@
-NAME:
- P_FOLLOW_SILENT "follow_silent"
-DEFINIERT IN:
- /sys/player/base.h
+P_FOLLOW_SILENT
+***************
-BESCHREIBUNG:
- Wenn diese Property 1 ist, wird der MOVE vom verfolge Silent ausge-
- fuehrt.
+
+NAME
+====
+
+ P_FOLLOW_SILENT "follow_silent"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Wenn diese Property 1 ist, wird der MOVE vom verfolge Silent ausge-
+ fuehrt.
diff --git a/doc/props/P_FOOD b/doc/props/P_FOOD
index 769694f..3858431 100644
--- a/doc/props/P_FOOD
+++ b/doc/props/P_FOOD
@@ -1,24 +1,38 @@
-NAME:
- P_FOOD "food"
-DEFINIERT IN:
- /sys/living/life.h
+P_FOOD
+******
-BESCHREIBUNG:
- - Lebewesen
- Numerischer Wert fuer den Saettigungsgrad eines Lebewesens.
- Der maximale Wert steht in P_MAX_FOOD.
+NAME
+====
- - Speisen/Kneipen
- Numerischer Wert fuer den Saettigungsgrad einer Portion einer
- Speise. Ist diese Property nicht gesetzt, kann man diese
- Speise nicht essen. Eine funktionierende Speise _muss_ entweder
- P_FOOD oder P_DRINK groesser 0 gesetzt haben.
+ P_FOOD "food"
-SIEHE AUCH:
- P_MAX_FOOD, P_FOOD_DELAY, consume,
- P_DRINK, P_ALCOHOL, wiz/food
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ - Lebewesen
+ Numerischer Wert fuer den Saettigungsgrad eines Lebewesens.
+ Der maximale Wert steht in P_MAX_FOOD.
+
+ - Speisen/Kneipen
+ Numerischer Wert fuer den Saettigungsgrad einer Portion einer
+ Speise. Ist diese Property nicht gesetzt, kann man diese
+ Speise nicht essen. Eine funktionierende Speise _muss_ entweder
+ P_FOOD oder P_DRINK groesser 0 gesetzt haben.
+
+
+SIEHE AUCH
+==========
+
+ P_MAX_FOOD, P_FOOD_DELAY, consume,
+ P_DRINK, P_ALCOHOL, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_FOOD_DELAY b/doc/props/P_FOOD_DELAY
index 11ccf6e..f4eb2df 100644
--- a/doc/props/P_FOOD_DELAY
+++ b/doc/props/P_FOOD_DELAY
@@ -1,10 +1,23 @@
-NAME:
- P_FOOD_DELAY "food_delay"
-DEFINIERT IN:
- /sys/living/life.h
+P_FOOD_DELAY
+************
-BESCHREIBUNG:
- Anzahl der heart_beats, bis P_FOOD um einen Punkt sinkt.
- Aenderungen dieser Property in Spielern beduerfen der
- Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+ P_FOOD_DELAY "food_delay"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der heart_beats, bis P_FOOD um einen Punkt sinkt.
+ Aenderungen dieser Property in Spielern beduerfen der
+ Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_FOOD_FULL_MSG b/doc/props/P_FOOD_FULL_MSG
index a331ec5..f5c1bce 100644
--- a/doc/props/P_FOOD_FULL_MSG
+++ b/doc/props/P_FOOD_FULL_MSG
@@ -1,24 +1,45 @@
-NAME:
- P_FOOD_FULL_MSG "std_food_full_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_FOOD_FULL_MSG
+***************
-BESCHREIBUNG:
- Meldung an den Konsumenten, wenn eine Speise gegessen werden soll,
- obwohl dieser nichts mehr essen kann.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "Du bist zu satt, das schaffst Du nicht mehr."
-SIEHE AUCH:
- P_FOOD, P_MAX_FOOD, wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_FOOD_FULL_MSG "std_food_full_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Konsumenten, wenn eine Speise gegessen werden soll,
+ obwohl dieser nichts mehr essen kann.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "Du bist zu satt, das schaffst Du nicht mehr."
+
+
+SIEHE AUCH
+==========
+
+ P_FOOD, P_MAX_FOOD, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_FORCE_MURDER_MSG b/doc/props/P_FORCE_MURDER_MSG
index cf0157c..709ef4e 100644
--- a/doc/props/P_FORCE_MURDER_MSG
+++ b/doc/props/P_FORCE_MURDER_MSG
@@ -1,39 +1,57 @@
-NAME:
- P_FORCE_MURDER_MSG "force_murder_msg"
-DEFINIERT IN:
- /sys/properties.h
+P_FORCE_MURDER_MSG
+******************
-BESCHREIBUNG:
- Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon
- ab, wie oft und welche Art von NPCs in der letzten Zeit getoetet
- wurden. Zum Beispiel ist es eher selten, dass ein schwacher NPC auf
- dem Kanal erscheint, wenn kuerzlich viele starke NPCs getoetet
- wurden. Mittels der Property P_FORCE_MURDER_MSG kann man auf diese
- Regelung Einfluss nehmen.
- Ein Wert groesser Null erzwingt die Meldung auf dem Moerder-Kanal,
- ein Wert kleiner Null unterdrueckt sie generell. Letzteres ist
- insbesondere fuer allzuoft getoetete Monster sinnvoll, um den
- Moerder-Kanal nicht uebermaessig zu belasten. Mit dem Erzwingen der
- Meldungen sollte man somit vorsichtig sein: Weniger ist oftmals
- besser als zu viel!
- Die Defaulteinstellung von P_FORCE_MURDER_MSG ist natuerlich Null
- und fuehrt zur bereits beschriebenen opferabhaengigen Meldung.
-BEISPIELE:
- Ein grosser starker NPC, der getoetet wurde, sollte schon eine tolle
- Meldung auf dem Moerder-Kanal erzeugen. In der Property
- P_MURDER_MSG koennen hierzu alternative Texte zu den normal per
- Zufall ausgewaehlten angegeben werden:
- SetProp(P_MURDER_MSG,
- "Nicht schlecht, aber das schafft eh nur einer!");
- SetProp(P_FORCE_MURDER_MSG,1);
- Zwar ist es bei grossen NPCs hinreichend wahrscheinlich, dass es
- infolge derer Staerke zur automatischen Ausgabe einer Moerdermeldung
- kommt, aber mit der letzten Zeile wurde dies absolut sichergestellt.
+NAME
+====
-SIEHE AUCH:
- P_MURDER_MSG, P_ZAP_MSG, P_KILL_MSG, P_DIE_MSG, P_CORPSE, P_NOCORPSE
+ P_FORCE_MURDER_MSG "force_murder_msg"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon
+ ab, wie oft und welche Art von NPCs in der letzten Zeit getoetet
+ wurden. Zum Beispiel ist es eher selten, dass ein schwacher NPC auf
+ dem Kanal erscheint, wenn kuerzlich viele starke NPCs getoetet
+ wurden. Mittels der Property P_FORCE_MURDER_MSG kann man auf diese
+ Regelung Einfluss nehmen.
+ Ein Wert groesser Null erzwingt die Meldung auf dem Moerder-Kanal,
+ ein Wert kleiner Null unterdrueckt sie generell. Letzteres ist
+ insbesondere fuer allzuoft getoetete Monster sinnvoll, um den
+ Moerder-Kanal nicht uebermaessig zu belasten. Mit dem Erzwingen der
+ Meldungen sollte man somit vorsichtig sein: Weniger ist oftmals
+ besser als zu viel!
+ Die Defaulteinstellung von P_FORCE_MURDER_MSG ist natuerlich Null
+ und fuehrt zur bereits beschriebenen opferabhaengigen Meldung.
+
+
+BEISPIELE
+=========
+
+ Ein grosser starker NPC, der getoetet wurde, sollte schon eine tolle
+ Meldung auf dem Moerder-Kanal erzeugen. In der Property
+ P_MURDER_MSG koennen hierzu alternative Texte zu den normal per
+ Zufall ausgewaehlten angegeben werden:
+ SetProp(P_MURDER_MSG,
+ "Nicht schlecht, aber das schafft eh nur einer!");
+ SetProp(P_FORCE_MURDER_MSG,1);
+ Zwar ist es bei grossen NPCs hinreichend wahrscheinlich, dass es
+ infolge derer Staerke zur automatischen Ausgabe einer Moerdermeldung
+ kommt, aber mit der letzten Zeile wurde dies absolut sichergestellt.
+
+
+SIEHE AUCH
+==========
+
+ P_MURDER_MSG, P_ZAP_MSG, P_KILL_MSG, P_DIE_MSG, P_CORPSE, P_NOCORPSE
+
Last modified: Tue Nov 10 02:15:26 1998 by Patryn
diff --git a/doc/props/P_FREE_HANDS b/doc/props/P_FREE_HANDS
index 6143cad..c8311cc 100644
--- a/doc/props/P_FREE_HANDS
+++ b/doc/props/P_FREE_HANDS
@@ -1,22 +1,40 @@
+
P_FREE_HANDS
-NAME:
- P_FREE_HANDS "free_hands"
+************
-DEFINIERT IN:
- /sys/living/combat.h
-BESCHREIBUNG:
- Anzahl der freien Haende.
- Effektiv nur ein die Differenz von P_MAX_HANDS und P_USED_HANDS.
+NAME
+====
-BEMERKUNGEN:
- Keine echte Property. Die Methode /std/living/combat::_query_free_hands
- stellt die Daten zusammen. Nicht setzen!
+ P_FREE_HANDS "free_hands"
-SIEHE AUCH:
- P_HANDS, P_HANDS_USED_BY
- P_MAX_HANDS, P_USED_HANDS
- UseHands, FreeHands
- /std/weapon.c, /std/spellbook.c
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der freien Haende.
+ Effektiv nur ein die Differenz von P_MAX_HANDS und P_USED_HANDS.
+
+
+BEMERKUNGEN
+===========
+
+ Keine echte Property. Die Methode /std/living/combat::_query_free_hands
+ stellt die Daten zusammen. Nicht setzen!
+
+
+SIEHE AUCH
+==========
+
+ P_HANDS, P_HANDS_USED_BY
+ P_MAX_HANDS, P_USED_HANDS
+ UseHands, FreeHands
+ /std/weapon.c, /std/spellbook.c
1. Okt 2012, Gloinson
diff --git a/doc/props/P_FRIEND b/doc/props/P_FRIEND
index ded080c..b22203b 100644
--- a/doc/props/P_FRIEND
+++ b/doc/props/P_FRIEND
@@ -1,24 +1,39 @@
-NAME:
- P_FRIEND "friend"
-DEFINIERT IN:
- <combat.h>
+P_FRIEND
+********
-BESCHREIBUNG:
- Setzt man diese Property in einem NPC auf einen Wert ungleich Null,
- so wird der NPC bei Zauberspruechen, die auf bestimmte Gruppen
- wirken, der Gruppe der Spieler und nicht der Gruppe der NPCs
- zugeordnet. Ausserdem wird der NPC bei einem "toete alle" nicht mit
- angegriffen.
- Wurde der NPC einem Spieler per AssocMember() zugeordnet, so
- befindet sich der NPC automatisch im jeweiligen Team des Spielers
- (moeglichst auch in der selben Kampfreihe), und die Property hat
- dann automatisch das Spielerobjekt als Wert.
- Da dieser Wert in diesem Fall natuerlich ungleich Null ist, wird der
- NPC dann auch der Gruppe der Spieler zugeordnet.
-SIEHE AUCH:
- FindGroup(), AssocMember(), P_TEAM_ASSOC_MEMBERS, /std/living/team.c
+NAME
+====
-----------------------------------------------------------------------------
+ P_FRIEND "friend"
+
+
+DEFINIERT IN
+============
+
+ <combat.h>
+
+
+BESCHREIBUNG
+============
+
+ Setzt man diese Property in einem NPC auf einen Wert ungleich Null,
+ so wird der NPC bei Zauberspruechen, die auf bestimmte Gruppen
+ wirken, der Gruppe der Spieler und nicht der Gruppe der NPCs
+ zugeordnet. Ausserdem wird der NPC bei einem "toete alle" nicht mit
+ angegriffen.
+ Wurde der NPC einem Spieler per AssocMember() zugeordnet, so
+ befindet sich der NPC automatisch im jeweiligen Team des Spielers
+ (moeglichst auch in der selben Kampfreihe), und die Property hat
+ dann automatisch das Spielerobjekt als Wert.
+ Da dieser Wert in diesem Fall natuerlich ungleich Null ist, wird der
+ NPC dann auch der Gruppe der Spieler zugeordnet.
+
+
+SIEHE AUCH
+==========
+
+ FindGroup(), AssocMember(), P_TEAM_ASSOC_MEMBERS, /std/living/team.c
+
Last modified: Tue Dec 29 17:02:55 1998 by Patryn
diff --git a/doc/props/P_FROG b/doc/props/P_FROG
index 5f64eac..71badbe 100644
--- a/doc/props/P_FROG
+++ b/doc/props/P_FROG
@@ -1,8 +1,21 @@
-NAME:
- P_FROG "frog"
-DEFINIERT IN:
- /sys/living/life.h
+P_FROG
+******
-BESCHREIBUNG:
- Gesetzt, wenn der Spieler ein Frosch ist.
+
+NAME
+====
+
+ P_FROG "frog"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Gesetzt, wenn der Spieler ein Frosch ist.
diff --git a/doc/props/P_FUEL b/doc/props/P_FUEL
index 890ca60..79f8515 100644
--- a/doc/props/P_FUEL
+++ b/doc/props/P_FUEL
@@ -1,26 +1,48 @@
-NAME:
- P_FUEL "fuel"
-DEFINIERT IN:
- /sys/properties.h
+P_FUEL
+******
-BESCHREIBUNG:
- Numerischer Wert fuer die Zeitdauer, die die Lichtquelle noch
- leuchten kann. Standardmaessig ist der Wert auf 20 gesetzt.
- Setzt man die Property auf einen Wert, der groesser ist als der vorige
- Maximalwert, wird dieser auf den neuen Wert erhoeht. Aendert man den
- Brennstoffvorrat der Lichtquelle hingegen mittels AddFuel(), so wird
- der Wert von P_FUEL ueber den Maximalwert hinaus erhoeht.
+NAME
+====
-HINWEIS:
- Fuer Aenderungen an der Property kann auch die Funktion AddFuel()
- verwendet werden.
+ P_FUEL "fuel"
-SIEHE AUCH:
- Basisklassen: /std/lightsource.c
- Properties: P_LIGHTDESC, P_DO_DESTRUCT, P_LIGHT
- Methoden: AddFuel(L)
-LETZTE AENDERUNG:
- 22. Dez. 2015, Arathorn
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert fuer die Zeitdauer, die die Lichtquelle noch
+ leuchten kann. Standardmaessig ist der Wert auf 20 gesetzt.
+
+ Setzt man die Property auf einen Wert, der groesser ist als der vorige
+ Maximalwert, wird dieser auf den neuen Wert erhoeht. Aendert man den
+ Brennstoffvorrat der Lichtquelle hingegen mittels AddFuel(), so wird
+ der Wert von P_FUEL ueber den Maximalwert hinaus erhoeht.
+
+
+HINWEIS
+=======
+
+ Fuer Aenderungen an der Property kann auch die Funktion AddFuel()
+ verwendet werden.
+
+
+SIEHE AUCH
+==========
+
+ Basisklassen: /std/lightsource.c
+ Properties: P_LIGHTDESC, P_DO_DESTRUCT, P_LIGHT
+ Methoden: AddFuel(L)
+
+
+LETZTE AENDERUNG
+================
+
+ 22. Dez. 2015, Arathorn
diff --git a/doc/props/P_FUNC_MSG b/doc/props/P_FUNC_MSG
index b4f9d1e..adcca1a 100644
--- a/doc/props/P_FUNC_MSG
+++ b/doc/props/P_FUNC_MSG
@@ -1,21 +1,40 @@
-NAME:
- P_FUNC_MSG "func_msg"
-DEFINIERT IN:
- /sys/room/description.h
+P_FUNC_MSG
+**********
-BESCHREIBUNG:
- Liste mit Funktionen, die zufaellig im Raum aufgerufen werden.
- Hier ist nur eine zur rufende lokale Methode als String oder eine
- Sammlung davon als Stringarray gespeichert.
+NAME
+====
-ANMERKUNGEN:
- Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
+ P_FUNC_MSG "func_msg"
-SIEHE AUCH:
- LFuns: AddRoomMessage()
- Verwandt: tell_room(), ReceiveMsg()
- Props: P_ROOM_MSG, P_MSG_PROB
+
+DEFINIERT IN
+============
+
+ /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+ Liste mit Funktionen, die zufaellig im Raum aufgerufen werden.
+
+ Hier ist nur eine zur rufende lokale Methode als String oder eine
+ Sammlung davon als Stringarray gespeichert.
+
+
+ANMERKUNGEN
+===========
+
+ Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
+
+
+SIEHE AUCH
+==========
+
+ LFuns: AddRoomMessage()
+ Verwandt: tell_room(), ReceiveMsg()
+ Props: P_ROOM_MSG, P_MSG_PROB
2.Feb 2016 Gloinson
diff --git a/doc/props/P_FW_ALWAYS_READABLE b/doc/props/P_FW_ALWAYS_READABLE
index 31700ed..f770431 100644
--- a/doc/props/P_FW_ALWAYS_READABLE
+++ b/doc/props/P_FW_ALWAYS_READABLE
@@ -1,8 +1,21 @@
-NAME:
- P_FW_ALWAYS_READABLE "fw_always_readable"
-DEFINIERT IN:
- /sys/properties.h
+P_FW_ALWAYS_READABLE
+********************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_FW_ALWAYS_READABLE "fw_always_readable"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_FW_UNDERSTAND b/doc/props/P_FW_UNDERSTAND
index ff8f6e6..2884555 100644
--- a/doc/props/P_FW_UNDERSTAND
+++ b/doc/props/P_FW_UNDERSTAND
@@ -1,8 +1,21 @@
-NAME:
- P_FW_UNDERSTAND "fw_understand"
-DEFINIERT IN:
- /sys/properties.h
+P_FW_UNDERSTAND
+***************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_FW_UNDERSTAND "fw_understand"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_GENDER b/doc/props/P_GENDER
index 93f73dc..c2a3f77 100644
--- a/doc/props/P_GENDER
+++ b/doc/props/P_GENDER
@@ -1,9 +1,22 @@
-NAME:
- P_GENDER "gender"
-DEFINIERT IN:
- /sys/thing/language.h
+P_GENDER
+********
-BESCHREIBUNG:
- Grammatikalisches Geschlecht des Objektes:
- (Definiert in language.h) MALE, FEMALE oder NEUTER
+
+NAME
+====
+
+ P_GENDER "gender"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/language.h
+
+
+BESCHREIBUNG
+============
+
+ Grammatikalisches Geschlecht des Objektes:
+ (Definiert in language.h) MALE, FEMALE oder NEUTER
diff --git a/doc/props/P_GHOST b/doc/props/P_GHOST
index 9cbf309..31c9f2d 100644
--- a/doc/props/P_GHOST
+++ b/doc/props/P_GHOST
@@ -1,8 +1,21 @@
-NAME:
- P_GHOST "ghost"
-DEFINIERT IN:
- /sys/living/life.h
+P_GHOST
+*******
-BESCHREIBUNG:
- Gesetzt, wenn der Spieler tot ist.
+
+NAME
+====
+
+ P_GHOST "ghost"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Gesetzt, wenn der Spieler tot ist.
diff --git a/doc/props/P_GIVE_MSG b/doc/props/P_GIVE_MSG
index bd6a624..e21dbad 100644
--- a/doc/props/P_GIVE_MSG
+++ b/doc/props/P_GIVE_MSG
@@ -1,65 +1,83 @@
+
P_GIVE_MSG
-NAME:
- P_GIVE_MSG "give_message"
+**********
-DEFINIERT IN:
- /sys/living/put_and_get.h
-BESCHREIBUNG:
- Mit P_GIVE_MSG kann man die Meldung, die man beim Uebergeben eines
- Objektes bekommt, modifizieren.
+NAME
+====
- Folgende Werte sind moeglich:
+ P_GIVE_MSG "give_message"
- o 0
- Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
- o NO_PNG_MSG == -1
- Es wird keinerlei Meldung ausgegeben
+DEFINIERT IN
+============
- o Ein Array aus Strings
- Der erste String wird an den Spieler ausgegeben, der zweite
- (optionale) an den Raum, der dritte (ebenfalls optionale) an den
- Empfaenger.
+ /sys/living/put_and_get.h
- Die Strings werden durch die Funktion replace_personal() geparst.
- Objekt1 - Spieler
- Objekt2 - das Objekt, das uebergeben wird
- Objekt3 - Empfaenger
- Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
- Raum. Beim Fehlen des dritten gibt es keine Meldung an den Empfaenger.
+BESCHREIBUNG
+============
-BEISPIEL:
- void create() {
- ...
- SetProp( P_SHORT, "Etwas Sand" );
- SetProp( P_LONG, break_string(
- "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+ Mit P_GIVE_MSG kann man die Meldung, die man beim Uebergeben eines
+ Objektes bekommt, modifizieren.
- SetProp( P_NAME, "Sand" );
- AddId( ({"sand"}) );
- SetProp( P_GENDER, MALE );
+ Folgende Werte sind moeglich:
- SetProp( P_GIVE_MSG, ({
- "Du laesst @WEN2 in @WESSEN3 Haende rieseln.",
- "@WER1 laesst @WENU2 in @WESSEN3 Haende rieseln.",
- "@WER1 laesst @WENU2 in deine Haende rieseln."}));
- ...
- }
+ o 0
+ Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
- Das ganze fuehrt bei Ugars "gib sand an peter" zu folgenden
- Meldungen:
+ o NO_PNG_MSG == -1
+ Es wird keinerlei Meldung ausgegeben
- Ugar: "Du laesst den Sand in Peters Haende rieseln."
- Raum: "Ugar laesst Sand in Peters Haende rieseln."
- Peter: "Ugar laesst Sand in deine Haende rieseln."
+ o Ein Array aus Strings
+ Der erste String wird an den Spieler ausgegeben, der zweite
+ (optionale) an den Raum, der dritte (ebenfalls optionale) an den
+ Empfaenger.
-SIEHE AUCH:
- Aehnliches: P_DROP_MSG, P_PUT_MSG, P_PICK_MSG, P_SHOW_MSG
- Fehler: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
- P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
- Sonstiges: replace_personal(E), give(L), give_objects(L),
- give_notify(L), /std/living/put_and_get.c
+ Die Strings werden durch die Funktion replace_personal() geparst.
+ Objekt1 - Spieler
+ Objekt2 - das Objekt, das uebergeben wird
+ Objekt3 - Empfaenger
+
+ Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
+ Raum. Beim Fehlen des dritten gibt es keine Meldung an den Empfaenger.
+
+
+BEISPIEL
+========
+
+ void create() {
+ ...
+ SetProp( P_SHORT, "Etwas Sand" );
+ SetProp( P_LONG, break_string(
+ "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+
+ SetProp( P_NAME, "Sand" );
+ AddId( ({"sand"}) );
+ SetProp( P_GENDER, MALE );
+
+ SetProp( P_GIVE_MSG, ({
+ "Du laesst @WEN2 in @WESSEN3 Haende rieseln.",
+ "@WER1 laesst @WENU2 in @WESSEN3 Haende rieseln.",
+ "@WER1 laesst @WENU2 in deine Haende rieseln."}));
+ ...
+ }
+
+ Das ganze fuehrt bei Ugars "gib sand an peter" zu folgenden
+ Meldungen:
+
+ Ugar: "Du laesst den Sand in Peters Haende rieseln."
+ Raum: "Ugar laesst Sand in Peters Haende rieseln."
+ Peter: "Ugar laesst Sand in deine Haende rieseln."
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_DROP_MSG, P_PUT_MSG, P_PICK_MSG, P_SHOW_MSG
+ Fehler: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+ P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
+ Sonstiges: replace_personal(E), give(L), give_objects(L),
+ give_notify(L), /std/living/put_and_get.c
14. Maerz 2004 Gloinson
diff --git a/doc/props/P_GLOBAL_SKILLPROPS b/doc/props/P_GLOBAL_SKILLPROPS
index fc12c1e..1e3533b 100644
--- a/doc/props/P_GLOBAL_SKILLPROPS
+++ b/doc/props/P_GLOBAL_SKILLPROPS
@@ -1,27 +1,46 @@
-NAME:
- P_GLOBAL_SKILLPROPS "sm_global"
-DEFINIERT IN:
- /sys/new_skills.h
+P_GLOBAL_SKILLPROPS
+*******************
-BESCHREIBUNG:
- Diese Gilden- und Spellbookproperty enthaelt Eigenschaften, die
- alle Spells eines Spellbooks bzw. alle Skills und Spells einer Gilde
- haben sollen.
-BEISPIELE:
- SetProp(P_GLOBAL_SKILLPROPS,
- ([SI_SKILLRESTR_USE: ([SR_FUN: #'spellTest]),
- OFFSET(SI_SKILLLEARN): #'learnOffset,
- OFFSET(SI_SPELLCOST): #'costOffset,
- FACTOR(SI_SPELLCOST): #'costFactor]));
+NAME
+====
-SIEHE AUCH:
- GObj Verwalten: LearnSkill, LearnSpell, InitialSkillAbility
- * Properties: P_GUILD_SKILLS
- Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
- * Verwalten: AddSpell, QuerySpell
- * Properties: P_SB_SPELLS
- Skills: P_NEWSKILLS, spruchermuedung, skill_info_liste
+ P_GLOBAL_SKILLPROPS "sm_global"
-3. Okt 2011 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Gilden- und Spellbookproperty enthaelt Eigenschaften, die
+ alle Spells eines Spellbooks bzw. alle Skills und Spells einer Gilde
+ haben sollen.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_GLOBAL_SKILLPROPS,
+ ([SI_SKILLRESTR_USE: ([SR_FUN: #'spellTest]),
+ OFFSET(SI_SKILLLEARN): #'learnOffset,
+ OFFSET(SI_SPELLCOST): #'costOffset,
+ FACTOR(SI_SPELLCOST): #'costFactor]));
+
+
+SIEHE AUCH
+==========
+
+ GObj Verwalten: LearnSkill, LearnSpell, InitialSkillAbility
+ * Properties: P_GUILD_SKILLS
+ Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
+ * Verwalten: AddSpell, QuerySpell
+ * Properties: P_SB_SPELLS
+ Skills: P_NEWSKILLS, spruchermuedung, skill_info_liste
+
+3. Okt 2011 Gloinson
diff --git a/doc/props/P_GUARD b/doc/props/P_GUARD
index ebeb989..7128df6 100644
--- a/doc/props/P_GUARD
+++ b/doc/props/P_GUARD
@@ -1,50 +1,70 @@
+
P_GUARD
-NAME:
- P_GUARD "guard"
-
-DEFINIERT IN:
- /sys/guard.h
-
-BESCHREIBUNG:
- Diese Property gibt an, ob ein NPC aus einem Raum entfernt werden darf
- oder nicht. Abgefragt werden muss dies von den Items oder Spells, die
- den NPC zu einer Bewegung zwingen wollen. Es wird nicht automatisch
- darauf geachtet!
-
- Entscheidend hierbei ist ein in der Property enthaltene (ganzzahliger)
- Zahlenwert zwischen 0 und 100, der hierbei den Grad der
- 'Bewachungsstaerke' eines NPCs angibt. Bei 0 laesst sich das Lebewesen
- immer zu einer Bewegung ueberreden, bei 100 ueberhaupt nicht. Dazwischen
- gibt es die Wahrscheinlichkeit dafuer an.
-
-BEMERKUNGEN:
- - alle von /std/npc abgeleiteten NPCs haben standardmaessig P_GUARD
- auf 100 gesetzt, sind also nicht fortfuehrbar
- - bei der Erzeugung von NPCs mit P_GUARD < 100 AddItem() mit dem
- Parameter REFRESH_MOVE_HOME verwenden, damit sie bei einem Raumreset
- gegebenenfalls an ihren Ausgangsort zurueckkehren.
- - gildenspezifische weitere Abfragen auf Level oAe bitte bei Gilden-
- magiern erfragen
-
-BEISPIELE:
- // ein Test
- if(random(100)<=liv->QueryProp(P_GUARD))
- cannotMoveNPC(); // NPC darf nicht bewegt werden!
- else
- moveNPC(); // NPC darf bewegt werden
-
- // ein wegfuehrbarer NPC
- void create() {
- ::create();
- ...
- SetProp(P_GUARD,50);
- ...
- }
- // mit 50% Wahrscheinlichkeit (pro Versuch) laesst sich der NPC nun
- // fortfuehren
+*******
-SIEHE AUCH:
- AddItem()
+NAME
+====
+
+ P_GUARD "guard"
+
+
+DEFINIERT IN
+============
+
+ /sys/guard.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property gibt an, ob ein NPC aus einem Raum entfernt werden darf
+ oder nicht. Abgefragt werden muss dies von den Items oder Spells, die
+ den NPC zu einer Bewegung zwingen wollen. Es wird nicht automatisch
+ darauf geachtet!
+
+ Entscheidend hierbei ist ein in der Property enthaltene (ganzzahliger)
+ Zahlenwert zwischen 0 und 100, der hierbei den Grad der
+ 'Bewachungsstaerke' eines NPCs angibt. Bei 0 laesst sich das Lebewesen
+ immer zu einer Bewegung ueberreden, bei 100 ueberhaupt nicht. Dazwischen
+ gibt es die Wahrscheinlichkeit dafuer an.
+
+
+BEMERKUNGEN
+===========
+
+ - alle von /std/npc abgeleiteten NPCs haben standardmaessig P_GUARD
+ auf 100 gesetzt, sind also nicht fortfuehrbar
+ - bei der Erzeugung von NPCs mit P_GUARD < 100 AddItem() mit dem
+ Parameter REFRESH_MOVE_HOME verwenden, damit sie bei einem Raumreset
+ gegebenenfalls an ihren Ausgangsort zurueckkehren.
+ - gildenspezifische weitere Abfragen auf Level oAe bitte bei Gilden-
+ magiern erfragen
+
+
+BEISPIELE
+=========
+
+ // ein Test
+ if(random(100)<=liv->QueryProp(P_GUARD))
+ cannotMoveNPC(); // NPC darf nicht bewegt werden!
+ else
+ moveNPC(); // NPC darf bewegt werden
+
+ // ein wegfuehrbarer NPC
+ void create() {
+ ::create();
+ ...
+ SetProp(P_GUARD,50);
+ ...
+ }
+ // mit 50% Wahrscheinlichkeit (pro Versuch) laesst sich der NPC nun
+ // fortfuehren
+
+
+SIEHE AUCH
+==========
+
+ AddItem()
13.April 2004 Gloinson
diff --git a/doc/props/P_GUILD b/doc/props/P_GUILD
index bcffb4c..c3c13cb 100644
--- a/doc/props/P_GUILD
+++ b/doc/props/P_GUILD
@@ -1,22 +1,40 @@
+
P_GUILD
-NAME:
- P_GUILD "guild"
+*******
-DEFINIERT IN:
- /sys/properties.h
-BESCHREIBUNG:
- Diese Property enthaelt den Namen der Gilde, welcher das Lebewesen
- angehoert. Der Name der Gilde ist hierbei kleingeschrieben als String
- definiert.
+NAME
+====
-BEMERKUNGEN:
- Bei Spielern ist der Wert dieser Property niemals Null, denn sie
- gehoeren standardmaessig der in P_DEFAULT_GUILD stehenden Gilde an.
- Ueber die gesetzte P_GUILD werden auch aktive Skills ermittelt.
+ P_GUILD "guild"
-SIEHE AUCH:
- P_DEFAULT_GUILD, P_VISIBLE_GUILD
- P_GUILD_TITLE, P_SUBGUILD_TITLE
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt den Namen der Gilde, welcher das Lebewesen
+ angehoert. Der Name der Gilde ist hierbei kleingeschrieben als String
+ definiert.
+
+
+BEMERKUNGEN
+===========
+
+ Bei Spielern ist der Wert dieser Property niemals Null, denn sie
+ gehoeren standardmaessig der in P_DEFAULT_GUILD stehenden Gilde an.
+ Ueber die gesetzte P_GUILD werden auch aktive Skills ermittelt.
+
+
+SIEHE AUCH
+==========
+
+ P_DEFAULT_GUILD, P_VISIBLE_GUILD
+ P_GUILD_TITLE, P_SUBGUILD_TITLE
26. Maerz 2004 Gloinson
diff --git a/doc/props/P_GUILD_DEACTIVATE_SKILLS b/doc/props/P_GUILD_DEACTIVATE_SKILLS
index 019da30..a53d6ce 100644
--- a/doc/props/P_GUILD_DEACTIVATE_SKILLS
+++ b/doc/props/P_GUILD_DEACTIVATE_SKILLS
@@ -1,38 +1,50 @@
-PROPERTY:
- P_GUILD_DEACTIVATE_SKILLS "guild_deactivate_skills"
+P_GUILD_DEACTIVATE_SKILLS
+*************************
-DEFINIERT IN:
- new_skills.h
+PROPERTY
+========
-BESCHREIBUNG:
+ P_GUILD_DEACTIVATE_SKILLS "guild_deactivate_skills"
- Diese Property erlaubt es, Gildenmitgliedern die benutzung von ANY-
- Skills zu untersagen. Dies sind einerseits die allgemeinen Waffenskills,
- andererseits koennte das auch der entgifte-Spruch der Duesterwald -
- Quest sein.
+DEFINIERT IN:
- Wert dieser Property ist ein Mapping, das als Keys die einzelnen
- Skills und als Wert 1 enthaelt, wenn ein Skill deaktiviert
- werden soll und 0, falls nicht.
+ new_skills.h
- Diese Property wird nur bei einem Neuerzeugen des Spielers neu
- ausgelesen, da es sonst zuviel Rechenzeit kostet.
-BEISPIEL:
+BESCHREIBUNG
+============
- Jede Gilde, die keine Waffenskills benutzen soll (oder selbst welche hat)
- enthaelt folgenden Befehl:
+ Diese Property erlaubt es, Gildenmitgliedern die benutzung von ANY-
+ Skills zu untersagen. Dies sind einerseits die allgemeinen Waffenskills,
+ andererseits koennte das auch der entgifte-Spruch der Duesterwald -
+ Quest sein.
- SetProp(P_GUILD_DEACTIVATE_SKILLS,
- ([FIGHT(WT_SWORD):1,
- FIGHT(WT_AXE):1,
- FIGHT(WT_CLUB):1,
- FIGHT(WT_SPEAR):1,
- FIGHT(WT_KNIFE):1,
- FIGHT(WT_WHIP):1]));
-
-LETZTE AENDERUNG:
+ Wert dieser Property ist ein Mapping, das als Keys die einzelnen
+ Skills und als Wert 1 enthaelt, wenn ein Skill deaktiviert
+ werden soll und 0, falls nicht.
-2003-01-30, 14:15, Humni
+ Diese Property wird nur bei einem Neuerzeugen des Spielers neu
+ ausgelesen, da es sonst zuviel Rechenzeit kostet.
+
+
+BEISPIEL
+========
+
+ Jede Gilde, die keine Waffenskills benutzen soll (oder selbst welche hat)
+ enthaelt folgenden Befehl:
+
+ SetProp(P_GUILD_DEACTIVATE_SKILLS,
+ ([FIGHT(WT_SWORD):1,
+ FIGHT(WT_AXE):1,
+ FIGHT(WT_CLUB):1,
+ FIGHT(WT_SPEAR):1,
+ FIGHT(WT_KNIFE):1,
+ FIGHT(WT_WHIP):1]));
+
+LETZTE AENDERUNG
+
+
+2003-01-30, 1415, Humni
+=======================
diff --git a/doc/props/P_GUILD_DEFAULT_SPELLBOOK b/doc/props/P_GUILD_DEFAULT_SPELLBOOK
index 9ad9150..4d6bbd0 100644
--- a/doc/props/P_GUILD_DEFAULT_SPELLBOOK
+++ b/doc/props/P_GUILD_DEFAULT_SPELLBOOK
@@ -1,23 +1,44 @@
-NAME:
- P_GUILD_DEFAULT_SPELLBOOK "guild_sb"
-DEFINIERT IN:
- /sys/new_skills.h
+P_GUILD_DEFAULT_SPELLBOOK
+*************************
-BESCHREIBUNG:
- Diese Gildenproperty enthaelt den Namen des Spellbooks, welches
- standardmaessig von der Gilde verwendet wird.
-BEMERKUNGEN:
- Bei Spells kann sie mit SI_SPELLBOOK ueberschrieben werden.
+NAME
+====
-BEISPIELE:
- Bei Zauberern waere folgendes denkbar:
- SetProp(P_GUILD_DEFAULT_SPELLBOOK,"magie_sp");
- Das Spellbook ist hierbei unter "/spellbooks/magie_sp.c" zu finden.
+ P_GUILD_DEFAULT_SPELLBOOK "guild_sb"
-SIEHE AUCH:
- P_GUILD
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Gildenproperty enthaelt den Namen des Spellbooks, welches
+ standardmaessig von der Gilde verwendet wird.
+
+
+BEMERKUNGEN
+===========
+
+ Bei Spells kann sie mit SI_SPELLBOOK ueberschrieben werden.
+
+
+BEISPIELE
+=========
+
+ Bei Zauberern waere folgendes denkbar:
+ SetProp(P_GUILD_DEFAULT_SPELLBOOK,"magie_sp");
+ Das Spellbook ist hierbei unter "/spellbooks/magie_sp.c" zu finden.
+
+
+SIEHE AUCH
+==========
+
+ P_GUILD
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_FEMALE_TITLES b/doc/props/P_GUILD_FEMALE_TITLES
index b1528e9..c06947d 100644
--- a/doc/props/P_GUILD_FEMALE_TITLES
+++ b/doc/props/P_GUILD_FEMALE_TITLES
@@ -1,24 +1,42 @@
-NAME:
- P_GUILD_FEMALE_TITLES "guild_female_titles"
-DEFINIERT IN:
- /sys/new_skills.h
+P_GUILD_FEMALE_TITLES
+*********************
-BESCHREIBUNG:
- Diese Gildenproperty enthaelt die Stufenbezeichnungen fuer
- weibliche Gildenmitglieder. Als Schluessel dienen hierbei die
- Gildenstufen und die entsprechenden Eintraege sind dann die zur
- Stufe gehoerigen Gildentitel.
-BEISPIELE:
- Eine Programmierergilde koennte folgende Stufenbezeichnungen
- beinhalten:
- SetProp(P_GUILD_FEMALE_TITLES,([1:"die Anfaengerin",
- 2:"die Fortgeschrittene",
- 3:"die Professionelle ;)"]));
+NAME
+====
-SIEHE AUCH:
- P_GENDER, P_GUILD_LEVEL, P_GUILD_TITLE, P_GUILD_MALE_TITLES
+ P_GUILD_FEMALE_TITLES "guild_female_titles"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Gildenproperty enthaelt die Stufenbezeichnungen fuer
+ weibliche Gildenmitglieder. Als Schluessel dienen hierbei die
+ Gildenstufen und die entsprechenden Eintraege sind dann die zur
+ Stufe gehoerigen Gildentitel.
+
+
+BEISPIELE
+=========
+
+ Eine Programmierergilde koennte folgende Stufenbezeichnungen
+ beinhalten:
+ SetProp(P_GUILD_FEMALE_TITLES,([1:"die Anfaengerin",
+ 2:"die Fortgeschrittene",
+ 3:"die Professionelle ;)"]));
+
+
+SIEHE AUCH
+==========
+
+ P_GENDER, P_GUILD_LEVEL, P_GUILD_TITLE, P_GUILD_MALE_TITLES
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_LEVEL b/doc/props/P_GUILD_LEVEL
index 4920449..f38701c 100644
--- a/doc/props/P_GUILD_LEVEL
+++ b/doc/props/P_GUILD_LEVEL
@@ -1,23 +1,41 @@
-NAME:
- P_GUILD_LEVEL "guild_level"
-DEFINIERT IN:
- /sys/new_skills.h
+P_GUILD_LEVEL
+*************
-BESCHREIBUNG:
- Diese Property enthaelt die Gildenstufe des Lebewesens, welche nicht
- unbedingt seiner Spielerstufe entspricht.
-BEMERKUNGEN:
- Bei manchen Gilden entspricht die Gildenstufe standardmaessig der
- Spielerstufe (Abenteurer, Katzenkrieger). In der Property selbst
- wird eigentlich ein Mapping eingetragen, welches die Gildennamen als
- Schluessel und die dazugehoerige Gildenstufe als Eintrag enthaelt.
- Bei der Abfrage der Property wird jedoch die Gilde beruecksichtigt
- und die aktuelle Gildenstufe zurueckgeliefert.
+NAME
+====
-SIEHE AUCH:
- P_GUILD, P_GUILD_TITLE, P_GUILD_MALE_TITLES, P_GUILD_FEMALE_TITLES
+ P_GUILD_LEVEL "guild_level"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt die Gildenstufe des Lebewesens, welche nicht
+ unbedingt seiner Spielerstufe entspricht.
+
+
+BEMERKUNGEN
+===========
+
+ Bei manchen Gilden entspricht die Gildenstufe standardmaessig der
+ Spielerstufe (Abenteurer, Katzenkrieger). In der Property selbst
+ wird eigentlich ein Mapping eingetragen, welches die Gildennamen als
+ Schluessel und die dazugehoerige Gildenstufe als Eintrag enthaelt.
+ Bei der Abfrage der Property wird jedoch die Gilde beruecksichtigt
+ und die aktuelle Gildenstufe zurueckgeliefert.
+
+
+SIEHE AUCH
+==========
+
+ P_GUILD, P_GUILD_TITLE, P_GUILD_MALE_TITLES, P_GUILD_FEMALE_TITLES
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_LEVELS b/doc/props/P_GUILD_LEVELS
index 80d2237..9b9b80d 100644
--- a/doc/props/P_GUILD_LEVELS
+++ b/doc/props/P_GUILD_LEVELS
@@ -1,35 +1,56 @@
-NAME:
- P_GUILD_LEVELS "guild_levels"
-DEFINIERT IN:
- /sys/new_skills.h
+P_GUILD_LEVELS
+**************
-BESCHREIBUNG:
- Diese Gildenproperty enthaelt ein Mapping mit den
- Stufenbeschraenkungen fuer die jeweiligen Gildenstufen. Als
- Schluessel dient der jeweilige Gildenlevel und die entsprechenden
- Eintraege sind wiederum Mappings, in welchen die Beschraenkungen
- angegeben sind.
-BEMERKUNGEN:
- Die Beschraenkungen fuer Level 1 sollten auch fuer die
- Eintrittsbeschraenkungen der Gilde gelten. Letztere kann man in der
- Property P_GUILD_RESTRICTIONS angeben.
+NAME
+====
-BEISPIELE:
- Das folgende Beispiel zeigt ein paar moegliche Abfragen:
- string check(object pl);
- SetProp(P_GUILD_LEVELS,([1:([P_LEVEL:3,P_QP:100,SR_FUN:#'check]),
- 2:([A_INT:10,P_LEVEL:25]),
- 3:([A_INT:20,P_LEVEL:50])]));
- string check(object pl)
- { if(pl->QueryProp(P_MALE))
- return 0;
- return "Fuer Frauen ist das nichts!\n";
- }
+ P_GUILD_LEVELS "guild_levels"
-SIEHE AUCH:
- P_GUILD_LEVEL, P_GUILD_RESTRICTIONS, /std/restriction_checker.c
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Gildenproperty enthaelt ein Mapping mit den
+ Stufenbeschraenkungen fuer die jeweiligen Gildenstufen. Als
+ Schluessel dient der jeweilige Gildenlevel und die entsprechenden
+ Eintraege sind wiederum Mappings, in welchen die Beschraenkungen
+ angegeben sind.
+
+
+BEMERKUNGEN
+===========
+
+ Die Beschraenkungen fuer Level 1 sollten auch fuer die
+ Eintrittsbeschraenkungen der Gilde gelten. Letztere kann man in der
+ Property P_GUILD_RESTRICTIONS angeben.
+
+
+BEISPIELE
+=========
+
+ Das folgende Beispiel zeigt ein paar moegliche Abfragen:
+ string check(object pl);
+ SetProp(P_GUILD_LEVELS,([1:([P_LEVEL:3,P_QP:100,SR_FUN:#'check]),
+ 2:([A_INT:10,P_LEVEL:25]),
+ 3:([A_INT:20,P_LEVEL:50])]));
+ string check(object pl)
+ { if(pl->QueryProp(P_MALE))
+ return 0;
+ return "Fuer Frauen ist das nichts!\n";
+ }
+
+
+SIEHE AUCH
+==========
+
+ P_GUILD_LEVEL, P_GUILD_RESTRICTIONS, /std/restriction_checker.c
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_MALE_TITLES b/doc/props/P_GUILD_MALE_TITLES
index 27e05a5..41cb773 100644
--- a/doc/props/P_GUILD_MALE_TITLES
+++ b/doc/props/P_GUILD_MALE_TITLES
@@ -1,24 +1,42 @@
-NAME:
- P_GUILD_MALE_TITLES "guild_male_titles"
-DEFINIERT IN:
- /sys/new_skills.h
+P_GUILD_MALE_TITLES
+*******************
-BESCHREIBUNG:
- Diese Gildenproperty enthaelt die Stufenbezeichnungen fuer
- maennliche Gildenmitglieder. Als Schluessel dienen hierbei die
- Gildenstufen und die entsprechenden Eintraege sind dann die zur
- Stufe gehoerigen Gildentitel.
-BEISPIELE:
- Eine Programmierergilde koennte folgende Stufenbezeichnungen
- beinhalten:
- SetProp(P_GUILD_MALE_TITLES,([1:"der Anfaenger",
- 2:"der Fortgeschrittene",
- 3:"der Profi"]));
+NAME
+====
-SIEHE AUCH:
- P_GENDER, P_GILD_LEVEL, P_GUILD_TITLE, P_GUILD_FEMALE_TITLES
+ P_GUILD_MALE_TITLES "guild_male_titles"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Gildenproperty enthaelt die Stufenbezeichnungen fuer
+ maennliche Gildenmitglieder. Als Schluessel dienen hierbei die
+ Gildenstufen und die entsprechenden Eintraege sind dann die zur
+ Stufe gehoerigen Gildentitel.
+
+
+BEISPIELE
+=========
+
+ Eine Programmierergilde koennte folgende Stufenbezeichnungen
+ beinhalten:
+ SetProp(P_GUILD_MALE_TITLES,([1:"der Anfaenger",
+ 2:"der Fortgeschrittene",
+ 3:"der Profi"]));
+
+
+SIEHE AUCH
+==========
+
+ P_GENDER, P_GILD_LEVEL, P_GUILD_TITLE, P_GUILD_FEMALE_TITLES
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_PREPAREBLOCK b/doc/props/P_GUILD_PREPAREBLOCK
index e429a49..ee1c361 100644
--- a/doc/props/P_GUILD_PREPAREBLOCK
+++ b/doc/props/P_GUILD_PREPAREBLOCK
@@ -1,37 +1,60 @@
+
+P_GUILD_PREPAREBLOCK
+********************
+
+
P_GUILD_PREPAREBLOCK (int)
+==========================
-NAME:
- P_GUILD_PREPAREBLOCK "guild_prepareblock"
-DEFINIERT IN:
- /sys/new_skills.h
+NAME
+====
-BESCHREIBUNG:
- Diese Property enthaelt die Information, ob das Lebewesen in
- der Konzentrationsphase eines Spells weiterkaempft oder ob
- die Angriffe derweil ausgesetzt werden.
+ P_GUILD_PREPAREBLOCK "guild_prepareblock"
-BEMERKUNGEN:
- In der Property selbst wird eigentlich ein Mapping eingetragen,
- welches die Gildennamen als Schluessel und das dazugehoerige
- Block-Flag als Eintrag enthaelt. Bei der Abfrage der Property wird
- jedoch die Gilde beruecksichtigt und das aktuelle Flag
- zurueckgeliefert.
- Dementsprechend das diese Prop nicht mit Set() manipuliert werden,
- bitte ausschliessliche SetProp() verwenden.
-BEISPIELE:
- Die Property sollte natuerlich nur von der Gilde gesetzt werden
- und auch nur bei Gildenmitgliedern
+DEFINIERT IN
+============
- if ( IsGuildMember(pl) )
- pl->SetProp(P_GUILD_PREPAREBLOCK,1);
+ /sys/new_skills.h
- Resultat: Kein Ausfuehren von Attack(), wenn pl sich auf einen
- Zauberspruch konzentriert.
-SIEHE AUCH:
- P_PREPARED_SPELL
+BESCHREIBUNG
+============
-----------------------------------------------------------------------------
+ Diese Property enthaelt die Information, ob das Lebewesen in
+ der Konzentrationsphase eines Spells weiterkaempft oder ob
+ die Angriffe derweil ausgesetzt werden.
+
+
+BEMERKUNGEN
+===========
+
+ In der Property selbst wird eigentlich ein Mapping eingetragen,
+ welches die Gildennamen als Schluessel und das dazugehoerige
+ Block-Flag als Eintrag enthaelt. Bei der Abfrage der Property wird
+ jedoch die Gilde beruecksichtigt und das aktuelle Flag
+ zurueckgeliefert.
+ Dementsprechend das diese Prop nicht mit Set() manipuliert werden,
+ bitte ausschliessliche SetProp() verwenden.
+
+
+BEISPIELE
+=========
+
+ Die Property sollte natuerlich nur von der Gilde gesetzt werden
+ und auch nur bei Gildenmitgliedern
+
+ if ( IsGuildMember(pl) )
+ pl->SetProp(P_GUILD_PREPAREBLOCK,1);
+
+ Resultat: Kein Ausfuehren von Attack(), wenn pl sich auf einen
+ Zauberspruch konzentriert.
+
+
+SIEHE AUCH
+==========
+
+ P_PREPARED_SPELL
+
18.03.2008, Zesstra
diff --git a/doc/props/P_GUILD_RATING b/doc/props/P_GUILD_RATING
index df5800a..af9c24e 100644
--- a/doc/props/P_GUILD_RATING
+++ b/doc/props/P_GUILD_RATING
@@ -1,22 +1,40 @@
-NAME:
- P_GUILD_RATING "guild_rating"
-DEFINIERT IN:
- /sys/new_skills.h
+P_GUILD_RATING
+**************
-BESCHREIBUNG:
- In dieser Property wird die Einstufung des Spielers innerhalb
- seiner Gilde festgelegt. Der dafuer zu ermittelnde Wert muss in
- einem Bereich von 0 bis 10000 liegen. Wie sich die Einstufung
- zusammensetzt, bleibt der jeweiligen Gilde ueberlassen.
-BEMERKUNGEN:
- Der Wert muss von der Gilde ermittelt werden! Meist setzt er sich
- aus den Faehigkeiten des Mitglieds zusammen und mitunter fliessen
- auch Gildenquests oder aehnliches mit ein.
+NAME
+====
-SIEHE AUCH:
- P_NEWSKILLS, GuildRating
+ P_GUILD_RATING "guild_rating"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property wird die Einstufung des Spielers innerhalb
+ seiner Gilde festgelegt. Der dafuer zu ermittelnde Wert muss in
+ einem Bereich von 0 bis 10000 liegen. Wie sich die Einstufung
+ zusammensetzt, bleibt der jeweiligen Gilde ueberlassen.
+
+
+BEMERKUNGEN
+===========
+
+ Der Wert muss von der Gilde ermittelt werden! Meist setzt er sich
+ aus den Faehigkeiten des Mitglieds zusammen und mitunter fliessen
+ auch Gildenquests oder aehnliches mit ein.
+
+
+SIEHE AUCH
+==========
+
+ P_NEWSKILLS, GuildRating
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_RESTRICTIONS b/doc/props/P_GUILD_RESTRICTIONS
index 8bbabc1..c94ccf3 100644
--- a/doc/props/P_GUILD_RESTRICTIONS
+++ b/doc/props/P_GUILD_RESTRICTIONS
@@ -1,37 +1,59 @@
-NAME:
- P_GUILD_RESTRICTIONS "guild_rest"
-DEFINIERT IN:
- /sys/new_skills.h
+P_GUILD_RESTRICTIONS
+********************
-BESCHREIBUNG:
- Diese Gildenproperty enthaelt ein Mapping mit den
- Eintrittsbeschraenkungen fuer die jeweilige Gilde.
-BEMERKUNGEN:
- Im allgemeinen sollte das Mapping mit den Eintrittsbeschraenkungen
- mit den Beschraenkungen fuer Level 1 im Mapping von P_GUILD_LEVELS
- uebereinstimmen.
+NAME
+====
-BEISPIELE:
- Ein paar moegliche Abfragen waeren folgende:
- string check(object pl);
+ P_GUILD_RESTRICTIONS "guild_rest"
- SetProp(P_GUILD_RESTRICTIONS,
- ([P_LEVEL:3,
- P_QP:100,
- SR_FUN:#'check]));
- string check(object pl) {
- if(pl->QueryProp(P_MALE))
- return 0;
- return "Fuer Frauen ist das nichts!\n";
- }
+DEFINIERT IN
+============
-SIEHE AUCH:
- Gildenfkt.:
- * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
- * Sonstiges: P_GUILD_LEVELS
- Sonstiges: /std/restriction_checker.c
+ /sys/new_skills.h
-3. Okt 2011 Gloinson
\ No newline at end of file
+
+BESCHREIBUNG
+============
+
+ Diese Gildenproperty enthaelt ein Mapping mit den
+ Eintrittsbeschraenkungen fuer die jeweilige Gilde.
+
+
+BEMERKUNGEN
+===========
+
+ Im allgemeinen sollte das Mapping mit den Eintrittsbeschraenkungen
+ mit den Beschraenkungen fuer Level 1 im Mapping von P_GUILD_LEVELS
+ uebereinstimmen.
+
+
+BEISPIELE
+=========
+
+ Ein paar moegliche Abfragen waeren folgende:
+ string check(object pl);
+
+ SetProp(P_GUILD_RESTRICTIONS,
+ ([P_LEVEL:3,
+ P_QP:100,
+ SR_FUN:#'check]));
+
+ string check(object pl) {
+ if(pl->QueryProp(P_MALE))
+ return 0;
+ return "Fuer Frauen ist das nichts!\n";
+ }
+
+
+SIEHE AUCH
+==========
+
+ Gildenfkt.:
+ * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+ * Sonstiges: P_GUILD_LEVELS
+ Sonstiges: /std/restriction_checker.c
+
+3. Okt 2011 Gloinson
diff --git a/doc/props/P_GUILD_SKILLS b/doc/props/P_GUILD_SKILLS
index d7e30a2..232a5cf 100644
--- a/doc/props/P_GUILD_SKILLS
+++ b/doc/props/P_GUILD_SKILLS
@@ -1,24 +1,42 @@
+
P_GUILD_SKILLS
-NAME:
- P_GUILD_SKILLS "guild_skills"
+**************
-DEFINIERT IN:
- /sys/new_skills.h
-BESCHREIBUNG:
- Diese Gildenproperty enthaelt ein Mapping mit allen Skills und
- Spells der Gilde.
+NAME
+====
-BEMERKUNGEN:
- Man sollte diese Property sollte nicht per Hand veraendern, sondern
- die Funktionen AddSkill() bzw. AddSpell() nutzen.
+ P_GUILD_SKILLS "guild_skills"
-SIEHE AUCH:
- GObj Verwalten: LearnSkill, LearnSpell, InitialSkillAbility
- * Sonstiges: GuildRating
- Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
- * Verwalten: AddSpell, QuerySpell
- * Properties: P_SB_SPELLS, P_GLOBAL_SKILLPROPS, P_GUILD_RATING
- Skills: P_NEWSKILLS, spruchermuedung, skill_info_liste
-3. Okt 2011 Gloinson
\ No newline at end of file
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Gildenproperty enthaelt ein Mapping mit allen Skills und
+ Spells der Gilde.
+
+
+BEMERKUNGEN
+===========
+
+ Man sollte diese Property sollte nicht per Hand veraendern, sondern
+ die Funktionen AddSkill() bzw. AddSpell() nutzen.
+
+
+SIEHE AUCH
+==========
+
+ GObj Verwalten: LearnSkill, LearnSpell, InitialSkillAbility
+ * Sonstiges: GuildRating
+ Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
+ * Verwalten: AddSpell, QuerySpell
+ * Properties: P_SB_SPELLS, P_GLOBAL_SKILLPROPS, P_GUILD_RATING
+ Skills: P_NEWSKILLS, spruchermuedung, skill_info_liste
+
+3. Okt 2011 Gloinson
diff --git a/doc/props/P_GUILD_TITLE b/doc/props/P_GUILD_TITLE
index 4554349..d3a49b3 100644
--- a/doc/props/P_GUILD_TITLE
+++ b/doc/props/P_GUILD_TITLE
@@ -1,37 +1,58 @@
+
P_GUILD_TITLE
-NAME:
- P_GUILD_TITLE "guild_title"
+*************
-DEFINIERT IN:
- /sys/new_skills.h
-BESCHREIBUNG:
- Diese Property enthaelt den Gildentitel des Lebewesens, welcher der
- Gildenstufe des Lebewesens entspricht und jedoch nur angezeigt wird,
- wenn P_TITLE des Lebewesens gleich Null ist.
+NAME
+====
-BEMERKUNGEN:
- In der Property selbst wird eigentlich ein Mapping eingetragen, welches
- die Gildennamen als Schluessel und die dazugehoerigen Gildentitel als
- Eintrag enthaelt. Bei der Abfrage der Property wird jedoch die Gilde
- beruecksichtigt und der aktuelle Gildentitel zurueckgeliefert.
+ P_GUILD_TITLE "guild_title"
-BEISPIELE:
- Fuer eine Programmierergilde waere folgendes denkbar:
- SetProp(P_GUILD_MALE_TITLES,([1:"der Anfaenger",
- 2:"der Fortgeschrittene",
- 3:"der Profi"]));
- SetProp(P_GUILD_FEMALE_TITLES,([1:"die Anfaengerin",
- 2:"die Fortgeschrittene",
- 3:"die Professionelle"]));
- Ein weibliches Gildenmitglied mit der dritten Gildenstufe und ohne
- P_TITLE wuerde dann den Titel "die Professionelle" tragen. Das hat
- zwar nichts mit Programmierern zu tun, aber wie heisst eigentlich
- ein weiblicher "Profi"?! :)
-SIEHE AUCH:
- P_TITLE, P_GUILD, P_GUILD_LEVEL,
- P_GUILD_MALE_TITLES, P_GUILD_FEMALE_TITLES,
- P_SUBGUILD_TITLE
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt den Gildentitel des Lebewesens, welcher der
+ Gildenstufe des Lebewesens entspricht und jedoch nur angezeigt wird,
+ wenn P_TITLE des Lebewesens gleich Null ist.
+
+
+BEMERKUNGEN
+===========
+
+ In der Property selbst wird eigentlich ein Mapping eingetragen, welches
+ die Gildennamen als Schluessel und die dazugehoerigen Gildentitel als
+ Eintrag enthaelt. Bei der Abfrage der Property wird jedoch die Gilde
+ beruecksichtigt und der aktuelle Gildentitel zurueckgeliefert.
+
+
+BEISPIELE
+=========
+
+ Fuer eine Programmierergilde waere folgendes denkbar:
+ SetProp(P_GUILD_MALE_TITLES,([1:"der Anfaenger",
+ 2:"der Fortgeschrittene",
+ 3:"der Profi"]));
+ SetProp(P_GUILD_FEMALE_TITLES,([1:"die Anfaengerin",
+ 2:"die Fortgeschrittene",
+ 3:"die Professionelle"]));
+ Ein weibliches Gildenmitglied mit der dritten Gildenstufe und ohne
+ P_TITLE wuerde dann den Titel "die Professionelle" tragen. Das hat
+ zwar nichts mit Programmierern zu tun, aber wie heisst eigentlich
+ ein weiblicher "Profi"?! :)
+
+
+SIEHE AUCH
+==========
+
+ P_TITLE, P_GUILD, P_GUILD_LEVEL,
+ P_GUILD_MALE_TITLES, P_GUILD_FEMALE_TITLES,
+ P_SUBGUILD_TITLE
26. Maerz 2004 Gloinson
diff --git a/doc/props/P_HANDS b/doc/props/P_HANDS
index 9eda7c5..859b4eb 100644
--- a/doc/props/P_HANDS
+++ b/doc/props/P_HANDS
@@ -1,57 +1,78 @@
+
P_HANDS
-NAME:
- P_HANDS "hands"
+*******
-DEFINIERT IN:
- /sys/living/combat.h
-BESCHREIBUNG:
- Diese Property enthaelt ein dreielementiges Array mit
- den folgenden Eintraegen:
- 1. Element: String mit der Meldung, wenn ohne Waffen angegriffen
- wird.
- 2. Element: Waffenklasse, wenn ohne Waffen angegriffen wird.
- 3. Element: Array mit Schadensarten (frueher auch: Schadensart)
+NAME
+====
- eim Setzen dieser Property wird auch P_TOTAL_WC mit veraendert,
- wenn das Lebewesen keine Waffe gezueckt hat. Steckt das Lebewesen
- eine gezueckte Waffe weg, so wird ebenfalls P_TOTAL_WC mit der
- Waffenklasse aus P_HANDS aktualisiert. Zueckt das Lebewesen eine
- Waffe, so wird P_TOTAL_WC mit der Waffenklasse der Waffe (P_WC)
- ueberschrieben. Die Property P_TOTAL_WC enthaelt somit immer die
- aktuelle Angriffsstaerke des Lebewesen.
+ P_HANDS "hands"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt ein dreielementiges Array mit
+ den folgenden Eintraegen:
+ 1. Element: String mit der Meldung, wenn ohne Waffen angegriffen
+ wird.
+ 2. Element: Waffenklasse, wenn ohne Waffen angegriffen wird.
+ 3. Element: Array mit Schadensarten (frueher auch: Schadensart)
+
+ eim Setzen dieser Property wird auch P_TOTAL_WC mit veraendert,
+ wenn das Lebewesen keine Waffe gezueckt hat. Steckt das Lebewesen
+ eine gezueckte Waffe weg, so wird ebenfalls P_TOTAL_WC mit der
+ Waffenklasse aus P_HANDS aktualisiert. Zueckt das Lebewesen eine
+ Waffe, so wird P_TOTAL_WC mit der Waffenklasse der Waffe (P_WC)
+ ueberschrieben. Die Property P_TOTAL_WC enthaelt somit immer die
+ aktuelle Angriffsstaerke des Lebewesen.
+
BEMERKUNGEN
- In alten Objekten kann es vorkommen, dass das dritte Element (Angabe des
- Schadenstyps) fehlt. Dies ist eine Altlast, die Angabe des Schadenstypes
- ist NICHT optional.)
+===========
-BEISPIEL:
- Ein starker Tausendfuessler mit Schlagschaden:
-
- SetProp(P_HANDS,({" mit tausend kleinen Fuesschen",1000,
- ({DT_BLUDGEON}) }));
+ In alten Objekten kann es vorkommen, dass das dritte Element (Angabe des
+ Schadenstyps) fehlt. Dies ist eine Altlast, die Angabe des Schadenstypes
+ ist NICHT optional.)
- Ein Saeurededaemon:
- SetProp(P_HANDS,
- ({
- " mit saeuretriefenden Klauen",
- 250,
- ({DT_RIP, DT_ACID})
- })
- );
+BEISPIEL
+========
- Hier wurden gleich zwei Schadensarten angegeben, also wird
- Mischschaden verursacht. Man sollte es jedoch nicht zu sehr
- uebertreiben! Mehr als zwei oder drei gleichzeitig verwendete
- Schadensarten lassen sich kaum mehr begruenden.
+ Ein starker Tausendfuessler mit Schlagschaden:
-SIEHE AUCH:
- P_HANDS_USED_BY
- P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
- UseHands, FreeHands
- P_TOTAL_WC, P_WC
- /std/living/combat.c, /std/weapon/combat.c, /sys/combat.h
+ SetProp(P_HANDS,({" mit tausend kleinen Fuesschen",1000,
+ ({DT_BLUDGEON}) }));
+
+
+ Ein Saeurededaemon:
+ SetProp(P_HANDS,
+ ({
+ " mit saeuretriefenden Klauen",
+ 250,
+ ({DT_RIP, DT_ACID})
+ })
+ );
+
+ Hier wurden gleich zwei Schadensarten angegeben, also wird
+ Mischschaden verursacht. Man sollte es jedoch nicht zu sehr
+ uebertreiben! Mehr als zwei oder drei gleichzeitig verwendete
+ Schadensarten lassen sich kaum mehr begruenden.
+
+
+SIEHE AUCH
+==========
+
+ P_HANDS_USED_BY
+ P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
+ UseHands, FreeHands
+ P_TOTAL_WC, P_WC
+ /std/living/combat.c, /std/weapon/combat.c, /sys/combat.h
22.02.2014 Zesstra
diff --git a/doc/props/P_HANDS_USED_BY b/doc/props/P_HANDS_USED_BY
index dd0e5fe..f0d5165 100644
--- a/doc/props/P_HANDS_USED_BY
+++ b/doc/props/P_HANDS_USED_BY
@@ -1,21 +1,39 @@
+
P_HANDS_USED_BY
-NAME:
- P_HANDS_USED_BY "hands_used_by"
+***************
-DEFINIERT IN:
- /sys/living/combat.h
-BESCHREIBUNG:
- Enthaelt eine Liste mit den Objekten, die derzeit die Haende
- des Livings belegen. Dabei koennen Objekte mehrmals auftauchen,
- je nachdem wie viele Haende sie belegen.
+NAME
+====
-BEMERKUNGEN:
- Darf nur ueber UseHands() und FreeHands() manipuliert werden.
+ P_HANDS_USED_BY "hands_used_by"
-SIEHE AUCH:
- P_HANDS
- P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
- UseHands, FreeHands
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt eine Liste mit den Objekten, die derzeit die Haende
+ des Livings belegen. Dabei koennen Objekte mehrmals auftauchen,
+ je nachdem wie viele Haende sie belegen.
+
+
+BEMERKUNGEN
+===========
+
+ Darf nur ueber UseHands() und FreeHands() manipuliert werden.
+
+
+SIEHE AUCH
+==========
+
+ P_HANDS
+ P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
+ UseHands, FreeHands
1.Feb.2004 Gloinson
diff --git a/doc/props/P_HARBOUR b/doc/props/P_HARBOUR
index c0e1048..f049847 100644
--- a/doc/props/P_HARBOUR
+++ b/doc/props/P_HARBOUR
@@ -1,66 +1,94 @@
-NAME:
- P_HARBOUR "harbour_name"
-DEFINIERT IN:
- /sys/transport.h
+P_HARBOUR
+*********
-BESCHREIBUNG:
- Array mit eindeutiger Bezeichnung des 'Hafens'
-BEMERKUNGEN:
- Diese Property wird in Raeumen gesetzt, die als Anleger fuer Transporter
- dienen sollen. Sie enthaelt ein Array aus zwei Elementen, einem String
- und einem String-Array, zum Beispiel:
+NAME
+====
- ({ "zur Sonneninsel", ({"sonneninsel"}) }) oder
- ({ "nach Titiwu", ({"titiwu"}) })
+ P_HARBOUR "harbour_name"
- Damit bekommt der Spieler bei einer Abfrage seiner Reiseroute mittels
- "reise route" eine Ausgabe wie
- 'Du reist mit dem Floss nach Titiwu' oder
- 'Du reist mit dem Wal zur Sonneninsel'.
- Das zweite Element der Property enthaelt eine Liste der IDs, mit denen
- sich der Hafen mit dem Befehl "reise nach <ID>" ansprechen laesst. Im
- Beispiel oben wuerde also "reise nach sonneninsel" und
- "reise nach titiwu" akzeptiert werden. Der erste Eintrag in dieser ID-
- Liste wird in der Ausgabe des Befehls "reise route" verwendet, sollte
- also den Anlegeort korrekt bezeichnen und nicht z.B. eine Abkuerzung
- enthalten.
- Es bietet sich an, bei bestimmten, deklinierbaren Bezeichnungen alle
- Varianten einzutragen, z.B. "verlorenes land" und zusaetzlich
- "verlorene land" und "verlorenen land", damit alle Varianten von
- "reise nach ..." funktionieren.
+DEFINIERT IN
+============
- Ist in einem Hafen diese Property nicht gesetzt, so bekommt der
- Spieler keinerlei Hinweis darauf, wohin ihn ein bestimmter Trans-
- porter befoerdert.
- Stattdessen erhaelt er die Bezeichnung 'unbekannt'.
+ /sys/transport.h
-HINWEISE:
- Wird der zweite Parameter in dieser Property, d.h. die Liste der
- Anleger-IDs, nicht korrekt gesetzt, kann das dazu fuehren, dass Spieler
- den hier anlegenden Transporter nicht benutzen koennen, weil es
- keine sinnvolle Syntax gibt, um den gewuenschten Zielhafen zu finden.
- Zu achten ist auch darauf, das der erste Eintrag unveraendert in einer
- Meldung an den Spieler ausgegeben wird, d.h. Gross-und Kleinschreibung
- sollte korrekt sein.
+BESCHREIBUNG
+============
-HISTORIE:
- Frueher war der zweite Eintrag in dieser Property ein einzelner String.
- Es existiert eine SetMethode auf dieser Property, die solche Daten in
- altem Code auf die neue Datenstruktur umbiegt. Dies fuehrt dazu, dass
- bei solchen Objekten die im geladenen Raum enthaltenen Daten nicht mit
- den Daten im File uebereinstimmen. Dies moege aber bitte niemand
- zum Anlass nehmen, in neuem Code veraltete Daten in die Property zu
- schreiben!
-
-SIEHE AUCH:
- Properties: P_NO_TRAVELING, P_TRAVEL_INFO
- Funktionen: AddRoute(L)
- Spielerbefehle: reise
- weitere Doku: /d/inseln/schiffe/HowTo
+ Array mit eindeutiger Bezeichnung des 'Hafens'
-LETZTE AENDERUNG:
+
+BEMERKUNGEN
+===========
+
+ Diese Property wird in Raeumen gesetzt, die als Anleger fuer Transporter
+ dienen sollen. Sie enthaelt ein Array aus zwei Elementen, einem String
+ und einem String-Array, zum Beispiel:
+
+ ({ "zur Sonneninsel", ({"sonneninsel"}) }) oder
+ ({ "nach Titiwu", ({"titiwu"}) })
+
+ Damit bekommt der Spieler bei einer Abfrage seiner Reiseroute mittels
+ "reise route" eine Ausgabe wie
+ 'Du reist mit dem Floss nach Titiwu' oder
+ 'Du reist mit dem Wal zur Sonneninsel'.
+
+ Das zweite Element der Property enthaelt eine Liste der IDs, mit denen
+ sich der Hafen mit dem Befehl "reise nach <ID>" ansprechen laesst. Im
+ Beispiel oben wuerde also "reise nach sonneninsel" und
+ "reise nach titiwu" akzeptiert werden. Der erste Eintrag in dieser ID-
+ Liste wird in der Ausgabe des Befehls "reise route" verwendet, sollte
+ also den Anlegeort korrekt bezeichnen und nicht z.B. eine Abkuerzung
+ enthalten.
+ Es bietet sich an, bei bestimmten, deklinierbaren Bezeichnungen alle
+ Varianten einzutragen, z.B. "verlorenes land" und zusaetzlich
+ "verlorene land" und "verlorenen land", damit alle Varianten von
+ "reise nach ..." funktionieren.
+
+ Ist in einem Hafen diese Property nicht gesetzt, so bekommt der
+ Spieler keinerlei Hinweis darauf, wohin ihn ein bestimmter Trans-
+ porter befoerdert.
+ Stattdessen erhaelt er die Bezeichnung 'unbekannt'.
+
+
+HINWEISE
+========
+
+ Wird der zweite Parameter in dieser Property, d.h. die Liste der
+ Anleger-IDs, nicht korrekt gesetzt, kann das dazu fuehren, dass Spieler
+ den hier anlegenden Transporter nicht benutzen koennen, weil es
+ keine sinnvolle Syntax gibt, um den gewuenschten Zielhafen zu finden.
+
+ Zu achten ist auch darauf, das der erste Eintrag unveraendert in einer
+ Meldung an den Spieler ausgegeben wird, d.h. Gross-und Kleinschreibung
+ sollte korrekt sein.
+
+
+HISTORIE
+========
+
+ Frueher war der zweite Eintrag in dieser Property ein einzelner String.
+ Es existiert eine SetMethode auf dieser Property, die solche Daten in
+ altem Code auf die neue Datenstruktur umbiegt. Dies fuehrt dazu, dass
+ bei solchen Objekten die im geladenen Raum enthaltenen Daten nicht mit
+ den Daten im File uebereinstimmen. Dies moege aber bitte niemand
+ zum Anlass nehmen, in neuem Code veraltete Daten in die Property zu
+ schreiben!
+
+
+SIEHE AUCH
+==========
+
+ Properties: P_NO_TRAVELING, P_TRAVEL_INFO
+ Funktionen: AddRoute(L)
+ Spielerbefehle: reise
+ weitere Doku: /d/inseln/schiffe/HowTo
+
+
+LETZTE AENDERUNG
+================
+
2015-Jan-18, Arathorn
diff --git a/doc/props/P_HAUS_ERLAUBT b/doc/props/P_HAUS_ERLAUBT
index 8ac6495..ffd5c8f 100644
--- a/doc/props/P_HAUS_ERLAUBT
+++ b/doc/props/P_HAUS_ERLAUBT
@@ -1,29 +1,46 @@
-NAME:
- P_HAUS_ERLAUBT "haus_erlaubt"
-DEFINIERT IN:
- /sys/room/description.h
+P_HAUS_ERLAUBT
+**************
-BESCHREIBUNG:
- Hier darf ein Seherhaus abgestellt werden
-BEMERKUNGEN:
- Diese Property sollte nicht per default in Raeumen auf einen Wert > 0
- gesetzt werden um einem Wildwuchs an Seherhaus(-ruinen) vorzubeugen.
- Auch sei darauf geachtet, dass in Raeumen die P_INDOORS auf einen
- Wert > 0 haben, per default nicht gebaut werden kann.
- Hier lieber die Property per Hand auf 1 setzen und nach dem Aufstellen
- des Hauses wieder loeschen.
-
- xcall $h->SetProp(P_HAUS_ERLAUBT,1);
+NAME
+====
- Angemerkt sei noch, dass der Magier dem der Raum gehoert ueber Hausbau
- entscheidet und nicht der Regionsmagier. In jedem Fall Ruecksprache
- halten falls der entsprechende Magier zumindest ab und an anwesend sein
- sollte.
+ P_HAUS_ERLAUBT "haus_erlaubt"
- Unter /doc/beispiele/misc liegt ein File, in dem dokumentiert ist,
- wie nach Aenderungen am Seherhaus zu verfahren ist.
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+ Hier darf ein Seherhaus abgestellt werden
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property sollte nicht per default in Raeumen auf einen Wert > 0
+ gesetzt werden um einem Wildwuchs an Seherhaus(-ruinen) vorzubeugen.
+ Auch sei darauf geachtet, dass in Raeumen die P_INDOORS auf einen
+ Wert > 0 haben, per default nicht gebaut werden kann.
+ Hier lieber die Property per Hand auf 1 setzen und nach dem Aufstellen
+ des Hauses wieder loeschen.
+
+
+
+ xcall $h->SetProp(P_HAUS_ERLAUBT,1);
+
+ Angemerkt sei noch, dass der Magier dem der Raum gehoert ueber Hausbau
+ entscheidet und nicht der Regionsmagier. In jedem Fall Ruecksprache
+ halten falls der entsprechende Magier zumindest ab und an anwesend sein
+ sollte.
+
+ Unter /doc/beispiele/misc liegt ein File, in dem dokumentiert ist,
+ wie nach Aenderungen am Seherhaus zu verfahren ist.
+
Last modified: Fri Nov 26 15:41:47 1999 by Tilly
diff --git a/doc/props/P_HB b/doc/props/P_HB
index eee2dcb..bdaf9f1 100644
--- a/doc/props/P_HB
+++ b/doc/props/P_HB
@@ -1,9 +1,22 @@
-NAME:
- P_HB "hb"
-DEFINIERT IN:
- /sys/properties.h
+P_HB
+****
-BESCHREIBUNG:
- Diese Property wird gesetzt, wenn das Monster immer einen
- heart_beat haben soll. (VORSICHT, nur wenn es WIRKLICH sein muss!)
+
+NAME
+====
+
+ P_HB "hb"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property wird gesetzt, wenn das Monster immer einen
+ heart_beat haben soll. (VORSICHT, nur wenn es WIRKLICH sein muss!)
diff --git a/doc/props/P_HEAL b/doc/props/P_HEAL
index 242802f..83d4991 100644
--- a/doc/props/P_HEAL
+++ b/doc/props/P_HEAL
@@ -1,32 +1,48 @@
-NAME:
- P_HEAL "heal"
-DEFINIERT IN:
- /sys/properties.h
+P_HEAL
+******
-BESCHREIBUNG:
- Numerischer Wert, der beim Verzehr einer Leiche zu den Lebenspunkten
- desjenigen hinzugezaehlt wird, der die Leiche isst. Der Wert kann auch
- negativ sein. Falls die Leiche den maximalen Verfallszustand erreicht
- hat, wird dieser Wert automatisch auf -4 gesetzt, sofern nicht schon
- ein geringerer Wert eingetragen ist.
- Werte unter -4 sind sehr sparsam und nur in begruendeten Einzelfaellen
- zu setzen. Die Regionsmagier werden auf sinnvolle Wertebereiche in
- ihrem Zustaendigkeitsbereich achten und ggf. Grenzwerte fuer ihre
- Region festlegen.
+NAME
+====
- Die Gilden koennen P_HEAL abfragen und eigene, grobe Informationstexte
- ausgeben, die den Spieler ueber den zu erwartenden Effekt beim Essen
- einer Leiche informieren.
+ P_HEAL "heal"
- Positive Werte von P_HEAL sind bei der Heilungsbalance als Heilstelle
- zu beantragen.
- Fuer nicht allzu harte NPCs sollte P_HEAL auf 0 gesetzt sein. Dieser
- Wert ist gleichzeitig der Standardwert.
+DEFINIERT IN
+============
-SIEHE AUCH:
- /std/corpse, QueryHealInfo()
-
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert, der beim Verzehr einer Leiche zu den Lebenspunkten
+ desjenigen hinzugezaehlt wird, der die Leiche isst. Der Wert kann auch
+ negativ sein. Falls die Leiche den maximalen Verfallszustand erreicht
+ hat, wird dieser Wert automatisch auf -4 gesetzt, sofern nicht schon
+ ein geringerer Wert eingetragen ist.
+
+ Werte unter -4 sind sehr sparsam und nur in begruendeten Einzelfaellen
+ zu setzen. Die Regionsmagier werden auf sinnvolle Wertebereiche in
+ ihrem Zustaendigkeitsbereich achten und ggf. Grenzwerte fuer ihre
+ Region festlegen.
+
+ Die Gilden koennen P_HEAL abfragen und eigene, grobe Informationstexte
+ ausgeben, die den Spieler ueber den zu erwartenden Effekt beim Essen
+ einer Leiche informieren.
+
+ Positive Werte von P_HEAL sind bei der Heilungsbalance als Heilstelle
+ zu beantragen.
+
+ Fuer nicht allzu harte NPCs sollte P_HEAL auf 0 gesetzt sein. Dieser
+ Wert ist gleichzeitig der Standardwert.
+
+
+SIEHE AUCH
+==========
+
+ /std/corpse, QueryHealInfo()
+
31.03.2008 Arathorn
diff --git a/doc/props/P_HELPER_NPC b/doc/props/P_HELPER_NPC
index eb71e47..af8bfef 100644
--- a/doc/props/P_HELPER_NPC
+++ b/doc/props/P_HELPER_NPC
@@ -1,30 +1,50 @@
+
P_HELPER_NPC
+************
-NAME:
- P_HELPER_NPC "std:helper_npc
-DEFINIERT IN:
- /sys/living/combat.h
+NAME
+====
-BESCHREIBUNG:
- Mit dieser Prop laesst sich herausfinden, ob ein NPC einem Spieler hilft
- bzw. welche NPC einem Spieler helfen.
- Wird diese Prop in einem NPC abgefragt, enthaelt sie ein Array
- ({ spielerobjekt, flags }) oder 0.
- Wird diese Prop in einem Spieler abgefragt, enthaelt sie ein Mapping
- ([npcobjekt1: flags1, npc-objekt2: flags2]).
+ P_HELPER_NPC "std:helper_npc
- <flags> ist ein Integer, der eine Reihe von ver-oder-ten Konstanten (s.
- RegisterHelperNPC) enthalten kann.
-BEMERKUNGEN:
- Diese Prop wird automatisch von RegisterHelperNPC() und
- UnregisterHelperNPC() verwaltet. Bitte aendert sie nicht per Hand.
+DEFINIERT IN
+============
-BEISPIEL:
- s. RegisterHelperNPC().
+ /sys/living/combat.h
-SIEHE AUCH:
- RegisterHelperNPC(), UnregisterHelperNPC()
+
+BESCHREIBUNG
+============
+
+ Mit dieser Prop laesst sich herausfinden, ob ein NPC einem Spieler hilft
+ bzw. welche NPC einem Spieler helfen.
+ Wird diese Prop in einem NPC abgefragt, enthaelt sie ein Array
+ ({ spielerobjekt, flags }) oder 0.
+ Wird diese Prop in einem Spieler abgefragt, enthaelt sie ein Mapping
+ ([npcobjekt1: flags1, npc-objekt2: flags2]).
+
+ <flags> ist ein Integer, der eine Reihe von ver-oder-ten Konstanten (s.
+ RegisterHelperNPC) enthalten kann.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Prop wird automatisch von RegisterHelperNPC() und
+ UnregisterHelperNPC() verwaltet. Bitte aendert sie nicht per Hand.
+
+
+BEISPIEL
+========
+
+ s. RegisterHelperNPC().
+
+
+SIEHE AUCH
+==========
+
+ RegisterHelperNPC(), UnregisterHelperNPC()
10.03.2009, Zesstra
diff --git a/doc/props/P_HELPER_OBJECTS b/doc/props/P_HELPER_OBJECTS
index bdf031d..94990c4 100644
--- a/doc/props/P_HELPER_OBJECTS
+++ b/doc/props/P_HELPER_OBJECTS
@@ -1,25 +1,40 @@
+
P_HELPER_OBJECTS
+****************
-NAME:
- P_HELPER_OBJECTS "lib_p_helper_objects"
-DEFINIERT IN:
- <living/helpers.h>
+NAME
+====
-BESCHREIBUNG:
- Diese Property enthaelt eine Liste von Hilfsobjekten, die das Lebewesen,
- in dem sie gesetzt ist, bei bestimmten Aktivitaeten wie Tauchen oder
- Fliegen/Segeln unterstuetzt. Die Property enthaelt ein Mapping der Form
- ([ HELPER_TYPE : ({ Callback-Closures }) ]).
+ P_HELPER_OBJECTS "lib_p_helper_objects"
-BEMERKUNGEN:
- Externe Manipulationen an dieser Property bitte unterlassen, zum Ein-
- und Austragen von Objekten gibt es die unten aufgefuehrten Methoden.
-SIEHE AUCH:
- Methoden: RegisterHelperObject(L), UnregisterHelperObject(L)
- Properties: P_AERIAL_HELPERS, P_AQUATIC_HELPERS
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ <living/helpers.h>
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt eine Liste von Hilfsobjekten, die das Lebewesen,
+ in dem sie gesetzt ist, bei bestimmten Aktivitaeten wie Tauchen oder
+ Fliegen/Segeln unterstuetzt. Die Property enthaelt ein Mapping der Form
+ ([ HELPER_TYPE : ({ Callback-Closures }) ]).
+
+
+BEMERKUNGEN
+===========
+
+ Externe Manipulationen an dieser Property bitte unterlassen, zum Ein-
+ und Austragen von Objekten gibt es die unten aufgefuehrten Methoden.
+
+
+SIEHE AUCH
+==========
+
+ Methoden: RegisterHelperObject(L), UnregisterHelperObject(L)
+ Properties: P_AERIAL_HELPERS, P_AQUATIC_HELPERS
+
18.02.2013, Arathorn
-
diff --git a/doc/props/P_HIDE_EXITS b/doc/props/P_HIDE_EXITS
index 0c92a4a..c9aa2e5 100644
--- a/doc/props/P_HIDE_EXITS
+++ b/doc/props/P_HIDE_EXITS
@@ -1,35 +1,53 @@
+
P_HIDE_EXITS
-NAME:
- P_HIDE_EXITS "hide_exits"
+************
-DEFINIERT IN:
- /sys/room/exits.h
-BESCHREIBUNG:
- Ist diese Property in einem Raum auf einen Integerwert ungleich 0
- gesetzt, werden einem Spieler fuer diesen Raum keine Ausgaenge angezeigt.
- Auch der Text "Keine sichtbaren Ausgaenge." (oder so) kommt nicht.
- Alternativ kann man auch ein array von strings uebergeben. In diesem
- Fall werden all die Ausgaenge nicht angezeigt, deren Index in P_EXITS
- in dem array vorkommt.
- In diesem Fall wird ggf. der Text "Keine sichtbaren Ausgaenge."
- ausgegeben.
+NAME
+====
-BEISPIEL:
- AddExit("raus", "/ganz/wo/anders");
- AddExit("weiter", "/in/der/naehe");
+ P_HIDE_EXITS "hide_exits"
- // KEINE Ausgaenge anzeigen. Noch nicht mal, dass man keine sieht.
- SetProp(P_HIDE_EXITS, 1);
- // Der Ausgang weiter wird nicht angezeigt.
- SetProp(P_HIDE_EXITS, ({"weiter"}) );
+DEFINIERT IN
+============
- // Keinen Ausgang zeigen, aber den Text, dass keiner sichtbar, ausgeben.
- SetProp(P_HIDE_EXITS, ({"weiter", "raus"}) );
+ /sys/room/exits.h
-SIEHE AUCH:
- Aehnliches: P_SHOW_EXITS
- Sonstiges: AddExit(), GetExits(), int_long(), int_short()
-25. Apr 1996 Highlander
\ No newline at end of file
+BESCHREIBUNG
+============
+
+ Ist diese Property in einem Raum auf einen Integerwert ungleich 0
+ gesetzt, werden einem Spieler fuer diesen Raum keine Ausgaenge angezeigt.
+ Auch der Text "Keine sichtbaren Ausgaenge." (oder so) kommt nicht.
+ Alternativ kann man auch ein array von strings uebergeben. In diesem
+ Fall werden all die Ausgaenge nicht angezeigt, deren Index in P_EXITS
+ in dem array vorkommt.
+ In diesem Fall wird ggf. der Text "Keine sichtbaren Ausgaenge."
+ ausgegeben.
+
+
+BEISPIEL
+========
+
+ AddExit("raus", "/ganz/wo/anders");
+ AddExit("weiter", "/in/der/naehe");
+
+ // KEINE Ausgaenge anzeigen. Noch nicht mal, dass man keine sieht.
+ SetProp(P_HIDE_EXITS, 1);
+
+ // Der Ausgang weiter wird nicht angezeigt.
+ SetProp(P_HIDE_EXITS, ({"weiter"}) );
+
+ // Keinen Ausgang zeigen, aber den Text, dass keiner sichtbar, ausgeben.
+ SetProp(P_HIDE_EXITS, ({"weiter", "raus"}) );
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_SHOW_EXITS
+ Sonstiges: AddExit(), GetExits(), int_long(), int_short()
+
+25. Apr 1996 Highlander
diff --git a/doc/props/P_HISTMIN b/doc/props/P_HISTMIN
index e84d90c..ca35504 100644
--- a/doc/props/P_HISTMIN
+++ b/doc/props/P_HISTMIN
@@ -1,8 +1,21 @@
-NAME:
- P_HISTMIN "histmin"
-DEFINIERT IN:
- /sys/player.h
+P_HISTMIN
+*********
-BESCHREIBUNG:
- Minimale Laenge, die eine Zeile haben muss, um in die History zu kommen
+
+NAME
+====
+
+ P_HISTMIN "histmin"
+
+
+DEFINIERT IN
+============
+
+ /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+ Minimale Laenge, die eine Zeile haben muss, um in die History zu kommen
diff --git a/doc/props/P_HIT_FUNC b/doc/props/P_HIT_FUNC
index c5b3b31..9bcc328 100644
--- a/doc/props/P_HIT_FUNC
+++ b/doc/props/P_HIT_FUNC
@@ -1,22 +1,38 @@
+
P_HIT_FUNC
+**********
-NAME:
- P_HIT_FUNC "hit_func"
-DEFINIERT IN:
- <weapon.h>
+NAME
+====
-BESCHREIBUNG:
- Falls ein Objekt eine HitFunc() fuer die Waffe definiert, so muss
- dieses Objekt in dieser Property eingetragen werden.
+ P_HIT_FUNC "hit_func"
- Die Auswertung dieser Property erfolgt in QueryDamage().
-BEISPIELE:
- Siehe das Beispiel zu HitFunc()
+DEFINIERT IN
+============
-SIEHE AUCH:
- /std/weapon.c, HitFunc()
+ <weapon.h>
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ Falls ein Objekt eine HitFunc() fuer die Waffe definiert, so muss
+ dieses Objekt in dieser Property eingetragen werden.
+
+ Die Auswertung dieser Property erfolgt in QueryDamage().
+
+
+BEISPIELE
+=========
+
+ Siehe das Beispiel zu HitFunc()
+
+
+SIEHE AUCH
+==========
+
+ /std/weapon.c, HitFunc()
+
Last modified: Sun May 19 15:37:35 1996 by Wargon
diff --git a/doc/props/P_HOMEPAGE b/doc/props/P_HOMEPAGE
index 7d90438..5cf6bec 100644
--- a/doc/props/P_HOMEPAGE
+++ b/doc/props/P_HOMEPAGE
@@ -1,8 +1,21 @@
-NAME:
- P_HOMEPAGE "homepage"
-DEFINIERT IN:
- /sys/player/base.h
+P_HOMEPAGE
+**********
-BESCHREIBUNG:
- Die Homepage eines Spielers (mit dem Befehl 'url' zu setzen).
+
+NAME
+====
+
+ P_HOMEPAGE "homepage"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Die Homepage eines Spielers (mit dem Befehl 'url' zu setzen).
diff --git a/doc/props/P_HP b/doc/props/P_HP
index f2aea74..b7ded4a 100644
--- a/doc/props/P_HP
+++ b/doc/props/P_HP
@@ -1,25 +1,39 @@
-NAME:
- P_HP "hp"
-DEFINIERT IN:
- /sys/living/life.h
+P_HP
+****
-BESCHREIBUNG:
- - Lebewesen
- Anzahl der Lebenspunkte des Wesens.
+NAME
+====
- - Speisen/Kneipen
- Heilwirkung einer Portion der Speise auf die Lebenspunkte
- des Konsumenten
+ P_HP "hp"
-SIEHE AUCH:
- Props: P_MAX_HP
- Veraenderung: reduce_hit_points(), restore_hit_points()
- do_damage(L), Defend(L)
- buffer_hp()
- Ueberwachung: AddHpHook(L)
- Speisen/Kneipen: std/pub, wiz/food, consume
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ - Lebewesen
+ Anzahl der Lebenspunkte des Wesens.
+
+ - Speisen/Kneipen
+ Heilwirkung einer Portion der Speise auf die Lebenspunkte
+ des Konsumenten
+
+
+SIEHE AUCH
+==========
+
+ Props: P_MAX_HP
+ Veraenderung: reduce_hit_points(), restore_hit_points()
+ do_damage(L), Defend(L)
+ buffer_hp()
+ Ueberwachung: AddHpHook(L)
+ Speisen/Kneipen: std/pub, wiz/food, consume
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_HP_DELAY b/doc/props/P_HP_DELAY
index a807ad9..f15f748 100644
--- a/doc/props/P_HP_DELAY
+++ b/doc/props/P_HP_DELAY
@@ -1,10 +1,23 @@
-NAME:
- P_HP_DELAY "hp_delay"
-DEFINIERT IN:
- /sys/living/life.h
+P_HP_DELAY
+**********
-BESCHREIBUNG:
- Anzahl der heart_beats, bis P_HP um einen Punkt regeneriert.
- Aenderungen dieser Property in Spielern beduerfen der
- Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+ P_HP_DELAY "hp_delay"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der heart_beats, bis P_HP um einen Punkt regeneriert.
+ Aenderungen dieser Property in Spielern beduerfen der
+ Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_HP_HOOKS b/doc/props/P_HP_HOOKS
index 28f1a1e..7bb48bf 100644
--- a/doc/props/P_HP_HOOKS
+++ b/doc/props/P_HP_HOOKS
@@ -1,19 +1,38 @@
-NAME:
- P_HP_HOOKS "hp_hooks"
-DEFINIERT IN:
- /sys/properties.h
+P_HP_HOOKS
+**********
-BESCHREIBUNG:
- Welche Objekte sollen bei HP-Aenderungen benachrichtigt werden?
- Diese Property bitte NICHT manipulieren! Zum Ein- und Austragen stehen
- hierfuer AddHpHook() und RemoveHpHook() bereit.
-BEMERKUNGEN:
- Das neuere Hooksystem (s. Manpage std/hooks) stellt ebenfalls Hooks zur
- Ueberwachung von P_HP bereit.
+NAME
+====
-SIEHE AUCH:
- AddHpHook(), RemoveHpHook(),
- NotifyHpChange()
- std/hooks
+ P_HP_HOOKS "hp_hooks"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Welche Objekte sollen bei HP-Aenderungen benachrichtigt werden?
+ Diese Property bitte NICHT manipulieren! Zum Ein- und Austragen stehen
+ hierfuer AddHpHook() und RemoveHpHook() bereit.
+
+
+BEMERKUNGEN
+===========
+
+ Das neuere Hooksystem (s. Manpage std/hooks) stellt ebenfalls Hooks zur
+ Ueberwachung von P_HP bereit.
+
+
+SIEHE AUCH
+==========
+
+ AddHpHook(), RemoveHpHook(),
+ NotifyHpChange()
+ std/hooks
diff --git a/doc/props/P_HUNTTIME b/doc/props/P_HUNTTIME
index 377ab18..e712a49 100644
--- a/doc/props/P_HUNTTIME
+++ b/doc/props/P_HUNTTIME
@@ -1,35 +1,59 @@
+
+P_HUNTTIME
+**********
+
+
P_HUNTTIME (int)
+================
-NAME:
- P_HUNTTIME "p_lib_hunttime"
-DEFINIERT IN:
- /sys/living/combat.h
+NAME
+====
-BESCHREIBUNG:
- Mit dieser Property laesst sich festlegen, wie lange ein Monster einen
- Gegner verfolgt (also automatisch angreift), nachdem dieser geflohen ist.
- Die Angabe erfolgt in Sekunden.
- Die Standardzeit ist 600s (300 Heartbeats).
+ P_HUNTTIME "p_lib_hunttime"
-BEMERKUNGEN:
- 1. Wenn der Standardwert akzeptabel ist, bitte die Prop auch nicht setzen.
- 2. Enthaelt die Property keinen Integer oder ist sie <= 0, wird sie
- ignoriert und der Standardwert von 600s verwendet.
- 3. Kaempft man mit einem Lebenwesen mit einem groesseren Wert als man
- selber und man selber hat das Verfolgen eingestellt, der Gegner aber
- nicht, wird dieser beim Reinkommen den Kampf neu starten (und den
- ersten Schlag haben).
-BEISPIEL:
- Ein NPC soll sich erst eine Stunde nach Flucht des Gegners beruhigen.
- protected void create() {
- ...
- SetProp(P_HUNTTIME, 3600);
- }
+DEFINIERT IN
+============
-SIEHE AUCH:
- InsertSingleEnemy, InsertEnemy
- /std/living/combat.c
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Mit dieser Property laesst sich festlegen, wie lange ein Monster einen
+ Gegner verfolgt (also automatisch angreift), nachdem dieser geflohen ist.
+ Die Angabe erfolgt in Sekunden.
+ Die Standardzeit ist 600s (300 Heartbeats).
+
+
+BEMERKUNGEN
+===========
+
+ 1. Wenn der Standardwert akzeptabel ist, bitte die Prop auch nicht setzen.
+ 2. Enthaelt die Property keinen Integer oder ist sie <= 0, wird sie
+ ignoriert und der Standardwert von 600s verwendet.
+ 3. Kaempft man mit einem Lebenwesen mit einem groesseren Wert als man
+ selber und man selber hat das Verfolgen eingestellt, der Gegner aber
+ nicht, wird dieser beim Reinkommen den Kampf neu starten (und den
+ ersten Schlag haben).
+
+
+BEISPIEL
+========
+
+ Ein NPC soll sich erst eine Stunde nach Flucht des Gegners beruhigen.
+ protected void create() {
+ ...
+ SetProp(P_HUNTTIME, 3600);
+ }
+
+
+SIEHE AUCH
+==========
+
+ InsertSingleEnemy, InsertEnemy
+ /std/living/combat.c
13.03.2008, Zesstra
diff --git a/doc/props/P_IDS b/doc/props/P_IDS
index 311407b..dee9a74 100644
--- a/doc/props/P_IDS
+++ b/doc/props/P_IDS
@@ -1,25 +1,41 @@
+
P_IDS
+*****
-NAME:
- P_IDS "ids"
-DEFINIERT IN:
- <thing/description.h>
+NAME
+====
-BESCHREIBUNG:
- In dieser Property steht ein Array von den Strings, mit denen sich das
- Objekt ansprechen laesst. Die Verwaltung dieser Property erfolgt ueber
- die Funktionen AddId() und RemoveId().
+ P_IDS "ids"
- Der Inhalt dieser Property wird von den Funktionen id() und (indirekt)
- present() ausgewertet.
-BEMERKUNGEN:
- Man sollte an dieser Property nicht "von Hand" herumfummeln, sondern
- immer die zugehoerigen Funktionen benutzen!
+DEFINIERT IN
+============
-SIEHE AUCH:
- /std/thing/description.c, AddId(), RemoveId()
+ <thing/description.h>
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ In dieser Property steht ein Array von den Strings, mit denen sich das
+ Objekt ansprechen laesst. Die Verwaltung dieser Property erfolgt ueber
+ die Funktionen AddId() und RemoveId().
+
+ Der Inhalt dieser Property wird von den Funktionen id() und (indirekt)
+ present() ausgewertet.
+
+
+BEMERKUNGEN
+===========
+
+ Man sollte an dieser Property nicht "von Hand" herumfummeln, sondern
+ immer die zugehoerigen Funktionen benutzen!
+
+
+SIEHE AUCH
+==========
+
+ /std/thing/description.c, AddId(), RemoveId()
+
Last modified: Sun May 19 20:17:36 1996 by Wargon
diff --git a/doc/props/P_IGNORE b/doc/props/P_IGNORE
index d95fd14..3436a09 100644
--- a/doc/props/P_IGNORE
+++ b/doc/props/P_IGNORE
@@ -1,22 +1,39 @@
-NAME:
- P_IGNORE "ignore"
-DEFINIERT IN:
- /sys/player/base.h
+P_IGNORE
+********
-BESCHREIBUNG:
- Array mit Spielern, Kommandos, Aktionen u.ae. die ignoriert werden.
- In aller Regel sollte die Ignorierepruefung durch Aufruf von TestIgnore()
- im Spieler erfolgen und nicht selber P_IGNORE durchsucht werden.
-BEMERKUNGEN:
- Die Daten in dieser Property werden intern als Mapping gespeichert, nicht
- als Array von Strings. Bitte nicht mit Set/Query() an dieser Property
- herumbasteln.
+NAME
+====
-SIEHE AUCH:
- TestIgnore, /std/player/comm.c
+ P_IGNORE "ignore"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Array mit Spielern, Kommandos, Aktionen u.ae. die ignoriert werden.
+ In aller Regel sollte die Ignorierepruefung durch Aufruf von TestIgnore()
+ im Spieler erfolgen und nicht selber P_IGNORE durchsucht werden.
+
+
+BEMERKUNGEN
+===========
+
+ Die Daten in dieser Property werden intern als Mapping gespeichert, nicht
+ als Array von Strings. Bitte nicht mit Set/Query() an dieser Property
+ herumbasteln.
+
+
+SIEHE AUCH
+==========
+
+ TestIgnore, /std/player/comm.c
+
Last modified: 02.10.2011, Zesstra
-
diff --git a/doc/props/P_INDOORS b/doc/props/P_INDOORS
index c1ab07a..4483d10 100644
--- a/doc/props/P_INDOORS
+++ b/doc/props/P_INDOORS
@@ -1,33 +1,52 @@
-NAME:
- P_INDOORS "indoors"
-DEFINIERT IN:
- /sys/room/description.h
+P_INDOORS
+*********
-BESCHREIBUNG:
- Gesetzt, wenn von dem Raum aus der Himmel nicht sichtbar ist.
- Objekte oder Gilden werten diese Property teilweise aus, fuer
- Innenraeume sollte sie also sinnvollerweise gesetzt werden.
+NAME
+====
- Licht wird _nicht_ durch P_INDOORS beeinflusst, muss also
- selbst angepasst werden.
+ P_INDOORS "indoors"
+
+
+DEFINIERT IN
+============
+
+ /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+ Gesetzt, wenn von dem Raum aus der Himmel nicht sichtbar ist.
+
+ Objekte oder Gilden werten diese Property teilweise aus, fuer
+ Innenraeume sollte sie also sinnvollerweise gesetzt werden.
+
+ Licht wird _nicht_ durch P_INDOORS beeinflusst, muss also
+ selbst angepasst werden.
+
BEISPIEL
- // Ein dunkler Innenraum:
- SetProp(P_INDOORS, 1); // ein Innenraum liegt innen :)
- SetProp(P_LIGHT, 0); // Licht auf 0
+========
- // Ein richtig heller Aussenraum:
- SetProp(P_INDOORS, 0);
- SetProp(P_LIGHT, 2);
+ // Ein dunkler Innenraum:
+ SetProp(P_INDOORS, 1); // ein Innenraum liegt innen :)
+ SetProp(P_LIGHT, 0); // Licht auf 0
- // Ein heller Aussenraum mit Mondlicht (gut fuer Delfen)
- SetProp(P_INDOORS, 0);
- SetProp(P_LIGHT, 1);
- SetProp(P_LIGHT_TYPE, LT_STARS|LT_MOON);
+ // Ein richtig heller Aussenraum:
+ SetProp(P_INDOORS, 0);
+ SetProp(P_LIGHT, 2);
+
+ // Ein heller Aussenraum mit Mondlicht (gut fuer Delfen)
+ SetProp(P_INDOORS, 0);
+ SetProp(P_LIGHT, 1);
+ SetProp(P_LIGHT_TYPE, LT_STARS|LT_MOON);
+
SIEHE AUCH
- P_LIGHT, P_LIGHT_ABSORPTION, P_LIGHT_TYPE
+==========
+
+ P_LIGHT, P_LIGHT_ABSORPTION, P_LIGHT_TYPE
25.Aug 2008 Gloinson
diff --git a/doc/props/P_INFO b/doc/props/P_INFO
index 06dabe6..f29c242 100644
--- a/doc/props/P_INFO
+++ b/doc/props/P_INFO
@@ -1,18 +1,36 @@
+
P_INFO
-NAME:
- P_INFO "info"
+******
-DEFINIERT IN:
- /sys/properties.h
-BESCHREIBUNG:
- Geheime Information, die ggf. ueber einen Zauberspruch
- von Spielern ermittelt werden kann.
-
-BEISPIEL:
- SetProp(P_INFO,"Du ergruendest das Geheimnis.\n")
+NAME
+====
-SIEHE AUCH:
- GetOwner(L)
+ P_INFO "info"
-24. April 2006, Vanion
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Geheime Information, die ggf. ueber einen Zauberspruch
+ von Spielern ermittelt werden kann.
+
+
+BEISPIEL
+========
+
+ SetProp(P_INFO,"Du ergruendest das Geheimnis.\n")
+
+
+SIEHE AUCH
+==========
+
+ GetOwner(L)
+
+24. April 2006, Vanion
diff --git a/doc/props/P_INFORMME b/doc/props/P_INFORMME
index 4736933..c6dd0ed 100644
--- a/doc/props/P_INFORMME
+++ b/doc/props/P_INFORMME
@@ -1,14 +1,30 @@
-NAME:
- P_INFORMME "informme"
-DEFINIERT IN:
- /sys/properties.h
+P_INFORMME
+**********
-BESCHREIBUNG:
- Enthaelt das Flag, ob der Spieler ueber ein-/ausloggende Spieler
- informiert werden will.
-SIEHE AUCH:
- Spielerkommando: inform
+NAME
+====
+
+ P_INFORMME "informme"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt das Flag, ob der Spieler ueber ein-/ausloggende Spieler
+ informiert werden will.
+
+
+SIEHE AUCH
+==========
+
+ Spielerkommando: inform
6.Feb 2016 Gloinson
diff --git a/doc/props/P_INPC_HOME b/doc/props/P_INPC_HOME
index 31fea0b..1eafd4d 100644
--- a/doc/props/P_INPC_HOME
+++ b/doc/props/P_INPC_HOME
@@ -1,8 +1,21 @@
-NAME:
- P_INPC_HOME "inpc_home"
-DEFINIERT IN:
- /sys/inpc/walking.h
+P_INPC_HOME
+***********
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_INPC_HOME "inpc_home"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_LAST_ENVIRONMENT b/doc/props/P_INPC_LAST_ENVIRONMENT
index 2b7437a..8f7cb68 100644
--- a/doc/props/P_INPC_LAST_ENVIRONMENT
+++ b/doc/props/P_INPC_LAST_ENVIRONMENT
@@ -1,8 +1,21 @@
-NAME:
- P_INPC_LAST_ENVIRONMENT "inpc_last_environment"
-DEFINIERT IN:
- /sys/inpc/walking.h
+P_INPC_LAST_ENVIRONMENT
+***********************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_INPC_LAST_ENVIRONMENT "inpc_last_environment"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_LAST_PLAYER_CONTACT b/doc/props/P_INPC_LAST_PLAYER_CONTACT
index f32cd02..14f8730 100644
--- a/doc/props/P_INPC_LAST_PLAYER_CONTACT
+++ b/doc/props/P_INPC_LAST_PLAYER_CONTACT
@@ -1,8 +1,21 @@
-NAME:
- P_INPC_LAST_PLAYER_CONTACT "inpc_last_player_contact"
-DEFINIERT IN:
- /sys/inpc/walking.h
+P_INPC_LAST_PLAYER_CONTACT
+**************************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_INPC_LAST_PLAYER_CONTACT "inpc_last_player_contact"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_AREA b/doc/props/P_INPC_WALK_AREA
index 3d7dfc6..9554d27 100644
--- a/doc/props/P_INPC_WALK_AREA
+++ b/doc/props/P_INPC_WALK_AREA
@@ -1,8 +1,21 @@
-NAME:
- P_INPC_WALK_AREA "inpc_walk_area"
-DEFINIERT IN:
- /sys/inpc/walking.h
+P_INPC_WALK_AREA
+****************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_INPC_WALK_AREA "inpc_walk_area"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_DELAYS b/doc/props/P_INPC_WALK_DELAYS
index f510764..e59deea 100644
--- a/doc/props/P_INPC_WALK_DELAYS
+++ b/doc/props/P_INPC_WALK_DELAYS
@@ -1,8 +1,21 @@
-NAME:
- P_INPC_WALK_DELAYS "inpc_walk_delay"
-DEFINIERT IN:
- /sys/inpc/walking.h
+P_INPC_WALK_DELAYS
+******************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_INPC_WALK_DELAYS "inpc_walk_delay"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_FLAGS b/doc/props/P_INPC_WALK_FLAGS
index 3e8749b..86c4835 100644
--- a/doc/props/P_INPC_WALK_FLAGS
+++ b/doc/props/P_INPC_WALK_FLAGS
@@ -1,8 +1,21 @@
-NAME:
- P_INPC_WALK_FLAGS "inpc_walk_flags"
-DEFINIERT IN:
- /sys/inpc/walking.h
+P_INPC_WALK_FLAGS
+*****************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_INPC_WALK_FLAGS "inpc_walk_flags"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_MODE b/doc/props/P_INPC_WALK_MODE
index 22da99d..134bb50 100644
--- a/doc/props/P_INPC_WALK_MODE
+++ b/doc/props/P_INPC_WALK_MODE
@@ -1,8 +1,21 @@
-NAME:
- P_INPC_WALK_MODE "inpc_walk_mode"
-DEFINIERT IN:
- /sys/inpc/walking.h
+P_INPC_WALK_MODE
+****************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_INPC_WALK_MODE "inpc_walk_mode"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_ROUTE b/doc/props/P_INPC_WALK_ROUTE
index 4d11cb1..762408d 100644
--- a/doc/props/P_INPC_WALK_ROUTE
+++ b/doc/props/P_INPC_WALK_ROUTE
@@ -1,8 +1,21 @@
-NAME:
- P_INPC_WALK_ROUTE "inpc_walk_route"
-DEFINIERT IN:
- /sys/inpc/walking.h
+P_INPC_WALK_ROUTE
+*****************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_INPC_WALK_ROUTE "inpc_walk_route"
+
+
+DEFINIERT IN
+============
+
+ /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INTERMUD b/doc/props/P_INTERMUD
index 6d4bd59..8019998 100644
--- a/doc/props/P_INTERMUD
+++ b/doc/props/P_INTERMUD
@@ -1,13 +1,25 @@
-NAME:
- P_INTERMUD "intermud"
-DEFINIERT IN:
- /sys/player/comm.h
+P_INTERMUD
+**********
-BESCHREIBUNG:
+
+NAME
+====
+
+ P_INTERMUD "intermud"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
Die Bedeutung dieser Property ist in den praehistorischen Untiefen
der Mudlib verlorengegangen.
Wird nicht mehr benutzt.
Nicht benutzen.
Ignorieren.
-
diff --git a/doc/props/P_INTERNAL_EXTRA_LOOK b/doc/props/P_INTERNAL_EXTRA_LOOK
index 160125d..ffa78ad 100644
--- a/doc/props/P_INTERNAL_EXTRA_LOOK
+++ b/doc/props/P_INTERNAL_EXTRA_LOOK
@@ -1,39 +1,57 @@
-NAME:
- P_INTERNAL_EXTRA_LOOK "internal_extralook"
-DEFINIERT IN:
- /sys/living/description.h
+P_INTERNAL_EXTRA_LOOK
+*********************
-BESCHREIBUNG:
- Diese Property enthaelt ein Mapping, in dem alle einzelnen
- Extra-Look-Eintraege des Livings enthalten sind. Dabei weden die Daten von
- AddExtraLook() und RemoveExtraLook() verwaltet. Fragt man diese Prop mit
- QueryProp() ab, erhaelt man die Ausgabe der gueltigen Extralooks des
- Livings. Bei Abfrage per Query() erhaelt man ein Mapping mit allen
- Eintraegen und deren Daten. Jeder Wert im Mapping ist erneut ein Mapping,
- welches folgende Keys enthalten kann:
- - "xllook": String, der im Extralook des Living angezeigt wird.
- - "xlduration": Zeitstempel (int), der angibt, wie lang der Eintrag gueltig
- ist. 0 == "Unendlich", negative Zahlen besagen, dass der
- Eintrag nur bis Reboot/Ende gueltig sein und abs(xlduration)
- ist der Zeitpunkt des Eintrages dieses Extralooks.
- - "xlende": String, der nach Ablaufen an das Living ausgegeben wird.
- - "xlfun": Funktion, die gerufen wird und den String zurueckliefern muss,
- der ausgeben werden soll.
- - "xlendefun": Funktion, die gerufen wird, wenn der Eintrag abgelaufen ist
- und den String zurueckliefern muss, der dann ans Living
- ausgeben wird.
- - "xlobjectname": Objekt, in dem die o.a. Funktionen gerufen werden.
-BEMERKUNG:
- DIESE PROPERTY BITTE NIEMALS PER HAND MIT Set()/SetProp() AENDERN!
- Die Daten in dieser Prop werden vom Living selber verwaltet. Extralooks
- koennen mittel AddExtraLook() eingetragen und mit RemoveExtraLook() entfernt
- werden.
+NAME
+====
-SIEHE AUCH:
- long(), /std/living/description.c, /std/player/base.c
- AddExtraLook(), RemoveExtraLook()
+ P_INTERNAL_EXTRA_LOOK "internal_extralook"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt ein Mapping, in dem alle einzelnen
+ Extra-Look-Eintraege des Livings enthalten sind. Dabei weden die Daten von
+ AddExtraLook() und RemoveExtraLook() verwaltet. Fragt man diese Prop mit
+ QueryProp() ab, erhaelt man die Ausgabe der gueltigen Extralooks des
+ Livings. Bei Abfrage per Query() erhaelt man ein Mapping mit allen
+ Eintraegen und deren Daten. Jeder Wert im Mapping ist erneut ein Mapping,
+ welches folgende Keys enthalten kann:
+ - "xllook": String, der im Extralook des Living angezeigt wird.
+ - "xlduration": Zeitstempel (int), der angibt, wie lang der Eintrag gueltig
+ ist. 0 == "Unendlich", negative Zahlen besagen, dass der
+ Eintrag nur bis Reboot/Ende gueltig sein und abs(xlduration)
+ ist der Zeitpunkt des Eintrages dieses Extralooks.
+ - "xlende": String, der nach Ablaufen an das Living ausgegeben wird.
+ - "xlfun": Funktion, die gerufen wird und den String zurueckliefern muss,
+ der ausgeben werden soll.
+ - "xlendefun": Funktion, die gerufen wird, wenn der Eintrag abgelaufen ist
+ und den String zurueckliefern muss, der dann ans Living
+ ausgeben wird.
+ - "xlobjectname": Objekt, in dem die o.a. Funktionen gerufen werden.
+
+
+BEMERKUNG
+=========
+
+ DIESE PROPERTY BITTE NIEMALS PER HAND MIT Set()/SetProp() AENDERN!
+ Die Daten in dieser Prop werden vom Living selber verwaltet. Extralooks
+ koennen mittel AddExtraLook() eingetragen und mit RemoveExtraLook() entfernt
+ werden.
+
+
+SIEHE AUCH
+==========
+
+ long(), /std/living/description.c, /std/player/base.c
+ AddExtraLook(), RemoveExtraLook()
+
13.05.2007, Zesstra
diff --git a/doc/props/P_INT_LIGHT b/doc/props/P_INT_LIGHT
index 04504a6..dcf59b6 100644
--- a/doc/props/P_INT_LIGHT
+++ b/doc/props/P_INT_LIGHT
@@ -1,20 +1,36 @@
-NAME:
- P_INT_LIGHT "int_light"
-DEFINIERT IN:
- /sys/properties.h
+P_INT_LIGHT
+***********
-BESCHREIBUNG:
- Gibt den Lichtlevel an, der _in_ einem Objekt ist. Ein Abfragen dieser
- Property kann z.B. in Raeumen sinnvoll sein, wenn es z.B. um das
- aufwachen einer Eule oder einer Fledermaus geht. Zum Abfragen ob ein
- Spieler etwas sehen kann, bitte auf jeden Fall P_PLAYER_LIGHT benutzen!
- Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
- da das Lichtlevel ggf. neu berechnet werden muss!
+NAME
+====
- Ein direktes setzen dieser Property ist NICHT moeglich, hierzu bitte
- P_LIGHT benutzen!
+ P_INT_LIGHT "int_light"
-SIEHE AUCH:
- P_LIGHT, P_TOTAL_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Gibt den Lichtlevel an, der _in_ einem Objekt ist. Ein Abfragen dieser
+ Property kann z.B. in Raeumen sinnvoll sein, wenn es z.B. um das
+ aufwachen einer Eule oder einer Fledermaus geht. Zum Abfragen ob ein
+ Spieler etwas sehen kann, bitte auf jeden Fall P_PLAYER_LIGHT benutzen!
+
+ Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
+ da das Lichtlevel ggf. neu berechnet werden muss!
+
+ Ein direktes setzen dieser Property ist NICHT moeglich, hierzu bitte
+ P_LIGHT benutzen!
+
+
+SIEHE AUCH
+==========
+
+ P_LIGHT, P_TOTAL_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_INT_LONG b/doc/props/P_INT_LONG
index 3e59249..741e511 100644
--- a/doc/props/P_INT_LONG
+++ b/doc/props/P_INT_LONG
@@ -1,32 +1,53 @@
+
P_INT_LONG
-NAME:
- P_INT_LONG "int_long"
+**********
-DEFINIERT IN:
- /sys/room/description.h
-BESCHREIBUNG:
- Enthaelt Beschreibung, die man bekommt, wenn man sich in dem
- Container (jeder Raum ist einer) umschaut als String.
+NAME
+====
- Der Text sollte bereits umgebrochen sein.
+ P_INT_LONG "int_long"
- Diese Property bestimmt die Ansicht des Containers von innen.
- Fuer die Aussen(lang)ansicht muss P_LONG benutzt werden.
-BEMERKUNGEN:
- - Beschreibungen fuer etwaige Tueren im Raum werden in int_long()
- hinzugefuegt. (Frueher wurde dies in einer Querymethode auf diese Prop
- gemacht.)
+DEFINIERT IN
+============
-BEISPIELE:
- SetProp(P_INT_LONG, break_string(
- "Du stehst in einem total spannenden Testraum. Seine absolute "
- "Nichtigkeit erfuellt dich mit ehrfuerchtigem Grauen.",78));
+ /sys/room/description.h
-SIEHE AUCH:
- Aehnliches: P_INT_SHORT
- Sonstiges: int_long(), P_LONG
- process_string(), break_string()
+
+BESCHREIBUNG
+============
+
+ Enthaelt Beschreibung, die man bekommt, wenn man sich in dem
+ Container (jeder Raum ist einer) umschaut als String.
+
+ Der Text sollte bereits umgebrochen sein.
+
+ Diese Property bestimmt die Ansicht des Containers von innen.
+ Fuer die Aussen(lang)ansicht muss P_LONG benutzt werden.
+
+
+BEMERKUNGEN
+===========
+
+ - Beschreibungen fuer etwaige Tueren im Raum werden in int_long()
+ hinzugefuegt. (Frueher wurde dies in einer Querymethode auf diese Prop
+ gemacht.)
+
+
+BEISPIELE
+=========
+
+ SetProp(P_INT_LONG, break_string(
+ "Du stehst in einem total spannenden Testraum. Seine absolute "
+ "Nichtigkeit erfuellt dich mit ehrfuerchtigem Grauen.",78));
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_INT_SHORT
+ Sonstiges: int_long(), P_LONG
+ process_string(), break_string()
04.06.2009, Zesstra
diff --git a/doc/props/P_INT_SHORT b/doc/props/P_INT_SHORT
index 9c6a0af..618bbab 100644
--- a/doc/props/P_INT_SHORT
+++ b/doc/props/P_INT_SHORT
@@ -1,36 +1,56 @@
+
P_INT_SHORT
-NAME:
- P_INT_SHORT "int_short"
+***********
-DEFINIERT IN:
- /sys/thing/description.h
-BESCHREIBUNG:
- Diese Property enthaelt die Innen-Kurzbeschreibung des Containers
- als String oder Closure (mit String-Rueckgabewert).
+NAME
+====
- Container sind hierbei z.B. Raeume.
- ACHTUNG: Die Kurzbeschreibung sollte dabei weder mit einem
- Satzzeichen noch mit einem "\n" abgeschlossen sein
- (dies wird von den zustaendigen Funktionen erledigt).
+ P_INT_SHORT "int_short"
- Man sollte die Property nicht auf 0 setzen.
- Diese Property bestimmt die Ansicht des Containers von innen.
- Fuer die Aussen(kurz)ansicht muss P_SHORT benutzt werden.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- - int_short() (bei Bewegung) filtert P_INT_SHORT durch process_string()
- -> daher sind Closures moeglich
+ /sys/thing/description.h
-BEISPIELE:
- // ein Gang sieht natuerlich so aus
- SetProp(P_INT_SHORT, "Ein Gang");
-SIEHE AUCH:
- Aehnliches: P_INT_LONG
- Sonstiges: int_short(), P_SHORT
- process_string(), break_string()
+BESCHREIBUNG
+============
-----------------------------------------------------------------------------
+ Diese Property enthaelt die Innen-Kurzbeschreibung des Containers
+ als String oder Closure (mit String-Rueckgabewert).
+
+ Container sind hierbei z.B. Raeume.
+ ACHTUNG: Die Kurzbeschreibung sollte dabei weder mit einem
+ Satzzeichen noch mit einem "\n" abgeschlossen sein
+ (dies wird von den zustaendigen Funktionen erledigt).
+
+ Man sollte die Property nicht auf 0 setzen.
+
+ Diese Property bestimmt die Ansicht des Containers von innen.
+ Fuer die Aussen(kurz)ansicht muss P_SHORT benutzt werden.
+
+
+BEMERKUNGEN
+===========
+
+ - int_short() (bei Bewegung) filtert P_INT_SHORT durch process_string()
+ -> daher sind Closures moeglich
+
+
+BEISPIELE
+=========
+
+ // ein Gang sieht natuerlich so aus
+ SetProp(P_INT_SHORT, "Ein Gang");
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_INT_LONG
+ Sonstiges: int_short(), P_SHORT
+ process_string(), break_string()
+
Last modified: Thu May 31 15:34:05 2001 by Patryn
diff --git a/doc/props/P_INVIS b/doc/props/P_INVIS
index 7022ea0..4063546 100644
--- a/doc/props/P_INVIS
+++ b/doc/props/P_INVIS
@@ -1,50 +1,65 @@
-NAME:
- P_INVIS "invis"
-DEFINIERT IN:
- /sys/player/base.h
+P_INVIS
+*******
-BESCHREIBUNG:
- Die Property P_INVIS dient dazu, Objekte als unsichtbar zu kennzeichnen.
- Hierbei versucht P_INVIS die moeglichen Interaktionen mit Spielern zu
- minimieren (im Gegensatz zu einer fehlenden P_SHORT, welche das Objekt
- nur einfach nicht-sichtbar macht).
-
- Man sollte drei Arten von unsichtbaren Objekten unterscheiden:
- - Gegenstaende
- Setzt man P_INVIS auf eine Zahl ungleich 0, wird der Gegenstand
- unsichtbar und der Name zu "etwas". Zusaetzlich koennen Spieler ihn
- nicht mehr ansprechen, d.h. nehmen, wegwerfen, weitergeben etc.
- (Bei magier-eigenen Kommandos ist dies evtl. nicht umgesetzt...)
- Setzt man P_SHORT auf 0, wird der Gegenstand nur nicht mehr in
- der Inventarliste von Behaeltern/Raeumen angezeigt, er behaelt aber
- seinen Namen und ist durch Spieler ansprechbar, wenn sie eine ID
- kennen.
+NAME
+====
- - NPCs
- Bei gesetztem P_INVIS wird der NPC unsichtbar und sein Name wird zu
- "Jemand". Zusaetzlich koennen Spieler ihn nicht mehr ansprechen, z.B.
- toeten oder knuddeln.
- (Bei magier-eigenen Kommandos ist dies evtl. nicht umgesetzt...)
- Setzt man P_SHORT auf 0, wird der NPC nur nicht mehr in der
- Inventarliste von Behaeltern/Raeumen angezeigt, er behaelt aber seinen
- Namen und ist durch Spieler ansprechbar, wenn sie eine ID kennen. Auch
- angreifen und kaempfen ist moeglich.
-
- - Magier
- Magier macht man unsichtbar, indem man ihnen die Property P_INVIS auf
- einen Wert <> 0 setzt.
- * Spieler duerfen nicht unsichtbar gemacht werden! *
- * Wird ein Magier unsichtbar gemacht, muss man ihm die Property *
- * P_INVIS auf den Wert setzen, den die Property P_AGE zu diesem *
- * Zeitpunkt hat (keine F_QUERY_METHOD !). *
- Setzt man die Property auf den Wert 1, so erhaelt ein Spieler,
- wenn er den entsp. Magier fingert, die Ausgabe: Alter: 00:00:02,
- was genauso verraeterisch ist, wie ein Alter, dass bei einem
- scheinbar nicht eingeloggten Magier immer weiter hochgezaehlt
- wird.
+ P_INVIS "invis"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Die Property P_INVIS dient dazu, Objekte als unsichtbar zu kennzeichnen.
+ Hierbei versucht P_INVIS die moeglichen Interaktionen mit Spielern zu
+ minimieren (im Gegensatz zu einer fehlenden P_SHORT, welche das Objekt
+ nur einfach nicht-sichtbar macht).
+
+
+
+ Man sollte drei Arten von unsichtbaren Objekten unterscheiden:
+
+ - Gegenstaende
+ Setzt man P_INVIS auf eine Zahl ungleich 0, wird der Gegenstand
+ unsichtbar und der Name zu "etwas". Zusaetzlich koennen Spieler ihn
+ nicht mehr ansprechen, d.h. nehmen, wegwerfen, weitergeben etc.
+ (Bei magier-eigenen Kommandos ist dies evtl. nicht umgesetzt...)
+ Setzt man P_SHORT auf 0, wird der Gegenstand nur nicht mehr in
+ der Inventarliste von Behaeltern/Raeumen angezeigt, er behaelt aber
+ seinen Namen und ist durch Spieler ansprechbar, wenn sie eine ID
+ kennen.
+
+ - NPCs
+ Bei gesetztem P_INVIS wird der NPC unsichtbar und sein Name wird zu
+ "Jemand". Zusaetzlich koennen Spieler ihn nicht mehr ansprechen, z.B.
+ toeten oder knuddeln.
+ (Bei magier-eigenen Kommandos ist dies evtl. nicht umgesetzt...)
+ Setzt man P_SHORT auf 0, wird der NPC nur nicht mehr in der
+ Inventarliste von Behaeltern/Raeumen angezeigt, er behaelt aber seinen
+ Namen und ist durch Spieler ansprechbar, wenn sie eine ID kennen. Auch
+ angreifen und kaempfen ist moeglich.
+
+
+
+ - Magier
+ Magier macht man unsichtbar, indem man ihnen die Property P_INVIS auf
+ einen Wert <> 0 setzt.
+ * Spieler duerfen nicht unsichtbar gemacht werden! *
+ * Wird ein Magier unsichtbar gemacht, muss man ihm die Property *
+ * P_INVIS auf den Wert setzen, den die Property P_AGE zu diesem *
+ * Zeitpunkt hat (keine F_QUERY_METHOD !). *
+ Setzt man die Property auf den Wert 1, so erhaelt ein Spieler,
+ wenn er den entsp. Magier fingert, die Ausgabe: Alter: 00:00:02,
+ was genauso verraeterisch ist, wie ein Alter, dass bei einem
+ scheinbar nicht eingeloggten Magier immer weiter hochgezaehlt
+ wird.
+
27.05.2015, Zesstra
-
diff --git a/doc/props/P_IP_NAME b/doc/props/P_IP_NAME
index 7b503ea..6003c80 100644
--- a/doc/props/P_IP_NAME
+++ b/doc/props/P_IP_NAME
@@ -1,8 +1,21 @@
-NAME:
- P_IP_NAME "ip_name"
-DEFINIERT IN:
- /sys/player.h
+P_IP_NAME
+*********
-BESCHREIBUNG:
- Rechnername des Interactives
+
+NAME
+====
+
+ P_IP_NAME "ip_name"
+
+
+DEFINIERT IN
+============
+
+ /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+ Rechnername des Interactives
diff --git a/doc/props/P_IS_ARTILLERY b/doc/props/P_IS_ARTILLERY
index 051b20f..2afcd60 100644
--- a/doc/props/P_IS_ARTILLERY
+++ b/doc/props/P_IS_ARTILLERY
@@ -1,15 +1,30 @@
-NAME:
- P_IS_ARTILLERY "artillery"
-DEFINIERT IN:
- /sys/combat.h
+P_IS_ARTILLERY
+**************
-BESCHREIBUNG:
- Is ein Objekt Artillerie, so muss diese Property
- gesetzt sein. (Derzeit einfach auf 1 setzen.)
-SIEHE AUCH:
- artillerie
+NAME
+====
-----------------------------------------------------------------------------
+ P_IS_ARTILLERY "artillery"
+
+
+DEFINIERT IN
+============
+
+ /sys/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Is ein Objekt Artillerie, so muss diese Property
+ gesetzt sein. (Derzeit einfach auf 1 setzen.)
+
+
+SIEHE AUCH
+==========
+
+ artillerie
+
Last modified: Sam, 5. Jul 2003, 22:07:12 by Zook.
diff --git a/doc/props/P_ITEMS b/doc/props/P_ITEMS
index add4255..1fcafc5 100644
--- a/doc/props/P_ITEMS
+++ b/doc/props/P_ITEMS
@@ -1,9 +1,22 @@
-NAME:
- P_ITEMS "items"
-DEFINIERT IN:
- /sys/properties.h
+P_ITEMS
+*******
-BESCHREIBUNG:
- Definition von Gegenstaenden, die in dem Raum liegen sollen.
- Erklaerung in einem Extrafile.
+
+NAME
+====
+
+ P_ITEMS "items"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Definition von Gegenstaenden, die in dem Raum liegen sollen.
+ Erklaerung in einem Extrafile.
diff --git a/doc/props/P_I_HATE_ALCOHOL b/doc/props/P_I_HATE_ALCOHOL
index f60a38f..0a0eefc 100644
--- a/doc/props/P_I_HATE_ALCOHOL
+++ b/doc/props/P_I_HATE_ALCOHOL
@@ -1,23 +1,41 @@
-NAME:
- P_I_HATE_ALCOHOL "i_hate_alcohol"
-DEFINIERT IN:
- /sys/inpc/boozing.h
+P_I_HATE_ALCOHOL
+****************
-BESCHREIBUNG:
- Numerischer Wert, der die Obergrenze an P_ALCOHOL in einem Monster
- definiert, welcher beim eigenstaendigen Tanken beruecksichtigt wird.
-BEMERKUNG:
- Geht der Npc (und nur fuer solche ist diese Prop gedacht) eigen-
- staendig tanken, werden vor dem Bestellen die Getraenke und Speisen
- auf ihren Alkoholgehalt geprueft und mit dem aktuellen Wert von
- P_ALCOHOL im Verhaeltnis zu P_I_HATE_ALCOHOL verglichen. Laege der
- Wert fuer P_ALCOHOL dann ueber dem von P_I_HATE_ALCOHOL, wird dieses
- Getraenk (diese Speise) nicht bestellt.
+NAME
+====
-SIEHE AUCH:
- P_ALCOHOL, P_MAX_ALCOHOL
+ P_I_HATE_ALCOHOL "i_hate_alcohol"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/inpc/boozing.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert, der die Obergrenze an P_ALCOHOL in einem Monster
+ definiert, welcher beim eigenstaendigen Tanken beruecksichtigt wird.
+
+
+BEMERKUNG
+=========
+
+ Geht der Npc (und nur fuer solche ist diese Prop gedacht) eigen-
+ staendig tanken, werden vor dem Bestellen die Getraenke und Speisen
+ auf ihren Alkoholgehalt geprueft und mit dem aktuellen Wert von
+ P_ALCOHOL im Verhaeltnis zu P_I_HATE_ALCOHOL verglichen. Laege der
+ Wert fuer P_ALCOHOL dann ueber dem von P_I_HATE_ALCOHOL, wird dieses
+ Getraenk (diese Speise) nicht bestellt.
+
+
+SIEHE AUCH
+==========
+
+ P_ALCOHOL, P_MAX_ALCOHOL
+
Last modified: Sam Apr 14 12:35:00 2001 by Tilly
diff --git a/doc/props/P_KEEPER b/doc/props/P_KEEPER
index c0275ba..63185c8 100644
--- a/doc/props/P_KEEPER
+++ b/doc/props/P_KEEPER
@@ -1,14 +1,26 @@
-NAME:
- P_KEEPER "shop_keeper"
-DEFINIERT IN:
- /sys/properties.h
+P_KEEPER
+********
-BESCHREIBUNG:
- In diese Property kann man in Kneipen und Laeden einen String schreiben.
- Dann wird vor den Transaktionen geprueft, ob ein NPC anwesend ist,
- der diesen String als ID hat.
- Ist der NPC nicht vorhanden, kann nichts ge- oder verkauft werden.
-----------------------------------------------------------------------------
-Last modified: Mon Aug 23 14:29:00 1999 by Paracelsus
\ No newline at end of file
+NAME
+====
+
+ P_KEEPER "shop_keeper"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ In diese Property kann man in Kneipen und Laeden einen String schreiben.
+ Dann wird vor den Transaktionen geprueft, ob ein NPC anwesend ist,
+ der diesen String als ID hat.
+ Ist der NPC nicht vorhanden, kann nichts ge- oder verkauft werden.
+
+Last modified: Mon Aug 23 14:29:00 1999 by Paracelsus
diff --git a/doc/props/P_KEEP_ON_SELL b/doc/props/P_KEEP_ON_SELL
index 8a21407..ce5feba 100644
--- a/doc/props/P_KEEP_ON_SELL
+++ b/doc/props/P_KEEP_ON_SELL
@@ -1,8 +1,21 @@
-NAME:
- P_KEEP_ON_SELL "keep_on_sell"
-DEFINIERT IN:
- /sys/properties.h
+P_KEEP_ON_SELL
+**************
-BESCHREIBUNG:
- Bei "verkaufe alles" wird das Objekt behalten.
+
+NAME
+====
+
+ P_KEEP_ON_SELL "keep_on_sell"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Bei "verkaufe alles" wird das Objekt behalten.
diff --git a/doc/props/P_KILLER b/doc/props/P_KILLER
index 83f6b18..01bb0d1 100644
--- a/doc/props/P_KILLER
+++ b/doc/props/P_KILLER
@@ -1,10 +1,23 @@
-NAME:
- P_KILLER "killer"
-DEFINIERT IN:
- /sys/properties.h
+P_KILLER
+********
-BESCHREIBUNG:
+
+NAME
+====
+
+ P_KILLER "killer"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
Diese Property enthaelt das Objekt, welches das Lebewesen als letztes
getoetet hat. Sie wird von do_damage(), heart_beat() (Vergiftungen) und
die() (bei direkten Aufrufen) automatisch gesetzt. Ein manuelles
@@ -16,12 +29,18 @@
waehrend eines NotifyPlayerDeath(), weil es evtl. noch andere Objekte gibt,
die sich dafuer interessieren!
-BEMERKUNGEN:
+
+BEMERKUNGEN
+===========
+
Normalerweise steht hier ein Objekt drin (s.o.). Es gibt allerdings eine
Ausnahme: Stirbt ein Lebewesen an Gift, enthaelt P_KILLER den String
"gift".
-SIEHE AUCH:
+
+SIEHE AUCH
+==========
+
do_damage()
29.08.2008, Zesstra
diff --git a/doc/props/P_KILLS b/doc/props/P_KILLS
index 3dae72d..7ec3dac 100644
--- a/doc/props/P_KILLS
+++ b/doc/props/P_KILLS
@@ -1,10 +1,23 @@
-NAME:
- P_KILLS "playerkills"
-DEFINIERT IN:
- /sys/properties.h
+P_KILLS
+*******
-BESCHREIBUNG:
- Anzahl der Spieler, die dieser Spieler schon getoetet hat.
- Unerlaubte Manipulation ist ein SCHWERES VERGEHEN gegen
- die Mudreglen.
+
+NAME
+====
+
+ P_KILLS "playerkills"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der Spieler, die dieser Spieler schon getoetet hat.
+ Unerlaubte Manipulation ist ein SCHWERES VERGEHEN gegen
+ die Mudreglen.
diff --git a/doc/props/P_KILL_MSG b/doc/props/P_KILL_MSG
index 0a9e3bb..9437975 100644
--- a/doc/props/P_KILL_MSG
+++ b/doc/props/P_KILL_MSG
@@ -1,80 +1,96 @@
+
P_KILL_MSG
-
-NAME:
- P_KILL_MSG "kill_msg"
-
-DEFINIERT IN:
- /sys/properties.h
-
-BESCHREIBUNG:
- Wenn ein Spieler getoetet wird, so erscheint dazu eine kurze Information
- auf dem Todeskanal. Um dem toetenden Objekt zusaetzlich die Moeglichkeit
- zu geben, noch etwas mehr auf diesem Kanal auszugeben, kann man in
- dieser Property einen String uebergeben.
- Noetige Zeilenumbrueche werden hierbei automatisch generiert.
-
- Es ist auch moeglich anzugeben, ob Emotes verwendet werden und ob das
- toetende Objekt ein Plural-Objekt ist. Hierzu uebergibt man ein Array
- der Gestalt:
-
- ({Killmessage,Emotes}) bzw. ({Killmessage,Emotes,PLURAL})
-
- Der Eintrag <Killmessage> stellt hierbei die Meldung selbst dar, PLURAL
- gibt an, dass es sich um ein Plural-Objekt handelt und <Emotes> kann
- folgende Werte annehmen:
-
- MSG_SAY - Meldung wird normal ausgegeben.
- MSG_EMOTE - Meldung erscheint als Emote.
- MSG_GEMOTE - Meldung erscheint als Genitiv-Emote.
- MSG_EMPTY - Meldung erscheint ohne zuvorige Angabe des
- toetenden Objektes.
-
- Moechte man die Meldung noch etwas "persoenlicher" ;-) gestalten, so
- kann man den Platzhalter %s verwenden. An dessen Stelle wird dann der
- Name des Verblichenen eingesetzt.
-
-BEISPIEL:
- Ein nettes Beispiel ist das folgende: Wenn ein Spieler sich als
- Drachentoeter bewehrt hat, so kann er traditionell in seinem Blut baden.
- Hin und wieder ist jedoch auch der Drache erfolgreich, dem man eine
- lustige Zusatzmeldung fuer den Todeskanal uebergeben kann:
-
- void create() {
- ::create();
- ...
- SetProp(P_KILL_MSG,"Jetzt bade ich mal in DEINEM Blut, %s!");
- ...
- }
+**********
- Falls der 'Killer' ein Plural-Objekt oder -NPC war, koennte eine Meldung
- auch folgendermassen aussehen:
+NAME
+====
- SetProp(P_KILL_MSG,({"haun sich jetzt die Hucke voll.",
- MSG_EMOTE,
- PLURAL}));
-
- wobei P_KILL_NAME hier natuerlich auf "Eine Menge Orks" oder
- dergleichen gesetzt sein sollte. Auf dem Kanal waere dann dies zu
- lesen:
-
- [Tod:Lars] Eine Menge Orks haben gerade Orktoeter umgebracht.
- [Tod:Eine Menge Orks haun sich jetzt die Hucke voll.]
+ P_KILL_MSG "kill_msg"
- Weiteres Beispiel.
- Man habe einen NPC, dessen Killname als Plural aufzufassen ist, der aber
- keinen zusaetlichen Text auf -Tod bringen soll.
+DEFINIERT IN
+============
- SetProp(P_NAME, "Eine Horde Gummibaeren");
- SetProp(P_KILL_NAME, "Viele kleine Gummibaeren");
- SetProp(P_KILL_MSG, ({0, 0, 1}));
+ /sys/properties.h
-SIEHE AUCH:
- Tod: die(L)
- Todesmeldungen: P_KILL_NAME, P_DIE_MSG, P_MURDER_MSG
- P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
- Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ Wenn ein Spieler getoetet wird, so erscheint dazu eine kurze Information
+ auf dem Todeskanal. Um dem toetenden Objekt zusaetzlich die Moeglichkeit
+ zu geben, noch etwas mehr auf diesem Kanal auszugeben, kann man in
+ dieser Property einen String uebergeben.
+ Noetige Zeilenumbrueche werden hierbei automatisch generiert.
+
+ Es ist auch moeglich anzugeben, ob Emotes verwendet werden und ob das
+ toetende Objekt ein Plural-Objekt ist. Hierzu uebergibt man ein Array
+ der Gestalt:
+
+ ({Killmessage,Emotes}) bzw. ({Killmessage,Emotes,PLURAL})
+
+ Der Eintrag <Killmessage> stellt hierbei die Meldung selbst dar, PLURAL
+ gibt an, dass es sich um ein Plural-Objekt handelt und <Emotes> kann
+ folgende Werte annehmen:
+
+ MSG_SAY - Meldung wird normal ausgegeben.
+ MSG_EMOTE - Meldung erscheint als Emote.
+ MSG_GEMOTE - Meldung erscheint als Genitiv-Emote.
+ MSG_EMPTY - Meldung erscheint ohne zuvorige Angabe des
+ toetenden Objektes.
+
+ Moechte man die Meldung noch etwas "persoenlicher" ;-) gestalten, so
+ kann man den Platzhalter %s verwenden. An dessen Stelle wird dann der
+ Name des Verblichenen eingesetzt.
+
+
+BEISPIEL
+========
+
+ Ein nettes Beispiel ist das folgende: Wenn ein Spieler sich als
+ Drachentoeter bewehrt hat, so kann er traditionell in seinem Blut baden.
+ Hin und wieder ist jedoch auch der Drache erfolgreich, dem man eine
+ lustige Zusatzmeldung fuer den Todeskanal uebergeben kann:
+
+ void create() {
+ ::create();
+ ...
+ SetProp(P_KILL_MSG,"Jetzt bade ich mal in DEINEM Blut, %s!");
+ ...
+ }
+
+
+ Falls der 'Killer' ein Plural-Objekt oder -NPC war, koennte eine Meldung
+ auch folgendermassen aussehen:
+
+ SetProp(P_KILL_MSG,({"haun sich jetzt die Hucke voll.",
+ MSG_EMOTE,
+ PLURAL}));
+
+ wobei P_KILL_NAME hier natuerlich auf "Eine Menge Orks" oder
+ dergleichen gesetzt sein sollte. Auf dem Kanal waere dann dies zu
+ lesen:
+
+ [Tod:Lars] Eine Menge Orks haben gerade Orktoeter umgebracht.
+ [Tod:Eine Menge Orks haun sich jetzt die Hucke voll.]
+
+
+ Weiteres Beispiel.
+ Man habe einen NPC, dessen Killname als Plural aufzufassen ist, der aber
+ keinen zusaetlichen Text auf -Tod bringen soll.
+
+ SetProp(P_NAME, "Eine Horde Gummibaeren");
+ SetProp(P_KILL_NAME, "Viele kleine Gummibaeren");
+ SetProp(P_KILL_MSG, ({0, 0, 1}));
+
+
+SIEHE AUCH
+==========
+
+ Tod: die(L)
+ Todesmeldungen: P_KILL_NAME, P_DIE_MSG, P_MURDER_MSG
+ P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+ Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
Last modified: Wed Aug 21 14:36:04 2002 by Bambi
diff --git a/doc/props/P_KILL_NAME b/doc/props/P_KILL_NAME
index 3f214ab..0504066 100644
--- a/doc/props/P_KILL_NAME
+++ b/doc/props/P_KILL_NAME
@@ -1,43 +1,59 @@
+
P_KILL_NAME
+***********
-NAME:
- P_KILL_NAME "kill_name"
-DEFINIERT IN:
- /sys/properties.h
+NAME
+====
-BESCHREIBUNG:
- Wenn ein Spieler getoetet wird, so erscheint eine kurze Information auf
- dem Todeskanal. Im Normalfall werden die Informationen aus P_NAME,
- P_ARTICLE und P_GENDER des toetenden Objektes verwendet, um einen Namen
- fuer eben dieses Objekt zu kreieren. Manchmal moechte man jedoch einen
- davon unabhaengigen Namen dort stehen haben. Dann kommt die Property
- P_KILL_NAME zum Einsatz.
- Man sollte beachten, dass der Name des Toetenden nicht zu lang sein
- sollte, denn obwohl bei einer Todesmeldung automatisch umgebrochen wird,
- kann es doch ziemlich stoeren. Wenn das toetende Objekt ein Plural-
- Objekt ist, so kann man dies zusaetzlich in der Property P_KILL_MSG
- angeben.
+ P_KILL_NAME "kill_name"
-BEISPIEL:
- Eine Wolke, die wahlweise zwischen verschiedenen Zustaenden mutiert,
- koennte mal eine Eiswolke, mal eine Giftwolke oder auch mal eine
- Feuerwolke sein. Fuer den Todeskanal soll jedoch immer erscheinen:
- '[Tod:] Eine mutierende Wolke hat gerade <Spieler> umgebracht.'
- void create()
- {
- ::create();
- ...
- SetProp(P_KILL_NAME,"Eine mutierende Wolke");
- ...
- }
+DEFINIERT IN
+============
-SIEHE AUCH:
- Tod: die(L)
- Todesmeldungen: P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
- P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
- Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+ /sys/properties.h
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ Wenn ein Spieler getoetet wird, so erscheint eine kurze Information auf
+ dem Todeskanal. Im Normalfall werden die Informationen aus P_NAME,
+ P_ARTICLE und P_GENDER des toetenden Objektes verwendet, um einen Namen
+ fuer eben dieses Objekt zu kreieren. Manchmal moechte man jedoch einen
+ davon unabhaengigen Namen dort stehen haben. Dann kommt die Property
+ P_KILL_NAME zum Einsatz.
+ Man sollte beachten, dass der Name des Toetenden nicht zu lang sein
+ sollte, denn obwohl bei einer Todesmeldung automatisch umgebrochen wird,
+ kann es doch ziemlich stoeren. Wenn das toetende Objekt ein Plural-
+ Objekt ist, so kann man dies zusaetzlich in der Property P_KILL_MSG
+ angeben.
+
+
+BEISPIEL
+========
+
+ Eine Wolke, die wahlweise zwischen verschiedenen Zustaenden mutiert,
+ koennte mal eine Eiswolke, mal eine Giftwolke oder auch mal eine
+ Feuerwolke sein. Fuer den Todeskanal soll jedoch immer erscheinen:
+ '[Tod:] Eine mutierende Wolke hat gerade <Spieler> umgebracht.'
+
+ void create()
+ {
+ ::create();
+ ...
+ SetProp(P_KILL_NAME,"Eine mutierende Wolke");
+ ...
+ }
+
+
+SIEHE AUCH
+==========
+
+ Tod: die(L)
+ Todesmeldungen: P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
+ P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+ Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_KNOWN_POTIONROOMS b/doc/props/P_KNOWN_POTIONROOMS
index f5adb97..29e17d3 100644
--- a/doc/props/P_KNOWN_POTIONROOMS
+++ b/doc/props/P_KNOWN_POTIONROOMS
@@ -1,19 +1,35 @@
-NAME:
- P_KNOWN_POTIONROOMS "known_potionrooms"
-DEFINIERT IN:
- /sys/player/potion.h
+P_KNOWN_POTIONROOMS
+*******************
-BESCHREIBUNG:
- Array mit den Nummern der Raeume, in denen der Spieler Zauber-
- traenke finden kann. Die Zuordnung der Raeume und Nummern
- geschieht im Potionmaster.
- Nur lesbare _query - Property.
+NAME
+====
-SIEHE AUCH:
- Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
- Verwandt: FindPotion(), AddKnownPotion(), RemoveKnownPotion(), InList()
- Props: P_POTIONROOMS
+ P_KNOWN_POTIONROOMS "known_potionrooms"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/potion.h
+
+
+BESCHREIBUNG
+============
+
+ Array mit den Nummern der Raeume, in denen der Spieler Zauber-
+ traenke finden kann. Die Zuordnung der Raeume und Nummern
+ geschieht im Potionmaster.
+
+ Nur lesbare _query - Property.
+
+
+SIEHE AUCH
+==========
+
+ Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
+ Verwandt: FindPotion(), AddKnownPotion(), RemoveKnownPotion(), InList()
+ Props: P_POTIONROOMS
6.Feb 2016 Gloinson
diff --git a/doc/props/P_LASTDIR b/doc/props/P_LASTDIR
index eae9071..2695f06 100644
--- a/doc/props/P_LASTDIR
+++ b/doc/props/P_LASTDIR
@@ -1,15 +1,28 @@
-NAME:
- P_LASTDIR "p_lib_lastdir"
-DEFINIERT IN:
- /sys/shells.h
+P_LASTDIR
+*********
-BESCHREIBUNG:
- Das jeweils letzte Verzeichnis, in dem der Magier war.
- (Nur fuer Magier von Belang)
+
+NAME
+====
+
+ P_LASTDIR "p_lib_lastdir"
+
+
+DEFINIERT IN
+============
+
+ /sys/shells.h
+
+
+BESCHREIBUNG
+============
+
+ Das jeweils letzte Verzeichnis, in dem der Magier war.
+ (Nur fuer Magier von Belang)
Siehe auch:
- P_CURRENTDIR
+ P_CURRENTDIR
Letzte Aenderung:
- 03.05.2016, Zesstra
+ 03.05.2016, Zesstra
diff --git a/doc/props/P_LAST_COMBAT_TIME b/doc/props/P_LAST_COMBAT_TIME
index b3df96d..941ec1e 100644
--- a/doc/props/P_LAST_COMBAT_TIME
+++ b/doc/props/P_LAST_COMBAT_TIME
@@ -1,23 +1,38 @@
-NAME:
- P_LAST_COMBAT_TIME "last_combat_time"
-DEFINIERT IN:
- /sys/combat.h
+P_LAST_COMBAT_TIME
+******************
-BESCHREIBUNG:
- In dieser Property wird genau die Zeit festgehalten, zu der ein
- Lebewesen zuletzt einen Angriff abgewehrt oder einen Angriff
- durchgefuehrt hat. Die Property enthaelt diese Information hierbei
- immer in Form eines Integerwertes.
- Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte, wann
- ein Lebewesen zuletzt gekaempft hat. Es ist beispielsweise nicht
- moeglich, waehrend oder auch unmittelbar nach einem Kampf den Befehl
- 'Ende' zu nutzen, da dies zur Flucht missbraucht werden kann. Dafuer
- wird der Wert der Property zuvor ausgewertet.
-SIEHE AUCH:
- P_LAST_DAMTIME, P_LAST_DAMAGE, P_LAST_DAMTYPES, Attack(), Defend(),
- /std/living/combat.c, /std/living/life.c
+NAME
+====
-----------------------------------------------------------------------------
+ P_LAST_COMBAT_TIME "last_combat_time"
+
+
+DEFINIERT IN
+============
+
+ /sys/combat.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property wird genau die Zeit festgehalten, zu der ein
+ Lebewesen zuletzt einen Angriff abgewehrt oder einen Angriff
+ durchgefuehrt hat. Die Property enthaelt diese Information hierbei
+ immer in Form eines Integerwertes.
+ Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte, wann
+ ein Lebewesen zuletzt gekaempft hat. Es ist beispielsweise nicht
+ moeglich, waehrend oder auch unmittelbar nach einem Kampf den Befehl
+ 'Ende' zu nutzen, da dies zur Flucht missbraucht werden kann. Dafuer
+ wird der Wert der Property zuvor ausgewertet.
+
+
+SIEHE AUCH
+==========
+
+ P_LAST_DAMTIME, P_LAST_DAMAGE, P_LAST_DAMTYPES, Attack(), Defend(),
+ /std/living/combat.c, /std/living/life.c
+
Last modified: Wed May 26 16:43:00 1999 by Patryn
diff --git a/doc/props/P_LAST_COMMAND_ENV b/doc/props/P_LAST_COMMAND_ENV
index 576e34d..40bd6a0 100644
--- a/doc/props/P_LAST_COMMAND_ENV
+++ b/doc/props/P_LAST_COMMAND_ENV
@@ -1,15 +1,30 @@
+
P_LAST_COMMAND_ENV
-NAME:
- P_LAST_COMMAND_ENV "last_command_env"
+******************
-DEFINIERT IN:
- /sys/player.h
-BESCHREIBUNG:
- Der Raum, in dem das letzte Kommando eingegeben wurde.
+NAME
+====
-BEMERKUNGEN:
- Keine echte Property, _query_last_command_env() ist
- in /std/players/command.c implementiert.
+ P_LAST_COMMAND_ENV "last_command_env"
+
+
+DEFINIERT IN
+============
+
+ /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+ Der Raum, in dem das letzte Kommando eingegeben wurde.
+
+
+BEMERKUNGEN
+===========
+
+ Keine echte Property, _query_last_command_env() ist
+ in /std/players/command.c implementiert.
14.Feb.2004 Gloinson
diff --git a/doc/props/P_LAST_CONTENT_CHANGE b/doc/props/P_LAST_CONTENT_CHANGE
index 0fa64bb..f128774 100644
--- a/doc/props/P_LAST_CONTENT_CHANGE
+++ b/doc/props/P_LAST_CONTENT_CHANGE
@@ -1,16 +1,32 @@
-NAME:
- P_LAST_CONTENT_CHANGE "last_content_change"
-DEFINIERT IN:
- /sys/properties.h
+P_LAST_CONTENT_CHANGE
+*********************
-BESCHREIBUNG:
- Wann wurde zum letzten Mal was ins Obj gestopft oder rausgenommen?
- Wichtig fuer den Weight-Cache
-ANMERKUNG:
- Die Property kann nur ueber QueryProp() und SetProp() ausgelesen bzw.
- gesetzt werden. Query() und Set() funktionieren *nicht*.
+NAME
+====
- Ausserdem fuehrt ein Setzen per SetProp() zu einer Erhoehung des
- Wertes um eins - unabhaengig vom gesetzten Wert.
+ P_LAST_CONTENT_CHANGE "last_content_change"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wann wurde zum letzten Mal was ins Obj gestopft oder rausgenommen?
+ Wichtig fuer den Weight-Cache
+
+
+ANMERKUNG
+=========
+
+ Die Property kann nur ueber QueryProp() und SetProp() ausgelesen bzw.
+ gesetzt werden. Query() und Set() funktionieren *nicht*.
+
+ Ausserdem fuehrt ein Setzen per SetProp() zu einer Erhoehung des
+ Wertes um eins - unabhaengig vom gesetzten Wert.
diff --git a/doc/props/P_LAST_DAMAGE b/doc/props/P_LAST_DAMAGE
index 8d618b1..66388b7 100644
--- a/doc/props/P_LAST_DAMAGE
+++ b/doc/props/P_LAST_DAMAGE
@@ -1,22 +1,37 @@
-NAME:
- P_LAST_DAMAGE "last_damage"
-DEFINIERT IN:
- /sys/living/combat.h
+P_LAST_DAMAGE
+*************
-BESCHREIBUNG:
- In dieser Property wird genau die Schadensstaerke festgehalten,
- welche ein Lebewesen zuletzt abbekommen hat. Die Property enthaelt
- diese Information hierbei immer in Form eines Integerwertes.
- Auch die Staerke des Giftschadens durch die Wirkung einer Vergiftung
- wird hier festgehalten.
- Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte,
- welche Schadensstaerke nach Einwirkung von Defendern, Ruestung,
- Hooks und Skills uebriggeblieben ist.
-SIEHE AUCH:
- P_LAST_DAMTIME, P_LAST_DAMTYPES, Defend(),
- /std/living/combat.c, /std/living/life.c
+NAME
+====
-----------------------------------------------------------------------------
+ P_LAST_DAMAGE "last_damage"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property wird genau die Schadensstaerke festgehalten,
+ welche ein Lebewesen zuletzt abbekommen hat. Die Property enthaelt
+ diese Information hierbei immer in Form eines Integerwertes.
+ Auch die Staerke des Giftschadens durch die Wirkung einer Vergiftung
+ wird hier festgehalten.
+ Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte,
+ welche Schadensstaerke nach Einwirkung von Defendern, Ruestung,
+ Hooks und Skills uebriggeblieben ist.
+
+
+SIEHE AUCH
+==========
+
+ P_LAST_DAMTIME, P_LAST_DAMTYPES, Defend(),
+ /std/living/combat.c, /std/living/life.c
+
Last modified: Tue Jan 26 12:34:29 1999 by Patryn
diff --git a/doc/props/P_LAST_DAMTIME b/doc/props/P_LAST_DAMTIME
index 72ffb51..7e6d0ea 100644
--- a/doc/props/P_LAST_DAMTIME
+++ b/doc/props/P_LAST_DAMTIME
@@ -1,22 +1,37 @@
-NAME:
- P_LAST_DAMTIME "last_damtime"
-DEFINIERT IN:
- /sys/living/combat.h
+P_LAST_DAMTIME
+**************
-BESCHREIBUNG:
- In dieser Property wird genau die Zeit festgehalten, zu der ein
- Lebewesen zuletzt einen Schaden abbekommen hat. Die Property
- enthaelt diese Information hierbei immer in Form eines
- Integerwertes.
- Auch der Zeitpunkt der Einwirkung von Giftschaden durch die Wirkung
- einer Vergiftung wird hier festgehalten.
- Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte, wann
- ein Lebewesen zuletzt verletzt wurde.
-SIEHE AUCH:
- P_LAST_COMBAT_TIME, P_LAST_DAMAGE, P_LAST_DAMTYPES, Defend(),
- /std/living/combat.c, /std/living/life.c
+NAME
+====
-----------------------------------------------------------------------------
+ P_LAST_DAMTIME "last_damtime"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property wird genau die Zeit festgehalten, zu der ein
+ Lebewesen zuletzt einen Schaden abbekommen hat. Die Property
+ enthaelt diese Information hierbei immer in Form eines
+ Integerwertes.
+ Auch der Zeitpunkt der Einwirkung von Giftschaden durch die Wirkung
+ einer Vergiftung wird hier festgehalten.
+ Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte, wann
+ ein Lebewesen zuletzt verletzt wurde.
+
+
+SIEHE AUCH
+==========
+
+ P_LAST_COMBAT_TIME, P_LAST_DAMAGE, P_LAST_DAMTYPES, Defend(),
+ /std/living/combat.c, /std/living/life.c
+
Last modified: Wed May 26 16:44:38 1999 by Patryn
diff --git a/doc/props/P_LAST_DAMTYPES b/doc/props/P_LAST_DAMTYPES
index 9d7b060..ecdf571 100644
--- a/doc/props/P_LAST_DAMTYPES
+++ b/doc/props/P_LAST_DAMTYPES
@@ -1,21 +1,36 @@
-NAME:
- P_LAST_DAMTYPES "last_damtypes"
-DEFINIERT IN:
- /sys/living/combat.h
+P_LAST_DAMTYPES
+***************
-BESCHREIBUNG:
- In dieser Property werden genau die Schadensarten festgehalten,
- welche ein Lebewesen zuletzt abbekommen hat. Die Property enthaelt
- diese Information hierbei immer in Form eines Arrays.
- Auch der Giftschaden durch die Wirkung einer Vergiftung wird hier
- festgehalten.
- Dieser Wert koennte z.B. wichtig sein, wenn man nach dem Tod eines
- Lebewesens feststellen moechte, durch was es umgekommen ist.
-SIEHE AUCH:
- P_LAST_DAMAGE, P_LAST_DAMTIME, Defend(),
- /std/living/combat.c, /std/living/life.c
+NAME
+====
-----------------------------------------------------------------------------
+ P_LAST_DAMTYPES "last_damtypes"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property werden genau die Schadensarten festgehalten,
+ welche ein Lebewesen zuletzt abbekommen hat. Die Property enthaelt
+ diese Information hierbei immer in Form eines Arrays.
+ Auch der Giftschaden durch die Wirkung einer Vergiftung wird hier
+ festgehalten.
+ Dieser Wert koennte z.B. wichtig sein, wenn man nach dem Tod eines
+ Lebewesens feststellen moechte, durch was es umgekommen ist.
+
+
+SIEHE AUCH
+==========
+
+ P_LAST_DAMAGE, P_LAST_DAMTIME, Defend(),
+ /std/living/combat.c, /std/living/life.c
+
Last modified: Tue Jan 26 12:34:29 1999 by Patryn
diff --git a/doc/props/P_LAST_DEATH_PROPS b/doc/props/P_LAST_DEATH_PROPS
index 712e04e..7249dad 100644
--- a/doc/props/P_LAST_DEATH_PROPS
+++ b/doc/props/P_LAST_DEATH_PROPS
@@ -1,18 +1,32 @@
-NAME:
- P_LAST_DEATH_PROPS "last_death_props"
-DEFINIERT IN:
- /sys/living/life.h
+P_LAST_DEATH_PROPS
+******************
-BESCHREIBUNG:
- Diese Property enthaelt nach dem Tod eines Spielers ein Mapping mit
- den Werte aller Properties, die im die() zurueckgesetzt werden.
- Auf diese Weise kann ein Objekt auch im NotifyPlayerDeath() noch
- auf die Werte zurueckgreifen, obwohl sie bereits geloescht sind.
+NAME
+====
- Folgende Properties werden so gesichert:
-
- P_POISON, P_FROG, P_ALCOHOL, P_DRINK, P_FOOD , P_BLIND, P_DEAF,
- P_MAX_HANDS, P_PARA, P_NO_REGENERATION , P_HP, P_SP, P_LAST_DEATH_TIME
+ P_LAST_DEATH_PROPS "last_death_props"
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt nach dem Tod eines Spielers ein Mapping mit
+ den Werte aller Properties, die im die() zurueckgesetzt werden.
+
+ Auf diese Weise kann ein Objekt auch im NotifyPlayerDeath() noch
+ auf die Werte zurueckgreifen, obwohl sie bereits geloescht sind.
+
+ Folgende Properties werden so gesichert:
+
+
+
+ P_POISON, P_FROG, P_ALCOHOL, P_DRINK, P_FOOD , P_BLIND, P_DEAF,
+ P_MAX_HANDS, P_PARA, P_NO_REGENERATION , P_HP, P_SP, P_LAST_DEATH_TIME
diff --git a/doc/props/P_LAST_DEATH_TIME b/doc/props/P_LAST_DEATH_TIME
index 71bd787..669e7a1 100644
--- a/doc/props/P_LAST_DEATH_TIME
+++ b/doc/props/P_LAST_DEATH_TIME
@@ -1,8 +1,21 @@
-NAME:
- P_LAST_DEATH_TIME "last_death_time"
-DEFINIERT IN:
- /sys/living/life.h
+P_LAST_DEATH_TIME
+*****************
-BESCHREIBUNG:
- Der Zeitpunkt des letzten Todes des Spielers.
+
+NAME
+====
+
+ P_LAST_DEATH_TIME "last_death_time"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Der Zeitpunkt des letzten Todes des Spielers.
diff --git a/doc/props/P_LAST_LOGIN b/doc/props/P_LAST_LOGIN
index 9287654..4ad7360 100644
--- a/doc/props/P_LAST_LOGIN
+++ b/doc/props/P_LAST_LOGIN
@@ -1,16 +1,35 @@
-NAME:
- P_LAST_LOGIN "last_login"
-DEFINIERT IN:
- /sys/player/base.h
+P_LAST_LOGIN
+************
-BESCHREIBUNG:
- Zeitpunkt des letzten Logins
-BEMERKUNGEN:
- Gegen aeussere Aenderung und Set/QueryMethoden geschuetzt.
+NAME
+====
-SIEHE AUCH:
- P_LAST_LOGOUT, save_me
+ P_LAST_LOGIN "last_login"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Zeitpunkt des letzten Logins
+
+
+BEMERKUNGEN
+===========
+
+ Gegen aeussere Aenderung und Set/QueryMethoden geschuetzt.
+
+
+SIEHE AUCH
+==========
+
+ P_LAST_LOGOUT, save_me
28. Jan 2013 Gloinson
diff --git a/doc/props/P_LAST_LOGOUT b/doc/props/P_LAST_LOGOUT
index 296ae92..e94e89e 100644
--- a/doc/props/P_LAST_LOGOUT
+++ b/doc/props/P_LAST_LOGOUT
@@ -1,20 +1,39 @@
-NAME:
- P_LAST_LOGOUT "last_logout"
-DEFINIERT IN:
- /sys/player/base.h
+P_LAST_LOGOUT
+*************
-BESCHREIBUNG:
- Zeitpunkt des letzten Logouts. Anhand dieser Zeit werden die Feindes-
- listen und in Abwesenheit eingefuegte Gegenstaende aktualisiert.
- Dieses Datum wird bei Magiern nicht aktualisiert, wenn sie unsichtbar
- sind/sich unsichtbar ausloggen.
+NAME
+====
-BEMERKUNGEN:
- Gegen aeussere Aenderung und Set/QueryMethoden geschuetzt.
+ P_LAST_LOGOUT "last_logout"
-SIEHE AUCH:
- P_LAST_LOGIN, P_INVIS, save_me, init, StopHuntFor
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Zeitpunkt des letzten Logouts. Anhand dieser Zeit werden die Feindes-
+ listen und in Abwesenheit eingefuegte Gegenstaende aktualisiert.
+
+ Dieses Datum wird bei Magiern nicht aktualisiert, wenn sie unsichtbar
+ sind/sich unsichtbar ausloggen.
+
+
+BEMERKUNGEN
+===========
+
+ Gegen aeussere Aenderung und Set/QueryMethoden geschuetzt.
+
+
+SIEHE AUCH
+==========
+
+ P_LAST_LOGIN, P_INVIS, save_me, init, StopHuntFor
28. Jan 2013 Gloinson
diff --git a/doc/props/P_LAST_MOVE b/doc/props/P_LAST_MOVE
index 6b202a2..f6c974a 100644
--- a/doc/props/P_LAST_MOVE
+++ b/doc/props/P_LAST_MOVE
@@ -1,21 +1,36 @@
-NAME:
- P_LAST_MOVE "last_move"
-DEFINIERT IN:
- /sys/thing/moving.h
+P_LAST_MOVE
+***********
-BESCHREIBUNG:
- In dieser Property wird die Zeit der letzten Bewegung eines
- Lebewesens festgehalten. Selbsterklaerend ist auch der dazugehoerige
- Quellcode innerhalb move() in '/std/living/moving.c':
- SetProp(P_LAST_MOVE,time());
- Wichtig ist diese Property insbesondere fuer die Unterbindung von
- Rein-Angriff-Raus-Taktiken. Dieser Modus ist standardmaessig in jedem
- NPC aktiviert und kann ueber die Property P_ENABLE_IN_ATTACK_OUT
- ausgeschalten werden.
-SIEHE AUCH:
- move(), time(), P_ENABLE_IN_ATTACK_OUT, /std/living/moving.c
+NAME
+====
------------------------------------------------------------------------------
+ P_LAST_MOVE "last_move"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property wird die Zeit der letzten Bewegung eines
+ Lebewesens festgehalten. Selbsterklaerend ist auch der dazugehoerige
+ Quellcode innerhalb move() in '/std/living/moving.c':
+ SetProp(P_LAST_MOVE,time());
+ Wichtig ist diese Property insbesondere fuer die Unterbindung von
+ Rein-Angriff-Raus-Taktiken. Dieser Modus ist standardmaessig in jedem
+ NPC aktiviert und kann ueber die Property P_ENABLE_IN_ATTACK_OUT
+ ausgeschalten werden.
+
+
+SIEHE AUCH
+==========
+
+ move(), time(), P_ENABLE_IN_ATTACK_OUT, /std/living/moving.c
+
Last modified: Sat Jan 30 12:53:00 1999 by Patryn
diff --git a/doc/props/P_LAST_USE b/doc/props/P_LAST_USE
index 5ca875d..57519c9 100644
--- a/doc/props/P_LAST_USE
+++ b/doc/props/P_LAST_USE
@@ -1,20 +1,33 @@
+
P_LAST_USE
+**********
-NAME:
- P_LAST_USE "last_use"
-DEFINIERT IN:
- <properties.h>
+NAME
+====
-BESCHREIBUNG:
- Diese Property wird in Ruestungen und Waffen dazu benutzt um
- festzuhalten, wann die Ruestung/Waffe zuletzt im Kampf benutzt
- wurde.
+ P_LAST_USE "last_use"
-SIEHE AUCH:
- Ruestungen: QueryDefend(L)
- Waffen: QueryDamage(L)
- Sonstiges: P_EQUIP_TIME, P_UNWIELD_TIME
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ <properties.h>
+
+
+BESCHREIBUNG
+============
+
+ Diese Property wird in Ruestungen und Waffen dazu benutzt um
+ festzuhalten, wann die Ruestung/Waffe zuletzt im Kampf benutzt
+ wurde.
+
+
+SIEHE AUCH
+==========
+
+ Ruestungen: QueryDefend(L)
+ Waffen: QueryDamage(L)
+ Sonstiges: P_EQUIP_TIME, P_UNWIELD_TIME
+
Last modified: Fri Feb 06 10:15:00 1998 by Paracelsus
diff --git a/doc/props/P_LAST_WEAR_ACTION b/doc/props/P_LAST_WEAR_ACTION
index 1a4d224..5531955 100644
--- a/doc/props/P_LAST_WEAR_ACTION
+++ b/doc/props/P_LAST_WEAR_ACTION
@@ -1,24 +1,31 @@
-PROPERTY:
- P_LAST_WEAR_ACTION "last_wear_action"
+P_LAST_WEAR_ACTION
+******************
-DEFINIERT IN:
- /sys/armour.h (und damit auch in properties.h)
+PROPERTY
+========
-BESCHREIBUNG:
+ P_LAST_WEAR_ACTION "last_wear_action"
- Diese Prop gibt an, welche An/Auszieh-Aktion ein Spieler zuletzt
- durchgefuehrt hat. Sie ist ein zweielementiges Array, wobei der
- erste Eintrag angibt, ob der Spieler sich an- oder ausgezogen
- hat (WA_WEAR, WA_UNWEAR, auch in armour.h definiert) und der
- zweite den Zeitpunkt.
+DEFINIERT IN:
- Die Property wird (unter anderem?) dafuer verwendet festzustellen ob
- der Spieler in der letzten Runde schon einen Ruestungswechsel
- vorgenommen hat und einen entgegengesetzten zu unterbinden.
+ /sys/armour.h (und damit auch in properties.h)
-LETZTE AENDERUNG:
+
+BESCHREIBUNG
+============
+
+ Diese Prop gibt an, welche An/Auszieh-Aktion ein Spieler zuletzt
+ durchgefuehrt hat. Sie ist ein zweielementiges Array, wobei der
+ erste Eintrag angibt, ob der Spieler sich an- oder ausgezogen
+ hat (WA_WEAR, WA_UNWEAR, auch in armour.h definiert) und der
+ zweite den Zeitpunkt.
+
+ Die Property wird (unter anderem?) dafuer verwendet festzustellen ob
+ der Spieler in der letzten Runde schon einen Ruestungswechsel
+ vorgenommen hat und einen entgegengesetzten zu unterbinden.
+
+LETZTE AENDERUNG:
2003-01-29, 17:30 von Humni
-
diff --git a/doc/props/P_LAST_XP b/doc/props/P_LAST_XP
index e5ee055..c31a8b4 100644
--- a/doc/props/P_LAST_XP
+++ b/doc/props/P_LAST_XP
@@ -1,27 +1,43 @@
-NAME:
- P_LAST_XP "last_xp"
-DEFINIERT IN:
- /sys/living/life.h
+P_LAST_XP
+*********
-BESCHREIBUNG:
- Ein Array vom Typ ({ pfad, xp }).
- Der Eintrag "pfad" gibt das Gebiet an, in dem ein Spieler zuletzt XP
- bekommen hat. Dabei wird aus "/d/ebene/magier/room/raum1.c" dann
- "/d/ebene/magier/room".
+NAME
+====
- Der Wert "xp" zeigt an, wieviele XP der Spieler _in diesem Gebiet_
- gesammelt hat. Sobald er auch nur einen XP in einem anderen Gebiet
- bekommt, zeigt P_LAST_XP nur noch diesen neu erhaltenen XP an.
+ P_LAST_XP "last_xp"
- Der Anwendungszweck waere z.B. eine Heilstelle, die nur dann Wirkung
- zeigt, wenn der Spieler wirklich in dem betreffenden Gebiet gemetzelt hat
- und nicht nur zum Tanken hergerannt ist oder eine Unterscheidung, ob
- jemand metzelt oder nur uebt (ueber die XP).
-SIEHE AUCH:
- Funktionen: AddExp()
- Verwandt: P_NO_XP, P_XP
+DEFINIERT IN
+============
-14.Feb 2007 Gloinson
\ No newline at end of file
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Ein Array vom Typ ({ pfad, xp }).
+
+ Der Eintrag "pfad" gibt das Gebiet an, in dem ein Spieler zuletzt XP
+ bekommen hat. Dabei wird aus "/d/ebene/magier/room/raum1.c" dann
+ "/d/ebene/magier/room".
+
+ Der Wert "xp" zeigt an, wieviele XP der Spieler _in diesem Gebiet_
+ gesammelt hat. Sobald er auch nur einen XP in einem anderen Gebiet
+ bekommt, zeigt P_LAST_XP nur noch diesen neu erhaltenen XP an.
+
+ Der Anwendungszweck waere z.B. eine Heilstelle, die nur dann Wirkung
+ zeigt, wenn der Spieler wirklich in dem betreffenden Gebiet gemetzelt hat
+ und nicht nur zum Tanken hergerannt ist oder eine Unterscheidung, ob
+ jemand metzelt oder nur uebt (ueber die XP).
+
+
+SIEHE AUCH
+==========
+
+ Funktionen: AddExp()
+ Verwandt: P_NO_XP, P_XP
+
+14.Feb 2007 Gloinson
diff --git a/doc/props/P_LEAVECMDS b/doc/props/P_LEAVECMDS
index e31cf8a..5b0e03c 100644
--- a/doc/props/P_LEAVECMDS
+++ b/doc/props/P_LEAVECMDS
@@ -1,32 +1,56 @@
-NAME:
- P_LEAVECMDS "leavecmds"
-DEFINIERT IN:
- /sys/transport.h
+P_LEAVECMDS
+***********
-BESCHREIBUNG:
- Ein Array mit Befehlen, die zum Verlassen des Transporters fuehren.
-BEISPIEL:
- SetProp(P_LEAVECMDS,({ "verlass","verlasse" }) );
+NAME
+====
- Gibt der Spieler nun 'verlasse xxx' ein, so sorgt /std/transport.c
- dafuer, das der Spieler auch von oder aus dem Transporter bewegt
- wird. Vorausgesetzt natuerlich, er ist an einem Haltepunkt angelangt.
+ P_LEAVECMDS "leavecmds"
-BEMERKUNGEN:
- Um /std/transport.c nicht aufzublaehen, werden weitere Argumente wie
- etwa 'verlasse das|die|den xxx' _nicht_ unterstuetzt!
- Hier muss der verantwortliche Magier schon eine eigene Loesung finden
- und in seinen Transporter schreiben.
+DEFINIERT IN
+============
- Sollen Kommandos zum Betreten UND Verlassen eines Transporters ver-
- wendet werden koennen, muessen diese in P_TRAVEL_CMDS gesetzt werden.
+ /sys/transport.h
-SIEHE AUCH:
- P_LEAVEFAIL, P_ENTERFAIL, P_ENTERCMDS, P_TRAVEL_CMDS, transporter,
-LETZTE AENDERUNG:
- Don, 24.01.2002, 10:15:07h von Tilly
-
\ No newline at end of file
+BESCHREIBUNG
+============
+
+ Ein Array mit Befehlen, die zum Verlassen des Transporters fuehren.
+
+
+BEISPIEL
+========
+
+ SetProp(P_LEAVECMDS,({ "verlass","verlasse" }) );
+
+ Gibt der Spieler nun 'verlasse xxx' ein, so sorgt /std/transport.c
+ dafuer, das der Spieler auch von oder aus dem Transporter bewegt
+ wird. Vorausgesetzt natuerlich, er ist an einem Haltepunkt angelangt.
+
+
+BEMERKUNGEN
+===========
+
+ Um /std/transport.c nicht aufzublaehen, werden weitere Argumente wie
+ etwa 'verlasse das|die|den xxx' _nicht_ unterstuetzt!
+
+ Hier muss der verantwortliche Magier schon eine eigene Loesung finden
+ und in seinen Transporter schreiben.
+
+ Sollen Kommandos zum Betreten UND Verlassen eines Transporters ver-
+ wendet werden koennen, muessen diese in P_TRAVEL_CMDS gesetzt werden.
+
+
+SIEHE AUCH
+==========
+
+ P_LEAVEFAIL, P_ENTERFAIL, P_ENTERCMDS, P_TRAVEL_CMDS, transporter,
+
+
+LETZTE AENDERUNG
+================
+
+ Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_LEAVEFAIL b/doc/props/P_LEAVEFAIL
index a54b4a1..88e92ea 100644
--- a/doc/props/P_LEAVEFAIL
+++ b/doc/props/P_LEAVEFAIL
@@ -1,26 +1,48 @@
-NAME:
- P_LEAVEFAIL "leavefail"
-DEFINIERT IN:
- /sys/transport.h
+P_LEAVEFAIL
+***********
-BESCHREIBUNG:
- Meldung an den Spieler, wenn er ausserhalb der Anlegezeiten einen
- Transporter verlassen will. Ist die Propertie ein Array, so wird
- das erste Element als Meldung an den Spieler, das zweite als
- Meldung an die Mitspieler im Transporter geschickt. Ist der Eintrag
- dagegen ein simpler String, so wird die Meldung nur an den Spieler
- ausgegeben.
-BEISPIEL:
- SetProp(P_LEAVEFAIL, "Die Wildgaense fliegen viel zu hoch" );
+NAME
+====
- SetProp(P_LEAVEFAIL, ({ "Die Wildgaense fliegen viel zu hoch",
- "versucht, vom Ruecken der Wildgans zu "
- +"klettern und besinnt sich dann doch" }) );
-
-SIEHE AUCH:
- P_LEAVEMSG, P_ENTERMSG, P_ENTERFAIL, transporter
+ P_LEAVEFAIL "leavefail"
-LETZTE AENDERUNG:
- Don, 24.01.2002, 10:15:07h von Tilly
+
+DEFINIERT IN
+============
+
+ /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Spieler, wenn er ausserhalb der Anlegezeiten einen
+ Transporter verlassen will. Ist die Propertie ein Array, so wird
+ das erste Element als Meldung an den Spieler, das zweite als
+ Meldung an die Mitspieler im Transporter geschickt. Ist der Eintrag
+ dagegen ein simpler String, so wird die Meldung nur an den Spieler
+ ausgegeben.
+
+
+BEISPIEL
+========
+
+ SetProp(P_LEAVEFAIL, "Die Wildgaense fliegen viel zu hoch" );
+
+ SetProp(P_LEAVEFAIL, ({ "Die Wildgaense fliegen viel zu hoch",
+ "versucht, vom Ruecken der Wildgans zu "
+ +"klettern und besinnt sich dann doch" }) );
+
+
+SIEHE AUCH
+==========
+
+ P_LEAVEMSG, P_ENTERMSG, P_ENTERFAIL, transporter
+
+
+LETZTE AENDERUNG
+================
+
+ Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_LEAVEMSG b/doc/props/P_LEAVEMSG
index 592bbc4..a3a1baf 100644
--- a/doc/props/P_LEAVEMSG
+++ b/doc/props/P_LEAVEMSG
@@ -1,19 +1,38 @@
-NAME:
- P_LEAVEMSG "leavemsg"
-DEFINIERT IN:
- /sys/transport.h
+P_LEAVEMSG
+**********
-BESCHREIBUNG:
- Array mit zwei Meldungen. Der erste Eintrag wird an den Transporter
- ausgegeben, der zweite an den Raum in den der Spieler kommt.
-BEISPIEL:
- SetProp(P_LEAVEMSG, ({ "klettert vom Ruecken der Wildgans",
- "kommt vom Ruecken einer Wildgans herunter" }) );
+NAME
+====
-SIEHE AUCH:
- P_ENTERMSG, P_LEAVEFAIL, P_ENTERFAIL, transporter
+ P_LEAVEMSG "leavemsg"
-LETZTE AENDERUNG:
- Don, 24.01.2002, 10:15:07h von Tilly
+
+DEFINIERT IN
+============
+
+ /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+ Array mit zwei Meldungen. Der erste Eintrag wird an den Transporter
+ ausgegeben, der zweite an den Raum in den der Spieler kommt.
+
+
+BEISPIEL
+========
+
+ SetProp(P_LEAVEMSG, ({ "klettert vom Ruecken der Wildgans",
+ "kommt vom Ruecken einer Wildgans herunter" }) );
+
+SIEHE AUCH:
+ P_ENTERMSG, P_LEAVEFAIL, P_ENTERFAIL, transporter
+
+
+LETZTE AENDERUNG
+================
+
+ Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_LEP b/doc/props/P_LEP
index 7628b1c..dbcea68 100644
--- a/doc/props/P_LEP
+++ b/doc/props/P_LEP
@@ -1,9 +1,22 @@
-NAME:
- P_LEP "lep"
-DEFINIERT IN:
- /sys/player.h
+P_LEP
+*****
-BESCHREIBUNG:
- Levelpunkte eines Spielers
- NICHT VON HAND SETZEN!!!
+
+NAME
+====
+
+ P_LEP "lep"
+
+
+DEFINIERT IN
+============
+
+ /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+ Levelpunkte eines Spielers
+ NICHT VON HAND SETZEN!!!
diff --git a/doc/props/P_LEVEL b/doc/props/P_LEVEL
index 40be5d0..a4b804c 100644
--- a/doc/props/P_LEVEL
+++ b/doc/props/P_LEVEL
@@ -1,33 +1,48 @@
-NAME:
- P_LEVEL "level"
-DEFINIERT IN:
- /sys/living/description.h
+P_LEVEL
+*******
-BESCHREIBUNG:
- Spieler-Level (!= Magierlevel)
+NAME
+====
- In Krankheits- (CL_DISEASE) und Giftobjekten (CL_POISON) drueckt
- P_LEVEL aus, wie schwer die Krankheit/das Gift ist. Je nachdem, wie
- hoch oder niedrig der Level gesetzt wird, muss z.B. ein Kleriker mehr
- oder weniger oft kurieren, um eine (ggf. stufenweise) Heilung zu
- bewirken.
+ P_LEVEL "level"
- In Fluchobjekten (CL_CURSE) gibt P_LEVEL ebenfalls die Schwere des
- Fluches an, jedoch ist hier zu beachten, dass z.B. Kleriker aktuell
- keine stufenweise Schwaechung bewirken koennen, sondern entweder den
- Fluch entfernen koennen oder komplett scheitern.
- Der Fluchlevel ist hier grob als Chance des Scheiterns in einem
- Wertebereich von 1-100 zu sehen, was bedeutet, dass ein Fluchlevel
- von 100 als permanenter, nicht entfernbarer Fluch anzusehen ist.
- Genaueres ist in der Klerusgilde nachzulesen oder beim GM Klerus zu
- erfragen.
+DEFINIERT IN
+============
-SIEHE AUCH:
- Properties: P_GUILD_LEVEL
- Allgemeines: /doc/wiz/gift, /doc/help/gift
- Funktionen: AddClass(L), is_class_member(L)
+ /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+ Spieler-Level (!= Magierlevel)
+
+ In Krankheits- (CL_DISEASE) und Giftobjekten (CL_POISON) drueckt
+ P_LEVEL aus, wie schwer die Krankheit/das Gift ist. Je nachdem, wie
+ hoch oder niedrig der Level gesetzt wird, muss z.B. ein Kleriker mehr
+ oder weniger oft kurieren, um eine (ggf. stufenweise) Heilung zu
+ bewirken.
+
+ In Fluchobjekten (CL_CURSE) gibt P_LEVEL ebenfalls die Schwere des
+ Fluches an, jedoch ist hier zu beachten, dass z.B. Kleriker aktuell
+ keine stufenweise Schwaechung bewirken koennen, sondern entweder den
+ Fluch entfernen koennen oder komplett scheitern.
+ Der Fluchlevel ist hier grob als Chance des Scheiterns in einem
+ Wertebereich von 1-100 zu sehen, was bedeutet, dass ein Fluchlevel
+ von 100 als permanenter, nicht entfernbarer Fluch anzusehen ist.
+
+ Genaueres ist in der Klerusgilde nachzulesen oder beim GM Klerus zu
+ erfragen.
+
+
+SIEHE AUCH
+==========
+
+ Properties: P_GUILD_LEVEL
+ Allgemeines: /doc/wiz/gift, /doc/help/gift
+ Funktionen: AddClass(L), is_class_member(L)
Letzte Aenderung: 2015-Feb-02, Arathorn.
diff --git a/doc/props/P_LIFETIME b/doc/props/P_LIFETIME
index 250c287..4c76f14 100644
--- a/doc/props/P_LIFETIME
+++ b/doc/props/P_LIFETIME
@@ -1,30 +1,51 @@
-NAME:
- P_LIFETIME "std_food_lifetime"
-
-DEFINIERT IN:
- /sys/food.h
-
-BESCHREIBUNG:
- Zeit in Sekunden, die die Speise haltbar ist.
- Mit Setzen dieser Property wird der Wert fuer P_RESET_LIFETIME und
- dort gespeichert.
- Nach dieser Zeit wird diese Speise schlecht und je nach Konfiguration
- der Speise eventuell zerstoert. Sichergestellt wird dies durch den
- Aufruf von reset() nach dieser Anzahl Sekunden.
- Moechte man eine Speise haben, die niemals verdirbt
- (genehmigungspflichtig!), nutzt man die Property P_NO_BAD
-
-BEMERKUNGEN:
- Sobald der Countdown zum Schlechtwerden der Speise laeuft, also ein
- Spieler damit in Beruehrung kam, zeigt SetProp auf diese Property keine
- Wirkung mehr.
-
-DEFAULT:
- Ohne Setzen von P_LIFETIME ,P_RESET_LIFETIME und P_NO_BAD verdirbt die
- Speise nach einem Reset, also zwischen 30 und 60 Minuten
-
-SIEHE AUCH:
- wiz/food, P_RESET_LIFETIME, P_NO_BAD
-
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+P_LIFETIME
+**********
+
+
+NAME
+====
+
+ P_LIFETIME "std_food_lifetime"
+
+
+DEFINIERT IN
+============
+
+ /sys/food.h
+
+
+BESCHREIBUNG
+============
+
+ Zeit in Sekunden, die die Speise haltbar ist.
+ Mit Setzen dieser Property wird der Wert fuer P_RESET_LIFETIME und
+ dort gespeichert.
+ Nach dieser Zeit wird diese Speise schlecht und je nach Konfiguration
+ der Speise eventuell zerstoert. Sichergestellt wird dies durch den
+ Aufruf von reset() nach dieser Anzahl Sekunden.
+ Moechte man eine Speise haben, die niemals verdirbt
+ (genehmigungspflichtig!), nutzt man die Property P_NO_BAD
+
+
+BEMERKUNGEN
+===========
+
+ Sobald der Countdown zum Schlechtwerden der Speise laeuft, also ein
+ Spieler damit in Beruehrung kam, zeigt SetProp auf diese Property keine
+ Wirkung mehr.
+
+
+DEFAULT
+=======
+
+ Ohne Setzen von P_LIFETIME ,P_RESET_LIFETIME und P_NO_BAD verdirbt die
+ Speise nach einem Reset, also zwischen 30 und 60 Minuten
+
+
+SIEHE AUCH
+==========
+
+ wiz/food, P_RESET_LIFETIME, P_NO_BAD
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_LIGHT b/doc/props/P_LIGHT
index 251e927..d0b55d8 100644
--- a/doc/props/P_LIGHT
+++ b/doc/props/P_LIGHT
@@ -1,62 +1,81 @@
-NAME:
- P_LIGHT "light"
-DEFINIERT IN:
- /sys/properties.h
+P_LIGHT
+*******
-BESCHREIBUNG:
- Gibt den Lichtlevel eines Objektes an, d.h. wie hell das Objekt von sich
- aus leuchtet. Moechte man den gesamten Lichtlevel haben der von einem
- Objekt ausgeht, so sollte man P_TOTAL_LIGHT nehmen, das den Inhalt eines
- Containers direkt mit verrechnet.
- Bitte _nur_ ueber SetProp bzw. QueryProp zugreifen, da es fuer die
- Berechnung wichtig ist, das in allen Containern P_LAST_CONTENT_CHANGE
- gesetzt wird um ein neuberechnen des Lichtlevels auszuloesen!
+NAME
+====
-ANMERKUNG:
- Um ein ungefaehres Gefuehl davon zu bekommen was ein Lichtlevel in
- etwa bedeutet hier einige allgemeine Beispiele von Gegenstaenden.
- Grundsaetzlich sollten Lichtlevel <0 und >2 nur in Ruecksprache mit dem
- Balanceteam benutzt werden.
+ P_LIGHT "light"
- Lichtlevel -1, z.B. ein schwarzer Ring, von dem eine kleine dunkle Aura
- ausgeht, die den Spieler umgibt.
- Lichtlevel 0, der Gegenstand beeinflusst das Licht ueberhaupt nicht
- Lichtlevel 1, der Spieler haelt eine kleine Lichtquelle in Haenden,
- dieses kann ein Leuchtpfirsich, eine Fackel oder ein
- Feuerschwert oder aehnliches sein.
- Lichtlevel 2, eine etwas groessere Lichtquelle, die aber immer noch
- nicht den Raum beleuchtet sondern lediglich dem Spieler
- einen Lichtschein gewaehrt mit dem er sehen kann.
- Lichtlevel >2, extrem helle Lichtquellen, die den gesamten Raum
- ausleuchten, in der Regel wohl eher magischer Natur.
- Solche Lichtquellen sollten sich mit der Zeit
- verbrauchen, dem Spieler Schaden zufuegen oder
- aehnliches, damit die Spieler nicht defaultmaessig mit
- einer solchen Lichtquelle durchs MG ziehn.
- Daraus ergeben sich dann folgende Konsequenzen fuer Raeume:
- Lichtlevel >1: Der Raum ist sehr hell erleuchtet und kann von Spielern
- nicht oder nur sehr schwer abgedunkelt werden. Ein Wert
- von 2-3 kann interessant sein, wenn die NPCs im Raum
- ueber keine Nachtsicht verfuegen. Ueber ein Abdunkeln des
- Raumes kann der Spieler dann doch den Nachtkampf nutzen.
- Lichtlevel 1: Der Raum ist erleuchtet und die Spieler koennen ohne
- weitere Lichtquellen sehen...
- Lichtlevel 0: Ein dunkler Raum in dem man mit jeder Fackel sehen kann.
- Lichtlevel -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht
- um in diesem Raum etwas sehen zu koennen.
- Lichtlevel -2: Man benoetigt schon eine besondere Lichtquelle um in
- diesem Raum noch etwas sehen zu koennen. Solche
- Lichtquellen sind nichts fuer Anfaenger oder mittlere
- Spieler da sie schwer zu beschaffen und in der Regel
- auch einige Handicaps haben.
- Lichtlevel <-2: Der Raum ist wirklich absolut stockduster und
- Lichtquellen die solch einen Raum ausleuchten koennen,
- sind ausserordentlich selten und haben immer ihre
- Tuecken. Diese Lichtlevel sollten nur mit Vorsicht
- genossen werden.
+DEFINIERT IN
+============
-SIEHE AUCH:
- P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Gibt den Lichtlevel eines Objektes an, d.h. wie hell das Objekt von sich
+ aus leuchtet. Moechte man den gesamten Lichtlevel haben der von einem
+ Objekt ausgeht, so sollte man P_TOTAL_LIGHT nehmen, das den Inhalt eines
+ Containers direkt mit verrechnet.
+
+ Bitte _nur_ ueber SetProp bzw. QueryProp zugreifen, da es fuer die
+ Berechnung wichtig ist, das in allen Containern P_LAST_CONTENT_CHANGE
+ gesetzt wird um ein neuberechnen des Lichtlevels auszuloesen!
+
+
+ANMERKUNG
+=========
+
+ Um ein ungefaehres Gefuehl davon zu bekommen was ein Lichtlevel in
+ etwa bedeutet hier einige allgemeine Beispiele von Gegenstaenden.
+ Grundsaetzlich sollten Lichtlevel <0 und >2 nur in Ruecksprache mit dem
+ Balanceteam benutzt werden.
+
+ Lichtlevel -1, z.B. ein schwarzer Ring, von dem eine kleine dunkle Aura
+ ausgeht, die den Spieler umgibt.
+ Lichtlevel 0, der Gegenstand beeinflusst das Licht ueberhaupt nicht
+ Lichtlevel 1, der Spieler haelt eine kleine Lichtquelle in Haenden,
+ dieses kann ein Leuchtpfirsich, eine Fackel oder ein
+ Feuerschwert oder aehnliches sein.
+ Lichtlevel 2, eine etwas groessere Lichtquelle, die aber immer noch
+ nicht den Raum beleuchtet sondern lediglich dem Spieler
+ einen Lichtschein gewaehrt mit dem er sehen kann.
+ Lichtlevel >2, extrem helle Lichtquellen, die den gesamten Raum
+ ausleuchten, in der Regel wohl eher magischer Natur.
+ Solche Lichtquellen sollten sich mit der Zeit
+ verbrauchen, dem Spieler Schaden zufuegen oder
+ aehnliches, damit die Spieler nicht defaultmaessig mit
+ einer solchen Lichtquelle durchs MG ziehn.
+
+ Daraus ergeben sich dann folgende Konsequenzen fuer Raeume:
+ Lichtlevel >1: Der Raum ist sehr hell erleuchtet und kann von Spielern
+ nicht oder nur sehr schwer abgedunkelt werden. Ein Wert
+ von 2-3 kann interessant sein, wenn die NPCs im Raum
+ ueber keine Nachtsicht verfuegen. Ueber ein Abdunkeln des
+ Raumes kann der Spieler dann doch den Nachtkampf nutzen.
+ Lichtlevel 1: Der Raum ist erleuchtet und die Spieler koennen ohne
+ weitere Lichtquellen sehen...
+ Lichtlevel 0: Ein dunkler Raum in dem man mit jeder Fackel sehen kann.
+ Lichtlevel -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht
+ um in diesem Raum etwas sehen zu koennen.
+ Lichtlevel -2: Man benoetigt schon eine besondere Lichtquelle um in
+ diesem Raum noch etwas sehen zu koennen. Solche
+ Lichtquellen sind nichts fuer Anfaenger oder mittlere
+ Spieler da sie schwer zu beschaffen und in der Regel
+ auch einige Handicaps haben.
+ Lichtlevel <-2: Der Raum ist wirklich absolut stockduster und
+ Lichtquellen die solch einen Raum ausleuchten koennen,
+ sind ausserordentlich selten und haben immer ihre
+ Tuecken. Diese Lichtlevel sollten nur mit Vorsicht
+ genossen werden.
+
+
+SIEHE AUCH
+==========
+
+ P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_LIGHTDESC b/doc/props/P_LIGHTDESC
index 5898db8..e8c52d1 100644
--- a/doc/props/P_LIGHTDESC
+++ b/doc/props/P_LIGHTDESC
@@ -1,34 +1,56 @@
-NAME:
- P_LIGHTDESC "lightdesc"
-DEFINIERT IN:
- /sys/properties.h
+P_LIGHTDESC
+***********
-BESCHREIBUNG:
- String oder Array von Strings mit Adjektiven, die das Leuchten der
- Lichtquelle beschreiben (z.B. leuchtend, brennend, gluehend).
- Standardmaessig ist die Property auf "brennend" gesetzt.
- Wenn ein Array angegeben wird, werden die Beschreibungen passend auf
- die Benndauer aufgeteilt und das zur aktuell noch vorhandenen Rest-
- Brenndauer passende Adjektiv ausgegeben. Das Array wird dabei rueck-
- aerts durchlaufen, d.h. fuer eine frisch entzuendete Lichtquelle wird
- der letzte Eintrag des Arrays verwendet (s. Beispiele).
+NAME
+====
-BEISPIELE:
- Eine einfache Oellampe:
+ P_LIGHTDESC "lightdesc"
- SetProp(P_LIGHTDESC, "angezuendet");
- Eine Fackel mit mehreren Brennstadien (aus /items/fackel.c):
+DEFINIERT IN
+============
- SetProp(P_LIGHTDESC, ({"glimmend","flackernd","leicht flackernd",
- "brennend","hell lodernd","frisch angezuendet"}));
+ /sys/properties.h
-SIEHE AUCH:
- Basisklassen: /std/lightsource.c
- Properties: P_FUEL, P_DO_DESTRUCT, P_LIGHT
- Methoden: AddFuel(L)
-LETZTE AENDERUNG:
- 22. Dez. 2015, Arathorn
+BESCHREIBUNG
+============
+
+ String oder Array von Strings mit Adjektiven, die das Leuchten der
+ Lichtquelle beschreiben (z.B. leuchtend, brennend, gluehend).
+ Standardmaessig ist die Property auf "brennend" gesetzt.
+
+ Wenn ein Array angegeben wird, werden die Beschreibungen passend auf
+ die Benndauer aufgeteilt und das zur aktuell noch vorhandenen Rest-
+ Brenndauer passende Adjektiv ausgegeben. Das Array wird dabei rueck-
+ aerts durchlaufen, d.h. fuer eine frisch entzuendete Lichtquelle wird
+ der letzte Eintrag des Arrays verwendet (s. Beispiele).
+
+
+BEISPIELE
+=========
+
+ Eine einfache Oellampe:
+
+ SetProp(P_LIGHTDESC, "angezuendet");
+
+ Eine Fackel mit mehreren Brennstadien (aus /items/fackel.c):
+
+ SetProp(P_LIGHTDESC, ({"glimmend","flackernd","leicht flackernd",
+ "brennend","hell lodernd","frisch angezuendet"}));
+
+
+SIEHE AUCH
+==========
+
+ Basisklassen: /std/lightsource.c
+ Properties: P_FUEL, P_DO_DESTRUCT, P_LIGHT
+ Methoden: AddFuel(L)
+
+
+LETZTE AENDERUNG
+================
+
+ 22. Dez. 2015, Arathorn
diff --git a/doc/props/P_LIGHTED b/doc/props/P_LIGHTED
index 9029b02..31d7709 100644
--- a/doc/props/P_LIGHTED
+++ b/doc/props/P_LIGHTED
@@ -1,8 +1,21 @@
-NAME:
- P_LIGHTED "lighted"
-DEFINIERT IN:
- /sys/properties.h
+P_LIGHTED
+*********
-BESCHREIBUNG:
- Flag, ob die Lichtquelle in Betrieb ist.
+
+NAME
+====
+
+ P_LIGHTED "lighted"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Flag, ob die Lichtquelle in Betrieb ist.
diff --git a/doc/props/P_LIGHT_ABSORPTION b/doc/props/P_LIGHT_ABSORPTION
index 213120f..4443a98 100644
--- a/doc/props/P_LIGHT_ABSORPTION
+++ b/doc/props/P_LIGHT_ABSORPTION
@@ -1,15 +1,31 @@
-NAME:
- P_LIGHT_ABSORPTION "light_absorption"
-DEFINIERT IN:
- /sys/room/description.h
+P_LIGHT_ABSORPTION
+******************
-BESCHREIBUNG:
- In Raeumen verteilt sich aufgrund ihrer Groesse das Licht und gerade in
- groesseren Raeumen kann eine kleine Fackel unter Umstaenden nicht mehr
- ausreichen den gesamten Raum auszuleuchten. In diesem Fall kann man
- ueber diese Property das Verhalten des Lichts steuern.
- Ein "normaler" durchschnittlicher Raum hat hier den Defaultwert 1.
-SIEHE AUCH:
- P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+NAME
+====
+
+ P_LIGHT_ABSORPTION "light_absorption"
+
+
+DEFINIERT IN
+============
+
+ /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+ In Raeumen verteilt sich aufgrund ihrer Groesse das Licht und gerade in
+ groesseren Raeumen kann eine kleine Fackel unter Umstaenden nicht mehr
+ ausreichen den gesamten Raum auszuleuchten. In diesem Fall kann man
+ ueber diese Property das Verhalten des Lichts steuern.
+ Ein "normaler" durchschnittlicher Raum hat hier den Defaultwert 1.
+
+
+SIEHE AUCH
+==========
+
+ P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_LIGHT_MODIFIER b/doc/props/P_LIGHT_MODIFIER
index 2409c79..c7741ee 100644
--- a/doc/props/P_LIGHT_MODIFIER
+++ b/doc/props/P_LIGHT_MODIFIER
@@ -1,49 +1,75 @@
-NAME:
- P_LIGHT_MODIFIER "light_modifier"
-DEFINIERT IN:
- /sys/properties.h
+P_LIGHT_MODIFIER
+****************
-BESCHREIBUNG:
- Veraendert das Lichtlevel das von einem Lebewesen wahrgenommen wird.
- Der Wert dieser Property wird additiv in P_PLAYER_LIGHT beruecksichtigt.
- Es ist hiermit z.B. moeglich eine Sonnenbrille zu programmieren, diese
- veraendert ja nicht das tatsaechliche Lichtlevel, sondern verdunkelt nur
- die Sicht.
-ANMERKUNG:
- Damit NPCs in der Lage sind solche Gegenstaende richtig einzuschaetzen,
- sollte diese Property in jedem Gegenstand der einen Light-Modifier setzt,
- auch gesetzt sein. Das veraendern dieser Property in Spielern durch NPCs
- oder Gegenstaende ist selbstverstaendlich genehmigungspflichtig.
+NAME
+====
-BEISPIELE:
- // Ein NPC der auch in relativ dunklen Raeumen mit Lichtlevel -2
- // noch sehen kann...
- create_default_npc(10);
- SetProp(P_LIGHT_MODIFIER, 3);
+ P_LIGHT_MODIFIER "light_modifier"
- // Eine Sonnenbrille, die das Lichtlevel um eins senkt.
- create()
- {
- :
- SetProp(P_ARMOUR_TYPE, AT_GLASSES);
- SetProp(P_LIGHT_MODIFIER, -1);
- :
- }
+DEFINIERT IN
+============
- // Achtung: Falls pl Query- oder Set-Methoden auf P_LIGHT_MODIFIER hat,
- // wird diese Methode hier furchtbar schief gehen und im besten Fall
- // nichts veraendern. In realen Objekten empfiehlt sich zumindest eine
- // Pruefung im Vorfeld, ob eine Query-/Set-Methode gesetzt ist.
- protected void InformWear(object pl, int silent, int all) {
- pl->SetProp(P_LIGHT_MODIFIER, pl->QueryProp(P_LIGHT_MODIFIER) -1);
- }
+ /sys/properties.h
- protected void InformUnwear(object pl, int silent, int all) {
- pl->SetProp(P_LIGHT_MODIFIER, pl->QueryProp(P_LIGHT_MODIFIER) +1);
- }
-SIEHE AUCH:
- P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+BESCHREIBUNG
+============
+
+ Veraendert das Lichtlevel das von einem Lebewesen wahrgenommen wird.
+ Der Wert dieser Property wird additiv in P_PLAYER_LIGHT beruecksichtigt.
+ Es ist hiermit z.B. moeglich eine Sonnenbrille zu programmieren, diese
+ veraendert ja nicht das tatsaechliche Lichtlevel, sondern verdunkelt nur
+ die Sicht.
+
+
+ANMERKUNG
+=========
+
+ Damit NPCs in der Lage sind solche Gegenstaende richtig einzuschaetzen,
+ sollte diese Property in jedem Gegenstand der einen Light-Modifier setzt,
+ auch gesetzt sein. Das veraendern dieser Property in Spielern durch NPCs
+ oder Gegenstaende ist selbstverstaendlich genehmigungspflichtig.
+
+
+BEISPIELE
+=========
+
+ // Ein NPC der auch in relativ dunklen Raeumen mit Lichtlevel -2
+ // noch sehen kann...
+ create_default_npc(10);
+ SetProp(P_LIGHT_MODIFIER, 3);
+
+ // Eine Sonnenbrille, die das Lichtlevel um eins senkt.
+
+ create()
+ {
+
+ :
+
+ SetProp(P_ARMOUR_TYPE, AT_GLASSES);
+ SetProp(P_LIGHT_MODIFIER, -1);
+
+ :
+
+ }
+
+ // Achtung: Falls pl Query- oder Set-Methoden auf P_LIGHT_MODIFIER hat,
+ // wird diese Methode hier furchtbar schief gehen und im besten Fall
+ // nichts veraendern. In realen Objekten empfiehlt sich zumindest eine
+ // Pruefung im Vorfeld, ob eine Query-/Set-Methode gesetzt ist.
+ protected void InformWear(object pl, int silent, int all) {
+ pl->SetProp(P_LIGHT_MODIFIER, pl->QueryProp(P_LIGHT_MODIFIER) -1);
+ }
+
+ protected void InformUnwear(object pl, int silent, int all) {
+ pl->SetProp(P_LIGHT_MODIFIER, pl->QueryProp(P_LIGHT_MODIFIER) +1);
+ }
+
+
+SIEHE AUCH
+==========
+
+ P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_LIGHT_TRANSPARENCY b/doc/props/P_LIGHT_TRANSPARENCY
index 4af4415..42d0d13 100644
--- a/doc/props/P_LIGHT_TRANSPARENCY
+++ b/doc/props/P_LIGHT_TRANSPARENCY
@@ -1,14 +1,30 @@
-NAME:
- P_LIGHT_TRANSPARENCY "light_transparency"
-DEFINIERT IN:
- /sys/container.h
+P_LIGHT_TRANSPARENCY
+********************
-BESCHREIBUNG:
- Wieviel Licht schluckt ein Container, d.h. wieviel Licht dringt aus
- einem Behaelter noch nach draussen. Bei Containern die _nicht_
- transparent sind, liefert eine _query_method hier immer 999 zurueck.
- Defaultmaessig steht diese Property auf 2.
-SIEHE AUCH:
- P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+NAME
+====
+
+ P_LIGHT_TRANSPARENCY "light_transparency"
+
+
+DEFINIERT IN
+============
+
+ /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+ Wieviel Licht schluckt ein Container, d.h. wieviel Licht dringt aus
+ einem Behaelter noch nach draussen. Bei Containern die _nicht_
+ transparent sind, liefert eine _query_method hier immer 999 zurueck.
+ Defaultmaessig steht diese Property auf 2.
+
+
+SIEHE AUCH
+==========
+
+ P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_LIGHT_TYPE b/doc/props/P_LIGHT_TYPE
index 07322e0..47abbf4 100644
--- a/doc/props/P_LIGHT_TYPE
+++ b/doc/props/P_LIGHT_TYPE
@@ -1,75 +1,106 @@
-NAME:
- P_LIGHT_TYPE "light_type"
-DEFINIERT IN:
- /sys/thing/description.h
-
-BESCHREIBUNG:
- Gibt an, was fuer ein Licht in einem Objekt vorherrscht.
-
- Es sind verschiedene 'atomare' Lichttypen, vordefiniert:
- LT_MISC Unbestimmt, keine Angaben.
-
- LT_SUN Sonnenlicht.
- LT_MOON Mondlicht
- LT_STARS Sternenlicht.
-
- LT_DIFFUSE Indirektes Tageslicht. (z.B. im Wald)
-
- LT_CANDLE Kerzenlicht.
- LT_TORCH Fackelschein.
- LT_OPEN_FIRE Sonstiges offenes Feuer. (Lagerfeuer etc.)
-
- LT_MAGIC Irgendeine magische Lichtquelle.
-
- LT_GLOWING Eine selbstleuchtende Lichtquelle.
-
- LT_DARKNESS Kein wirkliches Licht, aber auch Dunkelheit soll
- explizit gesetzt werden koennen.
-
- In einem Objekt koennen mehrere Lichttypen gesetzt werden. Dies
- geschieht durch logische Oder-Verknuepfungen, siehe man operators.
-
- Wenn in einem Raum mehr als ein Lichttyp gesetzt ist, bedeutet das,
- normalerweise, dass mehrere Lichtquellen verschiedenen Typs im Raum
- sind.
-
- Es gibt zudem noch Lichttypen, die zusammengesetzt sind:
-
- LT_DAYLIGHT Tageslicht (Sonne/Diffuse)
- LT_NATURAL Natuerliches Licht (Daylight/Sterne/Mond)
- LT_ARTIFICIAL Kuenstliches Licht (Magie/Feuer/Gluehen)
- LT_FIRE Feuer (Kerzen/Fackeln/offenes Feuer)
-
-BEISPIELE:
- Ein Objekt soll ein geheimnisvolles Gluehen von sich geben:
-
- objekt->SetProp( P_LIGHT_TYPE, LT_GLOWING )
-
- Soll ein Raum beschrieben werden, der durch Sternenlicht erhellt ist,
- in dem aber zusaetzlich noch ein Lagerfeuer brennt, sieht die Syntax
- folgendermassen aus:
-
- raum->SetProp( P_LIGHT_TYPE, LT_STARS|LT_OPEN_FIRE );
-
- Einer brennenden Hose kann der Lichttyp fuer offenes Feuer mitgegeben
- werden. Es muss jedoch nicht zwingend der Lichttyp fuer magische
- Lichtquellen benutzt werden. Es ist klar, dass es irgendwas mit Magie
- zu tun hat, wenn brennende Spieler durch die Gegend laufen, ohne zu
- schreien. P_LIGHT_TYPE sollte jedoch das fassbare Licht beschreiben.
- LT_MAGIC ist also eher eine Notloesung fuer Licht, dessen Ursache man
- nicht erklaeren kann.
+P_LIGHT_TYPE
+************
-ANMERKUNG:
- P_LIGHT_TYPE dient ausschliesslich der Beschreibung des Lichtes, das
- vorherrscht. Es ist nicht verbunden mit dem Lichtsystem, und soll es
- auch nicht werden.
+NAME
+====
- Die Empfindlichkeit der Dunkelelfen gegen Sonnenlicht wird ueber diese
- Property gesteuert. Soll ein Raum mit (P_INDOORS==0) so dunkel sein, dass
- sie nicht in Gefahr sind, sollten nicht LT_MISC oder LT_SUN gesetzt
- sein.
+ P_LIGHT_TYPE "light_type"
-SIEHE AUCH:
- CheckLightType, /std/thing/description.h, operators
+
+DEFINIERT IN
+============
+
+ /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+ Gibt an, was fuer ein Licht in einem Objekt vorherrscht.
+
+
+
+ Es sind verschiedene 'atomare' Lichttypen, vordefiniert:
+ LT_MISC Unbestimmt, keine Angaben.
+
+ LT_SUN Sonnenlicht.
+ LT_MOON Mondlicht
+ LT_STARS Sternenlicht.
+
+
+
+ LT_DIFFUSE Indirektes Tageslicht. (z.B. im Wald)
+
+ LT_CANDLE Kerzenlicht.
+ LT_TORCH Fackelschein.
+ LT_OPEN_FIRE Sonstiges offenes Feuer. (Lagerfeuer etc.)
+
+
+
+ LT_MAGIC Irgendeine magische Lichtquelle.
+
+ LT_GLOWING Eine selbstleuchtende Lichtquelle.
+
+ LT_DARKNESS Kein wirkliches Licht, aber auch Dunkelheit soll
+ explizit gesetzt werden koennen.
+
+ In einem Objekt koennen mehrere Lichttypen gesetzt werden. Dies
+ geschieht durch logische Oder-Verknuepfungen, siehe man operators.
+
+ Wenn in einem Raum mehr als ein Lichttyp gesetzt ist, bedeutet das,
+ normalerweise, dass mehrere Lichtquellen verschiedenen Typs im Raum
+ sind.
+
+ Es gibt zudem noch Lichttypen, die zusammengesetzt sind:
+
+ LT_DAYLIGHT Tageslicht (Sonne/Diffuse)
+ LT_NATURAL Natuerliches Licht (Daylight/Sterne/Mond)
+ LT_ARTIFICIAL Kuenstliches Licht (Magie/Feuer/Gluehen)
+ LT_FIRE Feuer (Kerzen/Fackeln/offenes Feuer)
+
+
+BEISPIELE
+=========
+
+ Ein Objekt soll ein geheimnisvolles Gluehen von sich geben:
+
+
+
+ objekt->SetProp( P_LIGHT_TYPE, LT_GLOWING )
+
+ Soll ein Raum beschrieben werden, der durch Sternenlicht erhellt ist,
+ in dem aber zusaetzlich noch ein Lagerfeuer brennt, sieht die Syntax
+ folgendermassen aus:
+
+
+
+ raum->SetProp( P_LIGHT_TYPE, LT_STARS|LT_OPEN_FIRE );
+
+ Einer brennenden Hose kann der Lichttyp fuer offenes Feuer mitgegeben
+ werden. Es muss jedoch nicht zwingend der Lichttyp fuer magische
+ Lichtquellen benutzt werden. Es ist klar, dass es irgendwas mit Magie
+ zu tun hat, wenn brennende Spieler durch die Gegend laufen, ohne zu
+ schreien. P_LIGHT_TYPE sollte jedoch das fassbare Licht beschreiben.
+ LT_MAGIC ist also eher eine Notloesung fuer Licht, dessen Ursache man
+ nicht erklaeren kann.
+
+
+ANMERKUNG
+=========
+
+ P_LIGHT_TYPE dient ausschliesslich der Beschreibung des Lichtes, das
+ vorherrscht. Es ist nicht verbunden mit dem Lichtsystem, und soll es
+ auch nicht werden.
+
+ Die Empfindlichkeit der Dunkelelfen gegen Sonnenlicht wird ueber diese
+ Property gesteuert. Soll ein Raum mit (P_INDOORS==0) so dunkel sein, dass
+ sie nicht in Gefahr sind, sollten nicht LT_MISC oder LT_SUN gesetzt
+ sein.
+
+
+SIEHE AUCH
+==========
+
+ CheckLightType, /std/thing/description.h, operators
diff --git a/doc/props/P_LIQUID b/doc/props/P_LIQUID
index 1631a8e..55672bb 100644
--- a/doc/props/P_LIQUID
+++ b/doc/props/P_LIQUID
@@ -1,8 +1,21 @@
-NAME:
- P_LIQUID "w_max_wasserfuellmenge"
-DEFINIERT IN:
- /sys/fishing.h
+P_LIQUID
+********
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_LIQUID "w_max_wasserfuellmenge"
+
+
+DEFINIERT IN
+============
+
+ /sys/fishing.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_LOCALCMDS b/doc/props/P_LOCALCMDS
index 5a7b515..02a3c2a 100644
--- a/doc/props/P_LOCALCMDS
+++ b/doc/props/P_LOCALCMDS
@@ -1,12 +1,25 @@
-NAME:
- P_LOCALCMDS "localcmds"
-DEFINIERT IN:
- /sys/properties.h
+P_LOCALCMDS
+***********
-BESCHREIBUNG:
- Ein Array von Arrays aller Befehle die im Spieler selbst definiert sind.
- ({ ({ "befehl", "funktion", flag, wizlevel }) })
- Wenn flag gesetzt ist werden nur die ersten Zeichen die auch in Befehl
- angegeben sind mit dem Verb ueberprueft. Siehe auch
- add_action("funktion", "befehl", 1) und AddCmd("befehl", "funktion", 1).
+
+NAME
+====
+
+ P_LOCALCMDS "localcmds"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Ein Array von Arrays aller Befehle die im Spieler selbst definiert sind.
+ ({ ({ "befehl", "funktion", flag, wizlevel }) })
+ Wenn flag gesetzt ist werden nur die ersten Zeichen die auch in Befehl
+ angegeben sind mit dem Verb ueberprueft. Siehe auch
+ add_action("funktion", "befehl", 1) und AddCmd("befehl", "funktion", 1).
diff --git a/doc/props/P_LOCATION b/doc/props/P_LOCATION
index 97344d8..cf2ed6c 100644
--- a/doc/props/P_LOCATION
+++ b/doc/props/P_LOCATION
@@ -1,19 +1,32 @@
-NAME:
- P_LOCATION "location"
-DEFINIERT IN:
- /sys/player/base.h
+P_LOCATION
+**********
-BESCHREIBUNG:
- Hier kann der Spieler mit dem Befehl "ort" den Ort setzen,
- von dem er kommt bzw. zu kommen glaubt ;)
- Um wieder den automatisch ermittelten Ort anzuzeigen, ist
- P_LOCATION auf 0 zu setzen.
-
-SIEHE AUCH:
- ort
-----------------------------------------------------------------------------
+NAME
+====
+
+ P_LOCATION "location"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Hier kann der Spieler mit dem Befehl "ort" den Ort setzen,
+ von dem er kommt bzw. zu kommen glaubt ;)
+ Um wieder den automatisch ermittelten Ort anzuzeigen, ist
+ P_LOCATION auf 0 zu setzen.
+
+
+SIEHE AUCH
+==========
+
+ ort
+
Last modified: Sat Jul 01 23:16:00 2000 by Mupfel
-
-
diff --git a/doc/props/P_LOG_INFO b/doc/props/P_LOG_INFO
index b6bd8dc..0ed186d 100644
--- a/doc/props/P_LOG_INFO
+++ b/doc/props/P_LOG_INFO
@@ -1,32 +1,55 @@
-NAME:
- P_LOG_INFO "log_info"
-DEFINIERT IN:
- /sys/properties.h
+P_LOG_INFO
+**********
-BESCHREIBUNG:
- Wenn diese Property gesetzt ist wird jede Frage, die ein
- Monster nicht beantworten kann, im Report-File des
- zustaendigen Magiers geloggt.
- Es ist jedoch auch moeglich, direkt einen Filenamen anzugeben.
- Bei diesen wird dann jedoch automatisch ein /log/ vorne angehaengt.
+NAME
+====
-BEISPIELE:
- SetProp(P_LOG_INFO,1); // Alle fehlenden Infos dieses
- Monsters werden in das Report-
- File unter /log/report/ gelogt.
+ P_LOG_INFO "log_info"
- SetProp(P_LOG_INFO,"tilly/opa"); // Alle fehlenden Infos dieses
- Monsters werden in das File
- monster unter /log/tilly/ ge-
- logt.
-BEMERKUNGEN:
- Bei nachtraeglich angeschlossenen Monstern empfiehlt sich Variante
- 2 der Beispiele. Ein muehsames Suchen (und Loeschen) der fehlenden
- Infos des Monsters im Report-File eruebrigt sich dann naemlich.
-SIEHE AUCH:
- P_LOG_FILE, write_file(), log_file(), AddInfo
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wenn diese Property gesetzt ist wird jede Frage, die ein
+ Monster nicht beantworten kann, im Report-File des
+ zustaendigen Magiers geloggt.
+
+ Es ist jedoch auch moeglich, direkt einen Filenamen anzugeben.
+ Bei diesen wird dann jedoch automatisch ein /log/ vorne angehaengt.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_LOG_INFO,1); // Alle fehlenden Infos dieses
+ Monsters werden in das Report-
+ File unter /log/report/ gelogt.
+
+ SetProp(P_LOG_INFO,"tilly/opa"); // Alle fehlenden Infos dieses
+ Monsters werden in das File
+ monster unter /log/tilly/ ge-
+ logt.
+
+
+BEMERKUNGEN
+===========
+
+ Bei nachtraeglich angeschlossenen Monstern empfiehlt sich Variante
+ 2 der Beispiele. Ein muehsames Suchen (und Loeschen) der fehlenden
+ Infos des Monsters im Report-File eruebrigt sich dann naemlich.
+
+
+SIEHE AUCH
+==========
+
+ P_LOG_FILE, write_file(), log_file(), AddInfo
Letzte Aenderung: 13.09.04 Tilly@MorgenGrauen
diff --git a/doc/props/P_LONG b/doc/props/P_LONG
index 04a3659..bad7968 100644
--- a/doc/props/P_LONG
+++ b/doc/props/P_LONG
@@ -1,29 +1,48 @@
+
P_LONG
-NAME:
- P_LONG "long"
+******
-DEFINIERT IN:
- <thing/description.h>
-BESCHREIBUNG:
- Die Langbeschreibung des Objektes als String oder Closure (diese muss
- einen String zurueckgeben). Die Langbeschreibung wird beim Untersuchen
- des Objektes ausgegeben. Sie sollte umgebrochen sein.
+NAME
+====
- Diese Property bestimmt die Ansicht des Objektes von aussen. Fuer die
- Innen(lang)ansicht von Raeumen muss man P_INT_LONG benutzen.
+ P_LONG "long"
-BEMERKUNGEN:
- - long() ("untersuche") filtert P_LONG durch process_string()
- -> daher sind Closures moeglich
-BEISPIELE:
+DEFINIERT IN
+============
- SetProp(P_LONG, "Diese Axt ist eine furchtbare Waffe!\n");
+ <thing/description.h>
-SIEHE AUCH:
- Aehnliches: P_SHORT, long()
- Sonstiges: P_INT_LONG, process_string(), break_string()
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ Die Langbeschreibung des Objektes als String oder Closure (diese muss
+ einen String zurueckgeben). Die Langbeschreibung wird beim Untersuchen
+ des Objektes ausgegeben. Sie sollte umgebrochen sein.
+
+ Diese Property bestimmt die Ansicht des Objektes von aussen. Fuer die
+ Innen(lang)ansicht von Raeumen muss man P_INT_LONG benutzen.
+
+
+BEMERKUNGEN
+===========
+
+ - long() ("untersuche") filtert P_LONG durch process_string()
+ -> daher sind Closures moeglich
+
+
+BEISPIELE
+=========
+
+ SetProp(P_LONG, "Diese Axt ist eine furchtbare Waffe!\n");
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_SHORT, long()
+ Sonstiges: P_INT_LONG, process_string(), break_string()
+
Last modified: Sun May 19 20:10:18 1996 by Wargon
diff --git a/doc/props/P_LONG_EMPTY b/doc/props/P_LONG_EMPTY
index 1a9cce2..cac74e0 100644
--- a/doc/props/P_LONG_EMPTY
+++ b/doc/props/P_LONG_EMPTY
@@ -1,8 +1,21 @@
-NAME:
- P_LONG_EMPTY "w_longdesc_empty"
-DEFINIERT IN:
- /sys/fishing.h
+P_LONG_EMPTY
+************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_LONG_EMPTY "w_longdesc_empty"
+
+
+DEFINIERT IN
+============
+
+ /sys/fishing.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_LONG_FULL b/doc/props/P_LONG_FULL
index 3b997f6..7de6081 100644
--- a/doc/props/P_LONG_FULL
+++ b/doc/props/P_LONG_FULL
@@ -1,8 +1,21 @@
-NAME:
- P_LONG_FULL "w_longdesc_full"
-DEFINIERT IN:
- /sys/fishing.h
+P_LONG_FULL
+***********
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_LONG_FULL "w_longdesc_full"
+
+
+DEFINIERT IN
+============
+
+ /sys/fishing.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_MAGIC b/doc/props/P_MAGIC
index b3a0bb7..8994533 100644
--- a/doc/props/P_MAGIC
+++ b/doc/props/P_MAGIC
@@ -1,8 +1,21 @@
-NAME:
- P_MAGIC "magic"
-DEFINIERT IN:
- /sys/properties.h
+P_MAGIC
+*******
-BESCHREIBUNG:
- Dieses Objekt ist magisch.
+
+NAME
+====
+
+ P_MAGIC "magic"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Dieses Objekt ist magisch.
diff --git a/doc/props/P_MAGIC_RESISTANCE_OFFSET b/doc/props/P_MAGIC_RESISTANCE_OFFSET
index 47ae281..8d270e3 100644
--- a/doc/props/P_MAGIC_RESISTANCE_OFFSET
+++ b/doc/props/P_MAGIC_RESISTANCE_OFFSET
@@ -1,33 +1,52 @@
-NAME:
- P_MAGIC_RESISTANCE_OFFSET "mag_res_offset"
-DEFINIERT IN:
- /sys/new_skills.h
+P_MAGIC_RESISTANCE_OFFSET
+*************************
-BESCHREIBUNG:
- Mapping mit ganzzahligen Prozentwerten in 0.01%-Schritten
- (0-10000) zur Resistenz/Empfindlichkeit gegen bestimmte
- Magieklassen.
- Die Property wird in der Methode SpellDefend() ausgewertet und
- fuer einen auf den NPC/Spieler gesprochenen Spell werden die
- Werte fuer all dessen Magieklassen aufaddiert. Daher sind auch
- negative Werte fuer einzelne Magieklassen sinnvoll.
+NAME
+====
- P_MAGIC_RESISTANCE_OFFSET und SpellDefend werden von den Spellbooks
- ausgewertet. Der Einfluss ist daher abhaengig vom Spellbook.
+ P_MAGIC_RESISTANCE_OFFSET "mag_res_offset"
-BEISPIELE:
- // Goblins
- SetProp(P_MAGIC_RESISTANCE_OFFSET,
- ([MT_ANGRIFF:600, // 6% Resistenz gegen Angriff
- MT_ILLUSION:500, // 6% Resistenz gegen Illusionen
- MT_VERWANDLUNG:-300, // 3% Empfindlichkeit
- MT_HELLSICHT:-750, // 7.5% Empfindlichkeit
- MT_BEHERRSCHUNG:250])); // 2.5% Resistenz
-SIEHE AUCH:
- Verwandt: SpellDefend
- Aehnlich: P_NOMAGIC
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Mapping mit ganzzahligen Prozentwerten in 0.01%-Schritten
+ (0-10000) zur Resistenz/Empfindlichkeit gegen bestimmte
+ Magieklassen.
+
+ Die Property wird in der Methode SpellDefend() ausgewertet und
+ fuer einen auf den NPC/Spieler gesprochenen Spell werden die
+ Werte fuer all dessen Magieklassen aufaddiert. Daher sind auch
+ negative Werte fuer einzelne Magieklassen sinnvoll.
+
+ P_MAGIC_RESISTANCE_OFFSET und SpellDefend werden von den Spellbooks
+ ausgewertet. Der Einfluss ist daher abhaengig vom Spellbook.
+
+
+BEISPIELE
+=========
+
+ // Goblins
+ SetProp(P_MAGIC_RESISTANCE_OFFSET,
+ ([MT_ANGRIFF:600, // 6% Resistenz gegen Angriff
+ MT_ILLUSION:500, // 6% Resistenz gegen Illusionen
+ MT_VERWANDLUNG:-300, // 3% Empfindlichkeit
+ MT_HELLSICHT:-750, // 7.5% Empfindlichkeit
+ MT_BEHERRSCHUNG:250])); // 2.5% Resistenz
+
+
+SIEHE AUCH
+==========
+
+ Verwandt: SpellDefend
+ Aehnlich: P_NOMAGIC
29.Dez 2007 Gloinson
diff --git a/doc/props/P_MAILADDR b/doc/props/P_MAILADDR
index e1b849d..32556a7 100644
--- a/doc/props/P_MAILADDR
+++ b/doc/props/P_MAILADDR
@@ -1,8 +1,21 @@
-NAME:
- P_MAILADDR "mailaddr"
-DEFINIERT IN:
- /sys/player/base.h
+P_MAILADDR
+**********
-BESCHREIBUNG:
- EMailadresse des Spielers.
+
+NAME
+====
+
+ P_MAILADDR "mailaddr"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ EMailadresse des Spielers.
diff --git a/doc/props/P_MAP_RESTRICTIONS b/doc/props/P_MAP_RESTRICTIONS
index fd422c0..ee9e620 100644
--- a/doc/props/P_MAP_RESTRICTIONS
+++ b/doc/props/P_MAP_RESTRICTIONS
@@ -1,39 +1,56 @@
-NAME:
- P_MAP_RESTRICTIONS "lib_p_map_restrictions"
-DEFINIERT IN:
- /sys/rooms.h
+P_MAP_RESTRICTIONS
+******************
-BESCHREIBUNG:
- Mit dieser Property laesst sich beeinflussen, welche Informationen ueber
- den Raum das Morgengrauen dem Client zukommen laesst (zur Zeit nur via
- GMCP, aber es mag irgendwann auch andere Wege geben).
- Beispielsweise sollen vielleicht in einem Labyrinth keine eindeutigen
- Raum-IDs uebermittelt werden.
- Als Werte duerfen alle MR_-Konstanten aus <rooms.h> verwendet werden.
- Diese duerfen auch ver-ODER-t werden, wenn mehr als eine davon gelten
- soll.
+NAME
+====
- Moegliche Werte:
- MR_NOUID - verhindert, dass die eindeutige Raum-ID uebertragen wird.
- MR_NOINFO - verhindert, dass ueberhaupt irgendetwas an den Client
- uebermittelt wird. Damit kriegt er ggf. auch nicht mit,
- dass er Raum gewechselt wurde. Ist fuer Sequenzraeume
- gedacht. Bitte SEHR sparsam einsetzen.
+ P_MAP_RESTRICTIONS "lib_p_map_restrictions"
- Die Verwendung dieser Property sollte der Ausnahmefall sein!
-BEISPIEL:
- (in einem Raum)
- SetProp(P_MAP_RESTRICTIONS, MR_NOUID);
+DEFINIERT IN
+============
- Nun bekommt der Client zwar die Kurzbeschreibung des Raums, die Region
- und die sichtbaren Ausgaenge, aber keine UID mehr uebermittelt.
+ /sys/rooms.h
-SIEHE AUCH:
- gmcp
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ Mit dieser Property laesst sich beeinflussen, welche Informationen ueber
+ den Raum das Morgengrauen dem Client zukommen laesst (zur Zeit nur via
+ GMCP, aber es mag irgendwann auch andere Wege geben).
+ Beispielsweise sollen vielleicht in einem Labyrinth keine eindeutigen
+ Raum-IDs uebermittelt werden.
+
+ Als Werte duerfen alle MR_-Konstanten aus <rooms.h> verwendet werden.
+ Diese duerfen auch ver-ODER-t werden, wenn mehr als eine davon gelten
+ soll.
+
+ Moegliche Werte:
+ MR_NOUID - verhindert, dass die eindeutige Raum-ID uebertragen wird.
+ MR_NOINFO - verhindert, dass ueberhaupt irgendetwas an den Client
+ uebermittelt wird. Damit kriegt er ggf. auch nicht mit,
+ dass er Raum gewechselt wurde. Ist fuer Sequenzraeume
+ gedacht. Bitte SEHR sparsam einsetzen.
+
+ Die Verwendung dieser Property sollte der Ausnahmefall sein!
+
+
+BEISPIEL
+========
+
+ (in einem Raum)
+ SetProp(P_MAP_RESTRICTIONS, MR_NOUID);
+
+ Nun bekommt der Client zwar die Kurzbeschreibung des Raums, die Region
+ und die sichtbaren Ausgaenge, aber keine UID mehr uebermittelt.
+
+
+SIEHE AUCH
+==========
+
+ gmcp
+
23.02.2013, Zesstra
-
diff --git a/doc/props/P_MARRIED b/doc/props/P_MARRIED
index 768404e..7cafa6f 100644
--- a/doc/props/P_MARRIED
+++ b/doc/props/P_MARRIED
@@ -1,12 +1,28 @@
-NAME:
- P_MARRIED "married"
-DEFINIERT IN:
- /sys/properties.h
+P_MARRIED
+*********
-BESCHREIBUNG:
- Enthaelt einen String mit der uid des Partners
- (sofern vorhanden)
-SIEHE AUCH:
- scheidung
+NAME
+====
+
+ P_MARRIED "married"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt einen String mit der uid des Partners
+ (sofern vorhanden)
+
+
+SIEHE AUCH
+==========
+
+ scheidung
diff --git a/doc/props/P_MATERIAL b/doc/props/P_MATERIAL
index 5be1bef..4ea4032 100644
--- a/doc/props/P_MATERIAL
+++ b/doc/props/P_MATERIAL
@@ -1,79 +1,99 @@
+
P_MATERIAL
-NAME:
- P_MATERIAL "material"
+**********
-DEFINIERT IN:
- <thing/material.h>
-BESCHREIBUNG:
- Mapping mit prozentualen Anteilen von Materialien, aus denen ein Objekt
- besteht.
+NAME
+====
-BEMERKUNGEN:
- Bei SetProp kann man zu Vereinfachung auch ein einzelnes Material oder
- ein Array aus Materialien angeben. Die Anteile werden dann
- gleichmaessig verteilt.
+ P_MATERIAL "material"
-BEISPIELE:
- // 100% Eis
- SetProp(P_MATERIAL, MAT_ICE);
- // QueryProp(P_MATERIAL) -> ([MAT_ICE:100])
- // 50% Eis, 50% Misc-Holz
- SetProp(P_MATERIAL, ({ MAT_ICE, MAT_MISC_WOOD }));
- // QueryProp(P_MATERIAL) -> ([MAT_ICE:50, MAT_MISC_WOOD: 50])
+DEFINIERT IN
+============
- // 60% Eis, 40% Misc-Holz
- SetProp(P_MATERIAL, ([ MAT_ICE: 60, MAT_MISC_WOOD: 40 ]));
+ <thing/material.h>
- // 100% Papier
- SetProp(P_MATERIAL, MAT_PAPER);
- // QueryProp(P_MATERIAL) -> ([MAT_PAPER:100])
- // 50% Silber, 50% Gold
- SetProp(P_MATERIAL, ({MAT_SILVER, MAT_GOLD}))
- // QueryProp(P_MATERIAL) -> ([MAT_SILVER:50,MAT_GOLD:50])
+BESCHREIBUNG
+============
- // ein weiser Schmied, der was daraus macht:
- int i;
- string *mat, mname, mgroup;
- mat=m_indices(ob->QueryProp(P_MATERIAL));
- i=sizeof(mat);
+ Mapping mit prozentualen Anteilen von Materialien, aus denen ein Objekt
+ besteht.
- write("Der Schmied sagt: "+ob->Name(WER)+" besteht aus ...\n");
- while(i--) {
- // den Namen erkennen/aussprechen:
- // Materialien werden allgemein ganz schlecht erkannt (zu 5%), aber
- // alles aus Metall wird zu +100% gut erkannt ...
- mname=MATERIALDB->MaterialName(mat[i], WER,
- ({5, ([MATERIAL_SYMMETRIC_RECOGNIZABILITY:
- ({MATGROUP_METAL, 100})])}));
- // und nur Metalle analysieren ...
- if(MATERIALDB->MaterialGroup(([mat[i]:100]),MATGROUP_METAL)>=100) {
- int j;
- string *mgr;
- mgr=MATERIALDB->GetMatMembership(mat[i]);
- j=sizeof(mgr);
- mgroup=" gehoert zu ";
- while(j--) {
- mgroup+=MATERIALDB->GroupName(mgr[j]);
- if(j>0) mgroup+=", ";
- }
- } else mgroup=" kenne ich nicht";
- printf("%-12.12s: %s\n",mname, mgroup);
+BEMERKUNGEN
+===========
+
+ Bei SetProp kann man zu Vereinfachung auch ein einzelnes Material oder
+ ein Array aus Materialien angeben. Die Anteile werden dann
+ gleichmaessig verteilt.
+
+
+BEISPIELE
+=========
+
+ // 100% Eis
+ SetProp(P_MATERIAL, MAT_ICE);
+ // QueryProp(P_MATERIAL) -> ([MAT_ICE:100])
+
+ // 50% Eis, 50% Misc-Holz
+ SetProp(P_MATERIAL, ({ MAT_ICE, MAT_MISC_WOOD }));
+ // QueryProp(P_MATERIAL) -> ([MAT_ICE:50, MAT_MISC_WOOD: 50])
+
+ // 60% Eis, 40% Misc-Holz
+ SetProp(P_MATERIAL, ([ MAT_ICE: 60, MAT_MISC_WOOD: 40 ]));
+
+ // 100% Papier
+ SetProp(P_MATERIAL, MAT_PAPER);
+ // QueryProp(P_MATERIAL) -> ([MAT_PAPER:100])
+
+ // 50% Silber, 50% Gold
+ SetProp(P_MATERIAL, ({MAT_SILVER, MAT_GOLD}))
+ // QueryProp(P_MATERIAL) -> ([MAT_SILVER:50,MAT_GOLD:50])
+
+ // ein weiser Schmied, der was daraus macht:
+ int i;
+ string *mat, mname, mgroup;
+ mat=m_indices(ob->QueryProp(P_MATERIAL));
+ i=sizeof(mat);
+
+ write("Der Schmied sagt: "+ob->Name(WER)+" besteht aus ...\n");
+ while(i--) {
+ // den Namen erkennen/aussprechen:
+ // Materialien werden allgemein ganz schlecht erkannt (zu 5%), aber
+ // alles aus Metall wird zu +100% gut erkannt ...
+ mname=MATERIALDB->MaterialName(mat[i], WER,
+ ({5, ([MATERIAL_SYMMETRIC_RECOGNIZABILITY:
+ ({MATGROUP_METAL, 100})])}));
+
+ // und nur Metalle analysieren ...
+ if(MATERIALDB->MaterialGroup(([mat[i]:100]),MATGROUP_METAL)>=100) {
+ int j;
+ string *mgr;
+ mgr=MATERIALDB->GetMatMembership(mat[i]);
+ j=sizeof(mgr);
+ mgroup=" gehoert zu ";
+ while(j--) {
+ mgroup+=MATERIALDB->GroupName(mgr[j]);
+ if(j>0) mgroup+=", ";
}
+ } else mgroup=" kenne ich nicht";
+ printf("%-12.12s: %s\n",mname, mgroup);
+ }
-SIEHE AUCH:
- Konzepte: material, materialerkennung
- Grundlegend: /sys/thing/material.h
- Methoden: QueryMaterial(), QueryMaterialGroup(), MaterialList(),
- Listen: AllMaterials(), AllGroups(), Dump()
- materialliste, materialgruppen
- Master: AddMaterial(), ConvMaterialList(), MaterialGroup(),
- GroupName(), MaterialName(),
- GetGroupMembers(), GetMatMembership()
- Sonstiges: P_MATERIAL_KNOWLEDGE
+SIEHE AUCH
+==========
-7. Mai 2004 Gloinson
\ No newline at end of file
+ Konzepte: material, materialerkennung
+ Grundlegend: /sys/thing/material.h
+ Methoden: QueryMaterial(), QueryMaterialGroup(), MaterialList(),
+ Listen: AllMaterials(), AllGroups(), Dump()
+ materialliste, materialgruppen
+ Master: AddMaterial(), ConvMaterialList(), MaterialGroup(),
+ GroupName(), MaterialName(),
+ GetGroupMembers(), GetMatMembership()
+ Sonstiges: P_MATERIAL_KNOWLEDGE
+
+7. Mai 2004 Gloinson
diff --git a/doc/props/P_MATERIAL_KNOWLEDGE b/doc/props/P_MATERIAL_KNOWLEDGE
index c954083..0694fef 100644
--- a/doc/props/P_MATERIAL_KNOWLEDGE
+++ b/doc/props/P_MATERIAL_KNOWLEDGE
@@ -1,39 +1,56 @@
+
P_MATERIAL_KNOWLEDGE
-NAME:
- P_MATERIAL_KNOWLEDGE "material_knowledge"
-
-DEFINIERT IN:
- <thing/material.h>
-
-BESCHREIBUNG:
- Mapping, Closure oder Integer mit Regeln zur Materialienerkennung. Die
- Regeln sind in "man materialerkennung" zu lesen.
-
- Diese werden bei Angabe eines Spielerobjektes in MaterialList() oder
- MaterialName() an diesem abgefragt und hat Einfluss darauf, ob ein
- Material genau, generell oder gar nicht erkannt wird.
-
- In den einzelnen Rassenshells sind Defaultwerte dafuer angegeben.
+********************
-BEISPIELE:
- // Erkennungsbonus auf diverse Materialgruppen und
- // Erkennungsbonus/-malus auf biologische/nichtbiologische Materialien
- SetProp(P_MATERIAL_KNOWLEDGE,
- ([MATGROUP_WOOD:20,
- MATGROUP_METAL:20,
- MATGROUP_ELEMENTAL:20,
- MATGROUP_CLOTH:20,
- MATERIAL_SYMMETRIC_RECOGNIZABILITY: ({MATGROUP_BIO,5})]));
+NAME
+====
-SIEHE AUCH:
- Konzepte: material, materialerkennung
- Grundlegend: P_MATERIAL, /sys/thing/material.h
- Methoden: QueryMaterial(), QueryMaterialGroup(), MaterialList(),
- Listen: AllMaterials(), AllGroups(), Dump()
- materialliste, materialgruppen
- Master: AddMaterial(), ConvMaterialList(), MaterialGroup(),
- GroupName(), MaterialName(),
- GetGroupMembers(), GetMatMembership()
+ P_MATERIAL_KNOWLEDGE "material_knowledge"
-7. Mai 2004 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ <thing/material.h>
+
+
+BESCHREIBUNG
+============
+
+ Mapping, Closure oder Integer mit Regeln zur Materialienerkennung. Die
+ Regeln sind in "man materialerkennung" zu lesen.
+
+ Diese werden bei Angabe eines Spielerobjektes in MaterialList() oder
+ MaterialName() an diesem abgefragt und hat Einfluss darauf, ob ein
+ Material genau, generell oder gar nicht erkannt wird.
+
+ In den einzelnen Rassenshells sind Defaultwerte dafuer angegeben.
+
+
+BEISPIELE
+=========
+
+ // Erkennungsbonus auf diverse Materialgruppen und
+ // Erkennungsbonus/-malus auf biologische/nichtbiologische Materialien
+ SetProp(P_MATERIAL_KNOWLEDGE,
+ ([MATGROUP_WOOD:20,
+ MATGROUP_METAL:20,
+ MATGROUP_ELEMENTAL:20,
+ MATGROUP_CLOTH:20,
+ MATERIAL_SYMMETRIC_RECOGNIZABILITY: ({MATGROUP_BIO,5})]));
+
+
+SIEHE AUCH
+==========
+
+ Konzepte: material, materialerkennung
+ Grundlegend: P_MATERIAL, /sys/thing/material.h
+ Methoden: QueryMaterial(), QueryMaterialGroup(), MaterialList(),
+ Listen: AllMaterials(), AllGroups(), Dump()
+ materialliste, materialgruppen
+ Master: AddMaterial(), ConvMaterialList(), MaterialGroup(),
+ GroupName(), MaterialName(),
+ GetGroupMembers(), GetMatMembership()
+
+7. Mai 2004 Gloinson
diff --git a/doc/props/P_MAX_ALCOHOL b/doc/props/P_MAX_ALCOHOL
index 10a64c3..541972f 100644
--- a/doc/props/P_MAX_ALCOHOL
+++ b/doc/props/P_MAX_ALCOHOL
@@ -1,21 +1,39 @@
-NAME:
- P_MAX_ALCOHOL "max_alcohol"
-DEFINIERT IN:
- /sys/living/life.h
+P_MAX_ALCOHOL
+*************
-BESCHREIBUNG:
- Numerischer Wert fuer den maximalen Grad der Betrunkenheit eines
- Lebewesens.
-ANMERKUNGEN:
- Der Wert von P_MAX_ALCOHOL ist bei den einzelnen Rassen verschieden,
- ebenso wie der fuer P_ALCOHOL_DELAY. Die genauen Werte stehen in den
- Rassen-Shells (/std/shells).
+NAME
+====
-SIEHE AUCH:
- P_ALCOHOL, P_ALCOHOL_DELAY, drink_alcohol,
- P_MAX_FOOD, P_MAX_DRINK
+ P_MAX_ALCOHOL "max_alcohol"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert fuer den maximalen Grad der Betrunkenheit eines
+ Lebewesens.
+
+
+ANMERKUNGEN
+===========
+
+ Der Wert von P_MAX_ALCOHOL ist bei den einzelnen Rassen verschieden,
+ ebenso wie der fuer P_ALCOHOL_DELAY. Die genauen Werte stehen in den
+ Rassen-Shells (/std/shells).
+
+
+SIEHE AUCH
+==========
+
+ P_ALCOHOL, P_ALCOHOL_DELAY, drink_alcohol,
+ P_MAX_FOOD, P_MAX_DRINK
+
Last modified: Tue Dec 18 12:16:10 2001 by Patryn
diff --git a/doc/props/P_MAX_DRINK b/doc/props/P_MAX_DRINK
index 940eddc..33fdeb8 100644
--- a/doc/props/P_MAX_DRINK
+++ b/doc/props/P_MAX_DRINK
@@ -1,21 +1,39 @@
-NAME:
- P_MAX_DRINK "max_drink"
-DEFINIERT IN:
- /sys/living/life.h
+P_MAX_DRINK
+***********
-BESCHREIBUNG:
- Numerischer Wert fuer die maximale Saettigung eines Lebewesens mit
- Getraenken.
-ANMERKUNGEN:
- Der Wert von P_MAX_DRINK ist bei den einzelnen Rassen verschieden,
- ebenso wie der fuer P_DRINK_DELAY. Die genauen Werte stehen in den
- Rassen-Shells (/std/shells).
+NAME
+====
-SIEHE AUCH:
- P_DRINK, P_DRINK_DELAY, drink_soft,
- P_MAX_FOOD, P_MAX_ALCOHOL
+ P_MAX_DRINK "max_drink"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert fuer die maximale Saettigung eines Lebewesens mit
+ Getraenken.
+
+
+ANMERKUNGEN
+===========
+
+ Der Wert von P_MAX_DRINK ist bei den einzelnen Rassen verschieden,
+ ebenso wie der fuer P_DRINK_DELAY. Die genauen Werte stehen in den
+ Rassen-Shells (/std/shells).
+
+
+SIEHE AUCH
+==========
+
+ P_DRINK, P_DRINK_DELAY, drink_soft,
+ P_MAX_FOOD, P_MAX_ALCOHOL
+
Last modified: Tue Dec 18 12:16:10 2001 by Patryn
diff --git a/doc/props/P_MAX_FOOD b/doc/props/P_MAX_FOOD
index 5f49cfe..fa7f661 100644
--- a/doc/props/P_MAX_FOOD
+++ b/doc/props/P_MAX_FOOD
@@ -1,20 +1,38 @@
-NAME:
- P_MAX_FOOD "max_food"
-DEFINIERT IN:
- /sys/living/life.h
+P_MAX_FOOD
+**********
-BESCHREIBUNG:
- Numerischer Wert fuer die maximale Saettigung eines Lebewesens.
-ANMERKUNGEN:
- Der Wert von P_MAX_FOOD ist bei den einzelnen Rassen verschieden,
- ebenso wie der fuer P_FOOD_DELAY. Die genauen Werte stehen in den
- Rassen-Shells (/std/shells).
+NAME
+====
-SIEHE AUCH:
- P_FOOD, P_FOOD_DELAY, eat_food,
- P_MAX_DRINK, P_MAX_ALCOHOL
+ P_MAX_FOOD "max_food"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert fuer die maximale Saettigung eines Lebewesens.
+
+
+ANMERKUNGEN
+===========
+
+ Der Wert von P_MAX_FOOD ist bei den einzelnen Rassen verschieden,
+ ebenso wie der fuer P_FOOD_DELAY. Die genauen Werte stehen in den
+ Rassen-Shells (/std/shells).
+
+
+SIEHE AUCH
+==========
+
+ P_FOOD, P_FOOD_DELAY, eat_food,
+ P_MAX_DRINK, P_MAX_ALCOHOL
+
Last modified: Tue Dec 18 12:16:10 2001 by Patryn
diff --git a/doc/props/P_MAX_HANDS b/doc/props/P_MAX_HANDS
index 96b1ae8..4c65afa 100644
--- a/doc/props/P_MAX_HANDS
+++ b/doc/props/P_MAX_HANDS
@@ -1,27 +1,45 @@
+
P_MAX_HANDS
-NAME:
- P_MAX_HANDS "max_hands"
+***********
-DEFINIERT IN:
- /sys/living/combat.h
-BESCHREIBUNG:
- Anzahl der Haende, die ein Wesen hat.
+NAME
+====
-BEMERKUNGEN:
- An dieser Propertie sollte bei Spielern nur im Rahmen der
- Gilden 'gespielt' werden.
+ P_MAX_HANDS "max_hands"
- Fuer Magier, die in ihren Npc gerne alle Properties setzen,
- gilt folgendes:
- Setzt diese Propertie NIE auf 0 !
+DEFINIERT IN
+============
- Ohne Haende wird kein Npc irgendeinen Spieler angreifen koennen.
+ /sys/living/combat.h
-SIEHE AUCH:
- P_HANDS, P_HANDS_USED_BY
- P_USED_HANDS, P_FREE_HANDS
- UseHands, FreeHands
+
+BESCHREIBUNG
+============
+
+ Anzahl der Haende, die ein Wesen hat.
+
+
+BEMERKUNGEN
+===========
+
+ An dieser Propertie sollte bei Spielern nur im Rahmen der
+ Gilden 'gespielt' werden.
+
+ Fuer Magier, die in ihren Npc gerne alle Properties setzen,
+ gilt folgendes:
+
+ Setzt diese Propertie NIE auf 0 !
+
+ Ohne Haende wird kein Npc irgendeinen Spieler angreifen koennen.
+
+
+SIEHE AUCH
+==========
+
+ P_HANDS, P_HANDS_USED_BY
+ P_USED_HANDS, P_FREE_HANDS
+ UseHands, FreeHands
1.Feb.2004 Gloinson
diff --git a/doc/props/P_MAX_HP b/doc/props/P_MAX_HP
index 13a84c4..fcb3cb0 100644
--- a/doc/props/P_MAX_HP
+++ b/doc/props/P_MAX_HP
@@ -1,14 +1,30 @@
-NAME:
- P_MAX_HP "max_hp"
-DEFINIERT IN:
- /sys/living/life.h
+P_MAX_HP
+********
-BESCHREIBUNG:
- Maximale Anzahl der Lebenspunkte.
-SIEHE AUCH:
- Props: P_HP
- Verwandt: UpdateAttributes()
+NAME
+====
-21.April 2006 Gloinson
\ No newline at end of file
+ P_MAX_HP "max_hp"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Maximale Anzahl der Lebenspunkte.
+
+
+SIEHE AUCH
+==========
+
+ Props: P_HP
+ Verwandt: UpdateAttributes()
+
+21.April 2006 Gloinson
diff --git a/doc/props/P_MAX_OBJECTS b/doc/props/P_MAX_OBJECTS
index a76f0d1..68c008f 100644
--- a/doc/props/P_MAX_OBJECTS
+++ b/doc/props/P_MAX_OBJECTS
@@ -1,22 +1,44 @@
-NAME:
- P_MAX_OBJECTS "max_objects"
-DEFINIERT IN:
- /sys/container.h
+P_MAX_OBJECTS
+*************
-BESCHREIBUNG:
- Maximale Anzahl an Objekten, die in einen Container passen.
- P_MAX_OBJECTS sollte im Normfall zwischen 0 - 100 liegen.
-BEMERKUNGEN:
- Soll es sich um einen herausragenden Container handeln, der zum
- Beispiel das Gewicht um mehr als 50% reduziert, sollte P_MAX_OBJECTS
- einen kleineren Wert haben. Das Verhaeltnis von P_MAX_WEIGHT,
- P_WEIGHT_PERCENT und dieser Property sollte stimmen.
+NAME
+====
-BEISPIELE:
- Als Beispiel sollte man sich das Postpaket ansehen und sich an dessen
- Werten orientieren (/p/service/loco/obj/parcel).
+ P_MAX_OBJECTS "max_objects"
-SIEHE AUCH:
- P_MAX_WEIGHT, P_WEIGHT_PERCENT, P_LIGHT_TRANSPARENCY, container
+
+DEFINIERT IN
+============
+
+ /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+ Maximale Anzahl an Objekten, die in einen Container passen.
+ P_MAX_OBJECTS sollte im Normfall zwischen 0 - 100 liegen.
+
+
+BEMERKUNGEN
+===========
+
+ Soll es sich um einen herausragenden Container handeln, der zum
+ Beispiel das Gewicht um mehr als 50% reduziert, sollte P_MAX_OBJECTS
+ einen kleineren Wert haben. Das Verhaeltnis von P_MAX_WEIGHT,
+ P_WEIGHT_PERCENT und dieser Property sollte stimmen.
+
+
+BEISPIELE
+=========
+
+ Als Beispiel sollte man sich das Postpaket ansehen und sich an dessen
+ Werten orientieren (/p/service/loco/obj/parcel).
+
+
+SIEHE AUCH
+==========
+
+ P_MAX_WEIGHT, P_WEIGHT_PERCENT, P_LIGHT_TRANSPARENCY, container
diff --git a/doc/props/P_MAX_PASSENGERS b/doc/props/P_MAX_PASSENGERS
index b0bc6a5..32e5f27 100644
--- a/doc/props/P_MAX_PASSENGERS
+++ b/doc/props/P_MAX_PASSENGERS
@@ -1,9 +1,22 @@
-NAME:
- P_MAX_PASSENGERS "maxpass"
-DEFINIERT IN:
- /sys/transport.h
+P_MAX_PASSENGERS
+****************
-BESCHREIBUNG:
- Numerischer Wert fuer die maximale Anzahl von Wesen in dem Transporter.
- 0 bedeutet unbeschaenkte Spielerzahl.
+
+NAME
+====
+
+ P_MAX_PASSENGERS "maxpass"
+
+
+DEFINIERT IN
+============
+
+ /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert fuer die maximale Anzahl von Wesen in dem Transporter.
+ 0 bedeutet unbeschaenkte Spielerzahl.
diff --git a/doc/props/P_MAX_POISON b/doc/props/P_MAX_POISON
index 35b8e9b..0d39dc4 100644
--- a/doc/props/P_MAX_POISON
+++ b/doc/props/P_MAX_POISON
@@ -1,8 +1,21 @@
-NAME:
- P_MAX_POISON "max_poison"
-DEFINIERT IN:
- /sys/properties.h
+P_MAX_POISON
+************
-BESCHREIBUNG:
- Maximale Vergiftung
+
+NAME
+====
+
+ P_MAX_POISON "max_poison"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Maximale Vergiftung
diff --git a/doc/props/P_MAX_SP b/doc/props/P_MAX_SP
index 307aaf5..7f7aa43 100644
--- a/doc/props/P_MAX_SP
+++ b/doc/props/P_MAX_SP
@@ -1,14 +1,30 @@
-NAME:
- P_MAX_SP "max_sp"
-DEFINIERT IN:
- /sys/living/life.h
+P_MAX_SP
+********
-BESCHREIBUNG:
- Maximale Anzahl der Magiepunkte.
-SIEHE AUCH:
- Props: P_SP
- Verwandt: UpdateAttributes()
+NAME
+====
-21.April 2006 Gloinson
\ No newline at end of file
+ P_MAX_SP "max_sp"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Maximale Anzahl der Magiepunkte.
+
+
+SIEHE AUCH
+==========
+
+ Props: P_SP
+ Verwandt: UpdateAttributes()
+
+21.April 2006 Gloinson
diff --git a/doc/props/P_MAX_WEIGHT b/doc/props/P_MAX_WEIGHT
index 7e2f16b..abd0942 100644
--- a/doc/props/P_MAX_WEIGHT
+++ b/doc/props/P_MAX_WEIGHT
@@ -1,19 +1,38 @@
-NAME:
- P_MAX_WEIGHT "max_weight"
-DEFINIERT IN:
- /sys/container.h
+P_MAX_WEIGHT
+************
-BESCHREIBUNG:
- Maximales Gewicht in Gramm, das in dem Container verstaut werden
- kann.
-BEMERKUNGEN:
- Das Verhaeltnis von P_WEIGHT_PERCENT, P_MAX_OBJECTS und dieser Property
- sollte stimmen. Eine feste Grenze gibt es nicht. Als Beispiel kann
- das Postpaket von Loco unter /p/servive/loco/obj herangezogen werden.
- Bessere Werte als in diesem sollte es nicht, und wenn doch nur gut be-
- gruendet, geben.
+NAME
+====
-SIEHE AUCH:
- P_WEIGHT_PERCENT, P_MAX_OBJECTS, P_LIGHT_TRANSPARENCY, container
+ P_MAX_WEIGHT "max_weight"
+
+
+DEFINIERT IN
+============
+
+ /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+ Maximales Gewicht in Gramm, das in dem Container verstaut werden
+ kann.
+
+
+BEMERKUNGEN
+===========
+
+ Das Verhaeltnis von P_WEIGHT_PERCENT, P_MAX_OBJECTS und dieser Property
+ sollte stimmen. Eine feste Grenze gibt es nicht. Als Beispiel kann
+ das Postpaket von Loco unter /p/servive/loco/obj herangezogen werden.
+ Bessere Werte als in diesem sollte es nicht, und wenn doch nur gut be-
+ gruendet, geben.
+
+
+SIEHE AUCH
+==========
+
+ P_WEIGHT_PERCENT, P_MAX_OBJECTS, P_LIGHT_TRANSPARENCY, container
diff --git a/doc/props/P_MESSAGE_BEEP b/doc/props/P_MESSAGE_BEEP
index 9e40fa5..6ecf718 100644
--- a/doc/props/P_MESSAGE_BEEP
+++ b/doc/props/P_MESSAGE_BEEP
@@ -1,19 +1,38 @@
-NAME:
- P_MESSAGE_BEEP "message_beep"
-DEFINIERT IN:
- /sys/player/comm.h
+P_MESSAGE_BEEP
+**************
-BESCHREIBUNG:
- Wertebereich: int=0..3600 (Sekunden)
- Wenn gesetzt wird in der Kommunikation des Spielers in den angegebenen
- Zeitraeumen ein Signalton ausgegeben. Wird in player/comm.c in comm_beep()
- verarbeitet.
- Ausgabe erfolgt nur, wenn P_VISUALBELL nicht gesetzt ist.
- Wird im Spielerobjekt gespeichert!
-SIEHE AUCH:
- klingelton, ton, P_VISUALBELL, P_MESSAGE_LAST_BEEP
+NAME
+====
-LETZTE AENDERUNG:
+ P_MESSAGE_BEEP "message_beep"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+ Wertebereich: int=0..3600 (Sekunden)
+ Wenn gesetzt wird in der Kommunikation des Spielers in den angegebenen
+ Zeitraeumen ein Signalton ausgegeben. Wird in player/comm.c in comm_beep()
+ verarbeitet.
+ Ausgabe erfolgt nur, wenn P_VISUALBELL nicht gesetzt ist.
+ Wird im Spielerobjekt gespeichert!
+
+
+SIEHE AUCH
+==========
+
+ klingelton, ton, P_VISUALBELL, P_MESSAGE_LAST_BEEP
+
+
+LETZTE AENDERUNG
+================
+
16. Mai 2007 Ennox
diff --git a/doc/props/P_MESSAGE_PREPEND b/doc/props/P_MESSAGE_PREPEND
index ee44dda..be54d65 100644
--- a/doc/props/P_MESSAGE_PREPEND
+++ b/doc/props/P_MESSAGE_PREPEND
@@ -1,18 +1,37 @@
-NAME:
- P_MESSAGE_PREPEND "message_prepend"
-DEFINIERT IN:
- /sys/player/comm.h
+P_MESSAGE_PREPEND
+*****************
-BESCHREIBUNG:
- Wertebereich: int = 0,1
- Wenn vom Ziel eingeschaltet, wird von teile mit (_tell) und sag (_communicate) das
- BS_PREPEND_INDENT Flag fuer break_string genutzt, um den Indent (Sender) ggf.
- vor dem Textblock anzuzeigen.
- Wird im Spielerobjekt gespeichert!
-SIEHE AUCH:
- grafik aus, break_string, senderwiederholung
+NAME
+====
-LETZTE AENDERUNG:
+ P_MESSAGE_PREPEND "message_prepend"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+ Wertebereich: int = 0,1
+ Wenn vom Ziel eingeschaltet, wird von teile mit (_tell) und sag (_communicate) das
+ BS_PREPEND_INDENT Flag fuer break_string genutzt, um den Indent (Sender) ggf.
+ vor dem Textblock anzuzeigen.
+ Wird im Spielerobjekt gespeichert!
+
+
+SIEHE AUCH
+==========
+
+ grafik aus, break_string, senderwiederholung
+
+
+LETZTE AENDERUNG
+================
+
16. Mai 2007 Ennox
diff --git a/doc/props/P_MIN_STOCK b/doc/props/P_MIN_STOCK
index d896fb3..3be8d4e 100644
--- a/doc/props/P_MIN_STOCK
+++ b/doc/props/P_MIN_STOCK
@@ -1,37 +1,55 @@
-NAME:
- P_MIN_STOCK "min_stock"
-DEFINIERT IN:
- /sys/bank.h
+P_MIN_STOCK
+***********
-BESCHREIBUNG:
- P_MIN_STOCK enthaelt die Anzahl an Objekten, die ein Lager eines
- Ladens minimal behaelt. Standardmaessig entspricht dies 20 Objekten
- und sollte auch nicht wesentlich erhoeht werden. Nur fuer
- Anfaengergebiete waeren Werte zwischen 20 und 60 akzeptabel. In die
- Berechnung der Anzahl von Objekten gehen keine Objekte ein, die im
- Laden mittels AddFixedObject() staendig verfuegbar gemacht worden
- sind und auch keine Objekte, die per AddItem() im Lager hinzugefuegt
- wurden und nach jedem Reset aufgefrischt werden.
- Bei jedem Reset wird nun aus Speicher- und Laggruenden das Lager um
- eine bestimmte Prozentzahl an Objekten dezimiert. Entscheidend
- dafuer ist der Wert in der Property P_STORE_CONSUME.
- Beide hier erwaehnten Properties sollten ueberigens nur mittels
- QueryProp/SetProp ausgelesen bzw. veraendert werden.
-BEISPIEL:
- In '/std/store.c' befindet sich bereits ein gutes Beispiel, da dort
- der Standardwert von 20 Objekten bereitgestellt wird:
- create()
- { ...
- SetProp(P_MIN_STOCK,20);
- }
- Diesen Wert kann man in einem davon abgeleiteten eigenen Lager
- natuerlich auch veraendern.
+NAME
+====
-SIEHE AUCH:
- P_STORE_CONSUME, SetStorageRoom(), /std/store.c, /std/shop.c
- AddItem(), RemoveItem(), AddFixedObject(), RemoveFixedObject()
+ P_MIN_STOCK "min_stock"
-----------------------------------------------------------------------------
-Last modified: 19-Jun-2015, Arathorn
+
+DEFINIERT IN
+============
+
+ /sys/bank.h
+
+
+BESCHREIBUNG
+============
+
+ P_MIN_STOCK enthaelt die Anzahl an Objekten, die ein Lager eines
+ Ladens minimal behaelt. Standardmaessig entspricht dies 20 Objekten
+ und sollte auch nicht wesentlich erhoeht werden. Nur fuer
+ Anfaengergebiete waeren Werte zwischen 20 und 60 akzeptabel. In die
+ Berechnung der Anzahl von Objekten gehen keine Objekte ein, die im
+ Laden mittels AddFixedObject() staendig verfuegbar gemacht worden
+ sind und auch keine Objekte, die per AddItem() im Lager hinzugefuegt
+ wurden und nach jedem Reset aufgefrischt werden.
+ Bei jedem Reset wird nun aus Speicher- und Laggruenden das Lager um
+ eine bestimmte Prozentzahl an Objekten dezimiert. Entscheidend
+ dafuer ist der Wert in der Property P_STORE_CONSUME.
+ Beide hier erwaehnten Properties sollten ueberigens nur mittels
+ QueryProp/SetProp ausgelesen bzw. veraendert werden.
+
+
+BEISPIEL
+========
+
+ In '/std/store.c' befindet sich bereits ein gutes Beispiel, da dort
+ der Standardwert von 20 Objekten bereitgestellt wird:
+ create()
+ { ...
+ SetProp(P_MIN_STOCK,20);
+ }
+ Diesen Wert kann man in einem davon abgeleiteten eigenen Lager
+ natuerlich auch veraendern.
+
+
+SIEHE AUCH
+==========
+
+ P_STORE_CONSUME, SetStorageRoom(), /std/store.c, /std/shop.c
+ AddItem(), RemoveItem(), AddFixedObject(), RemoveFixedObject()
+
+Last modified: 19-Jun-2015, Arathorn
diff --git a/doc/props/P_MMSGIN b/doc/props/P_MMSGIN
index cd8e84e..98d37f3 100644
--- a/doc/props/P_MMSGIN
+++ b/doc/props/P_MMSGIN
@@ -1,9 +1,22 @@
-NAME:
- P_MMSGIN "mmsgin"
-DEFINIERT IN:
- /sys/player/moving.h
+P_MMSGIN
+********
-BESCHREIBUNG:
- String mit der Meldung, die beim Verlassen eines Raumes mit M_TPORT
- an die uebrigen Anwesenden ausgegeben wird.
+
+NAME
+====
+
+ P_MMSGIN "mmsgin"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/moving.h
+
+
+BESCHREIBUNG
+============
+
+ String mit der Meldung, die beim Verlassen eines Raumes mit M_TPORT
+ an die uebrigen Anwesenden ausgegeben wird.
diff --git a/doc/props/P_MMSGOUT b/doc/props/P_MMSGOUT
index defd09f..6035ba8 100644
--- a/doc/props/P_MMSGOUT
+++ b/doc/props/P_MMSGOUT
@@ -1,9 +1,22 @@
-NAME:
- P_MMSGOUT "mmsgout"
-DEFINIERT IN:
- /sys/player/moving.h
+P_MMSGOUT
+*********
-BESCHREIBUNG:
- String mit der Meldung, die beim Betreten eines Raumes mit M_TPORT
- an die uebrigen Anwesenden ausgegeben wird.
+
+NAME
+====
+
+ P_MMSGOUT "mmsgout"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/moving.h
+
+
+BESCHREIBUNG
+============
+
+ String mit der Meldung, die beim Betreten eines Raumes mit M_TPORT
+ an die uebrigen Anwesenden ausgegeben wird.
diff --git a/doc/props/P_MSGIN b/doc/props/P_MSGIN
index cf14a91..f5d90f8 100644
--- a/doc/props/P_MSGIN
+++ b/doc/props/P_MSGIN
@@ -1,9 +1,22 @@
-NAME:
- P_MSGIN "msgin"
-DEFINIERT IN:
- /sys/player/moving.h
+P_MSGIN
+*******
-BESCHREIBUNG:
- String mit der Meldung, die beim Betreten eines Raumes mit M_GO
- an die uebrigen Anwesenden ausgegeben wird.
+
+NAME
+====
+
+ P_MSGIN "msgin"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/moving.h
+
+
+BESCHREIBUNG
+============
+
+ String mit der Meldung, die beim Betreten eines Raumes mit M_GO
+ an die uebrigen Anwesenden ausgegeben wird.
diff --git a/doc/props/P_MSGOUT b/doc/props/P_MSGOUT
index 0587afb..95a8545 100644
--- a/doc/props/P_MSGOUT
+++ b/doc/props/P_MSGOUT
@@ -1,9 +1,22 @@
-NAME:
- P_MSGOUT "msgout"
-DEFINIERT IN:
- /sys/player/moving.h
+P_MSGOUT
+********
-BESCHREIBUNG:
- String mit der Meldung, die beim Verlassen eines Raumes mit M_GO
- an die uebrigen Anwesenden ausgegeben wird.
+
+NAME
+====
+
+ P_MSGOUT "msgout"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/moving.h
+
+
+BESCHREIBUNG
+============
+
+ String mit der Meldung, die beim Verlassen eines Raumes mit M_GO
+ an die uebrigen Anwesenden ausgegeben wird.
diff --git a/doc/props/P_MSG_PROB b/doc/props/P_MSG_PROB
index d520067..b4465df 100644
--- a/doc/props/P_MSG_PROB
+++ b/doc/props/P_MSG_PROB
@@ -1,19 +1,35 @@
-NAME:
- P_MSG_PROB "msg_prob"
-DEFINIERT IN:
- /sys/room/description.h
+P_MSG_PROB
+**********
-BESCHREIBUNG:
- Parameter fuer die Wartezeit in Sekunden bis zur naechsten Ausgabe
- einer Raumnachricht.
- Wird in AddRoomMessage() explizit mitgesetzt. Koennte natuerlich von
- einer Nachrichtenmethode auch regelmaessig geaendert werden, um
- mehr Zufall in die Intervalle zu bringen.
-SIEHE AUCH:
- LFuns: AddRoomMessage()
- Props: P_ROOM_MSG, P_MSG_PROB
- Verwandt: call_out()
+NAME
+====
+
+ P_MSG_PROB "msg_prob"
+
+
+DEFINIERT IN
+============
+
+ /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+ Parameter fuer die Wartezeit in Sekunden bis zur naechsten Ausgabe
+ einer Raumnachricht.
+ Wird in AddRoomMessage() explizit mitgesetzt. Koennte natuerlich von
+ einer Nachrichtenmethode auch regelmaessig geaendert werden, um
+ mehr Zufall in die Intervalle zu bringen.
+
+
+SIEHE AUCH
+==========
+
+ LFuns: AddRoomMessage()
+ Props: P_ROOM_MSG, P_MSG_PROB
+ Verwandt: call_out()
2.Feb 2016 Gloinson
diff --git a/doc/props/P_MUD_NEWBIE b/doc/props/P_MUD_NEWBIE
index bebb77f..71801eb 100644
--- a/doc/props/P_MUD_NEWBIE
+++ b/doc/props/P_MUD_NEWBIE
@@ -1,17 +1,31 @@
-NAME:
- P_MUD_NEWBIE "_lib_mud_newbie"
-DEFINIERT IN:
- /sys/player/base.h
+P_MUD_NEWBIE
+************
-BESCHREIBUNG:
- Der Spieler hat bei Erstellung des Charakters angegeben, noch nie in einem
- Mud gespielt zu haben. In diesem Fall enthaelt die Property den
- Zeitstempel der Charaktererstellung.
- ACHTUNG: Diese Prop wird nicht gespeichert, d.h. nachdem ein solcher
- Spieler "ende" gemacht hat oder ein Reboot erfolgte, ist diese Information
- verloren.
+NAME
+====
-SIEHE AUCH:
+ P_MUD_NEWBIE "_lib_mud_newbie"
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Der Spieler hat bei Erstellung des Charakters angegeben, noch nie in einem
+ Mud gespielt zu haben. In diesem Fall enthaelt die Property den
+ Zeitstempel der Charaktererstellung.
+
+ ACHTUNG: Diese Prop wird nicht gespeichert, d.h. nachdem ein solcher
+ Spieler "ende" gemacht hat oder ein Reboot erfolgte, ist diese Information
+ verloren.
+
+
+SIEHE AUCH
+==========
diff --git a/doc/props/P_MURDER_MSG b/doc/props/P_MURDER_MSG
index 63d594c..c565cfa 100644
--- a/doc/props/P_MURDER_MSG
+++ b/doc/props/P_MURDER_MSG
@@ -1,63 +1,83 @@
+
P_MURDER_MSG
-
-NAME:
- P_MURDER_MSG "murder_msg"
-
-DEFINIERT IN:
- /sys/properties.h
-
-BESCHREIBUNG:
- In dieser Property kann man einen String oder eine Closure ablegen
- dessen Wert bzw. deren Resultat beim Tod des NPCs auf dem
- Moerder-Kanal erscheint.
- Normalerweise ist die Property nicht gesetzt, woraufhin zufaellig
- eine Meldung generiert wird.
-
- Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon ab,
- wie oft und welche Art von NPCs in der letzten Zeit getoetet wurden. Zum
- Beispiel ist es eher selten, dass ein schwacher NPC auf dem Kanal
- erscheint, wenn kuerzlich viele starke NPCs getoetet wurden. Allerdings
- kann man auf diese Regelung mittels der Property P_FORCE_MURDER_MSG
- Einfluss nehmen.
-
- Wird in einen String der Platzhalter %s eingefuegt, so erscheint an der
- Stelle spaeter der Name des Moerders.
-
-BEISPIELE:
- // Zum Beispiel koennte man ja bei einer Ratte, die getoetet wird,
- // folgendes auf dem Moerder-Kanal ausgeben lassen:
- SetProp(P_MURDER_MSG,
- "Ratten aller MUDs, vereinigt euch gegen %s!");
+************
- // Um auch mal eine Closure zu zeigen: die Ratte koennte auch ihre
- // Meldung erst bei ihrem Tod erstellen lassen:
- private string moerder_meldung() {
- return ({"Achweh!", "Au!", "Weia!"})[random(3)];
- }
+NAME
+====
- SetProp(P_MURDER_MSG, #'moerder_meldung);
+ P_MURDER_MSG "murder_msg"
-BEMERKUNGEN:
- - P_NOCORPSE:
- Ist in dem NPC die Property P_NOCORPSE gesetzt, so wird die
- Moerdermeldung nicht auf dem Kanal gesendet, da diese Ausgabe ueber
- /std/corpse laeuft.
- Will man dennoch eine Meldung, so sollte man /std/corpse im die()
- selbst clonen, daran Identify(this_object()) rufen und das geclonte
- Objekt wieder entsorgen.
- - Closures:
- Closures bieten sich an, wenn ein zentrales Objekt fuer mehrere NPCs
- bestimmte Moerdermeldungen generieren soll. Dann muss nur noch bei
- den NPCs die Closure, die auf die erstellende Methode zeigt gesetzt
- werden.
+DEFINIERT IN
+============
-SIEHE AUCH:
- Tod: die(L)
- Verwandt: P_FORCE_MURDER_MSG
- Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG
- P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
- Sonstiges: P_CORPSE, P_NOCORPSE, /std/corpse.c
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property kann man einen String oder eine Closure ablegen
+ dessen Wert bzw. deren Resultat beim Tod des NPCs auf dem
+ Moerder-Kanal erscheint.
+ Normalerweise ist die Property nicht gesetzt, woraufhin zufaellig
+ eine Meldung generiert wird.
+
+ Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon ab,
+ wie oft und welche Art von NPCs in der letzten Zeit getoetet wurden. Zum
+ Beispiel ist es eher selten, dass ein schwacher NPC auf dem Kanal
+ erscheint, wenn kuerzlich viele starke NPCs getoetet wurden. Allerdings
+ kann man auf diese Regelung mittels der Property P_FORCE_MURDER_MSG
+ Einfluss nehmen.
+
+ Wird in einen String der Platzhalter %s eingefuegt, so erscheint an der
+ Stelle spaeter der Name des Moerders.
+
+
+BEISPIELE
+=========
+
+ // Zum Beispiel koennte man ja bei einer Ratte, die getoetet wird,
+ // folgendes auf dem Moerder-Kanal ausgeben lassen:
+ SetProp(P_MURDER_MSG,
+ "Ratten aller MUDs, vereinigt euch gegen %s!");
+
+
+ // Um auch mal eine Closure zu zeigen: die Ratte koennte auch ihre
+ // Meldung erst bei ihrem Tod erstellen lassen:
+ private string moerder_meldung() {
+ return ({"Achweh!", "Au!", "Weia!"})[random(3)];
+ }
+
+ SetProp(P_MURDER_MSG, #'moerder_meldung);
+
+
+BEMERKUNGEN
+===========
+
+ - P_NOCORPSE:
+ Ist in dem NPC die Property P_NOCORPSE gesetzt, so wird die
+ Moerdermeldung nicht auf dem Kanal gesendet, da diese Ausgabe ueber
+ /std/corpse laeuft.
+ Will man dennoch eine Meldung, so sollte man /std/corpse im die()
+ selbst clonen, daran Identify(this_object()) rufen und das geclonte
+ Objekt wieder entsorgen.
+
+ - Closures:
+ Closures bieten sich an, wenn ein zentrales Objekt fuer mehrere NPCs
+ bestimmte Moerdermeldungen generieren soll. Dann muss nur noch bei
+ den NPCs die Closure, die auf die erstellende Methode zeigt gesetzt
+ werden.
+
+
+SIEHE AUCH
+==========
+
+ Tod: die(L)
+ Verwandt: P_FORCE_MURDER_MSG
+ Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG
+ P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+ Sonstiges: P_CORPSE, P_NOCORPSE, /std/corpse.c
30. Mai 2006, Gloinson
diff --git a/doc/props/P_M_ATTR_MOD b/doc/props/P_M_ATTR_MOD
index 8a79717..d279484 100644
--- a/doc/props/P_M_ATTR_MOD
+++ b/doc/props/P_M_ATTR_MOD
@@ -1,42 +1,64 @@
-NAME:
- P_M_ATTR_MOD "magic_attributes_modifier"
-DEFINIERT IN:
- /sys/living/attributes.h
+P_M_ATTR_MOD
+************
-BESCHREIBUNG:
- Mapping, das die Attribute des Spielers veraendert, der diese Ruestung
- bzw. Waffe traegt bzw. benutzt.
- Zu beachten:
- P_M_ATTR_MOD kann problemlos durch ein SetProp() gesetzt werden. Es wird
- nur dann beruecksichtigt, wenn die Ruestung/Waffe getragen/benutzt wird.
- Beim Tragen/Ausziehen/Zuecken/Wegstecken wird im Spieler automatisch
- UpdateAttributes() aufgerufen.
+NAME
+====
- Fuer Krankheiten etc. oder Objekte, deren *Besitz* allein schon die
- Attribute veraendern sollen, verwendet man besser P_X_ATTR_MOD.
+ P_M_ATTR_MOD "magic_attributes_modifier"
- P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
- positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
- CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.
-BEMERKUNGEN:
- Die Werte sollten moeglichst nicht dynamisch geaendert werden.
- Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet
- geprueft und ggf. mit UpdateAttributes() an ihm upgedatet werden.
+DEFINIERT IN
+============
-BEISPIELE:
- // Dem Spieler, der das Objekt benutzt, wird 2 von A_INT abgezogen und
- // dafuer 1 auf A_STR aufaddiert.
- SetProp(P_M_ATTR_MOD, ([A_INT:-2, A_STR:1]) );
+ /sys/living/attributes.h
-SIEHE AUCH:
- QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
- SetAttribute(), SetRealAttribute(), UpdateAttributes(),
- SetTimedAttrModifier(), QueryTimedAttrModifier(),
- DeleteTimedAttrModifier(),
- P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
- P_TIMED_ATTR_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
+BESCHREIBUNG
+============
+
+ Mapping, das die Attribute des Spielers veraendert, der diese Ruestung
+ bzw. Waffe traegt bzw. benutzt.
+
+ Zu beachten:
+ P_M_ATTR_MOD kann problemlos durch ein SetProp() gesetzt werden. Es wird
+ nur dann beruecksichtigt, wenn die Ruestung/Waffe getragen/benutzt wird.
+ Beim Tragen/Ausziehen/Zuecken/Wegstecken wird im Spieler automatisch
+ UpdateAttributes() aufgerufen.
+
+ Fuer Krankheiten etc. oder Objekte, deren *Besitz* allein schon die
+ Attribute veraendern sollen, verwendet man besser P_X_ATTR_MOD.
+
+ P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
+ positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
+ CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.
+
+
+BEMERKUNGEN
+===========
+
+ Die Werte sollten moeglichst nicht dynamisch geaendert werden.
+ Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet
+ geprueft und ggf. mit UpdateAttributes() an ihm upgedatet werden.
+
+
+BEISPIELE
+=========
+
+ // Dem Spieler, der das Objekt benutzt, wird 2 von A_INT abgezogen und
+ // dafuer 1 auf A_STR aufaddiert.
+ SetProp(P_M_ATTR_MOD, ([A_INT:-2, A_STR:1]) );
+
+
+SIEHE AUCH
+==========
+
+ QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+ SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+ SetTimedAttrModifier(), QueryTimedAttrModifier(),
+ DeleteTimedAttrModifier(),
+ P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
+ P_TIMED_ATTR_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
02.02.2016, Gloinson
diff --git a/doc/props/P_M_HEALTH_MOD b/doc/props/P_M_HEALTH_MOD
index a4c89e6..cdc3fd4 100644
--- a/doc/props/P_M_HEALTH_MOD
+++ b/doc/props/P_M_HEALTH_MOD
@@ -1,40 +1,64 @@
-NAME:
- P_M_HEALTH_MOD "magic_health_modifier"
-DEFINIERT IN:
- /sys/living/attributes.h
+P_M_HEALTH_MOD
+**************
-BESCHREIBUNG:
- Mapping, mit dem die maximalen Lebenspunkte und Magiepunkte eines
- Spielers veraendert werden, der diese Ruestung/Waffe traegt/benutzt. Im
- Gegensatz zu P_M_ATTR_MOD erfolgt hier jedoch keine Blockade.
- Zu beachten: P_M_HEALTH_MOD kann problemlos durch ein SetProp() gesetzt
- werden, es wird nur beruecksichtigt, wenn die Ruestung/Waffe
- getragen/benutzt wird. Beim tragen/ausziehen/zuecken/wegstecken wird im
- Spieler automatisch UpdateAttributes() aufgerufen.
+NAME
+====
- Fuer Krankheiten etc. verwendet man besser die Property P_X_HEALTH_MOD.
+ P_M_HEALTH_MOD "magic_health_modifier"
- Bitte beachten: Die positiven Modifier werden nicht mehr 1:1 auf die
- Lebens- und Magiepunkte draufaddiert. Stattdessen wird nur noch ein
- gewisser Teil dort hinzuaddiert, der mit groesserer Menge von Punkten
- zunimmt, und im unteren Bereich grob dem Wert entspricht. Das
- theoretische Maximum ist insgesamt 149.
-BEMERKUNGEN:
- Die Werte sollten moeglichst nicht dynamisch geaendert werden.
- Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet
- geprueft werden und mit UpdateAttributes() an ihm ggf. upgedatet.
+DEFINIERT IN
+============
-BEISPIEL:
- SetProp(P_M_HEALTH_MOD,([P_HP:5,P_SP:-5]));
- // Dem Spieler, der das Objekt benutzt, wird P_MAX_HP um 5 erhoeht und
- // P_MAX_SP um 5 erniedrigt.
+ /sys/living/attributes.h
-SIEHE AUCH:
- P_X_HEALTH_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, balance
-LETZTE AeNDERUNG:
- Fre,11.05.2007, 00:20 von Humni
+BESCHREIBUNG
+============
+ Mapping, mit dem die maximalen Lebenspunkte und Magiepunkte eines
+ Spielers veraendert werden, der diese Ruestung/Waffe traegt/benutzt. Im
+ Gegensatz zu P_M_ATTR_MOD erfolgt hier jedoch keine Blockade.
+
+ Zu beachten: P_M_HEALTH_MOD kann problemlos durch ein SetProp() gesetzt
+ werden, es wird nur beruecksichtigt, wenn die Ruestung/Waffe
+ getragen/benutzt wird. Beim tragen/ausziehen/zuecken/wegstecken wird im
+ Spieler automatisch UpdateAttributes() aufgerufen.
+
+ Fuer Krankheiten etc. verwendet man besser die Property P_X_HEALTH_MOD.
+
+ Bitte beachten: Die positiven Modifier werden nicht mehr 1:1 auf die
+ Lebens- und Magiepunkte draufaddiert. Stattdessen wird nur noch ein
+ gewisser Teil dort hinzuaddiert, der mit groesserer Menge von Punkten
+ zunimmt, und im unteren Bereich grob dem Wert entspricht. Das
+ theoretische Maximum ist insgesamt 149.
+
+
+BEMERKUNGEN
+===========
+
+ Die Werte sollten moeglichst nicht dynamisch geaendert werden.
+ Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet
+ geprueft werden und mit UpdateAttributes() an ihm ggf. upgedatet.
+
+
+BEISPIEL
+========
+
+ SetProp(P_M_HEALTH_MOD,([P_HP:5,P_SP:-5]));
+ // Dem Spieler, der das Objekt benutzt, wird P_MAX_HP um 5 erhoeht und
+ // P_MAX_SP um 5 erniedrigt.
+
+
+SIEHE AUCH
+==========
+
+ P_X_HEALTH_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, balance
+
+
+LETZTE AeNDERUNG
+================
+
+ Fre,11.05.2007, 00:20 von Humni
diff --git a/doc/props/P_NAME b/doc/props/P_NAME
index f609cea..1fdc261 100644
--- a/doc/props/P_NAME
+++ b/doc/props/P_NAME
@@ -1,65 +1,84 @@
+
P_NAME
+******
-NAME:
- P_NAME "name"
-DEFINIERT IN:
- <thing/description.h>
+NAME
+====
-BESCHREIBUNG:
- In dieser Property wird der Name eines Objektes vermerkt. Wenn der Name
- regelmaessig dekliniert wird, reicht ein einfacher String. Wird der
- Name unregelmaessig dekliniert, so kann man ein Array von vier Strings
- mit dem Namen im Nominativ, Genitiv, Dativ und Akkusativ (in dieser
- Reihenfolge) angeben.
+ P_NAME "name"
- Die Funktion name() behandelt recht viele Sonderfaelle; man sollte den
- Namen also erst einmal in der Form eines einzelnen Strings pruefen.
- Eine Sonderrolle nehmen Unit-Objekte ein: Hier kann man einen Namen
- fuer den Singular und einen Namen fuer den Plural vergeben.
+DEFINIERT IN
+============
- Setzt man P_NAME eines Unit-Objekts auf einen einfachen String, so wird
- dieser als Name sowohl im Singular als auch im Plural verwendet.
+ <thing/description.h>
- Uebergibt man ein Array von Strings, so wird der erste Eintrag fuer den
- Singular und der zweite Eintrag fuer den Plural benutzt.
- Bei Unit-Objekten ist es nicht moeglich, auch noch zwischen den
- verschiedenen Faellen zu unterscheiden.
+BESCHREIBUNG
+============
-BEMERKUNGEN:
- Diese Property sollte nur den reinen Namen enthalten; will man dem
- Namen noch Adjektive voranstellen, so sollte man dies mit P_NAME_ADJ
- bewerkstelligen, also statt
+ In dieser Property wird der Name eines Objektes vermerkt. Wenn der Name
+ regelmaessig dekliniert wird, reicht ein einfacher String. Wird der
+ Name unregelmaessig dekliniert, so kann man ein Array von vier Strings
+ mit dem Namen im Nominativ, Genitiv, Dativ und Akkusativ (in dieser
+ Reihenfolge) angeben.
- SetProp(P_NAME, ({ "alter Hut", "alten Huts",
- "alten Hut", "alten Hut" }) );
+ Die Funktion name() behandelt recht viele Sonderfaelle; man sollte den
+ Namen also erst einmal in der Form eines einzelnen Strings pruefen.
- besser
+ Eine Sonderrolle nehmen Unit-Objekte ein: Hier kann man einen Namen
+ fuer den Singular und einen Namen fuer den Plural vergeben.
- SetProp(P_NAME, "Hut");
- SetProp(P_NAME_ADJ, "alt");
+ Setzt man P_NAME eines Unit-Objekts auf einen einfachen String, so wird
+ dieser als Name sowohl im Singular als auch im Plural verwendet.
- Bei Lebewesen wird lower_case(P_NAME) (bei Arrays das erste Element
- daraus) automatisch als LivingName gesetzt.
+ Uebergibt man ein Array von Strings, so wird der erste Eintrag fuer den
+ Singular und der zweite Eintrag fuer den Plural benutzt.
-BEISPIELE:
- Ein regelmaessig deklinierbarer Name:
+ Bei Unit-Objekten ist es nicht moeglich, auch noch zwischen den
+ verschiedenen Faellen zu unterscheiden.
- SetProp(P_NAME, "Arkshat");
- Hier ein Beispiel fuer einen unregelmaessig deklinierbaren Namen:
+BEMERKUNGEN
+===========
- SetProp(P_NAME, ({ "Drache", "Drachen", "Drachen", "Drachen" }));
+ Diese Property sollte nur den reinen Namen enthalten; will man dem
+ Namen noch Adjektive voranstellen, so sollte man dies mit P_NAME_ADJ
+ bewerkstelligen, also statt
- Und schliesslich der Name eines allseits bekannten Unit-Objektes:
+ SetProp(P_NAME, ({ "alter Hut", "alten Huts",
+ "alten Hut", "alten Hut" }) );
- SetProp(P_NAME, ({ "Muenze", "Muenzen" }));
+ besser
-SIEHE AUCH:
- /std/thing/description.c, name(), P_NAME_ADJ, set_living_name(),
- find_living(), find_livings()
+ SetProp(P_NAME, "Hut");
+ SetProp(P_NAME_ADJ, "alt");
-----------------------------------------------------------------------------
-Last modified: 19. Okt. 2015, Arathorn.
+ Bei Lebewesen wird lower_case(P_NAME) (bei Arrays das erste Element
+ daraus) automatisch als LivingName gesetzt.
+
+
+BEISPIELE
+=========
+
+ Ein regelmaessig deklinierbarer Name:
+
+ SetProp(P_NAME, "Arkshat");
+
+ Hier ein Beispiel fuer einen unregelmaessig deklinierbaren Namen:
+
+ SetProp(P_NAME, ({ "Drache", "Drachen", "Drachen", "Drachen" }));
+
+ Und schliesslich der Name eines allseits bekannten Unit-Objektes:
+
+ SetProp(P_NAME, ({ "Muenze", "Muenzen" }));
+
+
+SIEHE AUCH
+==========
+
+ /std/thing/description.c, name(), P_NAME_ADJ, set_living_name(),
+ find_living(), find_livings()
+
+Last modified: 19. Okt. 2015, Arathorn.
diff --git a/doc/props/P_NAME_ADJ b/doc/props/P_NAME_ADJ
index 2bf15e6..c4cc4a4 100644
--- a/doc/props/P_NAME_ADJ
+++ b/doc/props/P_NAME_ADJ
@@ -1,55 +1,72 @@
+
P_NAME_ADJ
-
-NAME:
- P_NAME_ADJ "name_adj"
-
-DEFINIERT IN:
- <thing/description.h>
-
-BESCHREIBUNG:
- Diese Property enthaelt ein oder mehrere Adjektive in Form eines Arrays
- von Strings. Es ist nur der Wortstamm anzugeben! Die Adjektive werden
- von der Funktion name() dekliniert und vor den Namen gesetzt, wirken
- also als Aufzaehlung von Adjektiven vor dem Namen.
-
- Die hier angegebenen Adjektive dienen nur zur Ausgabe! Soll sich das
- Objekt auch ueber Adjektive ansprechen lassen, muss man diese mit
- AddAdjective() uebergeben.
-
- Soll das Objekt nur ein einzelnes Namensadjektiv besitzen, kann man dem
- SetProp()-Aufruf auch einen String uebergeben; gespeichert wird die
- Property aber in jedem Fall als Array.
-
- Wenn ein Adjektiv unregelmaessig ist, kann man die vier Faelle auch
- als Array uebergeben. Man muss dann aber Arrays schachteln, damit von den
- mehrfachen Adjektiven unterschieden werden kann.
-
-BEISPIELE:
- SetProp(P_NAME, "Hut");
- SetProp(P_NAME_ADJ, "alt");
-
- name(WESSEN,1) => "des alten Huts"
+**********
- // Zwei Adjektive, gleichrangig zu Substantiv
- SetProp(P_NAME_ADJ, ({"alt", "gammelig"}));
+NAME
+====
- name(WESSEN,1) => "des alten, gammeligen Huts"
+ P_NAME_ADJ "name_adj"
- // Zwei Adjektive, erstes ist Attribut zu zweitem
- falsch: SetProp(P_NAME_ADJ, ({"gruen", "gestreift"}));
- name(WESSEN,1) => "des gruenen, gestreiften Huts"
- richtig: SetProp(P_NAME_ADJ, ({"gruen gestreift"}));
- name(WESSEN,1) => "des gruen gestreiften Huts"
+DEFINIERT IN
+============
- // Unregelmaessiges Adjektiv
- SetProp( P_NAME_ADJ,({({"rosa","rosa","rosa","rosa"})});
- name(WESSEN,1) => "des rosa Huts"
- // Ohne inneres Array haette man 4 mal rosa als Adjektiv
- // => "des rosaen, rosaen, rosaen, rosaen Huts"
+ <thing/description.h>
-SIEHE AUCH:
- /std/thing/description.c, name(), P_NAME, DeclAdj()
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt ein oder mehrere Adjektive in Form eines Arrays
+ von Strings. Es ist nur der Wortstamm anzugeben! Die Adjektive werden
+ von der Funktion name() dekliniert und vor den Namen gesetzt, wirken
+ also als Aufzaehlung von Adjektiven vor dem Namen.
+
+ Die hier angegebenen Adjektive dienen nur zur Ausgabe! Soll sich das
+ Objekt auch ueber Adjektive ansprechen lassen, muss man diese mit
+ AddAdjective() uebergeben.
+
+ Soll das Objekt nur ein einzelnes Namensadjektiv besitzen, kann man dem
+ SetProp()-Aufruf auch einen String uebergeben; gespeichert wird die
+ Property aber in jedem Fall als Array.
+
+ Wenn ein Adjektiv unregelmaessig ist, kann man die vier Faelle auch
+ als Array uebergeben. Man muss dann aber Arrays schachteln, damit von den
+ mehrfachen Adjektiven unterschieden werden kann.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_NAME, "Hut");
+ SetProp(P_NAME_ADJ, "alt");
+
+ name(WESSEN,1) => "des alten Huts"
+
+
+ // Zwei Adjektive, gleichrangig zu Substantiv
+ SetProp(P_NAME_ADJ, ({"alt", "gammelig"}));
+
+ name(WESSEN,1) => "des alten, gammeligen Huts"
+
+
+ // Zwei Adjektive, erstes ist Attribut zu zweitem
+ falsch: SetProp(P_NAME_ADJ, ({"gruen", "gestreift"}));
+ name(WESSEN,1) => "des gruenen, gestreiften Huts"
+ richtig: SetProp(P_NAME_ADJ, ({"gruen gestreift"}));
+ name(WESSEN,1) => "des gruen gestreiften Huts"
+
+ // Unregelmaessiges Adjektiv
+ SetProp( P_NAME_ADJ,({({"rosa","rosa","rosa","rosa"})});
+ name(WESSEN,1) => "des rosa Huts"
+ // Ohne inneres Array haette man 4 mal rosa als Adjektiv
+ // => "des rosaen, rosaen, rosaen, rosaen Huts"
+
+
+SIEHE AUCH
+==========
+
+ /std/thing/description.c, name(), P_NAME, DeclAdj()
23.April 2007 Rumata
diff --git a/doc/props/P_NEEDED_QP b/doc/props/P_NEEDED_QP
index e38f9eb..2df4c78 100644
--- a/doc/props/P_NEEDED_QP
+++ b/doc/props/P_NEEDED_QP
@@ -1,15 +1,31 @@
-NAME:
- P_NEEDED_QP "needed_qp"
-DEFINIERT IN:
- /sys/player/base.h
+P_NEEDED_QP
+***********
-BESCHREIBUNG:
- APs, die man fuer den Seherstatus braucht
- Diese Property ist mittlerweile obsolet. Die
- aktuell geltenden Seher-Anforderungen stehen in
- /secure/lepmaster.h
+NAME
+====
-LETZTE AENDERUNG:
- 2006-09-30, Zook.
\ No newline at end of file
+ P_NEEDED_QP "needed_qp"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ APs, die man fuer den Seherstatus braucht
+
+ Diese Property ist mittlerweile obsolet. Die
+ aktuell geltenden Seher-Anforderungen stehen in
+ /secure/lepmaster.h
+
+
+LETZTE AENDERUNG
+================
+
+ 2006-09-30, Zook.
diff --git a/doc/props/P_NETDEAD_ENV b/doc/props/P_NETDEAD_ENV
index b2d6317..2e46f5d 100644
--- a/doc/props/P_NETDEAD_ENV
+++ b/doc/props/P_NETDEAD_ENV
@@ -1,24 +1,43 @@
-NAME:
- P_NETDEAD_ENV "netdead_env"
-DEFINIERT IN:
- /sys/player/base.h
+P_NETDEAD_ENV
+*************
-BESCHREIBUNG:
- Diese Property kann in netztoten Spielern abgefragt werden,
- um herauszufinden, in welchem Raum sie netztot geworden sind.
- Es wird der selbe Wert zurueckgegeben, den die Mudlib benutzen
- wuerde, um die Spieler beim reconnect wieder an den richtigen
- ort zu bringen. Das ist normalerweise das Raumobjekt oder der
- Dateiname des Raums (zum Beispiel so dieser ein clone war).
+NAME
+====
- Bei nicht netztoten Spielern wird 0 zurueckgegeben.
+ P_NETDEAD_ENV "netdead_env"
-BEMERKUNGEN:
- Diese Property ist read-only.
-SIEHE AUCH:
- P_NETDEAD_INFO
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property kann in netztoten Spielern abgefragt werden,
+ um herauszufinden, in welchem Raum sie netztot geworden sind.
+
+ Es wird der selbe Wert zurueckgegeben, den die Mudlib benutzen
+ wuerde, um die Spieler beim reconnect wieder an den richtigen
+ ort zu bringen. Das ist normalerweise das Raumobjekt oder der
+ Dateiname des Raums (zum Beispiel so dieser ein clone war).
+
+ Bei nicht netztoten Spielern wird 0 zurueckgegeben.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property ist read-only.
+
+
+SIEHE AUCH
+==========
+
+ P_NETDEAD_INFO
2009-08-04 Rumata
diff --git a/doc/props/P_NETDEAD_INFO b/doc/props/P_NETDEAD_INFO
index 83c36fd..fe96ac6 100644
--- a/doc/props/P_NETDEAD_INFO
+++ b/doc/props/P_NETDEAD_INFO
@@ -1,91 +1,120 @@
-NAME:
- P_NETDEAD_INFO "netdead_info"
-DEFINIERT IN:
- /sys/player.h
+P_NETDEAD_INFO
+**************
-BESCHREIBUNG:
- Wird im Raum X gesetzt und wirkt nur, falls dieser Raum ein '#' im
- object_name() hat (normale Clones, zB "/room/void#10153018").
-
- Bei Einschlafen eines Spielers in diesem Raum werden die Werte aus
- der Property im Spieler gespeichert (Netztoteninformationen).
- Ist beim Aufwachen des Spielers das Raumobjekt X zerstoert worden, dann
- wird bei der Blueprint von X per SetProp() die gespeicherte Information
- gesetzt. Der Rueckgabewert des SetProp wird als Pfad zu einem Ausweich-
- Aufwach-Raum interpretiert und der Spieler wird in dem Fall dorthin
- bewegt.
+NAME
+====
-BEMERKUNGEN:
- Zum Clonen von Raeumen sollten Virtual Compiler benutzt werden:
- Wird in den erzeugten Objektnamen KEIN '#' verwendet, dann ist diese
- Property nicht sinnvoll und wird nicht verwendet. Ein ordentlicher
- VC kann Bewegen eines Spielers in dessen alten, nicht mehr existierenden
- Raum oder einen Ersatzraum beim Aufwachen selbst loesen.
+ P_NETDEAD_INFO "netdead_info"
-BEISPIELE:
- // #1: geclonter Raum mit Ausweich-Aufwachraum: Klerus-Gilde
- #include <properties.h>
- inherit "/std/room";
-
- void create() {
- ::create();
- SetProp(P_NETDEAD_INFO, "/gilden/klerus");
- SetProp(P_LIGHT, 1);
- }
-
- // #2: komplexerer Beispielraum fuer P_NETDEAD_INFO-Funktionalitaet
- // Siehe auch: /doc/beispiele/testobjekte/netdead_info_testraum.c
- #include <properties.h>
- inherit "/std/room";
+DEFINIERT IN
+============
- void create() {
- ::create();
+ /sys/player.h
- if (clonep(this_object()))
- // setze Informationen, die im Netztoten gespeichert werden sollen
- Set(P_NETDEAD_INFO, random(5));
- else
- // Blueprint: hier kann man zu einem Cloneraum gehen
- AddExit("cloneraum", #'create_room);
- // Set-Method, um die Informationen aus P_NETDEAD_INFO beim Aufwachen
- // in der Blueprint auswerten zu koennen
- Set(P_NETDEAD_INFO, #'create_destiny, F_SET_METHOD);
- SetProp(P_LIGHT, 1);
- }
-
- // Raum entfernen, normalerweise so KEINE GUTE IDEE!
- void BecomesNetDead(object pl) {
- call_out(#'remove, 30);
- }
+BESCHREIBUNG
+============
- // erzeuge einen Cloneraum und bewege den Spieler dahin
- int create_room(string dir) {
- object dest = clone_object(object_name(this_object()));
- this_player()->move(dest, M_NOCHECK);
- return 1;
- }
-
- // Set-Method fuer P_NETDEAD_INFO: gibt Pfad zurueck
- // benutze die Informationen aus dem jetzt aufwachenden Netztoten, um
- // einen alternativen Aufwachraum zu ermitteln, da der Einschlafraum
- // zerstoert ist
- string create_destiny(mixed val) {
- if (intp(val)) {
- switch (val) {
- case 0:
- return "/d/ebene/room/PortVain/po_haf1";
- case 1:
- return "/gilden/klerus";
- case 2:
- return "/gilden/karate";
- default:
- }
- return "/d/ebene/room/waldweg4";
+ Wird im Raum X gesetzt und wirkt nur, falls dieser Raum ein '#' im
+ object_name() hat (normale Clones, zB "/room/void#10153018").
+
+
+
+ Bei Einschlafen eines Spielers in diesem Raum werden die Werte aus
+ der Property im Spieler gespeichert (Netztoteninformationen).
+
+ Ist beim Aufwachen des Spielers das Raumobjekt X zerstoert worden, dann
+ wird bei der Blueprint von X per SetProp() die gespeicherte Information
+ gesetzt. Der Rueckgabewert des SetProp wird als Pfad zu einem Ausweich-
+ Aufwach-Raum interpretiert und der Spieler wird in dem Fall dorthin
+ bewegt.
+
+
+BEMERKUNGEN
+===========
+
+ Zum Clonen von Raeumen sollten Virtual Compiler benutzt werden:
+ Wird in den erzeugten Objektnamen KEIN '#' verwendet, dann ist diese
+ Property nicht sinnvoll und wird nicht verwendet. Ein ordentlicher
+ VC kann Bewegen eines Spielers in dessen alten, nicht mehr existierenden
+ Raum oder einen Ersatzraum beim Aufwachen selbst loesen.
+
+
+BEISPIELE
+=========
+
+ // #1: geclonter Raum mit Ausweich-Aufwachraum: Klerus-Gilde
+ #include <properties.h>
+ inherit "/std/room";
+
+
+
+ void create() {
+ ::create();
+
+ SetProp(P_NETDEAD_INFO, "/gilden/klerus");
+ SetProp(P_LIGHT, 1);
+ }
+
+
+
+ // #2: komplexerer Beispielraum fuer P_NETDEAD_INFO-Funktionalitaet
+ // Siehe auch: /doc/beispiele/testobjekte/netdead_info_testraum.c
+ #include <properties.h>
+ inherit "/std/room";
+
+ void create() {
+ ::create();
+
+ if (clonep(this_object()))
+ // setze Informationen, die im Netztoten gespeichert werden sollen
+ Set(P_NETDEAD_INFO, random(5));
+ else
+ // Blueprint: hier kann man zu einem Cloneraum gehen
+ AddExit("cloneraum", #'create_room);
+
+ // Set-Method, um die Informationen aus P_NETDEAD_INFO beim Aufwachen
+ // in der Blueprint auswerten zu koennen
+ Set(P_NETDEAD_INFO, #'create_destiny, F_SET_METHOD);
+ SetProp(P_LIGHT, 1);
+ }
+
+
+
+ // Raum entfernen, normalerweise so KEINE GUTE IDEE!
+ void BecomesNetDead(object pl) {
+ call_out(#'remove, 30);
+ }
+
+ // erzeuge einen Cloneraum und bewege den Spieler dahin
+ int create_room(string dir) {
+ object dest = clone_object(object_name(this_object()));
+ this_player()->move(dest, M_NOCHECK);
+ return 1;
+ }
+
+
+
+ // Set-Method fuer P_NETDEAD_INFO: gibt Pfad zurueck
+ // benutze die Informationen aus dem jetzt aufwachenden Netztoten, um
+ // einen alternativen Aufwachraum zu ermitteln, da der Einschlafraum
+ // zerstoert ist
+ string create_destiny(mixed val) {
+ if (intp(val)) {
+ switch (val) {
+ case 0:
+ return "/d/ebene/room/PortVain/po_haf1";
+ case 1:
+ return "/gilden/klerus";
+ case 2:
+ return "/gilden/karate";
+ default:
}
+ return "/d/ebene/room/waldweg4";
}
+ }
2. Jan 2012 Gloinson
diff --git a/doc/props/P_NEVERDROP b/doc/props/P_NEVERDROP
index 80364ce..d0cdf41 100644
--- a/doc/props/P_NEVERDROP
+++ b/doc/props/P_NEVERDROP
@@ -1,29 +1,50 @@
-NAME:
- P_NEVERDROP "neverdrop"
-DEFINIERT IN:
- /sys/thing/moving.h
+P_NEVERDROP
+***********
-BESCHREIBUNG:
- Objekte, welche diese Property gesetzt haben, werden beim Tod eines
- Lebewesens nicht automatisch in die Leiche oder in den umgebenden
- Raum (z.B. bei bei gesetztem P_NOCORPSE) transportiert.
-BEMERKUNGEN:
- Soll das Objekt vom Lebewesen nicht weggelegt werden koennen, so ist
- die Property P_NODROP zu verwenden.
- Beide Properties zusammen stellen sicher, dass ein Objekt nicht
- weitergegeben werden kann.
+NAME
+====
-BEISPIELE:
- Eine dauerhafte Belohnung, die auch beim Tod des Spielers bei ihm
- verbleiben soll, setzt das so:
- SetProp(P_NEVERDROP,1);
- Sollen auch Reboots ueberstanden werden, ist zusaetzlich
- P_AUTOLOADOBJ zu setzen.
+ P_NEVERDROP "neverdrop"
-SIEHE AUCH:
- P_NODROP, P_NOGET, P_NOCORPSE, P_AUTOLOADOBJ, /std/living/life.c
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+ Objekte, welche diese Property gesetzt haben, werden beim Tod eines
+ Lebewesens nicht automatisch in die Leiche oder in den umgebenden
+ Raum (z.B. bei bei gesetztem P_NOCORPSE) transportiert.
+
+
+BEMERKUNGEN
+===========
+
+ Soll das Objekt vom Lebewesen nicht weggelegt werden koennen, so ist
+ die Property P_NODROP zu verwenden.
+ Beide Properties zusammen stellen sicher, dass ein Objekt nicht
+ weitergegeben werden kann.
+
+
+BEISPIELE
+=========
+
+ Eine dauerhafte Belohnung, die auch beim Tod des Spielers bei ihm
+ verbleiben soll, setzt das so:
+ SetProp(P_NEVERDROP,1);
+ Sollen auch Reboots ueberstanden werden, ist zusaetzlich
+ P_AUTOLOADOBJ zu setzen.
+
+
+SIEHE AUCH
+==========
+
+ P_NODROP, P_NOGET, P_NOCORPSE, P_AUTOLOADOBJ, /std/living/life.c
+
Last modified: Thu Jun 14 22:26:29 2001 by Patryn
diff --git a/doc/props/P_NEVER_CLEAN b/doc/props/P_NEVER_CLEAN
index 5a84820..fc568ff 100644
--- a/doc/props/P_NEVER_CLEAN
+++ b/doc/props/P_NEVER_CLEAN
@@ -1,35 +1,53 @@
-NAME:
- P_NEVER_CLEAN " never clean "
-DEFINIERT IN:
- /sys/rooms.h
+P_NEVER_CLEAN
+*************
-BESCHREIBUNG:
- Normalerweise wird ein Raum nach 2 Resets zerstoert, wenn er waerend
- dieser Zeit von keinem Lebewesen betreten wurde und wenn
- keine REFRESH_NONE- oder REFRESH_DESTRUCT-Objekte existieren, die
- nicht mehr im Raum vorhanden sind.
- Mit dieser Property kann man den sogenannten Clean-Up unterbinden.
-BEISPIEL:
- Der folgende Raum wird nicht mehr zerstoert, wenn er einmal geladen
- wurde:
- #include <properties.h>
- // #include <rooms.h> ... wird schon von properties.h included!
- inherit "std/room";
- void create()
- { ::create();
- SetProp(P_SHORT,"Ein toller Raum");
- ...
- SetProp(P_NEVER_CLEAN,1);
- ...
- }
- Man sollte die Anwendung nicht uebertreiben! Wichtig ist diese
- Funktion zum Beispiel fuer Raeume, die gleichzeitig Masterobjekte
- darstellen.
+NAME
+====
-SIEHE AUCH:
- /std/room.c
+ P_NEVER_CLEAN " never clean "
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/rooms.h
+
+
+BESCHREIBUNG
+============
+
+ Normalerweise wird ein Raum nach 2 Resets zerstoert, wenn er waerend
+ dieser Zeit von keinem Lebewesen betreten wurde und wenn
+ keine REFRESH_NONE- oder REFRESH_DESTRUCT-Objekte existieren, die
+ nicht mehr im Raum vorhanden sind.
+ Mit dieser Property kann man den sogenannten Clean-Up unterbinden.
+
+
+BEISPIEL
+========
+
+ Der folgende Raum wird nicht mehr zerstoert, wenn er einmal geladen
+ wurde:
+ #include <properties.h>
+ // #include <rooms.h> ... wird schon von properties.h included!
+ inherit "std/room";
+ void create()
+ { ::create();
+ SetProp(P_SHORT,"Ein toller Raum");
+ ...
+ SetProp(P_NEVER_CLEAN,1);
+ ...
+ }
+ Man sollte die Anwendung nicht uebertreiben! Wichtig ist diese
+ Funktion zum Beispiel fuer Raeume, die gleichzeitig Masterobjekte
+ darstellen.
+
+
+SIEHE AUCH
+==========
+
+ /std/room.c
+
Last modified: Wed Feb 3 00:54:32 1999 by Patryn
diff --git a/doc/props/P_NEWSKILLS b/doc/props/P_NEWSKILLS
index 66ba1ff..7cb61c7 100644
--- a/doc/props/P_NEWSKILLS
+++ b/doc/props/P_NEWSKILLS
@@ -1,20 +1,38 @@
-NAME:
- P_NEWSKILLS "newskills"
-DEFINIERT IN:
- /sys/new_skills.h
+P_NEWSKILLS
+***********
-BESCHREIBUNG:
- In dieser Property sind saemtliche Skills und Spells vermerkt, die
- das Lebewesen kennt.
-BEMERKUNGEN:
- Man sollte diese Property nicht per Hand veraendern, sondern die
- Funktionen von "/std/living/skills.c" nutzen.
+NAME
+====
-SIEHE AUCH:
- ModifySkill(), LearnSkill(), UseSkill(), /std/living/skills.c,
- P_GUILD_SKILLS, P_SB_SPELLS
+ P_NEWSKILLS "newskills"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property sind saemtliche Skills und Spells vermerkt, die
+ das Lebewesen kennt.
+
+
+BEMERKUNGEN
+===========
+
+ Man sollte diese Property nicht per Hand veraendern, sondern die
+ Funktionen von "/std/living/skills.c" nutzen.
+
+
+SIEHE AUCH
+==========
+
+ ModifySkill(), LearnSkill(), UseSkill(), /std/living/skills.c,
+ P_GUILD_SKILLS, P_SB_SPELLS
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_NEXT_DEATH_SEQUENCE b/doc/props/P_NEXT_DEATH_SEQUENCE
index 4ae7e7a..6992a32 100644
--- a/doc/props/P_NEXT_DEATH_SEQUENCE
+++ b/doc/props/P_NEXT_DEATH_SEQUENCE
@@ -1,48 +1,68 @@
+
P_NEXT_DEATH_SEQUENCE
+*********************
-NAME:
- P_NEXT_DEATH_SEQUENCE "p_lib_next_death_sequence"
-DEFINIERT IN:
- /sys/living/combat.h
+NAME
+====
-BESCHREIBUNG:
- Im Spieler kann damit dessen eigene Todessequenz fuer den naechsten
- Tod festgelegt werden. Nach einem Tod (egal welche Todessequenz
- gewaehlt wurde) wird die Property geloescht und muesste neu gesetzt
- werden.
+ P_NEXT_DEATH_SEQUENCE "p_lib_next_death_sequence"
- Es gibt folgende gueltige Werte:
- - string: Pfad zu einer eigenen Todessequenz im gueltigen Format
- - mixed* Eine Todessequenz im Format des Todesraumes:
- ({<int gesamtlaenge>,
- ([<int index1>: <string umgebrochene Meldung1>,
- <int index2>: <string umgebrochene Meldung2>,
- ...])
- })
- - mapping In die Standard-Lars-Todessequenz einzufuegende Zeilen:
- ([<int zeitindex>: <string umgebrochener Text>])
-BEMERKUNGEN:
- Eine Todessequenz eines Gegners, festgelegt ueber
- P_ENEMY_DEATH_SEQUENCE hat Vorrang vor dieser Property.
+DEFINIERT IN
+============
-BEISPIELE:
- // Pfad zu einer eigenen DSQ
- SetProp(P_NEXT_DEATH_SEQUENCE, ".../passende_dsq.txt");
+ /sys/living/combat.h
- // eigene DSQ im Todesraumformat:
- SetProp(P_NEXT_DEATH_SEQUENCE,
- ({ 2, ([1: "Der Tod entlaesst dich eilig.\n"])}));
- // Einfuegen einer Meldung in die Standard-Todessequenz
- SetProp(P_NEXT_DEATH_SEQUENCE,
- ([5: "Du fuehlst dich etwas daemlich.\n"]));
+BESCHREIBUNG
+============
-SIEHE AUCH:
- Tod: die(L)
- Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
- P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
- Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+ Im Spieler kann damit dessen eigene Todessequenz fuer den naechsten
+ Tod festgelegt werden. Nach einem Tod (egal welche Todessequenz
+ gewaehlt wurde) wird die Property geloescht und muesste neu gesetzt
+ werden.
-10. Nov 2011 Gloinson
\ No newline at end of file
+ Es gibt folgende gueltige Werte:
+ - string: Pfad zu einer eigenen Todessequenz im gueltigen Format
+ - mixed* Eine Todessequenz im Format des Todesraumes:
+ ({<int gesamtlaenge>,
+ ([<int index1>: <string umgebrochene Meldung1>,
+ <int index2>: <string umgebrochene Meldung2>,
+ ...])
+ })
+ - mapping In die Standard-Lars-Todessequenz einzufuegende Zeilen:
+ ([<int zeitindex>: <string umgebrochener Text>])
+
+
+BEMERKUNGEN
+===========
+
+ Eine Todessequenz eines Gegners, festgelegt ueber
+ P_ENEMY_DEATH_SEQUENCE hat Vorrang vor dieser Property.
+
+
+BEISPIELE
+=========
+
+ // Pfad zu einer eigenen DSQ
+ SetProp(P_NEXT_DEATH_SEQUENCE, ".../passende_dsq.txt");
+
+ // eigene DSQ im Todesraumformat:
+ SetProp(P_NEXT_DEATH_SEQUENCE,
+ ({ 2, ([1: "Der Tod entlaesst dich eilig.\n"])}));
+
+ // Einfuegen einer Meldung in die Standard-Todessequenz
+ SetProp(P_NEXT_DEATH_SEQUENCE,
+ ([5: "Du fuehlst dich etwas daemlich.\n"]));
+
+
+SIEHE AUCH
+==========
+
+ Tod: die(L)
+ Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
+ P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+ Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
+10. Nov 2011 Gloinson
diff --git a/doc/props/P_NEXT_DISABLE_ATTACK b/doc/props/P_NEXT_DISABLE_ATTACK
index 7019ac6..6a9eea3 100644
--- a/doc/props/P_NEXT_DISABLE_ATTACK
+++ b/doc/props/P_NEXT_DISABLE_ATTACK
@@ -1,31 +1,52 @@
-PROPERTY
- P_NEXT_DISABLE_ATTACK "next_diable_attack"
-DEFINIERT IN
- combat.h
+P_NEXT_DISABLE_ATTACK
+*********************
+
+
+PROPERTY
+========
+
+ P_NEXT_DISABLE_ATTACK "next_diable_attack"
+
+
+DEFINIERT IN
+============
+
+ combat.h
+
BESCHREIBUNG
- Diese Property gibt an, wann der NPC das naechste Mal paralysiert
- werden kann. Ueblicherweise wird sie automatisch beim Setzen
- von P_DISABLE_ATTACK gesetzt. Sie gibt einen Zeitpunkt wie
- die Funktion time() an, an dem zum ersten Mal wieder Paralyse
- moeglich ist.
+============
- Will man einen NPC schreiben, der immer paralysierbar ist und nicht erst
- nach einer gewissen Wartezeit nach der letzten Paralyse, laesst sich dies
- durch eine Set-Methode auf P_NEXT_DISABLE_ATTACK erreichen:
-
- Set(P_NEXT_DISABLE_ATTACK, function int () {return 0;}, F_SET_METHOD);
+ Diese Property gibt an, wann der NPC das naechste Mal paralysiert
+ werden kann. Ueblicherweise wird sie automatisch beim Setzen
+ von P_DISABLE_ATTACK gesetzt. Sie gibt einen Zeitpunkt wie
+ die Funktion time() an, an dem zum ersten Mal wieder Paralyse
+ moeglich ist.
- Diese Set-Methode verhindert das Setzen von P_NEXT_DISABLE_ATTACK mittels
- eines SetProp-Aufrufes.
+ Will man einen NPC schreiben, der immer paralysierbar ist und nicht erst
+ nach einer gewissen Wartezeit nach der letzten Paralyse, laesst sich dies
+ durch eine Set-Methode auf P_NEXT_DISABLE_ATTACK erreichen:
-BEMERKUNGEN:
- Die Zeit zum Schutz vor erneuter Paralyse existiert absichtlich. Bitte
- waegt sorgfaeltig ab, bevor ihr diese Property an Gegnern/Spielern
- manipuliert.
-SIEHE AUCH:
- P_DISABLE_ATTACK
+
+ Set(P_NEXT_DISABLE_ATTACK, function int () {return 0;}, F_SET_METHOD);
+
+ Diese Set-Methode verhindert das Setzen von P_NEXT_DISABLE_ATTACK mittels
+ eines SetProp-Aufrufes.
+
+
+BEMERKUNGEN
+===========
+
+ Die Zeit zum Schutz vor erneuter Paralyse existiert absichtlich. Bitte
+ waegt sorgfaeltig ab, bevor ihr diese Property an Gegnern/Spielern
+ manipuliert.
+
+
+SIEHE AUCH
+==========
+
+ P_DISABLE_ATTACK
21.Jul 2014 Gloinson
diff --git a/doc/props/P_NOBUY b/doc/props/P_NOBUY
index 561bbba..27f6c70 100644
--- a/doc/props/P_NOBUY
+++ b/doc/props/P_NOBUY
@@ -1,10 +1,23 @@
-NAME:
- P_NOBUY "nobuy"
-DEFINIERT IN:
- /sys/properties.h
+P_NOBUY
+*******
-BESCHREIBUNG:
- Wenn diese Property gesetzt ist, wird das Objekt nach einem
- Verkauf im Laden zerstoert, damit es nicht wieder von einem Spieler
- gekauft werden kann.
+
+NAME
+====
+
+ P_NOBUY "nobuy"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wenn diese Property gesetzt ist, wird das Objekt nach einem
+ Verkauf im Laden zerstoert, damit es nicht wieder von einem Spieler
+ gekauft werden kann.
diff --git a/doc/props/P_NOCORPSE b/doc/props/P_NOCORPSE
index 799391a..15d5de2 100644
--- a/doc/props/P_NOCORPSE
+++ b/doc/props/P_NOCORPSE
@@ -1,30 +1,51 @@
-NAME:
- P_NOCORPSE "nocorpse"
-DEFINIERT IN:
- /sys/properties.h
+P_NOCORPSE
+**********
-BESCHREIBUNG:
- Diese Property ist gesetzt, wenn im Todesfall kein Leichnam
- automatisch erzeugt werden soll.
-BEMERKUNGEN:
- In diesem Fall wird die Property P_CORPSE ignoriert, mit der man
- ein spezielles Leichenobjekt angeben kann, sofern nicht die
- Standardleiche "/std/corpse.c" verwendet werden soll.
- Da die Moerdermeldungen ueber ebendiese Objekt laufen, werden
- hierbei auch keine ausgegeben.
+NAME
+====
-BEISPIELE:
- Das Lebewesen soll keine Leiche hinterlassen, weil es zu Staub
- zerfaellt:
- SetProp(P_DIE_MSG," zerfaellt zu Staub!\n");
- SetProp(P_NOCORPSE,1)
- Es wurde auch gleich die Sterbemeldung dementsprechend gesetzt.
+ P_NOCORPSE "nocorpse"
-SIEHE AUCH:
- P_CORPSE, P_ZAP_MSG, P_DIE_MSG, P_MURDER_MSG, P_KILL_MSG,
- P_NEVERDROP, /std/corpse.c
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property ist gesetzt, wenn im Todesfall kein Leichnam
+ automatisch erzeugt werden soll.
+
+
+BEMERKUNGEN
+===========
+
+ In diesem Fall wird die Property P_CORPSE ignoriert, mit der man
+ ein spezielles Leichenobjekt angeben kann, sofern nicht die
+ Standardleiche "/std/corpse.c" verwendet werden soll.
+ Da die Moerdermeldungen ueber ebendiese Objekt laufen, werden
+ hierbei auch keine ausgegeben.
+
+
+BEISPIELE
+=========
+
+ Das Lebewesen soll keine Leiche hinterlassen, weil es zu Staub
+ zerfaellt:
+ SetProp(P_DIE_MSG," zerfaellt zu Staub!\n");
+ SetProp(P_NOCORPSE,1)
+ Es wurde auch gleich die Sterbemeldung dementsprechend gesetzt.
+
+
+SIEHE AUCH
+==========
+
+ P_CORPSE, P_ZAP_MSG, P_DIE_MSG, P_MURDER_MSG, P_KILL_MSG,
+ P_NEVERDROP, /std/corpse.c
+
Last modified: Thu Jun 14 22:26:29 2001 by Patryn
diff --git a/doc/props/P_NODRINK_MSG b/doc/props/P_NODRINK_MSG
index 3f847c7..a3407c7 100644
--- a/doc/props/P_NODRINK_MSG
+++ b/doc/props/P_NODRINK_MSG
@@ -1,25 +1,46 @@
-NAME:
- P_NODRINK_MSG "std_food_nodrink_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_NODRINK_MSG
+*************
-BESCHREIBUNG:
- Meldung an den Konsumenten, wenn versucht wird, ein Nicht-Getraenk
- zu trinken. Sobald eine Speise einen Wert in P_FOOD setzt, gilt es als
- Nicht-Getraenk.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "@WEN1 kann man nicht trinken!"
-SIEHE AUCH:
- P_FOOD, P_DRINK, wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_NODRINK_MSG "std_food_nodrink_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Konsumenten, wenn versucht wird, ein Nicht-Getraenk
+ zu trinken. Sobald eine Speise einen Wert in P_FOOD setzt, gilt es als
+ Nicht-Getraenk.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "@WEN1 kann man nicht trinken!"
+
+
+SIEHE AUCH
+==========
+
+ P_FOOD, P_DRINK, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_NODROP b/doc/props/P_NODROP
index 37eb5b5..786cdea 100644
--- a/doc/props/P_NODROP
+++ b/doc/props/P_NODROP
@@ -1,39 +1,60 @@
-NAME:
- P_NODROP "nodrop"
-DEFINIERT IN:
- /sys/thing/moving.h
+P_NODROP
+********
-BESCHREIBUNG:
- Ist diese Property in einem Objekt gesetzt, so kann ein Lebewesen
- das Objekt nicht weglegen.
- Als Standardmeldung kommt in diesem Fall beispielsweise:
- Du kannst <Objektname> nicht wegwerfen!
- Du kannst <Objektname> nicht weggeben.
- Man kann auch eine alternative Meldung angeben, wobei selbstaendig
- auf einen korrekten Zeilenumbruch zu achten ist.
-BEMERKUNGEN:
- Soll ein Objekt beim Tod des Lebewesens oder bei Ende eines Spielers
- nicht in der Leiche bzw. im Raum zurueckgelassen werden, so ist
- die Property P_NEVERDROP zu nutzen.
- Beide Properties zusammen stellen sicher, dass ein Objekt nicht
- weitergegeben werden kann.
+NAME
+====
-BEISPIELE:
- Ein schwer zu erkaempfender Dolch koennte folgendes beinhalten,
- um nicht weitergegeben werden zu koennen:
- SetProp(P_NODROP,1);
- Informativer jedoch ist eine eigene Meldung:
- SetProp(P_NODROP,
- "Den Dolch hast Du Dir hart erkaempft, nicht wegwerfen!\n");
+ P_NODROP "nodrop"
-SIEHE AUCH:
- Aehnliches: P_NOGET, P_NEVERDROP, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG,
- P_TOO_MANY_MSG, P_NOINSERT_MSG, P_NOLEAVE_MSG,
- Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
- P_WEAR_MSG, P_WIELD_MSG
- Sonstiges: replace_personal(E), /std/living/put_and_get.c
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+ Ist diese Property in einem Objekt gesetzt, so kann ein Lebewesen
+ das Objekt nicht weglegen.
+ Als Standardmeldung kommt in diesem Fall beispielsweise:
+ Du kannst <Objektname> nicht wegwerfen!
+ Du kannst <Objektname> nicht weggeben.
+ Man kann auch eine alternative Meldung angeben, wobei selbstaendig
+ auf einen korrekten Zeilenumbruch zu achten ist.
+
+
+BEMERKUNGEN
+===========
+
+ Soll ein Objekt beim Tod des Lebewesens oder bei Ende eines Spielers
+ nicht in der Leiche bzw. im Raum zurueckgelassen werden, so ist
+ die Property P_NEVERDROP zu nutzen.
+ Beide Properties zusammen stellen sicher, dass ein Objekt nicht
+ weitergegeben werden kann.
+
+
+BEISPIELE
+=========
+
+ Ein schwer zu erkaempfender Dolch koennte folgendes beinhalten,
+ um nicht weitergegeben werden zu koennen:
+ SetProp(P_NODROP,1);
+ Informativer jedoch ist eine eigene Meldung:
+ SetProp(P_NODROP,
+ "Den Dolch hast Du Dir hart erkaempft, nicht wegwerfen!\n");
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_NOGET, P_NEVERDROP, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG,
+ P_TOO_MANY_MSG, P_NOINSERT_MSG, P_NOLEAVE_MSG,
+ Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+ P_WEAR_MSG, P_WIELD_MSG
+ Sonstiges: replace_personal(E), /std/living/put_and_get.c
+
Last modified: Thu Jun 14 22:26:29 2001 by Patryn
diff --git a/doc/props/P_NOFOOD_MSG b/doc/props/P_NOFOOD_MSG
index c367b7c..d195c5e 100644
--- a/doc/props/P_NOFOOD_MSG
+++ b/doc/props/P_NOFOOD_MSG
@@ -1,25 +1,46 @@
-NAME:
- P_NOFOOD_MSG "std_food_nofood_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_NOFOOD_MSG
+************
-BESCHREIBUNG:
- Meldung an den Konsumenten, wenn versucht wird, ein Getraenk zu essen.
- Sobald eine Speise keinen Wert in P_FOOD und einen Wert in P_DRINK
- setzt, gilt es als Getraenk.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "@WEN1 kann man nicht essen!"
-SIEHE AUCH:
- P_FOOD, P_DRINK, wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_NOFOOD_MSG "std_food_nofood_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung an den Konsumenten, wenn versucht wird, ein Getraenk zu essen.
+ Sobald eine Speise keinen Wert in P_FOOD und einen Wert in P_DRINK
+ setzt, gilt es als Getraenk.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "@WEN1 kann man nicht essen!"
+
+
+SIEHE AUCH
+==========
+
+ P_FOOD, P_DRINK, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_NOGET b/doc/props/P_NOGET
index af3ed1d..17a6248 100644
--- a/doc/props/P_NOGET
+++ b/doc/props/P_NOGET
@@ -1,31 +1,49 @@
-NAME:
- P_NOGET "noget"
-DEFINIERT IN:
- /sys/thing/moving.h
+P_NOGET
+*******
-BESCHREIBUNG:
- Ist diese Property in einem Objekt gesetzt, so kann ein Lebewesen
- das Objekt nicht nehmen.
- Als Standardmeldung kommt in diesem Fall beispielsweise:
- Du kannst <Objektname> nicht nehmen.
- Du kannst <Objektname> so nirgendwo reinstecken.
- Man kann auch eine alternative Meldung angeben, wobei selbstaendig
- auf einen korrekten Zeilenumbruch zu achten ist.
-BEISPIELE:
- Ein Objekt, welches fest im Raum verankert ist, kann natuerlich
- nicht entfernt werden, z.B. ein angebundenes Seil:
- SetProp(P_NOGET,"Das Seil ist fest am Baum verknotet!\n");
- In einem Kommando zum Losknoten koennte man die Property dann
- loeschen, um ein Wegnehmen zu ermoeglichen.
+NAME
+====
-SIEHE AUCH:
- Aehnliches: P_NODROP, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG,
- P_TOO_MANY_MSG, P_NOINSERT_MSG, P_NOLEAVE_MSG
- Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
- P_WEAR_MSG, P_WIELD_MSG
- Sonstiges: replace_personal(E), /std/living/put_and_get.c
+ P_NOGET "noget"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+ Ist diese Property in einem Objekt gesetzt, so kann ein Lebewesen
+ das Objekt nicht nehmen.
+ Als Standardmeldung kommt in diesem Fall beispielsweise:
+ Du kannst <Objektname> nicht nehmen.
+ Du kannst <Objektname> so nirgendwo reinstecken.
+ Man kann auch eine alternative Meldung angeben, wobei selbstaendig
+ auf einen korrekten Zeilenumbruch zu achten ist.
+
+
+BEISPIELE
+=========
+
+ Ein Objekt, welches fest im Raum verankert ist, kann natuerlich
+ nicht entfernt werden, z.B. ein angebundenes Seil:
+ SetProp(P_NOGET,"Das Seil ist fest am Baum verknotet!\n");
+ In einem Kommando zum Losknoten koennte man die Property dann
+ loeschen, um ein Wegnehmen zu ermoeglichen.
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_NODROP, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG,
+ P_TOO_MANY_MSG, P_NOINSERT_MSG, P_NOLEAVE_MSG
+ Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+ P_WEAR_MSG, P_WIELD_MSG
+ Sonstiges: replace_personal(E), /std/living/put_and_get.c
+
Last modified: Thu Jun 14 22:26:29 2001 by Patryn
diff --git a/doc/props/P_NOINSERT_MSG b/doc/props/P_NOINSERT_MSG
index a79994e..de7d8e8 100644
--- a/doc/props/P_NOINSERT_MSG
+++ b/doc/props/P_NOINSERT_MSG
@@ -1,46 +1,65 @@
-NAME:
- P_NOINSERT_MSG "noinsert_msg"
-DEFINIERT IN:
- /sys/thing/moving.h
+P_NOINSERT_MSG
+**************
-BESCHREIBUNG:
- Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn
- jemand versucht, ein Objekt in einen Behaelter zu bewegen und der
- Behaelter dieses im PreventInsert() verhindert.
- Die Property ist im Zielbehaelter zu setzen.
- Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
- so wird die Standardmeldung ausgegeben.
- ("<Objekt> kannst Du dort nicht hineinstecken.")
- Der String in der Property wird noch durch replace_personal()
- verarbeitet, das zu bewegende Objekt wird als erstes, der Zielbehaelter
- als zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
- umgebrochen.
- Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
- ganz.
-BEISPIELE:
- 1. Ein Kochtopf laesst im PreventInsert nur bestimmte Objekte zu, die zu
- einer Suppe gehoeren. Fuer eine passende Meldung wird im Topf jetzt die
- Property gesetzt:
- SetProp(P_NOINSERT_MSG, "Du kannst @WEN1 nicht in den Kochtopf tun, da"
- " gehoeren doch nur Suppenzutaten rein!");
- Wenn jemand jetzt versucht, eine Muenze reinzustecken, dann wuerde
- folgende Meldung erscheinen:
- Du kannst die Muenze nicht in den Kochtopf tun, da gehoeren doch nur
- Suppenzutaten rein!
+NAME
+====
- 2. Ein Rucksack soll in einer bestimmten Reihenfolge gepackt werden, dazu
- kann im PreventInsert die Meldung je nach Bedarf gesetzt werden:
- if (<objekt noch nicht an der Reihe>)
- SetProp(P_NOINSERT_MSG, "@WEN1 solltest du erst spaeter einpacken.");
- else if (<objekt schon im Rucksack>)
- SetProp(P_NOINSERT_MSG, "Aber @WER1 ist doch schon eingepackt!");
- else ...
+ P_NOINSERT_MSG "noinsert_msg"
-SIEHE AUCH:
- Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
- P_NOLEAVE_MSG, P_NODROP, P_NOGET
- Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
- P_WEAR_MSG, P_WIELD_MSG
- Sonstiges: replace_personal(E), /std/living/put_and_get.c
+
+DEFINIERT IN
+============
+
+ /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn
+ jemand versucht, ein Objekt in einen Behaelter zu bewegen und der
+ Behaelter dieses im PreventInsert() verhindert.
+ Die Property ist im Zielbehaelter zu setzen.
+ Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+ so wird die Standardmeldung ausgegeben.
+ ("<Objekt> kannst Du dort nicht hineinstecken.")
+ Der String in der Property wird noch durch replace_personal()
+ verarbeitet, das zu bewegende Objekt wird als erstes, der Zielbehaelter
+ als zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
+ umgebrochen.
+ Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+ ganz.
+
+
+BEISPIELE
+=========
+
+ 1. Ein Kochtopf laesst im PreventInsert nur bestimmte Objekte zu, die zu
+ einer Suppe gehoeren. Fuer eine passende Meldung wird im Topf jetzt die
+ Property gesetzt:
+ SetProp(P_NOINSERT_MSG, "Du kannst @WEN1 nicht in den Kochtopf tun, da"
+ " gehoeren doch nur Suppenzutaten rein!");
+ Wenn jemand jetzt versucht, eine Muenze reinzustecken, dann wuerde
+ folgende Meldung erscheinen:
+ Du kannst die Muenze nicht in den Kochtopf tun, da gehoeren doch nur
+ Suppenzutaten rein!
+
+ 2. Ein Rucksack soll in einer bestimmten Reihenfolge gepackt werden, dazu
+ kann im PreventInsert die Meldung je nach Bedarf gesetzt werden:
+ if (<objekt noch nicht an der Reihe>)
+ SetProp(P_NOINSERT_MSG, "@WEN1 solltest du erst spaeter einpacken.");
+ else if (<objekt schon im Rucksack>)
+ SetProp(P_NOINSERT_MSG, "Aber @WER1 ist doch schon eingepackt!");
+ else ...
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+ P_NOLEAVE_MSG, P_NODROP, P_NOGET
+ Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+ P_WEAR_MSG, P_WIELD_MSG
+ Sonstiges: replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_NOLEAVE_MSG b/doc/props/P_NOLEAVE_MSG
index 0a226dd..d2cd164 100644
--- a/doc/props/P_NOLEAVE_MSG
+++ b/doc/props/P_NOLEAVE_MSG
@@ -1,33 +1,52 @@
-NAME:
- P_NOLEAVE_MSG "noleave_msg"
-DEFINIERT IN:
- /sys/thing/moving.h
+P_NOLEAVE_MSG
+*************
-BESCHREIBUNG:
- Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn
- jemand versucht, ein Objekt aus einem Behaelter zu entfernen und der
- Behaelter dieses im PreventLeave() verhindert.
- Die Property ist im verhindernden Behaelter zu setzen.
- Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
- so wird die Standardmeldung ausgegeben.
- ("Du kannst <Objekt> nicht nehmen.")
- Der String in der Property wird noch durch replace_personal()
- verarbeitet, das zu bewegende Objekt wird als erstes, der verhindernde
- Behaelter als zweites Objekt angegeben. Danach wird der String auf 78
- Zeichen umgebrochen.
- Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
- ganz.
-BEISPIELE:
- Nur Bierschuettler sollen eine Bierflasche aus einem Kasten nehmen
- koennen, neben einer entsprechenden Behandlung im PreventLeave setzt man
- dazu die Property:
- SetProp(P_NOLEAVE_MSG, "Nur Bierschuettler duerfen das!");
+NAME
+====
-SIEHE AUCH:
- Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
- P_NOINSERT_MSG, P_NODROP, P_NOGET
- Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
- P_WEAR_MSG, P_WIELD_MSG
- Sonstiges: replace_personal(E), /std/living/put_and_get.c
+ P_NOLEAVE_MSG "noleave_msg"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn
+ jemand versucht, ein Objekt aus einem Behaelter zu entfernen und der
+ Behaelter dieses im PreventLeave() verhindert.
+ Die Property ist im verhindernden Behaelter zu setzen.
+ Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+ so wird die Standardmeldung ausgegeben.
+ ("Du kannst <Objekt> nicht nehmen.")
+ Der String in der Property wird noch durch replace_personal()
+ verarbeitet, das zu bewegende Objekt wird als erstes, der verhindernde
+ Behaelter als zweites Objekt angegeben. Danach wird der String auf 78
+ Zeichen umgebrochen.
+ Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+ ganz.
+
+
+BEISPIELE
+=========
+
+ Nur Bierschuettler sollen eine Bierflasche aus einem Kasten nehmen
+ koennen, neben einer entsprechenden Behandlung im PreventLeave setzt man
+ dazu die Property:
+ SetProp(P_NOLEAVE_MSG, "Nur Bierschuettler duerfen das!");
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+ P_NOINSERT_MSG, P_NODROP, P_NOGET
+ Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+ P_WEAR_MSG, P_WIELD_MSG
+ Sonstiges: replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_NOMAGIC b/doc/props/P_NOMAGIC
index bdee7f7..42e51d1 100644
--- a/doc/props/P_NOMAGIC
+++ b/doc/props/P_NOMAGIC
@@ -1,21 +1,42 @@
-NAME:
- P_NOMAGIC "nomagic"
-DEFINIERT IN:
- /sys/properties.h
+P_NOMAGIC
+*********
-BESCHREIBUNG:
- Angabe in Prozent, mit welcher Wahrscheinlichkeit Magie fehlschlaegt.
-
- Fuer einen Raum ist es eine generelle Aussage, wie wahrscheinlich ein
- Spell in ihm fehlschlaegt. Bei NPC zeigt es an, wie wahrscheinlich
- ein auf ihn gesprochener Spell fehlschlaegt.
-BEISPIEL:
- // in einem Raum keine Spells zulassen
- SetProp(P_NOMAGIC, 100)
+NAME
+====
-SIEHE AUCH:
- Aehnlich: P_MAGIC_RESISTANCE_OFFSET, SpellDefend
+ P_NOMAGIC "nomagic"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Angabe in Prozent, mit welcher Wahrscheinlichkeit Magie fehlschlaegt.
+
+
+
+ Fuer einen Raum ist es eine generelle Aussage, wie wahrscheinlich ein
+ Spell in ihm fehlschlaegt. Bei NPC zeigt es an, wie wahrscheinlich
+ ein auf ihn gesprochener Spell fehlschlaegt.
+
+
+BEISPIEL
+========
+
+ // in einem Raum keine Spells zulassen
+ SetProp(P_NOMAGIC, 100)
+
+
+SIEHE AUCH
+==========
+
+ Aehnlich: P_MAGIC_RESISTANCE_OFFSET, SpellDefend
29.Dez 2007 Gloinson
diff --git a/doc/props/P_NOSELL b/doc/props/P_NOSELL
index 48b0ddb..6141be3 100644
--- a/doc/props/P_NOSELL
+++ b/doc/props/P_NOSELL
@@ -1,33 +1,50 @@
-NAME:
- P_NOSELL "nosell"
-DEFINIERT IN:
- /sys/properties.h
+P_NOSELL
+********
-BESCHREIBUNG:
- Wenn diese Property gesetzt ist, kann das Objekt nicht in einem
- Laden verkauft werden.
- Gibt man in der Property einen String an, wird dieser ausgegeben,
- ansonsten erfolgt eine Meldung "Du kannst <NAME> nicht verkaufen!"
- Diese Meldung beinhaltet auch den Namen des in P_NAME einge-
- tragenen Besitzer des Ladens. Ist dies nicht gesetzt, wird per
- default 'Der Haendler' ausgegeben.
+NAME
+====
-BEISPIEL:
- SetProp(P_NOSELL,"Den Schrott behaeltst Du lieber selber.");
+ P_NOSELL "nosell"
- ==> Apu sagt: Den Schrott behaeltst Du lieber selber.
- ==> Der Haendler sagt: Den Schrott behaeltst Du lieber selber.
- SetProp(P_NOSELL,1);
+DEFINIERT IN
+============
- ==> Apu sagt: Du kannst <name> nicht verkaufen!
- ==> Der Haendler sagt: Du kannst <name> nicht verkaufen!
+ /sys/properties.h
-SIEHE AUCH:
- P_NOBUY, P_NODROP, P_KEEPER
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ Wenn diese Property gesetzt ist, kann das Objekt nicht in einem
+ Laden verkauft werden.
+ Gibt man in der Property einen String an, wird dieser ausgegeben,
+ ansonsten erfolgt eine Meldung "Du kannst <NAME> nicht verkaufen!"
+
+ Diese Meldung beinhaltet auch den Namen des in P_NAME einge-
+ tragenen Besitzer des Ladens. Ist dies nicht gesetzt, wird per
+ default 'Der Haendler' ausgegeben.
+
+
+BEISPIEL
+========
+
+ SetProp(P_NOSELL,"Den Schrott behaeltst Du lieber selber.");
+
+ ==> Apu sagt: Den Schrott behaeltst Du lieber selber.
+ ==> Der Haendler sagt: Den Schrott behaeltst Du lieber selber.
+
+ SetProp(P_NOSELL,1);
+
+ ==> Apu sagt: Du kannst <name> nicht verkaufen!
+ ==> Der Haendler sagt: Du kannst <name> nicht verkaufen!
+
+
+SIEHE AUCH
+==========
+
+ P_NOBUY, P_NODROP, P_KEEPER
+
03.09.2010, Zesstra
-
diff --git a/doc/props/P_NO_ASCII_ART b/doc/props/P_NO_ASCII_ART
index 9b40cde..3a143a4 100644
--- a/doc/props/P_NO_ASCII_ART
+++ b/doc/props/P_NO_ASCII_ART
@@ -1,20 +1,35 @@
-NAME:
- P_NO_ASCII_ART "no_ascii_art"
+
+P_NO_ASCII_ART
+**************
-DEFINIERT IN:
- /sys/player/base.h
+NAME
+====
-BESCHREIBUNG:
- Diese Property kann der Spieler mit dem Befehl "grafik aus" auf
- 1 setzen. Damit zeigt er an, dass er keine ASCII Art sehen moechte.
+ P_NO_ASCII_ART "no_ascii_art"
- Wer ASCII-Art einsetzt, sollte an diesen Stellen die Property
- abfragen und textliche Umschreibungen oder Alternativloesungen
- einbauen.
-
-SIEHE AUCH:
- grafik
-----------------------------------------------------------------------------
- Letzte Aenderung: 2005-10-18, Zook.
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property kann der Spieler mit dem Befehl "grafik aus" auf
+ 1 setzen. Damit zeigt er an, dass er keine ASCII Art sehen moechte.
+
+ Wer ASCII-Art einsetzt, sollte an diesen Stellen die Property
+ abfragen und textliche Umschreibungen oder Alternativloesungen
+ einbauen.
+
+
+SIEHE AUCH
+==========
+
+ grafik
+
+
+ Letzte Aenderung: 2005-10-18, Zook.
diff --git a/doc/props/P_NO_ATTACK b/doc/props/P_NO_ATTACK
index 0f39180..9ca4c95 100644
--- a/doc/props/P_NO_ATTACK
+++ b/doc/props/P_NO_ATTACK
@@ -1,82 +1,99 @@
+
P_NO_ATTACK
-
-NAME:
- P_NO_ATTACK "no_attack"
-
-DEFINIERT IN:
- <living/combat.h>
-
-BESCHREIBUNG:
- Wenn ein NPC nicht angreifbar sein soll (weil er zum Beispiel in einer
- Gilde oder einer Quest Informationen vermittelt oder aehnlichen), sollte
- man diese Property auf einen Wert ungleich Null setzen. Sie wird immer
- abgefragt, wenn ermittelt wird, ob ein Lebewesen prinzipiell angreifbar
- ist. D.h. auch, dass nach Abfragen von P_NO_ATTACK _nicht_ immer ein
- Kampf gestartet wird und dass man dabei _nicht_ im Kampf sein muss!
-
- Gibt man hier einen String an (mit einem Satzzeichen und "\n" abge-
- schlossen), wird dieser bei direkten Angriffen ausgegeben. Bei anderen
- Datentypen wird eine Defaultmeldung ausgegeben. Die Defaultmeldung
- lautet: "<Name> laesst sich nicht angreifen!\n"
-
- Mit direkten Angriffen sind 'toete <name>' und Angriffszauber gemeint
- (bzw. alles, was living/life::Kill(), spellbook::TryAttackSpell(),
- spellbook::TryDefaultAttackSpell() und spellbook::FindEnemyVictim()
- aufruft).
-
-ACHTUNG:
-
- 1) Zum Thema QueryMethoden auf P_NO_ATTACK
- Grundsaetzlich legt man entweder eine Query-Methode auf P_NO_ATTACK:
- Set(P_NO_ATTACK, #'my_no_attack, F_QUERY_METHOD);
- oder definiert eine Funktion _query_no_attack() im NPC.
-
- Wie muss nun eine solche Funktion aussehen? Z.B.:
-
- int|string my_no_attack() {
- if (!objectp(this_player())) return 0;
- if (opfer==getuid(this_player()) || this_player()==this_object())
- return(0);
- return(1); //nicht angreifbar
- }
-
- Diese Funktion macht den NPC nun nur fuer den Spieler 'opfer' angreifbar.
- Stattdessen kann natuerlich auch jede andere Bedingung genutzt werden.
-
- Aber warum die zweite Bedingung, this_player()==this_object()?
- Warum sollte der NPC sich selber angreifen duerfen?
-
- Das liegt an folgenden 2 Dingen:
-
- 1. Kaempfer kriegen bei eingeschaltetem Fokus Probleme, wenn man das
- nicht macht. Das liegt an folgendem: Wenn der NPC angreift, ruft er
- natuerlich Defend() im Spieler auf. Dieses schaut nach, ob der Spieler
- den Skill SK_MAGICAL_DEFENSE hat. Dieser ist bei Kaempfern das Parieren.
- Dieses schaut nach, ob der Fokus aktiv ist, wenn ja, wird dem
- ge'fokus'te Gegner besonders gut ausgewichen. Zu diesem Zweck wird die
- Liste der Feind im Raum erstellt mit PresentEnemies() abgerufen. Dieses
- fragt aber in allen (potentiellen) Gegnern P_NO_ATTACK ab und beendet
- den Kampf mit allen Gegnern, die nicht angreifbar sind. Bei dieser
- Abfrage ist jedoch TP==NPC, weil der ja angreift. Wenn er nun 1
- zurueckgibt, wird der Kampf an der Stelle beendet.
-
- 2. Wenn der NPC den Spieler angreift, wird im Spieler InsertEnemy(NPC)
- aufgerufen. Auch diesem Fall findet die Abfrage von P_NO_ATTACK statt,
- da InsertEnemy() ja erstmal rausfinden muss, ob der Gegner angreifbar
- ist, bevor er in die Feindliste eingetragen wird. Da der NPC den
- Angriff beginnt, ist TP der NPC. Wenn die Query-Methode auf P_NO_ATTACK
- hier abbricht, wird der NPC nicht in die Feindliste des Spielers
- eingetragen. Dann bekaempft der NPC den Spieler, aber der Spieler nicht
- den NPC.
+***********
- 2) P_NO_ATTACK des NPC wird z.B. beim Kampf eines Kaempfers mit dem NPC
- pro Kampfrunde um die 10mal abgerufen. Wenn der Kaempfer nur eine
- Attacke macht. Wenn er noch Sonderattacken machen, Spells ausfuehrt,
- etc. wird das noch mehr. D.h. was auch immer ihr in der Query-Methode
- im NPC macht:
- Es sollte schnell sein, jeder Tick an Rechenzeit zaehlt hier xfach!
+NAME
+====
+
+ P_NO_ATTACK "no_attack"
-LETZTE AENDERUNG:
+DEFINIERT IN
+============
+
+ <living/combat.h>
+
+
+BESCHREIBUNG
+============
+
+ Wenn ein NPC nicht angreifbar sein soll (weil er zum Beispiel in einer
+ Gilde oder einer Quest Informationen vermittelt oder aehnlichen), sollte
+ man diese Property auf einen Wert ungleich Null setzen. Sie wird immer
+ abgefragt, wenn ermittelt wird, ob ein Lebewesen prinzipiell angreifbar
+ ist. D.h. auch, dass nach Abfragen von P_NO_ATTACK _nicht_ immer ein
+ Kampf gestartet wird und dass man dabei _nicht_ im Kampf sein muss!
+
+ Gibt man hier einen String an (mit einem Satzzeichen und "\n" abge-
+ schlossen), wird dieser bei direkten Angriffen ausgegeben. Bei anderen
+ Datentypen wird eine Defaultmeldung ausgegeben. Die Defaultmeldung
+ lautet: "<Name> laesst sich nicht angreifen!\n"
+
+ Mit direkten Angriffen sind 'toete <name>' und Angriffszauber gemeint
+ (bzw. alles, was living/life::Kill(), spellbook::TryAttackSpell(),
+ spellbook::TryDefaultAttackSpell() und spellbook::FindEnemyVictim()
+ aufruft).
+
+
+ACHTUNG
+=======
+
+ 1) Zum Thema QueryMethoden auf P_NO_ATTACK
+ Grundsaetzlich legt man entweder eine Query-Methode auf P_NO_ATTACK:
+ Set(P_NO_ATTACK, #'my_no_attack, F_QUERY_METHOD);
+ oder definiert eine Funktion _query_no_attack() im NPC.
+
+ Wie muss nun eine solche Funktion aussehen? Z.B.:
+
+
+
+ int|string my_no_attack() {
+ if (!objectp(this_player())) return 0;
+ if (opfer==getuid(this_player()) || this_player()==this_object())
+ return(0);
+ return(1); //nicht angreifbar
+ }
+
+ Diese Funktion macht den NPC nun nur fuer den Spieler 'opfer' angreifbar.
+ Stattdessen kann natuerlich auch jede andere Bedingung genutzt werden.
+
+ Aber warum die zweite Bedingung, this_player()==this_object()?
+ Warum sollte der NPC sich selber angreifen duerfen?
+
+ Das liegt an folgenden 2 Dingen:
+
+ 1. Kaempfer kriegen bei eingeschaltetem Fokus Probleme, wenn man das
+ nicht macht. Das liegt an folgendem: Wenn der NPC angreift, ruft er
+ natuerlich Defend() im Spieler auf. Dieses schaut nach, ob der Spieler
+ den Skill SK_MAGICAL_DEFENSE hat. Dieser ist bei Kaempfern das Parieren.
+ Dieses schaut nach, ob der Fokus aktiv ist, wenn ja, wird dem
+ ge'fokus'te Gegner besonders gut ausgewichen. Zu diesem Zweck wird die
+ Liste der Feind im Raum erstellt mit PresentEnemies() abgerufen. Dieses
+ fragt aber in allen (potentiellen) Gegnern P_NO_ATTACK ab und beendet
+ den Kampf mit allen Gegnern, die nicht angreifbar sind. Bei dieser
+ Abfrage ist jedoch TP==NPC, weil der ja angreift. Wenn er nun 1
+ zurueckgibt, wird der Kampf an der Stelle beendet.
+
+ 2. Wenn der NPC den Spieler angreift, wird im Spieler InsertEnemy(NPC)
+ aufgerufen. Auch diesem Fall findet die Abfrage von P_NO_ATTACK statt,
+ da InsertEnemy() ja erstmal rausfinden muss, ob der Gegner angreifbar
+ ist, bevor er in die Feindliste eingetragen wird. Da der NPC den
+ Angriff beginnt, ist TP der NPC. Wenn die Query-Methode auf P_NO_ATTACK
+ hier abbricht, wird der NPC nicht in die Feindliste des Spielers
+ eingetragen. Dann bekaempft der NPC den Spieler, aber der Spieler nicht
+ den NPC.
+
+
+ 2) P_NO_ATTACK des NPC wird z.B. beim Kampf eines Kaempfers mit dem NPC
+ pro Kampfrunde um die 10mal abgerufen. Wenn der Kaempfer nur eine
+ Attacke macht. Wenn er noch Sonderattacken machen, Spells ausfuehrt,
+ etc. wird das noch mehr. D.h. was auch immer ihr in der Query-Methode
+ im NPC macht:
+ Es sollte schnell sein, jeder Tick an Rechenzeit zaehlt hier xfach!
+
+
+LETZTE AENDERUNG
+================
+
09.11.2015, Arathorn
diff --git a/doc/props/P_NO_BAD b/doc/props/P_NO_BAD
index 60df1e7..ae2adf2 100644
--- a/doc/props/P_NO_BAD
+++ b/doc/props/P_NO_BAD
@@ -1,23 +1,43 @@
-NAME:
- P_NO_BAD "std_food_no_bad"
-DEFINIERT IN:
- <sys/food.h>
+P_NO_BAD
+********
-BESCHREIBUNG:
- Flag, ob die Speise ewig haltbar ist.
- 0: Speise verdirbt nach der Anzahl Sekunden, die in P_LIFETIME
- angegeben ist bzw. nach einem Reset
- 1: Speise verdirbt nicht
-
- ACHTUNG: Diese Property darf nur in Absprache mit der Balance
- geaendert werden.
-
-DEFAULT:
- Initial ist diese Property auf 0 gesetzt.
-SIEHE AUCH:
- /std/food.c, wiz/food
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_NO_BAD "std_food_no_bad"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Flag, ob die Speise ewig haltbar ist.
+ 0: Speise verdirbt nach der Anzahl Sekunden, die in P_LIFETIME
+ angegeben ist bzw. nach einem Reset
+ 1: Speise verdirbt nicht
+
+
+
+ ACHTUNG: Diese Property darf nur in Absprache mit der Balance
+ geaendert werden.
+
+
+DEFAULT
+=======
+
+ Initial ist diese Property auf 0 gesetzt.
+
+
+SIEHE AUCH
+==========
+
+ /std/food.c, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_NO_GLOBAL_ATTACK b/doc/props/P_NO_GLOBAL_ATTACK
index 01df4e9..962186c 100644
--- a/doc/props/P_NO_GLOBAL_ATTACK
+++ b/doc/props/P_NO_GLOBAL_ATTACK
@@ -1,20 +1,33 @@
+
P_NO_GLOBAL_ATTACK
+******************
-NAME:
- P_NO_GLOBAL_ATTACK "no_global_attack"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Setzt man diese Property in einem NPC auf einen Wert ungleich 0, so
- wird der NPC bei einem "toete alle" nicht angegriffen.
+ P_NO_GLOBAL_ATTACK "no_global_attack"
- Damit kann man zB. NPCs, die dem eigenen Schutz dienen (als Folge von
- Zauberspruechen o.ae.) vor versehentlichen Angriffen schuetzen.
-SIEHE AUCH:
- /std/npc.c, P_FRIEND
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ <combat.h>
+
+
+BESCHREIBUNG
+============
+
+ Setzt man diese Property in einem NPC auf einen Wert ungleich 0, so
+ wird der NPC bei einem "toete alle" nicht angegriffen.
+
+ Damit kann man zB. NPCs, die dem eigenen Schutz dienen (als Folge von
+ Zauberspruechen o.ae.) vor versehentlichen Angriffen schuetzen.
+
+
+SIEHE AUCH
+==========
+
+ /std/npc.c, P_FRIEND
+
Last modified: Sat May 18 15:26:28 1996 by Wargon
diff --git a/doc/props/P_NO_PARA_TRANS b/doc/props/P_NO_PARA_TRANS
index 578c245..677f9c8 100644
--- a/doc/props/P_NO_PARA_TRANS
+++ b/doc/props/P_NO_PARA_TRANS
@@ -1,15 +1,30 @@
-NAME:
- P_NO_PARA_TRANS "no_para_trans"
-DEFINIERT IN:
- /sys/properties.h
+P_NO_PARA_TRANS
+***************
-BESCHREIBUNG:
- Wenn in einem Raum diese Property gesetzt ist, darf dort kein
- Wechsel in oder aus der Paralellwelt erfolgen. Objekte die so
- einen Wechsel ermoeglichen sind dafuer verantwortlich diese
- Property abzufragen.
-SIEHE AUCH:
- P_NO_TPORT
+NAME
+====
+ P_NO_PARA_TRANS "no_para_trans"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wenn in einem Raum diese Property gesetzt ist, darf dort kein
+ Wechsel in oder aus der Paralellwelt erfolgen. Objekte die so
+ einen Wechsel ermoeglichen sind dafuer verantwortlich diese
+ Property abzufragen.
+
+
+SIEHE AUCH
+==========
+
+ P_NO_TPORT
diff --git a/doc/props/P_NO_PLAYERS b/doc/props/P_NO_PLAYERS
index 062b915..3cc88c1 100644
--- a/doc/props/P_NO_PLAYERS
+++ b/doc/props/P_NO_PLAYERS
@@ -1,37 +1,56 @@
-NAME:
- P_NO_PLAYERS "no_players"
-DEFINIERT IN:
- /sys/rooms.h
+P_NO_PLAYERS
+************
-BESCHREIBUNG:
- Wenn in einem Raum die Property P_NO_PLAYERS auf einen Wert != 0 gesetzt
- ist, kann dieser von Spielern auf normalem Wege nicht mehr betreten werden.
- Magier und Testspieler(*) koennen den Raum betreten; Spieler muessen mit
- M_NOCHECK hineinbewegt werden.
- Auf diese Weise koennen Gebiete, die noch nicht offiziell angeschlossen
- sind, vor 'unbeabsichtigtem' Betreten durch Spieler geschuetzt werden.
+NAME
+====
- Moechte man zu einem schon angeschlossenen Gebiet nachtraeglich eine
- Parallelwelt einbauen, so sollte P_NO_PLAYERS *dringend* in den
- Parallelweltraeumen gesetzt werden, bis die Parallelwelt ausdruecklich
- fuer Spieler freigegeben wird. Andernfalls sind alle Parallelweltraeume,
- zu denen angeschlossene Normalweltraeume mit gleichem Filenamen existieren,
- automatisch durch Spieler erreichbar!
+ P_NO_PLAYERS "no_players"
- (*) Ausschliesslich Testspieler, die auf den Namen eines existierenden
- Magiers markiert sind, koennen 'geschuetzte' Raeume betreten.
- Gildentesties werden wie Spieler behandelt.
-ANMERKUNG:
- Im Gegensatz zu Bewegungen von Livings wird bei der Bewegung von Gegen-
- staenden P_NO_PLAYERS nur beim Wechsel der Welt ausgewertet, um z.B. zu
- verhindern, dass Bumerangs in noch nicht angeschlossene Gebiete fliegen.
+DEFINIERT IN
+============
- Moechte man in seinem eigenen Gebiet mit Bumerangs o.ae. testen, muss
- in diesen P_TESTPLAYER gesetzt sein. Das ist zwar eher ein Missbrauch
- der Property, aber ein Umkompieren vom Werfer war auf Dauer zu teuer. ;-)
+ /sys/rooms.h
-SIEHE AUCH:
- P_PARA, move
+
+BESCHREIBUNG
+============
+
+ Wenn in einem Raum die Property P_NO_PLAYERS auf einen Wert != 0 gesetzt
+ ist, kann dieser von Spielern auf normalem Wege nicht mehr betreten werden.
+ Magier und Testspieler(*) koennen den Raum betreten; Spieler muessen mit
+ M_NOCHECK hineinbewegt werden.
+
+ Auf diese Weise koennen Gebiete, die noch nicht offiziell angeschlossen
+ sind, vor 'unbeabsichtigtem' Betreten durch Spieler geschuetzt werden.
+
+ Moechte man zu einem schon angeschlossenen Gebiet nachtraeglich eine
+ Parallelwelt einbauen, so sollte P_NO_PLAYERS *dringend* in den
+ Parallelweltraeumen gesetzt werden, bis die Parallelwelt ausdruecklich
+ fuer Spieler freigegeben wird. Andernfalls sind alle Parallelweltraeume,
+ zu denen angeschlossene Normalweltraeume mit gleichem Filenamen existieren,
+ automatisch durch Spieler erreichbar!
+
+ (*) Ausschliesslich Testspieler, die auf den Namen eines existierenden
+ Magiers markiert sind, koennen 'geschuetzte' Raeume betreten.
+ Gildentesties werden wie Spieler behandelt.
+
+
+ANMERKUNG
+=========
+
+ Im Gegensatz zu Bewegungen von Livings wird bei der Bewegung von Gegen-
+ staenden P_NO_PLAYERS nur beim Wechsel der Welt ausgewertet, um z.B. zu
+ verhindern, dass Bumerangs in noch nicht angeschlossene Gebiete fliegen.
+
+ Moechte man in seinem eigenen Gebiet mit Bumerangs o.ae. testen, muss
+ in diesen P_TESTPLAYER gesetzt sein. Das ist zwar eher ein Missbrauch
+ der Property, aber ein Umkompieren vom Werfer war auf Dauer zu teuer. ;-)
+
+
+SIEHE AUCH
+==========
+
+ P_PARA, move
diff --git a/doc/props/P_NO_REGENERATION b/doc/props/P_NO_REGENERATION
index b8dea8c..cc672e3 100644
--- a/doc/props/P_NO_REGENERATION
+++ b/doc/props/P_NO_REGENERATION
@@ -1,34 +1,52 @@
+
P_NO_REGENERATION
+*****************
-NAME:
- P_NO_REGENERATION "no_regeneration"
-DEFINIERT IN:
- <living/life.h> und <health.h>
+NAME
+====
-BESCHREIBUNG:
- Durch das Setzen dieser Property kann man verhindern, das ein Lebewesen
- sich regeneriert.
- Es gibt sieben moegliche Werte, die man durch verodern kombinieren
- kann:
- NO_REG_HP : es werden keine HP regeneriert
- NO_REG_BUFFER_HP : es werden beim "tanken" keine HP regeneriert
- NO_REG_SP : es werden keine SP regeneriert
- NO_REG_BUFFER_SP : es werden beim "tanken" keine SP regeneriert
- NO_REG_ALCOHOL : der Alkoholspiegel wird nicht gesenkt
- NO_REG_DRINK : der Fluessigkeitsspiegel wird nicht gesenkt
- NO_REG_FOOD : der Nahrungsspiegel wird nicht gesenkt
- sowie die Konstante NO_REG, die eine Kombination aller moeglichen
- Werte darstellt (quasi das groesstmoegliche Uebel ;).
+ P_NO_REGENERATION "no_regeneration"
-BEISPIELE:
- Dieses Lebewesen heilt nur beim "tanken" in der Kneipe, ansonsten
- nicht:
-
- SetProp( P_NO_REGENERATION, NO_REG_HP|NO_REG_SP );
-SIEHE AUCH:
- /std/living/life.c
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ <living/life.h> und <health.h>
+
+
+BESCHREIBUNG
+============
+
+ Durch das Setzen dieser Property kann man verhindern, das ein Lebewesen
+ sich regeneriert.
+ Es gibt sieben moegliche Werte, die man durch verodern kombinieren
+ kann:
+ NO_REG_HP : es werden keine HP regeneriert
+ NO_REG_BUFFER_HP : es werden beim "tanken" keine HP regeneriert
+ NO_REG_SP : es werden keine SP regeneriert
+ NO_REG_BUFFER_SP : es werden beim "tanken" keine SP regeneriert
+ NO_REG_ALCOHOL : der Alkoholspiegel wird nicht gesenkt
+ NO_REG_DRINK : der Fluessigkeitsspiegel wird nicht gesenkt
+ NO_REG_FOOD : der Nahrungsspiegel wird nicht gesenkt
+ sowie die Konstante NO_REG, die eine Kombination aller moeglichen
+ Werte darstellt (quasi das groesstmoegliche Uebel ;).
+
+
+BEISPIELE
+=========
+
+ Dieses Lebewesen heilt nur beim "tanken" in der Kneipe, ansonsten
+ nicht:
+
+
+
+ SetProp( P_NO_REGENERATION, NO_REG_HP|NO_REG_SP );
+
+
+SIEHE AUCH
+==========
+
+ /std/living/life.c
+
Last modified: 14-05-2001 by Mupfel
diff --git a/doc/props/P_NO_SCORE b/doc/props/P_NO_SCORE
index 6c4a2d2..49cfee5 100644
--- a/doc/props/P_NO_SCORE
+++ b/doc/props/P_NO_SCORE
@@ -1,51 +1,73 @@
-NAME:
- P_NO_SCORE "no_score"
-DEFINIERT IN:
- /secure/scoremaster.h
+P_NO_SCORE
+**********
-BESCHREIBUNG:
- Die Property stellt ein Flag innerhalb von Lebewesen dar, welches
- standardmaessig nicht gesetzt ist. In diesem Fall werden
- Erstkillstufenpunkte an den Angreifer vergeben, sofern er ein Opfer
- toetet.
- Innerhalb eines Teams koennen Erstkillstufenpunkte auch an
- Mitglieder vergeben werden, die das Lebewesen nicht selbst getoetet
- haben. Voraussetzung hierfuer ist, dass derjenige, der den letzten
- Schlag ausfuehrte, den Kill schon hat. Danach werden Mitglieder des
- Teams gesucht, welche den Kill noch nicht haben und in der Formation
- moeglichst weit vorne stehen.
+NAME
+====
- Mit der gesetzten Property P_NO_SCORE im Opfer erreicht man nun,
- dass diese Gutschrift fuer den/die Angreifer unterbunden wird.
+ P_NO_SCORE "no_score"
-BEISPIEL:
- Folgendermassen unterbindet man die Vergabe von
- Erstkillstufenpunkten fuer den Tod eines NPC's:
- include "/secure/scoremaster.h"
- inherit "std/npc";
- void create() {
- ::create();
- ...
- SetProp(P_NO_SCORE,1);
- }
+DEFINIERT IN
+============
- Damit kann P_XP einen Wert haben, der eigentlich zum automatischen
- Eintragen von Erstkillstufenpunkten fuer ein Lebewesen fuehrt, und
- trotzdem wird dieser Eintrag nicht vorgenommen.
- Sinnvoll ist dies insbesondere bei Lebewesen, die nicht jeder
- Spieler erreichen kann (man moechte doch eine gewisse
- Chancengleichheit fuer das Erreichen von Stufenpunkten bieten).
+ /secure/scoremaster.h
-BEMERKUNGEN:
- Auch die Vergabe von Erfahrungspunkten kann explizit unterbunden
- werden. Hierfuer gibt es die aehnlich geartete Property P_NO_XP.
-SIEHE AUCH:
- Funktionen: GiveKillScore(), do_damage()
- Verwandt: P_NO_XP
- Sonstiges: P_XP
+BESCHREIBUNG
+============
+
+ Die Property stellt ein Flag innerhalb von Lebewesen dar, welches
+ standardmaessig nicht gesetzt ist. In diesem Fall werden
+ Erstkillstufenpunkte an den Angreifer vergeben, sofern er ein Opfer
+ toetet.
+
+ Innerhalb eines Teams koennen Erstkillstufenpunkte auch an
+ Mitglieder vergeben werden, die das Lebewesen nicht selbst getoetet
+ haben. Voraussetzung hierfuer ist, dass derjenige, der den letzten
+ Schlag ausfuehrte, den Kill schon hat. Danach werden Mitglieder des
+ Teams gesucht, welche den Kill noch nicht haben und in der Formation
+ moeglichst weit vorne stehen.
+
+ Mit der gesetzten Property P_NO_SCORE im Opfer erreicht man nun,
+ dass diese Gutschrift fuer den/die Angreifer unterbunden wird.
+
+
+BEISPIEL
+========
+
+ Folgendermassen unterbindet man die Vergabe von
+ Erstkillstufenpunkten fuer den Tod eines NPC's:
+
+ include "/secure/scoremaster.h"
+ inherit "std/npc";
+ void create() {
+ ::create();
+ ...
+ SetProp(P_NO_SCORE,1);
+ }
+
+ Damit kann P_XP einen Wert haben, der eigentlich zum automatischen
+ Eintragen von Erstkillstufenpunkten fuer ein Lebewesen fuehrt, und
+ trotzdem wird dieser Eintrag nicht vorgenommen.
+ Sinnvoll ist dies insbesondere bei Lebewesen, die nicht jeder
+ Spieler erreichen kann (man moechte doch eine gewisse
+ Chancengleichheit fuer das Erreichen von Stufenpunkten bieten).
+
+
+BEMERKUNGEN
+===========
+
+ Auch die Vergabe von Erfahrungspunkten kann explizit unterbunden
+ werden. Hierfuer gibt es die aehnlich geartete Property P_NO_XP.
+
+
+SIEHE AUCH
+==========
+
+ Funktionen: GiveKillScore(), do_damage()
+ Verwandt: P_NO_XP
+ Sonstiges: P_XP
14.Feb 2007 Gloinson
diff --git a/doc/props/P_NO_STD_DRINK b/doc/props/P_NO_STD_DRINK
index a91e92d..f8c2f33 100644
--- a/doc/props/P_NO_STD_DRINK
+++ b/doc/props/P_NO_STD_DRINK
@@ -1,19 +1,37 @@
-NAME:
- P_NO_STD_DRINK "no_std_drink"
-DEFINIERT IN:
- /sys/pub.h
+P_NO_STD_DRINK
+**************
-BESCHREIBUNG:
- Durch setzen dieser Property in einer Kneipe sorgt man dafuer, dass
- "Standard-Drinks" (z.B. Gluehwein im Dezember) nicht in das Menue
- der Kneipe aufgenommen werden.
-BEMERKUNGEN:
- Keine.
+NAME
+====
-SIEHE AUCH:
- /std/room/pub.c
+ P_NO_STD_DRINK "no_std_drink"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+ Durch setzen dieser Property in einer Kneipe sorgt man dafuer, dass
+ "Standard-Drinks" (z.B. Gluehwein im Dezember) nicht in das Menue
+ der Kneipe aufgenommen werden.
+
+
+BEMERKUNGEN
+===========
+
+ Keine.
+
+
+SIEHE AUCH
+==========
+
+ /std/room/pub.c
+
Last modified: Sat Mar 04 22:42:00 2000 by Paracelsus
diff --git a/doc/props/P_NO_TPORT b/doc/props/P_NO_TPORT
index 40350e5..1c6de77 100644
--- a/doc/props/P_NO_TPORT
+++ b/doc/props/P_NO_TPORT
@@ -1,15 +1,30 @@
-NAME:
- P_NO_TPORT "tport"
-DEFINIERT IN:
- /sys/properties.h
+P_NO_TPORT
+**********
-BESCHREIBUNG:
- Kann folgende Werte annnehmen (definiert in moving.h):
- NO_TPORT_IN = Man kann nicht in den Raum hinein teleportieren.
- NO_TPORT_OUT = Man kann nicht aus dem Raum hinaus teleportieren.
- NO_TPORT = Weder noch.
-SIEHE AUCH:
- P_NO_PARA_TRANS
+NAME
+====
+ P_NO_TPORT "tport"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Kann folgende Werte annnehmen (definiert in moving.h):
+ NO_TPORT_IN = Man kann nicht in den Raum hinein teleportieren.
+ NO_TPORT_OUT = Man kann nicht aus dem Raum hinaus teleportieren.
+ NO_TPORT = Weder noch.
+
+
+SIEHE AUCH
+==========
+
+ P_NO_PARA_TRANS
diff --git a/doc/props/P_NO_TRAVELING b/doc/props/P_NO_TRAVELING
index 61425bc..cd1073a 100644
--- a/doc/props/P_NO_TRAVELING
+++ b/doc/props/P_NO_TRAVELING
@@ -1,25 +1,48 @@
-NAME:
- P_NO_TRAVELING "no_traveling"
-DEFINIERT IN:
- /sys/transport.h
+P_NO_TRAVELING
+**************
-BESCHREIBUNG:
- Hier steht der allgemeine reise-Befehl nicht zur Verfuegung.
-BEMERKUNGEN:
- P_NO_TRAVELING wird in Transportern gesetzt wenn Spieler ihn
- nicht mehr 'automatisch' mittels des 'reise'-Befehls betreten
- koennen sollen.
+NAME
+====
- Sie bekommen in dem Transporter und in den Zielraeumen auch
- keinerlei Hinweise darauf, wohin sie evtl. reisen koennten.
-
- Standardmaessig ist P_NO_TRAVELING natuerlich 0.
+ P_NO_TRAVELING "no_traveling"
-SIEHE AUCH:
- reise
-LETZTER AENDERUNG:
- Don, 24.01.2002, 10:15:07h von Tilly
-
\ No newline at end of file
+DEFINIERT IN
+============
+
+ /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+ Hier steht der allgemeine reise-Befehl nicht zur Verfuegung.
+
+
+BEMERKUNGEN
+===========
+
+ P_NO_TRAVELING wird in Transportern gesetzt wenn Spieler ihn
+ nicht mehr 'automatisch' mittels des 'reise'-Befehls betreten
+ koennen sollen.
+
+ Sie bekommen in dem Transporter und in den Zielraeumen auch
+ keinerlei Hinweise darauf, wohin sie evtl. reisen koennten.
+
+
+
+ Standardmaessig ist P_NO_TRAVELING natuerlich 0.
+
+
+SIEHE AUCH
+==========
+
+ reise
+
+
+LETZTER AENDERUNG
+=================
+
+ Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_NO_XP b/doc/props/P_NO_XP
index bb09b2a..b16c4ab 100644
--- a/doc/props/P_NO_XP
+++ b/doc/props/P_NO_XP
@@ -1,43 +1,65 @@
-NAME:
- P_NO_XP "no_xp"
-DEFINIERT IN:
- /sys/living/life.h
+P_NO_XP
+*******
-BESCHREIBUNG:
- Im Normalfall bekommt man im Kampf gegen einen Gegner fuer Treffer
- und beim Toeten eine XP-Gutschrift.
- Ist P_NO_XP gesetzt, so erhaelt man keinerlei XP-Gutschriften
- fuer den Kampf oder den Tod des NPCs.
+NAME
+====
-BEISPIEL:
- Folgendermassen unterbindet man die Vergabe von Erfahrungspunkte
- fuer den Angriff eines NPC's:
+ P_NO_XP "no_xp"
- include "/sys/living/life.h"
- inherit "std/npc";
- void create() {
- ::create();
- ...
- SetProp(P_NO_XP,1);
- }
- Damit kann P_XP trotzdem einen Wert im NPC haben, der
- Erstkillstufenpunkte fuer Lebewesen automatisch eintraegt!
+DEFINIERT IN
+============
- Auch fuer das kurzzeitige Unterbinden der Vergabe von
- Erfahrungspunkten ist diese Property sinnvoller, als P_XP im NPC
- auf 0 zu setzen.
+ /sys/living/life.h
-BEMERKUNGEN:
- Auch die Vergabe von Erstkillstufenpunkten kann explizit unterbunden
- werden. Hierfuer gibt es die aehnlich geartete Property P_NO_SCORE.
-SIEHE AUCH:
- Funktionen: AddExp(), DistributeExp(), do_damage()
- Properties: P_XP, P_LAST_XP
- Verwandt: P_NO_SCORE
- Sonstiges: P_TOTAL_WC, create_default_npc()
+BESCHREIBUNG
+============
+
+ Im Normalfall bekommt man im Kampf gegen einen Gegner fuer Treffer
+ und beim Toeten eine XP-Gutschrift.
+
+ Ist P_NO_XP gesetzt, so erhaelt man keinerlei XP-Gutschriften
+ fuer den Kampf oder den Tod des NPCs.
+
+
+BEISPIEL
+========
+
+ Folgendermassen unterbindet man die Vergabe von Erfahrungspunkte
+ fuer den Angriff eines NPC's:
+
+ include "/sys/living/life.h"
+ inherit "std/npc";
+ void create() {
+ ::create();
+ ...
+ SetProp(P_NO_XP,1);
+ }
+
+ Damit kann P_XP trotzdem einen Wert im NPC haben, der
+ Erstkillstufenpunkte fuer Lebewesen automatisch eintraegt!
+
+ Auch fuer das kurzzeitige Unterbinden der Vergabe von
+ Erfahrungspunkten ist diese Property sinnvoller, als P_XP im NPC
+ auf 0 zu setzen.
+
+
+BEMERKUNGEN
+===========
+
+ Auch die Vergabe von Erstkillstufenpunkten kann explizit unterbunden
+ werden. Hierfuer gibt es die aehnlich geartete Property P_NO_SCORE.
+
+
+SIEHE AUCH
+==========
+
+ Funktionen: AddExp(), DistributeExp(), do_damage()
+ Properties: P_XP, P_LAST_XP
+ Verwandt: P_NO_SCORE
+ Sonstiges: P_TOTAL_WC, create_default_npc()
14.Feb 2007 Gloinson
diff --git a/doc/props/P_NPC b/doc/props/P_NPC
index 69d1270..60651d8 100644
--- a/doc/props/P_NPC
+++ b/doc/props/P_NPC
@@ -1,8 +1,21 @@
-NAME:
- P_NPC "is_npc"
-DEFINIERT IN:
- /sys/properties.h
+P_NPC
+*****
-BESCHREIBUNG:
- Gesetzt bei Monstern.
+
+NAME
+====
+
+ P_NPC "is_npc"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Gesetzt bei Monstern.
diff --git a/doc/props/P_NPC_FASTHEAL b/doc/props/P_NPC_FASTHEAL
index 3f588b9..3c358ef 100644
--- a/doc/props/P_NPC_FASTHEAL
+++ b/doc/props/P_NPC_FASTHEAL
@@ -1,21 +1,39 @@
-NAME:
- P_NPC_FASTHEAL "npc_fastheal"
-DEFINIERT IN:
- /sys/pub.h
+P_NPC_FASTHEAL
+**************
-BESCHREIBUNG:
- Durch setzen dieser Property in einer Kneipe sorgt man dafuer, dass
- bei NPCs, die dort "tanken", die Lebens- und Konzentrationspunkte
- direkt erhoeht werden und nicht, wie bei ungesetzter Property, in
- die jew. Buffer geschrieben werden.
-BEMERKUNGEN:
- Die Benutzung dieser Property sollte nicht unbedingt zum Standard
- werden.
+NAME
+====
-SIEHE AUCH:
- /std/room/pub.c
+ P_NPC_FASTHEAL "npc_fastheal"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+ Durch setzen dieser Property in einer Kneipe sorgt man dafuer, dass
+ bei NPCs, die dort "tanken", die Lebens- und Konzentrationspunkte
+ direkt erhoeht werden und nicht, wie bei ungesetzter Property, in
+ die jew. Buffer geschrieben werden.
+
+
+BEMERKUNGEN
+===========
+
+ Die Benutzung dieser Property sollte nicht unbedingt zum Standard
+ werden.
+
+
+SIEHE AUCH
+==========
+
+ /std/room/pub.c
+
Last modified: Wed Sep 29 13:58:00 1999 by Paracelsus
diff --git a/doc/props/P_NR_HANDS b/doc/props/P_NR_HANDS
index b0827a9..a3bf299 100644
--- a/doc/props/P_NR_HANDS
+++ b/doc/props/P_NR_HANDS
@@ -1,31 +1,45 @@
+
P_NR_HANDS
-NAME:
- P_NR_HANDS "nr_hands"
+**********
-DEFINIERT IN:
- <weapon.h>
-BESCHREIBUNG:
- Wieviele Haende muss man frei haben, um die Waffe zuecken oder den
- Schild tragen zu koennen?
- Dieser Wert muss mindestens 1 betragen!
+NAME
+====
- Sollen Spieler die Waffe benutzen koennen, so sind hier nur die Werte 1
- und 2 moeglich. Falls die Waffe nur von Monstern benutzbar sein soll,
- kann man hier auch hoehere Werte eintragen (dazu muss man beim Monster
- P_MAX_HANDS entsprechend hoch setzen). Als Beispiel sei hier nur das
- vierhaendige Schwert aus dem Friedhof genannt.
+ P_NR_HANDS "nr_hands"
- Defaultmaessig sind alle Waffen Zweihaender.
- Diese Property kann auch bei Zaubern benutzt werden, bei denen man eine
- oder mehrere Haende frei haben muss.
+DEFINIERT IN
+============
-SIEHE AUCH:
- P_HANDS, P_HANDS_USED_BY
- P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
- UseHands, FreeHands
- /std/weapon.c, /std/spellbook.c
+ <weapon.h>
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ Wieviele Haende muss man frei haben, um die Waffe zuecken oder den
+ Schild tragen zu koennen?
+ Dieser Wert muss mindestens 1 betragen!
+
+ Sollen Spieler die Waffe benutzen koennen, so sind hier nur die Werte 1
+ und 2 moeglich. Falls die Waffe nur von Monstern benutzbar sein soll,
+ kann man hier auch hoehere Werte eintragen (dazu muss man beim Monster
+ P_MAX_HANDS entsprechend hoch setzen). Als Beispiel sei hier nur das
+ vierhaendige Schwert aus dem Friedhof genannt.
+
+ Defaultmaessig sind alle Waffen Zweihaender.
+
+ Diese Property kann auch bei Zaubern benutzt werden, bei denen man eine
+ oder mehrere Haende frei haben muss.
+
+
+SIEHE AUCH
+==========
+
+ P_HANDS, P_HANDS_USED_BY
+ P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
+ UseHands, FreeHands
+ /std/weapon.c, /std/spellbook.c
+
Last modified: Sun May 19 15:00:02 1996 by Wargon
diff --git a/doc/props/P_ORAKEL b/doc/props/P_ORAKEL
index cf383da..773a80d 100644
--- a/doc/props/P_ORAKEL
+++ b/doc/props/P_ORAKEL
@@ -1,9 +1,22 @@
-NAME:
- P_ORAKEL "orakel"
-DEFINIERT IN:
- /sys/properties.h
+P_ORAKEL
+********
-BESCHREIBUNG:
- Wenn diese Property gesetzt ist, kann der Wanderer in diesen
- Raum hinein.
+
+NAME
+====
+
+ P_ORAKEL "orakel"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wenn diese Property gesetzt ist, kann der Wanderer in diesen
+ Raum hinein.
diff --git a/doc/props/P_ORIG_FILE_NAME b/doc/props/P_ORIG_FILE_NAME
index 2064360..53243c2 100644
--- a/doc/props/P_ORIG_FILE_NAME
+++ b/doc/props/P_ORIG_FILE_NAME
@@ -1,8 +1,21 @@
-NAME:
- P_ORIG_FILE_NAME "original_object_name"
-DEFINIERT IN:
- /sys/properties.h
+P_ORIG_FILE_NAME
+****************
-BESCHREIBUNG:
- In einer Leiche der Filename des Gestorbenen.
+
+NAME
+====
+
+ P_ORIG_FILE_NAME "original_object_name"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ In einer Leiche der Filename des Gestorbenen.
diff --git a/doc/props/P_ORIG_NAME b/doc/props/P_ORIG_NAME
index 96a5d73..e44a06d 100644
--- a/doc/props/P_ORIG_NAME
+++ b/doc/props/P_ORIG_NAME
@@ -1,8 +1,21 @@
-NAME:
- P_ORIG_NAME "original_name"
-DEFINIERT IN:
- /sys/properties.h
+P_ORIG_NAME
+***********
-BESCHREIBUNG:
- In einer Leiche der Name des Gestorbenen. (name(RAW))
+
+NAME
+====
+
+ P_ORIG_NAME "original_name"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ In einer Leiche der Name des Gestorbenen. (name(RAW))
diff --git a/doc/props/P_PARA b/doc/props/P_PARA
index 87cc92b..0a7f416 100644
--- a/doc/props/P_PARA
+++ b/doc/props/P_PARA
@@ -1,54 +1,73 @@
-NAME:
- P_PARA "para"
-DEFINIERT IN:
- /sys/properties.h
+P_PARA
+******
-BESCHREIBUNG:
- Nummer der Parallelwelt, in der sich ein Spieler befindet.
- Ist die Property P_PARA auf Null gesetzt, so befindet sich der Spieler in
- der 'Normalwelt'. Gibt es bei einer Bewegung dieses Spielers mehrere
- moegliche Zielraeume mit identischem Namen aber unterschiedlichen Endungen
- 'name.c', 'name^1.c', 'name^2.c' etc., so wird der Spieler in den Raum
- 'name.c' bewegt.
+NAME
+====
- Wird die Property P_PARA auf einen Wert n>0 gesetzt, so landet der Spieler
- bei einer Bewegung im Raum 'name^n.c'. Ist kein Raum mit entsprechender
- Endung vorhanden, wird der Spieler stattdessen in den Normalweltraum
- bewegt.
+ P_PARA "para"
- Diese Prop kann auch in einem Virtual Compiler gesetzt werden. In diesem
- Fall schraenkt sie die Dimensionen ein, in denen der VC Objekte erzeugt.
- Die Prop kann eine einzelne Ziffer (Int) oder ein Array von Ints
- aufnehmen, dann ist der VC fuer alle angegeben Dimensionen zustaendig.
- Ein leeres Array erlaubt gar keine Para-Objekte.
-ANMERKUNG:
- Die Endung '^0' kennzeichnet _nicht_ die Normalwelt. So lange kein Ausgang
- explizit auf den Raum 'name^0.c' verweist, wird kein Spieler den Raum
- betreten koennen. Deshalb kann man die Endung '^0' z.B. dazu benutzen, um
- eigene Standardraeume fuer ein Gebiet zu schreiben, die dann sowohl von
- den Normal- als auch von den Parallelweltraeumen inheritet werden.
+DEFINIERT IN
+============
- Raeume mit Endungen '^n.c', bei denen 'n' keine positive ganze Zahl ist,
- werden nicht beachtet.
+ /sys/properties.h
- Fuer die Entscheidung, in welchem Raum ein Spieler in Abhaengigkeit von
- P_PARA landet, ist die Funktion move() zustaendig. Als Magier muss man sich
- darum nicht gesondert kuemmern. Das heisst aber auch, dass beim Anschluss
- eines Normalweltraumes automatisch alle in dem Verzeichnis mit gleichem
- Namen vorhandenen Parallelweltraeume mit angeschlossen werden.
- Sollen einzelne Parallelweltraeume noch nicht angeschlossen werden, so muss
- in ihnen die Property P_NO_PLAYERS gesetzt werden. Diese Raeume sind dann
- nur durch Magier und Testspieler zu betreten (und zu testen).
+BESCHREIBUNG
+============
- In Paraweltraeumen liefert P_PARA 'n' zurueck.
- Man kann also z.B. in NPCs einfach ueber environment()->QueryProp(P_PARA)
- abfragen, in welcher Parawelt sich dieser gerade befindet.
+ Nummer der Parallelwelt, in der sich ein Spieler befindet.
-SIEHE AUCH:
- P_NO_PLAYERS, move, pararaeume
-
+ Ist die Property P_PARA auf Null gesetzt, so befindet sich der Spieler in
+ der 'Normalwelt'. Gibt es bei einer Bewegung dieses Spielers mehrere
+ moegliche Zielraeume mit identischem Namen aber unterschiedlichen Endungen
+ 'name.c', 'name^1.c', 'name^2.c' etc., so wird der Spieler in den Raum
+ 'name.c' bewegt.
+
+ Wird die Property P_PARA auf einen Wert n>0 gesetzt, so landet der Spieler
+ bei einer Bewegung im Raum 'name^n.c'. Ist kein Raum mit entsprechender
+ Endung vorhanden, wird der Spieler stattdessen in den Normalweltraum
+ bewegt.
+
+ Diese Prop kann auch in einem Virtual Compiler gesetzt werden. In diesem
+ Fall schraenkt sie die Dimensionen ein, in denen der VC Objekte erzeugt.
+ Die Prop kann eine einzelne Ziffer (Int) oder ein Array von Ints
+ aufnehmen, dann ist der VC fuer alle angegeben Dimensionen zustaendig.
+ Ein leeres Array erlaubt gar keine Para-Objekte.
+
+
+ANMERKUNG
+=========
+
+ Die Endung '^0' kennzeichnet _nicht_ die Normalwelt. So lange kein Ausgang
+ explizit auf den Raum 'name^0.c' verweist, wird kein Spieler den Raum
+ betreten koennen. Deshalb kann man die Endung '^0' z.B. dazu benutzen, um
+ eigene Standardraeume fuer ein Gebiet zu schreiben, die dann sowohl von
+ den Normal- als auch von den Parallelweltraeumen inheritet werden.
+
+ Raeume mit Endungen '^n.c', bei denen 'n' keine positive ganze Zahl ist,
+ werden nicht beachtet.
+
+ Fuer die Entscheidung, in welchem Raum ein Spieler in Abhaengigkeit von
+ P_PARA landet, ist die Funktion move() zustaendig. Als Magier muss man sich
+ darum nicht gesondert kuemmern. Das heisst aber auch, dass beim Anschluss
+ eines Normalweltraumes automatisch alle in dem Verzeichnis mit gleichem
+ Namen vorhandenen Parallelweltraeume mit angeschlossen werden.
+
+ Sollen einzelne Parallelweltraeume noch nicht angeschlossen werden, so muss
+ in ihnen die Property P_NO_PLAYERS gesetzt werden. Diese Raeume sind dann
+ nur durch Magier und Testspieler zu betreten (und zu testen).
+
+ In Paraweltraeumen liefert P_PARA 'n' zurueck.
+ Man kann also z.B. in NPCs einfach ueber environment()->QueryProp(P_PARA)
+ abfragen, in welcher Parawelt sich dieser gerade befindet.
+
+
+SIEHE AUCH
+==========
+
+ P_NO_PLAYERS, move, pararaeume
+
25.Jan 2015 Gloinson
diff --git a/doc/props/P_PARRY b/doc/props/P_PARRY
index 03550df..40ddecd 100644
--- a/doc/props/P_PARRY
+++ b/doc/props/P_PARRY
@@ -1,31 +1,47 @@
+
P_PARRY
+*******
-NAME:
- P_PARRY "parry"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Diese Property legt fest, inwiefern eine Waffe als Parierwaffe
- genutzt werden kann. Moegliche Werte:
+ P_PARRY "parry"
- PARRY_NOT Eine reine Angriffswaffe ohne Parierfunktion.
- PARRY_TOO Eine kombinierte Angriffs- und Parierwaffe.
+DEFINIERT IN
+============
- PARRY_ONLY Eine reine Parierwaffe. Diese kann zusaetzlich
- zu einer normalen Waffe gezueckt werden.
+ <combat.h>
- Man sollte nur die in <combat.h> definierten Konstanten verwenden.
-BEMERKUNGEN:
- Durch diese Propertie laesst sich _kein_ Parade-Bonus fuer Trves
- setzen! Alle Gilden haben etwas davon. Vor Verwendung bitte mit
- der Objekt-Balance absprechen.
+BESCHREIBUNG
+============
-SIEHE AUCH:
- /std/weapon/combat.c
+ Diese Property legt fest, inwiefern eine Waffe als Parierwaffe
+ genutzt werden kann. Moegliche Werte:
-----------------------------------------------------------------------------
+ PARRY_NOT Eine reine Angriffswaffe ohne Parierfunktion.
+
+ PARRY_TOO Eine kombinierte Angriffs- und Parierwaffe.
+
+ PARRY_ONLY Eine reine Parierwaffe. Diese kann zusaetzlich
+ zu einer normalen Waffe gezueckt werden.
+
+ Man sollte nur die in <combat.h> definierten Konstanten verwenden.
+
+
+BEMERKUNGEN
+===========
+
+ Durch diese Propertie laesst sich _kein_ Parade-Bonus fuer Trves
+ setzen! Alle Gilden haben etwas davon. Vor Verwendung bitte mit
+ der Objekt-Balance absprechen.
+
+
+SIEHE AUCH
+==========
+
+ /std/weapon/combat.c
+
Last modified: Sat Jun 01 13:28:45 2001 by Tilly
diff --git a/doc/props/P_PARRY_WEAPON b/doc/props/P_PARRY_WEAPON
index c873bfb..9ee60aa 100644
--- a/doc/props/P_PARRY_WEAPON
+++ b/doc/props/P_PARRY_WEAPON
@@ -1,17 +1,30 @@
+
P_PARRY_WEAPON
+**************
-NAME:
- P_PARRY_WEAPON "parry_weapon"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Diese Property gibt an, welche Parierwaffe ein Spieler derzeit
- gezueckt hat.
+ P_PARRY_WEAPON "parry_weapon"
-SIEHE AUCH:
- /std/weapon/combat.c, /std/living/combat.c
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ <combat.h>
+
+
+BESCHREIBUNG
+============
+
+ Diese Property gibt an, welche Parierwaffe ein Spieler derzeit
+ gezueckt hat.
+
+
+SIEHE AUCH
+==========
+
+ /std/weapon/combat.c, /std/living/combat.c
+
Last modified: Sat Jun 26 15:23:00 1999 by Paracelsus
diff --git a/doc/props/P_PEACE_HISTORY b/doc/props/P_PEACE_HISTORY
index f3cb2d2..eab38d5 100644
--- a/doc/props/P_PEACE_HISTORY
+++ b/doc/props/P_PEACE_HISTORY
@@ -1,42 +1,62 @@
+
P_PEACE_HISTORY
+***************
-NAME:
- P_PEACE_HISTORY "_peace_history"
-DEFINIERT IN:
- /sys/living/combat.h
+NAME
+====
-BESCHREIBUNG:
- In dieser Prop wird nach Gilden getrennt gespeichet, wie oft das Lebewesen
- in letzter Zeit befriedet worden ist. Diese Information geht in die
- Chance auf eine zukuenftige Befriedung ein.
- Die Zaehler werden im Durchschnitt alle 2700s um 2-3 reduziert.
- Die Datenstruktur ist ein Array, welches einen Zeitstempel als erstes
- Element und ein Mapping als zweites enthaelt. Das Mapping enthaelt unter
- den Gildennamen als Keys den ganzzahligen Zaehler erfolgreicher
- Befriedungen von Spielern dieser Gilde.
+ P_PEACE_HISTORY "_peace_history"
-BEMERKUNGEN:
- * Diese Property sollte niemals direkt geaendert werden. Bitte greift also
- nur lesend darauf zu. Sollte hiermit Schindluder getrieben werden,
- werden die Daten vor externer Aenderung geschuetzt.
- * Die Datenstruktur in dieser Prop kann in Zukunft u.U. geaendert werden.
- Daher aendert sie am besten auch nicht im eigenen NPC oder seid darauf
- gefasst, irgendwann Hand anlegen zu muessen.
- * Die Aktualisierung (auch die Reduktion) findet im Zuge eines
- QueryPacify() statt, nicht im Reset des Lebewesens.
-BEISPIEL:
- In P_PEACE_HISTORY steht:
- ({1209654597, (["zauberer": 3, "klerus": 4]) })
- Bei der Berechnung der naechsten Befriede-Chance gehen bei Zauberern also
- 3 erfolgreiche Versuche, bei Klerikern 4 erfolgreiche Versuche ein.
- Der Zeitwert an erster Stelle des Arrays wird der bei der Berechnung der
- naechsten Reduktion der Zaehler beruecksichtigt. (Genaues: s. combat.c)
+DEFINIERT IN
+============
-SIEHE AUCH:
- P_PEACE_ACCEPT
- QueryPacify()
- /std/living/combat.c
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Prop wird nach Gilden getrennt gespeichet, wie oft das Lebewesen
+ in letzter Zeit befriedet worden ist. Diese Information geht in die
+ Chance auf eine zukuenftige Befriedung ein.
+ Die Zaehler werden im Durchschnitt alle 2700s um 2-3 reduziert.
+ Die Datenstruktur ist ein Array, welches einen Zeitstempel als erstes
+ Element und ein Mapping als zweites enthaelt. Das Mapping enthaelt unter
+ den Gildennamen als Keys den ganzzahligen Zaehler erfolgreicher
+ Befriedungen von Spielern dieser Gilde.
+
+
+BEMERKUNGEN
+===========
+
+ * Diese Property sollte niemals direkt geaendert werden. Bitte greift also
+ nur lesend darauf zu. Sollte hiermit Schindluder getrieben werden,
+ werden die Daten vor externer Aenderung geschuetzt.
+ * Die Datenstruktur in dieser Prop kann in Zukunft u.U. geaendert werden.
+ Daher aendert sie am besten auch nicht im eigenen NPC oder seid darauf
+ gefasst, irgendwann Hand anlegen zu muessen.
+ * Die Aktualisierung (auch die Reduktion) findet im Zuge eines
+ QueryPacify() statt, nicht im Reset des Lebewesens.
+
+
+BEISPIEL
+========
+
+ In P_PEACE_HISTORY steht:
+ ({1209654597, (["zauberer": 3, "klerus": 4]) })
+ Bei der Berechnung der naechsten Befriede-Chance gehen bei Zauberern also
+ 3 erfolgreiche Versuche, bei Klerikern 4 erfolgreiche Versuche ein.
+ Der Zeitwert an erster Stelle des Arrays wird der bei der Berechnung der
+ naechsten Reduktion der Zaehler beruecksichtigt. (Genaues: s. combat.c)
+
+
+SIEHE AUCH
+==========
+
+ P_PEACE_ACCEPT
+ QueryPacify()
+ /std/living/combat.c
01.05.2008, Zesstra
diff --git a/doc/props/P_PERM_STRING b/doc/props/P_PERM_STRING
index d7904b7..373c516 100644
--- a/doc/props/P_PERM_STRING
+++ b/doc/props/P_PERM_STRING
@@ -1,11 +1,24 @@
-NAME:
- P_PERM_STRING "perm_string"
-DEFINIERT IN:
- /sys/player/comm.h
+P_PERM_STRING
+*************
-BESCHREIBUNG:
- Fuer Sprachflueche, Property ist im Spieler-Objekt zu setzen. In dem
- Objekt, das in P_PERM_STRING gespeichert ist, wird bei Sprachbefehlen
- permutate_string(str) aufgerufen und der zurueckgegebene String
- stattdessen ausgegeben.
+
+NAME
+====
+
+ P_PERM_STRING "perm_string"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+ Fuer Sprachflueche, Property ist im Spieler-Objekt zu setzen. In dem
+ Objekt, das in P_PERM_STRING gespeichert ist, wird bei Sprachbefehlen
+ permutate_string(str) aufgerufen und der zurueckgegebene String
+ stattdessen ausgegeben.
diff --git a/doc/props/P_PICK_MSG b/doc/props/P_PICK_MSG
index f77d508..76b2760 100644
--- a/doc/props/P_PICK_MSG
+++ b/doc/props/P_PICK_MSG
@@ -1,60 +1,78 @@
+
P_PICK_MSG
-NAME:
- P_PICK_MSG "pick_message"
+**********
-DEFINIERT IN:
- /sys/living/put_and_get.h
-BESCHREIBUNG:
- Mit P_PICK_MSG kann man die Meldung, die man beim Aufnehmen eines
- Objektes bekommt, modifizieren.
+NAME
+====
- Folgende Werte sind moeglich:
+ P_PICK_MSG "pick_message"
- o 0
- Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
- o NO_PNG_MSG == -1
- Es wird keinerlei Meldung ausgegeben
+DEFINIERT IN
+============
- o Ein Array aus Strings
- Der erste String wird an den Spieler ausgegeben, der zweite
- (optionale) an den Raum.
+ /sys/living/put_and_get.h
- Die Strings werden durch die Funktion replace_personal() geparst.
- Objekt1 - Spieler
- Objekt2 - das Objekt, das genommen wird
- Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
- Raum.
+BESCHREIBUNG
+============
-BEISPIEL:
- void create() {
- ...
- SetProp( P_SHORT, "Etwas Sand" );
- SetProp( P_LONG, break_string(
- "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+ Mit P_PICK_MSG kann man die Meldung, die man beim Aufnehmen eines
+ Objektes bekommt, modifizieren.
- SetProp( P_NAME, "Sand" );
- AddId( ({"sand"}) );
- SetProp( P_GENDER, MALE );
+ Folgende Werte sind moeglich:
- SetProp( P_PICK_MSG, ({
- "Du schaufelst @WEN2 in deine Hand.",
- "@WER1 schaufelt @WEN2 in eine Hand."}));
- ...
- }
+ o 0
+ Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
- Das ganze fuehrt bei Ugars "nimm sand" zu folgenden
- Meldungen:
+ o NO_PNG_MSG == -1
+ Es wird keinerlei Meldung ausgegeben
- Ugar: "Du schaufelst den Sand in deine Hand."
- Raum: "Ugar schaufelt den Sand in eine Hand."
+ o Ein Array aus Strings
+ Der erste String wird an den Spieler ausgegeben, der zweite
+ (optionale) an den Raum.
-SIEHE AUCH:
- Aehnliches: P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
- Fehler: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
- P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
- Sonstiges: replace_personal(E), pick_obj(L), /std/living/put_and_get.c
+ Die Strings werden durch die Funktion replace_personal() geparst.
+ Objekt1 - Spieler
+ Objekt2 - das Objekt, das genommen wird
+
+ Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
+ Raum.
+
+
+BEISPIEL
+========
+
+ void create() {
+ ...
+ SetProp( P_SHORT, "Etwas Sand" );
+ SetProp( P_LONG, break_string(
+ "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+
+ SetProp( P_NAME, "Sand" );
+ AddId( ({"sand"}) );
+ SetProp( P_GENDER, MALE );
+
+ SetProp( P_PICK_MSG, ({
+ "Du schaufelst @WEN2 in deine Hand.",
+ "@WER1 schaufelt @WEN2 in eine Hand."}));
+ ...
+ }
+
+ Das ganze fuehrt bei Ugars "nimm sand" zu folgenden
+ Meldungen:
+
+ Ugar: "Du schaufelst den Sand in deine Hand."
+ Raum: "Ugar schaufelt den Sand in eine Hand."
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
+ Fehler: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+ P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
+ Sonstiges: replace_personal(E), pick_obj(L), /std/living/put_and_get.c
14. Maerz 2004 Gloinson
diff --git a/doc/props/P_PILE_NAME b/doc/props/P_PILE_NAME
index e54dc72..edb0123 100644
--- a/doc/props/P_PILE_NAME
+++ b/doc/props/P_PILE_NAME
@@ -1,9 +1,22 @@
-NAME:
- P_PILE_NAME "file_name"
-DEFINIERT IN:
- /sys/container/properties.h
+P_PILE_NAME
+***********
-BESCHREIBUNG:
- In einer Leiche der Name des Gestorbenen im Dativ. (name(WEM))
- Wird vom Haufen benoetigt.
+
+NAME
+====
+
+ P_PILE_NAME "file_name"
+
+
+DEFINIERT IN
+============
+
+ /sys/container/properties.h
+
+
+BESCHREIBUNG
+============
+
+ In einer Leiche der Name des Gestorbenen im Dativ. (name(WEM))
+ Wird vom Haufen benoetigt.
diff --git a/doc/props/P_PLAYER_LIGHT b/doc/props/P_PLAYER_LIGHT
index ddd59b5..ce0c22d 100644
--- a/doc/props/P_PLAYER_LIGHT
+++ b/doc/props/P_PLAYER_LIGHT
@@ -1,28 +1,44 @@
-NAME:
- P_PLAYER_LIGHT "player_light"
-DEFINIERT IN:
- /sys/properties.h
+P_PLAYER_LIGHT
+**************
-BESCHREIBUNG:
- Gibt den Lichtlevel an, mit dem ein Lebewesen sieht, ein Abfragen dieser
- Property kann z.B. sinnvoll sein wenn man abfragen will ob ein Spieler
- genug Licht dabei hat um ein bestimmtes Detail untersuchen zu koennen.
- Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
- da das Lichtlevel ggf. neu berechnet werden muss!
+NAME
+====
- Ein direktes setzen dieser Property ist NICHT moeglich. Es ist jedoch
- moeglich entweder eine Closure zu benutzen oder den Wert ueber einen
- P_LIGHT_MODIFIER zu veraendern.
+ P_PLAYER_LIGHT "player_light"
- Um zu erreichen, das ein NPC Nachtsicht bekommt, gibt es nun 3 Varianten.
- - eine closure:
- Set(P_PLAYER_LIGHT, function int () {return 1;} , F_QUERY_METHOD)
- dieses bedeutet, dass der NPC in jeder Dunkelheit perfekt sehen kann.
- - das setzen von einem P_LIGHT_MODIFIER
- - das benutzen des stdskills. Hierzu schreibt man in das create() des
- NPCs einfach ein: ModifySkill(SK_NIGHTVISION, 10000);
-SIEHE AUCH:
- P_LIGHT_MODIFIER, P_LIGHT, P_TOTAL_LIGHT, P_INT_LIGHT, CannotSee()
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Gibt den Lichtlevel an, mit dem ein Lebewesen sieht, ein Abfragen dieser
+ Property kann z.B. sinnvoll sein wenn man abfragen will ob ein Spieler
+ genug Licht dabei hat um ein bestimmtes Detail untersuchen zu koennen.
+
+ Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
+ da das Lichtlevel ggf. neu berechnet werden muss!
+
+ Ein direktes setzen dieser Property ist NICHT moeglich. Es ist jedoch
+ moeglich entweder eine Closure zu benutzen oder den Wert ueber einen
+ P_LIGHT_MODIFIER zu veraendern.
+
+ Um zu erreichen, das ein NPC Nachtsicht bekommt, gibt es nun 3 Varianten.
+ - eine closure:
+ Set(P_PLAYER_LIGHT, function int () {return 1;} , F_QUERY_METHOD)
+ dieses bedeutet, dass der NPC in jeder Dunkelheit perfekt sehen kann.
+ - das setzen von einem P_LIGHT_MODIFIER
+ - das benutzen des stdskills. Hierzu schreibt man in das create() des
+ NPCs einfach ein: ModifySkill(SK_NIGHTVISION, 10000);
+
+
+SIEHE AUCH
+==========
+
+ P_LIGHT_MODIFIER, P_LIGHT, P_TOTAL_LIGHT, P_INT_LIGHT, CannotSee()
diff --git a/doc/props/P_PLURAL b/doc/props/P_PLURAL
index 0a5e3a5..eed829f 100644
--- a/doc/props/P_PLURAL
+++ b/doc/props/P_PLURAL
@@ -1,39 +1,58 @@
-NAME:
- P_PLURAL "plural"
-DEFINIERT IN:
- /sys/thing/language.h
+P_PLURAL
+********
-BESCHREIBUNG:
- Mit Hilfe von P_PLURAL koennen auch nicht Unit Objekte als Pluralobjekte
- markiert werden. Bei einem Wert > 1 wird der Wert ausserdem auch noch in
- den Namen eingefuegt. Sollte man in eigenem Code zulassen wollen, das
- etwas mit bestimmten Objekten geschieht, dann sollte man die Verben
- entsprechen konjugieren.
-BEMERKUNGEN:
- Wirkt nicht auf Todesmeldungen -> siehe dafuer P_KILL_MSG
+NAME
+====
-BEISPIELE:
- SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 2);
- name(WER, 1) -> "die zwei Stiefel"
+ P_PLURAL "plural"
- SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 1);
- name(WER, 1) -> "die Stiefel"
- // Ein Beispiel fuer das konjugieren von Verben
- static int cmd_opfer(string str)
- {
- int i;
- object *obs;
- notify_fail("Was moechtest Du opfern?\n");
- if (!str || !sizeof(obs=PL->find_obs(str))) return 0;
- for (i=sizeof(obs)-1; i>=0; i--)
- if (obs[i]->QueryProp(P_VALUE)<=0)
- write(obs[i]->Name(WER)+" "
- +(ob->QueryProp(P_PLURAL) ? "sind" : "ist")
- +" doch gar nichts wert.\n");
- else obs[i]->remove();
- }
+DEFINIERT IN
+============
+
+ /sys/thing/language.h
+
+
+BESCHREIBUNG
+============
+
+ Mit Hilfe von P_PLURAL koennen auch nicht Unit Objekte als Pluralobjekte
+ markiert werden. Bei einem Wert > 1 wird der Wert ausserdem auch noch in
+ den Namen eingefuegt. Sollte man in eigenem Code zulassen wollen, das
+ etwas mit bestimmten Objekten geschieht, dann sollte man die Verben
+ entsprechen konjugieren.
+
+
+BEMERKUNGEN
+===========
+
+ Wirkt nicht auf Todesmeldungen -> siehe dafuer P_KILL_MSG
+
+
+BEISPIELE
+=========
+
+ SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 2);
+ name(WER, 1) -> "die zwei Stiefel"
+
+ SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 1);
+ name(WER, 1) -> "die Stiefel"
+
+ // Ein Beispiel fuer das konjugieren von Verben
+ static int cmd_opfer(string str)
+ {
+ int i;
+ object *obs;
+ notify_fail("Was moechtest Du opfern?\n");
+ if (!str || !sizeof(obs=PL->find_obs(str))) return 0;
+ for (i=sizeof(obs)-1; i>=0; i--)
+ if (obs[i]->QueryProp(P_VALUE)<=0)
+ write(obs[i]->Name(WER)+" "
+ +(ob->QueryProp(P_PLURAL) ? "sind" : "ist")
+ +" doch gar nichts wert.\n");
+ else obs[i]->remove();
+ }
26. Juni 2004 Gloinson
diff --git a/doc/props/P_POISON b/doc/props/P_POISON
index 2b7ea7b..2ab5dc1 100644
--- a/doc/props/P_POISON
+++ b/doc/props/P_POISON
@@ -1,8 +1,21 @@
-NAME:
- P_POISON "poison"
-DEFINIERT IN:
- /sys/properties.h
+P_POISON
+********
-BESCHREIBUNG:
- Wie stark wir vergiftet sind (0-11)
+
+NAME
+====
+
+ P_POISON "poison"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wie stark wir vergiftet sind (0-11)
diff --git a/doc/props/P_POISON_DELAY b/doc/props/P_POISON_DELAY
index aba57c6..079efd9 100644
--- a/doc/props/P_POISON_DELAY
+++ b/doc/props/P_POISON_DELAY
@@ -1,13 +1,25 @@
-NAME:
- P_POISON_DELAY "poison_delay"
-DEFINIERT IN:
- /sys/living/life.h
+P_POISON_DELAY
+**************
-BESCHREIBUNG:
- Anzahl der heart_beats nach denen sich die Giftwirkung erneut
- zeigt. Je kleiner der Wert, desto empfindlicher ist das Lebewesen
- gegen Gift.
- Aenderungen dieser Property in Spielern beduerfen der Genehmigung
- des EMs fuer Balance.
-
+
+NAME
+====
+
+ P_POISON_DELAY "poison_delay"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der heart_beats nach denen sich die Giftwirkung erneut
+ zeigt. Je kleiner der Wert, desto empfindlicher ist das Lebewesen
+ gegen Gift.
+ Aenderungen dieser Property in Spielern beduerfen der Genehmigung
+ des EMs fuer Balance.
diff --git a/doc/props/P_PORTIONS b/doc/props/P_PORTIONS
index cb134e6..a6bdf16 100644
--- a/doc/props/P_PORTIONS
+++ b/doc/props/P_PORTIONS
@@ -1,21 +1,39 @@
-NAME:
- P_PORTIONS "std_food_portions"
-DEFINIERT IN:
- <sys/food.h>
+P_PORTIONS
+**********
-BESCHREIBUNG:
- In dieser Property steht die Anzahl der Portionen einer Speise.
- Es duerfen nur Werte > -1 gesetzt werden. Ist diese Property 0,
- wird die Speise als leer bzw. verbraucht angesehen und kann nicht
- konsumiert werden.
-
-DEFAULT:
- Initial ist diese Property auf 1 gesetzt, die Speise ist also mit
- einem Bissen/Schluck verbraucht bzw. leer.
-SIEHE AUCH:
- /std/food.c, wiz/food
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_PORTIONS "std_food_portions"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property steht die Anzahl der Portionen einer Speise.
+ Es duerfen nur Werte > -1 gesetzt werden. Ist diese Property 0,
+ wird die Speise als leer bzw. verbraucht angesehen und kann nicht
+ konsumiert werden.
+
+
+DEFAULT
+=======
+
+ Initial ist diese Property auf 1 gesetzt, die Speise ist also mit
+ einem Bissen/Schluck verbraucht bzw. leer.
+
+
+SIEHE AUCH
+==========
+
+ /std/food.c, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_POST b/doc/props/P_POST
index 53a6f74..975a884 100644
--- a/doc/props/P_POST
+++ b/doc/props/P_POST
@@ -1,64 +1,82 @@
-NAME:
- P_POST "Post"
-DEFINIERT IN:
- /mail/post.h
+P_POST
+******
-BESCHREIBUNG:
- In dieser Property laesst sich die Versendeerlaubnis von Paketen
- regeln. Hierbei gibt es zum einen die postlagernden Pakete, die man
- in einer Post abholen muss, und es gibt die sogenannten
- Kurierpakete, welche direkt und unmittelbar zugestellt werden.
- Nicht immer ist es erwuenscht, dass Pakete aus der Ferne in einen
- Raum geschickt werden duerfen. Dies duerfte insbesondere innerhalb
- von Gebieten interessant sein, in welche man nur beschraenkt viele
- Objekte mitfuehren kann. Mit dieser Property nun ist es leicht
- moeglich, dies zu verbieten. Man kann auch in den Objekten selbst
- angeben, ob diese per postlagerndem Paket bzw. Kurierpaket
- verschickt werden duerfen. Dies duerfte zum Beispiel bei Komponenten
- fuer Spells oder fuer Unique-Objekte interessant sein.
- Folgende Werte sind moeglich, wobei in Raeumen und Objekten
- Standardmaessig PP_DEFAULT genutzt wird:
- PP_FORBIDDEN -2 // auf jeden Fall verboten
- PP_NO_EXPRESS -1 // Kurierpakete verboten
- PP_DEFAULT 0 // Default
- PP_NORMAL_ALLOWED 1 // postlagernde Pakete erlaubt
- PP_ALLOWED 2 // auf jeden Fall erlaubt
+NAME
+====
- Raeume, die von /std/post.c abgeleitet wurden, nutzen als Standard
- natuerlich PP_ALLOWED.
+ P_POST "Post"
-BEISPIEL:
- Um Kurierpakete fuer einen Raum zu verbieten, nutzt man die
- Funktionalitaet dieser Property folgendermassen:
- include "/mail/post.h"
- ...
- void create()
- { ::create();
- ...
- SetProp(P_POST,PP_NO_EXPRESS);
- ...
- }
+DEFINIERT IN
+============
- Objekte selbst koennte man folgendermassen aus Paketen verbannen,
- welche versendet werden sollen:
+ /mail/post.h
- include "/mail/post.h"
- ...
- void create()
- { ::create();
- ...
- SetProp(P_POST,PP_FORBIDDEN);
- ...
- }
- In letzterem Fall funktionieren im Gegensatz zum ersten Beispiel
- auch keine postlagernden Pakete mehr.
+BESCHREIBUNG
+============
-SIEHE AUCH:
- /std/post.c, /std/mailcabin.c, /p/service/loco/std/mailcabin.c
+ In dieser Property laesst sich die Versendeerlaubnis von Paketen
+ regeln. Hierbei gibt es zum einen die postlagernden Pakete, die man
+ in einer Post abholen muss, und es gibt die sogenannten
+ Kurierpakete, welche direkt und unmittelbar zugestellt werden.
+ Nicht immer ist es erwuenscht, dass Pakete aus der Ferne in einen
+ Raum geschickt werden duerfen. Dies duerfte insbesondere innerhalb
+ von Gebieten interessant sein, in welche man nur beschraenkt viele
+ Objekte mitfuehren kann. Mit dieser Property nun ist es leicht
+ moeglich, dies zu verbieten. Man kann auch in den Objekten selbst
+ angeben, ob diese per postlagerndem Paket bzw. Kurierpaket
+ verschickt werden duerfen. Dies duerfte zum Beispiel bei Komponenten
+ fuer Spells oder fuer Unique-Objekte interessant sein.
+ Folgende Werte sind moeglich, wobei in Raeumen und Objekten
+ Standardmaessig PP_DEFAULT genutzt wird:
-----------------------------------------------------------------------------
+ PP_FORBIDDEN -2 // auf jeden Fall verboten
+ PP_NO_EXPRESS -1 // Kurierpakete verboten
+ PP_DEFAULT 0 // Default
+ PP_NORMAL_ALLOWED 1 // postlagernde Pakete erlaubt
+ PP_ALLOWED 2 // auf jeden Fall erlaubt
+
+ Raeume, die von /std/post.c abgeleitet wurden, nutzen als Standard
+ natuerlich PP_ALLOWED.
+
+
+BEISPIEL
+========
+
+ Um Kurierpakete fuer einen Raum zu verbieten, nutzt man die
+ Funktionalitaet dieser Property folgendermassen:
+
+ include "/mail/post.h"
+ ...
+ void create()
+ { ::create();
+ ...
+ SetProp(P_POST,PP_NO_EXPRESS);
+ ...
+ }
+
+ Objekte selbst koennte man folgendermassen aus Paketen verbannen,
+ welche versendet werden sollen:
+
+ include "/mail/post.h"
+ ...
+ void create()
+ { ::create();
+ ...
+ SetProp(P_POST,PP_FORBIDDEN);
+ ...
+ }
+
+ In letzterem Fall funktionieren im Gegensatz zum ersten Beispiel
+ auch keine postlagernden Pakete mehr.
+
+
+SIEHE AUCH
+==========
+
+ /std/post.c, /std/mailcabin.c, /p/service/loco/std/mailcabin.c
+
Last modified: Sun Sep 6 19:34:37 1998 by Patryn
diff --git a/doc/props/P_POTIONROOMS b/doc/props/P_POTIONROOMS
index 5820be2..0df158f 100644
--- a/doc/props/P_POTIONROOMS
+++ b/doc/props/P_POTIONROOMS
@@ -1,19 +1,35 @@
-NAME:
- P_POTIONROOMS "potionrooms"
-DEFINIERT IN:
- /sys/player/potion.h
+P_POTIONROOMS
+*************
-BESCHREIBUNG:
- Array mit den Nummern der Raeume, in denen der Spieler noch Zauber-
- traenke hat. Die Freischaltung als bekannt geschieht im Orakel.
- Die Zuordnung der Raeume und Nummern geschieht im Potionmaster.
- Nur lesbare _query - Property.
+NAME
+====
-SIEHE AUCH:
- Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
- Verwandt: FindPotion(), AddKnownPotion(), RemoveKnownPotion(), InList()
- Props: P_KNOWN_POTIONROOMS
+ P_POTIONROOMS "potionrooms"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/potion.h
+
+
+BESCHREIBUNG
+============
+
+ Array mit den Nummern der Raeume, in denen der Spieler noch Zauber-
+ traenke hat. Die Freischaltung als bekannt geschieht im Orakel.
+ Die Zuordnung der Raeume und Nummern geschieht im Potionmaster.
+
+ Nur lesbare _query - Property.
+
+
+SIEHE AUCH
+==========
+
+ Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
+ Verwandt: FindPotion(), AddKnownPotion(), RemoveKnownPotion(), InList()
+ Props: P_KNOWN_POTIONROOMS
6.Feb 2016 Gloinson
diff --git a/doc/props/P_PRAY_ROOM b/doc/props/P_PRAY_ROOM
index 3c8f9ff..ad0a469 100644
--- a/doc/props/P_PRAY_ROOM
+++ b/doc/props/P_PRAY_ROOM
@@ -1,36 +1,54 @@
-NAME:
- P_PRAY_ROOM "_lib_p_pray_room"
-DEFINIERT IN:
- /sys/player/base.h
+P_PRAY_ROOM
+***********
-BESCHREIBUNG:
- Dies ist der Raum, in den der Spieler nach dem Ende der Todessequenz
- bewegt wird, d.h. ein Raum, wo er beten kann, um einen neuen Koerper zu
- erhalten.
- Der Raum muss als String angegeben werden (kein Objekt).
- Diese Property wird im Spieler rebootfest gespeichert.
+NAME
+====
- Der jeweils gueltige Betraum wird im Spieler mittels QueryPrayRoom()
- ermittelt. Jede Rasse hat einen Default fuer diese Funktion. Wird die
- Property auf 0 dgesetzt, wird dieser Default wiederhergestellt.
+ P_PRAY_ROOM "_lib_p_pray_room"
- Von einer Ueberlagerung mittels Query- oder gar Setmethoden wird
- abgeraten. Ebenso lasst bitte die Modusbits unveraendert.
- Vor einer Aenderung dieser Property sollte geprueft werden, ob sie 0 ist.
- Wenn nicht, sollte von einem Setzen der Property abgesehen werden, da dann
- schon jemand anders den Betraum des Spielers geaendert hat. (Gleiches gilt
- fuers Loeschen.) Bitte niemals den Inhalt der Property woanders speichern
- und spaeter zurueckschreiben.
+DEFINIERT IN
+============
- Eine dauerhafte Aenderung des Betraums des Spielers muss mit dem EM
- Rassen und dem EM Gilden abgestimmt werden.
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Dies ist der Raum, in den der Spieler nach dem Ende der Todessequenz
+ bewegt wird, d.h. ein Raum, wo er beten kann, um einen neuen Koerper zu
+ erhalten.
+ Der Raum muss als String angegeben werden (kein Objekt).
+
+ Diese Property wird im Spieler rebootfest gespeichert.
+
+ Der jeweils gueltige Betraum wird im Spieler mittels QueryPrayRoom()
+ ermittelt. Jede Rasse hat einen Default fuer diese Funktion. Wird die
+ Property auf 0 dgesetzt, wird dieser Default wiederhergestellt.
+
+ Von einer Ueberlagerung mittels Query- oder gar Setmethoden wird
+ abgeraten. Ebenso lasst bitte die Modusbits unveraendert.
+
+ Vor einer Aenderung dieser Property sollte geprueft werden, ob sie 0 ist.
+ Wenn nicht, sollte von einem Setzen der Property abgesehen werden, da dann
+ schon jemand anders den Betraum des Spielers geaendert hat. (Gleiches gilt
+ fuers Loeschen.) Bitte niemals den Inhalt der Property woanders speichern
+ und spaeter zurueckschreiben.
+
+ Eine dauerhafte Aenderung des Betraums des Spielers muss mit dem EM
+ Rassen und dem EM Gilden abgestimmt werden.
+
SIEHE AUCH
- QueryPrayRoom(), SetDefaultPrayRoom()
+==========
-LETZTE AeNDERUNG:
+ QueryPrayRoom(), SetDefaultPrayRoom()
+
+
+LETZTE AeNDERUNG
+================
+
21.05.2013, Zesstra
-
diff --git a/doc/props/P_PREFERED_ENEMY b/doc/props/P_PREFERED_ENEMY
index eed58e6..6b629aa 100644
--- a/doc/props/P_PREFERED_ENEMY
+++ b/doc/props/P_PREFERED_ENEMY
@@ -1,26 +1,41 @@
-NAME:
- P_PREFERED_ENEMY "pref_enemy"
-DEFINIERT IN:
- /sys/living/combat.h
+P_PREFERED_ENEMY
+****************
-BESCHREIBUNG:
- Diese Property enthaelt ein Array mit folgenden Eintraegen:
- Eintrag 1: Integerwert zwischen 0 und 100, welcher die
- Wahrscheinlichkeit dafuer angibt, dass ein
- Lebewesen bevorzugt bei einem Angriff gewaehlt
- werden soll.
- Eintraege ab 2: Lebewesen, aus welchen per Zufall eines
- ausgewaehlt wird, welches beim aktuellen Angriff
- bevorzugt wird.
- Es ist zu beachten, dass solch ein bevorzugtes Opfer natuerlich auch
- wirklich Gegner sein muss und auch im selben Raum zu stehen hat, wie
- der Angreifer. Ist dies nicht der Fall, wird dann doch irgendein
- anderer Gegner aus diesem Raum genommen.
-SIEHE AUCH:
- QueryPreferedEnemy(), IsEnemy(), SelectEnemy(), Attack(),
- /std/living/combat.c, /std/living/life.c
+NAME
+====
-----------------------------------------------------------------------------
+ P_PREFERED_ENEMY "pref_enemy"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt ein Array mit folgenden Eintraegen:
+ Eintrag 1: Integerwert zwischen 0 und 100, welcher die
+ Wahrscheinlichkeit dafuer angibt, dass ein
+ Lebewesen bevorzugt bei einem Angriff gewaehlt
+ werden soll.
+ Eintraege ab 2: Lebewesen, aus welchen per Zufall eines
+ ausgewaehlt wird, welches beim aktuellen Angriff
+ bevorzugt wird.
+ Es ist zu beachten, dass solch ein bevorzugtes Opfer natuerlich auch
+ wirklich Gegner sein muss und auch im selben Raum zu stehen hat, wie
+ der Angreifer. Ist dies nicht der Fall, wird dann doch irgendein
+ anderer Gegner aus diesem Raum genommen.
+
+
+SIEHE AUCH
+==========
+
+ QueryPreferedEnemy(), IsEnemy(), SelectEnemy(), Attack(),
+ /std/living/combat.c, /std/living/life.c
+
Last modified: Wed May 26 16:44:38 1999 by Patryn
diff --git a/doc/props/P_PRESAY b/doc/props/P_PRESAY
index c5ec2d2..1580b5e 100644
--- a/doc/props/P_PRESAY
+++ b/doc/props/P_PRESAY
@@ -1,9 +1,22 @@
-NAME:
- P_PRESAY "presay"
-DEFINIERT IN:
- /sys/player/description.h
+P_PRESAY
+********
-BESCHREIBUNG:
- Presay des Spielers. Erscheint vor dem Namen in Kurz/Langbeschreibung.
- Erscheint auch in name(), also in sag, ruf, teile mit usw.
+
+NAME
+====
+
+ P_PRESAY "presay"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+ Presay des Spielers. Erscheint vor dem Namen in Kurz/Langbeschreibung.
+ Erscheint auch in name(), also in sag, ruf, teile mit usw.
diff --git a/doc/props/P_PREVENT_PILE b/doc/props/P_PREVENT_PILE
index 39ddf14..1ad6807 100644
--- a/doc/props/P_PREVENT_PILE
+++ b/doc/props/P_PREVENT_PILE
@@ -1,22 +1,34 @@
-NAME:
- P_PREVENT_PILE "prevent_pile"
-DEFINIERT IN:
- /sys/container/properties.h
+P_PREVENT_PILE
+**************
-BESCHREIBUNG:
- Wenn in einem Raum diese Property gesetzt ist, endet das Verwesen einer
- Leiche damit, dass ihr Inventar in dem Raum verteilt wird. Ist diese
- Property nicht gesetzt, entsteht ein "Haufen", der das Inventar
- enthaelt.
- Diese Property sollte nur in Ausnahmefaellen benutzt werden!
+NAME
+====
- Diese Property ist vor allem fuer "Store-Rooms" gedacht, in denen die
- Magier die Leiche eines Spieler ablegen und in denen nachher die
- gesammelten Sachen von einer anderen Stelle aus gesucht werden. In
- diesem Fall wuerden Spieler sonst die Moeglichkeit haben, einen Haufen
- als Ganzes zu bekommen, das soll aber *NIE* passieren.
+ P_PREVENT_PILE "prevent_pile"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/container/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wenn in einem Raum diese Property gesetzt ist, endet das Verwesen einer
+ Leiche damit, dass ihr Inventar in dem Raum verteilt wird. Ist diese
+ Property nicht gesetzt, entsteht ein "Haufen", der das Inventar
+ enthaelt.
+
+ Diese Property sollte nur in Ausnahmefaellen benutzt werden!
+
+ Diese Property ist vor allem fuer "Store-Rooms" gedacht, in denen die
+ Magier die Leiche eines Spieler ablegen und in denen nachher die
+ gesammelten Sachen von einer anderen Stelle aus gesucht werden. In
+ diesem Fall wuerden Spieler sonst die Moeglichkeit haben, einen Haufen
+ als Ganzes zu bekommen, das soll aber *NIE* passieren.
+
Last modified: Tue May 15 13:56:18 CEST 2007 by Rumata
diff --git a/doc/props/P_PRE_INFO b/doc/props/P_PRE_INFO
index 48f1d9e..099e592 100644
--- a/doc/props/P_PRE_INFO
+++ b/doc/props/P_PRE_INFO
@@ -1,55 +1,86 @@
-NAME:
- P_PRE_INFO "npc_pre_info"
-DEFINIERT IN:
- /sys/npc.h
+P_PRE_INFO
+**********
-BESCHREIBUNG:
- Ist die Property in einem NPC definiert, so wird ihr Ergebnis
- ausgewertet, bevor eine Frage an das Infosystem uebergeben wird.
-
- Moegliche Werte:
- - numerischer Wert ungleich 0
- => der NPC gibt _keinerlei_ Antwort, die Frage fuehrt sozusagen
- ins Leere
- - Stringwert
- => wird als Rueckgabe an den Fragenden ausgegeben, umstehende
- Personen bekommen den Text:
- "XY ist nicht gewillt, Spieler YZ zu antworten".
- Der Fragende selbst bekommt bei angegebenem Stringwert:
- "XY " + Stringwert.
+NAME
+====
- - Closure
- => die Antwort bzw. Reaktion des NPCs obliegt ganz der
- angegebenen Closure. Diese muss dabei einen String oder
- Ganzzahlen-Wert zurueckgeben
+ P_PRE_INFO "npc_pre_info"
-BEISPIEL:
- Ein NPC der manchmal herumrennt, um z.B. eine Aufgabe zu verrichten,
- koennte so lange Chats abschalten, z.B.
- SetProp(P_CHAT_CHANCE,0); // NPC latscht los
-
- Und eine Weile spaeter:
-
- SetProp(P_CHAT_CHANCE,5); // NPC ruht wieder, quasselt rum
-
- Waehrend des Herumlaufens, also wenn er nicht automatisch schwatzt,
- soll er auch keinerlei Fragen beantworten:
-
- Set(P_PRE_INFO, function mixed () {
- return (QueryProp(P_CHAT_CHANCE) ? 0 :
- "hat gerade keine Zeit fuer Dich.");
- }, F_QUERY_METHOD);
+DEFINIERT IN
+============
-HINWEISE:
- Bitte beachten, dass der interne Name der Property "npc_pre_info"
- ist und somit nur das Ueberschreiben von _query_npc_pre_info()
- funktioniert.
+ /sys/npc.h
-SIEHE AUCH:
- AddInfo(), /std/npc/info.c
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ Ist die Property in einem NPC definiert, so wird ihr Ergebnis
+ ausgewertet, bevor eine Frage an das Infosystem uebergeben wird.
+
+
+
+ Moegliche Werte:
+ - numerischer Wert ungleich 0
+ => der NPC gibt _keinerlei_ Antwort, die Frage fuehrt sozusagen
+ ins Leere
+
+ - Stringwert
+ => wird als Rueckgabe an den Fragenden ausgegeben, umstehende
+ Personen bekommen den Text:
+ "XY ist nicht gewillt, Spieler YZ zu antworten".
+ Der Fragende selbst bekommt bei angegebenem Stringwert:
+ "XY " + Stringwert.
+
+ - Closure
+ => die Antwort bzw. Reaktion des NPCs obliegt ganz der
+ angegebenen Closure. Diese muss dabei einen String oder
+ Ganzzahlen-Wert zurueckgeben
+
+
+BEISPIEL
+========
+
+ Ein NPC der manchmal herumrennt, um z.B. eine Aufgabe zu verrichten,
+ koennte so lange Chats abschalten, z.B.
+
+ SetProp(P_CHAT_CHANCE,0); // NPC latscht los
+
+
+
+ Und eine Weile spaeter:
+
+
+
+ SetProp(P_CHAT_CHANCE,5); // NPC ruht wieder, quasselt rum
+
+
+
+ Waehrend des Herumlaufens, also wenn er nicht automatisch schwatzt,
+ soll er auch keinerlei Fragen beantworten:
+
+
+
+ Set(P_PRE_INFO, function mixed () {
+ return (QueryProp(P_CHAT_CHANCE) ? 0 :
+ "hat gerade keine Zeit fuer Dich.");
+ }, F_QUERY_METHOD);
+
+
+HINWEISE
+========
+
+ Bitte beachten, dass der interne Name der Property "npc_pre_info"
+ ist und somit nur das Ueberschreiben von _query_npc_pre_info()
+ funktioniert.
+
+
+SIEHE AUCH
+==========
+
+ AddInfo(), /std/npc/info.c
+
Last modified: 01.03.2016 by Arathorn
diff --git a/doc/props/P_PROMPT b/doc/props/P_PROMPT
index b380215..267437e 100644
--- a/doc/props/P_PROMPT
+++ b/doc/props/P_PROMPT
@@ -1,8 +1,21 @@
-NAME:
- P_PROMPT "prompt"
-DEFINIERT IN:
- /sys/player/base.h
+P_PROMPT
+********
-BESCHREIBUNG:
- Das Prompt (Nur fuer Magier).
+
+NAME
+====
+
+ P_PROMPT "prompt"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Das Prompt (Nur fuer Magier).
diff --git a/doc/props/P_PUB_NOT_ON_MENU b/doc/props/P_PUB_NOT_ON_MENU
index 07029b0..8618009 100644
--- a/doc/props/P_PUB_NOT_ON_MENU
+++ b/doc/props/P_PUB_NOT_ON_MENU
@@ -1,21 +1,39 @@
-NAME:
- P_PUB_NOT_ON_MENU "pub_not_on_menu"
-DEFINIERT IN:
- /sys/pub.h
+P_PUB_NOT_ON_MENU
+*****************
-BESCHREIBUNG:
- In diese Property kann man einen String schreiben, der ausgegeben
- wird, wenn der Spieler etwas bestellt, was es in der Kneipe nicht
- gibt.
-BEMERKUNGEN:
- Die Standardmeldung ist:
- "Tut mir leid, das fuehren wir nicht! Wir sind ein anstaendiges
- Lokal!\n"
+NAME
+====
-SIEHE AUCH:
- /std/room/pub.c
+ P_PUB_NOT_ON_MENU "pub_not_on_menu"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+ In diese Property kann man einen String schreiben, der ausgegeben
+ wird, wenn der Spieler etwas bestellt, was es in der Kneipe nicht
+ gibt.
+
+
+BEMERKUNGEN
+===========
+
+ Die Standardmeldung ist:
+ "Tut mir leid, das fuehren wir nicht! Wir sind ein anstaendiges
+ Lokal!\n"
+
+
+SIEHE AUCH
+==========
+
+ /std/room/pub.c
+
Last modified: Sat Mar 04 22:46:00 2000 by Paracelsus
diff --git a/doc/props/P_PUB_NO_KEEPER b/doc/props/P_PUB_NO_KEEPER
index 8f4c26e..55c4230 100644
--- a/doc/props/P_PUB_NO_KEEPER
+++ b/doc/props/P_PUB_NO_KEEPER
@@ -1,19 +1,37 @@
-NAME:
- P_PUB_NO_KEEPER "pub_no_keeper"
-DEFINIERT IN:
- /sys/pub.h
+P_PUB_NO_KEEPER
+***************
-BESCHREIBUNG:
- In diese Property kann man einen String schreiben, der ausgegeben
- wird, wenn der in P_KEEPER eingetragene NPC nicht anwesend ist.
-BEMERKUNGEN:
- Die Standardmeldung ist:
- "Es ist niemand anwesend, der Dich bedienen koennte.\n"
+NAME
+====
-SIEHE AUCH:
- /std/room/pub.c
+ P_PUB_NO_KEEPER "pub_no_keeper"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+ In diese Property kann man einen String schreiben, der ausgegeben
+ wird, wenn der in P_KEEPER eingetragene NPC nicht anwesend ist.
+
+
+BEMERKUNGEN
+===========
+
+ Die Standardmeldung ist:
+ "Es ist niemand anwesend, der Dich bedienen koennte.\n"
+
+
+SIEHE AUCH
+==========
+
+ /std/room/pub.c
+
Last modified: Son Apr 11 19:28:00 2010 by Caldra
diff --git a/doc/props/P_PUB_NO_MONEY b/doc/props/P_PUB_NO_MONEY
index 9ff293a..9510b07 100644
--- a/doc/props/P_PUB_NO_MONEY
+++ b/doc/props/P_PUB_NO_MONEY
@@ -1,21 +1,39 @@
-NAME:
- P_PUB_NO_MONEY "pub_no_money"
-DEFINIERT IN:
- /sys/pub.h
+P_PUB_NO_MONEY
+**************
-BESCHREIBUNG:
- In diese Property kann man einen String schreiben, der ausgegeben
- wird, wenn der Spieler nicht ueber genug Geld verfuegt, um das
- gewuenschte Gericht zu bezahlen.
- Fuer den Preis kann man ein %d als Platzhalter einfuegen.
-BEMERKUNGEN:
- Die Standardmeldung ist:
- "Das kostet %d Goldstuecke, und Du hast nicht so viel!\n"
+NAME
+====
-SIEHE AUCH:
- /std/room/pub.c
+ P_PUB_NO_MONEY "pub_no_money"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+ In diese Property kann man einen String schreiben, der ausgegeben
+ wird, wenn der Spieler nicht ueber genug Geld verfuegt, um das
+ gewuenschte Gericht zu bezahlen.
+ Fuer den Preis kann man ein %d als Platzhalter einfuegen.
+
+
+BEMERKUNGEN
+===========
+
+ Die Standardmeldung ist:
+ "Das kostet %d Goldstuecke, und Du hast nicht so viel!\n"
+
+
+SIEHE AUCH
+==========
+
+ /std/room/pub.c
+
Last modified: Sat Mar 04 22:48:00 2000 by Paracelsus
diff --git a/doc/props/P_PUB_UNAVAILABLE b/doc/props/P_PUB_UNAVAILABLE
index 13aaa4f..7eaede7 100644
--- a/doc/props/P_PUB_UNAVAILABLE
+++ b/doc/props/P_PUB_UNAVAILABLE
@@ -1,20 +1,38 @@
-NAME:
- P_PUB_UNAVAILABLE "pub_unavailable"
-DEFINIERT IN:
- /sys/pub.h
+P_PUB_UNAVAILABLE
+*****************
-BESCHREIBUNG:
- In diese Property kann man einen String schreiben, der ausgegeben
- wird, wenn in einer Kneipe ein Getraenk oder eine Speise nicht mehr
- vorraetig ist.
-BEMERKUNGEN:
- Die Standardmeldung ist:
- "Davon ist leider nichts mehr da.\n"
+NAME
+====
-SIEHE AUCH:
- /std/room/pub.c
+ P_PUB_UNAVAILABLE "pub_unavailable"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+ In diese Property kann man einen String schreiben, der ausgegeben
+ wird, wenn in einer Kneipe ein Getraenk oder eine Speise nicht mehr
+ vorraetig ist.
+
+
+BEMERKUNGEN
+===========
+
+ Die Standardmeldung ist:
+ "Davon ist leider nichts mehr da.\n"
+
+
+SIEHE AUCH
+==========
+
+ /std/room/pub.c
+
Last modified: Sat Mar 04 22:44:00 2000 by Paracelsus
diff --git a/doc/props/P_PURSUERS b/doc/props/P_PURSUERS
index c35bfe2..05ead3b 100644
--- a/doc/props/P_PURSUERS
+++ b/doc/props/P_PURSUERS
@@ -1,14 +1,29 @@
-NAME:
- P_PURSUERS "pursuers"
-DEFINIERT IN:
- /sys/living/moving.h
+P_PURSUERS
+**********
-BESCHREIBUNG:
- Enthaelt Verfolger - nicht von Hand manipulieren!
-SIEHE AUCH:
- AddPursuer(L), RemovePursuer(L)
+NAME
+====
------------------------------------------------------------------------------
+ P_PURSUERS "pursuers"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/moving.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt Verfolger - nicht von Hand manipulieren!
+
+
+SIEHE AUCH
+==========
+
+ AddPursuer(L), RemovePursuer(L)
+
16.06.2016, Arathorn
diff --git a/doc/props/P_PUT_MSG b/doc/props/P_PUT_MSG
index 5f6caef..65624ce 100644
--- a/doc/props/P_PUT_MSG
+++ b/doc/props/P_PUT_MSG
@@ -1,62 +1,79 @@
+
P_PUT_MSG
-NAME:
- P_PUT_MSG "put_message"
+*********
-DEFINIERT IN:
- /sys/living/put_and_get.h
-BESCHREIBUNG:
+NAME
+====
- Mit P_PUT_MSG kann man die Meldung, die man beim Hineinstecken eines
- Objektes in einen Container bekommt, modifizieren.
+ P_PUT_MSG "put_message"
- Folgende Werte sind moeglich:
- o 0
- Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
+DEFINIERT IN
+============
- o NO_PNG_MSG == -1
- Es wird keinerlei Meldung ausgegeben
+ /sys/living/put_and_get.h
- o Ein Array aus Strings
- Der erste String wird an den Spieler ausgegeben, der zweite
- (optionale) an den Raum.
- Die Strings werden durch die Funktion replace_personal() geparst.
- Objekt1 - Spieler
- Objekt2 - das Objekt, das irgendwohin gesteckt wird
- Objekt3 - der Container
+BESCHREIBUNG
+============
- Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
- Raum.
+ Mit P_PUT_MSG kann man die Meldung, die man beim Hineinstecken eines
+ Objektes in einen Container bekommt, modifizieren.
-BEISPIEL:
- void create() {
- ...
- SetProp( P_SHORT, "Etwas Sand" );
- SetProp( P_LONG, break_string(
- "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+ Folgende Werte sind moeglich:
- SetProp( P_NAME, "Sand" );
- AddId( ({"sand"}) );
- SetProp( P_GENDER, MALE );
+ o 0
+ Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
- SetProp( P_PUT_MSG, ({
- "Du laesst @WEN2 in @WENU3 rieseln.",
- "@WER1 laesst @WEN2 in @WENU3 rieseln."}));
- ...
- }
+ o NO_PNG_MSG == -1
+ Es wird keinerlei Meldung ausgegeben
- Das ganze fuehrt bei Ugars "stecke sand in paket" zu folgenden
- Meldungen:
+ o Ein Array aus Strings
+ Der erste String wird an den Spieler ausgegeben, der zweite
+ (optionale) an den Raum.
- Ugar: "Du laesst den Sand in ein Paket rieseln."
- Raum: "Ugar laesst den Sand in ein Paket rieseln."
+ Die Strings werden durch die Funktion replace_personal() geparst.
+ Objekt1 - Spieler
+ Objekt2 - das Objekt, das irgendwohin gesteckt wird
+ Objekt3 - der Container
-SIEHE AUCH:
- Aehnliches: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
- Fehler: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
- P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
- Sonstiges: replace_personal(E), put_obj(L), /std/living/put_and_get.c
+ Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
+ Raum.
+
+
+BEISPIEL
+========
+
+ void create() {
+ ...
+ SetProp( P_SHORT, "Etwas Sand" );
+ SetProp( P_LONG, break_string(
+ "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+
+ SetProp( P_NAME, "Sand" );
+ AddId( ({"sand"}) );
+ SetProp( P_GENDER, MALE );
+
+ SetProp( P_PUT_MSG, ({
+ "Du laesst @WEN2 in @WENU3 rieseln.",
+ "@WER1 laesst @WEN2 in @WENU3 rieseln."}));
+ ...
+ }
+
+ Das ganze fuehrt bei Ugars "stecke sand in paket" zu folgenden
+ Meldungen:
+
+ Ugar: "Du laesst den Sand in ein Paket rieseln."
+ Raum: "Ugar laesst den Sand in ein Paket rieseln."
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
+ Fehler: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+ P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
+ Sonstiges: replace_personal(E), put_obj(L), /std/living/put_and_get.c
14. Maerz 2004 Gloinson
diff --git a/doc/props/P_QP b/doc/props/P_QP
index 08fb5a4..9840586 100644
--- a/doc/props/P_QP
+++ b/doc/props/P_QP
@@ -1,13 +1,29 @@
-NAME:
- P_QP "questpoints"
-DEFINIERT IN:
- /sys/player/quest.h
+P_QP
+****
-BESCHREIBUNG:
- Anzahl der Questpunkte, die ein Spieler hat.
-HINWEIS:
- Nur Abfragen der Property mit QueryProp() liefert den korrekten Wert,
- da eine Quermethode fuer die Auslieferung der Daten sorgt. Query()
- oder gar QueryProperties() enthalten u.U. einen veralteten Wert.
+NAME
+====
+
+ P_QP "questpoints"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/quest.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der Questpunkte, die ein Spieler hat.
+
+
+HINWEIS
+=======
+
+ Nur Abfragen der Property mit QueryProp() liefert den korrekten Wert,
+ da eine Quermethode fuer die Auslieferung der Daten sorgt. Query()
+ oder gar QueryProperties() enthalten u.U. einen veralteten Wert.
diff --git a/doc/props/P_QUALITY b/doc/props/P_QUALITY
index 3a4118c..a103eaf 100644
--- a/doc/props/P_QUALITY
+++ b/doc/props/P_QUALITY
@@ -1,38 +1,57 @@
+
P_QUALITY
+*********
-NAME:
- P_QUALITY "quality"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Ruestungen und Waffen koennen im Eifer des Gefechts beschaedigt werden.
- Setzt man die Property P_QUALITY auf einen Wert n (n>0), so wird
- eine Waffe (Ruestung) bei jedem n-ten Schlag (Treffer) beschaedigt,
- d.h. P_WC (P_AC) wird um 1 erniedrigt und P_DAMAGED um 1 erhoeht.
+ P_QUALITY "quality"
-BEISPIEL:
- inherit "/std/weapon";
+DEFINIERT IN
+============
+
+ <combat.h>
+
+
+BESCHREIBUNG
+============
+
+ Ruestungen und Waffen koennen im Eifer des Gefechts beschaedigt werden.
+ Setzt man die Property P_QUALITY auf einen Wert n (n>0), so wird
+ eine Waffe (Ruestung) bei jedem n-ten Schlag (Treffer) beschaedigt,
+ d.h. P_WC (P_AC) wird um 1 erniedrigt und P_DAMAGED um 1 erhoeht.
+
+
+BEISPIEL
+========
+
+ inherit "/std/weapon";
+
+ ...
+ #include <combat.h>
+
+ create()
+ {
...
- #include <combat.h>
+ SetProp(P_QUALITY,200);
+ ...
+ }
- create()
- {
- ...
- SetProp(P_QUALITY,200);
- ...
- }
+ Diese Waffe wuerde bei jedem 200. Schlag etwas beschaedigt.
- Diese Waffe wuerde bei jedem 200. Schlag etwas beschaedigt.
-BEMERKUNG:
- Defaultmaessig ist P_QUALITY auf 0 gesetzt, d.h. die entspr.
- Waffe/Ruestung wird nicht beschaedigt.
+BEMERKUNG
+=========
-SIEHE AUCH:
- /std/armour.c, /std/weapon.c, TakeFlaw(), QueryFlaw(), Damage()
+ Defaultmaessig ist P_QUALITY auf 0 gesetzt, d.h. die entspr.
+ Waffe/Ruestung wird nicht beschaedigt.
-----------------------------------------------------------------------------
+
+SIEHE AUCH
+==========
+
+ /std/armour.c, /std/weapon.c, TakeFlaw(), QueryFlaw(), Damage()
+
Last modified: Thu May 22 10:42:39 1997 by Paracelsus
diff --git a/doc/props/P_QUESTS b/doc/props/P_QUESTS
index 446ea90..84fe435 100644
--- a/doc/props/P_QUESTS
+++ b/doc/props/P_QUESTS
@@ -1,8 +1,21 @@
-NAME:
- P_QUESTS "quests"
-DEFINIERT IN:
- /sys/player/quest.h
+P_QUESTS
+********
-BESCHREIBUNG:
- Liste der geloesten Quests.
+
+NAME
+====
+
+ P_QUESTS "quests"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/quest.h
+
+
+BESCHREIBUNG
+============
+
+ Liste der geloesten Quests.
diff --git a/doc/props/P_QUEST_ITEM b/doc/props/P_QUEST_ITEM
index e4eebb5..135954b 100644
--- a/doc/props/P_QUEST_ITEM
+++ b/doc/props/P_QUEST_ITEM
@@ -1,46 +1,73 @@
-NAME:
- P_QUEST_ITEM "quest_item"
-DEFINIERT IN:
- /sys/quest_items.h
+P_QUEST_ITEM
+************
-BESCHREIBUNG:
- Diese Property gibt an, ob es sich bei dem Objekt um ein Quest-
- relevantes Objekt handelt.
-
-BEISPIEL:
- Ein Schwert (Notung) koennte folgendermassen definiert sein:
- create()
- {
- ::create() ;
- SetProp(P_SHORT, "Notung das neidliche Schwert") ;
- SetProp(P_LONG, "Das aus seinen Truemmern neu geschmiedete Schwert "
- "Notung.\n");
+NAME
+====
- SetProp(P_NAME, "Notung");
- SetProp(P_GENDER, NEUTER);
- SetProp(P_ARTICLE,0);
- AddId(({"notung","schwert","Notung", "\nNotung"}));
-
- SetProp(P_WEAPON_TYPE, WT_SWORD);
- SetProp(P_DAM_TYPE, DT_BLUDGEON);
+ P_QUEST_ITEM "quest_item"
- SetProp(P_QUEST_ITEM,QI_OBJ);
- ...
- }
-
- Andere Magier koennen nun auf Notung Ruecksicht nehmen, und zum
- Beispiel davon absehen, es bei einem NPC-Spell zu destructen.
-BEMERKUNGEN:
- Alle questrelevanten Objekte sollten auf diese Weise markiert werden.
-
- Questrelevante Objekte anderer Magier sollten immer mit Vorsicht
- behandelt werden.
+DEFINIERT IN
+============
-SIEHE AUCH:
- "/sys/quest_items.h"
+ /sys/quest_items.h
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ Diese Property gibt an, ob es sich bei dem Objekt um ein Quest-
+ relevantes Objekt handelt.
+
+
+BEISPIEL
+========
+
+ Ein Schwert (Notung) koennte folgendermassen definiert sein:
+
+ create()
+ {
+ ::create() ;
+ SetProp(P_SHORT, "Notung das neidliche Schwert") ;
+ SetProp(P_LONG, "Das aus seinen Truemmern neu geschmiedete Schwert "
+ "Notung.\n");
+
+ SetProp(P_NAME, "Notung");
+ SetProp(P_GENDER, NEUTER);
+ SetProp(P_ARTICLE,0);
+ AddId(({"notung","schwert","Notung", "\nNotung"}));
+
+
+
+ SetProp(P_WEAPON_TYPE, WT_SWORD);
+ SetProp(P_DAM_TYPE, DT_BLUDGEON);
+
+ SetProp(P_QUEST_ITEM,QI_OBJ);
+ ...
+ }
+
+
+
+ Andere Magier koennen nun auf Notung Ruecksicht nehmen, und zum
+ Beispiel davon absehen, es bei einem NPC-Spell zu destructen.
+
+
+BEMERKUNGEN
+===========
+
+ Alle questrelevanten Objekte sollten auf diese Weise markiert werden.
+
+
+
+ Questrelevante Objekte anderer Magier sollten immer mit Vorsicht
+ behandelt werden.
+
+
+SIEHE AUCH
+==========
+
+ "/sys/quest_items.h"
+
Last modified: Thu Jul 10 07:08:32 2003 by Vanion
diff --git a/doc/props/P_RACE b/doc/props/P_RACE
index 7ed77cd..c6aebc7 100644
--- a/doc/props/P_RACE
+++ b/doc/props/P_RACE
@@ -1,30 +1,48 @@
-NAME:
- P_RACE "race"
-DEFINIERT IN:
- /sys/living/description.h
+P_RACE
+******
-BESCHREIBUNG:
- Die Rasse eines Lebewesens kann ueber diese Property ermittelt bzw.
- gesetzt werden. Es empfiehlt sich hierbei, Rassen nur in Form von
- grossgeschriebenen Strings zu setzen. Leichen erhalten mittels
- dieser Property automatisch die Rasse der Lebewesen, aus denen sie
- hervorgegangen sind.
- Der Sinn des Ganzen liegt darin, das Spiel differenzierter zu
- gestalten und auf Rassenspezifika einzugehen. Zum Beispiel koennen
- Elfen weniger Alkohol vertragen als Zwerge, was in '/std/pub'
- beruecksichtigt wurde.
-BEISPIEL:
- void create()
- { ::create();
- // Definitionen
- SetProp(P_RACE,"Ork");
- // weitere Definitionen
- }
+NAME
+====
-SIEHE AUCH:
- /std/npc.c, /std/pub.c
+ P_RACE "race"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+ Die Rasse eines Lebewesens kann ueber diese Property ermittelt bzw.
+ gesetzt werden. Es empfiehlt sich hierbei, Rassen nur in Form von
+ grossgeschriebenen Strings zu setzen. Leichen erhalten mittels
+ dieser Property automatisch die Rasse der Lebewesen, aus denen sie
+ hervorgegangen sind.
+ Der Sinn des Ganzen liegt darin, das Spiel differenzierter zu
+ gestalten und auf Rassenspezifika einzugehen. Zum Beispiel koennen
+ Elfen weniger Alkohol vertragen als Zwerge, was in '/std/pub'
+ beruecksichtigt wurde.
+
+
+BEISPIEL
+========
+
+ void create()
+ { ::create();
+ // Definitionen
+ SetProp(P_RACE,"Ork");
+ // weitere Definitionen
+ }
+
+
+SIEHE AUCH
+==========
+
+ /std/npc.c, /std/pub.c
+
Last modified: Mon Sep 15 21:15:49 2003 by Vanion
diff --git a/doc/props/P_RACESTRING b/doc/props/P_RACESTRING
index b75f46b..2a13577 100644
--- a/doc/props/P_RACESTRING
+++ b/doc/props/P_RACESTRING
@@ -1,9 +1,22 @@
-NAME:
- P_RACESTRING "racestring"
-DEFINIERT IN:
- /sys/properties.h
+P_RACESTRING
+************
-BESCHREIBUNG:
- Gibt eine dem Geschlecht angepasste Beschreibung der Rasse zurueck
- ("Zwerg" oder "Zwergin" etc.)
+
+NAME
+====
+
+ P_RACESTRING "racestring"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Gibt eine dem Geschlecht angepasste Beschreibung der Rasse zurueck
+ ("Zwerg" oder "Zwergin" etc.)
diff --git a/doc/props/P_RACE_DESCRIPTION b/doc/props/P_RACE_DESCRIPTION
index 5b2ebfb..ca1f576 100644
--- a/doc/props/P_RACE_DESCRIPTION
+++ b/doc/props/P_RACE_DESCRIPTION
@@ -1,8 +1,21 @@
-NAME:
- P_RACE_DESCRIPTION "racedescr"
-DEFINIERT IN:
- /sys/properties.h
+P_RACE_DESCRIPTION
+******************
-BESCHREIBUNG:
- Beschreibung der Vor/Nachteile einer Rasse.
+
+NAME
+====
+
+ P_RACE_DESCRIPTION "racedescr"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Beschreibung der Vor/Nachteile einer Rasse.
diff --git a/doc/props/P_RANGE b/doc/props/P_RANGE
index 7fd5268..2fabc63 100644
--- a/doc/props/P_RANGE
+++ b/doc/props/P_RANGE
@@ -1,26 +1,43 @@
+
P_RANGE
+*******
-NAME:
- P_RANGE "range"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Legt die Reichweite einer Schusswaffe fest. Ist ein Schuetze in einem
- Raum mit gueltigem P_TARGET_AREA (andere Raum) oder environment() und
- ist fuer diesen Raum P_SHOOTING_AREA festgelegt, dann kann er mit seiner
- Schusswaffe in diesen anderen Raum schiessen, wenn die P_RANGE groesser
- als P_SHOOTING_AREA ist.
+ P_RANGE "range"
-BEISPIELE:
- // Langbogen mit 100 Reichweite
- SetProp(P_RANGE, 100);
-SIEHE AUCH:
- Generell: P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
- Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
- Gebiet: P_SHOOTING_AREA, P_TARGET_AREA
- Sonstiges: fernwaffen
+DEFINIERT IN
+============
+
+ <combat.h>
+
+
+BESCHREIBUNG
+============
+
+ Legt die Reichweite einer Schusswaffe fest. Ist ein Schuetze in einem
+ Raum mit gueltigem P_TARGET_AREA (andere Raum) oder environment() und
+ ist fuer diesen Raum P_SHOOTING_AREA festgelegt, dann kann er mit seiner
+ Schusswaffe in diesen anderen Raum schiessen, wenn die P_RANGE groesser
+ als P_SHOOTING_AREA ist.
+
+
+BEISPIELE
+=========
+
+ // Langbogen mit 100 Reichweite
+ SetProp(P_RANGE, 100);
+
+
+SIEHE AUCH
+==========
+
+ Generell: P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
+ Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+ Gebiet: P_SHOOTING_AREA, P_TARGET_AREA
+ Sonstiges: fernwaffen
29.Jul 2014 Gloinson
diff --git a/doc/props/P_READ_DETAILS b/doc/props/P_READ_DETAILS
index 035a2cc..06a7598 100644
--- a/doc/props/P_READ_DETAILS
+++ b/doc/props/P_READ_DETAILS
@@ -1,21 +1,40 @@
-NAME:
- P_READ_DETAILS "read_details"
-DEFINIERT IN:
- /sys/thing/description.h
+P_READ_DETAILS
+**************
-BESCHREIBUNG:
- Mapping mit den Daten der Details, die durch Lesen ermittelt werden
- koennen.
-BEMERKUNGEN:
- Bitte nur mit den entsprechenden Methoden veraendern!
+NAME
+====
-SIEHE AUCH:
- Setzen: AddReadDetail()
- Loeschen: RemoveReadDetail()
- Aehnlich: AddDetail(), P_DETAILS
- Veraltet: P_READ_MSG
- Sonstiges: GetDetail(), break_string()
+ P_READ_DETAILS "read_details"
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+ Mapping mit den Daten der Details, die durch Lesen ermittelt werden
+ koennen.
+
+
+BEMERKUNGEN
+===========
+
+ Bitte nur mit den entsprechenden Methoden veraendern!
+
+
+SIEHE AUCH
+==========
+
+ Setzen: AddReadDetail()
+ Loeschen: RemoveReadDetail()
+ Aehnlich: AddDetail(), P_DETAILS
+ Veraltet: P_READ_MSG
+ Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_READ_NEWS b/doc/props/P_READ_NEWS
index b64a252..8c69c89 100644
--- a/doc/props/P_READ_NEWS
+++ b/doc/props/P_READ_NEWS
@@ -1,8 +1,21 @@
-NAME:
- P_READ_NEWS "read_news"
-DEFINIERT IN:
- /sys/player/base.h
+P_READ_NEWS
+***********
-BESCHREIBUNG:
- Welche Artikel bereits gelesen wurde (frueher: in der MPA)
+
+NAME
+====
+
+ P_READ_NEWS "read_news"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Welche Artikel bereits gelesen wurde (frueher: in der MPA)
diff --git a/doc/props/P_REAL_RACE b/doc/props/P_REAL_RACE
index 88279a6..39c196a 100644
--- a/doc/props/P_REAL_RACE
+++ b/doc/props/P_REAL_RACE
@@ -1,72 +1,95 @@
-NAME:
- P_REAL_RACE "real_race"
-DEFINIERT IN:
- /sys/living/description.h
-
-BESCHREIBUNG:
- Diese Property enthaelt die Rasse des Livings. Sie darf nicht durch
- Shadows ueberschrieben werden.
-
- Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort kann
- man mit dieser Property trotz Tarnung feststellen, welche Rasse der
- Spieler hat.
-
- Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn P_REAL_RACE
- allerdings gesetzt wird, kann man damit einen getarnten NPC simu-
- lieren, da dann P_RACE und P_REAL_RACE voneinander abweichen.
-
-BEISPIEL:
- Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
- Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
-
- int futter(string arg)
- {
- notify_fail("Was willst Du essen?\n");
- if(!arg || !id(arg)) return 0;
-
- notify_fail("Du kannst nichts mehr essen.\n");
- if(!this_player()->eat_food(55)) return 0;
-
- write("Du isst ein Stueck Zwegenbrot. Du versuchst es zumindest!\n");
- say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
- this_player()->Name()));
+P_REAL_RACE
+***********
- switch( this_player()->QueryProp(P_REAL_RACE) )
- {
- case "Zwerg":
- if ((this_player()->QueryProp(P_RACE))!="Zwerg")
- write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
- this_player()->buffer_hp(100,10);
- this_player()->buffer_sp(100,10);
- break;
+NAME
+====
- case "Elf":
- write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
- // Getarnt?
- if ((this_player()->QueryProp(P_RACE))!="Elf")
- write(" Deine Tarnung nutzt Dir da wenig.\n"
- else write("\n");
- this_player()->restore_spell_points(-100);
- this_player()->do_damage(100,this_object());
- break;
+ P_REAL_RACE "real_race"
- default:
- write("Du bekommst nur wenig davon herunter..\n");
- this_player()->buffer_hp(10,1);
- this_player()->buffer_sp(10,2);
- break;
- }
-
- remove();
-
- return 1;
- }
-
-SIEHE AUCH:
- /std/living/description.c, /sys/living/description.h, P_RACE
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt die Rasse des Livings. Sie darf nicht durch
+ Shadows ueberschrieben werden.
+
+
+
+ Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort kann
+ man mit dieser Property trotz Tarnung feststellen, welche Rasse der
+ Spieler hat.
+
+ Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn P_REAL_RACE
+ allerdings gesetzt wird, kann man damit einen getarnten NPC simu-
+ lieren, da dann P_RACE und P_REAL_RACE voneinander abweichen.
+
+
+BEISPIEL
+========
+
+ Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
+ Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
+
+ int futter(string arg)
+ {
+ notify_fail("Was willst Du essen?\n");
+ if(!arg || !id(arg)) return 0;
+
+ notify_fail("Du kannst nichts mehr essen.\n");
+ if(!this_player()->eat_food(55)) return 0;
+
+ write("Du isst ein Stueck Zwegenbrot. Du versuchst es zumindest!\n");
+ say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
+ this_player()->Name()));
+
+
+ switch( this_player()->QueryProp(P_REAL_RACE) )
+ {
+ case "Zwerg":
+ if ((this_player()->QueryProp(P_RACE))!="Zwerg")
+ write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
+ this_player()->buffer_hp(100,10);
+ this_player()->buffer_sp(100,10);
+ break;
+
+ case "Elf":
+ write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
+ // Getarnt?
+ if ((this_player()->QueryProp(P_RACE))!="Elf")
+ write(" Deine Tarnung nutzt Dir da wenig.\n"
+ else write("\n");
+ this_player()->restore_spell_points(-100);
+ this_player()->do_damage(100,this_object());
+ break;
+
+ default:
+ write("Du bekommst nur wenig davon herunter..\n");
+ this_player()->buffer_hp(10,1);
+ this_player()->buffer_sp(10,2);
+ break;
+ }
+
+
+
+ remove();
+
+
+
+ return 1;
+ }
+
+
+SIEHE AUCH
+==========
+
+ /std/living/description.c, /sys/living/description.h, P_RACE
+
Last modified: Mon Sep 15 21:15:49 2003 by Vanion
diff --git a/doc/props/P_REFERENCE_OBJECT b/doc/props/P_REFERENCE_OBJECT
index e2a6405..9187a49 100644
--- a/doc/props/P_REFERENCE_OBJECT
+++ b/doc/props/P_REFERENCE_OBJECT
@@ -1,27 +1,41 @@
+
P_REFERENCE_OBJECT
-NAME:
- P_REFERENCE_OBJECT "reference_object"
+******************
-DEFINIERT IN:
- /sys/player/description.h
-BESCHREIBUNG:
- In dieser Propertie wird das aktuelle Bezugsobjekt eines Spielers
- gespeichert. Untersucht der Spieler ein Monster, so ist dies das
- Monsterobjekt, untersucht der Spieler sich selber, ist es das
- Spielerobjekt.
+NAME
+====
- Der Inhalt dieser Propertie besteht also immer aus dem zuletzt
- betrachteten Objekt. Sei es ein Raum, eine Ruestung, ein Monster oder
- was auch immer. Bewegungsbefehle und andere Kommandos werden nicht
- beruecksichtigt.
+ P_REFERENCE_OBJECT "reference_object"
- Einzig wenn der Spieler 'schau' tippt, wird der Inhalt der Propertie
- geloescht und betraegt 0.
-SIEHE AUCH:
- Sonstiges: P_INT_LONG, P_LONG, P_SHORT
- int_long(), long(), short(), make_invlist()
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Propertie wird das aktuelle Bezugsobjekt eines Spielers
+ gespeichert. Untersucht der Spieler ein Monster, so ist dies das
+ Monsterobjekt, untersucht der Spieler sich selber, ist es das
+ Spielerobjekt.
+
+ Der Inhalt dieser Propertie besteht also immer aus dem zuletzt
+ betrachteten Objekt. Sei es ein Raum, eine Ruestung, ein Monster oder
+ was auch immer. Bewegungsbefehle und andere Kommandos werden nicht
+ beruecksichtigt.
+
+ Einzig wenn der Spieler 'schau' tippt, wird der Inhalt der Propertie
+ geloescht und betraegt 0.
+
+
+SIEHE AUCH
+==========
+
+ Sonstiges: P_INT_LONG, P_LONG, P_SHORT
+ int_long(), long(), short(), make_invlist()
+
Letzte Aenderung: 29.06.02, 23:50:00 h, von Tilly
diff --git a/doc/props/P_REJECT b/doc/props/P_REJECT
index 4af07f3..072bdab 100644
--- a/doc/props/P_REJECT
+++ b/doc/props/P_REJECT
@@ -1,51 +1,72 @@
-NAME:
- P_REJECT "reject"
-DEFINIERT IN:
- /sys/properties.h
+P_REJECT
+********
-BESCHREIBUNG:
- Diese Property zeigt standardmaessig nur in NPCs eine Wirkung. Mit
- ihr laesst sich sehr einfach einstellen, wie sich ein solcher NPC
- gegenueber Gegenstaenden verhalten soll, welche ihm zugesteckt
- werden. Hierbei besteht die Property aus 2 Elementen, welche
- bestimmt, was der NPC mit Dingen tuen soll, die ihm gegeben werden.
- Standardmaessig behaelt der NPC die Sachen einfach.
- Folgende Moeglichkeiten gibt es ausserdem:
- 1. Arrayelement: Art der Handlung. (aus "/sys/moving.h")
- REJECT_GIVE: Der NPC gibt das Objekt zurueck.
- REJECT_DROP: Der NPC laesst das Objekt fallen.
- REJECT_KEEP: Der NPC behaelt das Objekt doch.
- REJECT_LIGHT_MODIFIER: Der NPC nimmt keine Gegenstaende an, die
- sein Lichtlevel veraendern und damit Einfluss auf sein
- Kampfverhalten haben koennten.
- 2. Arrayelement: Meldung, mit welcher der NPC die Handlung
- kommentiert.
- Der Meldung wird nichts automatisch vorangestellt und ein
- abschliessender Zeilenumbruch ist ebenfalls selbstaendig
- vorzunehmen. Mit einem Leerstring ist somit auch gar keine
- Rueckmeldung moeglich.
-BEISPIEL:
- Der NPC schmeisst alle ihm gegebenen Gegenstaende einfach weg:
- void create()
- { ::create();
- ...
- SetProp(P_REJECT,({REJECT_GIVE,
- Name(WER)+" murmelt: Was soll ich denn damit?!\n"}));
- ...
- }
- Manchmal ist das recht nuetzlich, z.B. kann man so eigentlich schwer
- zu toetende NPCs dagegen schuetzen, dass man ihnen angezuendetes
- Dynamit oder aehnliches ueberreicht.
+NAME
+====
-BEMERKUNGEN:
- Innerhalb von NPCs ist die Funktion give_notify() fuer die
- automatische Auswertung dieser Property verantwortlich; das sollte
- man insbesondere beim Ueberschreiben dieser Funktion beachten!
+ P_REJECT "reject"
-SIEHE AUCH:
- give_notify(), /std/npc/put_and_get.c
------------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property zeigt standardmaessig nur in NPCs eine Wirkung. Mit
+ ihr laesst sich sehr einfach einstellen, wie sich ein solcher NPC
+ gegenueber Gegenstaenden verhalten soll, welche ihm zugesteckt
+ werden. Hierbei besteht die Property aus 2 Elementen, welche
+ bestimmt, was der NPC mit Dingen tuen soll, die ihm gegeben werden.
+ Standardmaessig behaelt der NPC die Sachen einfach.
+ Folgende Moeglichkeiten gibt es ausserdem:
+ 1. Arrayelement: Art der Handlung. (aus "/sys/moving.h")
+ REJECT_GIVE: Der NPC gibt das Objekt zurueck.
+ REJECT_DROP: Der NPC laesst das Objekt fallen.
+ REJECT_KEEP: Der NPC behaelt das Objekt doch.
+ REJECT_LIGHT_MODIFIER: Der NPC nimmt keine Gegenstaende an, die
+ sein Lichtlevel veraendern und damit Einfluss auf sein
+ Kampfverhalten haben koennten.
+ 2. Arrayelement: Meldung, mit welcher der NPC die Handlung
+ kommentiert.
+ Der Meldung wird nichts automatisch vorangestellt und ein
+ abschliessender Zeilenumbruch ist ebenfalls selbstaendig
+ vorzunehmen. Mit einem Leerstring ist somit auch gar keine
+ Rueckmeldung moeglich.
+
+
+BEISPIEL
+========
+
+ Der NPC schmeisst alle ihm gegebenen Gegenstaende einfach weg:
+ void create()
+ { ::create();
+ ...
+ SetProp(P_REJECT,({REJECT_GIVE,
+ Name(WER)+" murmelt: Was soll ich denn damit?!\n"}));
+ ...
+ }
+ Manchmal ist das recht nuetzlich, z.B. kann man so eigentlich schwer
+ zu toetende NPCs dagegen schuetzen, dass man ihnen angezuendetes
+ Dynamit oder aehnliches ueberreicht.
+
+
+BEMERKUNGEN
+===========
+
+ Innerhalb von NPCs ist die Funktion give_notify() fuer die
+ automatische Auswertung dieser Property verantwortlich; das sollte
+ man insbesondere beim Ueberschreiben dieser Funktion beachten!
+
+
+SIEHE AUCH
+==========
+
+ give_notify(), /std/npc/put_and_get.c
+
Last modified: Mon Apr 23 16:54:07 2001 by Patryn
diff --git a/doc/props/P_REMOVE_FUNC b/doc/props/P_REMOVE_FUNC
index 2d431fa..f5c2232 100644
--- a/doc/props/P_REMOVE_FUNC
+++ b/doc/props/P_REMOVE_FUNC
@@ -1,25 +1,40 @@
+
P_REMOVE_FUNC
-
-NAME:
- P_REMOVE_FUNC "remove_func"
-
-DEFINIERT IN:
- <armour.h>
-
-BESCHREIBUNG:
- Falls ein Objekt eine RemoveFunc() fuer die Ruestung oder Kleidung
- definiert, so muss dieses Objekt in dieser Property eingetragen sein.
-
- Die Auswertung dieser Property erfolgt im Laufe des DoUnwear() in
- der nicht-oeffentlichen Funktionen _check_unwear_restrictions().
-
-BEISPIELE:
- Siehe das Beispiel zu RemoveFunc()
-
-SIEHE AUCH:
- /std/armour.c, /std/clothing.c, clothing, armours
- RemoveFunc()
+*************
-Letzte Aenderung:
-15.02.2009, Zesstra
\ No newline at end of file
+NAME
+====
+
+ P_REMOVE_FUNC "remove_func"
+
+
+DEFINIERT IN
+============
+
+ <armour.h>
+
+
+BESCHREIBUNG
+============
+
+ Falls ein Objekt eine RemoveFunc() fuer die Ruestung oder Kleidung
+ definiert, so muss dieses Objekt in dieser Property eingetragen sein.
+
+ Die Auswertung dieser Property erfolgt im Laufe des DoUnwear() in
+ der nicht-oeffentlichen Funktionen _check_unwear_restrictions().
+
+
+BEISPIELE
+=========
+
+ Siehe das Beispiel zu RemoveFunc()
+
+
+SIEHE AUCH
+==========
+
+ /std/armour.c, /std/clothing.c, clothing, armours
+ RemoveFunc()
+
+Letzte Aenderung: 15.02.2009, Zesstra
diff --git a/doc/props/P_REMOVE_MSG b/doc/props/P_REMOVE_MSG
index 9eb1d8d..78a1357 100644
--- a/doc/props/P_REMOVE_MSG
+++ b/doc/props/P_REMOVE_MSG
@@ -1,28 +1,49 @@
-NAME:
- P_REMOVE_MSG "std_food_remove_msg"
-DEFINIERT IN:
- <sys/food.h>
+P_REMOVE_MSG
+************
-BESCHREIBUNG:
- Meldung, wenn eine verdorbene Speise gerade vernichtet wird.
- Diese Meldung erscheint nur, wenn in P_DESTROY_BAD ein positiver
- Integer-Wert gesetzt ist.
- Befindet sich die Speise in einem Spieler, geht die Meldung an genau
- diesen, liegt die Speise im Raum, geht die Meldung an alle anwesenden
- Spieler.
-
-BEMERKUNGEN:
- Diese Meldung wird von replace_personal mit den Argumenten:
- 1. Speise
- 2. Konsument
- verarbeitet, kann als entsprechende Platzhalter enthalten
-
-DEFAULT:
- "@WER1 zerfaellt zu Staub."
-SIEHE AUCH:
- P_DESTROY_BAD, wiz/food, replace_personal
+NAME
+====
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+ P_REMOVE_MSG "std_food_remove_msg"
+
+
+DEFINIERT IN
+============
+
+ <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+ Meldung, wenn eine verdorbene Speise gerade vernichtet wird.
+ Diese Meldung erscheint nur, wenn in P_DESTROY_BAD ein positiver
+ Integer-Wert gesetzt ist.
+ Befindet sich die Speise in einem Spieler, geht die Meldung an genau
+ diesen, liegt die Speise im Raum, geht die Meldung an alle anwesenden
+ Spieler.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Meldung wird von replace_personal mit den Argumenten:
+ 1. Speise
+ 2. Konsument
+ verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+ "@WER1 zerfaellt zu Staub."
+
+
+SIEHE AUCH
+==========
+
+ P_DESTROY_BAD, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_RESET_LIFETIME b/doc/props/P_RESET_LIFETIME
index 378cf0c..bbd4bbe 100644
--- a/doc/props/P_RESET_LIFETIME
+++ b/doc/props/P_RESET_LIFETIME
@@ -1,31 +1,52 @@
-NAME:
- P_RESET_LIFETIME "std_food_lifetime_reset"
-
-DEFINIERT IN:
- /sys/food.h
-
-BESCHREIBUNG:
- Zeit in Resets, die die Speise haltbar ist.
- Jeder einzelne Reset wird in seiner Laenge zufaellig festgelegt und
- zu einer Gesamtanzahl von Sekunden zusammengefasst. Diese Zeit in
- Sekunden wird dann in P_LIFETIME gespeichert.
- Nach dieser Zeit wird diese Speise schlecht und je nach Konfiguration
- der Speise eventuell zerstoert. Sichergestellt wird dies durch den
- Aufruf von reset() nach dieser Anzahl "Resets".
- Moechte man eine Speise haben, die niemals verdirbt
- (genehmigungspflichtig!), nutzt man die Property P_NO_BAD
-
-BEMERKUNGEN:
- Sobald der Countdown zum Schlechtwerden der Speise laeuft, also ein
- Spieler damit in Beruehrung kam, zeigt SetProp auf diese Property keine
- Wirkung mehr.
-
-DEFAULT:
- Ohne Setzen von P_LIFETIME ,P_RESET_LIFETIME und P_NO_BAD verdirbt die
- Speise nach einem Reset, also zwischen 30 und 60 Minuten
-
-SIEHE AUCH:
- wiz/food, P_LIFETIME, P_NO_BAD
-
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+P_RESET_LIFETIME
+****************
+
+
+NAME
+====
+
+ P_RESET_LIFETIME "std_food_lifetime_reset"
+
+
+DEFINIERT IN
+============
+
+ /sys/food.h
+
+
+BESCHREIBUNG
+============
+
+ Zeit in Resets, die die Speise haltbar ist.
+ Jeder einzelne Reset wird in seiner Laenge zufaellig festgelegt und
+ zu einer Gesamtanzahl von Sekunden zusammengefasst. Diese Zeit in
+ Sekunden wird dann in P_LIFETIME gespeichert.
+ Nach dieser Zeit wird diese Speise schlecht und je nach Konfiguration
+ der Speise eventuell zerstoert. Sichergestellt wird dies durch den
+ Aufruf von reset() nach dieser Anzahl "Resets".
+ Moechte man eine Speise haben, die niemals verdirbt
+ (genehmigungspflichtig!), nutzt man die Property P_NO_BAD
+
+
+BEMERKUNGEN
+===========
+
+ Sobald der Countdown zum Schlechtwerden der Speise laeuft, also ein
+ Spieler damit in Beruehrung kam, zeigt SetProp auf diese Property keine
+ Wirkung mehr.
+
+
+DEFAULT
+=======
+
+ Ohne Setzen von P_LIFETIME ,P_RESET_LIFETIME und P_NO_BAD verdirbt die
+ Speise nach einem Reset, also zwischen 30 und 60 Minuten
+
+
+SIEHE AUCH
+==========
+
+ wiz/food, P_LIFETIME, P_NO_BAD
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_RESISTANCE b/doc/props/P_RESISTANCE
index ff3de74..48e476f 100644
--- a/doc/props/P_RESISTANCE
+++ b/doc/props/P_RESISTANCE
@@ -1,37 +1,61 @@
+
P_RESISTANCE
-NAME:
- P_RESISTANCE "resistance"
+************
-DEFINIERT IN:
- /sys/living/combat.h
-WICHTIG:
- DIESE PROPERTY IST VERALTET! BITTE P_RESISTANCE_STRENGTHS
- VERWENDEN! AUCH FUNKTIONIERT Set() NICHT WIE ES SOLLTE.
+NAME
+====
-BESCHREIBUNG:
- Hiermit koennen die Resistenzen eines Lebewesens sehr einfach gesetzt
- werden. Es kann ein Array mit Schadensarten gesetzt werden, jeder
- Eintrag eines Schadens verdoppelt die Resistenz gegen diesen.
+ P_RESISTANCE "resistance"
-BEMERKUNGEN:
- - P_RESISTANCE_STRENGTHS spiegelt diese Eintraege hier wieder
- - um genauere Werte anzugeben einen AddResistanceModifier() oder
- P_RESISTANCE_STRENGTHS benutzen.
- - P_RESISTANCE kann und wird nicht aus P_RESISTANCE_STRENGTHS
- upgedatet
-BEISPIELE:
- // ein NPC mit halbierter Feuerempfindlichkeit und
- // geviertelter Windempfindlichkeit
- SetProp(P_RESISTANCE, ({DT_FIRE, DT_AIR, DT_AIR}));
+DEFINIERT IN
+============
-SIEHE AUCH:
- simple Resistenz: P_RESISTANCE
- Modifikatoren: AddResistanceModifier, RemoveResistanceModifier(),
- P_RESISTANCE_MODIFIER
- Hauptmapping: P_RESISTANCE_STRENGTHS
- Berechnung: CheckResistance(), UpdateResistanceStrengths()
- anderes: balance, /std/armour/combat.c, /std/living/combat.c
+ /sys/living/combat.h
+
+
+WICHTIG
+=======
+
+ DIESE PROPERTY IST VERALTET! BITTE P_RESISTANCE_STRENGTHS
+ VERWENDEN! AUCH FUNKTIONIERT Set() NICHT WIE ES SOLLTE.
+
+
+BESCHREIBUNG
+============
+
+ Hiermit koennen die Resistenzen eines Lebewesens sehr einfach gesetzt
+ werden. Es kann ein Array mit Schadensarten gesetzt werden, jeder
+ Eintrag eines Schadens verdoppelt die Resistenz gegen diesen.
+
+
+BEMERKUNGEN
+===========
+
+ - P_RESISTANCE_STRENGTHS spiegelt diese Eintraege hier wieder
+ - um genauere Werte anzugeben einen AddResistanceModifier() oder
+ P_RESISTANCE_STRENGTHS benutzen.
+ - P_RESISTANCE kann und wird nicht aus P_RESISTANCE_STRENGTHS
+ upgedatet
+
+
+BEISPIELE
+=========
+
+ // ein NPC mit halbierter Feuerempfindlichkeit und
+ // geviertelter Windempfindlichkeit
+ SetProp(P_RESISTANCE, ({DT_FIRE, DT_AIR, DT_AIR}));
+
+
+SIEHE AUCH
+==========
+
+ simple Resistenz: P_RESISTANCE
+ Modifikatoren: AddResistanceModifier, RemoveResistanceModifier(),
+ P_RESISTANCE_MODIFIER
+ Hauptmapping: P_RESISTANCE_STRENGTHS
+ Berechnung: CheckResistance(), UpdateResistanceStrengths()
+ anderes: balance, /std/armour/combat.c, /std/living/combat.c
1.Dez 2004, Gloinson
diff --git a/doc/props/P_RESISTANCE_MODIFIER b/doc/props/P_RESISTANCE_MODIFIER
index 0a0538e..2a3322e 100644
--- a/doc/props/P_RESISTANCE_MODIFIER
+++ b/doc/props/P_RESISTANCE_MODIFIER
@@ -1,26 +1,45 @@
-NAME:
- P_RESISTANCE_MODIFIER "rstr:mod"
-DEFINIERT IN:
- /sys/living/combat.h
+P_RESISTANCE_MODIFIER
+*********************
-BESCHREIBUNG:
- Hier werden die Resistenzmodifikatoren in einem Mapping abgespeichert.
- Format:
+NAME
+====
- (["me":<Aufaddition aller Resistenz/Empfindlichkeitsmodifikationen>;0,
- "<Objektname>#<Schluessel>":<Resistenzmapping>;<Objekreferenz>,
- ...])
+ P_RESISTANCE_MODIFIER "rstr:mod"
-BEMERKUNGEN:
- Nur ueber AddResistanceModifier(), RemoveResistanceModifier() aendern!
-SIEHE AUCH:
- Modifikatoren: AddResistanceModifier, RemoveResistanceModifier()
- simple Resistenz: P_RESISTANCE, P_VULNERABILITY
- Hauptmapping: P_RESISTANCE_STRENGTHS
- Berechnung: CheckResistance(), UpdateResistanceStrengths()
- anderes: balance, /std/armour/combat.c, /std/living/combat.c
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Hier werden die Resistenzmodifikatoren in einem Mapping abgespeichert.
+
+ Format:
+
+ (["me":<Aufaddition aller Resistenz/Empfindlichkeitsmodifikationen>;0,
+ "<Objektname>#<Schluessel>":<Resistenzmapping>;<Objekreferenz>,
+ ...])
+
+
+BEMERKUNGEN
+===========
+
+ Nur ueber AddResistanceModifier(), RemoveResistanceModifier() aendern!
+
+
+SIEHE AUCH
+==========
+
+ Modifikatoren: AddResistanceModifier, RemoveResistanceModifier()
+ simple Resistenz: P_RESISTANCE, P_VULNERABILITY
+ Hauptmapping: P_RESISTANCE_STRENGTHS
+ Berechnung: CheckResistance(), UpdateResistanceStrengths()
+ anderes: balance, /std/armour/combat.c, /std/living/combat.c
29.Apr 2002, Gloinson@MG
diff --git a/doc/props/P_RESISTANCE_STRENGTHS b/doc/props/P_RESISTANCE_STRENGTHS
index ed24d2d..4a93f08 100644
--- a/doc/props/P_RESISTANCE_STRENGTHS
+++ b/doc/props/P_RESISTANCE_STRENGTHS
@@ -1,92 +1,114 @@
-NAME:
- P_RESISTANCE_STRENGTHS "resistance_strengths"
-DEFINIERT IN:
- /sys/living/combat.h
-
-BESCHREIBUNG:
- Lebewesen:
-
- Mapping mit Schadensarten, gegen die das Lebewesen resistent oder
- anfaellig ist. Durch eine _query_method werden alle existierenden
- Resistenzen hier zusammengefasst.
-
- Die Staerke der Resistenz oder Anfaelligkeit wird numerisch aus-
- gedrueckt:
- - Resistenzen gehen bis von 0 bis -1.0 (absolute Resistenz)
- - -0.5 == halbierter Schaden, -0.75 == geviertelter Schaden
- -> in % des "aufgehaltenen" Schadens interpretierbar
- - Empfindlichkeiten gehen von 0 bis MAX_INT
- - 1.0 == verdoppelter Schaden, 3.0 == vervierfachter Schaden
- -> als Faktor (x+1.0) interpretierbar
-
- Ruestungen:
-
- Mapping mit Prozentwerten der Maximalwerte fuer Ruestungen des
- entsprechenden Typs. Dabei sind positive Werte Resistenzen und
- negative Empfindlichkeiten. Dabei duerfen die Prozentwerte nur
- im Bereich von +100 bis -800 (-1000 ?!) liegen.
-
- Bei Ruestungen ist es damit unnoetig, Resistenzen mittels
- AddResistanceModifier() im Traeger zu setzen, da dies bereits
- in /std/armour automatisch gemacht wird. Der Schluessel fuer
- den Eintrag ist dabei P_ARMOUR_TYPE.
-
- Die Maximalwerte sind derzeit:
- AT_CLOAK, AT_RING, AT_AMULET: max 10% Resistenz
- AT_SHIELD, AT_ARMOUR: max 15% Resistenz
- alle anderen: max 5% Resistenz
-
-BEMERKUNGEN:
- Ruestungen:
- * die Property muss _nach_ P_ARMOUR_TYPE gesetzt werden (_set-Method)
-
- Lebewesen:
- * -1.0 bedeutet bereits absolute Resistenz, bei kleineren Werten werden
- die anderen Schadensanteile im Kampf u.U. nicht mehr wie gewuenscht
- bilanziert. Bitte daher drauf verzichten. ;-)
- * Aenderungen an P_RESISTANCE und P_VULNERABILITY werden direkt in
- P_RESISTANCE_STRENGTHS gespeichert:
- -> daher niemals im Nachhinein bei fremden NPCs P_RESISTANCE_STRENGTHS
- manipulieren, dafuer gibt es AddResistanceModifier
- * QueryProp(P_RESISTANCE_STRENGTHS) enthaelt die gesamten Resistenzen
- P_RESISTANCE, P_VULNERABILITY, P_RESISTANCE_MODIFIER (_query-Method)
-
- Die Werte in P_RESISTANCE_STRENGTHS sollten nur in Ausnahmefaellen oder
- gut begruendet den Hoechstwert haben. Ein Eiswesen kann zwar sehr
- resistent gegen Kaelteschaden sein, sollte aber zu gleichem Teil auch
- anfaellig auf Feuerschaden sein.
-
- Auf dieser Property liegt eine Querymethode, welche eine Kopie der
- Daten zurueckliefert.
-
-BEISPIELE:
- // ein Eistroll
- SetProp(P_RESISTANCE_STRENGTHS,([DT_FIRE:0.5,DT_COLD:-0.5,
- DT_MAGIC:0.1]));
-
- Feuerangriffe werden mit 1.5 multipliziert, magische mit 1.1 und
- der Schadenswert von Kaelteangriffen wird halbiert. Zum Beispiel
- wuerde
- Defend(100, ({DT_FIRE,DT_MAGIC}), ...)
- einen Schaden von 130 statt den normalen 100 verursachen.
+P_RESISTANCE_STRENGTHS
+**********************
- // eine Eisruestung
- SetProp(P_RESISTANCE_STRENGTHS, ([DT_COLD:50, DT_FIRE:-100]));
+NAME
+====
- Dieses Kettenhemd schuetzt nun mit 50% des Maximalwertes gegen
- Kaelte (also 0.5*15%=7,5% Resistenz) und macht mit dem Maximal-
- wert anfaellig gegen Feuer (1*15%=15% Empfindlichkeit).
+ P_RESISTANCE_STRENGTHS "resistance_strengths"
- ! der Code spricht zusaetzlich von
- Empfindlichkeit=(Empfindlichkeit/4)*5 -> 15/4*5=18.75% !
-SIEHE AUCH:
- simple Resistenz: P_RESISTANCE, P_VULNERABILITY
- Modifikatoren: AddResistanceModifier, RemoveResistanceModifier(),
- P_RESISTANCE_MODIFIER
- Berechnung: CheckResistance(), UpdateResistanceStrengths()
- anderes: balance, /std/armour/combat.c, /std/living/combat.c
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Lebewesen:
+
+ Mapping mit Schadensarten, gegen die das Lebewesen resistent oder
+ anfaellig ist. Durch eine _query_method werden alle existierenden
+ Resistenzen hier zusammengefasst.
+
+ Die Staerke der Resistenz oder Anfaelligkeit wird numerisch aus-
+ gedrueckt:
+ - Resistenzen gehen bis von 0 bis -1.0 (absolute Resistenz)
+ - -0.5 == halbierter Schaden, -0.75 == geviertelter Schaden
+ -> in % des "aufgehaltenen" Schadens interpretierbar
+ - Empfindlichkeiten gehen von 0 bis MAX_INT
+ - 1.0 == verdoppelter Schaden, 3.0 == vervierfachter Schaden
+ -> als Faktor (x+1.0) interpretierbar
+
+ Ruestungen:
+
+ Mapping mit Prozentwerten der Maximalwerte fuer Ruestungen des
+ entsprechenden Typs. Dabei sind positive Werte Resistenzen und
+ negative Empfindlichkeiten. Dabei duerfen die Prozentwerte nur
+ im Bereich von +100 bis -800 (-1000 ?!) liegen.
+
+ Bei Ruestungen ist es damit unnoetig, Resistenzen mittels
+ AddResistanceModifier() im Traeger zu setzen, da dies bereits
+ in /std/armour automatisch gemacht wird. Der Schluessel fuer
+ den Eintrag ist dabei P_ARMOUR_TYPE.
+
+ Die Maximalwerte sind derzeit:
+ AT_CLOAK, AT_RING, AT_AMULET: max 10% Resistenz
+ AT_SHIELD, AT_ARMOUR: max 15% Resistenz
+ alle anderen: max 5% Resistenz
+
+
+BEMERKUNGEN
+===========
+
+ Ruestungen:
+ * die Property muss _nach_ P_ARMOUR_TYPE gesetzt werden (_set-Method)
+
+ Lebewesen:
+ * -1.0 bedeutet bereits absolute Resistenz, bei kleineren Werten werden
+ die anderen Schadensanteile im Kampf u.U. nicht mehr wie gewuenscht
+ bilanziert. Bitte daher drauf verzichten. ;-)
+ * Aenderungen an P_RESISTANCE und P_VULNERABILITY werden direkt in
+ P_RESISTANCE_STRENGTHS gespeichert:
+ -> daher niemals im Nachhinein bei fremden NPCs P_RESISTANCE_STRENGTHS
+ manipulieren, dafuer gibt es AddResistanceModifier
+ * QueryProp(P_RESISTANCE_STRENGTHS) enthaelt die gesamten Resistenzen
+ P_RESISTANCE, P_VULNERABILITY, P_RESISTANCE_MODIFIER (_query-Method)
+
+ Die Werte in P_RESISTANCE_STRENGTHS sollten nur in Ausnahmefaellen oder
+ gut begruendet den Hoechstwert haben. Ein Eiswesen kann zwar sehr
+ resistent gegen Kaelteschaden sein, sollte aber zu gleichem Teil auch
+ anfaellig auf Feuerschaden sein.
+
+ Auf dieser Property liegt eine Querymethode, welche eine Kopie der
+ Daten zurueckliefert.
+
+
+BEISPIELE
+=========
+
+ // ein Eistroll
+ SetProp(P_RESISTANCE_STRENGTHS,([DT_FIRE:0.5,DT_COLD:-0.5,
+ DT_MAGIC:0.1]));
+
+ Feuerangriffe werden mit 1.5 multipliziert, magische mit 1.1 und
+ der Schadenswert von Kaelteangriffen wird halbiert. Zum Beispiel
+ wuerde
+ Defend(100, ({DT_FIRE,DT_MAGIC}), ...)
+ einen Schaden von 130 statt den normalen 100 verursachen.
+
+
+ // eine Eisruestung
+ SetProp(P_RESISTANCE_STRENGTHS, ([DT_COLD:50, DT_FIRE:-100]));
+
+ Dieses Kettenhemd schuetzt nun mit 50% des Maximalwertes gegen
+ Kaelte (also 0.5*15%=7,5% Resistenz) und macht mit dem Maximal-
+ wert anfaellig gegen Feuer (1*15%=15% Empfindlichkeit).
+
+ ! der Code spricht zusaetzlich von
+ Empfindlichkeit=(Empfindlichkeit/4)*5 -> 15/4*5=18.75% !
+
+
+SIEHE AUCH
+==========
+
+ simple Resistenz: P_RESISTANCE, P_VULNERABILITY
+ Modifikatoren: AddResistanceModifier, RemoveResistanceModifier(),
+ P_RESISTANCE_MODIFIER
+ Berechnung: CheckResistance(), UpdateResistanceStrengths()
+ anderes: balance, /std/armour/combat.c, /std/living/combat.c
6.Feb 2016 Gloinson
diff --git a/doc/props/P_RESTRICTIONS b/doc/props/P_RESTRICTIONS
index 34890ff..a1764b9 100644
--- a/doc/props/P_RESTRICTIONS
+++ b/doc/props/P_RESTRICTIONS
@@ -1,140 +1,163 @@
-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
-
- Folgende Keys werden in dem Mapping ausgewertet:
-
- P_LEVEL
- Mindeststufe, die das Lebewesen besitzen muss, um die Aktion
- auszufuehren.
- P_GUILD_LEVEL
- Gildenlevel, das das Lebewesen mindestens erreicht haben muss, um die
- Aktion auszufuehren.
- SR_SEER
- Ist gesetzt, wenn das Lebewesen Seher sein muss.
- Auswertung nur fuer Interactives, NSC ignorieren das Flag.
- P_XP
- Mindestmenge an Erfahrungspunkten, die ein Lebewesen besitzen muss,
- um die Aktion auszufuehren.
- P_QP
- Mindestmenge an Abenteuerpunkten, die das Lebewesen haben muss.
- P_ALCOHOL
- Menge an Alkohol, unter der der Alkoholspiegel des Lebewesen liegen
- muss, um die Aktion noch ausfuehren zu koennen.
- P_DRINK
- Menge an Fluessigkeit, unter der der Fluessigkeitsspiegel des
- Lebewesen liegen muss, um die Aktion noch ausfuehren zu koennen.
- P_FOOD
- Beinhaltet die Menge an Nahrung, unter der der Nahrungsspiegel des
- Spielers liegen muss, um die Aktion noch ausfuehren zu koennen.
- P_DEAF
- Ist gesetzt, falls der Spieler nicht taub sein darf.
- P_FROG
- Ist gesetzt, falls der Spieler kein Frosch sein darf.
- P_BLIND
- Ist gesetzt, falls der Spieler nicht blind sein darf.
- Achtung: das ist nicht gleichbedeutend mit dem Umstand, dass er evtl.
- nichts mehr sehen kann. Auch andere Gruende (zum Beispiel Dunkelheit)
- koennen bewirken, dass ein Spieler nichts mehr sieht.
- A_INT, A_DEX, A_CON, A_STR
- Jeweilige Mindesthoehe eines Attribut, um eine Aktion ausfuehren zu
- koennen.
- SR_BAD, SR_GOOD
- Gibt an, wie [minimal] boese bzw. wie [maximal] gut ein Charakter sein
- darf, um eine Aktion ausfuehren zu koennen.
- SR_MIN_SIZE, SR_MAX_SIZE
- Gibt die minimale, bzw. die maximale Groesse an, die ein Charakter
- maximal haben darf, um eine Aktion ausfuehren zu koennen.
- SR_FREE_HANDS
- Gibt an, wieviele freie Haende ein Charakter fuer diese Aktion
- besitzen muss.
- SR_EXCLUDE_RACE
- Mitglieder aller in dieser Liste aufgefuehrten Rassen koennen
- diese Aktion nicht ausfuehren.
- SR_INCLUDE_RACE
- Mitglieder aller NICHT in dieser Liste aufgefuehrten Rassen koennen
- diese Aktion nicht ausfuehren.
- SM_RACE
- Hier kann pro Rasse ein Mapping mit besonderen (nur) fuer diese Rasse
- geltenden Einschraenkungen vorgenommen werden. Als Keys sind die
- in dieser Manpage beschriebenen Keys erlaubt, wobei SM_RACE nicht
- rekursiv ausgewertet wird.
- Der Rassenname ist gross geschrieben und "*" steht fuer alle Rassen.
- SR_EXCLUDE_GUILD
- SR_INCLUDE_GUILD
- Diese beiden Keys verhalten sich wie SR_*_RACE, nur dass hier Gilden
- genannt werden.
- SR_FUN
- Hier kann eine Funktion in verschiedenen Formen zum Pruefen der
- Restriktionen angegeben werden, siehe execute_anything().
- Das kann nuetzlich sein, um andere Restriktionen zu pruefen,
- wie das Bestehen von Miniquests oder andere Faehigkeiten/Flags.
- Ist der Test nicht bestanden, gibt die Funktion einen String zurueck.
- SR_PROP
- Hier kann ein Mapping mit Properties und zugehoerigen Werten angegeben
- werden, die jeweils auf Identitaet geprueft werden. Zusaetzlich sollte
- eine Meldung angegeben werden, die als Fehlermeldung ausgegeben wird,
- wenn der Spieler die Bedingung nicht erfuellt. Es sollte immer eine
- passende Meldung fuer den Spieler eingebaut werden. Beispiel:
- ([ SR_PROP: ([P_AUSGANG_ENTDECKT: 1; "Dein Schwert fluestert "
- "veraergert: Ich werde Dir erst dann zu Diensten sein, wenn Du "
- "Dich als wuerdig erwiesen hast!"]) ])
- Aufgrund der Meldung wird empfohlen, SR_PROP nicht in Restriktionen
- einzusetzen, die massenweise in Savefiles landen (z.B.
- Spielersavefiles).
- SR_QUEST
- Hier kann ein String-Array mit den Namen (Keys) der Quest(s) angegeben
- werden, die der Spieler bestanden haben muss, um die Aktion ausfuehren
- zu koennen.
- SR_MINIQUEST
- Hier kann entweder ein String-Array mit den Ladenamen der vergebenden
- Objekte oder ein Int-Array mit den Index-Nummern (IDs) der
- Miniquest(s) (empfohlen!) angegeben werden, die der Spieler bestanden
- haben muss, um die Aktion ausfuehren zu koennen.
+P_RESTRICTIONS
+**************
+NAME
+====
-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.
+ P_RESTRICTIONS "restrictions"
- 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]));
+DEFINIERT IN
+============
- Komplexeres Beispiel
+ /sys/combat.h
+ (Die SR_*-Parameter sind in /sys/new_skills.h definiert.)
- 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)
- 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
+BESCHREIBUNG
+============
-LETZTE AeNDERUNG:
-03. Januar 2014, Arathorn
+ 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
+
+ Folgende Keys werden in dem Mapping ausgewertet:
+
+ P_LEVEL
+ Mindeststufe, die das Lebewesen besitzen muss, um die Aktion
+ auszufuehren.
+ P_GUILD_LEVEL
+ Gildenlevel, das das Lebewesen mindestens erreicht haben muss, um die
+ Aktion auszufuehren.
+ SR_SEER
+ Ist gesetzt, wenn das Lebewesen Seher sein muss.
+ Auswertung nur fuer Interactives, NSC ignorieren das Flag.
+ P_XP
+ Mindestmenge an Erfahrungspunkten, die ein Lebewesen besitzen muss,
+ um die Aktion auszufuehren.
+ P_QP
+ Mindestmenge an Abenteuerpunkten, die das Lebewesen haben muss.
+ P_ALCOHOL
+ Menge an Alkohol, unter der der Alkoholspiegel des Lebewesen liegen
+ muss, um die Aktion noch ausfuehren zu koennen.
+ P_DRINK
+ Menge an Fluessigkeit, unter der der Fluessigkeitsspiegel des
+ Lebewesen liegen muss, um die Aktion noch ausfuehren zu koennen.
+ P_FOOD
+ Beinhaltet die Menge an Nahrung, unter der der Nahrungsspiegel des
+ Spielers liegen muss, um die Aktion noch ausfuehren zu koennen.
+ P_DEAF
+ Ist gesetzt, falls der Spieler nicht taub sein darf.
+ P_FROG
+ Ist gesetzt, falls der Spieler kein Frosch sein darf.
+ P_BLIND
+ Ist gesetzt, falls der Spieler nicht blind sein darf.
+ Achtung: das ist nicht gleichbedeutend mit dem Umstand, dass er evtl.
+ nichts mehr sehen kann. Auch andere Gruende (zum Beispiel Dunkelheit)
+ koennen bewirken, dass ein Spieler nichts mehr sieht.
+ A_INT, A_DEX, A_CON, A_STR
+ Jeweilige Mindesthoehe eines Attribut, um eine Aktion ausfuehren zu
+ koennen.
+ SR_BAD, SR_GOOD
+ Gibt an, wie [minimal] boese bzw. wie [maximal] gut ein Charakter sein
+ darf, um eine Aktion ausfuehren zu koennen.
+ SR_MIN_SIZE, SR_MAX_SIZE
+ Gibt die minimale, bzw. die maximale Groesse an, die ein Charakter
+ maximal haben darf, um eine Aktion ausfuehren zu koennen.
+ SR_FREE_HANDS
+ Gibt an, wieviele freie Haende ein Charakter fuer diese Aktion
+ besitzen muss.
+ SR_EXCLUDE_RACE
+ Mitglieder aller in dieser Liste aufgefuehrten Rassen koennen
+ diese Aktion nicht ausfuehren.
+ SR_INCLUDE_RACE
+ Mitglieder aller NICHT in dieser Liste aufgefuehrten Rassen koennen
+ diese Aktion nicht ausfuehren.
+ SM_RACE
+ Hier kann pro Rasse ein Mapping mit besonderen (nur) fuer diese Rasse
+ geltenden Einschraenkungen vorgenommen werden. Als Keys sind die
+ in dieser Manpage beschriebenen Keys erlaubt, wobei SM_RACE nicht
+ rekursiv ausgewertet wird.
+ Der Rassenname ist gross geschrieben und "*" steht fuer alle Rassen.
+ SR_EXCLUDE_GUILD
+ SR_INCLUDE_GUILD
+ Diese beiden Keys verhalten sich wie SR_*_RACE, nur dass hier Gilden
+ genannt werden.
+ SR_FUN
+ Hier kann eine Funktion in verschiedenen Formen zum Pruefen der
+ Restriktionen angegeben werden, siehe execute_anything().
+ Das kann nuetzlich sein, um andere Restriktionen zu pruefen,
+ wie das Bestehen von Miniquests oder andere Faehigkeiten/Flags.
+ Ist der Test nicht bestanden, gibt die Funktion einen String zurueck.
+ SR_PROP
+ Hier kann ein Mapping mit Properties und zugehoerigen Werten angegeben
+ werden, die jeweils auf Identitaet geprueft werden. Zusaetzlich sollte
+ eine Meldung angegeben werden, die als Fehlermeldung ausgegeben wird,
+ wenn der Spieler die Bedingung nicht erfuellt. Es sollte immer eine
+ passende Meldung fuer den Spieler eingebaut werden. Beispiel:
+ ([ SR_PROP: ([P_AUSGANG_ENTDECKT: 1; "Dein Schwert fluestert "
+ "veraergert: Ich werde Dir erst dann zu Diensten sein, wenn Du "
+ "Dich als wuerdig erwiesen hast!"]) ])
+ Aufgrund der Meldung wird empfohlen, SR_PROP nicht in Restriktionen
+ einzusetzen, die massenweise in Savefiles landen (z.B.
+ Spielersavefiles).
+ SR_QUEST
+ Hier kann ein String-Array mit den Namen (Keys) der Quest(s) angegeben
+ werden, die der Spieler bestanden haben muss, um die Aktion ausfuehren
+ zu koennen.
+ SR_MINIQUEST
+ Hier kann entweder ein String-Array mit den Ladenamen der vergebenden
+ Objekte oder ein Int-Array mit den Index-Nummern (IDs) der
+ Miniquest(s) (empfohlen!) angegeben werden, die der Spieler bestanden
+ haben muss, um die Aktion ausfuehren zu koennen.
+
+
+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)
+ 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
+================
+
+3. Januar 2014, Arathorn
diff --git a/doc/props/P_ROOM_MSG b/doc/props/P_ROOM_MSG
index c3324f2..3486458 100644
--- a/doc/props/P_ROOM_MSG
+++ b/doc/props/P_ROOM_MSG
@@ -1,20 +1,39 @@
-NAME:
- P_ROOM_MSG "room_msg"
-DEFINIERT IN:
- /sys/room/description.h
+P_ROOM_MSG
+**********
-BESCHREIBUNG:
- Liste mit Meldungen, die zufaellig im Raum ausgegeben werden.
- Hier sind nur die Textmeldungen als String-Array gespeichert.
+NAME
+====
-ANMERKUNGEN:
- Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
+ P_ROOM_MSG "room_msg"
-SIEHE AUCH:
- LFuns: AddRoomMessage()
- Verwandt: tell_room(), ReceiveMsg()
- Props: P_FUNC_MSG, P_MSG_PROB
+
+DEFINIERT IN
+============
+
+ /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+ Liste mit Meldungen, die zufaellig im Raum ausgegeben werden.
+
+ Hier sind nur die Textmeldungen als String-Array gespeichert.
+
+
+ANMERKUNGEN
+===========
+
+ Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
+
+
+SIEHE AUCH
+==========
+
+ LFuns: AddRoomMessage()
+ Verwandt: tell_room(), ReceiveMsg()
+ Props: P_FUNC_MSG, P_MSG_PROB
2.Feb 2016 Gloinson
diff --git a/doc/props/P_ROOM_TYPE b/doc/props/P_ROOM_TYPE
index d9dd746..22e894e 100644
--- a/doc/props/P_ROOM_TYPE
+++ b/doc/props/P_ROOM_TYPE
@@ -1,23 +1,39 @@
-NAME:
- P_ROOM_TYPE "room_type"
-DEFINIERT IN:
- /sys/rooms.h
+P_ROOM_TYPE
+***********
-BESCHREIBUNG:
- In P_ROOM_TYPE wird die Art des Raumes durch entsprechende Flags
- beschrieben.
- Bisher unterstuetzt werden:
- - RT_SHOP fuer Raeume, die /std/room/shop inheriten
- - RT_PUB fuer Raeume, die /std/room/pub inheriten
+NAME
+====
-BEISPIEL:
- Wenn ein NPC abfragen moechte, ob er sich in einer Kneipe aufhaelt (um
- selbststaendig tanken zu koennen) koennte eine Abfrage z.B. so aussehen:
+ P_ROOM_TYPE "room_type"
- if ( environment() &&
- environment()->QueryProp(P_ROOM_TYPE) & RT_PUB ){
- ... tanken ...
- }
+DEFINIERT IN
+============
+
+ /sys/rooms.h
+
+
+BESCHREIBUNG
+============
+
+ In P_ROOM_TYPE wird die Art des Raumes durch entsprechende Flags
+ beschrieben.
+
+ Bisher unterstuetzt werden:
+ - RT_SHOP fuer Raeume, die /std/room/shop inheriten
+ - RT_PUB fuer Raeume, die /std/room/pub inheriten
+
+
+BEISPIEL
+========
+
+ Wenn ein NPC abfragen moechte, ob er sich in einer Kneipe aufhaelt (um
+ selbststaendig tanken zu koennen) koennte eine Abfrage z.B. so aussehen:
+
+ if ( environment() &&
+ environment()->QueryProp(P_ROOM_TYPE) & RT_PUB ){
+
+ ... tanken ...
+ }
diff --git a/doc/props/P_SB_SPELLS b/doc/props/P_SB_SPELLS
index 84aa723..1ffac9d 100644
--- a/doc/props/P_SB_SPELLS
+++ b/doc/props/P_SB_SPELLS
@@ -1,23 +1,42 @@
-NAME:
- P_SB_SPELLS "sb_spells"
-DEFINIERT IN:
- /sys/new_skills.h
+P_SB_SPELLS
+***********
-BESCHREIBUNG:
- In dieser Spellbookproperty sind saemtliche Sprueche des Spellbooks
- vermerkt. Veraendert wird sie durch AddSpell().
-BEMERKUNGEN:
- Man sollte diese Property nicht per Hand veraendern, sondern die
- Funktion AddSpell() nutzen.
+NAME
+====
-SIEHE AUCH:
- GObj Verwalten: LearnSkill, LearnSpell, InitialSkillAbility
- * Properties: P_GUILD_SKILLS
- Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
- * Verwalten: AddSpell, QuerySpell
- * Properties: P_GLOBAL_SKILLPROPS
- Skills: P_NEWSKILLS, spruchermuedung, skill_info_liste
+ P_SB_SPELLS "sb_spells"
-Last modified: Wed Jan 14 19:17:06 1998 by Patryn
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Spellbookproperty sind saemtliche Sprueche des Spellbooks
+ vermerkt. Veraendert wird sie durch AddSpell().
+
+
+BEMERKUNGEN
+===========
+
+ Man sollte diese Property nicht per Hand veraendern, sondern die
+ Funktion AddSpell() nutzen.
+
+
+SIEHE AUCH
+==========
+
+ GObj Verwalten: LearnSkill, LearnSpell, InitialSkillAbility
+ * Properties: P_GUILD_SKILLS
+ Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
+ * Verwalten: AddSpell, QuerySpell
+ * Properties: P_GLOBAL_SKILLPROPS
+ Skills: P_NEWSKILLS, spruchermuedung, skill_info_liste
+
+Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_SCREENSIZE b/doc/props/P_SCREENSIZE
index fc9dd15..e54ee8b 100644
--- a/doc/props/P_SCREENSIZE
+++ b/doc/props/P_SCREENSIZE
@@ -1,8 +1,21 @@
-NAME:
- P_SCREENSIZE "screensize"
-DEFINIERT IN:
- /sys/player/base.h
+P_SCREENSIZE
+************
-BESCHREIBUNG:
- Bildschirmgroesse in Zeilen (fuer More)
+
+NAME
+====
+
+ P_SCREENSIZE "screensize"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Bildschirmgroesse in Zeilen (fuer More)
diff --git a/doc/props/P_SECOND b/doc/props/P_SECOND
index 4aa835a..69c97d6 100644
--- a/doc/props/P_SECOND
+++ b/doc/props/P_SECOND
@@ -1,21 +1,39 @@
-NAME:
- P_SECOND "second"
-DEFINIERT IN:
- /sys/player/base.h
+P_SECOND
+********
-BESCHREIBUNG:
- Wenn diese Prop gesetzt ist, ist der Spieler ein Zweitie. Inhalt der
- Prop ist ein String mit dem (lowercase) Namen des Ersties.
-BEISPIEL:
- if (this_player()->QueryProp(P_SECOND)=="notstrom") {
- tell_object(this_player(), "Nicht alles aufessen!\n");
- }
+NAME
+====
-SIEHE AUCH:
- Properties: P_SECOND_MARK
- Sonstiges: /secure/zweities.c
+ P_SECOND "second"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Wenn diese Prop gesetzt ist, ist der Spieler ein Zweitie. Inhalt der
+ Prop ist ein String mit dem (lowercase) Namen des Ersties.
+
+
+BEISPIEL
+========
+
+ if (this_player()->QueryProp(P_SECOND)=="notstrom") {
+ tell_object(this_player(), "Nicht alles aufessen!\n");
+ }
+
+
+SIEHE AUCH
+==========
+
+ Properties: P_SECOND_MARK
+ Sonstiges: /secure/zweities.c
+
Last modified: 18-Jun-2015, Arathorn.
diff --git a/doc/props/P_SECOND_MARK b/doc/props/P_SECOND_MARK
index c1c0c42..dd2c68a 100644
--- a/doc/props/P_SECOND_MARK
+++ b/doc/props/P_SECOND_MARK
@@ -1,18 +1,31 @@
-NAME:
- P_SECOND_MARK "second_mark"
-DEFINIERT IN:
- /sys/player/base.h
+P_SECOND_MARK
+*************
-BESCHREIBUNG:
- Gibt an, wie mit der Zweitie-Markierung eines Spielers umgegangen wird.
- -1 'unsichtbare' Markierung; im wer/kwer wird bei diesem Zweitie s
- oder S angezeigt.
+NAME
+====
- 0 'sichtbare' Markierung; im wer/kwer wird bei diesem Zweitie z oder
- Z angezeigt. Der Name des Ersties ist beim Fingern jedoch nur
- fuer Magier sichtbar.
+ P_SECOND_MARK "second_mark"
- 1 Markierung 'sichtbar + Name'; wie 0, nur dass beim Fingern alle
- Spieler den Namen des Ersties sehen koennen.
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Gibt an, wie mit der Zweitie-Markierung eines Spielers umgegangen wird.
+
+ -1 'unsichtbare' Markierung; im wer/kwer wird bei diesem Zweitie s
+ oder S angezeigt.
+
+ 0 'sichtbare' Markierung; im wer/kwer wird bei diesem Zweitie z oder
+ Z angezeigt. Der Name des Ersties ist beim Fingern jedoch nur
+ fuer Magier sichtbar.
+
+ 1 Markierung 'sichtbar + Name'; wie 0, nur dass beim Fingern alle
+ Spieler den Namen des Ersties sehen koennen.
diff --git a/doc/props/P_SEERDOORS b/doc/props/P_SEERDOORS
index 8ffb852..8ec02e7 100644
--- a/doc/props/P_SEERDOORS
+++ b/doc/props/P_SEERDOORS
@@ -1,26 +1,45 @@
+
P_SEERDOORS
+***********
-NAME:
- P_SEERDOORS "rw_sehertore"
-DEFINIERT IN:
- /d/seher/portale/sehertor.h
+NAME
+====
-BESCHREIBUNG:
- Sehertor-relevante Property.
+ P_SEERDOORS "rw_sehertore"
- Enthaelt ein Mapping mit den Wertepaaren
- ([ Seher-Portal-Nummer: x ])
- mit x != 0 fuer entdeckte Tore.
-
- 0 hat ein Sonderverhalten fuer mobile Tore.
-BEMERKUNG:
- Auf gar keinen Fall in Spielern manipulieren! Und bitte das enthaltene
- Mapping nicht von einem Spieler abfragen und P_SEERDOORS in einem
- Testspieler zuweisen!
-
-SIEHE AUCH:
- P_FAO_PORTALS
-
+DEFINIERT IN
+============
+
+ /d/seher/portale/sehertor.h
+
+
+BESCHREIBUNG
+============
+
+ Sehertor-relevante Property.
+
+ Enthaelt ein Mapping mit den Wertepaaren
+ ([ Seher-Portal-Nummer: x ])
+ mit x != 0 fuer entdeckte Tore.
+
+
+
+ 0 hat ein Sonderverhalten fuer mobile Tore.
+
+
+BEMERKUNG
+=========
+
+ Auf gar keinen Fall in Spielern manipulieren! Und bitte das enthaltene
+ Mapping nicht von einem Spieler abfragen und P_SEERDOORS in einem
+ Testspieler zuweisen!
+
+
+SIEHE AUCH
+==========
+
+ P_FAO_PORTALS
+
1.September 2008 Gloinson
diff --git a/doc/props/P_SEERDOOR_ALLOWED b/doc/props/P_SEERDOOR_ALLOWED
index b8225e3..12f062b 100644
--- a/doc/props/P_SEERDOOR_ALLOWED
+++ b/doc/props/P_SEERDOOR_ALLOWED
@@ -1,15 +1,27 @@
-NAME:
- P_SEERDOOR_ALLOWED "rw_sehertor_erlaubt"
-DEFINIERT IN:
- /d/seher/portale/sehertor.h
+P_SEERDOOR_ALLOWED
+******************
-BESCHREIBUNG:
- Diese Property muss in einem Raum gesetzt sein, soll
- ein Seher dort ein mobiles Sehertor abstellen duerfen.
- Zusaetzlich darf der Raum nicht in PARA liegen und muss
- als eigenes File existieren.
- Es ist darauf zu achten, Sehertore nicht in Questgebieten,
- direkt an Tanken oder aehnlichen Plaetzen zu erlauben.
- Es gilt die Einschaetzung des fuer den Raum Verantwortlichen.
+NAME
+====
+
+ P_SEERDOOR_ALLOWED "rw_sehertor_erlaubt"
+
+
+DEFINIERT IN
+============
+
+ /d/seher/portale/sehertor.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property muss in einem Raum gesetzt sein, soll
+ ein Seher dort ein mobiles Sehertor abstellen duerfen.
+ Zusaetzlich darf der Raum nicht in PARA liegen und muss
+ als eigenes File existieren.
+ Es ist darauf zu achten, Sehertore nicht in Questgebieten,
+ direkt an Tanken oder aehnlichen Plaetzen zu erlauben.
+ Es gilt die Einschaetzung des fuer den Raum Verantwortlichen.
diff --git a/doc/props/P_SENSITIVE b/doc/props/P_SENSITIVE
index 23d1fee..c1e8051 100644
--- a/doc/props/P_SENSITIVE
+++ b/doc/props/P_SENSITIVE
@@ -1,125 +1,154 @@
+
P_SENSITIVE
-NAME:
- P_SENSITIVE "sensitive"
+***********
-DEFINIERT IN:
- /sys/thing/moving.h
-BESCHREIBUNG:
- Diese Property kann in Objekten gesetzt werden, die auf bestimmte
- Schadensarten empfindlich reagieren sollen. Moegliche Anwendungsfaelle:
- - Das Lebewesen, in dessen Inventar sich ein Objekt befindet, erleidet
- einen Angriff mit der fraglichen Schadensart (Beispiel: eine
- Pusteblume, die bei Angriff mit Luftschaden auseinanderfaellt).
- - Zwei Objekte treffen im gleichen Environment aufeinander, wobei
- eines empfindlich auf eine Schadensart reagiert, und das zweite diese
- Schadensart mitbringt, d.h. die Empfindlichkeit ausloesen kann.
- (Beispiel: ein feuerempfindlicher Postsack wird angesengt, wenn eine
- brennende Fackel ins gleiche Inventar kommt.)
- Das Ausloesen dieser Empfindlichkeit ist unabhaengig davon, welches
- Objekt zuerst da war.
+NAME
+====
- Die Property enthaelt ein Array aus Arrays:
- ({<sensprops_1>, <sensprops_2>, ..., <sensprops_n>})
-
- wobei jeder Eintrag <sensprops> jeweils folgende Struktur hat:
- ({string list_key, string damtype, int treshold, mixed options })
-
- Die Eintraege haben dabei folgende Bedeutung:
-
- list_key: Kann einen von folgenden drei Werten annehmen
- 1) SENSITIVE_INVENTORY, passive Eigenschaft; zeigt an, dass das
- Objekt empfindlich auf aktive Objekte reagiert, die in das
- Inventory des Containers hineinbewegt werden
- 2) SENSITIVE_ATTACK, passive Eigenschaft; zeigt an, dass das
- Objekt empfindlich auf aeussere Einfluesse bzw. Angriffe
- auf ein Lebewesen reagiert, in dessen Inventar es sich befindet
- 3) SENSITIVE_INVENTORY_TRIGGER, aktive Eigenschaft; zeigt an, dass
- das Objekt eine Ausstrahlung auf andere Objekte im Inventar
- hat. Wird ausgeloest, wenn das Objekt ins Inventar hineinbewegt
- wird.
- damtype: eine Schadensart (DT_FIRE, DT_WATER, ...)
- treshold: hat zwei Bedeutungen abhaengig von dem Wert in list_key:
- 1) Fuer Objekte mit SENSITIVE_INVENTORY oder SENSITIVE_ATTCK ist
- dies der Schadenswert, ab dem das Objekt benachrichtigt werden
- soll.
- Hier wird ein Wert in "Defend-Einheiten" erwartet, d.h. das
- Zehnfache dessen, was am Ende in LP abgezogen wuerde.
- 2) Fuer Objekte mit SENSITIVE_INVENTORY_TRIGGER ist dies der
- Schadenswert, mit dem das Objekt andere bereits im Inventar
- des Containers befindliche Objekte beeinflusst, die eine
- entsprechende Empfindlichkeit gesetzt haben
- options: Optionale Daten, die der programmierende Magier selbst
- definieren kann. Werden an die in den betroffenen Objekten
- aufgerufenen Funktionen durchgereicht.
+ P_SENSITIVE "sensitive"
- Ein SENSITIVE_ATTACK-Objekt, dessen Trigger-Bedingungen erfuellt sind,
- wird durch folgenden Funktionsaufruf darueber informiert:
- trigger_sensitive_attack(object enemy, string damtype, int damage,
- mixed spell, mixed options)
-
- Ein SENSITIVE_INVENTORY-Objekt, dessen Trigger-Bedingungen erfuellt sind,
- wird durch folgenden Funktionsaufruf darueber informiert:
- trigger_sensitive_inv(object whodid, string damtype, int threshold,
- mixed options, mixed options)
- Die beiden Funktionen muessen selbst ge-/ueberschrieben werden.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- 1. P_SENSITIVE-Objekte kosten Rechenzeit bei jedem Angriff oder jedem
- move() - daher bitte sparsam verwenden
- 2. Ist P_SENSITIVE nicht statisch, sondern wird es situationsabhaengig
- geaendert, muss man das environment() jeweils selbst ueber seine
- neue Empfindlichkeit benachrichtigen. Dies geschieht mit den
- Funktionen RemoveSensitiveObject() bzw.InsertSensitiveObject(),
- siehe deren Manpages.
+ /sys/thing/moving.h
-BEISPIEL:
- Beispiel 1:
- Beispielcode eines Objektes mit SENSITIVE_ATTACK und SENSITIVE_INVENTORY
- siehe hier: /doc/beispiele/testobjekte/attack_busy_sensitive_testobj.c
- Beispiel 2:
- Ein Eiszapfen, der bei Feuerangriffen oder bei heissen Gegenstaenden im
- gemeinsamen Environment zerschmelzen soll:
+BESCHREIBUNG
+============
- void create() {
- SetProp( P_SENSITIVE, ({ ({SENSITIVE_ATTACK, DT_FIRE, 100}),
- ({SENSITIVE_INVENTORY, DT_FIRE, 100}) }) );
- [...]
+ Diese Property kann in Objekten gesetzt werden, die auf bestimmte
+ Schadensarten empfindlich reagieren sollen. Moegliche Anwendungsfaelle:
+ - Das Lebewesen, in dessen Inventar sich ein Objekt befindet, erleidet
+ einen Angriff mit der fraglichen Schadensart (Beispiel: eine
+ Pusteblume, die bei Angriff mit Luftschaden auseinanderfaellt).
+ - Zwei Objekte treffen im gleichen Environment aufeinander, wobei
+ eines empfindlich auf eine Schadensart reagiert, und das zweite diese
+ Schadensart mitbringt, d.h. die Empfindlichkeit ausloesen kann.
+ (Beispiel: ein feuerempfindlicher Postsack wird angesengt, wenn eine
+ brennende Fackel ins gleiche Inventar kommt.)
+ Das Ausloesen dieser Empfindlichkeit ist unabhaengig davon, welches
+ Objekt zuerst da war.
+
+ Die Property enthaelt ein Array aus Arrays:
+ ({<sensprops_1>, <sensprops_2>, ..., <sensprops_n>})
+
+
+
+ wobei jeder Eintrag <sensprops> jeweils folgende Struktur hat:
+ ({string list_key, string damtype, int treshold, mixed options })
+
+
+
+ Die Eintraege haben dabei folgende Bedeutung:
+
+
+
+ list_key: Kann einen von folgenden drei Werten annehmen
+ 1) SENSITIVE_INVENTORY, passive Eigenschaft; zeigt an, dass das
+ Objekt empfindlich auf aktive Objekte reagiert, die in das
+ Inventory des Containers hineinbewegt werden
+ 2) SENSITIVE_ATTACK, passive Eigenschaft; zeigt an, dass das
+ Objekt empfindlich auf aeussere Einfluesse bzw. Angriffe
+ auf ein Lebewesen reagiert, in dessen Inventar es sich befindet
+ 3) SENSITIVE_INVENTORY_TRIGGER, aktive Eigenschaft; zeigt an, dass
+ das Objekt eine Ausstrahlung auf andere Objekte im Inventar
+ hat. Wird ausgeloest, wenn das Objekt ins Inventar hineinbewegt
+ wird.
+ damtype: eine Schadensart (DT_FIRE, DT_WATER, ...)
+ treshold: hat zwei Bedeutungen abhaengig von dem Wert in list_key:
+ 1) Fuer Objekte mit SENSITIVE_INVENTORY oder SENSITIVE_ATTCK ist
+ dies der Schadenswert, ab dem das Objekt benachrichtigt werden
+ soll.
+ Hier wird ein Wert in "Defend-Einheiten" erwartet, d.h. das
+ Zehnfache dessen, was am Ende in LP abgezogen wuerde.
+ 2) Fuer Objekte mit SENSITIVE_INVENTORY_TRIGGER ist dies der
+ Schadenswert, mit dem das Objekt andere bereits im Inventar
+ des Containers befindliche Objekte beeinflusst, die eine
+ entsprechende Empfindlichkeit gesetzt haben
+ options: Optionale Daten, die der programmierende Magier selbst
+ definieren kann. Werden an die in den betroffenen Objekten
+ aufgerufenen Funktionen durchgereicht.
+
+ Ein SENSITIVE_ATTACK-Objekt, dessen Trigger-Bedingungen erfuellt sind,
+ wird durch folgenden Funktionsaufruf darueber informiert:
+ trigger_sensitive_attack(object enemy, string damtype, int damage,
+ mixed spell, mixed options)
+
+
+
+ Ein SENSITIVE_INVENTORY-Objekt, dessen Trigger-Bedingungen erfuellt sind,
+ wird durch folgenden Funktionsaufruf darueber informiert:
+ trigger_sensitive_inv(object whodid, string damtype, int threshold,
+ mixed options, mixed options)
+
+ Die beiden Funktionen muessen selbst ge-/ueberschrieben werden.
+
+
+BEMERKUNGEN
+===========
+
+ 1. P_SENSITIVE-Objekte kosten Rechenzeit bei jedem Angriff oder jedem
+ move() - daher bitte sparsam verwenden
+ 2. Ist P_SENSITIVE nicht statisch, sondern wird es situationsabhaengig
+ geaendert, muss man das environment() jeweils selbst ueber seine
+ neue Empfindlichkeit benachrichtigen. Dies geschieht mit den
+ Funktionen RemoveSensitiveObject() bzw.InsertSensitiveObject(),
+ siehe deren Manpages.
+
+
+BEISPIEL
+========
+
+ Beispiel 1:
+ Beispielcode eines Objektes mit SENSITIVE_ATTACK und SENSITIVE_INVENTORY
+ siehe hier: /doc/beispiele/testobjekte/attack_busy_sensitive_testobj.c
+
+ Beispiel 2:
+ Ein Eiszapfen, der bei Feuerangriffen oder bei heissen Gegenstaenden im
+ gemeinsamen Environment zerschmelzen soll:
+
+ void create() {
+ SetProp( P_SENSITIVE, ({ ({SENSITIVE_ATTACK, DT_FIRE, 100}),
+ ({SENSITIVE_INVENTORY, DT_FIRE, 100}) }) );
+ [...]
+ }
+
+ varargs void trigger_sensitive_attack() {
+ remove();
+ }
+
+ varargs void trigger_sensitive_inv() {
+ call_out("remove",0); // verzoegert, wegen move()
+ }
+
+ varargs int remove(int silent) {
+ if(!silent) {
+ object room = all_environment(this_object())[<1];
+ tell_room(room, Name()+" zerschmilzt.\n");
}
+ return ::remove();
+ }
- varargs void trigger_sensitive_attack() {
- remove();
- }
+ - wird eine Fackel mit
+ SetProp(P_SENSITIVE,({({SENSITIVE_INVENTORY_TRIGGER,DT_FIRE,250})}))
+ in das gleiche environment() wie dieser Zapfen bewegt wird, loest
+ diese im Zapfen trigger_sensitive_inv() aus
+ - wird ein Angriff mit DT_FIRE und initialem Schaden > 100 auf das
+ environment() veruebt, loest dies im Zapfen trigger_sensitive_attack()
+ aus
- varargs void trigger_sensitive_inv() {
- call_out("remove",0); // verzoegert, wegen move()
- }
- varargs int remove(int silent) {
- if(!silent) {
- object room = all_environment(this_object())[<1];
- tell_room(room, Name()+" zerschmilzt.\n");
- }
- return ::remove();
- }
+SIEHE AUCH
+==========
- - wird eine Fackel mit
- SetProp(P_SENSITIVE,({({SENSITIVE_INVENTORY_TRIGGER,DT_FIRE,250})}))
- in das gleiche environment() wie dieser Zapfen bewegt wird, loest
- diese im Zapfen trigger_sensitive_inv() aus
- - wird ein Angriff mit DT_FIRE und initialem Schaden > 100 auf das
- environment() veruebt, loest dies im Zapfen trigger_sensitive_attack()
- aus
-
-SIEHE AUCH:
- Properties: P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY,
- P_SENSITIVE_INVENTORY_TRIGGER
- Funktionen: InsertSensitiveObject(L), RemoveSensitiveObject(L),
- CheckSensitiveAttack(L), Defend(),
- insert_sensitive_inv(L), insert_sensitive_inv_trigger(L),
- trigger_sensitive_inv(L), trigger_sensitive_attack(L)
- Defines: /sys/sensitive.h
+ Properties: P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY,
+ P_SENSITIVE_INVENTORY_TRIGGER
+ Funktionen: InsertSensitiveObject(L), RemoveSensitiveObject(L),
+ CheckSensitiveAttack(L), Defend(),
+ insert_sensitive_inv(L), insert_sensitive_inv_trigger(L),
+ trigger_sensitive_inv(L), trigger_sensitive_attack(L)
+ Defines: /sys/sensitive.h
Letzte Aenderung: 10. Januar 2015, Arathorn
diff --git a/doc/props/P_SENSITIVE_ATTACK b/doc/props/P_SENSITIVE_ATTACK
index b1586eb..168c15b 100644
--- a/doc/props/P_SENSITIVE_ATTACK
+++ b/doc/props/P_SENSITIVE_ATTACK
@@ -1,24 +1,42 @@
+
P_SENSITIVE_ATTACK
-NAME:
- P_SENSITIVE_ATTACK "sensitive_attack"
+******************
-DEFINIERT IN:
- /sys/sensitive.h
-BESCHREIBUNG:
- Hier steht die Liste der zu informierenden Objekte, die potentiell
- auf einen Angriff reagieren koennten.
- Wird von InsertSensitiveObject() und RemoveSensitiveObject()
- geschrieben und in CheckSensitiveAttack() ausgewertet.
+NAME
+====
-BEMERKUNGEN:
- Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+ P_SENSITIVE_ATTACK "sensitive_attack"
-SIEHE AUCH:
- P_SENSITIVE
- InsertSensitiveObject, RemoveSensitiveObject
- insert_sensitive_inv_trigger, insert_sensitive_inv
- P_SENSITIVE_INVENTORY_TRIGGER, P_SENSITIVE_INVENTORY
- CheckSensitiveAttack
+
+DEFINIERT IN
+============
+
+ /sys/sensitive.h
+
+
+BESCHREIBUNG
+============
+
+ Hier steht die Liste der zu informierenden Objekte, die potentiell
+ auf einen Angriff reagieren koennten.
+ Wird von InsertSensitiveObject() und RemoveSensitiveObject()
+ geschrieben und in CheckSensitiveAttack() ausgewertet.
+
+
+BEMERKUNGEN
+===========
+
+ Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+
+
+SIEHE AUCH
+==========
+
+ P_SENSITIVE
+ InsertSensitiveObject, RemoveSensitiveObject
+ insert_sensitive_inv_trigger, insert_sensitive_inv
+ P_SENSITIVE_INVENTORY_TRIGGER, P_SENSITIVE_INVENTORY
+ CheckSensitiveAttack
25.Apr.2001, Gloinson@MG
diff --git a/doc/props/P_SENSITIVE_INVENTORY b/doc/props/P_SENSITIVE_INVENTORY
index 1e75423..418f9a1 100644
--- a/doc/props/P_SENSITIVE_INVENTORY
+++ b/doc/props/P_SENSITIVE_INVENTORY
@@ -1,24 +1,43 @@
-NAME:
- P_SENSITIVE_INVENTORY "sensitive_inv"
-DEFINIERT IN:
- /sys/sensitive.h
+P_SENSITIVE_INVENTORY
+*********************
-BESCHREIBUNG:
- Hier steht die Liste der zu informierenden Objekte, die potentiell
- auf ein anderes Objekt mit gesetztem P_SENSITIVE_INVENTORY_TRIGGER
- reagieren koennten.
- Wird von InsertSensitiveObject() und RemoveSensitiveObject()
- geschrieben.
-BEMERKUNGEN:
- Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+NAME
+====
-SIEHE AUCH:
- P_SENSITIVE
- InsertSensitiveObject, RemoveSensitiveObject
- insert_sensitive_inv_trigger, insert_sensitive_inv
- P_SENSITIVE_INVENTORY_TRIGGER, P_SENSITIVE_ATTACK
- CheckSensitiveAttack
+ P_SENSITIVE_INVENTORY "sensitive_inv"
+
+
+DEFINIERT IN
+============
+
+ /sys/sensitive.h
+
+
+BESCHREIBUNG
+============
+
+ Hier steht die Liste der zu informierenden Objekte, die potentiell
+ auf ein anderes Objekt mit gesetztem P_SENSITIVE_INVENTORY_TRIGGER
+ reagieren koennten.
+ Wird von InsertSensitiveObject() und RemoveSensitiveObject()
+ geschrieben.
+
+
+BEMERKUNGEN
+===========
+
+ Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+
+
+SIEHE AUCH
+==========
+
+ P_SENSITIVE
+ InsertSensitiveObject, RemoveSensitiveObject
+ insert_sensitive_inv_trigger, insert_sensitive_inv
+ P_SENSITIVE_INVENTORY_TRIGGER, P_SENSITIVE_ATTACK
+ CheckSensitiveAttack
25.Apr.2001, Gloinson@MG
diff --git a/doc/props/P_SENSITIVE_INVENTORY_TRIGGER b/doc/props/P_SENSITIVE_INVENTORY_TRIGGER
index df6feae..627a582 100644
--- a/doc/props/P_SENSITIVE_INVENTORY_TRIGGER
+++ b/doc/props/P_SENSITIVE_INVENTORY_TRIGGER
@@ -1,24 +1,42 @@
+
P_SENSITIVE_INVENTORY_TRIGGER
-NAME:
- P_SENSITIVE_INVENTORY_TRIGGER "sensitive_inv_trigger"
+*****************************
-DEFINIERT IN:
- /sys/sensitive.h
-BESCHREIBUNG:
- Hier steht die Liste der aktiven Objekte, die eine potentielle
- "Ausstrahlung" auf andere Objekte haben.
- Wird von InsertSensitiveObject() und RemoveSensitiveObject()
- geschrieben.
+NAME
+====
-BEMERKUNGEN:
- Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+ P_SENSITIVE_INVENTORY_TRIGGER "sensitive_inv_trigger"
-SIEHE AUCH:
- P_SENSITIVE
- InsertSensitiveObject, RemoveSensitiveObject
- insert_sensitive_inv_trigger, insert_sensitive_inv
- P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY
- CheckSensitiveAttack
+
+DEFINIERT IN
+============
+
+ /sys/sensitive.h
+
+
+BESCHREIBUNG
+============
+
+ Hier steht die Liste der aktiven Objekte, die eine potentielle
+ "Ausstrahlung" auf andere Objekte haben.
+ Wird von InsertSensitiveObject() und RemoveSensitiveObject()
+ geschrieben.
+
+
+BEMERKUNGEN
+===========
+
+ Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+
+
+SIEHE AUCH
+==========
+
+ P_SENSITIVE
+ InsertSensitiveObject, RemoveSensitiveObject
+ insert_sensitive_inv_trigger, insert_sensitive_inv
+ P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY
+ CheckSensitiveAttack
25.Apr.2001, Gloinson@MG
diff --git a/doc/props/P_SHOOTING_AREA b/doc/props/P_SHOOTING_AREA
index 770564f..9339847 100644
--- a/doc/props/P_SHOOTING_AREA
+++ b/doc/props/P_SHOOTING_AREA
@@ -1,24 +1,38 @@
+
P_SHOOTING_AREA
+***************
-NAME:
- P_SHOOTING_AREA "shooting_area"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Legt die 'Groesse' eines Raumes fest. Ein Schuetze kann mit seiner
- Fernkampfwaffe nur dann aus diesem Raum in einen anderen Raum schiessen,
- wenn die P_RANGE seiner Waffe mindestens gleich ist.
+ P_SHOOTING_AREA "shooting_area"
- Erreichbare Raeume sind entweder das environment() oder der in
- P_SHOOTING_AREA festgelegte Raum.
-SIEHE AUCH:
- Generell: P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
- Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
- Gebiet: P_RANGE, P_TARGET_AREA
- Raeume: P_NEVER_CLEAN
- Sonstiges: fernwaffen
+DEFINIERT IN
+============
-29.Jul 2014 Gloinson
\ No newline at end of file
+ <combat.h>
+
+
+BESCHREIBUNG
+============
+
+ Legt die 'Groesse' eines Raumes fest. Ein Schuetze kann mit seiner
+ Fernkampfwaffe nur dann aus diesem Raum in einen anderen Raum schiessen,
+ wenn die P_RANGE seiner Waffe mindestens gleich ist.
+
+ Erreichbare Raeume sind entweder das environment() oder der in
+ P_SHOOTING_AREA festgelegte Raum.
+
+
+SIEHE AUCH
+==========
+
+ Generell: P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
+ Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+ Gebiet: P_RANGE, P_TARGET_AREA
+ Raeume: P_NEVER_CLEAN
+ Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_SHOOTING_WC b/doc/props/P_SHOOTING_WC
index 35ca215..6345d76 100644
--- a/doc/props/P_SHOOTING_WC
+++ b/doc/props/P_SHOOTING_WC
@@ -1,31 +1,48 @@
+
P_SHOOTING_WC
+*************
-NAME:
- P_SHOOTING_WC "shooting_wc"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Legt in einer Fernkampfwaffe UND ihrer Munition die Waffenstaerke fest.
- Bei einem Schuss wird die Summe kombiniert mit der Geschicklichkeit
- zur Berechnung der Angriffstaerke benutzt.
+ P_SHOOTING_WC "shooting_wc"
-BEISPIELE:
- SetProp(P_SHOOTING_WC, 70); // Langbogen
- SetProp(P_SHOOTING_WC, 50); // Kurzbogen
- SetProp(P_SHOOTING_WC, 40); // Bambuspfeil
- SetProp(P_SHOOTING_WC, 60); // Aluminiumpfeil
+DEFINIERT IN
+============
- // So haetten Langbogen mit Aluminiumpfeil eine P_SHOOTING_WC von 70+60.
+ <combat.h>
-SIEHE AUCH:
- Generell: P_AMMUNITION, P_STRETCH_TIME
- Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
- Gebiet: P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
- Waffen: P_WEAPON_TYPE, P_WC, P_EQUIP_TIME, P_NR_HANDS
- Kampf: Attack(L), Defend(L), P_DISABLE_ATTACK, P_ATTACK_BUSY
- Sonstiges: fernwaffen
-29.Jul 2014 Gloinson
\ No newline at end of file
+BESCHREIBUNG
+============
+
+ Legt in einer Fernkampfwaffe UND ihrer Munition die Waffenstaerke fest.
+ Bei einem Schuss wird die Summe kombiniert mit der Geschicklichkeit
+ zur Berechnung der Angriffstaerke benutzt.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_SHOOTING_WC, 70); // Langbogen
+ SetProp(P_SHOOTING_WC, 50); // Kurzbogen
+
+ SetProp(P_SHOOTING_WC, 40); // Bambuspfeil
+ SetProp(P_SHOOTING_WC, 60); // Aluminiumpfeil
+
+ // So haetten Langbogen mit Aluminiumpfeil eine P_SHOOTING_WC von 70+60.
+
+
+SIEHE AUCH
+==========
+
+ Generell: P_AMMUNITION, P_STRETCH_TIME
+ Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+ Gebiet: P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
+ Waffen: P_WEAPON_TYPE, P_WC, P_EQUIP_TIME, P_NR_HANDS
+ Kampf: Attack(L), Defend(L), P_DISABLE_ATTACK, P_ATTACK_BUSY
+ Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_SHORT b/doc/props/P_SHORT
index b6502d4..49b2603 100644
--- a/doc/props/P_SHORT
+++ b/doc/props/P_SHORT
@@ -1,41 +1,60 @@
+
P_SHORT
-NAME:
- P_SHORT "short"
+*******
-DEFINIERT IN:
- /sys/thing/description.h
-BESCHREIBUNG:
- Diese Property enthaelt die Kurzbeschreibung des Objektes als String
- oder Closure (diese muss einen String zurueckgeben).
+NAME
+====
- ACHTUNG: Die Kurzbeschreibung sollte dabei weder mit einem
- Satzzeichen noch mit einem "\n" abgeschlossen sein
- (dies wird von den zustaendigen Funktionen erledigt).
+ P_SHORT "short"
- Setzt man diese Property auf 0, so ist das Objekt unsichtbar, allerdings
- ansprechbar, wenn der Spieler eine ID des Objektes kennt. D.h. Objekte
- koennen mitgenommen, weggeworfen oder ggf. auch angegriffen werden. Will
- man dies nicht, sollte man das Objekt mit P_INVIS unsichtbar machen.
- Diese Property bestimmt die Ansicht des Objektes von aussen. Fuer die
- Innen(kurz)ansicht von Raeumen muss man P_INT_LONG benutzen.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- Die Funktion, die die Kurzbeschreibung ausgibt (short()), filtert P_SHORT
- durch process_string(). Von der Nutzung dieses Features wird in neuem
- Code abgeraten.
- Soll eine dyn. Kurzbeschreibung geschaffen werden, bitte eine
- F_QUERY_METHOD einsetzen oder short() passend ueberschreiben.
+ /sys/thing/description.h
-BEISPIELE:
- // eine Axt sieht natuerlich so aus:
- SetProp(P_SHORT, "Eine Axt");
-SIEHE AUCH:
- Aehnliches: P_LONG, short()
- Sonstiges: P_INT_SHORT, process_string()
+BESCHREIBUNG
+============
-----------------------------------------------------------------------------
+ Diese Property enthaelt die Kurzbeschreibung des Objektes als String
+ oder Closure (diese muss einen String zurueckgeben).
+
+ ACHTUNG: Die Kurzbeschreibung sollte dabei weder mit einem
+ Satzzeichen noch mit einem "\n" abgeschlossen sein
+ (dies wird von den zustaendigen Funktionen erledigt).
+
+ Setzt man diese Property auf 0, so ist das Objekt unsichtbar, allerdings
+ ansprechbar, wenn der Spieler eine ID des Objektes kennt. D.h. Objekte
+ koennen mitgenommen, weggeworfen oder ggf. auch angegriffen werden. Will
+ man dies nicht, sollte man das Objekt mit P_INVIS unsichtbar machen.
+
+ Diese Property bestimmt die Ansicht des Objektes von aussen. Fuer die
+ Innen(kurz)ansicht von Raeumen muss man P_INT_LONG benutzen.
+
+
+BEMERKUNGEN
+===========
+
+ Die Funktion, die die Kurzbeschreibung ausgibt (short()), filtert P_SHORT
+ durch process_string(). Von der Nutzung dieses Features wird in neuem
+ Code abgeraten.
+ Soll eine dyn. Kurzbeschreibung geschaffen werden, bitte eine
+ F_QUERY_METHOD einsetzen oder short() passend ueberschreiben.
+
+
+BEISPIELE
+=========
+
+ // eine Axt sieht natuerlich so aus:
+ SetProp(P_SHORT, "Eine Axt");
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_LONG, short()
+ Sonstiges: P_INT_SHORT, process_string()
+
27.05.2015, Zesstra
-
diff --git a/doc/props/P_SHORT_CWD b/doc/props/P_SHORT_CWD
index a6343ae..46f0236 100644
--- a/doc/props/P_SHORT_CWD
+++ b/doc/props/P_SHORT_CWD
@@ -1,8 +1,21 @@
-NAME:
- P_SHORT_CWD "short_cwd"
-DEFINIERT IN:
- /sys/shells.h
+P_SHORT_CWD
+***********
-BESCHREIBUNG:
- .readme bei cd ausgeben oder nicht
+
+NAME
+====
+
+ P_SHORT_CWD "short_cwd"
+
+
+DEFINIERT IN
+============
+
+ /sys/shells.h
+
+
+BESCHREIBUNG
+============
+
+ .readme bei cd ausgeben oder nicht
diff --git a/doc/props/P_SHOWEMAIL b/doc/props/P_SHOWEMAIL
index 82d1348..b6cf580 100644
--- a/doc/props/P_SHOWEMAIL
+++ b/doc/props/P_SHOWEMAIL
@@ -1,10 +1,23 @@
-NAME:
- P_SHOWEMAIL "showemail"
-DEFINIERT IN:
- /sys/player/base.h
+P_SHOWEMAIL
+***********
-BESCHREIBUNG:
- Eintrag, wer die E-Mail im "finger" zu sehen bekommen soll:
- 0, "alle", "freunde"
- Kann durch "emailanzeige" (/std/player/base.c) geaendert werden.
+
+NAME
+====
+
+ P_SHOWEMAIL "showemail"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Eintrag, wer die E-Mail im "finger" zu sehen bekommen soll:
+ 0, "alle", "freunde"
+ Kann durch "emailanzeige" (/std/player/base.c) geaendert werden.
diff --git a/doc/props/P_SHOW_ALIAS_PROCESSING b/doc/props/P_SHOW_ALIAS_PROCESSING
index cb49cf8..94552dd 100644
--- a/doc/props/P_SHOW_ALIAS_PROCESSING
+++ b/doc/props/P_SHOW_ALIAS_PROCESSING
@@ -1,8 +1,21 @@
-NAME:
- P_SHOW_ALIAS_PROCESSING "show_alias_processing"
-DEFINIERT IN:
- /sys/player.h
+P_SHOW_ALIAS_PROCESSING
+***********************
-BESCHREIBUNG:
- Arbeit des Parsers beobachten (debugging)
+
+NAME
+====
+
+ P_SHOW_ALIAS_PROCESSING "show_alias_processing"
+
+
+DEFINIERT IN
+============
+
+ /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+ Arbeit des Parsers beobachten (debugging)
diff --git a/doc/props/P_SHOW_EXITS b/doc/props/P_SHOW_EXITS
index 9c8d87b..0e00886 100644
--- a/doc/props/P_SHOW_EXITS
+++ b/doc/props/P_SHOW_EXITS
@@ -1,15 +1,31 @@
-NAME:
- P_SHOW_EXITS "show_exits"
-DEFINIERT IN:
- /sys/player/base.h
+P_SHOW_EXITS
+************
-BESCHREIBUNG:
- Im Spieler gesetzt, wenn der Spieler die offensichtlichen Ausgaenge
- immer automatisch sehen will.
-SIEHE AUCH:
- Aehnliches: P_HIDE_EXITS
- Sonstiges: AddExit(), GetExits(), int_long(), int_short()
+NAME
+====
-11. Mai 2004 Gloinson
\ No newline at end of file
+ P_SHOW_EXITS "show_exits"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Im Spieler gesetzt, wenn der Spieler die offensichtlichen Ausgaenge
+ immer automatisch sehen will.
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_HIDE_EXITS
+ Sonstiges: AddExit(), GetExits(), int_long(), int_short()
+
+11. Mai 2004 Gloinson
diff --git a/doc/props/P_SHOW_INV b/doc/props/P_SHOW_INV
index 73a2ffe..e982154 100644
--- a/doc/props/P_SHOW_INV
+++ b/doc/props/P_SHOW_INV
@@ -1,19 +1,32 @@
+
P_SHOW_INV
+**********
-NAME:
- P_SHOW_INV "show_inv"
-DEFINIERT IN:
- <thing/description.h>
+NAME
+====
-BESCHREIBUNG:
- Wenn diese Property auf einen Wert ungleich 0 gesetzt ist, wird das
- Objekt, soweit es sich in einem Spieler befindet, in dessen
- Langbeschreibung angezeigt. Zur Anzeige wird der Name des Objektes
- verwendet.
+ P_SHOW_INV "show_inv"
-SIEHE AUCH:
- /std/thing/description.c
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ <thing/description.h>
+
+
+BESCHREIBUNG
+============
+
+ Wenn diese Property auf einen Wert ungleich 0 gesetzt ist, wird das
+ Objekt, soweit es sich in einem Spieler befindet, in dessen
+ Langbeschreibung angezeigt. Zur Anzeige wird der Name des Objektes
+ verwendet.
+
+
+SIEHE AUCH
+==========
+
+ /std/thing/description.c
+
Last modified: Sun May 19 20:36:05 1996 by Wargon
diff --git a/doc/props/P_SHOW_MSG b/doc/props/P_SHOW_MSG
index 8841154..c19c49f 100644
--- a/doc/props/P_SHOW_MSG
+++ b/doc/props/P_SHOW_MSG
@@ -1,51 +1,69 @@
+
P_SHOW_MSG
-NAME:
- P_SHOW_MSG "show_message"
+**********
-DEFINIERT IN:
- /sys/living/put_and_get.h
-BESCHREIBUNG:
- Mit P_SHOW_MSG kann man die Meldungen, die beim Vorzeigen eines Objektes
- ausgegeben werden, modifizieren.
+NAME
+====
- Folgende Werte sind moeglich:
+ P_SHOW_MSG "show_message"
- o 0
- Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
- o NO_PNG_MSG == -1
- Es wird keinerlei Meldung ausgegeben
+DEFINIERT IN
+============
- o Ein Array aus Strings
- Der erste String wird an den Spieler ausgegeben, der zweite
- (optionale) an den Raum, der dritte (ebenfalls optionale) an den
- Empfaenger.
+ /sys/living/put_and_get.h
- Die Strings werden durch die Funktion replace_personal() geparst.
- Objekt1 - Spieler
- Objekt2 - das Objekt, das uebergeben wird
- Objekt3 - Empfaenger
- Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
- Raum. Beim Fehlen des dritten gibt es keine Meldung an den Empfaenger.
+BESCHREIBUNG
+============
-BEISPIEL:
- SetProp(P_SHOW_MSG, ({
- "Du haeltst @WEM3 @WEN2 unter die Nase.",
- "@WER1 haelt @WEM3 @WENU2 unter die Nase.",
- "@WER1 haelt Dir @WENU2 unter die Nase."
- }));
+ Mit P_SHOW_MSG kann man die Meldungen, die beim Vorzeigen eines Objektes
+ ausgegeben werden, modifizieren.
- Das fuehrt bei Ugars "zeig peter medaille" zu folgenden Meldungen:
+ Folgende Werte sind moeglich:
- Ugar: "Du haeltst Peter die Medaille unter die Nase."
- Raum: "Ugar haelt Peter eine Medaille unter die Nase."
- Peter: "Ugar haelt Dir eine Medaille unter die Nase."
+ o 0
+ Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
-SIEHE AUCH:
- Aehnliches: P_DROP_MSG, P_PUT_MSG, P_PICK_MSG, P_GIVE_MSG
- Sonstiges: replace_personal(E), show(L), show_objects(L),
- show_notify(L), /std/living/put_and_get.c
+ o NO_PNG_MSG == -1
+ Es wird keinerlei Meldung ausgegeben
+
+ o Ein Array aus Strings
+ Der erste String wird an den Spieler ausgegeben, der zweite
+ (optionale) an den Raum, der dritte (ebenfalls optionale) an den
+ Empfaenger.
+
+ Die Strings werden durch die Funktion replace_personal() geparst.
+ Objekt1 - Spieler
+ Objekt2 - das Objekt, das uebergeben wird
+ Objekt3 - Empfaenger
+
+ Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
+ Raum. Beim Fehlen des dritten gibt es keine Meldung an den Empfaenger.
+
+
+BEISPIEL
+========
+
+ SetProp(P_SHOW_MSG, ({
+ "Du haeltst @WEM3 @WEN2 unter die Nase.",
+ "@WER1 haelt @WEM3 @WENU2 unter die Nase.",
+ "@WER1 haelt Dir @WENU2 unter die Nase."
+ }));
+
+ Das fuehrt bei Ugars "zeig peter medaille" zu folgenden Meldungen:
+
+ Ugar: "Du haeltst Peter die Medaille unter die Nase."
+ Raum: "Ugar haelt Peter eine Medaille unter die Nase."
+ Peter: "Ugar haelt Dir eine Medaille unter die Nase."
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_DROP_MSG, P_PUT_MSG, P_PICK_MSG, P_GIVE_MSG
+ Sonstiges: replace_personal(E), show(L), show_objects(L),
+ show_notify(L), /std/living/put_and_get.c
3. Juni 2008 Amynthor
diff --git a/doc/props/P_SIBLINGS b/doc/props/P_SIBLINGS
index 15d0977..6e18f0c 100644
--- a/doc/props/P_SIBLINGS
+++ b/doc/props/P_SIBLINGS
@@ -1,9 +1,22 @@
-NAME:
- P_SIBLINGS "siblings"
-DEFINIERT IN:
- /sys/player/base.h
+P_SIBLINGS
+**********
-BESCHREIBUNG:
- Enthaelt einen String mit den Blutsbruedern eines Spielers
- (sofern vorhanden).
+
+NAME
+====
+
+ P_SIBLINGS "siblings"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt einen String mit den Blutsbruedern eines Spielers
+ (sofern vorhanden).
diff --git a/doc/props/P_SIZE b/doc/props/P_SIZE
index b5fdb72..aa311f3 100644
--- a/doc/props/P_SIZE
+++ b/doc/props/P_SIZE
@@ -1,31 +1,50 @@
-NAME:
- P_SIZE "size"
-DEFINIERT IN:
- /sys/properties.h
+P_SIZE
+******
-BESCHREIBUNG:
- Groesse des Lebewesens bzw. Laenge der Waffe (in cm).
- Wird keine Waffenlaenge explizit angegeben, so sind die Defaultwerte
- fuer die entsprechenden Waffentypen folgende:
+NAME
+====
- WT_SWORD : 100
- WT_AXE : 80
- WT_CLUB : 80
- WT_SPEAR : 180
- WT_KNIFE : 20
- WT_WHIP : 200
- WT_STAFF : 150
+ P_SIZE "size"
-BEMERKUNGEN:
- 1. Uebertreibt es bitte mit der Groesse nicht, auch sehr grosse NPCs
- sollten nicht ueber 1000000 liegen. Sonst kriegt die Karategilde
- Probleme.
- 2. Negative Werte fuer P_SIZE sind nicht moeglich, da dies zum einen
- voellig unsinnig ist und zum anderen evtl. zu Problemen mit Waffen
- fuehrt, die Schaden in Abhaengigkeit von P_SIZE machen und sich
- darauf verlassen, dass nur positive Werte vorkommen.
-LETZTE AENDERUNG:
- 2006-09-29, von Zesstra
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Groesse des Lebewesens bzw. Laenge der Waffe (in cm).
+
+ Wird keine Waffenlaenge explizit angegeben, so sind die Defaultwerte
+ fuer die entsprechenden Waffentypen folgende:
+
+ WT_SWORD : 100
+ WT_AXE : 80
+ WT_CLUB : 80
+ WT_SPEAR : 180
+ WT_KNIFE : 20
+ WT_WHIP : 200
+ WT_STAFF : 150
+
+
+BEMERKUNGEN
+===========
+
+ 1. Uebertreibt es bitte mit der Groesse nicht, auch sehr grosse NPCs
+ sollten nicht ueber 1000000 liegen. Sonst kriegt die Karategilde
+ Probleme.
+ 2. Negative Werte fuer P_SIZE sind nicht moeglich, da dies zum einen
+ voellig unsinnig ist und zum anderen evtl. zu Problemen mit Waffen
+ fuehrt, die Schaden in Abhaengigkeit von P_SIZE machen und sich
+ darauf verlassen, dass nur positive Werte vorkommen.
+
+
+LETZTE AENDERUNG
+================
+
+ 2006-09-29, von Zesstra
diff --git a/doc/props/P_SKILLS b/doc/props/P_SKILLS
index 02a76c7..492cbbe 100644
--- a/doc/props/P_SKILLS
+++ b/doc/props/P_SKILLS
@@ -1,15 +1,30 @@
-NAME:
- P_SKILLS "skills"
-DEFINIERT IN:
- /sys/player/skills.h
+P_SKILLS
+********
-BESCHREIBUNG:
- Diese Property sollte nicht mehr verwendet werden. Sie wurde
- vollstaendig durch P_NEWSKILLS ersetzt.
-SIEHE AUCH:
- P_NEW_SKILLS
+NAME
+====
-----------------------------------------------------------------------------
+ P_SKILLS "skills"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property sollte nicht mehr verwendet werden. Sie wurde
+ vollstaendig durch P_NEWSKILLS ersetzt.
+
+
+SIEHE AUCH
+==========
+
+ P_NEW_SKILLS
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_SKILL_ATTRIBUTES b/doc/props/P_SKILL_ATTRIBUTES
index 6eb5b97..066bd78 100644
--- a/doc/props/P_SKILL_ATTRIBUTES
+++ b/doc/props/P_SKILL_ATTRIBUTES
@@ -1,50 +1,69 @@
-NAME:
- P_SKILL_ATTRIBUTES "skill_attr"
-DEFINIERT IN:
- /sys/living/skill_attributes.h
+P_SKILL_ATTRIBUTES
+******************
-BESCHREIBUNG:
- In dieser Prop stehen alle nicht-permanenten Modifikatoren der
- Skill-Attribute.
- Die Datenstruktur ist ein Mapping mit den SA-Namen als Schluessel und
- jeweils drei Werten pro Schluessel.
- Der erste Wert ist ein Array mit drei Werten: der Summe der stat.
- Modifier, dem Zeitpunkt an dem dies Summe ungueltig wird und der
- Gesamtzahl aktiver Modifikatoren.
- Der zweite Wert enthaelt ein Mapping mit allen statischen Modifikatoren
- und den Objekten dieser Mods als Schluessel. Die beiden Werte dieses
- Mappings sind der Wert des Modifikators (int) und die Ablaufzeit (int).
- Der dritte Wert enthaelt ein Mapping mit allen dynamischen
- Modifikatoren und den Objekten dieser Mods als Schluessel. Die beiden
- Werte dieses Mappings sind die zu rufende Closure (closure) und die
- Ablaufzeit des Mods (int).
- ([ SA_ATTR: ({Summe_Stat_Modifier, Zeitpunkt, AnzahlModifier, });
- ([ ob1:value;duration,
- ob2:value;duration, ...]); // stat. Modifier
- ([ ob1:closure;duration,
- ob2:closure;duration, ...]) // dyn. Modifier
- ,
- SA_ATTR2: ({...}); ([]); ([]),
- SA_ATTR3: ({...}); ([]); ([]),
- ])
+NAME
+====
-BEMERKUNGEN:
- Diese Property darf AUF GAR KEINEN FALL per Hand manipuliert werden,
- dafuer gibt es die Funktionen ModifySkillAttribute() und
- RemoveSkillAttributeModifier().
- Zum Auslesen stehen QuerySkillAttribute() und
- QuerySkillAttributeModifier() zur Verfuegung.
+ P_SKILL_ATTRIBUTES "skill_attr"
-SIEHE AUCH:
- Skills Lernen: LearnSkill, ModifySkill, LimitAbility
- * Nutzung: UseSpell, UseSkill
- * Abfragen: QuerySkill, QuerySkillAbility
- * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
- QuerySkillAttributeModifier, RemoveSkillAttributeModifier
- * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
- * sonstig: spruchermuedung, skill_info_liste
- * Properties: P_NEWSKILLS
-13.09.2008, Zesstra
\ No newline at end of file
+DEFINIERT IN
+============
+
+ /sys/living/skill_attributes.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Prop stehen alle nicht-permanenten Modifikatoren der
+ Skill-Attribute.
+ Die Datenstruktur ist ein Mapping mit den SA-Namen als Schluessel und
+ jeweils drei Werten pro Schluessel.
+ Der erste Wert ist ein Array mit drei Werten: der Summe der stat.
+ Modifier, dem Zeitpunkt an dem dies Summe ungueltig wird und der
+ Gesamtzahl aktiver Modifikatoren.
+ Der zweite Wert enthaelt ein Mapping mit allen statischen Modifikatoren
+ und den Objekten dieser Mods als Schluessel. Die beiden Werte dieses
+ Mappings sind der Wert des Modifikators (int) und die Ablaufzeit (int).
+ Der dritte Wert enthaelt ein Mapping mit allen dynamischen
+ Modifikatoren und den Objekten dieser Mods als Schluessel. Die beiden
+ Werte dieses Mappings sind die zu rufende Closure (closure) und die
+ Ablaufzeit des Mods (int).
+
+ ([ SA_ATTR: ({Summe_Stat_Modifier, Zeitpunkt, AnzahlModifier, });
+ ([ ob1:value;duration,
+ ob2:value;duration, ...]); // stat. Modifier
+ ([ ob1:closure;duration,
+ ob2:closure;duration, ...]) // dyn. Modifier
+ ,
+ SA_ATTR2: ({...}); ([]); ([]),
+ SA_ATTR3: ({...}); ([]); ([]),
+ ])
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property darf AUF GAR KEINEN FALL per Hand manipuliert werden,
+ dafuer gibt es die Funktionen ModifySkillAttribute() und
+ RemoveSkillAttributeModifier().
+ Zum Auslesen stehen QuerySkillAttribute() und
+ QuerySkillAttributeModifier() zur Verfuegung.
+
+
+SIEHE AUCH
+==========
+
+ Skills Lernen: LearnSkill, ModifySkill, LimitAbility
+ * Nutzung: UseSpell, UseSkill
+ * Abfragen: QuerySkill, QuerySkillAbility
+ * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
+ QuerySkillAttributeModifier, RemoveSkillAttributeModifier
+ * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
+ * sonstig: spruchermuedung, skill_info_liste
+ * Properties: P_NEWSKILLS
+
+13.09.2008, Zesstra
diff --git a/doc/props/P_SKILL_ATTRIBUTE_OFFSETS b/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
index 2568f76..6bfcad3 100644
--- a/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
+++ b/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
@@ -1,32 +1,49 @@
-NAME:
- P_SKILL_ATTRIBUTE_OFFSETS "skill_attr_offsets"
-DEFINIERT IN:
- /sys/living/skill_attributes.h
+P_SKILL_ATTRIBUTE_OFFSETS
+*************************
-BESHREIBUNG:
- Der Wert der Property ist ein Mapping: ([Attributname: Wert])
- In dieser Property stehen permanente Abweichungen der Skillattribute
- vom Standardwert 100.
+NAME
+====
- Zu den Moeglichen Attributwerten, siehe P_SKILL_ATTRIBUTES.
+ P_SKILL_ATTRIBUTE_OFFSETS "skill_attr_offsets"
- Die Werte duerfen zwischen 10 und 1000 liegen.
-BEMERKUNG:
- Diese Property sollte AUF GAR KEINEN FALL in einem Spieler gesetzt
- werden, ohne Ruecksprachen mit allerhoechsten Stellen!
+DEFINIERT IN
+============
-SIEHE AUCH:
- Skills Lernen: LearnSkill, ModifySkill, LimitAbility
- * Nutzung: UseSpell, UseSkill
- * Abfragen: QuerySkill, QuerySkillAbility
- * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
- QuerySkillAttributeModifier, RemoveSkillAttributeModifier
- * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
- * sonstig: spruchermuedung, skill_info_liste
- * Properties: P_NEWSKILLS
+ /sys/living/skill_attributes.h
+
+
+BESHREIBUNG
+===========
+
+ Der Wert der Property ist ein Mapping: ([Attributname: Wert])
+ In dieser Property stehen permanente Abweichungen der Skillattribute
+ vom Standardwert 100.
+
+ Zu den Moeglichen Attributwerten, siehe P_SKILL_ATTRIBUTES.
+
+ Die Werte duerfen zwischen 10 und 1000 liegen.
+
+
+BEMERKUNG
+=========
+
+ Diese Property sollte AUF GAR KEINEN FALL in einem Spieler gesetzt
+ werden, ohne Ruecksprachen mit allerhoechsten Stellen!
+
+
+SIEHE AUCH
+==========
+
+ Skills Lernen: LearnSkill, ModifySkill, LimitAbility
+ * Nutzung: UseSpell, UseSkill
+ * Abfragen: QuerySkill, QuerySkillAbility
+ * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
+ QuerySkillAttributeModifier, RemoveSkillAttributeModifier
+ * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
+ * sonstig: spruchermuedung, skill_info_liste
+ * Properties: P_NEWSKILLS
31.12.2013, Zesstra
-
diff --git a/doc/props/P_SMELLS b/doc/props/P_SMELLS
index b510ce1..0098bd8 100644
--- a/doc/props/P_SMELLS
+++ b/doc/props/P_SMELLS
@@ -1,24 +1,43 @@
-NAME:
- P_SMELLS "smell_details"
-DEFINIERT IN:
- /sys/thing/description.h
+P_SMELLS
+********
-BESCHREIBUNG:
- Diese Property entspricht dem P_DETAILS fuer Standarddetails,
- nur werden hierin Gerueche gespeichert:
- Diese Property enthaelt ein Mapping, in der Details im Objekt
- definiert werden und Beschreibungen, die ausgegeben werden, wenn man
- sich diese Details anschaut.
-BEMERKUNGEN:
- Man sollte diese Property nicht per Hand veraendern, sondern die
- Funktionen nutzen.
+NAME
+====
-SIEHE AUCH:
- Setzen: AddSmells()
- Loeschen: RemoveSmells()
- Aehnlich: AddDetail(), P_DETAILS
- Sonstiges: GetDetail(), break_string()
+ P_SMELLS "smell_details"
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property entspricht dem P_DETAILS fuer Standarddetails,
+ nur werden hierin Gerueche gespeichert:
+ Diese Property enthaelt ein Mapping, in der Details im Objekt
+ definiert werden und Beschreibungen, die ausgegeben werden, wenn man
+ sich diese Details anschaut.
+
+
+BEMERKUNGEN
+===========
+
+ Man sollte diese Property nicht per Hand veraendern, sondern die
+ Funktionen nutzen.
+
+
+SIEHE AUCH
+==========
+
+ Setzen: AddSmells()
+ Loeschen: RemoveSmells()
+ Aehnlich: AddDetail(), P_DETAILS
+ Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_SNOOPFLAGS b/doc/props/P_SNOOPFLAGS
index 4c47e39..340dde2 100644
--- a/doc/props/P_SNOOPFLAGS
+++ b/doc/props/P_SNOOPFLAGS
@@ -1,8 +1,21 @@
-NAME:
- P_SNOOPFLAGS "snoopflags"
-DEFINIERT IN:
- /sys/snooping.h
+P_SNOOPFLAGS
+************
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_SNOOPFLAGS "snoopflags"
+
+
+DEFINIERT IN
+============
+
+ /sys/snooping.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_SOUNDS b/doc/props/P_SOUNDS
index 9b9a350..520265b 100644
--- a/doc/props/P_SOUNDS
+++ b/doc/props/P_SOUNDS
@@ -1,24 +1,43 @@
-NAME:
- P_SOUNDS "sound_details"
-DEFINIERT IN:
- /sys/thing/description.h
+P_SOUNDS
+********
-BESCHREIBUNG:
- Diese Property entspricht dem P_DETAILS fuer Standarddetails,
- nur werden hierin Gerauesche gespeichert:
- Diese Property enthaelt ein Mapping, in der Details im Objekt
- definiert werden und Beschreibungen, die ausgegeben werden, wenn man
- sich diese Details anschaut.
-BEMERKUNGEN:
- Man sollte diese Property nicht per Hand veraendern, sondern die
- Funktionen nutzen.
+NAME
+====
-SIEHE AUCH:
- Setzen: AddSounds()
- Loeschen: RemoveSounds()
- Aehnlich: AddDetail(), P_DETAILS
- Sonstiges: GetDetail(), break_string()
+ P_SOUNDS "sound_details"
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property entspricht dem P_DETAILS fuer Standarddetails,
+ nur werden hierin Gerauesche gespeichert:
+ Diese Property enthaelt ein Mapping, in der Details im Objekt
+ definiert werden und Beschreibungen, die ausgegeben werden, wenn man
+ sich diese Details anschaut.
+
+
+BEMERKUNGEN
+===========
+
+ Man sollte diese Property nicht per Hand veraendern, sondern die
+ Funktionen nutzen.
+
+
+SIEHE AUCH
+==========
+
+ Setzen: AddSounds()
+ Loeschen: RemoveSounds()
+ Aehnlich: AddDetail(), P_DETAILS
+ Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_SP b/doc/props/P_SP
index 02bab65..fa30cb1 100644
--- a/doc/props/P_SP
+++ b/doc/props/P_SP
@@ -1,23 +1,37 @@
-NAME:
- P_SP "sp"
-DEFINIERT IN:
- /sys/living/life.h
+P_SP
+****
-BESCHREIBUNG:
- - Lebewesen
- Anzahl der Konzentrationspunkte des Wesens.
+NAME
+====
- - Speisen/Kneipen
- Heilwirkung einer Portion der Speise auf die Konzentrationspunkte
- des Konsumenten
+ P_SP "sp"
-SIEHE AUCH:
- Props: P_MAX_SP
- Veraenderung: reduce_spell_points(), restore_spell_points()
- buffer_sp()
- Speisen/Kneipen: std/pub, wiz/food, consume
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ - Lebewesen
+ Anzahl der Konzentrationspunkte des Wesens.
+
+ - Speisen/Kneipen
+ Heilwirkung einer Portion der Speise auf die Konzentrationspunkte
+ des Konsumenten
+
+
+SIEHE AUCH
+==========
+
+ Props: P_MAX_SP
+ Veraenderung: reduce_spell_points(), restore_spell_points()
+ buffer_sp()
+ Speisen/Kneipen: std/pub, wiz/food, consume
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_SPECIAL_DETAILS b/doc/props/P_SPECIAL_DETAILS
index 2eb2123..9b3f63c 100644
--- a/doc/props/P_SPECIAL_DETAILS
+++ b/doc/props/P_SPECIAL_DETAILS
@@ -1,23 +1,42 @@
-NAME:
- P_SPECIAL_DETAILS "special_details"
-DEFINIERT IN:
- /sys/thing/description.h
+P_SPECIAL_DETAILS
+*****************
-BESCHREIBUNG:
- Mapping von Details, die beim Anschauen eine Funktion starten.
-BEMERKUNGEN:
- Dies ist keine "echte" Property. Die Daten werden bei der Abfrage in einer
- Querymethode dynamisch aus P_DETAILS extrahiert. Dementsprechend
- funktioniert es auch nicht, hier eine Query- oder Setmethode von aussen
- drauf zu legen.
+NAME
+====
-SIEHE AUCH:
- Setzen: AddDetail()
- Loeschen: RemoveDetail()
- Daten: P_DETAILS
- Veraltet: AddSpecialDetail(), RemoveSpecialDetail()
- Sonstiges: GetDetail(), break_string()
+ P_SPECIAL_DETAILS "special_details"
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+ Mapping von Details, die beim Anschauen eine Funktion starten.
+
+
+BEMERKUNGEN
+===========
+
+ Dies ist keine "echte" Property. Die Daten werden bei der Abfrage in einer
+ Querymethode dynamisch aus P_DETAILS extrahiert. Dementsprechend
+ funktioniert es auch nicht, hier eine Query- oder Setmethode von aussen
+ drauf zu legen.
+
+
+SIEHE AUCH
+==========
+
+ Setzen: AddDetail()
+ Loeschen: RemoveDetail()
+ Daten: P_DETAILS
+ Veraltet: AddSpecialDetail(), RemoveSpecialDetail()
+ Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_SPECIAL_EXITS b/doc/props/P_SPECIAL_EXITS
index 4672024..3f2a7a5 100644
--- a/doc/props/P_SPECIAL_EXITS
+++ b/doc/props/P_SPECIAL_EXITS
@@ -1,28 +1,51 @@
-NAME:
- P_SPECIAL_EXITS "special_exits"
-DEFINIERT IN:
- /sys/properties.h
+P_SPECIAL_EXITS
+***************
-BESCHREIBUNG:
- Enthaelt ein Mapping (der Breite 2) mit den Ausgaengen, der Funktion,
- die jeweils gerufen wird, wenn der Ausgang benutztwird und einer
- Bewegungsmeldung.
-
- Die Bewegungsmeldung wird bei SpecialExits nicht ausgewertet, sondern
- ist nur aufgrund der gemeinsamen Datenstruktur vorhanden. Im Normalfall
- ist sie 0.
-BEMERKUNG:
- Keine echte Property, wird bei der Abfrage aus P_EXITS erstellt.
-
- Zugriff nur mit den dafuer vorgesehenen Funktionen, nicht aendern!
+NAME
+====
-SIEHE AUCH:
- AddExit(), AddSpecialExit(), GetExits(),
- RemoveExit(), RemoveSpecialExit(),
- GuardExit(),
- H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c
- ausgaenge
+ P_SPECIAL_EXITS "special_exits"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt ein Mapping (der Breite 2) mit den Ausgaengen, der Funktion,
+ die jeweils gerufen wird, wenn der Ausgang benutztwird und einer
+ Bewegungsmeldung.
+
+
+
+ Die Bewegungsmeldung wird bei SpecialExits nicht ausgewertet, sondern
+ ist nur aufgrund der gemeinsamen Datenstruktur vorhanden. Im Normalfall
+ ist sie 0.
+
+
+BEMERKUNG
+=========
+
+ Keine echte Property, wird bei der Abfrage aus P_EXITS erstellt.
+
+
+
+ Zugriff nur mit den dafuer vorgesehenen Funktionen, nicht aendern!
+
+
+SIEHE AUCH
+==========
+
+ AddExit(), AddSpecialExit(), GetExits(),
+ RemoveExit(), RemoveSpecialExit(),
+ GuardExit(),
+ H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c
+ ausgaenge
Letzte Aenderung: 22.12.2016, Bugfix
diff --git a/doc/props/P_SPELLRATE b/doc/props/P_SPELLRATE
index 1672a33..1a3e5a2 100644
--- a/doc/props/P_SPELLRATE
+++ b/doc/props/P_SPELLRATE
@@ -1,8 +1,21 @@
-NAME:
- P_SPELLRATE "spellrate"
-DEFINIERT IN:
- /sys/properties.h
+P_SPELLRATE
+***********
-BESCHREIBUNG:
- NPC-Spellrate (in %)
+
+NAME
+====
+
+ P_SPELLRATE "spellrate"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ NPC-Spellrate (in %)
diff --git a/doc/props/P_SPELLS b/doc/props/P_SPELLS
index 17112fb..647daf4 100644
--- a/doc/props/P_SPELLS
+++ b/doc/props/P_SPELLS
@@ -1,8 +1,21 @@
-NAME:
- P_SPELLS "spells"
-DEFINIERT IN:
- /sys/properties.h
+P_SPELLS
+********
-BESCHREIBUNG:
- NPC-Spells
+
+NAME
+====
+
+ P_SPELLS "spells"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ NPC-Spells
diff --git a/doc/props/P_SP_DELAY b/doc/props/P_SP_DELAY
index 84f6372..aa74360 100644
--- a/doc/props/P_SP_DELAY
+++ b/doc/props/P_SP_DELAY
@@ -1,10 +1,23 @@
-NAME:
- P_SP_DELAY "sp_delay"
-DEFINIERT IN:
- /sys/living/life.h
+P_SP_DELAY
+**********
-BESCHREIBUNG:
- Anzahl der heart_beats, bis die Magiepunkte um einen Punkt steigen.
- Aenderungen dieser Property in Spielern beduerfen der
- Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+ P_SP_DELAY "sp_delay"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der heart_beats, bis die Magiepunkte um einen Punkt steigen.
+ Aenderungen dieser Property in Spielern beduerfen der
+ Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_START_HOME b/doc/props/P_START_HOME
index 25fff2c..fd80124 100644
--- a/doc/props/P_START_HOME
+++ b/doc/props/P_START_HOME
@@ -1,8 +1,21 @@
-NAME:
- P_START_HOME "start_home"
-DEFINIERT IN:
- /sys/player/base.h
+P_START_HOME
+************
-BESCHREIBUNG:
- Raum, in dem der Spieler nach dem Einloggen landen soll
+
+NAME
+====
+
+ P_START_HOME "start_home"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Raum, in dem der Spieler nach dem Einloggen landen soll
diff --git a/doc/props/P_STD_OBJECT b/doc/props/P_STD_OBJECT
index 87e21da..7c66296 100644
--- a/doc/props/P_STD_OBJECT
+++ b/doc/props/P_STD_OBJECT
@@ -1,11 +1,24 @@
-NAME:
- P_STD_OBJECT "std_object"
-DEFINIERT IN:
- /sys/v_compiler.h
+P_STD_OBJECT
+************
-BESCHREIBUNG:
- Enthaelt den Namen eines Files welches als Standard-Objekt fuer den
+
+NAME
+====
+
+ P_STD_OBJECT "std_object"
+
+
+DEFINIERT IN
+============
+
+ /sys/v_compiler.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt den Namen eines Files welches als Standard-Objekt fuer den
Virtual Compiler gelten soll.
In diesem File werden das generelle Aussehen, Ausgaenge, Funktionen
@@ -13,14 +26,19 @@
Dieses File ist ein 'normales' .c - File, welches geclont wird und
anschliessend umbenannt wird.
-
+
+
+
Ganz wichtig: Falls euer Standardobjekt (direkt oder indirekt) von
/std/room.c erbt, solltet ihr darauf achten, dass euer Objekt ausser dem
- create() noch eine weitere (beliebige) Funktion hat.
+ create() noch eine weitere (beliebige) Funktion hat.
Ansonsten wuerde das Programm eures Standardobjekts automatisch durch
/std/room.c ersetzt, was in der Regel zu schwer zu findenen Bugs fuehrt.
-BEISPIEL:
+
+BEISPIEL
+========
+
(create eines VCs)
protected void create() {
...
@@ -29,10 +47,13 @@
}
Was in diesem std_raum.c nun steht, wird in jedem VC-Clone
- verfuegbar. Sei es Details, Gerueche, auch Objekte die per
+ verfuegbar. Sei es Details, Gerueche, auch Objekte die per
AddItem eingebunden sind, ...
-SIEHE AUCH:
+
+SIEHE AUCH
+==========
+
P_COMPILER_PATH, virtual_compiler
------------------------------------------------------------------------
+
Letzte Aenderung: 22.10.07 von Zesstra
diff --git a/doc/props/P_STORE_CONSUME b/doc/props/P_STORE_CONSUME
index 7b65641..8a9afd9 100644
--- a/doc/props/P_STORE_CONSUME
+++ b/doc/props/P_STORE_CONSUME
@@ -1,51 +1,69 @@
-NAME:
- P_STORE_CONSUME "store_consume"
-DEFINIERT IN:
- /sys/bank.h
+P_STORE_CONSUME
+***************
-BESCHREIBUNG:
- Diese Property ist entscheidend dafuer, wieviel Prozent an Objekten
- bei jedem Reset in einem Lager eines Ladens vernichtet werden. Dies
- geschieht aus Speicher- und Laggruenden. Es verbleibt dabei jedoch
- eine Grundmenge an Objekten, deren Anzahl in der Property
- P_MIN_STOCK festgehalten ist. Standardwert fuer P_STORE_CONSUME ist
- hierbei 30%, aber in oft benutzten Laeden kann man dort ruhig einen
- hoeheren Wert eintragen. Erlaubt sind Werte zwischen 0% und 100%.
- Aufgeraeumt werden jedoch keine Objekte, die mittels AddItem() im
- Lager eingebunden wurden. Mittels der Ladenfunktion AddFixedObject()
- als staendig verfuegbar markierte Objekte werden natuerlich auch
- nicht beruecksichtigt.
- Beide hier erwaehnten Properties sollten ueberigens nur mittels
- QueryProp/SetProp ausgelesen bzw. veraendert werden.
-BEISPIEL:
- Ein eigener haeufig benutzter Laden koennte ein Lager in folgender
- Form erhalten:
- // myStore
- #include <bank.h>
- inherit "std/store";
- void create()
- { ::create();
- SetProp(P_STORE_CONSUME,90);
- // keine weiteren Beschreibungen, Spieler sollen da drin
- // schliesslich nicht rumwuseln
- }
- Um das Lager dem Laden zuzuweisen, nutzt man folgendes:
- // myShop
- inherit "std/laden";
- void create()
- { ::create();
- SetStorageRoom("pfad/myStore");
- // Beschreibungen folgen
- ...
- }
- Es werden hierbei waehrend jedes Lager-Resets 90% der im Lager
- befindlichen Objekte vernichtet.
+NAME
+====
-SIEHE AUCH:
- P_MIN_STOCK, SetStorageRoom(), /std/store.c, /std/shop.c
- AddItem(), RemoveItem(), AddFixedObject(), RemoveFixedObject()
+ P_STORE_CONSUME "store_consume"
-----------------------------------------------------------------------------
-Last modified: 19-Jun-2015, Arathorn
+
+DEFINIERT IN
+============
+
+ /sys/bank.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property ist entscheidend dafuer, wieviel Prozent an Objekten
+ bei jedem Reset in einem Lager eines Ladens vernichtet werden. Dies
+ geschieht aus Speicher- und Laggruenden. Es verbleibt dabei jedoch
+ eine Grundmenge an Objekten, deren Anzahl in der Property
+ P_MIN_STOCK festgehalten ist. Standardwert fuer P_STORE_CONSUME ist
+ hierbei 30%, aber in oft benutzten Laeden kann man dort ruhig einen
+ hoeheren Wert eintragen. Erlaubt sind Werte zwischen 0% und 100%.
+ Aufgeraeumt werden jedoch keine Objekte, die mittels AddItem() im
+ Lager eingebunden wurden. Mittels der Ladenfunktion AddFixedObject()
+ als staendig verfuegbar markierte Objekte werden natuerlich auch
+ nicht beruecksichtigt.
+ Beide hier erwaehnten Properties sollten ueberigens nur mittels
+ QueryProp/SetProp ausgelesen bzw. veraendert werden.
+
+
+BEISPIEL
+========
+
+ Ein eigener haeufig benutzter Laden koennte ein Lager in folgender
+ Form erhalten:
+ // myStore
+ #include <bank.h>
+ inherit "std/store";
+ void create()
+ { ::create();
+ SetProp(P_STORE_CONSUME,90);
+ // keine weiteren Beschreibungen, Spieler sollen da drin
+ // schliesslich nicht rumwuseln
+ }
+ Um das Lager dem Laden zuzuweisen, nutzt man folgendes:
+ // myShop
+ inherit "std/laden";
+ void create()
+ { ::create();
+ SetStorageRoom("pfad/myStore");
+ // Beschreibungen folgen
+ ...
+ }
+ Es werden hierbei waehrend jedes Lager-Resets 90% der im Lager
+ befindlichen Objekte vernichtet.
+
+
+SIEHE AUCH
+==========
+
+ P_MIN_STOCK, SetStorageRoom(), /std/store.c, /std/shop.c
+ AddItem(), RemoveItem(), AddFixedObject(), RemoveFixedObject()
+
+Last modified: 19-Jun-2015, Arathorn
diff --git a/doc/props/P_STRETCH_TIME b/doc/props/P_STRETCH_TIME
index dfef4f1..1b38b7e 100644
--- a/doc/props/P_STRETCH_TIME
+++ b/doc/props/P_STRETCH_TIME
@@ -1,20 +1,34 @@
+
P_STRETCH_TIME
+**************
-NAME:
- P_STRETCH_TIME "stretch_time"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Enthaelt die Zeit in Runden (2s), die man braucht, um eine Fernwaffe zu
- spannen/benutzen. Zaehlt seit dem letzten Schuss oder der Zeit des
- Zueckens (P_EQUIP_TIME).
+ P_STRETCH_TIME "stretch_time"
-SIEHE AUCH:
- Generell: P_AMMUNITION, P_SHOOTING_WC
- Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
- Gebiet: P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
- Sonstiges: fernwaffen
-29.Jul 2014 Gloinson
\ No newline at end of file
+DEFINIERT IN
+============
+
+ <combat.h>
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt die Zeit in Runden (2s), die man braucht, um eine Fernwaffe zu
+ spannen/benutzen. Zaehlt seit dem letzten Schuss oder der Zeit des
+ Zueckens (P_EQUIP_TIME).
+
+
+SIEHE AUCH
+==========
+
+ Generell: P_AMMUNITION, P_SHOOTING_WC
+ Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+ Gebiet: P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
+ Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_SUBGUILD_TITLE b/doc/props/P_SUBGUILD_TITLE
index 58a59d5..83515d7 100644
--- a/doc/props/P_SUBGUILD_TITLE
+++ b/doc/props/P_SUBGUILD_TITLE
@@ -1,20 +1,38 @@
+
P_SUBGUILD_TITLE
-NAME:
- P_SUBGUILD_TITLE "subguild_title"
+****************
-DEFINIERT IN:
- /sys/new_skills.h
-BESCHREIBUNG:
- Diese Property enthaelt eventuelle Zusatztitel eines Spielers, den er
- innerhalb einer Gilde traegt. Das kann z.B. ein Clan sein, ein Zweig oder
- einfach nur der Gildenrang.
+NAME
+====
-BEMERKUNGEN:
- Inhalt der Property kann 0 sein oder ein String. Ein Zusatztitel kann
- mittels P_VISIBLE_SUBGUILD_TITLE vorgetaeuscht werden.
+ P_SUBGUILD_TITLE "subguild_title"
-SIEHE AUCH:
- P_GUILD_TITLE, P_VISIBLE_SUBGUILD_TITLE
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt eventuelle Zusatztitel eines Spielers, den er
+ innerhalb einer Gilde traegt. Das kann z.B. ein Clan sein, ein Zweig oder
+ einfach nur der Gildenrang.
+
+
+BEMERKUNGEN
+===========
+
+ Inhalt der Property kann 0 sein oder ein String. Ein Zusatztitel kann
+ mittels P_VISIBLE_SUBGUILD_TITLE vorgetaeuscht werden.
+
+
+SIEHE AUCH
+==========
+
+ P_GUILD_TITLE, P_VISIBLE_SUBGUILD_TITLE
26. Maerz 2004 Gloinson
diff --git a/doc/props/P_SYNTAX_HELP b/doc/props/P_SYNTAX_HELP
index 13344f1..a796fb5 100644
--- a/doc/props/P_SYNTAX_HELP
+++ b/doc/props/P_SYNTAX_HELP
@@ -1,44 +1,62 @@
-NAME:
- P_SYNTAX_HELP "lib_p_syntax_help"
-DEFINIERT IN:
- /sys/thing/commands.h
+P_SYNTAX_HELP
+*************
-BESCHREIBUNG:
- In dieser Property kann man fuer Spieler eine ausfuehrliche Syntaxhilfe zu
- den Kommandos eines Objektes ablegen. Diese wird angezeigt, wenn der
- Spieler das Kommando "synxtaxhilfe <objekt>" eingibt.
- Die Property kann verschiedene Datenstrukturen enthalten:
- 1) ein String
- Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
- Zeilenumbrueche werden beibehalten.
+NAME
+====
- 2) ein Array: ({hilfetext, bedingungen})
+ P_SYNTAX_HELP "lib_p_syntax_help"
- <hilfetext>:
- * ein string:
- Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
- Zeilenumbrueche werden beibehalten.
- * eine lfun-closure:
- Diese erhaelt beim Aufruf das betreffende Objekt als Argument.
- Wenn diese dann einen String zurueckliefert, wird dieser dem Spieler
- angezeigt. Hierbei wird ggf. umgebrochen, vorhandene Zeilenumbrueche
- werden beibehalten.
- <bedingungen>, welche erfuellt sein muessen, damit dem Spieler die Hilfe
- angezeigt wird. Die Bedingungen sind entweder:
- * ein Mapping fuer check_restriction()
- * eine lfun-closure
- Diese erhaelt beim Aufruf das betreffende Objekt als Argument und darf
- eine 0 fuer 'erlaubt', 1 fuer 'nicht erlaubt (mit Standardtext)' oder
- einen string fuer 'nicht erlaubt mit individuellem Text' sein.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- Hat ein Objekt keine Syntaxhilfe, wird das Kommando "syntaxhilfe" aus dem
- Objekt wieder entfernt (d.h. die Property muss gesetzt sein, bevor der
- erste Spieler das Kommando eingibt).
+ /sys/thing/commands.h
-SIEHE AUCH:
- AddCmd
+BESCHREIBUNG
+============
+
+ In dieser Property kann man fuer Spieler eine ausfuehrliche Syntaxhilfe zu
+ den Kommandos eines Objektes ablegen. Diese wird angezeigt, wenn der
+ Spieler das Kommando "synxtaxhilfe <objekt>" eingibt.
+ Die Property kann verschiedene Datenstrukturen enthalten:
+
+ 1) ein String
+ Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
+ Zeilenumbrueche werden beibehalten.
+
+ 2) ein Array: ({hilfetext, bedingungen})
+
+ <hilfetext>:
+ * ein string:
+ Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
+ Zeilenumbrueche werden beibehalten.
+ * eine lfun-closure:
+ Diese erhaelt beim Aufruf das betreffende Objekt als Argument.
+ Wenn diese dann einen String zurueckliefert, wird dieser dem Spieler
+ angezeigt. Hierbei wird ggf. umgebrochen, vorhandene Zeilenumbrueche
+ werden beibehalten.
+
+ <bedingungen>, welche erfuellt sein muessen, damit dem Spieler die Hilfe
+ angezeigt wird. Die Bedingungen sind entweder:
+ * ein Mapping fuer check_restriction()
+ * eine lfun-closure
+ Diese erhaelt beim Aufruf das betreffende Objekt als Argument und darf
+ eine 0 fuer 'erlaubt', 1 fuer 'nicht erlaubt (mit Standardtext)' oder
+ einen string fuer 'nicht erlaubt mit individuellem Text' sein.
+
+
+BEMERKUNGEN
+===========
+
+ Hat ein Objekt keine Syntaxhilfe, wird das Kommando "syntaxhilfe" aus dem
+ Objekt wieder entfernt (d.h. die Property muss gesetzt sein, bevor der
+ erste Spieler das Kommando eingibt).
+
+
+SIEHE AUCH
+==========
+
+ AddCmd
diff --git a/doc/props/P_TARGET_AREA b/doc/props/P_TARGET_AREA
index 9d2cec9..614320f 100644
--- a/doc/props/P_TARGET_AREA
+++ b/doc/props/P_TARGET_AREA
@@ -1,75 +1,95 @@
+
P_TARGET_AREA
+*************
-NAME:
- P_TARGET_AREA "target_area"
-DEFINIERT IN:
- <combat.h>
+NAME
+====
-BESCHREIBUNG:
- Kann in einem Raum gesetzt werden, um einen anderen, von dort aus mit
- Fernkampfwaffen beschiessbaren Raum als Objekt oder Objektnamen (zu
- einem geladenen Objekt) festzulegen.
+ P_TARGET_AREA "target_area"
-BEMERKUNGEN:
- Ein Schuetze kann nur in den anderen Raum schiessen, wenn die P_RANGE
- seiner Waffe mindest gleich der P_SHOOTING_AREA des Raums (nicht des
- Zielraums) ist.
- Idealerweise sollte in mit P_TARGET_AREA angegebenen Raeumen auch
- P_NEVER_CLEAN gesetzt sein.
+DEFINIERT IN
+============
-BEISPIELE:
- // #1 Ein Baum-Raum (/std/room)
- void create() {
- ::create();
- SetProp(P_INT_SHORT, "Auf einem Baum");
- SetProp(P_INT_LONG, break_string("Du hockst auf einem Baum und kannst "
- "auf die Lichtung unter Dir sehen.\n");
+ <combat.h>
- AddExit("unten", RAEUME("lichtung"));
- SetProp(P_TARGET_AREA, RAEUME("lichtung")); // Lichtung beschiessbar
- SetProp(P_SHOOTING_AREA, 15); // 15 Entfernung
- }
+BESCHREIBUNG
+============
- // #2 Ein Elefanten-Transporter (/std/transport)
- // Er trampelt durch mehrere Raeume durch und der Schuetze kann vom
- // Ruecken des Elefanten aus auf Gegner draussen schiessen.
- void create() {
- ::create();
- SetProp(P_NAME, "Kampfelefant");
- AddId(({"elefant", "kampfelefant")});
- SetProp(P_GENDER, MALE);
- SetProp(P_SHORT, "Ein Kampfelefant");
- SetProp(P_INT_SHORT, "Auf einem Kampfelefanten");
- // P_LONG, P_INT_LONG
+ Kann in einem Raum gesetzt werden, um einen anderen, von dort aus mit
+ Fernkampfwaffen beschiessbaren Raum als Objekt oder Objektnamen (zu
+ einem geladenen Objekt) festzulegen.
- SetProp(P_ENTERCMDS, ({"kletter", "erkletter"}));
- SetProp(P_LEAVECMDS, ({"verlass", "verlasse"}));
- SetProp(P_ARRIVEMSG, ({"Der Elefant trampelt in einen Raum.\n",
- "Ein Kampfelefant trampelt herein.\n"}));
- SetProp(P_DEPARTMSG, ({"Der Elefant trampelt weiter.\n",
- "Der Kampfelefant trampelt weiter.\n"}));
+BEMERKUNGEN
+===========
- SetProp(P_SHOOTING_AREA, 8); // weiter als 8 sollte man schiessen
+ Ein Schuetze kann nur in den anderen Raum schiessen, wenn die P_RANGE
+ seiner Waffe mindest gleich der P_SHOOTING_AREA des Raums (nicht des
+ Zielraums) ist.
- AddRoute(RAEUME("schlachtfeld"), 20+random(10), 6, "Schlachtfeld");
- AddRoute(RAEUME("burgtor"), 20+random(10), 6, "Burgtor");
- AddRoute(RAEUME("burghof"), 20+random(10), 6, "Burghof");
- AddRoute(RAEUME("halle"), 20+random(10), 6, "Halle");
- AddRoute(RAEUME("bresche"), 20+random(10), 6, "Bresche");
- // ...
+ Idealerweise sollte in mit P_TARGET_AREA angegebenen Raeumen auch
+ P_NEVER_CLEAN gesetzt sein.
- Start();
- }
-SIEHE AUCH:
- Generell: P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
- Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
- Gebiet: P_RANGE, P_SHOOTING_AREA
- Raeume: P_NEVER_CLEAN
- Sonstiges: fernwaffen
+BEISPIELE
+=========
-29.Jul 2014 Gloinson
\ No newline at end of file
+ // #1 Ein Baum-Raum (/std/room)
+ void create() {
+ ::create();
+ SetProp(P_INT_SHORT, "Auf einem Baum");
+ SetProp(P_INT_LONG, break_string("Du hockst auf einem Baum und kannst "
+ "auf die Lichtung unter Dir sehen.\n");
+
+ AddExit("unten", RAEUME("lichtung"));
+
+ SetProp(P_TARGET_AREA, RAEUME("lichtung")); // Lichtung beschiessbar
+ SetProp(P_SHOOTING_AREA, 15); // 15 Entfernung
+ }
+
+ // #2 Ein Elefanten-Transporter (/std/transport)
+ // Er trampelt durch mehrere Raeume durch und der Schuetze kann vom
+ // Ruecken des Elefanten aus auf Gegner draussen schiessen.
+ void create() {
+ ::create();
+ SetProp(P_NAME, "Kampfelefant");
+ AddId(({"elefant", "kampfelefant")});
+ SetProp(P_GENDER, MALE);
+ SetProp(P_SHORT, "Ein Kampfelefant");
+ SetProp(P_INT_SHORT, "Auf einem Kampfelefanten");
+ // P_LONG, P_INT_LONG
+
+ SetProp(P_ENTERCMDS, ({"kletter", "erkletter"}));
+ SetProp(P_LEAVECMDS, ({"verlass", "verlasse"}));
+
+ SetProp(P_ARRIVEMSG, ({"Der Elefant trampelt in einen Raum.\n",
+ "Ein Kampfelefant trampelt herein.\n"}));
+ SetProp(P_DEPARTMSG, ({"Der Elefant trampelt weiter.\n",
+ "Der Kampfelefant trampelt weiter.\n"}));
+
+ SetProp(P_SHOOTING_AREA, 8); // weiter als 8 sollte man schiessen
+
+ AddRoute(RAEUME("schlachtfeld"), 20+random(10), 6, "Schlachtfeld");
+ AddRoute(RAEUME("burgtor"), 20+random(10), 6, "Burgtor");
+ AddRoute(RAEUME("burghof"), 20+random(10), 6, "Burghof");
+ AddRoute(RAEUME("halle"), 20+random(10), 6, "Halle");
+ AddRoute(RAEUME("bresche"), 20+random(10), 6, "Bresche");
+ // ...
+
+ Start();
+ }
+
+
+SIEHE AUCH
+==========
+
+ Generell: P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
+ Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+ Gebiet: P_RANGE, P_SHOOTING_AREA
+ Raeume: P_NEVER_CLEAN
+ Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_TEAM b/doc/props/P_TEAM
index f03109d..4f853e8 100644
--- a/doc/props/P_TEAM
+++ b/doc/props/P_TEAM
@@ -1,24 +1,39 @@
-NAME:
- P_TEAM "team"
-DEFINIERT IN:
- /sys/living/team.h
+P_TEAM
+******
-BESCHREIBUNG:
- Liefert das Teamobjekt, falls Spieler in einem Team ist, sonst 0.
-SIEHE AUCH:
- Uebersicht: teamkampf
- Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
- P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
- P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
- SelectFarEnemy
- Positionen: PresentPosition, PresentRows, PresentEnemyRows,
- PresentTeamPosition, SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
+NAME
+====
-----------------------------------------------------------------------------
+ P_TEAM "team"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+ Liefert das Teamobjekt, falls Spieler in einem Team ist, sonst 0.
+
+
+SIEHE AUCH
+==========
+
+ Uebersicht: teamkampf
+ Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
+ P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+ P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+ Bewegung: IsTeamMove, TeamFlee
+ Mitglieder: IsTeamLeader, TeamMembers
+ Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+ SelectFarEnemy
+ Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+ PresentTeamPosition, SwapRows
+ Sonstiges: TeamPrefix, teamkampf_intern
+
Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_ASSOC_MEMBERS b/doc/props/P_TEAM_ASSOC_MEMBERS
index c4f95b8..b57a276 100644
--- a/doc/props/P_TEAM_ASSOC_MEMBERS
+++ b/doc/props/P_TEAM_ASSOC_MEMBERS
@@ -1,30 +1,48 @@
-NAME:
- P_TEAM_ASSOC_MEMBERS "team_assoc_members"
-DEFINIERT IN:
- /sys/living/team.h
+P_TEAM_ASSOC_MEMBERS
+********************
-BESCHREIBUNG:
- Array mit den zugeordneten NPCs des Spielers bzw. der Spieler,
- dem dieser NPC zugeordnet ist.
- Zugeordnete NPCs sind automatisch im Team des Spielers.
-BEMERKUNG:
- Der Zugriff auf diese Property sollte ueber AssocMember()
- bzw. DeAssocMember() erfolgen.
+NAME
+====
-SIEHE AUCH:
- Uebersicht: teamkampf
- Properties: P_TEAM, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
- P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
- P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
- SelectFarEnemy
- Positionen: PresentPosition, PresentRows, PresentEnemyRows,
- PresentTeamPosition, SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
+ P_TEAM_ASSOC_MEMBERS "team_assoc_members"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+ Array mit den zugeordneten NPCs des Spielers bzw. der Spieler,
+ dem dieser NPC zugeordnet ist.
+ Zugeordnete NPCs sind automatisch im Team des Spielers.
+
+
+BEMERKUNG
+=========
+
+ Der Zugriff auf diese Property sollte ueber AssocMember()
+ bzw. DeAssocMember() erfolgen.
+
+
+SIEHE AUCH
+==========
+
+ Uebersicht: teamkampf
+ Properties: P_TEAM, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
+ P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+ P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+ Bewegung: IsTeamMove, TeamFlee
+ Mitglieder: IsTeamLeader, TeamMembers
+ Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+ SelectFarEnemy
+ Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+ PresentTeamPosition, SwapRows
+ Sonstiges: TeamPrefix, teamkampf_intern
+
Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_ATTACK_CMD b/doc/props/P_TEAM_ATTACK_CMD
index 3f77349..b7993e7 100644
--- a/doc/props/P_TEAM_ATTACK_CMD
+++ b/doc/props/P_TEAM_ATTACK_CMD
@@ -1,24 +1,39 @@
-NAME:
- P_TEAM_ATTACK_CMD "team_attack_cmd"
-DEFINIERT IN:
- /sys/living/team.h
+P_TEAM_ATTACK_CMD
+*****************
-BESCHREIBUNG:
- Angriffsbefehl des Spielers, nicht setzbar.
-SIEHE AUCH:
- Uebersicht: teamkampf
- Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_AUTOFOLLOW,
- P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
- P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
- SelectFarEnemy
- Positionen: PresentPosition, PresentRows, PresentEnemyRows,
- PresentTeamPosition, SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
+NAME
+====
-----------------------------------------------------------------------------
+ P_TEAM_ATTACK_CMD "team_attack_cmd"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+ Angriffsbefehl des Spielers, nicht setzbar.
+
+
+SIEHE AUCH
+==========
+
+ Uebersicht: teamkampf
+ Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_AUTOFOLLOW,
+ P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+ P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+ Bewegung: IsTeamMove, TeamFlee
+ Mitglieder: IsTeamLeader, TeamMembers
+ Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+ SelectFarEnemy
+ Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+ PresentTeamPosition, SwapRows
+ Sonstiges: TeamPrefix, teamkampf_intern
+
Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_AUTOFOLLOW b/doc/props/P_TEAM_AUTOFOLLOW
index 45be50f..0e8c45f 100644
--- a/doc/props/P_TEAM_AUTOFOLLOW
+++ b/doc/props/P_TEAM_AUTOFOLLOW
@@ -1,24 +1,39 @@
-NAME:
- P_TEAM_AUTOFOLLOW "team_autofollow"
-DEFINIERT IN:
- /sys/living/team.h
+P_TEAM_AUTOFOLLOW
+*****************
-BESCHREIBUNG:
- Folgewunsch des Spielers, nicht setzbar.
-SIEHE AUCH:
- Uebersicht: teamkampf
- Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
- P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
- P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
- SelectFarEnemy
- Positionen: PresentPosition, PresentRows, PresentEnemyRows,
- PresentTeamPosition, SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
+NAME
+====
-----------------------------------------------------------------------------
+ P_TEAM_AUTOFOLLOW "team_autofollow"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+ Folgewunsch des Spielers, nicht setzbar.
+
+
+SIEHE AUCH
+==========
+
+ Uebersicht: teamkampf
+ Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
+ P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+ P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+ Bewegung: IsTeamMove, TeamFlee
+ Mitglieder: IsTeamLeader, TeamMembers
+ Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+ SelectFarEnemy
+ Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+ PresentTeamPosition, SwapRows
+ Sonstiges: TeamPrefix, teamkampf_intern
+
Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_COLORS b/doc/props/P_TEAM_COLORS
index d23815d..a855035 100644
--- a/doc/props/P_TEAM_COLORS
+++ b/doc/props/P_TEAM_COLORS
@@ -1,25 +1,40 @@
-NAME:
- P_TEAM_COLORS "team_colors"
-DEFINIERT IN:
- /sys/living/team.h
+P_TEAM_COLORS
+*************
-BESCHREIBUNG:
- Grenzwerte fuer farbige Anzeige im Teaminfo.
- Array mit 4 Werten: ({ lp_rot, lp_gelb, sp_rot, sp_gelb })
-SIEHE AUCH:
- Uebersicht: teamkampf
- Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
- P_TEAM_AUTOFOLLOW, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
- P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
- SelectFarEnemy
- Positionen: PresentPosition, PresentRows, PresentEnemyRows,
- PresentTeamPosition, SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
+NAME
+====
-----------------------------------------------------------------------------
+ P_TEAM_COLORS "team_colors"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+ Grenzwerte fuer farbige Anzeige im Teaminfo.
+ Array mit 4 Werten: ({ lp_rot, lp_gelb, sp_rot, sp_gelb })
+
+
+SIEHE AUCH
+==========
+
+ Uebersicht: teamkampf
+ Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
+ P_TEAM_AUTOFOLLOW, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+ P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+ Bewegung: IsTeamMove, TeamFlee
+ Mitglieder: IsTeamLeader, TeamMembers
+ Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+ SelectFarEnemy
+ Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+ PresentTeamPosition, SwapRows
+ Sonstiges: TeamPrefix, teamkampf_intern
+
Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_LEADER b/doc/props/P_TEAM_LEADER
index a123c37..b4927f3 100644
--- a/doc/props/P_TEAM_LEADER
+++ b/doc/props/P_TEAM_LEADER
@@ -1,24 +1,39 @@
-NAME:
- P_TEAM_LEADER "team_leader"
-DEFINIERT IN:
- /sys/living/team.h
+P_TEAM_LEADER
+*************
-BESCHREIBUNG:
- Liefert das Teamobjekt, falls Spieler Anfuehrer eines Teams ist.
-SIEHE AUCH:
- Uebersicht: teamkampf
- Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
- P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_NEWMEMBER,
- P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
- SelectFarEnemy
- Positionen: PresentPosition, PresentRows, PresentEnemyRows,
- PresentTeamPosition, SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
+NAME
+====
-----------------------------------------------------------------------------
+ P_TEAM_LEADER "team_leader"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+ Liefert das Teamobjekt, falls Spieler Anfuehrer eines Teams ist.
+
+
+SIEHE AUCH
+==========
+
+ Uebersicht: teamkampf
+ Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
+ P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_NEWMEMBER,
+ P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+ Bewegung: IsTeamMove, TeamFlee
+ Mitglieder: IsTeamLeader, TeamMembers
+ Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+ SelectFarEnemy
+ Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+ PresentTeamPosition, SwapRows
+ Sonstiges: TeamPrefix, teamkampf_intern
+
Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_NEWMEMBER b/doc/props/P_TEAM_NEWMEMBER
index f506c5b..da89b70 100644
--- a/doc/props/P_TEAM_NEWMEMBER
+++ b/doc/props/P_TEAM_NEWMEMBER
@@ -1,25 +1,40 @@
-NAME:
- P_TEAM_NEWMEMBER "potential_team_member"
-DEFINIERT IN:
- /sys/living/team.h
+P_TEAM_NEWMEMBER
+****************
-BESCHREIBUNG:
- Enthaelt das Objekt des Teamleaders, sobald ein Spieler um
- Teamaufnahme gebeten hat, sonst 0.
-SIEHE AUCH:
- Uebersicht: teamkampf
- Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
- P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER,
- P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
- SelectFarEnemy
- Positionen: PresentPosition, PresentRows, PresentEnemyRows,
- PresentTeamPosition, SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
+NAME
+====
-----------------------------------------------------------------------------
+ P_TEAM_NEWMEMBER "potential_team_member"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt das Objekt des Teamleaders, sobald ein Spieler um
+ Teamaufnahme gebeten hat, sonst 0.
+
+
+SIEHE AUCH
+==========
+
+ Uebersicht: teamkampf
+ Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
+ P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER,
+ P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+ Bewegung: IsTeamMove, TeamFlee
+ Mitglieder: IsTeamLeader, TeamMembers
+ Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+ SelectFarEnemy
+ Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+ PresentTeamPosition, SwapRows
+ Sonstiges: TeamPrefix, teamkampf_intern
+
Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_WANTED_ROW b/doc/props/P_TEAM_WANTED_ROW
index 7cd3c36..ba94af4 100644
--- a/doc/props/P_TEAM_WANTED_ROW
+++ b/doc/props/P_TEAM_WANTED_ROW
@@ -1,24 +1,39 @@
-NAME:
- P_TEAM_WANTED_ROW "team_wanted_row"
-DEFINIERT IN:
- /sys/living/team.h
+P_TEAM_WANTED_ROW
+*****************
-BESCHREIBUNG:
- Gewuenschte Reihe des Spielers (von 1 bis MAX_TEAMROWS)
-SIEHE AUCH:
- Uebersicht: teamkampf
- Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
- P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
- P_TEAM_WIMPY_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
- SelectFarEnemy
- Positionen: PresentPosition, PresentRows, PresentEnemyRows,
- PresentTeamPosition, SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
+NAME
+====
-----------------------------------------------------------------------------
+ P_TEAM_WANTED_ROW "team_wanted_row"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+ Gewuenschte Reihe des Spielers (von 1 bis MAX_TEAMROWS)
+
+
+SIEHE AUCH
+==========
+
+ Uebersicht: teamkampf
+ Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
+ P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+ P_TEAM_WIMPY_ROW
+ Bewegung: IsTeamMove, TeamFlee
+ Mitglieder: IsTeamLeader, TeamMembers
+ Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+ SelectFarEnemy
+ Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+ PresentTeamPosition, SwapRows
+ Sonstiges: TeamPrefix, teamkampf_intern
+
Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_WIMPY_ROW b/doc/props/P_TEAM_WIMPY_ROW
index a832255..90bfacb 100644
--- a/doc/props/P_TEAM_WIMPY_ROW
+++ b/doc/props/P_TEAM_WIMPY_ROW
@@ -1,28 +1,46 @@
-NAME:
- P_TEAM_WIMPY_ROW "team_wimpy_row"
-DEFINIERT IN:
- /sys/living/team.h
+P_TEAM_WIMPY_ROW
+****************
-BESCHREIBUNG:
- Fluchtreihe des Spielers, von 1 bis MAX_TEAMROWS.
-BEMERKUNG:
- Wenn die Fluchtreihe <=1 ist, ist die Flucht in eine hintere Reihe
- deaktiviert.
+NAME
+====
-SIEHE AUCH:
- Uebersicht: teamkampf
- Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
- P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
- P_TEAM_WANTED_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
- SelectFarEnemy
- Positionen: PresentPosition, PresentRows, PresentEnemyRows,
- PresentTeamPosition, SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
+ P_TEAM_WIMPY_ROW "team_wimpy_row"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+ Fluchtreihe des Spielers, von 1 bis MAX_TEAMROWS.
+
+
+BEMERKUNG
+=========
+
+ Wenn die Fluchtreihe <=1 ist, ist die Flucht in eine hintere Reihe
+ deaktiviert.
+
+
+SIEHE AUCH
+==========
+
+ Uebersicht: teamkampf
+ Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
+ P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+ P_TEAM_WANTED_ROW
+ Bewegung: IsTeamMove, TeamFlee
+ Mitglieder: IsTeamLeader, TeamMembers
+ Kampf: DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+ SelectFarEnemy
+ Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+ PresentTeamPosition, SwapRows
+ Sonstiges: TeamPrefix, teamkampf_intern
+
Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TELNET_RTTIME b/doc/props/P_TELNET_RTTIME
index fc30011..b781bea 100644
--- a/doc/props/P_TELNET_RTTIME
+++ b/doc/props/P_TELNET_RTTIME
@@ -1,25 +1,43 @@
-NAME:
- P_TELNET_RTTIME "p_lib_telnet_rttime"
-DEFINIERT IN:
- /secure/telnetneg.h
+P_TELNET_RTTIME
+***************
-BESCHREIBUNG:
- In dieser Properties steht die letzte gemessene 'round-trip' Zeit
- (in Mikrosekunden) einer 'Telnet timing mark' vom MUD zum Client und
- zurueck.
- Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
- Telnetnegotiations unterstuetzt und 'telnet keepalive' eingeschaltet
- ist, ansonsten bleibt diese Property 0.
- Die meisten Telnets/Clients antworten zumindest eine Ablehnung auf
- die 'timing marks', so dass trotzdem eine Zeit bestimmt werden kann.
+NAME
+====
- Die Prop kann nicht gesetzt werden bzw. es hat keinen Effekt.
+ P_TELNET_RTTIME "p_lib_telnet_rttime"
-SIEHE AUCH:
- P_TTY_COLS, P_TTY_ROWS, P_TTY_SHOW, P_TTY, P_TTY_TYPE
-LETZTE AeNDERUNG:
- 03.02.2013, Zesstra
+DEFINIERT IN
+============
+ /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Properties steht die letzte gemessene 'round-trip' Zeit
+ (in Mikrosekunden) einer 'Telnet timing mark' vom MUD zum Client und
+ zurueck.
+
+ Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
+ Telnetnegotiations unterstuetzt und 'telnet keepalive' eingeschaltet
+ ist, ansonsten bleibt diese Property 0.
+ Die meisten Telnets/Clients antworten zumindest eine Ablehnung auf
+ die 'timing marks', so dass trotzdem eine Zeit bestimmt werden kann.
+
+ Die Prop kann nicht gesetzt werden bzw. es hat keinen Effekt.
+
+
+SIEHE AUCH
+==========
+
+ P_TTY_COLS, P_TTY_ROWS, P_TTY_SHOW, P_TTY, P_TTY_TYPE
+
+
+LETZTE AeNDERUNG
+================
+
+ 03.02.2013, Zesstra
diff --git a/doc/props/P_TESTPLAYER b/doc/props/P_TESTPLAYER
index 6f64ade..bf0c765 100644
--- a/doc/props/P_TESTPLAYER
+++ b/doc/props/P_TESTPLAYER
@@ -1,29 +1,48 @@
-NAME:
- P_TESTPLAYER "testplayer"
-DEFINIERT IN:
- /sys/player/base.h
+P_TESTPLAYER
+************
-BESCHREIBUNG:
- Gesetzt, wenn der Spieler ein Testspieler ist. Enthaelt die UID des
- Magiers, dem dieser Testie (momentan) gehoert.
-
- Bei Testspielern duerfen Skills geaendert werden, sie duerfen gezappt
- werden und - ihre eigentliche Aufgabe - nicht angeschlossene Gebiete
- testen.
- AUSNAHMEN: Gildentesties duerfen nur sehr eingeschraenkt manipuliert
- werden werden, da sie im ganzen Mud rumlaufen koennen,
- Spielerkontakt haben und nach Abschluss der Tests ggf. sogar
- die Testiemarkierung entfernt werden kann.
-
- Fuer Spielertesties, die von einem Spieler kontrolliert werden, gelten
- teilweise besondere Regeln, s. 'spielertesties'.
+NAME
+====
-BEMERKUNGEN:
- P_TESTPLAYER kann nur per SetProp() gesetzt werden und das auch nur ein
- Mal! Geloescht werden kann das Flag nur von EM+.
+ P_TESTPLAYER "testplayer"
-ZULETZT GEAeNDERT:
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Gesetzt, wenn der Spieler ein Testspieler ist. Enthaelt die UID des
+ Magiers, dem dieser Testie (momentan) gehoert.
+
+
+
+ Bei Testspielern duerfen Skills geaendert werden, sie duerfen gezappt
+ werden und - ihre eigentliche Aufgabe - nicht angeschlossene Gebiete
+ testen.
+
+ AUSNAHMEN: Gildentesties duerfen nur sehr eingeschraenkt manipuliert
+ werden werden, da sie im ganzen Mud rumlaufen koennen,
+ Spielerkontakt haben und nach Abschluss der Tests ggf. sogar
+ die Testiemarkierung entfernt werden kann.
+
+
+
+ Fuer Spielertesties, die von einem Spieler kontrolliert werden, gelten
+ teilweise besondere Regeln, s. 'spielertesties'.
+
+BEMERKUNGEN:
+ P_TESTPLAYER kann nur per SetProp() gesetzt werden und das auch nur
+ ein Mal! Geloescht werden kann das Flag nur von EM+.
+
+
+ZULETZT GEAeNDERT
+=================
+
05.01.2010, Zesstra
-
diff --git a/doc/props/P_TIMED_ATTR_MOD b/doc/props/P_TIMED_ATTR_MOD
index 1175c50..fa7db3f 100644
--- a/doc/props/P_TIMED_ATTR_MOD
+++ b/doc/props/P_TIMED_ATTR_MOD
@@ -1,59 +1,78 @@
-NAME:
- P_TIMED_ATTR_MOD "timed_attr_mod"
-DEFINIERT IN:
- /sys/living/attributes.h
+P_TIMED_ATTR_MOD
+****************
-BESCHREIBUNG:
- In dieser Property werden Attribut-Modifikatoren gespeichert, die
- nicht ueber laengere Zeit wirksam sein sollen.
- Die Wirksamkeit der Modifikatoren kann an Zeit und Objekte
- gebunden werden.
- Intern werden die Modifikatoren in einer Datenstruktur der Form
+NAME
+====
- ({
- ({ Ablaufzeiten }),
- ([ Key : Ablaufobjekt ]),
- ([ Key : ([ Mapping mit den Modifikatoren ]);
- Ablaufzeit ; Ablaufobjekt ; Nachrichtenempfaenger
- ])
- })
+ P_TIMED_ATTR_MOD "timed_attr_mod"
- gespeichert mit:
- * Ablaufzeiten: Zeit in Sekunden seit 1. Jan 1970, 0.0:0 GMT
- * Ablaufobjekte: Objekte, an deren Existenz die Attribut-
- veraenderungen gebunden sind
- * Nachrichtenempfaenger:
- Objekte/Klassen, welche ueber abgelaufene Attributveraenderung
- durch den Aufruf von "NotifyTimedAttrModExpired" (mit key als
- Argument) benachrichtigt werden.
- Das Setzen der Werte erfolgt NUR ueber die Methoden SetTimedAttrModifier
- und DeleteTimedAttrModifier.
+DEFINIERT IN
+============
- Die Daten zu einem Key koennen ueber QueryTimedAttrModifier abgefragt
- werden. Die Abfrage mittels QueryProp liefert eine Kopie der gueltigen
- Datenstruktur, die per Query nicht (siehe Bemerkungen).
+ /sys/living/attributes.h
- Die Bedingungen fuer die ueber P_TIMED_ATTR_MOD gesetzten
- Attributveraenderungen werden im Heartbeat in der Funktion
- attribute_hb ueberprueft. Eine verminderte Funktionalitaet im
- Falle von Magiern ist somit kein Fehlerfall.
-BEMERKUNGEN:
- Keine echte Property. Die Methode _query_timed_attr_mod() in
- /std/living/attributes.c stellt die Daten zusammen.
+BESCHREIBUNG
+============
- ACHTUNG: Bitte nur die bereitgestellten Methoden zur Manipulation
- benutzen! Setzen als Property hat keinen Effekt.
+ In dieser Property werden Attribut-Modifikatoren gespeichert, die
+ nicht ueber laengere Zeit wirksam sein sollen.
+ Die Wirksamkeit der Modifikatoren kann an Zeit und Objekte
+ gebunden werden.
-SIEHE AUCH:
- QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
- SetAttribute(), SetRealAttribute(), UpdateAttributes(),
- SetTimedAttrModifier(), QueryTimedAttrModifier(),
- DeleteTimedAttrModifier(),
- P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,
- P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
-----------------------------------------------------------------------------
+ Intern werden die Modifikatoren in einer Datenstruktur der Form
+
+ ({
+ ({ Ablaufzeiten }),
+ ([ Key : Ablaufobjekt ]),
+ ([ Key : ([ Mapping mit den Modifikatoren ]);
+ Ablaufzeit ; Ablaufobjekt ; Nachrichtenempfaenger
+ ])
+ })
+
+ gespeichert mit:
+ * Ablaufzeiten: Zeit in Sekunden seit 1. Jan 1970, 0.0:0 GMT
+ * Ablaufobjekte: Objekte, an deren Existenz die Attribut-
+ veraenderungen gebunden sind
+ * Nachrichtenempfaenger:
+ Objekte/Klassen, welche ueber abgelaufene Attributveraenderung
+ durch den Aufruf von "NotifyTimedAttrModExpired" (mit key als
+ Argument) benachrichtigt werden.
+
+ Das Setzen der Werte erfolgt NUR ueber die Methoden SetTimedAttrModifier
+ und DeleteTimedAttrModifier.
+
+ Die Daten zu einem Key koennen ueber QueryTimedAttrModifier abgefragt
+ werden. Die Abfrage mittels QueryProp liefert eine Kopie der gueltigen
+ Datenstruktur, die per Query nicht (siehe Bemerkungen).
+
+ Die Bedingungen fuer die ueber P_TIMED_ATTR_MOD gesetzten
+ Attributveraenderungen werden im Heartbeat in der Funktion
+ attribute_hb ueberprueft. Eine verminderte Funktionalitaet im
+ Falle von Magiern ist somit kein Fehlerfall.
+
+
+BEMERKUNGEN
+===========
+
+ Keine echte Property. Die Methode _query_timed_attr_mod() in
+ /std/living/attributes.c stellt die Daten zusammen.
+
+ ACHTUNG: Bitte nur die bereitgestellten Methoden zur Manipulation
+ benutzen! Setzen als Property hat keinen Effekt.
+
+
+SIEHE AUCH
+==========
+
+ QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+ SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+ SetTimedAttrModifier(), QueryTimedAttrModifier(),
+ DeleteTimedAttrModifier(),
+ P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,
+ P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
Last modified: Tue Jul 27 20:00:20 2004 by Muadib
diff --git a/doc/props/P_TIMEZONE b/doc/props/P_TIMEZONE
index 8243d07..7e4ce7d 100644
--- a/doc/props/P_TIMEZONE
+++ b/doc/props/P_TIMEZONE
@@ -1,10 +1,23 @@
-NAME:
- P_TIMEZONE "timezone"
-DEFINIERT IN:
- /sys/player/base.h
+P_TIMEZONE
+**********
-BESCHREIBUNG:
- Ein Integer-Wert, der bei der Uhrzeitmeldung und beim Befehl
- "(uhr)zeit" beruecksichtig wird. Gibt die Anzahl der Stunden
- Zeitabweichung von Berliner Zeit an.
+
+NAME
+====
+
+ P_TIMEZONE "timezone"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Ein Integer-Wert, der bei der Uhrzeitmeldung und beim Befehl
+ "(uhr)zeit" beruecksichtig wird. Gibt die Anzahl der Stunden
+ Zeitabweichung von Berliner Zeit an.
diff --git a/doc/props/P_TITLE b/doc/props/P_TITLE
index 49afd57..555e26a 100644
--- a/doc/props/P_TITLE
+++ b/doc/props/P_TITLE
@@ -1,8 +1,21 @@
-NAME:
- P_TITLE "title"
-DEFINIERT IN:
- /sys/player/description.h
+P_TITLE
+*******
-BESCHREIBUNG:
- Titel des Spielers. Erscheint hinter dem Namen in Kurz/Langbeschreibung.
+
+NAME
+====
+
+ P_TITLE "title"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+ Titel des Spielers. Erscheint hinter dem Namen in Kurz/Langbeschreibung.
diff --git a/doc/props/P_TOO_HEAVY_MSG b/doc/props/P_TOO_HEAVY_MSG
index 27ef315..c2a40ea 100644
--- a/doc/props/P_TOO_HEAVY_MSG
+++ b/doc/props/P_TOO_HEAVY_MSG
@@ -1,31 +1,50 @@
-NAME:
- P_TOO_HEAVY_MSG "too_heavy_msg"
-DEFINIERT IN:
- /sys/thing/moving.h
+P_TOO_HEAVY_MSG
+***************
-BESCHREIBUNG:
- Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
- versucht, ein Objekt in einen Behaelter zu legen, fuer den dieses Objekt
- zu schwer ist.
- Die Property ist im Behaelter zu setzen.
- Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
- so wird die Standardmeldung ausgegeben.
- ("<Objekt> passt in <Behaelter> nicht mehr rein.")
- Der String in der Property wird noch durch replace_personal()
- verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
- zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
- umgebrochen.
- Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
- ganz.
-BEISPIELE:
- SetProp(P_TOO_HEAVY_MSG, "Wenn du @WEN1 noch in den Beutel stecken"
- " wuerdest, wuerde er reissen.");
+NAME
+====
-SIEHE AUCH:
- Aehnliches: P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG, P_NOINSERT_MSG,
- P_NOLEAVE_MSG, P_NODROP, P_NOGET
- Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
- P_WEAR_MSG, P_WIELD_MSG
- Sonstiges: replace_personal(E), /std/living/put_and_get.c
+ P_TOO_HEAVY_MSG "too_heavy_msg"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
+ versucht, ein Objekt in einen Behaelter zu legen, fuer den dieses Objekt
+ zu schwer ist.
+ Die Property ist im Behaelter zu setzen.
+ Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+ so wird die Standardmeldung ausgegeben.
+ ("<Objekt> passt in <Behaelter> nicht mehr rein.")
+ Der String in der Property wird noch durch replace_personal()
+ verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
+ zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
+ umgebrochen.
+ Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+ ganz.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_TOO_HEAVY_MSG, "Wenn du @WEN1 noch in den Beutel stecken"
+ " wuerdest, wuerde er reissen.");
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG, P_NOINSERT_MSG,
+ P_NOLEAVE_MSG, P_NODROP, P_NOGET
+ Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+ P_WEAR_MSG, P_WIELD_MSG
+ Sonstiges: replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_TOO_MANY_MSG b/doc/props/P_TOO_MANY_MSG
index e23ce32..fd1ffe9 100644
--- a/doc/props/P_TOO_MANY_MSG
+++ b/doc/props/P_TOO_MANY_MSG
@@ -1,31 +1,50 @@
-NAME:
- P_TOO_MANY_MSG "too_many_msg"
-DEFINIERT IN:
- /sys/thing/moving.h
+P_TOO_MANY_MSG
+**************
-BESCHREIBUNG:
- Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
- versucht, ein Objekt in einen Behaelter zu legen, der schon die maximale
- Anzahl an Objekten enthaelt.
- Die Property ist im Behaelter zu setzen.
- Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
- so wird die Standardmeldung ausgegeben.
- ("Dafuer ist nicht mehr genug Platz in <Behaelter>.")
- Der String in der Property wird noch durch replace_personal()
- verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
- zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
- umgebrochen.
- Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
- ganz.
-BEISPIELE:
- SetProp(P_TOO_MANY_MSG, "Aber der Korb hat doch nur drei Faecher, die"
- " sind alle schon voll.");
+NAME
+====
-SIEHE AUCH:
- Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_NOINSERT_MSG,
- P_NOLEAVE_MSG, P_NODROP, P_NOGET
- Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
- P_WEAR_MSG, P_WIELD_MSG
- Sonstiges: replace_personal(E), /std/living/put_and_get.c
+ P_TOO_MANY_MSG "too_many_msg"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
+ versucht, ein Objekt in einen Behaelter zu legen, der schon die maximale
+ Anzahl an Objekten enthaelt.
+ Die Property ist im Behaelter zu setzen.
+ Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+ so wird die Standardmeldung ausgegeben.
+ ("Dafuer ist nicht mehr genug Platz in <Behaelter>.")
+ Der String in der Property wird noch durch replace_personal()
+ verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
+ zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
+ umgebrochen.
+ Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+ ganz.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_TOO_MANY_MSG, "Aber der Korb hat doch nur drei Faecher, die"
+ " sind alle schon voll.");
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_NOINSERT_MSG,
+ P_NOLEAVE_MSG, P_NODROP, P_NOGET
+ Erfolg: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+ P_WEAR_MSG, P_WIELD_MSG
+ Sonstiges: replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_TOTAL_AC b/doc/props/P_TOTAL_AC
index 222cffa..baa9cf9 100644
--- a/doc/props/P_TOTAL_AC
+++ b/doc/props/P_TOTAL_AC
@@ -1,23 +1,42 @@
-NAME:
- P_TOTAL_AC "total_ac"
-DEFINIERT IN:
- /sys/living/combat.h
+P_TOTAL_AC
+**********
-BESCHREIBUNG:
- Numerischer Wert der Abwehrstaerke des Wesens.
- Dieser wird durch Aufaddieren der P_AC aller getragenen Ruestungen
- bestimmt. Aus diesem Grund ist das Abfragen dieser Property ziemlich
- teuer. Falls das Ergebnis mehrfach kurz hintereinander gebraucht wird,
- sollte die Property auf jeden Fall nur einmal abgefragt und der Wert
- gespeichert werden.
-BEMERKUNGEN:
- Auf diese Property sollte nicht mittels Query() oder Set() zugegriffen
- werden, das Setzen von Query- oder Setmethoden bitte auf jeden Fall
- unterlassen.
+NAME
+====
-SIEHE AUCH:
- P_AC
+ P_TOTAL_AC "total_ac"
+
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert der Abwehrstaerke des Wesens.
+ Dieser wird durch Aufaddieren der P_AC aller getragenen Ruestungen
+ bestimmt. Aus diesem Grund ist das Abfragen dieser Property ziemlich
+ teuer. Falls das Ergebnis mehrfach kurz hintereinander gebraucht wird,
+ sollte die Property auf jeden Fall nur einmal abgefragt und der Wert
+ gespeichert werden.
+
+
+BEMERKUNGEN
+===========
+
+ Auf diese Property sollte nicht mittels Query() oder Set() zugegriffen
+ werden, das Setzen von Query- oder Setmethoden bitte auf jeden Fall
+ unterlassen.
+
+
+SIEHE AUCH
+==========
+
+ P_AC
05.09.2008, Zesstra
diff --git a/doc/props/P_TOTAL_LIGHT b/doc/props/P_TOTAL_LIGHT
index 41006d2..f4f0083 100644
--- a/doc/props/P_TOTAL_LIGHT
+++ b/doc/props/P_TOTAL_LIGHT
@@ -1,23 +1,42 @@
-NAME:
- P_TOTAL_LIGHT "total_light"
-DEFINIERT IN:
- /sys/properties.h
+P_TOTAL_LIGHT
+*************
-BESCHREIBUNG:
- Gibt das Lichtlevel an, das von einem Objekt ausgeht. Hierzu wird das
- eigene Lichtlevel P_LIGHT mit dem gesamten Inhalt eines Containers
- verrechnet.
- Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
- da das Lichtlevel ggf. neu berechnet werden muss!
+NAME
+====
- Ein direktes setzen dieser Property ist NICHT moeglich, hierzu bitte
- P_LIGHT benutzen!
+ P_TOTAL_LIGHT "total_light"
-BEMERKUNGEN:
- Das ist die VON einem Objekt ausgehende Lichtstaerke. Fuer das IN einem
- Raum herrschende Licht bitte P_INT_LIGHT abfragen!
-SIEHE AUCH:
- P_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Gibt das Lichtlevel an, das von einem Objekt ausgeht. Hierzu wird das
+ eigene Lichtlevel P_LIGHT mit dem gesamten Inhalt eines Containers
+ verrechnet.
+
+ Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
+ da das Lichtlevel ggf. neu berechnet werden muss!
+
+ Ein direktes setzen dieser Property ist NICHT moeglich, hierzu bitte
+ P_LIGHT benutzen!
+
+
+BEMERKUNGEN
+===========
+
+ Das ist die VON einem Objekt ausgehende Lichtstaerke. Fuer das IN einem
+ Raum herrschende Licht bitte P_INT_LIGHT abfragen!
+
+
+SIEHE AUCH
+==========
+
+ P_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_TOTAL_OBJECTS b/doc/props/P_TOTAL_OBJECTS
index 5f01567..4e2d009 100644
--- a/doc/props/P_TOTAL_OBJECTS
+++ b/doc/props/P_TOTAL_OBJECTS
@@ -1,16 +1,32 @@
-NAME:
- P_TOTAL_OBJECTS "total_objects"
-DEFINIERT IN:
- /sys/container.h
+P_TOTAL_OBJECTS
+***************
-BESCHREIBUNG:
- Anzahl der Objekte im Container. Diese Property kann man nur abfragen!
- Es werden nur Objekte gezaehlt, deren Methode short() einen
- Wert != 0 zurueckgibt. Insofern koennen Spielern beliebig
- viele unsichtbare Objekte gegeben werden ohne sie zu behindern.
-SIEHE AUCH:
- P_MAX_OBJECTS
+NAME
+====
+
+ P_TOTAL_OBJECTS "total_objects"
+
+
+DEFINIERT IN
+============
+
+ /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der Objekte im Container. Diese Property kann man nur abfragen!
+ Es werden nur Objekte gezaehlt, deren Methode short() einen
+ Wert != 0 zurueckgibt. Insofern koennen Spielern beliebig
+ viele unsichtbare Objekte gegeben werden ohne sie zu behindern.
+
+
+SIEHE AUCH
+==========
+
+ P_MAX_OBJECTS
26.Jan 2005 Gloinson
diff --git a/doc/props/P_TOTAL_WC b/doc/props/P_TOTAL_WC
index 35ef4a9..19349f0 100644
--- a/doc/props/P_TOTAL_WC
+++ b/doc/props/P_TOTAL_WC
@@ -1,27 +1,45 @@
-NAME:
- P_TOTAL_WC "total_wc"
-DEFINIERT IN:
- /sys/properties.h
+P_TOTAL_WC
+**********
-BESCHREIBUNG:
- In dieser Property wird der numerische Wert der Angriffsstaerke
- eines Lebewesens registriert.
- Hierzu werden die P_WC von P_WEAPON bzw. P_HANDS sowie die Kraft des
- Lebewesens beruecksichtigt.
- Nicht eingerechnet in die Angriffsstaerke sind natuerlich Extraspells und
- -skills des Angreifers.
- Braucht man den Wert mehrfach kurz hintereinander, sollte man die Prop aber
- nur einmal abfragen und den Wert speichern (sofern sich in der Zwischenzeit
- nichts an der Waffe, den Hands oder den Attributen des Lebenwesens aendert).
-BEMERKUNGEN:
- Auf diese Property sollte nicht mittels Query() oder Set() zugegriffen
- werden, das Setzen von Query- oder Setmethoden bitte auf jeden Fall
- unterlassen.
+NAME
+====
-SIEHE AUCH:
- P_HANDS, P_WC, P_XP
+ P_TOTAL_WC "total_wc"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Property wird der numerische Wert der Angriffsstaerke
+ eines Lebewesens registriert.
+ Hierzu werden die P_WC von P_WEAPON bzw. P_HANDS sowie die Kraft des
+ Lebewesens beruecksichtigt.
+ Nicht eingerechnet in die Angriffsstaerke sind natuerlich Extraspells und
+ -skills des Angreifers.
+ Braucht man den Wert mehrfach kurz hintereinander, sollte man die Prop aber
+ nur einmal abfragen und den Wert speichern (sofern sich in der Zwischenzeit
+ nichts an der Waffe, den Hands oder den Attributen des Lebenwesens aendert).
+
+
+BEMERKUNGEN
+===========
+
+ Auf diese Property sollte nicht mittels Query() oder Set() zugegriffen
+ werden, das Setzen von Query- oder Setmethoden bitte auf jeden Fall
+ unterlassen.
+
+
+SIEHE AUCH
+==========
+
+ P_HANDS, P_WC, P_XP
+
05.09.2008, Zesstra
diff --git a/doc/props/P_TOTAL_WEIGHT b/doc/props/P_TOTAL_WEIGHT
index 2b62db1..bdb72f6 100644
--- a/doc/props/P_TOTAL_WEIGHT
+++ b/doc/props/P_TOTAL_WEIGHT
@@ -1,8 +1,21 @@
-NAME:
- P_TOTAL_WEIGHT "total_weight"
-DEFINIERT IN:
- /sys/thing/restrictions.h
+P_TOTAL_WEIGHT
+**************
-BESCHREIBUNG:
- Gewicht incl. Inhalt in Gramm. P_WEIGHT_PERCENT wird beruecksichtigt.
+
+NAME
+====
+
+ P_TOTAL_WEIGHT "total_weight"
+
+
+DEFINIERT IN
+============
+
+ /sys/thing/restrictions.h
+
+
+BESCHREIBUNG
+============
+
+ Gewicht incl. Inhalt in Gramm. P_WEIGHT_PERCENT wird beruecksichtigt.
diff --git a/doc/props/P_TOUCH_DETAILS b/doc/props/P_TOUCH_DETAILS
index d0670f6..f4345db 100644
--- a/doc/props/P_TOUCH_DETAILS
+++ b/doc/props/P_TOUCH_DETAILS
@@ -1,24 +1,43 @@
-NAME:
- P_TOUCH_DETAILS "touch_details"
-DEFINIERT IN:
- /sys/thing/description.h
+P_TOUCH_DETAILS
+***************
-BESCHREIBUNG:
- Diese Property entspricht dem P_DETAILS fuer Standarddetails,
- nur werden hierin Gerueche gespeichert:
- Diese Property enthaelt ein Mapping, in der Details im Objekt
- definiert werden und Beschreibungen, die ausgegeben werden, wenn man
- sich diese Details anschaut.
-BEMERKUNGEN:
- Man sollte diese Property nicht per Hand veraendern, sondern die
- Funktionen nutzen.
+NAME
+====
-SIEHE AUCH:
- Setzen: AddTouchDetail()
- Loeschen: RemoveTouchDetail()
- Aehnlich: AddDetail(), P_DETAILS
- Sonstiges: GetDetail(), break_string()
+ P_TOUCH_DETAILS "touch_details"
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property entspricht dem P_DETAILS fuer Standarddetails,
+ nur werden hierin Gerueche gespeichert:
+ Diese Property enthaelt ein Mapping, in der Details im Objekt
+ definiert werden und Beschreibungen, die ausgegeben werden, wenn man
+ sich diese Details anschaut.
+
+
+BEMERKUNGEN
+===========
+
+ Man sollte diese Property nicht per Hand veraendern, sondern die
+ Funktionen nutzen.
+
+
+SIEHE AUCH
+==========
+
+ Setzen: AddTouchDetail()
+ Loeschen: RemoveTouchDetail()
+ Aehnlich: AddDetail(), P_DETAILS
+ Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_TPORT_COST_IN b/doc/props/P_TPORT_COST_IN
index d15e948..f2e51a9 100644
--- a/doc/props/P_TPORT_COST_IN
+++ b/doc/props/P_TPORT_COST_IN
@@ -1,9 +1,22 @@
-NAME:
- P_TPORT_COST_IN "tport_cost_in"
-DEFINIERT IN:
- /sys/properties.h
+P_TPORT_COST_IN
+***************
-BESCHREIBUNG:
- In einem Raum mit Sehertor: Kostenanteil, um sich in den Raum zu
- teleportieren
+
+NAME
+====
+
+ P_TPORT_COST_IN "tport_cost_in"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ In einem Raum mit Sehertor: Kostenanteil, um sich in den Raum zu
+ teleportieren
diff --git a/doc/props/P_TPORT_COST_OUT b/doc/props/P_TPORT_COST_OUT
index 369a35d..c97c752 100644
--- a/doc/props/P_TPORT_COST_OUT
+++ b/doc/props/P_TPORT_COST_OUT
@@ -1,9 +1,22 @@
-NAME:
- P_TPORT_COST_OUT "tport_cost_out"
-DEFINIERT IN:
- /sys/properties.h
+P_TPORT_COST_OUT
+****************
-BESCHREIBUNG:
- In einem Raum mit Sehertor: Kostenanteil, sich aus dem Raum heraus
- zu teleportieren
+
+NAME
+====
+
+ P_TPORT_COST_OUT "tport_cost_out"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ In einem Raum mit Sehertor: Kostenanteil, sich aus dem Raum heraus
+ zu teleportieren
diff --git a/doc/props/P_TRANK_FINDEN b/doc/props/P_TRANK_FINDEN
index 8db2365..a3e270d 100644
--- a/doc/props/P_TRANK_FINDEN
+++ b/doc/props/P_TRANK_FINDEN
@@ -1,9 +1,22 @@
-NAME:
- P_TRANK_FINDEN "trank_finden"
-DEFINIERT IN:
- /sys/player/potion.h
+P_TRANK_FINDEN
+**************
-BESCHREIBUNG:
- Wenn die Property auf 1 steht kann immer ein Zaubertrank gefunden
- werden, auch wenn er nicht in der Liste des Spielers steht.
+
+NAME
+====
+
+ P_TRANK_FINDEN "trank_finden"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/potion.h
+
+
+BESCHREIBUNG
+============
+
+ Wenn die Property auf 1 steht kann immer ein Zaubertrank gefunden
+ werden, auch wenn er nicht in der Liste des Spielers steht.
diff --git a/doc/props/P_TRANSPARENT b/doc/props/P_TRANSPARENT
index a081b00..56c0558 100644
--- a/doc/props/P_TRANSPARENT
+++ b/doc/props/P_TRANSPARENT
@@ -1,29 +1,46 @@
+
P_TRANSPARENT
-NAME:
- P_TRANSPARENT "transparent"
+*************
-DEFINIERT IN:
- /sys/container.h
-BESCHREIBUNG:
- ist != 0, wenn in einen Container hinein (offen) oder aus einem
- hinausgeschaut werden kann.
+NAME
+====
- Schaut man aus einem hinaus, erhaelt der Spieler normalerweise die
- Meldung 'Ausserhalb siehst Du:'. Diese kann jedoch durch eine eigene,
- stimmigere Meldung ersetzt werden, wenn in P_TRANSPARENT ein String
- mit dieser Meldung angegeben wird.
+ P_TRANSPARENT "transparent"
-BEISPIEL:
- SetProp(P_TRANSPARENT,1); -> normale Meldung
- SetProp(P_TRANSPARENT,"Vom Ruecken des Pferdes aus siehst Du:\n");
+DEFINIERT IN
+============
- Diese Meldung ist natuerlich nur dann sinnvoll, wenn es sich
- auch tatsaechlich um ein Pferd handelt :-)
+ /sys/container.h
-SIEHE AUCH:
- int_long()
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+ ist != 0, wenn in einen Container hinein (offen) oder aus einem
+ hinausgeschaut werden kann.
+
+ Schaut man aus einem hinaus, erhaelt der Spieler normalerweise die
+ Meldung 'Ausserhalb siehst Du:'. Diese kann jedoch durch eine eigene,
+ stimmigere Meldung ersetzt werden, wenn in P_TRANSPARENT ein String
+ mit dieser Meldung angegeben wird.
+
+
+BEISPIEL
+========
+
+ SetProp(P_TRANSPARENT,1); -> normale Meldung
+
+ SetProp(P_TRANSPARENT,"Vom Ruecken des Pferdes aus siehst Du:\n");
+
+ Diese Meldung ist natuerlich nur dann sinnvoll, wenn es sich
+ auch tatsaechlich um ein Pferd handelt :-)
+
+
+SIEHE AUCH
+==========
+
+ int_long()
+
Last modified: Mon Jul 18 24:00:00 2001 by Tilly
diff --git a/doc/props/P_TRAVEL_CMDS b/doc/props/P_TRAVEL_CMDS
index 32f6f65..3f9b0d5 100644
--- a/doc/props/P_TRAVEL_CMDS
+++ b/doc/props/P_TRAVEL_CMDS
@@ -1,38 +1,62 @@
-NAME:
- P_TRAVEL_CMDS "travel_cmds"
-DEFINIERT IN:
- /sys/transport.h
+P_TRAVEL_CMDS
+*************
-BESCHREIBUNG:
- Ein Array mit Befehlen, die zum Verlassen UND Betreten des Trans-
- porters fuehren.
-BEISPIEL:
- void create()
- {
- ::create();
+NAME
+====
- SetProp(P_TRAVEL_CMDS,({ "steig","steige" }) );
+ P_TRAVEL_CMDS "travel_cmds"
- }
- Als Parameter werden hier ausschliesslich 'auf,in' und 'von,aus'
- verarbeitet.
+DEFINIERT IN
+============
- steige auf|in <xxx> fuehrt also zum Betreten des Transporters,
- steige von|aus <xxx> dagegen fuehrt zum Verlassen desselben.
+ /sys/transport.h
-BEMERKUNGEN:
- Um /std/transport.c nicht aufzublaehen, werden weitere Parameter wie
- etwa 'steige auf|in das|die|den xxx' _nicht_ unterstuetzt!
- Hier muss der verantwortliche Magier schon eine eigene Loesung finden
- und in seinen Transporter schreiben.
+BESCHREIBUNG
+============
-SIEHE AUCH:
- P_LEAVEFAIL, P_ENTERFAIL, P_ENTERCMDS, P_LEAVECMDS, transporter,
+ Ein Array mit Befehlen, die zum Verlassen UND Betreten des Trans-
+ porters fuehren.
-LETZTER AENDERUNG:
- Don, 24.01.2002, 10:15:07h von Tilly
-
\ No newline at end of file
+
+BEISPIEL
+========
+
+ void create()
+ {
+ ::create();
+
+ SetProp(P_TRAVEL_CMDS,({ "steig","steige" }) );
+
+ }
+
+ Als Parameter werden hier ausschliesslich 'auf,in' und 'von,aus'
+ verarbeitet.
+
+ steige auf|in <xxx> fuehrt also zum Betreten des Transporters,
+ steige von|aus <xxx> dagegen fuehrt zum Verlassen desselben.
+
+
+BEMERKUNGEN
+===========
+
+ Um /std/transport.c nicht aufzublaehen, werden weitere Parameter wie
+ etwa 'steige auf|in das|die|den xxx' _nicht_ unterstuetzt!
+
+ Hier muss der verantwortliche Magier schon eine eigene Loesung finden
+ und in seinen Transporter schreiben.
+
+
+SIEHE AUCH
+==========
+
+ P_LEAVEFAIL, P_ENTERFAIL, P_ENTERCMDS, P_LEAVECMDS, transporter,
+
+
+LETZTER AENDERUNG
+=================
+
+ Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_TRAVEL_INFO b/doc/props/P_TRAVEL_INFO
index b3a502e..720e9ec 100644
--- a/doc/props/P_TRAVEL_INFO
+++ b/doc/props/P_TRAVEL_INFO
@@ -1,31 +1,53 @@
-NAME:
- P_TRAVEL_INFO "travel_info"
-DEFINIERT IN:
- /sys/transport.h
+P_TRAVEL_INFO
+*************
-BESCHREIBUNG:
- Array mit Informationen zur vom Spieler gewuenschten Reiseroute.
- [0] Der Raum (object), in dem die Reiseroute momentan
- 'aktiv' ist. Nur hier wird sie beruecksichtigt.
+NAME
+====
- [1] Das gewuenschte Transportmittel (object) falls
- gewaehlt. Ansonsten 0.
+ P_TRAVEL_INFO "travel_info"
- [2] Der gewuenschte Zielort (string) oder 0 (ziellos).
- [3] Der gewuenschte Zielort als Richtung (string), falls
- gewaehlt (z.B. 'zur Feuerinsel'). Sonst 0. Wird aus
- P_HARBOUR des Zielraumes ausgelesen.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- Diese Property wird von /std/transport.c sowie std/player/travel.c
- verwendet, und sollte NICHT von anderen Objekten oder per Hand
- veraendert werden!
+ /sys/transport.h
-SIEHE AUCH:
- /std/transport.c, /std/player/travel.c, reise
-LETZTER AENDERUNG:
- Don, 24.01.2002, 10:15:07h von Tilly
+BESCHREIBUNG
+============
+
+ Array mit Informationen zur vom Spieler gewuenschten Reiseroute.
+
+ [0] Der Raum (object), in dem die Reiseroute momentan
+ 'aktiv' ist. Nur hier wird sie beruecksichtigt.
+
+ [1] Das gewuenschte Transportmittel (object) falls
+ gewaehlt. Ansonsten 0.
+
+ [2] Der gewuenschte Zielort (string) oder 0 (ziellos).
+
+ [3] Der gewuenschte Zielort als Richtung (string), falls
+ gewaehlt (z.B. 'zur Feuerinsel'). Sonst 0. Wird aus
+ P_HARBOUR des Zielraumes ausgelesen.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property wird von /std/transport.c sowie std/player/travel.c
+ verwendet, und sollte NICHT von anderen Objekten oder per Hand
+ veraendert werden!
+
+
+SIEHE AUCH
+==========
+
+ /std/transport.c, /std/player/travel.c, reise
+
+
+LETZTER AENDERUNG
+=================
+
+ Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_TRAY b/doc/props/P_TRAY
index 34c9d90..0c394d4 100644
--- a/doc/props/P_TRAY
+++ b/doc/props/P_TRAY
@@ -1,8 +1,21 @@
-NAME:
- P_TRAY "tray"
-DEFINIERT IN:
- /sys/properties.h
+P_TRAY
+******
-BESCHREIBUNG:
- *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+ P_TRAY "tray"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_TTY b/doc/props/P_TTY
index 9e4aded..87841fd 100644
--- a/doc/props/P_TTY
+++ b/doc/props/P_TTY
@@ -1,28 +1,45 @@
-NAME:
- P_TTY "tty"
-DEFINIERT IN:
- /secure/telnetneg.h
+P_TTY
+*****
-BESCHREIBUNG:
- Name der Terminalemulation, die der Spieler nutzt.
- Es existieren bisher "dumb", "vt100" und "ansi".
-
-ANMERKUNG:
- Farben duerfen ausschliesslich bei P_TTY=="ansi" benutzt werden.
- Bei nicht farbfaehigen Terminals koennen ANSI-Codes die gesamte
- Ausgabe zerschiessen!
+NAME
+====
- Die Attribute fett, unterstrichen, blinkend und invers koennen auch
- schon von vt100-Terminals dargestellt werden. Aber nicht ueberall
- sind alle Attribute/Farben implementiert.
+ P_TTY "tty"
- Bei allen ANSI-Codes sind drei Sachen zu beachten:
-
- 1) Sparsam benutzen! Aufgezwungene Hervorhebungen koennen
- Spieler ganz schnell nerven.
- 2) Nicht jeder benutzt dieselbe Hintergrundfarbe!
+DEFINIERT IN
+============
- 3) Sparsam benutzen! Beser noch: nur im Notfall!
+ /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+ Name der Terminalemulation, die der Spieler nutzt.
+ Es existieren bisher "dumb", "vt100" und "ansi".
+
+
+ANMERKUNG
+=========
+
+ Farben duerfen ausschliesslich bei P_TTY=="ansi" benutzt werden.
+ Bei nicht farbfaehigen Terminals koennen ANSI-Codes die gesamte
+ Ausgabe zerschiessen!
+
+ Die Attribute fett, unterstrichen, blinkend und invers koennen auch
+ schon von vt100-Terminals dargestellt werden. Aber nicht ueberall
+ sind alle Attribute/Farben implementiert.
+
+ Bei allen ANSI-Codes sind drei Sachen zu beachten:
+
+
+
+ 1) Sparsam benutzen! Aufgezwungene Hervorhebungen koennen
+ Spieler ganz schnell nerven.
+
+ 2) Nicht jeder benutzt dieselbe Hintergrundfarbe!
+
+ 3) Sparsam benutzen! Beser noch: nur im Notfall!
diff --git a/doc/props/P_TTY_COLS b/doc/props/P_TTY_COLS
index 1716a33..8780417 100644
--- a/doc/props/P_TTY_COLS
+++ b/doc/props/P_TTY_COLS
@@ -1,22 +1,40 @@
-NAME:
- P_TTY_COLS "tty_cols"
-DEFINIERT IN:
- /secure/telnetneg.h
+P_TTY_COLS
+**********
-BESCHREIBUNG:
- In dieser Properties steht die Anzahl der Spalten, die das
- Terminalfenster des Spielers derzeit hat.
- Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
- Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
- leer.
- Das Setzen der Property aendert die Fenstergroesse des Spielers
- natuerlich nicht.
+NAME
+====
-SIEHE AUCH:
- P_TTY_ROWS, P_TTY_TYPE, P_TTY_SHOW
+ P_TTY_COLS "tty_cols"
-LETZTE AeNDERUNG:
- Sat, 06.02.1999, 14:00:00 von Paracelsus
+DEFINIERT IN
+============
+
+ /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Properties steht die Anzahl der Spalten, die das
+ Terminalfenster des Spielers derzeit hat.
+
+ Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
+ Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
+ leer.
+ Das Setzen der Property aendert die Fenstergroesse des Spielers
+ natuerlich nicht.
+
+
+SIEHE AUCH
+==========
+
+ P_TTY_ROWS, P_TTY_TYPE, P_TTY_SHOW
+
+
+LETZTE AeNDERUNG
+================
+
+ Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_TTY_ROWS b/doc/props/P_TTY_ROWS
index 1294d9b..7289109 100644
--- a/doc/props/P_TTY_ROWS
+++ b/doc/props/P_TTY_ROWS
@@ -1,22 +1,40 @@
-NAME:
- P_TTY_ROWS "tty_rows"
-DEFINIERT IN:
- /secure/telnetneg.h
+P_TTY_ROWS
+**********
-BESCHREIBUNG:
- In dieser Properties steht die Anzahl der Zeilen, die das
- Terminalfenster des Spielers derzeit hat.
- Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
- Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
- leer.
- Das Setzen der Property aendert die Fenstergroesse des Spielers
- natuerlich nicht.
+NAME
+====
-SIEHE AUCH:
- P_TTY_COLS, P_TTY_TYPE, P_TTY_SHOW
+ P_TTY_ROWS "tty_rows"
-LETZTE AeNDERUNG:
- Sat, 06.02.1999, 14:00:00 von Paracelsus
+DEFINIERT IN
+============
+
+ /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Properties steht die Anzahl der Zeilen, die das
+ Terminalfenster des Spielers derzeit hat.
+
+ Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
+ Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
+ leer.
+ Das Setzen der Property aendert die Fenstergroesse des Spielers
+ natuerlich nicht.
+
+
+SIEHE AUCH
+==========
+
+ P_TTY_COLS, P_TTY_TYPE, P_TTY_SHOW
+
+
+LETZTE AeNDERUNG
+================
+
+ Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_TTY_SHOW b/doc/props/P_TTY_SHOW
index f727433..a43076f 100644
--- a/doc/props/P_TTY_SHOW
+++ b/doc/props/P_TTY_SHOW
@@ -1,17 +1,35 @@
-NAME:
- P_TTY_SHOW "tty_show"
-DEFINIERT IN:
- /secure/telnetneg.h
+P_TTY_SHOW
+**********
-BESCHREIBUNG:
- Bei Telnets, die Telnetnegotiations unterstuetzen, wird eine Aenderung
- der Fenstergroesse dem Spielerobjekt mitgeteilt. Steht in P_TTY_SHOW
- ein Wert ungleich Null, wird dem Spieler diese Aenderung mitgeteilt.
-SIEHE AUCH:
- P_TTY_ROWS, P_TTY_COLS, P_TTY_TYPE, telnegs
+NAME
+====
-LETZTE AeNDERUNG:
- Sat, 06.02.1999, 14:00:00 von Paracelsus
+ P_TTY_SHOW "tty_show"
+
+DEFINIERT IN
+============
+
+ /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+ Bei Telnets, die Telnetnegotiations unterstuetzen, wird eine Aenderung
+ der Fenstergroesse dem Spielerobjekt mitgeteilt. Steht in P_TTY_SHOW
+ ein Wert ungleich Null, wird dem Spieler diese Aenderung mitgeteilt.
+
+
+SIEHE AUCH
+==========
+
+ P_TTY_ROWS, P_TTY_COLS, P_TTY_TYPE, telnegs
+
+
+LETZTE AeNDERUNG
+================
+
+ Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_TTY_TYPE b/doc/props/P_TTY_TYPE
index 6935b23..5842cb2 100644
--- a/doc/props/P_TTY_TYPE
+++ b/doc/props/P_TTY_TYPE
@@ -1,23 +1,41 @@
-NAME:
- P_TTY_TYPE "tty_type"
-DEFINIERT IN:
- /secure/telnetneg.h
+P_TTY_TYPE
+**********
-BESCHREIBUNG:
- In dieser Properties steht der Terminaltyp, den ein Spieler lokal auf
- seinem Rechner verwendet.
- Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
- Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
- leer. Die meisten Telnets/Clients geben ihren Terminaltyp allerdings
- nicht preis.
- Das Setzen der Property aendert den Terminaltyp des Spielers
- natuerlich nicht.
+NAME
+====
-SIEHE AUCH:
- P_TTY_COLS, P_TTY_ROWS, P_TTY_SHOW
+ P_TTY_TYPE "tty_type"
-LETZTE AeNDERUNG:
- Sat, 06.02.1999, 14:00:00 von Paracelsus
+DEFINIERT IN
+============
+
+ /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+ In dieser Properties steht der Terminaltyp, den ein Spieler lokal auf
+ seinem Rechner verwendet.
+
+ Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
+ Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
+ leer. Die meisten Telnets/Clients geben ihren Terminaltyp allerdings
+ nicht preis.
+ Das Setzen der Property aendert den Terminaltyp des Spielers
+ natuerlich nicht.
+
+
+SIEHE AUCH
+==========
+
+ P_TTY_COLS, P_TTY_ROWS, P_TTY_SHOW
+
+
+LETZTE AeNDERUNG
+================
+
+ Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_UNIT_DECAY_FLAGS b/doc/props/P_UNIT_DECAY_FLAGS
index f924ff7..25a5ed1 100644
--- a/doc/props/P_UNIT_DECAY_FLAGS
+++ b/doc/props/P_UNIT_DECAY_FLAGS
@@ -1,70 +1,90 @@
+
P_UNIT_DECAY_FLAGS
+******************
-NAME:
- P_UNIT_DECAY_FLAGS "unit_decay_flags"
-DEFINIERT IN:
- /sys/unit.h
+NAME
+====
-BESCHREIBUNG:
- Mit dieser Prop kann das Zerfallsverhalten gesteuert werden, entweder
- fuer alle Clones durch Setzen in der Blueprint oder fuer einzelne Clones.
+ P_UNIT_DECAY_FLAGS "unit_decay_flags"
- In dieser Prop koennen momentan 4 Flags gesetzt werden:
- - NO_DECAY:
- Zerfall ist abgeschaltet.
- - NO_DECAY_UNTIL_MOVE:
- Der Zerfall ist solange ausgesetzt, bis dieses Objekt in ein anderes
- Env bewegt wird. Setzt also ein NPC beim AddItem() diese Prop,
- zerfaellt seine Unit nicht, bis sie bewegt wurde (Leiche, Spieler
- etc.). Hierbei zaehlt das move() nicht, wenn das Objekt noch kein
- Env hatte, es zaehlen nur Moves von einem Env in ein anderes Env.
- Dieses Flag sollte nur in Clones gesetzt werden.
- - INACCURATE_DECAY
- Sollen z.b. 45.34 Einheiten zerfallen, wird der Rest von 0.34
- normalerweise als Wahrscheinlichkeit aufgefasst, dass eine
- zusaetzliche Einheit zerfaellt. Dieses Flag sorgt dafuer, dass
- dieser Rest weggeworfen wird und einfach 45 Einheiten zerfallen.
- Gleichzeitig wird bei diesem Flag aber _immer min_ 1 Einheit
- zerstoert!
- - ABSOLUTE_DECAY
- P_UNIT_DECAY_QUOTA wird nicht als prozentualer Anteil aufgefasst,
- sondern als absolute Zahl, d.h. es zerfallen immer einfach
- P_UNIT_DECAY_QUOTA Einheiten.
- Diese Flags koennen z.B. genutzt werden, den Zerfall fuer einzelne
- Objekte temporaer oder dauerhaft abzuschalten, auch wenn alle anderen
- Clones weiterzerfallen.
+DEFINIERT IN
+============
- Diese Prop kann in der Blueprint gesetzt werden. In diesem Fall wird
- allerdings NO_DECAY_UNTIL_MOVE ignoriert, weil die BP ja nie bewegt
- wuerde. NO_DECAY in der BP schaltet den Zerfallsprozess (temporaer) fuer
- alle Clones aus. Ist nie ein Zerfall gewuenscht, sollte in der Blueprint
- aber besser P_UNIT_DECAY_INTERVAL auf 0 gesetzt werden!
+ /sys/unit.h
- Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
- liefert ein klon->QueryProp(P_UNIT_DECAY_FLAGS) den in der Blueprint
- eingestellten Wert zurueck.
-
-BEMERKUNGEN:
- * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus der
- Blueprint zurueckgeben. Hierbei wird allerdings ein NO_DECAY_UNTIL_MOVE
- ausgefiltert, da dies den Zerfall fuer alle Objekte dauerhaft stoppen
- wuerde, weil BPs nicht bewegt werden.
- * Die Flags koennen "verodert" werden:
- SetProp(P_UNIT_DECAY_FLAGS, NO_DECAY_UNTIL_MOVE | ABSOLUTE_DECAY);
-BEISPIEL:
- // Dieser NPC hat tolle Pfeile, die sollen aber nicht zerfallen, solange
- // sie im Inventar des NPCs sind:
- AddItem("/d/tolleregion/tollermagier/obj/pfeile", REFRESH_NONE,
- ([ P_AMOUNT: 50+random(50),
- P_UNIT_DECAY_FLAGS: NO_DECAY_UNTIL_MOVE ]) );
+BESCHREIBUNG
+============
-SIEHE AUCH:
- unit
- P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_MIN
- DoDecay, DoDecayMessage
- /std/unit.c
+ Mit dieser Prop kann das Zerfallsverhalten gesteuert werden, entweder
+ fuer alle Clones durch Setzen in der Blueprint oder fuer einzelne Clones.
+
+ In dieser Prop koennen momentan 4 Flags gesetzt werden:
+ - NO_DECAY:
+ Zerfall ist abgeschaltet.
+ - NO_DECAY_UNTIL_MOVE:
+ Der Zerfall ist solange ausgesetzt, bis dieses Objekt in ein anderes
+ Env bewegt wird. Setzt also ein NPC beim AddItem() diese Prop,
+ zerfaellt seine Unit nicht, bis sie bewegt wurde (Leiche, Spieler
+ etc.). Hierbei zaehlt das move() nicht, wenn das Objekt noch kein
+ Env hatte, es zaehlen nur Moves von einem Env in ein anderes Env.
+ Dieses Flag sollte nur in Clones gesetzt werden.
+ - INACCURATE_DECAY
+ Sollen z.b. 45.34 Einheiten zerfallen, wird der Rest von 0.34
+ normalerweise als Wahrscheinlichkeit aufgefasst, dass eine
+ zusaetzliche Einheit zerfaellt. Dieses Flag sorgt dafuer, dass
+ dieser Rest weggeworfen wird und einfach 45 Einheiten zerfallen.
+ Gleichzeitig wird bei diesem Flag aber _immer min_ 1 Einheit
+ zerstoert!
+ - ABSOLUTE_DECAY
+ P_UNIT_DECAY_QUOTA wird nicht als prozentualer Anteil aufgefasst,
+ sondern als absolute Zahl, d.h. es zerfallen immer einfach
+ P_UNIT_DECAY_QUOTA Einheiten.
+
+ Diese Flags koennen z.B. genutzt werden, den Zerfall fuer einzelne
+ Objekte temporaer oder dauerhaft abzuschalten, auch wenn alle anderen
+ Clones weiterzerfallen.
+
+ Diese Prop kann in der Blueprint gesetzt werden. In diesem Fall wird
+ allerdings NO_DECAY_UNTIL_MOVE ignoriert, weil die BP ja nie bewegt
+ wuerde. NO_DECAY in der BP schaltet den Zerfallsprozess (temporaer) fuer
+ alle Clones aus. Ist nie ein Zerfall gewuenscht, sollte in der Blueprint
+ aber besser P_UNIT_DECAY_INTERVAL auf 0 gesetzt werden!
+
+ Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
+ liefert ein klon->QueryProp(P_UNIT_DECAY_FLAGS) den in der Blueprint
+ eingestellten Wert zurueck.
+
+
+BEMERKUNGEN
+===========
+
+ * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus der
+ Blueprint zurueckgeben. Hierbei wird allerdings ein NO_DECAY_UNTIL_MOVE
+ ausgefiltert, da dies den Zerfall fuer alle Objekte dauerhaft stoppen
+ wuerde, weil BPs nicht bewegt werden.
+ * Die Flags koennen "verodert" werden:
+ SetProp(P_UNIT_DECAY_FLAGS, NO_DECAY_UNTIL_MOVE | ABSOLUTE_DECAY);
+
+
+BEISPIEL
+========
+
+ // Dieser NPC hat tolle Pfeile, die sollen aber nicht zerfallen, solange
+ // sie im Inventar des NPCs sind:
+ AddItem("/d/tolleregion/tollermagier/obj/pfeile", REFRESH_NONE,
+ ([ P_AMOUNT: 50+random(50),
+ P_UNIT_DECAY_FLAGS: NO_DECAY_UNTIL_MOVE ]) );
+
+
+SIEHE AUCH
+==========
+
+ unit
+ P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_MIN
+ DoDecay, DoDecayMessage
+ /std/unit.c
14.10.2007, Zesstra
diff --git a/doc/props/P_UNIT_DECAY_INTERVAL b/doc/props/P_UNIT_DECAY_INTERVAL
index 93154cd..e0118c3 100644
--- a/doc/props/P_UNIT_DECAY_INTERVAL
+++ b/doc/props/P_UNIT_DECAY_INTERVAL
@@ -1,37 +1,56 @@
+
P_UNIT_DECAY_INTERVAL
+*********************
-NAME:
- P_UNIT_DECAY_INTERVAL "unit_decay_interval"
-DEFINIERT IN:
- /sys/unit.h
+NAME
+====
-BESCHREIBUNG:
- Diese Prop bestimmt, wie oft ein Zerfall der entsprechenden Unitobjekte
- durchgefuehrt wird. Das Intervall ist in Sekunden anzugeben (int).
- Die Prop muss in der Blueprint der entsprechenden Unitobjekte gesetzt
- werden, in Clones kann sie nicht gesetzt werden.
- Die Blueprint resettet dann in diesem Intervall und ruft in allen ihren
- Clones (und denen alter Versionen der gleichen BP!) DoDecay() auf,
- woraufhin die Clones den Zerfall durchfuehren.
- Ist die Prop in der Blueprint nicht gesetzt, erfolgt kein Zerfall.
+ P_UNIT_DECAY_INTERVAL "unit_decay_interval"
-BEMERKUNGEN:
- * Ist die Blueprint nicht geladen, erfolgt kein Zerfall der Clones.
- * Ein Setzen dieser Prop beinhaltet immer auch einen Aufruf von
- set_next_reset() auf das ensprechende Intervall.
- * Die Prop kann in den Clones abgefragt werden und liefert das in der
- Blueprint eingestellte Intervall.
- * Von einer Manipulation per Set() wird dringend abgeraten.
- * Die Prop kann nur vom Objekt selber, vom Programmierer des Objekts, vom
- RM der entsprechenden Region, von einem Weisen oder von einem Objekt
- gesetzt werden, welches die gleiche UID hat.
-BEISPIEL:
+DEFINIERT IN
+============
-SIEHE AUCH:
- unit
- P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_MIN
- DoDecay(), DoDecayMessage()
+ /sys/unit.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Prop bestimmt, wie oft ein Zerfall der entsprechenden Unitobjekte
+ durchgefuehrt wird. Das Intervall ist in Sekunden anzugeben (int).
+ Die Prop muss in der Blueprint der entsprechenden Unitobjekte gesetzt
+ werden, in Clones kann sie nicht gesetzt werden.
+ Die Blueprint resettet dann in diesem Intervall und ruft in allen ihren
+ Clones (und denen alter Versionen der gleichen BP!) DoDecay() auf,
+ woraufhin die Clones den Zerfall durchfuehren.
+ Ist die Prop in der Blueprint nicht gesetzt, erfolgt kein Zerfall.
+
+
+BEMERKUNGEN
+===========
+
+ * Ist die Blueprint nicht geladen, erfolgt kein Zerfall der Clones.
+ * Ein Setzen dieser Prop beinhaltet immer auch einen Aufruf von
+ set_next_reset() auf das ensprechende Intervall.
+ * Die Prop kann in den Clones abgefragt werden und liefert das in der
+ Blueprint eingestellte Intervall.
+ * Von einer Manipulation per Set() wird dringend abgeraten.
+ * Die Prop kann nur vom Objekt selber, vom Programmierer des Objekts, vom
+ RM der entsprechenden Region, von einem Weisen oder von einem Objekt
+ gesetzt werden, welches die gleiche UID hat.
+
+
+BEISPIEL
+========
+
+
+SIEHE AUCH
+==========
+
+ unit
+ P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_MIN
+ DoDecay(), DoDecayMessage()
13.10.2007, Zesstra
diff --git a/doc/props/P_UNIT_DECAY_MIN b/doc/props/P_UNIT_DECAY_MIN
index 79f9c80..b78a735 100644
--- a/doc/props/P_UNIT_DECAY_MIN
+++ b/doc/props/P_UNIT_DECAY_MIN
@@ -1,51 +1,71 @@
+
P_UNIT_DECAY_MIN
+****************
-NAME:
- P_UNIT_DECAY_MIN "unit_decay_min"
-DEFINIERT IN:
- /sys/unit.h
+NAME
+====
-BESCHREIBUNG:
- Diese Prop bestimmt, wieviele Einheiten der Unitobjekten mindestens
- uebrig bleiben sollen.
- Faellt die Menge eines Unitobjekts unter diesen Wert, zerfaellt diese
- Unit solange nicht weiter, bis der Wert wieder ueberschritten wird.
- Die Prop kann in der Blueprint und in den einzelnen Clones gesetzt
- werden.
- Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
- liefert ein QueryProp(P_UNIT_DECAY_MIN) den in der Blueprint
- eingestellten Wert zurueck und die Unit zerfaellt bis zu dieser
- Mindestmenge..
- D.h. man sollte diese Prop in der Blueprint setzen und in einzelnen
- Clones nur soweit diese abweichende Werte haben sollen.
- Es sind nur Werte zwischen 0 und 100 zulaessig. Auf diese Art laesst sich
- die minidestens uebrig bleibende Menge aller Clones durch Aendern einer
- Prop in der Blueprint aendern.
+ P_UNIT_DECAY_MIN "unit_decay_min"
-BEMERKUNGEN:
- * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus er
- Blueprint zum Zerfall benutzt.
- * Will man fuer ein bestimmtes Unitobjekt kein Minimum haben, also dass
- dieses Objekt zerfaellt, bis nichts mehr da ist, die Blueprint hat aber
- einen Minimalwert gesetzt, sollte diese Prop im betreffenden Objekt auf
- -1 gesetzt werden.
- * Diese Prop sollte vorsichtig angewandt werden, da Spieler so den
- Zerfall von Units stoppen koennen, indem sie die Units entsprechend
- aufteilen, so dass jedes Einzelobjekt unter dem Minimum liegt.
-BEISPIEL:
- // es soll min. 1 Einheit uebrig bleiben.
- SetProp(P_UNIT_DECAY_MIN, 1);
+DEFINIERT IN
+============
- // die Blueprint hat ein Minimum von 10 gesetzt, dieser Clone soll
- // aber zerfallen, bis nix mehr da ist.
- klon->SetProp(P_UNIT_DECAY_MIN, -1);
+ /sys/unit.h
-SIEHE AUCH:
- unit
- P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_QUOTA
- DoDecay, DoDecayMessage
- /std/unit.c
+
+BESCHREIBUNG
+============
+
+ Diese Prop bestimmt, wieviele Einheiten der Unitobjekten mindestens
+ uebrig bleiben sollen.
+ Faellt die Menge eines Unitobjekts unter diesen Wert, zerfaellt diese
+ Unit solange nicht weiter, bis der Wert wieder ueberschritten wird.
+ Die Prop kann in der Blueprint und in den einzelnen Clones gesetzt
+ werden.
+ Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
+ liefert ein QueryProp(P_UNIT_DECAY_MIN) den in der Blueprint
+ eingestellten Wert zurueck und die Unit zerfaellt bis zu dieser
+ Mindestmenge..
+ D.h. man sollte diese Prop in der Blueprint setzen und in einzelnen
+ Clones nur soweit diese abweichende Werte haben sollen.
+ Es sind nur Werte zwischen 0 und 100 zulaessig. Auf diese Art laesst sich
+ die minidestens uebrig bleibende Menge aller Clones durch Aendern einer
+ Prop in der Blueprint aendern.
+
+
+BEMERKUNGEN
+===========
+
+ * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus er
+ Blueprint zum Zerfall benutzt.
+ * Will man fuer ein bestimmtes Unitobjekt kein Minimum haben, also dass
+ dieses Objekt zerfaellt, bis nichts mehr da ist, die Blueprint hat aber
+ einen Minimalwert gesetzt, sollte diese Prop im betreffenden Objekt auf
+ -1 gesetzt werden.
+ * Diese Prop sollte vorsichtig angewandt werden, da Spieler so den
+ Zerfall von Units stoppen koennen, indem sie die Units entsprechend
+ aufteilen, so dass jedes Einzelobjekt unter dem Minimum liegt.
+
+
+BEISPIEL
+========
+
+ // es soll min. 1 Einheit uebrig bleiben.
+ SetProp(P_UNIT_DECAY_MIN, 1);
+
+ // die Blueprint hat ein Minimum von 10 gesetzt, dieser Clone soll
+ // aber zerfallen, bis nix mehr da ist.
+ klon->SetProp(P_UNIT_DECAY_MIN, -1);
+
+
+SIEHE AUCH
+==========
+
+ unit
+ P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_QUOTA
+ DoDecay, DoDecayMessage
+ /std/unit.c
14.10.2007, Zesstra
diff --git a/doc/props/P_UNIT_DECAY_QUOTA b/doc/props/P_UNIT_DECAY_QUOTA
index 9144564..0b4c9a6 100644
--- a/doc/props/P_UNIT_DECAY_QUOTA
+++ b/doc/props/P_UNIT_DECAY_QUOTA
@@ -1,45 +1,69 @@
+
+P_UNIT_DECAY_QUOTA
+******************
+
+
P_UNIT_DECAY_QUOTA (int)
+========================
-NAME:
- P_UNIT_DECAY_QUOTA "unit_decay_quota"
-DEFINIERT IN:
- /sys/unit.h
+NAME
+====
-BESCHREIBUNG:
- Diese Prop bestimmt, welcher Anteil der einzelnen Unitobjekte pro Zerfall
- zerstoert wird. Dieser Anteil wird als ganze Zahl zwischen 0 und 10000
- ausgedrueckt. 1 entspricht einem Zerfall von 0.01%, 10000 entspricht
- 100%.
- Momentan sind keine Werte < 0 zulaessig, die einem Zuwachs entsprechend
- wurden.
+ P_UNIT_DECAY_QUOTA "unit_decay_quota"
- Falls das Flag ABSOLUTE_DECAY (s. P_UNIT_DECAY_FLAGS) gesetzt ist, steht
- die Zahl in dieser Prop fuer die absolute Anzahl an zu zerstoerenden
- Einheiten.
- Die Prop kann in der Blueprint und in den einzelnen Clones gesetzt
- werden.
- Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
- liefert ein QueryProp(P_UNIT_DECAY_QUOTA) den in der Blueprint
- eingestellten Wert zurueck und die Unit zerfaellt zu diesem Anteil.
- D.h. man sollte diese Prop in der Blueprint setzen und in einzelnen
- Clones nur soweit diese abweichende Zerfallsraten haben sollen.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus er
- Blueprint zum Zerfall benutzt.
- * Will man den Zerfall fuer ein bestimmtes Unitobjekt abschalten, sollte
- man P_UNIT_DECAY_FLAGS benutzen.
+ /sys/unit.h
-BEISPIEL:
- // pro Zerfallsintervall sollen 12% zerfallen.
- SetProp(P_UNIT_DECAY_QUOTA, 1200);
-SIEHE AUCH:
- unit
- P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_MIN
- DoDecay, DoDecayMessage
- /std/unit.c
+BESCHREIBUNG
+============
+
+ Diese Prop bestimmt, welcher Anteil der einzelnen Unitobjekte pro Zerfall
+ zerstoert wird. Dieser Anteil wird als ganze Zahl zwischen 0 und 10000
+ ausgedrueckt. 1 entspricht einem Zerfall von 0.01%, 10000 entspricht
+ 100%.
+ Momentan sind keine Werte < 0 zulaessig, die einem Zuwachs entsprechend
+ wurden.
+
+ Falls das Flag ABSOLUTE_DECAY (s. P_UNIT_DECAY_FLAGS) gesetzt ist, steht
+ die Zahl in dieser Prop fuer die absolute Anzahl an zu zerstoerenden
+ Einheiten.
+
+ Die Prop kann in der Blueprint und in den einzelnen Clones gesetzt
+ werden.
+ Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
+ liefert ein QueryProp(P_UNIT_DECAY_QUOTA) den in der Blueprint
+ eingestellten Wert zurueck und die Unit zerfaellt zu diesem Anteil.
+ D.h. man sollte diese Prop in der Blueprint setzen und in einzelnen
+ Clones nur soweit diese abweichende Zerfallsraten haben sollen.
+
+
+BEMERKUNGEN
+===========
+
+ * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus er
+ Blueprint zum Zerfall benutzt.
+ * Will man den Zerfall fuer ein bestimmtes Unitobjekt abschalten, sollte
+ man P_UNIT_DECAY_FLAGS benutzen.
+
+
+BEISPIEL
+========
+
+ // pro Zerfallsintervall sollen 12% zerfallen.
+ SetProp(P_UNIT_DECAY_QUOTA, 1200);
+
+
+SIEHE AUCH
+==========
+
+ unit
+ P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_MIN
+ DoDecay, DoDecayMessage
+ /std/unit.c
14.03.2008, Zesstra
diff --git a/doc/props/P_UNWEAR_MSG b/doc/props/P_UNWEAR_MSG
index 1ee0d80..0b2e89a 100644
--- a/doc/props/P_UNWEAR_MSG
+++ b/doc/props/P_UNWEAR_MSG
@@ -1,56 +1,78 @@
+
P_UNWEAR_MSG
-NAME:
- P_UNWEAR_MSG "unwear_msg"
+************
-DEFINIERT IN:
- /sys/armour.h
-BESCHREIBUNG:
- Zweiteiliges Array mit Meldungen, die beim Ausziehen einer Ruestung
- oder Kleidung an den Spieler und die Umgebung ausgegeben werden.
- Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
- Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
- jedoch beruecksichtigt.
+NAME
+====
- Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
- man replace_personal()).
+ P_UNWEAR_MSG "unwear_msg"
- [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
- moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
- in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
- den Waffennamen.]
-BEISPIELE:
- SetProp(P_NAME, "Mantel");
- SetProp(P_UNWEAR_MSG,
- ({"Du reisst Dir @WEN2 vom Leib.",
- "@WER1 reisst sich @WENU2 vom Leib." }));
+DEFINIERT IN
+============
- -> beim Ausziehen durch Urk:
- Urk bekommt: Du reisst dir den Mantel vom Leib.
- Der Raum: Urk reisst sich einen Mantel vom Leib.
+ /sys/armour.h
- SetProp(P_UNWEAR_MSG,
- ({"Dir wird furchtbar warm. So eine Hitze aber auch. Schnell "
- "schluepfst Du aus Deiner dicken Ruestung. Aaaah, was fuer "
- "eine Wohltat.",
- "@WEM1 scheint ploetzlich warm zu werden. Schnell schluepft "
- "@WERQP1 aus @WEMQPPFS1 dicken Ruestung. Du hoffst instaendig, "
- "das es noch etwas waermer wird ... "}));
- -> beim Ausziehen durch Urk:
- Urk bekommt: Dir wird furchtbar warm. So eine Hitze aber auch.
- Schnell schluepfst Du aus Deiner dicken Ruestung.
- Aaaah, was fuer eine Wohltat.
- Der Raum: Urk scheint ploetzlich warm zu werden. Schnell
- schluepft er aus seiner dicken Ruestung. Du hoffst
- instaendig, das es noch etwas waermer wird ...
-SIEHE AUCH:
- Aehnliches: P_WEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
- P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
- Funktionen: WearFunc, UnwearFunc
- Sonstiges: replace_personal(E), /std/armour/wear.c, armours
- clothing, /std/clothing.wear.c
+BESCHREIBUNG
+============
-LETZTE AeNDERUNG:
-15.02.2009, Zesstra
\ No newline at end of file
+ Zweiteiliges Array mit Meldungen, die beim Ausziehen einer Ruestung
+ oder Kleidung an den Spieler und die Umgebung ausgegeben werden.
+ Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
+ Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
+ jedoch beruecksichtigt.
+
+ Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
+ man replace_personal()).
+
+ [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
+ moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
+ in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
+ den Waffennamen.]
+
+
+BEISPIELE
+=========
+
+ SetProp(P_NAME, "Mantel");
+ SetProp(P_UNWEAR_MSG,
+ ({"Du reisst Dir @WEN2 vom Leib.",
+ "@WER1 reisst sich @WENU2 vom Leib." }));
+
+ -> beim Ausziehen durch Urk:
+ Urk bekommt: Du reisst dir den Mantel vom Leib.
+ Der Raum: Urk reisst sich einen Mantel vom Leib.
+
+ SetProp(P_UNWEAR_MSG,
+ ({"Dir wird furchtbar warm. So eine Hitze aber auch. Schnell "
+ "schluepfst Du aus Deiner dicken Ruestung. Aaaah, was fuer "
+ "eine Wohltat.",
+ "@WEM1 scheint ploetzlich warm zu werden. Schnell schluepft "
+ "@WERQP1 aus @WEMQPPFS1 dicken Ruestung. Du hoffst instaendig, "
+ "das es noch etwas waermer wird ... "}));
+
+ -> beim Ausziehen durch Urk:
+ Urk bekommt: Dir wird furchtbar warm. So eine Hitze aber auch.
+ Schnell schluepfst Du aus Deiner dicken Ruestung.
+ Aaaah, was fuer eine Wohltat.
+ Der Raum: Urk scheint ploetzlich warm zu werden. Schnell
+ schluepft er aus seiner dicken Ruestung. Du hoffst
+ instaendig, das es noch etwas waermer wird ...
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_WEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
+ P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
+ Funktionen: WearFunc, UnwearFunc
+ Sonstiges: replace_personal(E), /std/armour/wear.c, armours
+ clothing, /std/clothing.wear.c
+
+
+LETZTE AeNDERUNG
+================
+
+15.02.2009, Zesstra
diff --git a/doc/props/P_UNWIELD_FUNC b/doc/props/P_UNWIELD_FUNC
index da0fa7c..4466ec0 100644
--- a/doc/props/P_UNWIELD_FUNC
+++ b/doc/props/P_UNWIELD_FUNC
@@ -1,19 +1,32 @@
+
P_UNWIELD_FUNC
+**************
-NAME:
- P_UNWIELD_FUNC "unwield_func"
-DEFINIERT IN:
- <weapon.h>
+NAME
+====
-BESCHREIBUNG:
- Falls ein Objekt eine UnwieldFunc() fuer die Waffe definiert, so muss
- dieses Objekt in dieser Property eingetragen werden.
+ P_UNWIELD_FUNC "unwield_func"
- Die Auswertung dieser Property erfolgt in DoUnwield().
-SIEHE AUCH:
- /std/weapon.c, UnwieldFunc()
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ <weapon.h>
+
+
+BESCHREIBUNG
+============
+
+ Falls ein Objekt eine UnwieldFunc() fuer die Waffe definiert, so muss
+ dieses Objekt in dieser Property eingetragen werden.
+
+ Die Auswertung dieser Property erfolgt in DoUnwield().
+
+
+SIEHE AUCH
+==========
+
+ /std/weapon.c, UnwieldFunc()
+
Last modified: Sun May 19 15:44:08 1996 by Wargon
diff --git a/doc/props/P_UNWIELD_MSG b/doc/props/P_UNWIELD_MSG
index 49a6466..d1d1668 100644
--- a/doc/props/P_UNWIELD_MSG
+++ b/doc/props/P_UNWIELD_MSG
@@ -1,59 +1,77 @@
+
P_UNWIELD_MSG
-NAME:
- P_UNWIELD_MSG "unwield_msg"
+*************
-DEFINIERT IN:
- /sys/weapon.h
-BESCHREIBUNG:
- Zweiteiliges Array mit Meldungen, die beim Wegstecken einer
- Waffe an den Spieler und die Umgebung ausgegeben werden.
+NAME
+====
- Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
- Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
- jedoch beruecksichtigt.
+ P_UNWIELD_MSG "unwield_msg"
- Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
- man replace_personal()).
- [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
- moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
- in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
- den Waffennamen.]
+DEFINIERT IN
+============
-BEISPIELE:
- SetProp(P_NAME, "Streitkolben");
- SetProp(P_UNWIELD_MSG,
- ({ "Du steckst @WEN2 zurueck und atmest erstmal tief durch.",
- "@WER1 steckt @WENU2 zurueck und atmet erstmal tief durch." }));
+ /sys/weapon.h
- -> beim Wegstecken durch Urk:
- Urk bekommt: Du steckst den Streitkolben zurueck und atmest erstmal
- tief durch.
- Der Raum: Urk steckt einen Streitkolben zurueck und atmet erstmal
- tief durch.
- SetProp(P_UNWIELD_MSG,
- ({"Du steckst die schwere Keule zurueck. Zufaellig landet sie "
- "dabei auf Deinem Fuss. Laut schreiend humpelst Du in der "
- "Gegend herum.",
- "@WER1 steckt eine schwere Keule zurueck. Dummerweise landet diese "
- "direkt auf dem eigenen Fuss. Aua, das tat sicher weh ... nicht "
- "umsonst humpelt @WERQP1 jetzt schreiend durch die Gegend."}));
+BESCHREIBUNG
+============
- -> beim Wegstecken durch Urk:
- Urk bekommt: Du steckst die schwere Keule zurueck. Zufaellig landet
- sie dabei auf Deinem Fuss. Laut schreiend humpelst Du in
- der Gegend herum.
- Der Raum: Urk steckt eine schwere Keule zurueck. Dummerweise
- landet diese direkt auf dem eigenen Fuss. Aua, das tat
- sicher weh ... nicht umsonst humpelt er jetzt schreiend
- durch die Gegend.
+ Zweiteiliges Array mit Meldungen, die beim Wegstecken einer
+ Waffe an den Spieler und die Umgebung ausgegeben werden.
-SIEHE AUCH:
- Aehnliches: P_WIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
- P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
- Funktionen: UnwieldFunc, WieldFunc
- Sonstiges: replace_personal(E), /std/weapon/combat.c
+ Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
+ Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
+ jedoch beruecksichtigt.
+
+ Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
+ man replace_personal()).
+
+ [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
+ moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
+ in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
+ den Waffennamen.]
+
+
+BEISPIELE
+=========
+
+ SetProp(P_NAME, "Streitkolben");
+ SetProp(P_UNWIELD_MSG,
+ ({ "Du steckst @WEN2 zurueck und atmest erstmal tief durch.",
+ "@WER1 steckt @WENU2 zurueck und atmet erstmal tief durch." }));
+
+ -> beim Wegstecken durch Urk:
+ Urk bekommt: Du steckst den Streitkolben zurueck und atmest erstmal
+ tief durch.
+ Der Raum: Urk steckt einen Streitkolben zurueck und atmet erstmal
+ tief durch.
+
+ SetProp(P_UNWIELD_MSG,
+ ({"Du steckst die schwere Keule zurueck. Zufaellig landet sie "
+ "dabei auf Deinem Fuss. Laut schreiend humpelst Du in der "
+ "Gegend herum.",
+ "@WER1 steckt eine schwere Keule zurueck. Dummerweise landet diese "
+ "direkt auf dem eigenen Fuss. Aua, das tat sicher weh ... nicht "
+ "umsonst humpelt @WERQP1 jetzt schreiend durch die Gegend."}));
+
+ -> beim Wegstecken durch Urk:
+ Urk bekommt: Du steckst die schwere Keule zurueck. Zufaellig landet
+ sie dabei auf Deinem Fuss. Laut schreiend humpelst Du in
+ der Gegend herum.
+ Der Raum: Urk steckt eine schwere Keule zurueck. Dummerweise
+ landet diese direkt auf dem eigenen Fuss. Aua, das tat
+ sicher weh ... nicht umsonst humpelt er jetzt schreiend
+ durch die Gegend.
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_WIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
+ P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
+ Funktionen: UnwieldFunc, WieldFunc
+ Sonstiges: replace_personal(E), /std/weapon/combat.c
29. Maerz 2004 Gloinson
diff --git a/doc/props/P_UNWIELD_TIME b/doc/props/P_UNWIELD_TIME
index 43128d4..e93a24b 100644
--- a/doc/props/P_UNWIELD_TIME
+++ b/doc/props/P_UNWIELD_TIME
@@ -1,19 +1,33 @@
+
P_UNWIELD_TIME
+**************
-NAME:
- P_UNWIELD_TIME "unwield_time"
-DEFINIERT IN:
- /sys/weapon.h
+NAME
+====
-BESCHREIBUNG:
- Enthaelt den Zeitpunkt zu dem ein Living eine Waffe weggesteckt hat und
- ist im Living gesetzt.
+ P_UNWIELD_TIME "unwield_time"
-SIEHE AUCH:
- Verwandt: P_WEAPON, P_WIELDED, DoUnwield()
- P_LAST_USE
- Sonstiges: P_EQUIP_TIME
- time()
-10.Feb 2005 Gloinson
+DEFINIERT IN
+============
+
+ /sys/weapon.h
+
+
+BESCHREIBUNG
+============
+
+ Enthaelt den Zeitpunkt zu dem ein Living eine Waffe weggesteckt hat und
+ ist im Living gesetzt.
+
+
+SIEHE AUCH
+==========
+
+ Verwandt: P_WEAPON, P_WIELDED, DoUnwield()
+ P_LAST_USE
+ Sonstiges: P_EQUIP_TIME
+ time()
+
+10.Feb 2005 Gloinson
diff --git a/doc/props/P_USED_HANDS b/doc/props/P_USED_HANDS
index 456d32c..b90bd61 100644
--- a/doc/props/P_USED_HANDS
+++ b/doc/props/P_USED_HANDS
@@ -1,21 +1,39 @@
+
P_USED_HANDS
-NAME:
- P_USED_HANDS "used_hands"
+************
-DEFINIERT IN:
- /sys/living/combat.h
-BESCHREIBUNG:
- Anzahl der Haende in Benutzung.
- Effektiv nur ein sizeof(P_HANDS_USED_BY).
+NAME
+====
-BEMERKUNGEN:
- Keine echte Property. Die Methode /std/living/combat::_query_used_hands
- stellt die Daten zusammen. Nicht setzen!
+ P_USED_HANDS "used_hands"
-SIEHE AUCH:
- P_HANDS, P_HANDS_USED_BY
- P_MAX_HANDS, P_FREE_HANDS
- UseHands, FreeHands
+
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+ Anzahl der Haende in Benutzung.
+ Effektiv nur ein sizeof(P_HANDS_USED_BY).
+
+
+BEMERKUNGEN
+===========
+
+ Keine echte Property. Die Methode /std/living/combat::_query_used_hands
+ stellt die Daten zusammen. Nicht setzen!
+
+
+SIEHE AUCH
+==========
+
+ P_HANDS, P_HANDS_USED_BY
+ P_MAX_HANDS, P_FREE_HANDS
+ UseHands, FreeHands
1. Okt 2012, Gloinson
diff --git a/doc/props/P_VALID_GUILDS b/doc/props/P_VALID_GUILDS
index 2734ad9..f431e7b 100644
--- a/doc/props/P_VALID_GUILDS
+++ b/doc/props/P_VALID_GUILDS
@@ -1,23 +1,41 @@
-NAME:
- P_VALID_GUILDS "valid_guilds"
-DEFINIERT IN:
- /sys/new_skills.h
+P_VALID_GUILDS
+**************
-BESCHREIBUNG:
- Diese Property enthaelt die zugelassenen Gilden in Form von
- kleingeschriebenen Gildennamen, welche in einem Array
- zusammengefasst sind. Sie ist nur fuer den Gildenmaster selbst von
- Bedeutung.
-BEISPIELE:
- Abfrage der zugelassenen Gilden:
- find_object("/obj/gildenmaster")->QueryProp(P_VALID_GUILDS)
- Das ergibt zum Beispiel:
- ({"abenteurer","zauberer","klerus","kaempfer"})
+NAME
+====
-SIEHE AUCH:
- P_GUILD, /obj/gildenmaster.c
+ P_VALID_GUILDS "valid_guilds"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt die zugelassenen Gilden in Form von
+ kleingeschriebenen Gildennamen, welche in einem Array
+ zusammengefasst sind. Sie ist nur fuer den Gildenmaster selbst von
+ Bedeutung.
+
+
+BEISPIELE
+=========
+
+ Abfrage der zugelassenen Gilden:
+ find_object("/obj/gildenmaster")->QueryProp(P_VALID_GUILDS)
+ Das ergibt zum Beispiel:
+ ({"abenteurer","zauberer","klerus","kaempfer"})
+
+
+SIEHE AUCH
+==========
+
+ P_GUILD, /obj/gildenmaster.c
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_VALUE b/doc/props/P_VALUE
index d9b5961..cb48202 100644
--- a/doc/props/P_VALUE
+++ b/doc/props/P_VALUE
@@ -1,26 +1,43 @@
-NAME:
- P_VALUE "value"
-DEFINIERT IN:
- /sys/properties.h
+P_VALUE
+*******
-BESCHREIBUNG:
- - Objekte
- Wert des Objektes in Goldmuenzen. Diesen Wert erhaelt man beim
- Verkauf. Kaufen kostet ein Vielfaches hiervon.
+NAME
+====
- - Speisen/Kneipen
- Wert einer Portion der Speise.
-
-BEMERKUNGEN:
- In tragbaren Speisen (erben von /std/food) setzt man mit SetProp
- den Wert _einer_ Portion. Per QueryProp erhaelt man aber den Gesamt-
- wert der Speise inclusive des eventuell vorhandenen Behaelters. Der
- Wert des Behaelters wird dabei aus P_EMPTY_PROPS[P_VALUE] gelesen.
-
-SIEHE AUCH:
- Speisen: std/pub, wiz/food, P_EMPTY_PROPS
+ P_VALUE "value"
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ - Objekte
+ Wert des Objektes in Goldmuenzen. Diesen Wert erhaelt man beim
+ Verkauf. Kaufen kostet ein Vielfaches hiervon.
+
+ - Speisen/Kneipen
+ Wert einer Portion der Speise.
+
+
+BEMERKUNGEN
+===========
+
+ In tragbaren Speisen (erben von /std/food) setzt man mit SetProp
+ den Wert _einer_ Portion. Per QueryProp erhaelt man aber den Gesamt-
+ wert der Speise inclusive des eventuell vorhandenen Behaelters. Der
+ Wert des Behaelters wird dabei aus P_EMPTY_PROPS[P_VALUE] gelesen.
+
+
+SIEHE AUCH
+==========
+
+ Speisen: std/pub, wiz/food, P_EMPTY_PROPS
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_VALUE_PER_UNIT b/doc/props/P_VALUE_PER_UNIT
index da779c5..3ff1b3c 100644
--- a/doc/props/P_VALUE_PER_UNIT
+++ b/doc/props/P_VALUE_PER_UNIT
@@ -1,14 +1,29 @@
-NAME:
- P_VALUE_PER_UNIT "value_per_unit"
-DEFINIERT IN:
- /sys/properties.h
+P_VALUE_PER_UNIT
+****************
-BESCHREIBUNG:
- Wert in Goldstuecken pro Untereinheit.
-BEMERKUNGEN:
- Deprecated. Bitte SetCoinsPerUnits() (U_CPU) benutzen.
+NAME
+====
+
+ P_VALUE_PER_UNIT "value_per_unit"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Wert in Goldstuecken pro Untereinheit.
+
+
+BEMERKUNGEN
+===========
+
+ Deprecated. Bitte SetCoinsPerUnits() (U_CPU) benutzen.
25.Aug 2015 Gloinson
-
diff --git a/doc/props/P_VARIABLES b/doc/props/P_VARIABLES
index 5e7fb5c..52a979c 100644
--- a/doc/props/P_VARIABLES
+++ b/doc/props/P_VARIABLES
@@ -1,16 +1,28 @@
-NAME:
- P_VARIABLES "variables"
+P_VARIABLES
+***********
-DEFINIERT IN:
- /sys/magier.h
-BESCHREIBUNG:
-
- Interne Variable der Magiershell in dem die mit dem 'Set'-Befehl
- gesetzten Variablen gespeichert werden.
-
- NICHT VON HAND VERAENDERN! IMMER 'SET' VERWENDEN!
+NAME
+====
-----------------------------------------------------------------------------
+ P_VARIABLES "variables"
+
+
+DEFINIERT IN
+============
+
+ /sys/magier.h
+
+
+BESCHREIBUNG
+============
+
+ Interne Variable der Magiershell in dem die mit dem 'Set'-Befehl
+ gesetzten Variablen gespeichert werden.
+
+
+
+ NICHT VON HAND VERAENDERN! IMMER 'SET' VERWENDEN!
+
Letzte Aenderung: 13.02.2003 22:00:00 von Mandragon
diff --git a/doc/props/P_VISIBLE_GUILD b/doc/props/P_VISIBLE_GUILD
index df267b5..92de8b7 100644
--- a/doc/props/P_VISIBLE_GUILD
+++ b/doc/props/P_VISIBLE_GUILD
@@ -1,25 +1,42 @@
+
P_VISIBLE_GUILD
-NAME:
- P_VISIBLE_GUILD "visible_guild"
+***************
-DEFINIERT IN:
- /sys/properties.h
-BESCHREIBUNG:
- Diese Property enthaelt die sichtbare Gilde des Lebewesens in Form eines
- kleingeschriebenen Strings, also die Gilde, die bei Spielern zum
- Beispiel bei 'kwer' oder 'finger' angezeigt wird. So kann man fremde
- Gilden testen und trotzdem nach aussen hin in der gleichen Gilde wie
- zuvor bleiben.
+NAME
+====
-BEISPIEL:
- Wenn man gerne nach aussen hin Zauberer bleiben moechte:
- pl->SetProp(P_VISIBLE_GUILD,"zauberer");
- Nach aussen hin bleibt man jetzt auch Zauberer, wenn P_GUILD eine
- andere Gilde angibt.
+ P_VISIBLE_GUILD "visible_guild"
-SIEHE AUCH:
- P_GUILD, P_DEFAULT_GUILD
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property enthaelt die sichtbare Gilde des Lebewesens in Form eines
+ kleingeschriebenen Strings, also die Gilde, die bei Spielern zum
+ Beispiel bei 'kwer' oder 'finger' angezeigt wird. So kann man fremde
+ Gilden testen und trotzdem nach aussen hin in der gleichen Gilde wie
+ zuvor bleiben.
+
+
+BEISPIEL
+========
+
+ Wenn man gerne nach aussen hin Zauberer bleiben moechte:
+ pl->SetProp(P_VISIBLE_GUILD,"zauberer");
+ Nach aussen hin bleibt man jetzt auch Zauberer, wenn P_GUILD eine
+ andere Gilde angibt.
+
+
+SIEHE AUCH
+==========
+
+ P_GUILD, P_DEFAULT_GUILD
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_VISIBLE_SUBGUILD_TITLE b/doc/props/P_VISIBLE_SUBGUILD_TITLE
index e398f02..e0e5c83 100644
--- a/doc/props/P_VISIBLE_SUBGUILD_TITLE
+++ b/doc/props/P_VISIBLE_SUBGUILD_TITLE
@@ -1,21 +1,39 @@
+
P_VISIBLE_SUBGUILD_TITLE
-NAME:
- P_VISIBLE_SUBGUILD_TITLE "visible_subguild_title"
-DEFINIERT IN:
- /sys/new_skills.h
+************************
-BESCHREIBUNG:
- Diese Property dient dazu, als Magier einen Zusatztitel innerhalb einer
- Gilde vorzutaeuschen, ohne den tatsaechlichen P_SUBGUILD_TITLE zu
- aendern.
-BEMERKUNGEN:
- Inhalt der Property kann 0 sein oder ein String.
- Wenn der Inhalt 0 ist, wird bei QueryProp der P_SUBGUILD_TITLE
- durchgereicht.
+NAME
+====
-SIEHE AUCH:
- P_GUILD_TITLE, P_SUBGUILD_TITLE
+ P_VISIBLE_SUBGUILD_TITLE "visible_subguild_title"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property dient dazu, als Magier einen Zusatztitel innerhalb einer
+ Gilde vorzutaeuschen, ohne den tatsaechlichen P_SUBGUILD_TITLE zu
+ aendern.
+
+
+BEMERKUNGEN
+===========
+
+ Inhalt der Property kann 0 sein oder ein String.
+ Wenn der Inhalt 0 ist, wird bei QueryProp der P_SUBGUILD_TITLE
+ durchgereicht.
+
+
+SIEHE AUCH
+==========
+
+ P_GUILD_TITLE, P_SUBGUILD_TITLE
+
Last modified: Mon Aug 13 21:20:00 2001 by Nachtwind
diff --git a/doc/props/P_VISUALBELL b/doc/props/P_VISUALBELL
index 19e8519..8a3d836 100644
--- a/doc/props/P_VISUALBELL
+++ b/doc/props/P_VISUALBELL
@@ -1,37 +1,58 @@
-NAME:
- P_VISUALBELL "visualbell"
-DEFINIERT IN:
- /sys/properties.h
+P_VISUALBELL
+************
-BESCHREIBUNG:
- Die Property stellt ein Flag innerhalb von Spielern dar, welches
- standardmaessig nicht gesetzt ist. In diesem Fall werden Toene,
- welche innerhalb einiger Funktionen erzeugt werden, auch wirklich an
- den Spieler geschickt.
- Setzt man die Property, so erhaelt der Spieler keine Toene mehr.
-BEISPIEL:
- Pieptoene werden durch den ASCII-Code 0x7 praesentiert. Ausgeben
- kann man diesen folgendermassen:
- if(!IS_WIZARD(caster)&&!victim->QueryProp(P_VISUALBELL))
- tell_object(victim,sprintf("%c",7));
- Das waere beispielsweise ein Codestueck aus einem Piepspell. :)
- Das Opfer bekommt den Piepton hierbei nur ab, wenn der Caster ein
- Magier ist oder das Spieleropfer die Property P_VISUALBELL gesetzt
- hat (kann mit Kommando 'ton' vom Spieler beeinflusst werden).
+NAME
+====
-BEMERKUNGEN:
- Achtung: P_VISUALBELL steht auf 1, wenn der Spieler _keine_ Piepstoene
- hoeren will!
- Die Funktionalitaet dieser Property wirkt nur soweit, wie sie auch
- von tonerzeugenden Befehlen selbst unterstuetzt wird. Es ist darauf
- zu achten, dass P_VISUALBELL zu diesem Zweck grundsaetzlich
- ausgewertet wird! Eine Ausnahme sei hierbei zugelassen: Magier
- koennen Spielern grundsaetzlich Toene zusenden.
+ P_VISUALBELL "visualbell"
-SIEHE AUCH:
- ton, wecke, erwarte, P_WAITFOR, /std/player/base.c
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Die Property stellt ein Flag innerhalb von Spielern dar, welches
+ standardmaessig nicht gesetzt ist. In diesem Fall werden Toene,
+ welche innerhalb einiger Funktionen erzeugt werden, auch wirklich an
+ den Spieler geschickt.
+ Setzt man die Property, so erhaelt der Spieler keine Toene mehr.
+
+
+BEISPIEL
+========
+
+ Pieptoene werden durch den ASCII-Code 0x7 praesentiert. Ausgeben
+ kann man diesen folgendermassen:
+ if(!IS_WIZARD(caster)&&!victim->QueryProp(P_VISUALBELL))
+ tell_object(victim,sprintf("%c",7));
+ Das waere beispielsweise ein Codestueck aus einem Piepspell. :)
+ Das Opfer bekommt den Piepton hierbei nur ab, wenn der Caster ein
+ Magier ist oder das Spieleropfer die Property P_VISUALBELL gesetzt
+ hat (kann mit Kommando 'ton' vom Spieler beeinflusst werden).
+
+
+BEMERKUNGEN
+===========
+
+ Achtung: P_VISUALBELL steht auf 1, wenn der Spieler _keine_ Piepstoene
+ hoeren will!
+ Die Funktionalitaet dieser Property wirkt nur soweit, wie sie auch
+ von tonerzeugenden Befehlen selbst unterstuetzt wird. Es ist darauf
+ zu achten, dass P_VISUALBELL zu diesem Zweck grundsaetzlich
+ ausgewertet wird! Eine Ausnahme sei hierbei zugelassen: Magier
+ koennen Spielern grundsaetzlich Toene zusenden.
+
+
+SIEHE AUCH
+==========
+
+ ton, wecke, erwarte, P_WAITFOR, /std/player/base.c
+
Last modified: 07.02.2007 by Zesstra
diff --git a/doc/props/P_VULNERABILITY b/doc/props/P_VULNERABILITY
index 7e1c676..f0e3abb 100644
--- a/doc/props/P_VULNERABILITY
+++ b/doc/props/P_VULNERABILITY
@@ -1,37 +1,62 @@
-NAME:
- P_VULNERABILITY "vulnerability"
-DEFINIERT IN:
- /sys/living/combat.h
+P_VULNERABILITY
+***************
-WICHTIG:
- DIESE PROPERTY IST VERALTET! BITTE P_RESISTANCE_STRENGTHS
- VERWENDEN! AUCH FUNKTIONIERT Set() NICHT WIE ES SOLLTE.
-BESCHREIBUNG:
- Hiermit koennen die Empfindlichkeiten eines Lebewesens definiert
- werden. Es kann ein Array mit Schadensarten gesetzt werden, jeder
- Eintrag eines Schadens verdoppelt die Empfindlichkeit gegen
- diesen.
+NAME
+====
-BEMERKUNGEN:
- - P_RESISTANCE_STRENGTHS spiegelt die Eintraege hier wieder
- - um genauere Werte anzugeben einen AddResistanceModifier() oder
- P_RESISTANCE_STRENGTHS benutzen.
- - P_VULNERABILITY kann und wird nicht aus P_RESISTANCE_STRENGTHS
- upgedatet
+ P_VULNERABILITY "vulnerability"
-BEISPIELE:
- // ein NPC mit verdoppelter Eisempfindlichkeit und
- // vervierfachter Wasserempfindlichkeit
- SetProp(P_VULNERABILITY, ({DT_COLD, DT_WATER, DT_WATER}));
-SIEHE AUCH:
- simple Resistenz: P_RESISTANCE
- Hauptmapping: P_RESISTANCE_STRENGTHS
- Modifikatoren: AddResistanceModifier, RemoveResistanceModifier(),
- P_RESISTANCE_MODIFIER
- Berechnung: CheckResistance(), UpdateResistanceStrengths()
- anderes: balance, /std/armour/combat.c, /std/living/combat.c
+DEFINIERT IN
+============
+
+ /sys/living/combat.h
+
+
+WICHTIG
+=======
+
+ DIESE PROPERTY IST VERALTET! BITTE P_RESISTANCE_STRENGTHS
+ VERWENDEN! AUCH FUNKTIONIERT Set() NICHT WIE ES SOLLTE.
+
+
+BESCHREIBUNG
+============
+
+ Hiermit koennen die Empfindlichkeiten eines Lebewesens definiert
+ werden. Es kann ein Array mit Schadensarten gesetzt werden, jeder
+ Eintrag eines Schadens verdoppelt die Empfindlichkeit gegen
+ diesen.
+
+
+BEMERKUNGEN
+===========
+
+ - P_RESISTANCE_STRENGTHS spiegelt die Eintraege hier wieder
+ - um genauere Werte anzugeben einen AddResistanceModifier() oder
+ P_RESISTANCE_STRENGTHS benutzen.
+ - P_VULNERABILITY kann und wird nicht aus P_RESISTANCE_STRENGTHS
+ upgedatet
+
+
+BEISPIELE
+=========
+
+ // ein NPC mit verdoppelter Eisempfindlichkeit und
+ // vervierfachter Wasserempfindlichkeit
+ SetProp(P_VULNERABILITY, ({DT_COLD, DT_WATER, DT_WATER}));
+
+
+SIEHE AUCH
+==========
+
+ simple Resistenz: P_RESISTANCE
+ Hauptmapping: P_RESISTANCE_STRENGTHS
+ Modifikatoren: AddResistanceModifier, RemoveResistanceModifier(),
+ P_RESISTANCE_MODIFIER
+ Berechnung: CheckResistance(), UpdateResistanceStrengths()
+ anderes: balance, /std/armour/combat.c, /std/living/combat.c
1.Dez 2004, Gloinson
diff --git a/doc/props/P_WAITFOR b/doc/props/P_WAITFOR
index a8cf8ee..301838e 100644
--- a/doc/props/P_WAITFOR
+++ b/doc/props/P_WAITFOR
@@ -1,14 +1,30 @@
-NAME:
- P_WAITFOR "waitfor"
-DEFINIERT IN:
- /sys/player/base.h
+P_WAITFOR
+*********
-BESCHREIBUNG:
- Die Erwarte-Liste. Ein Array mit den Namen der Erwarteten.
-SIEHE AUCH:
- erwarte
- P_WAITFOR_REASON, P_WAITFOR_FLAGS
+NAME
+====
+
+ P_WAITFOR "waitfor"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Die Erwarte-Liste. Ein Array mit den Namen der Erwarteten.
+
+
+SIEHE AUCH
+==========
+
+ erwarte
+ P_WAITFOR_REASON, P_WAITFOR_FLAGS
16. Feb 2008 Gloinson
diff --git a/doc/props/P_WAITFOR_FLAGS b/doc/props/P_WAITFOR_FLAGS
index f137dd1..5e616b7 100644
--- a/doc/props/P_WAITFOR_FLAGS
+++ b/doc/props/P_WAITFOR_FLAGS
@@ -1,17 +1,34 @@
+
P_WAITFOR_FLAGS
-NAME:
- P_WAITFOR_FLAGS "waitfor_flags"
+***************
-DEFINIERT IN:
- /sys/player/base.h
-BESCHREIBUNG:
- Ein Int. Bisher bekannte Flags:
-
- 0x01 - "erwarte aus"
+NAME
+====
-SIEHE AUCH:
- erwarte
- P_WAITFOR, P_WAITFOR_REASON
+ P_WAITFOR_FLAGS "waitfor_flags"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Ein Int. Bisher bekannte Flags:
+
+
+
+ 0x01 - "erwarte aus"
+
+
+SIEHE AUCH
+==========
+
+ erwarte
+ P_WAITFOR, P_WAITFOR_REASON
16. Feb 2008 Gloinson
diff --git a/doc/props/P_WAITFOR_REASON b/doc/props/P_WAITFOR_REASON
index b19c821..1d997d8 100644
--- a/doc/props/P_WAITFOR_REASON
+++ b/doc/props/P_WAITFOR_REASON
@@ -1,18 +1,35 @@
+
P_WAITFOR_REASON
-NAME:
- P_WAITFOR_REASON "waitfor_reason"
+****************
-DEFINIERT IN:
- /sys/player/base.h
-BESCHREIBUNG:
- Ein Mapping mit den Erwarteten als Schluessel und einem Grund als
- Key, zB:
-
- (["Zook":"muh muh"])
+NAME
+====
-SIEHE AUCH:
- erwarte (erwarte <wen> wegen <was>)
- P_WAITFOR, P_WAITFOR_FLAGS
+ P_WAITFOR_REASON "waitfor_reason"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Ein Mapping mit den Erwarteten als Schluessel und einem Grund als
+ Key, zB:
+
+
+
+ (["Zook":"muh muh"])
+
+
+SIEHE AUCH
+==========
+
+ erwarte (erwarte <wen> wegen <was>)
+ P_WAITFOR, P_WAITFOR_FLAGS
16. Feb 2008 Gloinson
diff --git a/doc/props/P_WANTS_TO_LEARN b/doc/props/P_WANTS_TO_LEARN
index a1553bd..639ab61 100644
--- a/doc/props/P_WANTS_TO_LEARN
+++ b/doc/props/P_WANTS_TO_LEARN
@@ -1,12 +1,25 @@
-NAME:
- P_WANTS_TO_LEARN "wants_to_learn"
-DEFINIERT IN:
- /sys/player/base.h
+P_WANTS_TO_LEARN
+****************
-BESCHREIBUNG:
- Gesetzt, wenn der Magier die Filenamen sehen will.
- (Nur fuer Magier). Wird diese Property auf 0 gesetzt, gehen auch
- einige andere Dinge nicht mehr - verfolge zB. Eigentlich sollten
- dann auch die Magierbefehle wie "goto" usw unterbunden werden -
- das kommt vielleicht noch.
+
+NAME
+====
+
+ P_WANTS_TO_LEARN "wants_to_learn"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+ Gesetzt, wenn der Magier die Filenamen sehen will.
+ (Nur fuer Magier). Wird diese Property auf 0 gesetzt, gehen auch
+ einige andere Dinge nicht mehr - verfolge zB. Eigentlich sollten
+ dann auch die Magierbefehle wie "goto" usw unterbunden werden -
+ das kommt vielleicht noch.
diff --git a/doc/props/P_WATER b/doc/props/P_WATER
index 6be4fe6..79742c1 100644
--- a/doc/props/P_WATER
+++ b/doc/props/P_WATER
@@ -1,110 +1,130 @@
-NAME:
- P_WATER "water"
-DEFINIERT IN:
- /sys/fishing.h
-
-BESCHREIBUNG:
- Enthaelt den Gewaessertyp. Kann in Raeumen, Angeln und Wasserbehaeltern
- verwendet werden. Die verfuegbaren Optionen und Funktionsweisen sind in
- den nachfolgenden Abschnitten aufgefuehrt.
-
- Raum:
- *****
- Legt den Typ des Gewaessers fest, das es in diesem Raum gibt. Von
- diesem Typ haengt ab, welche Arten von Fischen es hier standardmaessig
- gibt und welche Arten von Angeln verwendet werden koennen.
-
- Beispiel:
-
- SetProp(P_WATER, W_HARBOR);
-
- Folgende
- Typen stehen zur Verfuegung, von denen in Raeumen nur einer gesetzt
- werden darf:
-
- Salzwasser:
- W_BEACH Strand: Scholle, Flunder, Rochen, Seezunge, Katzenhai
- W_HARBOR Hafen: Dorsch, Rochen, Seezunge, Hering, Katzenhai
- W_OCEAN Ozean/Meer: Hai, Thunfisch, Kabeljau, Schwertfisch, Seehase,
- Seeteufel, Seewolf
-
- Suesswasser:
- W_RIVER Fluss: Piranha, Lachs, Forelle, Bachsaibling
- W_POOL Teich: Stichling, Goldfisch, Schlei, Karpfen, Goldorfe
- W_LAKE See: Karpfen, Barsch, Hecht, Seesaibling
- W_ROCK Bergbach: Lachs, Forelle, Bachsaibling
- W_STREAM Bach: Stichling, Bachforelle, Neuauge, Bachsaibling
-
- Sonstige:
- W_USER wenn dieser Gewaessertyp gesetzt wird, MUSS der Raum
- zusaetzlich die Funktion GetAquarium() definieren, die
- eine Liste der hier fangbaren Fische zurueckgeben muss.
- Beispiel:
-
- string* GetAquarium(){
- return ({"/d/ebene/fraggle/angel/fisch"});
- }
- W_DEAD Lebloses Wasser. Enthaelt keine Fische, man kann
- aber die Standardflasche fuellen.
-
- W_OTHER 1024 // Flasche enthaelt Fluessigkeit!=Wasser
+P_WATER
+*******
- Angel:
- ******
- Angeln sind ueblicherweise auf bestimmte Anwendungsbereiche ausgelegt.
- Ob eine Angel in einem Gewaesser benutzt werden kann, haengt davon ab,
- ob P_WATER in der Angel den Gewaessertyp des Raumes enthaelt. Von den
- oben genannten Typen koennen mehrere ver-ODER-t gesetzt werden.
- Verwendung einer fuer das oertliche Gewaesser ungeeigneten Angel fuehrt
- zu einer um 60+random(60) Sekunden verlaengerten Wartezeit beim Angeln.
-
- Beispiel: Setzt man den Gewaessertyp mit
+NAME
+====
- SetProp(P_WATER, W_HARBOR|W_OCEAN);
+ P_WATER "water"
- schaltet das die Angel sowohl fuer Haefen, als auch fuer offene Meere
- (Ozeane) frei.
- Folgende kombinierte Gewaessertypen sind fuer einfache Angeln
- vordefiniert:
+DEFINIERT IN
+============
- Kurze Standardangeln:
- W_SHORT W_HARBOR|W_RIVER|W_POOL|W_LAKE|W_ROCK|W_USER|W_OCEAN|W_STREAM
- Spezielle Strandruten:
- W_LONG W_BEACH|W_USER
- funktioniert in allen Salzgewaessern:
- W_SALT W_HARBOR|W_OCEAN|W_BEACH
- funktioniert in allen Suessgewaessern:
- W_SWEET W_RIVER|W_POOL|W_LAKE|W_ROCK|W_STREAM
+ /sys/fishing.h
- Hinweis: W_DEAD ist in diesen Kombinationen nicht enthalten, da es
- in solchen Gewaessern ohnehin keine Fische gibt.
- Die Kombi-Typen enthalten W_USER, um bei entsprechenden Gewaessern
- zu vermeiden, dass es dort standardmaessig einen Malus auf die
- Wartezeit gibt. Standardwert fuer P_WATER in Angeln ist ebenfalls
- W_USER.
- Koeder:
- *******
- Auch Koeder koennen fuer die Verwendung in bestimmten Gewaessern besser
- geeignet sein als in anderen, z.B. eine Seeschnecke fuer Salzwasser,
- ein Mehlwurm hingegen fuer Suesswasser. Gesetzt wird P_WATER hierfuer
- auf die oben aufgefuehrten Werte.
- Verwendung eines ungeeigneten Koeders fuehrt zu einer um 60+random(60)
- Sekunden laengeren Wartezeit beim Angeln.
+BESCHREIBUNG
+============
- Wasserbehaelter:
- ****************
- Die Property gibt an, ob der Behaelter Wasser enthaelt oder nicht.
- Der Wert sollte immer auf den Typ jenes Gewaessers gesetzt sein, aus
- dem der Behaelter aufgefuellt wurde.
+ Enthaelt den Gewaessertyp. Kann in Raeumen, Angeln und Wasserbehaeltern
+ verwendet werden. Die verfuegbaren Optionen und Funktionsweisen sind in
+ den nachfolgenden Abschnitten aufgefuehrt.
-SIEHE AUCH:
+ Raum:
+ *****
+ Legt den Typ des Gewaessers fest, das es in diesem Raum gibt. Von
+ diesem Typ haengt ab, welche Arten von Fischen es hier standardmaessig
+ gibt und welche Arten von Angeln verwendet werden koennen.
- Properties: P_FISH
- Methoden: GetAquarium(L)
-------------------------------------------------------------------------------
+
+ Beispiel:
+
+ SetProp(P_WATER, W_HARBOR);
+
+
+
+ Folgende
+ Typen stehen zur Verfuegung, von denen in Raeumen nur einer gesetzt
+ werden darf:
+
+ Salzwasser:
+ W_BEACH Strand: Scholle, Flunder, Rochen, Seezunge, Katzenhai
+ W_HARBOR Hafen: Dorsch, Rochen, Seezunge, Hering, Katzenhai
+ W_OCEAN Ozean/Meer: Hai, Thunfisch, Kabeljau, Schwertfisch, Seehase,
+ Seeteufel, Seewolf
+
+ Suesswasser:
+ W_RIVER Fluss: Piranha, Lachs, Forelle, Bachsaibling
+ W_POOL Teich: Stichling, Goldfisch, Schlei, Karpfen, Goldorfe
+ W_LAKE See: Karpfen, Barsch, Hecht, Seesaibling
+ W_ROCK Bergbach: Lachs, Forelle, Bachsaibling
+ W_STREAM Bach: Stichling, Bachforelle, Neuauge, Bachsaibling
+
+ Sonstige:
+ W_USER wenn dieser Gewaessertyp gesetzt wird, MUSS der Raum
+ zusaetzlich die Funktion GetAquarium() definieren, die
+ eine Liste der hier fangbaren Fische zurueckgeben muss.
+ Beispiel:
+
+ string* GetAquarium(){
+ return ({"/d/ebene/fraggle/angel/fisch"});
+ }
+ W_DEAD Lebloses Wasser. Enthaelt keine Fische, man kann
+ aber die Standardflasche fuellen.
+
+ W_OTHER 1024 // Flasche enthaelt Fluessigkeit!=Wasser
+
+
+ Angel:
+ ******
+ Angeln sind ueblicherweise auf bestimmte Anwendungsbereiche ausgelegt.
+ Ob eine Angel in einem Gewaesser benutzt werden kann, haengt davon ab,
+ ob P_WATER in der Angel den Gewaessertyp des Raumes enthaelt. Von den
+ oben genannten Typen koennen mehrere ver-ODER-t gesetzt werden.
+ Verwendung einer fuer das oertliche Gewaesser ungeeigneten Angel fuehrt
+ zu einer um 60+random(60) Sekunden verlaengerten Wartezeit beim Angeln.
+
+
+
+ Beispiel: Setzt man den Gewaessertyp mit
+
+ SetProp(P_WATER, W_HARBOR|W_OCEAN);
+
+ schaltet das die Angel sowohl fuer Haefen, als auch fuer offene Meere
+ (Ozeane) frei.
+
+ Folgende kombinierte Gewaessertypen sind fuer einfache Angeln
+ vordefiniert:
+
+ Kurze Standardangeln:
+ W_SHORT W_HARBOR|W_RIVER|W_POOL|W_LAKE|W_ROCK|W_USER|W_OCEAN|W_STREAM
+ Spezielle Strandruten:
+ W_LONG W_BEACH|W_USER
+ funktioniert in allen Salzgewaessern:
+ W_SALT W_HARBOR|W_OCEAN|W_BEACH
+ funktioniert in allen Suessgewaessern:
+ W_SWEET W_RIVER|W_POOL|W_LAKE|W_ROCK|W_STREAM
+
+ Hinweis: W_DEAD ist in diesen Kombinationen nicht enthalten, da es
+ in solchen Gewaessern ohnehin keine Fische gibt.
+ Die Kombi-Typen enthalten W_USER, um bei entsprechenden Gewaessern
+ zu vermeiden, dass es dort standardmaessig einen Malus auf die
+ Wartezeit gibt. Standardwert fuer P_WATER in Angeln ist ebenfalls
+ W_USER.
+
+ Koeder:
+ *******
+ Auch Koeder koennen fuer die Verwendung in bestimmten Gewaessern besser
+ geeignet sein als in anderen, z.B. eine Seeschnecke fuer Salzwasser,
+ ein Mehlwurm hingegen fuer Suesswasser. Gesetzt wird P_WATER hierfuer
+ auf die oben aufgefuehrten Werte.
+ Verwendung eines ungeeigneten Koeders fuehrt zu einer um 60+random(60)
+ Sekunden laengeren Wartezeit beim Angeln.
+
+ Wasserbehaelter:
+ ****************
+ Die Property gibt an, ob der Behaelter Wasser enthaelt oder nicht.
+ Der Wert sollte immer auf den Typ jenes Gewaessers gesetzt sein, aus
+ dem der Behaelter aufgefuellt wurde.
+
+
+SIEHE AUCH
+==========
+
+ Properties: P_FISH
+ Methoden: GetAquarium(L)
+
Zuletzt geaendert: 2014-Aug-21, Arathorn
diff --git a/doc/props/P_WC b/doc/props/P_WC
index 042de3d..cfa18e4 100644
--- a/doc/props/P_WC
+++ b/doc/props/P_WC
@@ -1,37 +1,56 @@
-NAME:
- P_WC "wc"
-DEFINIERT IN:
- /sys/weapon.h
+P_WC
+****
-BESCHREIBUNG:
- Die Waffenklasse (engl: weapon class), also die Staerke der Waffe,
- stellt einen numerischen Wert dar, der umso groesser ist, desto mehr
- Schaden eine Waffe im Kampf anrichtet. Beim Zuecken oder Wegstecken
- einer Waffe durch ein Lebewesen wird innerhalb des Lebewesens auch
- die Property P_TOTAL_WC aktualisiert, welche somit immer die
- aktuelle Angriffsstaerke enthaelt. Beim Zuecken erhaelt sie hierbei
- die Waffenklasse der Waffe und beim Wegstecken die Angriffsstaerke
- aus der Property P_HANDS (Kaempfen mit blossen Haenden).
- Die Waffenklasse von einhaendigen Waffen sollte 150 nicht
- ueberschreiten, die Obergrenze fuer zweihaendige Waffen liegt bei
- 200. Ausnahmen von dieser Regel beduerfen der Absprache mit dem
- Erzmagier fuer Ruestungen, Waffen und Monster!
- Negative Werte bewirken keinen Schaden, allerdings auch keine
- Heilung.
-BEMERKUNGEN:
- Query- und Setmethoden auf P_WC sollten unbedingt vermieden werden. Sie
- fuehren in der Regel zu massiven Inkonsistenzen im Mechanismus der
- Ruestungsbeschaedigung und -reparatur.
- Auch mit einer HitFunc() duerfen die Obergrenzen nicht ohne
- Absprache ueberschritten werden! Ausserdem ist es ratsam, die
- zusaetzlichen Kampfeigenschaften in P_EFFECTIVE_WC gesondert
- anzugeben.
+NAME
+====
-SIEHE AUCH:
- /std/weapon.c, /std/weapon/combat.c
- P_DAMAGED, P_EFFECTIVE_WC, P_WEAPON_TYPE
- Damage()
-----------------------------------------------------------------------------
-02.10.2007, Zesstra
+ P_WC "wc"
+
+
+DEFINIERT IN
+============
+
+ /sys/weapon.h
+
+
+BESCHREIBUNG
+============
+
+ Die Waffenklasse (engl: weapon class), also die Staerke der Waffe,
+ stellt einen numerischen Wert dar, der umso groesser ist, desto mehr
+ Schaden eine Waffe im Kampf anrichtet. Beim Zuecken oder Wegstecken
+ einer Waffe durch ein Lebewesen wird innerhalb des Lebewesens auch
+ die Property P_TOTAL_WC aktualisiert, welche somit immer die
+ aktuelle Angriffsstaerke enthaelt. Beim Zuecken erhaelt sie hierbei
+ die Waffenklasse der Waffe und beim Wegstecken die Angriffsstaerke
+ aus der Property P_HANDS (Kaempfen mit blossen Haenden).
+ Die Waffenklasse von einhaendigen Waffen sollte 150 nicht
+ ueberschreiten, die Obergrenze fuer zweihaendige Waffen liegt bei
+ 200. Ausnahmen von dieser Regel beduerfen der Absprache mit der
+ Balance.
+ Negative Werte bewirken keinen Schaden, allerdings auch keine
+ Heilung.
+
+
+BEMERKUNGEN
+===========
+
+ Query- und Setmethoden auf P_WC sollten unbedingt vermieden werden. Sie
+ fuehren in der Regel zu massiven Inkonsistenzen im Mechanismus der
+ Ruestungsbeschaedigung und -reparatur.
+ Auch mit einer HitFunc() duerfen die Obergrenzen nicht ohne
+ Absprache ueberschritten werden! Ausserdem ist es ratsam, die
+ zusaetzlichen Kampfeigenschaften in P_EFFECTIVE_WC gesondert
+ anzugeben.
+
+
+SIEHE AUCH
+==========
+
+ /std/weapon.c, /std/weapon/combat.c
+ P_DAMAGED, P_EFFECTIVE_WC, P_WEAPON_TYPE
+ Damage()
+
+14.02.2017, Bugfix
diff --git a/doc/props/P_WEAPON b/doc/props/P_WEAPON
index 5b1854c..a7f68b2 100644
--- a/doc/props/P_WEAPON
+++ b/doc/props/P_WEAPON
@@ -1,17 +1,31 @@
+
P_WEAPON
+********
-NAME:
- P_WEAPON "weapon"
-DEFINIERT IN:
- /sys/properties.h
+NAME
+====
-BESCHREIBUNG:
- Momentan gezueckte Waffe. Im Living gesetzt.
+ P_WEAPON "weapon"
-SIEHE AUCH:
- Verwandt: P_ARMOURS
- Waffen: P_WC, P_WEAPON_TYPE, P_DAM_TYPE, P_NR_HANDS, P_PARRY
- Sonstiges: P_UNWIELD_TIME, P_EQUIP_TIME, P_LAST_USE
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Momentan gezueckte Waffe. Im Living gesetzt.
+
+
+SIEHE AUCH
+==========
+
+ Verwandt: P_ARMOURS
+ Waffen: P_WC, P_WEAPON_TYPE, P_DAM_TYPE, P_NR_HANDS, P_PARRY
+ Sonstiges: P_UNWIELD_TIME, P_EQUIP_TIME, P_LAST_USE
10.Feb 2005 Gloinson
diff --git a/doc/props/P_WEAPON_TEACHER b/doc/props/P_WEAPON_TEACHER
index 685f9e4..ebeb788 100644
--- a/doc/props/P_WEAPON_TEACHER
+++ b/doc/props/P_WEAPON_TEACHER
@@ -1,18 +1,29 @@
-NAME:
- P_WEAPON_TEACHER "weapon_teacher"
+
+P_WEAPON_TEACHER
+****************
-DEFINIERT IN:
- combat.h
+NAME
+====
-BESCHREIBUNG:
- Diese Property wird in einem Azubi gesetzt (zur Zeit nur fuer die
- Kaempfer-Gilde), der selbst ueber die allgemeinen Waffenskills
- verfuegt.
+ P_WEAPON_TEACHER "weapon_teacher"
- In diese Property wird der Name eines Kaempfergilden-Ausbilders
- eingetragen.
- Unter Anleitung des Ausbilders lernt der Azubi dann etwas schneller
- die allgemeinen Waffenskills.
+DEFINIERT IN
+============
+ combat.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property wird in einem Azubi gesetzt (zur Zeit nur fuer die
+ Kaempfer-Gilde), der selbst ueber die allgemeinen Waffenskills
+ verfuegt.
+
+ In diese Property wird der Name eines Kaempfergilden-Ausbilders
+ eingetragen.
+
+ Unter Anleitung des Ausbilders lernt der Azubi dann etwas schneller
+ die allgemeinen Waffenskills.
diff --git a/doc/props/P_WEAPON_TYPE b/doc/props/P_WEAPON_TYPE
index 06f3c0b..d200054 100644
--- a/doc/props/P_WEAPON_TYPE
+++ b/doc/props/P_WEAPON_TYPE
@@ -1,31 +1,41 @@
+
P_WEAPON_TYPE
+*************
-NAME:
- P_WEAPON_TYPE "weapon_type"
-DEFINIERT IN:
- <weapon.h>
+NAME
+====
-BESCHREIBUNG:
- Um was fuer eine Waffe handelt es sich? Es stehen verschiedene
- Typen zur Auswahl. Man sollte hier nur die in <combat.h> definierten
- Konstanten verwenden:
+ P_WEAPON_TYPE "weapon_type"
- WT_AMMU Munition fuer Fernkampfwaffen
- WT_AXE Axt
- WT_CLUB Keule
- WT_HANDS blosse Haende
- WT_KNIFE Messer, Dolch
- WT_RANGED_WEAPON Fernkampfwaffe
- WT_SPEAR Speer
- WT_STAFF Kampfstab
- WT_SWORD Schwert
- WT_WHIP Peitsche
- WT_MISC Sonstiges
- Der Waffentyp WT_MISC ist schnoedem Tand und nutzlosem Kram vorbehalten.
- Waffen dieses Typs duerfen keine P_WC > 0 besitzen oder kampfrelevante
- Bedeutung haben.
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
+ <weapon.h>
+
+
+BESCHREIBUNG
+============
+
+ Um was fuer eine Waffe handelt es sich? Es stehen verschiedene
+ Typen zur Auswahl. Man sollte hier nur die in <combat.h> definierten
+ Konstanten verwenden:
+
+ WT_AMMU Munition fuer Fernkampfwaffen
+ WT_AXE Axt
+ WT_CLUB Keule
+ WT_HANDS blosse Haende
+ WT_KNIFE Messer, Dolch
+ WT_RANGED_WEAPON Fernkampfwaffe
+ WT_SPEAR Speer
+ WT_STAFF Kampfstab
+ WT_SWORD Schwert
+ WT_WHIP Peitsche
+ WT_MISC Sonstiges
+
+ Der Waffentyp WT_MISC ist schnoedem Tand und nutzlosem Kram vorbehalten.
+ Waffen dieses Typs duerfen keine P_WC > 0 besitzen oder kampfrelevante
+ Bedeutung haben.
+
Letzte Aenderung: 27. Mai 2015, Arathorn.
diff --git a/doc/props/P_WEAR_FUNC b/doc/props/P_WEAR_FUNC
index edc9bcc..d288187 100644
--- a/doc/props/P_WEAR_FUNC
+++ b/doc/props/P_WEAR_FUNC
@@ -1,24 +1,44 @@
+
P_WEAR_FUNC
+***********
-NAME:
- P_WEAR_FUNC "wear_func"
-DEFINIERT IN:
- <armour.h>
+NAME
+====
-BESCHREIBUNG:
- Falls ein Objekt eine WearFunc() fuer die Ruestung / Kleidung definiert,
- so muss dieses Objekt in dieser Property eingetragen sein.
+ P_WEAR_FUNC "wear_func"
- Die Auswertung dieser Property erfolgt in Laufe eines DoWear() in der
- nicht-oeffentlichen Funktion _check_wear_restrictions()..
-BEISPIELE:
- Siehe das Beispiel zu WearFunc()
+DEFINIERT IN
+============
-SIEHE AUCH:
- armours, clothing, /std/clothing/wear.c, /std/armour/wear.c
- WearFunc(), InformWear()
+ <armour.h>
-LETZTE AeNDERUNG:
-15.02.2009, Zesstra
\ No newline at end of file
+
+BESCHREIBUNG
+============
+
+ Falls ein Objekt eine WearFunc() fuer die Ruestung / Kleidung definiert,
+ so muss dieses Objekt in dieser Property eingetragen sein.
+
+ Die Auswertung dieser Property erfolgt in Laufe eines DoWear() in der
+ nicht-oeffentlichen Funktion _check_wear_restrictions()..
+
+
+BEISPIELE
+=========
+
+ Siehe das Beispiel zu WearFunc()
+
+
+SIEHE AUCH
+==========
+
+ armours, clothing, /std/clothing/wear.c, /std/armour/wear.c
+ WearFunc(), InformWear()
+
+
+LETZTE AeNDERUNG
+================
+
+15.02.2009, Zesstra
diff --git a/doc/props/P_WEAR_MSG b/doc/props/P_WEAR_MSG
index 31407fa..69fbf44 100644
--- a/doc/props/P_WEAR_MSG
+++ b/doc/props/P_WEAR_MSG
@@ -1,61 +1,82 @@
+
P_WEAR_MSG
-NAME:
- P_WEAR_MSG "wear_msg"
+**********
-DEFINIERT IN:
- /sys/armour.h
-BESCHREIBUNG:
- Zweiteiliges Array mit Meldungen, die beim Anziehen einer Ruestung oder
- Kleidung an den Spieler und die Umgebung ausgegeben werden.
- Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
- Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
- jedoch beruecksichtigt.
+NAME
+====
- Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
- man replace_personal()).
+ P_WEAR_MSG "wear_msg"
- [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
- moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
- in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
- den Waffennamen.]
-BEISPIELE:
- SetProp(P_NAME, "Helm");
- SetProp(P_WEAR_MSG,
- ({"Du stuelpst die @WEN2 ueber.",
- "@WER1 stuelpt sich @WENU2 ueber."}));
+DEFINIERT IN
+============
- -> beim Anziehe durch Urk:
- Urk bekommt: Du stuelpst dir den Helm ueber.
- Der Raum: Urk stuelpt sich einen Helm ueber.
+ /sys/armour.h
- SetProp(P_WEAR_MSG,
- ({"Als Du Dir den langen Mantel ueberziehst, steckst Du erstmal "
- "mit Deinem dicken Schaedel fest. Doch nach einem kraeftigen "
- "Ruck bist Du endlich durch und siehst wieder etwas.",
- "@WER1 zieht sich einen langen Mantel ueber und bleibt "
- "prompt mit dem dicken Schaedel stecken. Doch nach einem "
- "kraeftigen Ruck kann @WERQP1 wieder etwas sehen und grinst Dich "
- "verlegen an."}));
- -> beim Anziehen durch Urk:
- Urk bekommt: Als Du Dir den langen Mantel ueberziehst, steckst Du
- erstmal mit Deinem dicken Schaedel fest. Doch nach einem
- kraeftigen Ruck bist Du endlich durch und siehst wieder
- etwas.
+BESCHREIBUNG
+============
- Der Raum: Urk zieht sich einen langen Mantel ueber und bleibt
- prompt mit dem dicken Schaedel stecken. Doch nach
- einem kraeftigen Ruck kann er wieder etwas sehen und
- grinst Dich verlegen an.
+ Zweiteiliges Array mit Meldungen, die beim Anziehen einer Ruestung oder
+ Kleidung an den Spieler und die Umgebung ausgegeben werden.
+ Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
+ Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
+ jedoch beruecksichtigt.
-SIEHE AUCH:
- Aehnliches: P_UNWEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
- P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
- Funktionen: WearFunc, UnwearFunc, InformWear()
- Sonstiges: replace_personal(E), clothing, /std/clothing/wear.c
- armour, /std/armour/wear.c
+ Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
+ man replace_personal()).
-LETZTE AeNDERUNG:
-15.02.2009
\ No newline at end of file
+ [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
+ moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
+ in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
+ den Waffennamen.]
+
+
+BEISPIELE
+=========
+
+ SetProp(P_NAME, "Helm");
+ SetProp(P_WEAR_MSG,
+ ({"Du stuelpst die @WEN2 ueber.",
+ "@WER1 stuelpt sich @WENU2 ueber."}));
+
+ -> beim Anziehe durch Urk:
+ Urk bekommt: Du stuelpst dir den Helm ueber.
+ Der Raum: Urk stuelpt sich einen Helm ueber.
+
+ SetProp(P_WEAR_MSG,
+ ({"Als Du Dir den langen Mantel ueberziehst, steckst Du erstmal "
+ "mit Deinem dicken Schaedel fest. Doch nach einem kraeftigen "
+ "Ruck bist Du endlich durch und siehst wieder etwas.",
+ "@WER1 zieht sich einen langen Mantel ueber und bleibt "
+ "prompt mit dem dicken Schaedel stecken. Doch nach einem "
+ "kraeftigen Ruck kann @WERQP1 wieder etwas sehen und grinst Dich "
+ "verlegen an."}));
+
+ -> beim Anziehen durch Urk:
+ Urk bekommt: Als Du Dir den langen Mantel ueberziehst, steckst Du
+ erstmal mit Deinem dicken Schaedel fest. Doch nach einem
+ kraeftigen Ruck bist Du endlich durch und siehst wieder
+ etwas.
+
+ Der Raum: Urk zieht sich einen langen Mantel ueber und bleibt
+ prompt mit dem dicken Schaedel stecken. Doch nach
+ einem kraeftigen Ruck kann er wieder etwas sehen und
+ grinst Dich verlegen an.
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_UNWEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
+ P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
+ Funktionen: WearFunc, UnwearFunc, InformWear()
+ Sonstiges: replace_personal(E), clothing, /std/clothing/wear.c
+ armour, /std/armour/wear.c
+
+
+LETZTE AeNDERUNG
+================
+
+15.02.2009
diff --git a/doc/props/P_WEIGHT b/doc/props/P_WEIGHT
index 22af5f0..4c37e46 100644
--- a/doc/props/P_WEIGHT
+++ b/doc/props/P_WEIGHT
@@ -1,26 +1,43 @@
-NAME:
- P_WEIGHT "weight"
-DEFINIERT IN:
- /sys/thing/restrictions.h
+P_WEIGHT
+********
-BESCHREIBUNG:
- - Objekte
- Das Gewicht eines Objetes in Gramm.
+NAME
+====
- - Speisen
- Gewicht einer Portion der Speise.
-
-BEMERKUNGEN:
- In tragbaren Speisen (erben von /std/food) setzt man mit SetProp
- das Gewicht _einer_ Portion. Per QueryProp erhaelt man aber das
- Gesamtgewicht der Speise inclusive des eventuell vorhandenen Behaelters.
- Das Gewicht des Behaelters wird dabei aus P_EMPTY_PROPS[P_WEIGHT]
- gelesen.
-
-SIEHE AUCH:
- Speisen: wiz/food, P_EMPTY_PROPS
+ P_WEIGHT "weight"
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+ /sys/thing/restrictions.h
+
+
+BESCHREIBUNG
+============
+
+ - Objekte
+ Das Gewicht eines Objetes in Gramm.
+
+ - Speisen
+ Gewicht einer Portion der Speise.
+
+
+BEMERKUNGEN
+===========
+
+ In tragbaren Speisen (erben von /std/food) setzt man mit SetProp
+ das Gewicht _einer_ Portion. Per QueryProp erhaelt man aber das
+ Gesamtgewicht der Speise inclusive des eventuell vorhandenen Behaelters.
+ Das Gewicht des Behaelters wird dabei aus P_EMPTY_PROPS[P_WEIGHT]
+ gelesen.
+
+
+SIEHE AUCH
+==========
+
+ Speisen: wiz/food, P_EMPTY_PROPS
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_WEIGHT_PERCENT b/doc/props/P_WEIGHT_PERCENT
index 7bb1ad3..a4d0506 100644
--- a/doc/props/P_WEIGHT_PERCENT
+++ b/doc/props/P_WEIGHT_PERCENT
@@ -1,25 +1,47 @@
-NAME:
- P_WEIGHT_PERCENT "weight_percent"
-DEFINIERT IN:
- /sys/properties.h
+P_WEIGHT_PERCENT
+****************
-BESCHREIBUNG:
- Diese Property gibt an, wieviel Prozent des Gewichts des Inhaltes
- "nach aussen" wiedergegeben werden.
-BEMERKUNGEN:
- Alle Werte die < 50% liegen sollten sehr gut begruendet und mit Vor-
- sicht verwendet werden. Hier koennten dann zum Beispiel P_MAX_OBJECTS
- auf einen kleinen Wert begrenzt werden.
+NAME
+====
- Container die hier einen Wert ueber dem des Postpakets haben, sollten
- auch schwer zu erreichen sein. Auf jeden Fall mit dem Regionsmagier
- besprechen!
+ P_WEIGHT_PERCENT "weight_percent"
-BEISPIELE:
- Um sich zu orientieren kann das Postpaket von Loco als Beispiel hin-
- zugezogen werden (/p/service/loco/obj/parcel).
-SIEHE AUCH:
- P_MAX_OBJECTS, P_MAX_WEIGHT, P_LIGHT_TRANSPARENCY, container
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property gibt an, wieviel Prozent des Gewichts des Inhaltes
+ "nach aussen" wiedergegeben werden.
+
+
+BEMERKUNGEN
+===========
+
+ Alle Werte die < 50% liegen sollten sehr gut begruendet und mit Vor-
+ sicht verwendet werden. Hier koennten dann zum Beispiel P_MAX_OBJECTS
+ auf einen kleinen Wert begrenzt werden.
+
+ Container die hier einen Wert ueber dem des Postpakets haben, sollten
+ auch schwer zu erreichen sein. Auf jeden Fall mit dem Regionsmagier
+ besprechen!
+
+
+BEISPIELE
+=========
+
+ Um sich zu orientieren kann das Postpaket von Loco als Beispiel hin-
+ zugezogen werden (/p/service/loco/obj/parcel).
+
+
+SIEHE AUCH
+==========
+
+ P_MAX_OBJECTS, P_MAX_WEIGHT, P_LIGHT_TRANSPARENCY, container
diff --git a/doc/props/P_WEIGHT_PER_UNIT b/doc/props/P_WEIGHT_PER_UNIT
index 2796b7b..c777b65 100644
--- a/doc/props/P_WEIGHT_PER_UNIT
+++ b/doc/props/P_WEIGHT_PER_UNIT
@@ -1,13 +1,29 @@
-NAME:
- P_WEIGHT_PER_UNIT "weight_per_unit"
-DEFINIERT IN:
- /sys/properties.h
+P_WEIGHT_PER_UNIT
+*****************
-BESCHREIBUNG:
- Gewicht in Gramm pro Untereinheit.
-BEMERKUNGEN:
- Deprecated. Bitte SetGramsPerUnits() (U_GPU) benutzen.
+NAME
+====
+
+ P_WEIGHT_PER_UNIT "weight_per_unit"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Gewicht in Gramm pro Untereinheit.
+
+
+BEMERKUNGEN
+===========
+
+ Deprecated. Bitte SetGramsPerUnits() (U_GPU) benutzen.
25.Aug 2015 Gloinson
diff --git a/doc/props/P_WIELDED b/doc/props/P_WIELDED
index bce8580..26bcff7 100644
--- a/doc/props/P_WIELDED
+++ b/doc/props/P_WIELDED
@@ -1,21 +1,37 @@
+
P_WIELDED
+*********
-NAME:
- P_WIELDED "wielded"
-DEFINIERT IN:
- <weapon.h>
+NAME
+====
-BESCHREIBUNG:
- Ist diese Property gesetzt, dann ist die Waffe gerade gezueckt. Der
- Traeger ist in der Property vermerkt.
+ P_WIELDED "wielded"
-BEMERKUNGEN:
- Diese Property laesst sich nur abfragen!
-SIEHE AUCH:
- /std/weapon.c
- P_WEAPON
+DEFINIERT IN
+============
-----------------------------------------------------------------------------
-Last modified: 2015-Jul-11, Arathorn
+ <weapon.h>
+
+
+BESCHREIBUNG
+============
+
+ Ist diese Property gesetzt, dann ist die Waffe gerade gezueckt. Der
+ Traeger ist in der Property vermerkt.
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property laesst sich nur abfragen!
+
+
+SIEHE AUCH
+==========
+
+ /std/weapon.c
+ P_WEAPON
+
+Last modified: 2015-Jul-11, Arathorn
diff --git a/doc/props/P_WIELD_FUNC b/doc/props/P_WIELD_FUNC
index fac481b..fbe49a7 100644
--- a/doc/props/P_WIELD_FUNC
+++ b/doc/props/P_WIELD_FUNC
@@ -1,22 +1,38 @@
+
P_WIELD_FUNC
+************
-NAME:
- P_WIELD_FUNC "wield_func"
-DEFINIERT IN:
- <weapon.h>
+NAME
+====
-BESCHREIBUNG:
- Falls ein Objekt eine WieldFunc() fuer die Waffe definiert, so muss
- dieses Objekt in dieser Property eingetragen werden.
+ P_WIELD_FUNC "wield_func"
- Die Auswertung dieser Property erfolgt in wield_me().
-BEISPIELE:
- Siehe das Beispiel zu WieldFunc()
+DEFINIERT IN
+============
-SIEHE AUCH:
- /std/weapon.c, WieldFunc()
+ <weapon.h>
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ Falls ein Objekt eine WieldFunc() fuer die Waffe definiert, so muss
+ dieses Objekt in dieser Property eingetragen werden.
+
+ Die Auswertung dieser Property erfolgt in wield_me().
+
+
+BEISPIELE
+=========
+
+ Siehe das Beispiel zu WieldFunc()
+
+
+SIEHE AUCH
+==========
+
+ /std/weapon.c, WieldFunc()
+
Last modified: Sun May 19 15:40:02 1996 by Wargon
diff --git a/doc/props/P_WIELD_MSG b/doc/props/P_WIELD_MSG
index 357a304..fa9dafc 100644
--- a/doc/props/P_WIELD_MSG
+++ b/doc/props/P_WIELD_MSG
@@ -1,57 +1,74 @@
+
P_WIELD_MSG
-NAME:
- P_WIELD_MSG "wield_msg"
+***********
-DEFINIERT IN:
- /sys/weapon.h
-BESCHREIBUNG:
+NAME
+====
- Zweiteiliges Array mit Meldungen, die beim Zuecken einer Waffe an den
- Spieler und die Umgebung ausgegeben werden.
- Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
- Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
- jedoch beruecksichtigt.
+ P_WIELD_MSG "wield_msg"
- Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
- man replace_personal()).
- [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
- moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
- in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
- den Waffennamen.]
+DEFINIERT IN
+============
-BEISPIELE:
- SetProp(P_NAME, "Streitkolben");
- SetProp(P_WIELD_MSG,
- ({"Du zueckst @WEN2 und stoesst einen markerschuetternden Schrei aus.",
- "@WER1 zueckt @WENU2 und stoesst einen markerschuetternden Schrei "
- "aus." }));
+ /sys/weapon.h
- -> beim Zuecken durch Urk:
- Urk bekommt: Du zueckst den Streitkolben und stoesst einen
- markerschuetternden Schrei aus.
- Der Raum: Urk zueckt einen Streitkolben und stoesst einen
- markerschuetternden Schrei aus.
- SetProp(P_WIELD_MSG,
- ({"Du zueckst den klobigen Streitkolben und fuchtelst damit "
- "wild vor Deiner Nase herum.",
- "@WER1 zueckt einen klobigen Streitkolben und fuchtelt "
- "damit wild vor der eigenen Nase herum. Hoffentlich verletzt "
- "@WERQP1 sich dabei nicht ..."}));
+BESCHREIBUNG
+============
- -> beim Zuecken durch Urk:
- Urk bekommt: Du zueckst den klobigen Streitkolben und fuchtelst
- damit wild vor Deiner Nase herum.
- Der Raum: Urk zueckt einen klobigen Streitkolben und fuchtelt
- damit wild vor der eigenen Nase herum. Hoffentlich
- verletzt er sich dabei nicht ...
+ Zweiteiliges Array mit Meldungen, die beim Zuecken einer Waffe an den
+ Spieler und die Umgebung ausgegeben werden.
+ Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
+ Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
+ jedoch beruecksichtigt.
-SIEHE AUCH:
- Aehnliches: P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
- P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
- Funktionen: UnwieldFunc, WieldFunc
- Sonstiges: replace_personal(E), /std/weapon/combat.c
+ Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
+ man replace_personal()).
+
+ [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
+ moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
+ in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
+ den Waffennamen.]
+
+
+BEISPIELE
+=========
+
+ SetProp(P_NAME, "Streitkolben");
+ SetProp(P_WIELD_MSG,
+ ({"Du zueckst @WEN2 und stoesst einen markerschuetternden Schrei aus.",
+ "@WER1 zueckt @WENU2 und stoesst einen markerschuetternden Schrei "
+ "aus." }));
+
+ -> beim Zuecken durch Urk:
+ Urk bekommt: Du zueckst den Streitkolben und stoesst einen
+ markerschuetternden Schrei aus.
+ Der Raum: Urk zueckt einen Streitkolben und stoesst einen
+ markerschuetternden Schrei aus.
+
+ SetProp(P_WIELD_MSG,
+ ({"Du zueckst den klobigen Streitkolben und fuchtelst damit "
+ "wild vor Deiner Nase herum.",
+ "@WER1 zueckt einen klobigen Streitkolben und fuchtelt "
+ "damit wild vor der eigenen Nase herum. Hoffentlich verletzt "
+ "@WERQP1 sich dabei nicht ..."}));
+
+ -> beim Zuecken durch Urk:
+ Urk bekommt: Du zueckst den klobigen Streitkolben und fuchtelst
+ damit wild vor Deiner Nase herum.
+ Der Raum: Urk zueckt einen klobigen Streitkolben und fuchtelt
+ damit wild vor der eigenen Nase herum. Hoffentlich
+ verletzt er sich dabei nicht ...
+
+
+SIEHE AUCH
+==========
+
+ Aehnliches: P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
+ P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
+ Funktionen: UnwieldFunc, WieldFunc
+ Sonstiges: replace_personal(E), /std/weapon/combat.c
29. Maerz 2004 Gloinson
diff --git a/doc/props/P_WIMPY b/doc/props/P_WIMPY
index 97633fa..d0ba078 100644
--- a/doc/props/P_WIMPY
+++ b/doc/props/P_WIMPY
@@ -1,15 +1,30 @@
-NAME:
- P_WIMPY "wimpy"
-DEFINIERT IN:
- /sys/properties.h
+P_WIMPY
+*******
-BESCHREIBUNG:
- Numerischer Wert. Das Lebewesen flieht, wenn die Lebenspunkte
- unter diesen Wert sinken.
-SIEHE AUCH:
- P_WIMPY_DIRECTION
+NAME
+====
-----------------------------------------------------------------------------
+ P_WIMPY "wimpy"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Numerischer Wert. Das Lebewesen flieht, wenn die Lebenspunkte
+ unter diesen Wert sinken.
+
+
+SIEHE AUCH
+==========
+
+ P_WIMPY_DIRECTION
+
Letzte Aenderung: Mon Feb 12 17:50:47 2001 von Tilly
diff --git a/doc/props/P_WIMPY_DIRECTION b/doc/props/P_WIMPY_DIRECTION
index 57d2f01..11bedeb 100644
--- a/doc/props/P_WIMPY_DIRECTION
+++ b/doc/props/P_WIMPY_DIRECTION
@@ -1,22 +1,40 @@
-NAME:
- P_WIMPY_DIRECTION "wimpy_dir"
-DEFINIERT IN:
- /sys/properties.h
+P_WIMPY_DIRECTION
+*****************
-BESCHREIBUNG:
- Fluchtrichtung eines Spielers oder NPCs
-BEMERKUNGEN:
- Die Fluchtrichtung kann nicht nur ein Ausgang (sueden, osten, ...)
- sein, sondern auch ein Kommando, welches der Spieler beim Anschlagen
- ausfuehrt (z.b. <kletter seil hoch> oder <rufe Elender Mist!>).
+NAME
+====
- Ausgefuehrt wird die Fluchtrichtung per command(), wenn die LP des
- Lebewesens unter die mit <vorsicht> angegebe LP-Grenze sinkt.
+ P_WIMPY_DIRECTION "wimpy_dir"
-SIEHE AUCH:
- P_WIMPY
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Fluchtrichtung eines Spielers oder NPCs
+
+
+BEMERKUNGEN
+===========
+
+ Die Fluchtrichtung kann nicht nur ein Ausgang (sueden, osten, ...)
+ sein, sondern auch ein Kommando, welches der Spieler beim Anschlagen
+ ausfuehrt (z.b. <kletter seil hoch> oder <rufe Elender Mist!>).
+
+ Ausgefuehrt wird die Fluchtrichtung per command(), wenn die LP des
+ Lebewesens unter die mit <vorsicht> angegebe LP-Grenze sinkt.
+
+
+SIEHE AUCH
+==========
+
+ P_WIMPY
+
Letzte Aenderung: Mon Feb 12 17:46:47 2001 von Tilly
diff --git a/doc/props/P_WIZ_DEBUG b/doc/props/P_WIZ_DEBUG
index cf7ac21..0bea2ad 100644
--- a/doc/props/P_WIZ_DEBUG
+++ b/doc/props/P_WIZ_DEBUG
@@ -1,20 +1,37 @@
-NAME:
- P_WIZ_DEBUG "std_p_wizdebug"
-DEFINIERT IN:
- /sys/player/comm.h
+P_WIZ_DEBUG
+***********
-BESCHREIBUNG:
- Gesetzt, wenn der Magier (oder ein Testspieler) Debugmeldungen wahrnehmen
- moechte.
- Debugmeldungen sind Nachrichten, die mit dem Typ MT_DEBUG an ReceiveMsg()
- uebergeben werden.
-
- Die Werte von P_WIZ_DEBUG sind zur Zeit 0 oder 1, das kann sich aber
- jederzeit aendern.
- Magier aendern diese Prop bitte ueber "mschau".
-SIEHE AUCH:
- mschau
- P_WANTS_TO_LEARN
+NAME
+====
+ P_WIZ_DEBUG "std_p_wizdebug"
+
+
+DEFINIERT IN
+============
+
+ /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+ Gesetzt, wenn der Magier (oder ein Testspieler) Debugmeldungen wahrnehmen
+ moechte.
+ Debugmeldungen sind Nachrichten, die mit dem Typ MT_DEBUG an ReceiveMsg()
+ uebergeben werden.
+
+
+
+ Die Werte von P_WIZ_DEBUG sind zur Zeit 0 oder 1, das kann sich aber
+ jederzeit aendern.
+ Magier aendern diese Prop bitte ueber "mschau".
+
+
+SIEHE AUCH
+==========
+
+ mschau
+ P_WANTS_TO_LEARN
diff --git a/doc/props/P_WORN b/doc/props/P_WORN
index 7afd03e..999ab76 100644
--- a/doc/props/P_WORN
+++ b/doc/props/P_WORN
@@ -1,40 +1,63 @@
+
P_WORN
+******
-NAME:
- P_WORN "worn"
-DEFINIERT IN:
- <armour.h>
+NAME
+====
-BESCHREIBUNG:
- Mittels dieser Property laesst sich ermitteln, ob eine Ruestung bzw.
- Kleidung derzeit getragen wird und wenn ja, von wem.
+ P_WORN "worn"
- Entweder enthaelt die Property den Wert 0, oder sie enthaelt den
- Traeger der Ruestung / Kleidung (als Objekt).
-BEMERKUNGEN:
- Diese Property laesst sich nur abfragen!
+DEFINIERT IN
+============
-BEISPIELE:
- Eine DefendFunc() koennte dem Traeger der Ruestung wie folgt etwas
- mitteilen:
+ <armour.h>
- // Die Ruestung gibt Schutz gegen Feuer
- int DefendFunc(string *dtyp, mixed spell, object enemy)
- {
- if (member(dtyp, DT_FIRE) != -1) {
- // P_WORN ist auf jeden Fall gesetzt, da sonst die
- // DefendFunc ueberhaupt nicht aufgerufen wuerde!
- tell_object(QueryProp(P_WORN),
- "Die Flammen zuengeln nur leicht ueber die Ruestung.\n");
- return 10;
- }
- return 0;
+
+BESCHREIBUNG
+============
+
+ Mittels dieser Property laesst sich ermitteln, ob eine Ruestung bzw.
+ Kleidung derzeit getragen wird und wenn ja, von wem.
+
+ Entweder enthaelt die Property den Wert 0, oder sie enthaelt den
+ Traeger der Ruestung / Kleidung (als Objekt).
+
+
+BEMERKUNGEN
+===========
+
+ Diese Property laesst sich nur abfragen!
+
+
+BEISPIELE
+=========
+
+ Eine DefendFunc() koennte dem Traeger der Ruestung wie folgt etwas
+ mitteilen:
+
+ // Die Ruestung gibt Schutz gegen Feuer
+ int DefendFunc(string *dtyp, mixed spell, object enemy)
+ {
+ if (member(dtyp, DT_FIRE) != -1) {
+ // P_WORN ist auf jeden Fall gesetzt, da sonst die
+ // DefendFunc ueberhaupt nicht aufgerufen wuerde!
+ tell_object(QueryProp(P_WORN),
+ "Die Flammen zuengeln nur leicht ueber die Ruestung.\n");
+ return 10;
}
+ return 0;
+ }
-SIEHE AUCH:
- clothing, /std/clothing.c, armour, /std/armour.c
-LETZTE AeNDERUNG:
-15.02.2009, Zesstra
\ No newline at end of file
+SIEHE AUCH
+==========
+
+ clothing, /std/clothing.c, armour, /std/armour.c
+
+
+LETZTE AeNDERUNG
+================
+
+15.02.2009, Zesstra
diff --git a/doc/props/P_XP b/doc/props/P_XP
index 097ec65..649f4e0 100644
--- a/doc/props/P_XP
+++ b/doc/props/P_XP
@@ -1,59 +1,81 @@
-NAME:
- P_XP "xp"
-DEFINIERT IN:
- /sys/living/life.h
+P_XP
+****
-BESCHREIBUNG:
- Diese Property enthaelt die Anzahl der Erfahrungspunkte, die ein
- Lebewesen erreicht hat. Dies geschieht insbesondere durch
- Kampfhandlungen, wobei es sowohl fuer Einzelschlaege als auch fuer
- das Toeten eines Opfers Punkte gibt.
- Bei einzelnen Schlaegen ist die Vergabe von Erfahrungspunkten davon
- abhaengig, wie stark man das Opfer getroffen hat, und welche
- Gesamtwaffenklasse es hat (damage*P_TOTAL_WC/10).
+NAME
+====
- Beim Todesschlag erhaelt man zusaetzlich die Erfahrungspunkte des
- Opfers geteilt durch 100 (P_XP/100). Dieser Wert wird allerdings
- gegebenenfalls auf ein Team aufgeteilt, sofern der Angreifer sich in
- einem solchigen befindet.
+ P_XP "xp"
-BEISPIEL:
- NPC's gibt man im allgemeinen einen levelabhaengigen Sockelwert an
- Erfahrungspunkten mit, da sie nicht allzuoft selbst Gegner toeten
- und somit kaum die Moeglichkeit haben, diese Punkte selbst
- anzusammeln. Trotzdem sollen sie ja dem Spieler eine gewisse Anzahl
- an Erfahrungspunkten liefern, wenn sie getoetet werden:
- include "/sys/living/life.h"
- inherit "std/npc";
- void create() {
- ...
- SetProp(P_XP,25000000);
- }
+DEFINIERT IN
+============
- Beim Toeten gibt es nun 25.000.000/100 = 250.000 Erfahrungspunkte.
- Damit wird der NPC sogar automatisch fuer die Vergabe von
- Erstkillstufenpunkten vorgesehen.
+ /sys/living/life.h
- Die Funktion create_default_npc() setzt P_XP und andere Eigenschaften
- auf geeignete Werte.
-BEMERKUNGEN:
- Die Vergabe von Erstkillstufenpunkten kann man ueber die Property
- P_NO_SCORE unterbinden, die Vergabe von Erfahrungspunkten ueber
- P_NO_XP. Automatisch werden Lebewesen fuer Erstkillstufenpunkte
- vorgesehen, sofern sie eine der folgenden Grenzen ueberschritten
- haben:
- SCORE_LOW_MARK: 200000 (1 Stufenpunkt)
- SCORE_HIGH_MARK: 600000 (2 Stufenpunkte)
- Definiert sind die Konstanten in "/secure/scoremaster.h".
+BESCHREIBUNG
+============
-SIEHE AUCH:
- Funktionen: AddExp(), do_damage()
- Verwandt: P_NO_XP, P_LAST_XP
- Sonstiges: P_NO_SCORE, create_default_npc()
- P_TOTAL_WC
+ Diese Property enthaelt die Anzahl der Erfahrungspunkte, die ein
+ Lebewesen erreicht hat. Dies geschieht insbesondere durch
+ Kampfhandlungen, wobei es sowohl fuer Einzelschlaege als auch fuer
+ das Toeten eines Opfers Punkte gibt.
-14.Feb 2007 Gloinson
\ No newline at end of file
+ Bei einzelnen Schlaegen ist die Vergabe von Erfahrungspunkten davon
+ abhaengig, wie stark man das Opfer getroffen hat, und welche
+ Gesamtwaffenklasse es hat (damage*P_TOTAL_WC/10).
+
+ Beim Todesschlag erhaelt man zusaetzlich die Erfahrungspunkte des
+ Opfers geteilt durch 100 (P_XP/100). Dieser Wert wird allerdings
+ gegebenenfalls auf ein Team aufgeteilt, sofern der Angreifer sich in
+ einem solchigen befindet.
+
+
+BEISPIEL
+========
+
+ NPC's gibt man im allgemeinen einen levelabhaengigen Sockelwert an
+ Erfahrungspunkten mit, da sie nicht allzuoft selbst Gegner toeten
+ und somit kaum die Moeglichkeit haben, diese Punkte selbst
+ anzusammeln. Trotzdem sollen sie ja dem Spieler eine gewisse Anzahl
+ an Erfahrungspunkten liefern, wenn sie getoetet werden:
+
+ include "/sys/living/life.h"
+ inherit "std/npc";
+ void create() {
+ ...
+ SetProp(P_XP,25000000);
+ }
+
+ Beim Toeten gibt es nun 25.000.000/100 = 250.000 Erfahrungspunkte.
+ Damit wird der NPC sogar automatisch fuer die Vergabe von
+ Erstkillstufenpunkten vorgesehen.
+
+ Die Funktion create_default_npc() setzt P_XP und andere Eigenschaften
+ auf geeignete Werte.
+
+
+BEMERKUNGEN
+===========
+
+ Die Vergabe von Erstkillstufenpunkten kann man ueber die Property
+ P_NO_SCORE unterbinden, die Vergabe von Erfahrungspunkten ueber
+ P_NO_XP. Automatisch werden Lebewesen fuer Erstkillstufenpunkte
+ vorgesehen, sofern sie eine der folgenden Grenzen ueberschritten
+ haben:
+ SCORE_LOW_MARK: 200000 (1 Stufenpunkt)
+ SCORE_HIGH_MARK: 600000 (2 Stufenpunkte)
+ Definiert sind die Konstanten in "/secure/scoremaster.h".
+
+
+SIEHE AUCH
+==========
+
+ Funktionen: AddExp(), do_damage()
+ Verwandt: P_NO_XP, P_LAST_XP
+ Sonstiges: P_NO_SCORE, create_default_npc()
+ P_TOTAL_WC
+
+14.Feb 2007 Gloinson
diff --git a/doc/props/P_X_ATTR_MOD b/doc/props/P_X_ATTR_MOD
index c6a8bda..14ab9a4 100644
--- a/doc/props/P_X_ATTR_MOD
+++ b/doc/props/P_X_ATTR_MOD
@@ -1,46 +1,68 @@
-NAME:
- P_X_ATTR_MOD "extern_attributes_modifier"
-DEFINIERT IN:
- /sys/living/attributes.h
+P_X_ATTR_MOD
+************
-BESCHREIBUNG:
- Mapping, das die Attribute des Spielers veraendert, der das Objekt bei
- sich hat.
- Zu beachten:
- Diese Property bitte _ausschliesslich_ mit SetProp aendern, weil damit
- gleichzeitig UpdateAttributes() im Lebewesen aufgerufen und ggf. das
- Objekt als Statmodifizierer registriert wird.
+NAME
+====
- Diese Property ist fuer Krankheiten, Flueche etc. gedacht. Bei
- Waffen/Ruestungen, die die Attribute beeinflussen sollen, verwendet
- man besser P_M_ATTR_MOD.
+ P_X_ATTR_MOD "extern_attributes_modifier"
- P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
- positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
- CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.
-BEMERKUNGEN:
- Die Methode /std/thing/restrictions::_set_extern_attributes_modifier()
- benachrichtigt tragende Livings ueber Aenderungen.
- Bitte beim "Loeschen" der Prop nicht den Wert des jew. Attributes im
- uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz
- entfernen und bzw. ein leeres Mapping oder 0 uebergeben.
+DEFINIERT IN
+============
-BEISPIEL:
- // Dem Lebewesen, das das Objekt bei sich hat, wird 2 von A_INT abgezogen
- SetProp(P_X_ATTR_MOD,([A_INT:-2]));
+ /sys/living/attributes.h
- // Stats wiederherstellen:
- SetProp(P_X_ATTR_MOD,([]));
-SIEHE AUCH:
- QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
- SetAttribute(), SetRealAttribute(), UpdateAttributes(),
- SetTimedAttrModifier(), QueryTimedAttrModifier(),
- DeleteTimedAttrModifier(),
- P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
- P_TIMED_ATTR_MOD, P_M_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+BESCHREIBUNG
+============
+
+ Mapping, das die Attribute des Spielers veraendert, der das Objekt bei
+ sich hat.
+
+ Zu beachten:
+ Diese Property bitte _ausschliesslich_ mit SetProp aendern, weil damit
+ gleichzeitig UpdateAttributes() im Lebewesen aufgerufen und ggf. das
+ Objekt als Statmodifizierer registriert wird.
+
+ Diese Property ist fuer Krankheiten, Flueche etc. gedacht. Bei
+ Waffen/Ruestungen, die die Attribute beeinflussen sollen, verwendet
+ man besser P_M_ATTR_MOD.
+
+ P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
+ positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
+ CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.
+
+
+BEMERKUNGEN
+===========
+
+ Die Methode /std/thing/restrictions::_set_extern_attributes_modifier()
+ benachrichtigt tragende Livings ueber Aenderungen.
+ Bitte beim "Loeschen" der Prop nicht den Wert des jew. Attributes im
+ uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz
+ entfernen und bzw. ein leeres Mapping oder 0 uebergeben.
+
+
+BEISPIEL
+========
+
+ // Dem Lebewesen, das das Objekt bei sich hat, wird 2 von A_INT abgezogen
+ SetProp(P_X_ATTR_MOD,([A_INT:-2]));
+
+ // Stats wiederherstellen:
+ SetProp(P_X_ATTR_MOD,([]));
+
+
+SIEHE AUCH
+==========
+
+ QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+ SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+ SetTimedAttrModifier(), QueryTimedAttrModifier(),
+ DeleteTimedAttrModifier(),
+ P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
+ P_TIMED_ATTR_MOD, P_M_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
02.02.2016, Gloinson
diff --git a/doc/props/P_X_HEALTH_MOD b/doc/props/P_X_HEALTH_MOD
index d78d2bf..69aafab 100644
--- a/doc/props/P_X_HEALTH_MOD
+++ b/doc/props/P_X_HEALTH_MOD
@@ -1,36 +1,60 @@
-NAME:
- P_X_HEALTH_MOD "extern_health_modifier"
-DEFINIERT IN:
- /sys/living/attributes.h
+P_X_HEALTH_MOD
+**************
-BESCHREIBUNG:
- Mapping, mit dem die maximalen Lebenspunkte und Magiepunkte eines
- Spielers veraendert werden, der dieses Objekt bei sich traegt.
- Zu beachten: Diese Property bitte _ausschliesslich_ mit SetProp
- aendern, weil damit gleichzeitig UpdateAttributes() im
- Lebewesen aufgerufen und ggf. das Objekt als Statmodifizierer
- registriert wird.
+NAME
+====
- Bei Ruestungen/Waffen, die diese Wirkung entfalten sollen, verwendet
- man besser P_M_HEALTH_MOD.
+ P_X_HEALTH_MOD "extern_health_modifier"
-BEMERKUNGEN:
- Bitte bei "Loeschen" der Prop nicht den Wert des jew. Attributes im
- uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz
- entfernen und ggf. ein leeres Mapping oder 0 uebergeben.
-BEISPIEL:
- // Dem Spieler, der das Objekt bei sich traegt, wird P_MAX_HP um 5
- // erhoeht und P_MAX_SP um 5 erniedrigt.
- SetProp(P_X_HEALTH_MOD,([P_HP:5,P_SP:-5]));
- // Stats wiederherstellen:
- SetProp(P_X_HEALTH_MOD,([]);
+DEFINIERT IN
+============
-SIEHE AUCH:
- P_M_HEALTH_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, balance
+ /sys/living/attributes.h
-LETZTE AeNDERUNG:
- Sat, 06.02.1999, 14:00:00 von Paracelsus
+BESCHREIBUNG
+============
+
+ Mapping, mit dem die maximalen Lebenspunkte und Magiepunkte eines
+ Spielers veraendert werden, der dieses Objekt bei sich traegt.
+
+ Zu beachten: Diese Property bitte _ausschliesslich_ mit SetProp
+ aendern, weil damit gleichzeitig UpdateAttributes() im
+ Lebewesen aufgerufen und ggf. das Objekt als Statmodifizierer
+ registriert wird.
+
+ Bei Ruestungen/Waffen, die diese Wirkung entfalten sollen, verwendet
+ man besser P_M_HEALTH_MOD.
+
+
+BEMERKUNGEN
+===========
+
+ Bitte bei "Loeschen" der Prop nicht den Wert des jew. Attributes im
+ uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz
+ entfernen und ggf. ein leeres Mapping oder 0 uebergeben.
+
+
+BEISPIEL
+========
+
+ // Dem Spieler, der das Objekt bei sich traegt, wird P_MAX_HP um 5
+ // erhoeht und P_MAX_SP um 5 erniedrigt.
+ SetProp(P_X_HEALTH_MOD,([P_HP:5,P_SP:-5]));
+ // Stats wiederherstellen:
+ SetProp(P_X_HEALTH_MOD,([]);
+
+
+SIEHE AUCH
+==========
+
+ P_M_HEALTH_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, balance
+
+
+LETZTE AeNDERUNG
+================
+
+ Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_ZAP_MSG b/doc/props/P_ZAP_MSG
index fbabff4..6f9c7ce 100644
--- a/doc/props/P_ZAP_MSG
+++ b/doc/props/P_ZAP_MSG
@@ -1,28 +1,41 @@
+
P_ZAP_MSG
+*********
-NAME:
- P_ZAP_MSG "zap_msg"
-DEFINIERT IN:
- /sys/properties.h
+NAME
+====
-BESCHREIBUNG:
- Die Property enthaelt ein dreielementiges Array mit den folgenden
- Eintraegen:
- 1.) Meldung, die der Magier beim Zappen bekommt.
- 2.) Meldung, die die Spieler im Raum beim Zappen bekommen.
- 3.) Meldung, die das Opfer beim Zappen bekommt.
+ P_ZAP_MSG "zap_msg"
- Mit @@wer@@, @@wessen@@, ... kann der Name des Opfers und mit @@ich@@
- der Name des Magiers in die Meldung eingewoben werden.
- Die Property ist in Magiern gesetzt und gilt nur dort.
+DEFINIERT IN
+============
-SIEHE AUCH:
- Tod: die(L)
- Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
- P_ENEMY_DEATH_SEQUENCE
- Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+ /sys/properties.h
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+ Die Property enthaelt ein dreielementiges Array mit den folgenden
+ Eintraegen:
+ 1.) Meldung, die der Magier beim Zappen bekommt.
+ 2.) Meldung, die die Spieler im Raum beim Zappen bekommen.
+ 3.) Meldung, die das Opfer beim Zappen bekommt.
+
+ Mit @@wer@@, @@wessen@@, ... kann der Name des Opfers und mit @@ich@@
+ der Name des Magiers in die Meldung eingewoben werden.
+
+ Die Property ist in Magiern gesetzt und gilt nur dort.
+
+
+SIEHE AUCH
+==========
+
+ Tod: die(L)
+ Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
+ P_ENEMY_DEATH_SEQUENCE
+ Sonstiges: P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/U_REQ b/doc/props/U_REQ
index cb395db..1594c4f 100644
--- a/doc/props/U_REQ
+++ b/doc/props/U_REQ
@@ -1,63 +1,83 @@
-NAME:
- U_REQ "u_req"
-DEFINIERT IN:
- /sys/unit.h
+U_REQ
+*****
-BESCHREIBUNG:
- Die Prop kann in Unitobjekten gesetzt werden.
- Sie gibt die Anzahl der Einheiten an, die an der Unit manipuliert werden
- sollen, falls mit weniger als P_AMOUNT umgegegangen werden soll.
-
- Die Prop wird automatisch gesetzt, wenn id() an einem Unitobjekt gerufen
- wird und die ID grundsaetzlich zutreffend ist, die aus der ID ermittelte
- Zahl aber kleiner als P_AMOUNT ist.
- Sie kann auch manuell mittel SetProp() (aber nicht Set()) gesetzt werden.
- U_REQ wird beim Bewegen und Zerstoeren, bei Ermittlung von Wert und
- Gewicht beruecksichtigt.
+NAME
+====
- U_REQ wird vom Unitobjekt automatisch wieder auf P_AMOUNT gesetzt, wenn
- sich query_verb() oder debug_info(DINFO_EVAL_NUMBER) veraendert haben.
- (DINFO_EVAL_NUMBER ist eine Zahl, die sich jedesmal erhoeht, wenn der
- Driver eine neue Berechnung/Ausfuehrung beginnt. Diese Nummer wird fuer
- jeden vom driver initiierten Aufruf von LPC-Code erhoeht, z.B. bei jedem
- Kommando, call_out, heart_beat etc. Details s. debug_info().)
+ U_REQ "u_req"
- Ebenso wird U_REQ bei der Vereinigung mit einem anderen (gleichen)
- Objekt auf P_AMOUNT des vereinigten Objektes gesetzt.
+
+DEFINIERT IN
+============
+
+ /sys/unit.h
+
+
+BESCHREIBUNG
+============
+
+ Die Prop kann in Unitobjekten gesetzt werden.
+ Sie gibt die Anzahl der Einheiten an, die an der Unit manipuliert werden
+ sollen, falls mit weniger als P_AMOUNT umgegegangen werden soll.
+
+
+
+ Die Prop wird automatisch gesetzt, wenn id() an einem Unitobjekt gerufen
+ wird und die ID grundsaetzlich zutreffend ist, die aus der ID ermittelte
+ Zahl aber kleiner als P_AMOUNT ist.
+ Sie kann auch manuell mittel SetProp() (aber nicht Set()) gesetzt werden.
+
+ U_REQ wird beim Bewegen und Zerstoeren, bei Ermittlung von Wert und
+ Gewicht beruecksichtigt.
+
+ U_REQ wird vom Unitobjekt automatisch wieder auf P_AMOUNT gesetzt, wenn
+ sich query_verb() oder debug_info(DINFO_EVAL_NUMBER) veraendert haben.
+ (DINFO_EVAL_NUMBER ist eine Zahl, die sich jedesmal erhoeht, wenn der
+ Driver eine neue Berechnung/Ausfuehrung beginnt. Diese Nummer wird fuer
+ jeden vom driver initiierten Aufruf von LPC-Code erhoeht, z.B. bei jedem
+ Kommando, call_out, heart_beat etc. Details s. debug_info().)
+
+ Ebenso wird U_REQ bei der Vereinigung mit einem anderen (gleichen)
+ Objekt auf P_AMOUNT des vereinigten Objektes gesetzt.
BUGS
- Viele. Dies ist ein uebler Hack. Geht aber nicht ohne.
- Diese Prop war endlos lang gar nicht dokumentiert. Hier beschrieben ist
- das Verhalten, was zur Zeit vorliegt. Dies mag unterschiedlich zu dem
- irgendwann intendierten sein.
+====
+
+ Viele. Dies ist ein uebler Hack. Geht aber nicht ohne.
+ Diese Prop war endlos lang gar nicht dokumentiert. Hier beschrieben ist
+ das Verhalten, was zur Zeit vorliegt. Dies mag unterschiedlich zu dem
+ irgendwann intendierten sein.
BEISPIELE
- object o = clone_object("unitobjekt");
- o->SetProp(P_AMOUNT, 100); // ab jetzt hat o 100 Einheiten.
- o->move(npc, M_GET); // ob mit 100 Einheiten wird bewegt
- o->SetProp(U_REQ, 50);
- o->move(anderernpc, M_GIVE); // 50 Einheiten werden bewegt, 50 verbleiben
- (Technisch: das Objekt wird auf 50 Einheiten geaendert, bewegt und in der
- alten Umgebung wird ein neues Objekt mit 50 Einheiten erzeugt.)
+=========
- o->SetProp(U_REQ, 42);
- o->remove(1); // 42 Einheiten von den 50 werden zerstoert.
- (Technisch: P_AMOUNT wird einfach um U_REQ reduziert.)
+ object o = clone_object("unitobjekt");
+ o->SetProp(P_AMOUNT, 100); // ab jetzt hat o 100 Einheiten.
+ o->move(npc, M_GET); // ob mit 100 Einheiten wird bewegt
+ o->SetProp(U_REQ, 50);
+ o->move(anderernpc, M_GIVE); // 50 Einheiten werden bewegt, 50 verbleiben
+ (Technisch: das Objekt wird auf 50 Einheiten geaendert, bewegt und in der
+ alten Umgebung wird ein neues Objekt mit 50 Einheiten erzeugt.)
- # gib 18 muenzen an blupp
- Hierbei wird ob->id("18 muenzen") gerufen, was U_REQ im Geldobjekt auf 18
- setzt. Bei der Bewegung bekommt blupp daher das Objekt mit P_AMOUNT==18
- und der Rest wird im Abgebenden neu erzeugt.
- # gib geld an flubbel
- Das U_REQ aus dem verherigen Kommando ist jetzt nicht mehr gueltig. Zwar
- ist es das gleiche Kommandoverb, aber DINFO_EVAL_NUMBER ist jetzt
- anders.
+ o->SetProp(U_REQ, 42);
+ o->remove(1); // 42 Einheiten von den 50 werden zerstoert.
+ (Technisch: P_AMOUNT wird einfach um U_REQ reduziert.)
+
+ # gib 18 muenzen an blupp
+ Hierbei wird ob->id("18 muenzen") gerufen, was U_REQ im Geldobjekt auf 18
+ setzt. Bei der Bewegung bekommt blupp daher das Objekt mit P_AMOUNT==18
+ und der Rest wird im Abgebenden neu erzeugt.
+ # gib geld an flubbel
+ Das U_REQ aus dem verherigen Kommando ist jetzt nicht mehr gueltig. Zwar
+ ist es das gleiche Kommandoverb, aber DINFO_EVAL_NUMBER ist jetzt
+ anders.
-ZULETZT GEAeNDERT:
+ZULETZT GEAeNDERT
+=================
+
16.01.2015, Zesstra
-
diff --git a/doc/props/gildenprops/P_GLOVE_FINGERLESS b/doc/props/gildenprops/P_GLOVE_FINGERLESS
index 64faec6..0485c9a 100644
--- a/doc/props/gildenprops/P_GLOVE_FINGERLESS
+++ b/doc/props/gildenprops/P_GLOVE_FINGERLESS
@@ -1,16 +1,30 @@
+
P_GLOVE_FINGERLESS
+******************
-NAME:
- P_GLOVE_FINGERLESS "fingerfreie_handschuhe"
-DEFINIERT IN:
- /p/katzenkrieger/kkrieger.h
+NAME
+====
-BESCHREIBUNG:
- So gekennzeichnete Handschuhe sind fingerlos und koennen
- waehrend "krallenschlag" getragen werden.
+ P_GLOVE_FINGERLESS "fingerfreie_handschuhe"
-SIEHE AUCH:
- Verwandt: P_ARMOUR_TYPE, AT_GLOVE
-10.Okt 2006 Gloinson
\ No newline at end of file
+DEFINIERT IN
+============
+
+ /p/katzenkrieger/kkrieger.h
+
+
+BESCHREIBUNG
+============
+
+ So gekennzeichnete Handschuhe sind fingerlos und koennen
+ waehrend "krallenschlag" getragen werden.
+
+
+SIEHE AUCH
+==========
+
+ Verwandt: P_ARMOUR_TYPE, AT_GLOVE
+
+10.Okt 2006 Gloinson
diff --git a/doc/props/gildenprops/P_Z_AUTOSHIELD b/doc/props/gildenprops/P_Z_AUTOSHIELD
index f69b9ad..994abad 100644
--- a/doc/props/gildenprops/P_Z_AUTOSHIELD
+++ b/doc/props/gildenprops/P_Z_AUTOSHIELD
@@ -1,26 +1,43 @@
+
P_Z_AUTOSHIELD
+**************
-NAME:
- P_Z_AUTOSHIELD "z_autoshield"
-DEFINIERT IN:
- /p/zauberer/wiznpc.h
+NAME
+====
-BESCHREIBUNG:
- Mit dieser Property kann man einen automatischen
- Schutzzauber in Zauberer-NPCs einstellen, dessen
- Vorhandensein dann in jeder Kampfrunde ueberprueft
- wird, z.B. "schutz","schutzhuelle","zauberschild".
+ P_Z_AUTOSHIELD "z_autoshield"
-BEMERKUNGEN:
- "zauberschild" ist ein Magisterspruch und kann nur in
- bestimmten Zeitabstaenden benutzt werden. Wer also als
- Autoshield nur Zauberschild benutzt, blockiert damit
- alle anderen Spells, solange der Magisterspruch nicht
- gesprochen werden kann.
- Abhilfe: _query_next_master_spell_time() return 0; }
-SIEHE AUCH:
- /p/zauberer/text/wiznpc.doku
+DEFINIERT IN
+============
+
+ /p/zauberer/wiznpc.h
+
+
+BESCHREIBUNG
+============
+
+ Mit dieser Property kann man einen automatischen
+ Schutzzauber in Zauberer-NPCs einstellen, dessen
+ Vorhandensein dann in jeder Kampfrunde ueberprueft
+ wird, z.B. "schutz","schutzhuelle","zauberschild".
+
+
+BEMERKUNGEN
+===========
+
+ "zauberschild" ist ein Magisterspruch und kann nur in
+ bestimmten Zeitabstaenden benutzt werden. Wer also als
+ Autoshield nur Zauberschild benutzt, blockiert damit
+ alle anderen Spells, solange der Magisterspruch nicht
+ gesprochen werden kann.
+ Abhilfe: _query_next_master_spell_time() return 0; }
+
+
+SIEHE AUCH
+==========
+
+ /p/zauberer/text/wiznpc.doku
21.Okt 2006 Chagall
diff --git a/doc/props/gildenprops/P_Z_INFO b/doc/props/gildenprops/P_Z_INFO
index d82d38a..654c768 100644
--- a/doc/props/gildenprops/P_Z_INFO
+++ b/doc/props/gildenprops/P_Z_INFO
@@ -1,53 +1,73 @@
+
P_Z_INFO
-
-NAME:
- P_Z_INFO "z_info"
-
-DEFINIERT IN:
- /p/zauberer/wiznpc.h
-
-BESCHREIBUNG:
- Diese Property muss gesetzt werden, wenn man den
- Zauberergilden-Standard-NPC nutzt. Sie setzt die
- Grundeinstellungen des NPCs und generiert das
- Newskills-Mapping.
-
- Die Property ist wie folgt aufgebaut:
-
- * MIN (minimale Skillability im Bereich von 0 - 10000)
- * MAX (maximale Skillability im Bereich von 0 - 10000)
- * LEV (Gildenlevel)
- * ZWEIG (Gildenzweig)
+********
-BEMERKUNGEN:
- Fuer die Argumente LEV und ZWEIG stehen folgende Auswahl-
- moeglichkeiten zur Verfuegung.
+NAME
+====
- LEV:
- Z_ANFAENGER 0
- Z_LEHRLING 1
- Z_MEISTER 2
- Z_ERZMEISTER 3
-
- ZWEIG:
- ZZW_ANGRIFF 1
- ZZW_ABWEHR 2
- ZZW_ILLUSION 4
- ZZW_BEHERRSCHUNG 8
- ZZW_HELLSICHT 16
- ZZW_VERWANDLUNG 32
- ZZW_SCHWARZ 64 INAKTIV
- ZZW_WEISS 128
- ZZW_ALLE 511
-
-BEISPIEL:
- SetProp(P_Z_INFO, ({9000, 9500, Z_ERZMEISTER, ZZW_ANGRIFF|ZZW_ABWEHR}));
- erzeugt einen Erzmagister-PC, der alle Lehrlings- sowie die Magister und
- Erzmagister-Sprueche Angriff und Abwehr mit 90-95% beherrscht.
+ P_Z_INFO "z_info"
-SIEHE AUCH:
- /p/zauberer/text/wiznpc.doku
+DEFINIERT IN
+============
+
+ /p/zauberer/wiznpc.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property muss gesetzt werden, wenn man den
+ Zauberergilden-Standard-NPC nutzt. Sie setzt die
+ Grundeinstellungen des NPCs und generiert das
+ Newskills-Mapping.
+
+ Die Property ist wie folgt aufgebaut:
+
+ * MIN (minimale Skillability im Bereich von 0 - 10000)
+ * MAX (maximale Skillability im Bereich von 0 - 10000)
+ * LEV (Gildenlevel)
+ * ZWEIG (Gildenzweig)
+
+
+BEMERKUNGEN
+===========
+
+ Fuer die Argumente LEV und ZWEIG stehen folgende Auswahl-
+ moeglichkeiten zur Verfuegung.
+
+ LEV:
+
+ Z_ANFAENGER 0
+ Z_LEHRLING 1
+ Z_MEISTER 2
+ Z_ERZMEISTER 3
+
+ ZWEIG:
+
+ ZZW_ANGRIFF 1
+ ZZW_ABWEHR 2
+ ZZW_ILLUSION 4
+ ZZW_BEHERRSCHUNG 8
+ ZZW_HELLSICHT 16
+ ZZW_VERWANDLUNG 32
+ ZZW_SCHWARZ 64 INAKTIV
+ ZZW_WEISS 128
+ ZZW_ALLE 511
+
+
+BEISPIEL
+========
+
+ SetProp(P_Z_INFO, ({9000, 9500, Z_ERZMEISTER, ZZW_ANGRIFF|ZZW_ABWEHR}));
+ erzeugt einen Erzmagister-PC, der alle Lehrlings- sowie die Magister und
+ Erzmagister-Sprueche Angriff und Abwehr mit 90-95% beherrscht.
+
+
+SIEHE AUCH
+==========
+
+ /p/zauberer/text/wiznpc.doku
21.Okt 2006 Chagall
diff --git a/doc/props/gildenprops/P_Z_NO_MATERIAL b/doc/props/gildenprops/P_Z_NO_MATERIAL
index 4b040a0..cda514a 100644
--- a/doc/props/gildenprops/P_Z_NO_MATERIAL
+++ b/doc/props/gildenprops/P_Z_NO_MATERIAL
@@ -1,18 +1,34 @@
+
P_Z_NO_MATERIAL
+***************
-NAME:
- P_Z_NO_MATERIAL "npc_braucht_keine_kmp"
-DEFINIERT IN:
- /p/zauberer/zauberer.h
+NAME
+====
-BESCHREIBUNG:
- Setzt man diese Property in einem NPC, so benoetigt er fuer die
- Sprueche der Zauberergilde keine Komponenten.
+ P_Z_NO_MATERIAL "npc_braucht_keine_kmp"
-BEMERKUNGEN:
- NIEMALS diese Property einfach so in einem Spieler setzen.
-SIEHE AUCH:
+DEFINIERT IN
+============
+
+ /p/zauberer/zauberer.h
+
+
+BESCHREIBUNG
+============
+
+ Setzt man diese Property in einem NPC, so benoetigt er fuer die
+ Sprueche der Zauberergilde keine Komponenten.
+
+
+BEMERKUNGEN
+===========
+
+ NIEMALS diese Property einfach so in einem Spieler setzen.
+
+
+SIEHE AUCH
+==========
21.Okt 2006 Chagall
diff --git a/doc/props/gildenprops/P_Z_NO_NOCONN b/doc/props/gildenprops/P_Z_NO_NOCONN
index 332dd14..6cd0024 100644
--- a/doc/props/gildenprops/P_Z_NO_NOCONN
+++ b/doc/props/gildenprops/P_Z_NO_NOCONN
@@ -1,22 +1,42 @@
+
+P_Z_NO_NOCONN
+*************
+
+
P_Z_NO_NOCON
-
-NAME:
- P_Z_NO_NOCON "no_nocon"
-
-DEFINIERT IN:
- /p/zauberer/wiznpc.h
-
-BESCHREIBUNG:
- Der Standardzauberergildennpc setzt SI_NO_CONSEQUENCES, damit
- die Gildenpcs nicht den negativen Auswirkungen beim Misslingen
- der Sprueche geschuetzt sind. Setzt man diese Property vor
- P_Z_INFO auf 0, wird das Flag nicht gesetzt.
+============
-BEMERKUNGEN:
- Muss vor P_Z_INFO gesetzt werden, damit es wirksam ist.
+NAME
+====
-SIEHE AUCH:
- /p/zauberer/text/wiznpc.doku, P_Z_INFO
+ P_Z_NO_NOCON "no_nocon"
+
+
+DEFINIERT IN
+============
+
+ /p/zauberer/wiznpc.h
+
+
+BESCHREIBUNG
+============
+
+ Der Standardzauberergildennpc setzt SI_NO_CONSEQUENCES, damit
+ die Gildenpcs nicht den negativen Auswirkungen beim Misslingen
+ der Sprueche geschuetzt sind. Setzt man diese Property vor
+ P_Z_INFO auf 0, wird das Flag nicht gesetzt.
+
+
+BEMERKUNGEN
+===========
+
+ Muss vor P_Z_INFO gesetzt werden, damit es wirksam ist.
+
+
+SIEHE AUCH
+==========
+
+ /p/zauberer/text/wiznpc.doku, P_Z_INFO
21.Okt 2006 Chagall
diff --git a/doc/props/gildenprops/P_Z_NO_SPELL_SUPPORT b/doc/props/gildenprops/P_Z_NO_SPELL_SUPPORT
index 4a1ab28..74860f6 100644
--- a/doc/props/gildenprops/P_Z_NO_SPELL_SUPPORT
+++ b/doc/props/gildenprops/P_Z_NO_SPELL_SUPPORT
@@ -1,25 +1,41 @@
+
P_Z_NO_SPELL_SUPPORT
+********************
-NAME:
- P_Z_NO_SPELL_SUPPORT "zauberer_ruestung_unterstuetzt_noch_nicht"
-DEFINIERT IN:
- /p/zauberer/zauberer.h
+NAME
+====
-BESCHREIBUNG:
- Normalerweise unterstuetzt eine Ruestung den Zauberer, sobald sie im
- entsprechenden Ruestungsmaster eingetragen ist. Moechte man allerdings
- die Unterstuetzung an bestimmte Bedingungen knuepfen, z.B. das loesen
- einer Miniquest, so kann man diese Property auf 1 setzen. Die Ruestung
- unterstuetzt dann nicht. Um die Unterstuetzung wieder zu aktivieren,
- setzt man die Property wieder auf 0.
+ P_Z_NO_SPELL_SUPPORT "zauberer_ruestung_unterstuetzt_noch_nicht"
-BEMERKUNGEN:
- NIEMALS diese Property einfach so in fremden Zaubererruestungen
- setzen. Sollte der Gildenmagier erfahren, dass z.B. ein NPC
- einfach so die Unterstuetzung der Ruestungen ausschaltet, wird
- diese Property wieder deaktiviert.
-SIEHE AUCH:
+DEFINIERT IN
+============
+
+ /p/zauberer/zauberer.h
+
+
+BESCHREIBUNG
+============
+
+ Normalerweise unterstuetzt eine Ruestung den Zauberer, sobald sie im
+ entsprechenden Ruestungsmaster eingetragen ist. Moechte man allerdings
+ die Unterstuetzung an bestimmte Bedingungen knuepfen, z.B. das loesen
+ einer Miniquest, so kann man diese Property auf 1 setzen. Die Ruestung
+ unterstuetzt dann nicht. Um die Unterstuetzung wieder zu aktivieren,
+ setzt man die Property wieder auf 0.
+
+
+BEMERKUNGEN
+===========
+
+ NIEMALS diese Property einfach so in fremden Zaubererruestungen
+ setzen. Sollte der Gildenmagier erfahren, dass z.B. ein NPC
+ einfach so die Unterstuetzung der Ruestungen ausschaltet, wird
+ diese Property wieder deaktiviert.
+
+
+SIEHE AUCH
+==========
21.Okt 2006 Chagall
diff --git a/doc/props/gildenprops/kaempferboni b/doc/props/gildenprops/kaempferboni
index 50e4be5..0d34e98 100644
--- a/doc/props/gildenprops/kaempferboni
+++ b/doc/props/gildenprops/kaempferboni
@@ -1,264 +1,270 @@
+kaempferboni
+************
+
Kaempferboni und deren Implementation
--------------------------------------
--------------------------------------
-Bei den Kaempfern gibt es einige Properties, die, in Waffen oder Ruestungen
-gesetzt, der Kampfverlauf eines Spielers erheblich beeinflussen koennen.
+======================================================================
-Zu beachten ist, dass die Abnahme von Waffen oder Ruestungen mit Kaempferboni
-allein der Balance obliegt. Der Gildenmagier der Kaempfer steht aber gerne
-mit Rat und Tat zur Seite.
+Bei den Kaempfern gibt es einige Properties, die, in Waffen oder
+Ruestungen gesetzt, der Kampfverlauf eines Spielers erheblich
+beeinflussen koennen.
+Zu beachten ist, dass die Abnahme von Waffen oder Ruestungen mit
+Kaempferboni allein der Balance obliegt. Der Gildenmagier der Kaempfer
+steht aber gerne mit Rat und Tat zur Seite.
Abschnitt A
------------
In Waffen koennen nachfolgende, in /p/kaempfer/kaempfer.h definierten,
-Properties gesetzt werden. Die meisten davon fungieren als 'Boni' und werden
-dem Spieler auch mittels 'schaetz <waffe>' angezeigt:
-
+Properties gesetzt werden. Die meisten davon fungieren als 'Boni' und
+werden dem Spieler auch mittels 'schaetz <waffe>' angezeigt
1 Waffenschlagbonus - K_BRAWLING_WC (INT) - "k_brawling_wc"
- Wenn die Waffe eine zusaetzlich gefaehrliche Stelle besitzt - z.B. einen
- harten Dorn am Stielende, eine Spitze am Ruecken einer Axtklinge, Zacken
- am Dolchgriff - kann man der Waffe einen Waffenschlagbonus geben.
- Dies bedeutet, dass der Waffenschlag um ein paar Prozente verstaerkt wird,
- da der Spieler natuerlich versucht, immer genau mit diesem 'feature'
- den Waffenschlag auszufuehren (der Waffenschlag ist kurz gesagt ein
- unerwarteter Schlag, der nicht mit dem 'normalen' Waffenende ausgefuehrt
- wird, der Gegner wird dadurch ueberrascht -> mehr Schaden).
- Da solch ein 'feature' doch recht auffaellig ist, sollte es in der
- Langbeschreibung der Waffe auf jeden Fall erwaehnt werden.
+ Wenn die Waffe eine zusaetzlich gefaehrliche Stelle besitzt - z.B.
+ einen harten Dorn am Stielende, eine Spitze am Ruecken einer
+ Axtklinge, Zacken am Dolchgriff - kann man der Waffe einen
+ Waffenschlagbonus geben. Dies bedeutet, dass der Waffenschlag um
+ ein paar Prozente verstaerkt wird, da der Spieler natuerlich
+ versucht, immer genau mit diesem 'feature' den Waffenschlag
+ auszufuehren (der Waffenschlag ist kurz gesagt ein unerwarteter
+ Schlag, der nicht mit dem 'normalen' Waffenende ausgefuehrt wird,
+ der Gegner wird dadurch ueberrascht -> mehr Schaden). Da solch ein
+ 'feature' doch recht auffaellig ist, sollte es in der
+ Langbeschreibung der Waffe auf jeden Fall erwaehnt werden.
- Interessant zu wissen waere noch, dass Zweihandwaffen einen generellen
- zusaetzlichen Bonus auf den Waffenschlag bekommen und dass es eine
- Abstufung gibt, nach der die Waffengattungen die Hoehe des Basiswertes
- gesetzt bekommen, wobei Speere den hoechsten und Messer den niedrigsten
- besitzen:
+ Interessant zu wissen waere noch, dass Zweihandwaffen einen
+ generellen zusaetzlichen Bonus auf den Waffenschlag bekommen und
+ dass es eine Abstufung gibt, nach der die Waffengattungen die Hoehe
+ des Basiswertes gesetzt bekommen, wobei Speere den hoechsten und
+ Messer den niedrigsten besitzen
- Speere - Kampfstaebe - Aexte - Keulen - Schwerter - Messer
+ Speere - Kampfstaebe - Aexte - Keulen - Schwerter - Messer
- Der max. Bonus fuer diese Property betraegt 30, wobei 1-10 -> geringer
- Bonus, 11-20 -> guter Bonus, 21-30 -> sehr guter Bonus.
+ Der max. Bonus fuer diese Property betraegt 30, wobei 1-10 ->
+ geringer Bonus, 11-20 -> guter Bonus, 21-30 -> sehr guter Bonus.
- Bitte beachten: ein Zweihand-Speer mit max. P_WC und max. K_BRAWLING_WC
- haut entsprechend gut rein und sollte nur schwer zu ergattern sein, bzw.
- noch andere Auflagen haben (ggf. unique, personalisiert, etc.)
-
+ Bitte beachten ein Zweihand-Speer mit max. P_WC und max.
+ K_BRAWLING_WC haut entsprechend gut rein und sollte nur schwer zu
+ ergattern sein, bzw. noch andere Auflagen haben (ggf. unique,
+ personalisiert, etc.)
2 Waffenschlagschaden - K_BRAWLING_DT (STRING) - "k_brawling_dt"
- Wenn die Waffe, mit der der Kaempfer einen Waffenschlag ausfuehrt, ein
- 'feature' hat, mit dem er diesen Schlag ausfuehrt, kann dieses 'feature'
- einen anderen Waffenschlagschaden besitzen. Z.B. kann ein Schwert, welches
- normalerweise DT_SLASH macht, besonders lange und spitze Parierstangen
- besitzen, die vielleicht auch noch vergiftet sind. Dann kann der Magier
- ({DT_PIERCE,DT_POISON}) setzen, so dass beim Waffenschlag immer ein
- Mischschaden aus Stiche und Gift erfolgt.
+ Wenn die Waffe, mit der der Kaempfer einen Waffenschlag ausfuehrt,
+ ein 'feature' hat, mit dem er diesen Schlag ausfuehrt, kann dieses
+ 'feature' einen anderen Waffenschlagschaden besitzen. Z.B. kann ein
+ Schwert, welches normalerweise DT_SLASH macht, besonders lange und
+ spitze Parierstangen besitzen, die vielleicht auch noch vergiftet
+ sind. Dann kann der Magier ({DT_PIERCE,DT_POISON}) setzen, so dass
+ beim Waffenschlag immer ein Mischschaden aus Stiche und Gift
+ erfolgt.
+3 Waffenschlagsmeldung - K_BRAWLING_MSG (STRING/STRING*) -
+k_brawling_msg"
-3 Waffenschlagsmeldung - K_BRAWLING_MSG (STRING/STRING*) - k_brawling_msg"
+ In diese Property kann man hineinschreiben, mit welchem Teil der
+ Waffe der Waffenschlag ausgefuehrt wird. Angenommen, es bietet sich
+ an, mit einer Waffe stets den Waffenschlag mit einem grossen Knauf
+ am Griff auszufuehren, wird schlicht und einfach "mit einem grossen
+ Knauf am Griff der Schlachtaxt" in die Property gesetzt. Sollte
+ sich bei der Programmierung ergeben, dass es sich anbietet, der
+ Waffe mehr als nur eine guenstige Stelle anzudichten mit der man
+ den Waffenschlag ausfuehren kann, so setzt man ein Array, z.B.
+ ({"mit einem grossen Knauf am Griff der Schlachtaxt","mit der
+ breiten Seite der " "Schlachtaxtklinge"}). Insgesamt ist darauf zu
+ achten, dass die Meldungen 'vollstandig' sind. Das Array kann
+ beliebige Groesse annehmen, es wird dann zufaellig eine Meldung
+ beim Schlag ausgesucht.
- In diese Property kann man hineinschreiben, mit welchem Teil der Waffe
- der Waffenschlag ausgefuehrt wird. Angenommen, es bietet sich an, mit
- einer Waffe stets den Waffenschlag mit einem grossen Knauf am Griff
- auszufuehren, wird schlicht und einfach "mit einem grossen Knauf am
- Griff der Schlachtaxt" in die Property gesetzt.
- Sollte sich bei der Programmierung ergeben, dass es sich anbietet, der
- Waffe mehr als nur eine guenstige Stelle anzudichten mit der man den
- Waffenschlag ausfuehren kann, so setzt man ein Array, z.B. ({"mit einem
- grossen Knauf am Griff der Schlachtaxt","mit der breiten Seite der "
- "Schlachtaxtklinge"}). Insgesamt ist darauf zu achten, dass die Meldungen
- 'vollstandig' sind. Das Array kann beliebige Groesse annehmen, es wird
- dann zufaellig eine Meldung beim Schlag ausgesucht.
-
- Es empfiehlt sich, jede Waffe mit dieser Property zu schmuecken, die
- K_BRAWLING_WC gesetzt haben, da die Waffenschlagmeldungen damit im Kampf
- 'individualisiert' werden. In der Praxis wird es jedoch daran scheitern,
- dass es viel zu viele alte Waffen gibt, die keiner mehr anfassen moechte.
- Daher wird auf Standardmeldungen zurueckgegriffen, sollte diese Property
- nicht gesetzt sein.
-
+ Es empfiehlt sich, jede Waffe mit dieser Property zu schmuecken,
+ die K_BRAWLING_WC gesetzt haben, da die Waffenschlagmeldungen damit
+ im Kampf 'individualisiert' werden. In der Praxis wird es jedoch
+ daran scheitern, dass es viel zu viele alte Waffen gibt, die keiner
+ mehr anfassen moechte. Daher wird auf Standardmeldungen
+ zurueckgegriffen, sollte diese Property nicht gesetzt sein.
4 Waffenbruchbonus - K_WEAPON_SHATTER (INT) - "k_weapon_shatter"
- Waffen, die besonders fuer den Waffenbruch konstruiert wurden, koennen
- einen Bonus einbringen, der in dieser Property angegeben wird. Natuerlich
- eignen sich die verschiedenen Waffentypen wieder unterschiedlich gut fuer
- einen Waffenbruch: Keulen (meist aufgrund ihres Gewichts) am besten, Messer
- am schlechtesten, alle anderen dazwischen (Axt - Schwert - Stab - Speer).
- Dabei kriegen alle Waffen, die u.a. Schlagschaden verursachen, nochmal
- einen kleinen Bonus obendrauf.
+ Waffen, die besonders fuer den Waffenbruch konstruiert wurden,
+ koennen einen Bonus einbringen, der in dieser Property angegeben
+ wird. Natuerlich eignen sich die verschiedenen Waffentypen wieder
+ unterschiedlich gut fuer einen Waffenbruch Keulen (meist aufgrund
+ ihres Gewichts) am besten, Messer am schlechtesten, alle anderen
+ dazwischen (Axt - Schwert - Stab - Speer). Dabei kriegen alle
+ Waffen, die u.a. Schlagschaden verursachen, nochmal einen kleinen
+ Bonus obendrauf.
- Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 -> geringer
- Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
+ Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 ->
+ geringer Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
- Bei gut gelungenem Waffenbruch wird die Waffe des Gegners beschaedigt, wenn
- die Technik sehr gut gelingt, kann es auch sein, dass dem Gegner die Waffe
- aus der Hand geschlagen wird (der Spieler kann sie allerdings nicht
- aufheben und der NPC zueckt sie nach ein paar Kampfrunden wieder).
-
+ Bei gut gelungenem Waffenbruch wird die Waffe des Gegners
+ beschaedigt, wenn die Technik sehr gut gelingt, kann es auch sein,
+ dass dem Gegner die Waffe aus der Hand geschlagen wird (der Spieler
+ kann sie allerdings nicht aufheben und der NPC zueckt sie nach ein
+ paar Kampfrunden wieder).
5 Bonus fuer Finte/Waffentrick - K_DISTRACTING_WEAPON (INT) -
- "k_distracting_weapon"
+ "k_distracting_weapon"
- Waffen, die fuer den Gegner aufgrund ihrer Bauweise besonders irritierend
- sein koennen, koennen einen Bonus fuer Finte und Waffentrick haben. Dabei
- wird der Gegner bei einer Finte bzw. einem Waffentrick NOCH mehr verwirrt,
- als er es ohnehin schon nur durch die angewandte Technik wird.
- Ein gutes Beispiel hierfuer ist z.B. der Kriegshamster: ein Hamster, der
- auf einem Holzstab aufgespiesst ist, sollte fuer den Gegner schon SEHR
- irritierend sein ;).
- Die Waffengattung hat nur wenig Einfluss auf Finte/Waffentrick.
+ Waffen, die fuer den Gegner aufgrund ihrer Bauweise besonders
+ irritierend sein koennen, koennen einen Bonus fuer Finte und
+ Waffentrick haben. Dabei wird der Gegner bei einer Finte bzw. einem
+ Waffentrick NOCH mehr verwirrt, als er es ohnehin schon nur durch
+ die angewandte Technik wird. Ein gutes Beispiel hierfuer ist z.B.
+ der Kriegshamster ein Hamster, der auf einem Holzstab aufgespiesst
+ ist, sollte fuer den Gegner schon SEHR irritierend sein ;). Die
+ Waffengattung hat nur wenig Einfluss auf Finte/Waffentrick.
- Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 -> geringer
- Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
-
+ Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 ->
+ geringer Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
6 Todesstossbonus - K_CRITICAL_HIT (INT) - "k_critical_hit"
- Man stelle sich eine Waffe mit besonders spitzer, langer Klinge vor oder
- eine magische Waffe, die dem geschwaechten Gegner die Seele entreisst.
- Diese Eigenschaften verleihen dem Spieler beim Todesstoss einen
- entsprechenden Bonus von bis zu 100%.
+ Man stelle sich eine Waffe mit besonders spitzer, langer Klinge vor
+ oder eine magische Waffe, die dem geschwaechten Gegner die Seele
+ entreisst. Diese Eigenschaften verleihen dem Spieler beim
+ Todesstoss einen entsprechenden Bonus von bis zu 100%.
- Es ist moeglich, dass ein und dasselbe 'feature' sowohl dem Waffenschlag
- als auch dem Todesstoss den Bonus stellt, z.B. zwei Hiebklingen auf dem
- Klingenruecken einer grossen Axt. Auch dies sollte man deutlich aus der
- Langbeschreibung herauslesen koennen.
+ Es ist moeglich, dass ein und dasselbe 'feature' sowohl dem
+ Waffenschlag als auch dem Todesstoss den Bonus stellt, z.B. zwei
+ Hiebklingen auf dem Klingenruecken einer grossen Axt. Auch dies
+ sollte man deutlich aus der Langbeschreibung herauslesen koennen.
- Der max. Bonus fuer diese Property betraegt 100, wobei 100 eine Verdopplung
- der P_WC beim Todesstoss bedeutet!
- Ansonsten bedeutet 1-20 -> geringer Bonus, 21-60 -> guter Bonus,
- 61-100 -> sehr guter Bonus.
-
+ Der max. Bonus fuer diese Property betraegt 100, wobei 100 eine
+ Verdopplung der P_WC beim Todesstoss bedeutet! Ansonsten bedeutet
+ 1-20 -> geringer Bonus, 21-60 -> guter Bonus, 61-100 -> sehr guter
+ Bonus.
7 Waffenwurfbonus - K_THROWING_WEAPON (INT) - "k_throwing_weapon"
- Wenn eine Waffe besonders gut zum Werfen geeignet ist, z.B. ein Wurfdolch,
- dann kann diese Property gesetzt werden. Natuerlich ist der Grundwert wieder
- von der Waffengattung abhaengig. Es gilt, dass man Messer und Speere
- grundsaetzlich am besten werfen - und dabei gut Schaden machen - kann, am
- schlechtesten schneiden Keulen und Kampfstaebe ab.
+ Wenn eine Waffe besonders gut zum Werfen geeignet ist, z.B. ein
+ Wurfdolch, dann kann diese Property gesetzt werden. Natuerlich ist
+ der Grundwert wieder von der Waffengattung abhaengig. Es gilt, dass
+ man Messer und Speere grundsaetzlich am besten werfen - und dabei
+ gut Schaden machen - kann, am schlechtesten schneiden Keulen und
+ Kampfstaebe ab.
- Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 -> geringer
- Bonus, 21-40 -> guter Bonus, 31-50 -> sehr guter Bonus.
+ Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 ->
+ geringer Bonus, 21-40 -> guter Bonus, 31-50 -> sehr guter Bonus.
- Zu beachten ist hierbei, dass ein sehr hoher Bonus nur bei Waffen mit etwas
- geringerer P_WC vergeben werden sollte. Ein reines Wurfmesser ist nunmal im
- normalen Kampf nicht die gefaehrlichste aller Waffen (speziell
- ausbalanciert, keinen richtigen Griff, etc.).
- Natuerlich kann es einen Wurfspeer mit max. P_WC und sehr hohem
- Waffenwurfbonus geben, allerdings mit den ueblich hohen Restriktionen.
-
+ Zu beachten ist hierbei, dass ein sehr hoher Bonus nur bei Waffen
+ mit etwas geringerer P_WC vergeben werden sollte. Ein reines
+ Wurfmesser ist nunmal im normalen Kampf nicht die gefaehrlichste
+ aller Waffen (speziell ausbalanciert, keinen richtigen Griff,
+ etc.). Natuerlich kann es einen Wurfspeer mit max. P_WC und sehr
+ hohem Waffenwurfbonus geben, allerdings mit den ueblich hohen
+ Restriktionen.
8 KO-Schlag-Bonus - K_KO (INT) - "k_ko"
- Waffen, die besonders fuer einen KO-Schlag geeignet sind, koennen einen
- Bonus mit dieser Property bekommen. Eine entsprechende Waffe koennte z.B.
- ein lederumwickelter Pruegel sein, denn man will den Gegner ja nur KO
- schlagen und nicht gleich toeten.
+ Waffen, die besonders fuer einen KO-Schlag geeignet sind, koennen
+ einen Bonus mit dieser Property bekommen. Eine entsprechende Waffe
+ koennte z.B. ein lederumwickelter Pruegel sein, denn man will den
+ Gegner ja nur KO schlagen und nicht gleich toeten.
- Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 -> geringer
- Bonus, 21-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
-
+ Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 ->
+ geringer Bonus, 21-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
9 Kein Waffenschaerfen - K_NO_HONING (INT) - "k_no_honing"
- Wenn eine Waffe aus irgendeinem Grund nicht geschaerft werden kann oder
- darf, muss man diese Property auf 1 setzen.
- Eine Erklaerung dafuer sollte in der P_LONG bzw. P_INFO erfolgen.
-
+ Wenn eine Waffe aus irgendeinem Grund nicht geschaerft werden kann
+ oder darf, muss man diese Property auf 1 setzen. Eine Erklaerung
+ dafuer sollte in der P_LONG bzw. P_INFO erfolgen.
Abschnitt B
------------
Die beiden Properties, P_EFFECTIVE_AC und P_EFFECTIVE_WC, welche in
-<combat.h> definiert sind, sind eigentlich nur dazu da, um Ruestungen und
-Waffen, die eine DefendFunc() bzw. HitFunc() besitzen, korrekt vom Spieler
-einschaetzen lassen zu koennnen.
+<combat.h> definiert sind, sind eigentlich nur dazu da, um Ruestungen
+und Waffen, die eine DefendFunc() bzw. HitFunc() besitzen, korrekt vom
+Spieler einschaetzen lassen zu koennnen.
-Das Kaempferspellbook verwendet diese Properties darueberhinaus wie folgt:
-
+Das Kaempferspellbook verwendet diese Properties darueberhinaus wie
+folgt
1 Schutzboni in Waffen - P_EFFECTIVE_AC (INT) - "effective_ac"
- Ist diese Property in einer Waffe gesetzt, geht das Kaempferspellbook
- davon aus, dass diese Waffe mehr oder weniger die Faehigkeit besitzt,
- auch wie eine Ruestung schuetzen zu koennen. Da man eine Waffe aber nicht
- anziehen, sondern nur vor sich hertragen kann, kann auch der max.
- Ruestungsschutz einer Waffe nur gleich dem max. Ruestungsschutz eines
- Schildes entsprechen.
- Eine gesetzte P_EFFECTIVE_AC in einer Waffe wird dem Spieler als mehr
- oder weniger gute 'Paradewaffe' im 'schaetz' angezeigt und geht sowohl bei
- der Waffenparade als auch beim Block als Bonus mit ein.
+ Ist diese Property in einer Waffe gesetzt, geht das
+ Kaempferspellbook davon aus, dass diese Waffe mehr oder weniger die
+ Faehigkeit besitzt, auch wie eine Ruestung schuetzen zu koennen. Da
+ man eine Waffe aber nicht anziehen, sondern nur vor sich hertragen
+ kann, kann auch der max. Ruestungsschutz einer Waffe nur gleich dem
+ max. Ruestungsschutz eines Schildes entsprechen. Eine gesetzte
+ P_EFFECTIVE_AC in einer Waffe wird dem Spieler als mehr oder
+ weniger gute 'Paradewaffe' im 'schaetz' angezeigt und geht sowohl
+ bei der Waffenparade als auch beim Block als Bonus mit ein.
- Z.B. koennte ein leichtes Schwert, was aufgrund seiner Bauweise mehr fuer
- den defensiven Kampf ausgelegt ist (extralange Parierstangen, verstaerkter
- Handschutz im Griffbereich, ...) wie ein maessiges Schild wirken. Die
- Vorteile liegen auf der Hand: der Spieler bekommt verstaerkten Schutz,
- kann aber weiterhin eine Zweihandwaffe fuehren.
+ Z.B. koennte ein leichtes Schwert, was aufgrund seiner Bauweise
+ mehr fuer den defensiven Kampf ausgelegt ist (extralange
+ Parierstangen, verstaerkter Handschutz im Griffbereich, ...) wie
+ ein maessiges Schild wirken. Die Vorteile liegen auf der Hand der
+ Spieler bekommt verstaerkten Schutz, kann aber weiterhin eine
+ Zweihandwaffe fuehren.
- Der max. Bonus fuer diese Property betraegt 40, wobei 1-20 -> geringer
- Bonus, 21-30 -> guter Bonus, 31-40 -> sehr guter Bonus.
+ Der max. Bonus fuer diese Property betraegt 40, wobei 1-20 ->
+ geringer Bonus, 21-30 -> guter Bonus, 31-40 -> sehr guter Bonus.
- Zu beachten ist hier, dass sehr gute Parierwaffen mit P_EFFECTIVE_AC > 30
- moeglichst deutlich unter der max. WC liegen sollten.
+ Zu beachten ist hier, dass sehr gute Parierwaffen mit
+ P_EFFECTIVE_AC > 30 moeglichst deutlich unter der max. WC liegen
+ sollten.
- Anmerkungen:
- Eine gesetzte P_EFFECTIVE_AC in einem Schild kann den Bonus fuer die
- Schildparade nach oben oder unten beeinflussen. Moechte man ein Schild
- herstellen, welches speziell bei der Schildparade der Kaempfer besser
- als 'normal' schuetzt, sollte man hier einen Wert eintragen, der deutlich
- groesser als die P_AC des Schildes ist.
+ Anmerkungen Eine gesetzte P_EFFECTIVE_AC in einem Schild kann den
+ Bonus fuer die Schildparade nach oben oder unten beeinflussen.
+ Moechte man ein Schild herstellen, welches speziell bei der
+ Schildparade der Kaempfer besser als 'normal' schuetzt, sollte man
+ hier einen Wert eintragen, der deutlich groesser als die P_AC des
+ Schildes ist.
- Eine gesetzte P_EFFECTIVE_AC in einer anderen Ruestung hat nur den Nutzen,
- auf deren erhoehten (und nicht sofort sichtbaren) Verteidigungswert
- hinzuweisen, der durch eine DefendFunc() realisiert wird.
-
+ Eine gesetzte P_EFFECTIVE_AC in einer anderen Ruestung hat nur den
+ Nutzen, auf deren erhoehten (und nicht sofort sichtbaren)
+ Verteidigungswert hinzuweisen, der durch eine DefendFunc()
+ realisiert wird.
2 Angriffsboni in Ruestungen - P_EFFECTIVE_WC (INT) - "effective_wc"
- Fuer die Kaempfer koennen folgende Ruestungstypen modifiziert werden:
- AT_TROUSERS (Hosen), AT_HELMET (Kopfbedeckung), AT_BOOT (Fusskleidung),
- AT_ARMOUR (Koerperruestung), AT_SHIELD (Schilde).
- Ist in einer dieser Typen P_EFFECTIVE_WC gesetzt, so macht diese Ruestung
- bei einem Angriff mit einer Spezialattacke (Kniestoss, Kopfstoss, Fusstritt,
- Ellbogenschlag und Schildstoss) entsprechend mehr bzw. weniger Schaden als
- ohne diese Property. Eine entsprechende Begruendung fuer eine Verstaerkung
- oder Schwaechung sollte auch hier fuer den Spieler offensichtlich sein
- (Dornen am Schild, verstaerkter Kniebereich, Zacken am Helm, etc.).
+ Fuer die Kaempfer koennen folgende Ruestungstypen modifiziert
+ werden AT_TROUSERS (Hosen), AT_HELMET (Kopfbedeckung), AT_BOOT
+ (Fusskleidung), AT_ARMOUR (Koerperruestung), AT_SHIELD (Schilde).
+ Ist in einer dieser Typen P_EFFECTIVE_WC gesetzt, so macht diese
+ Ruestung bei einem Angriff mit einer Spezialattacke (Kniestoss,
+ Kopfstoss, Fusstritt, Ellbogenschlag und Schildstoss) entsprechend
+ mehr bzw. weniger Schaden als ohne diese Property. Eine
+ entsprechende Begruendung fuer eine Verstaerkung oder Schwaechung
+ sollte auch hier fuer den Spieler offensichtlich sein (Dornen am
+ Schild, verstaerkter Kniebereich, Zacken am Helm, etc.).
- Wenn man der Ruestung einen Bonus geben moechte, muss man darauf achten,
- dass P_EFFECTIVE_WC hoeher ist als die P_AC der Ruestung! Sollte
- P_EFFECTIVE_WC niedriger als P_AC sein, wird dennoch P_EFFECTIVE_WC als
- Angriffswert genommen. Dies stellt natuerlich eine Schwaechung der
- Spezialattacke dar. Moeglicherweise ist aber genau das gewollt, wenn eine
- Ruestung, die sehr gut schuetzt, nur geringen Kaempferbonus aufweisen soll.
+ Wenn man der Ruestung einen Bonus geben moechte, muss man darauf
+ achten, dass P_EFFECTIVE_WC hoeher ist als die P_AC der Ruestung!
+ Sollte P_EFFECTIVE_WC niedriger als P_AC sein, wird dennoch
+ P_EFFECTIVE_WC als Angriffswert genommen. Dies stellt natuerlich
+ eine Schwaechung der Spezialattacke dar. Moeglicherweise ist aber
+ genau das gewollt, wenn eine Ruestung, die sehr gut schuetzt, nur
+ geringen Kaempferbonus aufweisen soll.
- Beispiel: ein Schild aus Hartgummi kann recht gut Schlaege aller Art
- abfangen (-> P_AC 35). Will der Kaempfer jedoch einen Schildstoss damit
- machen, fehlt ihm aufgrund der Beschaffenheit die Wucht, eher daempft es
- den Schildstoss noch ein wenig (-> P_EFFECTIVE_WC 25).
+ Beispiel ein Schild aus Hartgummi kann recht gut Schlaege aller Art
+ abfangen (-> P_AC 35). Will der Kaempfer jedoch einen Schildstoss
+ damit machen, fehlt ihm aufgrund der Beschaffenheit die Wucht, eher
+ daempft es den Schildstoss noch ein wenig (-> P_EFFECTIVE_WC 25).
- Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der jeweils
- doppelte maximale P_AC-Wert (s. 'man ruestungen').
+ Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der
+ jeweils doppelte maximale P_AC-Wert (s. 'man ruestungen').
- Die Angabe eines Schadenstyps (P_DAM_TYPE) in einer Ruestung kann dann
- sinnvoll sein, wenn bei der Spezialattacke ein spezieller Schaden gemacht
- werden soll. Beispielsweise sollten Flammenstiefel logischerweise DT_FIRE
- und DT_BLUDGEON oder DT_PIERCE bei einem Kampftritt verursachen. Es MUSS
- (logischerweise) mindestens ein physikalischer Schadenstyp enthalten sein.
- Wird kein Schadenstyp angegeben, wird auf Standardtypen zurueckgegriffen.
+ Die Angabe eines Schadenstyps (P_DAM_TYPE) in einer Ruestung kann
+ dann sinnvoll sein, wenn bei der Spezialattacke ein spezieller
+ Schaden gemacht werden soll. Beispielsweise sollten Flammenstiefel
+ logischerweise DT_FIRE und DT_BLUDGEON oder DT_PIERCE bei einem
+ Kampftritt verursachen. Es MUSS (logischerweise) mindestens ein
+ physikalischer Schadenstyp enthalten sein. Wird kein Schadenstyp
+ angegeben, wird auf Standardtypen zurueckgegriffen.
-SIEHE AUCH:
- Waffen: P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
- Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc()
- Files: /std/weapon.c, /std/weapon/combat.c
- Balance: waffen, ruestungen, properties
+SIEHE AUCH
+==========
------------------------------------------------------------------------------
+ Waffen: P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
+ Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc()
+ Files: /std/weapon.c, /std/weapon/combat.c
+ Balance: waffen, ruestungen, properties
+
26.10.2012, Gabylon
diff --git a/doc/props/obsolete/P_BALANCED_WEAPON b/doc/props/obsolete/P_BALANCED_WEAPON
index e785f2c..83a2fc4 100644
--- a/doc/props/obsolete/P_BALANCED_WEAPON
+++ b/doc/props/obsolete/P_BALANCED_WEAPON
@@ -1,35 +1,59 @@
-********************* UNGENUTZTE PROPERTY *****************************
-* Diese Property wird von der Mudlib NICHT ausgewertet und kann *
-* als veraltet gelten. *
-* Momentan ist auch keine Gilde bekannt, die mehr macht, als sie *
-* auszugeben. *
-***********************************************************************
-NAME:
- P_BALANCED_WEAPON "balanced_weapon"
-DEFINIERT IN:
- /sys/weapon.h
+P_BALANCED_WEAPON
+*****************
-BESCHREIBUNG:
- Die Property gibt an, ob eine Waffe ausbalanciert ist oder nicht.
- Die beiden moeglichen Werte sind logischerweise:
+********************* UNGENUTZTE PROPERTY
+***************************** * Diese Property wird von der Mudlib
+NICHT ausgewertet und kann * * als veraltet gelten.
+* * Momentan ist auch keine Gilde bekannt, die mehr macht, als sie
+* * auszugeben.
+* *******************************************************************
+****
- WP_BALANCED balanciert
- WP_UNBALANCED unbalanciert
- Die WP_* sind ebenfalls in <weapon.h> definiert.
+NAME
+====
-BEISPIELE:
- a) Eine ausbalancierte Waffe ist z.B. ein Kampfstab.
+ P_BALANCED_WEAPON "balanced_weapon"
- SetProp(P_BALANCED_WEAPON,WP_BALANCED);
- b) Eine nicht ausbalancierte Waffe ist z.B. eine Keule.
+DEFINIERT IN
+============
- SetProp(P_BALANCED_WEAPON,WP_UNBALANCED);
+ /sys/weapon.h
-SIEHE AUCH:
- P_TECHNIQUE, /std/weapon/combat.c
-LETZTE AeNDERUNG:
+BESCHREIBUNG
+============
+
+ Die Property gibt an, ob eine Waffe ausbalanciert ist oder nicht.
+ Die beiden moeglichen Werte sind logischerweise:
+
+ WP_BALANCED balanciert
+ WP_UNBALANCED unbalanciert
+
+ Die WP_* sind ebenfalls in <weapon.h> definiert.
+
+
+BEISPIELE
+=========
+
+ a) Eine ausbalancierte Waffe ist z.B. ein Kampfstab.
+
+ SetProp(P_BALANCED_WEAPON,WP_BALANCED);
+
+ b) Eine nicht ausbalancierte Waffe ist z.B. eine Keule.
+
+ SetProp(P_BALANCED_WEAPON,WP_UNBALANCED);
+
+
+SIEHE AUCH
+==========
+
+ P_TECHNIQUE, /std/weapon/combat.c
+
+
+LETZTE AeNDERUNG
+================
+
15.02.2009, Zesstra
diff --git a/doc/props/obsolete/P_DEFAULT_INFO b/doc/props/obsolete/P_DEFAULT_INFO
index 814928c..9a16169 100644
--- a/doc/props/obsolete/P_DEFAULT_INFO
+++ b/doc/props/obsolete/P_DEFAULT_INFO
@@ -1,28 +1,50 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
-NAME:
- P_DEFAULT_INFO "default_info"
+P_DEFAULT_INFO
+**************
-DEFINIERT IN:
- /sys/properties.h
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
-BESCHREIBUNG:
- Default-Antwort eines Npc, wenn er auf das Schluesselwort durch den
- Spieler kein AddInfo parat hat.
-BEMERKUNG:
- Diese Property sollte nicht mehr benutzt werden. Stattdessen bitte
- AddInfo(DEFAULT_INFO,...) verwenden.
- Dem in dieser Prop angegeben String wird immer der Name des Npc
- vorausgestellt. Will man dies verhindern, muss man sie ueberschreiben.
+NAME
+====
-BEISPIEL:
- SetProp(P_DEFAULT_INFO,"bohrt gelangweilt in der Nase.\n");
+ P_DEFAULT_INFO "default_info"
-SIEHE AUCH:
- AddInfo
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Default-Antwort eines Npc, wenn er auf das Schluesselwort durch den
+ Spieler kein AddInfo parat hat.
+
+
+BEMERKUNG
+=========
+
+ Diese Property sollte nicht mehr benutzt werden. Stattdessen bitte
+ AddInfo(DEFAULT_INFO,...) verwenden.
+ Dem in dieser Prop angegeben String wird immer der Name des Npc
+ vorausgestellt. Will man dies verhindern, muss man sie ueberschreiben.
+
+
+BEISPIEL
+========
+
+ SetProp(P_DEFAULT_INFO,"bohrt gelangweilt in der Nase.\n");
+
+
+SIEHE AUCH
+==========
+
+ AddInfo
+
17.08.2010, Zesstra
diff --git a/doc/props/obsolete/P_EXTRA_LOOK b/doc/props/obsolete/P_EXTRA_LOOK
deleted file mode 100644
index 3777a25..0000000
--- a/doc/props/obsolete/P_EXTRA_LOOK
+++ /dev/null
@@ -1,35 +0,0 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte benutzt sie NICHT mehr, sondern *
-* stattdessden AddExtraLook(). *
-***********************************************************************
-
-NAME:
- P_EXTRA_LOOK "extralook"
-
-DEFINIERT IN:
- /sys/living/description.h
-
-BESCHREIBUNG:
- Diese Property enthaelt einen String. Sie wird entweder in Lebewesen
- direkt oder in Objekten gesetzt wird, die im Besitz von Lebewesen
- sein koennen.
- Diese Strings erscheinen dann zusaetzlich in der Langbeschreibung
- des Lebewesens bzw. des Besitzers (wenn das Objekt sich direkt im
- Lebewesen befindet, jedoch nicht in einem Behaelter im Lebewesen).
- Fuer den Zeilenumbruch muss man selbst sorgen.
-
-BEISPIEL:
- Ein Spieler hat eine Pfeife im Mund. In dieser Pfeife setzt man z.B.
- in der Funktion zum Pfeife Rauchen folgendes:
- SetProp(P_EXTRA_LOOK,break_string(
- this_player()->Name(WER)+" ist ganz umnebelt.",78);
-
-BEMERKUNG:
- BITTE NICHT MEHR BENUTZEN!
-
-SIEHE AUCH:
- long(), /std/living/description.c, /std/player/base.c
- AddExtraLook(), RemoveExtraLook()
-
-----------------------------------------------------------------------------
-13.05.2007, Zesstra
diff --git a/doc/props/obsolete/P_LAST_KILLER b/doc/props/obsolete/P_LAST_KILLER
index 27eea8f..199a878 100644
--- a/doc/props/obsolete/P_LAST_KILLER
+++ b/doc/props/obsolete/P_LAST_KILLER
@@ -1,20 +1,37 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet und wird bald aus der Mudlib entfernt. *
-***********************************************************************
-NAME:
- P_LAST_KILLER "last_killer"
+P_LAST_KILLER
+*************
-DEFINIERT IN:
- /sys/player.h
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet und wird
+bald aus der Mudlib entfernt. * ************************************
+***********************************
-BESCHREIBUNG:
- Letzter Moerdes des Wesens.
- Diese Property wurde nur in Spielern gesetzt und auch dann nicht immer.
- Bitte stattdessen P_KILLER abfragen, welche in NPC und Spielern gesetzt
- wird.
-SIEHE AUCH:
- P_KILLER, die()
+NAME
+====
+
+ P_LAST_KILLER "last_killer"
+
+
+DEFINIERT IN
+============
+
+ /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+ Letzter Moerdes des Wesens.
+ Diese Property wurde nur in Spielern gesetzt und auch dann nicht immer.
+ Bitte stattdessen P_KILLER abfragen, welche in NPC und Spielern gesetzt
+ wird.
+
+
+SIEHE AUCH
+==========
+
+ P_KILLER, die()
05.09.2008, Zesstra
diff --git a/doc/props/obsolete/P_LAST_PEACE_TIME b/doc/props/obsolete/P_LAST_PEACE_TIME
index 762233e..f8aea49 100644
--- a/doc/props/obsolete/P_LAST_PEACE_TIME
+++ b/doc/props/obsolete/P_LAST_PEACE_TIME
@@ -1,27 +1,41 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet und wird bald aus der Mudlib entfernt. *
-***********************************************************************
-PROPERTY
- P_LAST_PEACE_TIME "last_peace_time"
+P_LAST_PEACE_TIME
+*****************
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet und wird
+bald aus der Mudlib entfernt. * ************************************
+***********************************
+
+
+PROPERTY
+========
+
+ P_LAST_PEACE_TIME "last_peace_time"
+
DEFINIERT IN
+============
- /std/living/combat.c
+ /std/living/combat.c
+
BESCHREIBUNG
+============
- Diese Property gibt an, wann zuletzt versucht wurde, einen NPC zu
- befrieden. Bitte nach Moeglichkeit nur lesend verwenden. Des weiteren
- wird sie nur im ueblichen Verhalten von QueryPacify gesetzt, und nur
- dann, wenn P_ACCEPT_PEACE nicht gesetzt ist.
+ Diese Property gibt an, wann zuletzt versucht wurde, einen NPC zu
+ befrieden. Bitte nach Moeglichkeit nur lesend verwenden. Des weiteren
+ wird sie nur im ueblichen Verhalten von QueryPacify gesetzt, und nur
+ dann, wenn P_ACCEPT_PEACE nicht gesetzt ist.
+
SIEHE AUCH
+==========
- QueryPacify, P_ACCEPT_PEACE
+ QueryPacify, P_ACCEPT_PEACE
+
LETZTE AENDERUNG
+================
- 2004-03-17, 14:30 von Humni
-
-
+ 2004-03-17, 14:30 von Humni
diff --git a/doc/props/obsolete/P_LOG_FILE b/doc/props/obsolete/P_LOG_FILE
index 1eafe40..ed57133 100644
--- a/doc/props/obsolete/P_LOG_FILE
+++ b/doc/props/obsolete/P_LOG_FILE
@@ -1,45 +1,69 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property wird nicht mehr ausgewertet. *
-***********************************************************************
-NAME:
- P_LOG_FILE "log_file"
-DEFINIERT IN:
- /sys/thing/properties.h
+P_LOG_FILE
+**********
-BESCHREIBUNG:
- Enthaelt einen String auf einen Filenamen.
+********************* VERALTETE PROPERTY
+****************************** * Diese Property wird nicht mehr
+ausgewertet. * ******************************
+*****************************************
- Werden zu dem Objekt (Raum, Monster, ...) Fehlermeldungen abgesetzt,
- werden diese in das angegebene File umgeleitet. Die Eintragung in
- die per Default fuer Fehlermeldungen vorgesehenen Dateien erfolgt
- nicht.
-BEMERKUNGEN:
- P_LOG_FILE wird ausgewertet wie log_file().
+NAME
+====
- Das heisst, es wird AUF JEDEN FALL nach /log geschrieben!
+ P_LOG_FILE "log_file"
- Direkt in /log kann NICHT geschrieben werden, es muss also ein
- Unterverzeichnis mit Eurem Magiernamen vorhanden sein.
-BEISPIELE:
- SetProp(P_LOG_FILE,"tilly_log"); // FALSCH, es wuerde versucht,
- das File /log/tilly_log
- anzulegen
- SetProp(P_LOG_FILE,"/log/tilly_log"); // FALSCH, es wuerde versucht,
- das File /log/log/tilly_log
- anzulegen
- SetProp(P_LOG_FILE,"/d/ebene/tilly_log"); // FALSCH, s.o.
+DEFINIERT IN
+============
- SetProp(P_LOG_FILE,"tilly/tilly_log"); // RICHTIG!
+ /sys/thing/properties.h
- Im letzten Beispiel werden alle Eintraege in das File tilly_log ge-
- schrieben, das sich im Verzeichnis /log/tilly/ befindet.
- Das Unterverzeichnis /tilly in /log muss zuvor angelegt werden.
+BESCHREIBUNG
+============
-SIEHE AUCH:
- P_LOG_INFO, write_file(), log_file(),
+ Enthaelt einen String auf einen Filenamen.
+
+ Werden zu dem Objekt (Raum, Monster, ...) Fehlermeldungen abgesetzt,
+ werden diese in das angegebene File umgeleitet. Die Eintragung in
+ die per Default fuer Fehlermeldungen vorgesehenen Dateien erfolgt
+ nicht.
+
+
+BEMERKUNGEN
+===========
+
+ P_LOG_FILE wird ausgewertet wie log_file().
+
+ Das heisst, es wird AUF JEDEN FALL nach /log geschrieben!
+
+ Direkt in /log kann NICHT geschrieben werden, es muss also ein
+ Unterverzeichnis mit Eurem Magiernamen vorhanden sein.
+
+
+BEISPIELE
+=========
+
+ SetProp(P_LOG_FILE,"tilly_log"); // FALSCH, es wuerde versucht,
+ das File /log/tilly_log
+ anzulegen
+ SetProp(P_LOG_FILE,"/log/tilly_log"); // FALSCH, es wuerde versucht,
+ das File /log/log/tilly_log
+ anzulegen
+ SetProp(P_LOG_FILE,"/d/ebene/tilly_log"); // FALSCH, s.o.
+
+ SetProp(P_LOG_FILE,"tilly/tilly_log"); // RICHTIG!
+
+ Im letzten Beispiel werden alle Eintraege in das File tilly_log ge-
+ schrieben, das sich im Verzeichnis /log/tilly/ befindet.
+
+ Das Unterverzeichnis /tilly in /log muss zuvor angelegt werden.
+
+
+SIEHE AUCH
+==========
+
+ P_LOG_INFO, write_file(), log_file(),
Letzte Aenderung: 13.09.04 Tilly@MorgenGrauen
diff --git a/doc/props/obsolete/P_NEXT_SPELL_TIME b/doc/props/obsolete/P_NEXT_SPELL_TIME
index 4742456..300a766 100644
--- a/doc/props/obsolete/P_NEXT_SPELL_TIME
+++ b/doc/props/obsolete/P_NEXT_SPELL_TIME
@@ -1,30 +1,49 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
-NAME:
- P_NEXT_SPELL_TIME "next_spell"
+P_NEXT_SPELL_TIME
+*****************
-DEFINIERT IN:
- /sys/new_skills.h
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
-BESCHREIBUNG:
- Wann kann das naechste Mal gezaubert werden?
- Dies ist eine globale Spruchermuedung/-Sperre.
- Flexiblere Sperren koennen mittels SetSpellFatigue/CheckSpellFatigue()
- verwaltet werden.
- Diese Property ist keine echte Property, sondern liefert nur das
- Ergebnis von von CheckSpellFatigue() zurueck bzw. ruft beim Setzen
- SetSpellFatigue(<spruchsperre>, 0) auf.
- Diese Prop sollte _nicht_ mittels Query- oder Setmethoden manupuliert
- werden, da sonst Inkonsistenzen zum Ergebnis von CheckSpellFatigue()
- auftreten.
+NAME
+====
-SIEHE AUCH:
- SetSpellFatigue(L), CheckSpellFatigue(L)
- spruchermuedung
+ P_NEXT_SPELL_TIME "next_spell"
-ZULETZT GEAeNDERT:
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Wann kann das naechste Mal gezaubert werden?
+ Dies ist eine globale Spruchermuedung/-Sperre.
+ Flexiblere Sperren koennen mittels SetSpellFatigue/CheckSpellFatigue()
+ verwaltet werden.
+
+ Diese Property ist keine echte Property, sondern liefert nur das
+ Ergebnis von von CheckSpellFatigue() zurueck bzw. ruft beim Setzen
+ SetSpellFatigue(<spruchsperre>, 0) auf.
+ Diese Prop sollte _nicht_ mittels Query- oder Setmethoden manupuliert
+ werden, da sonst Inkonsistenzen zum Ergebnis von CheckSpellFatigue()
+ auftreten.
+
+
+SIEHE AUCH
+==========
+
+ SetSpellFatigue(L), CheckSpellFatigue(L)
+ spruchermuedung
+
+
+ZULETZT GEAeNDERT
+=================
+
14.03.2010, Zesstra
-
diff --git a/doc/props/obsolete/P_READ_MSG b/doc/props/obsolete/P_READ_MSG
index 5c79fdc..2331508 100644
--- a/doc/props/obsolete/P_READ_MSG
+++ b/doc/props/obsolete/P_READ_MSG
@@ -1,32 +1,56 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
-NAME:
- P_READ_MSG "read_msg"
-DEFINIERT IN:
- /sys/properties.h
+P_READ_MSG
+**********
-BESCHREIBUNG:
- Diese Property ist veraltet. Ihre Funktion wird von
- AddReadDetail(SENSE_DEFAULT, ...) uebernommen.
-
- Hier koennen Informationen gespeichert werden, die beim Lesen
- des Objektes ausgegeben werden.
-
- Fuer das Identifizieren des zu lesenden Objektes wird der gleiche
- Mechanismus benutzt wie fuer lesbare und andere Details.
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
- Die Benutzung von process_string() ist in dieser Prop nicht mehr erlaubt.
-BEISPIEL:
- AddId(({"rolle", "schriftrolle"}));
- SetProp(P_READ_MSG,
- "Du oeffnest die Rolle und liest: LOREM IPSUM ...\n");
-
-SIEHE AUCH:
- Details: AddReadDetail(), RemoveReadDetail(), P_READ_DETAILS
- Sonstiges: break_string()
+NAME
+====
+
+ P_READ_MSG "read_msg"
+
+
+DEFINIERT IN
+============
+
+ /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+ Diese Property ist veraltet. Ihre Funktion wird von
+ AddReadDetail(SENSE_DEFAULT, ...) uebernommen.
+
+
+
+ Hier koennen Informationen gespeichert werden, die beim Lesen
+ des Objektes ausgegeben werden.
+
+
+
+ Fuer das Identifizieren des zu lesenden Objektes wird der gleiche
+ Mechanismus benutzt wie fuer lesbare und andere Details.
+
+ Die Benutzung von process_string() ist in dieser Prop nicht mehr erlaubt.
+
+
+BEISPIEL
+========
+
+ AddId(({"rolle", "schriftrolle"}));
+ SetProp(P_READ_MSG,
+ "Du oeffnest die Rolle und liest: LOREM IPSUM ...\n");
+
+
+SIEHE AUCH
+==========
+
+ Details: AddReadDetail(), RemoveReadDetail(), P_READ_DETAILS
+ Sonstiges: break_string()
09.12.2012, Zesstra
-
diff --git a/doc/props/obsolete/P_TECHNIQUE b/doc/props/obsolete/P_TECHNIQUE
index 1657027..a556ce6 100644
--- a/doc/props/obsolete/P_TECHNIQUE
+++ b/doc/props/obsolete/P_TECHNIQUE
@@ -1,44 +1,70 @@
-********************* UNGENUTZTE PROPERTY *****************************
-* Diese Property wird von der Mudlib NICHT ausgewertet und kann *
-* als veraltet gelten. *
-* Momentan ist auch keine Gilde bekannt, die mehr macht, als sie *
-* auszugeben. *
-***********************************************************************
-NAME:
- P_TECHNIQUE "technique"
-DEFINIERT IN:
- /sys/weapon.h
+P_TECHNIQUE
+***********
-BESCHREIBUNG:
- Die Technik(en), mit denen eine Waffe im Kampf eingesetzt werden
- kann. Folgende Techniken stehen zur Verfuegung:
+********************* UNGENUTZTE PROPERTY
+***************************** * Diese Property wird von der Mudlib
+NICHT ausgewertet und kann * * als veraltet gelten.
+* * Momentan ist auch keine Gilde bekannt, die mehr macht, als sie
+* * auszugeben.
+* *******************************************************************
+****
- TQ_STROKE Streichtechnik
- TQ_THRASH Schlagtechnik
- TQ_THRUST Stosstechnik
- TQ_WHIP Peitschtechnik
- Die Techniken sind ebenfalls in <weapon.h> definiert und auf der
- man-page 'techniken' naeher erlaeutert.
+NAME
+====
-BEMERKUNGEN:
- Man kann einer Waffe eine oder mehrere Techniken zuweisen.
+ P_TECHNIQUE "technique"
-BEISPIELE:
- a) Eine Waffe, die nur mit einer Peitschtechnik eingesetzt wird,
- also typischerweise eine Peitsche, aber auch ein Morgenstern:
- SetProp(P_TECHNIQUE,TQ_WHIP);
+DEFINIERT IN
+============
- b) Eine Waffe, die sowohl mit der Schlag- als auch der Stosstechnik
- eingesetzt wird, also z.B. eine Hellebarde:
+ /sys/weapon.h
- SetProp(P_TECHNIQUE,({TQ_THRASH,TQ_THRUST}));
-SIEHE AUCH:
- techniken, P_BALANCED_WEAPON, /std/weapon/combat.c
+BESCHREIBUNG
+============
-LETZTE AeNDERUNG:
+ Die Technik(en), mit denen eine Waffe im Kampf eingesetzt werden
+ kann. Folgende Techniken stehen zur Verfuegung:
+
+ TQ_STROKE Streichtechnik
+ TQ_THRASH Schlagtechnik
+ TQ_THRUST Stosstechnik
+ TQ_WHIP Peitschtechnik
+
+ Die Techniken sind ebenfalls in <weapon.h> definiert und auf der
+ man-page 'techniken' naeher erlaeutert.
+
+
+BEMERKUNGEN
+===========
+
+ Man kann einer Waffe eine oder mehrere Techniken zuweisen.
+
+
+BEISPIELE
+=========
+
+ a) Eine Waffe, die nur mit einer Peitschtechnik eingesetzt wird,
+ also typischerweise eine Peitsche, aber auch ein Morgenstern:
+
+ SetProp(P_TECHNIQUE,TQ_WHIP);
+
+ b) Eine Waffe, die sowohl mit der Schlag- als auch der Stosstechnik
+ eingesetzt wird, also z.B. eine Hellebarde:
+
+ SetProp(P_TECHNIQUE,({TQ_THRASH,TQ_THRUST}));
+
+
+SIEHE AUCH
+==========
+
+ techniken, P_BALANCED_WEAPON, /std/weapon/combat.c
+
+
+LETZTE AeNDERUNG
+================
+
15.02.2009, Zesstra
-
diff --git a/doc/props/obsolete/P_TMP_ATTACK_HOOK b/doc/props/obsolete/P_TMP_ATTACK_HOOK
index bdc8152..6bd5130 100644
--- a/doc/props/obsolete/P_TMP_ATTACK_HOOK
+++ b/doc/props/obsolete/P_TMP_ATTACK_HOOK
@@ -1,73 +1,95 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
+
P_TMP_ATTACK_HOOK
+*****************
-NAME:
- P_TMP_ATTACK_HOOK "attack_hook"
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_ATTACK_HOOK
-DEFINIERT IN:
- /sys/new_skills.h
-BESCHREIBUNG:
- Mittels dieser Property koennen die Attacken eines Livings ggf.
- abgebrochen werden noch bevor Waffen oder Skills zum ausgewertet
- wurden.
+NAME
+====
- Es wird an dem Living die Property als mindestens 3-elementiges Array:
- ({zeitpunkt, objekt, methode, ...})
- gesetzt und die Methode 'methode' wird dann waehrend des Attack() des
- Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+ P_TMP_ATTACK_HOOK "attack_hook"
- Der Methode wird als Parameter der Gegner uebergeben.
- Gibt die Methode 0 als Rueckgabewert zurueck, wird die Attacke sofort
- kommentarlos abgebrochen.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
- - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
- Property auf 0 gesetzt
- - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
- pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
- im Code anderer und ist andererseits unfair gegenueber ihnen
+ /sys/new_skills.h
-BEISPIELE:
- *** der Spieler erhaelt eine Verwundung, die ihn manchmal behindert ***
- if(!pointerp(tmp=TP->QueryProp(P_TMP_ATTACK_HOOK)) ||
- sizeof(tmp)<3 || tmp[0]<=time()) {
- TP->SetProp(P_TMP_ATTACK_HOOK,
- ({time()+3600, this_object(), "test_hurt"}));
- ...
- // die entsprechende Methode, die bei jedem Angriff ueber Attack()
- // gerufen wird ...
- int test_hurt(object enemy) {
+BESCHREIBUNG
+============
- // mit 10% Chance generell und 20% Chance bei groesseren Gegnern
- // bricht der Angriff ab ... previous_object() ist natuerlich
- // der Angreifer
- if(!random(10) ||
- (enemy->QueryProp(P_SIZE)>previous_object()->QueryProp(P_SIZE) &&
- !random(5)) {
+ Mittels dieser Property koennen die Attacken eines Livings ggf.
+ abgebrochen werden noch bevor Waffen oder Skills zum ausgewertet
+ wurden.
- tell_object(previous_object(),
- "Deine Wunde schmerzt dich zu sehr um anzugreifen.\n");
- tell_room(environment(previous_object()),
- previous_object()->Name(WER,1)+" zuckt vor Schmerzen zusammen.\n",
- ({previous_object()}));
- return 0;
- }
+ Es wird an dem Living die Property als mindestens 3-elementiges Array:
+ ({zeitpunkt, objekt, methode, ...})
+ gesetzt und die Methode 'methode' wird dann waehrend des Attack() des
+ Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
- // ansonsten geht der Angriff weiter
- return 1;
+ Der Methode wird als Parameter der Gegner uebergeben.
+
+ Gibt die Methode 0 als Rueckgabewert zurueck, wird die Attacke sofort
+ kommentarlos abgebrochen.
+
+
+BEMERKUNGEN
+===========
+
+ - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
+ - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+ Property auf 0 gesetzt
+ - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+ pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+ im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+BEISPIELE
+=========
+
+ *** der Spieler erhaelt eine Verwundung, die ihn manchmal behindert ***
+ if(!pointerp(tmp=TP->QueryProp(P_TMP_ATTACK_HOOK)) ||
+ sizeof(tmp)<3 || tmp[0]<=time()) {
+ TP->SetProp(P_TMP_ATTACK_HOOK,
+ ({time()+3600, this_object(), "test_hurt"}));
+ ...
+
+ // die entsprechende Methode, die bei jedem Angriff ueber Attack()
+ // gerufen wird ...
+ int test_hurt(object enemy) {
+
+ // mit 10% Chance generell und 20% Chance bei groesseren Gegnern
+ // bricht der Angriff ab ... previous_object() ist natuerlich
+ // der Angreifer
+ if(!random(10) ||
+ (enemy->QueryProp(P_SIZE)>previous_object()->QueryProp(P_SIZE) &&
+ !random(5)) {
+
+ tell_object(previous_object(),
+ "Deine Wunde schmerzt dich zu sehr um anzugreifen.\n");
+ tell_room(environment(previous_object()),
+ previous_object()->Name(WER,1)+" zuckt vor Schmerzen zusammen.\n",
+ ({previous_object()}));
+ return 0;
}
-SIEHE AUCH:
- Angriff: Attack(L)
- Schutz: Defend(L)
- Verwandt: InternalModifyAttack(L), P_TMP_ATTACK_MOD
- Hooks: P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_DEFEND_HOOK
- neue Hooks: std/hooks
+ // ansonsten geht der Angriff weiter
+ return 1;
+ }
+
+
+SIEHE AUCH
+==========
+
+ Angriff: Attack(L)
+ Schutz: Defend(L)
+ Verwandt: InternalModifyAttack(L), P_TMP_ATTACK_MOD
+ Hooks: P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_DEFEND_HOOK
+ neue Hooks: std/hooks
08.12.2008, Zesstra
diff --git a/doc/props/obsolete/P_TMP_ATTACK_MOD b/doc/props/obsolete/P_TMP_ATTACK_MOD
index 3491c0c..df10409 100644
--- a/doc/props/obsolete/P_TMP_ATTACK_MOD
+++ b/doc/props/obsolete/P_TMP_ATTACK_MOD
@@ -1,112 +1,134 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
+
P_TMP_ATTACK_MOD
+****************
-NAME:
- P_TMP_ATTACK_MOD "attack_mod"
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_ATTACK_MOD
-DEFINIERT IN:
- /sys/new_skills.h
-BESCHREIBUNG:
- Mittels dieser Property koennen die Attacken eines Livings temporaer
- veraendert werden.
+NAME
+====
- Es wird an dem Living die Property als mindestens 3-elementiges Array
- ({zeitpunkt, objekt, methode, ...})
- gesetzt und die Methode 'methode' wird dann waehrend des Attack() des
- Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+ P_TMP_ATTACK_MOD "attack_mod"
- Der Methode wird beim Aufruf ein Kopie des Mappings uebergeben, in dem
- die bisherigen Werte des Angriffes vermerkt sind.
- Aufbau von Mapping 'ainfo':
- ([ SI_ENEMY : object Angreifer, (-> Defend)
- SI_SPELL : 0/1/array Spellparameter, (-> Defend)
- P_WEAPON : - oder Waffe,
- SI_SKILLDAMAGE_MSG: string Angriffsmeldungsende an Raum,
- SI_SKILLDAMAGE_MSG2: string Angriffsmeldungsende an Kaempfende,
- SI_SKILLDAMAGE: int Schaden in Zehntel HP (Skills bis auf Rasse
- drin!) (-> Defend),
- SI_SKILLDAMAGE_TYPE: string/string* Schadenstypen, (-> Defend)
- P_WEAPON_TYPE: string Waffentyp (combat.h),
- P_WC: - oder int WC der Waffe/Hand,
- P_NR_HANDS: - oder int Hands der Waffe/Hand,
- ]);
- Gibt die Methode:
- - 0 oder kein Mapping zurueck, fuehrt das zum Abbruch der Attacke
- -> da inzwischen Waffen abgefragt wurden, koennen schon Meldungen
- von diesen ausgegeben worden sein
- - ein leeres Mapping ( ([]) ) zurueck, fuehrt das zu keiner Modifikation
- - ein Mapping mit veraenderten Werten zurueck, werden diese in das
- Angriffsmapping kopiert
- Die geaenderten Werte werden teilweise von SkillResTransfer() in
- den eigentlichen Angriff uebernommen.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
- Property auf 0 gesetzt
- - vor dem Setzen immer auf die Existenz eines gueltigen Modifiers
- pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
- im Code anderer und ist andererseits unfair gegenueber ihnen
+ /sys/new_skills.h
-BEISPIELE:
- *** ein besonder heisser Segen modifiziert die Attacken des Spielers ***
- int action_segen() {
- ...
- mixed *tmp;
- // pruefen, ob nicht ein anderer Modifier existiert
- if(!pointerp(tmp=TP->QueryProp(P_TMP_ATTACK_MOD)) ||
- sizeof(tmp)<3 || tmp[0]<=time()) {
+BESCHREIBUNG
+============
- object wield;
- wield=TP->QueryProp(P_WEAPON);
+ Mittels dieser Property koennen die Attacken eines Livings temporaer
+ veraendert werden.
- write(break_string(
- "Der Priester der Flamme weiht "+
- (wield?wield->name(WEN,1):"deine Haende")+".", 78));
+ Es wird an dem Living die Property als mindestens 3-elementiges Array
+ ({zeitpunkt, objekt, methode, ...})
+ gesetzt und die Methode 'methode' wird dann waehrend des Attack() des
+ Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
- // setzen des Modifiers .. 30-40 Sekunden gueltig
- TP->SetProp(P_TMP_ATTACK_MOD,
- ({time()+30+random(10), this_object(), "modfun"}));
- } else ...
- ...
- return 1;
- }
+ Der Methode wird beim Aufruf ein Kopie des Mappings uebergeben, in dem
+ die bisherigen Werte des Angriffes vermerkt sind.
+ Aufbau von Mapping 'ainfo':
+ ([ SI_ENEMY : object Angreifer, (-> Defend)
+ SI_SPELL : 0/1/array Spellparameter, (-> Defend)
+ P_WEAPON : - oder Waffe,
+ SI_SKILLDAMAGE_MSG: string Angriffsmeldungsende an Raum,
+ SI_SKILLDAMAGE_MSG2: string Angriffsmeldungsende an Kaempfende,
+ SI_SKILLDAMAGE: int Schaden in Zehntel HP (Skills bis auf Rasse
+ drin!) (-> Defend),
+ SI_SKILLDAMAGE_TYPE: string/string* Schadenstypen, (-> Defend)
+ P_WEAPON_TYPE: string Waffentyp (combat.h),
+ P_WC: - oder int WC der Waffe/Hand,
+ P_NR_HANDS: - oder int Hands der Waffe/Hand,
+ ]);
- // die eigentlich Methode, die waehrend des Angriffs gerufen wird
- mapping modfun(mapping ainfo) {
- mapping ret;
+ Gibt die Methode:
+ - 0 oder kein Mapping zurueck, fuehrt das zum Abbruch der Attacke
+ -> da inzwischen Waffen abgefragt wurden, koennen schon Meldungen
+ von diesen ausgegeben worden sein
+ - ein leeres Mapping ( ([]) ) zurueck, fuehrt das zu keiner Modifikation
+ - ein Mapping mit veraenderten Werten zurueck, werden diese in das
+ Angriffsmapping kopiert
+ Die geaenderten Werte werden teilweise von SkillResTransfer() in
+ den eigentlichen Angriff uebernommen.
- // Returnwert ist immer ein Mapping, damit die Attacke weitergeht
- ret=m_allocate(0,1);
- // magische Waffen oder Sprueche werden nicht verbessert
- if(ainfo[P_WEAPON_TYPE]!=WT_MAGIC) {
- // sonst Verbesserungen ... Feuer addieren ...
- ret[SI_SKILLDAMAGE_TYPE]=(ainfo[SI_SKILLDAMAGE_TYPE]||({}))+
- ({DT_FIRE});
- // ... und bei Waffe Meldungen anpassen
- if(ainfo[P_WEAPON]) {
- ret[SI_SKILLDAMAGE_MSG]=
- " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
- ret[SI_SKILLDAMAGE_MSG2]=
- " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
- }
+BEMERKUNGEN
+===========
+
+ - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+ Property auf 0 gesetzt
+ - vor dem Setzen immer auf die Existenz eines gueltigen Modifiers
+ pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+ im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+BEISPIELE
+=========
+
+ *** ein besonder heisser Segen modifiziert die Attacken des Spielers ***
+ int action_segen() {
+ ...
+ mixed *tmp;
+
+ // pruefen, ob nicht ein anderer Modifier existiert
+ if(!pointerp(tmp=TP->QueryProp(P_TMP_ATTACK_MOD)) ||
+ sizeof(tmp)<3 || tmp[0]<=time()) {
+
+ object wield;
+ wield=TP->QueryProp(P_WEAPON);
+
+ write(break_string(
+ "Der Priester der Flamme weiht "+
+ (wield?wield->name(WEN,1):"deine Haende")+".", 78));
+
+ // setzen des Modifiers .. 30-40 Sekunden gueltig
+ TP->SetProp(P_TMP_ATTACK_MOD,
+ ({time()+30+random(10), this_object(), "modfun"}));
+ } else ...
+ ...
+ return 1;
+ }
+
+ // die eigentlich Methode, die waehrend des Angriffs gerufen wird
+ mapping modfun(mapping ainfo) {
+ mapping ret;
+
+ // Returnwert ist immer ein Mapping, damit die Attacke weitergeht
+ ret=m_allocate(0,1);
+
+ // magische Waffen oder Sprueche werden nicht verbessert
+ if(ainfo[P_WEAPON_TYPE]!=WT_MAGIC) {
+ // sonst Verbesserungen ... Feuer addieren ...
+ ret[SI_SKILLDAMAGE_TYPE]=(ainfo[SI_SKILLDAMAGE_TYPE]||({}))+
+ ({DT_FIRE});
+ // ... und bei Waffe Meldungen anpassen
+ if(ainfo[P_WEAPON]) {
+ ret[SI_SKILLDAMAGE_MSG]=
+ " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
+ ret[SI_SKILLDAMAGE_MSG2]=
+ " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
}
-
- return ret;
}
-SIEHE AUCH:
- Angriff: Attack(L)
- Schutz: Defend(L)
- Verwandt: InternalModifyAttack(L)
- P_TMP_ATTACK_HOOK
- P_TMP_DEFEND_HOOK
- Sonstiges: SkillResTransfer(L)
- Hooks: P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK
+ return ret;
+ }
+
+
+SIEHE AUCH
+==========
+
+ Angriff: Attack(L)
+ Schutz: Defend(L)
+ Verwandt: InternalModifyAttack(L)
+ P_TMP_ATTACK_HOOK
+ P_TMP_DEFEND_HOOK
+ Sonstiges: SkillResTransfer(L)
+ Hooks: P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK
10.Feb 2005 Gloinson
diff --git a/doc/props/obsolete/P_TMP_DEFEND_HOOK b/doc/props/obsolete/P_TMP_DEFEND_HOOK
index 986e63a..f29d342 100644
--- a/doc/props/obsolete/P_TMP_DEFEND_HOOK
+++ b/doc/props/obsolete/P_TMP_DEFEND_HOOK
@@ -1,110 +1,131 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
+
P_TMP_DEFEND_HOOK
+*****************
-NAME:
- P_TMP_DEFEND_HOOK "defend_hook"
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_DEFEND_HOOK
-DEFINIERT IN:
- /sys/new_skills.h
-BESCHREIBUNG:
- Mittels dieser Property koennen die Abwehren eines Livings temporaer
- veraendert werden.
+NAME
+====
- Es wird an dem Living die Property als mindestens 3-elementiges Array
- ({zeitpunkt, objekt, methode, ...})
- gesetzt und die Methode 'methode' wird dann waehrend des Defend() des
- Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+ P_TMP_DEFEND_HOOK "defend_hook"
- Der Methode werden die Parameter der Defend() uebergeben:
- int dam, mixed dam_type, mixed spell, object enemy
- - spell ist definitiv ein Mapping - ein an Defend() uebergebener
- int-Wert wurde aequivalent umgesetzt.
- - dam_type ist definitiv ein Array von Schadenswerten oder einem Wert
- Zudem findet der Aufruf der Methode nach dem Abarbeiten der P_DEFENDERS
- statt, diese koennen also weitere Modifikationen vorgenommen haben.
+DEFINIERT IN
+============
- Gibt die Funktion:
- - 0 zurueck, wird Defend() abgebrochen (und damit der Schaden voellig
- abgefangen) - nur noch die Flucht wird geprueft
- - ein 3-elementiges Array ({schaden, schadenstypen, spell}) zurueck,
- werden diese Werte in der Defend() an Stelle der uebergebenen Werte
- verwendet
- - weder noch zurueck, wird das Ergebnis ignoriert und die Defend laeuft
- regulaer weiter
+ /sys/new_skills.h
-BEMERKUNGEN:
- - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
- - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
- Property auf 0 gesetzt
- - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
- pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
- im Code anderer und ist andererseits unfair gegenueber ihnen
-BEISPIEL:
- *** ein gruener Schutzzauber ***
- // Setzen der Prop
- ...
- tmp=TP->QueryProp(P_TMP_DEFEND_HOOK);
+BESCHREIBUNG
+============
- // ein etwas ausfuehrlicher Check, ob wir ueberschreiben koennen,
- // Existenz && Gueltigkeit
- if(pointerp(tmp) && sizeof(tmp) && intp(tmp[0]) && (time()<tmp[0]))
- write("Der Zauber klappt nicht!\n");
- else {
- // der Zauber gilt eine Stunde
- TP->SetProp(P_TMP_DEFEND_HOOK,({time()+3600,TO,"abwehrfun");
- write("Ein Zauber legt sich auf dich.\n");
- }
- ...
+ Mittels dieser Property koennen die Abwehren eines Livings temporaer
+ veraendert werden.
- // die gerufene Methode
- mixed abwehrfun(int dam, string* dam_type, mapping spell, object en) {
- // keine rekursiven Schaeden abfangen ... mindestens ein magischer
- // muss auch dabei sein
- if((!mappingp(spell) || !spell[SP_RECURSIVE]) &&
- sizeof(filter(dam_type,MAGICAL_DAMAGE_TYPES))) {
+ Es wird an dem Living die Property als mindestens 3-elementiges Array
+ ({zeitpunkt, objekt, methode, ...})
+ gesetzt und die Methode 'methode' wird dann waehrend des Defend() des
+ Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
- // mit 10% Whkeit schuetzt der Zauber total
- if(!random(10)) {
- tell_object(previous_object(),
- "Dein Zauber gleisst rund um dich gruen auf.\n");
- tell_room(environment(previous_object()), break_string(
- previous_object()->Name(WESSEN)+" Haut gleisst rund um "+
- previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
- ({previous_object()}));
+ Der Methode werden die Parameter der Defend() uebergeben:
+ int dam, mixed dam_type, mixed spell, object enemy
+ - spell ist definitiv ein Mapping - ein an Defend() uebergebener
+ int-Wert wurde aequivalent umgesetzt.
+ - dam_type ist definitiv ein Array von Schadenswerten oder einem Wert
- // manchmal geht der Zauber dabei endgueltig kaputt
- if(!random(10)) previous_object()->SetProp(P_TMP_DEFEND_HOOK, 0);
+ Zudem findet der Aufruf der Methode nach dem Abarbeiten der P_DEFENDERS
+ statt, diese koennen also weitere Modifikationen vorgenommen haben.
- return 0; // volles Abfangen des Angriffs
- }
+ Gibt die Funktion:
+ - 0 zurueck, wird Defend() abgebrochen (und damit der Schaden voellig
+ abgefangen) - nur noch die Flucht wird geprueft
+ - ein 3-elementiges Array ({schaden, schadenstypen, spell}) zurueck,
+ werden diese Werte in der Defend() an Stelle der uebergebenen Werte
+ verwendet
+ - weder noch zurueck, wird das Ergebnis ignoriert und die Defend laeuft
+ regulaer weiter
- // der Zauber schuetzt auf jeden Fall immer ein bischen
- tell_object(previous_object(),
- "Dein Zauber flackert rund um dich gruen auf.\n");
- tell_room(environment(previous_object()), break_string(
- previous_object()->Name(WESSEN)+" Haut flackert rund um "+
- previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
- ({previous_object()}));
- dam=(7+random(2))*dam/10; // Schaden reduzieren
- return(({dam, dam_type, spell}));
- }
+BEMERKUNGEN
+===========
- // der Zauber schuetzt dann gar nicht ...
- return 1;
+ - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
+ - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+ Property auf 0 gesetzt
+ - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+ pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+ im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+BEISPIEL
+========
+
+ *** ein gruener Schutzzauber ***
+ // Setzen der Prop
+ ...
+ tmp=TP->QueryProp(P_TMP_DEFEND_HOOK);
+
+ // ein etwas ausfuehrlicher Check, ob wir ueberschreiben koennen,
+ // Existenz && Gueltigkeit
+ if(pointerp(tmp) && sizeof(tmp) && intp(tmp[0]) && (time()<tmp[0]))
+ write("Der Zauber klappt nicht!\n");
+ else {
+ // der Zauber gilt eine Stunde
+ TP->SetProp(P_TMP_DEFEND_HOOK,({time()+3600,TO,"abwehrfun");
+ write("Ein Zauber legt sich auf dich.\n");
+ }
+ ...
+
+ // die gerufene Methode
+ mixed abwehrfun(int dam, string* dam_type, mapping spell, object en) {
+ // keine rekursiven Schaeden abfangen ... mindestens ein magischer
+ // muss auch dabei sein
+ if((!mappingp(spell) || !spell[SP_RECURSIVE]) &&
+ sizeof(filter(dam_type,MAGICAL_DAMAGE_TYPES))) {
+
+ // mit 10% Whkeit schuetzt der Zauber total
+ if(!random(10)) {
+ tell_object(previous_object(),
+ "Dein Zauber gleisst rund um dich gruen auf.\n");
+ tell_room(environment(previous_object()), break_string(
+ previous_object()->Name(WESSEN)+" Haut gleisst rund um "+
+ previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
+ ({previous_object()}));
+
+ // manchmal geht der Zauber dabei endgueltig kaputt
+ if(!random(10)) previous_object()->SetProp(P_TMP_DEFEND_HOOK, 0);
+
+ return 0; // volles Abfangen des Angriffs
}
-SIEHE AUCH:
- Angriff: Attack(L)
- Schutz: Defend(L)
- Verwandt: InternalModifyDefend(L), P_TMP_ATTACK_MOD
- Hooks: P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK
- neue Hooks: std/hooks
+ // der Zauber schuetzt auf jeden Fall immer ein bischen
+ tell_object(previous_object(),
+ "Dein Zauber flackert rund um dich gruen auf.\n");
+ tell_room(environment(previous_object()), break_string(
+ previous_object()->Name(WESSEN)+" Haut flackert rund um "+
+ previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
+ ({previous_object()}));
+ dam=(7+random(2))*dam/10; // Schaden reduzieren
+
+ return(({dam, dam_type, spell}));
+ }
+
+ // der Zauber schuetzt dann gar nicht ...
+ return 1;
+ }
+
+
+SIEHE AUCH
+==========
+
+ Angriff: Attack(L)
+ Schutz: Defend(L)
+ Verwandt: InternalModifyDefend(L), P_TMP_ATTACK_MOD
+ Hooks: P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK
+ neue Hooks: std/hooks
08.12.2008, Zesstra
-
diff --git a/doc/props/obsolete/P_TMP_DIE_HOOK b/doc/props/obsolete/P_TMP_DIE_HOOK
index cd18917..f4008cb 100644
--- a/doc/props/obsolete/P_TMP_DIE_HOOK
+++ b/doc/props/obsolete/P_TMP_DIE_HOOK
@@ -1,70 +1,91 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
+
P_TMP_DIE_HOOK
+**************
-NAME:
- P_TMP_DIE_HOOK "die_hook"
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_DIE_HOOK
-DEFINIERT IN:
- /sys/new_skills.h
-BESCHREIBUNG:
- Mittels dieser Property kann der Tod eines Livings abgewendet werden.
+NAME
+====
- Es wird an dem Living die Property als mindestens 3-elementiges Array
- ({zeitpunkt, objekt, methode, ...})
- gesetzt und die Methode 'methode' wird dann waehrend des die() des
- Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
- Bei Geistern wird der Hook nicht gerufen.
+ P_TMP_DIE_HOOK "die_hook"
- Der Methode wird ein int uebergeben, ob das Living Opfer von Gift
- (P_POISON) war.
- Gibt die Funktion einen Wert != 0 zurueck, wird die() sofort abgebrochen
- und das Living stirbt nicht.
+DEFINIERT IN
+============
-BEMERKUNGEN:
- - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
- - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
- Property auf 0 gesetzt
- - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
- pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
- im Code anderer und ist andererseits unfair gegenueber ihnen
+ /sys/new_skills.h
-BEISPIELE:
- *** ein besonderer Giftschutz .. wirkt beim Tod ***
- // pruefen, ob nicht ein anderer Modifier existiert
- if(!pointerp(tmp=TP->QueryProp(P_TMP_DIE_HOOK)) ||
- sizeof(tmp)<3 || tmp[0]<=time()) {
- TP->SetProp(P_TMP_DIE_HOOK,
- ({time()+120+random(10), this_object(), "prevent_die"}));
- // die gerufene Methode
- int prevent_die(int poison) {
- int ret;
+BESCHREIBUNG
+============
- if(poison) {
- tell_object(previous_object(),
- "Ein Zauber reinigt im Moment des Todes dein Blut!\n");
- tell_object(environment(previous_object()),
- previous_object()->Name(WER,1)+" wird von Lichtern umhuellt.\n",
- ({previous_object()}));
+ Mittels dieser Property kann der Tod eines Livings abgewendet werden.
- ret=1;
- }
+ Es wird an dem Living die Property als mindestens 3-elementiges Array
+ ({zeitpunkt, objekt, methode, ...})
+ gesetzt und die Methode 'methode' wird dann waehrend des die() des
+ Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+ Bei Geistern wird der Hook nicht gerufen.
- // wir helfen nur einmal ... und ein Tod vernichtet die Hilfe auch
- previous_object()->SetProp(P_TMP_DIE_HOOK, 0);
+ Der Methode wird ein int uebergeben, ob das Living Opfer von Gift
+ (P_POISON) war.
- return ret;
+ Gibt die Funktion einen Wert != 0 zurueck, wird die() sofort abgebrochen
+ und das Living stirbt nicht.
+
+
+BEMERKUNGEN
+===========
+
+ - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
+ - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+ Property auf 0 gesetzt
+ - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+ pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+ im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+BEISPIELE
+=========
+
+ *** ein besonderer Giftschutz .. wirkt beim Tod ***
+ // pruefen, ob nicht ein anderer Modifier existiert
+ if(!pointerp(tmp=TP->QueryProp(P_TMP_DIE_HOOK)) ||
+ sizeof(tmp)<3 || tmp[0]<=time()) {
+ TP->SetProp(P_TMP_DIE_HOOK,
+ ({time()+120+random(10), this_object(), "prevent_die"}));
+
+ // die gerufene Methode
+ int prevent_die(int poison) {
+ int ret;
+
+ if(poison) {
+ tell_object(previous_object(),
+ "Ein Zauber reinigt im Moment des Todes dein Blut!\n");
+ tell_object(environment(previous_object()),
+ previous_object()->Name(WER,1)+" wird von Lichtern umhuellt.\n",
+ ({previous_object()}));
+
+ ret=1;
}
-SIEHE AUCH:
- Tod: die(L)
- Sonstiges: P_POISON, P_KILLS, P_GHOST
- Hooks: P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK, P_TMP_DEFEND_HOOK
- neue Hooks: std/hooks
+ // wir helfen nur einmal ... und ein Tod vernichtet die Hilfe auch
+ previous_object()->SetProp(P_TMP_DIE_HOOK, 0);
+
+ return ret;
+ }
+
+
+SIEHE AUCH
+==========
+
+ Tod: die(L)
+ Sonstiges: P_POISON, P_KILLS, P_GHOST
+ Hooks: P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK, P_TMP_DEFEND_HOOK
+ neue Hooks: std/hooks
08.12.2008, Zesstra
-
diff --git a/doc/props/obsolete/P_TMP_MOVE_HOOK b/doc/props/obsolete/P_TMP_MOVE_HOOK
index c28a067..8f1aa77 100644
--- a/doc/props/obsolete/P_TMP_MOVE_HOOK
+++ b/doc/props/obsolete/P_TMP_MOVE_HOOK
@@ -1,42 +1,65 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
-NAME:
- P_TMP_MOVE_HOOK "move_hook"
-DEFINIERT IN:
- /sys/new_skills.h
+P_TMP_MOVE_HOOK
+***************
-BESCHREIBUNG:
- Mindestens 3-elementiges Array ({zeitpunkt, objekt, funktion, ...}).
- Die Funktion wird im 'objekt' mit den gleichen Parametern wie move()
- nach der Abfrage auf P_NO_TPORT aufgerufen, wenn der 'zeitpunkt'
- noch nicht ueberschritten ist. Wenn die Funktion etwas anderes als ein
- 5-elementiges Array ({dest, methods, direction, textout, textin})
- oder -1 zurueckgibt, wird move() normal ausgefuehrt, ansonsten werden die
- 5 move-Parameter durch die Array-Eintraege ersetzt bzw. wird bei einem
- Rueckgabewert von -1 das move() abgebrochen. In letzterem Fall ist
- die Funktion dafuer verantwortlich, eine entspr. Meldung an den
- Spieler auszugeben!
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
-HINWEIS:
- Falls man einem Spieler einen Move-Hook setzt, ist es ratsam, im
- Move-Hook zu pruefen, ob das Spielerobjekt nach Abarbeitung der Hook-
- Funktion noch lebt. Ansonsten wird ein doppeltes move() ausgefuehrt:
- in den Todesraum und direkt wieder zurueck zur Leiche.
-BEMERKUNGEN:
- - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
- - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
- Property auf 0 gesetzt
- - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
- pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
- im Code anderer und ist andererseits unfair gegenueber ihnen
+NAME
+====
-SIEHE AUCH:
- Bewegung: move(L), NotifyMove(), PreventMove()
- Hooks: P_TMP_DIE_HOOK, P_TMP_DEFEND_HOOK, P_TMP_ATTACK_HOOK
- neue Hooks: std/hooks
+ P_TMP_MOVE_HOOK "move_hook"
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+ /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+ Mindestens 3-elementiges Array ({zeitpunkt, objekt, funktion, ...}).
+ Die Funktion wird im 'objekt' mit den gleichen Parametern wie move()
+ nach der Abfrage auf P_NO_TPORT aufgerufen, wenn der 'zeitpunkt'
+ noch nicht ueberschritten ist. Wenn die Funktion etwas anderes als ein
+ 5-elementiges Array ({dest, methods, direction, textout, textin})
+ oder -1 zurueckgibt, wird move() normal ausgefuehrt, ansonsten werden die
+ 5 move-Parameter durch die Array-Eintraege ersetzt bzw. wird bei einem
+ Rueckgabewert von -1 das move() abgebrochen. In letzterem Fall ist
+ die Funktion dafuer verantwortlich, eine entspr. Meldung an den
+ Spieler auszugeben!
+
+
+HINWEIS
+=======
+
+ Falls man einem Spieler einen Move-Hook setzt, ist es ratsam, im
+ Move-Hook zu pruefen, ob das Spielerobjekt nach Abarbeitung der Hook-
+ Funktion noch lebt. Ansonsten wird ein doppeltes move() ausgefuehrt:
+ in den Todesraum und direkt wieder zurueck zur Leiche.
+
+
+BEMERKUNGEN
+===========
+
+ - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
+ - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+ Property auf 0 gesetzt
+ - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+ pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+ im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+SIEHE AUCH
+==========
+
+ Bewegung: move(L), NotifyMove(), PreventMove()
+ Hooks: P_TMP_DIE_HOOK, P_TMP_DEFEND_HOOK, P_TMP_ATTACK_HOOK
+ neue Hooks: std/hooks
+
08.12.2008, Zesstra
diff --git a/doc/props/skill_info_liste b/doc/props/skill_info_liste
index 011f616..a8ad089 100644
--- a/doc/props/skill_info_liste
+++ b/doc/props/skill_info_liste
@@ -1,315 +1,355 @@
+
+skill_info_liste
+****************
+
+
SI_*
-DEFINIERT IN:
- /sys/newskills.h
+====
-BESCHREIBUNG:
- Die folgende Liste der SI-Typen ist grob nach Gueltigkeit fuer Skills
- und Spells sortiert.
-
- Anwendungsorte der SI_-Werte sind:
- - /std/living/combat und von dort gerufene Skills (Kampf)
- - /std/gilden_ob und in Gilden lernbare Spells/Skills
- - /std/spellbook und von Spellbooks ausgefuehrte Spells
- - /std/living/life und von dort gerufene Skills (Alkohol)
- - /std/shells/* und entsprechende Rassenskills
- Im Skillsystem unter /std/living/skills wird vor auf Informationen
- aus dem Teil #1 Ruecksicht genommen. Einige dieser Werte
- werden auch permanent im Spieler gespeichert (wie zB die
- SI_SKILLABILITY).
+DEFINIERT IN
+============
+
+ /sys/newskills.h
+
+
+BESCHREIBUNG
+============
+
+ Die folgende Liste der SI-Typen ist grob nach Gueltigkeit fuer Skills
+ und Spells sortiert.
+
+
+
+ Anwendungsorte der SI_-Werte sind:
+ - /std/living/combat und von dort gerufene Skills (Kampf)
+ - /std/gilden_ob und in Gilden lernbare Spells/Skills
+ - /std/spellbook und von Spellbooks ausgefuehrte Spells
+ - /std/living/life und von dort gerufene Skills (Alkohol)
+ - /std/shells/* und entsprechende Rassenskills
+
+ Im Skillsystem unter /std/living/skills wird vor auf Informationen
+ aus dem Teil #1 Ruecksicht genommen. Einige dieser Werte
+ werden auch permanent im Spieler gespeichert (wie zB die
+ SI_SKILLABILITY).
AKTUELLE LISTE: (5. Oktober 2011)
- #1 Skills und Spells:
- SI_SKILLFUNC: string
- Beinhaltet den Namen der Methode, die die eigentliche Funktionalitaet
- des Skills/Spells implementiert.
- Falls nicht angegeben, wird bei Spells durch UseSpell() das Verb, das
- der Spieler eingegeben hat, als Spell-Methodenname angenommen.
- Im Gildenobjekt kann hier abweichend von Spell-Namen stehen, wie die
- Spellfunktion im Spellbook heisst.
+ #1 Skills und Spells:
+ SI_SKILLFUNC: string
+ Beinhaltet den Namen der Methode, die die eigentliche
+ Funktionalitaet des Skills/Spells implementiert. Falls nicht
+ angegeben, wird bei Spells durch UseSpell() das Verb, das der
+ Spieler eingegeben hat, als Spell-Methodenname angenommen. Im
+ Gildenobjekt kann hier abweichend von Spell-Namen stehen, wie
+ die Spellfunktion im Spellbook heisst.
- SI_CLOSURE: closure
- Optimiert den Zugriff fuer den internen Gebrauch, indem die gefundene
- Spell/Skillfunktion darin direkt gespeichert wird und so lange gueltig
- ist, bis das/die Objekt(e)/Closure(s) zerstoert sind.
- Kann theoretisch auch fuer externe Skills durch (Autoload-)Objekte
- benutzt werden.
+ SI_CLOSURE: closure
+ Optimiert den Zugriff fuer den internen Gebrauch, indem die
+ gefundene Spell/Skillfunktion darin direkt gespeichert wird
+ und so lange gueltig ist, bis das/die Objekt(e)/Closure(s)
+ zerstoert sind. Kann theoretisch auch fuer externe Skills
+ durch (Autoload-)Objekte benutzt werden.
- SI_SKILLABILITY: int
- Faehigkeit, den Spell/Skill zu benutzen. Normal ist von
- -MAX_ABILITY bis MAX_ABILITY.
+ SI_SKILLABILITY: int
+ Faehigkeit, den Spell/Skill zu benutzen. Normal ist von
+ -MAX_ABILITY bis MAX_ABILITY.
- SI_SKILLDAMAGE_TYPE: string*
- Art des Schadens eines Angriffs: siehe Schadenstypen in /sys/combat.h
+ SI_SKILLDAMAGE_TYPE: string*
+ Art des Schadens eines Angriffs: siehe Schadenstypen in
+ /sys/combat.h
- SI_SKILLDAMAGE_MSG: string
- Meldung anstatt der Waffe oder Haende-Meldung.
- SI_SKILLDAMAGE_MSG2: string
- Meldung anstatt der Waffe oder Haende-Meldung fuer den Raum.
+ SI_SKILLDAMAGE_MSG: string
+ Meldung anstatt der Waffe oder Haende-Meldung.
- SI_INHERIT: string
- Enthaelt den Namen des Skills/Spells, von dem geerbt wird. Das
- bedeutet einerseits, das LearnSkill() auch diesen uebergeordneten
- Skill beeinflusst und andererseits, dass bei Skills auch dieser
- uebergeordnete Skill im Rahmen einer Skill-Anwendung gerufen wird.
+ SI_SKILLDAMAGE_MSG2: string
+ Meldung anstatt der Waffe oder Haende-Meldung fuer den Raum.
- SI_DIFFICULTY: int / [Spells: mixed]
- Schwierigkeit eines Skills/Spells. Beeinflusst die jeweils oberen
- Schranken fuer das Lernen eines Skills/Spells in Abhaengigkeit
- von Spielerlevel.
- Wenn in einem Spell-Info-Mapping kein Wert steht wird bei Spells
- automatisch SI_SPELLCOST genommen, der Wert im Spell-Info-Mapping
- geht beim Lernen aber immer vor Parametern.
- FACTOR(SI_DIFFICULTY): int / mixed
- OFFSET(SI_DIFFICULTY): int / mixed
- Nur fuer Spellbooks/Spells. Der mixed-Parameter kann Funktionen
- enthalten. Siehe unten bei SI_SPELLCOST.
+ SI_INHERIT: string
+ Enthaelt den Namen des Skills/Spells, von dem geerbt wird.
+ Das bedeutet einerseits, das LearnSkill() auch diesen
+ uebergeordneten Skill beeinflusst und andererseits, dass bei
+ Skills auch dieser uebergeordnete Skill im Rahmen einer
+ Skill-Anwendung gerufen wird.
- SI_LASTLIGHT: int
- Zeitpunkt, bis wann der Standardskills SK_NIGHTVISION den Spieler
- sehen laesst.
+ SI_DIFFICULTY: int / [Spells: mixed]
+ Schwierigkeit eines Skills/Spells. Beeinflusst die jeweils
+ oberen Schranken fuer das Lernen eines Skills/Spells in
+ Abhaengigkeit von Spielerlevel. Wenn in einem Spell-Info-
+ Mapping kein Wert steht wird bei Spells automatisch
+ SI_SPELLCOST genommen, der Wert im Spell-Info-Mapping geht
+ beim Lernen aber immer vor Parametern.
- SI_TESTFLAG: int
- Wenn gesetzt, dann soll der Skill nicht genutzt, sondern nur getestet
- werden, ob er erfolgreich waere. Entspricht also in etwa dem Aufruf
- von SpellSuccess() in Spellbooks, wird aber bei UseSkill() als
- Skill-Parameter uebergeben.
- Der Skill muss entsprechend implementiert sein!
+ FACTOR(SI_DIFFICULTY): int / mixed OFFSET(SI_DIFFICULTY): int /
+ mixed
- SI_GUILD: string
- Angabe der Gilde, aus der der Skill stammt. Sinnvoll, wenn der Skill
- nicht aus der aktuellen P_GUILD stammt. Fuer generelle Skills/Spells
- zB waere das "ANY".
- Gilt nicht fuer Spells!
+ Nur fuer Spellbooks/Spells. Der mixed-Parameter kann
+ Funktionen enthalten. Siehe unten bei SI_SPELLCOST.
- SI_ENEMY: object
- Aktuelles Feindesobjekt, wird bei Skill-Anwendung aus dem Kampf heraus
- von std/living/combat.c an den Skill uebergeben.
- Beispiel: Standardwaffenskills, SK_MAGIC_DEFENSE, SK_MAGIC_ATTACK,
- SK_TWOHANDED, SK_SPELL_DEFEND, SK_INFORM_DEFEND und
- SK_DEFEND_OTHER.
+ SI_LASTLIGHT: int
+ Zeitpunkt, bis wann der Standardskills SK_NIGHTVISION den
+ Spieler sehen laesst.
- SI_FRIEND: object
- Zu verteidigendes Freundesobjekt, wird bei Skill-Anwendung aus dem
- Kampf heraus von std/living/combat.c an den Skill uebergeben.
- Beispiele: SK_INFORM_DEFEND und SK_DEFEND_OTHER.
+ SI_TESTFLAG: int
+ Wenn gesetzt, dann soll der Skill nicht genutzt, sondern nur
+ getestet werden, ob er erfolgreich waere. Entspricht also in
+ etwa dem Aufruf von SpellSuccess() in Spellbooks, wird aber
+ bei UseSkill() als Skill-Parameter uebergeben. Der Skill muss
+ entsprechend implementiert sein!
- SI_MAGIC_TYPE: string*
- Enthaelt ein Array der Magietypen, die zum Einsatz kommen. Die Angabe
- geschieht zB im Spellbook und beeinflusst SpellDefend().
+ SI_GUILD: string
+ Angabe der Gilde, aus der der Skill stammt. Sinnvoll, wenn
+ der Skill nicht aus der aktuellen P_GUILD stammt. Fuer
+ generelle Skills/Spells zB waere das "ANY". Gilt nicht fuer
+ Spells!
- SI_LAST_USE: int (eventuell obsolet)
- Letzte Nutzung des Skills.
-
- SI_LEARN_PROB: int (eventuell obsolet)
- Lernwahrscheinlichkeit.
+ SI_ENEMY: object
+ Aktuelles Feindesobjekt, wird bei Skill-Anwendung aus dem
+ Kampf heraus von std/living/combat.c an den Skill uebergeben.
+ Beispiel: Standardwaffenskills, SK_MAGIC_DEFENSE,
+ SK_MAGIC_ATTACK,
- SI_SKILLDURATION: int
- Dauer des Skills/Spells. Momentan nicht allzu verbreitet in Nutzung.
+ SK_TWOHANDED, SK_SPELL_DEFEND, SK_INFORM_DEFEND und
+ SK_DEFEND_OTHER.
- #2 nur fuer Spells:
- SI_SPELLBOOK: string
- Kann direkt das enthaltende Spellbook fuer einen Spell enthalten.
+ SI_FRIEND: object
+ Zu verteidigendes Freundesobjekt, wird bei Skill-Anwendung
+ aus dem Kampf heraus von std/living/combat.c an den Skill
+ uebergeben. Beispiele: SK_INFORM_DEFEND und SK_DEFEND_OTHER.
- SM_RACE: mapping
- Mapping, das als Key die Rasse und als Value ein Mapping X
- enthaelt. Dieses Mapping X wird direkt zu sinfo hinzugefuegt und
- ueberschreibt damit bei Bedarf Defaultwerte durch rassenspezifische
- Werte.
+ SI_MAGIC_TYPE: string*
+ Enthaelt ein Array der Magietypen, die zum Einsatz kommen.
+ Die Angabe geschieht zB im Spellbook und beeinflusst
+ SpellDefend().
- SI_SPELLCOST: int / mixed
- FACTOR(SI_SPELLCOST): int / mixed
- OFFSET(SI_SPELLCOST): int / mixed
- Beinhaltet die Werte, die fuer die Berechnung der Spellkosten
- zustaendig sind.
- Dabei gilt: Realkosten = OFFSET(COST) + (COST * FACTOR(COST))/100
- Die einzelnen Eintraege koennen anstatt eines fixen Wertes auch den
- Verweis auch eine Funktion in Form von Closure/Methodenname/Array mit
- Objekt/Objektname und Methodenname enthalten. Siehe dazu auch
- execute_anything().
+ SI_LAST_USE: int (eventuell obsolet)
+ Letzte Nutzung des Skills.
- SI_TIME_MSG: string
- Meldung, die dem Spieler mitteilt, dass er noch nicht wieder einen
- Spell casten kann. Falls dieser Eintrag nicht gesetzt ist, wird
- ein Standardtext ausgegeben.
+ SI_LEARN_PROB: int (eventuell obsolet)
+ Lernwahrscheinlichkeit.
- SI_SP_LOW_MSG: string
- Meldung, die dem Spieler mitteilt, dass er zu wenige
- Konzentrationspunkte besitzt, um den Spell zu casten. Falls dieser
- Eintrag nicht gesetzt ist, wird ein Standardtext ausgegeben.
+ SI_SKILLDURATION: int
+ Dauer des Skills/Spells. Momentan nicht allzu verbreitet in
+ Nutzung.
- SI_PREPARE_MSG: string
- Meldung, die dem Spieler ausgegeben werden soll, wenn er einen Spell
- vorbereitet. Ansonsten wird ein Standardtext ausgegeben.
+ #2 nur fuer Spells:
+ SI_SPELLBOOK: string
+ Kann direkt das enthaltende Spellbook fuer einen Spell
+ enthalten.
- SI_PREPARE_BUSY_MSG: string
- Meldung, die dem Spieler ausgegeben werden soll, wenn er schon diesen
- Spell vorbereitet. Ansonsten wird ein Standardtext ausgegeben.
+ SM_RACE: mapping
+ Mapping, das als Key die Rasse und als Value ein Mapping X
+ enthaelt. Dieses Mapping X wird direkt zu sinfo hinzugefuegt
+ und ueberschreibt damit bei Bedarf Defaultwerte durch
+ rassenspezifische Werte.
- SI_PREPARE_ABORT_MSG: string
- Meldung, die dem Spieler ausgegeben werden soll, wenn er die
- Vorbereitung dieses Spells durch einen anderen Spell unterbricht.
- Ansonsten wird ein Standardtext ausgegeben.
+ SI_SPELLCOST: int / mixed FACTOR(SI_SPELLCOST): int / mixed
+ OFFSET(SI_SPELLCOST): int / mixed
- SI_NOMAGIC: int
- Wert zwischen 0 und 100 (oder mehr), der gegen die P_NOMAGIC-Wirkung
- eines Raumes wirkt.
- Je hoeher der Wert ist, desto unwahrscheinlicher ist es, dass ein
- Raum den Spell durch Antimagie stoert. Ein Raum sollte nur Werte
- zwischen 0 und 100 gesetzt haben. Ist der Wert des Raums groesser
- als der hier angegeben, dann blockiert er Magie mit einer gewissen
- eben seiner angegebenen Wahrscheinlichkeit.
+ Beinhaltet die Werte, die fuer die Berechnung der Spellkosten
+ zustaendig sind. Dabei gilt: Realkosten = OFFSET(COST) +
+ (COST * FACTOR(COST))/100 Die einzelnen Eintraege koennen
+ anstatt eines fixen Wertes auch den Verweis auch eine
+ Funktion in Form von Closure/Methodenname/Array mit
+ Objekt/Objektname und Methodenname enthalten. Siehe dazu auch
+ execute_anything().
- SI_NOMAGIC_MSG: string
- Meldung, die bei Fehlschlag durch P_NOMAGIC des Raumes ausgegeben
- wird. Ansonsten wird ein Standardtext ausgegeben.
-
- SI_SPELLFATIGUE: int / mixed
- FACTOR(SI_SPELLFATIGUE): int / mixed
- OFFSET(SI_SPELLFATIGUE): int / mixed
- Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt werden.
- Die Berechnung und die moeglichen Angaben (Closure etc.) sind
- identisch zu SI_SPELLCOST.
- Das Spellbook gibt bei Nicht-Wieder-Bereitschaft SI_TIME_MSG aus.
+ SI_TIME_MSG: string
+ Meldung, die dem Spieler mitteilt, dass er noch nicht wieder
+ einen Spell casten kann. Falls dieser Eintrag nicht gesetzt
+ ist, wird ein Standardtext ausgegeben.
- SI_X_SPELLFATIGUE: mapping mit ([string key: int val])
- Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt werden.
- Spellbook-Casten: Mapping wird durch Aufruf von CheckSpellFatigue(<key>)
- am Caster gefiltert. Nur wenn das resultierende Mapping leer ist (kein
- <key> hat einen gueltigen Fatigue-Eintrag), ist Spell castbar, sonst
- Ausgabe von SI_TIME_MSG.
- Nach Spellbook-Casten: Setzen der Fatigue fuer alle <val> > 0 mit <key>.
+ SI_SP_LOW_MSG: string
+ Meldung, die dem Spieler mitteilt, dass er zu wenige
+ Konzentrationspunkte besitzt, um den Spell zu casten. Falls
+ dieser Eintrag nicht gesetzt ist, wird ein Standardtext
+ ausgegeben.
- SI_SKILLLEARN: int / mixed
- FACTOR(SI_SKILLLEARN): int / mixed
- OFFSET(SI_SKILLLEARN): int / mixed
- Werte, die fuer die Berechnung der Lerngeschwindigkeit benutzt
- werden, normalerweise pro A_INT/2 je 0.01% (also 1 von MAX_ABILITY).
- Die Berechnung und die moeglichen Angaben (Closure etc.) sind
- identisch zu SI_SPELLCOST.
+ SI_PREPARE_MSG: string
+ Meldung, die dem Spieler ausgegeben werden soll, wenn er
+ einen Spell vorbereitet. Ansonsten wird ein Standardtext
+ ausgegeben.
- SI_LEARN_ATTRIBUTE: mapping
- Mapping, welches die Attribute, nach denen gelernt werden soll
- als Keys enthaelt. Der Value legt die Gewichtung fest, denn bei
- mehreren Attributen wird ein Mittelwert gebildet.
- Der Normalfall entspraeche ([A_INT: 1]) fuer SI_LEARN_ATTRIBUTE.
+ SI_PREPARE_BUSY_MSG: string
+ Meldung, die dem Spieler ausgegeben werden soll, wenn er
+ schon diesen Spell vorbereitet. Ansonsten wird ein
+ Standardtext ausgegeben.
- SI_NO_LEARN
- Wenn man (temporaer!) nicht will, dass dieser Skill gelernt wird.
- Muss von den Spellbooks beachtet werden.
- Sollte niemals im Spieler abgespeichert werden. Oder permanent in
- Gilde/Spellbook gesetzt sein. Sondern im Laufe einesr Nutzung in der
- jew. Kopie von sinfo gesetzt werden, die gerade genutzt wird.
-
- SI_SKILLARG: string
- Beinhaltet den Text, den der Spieler nach dem Spellkommando eingegeben
- hat. Z.B. stuende bei "krallenschlag ork 2" der Text "ork 2" im
- Parameter.
+ SI_PREPARE_ABORT_MSG: string
+ Meldung, die dem Spieler ausgegeben werden soll, wenn er die
+ Vorbereitung dieses Spells durch einen anderen Spell
+ unterbricht. Ansonsten wird ein Standardtext ausgegeben.
- SI_SKILLRESTR_USE: mixed
- Einschraenkungen fuer das Nutzen des Spells.
- Wird normalerweise direkt im Spellbook fuer den Spell eingetragen.
- Die einzelnen Moeglichkeiten werden in der manpage zu
- "check_restrictions" erlaeutert.
-
- SI_SKILLRESTR_LEARN: mixed
- Einschraenkungen fuer das Lernen des Spells.
- Wird normalerweise direkt im Gildenobjekt fuer den Spell
- eingetragen.
- Die einzelnen Moeglichkeiten werden in der manpage zu
- "check_restrictions" erlaeutert.
+ SI_NOMAGIC: int
+ Wert zwischen 0 und 100 (oder mehr), der gegen die P_NOMAGIC-
+ Wirkung eines Raumes wirkt. Je hoeher der Wert ist, desto
+ unwahrscheinlicher ist es, dass ein Raum den Spell durch
+ Antimagie stoert. Ein Raum sollte nur Werte zwischen 0 und
+ 100 gesetzt haben. Ist der Wert des Raums groesser als der
+ hier angegeben, dann blockiert er Magie mit einer gewissen
+ eben seiner angegebenen Wahrscheinlichkeit.
- SI_SKILLINFO: string
- SI_SKILLINFO_LONG: string
- Beschreibung des Spells. Wird im Gildenobjekt eingetragen und
- SI_SKILLINFO wird von SkillListe angezeigt.
+ SI_NOMAGIC_MSG: string
+ Meldung, die bei Fehlschlag durch P_NOMAGIC des Raumes
+ ausgegeben wird. Ansonsten wird ein Standardtext ausgegeben.
- SI_SKILLDAMAGE: int / mixed
- FACTOR(SI_SKILLDAMAGE): int / mixed
- OFFSET(SI_SKILLDAMAGE): int / mixed
- Werte, die fuer die Schadenshoehenberechnung des Spells benutzt
- werden (random ueber den Gesamtwert normalerweise).
- Die Berechnung und die moeglichen Angaben (Closure etc.) sind
- identisch zu SI_SPELLCOST.
+ SI_SPELLFATIGUE: int / mixed FACTOR(SI_SPELLFATIGUE): int /
+ mixed OFFSET(SI_SPELLFATIGUE): int / mixed
- SI_SKILLDAMAGE_BY_ROW
- Ein Mapping mit Boni fuer den Angriff aus bestimmten Kampfreihen.
- Funktioniert nur bei Verwendung von TryDefaultAttackSpell-Spells
- aus dem Spellbook.
- Der Key steht fuer eine bestimmte Reihe, sein Wert fuer den
- randomisierten Bonus fuer Lebewesen, die aus dieser Reihe casten.
- OFFSET(SI_SKILLDAMAGE_BY_ROW)
- Ein Mapping mit fixem Wert fuer Row-Boni im Kampf.
+ Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt
+ werden. Die Berechnung und die moeglichen Angaben (Closure
+ etc.) sind identisch zu SI_SPELLCOST. Das Spellbook gibt bei
+ Nicht-Wieder-Bereitschaft SI_TIME_MSG aus.
- Beispiel: AddSpell("feuerball", 20,
- ([SI_SKILLDAMAGE:50,
- OFFSET(SI_SKILLDAMAGE):100,
- SI_SKILLDAMAGE_BY_ROW:([2:40,3:20}),
- OFFSET(SI_SKILLDAMAGE_BY_ROW):([2:20]), ...
- gibt
- Reihe 1: random(50)+100;
- Reihe 2: random(50)+100+random(40)+20
- Reihe 3: random(50)+100+random(20)
- ACHTUNG: Hier gilt nicht die selbe Struktur wie bei SI_SPELLCOST!
+ SI_X_SPELLFATIGUE: mapping mit ([string key: int val])
+ Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt
+ werden. Spellbook-Casten: Mapping wird durch Aufruf von
+ CheckSpellFatigue(<key>) am Caster gefiltert. Nur wenn das
+ resultierende Mapping leer ist (kein <key> hat einen
+ gueltigen Fatigue-Eintrag), ist Spell castbar, sonst Ausgabe
+ von SI_TIME_MSG. Nach Spellbook-Casten: Setzen der Fatigue
+ fuer alle <val> > 0 mit <key>.
- SI_SPELL: mapping
- Dieser Eintrag enthaelt verschiedene Unterwerte, die den Spell
- gerade fuer Angriffs-Spells genauer beschreiben. Siehe Defend()
- fuer eine Beschreibung der verschiedenen Eintraege (die so auch
- in das Spellbook uebernommen werden koennen).
+ SI_SKILLLEARN: int / mixed FACTOR(SI_SKILLLEARN): int / mixed
+ OFFSET(SI_SKILLLEARN): int / mixed
- SI_COLLATERAL_DAMAGE: int
- Hiermit kann man einen Prozentwert von SI_SKILLDAMAGE (inklusive
- Offsets und Factor) fuer Kollateralschaden an Freunden im definierten
- Bereich eines Flaechenspells (TryGlobalAttackSpell()) angeben.
- 10 bedeutet bei OFFSET(SI_SKILLDAMAGE)=100 zB 10% von 100 = 10 = 1 LP
- an mit reduce_hit_points() verursachtem Schaden.
-
- SI_NUMBER_ENEMIES, SI_NUMBER_FRIENDS: int
- Wird von TryGlobalAttackSpell() im Spell gesetzt und enthaelt die
- Anzahl der im angegebenen Bereich befindlichen Feinde und Freunde.
- Ist dementsprechend von informativem Nutzen fuer den Angegriffenen
- und das Spellbook NACH Aufruf von TryGlobalAttackSpell().
-
- SI_DISTANCE, SI_WIDTH, SI_DEPTH: int
- Limitiert die Entfernung, Tiefen und Breite der Wirkung eines
- TryGlobalAttackSpell()
+ Werte, die fuer die Berechnung der Lerngeschwindigkeit
+ benutzt werden, normalerweise pro A_INT/2 je 0.01% (also 1
+ von MAX_ABILITY). Die Berechnung und die moeglichen Angaben
+ (Closure etc.) sind identisch zu SI_SPELLCOST.
- SI_SKILLHEAL: int
- Konvention fuer Spells im Spellbook, dort den Heilwert zu hinterlegen,
- hat keine Auswirkungen unter /std/.
+ SI_LEARN_ATTRIBUTE: mapping
+ Mapping, welches die Attribute, nach denen gelernt werden
+ soll als Keys enthaelt. Der Value legt die Gewichtung fest,
+ denn bei mehreren Attributen wird ein Mittelwert gebildet.
+ Der Normalfall entspraeche ([A_INT: 1]) fuer
+ SI_LEARN_ATTRIBUTE.
- SI_USR: mixed
- Fuer selbst definierte Infos, spellbookabhaengig.
+ SI_NO_LEARN
+ Wenn man (temporaer!) nicht will, dass dieser Skill gelernt
+ wird. Muss von den Spellbooks beachtet werden. Sollte niemals
+ im Spieler abgespeichert werden. Oder permanent in
+ Gilde/Spellbook gesetzt sein. Sondern im Laufe einesr Nutzung
+ in der jew. Kopie von sinfo gesetzt werden, die gerade
+ genutzt wird.
- SI_PREPARE_TIME: int
- Dauer der Zeit fuer zu praeparierende Spells.
+ SI_SKILLARG: string Beinhaltet den Text, den der Spieler nach
+ dem Spellkommando eingegeben hat. Z.B. stuende bei
+ "krallenschlag ork 2" der Text "ork 2" im Parameter.
- SI_ATTACK_BUSY_MSG: string
- Meldung, die dem Spieler mitteilt, dass er schon zu beschaeftigt
- mit einem Angriff ist, um einen Spell zu casten. Falls dieser
- Eintrag nicht gesetzt ist, wird ein Standardtext ausgegeben.
+ SI_SKILLRESTR_USE: mixed
+ Einschraenkungen fuer das Nutzen des Spells. Wird
+ normalerweise direkt im Spellbook fuer den Spell eingetragen.
+ Die einzelnen Moeglichkeiten werden in der manpage zu
+ "check_restrictions" erlaeutert.
- SI_NO_ATTACK_BUSY: int
- Enthaelt als Flag NO_ATTACK_BUSY_QUERY wenn der Spell NICHT wie
- eine Spezialwaffe die Aktionen einschraenkt. Siehe P_ATTACK_BUSY.
+ SI_SKILLRESTR_LEARN: mixed
+ Einschraenkungen fuer das Lernen des Spells. Wird
+ normalerweise direkt im Gildenobjekt fuer den Spell
+ eingetragen. Die einzelnen Moeglichkeiten werden in der
+ manpage zu "check_restrictions" erlaeutert.
- SI_ATTACK_BUSY_AMOUNT: int
- Menge des P_ATTACK_BUSY fuer diesen Spell. Falls dieser Wert nicht
- gesetzt ist, aber auch SI_NO_ATTACK_BUSY nicht mit
- NO_ATTACK_BUSY_QUERY ausgezeichnet ist wird 1 angenommen.
+ SI_SKILLINFO: string SI_SKILLINFO_LONG: string
-SIEHE AUCH:
- Skills Lernen: LearnSkill, ModifySkill, LimitAbility
- * Nutzung: UseSpell, UseSkill
- * Abfragen: QuerySkill, QuerySkillAbility
- * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
- QuerySkillAttributeModifier, RemoveSkillAttributeModifier
- * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
- * sonstig: spruchermuedung
- * Properties: P_NEWSKILLS
- Spellbook: UseSpell, Learn, SpellSuccess
- Gilden: gilden-doku
- Kampf: Defend
+ Beschreibung des Spells. Wird im Gildenobjekt eingetragen und
+ SI_SKILLINFO wird von SkillListe angezeigt.
+
+ SI_SKILLDAMAGE: int / mixed FACTOR(SI_SKILLDAMAGE): int / mixed
+ OFFSET(SI_SKILLDAMAGE): int / mixed
+
+ Werte, die fuer die Schadenshoehenberechnung des Spells
+ benutzt werden (random ueber den Gesamtwert normalerweise).
+ Die Berechnung und die moeglichen Angaben (Closure etc.) sind
+ identisch zu SI_SPELLCOST.
+
+ SI_SKILLDAMAGE_BY_ROW
+ Ein Mapping mit Boni fuer den Angriff aus bestimmten
+ Kampfreihen. Funktioniert nur bei Verwendung von
+ TryDefaultAttackSpell-Spells aus dem Spellbook. Der Key steht
+ fuer eine bestimmte Reihe, sein Wert fuer den randomisierten
+ Bonus fuer Lebewesen, die aus dieser Reihe casten.
+
+ OFFSET(SI_SKILLDAMAGE_BY_ROW)
+ Ein Mapping mit fixem Wert fuer Row-Boni im Kampf.
+
+ Beispiel: AddSpell("feuerball", 20,
+ ([SI_SKILLDAMAGE:50,
+ OFFSET(SI_SKILLDAMAGE):100,
+ SI_SKILLDAMAGE_BY_ROW:([2:40,3:20}),
+ OFFSET(SI_SKILLDAMAGE_BY_ROW):([2:20]), ...
+
+ gibt
+ Reihe 1: random(50)+100; Reihe 2:
+ random(50)+100+random(40)+20 Reihe 3:
+ random(50)+100+random(20)
+
+ ACHTUNG: Hier gilt nicht die selbe Struktur wie bei
+ SI_SPELLCOST!
+
+ SI_SPELL: mapping
+ Dieser Eintrag enthaelt verschiedene Unterwerte, die den
+ Spell gerade fuer Angriffs-Spells genauer beschreiben. Siehe
+ Defend() fuer eine Beschreibung der verschiedenen Eintraege
+ (die so auch in das Spellbook uebernommen werden koennen).
+
+ SI_COLLATERAL_DAMAGE: int
+ Hiermit kann man einen Prozentwert von SI_SKILLDAMAGE
+ (inklusive Offsets und Factor) fuer Kollateralschaden an
+ Freunden im definierten Bereich eines Flaechenspells
+ (TryGlobalAttackSpell()) angeben. 10 bedeutet bei
+ OFFSET(SI_SKILLDAMAGE)=100 zB 10% von 100 = 10 = 1 LP an mit
+ reduce_hit_points() verursachtem Schaden.
+
+ SI_NUMBER_ENEMIES, SI_NUMBER_FRIENDS: int
+ Wird von TryGlobalAttackSpell() im Spell gesetzt und enthaelt
+ die Anzahl der im angegebenen Bereich befindlichen Feinde und
+ Freunde. Ist dementsprechend von informativem Nutzen fuer den
+ Angegriffenen und das Spellbook NACH Aufruf von
+ TryGlobalAttackSpell().
+
+ SI_DISTANCE, SI_WIDTH, SI_DEPTH: int
+ Limitiert die Entfernung, Tiefen und Breite der Wirkung eines
+ TryGlobalAttackSpell()
+
+ SI_SKILLHEAL: int
+ Konvention fuer Spells im Spellbook, dort den Heilwert zu
+ hinterlegen, hat keine Auswirkungen unter /std/.
+
+ SI_USR: mixed
+ Fuer selbst definierte Infos, spellbookabhaengig.
+
+ SI_PREPARE_TIME: int
+ Dauer der Zeit fuer zu praeparierende Spells.
+
+ SI_ATTACK_BUSY_MSG: string
+ Meldung, die dem Spieler mitteilt, dass er schon zu
+ beschaeftigt mit einem Angriff ist, um einen Spell zu casten.
+ Falls dieser Eintrag nicht gesetzt ist, wird ein
+ Standardtext ausgegeben.
+
+ SI_NO_ATTACK_BUSY: int
+ Enthaelt als Flag NO_ATTACK_BUSY_QUERY wenn der Spell NICHT
+ wie eine Spezialwaffe die Aktionen einschraenkt. Siehe
+ P_ATTACK_BUSY.
+
+ SI_ATTACK_BUSY_AMOUNT: int
+ Menge des P_ATTACK_BUSY fuer diesen Spell. Falls dieser Wert
+ nicht gesetzt ist, aber auch SI_NO_ATTACK_BUSY nicht mit
+ NO_ATTACK_BUSY_QUERY ausgezeichnet ist wird 1 angenommen.
+
+
+SIEHE AUCH
+==========
+
+ Skills Lernen: LearnSkill, ModifySkill, LimitAbility
+ * Nutzung: UseSpell, UseSkill
+ * Abfragen: QuerySkill, QuerySkillAbility
+ * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
+ QuerySkillAttributeModifier, RemoveSkillAttributeModifier
+ * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
+ * sonstig: spruchermuedung
+ * Properties: P_NEWSKILLS
+ Spellbook: UseSpell, Learn, SpellSuccess
+ Gilden: gilden-doku
+ Kampf: Defend
7. Nov 2012 Gloinson