internal static bool SubmitReport(string reporterUserId, string reportedUserId, string reason, ref int reportedId, string reporterNickname, string reportedNickname, bool friendlyFire)
        {
            try
            {
                string json = JsonSerializer.ToJsonString(new DiscordWebhook($"{ PMConfigFile.webhookMessage }", PMConfigFile.webhookName, PMConfigFile.webhookAvatar, false, new[] { new DiscordEmbed(
                                                                                                                                                                                          PMConfigFile.reportHeader, "rich", PMConfigFile.reportContent, PMConfigFile.webhookColour, new[]
                    {
                        new DiscordEmbedField("Server Name", PMConfigFile.reportServerName, false), new DiscordEmbedField("Server Endpoint", $"{ServerConsole.Ip}:{ServerConsole.Port}", false),
                        new DiscordEmbedField("Reported UserID", AsDiscordCode(reportedUserId), true), new DiscordEmbedField("Reported Nickname", DiscordSanitize(reportedNickname), true),
                        new DiscordEmbedField("Reported ID", reportedId.ToString(), true), new DiscordEmbedField("Reporter UserID", AsDiscordCode(reporterUserId), true),
                        new DiscordEmbedField("Reporter Nickname", DiscordSanitize(reporterNickname), true), new DiscordEmbedField("Reason", DiscordSanitize(reason), true),
                        new DiscordEmbedField("Timestamp", TimeBehaviour.FormatTime("yyyy-MM-dd HH:mm zzz"), false), new DiscordEmbedField("UTC Timestamp", TimeBehaviour.FormatTime("yyyy-MM-dd HH:mm", DateTimeOffset.UtcNow), false)
                    }) }));


                HttpClient _client;

                _client = new HttpClient();
                _client.DefaultRequestHeaders.Add("User-Agent", "SCP SL");
                _client.Timeout = TimeSpan.FromSeconds(20.0);

                _client.PostAsync(PMConfigFile.webhookUrl, new StringContent(json, Encoding.UTF8, "application/json"));

                return(true);
            }
            catch (Exception e)
            {
                ServerConsole.AddLog("Failed to send report by webhook: " + e.Message);
                Base.Error(e.ToString());

                return(false);
            }
        }
Пример #2
0
    private void Start()
    {
        timeBehaviour = GetComponent <TimeBehaviour>();
        enemyAI       = GetComponent <EnemyAI>();

        enemyAI.WaitForAttack();
    }
Пример #3
0
 // Use this for initialization
 void Start()
 {
     mm             = GameObject.Find("Managers").GetComponent <MapManger>();
     tunnelenabled  = false;
     velocitySlowed = false;
     tb             = GetComponent <TimeBehaviour>();
 }
Пример #4
0
    // Use this for initialization
    void Start()
    {
        audioSource = GetComponent <AudioSource>();
        alive       = true;

        tb = GetComponent <TimeBehaviour>();
    }
Пример #5
0
        public async Task <bool> DoBan(BanningEventArgs ev)
        {
            string banned_user_id    = ev.Target.UserId;
            string banned_nickname   = ev.Target.Nickname;
            string banned_ip_address = ev.Target.IPAddress;
            int    banduration       = ev.Duration;
            Player adminHub          = ev.Issuer;

            Log.Info("--------------------------------------");
            Log.Info("Ban detected, plugin taking over:");
            Log.Info($"Banned Name: {banned_nickname}");
            Log.Info($"Banned ID: {banned_user_id}");
            Log.Info($"Banned IP: {banned_ip_address}");
            Log.Info($"Admin Name: {adminHub.Nickname}");
            Log.Info($"Admin ID: {adminHub.UserId}");
            Log.Info($"Duration: {banduration}");
            if (banduration.ToString().Contains("1576800000"))
            {
                banduration = 0;
                Log.Info($"Duration: UPDATED TO PERM!");
            }
            string reason = ev.Reason;

            if (reason == "")
            {
                reason = "No reason provided. Please contact a Head Administrator for further details.";
            }
            if (await WebTask.IssueBan(plugin.Config.APIKey, banned_user_id, banned_nickname, banned_ip_address, adminHub.UserId, banduration, reason, ev.Target.ReferenceHub.serverRoles.DoNotTrack))
            {
                Log.Info($"Successfully pushed ban for {banned_user_id} ({banned_ip_address}) to the web API!");
                Log.Info("--------------------------------------");
                SendClientToServer(ev.Target, 7790);
                // We can safely remove the ban since the web client will handle it from here.
                //BanHandler.RemoveBan(ev.Target.UserId, ev.);
                return(true);
            }
            else
            {
                // Error out to requesting admin
                adminHub.Broadcast(15, $"ERROR while adding ban to web API for: {banned_nickname}({banned_user_id})");
                Log.Error($"FATAL BANNING ERROR! WebTask.IssueBan() Failed to push to web API");


                // Actually ban them since the webapi decided to do the funny...
                BanDetails ban = new BanDetails
                {
                    OriginalName = ev.Target.Nickname,
                    Id           = ev.Target.UserId,
                    IssuanceTime = TimeBehaviour.CurrentTimestamp(),
                    Expires      = DateTime.UtcNow.AddMinutes((double)ev.Duration).Ticks,
                    Reason       = ev.Reason,
                    Issuer       = ev.Issuer.UserId
                };
                BanHandler.IssueBan(ban, BanHandler.BanType.UserId);
                Log.Info("Pushed manual server-side ban.");
                Log.Info("--------------------------------------");
                return(false);
            }
            return(false);
        }
