Decompiled source of MULTIVERSE v2.0.1
MULTIVERSE.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; 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 DM; using FhpSLib; using FhpSLib.BundleModCore; using HarmonyLib; using Landfall.TABS; using Landfall.TABS.AI.Components.Modifiers; using Landfall.TABS.AI.Systems; using Landfall.TABS.GameMode; using Landfall.TABS.UnitEditor; using Landfall.TABS.Workshop; using MULTIVERSE; using SLMA; using TFBGames; using Unity.Entities; using UnityEngine; using UnityEngine.Events; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("MULTIVERSE")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("made in SFTBM by FhpSlime")] [assembly: AssemblyCopyright("Copyright © 2022")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("3a45c3cf-230c-4310-952f-0887d4266a22")] [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 MULTIVERSE { public static class UManager { public static string modname; public static string modder; private static string com; public static SLMABundleMod mod; public static List<Unit> bases; public static GameObject hiteffect; static UManager() { modname = "multiverse"; modder = "FhpSlime"; bases = new List<Unit>(); } public static void EditBlueprint(UnitBlueprint unit, LandfallContentDatabase db) { } public static void EditClothes(GameObject cloth, CharacterItem item, PropItemData data, Unit unit, int index, LandfallContentDatabase db) { } public static void EditProjectiles(GameObject proj, ProjectileHit projhit, Unit unit, LandfallContentDatabase db) { } public static void EditCombatMoves(GameObject move, int index, Unit unit, LandfallContentDatabase db) { } public static void CodeAfterSpawn(Unit unit, LandfallContentDatabase db) { } public static void Init(LandfallContentDatabase db) { //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_040d: Unknown result type (might be due to invalid IL or missing references) //IL_06b9: Unknown result type (might be due to invalid IL or missing references) //IL_044d: Unknown result type (might be due to invalid IL or missing references) //IL_049d: Unknown result type (might be due to invalid IL or missing references) //IL_0363: Unknown result type (might be due to invalid IL or missing references) //IL_03b3: Unknown result type (might be due to invalid IL or missing references) //IL_0515: Unknown result type (might be due to invalid IL or missing references) //IL_051a: Unknown result type (might be due to invalid IL or missing references) //IL_096d: Unknown result type (might be due to invalid IL or missing references) //IL_099b: Unknown result type (might be due to invalid IL or missing references) //IL_09a0: Unknown result type (might be due to invalid IL or missing references) //IL_09a8: Unknown result type (might be due to invalid IL or missing references) //IL_07b3: Unknown result type (might be due to invalid IL or missing references) //IL_0803: Unknown result type (might be due to invalid IL or missing references) //IL_077c: Unknown result type (might be due to invalid IL or missing references) //IL_05bf: Unknown result type (might be due to invalid IL or missing references) //IL_05cf: Expected O, but got Unknown //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_0727: Unknown result type (might be due to invalid IL or missing references) AssetBundle val; using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("multiverse")) { val = AssetBundle.LoadFromStream(stream); } PaoPaoDatas.AddAssetBundle("base", val); Object[] array = PaoPaoDatas.GetAssetBundle("base").LoadAllAssets<Object>(); foreach (Object val2 in array) { Object val3 = val2; PaoPaoDatas.Tools.Debug.LogWarning("load:" + ((val3 != (Object)null) ? ((object)val3).ToString() : null)); } GameObject[] array2 = PaoPaoDatas.GetAssetBundle("base").LoadAllAssets<GameObject>(); foreach (GameObject val4 in array2) { Debug.Log((object)((Object)val4).name); if (Object.op_Implicit((Object)(object)val4.GetComponent<WeaponItem>()) && !HelpLibrary.m_weapons.ContainsKey(((CharacterItem)val4.GetComponent<WeaponItem>()).Entity.GUID)) { GameObject gameObject = val4.gameObject; PaoPaoDatas.Tools.Debug.LogError("Weapon:" + ((Object)gameObject).name); Dictionary<DatabaseID, GameObject> weapons = HelpLibrary.m_weapons; weapons.Add(((CharacterItem)val4.GetComponentInChildren<WeaponItem>()).Entity.GUID, val4.gameObject); HelpLibrary.m_weapons = weapons; Dictionary<DatabaseID, Object> dictionary = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader); dictionary.Add(((CharacterItem)val4.GetComponentInChildren<WeaponItem>()).Entity.GUID, (Object)(object)val4.gameObject); typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary); } if (Object.op_Implicit((Object)(object)val4.GetComponent<ProjectileEntity>()) && !HelpLibrary.m_weapons.ContainsKey(val4.GetComponent<ProjectileEntity>().Entity.GUID)) { GameObject gameObject2 = val4.gameObject; PaoPaoDatas.Tools.Debug.LogError("Project:" + ((Object)gameObject2).name); Dictionary<DatabaseID, GameObject> projectiles = HelpLibrary.m_projectiles; projectiles.Add(val4.GetComponentInChildren<ProjectileEntity>().Entity.GUID, val4.gameObject); HelpLibrary.m_projectiles = projectiles; Dictionary<DatabaseID, Object> dictionary2 = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader); dictionary2.Add(val4.GetComponentInChildren<ProjectileEntity>().Entity.GUID, (Object)(object)val4.gameObject); typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary2); } if (Object.op_Implicit((Object)(object)val4.GetComponent<PropItem>()) && !HelpLibrary.m_characterProps.ContainsKey(((CharacterItem)val4.GetComponent<PropItem>()).Entity.GUID)) { GameObject gameObject3 = val4.gameObject; if (Object.op_Implicit((Object)(object)gameObject3.GetComponentInChildren<TeamColor>())) { TeamColor[] componentsInChildren = gameObject3.GetComponentsInChildren<TeamColor>(); foreach (TeamColor val5 in componentsInChildren) { if ((Object)(object)val5.redMaterial == (Object)null) { int materialID = val5.materialID; s.DeepCopyOf<TeamColor>(val5, ((GameObject)SLMALoader.SDic["bases"]["Humanoid"]).GetComponentInChildren<TeamColor>()); val5.materialID = materialID; } } } PaoPaoDatas.Tools.Debug.LogError("Prop:" + ((Object)gameObject3).name); Dictionary<DatabaseID, GameObject> characterProps = HelpLibrary.m_characterProps; characterProps.Add(((CharacterItem)val4.GetComponentInChildren<PropItem>()).Entity.GUID, val4.gameObject); HelpLibrary.m_characterProps = characterProps; Dictionary<DatabaseID, Object> dictionary3 = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader); dictionary3.Add(((CharacterItem)val4.GetComponentInChildren<PropItem>()).Entity.GUID, (Object)(object)val4.gameObject); typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary3); } if (Object.op_Implicit((Object)(object)val4.GetComponent<SpecialAbility>()) && !HelpLibrary.m_combatMoves.ContainsKey(((CharacterItem)val4.GetComponent<SpecialAbility>()).Entity.GUID)) { GameObject gameObject4 = val4.gameObject; PaoPaoDatas.Tools.Debug.LogError("Moves:" + ((Object)gameObject4).name); Dictionary<DatabaseID, GameObject> combatMoves = HelpLibrary.m_combatMoves; combatMoves.Add(((CharacterItem)val4.GetComponentInChildren<SpecialAbility>()).Entity.GUID, val4.gameObject); HelpLibrary.m_combatMoves = combatMoves; Dictionary<DatabaseID, Object> dictionary4 = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader); dictionary4.Add(((CharacterItem)val4.GetComponentInChildren<SpecialAbility>()).Entity.GUID, (Object)(object)val4.gameObject); typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary4); if (((Object)val4).name == "祖国人激光发射") { val4.AddComponent<HomeLanderEyes>().project = val.LoadAsset<GameObject>("祖国人激光"); val4.GetComponent<HomeLanderEyes>().target = new Color(2f, 0f, 0f); } if (((Object)val4).name == "祖国人武器切换") { WeaponChange weaponChange = val4.AddComponent<WeaponChange>(); weaponChange.target = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("超人拳头"); weaponChange.shrink = false; ((Component)weaponChange).GetComponent<ConditionalEvent>().events[0].conditions[0].cooldownRange = 0f; ((Component)weaponChange).GetComponent<ConditionalEvent>().controllableByPlayer = false; GameObject val6 = (Object.op_Implicit((Object)(object)UPool.MyPool.GetObject("无声超农拳")) ? UPool.MyPool.GetObject("无声超农拳") : UPool.MyPool.AddObject("无声超农拳", (GameObject)SLMALoader.SDic["weapons"]["Leg_SuperP_W"], true, (HideFlags)52, (Sprite)null, 0, false)); Object.Destroy((Object)(object)((Component)val6.transform.GetChild(9)).gameObject); val6.GetComponent<MeleeWeapon>().SoundRef = null; val6.GetComponent<MeleeWeapon>().SoundPathData.Category = null; val6.GetComponent<MeleeWeapon>().SoundPathData.Effect = null; val6.GetComponent<CollisionWeapon>().damage = 2000f; Object.Destroy((Object)(object)val6.GetComponentInChildren<CollisionSound>()); WeaponChange weaponChange2 = ((Component)val4.transform.GetChild(0)).gameObject.AddComponent<WeaponChange>(); weaponChange2.target = val6; weaponChange2.shrink = false; ((Component)weaponChange2).GetComponent<ConditionalEvent>().events[0].conditions[0].cooldownRange = 0f; ((Component)weaponChange2).GetComponent<ConditionalEvent>().controllableByPlayer = false; } } if (!Object.op_Implicit((Object)(object)val4.GetComponent<Unit>()) || HelpLibrary.m_unitBases.ContainsKey(val4.GetComponent<Unit>().Entity.GUID)) { continue; } GameObject gameObject5 = val4.gameObject; if (Object.op_Implicit((Object)(object)gameObject5.GetComponentInChildren<TeamColor>())) { TeamColor[] componentsInChildren = gameObject5.GetComponentsInChildren<TeamColor>(); foreach (TeamColor val7 in componentsInChildren) { if ((Object)(object)val7.redMaterial == (Object)null) { int materialID2 = val7.materialID; s.DeepCopyOf<TeamColor>(val7, ((GameObject)SLMALoader.SDic["bases"]["Humanoid"]).GetComponentInChildren<TeamColor>()); val7.materialID = materialID2; } } } if (Object.op_Implicit((Object)(object)gameObject5.GetComponentInChildren<EyeSpawner>())) { gameObject5.GetComponentInChildren<EyeSpawner>().eyeObject = ((GameObject)SLMALoader.SDic["bases"]["Humanoid"]).GetComponentInChildren<EyeSpawner>().eyeObject; } PaoPaoDatas.UnitBasesData.bases.Add(val4.GetComponent<Unit>()); Dictionary<DatabaseID, GameObject> unitBases = HelpLibrary.m_unitBases; unitBases.Add(val4.GetComponentInChildren<Unit>().Entity.GUID, val4.gameObject); HelpLibrary.m_unitBases = unitBases; Dictionary<DatabaseID, Object> dictionary5 = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader); dictionary5.Add(val4.GetComponentInChildren<Unit>().Entity.GUID, (Object)(object)val4.gameObject); typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary5); } Material[] array3 = val.LoadAllAssets<Material>(); foreach (Material val8 in array3) { if (Object.op_Implicit((Object)(object)Shader.Find(((Object)val8.shader).name))) { val8.shader = Shader.Find(((Object)val8.shader).name); } } SoundBank[] array4 = PaoPaoDatas.GetAssetBundle("base").LoadAllAssets<SoundBank>(); foreach (SoundBank obj in array4) { SoundBank soundBank = ServiceLocator.GetService<SoundPlayer>().soundBank; List<SoundBankCategory> list = soundBank.Categories.ToList(); SoundBankCategory[] categories = obj.Categories; foreach (SoundBankCategory item in categories) { list.Add(item); } soundBank.Categories = list.ToArray(); } LandfallContentDatabase landfallContentDatabase = ContentDatabase.Instance().LandfallContentDatabase; FieldInfo field = typeof(LandfallContentDatabase).GetField("m_voiceBundles", BindingFlags.Instance | BindingFlags.NonPublic); Dictionary<DatabaseID, VoiceBundle> dictionary6 = (Dictionary<DatabaseID, VoiceBundle>)field.GetValue(landfallContentDatabase); VoiceBundle[] array5 = PaoPaoDatas.GetAssetBundle("base").LoadAllAssets<VoiceBundle>(); foreach (VoiceBundle val9 in array5) { dictionary6.Add(val9.Entity.GUID, val9); } field.SetValue(landfallContentDatabase, dictionary6); ServiceLocator.GetService<CustomContentLoaderModIO>().QuickRefresh((WorkshopContentType)0, (Action)null); new GameObject { hideFlags = (HideFlags)61, name = "core" }.AddComponent<ScenesManager>(); Init2(); DoTrans(); } public static void EditWeapons(GameObject weapon, Team team, Unit unit, MeleeWeapon melee, RangeWeapon range, LandfallContentDatabase db) { } public static void TryChangeColorbyindex(this GameObject gameObject, Color color, int index) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Expected O, but got Unknown //IL_0016: Unknown result type (might be due to invalid IL or missing references) Material val = new Material(Shader.Find("Standard")); val.SetColor("_Color", color); val.SetFloat("_Mode", 3f); val.SetInt("_SrcBlend", 5); val.SetInt("_DstBlend", 10); val.EnableKeyword("_ALPHABLEND_ON"); val.renderQueue = 3000; if (Object.op_Implicit((Object)(object)gameObject.GetComponentInChildren<TeamColor>())) { Object.Destroy((Object)(object)gameObject.GetComponentInChildren<TeamColor>()); } Renderer[] componentsInChildren = gameObject.GetComponentsInChildren<Renderer>(); for (int i = 0; i < componentsInChildren.Length; i++) { Material[] materials = componentsInChildren[i].materials; int num = 0; if (num < materials.Length) { componentsInChildren[i].materials[num] = val; break; } } } public static Sprite GetSprite(string name) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected O, but got Unknown //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name); Texture2D val = new Texture2D(4, 4); byte[] array = new byte[stream.Length]; stream.Read(array, 0, (int)stream.Length); ImageConversion.LoadImage(val, array); return Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f)); } public static void DestoryAll<T>(this GameObject game) where T : Object { if (Object.op_Implicit((Object)(object)game.GetComponentInChildren<T>())) { T[] componentsInChildren = game.GetComponentsInChildren<T>(); for (int i = 0; i < componentsInChildren.Length; i++) { Object.Destroy((Object)(object)componentsInChildren[i]); } } } public static GameObject CreateNewMove(string name, int id = 0) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Expected O, but got Unknown GameObject obj = UPool.MyPool.AddObject(name, (GameObject)SLMALoader.SDic["moves"]["Halfling_Jump"], true, (HideFlags)52, (Sprite)null, id, false); obj.DestoryAll<DodgeMove>(); ((UnityEventBase)obj.GetComponentInChildren<ConditionalEvent>().events[0].turnOnEvent).RemoveAllListeners(); ((UnityEventBase)obj.GetComponentInChildren<ConditionalEvent>().events[0].continuousEvent).RemoveAllListeners(); return obj; } public static void SetMoveConditionalValue(this ConditionalEventInstance gameObject, ConditionType type, ValueType valuet, float value) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: 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_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_004d: 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) //IL_0053: 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_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Expected O, but got Unknown bool flag = false; EventCondition[] conditions = gameObject.conditions; foreach (EventCondition val in conditions) { if (val.conditionType == type) { val.valueType = valuet; val.value = value; flag = true; } } if (!flag) { List<EventCondition> list = gameObject.conditions.ToList(); list.Add(new EventCondition { conditionType = type, valueType = valuet, value = value }); gameObject.conditions = list.ToArray(); } } public static bool LoadAssetBundle(SLMABundleMod mod, string name) { //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_027f: Unknown result type (might be due to invalid IL or missing references) //IL_02c0: Unknown result type (might be due to invalid IL or missing references) AssetBundle assetBundle = mod.GetAssetBundle(name); if (!Object.op_Implicit((Object)(object)assetBundle)) { return false; } GameObject[] array = assetBundle.LoadAllAssets<GameObject>(); foreach (GameObject val in array) { if (val.GetComponentInChildren<IDatabaseEntity>() != null) { IDatabaseEntity componentInChildren = val.GetComponentInChildren<IDatabaseEntity>(); Dictionary<DatabaseID, GameObject> dictionary = new Dictionary<DatabaseID, GameObject>(); if (componentInChildren is WeaponItem) { dictionary = HelpLibrary.m_weapons; } else if (componentInChildren is SpecialAbility) { dictionary = HelpLibrary.m_combatMoves; } else if (componentInChildren is PropItem) { dictionary = HelpLibrary.m_characterProps; } else if (componentInChildren is Unit) { dictionary = HelpLibrary.m_unitBases; } else if (componentInChildren is ProjectileEntity) { dictionary = HelpLibrary.m_projectiles; } Debug.Log((object)("[FhpSlib]Load:" + val.GetComponentInChildren<IDatabaseEntity>().Entity.Name)); dictionary.Add(val.GetComponentInChildren<IDatabaseEntity>().Entity.GUID, val.gameObject); Dictionary<DatabaseID, Object> dictionary2 = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader); dictionary2.Add(val.GetComponentInChildren<IDatabaseEntity>().Entity.GUID, (Object)(object)val.gameObject); typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary2); if (componentInChildren is WeaponItem) { HelpLibrary.m_weapons = dictionary; } else if (componentInChildren is SpecialAbility) { HelpLibrary.m_combatMoves = dictionary; } else if (componentInChildren is PropItem) { HelpLibrary.m_characterProps = dictionary; } else if (componentInChildren is Unit) { HelpLibrary.m_unitBases = dictionary; } else if (componentInChildren is ProjectileEntity) { HelpLibrary.m_projectiles = dictionary; } } } UnitBlueprint[] array2 = assetBundle.LoadAllAssets<UnitBlueprint>(); foreach (UnitBlueprint val2 in array2) { Dictionary<DatabaseID, UnitBlueprint> unitBlueprints = HelpLibrary.m_unitBlueprints; unitBlueprints.Add(val2.Entity.GUID, val2); Dictionary<DatabaseID, Object> dictionary3 = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader); dictionary3.Add(val2.Entity.GUID, (Object)(object)val2); typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary3); HelpLibrary.m_unitBlueprints = unitBlueprints; } Faction[] array3 = assetBundle.LoadAllAssets<Faction>(); foreach (Faction val3 in array3) { Dictionary<DatabaseID, Faction> factions = HelpLibrary.m_factions; factions.Add(val3.Entity.GUID, val3); Dictionary<DatabaseID, Object> dictionary4 = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader); dictionary4.Add(val3.Entity.GUID, (Object)(object)val3); typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary4); HelpLibrary.m_factions = factions; } return true; } public static void AddTransl(string key, string trans) { //IL_0085: Unknown result type (might be due to invalid IL or missing references) Dictionary<int, Language> dictionary = new Dictionary<int, Language>(); dictionary.Add(0, (Language)7); dictionary.Add(1, (Language)0); dictionary.Add(2, (Language)8); dictionary.Add(3, (Language)3); dictionary.Add(4, (Language)1); dictionary.Add(5, (Language)6); dictionary.Add(6, (Language)4); dictionary.Add(7, (Language)2); Dictionary<Language, Dictionary<string, string>> dictionary2 = (Dictionary<Language, Dictionary<string, string>>)typeof(Localizer).GetField("m_localization", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); string[] array = trans.Split(new string[1] { "#" }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < dictionary.Count; i++) { dictionary2[dictionary[i]].Add(key, array[i]); } typeof(Localizer).GetField("m_localization", BindingFlags.Static | BindingFlags.NonPublic).SetValue(typeof(Localizer), dictionary2); } public static void DoTrans() { AddTransl("祖国人", "祖国人#Homelander#祖国の人々#Heimatvolk#Peuple du pays#Люди Родины#Povo da Pátria#Popolo della Patria"); AddTransl("祖国人激光", "祖国人激光#Homelander Laser#祖国の人々 レーザー#Heimatvolk Laser#Peuple du pays Laser#Люди Родины Лазер#Povo da Pátria Laser#Popolo della Patria Laser"); AddTransl("祖国人武器切换", "祖国人武器切换#Homelander Weapon Switch#祖国の人々 武器切り替え#Heimatvolk Waffenwechsel#Peuple du pays Changement d'arme#Люди Родины Смена оружия#Povo da Pátria Troca de Arma#Popolo della Patria Cambio Arma"); AddTransl("祖国人拳头", "祖国人拳头#Homelander Fist#祖国の人々 拳#Heimatvolk Faust#Peuple du pays Poing#Люди Родины Кулак#Povo da Pátria Punho#Popolo della Patria Pugno"); AddTransl("时间倒流", "时间倒流#Time Reversal#時間逆転#Zeitrücklauf#Inversion du temps#Обратное время#Reversão do tempo#Inversione del tempo"); AddTransl("时空炸弹", "时空炸弹#Space-time Bomb#時空爆弾#Raum-Zeit-Bombe#Bombe espace-temps#Пространственно-временная бомба#Bomba de espaço-tempo#Bombardamento spaziotemporale"); AddTransl("猎空", "猎空#Tracer#スカイハンター#Himmeljäger#Chasseur céleste#Небесный охотник#Caçador do céu#Cacciatore celeste"); AddTransl("猎枪", "猎枪#Hunting Rifle#ハンティングライフル#Jagdgewehr#Fusil de chasse#Охотничье ружье#Rifle de caça#Fucile da caccia"); AddTransl("毁灭战士", "毁灭战士#Doom guy#ドゥームウォリアー#Zerstörungskrieger#Guerrier de l'apocalypse#Воин гибели#Guerreiro da ruína#Guerriero della distruzione"); AddTransl("毁灭大剑", "毁灭大剑#Doom Greatsword#ドゥームグレートソード#Zerstörungsgroßschwert#Grande épée de l'apocalypse#Громадный меч гибели#Grande espada da ruína#Gran spada della distruzione"); AddTransl("超级霰弹枪", "超级霰弹枪#Super Shotgun#スーパーショットガン#Super-Schrotflinte#Super fusil à pompe#Супердробовик#Super Escopeta#Fucile a pompa super"); AddTransl("毁灭战士武器切换", "毁灭战士武器切换#Doom guy Weapon Switch#ドゥームウォリアー 武器切り替え#Waffe wechseln Guerrier de l'apocalypse#Guerrier changement d'arme#Переключение оружия воина гибели#Mudar Arma Guerreiro da ruína#Cambio Arma Guerriero della distruzione"); AddTransl("自我治愈", "自我治愈#Self Healing#セルフヒーリング#Selbstheilung#Auto-guérison#Самолечение#Auto Cura#Auto Guarigione"); AddTransl("毁灭手刀", "毁灭手刀#Doom Hand Blade#ドゥームハンドブレード#Zerstörung handklinge#Lame de main de l'apocalypse#Клинок руки гибели#Lâmina da mão da ruína#Lama a mano della distruzione"); AddTransl("冰冻发射", "冰冻发射#Ice Blast#アイスブラスト#Eisstoß#Blast de glace#Ледяной всплеск#Explosão de gelo#Esplosione di ghiaccio"); AddTransl("冰冻子弹", "冰冻子弹#Freeze Bullets#凍結弾丸#Eisige Kugeln#Balles gelées#Замораживающие пули#Balas congelantes#Proiettili congelati"); AddTransl("闪电侠", "闪电侠#Flash#稲妻の男#Blitzmann#Homme éclair#Мужчина молния#Homem raio#Uomo fulmine"); AddTransl("虚化", "虚化#Phasing#フェージング#Phasing#Phase#Фазирование#Faseamento#Faseamento"); AddTransl("瞬移", "瞬移#Teleportation#テレポーテーション#Teleportation#Téléportation#Телепортация#Teletransporte#Teletrasporto"); AddTransl("龙卷风", "龙卷风#Tornado#トルネード#Tornado#Tornade#Торнадо#Tornado#Tornado"); AddTransl("高达", "高达#Gundam#Gundam#Gundam#Гандам#Gundam#Gundam#Gundam"); AddTransl("高达剑", "高达剑#Gundam Sword#Gundam Katana#Gundam-Schwert#Épée Gundam#Ручной меч Гандама#Espada Gundam#Spada Gundam"); AddTransl("高达枪", "高达枪#Gundam Gun#Gundam Rifle#Gundam-Gewehr#Fusil Gundam#Ружьё Гандама#Pistola Gundam#Fucile Gundam"); AddTransl("牙狼", "牙狼#GARO#GARO#Vampirjäger#Chasseur de vampires#Вампир-охотник#Cazador de vampiros#Cacciatore di vampiri"); AddTransl("牙狼马", "牙狼马#GARO Horse#GARO Stallion#Vampirjäger Pferd#Cheval de chasseur de vampires#Конь Вампир-охотника#Caballo Cazador de vampiros#Cavallo Cacciatore di vampiri"); AddTransl("牙狼剑", "牙狼剑#GARO Sword#GARO Katana#Vampirjäger Schwert#Épée Chasseur de vampires#Ручной меч Вампир-охотника#Spada Cazador de vampiros#Spada Cacciatore di vampiri"); AddTransl("斩马刀", "斩马刀#Slashing Horse Sword#Slashing Horse Katana#Pferdeschwert#Épée à cheval#Ручной меч для коня#Spada per cavallo#Spada da cavallo"); AddTransl("烈火月牙", "烈火月牙#Fiery Moon Tooth#Fiery Moon Fang#Feuermond-Zahn#Dents de lune incandescente#Огненный лунный зуб#Dientes de luna ardiente#Denti di luna ardente"); AddTransl("闪光剑舞", "闪光剑舞#Flashy Sword Dance#Flashy Sword Ballet#Blitzschwert-Tanz#Danse des éclairs#Мгновенный танец с мечом#Baile de flash#Danze di flash"); AddTransl("牙狼变身", "牙狼变身#GARO Transformation#GARO Metamorphosis#Vampirjäger Verwandlung#Transformation Chasseur de vampires#Преобразование Вампир-охотника#Transformación Cazador de vampiros#Trasformazione Cacciatore di vampiri"); AddTransl("金刚不坏-低配", "金刚不坏-低配#Vajra Unbreakable-Low Grade#Vajra Unbreakable-Low Power#Vajra Unbreakable-Niedrigstufe#Vajra Unbreakable-Bas niveau#Ваджра Непобедимый-Лow Grade#Vajra No Puede Ser Derrotado-Bajo Potencia#Vajra Imprunescibile-Bassa Potenza"); AddTransl("高达盾", "高达盾#Gundam Shield#Gundam Schild#Gundam-Schild#Bouclier Gundam#Щит Гандама#Scudo Gundam#Scudo Gundam"); AddTransl("高达武器切换", "高达武器切换#Gundam Weapon Switch#Gundam Waffenwechsel#Gundam-Waffe-Auswahl#Armes Gundam#Оружие Гандама#Armas Gundam#Armi Gundam"); AddTransl("无声超农拳", "无声超农拳#Silent Overlord Fist#無聲超農拳#Der Stille Überherrliche Faust#Silent Seigneur Fiste#Бесшумный Господарь П Fist#Silencioso Señor de la Fuerza#Silenzioso Signore della Fista"); AddTransl("近战无敌躲闪", "近战无敌躲闪#Close-Range Invincibility Dodge#近戰無敵躲閃#Nahe Kampf Unbesiegbarer Ausweich#Combats Proches Invincibles Évitement#Ближний бой Непобедимый Уклон#Pelea Cercana Invencible Evitación#Lotta Vicina Invincibile Evitamento"); AddTransl("牙狼-二阶段", "牙狼-二阶段#Tooth Wolf - Second Stage#牙狼-二阶段#Der Zahnwolf - Zweite Phase#La Louve Dentaire - Deuxième Phase#Зубной Волк - Вторая Фаза#Lobezno - Fase 2#Lupo Dentato - Fase 2"); AddTransl("金刚狼爪子", "金刚狼爪子#Wolverine Claw#金剛狼爪子#Der Vajra-Wolf-Kralle#Griffe de Loup de Vajra#Золотой Волк Коготь#Garra de Lobo de Vajra#Artiglio di Lupo di Vajra"); AddTransl("死侍-刀", "死侍-刀#Deadpool - Blade#死侍-刀#Der Todesdienst - Klinge#Serviteur de la Mort - Épée#Слуга Смерти - Меч#Sirviente de la Muerte - Espada#Servitore della Morte - Spada"); AddTransl("死侍", "死侍#Deadpool#死侍#Todesdienst#Serviteur de la Mort#Слуга Смерти#Sirviente de la Muerte#Servitore della Morte"); AddTransl("金刚狼", "金刚狼#Wolverine#金剛狼#Der Vajra-Wolf#Loupe de Vajra#Золотой Волк#Lobo de Vajra#Lupo di Vajra"); AddTransl("死侍小刀", "死侍小刀#Deadpool Short Sword#死侍小刀#Der Todesdienst - Kurze Schwert#Courte Épée de Serviteur de la Mort#Краткая Мечь Слуги Смерти#Corta Espada de Sirviente de la Muerte#Spada Corta del Servitore della Morte"); AddTransl("死侍飞刀", "死侍飞刀#Deadpool Flying Blade#死侍飞刀#Der Todesdienst - Fliegende Klinge#Épée Volante de Serviteur de la Mort#Летящий Мечь Слуги Смерти#Cuchilla Voladora del Sirviente de la Muerte#Spada Volante del Servitore della Morte"); AddTransl("死侍飞旋", "死侍飞旋#Deadpool Flying Spin#死侍飞旋#Der Todesdienst - Fliegende Drehung#Tourbillon Volant de Serviteur de la Mort#Летящий Вращение Слуги Смерти#Giro Volador del Sirviente de la Muerte#Giro Volante del Servitore della Morte"); AddTransl("死侍手雷", "死侍手雷#Deadpool Hand Thunder#死侍手雷#Der Todesdienst - Hand-Donner#Foudre de la Main de Serviteur de la Mort#Рукавица Молнии Слуги Смерти#Relámpago de la Mano del Sirviente de la Muerte#Lampo della Mano del Servitore della Morte"); AddTransl("死侍长刀", "死侍长刀#Deadpool Long Sword#死侍长刀#Der Todesdienst - Lange Schwert#Épée Longue de Serviteur de la Mort#Длинная Мечь Слуги Смерти#Espada Larga del Sirviente de la Muerte#Spada Lunga del Servitore della Morte"); AddTransl("黄金沙鹰", "黄金沙鹰#Golden Sand Eagle#黄金沙鹰#Der goldene Sand-Eagle#Aigle d'Or des Dunes#Золотой песчаный Орёл#Águila de Oro de la Arena#Aquila d'Oro della Sabbia"); } private static void Init2() { //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Expected O, but got Unknown //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Expected O, but got Unknown //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) Faction val = SLMATool.CreateFaction("MULTIVERSE", (UnitBlueprint[])null, PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("multiverse logo"), 4132534); GameObject val2 = CreateNewMove("PerMove"); GameObject obj = UPool.MyPool.AddObject("金刚不坏", val2, true, (HideFlags)52, PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("multiverse logo"), 112111126, true); ((CharacterItem)obj.GetComponentInChildren<SpecialAbility>()).tags = new List<Tag> { new Tag { tagType = (TagType)0, value = "MULTIVERSE" } }; obj.AddComponent<SuperArmor>().armorhealth = 1000f; UnitBlueprint val3 = SLMATool.CreateUnit("祖国人", (UnitBlueprint)null, val, PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("homelander")); val3.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猛男v3"); val3.m_props = (GameObject[])(object)new GameObject[1] { PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("祖国人") }; val3.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[5] { PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("祖国人激光发射"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("祖国人武器切换"), (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["Hover"], UPool.MyPool.GetObject("金刚不坏") }; val3.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(NeverStopRunning) }; val3.health = 8000f; val3.forceCost = 10000u; val3.massMultiplier = 5f; val3.attackSpeedMultiplier = -1f; val3.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("HomeLander"); val3.movementSpeedMuiltiplier = 3f; val3.LeftWeapon = UPool.MyPool.GetObject("无声超农拳"); val3.RightWeapon = UPool.MyPool.GetObject("无声超农拳"); val3.holdinigWithTwoHands = false; val3.animationMultiplier = 1.4f; val3.stepMultiplier = 0.71428573f; val3.Validate(); Init3(); } private static void Init3() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Expected O, but got Unknown //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007e: 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_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Expected O, but got Unknown //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Expected O, but got Unknown //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_02f1: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Expected O, but got Unknown CreateNewMove("PerMove2"); GameObject val = UPool.MyPool.AddObject("不易摔倒", (GameObject)SLMALoader.SDic["moves"]["Hover"], true, (HideFlags)52, PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("multiverse logo"), 112133, true); val.GetComponentInChildren<Wings>().flightForce = 0.0001f; ((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).tags = new List<Tag> { new Tag { tagType = (TagType)0, value = "MULTIVERSE" } }; PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("时空炸弹").AddComponent<TimeBoom>(); GameObject val2 = UPool.MyPool.AddObject("时间倒流", (GameObject)SLMALoader.SDic["moves"]["BallAndChain_Jump"], true, (HideFlags)52, PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("multiverse logo"), 11214548, true); val2.AddComponent<TimeRepeater>(); PlaySoundEffect val3 = val2.TryGetC<PlaySoundEffect>(); if (Object.op_Implicit((Object)(object)val3)) { val3.SoundRef = "MULTIVERSE/LieKong back"; val3.PlayOnAwake = false; } ((CharacterItem)val2.GetComponentInChildren<SpecialAbility>()).tags = new List<Tag> { new Tag { tagType = (TagType)0, value = "MULTIVERSE" } }; Object.Destroy((Object)(object)val2.GetComponentInChildren<DodgeMove>()); UnitBlueprint val4 = SLMATool.CreateUnit("猎空", (UnitBlueprint)null, (Faction)SLMATool.SLMADic["MULTIVERSE"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("猎空图标")); val4.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猛男v3"); val4.m_props = (GameObject[])(object)new GameObject[1] { PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猎空") }; val4.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[4] { val, val2, PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("近战无敌躲闪"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("时空炸弹Move") }; val4.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(KeepRangedDistance) }; val4.health = 4000f; val4.forceCost = 5000u; val4.massMultiplier = 5f; val4.attackSpeedMultiplier = -1f; val4.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("LieKong"); val4.movementSpeedMuiltiplier = 3f; val4.LeftWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猎枪"); val4.RightWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猎枪"); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猎枪").GetComponent<RangeWeapon>() .ObjectToSpawn = (GameObject)SLMALoader.SDic["projectiles"]["P_PulseSMG"]; val4.holdinigWithTwoHands = false; val4.animationMultiplier = 1.4f; val4.stepMultiplier = 0.71428573f; val4.Validate(); Init4(); } public static T TryGetC<T>(this GameObject g) where T : MonoBehaviour { if ((Object)(object)g.GetComponentInChildren<T>() != (Object)null) { return g.GetComponentInChildren<T>(); } return g.AddComponent<T>(); } private static void Init4() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Expected O, but got Unknown //IL_0265: Unknown result type (might be due to invalid IL or missing references) //IL_026b: Expected O, but got Unknown //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_028c: Expected O, but got Unknown //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Unknown result type (might be due to invalid IL or missing references) CreateNewMove("PerMove3"); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭大剑_W").AddComponent<SpSword>(); GameObject obj = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("冰冻发射"); ((CharacterItem)obj.GetComponentInChildren<SpecialAbility>()).tags = new List<Tag> { new Tag { tagType = (TagType)0, value = "MULTIVERSE" } }; obj.AddComponent<HMP>().project = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("冰冻子弹"); UnitBlueprint val = SLMATool.CreateUnit("毁灭战士", (UnitBlueprint)null, (Faction)SLMATool.SLMADic["MULTIVERSE"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("毁灭战士logo")); val.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猛男v3"); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭战士_P").AddComponent<HealSelf>(); val.m_props = (GameObject[])(object)new GameObject[1] { PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭战士_P") }; WeaponChanger weaponChanger = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭战士武器切换").AddComponent<WeaponChanger>(); weaponChanger.target = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭大剑_W"); weaponChanger.shrink = false; ((Component)weaponChanger).GetComponent<ConditionalEvent>().events[0].conditions[0].cooldownRange = 0f; ((Component)weaponChanger).GetComponent<ConditionalEvent>().controllableByPlayer = false; WeaponChanger weaponChanger2 = ((Component)PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭战士武器切换").transform.GetChild(0)).gameObject.AddComponent<WeaponChanger>(); weaponChanger2.target = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("超级霰弹枪_W"); weaponChanger2.shrink = false; ((Component)weaponChanger2).GetComponent<ConditionalEvent>().events[0].conditions[0].cooldownRange = 0f; ((Component)weaponChanger2).GetComponent<ConditionalEvent>().controllableByPlayer = false; val.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[6] { PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("冰冻发射"), UPool.MyPool.GetObject("不易摔倒"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("自我治愈"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭战士武器切换"), (GameObject)SLMALoader.SDic["moves"]["SwordArtParry"], (GameObject)SLMALoader.SDic["moves"]["Fencer_Dodge"] }; val.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(KeepRangedDistance) }; val.health = 6611.5703f; val.forceCost = 10000u; val.massMultiplier = 5f; val.sizeMultiplier = 1.1f; val.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("空VB"); val.movementSpeedMuiltiplier = 3f; val.LeftWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭手刀_W"); val.RightWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("超级霰弹枪_W"); val.holdinigWithTwoHands = false; val.Validate(); Init5(); } private static void Init5() { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Expected O, but got Unknown //IL_005c: Expected O, but got Unknown //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_020d: Expected O, but got Unknown //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Expected O, but got Unknown //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Expected O, but got Unknown //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_0273: Expected O, but got Unknown //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0295: Expected O, but got Unknown //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Expected O, but got Unknown //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02d9: Expected O, but got Unknown //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Expected O, but got Unknown //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_030f: Unknown result type (might be due to invalid IL or missing references) CreateNewMove("PerMove4"); UnitBlueprint val = SLMATool.CreateUnit("闪电侠", (UnitBlueprint)SLMALoader.SDic["blueprints"]["CustomWobbler"], (Faction)SLMATool.SLMADic["MULTIVERSE"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("flash")); val.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猛男v3"); val.m_props = (GameObject[])(object)new GameObject[2] { PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("闪电侠_P"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("闪电侠_P - 虚化") }; PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("闪电侠_P").AddComponent<HealSelfS>(); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("闪电侠_P").AddComponent<FlashPro>(); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("虚化").AddComponent<FlashMode>(); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("瞬移").AddComponent<FlashAss>(); val.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[17] { UPool.MyPool.GetObject("不易摔倒"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("瞬移"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("瞬移"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("瞬移"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("瞬移"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("瞬移"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("瞬移"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("虚化"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("龙卷风"), (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["ProjectileDodge_Quickdraw"], (GameObject)SLMALoader.SDic["moves"]["Dodge"] }; val.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(KeepPreferredDistance) }; val.health = 5200f; val.maxSizeRandom = 0f; val.minSizeRandom = 0f; val.animationMultiplier = 11.2f; val.stepMultiplier = 5f / 56f; val.forceCost = 5200u; val.turnSpeed = 100f; val.movementSpeedMuiltiplier = 52f; val.sizeMultiplier = 1f; val.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("闪电侠"); val.holdinigWithTwoHands = false; val.Validate(); Init6(); } private static void Init6() { //IL_0047: 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_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Expected O, but got Unknown //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Expected O, but got Unknown //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_024a: 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_0303: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Unknown result type (might be due to invalid IL or missing references) GameObject val = CreateNewMove("PerMove5"); GameObject obj = UPool.MyPool.AddObject("金刚不坏-低配", val, true, (HideFlags)52, PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("multiverse logo"), 1781626, true); ((CharacterItem)obj.GetComponentInChildren<SpecialAbility>()).tags = new List<Tag> { new Tag { tagType = (TagType)0, value = "MULTIVERSE" } }; obj.AddComponent<SuperArmor>().armorhealth = 500f; UnitBlueprint val2 = SLMATool.CreateUnit("高达", (UnitBlueprint)null, (Faction)SLMATool.SLMADic["MULTIVERSE"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("高达logo")); val2.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达base"); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达base").AddComponent<Robot>(); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达剑").AddComponent<ExplosionDoWhenAttack>(); WeaponChanger weaponChanger = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达武器切换").AddComponent<WeaponChanger>(); weaponChanger.target = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达剑"); weaponChanger.shrink = false; ((Component)weaponChanger).GetComponent<ConditionalEvent>().events[0].conditions[0].cooldownRange = 0f; ((Component)weaponChanger).GetComponent<ConditionalEvent>().controllableByPlayer = false; WeaponChanger weaponChanger2 = ((Component)PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达武器切换").transform.GetChild(0)).gameObject.AddComponent<WeaponChanger>(); weaponChanger2.target = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达枪"); weaponChanger2.shrink = false; ((Component)weaponChanger2).GetComponent<ConditionalEvent>().events[0].conditions[0].cooldownRange = 0f; ((Component)weaponChanger2).GetComponent<ConditionalEvent>().controllableByPlayer = false; val2.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[4] { UPool.MyPool.GetObject("不易摔倒"), UPool.MyPool.GetObject("金刚不坏-低配"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达武器切换"), (GameObject)SLMALoader.SDic["moves"]["SkeletonGiant_Damage_L"] }; val2.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(KeepRangedDistance) }; val2.health = 888.8889f; val2.forceCost = 8000u; val2.massMultiplier = 5f; val2.sizeMultiplier = 3f; val2.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("空VB"); val2.movementSpeedMuiltiplier = 3f; val2.LeftWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达盾"); val2.RightWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达枪"); Transform transform = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("高达剑").transform; transform.localScale *= 2f; Transform transform2 = val2.RightWeapon.transform; transform2.localScale *= 2f; val2.holdinigWithTwoHands = false; val2.Validate(); Init7(); } private static void Init7() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Expected O, but got Unknown //IL_0101: Expected O, but got Unknown //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Expected O, but got Unknown //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Expected O, but got Unknown //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Expected O, but got Unknown //IL_031e: Unknown result type (might be due to invalid IL or missing references) //IL_0324: Unknown result type (might be due to invalid IL or missing references) //IL_03e5: Unknown result type (might be due to invalid IL or missing references) //IL_03eb: Expected O, but got Unknown //IL_0406: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Expected O, but got Unknown //IL_0427: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Expected O, but got Unknown //IL_0448: Unknown result type (might be due to invalid IL or missing references) //IL_044e: Expected O, but got Unknown //IL_0469: Unknown result type (might be due to invalid IL or missing references) //IL_046f: Expected O, but got Unknown //IL_0492: Unknown result type (might be due to invalid IL or missing references) //IL_04b1: Expected O, but got Unknown //IL_0539: Unknown result type (might be due to invalid IL or missing references) //IL_053f: Expected O, but got Unknown //IL_0583: Unknown result type (might be due to invalid IL or missing references) //IL_0589: Expected O, but got Unknown //IL_0598: Unknown result type (might be due to invalid IL or missing references) //IL_059e: Unknown result type (might be due to invalid IL or missing references) GameObject val = CreateNewMove("PerMove6"); GameObject val2 = UPool.MyPool.AddObject("变身出场", val, true, (HideFlags)52, PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("multiverse logo"), 1132133, true); ((CharacterItem)val2.GetComponentInChildren<SpecialAbility>()).tags = new List<Tag> { new Tag { tagType = (TagType)0, value = "MULTIVERSE" } }; ((CharacterItem)val2.GetComponentInChildren<SpecialAbility>()).Entity.SpriteIcon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("牙狼logo"); val2.AddComponent<YaLangSpawn>().sword = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼剑base"); UnitBlueprint val3 = SLMATool.CreateUnit("牙狼", (UnitBlueprint)SLMALoader.SDic["blueprints"]["CustomWobbler"], (Faction)SLMATool.SLMADic["MULTIVERSE"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("牙狼logo")); val3.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼base"); val3.UnitBase.AddComponent<YaLangNotDie>(); val3.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[5] { UPool.MyPool.GetObject("不易摔倒"), (GameObject)SLMALoader.SDic["moves"]["SwordArtParry"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼变身"), (GameObject)SLMALoader.SDic["moves"]["Dodge"], val2 }; val3.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(KeepRangedDistance) }; val3.health = 3000f; val3.forceCost = 8000u; val3.massMultiplier = 100f; val3.sizeMultiplier = 1f; val3.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("牙狼VB"); val3.movementSpeedMuiltiplier = 2f; val3.RightWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼剑"); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼剑").AddComponent<SpSword>(); val3.holdinigWithTwoHands = true; val3.Validate(); UnitBlueprint val4 = SLMATool.CreateUnit("牙狼-二阶段", (UnitBlueprint)SLMALoader.SDic["blueprints"]["CustomWobbler"], (Faction)null, PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("牙狼logo")); val4.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼的马"); val4.UnitBase.AddComponent<YaLangHorse>().newskill = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("闪光剑舞"); val4.UnitBase.GetComponent<YaLangHorse>().target = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼剑"); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼变身").GetComponentInChildren<UnitSpawner>() .unitBlueprint = val4; val4.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(NeverStopRunning) }; val4.health = 5000f; val4.forceCost = 8000u; val4.massMultiplier = 100f; val4.sizeMultiplier = 1f; val4.balanceMultiplier *= 100f; val4.balanceForceMultiplier *= 100f; val4.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("牙狼马VB"); val4.movementSpeedMuiltiplier = 6f; val4.Validate(); val4.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[6] { UPool.MyPool.GetObject("不易摔倒"), (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["Wings_Leg_SuperP"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"] }; UnitBlueprint val5 = SLMATool.CreateUnit("牙狼-二阶段-", (UnitBlueprint)SLMALoader.SDic["blueprints"]["CustomWobbler"], (Faction)null, PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("牙狼logo")); val5.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼二形态base"); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("牙狼变身").GetComponentInChildren<UnitSpawner>() .unitBlueprint = val4; s.SetField<UnitBlueprint>(val4, "Riders", (object)new UnitBlueprint[1] { val5 }); val5.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[5] { UPool.MyPool.GetObject("不易摔倒"), (GameObject)SLMALoader.SDic["moves"]["SwordArtParry"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("剑气"), UPool.MyPool.GetObject("金刚不坏-低配"), (GameObject)SLMALoader.SDic["moves"]["Dodge"] }; val5.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(KeepRangedDistance) }; val5.health = 5000f; val5.forceCost = 8000u; val5.massMultiplier = 5f; val5.sizeMultiplier = 1.1f; val5.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("牙狼VB"); val5.movementSpeedMuiltiplier = 1f; val5.RightWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("斩马剑"); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("斩马剑").AddComponent<SpSword>(); val5.holdinigWithTwoHands = false; val5.Validate(); Init8(); } private static void Init8() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Expected O, but got Unknown //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Expected O, but got Unknown //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Expected O, but got Unknown //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Expected O, but got Unknown //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Expected O, but got Unknown //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Expected O, but got Unknown //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) CreateNewMove("PerMove7"); UnitBlueprint val = SLMATool.CreateUnit("金刚狼", (UnitBlueprint)null, (Faction)SLMATool.SLMADic["MULTIVERSE"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("金刚A梦")); val.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猛男v3"); val.m_props = (GameObject[])(object)new GameObject[2] { PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("金刚狼"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("金刚狼爪子") }; PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("金刚狼").AddComponent<HealSelf>(); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("金刚狼").AddComponent<JinGangZhua>(); val.RightWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭手刀_W"); val.LeftWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("毁灭手刀_W"); val.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[6] { UPool.MyPool.GetObject("不易摔倒"), (GameObject)SLMALoader.SDic["moves"]["ProjectileDodge_Quickdraw"], (GameObject)SLMALoader.SDic["moves"]["Jump_Berserker"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["SwordArtParry"], (GameObject)SLMALoader.SDic["moves"]["Dodge"] }; val.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(NeverStopRunning) }; val.health = 4000f; val.maxSizeRandom = 0f; val.minSizeRandom = 0f; val.forceCost = 4000u; val.turnSpeed = 100f; val.movementSpeedMuiltiplier = 3f; val.attackSpeedMultiplier = -1f; val.sizeMultiplier = 1f; val.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("狼叔VB"); val.holdinigWithTwoHands = false; val.Validate(); Init9(); } private static void Init9() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Expected O, but got Unknown //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Expected O, but got Unknown //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Expected O, but got Unknown //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_027c: Expected O, but got Unknown //IL_0297: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Expected O, but got Unknown //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Expected O, but got Unknown //IL_02da: Unknown result type (might be due to invalid IL or missing references) //IL_02e0: Expected O, but got Unknown //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) CreateNewMove("PerMove8"); UnitBlueprint val = SLMATool.CreateUnit("死侍", (UnitBlueprint)null, (Faction)SLMATool.SLMADic["MULTIVERSE"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("漫威知名出生")); val.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猛男v3"); val.m_props = (GameObject[])(object)new GameObject[2] { PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("漫威知名出生"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("漫威知名出生-刀") }; PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("漫威知名出生").AddComponent<HealSelf>(); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("漫威知名出生").AddComponent<SiShiNotDie>(); val.RightWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("黄金沙鹰"); val.LeftWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("黄金沙鹰"); SiShiChangeWeapon siShiChangeWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("死侍武器切换").AddComponent<SiShiChangeWeapon>(); siShiChangeWeapon.target = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("死侍长刀"); siShiChangeWeapon.shrink = false; ((Component)siShiChangeWeapon).GetComponent<ConditionalEvent>().events[0].conditions[0].cooldownRange = 0f; SiShiChangeWeapon siShiChangeWeapon2 = ((Component)PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("死侍武器切换").transform.GetChild(0)).gameObject.AddComponent<SiShiChangeWeapon>(); siShiChangeWeapon2.target = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("黄金沙鹰"); siShiChangeWeapon2.shrink = false; ((Component)siShiChangeWeapon2).GetComponent<ConditionalEvent>().events[0].conditions[0].cooldownRange = 0f; val.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[10] { UPool.MyPool.GetObject("不易摔倒"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("死侍武器切换"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("死侍飞旋"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("死侍飞刀"), (GameObject)SLMALoader.SDic["moves"]["ProjectileDodge_Quickdraw"], (GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Chariot_Horse"], (GameObject)SLMALoader.SDic["moves"]["SwordArtParry"], (GameObject)SLMALoader.SDic["moves"]["BlockAlways"], (GameObject)SLMALoader.SDic["moves"]["Jester_Kick"], (GameObject)SLMALoader.SDic["moves"]["Dodge"] }; val.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(NeverStopRunning) }; val.health = 4000f; val.maxSizeRandom = 0f; val.minSizeRandom = 0f; val.forceCost = 4000u; val.turnSpeed = 100f; val.movementSpeedMuiltiplier = 3f; val.attackSpeedMultiplier = 3f; val.sizeMultiplier = 1f; val.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("死侍VB"); val.holdinigWithTwoHands = false; val.Validate(); Init10(); } private static void Init10() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) UnitBlueprint val = SLMATool.CreateUnit("壶魔神", (UnitBlueprint)null, (Faction)SLMATool.SLMADic["MULTIVERSE"], PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("强欲之壶logo")); val.UnitBase = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("猛男v3"); val.m_props = (GameObject[])(object)new GameObject[3] { PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("壶魔神"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("壶魔神2"), PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("壶魔神3") }; val.RightWeapon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("念力宝剑"); PaoPaoDatas.GetAssetBundle("base").LoadAsset<GameObject>("念力宝剑").AddComponent<NianSword>(); val.holdinigWithTwoHands = true; GameObject val2 = UPool.MyPool.AddObject("壶魔神", CreateNewMove("PerMove9"), true, (HideFlags)52, (Sprite)null, 324343, true); ((CharacterItem)val2.GetComponentInChildren<SpecialAbility>()).tags = new List<Tag> { new Tag { tagType = (TagType)0, value = "MULTIVERSE" } }; ((CharacterItem)val2.GetComponentInChildren<SpecialAbility>()).Entity.SpriteIcon = PaoPaoDatas.GetAssetBundle("base").LoadAsset<Sprite>("强欲之壶logo"); val2.AddComponent<Hu>(); val.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[1] { val2 }; val.health = 4000f; val.maxSizeRandom = 0f; val.minSizeRandom = 0f; val.forceCost = 2000u; val.sizeMultiplier = 1f; val.voiceBundle = PaoPaoDatas.GetAssetBundle("base").LoadAsset<VoiceBundle>("空VB"); val.Validate(); } } [BepInPlugin("multiverse", "fhp.cc.multiverse", "1.0.0")] internal class Loader : BaseUnityPlugin { private void Awake() { ((MonoBehaviour)this).StartCoroutine("call"); } private IEnumerator call() { yield return (object)new WaitUntil((Func<bool>)(() => (Object)(object)Object.FindObjectOfType<ServiceLocator>() != (Object)null)); yield return (object)new WaitUntil((Func<bool>)(() => ServiceLocator.GetService<ISaveLoaderService>() != null)); yield return (object)new WaitForSecondsRealtime(0.3f); SLMALoader.GetInstance(); LandfallContentDatabase landfallContentDatabase = ContentDatabase.Instance().LandfallContentDatabase; UManager.Init(landfallContentDatabase); new Harmony(UManager.modname).PatchAll(); GOSLMA.EditWeapons = ((GOSLMA.EditWeapons == null) ? new Action<GameObject, Team, Unit, MeleeWeapon, RangeWeapon, LandfallContentDatabase>(UManager.EditWeapons) : ((Action<GameObject, Team, Unit, MeleeWeapon, RangeWeapon, LandfallContentDatabase>)Delegate.Combine(new Action<GameObject, Team, Unit, MeleeWeapon, RangeWeapon, LandfallContentDatabase>(UManager.EditWeapons), GOSLMA.EditWeapons))); GOSLMA.EditClothes = ((GOSLMA.EditClothes == null) ? new Action<GameObject, CharacterItem, PropItemData, Unit, int, LandfallContentDatabase>(UManager.EditClothes) : ((Action<GameObject, CharacterItem, PropItemData, Unit, int, LandfallContentDatabase>)Delegate.Combine(new Action<GameObject, CharacterItem, PropItemData, Unit, int, LandfallContentDatabase>(UManager.EditClothes), GOSLMA.EditClothes))); GOSLMA.EditCombatMoves = ((GOSLMA.EditCombatMoves == null) ? new Action<GameObject, int, Unit, LandfallContentDatabase>(UManager.EditCombatMoves) : ((Action<GameObject, int, Unit, LandfallContentDatabase>)Delegate.Combine(new Action<GameObject, int, Unit, LandfallContentDatabase>(UManager.EditCombatMoves), GOSLMA.EditCombatMoves))); GOSLMA.CodeAfterSpawn = ((GOSLMA.CodeAfterSpawn == null) ? new Action<Unit, LandfallContentDatabase>(UManager.CodeAfterSpawn) : ((Action<Unit, LandfallContentDatabase>)Delegate.Combine(new Action<Unit, LandfallContentDatabase>(UManager.CodeAfterSpawn), GOSLMA.CodeAfterSpawn))); GOSLMA.EditProjectiles = ((GOSLMA.EditProjectiles == null) ? new Action<GameObject, ProjectileHit, Unit, LandfallContentDatabase>(UManager.EditProjectiles) : ((Action<GameObject, ProjectileHit, Unit, LandfallContentDatabase>)Delegate.Combine(new Action<GameObject, ProjectileHit, Unit, LandfallContentDatabase>(UManager.EditProjectiles), GOSLMA.EditProjectiles))); UnitBlueprint[] array = Resources.FindObjectsOfTypeAll<UnitBlueprint>(); for (int i = 0; i < array.Length; i++) { UManager.EditBlueprint(array[i], landfallContentDatabase); } Debug.Log((object)("Loaded " + UManager.modname + " Successfully")); Debug.Log((object)(UManager.modname + "is made in SFT by FhpSlime")); Debug.Log((object)(UManager.modder + "wished you a pleasant trip")); } } } public static class STool { public static void RendererColorChanger(Renderer[] renderers, Color color) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < renderers.Length; i++) { Material[] materials = renderers[i].materials; for (int j = 0; j < materials.Length; j++) { materials[j].color = color; } } } public static List<T> ToList<T>(T[] ts) { List<T> list = new List<T>(); foreach (T item in ts) { list.Add(item); } return list; } public static void RendererColorChanger(MeshRenderer[] renderers, Color color) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < renderers.Length; i++) { Material[] materials = ((Renderer)renderers[i]).materials; for (int j = 0; j < materials.Length; j++) { materials[j].color = color; } } } public static void RendererColorChanger(SkinnedMeshRenderer[] renderers, Color color) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < renderers.Length; i++) { Material[] materials = ((Renderer)renderers[i]).materials; for (int j = 0; j < materials.Length; j++) { materials[j].color = color; } } } public static void RendererColorChanger(Renderer[] renderers, Material[] color) { for (int i = 0; i < renderers.Length; i++) { renderers[i].materials = color; } } public static void RendererColorChanger(MeshRenderer[] renderers, Material[] color) { for (int i = 0; i < renderers.Length; i++) { ((Renderer)renderers[i]).materials = color; } } public static void RendererColorChanger(SkinnedMeshRenderer[] renderers, Material[] color) { for (int i = 0; i < renderers.Length; i++) { ((Renderer)renderers[i]).materials = color; } } public static Vector3 AddV3(Vector3 vector3, float x, float y, float z) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0010: 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) return new Vector3(vector3.x + x, vector3.y + y, vector3.z + z); } } public class ScenesManager : MonoBehaviour { public ScenesManager() { SceneManager.sceneLoaded += SceneLoaded; } public void SceneLoaded(Scene scene, LoadSceneMode loadSceneMode) { //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Expected O, but got Unknown //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Expected O, but got Unknown //IL_01fa: Unknown result type (might be due to invalid IL or missing references) if (((Scene)(ref scene)).name == "UnitCreator_GamepadUI") { ((MonoBehaviour)this).StartCoroutine(AddScroll()); UnitEditorManager component = ((Scene)(ref scene)).GetRootGameObjects().ToList().Find((GameObject x) => Object.op_Implicit((Object)(object)x.GetComponent<UnitEditorManager>())) .GetComponent<UnitEditorManager>(); List<UnitBaseWrapper> list = component.UnitBases.ToList(); foreach (Unit basis in PaoPaoDatas.UnitBasesData.bases) { UnitBlueprint val = SLMATool.CreateUnit("MoreContent Custom:" + basis.Entity.Name, (UnitBlueprint)SLMALoader.SDic["blueprints"]["CustomWobbler"], (Faction)null, (Sprite)null); val.UnitBase = ((Component)basis).gameObject; list.Add(new UnitBaseWrapper { BaseDisplayName = basis.Entity.Name, BaseIcon = basis.Entity.SpriteIcon, UnitBaseBlueprint = val, UnitBaseRestriction = (UnitBaseRestrictions)0 }); } component.UnitBases = list.ToArray(); } if (!PaoPaoDatas.HiddenWeapons.scences.Contains(((Scene)(ref scene)).name)) { return; } GameObject val2 = new GameObject("Core"); GameObject[] array = PaoPaoDatas.HiddenWeapons.secrets[((Scene)(ref scene)).name]; for (int i = 0; i < array.Length; i++) { Renderer[] componentsInChildren = Object.Instantiate<GameObject>(array[i], val2.transform).GetComponentsInChildren<Renderer>(); foreach (Renderer val3 in componentsInChildren) { List<Material> list2 = new List<Material>(); Material[] materials = val3.materials; foreach (Material val4 in materials) { if (((Object)val4).name.Contains("RP_")) { if (((Object)val4).name.Replace("RP_", "").Contains("Unit_Red")) { list2.Add(((Renderer)((GameObject)SLMALoader.SDic["bases"]["Humanoid"]).GetComponentInChildren<SkinnedMeshRenderer>()).materials[0]); } } else { list2.Add(val4); } } val3.materials = list2.ToArray(); } } } public IEnumerator AddScroll() { yield return (object)new WaitUntil((Func<bool>)(() => (Object)(object)GameObject.Find("Unit Editor UI/BigUI/AddContentPage/Scroll View") != (Object)null)); if (!Object.op_Implicit((Object)(object)GameObject.Find("Unit Editor UI/BigUI/UnitBase").GetComponent<ScrollRect>())) { OtherLibrary.DeepCopyOf<ScrollRect>(GameObject.Find("Unit Editor UI/BigUI/UnitBase").AddComponent<ScrollRect>(), GameObject.Find("Unit Editor UI/BigUI/AddContentPage/Scroll View").GetComponentInChildren<ScrollRect>()); GameObject val = Object.Instantiate<GameObject>(((Component)GameObject.Find("Unit Editor UI/BigUI/AddContentPage/Scroll View").transform.GetChild(1)).gameObject, GameObject.Find("Unit Editor UI/BigUI/UnitBase").transform); GameObject.Find("Unit Editor UI/BigUI/UnitBase").GetComponentInChildren<ScrollRect>().verticalScrollbar = val.GetComponentInChildren<Scrollbar>(); GameObject.Find("Unit Editor UI/BigUI/UnitBase").GetComponentInChildren<ScrollRect>().viewport = ((Component)GameObject.Find("Unit Editor UI/BigUI/UnitBase").transform.GetChild(1)).GetComponentInChildren<RectTransform>(); GameObject.Find("Unit Editor UI/BigUI/UnitBase").GetComponentInChildren<ScrollRect>().content = ((Component)GameObject.Find("Unit Editor UI/BigUI/UnitBase").transform.GetChild(1)).GetComponentInChildren<RectTransform>(); } } } namespace MULTIVERSE { public class WeaponTrail : MonoBehaviour { public void Update() { if (!((Component)this).GetComponentInChildren<MeleeWeapon>().isSwinging) { if (((Component)this).GetComponentInChildren<TrailRenderer>().emitting) { ((Component)this).GetComponentInChildren<TrailRenderer>().emitting = false; ((Component)this).GetComponentsInChildren<TrailRenderer>()[1].emitting = false; } } else if (!((Component)this).GetComponentInChildren<TrailRenderer>().emitting) { ((Component)this).GetComponentInChildren<TrailRenderer>().emitting = true; ((Component)this).GetComponentsInChildren<TrailRenderer>()[1].emitting = true; } } } } public class HomeLanderEyes : Move { public Transform[] eyes; public GameObject project; public Unit unit; public Color target; private Color org; private void Start() { //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) unit = ((Component)this).GetComponentInParent<Unit>(); eyes = (Transform[])(object)new Transform[2] { ((Component)((Component)unit).GetComponentInChildren<PropItem>()).transform.GetChild(0).GetChild(0).GetChild(1), ((Component)((Component)unit).GetComponentInChildren<PropItem>()).transform.GetChild(1).GetChild(0).GetChild(1) }; Transform[] array = eyes; foreach (Transform val in array) { s.AddCopiedComponent<RangeWeapon>(((Component)val).gameObject, ((GameObject)SLMALoader.SDic["weapons"]["Leg_WizardStaff"]).GetComponentInChildren<RangeWeapon>()); ((Component)val).gameObject.GetComponentInChildren<RangeWeapon>().ObjectToSpawn = project; ((Weapon)((Component)val).gameObject.GetComponentInChildren<RangeWeapon>()).connectedData = ((Component)this).GetComponentInParent<Unit>().data; ((Component)val).gameObject.AddComponent<ShootPosition>(); org = ((Component)val).gameObject.GetComponentInChildren<Renderer>().materials[0].color; } } public override void DoMove(Rigidbody enemyWeapon, Rigidbody enemyTorso, DataHandler targetData) { ((MonoBehaviour)this).StartCoroutine_Auto(Attack(enemyTorso)); } private IEnumerator Attack(Rigidbody enemyTorso) { ((Component)((Component)this).GetComponentInParent<Unit>().data.head).GetComponentInChildren<GooglyEye>().SetState((EyeState)0); Transform[] array = eyes; foreach (Transform val in array) { ChineseLibrary.颜色设置(((Component)val).gameObject, target); RangeWeapon componentInChildren = ((Component)val).gameObject.GetComponentInChildren<RangeWeapon>(); Vector3 position = val.position; Vector3 val2 = val.position - enemyTorso.position; ((Weapon)componentInChildren).Attack(position, enemyTorso, ((Vector3)(ref val2)).normalized, false); } yield return (object)new WaitForSeconds(0.6f); Transform[] array2 = eyes; for (int j = 0; j < array2.Length; j++) { ChineseLibrary.颜色设置(((Component)array2[j]).gameObject, org); } } } public class WeaponChange : Move { public bool shrink; public GameObject target; private bool changing; public override void DoMove(Rigidbody enemyWeapon, Rigidbody enemyTorso, DataHandler targetData) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Invalid comparison between Unknown and I4 //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) Unit component = ((Component)((Component)this).transform.root).GetComponent<Unit>(); bool num = (int)((Component)this).GetComponent<ConditionalEvent>().events[0].conditions[0].valueType == 1; float value = ((Component)this).GetComponent<ConditionalEvent>().events[0].conditions[0].value; if (num) { if (Vector3.Distance(component.data.mainRig.position, enemyTorso.position) < value && Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.holdingHandler.leftObject) && ((CharacterItem)((Component)component.holdingHandler.leftObject).GetComponentInChildren<WeaponItem>()).Entity.GUID.m_modID != ((CharacterItem)target.GetComponentInChildren<WeaponItem>()).Entity.GUID.m_modID && !changing) { Call(); } } else if (Vector3.Distance(component.data.mainRig.position, enemyTorso.position) > value && Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.holdingHandler.leftObject) && ((CharacterItem)((Component)component.holdingHandler.leftObject).GetComponentInChildren<WeaponItem>()).Entity.GUID.m_modID != ((CharacterItem)target.GetComponentInChildren<WeaponItem>()).Entity.GUID.m_modID && !changing) { Call(); } } private void Start() { changing = false; } private void Call() { //IL_0057: 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_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) Unit component = ((Component)((Component)this).transform.root).GetComponent<Unit>(); changing = true; Holdable rightObject = component.holdingHandler.rightObject; Holdable leftObject = component.holdingHandler.leftObject; component.holdingHandler.LetGoOfAll(); Object.Destroy((Object)(object)((Component)rightObject).gameObject); Object.Destroy((Object)(object)((Component)leftObject).gameObject); component.unitBlueprint.SetWeapon(component, component.Team, target, (PropItemData)null, (HandType)0, ((Component)component.data.mainRig).transform.rotation, new List<GameObject>(), false); component.holdingHandler.rightHandActivity = (HandActivity)1; component.unitBlueprint.SetWeapon(component, component.Team, target, (PropItemData)null, (HandType)1, ((Component)component.data.mainRig).transform.rotation, new List<GameObject>(), false); component.holdingHandler.leftHandActivity = (HandActivity)2; component.data.weaponHandler.fistRefernce = null; component.m_AttackDistance = ((Weapon)target.GetComponentInChildren<MeleeWeapon>()).maxRange; component.m_PreferedDistance = ((Weapon)target.GetComponentInChildren<MeleeWeapon>()).maxRange + 0.5f; component.api.UpdateECSValues(); changing = false; } } namespace MULTIVERSE { public static class PaoPaoDatas { public static class Tools { public static class Debug { public static void Log(object con) { if (Dev_mode) { Debug.Log(con); } } public static void LogWarning(object con) { if (Dev_mode) { Debug.LogWarning(con); } } public static void LogError(object con) { if (Dev_mode) { Debug.LogError(con); } } } } public static class HiddenWeapons { public static List<SecretUnlock> unlocks = new List<SecretUnlock>(); public static List<string> scences = new List<string>(); public static Dictionary<string, GameObject[]> secrets = new Dictionary<string, GameObject[]>(); public static void LoadAssets(AssetBundle bundle) { Tools.Debug.Log(((Object)bundle).name); Tools.Debug.Log(bundle.LoadAllAssets<SecretUnlock>().Length); GameObject[] array = bundle.LoadAllAssets<GameObject>(); foreach (GameObject val in array) { if (Object.op_Implicit((Object)(object)val.GetComponent<SecretUnlock>())) { SecretUnlock component = val.GetComponent<SecretUnlock>(); unlocks.Add(component); Tools.Debug.Log(((Object)((Component)component).gameObject).name); string[] array2 = ((Object)((Component)component).gameObject).name.Split(new string[1] { "#" }, StringSplitOptions.RemoveEmptyEntries); ((Object)((Component)component).gameObject).name = array2[1]; if (!scences.Contains(array2[0])) { scences.Add(array2[0]); } if (secrets.ContainsKey(array2[0])) { List<GameObject> list = secrets[array2[0]].ToList(); list.Add(((Component)component).gameObject); secrets[array2[0]] = list.ToArray(); } else { secrets.Add(array2[0], (GameObject[])(object)new GameObject[1] { ((Component)component).gameObject }); } } } } } public static class UnitBasesData { public static List<Unit> bases = new List<Unit>(); } public static class ClothesData { public static Dictionary<string, GameObject> clothes = new Dictionary<string, GameObject>(); public static Dictionary<string, UnitBlueprint> clothesprint = new Dictionary<string, UnitBlueprint>(); } public static Dictionary<string, AssetBundle> bundlepools = new Dictionary<string, AssetBundle>(); public static bool Dev_mode = true; public static AssetBundle GetAssetBundle(string name) { if (name == null) { return null; } if (bundlepools.ContainsKey(name)) { return bundlepools[name]; } return null; } public static void AddAssetBundle(string name, AssetBundle bundle) { if (name != null && !((Object)(object)bundle == (Object)null)) { if (bundlepools.ContainsKey(name)) { bundlepools.Add(name + "-", bundle); } else { bundlepools.Add(name, bundle); } } } } } [HarmonyPatch(typeof(CollisionWeapon), "OnCollisionEnter")] internal class WeaponPatch { [HarmonyPrefix] public static bool Prefix(CollisionWeapon __instance, Collision collision, ref MeleeWeapon ___meleeWeapon, ref Rigidbody ___rig, ref DataHandler ___connectedData) { //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)((Component)__instance).GetComponentInChildren<SpSword>()) && Object.op_Implicit((Object)(object)collision.gameObject.GetComponentInParent<Unit>()) && Object.op_Implicit((Object)(object)((Component)collision.gameObject.GetComponentInParent<Unit>()).GetComponentInChildren<SuperArmor>()) && ((Component)collision.gameObject.GetComponentInParent<Unit>()).GetComponentInChildren<SuperArmor>().armorhealth >= __instance.damage && ((Component)__instance).GetComponentInParent<Unit>().Team != collision.gameObject.GetComponentInParent<Unit>().Team) { ___meleeWeapon.StopSwing(); } return true; } } [HarmonyPatch(typeof(ProjectileHit), "Hit")] internal class ProjectilePatch { [HarmonyPrefix] public static bool Prefix(ProjectileHit __instance, RaycastHit sentHit, float multiplier, ref MoveTransform ___move, ref RaycastTrail ___trail, ref TeamHolder ___teamHolder) { //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006f: 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_0088: 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 (Object.op_Implicit((Object)(object)((Component)((RaycastHit)(ref sentHit)).transform).gameObject.GetComponentInParent<Unit>()) && Object.op_Implicit((Object)(object)((Component)((Component)((RaycastHit)(ref sentHit)).transform).gameObject.GetComponentInParent<Unit>()).GetComponentInChildren<SuperArmor>()) && ((Component)((Component)((RaycastHit)(ref sentHit)).transform).gameObject.GetComponentInParent<Unit>()).GetComponentInChildren<SuperArmor>().armorhealth >= __instance.damage) { if (Object.op_Implicit((Object)(object)___move)) { ___move.velocity = Vector3.Reflect(___move.velocity, ((RaycastHit)(ref sentHit)).normal) * Random.Range(0.2f, 0.4f); } if (Object.op_Implicit((Object)(object)___trail)) { ___trail.ignoredFrames = 3; } return false; } return true; } } public class SuperArmor : MonoBehaviour { public float armorhealth; } public class TimeReBei : MonoBehaviour { private List<Vector3> vector3 = new List<Vector3>(); private List<Quaternion> quaternions = new List<Quaternion>(); private List<Vector3> local = new List<Vector3>(); public bool retime; public void Update() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) if (!retime) { vector3.Add(((Component)this).gameObject.transform.position); quaternions.Add(((Component)this).transform.rotation); local.Add(((Component)this).transform.localScale); return; } int num = Mathf.CeilToInt(5f); for (int i = 0; i < num; i++) { if (vector3.Count < 1 || quaternions.Count < 1 || local.Count < 1) { vector3.Clear(); quaternions.Clear(); local.Clear(); retime = false; break; } ((Component)this).transform.position = vector3[vector3.Count - 1]; vector3.RemoveAt(vector3.Count - 1); ((Component)this).transform.rotation = quaternions[quaternions.Count - 1]; quaternions.RemoveAt(quaternions.Count - 1); ((Component)this).transform.localScale = local[local.Count - 1]; local.RemoveAt(local.Count - 1); } } } public class TimeRepeater : Move { private Unit unit; private TeamSystem m_teamSystem; private List<Unit> m_allUnits; private Dictionary<Team, List<Unit>> m_teamUnits; private Dictionary<Team, List<Unit>> m_winConditionUnits; public int retime; public void Start() { unit = ((Component)this).GetComponentInParent<Unit>(); m_teamSystem = World.Active.GetOrCreateManager<TeamSystem>(); m_allUnits = (List<Unit>)s.GetField<TeamSystem>(m_teamSystem, "m_allUnits"); m_teamUnits = (Dictionary<Team, List<Unit>>)s.GetField<TeamSystem>(m_teamSystem, "m_teamUnits"); m_winConditionUnits = (Dictionary<Team, List<Unit>>)s.GetField<TeamSystem>(m_teamSystem, "m_winConditionUnits"); unit.data.healthHandler.willBeRewived = true; unit.data.healthHandler.AddDieAction((Action)TimeRe); Rigidbody[] componentsInChildren = ((Component)unit).GetComponentsInChildren<Rigidbody>(); for (int i = 0; i < componentsInChildren.Length; i++) { ((Component)componentsInChildren[i]).gameObject.AddComponent<TimeReBei>(); } } public override void DoMove(Rigidbody enemyWeapon, Rigidbody enemyTorso, DataHandler targetData) { throw new NotImplementedException(); } private void PreventGameEnd() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) if (m_winConditionUnits.ContainsKey(unit.Team)) { m_winConditionUnits[unit.Team].Add(unit); } } private void FixUnitFromTeamSystem() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) if (m_winConditionUnits.ContainsKey(unit.Team)) { List<Unit> list = m_winConditionUnits[unit.Team]; while (list.Contains(unit)) { list.Remove(unit); } } bool flag = m_winConditionUnits.ContainsKey((Team)0) && m_winConditionUnits[(Team)0].Count != 0; bool flag2 = m_winConditionUnits.ContainsKey((Team)1) && m_winConditionUnits[(Team)1].Count != 0; SetOnlyOneTeamAlive(flag != flag2); } private void SetOnlyOneTeamAlive(bool flag) { PropertyInfo property = typeof(TeamSystem).GetProperty("OnlyOneTeamAlive", (BindingFlags)(-1)); if (property != null) { property.SetValue(m_teamSystem, flag); } } private void TimeRe() { //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) if (retime < 3) { PreventGameEnd(); unit.data.hasBeenRevived = true; unit.data.healthHandler.willBeRewived = false; ServiceLocator.GetService<GameModeService>().CurrentGameMode.OnUnitDied(unit); unit.dead = true; unit.data.Dead = true; ((MonoBehaviour)this).StartCoroutine_Auto(SpawnStage()); return; } unit.data.hasBeenRevived = true; unit.data.healthHandler.willBeRewived = false; ServiceLocator.GetService<GameModeService>().CurrentGameMode.OnUnitDied(unit); unit.dead = true; unit.data.Dead = true; if (m_winConditionUnits.ContainsKey(unit.Team)) { List<Unit> list = m_winConditionUnits[unit.Team]; while (list.Contains(unit)) { list.Remove(unit); } } FixUnitFromTeamSystem(); } private IEnumerator SpawnStage() { ((Component)this).GetComponentInChildren<PlaySoundEffect>().Go(); Rigidbody[] componentsInChildren = ((Component)unit).GetComponentsInChildren<Rigidbody>(); for (int i = 0; i < componentsInChildren.Length; i++) { if (Object.op_Implicit((Object)(object)((Component)componentsInChildren[i]).gameObject.GetComponent<TimeReBei>())) { ((Component)componentsInChildren[i]).gameObject.GetComponent<TimeReBei>().retime = true; } } ((Component)unit).gameObject.AddComponent<ColorSwitch>().SwitchColor(); yield return (object)new WaitForSeconds(2f); Rigidbody[] componentsInChildren2 = ((Component)unit).GetComponentsInChildren<Rigidbody>(); for (int j = 0; j < componentsInChildren2.Length; j++) { if (Object.op_Implicit((Object)(object)((Component)componentsInChildren2[j]).gameObject.GetComponent<TimeReBei>())) { ((Component)componentsInChildren2[j]).gameObject.GetComponent<TimeReBei>().retime = false; } } Object.Destroy((Object)(object)((Component)unit).gameObject.GetComponent<ColorSwitch>()); Unit component = unit.unitBlueprint.Spawn(unit.data.mainRig.position, ((Component)unit).transform.rotation, unit.Team, 1f, (UnitPoolInfo?)null)[0].GetComponent<Unit>(); Rigidbody[] allRigs = component.data.allRigs.AllRigs; Rigidbody[] allRigs2 = unit.data.allRigs.AllRigs; for (int k = 0; k < allRigs.Length; k++) { allRigs[k].position = allRigs2[k].position; ((Component)allRigs[k]).transform.localScale = ((Component)allRigs2[k]).transform.localScale; allRigs[k].rotation = allRigs2[k].rotation; } ParticleSystem[] componentsInChildren3 = ((Component)((Component)component).gameObject.transform.Find("SpawnEffects")).GetComponentsInChildren<ParticleSystem>(); for (int l = 0; l < componentsInChildren3.Length; l++) { componentsInChildren3[l].maxParticles = 0; } retime++; ((Component)component).GetComponentInChildren<TimeRepeater>().retime = retime; Object.Destroy((Object)(object)((Component)unit).gameObject); } } [RequireComponent(typeof(MoveTransform), typeof(SpellTarget))] public class MagicProjectiel : MonoBehaviour { private MoveTransform move; public Transform upTarget; public float minRot = 300f; public float maxRot = 700f; public float drag = 15f; public float force = 50f; public float upForce = 200f; public AnimationCurve upForceOverRange; public AnimationCurve upForceOverTimes; public AnimationCurve dragOverTime; public AnimationCurve forceOverTime; public float preditction; private float rot; private float counter; private SpellTarget target; private string 作者 = ""; private void Start() { //IL_002e: 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) 作者 = "by Fhp史莱姆"; rot = Random.Range(minRot, maxRot); upTarget.Rotate(((Component)this).transform.forward * Random.Range(0f, 360f), (Space)0); move = ((Component)((Component)this).transform.root).GetComponent<MoveTransform>(); target = ((Component)((Component)this).transform.root).GetComponent<SpellTarget>(); } private void Update() { //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_019b: