using System;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Configuration;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Alexandria.ItemAPI;
using BepInEx;
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.ApplicationServices;
using Microsoft.VisualBasic.CompilerServices;
using Microsoft.VisualBasic.Devices;
using Microsoft.VisualBasic.MyServices.Internal;
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("GunthersPassiveVB")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCompany("N/A")]
[assembly: AssemblyProduct("GunthersPassiveVB")]
[assembly: AssemblyCopyright("Copyright © N/A 2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("17dc6b0a-9d49-4de0-a73a-01e48cc24afd")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace CBA.My
{
[GeneratedCode("MyTemplate", "11.0.0.0")]
[EditorBrowsable(EditorBrowsableState.Never)]
internal class MyApplication : ApplicationBase
{
}
[GeneratedCode("MyTemplate", "11.0.0.0")]
[EditorBrowsable(EditorBrowsableState.Never)]
internal class MyComputer : Computer
{
[DebuggerHidden]
[EditorBrowsable(EditorBrowsableState.Never)]
public MyComputer()
{
}
}
[StandardModule]
[HideModuleName]
[GeneratedCode("MyTemplate", "11.0.0.0")]
internal sealed class MyProject
{
[EditorBrowsable(EditorBrowsableState.Never)]
[MyGroupCollection("System.Web.Services.Protocols.SoapHttpClientProtocol", "Create__Instance__", "Dispose__Instance__", "")]
internal sealed class MyWebServices
{
[EditorBrowsable(EditorBrowsableState.Never)]
[DebuggerHidden]
public override bool Equals(object o)
{
return base.Equals(RuntimeHelpers.GetObjectValue(o));
}
[EditorBrowsable(EditorBrowsableState.Never)]
[DebuggerHidden]
public override int GetHashCode()
{
return base.GetHashCode();
}
[EditorBrowsable(EditorBrowsableState.Never)]
[DebuggerHidden]
internal new Type GetType()
{
return typeof(MyWebServices);
}
[EditorBrowsable(EditorBrowsableState.Never)]
[DebuggerHidden]
public override string ToString()
{
return base.ToString();
}
[DebuggerHidden]
private static T Create__Instance__<T>(T instance) where T : new()
{
if (instance == null)
{
return new T();
}
return instance;
}
[DebuggerHidden]
private void Dispose__Instance__<T>(ref T instance)
{
instance = default(T);
}
[DebuggerHidden]
[EditorBrowsable(EditorBrowsableState.Never)]
public MyWebServices()
{
}
}
[EditorBrowsable(EditorBrowsableState.Never)]
[ComVisible(false)]
internal sealed class ThreadSafeObjectProvider<T> where T : new()
{
private readonly ContextValue<T> m_Context;
internal T GetInstance
{
[DebuggerHidden]
get
{
T val = m_Context.Value;
if (val == null)
{
val = new T();
m_Context.Value = val;
}
return val;
}
}
[DebuggerHidden]
[EditorBrowsable(EditorBrowsableState.Never)]
public ThreadSafeObjectProvider()
{
m_Context = new ContextValue<T>();
}
}
private static readonly ThreadSafeObjectProvider<MyComputer> m_ComputerObjectProvider = new ThreadSafeObjectProvider<MyComputer>();
private static readonly ThreadSafeObjectProvider<MyApplication> m_AppObjectProvider = new ThreadSafeObjectProvider<MyApplication>();
private static readonly ThreadSafeObjectProvider<User> m_UserObjectProvider = new ThreadSafeObjectProvider<User>();
private static readonly ThreadSafeObjectProvider<MyWebServices> m_MyWebServicesObjectProvider = new ThreadSafeObjectProvider<MyWebServices>();
[HelpKeyword("My.Computer")]
internal static MyComputer Computer
{
[DebuggerHidden]
get
{
return m_ComputerObjectProvider.GetInstance;
}
}
[HelpKeyword("My.Application")]
internal static MyApplication Application
{
[DebuggerHidden]
get
{
return m_AppObjectProvider.GetInstance;
}
}
[HelpKeyword("My.User")]
internal static User User
{
[DebuggerHidden]
get
{
return m_UserObjectProvider.GetInstance;
}
}
[HelpKeyword("My.WebServices")]
internal static MyWebServices WebServices
{
[DebuggerHidden]
get
{
return m_MyWebServicesObjectProvider.GetInstance;
}
}
}
}
namespace CBA.My.Resources
{
[StandardModule]
[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[DebuggerNonUserCode]
[CompilerGenerated]
[HideModuleName]
internal sealed class Resources
{
private static ResourceManager resourceMan;
private static CultureInfo resourceCulture;
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static ResourceManager ResourceManager
{
get
{
if (object.ReferenceEquals(resourceMan, null))
{
ResourceManager resourceManager = new ResourceManager("CBA.Resources", typeof(Resources).Assembly);
resourceMan = resourceManager;
}
return resourceMan;
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}
namespace CBA.My
{
[CompilerGenerated]
[GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal sealed class MySettings : ApplicationSettingsBase
{
private static MySettings defaultInstance = (MySettings)(object)SettingsBase.Synchronized((SettingsBase)(object)new MySettings());
public static MySettings Default => defaultInstance;
}
[StandardModule]
[HideModuleName]
[DebuggerNonUserCode]
[CompilerGenerated]
internal sealed class MySettingsProperty
{
[HelpKeyword("My.Settings")]
internal static MySettings Settings => MySettings.Default;
}
}
namespace CBA.CBA
{
public class VBPassive : PassiveItem
{
public static float damage_multiplier = 0.05f;
public static void Register()
{
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Expected O, but got Unknown
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
string text = "Gunthers Passive VB Edition";
string text2 = "CBA/vb_item_sprite";
GameObject val = new GameObject(text);
VBPassive vBPassive = val.AddComponent<VBPassive>();
ItemBuilder.AddSpriteToObject(text, text2, val, (Assembly)null);
string text3 = "Passive but massive!";
string text4 = "Increases all damage values by an additional x percent for every room clear!".Replace("x", (100f * damage_multiplier).ToString());
ItemBuilder.SetupItem((PickupObject)(object)vBPassive, text3, text4, "cba");
((PickupObject)vBPassive).quality = (ItemQuality)5;
}
public override void Pickup(PlayerController player)
{
((PassiveItem)this).Pickup(player);
player.OnRoomClearEvent += Player_OnRoomClearEvent;
Plugin.Log("Player picked up " + ((PickupObject)this).DisplayName);
}
private void Player_OnRoomClearEvent(PlayerController obj)
{
obj.stats.SetBaseStatValue((StatType)5, obj.stats.GetStatValue((StatType)5) + damage_multiplier, obj);
obj.stats.SetBaseStatValue((StatType)22, obj.stats.GetStatValue((StatType)22) + damage_multiplier, obj);
}
public override void DisableEffect(PlayerController player)
{
player.OnRoomClearEvent -= Player_OnRoomClearEvent;
Plugin.Log("Player dropped or got rid of " + ((PickupObject)this).DisplayName);
}
}
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("spapi.cba.gunthers_passive_vb", "Gunther's Passive (VB edition)", "1.5.7")]
public class Plugin : BaseUnityPlugin
{
public const string GUID = "spapi.cba.gunthers_passive_vb";
public const string NAME = "Gunther's Passive (VB edition)";
public const string VERSION = "1.5.7";
public const string TEXT_COLOR = "#D11B22";
public void Start()
{
ETGModMainBehaviour.WaitForGameManagerAwake((Action<GameManager>)GMStart);
}
public void GMStart(GameManager g)
{
VBPassive.Register();
Log(string.Format("{0} v{1} started successfully.", "Gunther's Passive (VB edition)", "1.5.7"), "#D11B22");
}
public static void Log(string text, string color = "#FFFFFF")
{
ETGModConsole.Log((object)$"<color={color}>{text}</color>", false);
}
}
}