v1.6.17.0 (Unto the Breach update)

This commit is contained in:
Regalis11
2024-10-22 17:29:04 +03:00
parent e74b3cdb17
commit 6e6c17e100
417 changed files with 17166 additions and 5870 deletions
@@ -174,9 +174,11 @@ namespace Barotrauma.Items.Components
public override void Drop(Character dropper, bool setTransform = true)
{
//end hit first (which sets the weapon to the "held" state, with disabled physics and no special collision detection)
EndHit();
//ensure the physics body is enabled
item.body.PhysEnabled = true;
base.Drop(dropper, setTransform);
hitting = false;
hitPos = 0.0f;
}
public override void UpdateBroken(float deltaTime, Camera cam)
@@ -251,10 +253,7 @@ namespace Barotrauma.Items.Components
}
if (hitPos < -MathHelper.Pi)
{
RestoreCollision();
hitting = false;
hitTargets.Clear();
hitPos = 0;
EndHit();
}
}
}
@@ -291,6 +290,14 @@ namespace Barotrauma.Items.Components
User = character;
}
private void EndHit()
{
RestoreCollision();
hitting = false;
hitTargets.Clear();
hitPos = 0;
}
private void RestoreCollision()
{
impactQueue.Clear();
@@ -380,6 +387,7 @@ namespace Barotrauma.Items.Components
}
else if (f2.Body.UserData is Holdable holdable && holdable.CanPush)
{
if (holdable.Item.GetRootInventoryOwner() == User) { return false; }
hitTargets.Add(holdable.Item);
}
}
@@ -475,8 +483,8 @@ namespace Barotrauma.Items.Components
}
if (GameMain.NetworkMember is { IsServer: true } server && targetEntity != null)
{
server.CreateEntityEvent(item, new Item.ApplyStatusEffectEventData(conditionalActionType, targetItemComponent: null, targetCharacter, targetLimb, useTarget: targetEntity));
server.CreateEntityEvent(item, new Item.ApplyStatusEffectEventData(ActionType.OnUse, targetItemComponent: null, targetCharacter, targetLimb, useTarget: targetEntity));
server.CreateEntityEvent(item, new Item.ApplyStatusEffectEventData(conditionalActionType, targetItemComponent: this, targetCharacter, targetLimb, useTarget: targetEntity));
server.CreateEntityEvent(item, new Item.ApplyStatusEffectEventData(ActionType.OnUse, targetItemComponent: this, targetCharacter, targetLimb, useTarget: targetEntity));
serverLogger ??= new System.Text.StringBuilder();
serverLogger.Clear();
serverLogger.Append($"{picker?.LogName} used {item.Name}");