Unstable 0.16.3.0

This commit is contained in:
Markus Isberg
2022-02-10 02:52:08 +09:00
parent 6814a11520
commit 2190fe08ef
115 changed files with 993 additions and 453 deletions
@@ -345,12 +345,13 @@ namespace Barotrauma
protected override void UpdateMissionSpecific(float deltaTime)
{
int newState = State;
if (state >= 2) { return; }
float sqrSonarRange = MathUtils.Pow2(Sonar.DefaultSonarRange);
outsideOfSonarRange = Vector2.DistanceSquared(enemySub.WorldPosition, Submarine.MainSub.WorldPosition) > sqrSonarRange;
if (State < 2 && CheckWinState())
if (CheckWinState())
{
newState = 2;
State = 2;
}
else
{
@@ -366,7 +367,7 @@ namespace Barotrauma
}
if (!outsideOfSonarRange || patrolPositions.None())
{
newState = 1;
State = 1;
}
break;
case 1:
@@ -391,14 +392,13 @@ namespace Barotrauma
break;
}
}
State = newState;
}
private bool CheckWinState() => !IsClient && characters.All(m => DeadOrCaptured(m));
private bool DeadOrCaptured(Character character)
{
return character == null || character.Removed || character.IsDead || (character.LockHands && character.Submarine == Submarine.MainSub);
return character == null || character.Removed || character.Submarine == null || (character.LockHands && character.Submarine == Submarine.MainSub) || character.IsIncapacitated;
}
public override void End()