Skip to content

Commit 8a5ba3c

Browse files
committed
Revert "Partially Revert "fix: Scale fix (#571)""
This reverts commit 151bed1.
1 parent 97f4c03 commit 8a5ba3c

1 file changed

Lines changed: 16 additions & 30 deletions

File tree

EXILED/Exiled.API/Features/Player.cs

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,7 @@ public ScpSpawnPreferences.SpawnPreferences ScpPreferences
699699
public Vector3 Scale
700700
{
701701
get => ReferenceHub.transform.localScale;
702-
set => SetScale(value, List);
702+
set => SetScale(value);
703703
}
704704

705705
/// <summary>
@@ -2065,27 +2065,25 @@ public void Disconnect(string reason = null) =>
20652065
/// </summary>
20662066
public void ResetStamina() => Stamina = StaminaStat.MaxValue;
20672067

2068+
/// <summary>
2069+
/// Sets the scale of a player on the server side.
2070+
/// </summary>
2071+
/// <param name="scale">The scale to set.</param>
2072+
public void SetScale(Vector3 scale)
2073+
{
2074+
ReferenceHub.transform.localScale = scale;
2075+
new SyncedScaleMessages.ScaleMessage(scale, ReferenceHub).SendToAuthenticated();
2076+
}
2077+
20682078
/// <summary>
20692079
/// Sets the scale of a player on the server side.
20702080
/// </summary>
20712081
/// <param name="scale">The scale to set.</param>
20722082
/// <param name="viewers">Who should see the updated scale.</param>
20732083
public void SetScale(Vector3 scale, IEnumerable<Player> viewers)
20742084
{
2075-
if (scale == Scale)
2076-
return;
2077-
2078-
try
2079-
{
2080-
ReferenceHub.transform.localScale = scale;
2081-
2082-
foreach (Player target in viewers)
2083-
Server.SendSpawnMessage?.Invoke(null, new object[] { NetworkIdentity, target.Connection });
2084-
}
2085-
catch (Exception exception)
2086-
{
2087-
Log.Error($"{nameof(SetScale)} error: {exception}");
2088-
}
2085+
ReferenceHub.transform.localScale = scale;
2086+
new SyncedScaleMessages.ScaleMessage(scale, ReferenceHub).SendToHubsConditionally(x => x != null && viewers.Contains(Get(x)));
20892087
}
20902088

20912089
/// <summary>
@@ -2095,21 +2093,9 @@ public void SetScale(Vector3 scale, IEnumerable<Player> viewers)
20952093
/// <param name="viewers">Who should see the fake scale.</param>
20962094
public void SetFakeScale(Vector3 fakeScale, IEnumerable<Player> viewers)
20972095
{
2098-
Vector3 currentScale = Scale;
2099-
2100-
try
2101-
{
2102-
ReferenceHub.transform.localScale = fakeScale;
2103-
2104-
foreach (Player target in viewers)
2105-
Server.SendSpawnMessage.Invoke(null, new object[] { NetworkIdentity, target.Connection });
2106-
2107-
ReferenceHub.transform.localScale = currentScale;
2108-
}
2109-
catch (Exception ex)
2110-
{
2111-
Log.Error($"{nameof(SetFakeScale)}: {ex}");
2112-
}
2096+
SyncedScaleMessages.ScaleMessage scaleMessage = new(fakeScale, ReferenceHub);
2097+
foreach (Player player in viewers)
2098+
player.Connection.Send(scaleMessage, 0);
21132099
}
21142100

21152101
/// <summary>

0 commit comments

Comments
 (0)