elimelec / inethack

Automatically exported from code.google.com/p/inethack
GNU General Public License v2.0
0 stars 0 forks source link

Ouch! You've bumped into a door #160

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Walk into a door, and randomly, instead of opening, the above message 
appears 

What is the expected output? What do you see instead?
I expect the door to open, resist, or say it is locked.

What version of the product are you using? On what operating system?
iNethack 1.3rc iPhone 1st gen 3.0 jailbroken 

Please provide any additional information below.
Error is not consistently reproducible

Original issue reported on code.google.com by RedBan...@gmail.com on 22 Dec 2009 at 6:24

GoogleCodeExporter commented 8 years ago

Original comment by din...@gmail.com on 27 Dec 2009 at 12:29

GoogleCodeExporter commented 8 years ago
Judging from the code there is only one case when this can happen (and it 
happens
before any door check by the GUI/click_to_cmd takes place):

if (Blind || Stunned || ACURR(A_DEX) < 10 || Fumbling) ...

So I guess it's a feature :)

Original comment by din...@gmail.com on 7 Jan 2010 at 5:56

GoogleCodeExporter commented 8 years ago
There must be another way to call the output. I keep reproducing the problem
randomly...  Attached is a screenshot.

Original comment by RedBan...@gmail.com on 20 Jan 2010 at 3:15

Attachments:

GoogleCodeExporter commented 8 years ago
Nope, that's the only place that phrase exists in the code.  In the screenshot, 
your DEX is 9...which is less than 
10.  So, (ACURR(A_DEX)) < 10 would be TRUE.  You run into the door.  But...

I've been able to produce the inconsistent behavior with unlocked doors myself. 
 It's quite rare, but does 
happen.

Here's what I've seen:

The above code only executes and produces OUCH! when test_move is called with 
mode=DO_MOVE.  The 
code that leads to the kick/open selection in cmd.c calls test_move with 
mode=TEST_MOVE.  That only 
happens in one place in the code.  So, somehow this code is getting called on 
occasion on a closed door.

This may be a random event to annoy those with low DEX.  I don't know.  It's 
late here, so I'm heading to bed.

Original comment by farlo...@gmail.com on 14 Feb 2010 at 5:01