diff --git a/Subsurface/Source/Characters/AICharacter.cs b/Subsurface/Source/Characters/AICharacter.cs index b32f053d5..651e952d3 100644 --- a/Subsurface/Source/Characters/AICharacter.cs +++ b/Subsurface/Source/Characters/AICharacter.cs @@ -128,6 +128,8 @@ namespace Barotrauma message.Write(AnimController.RefLimb.SimPosition.Y); return true; + case NetworkEventType.InventoryUpdate: + return base.FillNetworkData(type, message, data); default: #if DEBUG DebugConsole.ThrowError("AICharacter network event had a wrong type ("+type+")"); @@ -146,6 +148,9 @@ namespace Barotrauma case NetworkEventType.KillCharacter: Kill(CauseOfDeath.Damage, true); return; + case NetworkEventType.InventoryUpdate: + base.ReadNetworkData(type, message, sendingTime, out data); + return; case NetworkEventType.ImportantEntityUpdate: Vector2 limbPos = AnimController.RefLimb.SimPosition; diff --git a/Subsurface/Source/DebugConsole.cs b/Subsurface/Source/DebugConsole.cs index 76ccb4097..f15c411e0 100644 --- a/Subsurface/Source/DebugConsole.cs +++ b/Subsurface/Source/DebugConsole.cs @@ -313,8 +313,8 @@ namespace Barotrauma case "controlcharacter": case "control": if (commands.Length < 2) break; - commands[1] = commands[1].ToLowerInvariant(); - Character.Controlled = Character.CharacterList.Find(c => !c.IsNetworkPlayer && c.Name.ToLowerInvariant() == commands[1]); + string name = string.Join(" ", commands.Skip(1)).ToLowerInvariant(); + Character.Controlled = Character.CharacterList.Find(c => !c.IsNetworkPlayer && c.Name.ToLowerInvariant() == name); break; case "godmode": if (Submarine.MainSub == null) return; diff --git a/Subsurface/Source/Items/Item.cs b/Subsurface/Source/Items/Item.cs index 1661366cd..2ac67c0f4 100644 --- a/Subsurface/Source/Items/Item.cs +++ b/Subsurface/Source/Items/Item.cs @@ -1632,7 +1632,12 @@ namespace Barotrauma if (body != null) body.FillNetworkData(message); break; case NetworkEventType.PhysicsBodyPosition: - System.Diagnostics.Debug.Assert(body != null, "Tried to send a PhysicsBodyPosition message for an item that has no physics body"); +#if DEBUG + System.Diagnostics.Debug.Assert(body != null, "Tried to send a PhysicsBodyPosition message for an item that has no physics body ("+Name+")"); +#else + if (body == null) return; +#endif + body.FillNetworkData(message); break; case NetworkEventType.ItemFixed: