home · contact · privacy
Plugin: Fix display of empathy values.
authorChristian Heller <c.heller@plomlompom.de>
Sat, 5 Mar 2016 20:02:57 +0000 (21:02 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Sat, 5 Mar 2016 20:02:57 +0000 (21:02 +0100)
plugins/client/PleaseTheIslandGod.py
plugins/server/PleaseTheIslandGod.py

index e8cfa0ca3e15ecab4db7ac4ba2f61db26667cc5f..808d7938afec0445f295c3dfb08e55bd3860ddce 100644 (file)
@@ -118,9 +118,17 @@ def win_map(self):
                 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 += "  "
index 4a884ed37883ab5cf11294d1d204376e1a9cf654..8cb57340c958e39306fab0da0471aaa57eadf594 100644 (file)
@@ -412,19 +412,17 @@ def write_metamap_A():
     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
@@ -444,16 +442,14 @@ def write_metamap_B():
     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: