Clients can create firesources if server tells them to, extinguishing fixes

This commit is contained in:
Regalis
2017-01-11 18:02:24 +02:00
parent b9006983e4
commit 8a9b322b78
3 changed files with 15 additions and 5 deletions

View File

@@ -61,10 +61,12 @@ namespace Barotrauma
get { return hull; }
}
public FireSource(Vector2 worldPosition, Hull spawningHull = null)
public FireSource(Vector2 worldPosition, Hull spawningHull = null, bool isNetworkMessage = false)
{
hull = Hull.FindHull(worldPosition, spawningHull);
if (hull == null || (GameMain.Client!=null)) return;
if (hull == null) return;
if (!isNetworkMessage && GameMain.Client != null) return;
if (fireSoundBasic==null)
{
@@ -311,7 +313,7 @@ namespace Barotrauma
float range = 100.0f;
if (pos.X < WorldPosition.X - range || pos.X > WorldPosition.X + size.X + range) return;
if (pos.Y < WorldPosition.Y - size.Y || pos.Y > WorldPosition.Y + 500.0f) return;
if (pos.Y < WorldPosition.Y - range || pos.Y > WorldPosition.Y + 500.0f) return;
float extinquishAmount = amount * deltaTime;

View File

@@ -876,7 +876,7 @@ namespace Barotrauma
}
else
{
var newFire = new FireSource(pos + Submarine.Position);
var newFire = new FireSource(pos + Submarine.Position, null, true);
newFire.Size = new Vector2(
newFire.Hull == null ? size : size * newFire.Hull.rect.Width,
newFire.Size.Y);