From 5e352d367bfe737b0544a0be2095c2fe44959d79 Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Tue, 1 Sep 2015 04:14:55 +0200
Subject: [PATCH] In actor_move(), don't test target cell passability earlier
 than needed.

---
 roguelike-server | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/roguelike-server b/roguelike-server
index ff799fb..8ae2ba7 100755
--- a/roguelike-server
+++ b/roguelike-server
@@ -632,7 +632,6 @@ def actor_move(t):
                                      t["T_POSY"], t["T_POSX"])
     if 1 == move_result[0]:
         pos = (move_result[1] * world_db["MAP_LENGTH"]) + move_result[2]
-        passable = "." == chr(world_db["MAP"][pos])
         hitted = [id for id in world_db["Things"]
                   if world_db["Things"][id] != t
                   if world_db["Things"][id]["T_LIFEPOINTS"]
@@ -651,6 +650,7 @@ def actor_move(t):
                                                 " wounds you.\n")
             decrement_lifepoints(world_db["Things"][hit_id])
             return
+        passable = "." == chr(world_db["MAP"][pos])
     dir = [dir for dir in directions_db
            if directions_db[dir] == chr(t["T_ARGUMENT"])][0]
     if passable:
-- 
2.30.2