Пример #1
0
        private void CharacterMaster_TransformBody(On.RoR2.CharacterMaster.orig_TransformBody orig, RoR2.CharacterMaster self, string bodyName)
        {
            var baseAI = self.GetComponent <BaseAI>();

            if (baseAI)
            {
                //Chat.AddMessage($"baseAI found");
                var masterPrefab = MasterCatalog.FindMasterPrefab(bodyName);
                if (masterPrefab)
                {
                    //Chat.AddMessage($"1");
                    ReplaceSkillDrivers(self, baseAI, masterPrefab);
                }
                if (!masterPrefab)
                {
                    var bodyPrefab = BodyCatalog.FindBodyPrefab(bodyName);
                    if (bodyPrefab)
                    {
                        var masterIndex = MasterCatalog.FindAiMasterIndexForBody(bodyPrefab.GetComponent <CharacterBody>().bodyIndex);
                        masterPrefab = MasterCatalog.GetMasterPrefab(masterIndex);
                        if (masterPrefab)
                        {
                            //Chat.AddMessage($"2");
                            ReplaceSkillDrivers(self, baseAI, masterPrefab);
                        }
                    }
                }
            }
            orig(self, bodyName);
        }
Пример #2
0
        private new void Start()
        {
            defaultMasterIndex = MasterCatalog.FindAiMasterIndexForBody(BodyCatalog.FindBodyIndex("CommandoBody"));

            base.Start();
            this.isEnabled = base.run.selectedDifficulty >= DifficultyIndex.Eclipse3 /* is EclipseRun && EclipseRun.cvEclipseLevel.value >= 3*/;
        }