diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ScenarioTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ScenarioTutorial.cs index cbff14dca..07f73f766 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ScenarioTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ScenarioTutorial.cs @@ -126,6 +126,20 @@ namespace Barotrauma.Tutorials idCard.AddTag("com"); idCard.AddTag("eng"); + List entities = Entity.GetEntityList(); + + for (int i = 0; i < entities.Count; i++) + { + if (entities[i] is Item) + { + Door door = (entities[i] as Item).GetComponent(); + if (door != null) + { + door.CanBeWelded = false; + } + } + } + tutorialCoroutine = CoroutineManager.StartCoroutine(UpdateState()); } diff --git a/Barotrauma/BarotraumaClient/Source/Sounds/VideoSound.cs b/Barotrauma/BarotraumaClient/Source/Sounds/VideoSound.cs index 12be94908..011d557ab 100644 --- a/Barotrauma/BarotraumaClient/Source/Sounds/VideoSound.cs +++ b/Barotrauma/BarotraumaClient/Source/Sounds/VideoSound.cs @@ -74,7 +74,7 @@ namespace Barotrauma.Sounds public override SoundChannel Play() { - return Play(0.5f); + return Play(1.0f); } public override int FillStreamBuffer(int samplePos, short[] buffer) diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs index 0884b7a5d..b42997efe 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs @@ -59,6 +59,8 @@ namespace Barotrauma.Items.Components get { return item.GetComponent()?.ShowRepairUIThreshold ?? 0.0f; } } + public bool CanBeWelded = true; + private float stuck; [Serialize(0.0f, false)] public float Stuck @@ -66,7 +68,7 @@ namespace Barotrauma.Items.Components get { return stuck; } set { - if (isOpen || isBroken) return; + if (isOpen || isBroken || !CanBeWelded) return; stuck = MathHelper.Clamp(value, 0.0f, 100.0f); if (stuck <= 0.0f) isStuck = false; if (stuck >= 100.0f) isStuck = true; diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/RepairTool.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/RepairTool.cs index 681f74534..e3da931e2 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/RepairTool.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Holdable/RepairTool.cs @@ -427,6 +427,7 @@ namespace Barotrauma.Items.Components { if (target is Door door) { + if (!door.CanBeWelded) continue; for (int i = 0; i < effect.propertyNames.Length; i++) { string propertyName = effect.propertyNames[i];