private void AddShockOrStunToSurvivors(On.RoR2.SurvivorCatalog.orig_Init orig) { orig(); foreach (var survivor in SurvivorCatalog.allSurvivorDefs) { var bodyPrefab = survivor.bodyPrefab; if (bodyPrefab) { var comp = bodyPrefab.GetComponent <SetStateOnHurt>(); if (comp) { if (IdiotsAllowedNearOutlets.Value == OutletForkEnum.SurvivorsAndUmbras) { comp.canBeStunned = true; } if (IdiotsAllowedNearOutlets.Value == OutletForkEnum.UmbraOnly) { var umbraComp = bodyPrefab.GetComponent <IfUmbraThenAllowShocked>(); if (!umbraComp) { umbraComp = bodyPrefab.AddComponent <IfUmbraThenAllowShocked>(); umbraComp.setStateOnHurt = comp; umbraComp.characterBody = bodyPrefab.GetComponent <CharacterBody>(); } } } } } }
public static void SurvivorCatalog_Init(On.RoR2.SurvivorCatalog.orig_Init orig) { orig(); foreach (var item in SurvivorCatalog.allSurvivorDefs) { if (item.bodyPrefab.name == "DGSamusBody") { var skele = Modules.Assets.mainAssetBundle.LoadAsset <GameObject>("DGSamusHUM2"); CustomEmotesAPI.ImportArmature(Modules.Assets.mainAssetBundle.LoadAsset <GameObject>("DGSamusBody"), skele); Debug.Log("Added emote armature"); } } }