Files
zzz_REBIRTH__Utils/Scripts/Dialog/DialogRequirementShowBristonSpecialMissionsRebirth.cs
2025-06-04 16:44:53 +09:30

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