Decompiled source of DebitEverySecond v1.0.0

Mods/cardeverysecond.dll

Decompiled a month ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using Il2CppFishNet.Object;
using Il2CppScheduleOne.DevUtilities;
using Il2CppScheduleOne.GameTime;
using Il2CppScheduleOne.Money;
using Il2CppScheduleOne.PlayerScripts;
using Il2CppSystem;
using MelonLoader;
using UnityEngine;
using UnityEngine.Events;
using cardeverysecond;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(ModMain), "LoseDebitPerSecond", "1.0.0", "joeswanson.", null)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("cardeverysecond")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("cardeverysecond")]
[assembly: AssemblyTitle("cardeverysecond")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace cardeverysecond;

public class ModMain : MelonMod
{
	private bool assignedListener = false;

	private bool modEnabled = true;

	public static int Deaths;

	public override void OnUpdate()
	{
		if (Input.GetKeyDown((KeyCode)282))
		{
			modEnabled = !modEnabled;
		}
		if (!NetworkSingleton<TimeManager>.InstanceExists)
		{
			assignedListener = false;
		}
		if (assignedListener || !NetworkSingleton<TimeManager>.InstanceExists)
		{
			return;
		}
		modEnabled = true;
		assignedListener = true;
		bool has30Bucks = false;
		int change = NetworkSingleton<TimeManager>.Instance.DayIndex + 1;
		NetworkSingleton<TimeManager>.Instance._onSleepEnd.AddListener(UnityAction.op_Implicit((Action)delegate
		{
			change = NetworkSingleton<TimeManager>.Instance.DayIndex + 1;
		}));
		TimeManager instance = NetworkSingleton<TimeManager>.Instance;
		instance.onTick += Action.op_Implicit((Action)delegate
		{
			change = NetworkSingleton<TimeManager>.Instance.DayIndex + 1;
			if (modEnabled)
			{
				if (!has30Bucks && NetworkSingleton<MoneyManager>.Instance.onlineBalance >= 30f)
				{
					has30Bucks = true;
				}
				if (has30Bucks && ((NetworkBehaviour)Player.Local).IsHost)
				{
					string text = ((-change < 0) ? "Removed" : "Added");
					if (NetworkSingleton<MoneyManager>.Instance.onlineBalance >= 0f)
					{
						NetworkSingleton<MoneyManager>.Instance.CreateOnlineTransaction(text + " online balance", (float)(-change), 1f, text + " by challenge mod.");
					}
					else if (Player.Local.Health.IsAlive)
					{
						Player.Local.Health.SetHealth(0f);
						has30Bucks = false;
						Deaths++;
					}
				}
			}
		});
	}
}

Mods/cardeverysecond.mono.dll

Decompiled a month ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using FishNet.Object;
using MelonLoader;
using ScheduleOne.DevUtilities;
using ScheduleOne.GameTime;
using ScheduleOne.Money;
using ScheduleOne.PlayerScripts;
using UnityEngine;
using UnityEngine.Events;
using cardeverysecond;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(ModMain), "LoseDebitPerSecond", "1.0.0", "joeswanson.", null)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("cardeverysecond.mono")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("cardeverysecond.mono")]
[assembly: AssemblyTitle("cardeverysecond.mono")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace cardeverysecond;

public class ModMain : MelonMod
{
	private bool assignedListener = false;

	private bool modEnabled = true;

	public static int Deaths;

	public override void OnUpdate()
	{
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0095: Expected O, but got Unknown
		if (Input.GetKeyDown((KeyCode)282))
		{
			modEnabled = !modEnabled;
		}
		if (!NetworkSingleton<TimeManager>.InstanceExists)
		{
			assignedListener = false;
		}
		if (assignedListener || !NetworkSingleton<TimeManager>.InstanceExists)
		{
			return;
		}
		modEnabled = true;
		assignedListener = true;
		bool has30Bucks = false;
		int change = NetworkSingleton<TimeManager>.Instance.DayIndex + 1;
		NetworkSingleton<TimeManager>.Instance._onSleepEnd.AddListener((UnityAction)delegate
		{
			change = NetworkSingleton<TimeManager>.Instance.DayIndex + 1;
		});
		TimeManager instance = NetworkSingleton<TimeManager>.Instance;
		instance.onTick = (Action)Delegate.Combine(instance.onTick, (Action)delegate
		{
			change = NetworkSingleton<TimeManager>.Instance.DayIndex + 1;
			if (modEnabled)
			{
				if (!has30Bucks && NetworkSingleton<MoneyManager>.Instance.onlineBalance >= 30f)
				{
					has30Bucks = true;
				}
				if (has30Bucks && ((NetworkBehaviour)Player.Local).IsHost)
				{
					string text = ((-change < 0) ? "Removed" : "Added");
					if (NetworkSingleton<MoneyManager>.Instance.onlineBalance >= 0f)
					{
						NetworkSingleton<MoneyManager>.Instance.CreateOnlineTransaction(text + " online balance", (float)(-change), 1f, text + " by challenge mod.");
					}
					else if (Player.Local.Health.IsAlive)
					{
						Player.Local.Health.SetHealth(0f);
						has30Bucks = false;
						Deaths++;
					}
				}
			}
		});
	}
}