From 1f3889777feac3641987222ddf96e79be86be470 Mon Sep 17 00:00:00 2001
From: Arkerthan <arkerthan@gmail.com>
Date: Mon, 29 Jul 2019 20:49:59 +0200
Subject: [PATCH] add limb access function documentation

---
 devNotes/limb functions.md | 89 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)
 create mode 100644 devNotes/limb functions.md

diff --git a/devNotes/limb functions.md b/devNotes/limb functions.md
new file mode 100644
index 00000000000..fcfe49a8c72
--- /dev/null
+++ b/devNotes/limb functions.md	
@@ -0,0 +1,89 @@
+## Basic documentation for the limb access functions coming with the new limb system.
+
+### ID system
+
+The new system uses new IDs instead of the old ones.
+```
+limb       new  old
+no limb:    0    1
+natural:    1    0
+basic:      2   -1
+sex:        3   -2
+beauty:     4   -3
+combat:     5   -4
+cybernetic: 6   -5
+```
+
+
+### Usage example:
+
+```
+<<if isAmputee($activeSlave)>>
+	Slave is full amputee.
+<</if>>
+```
+
+Most functions can be used like this, though some are more specialized.
+
+
+### Functions:
+
+`isAmputee(slave)`:
+	True if slave has no limbs, neither natural nor prosthetic.
+
+`hasAnyNaturalLimbs(slave)`:
+	True if slave has at least one natural limb.
+
+`hasAnyProstheticLimbs(slave)`:
+	True if slave has at least one prosthetic limb.
+
+`hasAnyLegs(slave)`:
+	True if slave has at least one leg.
+
+`hasAnyArms(slave)`:
+	True if slave has at least one arm.
+
+`hasAnyNaturalLegs(slave)`:
+	True if slave has at least one leg and all are natural.
+
+`hasBothLegs(slave)`:
+	True if slave has both legs.
+
+`hasBothArms(slave)`:
+	True if slave has both arms.
+
+`hasBothNaturalLegs(slave)`:
+	True if slave has both legs and they are natural.
+
+`hasBothNaturalArms(slave)`:
+	True if slave has both arms and they are natural.
+
+`hasLegAndArm(slave)`:
+	True if slave has at least one leg and at least one arm.
+
+`hasAllLimbs(slave)`:
+	True if slave has all limbs.
+
+`hasAllNaturalLimbs(slave)`:
+	True if slave has all limbs and all are natural.
+
+`idToDescription(id)`:
+	Returns a very short description of the specified limb ID.  
+    0: "amputated";  
+    1: "healthy";  
+    2: "modern prosthetic";  
+    3: "advanced, sex-focused prosthetic";  
+    4: "advanced, beauty-focused prosthetic";  
+    5: "advanced, combat-focused prosthetic";  
+    6: "highly advanced cybernetic";
+
+`getLimbCount(slave, id)`:
+	Returns count of specified limb ID.
+
+`hasLimb(slave, limb)`:
+	True if slave has specified limb.
+	Allowed values for limb: "left arm", "right arm", "left leg", "right leg".
+
+`getLimbID(slave, limb)`:
+	Returns limb ID of the specified limb.
+	Allowed values for limb: "left arm", "right arm", "left leg", "right leg".
-- 
GitLab