using System;
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 BepInEx.Configuration;
using EntityStates;
using EntityStates.Mage;
using EntityStates.Merc;
using HG.Reflection;
using IL.RoR2;
using JetBrains.Annotations;
using KinematicCharacterController;
using Mono.Cecil.Cil;
using MonoMod.Cil;
using On.RoR2;
using On.RoR2.UI;
using R2API;
using R2API.Utils;
using Rewired;
using Rewired.ComponentControls.Effects;
using RoR2;
using RoR2.Achievements;
using RoR2.Navigation;
using RoR2.Projectile;
using RoR2.Skills;
using RoR2.UI;
using TMPro;
using Unity;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Networking;
using UnityEngine.Rendering;
using UnityEngine.Rendering.PostProcessing;
using UnityEngine.UI;
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: OptIn]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = "")]
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Sora")]
[assembly: AssemblyTitle("Sora")]
[assembly: AssemblyCompany("Sora")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Sora
{
public static class Achievements
{
[RegisterAchievement("SORA_UNLOCK", "ACHIEVEMENT_SORA_UNLOCK_UNLOCKABLE_ID", null, 10u, typeof(DefeatHeartlessSoraServerAchievement))]
public class SoraUnlockable : BaseAchievement
{
private class DefeatHeartlessSoraServerAchievement : BaseServerAchievement
{
private BodyIndex bodyIndex;
public override void OnInstall()
{
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0013: Unknown result type (might be due to invalid IL or missing references)
((BaseServerAchievement)this).OnInstall();
bodyIndex = BodyCatalog.FindBodyIndex("HeartlessSoraBody");
GlobalEventManager.onCharacterDeathGlobal += OnCharacterDeathGlobal;
Inventory.onServerItemGiven += Inventory_onServerItemGiven;
}
private void Inventory_onServerItemGiven(Inventory inventory, ItemIndex itemIndex, int count)
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0087: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Unknown result type (might be due to invalid IL or missing references)
//IL_008f: Unknown result type (might be due to invalid IL or missing references)
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
//IL_0099: Unknown result type (might be due to invalid IL or missing references)
//IL_00a0: Expected O, but got Unknown
//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
//IL_00d3: Expected O, but got Unknown
//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
//IL_00d5: Expected O, but got Unknown
CharacterMaster component = ((Component)inventory).GetComponent<CharacterMaster>();
if (itemIndex != Items.LunarSpecialReplacement.itemIndex || !Object.op_Implicit((Object)(object)component))
{
return;
}
CharacterBody body = component.GetBody();
if (!Object.op_Implicit((Object)(object)body) || !body.isPlayerControlled || !Object.op_Implicit((Object)(object)body.healthComponent))
{
return;
}
Transform spawnOnTarget;
MonsterSpawnDistance val;
if (Object.op_Implicit((Object)(object)TeleporterInteraction.instance))
{
spawnOnTarget = ((Component)TeleporterInteraction.instance).transform;
val = (MonsterSpawnDistance)1;
}
else
{
spawnOnTarget = body.coreTransform;
val = (MonsterSpawnDistance)2;
}
DirectorPlacementRule val2 = new DirectorPlacementRule
{
spawnOnTarget = spawnOnTarget,
placementMode = (PlacementMode)3
};
DirectorCore.GetMonsterSpawnDistance(val, ref val2.minDistance, ref val2.maxDistance);
DirectorSpawnRequest val3 = new DirectorSpawnRequest((SpawnCard)(object)Prefabs.shadowSpawnCard, val2, new Xoroshiro128Plus((ulong)body.healthComponent.health));
val3.teamIndexOverride = (TeamIndex)2;
val3.ignoreTeamMemberLimit = true;
CombatSquad combatSquad = null;
DirectorSpawnRequest val4 = val3;
val4.onSpawnedServer = (Action<SpawnResult>)Delegate.Combine(val4.onSpawnedServer, (Action<SpawnResult>)delegate(SpawnResult result)
{
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
if (!Object.op_Implicit((Object)(object)combatSquad))
{
combatSquad = Object.Instantiate<GameObject>(Prefabs.shadowEncounter).GetComponent<CombatSquad>();
}
combatSquad.AddMember(result.spawnedInstance.GetComponent<CharacterMaster>());
});
DirectorCore.instance.TrySpawnObject(val3);
if (Object.op_Implicit((Object)(object)combatSquad))
{
NetworkServer.Spawn(((Component)combatSquad).gameObject);
}
}
private void OnCharacterDeathGlobal(DamageReport damageReport)
{
//IL_0002: 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_0016: Invalid comparison between Unknown and I4
if (damageReport.victimBodyIndex == bodyIndex && (int)damageReport.victimTeamIndex == 1)
{
}
}
public override void OnUninstall()
{
GlobalEventManager.onCharacterDeathGlobal -= OnCharacterDeathGlobal;
Inventory.onServerItemGiven -= Inventory_onServerItemGiven;
((BaseServerAchievement)this).OnUninstall();
}
}
public override void OnInstall()
{
((BaseAchievement)this).OnInstall();
((BaseAchievement)this).SetServerTracked(true);
}
public override void OnUninstall()
{
((BaseAchievement)this).OnUninstall();
}
}
[RegisterAchievement("SORA_MASTERY", "ACHIEVEMENT_SORA_MASTERY_UNLOCKABLE_ID", null, 10u, null)]
public class MasteryUnlockable : BasePerSurvivorClearGameMonsoonAchievement
{
public override BodyIndex LookUpRequiredBodyIndex()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return BodyCatalog.FindBodyIndex("SoraBody");
}
}
internal static UnlockableDef soraUnlock;
internal static UnlockableDef masteryUnlock;
public static void RegisterUnlockables()
{
soraUnlock = NewUnlockable("UNLOCK", Assets.Load<Sprite>("portrait"), "Heartless", "Purify a heart succumbed to darkness.");
masteryUnlock = NewUnlockable("MASTERY", Assets.Load<Sprite>("RikuIcon"), "SORA: Mastery", "As Sora, beat the game or obliterate on Monsoon.");
}
private static UnlockableDef NewUnlockable(string AchievementIdentifier, Sprite Icon, string Title, string Description)
{
string text = "ACHIEVEMENT_SORA_";
UnlockableDef val = ScriptableObject.CreateInstance<UnlockableDef>();
string langName = text + AchievementIdentifier + "_NAME";
string langDesc = text + AchievementIdentifier + "_DESCRIPTION";
LanguageAPI.Add(langName, Title);
LanguageAPI.Add(langDesc, Description);
Func<string> func = () => Language.GetStringFormatted("UNLOCKED_FORMAT", new object[2]
{
Language.GetString(langName),
Language.GetString(langDesc)
});
val.cachedName = text + AchievementIdentifier + "_UNLOCKABLE_ID";
val.getHowToUnlockString = func;
val.getUnlockedString = func;
val.achievementIcon = Icon;
val.sortScore = 200;
val.hidden = false;
ContentAddition.AddUnlockableDef(val);
return val;
}
}
internal class Assets
{
public static AssetBundle MainAssetBundle;
public static T Load<T>(string name) where T : Object
{
return MainAssetBundle.LoadAsset<T>(name);
}
public static void PopulateAssets()
{
if ((Object)(object)MainAssetBundle == (Object)null)
{
using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Sora.soraassets");
MainAssetBundle = AssetBundle.LoadFromStream(stream);
}
using Stream stream2 = Assembly.GetExecutingAssembly().GetManifestResourceStream("Sora.Sora.bnk");
byte[] array = new byte[stream2.Length];
stream2.Read(array, 0, array.Length);
SoundBanks.Add(array);
}
}
internal class CrosshairBehaviour : CrosshairController
{
public Image[] Nibs;
public Image[] Magic;
public SoraBehaviour behaviour;
private void Start()
{
HudElement component = ((Component)this).GetComponent<HudElement>();
if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.targetBodyObject) && Util.HasEffectiveAuthority(component.targetBodyObject))
{
behaviour = component.targetBodyObject.GetComponent<SoraBehaviour>();
}
}
private void FixedUpdate()
{
if (Object.op_Implicit((Object)(object)behaviour))
{
for (int i = 0; i < Magic.Length; i++)
{
((Behaviour)Magic[i]).enabled = behaviour.currentMagic == i;
}
}
}
}
internal class DisplayAnimatorBehaviour : MonoBehaviour
{
private uint ID;
private void OnEnable()
{
//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
//IL_00d2: Expected O, but got Unknown
//IL_0075: 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_00b5: Unknown result type (might be due to invalid IL or missing references)
ID = AkSoundEngine.PostEvent(Sounds.Play_Sora_DearlyBeloved, ((Component)this).gameObject);
int num = RoR2Application.rng.RangeInt(0, 2);
((Component)this).GetComponent<Animator>().Play("Display" + num, 0);
GameObject gameObject = ((Component)((Component)this).GetComponentInChildren<Light>(true)).gameObject;
gameObject.SetActive(true);
if (num == 0)
{
((Component)this).transform.localPosition = new Vector3(0f, 0.7f, 0f);
((Component)this).transform.localRotation = Quaternion.Euler(0f, -45f, 0f);
gameObject.transform.localPosition = new Vector3(0f, 5.9f, 0f);
}
MusicController.LateUpdate += new Manipulator(MusicController_LateUpdate);
}
private void MusicController_LateUpdate(ILContext il)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Expected O, but got Unknown
ILCursor val = new ILCursor(il);
int num = default(int);
val.GotoNext(new Func<Instruction, bool>[1]
{
(Instruction i) => ILPatternMatchingExt.MatchStloc(i, ref num)
});
val.EmitDelegate<Func<bool, bool>>((Func<bool, bool>)((bool b) => true));
}
private void OnDisable()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
MusicController.LateUpdate -= new Manipulator(MusicController_LateUpdate);
AkSoundEngine.StopPlayingID(ID);
}
}
public class MPPickup : MonoBehaviour
{
public GameObject baseObject;
public TeamFilter teamFilter;
private void Awake()
{
teamFilter = ((Component)this).GetComponent<TeamFilter>();
}
private void OnTriggerStay(Collider collider)
{
SoraBehaviour component = ((Component)collider).GetComponent<SoraBehaviour>();
if (Object.op_Implicit((Object)(object)component))
{
component.AddMP(component.immunityMPGain);
EffectManager.SimpleMuzzleFlash(Prefabs.mpEffect, ((Component)collider).gameObject, "base", false);
Object.Destroy((Object)(object)baseObject);
}
}
}
internal class ProjectileGhostSkinBehaviour : MonoBehaviour
{
private ProjectileGhostController ghost;
private ProjectileController controller;
private GameObject owner;
private void OnEnable()
{
ghost = ((Component)this).GetComponent<ProjectileGhostController>();
}
private void FixedUpdate()
{
if (!Object.op_Implicit((Object)(object)controller) && Object.op_Implicit((Object)(object)ghost) && Object.op_Implicit((Object)(object)ghost.authorityTransform))
{
controller = ((Component)ghost.authorityTransform).GetComponent<ProjectileController>();
}
if (!Object.op_Implicit((Object)(object)ghost) || !Object.op_Implicit((Object)(object)controller) || Object.op_Implicit((Object)(object)owner))
{
return;
}
owner = controller.owner;
if (!Object.op_Implicit((Object)(object)owner))
{
return;
}
CharacterBody component = owner.GetComponent<CharacterBody>();
if (!Object.op_Implicit((Object)(object)component) || !Object.op_Implicit((Object)(object)component.modelLocator) || !Object.op_Implicit((Object)(object)component.modelLocator.modelTransform))
{
return;
}
CharacterModel component2 = ((Component)component.modelLocator.modelTransform).GetComponent<CharacterModel>();
if (Object.op_Implicit((Object)(object)component2))
{
Renderer renderer = component2.baseRendererInfos[1].renderer;
SkinnedMeshRenderer val = (SkinnedMeshRenderer)(object)((renderer is SkinnedMeshRenderer) ? renderer : null);
if (Object.op_Implicit((Object)(object)val))
{
SkinnedMeshRenderer componentInChildren = ((Component)this).GetComponentInChildren<SkinnedMeshRenderer>();
componentInChildren.sharedMesh = val.sharedMesh;
((Renderer)componentInChildren).material = ((Renderer)val).material;
}
}
}
}
internal class ProjectileLoopSound : MonoBehaviour
{
public string startSound;
public string loopSound;
public string endSound;
private uint ID;
private void Start()
{
AkSoundEngine.PostEvent(startSound, ((Component)this).gameObject);
ID = AkSoundEngine.PostEvent(loopSound, ((Component)this).gameObject);
}
private void OnDisable()
{
AkSoundEngine.StopPlayingID(ID);
AkSoundEngine.PostEvent(endSound, ((Component)this).gameObject);
}
}
internal class SoraBehaviour : NetworkBehaviour
{
private struct MagicSelection
{
public Transform transform;
public Image selection;
public bool active;
public float stopwatch;
public MagicSelection(Transform obj)
{
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
transform = obj;
selection = ((Component)obj).GetComponentsInChildren<Image>()[1];
active = obj.localPosition == new Vector3(110f, -25f);
stopwatch = 0f;
}
}
public bool isShadow = false;
public bool canExecute = true;
public bool canInterrupt = false;
public bool inRecovery = false;
public float mpValue = 1f;
public float recoveryStopwatch = 0f;
public GameObject mpBar;
public Image barImage;
public TextMeshProUGUI currentMP;
public Image portrait;
public Image mpIcon;
public Image hpIcon;
public Image healthBar;
public CharacterBody body;
private Animator animator;
private Transform health;
private Transform lv;
private Transform bars;
private GameObject uiSelection;
public Player player;
private AnimationCurve curve = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f);
public float recoveryDuration = 20f;
private Color mpColor = new Color(0.003921569f, 0.4470588f, 0.9215686f);
private Color recoveryColor = new Color(0.8823529f, 0.1529412f, 0.6235294f);
public float minCloseDistance = 11.5f;
public float minMeleeDistance = 9f;
public float selfForceMult = 2f;
public SpriteRenderer brackets;
public SpriteRenderer melee;
public SpriteRenderer ranged;
public SpriteRenderer close;
public SpriteRenderer lockOn;
public float immunityMPGain = 0.12f;
public float glideSpeed = 1.75f;
public float yVelocityDeacceleration = 4f;
public float glideyVelocityDeacceleration = 2.5f;
public float eeee = 7f;
public HurtBox target;
private readonly BullseyeSearch search = new BullseyeSearch();
private readonly SphereSearch sphereSearch = new SphereSearch();
private Indicator indicator;
public float maxTrackingAngle = 60f;
public float trackerUpdateFrequency = 10f;
public float maxTrackingDistance = 20f;
public float dodgeSpeed = 0.32f;
public float dashSpeed = 0.25f;
public float spreadBloom = 5f;
public float maxSpeedScaling = 20f;
public float maxSpeedMult = 3f;
private float trackerUpdateStopwatch;
public HurtBox lockedTarget;
public CameraRigController cameraRigController = null;
public SkillDef primary;
public SkillDef special;
private MagicSelection[] magicSelections;
public int currentMagic = 0;
public float[] magicCosts = new float[8] { 0.1f, 0.12f, 0.15f, 0.12f, 0.15f, 0.1f, 0.3f, 1.1f };
public Sprite[] magicIcons = (Sprite[])(object)new Sprite[8]
{
Prefabs.fireIcon,
Prefabs.blizzardIcon,
Prefabs.thunderIcon,
Prefabs.waterIcon,
Prefabs.windIcon,
Prefabs.reflectIcon,
Prefabs.magnetIcon,
Prefabs.cureIcon
};
private static int kCmdCmdUpdateAnimatorParameters;
private static int kRpcRpcUpdateAnimatorParameters;
private static int kCmdCmdLockTarget;
private static int kRpcRpcLockTarget;
private static int kRpcRpcAddMP;
private void Awake()
{
//IL_0028: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
search.minDistanceFilter = 0.01f;
maxTrackingAngle = 60f;
indicator = new Indicator(((Component)this).gameObject, Prefabs.aimIndicator);
}
private void SearchForTarget(Ray aimRay)
{
//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_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
search.teamMaskFilter = TeamMask.GetUnprotectedTeams(body.teamComponent.teamIndex);
search.filterByLoS = true;
search.searchOrigin = ((Ray)(ref aimRay)).origin;
search.searchDirection = ((Ray)(ref aimRay)).direction;
search.sortMode = (SortMode)1;
search.maxDistanceFilter = maxTrackingDistance;
search.maxAngleFilter = maxTrackingAngle;
search.RefreshCandidates();
search.FilterOutGameObject(((Component)this).gameObject);
search.FilterOutDeadEnemies();
target = search.GetResults().FirstOrDefault();
}
[Command]
public void CmdUpdateAnimatorParameters(string[] parameters, float[] values)
{
CallRpcUpdateAnimatorParameters(parameters, values);
}
[ClientRpc]
public void RpcUpdateAnimatorParameters(string[] parameters, float[] values)
{
if (Object.op_Implicit((Object)(object)animator) && !((NetworkBehaviour)this).isServer)
{
for (int i = 0; i < parameters.Length; i++)
{
animator.SetFloat(parameters[i], values[i]);
}
}
}
[Command]
public void CmdLockTarget()
{
CallRpcLockTarget();
}
[ClientRpc]
public void RpcLockTarget()
{
if (Object.op_Implicit((Object)(object)target))
{
if (!Object.op_Implicit((Object)(object)lockedTarget))
{
lockedTarget = target;
}
else
{
lockedTarget = null;
}
}
}
private void OnEnable()
{
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
//IL_00e0: Expected O, but got Unknown
indicator.active = true;
maxTrackingDistance = 35f;
sphereSearch.radius = minCloseDistance;
sphereSearch.mask = ((LayerIndex)(ref LayerIndex.entityPrecise)).mask;
LocalUser firstLocalUser = LocalUserManager.GetFirstLocalUser();
NetworkUser val = ((firstLocalUser != null) ? firstLocalUser.currentNetworkUser : null);
if (Object.op_Implicit((Object)(object)val) && val.inputPlayer != null)
{
player = val.inputPlayer;
}
body = ((Component)this).GetComponent<CharacterBody>();
if (Object.op_Implicit((Object)(object)body.modelLocator) && Object.op_Implicit((Object)(object)body.modelLocator.modelTransform))
{
animator = ((Component)body.modelLocator.modelTransform).GetComponent<Animator>();
}
HUD.Update += new hook_Update(HUD_Update);
}
private void OnDisable()
{
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Expected O, but got Unknown
if (Object.op_Implicit((Object)(object)bars))
{
}
if (Object.op_Implicit((Object)(object)uiSelection))
{
}
if (Object.op_Implicit((Object)(object)mpBar))
{
}
indicator.active = false;
HUD.Update -= new hook_Update(HUD_Update);
}
public void ConsumeMP(int magicIndex)
{
//IL_0079: Unknown result type (might be due to invalid IL or missing references)
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
float num = magicCosts[magicIndex];
if (Object.op_Implicit((Object)(object)body) && isShadow)
{
mpValue = 1f;
inRecovery = true;
}
else if (num >= mpValue)
{
mpValue = 1f;
inRecovery = true;
if (Object.op_Implicit((Object)(object)mpIcon))
{
((Graphic)mpIcon).color = recoveryColor;
}
if (Object.op_Implicit((Object)(object)barImage))
{
((Graphic)barImage).color = recoveryColor;
}
if (Object.op_Implicit((Object)(object)primary))
{
primary.icon = Prefabs.recoveryAttackIcon;
}
}
else
{
mpValue -= num;
}
}
public void AddMP(float value)
{
if (inRecovery)
{
if (mpValue <= value)
{
Recover();
}
else
{
mpValue -= value;
}
}
else
{
mpValue += value;
}
}
[ClientRpc]
public void RpcAddMP(float value)
{
AddMP(value);
}
public void Recover()
{
//IL_0046: 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)
AkSoundEngine.PostEvent(Sounds.Play_Sora_UI_Recover, ((Component)this).gameObject);
inRecovery = false;
recoveryStopwatch = 0f;
mpValue = 1f;
if (Object.op_Implicit((Object)(object)mpIcon))
{
((Graphic)mpIcon).color = mpColor;
}
if (Object.op_Implicit((Object)(object)barImage))
{
((Graphic)barImage).color = mpColor;
}
if (Object.op_Implicit((Object)(object)primary))
{
primary.icon = Prefabs.attackIcon;
}
}
private void HUD_Update(orig_Update orig, HUD self)
{
//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
//IL_0241: Unknown result type (might be due to invalid IL or missing references)
//IL_07d6: Unknown result type (might be due to invalid IL or missing references)
//IL_02f2: Unknown result type (might be due to invalid IL or missing references)
//IL_02fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0302: Unknown result type (might be due to invalid IL or missing references)
//IL_0307: Unknown result type (might be due to invalid IL or missing references)
//IL_030b: Unknown result type (might be due to invalid IL or missing references)
//IL_0810: Unknown result type (might be due to invalid IL or missing references)
//IL_0359: Unknown result type (might be due to invalid IL or missing references)
//IL_035e: Unknown result type (might be due to invalid IL or missing references)
//IL_0379: Unknown result type (might be due to invalid IL or missing references)
//IL_037e: Unknown result type (might be due to invalid IL or missing references)
//IL_0fa1: Unknown result type (might be due to invalid IL or missing references)
//IL_1108: Unknown result type (might be due to invalid IL or missing references)
//IL_0541: Unknown result type (might be due to invalid IL or missing references)
//IL_0557: Unknown result type (might be due to invalid IL or missing references)
//IL_0562: Unknown result type (might be due to invalid IL or missing references)
//IL_06d4: Unknown result type (might be due to invalid IL or missing references)
//IL_06e4: Unknown result type (might be due to invalid IL or missing references)
//IL_06ef: Unknown result type (might be due to invalid IL or missing references)
//IL_0447: Unknown result type (might be due to invalid IL or missing references)
//IL_0458: Unknown result type (might be due to invalid IL or missing references)
//IL_0469: Unknown result type (might be due to invalid IL or missing references)
//IL_047a: Unknown result type (might be due to invalid IL or missing references)
//IL_049a: Unknown result type (might be due to invalid IL or missing references)
//IL_0595: Unknown result type (might be due to invalid IL or missing references)
//IL_05a6: Unknown result type (might be due to invalid IL or missing references)
//IL_05b7: Unknown result type (might be due to invalid IL or missing references)
//IL_05c8: Unknown result type (might be due to invalid IL or missing references)
//IL_0d16: Unknown result type (might be due to invalid IL or missing references)
//IL_0d25: Unknown result type (might be due to invalid IL or missing references)
//IL_063b: Unknown result type (might be due to invalid IL or missing references)
//IL_064c: Unknown result type (might be due to invalid IL or missing references)
//IL_065d: Unknown result type (might be due to invalid IL or missing references)
//IL_066e: Unknown result type (might be due to invalid IL or missing references)
//IL_05f3: Unknown result type (might be due to invalid IL or missing references)
//IL_0604: Unknown result type (might be due to invalid IL or missing references)
//IL_0615: Unknown result type (might be due to invalid IL or missing references)
//IL_0626: Unknown result type (might be due to invalid IL or missing references)
//IL_0d5d: Unknown result type (might be due to invalid IL or missing references)
//IL_0d6c: Unknown result type (might be due to invalid IL or missing references)
//IL_0d46: Unknown result type (might be due to invalid IL or missing references)
//IL_0d4b: Unknown result type (might be due to invalid IL or missing references)
//IL_0da9: Unknown result type (might be due to invalid IL or missing references)
//IL_0db8: Unknown result type (might be due to invalid IL or missing references)
//IL_0d8d: Unknown result type (might be due to invalid IL or missing references)
//IL_0d92: Unknown result type (might be due to invalid IL or missing references)
//IL_0df5: Unknown result type (might be due to invalid IL or missing references)
//IL_0e04: Unknown result type (might be due to invalid IL or missing references)
//IL_0dde: Unknown result type (might be due to invalid IL or missing references)
//IL_0de3: Unknown result type (might be due to invalid IL or missing references)
//IL_0e41: Unknown result type (might be due to invalid IL or missing references)
//IL_0e50: Unknown result type (might be due to invalid IL or missing references)
//IL_0e25: Unknown result type (might be due to invalid IL or missing references)
//IL_0e2a: Unknown result type (might be due to invalid IL or missing references)
//IL_0e76: Unknown result type (might be due to invalid IL or missing references)
//IL_0e7b: Unknown result type (might be due to invalid IL or missing references)
//IL_0b40: Unknown result type (might be due to invalid IL or missing references)
//IL_0c0e: Unknown result type (might be due to invalid IL or missing references)
//IL_0c0a: Unknown result type (might be due to invalid IL or missing references)
//IL_0c10: Unknown result type (might be due to invalid IL or missing references)
//IL_0c1a: Unknown result type (might be due to invalid IL or missing references)
//IL_0c16: Unknown result type (might be due to invalid IL or missing references)
//IL_0c1c: Unknown result type (might be due to invalid IL or missing references)
//IL_0c41: Unknown result type (might be due to invalid IL or missing references)
//IL_0c34: Unknown result type (might be due to invalid IL or missing references)
//IL_0c36: Unknown result type (might be due to invalid IL or missing references)
//IL_0c3a: Unknown result type (might be due to invalid IL or missing references)
//IL_0c6d: Unknown result type (might be due to invalid IL or missing references)
//IL_0c69: Unknown result type (might be due to invalid IL or missing references)
//IL_0c6f: Unknown result type (might be due to invalid IL or missing references)
//IL_0c79: Unknown result type (might be due to invalid IL or missing references)
//IL_0c75: Unknown result type (might be due to invalid IL or missing references)
//IL_0c7b: Unknown result type (might be due to invalid IL or missing references)
//IL_0c8f: Unknown result type (might be due to invalid IL or missing references)
//IL_0c91: Unknown result type (might be due to invalid IL or missing references)
//IL_0c95: Unknown result type (might be due to invalid IL or missing references)
//IL_0ca0: Unknown result type (might be due to invalid IL or missing references)
//IL_0caa: Unknown result type (might be due to invalid IL or missing references)
//IL_0caf: Unknown result type (might be due to invalid IL or missing references)
//IL_0cb1: Unknown result type (might be due to invalid IL or missing references)
//IL_0cb6: Unknown result type (might be due to invalid IL or missing references)
//IL_0cc0: Unknown result type (might be due to invalid IL or missing references)
//IL_0cbc: Unknown result type (might be due to invalid IL or missing references)
//IL_0cc2: Unknown result type (might be due to invalid IL or missing references)
//IL_0ccc: Unknown result type (might be due to invalid IL or missing references)
//IL_0cc8: Unknown result type (might be due to invalid IL or missing references)
//IL_0cce: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce2: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce4: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce8: Unknown result type (might be due to invalid IL or missing references)
orig.Invoke(self);
if (Object.op_Implicit((Object)(object)indicator.visualizerInstance) && !Object.op_Implicit((Object)(object)brackets))
{
ChildLocator component = indicator.visualizerInstance.GetComponent<ChildLocator>();
brackets = ((Component)component.FindChild("Brackets")).GetComponent<SpriteRenderer>();
melee = ((Component)component.FindChild("Melee")).GetComponent<SpriteRenderer>();
ranged = ((Component)component.FindChild("Ranged")).GetComponent<SpriteRenderer>();
close = ((Component)component.FindChild("Close")).GetComponent<SpriteRenderer>();
lockOn = ((Component)component.FindChild("LockOn")).GetComponent<SpriteRenderer>();
}
if (Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)lockedTarget) && Vector3.Distance(((Component)lockedTarget).transform.position, body.corePosition) > maxTrackingDistance)
{
lockedTarget = null;
}
if (!Util.HasEffectiveAuthority(((Component)this).gameObject))
{
return;
}
if (Object.op_Implicit((Object)(object)body))
{
if (!Object.op_Implicit((Object)(object)primary) && Object.op_Implicit((Object)(object)body.skillLocator))
{
primary = body.skillLocator.primary.defaultSkillDef;
}
if (!Object.op_Implicit((Object)(object)special) && Object.op_Implicit((Object)(object)body.skillLocator))
{
special = body.skillLocator.special.defaultSkillDef;
}
if (!Object.op_Implicit((Object)(object)cameraRigController))
{
foreach (CameraRigController readOnlyInstances in CameraRigController.readOnlyInstancesList)
{
if (Object.op_Implicit((Object)(object)readOnlyInstances.target) && (Object)(object)readOnlyInstances.target == (Object)(object)((Component)this).gameObject && !readOnlyInstances.hasOverride)
{
cameraRigController = readOnlyInstances;
break;
}
}
}
if (Input.GetKeyDown(MainPlugin.lockTargetKeybind.Value) || player.GetButtonDown(103))
{
if (!Object.op_Implicit((Object)(object)lockedTarget))
{
if (Object.op_Implicit((Object)(object)target))
{
lockedTarget = target;
AkSoundEngine.PostEvent(Sounds.Play_Sora_UI_Lock, ((Component)this).gameObject);
}
}
else
{
lockedTarget = null;
AkSoundEngine.PostEvent(Sounds.Play_Sora_UI_Unlock, ((Component)this).gameObject);
}
}
if (Object.op_Implicit((Object)(object)lockedTarget))
{
InputBankTest inputBank = body.inputBank;
Vector3 val = ((Component)lockedTarget).transform.position - body.corePosition;
inputBank.aimDirection = ((Vector3)(ref val)).normalized;
if (Object.op_Implicit((Object)(object)lockedTarget.healthComponent) && !lockedTarget.healthComponent.alive)
{
sphereSearch.origin = ((Component)lockedTarget).transform.position;
HurtBox val2 = sphereSearch.RefreshCandidates().FilterCandidatesByHurtBoxTeam(TeamMask.GetEnemyTeams(body.teamComponent.teamIndex)).OrderCandidatesByDistance()
.FilterCandidatesByDistinctHurtBoxEntities()
.FilterOutHurtBox(lockedTarget)
.FilterOutDead()
.GetHurtBoxes()
.FirstOrDefault();
if (Object.op_Implicit((Object)(object)val2))
{
lockedTarget = val2;
}
else
{
lockedTarget = null;
}
}
if (indicator != null)
{
indicator.targetTransform = ((Component)lockedTarget).transform;
}
if (Object.op_Implicit((Object)(object)lockOn) && Object.op_Implicit((Object)(object)melee) && Object.op_Implicit((Object)(object)ranged) && Object.op_Implicit((Object)(object)brackets) && Object.op_Implicit((Object)(object)close))
{
melee.color = Color.clear;
ranged.color = Color.clear;
brackets.color = Color.clear;
close.color = Color.clear;
lockOn.color = new Color(1f, 0.5f, 0f);
}
}
else
{
if (!Object.op_Implicit((Object)(object)cameraRigController) || cameraRigController.isCutscene)
{
}
if (Object.op_Implicit((Object)(object)target) && Object.op_Implicit((Object)(object)indicator.visualizerInstance) && Object.op_Implicit((Object)(object)brackets) && Object.op_Implicit((Object)(object)melee) && Object.op_Implicit((Object)(object)ranged) && Object.op_Implicit((Object)(object)close) && Object.op_Implicit((Object)(object)lockOn))
{
lockOn.color = Color.clear;
float num = Vector3.Distance(((Component)target).transform.position, body.corePosition);
if (num > minMeleeDistance && num <= minCloseDistance)
{
melee.color = Color.clear;
ranged.color = Color.clear;
brackets.color = Color.clear;
close.color = Color.white;
}
else if (num <= minMeleeDistance)
{
close.color = Color.clear;
ranged.color = Color.clear;
brackets.color = Color.white;
melee.color = Color.white;
}
else
{
close.color = Color.clear;
melee.color = Color.clear;
brackets.color = Color.clear;
ranged.color = Color.white;
}
}
trackerUpdateStopwatch += Time.fixedDeltaTime;
if (trackerUpdateStopwatch >= 1f / trackerUpdateFrequency)
{
trackerUpdateStopwatch -= 1f / trackerUpdateFrequency;
Ray aimRay = default(Ray);
((Ray)(ref aimRay))..ctor(body.inputBank.aimOrigin, body.inputBank.aimDirection);
SearchForTarget(aimRay);
if (indicator != null)
{
indicator.targetTransform = (Object.op_Implicit((Object)(object)target) ? ((Component)target).transform : null);
}
}
}
}
if (!Object.op_Implicit((Object)(object)self.targetBodyObject) || !((Object)(object)self.targetBodyObject == (Object)(object)((Component)this).gameObject))
{
return;
}
if (Object.op_Implicit((Object)(object)health) && Object.op_Implicit((Object)(object)mpBar) && Object.op_Implicit((Object)(object)lv) && Object.op_Implicit((Object)(object)bars) && Object.op_Implicit((Object)(object)uiSelection))
{
if (Object.op_Implicit((Object)(object)hpIcon) && Object.op_Implicit((Object)(object)healthBar))
{
((Graphic)hpIcon).color = ((Graphic)healthBar).color;
}
if (Object.op_Implicit((Object)(object)mpIcon) && Object.op_Implicit((Object)(object)barImage))
{
((Graphic)mpIcon).color = ((Graphic)barImage).color;
}
mpValue = Mathf.Clamp((float)Math.Round((decimal)mpValue, 2), 0f, 1f);
if (((ButtonState)(ref body.inputBank.skill4)).justPressed && !PauseManager.isPaused && (inRecovery || mpValue < magicCosts[currentMagic]))
{
AkSoundEngine.PostEvent(Sounds.Play_Sora_UI_Fail, ((Component)this).gameObject);
}
if (inRecovery && !PauseManager.isPaused)
{
mpValue = 1f - recoveryStopwatch / recoveryDuration;
recoveryStopwatch += Time.deltaTime;
if (recoveryStopwatch >= recoveryDuration)
{
Recover();
}
}
if (magicSelections != null && magicSelections.Length != 0 && !PauseManager.isPaused)
{
bool flag = Input.GetAxis("Mouse ScrollWheel") > 0f || player.GetButtonDown(100);
if (!body.isPlayerControlled && currentMagic != 0)
{
flag = RoR2Application.rng.nextBool;
}
bool flag2 = Input.GetAxis("Mouse ScrollWheel") < 0f || player.GetButtonDown(102);
if (!body.isPlayerControlled && currentMagic != 7)
{
flag2 = RoR2Application.rng.nextBool;
}
if (flag || flag2)
{
if (flag)
{
if (currentMagic != 0)
{
magicSelections[currentMagic].stopwatch = 0f;
currentMagic--;
magicSelections[currentMagic].stopwatch = 0f;
AkSoundEngine.PostEvent(Sounds.Play_Sora_UI_Select, ((Component)this).gameObject);
}
}
else if (flag2 && currentMagic != 7)
{
magicSelections[currentMagic].stopwatch = 0f;
currentMagic++;
magicSelections[currentMagic].stopwatch = 0f;
AkSoundEngine.PostEvent(Sounds.Play_Sora_UI_Select, ((Component)this).gameObject);
}
if (Object.op_Implicit((Object)(object)special))
{
special.icon = magicIcons[currentMagic];
}
}
Color val3 = default(Color);
Color val4 = default(Color);
Color val5 = default(Color);
Vector3 val8 = default(Vector3);
Vector3 val9 = default(Vector3);
for (int i = 0; i < magicSelections.Length; i++)
{
magicSelections[i].active = i == currentMagic;
bool active = magicSelections[i].active;
float y = magicSelections[i].transform.localPosition.y;
magicSelections[i].stopwatch += Time.fixedDeltaTime;
float num2 = curve.Evaluate(magicSelections[i].stopwatch / 0.35f);
((Color)(ref val3))..ctor(0.1226415f, 0.1226415f, 0.1226415f, 0f);
((Color)(ref val4))..ctor(0.1226415f, 0.1226415f, 0.1226415f, 0.6f);
((Color)(ref val5))..ctor(0.75f, 0f, 0f, 0.666f);
bool flag3 = inRecovery || (mpValue < magicCosts[i] && i != 7);
Color val6 = (active ? val4 : val3);
Color val7 = (active ? val3 : val4);
((Graphic)magicSelections[i].selection).color = (flag3 ? val5 : Color.Lerp(val6, val7, num2));
((Vector3)(ref val8))..ctor(110f, y);
((Vector3)(ref val9))..ctor(135f, y);
Vector3 val10 = (active ? val9 : val8);
Vector3 val11 = (active ? val8 : val9);
magicSelections[i].transform.localPosition = Vector3.Lerp(val10, val11, num2);
Vector3 val12 = Vector3.one * 1.1f;
Vector3 one = Vector3.one;
Vector3 val13 = (active ? one : val12);
Vector3 val14 = (active ? val12 : one);
magicSelections[i].transform.localScale = Vector3.Lerp(val13, val14, num2);
}
}
if (health.localPosition != new Vector3(70f, 33f))
{
health.localPosition = Vector2.op_Implicit(new Vector2(70f, 33f));
}
if (lv.localPosition != new Vector3(70f, 33f))
{
lv.localPosition = Vector2.op_Implicit(new Vector2(70f, 53f));
}
if (mpBar.transform.localPosition != new Vector3(70f, 3f))
{
mpBar.transform.localPosition = Vector2.op_Implicit(new Vector2(70f, 3f));
}
if (bars.localPosition != new Vector3(40f, 40f))
{
bars.localPosition = Vector2.op_Implicit(new Vector2(40f, 40f));
}
if (uiSelection.transform.localPosition != new Vector3(-272f, 470f))
{
uiSelection.transform.localPosition = Vector2.op_Implicit(new Vector2(-272f, 470f));
}
}
if (Object.op_Implicit((Object)(object)barImage) && Object.op_Implicit((Object)(object)currentMP))
{
barImage.fillAmount = mpValue;
((TMP_Text)currentMP).text = Mathf.RoundToInt(mpValue * 100f).ToString();
}
if (!Object.op_Implicit((Object)(object)self.mainUIPanel) || Object.op_Implicit((Object)(object)mpBar) || self.mainUIPanel.transform.childCount < 3)
{
return;
}
Transform val15 = self.mainUIPanel.transform.Find("SpringCanvas");
if (Object.op_Implicit((Object)(object)val15))
{
Transform val16 = val15.Find("BottomRightCluster");
if (Object.op_Implicit((Object)(object)val16) && !Object.op_Implicit((Object)(object)uiSelection))
{
uiSelection = Object.Instantiate<GameObject>(Assets.Load<GameObject>("MagicUI"), val16);
uiSelection.transform.localPosition = Vector3.zero;
ChildLocator component2 = uiSelection.GetComponent<ChildLocator>();
magicSelections = new MagicSelection[8]
{
new MagicSelection(component2.FindChild("Magic1")),
new MagicSelection(component2.FindChild("Magic2")),
new MagicSelection(component2.FindChild("Magic3")),
new MagicSelection(component2.FindChild("Magic4")),
new MagicSelection(component2.FindChild("Magic5")),
new MagicSelection(component2.FindChild("Magic6")),
new MagicSelection(component2.FindChild("Magic7")),
new MagicSelection(component2.FindChild("Magic8"))
};
}
}
HealthBar componentInChildren = self.mainUIPanel.GetComponentInChildren<HealthBar>();
if (!Object.op_Implicit((Object)(object)componentInChildren) || !Object.op_Implicit((Object)(object)((Component)componentInChildren).gameObject))
{
return;
}
health = ((Component)componentInChildren).transform;
lv = ((Component)componentInChildren).transform.parent.GetChild(0);
VerticalLayoutGroup componentInParent = ((Component)componentInChildren).GetComponentInParent<VerticalLayoutGroup>();
((HorizontalOrVerticalLayoutGroup)componentInParent).childControlWidth = false;
((HorizontalOrVerticalLayoutGroup)componentInParent).childControlHeight = false;
((Component)componentInChildren).GetComponent<RectTransform>().sizeDelta = new Vector2(422f, 15.2f);
Transform child = ((Component)componentInChildren).transform.GetChild(1);
if (child.childCount >= 3)
{
Image[] componentsInChildren = ((Component)health).GetComponentsInChildren<Image>();
if (componentsInChildren.Length >= 4)
{
healthBar = componentsInChildren[3];
AddBar(((Component)componentInChildren).gameObject);
}
}
}
private void AddBar(GameObject healthBar)
{
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
mpBar = Object.Instantiate<GameObject>(healthBar, healthBar.transform.parent);
bars = Object.Instantiate<GameObject>(Assets.Load<GameObject>("Bars"), healthBar.transform.parent).transform;
bars.SetAsFirstSibling();
if (Object.op_Implicit((Object)(object)body))
{
ChildLocator component = ((Component)bars).GetComponent<ChildLocator>();
mpIcon = ((Component)component.FindChild("mpicon")).GetComponent<Image>();
((Graphic)mpIcon).color = mpColor;
hpIcon = ((Component)component.FindChild("hpicon")).GetComponent<Image>();
portrait = ((Component)component.FindChild("portrait")).GetComponent<Image>();
switch (body.skinIndex)
{
case 1u:
portrait.sprite = Prefabs.ValorUI;
break;
case 2u:
portrait.sprite = Prefabs.WisdomUI;
break;
case 3u:
portrait.sprite = Prefabs.LimitUI;
break;
case 4u:
portrait.sprite = Prefabs.MasterUI;
break;
case 5u:
portrait.sprite = Prefabs.FinalUI;
break;
case 6u:
portrait.sprite = Prefabs.AntiUI;
break;
case 7u:
portrait.sprite = Prefabs.ChristmasUI;
break;
case 8u:
portrait.sprite = Prefabs.HalloweenUI;
break;
case 9u:
portrait.sprite = Prefabs.RikuUI;
break;
}
}
((Object)mpBar).name = "MPBar";
Object.Destroy((Object)(object)mpBar.GetComponent<HealthBar>());
TextMeshProUGUI[] componentsInChildren = mpBar.GetComponentsInChildren<TextMeshProUGUI>(true);
for (int i = 0; i < componentsInChildren.Length; i++)
{
GameObject gameObject = ((Component)componentsInChildren[i]).gameObject;
gameObject.SetActive(true);
string name = ((Object)gameObject).name;
if (name == "CurrentHealthText")
{
currentMP = componentsInChildren[i];
((TMP_Text)currentMP).text = "100";
}
if (name == "FullHealthText")
{
((TMP_Text)componentsInChildren[i]).text = "100";
}
}
Image[] componentsInChildren2 = mpBar.GetComponentsInChildren<Image>();
for (int j = 0; j < componentsInChildren2.Length; j++)
{
if (Object.op_Implicit((Object)(object)componentsInChildren2[j]) && Object.op_Implicit((Object)(object)((Component)componentsInChildren2[j]).gameObject))
{
if ((Object)(object)componentsInChildren2[j] != (Object)(object)componentsInChildren2[3] && (Object)(object)componentsInChildren2[j] != (Object)(object)componentsInChildren2[0])
{
Object.Destroy((Object)(object)((Component)componentsInChildren2[j]).gameObject);
}
if ((Object)(object)componentsInChildren2[j] == (Object)(object)componentsInChildren2[3])
{
barImage = componentsInChildren2[j];
((Graphic)barImage).color = mpColor;
barImage.type = (Type)3;
barImage.fillMethod = (FillMethod)0;
barImage.fillCenter = false;
}
}
}
}
private void UNetVersion()
{
}
protected static void InvokeCmdCmdUpdateAnimatorParameters(NetworkBehaviour obj, NetworkReader reader)
{
if (!NetworkServer.active)
{
Debug.LogError((object)"Command CmdUpdateAnimatorParameters called on client.");
}
else
{
((SoraBehaviour)(object)obj).CmdUpdateAnimatorParameters(GeneratedNetworkCode._ReadArrayString_None(reader), GeneratedNetworkCode._ReadArraySingle_None(reader));
}
}
protected static void InvokeCmdCmdLockTarget(NetworkBehaviour obj, NetworkReader reader)
{
if (!NetworkServer.active)
{
Debug.LogError((object)"Command CmdLockTarget called on client.");
}
else
{
((SoraBehaviour)(object)obj).CmdLockTarget();
}
}
public void CallCmdUpdateAnimatorParameters(string[] parameters, float[] values)
{
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
//IL_0037: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
if (!NetworkClient.active)
{
Debug.LogError((object)"Command function CmdUpdateAnimatorParameters called on server.");
return;
}
if (((NetworkBehaviour)this).isServer)
{
CmdUpdateAnimatorParameters(parameters, values);
return;
}
NetworkWriter val = new NetworkWriter();
val.Write((short)0);
val.Write((short)5);
val.WritePackedUInt32((uint)kCmdCmdUpdateAnimatorParameters);
val.Write(((Component)this).GetComponent<NetworkIdentity>().netId);
GeneratedNetworkCode._WriteArrayString_None(val, parameters);
GeneratedNetworkCode._WriteArraySingle_None(val, values);
((NetworkBehaviour)this).SendCommandInternal(val, 0, "CmdUpdateAnimatorParameters");
}
public void CallCmdLockTarget()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Expected O, but got Unknown
//IL_0054: Unknown result type (might be due to invalid IL or missing references)
if (!NetworkClient.active)
{
Debug.LogError((object)"Command function CmdLockTarget called on server.");
return;
}
if (((NetworkBehaviour)this).isServer)
{
CmdLockTarget();
return;
}
NetworkWriter val = new NetworkWriter();
val.Write((short)0);
val.Write((short)5);
val.WritePackedUInt32((uint)kCmdCmdLockTarget);
val.Write(((Component)this).GetComponent<NetworkIdentity>().netId);
((NetworkBehaviour)this).SendCommandInternal(val, 0, "CmdLockTarget");
}
protected static void InvokeRpcRpcUpdateAnimatorParameters(NetworkBehaviour obj, NetworkReader reader)
{
if (!NetworkClient.active)
{
Debug.LogError((object)"RPC RpcUpdateAnimatorParameters called on server.");
}
else
{
((SoraBehaviour)(object)obj).RpcUpdateAnimatorParameters(GeneratedNetworkCode._ReadArrayString_None(reader), GeneratedNetworkCode._ReadArraySingle_None(reader));
}
}
protected static void InvokeRpcRpcLockTarget(NetworkBehaviour obj, NetworkReader reader)
{
if (!NetworkClient.active)
{
Debug.LogError((object)"RPC RpcLockTarget called on server.");
}
else
{
((SoraBehaviour)(object)obj).RpcLockTarget();
}
}
protected static void InvokeRpcRpcAddMP(NetworkBehaviour obj, NetworkReader reader)
{
if (!NetworkClient.active)
{
Debug.LogError((object)"RPC RpcAddMP called on server.");
}
else
{
((SoraBehaviour)(object)obj).RpcAddMP(reader.ReadSingle());
}
}
public void CallRpcUpdateAnimatorParameters(string[] parameters, float[] values)
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Expected O, but got Unknown
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
if (!NetworkServer.active)
{
Debug.LogError((object)"RPC Function RpcUpdateAnimatorParameters called on client.");
return;
}
NetworkWriter val = new NetworkWriter();
val.Write((short)0);
val.Write((short)2);
val.WritePackedUInt32((uint)kRpcRpcUpdateAnimatorParameters);
val.Write(((Component)this).GetComponent<NetworkIdentity>().netId);
GeneratedNetworkCode._WriteArrayString_None(val, parameters);
GeneratedNetworkCode._WriteArraySingle_None(val, values);
((NetworkBehaviour)this).SendRPCInternal(val, 0, "RpcUpdateAnimatorParameters");
}
public void CallRpcLockTarget()
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Expected O, but got Unknown
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
if (!NetworkServer.active)
{
Debug.LogError((object)"RPC Function RpcLockTarget called on client.");
return;
}
NetworkWriter val = new NetworkWriter();
val.Write((short)0);
val.Write((short)2);
val.WritePackedUInt32((uint)kRpcRpcLockTarget);
val.Write(((Component)this).GetComponent<NetworkIdentity>().netId);
((NetworkBehaviour)this).SendRPCInternal(val, 0, "RpcLockTarget");
}
public void CallRpcAddMP(float value)
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Expected O, but got Unknown
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
if (!NetworkServer.active)
{
Debug.LogError((object)"RPC Function RpcAddMP called on client.");
return;
}
NetworkWriter val = new NetworkWriter();
val.Write((short)0);
val.Write((short)2);
val.WritePackedUInt32((uint)kRpcRpcAddMP);
val.Write(((Component)this).GetComponent<NetworkIdentity>().netId);
val.Write(value);
((NetworkBehaviour)this).SendRPCInternal(val, 0, "RpcAddMP");
}
static SoraBehaviour()
{
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Expected O, but got Unknown
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_0054: Expected O, but got Unknown
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
//IL_007e: Expected O, but got Unknown
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00a8: Expected O, but got Unknown
//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
//IL_00d2: Expected O, but got Unknown
kCmdCmdUpdateAnimatorParameters = -2063375988;
NetworkBehaviour.RegisterCommandDelegate(typeof(SoraBehaviour), kCmdCmdUpdateAnimatorParameters, new CmdDelegate(InvokeCmdCmdUpdateAnimatorParameters));
kCmdCmdLockTarget = 828092110;
NetworkBehaviour.RegisterCommandDelegate(typeof(SoraBehaviour), kCmdCmdLockTarget, new CmdDelegate(InvokeCmdCmdLockTarget));
kRpcRpcUpdateAnimatorParameters = 1954079586;
NetworkBehaviour.RegisterRpcDelegate(typeof(SoraBehaviour), kRpcRpcUpdateAnimatorParameters, new CmdDelegate(InvokeRpcRpcUpdateAnimatorParameters));
kRpcRpcLockTarget = -1308131548;
NetworkBehaviour.RegisterRpcDelegate(typeof(SoraBehaviour), kRpcRpcLockTarget, new CmdDelegate(InvokeRpcRpcLockTarget));
kRpcRpcAddMP = -548175748;
NetworkBehaviour.RegisterRpcDelegate(typeof(SoraBehaviour), kRpcRpcAddMP, new CmdDelegate(InvokeRpcRpcAddMP));
NetworkCRC.RegisterBehaviour("SoraBehaviour", 0);
}
public override bool OnSerialize(NetworkWriter writer, bool forceAll)
{
bool result = default(bool);
return result;
}
public override void OnDeserialize(NetworkReader reader, bool initialState)
{
}
}
internal class Hook
{
internal static void Hooks()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
HealthComponent.TakeDamage += new hook_TakeDamage(HealthComponent_TakeDamage);
GlobalEventManager.onCharacterDeathGlobal += GlobalEventManager_onCharacterDeathGlobal;
}
private static void GlobalEventManager_onCharacterDeathGlobal(DamageReport damageReport)
{
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Invalid comparison between Unknown and I4
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
//IL_00d0: 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_00a2: Unknown result type (might be due to invalid IL or missing references)
//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
//IL_00b1: Invalid comparison between Unknown and I4
if (damageReport.damageInfo != null && Object.op_Implicit((Object)(object)damageReport.damageInfo.attacker))
{
SoraBehaviour component = damageReport.damageInfo.attacker.GetComponent<SoraBehaviour>();
if (Object.op_Implicit((Object)(object)component) && (int)DamageTypeCombo.op_Implicit(damageReport.damageInfo.damageType) == 262144)
{
damageReport.damageInfo.damageType = DamageTypeCombo.op_Implicit((DamageType)0);
component.CallRpcAddMP(0.07f);
}
if (Object.op_Implicit((Object)(object)damageReport.victim) && Object.op_Implicit((Object)(object)damageReport.attackerBody) && Object.op_Implicit((Object)(object)component) && (int)DamageTypeCombo.op_Implicit(damageReport.damageInfo.damageType) == 524320)
{
GameObject val = Object.Instantiate<GameObject>(Prefabs.mpOrb, ((Component)damageReport.victim).transform.position, Random.rotation);
val.GetComponent<TeamFilter>().teamIndex = damageReport.attackerBody.teamComponent.teamIndex;
val.GetComponentInChildren<GravitatePickup>().gravitateTarget = damageReport.attackerBody.coreTransform;
NetworkServer.Spawn(val);
}
}
}
private static void HealthComponent_TakeDamage(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo)
{
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_0067: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0071: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
//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_00d1: 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_00e9: Unknown result type (might be due to invalid IL or missing references)
//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0103: Unknown result type (might be due to invalid IL or missing references)
//IL_0108: Unknown result type (might be due to invalid IL or missing references)
//IL_010d: Unknown result type (might be due to invalid IL or missing references)
//IL_010f: Unknown result type (might be due to invalid IL or missing references)
//IL_0114: Unknown result type (might be due to invalid IL or missing references)
//IL_011b: Expected O, but got Unknown
//IL_013b: Unknown result type (might be due to invalid IL or missing references)
//IL_0140: Unknown result type (might be due to invalid IL or missing references)
//IL_0152: Unknown result type (might be due to invalid IL or missing references)
//IL_0158: Unknown result type (might be due to invalid IL or missing references)
//IL_021c: Unknown result type (might be due to invalid IL or missing references)
//IL_0221: Unknown result type (might be due to invalid IL or missing references)
//IL_0228: Invalid comparison between Unknown and I4
//IL_0248: Unknown result type (might be due to invalid IL or missing references)
//IL_024d: Unknown result type (might be due to invalid IL or missing references)
//IL_01c6: Unknown result type (might be due to invalid IL or missing references)
//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
//IL_01db: Unknown result type (might be due to invalid IL or missing references)
//IL_01df: Unknown result type (might be due to invalid IL or missing references)
//IL_01e6: Unknown result type (might be due to invalid IL or missing references)
//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
if (Object.op_Implicit((Object)(object)self.body) && Object.op_Implicit((Object)(object)damageInfo.attacker))
{
CharacterBody component = damageInfo.attacker.GetComponent<CharacterBody>();
if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.healthComponent) && self.body.HasBuff(Prefabs.reflect))
{
DamageInfo val = new DamageInfo
{
position = component.corePosition,
damage = damageInfo.damage,
crit = self.body.RollCrit(),
rejected = false,
canRejectForce = damageInfo.canRejectForce
};
Vector3 force = damageInfo.force;
Vector3 val2 = self.body.corePosition - component.corePosition;
val.force = force + ((Vector3)(ref val2)).normalized;
val.attacker = ((Component)self).gameObject;
val.procCoefficient = damageInfo.procCoefficient;
val.damageColorIndex = damageInfo.damageColorIndex;
val.damageType = damageInfo.damageType | DamageTypeCombo.op_Implicit((DamageType)32);
val.procChainMask = damageInfo.procChainMask;
DamageInfo val3 = val;
component.healthComponent.TakeDamage(val3);
damageInfo.rejected = true;
EffectManager.SimpleEffect(Prefabs.reflectProc, self.body.corePosition, Quaternion.identity, true);
if (Vector3.Distance(self.body.footPosition, component.footPosition) <= 6f)
{
float num = 0f;
RigidbodyMotor component2 = ((Component)component).GetComponent<RigidbodyMotor>();
if (Object.op_Implicit((Object)(object)component.characterMotor))
{
num = component.characterMotor.mass;
}
else if (Object.op_Implicit((Object)(object)component2))
{
num = component2.mass;
}
HealthComponent healthComponent = component.healthComponent;
val2 = component.footPosition - self.body.footPosition;
healthComponent.TakeDamageForce(((Vector3)(ref val2)).normalized * num * 22f, true, false);
}
}
SoraBehaviour component3 = damageInfo.attacker.GetComponent<SoraBehaviour>();
if (Object.op_Implicit((Object)(object)component3) && component3.inRecovery && (int)DamageTypeCombo.op_Implicit(damageInfo.damageType) == 64 && !Object.op_Implicit((Object)(object)self.body.characterMotor))
{
damageInfo.force = Vector3.zero;
if (RoR2Application.rng.nextBool)
{
SetStateOnHurt.SetStunOnObject(((Component)self).gameObject, 0.5f);
}
}
}
orig.Invoke(self, damageInfo);
}
}
internal class ItemDisplays
{
internal static ItemDisplayRuleSet itemDisplayRuleSet;
internal static List<KeyAssetRuleGroup> itemDisplayRules;
private static Dictionary<Object, GameObject> itemDisplayPrefabs = new Dictionary<Object, GameObject>();
private static Vector3 vec = Vector3.one;
internal static void PopulateDisplays()
{
PopulateFromBody("Commando");
PopulateFromBody("Croco");
PopulateFromBody("Mage");
}
private static void PopulateFromBody(string bodyName)
{
ItemDisplayRuleSet val = ((Component)Prefabs.Load<GameObject>("Prefabs/CharacterBodies/" + bodyName + "Body").GetComponent<ModelLocator>().modelTransform).GetComponent<CharacterModel>().itemDisplayRuleSet;
KeyAssetRuleGroup[] keyAssetRuleGroups = val.keyAssetRuleGroups;
for (int i = 0; i < keyAssetRuleGroups.Length; i++)
{
ItemDisplayRule[] rules = keyAssetRuleGroups[i].displayRuleGroup.rules;
for (int j = 0; j < rules.Length; j++)
{
GameObject followerPrefab = rules[j].followerPrefab;
if (Object.op_Implicit((Object)(object)followerPrefab))
{
Object keyAsset = keyAssetRuleGroups[i].keyAsset;
ItemDef val2 = (ItemDef)(object)((keyAsset is ItemDef) ? keyAsset : null);
Object keyAsset2 = keyAssetRuleGroups[i].keyAsset;
EquipmentDef val3 = (EquipmentDef)(object)((keyAsset2 is EquipmentDef) ? keyAsset2 : null);
if ((Object)(object)val2 != (Object)null && !itemDisplayPrefabs.ContainsKey((Object)(object)val2))
{
itemDisplayPrefabs.Add((Object)(object)val2, followerPrefab);
}
if ((Object)(object)val3 != (Object)null && !itemDisplayPrefabs.ContainsKey((Object)(object)val3))
{
itemDisplayPrefabs.Add((Object)(object)val3, followerPrefab);
}
}
}
}
}
public static void RegisterDisplays()
{
itemDisplayRuleSet = ScriptableObject.CreateInstance<ItemDisplayRuleSet>();
((Object)itemDisplayRuleSet).name = "SoraIDRS";
GameObject characterPrefab = MainPlugin.characterPrefab;
GameObject gameObject = ((Component)characterPrefab.GetComponentInChildren<ModelLocator>().modelTransform).gameObject;
CharacterModel component = gameObject.GetComponent<CharacterModel>();
component.itemDisplayRuleSet = itemDisplayRuleSet;
}
public static void SetIDRS()
{
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: 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_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_0095: Unknown result type (might be due to invalid IL or missing references)
//IL_009a: Unknown result type (might be due to invalid IL or missing references)
//IL_009f: Unknown result type (might be due to invalid IL or missing references)
//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
//IL_00da: Unknown result type (might be due to invalid IL or missing references)
//IL_00df: Unknown result type (might be due to invalid IL or missing references)
//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
//IL_0115: Unknown result type (might be due to invalid IL or missing references)
//IL_011a: Unknown result type (might be due to invalid IL or missing references)
//IL_011f: Unknown result type (might be due to invalid IL or missing references)
//IL_0135: Unknown result type (might be due to invalid IL or missing references)
//IL_013a: 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_0155: Unknown result type (might be due to invalid IL or missing references)
//IL_015a: Unknown result type (might be due to invalid IL or missing references)
//IL_015f: Unknown result type (might be due to invalid IL or missing references)
//IL_0175: Unknown result type (might be due to invalid IL or missing references)
//IL_017a: Unknown result type (might be due to invalid IL or missing references)
//IL_017f: Unknown result type (might be due to invalid IL or missing references)
//IL_0195: Unknown result type (might be due to invalid IL or missing references)
//IL_019a: Unknown result type (might be due to invalid IL or missing references)
//IL_019f: Unknown result type (might be due to invalid IL or missing references)
//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
//IL_01da: Unknown result type (might be due to invalid IL or missing references)
//IL_01df: Unknown result type (might be due to invalid IL or missing references)
//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
//IL_0215: Unknown result type (might be due to invalid IL or missing references)
//IL_021a: Unknown result type (might be due to invalid IL or missing references)
//IL_021f: Unknown result type (might be due to invalid IL or missing references)
//IL_0235: Unknown result type (might be due to invalid IL or missing references)
//IL_023a: Unknown result type (might be due to invalid IL or missing references)
//IL_023f: Unknown result type (might be due to invalid IL or missing references)
//IL_0255: Unknown result type (might be due to invalid IL or missing references)
//IL_025a: Unknown result type (might be due to invalid IL or missing references)
//IL_025f: Unknown result type (might be due to invalid IL or missing references)
//IL_0275: Unknown result type (might be due to invalid IL or missing references)
//IL_027a: 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_0295: Unknown result type (might be due to invalid IL or missing references)
//IL_029a: Unknown result type (might be due to invalid IL or missing references)
//IL_029f: Unknown result type (might be due to invalid IL or missing references)
//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
//IL_02ba: Unknown result type (might be due to invalid IL or missing references)
//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
//IL_02d5: Unknown result type (might be due to invalid IL or missing references)
//IL_02da: Unknown result type (might be due to invalid IL or missing references)
//IL_02df: Unknown result type (might be due to invalid IL or missing references)
//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
//IL_02fa: Unknown result type (might be due to invalid IL or missing references)
//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
//IL_0315: Unknown result type (might be due to invalid IL or missing references)
//IL_031a: Unknown result type (might be due to invalid IL or missing references)
//IL_031f: Unknown result type (might be due to invalid IL or missing references)
//IL_0335: Unknown result type (might be due to invalid IL or missing references)
//IL_033a: Unknown result type (might be due to invalid IL or missing references)
//IL_033f: Unknown result type (might be due to invalid IL or missing references)
//IL_0355: Unknown result type (might be due to invalid IL or missing references)
//IL_035a: Unknown result type (might be due to invalid IL or missing references)
//IL_035f: Unknown result type (might be due to invalid IL or missing references)
//IL_0375: Unknown result type (might be due to invalid IL or missing references)
//IL_037a: Unknown result type (might be due to invalid IL or missing references)
//IL_037f: Unknown result type (might be due to invalid IL or missing references)
//IL_0395: Unknown result type (might be due to invalid IL or missing references)
//IL_039a: Unknown result type (might be due to invalid IL or missing references)
//IL_039f: Unknown result type (might be due to invalid IL or missing references)
//IL_03b5: Unknown result type (might be due to invalid IL or missing references)
//IL_03ba: Unknown result type (might be due to invalid IL or missing references)
//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
//IL_03da: Unknown result type (might be due to invalid IL or missing references)
//IL_03df: Unknown result type (might be due to invalid IL or missing references)
//IL_03f5: Unknown result type (might be due to invalid IL or missing references)
//IL_03fa: Unknown result type (might be due to invalid IL or missing references)
//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
//IL_0415: Unknown result type (might be due to invalid IL or missing references)
//IL_041a: Unknown result type (might be due to invalid IL or missing references)
//IL_041f: Unknown result type (might be due to invalid IL or missing references)
//IL_0435: Unknown result type (might be due to invalid IL or missing references)
//IL_043a: Unknown result type (might be due to invalid IL or missing references)
//IL_043f: Unknown result type (might be due to invalid IL or missing references)
//IL_0455: Unknown result type (might be due to invalid IL or missing references)
//IL_045a: Unknown result type (might be due to invalid IL or missing references)
//IL_045f: Unknown result type (might be due to invalid IL or missing references)
//IL_0475: Unknown result type (might be due to invalid IL or missing references)
//IL_047a: Unknown result type (might be due to invalid IL or missing references)
//IL_047f: Unknown result type (might be due to invalid IL or missing references)
//IL_0495: Unknown result type (might be due to invalid IL or missing references)
//IL_049a: Unknown result type (might be due to invalid IL or missing references)
//IL_049f: Unknown result type (might be due to invalid IL or missing references)
//IL_04b5: Unknown result type (might be due to invalid IL or missing references)
//IL_04ba: Unknown result type (might be due to invalid IL or missing references)
//IL_04bf: Unknown result type (might be due to invalid IL or missing references)
//IL_04d5: Unknown result type (might be due to invalid IL or missing references)
//IL_04da: Unknown result type (might be due to invalid IL or missing references)
//IL_04df: Unknown result type (might be due to invalid IL or missing references)
//IL_04e9: Unknown result type (might be due to invalid IL or missing references)
//IL_04ee: Unknown result type (might be due to invalid IL or missing references)
//IL_04f3: Unknown result type (might be due to invalid IL or missing references)
//IL_0509: Unknown result type (might be due to invalid IL or missing references)
//IL_050e: Unknown result type (might be due to invalid IL or missing references)
//IL_0513: Unknown result type (might be due to invalid IL or missing references)
//IL_0529: Unknown result type (might be due to invalid IL or missing references)
//IL_052e: Unknown result type (might be due to invalid IL or missing references)
//IL_0533: Unknown result type (might be due to invalid IL or missing references)
//IL_0549: Unknown result type (might be due to invalid IL or missing references)
//IL_054e: Unknown result type (might be due to invalid IL or missing references)
//IL_0553: Unknown result type (might be due to invalid IL or missing references)
//IL_0569: Unknown result type (might be due to invalid IL or missing references)
//IL_056e: Unknown result type (might be due to invalid IL or missing references)
//IL_0573: Unknown result type (might be due to invalid IL or missing references)
//IL_0589: Unknown result type (might be due to invalid IL or missing references)
//IL_058e: Unknown result type (might be due to invalid IL or missing references)
//IL_0593: Unknown result type (might be due to invalid IL or missing references)
//IL_05a9: Unknown result type (might be due to invalid IL or missing references)
//IL_05ae: Unknown result type (might be due to invalid IL or missing references)
//IL_05b3: Unknown result type (might be due to invalid IL or missing references)
//IL_05c9: Unknown result type (might be due to invalid IL or missing references)
//IL_05ce: Unknown result type (might be due to invalid IL or missing references)
//IL_05d3: Unknown result type (might be due to invalid IL or missing references)
//IL_05e9: Unknown result type (might be due to invalid IL or missing references)
//IL_05ee: Unknown result type (might be due to invalid IL or missing references)
//IL_05f3: Unknown result type (might be due to invalid IL or missing references)
//IL_0609: Unknown result type (might be due to invalid IL or missing references)
//IL_060e: Unknown result type (might be due to invalid IL or missing references)
//IL_0613: Unknown result type (might be due to invalid IL or missing references)
//IL_0629: Unknown result type (might be due to invalid IL or missing references)
//IL_062e: Unknown result type (might be due to invalid IL or missing references)
//IL_0633: Unknown result type (might be due to invalid IL or missing references)
//IL_0649: Unknown result type (might be due to invalid IL or missing references)
//IL_064e: Unknown result type (might be due to invalid IL or missing references)
//IL_0653: Unknown result type (might be due to invalid IL or missing references)
//IL_0669: Unknown result type (might be due to invalid IL or missing references)
//IL_066e: Unknown result type (might be due to invalid IL or missing references)
//IL_0673: Unknown result type (might be due to invalid IL or missing references)
//IL_0689: Unknown result type (might be due to invalid IL or missing references)
//IL_068e: Unknown result type (might be due to invalid IL or missing references)
//IL_0693: Unknown result type (might be due to invalid IL or missing references)
//IL_06a9: Unknown result type (might be due to invalid IL or missing references)
//IL_06ae: Unknown result type (might be due to invalid IL or missing references)
//IL_06b3: Unknown result type (might be due to invalid IL or missing references)
//IL_06c9: Unknown result type (might be due to invalid IL or missing references)
//IL_06ce: Unknown result type (might be due to invalid IL or missing references)
//IL_06d3: Unknown result type (might be due to invalid IL or missing references)
//IL_06e9: Unknown result type (might be due to invalid IL or missing references)
//IL_06ee: Unknown result type (might be due to invalid IL or missing references)
//IL_06f3: Unknown result type (might be due to invalid IL or missing references)
//IL_0709: Unknown result type (might be due to invalid IL or missing references)
//IL_070e: Unknown result type (might be due to invalid IL or missing references)
//IL_0713: Unknown result type (might be due to invalid IL or missing references)
//IL_0729: Unknown result type (might be due to invalid IL or missing references)
//IL_072e: Unknown result type (might be due to invalid IL or missing references)
//IL_0733: Unknown result type (might be due to invalid IL or missing references)
//IL_0749: Unknown result type (might be due to invalid IL or missing references)
//IL_074e: Unknown result type (might be due to invalid IL or missing references)
//IL_0753: Unknown result type (might be due to invalid IL or missing references)
//IL_0769: Unknown result type (might be due to invalid IL or missing references)
//IL_076e: Unknown result type (might be due to invalid IL or missing references)
//IL_0773: Unknown result type (might be due to invalid IL or missing references)
//IL_0789: Unknown result type (might be due to invalid IL or missing references)
//IL_078e: Unknown result type (might be due to invalid IL or missing references)
//IL_0793: Unknown result type (might be due to invalid IL or missing references)
//IL_079d: Unknown result type (might be due to invalid IL or missing references)
//IL_07a2: Unknown result type (might be due to invalid IL or missing references)
//IL_07a7: Unknown result type (might be due to invalid IL or missing references)
//IL_07bd: Unknown result type (might be due to invalid IL or missing references)
//IL_07c2: Unknown result type (might be due to invalid IL or missing references)
//IL_07c7: Unknown result type (might be due to invalid IL or missing references)
//IL_07dd: Unknown result type (might be due to invalid IL or missing references)
//IL_07e2: Unknown result type (might be due to invalid IL or missing references)
//IL_07e7: Unknown result type (might be due to invalid IL or missing references)
//IL_07fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0802: Unknown result type (might be due to invalid IL or missing references)
//IL_0807: Unknown result type (might be due to invalid IL or missing references)
//IL_081d: Unknown result type (might be due to invalid IL or missing references)
//IL_0822: Unknown result type (might be due to invalid IL or missing references)
//IL_0827: Unknown result type (might be due to invalid IL or missing references)
//IL_083d: Unknown result type (might be due to invalid IL or missing references)
//IL_0842: Unknown result type (might be due to invalid IL or missing references)
//IL_0847: Unknown result type (might be due to invalid IL or missing references)
//IL_085d: Unknown result type (might be due to invalid IL or missing references)
//IL_0862: Unknown result type (might be due to invalid IL or missing references)
//IL_0867: Unknown result type (might be due to invalid IL or missing references)
//IL_087d: Unknown result type (might be due to invalid IL or missing references)
//IL_0882: Unknown result type (might be due to invalid IL or missing references)
//IL_0887: Unknown result type (might be due to invalid IL or missing references)
//IL_089d: Unknown result type (might be due to invalid IL or missing references)
//IL_08a2: Unknown result type (might be due to invalid IL or missing references)
//IL_08a7: Unknown result type (might be due to invalid IL or missing references)
//IL_08bd: Unknown result type (might be due to invalid IL or missing references)
//IL_08c2: Unknown result type (might be due to invalid IL or missing references)
//IL_08c7: Unknown result type (might be due to invalid IL or missing references)
//IL_08dd: Unknown result type (might be due to invalid IL or missing references)
//IL_08e2: Unknown result type (might be due to invalid IL or missing references)
//IL_08e7: Unknown result type (might be due to invalid IL or missing references)
//IL_08fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0902: Unknown result type (might be due to invalid IL or missing references)
//IL_0907: Unknown result type (might be due to invalid IL or missing references)
//IL_091d: Unknown result type (might be due to invalid IL or missing references)
//IL_0922: Unknown result type (might be due to invalid IL or missing references)
//IL_0927: Unknown result type (might be due to invalid IL or missing references)
//IL_093d: Unknown result type (might be due to invalid IL or missing references)
//IL_0942: Unknown result type (might be due to invalid IL or missing references)
//IL_0947: Unknown result type (might be due to invalid IL or missing references)
//IL_095d: Unknown result type (might be due to invalid IL or missing references)
//IL_0962: Unknown result type (might be due to invalid IL or missing references)
//IL_0967: Unknown result type (might be due to invalid IL or missing references)
//IL_097d: Unknown result type (might be due to invalid IL or missing references)
//IL_0982: Unknown result type (might be due to invalid IL or missing references)
//IL_0987: Unknown result type (might be due to invalid IL or missing references)
//IL_099d: Unknown result type (might be due to invalid IL or missing references)
//IL_09a2: Unknown result type (might be due to invalid IL or missing references)
//IL_09a7: Unknown result type (might be due to invalid IL or missing references)
//IL_09bd: Unknown result type (might be due to invalid IL or missing references)
//IL_09c2: Unknown result type (might be due to invalid IL or missing references)
//IL_09c7: Unknown result type (might be due to invalid IL or missing references)
//IL_09dd: Unknown result type (might be due to invalid IL or missing references)
//IL_09e2: Unknown result type (might be due to invalid IL or missing references)
//IL_09e7: Unknown result type (might be due to invalid IL or missing references)
//IL_09fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0a02: Unknown result type (might be due to invalid IL or missing references)
//IL_0a07: Unknown result type (might be due to invalid IL or missing references)
//IL_0a1d: Unknown result type (might be due to invalid IL or missing references)
//IL_0a22: Unknown result type (might be due to invalid IL or missing references)
//IL_0a27: Unknown result type (might be due to invalid IL or missing references)
//IL_0a3d: Unknown result type (might be due to invalid IL or missing references)
//IL_0a42: Unknown result type (might be due to invalid IL or missing references)
//IL_0a47: Unknown result type (might be due to invalid IL or missing references)
//IL_0a5d: Unknown result type (might be due to invalid IL or missing references)
//IL_0a62: Unknown result type (might be due to invalid IL or missing references)
//IL_0a67: Unknown result type (might be due to invalid IL or missing references)
//IL_0a71: Unknown result type (might be due to invalid IL or missing references)
//IL_0a76: Unknown result type (might be due to invalid IL or missing references)
//IL_0a7b: Unknown result type (might be due to invalid IL or missing references)
//IL_0a91: Unknown result type (might be due to invalid IL or missing references)
//IL_0a96: Unknown result type (might be due to invalid IL or missing references)
//IL_0a9b: Unknown result type (might be due to invalid IL or missing references)
//IL_0ab1: Unknown result type (might be due to invalid IL or missing references)
//IL_0ab6: Unknown result type (might be due to invalid IL or missing references)
//IL_0abb: Unknown result type (might be due to invalid IL or missing references)
//IL_0ad1: Unknown result type (might be due to invalid IL or missing references)
//IL_0ad6: Unknown result type (might be due to invalid IL or missing references)
//IL_0adb: Unknown result type (might be due to invalid IL or missing references)
//IL_0af1: Unknown result type (might be due to invalid IL or missing references)
//IL_0af6: Unknown result type (might be due to invalid IL or missing references)
//IL_0afb: Unknown result type (might be due to invalid IL or missing references)
//IL_0b11: Unknown result type (might be due to invalid IL or missing references)
//IL_0b16: Unknown result type (might be due to invalid IL or missing references)
//IL_0b1b: Unknown result type (might be due to invalid IL or missing references)
//IL_0b31: Unknown result type (might be due to invalid IL or missing references)
//IL_0b36: Unknown result type (might be due to invalid IL or missing references)
//IL_0b3b: Unknown result type (might be due to invalid IL or missing references)
//IL_0b51: Unknown result type (might be due to invalid IL or missing references)
//IL_0b56: Unknown result type (might be due to invalid IL or missing references)
//IL_0b5b: Unknown result type (might be due to invalid IL or missing references)
//IL_0b71: Unknown result type (might be due to invalid IL or missing references)
//IL_0b76: Unknown result type (might be due to invalid IL or missing references)
//IL_0b7b: Unknown result type (might be due to invalid IL or missing references)
//IL_0b91: Unknown result type (might be due to invalid IL or missing references)
//IL_0b96: Unknown result type (might be due to invalid IL or missing references)
//IL_0b9b: Unknown result type (might be due to invalid IL or missing references)
//IL_0bb1: Unknown result type (might be due to invalid IL or missing references)
//IL_0bb6: Unknown result type (might be due to invalid IL or missing references)
//IL_0bbb: Unknown result type (might be due to invalid IL or missing references)
//IL_0bd1: Unknown result type (might be due to invalid IL or missing references)
//IL_0bd6: Unknown result type (might be due to invalid IL or missing references)
//IL_0bdb: Unknown result type (might be due to invalid IL or missing references)
//IL_0bf1: Unknown result type (might be due to invalid IL or missing references)
//IL_0bf6: Unknown result type (might be due to invalid IL or missing references)
//IL_0bfb: Unknown result type (might be due to invalid IL or missing references)
//IL_0c11: Unknown result type (might be due to invalid IL or missing references)
//IL_0c16: Unknown result type (might be due to invalid IL or missing references)
//IL_0c1b: Unknown result type (might be due to invalid IL or missing references)
//IL_0c31: Unknown result type (might be due to invalid IL or missing references)
//IL_0c36: Unknown result type (might be due to invalid IL or missing references)
//IL_0c3b: Unknown result type (might be due to invalid IL or missing references)
//IL_0c51: Unknown result type (might be due to invalid IL or missing references)
//IL_0c56: Unknown result type (might be due to invalid IL or missing references)
//IL_0c5b: Unknown result type (might be due to invalid IL or missing references)
//IL_0c71: Unknown result type (might be due to invalid IL or missing references)
//IL_0c76: Unknown result type (might be due to invalid IL or missing references)
//IL_0c7b: Unknown result type (might be due to invalid IL or missing references)
//IL_0c91: Unknown result type (might be due to invalid IL or missing references)
//IL_0c96: Unknown result type (might be due to invalid IL or missing references)
//IL_0c9b: Unknown result type (might be due to invalid IL or missing references)
//IL_0cb1: Unknown result type (might be due to invalid IL or missing references)
//IL_0cb6: Unknown result type (might be due to invalid IL or missing references)
//IL_0cbb: Unknown result type (might be due to invalid IL or missing references)
//IL_0cd1: Unknown result type (might be due to invalid IL or missing references)
//IL_0cd6: Unknown result type (might be due to invalid IL or missing references)
//IL_0cdb: Unknown result type (might be due to invalid IL or missing references)
//IL_0cf1: Unknown result type (might be due to invalid IL or missing references)
//IL_0cf6: Unknown result type (might be due to invalid IL or missing references)
//IL_0cfb: Unknown result type (might be due to invalid IL or missing references)
//IL_0d11: Unknown result type (might be due to invalid IL or missing references)
//IL_0d16: Unknown result type (might be due to invalid IL or missing references)
//IL_0d1b: Unknown result type (might be due to invalid IL or missing references)
//IL_0d31: Unknown result type (might be due to invalid IL or missing references)
//IL_0d36: Unknown result type (might be due to invalid IL or missing references)
//IL_0d3b: Unknown result type (might be due to invalid IL or missing references)
//IL_0d51: Unknown result type (might be due to invalid IL or missing references)
//IL_0d56: Unknown result type (might be due to invalid IL or missing references)
//IL_0d5b: Unknown result type (might be due to invalid IL or missing references)
//IL_0d71: Unknown result type (might be due to invalid IL or missing references)
//IL_0d76: Unknown result type (might be due to invalid IL or missing references)
//IL_0d7b: Unknown result type (might be due to invalid IL or missing references)
//IL_0d91: Unknown result type (might be due to invalid IL or missing references)
//IL_0d96: Unknown result type (might be due to invalid IL or missing references)
//IL_0d9b: Unknown result type (might be due to invalid IL or missing references)
//IL_0db1: Unknown result type (might be due to invalid IL or missing references)
//IL_0db6: Unknown result type (might be due to invalid IL or missing references)
//IL_0dbb: Unknown result type (might be due to invalid IL or missing references)
//IL_0dd1: Unknown result type (might be due to invalid IL or missing references)
//IL_0dd6: Unknown result type (might be due to invalid IL or missing references)
//IL_0ddb: Unknown result type (might be due to invalid IL or missing references)
//IL_0df1: Unknown result type (might be due to invalid IL or missing references)
//IL_0df6: Unknown result type (might be due to invalid IL or missing references)
//IL_0dfb: Unknown result type (might be due to invalid IL or missing references)
//IL_0e11: Unknown result type (might be due to invalid IL or missing references)
//IL_0e16: Unknown result type (might be due to invalid IL or missing references)
//IL_0e1b: Unknown result type (might be due to invalid IL or missing references)
//IL_0e31: Unknown result type (might be due to invalid IL or missing references)
//IL_0e36: Unknown result type (might be due to invalid IL or missing references)
//IL_0e3b: Unknown result type (might be due to invalid IL or missing references)
//IL_0e51: Unknown result type (might be due to invalid IL or missing references)
//IL_0e56: Unknown result type (might be due to invalid IL or missing references)
//IL_0e5b: Unknown result type (might be due to invalid IL or missing references)
//IL_0e71: Unknown result type (might be due to invalid IL or missing references)
//IL_0e76: Unknown result type (might be due to invalid IL or missing references)
//IL_0e7b: Unknown result type (might be due to invalid IL or missing references)
//IL_0e91: Unknown result type (might be due to invalid IL or missing references)
//IL_0e96: Unknown result type (might be due to invalid IL or missing references)
//IL_0e9b: Unknown result type (might be due to invalid IL or missing references)
//IL_0eb1: Unknown result type (might be due to invalid IL or missing references)
//IL_0eb6: Unknown result type (might be due to invalid IL or missing references)
//IL_0ebb: Unknown result type (might be due to invalid IL or missing references)
//IL_0ed1: Unknown result type (might be due to invalid IL or missing references)
//IL_0ed6: Unknown result type (might be due to invalid IL or missing references)
//IL_0edb: Unknown result type (might be due to invalid IL or missing references)
//IL_0ef1: Unknown result type (might be due to invalid IL or missing references)
//IL_0ef6: Unknown result type (might be due to invalid IL or missing references)
//IL_0efb: Unknown result type (might be due to invalid IL or missing references)
//IL_0f11: Unknown result type (might be due to invalid IL or missing references)
//IL_0f16: Unknown result type (might be due to invalid IL or missing references)
//IL_0f1b: Unknown result type (might be due to invalid IL or missing references)
//IL_0f25: Unknown result type (might be due to invalid IL or missing references)
//IL_0f2a: Unknown result type (might be due to invalid IL or missing references)
//IL_0f2f: Unknown result type (might be due to invalid IL or missing references)
//IL_0f45: Unknown result type (might be due to invalid IL or missing references)
//IL_0f4a: Unknown result type (might be due to invalid IL or missing references)
//IL_0f4f: Unknown result type (might be due to invalid IL or missing references)
//IL_0f65: Unknown result type (might be due to invalid IL or missing references)
//IL_0f6a: Unknown result type (might be due to invalid IL or missing references)
//IL_0f6f: Unknown result type (might be due to invalid IL or missing references)
//IL_0f85: Unknown result type (might be due to invalid IL or missing references)
//IL_0f8a: Unknown result type (might be due to invalid IL or missing references)
//IL_0f8f: Unknown result type (might be due to invalid IL or missing references)
//IL_0fa5: Unknown result type (might be due to invalid IL or missing references)
//IL_0faa: Unknown result type (might be due to invalid IL or missing references)
//IL_0faf: Unknown result type (might be due to invalid IL or missing references)
//IL_0fc5: Unknown result type (might be due to invalid IL or missing references)
//IL_0fca: Unknown result type (might be due to invalid IL or missing references)
//IL_0fcf: Unknown result type (might be due to invalid IL or missing references)
//IL_0fe5: Unknown result type (might be due to invalid IL or missing references)
//IL_0fea: Unknown result type (might be due to invalid IL or missing references)
//IL_0fef: Unknown result type (might be due to invalid IL or missing references)
//IL_1005: Unknown result type (might be due to invalid IL or missing references)
//IL_100a: Unknown result type (might be due to invalid IL or missing references)
//IL_100f: Unknown result type (might be due to invalid IL or missing references)
//IL_1025: Unknown result type (might be due to invalid IL or missing references)
//IL_102a: Unknown result type (might be due to invalid IL or missing references)
//IL_102f: Unknown result type (might be due to invalid IL or missing references)
//IL_1045: Unknown result type (might be due to invalid IL or missing references)
//IL_104a: Unknown result type (might be due to invalid IL or missing references)
//IL_104f: Unknown result type (might be due to invalid IL or missing references)
//IL_1065: Unknown result type (might be due to invalid IL or missing references)
//IL_106a: Unknown result type (might be due to invalid IL or missing references)
//IL_106f: Unknown result type (might be due to invalid IL or missing references)
//IL_1085: Unknown result type (might be due to invalid IL or missing references)
//IL_108a: Unknown result type (might be due to invalid IL or missing references)
//IL_108f: Unknown result type (might be due to invalid IL or missing references)
//IL_10a5: Unknown result type (might be due to invalid IL or missing references)
//IL_10aa: Unknown result type (might be due to invalid IL or missing references)
//IL_10af: Unknown result type (might be due to invalid IL or missing references)
//IL_10c5: Unknown result type (might be due to invalid IL or missing references)
//IL_10ca: Unknown result type (might be due to invalid IL or missing references)
//IL_10cf: Unknown result type (might be due to invalid IL or missing references)
//IL_10e5: Unknown result type (might be due to invalid IL or missing references)
//IL_10ea: Unknown result type (might be due to invalid IL or missing references)
//IL_10ef: Unknown result type (might be due to invalid IL or missing references)
//IL_1105: Unknown result type (might be due to invalid IL or missing references)
//IL_110a: Unknown result type (might be due to invalid IL or missing references)
//IL_110f: Unknown result type (might be due to invalid IL or missing references)
//IL_1125: Unknown result type (might be due to invalid IL or missing references)
//IL_112a: Unknown result type (might be due to invalid IL or missing references)
//IL_112f: Unknown result type (might be due to invalid IL or missing references)
//IL_1145: Unknown result type (m