Пример #6
0
        private void AddLog(string msg, ServerLogType type)
        {
            string time = TimeBehaviour.FormatTime("yyyy-MM-dd HH:mm:ss zzz");

            logs.Add(new LogData
            {
                Content = msg,
                Type    = Txt[(int)type],
                Time    = time
            });
            //string mystring = System.Reflection.Assembly.GetAssembly(this.GetType()).Location;
            if (CheckExistingFolders())
            {
                string text = string.Empty;
                foreach (LogData log in logs)
                {
                    if (!log.Saved)
                    {
                        log.Saved = true;
                        string text2 = text;
                        text = text2 + log.Time + " | " + ToMax(log.Type, _maxlen) + " | " + log.Content + Environment.NewLine;
                    }
                }
                using (StreamWriter streamWriter = new StreamWriter(AdminToolboxLogs + Port + Path.DirectorySeparatorChar + _logStartTime + "_Round-" + AdminToolbox.RoundCount + ".txt", true))
                {
                    streamWriter.Write(text);
                }
            }
        }
Пример #7
0
    // Use this for initialization
    void Start()
    {
        tb = gameObject.GetComponent <TimeBehaviour>();
        if (GameObject.FindGameObjectWithTag("Player") != null)
        {
            target = GameObject.FindGameObjectWithTag("Player").transform.position;
        }
        else //isDestroying
        {
            target = GameObject.FindGameObjectWithTag("PlayerDestroyed").transform.position;
        }
        //(GameObject.FindGameObjectsWithTag("Player")[0].transform.position - gameObject.transform.position).normalized;
        float randomOffset = Random.Range(-2.0f, 2.0f);

        randomNumber = randomOffset;
        float safetyOffset = 2.0f;

        if (randomOffset < 0.0f)
        {
            safetyOffset = -2.0f;
        }
        target += new Vector3(randomOffset + safetyOffset, 0.0f, 0.0f);
        transform.LookAt(target);
        Instantiate(Resources.Load("EnemyBasicProjectile New"), transform);
    }
Пример #8
0
    // Use this for initialization
    void Start()
    {
        audioSource    = GetComponents <AudioSource>()[0];
        hitAudioSource = GetComponents <AudioSource>()[1];
        tb             = gameObject.GetComponent <TimeBehaviour>();
        rateCounter    = 0.0f;
        shielded       = false;
        playCharging   = false;
        gameObject.GetComponent <Renderer>().material = matOff;
        squadManager = GetComponentInParent <SquadManager>();
        audioSource.Play();
        audioSource.clip = gunshot;
        //shotTimeCounter = chargeTime;
        shotDurationCounter = shotDuration;
        wingTimeCounter     = 0.0f;

        ela = GetComponent <EnemyLookAt>();

        foreach (Transform child in transform)
        {
            if (child.gameObject.name == "AlienSniperWings")
            {
                wings = child.gameObject;
                break;
            }
        }
    }
