diff --git a/Subsurface/Content/Characters/Husk/husk.xml b/Subsurface/Content/Characters/Husk/husk.xml
index 052271843..137bd0eeb 100644
--- a/Subsurface/Content/Characters/Husk/husk.xml
+++ b/Subsurface/Content/Characters/Husk/husk.xml
@@ -11,6 +11,7 @@
+
diff --git a/Subsurface/Content/Items/Weapons/railgun.xml b/Subsurface/Content/Items/Weapons/railgun.xml
index f77e5ead4..ad75a5009 100644
--- a/Subsurface/Content/Items/Weapons/railgun.xml
+++ b/Subsurface/Content/Items/Weapons/railgun.xml
@@ -110,7 +110,7 @@
-
+
diff --git a/Subsurface/Source/Characters/Character.cs b/Subsurface/Source/Characters/Character.cs
index c32565245..1a7c16bac 100644
--- a/Subsurface/Source/Characters/Character.cs
+++ b/Subsurface/Source/Characters/Character.cs
@@ -915,7 +915,7 @@ namespace Barotrauma
if (isDead) return;
- if (!(AnimController is FishAnimController))
+ if (needsAir)
{
bool protectedFromPressure = PressureProtection > 0.0f;
@@ -1445,7 +1445,7 @@ namespace Barotrauma
else
{
Character character = FindEntityByID(characterId) as Character;
- if (character != null) SelectCharacter(character, false);
+ if (character != null && character.IsHumanoid) SelectCharacter(character, false);
}
return;
case NetworkEventType.KillCharacter:
diff --git a/Subsurface/Source/DebugConsole.cs b/Subsurface/Source/DebugConsole.cs
index 0e0ee524d..d16e443e1 100644
--- a/Subsurface/Source/DebugConsole.cs
+++ b/Subsurface/Source/DebugConsole.cs
@@ -382,16 +382,8 @@ namespace Barotrauma
return;
}
if (Submarine.SaveCurrent(fileName +".sub")) NewMessage("map saved", Color.Green);
+ Submarine.Loaded.CheckForErrors();
- if (WayPoint.WayPointList.Find(wp => !wp.MoveWithLevel && wp.SpawnType == SpawnType.Path)==null)
- {
- DebugConsole.ThrowError("No waypoints found in the submarine. AI controlled crew members won't be able to navigate without waypoints.");
- }
-
- if (WayPoint.WayPointList.Find(wp => wp.SpawnType == SpawnType.Cargo) == null)
- {
- DebugConsole.ThrowError("The submarine doesn't have a waypoint marked as ''Cargo'', which are used for determining where to place bought items.");
- }
break;
case "loadmap":
case "loadsub":
diff --git a/Subsurface/Source/Events/Quests/MonsterQuest.cs b/Subsurface/Source/Events/Quests/MonsterQuest.cs
index 13581fe82..6a7882541 100644
--- a/Subsurface/Source/Events/Quests/MonsterQuest.cs
+++ b/Subsurface/Source/Events/Quests/MonsterQuest.cs
@@ -27,7 +27,7 @@ namespace Barotrauma
public override void Start(Level level)
{
- Vector2 position = level.GetRandomInterestingPosition(monster.Mass > 500.0f, true);
+ Vector2 position = level.GetRandomInterestingPosition(true, true);
monster = Character.Create(monsterFile, position);
monster.Enabled = false;
diff --git a/Subsurface/Source/GUI/GUIScrollBar.cs b/Subsurface/Source/GUI/GUIScrollBar.cs
index df635b1ca..b83047cbf 100644
--- a/Subsurface/Source/GUI/GUIScrollBar.cs
+++ b/Subsurface/Source/GUI/GUIScrollBar.cs
@@ -17,7 +17,7 @@ namespace Barotrauma
private bool enabled;
- public delegate bool OnMovedHandler(float barScroll);
+ public delegate bool OnMovedHandler(GUIScrollBar scrollBar, float barScroll);
public OnMovedHandler OnMoved;
public bool IsHorizontal
@@ -174,7 +174,7 @@ namespace Barotrauma
barScroll = (float)newY / ((float)frame.Rect.Height - (float)bar.Rect.Height);
}
- if (moveAmount != 0 && OnMoved != null) OnMoved(barScroll);
+ if (moveAmount != 0 && OnMoved != null) OnMoved(this, barScroll);
bar.Rect = new Rectangle(newX + frame.Rect.X, newY + frame.Rect.Y, bar.Rect.Width, bar.Rect.Height);
diff --git a/Subsurface/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs b/Subsurface/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs
index 5caeb23fd..65fe392fb 100644
--- a/Subsurface/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs
+++ b/Subsurface/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs
@@ -17,7 +17,7 @@ namespace Barotrauma.Tutorials
public override IEnumerable