* new Dev map * добавлена генерация узора ключей раундстартом * каменная стена подгон KREKSa фиксы * add verbs to lock comp * more Loc work * some popups, logic to lock and unlock locks * return old Dev * ability to add locks into doors * check to locked lock, to insert or remove locks * doors examine * key can uses directly to door * really lockable! * lockable crates! * Bruh... Really big update * Key sprites, long wall template * KeyRingComponent * lock entity start * lockpicking! * Shiny 1 * Update keys.yml * Отображение только для держащего в руке * Final --------- Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
using Content.Shared.CrystallPunk.LockKey;
|
|
using Content.Shared.Damage;
|
|
using Robust.Shared.GameStates;
|
|
using Robust.Shared.Prototypes;
|
|
|
|
namespace Content.Shared.CrystallPunk.LockKey;
|
|
|
|
/// <summary>
|
|
/// A component of a lock that stores its keyhole shape, complexity, and current state.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed partial class CPLockComponent : Component
|
|
{
|
|
[DataField]
|
|
public List<int>? LockShape = null;
|
|
|
|
[DataField]
|
|
public float LockPickDamageChance = 0.2f;
|
|
|
|
/// <summary>
|
|
/// On which element of the shape sequence the lock is now located. It's necessary for the mechanics of breaking and entering.
|
|
/// </summary>
|
|
[DataField]
|
|
public int LockpickStatus = 0;
|
|
|
|
/// <summary>
|
|
/// after a lock is broken into, it leaves a description on it that it's been tampered with.
|
|
/// </summary>
|
|
[DataField]
|
|
public bool LockpickeddFailMarkup = false;
|
|
|
|
/// <summary>
|
|
/// If not null, automatically generates a lock for the specified category on initialization. This ensures that the lock will be opened with a key of the same category.
|
|
/// </summary>
|
|
[DataField]
|
|
public ProtoId<CPLockCategoryPrototype>? AutoGenerateShape = null;
|
|
}
|