예제 #1
0
 public static void Prefix([HarmonyArgument(0)] PlayerControl source, [HarmonyArgument(1)] PlayerControl target)
 {
     //Since the animation started, the kill was successful
     if (ModManager.killingPlayer)
     {
         ModManager.killingPlayer = false;
         ModManager.SendMessageToServer("Kill successful!");
     }
     //Check if this is a self kill, aka a twitch kill
     if (source == target)
     {
         source.RpcSetColor(PlayerControl_MurderPlayerPatch.rpcOrigColor);
     }
 }
        public static void Postfix(PlayerControl __instance, [HarmonyArgument(0)] PlayerControl target)
        {
            //Check if this is a self kill, aka a twitch kill
            if (target == __instance)
            {
                //Restore original color and impostor status
                __instance.Data.IsImpostor = wasImpostor;
                __instance.RpcSetColor(rpcOrigColor);
            }

            //Check if the kill was successful
            if (ModManager.killingPlayer)
            {
                ModManager.SendMessageToServer("Kill failed: Unknown error, the player may have already been dead.");
                ModManager.killingPlayer = false;
            }
        }