home · contact · privacy
Server, plugin: Refactor actor_use plugin hooking.
[plomrogue] / server / actions.py
index 5492dbe97b2f9bbcb62cb79b5cbe4b852b9ba181..ee68866b000dfb238b7c5debd0976d95ad42c85f 100644 (file)
@@ -79,7 +79,7 @@ def actor_pickup(t):
         return world_db["Things"][id]
 
 def actor_drop(t):
-    """Make t rop Thing from inventory to ground indexed by T_ARGUMENT."""
+    """Drop to ground from t's inventory, return T_ARGUMENT-indexed Thing."""
     # TODO: Handle case where T_ARGUMENT matches nothing.
     if len(t["T_CARRIES"]):
         id = t["T_CARRIES"][t["T_ARGUMENT"]]
@@ -87,7 +87,7 @@ def actor_drop(t):
         world_db["Things"][id]["carried"] = False
         if t == world_db["Things"][0]:
             log("You DROP an object.")
-
+            return world_db["Things"][id]
 
 def actor_use(t):
     """Make t use (for now: consume) T_ARGUMENT-indexed Thing in inventory."""
@@ -101,5 +101,6 @@ def actor_use(t):
             t["T_SATIATION"] += world_db["ThingTypes"][type]["TT_TOOLPOWER"]
             if t == world_db["Things"][0]:
                 log("You CONSUME this thing.")
-        elif t == world_db["Things"][0]:
-            log("You try to use this object, but FAIL.")
+        else:
+            from server.config.actions import actor_use_attempts_hook
+            actor_use_attempts_hook(t, type)