Closed Numbuh474 closed 1 year ago
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.
Is your feature request related to a problem? Please describe.
As of now, there isn't a decent implementation of key/lock pairs. A system should be implemented that is able to generate reasonable pairings between keys and track what keys are able to open what locks. It would be hard to represent rare loot keys such as the various ID cards with "realistic" portrayals without making it frustrating for the player, so a chance-based key system should be added as a bridge between keys automatically opening everything and making the player hunt down one specific door to use it on. This also makes zombie-held keys easier to deal with as you don't need to go pick a house to bind a key to whenever you generate one.
Solution you would like.
key_type
field for keys that defines what kind of locks a key is capable of interacting with.key_type
should be an item property and the same for each instance of an item type.key_faction
field for keys that describes what locks "unbound" keys should work with.key_data
field that represents whether a key of a specific type can open a door. Some number pseudo-randomly assigned on item generation if applicable. Can use a null value to represent "unbound" keys or locks that can only be opened via prying or lockpicking.binding_roll
field for keys when "unbound" keys try to unlock something of the same type and faction. Unbound keys have a 1 in (bind_roll
) chance to unlock that door and save itskey_data
.no_open
field for "unbound" keys. If a key fails abind_roll
that lock's 'key_data' is saved here so that repeated attempts will not work with that lock.key_data
to a vehicle on generation.In terms of items, the following changes would need to be implemented.
key_data
as any locked doors that generate on that tile.key_data
as the vehicle.military
card
items withbinding_roll
=1 that work with any military card readers.science
orindustrial
card
items withbinding roll
=5, to represent that not all cards should grant access to the same facilities.binding_roll
=50 to represent keys you could probably find a lock for if you were persistent enough.Describe alternatives you have considered.
key_faction
for sneaking into places you aren't supposed to be.key_faction
for use with portal storm dungeons.military
signal
keys can pacify turrets, manhacks, and/or dispatches. It's not realistic that they wouldn't have some way to turn them off without risk of being shot.key_faction
and corresponding item that can pacify police bots, for similar reasons to the above.key_faction
for whenever they reach a stable state and/or making someone slap themself with their own robot arms.single_use
field for keys that indicates they are deactivated or destroyed on (successful) use.binding_roll
to null for decorative keys that will never open any locks.clearance
tool quality that represents different levels of security or code complexity, for more realistic portrayals of special locations. For instance, military ID cards can be split into multiple variants where clearance 1 cards are able to open doors and clearance 2 cards are able to open both doors and ammo lockers. Clearance 3 cards can be used to open treasure vaults in addition to doors and ammo lockers, and so on.no faction
signal
master key items to represent the fact that vehicles usually require some form of cryptographic handshake with their keyfobs that you need to decipher.Additional context
No response