public static bool UseButtonManager_DoClick(UseButtonManager __instance) { if (__instance.isActiveAndEnabled && PlayerControl.LocalPlayer != null && PlayerControl.LocalPlayer.Data != null && __instance.currentTarget == null) // currentTarget { var myRole = PlayerControl.LocalPlayer.GetRole(); if (myRole == null || !myRole.CanSabotage(null)) { return(true); } HudManager.Instance.ShowMap((Action <MapBehaviour>)(m => { foreach (MapRoom mapRoom in m.infectedOverlay.rooms.ToArray().Where(r => !myRole.CanSabotage(r.room))) { mapRoom.gameObject.SetActive(false); } m.ShowInfectedMap(); })); return(false); } return(true); }
public static bool Prefix(UseButtonManager __instance, IUsable CAKODNGLPDF) { if (CAKODNGLPDF == null) { return(true); } var Console = CAKODNGLPDF.TryCast <Console>(); if (Console == null) { return(true); } if (!Map.ContainsKey(Console.ConsoleId)) { return(true); } var CustomUsable = Map[Console.ConsoleId]; __instance.currentTarget = CAKODNGLPDF; __instance.UseButton.sprite = CustomUsable.UseIcon != null ? CustomUsable.UseIcon : __instance.UseImage; CooldownHelpers.SetCooldownNormalizedUvs(__instance.UseButton); __instance.UseButton.material.SetFloat(Globals.PERCENT, CustomUsable.PercentCooldown); __instance.UseButton.color = UseButtonManager.EnabledColor; return(false); }
public static bool Prefix(UseButtonManager __instance) { if (__instance.isActiveAndEnabled && PlayerControl.LocalPlayer && Tasks.NearestTask != null && Tasks.AllCustomPlateform != null) { Tasks.NearestTask.Use(PlayerControl.LocalPlayer); return(false); } return(true); }
public static void UseButtonManager_SetTarget(UseButtonManager __instance, [HarmonyArgument(0)] IUsable?target) { if (target == null && PlayerControl.LocalPlayer != null && PlayerControl.LocalPlayer.Data != null && (PlayerControl.LocalPlayer.GetRole()?.CanSabotage(null) ?? false) && PlayerControl.LocalPlayer.CanMove) { __instance.UseButton.sprite = TranslationController.Instance.GetImage(ImageNames.SabotageButton); CooldownHelpers.SetCooldownNormalizedUvs(__instance.UseButton); __instance.UseButton.color = UseButtonManager.EnabledColor; } }
public static void Postfix(UseButtonManager __instance) { if (HudPatch.currentTarget != null) { PlayerControl.LocalPlayer.UseClosest(); } else { MapBehaviour.Instance.ShowInfectedMap(); } }
public static void Postfix(UseButtonManager __instance, [HarmonyArgument(0)] IUsable target) { HudPatch.currentTarget = target; if (target == null) { if (!HudPatch.isImpostor()) // i dont wanna mess with it if they're already an impostor { __instance.UseButton.sprite = __instance.SabotageImage; __instance.UseButton.color = UseButtonManager.EnabledColor; } } }
public static void Postfix(UseButtonManager __instance) { if (!(PlayerControl.AllPlayerControls.Count > 1 && PlayerControl.LocalPlayer.isMafioso() && !Utils.Godfather.Data.IsDead)) { return; } if (__instance.UseButton.sprite != __instance.SabotageImage) { return; } __instance.UseButton.sprite = __instance.UseImage; __instance.UseButton.color = UseButtonManager.DisabledColor; }
public static bool Prefix(UseButtonManager __instance) { if (!(PlayerControl.AllPlayerControls.Count > 1 && PlayerControl.LocalPlayer.isMafioso() && !Utils.Godfather.Data.IsDead)) { return(true); } var data = PlayerControl.LocalPlayer.Data; if (__instance.Field_7 != null) { return(true); } return(data == null || !data.IsImpostor); }
static void Postfix(UseButtonManager __instance) { if (__instance.Field_3 != null) { return; } // Mafia sabotage button render patch bool blockSabotageJanitor = (Janitor.janitor != null && Janitor.janitor == PlayerControl.LocalPlayer); bool blockSabotageMafioso = (Mafioso.mafioso != null && Mafioso.mafioso == PlayerControl.LocalPlayer && Godfather.godfather != null && !Godfather.godfather.Data.IsDead); if (blockSabotageJanitor || blockSabotageMafioso) { // __instance.UseButton.sprite = __instance.UseImage; __instance.UseButton.color = new Color(1f, 1f, 1f, 0.3f); } }
static void Postfix(UseButtonManager __instance) { if (__instance.FKANCEFMKPH != null) { return; } // Mafia sabotage button render patch bool blockSabotageJanitor = (Janitor.janitor != null && Janitor.janitor == PlayerControl.LocalPlayer); bool blockSabotageMafioso = (Mafioso.mafioso != null && Mafioso.mafioso == PlayerControl.LocalPlayer && Godfather.godfather != null && !Godfather.godfather.IDOFAMCIJKE.FGNJJFABIHJ); if (blockSabotageJanitor || blockSabotageMafioso) { __instance.UseButton.sprite = DestroyableSingleton <TranslationController> .CMJOLNCMAPD.GetImage(ImageNames.UseButton); __instance.UseButton.color = new Color(1f, 1f, 1f, 0.3f); } }
static bool Prefix(UseButtonManager __instance) { if (__instance.FKANCEFMKPH != null) { return(true); } // Mafia sabotage button click patch bool blockSabotageJanitor = (Janitor.janitor != null && Janitor.janitor == PlayerControl.LocalPlayer); bool blockSabotageMafioso = (Mafioso.mafioso != null && Mafioso.mafioso == PlayerControl.LocalPlayer && Godfather.godfather != null && !Godfather.godfather.IDOFAMCIJKE.FGNJJFABIHJ); if (blockSabotageJanitor || blockSabotageMafioso) { return(false); } return(true); }
static bool Prefix(UseButtonManager __instance) { if (__instance.currentTarget != null) { return(true); } // Mafia sabotage button click patch bool blockSabotageJanitor = (Janitor.janitor != null && Janitor.janitor == PlayerControl.LocalPlayer); bool blockSabotageMafioso = (Mafioso.mafioso != null && Mafioso.mafioso == PlayerControl.LocalPlayer && Godfather.godfather != null && !Godfather.godfather.Data.IsDead); if (blockSabotageJanitor || blockSabotageMafioso) { return(false); } return(true); }
static bool Prefix(UseButtonManager __instance) { if (__instance.LHAKKAAOLLM != null) { return(true); } // Mafia sabotage button click patch bool blockSabotageJanitor = (Janitor.janitor != null && Janitor.janitor == PlayerControl.LocalPlayer); bool blockSabotageMafioso = (Mafioso.mafioso != null && Mafioso.mafioso == PlayerControl.LocalPlayer && Godfather.godfather != null && !Godfather.godfather.PPMOEEPBHJO.IAGJEKLJCCI); if (blockSabotageJanitor || blockSabotageMafioso) { return(false); } return(true); }
static void Postfix(UseButtonManager __instance) { // Trickster render special vent button if (__instance.currentTarget != null && Trickster.trickster != null && Trickster.trickster == PlayerControl.LocalPlayer) { Vent possibleVent = __instance.currentTarget.TryCast <Vent>(); if (possibleVent != null && possibleVent.gameObject != null && possibleVent.gameObject.name.StartsWith("JackInTheBoxVent_")) { __instance.UseButton.sprite = Trickster.getTricksterVentButtonSprite(); } } // Mafia sabotage button render patch bool blockSabotageJanitor = (Janitor.janitor != null && Janitor.janitor == PlayerControl.LocalPlayer); bool blockSabotageMafioso = (Mafioso.mafioso != null && Mafioso.mafioso == PlayerControl.LocalPlayer && Godfather.godfather != null && !Godfather.godfather.Data.IsDead); if (__instance.currentTarget == null && (blockSabotageJanitor || blockSabotageMafioso)) { __instance.UseButton.sprite = DestroyableSingleton <TranslationController> .Instance.GetImage(ImageNames.UseButton); __instance.UseButton.color = new Color(1f, 1f, 1f, 0.3f); } }