using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using REPOTeamBoosters.Patches;
using TeamUpgrades.Patches;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("TeamUpgrades")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("TeamUpgrades")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("ef74d5e5-8fe6-4b6a-86ed-0e29e12695bb")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace TeamUpgrades.Patches
{
[HarmonyPatch(typeof(ItemUpgradePlayerExtraJump), "Upgrade")]
internal class ItemUpgradePlayerExtraJumpPatch
{
private static bool Prefix(ItemUpgradePlayerExtraJump __instance)
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAll();
foreach (PlayerAvatar item in list)
{
PunManager.instance.UpgradePlayerExtraJump(SemiFunc.PlayerGetSteamID(item));
}
return false;
}
}
[HarmonyPatch(typeof(ItemUpgradePlayerGrabRange), "Upgrade")]
internal class ItemUpgradePlayerGrabRangePatch
{
private static bool Prefix(ItemUpgradePlayerGrabRange __instance)
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAll();
foreach (PlayerAvatar item in list)
{
PunManager.instance.UpgradePlayerGrabRange(SemiFunc.PlayerGetSteamID(item));
}
return false;
}
}
[HarmonyPatch(typeof(ItemUpgradePlayerGrabStrength), "Upgrade")]
internal class ItemUpgradePlayerGrabStrengthPatch
{
private static bool Prefix(ItemUpgradePlayerGrabStrength __instance)
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAll();
foreach (PlayerAvatar item in list)
{
PunManager.instance.UpgradePlayerGrabStrength(SemiFunc.PlayerGetSteamID(item));
}
return false;
}
}
[HarmonyPatch(typeof(ItemUpgradePlayerGrabThrow), "Upgrade")]
internal class ItemUpgradePlayerGrabThrowPatch
{
private static bool Prefix(ItemUpgradePlayerGrabThrow __instance)
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAll();
foreach (PlayerAvatar item in list)
{
PunManager.instance.UpgradePlayerThrowStrength(SemiFunc.PlayerGetSteamID(item));
}
return false;
}
}
[HarmonyPatch(typeof(ItemUpgradePlayerTumbleLaunch), "Upgrade")]
internal class ItemUpgradePlayerTumbleLaunchPatch
{
private static bool Prefix(ItemUpgradePlayerTumbleLaunch __instance)
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAll();
foreach (PlayerAvatar item in list)
{
PunManager.instance.UpgradePlayerTumbleLaunch(SemiFunc.PlayerGetSteamID(item));
}
return false;
}
}
}
namespace REPOTeamBoosters
{
[BepInPlugin("EvilCheetah.REPO.TeamBoosters", "R.E.P.O. Team Boosters", "1.0.0")]
public class TeamBoostersBase : BaseUnityPlugin
{
private const string mod_guid = "EvilCheetah.REPO.TeamBoosters";
private const string mod_name = "R.E.P.O. Team Boosters";
private const string mod_version = "1.0.0";
private readonly Harmony harmony = new Harmony("EvilCheetah.REPO.TeamBoosters");
private static TeamBoostersBase instance;
internal ManualLogSource mls;
private void Awake()
{
if ((Object)(object)instance == (Object)null)
{
instance = this;
}
mls = Logger.CreateLogSource("EvilCheetah.REPO.TeamBoosters");
mls.LogInfo((object)"Team Boosters mod has been activated");
harmony.PatchAll(typeof(TeamBoostersBase));
harmony.PatchAll(typeof(ItemUpgradeMapPlayerCountPatch));
harmony.PatchAll(typeof(ItemUpgradePlayerEnergyPatch));
harmony.PatchAll(typeof(ItemUpgradePlayerExtraJumpPatch));
harmony.PatchAll(typeof(ItemUpgradePlayerGrabRangePatch));
harmony.PatchAll(typeof(ItemUpgradePlayerGrabStrengthPatch));
harmony.PatchAll(typeof(ItemUpgradePlayerGrabThrowPatch));
harmony.PatchAll(typeof(ItemUpgradePlayerHealthPatch));
harmony.PatchAll(typeof(ItemUpgradePlayerSprintSpeedPatch));
harmony.PatchAll(typeof(ItemUpgradePlayerTumbleLaunchPatch));
}
}
}
namespace REPOTeamBoosters.Patches
{
[HarmonyPatch(typeof(ItemUpgradeMapPlayerCount), "Upgrade")]
internal class ItemUpgradeMapPlayerCountPatch
{
private static bool Prefix(ItemUpgradeMapPlayerCount __instance)
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAll();
foreach (PlayerAvatar item in list)
{
PunManager.instance.UpgradeMapPlayerCount(SemiFunc.PlayerGetSteamID(item));
}
return false;
}
}
[HarmonyPatch(typeof(ItemUpgradePlayerEnergy), "Upgrade")]
internal class ItemUpgradePlayerEnergyPatch
{
private static bool Prefix(ItemUpgradePlayerEnergy __instance)
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAll();
foreach (PlayerAvatar item in list)
{
PunManager.instance.UpgradePlayerEnergy(SemiFunc.PlayerGetSteamID(item));
}
return false;
}
}
[HarmonyPatch(typeof(ItemUpgradePlayerHealth), "Upgrade")]
internal class ItemUpgradePlayerHealthPatch
{
private static bool Prefix(ItemUpgradePlayerHealth __instance)
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAll();
foreach (PlayerAvatar item in list)
{
PunManager.instance.UpgradePlayerHealth(SemiFunc.PlayerGetSteamID(item));
}
return false;
}
}
[HarmonyPatch(typeof(ItemUpgradePlayerSprintSpeed), "Upgrade")]
internal class ItemUpgradePlayerSprintSpeedPatch
{
private static bool Prefix(ItemUpgradePlayerHealth __instance)
{
List<PlayerAvatar> list = SemiFunc.PlayerGetAll();
foreach (PlayerAvatar item in list)
{
PunManager.instance.UpgradePlayerSprintSpeed(SemiFunc.PlayerGetSteamID(item));
}
return false;
}
}
}