public class DialogRequirementShowFarmerSpecialMissionsRebirth : BaseDialogRequirement { public override bool CheckRequirement(EntityPlayer player, EntityNPC talkingTo) { int numEntries = 0; int level = player.Progression.GetLevel(); //Log.Out("ShowFarmerSpecialMissionsRebirth-CheckRequirement level: " + level); //CHICKEN COOP float numChickenCoopSchematicUnlocked = -1; if (player.Buffs.HasCustomVar("$FuriousRamsayChickenCoopSchematicUnlocked")) { //Log.Out("ShowFarmerSpecialMissionsRebirth-CheckRequirement 2a"); numChickenCoopSchematicUnlocked = player.Buffs.GetCustomVar("$FuriousRamsayChickenCoopSchematicUnlocked"); } else { //Log.Out("ShowFarmerSpecialMissionsRebirth-CheckRequirement 2b"); numChickenCoopSchematicUnlocked = 0; } float flAchievementFarmerTraderLevel = RebirthUtilities.GetPerkLevel(player, "FuriousRamsayAchievementFarmerTrader"); if (numChickenCoopSchematicUnlocked == 0 && !HasActiveQuest(player, "quest_FuriousRamsayMissionChickenCoop") && flAchievementFarmerTraderLevel == 1) { //Log.Out("ShowFarmerSpecialMissionsRebirth-CheckRequirement 2c"); numEntries++; } if (numEntries > 0) { return true; } //Log.Out("ShowFarmerSpecialMissionsRebirth-CheckRequirement numEntries: " + numEntries); return false; } public bool HasActiveQuest(EntityPlayer player, string QuestID) { Quest newQuest = QuestClass.CreateQuest(QuestID); if (newQuest == null) { return false; } if (newQuest != null) { QuestClass questClass = newQuest.QuestClass; if (questClass != null) { for (int i = 0; i < player.QuestJournal.quests.Count; i++) { if (player.QuestJournal.quests[i].CurrentState == Quest.QuestState.InProgress) { if (player.QuestJournal.quests[i].ID.ToLower() == QuestID.ToLower()) { GameManager.ShowTooltip((EntityPlayerLocal)player, Localization.Get("ttAlreadyHaveActiveQuest")); return true; } } } } } return false; } }