105 lines
3.8 KiB
C#
105 lines
3.8 KiB
C#
public class DialogRequirementShowBristonSpecialMissionsRebirth : BaseDialogRequirement
|
|
{
|
|
public override bool CheckRequirement(EntityPlayer player, EntityNPC talkingTo)
|
|
{
|
|
int numEntries = 0;
|
|
int level = player.Progression.GetLevel();
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement level: " + level);
|
|
|
|
// SILENCER
|
|
float numSilencerSchematicUnlocked = -1;
|
|
if (player.Buffs.HasCustomVar("$FuriousRamsaySilencerSchematicUnlocked"))
|
|
{
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement 1a");
|
|
numSilencerSchematicUnlocked = player.Buffs.GetCustomVar("$FuriousRamsaySilencerSchematicUnlocked");
|
|
}
|
|
else
|
|
{
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement 1b");
|
|
numSilencerSchematicUnlocked = 0;
|
|
}
|
|
if (numSilencerSchematicUnlocked == 0 && !HasActiveQuest(player, "quest_FuriousRamsayEventNanos") && level >= 30)
|
|
{
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement 1c");
|
|
numEntries++;
|
|
}
|
|
|
|
//ZOMBIE PUTTY
|
|
float numBrownPasteSchematicUnlocked = -1;
|
|
if (player.Buffs.HasCustomVar("$FuriousRamsayBrownPasteSchematicUnlocked"))
|
|
{
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement 2a");
|
|
numBrownPasteSchematicUnlocked = player.Buffs.GetCustomVar("$FuriousRamsayBrownPasteSchematicUnlocked");
|
|
}
|
|
else
|
|
{
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement 2b");
|
|
numBrownPasteSchematicUnlocked = 0;
|
|
}
|
|
if (numBrownPasteSchematicUnlocked == 0 && !HasActiveQuest(player, "quest_FuriousRamsayMissionBrownPaste") && level >= 20)
|
|
{
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement 2c");
|
|
numEntries++;
|
|
}
|
|
|
|
// AMMO MACHINE
|
|
float numAmmoMachineSchematicUnlocked = -1;
|
|
if (player.Buffs.HasCustomVar("$FuriousRamsaySilencerSchematicUnlocked"))
|
|
{
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement 3a");
|
|
numAmmoMachineSchematicUnlocked = player.Buffs.GetCustomVar("$FuriousRamsayAmmoMachineSchematicUnlocked");
|
|
}
|
|
else
|
|
{
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement 3b");
|
|
numAmmoMachineSchematicUnlocked = 0;
|
|
}
|
|
if (numAmmoMachineSchematicUnlocked == 0 && !HasActiveQuest(player, "quest_FuriousRamsayMissionAmmoMachine") && level >= 50)
|
|
{
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement 3c");
|
|
numEntries++;
|
|
}
|
|
|
|
//Log.Out("ShowBristonSpecialMissionsRebirth-CheckRequirement numEntries: " + numEntries);
|
|
|
|
if (numEntries > 0)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
|