private static bool ServerKillPlayerPatch(PlayableScps.Scp173 __instance, ReferenceHub target) { try { var scp = __instance.GetPlayer(); var player = target.GetPlayer(); if (target == __instance.Hub || player.ClassManager.IsAnyScp() || player.ClassManager.CurClass == RoleType.Spectator) { return(false); } if (!SynapseExtensions.GetHarmPermission(scp, player)) { return(false); } SynapseController.Server.Events.Scp.InvokeScpAttack(scp, player, Api.Enum.ScpAttackType.Scp173_Snap, out var allow); return(allow); } catch (Exception e) { Synapse.Api.Logger.Get.Error($"Synapse-Event: ScpAttackEvent(Scp173) failed!!\n{e}"); return(true); } }
/// <summary> /// Initializes a new instance of the <see cref="PlacingTantrumEventArgs"/> class. /// </summary> /// <param name="scp173"><inheritdoc cref="Scp173"/></param> /// <param name="player"><inheritdoc cref="Player"/></param> /// <param name="gameObject"><inheritdoc cref="GameObject"/></param> /// <param name="cooldown"><inheritdoc cref="Cooldown"/></param> /// <param name="isAllowed"><inheritdoc cref="IsAllowed"/></param> public PlacingTantrumEventArgs(PlayableScps.Scp173 scp173, Player player, GameObject gameObject, float cooldown, bool isAllowed = true) { Scp173 = scp173; Player = player; GameObject = gameObject; Cooldown = cooldown; IsAllowed = isAllowed; }
private static bool PlaceTantrum(PlayableScps.Scp173 __instance) { try { if (__instance._tantrumCooldownRemaining > 0.0f || __instance._isObserved) { return(false); } Server.Get.Events.Scp.Scp173.InvokeScp173PlaceTantrumEvent(__instance.Hub.GetPlayer(), out var allow); return(allow); } catch (Exception ex) { Logger.Get.Error("Synapse-Event: Scp173PlaceTantrum(Scp173) failed!!\n" + ex); return(true); } }
private static bool Blink(PlayableScps.Scp173 __instance, ref Vector3 blinkPos) { try { if (!__instance.BlinkReady) { return(false); } if ((__instance.Hub.PlayerCameraReference.transform.position - blinkPos).magnitude > __instance.EffectiveBlinkDistance() * 1.05) { return(false); } Server.Get.Events.Scp.Scp173.InvokeScp173BlinkEvent(__instance.GetPlayer(), ref blinkPos, out var allow); return(allow); } catch (System.Exception e) { Synapse.Api.Logger.Get.Error($"Synapse-Event: Scp173BlinkEvent(Scp173) failed!!\n{e}"); return(true); } }