23 Commits
Author SHA1 Message Date
Daemon f44179c040 Merge pull request #29 from MoltenMods/2021
Tidied code, fixed bugs, and added IP and port under custom region names in regions menu
2021-04-21 22:30:39 +01:00
Daemon 9c70216a9f Tidied code and fixed bugs
Tidied code and removed redundant code

Fixed region file getting spam reloaded

Fixed multiple direct connect buttons existing at once

Added IP and port under names of custom regions in regions menu
2021-04-21 22:26:53 +01:00
Daemon a16eb79973 Updated version and README 2021-04-14 12:37:47 +01:00
Daemon 04711c4369 Merge pull request #25 from MoltenMods/2021
Added Reactor back
2021-04-14 12:30:46 +01:00
Daemon f0010bf13e Built project 2021-04-14 12:25:01 +01:00
Daemon 1e7bc25ba8 Revert "Change regions after ServerManager.LoadServers instead of on game load"
This reverts commit d5de86c1e8, reversing
changes made to 7c1e2533b2.
2021-04-14 12:19:58 +01:00
Daemon d5de86c1e8 Change regions after ServerManager.LoadServers instead of on game load 2021-04-14 12:14:51 +01:00
Daemon 7c1e2533b2 Change regions after ServerManager.LoadServers instead of on game load 2021-04-14 12:11:16 +01:00
Daemon 913a02ddb6 Merge pull request #23 from MoltenMods/2021
Updated code for Reactor 0.4.0-ci.53
2021-04-13 19:09:07 +01:00
Daemon 1da6af54a9 Merge branch 'master' into 2021 2021-04-13 19:08:56 +01:00
Daemon e26fbccdb9 Updated code for Reactor 0.4.0-ci.53 2021-04-13 18:59:19 +01:00
Daemon 6f8a657fd0 Merge pull request #21 from MoltenMods/2021-pre
Updated code to work with 2021.4.12s
2021-04-13 14:02:27 +01:00
Daemon 5a4d501b9e Updated code to work with 2021.4.12s 2021-04-13 14:01:13 +01:00
Daemon ea4be527b7 Merge pull request #20 from MoltenMods/2021
Merge features from 2021 branch into 2021-pre branch
2021-04-13 13:47:17 +01:00
Daemon 6f266f7f93 Merge pull request #19 from MoltenMods/2021
Fixed bug caused by reckless code, tidied code and changed way regions menu is displayed
2021-04-11 14:19:39 +01:00
Daemon 1f5736c7f8 Updated version 2021-04-11 14:18:43 +01:00
Daemon 6df20f83c8 Updated README 2021-04-11 14:17:23 +01:00
Daemon 4c8866a33e Reduced custom regions length from 10 to 9 2021-04-11 14:15:53 +01:00
Daemon fd5a11394a Fixed bug caused by reckless code
Changed how regions menu is displayed
2021-04-11 14:15:05 +01:00
Daemon 5b63d7cd0c Tidied code
Removed `MergeRegions` function in favour of `AddRangeToArray` array method

Removed old 'disable modded handshake' code

Renamed `directConnect` field to `DirectConnect`
2021-04-11 12:27:31 +01:00
Daemon 76a25f8107 Merge pull request #18 from MoltenMods/2021
Updated code to work with Reactor and modified custom regions config to allow more regions
2021-04-09 21:10:54 +01:00
Daemon 339f4f2c33 Updated code to use reactor
Updated code to use fields instead of properties

Updated README

