From: Christian Heller Date: Sun, 28 Feb 2016 21:07:43 +0000 (+0100) Subject: Server, plugin: Refactor actor_drop plugin hooking. X-Git-Tag: tce~126 X-Git-Url: https://plomlompom.com/repos/%7B%7Bdb.prefix%7D%7D/%7B%7B%20web_path%20%7D%7D/decks/%7B%7Bprefix%7D%7D/process?a=commitdiff_plain;h=c29d6ff72609528521634104c636658325a07796;p=plomrogue Server, plugin: Refactor actor_drop plugin hooking. --- diff --git a/plugins/server/PleaseTheIslandGod.py b/plugins/server/PleaseTheIslandGod.py index d28e235..b3afc6a 100644 --- a/plugins/server/PleaseTheIslandGod.py +++ b/plugins/server/PleaseTheIslandGod.py @@ -91,14 +91,10 @@ def actor_pickup_test_hook(t, tid): (tt["TT_TOOLPOWER"] <= eat_vs_hunger_threshold(t["T_TYPE"])))) def actor_drop(t): - """Make t rop Thing from inventory to ground indexed by T_ARGUMENT.""" - if len(t["T_CARRIES"]): - id = t["T_CARRIES"][t["T_ARGUMENT"]] - t["T_CARRIES"].remove(id) - world_db["Things"][id]["carried"] = False - if t == world_db["Things"][0]: - log("You DROP an object.") - world_db["Things"][id]["T_PLAYERDROP"] = 1 + from server.actions import actor_drop + dropped = actor_drop(t) + if dropped != None: + dropped["T_PLAYERDROP"] = 1 def actor_use(t): if len(t["T_CARRIES"]): diff --git a/server/actions.py b/server/actions.py index 5492dbe..7f1f657 100644 --- a/server/actions.py +++ b/server/actions.py @@ -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."""