Build 0.20.8.0
This commit is contained in:
@@ -653,15 +653,6 @@ namespace Barotrauma
|
||||
|
||||
partial void UpdateProjSpecific(float deltaTime, Camera cam)
|
||||
{
|
||||
if (InvisibleTimer > 0.0f)
|
||||
{
|
||||
if (Controlled == null || Controlled == this || (Controlled.CharacterHealth.GetAffliction("psychosis")?.Strength ?? 0.0f) <= 0.0f)
|
||||
{
|
||||
InvisibleTimer = Math.Min(InvisibleTimer, 1.0f);
|
||||
}
|
||||
InvisibleTimer -= deltaTime;
|
||||
}
|
||||
|
||||
foreach (GUIMessage message in guiMessages)
|
||||
{
|
||||
bool wasPending = message.Timer < 0.0f;
|
||||
|
||||
@@ -101,6 +101,7 @@ namespace Barotrauma
|
||||
|
||||
public static bool ShouldRecreateHudTexts { get; set; } = true;
|
||||
private static bool heldDownShiftWhenGotHudTexts;
|
||||
private static float timeHealthWindowClosed;
|
||||
|
||||
public static bool IsCampaignInterfaceOpen =>
|
||||
GameMain.GameSession?.Campaign != null &&
|
||||
@@ -174,7 +175,8 @@ namespace Barotrauma
|
||||
if (character.Info != null && !character.ShouldLockHud() && character.SelectedCharacter == null && Screen.Selected != GameMain.SubEditorScreen)
|
||||
{
|
||||
bool mouseOnPortrait = MouseOnCharacterPortrait() && GUI.MouseOn == null;
|
||||
if (mouseOnPortrait && PlayerInput.PrimaryMouseButtonClicked() && Inventory.DraggingItems.None())
|
||||
bool healthWindowOpen = CharacterHealth.OpenHealthWindow != null || timeHealthWindowClosed < 0.2f;
|
||||
if (mouseOnPortrait && !healthWindowOpen && PlayerInput.PrimaryMouseButtonClicked() && Inventory.DraggingItems.None())
|
||||
{
|
||||
CharacterHealth.OpenHealthWindow = character.CharacterHealth;
|
||||
}
|
||||
@@ -242,6 +244,15 @@ namespace Barotrauma
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (CharacterHealth.OpenHealthWindow != null)
|
||||
{
|
||||
timeHealthWindowClosed = 0.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
timeHealthWindowClosed += deltaTime;
|
||||
}
|
||||
}
|
||||
|
||||
public static void Draw(SpriteBatch spriteBatch, Character character, Camera cam)
|
||||
@@ -491,7 +502,17 @@ namespace Barotrauma
|
||||
{
|
||||
var item = character.Inventory.GetItemAt(i);
|
||||
if (item == null || character.Inventory.SlotTypes[i] == InvSlotType.Any) { continue; }
|
||||
|
||||
//if the item is also equipped in another slot we already went through, don't draw the hud again
|
||||
bool duplicateFound = false;
|
||||
for (int j = 0; j < i; j++)
|
||||
{
|
||||
if (character.Inventory.SlotTypes[j] != InvSlotType.Any && character.Inventory.GetItemAt(j) == item)
|
||||
{
|
||||
duplicateFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (duplicateFound) { continue; }
|
||||
foreach (ItemComponent ic in item.Components)
|
||||
{
|
||||
if (ic.DrawHudWhenEquipped) { ic.DrawHUD(spriteBatch, character); }
|
||||
|
||||
@@ -113,9 +113,9 @@ namespace Barotrauma
|
||||
}
|
||||
}
|
||||
|
||||
public void ClientWriteInput(IWriteMessage msg)
|
||||
public void ClientWriteInput(in SegmentTableWriter<ClientNetSegment> segmentTableWriter, IWriteMessage msg)
|
||||
{
|
||||
msg.WriteByte((byte)ClientNetObject.CHARACTER_INPUT);
|
||||
segmentTableWriter.StartNewSegment(ClientNetSegment.CharacterInput);
|
||||
|
||||
if (memInput.Count > 60)
|
||||
{
|
||||
|
||||
@@ -156,7 +156,7 @@ namespace Barotrauma
|
||||
Character.Controlled.DeselectCharacter();
|
||||
}
|
||||
|
||||
Character.Controlled.ResetInteract = true;
|
||||
Character.Controlled.DisableInteract = true;
|
||||
if (openHealthWindow != null)
|
||||
{
|
||||
if (value.Character.Info == null || value.Character == Character.Controlled || Character.Controlled.HasEquippedItem("healthscanner".ToIdentifier()))
|
||||
|
||||
Reference in New Issue
Block a user