using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using Il2CppTMPro;
using MelonLoader;
using Microsoft.CodeAnalysis;
using RumbleModdingAPI;
using RumblePride;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyDescription("Not gay enough")]
[assembly: AssemblyCopyright("Created by TacoSlayer36")]
[assembly: MelonInfo(typeof(RPClass), "RumblePride", "1.0.0", "TacoSlayer36", null)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("RumblePride")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("RumblePride")]
[assembly: AssemblyTitle("RumblePride")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
internal sealed class NullableAttribute : Attribute
{
public readonly byte[] NullableFlags;
public NullableAttribute(byte P_0)
{
NullableFlags = new byte[1] { P_0 };
}
public NullableAttribute(byte[] P_0)
{
NullableFlags = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
internal sealed class NullableContextAttribute : Attribute
{
public readonly byte Flag;
public NullableContextAttribute(byte P_0)
{
Flag = P_0;
}
}
}
namespace RumblePride
{
public class RPClass : MelonMod
{
private string currentScene = string.Empty;
private TextMeshPro? gearMarketDescription;
private List<TextMeshProUGUI> chargeStoneDescriptions = new List<TextMeshProUGUI>();
private List<TextMeshProUGUI> tutorialSlabTexts = new List<TextMeshProUGUI>();
private TextMeshPro? essentialsText;
private TextMeshProUGUI? moveName;
private bool enabled = false;
public override void OnLateInitializeMelon()
{
Calls.onMapInitialized += sceneReady;
Calls.onMatchEnded += matchEnded;
if (DateTime.Now.ToString("MM") == "06")
{
enabled = true;
}
}
public override void OnSceneWasLoaded(int buildIndex, string sceneName)
{
currentScene = sceneName;
}
private void sceneReady()
{
if (enabled)
{
if (currentScene == "Gym")
{
tutorialSlabTexts.Add(((Component)TutorialChecklist.GetGameObject().transform.GetChild(0).GetChild(6).GetChild(0)
.GetChild(1)).GetComponent<TextMeshProUGUI>());
tutorialSlabTexts.Add(((Component)TutorialChecklist.GetGameObject().transform.GetChild(0).GetChild(6).GetChild(0)
.GetChild(1)).GetComponent<TextMeshProUGUI>());
tutorialSlabTexts.Add(((Component)TutorialChecklist.GetGameObject().transform.GetChild(0).GetChild(6).GetChild(0)
.GetChild(1)).GetComponent<TextMeshProUGUI>());
tutorialSlabTexts.Add(((Component)TutorialChecklist.GetGameObject().transform.GetChild(0).GetChild(6).GetChild(0)
.GetChild(1)).GetComponent<TextMeshProUGUI>());
gearMarketDescription = ((Component)ItemHighlightWindow.GetGameObject().transform.GetChild(1)).GetComponent<TextMeshPro>();
moveName = ((Component)Model.GetGameObject().transform.GetChild(5).GetChild(0)).GetComponent<TextMeshProUGUI>();
essentialsText = ((Component)Gaze.GetGameObject().transform.GetChild(0)).GetComponent<TextMeshPro>();
findShiftstoneSwappers();
}
else if (currentScene == "Park")
{
findShiftstoneSwappers();
}
}
}
private void matchEnded()
{
if (enabled)
{
MelonCoroutines.Start(afterABit());
}
}
private IEnumerator afterABit()
{
yield return (object)new WaitForSeconds(1f);
findShiftstoneSwappers();
}
public override void OnFixedUpdate()
{
if (!enabled)
{
return;
}
if ((Object)(object)gearMarketDescription != (Object)null && ((TMP_Text)gearMarketDescription).text.Contains("Straight"))
{
((TMP_Text)gearMarketDescription).text = ((TMP_Text)gearMarketDescription).text.Replace("Straight", "Gay");
}
if ((Object)(object)moveName != (Object)null && ((TMP_Text)moveName).text.Contains("Straight"))
{
((TMP_Text)moveName).text = ((TMP_Text)moveName).text.Replace("Straight", "Gay");
}
if ((Object)(object)essentialsText != (Object)null && ((TMP_Text)essentialsText).text.Contains("straight"))
{
((TMP_Text)essentialsText).text = ((TMP_Text)essentialsText).text.Replace("straight", "gay");
}
List<TextMeshProUGUI> list = tutorialSlabTexts;
if (list != null && list.Count > 0)
{
foreach (TextMeshProUGUI tutorialSlabText in tutorialSlabTexts)
{
if ((Object)(object)tutorialSlabText != (Object)null)
{
((TMP_Text)tutorialSlabText).text = ((TMP_Text)tutorialSlabText).text.Replace("STRAIGHT", "GAY");
}
}
}
List<TextMeshProUGUI> list2 = chargeStoneDescriptions;
if (list2 == null || list2.Count <= 0)
{
return;
}
foreach (TextMeshProUGUI chargeStoneDescription in chargeStoneDescriptions)
{
if ((Object)(object)chargeStoneDescription != (Object)null && ((TMP_Text)chargeStoneDescription).text.Contains("Straight"))
{
((TMP_Text)chargeStoneDescription).text = ((TMP_Text)chargeStoneDescription).text.Replace("Straight", "Gay");
}
}
}
private void findShiftstoneSwappers()
{
chargeStoneDescriptions.Clear();
List<GameObject> list = ((IEnumerable<GameObject>)Object.FindObjectsOfType<GameObject>()).Where((GameObject go) => ((Object)go).name == "ShiftstoneQuickswapper").ToList();
foreach (GameObject item in list)
{
chargeStoneDescriptions.Add(((Component)item.transform.GetChild(1).GetChild(0).GetChild(2)).GetComponent<TextMeshProUGUI>());
chargeStoneDescriptions.Add(((Component)item.transform.GetChild(2).GetChild(0).GetChild(2)).GetComponent<TextMeshProUGUI>());
}
}
}
}