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