changeset 0:c4f3b5b88891

Import material and alloy stuff into new repository.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 05 Jan 2016 07:54:37 +0200
parents
children 38fb549a8b93
files data/adamantium.mat data/air.mat data/alabaster.mat data/alexandrite.mat data/aluminium.mat data/amber.mat data/amethyst.mat data/anipium.mat data/aquamarine.mat data/bamboo.mat data/bark.mat data/basalt.mat data/batium.mat data/birch.mat data/bloodstone.mat data/bone.mat data/brass.mat data/brick.mat data/bronze.mat data/burlap.mat data/carnelian.mat data/cedar.mat data/cesium.mat data/chalk.mat data/charcoal.mat data/chromium.mat data/chrysoberyl.mat data/clay.mat data/cloth.mat data/coal.mat data/cobalt.mat data/concrete.mat data/copper.mat data/coral.mat data/cork.mat data/cotton.mat data/crystal.mat data/darksteel.mat data/diamond.mat data/diggalite.mat data/dragonscale.mat data/dukonium.mat data/duraluminium.mat data/durandium.mat data/earth.mat data/ebony.mat data/electrum.mat data/elm.mat data/emerald.mat data/emulsion.mat data/enchanted_air.mat data/feathers.mat data/fire.mat data/flesh.mat data/food.mat data/fur.mat data/garnet.mat data/glass.mat data/gold.mat data/granite.mat data/graphite.mat data/hematite.mat data/hemp.mat data/highsteel.mat data/ice.mat data/illumium.mat data/indium.mat data/iridium.mat data/iron.mat data/ivory.mat data/jade.mat data/kryptonite.mat data/laen.mat data/lead.mat data/leather.mat data/magnesium.mat data/mahogany.mat data/malachite.mat data/mallorn.mat data/maple.mat data/marble.mat data/marlor.mat data/mithril.mat data/molybdenum.mat data/moonstone.mat data/moss_agate.mat data/mowgles.mat data/mowglite.mat data/neo_burlap.mat data/nickel.mat data/nullium.mat data/oak.mat data/obsidian.mat data/olivine.mat data/onyx.mat data/opal.mat data/osmium.mat data/palladium.mat data/paper.mat data/pearl.mat data/petrified_wood.mat data/pewter.mat data/phosphorus.mat data/platinum.mat data/porcelain.mat data/potassium.mat data/pyrite.mat data/quartz.mat data/quicksilver.mat data/rhodium.mat data/rhodonite.mat data/rift_plasma.mat data/rubber.mat data/ruby.mat data/sapphire.mat data/silicon.mat data/silk.mat data/silver.mat data/slate.mat data/starmetal.mat data/steel.mat data/steuben.mat data/stone.mat data/sulphur.mat data/sunstone.mat data/tadmium.mat data/tin.mat data/titanium.mat data/topaz.mat data/tormium.mat data/tungsten.mat data/turquoise.mat data/uranium.mat data/vanadium.mat data/vegetation.mat data/water.mat data/wax.mat data/weenite.mat data/wood.mat data/wool.mat data/zhentorium.mat data/zinc.mat data/zircon.mat index.php info.php mkalloyinfo.sh mkmaterialinfo.sh parsealloys.pl parsematerial.pl
diffstat 149 files changed, 3753 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/adamantium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (adamantium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (highly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (low mentality)    Reactivity:    (notable reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (sometimes used)
+Value (gp/kg): (very valuable)    Rarity:        (average)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     hunk, nugget
+Refined names: bar, ingot, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/air.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (air):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)
+Magic:         (not magical)      Flammability:  (highly flammable)
+Warmth:        (drafty outfit)    Toxicity:      (non toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       an                      Type:          Organ
+Found nature:  Yes                     Lode name:     Pocket
+Raw names:     pocket
+Refined names: pocket
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/alabaster.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (alabaster):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (very flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (insulator)        Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (average)
+Article:       an                      Type:          Inorg
+Found nature:  No                      Lode name:     Mass
+Raw names:     lump, chunk, clump
+Refined names: shaped, sculpted
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/alexandrite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (alexandrite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (incredibly sturdy)
+Magic:         (a bit magical)    Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (poor reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (average)
+Article:       an                      Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/aluminium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (aluminium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (sturdy)
+Magic:         (a bit magical)    Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (mediocre toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (sometimes used)   Armour rarity: (sometimes used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     nugget, clump
+Refined names: bar, mold, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/amber.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (amber):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (notable magical)  Flammability:  (very flammable)
+Warmth:        (chilly outfit)    Toxicity:      (non toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (rare)
+Article:       an                      Type:          Stone
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     crystal, chunk
+Refined names: crystal, formed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/amethyst.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (amethyst):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (sturdy)
+Magic:         (notable magical)  Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (some mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (average)
+Article:       an                      Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/anipium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (anipium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (sturdy)
+Magic:         (highly magical)   Flammability:  (quite unburnable)
+Warmth:        (drafty outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (mental)           Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (average)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     wad, clod
+Refined names: bar, casting, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/aquamarine.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (aquamarine):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very sturdy)
+Magic:         (a bit magical)    Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (poor reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (valuable)         Rarity:        (common)
+Article:       an                      Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/bamboo.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (bamboo):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (sturdy)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (quite much used)
+Value (gp/kg): (cheap)            Rarity:        (average)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     reed, log, twig, stick, block
+Refined names: block, reed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/bark.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (bark):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (icy outfit)       Toxicity:      (non toxic)
+Resistivity:   (weak insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (rarely used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Pile
+Raw names:     block, chunk
+Refined names: block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/basalt.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (basalt):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (weakly magical)   Flammability:  (unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (quite common)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Crag
+Raw names:     chunk, block, clump, hunk, lump
+Refined names: block, brick
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/batium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (batium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (sturdy)
+Magic:         (highly magical)   Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (very solid)
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     nugget, chunk
+Refined names: bar, ingot, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/birch.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (birch):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/bloodstone.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (bloodstone):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (incredibly sturdy)
+Magic:         (very magical)     Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (weak insulator)   Malleability:  (loose)
+Mentality:     (some mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (average)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/bone.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (bone):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (mediocre toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (average)
+Article:       a                       Type:          Bone
+Found nature:  Yes                     Lode name:     Graveyard
+Raw names:     piece, chunk
+Refined names: shaped
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/brass.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (brass):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (sturdy)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (quite much used)  Armour rarity: (quite much used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Alloy
+Found nature:  No                      Lode name:     Deposit
+Raw names:     hunk, lode
+Refined names: casting, mold, bar
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/brick.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (brick):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very fragile)
+Magic:         (weakly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (notable reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Stone
+Found nature:  No                      Lode name:     Protrusion
+Raw names:     chunk, block, clump, hunk, lump
+Refined names: block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/bronze.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (bronze):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (sturdy)
+Magic:         (magical)          Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (frequently used)  Armour rarity: (most common)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Alloy
+Found nature:  No                      Lode name:     Deposit
+Raw names:     chunk, lode
+Refined names: casting, mold, bar
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/burlap.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (burlap):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (comfortable)      Toxicity:      (non toxic)
+Resistivity:   (good insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (frequently used)
+Value (gp/kg): (cheap)            Rarity:        (rare)
+Article:       a                       Type:          Cloth
+Found nature:  No                      Lode name:     Mound
+Raw names:     piece, strip
+Refined names: pelt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/carnelian.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (carnelian):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (sturdy)
+Magic:         (notable magical)  Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (some mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (average)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/cedar.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (cedar):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (quite common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/cesium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (cesium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (fragile)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (a bit loose)
+Mentality:     (low mentality)    Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (valuable)         Rarity:        (average)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lump, isotope, clod
+Refined names: bar, billot, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/chalk.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (chalk):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (very fragile)
+Magic:         (weakly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (insulator)        Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lump, chunk, clump
+Refined names: cube, block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/charcoal.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,14 @@
+MATERIAL STATS (charcoal):
+-------------------------------------------------------------------------------
+
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)     
+Magic:         (a bit magical)    Flammability:  (very flammable)   
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)       
+Resistivity:   (poor insulator)   Malleability:  (loose)            
+Mentality:     (poor mentality)   Reactivity:    (great reactivity) 
+Weapon rarity: (not used)         Armour rarity: (not used)         
+Value (gp/kg): (cheap)            Rarity:        (average)          
+Article:       a                       Type:          Organ
+Found nature:  No                      Lode name:     Pile           
+Raw names:     lump, chunk, clump
+Refined names: cube, block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/chromium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (chromium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (sometimes used)   Armour rarity: (sometimes used)
+Value (gp/kg): (valuable)         Rarity:        (average)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     chunk, lode, gob
+Refined names: mold, casting, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/chrysoberyl.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (chrysoberyl):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (incredibly sturdy)
+Magic:         (a bit magical)    Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (poor reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (common)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/clay.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (clay):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (weak insulator)   Malleability:  (quite solid)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Hill
+Raw names:     hunk, chunk
+Refined names: block, ball
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/cloth.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (cloth):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (fragile)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (drafty outfit)    Toxicity:      (mediocre toxicity)
+Resistivity:   (good insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (sometimes used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Cloth
+Found nature:  No                      Lode name:     Mound
+Raw names:     piece, strip
+Refined names: piece, strip, bolt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/coal.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (coal):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very fragile)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (non toxic)
+Resistivity:   (weak insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Crag
+Raw names:     lump, chunk, clump
+Refined names: cube, block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/cobalt.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (cobalt):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (magical)          Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (low toxicity)
+Resistivity:   (weak insulator)   Malleability:  (very solid)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (sometimes used)   Armour rarity: (sometimes used)
+Value (gp/kg): (valuable)         Rarity:        (average)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     lode, hunk
+Refined names: mold, casting, bar
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/concrete.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (concrete):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very fragile)
+Magic:         (weakly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Stone
+Found nature:  No                      Lode name:     Crag
+Raw names:     chunk, block, clump, hunk, lump
+Refined names: block, brick
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/copper.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (copper):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (quite much used)  Armour rarity: (frequently used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     wad, lump
+Refined names: casting, mold, bar
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/coral.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (coral):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (fragile)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (mediocre toxicity)
+Resistivity:   (good insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (very rare)
+Article:       a                       Type:          Bone
+Found nature:  No                      Lode name:     Network
+Raw names:     piece, chunk
+Refined names: shaped
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/cork.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (cork):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (icy outfit)       Toxicity:      (mediocre toxicity)
+Resistivity:   (weak insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Mass
+Raw names:     block, chunk
+Refined names: block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/cotton.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (cotton):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (normal)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (comfortable)      Toxicity:      (mediocre toxicity)
+Resistivity:   (good insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (sometimes used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Cloth
+Found nature:  Yes                     Lode name:     Mound
+Raw names:     piece, strip, ball
+Refined names: piece, strip, ball
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/crystal.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (crystal):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (fragile)
+Magic:         (very magical)     Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (poor reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (valuable)         Rarity:        (average)
+Article:       a                       Type:          Glass
+Found nature:  Yes                     Lode name:     Slab
+Raw names:     piece, shard, sliver
+Refined names: mold, casting, form
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/darksteel.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (darksteel):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (notable magical)  Flammability:  (normal)
+Warmth:        (excellent outfit)  Toxicity:      (mediocre toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (very solid)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (sometimes used)   Armour rarity: (sometimes used)
+Value (gp/kg): (average)          Rarity:        (common)
+Article:       a                       Type:          Alloy
+Found nature:  No                      Lode name:     Deposit
+Raw names:     chunk, lode, lump
+Refined names: bar, ingot, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/diamond.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (diamond):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (incredibly sturdy)
+Magic:         (a bit magical)    Flammability:  (very flammable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (not reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (highly valuable)  Rarity:        (very rare)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/diggalite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (diggalite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (highly magical)   Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (very solid)
+Mentality:     (mental)           Reactivity:    (poor reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (sometimes used)
+Value (gp/kg): (very valuable)    Rarity:        (rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     lode, hunk, wad
+Refined names: bar, mold, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/dragonscale.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (dragonscale):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (highly magical)   Flammability:  (quite unburnable)
+Warmth:        (icy outfit)       Toxicity:      (toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (impossible)
+Article:       a                       Type:          Bone
+Found nature:  Yes                     Lode name:     Graveyard
+Raw names:     piece, chunk
+Refined names: shaped, sculpted
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/dukonium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (dukonium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (highly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (high mentality)   Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (impossible)
+Article:       a                       Type:          Metal
+Found nature:  No                      Lode name:     Pile
+Raw names:     chunk, lode, sphere
+Refined names: cube, octagon, ellipsoid
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/duraluminium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (duraluminium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very sturdy)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (rarely used)
+Value (gp/kg): (average)          Rarity:        (rare)
+Article:       a                       Type:          Alloy
+Found nature:  No                      Lode name:     Lode
+Raw names:     nugget, clump
+Refined names: bar, mold, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/durandium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (durandium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (highly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (average)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     nugget, lump, lode
+Refined names: bar, casting, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/earth.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (earth):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (weak insulator)   Malleability:  (quite solid)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       an                      Type:          Stone
+Found nature:  Yes                     Lode name:     Mountain
+Raw names:     hunk, chunk
+Refined names: block, ball
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/ebony.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (ebony):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (very sturdy)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (good insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (quite common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/electrum.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (electrum):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (sturdy)
+Magic:         (very magical)     Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (solid)
+Mentality:     (low mentality)    Reactivity:    (poor reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (sometimes used)
+Value (gp/kg): (valuable)         Rarity:        (common)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     nugget, chunk
+Refined names: bar, mold, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/elm.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (elm):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/emerald.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (emerald):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (incredibly sturdy)
+Magic:         (magical)          Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (highly valuable)  Rarity:        (rare)
+Article:       an                      Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/emulsion.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,14 @@
+MATERIAL STATS (emulsion):
+-------------------------------------------------------------------------------
+ 
+Weight (g/l):  (normal)           Sturdyness:    (incredibly sturdy)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)  
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (poor insulator)   Malleability:  (loose)            
+Mentality:     (poor mentality)   Reactivity:    (notable reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)          
+Value (gp/kg): (cheap)            Rarity:        (common)            
+Article:       an                      Type:          Organ
+Found nature:  No                      Lode name:     Puddle          
+Raw names:     puddle
+Refined names: puddle
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/enchanted_air.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (enchanted air):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (fragile)
+Magic:         (not magical)      Flammability:  (highly flammable)
+Warmth:        (drafty outfit)    Toxicity:      (non toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       an                      Type:          Organ
+Found nature:  Yes                     Lode name:     Pocket
+Raw names:     pocket
+Refined names: pocket
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/feathers.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (feathers):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very rare)
+Article:       a                       Type:          Organ
+Found nature:  No                      Lode name:     Nest
+Raw names:     pile, carcass, heap
+Refined names: bundle
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/fire.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (fire):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)
+Magic:         (weakly magical)   Flammability:  (unburnable)
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (poor insulator)   Malleability:  (quite solid)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Inorg
+Found nature:  No                      Lode name:     Torrent
+Raw names:     wisp, flame
+Refined names: wisp, flame
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/flesh.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (flesh):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (fragile)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (icy outfit)       Toxicity:      (non toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Organ
+Found nature:  No                      Lode name:     Mound
+Raw names:     chunk, piece, strip
+Refined names: chunk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/food.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (food):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (fragile)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (drafty outfit)    Toxicity:      (low toxicity)
+Resistivity:   (good insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (rare)
+Article:       a                       Type:          Organ
+Found nature:  No                      Lode name:     Pile
+Raw names:     dough, mix
+Refined names: product
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/fur.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (fur):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (comfortable)      Toxicity:      (non toxic)
+Resistivity:   (good insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (frequently used)
+Value (gp/kg): (cheap)            Rarity:        (rare)
+Article:       a                       Type:          Cloth
+Found nature:  No                      Lode name:     Mound
+Raw names:     piece, strip
+Refined names: pelt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/garnet.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (garnet):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (solid)
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (valuable)         Rarity:        (average)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/glass.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (glass):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (fragile)
+Magic:         (weakly magical)   Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (poor reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (common)
+Article:       a                       Type:          Glass
+Found nature:  No                      Lode name:     Shard
+Raw names:     piece, shard, sliver
+Refined names: mold, casting, form
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/gold.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (gold):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (sturdy)
+Magic:         (very magical)     Flammability:  (quite flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (solid)
+Mentality:     (low mentality)    Reactivity:    (not reactive)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (very valuable)    Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     nugget, chunk, lump
+Refined names: bar, mold, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/granite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (granite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (sturdy)
+Magic:         (weakly magical)   Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Protrusion
+Raw names:     chunk, block, clump, hunk, lump
+Refined names: block, brick
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/graphite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (graphite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very fragile)
+Magic:         (weakly magical)   Flammability:  (unburnable)
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (a bit loose)
+Mentality:     (poor mentality)   Reactivity:    (poor reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  No                      Lode name:     Lode
+Raw names:     chunk, lump, nugget
+Refined names: block, mold, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/hematite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (hematite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (quite unburnable)
+Warmth:        (icy outfit)       Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     lump, chunk, wad, nugget
+Refined names: block, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/hemp.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (hemp):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (sturdy)
+Magic:         (magical)          Flammability:  (highly flammable)
+Warmth:        (drafty outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (very solid)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Organ
+Found nature:  No                      Lode name:     Coil
+Raw names:     stalk, stem
+Refined names: fibres, cord, strand
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/highsteel.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (highsteel):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (very magical)     Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (very solid)
+Mentality:     (low mentality)    Reactivity:    (notable reactivity)
+Weapon rarity: (sometimes used)   Armour rarity: (quite much used)
+Value (gp/kg): (average)          Rarity:        (common)
+Article:       a                       Type:          Alloy
+Found nature:  No                      Lode name:     Deposit
+Raw names:     chunk, lode, lump
+Refined names: bar, ingot, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/ice.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (ice):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (fragile)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (good insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       an                      Type:          Organ
+Found nature:  Yes                     Lode name:     Slab
+Raw names:     crystal, shard
+Refined names: crystal, shard
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/illumium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (illumium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (very magical)     Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (weak insulator)   Malleability:  (very solid)
+Mentality:     (high mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (average)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Gloss
+Raw names:     lode, gob, chunk
+Refined names: casting, mold, block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/indium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (indium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (valuable)         Rarity:        (common)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     nugget, lump
+Refined names: bar, casting, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/iridium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (iridium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (very sturdy)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (rare)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     chunk, gob
+Refined names: ingot, bar, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/iron.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (iron):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (most common)      Armour rarity: (frequently used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     nugget
+Refined names: ingot, bar, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/ivory.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (ivory):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (mediocre toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (very rare)
+Article:       an                      Type:          Bone
+Found nature:  Yes                     Lode name:     Graveyard
+Raw names:     piece, chunk, tusk
+Refined names: shaped, sculpted
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/jade.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (jade):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (notable magical)  Flammability:  (quite unburnable)
+Warmth:        (icy outfit)       Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (average)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/kryptonite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (kryptonite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (normal)
+Magic:         (highly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (mental)           Reactivity:    (notable reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (very rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     chunk, gob
+Refined names: mold, casting, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/laen.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (laen):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (incredibly sturdy)
+Magic:         (highly magical)   Flammability:  (unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (not reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (rare)
+Article:       a                       Type:          Glass
+Found nature:  Yes                     Lode name:     Slab
+Raw names:     piece, shard, sliver
+Refined names: mold, casting, form
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/lead.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (lead):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (quite flammable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (loose)
+Mentality:     (high mentality)   Reactivity:    (notable reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (sometimes used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lump, gob, clump
+Refined names: ingot, bar, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/leather.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (leather):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (drafty outfit)    Toxicity:      (non toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (frequently used)
+Value (gp/kg): (cheap)            Rarity:        (average)
+Article:       a                       Type:          Cloth
+Found nature:  No                      Lode name:     Pile
+Raw names:     piece, strip
+Refined names: strap, length
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/magnesium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (magnesium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very fragile)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (a bit loose)
+Mentality:     (low mentality)    Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     salt, lump
+Refined names: mold, casting, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/mahogany.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (mahogany):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (quite common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/malachite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (malachite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (sturdy)
+Magic:         (magical)          Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (quite common)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/mallorn.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (mallorn):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (sturdy)
+Magic:         (highly magical)   Flammability:  (very flammable)
+Warmth:        (chilly outfit)    Toxicity:      (low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (quite common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/maple.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (maple):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/marble.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (marble):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (fragile)
+Magic:         (weakly magical)   Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (quite common)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Crag
+Raw names:     chunk, block, clump, hunk, lump
+Refined names: block, brick
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/marlor.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (marlor):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (incredibly sturdy)
+Magic:         (magical)          Flammability:  (very flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (insulator)        Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (valuable)         Rarity:        (impossible)
+Article:       a                       Type:          Wood
+Found nature:  No                      Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/mithril.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (mithril):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (incredibly sturdy)
+Magic:         (highly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (average)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lump, nugget
+Refined names: bar, mold, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/molybdenum.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (molybdenum):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (very sturdy)
+Magic:         (a bit magical)    Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (mediocre toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (poor mentality)   Reactivity:    (notable reactivity)
+Weapon rarity: (sometimes used)   Armour rarity: (sometimes used)
+Value (gp/kg): (average)          Rarity:        (very rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lode, chunk
+Refined names: bar, ingot, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/moonstone.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (moonstone):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (sturdy)
+Magic:         (notable magical)  Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (average)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Protrusion
+Raw names:     chunk, block, clump, hunk, lump
+Refined names: block, brick
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/moss_agate.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (moss agate):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (sturdy)
+Magic:         (notable magical)  Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (some mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (rare)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/mowgles.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (mowgles):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (normal)
+Magic:         (weakly magical)   Flammability:  (quite flammable)
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (a bit loose)
+Mentality:     (poor mentality)   Reactivity:    (poor reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Metal
+Found nature:  No                      Lode name:     Deposit
+Raw names:     chunk, lode, lump
+Refined names: bar, ingot, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/mowglite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (mowglite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (normal)
+Magic:         (weakly magical)   Flammability:  (quite flammable)
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (a bit loose)
+Mentality:     (poor mentality)   Reactivity:    (poor reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     chunk, lode, lump
+Refined names: bar, ingot, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/neo_burlap.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,14 @@
+MATERIAL STATS (neo burlap):
+-------------------------------------------------------------------------------
+
+Weight (g/l):  (normal)           Sturdyness:    (sturdy)           
+Magic:         (magical)          Flammability:  (quite flammable)  
+Warmth:        (very warm outfit) Toxicity:      (very low toxicity)
+Resistivity:   (good insulator)   Malleability:  (loose)            
+Mentality:     (low mentality)    Reactivity:    (notable reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)         
+Value (gp/kg): (valuable)         Rarity:        (impossible)       
+Article:       a                       Type:          Cloth
+Found nature:  No                      Lode name:     Chunky         
+Raw names:     piece, strip
+Refined names: slab
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/nickel.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (nickel):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (magical)          Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (low toxicity)
+Resistivity:   (weak insulator)   Malleability:  (solid)
+Mentality:     (some mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (quite much used)  Armour rarity: (quite much used)
+Value (gp/kg): (low-priced)       Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     nugget, lump
+Refined names: bar, ingot, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/nullium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (nullium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (very magical)     Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (weak insulator)   Malleability:  (very solid)
+Mentality:     (high mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (average)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Abyss
+Raw names:     lode, gob, chunk
+Refined names: casting, mold, block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/oak.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (oak):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (quite common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/obsidian.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (obsidian):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (weakly magical)   Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (average)
+Article:       a                       Type:          Glass
+Found nature:  Yes                     Lode name:     Slab
+Raw names:     piece, shard, sliver
+Refined names: mold, casting, form
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/olivine.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (olivine):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very sturdy)
+Magic:         (magical)          Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (common)
+Article:       an                      Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/onyx.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (onyx):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (notable reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (valuable)         Rarity:        (rare)
+Article:       an                      Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/opal.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (opal):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (a bit magical)    Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (average)          Rarity:        (rare)
+Article:       an                      Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/osmium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (osmium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (very sturdy)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (common)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     hunk, nugget
+Refined names: ingot, bar, billet
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/palladium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (palladium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (sturdy)
+Magic:         (notable magical)  Flammability:  (quite unburnable)
+Warmth:        (icy outfit)       Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (solid)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (valuable)         Rarity:        (average)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     lump, nugget
+Refined names: ingot, casting, billot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/paper.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (paper):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (very fragile)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (rare)
+Article:       a                       Type:          Paper
+Found nature:  No                      Lode name:     Pile
+Raw names:     pulp
+Refined names: sheet, reem, piece
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/pearl.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (pearl):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (fragile)
+Magic:         (a bit magical)    Flammability:  (quite flammable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (rare)
+Article:       a                       Type:          Gem
+Found nature:  No                      Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/petrified_wood.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (petrified wood):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (weakly magical)   Flammability:  (quite unburnable)
+Warmth:        (icy outfit)       Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (very rare)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Crag
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/pewter.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (pewter):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (fragile)
+Magic:         (magical)          Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (mediocre toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (sometimes used)
+Value (gp/kg): (low-priced)       Rarity:        (common)
+Article:       a                       Type:          Alloy
+Found nature:  No                      Lode name:     Lode
+Raw names:     lode, chunk
+Refined names: casting, bar, mold, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/phosphorus.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,14 @@
+MATERIAL STATS (phosphorus):
+-------------------------------------------------------------------------------
+
+Weight (g/l):  (heavy)            Sturdyness:    (normal)           
+Magic:         (a bit magical)    Flammability:  (quite flammable)  
+Warmth:        (drafty outfit)    Toxicity:      (highly toxic)     
+Resistivity:   (weak insulator)   Malleability:  (loose)            
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)  
+Weapon rarity: (not used)         Armour rarity: (not used)         
+Value (gp/kg): (low-priced)       Rarity:        (average)          
+Article:       a                       Type:          Organ
+Found nature:  No                      Lode name:     Deposit        
+Raw names:     lump, chunk, wad
+Refined names: block, form, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/platinum.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (platinum):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (very sturdy)
+Magic:         (very magical)     Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (solid)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     hunk, lump
+Refined names: bar, billet, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/porcelain.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,14 @@
+MATERIAL STATS (porcelain):
+-------------------------------------------------------------------------------
+
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)     
+Magic:         (a bit magical)    Flammability:  (quite flammable)  
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (weak insulator)   Malleability:  (quite solid)      
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)   
+Weapon rarity: (quite much used)  Armour rarity: (not used)         
+Value (gp/kg): (low-priced)       Rarity:        (rare)             
+Article:       a                       Type:          Inorg
+Found nature:  No                      Lode name:     Mass           
+Raw names:     hunk, chunk
+Refined names: block, ball
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/potassium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (potassium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very fragile)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (drafty outfit)    Toxicity:      (highly toxic)
+Resistivity:   (weak insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lump, chunk, wad
+Refined names: block, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/pyrite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (pyrite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (low-priced)       Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     nugget, chunk, lump
+Refined names: bar, mold, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/quartz.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (quartz):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (sturdy)
+Magic:         (notable magical)  Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (good insulator)   Malleability:  (loose)
+Mentality:     (some mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (average)          Rarity:        (average)
+Article:       an                      Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/quicksilver.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (quicksilver):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (very fragile)
+Magic:         (notable magical)  Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (loose)
+Mentality:     (some mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (rare)
+Article:       a                       Type:          Metal
+Found nature:  No                      Lode name:     Lode
+Raw names:     load
+Refined names: ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/rhodium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (rhodium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (very sturdy)
+Magic:         (notable magical)  Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (reactive)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (valuable)         Rarity:        (very rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lump, chunk
+Refined names: bar, casting, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/rhodonite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (rhodonite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (poor reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (average)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/rift_plasma.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (rift plasma):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (very fragile)     
+Magic:         (weakly magical)   Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (poor insulator)   Malleability:  (quite solid)      
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)  
+Weapon rarity: (not used)         Armour rarity: (not used)         
+Value (gp/kg): (highly valuable)  Rarity:        (impossible)                                                     
+Article:       a                       Type:          Inorg
+Found nature:  No                      Lode name:     Conflagration  
+Raw names:     wisp, bulge
+Refined names: flame, flare
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/rubber.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (rubber):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (normal)
+Magic:         (not magical)      Flammability:  (very flammable)
+Warmth:        (chilly outfit)    Toxicity:      (non toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (average)
+Article:       a                       Type:          Inorg
+Found nature:  No                      Lode name:     Mass
+Raw names:     piece, chunk, wad
+Refined names: block, mold, form
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/ruby.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (ruby):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very sturdy)
+Magic:         (magical)          Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (highly valuable)  Rarity:        (average)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/sapphire.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (sapphire):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very sturdy)
+Magic:         (magical)          Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (very rare)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/silicon.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (silicon):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (normal)
+Magic:         (weakly magical)   Flammability:  (almost unburnable)
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (very solid)
+Mentality:     (poor mentality)   Reactivity:    (notable reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     lode, lump, chunk
+Refined names: mold, chip, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/silk.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (silk):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (non toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (most common)
+Value (gp/kg): (low-priced)       Rarity:        (rare)
+Article:       a                       Type:          Cloth
+Found nature:  No                      Lode name:     Mound
+Raw names:     piece, strip
+Refined names: piece, strip
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/silver.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (silver):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (very sturdy)
+Magic:         (very magical)     Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (very toxic)
+Resistivity:   (lousy insulator)  Malleability:  (solid)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (quite much used)
+Value (gp/kg): (low-priced)       Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     nugget, chunk
+Refined names: bar, casting, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/slate.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (slate):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very fragile)
+Magic:         (weakly magical)   Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (a bit loose)
+Mentality:     (poor mentality)   Reactivity:    (reactive)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Slab
+Raw names:     chunk, block, clump, hunk, lump
+Refined names: block, brick
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/starmetal.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (starmetal):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (very magical)     Flammability:  (almost unburnable)
+Warmth:        (excellent outfit)  Toxicity:      (mediocre toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (highly valuable)  Rarity:        (very rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     piece, fragment, chunk
+Refined names: bar, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/steel.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (steel):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (magical)          Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (very solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (most common)      Armour rarity: (frequently used)
+Value (gp/kg): (low-priced)       Rarity:        (very common)
+Article:       a                       Type:          Alloy
+Found nature:  No                      Lode name:     Deposit
+Raw names:     lump, lode
+Refined names: ingot, bar, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/steuben.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,14 @@
+MATERIAL STATS (steuben):
+-------------------------------------------------------------------------------
+ 
+Weight (g/l):  (normal)           Sturdyness:    (normal)            
+Magic:         (highly magical)   Flammability:  (unburnable)        
+Warmth:        (icy outfit)       Toxicity:      (low toxicity)      
+Resistivity:   (great insulator)  Malleability:  (loose)            
+Mentality:     (great mentality)  Reactivity:    (poor reactivity)  
+Weapon rarity: (not used)         Armour rarity: (not used)          
+Value (gp/kg): (highly valuable)  Rarity:        (impossible)        
+Article:       a                       Type:          Glass
+Found nature:  No                      Lode name:     Shard          
+Raw names:     slice, piece, shard
+Refined names: cut, crafted
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/stone.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (stone):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very fragile)
+Magic:         (weakly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (notable reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Crag
+Raw names:     chunk, block, clump, hunk, lump
+Refined names: block, brick
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/sulphur.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (sulphur):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (fragile)
+Magic:         (magical)          Flammability:  (quite flammable)
+Warmth:        (chilly outfit)    Toxicity:      (non toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (rare)
+Article:       a                       Type:          Stone
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lump, chunk, hunk
+Refined names: form, block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/sunstone.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (sunstone):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very sturdy)
+Magic:         (notable magical)  Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (average)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/tadmium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (tadmium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very sturdy)
+Magic:         (highly magical)   Flammability:  (very flammable)
+Warmth:        (icy outfit)       Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (solid)
+Mentality:     (great mentality)  Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (very valuable)    Rarity:        (very rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     lode, lump, hunk
+Refined names: bar, ingot, block
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/tin.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (tin):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (fragile)
+Magic:         (a bit magical)    Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (quite solid)
+Mentality:     (low mentality)    Reactivity:    (high reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (sometimes used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lode, chunk
+Refined names: bar, mold, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/titanium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (titanium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (magical)          Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (very solid)
+Mentality:     (low mentality)    Reactivity:    (notable reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (average)          Rarity:        (rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     wad, chunk
+Refined names: bar, mold, ingot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/topaz.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (topaz):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (magical)          Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (common)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/tormium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (tormium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (very magical)     Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (non toxic)
+Resistivity:   (lousy insulator)  Malleability:  (very solid)
+Mentality:     (low mentality)    Reactivity:    (notable reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     hunk, clod, wad
+Refined names: bar, ingot, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/tungsten.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (tungsten):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (unburnable)
+Warmth:        (icy outfit)       Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (reactive)
+Weapon rarity: (sometimes used)   Armour rarity: (rarely used)
+Value (gp/kg): (valuable)         Rarity:        (average)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     piece, hunk
+Refined names: bar, mold, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/turquoise.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (turquoise):
+-------------------------------------------------------------------------------
+Weight (g/l):  (normal)           Sturdyness:    (very sturdy)
+Magic:         (weakly magical)   Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (some mentality)   Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (common)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/uranium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (uranium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very heavy)       Sturdyness:    (normal)
+Magic:         (magical)          Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (very solid)
+Mentality:     (some mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (rare)
+Article:       an                      Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     lump, isotope
+Refined names: bar, billet, mold
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/vanadium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (vanadium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (magical)          Flammability:  (quite flammable)
+Warmth:        (icy outfit)       Toxicity:      (mediocre toxicity)
+Resistivity:   (lousy insulator)  Malleability:  (solid)
+Mentality:     (poor mentality)   Reactivity:    (poor reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (rarely used)
+Value (gp/kg): (valuable)         Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     wad, gob
+Refined names: mold, billit, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/vegetation.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (vegetation):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Organ
+Found nature:  Yes                     Lode name:     Tangle
+Raw names:     stem, twig, stick, leaf
+Refined names: bundle, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/water.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (water):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (incredibly sturdy)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (icy outfit)       Toxicity:      (very low toxicity)
+Resistivity:   (poor insulator)   Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (notable reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (very common)
+Article:       a                       Type:          Organ
+Found nature:  Yes                     Lode name:     Pool
+Raw names:     puddle, pocket
+Refined names: puddle
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/wax.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (wax):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (very fragile)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (quite solid)
+Mentality:     (poor mentality)   Reactivity:    (high reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Organ
+Found nature:  No                      Lode name:     Lump
+Raw names:     block, chunk
+Refined names: stick, sheet
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/weenite.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (weenite):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (highly magical)   Flammability:  (almost unburnable)
+Warmth:        (excellent outfit)  Toxicity:      (very toxic)
+Resistivity:   (great insulator)  Malleability:  (incredibly solid)
+Mentality:     (great mentality)  Reactivity:    (low reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (highly valuable)  Rarity:        (impossible)
+Article:       a                       Type:          Gem
+Found nature:  No                      Lode name:     Hit
+Raw names:     mic, string
+Refined names: dean, gene
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/wood.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (wood):
+-------------------------------------------------------------------------------
+Weight (g/l):  (very light)       Sturdyness:    (normal)
+Magic:         (a bit magical)    Flammability:  (highly flammable)
+Warmth:        (chilly outfit)    Toxicity:      (very low toxicity)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (not used)
+Value (gp/kg): (low-priced)       Rarity:        (quite common)
+Article:       a                       Type:          Wood
+Found nature:  Yes                     Lode name:     Stack
+Raw names:     log, twig, stick, block
+Refined names: block, log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/wool.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (wool):
+-------------------------------------------------------------------------------
+Weight (g/l):  (light)            Sturdyness:    (fragile)
+Magic:         (weakly magical)   Flammability:  (highly flammable)
+Warmth:        (comfortable)      Toxicity:      (non toxic)
+Resistivity:   (insulator)        Malleability:  (loose)
+Mentality:     (poor mentality)   Reactivity:    (great reactivity)
+Weapon rarity: (not used)         Armour rarity: (quite much used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Cloth
+Found nature:  Yes                     Lode name:     Mound
+Raw names:     piece, strip
+Refined names: strap, length
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/zhentorium.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (zhentorium):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (incredibly sturdy)
+Magic:         (highly magical)   Flammability:  (quite unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (lousy insulator)  Malleability:  (incredibly solid)
+Mentality:     (some mentality)   Reactivity:    (reactive)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (very valuable)    Rarity:        (very rare)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Lode
+Raw names:     nugget, lump, piece
+Refined names: bar, mold, casting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/zinc.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (zinc):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (fragile)
+Magic:         (a bit magical)    Flammability:  (normal)
+Warmth:        (chilly outfit)    Toxicity:      (toxic)
+Resistivity:   (lousy insulator)  Malleability:  (a bit loose)
+Mentality:     (low mentality)    Reactivity:    (low reactivity)
+Weapon rarity: (rarely used)      Armour rarity: (sometimes used)
+Value (gp/kg): (cheap)            Rarity:        (common)
+Article:       a                       Type:          Metal
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     mineral, nugget
+Refined names: casting, ingot, billet
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/zircon.mat	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,13 @@
+MATERIAL STATS (zircon):
+-------------------------------------------------------------------------------
+Weight (g/l):  (heavy)            Sturdyness:    (very sturdy)
+Magic:         (a bit magical)    Flammability:  (almost unburnable)
+Warmth:        (chilly outfit)    Toxicity:      (highly toxic)
+Resistivity:   (great insulator)  Malleability:  (loose)
+Mentality:     (low mentality)    Reactivity:    (poor reactivity)
+Weapon rarity: (not used)         Armour rarity: (not used)
+Value (gp/kg): (average)          Rarity:        (average)
+Article:       a                       Type:          Gem
+Found nature:  Yes                     Lode name:     Deposit
+Raw names:     stone, crystal
+Refined names: hexagonal, tetragonal, isometric
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/index.php	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,399 @@
+<?
+//
+// BatMUD material information browser
+// (C) Copyright 2009 - 2015 Matti 'ccr' Hämäläinen <ccr@tnsp.org>
+//
+require "mgeneric.inc.php";
+require "materials.inc.php";
+
+$pageTitle = "Pupunen BatMUD Material Browser";
+$pageIndex = "index.php";
+
+
+function stParseList($values, $pair)
+{
+  $res = array();
+  if ($values === FALSE)
+    return $res;
+
+  // It's an array already
+  if (is_array($values))
+  {
+    if ($pair)
+    {
+      // The data should already be in our desired format .. maybe
+      foreach ($values as $key => $val)
+        $res[trim($key)] = trim($val);
+    }
+    else
+    {
+      // Place values in hash
+      foreach ($values as $key)
+        $res[trim($key)] = 1;
+    }
+    return $res;
+  }
+
+  // Assume string, parse it
+  if (($list = preg_split("/\s*,\s*/", trim($values), -1, PREG_SPLIT_NO_EMPTY)) === FALSE)
+    return $res;
+
+  if ($pair)
+  {
+    // Parse key-value pairs separated by :
+    foreach ($list as $str)
+    {
+      if (($tmp = preg_split("/\s*:\s*/", trim($str), -1, PREG_SPLIT_NO_EMPTY)) !== FALSE)
+        $res[$tmp[0]] = $tmp[1];
+    }
+  }
+  else
+  {
+    // Should be just values, so place them in hash
+    foreach ($list as $str)
+      $res[$str] = 1;
+  }
+  return $res;
+}
+
+
+function stMakeList($name, $url, $array, $pair)
+{
+  if (count($array) == 0)
+    return "";
+
+  $tmp = array();
+  if ($pair)
+  {
+    foreach ($array as $key => $val)
+      $tmp[] = $key.":".$val;
+  }
+  else
+  {
+    foreach ($array as $key => $val)
+      $tmp[] = $key;
+  }
+
+  if ($url)
+    return "&amp;".$name."=".join(",", $tmp);
+  else
+    return stGetFormHiddenInput($name, join(",", $tmp))."\n";
+}
+
+
+function stGetTC($a, $column)
+{
+  global $setSortColumn;
+  return "<".$a.($column == $setSortColumn ? " class=\"hilite\"" : "").">";
+}
+
+
+function stGetURLStr($cfilters, $col, $dir, $domfilters, $mfilters)
+{
+  global $sortDirs, $setHideColumns;
+  $str  = "s=".$col."&amp;d=".$sortDirs[$dir]."&amp;mf=".$domfilters;
+  $str .= stMakeList("f", TRUE, $cfilters, TRUE);
+  $str .= stMakeList("h", TRUE, $setHideColumns, FALSE);
+  $str .= stMakeList("m", TRUE, $mfilters, FALSE);
+  return $str;
+}
+
+
+function stSortMatFunc($a, $b)
+{
+  global $setSortDirection, $setSortColumn;
+  $index = $setSortColumn - 1;
+
+  if ($a[$index] == $b[$index])
+    return 0;
+  
+  $res = $a[$index] < $b[$index];
+  
+  if ($setSortDirection)
+    return $res ? 1 : -1;
+  else
+    return $res ? -1 : 1;
+}
+
+
+//
+// Actual code starts
+//
+$sortDirs = array("asc", "desc");
+
+// Horrible kludge
+$agent = $_SERVER["HTTP_USER_AGENT"];
+if (stristr($agent, "GoogleBot") !== FALSE)
+{
+  header("HTTP/1.1 403 Forbidden");
+  exit;
+}
+
+// Sorting column
+$setSortColumn = intval(stGetRequestItem("s", 0, TRUE));
+$setSortDirection = substr(strtolower(stGetRequestItem("d", "", TRUE)), 0, 1) == "d";
+
+// Material column hiding
+$setHideColumns = stParseList(stGetRequestItem("h", FALSE, TRUE), FALSE);
+
+// Column filters
+$setAttrFilters = stParseList(stGetRequestItem("f", FALSE, TRUE), TRUE);
+
+// Material filters
+$setMatFilters = stParseList(stGetRequestItem("m", FALSE, TRUE), FALSE);
+$setEnableMatFilters = intval(stGetRequestItem("mf", 0, TRUE));
+
+
+// Sort materials by selected column
+if ($setSortColumn <= 0 || $setSortColumn >= 18)
+{
+  $setSortColumn = 0;
+  if ($setSortDirection)
+    krsort($matDataTable, SORT_STRING);
+  else
+    ksort($matDataTable, SORT_STRING);
+}
+else
+  uasort($matDataTable, "stSortMatFunc");
+
+
+// Print page header
+cmPrintPageHeader($pageTitle, "
+ <meta name=\"robots\" content=\"nofollow\" />
+ <style type=\"text/css\">
+    td a.matToggle {
+            display: inline-block;
+            background: black;
+            width: 1em;
+            font-size: 1.2em;
+            padding: 0.1em;
+            text-align: center;
+            margin-right: 0.3em;
+    }
+
+    td a.matToggle:hover {
+            text-decoration: none;
+            background: white;
+    }
+
+    td a.matToggle.active {
+            color: green !important;
+    }
+
+    td a.matToggle.inactive {
+            color: red !important;
+    }
+ </style>
+");
+?>
+<h1><? echo $pageTitle; ?></h1>
+<form action="<? echo $pageIndex; ?>" method="get">
+<?
+echo
+  stGetFormHiddenInput("s", $setSortColumn)."\n".
+  stGetFormHiddenInput("d", $sortDirs[$setSortDirection])."\n".
+  stGetFormHiddenInput("mf", $setEnableMatFilters)."\n".
+  stMakeList("f", FALSE, $setAttrFilters, TRUE).
+  stMakeList("m", FALSE, $setMatFilters, FALSE);
+?>
+<table class="optionsTable">
+ <tr>
+  <th>Hide columns</th>
+  <th>Show only type</th>
+  <td rowspan="3" class="infobox">
+   [<a href="<? echo $pageIndex; ?>">Reset/Clear</a>] [<a href="info.php">Alloy browser</a>]
+   - <b>CHANGE COLOURS/STYLE: <?
+   for ($i = 1; $i <= 4; $i++)
+     echo "<a href=\"?css=".$i."\">(".$i.")</a> "
+   ?></b>
+   <br />
+   <ul>
+    <li>All material data updated as of November 2011 with some updates in 2014 and 2015.</li>
+    <li>This information is free to use in any way you wish. It would be nice to be credited, however.</li>
+    <li>There may be bugs. If you notice any inaccuracies, contact <b>Ggr</b> @ Bat.</li>
+    <li><b>Raw material data is also available in <a href="materials.csv">CSV format</a>, <a href="materials_short.txt">short tabular format</a> and <a href="materials_long.txt">long format</a></b>.</li>
+    <li>You can sort by any column by clicking on the column name. Clicking again will change
+    sorting direction (ascending/descending).</li>
+    <li>Filtering to show only certain type of materials or materials with certain feature(s) is possible,
+      for example <a href="index.php?s=0&amp;d=asc&amp;f[1]=5&amp;f[2]=6">show only 'incr. sturdy'
+      AND 'highly magical'</a> materials. Click on desired feature (table cell) to add a filter.</li>
+    <li>Columns can be disabled from the filtering list (shift or ctrl with mouse click to select several)</li>
+    <li>The code for these pages and Perl + shellscript based backend utilities is available in
+    <a href="http://pupunen.net/hg/misc/">Pupunen.net "misc" Mercurial repository</a>.</li>
+   </ul>
+  </td>
+ </tr>
+ <tr>
+  <td>
+   <select multiple="multiple" size="5" name="h[]">
+<?
+reset($matTransNames);
+next($matTransNames);
+while (list($key, $value) = each($matTransNames))
+{
+  echo "    <option".
+    (isset($setHideColumns[$key]) ? " selected=\"selected\"" : "").
+    " value=\"$key\">".chentities($value)."</option>\n";
+}
+?>
+   </select>
+  </td>
+  <td>
+   <select name="f[14]">
+<?
+$typeFilter = isset($setAttrFilters[14]) ? $setAttrFilters[14] : -1;
+if ($typeFilter == -1) unset($setAttrFilters[14]);
+$typeTable = $matTransTable[14];
+$typeTable[-1] = "EVERYTHING";
+ksort($typeTable);
+foreach ($typeTable as $key => $value)
+{
+  echo "    <option value=\"$key\"".
+    ($typeFilter == $key ? " selected=\"selected\"" : "").
+    ">".chentities($value)."</option>\n";
+}
+?>
+   </select>
+  </td>
+ </tr>
+ <tr>
+  <td colspan="2" class="icenter"><input type="submit" value=" Filter " class="isubmit" /></td>
+ </tr>
+</table>
+</form>
+<?
+//
+// List active filters
+//
+if (count($setAttrFilters) > 0)
+{
+  $filters = array();
+  foreach ($setAttrFilters as $fkey => $fval)
+  {
+    if ($fkey >= 0)
+      $filters[] = "<b>".strtolower($matTransNames[$fkey + 1])."</b>=".strtolower($matTransTable[$fkey][$fval]);
+  }
+
+  echo "<p>Filtering: ".implode(", ", $filters)."</p>\n";
+}
+
+if (count($setMatFilters) > 0)
+{
+  echo
+    "<p>Material filter: ".implode(", ", array_keys($setMatFilters))." ".
+    "<a href=\"?".stGetURLStr($setAttrFilters, $setSortColumn, $setSortDirection, !$setEnableMatFilters, $setMatFilters).
+    "\">[".($setEnableMatFilters ? "Deactivate" : "Activate")."]</a></p>\n";
+}
+
+
+//
+// Material table headers
+//
+echo
+  "<div class=\"matTable\">\n".
+  "<table class=\"matTable\">\n".
+  " <tr>\n";
+
+foreach ($matTransNames as $key => $value)
+{
+  if ($key == 0 || !isset($setHideColumns[$key]))
+  {
+    echo "  ".stGetTC("th", $key);
+    if ($key < 18)
+    {
+      echo
+      "<a href=\"?".
+      stGetURLStr($setAttrFilters, $key,
+      ($key == $setSortColumn) ? !$setSortDirection : $setSortDirection,
+      $setEnableMatFilters, $setMatFilters).
+      "\">".chentities($value)."</a>";
+    }
+    else
+      echo chentities($value);
+
+    echo "</th>\n";
+  }
+}
+echo " </tr>\n";
+
+
+//
+// Material data rows
+//
+foreach ($matDataTable as $mname => $mdata)
+{
+  //
+  // Check what filters apply here
+  //
+  $doShow = TRUE;
+  foreach ($setAttrFilters as $fkey => $fval)
+  if ($fval >= 0 && $mdata[$fkey] != $fval)
+  {
+    $doShow = FALSE;
+    break;
+  }
+
+  if ($setEnableMatFilters && !isset($setMatFilters[$mname]))
+    $doShow = FALSE;
+
+  if ($doShow)
+  {
+    // Create temporary filter list for material filter link
+    $tmpFilters = $setMatFilters;
+    if (isset($tmpFilters[$mname]))
+      unset($tmpFilters[$mname]);
+    else
+      $tmpFilters[$mname] = 1;
+
+    // First column is material name
+    $col = 0;
+    echo
+      " <tr>".stGetTC("td", $col++).
+      "<a class=\"matToggle ".(isset($setMatFilters[$mname]) ? "active" : "inactive").
+      "\" href=\"?".stGetURLStr($setAttrFilters, $setSortColumn, $setSortDirection, $setEnableMatFilters, $tmpFilters).
+      "\">".(isset($setMatFilters[$mname]) ? "-" : "+")."</a>".
+      "<a href=\"/mat/".urlencode($mname)."\">".chentities($mname)."</a>".
+      "</td>";
+
+    foreach ($mdata as $kkey => $kvalue)
+    {
+      if (!isset($setHideColumns[$kkey + 1]))
+      {
+        echo stGetTC("td", $col);
+        if (is_array($kvalue))
+        {
+          // Arrays need special handling, and is bit messy
+          reset($kvalue);
+
+          if (list($nam, $lode) = each($kvalue))
+            echo chentities($matTransTable[$kkey][$lode]);
+
+          while (list($nam, $lode) = each($kvalue))
+            echo ", ".chentities($matTransTable[$kkey][$lode]);
+        }
+        else
+        {
+          // Create temporary filter list for attribute filter link
+          $tmpFilters = $setAttrFilters;
+          if (isset($tmpFilters[$kkey]))
+            unset($tmpFilters[$kkey]);
+          else
+            $tmpFilters[$kkey] = $kvalue;
+
+          echo "<a href=\"?".
+            stGetURLStr($tmpFilters, $setSortColumn, $setSortDirection, $setEnableMatFilters, $setMatFilters).
+            "\">".chentities($matTransTable[$kkey][$kvalue])."</a>";
+        }
+        echo "</td>";
+      }
+      $col++;
+    }
+    echo "</tr>\n";
+  }
+}
+echo
+  "</table>\n".
+  "</div>\n";
+
+cmPrintPageFooter();
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/info.php	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,462 @@
+<?
+//
+// BatMUD material alloy combo and material info viewer
+// (C) Copyright 2009 - 2015 Matti 'ccr' Hämäläinen <ccr@tnsp.org>
+//
+require "mgeneric.inc.php";
+require "materials.inc.php";
+require "alloys.inc.php";
+
+$pageTitle = "Pupunen BatMUD Alloy Browser";
+$pageIndex = "info.php";
+
+
+// Static list of alloy data contributors
+$contributors =
+[
+  "Hair", "Malacoda", "Kiomet", "Aegenor", "Gileon", "Corto",
+];
+
+
+// Material type table for the type selector.
+// Because some types are combinations, we need to have
+// mappings for those (the last two columns)
+$matTypeTable =
+[
+  0  => ["Organic + cloth (sewing)"        ,  0,  1],
+  1  => ["Wood + bone (carpentry)"         ,  5,  3],
+  2  => ["Metal + alloy (blacksmithing)"   ,  4,  7],
+  3  => ["Stone (masonry)"                 ,  6, -1],
+  4  => ["Gem (gemcutting)"                , 10, -1],
+  5  => ["Inorganic (sculpture)"           ,  8, -1],
+  6  => ["Glass (glassblowing)"            ,  9, -1],
+
+  7  => ["Organic"                         ,  0, -1],
+  8  => ["Wood"                            ,  5, -1],
+  9  => ["Metal"                           ,  4, -1],
+
+  10 => ["Cloth"                           , -1,  1],
+  11 => ["Bone"                            , -1,  3],
+  12 => ["Alloy"                           , -1,  7],
+];
+
+
+// Define ranges for alloy tests' "reliability" based
+// on how many tests have been performed. Define the
+// lower and upper bound (inclusive), informative text
+// and CSS style for those items.
+$matReliability =
+[
+  [  1,    2, "1-2 tests", "background: #a00; color: white;" ],
+  [  3,    5, "3-5 tests", "background: #750; color: white;" ],
+  [  6,    9, "6-9 tests", "background: #c90; color: black;", "color: black;" ],
+  [ 10, 9999, "10 or more", "background: #080; color: white;" ],
+];
+
+
+function stGetMatLink($mat, $title = "", $extra = "")
+{
+  $tmp = ($title != "") ? " title=\"".chentities($title)."\"" : "";
+  return "<a href=\"/mat/".urlencode($mat)."\"".$tmp.">".chentities($mat)."</a>".$extra;
+}
+
+
+function stGetReliabilityClass($n)
+{
+  global $matReliability;
+  foreach ($matReliability as $chk)
+  {
+    if ($n >= $chk[0] && $n <= $chk[1])
+      return "hits".$chk[0]."to".$chk[1];
+  }
+  return "nohits";
+}
+
+
+//
+// Actual main code begins
+//
+$setShowOnly = intval(stGetRequestItem("o", 0, TRUE));
+
+if (isset($_GET["m"]))
+{
+  $setShowMat = trim(preg_replace("/[^a-z ]/", " ", strtolower($_GET["m"])));
+  $setShowMat = preg_replace("/ +/", " ", $setShowMat);
+  $setShowMatName = strtoupper(substr($setShowMat, 0, 1)).substr($setShowMat, 1);
+}
+
+$setSwapRows = (isset($_GET["swap"]) && is_array($_GET["swap"])) ? $_GET["swap"] : array();
+
+
+// Generate CSS and information snippets into temporary arrays
+$extraCSS = [];
+$extraInfo = [];
+foreach ($matReliability as $chk)
+{
+  $tmps = "hits".$chk[0]."to".$chk[1];
+  $extraCSS[] = "    td.".$tmps.", .".$tmps." { ".$chk[3]." }";
+  if (isset($chk[4]))
+    $extraCSS[] = "    td.".$tmps." a { ".$chk[4]." }";
+
+  $extraInfo[] = "<span class=\"hits".$chk[0]."to".$chk[1]."\"><b>".$chk[2]."</b></span>";
+}
+
+
+//
+// Let's start pooping out the page
+//
+cmPrintPageHeader($pageTitle, "
+  <meta name=\"robots\" content=\"nofollow\" />
+  <style type=\"text/css\">
+    span.alternate { color: red; font-weight: bold; }
+".implode("\n", $extraCSS)."
+    td.nohits, .nohits { background: black; }
+    td.impossible { background: black; color: #f00; text-align: center; }
+  </style>
+");
+
+echo
+  "<h1>".$pageTitle."</h1>\n".
+  "<form action=\"".$pageIndex."\" method=\"get\">\n".
+  "<table class=\"optionsTable\" width=\"100%\">\n".
+  " <tr>\n".
+  "  <th width=\"25%\">Show type</th>\n".
+  "  <td rowspan=\"3\" class=\"infobox\">\n".
+  "   [<a href=\"".$pageIndex."\">Reset/Clear</a>] [<a href=\"index.php\">Material browser</a>]\n".
+  "   <br />\n".
+  "   <ul>\n".
+  "    <li><b>Also available in <a href=\"alloys.txt\">ASCII plaintext format</a>.</b></li>\n".
+  "    <li><b><a href=\"instructions.php\">Read this</a> for instructions on how you can collect and submit your own alloy research data.</b></li>\n".
+  "    <li>Only 2-material alloys are supported by this browser.</li>\n".
+  "    <li>There may be errors, and lots of combinations are not researched yet.</li>\n".
+  "    <li>The cell colour reflects how \"reliable\" the information is: ".implode(", ", $extraInfo).".</li>\n";
+
+if (isset($contributors) && count($contributors) > 0)
+{
+  $tmp = [];
+  foreach ($contributors as $key)
+    $tmp[] = "<b>".$key."</b>";
+  echo "    <li>Thanks to the following people for providing alloying data: ".join(", ", $tmp).".</li>\n";
+}
+
+echo
+  "   </ul>\n".
+  "  </td>\n".
+  " </tr>\n".
+  " <tr>\n".
+  "  <td class=\"icenter\">\n".
+  "   <select name=\"o\">\n";
+
+// Output the type selectors
+foreach ($matTypeTable as $key => $value)
+{
+  $n = 0;
+  foreach ($matDataTable as $name => $data)
+  {
+    if ($data[14] == $value[1] || $data[14] == $value[2])
+      $n++;
+  }
+
+  $matTypeTable[$key][] = $n;
+
+  printf(
+    "    <option value=\"%s\"%s>%-30s [%d]</option>\n",
+    $key,
+    ($setShowOnly == $key ? " selected=\"selected\"" : ""),
+    chentities($value[0]), $n);
+}
+
+echo
+  "   </select>\n".
+  "  </td>\n".
+  " </tr>\n".
+  " <tr>\n".
+  "  <td class=\"icenter\"><input type=\"submit\" value=\" Filter \" class=\"isubmit\" /></td>\n".
+  " </tr>\n".
+  "</table>\n".
+  "</form>\n";
+
+//
+// Now, act accordingly ..
+//
+if (isset($setShowMat))
+{
+  //
+  // We are showing information about one specific material
+  //
+  if (!isset($matDataTable[$setShowMat]))
+  {
+    echo
+      "<h2>Error! No such material '".chentities($setShowMatName)."'</h2>\n".
+      "<p>Material is not known. Check spelling.</p>\n";
+  }
+  else
+  {
+    //
+    // Print material information table
+    //
+    echo
+      "\n".
+      "<h2>".chentities($setShowMatName)."</h2>\n".
+      "<table class=\"materialInfo\" width=\"95%\">\n";
+
+    $n = 0;
+    foreach ($matDataTable[$setShowMat] as $key => $val)
+    {
+      if ($n == 0) echo " <tr>";
+      echo "<th>".chentities($matTransNames[$key + 1])."</th><td>";
+      if (is_array($val))
+      {
+        $tmp = [];
+        foreach ($val as $lode)
+          $tmp[] = chentities($matTransTable[$key][$lode]);
+        echo join(", ", $tmp);
+      }
+      else
+      {
+        echo chentities($matTransTable[$key][$val]);
+      }
+      echo "</td>";
+      if (++$n >= 3) { echo "</tr>\n"; $n = 0; }
+    }
+    if ($n != 0) echo "</tr>\n";
+    echo
+      "</table>\n\n";
+    
+    //
+    // Show alloy combinations table for this material
+    //
+    echo "<h3>Alloy combinations</h3>\n";
+    if (isset($alloyRevTable[$setShowMat]))
+    {
+      echo
+        "<table class=\"alloyTable\">".
+        " <tr>\n".
+        "  <th>+</th>\n";
+
+      foreach ($alloyRevTable[$setShowMat] as $key => $value)
+      {
+        echo "<th>".stGetMatLink($key)."</th>\n";
+      }
+      echo
+        " </tr>\n";
+
+      $ptable1 = [];
+      $ptable2 = [];
+      foreach ($matDataTable as $name1 => $data1)
+      foreach ($matDataTable as $name2 => $data2)
+      if (isset($alloyRevTable[$setShowMat][$name1][$name2]))
+      {
+        $ptable1[$name1] = 1;
+        $ptable2[$name2] = 1;
+      }
+      
+      foreach ($ptable2 as $name2 => $pz2)
+      {
+        echo "<tr><th>".stGetMatLink($name2)."</th>";
+        foreach ($ptable1 as $name1 => $pz1)
+        {
+          $hit = isset($alloyRevTable[$setShowMat][$name1][$name2]);
+
+          if ($hit)
+          {
+            $str = [];
+            foreach ($alloyTable[$name1][$name2] as $mnam => $mdat)
+              $str[] = $mnam;
+          }
+
+          echo "<td title=\"".$name2." + ".$name1."\" class=\"".
+            ($hit ? stGetReliabilityClass($alloyRevTable[$setShowMat][$name1][$name2]) : "nohits")."\">".
+            ($hit ? implode(", ", $str) : "")."</td>";
+        }
+        echo "</tr>\n";
+      }
+
+      echo
+        "</table>\n";
+    }
+    else
+    {
+      //
+      // No alloy combos known, show "generic" formula
+      //
+      echo "<p>No known alloy combinations.</p>\n";
+
+      $typeMats = [];
+      foreach ($matDataTable as $name => $data)
+      {
+        if ($data[14] == $matDataTable[$setShowMat][14] && $name != $setShowMat)
+          $typeMats[] = $name;
+      }
+
+      echo "<p>Full mix: ";
+      if (list($a, $b) = each($typeMats))
+        echo stGetMatLink($b);
+          
+      while (list($a, $b) = each($typeMats))
+        echo " <b>+</b> ".stGetMatLink($b);
+      echo "</p>\n";
+    }
+
+    //
+    // Show mix table for this material
+    //
+    echo "<h3>Mixtable</h3>\n";
+    if (count($alloyTable[$setShowMat]) > 0)
+    {
+      echo
+        "<table class=\"alloyTable\">\n".
+        " <tr>\n".
+        "  <th>+</th>\n";
+
+      foreach ($alloyTable[$setShowMat] as $key => $value)
+      {
+        echo "  <th>".stGetMatLink($key)."</th>\n";
+      }
+
+      echo
+        " </tr>\n".
+        " <tr>\n".
+        "  <th>".chentities($setShowMat)."</th>\n";
+
+      foreach ($alloyTable[$setShowMat] as $key => $value)
+      {
+        if (list($a, $b) = each($value))
+        {
+          echo "  <td class=\"".stGetReliabilityClass($b)."\">".stGetMatLink($a)."</td>\n";
+        }
+      }
+      echo
+        " </tr>\n".
+        "</table>\n";
+    }
+    else
+    {
+      echo "<p>No mixtable entries.</p>\n";
+    }
+  }
+}
+else
+{
+  //
+  // Print alloy table for given material type
+  //
+  // Filter table from maintable matching desired material type(s)
+  $currTable = [];
+  foreach ($matDataTable as $name => $data)
+  {
+    if ($data[14] == $matTypeTable[$setShowOnly][1] ||
+        $data[14] == $matTypeTable[$setShowOnly][2])
+      $currTable[] = $name;
+  }
+  
+  // Swap desired rows
+  if (count($setSwapRows) > 0)
+  {
+    $str = [];
+    $nkeys = count($currTable);
+    foreach ($setSwapRows as $from => $to)
+    if ($from >= 0 && $from < $nkeys && $to >= 0 && $to < $nkeys && $to != $from)
+    {
+      $str[] = $from." &lt;=&gt; ".$to;
+
+      $tmp = $currTable[$from];
+      $currTable[$from] = $currTable[$to];
+      $currTable[$to] = $tmp;
+    }
+    
+    if (count($str) > 0)
+    {
+      echo "<p>Swapped rows: ".implode(", ", $str)."</p>\n";
+    }
+  }
+
+  // Print out the table
+  echo
+    "<table class=\"alloyTable\">".
+    " <tr>\n".
+    "  <th>-</th>\n";
+  
+  foreach ($currTable as $name)
+  {
+    echo "  <th>".stGetMatLink($name)."</th>\n";
+  }
+  echo " </tr>\n";
+
+  $researched = 0;
+  $researchValue = 0;
+  $total = 0;
+
+  foreach ($currTable as $mat1)
+  {
+    echo " <tr><th>".stGetMatLink($mat1)."</th>";
+    foreach ($currTable as $mat2)
+    {
+      // Is the combo possible?
+      if ($mat1 != $mat2)
+      {
+        // Check for combination result
+        if (isset($alloyTable[$mat1][$mat2]))
+          $tmp = $alloyTable[$mat1][$mat2];
+        else
+        if (isset($alloyTable[$mat2][$mat1]))
+          $tmp = $alloyTable[$mat2][$mat1];
+        else
+          unset($tmp);
+
+        if (isset($tmp))
+        {
+          arsort($tmp);
+          $value = 0;
+          foreach ($tmp as $a => $b)
+            $value += $b;
+
+          $researched++;
+          $researchValue += $value;
+
+          $slist = [];
+          foreach ($tmp as $a => $b)
+          {
+            $slist[] = stGetMatLink($a,
+              $b." successful alloys (".$mat1." + ".$mat2." = ".$a.")".
+              (count($tmp) > 1 ? " [UNSTABLE]" : "")
+              );
+//              , " <sup>".$b."</sup>");
+          }
+          echo
+            "<td class=\"".stGetReliabilityClass($value)."\">".
+            join(" <span class=\"alternate\">/</span> ", $slist)."</td>";
+        }
+        else
+          echo "<td class=\"nohits\" title=\"Not researched\">?</td>";
+        
+        $total++;
+      }
+      else
+      {
+        echo "<td class=\"impossible\" title=\"Impossible combination\">-</td>";
+      }
+    }  
+    echo "</tr>\n";
+  }
+
+  //
+  // Calculate some statistics
+  //
+  $researchValue /= $researched * 10.0;
+  if ($researchValue > 1.0)
+    $researchValue = 1.0;
+
+  $total /= 2;
+  $researched /= 2;
+
+  printf(
+    "</table>\n".
+    "<div><b>%1.2f%%</b> (%d / %d) of combinations researched. ".
+    "Estimating <b>%1.2f%%</b> overall accuracy.</div>\n",
+    ($researched * 100.0) / $total, $researched, $total,
+    $researchValue * 100.0);
+}
+
+cmPrintPageFooter();
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mkalloyinfo.sh	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,20 @@
+#!/bin/sh
+ADDR="ccr@tnsp.org:/var/www/tnsp.org/mat/"
+DESTDIR="./"
+ALLOYPHP="${DESTDIR}/alloys.inc.php"
+ALLOYTXT="${DESTDIR}/alloys.txt"
+
+echo "Fetching alloy submissions ..."
+scp -C "$ADDR/*.{log,php}" "$DESTDIR"
+
+echo "Generating alloy data ..."
+cat logs/*/*.log | \
+grep -B1 "^You mix .* and create a quantity of " >> tmp
+
+perl -w parsealloys.pl -php < tmp > "$ALLOYPHP"
+perl -w parsealloys.pl -text < tmp > "$ALLOYTXT"
+
+rm -f tmp
+
+echo "Uploading ..."
+scp -C "$ALLOYTXT" "$ALLOYPHP" "$ADDR"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mkmaterialinfo.sh	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,35 @@
+#!/bin/sh
+DATADIR="data"
+DESTDIR="."
+LISTLONG="$DESTDIR/materials_long.txt"
+LISTSHORT="$DESTDIR/materials_short.txt"
+LISTCSV="$DESTDIR/materials.csv"
+LISTPHP="$DESTDIR/materials.inc.php"
+LISTMAT="$DESTDIR/materials.pm"
+
+# Create the long list
+echo "Generating long list..."
+echo -n "Last updated: " > "$LISTLONG"
+date >> "$LISTLONG"
+echo "" >> "$LISTLONG"
+cat $DATADIR/*.mat | perl -w parsematerial.pl -dump >> "$LISTLONG"
+
+
+# Create the short and CSV lists
+echo "Generating short list"
+echo -n "Last updated: " > "$LISTSHORT"
+date >> "$LISTSHORT"
+echo "" >> "$LISTSHORT"
+cat $DATADIR/*.mat | perl -w parsematerial.pl -table >> "$LISTSHORT"
+
+echo "Generating CSV"
+cat $DATADIR/*.mat | perl -w parsematerial.pl -csv > "$LISTCSV"
+
+echo "Generating PHP ..."
+cat $DATADIR/*.mat | perl -w parsematerial.pl -php > "$LISTPHP"
+
+echo "Generating Perl data ..."
+cat $DATADIR/*.mat | perl -w parsematerial.pl -perl > "$LISTMAT"
+
+echo "Uploading ..."
+scp -C "$LISTLONG" "$LISTSHORT" "$LISTCSV" "$LISTPHP" ccr@tnsp.org:/var/www/tnsp.org/mat/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parsealloys.pl	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,242 @@
+#!/usr/bin/perl -w
+#
+# BatMUD alloy data parser and converter
+# Developed by Matti Hämäläinen (Ggr Pupunen) <ccr@tnsp.org>
+# (C) Copyright 2009-2015 Tecnic Software productions (TNSP)
+#
+# Old format of alloying skill output was somewhat different, but
+# it has been tuned somewhere after 2005. New output format is:
+#
+#You mix obsidian and crystal and create a quantity of glass
+#You mix nullium and illumium and create a quantity of dukonium
+#You mix nullium and illumium and create a quantity of dukonium
+use strict;
+use warnings;
+use materials;
+
+my $domark = 0;
+my $mode = shift or die("Usage: $0 <-php|-text>\n");
+
+if ($mode eq "-php")
+{
+  $domark = 1;
+}
+elsif ($mode eq "-text")
+{
+}
+else
+{
+  die("$0: Invalid operation mode '$mode'.\n");
+}
+
+
+sub ul($)
+{
+  my $tmp = $_[0];
+  $tmp =~ s/ /_/g;
+  return $tmp;
+}
+
+
+###
+### Parse data from input, ignoring fumbled alloys
+###
+my %data = ();
+my $fumble = 0;
+my $nline = 0;
+my $ignored = 0;
+
+
+sub addCombo($$$)
+{
+  if (!$fumble)
+  {
+    push(@{$data{$_[1]}{$_[2]}}, $_[0]);
+  }
+  else
+  {
+    $ignored++;
+    #print STDERR "Ignoring fumbled combo $_[1] + $_[2] = $_[0]\n";
+  }
+  $fumble = 0;
+}
+
+
+while (<STDIN>) {
+  chomp;
+  if (/^You mix ([a-z ]+?) and ([a-z ]+?) and create a quantity of (.+?)\.?$/)
+  {
+    addCombo($3, $1, $2);
+  }
+  elsif (/^([a-zA-Z0-9]+)#([a-z ]+)\+([a-z ]+)=([a-z ]+)$/)
+  {
+    addCombo($4, $2, $3);
+  }
+  elsif (/^(You slip up and fumble your attempt)/)
+  {
+    $fumble = 1;
+  }
+}
+
+print STDERR "Ignored ".$ignored." fumbled alloys.\n";
+
+
+###
+### Re-format the data into single "ordered" hash, using as
+### close to alphabetical order as possible.
+###
+my %final = ();
+foreach my $min1 (keys %data)
+{
+  foreach my $min2 (keys %{$data{$min1}})
+  {
+    if (!defined($final{$min1}{$min2}) && !defined($final{$min2}{$min1}))
+    {
+      # Get both (a, b) and (b, a) combinations results into same array
+      my @tmp = ();
+      if (defined($data{$min1}{$min2}))
+      {
+        push(@tmp, @{$data{$min1}{$min2}});
+      }
+      if (defined($data{$min2}{$min1}))
+      {
+        push(@tmp, @{$data{$min2}{$min1}});
+      }
+      
+      # Determine if there are multiple results and which is the most likely.
+      # Some alloy combinations are inherently "unstable".
+      my %seen = ();
+      $seen{$_}++ foreach (@tmp);
+      if ($domark)
+      {
+        $final{$min1}{$min2} = $final{$min2}{$min1} = \%seen;
+      }
+      elsif ($min1 lt $min2)
+      {
+        $final{$min1}{$min2} = \%seen;
+      }
+      else
+      {
+        $final{$min2}{$min1} = \%seen;
+      }
+    }
+  }
+}
+
+
+## Output the results
+if ($mode eq "-php")
+{
+  print "<?php\n".
+  "\$alloyTable = [\n";
+  
+  foreach my $min1 (sort { $a cmp $b } keys %$Materials::matTable)
+  {
+    print "  \"$min1\" => ";
+    if (scalar(keys %{$final{$min1}}) > 0)
+    {
+      print "[";
+      foreach my $min2 (sort { $a cmp $b } keys %{$final{$min1}})
+      {
+        print "\"$min2\" => [";
+        foreach my $res (sort { $final{$min1}{$min2}{$a} <=> $final{$min1}{$min2}{$b} } keys %{$final{$min1}{$min2}}) {
+          print "\"$res\" => ".$final{$min1}{$min2}{$res}.", ";
+        }
+        print "], ";
+      }
+      print "],\n";
+    }
+    else
+    {
+      print "null,\n";
+    }
+  }
+  
+  print "];\n\n";
+  
+  # Create 'reverse' alloy table
+  my %restab = ();
+  foreach my $res (keys %$Materials::matTable)
+  {
+    foreach my $min1 (keys %final)
+    {
+      foreach my $min2 (keys %{$final{$min1}})
+      {
+        my $tmp = $final{$min1}{$min2};
+        if (scalar(keys %$tmp) > 1)
+        {
+#          print STDERR "Ignoring multi $min1 + $min2 = ".join(", ", keys %$tmp)."\n";
+        }
+        else
+        {
+          foreach my $key (keys %$tmp)
+          {
+            if ($key eq $res && !defined($restab{$res}{$min1}{$min2}) && !defined($restab{$res}{$min2}{$min1}))
+            {
+              $restab{$res}{$min1}{$min2} = $$tmp{$key};
+            }
+          }
+        }
+      }
+    }
+  }
+
+  print "\$alloyRevTable = [\n";
+  foreach my $res (sort { $a cmp $b } keys %restab)
+  {
+    print "  \"$res\" => [\n";
+    foreach my $min1 (sort { $a cmp $b } keys %{$restab{$res}})
+    {
+      if (scalar(keys %{$restab{$res}{$min1}}) > 0)
+      {
+        print "    \"$min1\" => [";
+        foreach my $min2 (sort { $a cmp $b } keys %{$restab{$res}{$min1}})
+        {
+          print "\"$min2\" => ".$restab{$res}{$min1}{$min2}.",";
+        }
+        print "],\n";
+      }
+    }
+    print "  ],\n";
+  }
+  
+  print "];\n\n".
+  "?>";
+}
+elsif ($mode eq "-text")
+{
+  my $total = 0;
+  my %tdata = ();
+
+  foreach my $type (sort { $a cmp $b } keys %{$Materials::matByType})
+  {
+    my $subtotal = 0;
+    print "\n".$$Materials::revTransTable{16}{$type}." alloys\n".
+    "=========================================================\n";
+
+    foreach my $min1 (@{$$Materials::matByType{$type}})
+    {
+      foreach my $min2 (sort { $a cmp $b } keys %{$final{$min1}})
+      {
+        printf "%-35s = ", ul($min1)." + ".ul($min2);
+        my $n = 0;
+        foreach my $res (sort { 
+            $final{$min1}{$min2}{$a} <=> $final{$min1}{$min2}{$b}
+            ||
+            $a cmp $b
+            } keys %{$final{$min1}{$min2}})
+        {
+          print ul($res)."[".$final{$min1}{$min2}{$res}."] ";
+          $n++;
+        }
+        if ($n > 1) { print " (unstable)"; }
+        print "\n";
+        $total++;
+        $subtotal++;
+      }
+    }
+    print "\n".$subtotal." ".lc($$Materials::revTransTable{16}{$type})." type alloys.\n\n";
+  }
+
+  print "\n".$total." alloys total.\n";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parsematerial.pl	Tue Jan 05 07:54:37 2016 +0200
@@ -0,0 +1,730 @@
+#!/usr/bin/perl -w
+#
+# BatMUD material data parser and converter
+# Developed by Matti Hämäläinen (Ggr Pupunen) <ccr@tnsp.org>
+# (C) Copyright 2006-2015 Tecnic Software productions (TNSP)
+#
+# Converts "raw" material data (output of 'cast identify at material')
+# from log(s) into various formats and intermediate data for additional
+# processing by other tools.
+#
+use strict;
+use warnings;
+use Data::Dumper;
+
+
+#
+# Data translation table generated with csv2transtab.pl
+#
+my $transTable =
+{
+  2 => {
+    "very light" => 0,
+    "light" => 1,
+    "normal" => 2,
+    "heavy" => 3,
+    "very heavy" => 4,
+    "incredibly heavy" => 5,
+  },
+  3 => {
+    "very fragile" => 0,
+    "fragile" => 1,
+    "normal" => 2,
+    "sturdy" => 3,
+    "very sturdy" => 4,
+    "incredibly sturdy" => 5,
+  },
+  4 => {
+    "not magical" => 0,
+    "weakly magical" => 1,
+    "a bit magical" => 2,
+    "magical" => 3,
+    "notable magical" => 4,
+    "very magical" => 5,
+    "highly magical" => 6,
+  },
+  5 => {
+    "unburnable" => 0,
+    "almost unburnable" => 1,
+    "quite unburnable" => 2,
+    "normal" => 3,
+    "quite flammable" => 4,
+    "very flammable" => 5,
+    "highly flammable" => 6,
+  },
+  6 => {
+    "icy" => 0,
+    "chilly" => 1,
+    "drafty" => 2,
+    "comfortable" => 3,
+    "very warm" => 4,
+    "excellent" => 5,
+  },
+  7 => {
+    "non toxic" => 0,
+    "very low toxicity" => 1,
+    "low toxicity" => 2,
+    "mediocre toxicity" => 3,
+    "toxic" => 4,
+    "very toxic" => 5,
+    "highly toxic" => 6,
+  },
+  8 => {
+    "lousy" => 0,
+    "poor" => 1,
+    "weak" => 2,
+    "insulator" => 3,
+    "good" => 4,
+    "great" => 5,
+  },
+  9 => {
+    "loose" => 0,
+    "a bit loose" => 1,
+    "quite solid" => 2,
+    "solid" => 3,
+    "very solid" => 4,
+    "incredibly solid" => 5,
+  },
+  10 => {
+    "poor mentality" => 0,
+    "low mentality" => 1,
+    "some mentality" => 2,
+    "mental" => 3,
+    "high mentality" => 4,
+    "great mentality" => 5,
+  },
+  11 => {
+    "great reactivity" => 0,
+    "high reactivity" => 1,
+    "notable reactivity" => 2,
+    "reactive" => 3,
+    "low reactivity" => 4,
+    "poor reactivity" => 5,
+    "not reactive" => 6,
+  },
+  12 => {
+    "not used" => 0,
+    "rarely used" => 1,
+    "sometimes used" => 2,
+    "quite much used" => 3,
+    "frequently used" => 4,
+    "most common" => 5,
+  },
+  13 => {
+    "not used" => 0,
+    "rarely used" => 1,
+    "sometimes used" => 2,
+    "quite much used" => 3,
+    "frequently used" => 4,
+    "most common" => 5,
+  },
+  14 => {
+    "cheap" => 0,
+    "low-priced" => 1,
+    "average" => 2,
+    "valuable" => 3,
+    "very valuable" => 4,
+    "highly valuable" => 5,
+  },
+  15 => {
+    "very common" => 0,
+    "quite common" => 1,
+    "common" => 2,
+    "average" => 3,
+    "rare" => 4,
+    "very rare" => 5,
+    "impossible" => 6,
+  },
+  16 => {
+    "Organ" => 0,
+    "Cloth" => 1,
+    "Paper" => 2,
+    "Bone" => 3,
+    "Metal" => 4,
+    "Wood" => 5,
+    "Stone" => 6,
+    "Alloy" => 7,
+    "Inorg" => 8,
+    "Glass" => 9,
+    "Gem" => 10,
+  },
+  17 => {
+    "No" => 0,
+    "Yes" => 1,
+  },
+  18 => {
+    "Hit" => 0,
+    "Protrusion" => 1,
+    "Crag" => 2,
+    "Lode" => 3,
+    "Pocket" => 4,
+    "Gloss" => 5,
+    "Shard" => 6,
+    "Deposit" => 7,
+    "Mountain" => 8,
+    "Nest" => 9,
+    "Stack" => 10,
+    "Mound" => 11,
+    "Chunky" => 12,
+    "Puddle" => 13,
+    "Slab" => 14,
+    "Network" => 15,
+    "Pool" => 16,
+    "Hill" => 17,
+    "Mass" => 18,
+    "Tangle" => 19,
+    "Graveyard" => 20,
+    "Lump" => 21,
+    "Coil" => 22,
+    "Abyss" => 23,
+    "Pile" => 24,
+    "Torrent" => 25,
+    "Conflagration" => 26,
+  },
+  19 => {
+    "heap" => 0,
+    "stick" => 1,
+    "pocket" => 2,
+    "hunk" => 3,
+    "shard" => 4,
+    "string" => 5,
+    "stone" => 6,
+    "slice" => 7,
+    "wisp" => 8,
+    "wad" => 9,
+    "clump" => 10,
+    "carcass" => 11,
+    "gob" => 12,
+    "strip" => 13,
+    "dough" => 14,
+    "ball" => 15,
+    "chunk" => 16,
+    "load" => 17,
+    "leaf" => 18,
+    "salt" => 19,
+    "pile" => 20,
+    "isotope" => 21,
+    "tusk" => 22,
+    "clod" => 23,
+    "lump" => 24,
+    "lode" => 25,
+    "piece" => 26,
+    "flame" => 27,
+    "stem" => 28,
+    "sphere" => 29,
+    "fragment" => 30,
+    "mineral" => 31,
+    "twig" => 32,
+    "stalk" => 33,
+    "crystal" => 34,
+    "log" => 35,
+    "reed" => 36,
+    "nugget" => 37,
+    "mix" => 38,
+    "mic" => 39,
+    "pulp" => 40,
+    "block" => 41,
+    "puddle" => 42,
+    "sliver" => 43,
+    "bulge" => 44,
+  },
+  20 => {
+    "formed" => 0,
+    "stick" => 1,
+    "bundle" => 2,
+    "ellipsoid" => 3,
+    "pocket" => 4,
+    "brick" => 5,
+    "mold" => 6,
+    "gene" => 7,
+    "shard" => 8,
+    "form" => 9,
+    "wisp" => 10,
+    "isometric" => 11,
+    "cord" => 12,
+    "billot" => 13,
+    "bar" => 14,
+    "bolt" => 15,
+    "strip" => 16,
+    "ball" => 17,
+    "billit" => 18,
+    "chunk" => 19,
+    "octagon" => 20,
+    "cube" => 21,
+    "ingot" => 22,
+    "chip" => 23,
+    "casting" => 24,
+    "dean" => 25,
+    "piece" => 26,
+    "flame" => 27,
+    "billet" => 28,
+    "crafted" => 29,
+    "cut" => 30,
+    "pelt" => 31,
+    "strand" => 32,
+    "crystal" => 33,
+    "log" => 34,
+    "reed" => 35,
+    "tetragonal" => 36,
+    "sheet" => 37,
+    "strap" => 38,
+    "reem" => 39,
+    "length" => 40,
+    "sculpted" => 41,
+    "block" => 42,
+    "hexagonal" => 43,
+    "product" => 44,
+    "shaped" => 45,
+    "puddle" => 46,
+    "fibres" => 47,
+    "slab" => 48,
+    "flare" => 49,
+  },
+};
+
+my $transFixes =
+{
+  16 => {
+    "Organic" => 0,
+    "Cloth" => 1,
+    "Paper" => 2,
+    "Bone" => 3,
+    "Metal" => 4,
+    "Wood" => 5,
+    "Stone" => 6,
+    "Alloy" => 7,
+    "Inorganic" => 8,
+    "Glass" => 9,
+    "Gem" => 10,
+  },
+};
+
+
+my $revTransTable = {};
+
+my @fieldInfo = (
+  { "i" =>  1, "f" => "name",		"w" => 15, "l" => "Name",		"s" => "Name"		},
+  { "i" =>  2, "f" => "weight",		"w" => 10, "l" => "Weight",		"s" => "Weight"		},
+
+  { "i" =>  3, "f" => "sturdyness",	"w" => 18, "l" => "Sturdyness",		"s" => "Sturdyness"	},
+  { "i" =>  4, "f" => "magic",		"w" => 15, "l" => "Magic",		"s" => "Magic"		},
+  { "i" =>  5, "f" => "flammability",	"w" => 18, "l" => "Flammability",	"s" => "Flammability"	},
+  { "i" =>  6, "f" => "warmth",		"w" => 11, "l" => "Warmth",		"s" => "Warmth"		},
+  { "i" =>  7, "f" => "toxicity",	"w" => 18, "l" => "Toxicity",		"s" => "Toxicity"	},
+  { "i" =>  8, "f" => "resistivity",	"w" =>  9, "l" => "Resistivity",	"s" => "Resist"		},
+  { "i" =>  9, "f" => "malleability",	"w" => 18, "l" => "Malleability",	"s" => "Malleability"	},
+  { "i" => 10, "f" => "mentality",	"w" => 18, "l" => "Mentality",		"s" => "Mentality"	},
+  { "i" => 11, "f" => "reactivity",	"w" => 18, "l" => "Reactivity",		"s" => "Reactivity"	},
+
+  { "i" => 12, "f" => "weapon_rarity",	"w" => 15, "l" => "Weapon rarity",	"s" => "Weapon rarity"	},
+  { "i" => 13, "f" => "armour_rarity",	"w" => 15, "l" => "Armour rarity",	"s" => "Armour rarity"	},
+  { "i" => 14, "f" => "value",		"w" => 15, "l" => "Value",		"s" => "Value"		},
+  { "i" => 15, "f" => "rarity",		"w" => 12, "l" => "Rarity",		"s" => "Rarity"		},
+  { "i" => 16, "f" => "type",		"w" =>  6, "l" => "Type",		"s" => "Type"		},
+  { "i" => 17, "f" => "found_nature",	"w" =>  3, "l" => "Found in Nature",	"s" => "FN?"		},
+  { "i" => 18, "f" => "lode_name",	"w" => 13, "l" => "Lode name",		"s" => "Lode name"	},
+  { "i" => 19, "f" => "raw_names",	"w" => 35, "l" => "Raw names",		"s" => "Raw names"	},
+  { "i" => 20, "f" => "refined_names",	"w" => 35, "l" => "Refined names",	"s" => "Refined names"	},
+);
+
+
+sub ptranslate($$)
+{
+  if (defined($$revTransTable{$_[0]}{$_[1]}))
+  {
+    return $$revTransTable{$_[0]}{$_[1]};
+  }
+  else
+  {
+    die("$0: Unknown REVERSE translation table type ".$_[0]." : ".$_[1]."\n");
+  }
+}
+
+
+sub pt($$)
+{
+  return ptranslate($_[1], $_[0]{$_[1]})
+}
+
+
+sub pta($$)
+{
+  return map { ptranslate($_[1], $_) } @{$_[0]{$_[1]}};
+}
+
+
+sub mtranslate($$)
+{
+  if (defined($$transTable{$_[0]}{$_[1]}))
+  {
+    return $$transTable{$_[0]}{$_[1]};
+  }
+  else
+  {
+    die("$0: Unknown translation table type ".$_[0]." : ".$_[1]."\n");
+  }
+}
+
+
+###
+### Check options
+###
+my $opt_mode = "";
+my $opt_strip = 1;
+
+while (defined(my $arg = shift))
+{
+  if ($arg eq "-csv") { $opt_mode = $arg; }
+  elsif ($arg eq "-tf") { $opt_mode = $arg; }
+  elsif ($arg eq "-names") { $opt_mode = $arg; }
+  elsif ($arg eq "-perl") { $opt_mode = $arg; }
+  elsif ($arg eq "-php") { $opt_mode = $arg; }
+  elsif ($arg eq "-table") { $opt_mode = $arg; }
+  elsif ($arg eq "-dumpfiles") { $opt_mode = $arg; $opt_strip = 0; }
+  elsif ($arg eq "-dump") { $opt_mode = $arg; $opt_strip = 0; }
+  else
+  {
+    die("Invalid option '$arg'\n");
+  }
+}
+
+
+###
+### Parse input materials
+###
+my $data = {};
+my $name = "";
+my $nline = 0;
+while (defined(my $line = <STDIN>))
+{
+  $nline++;
+  chomp($line);
+  if ($line =~ /MATERIAL STATS \(([a-z ]+)\)\:/)
+  {
+    $name = $1;
+  }
+  elsif ($line =~ /^Weight \(g\/l\)\: *\(([a-z. ]+)\) *Sturdyness\: *\(([a-z. ]+)\)/)
+  {
+    $$data{$name}{2} = mtranslate(2, $1);
+    $$data{$name}{3} = mtranslate(3, $2);
+  }
+  elsif ($line =~ /^Magic\: *\(([a-z. ]+)\) *Flammability\: *\(([a-z. ]+)\)/)
+  {
+    $$data{$name}{4} = mtranslate(4, $1);
+    $$data{$name}{5} = mtranslate(5, $2);
+  }
+  elsif ($line =~ /^Warmth\: *\(([a-z. ]+ outfit)\) *Toxicity\: *\(([a-z. ]+)\)/)
+  {
+    my ($tmp1, $tmp2) = ($1, $2);
+    $tmp1 =~ s/ +outfit$//;
+    $$data{$name}{6} = mtranslate(6, $tmp1);
+    $$data{$name}{7} = mtranslate(7, $tmp2);
+  }
+  elsif ($line =~ /^Warmth\: *\(([a-z. ]+)\) *Toxicity\: *\(([a-z. ]+)\)/)
+  {
+    my ($tmp1, $tmp2) = ($1, $2);
+    $$data{$name}{6} = mtranslate(6, $1);
+    $$data{$name}{7} = mtranslate(7, $2);
+  }
+  elsif ($line =~ /^Resistivity\: *\(([a-z. ]+ insulator)\) *Malleability\: *\(([a-z. ]+)\)?/)
+  {
+    my ($tmp1, $tmp2) = ($1, $2);
+    $tmp1 =~ s/ +insulator$//;
+    $$data{$name}{8} = mtranslate(8, $tmp1);
+    $$data{$name}{9} = mtranslate(9, $tmp2);
+  }
+  elsif ($line =~ /^Resistivity\: *\(([a-z. ]+)\) *Malleability\: *\(([a-z. ]+)\)?/)
+  {
+    $$data{$name}{8} = mtranslate(8, $1);
+    $$data{$name}{9} = mtranslate(9, $2);
+  }
+  elsif ($line =~ /^Mentality\: *\(([a-z. ]+)\) *Reactivity\: *\(([a-z. ]+)\)?/)
+  {
+    $$data{$name}{10} = mtranslate(10, $1);
+    $$data{$name}{11} = mtranslate(11, $2);
+  }
+  elsif ($line =~ /^Weapon rarity\: *\(([a-z. ]+)\) *Armour rarity\: *\(([a-z. ]+)\)/)
+  {
+    $$data{$name}{12} = mtranslate(12, $1);
+    $$data{$name}{13} = mtranslate(13, $2);
+  }
+  elsif ($line =~ /^Value \(gp\/kg\)\: *\(([a-z -]+)\) *Rarity\: *\(([a-z. ]+)\)/)
+  {
+    $$data{$name}{14} = mtranslate(14, $1);
+    $$data{$name}{15} = mtranslate(15, $2);
+  }
+  elsif ($line =~ /^Article\: *([a-z. ]+) *Type: *([A-Za-z]+)/)
+  {
+    my ($tmp1, $tmp2) = ($1, $2);
+    $tmp1 =~ s/ *$//;
+
+    $$data{$name}{"article"} = $tmp1;
+    $$data{$name}{16} = mtranslate(16, $tmp2);
+  }
+  elsif ($line =~ /^Found nature\: *(Yes|No) *Lode name\: *([A-Za-z]+)/)
+  {
+    $$data{$name}{17} = mtranslate(17, $1);
+    $$data{$name}{18} = mtranslate(18, $2);
+  }
+  elsif ($line =~ /^Raw names\: *([a-z, ]+[a-z])/)
+  {
+    my $tmp = $1;
+    @{$$data{$name}{19}} = map { mtranslate(19, $_) } split(/, */, $tmp);
+  }
+  elsif ($line =~ /^Refined names\: *([a-z, ]+[a-z])/)
+  {
+    my $tmp = $1;
+    @{$$data{$name}{20}} = map { mtranslate(20, $_) } split(/, */, $tmp);
+  }
+  elsif ($line =~ /^-+$|^\s*$/)
+  {
+    # Ignore empty lines, and -*
+  }
+  else
+  {
+    print STDERR "Unparsed line #".$nline.": ".$line."\n";
+  }
+}
+
+# Fix material types
+foreach my $mid (keys %$transFixes)
+{
+  $$transTable{$mid} = $$transFixes{$mid};
+}
+
+# Sort the entries by name
+my @entries = sort { $a cmp $b } keys %$data;
+
+# Sort materials by type
+my %matByType = ();
+foreach my $name (@entries)
+{
+  push(@{$matByType{$$data{$name}{16}}}, lc($name));
+}
+
+# List of known types
+my $matTypes = $$transTable{16};
+
+# Create reverse translation table
+foreach my $mid (keys %$transTable)
+{
+  foreach my $mkey (keys %{$$transTable{$mid}})
+  {
+    $$revTransTable{$mid}{$$transTable{$mid}{$mkey}} = $mkey;
+  }
+}
+
+
+sub get_datastr($$)
+{
+  my ($name, $i) = @_;
+  return $name if ($i == 1);
+  return join(", ", pta($$data{$name}, $i)) if (ref($$data{$name}{$i}) eq "ARRAY");
+  return pt($$data{$name}, $i);
+}
+
+
+sub print_material_long($$$)
+{
+  my ($file, $mat, $name) = @_;
+
+  printf $file
+  "MATERIAL STATS (".$name."):\n".
+  "-------------------------------------------------------------------------------\n".
+  "Weight (g/l):  %-17s  Sturdyness:    (%s)\n".
+  "Magic:         %-17s  Flammability:  (%s)\n",
+  "(".pt($mat, 2).")", pt($mat, 3),
+  "(".pt($mat, 4).")", pt($mat, 5);
+  
+  printf $file
+  "Warmth:        %-17s  Toxicity:      (%s)\n".
+  "Resistivity:   %-17s  Malleability:  (%s)\n",
+  "(".pt($mat, 6).")", pt($mat, 7),
+  "(".pt($mat, 8).")", pt($mat, 9);
+  
+  printf $file
+  "Mentality:     %-17s  Reactivity:    (%s)\n".
+  "Weapon rarity: %-17s  Armour rarity: (%s)\n".
+  "Value (gp/kg): %-17s  Rarity:        (%s)\n",
+  "(".pt($mat, 10).")", pt($mat, 11),
+  "(".pt($mat, 12).")", pt($mat, 13),
+  "(".pt($mat, 14).")", pt($mat, 15);
+
+  printf $file
+  "Article:       %-17s       Type:          %s\n".
+  "Found nature:  %-17s       Lode name:     %s\n".
+  "Raw names:     %s\n".
+  "Refined names: %s\n",
+  $$mat{"article"}, pt($mat, 16),
+  pt($mat, 17), pt($mat, 18),
+  join(", ", pta($mat, 19)),
+  join(", ", pta($mat, 20));
+}
+
+
+###
+### Output functionality begins here
+###
+
+###
+### Print material names only, one per line
+###
+if ($opt_mode eq "-names")
+{
+  foreach my $name (@entries)
+  {
+    print $name."\n";
+  }
+}
+###
+### Print CSV format list
+###
+elsif ($opt_mode eq "-csv")
+{
+  foreach my $name (@entries)
+  {
+    print join(";", map { get_datastr($name, $$_{"i"}) } @fieldInfo)."\n";
+  }
+}
+###
+### Dump long-format material data to individual files
+###
+elsif ($opt_mode eq "-dumpfiles")
+{
+  foreach my $name (@entries)
+  {
+    my $filename = $name.".mat";
+    $filename =~ s/[^a-z0-9]/_/g;
+    open(OUTFILE, ">", $filename) or die("Error opening file '".$filename."' ".$!."\n");
+    print_material_long(\*OUTFILE, $$data{$name}, $name);
+    close(OUTFILE);
+  }
+}
+###
+### Dump long-format material data to stdout
+###
+elsif ($opt_mode eq "-dump")
+{
+  foreach my $name (@entries)
+  {
+    print "\n".
+    "-------------------------------------------------------------------------------\n";
+    print_material_long(\*STDOUT, $$data{$name}, $name);
+  }
+}
+###
+### Print TinyFugue script variables
+###
+elsif ($opt_mode eq "-tf")
+{
+  print "/set gmat_names=".join(' ', map { my $tmp = $_; $tmp =~ s/ /_/g; $tmp } @entries)."\n";
+  print "/set gmat_ntypes=".join(' ', map(lc(ptranslate(16, $$data{$_}{16})), @entries))."\n";
+  print "/set gmat_types=".join(' ', sort map(lc(ptranslate(16, $_)), values %$matTypes))."\n";
+
+  foreach my $mkey (sort keys %$matTypes)
+  {
+    my $type = $$matTypes{$mkey};
+    print "/set gmat_type_".
+      lc(ptranslate(16, $type))."=".
+      join('|', @{$matByType{$type}})."\n";
+  }
+}
+###
+### Print a nice ASCII table
+###
+elsif ($opt_mode eq "-table")
+{
+  my $str = join("",
+    map { 
+      sprintf("%-".$$_{"w"}."s | ", $$_{"s"})
+    } @fieldInfo);
+
+  print $str."\n";
+  $str =~ s/[^|]/-/g;
+  $str =~ s/\|/+/g;
+  print $str."\n";
+
+  foreach my $name (@entries)
+  {
+    print join("", map {
+      sprintf("%-".$$_{"w"}."s | ", get_datastr($name, $$_{"i"}));
+      } @fieldInfo)."\n";
+  }
+}
+###
+### Dump a Perl module with material data
+###
+elsif ($opt_mode eq "-perl")
+{
+  $Data::Dumper::Indent = 0;
+  $Data::Dumper::Useqq  = 1; 
+  $Data::Dumper::Purity = 1;
+
+  print
+    "package Materials;\n".
+    "require Exporter;\n".
+    "\@ISA = qw(Exporter);\n".
+    "\n".
+    "\@EXPORT = qw(matTable transTable revTransTable matByType matTypes);\n".
+    "\n";
+
+  my $dumper = Data::Dumper->new([$data], ["matTable"]);
+  print "our ".$dumper->Dump()."\n\n";
+
+  $dumper = Data::Dumper->new([\%$transTable], ["transTable"]);
+  print "our ".$dumper->Dump()."\n\n";
+
+  $dumper = Data::Dumper->new([\%$revTransTable], ["revTransTable"]);
+  print "our ".$dumper->Dump()."\n\n";
+
+  $dumper = Data::Dumper->new([\%matByType], ["matByType"]);
+  print "our ".$dumper->Dump()."\n\n";
+
+  $dumper = Data::Dumper->new([\%$matTypes], ["matTypes"]);
+  print "our ".$dumper->Dump()."\n\n";
+  
+  print "1;\n";
+}
+###
+### Dump PHP array format data
+###
+elsif ($opt_mode eq "-php")
+{
+  print "<?php\n".
+  "\$matTransNames = [".
+  join(",", map { "\"".$$_{"l"}."\"" } @fieldInfo).
+  "];\n\n".
+  "\$matTransTable = [\n";
+  foreach my $i (sort { $a <=> $b } keys %$transTable)
+  {
+    print "  [";
+    foreach my $j (sort { $$transTable{$i}{$a} <=> $$transTable{$i}{$b} } keys %{$$transTable{$i}})
+    {
+      print $$transTable{$i}{$j};
+      $j =~ s/very /v./;
+      $j =~ s/incredibly /incr./;
+      print " => \"".$j."\","
+    }
+    print "],\n";
+  }
+  print "];\n\n".
+  "\$matDataTable = [\n";
+  foreach my $name (sort { $a cmp $b } keys %$data)
+  {
+    print "  \"$name\" => [";
+    for (my $qn = 1; $qn < scalar(@fieldInfo); $qn++)
+    {
+      my $i = $fieldInfo[$qn]{"i"};
+      if (ref($$data{$name}{$i}) eq "ARRAY")
+      {
+        print "[".join(",", @{$$data{$name}{$i}})."],";
+      }
+      else
+      {
+        print $$data{$name}{$i}.", ";
+      }
+    }
+    print "],\n";
+  }
+  print "];\n?>\n";
+}