Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Safe cracking never fails. #9695

Closed
BevapDin opened this issue Oct 26, 2014 · 9 comments

Comments

Projects
None yet
9 participants
@BevapDin
Copy link
Contributor

commented Oct 26, 2014

iexamine::safe has a boolean success which controls whether the safe cracking was successful, but that variable starts with true and is never set to anything else. Therefor the non-success branch is never run and the safe is always opened.

I suggest to either removing the variable and the check completely, keeping the current behavior without useless code.

Or adding some kind of check (based on dexterity?).

The PR "No safecracking when deaf" does not affect this.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@desrik

This comment has been minimized.

Copy link
Contributor

commented Oct 26, 2014

Dexterity and perhaps mechanics?

EDIT:: Or even possibly perception?

@IFailAtGaming

This comment has been minimized.

Copy link

commented Oct 26, 2014

perception makes more sense honestly, if you can check for mutations it should also check for the earing ones

@KA101

This comment has been minimized.

Copy link
Contributor

commented Oct 26, 2014

Checking for mutations would be trivial, and I'd say there's room for both DX and PE. Probably weighted (2*PE + DX) / 3 + Mech + (hearing bonuses/penalties) > (safe value to be determined).

Where to stick the RNG in there is up for discussion.

@Mshock777

This comment has been minimized.

Copy link
Contributor

commented Oct 26, 2014

I think mech. (+Int/Per) should determine minimal threshold for safecracking, when
(2*PE + DX) / 3 + Mech + (hearing bonuses/penalties) should be included in one_in() calculation, when 50% is about 10 points of Dex/Per/Int and, lets say, 2 of mech. skill.

@Snaaty

This comment has been minimized.

Copy link
Contributor

commented Oct 27, 2014

Yeah, I also thought about that. I couldn't really come up witha feasible formula to determine success, though.
Also, there is the problem, if safe cracking can and/or should actually fail?
Because if you don't manage to crack the safe, you could just try again, ad infinitum.
So, should safe-cracking be failable or just take a really long time with insufficient DEX, PER, Mechanics ?

@KA101

This comment has been minimized.

Copy link
Contributor

commented Oct 27, 2014

take a really long time

Long Action protection, but I could accept folks not having the stats giving up in frustration.

@sparr

This comment has been minimized.

Copy link
Member

commented Nov 27, 2015

in nethack, it's possible to be unable to pick a lock at all, in which case you have to resort to other ways to get the chest/door open. I'm thinking we might want some characters to be unable to crack a safe, and make them go find a torch or power tools. of course, that would mean implementing those alternate methods.

@karlnp

This comment has been minimized.

Copy link
Contributor

commented Nov 27, 2015

@i2amroy had a blowtorch PR at one point but it seems to have fallen by the wayside.

@Soyweiser

This comment has been minimized.

Copy link
Contributor

commented Aug 16, 2016

Ancient issue, while there is no failure for safes now still, the useless code mentioned has been removed. And there are now checks and requirements for normal safe cracking. (gunsafees are different).

See: http://www.wiki.cataclysmdda.com/index.php?title=Lockpicking

So think this could be closed now right?

@BevapDin BevapDin closed this Aug 18, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.