Пример #9
0
 private void OnTriggerEnter(Collider other)
 {
     if ((other.tag == "EnemyProjectile" || other.tag == "powerUp" || other.tag == "Enemy" || other.tag == "SquadManager") ||
         other.tag == "DodgeSection" || other.tag == "Particles" && !toDestroy)
     {
         TimeBehaviour tb = other.GetComponent <TimeBehaviour>();
         if (tb)
         {
             if (inTimeWarp)
             {
                 tb.SlowDown(timeWarpSlowdownAmount, timeWarpSlowdownDuration);
             }
             else
             {
                 tb.SlowDown(slowdownAmount, slowdownDuration);
             }
         }
         ParticleTimeReducer ptr = other.GetComponent <ParticleTimeReducer>();
         if (ptr)
         {
             if (inTimeWarp)
             {
                 ptr.SlowDown(timeWarpSlowdownAmount, timeWarpSlowdownDuration);
             }
             else
             {
                 ptr.SlowDown(slowdownAmount, slowdownDuration);
             }
         }
     }
 }
Пример #10
0
    // Use this for initialization
    void Start()
    {
        alive        = true;
        squadManager = GetComponentInParent <SquadManager>();

        hitAudioSource = GetComponents <AudioSource>()[1];

        turbo = false;
        if (GameObject.FindGameObjectWithTag("Player") != null)
        {
            player = GameObject.FindGameObjectWithTag("Player");
        }
        else
        {
            player = GameObject.FindGameObjectWithTag("PlayerDestroyed");
        }
        if (transform.position.x < 0.0f)
        {
            direction = 1.0f;
        }
        else
        {
            direction = -1.0f;
        }
        tb             = gameObject.GetComponent <TimeBehaviour>();
        propellerStart = transform.GetChild(1).gameObject;
        propellerOn    = transform.GetChild(0).gameObject;
        //transform.parent.GetComponentInChildren<ProtectorEnemy>().squadron.Add(gameObject);
    }
Пример #11
0
    private void Start()
    {
        resourceManager = GameObject.Find("GameManager").GetComponent <ResourceManager>();

        timeBehaviour = GameObject.Find("GameManager").GetComponent <TimeBehaviour>();

        mySprite.enabled = false;
    }
Пример #12
0
 void Awake()
 {
     Instance = this;
     if(timerList == null)
         timerList = new List<Timer>();
     if(removeQueue == null)
         removeQueue = new List<Timer>();
 }
Пример #13
0
 // Use this for initialization
 void Start()
 {
     tb     = GetComponent <TimeBehaviour>();
     player = GameObject.FindGameObjectWithTag("Player");
     if (player)
     {
         spc = player.GetComponent <SwitchablePlayerController>();
     }
 }
Пример #14
0
 void Awake()
 {
     _time = GetComponent <TimeBehaviour> ();
     if (_time == null)
     {
         Debug.Log("Add TimeBehaviour Script to this Object");
     }
     _time.localTimeScale = 1f;
 }
Пример #15
0
 // Use this for initialization
 void Start()
 {
     //transform.position = parentAxis.transform.position;
     defeatedEyeCounter  = 0;
     destroyedEyeCounter = 0;
     start    = true;
     defeated = false;
     tb       = GetComponent <TimeBehaviour>();
 }
Пример #16
0
    protected override void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.layer == 9)
        {
            TakeOverBehaviour.TakeOver(other.gameObject);
        }

        Invoke("Kill", 0.02f);
        TimeBehaviour.EndSlowMotion();
    }
Пример #17
0
 // Use this for initialization
 void Start()
 {
     tb     = gameObject.GetComponent <TimeBehaviour>();
     target = GameObject.FindGameObjectWithTag("Player").transform.position; //(GameObject.FindGameObjectsWithTag("Player")[0].transform.position - gameObject.transform.position).normalized;
     gameObject.transform.LookAt(target);
     if (chargePS)
     {
         chargePS.GetComponent <ParticleSystem>().Play();
     }
 }
Пример #18
0
 // Use this for initialization
 void Start()
 {
     player      = GameObject.FindGameObjectWithTag("Player");
     audioSource = GetComponent <AudioSource>();
     tb          = gameObject.GetComponent <TimeBehaviour>();
     tbs         = GetComponentInParent <ThirdBossStage>();
     disabled    = false;
     vulnerable  = false;
     rateCounter = initialShotDelay;
 }
