diff --git a/Memory.xml b/Memory.xml
index b12039c14..6b9570cb6 100644
--- a/Memory.xml
+++ b/Memory.xml
@@ -1081,6 +1081,8 @@
+
+
@@ -2321,6 +2323,10 @@
+
+
+
+
@@ -3195,6 +3201,10 @@
+
+
+
+
diff --git a/library/xml/df.history.xml b/library/xml/df.history.xml
index 700329ea8..da666e933 100644
--- a/library/xml/df.history.xml
+++ b/library/xml/df.history.xml
@@ -1,4 +1,113 @@
+
+ -- Important
+
+
+
+
+
+ -- Misc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (let* ((info $$._parent._parent._parent)
+ (figure $info._parent._parent)
+ (caste (find-instance $caste_raw $figure.caste $figure.race)))
+ $caste.body_parts[$])
+
+
+
+
+
@@ -37,9 +146,20 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -110,14 +114,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
@@ -131,7 +154,7 @@
-
+
@@ -139,33 +162,49 @@
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
@@ -173,7 +212,7 @@
-
+
@@ -190,13 +229,17 @@
+
+
+
+
-
+
@@ -208,27 +251,35 @@
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -253,11 +304,23 @@
+
+
+
+
-
+
+
+
+
+
+
+
+
+
@@ -268,12 +331,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -286,7 +357,7 @@
-
+
diff --git a/library/xml/df.items.xml b/library/xml/df.items.xml
index c1b989b23..d4c5732b3 100644
--- a/library/xml/df.items.xml
+++ b/library/xml/df.items.xml
@@ -106,42 +106,357 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 30
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 50
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 70
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 90
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 110
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 120
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 130
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 140
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 150
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 160
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 170
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 180
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 190
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 200
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 210
+
+
+
+
+
+
+
+
+
+
+
-- ACTUAL ITEM
- -- Important
-
-
-
-
-
- -- Misc
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-- Wielders
@@ -151,6 +466,12 @@
+
+
+
+
+
+
@@ -160,11 +481,7 @@
-
-
-
-
-
+
@@ -511,20 +828,20 @@
-
-
-
+
-
-
+
+
+
+
+
+
-
-
-
+
diff --git a/library/xml/df.job-enums.xml b/library/xml/df.job-enums.xml
index 6a84ec8f5..608693cb6 100644
--- a/library/xml/df.job-enums.xml
+++ b/library/xml/df.job-enums.xml
@@ -4,9 +4,12 @@
+
+
+
-- 0
@@ -17,60 +20,75 @@
+
+
+
+
+
+
-- 10
+
+
+
+
+
+
+
+
+
-- 20
@@ -80,135 +98,170 @@
+
+
+
+
+
+
+
+
-- 30
+
+
+
+
+
+
+
+
-- 40
+
+
+
+
+
+
+
+
+
+
-- 50
+
+
+
+
+
+
+
+
-- 60
+
@@ -218,15 +271,19 @@
+
+
+
+
@@ -236,8 +293,9 @@
-
+
+
-- 70
@@ -247,40 +305,45 @@
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-- 80
@@ -290,32 +353,36 @@
-
+
+
-
+
+
-
+
+
-
+
-
+
+
@@ -324,6 +391,7 @@
+
-- 90
@@ -333,55 +401,66 @@
-
+
-
+
+
-
+
+
+
+
+
-- 100
+
+
+
+
-
+
+
+
@@ -390,637 +469,964 @@
+
+
-- 0
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 10
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 20
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 30
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 40
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 50
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-- 60
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 70
-
+
-
+
-
+
----- SKILL -----
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-- 0
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-- 10
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-- 20
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-- 30
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-- 40
-
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-- 50
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
-
+
+
+
+
-
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-- 60
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-- 70
-
+
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-- 80
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-- 90
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-- 100
-
+
+
+
-
+
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
-
-
+
+
+
-
+
+
+
+
-- 110
-
-
+
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
diff --git a/library/xml/df.jobs.xml b/library/xml/df.jobs.xml
index 8c6c6d849..3c2150736 100644
--- a/library/xml/df.jobs.xml
+++ b/library/xml/df.jobs.xml
@@ -16,6 +16,7 @@
+
diff --git a/library/xml/df.language.xml b/library/xml/df.language.xml
index 961057f2d..9a0c7d7f2 100644
--- a/library/xml/df.language.xml
+++ b/library/xml/df.language.xml
@@ -87,13 +87,30 @@
(when $.has_name
(let* ((nick $.nickname)
(language $global.world.raws.translations[$.language])
+ (english $global.world.raws.language_words)
(fname $.first_name)
(lwords $language.words))
- (fmt "~:(~@[~A ~]~@['~A' ~]~{~A~^ ~}~)"
- (if (> (length fname) 0) fname)
- (if (> (length nick) 0) nick)
- (loop for i from 0 below 7 for word = $.words[i]
- when (>= word 0) collect $lwords[word].value))))
+ (flet ((get-words (start end)
+ (loop for i from start to end
+ for word = $.words[i]
+ collect $lwords[word].value))
+ (get-english (start end)
+ (loop for i from start to end
+ for word = $.words[i] and ps = $.parts_of_speech[i]
+ collect $english[word].forms[ps])))
+ (list
+ (fmt "Name:~:(~@[ ~A~]~@[ '~A'~]~@[ ~{~A~}~]~@[ ~{~A~}~]~@[ ~{~A~}~]~)"
+ (if (> (length fname) 0) fname)
+ (if (> (length nick) 0) nick)
+ (flatten (get-words 0 1))
+ (flatten (get-words 2 5))
+ (flatten (get-words 6 6)))
+ (fmt "aka~:(~@[ ~A~]~@[ ~{~A~}~]~@[ the ~A~]~@[ of ~{~A~}~]~)"
+ (if (> (length fname) 0) fname)
+ (flatten (get-english 0 1))
+ (when (>= $.words[5] 0)
+ (apply #'format nil "~@[~A ~]~@[~A ~]~@[~A-~]~A" (get-english 2 5)))
+ (flatten (get-english 6 6)))))))
diff --git a/library/xml/df.legends.xml b/library/xml/df.legends.xml
index a9d2e4a65..baa0da159 100644
--- a/library/xml/df.legends.xml
+++ b/library/xml/df.legends.xml
@@ -223,6 +223,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -236,17 +248,7 @@
-
-
-
-
-
-
-
-
-
-
-
+
@@ -279,7 +281,8 @@
-
+
@@ -287,8 +290,9 @@
-
-
+
+
+
diff --git a/library/xml/df.materials.xml b/library/xml/df.materials.xml
index ea464879a..c69b876a1 100644
--- a/library/xml/df.materials.xml
+++ b/library/xml/df.materials.xml
@@ -1,4 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -53,7 +133,7 @@
-
+
@@ -100,15 +180,13 @@
-
-
-
+
(material-by-id $ $$)
(describe-material $)
-
+
diff --git a/library/xml/df.military.xml b/library/xml/df.military.xml
index d44af3d30..e22fd1fa5 100644
--- a/library/xml/df.military.xml
+++ b/library/xml/df.military.xml
@@ -1,14 +1,64 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
@@ -16,17 +66,11 @@
-
+
-
-
-
-
-
-
-
+
@@ -115,7 +159,8 @@
-
+
+
(describe-obj $.name)
@@ -172,8 +217,12 @@
-
-
+
+
+
+
+
+
@@ -214,10 +263,10 @@
-
+
-
+
diff --git a/library/xml/df.ui.xml b/library/xml/df.ui.xml
index 457617a00..826a507c3 100644
--- a/library/xml/df.ui.xml
+++ b/library/xml/df.ui.xml
@@ -417,12 +417,16 @@
+
-
-
-
+
+
+
+
+
+
diff --git a/library/xml/df.units.xml b/library/xml/df.units.xml
index fdad8cd56..51282dfde 100644
--- a/library/xml/df.units.xml
+++ b/library/xml/df.units.xml
@@ -171,7 +171,7 @@
-
+
@@ -207,28 +207,23 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
+
+
-
+
-
+
@@ -596,7 +591,7 @@
-
+
@@ -674,7 +669,7 @@
-
+
diff --git a/library/xml/df.viewscreen.xml b/library/xml/df.viewscreen.xml
index 3874c445a..cb76db09b 100644
--- a/library/xml/df.viewscreen.xml
+++ b/library/xml/df.viewscreen.xml
@@ -11,6 +11,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/library/xml/df.world-data.xml b/library/xml/df.world-data.xml
index 2f0faa3a2..a914f01e6 100644
--- a/library/xml/df.world-data.xml
+++ b/library/xml/df.world-data.xml
@@ -127,6 +127,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -179,10 +208,10 @@
-
-
-
-
+
+
+
+
@@ -276,21 +305,18 @@
-
+
-
+
-
-
-
-
-
+
+
@@ -320,32 +346,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -361,8 +444,27 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/library/xml/df.world.xml b/library/xml/df.world.xml
index 3058b0a64..79f01fc8b 100644
--- a/library/xml/df.world.xml
+++ b/library/xml/df.world.xml
@@ -16,8 +16,23 @@
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--