public async void OnGainingExperience(GainingExperienceEventArgs ev)
 {
     if (Instance.Config.EventsToLog.GainingScp079Experience && (!ev.Player.DoNotTrack || !Instance.Config.ShouldRespectDoNotTrack))
     {
         await Network.SendAsync(new RemoteCommand("log", "gameEvents", string.Format(Language.GainedExperience, ev.Player.Nickname, Instance.Config.ShouldLogUserIds ? ev.Player.UserId : Language.Redacted, ev.Player.Role, ev.Amount, ev.GainType))).ConfigureAwait(false);
     }
 }
 /// <inheritdoc cref="Exiled.Events.Handlers.Scp079.OnGainingExperience(GainingExperienceEventArgs)"/>
 internal static void OnGainingExperience(GainingExperienceEventArgs ev)
 {
     if (Plugin.Instance.Config.ExperienceGain.TryGetValue(ev.GainType, out float experience))
     {
         ev.Amount += experience;
     }
 }
Esempio n. 3
0
 internal void OnScp079GainExperience(GainingExperienceEventArgs ev)
 {
     if (!config.Scp.canScp079gainExperience)
     {
         ev.IsAllowed = false;
     }
     ev.Amount = ev.Amount * config.Scp.scp079experienceMultiplier;
 }
 public void OnSCP079Exp(GainingExperienceEventArgs ev)
 {
     try
     {
         ResetAFKTime(ev.Player);
     }
     catch (Exception e)
     {
         Log.Error($"ERROR In OnSCP079Exp(): {e}");
     }
 }
Esempio n. 5
0
        public void ExpGain(GainingExperienceEventArgs ev)
        {
            if (plugin.Config.xpboost)
            {
                return;
            }

            foreach (ExpGainType gainType in plugin.Config.experienceGain.Keys)
            {
                if (gainType == ev.GainType)
                {
                    ev.Amount += plugin.Config.experienceGain[gainType];
                }
            }
        }
Esempio n. 6
0
        internal void GainingExperience(GainingExperienceEventArgs ev)
        {
            if (Plugin.Instance.Config.GainingExperience == "")
            {
                return;
            }
            string message = Plugin.Instance.Config.GainingExperience.Replace("%player%", ev.Player.ToString());

            message = message.Replace("%level%", ev.Player.Level.ToString());
            message = message.Replace("%experience%", ev.Player.Experience.ToString());
            message = message.Replace("%energy%", ev.Player.Energy.ToString());


            if (Plugin.Instance.Config.debug_to_console)
            {
                Log.Debug(message: "[ " + Plugin.Instance.Config.scp079_name + "] " + message);
            }
            Plugin.sendWebHook(Plugin.Instance.Config.scp079_url, message, Plugin.Instance.Config.scp079_name);
        }
Esempio n. 7
0
        private static bool Prefix(Scp079PlayerScript __instance, ExpGainType type, RoleType details)
        {
            var ev = new GainingExperienceEventArgs(API.Features.Player.Get(__instance.gameObject), type, (float)details);

            switch (type)
            {
            case ExpGainType.KillAssist:
            case ExpGainType.PocketAssist:
            {
                Team team = __instance.GetComponent <CharacterClassManager>().Classes.SafeGet(details).team;
                int  num  = 6;

                switch (team)
                {
                case Team.SCP:
                    ev.Amount = __instance.GetManaFromLabel("SCP Kill Assist", __instance.expEarnWays);
                    num       = 11;
                    break;

                case Team.MTF:
                    ev.Amount = __instance.GetManaFromLabel("MTF Kill Assist", __instance.expEarnWays);
                    num       = 9;
                    break;

                case Team.CHI:
                    ev.Amount = __instance.GetManaFromLabel("Chaos Kill Assist", __instance.expEarnWays);
                    num       = 8;
                    break;

                case Team.RSC:
                    ev.Amount = __instance.GetManaFromLabel("Scientist Kill Assist", __instance.expEarnWays);
                    num       = 10;
                    break;

                case Team.CDP:
                    ev.Amount = __instance.GetManaFromLabel("Class-D Kill Assist", __instance.expEarnWays);
                    num       = 7;
                    break;

                default:
                    ev.Amount = 0f;
                    break;
                }

                num--;

                if (type == ExpGainType.PocketAssist)
                {
                    ev.Amount /= 2f;
                }

                break;
            }

            case ExpGainType.DirectKill:
            case ExpGainType.HardwareHack:
                break;

            case ExpGainType.AdminCheat:
                ev.Amount = (float)details;
                break;

            case ExpGainType.GeneralInteractions:
            {
                switch (details)
                {
                case RoleType.ClassD:
                    ev.Amount = __instance.GetManaFromLabel("Door Interaction", __instance.expEarnWays);
                    break;

                case RoleType.Spectator:
                    ev.Amount = __instance.GetManaFromLabel("Tesla Gate Activation", __instance.expEarnWays);
                    break;

                case RoleType.Scientist:
                    ev.Amount = __instance.GetManaFromLabel("Lockdown Activation", __instance.expEarnWays);
                    break;

                case RoleType.Scp079:
                    ev.Amount = __instance.GetManaFromLabel("Elevator Use", __instance.expEarnWays);
                    break;
                }

                if (ev.Amount != 0f)
                {
                    float num4 = 1f / Mathf.Clamp(__instance.levels[__instance.curLvl].manaPerSecond / 1.5f, 1f, 7f);

                    ev.Amount = Mathf.Round(ev.Amount * num4 * 10f) / 10f;
                }

                break;
            }

            default:
                return(false);
            }

            Scp079.OnGainingExperience(ev);

            if (ev.IsAllowed && ev.Amount > 0)
            {
                __instance.AddExperience(ev.Amount);
                return(false);
            }

            return(false);
        }
Esempio n. 8
0
 /// <summary>
 /// Invoked before gaining experience with SCP-079.
 /// </summary>
 /// <param name="ev">The <see cref="GainingExperienceEventArgs"/> instance.</param>
 public static void OnGainingExperience(GainingExperienceEventArgs ev) => GainingExperience.InvokeSafely(ev);