(e1b4346f3) Fix enemies not being able to get into the sub via vertical hatches. Removed the velocity manipulation, because it only caused issues.
This commit is contained in:
@@ -590,16 +590,23 @@ namespace Barotrauma
|
|||||||
float step =
|
float step =
|
||||||
(characterListBox.Content.Children.First().Rect.Height + characterListBox.Spacing) /
|
(characterListBox.Content.Children.First().Rect.Height + characterListBox.Spacing) /
|
||||||
(characterListBox.TotalSize - characterListBox.Rect.Height);
|
(characterListBox.TotalSize - characterListBox.Rect.Height);
|
||||||
|
characterListBox.BarScroll -= characterListBox.BarScroll % step;
|
||||||
characterListBox.BarScroll += dir * step;
|
characterListBox.BarScroll += dir * step;
|
||||||
|
|
||||||
//round the scroll so that we're not displaying partial character frames
|
#region Dialog
|
||||||
float roundedPos = MathUtils.RoundTowardsClosest(characterListBox.BarScroll, step);
|
/// <summary>
|
||||||
if (Math.Abs(roundedPos - characterListBox.BarScroll) < step / 2)
|
/// Adds the message to the single player chatbox.
|
||||||
|
/// </summary>
|
||||||
|
public void AddSinglePlayerChatMessage(string senderName, string text, ChatMessageType messageType, Character sender)
|
||||||
|
{
|
||||||
|
if (!isSinglePlayer)
|
||||||
{
|
{
|
||||||
characterListBox.BarScroll = roundedPos;
|
DebugConsole.ThrowError("Cannot add messages to single player chat box in multiplayer mode!\n" + Environment.StackTrace);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
if (string.IsNullOrEmpty(text)) { return; }
|
||||||
|
|
||||||
return false;
|
chatBox.AddMessage(ChatMessage.Create(senderName, text, messageType, sender));
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerable<object> KillCharacterAnim(GUIComponent component)
|
private IEnumerable<object> KillCharacterAnim(GUIComponent component)
|
||||||
@@ -612,6 +619,12 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
comp.Color = Color.DarkRed;
|
comp.Color = Color.DarkRed;
|
||||||
}
|
}
|
||||||
|
List<Character> availableSpeakers = Character.CharacterList.FindAll(c =>
|
||||||
|
c.AIController is HumanAIController &&
|
||||||
|
!c.IsDead &&
|
||||||
|
c.SpeechImpediment <= 100.0f);
|
||||||
|
pendingConversationLines.AddRange(NPCConversation.CreateRandom(availableSpeakers));
|
||||||
|
}
|
||||||
|
|
||||||
yield return new WaitForSeconds(1.0f);
|
yield return new WaitForSeconds(1.0f);
|
||||||
|
|
||||||
|
|||||||
@@ -568,29 +568,11 @@ namespace Barotrauma
|
|||||||
//steer through the door manually if it's open or broken
|
//steer through the door manually if it's open or broken
|
||||||
if (door?.LinkedGap?.FlowTargetHull != null && !door.LinkedGap.IsRoomToRoom && (door.IsOpen || door.Item.Condition <= 0.0f))
|
if (door?.LinkedGap?.FlowTargetHull != null && !door.LinkedGap.IsRoomToRoom && (door.IsOpen || door.Item.Condition <= 0.0f))
|
||||||
{
|
{
|
||||||
|
LatchOntoAI?.DeattachFromBody();
|
||||||
|
Character.AnimController.ReleaseStuckLimbs();
|
||||||
var velocity = Vector2.Normalize(door.LinkedGap.FlowTargetHull.WorldPosition - Character.WorldPosition);
|
var velocity = Vector2.Normalize(door.LinkedGap.FlowTargetHull.WorldPosition - Character.WorldPosition);
|
||||||
if (door.LinkedGap.IsHorizontal)
|
steeringManager.SteeringManual(deltaTime, velocity);
|
||||||
{
|
return;
|
||||||
if (Character.WorldPosition.Y < door.Item.WorldRect.Y && Character.WorldPosition.Y > door.Item.WorldRect.Y - door.Item.Rect.Height)
|
|
||||||
{
|
|
||||||
velocity.Y = 0;
|
|
||||||
LatchOntoAI?.DeattachFromBody();
|
|
||||||
Character.AnimController.ReleaseStuckLimbs();
|
|
||||||
steeringManager.SteeringManual(deltaTime, velocity);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (Character.WorldPosition.X < door.Item.WorldRect.X && Character.WorldPosition.X > door.Item.WorldRect.Right)
|
|
||||||
{
|
|
||||||
velocity.X = 0;
|
|
||||||
LatchOntoAI?.DeattachFromBody();
|
|
||||||
Character.AnimController.ReleaseStuckLimbs();
|
|
||||||
steeringManager.SteeringManual(deltaTime, velocity);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace Barotrauma
|
|||||||
public static bool EditWater, EditFire;
|
public static bool EditWater, EditFire;
|
||||||
public const float OxygenDistributionSpeed = 500.0f;
|
public const float OxygenDistributionSpeed = 500.0f;
|
||||||
public const float OxygenDeteriorationSpeed = 0.3f;
|
public const float OxygenDeteriorationSpeed = 0.3f;
|
||||||
public const float OxygenConsumptionSpeed = 700.0f;
|
public const float OxygenConsumptionSpeed = 1000.0f;
|
||||||
|
|
||||||
public const int WaveWidth = 32;
|
public const int WaveWidth = 32;
|
||||||
public static float WaveStiffness = 0.02f;
|
public static float WaveStiffness = 0.02f;
|
||||||
|
|||||||
Reference in New Issue
Block a user