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); }
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*/; }