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