Some mods may be broken due to the recent Alloyed Collective update.
Decompiled source of Piccolo v2.0.2
Dragon Ball Z/Piccolo.dll
Decompiled 2 years agousing System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using DBZUtils; using EntityStates; using EntityStates.Commando; using KinematicCharacterController; using R2API; using R2API.Utils; using RoR2; using RoR2.Projectile; using RoR2.Skills; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")] [assembly: AssemblyCompany("Dragonyck")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Piccolo")] [assembly: AssemblyTitle("Piccolo")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Piccolo; internal class Assets { public static AssetBundle MainAssetBundle; public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Piccolo.piccoloassets"); MainAssetBundle = AssetBundle.LoadFromStream(stream); } using Stream stream2 = Assembly.GetExecutingAssembly().GetManifestResourceStream("Piccolo.Piccolo.bnk"); byte[] array = new byte[stream2.Length]; stream2.Read(array, 0, array.Length); SoundBanks.Add(array); } } [RequireComponent(typeof(MissileController))] [RequireComponent(typeof(ProjectileSteerTowardTarget))] [RequireComponent(typeof(ProjectileTargetComponent))] [RequireComponent(typeof(ProjectileController))] internal class HellzoneGrenadeProjectileBehaviour : MonoBehaviour { [SerializeField] private MissileController missile; [SerializeField] private ProjectileSteerTowardTarget steer; [SerializeField] private ProjectileTargetComponent target; [SerializeField] private ProjectileController controller; [SerializeField] private GameObject owner; [SerializeField] private CharacterBody body; [SerializeField] private ModelLocator modelLocator; [SerializeField] private DBZSkillEventHandler skillEvent; private void OnEnable() { } private void Update() { //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)owner)) { missile = ((Component)this).GetComponent<MissileController>(); target = ((Component)this).GetComponent<ProjectileTargetComponent>(); steer = ((Component)this).GetComponent<ProjectileSteerTowardTarget>(); controller = ((Component)this).GetComponent<ProjectileController>(); if (Object.op_Implicit((Object)(object)controller) && Object.op_Implicit((Object)(object)controller.Networkowner)) { owner = controller.owner; body = owner.GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)body)) { modelLocator = body.modelLocator; if (Object.op_Implicit((Object)(object)modelLocator) && Object.op_Implicit((Object)(object)modelLocator.modelTransform)) { skillEvent = ((Component)modelLocator.modelTransform).GetComponent<DBZSkillEventHandler>(); } } } } if (Object.op_Implicit((Object)(object)target.target)) { float num = Vector3.Distance(((Component)this).transform.position, target.target.position); if (num <= 18f) { missile.maxVelocity = 0f; ((Component)this).GetComponent<Rigidbody>().velocity = Vector3.zero; } } if (Object.op_Implicit((Object)(object)missile) && Object.op_Implicit((Object)(object)skillEvent) && skillEvent.detonateHellzone) { missile.maxVelocity = 70f; steer.rotationSpeed = 300f; } } } internal class Hook { internal static void Hooks() { } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.DragonyckPiccolo", "Piccolo", "2.0.2")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] public class MainPlugin : BaseUnityPlugin { public const string MODUID = "com.DragonyckPiccolo"; public const string MODNAME = "Piccolo"; public const string VERSION = "2.0.2"; public const string SURVIVORNAME = "Piccolo"; public const string SURVIVORNAMEKEY = "PICCOLO"; public const string SURVIVORNAME2 = "Piccolo (Power Awakening)"; public const string SURVIVORNAMEKEY2 = "PICCOLO2"; public const string SURVIVORNAME3 = "Piccolo (Orange)"; public const string SURVIVORNAMEKEY3 = "PICCOLO3"; private static List<string> powerupBodyList = new List<string> { "PiccoloBody", "Piccolo (Power Awakening)Body", "Piccolo (Orange)Body" }; private void Awake() { Assets.PopulateAssets(); Prefabs.CreatePrefabs(); CreateSurvivor(); CreatePowerupSurvivor("Newccolo", "Piccolo (Power Awakening)", "PICCOLO2", 1.5f); CreatePowerupSurvivor("Swoleccolo", "Piccolo (Orange)", "PICCOLO3", 2f); RegisterStates(); Hook.Hooks(); } internal static void CreateSurvivor() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Unknown result type (might be due to invalid IL or missing references) //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_027c: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Expected O, but got Unknown //IL_0286: Expected O, but got Unknown //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Expected O, but got Unknown //IL_02bc: Expected O, but got Unknown //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Expected O, but got Unknown //IL_02f2: Expected O, but got Unknown //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_031e: Unknown result type (might be due to invalid IL or missing references) //IL_0328: Expected O, but got Unknown //IL_0328: Expected O, but got Unknown //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_035e: Expected O, but got Unknown //IL_035e: Expected O, but got Unknown //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_0394: Expected O, but got Unknown //IL_0394: Expected O, but got Unknown //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03c0: Unknown result type (might be due to invalid IL or missing references) //IL_03ca: Expected O, but got Unknown //IL_03ca: Expected O, but got Unknown //IL_03e1: Unknown result type (might be due to invalid IL or missing references) //IL_03f6: Unknown result type (might be due to invalid IL or missing references) //IL_0400: Expected O, but got Unknown //IL_0400: Expected O, but got Unknown //IL_0417: Unknown result type (might be due to invalid IL or missing references) //IL_042c: Unknown result type (might be due to invalid IL or missing references) //IL_0436: Expected O, but got Unknown //IL_0436: Expected O, but got Unknown //IL_044d: Unknown result type (might be due to invalid IL or missing references) //IL_0462: Unknown result type (might be due to invalid IL or missing references) //IL_046c: Expected O, but got Unknown //IL_046c: Expected O, but got Unknown //IL_0483: Unknown result type (might be due to invalid IL or missing references) //IL_0498: Unknown result type (might be due to invalid IL or missing references) //IL_04a2: Expected O, but got Unknown //IL_04a2: Expected O, but got Unknown //IL_04b9: Unknown result type (might be due to invalid IL or missing references) //IL_04ce: Unknown result type (might be due to invalid IL or missing references) //IL_04d8: Expected O, but got Unknown //IL_04d8: Expected O, but got Unknown //IL_04ef: Unknown result type (might be due to invalid IL or missing references) //IL_0504: Unknown result type (might be due to invalid IL or missing references) //IL_050e: Expected O, but got Unknown //IL_050e: Expected O, but got Unknown //IL_0525: Unknown result type (might be due to invalid IL or missing references) //IL_053a: Unknown result type (might be due to invalid IL or missing references) //IL_0544: Expected O, but got Unknown //IL_0544: Expected O, but got Unknown //IL_055b: Unknown result type (might be due to invalid IL or missing references) //IL_056d: Unknown result type (might be due to invalid IL or missing references) //IL_0577: Expected O, but got Unknown //IL_0577: Expected O, but got Unknown //IL_058e: Unknown result type (might be due to invalid IL or missing references) //IL_05a3: Unknown result type (might be due to invalid IL or missing references) //IL_05ad: Expected O, but got Unknown //IL_05ad: Expected O, but got Unknown //IL_05b7: Unknown result type (might be due to invalid IL or missing references) //IL_05b9: Unknown result type (might be due to invalid IL or missing references) //IL_05e0: Unknown result type (might be due to invalid IL or missing references) //IL_05e5: Unknown result type (might be due to invalid IL or missing references) //IL_0686: Unknown result type (might be due to invalid IL or missing references) //IL_068b: Unknown result type (might be due to invalid IL or missing references) //IL_06c8: Unknown result type (might be due to invalid IL or missing references) //IL_06df: 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_06e9: Unknown result type (might be due to invalid IL or missing references) GameObject val = Assets.MainAssetBundle.LoadAsset<GameObject>("Piccolo"); SurvivorDef val2 = default(SurvivorDef); CharacterBody val3 = DBZSurvivors.SetupNewDBZSurvivor(val, "Piccolo", ref val2); ((Object)val3).name = "PiccoloBody"; val3.baseNameToken = "PICCOLO_NAME"; val3.subtitleNameToken = "PICCOLO_SUBTITLE"; val3.bodyFlags = (BodyFlags)16; val3.rootMotionInMainState = false; val3.mainRootSpeed = 0f; val3.baseMaxHealth = 110f; val3.levelMaxHealth = 33f; val3.baseRegen = 4f; val3.levelRegen = 0.6f; val3.baseMaxShield = 0f; val3.levelMaxShield = 0f; val3.baseMoveSpeed = 7f; val3.levelMoveSpeed = 0f; val3.baseAcceleration = 110f; val3.baseJumpPower = 15f; val3.levelJumpPower = 0f; val3.baseDamage = 12f; val3.levelDamage = 2.4f; val3.baseAttackSpeed = 1f; val3.levelAttackSpeed = 0f; val3.baseCrit = 1f; val3.levelCrit = 0f; val3.baseArmor = 20f; val3.levelArmor = 0f; val3.baseJumpCount = 2; val3.sprintingSpeedMultiplier = 1.45f; val3.wasLucky = false; val3.hideCrosshair = false; val3.hullClassification = (HullClassification)0; val3.portraitIcon = (Texture)(object)Assets.MainAssetBundle.LoadAsset<Sprite>("portrait").texture; val3.isChampion = false; val3.currentVehicle = null; val3.skinIndex = 0u; val3.bodyColor = new Color(0.63922f, 0.72157f, 0.09804f); ((Component)val3).GetComponent<CameraTargetParams>().cameraParams = Addressables.LoadAssetAsync<CharacterCameraParams>((object)"RoR2/Base/Common/ccpStandardMelee.asset").WaitForCompletion(); ConfigFile val4 = Utils.CreateConfig(val3); ((Component)val3).GetComponent<KiBehaviour>().hasPowerup = true; DBZSurvivorDef val5 = ScriptableObject.CreateInstance<DBZSurvivorDef>(); val5.attackVO = Sounds.Play_DBZ_Piccolo_Attack; val5.bossEncounterVO = Sounds.Play_DBZ_Piccolo_FinalBossEncounter; val5.bossKillVO = Sounds.Play_DBZ_Piccolo_BossKill; val5.heavyHitVO = Sounds.Play_DBZ_Piccolo_HeavyDMG; val5.killVO = Sounds.Play_DBZ_Piccolo_Kill; val5.lightHitVO = Sounds.Play_DBZ_Piccolo_LightDMG; val5.skillVO = Sounds.Play_DBZ_Piccolo_Skill; val5.deathVO = Sounds.Play_DBZ_Piccolo_Death; val5.vfxColor = (VFXColor)3; val5.config = val4; val5.powerupBodyList = powerupBodyList; val5.memory = new PowerupMemory { spentKiCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Ki Spent", "Coefficient"), 0.00025f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, baseKillCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Base Kill", "Coefficient"), 0.25f, new ConfigDescription("FinalValue = xKillCoeff * baseKillCoefficient * powerupCount", (AcceptableValueBase)null, Array.Empty<object>())).Value, regularKillCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Regular Enemy Kill", "Coefficient"), 0.001f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, eliteKillCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Elite Kill", "Coefficient"), 0.0025f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, bossKillCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Boss Kill", "Coefficient"), 0.035f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, baseItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Base Item", "Coefficient"), 0.012f, new ConfigDescription("FinalValue = xItemCoeff * baseItemCoefficient * powerupCount", (AcceptableValueBase)null, Array.Empty<object>())).Value, whiteItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: White Item", "Coefficient"), 0.0001f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, greenItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Green Item", "Coefficient"), 0.002f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, bossItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Boss Item", "Coefficient"), 0.002f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, redItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Red Item", "Coefficient"), 0.0045f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, lunarItemMaxCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Lunar Item Max Coefficient", "Coefficient"), 0.004f, new ConfigDescription("Random chance between 0 and this value.", (AcceptableValueBase)null, Array.Empty<object>())).Value, moddedTierItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Ki Spent", "Coefficient"), 0.0025f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, baseDamageDealtCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Damage Dealt", "Coefficient"), 5E-07f, new ConfigDescription("FinalValue = xDamageDealt * baseDamageCoefficient * powerupCount. Item procs count towards powerup gains.", (AcceptableValueBase)null, Array.Empty<object>())).Value, baseDamageTakenCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Damage Taken", "Coefficient"), 5E-06f, new ConfigDescription("FinalValue = xDamageTaken * baseDamageCoefficient * powerupCount", (AcceptableValueBase)null, Array.Empty<object>())).Value, requiredKillsForBonus = val4.Bind<int>(new ConfigDefinition("Powerup: Required Kills For Bonus Gain", "Kills"), 100, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, bonusBasedOnRequiredKills = val4.Bind<float>(new ConfigDefinition("Powerup: Bonus Based On Required Kills", "Bonus"), 0.0012f, new ConfigDescription("FinalValue = bonusBasedOnRequiredKills * powerupCount", (AcceptableValueBase)null, Array.Empty<object>())).Value }; DBZSurvivorCatalog.AddDBZSurvivorDef(val3.baseNameToken, val5); EntityStateMachine component = ((Component)val3).GetComponent<EntityStateMachine>(); component.mainStateType = new SerializableEntityStateType(typeof(DBZCharacterMain)); string text = "<style=cSub>\r\n\r\n< ! > " + Environment.NewLine + "<style=cSub>\r\n\r\n< ! > " + Environment.NewLine + "<style=cSub>\r\n\r\n< ! > " + Environment.NewLine + "<style=cSub>\r\n\r\n< ! > "; string text2 = "..and so he left."; string text3 = "..and so he vanished."; LanguageAPI.Add("PICCOLO_NAME", "Piccolo"); LanguageAPI.Add("PICCOLO_DESCRIPTION", text); LanguageAPI.Add("PICCOLO_SUBTITLE", ""); LanguageAPI.Add("PICCOLO_OUTRO", text2); LanguageAPI.Add("PICCOLO_FAIL", text3); val2.primaryColor = val3.bodyColor; val2.desiredSortPosition = 17f; DBZAimIndicator val6 = ((Component)val3).gameObject.AddComponent<DBZAimIndicator>(); SkillSetup(((Component)val3).gameObject); AddHitBoxes(val.transform); DBZSurvivors.survivorSceneProps.Add(val, new TransformMemory { position = new Vector3(-0.2f, 1.157f, 11f) }); } internal static void CreatePowerupSurvivor(string modelName, string survivorName, string survivorNameKey, float statMultValue) { //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Expected O, but got Unknown //IL_004d: Expected O, but got Unknown //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0266: 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_0284: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Unknown result type (might be due to invalid IL or missing references) //IL_031e: Unknown result type (might be due to invalid IL or missing references) //IL_0332: Unknown result type (might be due to invalid IL or missing references) //IL_0347: Unknown result type (might be due to invalid IL or missing references) //IL_0351: Expected O, but got Unknown //IL_0351: Expected O, but got Unknown //IL_0369: 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_0388: Expected O, but got Unknown //IL_0388: Expected O, but got Unknown //IL_03a0: 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_03bf: Expected O, but got Unknown //IL_03bf: Expected O, but got Unknown //IL_03d7: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_03f6: Expected O, but got Unknown //IL_03f6: Expected O, but got Unknown //IL_040e: Unknown result type (might be due to invalid IL or missing references) //IL_0423: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Expected O, but got Unknown //IL_042d: Expected O, but got Unknown //IL_0445: 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_0464: Expected O, but got Unknown //IL_0464: Expected O, but got Unknown //IL_047c: Unknown result type (might be due to invalid IL or missing references) //IL_0491: Unknown result type (might be due to invalid IL or missing references) //IL_049b: Expected O, but got Unknown //IL_049b: Expected O, but got Unknown //IL_04b3: Unknown result type (might be due to invalid IL or missing references) //IL_04c8: Unknown result type (might be due to invalid IL or missing references) //IL_04d2: Expected O, but got Unknown //IL_04d2: Expected O, but got Unknown //IL_04ea: Unknown result type (might be due to invalid IL or missing references) //IL_04ff: Unknown result type (might be due to invalid IL or missing references) //IL_0509: Expected O, but got Unknown //IL_0509: Expected O, but got Unknown //IL_0521: Unknown result type (might be due to invalid IL or missing references) //IL_0536: Unknown result type (might be due to invalid IL or missing references) //IL_0540: Expected O, but got Unknown //IL_0540: Expected O, but got Unknown //IL_0558: Unknown result type (might be due to invalid IL or missing references) //IL_056d: Unknown result type (might be due to invalid IL or missing references) //IL_0577: Expected O, but got Unknown //IL_0577: Expected O, but got Unknown //IL_058f: Unknown result type (might be due to invalid IL or missing references) //IL_05a4: Unknown result type (might be due to invalid IL or missing references) //IL_05ae: Expected O, but got Unknown //IL_05ae: Expected O, but got Unknown //IL_05c6: Unknown result type (might be due to invalid IL or missing references) //IL_05db: Unknown result type (might be due to invalid IL or missing references) //IL_05e5: Expected O, but got Unknown //IL_05e5: Expected O, but got Unknown //IL_05fd: Unknown result type (might be due to invalid IL or missing references) //IL_0612: Unknown result type (might be due to invalid IL or missing references) //IL_061c: Expected O, but got Unknown //IL_061c: Expected O, but got Unknown //IL_0634: Unknown result type (might be due to invalid IL or missing references) //IL_0646: Unknown result type (might be due to invalid IL or missing references) //IL_0650: Expected O, but got Unknown //IL_0650: Expected O, but got Unknown //IL_0668: Unknown result type (might be due to invalid IL or missing references) //IL_067d: Unknown result type (might be due to invalid IL or missing references) //IL_0687: Expected O, but got Unknown //IL_0687: Expected O, but got Unknown //IL_0691: 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_070a: Unknown result type (might be due to invalid IL or missing references) //IL_08b9: Unknown result type (might be due to invalid IL or missing references) //IL_08be: Unknown result type (might be due to invalid IL or missing references) //IL_08d0: Unknown result type (might be due to invalid IL or missing references) //IL_08e1: Unknown result type (might be due to invalid IL or missing references) //IL_08eb: Expected O, but got Unknown //IL_08eb: Expected O, but got Unknown //IL_0778: Unknown result type (might be due to invalid IL or missing references) //IL_07a1: 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) GameObject val = Assets.MainAssetBundle.LoadAsset<GameObject>(modelName); ChildLocator component = val.GetComponent<ChildLocator>(); SurvivorDef val2 = default(SurvivorDef); CharacterBody val3 = DBZSurvivors.SetupNewDBZSurvivor(val, survivorName, ref val2); ConfigFile val4 = Utils.CreateConfig(val3); float value = val4.Bind<float>(new ConfigDefinition("Powerup: Stat Multiplier", "Multiplier"), statMultValue, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value; ((Object)val3).name = survivorName + "Body"; val3.baseNameToken = survivorNameKey + "_NAME"; val3.subtitleNameToken = survivorNameKey + "_SUBTITLE"; val3.bodyFlags = (BodyFlags)16; val3.rootMotionInMainState = false; val3.mainRootSpeed = 0f; val3.baseMaxHealth = 110f * value; val3.levelMaxHealth = 33f * value; val3.baseRegen = 1.5f * value; val3.levelRegen = 0.2f * value; val3.baseMaxShield = 0f; val3.levelMaxShield = 0f; val3.baseMoveSpeed = 7f; val3.levelMoveSpeed = 0f; val3.baseAcceleration = 110f; val3.baseJumpPower = 15f; val3.levelJumpPower = 0f; val3.baseDamage = 12f * value; val3.levelDamage = 2.4f * value; val3.baseAttackSpeed = 1f; val3.levelAttackSpeed = 0f; val3.baseCrit = 1f * value; val3.levelCrit = 0f; val3.baseArmor = 20f * value; val3.levelArmor = 0f; val3.baseJumpCount = 1; val3.sprintingSpeedMultiplier = 1.45f; val3.wasLucky = false; val3.hideCrosshair = false; val3.hullClassification = (HullClassification)0; val3.isChampion = false; val3.currentVehicle = null; val3.skinIndex = 0u; val3.bodyColor = new Color(0.63922f, 0.72157f, 0.09804f); val3.aimOriginTransform.localPosition = new Vector3(0f, 1f, 0f); KiBehaviour component2 = ((Component)val3).GetComponent<KiBehaviour>(); component2.hasPowerup = true; component2.maxKiValue = 1f * value; component2.passiveRegenValue = 0.02f * value; component2.passiveRegen = true; EntityStateMachine component3 = ((Component)val3).GetComponent<EntityStateMachine>(); component3.initialStateType = new SerializableEntityStateType(typeof(BasePowerupSpawnState)); component3.mainStateType = new SerializableEntityStateType(typeof(DBZCharacterMain)); CharacterDeathBehavior component4 = ((Component)val3).GetComponent<CharacterDeathBehavior>(); component4.deathState = new SerializableEntityStateType(typeof(DeathState)); DBZAimIndicator val5 = ((Component)val3).gameObject.AddComponent<DBZAimIndicator>(); DBZSurvivorDef val6 = ScriptableObject.CreateInstance<DBZSurvivorDef>(); val6.attackVO = Sounds.Play_DBZ_Piccolo_Attack; val6.bossEncounterVO = Sounds.Play_DBZ_Piccolo_FinalBossEncounter; val6.bossKillVO = Sounds.Play_DBZ_Piccolo_BossKill; val6.heavyHitVO = Sounds.Play_DBZ_Piccolo_HeavyDMG; val6.killVO = Sounds.Play_DBZ_Piccolo_Kill; val6.lightHitVO = Sounds.Play_DBZ_Piccolo_LightDMG; val6.skillVO = Sounds.Play_DBZ_Piccolo_Skill; val6.deathVO = Sounds.Play_DBZ_Piccolo_Death; val6.vfxColor = (VFXColor)3; val6.config = val4; val6.powerupBodyList = powerupBodyList; val6.memory = new PowerupMemory { spentKiCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Ki Spent", "Coefficient"), 0.00025f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, baseKillCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Base Kill", "Coefficient"), 0.25f, new ConfigDescription("FinalValue = xKillCoeff * baseKillCoefficient * powerupCount", (AcceptableValueBase)null, Array.Empty<object>())).Value, regularKillCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Regular Enemy Kill", "Coefficient"), 0.001f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, eliteKillCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Elite Kill", "Coefficient"), 0.0025f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, bossKillCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Boss Kill", "Coefficient"), 0.035f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, baseItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Base Item", "Coefficient"), 0.012f, new ConfigDescription("FinalValue = xItemCoeff * baseItemCoefficient * powerupCount", (AcceptableValueBase)null, Array.Empty<object>())).Value, whiteItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: White Item", "Coefficient"), 0.0001f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, greenItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Green Item", "Coefficient"), 0.002f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, bossItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Boss Item", "Coefficient"), 0.002f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, redItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Red Item", "Coefficient"), 0.0045f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, lunarItemMaxCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Lunar Item Max Coefficient", "Coefficient"), 0.004f, new ConfigDescription("Random chance between 0 and this value.", (AcceptableValueBase)null, Array.Empty<object>())).Value, moddedTierItemCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Ki Spent", "Coefficient"), 0.0025f, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, baseDamageDealtCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Damage Dealt", "Coefficient"), 5E-07f, new ConfigDescription("FinalValue = xDamageDealt * baseDamageCoefficient * powerupCount. Item procs count towards powerup gains.", (AcceptableValueBase)null, Array.Empty<object>())).Value, baseDamageTakenCoefficient = val4.Bind<float>(new ConfigDefinition("Powerup: Damage Taken", "Coefficient"), 5E-06f, new ConfigDescription("FinalValue = xDamageTaken * baseDamageCoefficient * powerupCount", (AcceptableValueBase)null, Array.Empty<object>())).Value, requiredKillsForBonus = val4.Bind<int>(new ConfigDefinition("Powerup: Required Kills For Bonus Gain", "Kills"), 100, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())).Value, bonusBasedOnRequiredKills = val4.Bind<float>(new ConfigDefinition("Powerup: Bonus Based On Required Kills", "Bonus"), 0.0012f, new ConfigDescription("FinalValue = bonusBasedOnRequiredKills * powerupCount", (AcceptableValueBase)null, Array.Empty<object>())).Value }; SkillLocator component5 = ((Component)val3).GetComponent<SkillLocator>(); AddPassive(component5); if (!(survivorName == "Piccolo (Power Awakening)")) { if (survivorName == "Piccolo (Orange)") { component2.hasPowerup = false; val6.powerupBodyList = null; AddPrimary(component5); AddGigaPunch(component5); AddUtility(component5); AddFullPowerEnergyWave(component5); val2.desiredSortPosition = 17.2f; val6.vfxColor = (VFXColor)7; ModelLocator component6 = ((Component)val3).GetComponent<ModelLocator>(); component6.modelBaseTransform.GetChild(0).localPosition = new Vector3(0f, 1.5f, 0f); component6.modelBaseTransform.localScale = new Vector3(-1f, 1f, 1f); val3.portraitIcon = (Texture)(object)Assets.MainAssetBundle.LoadAsset<Sprite>("portrait3").texture; AddSwoleHitBoxes(val.transform); } } else { ((Component)val3).gameObject.AddComponent<DBZAimIndicator>(); AddPrimary(component5); AddEvilExplosion(component5); AddUtility(component5); AddLightGrenade(component5); val2.desiredSortPosition = 17.1f; val6.vfxColor = (VFXColor)4; val3.portraitIcon = (Texture)(object)Assets.MainAssetBundle.LoadAsset<Sprite>("portrait2").texture; AddHitBoxes(val.transform); } DBZSurvivorCatalog.AddDBZSurvivorDef(val3.baseNameToken, val6); string text = "<style=cSub>\r\n\r\n< ! > " + Environment.NewLine + "<style=cSub>\r\n\r\n< ! > " + Environment.NewLine + "<style=cSub>\r\n\r\n< ! > " + Environment.NewLine + "<style=cSub>\r\n\r\n< ! > "; string text2 = "..and so he left."; string text3 = "..and so he vanished."; LanguageAPI.Add(survivorNameKey + "_NAME", survivorName); LanguageAPI.Add(survivorNameKey + "_DESCRIPTION", text); LanguageAPI.Add(survivorNameKey + "_SUBTITLE", ""); LanguageAPI.Add(survivorNameKey + "_OUTRO", text2); LanguageAPI.Add(survivorNameKey + "_FAIL", text3); val2.primaryColor = val3.bodyColor; val2.hidden = val4.Bind<bool>(new ConfigDefinition("Hidden Survivor", "Hidden"), true, new ConfigDescription("Hide in Character Select", (AcceptableValueBase)null, Array.Empty<object>())).Value; } private static void AddSwoleHitBoxes(Transform parent) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) Utils.CreateHitbox("GigaPunch", parent, new Vector3(-5.8f, 5.8f, 9.1f)).transform.localPosition = new Vector3(0f, 1.3f, 3.6f); Utils.CreateHitbox("Punch", parent, new Vector3(-4.8f, 4.8f, 5.1f)).transform.localPosition = new Vector3(0f, 1.3f, 1.1f); Utils.CreateHitbox("EvilExplosion", parent, new Vector3(-6.5f, 6f, 18f)).transform.localPosition = new Vector3(0f, 1f, 8f); } private static void AddHitBoxes(Transform parent) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) GameObject val = Utils.CreateHitbox("Punch", parent, new Vector3(4.5f, 4.5f, 4.8f)); val.transform.localPosition = new Vector3(0f, 1.3f, 1f); GameObject val2 = Utils.CreateHitbox("EvilExplosion", parent, new Vector3(6.5f, 6f, 18f)); val2.transform.localPosition = new Vector3(0f, 1f, 8f); } private void RegisterStates() { //IL_0003: 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_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) bool flag = default(bool); ContentAddition.AddEntityState<Secondary>(ref flag); ContentAddition.AddEntityState<SecondaryEnd>(ref flag); ContentAddition.AddEntityState<SecondaryAlt>(ref flag); ContentAddition.AddEntityState<Special>(ref flag); ContentAddition.AddEntityState<SpecialFire>(ref flag); ContentAddition.AddEntityState<BaseSpecialAlt>(ref flag); } private static void SkillSetup(GameObject characterPrefab) { SkillLocator component = characterPrefab.GetComponent<SkillLocator>(); LanguageAPI.Add("PICCOLO_PASSIVE_NAME", "Namekian Physiology"); LanguageAPI.Add("PICCOLO_PASSIVE_DESCRIPTION", "Increased health <style=cIsHealing>regeneration</style>."); SkillDef switchSkillDef = null; SkillDef switchSkillDef2 = null; SkillDef switchSkillDef3 = null; SkillDef switchSkillDef4 = null; AddPassive(component); AddPrimary(component); AddSecondary(component, out switchSkillDef); AddAltSecondary(component, out switchSkillDef2); AddUtility(component); AddSpecial(component, out switchSkillDef3); AddAltSpecial(component, out switchSkillDef4); SkillSwitchBehaviour val = characterPrefab.AddComponent<SkillSwitchBehaviour>(); val.secondarySkillDefList = new List<SkillDef> { switchSkillDef, switchSkillDef2 }; val.specialSkillDefList = new List<SkillDef> { switchSkillDef3, switchSkillDef4 }; } private static void AddFullPowerEnergyWave(SkillLocator skillLocator) { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Expected O, but got Unknown //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: 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_0288: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Expected O, but got Unknown //IL_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) SkillDef val = null; SkillDef val2 = null; LanguageAPI.Add("PICCOLO_APOC", "Apocalyptic Burst"); LanguageAPI.Add("PICCOLO_APOC_DESCRIPTION", "Peform two forward kicks for <style=cIsDamage>360%</style> damage each, followed by a twist kick dealing <style=cIsDamage>480%</style> damage then finish with a quick-charged ki orb attack for <style=cIsDamage>1200%</style> damage."); DBZSkillDef val3 = ScriptableObject.CreateInstance<DBZSkillDef>(); ((SkillDef)val3).activationStateMachineName = "NoMovement"; ((SkillDef)val3).activationState = new SerializableEntityStateType(typeof(ApocalypticBurst)); ((SkillDef)val3).baseMaxStock = 1; ((SkillDef)val3).baseRechargeInterval = 12f; ((SkillDef)val3).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val3).canceledFromSprinting = false; ((SkillDef)val3).fullRestockOnAssign = true; ((SkillDef)val3).interruptPriority = (InterruptPriority)0; ((SkillDef)val3).isCombatSkill = true; ((SkillDef)val3).mustKeyPress = false; ((SkillDef)val3).cancelSprintingOnActivation = true; ((SkillDef)val3).rechargeStock = 1; ((SkillDef)val3).requiredStock = 1; ((SkillDef)val3).stockToConsume = 1; ((SkillDef)val3).icon = Assets.MainAssetBundle.LoadAsset<Sprite>("apocalypticBurst"); ((SkillDef)val3).skillDescriptionToken = "PICCOLO_APOC_DESCRIPTION"; ((SkillDef)val3).skillName = "PICCOLO_APOC"; ((SkillDef)val3).skillNameToken = "PICCOLO_APOC"; val3.kiCost = 0.55f; ((SkillDef)val3).keywordTokens = val3.newKeywordTokens; val = (SkillDef)(object)val3; ContentAddition.AddSkillDef((SkillDef)(object)val3); skillLocator.special = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val4 = ScriptableObject.CreateInstance<SkillFamily>(); val4.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)skillLocator.special, "_skillFamily", val4); SkillFamily skillFamily = skillLocator.special.skillFamily; Variant[] variants = skillFamily.variants; Variant val5 = new Variant { skillDef = (SkillDef)(object)val3 }; ((Variant)(ref val5)).viewableNode = new Node(((SkillDef)val3).skillNameToken, false, (Node)null); variants[0] = val5; ContentAddition.AddSkillFamily(skillFamily); val3 = ScriptableObject.CreateInstance<DBZSkillDef>(); ((SkillDef)val3).activationStateMachineName = "NoMovement"; ((SkillDef)val3).activationState = new SerializableEntityStateType(typeof(FullPowerEnergyWave)); ((SkillDef)val3).baseMaxStock = 1; ((SkillDef)val3).baseRechargeInterval = 12f; ((SkillDef)val3).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val3).canceledFromSprinting = false; ((SkillDef)val3).fullRestockOnAssign = true; ((SkillDef)val3).interruptPriority = (InterruptPriority)0; ((SkillDef)val3).isCombatSkill = true; ((SkillDef)val3).mustKeyPress = false; ((SkillDef)val3).cancelSprintingOnActivation = true; ((SkillDef)val3).rechargeStock = 1; ((SkillDef)val3).requiredStock = 1; ((SkillDef)val3).stockToConsume = 1; ((SkillDef)val3).icon = Prefabs.kamehamehaIconOrange; ((SkillDef)val3).skillDescriptionToken = "DBZ_FULLPOWERENERGYWAVE_SKILL_DESCRIPTION"; ((SkillDef)val3).skillName = "DBZ_FULLPOWERENERGYWAVE_SKILL_NAME"; ((SkillDef)val3).skillNameToken = "DBZ_FULLPOWERENERGYWAVE_SKILL_NAME"; val3.kiCost = 0.55f; val3.isSwitch = true; ((SkillDef)val3).keywordTokens = val3.newKeywordTokens; val2 = (SkillDef)(object)val3; ContentAddition.AddSkillDef((SkillDef)(object)val3); GenericSkill val6 = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); val4 = ScriptableObject.CreateInstance<SkillFamily>(); val4.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)val6, "_skillFamily", val4); skillFamily = val6.skillFamily; Variant[] variants2 = skillFamily.variants; val5 = new Variant { skillDef = (SkillDef)(object)val3 }; ((Variant)(ref val5)).viewableNode = new Node(((SkillDef)val3).skillNameToken, false, (Node)null); variants2[0] = val5; ContentAddition.AddSkillFamily(skillFamily); SkillSwitchBehaviour component = ((Component)skillLocator).gameObject.GetComponent<SkillSwitchBehaviour>(); component.specialSkillDefList = new List<SkillDef> { val, val2 }; } private static void AddGigaPunch(SkillLocator skillLocator) { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Expected O, but got Unknown //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0171: 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_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Expected O, but got Unknown //IL_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) SkillDef val = null; SkillDef val2 = null; DBZSkillDef val3 = ScriptableObject.CreateInstance<DBZSkillDef>(); LanguageAPI.Add("PICCOLO_M2SWOLE", "Fierce Fist"); LanguageAPI.Add("PICCOLO_M2SWOLE_DESCRIPTION", "Charge your fist to deal a powerful punch for <style=cIsDamage>350-1600%</style> damage."); ((SkillDef)val3).activationStateMachineName = "Slide"; ((SkillDef)val3).activationState = new SerializableEntityStateType(typeof(ChargeMeleeAttack)); ((SkillDef)val3).baseMaxStock = 1; ((SkillDef)val3).baseRechargeInterval = 6f; ((SkillDef)val3).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val3).canceledFromSprinting = false; ((SkillDef)val3).fullRestockOnAssign = false; ((SkillDef)val3).interruptPriority = (InterruptPriority)0; ((SkillDef)val3).isCombatSkill = true; ((SkillDef)val3).mustKeyPress = false; ((SkillDef)val3).cancelSprintingOnActivation = true; ((SkillDef)val3).rechargeStock = 1; ((SkillDef)val3).requiredStock = 1; ((SkillDef)val3).stockToConsume = 1; ((SkillDef)val3).icon = Assets.MainAssetBundle.LoadAsset<Sprite>("fierceFist"); ((SkillDef)val3).skillDescriptionToken = "PICCOLO_M2SWOLE_DESCRIPTION"; ((SkillDef)val3).skillName = "PICCOLO_M2SWOLE"; ((SkillDef)val3).skillNameToken = "PICCOLO_M2SWOLE"; val3.kiCost = 0.2f; ((SkillDef)val3).keywordTokens = val3.newKeywordTokens; val3.isAimBased = true; val = (SkillDef)(object)val3; ContentAddition.AddSkillDef((SkillDef)(object)val3); skillLocator.secondary = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val4 = ScriptableObject.CreateInstance<SkillFamily>(); val4.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)skillLocator.secondary, "_skillFamily", val4); SkillFamily skillFamily = skillLocator.secondary.skillFamily; Variant[] variants = skillFamily.variants; Variant val5 = new Variant { skillDef = (SkillDef)(object)val3 }; ((Variant)(ref val5)).viewableNode = new Node(((SkillDef)val3).skillNameToken, false, (Node)null); variants[0] = val5; ContentAddition.AddSkillFamily(skillFamily); val3 = ScriptableObject.CreateInstance<DBZSkillDef>(); ((SkillDef)val3).activationStateMachineName = "NoMovement"; ((SkillDef)val3).activationState = new SerializableEntityStateType(typeof(AnimEventBeam)); ((SkillDef)val3).baseMaxStock = 1; ((SkillDef)val3).baseRechargeInterval = 6f; ((SkillDef)val3).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val3).canceledFromSprinting = false; ((SkillDef)val3).fullRestockOnAssign = true; ((SkillDef)val3).interruptPriority = (InterruptPriority)0; ((SkillDef)val3).isCombatSkill = true; ((SkillDef)val3).mustKeyPress = false; ((SkillDef)val3).cancelSprintingOnActivation = true; ((SkillDef)val3).rechargeStock = 1; ((SkillDef)val3).requiredStock = 1; ((SkillDef)val3).stockToConsume = 1; ((SkillDef)val3).icon = Prefabs.superExplosiveWaveIcon; ((SkillDef)val3).skillDescriptionToken = "DBZ_SUPEREXPLOSIVEWAVE_DESCRIPTION"; ((SkillDef)val3).skillName = "DBZ_SUPEREXPLOSIVEWAVE_NAME"; ((SkillDef)val3).skillNameToken = "DBZ_SUPEREXPLOSIVEWAVE_NAME"; val3.kiCost = 0.2f; val3.isSwitch = true; ((SkillDef)val3).keywordTokens = val3.newKeywordTokens; val2 = (SkillDef)(object)val3; ContentAddition.AddSkillDef((SkillDef)(object)val3); GenericSkill val6 = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); val4 = ScriptableObject.CreateInstance<SkillFamily>(); val4.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)val6, "_skillFamily", val4); skillFamily = val6.skillFamily; Variant[] variants2 = skillFamily.variants; val5 = new Variant { skillDef = (SkillDef)(object)val3 }; ((Variant)(ref val5)).viewableNode = new Node(((SkillDef)val3).skillNameToken, false, (Node)null); variants2[0] = val5; ContentAddition.AddSkillFamily(skillFamily); SkillSwitchBehaviour val7 = ((Component)skillLocator).gameObject.AddComponent<SkillSwitchBehaviour>(); val7.secondarySkillDefList = new List<SkillDef> { val, val2 }; } private static void AddEvilExplosion(SkillLocator skillLocator) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Expected O, but got Unknown //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) SkillDef val = null; SkillDef switchSkillDef = null; DBZSkillDef val2 = ScriptableObject.CreateInstance<DBZSkillDef>(); ((SkillDef)val2).activationStateMachineName = "Slide"; ((SkillDef)val2).activationState = new SerializableEntityStateType(typeof(BulletEvilExplosionState)); ((SkillDef)val2).baseMaxStock = 1; ((SkillDef)val2).baseRechargeInterval = 5f; ((SkillDef)val2).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val2).canceledFromSprinting = false; ((SkillDef)val2).fullRestockOnAssign = true; ((SkillDef)val2).interruptPriority = (InterruptPriority)0; ((SkillDef)val2).isCombatSkill = true; ((SkillDef)val2).mustKeyPress = false; ((SkillDef)val2).cancelSprintingOnActivation = true; ((SkillDef)val2).rechargeStock = 1; ((SkillDef)val2).requiredStock = 1; ((SkillDef)val2).stockToConsume = 1; ((SkillDef)val2).icon = Prefabs.evilExplosionIcon; ((SkillDef)val2).skillDescriptionToken = "DBZ_EVILEXPLOSION_DESCRIPTION"; ((SkillDef)val2).skillName = "DBZ_EVILEXPLOSION_NAME"; ((SkillDef)val2).skillNameToken = "DBZ_EVILEXPLOSION_NAME"; val2.kiCost = 0.2f; val2.isAimBased = true; val = (SkillDef)(object)val2; ContentAddition.AddSkillDef((SkillDef)(object)val2); skillLocator.secondary = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val3 = ScriptableObject.CreateInstance<SkillFamily>(); val3.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)skillLocator.secondary, "_skillFamily", val3); SkillFamily skillFamily = skillLocator.secondary.skillFamily; Variant[] variants = skillFamily.variants; Variant val4 = new Variant { skillDef = (SkillDef)(object)val2 }; ((Variant)(ref val4)).viewableNode = new Node(((SkillDef)val2).skillNameToken, false, (Node)null); variants[0] = val4; ContentAddition.AddSkillFamily(skillFamily); AddAltSecondary(skillLocator, out switchSkillDef); SkillSwitchBehaviour val5 = ((Component)skillLocator).gameObject.AddComponent<SkillSwitchBehaviour>(); val5.secondarySkillDefList = new List<SkillDef> { val, switchSkillDef }; } private static void AddLightGrenade(SkillLocator skillLocator) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0107: 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_0129: Expected O, but got Unknown //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) DBZSkillDef val = ScriptableObject.CreateInstance<DBZSkillDef>(); ((SkillDef)val).activationStateMachineName = "NoMovement"; ((SkillDef)val).activationState = new SerializableEntityStateType(typeof(LightGrenadeState)); ((SkillDef)val).baseMaxStock = 1; ((SkillDef)val).baseRechargeInterval = 12f; ((SkillDef)val).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val).canceledFromSprinting = false; ((SkillDef)val).fullRestockOnAssign = true; ((SkillDef)val).interruptPriority = (InterruptPriority)0; ((SkillDef)val).isCombatSkill = true; ((SkillDef)val).mustKeyPress = false; ((SkillDef)val).cancelSprintingOnActivation = true; ((SkillDef)val).rechargeStock = 1; ((SkillDef)val).requiredStock = 1; ((SkillDef)val).stockToConsume = 1; ((SkillDef)val).icon = Prefabs.lightGrenadeIcon; ((SkillDef)val).skillDescriptionToken = "DBZ_LIGHTGRENADE_DESCRIPTION"; ((SkillDef)val).skillName = "DBZ_LIGHTGRENADE_NAME"; ((SkillDef)val).skillNameToken = "DBZ_LIGHTGRENADE_NAME"; val.kiCost = 0.55f; ContentAddition.AddSkillDef((SkillDef)(object)val); skillLocator.special = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val2 = ScriptableObject.CreateInstance<SkillFamily>(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)skillLocator.special, "_skillFamily", val2); SkillFamily skillFamily = skillLocator.special.skillFamily; Variant[] variants = skillFamily.variants; Variant val3 = new Variant { skillDef = (SkillDef)(object)val }; ((Variant)(ref val3)).viewableNode = new Node(((SkillDef)val).skillNameToken, false, (Node)null); variants[0] = val3; ContentAddition.AddSkillFamily(skillFamily); } private static void AddPassive(SkillLocator component) { component.passiveSkill.enabled = true; component.passiveSkill.skillNameToken = "PICCOLO_PASSIVE_NAME"; component.passiveSkill.skillDescriptionToken = "PICCOLO_PASSIVE_DESCRIPTION"; component.passiveSkill.icon = Assets.MainAssetBundle.LoadAsset<Sprite>("passive"); } private static void AddPrimary(SkillLocator skillLocator) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Expected O, but got Unknown //IL_0139: 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) DBZSkillDef val = ScriptableObject.CreateInstance<DBZSkillDef>(); LanguageAPI.Add("PICCOLO_M1", "Demon's Onslaught"); ((SkillDef)val).activationStateMachineName = "Weapon"; ((SkillDef)val).activationState = new SerializableEntityStateType(typeof(DBZMeleeSkillState)); ((SkillDef)val).baseMaxStock = 0; ((SkillDef)val).baseRechargeInterval = 0f; ((SkillDef)val).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val).canceledFromSprinting = false; ((SkillDef)val).fullRestockOnAssign = true; ((SkillDef)val).interruptPriority = (InterruptPriority)0; ((SkillDef)val).isCombatSkill = true; ((SkillDef)val).mustKeyPress = false; ((SkillDef)val).cancelSprintingOnActivation = true; ((SkillDef)val).rechargeStock = 0; ((SkillDef)val).requiredStock = 0; ((SkillDef)val).stockToConsume = 0; ((SkillDef)val).icon = Assets.MainAssetBundle.LoadAsset<Sprite>("primary"); ((SkillDef)val).skillDescriptionToken = "DBZ_MELEE_SKILL_DESCRIPTION"; ((SkillDef)val).skillName = "PICCOLO_M1"; ((SkillDef)val).skillNameToken = "PICCOLO_M1"; ContentAddition.AddSkillDef((SkillDef)(object)val); skillLocator.primary = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val2 = ScriptableObject.CreateInstance<SkillFamily>(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)skillLocator.primary, "_skillFamily", val2); SkillFamily skillFamily = skillLocator.primary.skillFamily; Variant[] variants = skillFamily.variants; Variant val3 = new Variant { skillDef = (SkillDef)(object)val }; ((Variant)(ref val3)).viewableNode = new Node(((SkillDef)val).skillNameToken, false, (Node)null); variants[0] = val3; ContentAddition.AddSkillFamily(skillFamily); } private static void AddSecondary(SkillLocator skillLocator, out SkillDef switchSkillDef) { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0147: 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_0169: Expected O, but got Unknown //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) DBZSkillDef val = ScriptableObject.CreateInstance<DBZSkillDef>(); LanguageAPI.Add("PICCOLO_M2", "Namek Finger"); LanguageAPI.Add("PICCOLO_M2_DESCRIPTION", "Stretch your arm forward to grab an enemy dealing <style=cIsDamage>250%</style> damage, pulling them to you and <style=cIsDamage>weakens</style>. <style=cKeywordName>Switch</style><style=cSub>"); ((SkillDef)val).activationStateMachineName = "NoMovement"; ((SkillDef)val).activationState = new SerializableEntityStateType(typeof(Secondary)); ((SkillDef)val).baseMaxStock = 1; ((SkillDef)val).baseRechargeInterval = 6f; ((SkillDef)val).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val).canceledFromSprinting = false; ((SkillDef)val).fullRestockOnAssign = false; ((SkillDef)val).interruptPriority = (InterruptPriority)0; ((SkillDef)val).isCombatSkill = true; ((SkillDef)val).mustKeyPress = false; ((SkillDef)val).cancelSprintingOnActivation = true; ((SkillDef)val).rechargeStock = 1; ((SkillDef)val).requiredStock = 1; ((SkillDef)val).stockToConsume = 1; ((SkillDef)val).icon = Assets.MainAssetBundle.LoadAsset<Sprite>("secondary"); ((SkillDef)val).skillDescriptionToken = "PICCOLO_M2_DESCRIPTION"; ((SkillDef)val).skillName = "PICCOLO_M2"; ((SkillDef)val).skillNameToken = "PICCOLO_M2"; val.kiCost = 0.2f; val.isSwitch = true; ((SkillDef)val).keywordTokens = val.newKeywordTokens; switchSkillDef = (SkillDef)(object)val; ContentAddition.AddSkillDef((SkillDef)(object)val); skillLocator.secondary = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val2 = ScriptableObject.CreateInstance<SkillFamily>(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)skillLocator.secondary, "_skillFamily", val2); SkillFamily skillFamily = skillLocator.secondary.skillFamily; Variant[] variants = skillFamily.variants; Variant val3 = new Variant { skillDef = (SkillDef)(object)val }; ((Variant)(ref val3)).viewableNode = new Node(((SkillDef)val).skillNameToken, false, (Node)null); variants[0] = val3; ContentAddition.AddSkillFamily(skillFamily); } private static void AddAltSecondary(SkillLocator skillLocator, out SkillDef switchSkillDef) { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Expected O, but got Unknown //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) DBZSkillDef val = ScriptableObject.CreateInstance<DBZSkillDef>(); LanguageAPI.Add("PICCOLO_M2ALT", "Energy Wave Combo"); LanguageAPI.Add("PICCOLO_M2ALT_DESCRIPTION", "Fire 6 Ki Blasts on a targetted enemy for <style=cIsDamage>200%</style> damage each. <style=cKeywordName>Switch</style><style=cSub>"); ((SkillDef)val).activationStateMachineName = "Slide"; ((SkillDef)val).activationState = new SerializableEntityStateType(typeof(SecondaryAlt)); ((SkillDef)val).baseMaxStock = 1; ((SkillDef)val).baseRechargeInterval = 6f; ((SkillDef)val).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val).canceledFromSprinting = false; ((SkillDef)val).fullRestockOnAssign = true; ((SkillDef)val).interruptPriority = (InterruptPriority)0; ((SkillDef)val).isCombatSkill = true; ((SkillDef)val).mustKeyPress = false; ((SkillDef)val).cancelSprintingOnActivation = true; ((SkillDef)val).rechargeStock = 1; ((SkillDef)val).requiredStock = 1; ((SkillDef)val).stockToConsume = 1; ((SkillDef)val).icon = Assets.MainAssetBundle.LoadAsset<Sprite>("secondaryalt"); ((SkillDef)val).skillDescriptionToken = "PICCOLO_M2ALT_DESCRIPTION"; ((SkillDef)val).skillName = "PICCOLO_M2ALT"; ((SkillDef)val).skillNameToken = "PICCOLO_M2ALT"; val.kiCost = 0.2f; val.isSwitch = true; ((SkillDef)val).keywordTokens = val.newKeywordTokens; switchSkillDef = (SkillDef)(object)val; ContentAddition.AddSkillDef((SkillDef)(object)val); GenericSkill val2 = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val3 = ScriptableObject.CreateInstance<SkillFamily>(); val3.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)val2, "_skillFamily", val3); SkillFamily skillFamily = val2.skillFamily; Variant[] variants = skillFamily.variants; Variant val4 = new Variant { skillDef = (SkillDef)(object)val }; ((Variant)(ref val4)).viewableNode = new Node(((SkillDef)val).skillNameToken, false, (Node)null); variants[0] = val4; ContentAddition.AddSkillFamily(skillFamily); } private static void AddUtility(SkillLocator skillLocator) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0050: 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_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Expected O, but got Unknown //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) DBZSkillDef val = ScriptableObject.CreateInstance<DBZSkillDef>(); ((SkillDef)val).activationStateMachineName = "NoMovement"; ((SkillDef)val).activationState = new SerializableEntityStateType(typeof(BaseKiState)); ((SkillDef)val).baseMaxStock = 0; ((SkillDef)val).baseRechargeInterval = 0f; ((SkillDef)val).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val).canceledFromSprinting = false; ((SkillDef)val).fullRestockOnAssign = true; ((SkillDef)val).interruptPriority = (InterruptPriority)0; ((SkillDef)val).isCombatSkill = true; ((SkillDef)val).mustKeyPress = false; ((SkillDef)val).cancelSprintingOnActivation = true; ((SkillDef)val).rechargeStock = 0; ((SkillDef)val).requiredStock = 0; ((SkillDef)val).stockToConsume = 0; ((SkillDef)val).icon = Assets.MainAssetBundle.LoadAsset<Sprite>("utility"); ((SkillDef)val).skillDescriptionToken = "DBZ_KICHARGE_DESCRIPTION"; ((SkillDef)val).skillName = "DBZ_KICHARGE_NAME"; ((SkillDef)val).skillNameToken = "DBZ_KICHARGE_NAME"; val.isKiCharge = true; ContentAddition.AddSkillDef((SkillDef)(object)val); skillLocator.utility = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val2 = ScriptableObject.CreateInstance<SkillFamily>(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)skillLocator.utility, "_skillFamily", val2); SkillFamily skillFamily = skillLocator.utility.skillFamily; Variant[] variants = skillFamily.variants; Variant val3 = new Variant { skillDef = (SkillDef)(object)val }; ((Variant)(ref val3)).viewableNode = new Node(((SkillDef)val).skillNameToken, false, (Node)null); variants[0] = val3; ContentAddition.AddSkillFamily(skillFamily); } private static void AddSpecial(SkillLocator skillLocator, out SkillDef switchSkillDef) { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0147: 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_0169: Expected O, but got Unknown //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) DBZSkillDef val = ScriptableObject.CreateInstance<DBZSkillDef>(); LanguageAPI.Add("PICCOLO_SPEC", "Special Beam Cannon"); LanguageAPI.Add("PICCOLO_SPEC_DESCRIPTION", "Charge a powerful energy beam that deals <style=cIsDamage>80%</style> damage per hit for up to <style=cIsUtility>3s</style>. Charge time increases damage up to <style=cIsDamage>240%</style>."); ((SkillDef)val).activationStateMachineName = "NoMovement"; ((SkillDef)val).activationState = new SerializableEntityStateType(typeof(Special)); ((SkillDef)val).baseMaxStock = 1; ((SkillDef)val).baseRechargeInterval = 12f; ((SkillDef)val).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val).canceledFromSprinting = false; ((SkillDef)val).fullRestockOnAssign = true; ((SkillDef)val).interruptPriority = (InterruptPriority)0; ((SkillDef)val).isCombatSkill = true; ((SkillDef)val).mustKeyPress = false; ((SkillDef)val).cancelSprintingOnActivation = true; ((SkillDef)val).rechargeStock = 1; ((SkillDef)val).requiredStock = 1; ((SkillDef)val).stockToConsume = 1; ((SkillDef)val).icon = Assets.MainAssetBundle.LoadAsset<Sprite>("special"); ((SkillDef)val).skillDescriptionToken = "PICCOLO_SPEC_DESCRIPTION"; ((SkillDef)val).skillName = "PICCOLO_SPEC"; ((SkillDef)val).skillNameToken = "PICCOLO_SPEC"; val.kiCost = 0.55f; val.isSwitch = true; ((SkillDef)val).keywordTokens = val.newKeywordTokens; switchSkillDef = (SkillDef)(object)val; ContentAddition.AddSkillDef((SkillDef)(object)val); skillLocator.special = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val2 = ScriptableObject.CreateInstance<SkillFamily>(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)skillLocator.special, "_skillFamily", val2); SkillFamily skillFamily = skillLocator.special.skillFamily; Variant[] variants = skillFamily.variants; Variant val3 = new Variant { skillDef = (SkillDef)(object)val }; ((Variant)(ref val3)).viewableNode = new Node(((SkillDef)val).skillNameToken, false, (Node)null); variants[0] = val3; ContentAddition.AddSkillFamily(skillFamily); } private static void AddAltSpecial(SkillLocator skillLocator, out SkillDef switchSkillDef) { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0070: 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_0157: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Expected O, but got Unknown //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) DBZSkillDef val = ScriptableObject.CreateInstance<DBZSkillDef>(); LanguageAPI.Add("PICCOLO_ALTSPEC", "Hellzone Grenade"); LanguageAPI.Add("PICCOLO_ALTSPEC_DESCRIPTION", "Fire 8 Ki Blasts on a targetted enemy for <style=cIsDamage>650%</style> damage each, after a short charge time, unleash them all upon your enemy."); ((SkillDef)val).activationStateMachineName = "NoMovement"; ((SkillDef)val).activationState = new SerializableEntityStateType(typeof(BaseSpecialAlt)); ((SkillDef)val).baseMaxStock = 1; ((SkillDef)val).baseRechargeInterval = 12f; ((SkillDef)val).beginSkillCooldownOnSkillEnd = true; ((SkillDef)val).canceledFromSprinting = false; ((SkillDef)val).fullRestockOnAssign = true; ((SkillDef)val).interruptPriority = (InterruptPriority)0; ((SkillDef)val).isCombatSkill = true; ((SkillDef)val).mustKeyPress = false; ((SkillDef)val).cancelSprintingOnActivation = true; ((SkillDef)val).rechargeStock = 1; ((SkillDef)val).requiredStock = 1; ((SkillDef)val).stockToConsume = 1; ((SkillDef)val).icon = Assets.MainAssetBundle.LoadAsset<Sprite>("specialalt"); ((SkillDef)val).skillDescriptionToken = "PICCOLO_ALTSPEC_DESCRIPTION"; ((SkillDef)val).skillName = "PICCOLO_ALTSPEC"; ((SkillDef)val).skillNameToken = "PICCOLO_ALTSPEC"; val.kiCost = 0.55f; val.isAimBased = true; val.isSwitch = true; ((SkillDef)val).keywordTokens = val.newKeywordTokens; switchSkillDef = (SkillDef)(object)val; ContentAddition.AddSkillDef((SkillDef)(object)val); GenericSkill val2 = ((Component)skillLocator).gameObject.AddComponent<GenericSkill>(); SkillFamily val3 = ScriptableObject.CreateInstance<SkillFamily>(); val3.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue<SkillFamily>((object)val2, "_skillFamily", val3); SkillFamily skillFamily = val2.skillFamily; Variant[] variants = skillFamily.variants; Variant val4 = new Variant { skillDef = (SkillDef)(object)val }; ((Variant)(ref val4)).viewableNode = new Node(((SkillDef)val).skillNameToken, false, (Node)null); variants[0] = val4; ContentAddition.AddSkillFamily(skillFamily); } } internal class Prefabs { internal static GameObject hellzoneProjectile; internal static GameObject hellzoneProjectileImpactEffect; internal static void CreatePrefabs() { hellzoneProjectile = PrefabAPI.InstantiateClone(Prefabs.kiBlastProjectileYellowNoTarget, "HellzoneGrenadeProjectile", true); hellzoneProjectile.AddComponent<HellzoneGrenadeProjectileBehaviour>(); ProjectileController component = hellzoneProjectile.GetComponent<ProjectileController>(); component.startSound = "Play_DBZ_Piccolo_Hellzone_Projectile"; ProjectileSingleTargetImpact component2 = hellzoneProjectile.GetComponent<ProjectileSingleTargetImpact>(); hellzoneProjectileImpactEffect = PrefabAPI.InstantiateClone(component2.impactEffect, "HellzoneProjectileImpactEffect", false); hellzoneProjectileImpactEffect.GetComponent<EffectComponent>().soundName = "Play_DBZ_Piccolo_Hellzone_Impact"; ContentAddition.AddEffect(hellzoneProjectileImpactEffect); component2.impactEffect = hellzoneProjectileImpactEffect; ContentAddition.AddProjectile(hellzoneProjectile); } } internal class Secondary : BaseDBZSkillState { private float duration = 2f; private Transform searchPos; private CharacterMotor motor; private RigidbodyMotor rigidMotor; private SphereSearch sphereSearch = new SphereSearch(); private float stopwatch; private float searchInterval = 0.1f; private float radius = 2f; private float damageCoefficient = 2.5f; private bool doOnce; public override void OnEnter() { //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: 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_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: 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_00f4: 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_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) ((BaseDBZSkillState)this).OnEnter(); if (Object.op_Implicit((Object)(object)base.skillBehaviour) && Object.op_Implicit((Object)(object)base.kiBehaviour)) { base.skillBehaviour.SetExecutableSkills(1); } sphereSearch.radius = radius; sphereSearch.mask = ((LayerIndex)(ref LayerIndex.entityPrecise)).mask; AkSoundEngine.PostEvent(Sounds.Play_DBZ_Common_Swing, ((EntityState)this).gameObject); AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_Skill, ((EntityState)this).gameObject); ((EntityState)this).PlayAnimation("FullBody, Override", "NamekFinger", "M2", duration); searchPos = ((BaseState)this).FindModelChild("muzzleHandL"); if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { Vector2 val = Util.Vector3XZToVector2XY(((EntityState)this).inputBank.aimDirection); if (val != Vector2.zero) { ((Vector2)(ref val)).Normalize(); Vector3 val2 = new Vector3(val.x, 0f, val.y); Vector3 normalized = ((Vector3)(ref val2)).normalized; ((EntityState)this).characterDirection.moveVector = normalized; } } } public override void Update() { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_0387: Unknown result type (might be due to invalid IL or missing references) //IL_03b3: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Expected O, but got Unknown //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_0296: Unknown result type (might be due to invalid IL or missing references) //IL_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Unknown result type (might be due to invalid IL or missing references) //IL_02d6: Unknown result type (might be due to invalid IL or missing references) //IL_02df: Expected O, but got Unknown //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0301: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).Update(); if (Object.op_Implicit((Object)(object)searchPos)) { sphereSearch.origin = searchPos.position; if (!Object.op_Implicit((Object)(object)motor) && !Object.op_Implicit((Object)(object)rigidMotor)) { HurtBox[] hurtBoxes = sphereSearch.RefreshCandidates().FilterCandidatesByHurtBoxTeam(TeamMask.GetEnemyTeams(((EntityState)this).teamComponent.teamIndex)).OrderCandidatesByDistance() .FilterCandidatesByDistinctHurtBoxEntities() .GetHurtBoxes(); if (hurtBoxes.Length != 0 && Object.op_Implicit((Object)(object)hurtBoxes[0]) && Object.op_Implicit((Object)(object)hurtBoxes[0].healthComponent) && Object.op_Implicit((Object)(object)hurtBoxes[0].healthComponent.body) && !hurtBoxes[0].healthComponent.body.isBoss) { if (Object.op_Implicit((Object)(object)hurtBoxes[0].healthComponent.body.characterMotor)) { motor = hurtBoxes[0].healthComponent.body.characterMotor; if (NetworkServer.active) { if (!doOnce) { doOnce = true; DamageInfo val = new DamageInfo { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, damage = ((BaseState)this).damageStat * damageCoefficient, procCoefficient = 0f, damageType = (DamageType)0, damageColorIndex = (DamageColorIndex)11, position = ((Component)hurtBoxes[0]).transform.position, rejected = false }; hurtBoxes[0].healthComponent.TakeDamage(val); EffectManager.SimpleEffect(Prefabs.punchHitFX, ((Component)hurtBoxes[0]).transform.position, Quaternion.identity, true); } hurtBoxes[0].healthComponent.body.AddTimedBuff(Buffs.Weak, 8f); SetStateOnHurt.SetStunOnObject(((Component)hurtBoxes[0].healthComponent.body).gameObject, 3f); } } else if (!Object.op_Implicit((Object)(object)rigidMotor)) { rigidMotor = ((Component)hurtBoxes[0].healthComponent.body).gameObject.GetComponent<RigidbodyMotor>(); if (NetworkServer.active) { if (!doOnce) { doOnce = true; DamageInfo val2 = new DamageInfo { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, damage = ((BaseState)this).damageStat * damageCoefficient, procCoefficient = 0f, damageType = (DamageType)0, damageColorIndex = (DamageColorIndex)11, position = ((Component)hurtBoxes[0]).transform.position, rejected = false }; hurtBoxes[0].healthComponent.TakeDamage(val2); EffectManager.SimpleEffect(Prefabs.punchHitFX, ((Component)hurtBoxes[0]).transform.position, Quaternion.identity, true); } hurtBoxes[0].healthComponent.body.AddTimedBuff(Buffs.Weak, 8f); SetStateOnHurt.SetStunOnObject(((Component)hurtBoxes[0].healthComponent.body).gameObject, 3f); } } } } if (Object.op_Implicit((Object)(object)rigidMotor)) { rigidMotor.rigid.MovePosition(searchPos.position); CalcDistance(((Component)rigidMotor).transform.position); } else if (Object.op_Implicit((Object)(object)motor)) { CalcDistance(((Component)motor).transform.position); ((BaseCharacterController)motor).Motor.SetPosition(searchPos.position, true); } } if (((EntityState)this).age >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } private void CalcDistance(Vector3 targetPos) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) if (((EntityState)this).age >= 0.65f) { float num = Vector3.Distance(targetPos, ((EntityState)this).characterBody.corePosition); if (num <= 6f && ((EntityState)this).isAuthority) { SecondaryEnd secondaryEnd = new SecondaryEnd(); secondaryEnd.duration = ((EntityState)this).age - duration; ((EntityState)this).outer.SetNextState((EntityState)(object)secondaryEnd); } } } public override void OnExit() { ((EntityState)this).OnExit(); if (Object.op_Implicit((Object)(object)base.skillBehaviour)) { base.skillBehaviour.SetExecutableSkills(-1); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } } internal class SecondaryEnd : BaseSkillState { public float duration; public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= duration - 0.2f && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { ((EntityState)this).OnExit(); } } internal class SecondaryAlt : BaseDBZSkillState { private float duration = 2f; private DBZSkillEventHandler eventComponent; private AimRequest request; public override void OnEnter() { ((BaseDBZSkillState)this).OnEnter(); if (Object.op_Implicit((Object)(object)base.skillBehaviour) && Object.op_Implicit((Object)(object)base.kiBehaviour)) { base.skillBehaviour.SetExecutableSkills(1); } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { request = ((EntityState)this).cameraTargetParams.RequestAimType((AimType)2); } eventComponent = ((Component)((EntityState)this).GetModelTransform()).GetComponent<DBZSkillEventHandler>(); ((EntityState)this).PlayAnimation("FullBody, Override", "EnergyWaveCombo", "M2", duration); AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_Skill, ((EntityState)this).gameObject); if (NetworkServer.active) { ((EntityState)this).characterBody.AddBuff(Prefabs.speedDebuff); } } public override void FixedUpdate() { //IL_009c: 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_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); ((BaseDBZSkillState)this).AdjustModelForwardAimVector(); if (Object.op_Implicit((Object)(object)eventComponent) && eventComponent.fireCount > 0) { DBZSkillEventHandler obj = eventComponent; obj.fireCount--; EffectManager.SimpleMuzzleFlash(Prefabs.KiBlastMuzzleFlashYellow, ((EntityState)this).gameObject, eventComponent.childName, false); AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_EnergyWave_Fire, ((EntityState)this).gameObject); if (((EntityState)this).isAuthority) { ProjectileManager instance = ProjectileManager.instance; GameObject kiBlastTrailYellow = Prefabs.kiBlastTrailYellow; Vector3 position = ((BaseState)this).FindModelChild(eventComponent.childName).position; Ray aimRay = ((BaseState)this).GetAimRay(); instance.FireProjectile(kiBlastTrailYellow, position, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)this).gameObject, ((EntityState)this).characterBody.damage * 2f, 200f, Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } } if (((EntityState)this).fixedAge >= duration - 0.2f && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { ((EntityState)this).OnExit(); if (NetworkServer.active) { ((EntityState)this).characterBody.RemoveBuff(Prefabs.speedDebuff); } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { request.Dispose(); } if (Object.op_Implicit((Object)(object)base.skillBehaviour)) { base.skillBehaviour.SetExecutableSkills(-1); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } } internal class Special : BeamBaseState { private float stopwatch; private bool nextState; public override void OnEnter() { base.duration = 99f; base.skillIndex = 3; AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_BeamCannon_Charge, ((EntityState)this).gameObject); if (Object.op_Implicit((Object)(object)((BaseDBZSkillState)this).skillBehaviour)) { base.baseKiCost = ((BaseDBZSkillState)this).skillBehaviour.baseSpecialCost; } ((EntityState)this).GetModelAnimator().SetBool("chargeOver", false); ((BeamBaseState)this).OnEnter(); } protected override void PlayVO() { } protected override void PlayAnimation() { ((EntityState)this).PlayAnimation("FullBody, Override", "Beam", "Special", base.duration); } public override void FixedUpdate() { //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) ((BeamBaseState)this).FixedUpdate(); if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { if (Object.op_Implicit((Object)(object)((BaseDBZSkillState)this).skillBehaviour)) { ((BaseDBZSkillState)this).skillBehaviour.float1 = 0.8f * Mathf.Clamp(((EntityState)this).fixedAge, 1f, 3f); ((BaseDBZSkillState)this).skillBehaviour.aimRay = base.aimRay; } if (((ButtonState)(ref ((EntityState)this).inputBank.skill4)).justReleased || (((EntityState)this).fixedAge >= 3f && !nextState)) { nextState = true; } } if (nextState) { stopwatch += Time.fixedDeltaTime; if (stopwatch >= 0.35f && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextState((EntityState)(object)new SpecialFire()); } } } public override void OnExit() { ((BeamBaseState)this).OnExit(); AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_BeamCannonVO, ((EntityState)this).gameObject); ((EntityState)this).GetModelAnimator().SetBool("chargeOver", true); } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } } internal class SpecialFire : BeamFire { protected override void SetBeamVFX() { base.beamSFX = Sounds.Play_DBZ_Piccolo_BeamCannon_Fire; base.beamVFX = Prefabs.beamCannonFX; base.beamRadius = 2f; base.damageCoefficient = ((BaseDBZSkillState)this).skillBehaviour.float1; } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } } internal class BaseSpecialAlt : BaseDBZSkillState { private float duration = 6f; private AimRequest request; private DBZSkillEventHandler eventComponent; private DBZAimIndicator indicatorComponent; private GameObject target; private Vector3 aimDirection; private bool detonated; private GameObject muzzleFlashL; private GameObject muzzleFlashR; public override void OnEnter() { //IL_00e6: 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_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) ((BaseDBZSkillState)this).OnEnter(); if (NetworkServer.active) { ((EntityState)this).characterBody.AddBuff(Prefabs.armorBoost); } if (Object.op_Implicit((Object)(object)base.skillBehaviour) && Object.op_Implicit((Object)(object)base.kiBehaviour)) { base.skillBehaviour.SetExecutableSkills(3); } eventComponent = ((Component)((EntityState)this).GetModelTransform()).GetComponent<DBZSkillEventHandler>(); if (Object.op_Implicit((Object)(object)eventComponent)) { eventComponent.detonateHellzone = false; } indicatorComponent = ((EntityState)this).GetComponent<DBZAimIndicator>(); target = ((Component)((HuntressTracker)indicatorComponent).GetTrackingTarget().healthComponent).gameObject; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { request = ((EntityState)this).cameraTargetParams.RequestAimType((AimType)2); } ((EntityState)this).PlayAnimation("FullBody, Override", "HellzoneGrenade", "Special", duration); Ray aimRay = ((BaseState)this).GetAimRay(); aimDirection = ((Ray)(ref aimRay)).direction; AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_Skill, ((EntityState)this).gameObject); } public override void FixedUpdate() { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0073: 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_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0130: 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_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0194: 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_02a6: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { Vector2 val = Util.Vector3XZToVector2XY(aimDirection); if (val != Vector2.zero) { ((Vector2)(ref val)).Normalize(); Vector3 val2 = new Vector3(val.x, 0f, val.y); Vector3 normalized = ((Vector3)(ref val2)).normalized; ((EntityState)this).characterDirection.moveVector = normalized; } } if (Object.op_Implicit((Object)(object)eventComponent) && Object.op_Implicit((Object)(object)target)) { if (eventComponent.fireCount > 0) { DBZSkillEventHandler obj = eventComponent; obj.fireCount--; Vector3 val3 = default(Vector3); ((Vector3)(ref val3))..ctor((float)RoR2Application.rng.RangeInt(-15, 15), (float)RoR2Application.rng.RangeInt(0, 8), (float)RoR2Application.rng.RangeInt(5, 15)); Vector3 val4 = Quaternion.AngleAxis((float)RoR2Application.rng.RangeInt(0, 361), aimDirection) * Vector3.one; Vector3 val5 = Util.QuaternionSafeLookRotation(aimDirection) * val3; EffectManager.SimpleMuzzleFlash(Prefabs.KiBlastMuzzleFlashYellow, ((EntityState)this).gameObject, eventComponent.childName, false); AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_Hellzone_Fire, ((EntityState)this).gameObject); if (((EntityState)this).isAuthority) { ProjectileManager.instance.FireProjectile(Prefabs.hellzoneProjectile, ((BaseState)this).FindModelChild(eventComponent.childName).position, Util.QuaternionSafeLookRotation(val5), ((EntityState)this).gameObject, ((EntityState)this).characterBody.damage * 6.5f, 200f, Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), (DamageColorIndex)0, target, -1f); } } if (eventComponent.detonateHellzone && !detonated) { detonated = true; AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_Hellzone_Activate, ((EntityState)this).gameObject); } if (eventComponent.hellzoneCharge) { eventComponent.hellzoneCharge = false; AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_Hellzone_Charge, ((EntityState)this).gameObject); muzzleFlashL = Object.Instantiate<GameObject>(Prefabs.beamCannonMuzzleFlash, ((BaseState)this).FindModelChild("muzzleHandL")); muzzleFlashL.transform.localPosition = Vector3.zero; muzzleFlashR = Object.Instantiate<GameObject>(Prefabs.beamCannonMuzzleFlash, ((BaseState)this).FindModelChild("muzzleHandR")); muzzleFlashR.transform.localPosition = Vector3.zero; } } if (((EntityState)this).fixedAge >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { ((EntityState)this).OnExit(); if (NetworkServer.active) { ((EntityState)this).characterBody.RemoveBuff(Prefabs.armorBoost); } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { request.Dispose(); } EntityState.Destroy((Object)(object)muzzleFlashL); EntityState.Destroy((Object)(object)muzzleFlashR); if (Object.op_Implicit((Object)(object)base.skillBehaviour)) { base.skillBehaviour.SetExecutableSkills(-1); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } } internal class Sounds { public static readonly uint Play_DBZ_Piccolo_BeamCannonVO = 65436214u; public static readonly uint Play_DBZ_Piccolo_Powerup = 176317935u; public static readonly uint Play_DBZ_Piccolo_Intro = 202401577u; public static readonly uint Play_DBZ_Piccolo_Hellzone_Activate = 539292730u; public static readonly uint Play_DBZ_Piccolo_Hellzone_Fire = 650652933u; public static readonly uint Play_DBZ_Piccolo_Kill = 994773653u; public static readonly uint Play_DBZ_Piccolo_EnergyWave_Fire = 1278032169u; public static readonly uint Play_DBZ_Piccolo_BeamCannon_Charge = 1507920746u; public static readonly uint Play_DBZ_Piccolo_Hellzone_Projectile = 1613332272u; public static readonly uint Play_DBZ_Piccolo_HeavyDMG = 1804405834u; public static readonly uint Play_DBZ_Piccolo_Attack = 1833864941u; public static readonly uint Play_DBZ_Piccolo_Hellzone_Charge = 1883616241u; public static readonly uint Play_DBZ_Piccolo_LightDMG = 2631489273u; public static readonly uint Play_DBZ_Piccolo_BeamCannon_Fire = 2775130486u; public static readonly uint Play_DBZ_Piccolo_Hellzone_Impact = 2984433491u; public static readonly uint Play_DBZ_Piccolo_Skill = 3238033180u; public static readonly uint Play_DBZ_Piccolo_BossKill = 3432347502u; public static readonly uint Play_DBZ_Piccolo_FinalBossEncounter = 3592626027u; public static readonly uint Play_DBZ_Piccolo_Death = 4151146161u; }