X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=server%2Fcommands.py;h=b8216a0fec6433699401b6eefc9cfa4bf41a7080;hb=HEAD;hp=536e330522a6c98e2c8a8d26856049da79db43a9;hpb=5cdce6d500080008b097435e2891674c16fde208;p=plomrogue diff --git a/server/commands.py b/server/commands.py index 536e330..b8216a0 100644 --- a/server/commands.py +++ b/server/commands.py @@ -7,7 +7,7 @@ from server.config.world_data import world_db from server.config.io import io_db from server.io import log, strong_write from server.utils import integer_test, id_setter -from server.world import set_world_inactive, turn_over +from server.world import set_world_inactive, turn_over, eat_vs_hunger_threshold from server.update_map_memory import update_map_memory from server.build_fov_map import build_fov_map @@ -300,6 +300,13 @@ def command_ttcorpseid(str_int): print("Ignoring: Corpse ID belongs to no known ThignType.") +@test_ThingType_id +def command_ttlifepoints(val_string): + setter("ThingType", "TT_LIFEPOINTS", 0, 255)(val_string) + tt = world_db["ThingTypes"][command_ttid.id] + tt["eat_vs_hunger_threshold"] = eat_vs_hunger_threshold(command_ttid.id) + + @test_ThingAction_id def command_taname(name): """Set TA_NAME of selected ThingAction. @@ -320,6 +327,15 @@ def command_taname(name): print("Ignoring: Invalid action name.") +@test_ThingAction_id +def command_taeffort(val_string): + setter("ThingAction", "TA_EFFORT", 0, 255)(val_string) + if world_db["ThingActions"][command_taid.id]["TA_NAME"] == "use": + for ttid in world_db["ThingTypes"]: + tt = world_db["ThingTypes"][ttid] + tt["eat_vs_hunger_threshold"] = eat_vs_hunger_threshold(ttid) + + def setter(category, key, min, max=None): """Build setter for world_db([category + "s"][id])[key] to >=min/<=max.""" if category is None: @@ -425,7 +441,8 @@ def set_command(action): def play_wait(): """Try "wait" as player's T_COMMAND.""" - set_command("wait") + if world_db["WORLD_ACTIVE"]: + set_command("wait") def action_exists(action): @@ -439,7 +456,7 @@ def action_exists(action): def play_pickup(): """Try "pickup" as player's T_COMMAND".""" - if action_exists("pickup"): + if action_exists("pickup") and world_db["WORLD_ACTIVE"]: t = world_db["Things"][0] ids = [tid for tid in world_db["Things"] if tid if not world_db["Things"][tid]["carried"] @@ -453,7 +470,7 @@ def play_pickup(): def play_drop(str_arg): """Try "drop" as player's T_COMMAND, int(str_arg) as T_ARGUMENT / slot.""" - if action_exists("drop"): + if action_exists("drop") and world_db["WORLD_ACTIVE"]: t = world_db["Things"][0] if 0 == len(t["T_CARRIES"]): log("You have NOTHING to drop in your inventory.") @@ -468,7 +485,7 @@ def play_drop(str_arg): def play_use(str_arg): """Try "use" as player's T_COMMAND, int(str_arg) as T_ARGUMENT / slot.""" - if action_exists("use"): + if action_exists("use") and world_db["WORLD_ACTIVE"]: t = world_db["Things"][0] if 0 == len(t["T_CARRIES"]): log("You have NOTHING to use in your inventory.") @@ -491,7 +508,7 @@ def play_use(str_arg): def play_move(str_arg): """Try "move" as player's T_COMMAND, str_arg as T_ARGUMENT / direction.""" - if action_exists("move"): + if action_exists("move") and world_db["WORLD_ACTIVE"]: from server.config.world_data import directions_db, symbols_passable t = world_db["Things"][0] if not str_arg in directions_db: @@ -518,5 +535,6 @@ def play_move(str_arg): def command_ai(): """Call ai() on player Thing, then turn_over().""" from server.ai import ai - ai(world_db["Things"][0]) - turn_over() + if world_db["WORLD_ACTIVE"]: + ai(world_db["Things"][0]) + turn_over()