Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Piccolo v2.0.3
Piccolo.dll
Decompiled 10 months 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.1", FrameworkDisplayName = "")] [assembly: AssemblyCompany("Piccolo")] [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.3")] [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.3"; 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_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_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0104: 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_010f: 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_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0122: 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, 0f); 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_037a: Unknown result type (might be due to invalid IL or missing references) //IL_0391: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03d9: 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_018c: 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_0194: 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_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Expected O, but got Unknown //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: 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_0283: 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_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: 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_02c0: Unknown result type (might be due to invalid IL or missing references) //IL_02c5: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Unknown result type (might be due to invalid IL or missing references) //IL_02cd: 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_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02e0: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Expected O, but got Unknown //IL_0306: Unknown result type (might be due to invalid IL or missing references) //IL_030b: Unknown result type (might be due to invalid IL or missing references) ((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 = DamageTypeCombo.op_Implicit((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 = DamageTypeCombo.op_Implicit((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, 0f); AkSoundEngine.PostEvent(Sounds.Play_DBZ_Piccolo_Skill, ((EntityState)this).gameObject); if (NetworkServer.active) { ((EntityState)this).characterBody.AddBuff(Prefabs.speedDebuff); } } public override void FixedUpdate() { //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: 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_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: 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, (DamageTypeCombo?)null); } } 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, 0f); } 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_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: 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, 0f); 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_027f: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: 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, (DamageTypeCombo?)null); } } 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; }