forked from antonshusharin/DevTools
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdiff_eventQuests.patch
More file actions
140 lines (129 loc) · 5.84 KB
/
diff_eventQuests.patch
File metadata and controls
140 lines (129 loc) · 5.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
diff --git a/Assembly-CSharp/Accessibility/AccessibleJournal.cs b/Assembly-CSharp/Accessibility/AccessibleJournal.cs
index 2f05d96..8e96949 100644
--- a/Assembly-CSharp/Accessibility/AccessibleJournal.cs
+++ b/Assembly-CSharp/Accessibility/AccessibleJournal.cs
@@ -28,7 +28,9 @@ namespace Accessibility
CLAIMING_ACHIEVEMENT,
VIEWING_EVENT,
EVENT_REWARD_TRACK,
- CHOOSING_EVENT_REWARD_TRACK
+ CHOOSING_EVENT_REWARD_TRACK,
+ EVENT_QUESTS,
+ CLAIMING_EVENT_REWARD
};
private int prevPage=-1;
private State m_curState = State.LOADING;
@@ -53,6 +55,7 @@ private int prevPage=-1;
//event menus
private AccessibleMenu m_eventMenu;
private AccessibleHorizontalMenu<AccessibleMultilineText> m_chooseRewardTrackMenu;
+ private AccessibleListOfItems<AccessibleQuest> m_eventQuests;
private static AccessibleJournal s_instance = new AccessibleJournal();
@@ -366,7 +369,7 @@ ReadEventTab();
#region eventTab
-private void ReadEventTab() {
+private void ReadEventTab(bool delay=true) {
SpecialEventDataModel dataModel=SpecialEventManager.Get().GetEventDataModelForCurrentEvent();
m_curState=State.VIEWING_EVENT;
Transform t = OverlayUI.Get().transform.Find("UICanvasHeightScale/Center/ClosedEnvelopeParent Popup Bone/ClosedEnvelopeParent/ClosedEnvelope/ClosedEnvelope/Clickable");
@@ -409,6 +412,7 @@ private void eventMainMenu(SpecialEventDataModel dataModel) {
m_eventMenu.AddOption(dataModel.ChooseTrackPrompt, () => ChooseEventTrack(dataModel.RewardTracks, dataModel.ChooseTrackPrompt));
}
else {
+ m_eventMenu.AddOption(GameStrings.Get("GLUE_PROGRESSION_QUESTS_TITLE"),()=>ReadEventQuests());
m_eventMenu.AddOption(GameStrings.Get("GLUE_PROGRESSION_REWARDS_TITLE"), ReadRewardsTrack);
}
m_eventMenu.StartReading();
@@ -448,6 +452,21 @@ public void SelectTrack(int id) {
ReadJournal();
}
+
+ private void ReadEventQuests() {
+ QuestManager questManager = QuestManager.Get();
+ QuestListDataModel m_questList = questManager.CreateActiveQuestsDataModel(Assets.QuestPool.QuestPoolType.EVENT, (Assets.QuestPool.RewardTrackType)GetRewardTrack().TrackDataModel.RewardTrackType, appendTimeUntilNextQuest: true);
+ m_questList.Quests.Sort(QuestManager.SortChainQuestsToFront); List<QuestDataModel> quests=m_questList.Quests.ToList();
+ List<AccessibleQuest> questList=new List<AccessibleQuest>();
+ foreach(QuestDataModel q in quests) { AccessibleQuest newItem=new AccessibleQuest(this,q);
+ questList.Add(newItem);
+ }
+ m_eventQuests=new AccessibleListOfItems<AccessibleQuest>(null,questList);
+ m_eventQuests.SetGoBackAction(() => ReadEventTab(false));
+ m_curState=State.EVENT_QUESTS;
+m_eventQuests.StartReading();
+ }
+
#endregion
public void HandleAccessibleInput()
{
@@ -464,6 +483,10 @@ public void SelectTrack(int id) {
{
m_mainMenu?.HandleAccessibleInput();
}
+ else if (m_curState == State.EVENT_QUESTS)
+ {
+ m_eventQuests?.HandleAccessibleInput();
+ }
else if (m_curState == State.VIEWING_EVENT)
{
m_eventMenu?.HandleAccessibleInput();
@@ -536,7 +559,11 @@ else if (m_curState == State.CHOOSING_REWARD)
{
return m_mainMenu?.GetHelp();
}
- else if (m_curState == State.VIEWING_EVENT)
+ else if (m_curState == State.EVENT_QUESTS)
+ {
+ return m_eventQuests?.GetHelp(true);
+ }
+else if (m_curState == State.VIEWING_EVENT)
{
return m_eventMenu?.GetHelp();
}
@@ -635,8 +662,7 @@ else if (m_curState == State.ACHIEVEMENT_LIST)
int trackLevel = GetCurrentTrackLevel();
int trackId = GetCurrentTrackId();
- int levelCap = GetRewardTrack().RewardTrackAsset.LevelCapSoft;
-
+ int levelCap = Math.Max(GetRewardTrack().RewardTrackAsset.LevelCapSoft,GetRewardTrack().RewardTrackAsset.Levels.Count());
foreach (var record in GetRewardTrack().RewardTrackAsset.Levels)
{
if (trackId == record.RewardTrackId && record.Level <= trackLevel && record.Level <= levelCap && GetRewardTrack().HasUnclaimedRewardsForLevel(record))
@@ -650,6 +676,7 @@ else if (m_curState == State.ACHIEVEMENT_LIST)
return ret;
}
+#endregion
private void ClaimRewardsTrackRewards()
{
var unclaimedRewards = GetUnclaimedRewards();
@@ -690,7 +717,8 @@ else if (m_curState == State.ACHIEVEMENT_LIST)
}
else
{
- m_curState = State.CLAIMING_REWARD;
+ if(m_curState==State.EVENT_REWARD_TRACK) m_curState=State.CLAIMING_EVENT_REWARD;
+ else m_curState = State.CLAIMING_REWARD;
GetRewardTrack().ClaimReward(nextReward.RewardTrackId, nextReward.Level, forPaidTrack);
}
}
@@ -826,10 +854,16 @@ m_achievementChooseOne=false;
internal void OnTrackRewardAckd(int rewardTrackId, int level, bool forPaidTrack)
{
+
if (m_curState == State.CLAIMING_REWARD)
{
ReadRewardsTrack();
- }
+ } else if (m_curState == State.CLAIMING_EVENT_REWARD)
+ {
+ m_curState=State.VIEWING_EVENT;
+ ReadRewardsTrack();
+ }
+
}
private void ReadRewardsTrackLevel()
@@ -845,7 +879,6 @@ m_achievementChooseOne=false;
//return RewardTrackManager.Get().GetCurrentRewardTrack(Assets.Achievement.RewardTrackType.GLOBAL);
}
- #endregion
#region achievements
private void ReadAchievementCats() {