Elin Decompiled Documentation EA 23.130 Nightly
Loading...
Searching...
No Matches
TraitStoryBookHome.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using System.Linq;
3using System.Text.RegularExpressions;
4
6{
7 public override void OnRead(Chara c)
8 {
9 List<SourceQuest.Row> list = EClass.sources.quests.rows.Where((SourceQuest.Row q) => IsAvailable(q)).ToList();
10 EClass.ui.AddLayer<LayerList>().SetSize().SetList2(list, (SourceQuest.Row a) => GetTitle(a), delegate(SourceQuest.Row a, ItemGeneral b)
11 {
12 EClass.ui.GetLayer<LayerList>().SetActive(enable: false);
13 LayerDrama.fromBook = true;
14 string text3 = a.drama[0];
15 string idStep = "quest_" + a.id;
16 if (a.id == "pre_debt_runaway")
17 {
18 idStep = "loytelEscaped";
19 }
20 LayerDrama.Activate(text3, text3, idStep, GetChara(text3)).SetOnKill(delegate
21 {
22 EClass.ui.GetLayer<LayerList>().SetActive(enable: true);
23 });
24 }, delegate
25 {
26 }, autoClose: false);
27 static Chara GetChara(string id)
28 {
30 }
31 static string GetTitle(SourceQuest.Row r)
32 {
33 string name = r.GetName();
34 string text = Regex.Replace(r.id, "([0-9]*$)", "");
35 string str = r.id.Replace(text, "");
36 int num = 1;
37 if (!str.IsEmpty())
38 {
39 num = 1 + str.ToInt();
40 }
41 if (name.IsEmpty())
42 {
43 r = EClass.sources.quests.map.TryGetValue(text);
44 if (r != null)
45 {
46 name = r.GetName();
47 }
48 }
49 return name + " " + num;
50 }
51 static bool IsAvailable(SourceQuest.Row r)
52 {
53 if (r.drama.IsEmpty() || GetChara(r.drama[0]) == null)
54 {
55 return false;
56 }
57 if (!EClass.debug.showExtra && r.tags.Contains("debug"))
58 {
59 return false;
60 }
61 string text2 = Regex.Replace(r.id, "([0-9]*$)", "");
62 if (EClass.game.quests.completedIDs.Contains(r.id) || EClass.game.quests.completedIDs.Contains(text2))
63 {
64 return true;
65 }
66 string str2 = r.id.Replace(text2, "");
67 int num2 = 0;
68 if (!str2.IsEmpty())
69 {
70 num2 = str2.ToInt();
71 }
72 Quest quest = EClass.game.quests.Get(text2);
73 if (quest != null && num2 <= quest.phase)
74 {
75 return true;
76 }
77 return EClass.debug.showExtra;
78 }
79 }
80}
Chara Find(string id)
Definition: CardManager.cs:20
GlobalCharaList globalCharas
Definition: CardManager.cs:46
Definition: Chara.cs:10
override string GetName(NameStyle style, int num=-1)
Definition: Chara.cs:1171
bool showExtra
Definition: CoreDebug.cs:167
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static SourceManager sources
Definition: EClass.cs:42
static CoreDebug debug
Definition: EClass.cs:48
static UI ui
Definition: EClass.cs:16
CardManager cards
Definition: Game.cs:155
QuestManager quests
Definition: Game.cs:179
static LayerDrama Activate(string book, string idSheet, string idStep, Chara target=null, Card ref1=null, string tag="")
Definition: LayerDrama.cs:66
Layer SetOnKill(Action action)
Definition: Layer.cs:579
HashSet< string > completedIDs
Definition: QuestManager.cs:17
Quest Get(string id)
Definition: Quest.cs:7
int phase
Definition: Quest.cs:40
SourceQuest quests
override void OnRead(Chara c)