Skip to content

Commit ac655fa

Browse files
feat: speedhack toggle cheat (#449)
* Added speedhack toggle cheat
1 parent 093ab26 commit ac655fa

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

Assets/BossRoom/Scripts/DebugCheats/DebugCheatsManager.cs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public void HealPlayer()
9696

9797
public void ToggleSuperSpeed()
9898
{
99-
LogCheatNotImplemented("ToggleSuperSpeed");
99+
ToggleSuperSpeedServerRpc();
100100
}
101101

102102
public void ToggleTeleportMode()
@@ -188,6 +188,21 @@ void ToggleGodModeServerRpc(ServerRpcParams serverRpcParams = default)
188188
}
189189
}
190190

191+
[ServerRpc(RequireOwnership = false)]
192+
void ToggleSuperSpeedServerRpc(ServerRpcParams serverRpcParams = default)
193+
{
194+
var clientId = serverRpcParams.Receive.SenderClientId;
195+
foreach (var playerServerCharacter in PlayerServerCharacter.GetPlayerServerCharacters())
196+
{
197+
if (playerServerCharacter.OwnerClientId == clientId)
198+
{
199+
playerServerCharacter.Movement.SpeedCheatActivated = !playerServerCharacter.Movement.SpeedCheatActivated;
200+
break;
201+
}
202+
}
203+
LogCheatUsedClientRPC(clientId, "ToggleSuperSpeed");
204+
}
205+
191206
[ServerRpc(RequireOwnership = false)]
192207
void HealPlayerServerRpc(ServerRpcParams serverRpcParams = default)
193208
{

Assets/BossRoom/Scripts/Server/Game/Character/ServerCharacterMovement.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ public class ServerCharacterMovement : NetworkBehaviour
4444
// this one is specific to knockback mode
4545
private Vector3 m_KnockbackVector;
4646

47+
#if UNITY_EDITOR || DEVELOPMENT_BUILD
48+
const float k_CheatSpeed = 20;
49+
50+
public bool SpeedCheatActivated { get; set; }
51+
#endif
4752
private void Awake()
4853
{
4954
m_NavigationSystem = GameObject.FindGameObjectWithTag(NavigationSystem.NavigationSystemTag).GetComponent<NavigationSystem>();
@@ -222,6 +227,12 @@ private void PerformMovement()
222227
/// </summary>
223228
private float GetBaseMovementSpeed()
224229
{
230+
#if UNITY_EDITOR || DEVELOPMENT_BUILD
231+
if (SpeedCheatActivated)
232+
{
233+
return k_CheatSpeed;
234+
}
235+
#endif
225236
CharacterClass characterClass = GameDataSource.Instance.CharacterDataByType[m_CharLogic.NetState.CharacterType];
226237
Assert.IsNotNull(characterClass, $"No CharacterClass data for character type {m_CharLogic.NetState.CharacterType}");
227238
return characterClass.Speed;

0 commit comments

Comments
 (0)