X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=plomrogue-server.py;h=5c07f6d73a1acd96a7c3915fc3cac635f8937ce4;hb=e40265fe547e0dcee7f3ae104b4f71802b968976;hp=59b1af3af34c5dcb0f45c14c6d2c6ec7ec4a6db4;hpb=a673f7a786188a0f2d7f0ecd588508b9ceaf44ed;p=plomrogue
diff --git a/plomrogue-server.py b/plomrogue-server.py
index 59b1af3..5c07f6d 100755
--- a/plomrogue-server.py
+++ b/plomrogue-server.py
@@ -341,12 +341,11 @@ def try_worldstate_update():
string = write_map(string, fov)
mem = world_db["Things"][0]["T_MEMMAP"][:]
for i in range(2):
- for memthing in world_db["Things"][0]["T_MEMTHING"]:
- type = world_db["Things"][memthing[0]]["T_TYPE"]
- consumable = world_db["ThingTypes"][type]["TT_CONSUMABLE"]
+ for mt in world_db["Things"][0]["T_MEMTHING"]:
+ consumable = world_db["ThingTypes"][mt[0]]["TT_CONSUMABLE"]
if (i == 0 and not consumable) or (i == 1 and consumable):
- c = world_db["ThingTypes"][type]["TT_SYMBOL"]
- mem[(memthing[1] * length) + memthing[2]] = ord(c)
+ c = world_db["ThingTypes"][mt[0]]["TT_SYMBOL"]
+ mem[(mt[1] * length) + mt[2]] = ord(c)
string = write_map(string, mem)
atomic_write(io_db["path_worldstate"], string)
strong_write(io_db["file_out"], "WORLD_UPDATED\n")
@@ -475,12 +474,14 @@ def update_map_memory(t):
if " " == chr(t["T_MEMMAP"][pos]):
t["T_MEMMAP"][pos] = world_db["MAP"][pos]
continue
- # TODO: Aging of MEMDEPTHMAP.
- for memthing in t["T_MEMTHING"]:
- y = world_db["Things"][memthing[0]]["T_POSY"]
- x = world_db["Things"][memthing[0]]["T_POSX"]
- if "v" == chr(t["fovmap"][(y * world_db["MAP_LENGTH"]) + x]):
- t["T_MEMTHING"].remove(memthing)
+ if ord('0') <= t["T_MEMDEPTHMAP"][pos] \
+ and ord('9') >= t["T_MEMDEPTHMAP"][pos] \
+ and not rand.next() % (2 ** (t["T_MEMDEPTHMAP"][pos] - 48)):
+ t["T_MEMDEPTHMAP"][pos] += 1
+ for mt in [mt for mt in t["T_MEMTHING"]
+ if "v" == chr(t["fovmap"][(mt[1] * world_db["MAP_LENGTH"])
+ + mt[2]])]:
+ t["T_MEMTHING"].remove(mt)
for id in world_db["Things"]:
type = world_db["Things"][id]["T_TYPE"]
if not world_db["ThingTypes"][type]["TT_LIFEPOINTS"]: