mirror of
https://github.com/D1GQ/BetterAmongUs.git
synced 2026-10-20 01:46:19 +00:00
Merge pull request #41 from EnhancedNetwork/dev
Add Support to 2025.3.25
This commit is contained in:
17 files changed
+171
-94
No files matched your search
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
@@ -6,11 +6,13 @@
|
||||
<OutputType>Library</OutputType>
|
||||
<langVersion>preview</langVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="..\.editorconfig" Link=".editorconfig" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2024.10.29" />
|
||||
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2025.3.25" />
|
||||
<PackageReference Include="BepInEx.IL2CPP.MSBuild" Version="2.0.1">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
@@ -21,9 +23,10 @@
|
||||
</PackageReference>
|
||||
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.674" Private="false" ExcludeAssets="runtime;native" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Embed all files in the Resources folder -->
|
||||
<EmbeddedResource Include="Resources\**\*" />
|
||||
<EmbeddedResource Include="token.env" />
|
||||
<EmbeddedResource Include="token.env" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -185,11 +185,11 @@ class BAUAntiCheat
|
||||
if (GameState.IsInGamePlay)
|
||||
{
|
||||
if (callId is (byte)RpcCalls.SetColor
|
||||
or (byte)RpcCalls.SetHat
|
||||
or (byte)RpcCalls.SetSkin
|
||||
or (byte)RpcCalls.SetVisor
|
||||
or (byte)RpcCalls.SetPet
|
||||
or (byte)RpcCalls.SetNamePlate)
|
||||
or (byte)RpcCalls.SetHat_Deprecated
|
||||
or (byte)RpcCalls.SetSkin_Deprecated
|
||||
or (byte)RpcCalls.SetVisor_Deprecated
|
||||
or (byte)RpcCalls.SetPet_Deprecated
|
||||
or (byte)RpcCalls.SetNamePlate_Deprecated)
|
||||
{
|
||||
BetterNotificationManager.NotifyCheat(player, string.Format(Translator.GetString("AntiCheat.InvalidSetRPC"), Enum.GetName((RpcCalls)callId)));
|
||||
Logger.LogCheat($"{player.BetterData().RealName} {Enum.GetName((RpcCalls)callId)}: {GameState.IsInGamePlay}");
|
||||
|
||||
@@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat;
|
||||
[RegisterRPCHandler]
|
||||
internal sealed class SetHatHandler : RPCHandler
|
||||
{
|
||||
internal override byte CallId => (byte)RpcCalls.SetHat;
|
||||
internal override byte CallId => (byte)RpcCalls.SetHat_Deprecated;
|
||||
}
|
||||
@@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat;
|
||||
[RegisterRPCHandler]
|
||||
internal sealed class SetNamePlateHandler : RPCHandler
|
||||
{
|
||||
internal override byte CallId => (byte)RpcCalls.SetNamePlate;
|
||||
internal override byte CallId => (byte)RpcCalls.SetNamePlate_Deprecated;
|
||||
}
|
||||
@@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat;
|
||||
[RegisterRPCHandler]
|
||||
internal sealed class SetPetHandler : RPCHandler
|
||||
{
|
||||
internal override byte CallId => (byte)RpcCalls.SetPet;
|
||||
internal override byte CallId => (byte)RpcCalls.SetPet_Deprecated;
|
||||
}
|
||||
@@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat;
|
||||
[RegisterRPCHandler]
|
||||
internal sealed class SetSkinHandler : RPCHandler
|
||||
{
|
||||
internal override byte CallId => (byte)RpcCalls.SetSkin;
|
||||
internal override byte CallId => (byte)RpcCalls.SetSkin_Deprecated;
|
||||
}
|
||||
@@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat;
|
||||
[RegisterRPCHandler]
|
||||
internal sealed class SetVisorHandler : RPCHandler
|
||||
{
|
||||
internal override byte CallId => (byte)RpcCalls.SetVisor;
|
||||
internal override byte CallId => (byte)RpcCalls.SetVisor_Deprecated;
|
||||
}
|
||||
@@ -17,7 +17,7 @@ class FileChecker
|
||||
"System", "Unity", "Harmony", "BepInEx", "Microsoft", "Il2Cpp", "Hazel",
|
||||
"MonoMod", "netstandard", "mscorlib", "AssetRipper", "Cpp2IL", "AsmResolver", "Iced",
|
||||
"SemanticVersioning", "Mono.Cecil", "Assembly-CSharp", "StableNameDotNet",
|
||||
"Disarm", "Gee.External.Capstone", "Rewired_Core", "AddressablesPlayAssetDelivery",
|
||||
"Disarm", "Gee.External.Capstone", "Rewired_Core", "AddressablesPlayAssetDelivery", "Newtonsoft.Json",
|
||||
"Assembly-CSharp-firstpass", "Sentry", "BetterAmongUs", "MCI", "CrowdedMod", "Mini.RegionInstall", "Unlock", "Skin"
|
||||
});
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ internal static class GameState
|
||||
internal static bool IsNormalGame => GameOptionsManager.Instance.CurrentGameOptions.GameMode is GameModes.Normal or GameModes.NormalFools;
|
||||
internal static bool IsHideNSeek => GameOptionsManager.Instance != null && GameOptionsManager.Instance.CurrentGameOptions.GameMode is GameModes.HideNSeek or GameModes.SeekFools;
|
||||
internal static bool SkeldIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Skeld;
|
||||
internal static bool MiraHQIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Mira;
|
||||
internal static bool MiraHQIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.MiraHQ;
|
||||
internal static bool PolusIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Polus;
|
||||
internal static bool DleksIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Dleks;
|
||||
internal static bool AirshipIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Airship;
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
using HarmonyLib;
|
||||
using AmongUs.Data.Player;
|
||||
using HarmonyLib;
|
||||
|
||||
namespace BetterAmongUs.Patches;
|
||||
|
||||
[HarmonyPatch(typeof(StatsManager), nameof(StatsManager.BanMinutesLeft), MethodType.Getter)]
|
||||
[HarmonyPatch(typeof(PlayerBanData), nameof(PlayerBanData.BanMinutesLeft), MethodType.Getter)]
|
||||
internal static class DisconnectPenaltyPatch
|
||||
{
|
||||
internal static bool Prefix(StatsManager __instance, ref int __result)
|
||||
internal static bool Prefix(PlayerBanData __instance, ref int __result)
|
||||
{
|
||||
if (__instance.BanPoints != 0f)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
using HarmonyLib;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BetterAmongUs.Patches;
|
||||
|
||||
[HarmonyPatch(typeof(FindAGameManager))]
|
||||
internal class FindAGameManagerPatch
|
||||
{
|
||||
public static Scroller? Scroller;
|
||||
|
||||
[HarmonyPatch(nameof(FindAGameManager.Start))]
|
||||
[HarmonyPrefix]
|
||||
internal static void Start_Prefix(FindAGameManager __instance)
|
||||
{
|
||||
var prefab = __instance.gameContainers[4];
|
||||
var list = new GameObject("GameListScroller");
|
||||
list.transform.SetParent(prefab.transform.parent);
|
||||
|
||||
Scroller = list.AddComponent<Scroller>();
|
||||
Scroller.Inner = list.transform;
|
||||
Scroller.MouseMustBeOverToScroll = true;
|
||||
var box = prefab.transform.parent.gameObject.AddComponent<BoxCollider2D>();
|
||||
box.size = new Vector2(100f, 100f);
|
||||
Scroller.ClickMask = box;
|
||||
Scroller.ScrollWheelSpeed = 0.3f;
|
||||
Scroller.SetYBoundsMin(0f);
|
||||
Scroller.SetYBoundsMax(3.5f);
|
||||
Scroller.allowY = true;
|
||||
|
||||
foreach (var con in __instance.gameContainers)
|
||||
{
|
||||
con.transform.SetParent(list.transform);
|
||||
var oldPos = con.transform.position;
|
||||
con.transform.position = new Vector3(oldPos.x, oldPos.y, 25);
|
||||
}
|
||||
|
||||
var oldGameContainers = __instance.gameContainers.ToList();
|
||||
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
var GameContainer = UnityEngine.Object.Instantiate(prefab, list.transform);
|
||||
var oldPos = GameContainer.transform.position;
|
||||
GameContainer.transform.position = new Vector3(oldPos.x, oldPos.y - 0.75f * (i + 1), 25);
|
||||
oldGameContainers.Add(GameContainer);
|
||||
}
|
||||
|
||||
__instance.gameContainers = oldGameContainers.ToArray();
|
||||
|
||||
var cutOffTop = CreateBlackSquareSprite();
|
||||
cutOffTop.transform.SetParent(list.transform.parent);
|
||||
cutOffTop.transform.localPosition = new Vector3(0, 3, 1);
|
||||
cutOffTop.transform.localScale = new Vector3(1500, 200, 100);
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(FindAGameManager.RefreshList))]
|
||||
[HarmonyPostfix]
|
||||
internal static void RefreshList_Postfix()
|
||||
{
|
||||
Scroller?.ScrollRelative(new(0f, -100f));
|
||||
}
|
||||
|
||||
private static SpriteRenderer CreateBlackSquareSprite()
|
||||
{
|
||||
var square = new GameObject("CutOffTop");
|
||||
var renderer = square.AddComponent<SpriteRenderer>();
|
||||
Texture2D texture = new(100, 100);
|
||||
Color[] pixels = texture.GetPixels();
|
||||
for (int i = 0; i < pixels.Length; i++)
|
||||
{
|
||||
pixels[i] = Color.black;
|
||||
}
|
||||
texture.SetPixels(pixels);
|
||||
texture.Apply();
|
||||
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, 1, 1), Vector2.one * 0.5f);
|
||||
renderer.sprite = sprite;
|
||||
square.transform.localScale = new Vector3(100, 100, 1);
|
||||
return renderer;
|
||||
}
|
||||
}
|
||||
@@ -205,12 +205,12 @@ class GamePlayManager
|
||||
|
||||
switch (EndGameResult.CachedGameOverReason)
|
||||
{
|
||||
case GameOverReason.HumansByTask:
|
||||
case GameOverReason.CrewmatesByTask:
|
||||
winTeam = Translator.GetString(StringNames.Crewmates);
|
||||
winTag = Translator.GetString("Game.Summary.Result.TasksCompletion");
|
||||
winColor = "#8cffff";
|
||||
break;
|
||||
case GameOverReason.HumansByVote:
|
||||
case GameOverReason.CrewmatesByVote:
|
||||
winTeam = Translator.GetString(StringNames.Crewmates);
|
||||
winTag = Translator.GetString("Game.Summary.Result.ImpostersVotedOut");
|
||||
winColor = "#8cffff";
|
||||
@@ -220,33 +220,33 @@ class GamePlayManager
|
||||
winTag = Translator.GetString("Game.Summary.Result.ImpostorsDisconnected");
|
||||
winColor = "#8cffff";
|
||||
break;
|
||||
case GameOverReason.ImpostorByKill:
|
||||
case GameOverReason.ImpostorsByKill:
|
||||
winTeam = Translator.GetString(StringNames.ImpostorsCategory);
|
||||
winTag = Translator.GetString("Game.Summary.Result.CrewOutnumbered");
|
||||
winColor = "#f00202";
|
||||
break;
|
||||
case GameOverReason.ImpostorBySabotage:
|
||||
case GameOverReason.ImpostorsBySabotage:
|
||||
winTeam = Translator.GetString(StringNames.ImpostorsCategory);
|
||||
winTag = Translator.GetString("Game.Summary.Result.Sabotage");
|
||||
winColor = "#f00202";
|
||||
break;
|
||||
case GameOverReason.ImpostorByVote:
|
||||
case GameOverReason.ImpostorsByVote:
|
||||
winTeam = Translator.GetString(StringNames.ImpostorsCategory);
|
||||
winTag = Translator.GetString("Game.Summary.Result.CrewOutnumbered");
|
||||
winColor = "#f00202";
|
||||
break;
|
||||
case GameOverReason.HumansDisconnect:
|
||||
case GameOverReason.CrewmateDisconnect:
|
||||
winTeam = Translator.GetString(StringNames.ImpostorsCategory);
|
||||
winTag = Translator.GetString("Game.Summary.Result.CrematesDisconnected");
|
||||
winColor = "#f00202";
|
||||
break;
|
||||
|
||||
case GameOverReason.HideAndSeek_ByTimer:
|
||||
case GameOverReason.HideAndSeek_CrewmatesByTimer:
|
||||
winTeam = Translator.GetString("Game.Summary.Hiders");
|
||||
winTag = Translator.GetString("Game.Summary.Result.TimeOut");
|
||||
winColor = "#8cffff";
|
||||
break;
|
||||
case GameOverReason.HideAndSeek_ByKills:
|
||||
case GameOverReason.HideAndSeek_ImpostorsByKills:
|
||||
winTeam = Translator.GetString("Game.Summary.Seekers");
|
||||
winTag = Translator.GetString("Game.Summary.Result.NoSurvivors");
|
||||
winColor = "#f00202";
|
||||
|
||||
@@ -13,8 +13,7 @@ internal class HudManagerPatch
|
||||
{
|
||||
internal static string WelcomeMessage = $"<b><color=#00b530><size=125%><align=\"center\">{string.Format(Translator.GetString("WelcomeMsg.WelcomeToBAU"), Translator.GetString("BetterAmongUs"))}\n{Main.GetVersionText()}</size>\n" +
|
||||
$"{Translator.GetString("WelcomeMsg.ThanksForDownloading")}</align></color></b>\n<size=120%> </size>\n" +
|
||||
string.Format(Translator.GetString("WelcomeMsg.BAUDescription1"), Translator.GetString("bau"), Translator.GetString("BetterOption.AntiCheat")) + "\n\n" +
|
||||
string.Format(Translator.GetString("WelcomeMsg.BAUDescription2"), Translator.GetString("bau"), Translator.GetString("BetterOption"), Translator.GetString("BetterOption.BetterHost"));
|
||||
string.Format(Translator.GetString("WelcomeMsg.BAUDescription1"), Translator.GetString("bau"), Translator.GetString("BetterOption.AntiCheat"));
|
||||
|
||||
private static bool HasBeenWelcomed = false;
|
||||
[HarmonyPatch(nameof(HudManager.Start))]
|
||||
|
||||
@@ -9,7 +9,8 @@ namespace BetterAmongUs.Patches;
|
||||
[HarmonyPatch]
|
||||
internal class PrivateLobbyPatch
|
||||
{
|
||||
private static AprilFoolsModeToggleButton? toggle;
|
||||
private static GameObject? toggle;
|
||||
private static List<PassiveButton>? buttons = [];
|
||||
private static TextMeshPro? toggleText;
|
||||
|
||||
[HarmonyPatch(typeof(CreateGameOptions))]
|
||||
@@ -18,81 +19,66 @@ internal class PrivateLobbyPatch
|
||||
internal static void CreateGameOptionsShow_Postfix(CreateGameOptions __instance)
|
||||
{
|
||||
if (toggle != null) return;
|
||||
buttons.Clear();
|
||||
|
||||
toggle = UnityEngine.Object.Instantiate(__instance.AprilFoolsToggle, __instance.transform);
|
||||
toggle = UnityEngine.Object.Instantiate(__instance.AprilFoolsToggle, __instance.contentObjects.First().transform.parent);
|
||||
if (toggle != null)
|
||||
{
|
||||
toggle.name = "PrivateOnlyLobby";
|
||||
buttons.Add(toggle.transform.Find("AprilOn").GetComponent<PassiveButton>());
|
||||
buttons.Add(toggle.transform.Find("AprilOff").GetComponent<PassiveButton>());
|
||||
if (buttons.Count < 2) return;
|
||||
|
||||
toggle.gameObject.SetActive(true);
|
||||
var onButton = toggle.onButton.GetComponent<PassiveButton>();
|
||||
var onButton = buttons[0];
|
||||
if (onButton != null)
|
||||
{
|
||||
onButton.gameObject.SetActive(false);
|
||||
onButton.OnClick = new();
|
||||
onButton.OnClick.AddListener((Action)(() => TogglePrivateOnlyLobby(true)));
|
||||
}
|
||||
var offButton = toggle.offButton.GetComponent<PassiveButton>();
|
||||
var offButton = buttons[1];
|
||||
if (offButton != null)
|
||||
{
|
||||
offButton.gameObject.SetActive(false);
|
||||
offButton.OnClick = new();
|
||||
offButton.OnClick.AddListener((Action)(() => TogglePrivateOnlyLobby(false)));
|
||||
}
|
||||
var aspect = toggle.gameObject.AddComponent<AspectPosition>();
|
||||
aspect.Alignment = AspectPosition.EdgeAlignments.Top;
|
||||
aspect.DistanceFromEdge = new UnityEngine.Vector3(0, 1.7f, 0);
|
||||
aspect.DistanceFromEdge = new UnityEngine.Vector3(0.4f, 1.62f, 0);
|
||||
aspect.AdjustPosition();
|
||||
|
||||
var text = toggle.transform.Find("AprilFoolsModeText")?.GetComponent<TextMeshPro>();
|
||||
var text = toggle.transform.Find("BlackSquare/ModeText")?.GetComponent<TextMeshPro>();
|
||||
if (text != null)
|
||||
{
|
||||
text.DestroyTextTranslator();
|
||||
text.text = "Private Only Lobby";
|
||||
toggleText = text;
|
||||
}
|
||||
|
||||
var banner = toggle.transform.Find("Banner")?.GetComponent<SpriteRenderer>();
|
||||
if (banner != null)
|
||||
{
|
||||
banner.color = new(1, 1, 1, 0.25f);
|
||||
}
|
||||
}
|
||||
|
||||
TogglePrivateOnlyLobby(Main.PrivateOnlyLobby.Value);
|
||||
}
|
||||
|
||||
private static void TogglePrivateOnlyLobby(bool modeOn)
|
||||
{
|
||||
Main.PrivateOnlyLobby.Value = modeOn;
|
||||
}
|
||||
if (buttons.Count < 2) return;
|
||||
|
||||
[HarmonyPatch(typeof(AprilFoolsModeToggleButton))]
|
||||
[HarmonyPatch(nameof(AprilFoolsModeToggleButton.Update))]
|
||||
[HarmonyPrefix]
|
||||
internal static bool AprilFoolsModeToggleButtonUpdate_Prefix(AprilFoolsModeToggleButton __instance)
|
||||
{
|
||||
if (__instance == toggle)
|
||||
buttons[0].gameObject.SetActive(true);
|
||||
buttons[1].gameObject.SetActive(true);
|
||||
buttons[0].SelectButton(false);
|
||||
buttons[1].SelectButton(false);
|
||||
|
||||
if (modeOn)
|
||||
{
|
||||
if (Main.PrivateOnlyLobby.Value)
|
||||
{
|
||||
__instance.offButton.OutColor = Color.grey;
|
||||
__instance.offText.color = Color.grey;
|
||||
__instance.offButtonSprite.color = Color.grey;
|
||||
__instance.onButton.OutColor = Color.white;
|
||||
__instance.onText.color = Color.white;
|
||||
__instance.onButtonSprite.color = Color.green;
|
||||
if (toggleText != null) toggleText.color = new(1, 1, 1, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
__instance.onButton.OutColor = Color.grey;
|
||||
__instance.onText.color = Color.grey;
|
||||
__instance.onButtonSprite.color = Color.grey;
|
||||
__instance.offButton.OutColor = Color.white;
|
||||
__instance.offText.color = Color.white;
|
||||
__instance.offButtonSprite.color = Color.green;
|
||||
if (toggleText != null) toggleText.color = new(1, 1, 1, 0.5f);
|
||||
}
|
||||
|
||||
return false;
|
||||
buttons[0].SelectButton(true);
|
||||
}
|
||||
|
||||
return true;
|
||||
else
|
||||
{
|
||||
buttons[1].SelectButton(true);
|
||||
}
|
||||
Main.PrivateOnlyLobby.Value = modeOn;
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(LobbyInfoPane))]
|
||||
|
||||
+28
-14
@@ -6,9 +6,10 @@ namespace BetterAmongUs.Patches;
|
||||
|
||||
class SplashIntroPatch
|
||||
{
|
||||
internal static bool Skip = false;
|
||||
internal static bool BetterIntro = false;
|
||||
internal static bool IsReallyDoneLoading = false;
|
||||
private static GameObject BetterLogo;
|
||||
private static GameObject? BetterLogo;
|
||||
|
||||
[HarmonyPatch(typeof(SplashManager))]
|
||||
class SplashManagerPatch
|
||||
@@ -17,6 +18,9 @@ class SplashIntroPatch
|
||||
[HarmonyPrefix]
|
||||
internal static void Start_Prefix(SplashManager __instance)
|
||||
{
|
||||
Skip = false;
|
||||
BetterIntro = false;
|
||||
IsReallyDoneLoading = false;
|
||||
__instance.logoAnimFinish.transform.Find("BlackOverlay").transform.SetLocalY(100f);
|
||||
}
|
||||
|
||||
@@ -24,6 +28,12 @@ class SplashIntroPatch
|
||||
[HarmonyPrefix]
|
||||
internal static bool Update_Prefix(SplashManager __instance)
|
||||
{
|
||||
if (Skip)
|
||||
{
|
||||
CheckIfDone(__instance);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Time.time - __instance.startTime > 2f && BetterIntro)
|
||||
{
|
||||
UnityEngine.Object.Destroy(__instance.logoAnimFinish.GetComponent<AudioSource>());
|
||||
@@ -31,11 +41,10 @@ class SplashIntroPatch
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.Mouse0) || Input.GetKeyDown(KeyCode.Mouse1))
|
||||
{
|
||||
if (Time.time - __instance.startTime > 2f || BetterIntro)
|
||||
if (CheckIfDone(__instance, true))
|
||||
{
|
||||
IsReallyDoneLoading = true;
|
||||
__instance.sceneChanger.AllowFinishLoadingScene();
|
||||
__instance.startedSceneLoad = true;
|
||||
Skip = true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,21 +61,26 @@ class SplashIntroPatch
|
||||
BetterLogo.name = "BetterLogo";
|
||||
BetterLogo.GetComponent<SpriteRenderer>().sprite = Utils.LoadSprite("BetterAmongUs.Resources.Images.BetterAmongUs-By-The-Enhanced-Network-Logo.png", 150f);
|
||||
__instance.logoAnimFinish.transform.Find("BlackOverlay").transform.SetLocalY(0f);
|
||||
__instance.loadingObject.SetActive(false);
|
||||
|
||||
__instance.startedSceneLoad = false;
|
||||
BetterIntro = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
__instance.startedSceneLoad = true;
|
||||
CheckIfDone(__instance);
|
||||
}
|
||||
|
||||
if (__instance.startedSceneLoad && BetterIntro)
|
||||
{
|
||||
IsReallyDoneLoading = true;
|
||||
__instance.sceneChanger.AllowFinishLoadingScene();
|
||||
__instance.startedSceneLoad = true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
internal static bool CheckIfDone(SplashManager __instance, bool isSkip = false)
|
||||
{
|
||||
if ((Time.time - __instance.startTime > 2f && BetterIntro) || (isSkip && BetterIntro))
|
||||
{
|
||||
IsReallyDoneLoading = true;
|
||||
__instance.sceneChanger.AllowFinishLoadingScene();
|
||||
__instance.startedSceneLoad = true;
|
||||
__instance.loadingObject.SetActive(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
"WelcomeMsg.WelcomeToBAU": "Welcome To {0}",
|
||||
"WelcomeMsg.ThanksForDownloading": "Thanks for downloading!",
|
||||
"WelcomeMsg.BAUDescription1": "<color=#0dff00>{0}</color> Is a mod for improving the vanilla Among Us experience with a built-in {1} and other futures, <color=#0dff00>{0}</color> is a client-sided mod so it can be used with other vanilla Among Us players.",
|
||||
"WelcomeMsg.BAUDescription2": "<color=#0dff00>{0}</color> Also has a option in <color=#2b7500>{1}</color> on the pause menu called {2}, {2} is designed to enhance the vanilla experience for other players without having <color=#0dff00>{0}</color> installed!",
|
||||
|
||||
"BetterOption": "Better Options",
|
||||
"BetterOption.AntiCheat": "<color=#4f92ff>Anti-Cheat</color>",
|
||||
|
||||
@@ -27,8 +27,8 @@ internal enum ReleaseTypes : int
|
||||
[BepInProcess("Among Us.exe")]
|
||||
internal class Main : BasePlugin
|
||||
{
|
||||
internal static readonly ReleaseTypes ReleaseBuildType = ReleaseTypes.Release;
|
||||
internal const string BetaNum = "0";
|
||||
internal static readonly ReleaseTypes ReleaseBuildType = ReleaseTypes.Beta;
|
||||
internal const string BetaNum = "1";
|
||||
internal const string HotfixNum = "0";
|
||||
internal const bool IsHotFix = false;
|
||||
internal const string PluginGuid = "com.ten.betteramongus";
|
||||
@@ -87,11 +87,7 @@ internal class Main : BasePlugin
|
||||
|
||||
internal static List<string> SupportedAmongUsVersions =
|
||||
[
|
||||
"2024.11.26",
|
||||
"2024.10.29",
|
||||
"2024.9.4",
|
||||
"2024.8.13",
|
||||
"2024.6.18",
|
||||
"2025.3.25",
|
||||
];
|
||||
|
||||
internal static List<PlayerControl> AllPlayerControls = [];
|
||||
|
||||
Reference in new issue
Block a user