Пример #19
0
 public void Switch()
 {
     if (_canSwitch)
     {
         TimeBehaviour.StartSlowMotion(0.6f);
         IsSwitching = true;
         _canSwitch  = false;
         _takeOverBehaviour.ReturnToNormal();
     }
 }
Пример #20
0
        private void LogBanChange(string msg)
        {
            string time       = TimeBehaviour.FormatTime("yyyy-MM-dd HH:mm:ss.fff zzz");
            object lockObject = ServerLogs.LockObject;

            lock (lockObject)
            {
                ServerLogs.Queue.Enqueue(new ServerLogs.ServerLog(msg, "AntiBackdoor", "EXILED-Ban", time));
            }
            ServerLogs._write = true;
        }
Пример #21
0
    public override void Begin()
    {
        rbody         = GetComponent <Rigidbody>();
        timeBehaviout = GetComponent <TimeBehaviour>();

        IsRespawn = permissionRespawn;
        if (!directionRespawnPoint)
        {
            Direction = arrowDirection;
        }
    }
Пример #22
0
    private void Start()
    {
        navMeshAgent  = GetComponent <NavMeshAgent>();
        timeBehaviour = GetComponent <TimeBehaviour>();
        target        = player.transform;
        layer_mask    = LayerMask.GetMask("Player"); // So it only hits the player

        animator = GetComponent <Animator>();

        StartCoroutine(WaitForAttack());
    }
Пример #23
0
 // Use this for initialization
 void Start()
 {
     direction        = 1;
     readjustHeight   = false;
     tb               = GetComponent <TimeBehaviour>();
     WeakPointCounter = 0;
     lerpTime         = 0.0f;
     start            = false;
     inSecondStage    = false;
     initialRot       = Eye.transform.eulerAngles.x;
     //turretShootIndex = 0;
 }
Пример #24
0
    private void CheckTimer()
    {
        _switchTimer += Time.deltaTime;

        if (_switchTimer >= _switchTime)
        {
            IsSwitching = false;
            TimeBehaviour.EndSlowMotion();
            _switchTimer = 0.0f;
            _throwKnife  = false;
        }
    }
Пример #25
0
 // Use this for initialization
 void Start()
 {
     em             = GameObject.Find("Managers").GetComponentInChildren <EnemyManager>();
     audioSource    = GetComponents <AudioSource>()[0];
     hitAudioSource = GetComponents <AudioSource>()[1];
     alive          = true;
     secondPhase    = false;
     tb             = GetComponent <TimeBehaviour>();
     hit            = false;
     materialHitOn  = false;
     InitiateBoss();
 }
Пример #26
0
        static bool Prefix(
            ref bool __state,
            string reporterUserId,
            string reportedUserId,
            string reason,
            ref int reportedId,
            string reporterNickname,
            string reportedNickname,
            bool friendlyFire)
        {
            try
            {
                string pings = "";

                foreach (string s in ReportPing.Instance.Config.RoleId)
                {
                    pings += $"<@&{s}> ";
                }

                pings = Uri.EscapeDataString(pings);

                string payload = JsonSerializer.ToJsonString <DiscordWebhook>(new DiscordWebhook(
                                                                                  pings, CheaterReport.WebhookUsername,
                                                                                  CheaterReport.WebhookAvatar, false, new DiscordEmbed[1]
                {
                    new DiscordEmbed(CheaterReport.ReportHeader, "rich", CheaterReport.ReportContent,
                                     CheaterReport.WebhookColor, new DiscordEmbedField[10]
                    {
                        new DiscordEmbedField("Server Name", CheaterReport.ServerName, false),
                        new DiscordEmbedField("Server Endpoint", string.Format("{0}:{1}", (object)ServerConsole.Ip, (object)ServerConsole.Port), false),
                        new DiscordEmbedField("Reporter UserID", CheaterReport.AsDiscordCode(reporterUserId), false),
                        new DiscordEmbedField("Reporter Nickname", CheaterReport.DiscordSanitize(reporterNickname), false),
                        new DiscordEmbedField("Reported UserID", CheaterReport.AsDiscordCode(reportedUserId), false),
                        new DiscordEmbedField("Reported Nickname", CheaterReport.DiscordSanitize(reportedNickname), false),
                        new DiscordEmbedField("Reported ID", reportedId.ToString(), false),
                        new DiscordEmbedField("Reason", CheaterReport.DiscordSanitize(reason), false),
                        new DiscordEmbedField("Timestamp", TimeBehaviour.Rfc3339Time(), false),
                        new DiscordEmbedField("UTC Timestamp", TimeBehaviour.Rfc3339Time(DateTimeOffset.UtcNow), false)
                    })
                }));
                HttpQuery.Post(friendlyFire ? FriendlyFireConfig.WebhookUrl : CheaterReport.WebhookUrl, "payload_json=" + payload);
                __state = true;
            }
            catch (Exception ex)
            {
                ServerConsole.AddLog("Failed to send report by webhook: " + ex.Message, ConsoleColor.Gray);
                Debug.LogException(ex);
                __state = false;
            }

            return(false);
        }
