Example #1
0
 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>();
                     }
                 }
             }
         }
     }
 }
Example #2
0
 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");
         }
     }
 }