using System;
using System.Collections;
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.Configuration;
using DM;
using HarmonyLib;
using Landfall.TABS;
using Landfall.TABS.UnitEditor;
using Landfall.TABS.Workshop;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.SceneManagement;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("Tabs Poof Mod")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Tabs Poof Mod")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("8aad4f38-2ad4-4206-bf0b-7d28fb6d5c2e")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace IceGMod;
[BepInPlugin("bayturtleking.icegmod", "IceG Mod", "1.0.0")]
public class plugin : BaseUnityPlugin
{
public static plugin instance;
public static ConfigEntry<bool> ucfixenabled;
public static ConfigEntry<float> ucsweephowoften;
public static ConfigEntry<bool> basecompatenabled;
public static ConfigEntry<int> volleyarrowcount;
public static ConfigEntry<float> volleystagger;
public static ConfigEntry<float> volleycooldown;
public static ConfigEntry<float> volleyrange;
private Harmony harmony;
private void Awake()
{
//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
//IL_0106: Expected O, but got Unknown
instance = this;
ucfixenabled = ((BaseUnityPlugin)this).Config.Bind<bool>("ucloadthing", "enabled", true, "make uc less laggy");
ucsweephowoften = ((BaseUnityPlugin)this).Config.Bind<float>("ucloadthing", "sweepintervalminutes", 15f, "when to asset sweep uc so it dont lag");
basecompatenabled = ((BaseUnityPlugin)this).Config.Bind<bool>("BaseWeaponCompat", "enabled", true, "put hand bone thing into bases that are missing them so weapons can be equipped");
volleyarrowcount = ((BaseUnityPlugin)this).Config.Bind<int>("IceGVolley", "arrowcount", 8, "how many shots the iceg volley fires");
volleystagger = ((BaseUnityPlugin)this).Config.Bind<float>("IceGVolley", "waitshot", 0.06f, "delay between each shot in the iceg voll");
volleycooldown = ((BaseUnityPlugin)this).Config.Bind<float>("IceGVolley", "cooldown", 5f, "ability cooldown (secs)");
volleyrange = ((BaseUnityPlugin)this).Config.Bind<float>("IceGVolley", "range", 12f, "ability trigger rangee");
harmony = new Harmony("bayturtleking.icegmod");
harmony.PatchAll(Assembly.GetExecutingAssembly());
((Component)this).gameObject.AddComponent<ucloadthing>();
((MonoBehaviour)this).StartCoroutine(abilityregistrar.registerwhenready());
}
}
public class ucloadthing : MonoBehaviour
{
private float sinceplaytimer;
private void Awake()
{
SceneManager.activeSceneChanged += onscenechanged;
}
private void OnDestroy()
{
SceneManager.activeSceneChanged -= onscenechanged;
}
private void onscenechanged(Scene previous, Scene next)
{
if (plugin.ucfixenabled.Value)
{
string text = ((((Scene)(ref previous)).name == null) ? string.Empty : ((Scene)(ref previous)).name.ToLowerInvariant());
if (text.Contains("editor") || text.Contains("workshop") || text.Contains("unitcreator"))
{
((MonoBehaviour)this).StartCoroutine(sweepassets());
}
}
}
private void Update()
{
if (plugin.ucfixenabled.Value)
{
sinceplaytimer += Time.unscaledDeltaTime;
float num = plugin.ucsweephowoften.Value * 60f;
if (!(num <= 0f) && !(sinceplaytimer < num))
{
sinceplaytimer = 0f;
((MonoBehaviour)this).StartCoroutine(sweepassets());
}
}
}
private IEnumerator sweepassets()
{
yield return Resources.UnloadUnusedAssets();
GC.Collect();
}
}
[HarmonyPatch(typeof(Unit), "Awake")]
public class compatabpatch
{
private static void Postfix(Unit __instance)
{
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0079: Unknown result type (might be due to invalid IL or missing references)
if (plugin.basecompatenabled.Value && __instance != null && !((Object)(object)((Component)__instance).GetComponentInChildren<UnitRig>() != (Object)null) && !((Object)(object)__instance.data == (Object)null) && !((Object)(object)__instance.data.mainRig == (Object)null))
{
Transform transform = ((Component)__instance.data.mainRig).transform;
UnitRig val = ((Component)__instance).gameObject.AddComponent<UnitRig>();
Transform val2 = transform.Find("Rigidbodies");
if ((Object)(object)val2 == (Object)null)
{
val2 = new GameObject("Rigidbodies").transform;
}
val2.SetParent(transform, false);
val2.localPosition = Vector3.zero;
Transform parent = createbone("M_Armature", val2);
val.m_waist = createbone("M_Hip", parent);
val.m_torso = createbone("M_Torso", val.m_waist);
val.m_neck = createbone("M_Neck", val.m_torso);
val.m_head = createbone("M_Head", val.m_neck);
val.m_legLeft = createbone("M_Leg_Left", val.m_waist);
val.m_footLeft = createbone("M_Foot_Left", val.m_legLeft);
val.m_legRight = createbone("M_Leg_Right", val.m_waist);
val.m_footRight = createbone("M_Foot_Right", val.m_legRight);
val.m_armLeft = createbone("M_Arm_Left", val.m_torso);
val.m_shoulderLeft = createbone("M_Shoulder_Left", val.m_armLeft);
val.m_wristLeft = createbone("M_Wrist_Left", val.m_shoulderLeft);
Transform val3 = createbone("M_Hand_Left", val.m_wristLeft);
val.m_armRight = createbone("M_Arm_Right", val.m_torso);
val.m_shoulderRight = createbone("M_Shoulder_Right", val.m_armRight);
val.m_wristRight = createbone("M_Wrist_Right", val.m_shoulderRight);
Transform val4 = createbone("M_Hand_Right", val.m_wristRight);
if ((Object)(object)((Component)val3).GetComponent<HandLeft>() == (Object)null)
{
((Component)val3).gameObject.AddComponent<HandLeft>();
}
if ((Object)(object)((Component)val4).GetComponent<HandRight>() == (Object)null)
{
((Component)val4).gameObject.AddComponent<HandRight>();
}
ensureweaponcomponents(__instance);
}
}
private static void ensureweaponcomponents(Unit unit)
{
WeaponHandler componentInChildren = ((Component)unit).GetComponentInChildren<WeaponHandler>();
if ((Object)(object)componentInChildren == (Object)null)
{
componentInChildren = ((Component)unit.data).gameObject.AddComponent<WeaponHandler>();
unit.WeaponHandler = componentInChildren;
}
HoldingHandler componentInChildren2 = ((Component)unit).GetComponentInChildren<HoldingHandler>();
if ((Object)(object)componentInChildren2 == (Object)null)
{
componentInChildren2 = ((Component)unit.data).gameObject.AddComponent<HoldingHandler>();
unit.holdingHandler = componentInChildren2;
}
}
private static Transform createbone(string bonename, Transform parent)
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
Transform val = parent.Find(bonename);
if ((Object)(object)val != (Object)null)
{
return val;
}
GameObject val2 = new GameObject(bonename);
val2.transform.SetParent(parent, false);
val2.transform.localPosition = Vector3.zero;
return val2.transform;
}
}
public static class abilityregistrar
{
public static IEnumerator registerwhenready()
{
while (ContentDatabase.Instance() == null)
{
yield return null;
}
icegvolreg.register();
icegtposeregistration.register();
}
public static GameObject addabilitatrat(string name, int localid)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0013: Expected O, but got Unknown
//IL_0013: Unknown result type (might be due to invalid IL or missing references)
//IL_001b: Unknown result type (might be due to invalid IL or missing references)
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
//IL_0054: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Expected O, but got Unknown
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
GameObject val = new GameObject(name);
val.SetActive(false);
Object.DontDestroyOnLoad((Object)val);
((Object)val).hideFlags = (HideFlags)52;
val.AddComponent<SpecialAbility>();
CharacterItem component = val.GetComponent<CharacterItem>();
if ((Object)(object)component != (Object)null)
{
component.tags = new List<Tag>
{
new Tag((TagType)0, "IceG Abilities")
};
}
setprivatefield(value: (object)new DatabaseEntity((WorkshopContentType)0)
{
GUID = new DatabaseID(738209400, localid),
Name = name
}, obj: val.GetComponent<SpecialAbility>(), fieldname: "m_entity");
return val;
}
public static void randajcooldown(GameObject obj, float cooldown, float range, UnityAction listener)
{
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Expected O, but got Unknown
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Expected O, but got Unknown
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Expected O, but got Unknown
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Expected O, but got Unknown
//IL_0049: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_0050: Unknown result type (might be due to invalid IL or missing references)
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
//IL_006a: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Expected O, but got Unknown
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
//IL_0079: Unknown result type (might be due to invalid IL or missing references)
//IL_007b: Unknown result type (might be due to invalid IL or missing references)
//IL_0080: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0087: Unknown result type (might be due to invalid IL or missing references)
//IL_0089: Unknown result type (might be due to invalid IL or missing references)
//IL_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
//IL_009d: Expected O, but got Unknown
ConditionalEvent val = obj.AddComponent<ConditionalEvent>();
((Behaviour)val).enabled = false;
ConditionalEventInstance val2 = new ConditionalEventInstance();
val2.delay = 0f;
val2.turnOnEvent = new UnityEvent();
val2.turnOffEvent = new UnityEvent();
val2.continuousEvent = new UnityEvent();
val2.conditions = (EventCondition[])(object)new EventCondition[2]
{
new EventCondition
{
conditionType = (ConditionType)0,
startOnCD = true,
alwaysResetCounter = true,
value = cooldown,
counter = cooldown
},
new EventCondition
{
conditionType = (ConditionType)1,
whichRange = (WhichRange)0,
valueType = (ValueType)1,
value = range,
startOnCD = true
}
};
val2.turnOnEvent.AddListener(listener);
val.events = (ConditionalEventInstance[])(object)new ConditionalEventInstance[1] { val2 };
}
public static void registerintodatabase(GameObject obj, DatabaseID guid)
{
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
LandfallContentDatabase landfallContentDatabase = ContentDatabase.Instance().LandfallContentDatabase;
Dictionary<DatabaseID, Object> dictionary = getprivatefield<Dictionary<DatabaseID, Object>>(ContentDatabase.Instance().AssetLoader, "m_nonStreamableAssets");
Dictionary<DatabaseID, GameObject> dictionary2 = getprivatefield<Dictionary<DatabaseID, GameObject>>(landfallContentDatabase, "m_combatMoves");
if (dictionary != null)
{
dictionary[guid] = (Object)(object)obj;
}
if (dictionary2 != null)
{
dictionary2[guid] = obj;
}
try
{
obj.SetActive(true);
}
catch (NullReferenceException)
{
}
}
public static void setprivatefield(object obj, string fieldname, object value)
{
findfield(obj.GetType(), fieldname)?.SetValue(obj, value);
}
public static T getprivatefield<T>(object obj, string fieldname)
{
FieldInfo fieldInfo = findfield(obj.GetType(), fieldname);
if (fieldInfo == null)
{
return default(T);
}
return (T)fieldInfo.GetValue(obj);
}
private static FieldInfo findfield(Type t, string fieldname)
{
while (t != null)
{
FieldInfo field = t.GetField(fieldname, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
if (field != null)
{
return field;
}
t = t.BaseType;
}
return null;
}
}
public class icegonlyifequip : MonoBehaviour
{
private void Awake()
{
recheck();
}
private void OnEnable()
{
recheck();
}
private void recheck()
{
bool enabled = (Object)(object)((Component)this).GetComponent<Unit>() != (Object)null || (Object)(object)((Component)((Component)this).transform.root).GetComponent<Unit>() != (Object)null;
MonoBehaviour[] components = ((Component)this).GetComponents<MonoBehaviour>();
for (int i = 0; i < components.Length; i++)
{
if (components[i] is icegvolleyball || components[i] is hetpose || components[i] is thiswassupposedtobeatpose)
{
((Behaviour)components[i]).enabled = enabled;
}
}
ConditionalEvent component = ((Component)this).GetComponent<ConditionalEvent>();
if ((Object)(object)component != (Object)null)
{
((Behaviour)component).enabled = enabled;
}
}
}
public class icegvolleyball : MonoBehaviour
{
public float range = 12f;
private DataHandler dadada;
private RangeWeapon[] rangeweapons;
private Unit unit_self;
private void Awake()
{
dadada = ((Component)((Component)this).transform.root).GetComponentInChildren<DataHandler>();
unit_self = ((Component)((Component)this).transform.root).GetComponent<Unit>();
Unit obj = unit_self;
rangeweapons = ((obj != null) ? ((Component)obj).GetComponentsInChildren<RangeWeapon>() : null);
}
public void TriggerFromEvent()
{
Rigidbody val = nearestotorso(range);
if (!((Object)(object)val == (Object)null))
{
if ((rangeweapons == null || rangeweapons.Length == 0) && (Object)(object)unit_self != (Object)null)
{
rangeweapons = ((Component)unit_self).GetComponentsInChildren<RangeWeapon>();
}
if (rangeweapons != null && rangeweapons.Length != 0)
{
((MonoBehaviour)this).StartCoroutine(firvol(val));
}
}
}
private IEnumerator firvol(Rigidbody targetrig)
{
int shots = Mathf.Max(1, plugin.volleyarrowcount.Value);
float stagger = Mathf.Max(0f, plugin.volleystagger.Value);
for (int i = 0; i < shots; i++)
{
if ((Object)(object)targetrig == (Object)null)
{
break;
}
RangeWeapon val = rangeweapons[i % rangeweapons.Length];
if ((Object)(object)val != (Object)null && ((Behaviour)val).isActiveAndEnabled)
{
Vector3 val2 = targetrig.position - ((Component)val).transform.position;
Vector3 normalized = ((Vector3)(ref val2)).normalized;
((Weapon)val).Attack(((Component)val).transform.position, targetrig, normalized, false);
}
if (stagger > 0f)
{
yield return (object)new WaitForSeconds(stagger);
}
else
{
yield return null;
}
}
}
private Rigidbody nearestotorso(float searchradius)
{
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_008f: Unknown result type (might be due to invalid IL or missing references)
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)dadada == (Object)null || (Object)(object)dadada.torso == (Object)null)
{
return null;
}
Vector3 position = dadada.torso.position;
Collider[] array = Physics.OverlapSphere(position, searchradius);
Rigidbody result = null;
float num = float.MaxValue;
for (int i = 0; i < array.Length; i++)
{
Unit componentInParent = ((Component)array[i]).GetComponentInParent<Unit>();
if ((Object)(object)componentInParent == (Object)null || (Object)(object)componentInParent == (Object)(object)unit_self)
{
continue;
}
DataHandler componentInChildren = ((Component)componentInParent).GetComponentInChildren<DataHandler>();
if (!((Object)(object)componentInChildren == (Object)null) && !((Object)(object)componentInChildren.torso == (Object)null))
{
float num2 = Vector3.Distance(position, componentInChildren.torso.position);
if (num2 < num)
{
num = num2;
result = ((Component)componentInChildren.torso).GetComponent<Rigidbody>();
}
}
}
return result;
}
}
public static class icegvolreg
{
public static void register()
{
//IL_0045: Unknown result type (might be due to invalid IL or missing references)
//IL_004f: Expected O, but got Unknown
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
GameObject obj = abilityregistrar.addabilitatrat("IceG Volley", 1);
icegvolleyball icegvolleyball2 = obj.AddComponent<icegvolleyball>();
icegvolleyball2.range = plugin.volleyrange.Value;
((Behaviour)icegvolleyball2).enabled = false;
abilityregistrar.randajcooldown(obj, plugin.volleycooldown.Value, plugin.volleyrange.Value, new UnityAction(icegvolleyball2.TriggerFromEvent));
obj.AddComponent<icegonlyifequip>();
DatabaseID guid = default(DatabaseID);
((DatabaseID)(ref guid))..ctor(738209400, 1);
abilityregistrar.registerintodatabase(obj, guid);
}
}
public class hetpose : MonoBehaviour
{
private DataHandler dadada;
private Rigidbody[] lockedrigs;
private SetGlobalJointSettings jointSettings;
private void Awake()
{
dadada = ((Component)((Component)this).transform.root).GetComponentInChildren<DataHandler>();
Unit component = ((Component)((Component)this).transform.root).GetComponent<Unit>();
if ((Object)(object)component != (Object)null)
{
jointSettings = ((Component)component).GetComponent<SetGlobalJointSettings>();
}
}
private void OnEnable()
{
lockhimup();
}
private void OnDisable()
{
letloose();
}
private void FixedUpdate()
{
//IL_0070: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)dadada == (Object)null)
{
dadada = ((Component)((Component)this).transform.root).GetComponentInChildren<DataHandler>();
return;
}
if (lockedrigs == null)
{
lockhimup();
}
dadada.cantFallForSeconds = Mathf.Max(dadada.cantFallForSeconds, 0.5f);
for (int i = 0; i < lockedrigs.Length; i++)
{
if (!((Object)(object)lockedrigs[i] == (Object)null))
{
Rigidbody obj = lockedrigs[i];
obj.velocity *= 0f;
Rigidbody obj2 = lockedrigs[i];
obj2.angularVelocity *= 0f;
}
}
}
private void lockhimup()
{
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
//IL_00af: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)dadada == (Object)null || (Object)(object)dadada.allRigs == (Object)null || dadada.allRigs.AllRigs == null)
{
return;
}
lockedrigs = dadada.allRigs.AllRigs;
if ((Object)(object)jointSettings != (Object)null)
{
jointSettings.SetJointConstraints(true);
}
for (int i = 0; i < lockedrigs.Length; i++)
{
if (!((Object)(object)lockedrigs[i] == (Object)null))
{
lockedrigs[i].freezeRotation = true;
lockedrigs[i].constraints = (RigidbodyConstraints)126;
lockedrigs[i].angularVelocity = Vector3.zero;
lockedrigs[i].velocity = Vector3.zero;
}
}
}
private void letloose()
{
if (lockedrigs == null)
{
return;
}
for (int i = 0; i < lockedrigs.Length; i++)
{
if ((Object)(object)lockedrigs[i] != (Object)null)
{
lockedrigs[i].freezeRotation = false;
lockedrigs[i].constraints = (RigidbodyConstraints)0;
}
}
if ((Object)(object)jointSettings != (Object)null)
{
jointSettings.SetJointConstraints(false);
}
lockedrigs = null;
}
}
public class thiswassupposedtobeatpose : MonoBehaviour
{
private DataHandler dadada;
private Rigidbody[] lockedrigs;
private void Awake()
{
dadada = ((Component)((Component)this).transform.root).GetComponentInChildren<DataHandler>();
}
private void OnEnable()
{
lockhimup();
}
private void OnDisable()
{
letloose();
}
private void FixedUpdate()
{
if ((Object)(object)dadada == (Object)null)
{
dadada = ((Component)((Component)this).transform.root).GetComponentInChildren<DataHandler>();
return;
}
if (lockedrigs == null)
{
lockhimup();
}
dadada.cantFallForSeconds = Mathf.Max(dadada.cantFallForSeconds, 0.5f);
}
private void lockhimup()
{
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)dadada == (Object)null || (Object)(object)dadada.allRigs == (Object)null || dadada.allRigs.AllRigs == null)
{
return;
}
lockedrigs = dadada.allRigs.AllRigs;
for (int i = 0; i < lockedrigs.Length; i++)
{
if (!((Object)(object)lockedrigs[i] == (Object)null))
{
lockedrigs[i].freezeRotation = true;
lockedrigs[i].angularVelocity = Vector3.zero;
}
}
}
private void letloose()
{
if (lockedrigs == null)
{
return;
}
for (int i = 0; i < lockedrigs.Length; i++)
{
if ((Object)(object)lockedrigs[i] != (Object)null)
{
lockedrigs[i].freezeRotation = false;
}
}
lockedrigs = null;
}
}
public static class icegtposeregistration
{
public static void register()
{
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
GameObject obj = abilityregistrar.addabilitatrat("T-Pose", 3);
((Behaviour)obj.AddComponent<hetpose>()).enabled = false;
obj.AddComponent<icegonlyifequip>();
DatabaseID guid = default(DatabaseID);
((DatabaseID)(ref guid))..ctor(738209400, 3);
abilityregistrar.registerintodatabase(obj, guid);
GameObject obj2 = abilityregistrar.addabilitatrat("how iceg be moving", 2);
((Behaviour)obj2.AddComponent<thiswassupposedtobeatpose>()).enabled = false;
obj2.AddComponent<icegonlyifequip>();
DatabaseID guid2 = default(DatabaseID);
((DatabaseID)(ref guid2))..ctor(738209400, 2);
abilityregistrar.registerintodatabase(obj2, guid2);
}
}