Upload from upload_mods.ps1
This commit is contained in:
95
Scripts/Dialog/DialogRequirementQuestStatusRebirth.cs
Normal file
95
Scripts/Dialog/DialogRequirementQuestStatusRebirth.cs
Normal file
@@ -0,0 +1,95 @@
|
||||
public class DialogRequirementQuestStatusRebirth : BaseDialogRequirement
|
||||
{
|
||||
public override BaseDialogRequirement.RequirementTypes RequirementType
|
||||
{
|
||||
get
|
||||
{
|
||||
return BaseDialogRequirement.RequirementTypes.QuestStatus;
|
||||
}
|
||||
}
|
||||
|
||||
public override string GetRequiredDescription(EntityPlayer player)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
public override bool CheckRequirement(EntityPlayer player, EntityNPC talkingTo)
|
||||
{
|
||||
int maxJobs = RebirthVariables.customMaxJobs;
|
||||
|
||||
if (maxJobs == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
DialogRequirementQuestStatusRebirth.QuestStatuses questStatuses = EnumUtils.Parse<DialogRequirementQuestStatusRebirth.QuestStatuses>(base.Value, false);
|
||||
string id = base.ID;
|
||||
|
||||
int numQuests = 0;
|
||||
|
||||
int questTier = player.QuestJournal.GetCurrentFactionTier(talkingTo.NPCInfo.QuestFaction);
|
||||
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement questTier: " + questTier);
|
||||
|
||||
for (int i = 0; i < player.QuestJournal.quests.Count; i++)
|
||||
{
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement quests[i].ID: " + player.QuestJournal.quests[i].ID);
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement quests[i].QuestClass.Name: " + player.QuestJournal.quests[i].QuestClass.Name);
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement quests[i].QuestClass.QuestType: " + player.QuestJournal.quests[i].QuestClass.QuestType);
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement quests[i].QuestClass.Difficulty: " + player.QuestJournal.quests[i].QuestClass.Difficulty);
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement quests[i].QuestClass.DifficultyTier: " + player.QuestJournal.quests[i].QuestClass.DifficultyTier);
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement quests[i].Active: " + player.QuestJournal.quests[i].Active);
|
||||
|
||||
bool isFromVanillaTrader = RebirthUtilities.IsVanillaTrader(player.QuestJournal.quests[i].QuestGiverID);
|
||||
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement QuestGiverID: " + player.QuestJournal.quests[i].QuestGiverID);
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement isFromVanillaTrader: " + isFromVanillaTrader);
|
||||
|
||||
bool isOpen = isFromVanillaTrader && player.QuestJournal.quests[i].SharedOwnerID == -1 && (player.QuestJournal.quests[i].CurrentState == Quest.QuestState.NotStarted ||
|
||||
player.QuestJournal.quests[i].CurrentState == Quest.QuestState.InProgress ||
|
||||
player.QuestJournal.quests[i].CurrentState == Quest.QuestState.ReadyForTurnIn)
|
||||
;
|
||||
|
||||
if (isOpen)
|
||||
{
|
||||
numQuests++;
|
||||
}
|
||||
}
|
||||
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement numQuests: " + numQuests);
|
||||
|
||||
int numMaxQuests = 7 - (questTier + numQuests);
|
||||
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement numMaxQuests: " + numMaxQuests);
|
||||
|
||||
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsClient)
|
||||
{
|
||||
if (questTier == 1 || questTier == 2)
|
||||
{
|
||||
numMaxQuests = 3 - numQuests;
|
||||
}
|
||||
else if (questTier == 3 || questTier == 4)
|
||||
{
|
||||
numMaxQuests = 2 - numQuests;
|
||||
}
|
||||
else
|
||||
{
|
||||
numMaxQuests = 1 - numQuests;
|
||||
}
|
||||
}
|
||||
|
||||
//Log.Out("DialogRequirementQuestStatusRebirth-CheckRequirement numMaxQuests: " + numMaxQuests);
|
||||
|
||||
return (numMaxQuests > 0);
|
||||
}
|
||||
|
||||
private enum QuestStatuses
|
||||
{
|
||||
NotStarted,
|
||||
InProgress,
|
||||
TurnInReady,
|
||||
Completed,
|
||||
CanReceive,
|
||||
CannotReceive
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user