예제 #1
0
 internal void OnAnnounceTermination(AnnouncingScpTerminationEventArgs ev)
 {
     if (!config.Scp.announceTerminationGlobal && !config.Scp.announceTermination[ev.Role.roleId])
     {
         ev.IsAllowed = false;
     }
 }
예제 #2
0
 public void OnAnnouncingScpTermination(AnnouncingScpTerminationEventArgs ev)
 {
     if (ev.TerminationCause == "UNKNOWN")
     {
         ev.IsAllowed = false;
     }
 }
예제 #3
0
        private static bool Prefix(Role scp, ref PlayerStats.HitInfo hit, ref string groupId)
        {
            var ev = new AnnouncingScpTerminationEventArgs(string.IsNullOrEmpty(hit.Attacker) ? null : API.Features.Player.Get(hit.Attacker), scp, hit, groupId);

            Map.OnAnnouncingScpTermination(ev);

            return(ev.IsAllowed);
        }
예제 #4
0
파일: Scp575.cs 프로젝트: joker-119/SCP-575
        private void OnAnnouncingScpTermination(AnnouncingScpTerminationEventArgs ev)
        {
            if (ev.Role.roleId == RoleType.Scp106)
            {
                string message = $"scp 5 7 5 has been successfully terminated . termination cause {ev.TerminationCause}";

                ev.IsAllowed = false;
                Cassie.Message(message);
            }
        }
예제 #5
0
        private void OnAnnouncingScpTermination(AnnouncingScpTerminationEventArgs ev)
        {
            string damageType = ev.TerminationCause;

            if (ev.Killer != null)
            {
                damageType = ev.Killer.Team.ToFriendlyString(ev.Killer.ReferenceHub.characterClassManager);
            }
            var cassie = Config.GetScpDeathCassie(ev.Role.roleId);

            if (cassie != null)
            {
                ev.IsAllowed = false;
                var cassieMessage = cassie.Value.Replace("{damagetype}", damageType);
                Cassie.GlitchyMessage(CassieFormatter.Format(cassieMessage), cassie.GlitchChance, cassie.JamChance);
            }
        }
예제 #6
0
        internal void AnnouncingScpTermination(AnnouncingScpTerminationEventArgs ev)
        {
            if (Plugin.Instance.Config.AnnouncingScpTermination == "")
            {
                return;
            }
            string message = Plugin.Instance.Config.AnnouncingScpTermination.Replace("%cause%", ev.TerminationCause.ToString());

            message = message.Replace("%role%", ev.Role.ToString());
            message = message.Replace("%killer%", ev.Killer.ToString());


            if (Plugin.Instance.Config.debug_to_console)
            {
                Log.Debug(message: "[ " + Plugin.Instance.Config.map_name + "] " + message);
            }
            Plugin.sendWebHook(Plugin.Instance.Config.map_url, message, Plugin.Instance.Config.map_name);
        }
예제 #7
0
        internal void OnAnnouncingScpTermination(AnnouncingScpTerminationEventArgs ev)
        {
            if (scp012death && ev.HitInfo.GetDamageType() == DamageTypes.Bleeding)
            {
                ev.IsAllowed = false;

                if (!string.IsNullOrEmpty(Config.CassieMessage))
                {
                    string message = Config.CassieMessage;
                    message = message.Replace("{scp}", $"{RoleToString[ev.Role.roleId]}");

                    Timing.CallDelayed(0.5f, () =>
                    {
                        var scps = Player.Get(Team.SCP);
                        if (scps.Count(scp => scp.Role == RoleType.Scp079) > 0 && scps.Count() == 1)
                        {
                            message += (" . .  ALLSECURED . SCP 0 7 9 RECONTAINMENT SEQUENCE COMMENCING . FORCEOVERCHARGE");
                        }

                        Cassie.GlitchyMessage(message, 0.05f, 0.05f);
                    });
                }
            }
        }
예제 #8
0
파일: Map.cs 프로젝트: helightdev/EXILED
 /// <summary>
 /// Called before announcing an SCP termination.
 /// </summary>
 /// <param name="ev">The <see cref="PlacingDecalEventArgs"/> instance.</param>
 public static void OnAnnouncingScpTermination(AnnouncingScpTerminationEventArgs ev) => AnnouncingScpTermination.InvokeSafely(ev);