Unstable 0.17.0.0

This commit is contained in:
Markus Isberg
2022-02-26 02:43:01 +09:00
parent a83f375681
commit 3974067915
913 changed files with 32472 additions and 32364 deletions
@@ -7,9 +7,11 @@ namespace Barotrauma.MapCreatures.Behavior
{
partial class BallastFloraBehavior
{
partial void LoadPrefab(XElement element)
private float damageUpdateTimer;
partial void LoadPrefab(ContentXElement element)
{
foreach (XElement subElement in element.Elements())
foreach (var subElement in element.Elements())
{
switch (subElement.Name.ToString().ToLowerInvariant())
{
@@ -29,7 +31,24 @@ namespace Barotrauma.MapCreatures.Behavior
}
}
partial void UpdateDamage(float deltaTime)
{
if (damageUpdateTimer <= 0)
{
foreach (BallastFloraBranch branch in Branches)
{
if (Math.Abs(branch.AccumulatedDamage) > 1.0f)
{
SendNetworkMessage(this, NetworkHeader.BranchDamage, branch);
branch.AccumulatedDamage = 0f;
}
}
damageUpdateTimer = 1f;
}
damageUpdateTimer -= deltaTime;
}
public void ServerWriteSpawn(IWriteMessage msg)
{
msg.Write(Prefab.Identifier);
@@ -49,12 +68,12 @@ namespace Barotrauma.MapCreatures.Behavior
msg.Write((ushort)branch.MaxHealth);
msg.Write((int)(x / VineTile.Size));
msg.Write((int)(y / VineTile.Size));
msg.Write(branch.ParentBranch == null ? -1 : Branches.IndexOf(branch.ParentBranch));
}
public void ServerWriteBranchDamage(IWriteMessage msg, BallastFloraBranch branch, float damage)
public void ServerWriteBranchDamage(IWriteMessage msg, BallastFloraBranch branch)
{
msg.Write((int)branch.ID);
msg.Write(damage);
msg.Write(branch.Health);
}
@@ -82,12 +82,13 @@ namespace Barotrauma
behavior.ServerWriteSpawn(message);
break;
case BallastFloraBehavior.NetworkHeader.Kill:
case BallastFloraBehavior.NetworkHeader.Remove:
break;
case BallastFloraBehavior.NetworkHeader.BranchCreate when extraData.Length >= 4 && extraData[2] is BallastFloraBranch branch && extraData[3] is int parentId:
behavior.ServerWriteBranchGrowth(message, branch, parentId);
break;
case BallastFloraBehavior.NetworkHeader.BranchDamage when extraData.Length >= 4 && extraData[2] is BallastFloraBranch branch && extraData[3] is float damage:
behavior.ServerWriteBranchDamage(message, branch, damage);
case BallastFloraBehavior.NetworkHeader.BranchDamage when extraData.Length >= 4 && extraData[2] is BallastFloraBranch branch:
behavior.ServerWriteBranchDamage(message, branch);
break;
case BallastFloraBehavior.NetworkHeader.BranchRemove when extraData.Length >= 3 && extraData[2] is BallastFloraBranch branch:
behavior.ServerWriteBranchRemove(message, branch);
@@ -147,7 +148,7 @@ namespace Barotrauma
message.WriteRangedInteger(decals.Count, 0, MaxDecalsPerHull);
foreach (Decal decal in decals)
{
message.Write(decal.Prefab.UIntIdentifier);
message.Write(decal.Prefab.UintIdentifier);
message.Write((byte)decal.SpriteIndex);
float normalizedXPos = MathHelper.Clamp(MathUtils.InverseLerp(0.0f, rect.Width, decal.CenterPosition.X), 0.0f, 1.0f);
float normalizedYPos = MathHelper.Clamp(MathUtils.InverseLerp(-rect.Height, 0.0f, decal.CenterPosition.Y), 0.0f, 1.0f);