16 if (this.sequence ==
null)
20 this.sequence.OnUpdate();
27 this.cgCover.SetActive(
false);
28 this.endroll.SetActive(
false);
29 this.tg = setup.person;
30 this.SetDialog(
"Default");
38 this.sequence.lastStep = (this.sequence.lastlastStep = setup.step);
39 if (!setup.forceJump.IsEmpty())
41 this.sequence.Play(setup.forceJump);
45 this.sequence.Play(0);
53 this.sequence.Clear();
54 this.customEvents.Clear();
55 this.customTalkTopics.Clear();
56 this.moldActor = this.actorPos.CreateMold(
null);
59 this.sequence.AddActor(
"tg", this.tg);
62 string text = CorePath.DramaData + this.setup.book +
".xlsx";
63 ExcelData excelData =
DramaManager.dictCache.TryGetValue(text,
null);
64 if (excelData !=
null && excelData.IsModified())
68 if (excelData ==
null)
70 excelData =
new ExcelData();
72 excelData.maxEmptyRows = 10;
73 excelData.path = text;
74 List<Dictionary<string, string>> list = excelData.BuildList(this.setup.sheet);
75 if (!Lang.isBuiltin &&
this.dictLocalize.Count == 0)
77 foreach (Dictionary<string, string> dictionary
in new ExcelData
80 path = CorePath.DramaDataLocal + this.setup.book +
".xlsx"
81 }.BuildList(this.setup.sheet))
83 string text2 = dictionary[
"id"];
84 if (!text2.IsEmpty() && !dictionary[
"text"].IsEmpty())
86 this.dictLocalize.Add(text2, dictionary[
"text"]);
91 this.idDefault = this.setup.step;
93 this.enableTone = (this.customEventsAdded = (this.idDefaultPassed =
false));
95 for (
int i = 0; i < list.Count; i++)
97 this.ParseLine(list[i]);
100 this.AddCustomEvents(
"Resident");
101 this.sequence.steps[
"end"] = 99999;
102 this.sequence.AddActor(
"narrator",
new Person(
"narrator",
null));
103 return this.sequence;
107 public void AddCustomEvents(
string idCustom =
"Resident")
109 if (this.customEventsAdded)
116 idDefault = this.idDefault,
118 events = this.customEvents,
119 setup = this.sequence.setup,
120 sequence = this.sequence
122 this.CustomEvent(delegate
124 this.sequence.Exit();
126 if (this.tg !=
null && this.tg.hasChara)
128 DramaManager.TG = this.tg.chara;
129 dramaCustomSequence.Build(this.tg.chara);
131 if (!this.sequence.setup.textData.IsEmpty())
133 dramaCustomSequence.BuildTextData();
139 this.customEventsAdded =
true;
143 public unsafe
void ParseLine(Dictionary<string, string> item)
146 CS$<>8__locals1.<>4__this =
this;
147 string[] array = item.ContainsKey(
"action") ? item[
"action"].Split(
'/', StringSplitOptions.None) :
null;
148 CS$<>8__locals1.action = ((array !=
null) ? array[0] :
null);
149 string text = item.ContainsKey(
"step") ? item[
"step"] :
null;
154 if (text == this.idDefault)
156 this.idDefaultPassed =
true;
158 CS$<>8__locals1.actor = (item.ContainsKey(
"actor") ? item[
"actor"] :
"#1");
159 CS$<>8__locals1.p = (item.ContainsKey(
"param") ? item[
"param"].Split(
',', StringSplitOptions.None) :
new string[0]);
160 CS$<>8__locals1.p0 = ((CS$<>8__locals1.p.Length != 0) ? CS$<>8__locals1.p[0] :
"");
161 CS$<>8__locals1.p1 = ((CS$<>8__locals1.p.Length > 1) ? CS$<>8__locals1.p[1] :
"");
162 CS$<>8__locals1.p2 = ((CS$<>8__locals1.p.Length > 2) ? CS$<>8__locals1.p[2] :
"");
163 float.TryParse(CS$<>8__locals1.p0, out CS$<>8__locals1.p0f);
165 float.TryParse(CS$<>8__locals1.p1, out num);
166 bool flag = !item[
"text_JP"].IsEmpty();
167 item.TryGetValue(
"text_JP",
null);
168 CS$<>8__locals1.text =
null;
173 string key = item[
"id"];
174 if (this.dictLocalize.ContainsKey(key))
176 CS$<>8__locals1.text = this.dictLocalize[key];
180 CS$<>8__locals1.text = item.TryGetValue(
"text_EN",
null);
185 CS$<>8__locals1.text = item[
"text_" + Lang.langCode];
188 if (flag && CS$<>8__locals1.text.StartsWith(
"$") &&
this.tg !=
null &&
this.tg.hasChara)
190 string text2 = CS$<>8__locals1.text.Split(
' ', StringSplitOptions.None)[0];
191 CS$<>8__locals1.text = CS$<>8__locals1.text.Replace(text2, this.tg.chara.GetTalkText(text2.Remove(0, 1),
false,
true));
193 CS$<>8__locals1.jump = (item.ContainsKey(
"jump") ? item[
"jump"] :
null);
194 string text3 = item.ContainsKey(
"if") ? item[
"if"] :
null;
195 string @
if = item.ContainsKey(
"if2") ? item[
"if2"] :
null;
196 string check = item.ContainsKey(
"check") ? item[
"check"] :
null;
198 if (text !=
null && !this.sequence.steps.ContainsKey(text) && CS$<>8__locals1.action !=
"choice" && CS$<>8__locals1.action !=
"cancel")
200 this.sequence.steps.Add(text, this.sequence.events.Count);
212 if (!this.CheckIF(text3) || !this.CheckIF(@
if))
214 if (CS$<>8__locals1.action ==
"reload")
216 string id =
"flag" + this.countLine.ToString();
217 this.sequence.AddStep(
id);
221 string text4 = CS$<>8__locals1.action;
222 uint num2 = <PrivateImplementationDetails>.ComputeStringHash(text4);
223 if (num2 <= 1960439120U)
225 if (num2 <= 767425313U)
227 if (num2 <= 310765516U)
229 if (num2 <= 142925988U)
231 if (num2 <= 85301960U)
233 if (num2 != 59586952U)
235 if (num2 != 85301960U)
239 if (!(text4 ==
"glitch"))
243 this.AddEvent(delegate()
245 DramaActor.useGlitch =
true;
251 if (!(text4 ==
"addResource"))
255 this.AddEvent(delegate()
257 EMono.BranchOrHomeBranch.resources.Get(CS$<>8__locals1.p0).Mod(CS$<>8__locals1.p1.ToInt(),
true);
262 else if (num2 != 107912219U)
264 if (num2 != 142925988U)
268 if (!(text4 ==
"fadeInOut"))
272 this.AddEvent(delegate()
274 CS$<>8__locals1.<>4__this.imageCover.color = ((CS$<>8__locals1.p2 !=
null && CS$<>8__locals1.p2 ==
"white") ? Color.white : Color.black);
275 CS$<>8__locals1.<>4__this.cgCover.SetActive(
true);
276 CS$<>8__locals1.<>4__this.cgCover.alpha = 0f;
277 CS$<>8__locals1.<>4__this.cgCover.DOFade(1f, CS$<>8__locals1.p0f).SetDelay(0.1f);
278 }, CS$<>8__locals1.p0f,
true);
279 this.AddEvent(
new DramaEventWait((num == 0f) ? 0.1f : num,
null));
280 this.AddEvent(delegate()
282 CS$<>8__locals1.<>4__this.imageCover.color = ((CS$<>8__locals1.p2 !=
null && CS$<>8__locals1.p2 ==
"white") ? Color.white : Color.black);
283 CS$<>8__locals1.<>4__this.cgCover.SetActive(
true);
284 CS$<>8__locals1.<>4__this.cgCover.alpha = 1f;
285 CS$<>8__locals1.<>4__this.cgCover.DOFade(0f, CS$<>8__locals1.p0f).SetDelay(0.1f);
286 }, CS$<>8__locals1.p0f,
false);
291 if (!(text4 ==
"cancel"))
295 this.lastTalk.canCancel =
true;
296 this.lastTalk.idCancelJump = CS$<>8__locals1.jump;
300 else if (num2 <= 260921166U)
302 if (num2 != 235771284U)
304 if (num2 != 260921166U)
308 if (!(text4 ==
"bout_win"))
315 if (!(text4 ==
"sound"))
319 this.AddEvent(delegate()
321 if (CS$<>8__locals1.p1 !=
"")
323 SoundManager.current.MuteBGMFor(
float.Parse(CS$<>8__locals1.p1));
325 EMono.Sound.Play(CS$<>8__locals1.p0);
330 else if (num2 != 290138826U)
332 if (num2 != 307805908U)
334 if (num2 != 310765516U)
338 if (!(text4 ==
"haltPlaylist"))
342 LayerDrama.haltPlaylist =
true;
347 if (!(text4 ==
"addKeyItem"))
351 this.AddEvent(delegate()
353 EMono.player.ModKeyItem(CS$<>8__locals1.p0, 1,
true);
360 if (!(text4 ==
"setBG2"))
364 this.AddEvent(delegate()
366 Util.Instantiate<Transform>(
"Media/Graphics/Image/Drama/" + CS$<>8__locals1.p0, CS$<>8__locals1.<>4__this.layer).SetAsFirstSibling();
371 else if (num2 <= 588029017U)
373 if (num2 <= 381584877U)
375 if (num2 != 337658899U)
377 if (num2 != 381584877U)
381 if (!(text4 ==
"addActor"))
385 if (CS$<>8__locals1.actor ==
"god")
387 this.sequence.AddActor(CS$<>8__locals1.actor,
new Person(
LayerDrama.currentReligion));
390 DramaActor dramaActor = this.sequence.AddActor(CS$<>8__locals1.actor,
new Person(CS$<>8__locals1.actor,
null));
391 if (!CS$<>8__locals1.text.IsEmpty())
393 dramaActor.owner.tempName = CS$<>8__locals1.text;
400 if (!(text4 ==
"focus"))
404 this.AddEvent(delegate()
406 Point pos = CS$<>8__locals1.<>4__this.sequence.setup.person.chara.pos.Copy();
415 else if (num2 != 434279500U)
417 if (num2 != 441554552U)
419 if (num2 != 588029017U)
423 if (!(text4 ==
"bout_lose"))
430 if (!(text4 ==
"alphaIn"))
434 this.AddEvent(delegate()
436 DOTween.Kill(CS$<>8__locals1.<>4__this.cg,
false);
437 CS$<>8__locals1.<>4__this.cg.alpha = 0f;
438 CS$<>8__locals1.<>4__this.cg.DOFade(1f, CS$<>8__locals1.p0f).SetDelay(0.1f);
439 }, CS$<>8__locals1.p0f,
false);
445 if (!(text4 ==
"completeQuest"))
449 this.AddEvent(delegate()
451 EMono.game.quests.Complete(CS$<>8__locals1.p0.IsEmpty() ?
LayerDrama.currentQuest :
EMono.game.quests.Get(CS$<>8__locals1.p0));
452 LayerDrama.currentQuest =
null;
457 else if (num2 <= 681154065U)
459 if (num2 != 652943243U)
461 if (num2 != 681154065U)
465 if (!(text4 ==
"new"))
473 if (!(text4 ==
"Playlist"))
477 this.AddEvent(delegate()
479 LayerDrama.haltPlaylist =
false;
480 EMono.Sound.StopBGM(0f,
false);
481 EMono.Sound.currentBGM =
null;
482 CS$<>8__locals1.<>4__this.bgmChanged =
true;
487 else if (num2 != 691248415U)
489 if (num2 != 718790086U)
491 if (num2 != 767425313U)
495 if (!(text4 ==
"acceptQuest"))
499 this.AddEvent(delegate()
501 IEnumerable<Quest> globalList =
EMono.game.quests.globalList;
502 Func<Quest, bool> predicate;
503 if ((predicate = CS$<>8__locals1.<>9__64) ==
null)
505 predicate = (CS$<>8__locals1.<>9__64 = ((
Quest a) => a.source.id == CS$<>8__locals1.p0));
507 Quest quest = globalList.Where(predicate).First<
Quest>();
508 EMono.game.quests.globalList.Remove(quest);
509 EMono.game.quests.Start(quest);
515 if (!(text4 ==
"forceBGM"))
519 this.AddEvent(delegate()
521 SoundManager.ForceBGM();
528 if (!(text4 ==
"effectEmbarkIn"))
532 this.AddEvent(delegate()
534 EMono._map.RevealAll(
true);
535 Util.Instantiate(
"UI/Layer/LayerEmbark/EmbarkActor_crystal",
null);
539 this.AddEvent(delegate()
543 if ((onKill = CS$<>8__locals1.<>9__66) ==
null)
545 onKill = (CS$<>8__locals1.<>9__66 = delegate()
547 Zone zone =
EMono.game.spatials.Find(
EMono._zone.instance.uidZone);
548 if (CS$<>8__locals1.action ==
"bout_win")
552 target = CS$<>8__locals1.<>4__this.tg.chara
558 instance.SetOnKill(onKill);
562 if (num2 <= 1487154227U)
564 if (num2 <= 912332847U)
566 if (num2 <= 826615426U)
568 if (num2 != 797646213U)
570 if (num2 == 826615426U)
572 if (text4 ==
"keepBGM")
574 LayerDrama.keepBGM =
true;
579 else if (text4 ==
"endroll")
585 else if (num2 != 895014094U)
587 if (num2 == 912332847U)
589 if (text4 ==
"tutorial")
599 else if (text4 ==
"unfocus")
601 this.AddEvent(delegate()
603 EMono.scene.screenElin.focusOption =
null;
608 else if (num2 <= 1073903299U)
610 if (num2 != 998101119U)
612 if (num2 == 1073903299U)
614 if (text4 ==
"updateJournal")
616 this.AddEvent(delegate()
618 EMono.game.quests.UpdateJournal();
624 else if (text4 ==
"nextPhase")
626 this.AddEvent(delegate()
628 EMono.game.quests.Get(CS$<>8__locals1.p0).NextPhase();
633 else if (num2 != 1225822769U)
635 if (num2 != 1425576060U)
637 if (num2 == 1487154227U)
641 this.AddEvent(delegate()
645 if ((onKill = CS$<>8__locals1.<>9__65) ==
null)
647 onKill = (CS$<>8__locals1.<>9__65 = delegate()
649 CS$<>8__locals1.<>4__this.tg.chara.PlaySound(
"whip", 1f,
true);
650 CS$<>8__locals1.<>4__this.tg.chara.Say(
"slap", CS$<>8__locals1.<>4__this.tg.chara,
EMono.pc,
null,
null);
651 EMono.pc.PlayAnime(AnimeID.Shiver,
false);
652 EMono.pc.DamageHP(5 +
EClass.rndHalf(
EMono.pc.MaxHP / 3), 919, 100, AttackSource.Condition,
null,
true);
653 EMono.pc.OnInsulted();
656 instance.SetOnKill(onKill);
662 else if (text4 ==
"setBG")
664 this.AddEvent(delegate()
666 if (CS$<>8__locals1.p0.IsEmpty())
668 CS$<>8__locals1.<>4__this.imageBG.enabled =
false;
671 CS$<>8__locals1.<>4__this.imageBG.enabled =
true;
672 CS$<>8__locals1.<>4__this.imageBG.sprite = Resources.Load<Sprite>(
"Media/Graphics/Image/Drama/" + CS$<>8__locals1.p0);
677 else if (text4 ==
"hideDialog")
679 this.AddEvent(delegate()
681 CS$<>8__locals1.<>4__this.dialog.SetActive(
false);
686 else if (num2 <= 1787721130U)
688 if (num2 <= 1563407972U)
690 if (num2 != 1505339517U)
692 if (num2 == 1563407972U)
694 if (text4 ==
"BGMStay")
696 this.AddEvent(delegate()
698 EMono.Sound.PlayBGM(
EMono.core.refs.dictBGM[CS$<>8__locals1.p0.ToInt()], 0f, 0f);
704 else if (text4 ==
"alphaOut")
706 this.AddEvent(delegate()
708 DOTween.Kill(CS$<>8__locals1.<>4__this.cg,
false);
709 CS$<>8__locals1.<>4__this.cg.alpha = 1f;
710 CS$<>8__locals1.<>4__this.cg.DOFade(0f, CS$<>8__locals1.p0f).SetDelay(0.1f);
711 }, CS$<>8__locals1.p0f,
true);
715 else if (num2 != 1611900348U)
717 if (num2 != 1672383624U)
719 if (num2 == 1787721130U)
728 else if (text4 ==
"addAffinity")
733 else if (text4 ==
"alphaInOut")
735 this.AddEvent(delegate()
737 DOTween.Kill(CS$<>8__locals1.<>4__this.cg,
false);
738 CS$<>8__locals1.<>4__this.cg.alpha = 1f;
739 CS$<>8__locals1.<>4__this.cg.DOFade(0f, CS$<>8__locals1.p0f).SetDelay(0.1f);
740 }, CS$<>8__locals1.p0f,
true);
741 this.AddEvent(
new DramaEventWait((num == 0f) ? 0.1f : num,
null));
742 this.AddEvent(delegate()
744 DOTween.Kill(CS$<>8__locals1.<>4__this.cg,
false);
745 CS$<>8__locals1.<>4__this.cg.alpha = 0f;
746 CS$<>8__locals1.<>4__this.cg.DOFade(1f, CS$<>8__locals1.p0f).SetDelay(0.1f);
747 }, CS$<>8__locals1.p0f,
false);
751 else if (num2 <= 1852738900U)
753 if (num2 != 1813383965U)
755 if (num2 == 1852738900U)
757 if (text4 ==
"effect")
759 this.AddEvent(delegate()
761 Point from =
new Point(CS$<>8__locals1.p[1].ToInt(), CS$<>8__locals1.p[2].ToInt());
762 Effect.Get(CS$<>8__locals1.p0).Play(from, 0f,
null,
null);
768 else if (text4 ==
"setHour")
770 this.AddEvent(delegate()
772 EMono.world.date.hour = (int)CS$<>8__locals1.p0f;
773 EMono.world.date.min = 0;
774 EMono.scene.OnChangeHour();
775 EMono.scene.screenElin.RefreshAll();
776 EMono.pc.RecalculateFOV();
781 else if (num2 != 1908317780U)
783 if (num2 != 1915422415U)
785 if (num2 == 1960439120U)
787 if (text4 ==
"haltBGM")
789 EMono.Sound.haltUpdate =
true;
794 else if (text4 ==
"setDialog")
796 this.AddEvent(delegate()
798 CS$<>8__locals1.<>4__this.SetDialog(CS$<>8__locals1.p0);
803 else if (text4 ==
"setQuestClient")
805 this.AddEvent(delegate()
809 LayerDrama.currentQuest.SetClient(CS$<>8__locals1.<>4__this.tg.chara,
false);
817 if (num2 <= 3002570765U)
819 if (num2 <= 2301512864U)
821 if (num2 <= 2124469614U)
823 if (num2 <= 2066570139U)
825 if (num2 != 2027681165U)
827 if (num2 != 2066570139U)
831 if (!(text4 ==
"canCancel"))
835 this.AddEvent(delegate()
837 CS$<>8__locals1.<>4__this.sequence.canCancel =
bool.Parse(CS$<>8__locals1.p0);
843 if (!(text4 ==
"setFlag"))
847 this.AddEvent(delegate()
849 if (CS$<>8__locals1.p0.StartsWith(
"*"))
851 Quest quest =
EMono.game.quests.Get(CS$<>8__locals1.p0.TrimStart(
'*'));
854 quest.ChangePhase(CS$<>8__locals1.p1.ToInt(quest.GetType()));
860 EMono.player.dialogFlags[CS$<>8__locals1.p0] = (CS$<>8__locals1.p1.IsEmpty() ? 1 :
int.Parse(CS$<>8__locals1.p1));
866 else if (num2 != 2076142835U)
868 if (num2 != 2124469614U)
872 if (!(text4 ==
"focusChara"))
876 this.AddEvent(delegate()
878 Point pos =
EMono._map.FindChara(CS$<>8__locals1.p0).pos.Copy();
882 speed = CS$<>8__locals1.p1.IsEmpty(
"2").ToFloat()
889 if (!(text4 ==
"hideUI"))
893 this.AddEvent(delegate()
895 EMono.ui.Hide(CS$<>8__locals1.p0f);
900 else if (num2 <= 2194345477U)
902 if (num2 != 2137771011U)
904 if (num2 != 2194345477U)
908 if (!(text4 ==
"fadeOut"))
912 this.AddEvent(delegate()
914 CS$<>8__locals1.<>4__this.imageCover.color = ((CS$<>8__locals1.p1 !=
null && CS$<>8__locals1.p1 ==
"white") ? Color.white : Color.black);
915 CS$<>8__locals1.<>4__this.cgCover.SetActive(
true);
916 CS$<>8__locals1.<>4__this.cgCover.alpha = 0f;
917 CS$<>8__locals1.<>4__this.cgCover.DOFade(1f, CS$<>8__locals1.p0f).SetDelay(0.1f);
918 }, CS$<>8__locals1.p0f,
true);
923 if (!(text4 ==
"focusPos"))
927 this.AddEvent(delegate()
931 pos =
new Point(CS$<>8__locals1.p0.ToInt(), CS$<>8__locals1.p1.ToInt()),
932 speed = CS$<>8__locals1.p2.IsEmpty(
"2").ToFloat()
938 else if (num2 != 2212514718U)
940 if (num2 != 2225796703U)
942 if (num2 != 2301512864U)
946 if (!(text4 ==
"wait"))
955 if (!(text4 ==
"startQuest"))
959 this.AddEvent(delegate()
961 Quest quest =
Quest.Create(CS$<>8__locals1.p0,
null,
null);
964 Msg.Say(
"(Failed DLC check)");
967 EMono.game.quests.Start(quest);
968 LayerDrama.currentQuest = quest;
969 if (CS$<>8__locals1.<>4__this.tg !=
null && CS$<>8__locals1.<>4__this.tg.chara !=
null)
971 string[] array2 =
new string[6];
972 array2[0] =
"Starting Quest:";
974 Quest quest2 = quest;
975 array2[num3] = ((quest2 !=
null) ? quest2.ToString() :
null);
978 Quest quest3 = CS$<>8__locals1.<>4__this.tg.chara.quest;
979 array2[num4] = ((quest3 !=
null) ? quest3.ToString() :
null);
981 array2[5] = (quest == CS$<>8__locals1.<>4__this.tg.chara.quest).ToString();
982 Debug.Log(
string.Concat(array2));
990 if (!(text4 ==
"propEnter"))
994 this.AddEvent(delegate()
996 DramaProp component = Util.Instantiate(
"Media/Drama/Prop/" + CS$<>8__locals1.p0,
null).GetComponent<
DramaProp>();
997 component.name = CS$<>8__locals1.p0;
998 if (CS$<>8__locals1.p1.IsEmpty())
1000 component.transform.position =
EMono.scene.cam.transform.position;
1004 Point point =
new Point(CS$<>8__locals1.p[1].ToInt(), CS$<>8__locals1.p[2].ToInt());
1005 component.transform.position = *point.PositionCenter();
1012 else if (num2 <= 2704835779U)
1014 if (num2 <= 2382385783U)
1016 if (num2 != 2350759358U)
1018 if (num2 != 2382385783U)
1022 if (!(text4 ==
"checkAffinity"))
1030 if (!(text4 ==
"%worship"))
1034 this.AddEvent(delegate()
1042 else if (num2 != 2406701654U)
1044 if (num2 != 2470639475U)
1046 if (num2 != 2704835779U)
1050 if (!(text4 ==
"replace"))
1054 this.AddEvent(delegate()
1056 CS$<>8__locals1.<>4__this.textReplace = CS$<>8__locals1.text;
1062 if (!(text4 ==
"showSkip"))
1066 this.goSkip.SetActive(
true);
1070 else if (!(text4 ==
"choice"))
1075 else if (num2 <= 2846199180U)
1077 if (num2 != 2745269549U)
1079 if (num2 != 2846199180U)
1083 if (!(text4 ==
"drop"))
1087 this.AddEvent(delegate()
1089 Msg.Say(
"dropReward");
1098 if (!(text4 ==
"lastBGM"))
1102 this.AddEvent(delegate()
1104 EMono.Sound.StopBGM(CS$<>8__locals1.p0f,
true);
1109 else if (num2 != 2888196486U)
1111 if (num2 != 2914142528U)
1113 if (num2 != 3002570765U)
1117 if (!(text4 ==
"invoke"))
1121 if (CS$<>8__locals1.jump.IsEmpty())
1123 this.AddEvent(delegate()
1125 typeof(
DramaOutcome).GetMethod(CS$<>8__locals1.p[0]).Invoke(CS$<>8__locals1.<>4__this.outcome,
null);
1129 this.AddEvent(delegate()
1133 if (!(
bool)typeof(
DramaOutcome).GetMethod(CS$<>8__locals1.p[0]).Invoke(CS$<>8__locals1.<>4__this.outcome,
null))
1137 return CS$<>8__locals1.jump;
1144 if (!(text4 ==
"fadeIn"))
1148 this.AddEvent(delegate()
1150 CS$<>8__locals1.<>4__this.imageCover.color = ((CS$<>8__locals1.p1 !=
null && CS$<>8__locals1.p1 ==
"white") ? Color.white : Color.black);
1151 CS$<>8__locals1.<>4__this.cgCover.SetActive(
true);
1152 CS$<>8__locals1.<>4__this.cgCover.alpha = 1f;
1153 CS$<>8__locals1.<>4__this.cgCover.DOFade(0f, CS$<>8__locals1.p0f).SetDelay(0.1f);
1154 }, CS$<>8__locals1.p0f,
false);
1160 if (!(text4 ==
"destroyItem"))
1164 this.AddEvent(delegate()
1166 EMono.pc.things.Find(CS$<>8__locals1.p0, -1, -1).Destroy();
1171 else if (num2 <= 3475118372U)
1173 if (num2 <= 3244494447U)
1175 if (num2 <= 3083595508U)
1177 if (num2 != 3036235398U)
1179 if (num2 != 3083595508U)
1183 if (!(text4 ==
"inject"))
1188 if (this.idDefaultPassed)
1190 this.AddCustomEvents(CS$<>8__locals1.p0);
1192 this.lastTalk = dramaEventTalk;
1197 if (!(text4 ==
"enableTone"))
1201 this.enableTone =
true;
1205 else if (num2 != 3180049141U)
1207 if (num2 != 3202888471U)
1209 if (num2 != 3244494447U)
1213 if (!(text4 ==
"editPlaylist"))
1217 this.AddEvent(delegate()
1219 List<int> list =
new List<int>();
1220 foreach (
string s
in CS$<>8__locals1.p)
1222 list.Add(
int.Parse(s));
1224 EMono._zone.SetBGM(list,
true);
1230 if (!(text4 ==
"propLeave"))
1234 this.AddEvent(delegate()
1236 GameObject.Find(CS$<>8__locals1.p0).GetComponent<
DramaProp>().Leave();
1243 if (!(text4 ==
"shake"))
1247 this.AddEvent(delegate()
1249 Shaker.ShakeCam(
"default", 1f);
1254 else if (num2 <= 3294324549U)
1256 if (num2 != 3264522692U)
1258 if (num2 != 3294324549U)
1262 if (!(text4 ==
"destroy"))
1266 this.AddEvent(delegate()
1268 Chara chara =
EMono._map.FindChara(CS$<>8__locals1.p0);
1274 Debug.Log(
"Drama.destroy chara not found:" + CS$<>8__locals1.p0);
1280 if (!(text4 ==
"topic"))
1284 this.customTalkTopics[CS$<>8__locals1.p0] = CS$<>8__locals1.text;
1288 else if (num2 != 3439296072U)
1290 if (num2 != 3465848593U)
1292 if (num2 != 3475118372U)
1296 if (!(text4 ==
"effectEmbarkOut"))
1300 this.AddEvent(delegate()
1302 UnityEngine.Object.FindObjectOfType<
EmbarkActor>().Hide();
1308 if (!(text4 ==
"stopBGM"))
1312 this.AddEvent(delegate()
1314 LayerDrama.haltPlaylist =
true;
1315 EMono.Sound.StopBGM(CS$<>8__locals1.p0f,
false);
1316 EMono.Sound.currentBGM =
null;
1323 if (!(text4 ==
"save"))
1327 this.AddEvent(delegate()
1329 EMono.game.Save(
false,
null,
true);
1334 else if (num2 <= 3798489521U)
1336 if (num2 <= 3666392194U)
1338 if (num2 != 3591781101U)
1340 if (num2 != 3666392194U)
1344 if (!(text4 ==
"saveBGM"))
1352 if (!(text4 ==
"disableFullPortrait"))
1356 this.AddEvent(delegate()
1358 CS$<>8__locals1.<>4__this.sequence.fullPortrait =
false;
1363 else if (num2 != 3712584270U)
1365 if (num2 != 3742116480U)
1367 if (num2 != 3798489521U)
1371 if (!(text4 ==
"BGM"))
1375 this.AddEvent(delegate()
1377 LayerDrama.haltPlaylist =
true;
1378 LayerDrama.maxBGMVolume =
true;
1379 EMono.Sound.PlayBGM(
EMono.core.refs.dictBGM[CS$<>8__locals1.p0.ToInt()], 0f, 0f);
1380 CS$<>8__locals1.<>4__this.bgmChanged =
true;
1386 if (!(text4 ==
"fadeEnd"))
1390 if (CS$<>8__locals1.p0f == 0f)
1392 CS$<>8__locals1.p0f = 1f;
1394 this.AddEvent(delegate()
1396 CS$<>8__locals1.<>4__this.imageCover.color = Color.black;
1397 CS$<>8__locals1.<>4__this.cgCover.SetActive(
true);
1398 CS$<>8__locals1.<>4__this.cgCover.alpha = 0f;
1399 CS$<>8__locals1.<>4__this.cgCover.DOFade(1f, CS$<>8__locals1.p0f).SetDelay(0.1f);
1400 }, CS$<>8__locals1.p0f,
true);
1401 this.AddEvent(delegate()
1403 CS$<>8__locals1.<>4__this.dialog.SetActive(
false);
1404 CS$<>8__locals1.<>4__this.imageBG.enabled =
false;
1406 this.AddEvent(delegate()
1408 DOTween.Kill(CS$<>8__locals1.<>4__this.cg,
false);
1409 CS$<>8__locals1.<>4__this.cg.alpha = 1f;
1410 CS$<>8__locals1.<>4__this.cg.DOFade(0f, CS$<>8__locals1.p0f).SetDelay(0.1f);
1411 }, CS$<>8__locals1.p0f,
true);
1417 if (!(text4 ==
"focusPC"))
1421 this.AddEvent(delegate()
1426 speed = CS$<>8__locals1.p0.IsEmpty(
"2").ToFloat()
1432 else if (num2 <= 3984383372U)
1434 if (num2 != 3901313050U)
1436 if (num2 != 3984383372U)
1440 if (!(text4 ==
"reload"))
1444 string __step =
"flag" + this.countLine.ToString();
1445 this.AddEvent(delegate()
1447 CS$<>8__locals1.<>4__this.Load();
1448 CS$<>8__locals1.<>4__this.sequence.Play(CS$<>8__locals1.jump.IsEmpty(__step));
1450 this.sequence.AddStep(__step);
1455 if (!(text4 ==
"_choices"))
1459 using (List<DramaChoice>.Enumerator enumerator = this._choices.GetEnumerator())
1461 while (enumerator.MoveNext())
1464 this.lastTalk.AddChoice(choice);
1470 else if (num2 != 4018229058U)
1472 if (num2 != 4097442686U)
1474 if (num2 != 4121006852U)
1478 if (!(text4 ==
"setAlwaysVisible"))
1482 this.AddEvent(delegate()
1484 LayerDrama.alwaysVisible =
EMono._map.FindChara(CS$<>8__locals1.p0);
1490 if (!(text4 ==
"screenLock"))
1494 this.layer.ShowScreenLock(CS$<>8__locals1.p0);
1500 if (!(text4 ==
"canSkip"))
1504 this.AddEvent(delegate()
1506 CS$<>8__locals1.<>4__this.sequence.skipJump = CS$<>8__locals1.p0;
1510 if (this.CheckIF(text3) && this.CheckIF(@
if))
1512 if (array.Length > 1)
1515 num2 = <PrivateImplementationDetails>.ComputeStringHash(text4);
1516 if (num2 <= 1362521689U)
1518 if (num2 <= 232707651U)
1520 if (num2 != 164679485U)
1522 if (num2 == 232707651U)
1524 if (text4 ==
"depart")
1526 CS$<>8__locals1.text =
"depart".lang();
1527 CS$<>8__locals1.jump =
"_depart";
1531 else if (text4 ==
"quest")
1533 CS$<>8__locals1.text =
"deQuest".lang();
1534 CS$<>8__locals1.jump =
"_quest";
1537 else if (num2 != 415325326U)
1539 if (num2 == 1362521689U)
1541 if (text4 ==
"trade")
1543 CS$<>8__locals1.text =
"daTrade".lang();
1544 CS$<>8__locals1.jump =
"_trade";
1548 else if (text4 ==
"rumor")
1550 CS$<>8__locals1.text =
"letsTalk".lang();
1551 CS$<>8__locals1.jump =
"_rumor";
1554 else if (num2 <= 1708488555U)
1556 if (num2 != 1583061253U)
1558 if (num2 == 1708488555U)
1562 CS$<>8__locals1.text =
"daBuy".lang();
1563 CS$<>8__locals1.jump =
"_buy";
1567 else if (text4 ==
"sell")
1569 CS$<>8__locals1.text =
"daSell".lang();
1570 CS$<>8__locals1.jump =
"_sell";
1573 else if (num2 != 1911791459U)
1575 if (num2 == 2571906332U)
1577 if (text4 ==
"give")
1579 CS$<>8__locals1.text =
"daGive".lang();
1580 CS$<>8__locals1.jump =
"_give";
1584 else if (text4 ==
"bye")
1586 CS$<>8__locals1.text =
"bye".lang();
1587 CS$<>8__locals1.jump =
"_bye";
1591 this.lastTalk.AddChoice(
new DramaChoice(CS$<>8__locals1.text, CS$<>8__locals1.jump, CS$<>8__locals1.p0, check, text3));
1599 this.lastTalk = (this.AddEvent(
new DramaEventTalk(CS$<>8__locals1.actor, delegate()
1601 if (!CS$<>8__locals1.<>4__this.textReplace.IsEmpty())
1603 CS$<>8__locals1.text = CS$<>8__locals1.<>4__this.textReplace;
1604 CS$<>8__locals1.<>4__this.textReplace =
null;
1606 if (CS$<>8__locals1.<>4__this.tg !=
null && (CS$<>8__locals1.actor ==
"tg" || CS$<>8__locals1.actor.IsEmpty()))
1608 CS$<>8__locals1.text = CS$<>8__locals1.<>4__this.tg.ApplyTone(CS$<>8__locals1.text);
1610 return CS$<>8__locals1.text;
1612 this.lastTalk.center = (CS$<>8__locals1.p0 ==
"center");
1615 if (!
string.IsNullOrEmpty(CS$<>8__locals1.jump) && !flag2)
1624 return this.sequence.GetActor(
id);
1633 return this.sequence.GetActor(
"tg");
1640 return this.sequence.AddEvent(e);
1644 public DramaEventMethod AddEvent(Action func,
float duration = 0f,
bool halt =
false)
1659 public DramaEvent CustomEvent(Action func,
string step =
null,
float duration = 0f,
bool halt =
false)
1665 this.customEvents.Add(dramaEventMethod);
1666 return dramaEventMethod;
1670 public void SetDialog(
string id =
"Default")
1674 if (dialogDrama.portrait)
1676 dialogDrama.portrait.imageFull.SetActive(
false);
1678 dialogDrama.SetActive(
false);
1679 if (dialogDrama.name ==
"Dialog" +
id)
1681 this.dialog = dialogDrama;
1687 public bool CheckIF(
string IF)
1689 if (IF ==
null || IF.IsEmpty())
1693 string[] array = IF.Split(
',', StringSplitOptions.None);
1694 string text = array[0];
1695 uint num = <PrivateImplementationDetails>.ComputeStringHash(text);
1696 if (num <= 2044268227U)
1698 if (num <= 439160533U)
1700 if (num <= 154126619U)
1702 if (num != 98859158U)
1704 if (num == 154126619U)
1706 if (text ==
"letterTrial")
1708 return Guild.CurrentQuest is
QuestGuildMage && Guild.CurrentQuest.phase == 0 &&
EMono.pc.things.Find(
"letter_trial", -1, -1) !=
null;
1712 else if (text ==
"costRecruit")
1714 return EMono.Branch ==
null || !
EMono.Branch.IsRecruit(this.tg.chara) ||
EMono.pc.GetCurrency(
"money2") >=
CalcGold.Hire(this.tg.chara);
1717 else if (num != 358681176U)
1719 if (num == 439160533U)
1721 if (text ==
"merchant")
1723 return Guild.Current ==
Guild.Merchant;
1727 else if (text ==
"hasDLC")
1729 return Steam.HasDLC(array[1].ToEnum(
true));
1732 else if (num <= 984623250U)
1734 if (num != 614694486U)
1736 if (num == 984623250U)
1738 if (text ==
"sister_money")
1740 return EMono.pc.GetCurrency(
"money") >= 10000;
1744 else if (text ==
"!hasFlag")
1746 return EMono.player.dialogFlags.TryGetValue(array[1], 0) == 0;
1749 else if (num != 1239527074U)
1751 if (num != 2036404098U)
1753 if (num == 2044268227U)
1755 if (text ==
"thief")
1757 return Guild.Current ==
Guild.Thief;
1761 else if (text ==
"fighter")
1763 return Guild.Current ==
Guild.Fighter;
1766 else if (text ==
"fiamaPet")
1768 if (
EMono.pc.homeBranch !=
null)
1770 foreach (
Chara chara
in EMono.pc.homeBranch.members)
1772 if (chara.isDead && chara.GetInt(100,
null) != 0)
1782 else if (num <= 3303594084U)
1784 if (num <= 2050511405U)
1786 if (num != 2045191971U)
1788 if (num == 2050511405U)
1790 if (text ==
"hasFlag")
1792 return EMono.player.dialogFlags.TryGetValue(array[1], 0) != 0;
1796 else if (text ==
"guild_promote")
1798 return Guild.Current.relation.exp >=
Guild.Current.relation.ExpToNext;
1801 else if (num != 2247815201U)
1803 if (num == 3303594084U)
1805 if (text ==
"hasItem")
1807 return EMono.pc.things.Find(array[1], -1, -1) !=
null;
1811 else if (text ==
"hasMelilithCurse")
1813 return EMono.player.flags.gotMelilithCurse;
1816 else if (num <= 3447015858U)
1818 if (num != 3408510114U)
1820 if (num == 3447015858U)
1822 if (text ==
"costRecruitTicket")
1824 return EMono.Branch !=
null &&
EMono.Branch.IsRecruit(this.tg.chara) &&
EMono.pc.things.Find(
"ticket_resident", -1, -1) !=
null;
1828 else if (text ==
"isCompleted")
1830 return EMono.game.quests.IsCompleted(array[1]);
1833 else if (num != 3634784398U)
1835 if (num != 3785939139U)
1837 if (num == 3914661895U)
1839 if (text ==
"guild_maxpromote")
1841 return Guild.Current.relation.rank >=
Guild.Current.relation.MaxRank;
1845 else if (text ==
"mage")
1847 return Guild.Current ==
Guild.Mage;
1850 else if (text ==
"scratch_check")
1852 return EMono.game.dateScratch >
EMono.game.world.date.GetRaw(0);
1854 if (array.Length > 2)
1857 bool flag =
EMono.player.dialogFlags.TryGetValue(array[1], out num2);
1859 if (array[1].StartsWith(
"*"))
1861 string text2 = array[1].TrimStart(
'*');
1863 if (text2 ==
"guild")
1865 quest =
Guild.CurrentQuest;
1867 flag = (quest !=
null);
1868 if (
EMono.game.quests.completedIDs.Contains(text2))
1873 else if (quest ==
null)
1882 if (
int.TryParse(array[2], out num3))
1888 num4 = ((quest !=
null) ? array[2].ToInt(quest.GetType()) : 0);
1893 num4 =
int.Parse(array[2]);
1902 if (!(text ==
">="))
1908 if (!flag || num2 <= num4)
1914 else if (!flag || num2 < num4)
1919 else if (flag && num2 >= num4)
1924 else if (flag && num2 > num4)
1929 else if (!flag || num2 != num4)
1936 if (!flag && num4 == -1)
1940 if (flag && num2 == num4)
1947 return this.setup.tag == IF;
1954 this.layer.SetActive(
true);
1955 this.layer.cg.alpha = 0f;
1956 this.layer.cg.DOFade(1f, 0.3f);
1962 this.layer.SetActive(
false);
1966 public static Chara TG;
1972 public CanvasGroup cg;
1975 public CanvasGroup cgCover;
1978 public UIDynamicList listCredit;
1981 public Transform actorPos;
1984 public Transform endroll;
2002 public GameObject goSkip;
2005 public Image imageBG;
2008 public Image imageCover;
2011 public Font[] fonts;
2017 public bool bgmChanged;
2020 private List<DramaEvent> customEvents =
new List<DramaEvent>();
2023 public List<DramaChoice> _choices =
new List<DramaChoice>();
2026 public Dictionary<string, string> customTalkTopics =
new Dictionary<string, string>();
2029 public Dictionary<string, string> dictLocalize =
new Dictionary<string, string>();
2032 public float creditSpeed;
2035 private string lastIF;
2038 private string lastIF2;
2044 public bool enableTone;
2047 public bool customEventsAdded;
2050 public bool idDefaultPassed;
2053 public int countLine;
2056 private string idDefault;
2059 private string textReplace;
2062 public static Dictionary<string, ExcelData> dictCache =
new Dictionary<string, ExcelData>();