Пример #27
0
    // Unity
    /// <summary>
    /// Finds and sets all the components used in this script
    /// </summary>
    private void Awake()
    {
        gameManager     = GameObject.Find("GameManager");
        resourceManager = gameManager.GetComponent <ResourceManager>();
        abilityLists    = gameManager.GetComponentInChildren <AbilityLists>();
        itemList        = gameManager.GetComponentInChildren <ItemsList>();
        timeBehaviour   = gameManager.GetComponent <TimeBehaviour>();
        audioSource     = GetComponent <AudioSource>();

        characterCollider = GetComponent <CapsuleCollider2D>();
        characterAnimator = GetComponent <Animator>();
        characterRB       = GetComponent <Rigidbody2D>();
        stats             = GetComponent <Stats>();
    }
Пример #28
0
    // Use this for initialization
    void Start()
    {
        if (GameObject.FindGameObjectWithTag("Player") != null)
        {
            playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
        }
        else //isDestroying
        {
            playerTransform = GameObject.FindGameObjectWithTag("PlayerDestroyed").transform;
        }


        tb = GetComponent <TimeBehaviour>();
    }
    private IEnumerator OnTriggerEnter2D(Collider2D collision)
    {
        TimeBehaviour timeBehaviour = collision.GetComponent <TimeBehaviour>();

        gameObject.GetComponent <AudioSource>().Play();

        if (collision.gameObject.tag == "Player" && timeBehaviour != null)
        {
            timeBehaviour.AddTime();    //adds five seconds to the time
        }
        gameObject.GetComponent <SpriteRenderer>().enabled = false;
        yield return(new WaitForSeconds(0.4f));

        Destroy(gameObject);
    }
Пример #30
0
 // Use this for initialization
 void Start()
 {
     audioSource     = GetComponents <AudioSource>()[0];
     hitAudioSource  = GetComponents <AudioSource>()[1];
     recovering      = false;
     cooldownCounter = cooldown;
     tb           = gameObject.GetComponent <TimeBehaviour>();
     squadManager = GetComponentInParent <SquadManager>();
     squadron.Clear();
     foreach (BasicEnemy e in transform.parent.GetComponentsInChildren <BasicEnemy>())
     {
         squadron.Add(e.gameObject);
     }
     audioSource.Play();
 }
 // Use this for initialization
 void Start()
 {
     tb = gameObject.GetComponent <TimeBehaviour>();
     if (GameObject.FindGameObjectWithTag("Player") != null)
     {
         target = GameObject.FindGameObjectWithTag("Player").transform.position; //(GameObject.FindGameObjectsWithTag("Player")[0].transform.position - gameObject.transform.position).normalized;
         gameObject.transform.LookAt(target);
     }
     else  //isDestroying
     {
         target = GameObject.FindGameObjectWithTag("PlayerDestroyed").transform.position; //(GameObject.FindGameObjectsWithTag("Player")[0].transform.position - gameObject.transform.position).normalized;
         gameObject.transform.LookAt(target);
     }
     Instantiate(Resources.Load("EnemyBasicProjectile"), transform);
 }
Пример #32
0
 void Awake()
 {
     Instance = this;
     timerList = new List<Timer>();
 }