Esempio n. 1
0
 public async void OnThrowingGrenade(ThrowingItemEventArgs ev)
 {
     if (ev.Player != null && Instance.Config.EventsToLog.PlayerThrowingGrenade && (!ev.Player.DoNotTrack || !Instance.Config.ShouldRespectDoNotTrack))
     {
         await Network.SendAsync(new RemoteCommand("log", "gameEvents", string.Format(Language.ThrewAGrenade, ev.Player.Nickname, Instance.Config.ShouldLogUserIds ? ev.Player.UserId : Language.Redacted, ev.Player.Role, ev.Item.Type))).ConfigureAwait(false);
     }
     if (ev.Player != null && Instance.Config.StaffOnlyEventsToLog.PlayerThrowingGrenade)
     {
         await Network.SendAsync(new RemoteCommand("log", "staffCopy", string.Format(Language.ThrewAGrenade, ev.Player.Nickname, ev.Player.UserId, ev.Player.Role, ev.Item.Type))).ConfigureAwait(false);
     }
 }
Esempio n. 2
0
 public void OnThrowingItem(ThrowingItemEventArgs ev)
 {
     if (scp372.Contains(ev.Player.UserId))
     {
         ev.Player.IsInvisible = false;
         Timing.CallDelayed(1f, () =>
         {
             ev.Player.IsInvisible = true;
         });
     }
 }
Esempio n. 3
0
        /// <inheritdoc/>
        protected override void OnThrowing(ThrowingItemEventArgs ev)
        {
            ev.IsAllowed = false;
            ev.Player.RemoveItem(ev.Player.CurrentItem);

            float slowThrowMultiplier = 0.1f;

            if (ev.RequestType != ThrowRequest.WeakThrow)
            {
                slowThrowMultiplier = 1f;
            }

            Pickup c4 = Throw(ev.Player.CameraTransform.position, ThrowMultiplier * slowThrowMultiplier, FuseTime, Type, ev.Player);

            if (!PlacedCharges.ContainsKey(c4))
            {
                PlacedCharges.Add(c4, ev.Player);
            }

            base.OnThrowing(ev);
        }
Esempio n. 4
0
 /// <summary>
 /// Called before throwing a grenade.
 /// </summary>
 /// <param name="ev">The <see cref="ThrowingItemEventArgs"/> instance.</param>
 public static void OnThrowingItem(ThrowingItemEventArgs ev) => ThrowingItem.InvokeSafely(ev);