private static void skinsActivated() { // Only change pet settings, when mod is active if (ModActive.GetValue()) { AlternativeRpcSender.RpcSetSkin(SaveManager.LastSkin); } }
private static void skinsDeactivated() { // Only change skin settings, when mod is active if (ModActive.GetValue()) { SaveManager.LastSkin = PlayerControl.LocalPlayer.Data.SkinId; AlternativeRpcSender.RpcSetSkin(0); } }
private static void modDeactivated() { PlayerControl player = PlayerControl.LocalPlayer; // Get new name and color from host player.CmdCheckName(SaveManager.PlayerName); player.CmdCheckColor(SaveManager.BodyColor); // Send hat, pet and skin to other players AlternativeRpcSender.RpcSetHat(SaveManager.LastHat); AlternativeRpcSender.RpcSetPet(SaveManager.LastPet); AlternativeRpcSender.RpcSetSkin(SaveManager.LastSkin); }
static void Postfix([HarmonyArgument(0)] byte callId, [HarmonyArgument(1)] MessageReader reader) { switch (callId) { case (byte)CustomRpc.HostSetHat: { uint playerId = reader.ReadPackedUInt32(); if (playerId == PlayerControl.LocalPlayer.PlayerId) { AlternativeRpcSender.RpcSetHat(reader.ReadPackedUInt32()); } break; } case (byte)CustomRpc.HostSetPet: { uint playerId = reader.ReadPackedUInt32(); if (playerId == PlayerControl.LocalPlayer.PlayerId) { AlternativeRpcSender.RpcSetPet(reader.ReadPackedUInt32()); } break; } case (byte)CustomRpc.HostSetSkin: { uint playerId = reader.ReadPackedUInt32(); if (playerId == PlayerControl.LocalPlayer.PlayerId) { AlternativeRpcSender.RpcSetSkin(reader.ReadPackedUInt32()); } break; } case (byte)CustomRpc.SetModActive: MarkModeMain.ModActive.SetValue(reader.ReadBoolean()); break; case (byte)CustomRpc.SetPetsAllowed: MarkModeMain.PetsAllowed.SetValue(reader.ReadBoolean()); break; case (byte)CustomRpc.SetSkinsAllowed: MarkModeMain.SkinsAllowed.SetValue(reader.ReadBoolean()); break; } }