/// <inheritdoc /> public void Execute(IPlayerEntity player, object[] parameters) { if (player.PlayerData.Mode.HasFlag(ModeType.MATCHLESS_MODE)) { player.PlayerData.Mode &= ~ModeType.MATCHLESS_MODE; _playerDataPacketFactory.SendModifyMode(player); _logger.LogTrace($"Player '{player.Object.Name}' is not anymore in undying mode."); } else { _logger.LogTrace($"Player '{player.Object.Name}' is currently not in undying mode."); } }
/// <inheritdoc /> public void Execute(IPlayerEntity player, object[] parameters) { if (!player.PlayerData.Mode.HasFlag(ModeType.TRANSPARENT_MODE)) { player.PlayerData.Mode |= ModeType.TRANSPARENT_MODE; _playerDataPacketFactory.SendModifyMode(player); _logger.LogTrace($"Player '{player.Object.Name}' is now invisible."); } else { _logger.LogTrace($"Player '{player.Object.Name}' is already invisible."); } }
/// <inheritdoc /> public void Execute(IPlayerEntity player, object[] parameters) { if (player.PlayerData.Mode.HasFlag(ModeType.TRANSPARENT_MODE)) { player.PlayerData.Mode &= ~ModeType.TRANSPARENT_MODE; _playerDataPacketFactory.SendModifyMode(player); _moverPacketFactory.SendDestinationPosition(player); _moverPacketFactory.SendMoverPositionAngle(player, sendOwnPlayer: false); _logger.LogTrace($"Player '{player.Object.Name}' is not anymore invisible."); } else { _logger.LogTrace($"Player '{player.Object.Name}' is currently not invisible."); } }
/// <inheritdoc /> public void Execute(IPlayerEntity player, object[] parameters) { if (parameters.Length == 1) { IPlayerEntity playerToFreeze = _worldServer.GetPlayerEntity(parameters[0].ToString()); if (!player.PlayerData.Mode.HasFlag(ModeType.DONMOVE_MODE)) { playerToFreeze.PlayerData.Mode |= ModeType.DONMOVE_MODE; _playerDataPacketFactory.SendModifyMode(playerToFreeze); _logger.LogTrace($"Player '{playerToFreeze.Object.Name}' is now freezed."); } else { _logger.LogTrace($"Player '{playerToFreeze.Object.Name}' is already freezed."); } } else { throw new ArgumentException("Too many or not enough arguments."); } }