using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using DM;
using HarmonyLib;
using Landfall.TABS;
using SLMA;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Mod name")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("made in SFT 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 Longrangeprojectile
{
public static class UManager
{
public static string modname;
public static string modder;
private static string com;
static UManager()
{
modname = "SFT";
modder = "FhpSlime";
}
public static void SetRiders(UnitBlueprint me, UnitBlueprint[] riders)
{
s.SetField<UnitBlueprint>(me, "Riders", (object)riders);
}
public static void EditBlueprint(UnitBlueprint unit, LandfallContentDatabase db)
{
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Expected O, but got Unknown
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Expected O, but got Unknown
if (unit.Entity.Name == "傻逼")
{
unit.health = 114.514f;
unit.holdinigWithTwoHands = false;
SLMATool.UnitCost(unit, 320);
unit.RightWeapon = (GameObject)SLMALoader.SDic["weapons"]["M16 - Automatic"];
unit.LeftWeapon = (GameObject)SLMALoader.SDic["weapons"]["M16 - Automatic"];
SetRiders(unit, (UnitBlueprint[])(object)new UnitBlueprint[1] { SLMATool.super组<UnitBlueprint>("傻逼")[2] });
}
}
public static void EditClothes(GameObject cloth, CharacterItem item, PropItemData data, Unit unit, int index, LandfallContentDatabase db)
{
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Expected O, but got Unknown
Debug.Log((object)"Hey");
if (unit.unitBlueprint.Entity.Name == "unit name")
{
Renderer[] componentsInChildren = cloth.GetComponentsInChildren<Renderer>();
for (int i = 0; i < componentsInChildren.Length; i++)
{
componentsInChildren[i].materials = (Material[])(object)new Material[1] { (Material)SLMALoader.SDic["materials"]["Glow_Neon_Green_143734"] };
}
}
}
public static void EditProjectiles(GameObject proj, ProjectileHit projhit, Unit unit, LandfallContentDatabase db)
{
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
if (unit.unitBlueprint.Entity.Name == "unit name")
{
Transform transform = proj.transform;
transform.localScale *= 3f;
}
}
public static void EditCombatMoves(GameObject move, int index, Unit unit, LandfallContentDatabase db)
{
//IL_004e: 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_0064: 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)
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: 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_0095: Unknown result type (might be due to invalid IL or missing references)
//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
//IL_00ba: Expected O, but got Unknown
if (unit.unitBlueprint.Entity.Name == "unit name" && Object.op_Implicit((Object)(object)move.GetComponentInChildren<DodgeMove>()))
{
move.GetComponentInChildren<DodgeMove>().moves[0].forceCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[5]
{
new Keyframe(0f, 1f),
new Keyframe(1f, -2f),
new Keyframe(2f, 5f),
new Keyframe(6f, -16f),
new Keyframe(8f, 0f)
});
}
}
public static void CodeAfterSpawn(Unit unit, LandfallContentDatabase db)
{
//IL_0028: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
if (unit.unitBlueprint.Entity.Name == "unit name")
{
Transform head = unit.data.head;
head.localScale *= 2f;
}
}
public static void Init(LandfallContentDatabase db)
{
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_0055: Expected O, but got Unknown
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
//IL_00a0: Expected O, but got Unknown
//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
//IL_00eb: Expected O, but got Unknown
//IL_010f: Unknown result type (might be due to invalid IL or missing references)
//IL_0123: Expected O, but got Unknown
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
//IL_01ba: Expected O, but got Unknown
//IL_023d: Unknown result type (might be due to invalid IL or missing references)
//IL_0251: Expected O, but got Unknown
//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
//IL_02d3: Expected O, but got Unknown
//IL_0365: Unknown result type (might be due to invalid IL or missing references)
//IL_0379: Expected O, but got Unknown
//IL_03d0: Unknown result type (might be due to invalid IL or missing references)
//IL_03e4: Expected O, but got Unknown
//IL_0426: Unknown result type (might be due to invalid IL or missing references)
//IL_043a: Expected O, but got Unknown
//IL_044e: Unknown result type (might be due to invalid IL or missing references)
//IL_047b: Unknown result type (might be due to invalid IL or missing references)
//IL_048f: Expected O, but got Unknown
//IL_04e4: Unknown result type (might be due to invalid IL or missing references)
//IL_0511: Unknown result type (might be due to invalid IL or missing references)
//IL_0525: Expected O, but got Unknown
//IL_0567: Unknown result type (might be due to invalid IL or missing references)
//IL_057b: Expected O, but got Unknown
//IL_05bd: Unknown result type (might be due to invalid IL or missing references)
//IL_05d1: Expected O, but got Unknown
//IL_0613: Unknown result type (might be due to invalid IL or missing references)
//IL_0627: Expected O, but got Unknown
//IL_0669: Unknown result type (might be due to invalid IL or missing references)
//IL_067d: Expected O, but got Unknown
//IL_06bf: Unknown result type (might be due to invalid IL or missing references)
//IL_06d3: Expected O, but got Unknown
//IL_0715: Unknown result type (might be due to invalid IL or missing references)
//IL_0729: Expected O, but got Unknown
//IL_076b: Unknown result type (might be due to invalid IL or missing references)
//IL_077f: Expected O, but got Unknown
//IL_07c1: Unknown result type (might be due to invalid IL or missing references)
//IL_07d5: Expected O, but got Unknown
//IL_0817: Unknown result type (might be due to invalid IL or missing references)
//IL_082b: Expected O, but got Unknown
//IL_086d: Unknown result type (might be due to invalid IL or missing references)
//IL_0881: Expected O, but got Unknown
//IL_08c3: Unknown result type (might be due to invalid IL or missing references)
//IL_08d7: Expected O, but got Unknown
//IL_0919: Unknown result type (might be due to invalid IL or missing references)
//IL_092d: Expected O, but got Unknown
//IL_096f: Unknown result type (might be due to invalid IL or missing references)
//IL_0983: Expected O, but got Unknown
//IL_09c5: Unknown result type (might be due to invalid IL or missing references)
//IL_09d9: Expected O, but got Unknown
//IL_0a1b: Unknown result type (might be due to invalid IL or missing references)
//IL_0a2f: Expected O, but got Unknown
//IL_0a71: Unknown result type (might be due to invalid IL or missing references)
//IL_0a85: Expected O, but got Unknown
//IL_0ac7: Unknown result type (might be due to invalid IL or missing references)
//IL_0adb: Expected O, but got Unknown
//IL_0b1d: Unknown result type (might be due to invalid IL or missing references)
//IL_0b31: Expected O, but got Unknown
//IL_0b73: Unknown result type (might be due to invalid IL or missing references)
//IL_0b87: Expected O, but got Unknown
//IL_0bc9: Unknown result type (might be due to invalid IL or missing references)
//IL_0bdd: Expected O, but got Unknown
//IL_0c1f: Unknown result type (might be due to invalid IL or missing references)
//IL_0c33: Expected O, but got Unknown
//IL_0c75: Unknown result type (might be due to invalid IL or missing references)
//IL_0c89: Expected O, but got Unknown
//IL_0ccb: Unknown result type (might be due to invalid IL or missing references)
//IL_0cdf: Expected O, but got Unknown
//IL_0d21: Unknown result type (might be due to invalid IL or missing references)
//IL_0d35: Expected O, but got Unknown
//IL_0d77: Unknown result type (might be due to invalid IL or missing references)
//IL_0d8b: Expected O, but got Unknown
//IL_0dcd: Unknown result type (might be due to invalid IL or missing references)
//IL_0de1: Expected O, but got Unknown
//IL_0e23: Unknown result type (might be due to invalid IL or missing references)
//IL_0e37: Expected O, but got Unknown
//IL_0e79: Unknown result type (might be due to invalid IL or missing references)
//IL_0e8d: Expected O, but got Unknown
//IL_0ecf: Unknown result type (might be due to invalid IL or missing references)
//IL_0ee3: Expected O, but got Unknown
//IL_0f25: Unknown result type (might be due to invalid IL or missing references)
//IL_0f39: Expected O, but got Unknown
//IL_0f7b: Unknown result type (might be due to invalid IL or missing references)
//IL_0f8f: Expected O, but got Unknown
//IL_0fd1: Unknown result type (might be due to invalid IL or missing references)
//IL_0fe5: Expected O, but got Unknown
//IL_1027: Unknown result type (might be due to invalid IL or missing references)
//IL_103b: Expected O, but got Unknown
//IL_107d: Unknown result type (might be due to invalid IL or missing references)
//IL_1091: Expected O, but got Unknown
//IL_10d3: Unknown result type (might be due to invalid IL or missing references)
//IL_10e7: Expected O, but got Unknown
//IL_1129: Unknown result type (might be due to invalid IL or missing references)
//IL_113d: Expected O, but got Unknown
//IL_117f: Unknown result type (might be due to invalid IL or missing references)
//IL_1193: Expected O, but got Unknown
//IL_11d5: Unknown result type (might be due to invalid IL or missing references)
//IL_11e9: Expected O, but got Unknown
//IL_122b: Unknown result type (might be due to invalid IL or missing references)
//IL_123f: Expected O, but got Unknown
//IL_12d1: Unknown result type (might be due to invalid IL or missing references)
//IL_12e5: Expected O, but got Unknown
//IL_1377: Unknown result type (might be due to invalid IL or missing references)
//IL_138b: Expected O, but got Unknown
com = "——————————Fations and Units——————————";
com = "——————————Clothes——————————";
com = "——————————Weapons——————————";
UPool.MyPool.AddObject("较准距离投石1", (GameObject)SLMALoader.SDic["projectiles"]["B_CatapultRock"], true, (HideFlags)52, (Sprite)null, 197441, true).GetComponentInChildren<AddForce>().force.z = 27.25f;
UPool.MyPool.AddObject("超远距离投石2", (GameObject)SLMALoader.SDic["projectiles"]["B_CatapultRock"], true, (HideFlags)52, (Sprite)null, 1000101, true).GetComponentInChildren<AddForce>().force.z = 32f;
UPool.MyPool.AddObject("子弹C4", (GameObject)SLMALoader.SDic["projectiles"]["P_BulletGrenade"], true, (HideFlags)52, (Sprite)null, 2977411, true);
GameObject obj = UPool.MyPool.AddObject("较准距离投石", (GameObject)SLMALoader.SDic["weapons"]["CatapultRock"], true, (HideFlags)52, (Sprite)null, 211, true);
((Weapon)obj.GetComponentInChildren<RangeWeapon>()).maxRange = 15000f;
obj.GetComponentInChildren<RangeWeapon>().clampRange = 100000f;
obj.GetComponentInChildren<RangeWeapon>().force = 4.5f;
ChineseLibrary.设置子弹(obj, UPool.MyPool.GetObject("较准距离投石1"));
((Weapon)obj.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 100f;
((Weapon)obj.GetComponentInChildren<RangeWeapon>()).useTargetingWhenPossessed = true;
GameObject obj2 = UPool.MyPool.AddObject("最远距离投石", (GameObject)SLMALoader.SDic["weapons"]["CatapultRock"], true, (HideFlags)52, (Sprite)null, 11232211, true);
((Weapon)obj2.GetComponentInChildren<RangeWeapon>()).maxRange = 15000f;
obj2.GetComponentInChildren<RangeWeapon>().clampRange = 100000f;
obj2.GetComponentInChildren<RangeWeapon>().force = 4.5f;
ChineseLibrary.设置子弹(obj2, UPool.MyPool.GetObject("超远距离投石2"));
((Weapon)obj2.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 100f;
((Weapon)obj2.GetComponentInChildren<RangeWeapon>()).useTargetingWhenPossessed = true;
GameObject obj3 = UPool.MyPool.AddObject("往下投石", (GameObject)SLMALoader.SDic["weapons"]["CatapultRock"], true, (HideFlags)52, (Sprite)null, 11211, true);
((Weapon)obj3.GetComponentInChildren<RangeWeapon>()).maxRange = 15000f;
obj3.GetComponentInChildren<RangeWeapon>().clampRange = 100000f;
obj3.GetComponentInChildren<RangeWeapon>().force = -1f;
((Weapon)obj3.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 100f;
((Weapon)obj3.GetComponentInChildren<RangeWeapon>()).useTargetingWhenPossessed = true;
GameObject obj4 = UPool.MyPool.AddObject("弓箭", (GameObject)SLMALoader.SDic["projectiles"]["P_Bow"], true, (HideFlags)52, (Sprite)null, 2001, true);
obj4.GetComponentInChildren<MoveTransform>().gravity = 0f;
obj4.GetComponentInChildren<RaycastTrail>().radius = 1000f;
obj4.GetComponentInChildren<Compensation>().rangePow = -0.1f;
obj4.GetComponentInChildren<ProjectileStick>().minWeight = -100f;
obj4.GetComponentInChildren<ProjectileHit>().hitStop = 25f;
obj4.GetComponentInChildren<ProjectileHit>().setSpeedOnHit = 100f;
obj4.GetComponentInChildren<MoveTransform>().drag = 0f;
GameObject obj5 = UPool.MyPool.AddObject("超远弓", (GameObject)SLMALoader.SDic["weapons"]["Bow"], true, (HideFlags)52, (Sprite)null, 2111, true);
((Weapon)obj5.GetComponentInChildren<RangeWeapon>()).maxRange = 800f;
obj5.GetComponentInChildren<RangeWeapon>().force = -1f;
ChineseLibrary.设置子弹(obj5, UPool.MyPool.GetObject("弓箭"));
GameObject obj6 = UPool.MyPool.AddObject("远射火枪", (GameObject)SLMALoader.SDic["weapons"]["Musket"], true, (HideFlags)52, (Sprite)null, 211111, true);
((Weapon)obj6.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+12f;
((Weapon)obj6.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 1000f;
UPool.MyPool.AddObject("碎石1", (GameObject)SLMALoader.SDic["projectiles"]["B_Boulder"], true, (HideFlags)52, (Sprite)null, 123411, true).transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
GameObject obj7 = UPool.MyPool.AddObject("碎石", (GameObject)SLMALoader.SDic["weapons"]["Thrower_Boulder"], true, (HideFlags)52, (Sprite)null, 211011, true);
((Weapon)obj7.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 1000f;
obj7.GetComponentInChildren<RangeWeapon>().force = -1f;
ChineseLibrary.设置子弹(obj7, UPool.MyPool.GetObject("碎石1"));
obj7.GetComponentInChildren<RangeWeapon>().numberOfObjects = 3;
obj7.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
GameObject obj8 = UPool.MyPool.AddObject("M16-L", (GameObject)SLMALoader.SDic["weapons"]["M16"], true, (HideFlags)52, (Sprite)null, 215011, true);
((Weapon)obj8.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj8.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj9 = UPool.MyPool.AddObject("AA-12-L", (GameObject)SLMALoader.SDic["weapons"]["AA-12"], true, (HideFlags)52, (Sprite)null, 2787511, true);
((Weapon)obj9.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj9.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj10 = UPool.MyPool.AddObject("AK47-L", (GameObject)SLMALoader.SDic["weapons"]["AK-47"], true, (HideFlags)52, (Sprite)null, 2497411, true);
((Weapon)obj10.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj10.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj11 = UPool.MyPool.AddObject("Arnold-L", (GameObject)SLMALoader.SDic["weapons"]["Arnold"], true, (HideFlags)52, (Sprite)null, 2497511, true);
((Weapon)obj11.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj11.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj12 = UPool.MyPool.AddObject("AUG-L", (GameObject)SLMALoader.SDic["weapons"]["AUG"], true, (HideFlags)52, (Sprite)null, 2497611, true);
((Weapon)obj12.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj12.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj13 = UPool.MyPool.AddObject("Garand-L", (GameObject)SLMALoader.SDic["weapons"]["Garand"], true, (HideFlags)52, (Sprite)null, 2497711, true);
((Weapon)obj13.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj13.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj14 = UPool.MyPool.AddObject("Famas-L", (GameObject)SLMALoader.SDic["weapons"]["Famas"], true, (HideFlags)52, (Sprite)null, 2398711, true);
((Weapon)obj14.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj14.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj15 = UPool.MyPool.AddObject("Barrett-L", (GameObject)SLMALoader.SDic["weapons"]["Barrett"], true, (HideFlags)52, (Sprite)null, 2798711, true);
((Weapon)obj15.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj15.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj16 = UPool.MyPool.AddObject("Beretta 93R-L", (GameObject)SLMALoader.SDic["weapons"]["Beretta 93R"], true, (HideFlags)52, (Sprite)null, 2998711, true);
((Weapon)obj16.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj16.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj17 = UPool.MyPool.AddObject("Crossbow_Compound-L", (GameObject)SLMALoader.SDic["weapons"]["Crossbow_Compound"], true, (HideFlags)52, (Sprite)null, 2498711, true);
((Weapon)obj17.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj17.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj18 = UPool.MyPool.AddObject("Desert Eagle-L", (GameObject)SLMALoader.SDic["weapons"]["Desert Eagle"], true, (HideFlags)52, (Sprite)null, 2698712, true);
((Weapon)obj18.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj18.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj19 = UPool.MyPool.AddObject("DoubleBarrel-L", (GameObject)SLMALoader.SDic["weapons"]["DoubleBarrel"], true, (HideFlags)52, (Sprite)null, 2998712, true);
((Weapon)obj19.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj19.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj20 = UPool.MyPool.AddObject("Glock18-L", (GameObject)SLMALoader.SDic["weapons"]["Glock18"], true, (HideFlags)52, (Sprite)null, 29486512, true);
((Weapon)obj20.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj20.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj21 = UPool.MyPool.AddObject("HandCannon-L", (GameObject)SLMALoader.SDic["weapons"]["HandCannon"], true, (HideFlags)52, (Sprite)null, 297776512, true);
((Weapon)obj21.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj21.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj22 = UPool.MyPool.AddObject("Kar98k-L", (GameObject)SLMALoader.SDic["weapons"]["Kar98k"], true, (HideFlags)52, (Sprite)null, 29787512, true);
((Weapon)obj22.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj22.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj23 = UPool.MyPool.AddObject("Luger-L", (GameObject)SLMALoader.SDic["weapons"]["Luger"], true, (HideFlags)52, (Sprite)null, 2977514, true);
((Weapon)obj23.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj23.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj24 = UPool.MyPool.AddObject("M14-L", (GameObject)SLMALoader.SDic["weapons"]["M14"], true, (HideFlags)52, (Sprite)null, 2978702, true);
((Weapon)obj24.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj24.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj25 = UPool.MyPool.AddObject("M16 - Automatic-L", (GameObject)SLMALoader.SDic["weapons"]["M16 - Automatic"], true, (HideFlags)52, (Sprite)null, 3078702, true);
((Weapon)obj25.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj25.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj26 = UPool.MyPool.AddObject("M1911-L", (GameObject)SLMALoader.SDic["weapons"]["M1911"], true, (HideFlags)52, (Sprite)null, 3075702, true);
((Weapon)obj26.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj26.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj27 = UPool.MyPool.AddObject("M2-Browning-L", (GameObject)SLMALoader.SDic["weapons"]["M2-Browning"], true, (HideFlags)52, (Sprite)null, 3455702, true);
((Weapon)obj27.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj27.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj28 = UPool.MyPool.AddObject("MAC-10-L", (GameObject)SLMALoader.SDic["weapons"]["MAC-10"], true, (HideFlags)52, (Sprite)null, 3855702, true);
((Weapon)obj28.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj28.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj29 = UPool.MyPool.AddObject("Mg-42-L", (GameObject)SLMALoader.SDic["weapons"]["Mg-42"], true, (HideFlags)52, (Sprite)null, 652702, true);
((Weapon)obj29.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj29.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj30 = UPool.MyPool.AddObject("MGL-L", (GameObject)SLMALoader.SDic["weapons"]["MGL"], true, (HideFlags)52, (Sprite)null, 652802, true);
((Weapon)obj30.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj30.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj31 = UPool.MyPool.AddObject("Minigun-L", (GameObject)SLMALoader.SDic["weapons"]["Minigun"], true, (HideFlags)52, (Sprite)null, 114802, true);
((Weapon)obj31.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj31.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj32 = UPool.MyPool.AddObject("Mossberg-L", (GameObject)SLMALoader.SDic["weapons"]["Mossberg"], true, (HideFlags)52, (Sprite)null, 154802, true);
((Weapon)obj32.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj32.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj33 = UPool.MyPool.AddObject("Mp-40-L", (GameObject)SLMALoader.SDic["weapons"]["Mp-40"], true, (HideFlags)52, (Sprite)null, 164802, true);
((Weapon)obj33.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj33.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj34 = UPool.MyPool.AddObject("Mp5k-L", (GameObject)SLMALoader.SDic["weapons"]["Mp5k"], true, (HideFlags)52, (Sprite)null, 145802, true);
((Weapon)obj34.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj34.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj35 = UPool.MyPool.AddObject("P90-L", (GameObject)SLMALoader.SDic["weapons"]["P90"], true, (HideFlags)52, (Sprite)null, 121802, true);
((Weapon)obj35.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj35.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj36 = UPool.MyPool.AddObject("Ppsh-L", (GameObject)SLMALoader.SDic["weapons"]["Ppsh"], true, (HideFlags)52, (Sprite)null, 101802, true);
((Weapon)obj36.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj36.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj37 = UPool.MyPool.AddObject("Revolver_Python-L", (GameObject)SLMALoader.SDic["weapons"]["Revolver_Python"], true, (HideFlags)52, (Sprite)null, 107802, true);
((Weapon)obj37.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj37.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj38 = UPool.MyPool.AddObject("Bow_Snake-L", (GameObject)SLMALoader.SDic["weapons"]["Bow_Snake"], true, (HideFlags)52, (Sprite)null, 1054102, true);
((Weapon)obj38.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj38.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj39 = UPool.MyPool.AddObject("CatapultHwacha-L", (GameObject)SLMALoader.SDic["weapons"]["CatapultHwacha"], true, (HideFlags)52, (Sprite)null, 188782, true);
((Weapon)obj39.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj39.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj40 = UPool.MyPool.AddObject("Scar-L", (GameObject)SLMALoader.SDic["weapons"]["Scar"], true, (HideFlags)52, (Sprite)null, 17782, true);
((Weapon)obj40.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj40.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj41 = UPool.MyPool.AddObject("Tec-9-L", (GameObject)SLMALoader.SDic["weapons"]["Tec-9"], true, (HideFlags)52, (Sprite)null, 121782, true);
((Weapon)obj41.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj41.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj42 = UPool.MyPool.AddObject("Thompson-L", (GameObject)SLMALoader.SDic["weapons"]["Thompson"], true, (HideFlags)52, (Sprite)null, 141782, true);
((Weapon)obj42.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj42.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj43 = UPool.MyPool.AddObject("Vector-L", (GameObject)SLMALoader.SDic["weapons"]["Vector"], true, (HideFlags)52, (Sprite)null, 142782, true);
((Weapon)obj43.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj43.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj44 = UPool.MyPool.AddObject("Vector_Automatic-L", (GameObject)SLMALoader.SDic["weapons"]["Vector_Automatic"], true, (HideFlags)52, (Sprite)null, 142792, true);
((Weapon)obj44.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj44.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj45 = UPool.MyPool.AddObject("Vss-L", (GameObject)SLMALoader.SDic["weapons"]["Vss"], true, (HideFlags)52, (Sprite)null, 145792, true);
((Weapon)obj45.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj45.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj46 = UPool.MyPool.AddObject("TANK-L", (GameObject)SLMALoader.SDic["weapons"]["Leg_TankShoot"], true, (HideFlags)52, (Sprite)null, 155492, true);
((Weapon)obj46.GetComponentInChildren<RangeWeapon>()).maxRange = 1E+14f;
((Weapon)obj46.GetComponentInChildren<RangeWeapon>()).attackSpeedM = 10000f;
GameObject obj47 = UPool.MyPool.AddObject("远射弹", (GameObject)SLMALoader.SDic["projectiles"]["P_M16"], true, (HideFlags)52, (Sprite)null, 254401, true);
obj47.GetComponentInChildren<MoveTransform>().gravity = 0f;
obj47.GetComponentInChildren<RaycastTrail>().radius = 1000f;
obj47.GetComponentInChildren<Compensation>().rangePow = -0.1f;
obj47.GetComponentInChildren<ProjectileStick>().minWeight = -100f;
obj47.GetComponentInChildren<ProjectileHit>().hitStop = 25f;
obj47.GetComponentInChildren<ProjectileHit>().setSpeedOnHit = 100f;
obj47.GetComponentInChildren<MoveTransform>().drag = 0f;
GameObject obj48 = UPool.MyPool.AddObject("远射榴弹", (GameObject)SLMALoader.SDic["projectiles"]["P_MGL_Grende-"], true, (HideFlags)52, (Sprite)null, 474401, true);
obj48.GetComponentInChildren<MoveTransform>().gravity = 0f;
obj48.GetComponentInChildren<RaycastTrail>().radius = 1000f;
obj48.GetComponentInChildren<Compensation>().rangePow = -0.1f;
obj48.GetComponentInChildren<ProjectileStick>().minWeight = -100f;
obj48.GetComponentInChildren<ProjectileHit>().hitStop = 25f;
obj48.GetComponentInChildren<ProjectileHit>().setSpeedOnHit = 100f;
obj48.GetComponentInChildren<MoveTransform>().drag = 0f;
GameObject obj49 = UPool.MyPool.AddObject("远射破甲弹", (GameObject)SLMALoader.SDic["projectiles"]["P_Winchester--"], true, (HideFlags)52, (Sprite)null, 564401, true);
obj49.GetComponentInChildren<MoveTransform>().gravity = 0f;
obj49.GetComponentInChildren<RaycastTrail>().radius = 1000f;
obj49.GetComponentInChildren<Compensation>().rangePow = -0.1f;
obj49.GetComponentInChildren<ProjectileStick>().minWeight = -100f;
obj49.GetComponentInChildren<ProjectileHit>().hitStop = 25f;
obj49.GetComponentInChildren<ProjectileHit>().setSpeedOnHit = 100f;
obj49.GetComponentInChildren<MoveTransform>().drag = 0f;
com = "——————————Effects——————————";
com = "——————————Explosions——————————";
com = "——————————UnitBases——————————";
com = "——————————Projectiles——————————";
com = "——————————Moves——————————";
}
public static void EditWeapons(GameObject weapon, Team team, Unit unit, MeleeWeapon melee, RangeWeapon range, LandfallContentDatabase db)
{
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Expected O, but got Unknown
Debug.Log((object)weapon);
if (unit.unitBlueprint.Entity.Name == "unit name")
{
MeshRenderer[] componentsInChildren = weapon.GetComponentsInChildren<MeshRenderer>();
for (int i = 0; i < componentsInChildren.Length; i++)
{
((Renderer)componentsInChildren[i]).materials = (Material[])(object)new Material[1] { (Material)SLMALoader.SDic["materials"]["Glow_Neon_Red_212484"] };
}
range.numberOfObjects = 3;
range.spread = 12f;
}
}
}
[BepInPlugin("modname", "modname", "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 class Item : MonoBehaviour
{
public enum kind
{
Weapon,
Cloth,
Skill,
Unit,
Projectile,
Other
}
public string name;
public kind Kind;
}
namespace Longrangeprojectile
{
public class MyModItems : MonoBehaviour
{
private static Dictionary<string, Item> items;
private static MyModItems instance { get; set; }
public static MyModItems GetInstance()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)instance == (Object)null)
{
instance = new GameObject("MyModItems").AddComponent<MyModItems>();
Object.DontDestroyOnLoad((Object)(object)instance);
}
return instance;
}
public void AddItem(Item item)
{
items.Add(item.name, item);
}
public Item GetItem(string name)
{
Item value = new Item
{
name = null,
Kind = Item.kind.Other
};
items.TryGetValue(name, out value);
return value;
}
}
}