static bool Prefix(ChunkOverride __instance, ref ChunkOverride __result) { Main.LogDebug($"[ChunkOverrideCopyPatch.Prefix] Running ChunkOverrideCopyPatch - {__instance.name}"); __result = new ChunkOverride { name = __instance.name, encounterChunk = new EncounterChunkRef(__instance.encounterChunk), enableChunkFromContract = __instance.enableChunkFromContract, requirementList = Utilities.Cloner.DeepCopy <List <RequirementDef> >(__instance.requirementList), controlledByContractChunkGroupList = __instance.controlledByContractChunkGroupList }; return(false); }
static bool Prefix(EncounterChunkGameLogic __instance, ChunkOverride chunkOverride) { Main.LogDebug($"[EncounterChunkGameLogicApplyContractOverridePatch.Prefix] Running EncounterChunkGameLogicApplyContractOverridePatch - {chunkOverride.name}"); EncounterObjectStatus startingStatus = EncounterObjectStatus.Active; if (chunkOverride.enableChunkFromContract) { if (chunkOverride.controlledByContractChunkGroupList.Count > 0) { if (!Enum.TryParse(chunkOverride.controlledByContractChunkGroupList[0], out startingStatus)) { startingStatus = EncounterObjectStatus.Active; } } __instance.startingStatus = startingStatus; } return(false); }