GameObject TrySpawnObject(On.RoR2.DirectorCore.orig_TrySpawnObject orig, DirectorCore directorCore, DirectorSpawnRequest directorSpawnRequest)
 {
     if (directorSpawnRequest.spawnCard.name == "iscScavBackpack")
     {
         if (playerInteractables.interactablesInvalid.Contains("ScavBackpack"))
         {
             return(null);
         }
     }
     return(orig(directorCore, directorSpawnRequest));
 }
Example #2
0
        private GameObject OverrideTeamSpawn(On.RoR2.DirectorCore.orig_TrySpawnObject orig, DirectorCore self, DirectorSpawnRequest directorSpawnRequest)
        {
            if (directorSpawnRequest.spawnCard && directorSpawnRequest.spawnCard.prefab)
            {
                var characterMaster = directorSpawnRequest.spawnCard.prefab.GetComponent <CharacterMaster>();
                if (characterMaster)
                {
                    var bodyIndex = characterMaster.bodyPrefab.GetComponent <CharacterBody>().bodyIndex;
                    if (bodyIndex_to_teamIndex.TryGetValue(bodyIndex, out TeamIndex teamIndex))
                    {
                        //_logger.LogMessage($"Overriding teamIndex to {teamIndex}");
                        directorSpawnRequest.teamIndexOverride = teamIndex;
                    }
                }
            }
            var original = orig(self, directorSpawnRequest);

            return(original);
        }