

using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using SideLoader;
using SideLoader.Model;
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("OutwardModTemplate")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OutwardModTemplate")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace chryso;
[BepInPlugin("NNNP.chryso", "Chryso", "1.0.0")]
public class chryso : BaseUnityPlugin
{
public class ChrysoEff : Effect
{
public override void ActivateLocally(Character _affectedCharacter, object[] _infos)
{
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: 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_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
//IL_003e: Expected O, but got Unknown
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_0050: Expected O, but got Unknown
if (Object.op_Implicit((Object)(object)_affectedCharacter))
{
SL_DropTable val = new SL_DropTable
{
GuaranteedDrops = new List<SL_ItemDrop>
{
new SL_ItemDrop
{
DroppedItemID = 6300030,
MinQty = 1,
MaxQty = 2
}
},
UID = "SOMEUID"
};
_affectedCharacter.Inventory.MakeLootable(false, false, true, false);
val.AddAsDropableToGameObject(((Component)_affectedCharacter.Inventory.Pouch).gameObject, false, "GOLDGOLDGOL", 0f);
val.GenerateDrops(((Component)_affectedCharacter.Inventory.Pouch).transform);
((ContentTemplate)val).ApplyTemplate();
}
}
}
public const string GUID = "NNNP.chryso";
public const string NAME = "Chryso";
public const string VERSION = "1.0.0";
internal static ManualLogSource Log;
public static ConfigEntry<bool> ExampleConfig;
internal void Awake()
{
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
Log = ((BaseUnityPlugin)this).Logger;
Log.LogMessage((object)"Hello world from Chryso 1.0.0!");
ExampleConfig = ((BaseUnityPlugin)this).Config.Bind<bool>("ExampleCategory", "ExampleSetting", false, "This is an example setting.");
new Harmony("NNNP.chryso").PatchAll();
SL.OnPacksLoaded += OnPacksLoadedSetup;
}
private void OnPacksLoadedSetup()
{
Transform val = ((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55027)).transform.Find("ShrimpBlast").Find("ExtraEffects");
Transform val2 = ((Component)((Component)val).GetComponent<ShootBlast>().BaseBlast).transform.Find("Effects");
((Component)val2).gameObject.AddComponent<LegacyTrigger>();
StatusEffect statusEffectPrefab = ResourcesPrefabManager.Instance.GetStatusEffectPrefab("Chryso");
((Component)val2).gameObject.AddComponent<ChrysoEff>();
}
}
public class LegacyTrigger : Effect
{
public override void ActivateLocally(Character _affectedCharacter, object[] _infos)
{
int[] array = new int[13]
{
2200001, 2020131, 2110041, 2130011, 2130131, 2010051, 2000061, 2120051, 2130041, 2130031,
2160021, 2100211, 2300200
};
if (Extensions.Contains(array, ((Item)_affectedCharacter.CurrentWeapon).LegacyItemID))
{
Weapon currentWeapon = _affectedCharacter.CurrentWeapon;
Item val = ItemManager.Instance.GenerateItemNetwork(((Item)currentWeapon).LegacyItemID);
Transform transform = ((Component)_affectedCharacter.m_inventory.Pouch).gameObject.transform;
val.ChangeParent(transform);
val.ForceUpdateParentChange();
_affectedCharacter.Inventory.Equipment.ForceEquipItem((Equipment)(object)((val is Equipment) ? val : null));
((Item)currentWeapon).RemoveQuantity(1);
}
}
}
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("OutwardModTemplate")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OutwardModTemplate")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace PsCraft;
[BepInPlugin("NNNP.AlchCraft", "PsCraft", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
[HarmonyPatch(typeof(CraftingMenu), "CraftingDone")]
public class CraftingMenu_CraftingDone
{
private static void Prefix(CraftingMenu __instance)
{
int num = ((__instance.m_lastRecipeIndex != -1) ? __instance.m_complexeRecipes[__instance.m_lastRecipeIndex].Key : __instance.m_lastFreeRecipeIndex);
if (num == -1)
{
return;
}
for (int i = 0; i < __instance.m_allRecipes[num].Results.Length; i++)
{
HashSet<int> hashSet = new HashSet<int>
{
-55014, -55009, -55022, -55010, -55023, -55011, -55024, -55012, -55026, -55013,
-55025, 5020021, 4400100, 4400090, 4100590
};
ItemReferenceQuantity val = __instance.m_allRecipes[num].Results[i];
if (!((CharacterKnowledge)((UIElement)__instance).LocalCharacter.Inventory.SkillKnowledge).IsItemLearned(-55015) && hashSet.Contains(val.m_itemID))
{
__instance.m_lastRecipeIndex = -1;
__instance.m_lastFreeRecipeIndex = -1;
}
}
}
}
public const string GUID = "NNNP.AlchCraft";
public const string NAME = "PsCraft";
public const string VERSION = "1.0.0";
internal static ManualLogSource Log;
public static ConfigEntry<bool> ExampleConfig;
internal void Awake()
{
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
Log = ((BaseUnityPlugin)this).Logger;
Log.LogMessage((object)"Hello world from PsCraft 1.0.0!");
ExampleConfig = ((BaseUnityPlugin)this).Config.Bind<bool>("ExampleCategory", "ExampleSetting", false, "This is an example setting.");
new Harmony("NNNP.AlchCraft").PatchAll();
}
}
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using SideLoader;
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("OutwardModTemplate")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OutwardModTemplate")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace psitems;
[BepInPlugin("NNNP.PS", "PS&Items", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
[HarmonyPatch(typeof(Character), "Update", new Type[] { })]
public class Character_Update
{
private static void Postfix(Character __instance)
{
bool flag = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Possessed");
bool flag2 = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Possessed Amplified");
bool flag3 = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Blessed");
bool flag4 = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Bless Amplified");
bool flag5 = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Mist");
bool flag6 = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Mist Amplified");
bool flag7 = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Warm");
bool flag8 = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Warm Amplified");
bool flag9 = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Cool");
bool flag10 = __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Cool Amplified");
if (__instance.m_statusEffectManager.Statuses.Count < 2)
{
return;
}
if ((Object)(object)__instance != (Object)null && (Object)(object)__instance.m_statusEffectManager != (Object)null && __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Possessed Alchemical"))
{
if (flag)
{
StatusEffect val = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Possessed"));
__instance.m_statusEffectManager.CleanseStatusEffect(val);
Log.LogMessage((object)$"Removed {val}");
}
if (flag2)
{
StatusEffect val2 = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Possessed Amplified"));
__instance.m_statusEffectManager.CleanseStatusEffect(val2);
Log.LogMessage((object)$"Removed {val2}");
}
}
if ((Object)(object)__instance != (Object)null && (Object)(object)__instance.m_statusEffectManager != (Object)null && __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Bless Alchemical"))
{
if (flag3)
{
StatusEffect val3 = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Blessed"));
__instance.m_statusEffectManager.CleanseStatusEffect(val3);
Log.LogMessage((object)$"Removed {val3}");
}
if (flag4)
{
StatusEffect val4 = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Bless Amplified"));
__instance.m_statusEffectManager.CleanseStatusEffect(val4);
Log.LogMessage((object)$"Removed {val4}");
}
}
if ((Object)(object)__instance != (Object)null && (Object)(object)__instance.m_statusEffectManager != (Object)null && __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Mist Alchemical"))
{
if (flag5)
{
StatusEffect val5 = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Mist"));
__instance.m_statusEffectManager.CleanseStatusEffect(val5);
Log.LogMessage((object)$"Removed {val5}");
}
if (flag6)
{
StatusEffect val6 = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Mist Amplified"));
__instance.m_statusEffectManager.CleanseStatusEffect(val6);
Log.LogMessage((object)$"Removed {val6}");
}
}
if ((Object)(object)__instance != (Object)null && (Object)(object)__instance.m_statusEffectManager != (Object)null && __instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Warm Alchemical"))
{
if (flag7)
{
StatusEffect val7 = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Warm"));
__instance.m_statusEffectManager.CleanseStatusEffect(val7);
Log.LogMessage((object)$"Removed {val7}");
}
if (flag8)
{
StatusEffect val8 = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Warm Amplified"));
__instance.m_statusEffectManager.CleanseStatusEffect(val8);
Log.LogMessage((object)$"Removed {val8}");
}
}
if (!((Object)(object)__instance != (Object)null) || !((Object)(object)__instance.m_statusEffectManager != (Object)null) || !__instance.m_statusEffectManager.Statuses.Any((StatusEffect s) => s.StatusName == "Cool Alchemical"))
{
return;
}
if (flag9)
{
StatusEffect val9 = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Cool"));
__instance.m_statusEffectManager.CleanseStatusEffect(val9);
Log.LogMessage((object)$"Removed {val9}");
}
if (flag10)
{
StatusEffect val10 = ((IEnumerable<StatusEffect>)__instance.m_statusEffectManager.Statuses).FirstOrDefault((Func<StatusEffect, bool>)((StatusEffect s) => s.StatusName == "Cool Amplified"));
__instance.m_statusEffectManager.CleanseStatusEffect(val10);
Log.LogMessage((object)$"Removed {val10}");
}
}
}
[HarmonyPatch(typeof(PhysicProjectile), "Collision")]
public class PhysicProjectile_Explode
{
private static void Postfix(PhysicProjectile __instance, Collision _collision)
{
Character characterOwner = UnityEngineExtensions.GetCharacterOwner(_collision.m_Collider);
Log.LogError((object)$"char for bombs {characterOwner}");
if ((Object)(object)characterOwner != (Object)null && ((CharacterKnowledge)((EffectSynchronizer)__instance).OwnerCharacter.Inventory.SkillKnowledge).IsItemLearned(-55017))
{
Log.LogError((object)"worked?");
((Projectile)__instance).Explode(_collision);
}
else
{
Log.LogError((object)"chartar o skill NULL");
}
}
}
[HarmonyPatch(typeof(Character), "ReceiveHit", new Type[]
{
typeof(Object),
typeof(DamageList),
typeof(Vector3),
typeof(Vector3),
typeof(float),
typeof(float),
typeof(Character),
typeof(float),
typeof(bool)
})]
public class Character_ReceiveHit
{
private static void Prefix(Character __instance, Object _damageSource, DamageList _damage, Vector3 _hitDir, Vector3 _hitPoint, float _angle, float _angleDir, Character _dealerChar, float _knockBack, ref bool __state, bool _hitInventory = true)
{
//IL_0121: Unknown result type (might be due to invalid IL or missing references)
//IL_0128: Expected O, but got Unknown
//IL_0159: Unknown result type (might be due to invalid IL or missing references)
Log.LogMessage((object)"PSitem called for psdurab in harmony alka??");
if (((CharacterKnowledge)_dealerChar.Inventory.SkillKnowledge).IsItemLearned(-55019) && _dealerChar.m_inventory.OwnsItem(-55014) && _damage != null)
{
if (!_damageSource.name.Contains("Grenade"))
{
ProjectileWeapon val = (ProjectileWeapon)(object)((_damageSource is ProjectileWeapon) ? _damageSource : null);
if (val == null)
{
goto IL_0085;
}
}
__state = _damage.IgnoreHalfResistances;
_damage.IgnoreHalfResistances = true;
PSDurab(_dealerChar, 0.75f);
}
goto IL_0085;
IL_0085:
if (((CharacterKnowledge)_dealerChar.Inventory.SkillKnowledge).IsItemLearned(-55019) && _dealerChar.m_inventory.OwnsItem(-55014) && _damage != null)
{
MeleeWeapon val2 = (MeleeWeapon)(object)((_damageSource is MeleeWeapon) ? _damageSource : null);
if ((val2 != null && ((Weapon)val2).Imbued) || _damageSource.name.Contains("Flamethrower"))
{
__state = _damage.IgnoreHalfResistances;
_damage.IgnoreHalfResistances = true;
PSDurab(_dealerChar, 0.3f);
}
}
if (__instance.StatusEffectMngr.HasStatusEffect("ShatterIce"))
{
DamageList val3 = new DamageList((Types)4, _knockBack + 100f);
_dealerChar.Stats.GetAmplifiedDamage((IList<Tag>)Array.Empty<Tag>(), ref val3);
__instance.Stats.GetMitigatedDamage(Array.Empty<Tag>(), ref val3, false);
__instance.ReceiveDamage(val3.TotalDamage, __instance.CenterPosition, true);
Log.LogMessage((object)$"Shatter called Instance: {__instance} DealerChar: {_dealerChar} DamageList: {val3} KnockBack: {_knockBack}");
}
}
private static void Postfix(Character __instance, Object _damageSource, DamageList _damage, Vector3 _hitDir, Vector3 _hitPoint, float _angle, float _angleDir, Character _dealerChar, float _knockBack, ref bool __state, bool _hitInventory = true)
{
if (_damage != null)
{
_damage.IgnoreHalfResistances = __state;
}
}
}
[HarmonyPatch(typeof(Dropable), "GenerateContents", new Type[] { typeof(ItemContainer) })]
public class Dropable_GenerateContents
{
[HarmonyPrefix]
public static void Prefix(Dropable __instance, ItemContainer _container)
{
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
//IL_0180: Unknown result type (might be due to invalid IL or missing references)
//IL_0185: Unknown result type (might be due to invalid IL or missing references)
//IL_0188: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)__instance.ResponsibleCharacter == (Object)null || ((Item)_container).m_name == "tree" || ((Item)_container).m_name == "Firefly Eater")
{
return;
}
List<DropTable> mainDropTables = __instance.m_mainDropTables;
if (((CharacterKnowledge)__instance.ResponsibleCharacter.Inventory.SkillKnowledge).IsItemLearned(-55018))
{
ItemDropChance val = mainDropTables[0].m_itemDrops[0];
IList<Tag> tags = ((TagListSelectorComponent)((Component)((BasicItemDrop)val).ItemRef).gameObject.GetComponent<TagSource>()).Tags;
foreach (Tag item in tags)
{
if (item.TagName == "Ingredient Alch")
{
((BasicItemDrop)val).MinDropCount = ((BasicItemDrop)val).MinDropCount + 1;
((BasicItemDrop)val).MaxDropCount = ((BasicItemDrop)val).MaxDropCount + 1;
}
}
if (__instance.ResponsibleCharacter.m_inventory.OwnsItem(-55014))
{
PSDurab(__instance.ResponsibleCharacter, 0.15f);
{
foreach (DropTable item2 in mainDropTables)
{
foreach (ItemDropChance itemDrop in item2.m_itemDrops)
{
TagSource component = ((Component)((BasicItemDrop)itemDrop).ItemRef).gameObject.GetComponent<TagSource>();
foreach (Tag tag in ((TagListSelectorComponent)component).Tags)
{
if (tag.TagName == "Ingredient Alch" && Random.value < 0.68f)
{
((Component)__instance.ResponsibleCharacter).GetComponent<CharacterInventory>().GenerateItem(((BasicItemDrop)itemDrop).ItemRef, 1, false);
((Component)__instance.ResponsibleCharacter).GetComponent<CharacterInventory>().NotifyItemTake(((BasicItemDrop)itemDrop).ItemRef, 1);
}
}
}
}
return;
}
}
Log.LogWarning((object)"mult no PS");
}
else
{
Log.LogWarning((object)"mult no Skill");
}
}
}
[HarmonyPatch(typeof(Item), "ReduceDurability", new Type[] { typeof(float) })]
public class item_Reduce
{
[HarmonyPrefix]
public static void Prefix(Item __instance, ref float _durabilityLost)
{
if ((!((Object)(object)__instance.m_ownerCharacter != (Object)null) || !__instance.m_ownerCharacter.StatusEffectMngr.HasStatusEffect("Palingenesis")) && (Object)(object)((Component)__instance).GetComponent<Equipment>() != (Object)null)
{
Log.LogWarning((object)$"ITEM: {__instance.m_name} durability loss: {_durabilityLost}");
}
}
}
public const string GUID = "NNNP.PS";
public const string NAME = "PS&Items";
public const string VERSION = "1.0.0";
internal static ManualLogSource Log;
public static ConfigEntry<bool> ExampleConfig;
internal void Awake()
{
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
Log = ((BaseUnityPlugin)this).Logger;
Log.LogMessage((object)"Hello world from PS&Items 1.0.0!");
ExampleConfig = ((BaseUnityPlugin)this).Config.Bind<bool>("ExampleCategory", "ExampleSetting", false, "This is an example setting.");
new Harmony("NNNP.PS").PatchAll();
SL.OnPacksLoaded += OnPacksLoadedSetup;
}
internal void Update()
{
}
private void OnPacksLoadedSetup()
{
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
//IL_0100: Unknown result type (might be due to invalid IL or missing references)
Item itemPrefab = ResourcesPrefabManager.Instance.GetItemPrefab(-55014);
Object.Destroy((Object)(object)((Component)itemPrefab).GetComponent<MultipleUsage>());
Item component = ((Component)itemPrefab).GetComponent<Item>();
component.BehaviorOnNoDurability = (BehaviorOnNoDurabilityType)2;
ItemStats component2 = ((Component)itemPrefab).GetComponent<ItemStats>();
component2.m_baseMaxDurability = 500;
component.GroupItemInDisplay = true;
component.LegacyItemID = -1;
component.m_stackable = null;
component.SellWarning = "Are you sure you want to sell these stones?";
StatusEffect statusEffectPrefab = ResourcesPrefabManager.Instance.GetStatusEffectPrefab("Congelation");
StatusEffect statusEffectPrefab2 = ResourcesPrefabManager.Instance.GetStatusEffectPrefab("Digestion");
if ((Object)(object)statusEffectPrefab != (Object)null)
{
TemperatureSource val = ((Component)statusEffectPrefab).gameObject.AddComponent<TemperatureSource>();
val.DistanceRanges = new List<Vector2>
{
new Vector2(0f, 1f)
};
val.TemperaturePerIncrement = new List<int> { -3 };
}
if ((Object)(object)statusEffectPrefab2 != (Object)null)
{
TemperatureSource val2 = ((Component)statusEffectPrefab2).gameObject.AddComponent<TemperatureSource>();
val2.DistanceRanges = new List<Vector2>
{
new Vector2(0f, 1f)
};
val2.TemperaturePerIncrement = new List<int> { 4 };
}
Item itemPrefab2 = ResourcesPrefabManager.Instance.GetItemPrefab(-55016);
Item itemPrefab3 = ResourcesPrefabManager.Instance.GetItemPrefab(-55027);
Item itemPrefab4 = ResourcesPrefabManager.Instance.GetItemPrefab(-55020);
if ((Object)(object)itemPrefab2 != (Object)null)
{
PSDurability pSDurability = ((Component)((Component)itemPrefab2).transform.Find("Effects")).gameObject.AddComponent<PSDurability>();
pSDurability.Durability = 7.9f;
}
else
{
Log.LogMessage((object)"kin null");
}
if ((Object)(object)itemPrefab4 != (Object)null)
{
Transform val3 = ((Component)itemPrefab4).transform.Find("Effects");
if ((Object)(object)val3 != (Object)null)
{
PSDurability pSDurability2 = ((Component)((Component)val3).transform).gameObject.AddComponent<PSDurability>();
pSDurability2.Durability = 2f;
}
}
else
{
Log.LogMessage((object)"azoth null");
}
if ((Object)(object)itemPrefab3 != (Object)null)
{
PSDurability pSDurability3 = ((Component)((Component)((Component)itemPrefab3).transform.Find("Effects")).transform).gameObject.AddComponent<PSDurability>();
pSDurability3.Durability = 7.9f;
}
else
{
Log.LogMessage((object)"chryso null");
}
}
public static void PSDurab(Character _affectedCharacter, float _amount)
{
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0094: Expected O, but got Unknown
//IL_0110: Unknown result type (might be due to invalid IL or missing references)
//IL_0117: Expected O, but got Unknown
if ((Object)(object)_affectedCharacter == (Object)null)
{
return;
}
if (((CharacterKnowledge)_affectedCharacter.Inventory.SkillKnowledge).IsItemLearned(-55015))
{
Transform transform = ((Component)_affectedCharacter.Inventory.Pouch).gameObject.transform;
Transform val = (((Object)(object)_affectedCharacter.Inventory.EquippedBag != (Object)null) ? ((Component)((Component)_affectedCharacter.Inventory.EquippedBag).transform.Find("Content")).transform : null);
foreach (Transform item in transform)
{
Transform val2 = item;
Item component = ((Component)val2).GetComponent<Item>();
if ((Object)(object)component != (Object)null && component.ItemID == -55014)
{
component.ReduceDurability(_amount);
return;
}
}
if (!((Object)(object)val != (Object)null))
{
return;
}
{
foreach (Transform item2 in val)
{
Transform val3 = item2;
Item component2 = ((Component)val3).GetComponent<Item>();
if ((Object)(object)component2 != (Object)null && component2.ItemID == -55014)
{
component2.ReduceDurability(_amount);
break;
}
}
return;
}
}
Log.LogMessage((object)"No magnum opus");
}
}
public class PSDurability : Effect
{
public float Durability = 20f;
public override void ActivateLocally(Character _affectedCharacter, object[] _infos)
{
Plugin.PSDurab(_affectedCharacter, Durability);
}
}
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 System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using Photon;
using SideLoader;
using UnityEngine;
using UnityEngine.SceneManagement;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("OutwardModTemplate")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OutwardModTemplate")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace RebisMoverRW;
[BepInPlugin("NNNP.RebisMoverRW", "RebisMoverRW", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
public class Sagani : Effect
{
public GameObject sagani;
public override void ActivateLocally(Character _affectedCharacter, object[] _infos)
{
if (((CharacterKnowledge)_affectedCharacter.Inventory.SkillKnowledge).IsItemLearned(-55015))
{
Character component = sagani.GetComponent<Character>();
Character currentSummon = _affectedCharacter.CurrentSummon;
if ((Object)(object)currentSummon != (Object)null && (Object)(object)currentSummon != (Object)(object)component)
{
((Component)currentSummon).gameObject.GetComponent<CharacterStats>().CurrentHealth = 0f;
}
Ress(sagani);
ConjureElemental(sagani);
InstData(sagani, _affectedCharacter);
Summon(sagani, _affectedCharacter);
Teleport(sagani, _affectedCharacter);
IconManager(sagani);
sagani.SetActive(true);
_affectedCharacter.SetCurrentSummon(sagani.GetComponent<Character>());
}
}
}
public class Recall : Effect
{
public override void ActivateLocally(Character _affectedCharacter, object[] _infos)
{
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
//IL_012d: Unknown result type (might be due to invalid IL or missing references)
//IL_013d: Unknown result type (might be due to invalid IL or missing references)
if (!((Object)(object)_affectedCharacter.CurrentSummon != (Object)null))
{
return;
}
Summon(((Component)_affectedCharacter.CurrentSummon).gameObject, _affectedCharacter);
if (!(Vector3.Distance(((Component)_affectedCharacter).transform.position, ((Component)_affectedCharacter.CurrentSummon).gameObject.transform.position) > 8f))
{
return;
}
((Component)_affectedCharacter.CurrentSummon).gameObject.SetActive(false);
Teleport(((Component)_affectedCharacter.CurrentSummon).gameObject, _affectedCharacter);
((Component)_affectedCharacter.CurrentSummon).gameObject.SetActive(true);
Transform val = ((Component)base.m_parentItem).gameObject.transform.Find("ShrimpBlast");
if (!((Object)(object)val != (Object)null))
{
return;
}
ShootBlast component = ((Component)val.Find("ExtraEffects")).GetComponent<ShootBlast>();
if (!((Object)(object)component != (Object)null))
{
return;
}
ShootBlast component2 = ((Component)((Component)component.BaseBlast).transform.Find("Effects")).GetComponent<ShootBlast>();
if ((Object)(object)component2 != (Object)null)
{
Blast baseBlast = component2.BaseBlast;
if ((Object)(object)baseBlast != (Object)null)
{
baseBlast.Shoot(((Component)_affectedCharacter.m_currentSummon).transform.localPosition, ((Component)_affectedCharacter.m_currentSummon).transform.forward, -1f);
}
}
}
}
[HarmonyPatch(typeof(StartingEquipment))]
[HarmonyPatch("InitSkills")]
public class StartingEquipmentPatch
{
public static bool Prefix(StartingEquipment __instance, Transform _skillHolder)
{
if (((Object)((Component)__instance.m_character).gameObject).name.Contains("NNNP") && ((Component)__instance.m_character).transform.Find("Skills").childCount == 3)
{
Log.LogWarning((object)"SkillsLock");
return false;
}
return true;
}
}
[HarmonyPatch(typeof(EnvironmentConditions))]
[HarmonyPatch("GoBackToMainMenu")]
public class EnvironmentConditionsPatch
{
public static void Prefix(EnvironmentConditions __instance)
{
CharacterManager.Instance.m_characters.Remove("NNNPu0tyl14LQkuv9WYDAbKe6g");
CharacterManager.Instance.m_characters.Remove("NNNP3Blscwa0vUqK8OeyRv-rXw");
CharacterManager.Instance.m_characters.Remove("NNNPCXs-jxFWT0SgU4-DoRKctQ");
CharacterManager.Instance.m_characters.Remove("NNNPfex2_93uBEOhQ5m7IEzCkA");
CharacterManager.Instance.m_characters.Remove("NNNPZ9GQjVLC0EOJL0UBL_GZ_A");
}
}
[HarmonyPatch(typeof(Global))]
[HarmonyPatch("OnApplicationQuit")]
public class OnApplicationQuitPatch
{
public static void Prefix(Global __instance)
{
CharacterManager.Instance.m_characters.Remove("NNNPu0tyl14LQkuv9WYDAbKe6g");
CharacterManager.Instance.m_characters.Remove("NNNP3Blscwa0vUqK8OeyRv-rXw");
CharacterManager.Instance.m_characters.Remove("NNNPCXs-jxFWT0SgU4-DoRKctQ");
CharacterManager.Instance.m_characters.Remove("NNNPfex2_93uBEOhQ5m7IEzCkA");
CharacterManager.Instance.m_characters.Remove("NNNPZ9GQjVLC0EOJL0UBL_GZ_A");
}
}
[HarmonyPatch(typeof(SummonAI))]
[HarmonyPatch("InitAI")]
public class InitAIPatch
{
public static void Prefix(SummonAI __instance, Character _affectedCharacter)
{
if ((Object)(object)_affectedCharacter.CurrentSummon != (Object)null && ((Object)_affectedCharacter.CurrentSummon).name.Contains("NNNP"))
{
((Component)_affectedCharacter.CurrentSummon).gameObject.GetComponent<CharacterStats>().CurrentHealth = 0f;
((Component)_affectedCharacter.CurrentSummon).gameObject.SetActive(false);
}
}
}
public const string GUID = "NNNP.RebisMoverRW";
public const string NAME = "RebisMoverRW";
public const string VERSION = "1.0.0";
internal static ManualLogSource Log;
public static ConfigEntry<bool> ExampleConfig;
public static GameObject eledec;
public static GameObject eledecfx;
public static GameObject elefir;
public static GameObject elefirfx;
public static GameObject eleeth;
public static GameObject eleethfx;
public static GameObject elefro;
public static GameObject elefrofx;
public static GameObject elelig;
public static GameObject eleligfx;
public static GameObject eleNPC;
public static GameObject elesquad;
public static List<GameObject> elementals = new List<GameObject>();
internal void Awake()
{
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Expected O, but got Unknown
Log = ((BaseUnityPlugin)this).Logger;
Log.LogMessage((object)"Hello world from RebisMoverRW 1.0.0!");
ExampleConfig = ((BaseUnityPlugin)this).Config.Bind<bool>("ExampleCategory", "ExampleSetting", false, "This is an example setting.");
SL.OnPacksLoaded += OnPacksLoadedSetup;
Harmony val = new Harmony("com.NNNP.rebismover");
val.PatchAll();
((MonoBehaviour)this).StartCoroutine(RebMover());
}
private void OnPacksLoadedSetup()
{
//IL_02dc: Unknown result type (might be due to invalid IL or missing references)
//IL_02e1: Unknown result type (might be due to invalid IL or missing references)
//IL_02f9: Unknown result type (might be due to invalid IL or missing references)
//IL_02fe: Unknown result type (might be due to invalid IL or missing references)
//IL_031a: Unknown result type (might be due to invalid IL or missing references)
//IL_032c: Unknown result type (might be due to invalid IL or missing references)
//IL_0331: Unknown result type (might be due to invalid IL or missing references)
//IL_0335: Unknown result type (might be due to invalid IL or missing references)
//IL_033a: Unknown result type (might be due to invalid IL or missing references)
//IL_0463: Unknown result type (might be due to invalid IL or missing references)
//IL_0468: Unknown result type (might be due to invalid IL or missing references)
//IL_0480: Unknown result type (might be due to invalid IL or missing references)
//IL_0485: Unknown result type (might be due to invalid IL or missing references)
//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
//IL_04b3: Unknown result type (might be due to invalid IL or missing references)
//IL_04b8: Unknown result type (might be due to invalid IL or missing references)
//IL_04bc: Unknown result type (might be due to invalid IL or missing references)
//IL_04c1: Unknown result type (might be due to invalid IL or missing references)
Log.LogWarning((object)"PotMaker CALLED");
Transform transform = ((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55013)).transform;
if ((Object)(object)transform != (Object)null)
{
Sagani sagani = ((Component)((Component)transform.Find("Effects")).transform).gameObject.AddComponent<Sagani>();
sagani.sagani = eledec;
}
Transform transform2 = ((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55012)).transform;
if ((Object)(object)transform2 != (Object)null)
{
Sagani sagani2 = ((Component)((Component)transform2.Find("Effects")).transform).gameObject.AddComponent<Sagani>();
sagani2.sagani = elelig;
}
Transform transform3 = ((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55010)).transform;
if ((Object)(object)transform3 != (Object)null)
{
Sagani sagani3 = ((Component)((Component)transform3.Find("Effects")).transform).gameObject.AddComponent<Sagani>();
sagani3.sagani = elefro;
}
Transform transform4 = ((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55009)).transform;
if ((Object)(object)transform4 != (Object)null)
{
Sagani sagani4 = ((Component)((Component)transform4.Find("Effects")).transform).gameObject.AddComponent<Sagani>();
sagani4.sagani = elefir;
}
Transform transform5 = ((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55011)).transform;
if ((Object)(object)transform != (Object)null)
{
Sagani sagani5 = ((Component)((Component)transform5.Find("Effects")).transform).gameObject.AddComponent<Sagani>();
sagani5.sagani = eleeth;
}
Transform transform6 = ((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55020)).transform;
EmissionModule emission;
MinMaxCurve rateOverTime;
if ((Object)(object)transform6 != (Object)null)
{
Transform val = ((Component)((Component)((Component)((Component)((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55020)).transform.Find("ShrimpBlast").Find("ExtraEffects")).GetComponent<ShootBlast>().BaseBlast).transform.Find("Effects")).GetComponent<ShootBlast>().BaseBlast).transform.Find("ExplosionFX");
Transform val2 = ((Component)((Component)((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55020)).transform.Find("ShrimpBlast").Find("ExtraEffects")).GetComponent<ShootBlast>().BaseBlast).transform.Find("Effects");
if ((Object)(object)val != (Object)null)
{
Transform val3 = val.Find("BoltParticlesLargeSharp (3)");
Transform val4 = val.Find("smoke");
Transform val5 = val.Find("DiskPlanar");
Transform val6 = val.Find("DiskPlanarDisto");
Transform val7 = val.Find("boltCracklingFX (2)");
Object.Destroy((Object)(object)((Component)val5).gameObject);
Object.Destroy((Object)(object)((Component)val6).gameObject);
Object.Destroy((Object)(object)((Component)val7).gameObject);
MainModule main = ((Component)val3).GetComponent<ParticleSystem>().main;
((MainModule)(ref main)).startColor = MinMaxGradient.op_Implicit(new Color(1f, 0f, 0f, 0.2f));
val.localScale = new Vector3(0.1f, 0.1f, 0.1f);
emission = ((Component)val3).GetComponent<ParticleSystem>().emission;
rateOverTime = ((EmissionModule)(ref emission)).rateOverTime;
float constant = ((MinMaxCurve)(ref rateOverTime)).constant;
constant = 0.01f;
}
Recall recall = ((Component)((Component)transform6.Find("Effects")).transform).gameObject.AddComponent<Recall>();
}
else
{
Log.LogWarning((object)"rc NULL");
}
Transform transform7 = ((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55027)).transform;
if ((Object)(object)transform7 != (Object)null)
{
Transform val8 = ((Component)((Component)((Component)transform7).transform.Find("ShrimpBlast").Find("ExtraEffects")).GetComponent<ShootBlast>().BaseBlast).transform.Find("ExplosionFX");
if ((Object)(object)val8 != (Object)null)
{
Transform val9 = val8.Find("BoltParticlesLargeSharp (3)");
Transform val10 = val8.Find("smoke");
Transform val11 = val8.Find("DiskPlanar");
Transform val12 = val8.Find("DiskPlanarDisto");
Transform val13 = val8.Find("boltCracklingFX (2)");
Object.Destroy((Object)(object)((Component)val11).gameObject);
Object.Destroy((Object)(object)((Component)val12).gameObject);
Object.Destroy((Object)(object)((Component)val13).gameObject);
MainModule main2 = ((Component)val9).GetComponent<ParticleSystem>().main;
((MainModule)(ref main2)).startColor = MinMaxGradient.op_Implicit(new Color(1f, 0f, 0f, 0.2f));
val8.localScale = new Vector3(0.1f, 0.1f, 0.1f);
emission = ((Component)val9).GetComponent<ParticleSystem>().emission;
rateOverTime = ((EmissionModule)(ref emission)).rateOverTime;
float constant2 = ((MinMaxCurve)(ref rateOverTime)).constant;
constant2 = 0.01f;
}
else
{
Log.LogWarning((object)"vfxchryso NULL");
}
}
else
{
Log.LogWarning((object)"chryso NULL");
}
}
private void OnEnable()
{
SceneManager.sceneLoaded += OnSceneLoaded;
}
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
//IL_0087: Unknown result type (might be due to invalid IL or missing references)
//IL_009b: Unknown result type (might be due to invalid IL or missing references)
if (((Scene)(ref scene)).name == "Harmattan")
{
if ((Object)(object)eledec != (Object)null)
{
if ((Object)(object)eleNPC == (Object)null)
{
Transform val = eledec.transform.Find("ElementalDecay_v");
eleNPC = Object.Instantiate<GameObject>(((Component)val).gameObject);
}
Object.DontDestroyOnLoad((Object)(object)eleNPC);
eleNPC.transform.SetPositionAndRotation(new Vector3(93.5875f, 65.9225f, 829.8226f), Quaternion.Euler(0f, 168.4266f, 0f));
eleNPC.SetActive(true);
}
}
else if ((Object)(object)eleNPC != (Object)null)
{
eleNPC.SetActive(false);
}
if (((Scene)(ref scene)).name == "MainMenu_Empty")
{
foreach (GameObject elemental in elementals)
{
UIDManager(elemental);
}
}
if (!(((Scene)(ref scene)).name != "MainMenu_Empty") || !((Object)(object)CharacterManager.Instance.GetWorldHostCharacter() != (Object)null))
{
return;
}
foreach (GameObject elemental2 in elementals)
{
PhotonManager(elemental2);
ConjureElemental(elemental2);
Teleport(elemental2, CharacterManager.Instance.GetWorldHostCharacter());
}
if ((Object)(object)CharacterManager.Instance.GetWorldHostCharacter().CurrentSummon != (Object)null)
{
((Component)CharacterManager.Instance.GetWorldHostCharacter().CurrentSummon).gameObject.SetActive(true);
}
}
private void OnDisable()
{
SceneManager.sceneLoaded -= OnSceneLoaded;
}
public static IEnumerator RebMover()
{
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync("AntiqueField", (LoadSceneMode)0);
while (!asyncLoad.isDone)
{
yield return null;
}
Mover();
SceneManager.LoadSceneAsync("MainMenu_Empty", (LoadSceneMode)0);
}
private void UIDManager(GameObject enemies)
{
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c5: Expected O, but got Unknown
//IL_0184: Unknown result type (might be due to invalid IL or missing references)
//IL_018b: Expected O, but got Unknown
//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
string text = UID.op_Implicit(enemies.GetComponent<Character>().m_uid);
if (!text.Contains("NNNP"))
{
enemies.GetComponent<Character>().SetUID(UID.op_Implicit("NNNP" + UID.op_Implicit(enemies.GetComponent<Character>().m_uid)));
((Object)enemies).name = "NNNP" + ((Object)enemies).name;
}
string text2 = UID.op_Implicit(elesquad.GetComponent<AISquad>().m_uid);
if (!text2.Contains("NNNP"))
{
text2 = "NNNP" + text2;
foreach (Transform item in elesquad.transform)
{
Transform val = item;
if (((Object)val).name.Contains("Elemental") && !((Object)val).name.Contains("NNNP"))
{
((Object)val).name = "NNNP" + ((Object)val).name;
}
}
}
StartingEquipment startingEquipment = enemies.GetComponent<Character>().m_startingEquipment;
if ((Object)(object)startingEquipment != (Object)null)
{
startingEquipment.OverrideStartingEquipments[5] = null;
startingEquipment.m_startingEquipment[5] = null;
}
enemies.GetComponent<Character>().m_startingEquipment = null;
foreach (Transform item2 in enemies.transform)
{
Transform val2 = item2;
if (((Object)val2).name.Contains("Pouch"))
{
Object.Destroy((Object)(object)((Component)val2).GetComponent<ItemContainer>());
ItemContainer val3 = ((Component)val2).gameObject.AddComponent<ItemContainer>();
((Item)val3).m_UID = UID.op_Implicit(UID.Generate());
enemies.GetComponent<CharacterInventory>().m_inventoryPouch = val3;
}
}
MeleeWeapon componentInChildren = enemies.GetComponentInChildren<MeleeWeapon>();
if ((Object)(object)componentInChildren != (Object)null)
{
Object.Destroy((Object)(object)((Component)componentInChildren).gameObject);
}
}
private static void AIManager(GameObject enemies, Character conjurer)
{
//IL_03af: Unknown result type (might be due to invalid IL or missing references)
//IL_0404: Unknown result type (might be due to invalid IL or missing references)
//IL_040b: Expected O, but got Unknown
CharacterAI component = enemies.GetComponent<CharacterAI>();
GameObject gameObject = ((Component)component.AIStatesRoot).gameObject;
if (((Behaviour)enemies.GetComponent<LootableOnDeath>()).enabled)
{
((Behaviour)enemies.GetComponent<LootableOnDeath>()).enabled = false;
}
AISWander component2 = ((Component)gameObject.transform.Find("1_Wander")).gameObject.GetComponent<AISWander>();
component.AISquad = null;
if ((Object)(object)gameObject != (Object)null)
{
AIESwitchState component3 = ((Component)gameObject.transform.Find("4_CombatRanged").Find("EndCombatEffects")).gameObject.GetComponent<AIESwitchState>();
AIESwitchState component4 = ((Component)gameObject.transform.Find("2_Suspicious").Find("Detection").Find("SuspiciousEffects")).gameObject.GetComponent<AIESwitchState>();
if ((Object)(object)component2 != (Object)null && (Object)(object)component3 != (Object)null && (Object)(object)component4 != (Object)null)
{
Log.LogWarning((object)"switched?");
component3.ToState = (AIState)(object)component2;
component4.ToState = (AIState)(object)component2;
}
if ((Object)(object)((Component)gameObject.transform.Find("4_CombatRanged").Find("RangeBuff")).gameObject.GetComponent<AICOrder>() == (Object)null)
{
AICOrder val = ((Component)gameObject.transform.Find("4_CombatRanged").Find("RangeBuff")).gameObject.AddComponent<AICOrder>();
val.Order = 0;
((AICondition)val).GroupValidEffectTrans = ((Component)((Component)val).transform.GetChild(0)).transform;
((AICondition)val).m_characterAI = enemies.GetComponent<CharacterAI>();
FieldInfo field = typeof(AICondition).GetField("m_conditions", BindingFlags.Instance | BindingFlags.NonPublic);
if (field != null)
{
field.SetValue(val, new AICondition[1] { (AICondition)val });
}
((AICondition)val).m_initialized = true;
((AICondition)val).ParentState = (AIState)(object)((Component)gameObject.transform.Find("4_CombatRanged")).GetComponent<AISCombatRanged>();
FieldInfo field2 = typeof(AICondition).GetField("m_validEffects", BindingFlags.Instance | BindingFlags.NonPublic);
if (field2 != null)
{
field2.SetValue(val, new AIEffect[1] { (AIEffect)((Component)((Component)val).transform).GetComponentInChildren<AIEUseSkill>() });
}
if ((Object)(object)gameObject.transform.Find("1_Wander").Find("RangeBuff") == (Object)null)
{
Transform val2 = Object.Instantiate<Transform>(gameObject.transform.Find("4_CombatRanged").Find("RangeBuff"));
((Component)val2).transform.parent = gameObject.transform.Find("1_Wander");
Object.Destroy((Object)(object)((Component)val2).GetComponent<AICRandomRoll>());
Object.Destroy((Object)(object)((Component)val2).GetComponent<AICAlliesHealthRatio>());
AICOrder component5 = ((Component)val2).GetComponent<AICOrder>();
if ((Object)(object)component5 != (Object)null)
{
((AICondition)component5).ParentState = (AIState)(object)((Component)gameObject.transform.Find("1_Wander")).GetComponent<AISWander>();
((AICondition)component5).m_characterAI = enemies.GetComponent<CharacterAI>();
((AICondition)component5).m_initialized = true;
FieldInfo field3 = typeof(AICondition).GetField("m_conditions", BindingFlags.Instance | BindingFlags.NonPublic);
if (field3 != null)
{
field3.SetValue(component5, new AICondition[1] { (AICondition)component5 });
}
FieldInfo field4 = typeof(AICondition).GetField("m_validEffects", BindingFlags.Instance | BindingFlags.NonPublic);
if (field4 != null)
{
field4.SetValue(component5, new AIEffect[1] { (AIEffect)((Component)((Component)component5).transform).GetComponentInChildren<AIEUseSkill>() });
}
}
}
}
}
if (Object.op_Implicit((Object)(object)component))
{
((AISWander)component.CurrentAiState).FollowTransform = ((Component)conjurer).transform;
}
if (!((Object)(object)enemies.transform.Find("Skills") != (Object)null))
{
return;
}
foreach (Transform item in enemies.transform.Find("Skills"))
{
Transform val3 = item;
if (((Object)val3).name.Contains("Buff") && !((Object)((Component)((Component)((Component)val3).GetComponentInChildren<ShootProjectile>().BaseProjectile).gameObject.transform).GetComponentInChildren<AddStatusEffect>().Status).name.Contains("Alchemical"))
{
if (((Object)val3).name.Contains("BuffDecay"))
{
StatusEffect statusEffectPrefab = ResourcesPrefabManager.Instance.GetStatusEffectPrefab("PossessedBoon Alchemical");
((Component)((Component)((Component)val3).GetComponentInChildren<ShootProjectile>().BaseProjectile).gameObject.transform).GetComponentInChildren<AddStatusEffect>().Status = statusEffectPrefab;
}
if (((Object)val3).name.Contains("BuffFrost"))
{
StatusEffect statusEffectPrefab2 = ResourcesPrefabManager.Instance.GetStatusEffectPrefab("CoolBoon Alchemical");
((Component)((Component)((Component)val3).GetComponentInChildren<ShootProjectile>().BaseProjectile).gameObject.transform).GetComponentInChildren<AddStatusEffect>().Status = statusEffectPrefab2;
}
if (((Object)val3).name.Contains("BuffFire"))
{
StatusEffect statusEffectPrefab3 = ResourcesPrefabManager.Instance.GetStatusEffectPrefab("WarmBoon Alchemical");
((Component)((Component)((Component)val3).GetComponentInChildren<ShootProjectile>().BaseProjectile).gameObject.transform).GetComponentInChildren<AddStatusEffect>().Status = statusEffectPrefab3;
}
if (((Object)val3).name.Contains("BuffLight"))
{
StatusEffect statusEffectPrefab4 = ResourcesPrefabManager.Instance.GetStatusEffectPrefab("BlessBoon Alchemical");
((Component)((Component)((Component)val3).GetComponentInChildren<ShootProjectile>().BaseProjectile).gameObject.transform).GetComponentInChildren<AddStatusEffect>().Status = statusEffectPrefab4;
}
if (((Object)val3).name.Contains("BuffEthereal"))
{
StatusEffect statusEffectPrefab5 = ResourcesPrefabManager.Instance.GetStatusEffectPrefab("MistBoon Alchemical");
((Component)((Component)((Component)val3).GetComponentInChildren<ShootProjectile>().BaseProjectile).gameObject.transform).GetComponentInChildren<AddStatusEffect>().Status = statusEffectPrefab5;
}
}
}
}
private static void Teleport(GameObject enemies, Character conjurer)
{
//IL_0013: Unknown result type (might be due to invalid IL or missing references)
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)conjurer != (Object)null)
{
Vector3 position = conjurer.m_transform.position;
Vector3 val = conjurer.m_transform.right * 2f;
enemies.transform.position = position + val;
}
else
{
Log.LogMessage((object)"Conjurer NULL");
}
}
private static void PhotonManager(GameObject enemies)
{
PhotonView component = enemies.GetComponent<PhotonView>();
if ((Object)(object)component == (Object)null)
{
enemies.AddComponent<PhotonView>();
}
if ((Object)(object)component != (Object)null)
{
if (component.viewID == 0)
{
component.viewID = PhotonNetwork.AllocateViewID();
}
if ((Object)(object)((MonoBehaviour)((MonoBehaviour)enemies.GetComponent<CharacterAI>()).photonView).pvCache == (Object)null)
{
((MonoBehaviour)((MonoBehaviour)enemies.GetComponent<CharacterAI>()).photonView).pvCache = component;
}
}
}
private static void CharMangAdder(GameObject enemies)
{
//IL_0011: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Unknown result type (might be due to invalid IL or missing references)
if (!CharacterManager.Instance.m_characters.ContainsKey(UID.op_Implicit(enemies.GetComponent<Character>().UID)) && !CharacterManager.Instance.m_characters.ContainsValue(enemies.GetComponent<Character>()))
{
CharacterManager.Instance.m_characters.Add(UID.op_Implicit(enemies.GetComponent<Character>().UID), enemies.GetComponent<Character>());
Log.LogMessage((object)"added to charManager?");
}
}
private static void InstData(GameObject enemies, Character conjurer)
{
PhotonView component = enemies.GetComponent<PhotonView>();
if ((Object)(object)component != (Object)null)
{
component.instantiationData = new object[4];
}
if (component.instantiationData[3] == null)
{
component.instantiationData[0] = 3;
component.instantiationData[1] = enemies.GetComponent<Character>().m_name;
component.instantiationData[2] = ((object)(UID)(ref enemies.GetComponent<Character>().m_uid)).ToString();
component.instantiationData[3] = ((object)(UID)(ref ((Component)conjurer).GetComponent<Character>().m_uid)).ToString();
}
}
private static void Ress(GameObject enemies)
{
if (enemies.GetComponent<Character>().m_wasDead)
{
enemies.GetComponent<Character>().Resurrect();
}
}
private static void Summon(GameObject enemies, Character conjurer)
{
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Invalid comparison between Unknown and I4
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_006b: 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)
if ((int)enemies.GetComponent<Character>().Faction == 1)
{
Log.LogMessage((object)$"{enemies} Player faction TRUE");
}
else
{
enemies.GetComponent<Character>().ChangeFaction((Factions)1, true);
Log.LogMessage((object)$"{enemies} SET Player faction");
}
enemies.GetComponent<Character>().SummonType = (SummonTypes)1;
enemies.GetComponent<Character>().m_summonerUID = UID.op_Implicit(((Component)conjurer).GetComponent<Character>().UID);
enemies.GetComponent<Character>().m_summonLateInitRequired = true;
enemies.GetComponent<Character>().m_instantiationType = (CharacterInstantiationTypes)3;
}
private static void StatusClean(GameObject enemies)
{
foreach (StatusEffect status in enemies.GetComponentInChildren<StatusEffectManager>().Statuses)
{
enemies.GetComponentInChildren<StatusEffectManager>().CleanseStatusEffect(status);
}
}
public static void ConjureElemental(GameObject enemies)
{
Character worldHostCharacter = CharacterManager.Instance.GetWorldHostCharacter();
if ((Object)(object)worldHostCharacter != (Object)null && (Object)(object)enemies != (Object)null)
{
enemies.SetActive(true);
AIManager(enemies, ((Component)worldHostCharacter).GetComponent<Character>());
CharMangAdder(enemies);
enemies.SetActive(false);
}
}
public static void IconManager(GameObject enemies)
{
if ((Object)(object)enemies.GetComponent<Character>().SummonIcon != (Object)null)
{
return;
}
string pluginPath = Paths.PluginPath;
Log.LogWarning((object)("Percorso BepInex " + pluginPath));
Item itemPrefab = ResourcesPrefabManager.Instance.GetItemPrefab(8100150);
if ((Object)(object)itemPrefab != (Object)null)
{
Sprite summonIcon = ((Component)((Summon)((Component)((Component)itemPrefab).transform.Find("SummonSoul").Find("ExtraEffects")).GetComponent<SummonAI>()).SummonedPrefab).gameObject.GetComponent<Character>().SummonIcon;
if ((Object)(object)summonIcon != (Object)null)
{
enemies.GetComponent<Character>().SummonIcon = summonIcon;
}
else
{
Log.LogWarning((object)"icon2 null");
}
}
else
{
Log.LogWarning((object)"icon null");
}
}
public static void Mover()
{
//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_018c: Unknown result type (might be due to invalid IL or missing references)
//IL_0192: Invalid comparison between Unknown and I4
Scene activeScene = SceneManager.GetActiveScene();
GameObject[] rootGameObjects = ((Scene)(ref activeScene)).GetRootGameObjects();
GameObject[] array = rootGameObjects;
foreach (GameObject val in array)
{
if (!(((Object)val).name == "AISquadManagerStructure"))
{
continue;
}
Transform val2 = val.transform.Find("Squad_Elementals");
if (!((Object)(object)val2 != (Object)null))
{
continue;
}
Transform val3 = ((Component)val2).transform.Find("ElementalDecay (1)_u0tyl14LQkuv9WYDAbKe6g");
Transform val4 = ((Component)val2).transform.Find("ElementalEthereal (1)_Z9GQjVLC0EOJL0UBL_GZ_A");
Transform val5 = ((Component)val2).transform.Find("ElementalFire (1)_3Blscwa0vUqK8OeyRv-rXw");
Transform val6 = ((Component)val2).transform.Find("ElementalFrost (1)_CXs-jxFWT0SgU4-DoRKctQ");
Transform val7 = ((Component)val2).transform.Find("ElementalLight (1)_fex2_93uBEOhQ5m7IEzCkA");
List<GameObject> list = new List<GameObject>();
list.Add(((Component)val3).gameObject);
list.Add(((Component)val4).gameObject);
list.Add(((Component)val5).gameObject);
list.Add(((Component)val7).gameObject);
list.Add(((Component)val6).gameObject);
elesquad = ((Component)val2).gameObject;
((Component)val2).transform.SetParent((Transform)null);
Object.DontDestroyOnLoad((Object)(object)val2);
foreach (GameObject item in list)
{
((Component)item.transform).GetComponent<AISquadMember>().AISquad = null;
item.transform.SetParent((Transform)null);
Object.Destroy((Object)(object)item.GetComponent<PhotonView>());
PhotonManager(item.gameObject);
if ((int)item.GetComponent<Character>().Faction == 1)
{
Log.LogMessage((object)$"{item} Player faction TRUE");
}
else
{
item.GetComponent<Character>().ChangeFaction((Factions)1, true);
Log.LogMessage((object)$"{item} SET Player faction");
}
item.gameObject.SetActive(false);
}
eledec = ((Component)val3).gameObject;
eleeth = ((Component)val4).gameObject;
elefro = ((Component)val6).gameObject;
elelig = ((Component)val7).gameObject;
elefir = ((Component)val5).gameObject;
if (elementals.Count == 0)
{
elementals.Add(elefro);
elementals.Add(elefir);
elementals.Add(eledec);
elementals.Add(eleeth);
elementals.Add(elelig);
}
}
}
}
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using SideLoader;
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("OutwardModTemplate")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OutwardModTemplate")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace OutwardModTemplate;
[BepInPlugin("NNNP.Repair", "NNNP", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
public const string GUID = "NNNP.Repair";
public const string NAME = "NNNP";
public const string VERSION = "1.0.0";
internal static ManualLogSource Log;
public static ConfigEntry<bool> ExampleConfig;
internal void Awake()
{
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
Log = ((BaseUnityPlugin)this).Logger;
Log.LogMessage((object)"Hello banano from NNNP 1.0.0!");
ExampleConfig = ((BaseUnityPlugin)this).Config.Bind<bool>("ExampleCategory", "ExampleSetting", false, "This is an example setting.");
new Harmony("NNNP.Repair").PatchAll();
SL.OnPacksLoaded += OnPacksLoadedSetup;
}
private void OnPacksLoadedSetup()
{
Transform val = ((Component)ResourcesPrefabManager.Instance.GetItemPrefab(-55016)).transform.Find("Effect").Find("NormalEffects");
Transform val2 = ((Component)((Component)val).GetComponent<ShootBlast>().BaseBlast).transform.Find("Effects");
((Component)((Component)val2).transform).gameObject.AddComponent<Repair>();
}
}
public class Repair : Effect
{
public override void ActivateLocally(Character _affectedCharacter, object[] _infos)
{
_affectedCharacter.Inventory.RepairEverything(false);
}
}
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using UnityEngine;
using psitems;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("OutwardModTemplate")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OutwardModTemplate")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Trasmute;
[BepInPlugin("NNNP.Trasmute", "Trasmute", "1.0.0")]
public class Trasmute : BaseUnityPlugin
{
[HarmonyPatch(typeof(Character), "ReceiveHit", new Type[]
{
typeof(Object),
typeof(DamageList),
typeof(Vector3),
typeof(Vector3),
typeof(float),
typeof(float),
typeof(Character),
typeof(float),
typeof(bool)
})]
public static class CharacterPatches
{
[HarmonyPatch("ReceiveHit")]
[HarmonyPrefix]
public static void Character_ReceiveHit_Prefix(Character __instance, ref DamageList _damage, ref DamageList __state)
{
//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
//IL_00fb: Expected O, but got Unknown
//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
//IL_0207: Unknown result type (might be due to invalid IL or missing references)
//IL_0211: Expected O, but got Unknown
//IL_02cc: Unknown result type (might be due to invalid IL or missing references)
//IL_031d: Unknown result type (might be due to invalid IL or missing references)
//IL_0327: Expected O, but got Unknown
//IL_03e2: Unknown result type (might be due to invalid IL or missing references)
//IL_0433: Unknown result type (might be due to invalid IL or missing references)
//IL_043d: Expected O, but got Unknown
//IL_04f8: Unknown result type (might be due to invalid IL or missing references)
//IL_0549: Unknown result type (might be due to invalid IL or missing references)
//IL_0553: Expected O, but got Unknown
Log.LogMessage((object)$"{__instance} reeive hit called");
if (__instance.StatusEffectMngr.HasStatusEffect("CoolBoon Alchemical") && ((CharacterKnowledge)__instance.Inventory.SkillKnowledge).IsItemLearned(-55021) && __instance.m_inventory.OwnsItem(-55014))
{
__state = _damage.Clone();
DamageList val = _damage.Clone();
foreach (DamageType item in _damage.m_list)
{
item.Damage *= 0.1f;
Log.LogMessage((object)$"{item.Type} set to {item.Damage}");
}
_damage.m_list.Add(new DamageType((Types)4, val.TotalDamage * 0.9f));
Log.LogMessage((object)$"{(object)(Types)4}");
Plugin.PSDurab(__instance, 0.5f);
}
if (__instance.StatusEffectMngr.HasStatusEffect("WarmBoon Alchemical") && ((CharacterKnowledge)__instance.Inventory.SkillKnowledge).IsItemLearned(-55021) && __instance.m_inventory.OwnsItem(-55014))
{
__state = _damage.Clone();
DamageList val2 = _damage.Clone();
foreach (DamageType item2 in _damage.m_list)
{
item2.Damage *= 0.1f;
Log.LogMessage((object)$"{item2.Type} set to {item2.Damage}");
}
_damage.m_list.Add(new DamageType((Types)5, val2.TotalDamage * 0.9f));
Log.LogMessage((object)$"{(object)(Types)5}");
Plugin.PSDurab(__instance, 0.5f);
}
if (__instance.StatusEffectMngr.HasStatusEffect("PossessedBoon Alchemical") && ((CharacterKnowledge)__instance.Inventory.SkillKnowledge).IsItemLearned(-55021) && __instance.m_inventory.OwnsItem(-55014))
{
__state = _damage.Clone();
DamageList val3 = _damage.Clone();
foreach (DamageType item3 in _damage.m_list)
{
item3.Damage *= 0.1f;
Log.LogMessage((object)$"{item3.Type} set to {item3.Damage}");
}
_damage.m_list.Add(new DamageType((Types)2, val3.TotalDamage * 0.9f));
Log.LogMessage((object)$"{(object)(Types)2}");
Plugin.PSDurab(__instance, 0.5f);
}
if (__instance.StatusEffectMngr.HasStatusEffect("BlessBoon Alchemical") && ((CharacterKnowledge)__instance.Inventory.SkillKnowledge).IsItemLearned(-55021) && __instance.m_inventory.OwnsItem(-55014))
{
__state = _damage.Clone();
DamageList val4 = _damage.Clone();
foreach (DamageType item4 in _damage.m_list)
{
item4.Damage *= 0.1f;
Log.LogMessage((object)$"{item4.Type} set to {item4.Damage}");
}
_damage.m_list.Add(new DamageType((Types)3, val4.TotalDamage * 0.9f));
Log.LogMessage((object)$"{(object)(Types)3}");
Plugin.PSDurab(__instance, 0.5f);
}
if (!__instance.StatusEffectMngr.HasStatusEffect("MistBoon Alchemical") || !((CharacterKnowledge)__instance.Inventory.SkillKnowledge).IsItemLearned(-55021) || !__instance.m_inventory.OwnsItem(-55014))
{
return;
}
__state = _damage.Clone();
DamageList val5 = _damage.Clone();
foreach (DamageType item5 in _damage.m_list)
{
item5.Damage *= 0.1f;
Log.LogMessage((object)$"{item5.Type} set to {item5.Damage}");
}
_damage.m_list.Add(new DamageType((Types)1, val5.TotalDamage * 0.9f));
Log.LogMessage((object)$"{(object)(Types)1}");
Plugin.PSDurab(__instance, 0.5f);
}
[HarmonyPatch("ReceiveHit")]
[HarmonyPostfix]
public static void Character_ReceiveHit_Postfix(DamageList __state, ref DamageList _damage)
{
_damage = __state;
}
}
public const string GUID = "NNNP.Trasmute";
public const string NAME = "Trasmute";
public const string VERSION = "1.0.0";
internal static ManualLogSource Log;
public static ConfigEntry<bool> ExampleConfig;
internal void Awake()
{
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0027: Expected O, but got Unknown
Log = ((BaseUnityPlugin)this).Logger;
Log.LogMessage((object)"Hello Banana from Trasmute 1.0.0!");
Harmony val = new Harmony("com.NNNP.Trasmute");
val.PatchAll(typeof(CharacterPatches));
}
}