AddToProp / SubFromProp eingefuehrt

Short-cuts fuer QueryProp() und += bzw. -= gefolgt von einem
SetProp().
Erlaubte Typen sind nur solche, mit denen += und -= was anfangen
koennen und welche zum aktuellen Wert der Property passen.

Change-Id: I699c9c605026e8058e72faad57c6e1a917ab8cb4
diff --git a/doc/sphinx/lfun/SubFromProp.rst b/doc/sphinx/lfun/SubFromProp.rst
new file mode 100644
index 0000000..e70fa47
--- /dev/null
+++ b/doc/sphinx/lfun/SubFromProp.rst
@@ -0,0 +1,50 @@
+SubFromProp()
+=========
+
+FUNKTION
+--------
+
+public varargs int SubFromProp(string propname, <int|float|string|mixed*|mapping|bytes> subtrahend)
+
+DEFINIERT IN
+------------
+
+     /std/thing/properties.c
+     /sys/thing/properties.h (Prototyp)
+
+ARGUMENTE
+---------
+
+  - propname: Die Property, die veraendert wird
+  - subtrahend: Was auf den aktuellen Wert "substrahiert" werden soll
+
+BESCHREIBUNG
+------------
+
+  Die Funktion ruft den aktuellen Wert der Property mittels QueryProp() ab, "subtrahiert" <subtrahend> davon und setzt den neuen Wert mit SetProp() wieder. Damit ist sie einfach eine Abkuerzung fuer SetProp(pname, QueryProp(pname) - subtrahend).
+
+  Erlaubte Typen fuer <subtrahend> sind nur solche, mit denen +- etwas anfangen kann und welche zum aktuellen Wert der Property passen. Alles andere loest ggf. einen (Laufzeit-)Fehler auf.
+
+RUeCKGABEWERT
+-------------
+
+     Der Wert der Property nach der Aenderung.
+
+BEISPIELE
+---------
+
+     // einen Int subtrahieren
+     SubFromProp(P_WC, 42);
+     // alle entsprechenden Elemente aus einem Array in der Property loeschen
+     // Achtung: erzeugt ein neues Array!
+     SubFromProp(P_WAITFOR, ({"zesstra"}));
+     // Ein Mappingkey aus einem Mapping in einer Property loeschen
+     SubFromProp(P_M_HEALTH_MOD, ([P_HP]))
+
+SIEHE AUCH
+----------
+
+     :doc:`QueryProp`, :doc:`AddProp`
+     Konzept: properties, /std/thing/properties.c
+
+19.06.2025, Zesstra