Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/props/P_LIGHT_MODIFIER b/doc/props/P_LIGHT_MODIFIER
new file mode 100644
index 0000000..2409c79
--- /dev/null
+++ b/doc/props/P_LIGHT_MODIFIER
@@ -0,0 +1,49 @@
+NAME:
+ P_LIGHT_MODIFIER "light_modifier"
+
+DEFINIERT IN:
+ /sys/properties.h
+
+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()