Modified custom regions config to allow 10 custom regions instead of 5
2021-04-09 21:03:28 +01:00
Daemon ec7eda2fa7 Merge pull request #17 from MoltenMods/2021-pre
Merge features from pre-release branch
2021-04-04 12:03:47 +01:00
9 changed files with 133 additions and 361 deletions

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ContentModelUserStore">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
+19 -22
View File
@@ -1,19 +1,8 @@
> **⚠ WARNING**
>
> Impostor currently doesn't support the 2021.3.31.3s release of the
> game, so custom servers will give an outdated error when you try to
> connect. The 3.0.0-pre.1 release of Unify doesn't use Reactor, since
> Reactor is currently outdated and Unify will not actually work until
> Impostor has been updated to support the 2021.3.31.3s release of the
> game. A new stable version of Unify will be released once Reactor is
> up-to-date, but it should be functional with or without Reactor once
> Impostor is up-to-date.
# Unify
An Among Us mod to add extra regions to the regions menu.
![Regions menu](images/RegionsMenu.jpg)
![Regions menu](images/RegionsMenu.png)
# Table of Contents
- [Features](#features)
@@ -27,22 +16,30 @@ The following regions have been added:
- localhost *(for playing on a server running on your computer)*
- matux.fr
Regions can be connected to directly using an IP address.
Custom regions can be added as detailed below in the
[configuration](#configuration) section.
Other mods can add regions via the
`AddRegion(string name, string ip, ushort port)` method.
## Installation
> **⚠ WARNING**
>
> This mod only has compiled releases for the steam release of the game.
> This mod requires you to have BepInEx and Reactor installed. You can install BepInEx and Reactor by following [this guide](INSTALLATION.md) or by following the steps on the
> following two pages: https://docs.reactor.gg/docs/basic/install_bepinex and https://docs.reactor.gg/docs/basic/install_reactor.
> If you are still using 2020.12.9s and Reactor fails to load, try using the Reactor version located
> here: https://github.com/NuclearPowered/Reactor/actions/runs/593649307.
> If you are using 2021.3.5s and Reactor fails to load, ensure you have the latest version of Reactor installed.
> If you are still using 2021.3.5s and Reactor fails to load, try using the Reactor version located
> here: https://github.com/NuclearPowered/Reactor/actions/runs/636023321.
1. Ensure that BepInEx and Reactor are installed (more information above).
2. Download the latest mod on the [releases](https://github.com/DaemonBeast/Unify/releases) page.
1. Ensure that BepInEx and Reactor (Reactor is not required for pre releases) are installed
([installation guide](INSTALLATION.md)).
2. Download the latest mod on the [releases](https://github.com/DaemonBeast/Unify/releases) page
for the version of Among Us you are using.
3. Move the mod to the `(Among Us game files)/BepInEx/plugins` folder.
4. Launch the game.
@@ -56,13 +53,13 @@ The following regions have been added:
> file creates itself.
The configuration file is located at
`(Among Us game files)/BepInEx/config/daemon.unify.reactor.cfg`.
`(Among Us game files)/BepInEx/config/daemon.unify.cfg`.
### Custom regions
Custom regions can be added by modifying the `[Region 1]`,
`[Region 2]` ... `[Region 5]` sections of the configuration file.
The sections allow you to modify the display name of the region and
the IP address of the region.
`[Region 2]` ... `[Region 9]` sections of the configuration file.
You can modify the display name of the region,
the IP address of the region and the port of the region.
If the IP field is left empty, the region will not show up in game.
+72 -99
View File
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using BepInEx.Configuration;
using HarmonyLib;
using Reactor.Extensions;
using UnityEngine;
using UnityEngine.UI;
using Object = UnityEngine.Object;
@@ -11,9 +12,9 @@ namespace Unify.Patches
{
public static class RegionsPatch
{
private static IRegionInfo[] _oldRegions = ServerManager.DefaultRegions;
private static IRegionInfo[] _newRegions = new IRegionInfo[]
private static IRegionInfo[] _oldRegions { get; } = ServerManager.DefaultRegions;
private static IRegionInfo[] _newRegions { get; } = new IRegionInfo[]
{
new DnsRegionInfo("192.241.154.115", "skeld.net", StringNames.NoTranslation, "192.241.154.115", 22023)
.Cast<IRegionInfo>(),
@@ -23,109 +24,79 @@ namespace Unify.Patches
.Cast<IRegionInfo>()
};
public static List<IRegionInfo> ModRegions = new List<IRegionInfo>();
public static List<IRegionInfo> ModRegions { get; } = new List<IRegionInfo>();
public static IRegionInfo DirectRegion;
public static IRegionInfo DirectRegion { get; set; }
private static TextBox directConnect;
private static TextBoxTMP DirectConnect { get; set; }
public static void Patch()
{
ServerManager serverManager = DestroyableSingleton<ServerManager>.CMJOLNCMAPD;
IRegionInfo[] customRegions = UnifyPlugin.MergeRegions(_newRegions, ModRegions.ToArray());
customRegions = UnifyPlugin.MergeRegions(customRegions, LoadCustomUserRegions());
if (DirectRegion != null) customRegions = customRegions.AddToArray(DirectRegion);
IRegionInfo[] patchedRegions = UnifyPlugin.MergeRegions(_oldRegions, customRegions);
ServerManager serverManager = ServerManager.Instance;
IRegionInfo[] patchedRegions = _oldRegions
.AddRangeToArray(_newRegions)
.AddRangeToArray(ModRegions.ToArray())
.AddRangeToArray(LoadCustomUserRegions());
if (DirectRegion != null) patchedRegions = patchedRegions.AddToArray(DirectRegion);
ServerManager.DefaultRegions = patchedRegions;
serverManager.GDOLGIJJLBL = patchedRegions;
serverManager.SaveServers();
serverManager.AvailableRegions = patchedRegions;
}
private static IRegionInfo[] LoadCustomUserRegions()
{
List<IRegionInfo> customRegions = new List<IRegionInfo>();
for (int x = 0; x < 5; x++)
for (int x = 0; x < 9; x++)
{
ConfigEntry<string> regionName = UnifyPlugin.ConfigFile.Bind(
$"Region {x + 1}", $"Name", "custom region");
ConfigEntry<string> regionIp = UnifyPlugin.ConfigFile.Bind(
$"Region {x + 1}", "IP", "");
ConfigEntry<ushort> regionPort = UnifyPlugin.ConfigFile.Bind(
$"Region {x + 1}", "Port", (ushort) 22023);
if (String.IsNullOrWhiteSpace(regionIp.Value)) continue;
IRegionInfo regionInfo = new DnsRegionInfo(
regionIp.Value, regionName.Value, StringNames.NoTranslation, regionIp.Value, 22023)
regionIp.Value, $"{regionName.Value}\n{regionIp.Value} {regionPort.Value}",
StringNames.NoTranslation, regionIp.Value, regionPort.Value)
.Cast<IRegionInfo>();
customRegions.Add(regionInfo);
}
return customRegions.ToArray();
}
private static void UpdateRegion()
{
RegionMenu regionMenu = GameObject.Find("RegionMenu").GetComponent<RegionMenu>();
bool success = UnifyPlugin.SetDirectRegion(directConnect.text, out IRegionInfo newRegion);
RegionMenu regionMenu = DestroyableSingleton<RegionMenu>.Instance;
bool success = UnifyPlugin.SetDirectRegion(DirectConnect.text, out IRegionInfo newRegion);
if (!success)
{
directConnect.StartCoroutine(HLPCBNMDEHF.FIJHCJMBGFP(directConnect.transform, 0.75f, 0.25f));
DirectConnect.StartCoroutine(Effects.SwayX(DirectConnect.transform, 0.75f, 0.25f));
return;
}
regionMenu.ChooseOption(newRegion);
regionMenu.Close();
}
[HarmonyPatch(typeof(RegionMenu), nameof(RegionMenu.Open))]
public static class DirectConnectButtonPatch
[HarmonyPatch(typeof(ServerManager), nameof(ServerManager.LoadServers))]
public static class LoadNewRegionsPatch
{
public static void Postfix()
{
JoinGameButton joinGameButton = DestroyableSingleton<JoinGameButton>.CMJOLNCMAPD;
RegionMenu regionMenu = DestroyableSingleton<RegionMenu>.CMJOLNCMAPD;
directConnect = Object.Instantiate(joinGameButton.GameIdText, regionMenu.transform);
directConnect.gameObject.SetActive(false);
directConnect.IpMode = true;
directConnect.characterLimit = 15;
directConnect.ClearOnFocus = false;
directConnect.OnEnter = new Button.ButtonClickedEvent();
directConnect.OnEnter.AddListener((Action) UpdateRegion);
int offset = ((ServerManager.DefaultRegions.Length + 1) / 2) + 1;
directConnect.transform.localPosition = new Vector3(0, 2f - (offset / 2f), -100f);
}
}
[HarmonyPatch(typeof(RegionMenu), nameof(RegionMenu.Open))]
public static class RegionMenuLayoutPatch
{
public static void Postfix(RegionMenu __instance)
{
directConnect.gameObject.SetActive(true);
var regionButtons = __instance.ButtonPool.activeChildren.ToArray();
int half = regionButtons.Length / 2;
for (int x = 0; x < regionButtons.Length; x++)
{
ServerListButton regionButton = regionButtons[x].Cast<ServerListButton>();
regionButton.transform.localPosition = new Vector3(1.25f * ((x < half)? -1: 1), 2f - 0.5f * (x - ((x < half)? 0 : half)), 0f);
}
Patch();
}
}
[HarmonyPatch(typeof(JoinGameButton), nameof(JoinGameButton.OnClick))]
public static class DirectConnectEnterButtonPatch
{
public static class DirectConnectEnterButtonPatch {
public static bool Prefix(JoinGameButton __instance)
{
GameObject regionMenuGameObject = GameObject.Find("RegionMenu");
@@ -137,49 +108,51 @@ namespace Unify.Patches
}
}
[HarmonyPatch(typeof(RegionMenu), nameof(RegionMenu.Close))]
public static class HideDirectConnectPatch
[HarmonyPatch(typeof(RegionMenu))]
public static class RegionMenuPatches
{
public static void Postfix()
[HarmonyPatch(nameof(RegionMenu.Open))]
[HarmonyPostfix]
public static void DirectConnectButtonPatch(RegionMenu __instance)
{
directConnect.gameObject.SetActive(false);
}
}
if (DirectConnect) DirectConnect.gameObject.Destroy();
[HarmonyPatch(typeof(RegionMenu), nameof(RegionMenu.ChooseOption))]
public static class HideDirectConnectOnSelectPatch
{
public static void Postfix()
JoinGameButton joinGameButton = DestroyableSingleton<JoinGameButton>.Instance;
DirectConnect = Object.Instantiate(joinGameButton.GameIdText, __instance.transform);
DirectConnect.IpMode = true;
DirectConnect.characterLimit = 15;
DirectConnect.ClearOnFocus = false;
DirectConnect.OnEnter = new Button.ButtonClickedEvent();
DirectConnect.OnEnter.AddListener((Action) UpdateRegion);
int offset = _newRegions.Length + ModRegions.Count;
DirectConnect.transform.localPosition = new Vector3(0, 1f - (offset / 2f), -100f);
}
[HarmonyPatch(nameof(RegionMenu.Open))]
[HarmonyPostfix]
public static void RegionMenuLayoutPatch(RegionMenu __instance)
{
directConnect.gameObject.SetActive(false);
var regionButtons = __instance.ButtonPool.activeChildren.ToArray();
for (int i = 0; i < regionButtons.Length; i++)
{
ServerListButton regionButton = regionButtons[i].Cast<ServerListButton>();
bool isCustomRegion = i >= _oldRegions.Length;
bool isCustomUserRegion = i >= _oldRegions.Length + _newRegions.Length + ModRegions.Count;
float x = (isCustomRegion ? 3f : 0) + (isCustomUserRegion ? 3f : 0) - 4.25f;
float y = i - (isCustomRegion ? _oldRegions.Length : 0) -
(isCustomUserRegion ? _newRegions.Length + ModRegions.Count : 0);
regionButton.transform.localPosition = new Vector3(1.25f + x, 2f - 0.5f * y, 0f);
}
}
}
}
/*[HarmonyPatch(typeof(UdpConnection), nameof(UdpConnection.HandleSend))]
public static class DisableModdedHandshakePatch
{
[HarmonyBefore(new string[] { "gg.reactor.api" })]
public static void Prefix()
{
if (UnifyPlugin.HandshakeDisabled) return;
if (!UnifyPlugin.NormalHandshake.Contains(ServerManager.Instance.CurrentRegion.Name)) return;
PluginSingleton<ReactorPlugin>.Instance.ModdedHandshake.Value = false;
}
public static void Postfix()
{
if (UnifyPlugin.HandshakeDisabled) return;
PluginSingleton<ReactorPlugin>.Instance.ModdedHandshake.Value = true;
}
}*/
}
/*
Change fields to properties
Change how custom region is detected
*/
// TODO:
// Store custom servers in a JSON file
+13 -22
View File
@@ -6,24 +6,23 @@ using BepInEx;
using BepInEx.Configuration;
using BepInEx.IL2CPP;
using HarmonyLib;
using Hazel.Udp;
using Reactor;
using Unify.Patches;
namespace Unify
{
[BepInPlugin(Id, Name, Version)]
[BepInProcess("Among Us.exe")]
[BepInDependency(ReactorPlugin.Id)]
[ReactorPluginSide(PluginSide.ClientOnly)]
public class UnifyPlugin : BasePlugin
{
public const string Id = "daemon.unify";
private const string Name = "Unify";
private const string Version = "3.0.0-pre.1";
private const string Version = "4.1.0";
public static ConfigFile ConfigFile;
// public static readonly bool HandshakeDisabled = !PluginSingleton<ReactorPlugin>.Instance.ModdedHandshake.Value;
/*public static readonly string[] NormalHandshake =
new string[] {"North America", "Europe", "Asia", "skeld.net"};*/
public static ConfigFile ConfigFile { get; private set; }
public Harmony Harmony { get; } = new Harmony(Id);
@@ -41,31 +40,23 @@ namespace Unify
ConfigFile = new ConfigFile(Path.Combine(Paths.ConfigPath, $"{UnifyPlugin.Id}.cfg"), true);
// =====================================
RegionsPatch.Patch();
// Unpatches the modded handshake, because Impostor is STILL not fully updated yet
Harmony.Unpatch(typeof(UdpConnection).GetMethod("HandleSend"), HarmonyPatchType.Prefix,
ReactorPlugin.Id);
Harmony.PatchAll();
}
public static IRegionInfo[] MergeRegions(IRegionInfo[] oldRegions, IRegionInfo[] newRegions)
public static IRegionInfo AddRegion(string name, string ip, ushort port)
{
IRegionInfo[] patchedRegions = new IRegionInfo[oldRegions.Length + newRegions.Length];
Array.Copy(oldRegions, patchedRegions, oldRegions.Length);
Array.Copy(newRegions, 0, patchedRegions, oldRegions.Length, newRegions.Length);
return patchedRegions;
}
public static IRegionInfo AddRegion(string name, string ip)
{
if (Uri.CheckHostName(ip) != UriHostNameType.IPv4)
return DestroyableSingleton<ServerManager>.CMJOLNCMAPD.KIDDJMGEOKK;
if (Uri.CheckHostName(ip) != UriHostNameType.IPv4) return ServerManager.Instance.CurrentRegion;
IRegionInfo existingRegion =
ServerManager.DefaultRegions.ToArray().FirstOrDefault(region => region.PingServer == ip);
if (existingRegion != null) return existingRegion;
IRegionInfo newRegion = new DnsRegionInfo(ip, name, StringNames.NoTranslation, ip, 22023)
IRegionInfo newRegion = new DnsRegionInfo(ip, $"{name}\n{ip} {port}", StringNames.NoTranslation, ip, port)
.Cast<IRegionInfo>();
RegionsPatch.ModRegions.Add(newRegion);
+28 -217
View File
@@ -1,227 +1,38 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Version>3.0.0-pre.1</Version>
<Version>4.1.0</Version>
<Mappings>NuclearPowered/Mappings:0.4.0</Mappings>
<Description>Region mod</Description>
<Authors>Daemon</Authors>
</PropertyGroup>
<PropertyGroup Condition="'$(GamePlatform)' == 'Steam'">
<GameVersion>2021.4.12s</GameVersion>
<DefineConstants>$(DefineConstants);STEAM</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(GamePlatform)' == 'Itch'">
<GameVersion>2021.4.12i</GameVersion>
<DefineConstants>$(DefineConstants);ITCH</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\core\0Harmony.dll</HintPath>
</Reference>
<Reference Include="Apple, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Apple.dll</HintPath>
</Reference>
<Reference Include="AppleCore, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\AppleCore.dll</HintPath>
</Reference>
<Reference Include="AppleMacos, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\AppleMacos.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp-firstpass, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Assembly-CSharp-firstpass.dll</HintPath>
</Reference>
<Reference Include="BepInEx.Core, Version=6.0.0.353, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\core\BepInEx.Core.dll</HintPath>
</Reference>
<Reference Include="BepInEx.IL2CPP, Version=6.0.0.353, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\core\BepInEx.IL2CPP.dll</HintPath>
</Reference>
<Reference Include="FacebookStore, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\FacebookStore.dll</HintPath>
</Reference>
<Reference Include="Hazel, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Hazel.dll</HintPath>
</Reference>
<Reference Include="Il2CppMono.Security, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppMono.Security.dll</HintPath>
</Reference>
<Reference Include="Il2Cppmscorlib, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2Cppmscorlib.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppSystem.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Configuration, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppSystem.Configuration.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Core, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppSystem.Core.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Data, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppSystem.Data.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Net.Http, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppSystem.Net.Http.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Numerics, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppSystem.Numerics.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Runtime.Serialization, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppSystem.Runtime.Serialization.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Xml, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppSystem.Xml.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Xml.Linq, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Il2CppSystem.Xml.Linq.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Purchasing.Common, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Purchasing.Common.dll</HintPath>
</Reference>
<Reference Include="QRCoder, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\QRCoder.dll</HintPath>
</Reference>
<Reference Include="Rewired_Core, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Rewired_Core.dll</HintPath>
</Reference>
<Reference Include="Rewired_Windows, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Rewired_Windows.dll</HintPath>
</Reference>
<Reference Include="Security, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Security.dll</HintPath>
</Reference>
<Reference Include="Stores, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Stores.dll</HintPath>
</Reference>
<Reference Include="UnhollowerBaseLib, Version=0.4.13.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\core\UnhollowerBaseLib.dll</HintPath>
</Reference>
<Reference Include="Unity.Addressables, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Unity.Addressables.dll</HintPath>
</Reference>
<Reference Include="Unity.Analytics.DataPrivacy, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Unity.Analytics.DataPrivacy.dll</HintPath>
</Reference>
<Reference Include="Unity.ResourceManager, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Unity.ResourceManager.dll</HintPath>
</Reference>
<Reference Include="Unity.TextMeshPro, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\Unity.TextMeshPro.dll</HintPath>
</Reference>
<Reference Include="UnityEngine, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AIModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.AIModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AndroidJNIModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.AndroidJNIModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AnimationModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.AnimationModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AssetBundleModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.AssetBundleModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AudioModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.AudioModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.CoreModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.DirectorModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.DirectorModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.GridModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.GridModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ImageConversionModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.ImageConversionModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.IMGUIModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.IMGUIModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.InputLegacyModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.InputLegacyModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.InputModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.InputModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.JSONSerializeModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.JSONSerializeModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ParticleSystemModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.ParticleSystemModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.Physics2DModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.Physics2DModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.PhysicsModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.PhysicsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.Purchasing, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.Purchasing.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ScreenCaptureModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.ScreenCaptureModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SharedInternalsModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.SharedInternalsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SpriteMaskModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.SpriteMaskModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SpriteShapeModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.SpriteShapeModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SubsystemsModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.SubsystemsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TerrainModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.TerrainModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TextCoreModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.TextCoreModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TextRenderingModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.TextRenderingModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TilemapModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.TilemapModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UI, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UIElementsNativeModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.UIElementsNativeModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UIModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.UIModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityAnalyticsModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.UnityAnalyticsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityWebRequestAssetBundleModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.UnityWebRequestAssetBundleModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityWebRequestModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.UnityWebRequestModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityWebRequestWWWModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.UnityWebRequestWWWModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.VFXModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.VFXModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.VideoModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.VideoModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.VRModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.VRModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.XRModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\UnityEngine.XRModule.dll</HintPath>
</Reference>
<Reference Include="winrt, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\..\Program Files\SteamLibrary\steamapps\common\Among Us\BepInEx\unhollowed\winrt.dll</HintPath>
</Reference>
<Deobfuscate Include="$(AmongUs)\BepInEx\plugins\Reactor-$(GameVersion).dll" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Reactor.OxygenFilter.MSBuild" Version="0.3.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<Target Name="Copy" AfterTargets="Reobfuscate">
<Copy SourceFiles="$(OutputPath)reobfuscated/$(AssemblyName)-$(GameVersion).dll" DestinationFolder="$(AmongUs)/BepInEx/plugins/" />
<Copy SourceFiles="$(OutputPath)reobfuscated/$(AssemblyName)-$(GameVersion).dll" DestinationFolder="../build/" />
<Copy SourceFiles="$(OutputPath)reobfuscated/$(AssemblyName)-$(GameVersion).dll" DestinationFolder="$(NewAmongUs)/" />
</Target>
</Project>
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB