prevent from prying blast doors (#16077)

This commit is contained in:
Slava0135
2023-05-05 16:16:23 +03:00
committed by GitHub
parent d72f7d57c6
commit c47ec40c43
3 changed files with 6 additions and 3 deletions

View File

@@ -185,7 +185,7 @@ public sealed class DoorSystem : SharedDoorSystem
var canEv = new BeforeDoorPryEvent(user, tool);
RaiseLocalEvent(target, canEv, false);
if (canEv.Cancelled)
if (!door.CanPry || canEv.Cancelled)
// mark handled, as airlock component will cancel after generating a pop-up & you don't want to pry a tile
// under a windoor.
return true;

View File

@@ -262,13 +262,16 @@ public sealed class DoorComponent : Component
}
#endregion
[DataField("canPry"), ViewVariables(VVAccess.ReadWrite)]
public bool CanPry = true;
[DataField("pryingQuality", customTypeSerializer: typeof(PrototypeIdSerializer<ToolQualityPrototype>))]
public string PryingQuality = "Prying";
/// <summary>
/// Default time that the door should take to pry open.
/// </summary>
[DataField("pryTime")]
[DataField("pryTime"), ViewVariables(VVAccess.ReadWrite)]
public float PryTime = 1.5f;
[DataField("changeAirtight")]

View File

@@ -17,7 +17,7 @@
openTimeTwo: 0.4
openingAnimationTime: 1.0
closingAnimationTime: 1.0
pryTime: -1
canPry: false
crushDamage:
types:
Blunt: 25 # yowch