mirror of
https://github.com/NuclearPowered/Reactor.git
synced 2026-10-19 15:51:54 +00:00
Support 2024.6.18 (#84)
Co-authored-by: Pietrodjaowjao <nicoleobenetti@gmail.com> Co-authored-by: js6pak <me@6pak.dev>
This commit is contained in:
9 files changed
+44
-41
No files matched your search
+1
-1
@@ -1,7 +1,7 @@
|
||||
<Project>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.679" Private="false" ExcludeAssets="runtime;native" />
|
||||
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2023.11.28" PrivateAssets="all" />
|
||||
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2024.6.18" PrivateAssets="all" />
|
||||
|
||||
<PackageReference Include="BepInEx.AutoPlugin" Version="1.1.0" PrivateAssets="all" />
|
||||
<PackageReference Include="BepInEx.IL2CPP.MSBuild" Version="2.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"net6.0": {
|
||||
"AmongUs.GameLibs.Steam": {
|
||||
"type": "Direct",
|
||||
"requested": "[2023.11.28, )",
|
||||
"resolved": "2023.11.28",
|
||||
"contentHash": "EsKrZS4tjTRrY7mtZls3tMy54zije4vleEA9s0UGUr4SF3qm2axR6wMncyIJCk4ACXlN5Bxpsd3/upDe9Gnx6A=="
|
||||
"requested": "[2024.6.18, )",
|
||||
"resolved": "2024.6.18",
|
||||
"contentHash": "xb+HP1xXn4/ES8AgXpk9xeoW568LFYw5NTjY6bHwd6vQjHDf2kT1xHMmQ1me5Vfee/Gp69YIMZDXUAUToG7Elg=="
|
||||
},
|
||||
"BenchmarkDotNet": {
|
||||
"type": "Direct",
|
||||
|
||||
@@ -28,10 +28,10 @@ internal static class GameOptionsPatches
|
||||
[HarmonyPrefix]
|
||||
public static void UnlockAllOptions(GameSettingMenu __instance)
|
||||
{
|
||||
__instance.HideForOnline = new Il2CppReferenceArray<Transform>(0);
|
||||
__instance.GameSettingsTab.HideForOnline = new Il2CppReferenceArray<Transform>(0);
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(NumberOption), nameof(NumberOption.OnEnable))]
|
||||
[HarmonyPatch(typeof(NumberOption), nameof(NumberOption.SetUpFromData))]
|
||||
[HarmonyPostfix]
|
||||
public static void UnlockOptionRange(NumberOption __instance)
|
||||
{
|
||||
|
||||
@@ -69,11 +69,13 @@ internal sealed class GameTab : BaseTab
|
||||
|
||||
private static void SpawnDummy()
|
||||
{
|
||||
var playerControl = Object.Instantiate(TutorialManager.Instance.PlayerPrefab);
|
||||
var playerControl = Object.Instantiate(AmongUsClient.Instance.PlayerPrefab);
|
||||
var playerId = playerControl.PlayerId = (byte) GameData.Instance.GetAvailableId();
|
||||
|
||||
GameData.Instance.AddPlayer(playerControl);
|
||||
var data = GameData.Instance.AddDummy(playerControl);
|
||||
AmongUsClient.Instance.Spawn(data);
|
||||
AmongUsClient.Instance.Spawn(playerControl);
|
||||
playerControl.isDummy = true;
|
||||
|
||||
playerControl.transform.position = PlayerControl.LocalPlayer.transform.position;
|
||||
playerControl.GetComponent<DummyBehaviour>().enabled = true;
|
||||
@@ -88,8 +90,8 @@ internal sealed class GameTab : BaseTab
|
||||
playerControl.SetSkin(HatManager.Instance.allSkins[playerId % HatManager.Instance.allSkins.Count].ProdId, color);
|
||||
playerControl.SetVisor(HatManager.Instance.allVisors[playerId % HatManager.Instance.allVisors.Count].ProdId, color);
|
||||
playerControl.SetNamePlate(HatManager.Instance.allNamePlates[playerId % HatManager.Instance.allNamePlates.Count].ProdId);
|
||||
playerControl.Data.PlayerLevel = playerId;
|
||||
data.PlayerLevel = playerId;
|
||||
|
||||
GameData.Instance.RpcSetTasks(playerControl.PlayerId, new Il2CppStructArray<byte>(0));
|
||||
data.RpcSetTasks(new Il2CppStructArray<byte>(0));
|
||||
}
|
||||
}
|
||||
@@ -4,9 +4,9 @@
|
||||
"net6.0": {
|
||||
"AmongUs.GameLibs.Steam": {
|
||||
"type": "Direct",
|
||||
"requested": "[2023.11.28, )",
|
||||
"resolved": "2023.11.28",
|
||||
"contentHash": "EsKrZS4tjTRrY7mtZls3tMy54zije4vleEA9s0UGUr4SF3qm2axR6wMncyIJCk4ACXlN5Bxpsd3/upDe9Gnx6A=="
|
||||
"requested": "[2024.6.18, )",
|
||||
"resolved": "2024.6.18",
|
||||
"contentHash": "xb+HP1xXn4/ES8AgXpk9xeoW568LFYw5NTjY6bHwd6vQjHDf2kT1xHMmQ1me5Vfee/Gp69YIMZDXUAUToG7Elg=="
|
||||
},
|
||||
"BepInEx.AutoPlugin": {
|
||||
"type": "Direct",
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"net6.0": {
|
||||
"AmongUs.GameLibs.Steam": {
|
||||
"type": "Direct",
|
||||
"requested": "[2023.11.28, )",
|
||||
"resolved": "2023.11.28",
|
||||
"contentHash": "EsKrZS4tjTRrY7mtZls3tMy54zije4vleEA9s0UGUr4SF3qm2axR6wMncyIJCk4ACXlN5Bxpsd3/upDe9Gnx6A=="
|
||||
"requested": "[2024.6.18, )",
|
||||
"resolved": "2024.6.18",
|
||||
"contentHash": "xb+HP1xXn4/ES8AgXpk9xeoW568LFYw5NTjY6bHwd6vQjHDf2kT1xHMmQ1me5Vfee/Gp69YIMZDXUAUToG7Elg=="
|
||||
},
|
||||
"BepInEx.AutoPlugin": {
|
||||
"type": "Direct",
|
||||
|
||||
@@ -26,10 +26,10 @@ internal static class ClientPatches
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(InnerNetClient._HandleGameDataInner_d__39), nameof(InnerNetClient._HandleGameDataInner_d__39.MoveNext))]
|
||||
[HarmonyPatch(typeof(InnerNetClient._HandleGameDataInner_d__41), nameof(InnerNetClient._HandleGameDataInner_d__41.MoveNext))]
|
||||
public static class HandleGameDataInnerPatch
|
||||
{
|
||||
public static bool Prefix(InnerNetClient._HandleGameDataInner_d__39 __instance, ref bool __result)
|
||||
public static bool Prefix(InnerNetClient._HandleGameDataInner_d__41 __instance, ref bool __result)
|
||||
{
|
||||
var innerNetClient = __instance.__4__this;
|
||||
var reader = __instance.reader;
|
||||
@@ -125,18 +125,22 @@ internal static class ClientPatches
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(InnerNetClient._CoSendSceneChange_d__30), nameof(InnerNetClient._CoSendSceneChange_d__30.MoveNext))]
|
||||
[HarmonyPatch(typeof(InnerNetClient._CoSendSceneChange_d__32), nameof(InnerNetClient._CoSendSceneChange_d__32.MoveNext))]
|
||||
public static class CoSendSceneChangePatch
|
||||
{
|
||||
public static bool Prefix(InnerNetClient._CoSendSceneChange_d__30 __instance, ref bool __result)
|
||||
public static bool Prefix(InnerNetClient._CoSendSceneChange_d__32 __instance, ref bool __result)
|
||||
{
|
||||
if (ReactorConnection.Instance!.Syncer != Syncer.Host) return true;
|
||||
|
||||
var innerNetClient = __instance.__4__this;
|
||||
|
||||
if (__instance.__1__state == 2)
|
||||
// Check for the conditions when the scene change message should be sent
|
||||
if (!innerNetClient.AmHost &&
|
||||
innerNetClient.connection.State == ConnectionState.Connected &&
|
||||
innerNetClient.ClientId >= 0)
|
||||
{
|
||||
if (!innerNetClient.AmHost && innerNetClient.connection.State == ConnectionState.Connected)
|
||||
var clientData = innerNetClient.FindClientById(innerNetClient.ClientId);
|
||||
if (clientData != null)
|
||||
{
|
||||
var writer = MessageWriter.Get(SendOption.Reliable);
|
||||
writer.StartMessage(Tags.GameData);
|
||||
@@ -154,21 +158,25 @@ internal static class ClientPatches
|
||||
writer.EndMessage();
|
||||
innerNetClient.SendOrDisconnect(writer);
|
||||
writer.Recycle();
|
||||
}
|
||||
|
||||
__instance.__1__state = -1;
|
||||
__result = false;
|
||||
return false;
|
||||
// Create a new coroutine to let AmongUsClient handle scene changes too
|
||||
innerNetClient.StartCoroutine(innerNetClient.CoOnPlayerChangedScene(clientData, __instance.sceneName));
|
||||
|
||||
// Cancel this coroutine
|
||||
__instance.__1__state = -1;
|
||||
__result = false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(InnerNetClient._CoHandleSpawn_d__40), nameof(InnerNetClient._CoHandleSpawn_d__40.MoveNext))]
|
||||
[HarmonyPatch(typeof(InnerNetClient._CoHandleSpawn_d__42), nameof(InnerNetClient._CoHandleSpawn_d__42.MoveNext))]
|
||||
public static class CoHandleSpawnPatch
|
||||
{
|
||||
public static void Postfix(InnerNetClient._CoHandleSpawn_d__40 __instance, bool __result)
|
||||
public static void Postfix(InnerNetClient._CoHandleSpawn_d__42 __instance, bool __result)
|
||||
{
|
||||
if (ReactorConnection.Instance!.Syncer != Syncer.Host) return;
|
||||
|
||||
|
||||
@@ -106,17 +106,10 @@ internal static class HttpPatches
|
||||
{
|
||||
Warning("Vanilla region, locking public toggle");
|
||||
|
||||
__instance.MakePublicButtonBehaviour.enabled = false;
|
||||
var actionMapGlyphDisplay = __instance.MakePublicButton.GetComponentInChildren<ActionMapGlyphDisplay>(includeInactive: true);
|
||||
if (actionMapGlyphDisplay)
|
||||
{
|
||||
actionMapGlyphDisplay.gameObject.SetActive(value: false);
|
||||
}
|
||||
__instance.HostPublicButton.enabled = false;
|
||||
__instance.HostPrivateButton.transform.FindChild("Inactive").GetComponent<SpriteRenderer>().color = new Color(1, 1, 1, 0.5f);
|
||||
|
||||
__instance.MakePublicButton.color = new Color(1, 1, 1, 0.5f);
|
||||
__instance.MakePublicButton.sprite = __instance.PrivateGameImage;
|
||||
|
||||
var onClick = __instance.MakePublicButton.GetComponent<PassiveButton>().OnClick = new Button.ButtonClickedEvent();
|
||||
var onClick = __instance.HostPrivateButton.OnClick = new Button.ButtonClickedEvent();
|
||||
onClick.AddListener((Action) MakePublicDisallowedPopup.Show);
|
||||
|
||||
if (AmongUsClient.Instance.AmHost && AmongUsClient.Instance.IsGamePublic)
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"net6.0": {
|
||||
"AmongUs.GameLibs.Steam": {
|
||||
"type": "Direct",
|
||||
"requested": "[2023.11.28, )",
|
||||
"resolved": "2023.11.28",
|
||||
"contentHash": "EsKrZS4tjTRrY7mtZls3tMy54zije4vleEA9s0UGUr4SF3qm2axR6wMncyIJCk4ACXlN5Bxpsd3/upDe9Gnx6A=="
|
||||
"requested": "[2024.6.18, )",
|
||||
"resolved": "2024.6.18",
|
||||
"contentHash": "xb+HP1xXn4/ES8AgXpk9xeoW568LFYw5NTjY6bHwd6vQjHDf2kT1xHMmQ1me5Vfee/Gp69YIMZDXUAUToG7Elg=="
|
||||
},
|
||||
"BepInEx.AutoPlugin": {
|
||||
"type": "Direct",
|
||||
|
||||
Reference in new issue
Block a user