Unstable 0.17.0.0
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user