X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=server%2Factions.py;h=5492dbe97b2f9bbcb62cb79b5cbe4b852b9ba181;hb=26b0310b0c61804a781149032818d1c6f9b47fd9;hp=302c36d7c8c00d801b6ad61d8f31f9e21d703677;hpb=d29cadf50b9a1daed21fa1d68a5c86ca5d953856;p=plomrogue
diff --git a/server/actions.py b/server/actions.py
index 302c36d..5492dbe 100644
--- a/server/actions.py
+++ b/server/actions.py
@@ -16,7 +16,7 @@ def actor_wait(t):
def actor_move(t):
"""If passable, move/collide(=attack) thing into T_ARGUMENT's direction."""
from server.build_fov_map import build_fov_map
- from server.world import decrement_lifepoints
+ from server.config.misc import decrement_lifepoints_func
from server.utils import mv_yx_in_dir_legal
from server.config.world_data import directions_db, symbols_passable
passable = False
@@ -38,7 +38,7 @@ def actor_move(t):
elif 0 == hit_id:
hitter_name = world_db["ThingTypes"][t["T_TYPE"]]["TT_NAME"]
log(hitter_name +" WOUNDS you.")
- decrement_lifepoints(world_db["Things"][hit_id])
+ decrement_lifepoints_func(world_db["Things"][hit_id])
return
passable = chr(world_db["MAP"][pos]) in symbols_passable
dir = [dir for dir in directions_db
@@ -55,7 +55,7 @@ def actor_move(t):
def actor_pickup(t):
- """Make t pick up (topmost?) Thing from ground into inventory.
+ """Make t pick up (topmost?) Thing from ground into inventory. Return it.
Define topmostness by how low the thing's type ID is.
"""
@@ -67,14 +67,16 @@ def actor_pickup(t):
lowest_tid = -1
for iid in ids:
tid = world_db["Things"][iid]["T_TYPE"]
- if lowest_tid == -1 or tid < lowest_tid:
+ from server.config.actions import actor_pickup_test_hook
+ if (lowest_tid == -1 or tid < lowest_tid) and \
+ actor_pickup_test_hook(t, tid):
id = iid
lowest_tid = tid
world_db["Things"][id]["carried"] = True
t["T_CARRIES"].append(id)
if t == world_db["Things"][0]:
log("You PICK UP an object.")
-
+ return world_db["Things"][id]
def actor_drop(t):
"""Make t rop Thing from inventory to ground indexed by T_ARGUMENT."""
@@ -98,6 +100,6 @@ def actor_use(t):
del world_db["Things"][id]
t["T_SATIATION"] += world_db["ThingTypes"][type]["TT_TOOLPOWER"]
if t == world_db["Things"][0]:
- log("You CONSUME this object.")
+ log("You CONSUME this thing.")
elif t == world_db["Things"][0]:
log("You try to use this object, but FAIL.")