public static void Postfix(PlayerControl __instance, PlayerControl PAIBDFDMIGK) { // Collect dead player info DeadPlayer deadPlayer = new DeadPlayer(PAIBDFDMIGK, DateTime.UtcNow, DeathReason.Kill, __instance); GameHistory.deadPlayers.Add(deadPlayer); // Reset killer to crewmate if resetToCrewmate if (resetToCrewmate) { __instance.Data.IsImpostor = false; } if (resetToDead) { __instance.Data.IsDead = true; } // Lover suicide trigger on murder if ((Lovers.lover1 != null && PAIBDFDMIGK == Lovers.lover1) || (Lovers.lover2 != null && PAIBDFDMIGK == Lovers.lover2)) { PlayerControl otherLover = PAIBDFDMIGK == Lovers.lover1 ? Lovers.lover2 : Lovers.lover1; if (PlayerControl.LocalPlayer == PAIBDFDMIGK && otherLover != null && !otherLover.Data.IsDead && Lovers.bothDie) // Only the dead lover sends the rpc { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.LoverSuicide, Hazel.SendOption.Reliable, -1); writer.Write(otherLover.PlayerId); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.loverSuicide(otherLover.PlayerId); } } // Sidekick promotion trigger on murder if (Sidekick.promotesToJackal && Sidekick.sidekick != null && !Sidekick.sidekick.Data.IsDead && PAIBDFDMIGK == Jackal.jackal) { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.SidekickPromotes, Hazel.SendOption.Reliable, -1); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.sidekickPromotes(); } }
public static void Postfix(PlayerControl __instance, PlayerControl IGLDJOKKFJE) { // Collect dead player info DeadPlayer deadPlayer = new DeadPlayer(IGLDJOKKFJE, DateTime.UtcNow, DeathReason.Kill, __instance); GameHistory.deadPlayers.Add(deadPlayer); // Reset killer to crewmate if resetToCrewmate if (resetToCrewmate) { __instance.IDOFAMCIJKE.CIDDOFDJHJH = false; } if (resetToDead) { __instance.IDOFAMCIJKE.FGNJJFABIHJ = true; } // Lover suicide trigger on murder if ((Lovers.lover1 != null && IGLDJOKKFJE == Lovers.lover1) || (Lovers.lover2 != null && IGLDJOKKFJE == Lovers.lover2)) { PlayerControl otherLover = IGLDJOKKFJE == Lovers.lover1 ? Lovers.lover2 : Lovers.lover1; if (PlayerControl.LocalPlayer == IGLDJOKKFJE && otherLover != null && !otherLover.IDOFAMCIJKE.FGNJJFABIHJ && Lovers.bothDie) // Only the dead lover sends the rpc { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.LoverSuicide, Hazel.SendOption.Reliable, -1); writer.Write(otherLover.PlayerId); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.loverSuicide(otherLover.PlayerId); } } // Sidekick promotion trigger on murder if (Sidekick.promotesToJackal && Sidekick.sidekick != null && !Sidekick.sidekick.IDOFAMCIJKE.FGNJJFABIHJ && IGLDJOKKFJE == Jackal.jackal && Jackal.jackal == PlayerControl.LocalPlayer) { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.SidekickPromotes, Hazel.SendOption.Reliable, -1); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.sidekickPromotes(); } // Seer show flash and add dead player position if (Seer.seer != null && PlayerControl.LocalPlayer == Seer.seer && !Seer.seer.IDOFAMCIJKE.FGNJJFABIHJ && Seer.seer != IGLDJOKKFJE && Seer.mode <= 1) { HudManager.CMJOLNCMAPD.FullScreen.enabled = true; HudManager.CMJOLNCMAPD.StartCoroutine(Effects.LDACHPMFOIF(1f, new Action <float>((p) => { var renderer = HudManager.CMJOLNCMAPD.FullScreen; if (p < 0.5) { if (renderer != null) { renderer.color = new Color(42f / 255f, 187f / 255f, 245f / 255f, Mathf.Clamp01(p * 2 * 0.75f)); } } else { if (renderer != null) { renderer.color = new Color(42f / 255f, 187f / 255f, 245f / 255f, Mathf.Clamp01((1 - p) * 2 * 0.75f)); } } if (p == 1f && renderer != null) { renderer.enabled = false; } }))); } if (Seer.deadBodyPositions != null) { Seer.deadBodyPositions.Add(IGLDJOKKFJE.transform.position); } // Child set adapted kill cooldown if (Child.child != null && PlayerControl.LocalPlayer == Child.child && Child.child.IDOFAMCIJKE.CIDDOFDJHJH) { var multiplier = Child.isGrownUp() ? 0.66f : 2f; Child.child.SetKillTimer(PlayerControl.GameOptions.ELBDIKIOHHH * multiplier); } }
public static void Postfix(PlayerControl __instance, PlayerControl DGDGDKCCKHJ) { // Collect dead player info DeadPlayer deadPlayer = new DeadPlayer(DGDGDKCCKHJ, DateTime.UtcNow, DeathReason.Kill, __instance); GameHistory.deadPlayers.Add(deadPlayer); // Reset killer to crewmate if resetToCrewmate if (resetToCrewmate) { __instance.PPMOEEPBHJO.FDNMBJOAPFL = false; } if (resetToDead) { __instance.PPMOEEPBHJO.IAGJEKLJCCI = true; } // Lover suicide trigger on murder if ((Lovers.lover1 != null && DGDGDKCCKHJ == Lovers.lover1) || (Lovers.lover2 != null && DGDGDKCCKHJ == Lovers.lover2)) { PlayerControl otherLover = DGDGDKCCKHJ == Lovers.lover1 ? Lovers.lover2 : Lovers.lover1; if (PlayerControl.LocalPlayer == DGDGDKCCKHJ && otherLover != null && !otherLover.PPMOEEPBHJO.IAGJEKLJCCI && Lovers.bothDie) // Only the dead lover sends the rpc { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.LoverSuicide, Hazel.SendOption.Reliable, -1); writer.Write(otherLover.PlayerId); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.loverSuicide(otherLover.PlayerId); } } // Sidekick promotion trigger on murder if (Sidekick.promotesToJackal && Sidekick.sidekick != null && !Sidekick.sidekick.PPMOEEPBHJO.IAGJEKLJCCI && DGDGDKCCKHJ == Jackal.jackal && Jackal.jackal == PlayerControl.LocalPlayer) { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.SidekickPromotes, Hazel.SendOption.Reliable, -1); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.sidekickPromotes(); } // Seer show flash and add dead player position if (Seer.seer != null && PlayerControl.LocalPlayer == Seer.seer && !Seer.seer.PPMOEEPBHJO.IAGJEKLJCCI && Seer.seer != DGDGDKCCKHJ && Seer.mode <= 1) { HudManager.CHNDKKBEIDG.FullScreen.enabled = true; HudManager.CHNDKKBEIDG.StartCoroutine(Effects.DCHLMIDMBHG(1f, new Action <float>((p) => { var renderer = HudManager.CHNDKKBEIDG.FullScreen; if (p < 0.5) { if (renderer != null) { renderer.color = new Color(42f / 255f, 187f / 255f, 245f / 255f, Mathf.Clamp01(p * 2 * 0.75f)); } } else { if (renderer != null) { renderer.color = new Color(42f / 255f, 187f / 255f, 245f / 255f, Mathf.Clamp01((1 - p) * 2 * 0.75f)); } } if (p == 1f && renderer != null) { renderer.enabled = false; } }))); } if (Seer.deadBodyPositions != null) { Seer.deadBodyPositions.Add(DGDGDKCCKHJ.transform.position); } // Child set adapted kill cooldown if (Child.child != null && PlayerControl.LocalPlayer == Child.child && Child.child.PPMOEEPBHJO.FDNMBJOAPFL && Child.child == __instance) { var multiplier = Child.isGrownUp() ? 0.66f : 2f; Child.child.SetKillTimer(PlayerControl.GameOptions.DGOPNLEEAAJ * multiplier); } }
public static void Postfix(PlayerControl __instance, [HarmonyArgument(0)] PlayerControl target) { // Collect dead player info DeadPlayer deadPlayer = new DeadPlayer(target, DateTime.UtcNow, DeathReason.Kill, __instance); GameHistory.deadPlayers.Add(deadPlayer); // Reset killer to crewmate if resetToCrewmate if (resetToCrewmate) { __instance.Data.IsImpostor = false; } if (resetToDead) { __instance.Data.IsDead = true; } // Remove fake tasks when player dies if (target.hasFakeTasks()) { target.clearAllTasks(); } // Lover suicide trigger on murder if ((Lovers.lover1 != null && target == Lovers.lover1) || (Lovers.lover2 != null && target == Lovers.lover2)) { PlayerControl otherLover = target == Lovers.lover1 ? Lovers.lover2 : Lovers.lover1; if (PlayerControl.LocalPlayer == target && otherLover != null && !otherLover.Data.IsDead && Lovers.bothDie) // Only the dead lover sends the rpc { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.LoverSuicide, Hazel.SendOption.Reliable, -1); writer.Write(otherLover.PlayerId); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.loverSuicide(otherLover.PlayerId); } } // Sidekick promotion trigger on murder if (Sidekick.promotesToJackal && Sidekick.sidekick != null && !Sidekick.sidekick.Data.IsDead && target == Jackal.jackal && Jackal.jackal == PlayerControl.LocalPlayer) { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.SidekickPromotes, Hazel.SendOption.Reliable, -1); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.sidekickPromotes(); } // Cleaner Button Sync if (Cleaner.cleaner != null && PlayerControl.LocalPlayer == Cleaner.cleaner && __instance == Cleaner.cleaner && HudManagerStartPatch.cleanerCleanButton != null) { HudManagerStartPatch.cleanerCleanButton.Timer = Cleaner.cleaner.killTimer; } // Warlock Button Sync if (Warlock.warlock != null && PlayerControl.LocalPlayer == Warlock.warlock && __instance == Warlock.warlock && HudManagerStartPatch.warlockCurseButton != null) { if (Warlock.warlock.killTimer > HudManagerStartPatch.warlockCurseButton.Timer) { HudManagerStartPatch.warlockCurseButton.Timer = Warlock.warlock.killTimer; } } // Seer show flash and add dead player position if (Seer.seer != null && PlayerControl.LocalPlayer == Seer.seer && !Seer.seer.Data.IsDead && Seer.seer != target && Seer.mode <= 1) { HudManager.Instance.FullScreen.enabled = true; HudManager.Instance.StartCoroutine(Effects.Lerp(1f, new Action <float>((p) => { var renderer = HudManager.Instance.FullScreen; if (p < 0.5) { if (renderer != null) { renderer.color = new Color(42f / 255f, 187f / 255f, 245f / 255f, Mathf.Clamp01(p * 2 * 0.75f)); } } else { if (renderer != null) { renderer.color = new Color(42f / 255f, 187f / 255f, 245f / 255f, Mathf.Clamp01((1 - p) * 2 * 0.75f)); } } if (p == 1f && renderer != null) { renderer.enabled = false; } }))); } if (Seer.deadBodyPositions != null) { Seer.deadBodyPositions.Add(target.transform.position); } // Child set adapted kill cooldown if (Child.child != null && PlayerControl.LocalPlayer == Child.child && Child.child.Data.IsImpostor && Child.child == __instance) { var multiplier = Child.isGrownUp() ? 0.66f : 2f; Child.child.SetKillTimer(PlayerControl.GameOptions.KillCooldown * multiplier); } }
static void Postfix([HarmonyArgument(0)] byte callId, [HarmonyArgument(1)] MessageReader reader) { byte packetId = callId; switch (packetId) { // Main Controls case (byte)CustomRPC.ResetVaribles: RPCProcedure.resetVariables(); break; case (byte)CustomRPC.ShareOptionSelection: uint id = reader.ReadPackedUInt32(); uint selection = reader.ReadPackedUInt32(); RPCProcedure.shareOptionSelection(id, selection); break; case (byte)CustomRPC.ForceEnd: RPCProcedure.forceEnd(); break; case (byte)CustomRPC.SetRole: byte roleId = reader.ReadByte(); byte playerId = reader.ReadByte(); RPCProcedure.setRole(roleId, playerId); break; case (byte)CustomRPC.SetUncheckedColor: byte c = reader.ReadByte(); byte p = reader.ReadByte(); RPCProcedure.setUncheckedColor(c, p); break; case (byte)CustomRPC.VersionHandshake: byte major = reader.ReadByte(); byte minor = reader.ReadByte(); byte patch = reader.ReadByte(); int versionOwnerId = reader.ReadPackedInt32(); RPCProcedure.versionHandshake(major, minor, patch, versionOwnerId); break; case (byte)CustomRPC.UseUncheckedVent: int ventId = reader.ReadPackedInt32(); byte ventingPlayer = reader.ReadByte(); byte isEnter = reader.ReadByte(); RPCProcedure.useUncheckedVent(ventId, ventingPlayer, isEnter); break; case (byte)CustomRPC.UncheckedMurderPlayer: byte source = reader.ReadByte(); byte target = reader.ReadByte(); RPCProcedure.uncheckedMurderPlayer(source, target); break; // Role functionality case (byte)CustomRPC.EngineerFixLights: RPCProcedure.engineerFixLights(); break; case (byte)CustomRPC.EngineerUsedRepair: RPCProcedure.engineerUsedRepair(); break; case (byte)CustomRPC.CleanBody: RPCProcedure.cleanBody(reader.ReadByte()); break; case (byte)CustomRPC.SheriffKill: RPCProcedure.sheriffKill(reader.ReadByte()); break; case (byte)CustomRPC.TimeMasterRewindTime: RPCProcedure.timeMasterRewindTime(); break; case (byte)CustomRPC.TimeMasterShield: RPCProcedure.timeMasterShield(); break; case (byte)CustomRPC.MedicSetShielded: RPCProcedure.medicSetShielded(reader.ReadByte()); break; case (byte)CustomRPC.ShieldedMurderAttempt: RPCProcedure.shieldedMurderAttempt(); break; case (byte)CustomRPC.ShifterShift: RPCProcedure.shifterShift(reader.ReadByte()); break; case (byte)CustomRPC.SwapperSwap: byte playerId1 = reader.ReadByte(); byte playerId2 = reader.ReadByte(); RPCProcedure.swapperSwap(playerId1, playerId2); break; case (byte)CustomRPC.MorphlingMorph: RPCProcedure.morphlingMorph(reader.ReadByte()); break; case (byte)CustomRPC.CamouflagerCamouflage: RPCProcedure.camouflagerCamouflage(); break; case (byte)CustomRPC.LoverSuicide: RPCProcedure.loverSuicide(reader.ReadByte()); break; case (byte)CustomRPC.VampireSetBitten: byte bittenId = reader.ReadByte(); byte reset = reader.ReadByte(); RPCProcedure.vampireSetBitten(bittenId, reset); break; case (byte)CustomRPC.VampireTryKill: RPCProcedure.vampireTryKill(); break; case (byte)CustomRPC.PlaceGarlic: RPCProcedure.placeGarlic(reader.ReadBytesAndSize()); break; case (byte)CustomRPC.TrackerUsedTracker: RPCProcedure.trackerUsedTracker(reader.ReadByte()); break; case (byte)CustomRPC.JackalKill: RPCProcedure.jackalKill(reader.ReadByte()); break; case (byte)CustomRPC.SidekickKill: RPCProcedure.sidekickKill(reader.ReadByte()); break; case (byte)CustomRPC.JackalCreatesSidekick: RPCProcedure.jackalCreatesSidekick(reader.ReadByte()); break; case (byte)CustomRPC.SidekickPromotes: RPCProcedure.sidekickPromotes(); break; case (byte)CustomRPC.ErasePlayerRole: RPCProcedure.erasePlayerRole(reader.ReadByte()); break; case (byte)CustomRPC.SetFutureErased: RPCProcedure.setFutureErased(reader.ReadByte()); break; case (byte)CustomRPC.SetFutureShifted: RPCProcedure.setFutureShifted(reader.ReadByte()); break; case (byte)CustomRPC.PlaceJackInTheBox: RPCProcedure.placeJackInTheBox(reader.ReadBytesAndSize()); break; case (byte)CustomRPC.LightsOut: RPCProcedure.lightsOut(); break; case (byte)CustomRPC.WarlockCurseKill: RPCProcedure.warlockCurseKill(reader.ReadByte()); break; } }
static void Postfix(byte ACCJCEHMKLN, MessageReader HFPCBBHJIPJ) { byte packetId = ACCJCEHMKLN; MessageReader reader = HFPCBBHJIPJ; switch (packetId) { // Main Controls case (byte)CustomRPC.ResetVaribles: RPCProcedure.resetVariables(); break; case (byte)CustomRPC.ForceEnd: RPCProcedure.forceEnd(); break; case (byte)CustomRPC.SetRole: byte roleId = HFPCBBHJIPJ.ReadByte(); byte playerId = HFPCBBHJIPJ.ReadByte(); RPCProcedure.setRole(roleId, playerId); break; // Role functionality case (byte)CustomRPC.JesterBountyHunterWin: RPCProcedure.jesterBountyHunterWin(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.EngineerFixLights: RPCProcedure.engineerFixLights(); break; case (byte)CustomRPC.EngineerUsedRepair: RPCProcedure.engineerUsedRepair(); break; case (byte)CustomRPC.JanitorClean: RPCProcedure.janitorClean(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.SheriffKill: RPCProcedure.sheriffKill(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.TimeMasterRewindTime: RPCProcedure.timeMasterRewindTime(); break; case (byte)CustomRPC.MedicSetShielded: RPCProcedure.medicSetShielded(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.ShieldedMurderAttempt: RPCProcedure.shieldedMurderAttempt(); break; case (byte)CustomRPC.TimeMasterRevive: RPCProcedure.timeMasterRevive(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.ShifterShift: RPCProcedure.shifterShift(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.SwapperSwap: byte playerId1 = HFPCBBHJIPJ.ReadByte(); byte playerId2 = HFPCBBHJIPJ.ReadByte(); RPCProcedure.swapperSwap(playerId1, playerId2); break; case (byte)CustomRPC.SeerReveal: byte targetId = HFPCBBHJIPJ.ReadByte(); byte targetOrMistakeId = HFPCBBHJIPJ.ReadByte(); RPCProcedure.seerReveal(targetId, targetOrMistakeId); break; case (byte)CustomRPC.MorphlingMorph: RPCProcedure.morphlingMorph(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.CamouflagerCamouflage: RPCProcedure.camouflagerCamouflage(); break; case (byte)CustomRPC.LoverSuicide: RPCProcedure.loverSuicide(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.SetBountyHunterTarget: RPCProcedure.setBountyHunterTarget(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.VampireBiteNotification: RPCProcedure.vampireBiteNotification(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.VampireTryKill: RPCProcedure.vampireTryKill(); break; case (byte)CustomRPC.PlaceGarlic: RPCProcedure.placeGarlic(HFPCBBHJIPJ.ReadBytesAndSize()); break; case (byte)CustomRPC.TrackerUsedTracker: RPCProcedure.trackerUsedTracker(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.JackalKill: RPCProcedure.jackalKill(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.SidekickKill: RPCProcedure.sidekickKill(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.JackalCreatesSidekick: RPCProcedure.jackalCreatesSidekick(HFPCBBHJIPJ.ReadByte()); break; case (byte)CustomRPC.SidekickPromotes: RPCProcedure.sidekickPromotes(); break; } }
static void Postfix(byte GIICFHKILOB, MessageReader DOOILGKLBBF) { byte packetId = GIICFHKILOB; MessageReader reader = DOOILGKLBBF; switch (packetId) { // Main Controls case (byte)CustomRPC.ResetVaribles: RPCProcedure.resetVariables(); break; case (byte)CustomRPC.ShareOptionSelection: uint id = DOOILGKLBBF.ReadPackedUInt32(); uint selection = DOOILGKLBBF.ReadPackedUInt32(); RPCProcedure.shareOptionSelection(id, selection); break; case (byte)CustomRPC.ForceEnd: RPCProcedure.forceEnd(); break; case (byte)CustomRPC.SetRole: byte roleId = DOOILGKLBBF.ReadByte(); byte playerId = DOOILGKLBBF.ReadByte(); RPCProcedure.setRole(roleId, playerId); break; // Role functionality case (byte)CustomRPC.EngineerFixLights: RPCProcedure.engineerFixLights(); break; case (byte)CustomRPC.EngineerUsedRepair: RPCProcedure.engineerUsedRepair(); break; case (byte)CustomRPC.JanitorClean: RPCProcedure.janitorClean(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.SheriffKill: RPCProcedure.sheriffKill(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.TimeMasterRewindTime: RPCProcedure.timeMasterRewindTime(); break; case (byte)CustomRPC.TimeMasterShield: RPCProcedure.timeMasterShield(); break; case (byte)CustomRPC.MedicSetShielded: RPCProcedure.medicSetShielded(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.ShieldedMurderAttempt: RPCProcedure.shieldedMurderAttempt(); break; case (byte)CustomRPC.ShifterShift: RPCProcedure.shifterShift(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.SwapperSwap: byte playerId1 = DOOILGKLBBF.ReadByte(); byte playerId2 = DOOILGKLBBF.ReadByte(); RPCProcedure.swapperSwap(playerId1, playerId2); break; case (byte)CustomRPC.MorphlingMorph: RPCProcedure.morphlingMorph(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.CamouflagerCamouflage: RPCProcedure.camouflagerCamouflage(); break; case (byte)CustomRPC.LoverSuicide: RPCProcedure.loverSuicide(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.VampireSetBitten: byte bittenId = DOOILGKLBBF.ReadByte(); byte reset = DOOILGKLBBF.ReadByte(); RPCProcedure.vampireSetBitten(bittenId, reset); break; case (byte)CustomRPC.VampireTryKill: RPCProcedure.vampireTryKill(); break; case (byte)CustomRPC.PlaceGarlic: RPCProcedure.placeGarlic(DOOILGKLBBF.ReadBytesAndSize()); break; case (byte)CustomRPC.TrackerUsedTracker: RPCProcedure.trackerUsedTracker(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.JackalKill: RPCProcedure.jackalKill(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.SidekickKill: RPCProcedure.sidekickKill(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.JackalCreatesSidekick: RPCProcedure.jackalCreatesSidekick(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.SidekickPromotes: RPCProcedure.sidekickPromotes(); break; case (byte)CustomRPC.ErasePlayerRole: RPCProcedure.erasePlayerRole(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.SetFutureErased: RPCProcedure.setFutureErased(DOOILGKLBBF.ReadByte()); break; case (byte)CustomRPC.SetFutureShifted: RPCProcedure.setFutureShifted(DOOILGKLBBF.ReadByte()); break; } }