elif char == "=":
                     attribute = col_lumber
                 bonus = (" ", attribute)
-                if len(world_data["metamap_A"]) > 0 and \
-                        world_data["metamap_A"][pos] == "2":
-                    bonus = ("+", col_stack)
+                if len(world_data["metamap_A"]) > 0:
+                    if world_data["metamap_A"][pos] == "2":
+                        bonus = ("+", col_stack)
+                    elif not world_data["metamap_A"][pos] in "01":
+                        c = world_data["metamap_B"][pos]
+                        if world_data["metamap_A"][pos] == "a":
+                            bonus = (c, col_health_bad)
+                        elif world_data["metamap_A"][pos] == "b":
+                            bonus = (c, col_health_middle)
+                        elif world_data["metamap_A"][pos] == "c":
+                            bonus = (c, col_health_good)
                 winmap += [(char, attribute), bonus]
         if y % 2 == 0:
             winmap += "  "
 
     ord_v = ord("v")
     length = world_db["MAP_LENGTH"]
     metamapA = bytearray(b'0' * (length ** 2))
-    for id in [id for id in world_db["Things"]
-                  if not world_db["Things"][id]["carried"]
-                  if world_db["Things"][id]["T_LIFEPOINTS"]
+    for tid in [tid for tid in world_db["Things"]
+                  if not world_db["Things"][tid]["carried"]
+                  if world_db["Things"][tid]["T_LIFEPOINTS"]
                   if world_db["Things"][0]["fovmap"][
-                       world_db["Things"][id]["T_POSY"] * length
-                       + world_db["Things"][id]["T_POSX"]] == ord_v]:
-        pos = (world_db["Things"][id]["T_POSY"] * length
-              + world_db["Things"][id]["T_POSX"])
-        if id == 0 or world_db["EMPATHY"]:
-            type = world_db["Things"][id]["T_TYPE"]
-            max_hp = world_db["ThingTypes"][type]["TT_LIFEPOINTS"]
+                       world_db["Things"][tid]["pos"]] == ord_v]:
+        pos = (world_db["Things"][tid]["pos"])
+        if tid == 0 or world_db["EMPATHY"]:
+            ttid = world_db["Things"][tid]["T_TYPE"]
+            max_hp = world_db["ThingTypes"][ttid]["TT_LIFEPOINTS"]
             third_of_hp = max_hp / 3
-            hp = world_db["Things"][id]["T_LIFEPOINTS"]
+            hp = world_db["Things"][tid]["T_LIFEPOINTS"]
             add = 0
             if hp > 2 * third_of_hp:
                  add = 2
     ord_v = ord("v")
     length = world_db["MAP_LENGTH"]
     metamapB = bytearray(b' ' * (length ** 2))
-    for id in [id for id in world_db["Things"]
-                  if not world_db["Things"][id]["carried"]
-                  if world_db["Things"][id]["T_LIFEPOINTS"]
+    for tid in [tid for tid in world_db["Things"]
+                  if not world_db["Things"][tid]["carried"]
+                  if world_db["Things"][tid]["T_LIFEPOINTS"]
                   if world_db["Things"][0]["fovmap"][
-                       world_db["Things"][id]["T_POSY"] * length
-                       + world_db["Things"][id]["T_POSX"]] == ord_v]:
-        pos = (world_db["Things"][id]["T_POSY"] * length
-              + world_db["Things"][id]["T_POSX"])
-        if id == 0 or world_db["EMPATHY"]:
-            action = world_db["Things"][id]["T_COMMAND"]
+                       world_db["Things"][tid]["pos"]] == ord_v]:
+        pos = (world_db["Things"][tid]["pos"])
+        if tid == 0 or world_db["EMPATHY"]:
+            action = world_db["Things"][tid]["T_COMMAND"]
             if 0 != action:
                 name = world_db["ThingActions"][action]["TA_NAME"]
             else: