diff --git a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems index 91e79eb92..164bdd3a4 100644 --- a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems +++ b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems @@ -295,6 +295,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -913,6 +916,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -928,6 +934,18 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest diff --git a/Barotrauma/BarotraumaShared/Content/Items/Button/button.png b/Barotrauma/BarotraumaShared/Content/Items/Button/button.png index e73ef0aed..b47787c54 100644 Binary files a/Barotrauma/BarotraumaShared/Content/Items/Button/button.png and b/Barotrauma/BarotraumaShared/Content/Items/Button/button.png differ diff --git a/Barotrauma/BarotraumaShared/Content/Items/Button/button.xml b/Barotrauma/BarotraumaShared/Content/Items/Button/button.xml index c2e14f374..5def1564e 100644 --- a/Barotrauma/BarotraumaShared/Content/Items/Button/button.xml +++ b/Barotrauma/BarotraumaShared/Content/Items/Button/button.xml @@ -1,33 +1,66 @@ - + + - + - - - - + + + + - + - - - - + + + + - - - - + + + + - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Barotrauma/BarotraumaShared/Content/Items/Button/switch.ogg b/Barotrauma/BarotraumaShared/Content/Items/Button/switch.ogg new file mode 100644 index 000000000..83e99e918 Binary files /dev/null and b/Barotrauma/BarotraumaShared/Content/Items/Button/switch.ogg differ diff --git a/Barotrauma/BarotraumaShared/Content/Items/Door/doorBreak1.ogg b/Barotrauma/BarotraumaShared/Content/Items/Door/doorBreak1.ogg new file mode 100644 index 000000000..fb1517e66 Binary files /dev/null and b/Barotrauma/BarotraumaShared/Content/Items/Door/doorBreak1.ogg differ diff --git a/Barotrauma/BarotraumaShared/Content/Items/Door/doorBreak2.ogg b/Barotrauma/BarotraumaShared/Content/Items/Door/doorBreak2.ogg new file mode 100644 index 000000000..4db93332b Binary files /dev/null and b/Barotrauma/BarotraumaShared/Content/Items/Door/doorBreak2.ogg differ diff --git a/Barotrauma/BarotraumaShared/Content/Items/Door/doors.xml b/Barotrauma/BarotraumaShared/Content/Items/Door/doors.xml index 476f8a787..046de4b1a 100644 --- a/Barotrauma/BarotraumaShared/Content/Items/Door/doors.xml +++ b/Barotrauma/BarotraumaShared/Content/Items/Door/doors.xml @@ -6,13 +6,16 @@ - + - + + + + @@ -37,13 +40,16 @@ - + - + + + + @@ -68,13 +74,16 @@ - + - + + + + @@ -103,6 +112,9 @@ + + + @@ -134,6 +146,9 @@ + + + @@ -158,5 +173,39 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Barotrauma/BarotraumaShared/Content/Items/Door/duct.ogg b/Barotrauma/BarotraumaShared/Content/Items/Door/duct.ogg new file mode 100644 index 000000000..9ca48003e Binary files /dev/null and b/Barotrauma/BarotraumaShared/Content/Items/Door/duct.ogg differ diff --git a/Barotrauma/BarotraumaShared/Content/Items/Door/duct.png b/Barotrauma/BarotraumaShared/Content/Items/Door/duct.png new file mode 100644 index 000000000..284838e56 Binary files /dev/null and b/Barotrauma/BarotraumaShared/Content/Items/Door/duct.png differ diff --git a/Barotrauma/BarotraumaShared/Content/Items/Door/ductBreak.ogg b/Barotrauma/BarotraumaShared/Content/Items/Door/ductBreak.ogg new file mode 100644 index 000000000..f17f9734f Binary files /dev/null and b/Barotrauma/BarotraumaShared/Content/Items/Door/ductBreak.ogg differ diff --git a/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalcomp.png b/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalcomp.png index e6d317588..e49db8b05 100644 Binary files a/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalcomp.png and b/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalcomp.png differ diff --git a/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml b/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml index 687e98788..bdd85ce4f 100644 --- a/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml +++ b/Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml @@ -335,7 +335,7 @@ - + @@ -366,7 +366,7 @@ - + @@ -382,6 +382,37 @@ + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/Barotrauma/BarotraumaShared/Content/Items/Fabricators/fabricators.xml b/Barotrauma/BarotraumaShared/Content/Items/Fabricators/fabricators.xml index b4138cfbe..c0faaec02 100644 --- a/Barotrauma/BarotraumaShared/Content/Items/Fabricators/fabricators.xml +++ b/Barotrauma/BarotraumaShared/Content/Items/Fabricators/fabricators.xml @@ -37,6 +37,7 @@ + @@ -45,6 +46,7 @@ + diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs index fbb0e3fe4..a928a20df 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Door.cs @@ -203,8 +203,22 @@ namespace Barotrauma.Items.Components #endif } + public override bool HasRequiredItems(Character character, bool addMessage) + { + if (item.Condition <= 0.0f) return true; //For repairing + + return base.HasRequiredItems(character, addMessage); + } + + public override bool Pick(Character picker) + { + return item.Condition <= 0.0f ? true : base.Pick(picker); + } + public override bool OnPicked(Character picker) { + if (item.Condition <= 0.0f) return true; //repairs + SetState(predictedState == null ? !isOpen : !predictedState.Value, false, true); //crowbar function #if CLIENT PlaySound(ActionType.OnPicked, item.WorldPosition); diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs index 498279d26..ff9fa7497 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs @@ -196,7 +196,7 @@ namespace Barotrauma.Items.Components try { - string pickKeyStr = element.GetAttributeString("selectkey", "Select"); + string pickKeyStr = element.GetAttributeString("pickkey", "Select"); pickKeyStr = ToolBox.ConvertInputType(pickKeyStr); PickKey = (InputType)Enum.Parse(typeof(InputType),pickKeyStr, true); } @@ -437,7 +437,7 @@ namespace Barotrauma.Items.Components return true; } - public bool HasRequiredItems(Character character, bool addMessage) + public virtual bool HasRequiredItems(Character character, bool addMessage) { if (!requiredItems.Any()) return true; if (character.Inventory == null) return false; diff --git a/Barotrauma/BarotraumaShared/Source/Items/Item.cs b/Barotrauma/BarotraumaShared/Source/Items/Item.cs index 42686c6fb..8964c050f 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Item.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Item.cs @@ -1106,8 +1106,6 @@ namespace Barotrauma ic.ApplyStatusEffects(ActionType.OnPicked, 1.0f, picker); #if CLIENT - ic.PlaySound(ActionType.OnPicked, picker.WorldPosition); - if (picker == Character.Controlled) GUIComponent.ForceMouseOn(null); #endif