X-Git-Url: https://plomlompom.com/repos/?p=plomrogue;a=blobdiff_plain;f=server%2Fthingproliferation.py;h=fec8eb4ec22ea133788343a00e1aaae3b998d283;hp=ad55b3fc7c3c090691f1b5abef7ae71ccd95c5c3;hb=6e4d41846d1bf07db5c91724bdb559285c6ad096;hpb=1a424fe732e404f79b5e67243af46291d192134b diff --git a/server/thingproliferation.py b/server/thingproliferation.py index ad55b3f..fec8eb4 100644 --- a/server/thingproliferation.py +++ b/server/thingproliferation.py @@ -13,21 +13,24 @@ def thingproliferation(t, prol_map): from server.config.world_data import directions_db, world_db from server.config.thingproliferation import field_spreadable, \ thingprol_plugin_conditions, thingprol_plugin_post_create_hook - from server.utils import mv_yx_in_dir_legal, rand + from server.utils import mv_yx_in_dir_legal, rand, id_setter from server.new_thing import new_Thing prolscore = world_db["ThingTypes"][t["T_TYPE"]]["TT_PROLIFERATE"] if prolscore and (1 == prolscore or 1 == (rand.next() % prolscore)) and \ thingprol_plugin_conditions(t): candidates = [] - for dir in [directions_db[key] for key in sorted(directions_db.keys())]: - mv_result = mv_yx_in_dir_legal(dir, t["T_POSY"], t["T_POSX"]) - c = str(prol_map[mv_result[1] + world_db["MAP_LENGTH"] - + mv_result[2]]) + for key in sorted(directions_db.keys()): + mv_result = mv_yx_in_dir_legal(directions_db[key], t["T_POSY"], + t["T_POSX"]) + c = chr(prol_map[mv_result[1] * world_db["MAP_LENGTH"] + + mv_result[2]]) if mv_result[0] and field_spreadable(c, t): + from server.io import log + log("PROL") candidates.append((mv_result[1], mv_result[2])) if len(candidates): i = rand.next() % len(candidates) - id = id_setter(-1, "Things") + tid = id_setter(-1, "Things") newT = new_Thing(t["T_TYPE"], (candidates[i][0], candidates[i][1])) - world_db["Things"][id] = newT + world_db["Things"][tid] = newT thingprol_plugin_post_create_hook(t)