UnitSetData.NPC_Icarus = { -- home version below NPC_Icarus_01 = { InheritFrom = { "NPC_Neutral", "NPC_Giftable" }, Portrait = "Portrait_Icarus_Default_01", Groups = { "NPCs" }, SubtitleColor = Color.IcarusVoice, EmoteOffsetY = -300, EmoteOffsetX = -30, AnimOffsetZ = 50, SpeakerName = "Icarus", InvincibubbleScale = 1.2, AlwaysShowInvulnerabubbleOnInvulnerableHit = true, ThemeMusic = "/Music/IcarusTheme_MC", -- for now DoorTakenText = "CannotUseObject", ExitSpeed = 500, HideHealthBar = true, TurnInPlaceAnimation = "Icarus_Turn", PreEventFunctionName = "AngleNPCToHero", BecomingCloserFunctionName = "BecomingCloserIcarusPresentation", UpgradeScreenOpenSound = "/SFX/WeaponUpgradeHammerDrop2", UpgradeSelectedSound = "/SFX/HammerBoonChoice", UpgradeAcquiredAnimation = "MelinoeEquip", UpgradeAcquiredAnimationDelay = 1.2, MenuTitle = "IcarusChoiceMenu_Title", BoonInfoTitleText = "Codex_BoonInfo_Icarus", FlavorTextIds = { "IcarusChoiceMenu_FlavorText01", }, GoSomeplacePoint1 = 800387, GoSomeplacePoint2 = 800388, LoadPackages = { "NPC_Icarus_01", "Icarus" }, Traits = { "FocusAttackDamageTrait", "FocusSpecialDamageTrait", "OmegaExplodeBoon", "CastHazardBoon", "BreakInvincibleArmorBoon", "BreakExplosiveArmorBoon", "SupplyDropBoon", "UpgradeHammerBoon", }, SetupEvents = { { FunctionName = "GenericPresentation", Args = { CreateAnimation = "OlympusColdBreathEmitter", }, GameStateRequirements = { { FunctionName = "RequiredQueuedTextLine", FunctionArgs = { IsAny = { "IcarusBecomingCloser01" }, }, }, }, }, }, GiftGameStateRequirements = { -- }, SpecialInteractFunctionName = "SpecialInteractSalute", SpecialInteractGameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Icarus_01" }, }, }, SpecialInteractCooldown = 60, InteractVoiceLines = { { PreLineWait = 0.3, UsePlayerSource = true, PlayOnceFromTableThisRun = true, RandomRemaining = true, SuccessiveChanceToPlay = 0.33, Cooldowns = { { Name = "MelinoeSaluteSpeech", Time = 4 }, }, { Cue = "/VO/Melinoe_3509", Text = "Bảo trọng, Icarus.", PlayFirst = true }, { Cue = "/VO/Melinoe_3510", Text = "Hãy bảo trọng, được chứ?" }, }, { GlobalVoiceLines = "SaluteVoiceLines" }, { PreLineWait = 0.32, RandomRemaining = true, ObjectType = "NPC_Icarus_01", PreLineAnim = "Icarus_Salute", { Cue = "/VO/Icarus_0061", Text = "Cô cũng vậy, Meli.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_3509", "/VO/Melinoe_3510" }, }, }, }, { Cue = "/VO/Icarus_0098", Text = "Cô cũng vậy.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_3509", "/VO/Melinoe_3510" }, }, }, }, { Cue = "/VO/Icarus_0099", Text = "Xin chào...!", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1698_2", "/VO/Melinoe_1699_2" }, }, }, }, { Cue = "/VO/Icarus_0100", Text = "Này.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1698_2", "/VO/Melinoe_1699_2" }, }, }, }, { Cue = "/VO/Icarus_0101", Text = "Chào buổi tối!", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1698_2", "/VO/Melinoe_1699_2" }, }, }, }, { Cue = "/VO/Icarus_0102", Text = "Cô sẽ cho hắn thấy.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1700_2" }, }, }, }, { Cue = "/VO/Icarus_0103", Text = "Tiêu Diệt Chronos...", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1700_2" }, }, }, }, { Cue = "/VO/Icarus_0104", Text = "Chúc mừng.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1703_2" }, }, }, }, { Cue = "/VO/Icarus_0105", Text = "Cô cũng vậy.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1701_2", "/VO/Melinoe_1703_2" }, }, }, }, { Cue = "/VO/Icarus_0106", Text = "Ta sẽ nhận.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1703_2", "/VO/Melinoe_1704_2", "/VO/Melinoe_1705_2" }, }, }, }, { Cue = "/VO/Icarus_0107", Text = "Đêm thật đẹp.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1701_2", "/VO/Melinoe_1709_2" }, }, }, }, { Cue = "/VO/Icarus_0108", Text = "Bất cứ nơi đầu chúng ta đến.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1704_2", "/VO/Melinoe_1705_2", "/VO/Melinoe_1709_2" }, }, }, }, }, }, PlayerInjuredReactionVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.25, Cooldowns = { { Name = "IcarusAnyQuipSpeech", Time = 40 }, }, { Cue = "/VO/Icarus_0317", Text = "Buông cô ấy ra...!" }, { Cue = "/VO/Icarus_0318", Text = "Cô ổn chứ?" }, { Cue = "/VO/Icarus_0319", Text = "Này...!" }, { Cue = "/VO/Icarus_0320", Text = "Cố gắng lên...!" }, { Cue = "/VO/Icarus_0321", Text = "{#Emph}Urgh{#Prev}, chết tiệt...!", PlayFirst = true }, { Cue = "/VO/Icarus_0322", Text = "Hãy để ta giúp...!" }, { Cue = "/VO/Icarus_0323", Text = "Tránh ra...!" }, { Cue = "/VO/Icarus_0324", Text = "Này, ở trên này...!" }, }, LastStandReactionVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.3, Cooldowns = { { Name = "IcarusLastStandSpeech", Time = 40 }, }, TriggerCooldowns = { "IcarusAnyQuipSpeech", }, { Cue = "/VO/Icarus_0325", Text = "Cố lên, Meli...!", PlayFirst = true }, { Cue = "/VO/Icarus_0503", Text = "Chỉ cần... {#Emph}argh!" }, { Cue = "/VO/Icarus_0504", Text = "{#Emph}Augh{#Prev}, hãy cố lên...!" }, { Cue = "/VO/Icarus_0505", Text = "Không..." }, { Cue = "/VO/Icarus_0506", Text = "Cố lên!" }, { Cue = "/VO/Icarus_0507", Text = "Chúng... {#Emph}rngh...!" }, }, KillingEnemyVoiceLines = { { RandomRemaining = true, PreLineWait = 0.45, SuccessiveChanceToPlay = 0.5, Source = { LineHistoryName = "NPC_Icarus_01", SubtitleColor = Color.IcarusVoice }, Cooldowns = { { Name = "IcarusAnyQuipSpeech", Time = 20 }, }, { Cue = "/VO/Icarus_0302", Text = "Trúng phóc!" }, { Cue = "/VO/Icarus_0303", Text = "Hạ được chúng rồi!" }, { Cue = "/VO/Icarus_0304", Text = "Có vẻ ta hạ được chúng rồi!" }, { Cue = "/VO/Icarus_0305", Text = "Xong một tên!", PlayFirst = true }, { Cue = "/VO/Icarus_0306", Text = "{#Emph}Hah!" }, { Cue = "/VO/Icarus_0307", Text = "Thấy thế nào?" }, { Cue = "/VO/Icarus_0308", Text = "Đỡ này!" }, { Cue = "/VO/Icarus_0309", Text = "Trúng trực diện." }, { Cue = "/VO/Icarus_0310", Text = "Quá dễ dàng!" }, { Cue = "/VO/Icarus_0311", Text = "Đỡ này!" }, { Cue = "/VO/Icarus_0312", Text = "Tuyệt vời...!" }, { Cue = "/VO/Icarus_0313", Text = "Mối đe dọa đã bị tiêu diệt." }, { Cue = "/VO/Icarus_0314", Text = "Nó hoạt động rồi!" }, { Cue = "/VO/Icarus_0315", Text = "Hạ chúng đi." }, { Cue = "/VO/Icarus_0316", Text = "Đúng rồi." }, { Cue = "/VO/Icarus_0219", Text = "{#Emph}Ăn đi này!" }, }, { UsePlayerSource = true, PlayOnceFromTableThisRun = true, RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.15, SuccessiveChanceToPlay = 0.05, GameStateRequirements = { { FunctionName = "RequiredHealthFraction", FunctionArgs = { Comparison = ">=", Value = 0.5, }, }, ChanceToPlay = 0.33, }, Cooldowns = { { Name = "MelinoeAnyQuipSpeech" }, }, TriggerCooldowns = { "IcarusAnyQuipSpeech", }, { Cue = "/VO/MelinoeField_2225", Text = "Làm tốt lắm!", PlayFirst = true }, { Cue = "/VO/MelinoeField_2226", Text = "Có thứ này cho ngươi đây!" }, { Cue = "/VO/MelinoeField_2227", Text = "Cả ngươi nữa!" }, { Cue = "/VO/MelinoeField_2228", Text = "Chúc mừng!" }, }, }, KillStolenVoiceLines = { BreakIfPlayed = true, RandomRemaining = true, PreLineWait = 0.5, SuccessiveChanceToPlay = 0.5, SuccessiveChanceToPlayAll = 0.25, Source = { LineHistoryName = "NPC_Icarus_01", SubtitleColor = Color.IcarusVoice }, GameStateRequirements = { ChanceToPlay = 0.5, }, Cooldowns = { { Name = "IcarusKillStealSpeech", Time = 40 }, { Name = "IcarusAnyQuipSpeech", Time = 12 } }, { Cue = "/VO/Icarus_0530", Text = "Trượt rồi..." }, { Cue = "/VO/Icarus_0531", Text = "Ta đã trượt ư...?", PlayFirst = true }, { Cue = "/VO/Icarus_0532", Text = "Chết tiệt..." }, { Cue = "/VO/Icarus_0533", Text = "Chết tiệt...!" }, { Cue = "/VO/Icarus_0534", Text = "{#Emph}Augh..." }, { Cue = "/VO/Icarus_0535", Text = "Tiếc thật..." }, }, InteractTextLineSets = { IcarusFirstMeeting = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", InitialGiftableOffSource = true, GiftableOffSource = true, { Cue = "/VO/Icarus_0062", -- Portrait = "Portrait_Icarus_Pleased_01", -- Portrait = "Portrait_Icarus_Unsure_01", -- PreLineAnim = "Icarus_Salute", -- PreLineAnim = "Icarus_Explaining_Start", -- PostLineAnim = "Icarus_Explaining_End", -- PreLineAnim = "Icarus_Flustered_Start", -- PostLineAnim = "Icarus_Flustered_End", -- PreLineAnim = "Icarus_Pensive_Start", -- PostLineAnim = "Icarus_Pensive_End", -- PreLineAnim = "Icarus_Offer_Start", -- PostLineAnim = "Icarus_Offer_End", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Đúng là cô rồi. Trước khi cô định nói gì, ta biết ta không nên ở đây, nhưng ta đã thấy con tàu này và ghé vào để xem gần hơn. Và giờ ta sẽ rời đi! Vậy chúng ta hãy giả vờ như chuyện này chưa từng xảy ra nhé?" }, { Cue = "/VO/MelinoeField_1930", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Dừng lại đó đã, Icarus! Ta không thể để anh bay đi mà không trò chuyện một chút gì. Đầu tiên thì anh đang làm gì giữa cuộc chiến hỗn loạn này?" }, { Cue = "/VO/Icarus_0003", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Portrait = "Portrait_Icarus_Unsure_01", Text = "Những gì ta vẫn thường làm: cản bước bọn khốn này lại. Nếu những người như ta cùng tham gia, thì cuộc chiến này đã kết thúc từ lâu rồi." }, { Cue = "/VO/MelinoeField_1931", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Có lẽ là vậy. Nhưng đây là cuộc chiến giữa những vị thần và Titan. Ta không muốn anh bị liên lụy." }, { Cue = "/VO/Icarus_0004", Portrait = "Portrait_Icarus_Pleased_01", Text = "Có lẽ đã muộn rồi, Meli! Dù sao thì, ta đã giữ chân cô hơi lâu rồi, nhưng trước khi rời đi, hãy để ta tặng cho cô một thứ mà ta đã làm — và tất cả những thứ này sẽ có ích. Ta đảm bảo đấy!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutMelinoe01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift01" }, }, }, { Cue = "/VO/Icarus_0025_D", PreLineAnim = "Icarus_Pensive_Start", Text = "Tay của cô...! Chưa bao giờ hồi phục, phải không? Ta thực sự xin lỗi, ta không nên khiến cô lâm vào tình cảnh này." }, { Cue = "/VO/MelinoeField_2010", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đó không phải lỗi của anh. Ta đã... quá tự tin vào khả năng của mình. Nữ Chúa luôn nói rằng, không có cách nào để khiến Shade trở lại nguyên vẹn, nhưng ta thì khác. Ta đã quá liều lĩnh và học được một bài học mà ta sẽ không bao giờ quên." }, { Cue = "/VO/Icarus_0026", PreLineAnim = "Icarus_Pensive_End", Text = "Ta cảm thấy thật tội lỗi... không thể nhìn mặt bất cứ ai ở Crossroads nữa. Ta nghĩ ta sẽ không bao giờ gặp lại cô nữa. Và có lẽ điều đó là tốt nhất. Ta... có nhiều việc cần phải giải quyết." }, { Cue = "/VO/MelinoeField_2011", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Và nó đã diễn ra như thế nào? Ít nhất thì anh đã học được cách bay! Một trong những nỗi sợ lớn nhất mà anh đã chinh phục được. Và còn với đôi cánh từ cha của anh nữa!" }, { Cue = "/VO/Icarus_0027", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Đôi cánh này là của ta, Meli. Nó là một phần trong quá trình đó. Ta phải học cách tự làm mọi thứ cho chính mình, giống như cô đã làm. Và dù là gì đi nữa, ta vẫn nghĩ cánh tay của cô trông thật tuyệt vời. Giờ thì, nhận lấy đi." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, -- alt below IcarusAboutFlying01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusAboutFlying01_B" } }, }, { Cue = "/VO/Icarus_0028", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta đã bay được một thời gian rồi! Lúc đầu, nó khiến ta nhớ lại nỗi sợ mà ta từng cảm nhận được khi còn nhỏ. Những khoảnh khắc đó... ta muốn trải qua chúng, hết lần này đến lần khác. Không hiểu vì sao." }, { Cue = "/VO/MelinoeField_2012", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Icarus, anh còn trẻ và phạm nhiều sai lầm. Sao cứ phải dằn vặt bản thân vì điều đó mãi? Ta tưởng anh học cách bay để chứng tỏ bản thân với cha của mình?" }, { Cue = "/VO/Icarus_0029", PreLineAnim = "Icarus_Pensive_Start", Text = "Thôi nào, Meli. Ta sẽ không bao giờ có thể chứng tỏ bản thân trước ông ấy được. Nhưng trong lúc cố gắng sử dụng đôi cánh, ta đã... bắt đầu thích nó! Ngắm nhìn thế giới từ góc độ khác." }, { Cue = "/VO/MelinoeField_2013", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Trông anh cứ như thuộc về bầu trời vậy! Ta luôn tin rằng, nếu ta có thể giúp anh trở lại như xưa, có lẽ vào một đêm nào đó, chúng ta sẽ học bay cùng nhau. Ta vẫn muốn biết cảm giác đó sẽ ra sao." }, { Cue = "/VO/Icarus_0030", PreLineAnim = "Icarus_Pensive_End", Text = "Cô không biết ta khao khát điều đó đến mức nào đâu. Nhưng ta có thể tự mình làm được. Ta có thể mời cô đi cùng ta lúc này, nhưng... ờ thì, các Shade và Nữ Thần không hợp nhau." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutFlying01_B = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusAboutFlying01" } }, }, { Cue = "/VO/Icarus_0028", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta đã bay được một thời gian rồi! Lúc đầu, nó khiến ta nhớ lại nỗi sợ mà ta từng cảm nhận được khi còn nhỏ. Những khoảnh khắc đó... ta muốn trải qua chúng, hết lần này đến lần khác. Không hiểu vì sao." }, { Cue = "/VO/MelinoeField_2012", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Icarus, anh còn trẻ và phạm nhiều sai lầm. Sao cứ phải dằn vặt bản thân vì điều đó mãi? Ta tưởng anh học cách bay để chứng tỏ bản thân với cha của mình?" }, { Cue = "/VO/Icarus_0029", PreLineAnim = "Icarus_Pensive_Start", Text = "Thôi nào, Meli. Ta sẽ không bao giờ có thể chứng tỏ bản thân trước ông ấy được. Nhưng trong lúc cố gắng sử dụng đôi cánh, ta đã... bắt đầu thích nó! Ngắm nhìn thế giới từ góc độ khác." }, { Cue = "/VO/MelinoeField_2013_B", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Trông anh cứ như thuộc về bầu trời vậy! Ta luôn tin rằng, nếu ta có thể giúp anh trở lại như xưa, có lẽ vào một đêm nào đó, chúng ta sẽ học bay cùng nhau. Ta vẫn muốn biết cảm giác đó sẽ ra sao." }, { Cue = "/VO/Icarus_0030", PreLineAnim = "Icarus_Pensive_End", Text = "Cô không biết ta khao khát điều đó đến mức nào đâu. Nhưng ta có thể tự mình làm được. Ta có thể mời cô đi cùng ta lúc này, nhưng... ờ thì, các Shade và Nữ Thần không hợp nhau." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, -- heart unlock -- alt below IcarusAboutFlying02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusBathHouse02", "IcarusTaverna01", "IcarusFishing01", "IcarusGift06" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAny = { "IcarusAboutFlying01", "IcarusAboutFlying01_B" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusAboutFlying02_B" }, }, }, { Cue = "/VO/MelinoeField_2015", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkPensive01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Anh đã thay đổi khá nhiều nhỉ. Trông anh như... ngập tràn sức sống vậy. Ta từng thoáng thấy vẻ mặt của anh khi đang bay, và có vẻ như... anh mang một niềm vui mà trước đây ta chưa từng thấy ở anh." }, { Cue = "/VO/Icarus_0032", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "{#Emph}Heh{#Prev}, à thì... việc bay lượn, chẳng bao giờ là nhàm chán cả... và điều tuyệt vời nhất là được nhìn thấy cô, một mình đối đầu với đội quân của Chronos. Tận dụng hết những gì đã luyện tập. Thật tuyệt vời..." }, { Cue = "/VO/MelinoeField_2016", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta không phải người duy nhất đối đầu với chúng, Icarus, nhưng... việc bay lượn nghe thật thú vị! Cảm giác đó chắc hẳn rất phấn khích." }, { Cue = "/VO/Icarus_0033", PostLineFunctionName = "RelationshipAdvancedPresentation", PostLineFunctionArgs = { Delay = 0.5 }, PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Đúng vậy, Meli. Cô luôn có thể nhìn thấu ta, nên chẳng có ích gì khi phải giấu diếm cả. Hy vọng một đêm nào đó cô sẽ có cơ hội trải nghiệm và kể cho ta nghe về cảm nhận của cô." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutFlying02_B = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusBathHouse02", "IcarusTaverna01", "IcarusFishing01", "IcarusGift06" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAny = { "IcarusAboutFlying01", "IcarusAboutFlying01_B" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusAboutFlying02" }, }, }, { Cue = "/VO/MelinoeField_2015", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkPensive01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Anh đã thay đổi khá nhiều nhỉ. Trông anh như... ngập tràn sức sống vậy. Ta từng thoáng thấy vẻ mặt của anh khi đang bay, và có vẻ như... anh mang một niềm vui mà trước đây ta chưa từng thấy ở anh." }, { Cue = "/VO/Icarus_0032", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "{#Emph}Heh{#Prev}, à thì... việc bay lượn, chẳng bao giờ là nhàm chán cả... và điều tuyệt vời nhất là được nhìn thấy cô, một mình đối đầu với đội quân của Chronos. Tận dụng hết những gì đã luyện tập. Thật tuyệt vời..." }, { Cue = "/VO/MelinoeField_2016", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta không phải người duy nhất đối đầu với chúng, Icarus, nhưng... việc bay lượn nghe thật thú vị! Cảm giác đó chắc hẳn rất phấn khích." }, { Cue = "/VO/Icarus_0033_B", PostLineFunctionName = "RelationshipAdvancedPresentation", PostLineFunctionArgs = { Delay = 0.5 }, PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Đúng vậy, Meli. Cô luôn có thể nhìn thấu ta, nên chẳng có ích gì khi phải giấu diếm cả." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutFlying03 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/MelinoeField_2150", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkBrooding01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nếu anh thích bay lượn đến thế, vậy sao vẫn giúp ta? Khai ngai vàng của cha ta được khôi phục, cánh cổng Địa Ngục sẽ đóng lại, và anh sẽ bị buộc phải trở về." }, { Cue = "/VO/Icarus_0063", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta biết và ta chắc chắn sẽ nhớ đến cảm giác bay lượn. Nhưng ta nghĩ rằng mình vẫn có thế sống mà không cần đến nó — chính xác là tồn tại mà không có nó, cô hiểu ý ta mà. Mục đích của ta là tận dụng nó hết mức có thể, ít nhất là hiện tại. Bọn ta, những kẻ phàm trần được dạy rằng, chẳng có gì là tồn tại mãi mãi." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutKeepsake01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "CurrentRun", "Hero", "TraitDictionary" }, HasAny = { "TempHammerKeepsake" }, }, }, { Cue = "/VO/Icarus_0076", Text = "Cô mang theo chiếc Búa nhỏ của ta phải không? Thứ đầu tiên ta từng làm! Ít nhất thì thứ đầu tiên thực sự rất tốt. Thực ra thì, việc tạo ra những công cụ để chế tạo những món đồ khác, có phần hơi hài hước..." }, { Cue = "/VO/MelinoeField_2158", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Icarus, sao anh lại tặng ta thứ này? Anh nên giữ nó như một vật kỷ niệm về sự tiến bộ của anh với tư cách là người sáng tạo chứ. Ta tưởng đây là một trong những kiệt tác của cha anh...!" }, { Cue = "/VO/Icarus_0077", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Nó trở nên đặc biệt hơn nhiều khi ở trong tay cô hơn là ta. Tạo ra những công cụ mà người khác có thể sử dụng để đạt được sự tiến bộ mới... đó là cách ta đạt được chúng. Cô đang giúp ta rất nhiều đấy, Meli!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutKeepsake02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "CurrentRun", "Hero", "TraitDictionary" }, HasAny = { "TempHammerKeepsake" }, }, { Path = { "CurrentRun", "Hero", "TraitDictionary", "TempHammerKeepsake", 1, "Rarity" }, IsAny = { "Epic", "Heroic" }, }, }, { Cue = "/VO/Icarus_0397", Text = "Có vẻ như cô vẫn thường dùng Cây Búa của ta nhỉ? Ta cứ ngỡ cô cất ở đâu đó để nó bám bụi rồi. Nó xứng đáng được yên nghỉ sau tất cả những gì đã trải qua!" }, { Cue = "/VO/MelinoeField_4033", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Chờ đã, anh không muốn ta dùng nó theo cách này ư? Nếu ý định của anh là để nó bám bụi từ môi trường, thì ta nghĩ một bề mặt lót lông thú sẽ hiệu quả hơn." }, { Cue = "/VO/Icarus_0398", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Không, không phải, ta nghĩ cách cô dùng nó rất tuyệt. Có vẻ như bùa chú trên nó còn mạnh hơn trước đây! Ta chỉ vui mừng vì nó đã giúp ích được phần nào." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutReturning01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "TextLinesRecord", "IcarusAboutCrossroads01" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift01" }, }, NamedRequirementsFalse = { "IcarusUnlockedInHub" }, }, { Cue = "/VO/MelinoeField_2014", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Chính anh đã nói rằng anh không nên ở đây, Icarus. Có thể Chronos đã mở toang cánh cổng Địa Ngục, nhưng đó vẫn là nơi anh thuộc về, cùng bọn ta. Hãy quay về đi." }, { Cue = "/VO/Icarus_0031", PreLineWait = 0.35, PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "...Cô biết đấy, ta luôn làm hỏng mọi thứ. Ta chỉ muốn tỏ ra có ích cho ai đó, chỉ một lần thôi! Vậy nên, xin hãy... để ta ở lại đây. Hãy cho ta cơ hội này!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutReturning02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, { Cue = "/VO/Icarus_0072", PreLineAnim = "Icarus_Pensive_Start", Text = "Những kẻ khốn khổ trên những con tàu này, chúng không có lý trí, nhưng chúng rất mạnh. Ta biết cô rất giỏi mọi thứ, thậm chí là xuất sắc, nhưng... nếu mọi chuyện chuyển biến xấu đi thì... chuyện gì sẽ xảy ra với cô?" }, { Cue = "/VO/MelinoeField_2156", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Điều đầu tiên mà Nữ Chúa dạy ta là không bao giờ khuất phục. Nếu sức mạnh của ta suy yếu, ta sẽ dùng nó để quay lại bóng tối, nơi ta thuộc về. Giờ thì gần như là thói quen rồi." }, { Cue = "/VO/Icarus_0073", PreLineAnim = "Icarus_Pensive_End", Text = "Và rồi ở Crossroads, cô sẽ thức dậy và sẵn sàng để tiếp tục vào đêm hôm sau? Đáng tiếc là cô không thể quay lại bóng tối và tiếp tục từ nơi cô đã dừng..." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutSurfaceCurse01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift01" }, }, { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, { Cue = "/VO/Icarus_0066", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Portrait = "Portrait_Icarus_Unsure_01", Text = "Khoan đã, sao cô lại ở đây? Ta cứ tưởng cô bị ràng buộc với Địa Ngục chứ, giờ cô lại đang chiếm lấy những con tàu chiến và những thứ tương tự?" }, { Cue = "/VO/MelinoeField_2152", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta vẫn bị ràng buộc ở đó, ta chỉ nới lỏng một chút thôi. Mặc dù hiện tại ta cảm thấy vô cùng tồi tệ, vậy nên, nếu đội của Chronos không kịp ngăn cản ta, thì lời nguyền huyết thống chắc chắn sẽ làm vậy." }, { Cue = "/VO/Icarus_0067", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Icarus_Unsure_01", WaitTime = 5 }, PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Thật không? Bởi vì trông cô rất tuyệt! Ừm, trông cô... trông cô cũng ổn, ý ta là vậy. Không bị ảnh hưởng bởi bất kỳ lời nguyền nào. Chắc chỉ hơi say sóng thôi. Vậy nên... nhận thứ này đi nhé!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutTimePassing01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { -- borderline { -- PathFalse = { "GameState", "ReachedTrueEnding" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift01" }, }, { SumPrevRuns = 4, IgnoreCurrentRun = true, Path = { "EncountersOccurredCache" }, TableValuesToCount = { "IcarusCombatO", "IcarusCombatO2", "IcarusCombatP", "IcarusCombatP2" }, Comparison = "<=", Value = 0, }, }, { Cue = "/VO/Icarus_0162", Text = "Cũng đã mấy đêm rồi, kể từ lần cuối chúng ta làm việc này nhỉ, Meli? Ta đoán là sớm muộn gì cô cũng sẽ xuất hiện thôi... trì khi Chronos cũng tóm được cô rồi, hoặc điều gì đó tồi tệ hơn." }, { Cue = "/VO/MelinoeField_3100", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nếu anh thực sự lo lắng cho ta thì ta cảm ơn, Icarus... nhưng cũng đừng làm vậy. Sự lo lắng đó chẳng giúp ích gì cho chúng ta đâu; nếu anh bị phân tâm, thì anh không thể chiến đấu hết mình trước đội quân của Titan." }, { Cue = "/VO/Icarus_0163", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ồ, không sao đâu, ta cũng hay bị phân tâm rồi! Trừ khi ta đang làm việc, hoặc ở trên không. Mà trùng hợp thay, đó là hai việc khiến ta bận rộn gần đây!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, -- about other characters IcarusAboutDaedalus01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "CurrentRun", "UseRecord", "WeaponUpgrade" } }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift02" }, }, }, { Cue = "/VO/MelinoeField_2147", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nhân tiện thì, cha của anh thế nào rồi? Anh không biết ta vui mừng thế nào khi tìm thấy những cây Búa Daedalus ngoài kia đâu... Ta chưa từng gặp ông ấy nên không thể trực tiếp cảm ơn ông ấy." }, { Cue = "/VO/Icarus_0034", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", Text = "{#Emph}Heh! {#Prev}Ta chắc chắn sẽ gửi lời cảm ơn của cô đến ông ấy nếu có dịp gặp lại, mặc dù đã lâu lắm rồi. Ta rất vui vì những chiếc Búa của ông ấy có thể giúp ích. Nhận thêm cái này nữa nhé?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutDaedalus02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusAboutDaedalus01" }, }, { PathTrue = { "CurrentRun", "UseRecord", "WeaponUpgrade" }, }, }, { Cue = "/VO/Icarus_0035", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Đêm trước cô đã hỏi ta về cha ta... và sự thật là, có lẽ cô đã biết, ta cũng chẳng biết ông ấy ở đâu. Có lẽ ông ấy đã nghỉ hưu rồi!" }, { Cue = "/VO/MelinoeField_2148", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Daedalus, {#Emph}đã nghỉ hưu? {#Prev}Ta vừa tìm thấy những chiếc Búa của ông ấy mà! Ông ấy luôn hỗ trợ ta kể từ khi mọi chuyện bắt đầu, ông ấy... chờ đã... sao cơ?" }, { Cue = "/VO/Icarus_0036", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Meli, ta là học trò của ông ấy! Ông ấy đã làm việc suốt một khoảng thời gian dài và cần nghỉ ngơi. Ta thì chưa thế sánh bằng ông ấy, nhưng chẳng ai khác có thể cả... Những chiếc Búa đó có hữu ích không?" }, { Cue = "/VO/MelinoeField_2149", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Dừng lại đã, anh khiến ta rối trí quá. Những chiếc Búa Daedalus mà ta tìm thấy là của anh ư? Lẽ ra chúng phải là Búa Icarus chứ?" }, { Cue = "/VO/Icarus_0037", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", Text = "{#Emph}Ừm{#Prev}, chúng ta có những danh tiếng cần phải gìn giữ. Ta không chắc việc gán tên của ta lên những thiết kế của cha ta sẽ mang lại điều tốt đẹp cho bọn ta. Vậy nên... đừng kể với ai về chuyện đó nhé?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutDaedalus03 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusGift02", "IcarusAboutDaedalus02" }, }, }, { Cue = "/VO/MelinoeField_2154", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Anh đã tự chế tạo đôi cánh, vũ khí, và cả những chiếc Búa Daedalus mới nhất... anh quả thực đã trở thành một nghệ nhân thực thụ đấy!" }, { Cue = "/VO/Icarus_0070", PreLineAnim = "Icarus_Pensive_Start", Text = "Thôi nào, Meli. Cha ta đã trở thành bậc thầy khi ông ấy ở độ tuổi ta, thậm chí là trước khi ta chết. Ta sẽ chẳng bao giờ vượt qua ông ấy được." }, { Cue = "/VO/MelinoeField_2155", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đó không phải những gì ta muốn nói. Những tác phẩm từ anh là của riêng anh, và nó rất tốt! Thậm chí là xuất sắc. Đến bao giờ anh mới chịu thoát khỏi cái bóng của cha mình?" }, { Cue = "/VO/Icarus_0071", PreLineAnim = "Icarus_Pensive_End", Text = "Câu hỏi thú vị đấy! Cha của ta có thể không phải một vị thần... nhưng ông ấy là một nghệ sĩ và là nhà phát minh vĩ đại nhất từng sống. Ông ấy sẽ là người đầu tiên bảo rằng ta sẽ không bao giờ đạt được trình độ của ông ấy. Dù sao thì ta đã không còn cố gắng chứng tỏ bản thân với ông ấy nữa rồi." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutDaedalus04 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusAboutDaedalus03" }, }, }, { Cue = "/VO/MelinoeField_3098", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Sao anh lại biết nhiều về tất cả Vũ Khí Hắc Ám vậy, và lại còn nghĩ ra nhiều cách tinh chỉnh Búa cường hóa để dành riêng cho ta nữa? Vũ Khí Hắc Ám vốn được giữ kín tuyệt tối, gần như chẳng thể cải tiến." }, { Cue = "/VO/Icarus_0160", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Cha ta từng làm việc cho cha của cô mà, nhớ không? Chính ông ấy đã nghĩ ra hệ thống những căn phòng biến đổi ở Địa Ngục và những thứ tương tự. Hẳn là ông ấy đã giành được rất nhiều sự tin tưởng... và biết rất nhiều bí mật." }, { Cue = "/VO/MelinoeField_3099", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Và ông ấy đã chia sẻ những bí mật đó với người học việc của mình, người được cho rằng sẽ không bao giờ đáp ứng nổi những kỳ vọng cao cả của ông ấy?" }, { Cue = "/VO/Icarus_0161", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Nếu cô đang ám chỉ rằng ta đã giành được sự tin tưởng của cha mình... thì cứ yên tâm! Riêng những Vũ Khí Hắc Ám, ta chỉ lén xem qua những ghi chép và bản thiết kế của ông ấy một chút thôi..." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutDaedalus05 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusAboutDaedalus04" }, }, { PathTrue = { "GameState", "RoomsEntered", "I_Story01" }, }, }, { Cue = "/VO/MelinoeField_4042", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta chỉ mới gặp cha ta cách đây không lâu... Ta từng nghĩ rằng Nữ Chúa rất nghiêm khắc, nhưng cha ta cũng chẳng kém. Chẳng có gì quá bất ngờ khi nghe những câu chuyện được kể lại, dù sao thì vẫn vậy. Có lẽ cha của cô đã học hỏi đôi chút từ ông ấy." }, { Cue = "/VO/Icarus_0456", PreLineAnim = "Icarus_Pensive_Start", Text = "Ta khá ghen tị với cô đấy, vì cô không sống cùng cha của cô quá lâu. Có lần ta dùng búa của cha ta, làm hỏng nó như một tên ngốc, và gọi đó là thử nghiệm thất bại. Rồi ông ấy nói: Không, chính con mới là thử nghiệm thất bại. Ông ấy lúc nào cũng lạnh lùng như vậy." }, { Cue = "/VO/MelinoeField_4043", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Icarus, chuyện đó thật tồi tệ. Và rõ ràng là ông ấy không hề có ý đó. Anh là học trò của ông ấy! Tác phẩm của anh mang tên Deadalus." }, { Cue = "/VO/Icarus_0457", PreLineAnim = "Icarus_Pensive_End", Text = "Ta nghĩ cha ta yêu thương ta theo cách riêng của ông ấy, chỉ là, ông ấy giỏi sáng tạo hơn là bày tỏ bằng lời nói. Con cha của cô thì khác. Vị thần cai quản cõi chết! Chắc hẳn là rất nghiêm khắc nhỉ?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutOdysseus01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "O_Boss01" }, }, { PathFalse = { "CurrentRun", "BiomesReached", "P" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift01" }, }, OrRequirements = { { { Path = { "GameState", "TextLinesRecord" }, CountOf = { "IcarusAboutMelinoe01", "IcarusAboutFlying01", "IcarusAboutFlying01_B", "IcarusAboutFlying02", "IcarusAboutReturning02", "IcarusAboutSurfaceCurse01", }, Comparison = ">=", Value = 2, }, }, { { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift04" }, }, }, }, }, { Cue = "/VO/Icarus_0074", Text = "Dạo này mọi người ở Crossroads thế nào rồi? Thầy Odysseus đã bắt đầu triển khai toàn bộ kế hoạch của mình chưa?" }, { Cue = "/VO/MelinoeField_2157", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ồ, tất nhiên rồi. Lộ trình mà ta đi qua đây hoàn toàn là nhờ ngài ấy. Mà này, không phải ngài ấy đã xúi giục anh làm việc này chứ? Điều động một Shade với đôi cánh tạm bợ, mang theo nhiều thuốc nổ... nghe đúng kiểu một Chiến Lược Gia Vĩ Đại sẽ làm..." }, { Cue = "/VO/Icarus_0075", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta tự hành động theo ý mình. Mặc dù có lẽ tất cả chúng ta đều là một phần trong kế hoạch của Chiến Lược Gia Vĩ Đại mà không nhận ra. Thầy luôn nói rằng chúng ta phải biết ứng biến... có lẽ cuối cùng ta đã hiểu ra điều đó." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutCrossroads01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusAboutOdysseus01" } }, }, { Cue = "/VO/MelinoeField_3634", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Icarus, ta muốn anh quay về Crossroads. Nếu anh muốn giúp bọn ta ở đây, thì phối hợp trực tiếp với Odysseus và các Shade khác sẽ hiệu quả hơn nhiều." }, { Cue = "/VO/Icarus_0390", PreLineAnim = "Icarus_Pensive_Start", Text = "Ta không chắc mọi người đều cảm thấy như vậy, Meli. Ta đã tự mình xoay xở được ở đây, và không thích chỗ đông người. Có lẽ là do ta bị cô lập và lớn lên trong một toàn tháp." }, { Cue = "/VO/MelinoeField_3635", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nhưng như thế thì chúng ta có thể gặp nhau nhiều hơn mà? Và ở đó cũng không thực sự đông đến thế. Anh nên cân nhắc về chuyện đó..." }, { Cue = "/VO/Icarus_0391", PreLineAnim = "Icarus_Pensive_End", Text = "Được rồi, được rồi, ta sẽ cân nhắc. Suy nghĩ về chuyện đó. Nhưng nếu ta xuất hiện và Phù Thủy Crossroads biến ta thành kỳ nhông hay gì đó, thì cô phải chịu trách nhiệm đấy." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutCrossroads02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusAboutCrossroads01" } }, }, { Cue = "/VO/MelinoeField_3636", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta rất vui khi anh đã quyết định quay lại đây! Sau ngần ấy thời gian, anh thấy Crossroads trông thế nào?" }, { Cue = "/VO/Icarus_0392", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ban đầu có hơi gượng gạo, nhưng rồi cô xuất hiện. Thật vui khi được gặp lại Thầy Odysseus, và thầy đã cho ta vài lời khuyên về lộ trình bay. Có phiền không nếu ta nán lại quá lâu...?" }, { Cue = "/VO/MelinoeField_3637", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Không, không hề! Nếu anh không thấy phiền khi ở đó, thì ta hy vọng anh sẽ quay lại. Và có lẽ nên bắt đầu nghĩ về nơi đó như một nơi trú ẩn, chứ không phải nơi chỉ để ghé qua." }, { Cue = "/VO/Icarus_0393", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Nơi được gọi là Crossroads, Meli, ta chưa từng nghĩ nó có thể là nơi để trú ẩn! Mà này... cảm ơn vì đã động viên ta." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutCirce01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "CurrentRun", "Hero", "TraitDictionary", "CirceEnlargeTrait" }, }, }, { Cue = "/VO/Icarus_0154", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", Text = "{#Emph}Oh{#Prev}, cô trông, ừm... to lớn hơn! Một chút... ý ta là... do ta tưởng tượng chăng? Vì trước đây ta không ngước lên nhìn cô nhiều như thế này." }, { Cue = "/VO/MelinoeField_3095", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Chỉ là một chút phép thuật do Phù Thủy Circe ban tặng thôi. Một dạng tăng cường sức mạnh tạm thời, nhưng cũng đi kèm tác dụng phụ... dễ bị phát hiện." }, { Cue = "/VO/Icarus_0155", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Cũng không tệ đâu, chỉ là ta không để ý thôi...! Và giờ thì ta đang nhìn chằm chằm... được rồi, ta sẽ dừng lại. Của cô đây." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutCirce02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "CurrentRun", "Hero", "TraitDictionary", "CirceShrinkTrait" }, }, }, { Cue = "/VO/Icarus_0156", PostLineAnim = "Icarus_Flustered_End", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", Text = "Chuyện gì đã xảy ra với cô vậy, Meli? Trông cô thật nhỏ bé! Ta không có ý nói cô to con đâu, ý ta là... cô có vóc dáng chuẩn, chỉ là bình thường thì cô... chờ đã, ta đang nói gì thế này?" }, { Cue = "/VO/MelinoeField_3096", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Không sao đâu, Icarus. Chắc hẳn anh cũng nhận thấy tác dụng phụ từ phép thuật của Phù Thủy Circe, bà ấy đã ban phước lành bảo hộ cho ta đêm nay. Hiệu ứng của nó rõ ràng đến vậy sao?" }, { Cue = "/VO/Icarus_0157", Emote = "PortraitEmoteFiredUp", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Không! Không hẳn! Ừm, chỉ là... ta hay để ý những chi tiết nhỏ, ý ta là ta để ý đến mọi chi tiết — mọi kích cỡ! Dù sao thì, ta thấy ổn. Chuyện đó cũng không quan trọng. Đây! Để ta giúp cô đi tiếp." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutEris01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "PrevRun", "RoomsEntered" }, HasAny = { "O_Boss01", "O_Boss02" }, }, }, { Cue = "/VO/Icarus_0068", Text = "Đêm qua, ta thoáng nhìn thấy một đôi cánh đen khổng lồ ở đường chân trời; chắc chắn đó không phải một con Harpy. Ta có thể thề rằng đó là Eris... nhưng chẳng phải cô ta đang ở Crossroads cùng cô sao?" }, { Cue = "/VO/MelinoeField_2153", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "À thì hiện tại ta cũng không ở Crossroads, nhưng đáng tiếc là... Hiện Thân Xung Đột cũng đang cản đường ta. Vậy là cô ta sẽ xuất hiện ngay khi ta đến ư?" }, { Cue = "/VO/Icarus_0069", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Nghĩ lại thì đúng là vậy! Phù...! Ta đã bắt đầu lo lắng rằng cô ta đến đây vì những gì ta đã làm! Không ngờ cô ta chỉ đang đuổi theo cô, như mọi khi." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutEris02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusWithEris01" } }, }, { Cue = "/VO/MelinoeField_4031", UsePlayerSource = true, Text = "Này, anh không nên để Eris bắt nạt chứ. Ta tình cờ nghe thấy cuộc trò chuyện của hai người ở Crossroads. Cô ta chỉ nói suông thôi... nhất là khi ở nơi mà Khẩu Adamant của cô ta không được phép sử dụng." }, { Cue = "/VO/Icarus_0395", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Nói thì dễ hơn làm, cô cũng bất tử như cô ta mà. Những Shade bọn ta biết rõ hơn ai hết là không nên chống lại những vị thần bất tử." }, { Cue = "/VO/MelinoeField_4032", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Anh không hề sợ hãi khi đối diện với ta. Anh không phải kẻ hèn nhát, Icarus. Vậy thì tại sao lại để Xung Đột bắt nạt anh?" }, { Cue = "/VO/Icarus_0396", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta nghĩ chuyện hiện tại cũng đủ căng thẳng rồi. Eris không thực sự làm gì được ta. Ta cũng không ngại để cô ta ảo tưởng là thật. Dù sao thì cô ta cũng đâu phải nữ thần trí tuệ nhỉ?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutPrometheus01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, { SumPrevRuns = 3, Path = { "RoomsEntered", "P_Boss01" }, Comparison = ">=", Value = 1, }, { PathFalse = { "CurrentRun", "BiomesReached", "P" }, }, }, { Cue = "/VO/Icarus_0146", Text = "Gần đây ta thấy những cột lửa khổng lồ phóng lên từ đỉnh Olympus. Ta cứ tưởng ngọn núi đang phun trào! Nhưng nhìn kỹ hơn thì đó là cô, đang chiến đấu với ai đó. Rồi một con đại bàng điên loạn lao đến đuổi ta đi." }, { Cue = "/VO/MelinoeField_3091", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đó là Titan Prometheus và thú cưng của hắn. Hắn đã phản bội những vị thần và đích thân dẫn đầu cuộc tấn công Olympus. Hắn tuyên bố là kẻ biết trước tương lai, và chiến đấu vì loài người... bằng ngọn lửa mà hắn đã đánh cắp thì gia đình ta." }, { Cue = "/VO/Icarus_0147", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta không ngờ rằng ông ta đã thoát được. Nhưng loài người thì liên quan gì đến mối thù của Chronos chứ? Ta tưởng hắn chỉ muốn trả thù chứ. Có lẽ Prometheus cũng vậy..." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutPrometheus02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "CurrentRun", "BiomesReached", "P" }, }, OrRequirements = { { { PathTrue = { "GameState", "TextLinesRecord", "IcarusAboutPrometheus01" }, }, }, { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, }, }, { Cue = "/VO/Icarus_0150", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "Icarus_Explaining_Start", WaitTime = 0.2, AngleNPCToHero = true, }, PostLineAnim = "Icarus_Explaining_End", Text = "Xin lỗi vì đến muộn! Trên đường đến, ta đã chạm trán với một con đại bàng. Nếu ta còn lá gan, biết đâu ta có thể mời nó một miếng, và bọn ta sẽ trở thành bạn... nghe nói Prometheus đã thử cách đó và thành công." }, { Cue = "/VO/MelinoeField_3093", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Được cả chim chóc lẫn loài người yêu mến. Nhưng xem ra anh cũng chẳng có nhiều thiện cảm với Prometheus. Có lẽ tình cảm mà hắn dành cho loài người không phải lúc nào cũng được đáp lại." }, { Cue = "/VO/Icarus_0151", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Thật ra thì... bọn ta chưa từng gặp nhau! Khi còn sống, bọn ta thờ phụng những vị thần, chứ không phải Titan. Mà Prometheus đã chọc giận những vị thần, vậy nên... nói chung là nếu cô không ưa hắn, thì ta cũng vậy." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutPrometheus03 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusHomeFirstMeeting" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAny = { "IcarusAboutPrometheus01", "TrueEndingFinale01" }, }, }, { Cue = "/VO/Icarus_0401", Text = "Một vài Shade ở Crossroads dạo gần đây cứ bàn tán về Prometheus. Có vẻ như vài người trong số họ thích ông ta hơn Chronos. Chắc hẳn ông ta rất biết cách lấy lòng người." }, { Cue = "/VO/MelinoeField_4048", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta thì không dám chắc, nhưng hắn rất quyết tâm với lý tưởng của mình. Để bản thân bị tra tấn vì lợi ích của loài người... dù biết rõ rằng hầu hết loài người sẽ không bao giờ nhận ra, hoặc quan tâm điều đó." }, { Cue = "/VO/Icarus_0402", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Nghe giống như câu chuyện được phóng đại quá mức vậy. Nếu ông ta thực sự biết trước tất cả, tại sao lại để bản thân bị bắt? Có khi những vị thần cũng sẽ ban cho loài người ngọn lửa." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutHeracles01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "EncountersOccurredCache" }, HasAny = { "HeraclesCombatO", "HeraclesCombatO2" }, }, { SumPrevRuns = 2, Path = { "EncountersOccurredCache" }, TableValuesToCount = { "HeraclesCombatIntro", "HeraclesCombatN", "HeraclesCombatN2", "HeraclesCombatO", "HeraclesCombatO2", "HeraclesCombatP", "HeraclesCombatP2" }, Comparison = ">=", Value = 1, }, }, { Cue = "/VO/Icarus_0403", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "Icarus_Explaining_Start", WaitTime = 0.2, AngleNPCToHero = true, }, PostLineAnim = "Icarus_Explaining_End", Text = "Ta thề là đêm trước ta đã nhìn thấy người hùng Heracles...! Anh ta nhảy từ con thuyền này sang con thuyền khác, dùng cây chùy của mình nghiền nát các thủy thủ xác sống! Ta liền bay thật xa khỏi anh ta." }, { Cue = "/VO/MelinoeField_4035", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Có lẽ những gì anh thấy là thật. Olympus đã cử anh ta đi đẩy lùi đội quân và hạm đội của Titan. Bọn ta đôi khi cũng hợp tác, nhưng anh ta luôn dè chừng ta..." }, { Cue = "/VO/Icarus_0404", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Cô từng hợp tác với Heracles ư? Ồ, giá như ta có thể gặp trực tiếp anh ta vào một ngày nào đó...! Nhưng ta thậm chí còn chẳng biết phải nói gì. Xin chào! Ta cũng giống những người khác, đều nghĩ anh rất tuyệt vời đấy!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutHeracles02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "HeraclesFieldAboutIcarus01" }, }, }, { Cue = "/VO/MelinoeField_4036", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta đã có dịp nhắc đến anh với Heracles. Đáng tiếc là anh ta không muốn gặp ai cả, trừ khi đó là mục tiêu cần tiêu diệt theo lệnh của những vị thần, nhưng... anh ta có vẻ biết đến anh." }, { Cue = "/VO/Icarus_0405", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Sao cơ? Sao lại có thể...? Anh ta mới là người nổi tiếng mà! Cô có chắc là anh ta đã nhắc đến Daedalus thay vì ta không?" }, { Cue = "/VO/MelinoeField_4037", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Anh ta cũng nhắc đến Daedalus, bởi vì... có vẻ như anh ta đã chứng kiến khoảnh khắc cuối cùng của anh khi anh rơi xuống từ bầu trời. Theo những gì anh ta kể thì... anh ta đã lặn xuống biển để tìm thi thể của anh. Để chôn cất anh." }, { Cue = "/VO/Icarus_0406", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Chôn cất ta ư? Nhưng... ta vẫn luôn thắc mắc làm sao mình đến được đây, vì ký ức lúc đó khá mơ hồ. Không ngờ ta lại Heracles vĩ đại chôn cất! Thật không thể tin nổi! Hãy nhắn lại với anh ta rằng... ta gửi lời cảm ơn nhé!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutHeracles03 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "HeraclesFieldAboutIcarus02" }, }, }, { Cue = "/VO/Icarus_0407", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "Icarus_Explaining_Start", WaitTime = 0.2, AngleNPCToHero = true, }, PostLineAnim = "Icarus_Explaining_End", Text = "Vậy dạo này Heracles thế nào rồi? Ta hơi ngạc nhiên khi đội quân của Titan lại tiến xa đến thế, dù biết rằng anh ta đang chiến đấu vì những vị thần." }, { Cue = "/VO/MelinoeField_4038", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Chuyện về Heracles khó nói lắm. Ta chưa từng gặp chiến binh nào hung mãnh đến vậy, nhưng anh ta cũng rất dè chừng. Khi ta nói với anh ta rằng anh gửi lời cảm ơn, anh ta chỉ hầm hừ; thế thôi." }, { Cue = "/VO/Icarus_0408", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Anh ta hầm hừ... vì ta sao? Và anh ta biết ta là ai! Ah, cảm ơn nhé, Meli, đây quả là tin tốt! Ta khá chắc anh ta chỉ cần nghỉ ngơi một chút thôi." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutTyphon01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "TyphonDefeatedWithStormStop" }, }, { PathTrue = { "GameState", "RoomsEntered", "Q_Boss01" }, }, }, { Cue = "/VO/Icarus_0139", Text = "Có một cơn bão kinh hoàng đang bao quanh đỉnh Olympus. Không thể tiếp cận được. Chuyện gì đang xảy ra trên đó vậy...?" }, { Cue = "/VO/MelinoeField_3087", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", Text = "Cơn bão đó che giấu mối đe dọa thực sự. Chronos đã đánh thức Quái Vật Thủy Tổ và thả hắn ra. Những thế lực mà chúng ta đang đối đầu... chỉ là lực lượng cầm chân và kế nghi binh thôi." }, { Cue = "/VO/Icarus_0140", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Cô đang nói đến tên Typhon chết tiệt đó ư? Ôi thần linh ơi... từ khi còn nhỏ, ta đã cầu xin các ngài ban cho ta sự an toàn và may mắn từ tòa tháp của mình. Giờ thì chính các ngài lại đang cầu nguyện cho chính mình..." }, { Cue = "/VO/MelinoeField_3088", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", PreLineAnim = "MelinoeIdleWeaponless", PreLineAnimTarget = "Hero", Text = "Không đâu; ta sẽ tiêu diệt thứ đó. Ta chưa biết chính xác nên làm gì, nhưng có lẽ cầu nguyện là điều không cần thiết." }, { Cue = "/VO/Icarus_0141", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Vậy thì ta sẽ cầu nguyện cho chắc! Có lẽ cũng không mất mát gì. Nhưng hãy cẩn thận nhé, Meli. Và trước khi đi... hãy nhận lấy một trong số này." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutTyphon02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "TyphonDefeatedWithStormStop" }, }, { Path = { "GameState", "LastBossHealthBarRecord", "TyphonHead" }, Comparison = "<=", Value = 0, }, { SumPrevRuns = 4, Path = { "RoomsEntered" }, TableValuesToCount = { "Q_Boss01", "Q_Boss02" }, Comparison = ">=", Value = 1, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusAboutTyphon01" }, }, }, { Cue = "/VO/Icarus_0142", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "Icarus_Explaining_Start", WaitTime = 0.2, AngleNPCToHero = true, }, PostLineAnim = "Icarus_Explaining_End", Text = "Cô thực sự đã đối đầu với Typhon ư? Ta đã thoáng thấy hắn! Ta đã bay đến gần cơn bão khổng lồ đó hết mức có thể. Hắn có thể nghiền nát cô như một con côn trùng! Nghĩ lại thì, côn trùng đâu biết dùng phép thuật để trốn thoát..." }, { Cue = "/VO/MelinoeField_3089", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Với lại côn trùng thì có cánh, giống như anh vậy! Nhưng đúng vậy, ta có thể xác thực về kích thước và sức mạnh của Typhon. May mắn thay, ta nhanh nhẹn hơn... và được tất cả vị thần và nữ thần trên đỉnh Olympus hỗ trợ." }, { Cue = "/VO/Icarus_0143", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Nhưng sức mạnh của họ vẫn chẳng là gì so với những phát minh của ta...! Ừm, ta, ta, ta không nên đùa... kiểu đó. Chắc họ không nghe thấy đâu nhỉ...? Đừng kể lại với họ ta vừa nói gì nhé." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutTyphon03 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "TyphonDefeatedWithStormStop" }, }, { SumPrevRuns = 3, Path = { "RoomsEntered" }, TableValuesToCount = { "Q_Boss01", "Q_Boss02" }, Comparison = ">=", Value = 1, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusAboutTyphon01" }, }, }, { Cue = "/VO/Icarus_0144", Text = "Đêm trước, ta cứ ngỡ đã thấy cô lao mình thẳng lên đỉnh Olympus... lao vào tâm cơn bão kinh hoàng đó. Ta thậm chí còn chẳng dám lại gần! Tình hình trên đó thế nào rồi?" }, { Cue = "/VO/MelinoeField_3090", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ồ, thật kinh khủng... Thường thì ta rất thích mưa, nhưng không phải kiểu mưa như thế này. Typhon bị thu hút về phía Pháo Đài của Những Vị Thần, vì đó là tuyến phòng thủ cuối cùng trước Cung Điện của Zeus... có lẽ đó mới là mục tiêu thực sự của hắn." }, { Cue = "/VO/Icarus_0145", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Vậy là những vị thần cứ đánh ngã hắn, nhưng hắn vẫn đứng dậy, tiếp tục tấn công đỉnh núi hết lần này đến lần khác? Một trận chiến của ý chí! Nếu là cuộc chiến trí tuệ thì hẳn để dễ dàng hơn nhiều." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutChronosBossW01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, { PathTrue = { "PrevRun", "Cleared" }, }, { PathTrue = { "PrevRun", "RoomsEntered", "I_Boss01" }, }, { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, { Cue = "/VO/Icarus_0064", Text = "Có chuyện gì đã xảy ra với cô kể từ lần cuối cô ở đây vậy... những chiến hạm đó, chúng đang lần lượt chìm xuống! Ta chưa từng thấy mặt nước lại yên tĩnh như thế! Có phải cô đã...?" }, { Cue = "/VO/MelinoeField_2151", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta có đánh bại Chronos ở Thánh Điện của cha ta và giết hắn không? Có. Và rồi... hắn đã tự hồi phục, và phủ nhận hoàn toàn mọi thứ mà ta đã làm! Cũng phải thôi." }, { Cue = "/VO/Icarus_0065", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta luôn biết cô sẽ hạ được hắn, Meli. Như cô thấy đấy, hạm đội của hắn lại trỗi dậy một lần nữa! Tuy nhiên, có vẻ như cô đã tìm ra điểm yếu của chúng." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutCharybdis01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { SumPrevRuns = 2, Path = { "RoomsEntered", "O_MiniBoss01" }, Comparison = ">=", Value = 1, }, { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift09" }, }, }, { Cue = "/VO/Icarus_0399", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "Icarus_Explaining_Start", WaitTime = 0.2, AngleNPCToHero = true, }, PostLineAnim = "Icarus_Explaining_End", Text = "Chắc hẳn cô đã thấy Charybdis ngoài kia rồi nhỉ? Một thứ giống như xoáy nước khổng lồ, ác mộng, mang hình dạng bạch tuộc. Ta từng chứng kiến nó nuốt chửng cả con thuyền chỉ trong chớp mắt. Ta chẳng bao giờ muốn tiếp cận nó!" }, { Cue = "/VO/MelinoeField_4034", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Mel_Hesitant_01", WaitTime = 5 }, Text = "Ta thì không may mắn có lựa chọn đó, và đôi khi, ta chẳng còn cách nào khác ngoài việc đối mặt trực tiếp với Charydbis... có lẽ chỉ là một phần của nó? Ta rất cần sự giúp đỡ của anh, nếu anh chấp nhận mạo hiểm." }, { Cue = "/VO/Icarus_0400", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Oh, không đời nào. Ta đã hứa sẽ theo cô đến tận trời cuối đất, Meli, nhưng Charybdis thì không. Nỗi sợ của ta là một chuyện, nỗi sợ bạch tuộc lại là chuyện khác." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutFrogFamiliar01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "EquippedFamiliar" }, IsAny = { "FrogFamiliar" }, }, }, { Cue = "/VO/Icarus_0158", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", Text = "Đó là...? Không thể nào. Frinos thực sự đang đi cùng cô, đúng không? Trước đây nó chỉ ngồi một chỗ, trông lúc nào cũng vui vẻ, hoặc buồn bã... thật lòng thì ta cũng không phân biệt được. Vậy mà giờ nó lại tham gia vào mớ hỗn độn này..." }, { Cue = "/VO/MelinoeField_3097", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đúng là nó rồi, nó là cá thể duy nhất! Chính ta cũng không ngờ Frinos lại có khả năng như vậy, cho đến khi Nữ Chúa tiết lộ cho ta thêm nhiều phép thuật của bà ấy về cách gắn kết với Linh Thú." }, { Cue = "/VO/Icarus_0159", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta cứ ngỡ rằng Linh Thú chỉ là thú cưng! Còn Frinos thì... rất vui được gặp lại mi, anh bạn. Hãy bảo vệ cho Meli nhé...?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutRavenFamiliar01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "EquippedFamiliar" }, IsAny = { "RavenFamiliar" }, }, }, { Cue = "/VO/Icarus_0413", Text = "Cô không định giới thiệu cho ta người bạn có cánh kia sao? Trông giống như một con quạ, mặc dù ta chưa từng thấy con nào như vậy trước đây..." }, { Cue = "/VO/MelinoeField_4041", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ồ, phải rồi, thứ lỗi vì hơi vô ý! Icarus, đây là Raki, Linh Thú của ta. Raki, đây là Icarus, bạn của ta! Hai người trông giống như cùng loài chim vậy." }, { Cue = "/VO/Icarus_0414", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ồ! Rất vui được gặp mi, Raki! Ta sẽ nghiên cứu kỹ năng bay của mi, vì ta luôn cảm thấy kỹ năng bay của mình cần được cải thiện." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, -- other reactions IcarusLowHealth01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "CurrentRun", "Hero", "LastStands", }, UseLength = true, Comparison = "<=", Value = 1, }, { FunctionName = "RequiredHealthFraction", FunctionArgs = { Comparison = "<=", Value = 0.33, }, }, }, { Cue = "/VO/Icarus_0152", Emote = "PortraitEmoteFiredUp", Text = "Nhìn xem bọn chúng đã làm gì với cô kìa... ôi trời! Ta rất tiếc vì đã không đến sớm hơn, Meli... Cô có nghĩ đến việc quay về không? Ý ta là, nếu cô bị thương nặng đến mức này, sao vẫn còn tiếp tục chứ..." }, { Cue = "/VO/MelinoeField_3094", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta không bị thương nặng như anh nghĩ đâu, và ta luôn biết rõ giới hạn của mình, Icarus. Dù sao thì ta cũng rất cảm kích sự quan tâm của anh." }, { Cue = "/VO/Icarus_0153", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Ta chỉ... Thật khó chịu khi nhìn thấy cô phải chịu đựng như thế này. Cho dù vết thương của cô có lành vào ngày mai, thì điều quan trọng vẫn là hiện tại. Dù sao thì... có lẽ ta có thứ gì đó có thể giúp cô đi tiếp." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutHammers01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift03" }, }, { Path = { "GameState", "TraitsTaken" }, CountOf = { "FocusAttackDamageTrait", "FocusSpecialDamageTrait", "BreakInvincibleArmorBoon", "BreakExplosiveArmorBoon", "OmegaExplodeBoon", "SupplyDropBoon", "CastHazardBoon", }, Comparison = ">=", Value = 5, }, }, { Cue = "/VO/Icarus_0409", Text = "Cô không thể tưởng tượng nổi ta có bao nhiêu phát minh đã thất bại đâu. Ta biết một số phát minh tốt hơn những thứ khác, nhưng đây là những phát minh tốt nhất. Ta đảm bảo với cô điều đó." }, { Cue = "/VO/MelinoeField_4039", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Mel_Hesitant_01", WaitTime = 3.9 }, Text = "Ta đoán là những người như ta sẵn sàng thử nghiệm chúng giúp anh đã giúp ích rất nhiều. Có lẽ chỉ khi sử dụng thực tế thì mới biết được chúng có tốt hay không, nhỉ?" }, { Cue = "/VO/Icarus_0410", Emote = "PortraitEmoteSurprise", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "{#Emph} {#Prev}Cô không phải người thử nghiệm chúng đâu, Meli! Tất cả chiếc Búa của ta đều đã trải qua quá trình đánh giá cực kỳ nghiêm ngặt để xứng đáng với cái tên Daedalus. Nhưng nếu cô có bất kỳ góp ý nào, hãy nói cho ta biết nhé." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusGrantsReward01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "CurrentRun", "Hero", "UpgradableHammerCount" }, Comparison = ">=", Value = 1, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift03" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, { Cue = "/VO/Icarus_0411", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "Icarus_Explaining_Start", WaitTime = 0.5, AngleNPCToHero = true, }, PostLineAnim = "Icarus_Explaining_End", Text = "Ta đã dành rất nhiều thời gian cho thứ này và không muốn tiết lộ cho đến khi nó hoàn thiện, nhưng gần đây ta đã thử nghiệm thêm và nghĩ rằng nó đã sẵn sàng." }, { Cue = "/VO/MelinoeField_4040", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ồ, nghe thật hấp dẫn. Những phát minh của anh chắc phải mất rất nhiều thời gian để hoàn thiện và sản xuất. Vậy nó có thể làm gì?" }, { Cue = "/VO/Icarus_0412", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Rồi cô sẽ biết, nó khiến hầu hết mọi thứ trở nên tốt hơn, kiểu như... ừm, chính cô vậy. Dĩ nhiên là cô có thể từ chối nếu không muốn thử!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutHiddenAspects01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "CurrentRun", "Hero", "TraitDictionary" }, HasAny = GameData.AllHiddenAspects, }, { Path = { "GameState", "WeaponsUnlocked" }, CountOf = GameData.AllHiddenAspects, Comparison = ">=", Value = 2, }, }, { Cue = "/VO/Icarus_0415", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "Icarus_Pensive_Start", WaitTime = 0.5, AngleNPCToHero = true, }, PostLineAnim = "Icarus_Pensive_End", Text = "Ta biết Vũ Khí Hắc Ám có thể biến đổi thành nhiều hình dạng khác nhau, nhưng để có thể thấy được hình dạng này của chúng... hẳn là cô đã làm gì đó để nhận được đặc ân từ chúng, phải không?" }, { Cue = "/VO/MelinoeField_4030", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Có lẽ là vậy. Hoặc những Vũ Khí chỉ đơn giản lầ muốn ta tiếp tục sử dụng chúng... dưới nhiều Hình Dạng khác nhau. Mà sao Cây Búa của anh vẫn phát huy tác dụng, ngay cả khi Vũ Khí đã thay đổi hình dạng?" }, { Cue = "/VO/Icarus_0416", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta đã tính trước hết rồi! Và việc nhìn thấy nhiều Hình Dạng khác nhau được sử dụng đã mang đến cho ta vô vàn ý tưởng mới." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutOlympus01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "CurrentRun", "BiomesReached", "P" }, }, }, { Cue = "/VO/Icarus_0148", Text = "Không ngờ lại gặp được cô ở đây! Trước đây ta chưa từng bay đến gần khu vực này, nhưng dạo gần đây có vẻ ít Harpy hơn rồi, những Cổ Máy Tự Động của ít hơn... và, ừm, được gặp cô nữa. Mọi việc tiến triển tốt chứ?" }, { Cue = "/VO/MelinoeField_3092", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nhờ có anh mà mọi việc bây giờ đã thuận lợi hơn nhiều. Vậy anh thấy sao? Ngọn núi của những vị thần có xứng đáng với những gì mà anh từng tưởng tượng không?" }, { Cue = "/VO/Icarus_0149", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Hầu hết là vậy... vì dù loài người dù còn sống hay đã khuất cũng không bao giờ được chiêm ngưỡng vẻ tráng lệ của Olympus. Dù sao thì ta cũng muốn gặp cô, Meli. Đây, một chút đồ tiếp tế cho quãng đường còn lại." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutOlympus02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "CurrentRun", "BiomesReached", "P" }, }, { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/Icarus_0434", Text = "Mặc dù trên ngọn núi đã không còn giông tố dữ dội như trước nữa, nhưng gia đình cô liệu có để yên cho bọn Satyr và những thứ khác tiếp tục lộng hành không? Nghe chẳng giống họ chút nào..." }, { Cue = "/VO/MelinoeField_4054", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Bọn chúng dẫn ta đến chỗ Typhon, Icarus... một phần tàn dư của hẳn rải rác khắp nơi, tồn tại nogài dòng thời gian. Có thể nói là bọn ta đang phối hợp với Ông Nội để dọn dẹp mớ hỗn độn còn sót lại." }, { Cue = "/VO/Icarus_0435", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Ông Nội... ý cô là lão già Chronos chết tiệt đó? Và cô nói rằng Typhon vẫn còn tồn tại? Chuyện gì đã xảy ra khi hắn biến mất, ý ta là, ta không thấy bất kỳ dấu hiệu nào của hắn cả. Đây có lẽ là một trong những điều vượt quá sự hiểu biết của loài người nhỉ?" }, { Cue = "/VO/MelinoeField_4055", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelinoeIdleWeaponless", PreLineAnimTarget = "Hero", Text = "Ta cũng chưa thực sự hiểu chuyện đó... vẫn còn nhiều điều về thời gian và cách vận hành của nó mà ta chưa biết, mặc dù bọn ta vẫn đang tìm hiểu, từng chút một." }, { Cue = "/VO/Icarus_0436", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta không thấy có gì phức tạp cả. Thời Gian trôi chậm hơn khi mọi chuyện tồi tệ, và sẽ trôi qua quá nhanh khi mọi thứ tốt đẹp. Mặc dù nói vậy nhưng ta vẫn đang học cách chấp nhận điều đó." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutBecomingCloser01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesChoiceRecord", "IcarusBecomingCloser01" }, IsAny = { "Choice_IcarusAccept" }, }, }, { Cue = "/VO/MelinoeField_4044", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Vậy anh đã có dịp cảm nhận được gió và biển nhờ Thuốc Hồi Phục Thể Xác chưa? Ta không chắc nó sẽ có tác dụng lâu, nên muốn anh tận dụng hết khả năng có thể." }, { Cue = "/VO/Icarus_0385", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Đó là đêm tuyệt vời nhất trong đời ta. Cảm nhận được gió và biến chính là cái kết hoàn hảo! Ban đầu ta cứ ngỡ cái lạnh làm ta tê dại, nhưng hóa ra chỉ là tác dụng của Thuốc Hồi Phục đang dần hết tác dụng." }, { Cue = "/VO/MelinoeField_4045", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đêm đó cũng rất đặc biệt đối với ta. Có vẻ như bà ngoại của ta, Demeter, từng có mối quan hệ với người phàm... và sau đó là sinh ra mẹ của ta, rồi mẹ của ta sinh ra ta! Vậy nên ta không phải một nữ thần thực sự, và luôn tò mò về gốc phàm trần của mình." }, { Cue = "/VO/Icarus_0386", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Cô thực sự là một nữ thần, Meli. Nếu có một phần huyết thống người phàm thì lại càng tốt. Dù sao thì... đó là một khoảng thời gian tuyệt vời, và giờ thì nó đã qua rồi, ít nhất là ta đã có kỷ niệm về nó." }, { Cue = "/VO/MelinoeField_4046", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Có lẽ chúng ta có thể tạo ra nhiều kỷ niệm hơn vào một lúc nào đó. Xét đến việc Thuốc Hồi Phục Thể Xác đã phát huy tác dụng như thế nào... có lẽ ta sẽ tìm cách tạo ra nó lần nữa." }, { Cue = "/VO/Icarus_0387", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "{#Emph} {#Prev}Nếu tim ta vẫn còn đập thì chắc nó đã vỡ tung rồi! Ta sẵn sàng đánh đổi tất cả để được ở bên cô lần nữa... nhưng khác với lần trước, lần này ta sẽ kiên nhẫn hơn. Ta xin thề." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutBecomingCloser01_B = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesChoiceRecord", "IcarusBecomingCloser01" }, IsAny = { "Choice_IcarusDecline" }, }, }, { Cue = "/VO/MelinoeField_4044", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Vậy anh đã có dịp cảm nhận được gió và biển nhờ Thuốc Hồi Phục Thể Xác chưa? Ta không chắc nó sẽ có tác dụng lâu, nên muốn anh tận dụng hết khả năng có thể." }, { Cue = "/VO/Icarus_0388", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Đó là đêm tuyệt vời nhất trong đời ta. Cảm giác như thực sự được sống cùng cô, cùng với gió và biển cả tuyệt vời! Ban đầu ta cứ ngỡ do cái lạnh khiến ta tê dại, nhưng hóa ra chỉ do tác dụng của Thuốc Hồi Phục đang dần hết hiệu lực." }, { Cue = "/VO/MelinoeField_4047", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta cũng rất vui. Ta đã lo rằng ta lại tổn thương anh lần nữa. Những gì chúng ta có... có thể không phải là những gì anh mong muốn, nhưng nó có ý nghĩa rất lớn đối với ta, và đó là tất cả những gì ta có thể cho anh." }, { Cue = "/VO/Icarus_0389", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Điều đó cũng rất có ý nghĩa đối với ta. Và cô đã cho ta nhiều hơn những gì ta mong muốn... vậy thì sao không để ta tặng cô một Cây Búa thật tốt để đền đáp nhỉ?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, -- alt below IcarusPostTrueEnding01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", InitialGiftableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusPostTrueEnding01_B" }, }, { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, { Cue = "/VO/Icarus_0417", Text = "Meli, cô đã ở đâu vậy? Ta không thấy cô ở đây hay bất kỳ đâu trong suốt nhiều đêm rồi. Có điều gì đó không ổn, ta không rõ đó là gì, nhưng ta nghĩ Chronos đang âm mưu điều gì đó. Đội quân của ông ta đang hành động rất kỳ lạ...!" }, { Cue = "/VO/MelinoeField_4049", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkFlustered01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đội quân của ông ấy hành động kỳ là vì Chronos đã từ bỏ cuộc chinh phạt rồi! Icarus... cuộc chiến đã kết thúc rồi! Thánh Điện của Hades đã được khôi phục! Dù ta có nói ra thì anh cũng không tin đâu, nhưng đó là sự thật!" }, { Cue = "/VO/Icarus_0418", Emote = "PortraitEmoteFiredUp", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Chờ đã, sao cơ, Chronos đã đầu hàng ư...? Không thể nào! Nhưng chúng ta vừa mới chiến đấu với đội quân của ông ta ở đây mà! Cô thực sự nghiêm túc sao...?" }, { Cue = "/VO/MelinoeField_4050", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Lúc nào ta chẳng nghiêm túc? Titan Thời Gian đã thay đổi. Cuối cùng bọn ta đã thuyết phục được ông ấy, đúng vào thời điểm sự tồn tại của ông ấy bị đe dọa. Giờ ta sẽ lên Olympus, để đảm bảo mọi thứ ở đó vẫn ổn định." }, { Cue = "/VO/Icarus_0419", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Chỉ là, ta không thể tin nổi! Ừm, ý ta là, tất nhiên là ta tin rồi. Heh! Cuối cùng thì cô cũng tóm được ông ta rồi! Cô thực sự đã tóm được ông ta, phải không? Ta, ừm, ta không biết nói gì nữa... hay là cô nhận thứ này nhé?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusPostTrueEnding01_B = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", InitialGiftableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusPostTrueEnding01" }, }, { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "P" }, }, }, { Cue = "/VO/Icarus_0417", Text = "Meli, cô đã ở đâu vậy? Ta không thấy cô ở đây hay bất kỳ đâu trong suốt nhiều đêm rồi. Có điều gì đó không ổn, ta không rõ đó là gì, nhưng ta nghĩ Chronos đang âm mưu điều gì đó. Đội quân của ông ta đang hành động rất kỳ lạ...!" }, { Cue = "/VO/MelinoeField_4049", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkFlustered01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đội quân của ông ấy hành động kỳ là vì Chronos đã từ bỏ cuộc chinh phạt rồi! Icarus... cuộc chiến đã kết thúc rồi! Thánh Điện của Hades đã được khôi phục! Dù ta có nói ra thì anh cũng không tin đâu, nhưng đó là sự thật!" }, { Cue = "/VO/Icarus_0418", Emote = "PortraitEmoteFiredUp", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Chờ đã, sao cơ, Chronos đã đầu hàng ư...? Không thể nào! Nhưng chúng ta vừa mới chiến đấu với đội quân của ông ta ở đây mà! Cô thực sự nghiêm túc sao...?" }, { Cue = "/VO/MelinoeField_4050_B", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Lúc nào ta chẳng nghiêm túc? Titan Thời Gian đã thay đổi. Cuối cùng bọn ta đã thuyết phục được ông ấy, đúng vào thời điểm sự tồn tại của ông ấy bị đe dọa. Giờ ta sẽ lên Olympus, để đảm bảo mọi thứ ở đó vẫn ổn định." }, { Cue = "/VO/Icarus_0419", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Chỉ là, ta không thể tin nổi! Ừm, ý ta là, tất nhiên là ta tin rồi. Heh! Cuối cùng thì cô cũng tóm được ông ta rồi! Cô thực sự đã tóm được ông ta, phải không? Ta, ừm, ta không biết nói gì nữa... hay là cô nhận thứ này nhé?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusPostTrueEnding02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomePostTrueEnding01" }, }, }, { Cue = "/VO/Icarus_0437", Text = "Này, lần cuối chúng ta nói chuyện ở Crossroads, ta... ta không có ý khiến cô buồn đâu, Meli. Chỉ là... ta không ngờ rằng cô vẫn sẽ tiếp tục chiến đấu theo cách này." }, { Cue = "/VO/MelinoeField_4056", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Anh hỏi ta rằng ta định làm gì với quãng đời còn lại của mình, và câu hỏi đó khiến ta phải suy ngẫm. Ta chưa từng nghĩ xa đến thế." }, { Cue = "/VO/Icarus_0438", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Có lẽ cô cũng không cần câu trả lời ngay đâu, vì cô vẫn phải tiếp tục chiến đấu ở trên này. Và chắc là còn phải đi xuống Địa Ngục nữa." }, { Cue = "/VO/MelinoeField_4057", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Những thói quen chắc chắn sẽ mang lại cảm giác dễ chịu. Nhưng ta phải chấp nhận rằng đây có lẽ là điều mà định mệnh đã sắp đặt cho ta. Và cũng là việc duy nhất mà ta thực sự giỏi." }, { Cue = "/VO/Icarus_0439", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Cô không cần phải chấp nhận điều đó đâu, Meli. Cả đời cha ta chỉ biết làm việc, ông ấy xem đó là sứ mệnh của mình! Nhưng cô không giống ông ấy. Dù sao thì... chuyện tương lai cứ để sau. Giờ chúng ta hãy tận hưởng đêm nay trước rồi hẳn tính tiếp, nhé?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutFlying04 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/MelinoeField_4051", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Icarus, ta định nói với anh rằng cuối cùng ta cũng đã được bay rồi! Cùng với nữ thần Selene vĩ đại và cổ xe ngựa của bà ấy. Ta hiểu vì sao việc đó lại hấp dẫn đến vậy, mặc dù ta còn chưa được tự tay điều khiển." }, { Cue = "/VO/Icarus_0430", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Chờ đã, cô đã bay cao đến thế ư? Thật tuyệt vời! Chính Mặt Trăng đã chở cô bay ngang qua bầu trời. Ta từng nghĩ nếu mình có thể bay cao hơn một chút, ta cũng có thể chạm đến Mặt Trăng, nhưng cuối cùng... ta đã khuyển nhủ bản thân nên dừng lại." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusPostTrueEnding03 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, { Cue = "/VO/Icarus_0431", Text = "Vậy là vẫn còn nhiều việc phải làm nhỉ? Nếu cuộc chiến với Chronos thực sự đã kết thúc, thì nhìn những hạm đội này lại chẳng thể tin được. Bọn Harpy cũng chẳng dễ chịu hơn chút nào." }, { Cue = "/VO/MelinoeField_4052", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Chắc hẳn vẫn còn những kẻ cuồng tín vẫn tin rằng Titan Thời Gian sẽ trở lại. Nhưng bọn ta đang đảm bảo rằng mối đe dọa từ Chronos và Typhon sẽ không bao giờ tái diễn. Ta chỉ cần quay trở lại Olympus như một phần của quá trình đó." }, { Cue = "/VO/Icarus_0432", PreLineAnim = "Icarus_Pensive_Start", Text = "Vậy thì được. Bởi vì những điều cô nói có nghĩa là ta vẫn được tiếp tục bay, vẫn được gặp lại cô trên này... thì điều đó cũng không tệ chút nào." }, { Cue = "/VO/MelinoeField_4053", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ồ, đúng là vậy! Bọn ta cứ ngỡ rằng chiến tranh đã kết thúc, và anh có thể cất đôi cánh đi. Nhưng việc cải tạo Địa Ngục của cha ta sẽ còn kéo dài rất lâu nữa." }, { Cue = "/VO/Icarus_0433", PreLineAnim = "Icarus_Pensive_End", Text = "Đến một lúc nào đó, ta cũng sẽ phải quay về nơi thuộc về mình. Nhưng hiện tại, ta muốn tận hưởng trọn vẹn những khoảnh khắc này." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutUnderworld01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusAboutOlympus02" }, }, -- Surface run on PrevRun, the run before that, and the run before that; CurrentRun is ignored (would return false) { SumPrevRuns = 4, IgnoreCurrentRun = true, Path = { "BiomesReached", "F" }, CountPathTrue = true, Comparison = ">=", Value = 3, }, }, { Cue = "/VO/Icarus_0440", Text = "Dạo gần đây không thấy cô xuất hiện ở đây! Đang bận rộn ở Địa Ngục, hay đang nghỉ ngơi ở suối nước nóng, bên cạnh một hoặc hai chai Ambrosia vậy?" }, { Cue = "/VO/MelinoeField_4059", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta không dễ dàng thú nhận đâu. Nhưng anh nói đúng, cũng khá lâu rồi chúng ta mới gặp nhau ở đây. Có gì mới để báo cáo không?" }, { Cue = "/VO/Icarus_0441", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Xin báo cáo, ta rất vui được gặp lại cô, mặc dù điều đó chẳng có gì mới mẻ. Còn ông của cô thì rất giỏi trong việc hồi sinh thuộc hạ đã chết, nếu đó là một phần trong kế hoạch của cô. Đông đảo vô cùng." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusAboutSayingLittle01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusBecomingCloser01" }, }, NamedRequirements = { "ReachedEpilogue" }, }, { Cue = "/VO/Icarus_0481", Text = "Ta thực sự thích thói quen này của chúng ta, Meli! Ta cảm thấy có thể tiếp tục thế này mãi mãi. Chúng ta đã trở nên hiệu quả đến kinh ngạc... thậm chí còn chẳng cần tán gẫu nữa." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, -- Repeatable IcarusChat01 = { UseableOffSource = true, { Cue = "/VO/Icarus_0005", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta chỉ ra ngoài dạo chơi một chút và nghĩ rằng mình nên ghé qua đây. Rất vui được gặp cô, Meli." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat02 = { UseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, { Cue = "/VO/Icarus_0006", Text = "Đêm nay biển động, nhưng bầu trời vẫn ổn. Bảo trọng nhé?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat03 = { UseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusAboutEris01" } }, }, { Cue = "/VO/Icarus_0007", Text = "Hình như ta đã nhìn thấy Eris ở phía xa bờ biển. Cô mang đến cho cô ta một bất ngờ nho nhỏ nhé?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat04 = { UseableOffSource = true, { Cue = "/VO/Icarus_0008", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Giá mà ta có thể ở lại đây lâu hơn để trò chuyện với cô, nhưng ta biết rằng đây không phải thời điểm hay địa điểm thích hợp." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat05 = { UseableOffSource = true, { Cue = "/VO/Icarus_0009", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Cô thật tuyệt vời, Meli. Ta đã chứng kiến hết mọi thứ từ trên đó! Cứ thế phát huy nhé?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat06 = { UseableOffSource = true, { Cue = "/VO/Icarus_0010", Text = "Ta biết cô còn nhiều nơi để đến. May mắn thay, ta có thứ này sẽ giúp cô đến đó." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat07 = { UseableOffSource = true, { Cue = "/VO/Icarus_0011", Text = "Cô có nghĩ một ngày nào đó chúng ta sẽ ngồi nghĩ lại và nhớ lại những khoảnh khắc này không?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat08 = { UseableOffSource = true, { Cue = "/VO/Icarus_0012", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta không biết cô đã ứng phó với những việc này hằng đêm thế nào, nhưng ta thực sự rất vui vì cô đã làm được." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat09 = { PlayFirst = true, UseableOffSource = true, { Cue = "/VO/Icarus_0013", Text = "Rất vui được gặp cô, Meli, dù chỉ một chút. Không ai khác thích hợp hơn để thử những thứ này giúp ta." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat10 = { UseableOffSource = true, { Cue = "/VO/Icarus_0014", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Bờ biển vẫn đang trong tầm kiểm soát! Nhưng sau thời điểm này, không có gì là đảm bảo." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat11 = { UseableOffSource = true, { Cue = "/VO/Icarus_0015", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Có lẽ ta đã xử lý được vài tên ở đó rồi. Có vẫn tốt hơn không nhỉ?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat12 = { UseableOffSource = true, { Cue = "/VO/Icarus_0016", Text = "Ta đã nghiên cứu những thứ này. Hãy lấy cái nào cô muốn nhé!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat13 = { UseableOffSource = true, { Cue = "/VO/Icarus_0017", Text = "Bất kể cô chọn món nào trong số này, thì ta vẫn đảm bảo cô sẽ hài lòng về chất lượng." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat14 = { UseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, { Cue = "/VO/Icarus_0018", Text = "Ngọn núi không xa đây lắm. Có lẽ những thứ này sẽ giúp cô leo núi dễ hơn." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat15 = { UseableOffSource = true, { Cue = "/VO/Icarus_0019", Text = "Ta biết cô không có nhiều thời gian, vậy nên hãy nhận lấy. Vì hành trình phía trước." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat16 = { PlayFirst = true, UseableOffSource = true, GameStateRequirements = { { FunctionName = "RequiredHealthFraction", FunctionArgs = { Comparison = "<", Value = 0.66, }, }, }, { Cue = "/VO/Icarus_0020", Text = "Cô trông vẫn ổn...! Làm ta hơi lo lắng một chút." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat17 = { UseableOffSource = true, { Cue = "/VO/Icarus_0021", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Giá như ta có thể, ta sẽ đưa cô bay thẳng đến cung điện của những vị thần, ngay lúc này..." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat18 = { UseableOffSource = true, { Cue = "/VO/Icarus_0022", Text = "Bất cứ điều gì cô cần, chỉ cần cô nói. Mặc dù đây là tất cả những gì ta có." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat19 = { UseableOffSource = true, { Cue = "/VO/Icarus_0023", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ngay cả những vị thần cũng cần ai đó chiến đấu thay mình, phải không...?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat20 = { UseableOffSource = true, { Cue = "/VO/Icarus_0024", Text = "Cô đã đi được nửa chặng đường rồi, Meli... hoặc gần đến nơi rồi, ta nghĩ vậy. Không thể bỏ cuộc lúc này!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat21 = { UseableOffSource = true, { Cue = "/VO/Icarus_0081", Text = "Chúng ta sẽ trò chuyện cùng nhau khi rãnh rỗi nhé? Không cần vội đâu! Ta luôn có thể chờ." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat22 = { UseableOffSource = true, { Cue = "/VO/Icarus_0082", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta chỉ có thể giúp được đến đây thôi! Nhưng cô cũng cần thứ gì đó phải không? Vậy thì hãy nhận lấy." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat23 = { UseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, { Cue = "/VO/Icarus_0083", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Con tàu này có thể chìm bất cứ lúc nào, tốt nhất là không nên ở đây nữa..." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat24 = { UseableOffSource = true, { Cue = "/VO/Icarus_0084", Text = "Có thể những thứ này sẽ giúp ích cho cô. Đây là tất cả những gì ta có đêm nay." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat25 = { UseableOffSource = true, { Cue = "/VO/Icarus_0085", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Những thứ này không đạt tiêu chuẩn như của cha ta, nhưng ta nghĩ chúng cũng không tệ lắm..." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat26 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift03" }, }, }, { Cue = "/VO/Icarus_0086", Text = "Ta cứ nghĩ mãi về việc chưa bao giờ ta cảm thấy mình thật sự sống như khi ở đây cùng cô..." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat27 = { UseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, { Cue = "/VO/Icarus_0087", Text = "Olympus không còn xa nữa. Ta sẽ bay trước để đánh lạc hướng chúng." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat28 = { UseableOffSource = true, { Cue = "/VO/Icarus_0088", Text = "Rất nhiều Shade ngoài kia tin tưởng vào cô và những gì cô đạt được." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat29 = { UseableOffSource = true, { Cue = "/VO/Icarus_0089", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta có thể nói rằng, đôi cánh này bền hơn nhiều so với đôi cánh mà cha ta đã từng làm!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat30 = { UseableOffSource = true, { Cue = "/VO/Icarus_0090", Text = "Ta chưa từng nghĩ rằng cuộc sống của ta sau khi chết lại diễn ra như thế này." }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat31 = { UseableOffSource = true, { Cue = "/VO/Icarus_0091", Text = "Ta biết cô có thể tự lo được, nhưng hãy để xem ta có thể giúp gì được cho cô, nhé?" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, IcarusChat32 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift01" }, }, }, { Cue = "/VO/Icarus_0092", Text = "Rất vui được gặp cô, Meli... Ta đã đứng trên mặt đất, nhưng vẫn cảm giác như đang bay...!" }, PrePortraitExitFunctionName = "IcarusBenefitChoice", PrePortraitExitFunctionArgs = PresetEventArgs.IcarusBenefitChoices, }, }, GiftTextLineSets = { IcarusGift01 = { PlayOnce = true, OnGiftTrack = true, UnfilledIcon = "EmptyHeartWithGiftIcon", FilledIcon = "FilledHeartWithGiftIcon", Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Icarus_01" }, }, }, { Cue = "/VO/Melinoe_3264", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Anh có thể bay đến bất cứ đâu anh muốn! Nhưng ta mừng vì anh không bay xa đến mức ta không thể bắt kịp. Đây! Dưới ánh sáng từ đôi cánh thần thánh của anh, ta xin tặng một món quà nhỏ." }, { Cue = "/VO/Icarus_0038", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Ôi, thôi nào, ta chỉ bay quanh Olympus, không có nghĩa là ta được dự tiệc như những vị thần ở đó! Nhưng cô sẽ cho phép phải không? Cô biết đấy, ta cũng có thứ này cho cô." }, }, IcarusGift02 = { PlayOnce = true, OnGiftTrack = true, UnfilledIcon = "EmptyHeartWithProphecyIcon", FilledIcon = "FilledHeartWithProphecyIcon", Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Icarus_01" }, }, }, { Cue = "/VO/Icarus_0039", Portrait = "Portrait_Icarus_Pleased_01", Text = "Rượu Mật mà cô tặng cho ta thật sự rất tuyệt vời, ta không thể hình dung vị của nó sẽ ra sao khi ta còn sống. Ta không định xin thêm một chai nữa đâu, nhưng... vì cô đã đề nghị thì được thôi!" }, { Cue = "/VO/Melinoe_3266", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Vậy nên ta đang đề nghị đây! Có lẽ lúc này anh sẽ cảm thấy tốt hơn khi là Shade. Những người phàm cần phải ăn uống vì nhu cầu thiết yếu. Nhưng Rượu Mật sẽ đáp ứng một loại nhu cầu khác." }, }, IcarusGift03 = { PlayOnce = true, OnGiftTrack = true, Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Icarus_01" }, }, }, { Cue = "/VO/Icarus_0078", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Portrait = "Portrait_Icarus_Pleased_01", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Icarus_Default_01", WaitTime = 4.3 }, Text = "Khi còn là một đứa trẻ người phàm bị giam giữ trong một tòa tháp, ta được chu cấp khá đầy đủ, nhưng với thứ này thì khác! Ta biết là không nên ghen tị với những vị thần, đặc biệt là với những gì họ đang trải qua gần đây... nhưng rõ ràng là họ biết cách thưởng thức đồ uống." }, { Cue = "/VO/Melinoe_3499", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Những vị thần luôn sống cuộc sống viên mãn... nhưng cuộc đời của anh lại ngắn ngủi và khó khăn. Chắc hẳn anh vẫn còn nhiều điều phải làm, và ta nghĩ thứ này có thể sẽ giúp ích!" }, }, IcarusGift04 = { PlayOnce = true, OnGiftTrack = true, Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Icarus_01" }, }, }, { Cue = "/VO/Icarus_0176", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Trước đây ta luôn muốn tìm cho cô một chai Rượu Mật ngon nhất có thể... nhưng rốt cuộc ta vẫn không làm được. Lại thêm một điều vào danh sách những thứ nên làm khác đi." }, { Cue = "/VO/Melinoe_3500", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Xin đừng dằn vặt bản thân về quá khứ như vậy. Anh từng nghĩ rằng sẽ không bao giờ gặp lại ta, nhưng ta vẫn ở đây. Ta trân trọng khoảnh khắc này." }, EndVoiceLines = { { PreLineWait = 0.38, ObjectType = "NPC_Icarus_01", { Cue = "/VO/Icarus_0080", Text = "Ta sẽ không quên đâu." }, } }, }, IcarusGift05 = { PlayOnce = true, OnGiftTrack = true, Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Icarus_01" }, }, }, { Cue = "/VO/Icarus_0177", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta gần như không thể cảm nhận được hương vị của nó... chỉ cảm nhận được trọng lượng của nó. Nhưng ta vẫn có những ký ức đẹp để lấp đầy những khoảng trống đó. Thật buồn cười là ta quên mất mình đã chết được bao lâu rồi, vậy mà đến giờ vẫn chưa quen với điều đó." }, { Cue = "/VO/Melinoe_4529", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Có lẽ chúng ta sẽ không hoàn toàn quen được với cuộc sống này. Dù vậy, ta khá ngạc nhiên khi anh còn nhớ những ngày tháng tuổi trẻ." }, { Cue = "/VO/Icarus_0178", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Cô cũng có khác gì đâu! Không biết đã bao nhiêu lần cô đã nhắc về những buổi tối yên tĩnh, lắng nghe tiếng nước chảy và tiếng ếch kêu. Đôi khi ta quên mất nỗi đau, và đôi khi đó là tất cả những gì ta nhớ. Nhưng ta cũng sẽ nhớ mãi khoảnh khắc này." }, }, IcarusGift06 = { PlayOnce = true, OnGiftTrack = true, Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Icarus_01" }, }, }, { Cue = "/VO/Icarus_0179", PreLineAnim = "Icarus_Pensive_Start", Text = "Ta thật liều lĩnh khi còn nhỏ. Cha ta lúc nào cũng căn dặn phải cẩn thận, nhưng ta lại bị nhốt trong cái tháp chết tiệt đó... dù có cố gắng cũng chẳng làm hại được bản thân. Nhưng giờ đây... ta chỉ không muốn làm hỏng mọi thứ thôi." }, { Cue = "/VO/Melinoe_4530", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đối với một người dành quá nhiều thời gian trên bầu trời như anh, đôi lúc anh sẽ chìm đắm trong suy nghĩ của chính mình. Đây không phải một bài thử nghiệm Icarus. Là ta đây. Và ta chỉ đơn giản là thích anh khi là chính mình." }, { Cue = "/VO/Icarus_0180", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Pensive_End", Text = "Thôi nào, Meli, nhìn chúng ta đi...! Cô là Công Chúa Địa Ngục; ta là Shade của một kẻ học việc thất bại, không thể làm theo lời căn dặn của cha mình, và chết khi còn quá trẻ. Đây là điều cô thích ư?" }, { Cue = "/VO/Melinoe_4531", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Không, bởi vì đó không phải con người thật của anh. Ta không hề thương hại anh; anh cũng đừng tự thương hại mình như vậy. Hãy gạt bỏ điều đó đi. Nhưng cảm xúc thật của anh, đừng bao giờ che giấu trước ta." }, { Cue = "/VO/Icarus_0181", PreLineWait = 0.35, PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta sẽ cố gắng... chắc chắn sẽ cố gắng. Nếu không làm vậy thì ta đúng là kẻ ngốc. Được rồi...! Tiến về phía trước, mặc cho những gì đang chờ đợi chúng ta!" }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_4532", Text = "Đúng vậy, ta sẽ trân trọng khoảnh khắc này." }, }, }, }, IcarusGift07 = { PlayOnce = true, OnGiftTrack = true, -- HintId = "Codex_NemesisGiftHint01", PostBlockSpecialInteract = true, LockedHintId = "Codex_IcarusUnlockHint01", UnfilledIcon = "EmptyHeartWithAmbrosiaIcon", FilledIcon = "FilledHeartWithAmbrosiaIcon", Cost = { SuperGiftPoints = 1, }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusBathHouse02", "IcarusTaverna01", "IcarusFishing01", "IcarusGift06" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAny = { "IcarusAboutFlying02", "IcarusAboutFlying02_B" }, }, NamedRequirements = { "IcarusUnlockedInHub" }, }, { Cue = "/VO/Melinoe_4558", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Có vẻ như anh khá phấn thích khi lần đầu nếm thử Ambrosia, nên ta muốn tặng một chai cho anh. Để dành cho những dịp đặc biệt." }, { Cue = "/VO/Icarus_0246", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Một chai cho riêng ta, dành cho dịp đặc biệt ư? Thôi nào, Meli, thế này là quá nhiều rồi! Ta chẳng còn thứ gì xứng đáng để tặng lại cho cô nữa!" }, { Cue = "/VO/Melinoe_4559", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta không nghĩ vậy! Anh đã cho ta nhiều hơn thế. Và tak hông chỉ nói đến những chiếc búa mà anh đã miệt mài tạo ra." }, { Cue = "/VO/Icarus_0247", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Ta chẳng khác gì những Shade hâm mộ cô mà sẵn sàng làm mọi thứ bằng tất cả tấm lòng." }, EndVoiceLines = { { PreLineWait = 0.33, UsePlayerSource = true, { Cue = "/VO/Melinoe_4560", Text = "Chờ đã, anh cũng là một Shade hâm mộ ta ư?" }, }, { PreLineWait = 0.35, ObjectTypes = { "NPC_Icarus_01" }, { Cue = "/VO/Icarus_0248", Text = "Thôi, dừng lại đó. Và đưa nó cho ta." }, } }, }, IcarusGift08 = { PlayOnce = true, OnGiftTrack = true, StartBecomingCloserTrack = true, HintId = "Codex_GrowingCloser01", PostBlockSpecialInteract = true, -- LockedHintId = "Codex_ErisGiftHint01", UnfilledIcon = "EmptyHeartWithAmbrosiaIcon", FilledIcon = "FilledHeartWithAmbrosiaIcon", Cost = { SuperGiftPoints = 1, }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusGift07" }, }, }, { Cue = "/VO/Melinoe_4561", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Hay là chúng ta thử trò chuyện cùng Ambrosia lần nữa nhé, nhưng lần này, đừng xem bản thân chỉ là một Shade tầm thường. Anh còn quan trọng hơn thế. Và hơn cả một người bạn." }, { Cue = "/VO/Icarus_0249", PreLineWait = 0.35, PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "...Được rồi, nhưng mà... cô không nghĩ rằng chuyện này không nên xảy ra sao? Mỗi khi ta cố chạm vào cô, cảm giác chỉ như một làn gió nhẹ, như thể ta chẳng hề tồn tại ở đây..." }, { Cue = "/VO/Melinoe_4562", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Nhưng anh đang ở đây. Ta cũng không muốn chịu tổn thương thêm lần nào nữa, nhưng mỗi đêm ta đều phải bước đi trên hành trình này, nhưng ta không thể hoàn thành sứ mệnh này nếu không chấp nhận rủi ro đó... thậm chí là điều không thể tránh khỏi. Đôi khi cái giá đó cũng xứng đáng." }, { Cue = "/VO/Icarus_0250", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Nỗi đau của ta thì ta chịu được, chẳng sao cả. Nhưng nỗi đau của cô thì có lẽ ta không thể chịu nổi... không thể sống cùng nó, cô hiểu ý ta chứ? Nhưng mà... Argh! Ta chẳng thể tin nổi là ta đang tranh luận với cô, Meli. Ta đang hạnh phúc hơn bao giờ hết. Nhưng ta vẫn sợ hãi..." }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_4563", Text = "Nỗi sợ mà chúng ta có thể cùng nhau đối mặt." }, }, }, }, IcarusGift09 = { PlayOnce = true, OnGiftTrack = true, HintId = "Codex_GrowingCloser01", PostBlockSpecialInteract = true, -- LockedHintId = "Codex_ErisGiftHint01", UnfilledIcon = "EmptyHeartWithAmbrosiaIcon", FilledIcon = "FilledHeartWithAmbrosiaIcon", Cost = { SuperGiftPoints = 1, }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusGift08" }, }, }, { Cue = "/VO/Melinoe_4564", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Hay là uống thêm một chút Ambrosia nhé, xem như một phép thử, bởi một chất vốn nổi tiếng mang lại sự ấm áp và khoái cảm, dường như lại mang đến cho anh nỗi đau." }, { Cue = "/VO/Icarus_0251", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ồ, tuyệt vời, đúng lúc ta cần thêm nỗi đau, và giờ thì mọi chuyện đã khác. Cô biết lý do mà, phải không? Chúng ta đã thử tất cả cách này trước đây rồi, và chúng không có tác dụng. Ta thực sự ước chúng đã thành công, nhưng không." }, { Cue = "/VO/Melinoe_4565", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", Text = "Giờ ta đã có nhiều kinh nghiệm hơn. Đôi khi mọi thứ không thuận lợi, anh phải thử đi thử lại hết lần này đến lần khác, rồi lặp lại nhiều lần, nếu cần thiết." }, { Cue = "/VO/Icarus_0252", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Meli, ta đồng ý với cô... miễn là cái giá phải trả cho việc đó không quá đắt! Nhưng trong trường hợp của cô thì... cô chỉ còn lại một cánh tay và hai chân. Cô sẵn sàng đánh đổi tất cả chỉ vì ta ư? Để tái tạo thể xác cho ta?" }, { Cue = "/VO/Melinoe_4566", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01ReturnToIdle", PreLineAnimTarget = "Hero", Text = "Nghe này, ta biết không thể tái tạo cơ thể cho anh mãi mãi, nhưng mối liên kết giữa chúng ta... thứ mà chúng ta luôn có... ta sẵn sàng bước tiếp con đường đó. Ta muốn bước tiếp, nếu anh cũng vậy." }, { Cue = "/VO/Icarus_0253", PreLineWait = 0.28, PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Có chứ, tất nhiên rồi. Ta sẽ theo cô đến tận chân trời, Meli. Hoặc đến bất cứ nơi đâu mà cô muốn." }, EndFunctionName = "DisplayInfoToast", EndFunctionArgs = { WaitTime = 1.3, Duration = 2, Title = "RecipeAdded", Text = "WorldUpgradeReviveIcarus" }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, { Cue = "/VO/Melinoe_4567", Text = "Vậy thì ta có ý tưởng rồi." }, }, }, }, -- bond forged IcarusGift10 = { PlayOnce = true, OnGiftTrack = true, HintId = "Codex_GrowingCloser01", LockedHintId = "Codex_IcarusUnlockHint02", CompletedHintId = "Codex_BondForgedIcarus", UnfilledIcon = "EmptyHeartWithDraughtIcon", FilledIcon = "FilledHeartWithDraughtIcon", PostBlockSpecialInteract = true, Cost = { IcarusPoints = 1, }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusGift09" }, }, }, { Cue = "/VO/Melinoe_4570", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Đừng lo, đây không phải thêm Ambrosia đâu. Thứ này được gọi là Thuốc Phục Hồi Thể Xác. Nó không mạnh như câu thần chú ta từng dùng trước đây, nhưng ta nghĩ nó sẽ có tác dụng." }, { Cue = "/VO/Icarus_0254", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Meli, cô đang nói gì vậy, chờ đã... thứ này có thể tái tạo cơ thể ư? Hay ít nhất là một phần nào đó, một cánh tay chẳng hạn?" }, { Cue = "/VO/Melinoe_4571", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Nó có thể giúp anh lấy lại mọi cảm giác trên thể xác, như thể anh đang thực sự sống và hít thở vậy. Nhưng hiệu quả sẽ không kéo dài lâu, lâu nhất cũng chỉ một đêm. Đó là cái giá phải chấp nhận." }, { Cue = "/VO/Icarus_0255", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Cô đang đùa sao? Vậy điều đó có nghĩa là... ta có thể sống lại... cảm nhận được gió lạnh, vị nước biển, và tất cả những thứ khác... chỉ trong một đêm. Cô có thể tạo ra nhiều thêm được không?" }, { Cue = "/VO/Melinoe_4572", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Đừng vội mừng. Những thứ này sẽ đi kèm với tác dụng hụ, nếu dùng quá nhanh. Hãy thề rằng anh sẽ sử dụng một cách từ tốn đi." }, { Cue = "/VO/Icarus_0256", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta thề sẽ sử dụng Thuốc Hồi Phục Thể Xác một cách từ tốn. Trước đây ta từng phớt lờ lời cảnh báo, và đã tự chuốc họa vào thân ít nhất một lần rồi, vậy nên ta không muốn lặp lại sai lầm đó lần nào nữa." }, { Cue = "/VO/Melinoe_4573", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", PostLineThreadedFunctionName = "MaxedRelationshipPresentation", PostLineThreadedFunctionArgs = { Text = "NPC_Icarus_01", Icon = "Keepsake_Icarus" }, Text = "Vậy thì hãy sử dụng nó bất cứ khi nào anh thấy thích hợp, có lẽ là vào một đêm đặc biệt nào đó. Và hãy trân trọng nó như một vật duy nhất." }, EndVoiceLines = { { PreLineWait = 0.38, ObjectTypes = { "NPC_Icarus_01" }, { Cue = "/VO/Icarus_0257", Text = "Cảm ơn... cảm ơn cô rất nhiều..." }, } }, }, IcarusBathHouse01 = { PauseMusicPlayerMusic = true, PlayOnce = true, OnGiftTrack = true, UnfilledIcon = "EmptyHeartWithSaltsIcon", FilledIcon = "FilledHeartWithSaltsIcon", UseableOffSource = true, GiftableOffSource = true, DoNotFlipContextArt = true, HintId = "Codex_HotSpringsGiftHint", LockedHintId = "Codex_LockedActivityHint", GameStateRequirements = { { PathTrue = { "CurrentRun", "Hero", "IsDead" } }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeBathHouse" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift03" }, }, { Path = { "GameState", "UseRecord", "AphroditeUpgrade" }, Comparison = ">=", Value = 5, }, { PathFalse = { "CurrentRun", "TimePassageOccurred" }, HintId = "Codex_TimePassesGiftUsed", }, NamedRequirements = { "IcarusUnlockedInHub" }, }, Cost = { GiftPointsRare = 1, }, EndWait = 0.5, { Cue = "/VO/Melinoe_4533", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Nhân tiện thì, anh đã thấy bọn ta cải tạo suối nước nóng ra sao chưa? Đó là một nơi tuyệt vời để xua tan những nỗi đau còn vương vấn, nếu anh muốn đến đó." }, { Cue = "/VO/Icarus_0187", PortraitExitAnimation = "Portrait_Icarus_Default_01_Exit", PostLineRemoveContextArt = true, Text = "Đi cùng cô sao? Ngay bây giờ ư? Được thôi! Nhưng đừng mong đợi nước suối tốt cho làn da của ta nhé!" }, { Cue = "/VO/Icarus_0192", PreLineWait = 0.35, PreLineFunctionName = "BathHouseStartPresentation", NarrativeContextArt = "DialogueBackground_Bathhouse", Portrait = "Portrait_Icarus_Bath_01", PortraitExitAnimation = "Portrait_Icarus_Bath_01_Exit", Text = "...Thật buồn cười khi cuộc sống lại vượt ngoài sức tưởng tượng. Khi ta còn sống, ta chưa từng tưởng tượng đến những điều như thế này." }, { Cue = "/VO/Melinoe_4535", UsePlayerSource = true, Portrait = "Portrait_Mel_Bath_01", PortraitExitAnimation = "Portrait_Mel_Bath_01_Exit", PreLineWait = 0.5, Text = "Đây chỉ là suối nước nóng thôi, Icarus. Nó được thanh lọc và được yểm phép thuật mạnh, nhưng vẫn chỉ là suối nước nóng. Anh đã từng bay ngang hạm đội xác sống rồi, thì chuyện này có gì lạ chứ?" }, { Cue = "/VO/Icarus_0193", Portrait = "Portrait_Icarus_Bath_01", PortraitExitAnimation = "Portrait_Icarus_Bath_01_Exit", Text = "{#Emph}Heh. {#Prev}Điều quan trọng nhất là ta đang ở đây cùng cô. Cô thật xinh đẹp, Meli. Mà cũng không cần đến các Shade bọn ta phải nói ra điều đó! Chắc hẳn Aphrodite đã nói với cô điều đó rồi nhỉ?" }, { Cue = "/VO/Melinoe_4536", UsePlayerSource = true, Portrait = "Portrait_Mel_Bath_01", PortraitExitAnimation = "Portrait_Mel_Bath_01_Exit", Text = "Thôi nào, Aphrodite luôn đứng về phía ta. Nếu cô ấy ghen tị với ta, thì có lẽ cô ấy đã không hào phóng ban tặng tất cả những phước lành tốt nhất của mình cho ta." }, { Cue = "/VO/Icarus_0194", Portrait = "Portrait_Icarus_Bath_01", PortraitExitAnimation = "Portrait_Icarus_Bath_01_Exit", Text = "Ý ta không phải thế. Người phàm bọn ta... luôn mang trong mình một kiểu tự ti nào đó. Thể xác thì quá yếu đuối, dễ bị tổn thương, và đôi khi còn xấu xí nữa... nhưng thần thánh thì không." }, { Cue = "/VO/Melinoe_4537", UsePlayerSource = true, Portrait = "Portrait_Mel_Bath_01", PortraitExitAnimation = "Portrait_Mel_Bath_01_Exit", Text = "Ta không thấy có gì đáng xấu hổ cả. Ta đã từng quen biết nhiều Shade như anh và Odysseus... anh gần giống với những vị thần hơn anh nghĩ đấy." }, { Cue = "/VO/Icarus_0195", Portrait = "Portrait_Icarus_Bath_01", PortraitExitAnimation = "Portrait_Icarus_Bath_01_Exit", PostLineFunctionName = "BathHouseQuipPresentation", PostLineThreadedFunctionName = "TimePassesPresentation", PostLineThreadedFunctionArgs = { TimeTicks = 12, GlobalVoiceLines = "HotSpringsBathVoiceLines" }, EndSound = "/Leftovers/Menu Sounds/EmoteThoughtful", PostLineRemoveContextArt = true, Text = "{#Emph}Hah{#Prev}, chà, cô thật tử tế làm sao. Và cô đã nói đúng về những gánh nặng của ta, cũng như nơi này nữa! Ta thực sự rất vui vì chúng ta đã đến đây." }, { Cue = "/VO/Icarus_0196", PreLineFunctionName = "BathHouseEndPresentation", PreLineWait = 0.2, PostLineThreadedFunctionName = "InCombatTextEvent", PostLineThreadedFunctionArgs = GameData.PostBathHouseArgs, Emote = "PortraitEmoteSparkly", Text = "...Ta chỉ mong khoảnh khắc đó kéo dài thêm chút nữa. Dù sao thì nó cũng rất tuyệt. Cảm ơn cô đã đi cùng ta." }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_4539", Text = "...Một khoảnh khắc đẹp." }, }, }, }, IcarusBathHouse02 = { PauseMusicPlayerMusic = true, PlayOnce = true, OnGiftTrack = true, UnfilledIcon = "EmptyHeartWithSaltsIcon", FilledIcon = "FilledHeartWithSaltsIcon", UseableOffSource = true, GiftableOffSource = true, DoNotFlipContextArt = true, HintId = "Codex_HotSpringsGiftHint", LockedHintId = "Codex_LockedActivityHint", GameStateRequirements = { { PathTrue = { "CurrentRun", "Hero", "IsDead" }, }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeBathHouse" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusGift06", "IcarusBathHouse01", "IcarusAboutMelinoe01" }, }, { PathFalse = { "CurrentRun", "TimePassageOccurred" }, HintId = "Codex_TimePassesGiftUsed", }, NamedRequirements = { "IcarusUnlockedInHub" }, }, Cost = { GiftPointsRare = 1, }, EndWait = 0.5, { Cue = "/VO/Melinoe_4540", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta rất thích đi suối nước nóng cùng anh, và nghĩ rằng anh cũng muốn đi thêm lần nữa trong thời gian tới. Thậm chí là... ngay lúc này chăng?" }, { Cue = "/VO/Icarus_0197", PostLineRemoveContextArt = true, Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PortraitExitAnimation = "Portrait_Icarus_Pleased_01_Exit", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "{#Emph}Oh! {#Prev}Ừm, đôi cánh này, chúng cần được bảo dưỡng, nhưng... ta đang nói gì vậy nhỉ. Có thể để sau được mà. Chúng ta đi ngay chứ?" }, { Cue = "/VO/Melinoe_4541", UsePlayerSource = true, PreLineWait = 0.35, PreLineFunctionName = "BathHouseStartPresentation", NarrativeContextArt = "DialogueBackground_Bathhouse", Portrait = "Portrait_Mel_Bath_01", PortraitExitAnimation = "Portrait_Mel_Bath_01_Exit", Text = "Anh có vẻ khá im lặng, Icarus. Anh đang nghĩ gì vậy? Ngoài việc bảo dưỡng đôi cánh tuyệt đẹp mà anh đã tạo ra." }, { Cue = "/VO/Icarus_0198", PreLineWait = 0.5, Portrait = "Portrait_Icarus_Bath_01", PortraitExitAnimation = "Portrait_Icarus_Bath_01_Exit", Text = "{#Emph}Heh{#Prev}, chỉ là... hầu hết những buổi tối của ta đều chẳng dễ chịu gì. Ta muốn kéo dài khoảnh khắc này, và bảo dưỡng đôi cánh chết tiệt kia nữa! Nếu chúng thực sự tuyệt vời, thì đã chẳng dễ hỏng như vậy." }, { Cue = "/VO/Melinoe_4542", UsePlayerSource = true, Portrait = "Portrait_Mel_Bath_01", PortraitExitAnimation = "Portrait_Mel_Bath_01_Exit", Text = "Ta nghĩ những thứ đẹp đẽ thường rất mỏng manh. Mặc dù đôi cánh của anh bền chắc hơn anh nghĩ! Anh đã giải quyết vấn đề từng khiến đôi cánh của Daedalus thất bại." }, { Cue = "/VO/Icarus_0199", Portrait = "Portrait_Icarus_Bath_01", PortraitExitAnimation = "Portrait_Icarus_Bath_01_Exit", Text = "Thất bại đó là do ta. Đôi cánh do cha ta tạo ra chỉ từ lông vũ và sáp ong, bởi đó là tất cả những gì ông ấy có. Sáp cần phải giữ mát, nhưng ta lại bay quá gần mặt trời. Nghĩ lại thì, đáng lẽ ta nên bay vào ban đêm..." }, { Cue = "/VO/Melinoe_4543", UsePlayerSource = true, Portrait = "Portrait_Mel_Bath_01", PortraitExitAnimation = "Portrait_Mel_Bath_01_Exit", Text = "Có lẽ lúc đó anh không đủ nhận thức để nhận ra, vì hai người đang là tù binh. Vậy chuyện gì đã xảy ra? Đôi cánh đã tan chảy ư?" }, { Cue = "/VO/Icarus_0200", Portrait = "Portrait_Icarus_Bath_01", PortraitExitAnimation = "Portrait_Icarus_Bath_01_Exit", PostLineFunctionName = "BathHouseQuipPresentation", PostLineThreadedFunctionName = "TimePassesPresentation", PostLineThreadedFunctionArgs = { TimeTicks = 12, GlobalVoiceLines = "HotSpringsBathVoiceLines" }, EndSound = "/Leftovers/Menu Sounds/EmoteThoughtful", PostLineRemoveContextArt = true, Text = "Đúng vậy. Cảm giác đó thật phấn khích, khiến ta quên mất giới hạn của nó, và thế là ta rơi xuống. Còn đôi cánh này được chế tạo phỏng theo xương chim, nên bền chắc hơn nhiều. Nhưng thôi, đừng nhắc về quá khứ nữa, ta thích hiện tại hơn." }, { Cue = "/VO/Icarus_0201", PreLineFunctionName = "BathHouseEndPresentation", PreLineWait = 0.2, PostLineThreadedFunctionName = "InCombatTextEvent", PostLineThreadedFunctionArgs = GameData.PostBathHouseArgs, Emote = "PortraitEmoteSparkly", Text = "{#Emph}...Phù! {#Prev}Người ta nói rằng người chết hãy yên nghỉ, nhưng đã lâu lắm rồi ta mới được nghỉ ngơi như thế này. Chúc sức khỏe nhé?" }, EndVoiceLines = { { PreLineWait = 0.25, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_4545", Text = "Chúc sức khỏe!" }, }, }, }, IcarusBathHouseDecline01 = { PlayOnce = true, SkipGiftPresentationPost = true, Cost = { GiftPointsRare = 1, }, GameStateRequirements = { { PathTrue = { "CurrentRun", "Hero", "IsDead" }, }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeBathHouse" }, }, { PathFalse = { "CurrentRun", "TimePassageOccurred" }, HintId = "Codex_TimePassesGiftUsed", }, }, { Cue = "/VO/Melinoe_4555", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Này, nếu anh không bận thì có thể cùng ta đến suối nước nóng một chút, được không?" }, { Cue = "/VO/Icarus_0241", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", PostLineThreadedFunctionName = "GiftPointRareRefundPresentation", Text = "Cô không thể tưởng tượng được ta muốn đi đến mức nào đâu, nhưng hiện tại ta thực sự không thể... Ta đã nói với Thầy Odysseus rằng ta sắp lên đường rồi." }, }, -- fishing IcarusFishing01 = { PauseMusicPlayerMusic = true, PlayOnce = true, OnGiftTrack = true, SkipContextArt = true, UseableOffSource = true, GiftableOffSource = true, UnfilledIcon = "EmptyHeartWithLuresIcon", FilledIcon = "FilledHeartWithLuresIcon", HintId = "Codex_FishingGiftHint", LockedHintId = "Codex_LockedActivityHint", Cost = { GiftPointsEpic = 1, }, GameStateRequirements = { { PathTrue = { "CurrentRun", "Hero", "IsDead" }, }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeFishingPoint" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift04" }, }, { PathFalse = { "CurrentRun", "TimePassageOccurred" }, HintId = "Codex_TimePassesGiftUsed", }, NamedRequirements = { "IcarusUnlockedInHub" }, }, { Cue = "/VO/Melinoe_4546", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Này, nếu anh chưa cần đi gấp, sao không cùng ta đến bến câu cá nhỉ? Ở đó khá yên tĩnh và dễ chịu đấy." }, { Cue = "/VO/Icarus_0202", PostLineRemoveContextArt = true, PortraitExitAnimation = "Portrait_Icarus_Default_01_Exit", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ồ, được chứ! Nhưng ta phải nói trước rằng ta chưa từng học câu cá bao giờ, nên chắc chắn sẽ không giỏi trong việc đó đâu." }, { Cue = "/VO/Icarus_0203", PreLineWait = 0.35, SkipContextArt = true, PreLineFunctionName = "FishingPierStartPresentation", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "...Ở nơi ta sống, cá là nguồn thực phẩm chính. Kỳ lạ thay, ta... ta chưa từng nghĩ rằng chúng là những sinh vật sống, giống như ta. Ừm, không hẳn là giống hệt ta, nhưng cô hiểu ý ta mà. Lúc đó ta chỉ là đứa trẻ thôi! Ta có biết gì đâu." }, { Cue = "/VO/Melinoe_4547", UsePlayerSource = true, SkipContextArt = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", Text = "Tất cả những gì loài người ăn đều là sinh vật sống, hoặc đã từng. Ta mừng vì ta không cần ăn... Ta cảm thấy ghê tởm với việc hấp thụ sự sống khác để kéo dài sự tồn tại của bản thân, thật khó chấp nhận." }, { Cue = "/VO/Icarus_0204", SkipContextArt = true, PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Loài người bọn ta đều phải làm những việc khó khăn. Đó là một trong những khác biệt giữa bọn ta và những vị thần các cô, và cuộc đời của bọn ta rất ngắn ngủi. Bọn ta đâu còn lựa chọn nào khác ngoài việc cố gắng sinh tồn?" }, { Cue = "/VO/Melinoe_4548", UsePlayerSource = true, SkipContextArt = true, PreLineAnim = "MelTalkPensive01ReturnToIdle", PreLineAnimTarget = "Hero", Text = "Có lẽ chẳng còn lựa chọn nào khác. Rất nhiều thứ trong tự nhiên cũng phải đấu tranh để tồn tại, từ bông hoa khao khát ánh sáng mặt trời, đến anh, loay hoay nghĩ cách để nhờ ta chỉ dạy cách câu cá." }, { Cue = "/VO/Icarus_0205", SkipContextArt = true, PortraitExitAnimation = "Portrait_Icarus_Default_01_Exit", Text = "{#Emph}Haha. {#Prev}À, ít nhất thì ta biết cần phải giữ im lặng... Sao cô không làm mẫu trước đi, để ta có thể quan sát một cách cẩn thận?", PostLineFunctionName = "GiftActivityFishing", PostLineFunctionArgs = { FishingPointId = 585640 }, PostLineThreadedFunctionName = "TimePassesPresentation", PostLineThreadedFunctionArgs = { TimeTicks = 16, IncludeFishingSFX = true }, }, { Cue = "/VO/Icarus_0206", PreLineFunctionName = "FishingPierEndPresentation", PostLineFunctionName = "ResourceGiftedInEventPresentation", PostLineFunctionArgs = { ResourceName = "FishFRare", SoundName = "/Leftovers/SFX/BigFishSplash", GiftWaitTime = 0 }, PostLineThreadedFunctionName = "InCombatTextEvent", PostLineThreadedFunctionArgs = GameData.PostFishingArgs, Text = "Cô biết đấy, ta thực sự thích chuyến đi đó, ngay cả những lúc chờ đợi trong im lặng cũng vậy. Cảm ơn vì đã mời ta đi cùng." }, EndVoiceLines = { { PreLineWait = 0.34, UsePlayerSource = true, RequiredMinElapsedTime = 2, { Cue = "/VO/Melinoe_0768", Text = "Không cần khách sáo." }, }, }, }, IcarusFishingDecline01 = { PlayOnce = true, SkipGiftPresentationPost = true, Cost = { GiftPointsEpic = 1, }, GameStateRequirements = { { PathTrue = { "CurrentRun", "Hero", "IsDead" }, }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeFishingPoint" }, }, { PathFalse = { "CurrentRun", "TimePassageOccurred" }, HintId = "Codex_TimePassesGiftUsed", }, }, { Cue = "/VO/Melinoe_4556", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Nếu anh không phiền thì có thể đến bến câu cá với ta lần nữa không?" }, { Cue = "/VO/Icarus_0242", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", PreLineWait = 0.35, PostLineThreadedFunctionName = "GiftPointEpicRefundPresentation", Text = "Dù ta rất muốn, nhưng đêm nay ta không thể nán lại lâu hơn được. Để lần khác nhé?" }, }, -- taverna IcarusTaverna01 = { PlayOnce = true, UseableOffSource = true, OnGiftTrack = true, LockedHintId = "Codex_IcarusUnlockHint01", UnfilledIcon = "EmptyHeartWithAmbrosiaIcon", FilledIcon = "FilledHeartWithAmbrosiaIcon", HintId = "Codex_TavernaGiftHint", Cost = { SuperGiftPoints = 1, }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusBathHouse01", "IcarusGift05", "IcarusAboutDaedalus02" }, }, { PathTrue = { "CurrentRun", "Hero", "IsDead" }, }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeTaverna" }, }, { PathFalse = { "CurrentRun", "TimePassageOccurred" }, HintId = "Codex_TimePassesGiftUsed", }, NamedRequirements = { "IcarusUnlockedInHub" }, }, { Cue = "/VO/Melinoe_4549", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Này, Icarus, anh đã bao giờ nếm thử Ambrosia chưa? Nếu chưa thì anh sắp được nếm thử rồi đấy. Tất nhiên là còn tùy vào hứng thú và thời gian của anh." }, { Cue = "/VO/Icarus_0235", PostLineRemoveContextArt = true, PortraitExitAnimation = "Portrait_Icarus_Default_01_Exit", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Nói thật thì chưa, ta chưa từng nếm thử Ambrosia, và trước khi cô hỏi thì ta cũng chưa hề có ý định đó. Cô có chắc là sẽ ổn chứ...?" }, { Cue = "/VO/Icarus_0236", SkipContextArt = true, PreLineFunctionName = "TavernaStartPresentation", PreLineWait = 0.35, PreLineAnim = "Icarus_Pensive_Start", Text = "...Những Shade khác đang nhìn chúng ta đấy, Meli. Họ rất ngưỡng mộ cô, và có lẽ sẽ mong ta chết đi... nếu ta vẫn còn sống." }, { Cue = "/VO/Melinoe_4550", UsePlayerSource = true, SkipContextArt = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ồ, đừng lo. Nếu có bất kỳ Shade nào đố kỵ quá mức, thì thứ duy nhất họ nhận lại là ánh nhìn phán xét của Nemesis. Với lại, họ có gì mà phải bận tâm chứ? Ta gặp họ nhiều hơn anh đấy." }, { Cue = "/VO/Icarus_0237", SkipContextArt = true, PreLineAnim = "Icarus_Pensive_End", Text = "Thật ra thì... loài người bọn ta rất dễ ghen tị. Nhất là khi thấy người mà mình quan tâm đang ở bên người khác. Khó mà giải thích được, nhưng ta nghĩ tất cả đều bắt nguồn từ bản năng, khi biết rằng thời gian của bọn ta ngắn ngủi đến nhường nào." }, { Cue = "/VO/Melinoe_4551", UsePlayerSource = true, SkipContextArt = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Nhưng giờ thì mọi người đều có sự vĩnh hằng, và tất cả đều đang ở đây rồi. Miễn là Chronos vẫn chưa hủy hoại mọi thứ đến mức không thể cứu vãn. Dẫu vậy, ta đoán rằng ngay cả những vị thần bọn ta cũng mang những cảm xúc đó." }, { Cue = "/VO/Icarus_0238", SkipContextArt = true, PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Thật ư? Thôi nào, thử kể ra một điều từng khiến cô ghen tị đi, Meli. Cô có vẻ rất thỏa mãn với cuộc sống hiện tại, và với tất cả những gì mình có... Ta chưa từng thấy cô khao khát thứ gì đó không thuộc về cô." }, { Cue = "/VO/Melinoe_4552", UsePlayerSource = true, SkipContextArt = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Vậy là do anh chưa để ý đấy thôi. Đầu tiên, ta rất ghen tị với Nữ Chúa. Ta sẽ không bao giờ bằng một nửa bà ấy, cũng chẳng bao giờ trông thanh lịch như bà ấy khi đội mũ." }, { Cue = "/VO/Icarus_0239", SkipContextArt = true, PreLineWait = 0.35, PortraitExitAnimation = "Portrait_Icarus_Default_01_Exit", PostLineThreadedFunctionName = "LoungeRevelryPresentation", PostLineFunctionArgs = { Sound2 = "/EmptyCue", Sound3 = "/EmptyCue", TimeTicks = 20 }, Text = "Thôi được rồi, ta nhận sai! Vậy hóa ra cô ghen tị với cái mũ của Phù Thủy Crossroad. Giờ thì chúng ta có thể thưởng thức thứ này được chưa? Cũng có thể để dành một ít cho các Shade khác mà!" }, { Cue = "/VO/Icarus_0240", PreLineFunctionName = "TavernaEndPresentation", PreLineWait = 0.35, PostLineThreadedFunctionName = "InCombatTextEvent", PostLineThreadedFunctionArgs = GameData.PostTavernaArgs, Emote = "PortraitEmoteSparkly", Text = "...Wow. Ta chưa từng được nếm thử thứ gì như thế trong đời. Kể cả sau khi đã chết. Những vị thần thường xuyên uống thứ này ư...?" }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, { Cue = "/VO/Melinoe_4554", Text = "Vài người trong số họ thôi!" }, }, }, }, IcarusTavernaDecline01 = { PlayOnce = true, SkipGiftPresentationPost = true, Cost = { SuperGiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "CurrentRun", "Hero", "IsDead" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusTaverna01" }, }, { PathFalse = { "CurrentRun", "TimePassageOccurred" }, HintId = "Codex_TimePassesGiftUsed", }, }, { Cue = "/VO/Melinoe_4557", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", Text = "Ta vẫn còn một chai Ambrosia, chúng ta có thể uống cùng nhau ở quán rượu, nếu anh muốn." }, { Cue = "/VO/Icarus_0243", PreLineWait = 0.35, PostLineThreadedFunctionName = "SuperGiftPointRefundPresentation", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Ta thực sự rất muốn, nhưng... bọn ta vừa nhận được thông tin về một hạm đội mới xuất hiện ở Rãnh Nứt, và tốt nhất là ta nên ghé thăm chúng trước." }, }, IcarusFieldGiftDecline01 = { PlayOnce = true, SkipGiftPresentationPost = true, Cost = { SuperGiftPoints = 1, }, GameStateRequirements = { { PathFalse = { "CurrentRun", "Hero", "IsDead" }, }, { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusBathHouse02", "IcarusTaverna01", "IcarusFishing01", "IcarusGift06" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAny = { "IcarusAboutFlying02", "IcarusAboutFlying02_B" }, }, { PathFalse = { "CurrentRun", "TimePassageOccurred" }, HintId = "Codex_TimePassesGiftUsed", }, }, { Cue = "/VO/Icarus_0394", PreLineWait = 0.35, PostLineThreadedFunctionName = "SuperGiftPointRefundPresentation", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Hãy thử lại lúc khác ở Crossroads nhé? Ở đây khó mà tập trung được, nào là tàu đắm, rồi đám thủy thủ xác sống..." }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, { Cue = "/VO/MelinoeField_3638", Text = "Ta hiểu rồi." }, }, }, }, }, MissingDistanceTrigger = { WithinDistance = 500, VoiceLines = { { BreakIfPlayed = true, RandomRemaining = true, UsePlayerSource = true, SuccessiveChanceToPlayAll = 0.1, PlayOnceFromTableThisRun = true, GameStateRequirements = { { Path = { "PreviousDeathAreaRoom", "Name" }, IsNone = { "Hub_PreRun" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" } }, { PathFalse = { "CurrentRun", "UsedStoryReset" }, }, }, Cooldowns = { { Name = "MelinoeAnyQuipSpeech" }, }, { Cue = "/VO/Melinoe_5161", Text = "Icarus bay đi rồi..." }, { Cue = "/VO/Melinoe_5162", Text = "Đêm nay không thấy Icarus...", PlayFirst = true }, { Cue = "/VO/Melinoe_5163", Text = "{#Emph}Oh{#Prev}, where's Icarus...?", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { SumPrevRuns = 8, Path = { "SpeechRecord", "/VO/Melinoe_5163" }, CountPathTrue = true, Comparison = "<=", Value = 0, }, }, }, }, }, }, GiftGivenVoiceLines = { BreakIfPlayed = true, PreLineWait = 1.0, PlayFromTarget = true, { Cue = "/VO/Melinoe_3265", Text = "Đây là một trong những phát minh của anh phải không! Thật tuyệt vời! Cảm ơn...!" }, }, UpgradeMenuOpenVoiceLines = { { BreakIfPlayed = true, PreLineWait = 0.75, SkipAnim = true, UsePlayerSource = true, AllowTalkOverTextLines = true, GameStateRequirements = { { PathTrue = { "CurrentRun", "TextLinesRecord", "IcarusPostTrueEnding02" }, }, }, { Cue = "/VO/MelinoeField_4058", Text = "Từng đêm một thôi..." }, }, { BreakIfPlayed = true, RandomRemaining = true, SuccessiveChanceToPlay = 0.5, SuccessiveChanceToPlayAll = 0.5, PreLineWait = 0.85, SkipAnim = true, Source = { LineHistoryName = "NPC_Icarus_01", SubtitleColor = Color.IcarusVoice }, AllowTalkOverTextLines = true, GameStateRequirements = { { Path = { "CurrentRun", "TextLinesRecord" }, HasNone = { "IcarusPostTrueEnding01", "IcarusPostTrueEnding01_B", "IcarusAboutFlying02", "IcarusAboutFlying02_B" }, }, }, { Cue = "/VO/Icarus_0285", Text = "Đây là những gì ta có...", PlayFirst = true }, { Cue = "/VO/Icarus_0284", Text = "Hãy đưa ra lựa chọn của cô đi." }, { Cue = "/VO/Icarus_0286", Text = "Tác phẩm mới nhất của ta..." }, { Cue = "/VO/Icarus_0287", Text = "Hãy chọn một trong số chúng." }, { Cue = "/VO/Icarus_0288", Text = "Những thứ này sẽ hữu ích." }, { Cue = "/VO/Icarus_0289", Text = "Lựa chọn của cô là gì..." }, }, { GlobalVoiceLines = "FoundRareBoonVoiceLines" }, }, OnHitVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.25, ChanceToPlay = 0.5, SkipCooldownCheckIfNonePlayed = true, GameStateRequirements = { { PathFromArgs = true, Path = { "SourceProjectile", }, IsNone = { "FrogFamiliarLand", "CatFamiliarPounce", "RavenFamiliarMelee" }, }, }, Cooldowns = { { Name = "IcarusGotHitRecently", Time = 6 }, { Name = "IcarusAnyQuipSpeech", Time = 10 }, }, { Cue = "/VO/Icarus_0279", Text = "Ta đã chết rồi. Rất tiếc.", PlayFirst = true }, { Cue = "/VO/Icarus_0278", Text = "Thôi nào, Meli." }, { Cue = "/VO/Icarus_0282", Text = "Trượt rồi nhé...!" }, { Cue = "/VO/Icarus_0283", Text = "Ta cũng tức giận lắm." }, { Cue = "/VO/Icarus_0280", Text = "Chẳng đau chút nào." }, { Cue = "/VO/Icarus_0281", Text = "{#Emph}Chẳng đau chút nào...!", GameStateRequirements = { { PathTrue = { "GameState", "SpeechRecord", "/VO/Icarus_0280" }, }, }, }, }, EncounterStartVoiceLines = { { RandomRemaining = true, PreLineWait = 1.15, Source = { LineHistoryName = "NPC_Icarus_01", SubtitleColor = Color.IcarusVoice }, Cooldowns = { { Name = "IcarusAnyQuipSpeech", Time = 10 }, }, { Cue = "/VO/Icarus_0040", Text = "Cô có phiền không nếu ta lao vào đây?" }, { Cue = "/VO/Icarus_0041", Text = "Coi chừng!" }, { Cue = "/VO/Icarus_0042", Text = "Cẩn thận, Meli!" }, { Cue = "/VO/Icarus_0043", Text = "Này, có chuyện gì vậy?" }, { Cue = "/VO/Icarus_0044", Text = "Trời sập!" }, { Cue = "/VO/Icarus_0045", Text = "Ta đã nghĩ rằng ta nên ghé qua!" }, { Cue = "/VO/Icarus_0046", Text = "Tránh xa cô ấy ra!" }, { Cue = "/VO/Icarus_0047", Text = "Có quà cho các ngươi đây!" }, { Cue = "/VO/Icarus_0048", Text = "Tiến lên, ta sẽ yểm trợ cô!" }, { Cue = "/VO/Icarus_0093", Text = "Ta sẽ yểm trợ cô, Meli!" }, { Cue = "/VO/Icarus_0094", Text = "Buổi tối thế nào rồi?" }, { Cue = "/VO/Icarus_0095", Text = "Gom chúng lại cho ta nhé?" }, { Cue = "/VO/Icarus_0096", Text = "Bắt đầu tiến công.", PlayFirst = true }, { Cue = "/VO/Icarus_0097", Text = "Tấn công!" }, { Cue = "/VO/Icarus_0542", Text = "Ta thấy bọn chúng rồi, cố gắng lên!" }, { Cue = "/VO/Icarus_0543", Text = "Khiến chúng bận rộn giúp ta nhé?" }, { Cue = "/VO/Icarus_0544", Text = "Cô cần hỗ trợ không?" }, { Cue = "/VO/Icarus_0545", Text = "Ta sẽ yểm trợ cho cô, Meli!" }, { Cue = "/VO/Icarus_0546", Text = "Bom đã sẵn sàng để thả." }, { Cue = "/VO/Icarus_0547", Text = "Ta tưởng đó là cô, cố lên!" }, { Cue = "/VO/Icarus_0540", Text = "Ta đến ngay đây!" }, { Cue = "/VO/Icarus_0536", Text = "Đã phát hiện mục tiêu!" }, { Cue = "/VO/Icarus_0491", Text = "Đã lâu không gặp!", PlayFirst = true, GameStateRequirements = { { SumPrevRuns = 4, IgnoreCurrentRun = true, Path = { "EncountersOccurredCache" }, TableValuesToCount = { "IcarusCombatO", "IcarusCombatO2", "IcarusCombatP", "IcarusCombatP2" }, Comparison = "<=", Value = 0, }, }, }, { Cue = "/VO/Icarus_0492", Text = "Ta nhớ cô lắm, Meli!", GameStateRequirements = { { SumPrevRuns = 4, IgnoreCurrentRun = true, Path = { "EncountersOccurredCache" }, TableValuesToCount = { "IcarusCombatO", "IcarusCombatO2", "IcarusCombatP", "IcarusCombatP2" }, Comparison = "<=", Value = 0, }, } }, { Cue = "/VO/Icarus_0548", Text = "{#Emph}Ooh{#Prev}, trên này lạnh thật!", GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "P" }, }, } }, { Cue = "/VO/Icarus_0549", Text = "Ta ghét bay qua vùng có tuyết!", PlayFirst = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "P" }, }, } }, }, { PlayOnce = true, PlayOnceContext = "IcarusIntroReactionVO", UsePlayerSource = true, PreLineWait = 1.3, { Cue = "/VO/MelinoeField_1932", Text = "Cái gì? {#Emph}Icarus...?" }, { Cue = "/VO/MelinoeField_1933", Text = "Anh đang làm gì ở đây vậy?!", PreLineWait = 0.7, BreakIfPlayed = true }, }, { UsePlayerSource = true, RandomRemaining = true, PreLineWait = 0.15, SuccessiveChanceToPlay = 0.75, Cooldowns = { { Name = "MelinoeAnyQuipSpeech" }, }, { Cue = "/VO/MelinoeField_2213", Text = "Icarus!", PlayFirst = true }, { Cue = "/VO/MelinoeField_2211", Text = "Icarus...!" }, { Cue = "/VO/MelinoeField_2212", Text = "Anh ta đã trở lại...!" }, { Cue = "/VO/MelinoeField_2214", Text = "Chào!" }, { Cue = "/VO/MelinoeField_2215", Text = "Ta thấy anh rồi!" }, { Cue = "/VO/MelinoeField_2223", Text = "Ở đây, Icarus!" }, { Cue = "/VO/MelinoeField_2224", Text = "Ở đây này!" }, { Cue = "/VO/MelinoeField_2216", Text = "Không nhiều lắm, còn anh thì sao?", PlayOnce = true, GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Icarus_0043" }, }, }, }, { Cue = "/VO/MelinoeField_2217", Text = "Rất vui được gặp anh!", PlayOnce = true, GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Icarus_0045" }, }, }, }, { Cue = "/VO/MelinoeField_2218", Text = "Cho ta sao?", PlayOnce = true, GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Icarus_0047" }, }, }, }, { Cue = "/VO/MelinoeField_2219", Text = "Tiến lên nào!", PlayOnce = true, GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Icarus_0048", "/VO/Icarus_0093" }, }, }, }, { Cue = "/VO/MelinoeField_2220", Text = "Chúng ta có thể xử lý được!", PlayOnce = true, GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Icarus_0097", "/VO/Icarus_0095" }, }, }, }, }, }, EncounterEndVoiceLines = { { RandomRemaining = true, PreLineWait = 0.65, { Cue = "/VO/Icarus_0049", Text = "Hello...!" }, { Cue = "/VO/Icarus_0050", Text = "Chào buổi tối...!", PlayFirst = true }, { Cue = "/VO/Icarus_0051", Text = "Chào, Meli!" }, { Cue = "/VO/Icarus_0052", Text = "{#Emph}Vàààà{#Prev}, xong." }, { Cue = "/VO/Icarus_0120", Text = "Có này cho cô đây...!" }, { Cue = "/VO/Icarus_0121", Text = "Thế này thì sao?" }, { Cue = "/VO/Icarus_0122", Text = "Cô ổn chứ...?" }, { Cue = "/VO/Icarus_0123", Text = "Có gì mới?" }, { Cue = "/VO/Icarus_0124", Text = "Cô đã làm được..." }, { Cue = "/VO/Icarus_0125", Text = "Biển động...", GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "O" }, }, }, }, { Cue = "/VO/Icarus_0126", Text = "Xin lỗi đã làm phiền..." }, { Cue = "/VO/Icarus_0127", Text = "Xấu tính quá..." }, { Cue = "/VO/Icarus_0128", Text = "Đêm tốt lành...!" }, { Cue = "/VO/Icarus_0129", Text = "Thật tuyệt vời." }, { Cue = "/VO/Icarus_0130", Text = "Cũng không tệ..." }, { Cue = "/VO/Icarus_0520", Text = "Giải quyết chúng nhé." }, { Cue = "/VO/Icarus_0521", Text = "Không thành vấn đề." }, { Cue = "/VO/Icarus_0522", Text = "Một nơi tuyệt vời." }, { Cue = "/VO/Icarus_0523", Text = "Cuối cùng cũng được yên thân.", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift09" }, }, }, }, }, { PreLineWait = 0.1, RandomRemaining = true, SuccessiveChanceToPlay = 0.75, UsePlayerSource = true, GameStateRequirements = { { FunctionName = "RequiredHealthFraction", FunctionArgs = { Comparison = ">=", Value = 0.2, }, }, }, Cooldowns = { -- { Name = "MelinoeAnyQuipSpeech", Time = 60 }, }, { Cue = "/VO/MelinoeField_2229", Text = "Chào..." }, { Cue = "/VO/MelinoeField_2230", Text = "Chào." }, { Cue = "/VO/MelinoeField_2231", Text = "Chào..." }, { Cue = "/VO/MelinoeField_2232", Text = "Làm tốt lắm." }, { Cue = "/VO/MelinoeField_2233", Text = "Làm tốt lắm." }, { Cue = "/VO/MelinoeField_2234", Text = "Chúng ta đã làm được." }, }, }, ExitVoiceLines = { { RandomRemaining = true, SuccessiveChanceToPlay = 0.75, PreLineWait = 0.75, Queue = "Always", ObjectType = "NPC_Icarus_01", { Cue = "/VO/Icarus_0057", Text = "Tạm biệt...!", PlayFirst = true }, { Cue = "/VO/Icarus_0058", Text = "Hẹn gặp lại!" }, { Cue = "/VO/Icarus_0112", Text = "Rất vui được gặp cô...!" }, { Cue = "/VO/Icarus_0113", Text = "Bảo trọng...!" }, { Cue = "/VO/Icarus_0114", Text = "Được rồi, ta đi đây...!" }, { Cue = "/VO/Icarus_0115", Text = "Ta sẽ liên lạc sau...!" }, { Cue = "/VO/Icarus_0116", Text = "Chào buổi tối...!" }, { Cue = "/VO/Icarus_0117", Text = "Hẹn gặp lại...!" }, { Cue = "/VO/Icarus_0118", Text = "Hẹn gặp lại..." }, { Cue = "/VO/Icarus_0119", Text = "Ta phải đi đây..." }, { Cue = "/VO/Icarus_0528", Text = "Hẹn gặp lại, Meli!", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" } }, }, }, { Cue = "/VO/Icarus_0529", Text = "Bảo trọng nhé!", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" } }, }, }, }, { PreLineWait = 0.2, RandomRemaining = true, SuccessiveChanceToPlay = 0.75, UsePlayerSource = true, Cooldowns = { -- { Name = "MelinoeAnyQuipSpeech", Time = 60 }, }, { Cue = "/VO/MelinoeField_2235", Text = "Tạm biệt..." }, { Cue = "/VO/MelinoeField_2237", Text = "Anh ta đi rồi." }, { Cue = "/VO/MelinoeField_2238", Text = "Bảo trọng nhé..." }, { Cue = "/VO/MelinoeField_2239", Text = "Hẹn gặp lại..." }, { Cue = "/VO/MelinoeField_2240", Text = "{#Emph}" }, { Cue = "/VO/MelinoeField_2590", Text = "Cứ thế phát huy nhé...!" }, { Cue = "/VO/MelinoeField_2236", Text = "Được...", PlayFirst = true, GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Icarus_0058" }, }, }, }, } }, Using = { Sounds = { "/Leftovers/SFX/RobeFlutter", "/Leftovers/SFX/RobeFlutterInScene", "/Leftovers/World Sounds/Caravan Interior/ClothInteract", "/Leftovers/World Sounds/Caravan Interior/ClothInteract2", "/Leftovers/World Sounds/Caravan Interior/RugInteract", }, Projectile = "IcarusExplosion", }, }, } VariantSetData.NPC_Icarus_01 = { IcarusCombat = { NonHeroKillCombatText = "PartnerKill", RequiredRoomInteraction = true, SkipAISetupOnActivate = true, ExcludeFromDamageDealtRecord = true, CanReceiveGift = true, Consumables = { }, RarityChances = { Rare = 0.05, Epic = 0.01, }, RarityRollOrder = { "Common", "Rare", "Epic" }, AlwaysShowInvulnerabubbleOnInvulnerableHit = true, InvincibubbleScale = 1.33, DefaultAIData = { }, AIWakeDelay = 3.0, AIOptions = { "AttackerAI" }, PostCombatAI = "IcarusPostCombat", PostCombatTeleportIfPastDistance = 800, WeaponOptions = { --"IcarusBombardmentLine", "IcarusBombardmentLine2", "IcarusBombardmentLine3", "IcarusBombardmentLine", "IcarusBombardmentLine", "IcarusBombardmentLine", -- try to open with line early "IcarusBombardmentSingle", "IcarusBombardmentSingle", "IcarusBombardmentSingle", }, --WeaponOptions = { "IcarusBombardmentLine" }, OutgoingDamageModifiers = { { PlayerMultiplier = 0, } }, IncomingDamageModifiers = { { Name = "Innate", PlayerMultiplier = 0.0, } }, SkipNextTextLinesCheck = true, }, -- Icarus (Home Version), Id = 800098 IcarusHome = { NarrativeDataName = "NPC_Icarus_01", ActivateRequirements = { { Path = { "CurrentRun", "TextLinesRecord" }, HasNone = { "FatesEpilogue01" }, }, NamedRequirements = { "IcarusUnlockedInHub" }, }, RotatorRequirements = { OrRequirements = { -- encountered in the field { { Path = { "CurrentRun", "EncountersCompletedCache" }, HasAny = { "IcarusCombatO", "IcarusCombatO2", "IcarusCombatP", "IcarusCombatP2" }, }, }, -- been busy in the underworld { { SumPrevRuns = 3, -- IgnoreCurrentRun = true, Path = { "BiomesReached", "F" }, CountPathTrue = true, Comparison = ">=", Value = 3, }, } }, -- not during these events { Path = { "CurrentRun", "TextLinesRecord" }, HasNone = { "FatesEpilogue01" }, }, -- shouldn't reappear if re-entering Hub after events with IcarusHubExitPresentation { PathFalse = { "CurrentRun", "IcarusExitedHub" }, }, NamedRequirementsFalse = { "IcarusLeavesHubAfterBecomingCloser", "IcarusLeavesHubAfterTrueEnding" }, }, PreBathAnimationName = "Icarus_Salute", PreBathOffsetY = 50, InteractTextLinePriorities = "HomePriorities", InteractTextLineSets = { -- Home Events IcarusHomeFirstMeeting = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { --[[ { FunctionName = "RequiredAlive", FunctionArgs = { Units = { "NPC_Odysseus_01", }, Alive = true }, }, ]]-- -- NamedRequirements = { "IcarusUnlocked" }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0164", -- Portrait = "Portrait_Icarus_Unsure_01", -- Portrait = "Portrait_Icarus_Pleased_01", -- PreLineAnim = "Icarus_Salute", -- PreLineAnim = "Icarus_Explaining_Start", -- PostLineAnim = "Icarus_Explaining_End", -- PreLineAnim = "Icarus_Flustered_Start", -- PostLineAnim = "Icarus_Flustered_End", -- PreLineAnim = "Icarus_Pensive_Start", -- PostLineAnim = "Icarus_Pensive_End", -- PreLineAnim = "Icarus_Offer_Start", -- PostLineAnim = "Icarus_Offer_End", PreLineAnim = "Icarus_Pensive_Start", Text = "Ta không ngờ mình sẽ có lại cảm giác này, nhưng thật tốt khi được quay lại đây, Meli! Ờ, ừm, Công Chúa. Nơi này có vẻ hơi khác... so với trước đây nhỉ?" }, { Cue = "/VO/Melinoe_4520", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Anh đã tìm được đường trở về rồi! Anh luôn được chào đón và an toàn ở đây, Icarus. Ta đoán là đôi cánh đã giúp chuyến bay về trở nên nhanh chóng và suôn sẻ nhỉ?" }, { Cue = "/VO/Icarus_0165", PreLineAnim = "Icarus_Pensive_End", Text = "Bay qua thành phố Ephyra vẫn dễ chịu hơn nhiều so với việc lê bước qua đó. Ta vẫn cần liên lạc với Thầy Odysseus, nhưng ta sẽ cố gắng quay về đây thường xuyên hơn." }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_4521", Text = "Nhớ giữ lời đấy." }, }, }, }, IcarusHomeAboutCrossroads01 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, -- NamedRequirements = { "IcarusUnlocked" }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0166", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Nơi này đã thay đổi rất nhiều, kể từ khi ta rời đi. Nếu cô kể cho ta nghe một nửa những chuyện ở đây, thì cô đã thuyết phục ta quay lại nhiều hơn rồi đấy." }, { Cue = "/VO/Melinoe_4522", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta muốn xem liệu anh có tự mình quay lại hay không. Và bất ngờ thật! Anh vẫn còn nhớ mẹo để tìm ra nơi này ư?" }, { Cue = "/VO/Icarus_0167", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Khó mà quên được con đường đã đi. Chỉ là... ta không giỏi trong việc tìm chỗ hạ cánh lắm. Suýt nữa thì ta lao thẳng vào chiếc vạc rồi!" }, EndVoiceLines = { { PreLineWait = 0.2, UsePlayerSource = true, { Cue = "/VO/Melinoe_4523", Text = "Ôi không, vậy chuyện gì đã xảy ra?" }, }, { PreLineWait = 0.38, ObjectTypes = { "NPC_Icarus_01" }, { Cue = "/VO/Icarus_0168", Text = "...Thay vào đó, ta đã đâm sầm vào Thầy Odysseus!" }, } }, }, -- post-ending alt below IcarusHomeAboutCrossroads02 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusHomeAboutCrossroads02_B" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0169", Text = "Vậy là mỗi đêm thức dậy ở đó, cô hoàn toàn cảm thấy sảng khoái ư? Và với một quyết tâm để đạt được khát vọng đời mình, đại loại vậy phải không?" }, { Cue = "/VO/Melinoe_4524", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Anh nói nghe như thể mọi chuyện diễn ra một cách tự nhiên vậy. Thể xác ta quen với việc phục hồi rồi, nhưng tâm trí ta thì không dễ dàng như vậy. Anh nghĩ ta chưa từng nản lòng sao?" }, { Cue = "/VO/Icarus_0170", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta chưa bao giờ thấy cô nản chí cả. Hoặc có lẽ cô đang che giấu nó rất giỏi. Nếu thành công thì sao, cô sẽ làm gì tiếp theo? Theo đuổi những ước mơ và hy vọng khác chăng?" }, EndVoiceLines = { { PreLineWait = 0.2, UsePlayerSource = true, { Cue = "/VO/Melinoe_4525", Text = "Ta chưa từng nghĩ đến chuyện đó." }, }, { PreLineWait = 0.38, ObjectTypes = { "NPC_Icarus_01" }, { Cue = "/VO/Icarus_0171", Text = "Ta hiểu rồi. Phải ưu tiên việc quan trọng trước." }, } }, }, IcarusHomeAboutCrossroads02_B = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusHomeAboutCrossroads02" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0169", Text = "Vậy là mỗi đêm thức dậy ở đó, cô hoàn toàn cảm thấy sảng khoái ư? Và với một quyết tâm để đạt được khát vọng đời mình, đại loại vậy phải không?" }, { Cue = "/VO/Melinoe_4524", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Anh nói nghe như thể mọi chuyện diễn ra một cách tự nhiên vậy. Thể xác ta quen với việc phục hồi rồi, nhưng tâm trí ta thì không dễ dàng như vậy. Anh nghĩ ta chưa từng nản lòng sao?" }, { Cue = "/VO/Icarus_0170_B", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta chưa bao giờ thấy cô nản chí cả. Hoặc có lẽ cô đang che giấu nó rất giỏi." }, EndVoiceLines = { { PreLineWait = 0.32, UsePlayerSource = true, { Cue = "/VO/Melinoe_4870", Text = "Một món quà mà ta chưa từng biết mình đã có!" }, }, }, }, IcarusHomeAboutCrossroads03 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, -- NamedRequirements = { "IcarusUnlocked" }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0172", Text = "{#Emph}Oh{#Prev}, cô tỉnh rồi sao! Suýt nữa thì không được gặp cô, vì ta sắp quay lại Thessaly rồi. Hy vọng là cô được nghỉ ngơi tốt. Nghe có vẻ như đêm qua khá vất vả đối với cô nhỉ?" }, { Cue = "/VO/Melinoe_4526", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Phải, cũng đạt được kết quả như mong muốn. Nhưng nếu anh đang làm nhiệm vụ thì ta không muốn giữ chân anh đâu. Chúng ta sẽ gặp lại nhau vào lúc khác...! Hay là anh đang đợi ta vậy?" }, { Cue = "/VO/Icarus_0173", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Icarus_Unsure_01", WaitTime = 6.5 }, PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Không có! Ý ta là, rất vui được gặp lại cô, nhưng... ta sẽ không đến muộn đâu. Ta có thể bù lại thời gian trong lúc bay, cô biết đấy, nhờ luồng khí đối lưu và những thứ tương tự. Vậy nên... hai chúng ta tiếp tục nhiệm vụ nhé?" }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_4527", Text = "Được, tiếp tục nhiệm vụ." }, }, }, }, IcarusHomeAboutRain01 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "NextBiomeStateName" }, IsAny = { "Rain" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusBecomingCloser01" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0458", Text = "Ở Rãnh Nứt rất hiếm khi có mưa to như thế này. Điều đáng buồn cười là, lúc còn nhỏ, thỉnh thoảng ta nghe thấy tiếng mưa rơi bên ngoài, nhưng chưa một lần được cảm nhận chúng." }, { Cue = "/VO/Melinoe_4861", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Odysseus chắc hẳn sẽ nói rằng anh sẽ không bỏ lỡ bất kỳ điều gì đâu, mặc dù ngài ấy là người dầm mưa nhiều hơn bất kỳ người phàm nào khác. Riêng ta thì ta khá thích mưa." }, { Cue = "/VO/Icarus_0459", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta cũng vậy. Thậm chí còn có thể nếm thử nhờ Thuốc Hồi Phục Thể Xác của cô. Và ngay cả bây giờ, ta vẫn thích ngắm nhìn và lắng nghe mưa... cho đến những gì nó làm với mái tóc của cô." }, { Cue = "/VO/Melinoe_4862", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Mái tóc của ta chắc hẳn trông giống như những cành cây đang héo úa, Icarus." }, EndVoiceLines = { { PreLineWait = 0.33, ObjectTypes = { "NPC_Icarus_01" }, { Cue = "/VO/Icarus_0460", Text = "Đối với ta thì không." }, }, }, }, IcarusHomeAboutArtemisSinging01 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "AudioState", "AmbientTrackName" }, IsAny = { "/Music/ArtemisSong_MC", "/Music/IrisEndThemeCrossroads_MC" }, }, { Path = { "ConfigOptionCache", "MusicVolume" }, Comparison = ">", Value = 0.1, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0461", Text = "Ta không ngờ nữ thần săn bắt cũng xuất hiện ở đây, giữa mớ hỗn độn này. Ta cứ tưởng họ sẽ cử cô ấy đi rình rập và bắn kẻ địch trên Olympus chứ! Cô ấy hát hay thật!" }, { Cue = "/VO/Melinoe_4863", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Đúng vậy. Artemis được giao nhiệm vụ phải theo dõi bọn ta, nhưng cô ấy cũng lặng lẽ giúp đỡ ta. Ta không biết liệu mình có thể gặp được những vị thần khác bằng cách nào nếu không có cô ấy." }, { Cue = "/VO/Icarus_0462", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Hai người là chị em họ, nhưng lại thân thiết như chị em ruột nhỉ? Có một người như thế luôn dõi theo mình, chắc hẳn sẽ mang lại cảm giác yên tâm hơn." }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, { Cue = "/VO/Melinoe_4864", Text = "Đó là dấu hiệu của sự ghen tị ư?" }, }, { PreLineWait = 0.33, ObjectTypes = { "NPC_Icarus_01" }, { Cue = "/VO/Icarus_0463", Text = "Đúng hơn là cảm giác tự ti. Nhưng giờ thì không còn nữa!" }, }, }, }, IcarusHomeAboutGrace01 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusGift04" }, }, { Path = { "CurrentRun", "EncountersCompletedCache" }, HasAny = { "IcarusCombatO", "IcarusCombatO2", "IcarusCombatP", "IcarusCombatP2" }, }, -- NamedRequirements = { "IcarusUnlocked" }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0449", Text = "Rất vui khi thấy cô đã khỏe lại, Công Chúa. Không biết cô cảm thấy thế nào, nhưng đêm qua quả là một cuộc chiến khó khăn đối với ta! Đám thủy thủ trên hạm đội của Chronos dường như không biết mệt mỏi." }, { Cue = "/VO/Melinoe_4584", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Icarus, ta tưởng ta đã nói với anh rồi chứ, đừng gọi ta là Công Chúa nữa. Có lẽ ta là Công Chúa Địa Ngục từ khi được sinh ra, nhưng ở nơi này, ta phụng sự cho Hội Vô Hình, giống như anh." }, { Cue = "/VO/Icarus_0450", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Ta biết, chỉ là ta không muốn được đối xử đặc biệt ở đây. Các Shade dường như đều kính trọng cô. Và... ta cũng thích gọi cô là Công Chúa! Miễn là cô không phiền." }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, { Cue = "/VO/Melinoe_4585", Text = "Đừng gọi thường xuyên là được." }, }, { PreLineWait = 0.25, ObjectType = "NPC_Icarus_01", { Cue = "/VO/Icarus_0451", Text = "Tuân lệnh Công... à được." }, }, }, }, IcarusHomeAboutTools01 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "WorldUpgrades", "Cosmetic_IcarusTable01" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0554", Text = "Đống công cụ kia thực sự là dành cho ta sao? Mọi thứ trông thật sáng loáng. Mọi người tìm ở đâu ra vậy?" }, { Cue = "/VO/Melinoe_4868", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Hãy xem như đó là món quà từ Crossroad, Icarus. Anh đã biến những nguồn tài nguyên từ Đất Mẹ thành những tạo tác phi thường, vậy thì anh xứng đáng sở hữu những công cụ tinh xảo nhất." }, { Cue = "/VO/Icarus_0555", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta sẽ thử dùng chúng xem sao, cảm ơn cô rất nhiều. Ta vốn đã gắn bó với bộ công cụ cũ suốt một khoảng thời gian, nhưng có lẽ đã đến lúc chúng cần được nghỉ ngơi rồi." }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_4869", Text = "Ai mà chẳng thế!" }, }, }, }, IcarusHomeAboutOdysseusWandering01 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, NamedRequirements = { "OdysseusWandering" }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0464", Text = "Này, cô biết thầy Odysseus đã đi đâu không? Đáng lẽ đêm nay ta đến để báo cáo, nhưng đã lâu rồi, ta vẫn chưa thấy thầy xuất hiện..." }, { Cue = "/VO/Melinoe_4865", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta nghĩ ngài ấy có một số việc cá nhân cần giải quyết. Ta không chắc là khi nào ngài ấy quay lại. Trong báo cáo của anh có thông tin nào khẩn cấp không?" }, { Cue = "/VO/Icarus_0465", PreLineAnim = "Icarus_Pensive_Start", Text = "Không, chỉ là... ta không biết nữa. Mỗi lần thầy ấy vắng mặt, ta cứ lo sợ rằng thầy sẽ không quay lại. Thầy vốn là người mang trái tim của một kẻ phiêu lưu, và... chẳng phải gia đình của thầy ấy đang ở nơi khác sao?" }, { Cue = "/VO/Melinoe_4866", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Còn tùy thuộc vào gia đình nào mà anh đang nói đến! Ngài ấy không bị ràng buộc với Crossroads, giống như anh. Anh luôn có thể quay lại, miễn là vẫn được chào đón ở đây, và ta nghĩ ngài ấy cũng vậy." }, { Cue = "/VO/Icarus_0466", PreLineAnim = "Icarus_Pensive_End", Text = "Giống như việc cô về thăm gia đình rồi quay lại đây..." }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, RequiredMinElapsedTime = 2, { Cue = "/VO/Melinoe_4867", Text = "Chính xác là vậy." }, }, }, }, -- alt below IcarusHomeAboutMoros01 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusHomeAboutMoros01_B" } }, { FunctionName = "RequiredAlive", FunctionArgs = { Units = { "NPC_Moros_01", }, Alive = true }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0174", Portrait = "Portrait_Icarus_Unsure_01", Text = "Người cao to đang đứng đằng kia, bên cạnh tấm thảm lớn... đó có phải Diệt Vong không? Trông ngài ấy thân thiện hơn ta tưởng, dựa vào cách hai người nói chuyện với nhau." }, { Cue = "/VO/Melinoe_4528", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Thần Moros là khách của bọn ta, và tấm thảm bên cạnh ngài ấy chứa đựng lời tiên tri của Ba Nữ Thần Định Mệnh. Gia đình ngài ấy cũng đang trong hoàn cảnh tương tự như gia đình ta. Anh có muốn gặp ngài ấy không?" }, { Cue = "/VO/Icarus_0175", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Oh, không, bọn ta, ừm... bọn ta đã gặp nhau trước đây rồi. Mặc dù ta không nghĩ ngài ấy còn nhớ ta. Như vậy là được rồi! Ta chỉ không ngờ là lại được gặp ngài ấy... lại còn ở nơi này. Ta mừng là ngài ấy vẫn ổn." }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_0061_B", Text = "Ngài ấy vẫn ổn." }, }, }, }, IcarusHomeAboutMoros01_B = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { PathFalse = { "GameState", "TextLinesRecord", "IcarusHomeAboutMoros01" } }, { FunctionName = "RequiredAlive", FunctionArgs = { Units = { "NPC_Moros_01", }, Alive = true }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0174", Portrait = "Portrait_Icarus_Unsure_01", Text = "Người cao to đang đứng đằng kia, bên cạnh tấm thảm lớn... đó có phải Diệt Vong không? Trông ngài ấy thân thiện hơn ta tưởng, dựa vào cách hai người nói chuyện với nhau." }, { Cue = "/VO/Melinoe_4528_B", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Thần Moros là khách của bọn ta, và tấm thảm bên cạnh ngài ấy chứa đựng lời tiên tri của Ba Nữ Thần Định Mệnh. Gia đình ngài ấy cũng đang trong hoàn cảnh tương tự như gia đình ta. Anh có muốn gặp ngài ấy không?" }, { Cue = "/VO/Icarus_0175", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Unsure_01", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Oh, không, bọn ta, ừm... bọn ta đã gặp nhau trước đây rồi. Mặc dù ta không nghĩ ngài ấy còn nhớ ta. Như vậy là được rồi! Ta chỉ không ngờ là lại được gặp ngài ấy... lại còn ở nơi này. Ta mừng là ngài ấy vẫn ổn." }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_0061_B", Text = "Ngài ấy vẫn ổn." }, }, }, }, IcarusHomeAboutMortality01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusGift09" } }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0452", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Đôi khi ta tự hỏi, cảm giác làm thần sẽ như thế nào. Có bao giờ cô tự hỏi rằng cuộc sống của mình sẽ ra sao nếu cô là người phàm không? Có lẽ cô sẽ được an nghỉ ở Elysium." }, { Cue = "/VO/Melinoe_4858", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Mel_Proud_01", WaitTime = 4 }, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", Text = "Ở cùng những anh hùng vĩ đại nhất loài người các anh sao? Ta cũng không chắc. Nếu ta được sinh ra là người phàm, có lẽ... ta đã dành cả đời để lao động, vì một điều gì đó. Luôn tìm cách vượt qua giới hạn của mình, và của bất kỳ ai khác." }, { Cue = "/VO/Icarus_0453", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Meli, nghe thật buồn chán như cuộc đời của ta vậy, nhưng ta lại không được lựa chọn. Hầu hết người phàm làm việc chỉ để mưu sinh... nhưng thứ mà bọn ta mong muốn là niềm vui, chứ không phải sự khổ cực." }, { Cue = "/VO/Melinoe_4859", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkPensive01ReturnToIdle", PreLineAnimTarget = "Hero", Text = "Thật ư? Vậy mà giờ đây anh lại là một Shade, đang cố vượt qua cái bóng từ người cha bậc thầy của mình trong nghề, đồng thời chiến đấu chống lại đội quân của Titan. Chỉ để mưu sinh ư?" }, { Cue = "/VO/Icarus_0454", PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "Thôi được rồi, ta hiểu ý cô rồi, xin lỗi. Đó là bản năng của loài người, nếu muốn chỉ bảo người khác phải sống như thế nào. Nhưng bọn ta hiếm khi tìm được mục đích sống cho chính mình, huống chi là của người khác. Ta thắc mắc không biết cô giỏi ở lĩnh vực nào..." }, EndVoiceLines = { { PreLineWait = 0.32, UsePlayerSource = true, { Cue = "/VO/Melinoe_4860", Text = "Có lẽ là giỏi tranh luận chăng? Làm luật sư hoặc thẩm phán." }, }, { PreLineWait = 0.33, ObjectType = "NPC_Icarus_01", { Cue = "/VO/Icarus_0455", Text = "...Nghe thật... đáng sợ đấy." }, }, }, }, IcarusHomeAboutRelationships01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesChoiceRecord", "IcarusBecomingCloser01", }, IsAny = { "Choice_IcarusAccept" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0442", Text = "Điều buồn cười là... người phàm bọn ta dành cả cuộc đời để tìm kiếm một tâm hồn đồng điệu để cùng chia sẻ phần đời còn lại; một tình yêu vĩnh hằng, nhưng... thực tế là chỉ khoảng ba mươi đến bốn mươi năm thôi. Chắc hẳn đối với những vị thần thì khác." }, { Cue = "/VO/Melinoe_4850", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Mel_Empathetic_01", WaitTime = 5.3 }, Text = "Mong muốn nhận được trọn vẹn tình yêu của người khác... nghe có vẻ quá ích kỷ. Nemesis chắc chắn sẽ không tán thành. Theo ta biết, mỗi người đều có những cách yêu khác nhau. Nói thật ta dành cho anh khá nhiều tình cảm đấy, Icarus." }, { Cue = "/VO/Icarus_0443", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Icarus_Pleased_01", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ý cô là... cô yêu ta sao? Dù chắc hẳn ở quanh đây có những khác người khiến cô rung động, như kiểu mối tình đầu ấy. Nhưng nếu như... ta dành hết tình yêu cho cô thì sao...?" }, { Cue = "/VO/Melinoe_4851", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Vậy thì ta thực sự may mắn, mặc dù ta nghĩ rằng anh có thể cho đi nhiều hơn nữa. Và anh có cả cuộc đời vĩnh hằng để tìm kiếm những người xứng đáng với tình cảm đó. Còn hiện tại, đối với ta như vậy là đủ rồi." }, EndVoiceLines = { { PreLineWait = 0.33, ObjectType = "NPC_Icarus_01", { Cue = "/VO/Icarus_0444", Text = "Cô là quá đủ đối với ta rồi, Meli." }, }, { PreLineWait = 0.32, UsePlayerSource = true, { Cue = "/VO/Melinoe_4852", Text = "Có lẽ vậy." }, }, }, }, IcarusHomeAboutTyphonDeath01 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, -- GiftableOffSource = true, -- PostBlockSpecialInteract = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { PathTrue = { "GameState", "TyphonDefeatedWithStormStop" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ZeusPalaceAboutTyphonDeath01" }, Max = 6 }, }, NamedRequirementsFalse = { "IcarusLeavesHubAfterTrueEnding" }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0420", Text = "Cơn bão bao phủ đỉnh Olympus đã tan biến...! Ta cứ ngỡ cuối cùng mình cũng được gặp Typhon, nhưng không! Chuyện gì đã xảy ra vậy?" }, { Cue = "/VO/Melinoe_4844", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Cơn bão đã biến mất, vì chính Typhon đã không còn. Hắn dường như càng tức giận hơn qua mỗi đêm. Hắn phải biến mất, hoặc gia đình ta, cùng mái nhà của họ." }, { Cue = "/VO/Icarus_0421", Emote = "PortraitEmoteFiredUp", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Cô đang đùa sao? Hắn đã biến mất ư? Không phải ẩn nấp, không phải ngủ yên, không gì khác? Tuyệt vời quá còn gì! Nhưng mà, cô đang làm gì ở đây vậy? Lẽ ra cô phải đang tiệc tùng cùng những vị thần Olympus khác chứ?" }, EndVoiceLines = { { PreLineWait = 0.36, UsePlayerSource = true, { Cue = "/VO/Melinoe_4845", Text = "Ta cần phải giải quyết vài việc." }, }, }, }, IcarusHomePostTrueEnding01 = { PlayOnce = true, UseableOffSource = true, -- InitialGiftableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "IcarusPostTrueEnding01", "IcarusPostTrueEnding01_B" } }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0422", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Cuộc chiến với Chronos... thực sự đã kết thúc rồi sao? Không khí ở nơi này cũng khác hẳn, sự căng thẳng đã không còn, những Shade kia cũng vui mừng khôn xiết! Cô làm được rồi...!" }, { Cue = "/VO/Melinoe_4846", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Có lẽ là vậy, nhưng... vẫn còn nhiều việc phải làm. Cần phải có những biện pháp phòng ngừa, để đảm bảo những chuyện vừa xảy ra sẽ không bao giờ tái diễn." }, { Cue = "/VO/Icarus_0423", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", -- Emote = "PortraitEmoteDepressed", Text = "Meli, cô không thể nghỉ ngơi một chút nào sao? Nhiệm vụ của cô cuối cùng đã hoàn thành rồi! Giờ cô định làm gì tiếp theo?" }, EndVoiceLines = { { PreLineWait = 0.3, UsePlayerSource = true, { Cue = "/VO/Melinoe_4847", Text = "Ta đã nói rồi, vẫn còn nhiều việc phải làm." }, }, { PreLineWait = 0.25, ObjectType = "NPC_Icarus_01", { Cue = "/VO/Icarus_0424", Text = "Ta không có ý đó... xin lỗi." }, } }, }, IcarusHomePostTrueEnding02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0427", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Cô biết đấy, ta cứ ngỡ rằng, một khi Chronos bị lật đổ, Vua và Nữ Hoàng Địa Ngục trở lại, cô sẽ được trở về Thánh Điện của Hades cùng họ. Trở lại thành Công Chúa mà cô đã được định sẵn kể từ khi được sinh ra." }, { Cue = "/VO/Melinoe_4848", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta nghĩ mình đã như vậy rồi. Thánh Điện của cha ta quả thực rất tráng lệ, nhưng nơi này mới là nhà, không phải nơi đó. Và ta nghĩ mình sẽ thường xuyên gặp lại cha mẹ và anh trai." }, { Cue = "/VO/Icarus_0428", Emote = "PortraitEmoteSurprise", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ồ, phải rồi! Cảm giác gặp lại Zagreus thế nào? Anh ta có xứng đáng với những lời đồn về tài năng của mình không?" }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, { Cue = "/VO/Melinoe_4849", Text = "Nếu anh muốn biết thì ta buộc phải giết anh." }, }, { PreLineWait = 0.25, ObjectType = "NPC_Icarus_01", { Cue = "/VO/Icarus_0429", Text = "{#Emph}Hah! {#Prev}Thôi được rồi!" }, } }, }, IcarusHomePostEpilogue01 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { NamedRequirements = { "ReachedEpilogue" }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0447", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta nghe các Shade nói rằng có điều gì đó đang thay đổi trên Olympus... rằng chính những Nữ Thần Định Mệnh đã quyết định là quyền cai trị của những vị thần sẽ giảm đi rất nhiều? Nghe có vẻ... thay đổi nhiều thật." }, { Cue = "/VO/Melinoe_4856", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta nghĩ đeièu đó có lẽ chỉ áp dụng đối với những vị thần, chứ không phải loài người... nhưng những gì ta nghe được cũng gần giống như vậy. Vào buổi bình minh của kỷ nguyên mới, loài người sẽ tự quyết định vận mệnh của họ." }, { Cue = "/VO/Icarus_0448", PreLineAnim = "Icarus_Pensive_End", Text = "Một kỷ nguyên mà ngay cả những vị thần lẫn Nữ Thần Định Mệnh đều không còn chi phối vận mệnh của bọn ta nữa. Thật khó mà tưởng tượng nổi. Vậy nếu mọi chuyện không diễn ra suôn sẻ, thì bọn ta biết đổ lỗi cho ai?" }, EndVoiceLines = { { PreLineWait = 0.34, UsePlayerSource = true, { Cue = "/VO/Melinoe_4857", Text = "Loài người chắc chắn sẽ tìm được người phù hợp!" }, }, }, }, IcarusHomePostEpilogue02 = { PlayOnce = true, UseableOffSource = true, PreEventFunctionName = "AngleNPCToHero", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "FatesEpilogue01", "HecateBathHouseEpilogue01" } }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "HecateBathHouseEpilogue01" }, Min = 1 }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Melinoe_4853", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", Text = "Icarus, từ khi nào mà anh nhận ra cha của anh không giống như người mà anh từng nghĩ? Có vẻ như anh lớn lên theo hình mẫu mà ông ấy áp đặt lên anh, cho đến một lúc nào đó, anh đã bỏ cuộc." }, { Cue = "/VO/Icarus_0445", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ừm, có lẽ là khi ta gặp lại ông ấy sau cái chết của mình. Ông ấy trông rất thất vọng; đến mức ta nghĩ rằng ông ấy tức giận vì ta đã làm hỏng đôi cánh quý giá của ông ấy. Dẫu vậy, ta vẫn tiếp tục làm việc cho ông ấy." }, { Cue = "/VO/Melinoe_4854", UsePlayerSource = true, PreLineWait = 0.35, PreLineAnim = "MelTalkPensive01ReturnToIdle", PreLineAnimTarget = "Hero", Text = "...Ta hiểu rồi. Nữ Chúa giống như một người mẹ đối với ta, nhưng... bà ấy luôn cố ý nhấn mạnh rằng bà ấy không phải mẹ của ta. Ta chưa bao giờ hiểu được lý do." }, { Cue = "/VO/Icarus_0446", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta biết cô rất quý bà ấy. Ta cũng biết bà ấy đã ép cô trải qua không biết bao nhiêu gian khổ! Khi người nào đó gắn bó với ta đủ lâu, thì mối quan hệ sớm muộn gì cũng trở nên phức tạp nhỉ?" }, EndVoiceLines = { { PreLineWait = 0.38, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_4855", Text = "Ừm, ta đoán là vậy..." }, }, }, }, -- relationship IcarusBecomingCloser01 = { PauseMusicPlayerMusic = true, PlayOnce = true, UseableOffSource = true, PreBlockSpecialInteract = true, PostBlockSpecialInteract = true, GiftableOffSource = true, StatusAnimation = "StatusIconWantsAffection", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusGift10" }, }, { FunctionName = "RequiredQueuedTextLine", FunctionArgs = { IsNone = { "ErisBecomingCloser01" } }, }, NamedRequirements = { "NoRecentBecomingCloserEvent" }, NamedRequirementsFalse = { "NearTrueEnding" }, --[[ { PathFalse = { "CurrentRun", "TimePassageOccurred" }, HintId = "Codex_TimePassesGiftUsed", }, ]]-- }, { Cue = "/VO/Melinoe_4574", UsePlayerSource = true, PreLineWait = 0.35, Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Icarus, trông anh... là nhờ Thuốc Hồi Phục Thể Xác sao? Anh đã dùng nó, và nó thực sự có tác dụng...! Liệu ta có thể... ý ta là ta làm vậy có ổn không...?" }, { Cue = "/VO/Icarus_0356", PreLineWait = 0.35, PostLineRemoveContextArt = true, Portrait = "Portrait_Icarus_Whole_01", PortraitExitAnimation = "Portrait_Icarus_Whole_01_Exit", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "...Ta cũng định hỏi cô câu đó. Cảm giác này khác hẳn với mọi thứ mà ta từng trải qua khi còn sống! Thậm chí ngay cả khi còn sống cũng chưa từng! Lúc đó ta còn xem mọi thứ là điều hiển nhiên..." }, -- SWITCH TO NEW SCENE { Cue = "/VO/Melinoe_4576", UsePlayerSource = true, SkipContextArt = true, PreLineFunctionName = "GoSomeplaceStartPresentation", PreLineFunctionArgs = { Tent = true }, PreLineWait = 0.35, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Vậy thì đêm nay có gì đặc biệt? Ta tưởng anh sẽ để dành Thuốc Hồi Phục cho một dịp đặc biệt nào đó." }, { Cue = "/VO/Icarus_0357", SkipContextArt = true, Portrait = "Portrait_Icarus_Whole_01", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta đã nghĩ về điều đó. Và rồi ta nhận ra rằng, chỉ cần được chạm vào cô thôi, đối với ta cũng là một dịp đặc biệt rồi. Và rồi ta không muốn chờ đợi nữa. Ta đã uống Thuốc Hồi Phục, ngay khi biết cô đang ở đây. Cũng không tệ đâu!" }, { Cue = "/VO/Melinoe_4577", UsePlayerSource = true, SkipContextArt = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Anh đã thề sẽ không vội mà. Nếu đêm nay ta không thể nói chuyện với anh thì sao? Chẳng phải Thuốc Hồi Phục sẽ bị lãng phí sao?" }, { Cue = "/VO/Icarus_0358", SkipContextArt = true, Emote = "PortraitEmoteFiredUp", Portrait = "Portrait_Icarus_Whole_01", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Cô nói đúng, chỉ là... khi cô ở đây, và... ta cảm thấy tim mình đập nhanh hơn. Meli, ta có thể... ôm cô được không?" }, EndVoiceLines = { { GameStateRequirements = { { Path = { "CurrentRun", "TextLinesChoiceRecord", "IcarusBecomingCloser01", }, IsAny = { "Choice_IcarusDecline" }, }, }, { PreLineWait = 1.0, PreLineThreadedFunctionName = "IcarusHubExitPresentation", { Cue = "/VO/Melinoe_4579", Text = "Tạm biệt...", UsePlayerSource = true }, }, }, { PreLineWait = 1.0, PreLineThreadedFunctionName = "IcarusHubExitPresentation", GameStateRequirements = { { Path = { "CurrentRun", "TextLinesChoiceRecord", "IcarusBecomingCloser01", }, IsAny = { "Choice_IcarusAccept" }, }, }, { Cue = "/VO/Melinoe_4583", Text = "Hãy bay tự do và sống hết mình nhé, Icarus.", UsePlayerSource = true }, }, }, { Text = "Choice_IcarusBecomingCloser01", Portrait = "Portrait_Icarus_Whole_01", SkipContextArt = true, IgnoreRawText = true, BoxAnimation = "NarrationBubbleRomance", BoxExitAnimation = "NarrationBubbleRomanceOut", DisableCharacterFadeColorLag = true, IsNarration = true, IgnoreContinueArrow = true, TextOffsetY = 0, PreContentSound = "/Leftovers/Menu Sounds/EmoteThoughtful", Choices = { { ChoiceText = "Choice_IcarusDecline", { Cue = "/VO/Melinoe_4578", SkipContextArt = true, UsePlayerSource = true, PreLineWait = 1.0, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "...Ta chỉ không muốn đi quá xa, như chúng ta đã từng làm. Những tác dụng phụ có thể trở nên nghiêm trọng hơn, và... giống như anh, ta cũng không thể chịu đựng được ý nghĩ đó. Ta nghĩ tốt nhất anh nên cảm nhận làn gió lạnh và hơi mặn của biển khi còn có thể." }, { Cue = "/VO/Icarus_0359", SkipContextArt = true, PreLineWait = 0.35, Portrait = "Portrait_Icarus_Whole_01", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta cũng rất muốn điều đó. Và ta đã được nắm tay cô. Nếu có thể, ta muốn ở lại đây mãi mãi, nhưng ta nên tận hưởng khoảnh khắc này, vì nó sẽ không kéo dài mãi. Vậy nên, tạm biệt nhé, Meli." }, }, { ChoiceText = "Choice_IcarusAccept", { Cue = "/VO/Melinoe_4580", UsePlayerSource = true, SkipContextArt = true, PostLineRemoveContextArt = true, PreLineWait = 1.0, Portrait = "Portrait_Mel_Pleased_01", PortraitExitAnimation = "Portrait_Mel_Pleased_01_Exit", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineFunctionName = "BecomingCloserPresentation", PostLineFunctionArgs = { Sound2 = "/EmptyCue", Sound3 = "/EmptyCue", Partner = "Icarus", TimeTicks = 10, ExtraWaitTime = 0.25 }, Text = "...Ta thực sự rất mong điều đó. Anh có thể sẽ cảm thấy những điều lạ lẫm, nhưng ta sẽ cố gắng nhẹ nhàng nhất có thể. Hãy nói với ta ngay nếu anh cảm thấy khó chịu ở bất kỳ chỗ nào." }, -- INTERMISSION PRESENTATION { Cue = "/VO/Melinoe_4581", SkipContextArt = true, PreLineWait = 0.35, UsePlayerSource = true, Portrait = "Portrait_Mel_PleasedFlushed_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "{#Emph} {#Prev}Lắng nghe nhịp tim của anh thật dễ chịu. Và anh vẫn còn ấm. Nếu không phải vì điếu đó, ta suýt nữa tưởng rằng anh đã chết rồi! Anh không cử động, cũng không nói gì... anh ổn chứ?" }, { Cue = "/VO/Icarus_0361", SkipContextArt = true, PreLineWait = 0.5, Portrait = "Portrait_Icarus_Flushed_01", Text = "...Có lẽ cảm giác ở Elysium cũng như thế này... Meli, ta không chỉ ổn, mà còn hơn thế nữa, ta đang tận hưởng từng khoảnh khắc. Còn cô thì sao? Ta nghĩ việc cô vẫn còn ở đây là một dấu hiệu tốt, nhỉ...?" }, { Cue = "/VO/Melinoe_4582", SkipContextArt = true, UsePlayerSource = true, Portrait = "Portrait_Mel_PleasedFlushed_01", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Mel_Vulnerable_01", WaitTime = 2.75 }, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Anh có thể hiểu theo cách đó. Nhưng mà, ôi, anh bắt đầu lạnh dần rồi, và... làn da của anh bắt đầu tái nhợt. Thuốc Hồi Phục đang mất dần hiệu lực. Nếu nhanh lên, anh vẫn có thể cảm nhận được làn gió lạnh và hơi biển đấy!" }, { Cue = "/VO/Icarus_0362", SkipContextArt = true, PreLineWait = 0.35, Portrait = "Portrait_Icarus_Flushed_01", PostLineThreadedFunctionName = "InCombatTextEvent", PostLineThreadedFunctionArgs = GameData.PostIntermissionArgs, Text = "Ta chỉ muốn ở lại đây cùng cô lúc này... nhưng ta không muốn níu giữ cô lại, và có lẽ ta sẽ hối tiếc nếu không bay đi trong trạng thái này khi còn có thể. Cô tuyệt vời lắm, Meli." }, }, }, }, }, -- partner conversations IcarusWithOdysseus01 = { Partner = "NPC_Odysseus_01", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, PlayOnce = true, UseableOffSource = true, GiftableOffSource = true, PreBlockSpecialInteract = true, PostBlockSpecialInteract = true, UseText = "UseListenNPC", BlockDistanceTriggers = true, SkipPreEventFunction = true, -- StatusAnimation = false, TeleportToId = 800386, TeleportOffsetX = -140, -- TeleportOffsetY = 250, AngleTowardTargetId = 557112, InteractDistance = 450, { Cue = "/VO/Icarus_0244", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Theo như ta quan sát được, số lượng tàu chiến đang hướng về Olympus gần như vẫn không thay đổi qua từng đêm. Mục đích của chúng dường như không hề thay đổi chút nào." }, { Cue = "/VO/Odysseus_0436", Portrait = "Portrait_Odysseus_Default_01", Speaker = "NPC_Odysseus_01", PreLineAnim = "Odysseus_KnifeToss", PreLineAnimTarget = 557112, Text = "Mục tiêu của chúng là cắt đứt tuyến đường thủy và làm phân tán sự chú ý của Olympus, vốn đã rất hạn hẹp. Hãy tiếp tục gây rối chúng càng nhiều càng tốt, chàng trai. Tuy nhiên, nếu lũ Harpy tập trung quá đông, hãy rút lui." }, { Cue = "/VO/Icarus_0245", PreLineAnim = "Icarus_Salute", PostLineThreadedFunctionName = "IcarusHubExitPresentation", PostLineThreadedFunctionArgs = { WaitTime = 1.8 }, Text = "Ta hiểu rồi, thưa thầy! Nhưng con thuyền đó không được trang bị để đối phó với những cuộc tấn công từ trên không, và bọn Harpy vẫn chưa bắt kịp ta. Được rồi, ta đi đây!" }, EndVoiceLines = { { PreLineWait = 0.38, ObjectType = "NPC_Odysseus_01", PreLineAnim = "Odysseus_Greet", { Cue = "/VO/Odysseus_0437", Text = "Chúc đi săn vui vẻ!" }, }, }, }, IcarusWithOdysseus02 = { Partner = "NPC_Odysseus_01", GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusGift08", "OdysseusGift08" }, }, }, PlayOnce = true, UseableOffSource = true, GiftableOffSource = true, PreBlockSpecialInteract = true, PostBlockSpecialInteract = true, UseText = "UseListenNPC", BlockDistanceTriggers = true, SkipPreEventFunction = true, StatusAnimation = false, TeleportToId = 800386, TeleportOffsetX = -140, -- TeleportOffsetY = 250, AngleTowardTargetId = 557112, InteractDistance = 450, { Cue = "/VO/Odysseus_0705", Portrait = "Portrait_Odysseus_Default_01", Speaker = "NPC_Odysseus_01", PreLineAnim = "Odysseus_KnifeToss", PreLineAnimTarget = 557112, PreLineWait = 0.35, Text = "...Dù sao thì, cậu đã làm rất tốt, chàng trai. Không phải lúc nào cậu cũng biết mình phải đi về đâu, nhưng cậu có thể cảm nhận được liệu mình có đang đi đúng hướng hay không. Và nếu có thể, thì đừng vội đến đó." }, { Cue = "/VO/Icarus_0467", PreLineAnim = "Icarus_Pensive_Start", PostLineAnim = "Icarus_Pensive_End", Text = "Ta vẫn chưa đi đến đâu cả, thưa thầy. Ta từng nghĩ chỉ cần học được cách bay, ta sẽ có thể đi đến bất cứ nơi nào ta muốn, nhưng càng đi xa, ta càng muốn quay lại! Vậy thì có ích gì chứ? Đến giờ ta vẫn không chắc nữa." }, { Cue = "/VO/Odysseus_0706", Portrait = "Portrait_Odysseus_Default_01", Speaker = "NPC_Odysseus_01", PreLineAnim = "Odysseus_Explaining", PreLineAnimTarget = 557112, Text = "Mục đích của chuyến đi là để tìm ra nơi cậu thuộc về. Nếu cậu chưa từng rời đi, cậu sẽ luôn tự hỏi rằng điều gì khác đang chờ đợi cậu ngoài kia. Cậu trở về với sự khôn ngoan có được từ trải nghiệm đó." }, { Cue = "/VO/Icarus_0468", PreLineAnim = "Icarus_Salute", Text = "Càng phiêu lưu, chúng ta càng khôn ngoan hơn sao? Ngoại trừ việc ta đang trò chuyện với Chiến Lược Gia Vĩ Đại. Ta không nghĩ mình học được nhiều điều khi bay lượn ngoài kia, hơn việc học hỏi từ thầy." }, EndVoiceLines = { { PreLineWait = 0.3, ObjectType = "NPC_Odysseus_01", { Cue = "/VO/Odysseus_0707", Text = "Nếu cậu không muốn dùng đến đôi cánh đó nữa thì đưa cho ta nhé, chàng trai." }, }, { PreLineWait = 0.25, ObjectType = "NPC_Icarus_01", PostLineFunctionName = "IcarusHubExitPresentation", { Cue = "/VO/Icarus_0469", Text = "Không có đâu, thưa thầy!" }, }, }, }, IcarusWithEris01 = { Partner = "NPC_Eris_01", PlayOnce = true, UseText = "UseListenNPC", UseableOffSource = true, PreBlockSpecialInteract = true, PostBlockSpecialInteract = true, InitialGiftableOffSource = true, GiftableOffSource = true, SkipPreEventFunction = true, -- StatusAnimation = false, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, BlockDistanceTriggers = true, IgnoreSourceEndTextLinesThreadedFunctionName = true, TeleportToId = 590426, AngleTowardTargetId = 585573, InteractDistance = 450, { Cue = "/VO/Icarus_0470", PreLineWait = 0.35, PreLineAnim = "Icarus_Flustered_Start", PostLineAnim = "Icarus_Flustered_End", Text = "...Ta chỉ, ừm, tiện tay nhặt chúng thôi. Không có ý làm phiền cô đâu, Nữ Thần, ừm... Này! Ta thích đôi cánh của cô đấy! Đôi cánh của ta chỉ là đồ giả thôi. Mặc dù trước đây ta từng làm một đôi cánh bằng lông thật, giống với cánh của cô... nhưng không thể nào sánh bằng." }, { Cue = "/VO/Eris_0363", Source = "NPC_Eris_01", Emote = "PortraitEmoteFiredUp", PreLineAnim = "Enemy_Eris_Hub_Scoff", PreLineAnimTarget = 585573, Text = "Lần sau khi thấy đồ của ta thì để yên đó, nghe chưa, chim non? Giờ thì biến khỏi mắt ta, và liệu mà giữ mồm khi đang bay!" }, EndVoiceLines = { { PreLineWait = 0.25, ObjectType = "NPC_Icarus_01", PostLineFunctionName = "IcarusHubExitPresentation", { Cue = "/VO/Icarus_0471", Text = "Được rồi! Ta đi đây. Tạm biệt!" }, }, { PreLineWait = 0.35, ObjectType = "NPC_Eris_01", PostLineFunctionName = "ErisExitPresentation", { Cue = "/VO/Eris_0364", Text = "Không tiễn!" }, } }, }, IcarusWithHecate01 = { Partner = "NPC_Hecate_01", PlayOnce = true, UseText = "UseListenNPC", PreBlockSpecialInteract = true, PostBlockSpecialInteract = true, InitialGiftableOffSource = true, GiftableOffSource = true, SkipPreEventFunction = true, GameStateRequirements = { { Path = { "GameState", "CompletedRunsCache" }, Comparison = ">=", Value = 6, }, }, -- StatusAnimation = false, BlockDistanceTriggers = true, IgnoreSourceEndTextLinesThreadedFunctionName = true, UseableOffSource = true, TeleportToId = 566613, AngleTowardTargetId = 556921, InteractDistance = 450, { Cue = "/VO/Icarus_0475", PreLineWait = 0.35, Text = "...Ngoài ra, ta cũng muốn cảm ơn bà, Nữ Thần. Vì đã cưu mang và cho phép ta trở về; vì đã tin tưởng và giao phó mọi việc cho ta! Hầu hết các Shade ở đây đều không may mắn như vậy." }, { Cue = "/VO/Hecate_0877", Portrait = "Portrait_Hec_Default_01", Speaker = "NPC_Hecate_01", PreLineAnim = "Hecate_Hub_Scoff", PreLineAnimTarget = 556921, Text = "{#Emph}Oh{#Prev}, đừng tỏ vẻ khúm núm như thế, Icarus, kẻo ta sẽ trục xuất ngươi đi. Đây là Crossroads, không phải Elysium! Sự tồn tại của một Shade ở đây có thể khó khăn hơn nhiều... và rất ít kẻ trụ lại được lâu." }, { Cue = "/VO/Icarus_0476", PreLineAnim = "Icarus_Explaining_Start", PostLineAnim = "Icarus_Explaining_End", Text = "Ta rất biết ơn vì nhiệm vụ được giao phó và trở thành một phần của nơi này. Dẫu vậy, mỗi khi ta cất cánh, ta lại lo sợ rằng mình sẽ không tìm được đường quay lại..." }, { Cue = "/VO/Hecate_0878", Portrait = "Portrait_Hec_Default_01", Speaker = "NPC_Hecate_01", PreLineAnim = "Hecate_Hub_Affirm", PreLineAnimTarget = 556921, Text = "Hãy gạt bỏ nỗi sợ đó. Nhưng ai cần sự giúp đỡ hoặc những người được bọn ta tin tưởng sẽ luôn được chào đón ở đây." }, EndVoiceLines = { { PreLineWait = 0.25, ObjectType = "NPC_Icarus_01", PostLineFunctionName = "IcarusHubExitPresentation", { Cue = "/VO/Icarus_0477", Text = "Ta rất biết ơn. Và ta đi đây! Tạm biệt, Nữ Thần!" }, }, }, }, MorosWithIcarus01 = { Partner = "NPC_Moros_01", AngleTowardTargetId = 743557, PlayOnce = true, StatusAnimation = false, UseableOffSource = true, CopyDataFromPartner = true, }, NemesisWithIcarus01 = { Partner = "NPC_Nemesis_01", AngleTowardTargetId = 743557, PlayOnce = true, StatusAnimation = false, UseableOffSource = true, CopyDataFromPartner = true, }, -- repeatable IcarusHomeChat01 = { UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0182", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Rất vui được gặp lại cô, Meli. Ta phải đi đây, nhưng ta sẽ luôn để mắt đến cô khi ở trên đó." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat02 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0183", Text = "Nếu tối nay cô quyết định lên trần gian, biết đâu chúng ta sẽ lại gặp nhau nhỉ?" }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat03 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0184", Text = "Cảm ơn mọi người đã chào đón ta trở lại, và thật vui khi được gặp cô ở đây." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat04 = { UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0185", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Đã đến lúc quay lại cuộc chiến rồi, phải không, Meli? Ta sẽ đi trước và xem mình có thể làm được gì." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat05 = { UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0186", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Ít nhất thì kỹ năng hạ cánh và cất cánh của ta cũng tiến bộ hơn rồi. Cô muốn xem thử không?" }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat06 = { UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0258", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Ta phải ghé qua để bổ sung thêm đồ tiếp tế, và tiện thể để chào hỏi nữa. Giờ thì ta phải đi đây!" }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat07 = { UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "IcarusHomeFirstMeeting", "IcarusAboutDaedalus02" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0259", Text = "Hãy để ý đến những chiếc búa của ta nhé? Ta hy vọng chúng đã giúp ích cho cô." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat08 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0260", Text = "Ta biết đây không phải lúc để trò chuyện lâu, nhưng chỉ cần nói đôi lời thế này thôi cũng giúp ích cho ta rất nhiều rồi." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat09 = { UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0261", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Ta vừa mới vá xong đôi cánh. Giờ là lúc để thử nghiệm." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat10 = { UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0262", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Thật buồn cười, cứ mỗi lần không được dùng đến đôi cánh, ta lại cảm thấy bồn chồn." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat11 = { UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0263", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Ta muốn gửi lời chào trước khi lên đường đêm nay. Bảo trọng nhé." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat12 = { PlayFirst = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { Path = { "CurrentRun", "RoomsEntered" }, HasAny = { "Q_Boss01", "Q_Boss02" }, }, { PathTrue = { "CurrentRun", "Cleared" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0264", Text = "Ta biết đêm qua cô sẽ làm được, và ta nghĩ lần này cô cũng sẽ đi đến cùng." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat13 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { Path = { "CurrentRun", "BiomesReached" }, HasAny = { "F" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0265", Text = "Có lẽ đêm nay ta sẽ gặp cô ở Rãnh Nứt, trừ khi cô vẫn muốn đi xuống Địa Ngục." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat14 = { PlayFirst = true, UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { FunctionName = "RequiredAlive", FunctionArgs = { Units = { "NPC_Odysseus_01", }, Alive = true }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0266", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Ta đã báo cáo xong với Thầy Odysseus, đã đến lúc ta phải lên đường rồi." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat15 = { UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0267", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Để xem liệu ta có né tránh hết những cành cây khi bay lên đó không nhé?" }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat16 = { UseableOffSource = true, GiftableOffSource = true, PostBlockSpecialInteract = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0482", PostLineThreadedFunctionName = "IcarusHubExitPresentation", Text = "Lúc nào gặp cô ở đây cũng thấy vui cả, và biết đâu đêm nay ta lại gặp cô trên đó nhỉ?" }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat17 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0483", Text = "Dường như mọi việc ở đây đều diễn ra suôn sẻ. Đặc biệt là quanh cái đài phun nước này." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat18 = { PlayFirst = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { SumPrevRuns = 4, Path = { "EncountersOccurredCache" }, TableValuesToCount = { "IcarusCombatO", "IcarusCombatO2", "IcarusCombatP", "IcarusCombatP2" }, Comparison = "<=", Value = 0, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0484", Text = "Ta đã mong cô ghé qua và chào hỏi một tiếng. Hy vọng sẽ gặp lại cô ngoài kia vào một đêm nào đó." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat19 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { Path = { "CurrentRun", "EncountersOccurredCache" }, HasNone = { "IcarusCombatO", "IcarusCombatO2", "IcarusCombatP", "IcarusCombatP2" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0485", Text = "Đêm qua ta nhớ cô lắm, nhưng rất vui được gặp lại cô ở đây." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, IcarusHomeChat20 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "IcarusHomeFirstMeeting" }, }, { PathTrue = { "CurrentRun", "Cleared" }, }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.IcarusGreeting, { Cue = "/VO/Icarus_0486", Text = "Nghe nói đêm qua cô đã làm rất tốt, Meli! Vậy là cô lại tiếp tục lên đường sao?" }, EndGlobalVoiceLines = "MiscEndVoiceLines_Icarus", }, }, }, } -- Global Icarus Lines GlobalVoiceLines.IcarusGatherReactionVoiceLines = { { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.65, SuccessiveChanceToPlay = 0.5, SuccessiveChanceToPlayAll = 0.5, ObjectType = "NPC_Icarus_01", -- SkipCooldownCheckIfNonePlayed = true, GameStateRequirements = { { PathEmpty = { "RequiredKillEnemies" }, }, { PathFalse = { "CurrentRun", "Hero", "IsDead" } }, }, Cooldowns = { { Name = "IcarusAnyQuipSpeech", Time = 10 }, }, { Cue = "/VO/Icarus_0294", Text = "Ta chẳng để ý thứ đó luôn." }, { Cue = "/VO/Icarus_0295", Text = "Cần thêm nguyên liệu sao?" }, { Cue = "/VO/Icarus_0296", Text = "Của cô hết đấy." }, { Cue = "/VO/Icarus_0297", Text = "Có gì hay ho không?" }, { Cue = "/VO/Icarus_0537", Text = "Ta hiểu rồi!" }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.65, SuccessiveChanceToPlay = 0.5, SuccessiveChanceToPlayAll = 0.5, ObjectType = "NPC_Icarus_01", -- SkipCooldownCheckIfNonePlayed = true, GameStateRequirements = { { PathNotEmpty = { "RequiredKillEnemies" }, }, { PathFalse = { "CurrentRun", "Hero", "IsDead" } }, }, Cooldowns = { { Name = "IcarusAnyQuipSpeech", Time = 10 }, }, { Cue = "/VO/Icarus_0290", Text = "Tìm được gì không?" }, { Cue = "/VO/Icarus_0291", Text = "Tìm được thứ gì cô cần không?" }, { Cue = "/VO/Icarus_0292", Text = "Thu thập chiến lợi phẩm từ chiến trường!" }, { Cue = "/VO/Icarus_0293", Text = "Ta đã lo liệu xong cho cô rồi!" }, }, } GlobalVoiceLines.IcarusExorcismReactionVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.65, SuccessiveChanceToPlay = 0.5, SuccessiveChanceToPlayAll = 0.25, ObjectType = "NPC_Icarus_01", Cooldowns = { { Name = "IcarusSpokeRecently", Time = 4 }, }, { Cue = "/VO/Icarus_0516", Text = "Đi đến Crossroads." }, { Cue = "/VO/Icarus_0517", Text = "Tìm được một người khôn ngoan rồi!", PlayFirst = true }, { Cue = "/VO/Icarus_0518", Text = "Một tân binh khác." }, { Cue = "/VO/Icarus_0519", Text = "Vậy ra đó là cách cô làm sao." }, } GlobalVoiceLines.IcarusFishCaughtReactionVoiceLines = { BreakIfPlayed = true, RandomRemaining = true, PreLineWait = 0.85, Queue = "Interrupt", ObjectType = "NPC_Icarus_01", AllowTalkOverTextLines = true, GameStateRequirements = { OrRequirements = { { { Path = { "CurrentRun", "TextLinesRecord", }, HasAny = { "IcarusFishing01" }, }, { PathTrue = { "CurrentRun", "Hero", "IsDead" }, }, }, { { PathFalse = { "CurrentRun", "Hero", "IsDead" }, }, }, }, }, Cooldowns = { { Name = "IcarusAnyQuipSpeech", Time = 4 }, }, { Cue = "/VO/Icarus_0220", Text = "Oh {#Emph}wow!" }, { Cue = "/VO/Icarus_0221", Text = "Bắt được rồi!" }, -- { Cue = "/VO/Icarus_0222", Text = "A bite!" }, { Cue = "/VO/Icarus_0223", Text = "Thứ đó là gì vậy?" }, { Cue = "/VO/Icarus_0224", Text = "Khá lắm!", PlayFirst = true }, { Cue = "/VO/Icarus_0225", Text = "Rất tốt." }, { Cue = "/VO/Icarus_0226", Text = "Quả đúng là có thứ gì đó..." }, { Cue = "/VO/Icarus_0227", Text = "Thắng rồi!" }, { Cue = "/VO/Icarus_0228", Text = "Thành công!" }, } GlobalVoiceLines.IcarusReRollReactionVoiceLines = { BreakIfPlayed = true, RandomRemaining = true, PreLineWait = 0.5, ObjectType = "NPC_Icarus_01", { Cue = "/VO/Artemis_0371", Text = "How about these?", PlayFirst = true }, } GlobalVoiceLines.IcarusDeathReactionVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, Source = { LineHistoryName = "NPC_Icarus_01", SubtitleColor = Color.IcarusVoice }, { Cue = "/VO/Icarus_0493", Text = "Meli, có chuyện gì vậy? Đừng đi...!", PlayFirst = true }, { Cue = "/VO/Icarus_0494", Text = "Cô ấy đi rồi sao? Cô ấy đi rồi, cô ấy... ôi trời ơi..." }, { Cue = "/VO/Icarus_0556", Text = "Ah chết tiệt, Meli, không! Quay lại đi!" }, { Cue = "/VO/Icarus_0557", Text = "Chuyện gì xảy ra với cô vậy, cô đâu mất rồi?" }, } GlobalVoiceLines.MiscEndVoiceLines_Icarus = { { RandomRemaining = true, PreLineWait = 0.45, ObjectType = "NPC_Icarus_01", AllowTalkOverTextLines = true, GameStateRequirements = { { PathFalse = { "CurrentRun", "Hero", "IsDead" } }, }, { Cue = "/VO/Icarus_0053", Text = "Hãy cho ta biết nó hoạt động thế nào nhé!" }, { Cue = "/VO/Icarus_0054", Text = "Cô sẽ không thất vọng đâu.", PlayFirst = true }, { Cue = "/VO/Icarus_0055", Text = "Lựa chọn tốt đấy." }, { Cue = "/VO/Icarus_0056", Text = "Của cô đây." }, { Cue = "/VO/Icarus_0059", Text = "Bảo trọng nhé?" }, { Cue = "/VO/Icarus_0060", Text = "Làm sao ta biết được...?" }, { Cue = "/VO/Icarus_0109", Text = "Của cô đây." }, { Cue = "/VO/Icarus_0110", Text = "Hy vọng nó sẽ có ích." }, { Cue = "/VO/Icarus_0111", Text = "{#Emph}Ah{#Prev}, tuyệt." }, { Cue = "/VO/Icarus_0526", Text = "Cô đã sẵn sàng rồi!" }, { Cue = "/VO/Icarus_0527", Text = "Tốt lắm." }, { Cue = "/VO/Icarus_0541", Text = "Được rồi!" }, { Cue = "/VO/Icarus_0538", Text = "Aye-aye!" }, { Cue = "/VO/Icarus_0539", Text = "Tuân lệnh!" }, { Cue = "/VO/Icarus_0524", Text = "Cẩn thận với thứ đó nhé.", PlayFirst = true, GameStateRequirements = { { Path = { "CurrentRun", "Hero", "TraitDictionary" }, HasAny = { "CastHazardBoon" }, }, }, }, { Cue = "/VO/Icarus_0525", Text = "Cẩn thận với thứ đó nhé.", PlayFirst = true, GameStateRequirements = { { Path = { "CurrentRun", "Hero", "TraitDictionary" }, HasAny = { "CastHazardBoon" }, }, }, }, }, { BreakIfPlayed = true, RandomRemaining = true, PreLineWait = 0.65, UsePlayerSource = true, SuccessiveChanceToPlay = 0.15, AllowTalkOverTextLines = true, -- { Cue = "/VO/MelinoeField_0255", Text = "I'm grateful, milady." }, -- { Cue = "/VO/MelinoeField_0256", Text = "Night protect us...", PlayFirst = true }, }, { GlobalVoiceLines = "ThankingIcarusVoiceLines" }, -- [4] = { GlobalVoiceLines = "MedeaIncantationLines" }, } OverwriteTableKeys( EnemyData, UnitSetData.NPC_Icarus ) OverwriteTableKeys( NPCVariantData, VariantSetData.NPC_Icarus_01 )