UnitSetData.NPC_Chronos = { -- Chronos, Id = 561902 NPC_Chronos_01 = { InheritFrom = { "NPC_Neutral", "NPC_Giftable" }, Portrait = "Portrait_Chronos_Default_01", AlwaysShowInvulnerabubbleOnInvulnerableHit = true, InvincibubbleScale = 1.65, Groups = { "NPCs" }, SpeakerName = "Chronos", LoadPackages = { "Chronos", }, SubtitleColor = Color.ChronosVoice, EmoteOffsetY = -320, EmoteOffsetX = 85, ActivateRequirements = { -- }, PostActivateEvents = { { FunctionName = "GenericPresentation", Args = { ThingProperties = { GrannyTexture = "Models/Chronos/ChronosShadow_Color", }, }, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "F_PostBoss01" }, }, }, }, { FunctionName = "OverwriteSelf", Args = { LineHistoryName = "NPC_Unnamed_01", }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasNone = { "ChronosAnomalyIntro01", "ChronosReveal01B", "ChronosRevealFollowUp", "ChronosBossFirstMeeting_B", "ChronosBossFirstMeeting_C", }, }, }, }, { FunctionName = "OverwriteSelf", Args = { SkipInvulnerableOnHitPresentation = true, OnHitFunctionName = "DoChronosOnHitConversation", }, GameStateRequirements = { { PathTrue = { "GameState", "EncountersOccurredCache", "GeneratedAnomalyB" }, }, { PathFalse = { "GameState", "TextLinesRecord", "ChronosRevealFollowUp" }, }, { PathFalse = { "GameState", "RoomsEntered", "I_Boss01" }, }, }, }, }, DeathPresentationTextLineSets = { -- alt below ChronosAnomalyIntro01 = { PlayOnce = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathFalse = { "GameState", "TextLinesRecord", "ChronosAnomalyIntro01_B" }, }, { PathFalse = { "GameState", "RoomsEntered", "I_Boss01" }, }, }, -- SkipContextArt = true, { Cue = "/VO/Chronos_0147", Speaker = "NPC_Unnamed_01", Portrait = "Portrait_Chronos_Pained_01", SpeakerLabelOffsetY = 18, PreLineAnim = "Melinoe_Drop_Exit_FireLoop", PreLineAnimTarget = "Hero", Text = "Ta biết ngươi là ai. Ta biết ngươi đi đâu. Nhưng ngươi sẽ không đến được đó." }, { Cue = "/VO/MelinoeField_0246", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Thứ ma thuật này... Chronos! Ta sẽ chặt tay chân ngươi vì chuyện này. Vì tất cả!" }, { Cue = "/VO/Chronos_0152", Portrait = "Portrait_Chronos_Pained_01", Text = "Đáng sợ làm sao. Thật không may, bọn ta chưa thể biết được ngươi có phải mối đe dọa đáng bận tâm hay không, vì thời gian của ngươi sắp hết rồi. Ít nhất là cho đến khi một số vấn đề khác được giải quyết..." }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, { Cue = "/VO/MelinoeField_1682", Text = "Không!" }, }, }, }, ChronosAnomalyIntro01_B = { PlayOnce = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathFalse = { "GameState", "TextLinesRecord", "ChronosAnomalyIntro01" }, }, { PathTrue = { "GameState", "RoomsEntered", "I_Boss01" }, }, }, -- SkipContextArt = true, { Cue = "/VO/Chronos_0209", PreLineAnim = "Melinoe_Drop_Exit_FireLoop", PreLineAnimTarget = "Hero", Text = "I am afraid I must ask you to cease this at once..." }, { Cue = "/VO/MelinoeField_0246", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Thứ ma thuật này... Chronos! Ta sẽ chặt tay chân ngươi vì chuyện này. Vì tất cả!" }, { Cue = "/VO/Chronos_0152", Text = "Đáng sợ làm sao. Thật không may, bọn ta chưa thể biết được ngươi có phải mối đe dọa đáng bận tâm hay không, vì thời gian của ngươi sắp hết rồi. Ít nhất là cho đến khi một số vấn đề khác được giải quyết..." }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, { Cue = "/VO/MelinoeField_1682", Text = "Không!" }, }, }, }, }, InteractTextLineSets = { ChronosFirstMeeting = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "RoomsEntered", "F_PostBoss01" }, Comparison = ">=", Value = 2, }, { PathFalse = { "GameState", "RoomsEntered", "I_Boss01" }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_0142", Speaker = "NPC_Unnamed_01", SpeakerLabelOffsetY = 18, Portrait = "Portrait_Chronos_Averted_01", Text = "Xưng danh đi, dù ngươi là ai, cô bé? Và sao ngươi lại đi ra từ Erebus?" }, { Cue = "/VO/Melinoe_0093", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta không phải cô bé của ngươi, lão già. Tên của ta và việc của ta cũng không liên quan gì đến ngươi." }, { Cue = "/VO/Chronos_0143", Speaker = "NPC_Unnamed_01", SpeakerLabelOffsetY = 18, Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Có lẽ là vậy. Có vẻ như ngươi khá vội vàng nhỉ. Hãy tha thứ cho lỗi lầm của lão già này..." }, EndVoiceLines = { { PreLineWait = 1.65, UsePlayerSource = true, { Cue = "/VO/Melinoe_1947", Text = "{#Emph}" }, }, }, }, ChronosMeeting02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "RoomCountCache", "F_PostBoss01", }, Comparison = ">=", Value = 2, }, { PathFalse = { "GameState", "EncountersOccurredCache", "GeneratedAnomalyB" }, }, { PathFalse = { "GameState", "RoomsEntered", "I_Boss01" }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_0144", Speaker = "NPC_Unnamed_01", SpeakerLabelOffsetY = 18, Portrait = "Portrait_Chronos_Averted_01", Text = "Ngươi đã quay lại. Hoặc đang lạc lối trong những con đường dài vô tận phía bên kia." }, { Cue = "/VO/MelinoeField_0244", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta biết nơi ta đi. Và ta đang nói chuyện với ai đây? Và ngươi đang làm gì ở một nơi như thế này?" }, { Cue = "/VO/Chronos_0145", Speaker = "NPC_Unnamed_01", SpeakerLabelOffsetY = 18, Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "{#Emph}Tên của ta và việc của ta không liên quan đến ngươi{#Prev}, đó chẳng phải những điều ngươi đã nói sao? {#Emph}Ahh{#Prev}, bọn trẻ thời nay thật hỗn xược..." }, EndVoiceLines = { { PreLineWait = 1.35, UsePlayerSource = true, { Cue = "/VO/MelinoeField_0245", Text = "Chờ đã..." }, }, }, }, ChronosReveal01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "RoomCountCache", "F_PostBoss01", }, Comparison = ">=", Value = 3, }, { PathTrue = { "GameState", "EncountersOccurredCache", "GeneratedAnomalyB" }, }, { PathFalse = { "GameState", "TextLinesRecord", "ChronosReveal01B" }, }, { PathFalse = { "GameState", "RoomsEntered", "I_Boss01" }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, -- see ChronosRevealFollowUp below SkipClearRoomRequiredObject = true, { Cue = "/VO/Chronos_0146", StartSound = "/Leftovers/Menu Sounds/TextReveal5FilterSweep", PreLineThreadedFunctionName = "StartChronosFakeBossMusic", PreLineAnim = "MelinoeActionIdle", PreLineAnimTarget = "Hero", Portrait = "Portrait_Chronos_Averted_01", Text = "Dường như ngươi biết rõ đường đi nơi này. Ta là chủ nhân của vùng đất này, nhưng ngay cả ta cũng chưa từng mạo hiểm vào khu rừng kia. Thậm chí ngươi còn tìm được đường trở về sau khi lạc vào Asphodel..." }, { Cue = "/VO/Melinoe_0035", UsePlayerSource = true, PreContentSound = "/Leftovers/Menu Sounds/TextReveal3", Portrait = "Portrait_Mel_Intense_01", PostLineThreadedFunctionName = "StartChronosFakeBossPresentation", Text = "Ngươi là đồ khốn, Chronos...!" }, EndVoiceLines = { RecheckRequirementsForSubLines = true, RecheckRequirementsPostWait = true, GameStateRequirements = { { PathFalse = { "CurrentRun", "TextLinesRecord", "ChronosRevealFollowUp" }, }, }, { Cue = "/VO/Chronos_0020", Text = "Nữ Thần Định Mệnh hiện tại không thể giúp ngươi được nữa...", PreLineWait = 0.35, PreLineAnim = "Enemy_Chronos_Shadowed_Greeting" }, { Cue = "/VO/Chronos_0301", Text = "Time is running out...", PreLineWait = 4, PreLineAnim = "Enemy_Chronos_Shadowed_Greeting" }, { Cue = "/VO/Chronos_0333", Text = "Embarrassing.", PreLineWait = 4, PreLineAnim = "Enemy_Chronos_Shadowed_Greeting" }, { Cue = "/VO/Chronos_0591", Text = "Vậy chúng ta hãy cùng chờ xem...", PreLineWait = 5, PreLineAnim = "Enemy_Chronos_Shadowed_Greeting" }, }, }, ChronosMeeting03 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChronosAnomalyIntro01", "ChronosBossFirstMeeting", "ChronosBossFirstMeeting_B", "ChronosBossFirstMeeting_C" }, }, { Path = { "GameState", "RoomCountCache", "F_PostBoss01", }, Comparison = ">=", Value = 5, }, { Path = { "PrevRun", "TextLinesRecord" }, HasNone = { "ChronosBossFirstMeeting", "ChronosBossFirstMeeting_B", "ChronosBossFirstMeeting_C" }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_0031", Portrait = "Portrait_Chronos_Averted_01", Text = "Ngươi, cháu gái, ngươi đang can thiệp vào những chuyện mà ngươi không hiểu rõ vấn đề. Cha của ngươi đã đưa ra những quyết định cụ thể; hắn bị ràng buộc bởi những lựa chọn đó, nhưng ngươi thì không. Ngươi không cần phải chọn theo con đường đầy thống khổ của hắn." }, { Cue = "/VO/Melinoe_0163", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "{#Emph}Thống khổ?! Chính ngươi {#Prev}đã mang đến sự hủy diệt cho Địa Ngục và Trần Gian! Ta sẽ không bao giờ bỏ qua những việc ngươi đã làm. Giờ thì, trò chuyện như thế đủ rồi!" }, { Cue = "/VO/Chronos_0032", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 2.0 }, Text = "Thật hứng thú làm sao! Ngươi thực sự nghĩ rằng ngươi có thể ngăn chặn Thời Gian sao? Vậy thì... ta muốn xem ngươi sẽ làm bằng cách nào." }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, TriggerCooldowns = { "MelinoeRemainsSilent" }, { Cue = "/VO/Melinoe_0164", Text = "Thế thì xem đây!" }, }, { PreLineWait = 0.5, { Cue = "/VO/Intercom_0023", Text = "{#Emph}" }, }, { PreLineWait = 0.35, UsePlayerSource = true, { Cue = "/VO/Melinoe_0322", Text = "{#Emph}Grr!" }, }, }, }, ChronosMeeting04 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChronosMeeting03" }, }, { Path = { "GameState", "RoomCountCache", "F_PostBoss01", }, Comparison = ">=", Value = 7, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosMeeting03" }, Min = 2 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_0034", Portrait = "Portrait_Chronos_Averted_01", Text = "Ngươi chui ra từ tảng đá nào vậy, hm? Đội quân của ta đang khá bối rối! Bọn chúng không biết ngươi đến từ đâu! Vậy nên, ta sẽ hỏi ngươi một các lịch sự ở đây." }, { Cue = "/VO/Melinoe_0166", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Ta bước ra từ những cơn ác mộng của ngươi, Titan. Ta lớn mạnh nhờ chúng! Ta nhìn thấy cái chết tìm đến ngươi, và sau đó ngươi bị tiêu diệt. Bất kể bao lâu đi chăng nữa." }, { Cue = "/VO/Chronos_0035", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "{#Emph}Bao lâu cũng được sao? {#Prev}Ngươi đang nói đến thứ tất yếu đấy, cô bé. Tình cờ thay, ta lại là chuyên gia trong việc đó. Còn về kẻ đã cử ngươi đến tìm ta... ta sẽ tìm ra hắn." }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, { Cue = "/VO/Melinoe_0167", Text = "Để rồi xem!" }, }, }, }, ChronosMeeting05 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChronosMeeting04" }, }, { Path = { "GameState", "RoomCountCache", "F_PostBoss01", }, Comparison = ">=", Value = 9, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosMeeting04" }, Min = 2 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0077", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Ngươi vẫn rất kiên trì, mặc dù ta đã cố khuyên nhủ ngươi một cách tử tế. Vậy thì, được thôi! Ngươi cứ tiếp tục làm loạn, trong khi ta sẽ tập trung vào những việc quan trọng hơn..." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/Melinoe_0580", Text = "{#Emph}Ugh..." }, }, }, }, ChronosPostSurfaceMeeting01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChronosAnomalyIntro01", "ChronosBossFirstMeeting", "ChronosBossFirstMeeting_B", "ChronosBossFirstMeeting_C" }, }, { Path = { "GameState", "RoomCountCache", "F_PostBoss01", }, Comparison = ">=", Value = 11, }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeSurfacePenaltyCure" }, }, { PathTrue = { "PrevRun", "RoomCountCache", "N_Opening01" }, }, { PathFalse = { "PrevRun", "RoomsEntered", "P_Intro" } }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0157", Portrait = "Portrait_Chronos_Averted_01", Text = "Ta đang bắt đầu nghĩ rằng mình đã thành công trong việc thuyết phục ngươi, cho đến khi ta biết ngươi đang xâm phạm đến một nơi khác. Ngươi dám mạo hiểm lên trần gian ư?" }, { Cue = "/VO/MelinoeField_0494", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Ta đã tận mắt chứng kiến việc ngươi đã làm trên đó. Mở phong ấn Cổng Địa Ngục! Và mang thảm họa đến với những người phàm không hề liên quan gì đến mối thù nhỏ nhặt của ngươi." }, { Cue = "/VO/Chronos_0158", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Ngươi đang nói đến Thành Phố Ephyra đổ nát, nơi tôn thờ người cha ngạo mạn của ngươi. Có lẽ bọn người phàm còn sót lại ở đó sẽ suy nghĩ kỹ hơn cho lần sau trước khi đặt niềm tin vào {#Emph}các vị thần." }, EndVoiceLines = { { PreLineWait = 1.0, UsePlayerSource = true, { Cue = "/VO/MelinoeField_0495", Text = "Đồ hèn..." }, }, }, }, ChronosPostSurfaceMeeting02 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChronosPostSurfaceMeeting01" }, }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeSurfacePenaltyCure" }, }, { PathTrue = { "PrevRun", "RoomCountCache", "N_Opening01" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosPostSurfaceMeeting01", "ChronosPostSurfaceMeeting03" }, Min = 2 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0159", Portrait = "Portrait_Chronos_Averted_01", Text = "Ngươi biết đấy, ngươi chẳng thể làm gì để giúp bọn thần ở phía trên được. Đội quân của ta rất đông đảo, và cái chết chẳng có nghĩa lý gì với chúng. Và cả nỗ lực của ngươi ở đây cũng chẳng mang lại kết quả gì." }, { Cue = "/VO/MelinoeField_0496", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Đội quân của ngươi trên trần gian đang chiến đấu đến chết vì ngươi, nhưng ngươi lại nấp ở đây, phía sau chúng. Nếu ngươi chắc chắn về chiến thắng cuộc chiến này, ngươi sẽ dẫn đầu bọn chúng." }, { Cue = "/VO/Chronos_0160", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Ôi, cháu gái, người lãnh đạo không nhất thiết phải làm tất cả mọi việc một mình. Đó là việc đảm bảo những kẻ khác có cùng lý tưởng và phương pháp của ngươi. Ta khá chắc, bất kể ngươi đi đâu, ngươi cũng sẽ gặp nhiều kẻ ủng hộ quan điểm của ta." }, EndVoiceLines = { { PreLineWait = 0.5, UsePlayerSource = true, { Cue = "/VO/MelinoeField_0497", Text = "Cũng không thiếu những kẻ ngu ngốc như ngươi..." }, }, }, }, -- intentionally plays before 2 ChronosPostSurfaceMeeting03 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChronosPostSurfaceMeeting02" }, }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeSurfacePenaltyCure" }, }, { PathTrue = { "PrevRun", "RoomCountCache", "N_Opening01" }, }, { PathFalse = { "PrevRun", "Cleared" }, }, { Path = { "GameState", "ClearedSurfaceRunsCache" }, Comparison = "<", Value = 1, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosPostSurfaceMeeting01", "ChronosPostSurfaceMeeting02" }, Min = 2 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0161", Portrait = "Portrait_Chronos_Averted_01", Text = "Cho đến giờ vẫn chưa có chiến thắng nào trên trần gian đúng không? Có vẻ như ngươi có đến hai việc vô vọng thay vì một đấy." }, { Cue = "/VO/MelinoeField_0498", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Ta chỉ có một và không có hy vọng nào liên quan đến nó cả. Có lẽ ta chưa thể ngăn chặn được ngươi, nhưng ngươi cũng không thể ngăn cản ta. Ngươi đã cố thử nhưng không được." }, { Cue = "/VO/Chronos_0162", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Ta phải thừa nhận rằng ngươi vùng vẫy tốt hơn những thành viên khác trong gia đình ngươi. Vậy thì để xem, nhưng cuộc phiêu lưu của ngươi lên trần gian hoặc đến những nơi sâu thẳm đến tận cùng này, cuối cùng sẽ đạt được điều gì!" }, EndVoiceLines = { { PreLineWait = 0.5, UsePlayerSource = true, { Cue = "/VO/MelinoeField_0499", Text = "Rồi chúng ta sẽ sớm biết thôi." }, }, }, }, ChronosPostSurfaceMeeting04 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChronosPostSurfaceMeeting03" }, }, { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeSurfacePenaltyCure" }, }, { SumPrevRuns = 4, Path = { "BiomesReached", "N" }, IgnoreCurrentRun = true, CountPathTrue = true, Comparison = ">=", Value = 3, }, { Path = { "PrevRun", "RoomsEntered" }, HasAny = { "N_Boss01", "N_Boss02" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosPostSurfaceMeeting02", "ChronosPostSurfaceMeeting03" }, Min = 2 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0611", Portrait = "Portrait_Chronos_Averted_01", Text = "Cuối cùng thì ngươi đã quay về môi trường quen thuộc hơn rồi, cô bé. Cả những vị thần lẫn Nữ Thần Định Mệnh đều không muốn ngươi xuất hiện ở trần gian của thế giới này! Vậy mà ngươi vẫn cố gắng chiến đấu ở đó vì chúng." }, { Cue = "/VO/MelinoeField_2022", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Ta đoán đêm nay ta sẽ được chào đón nồng nhiệt hơn ở nhà của cha ta nhỉ? Như ngươi đã thấy đấy, ta cũng sẵn sàng để chiến đấu như ở trên đó" }, { Cue = "/VO/Chronos_0612", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "{#Emph}Ah{#Prev}, nhưng ngươi vẫn còn một chặng đường dài phải đi! Nhưng bị buộc phải đi bộ trên đôi chân, như một kẻ phàm trần đáng thương. Hãy đảm bảo ngươi vẫn giữ lại một phần sức mạnh cho chặng đường cuối cùng." }, EndVoiceLines = { { PreLineWait = 0.9, UsePlayerSource = true, { Cue = "/VO/MelinoeField_2023", Text = "{#Emph}Ungh..." }, }, }, }, ChronosPostBattleMeeting01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "I_Boss01" }, }, { Path = { "GameState", "ClearedUnderworldRunsCache" }, Comparison = "<", Value = 1, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0210", Portrait = "Portrait_Chronos_Averted_01", Text = "Ta đã nghĩ rằng ta sẽ tìm thấy ngươi ở đây, cháu gái. Ánh mắt ngươi đầy sự quyết tâm! Những thành viên trong gia đình chúng ta có thể cố chấp đến mức nào? Ngươi đã học được gì từ những lần trò chuyện của chúng ta?" }, { Cue = "/VO/MelinoeField_1400", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Ô, ta đã học được rất nhiều, và ta rất háo hức muốn học thêm. Vậy sao ngươi không tránh đường cho ta, vì ngươi chẳng thể làm gì ta trong khu rừng này ngoại trừ việc cố gắng khiến ta chậm lại?" }, { Cue = "/VO/Chronos_0211", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Vượt qua ranh giới của lý trí và rất tự tin. Được thôi! Hãy đến tìm ta nếu ngươi muốn học hỏi thêm nhiều điều. Ngươi biết nơi ta ở rồi đấy. Ta không trốn tránh các vị thần." }, EndVoiceLines = { { PreLineWait = 0.5, UsePlayerSource = true, { Cue = "/VO/MelinoeField_1401", Text = "Hẹn gặp ngươi sau..." }, }, }, }, ChronosPostBattleMeeting02 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "I_Boss01" }, }, { PathTrue = { "PrevRun", "RoomsEntered", "N_Opening01" }, }, { Path = { "GameState", "RoomsEntered", "I_Boss01" }, Comparison = ">=", Value = 3, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0004", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Cháu gái, đừng tưởng những việc ngươi làm là vô hình đối với ta! Ta thấy rõ nơi ngươi đứng. Một sự xâm phạm mà ngươi phải gánh chịu hậu quả, đáng tiếc là không phải bởi tay ta lúc này. Chưa thôi." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosPostBattleMeeting03 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "I_Boss01" }, }, { Path = { "GameState", "RoomsEntered", "I_Boss01" }, Comparison = ">=", Value = 3, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0005", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Ta chính là Thời Gian. Còn ngươi là thứ gì? Một tên nô lệ của những kẻ tự xưng là thần, phụng sự mù quáng theo ý muốn của chúng. Những đứa con của ta thật xảo quyệt... đối với chúng, ngươi chẳng là gì ngoài thứ công cụ tầm thường! Và đối với ta, ngươi còn vô dụng hơn thế." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosPostBattleMeeting04 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "I_Boss01" }, }, { PathTrue = { "GameState", "TextLinesRecord", "ChronosNightmare01" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosPostBattleMeeting02", "ChronosPostBattleMeeting03", -- "ChronosPostBattleMeeting04", }, Min = 3 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0006", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Nếu có điều gì mà bọn Nữ Thần Định Mệnh đáng nguyền rủa và ta đồng thuận, thì đó là sự suy tàn. Tất cả đều sính ra từ hư vô, và chúng sẽ trở về với Hỗn Loạn. Ngươi chỉ đang thúc đẩy điều đó xảy ra nhanh hơn thôi." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosPostWinStreakMeeting01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "EnemyKills", "Chronos" }, Comparison = ">=", Value = 4, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0613", Portrait = "Portrait_Chronos_Averted_01", Text = "Đây rồi, sát thủ bóng đêm của chúng ta đang thực hiện nhiệm vụ hàng đêm của mình để hãm hại ta! Mặc dù có lẽ lần này kết quả không được may mắn như mong đợi." }, { Cue = "/VO/MelinoeField_2024", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Rồi chúng ta sẽ sớm biết thôi, nhỉ? Ta hứa sẽ không để ngươi phải chờ đợi lâu đâu. Như ngươi đang thấy đấy, ta đang đi đúng hướng đến chỗ ngươi." }, { Cue = "/VO/Chronos_0614", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Ô, ta có thể thấy điều đó. Vậy thì, tốt nhất ta nên quay về và chuẩn bị sẵn sàng! Suy cho cùng thì bọn ta cũng phải dọn dẹp để đón tiếp ngươi. Hẹn sớm gặp lại." }, EndVoiceLines = { { PreLineWait = 0.6, UsePlayerSource = true, { Cue = "/VO/MelinoeField_2025", Text = "...Cứ chờ đi." }, }, }, }, ChronosMeetingAboutZeus01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "CurrentRun", "UseRecord", "ZeusUpgrade" }, }, { PathTrue = { "GameState", "TextLinesRecord", "ChronosMeeting05" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosMeeting05", -- "ChronosMeetingAboutZeus01", "ChronosMeetingAboutPoseidon01", "ChronosMeetingAboutHestia01", "ChronosMeetingAboutDemeter01", "ChronosMeetingAboutHera01", }, Min = 4 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0615", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Zues, con trai yêu quý của ta đã giúp đỡ ngươi trong cuộc đi săn này sao? Ta không sợ tiếng sấm ầm ĩ của hắn, hắn cũng chỉ là tên nhóc ngu ngốc." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutPoseidon01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "CurrentRun", "UseRecord", "PoseidonUpgrade" }, }, { PathTrue = { "GameState", "TextLinesRecord", "ChronosMeeting05" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosMeeting05", "ChronosMeetingAboutZeus01", -- "ChronosMeetingAboutPoseidon01", "ChronosMeetingAboutHestia01", "ChronosMeetingAboutDemeter01", "ChronosMeetingAboutHera01", }, Min = 4 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0616", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "{#Emph}Ah{#Prev}, vậy là Poseidon đã ban phước cho ngươi sao? Thế ngươi định dùng nó làm gì... tạt nước vào ta sao?" }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutHestia01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "CurrentRun", "UseRecord", "HestiaUpgrade" }, }, { PathTrue = { "GameState", "TextLinesRecord", "ChronosMeeting05" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosMeeting05", "ChronosMeetingAboutZeus01", "ChronosMeetingAboutPoseidon01", -- "ChronosMeetingAboutHestia01", "ChronosMeetingAboutDemeter01", "ChronosMeetingAboutHera01", }, Min = 4 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0619", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Nữ thần bếp lửa đã ban phước cho ngươi sao? Không có ngọn lửa nào mà Thời Gian không thể dập tắt được." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutDemeter01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "CurrentRun", "UseRecord", "DemeterUpgrade" }, }, { PathTrue = { "GameState", "TextLinesRecord", "ChronosMeeting05" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosMeeting05", "ChronosMeetingAboutZeus01", "ChronosMeetingAboutPoseidon01", "ChronosMeetingAboutHestia01", -- "ChronosMeetingAboutDemeter01", "ChronosMeetingAboutHera01", }, Min = 4 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0617", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Nữ Thần mùa màn Demeter đang thúc giục ngươi đi săn sao? Đáng tiếc, ở Địa Ngục không có mùa khác." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutHera01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "CurrentRun", "UseRecord", "HeraUpgrade" }, }, { PathTrue = { "GameState", "TextLinesRecord", "ChronosMeeting05" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosMeeting05", "ChronosMeetingAboutZeus01", "ChronosMeetingAboutPoseidon01", "ChronosMeetingAboutHestia01", "ChronosMeetingAboutDemeter01", -- "ChronosMeetingAboutHera01", }, Min = 4 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0618", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Nữ Hoàng của Các Vị Thần đã ban phước cho ngươi sao? Chẳng phải cô ta bận chủ trì những đám cưới trần tục sao?" }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutOlympians01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "PrevRun", "BiomesReached", "F" }, }, { Path = { "PrevRun" }, HasNone = { "Cleared", "ActiveBounty" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ChronosMeetingAboutZeus01", "ChronosMeetingAboutPoseidon01", "ChronosMeetingAboutHestia01", "ChronosMeetingAboutDemeter01", "ChronosMeetingAboutHera01", }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosMeetingAboutZeus01", "ChronosMeetingAboutPoseidon01", "ChronosMeetingAboutHestia01", "ChronosMeetingAboutDemeter01", "ChronosMeetingAboutHera01", }, Min = 4 }, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0620", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Thử hết những gì ngươi thích đi, cháu gái; nhưng kết quả của đêm nay sẽ chẳng khác gì so với đêm trước." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutPrometheus01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "PrevRun", "RoomsEntered", "P_Boss01" }, }, { PathFalse = { "PrevRun", "ActiveBounty" }, }, { PathFalse = { "PrevRun", "RoomsEntered", "Q_Intro" }, }, -- ignoring CurrentRun, not spawned PrevRun or the run before { SumPrevRuns = 3, IgnoreCurrentRun = true, Path = { "SpawnRecord", "NPC_Chronos_01" }, Comparison = "<=", Value = 0, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0911", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Prometheus xảo quyệt đã khiến ngươi vất vả, đến nỗi ngươi nghĩ rằng ngươi có thể dễ dàng đối đầu với ta ư?" }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutPrometheus02 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "P_Boss01" }, }, { SumPrevRuns = 4, Path = { "BiomesReached", "F" }, CountPathTrue = true, Comparison = ">=", Value = 4, }, -- ignoring CurrentRun, not spawned PrevRun, the run before that, or the run before that { SumPrevRuns = 4, IgnoreCurrentRun = true, Path = { "SpawnRecord", "NPC_Chronos_01" }, Comparison = "<=", Value = 0, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0912", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Trong khi ngươi đang vùng vẫy chống lại ta ở đây, thì Prometheus đã khiến người thân của ngươi phải chật vật..." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutTyphon01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathFalse = { "GameState", "TyphonDefeatedWithStormStop" }, }, { PathTrue = { "GameState", "RoomsEntered", "Q_Intro" }, }, { PathTrue = { "GameState", "RoomsEntered", "N_Opening01" }, }, { Path = { "PrevRun" }, HasNone = { "Cleared", "ActiveBounty" }, }, { SumPrevRuns = 3, IgnoreCurrentRun = true, Path = { "SpawnRecord", "NPC_Chronos_01" }, Comparison = "<=", Value = 0, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0908", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Vậy là ngươi đã thấy điều gì sẽ xảy ra với Olympus, và từ bỏ con đường liều lĩnh đó... sẽ sớm thôi, con đường này cũng vậy." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutTyphonW01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathFalse = { "GameState", "TyphonDefeatedWithStormStop" }, }, { Path = { "PrevRun", "RoomsEntered" }, HasAny = { "Q_Boss01", "Q_Boss02" }, }, { PathTrue = { "PrevRun", "Cleared" } }, { SumPrevRuns = 4, IgnoreCurrentRun = true, Path = { "SpawnRecord", "NPC_Chronos_01" }, Comparison = "<=", Value = 0, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0909", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Ta không biết ngươi đã đánh bại Quái Vật Thủy Tổ bằng cách nào, nhưng điều đó chỉ khiến hắn tức giận hơn." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutTyphon02 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { PathFalse = { "GameState", "TyphonDefeatedWithStormStop" }, }, { PathTrue = { "GameState", "RoomsEntered", "Q_Boss01" }, }, { SumPrevRuns = 4, Path = { "BiomesReached", "F" }, CountPathTrue = true, Comparison = ">=", Value = 4, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0910", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Nếu ta là ngươi, ta sẽ quan tâm đến những gì đang diễn ra trên đỉnh Olympus. Nghe nói Typhon đang rất tức giận..." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, ChronosMeetingAboutShrine01 = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "GameState", "SpentShrinePointsCache" }, Comparison = ">=", Value = 12, }, { SumPrevRuns = 4, IgnoreCurrentRun = true, Path = { "SpawnRecord", "NPC_Chronos_01" }, Comparison = "<=", Value = 0, }, }, OnQueuedFunctionName = "ChronosNPCSetup", { Cue = "/VO/Chronos_0913", Portrait = "Portrait_Chronos_Averted_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.35 }, Text = "Đêm nay không khí có vẻ ngột ngạt... có lẽ chính ngươi đã gây ra điều đó, nhưng nó sẽ chẳng giúp ích gì cho ngươi đâu." }, EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, }, -- see PostActivateEvents for OnHitFunctionName setup OnHitTextLinePriorities = { "ChronosReveal01B", "ChronosRevealFollowUp", }, UseBossHealthBar = true, NeverLeavesShadeMerc = true, EarlyExit = true, -- used to prevent health bar from appearing too early MaxHealth = 99999, HealthBarTextId = "Chronos_Full", OnHitTextLineSets = { ChronosReveal01B = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, GameStateRequirements = { { Path = { "CurrentRun", "TextLinesRecord" }, HasNone = { "ChronosReveal01" }, }, { PathFalse = { "GameState", "RoomsEntered", "I_Boss01" } }, }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.ChronosGreeting, SkipClearRoomRequiredObject = true, { Cue = "/VO/Chronos_0156", InputDelay = 1.8, StartSound = "/Leftovers/Menu Sounds/TextReveal5FilterSweep", PreLineThreadedFunctionName = "StartChronosFakeBossMusic", PreLineAnim = "MelinoeActionIdle", PreLineAnimTarget = "Hero", Portrait = "Portrait_Chronos_Averted_01", Text = "Cơn thịnh nộ đó! Quằn quại như một đứa nhóc bướng bỉnh. Nếu muốn đấu với ta thì cứ việc đến đây...!" }, { Cue = "/VO/Melinoe_0035", UsePlayerSource = true, PreContentSound = "/Leftovers/Menu Sounds/TextReveal3", Portrait = "Portrait_Mel_Intense_01", PostLineThreadedFunctionName = "StartChronosFakeBossPresentation", Text = "Damn you, Chronos...!" }, EndVoiceLines = { RecheckRequirementsForSubLines = true, RecheckRequirementsPostWait = true, GameStateRequirements = { { PathFalse = { "CurrentRun", "TextLinesRecord", "ChronosRevealFollowUp" }, }, }, { Cue = "/VO/Chronos_0020", Text = "The Fates cannot help you now...", PreLineWait = 0.35, PreLineAnim = "Enemy_Chronos_Shadowed_Greeting" }, { Cue = "/VO/Chronos_0301", Text = "Time is running out...", PreLineWait = 4, PreLineAnim = "Enemy_Chronos_Shadowed_Greeting" }, { Cue = "/VO/Chronos_0333", Text = "Embarrassing.", PreLineWait = 4, PreLineAnim = "Enemy_Chronos_Shadowed_Greeting" }, { Cue = "/VO/Chronos_0591", Text = "Then let us wait...", PreLineWait = 5, PreLineAnim = "Enemy_Chronos_Shadowed_Greeting" }, }, }, ChronosRevealFollowUp = { PlayOnce = true, UseableOffSource = true, SkipPreNarrativeUnequip = true, AngleHeroTowardTargetId = 561902, GameStateRequirements = { { Path = { "CurrentRun", "TextLinesRecord" }, HasAny = { "ChronosReveal01", "ChronosReveal01B" }, } }, { Cue = "/VO/Chronos_0075", PreLineWait = 0.4, InputDelay = 1.8, Portrait = "Portrait_Chronos_Pained_01", Text = "{#Emph}Oh{#Prev}, dừng lại. Thật đáng tiếc khi cháu gái ta vừa yếu đuối lại vừa ngu ngốc, mặc dù cũng có chút khó đoán. Ta nên cảm ơn những Nữ Thần Định Mệnh vì cuối cùng chúng ta đã gặp nhau." }, { Cue = "/VO/Melinoe_0095", UsePlayerSource = true, Portrait = "Portrait_Mel_Intense_01", Text = "Nữ Thần Định Mệnh không liên quan đến chuyện này. Ngươi đã cướp gia đình ta khỏi ta." }, { Cue = "/VO/Chronos_0076", PreLineThreadedFunctionName = "StopSecretMusic", PreLineThreadedFunctionArgs = { true }, Portrait = "Portrait_Chronos_Pained_01", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 0.3, CheckCodex = true }, Text = "{#Emph}Gia đình chúng ta! {#Prev}Đừng phạm phải những sai lầm tương tự chúng, và theo thời gian, chúng ta sẽ vượt qua khởi đầu đầy rắc rối trong mối quan hệ này. Hẹn gặp lại ngươi sau." }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, { Cue = "/VO/Melinoe_0096", Text = "Chờ đã! Ngươi..." }, }, }, }, }, RepulseOnMeleeInvulnerableHit = 250, OnHitVoiceLines = { GameStateRequirements = { { PathFromArgs = true, Path = { "SourceProjectile", }, IsNone = { "FrogFamiliarLand", "CatFamiliarPounce", "RavenFamiliarMelee" }, }, { Path = { "CurrentRun", "TextLinesRecord" }, HasNone = { "ChronosMeeting03" }, }, }, { Queue = "Interrupt", PlayOnceFromTableThisRun = true, UsePlayerSource = true, BreakIfPlayed = true, PreLineWait = 0.25, GameStateRequirements = { { PathTrue = { "GameState", "EncountersOccurredCache", "GeneratedAnomalyB" }, }, { Path = { "GameState", "TextLinesRecord" }, HasNone = { "ChronosReveal01", "ChronosReveal01B" }, }, { PathFalse = { "GameState", "RoomsEntered", "I_Boss01" }, }, }, { Cue = "/VO/Melinoe_0304", Text = "Suffer!" }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.25, ObjectType = "NPC_Chronos_01", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChronosAnomalyIntro01", "ChronosBossFirstMeeting", "ChronosBossFirstMeeting_B", "ChronosBossFirstMeeting_C" }, }, { Path = { "GameState", "TextLinesRecord" }, HasNone = { "ChronosReveal01", "ChronosReveal01B", "ChronosPostBattleMeeting01" }, }, }, Cooldowns = { { Name = "ChronosSpokeRecently", Time = 10 }, }, { Cue = "/VO/Chronos_0153", Text = "Temper!", PlayFirst = true, }, { Cue = "/VO/Chronos_0154", Text = "The {#Emph}nerve!" }, }, { Queue = "Interrupt", RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.25, ObjectType = "NPC_Chronos_01", GameStateRequirements = { { FunctionName = "RequiredQueuedTextLine", FunctionArgs = { IsAny = { "ChronosMeetingAboutZeus01", "ChronosMeetingAboutPoseidon01", "ChronosMeetingAboutHestia01", "ChronosMeetingAboutDemeter01", "ChronosMeetingAboutHera01", "ChronosPostBattleMeeting02", "ChronosPostBattleMeeting03", "ChronosPostBattleMeeting04", "ChronosMeetingAboutOlympians01", }, }, }, }, Cooldowns = { { Name = "ChronosSpokeRecently", Time = 10 }, }, PreLineFunctionName = "GenericPresentation", PreLineFunctionArgs = { UseableOff = true }, PostLineFunctionName = "ChronosExit", PostLineFunctionArgs = { AnimationState = "NPCChronosExited" }, { Cue = "/VO/Chronos_0014", Text = "I think not." }, { Cue = "/VO/Chronos_0094", Text = "Oh, {#Emph}please..." }, { Cue = "/VO/Chronos_0095", Text = "That shall not work." }, { Cue = "/VO/Chronos_0096", Text = "You waste your time." }, { Cue = "/VO/Chronos_0097", Text = "Such youthful arrogance." }, { Cue = "/VO/Chronos_0098", Text = "I can wait..." }, { Cue = "/VO/Chronos_0099", Text = "Your wrath is all for naught." }, { Cue = "/VO/Chronos_0153", Text = "{#Emph}Temper!" }, { Cue = "/VO/Chronos_0154", Text = "The {#Emph}nerve!" }, { Cue = "/VO/Intercom_0023", Text = "{#Emph}" }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.25, ObjectType = "NPC_Chronos_01", GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChronosReveal01", "ChronosReveal01B", "ChronosBossFirstMeeting", "ChronosBossFirstMeeting_B", "ChronosBossFirstMeeting_C" }, }, }, Cooldowns = { { Name = "ChronosSpokeRecently", Time = 10 }, }, { Cue = "/VO/Chronos_0528", Text = "Hah!", PlayFirst = true, }, { Cue = "/VO/Chronos_0014", Text = "I think not." }, { Cue = "/VO/Chronos_0094", Text = "Oh, {#Emph}please..." }, { Cue = "/VO/Chronos_0095", Text = "That shall not work." }, { Cue = "/VO/Chronos_0096", Text = "You waste your time." }, { Cue = "/VO/Chronos_0097", Text = "Such youthful arrogance." }, { Cue = "/VO/Chronos_0098", Text = "I can wait..." }, { Cue = "/VO/Chronos_0099", Text = "Your wrath is all for naught." }, { Cue = "/VO/Chronos_0153", Text = "{#Emph}Temper!", GameStateRequirements = { { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosRevealFollowUp" }, Min = 5 }, }, }, }, { Cue = "/VO/Chronos_0154", Text = "The {#Emph}nerve!", GameStateRequirements = { { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosRevealFollowUp" }, Min = 5 }, }, }, }, }, }, Using = { "ChronosInvincibubble", "Chronos360BlockFront", }, }, NPC_Chronos_Story_01 = { InheritFrom = { "NPC_Chronos_01" }, UseTextSpecial = "ChronosUseTextSpecial", SpecialInteractFunctionName = "SpecialInteractThreatenChronos", SpecialInteractGameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "I_DeathAreaRestored" }, }, { PathFalse = { "GameState", "TextLinesRecord", "TrueEnding02", }, }, }, SpecialInteractCooldown = 999, InteractVoiceLines = { { PreLineWait = 0.25, UsePlayerSource = true, Cooldowns = { { Name = "MelinoeSaluteSpeech", Time = 4 }, }, { Cue = "/VO/MelinoeField_5149", Text = "Việc này nên có hiệu quả." }, -- { Cue = "/VO/MelinoeField_0269_B", Text = "Stay where you are." }, }, }, InteractTextLineSets = { ChronosNightmare01 = { PlayOnce = true, UseableOffSource = true, UseInitialInteractSetup = true, InteractDistance = 500, StatusAnimation = "StatusIconWantsToTalkImportant_ChronosStory", GameStateRequirements = { { PathTrue = { "CurrentRun", "Hero", "IsDead", }, }, { PathTrue = { "GameState", "TextLinesRecord", "NyxNightmare01", }, }, }, { Cue = "/VO/Chronos_0056", Text = "{#Emph}Ahh{#Prev}, ngươi đây rồi, con trai ta. Trước mắt ta là kẻ có khuôn mặt đầy râu ria và thân hình to lớn. Và giờ đây ngươi đã có gia đình của riêng mình! Bọn chúng tràn đầy nhiệt huyết biết bao, bất chấp tình thế khắc nghiệt." }, { Cue = "/VO/Hades_0003", Portrait = "Portrait_Hades_Past_01", PortraitExitAnimation = "Portrait_Hades_Past_01_Exit", Speaker = "NPC_LordHades_01", LineHistoryName = "NPC_Hades_01", SubtitleColor = Color.HadesVoice, PreLineWait = 0.35, Text = "Chào, Cha. Ta... không ngờ ngươi lại đến đây đấy. Hãy bỏ qua cho bọn ta vì nơi này không được chuẩn bị để đón khách. Và vì điều gì mà ngươi lại đến thăm bọn ta?" }, { Cue = "/VO/Chronos_0057", Text = "Ô, ngươi biết đấy, ta tiện đường ghé qua thôi! Ngươi còn nhớ lần ngươi cùng Zues và đám nhóc còn lại cắt ta thành từng mảnh chứ? Rải xác của ta ở khắp Tartarus?" }, { Cue = "/VO/Hades_0004", Portrait = "Portrait_Hades_Past_01", PortraitExitAnimation = "Portrait_Hades_Past_01_Exit", Speaker = "NPC_LordHades_01", LineHistoryName = "NPC_Hades_01", SubtitleColor = Color.HadesVoice, PreLineWait = 0.5, Text = "Ngươi thừa biết chính ngươi đã khơi mào cuộc chiến đó! Bọn ta cũng không vui vẻ gì khi phải xuống tay với ngươi! Nhưng chuyện này sao có thể chứ? Ta tưởng ngươi đã chết rồi...!" }, { Cue = "/VO/Chronos_0058", Text = "Đừng tỏ ra thất vọng thế chứ! Người thất vọng ở đây chính là ta, không phải ngươi. Ngươi nghĩ ta đã chết rồi ư? Ta đã chết! Nhưng hóa ra sự thù hận lại chính là động lực mạnh mẽ giúp ta tái sinh. Những nghi lễ hiến tế cũng giúp ích không kém." }, { Cue = "/VO/Hades_0021", Portrait = "Portrait_Hades_Past_01", PortraitExitAnimation = "Portrait_Hades_Past_01_Exit", Speaker = "NPC_LordHades_01", LineHistoryName = "NPC_Hades_01", SubtitleColor = Color.HadesVoice, Text = "Ngươi đang âm mưu điều gì ư? Và... ngươi đã làm gì với những người khác? Với gia đình của ta?!" }, { Cue = "/VO/Chronos_0059", Text = "Không ai lắng nghe lời kêu gào của ngươi đâu. Nhưng đừng lo, con trai. Ta chưa nuốt chúng hay gì đâu. Ta chỉ... gạt chúng sang một bên. Chúng bị giam cầm trong khoảng không thời gian không bao giờ trôi qua. Ta không hề có bất mãn với chúng." }, { Cue = "/VO/Hades_0022", Portrait = "Portrait_Hades_Past_01", PortraitExitAnimation = "Portrait_Hades_Past_01_Exit", Speaker = "NPC_LordHades_01", LineHistoryName = "NPC_Hades_01", SubtitleColor = Color.HadesVoice, PreLineWait = 0.35, Text = "...Olympus sẽ tìm cách đoạt mạng ngươi. Ngươi có thể lấy mạng ta, ta không quan tâm! Nhưng ngươi chẳng dám làm hại ai trong gia đình ta." }, { Cue = "/VO/Chronos_0071", Text = "{#Emph}Tsk! {#Prev}Ngươi đã quá quen với việc ra lệnh mà quên mất vị trí của mình. Tuy nhiên, ta có mệnh lệnh dành cho ngươi đây: Nói cho ta biết chính xác nơi mà những Nữ Thần Định Mệnh đang ẩn nấp." }, { Cue = "/VO/Hades_0023", Portrait = "Portrait_Hades_Past_01", PortraitExitAnimation = "Portrait_Hades_Past_01_Exit", Speaker = "NPC_LordHades_01", LineHistoryName = "NPC_Hades_01", SubtitleColor = Color.HadesVoice, PostLineFunctionName = "ConcludeFlashback", Text = "Nữ Thần Định Mệnh? Làm sao ta biết được? Ngay cả Nyx cũng không biết những đứa con của bà ấy đang ở đâu! Sao ngươi lại... hỏi ta...?" }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.ChronosNightmareGreeting, }, }, }, -- @ ending NPC_Chronos_02 = { InheritFrom = { "NPC_Chronos_01" }, Portrait = "Portrait_Chronos_Default_02", LineHistoryName = "Speaker_Chronos_02", UseBossHealthBar = false, GiftPresentationIconOffsetY = -130, CancelExitIfInteractable = true, ActivateRequirements = { { -- PathFalse = { "GameState", "TextLinesRecord", "ChronosFirstMeeting" }, }, }, GiftGameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "F_PostBoss01" } }, { PathFromSource = true, PathFalse = { "Exiting" }, }, }, PostActivateEvents = { -- }, SpecialInteractFunctionName = "SpecialInteractSalute", SpecialInteractGameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "NeoChronosAboutTartarus01", "NeoChronosAboutTartarus01_B", "NeoChronosAboutOlympus01", "NeoChronosAboutOlympus01_B" }, }, { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsNone = { "I_PreBoss02", "P_PostBoss01" }, }, { PathFromSource = true, PathFalse = { "Exiting" }, }, }, SpecialInteractCooldown = 60, InteractVoiceLines = { { PlayOnceThisRun = true, PreLineWait = 0.25, RandomRemaining = true, UsePlayerSource = true, SuccessiveChanceToPlay = 0.2, Cooldowns = { { Name = "MelinoeSaluteSpeech", Time = 4 }, }, { Cue = "/VO/Melinoe_5074", Text = "Chào Ông Nội.", GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "SpeechRecord" }, HasNone = { "/VO/MelinoeField_4193", "/VO/MelinoeField_4194" }, }, }, }, { Cue = "/VO/Melinoe_5075", Text = "Ông Nội.", GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "SpeechRecord" }, HasNone = { "/VO/MelinoeField_4193", "/VO/MelinoeField_4194" }, }, }, }, { Cue = "/VO/Melinoe_5166", Text = "Nguyện cho thời gian trôi chảy.", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "NeoChronosGift02" }, }, }, }, }, { GlobalVoiceLines = "SaluteVoiceLines" }, { RandomRemaining = true, PreLineWait = 0.3, -- PreLineAnim = "Hades_Hello", ObjectType = "NPC_Chronos_02", { Cue = "/VO/Chronos_1297", Text = "Đến đây...", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_5074" }, }, }, }, { Cue = "/VO/Chronos_1298", Text = "Xin chào...", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1698", "/VO/Melinoe_1699", "/VO/Melinoe_5075" }, }, }, }, { Cue = "/VO/Chronos_1299", Text = "Ôi trời...", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1700" }, }, }, }, { Cue = "/VO/Chronos_1300", Text = "Vì con người ta trước đây, phải không?", GameStateRequirements = { { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1299" } }, { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1700" }, }, }, }, { Cue = "/VO/Chronos_1301", Text = "Ta sẽ chấp nhận.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1701", "/VO/Melinoe_1703" }, }, }, }, { Cue = "/VO/Chronos_1302", Text = "Nếu đó là điều cháu muốn nói?" , GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1704", "/VO/Melinoe_1705", "/VO/Melinoe_1709" }, }, }, }, }, }, RepulseOnMeleeInvulnerableHit = 250, OnHitVoiceLines = { GameStateRequirements = { { PathFromArgs = true, Path = { "SourceProjectile", }, IsNone = { "FrogFamiliarLand", "CatFamiliarPounce", "RavenFamiliarMelee" }, }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.25, ObjectType = "NPC_Chronos_02", GameStateRequirements = { -- }, Cooldowns = { { Name = "ChronosSpokeRecently", Time = 10 }, }, { Cue = "/VO/Chronos_1096", Text = "Cháu có vẻ buồn bực..." }, { Cue = "/VO/Chronos_1097", Text = "Ta không thể thay đổi quá khứ..." }, { Cue = "/VO/Chronos_1098", Text = "Ta sẽ không chống trả...", PlayFirst = true }, { Cue = "/VO/Chronos_1099", Text = "Cứ làm những gì cháu muốn..." }, { Cue = "/VO/Chronos_1100", Text = "Vì những thống khổ mà ta đã gây ra..." }, { Cue = "/VO/Chronos_1101", Text = "Vì chuyện khi xưa, phải không...?" }, }, }, BossFinisherVoiceLines = { Queue = "Interrupt", { RandomRemaining = true, PreLineWait = 0.5, ObjectType = "NPC_Chronos_02", { Cue = "/VO/Chronos_1108", Text = "{#Emph}Nguyện cho thời gian trôi chảy!", PlayFirst = true }, { Cue = "/VO/Chronos_1109", Text = "{#Emph}Nguyện cho thời gian trôi chảy...!", PlayFirst = true, GameStateRequirements = { { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1108" } }, }, }, { Cue = "/VO/Chronos_1110", Text = "{#Emph}Nguyện cho thời gian trôi chảy.", PlayFirst = true, GameStateRequirements = { { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1108" } }, }, }, { Cue = "/VO/Chronos_1111", Text = "{#Emph}Nguyện cho thời gian trôi chảy...", PlayFirst = true, GameStateRequirements = { { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1108" } }, }, }, { Cue = "/VO/Chronos_1054", Text = "{#Emph}Nguyện cho thời gian trôi chảy!" }, { Cue = "/VO/Chronos_1055", Text = "{#Emph}Nguyện cho thời gian trôi chảy...!" }, { Cue = "/VO/Chronos_1056", Text = "{#Emph}Nguyện cho thời gian trôi chảy." }, { Cue = "/VO/Chronos_1057", Text = "{#Emph}Nguyện cho thời gian trôi chảy..." }, { Cue = "/VO/Chronos_1061", Text = "Xin lỗi nhé, bạn già." }, { Cue = "/VO/Chronos_1062", Text = "Việc này sẽ không gây đau đớn đâu." }, { Cue = "/VO/Chronos_1058", Text = "{#Emph}Tiêu Diệt Chronos{#Prev}, phải không?", GameStateRequirements = { { PathTrue = { "CurrentRun", "RoomsEntered", "I_Boss01" }, }, { Path = { "GameState", "SpeechRecord" }, HasAll = { "/VO/Chronos_1108", "/VO/Chronos_1109", "/VO/Chronos_1110", "/VO/Chronos_1111" }, }, }, }, { Cue = "/VO/Chronos_1059", Text = "{#Emph}Tiêu Diệt Chronos.", GameStateRequirements = { { PathTrue = { "CurrentRun", "RoomsEntered", "I_Boss01" }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1058" }, }, }, }, { Cue = "/VO/Chronos_1060", Text = "{#Emph}Tiêu Diệt Chronos!", GameStateRequirements = { { PathTrue = { "CurrentRun", "RoomsEntered", "I_Boss01" }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1058" }, }, }, }, }, }, InteractTextLineSets = { -- f_postboss events NeoChronosAboutErebus01 = { PlayOnce = true, RoomUseableOffSource = true, InitialGiftableOffSource = true, GiftableOffSource = true, GameStateRequirements = { NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_1480", Text = "Cháu Gái, cháu có cho phép chúng ta thỉnh thoảng sẽ gặp nhau như thế này không? Ta biết những cuộc trò chuyện trước đây của chúng ta ở tại Erebus này khá căng thẳng... nhưng có lẽ chúng ta vẫn có thể bắt đầu lại, ở kiếp này." }, { Cue = "/VO/MelinoeField_4137", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Chắc cháu phải học cách không tấn công ông ngay khi gặp mặt. Nhưng được thôi, cứ thử xem sao. Vậy nơi này có gì đặc biệt?" }, { Cue = "/VO/Chronos_1481", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Thứ nhất, ta biết cách tìm ra nó! Và thứ hai, cháu thường xuyên đi ngang nó! Dù sao thì, giờ đây cháu đã thấy những khả năng tiềm tàng ở trên Olympus lẫn ở bên dưới. Hãy loại bỏ những khả năng mà có thể sẽ dẫn đến sự hủy diệt." }, { Cue = "/VO/MelinoeField_5181", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Cháu thích việc ngăn chặn sự hủy diệt. Olympus và Địa Ngục sẽ luôn dõi theo từng bước của ông. Đừng bỏ lỡ cơ hội mà ông được ban cho." }, EndVoiceLines = { { PreLineWait = 0.37, ObjectType = "NPC_Chronos_02", PostLineFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 3 }, { Cue = "/VO/Chronos_1482", Text = "Ta cũng tự nhủ với bản thân điều tương tự!" }, }, }, -- EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, NeoChronosAboutNewJob01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ZeusPostTrueEnding03" }, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_1085", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", -- PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Cha của cháu và Zeus đã hào phóng ban cho ta cơ hội được đóng góp cho Địa Ngục. Quần Đảo Phước Lành là nơi tuyệt vời nhất trong toàn cõi Elysium! Và ta chắc chắn sẽ giữ cho chúng luôn như vậy." }, { Cue = "/VO/MelinoeField_4139", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Đó quả là một vinh hạnh lớn, Ông Nội! Hẳn là những anh hùng người phàm vĩ đại nhất cũng đang ở đó. Liệu trọng trách này có khiến ông bận rộn đến mức không có thời gian để gặp nhau thế này không?" }, { Cue = "/VO/Chronos_1086", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ồ, ta nghĩ nó còn thuận tiện hơn trước nhiều. Elysium cũng chẳng xa lắm; sớm muộn gì cháu cũng sẽ ghé qua đó thôi, sau khi việc cải tạo Địa Ngục của cha cháu hoàn tất. Mà ta e rằng việc đó sẽ kéo dài cả một thời đại nữa." }, { Cue = "/VO/MelinoeField_4140", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Cha của cháu quả là một người cầu toàn. Thôi thì chúc ông mọi điều tốt đẹp trong vai trò mới. Nếu Nữ Thần Định Mệnh cho phép, hẹn sớm gặp lại ông ở Tartarus." }, EndVoiceLines = { { PreLineWait = 0.37, ObjectType = "NPC_Chronos_02", PostLineFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 3 }, { Cue = "/VO/Chronos_1087", Text = "Hãy bảo trọng nhé!" }, }, }, -- EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, NeoChronosAboutFailure01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { PathFalse = { "PrevRun", "Cleared" }, }, { Path = { "PrevRun", "RoomsEntered" }, HasAny = { "I_Boss01", "Q_Boss01", "Q_Boss02" }, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/MelinoeField_5032", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Có một điều cháu luôn thắc mắc, Ông Nội... với tất cả những khả năng mà chúng ta đang đối mặt... cháu hiểu tương đối chuyện gì sẽ xảy ra nếu cháu giành chiến thắng. Nhưng nếu cháu thất bại ở đó thì sao?" }, { Cue = "/VO/Chronos_1390", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ồ, những khả năng đó vẫn sẽ còn đó... không gì hơn! Đừng bận tâm về nó quá nhiều! Có rất nhiều những khả năng như thế đang tồn tại! Có thể cháu sẽ không giành chiến thắng trong tất cả được." }, { Cue = "/VO/MelinoeField_5033", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Liệu cháu có cơ hội khác để sửa chữa sai lầm của mình không? Quay lại cùng một khả năng đó và làm mọi thứ ổn thỏa hơn?" }, { Cue = "/VO/Chronos_1391", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ta cũng không biết! Có lẽ là không! Có lẽ ngay cả những thất bại của cháu cũng sẽ mang lại những kết quả như mong muốn. Có rất nhiều đièu ta chưa thực sự hiểu hết... dù nói ra điều đó có phần đáng hổ thẹn." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_5034", Text = "Cháu cũng đang tìm hiểu." }, }, }, -- EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, NeoChronosAboutFates01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ChaosAboutChronosNightmare01", "ChaosAboutChronosNightmare01_B" }, }, { PathTrue = { "GameState", "TextLinesRecord", "MorosPostTrueEnding02" }, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, NamedRequirementsFalse = { "ReachedEpilogue" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/MelinoeField_4141", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ông Nội, Ba Nữ Thần Định Mệnh sao rồi? Ông thực sự đã đày họ đi mà không hề biết họ đã đi đâu sao?" }, { Cue = "/VO/Chronos_1088", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Quả thực là vậy. Một sai lầm kinh khủng khác mà ta muốn khắc phục. Ta đang cố tìm kiếm họ trong vô vàn khả năng, nhưng... họ có thể ở bất cứ đâu." }, { Cue = "/VO/MelinoeField_4142", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Chắc hẳn chúng ta phải làm được điều gì đó. Họ có đang gặp nguy hiểm không? Và ông không lo sợ bị trả thù nếu chúng ta tìm thấy họ sao?" }, { Cue = "/VO/Chronos_1089", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 3.3 }, Text = "Ta phải thừa nhận rằng ta lo sợ về bản thân nhiều hơn họ. Nhưng những nỗ lực chống lại sự sắp đặt của Nữ Thần Định Mệnh từ ta thì chưa từng thành công. Nếu họ trở lại, ta sẽ chấp nhận bất kỳ điều gì mà họ sắp đặt..." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4143", Text = "Chúng ta sẽ tìm ra cách giải quyết." }, }, }, -- EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, NeoChronosAboutTyphon01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { SumPrevRuns = 3, Path = { "RoomsEntered" }, TableValuesToCount = { "Q_Boss01", "Q_Boss02" }, Comparison = ">=", Value = 1, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/MelinoeField_5029", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ông Nội, làm sao ông có thể đánh thức Typhon vậy? Cháu luôn thắc mắc về điều đó. Và việc khiến các vị thần Olympus không kịp trở tay trước một con quái vật khủng khiếp như vậy..." }, { Cue = "/VO/Chronos_1387", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", Text = "{#Emph}Oh{#Prev}, ta... không muốn nhắc lại những ký ức kinh hoàng đó, nhưng... sự thức tỉnh của con quái vật đó, ở một khía cạnh nào đó, cũng giống như khi Zagreus tìm thấy ta. Tất nhiên là ở quy mô lớn hơn nhiều." }, { Cue = "/VO/MelinoeField_5030", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Cháu hiểu rồi, vậy cháu sẽ không gặng hỏi thêm nữa, nhưng... có lẽ câu hỏi này hơi kỳ lạ, ông và Typhon có quen biết nhau nhiều không?" }, { Cue = "/VO/Chronos_1388", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 5.3 }, Text = "Hắn là Quái Vật Thủy Tổ... chẳng hề quan tâm đến đàn con của mình, chứ đừng nói đến những kẻ khác. Hắn chỉ là công cụ để đạt được mục đích. Có thể nói, bọn ta đang lợi dụng lẫn nhau." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_5031", Text = "Cháu hiểu rồi. Ra là vậy." }, }, { PreLineWait = 0.32, ObjectType = "NPC_Chronos_02", { Cue = "/VO/Chronos_1389", Text = "Rất tốt." }, }, }, -- EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, NeoChronosAboutPrometheus01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { SumPrevRuns = 3, Path = { "RoomsEntered", "P_Boss01" }, Comparison = ">=", Value = 1, }, { PathTrue = { "GameState", "TextLinesRecord", "PrometheusAboutPostTyphon02" } }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/MelinoeField_5035", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Sau tất cả những chuyện đã xảy ra giữa chúng ta, ông có liên lạc với Prometheus không? Hắn và cháu chưa bao giờ hợp nhau. Dù vậy, cháu bắt đầu cảm nhận được rằng hắn không thực sự đứng về phía ông..." }, { Cue = "/VO/Chronos_1392", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Hắn là một kẻ thông minh. Có lẽ là thông minh đến mức gây hại cho chính mình. Ta rất tiếc vì hai người buộc phải chiến đấu với nhau. Nhưng... ta và hắn không còn liên lạc nữa, để giữ mọi việc duy trì như trước đây." }, { Cue = "/VO/MelinoeField_5036", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 5.3 }, Text = "Hắn đã xử lý tình huống này khá cẩn trọng, mặc dù đã gây ra không ít rắc rối cho các vị thần. Cháu đoán điều đó cũng hoàn toàn hợp lý, nếu hắn thực sự có thể tiên đoán trước mọi kết quả." }, EndVoiceLines = { { PreLineWait = 0.32, ObjectType = "NPC_Chronos_02", { Cue = "/VO/Chronos_1393", Text = "Nghe giống như Prometheus mà ta từng biết." }, }, }, -- EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, NeoChronosAboutGoldenAge01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "DoraBathHouse03" }, }, { SumPrevRuns = 2, Path = { "BiomesReached", "P" }, CountPathTrue = true, Comparison = ">=", Value = 1, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/MelinoeField_5182", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", Text = "Ông Nội, theo những gì ông nói... cháu nghĩ cuộc chiến khốc liệt mà ông khơi mào chống lại Olympus, có lẽ đã giúp vài người thân của chúng ta nhận ra nhiều điều. Họ có thể là thần... nhưng họ biết rằng mình không hoàn hảo." }, { Cue = "/VO/Chronos_1483", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ừm... theo ta biết thì sự hoàn hảo không thể đạt được! Chỉ có thể cố gắng phấn đấu thôi. Các con của ta có thể cố chấp về những điểm yếu của chúng, nhưng rất có thể chúng thừa hưởng đặc điểm đó từ ta." }, { Cue = "/VO/MelinoeField_5183", UsePlayerSource = true, -- Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkPensive01ReturnToIdle", PreLineAnimTarget = "Hero", Text = "Dù vậy... khi chiến tranh cuối cùng đã kết thúc, vẫn còn nhiều việc phải làm, cả trên trần gian lẫn dưới đây. Cháu nhận ra rằng nỗ lực cải tạo của chúng ta ở Địa Ngục, phần nào đó đã ảnh hưởng đến toàn cõi." }, { Cue = "/VO/Chronos_1484", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 3.3 }, Text = "Khi đến tuổi của ta, có thể cháu sẽ hoài niệm về thế giới xưa cũ. Có lẽ đó là lời nguyền của tuổi già! Mong rằng gia đình chúng ta sẽ dẫn dắt thế giới này đến những thời kỳ thịnh vượng hơn." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_5184", Text = "Mong điều đó thành sự thật." }, }, }, }, NeoChronosAboutChronos01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ChronosBossOutroPostTrueEnding01" }, }, { FunctionName = "RequireRunsSinceTextLines", FunctionArgs = { TextLines = { "ChronosBossOutroPostTrueEnding01" }, Min = 2 }, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/MelinoeField_4554", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Có những khả năng khác của ông mà cháu đang đối mặt... thật kỳ lạ khi nói chuyện với họ như thể tất cả chuyện này chưa từng xảy ra." }, { Cue = "/VO/Chronos_1311", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ồ, quả đúng là vậy. Tuy nhiên, đó là lý do chúng chỉ là những khả năng, không hơn không kém. Vậy nên, cháu có thể chiều theo ý chúng, trước khi tiến đến phần khá khó chịu sau đó." }, { Cue = "/VO/MelinoeField_4555", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Và việc đó không làm ông phiền lòng sao? Loại bỏ những kẻ giống hệt ông... mà còn là chính ông ra tay?" }, { Cue = "/VO/Chronos_1312", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 3.3 }, Text = "Nhưng ta vẫn là ta. Chẳng phải chúng ta là kết quả của những trải nghiệm đó sao, Cháu Gái? Từ bỏ những suy nghĩ và thói quen bảo thủ... thật là thoải mái! Vậy nên, chúng ta hãy tiếp tục nào." }, -- EndGlobalVoiceLines = "MiscEndVoiceLines_Chronos", }, NeoChronosAboutKeepsake01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "Hero", "TraitDictionary" }, HasAny = { "GoldifyKeepsake" }, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_1290", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Sao cháu vẫn giữ lại chiếc Đồng Hồ Thời Gian mà ta đã trao cho cháu? Ta cứ ngỡ cháu đã ném nó xuống vực thẳm rồi! Cơ chế hoạt động không ngừng của chiếc đồng hồ này thật thú vị, phải không?" }, { Cue = "/VO/MelinoeField_4369", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nó thật khác thường. Đây là thứ mà Bậc Thầy Deadalus đã tạo ra, phải không? Khi kết hợp tất cả những bánh răng nhỏ này lại với nhau, chúng có thể chuyển động một cách hoàn hảo..." }, { Cue = "/VO/Chronos_1291", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 3.3 }, Text = "Cơ chế điều khiển những căn phòng luôn thay đổi của Tartarus chắc chắn là nguồn cảm hứng. Cảm giác hài hòa hoàn hảo mà cháu mô tả... có lẽ chỉ có thể đạt được dưới hình thức này! Nhưng điều đó hoàn toàn khả thi." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/MelinoeField_4370", Text = "Cháu đồng ý về điều đó." }, }, }, }, NeoChronosAboutAnomaly01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { SumPrevRuns = 3, Path = { "EncountersOccurredCache" }, TableValuesToCount = { "GeneratedAnomalyB" }, Comparison = ">=", Value = 1, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_1292", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ồ, ở dưới Oceanus, rất có thể cháu sẽ bắt gặp tàn dư ma thuật của ta, thứ sẽ kéo cháu đến một thế giới khác vượt ngoài dòng thời gian. Ta vẫn chưa tìm ra cách để ngăn chặn nó..." }, { Cue = "/VO/MelinoeField_4371", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ông không thể kiểm soát được phép thuật của chính mình ư? Cháu đã từng thắc mắc, liệu đó có phải ông, hay là một trong những phiên bản khó ưa khác của ông." }, { Cue = "/VO/Chronos_1293", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 2.3 }, Text = "Ta không thể phủ nhận mọi trách nhiệm, nhưng đúng là một trong số đó. Còn về việc cháu dễ bị tác động thì... có lẽ là một mối liên kết nào đó mà chúng ta cùng chia sẻ. Sự kháng cự và những điểm yếu..." }, }, NeoChronosAboutBoons01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "UseRecord" }, CountOf = { "ZeusUpgrade", "PoseidonUpgrade", }, Comparison = ">=", Value = 2, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_1313", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ngay cả lúc này, các con của ta vẫn ban phước cho cháu. Ta cảm thấy nhẹ nhõm khi chúng vẫn sẵn sàng giúp đỡ, mặc cho những khủng hoảng và tổn thất mà ta mang đến cho gia đình chúng..." }, { Cue = "/VO/MelinoeField_4556", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Dường như tất cả chúng ta đều quyết tâm giải quyết vấn đề này, trong khả năng của mình. Các vị thần Olympus cũng không lạ gì với những cuộc tranh cãi, mặc dù có lẽ không đến mức tồi tệ như cuộc chiến lần này." }, { Cue = "/VO/Chronos_1314", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 2.3 }, Text = "Đúng vậy, nếu chúng ta muốn cùng tồn tại trên thế giới nhỏ bé này mãi mãi, thì chúng ta phải có động lực để giảm bớt những nỗi đau mà do chính mình gây ra... Ta cảm ơn mọi người vì đã hỗ trợ." }, }, NeoChronosAboutNemesis01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "NemesisPostTrueEndingTimeStopped01" }, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/MelinoeField_4559", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ông Nội, Nemesis từng nói rằng cô ấy đã chạm trán với ông ở Tartarus. Chuyện đó diễn ra như thế nào vậy?" }, { Cue = "/VO/Chronos_1317", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ồ, ra là vậy! Ta cứ ngỡ rằng chỉ có cháu mới có khả năng đối mặt với những tàn dư không mong muốn của chính ta, nhưng hóa ra Nemesis cũng có thể! Và cô ấy rất mạnh." }, { Cue = "/VO/MelinoeField_4560", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Vậy là cô ấy thực sự nghiêm túc! Cô ấy đã đối đầu với một trong những tàn dư nhờ sự trợ giúp của ông, và đã giành chiến thắng ư? Chẳng lẽ cô ấy đã chém hắn thành từng mảnh bằng Thanh Kiếm Stygian?" }, { Cue = "/VO/Chronos_1318", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 3.3 }, Text = "Ta không muốn mô tả chi tiết, nhưng... cô ấy đã tận dụng những cách thức hiệu quả. Điều này chắc chắn chỉ có thể xảy ra vì cô ấy đã ở rất gần con đường mà cháu đã đi trước đó!" }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4561", Text = "Cô ấy thực sự đã làm được..." }, }, }, }, NeoChronosAboutBeard01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "NeoChronosGift04" }, }, NamedRequirements = { "NeoChronosCanSpawnInErebus" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_1315", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Cháu Gái, ta có điều muốn hỏi cháu, nếu cháu sẵn lòng chia sẻ ý kiến. Cháu nghĩ ta có nên để râu không? Có lẽ sẽ dễ hòa nhập hơn với các con của ta..." }, { Cue = "/VO/MelinoeField_4557", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Oh, ừm... điều đó phụ thuộc vào sở thích cá nhân. Cá nhân cháu nghĩ rằng, để râu sẽ khiến ông trông già hơn. Ngoài ra thì, Cha cháu và các Bác đều không muốn ông trông giống họ đâu." }, { Cue = "/VO/Chronos_1316", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 3.3 }, Text = "Ta nghĩ cháu nói đúng. Ta vốn thích gương mặt gọn gàng, sạch sẽ. Có lẽ đó chính là lý do các con của ta lại lựa chọn khác..." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4558", Text = "Cháu có thể hiểu điều đó..." }, }, }, }, NeoChronosPostEpilogue01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { NamedRequirements = { "ReachedEpilogue" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/MelinoeField_4372", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Tin vui đây, Ông Nội. Ba Nữ Thần Định Mệnh đã trở lại! Và họ không hề nhắc đến chuyện trả thù ông. Ngược lại, họ còn hứa hẹn một kỷ nguyên mới sẽ bắt đầu..." }, { Cue = "/VO/Chronos_1294", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ôi trời, đó quả là tin tốt! Đặc biệt là phần không bị trả thù, và thật nhẹ nhõm làm sao khi Ba Nữ Thần đã thoát khỏi sự lưu đày tạm thời. Nhưng kỷ nguyên mới mà họ nói đến là gì?" }, { Cue = "/VO/MelinoeField_4373", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", Text = "Ừm... có vẻ như họ không còn dự định thêu dệt nhiều như trước nữa. Và đến một lúc nào đó, sự cai trị của những vị thần sẽ ít ảnh hưởng đến cuộc sống của người phàm..." }, { Cue = "/VO/Chronos_1295", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Nhưng điều đó khiến ta nhớ đến Thời Đại Hoàng Kim mà ta từng cai trị...! Tất nhiên, khi cháu sống đủ lâu qua nhiều thời đại, cháu sẽ bắt đầu cảm thấy những quy luật đó luôn lặp lại. Cái cũ rồi lại trở thành cái mới. Gia đình chúng ta sẽ xoay sở thế nào trước sự thay đổi đó?" }, { Cue = "/VO/MelinoeField_4374", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelinoeIdleWeaponless", PreLineAnimTarget = "Hero", Text = "Cháu nghĩ tất cả chúng ta đều phải cân nhắc điều này, dù chúng ta vẫn còn nhiều thời gian. Thời đại đó có thể sẽ không đến sớm." }, { Cue = "/VO/Chronos_1296", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 3.3 }, Text = "Có lẽ là không... nhưng dù sao thì, thời đại đó có thể đến nhanh hơn cháu tưởng đấy. Tin ta đi..." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4375", Text = "Thời gian đôi khi trôi quá nhanh..." }, }, }, }, NeoChronosPostEpilogue02 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { NamedRequirements = { "ReachedEpilogue" }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/Chronos_1434", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ta luôn ngưỡng mộ loài người... Ta rất vui khi Nữ Thần Định Mệnh đã quyết định rằng sẽ cho họ cơ hội làm mọi việc theo ý mình. Ta rất tò mò muốn xem kết quả sẽ ra sao." }, { Cue = "/VO/MelinoeField_5074", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Prometheus chắc hẳn muốn hợp tác với ông để đạt được mục đích đó. Hầu hết những gì cháu biết về người phàm đều đến từ những người đã chết... vậy người sống có gì thú vị đến thế?" }, { Cue = "/VO/Chronos_1435", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 4.3 }, Text = "À, đơn giản là họ hiểu được giá trị của Thời Gian... ít nhất là vài người trong số họ. Bởi họ có quá ít thời gian để sống và thở. Ở một khía cạnh nào đó, điều đó thật đáng tiếc, nhưng cũng rất truyền cảm hứng." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/MelinoeField_5075", Text = "Có có thể thấy điều đó ở họ." }, }, }, }, NeoChronosAboutPast01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "NeoChronosGift01" }, }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true }, { Cue = "/VO/MelinoeField_5071", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ông Nội, ông đã bao giờ... trải qua những cảm xúc cay đắng và hận thù trước đây không...? Đối với các vị thần, về Thời Đại Hoàng Kim của ông, hay những diều tương tự?" }, { Cue = "/VO/Chronos_1432", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Không thể nào sửa chữa được những sai lầm trong quá khứ. Ta đã giữ lấy những cảm xúc đó suốt một khoảng thời gian dài; chúng sẽ không bao giờ biến mất hoàn toàn. Nhưng cháu đã cho ta một cơ hội khác." }, { Cue = "/VO/MelinoeField_5072", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ông có vẻ cứng rắn và kiên định với niềm tin của mình nhỉ. Đôi khi cháu vẫn không thể tin rằng ký ức về một quá khứ tốt đẹp hơn lại đủ sức thay đổi suy nghĩ của ông." }, { Cue = "/VO/Chronos_1433", PostLineThreadedFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 4.3 }, -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ta cũng khá bất ngờ. Những ký ức về việc chứng kiến cháu trưởng thành... chỉ là một phần nhỏ trong cuộc đời của ta. Nhưng nó là một phần quan trọng. Sự thay đổi có thể xảy ra trong chớp mắt." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/MelinoeField_5073", Text = "Mong ông cứ giữ nguyên trạng thái này." }, }, }, }, -- partner conversations NeoChronosWithNemesis01 = { PlayOnce = true, RoomUseableOffSource = true, Partner = "NPC_Nemesis_01", PreBlockSpecialInteract = true, PostBlockSpecialInteract = true, InitialGiftableOffSource = true, GiftableOffSource = true, UseableOffSource = true, GameStateRequirements = { NamedRequirements = { "SpawnNemesisWithNeoChronos" }, }, UseText = "UseListenNPC", BlockDistanceTriggers = true, IgnoreSourceEndTextLinesThreadedFunctionName = true, InteractDistance = 650, InteractOffsetX = -500, { Cue = "/VO/Chronos_1073", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", -- PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "...Thật không ngờ rằng nhiệm vụ tiêu diệt ta lại suýt trao cho cô! Ta thật may mắn khi điều đó không xảy ra, bởi ta khó lòng mà chống lại Hiện Thân Báo Ứng; ta chẳng thể tưởng tượng ai có thể làm điều đó!" }, { Cue = "/VO/Nemesis_0431", Portrait = "Portrait_Nemesis_Default_01", Speaker = "NPC_Nemesis_01", PreLineAnim = "Nemesis_Hub_Glare_Start", PreLineAnimTarget = 772131, PostLineAnim = "Nemesis_Hub_Glare_End", PostLineAnimTarget = 772131, Text = "Cả ta cũng không thể, nên đừng có giở trò ở đây. Nếu ông và Công Chúa cần người giúp dọn dẹp những rắc rối mà ông gây ra, thì cứ nói với ta. Ta cũng muốn giúp sức." }, { Cue = "/VO/Chronos_1074", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Vậy là cô đã biết về lộ trình hiện tại của bọn ta rồi sao? Có quá nhiều khả năng cần phải loại bỏ từng cái một. Nếu cô thực sự sẵn lòng giúp đỡ việc này..." }, { Cue = "/VO/Nemesis_0432", UsePlayerSource = true, Portrait = "Portrait_Nemesis_Default_01", Speaker = "NPC_Nemesis_01", PreLineAnim = "Nemesis_Hub_Greet", PreLineAnimTarget = 772131, Text = "Được thôi. Ta đã quyết tâm làm việc này từ lâu rồi, và có thể đi đến tận Tartarus, chỉ là không thể vào được bên trong Thánh Điện." }, EndVoiceLines = { { PreLineWait = 0.32, ObjectType = "NPC_Chronos_02", { Cue = "/VO/Chronos_1075", Text = "Ta có thể giải thích chi tiết việc đó!" }, }, { PreLineWait = 0.54, ObjectType = "NPC_Nemesis_01", { Cue = "/VO/Nemesis_0433", Text = "Vậy thì nói đi." }, }, }, }, -- time warp events -- alt below NeoChronosAboutTartarus01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "I_PreBoss01", "I_PreBoss02" } }, { Path = { "GameState", "TextLinesRecord" }, HasNone = { "NeoChronosAboutOlympus01", "NeoChronosAboutTartarus01_B" }, }, { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true, HideUntilWithinDistance = true }, { Cue = "/VO/Chronos_1030", -- PreLineAnim = "NPC_Chronos_Enlightened_Greet", -- PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Tốt, cuối cùng cháu cũng đã đến! Giờ cháu đã kiên định trên hành trình của mình, ta có thể thao túng dòng chảy thời gian, để cháu có thể trở lại Thánh Điện, đến thời điểm khác, nơi vẫn còn tàn dư của ta trên ngai vàng của cha cháu. Sẵn sàng chưa?" }, { Cue = "/VO/MelinoeField_4128", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkFlustered01", PreLineAnimTarget = "Hero", Text = "Khoan đã. Chuyện gì sẽ xảy ra nếu cháu thắng, chưa nói đến thất bại? Ông có chắc rằng việc này sẽ diễn ra đúng như mong muốn chứ?" }, { Cue = "/VO/Chronos_1031", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ta khá chắc là vậy! Những viễn cảnh về Asphodel mà ta có thể tạo ra; về mặt nguyên lý thì việc này cũng tương tự như thế! Và cháu cũng đã chứng tỏ được khả năng thoát khỏi sự ràng buộc của thời gian." }, { Cue = "/VO/MelinoeField_4129", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Vậy là cháu sẽ tiến vào Thánh Điện như mọi khi, và xử lý tàn dư Chronos như cháu đã từng làm... rồi giao phần còn lại cho ông, đúng không?" }, { Cue = "/VO/Chronos_1032", Text = "Chính xác. Trước tiên, ta sẽ tạo ra một sự dịch chuyển khi cháu tiến vào, sau đó cháu hãy làm những gì cần làm với những phiên bản độc ác của ta trong đó! Chúng ta sẽ loại bỏ hoàn toàn khả năng tồn tại của hắn!" }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4130", Text = "Được rồi, vậy thì... cháu đi đây!" }, }, }, }, -- player did post-ending olympus route first NeoChronosAboutTartarus01_B = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "I_PreBoss01", "I_PreBoss02" } }, { PathTrue = { "GameState", "TextLinesRecord", "NeoChronosAboutOlympus01" }, }, { PathFalse = { "GameState", "TextLinesRecord", "NeoChronosAboutTartarus01" }, }, { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true, HideUntilWithinDistance = true }, { Cue = "/VO/Chronos_1030", Text = "Tốt, cuối cùng cháu cũng đã đến! Giờ cháu đã kiên định trên hành trình của mình, ta có thể thao túng dòng chảy thời gian, để cháu có thể trở lại Thánh Điện, đến thời điểm khác, nơi vẫn còn tàn dư của ta trên ngai vàng của cha cháu. Sẵn sàng chưa?" }, { Cue = "/VO/MelinoeField_4131", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkBrooding01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Không hẳn. Liệu việc này có giống như trên đỉnh Olympus không? Cách mà ông gợi lại một viễn cảnh về thời điểm mà có thể đã xảy ra..." }, { Cue = "/VO/Chronos_1034", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Chà, ta thực sự tin rằng mọi việc sẽ xảy ra đúng như lời cháu nói! Tuy nhiên, những gì đang chờ đợi bên trong có lẽ sẽ khác đi đôi chút sau mỗi lần chúng ta tiến vào..." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4134", Text = "Nếu vậy thì được." }, }, }, }, NeoChronosAboutTartarus02 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "I_PreBoss01", "I_PreBoss02" } }, { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true, HideUntilWithinDistance = true }, { Cue = "/VO/Chronos_1046", Text = "Được rồi, cháu gái, mọi chuyện sẽ diễn ra y như lần trước! Cháu nhảy xuống dòng sông, ta đảm bảo cháu sẽ đến đúng nơi." }, }, -- alt below NeoChronosAboutOlympus01 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "P_PostBoss01" } }, { Path = { "GameState", "TextLinesRecord" }, HasNone = { "NeoChronosAboutTartarus01", "NeoChronosAboutOlympus01_B" }, }, { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true, HideUntilWithinDistance = true }, { Cue = "/VO/Chronos_1035", Text = "{#Emph}Ah{#Prev}, cháu đây rồi. Vì cháu đã kiên định đi trên hành trình của mình, nên giờ ta sẽ đưa cháu đến một thời điểm khác; nơi tàn dư của quái vật Typhon vẫn còn hiện hữu. Sẵn sàng chưa?" }, { Cue = "/VO/MelinoeField_4128", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkFlustered01", PreLineAnimTarget = "Hero", Text = "No, not yet. What shall happen if I prevail, let alone fail? Are you certain any of this shall even {#Emph}work?" }, { Cue = "/VO/Chronos_1031", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Well I am relatively certain, yes! The visions I can conjure up of Asphodel; the principle of this is much the same! And you have likewise demonstrated aptitude at breaking free of temporal restraints." }, { Cue = "/VO/MelinoeField_4132", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Vậy là cháu sẽ tiến về phía đỉnh núi, nơi mà đội quân của Typhon ở thời điểm khác đang chờ cháu. Cháu sẽ đối đầu với hắn như đã từng, và phần còn lại sẽ để ông xử lý, phải không?" }, { Cue = "/VO/Chronos_1036", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Đúng vậy, nếu mọi việc diễn ra theo đúng kế hoạch! Ta sẽ tạo một cánh cổng khi cháu rời đi; hãy tìm con quái vật đó và chiến đấu, để chúng ta có thể xóa bỏ sự tồn tại của hắn." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4130", Text = "Được rồi, vậy thì... cháu đi đây!" }, }, }, }, -- player did post-ending tartarus route first NeoChronosAboutOlympus01_B = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "P_PostBoss01" } }, { PathTrue = { "GameState", "TextLinesRecord", "NeoChronosAboutTartarus01" } }, { PathFalse = { "GameState", "TextLinesRecord", "NeoChronosAboutOlympus01" }, }, { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true, HideUntilWithinDistance = true }, { Cue = "/VO/Chronos_1035", Text = "{#Emph}Ah{#Prev}, cháu đây rồi. Vì cháu đã kiên định đi trên hành trình của mình, nên giờ ta sẽ đưa cháu đến một thời điểm khác; nơi tàn dư của quái vật Typhon vẫn còn hiện hữu. Sẵn sàng chưa?" }, { Cue = "/VO/MelinoeField_4133", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkPensive01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Không hẳn. Liệu lần này có diễn ra giống như trong Thánh Điện của Cha ta không? Cách mà ông đã gợi lên một viễn cảnh về một thời đại đã có thể xảy ra..." }, { Cue = "/VO/Chronos_1036", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Đúng vậy, nếu mọi việc diễn ra theo đúng kế hoạch! Ta sẽ tạo một cánh cổng khi cháu rời đi; hãy tìm con quái vật đó và chiến đấu, để chúng ta có thể xóa bỏ sự tồn tại của hắn." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4134", Text = "Nếu vậy thì được." }, }, }, }, NeoChronosAboutOlympus02 = { PlayOnce = true, RoomUseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "P_PostBoss01" } }, { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, OnQueuedFunctionName = "NeoChronosNPCSetup", OnQueuedFunctionArgs = { RequiredRoomInteraction = true, HideUntilWithinDistance = true }, { Cue = "/VO/Chronos_1047", Text = "Giờ thì cháu biết nên trông đợi vào điều gì rồi đấy, cháu gái! Hãy leo lên đỉnh núi, và ta sẽ đảm bảo cháu xuất hiện ở đúng nơi." }, }, -- partner conversations HadesTrueEnding01 = { Partner = "NPC_Hades_02", PlayOnce = true, UseableOffSource = true, StatusAnimation = false, UseText = "UseListenNPC", }, ZeusPalacePostTrueEnding01 = { Partner = "NPC_Zeus_Story_01", PlayOnce = true, UseableOffSource = true, }, }, GiftTextLineSets = { NeoChronosGift01 = { PlayOnce = true, OnGiftTrack = true, UnfilledIcon = "EmptyHeartWithGiftIcon", FilledIcon = "FilledHeartWithGiftIcon", LockedHintId = "Codex_ChronosGiftHint", Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/MelinoeField_4204", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", Text = "Ông Nội...? Những vết thương mà gia đình chúng ta đã phải gánh chịu, có lẽ sẽ không bao giờ thực sự lành lại, nhưng... ít nhất ông cũng đã cố gắng bước những bước đầu tiên trên hành trình chuộc tội. Vậy nên, xin hãy nhận món quà này." }, { Cue = "/VO/Chronos_1284", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", PostLineThreadedFunctionName = "ChronosExit", PostLineThreadedFunctionArgs = { WaitTime = 6.0, FromGiftEvent = true }, Text = "{#Emph}Oh{#Prev}, quả là một chai rượu quý, cảm ơn nhé, Cháu Gái! Rượu Mật từ Olympus... thực sự rất ngon. Theo phong tục thì ta nên tặng lại món quà tương xứng nhỉ? Vậy thì đây, ta tặng cháu." }, }, NeoChronosGift02 = { PlayOnce = true, OnGiftTrack = true, Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/Chronos_1285", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Ôi, cháu thật tốt bụng. Thánh Điện của Hades chỉ có một lượng nhỏ thứ này, nhưng trong cơn oán hậ, ta... đã đập vỡ tất cả. Chai này ta sẽ giữ gìn cẩn thận." }, { Cue = "/VO/MelinoeField_4365", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ông hãy nhận lấy nó, và nhớ rằng Rượu Mật là để thưởng thức. Còn những chai rượu đó thì... phần rượu bên trong chắc hẳn đã ngấm vào đất rồi, vậy nên... có lẽ Thánh Điện đã sáng sủa hơn một chút." }, EndVoiceLines = { { ObjectType = "NPC_Chronos_02", PostLineFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 2.5, FromGiftEvent = true }, }, }, }, NeoChronosGift03 = { PlayOnce = true, OnGiftTrack = true, Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/Chronos_1286", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", Text = "Màu vàng óng ánh của chai rượu này... khiến ta không thể liên tưởng đến màu nào đẹp hơn. Trong kiếp này, ta không ngờ Olympus lại yêu thích màu vàng như ta. Nhưng dường như cháu có vẻ thích màu bạc hơn, cháu gái..." }, { Cue = "/VO/MelinoeField_4366", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Cháu luôn luôn như vậy. Bọn cháu hành động dưới ánh trăng và những vì sao... ánh bạc khiến cháu nhớ đến họ. Nhưng giờ thì ánh vàng là khiến cháu nhớ đến Apollo, và anh ta khá thân thiện, nếu ông chưa từng gặp." }, EndVoiceLines = { { PreLineWait = 0.35, ObjectType = "NPC_Chronos_02", PostLineFunctionName = "ChronosExit", PostLineFunctionArgs = { WaitTime = 2.0, FromGiftEvent = true }, { Cue = "/VO/Chronos_1287", Text = "Apollo, thần âm nhạc. Trông thằng bé như một chàng trai trẻ tài năng vậy..." }, }, }, }, NeoChronosGift04 = { PlayOnce = true, OnGiftTrack = true, CompletedHintId = "Codex_BondForgedChronos", Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/Chronos_1288", Text = "Ta đã nếm thử Rượu Mật mà cháu tặng trước đó, ôi, hương vị thật tuyệt vời... rồi ta chợt nghĩ rằng, ta vẫn chưa thực sự xứng đáng được nhận đặc ân này từ cháu." }, { Cue = "/VO/MelinoeField_4367", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đây không phải đặc ân, chỉ là một món quà giản dị thôi. Nó còn chưa phải loại quý giá nhất! Ông nên thử Ambrosia, nhất là khi ông thích màu vàng óng ánh." }, { Cue = "/VO/Chronos_1289", PreLineAnim = "NPC_Chronos_Enlightened_Explaining", PostLineThreadedFunctionName = "MaxedRelationshipPresentation", PostLineThreadedFunctionArgs = { Text = "NPC_Chronos_02", Icon = "Keepsake_Chronos", Delay = 1.5, UseInputBlock = true, EndFunctionName = "ChronosExit", EndFunctionArgs = { WaitTime = 0.5, FromGiftEvent = true } }, Text = "Ambrosia, phải rồi... có lẽ đến một lúc nào đó, ta sẽ có cơ hội thưởng thức nó cùng gia đình. Nhưng ta biết điều đó sẽ cần rất nhiều thời gian. Tạm thời thế này thôi nhé, Cháu Gái. Chưa phải lúc, khi còn nhiều việc phải làm." }, EndVoiceLines = { { PreLineWait = 0.35, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4368", Text = "Vậy để dịp khác nhé." }, }, }, }, }, GiftGivenVoiceLines = { BreakIfPlayed = true, PreLineWait = 1.0, PlayFromTarget = true, { Cue = "/VO/MelinoeField_4205", Text = "Quả là một cơ chế kỳ lạ... lại còn được làm bằng vàng nữa. Cảm ơn ông." }, }, }, } -- Global Chronos Lines / Chronos Global Lines GlobalVoiceLines.ChronosLaunchVoiceLines = { { RandomRemaining = true, BreakIfPlayed = true, SuccessiveChanceToPlayAll = 0.75, PreLineWait = 0.35, ObjectTypes = { "NPC_Chronos_02" }, PreLineAnim = "NPC_Chronos_Enlightened_Greet", GameStateRequirements = { }, { Cue = "/VO/Chronos_1033", Text = "Tạm biệt!", PlayFirst = true }, { Cue = "/VO/Chronos_1037", Text = "Hẹn gặp lại!" }, { Cue = "/VO/Chronos_1037_B", Text = "Hẹn gặp lại!" }, { Cue = "/VO/Chronos_1040", Text = "Lại một lần khác!" }, { Cue = "/VO/Chronos_1041", Text = "Hãy cẩn thận!" }, { Cue = "/VO/Chronos_1043", Text = "Tiến lên!" }, { Cue = "/VO/Chronos_1045", Text = "Vậy thì đi đi!" }, { Cue = "/VO/Chronos_1399", Text = "Giống như thời gian!", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ChronosBossAboutClockwork01" }, }, }, }, { Cue = "/VO/Chronos_1397", Text = "Hãy cẩn thận phía trước!", GameStateRequirements = { { Path = { "GameState", "ShrineUpgrades", "BossDifficultyShrineUpgrade" }, Comparison = ">=", Value = 4, }, }, }, { Cue = "/VO/Chronos_1398", Text = "Đi đi, Người Giữ Thời Gian của ta!", PlayFirst = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "NeoChronosGift02" }, }, }, }, { Cue = "/VO/Chronos_1396", Text = "Hãy cẩn thận khi ở trên dó nhé!", PlayFirst = true, GameStateRequirements = { { PathTrue = { "CurrentRun", "BiomesReached", "P" }, }, { Path = { "GameState", "ShrineUpgrades", "BossDifficultyShrineUpgrade" }, Comparison = ">=", Value = 4, }, { PathTrue = { "GameState", "TextLinesRecord", "TyphonBossAltFight01" }, }, }, }, { Cue = "/VO/Chronos_1336", Text = "Đến lúc đi rồi.", GameStateRequirements = { { PathFalse = { "PrevRun", "Cleared" }, }, }, }, { Cue = "/VO/Chronos_1337", Text = "Được rồi! Đến lúc đi rồi.", GameStateRequirements = { { PathFalse = { "PrevRun", "Cleared" }, }, }, }, { Cue = "/VO/Chronos_1038", Text = "Xin chào! Tạm biệt!", GameStateRequirements = { { PathFalse = { "CurrentRun", "UseRecord", "NPC_Chronos_02" }, }, }, }, { Cue = "/VO/Chronos_1039", Text = "Chào và tạm biệt!", GameStateRequirements = { { PathFalse = { "CurrentRun", "UseRecord", "NPC_Chronos_02" }, }, }, }, { Cue = "/VO/Chronos_1042", Text = "Cháu đây rồi!", GameStateRequirements = { { PathFalse = { "CurrentRun", "UseRecord", "NPC_Chronos_02" }, }, }, }, { Cue = "/VO/Chronos_1044", Text = "Hẹn sớm gặp lại!", GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "I_PreBoss02" }, }, }, }, }, { GlobalVoiceLines = "InfiltratingHouseLines" }, } GlobalVoiceLines.ChronosGoldifyVoiceLines = { { RandomRemaining = true, PreLineWait = 0.25, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" } }, }, Cooldowns = { { Name = "RewardGoldifiedSpeech", Time = 30 }, }, { Cue = "/VO/Chronos_1340", Text = "{#Emph}Vàng nguyên chất!", PlayFirst = true }, { Cue = "/VO/Chronos_1338", Text = "{#Emph}Vì Vàng!" }, { Cue = "/VO/Chronos_1339", Text = "{#Emph}Vì Vàng!" }, { Cue = "/VO/Chronos_1341", Text = "{#Emph}Một cơ hội vàng!" }, { Cue = "/VO/Chronos_1342", Text = "{#Emph}Vàng." }, { Cue = "/VO/Chronos_1343", Text = "{#Emph}Vàng!" }, { Cue = "/VO/Chronos_1344", Text = "{#Emph}Phước Lành? Vàng!", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "ZeusUpgrade", "HeraUpgrade", "PoseidonUpgrade", "DemeterUpgrade", "ApolloUpgrade", "AphroditeUpgrade", "HephaestusUpgrade", "HestiaUpgrade", "AresUpgrade", "TrialUpgrade", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1345", Text = "{#Emph}Hành? Vàng!", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "RoomRewardConsolationPrize", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1346", Text = "{#Emph}Tro Tàn? Vàng!", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "MetaCardPointsCommonDrop", "MetaCardPointsCommonBigDrop", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1347", Text = "{#Emph}Xương? Vàng.", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "MetaCurrencyDrop", "MetaCurrencyBigDrop", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1348", Text = "{#Emph}Rượu Mật? Vàng.", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "GiftDrop", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1349", Text = "{#Emph}Búa? Vàng.", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "WeaponUpgrade", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1350", Text = "{#Emph}Mặt Trăng? Vàng!", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "SpellDrop", "TalentDrop", "MinorTalentDrop", "TalentBigDrop", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1351", Text = "{#Emph}Thuốc? Vàng!", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "MaxManaDrop", "MaxManaDropBig", "MaxManaDropSmall", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1352", Text = "{#Emph}Trái Tim Nhân Mã? Nhân Mã Vàng!", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "MaxHealthDrop", "MaxHealthDropBig", "MaxHealthDropSmall", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1394", Text = "{#Emph}Trái Sức Mạnh? Vàng.", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "StackUpgrade", "StackUpgradeBig", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, { Cue = "/VO/Chronos_1395", Text = "{#Emph}Giáp? Vàng!", PlayFirst = true, GameStateRequirements = { { Path = { "SessionMapState", "GoldifySource" }, IsAny = { "ArmorBoost", "ArmorBigBoost", }, }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Chronos_1340" }, }, }, }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.45, ObjectType = "NPC_Nyx_Story_01", PreLineAnim = "Nyx_Greeting", -- SkipCooldownCheckIfNonePlayed = true, Cooldowns = { { Name = "NyxSpokeRecently", Time = 6 }, }, { Cue = "/VO/Nyx_0151", Text = "Oh..." }, { Cue = "/VO/Nyx_0152", Text = "Quái lạ..." }, { Cue = "/VO/Nyx_0153", Text = "Bất thường..." }, { Cue = "/VO/Nyx_0154", Text = "Sáng tạo..." }, { Cue = "/VO/Nyx_0155", Text = "Chaos...?", PlayFirst = true }, { Cue = "/VO/Nyx_0156", Text = "{#Emph}Hmm..." }, }, } GlobalVoiceLines.MiscEndVoiceLines_Chronos = { RandomRemaining = true, UsePlayerSource = true, PreLineWait = 1.0, SuccessiveChanceToPlay = 0.5, GameStateRequirements = { -- }, Cooldowns = { { Name = "MelinoeAnyQuipSpeech" }, }, { Cue = "/VO/Melinoe_1947", Text = "{#Emph}" }, { Cue = "/VO/Melinoe_1949", Text = "{#Emph}" }, { Cue = "/VO/Melinoe_0580", Text = "{#Emph}Ugh..." }, { Cue = "/VO/Melinoe_0322", Text = "{#Emph}Grr!" }, { Cue = "/VO/MelinoeField_0495", Text = "Coward..." }, { Cue = "/VO/MelinoeField_2023", Text = "{#Emph}Ungh..." }, } GlobalVoiceLines.ChronosDeathTauntVoiceLines = { { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlay = 0.25, SuccessiveChanceToPlayAll = 0.1, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { Path = { "GameState", "SpentShrinePointsCache" }, Comparison = ">=", Value = 16, }, }, { Cue = "/VO/Intercom_0884", Text = "Nỗi Sợ trong không khí... không ai khác ngoài nỗi sợ của chính ngươi." }, { Cue = "/VO/Intercom_0885", Text = "Ngươi, kẻ đã triệu hồi Màn Đêm: Hãy hứng chịu hậu quả." }, { Cue = "/VO/Intercom_0886", Text = "Nỗi Sợ đang lớn dần trong ngươi phải không?" }, { Cue = "/VO/Intercom_0887", Text = "Ngươi đã can tâm theo đuổi một mục đích bị lãng quên." }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlayAll = 0.1, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "F_Boss01", "F_Boss02" }, }, }, { Cue = "/VO/Intercom_0083", Text = "Thật yếu đuối! Ngươi sẽ không bao giờ sánh bằng bà ta.", PlayFirst = true }, { Cue = "/VO/Intercom_0084", Text = "Nữ Chúa của ngươi còn không thể đánh bại ta; thì sao ngươi có thể?" }, { Cue = "/VO/Intercom_0890", Text = "Thậm chí ngươi không thể tìm được đường ra khỏi khu rừng đó ư?" }, { Cue = "/VO/Intercom_0891", Text = "Có quá nhiều linh hồn lạc lối ở Erebus! Ngươi chỉ là một trong số đó." }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlayAll = 0.1, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "G_Boss01", "G_Boss02" }, }, }, { Cue = "/VO/Intercom_0088", Text = "Phải chăng ngươi đã bị phân tâm bởi tiếng hát của các Siren?" }, { Cue = "/VO/Intercom_0089", Text = "Giống như hầu hết những thủy thủ chết chìm khác..." }, { Cue = "/VO/Intercom_0713", Text = "Mong rằng tiếng hát của các Siren sẽ hành hạ ngươi, ngay cả khi chúng không ở gần." }, { Cue = "/VO/Intercom_0714", Text = "Một lần nữa, bị nhấn chìm bởi tiếng hát của các Siren!" }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlayAll = 0.1, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "H_Boss01", "H_Boss02" }, }, }, { Cue = "/VO/Intercom_0715", Text = "Có vẻ như tên khốn đó cũng hữu dụng đấy!" }, { Cue = "/VO/Intercom_0716", Text = "Con thú ba đầu đó chẳng hề quen biết ngươi, cũng như bất kỳ ai khác." }, { Cue = "/VO/Intercom_0717", Text = "Chỉ có kẻ ngốc mới muốn thuần phục con thú đó.", PlayFirst = true }, { Cue = "/VO/Intercom_0718", Text = "Con chó già tội nghiệp của gia đình ngươi không muốn bị làm phiền." }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlayAll = 0.1, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "N_Boss01", "N_Boss02" }, }, }, { Cue = "/VO/Intercom_0719", Text = "Tốt nhất là không nên động đến người chăn cừu và đàn cừu của chúng." }, { Cue = "/VO/Intercom_0720", Text = "Ngay cả một Cyclops mù cũng nhìn thấu được kế hoạch của ngươi." }, { Cue = "/VO/Intercom_0721", Text = "Ngươi chẳng qua chỉ là miếng mồi nhỏ cho tên Cyclops đó thôi, cháu gái." }, { Cue = "/VO/Intercom_0722", Text = "Ngươi cũng chỉ là một con cừu khác, lạc khỏi đàn." }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlayAll = 0.1, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "O_Boss01", "O_Boss02" }, }, }, { Cue = "/VO/Intercom_0723", Text = "Bất cứ nơi nào ngươi đi qua, Xung Đột cũng sẽ theo sau ngươi." }, { Cue = "/VO/Intercom_0724", Text = "Lẽ ra mọi chuyện đã kết thúc, nhưng ngươi đã mời Xung Đột vào hang." }, { Cue = "/VO/Intercom_0725", Text = "Có lẽ chính ngươi là nguyên nhân của mọi xung đột, chứ không phải Hiện Thân của Xung Đột!", PlayFirst = true }, { Cue = "/VO/Intercom_0726", Text = "Vết thương từ Rail of Adamant đau đớn lắm phải không?" }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlayAll = 0.1, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "P_Boss01" }, }, }, { Cue = "/VO/Intercom_0727", Text = "Sự trả thù của Titan giống như ngọn lửa bất diệt." }, { Cue = "/VO/Intercom_0728", Text = "Tại sao phải bận tâm khi Prometheus đã thấy trước thất bại của ngươi?", PlayFirst = true }, { Cue = "/VO/Intercom_0729", Text = "Titan Tiên Tri đã chọn phe chiến thắng; phe của ta." }, { Cue = "/VO/Intercom_0730", Text = "Có vẻ như ngươi lại khiến Prometheus đáng thương của bọn ta tức giận." }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlayAll = 0.1, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { PathTrue = { "CurrentRun", "BiomesReached", "P" }, }, }, { Cue = "/VO/Intercom_0888", Text = "Như ngươi đã thấy, sự sụp đổ của Đỉnh Olympus là điều không thể tránh khỏi." }, { Cue = "/VO/Intercom_0889", Text = "Những vị thần không còn kiêu ngạo như trước nữa." }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlayAll = 0.1, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { PathTrue = { "CurrentRun", "BiomesReached", "N" }, }, }, { Cue = "/VO/Intercom_0090", Text = "Trần gian không phải nơi dành cho ngươi, cháu gái.", PlayFirst = true }, { Cue = "/VO/Intercom_0091", Text = "Nếu ngươi đến được Olympus, rồi sau đó sẽ làm gì?", GameStateRequirements = { { PathFalse = { "CurrentRun", "BiomesReached", "P" }, }, }, }, { Cue = "/VO/Intercom_0092", Text = "Thời đại của những vị thần đang dần đến hồi kết." }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, SuccessiveChanceToPlayAll = 0.05, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ChronosNightmare01" }, }, }, { Cue = "/VO/Intercom_0067", Text = "Bọn thần các ngươi không đủ tư cách để cai trị thế giới này. Chỉ cần nhìn thoáng qua là thấy." }, { Cue = "/VO/Intercom_0065", Text = "Ngươi đã cướp đi mọi thứ của ta, Hades. Và ta cũng sẽ làm điều tương tự với ngươi.", GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "I_Story01" } }, }, }, { Cue = "/VO/Intercom_0066", Text = "Chuyện gì đã xảy ra với con gái ngươi vậy, Hades? Ta sẽ lịch sự hỏi ngươi lần cuối thôi.", PlayFirst = true, GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "I_Story01" } }, }, }, { Cue = "/VO/Intercom_0068", Text = "Ngươi và những đứa con khác của ta đã ngăn cản ta một lần, Hades. Nhưng giờ đây, ta đã có đủ thời gian để đối phó.", GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "I_Story01" } }, }, }, { Cue = "/VO/Intercom_0069", Text = "Ngươi đang nói đến công lý ư, Hades? Ngươi đã tàn nhẫn tra tấn biết bao nhiêu linh hồn, bao lâu rồi?", GameStateRequirements = { { PathTrue = { "GameState", "RoomsEntered", "I_Story01" } }, }, }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 1.25, NoTarget = true, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, { Cue = "/VO/Intercom_0085", Text = "Ngươi định mãi mãi lạc lối ở Erebus ư?", GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "RoomSetName" }, IsAny = { "F" }, }, }, }, { Cue = "/VO/Intercom_0093", Text = "Ta đã thấy trước mọi nỗ lực vô ích của ngươi." }, { Cue = "/VO/Intercom_0086", Text = "Chiến đấu rất quyết liệt, nhưng vẫn còn rất xa mục tiêu." }, { Cue = "/VO/Intercom_0087", Text = "Ta chẳng có gì phải sợ những phù thủy như ngươi cả.", GameStateRequirements = { { Path = { "GameState", "EnemyKills", "Chronos" }, Comparison = ">=", Value = 3, }, }, }, { Cue = "/VO/Intercom_0021", Text = "{#Emph}" }, { Cue = "/VO/Intercom_0022", Text = "{#Emph}" }, { Cue = "/VO/Intercom_0023", Text = "{#Emph}" }, { Cue = "/VO/Intercom_0036", Text = "Ngươi không thể dừng Thời Gian." }, { Cue = "/VO/Intercom_0037", Text = "Bỏ cuộc đi, cô bé." }, { Cue = "/VO/Intercom_0038", Text = "Có vẻ như ngươi thật chậm hiểu." }, { Cue = "/VO/Intercom_0039", Text = "Lại một thất bại khác." }, { Cue = "/VO/Intercom_0040", Text = "Phải chăng ngươi đã quen với kết cục này?" }, { Cue = "/VO/Intercom_0041", Text = "Ngươi chiến đấu không ngừng nghỉ, nhưng vì mục đích gì?" }, { Cue = "/VO/Intercom_0042", Text = "Ta gần như thương hại cho những nỗ lực vô ích của ngươi." }, { Cue = "/VO/Intercom_0043", Text = "Mọi cố gắng của ngươi, lại một lần nữa, trở thành công cốc." }, { Cue = "/VO/Intercom_0044", Text = "Ngươi bắt đầu khiến ta khó chịu rồi đó, cháu gái." }, { Cue = "/VO/Intercom_0045", Text = "Đừng bao giờ xem thường một Titan, cô bé." }, { Cue = "/VO/Intercom_0046", Text = "Lẽ ra ta nên giam ngươi ở Tartarus." }, { Cue = "/VO/Intercom_0047", Text = "Hãy dừng ngay những nỗ lực vô nghĩa này lại." }, { Cue = "/VO/Intercom_0048", Text = "Sự thất bại của ngươi là điều không thể tránh khỏi." }, { Cue = "/VO/Intercom_0049", Text = "Ngươi có tinh thần kiên cường, nhưng không phải bất diệt." }, { Cue = "/VO/Intercom_0050", Text = "Lần sau, số phận sẽ không mỉm cười với ngươi đâu." }, { Cue = "/VO/Intercom_0051", Text = "Có phải đó là giới hạn sức mạnh của ngươi không?" }, { Cue = "/VO/Intercom_0052", Text = "Ngươi có thể làm tốt hơn thế mà." }, -- { Cue = "/VO/Intercom_0053", Text = "How many further chambers can you stand?" }, -- { Cue = "/VO/Intercom_0054", Text = "You were quite fortunate back there I think." }, }, } GlobalVoiceLines.AnomalyLocatedVoiceLines = { [1] = { GlobalVoiceLines = "AnomalyReactionVoiceLines" }, [2] = { PlayOnce = true, PlayOnceContext = "ChronosAnomalyReveal", BreakIfPlayed = true, PreLineWait = 0.5, NoTarget = true, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, { Cue = "/VO/Intercom_0037", Text = "Give up already, girl." }, -- { Cue = "/VO/Intercom_0147", Text = "I know who you are. I know where you go. You shall not get there.", PlayFirst = true, PlayOnce = true }, }, [3] = { ThreadName = "RoomThread", RandomRemaining = true, PreLineWait = 0.8, NoTarget = true, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, { Cue = "/VO/Intercom_1282", Text = "Khoan đã, chuyện gì đang xảy ra vậy... sao có thể thế được?", PlayFirst = true, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" } }, }, }, { Cue = "/VO/Intercom_1283", Text = "Ngươi, kẻ luôn bám theo ta như cơn ác mộng... biến đi!", PlayFirst = true, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" } }, { PathTrue = { "GameState", "SpeechRecord", "/VO/Intercom_1282" }, }, }, }, { Cue = "/VO/Intercom_0100", Text = "Ngươi nghĩ ngươi định đi đâu?" }, { Cue = "/VO/Intercom_0101", Text = "Sự cố gắng mù quáng và vô nghĩa của ngươi." }, { Cue = "/VO/Intercom_0102", Text = "Ngươi dám mò vào lãnh địa của ta?" }, { Cue = "/VO/Intercom_0103", Text = "Ta biết mục đích của ngươi là gì." }, { Cue = "/VO/Intercom_0104", Text = "Sự nhân từ của ta dành cho ngươi đang dần cạn kiệt." }, { Cue = "/VO/Intercom_0105", Text = "Ngươi muốn nhìn thấy lãnh địa của cha ngươi phải không?" }, { Cue = "/VO/Intercom_0106", Text = "Những nỗ lực của ngươi thật đáng ngưỡng mộ, Cháu Gái." }, { Cue = "/VO/Intercom_0107", Text = "Có lẽ ngươi nên quay lại vào lúc khác." }, { Cue = "/VO/Intercom_0108", Text = "Nơi này chưa bao giờ là vương quốc của cha ngươi." }, { Cue = "/VO/Intercom_0109", Text = "Ngươi kể cho ta về những cơn ác mộng; và đây là một trong số đó.", GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ChronosMeeting03" }, }, }, }, }, } GlobalVoiceLines.AnomalyEnteredVoiceLines = { { RandomRemaining = true, PreLineWait = 1.15, SuccessiveChanceToPlay = 0.75, NoTarget = true, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, Cooldowns = { { Name = "AnomalyVOPlayed", Time = 5 }, }, { Cue = "/VO/Intercom_0148", Text = "Nếu ngươi muốn dạo chơi trong cõi này, thì hãy đến đây! Hãy chiêm ngưỡng thỏa thích.", PlayFirst = true, PlayOnce = true }, { Cue = "/VO/Intercom_0110", Text = "Hãy chiêm ngưỡng Địa Ngục tráng lệ của cha ngươi." }, { Cue = "/VO/Intercom_0112", Text = "Địa Ngục là nơi ngươi chưa từng biết đến! Nhưng, so với hiện tại cũng chẳng khác là bao..." }, { Cue = "/VO/Intercom_0113", Text = "Một thoáng nhìn về quá khứ, hay một trong những cơn ác mộng của ngươi?" }, -- { Cue = "/VO/Intercom_0114", Text = "Here then is glorious Elysium, before it fell on harder times." }, -- { Cue = "/VO/Intercom_0115", Text = "The champions within Elysium were always eager for a fight." }, -- { Cue = "/VO/Intercom_0116", Text = "So many glory-seekers such as you wound up within Elysium." }, { Cue = "/VO/Intercom_0117", Text = "Những kẻ khốn khổ của cha ngươi ở Asphodel rất ghét những kẻ xâm phạm." }, { Cue = "/VO/Intercom_0118", Text = "Chào mừng đến đồng cỏ xanh tươi của Asphodel." }, { Cue = "/VO/Intercom_0119", Text = "Hãy tận hưởng cái nóng khắc nghiệt của Asphodel." }, { Cue = "/VO/Intercom_0111", Text = "Nơi này từng là vương quốc của cha ngươi.", GameStateRequirements = { { Path = { "CurrentRun", "SpeechRecord" }, HasNone = { "/VO/Intercom_0108" }, }, }, }, }, { PreLineWait = 0.1, UsePlayerSource = true, PlayOnce = true, GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Intercom_0148" }, }, { Path = { "CurrentRun", "SpeechRecord" }, HasNone = { "/VO/MelinoeField_0206", "/VO/Intercom_0149" }, }, { PathFalse = { "GameState", "RoomsEntered", "I_Boss01" }, }, }, { Cue = "/VO/MelinoeField_0248", Text = "Lão già đó... chính là hắn..." }, }, { RandomRemaining = true, SuccessiveChanceToPlay = 0.75, UsePlayerSource = true, PreLineWait = 0.85, GameStateRequirements = { { Path = { "CurrentRun", "SpeechRecord" }, HasNone = { "/VO/MelinoeField_0206", "/VO/Intercom_0149" }, }, }, SkipCooldownCheckIfNonePlayed = true, Cooldowns = { { Name = "AnomalyVOPlayed", Time = 10 }, }, { Cue = "/VO/MelinoeField_0190", Text = "Ta đang ở đâu... hay thời điểm nào...", PlayFirst = true }, { Cue = "/VO/MelinoeField_0191", Text = "Đây không phải hiện thực..." }, { Cue = "/VO/MelinoeField_0192", Text = "Mắc kẹt rồi..." }, { Cue = "/VO/MelinoeField_0193", Text = "Lại nữa rồi..." }, { Cue = "/VO/MelinoeField_0194", Text = "Hắn đang cố khiến ta chậm lại" }, { Cue = "/VO/MelinoeField_0195", Text = "Nơi này có thực sự là Asphodel không...?" }, -- { Cue = "/VO/MelinoeField_0196", Text = "This is Elysium..." }, }, } GlobalVoiceLines.AnomalyCombatBeginsVoiceLines = { { RandomRemaining = true, PreLineWait = 0.35, NoTarget = true, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, SuccessiveChanceToPlayAll = 0.5, { Cue = "/VO/Intercom_0149", Text = "Thứ ma thuật gì thế này...?", PlayFirst = true }, { Cue = "/VO/Intercom_0130", Text = "Vậy là ngươi có thể nhìn thấy lối thoát..." }, { Cue = "/VO/Intercom_0131", Text = "Nhưng ngươi chỉ mới đến đây..." }, { Cue = "/VO/Intercom_0132", Text = "Ngươi thực sự vội như vậy sao?" }, { Cue = "/VO/Intercom_0133", Text = "Tại sao ngươi lại muốn tỉnh dậy khỏi giấc mơ đẹp như vậy?" }, { Cue = "/VO/Intercom_0134", Text = "Ai đã dạy ngươi mánh khóe đó?" }, { Cue = "/VO/Intercom_0135", Text = "Ngươi biết đôi chút về Thời Gian và Giấc Mơ, phải không?" }, }, } GlobalVoiceLines.AnomalySurvivedVoiceLines = { { RandomRemaining = true, PreLineWait = 0.95, NoTarget = true, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, { Cue = "/VO/Intercom_0150", Text = "Có vẻ như ngươi đã biết cách chống lại chiêu trò của ta...", PlayFirst = true }, { Cue = "/VO/Intercom_0120", Text = "Sẽ ra sao nếu ngươi vượt qua tất cả những điều đó...?" }, { Cue = "/VO/Intercom_0121", Text = "Đây có thực sự là điều mà ngươi muốn chiến đấu không?" }, { Cue = "/VO/Intercom_0122", Text = "Ngươi sống sót, nhưng ngươi chẳng rút ra bài học gì." }, { Cue = "/VO/Intercom_0123", Text = "Tất nhiên, đó là thời điểm khác." }, { Cue = "/VO/Intercom_0124", Text = "Thời đại có thể thay đổi, nhưng dường như mọi thứ vẫn như cũ." }, { Cue = "/VO/Intercom_0125", Text = "Ngươi có muốn cơn ác mộng trở thành hiện thực không?" }, { Cue = "/VO/Intercom_0126", Text = "Cứ tiếp tục đi, Cháu Gái." }, { Cue = "/VO/Intercom_0127", Text = "Những cơn ác mộng đó, rồi cuối cùng cũng sẽ nuốt chửng ngươi." }, { Cue = "/VO/Intercom_0128", Text = "Hãy dừng việc này lại khi ngươi còn có thể." }, { Cue = "/VO/Intercom_0129", Text = "Dẫu vậy, ngươi vẫn lao đầu vào hư vô." }, }, } GlobalVoiceLines.AnomalyConcludedVoiceLines = { GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsNone = { "G_Story01" }, }, }, { PlayOnce = true, PlayOnceContext = "MelReturnFromAnomalyVO", RandomRemaining = true, PreLineWait = 0.7, UsePlayerSource = true, --SuccessiveChanceToPlay = 0.5, { Cue = "/VO/MelinoeField_0216", Text = "Đã trở lại..." }, { Cue = "/VO/MelinoeField_0217", Text = "Cứ như vừa thức dậy sau một giấc mơ..." }, { Cue = "/VO/MelinoeField_0218", Text = "Ngươi cần cố gắng nhiều hơn, Chronos...", PlayFirst = true }, { Cue = "/VO/MelinoeField_0219", Text = "Chỉ là một viễn cảnh..." }, { Cue = "/VO/MelinoeField_0220", Text = "Đã trở về hiện thực..." }, { Cue = "/VO/MelinoeField_1410", Text = "Chỉ là ảo giác...!" }, }, } GlobalVoiceLines.ChronosHideAndSeekVoiceLines = { { PlayOnce = true, PlayOnceContext = "ChronosFlashbackVO", UsePlayerSource = true, AllowTalkOverTextLines = true, { Cue = "/VO/Chronos_1418", Text = "{#Emph}Ah-hah!" }, }, { ObjectType = "NPC_Melinoe_Story_01", AllowTalkOverTextLines = true, { Cue = "/VO/MelinoeField_5055", Text = "{#Emph}Ah!" }, } } GlobalVoiceLines.ChronosAlertVoiceLines = { PreLineWait = 0.95, { RandomRemaining = true, NoTarget = true, Source = { LineHistoryName = "NPC_LordHades_01", SubtitleColor = Color.HadesVoice }, SuccessiveChanceToPlayAll = 0.5, TriggerCooldowns = { "MelinoeAnyQuipSpeech" }, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/Intercom_7352", Text = "Kẻ nào dám làm loạn Tartarus?! Ồ, là con sao, Con Gái...!", PlayFirst = true }, { Cue = "/VO/Intercom_7353", Text = "Những tên Satyr vô lễ kia phải gánh chịu hậu quả." }, { Cue = "/VO/Intercom_7354", Text = "Mọi việc diễn ra theo đúng kế hoạch." }, { Cue = "/VO/Intercom_7355", Text = "Lũ Satyr và đồng bọn vẫn trung thành với mục đích của Titan." }, { Cue = "/VO/Intercom_7356", Text = "Con được quyền lục soát nơi này, Con Gái." }, { Cue = "/VO/Intercom_7357", Text = "Mọi thứ xung quanh đều phải bị loại bỏ!" }, { Cue = "/VO/Intercom_7358", Text = "Những món đồ trang trí thời gian chết tiệt này chẳng thể bị phá hủy!" }, { Cue = "/VO/Intercom_7359", Text = "Chào mừng con đến nơi sâu thẳm nhất, Con Gái." }, { Cue = "/VO/Intercom_7360", Text = "Công Chúa Địa Ngục được phép tiến vào." }, { Cue = "/VO/Intercom_7361", Text = "Bất cứ điều gì cần thiết để đảm bảo thời gian luôn trôi chảy..." }, { Cue = "/VO/Intercom_7362", Text = "Những kẻ khốn khổ này sẽ không chào đón con đâu, Con Gái, nhưng ta sẽ chào đón chúng." }, { Cue = "/VO/Intercom_7363", Text = "Đây không phải lần đầu bạo loạn bùng phát ở Tartarus..." }, { Cue = "/VO/Intercom_7364", Text = "Anh trai con từng phá hủy toàn bộ nơi này, còn con thì sao?" }, { Cue = "/VO/Intercom_7365", Text = "Ta sẽ nói chuyện với Đức Cha về mức độ xâm nhập này." }, { Cue = "/VO/Intercom_7366", Text = "Bọn ta trân trọng sự đóng góp của con vào nỗ lực dọn dẹp, Con Gái." }, { Cue = "/VO/Intercom_7367", Text = "Đã lâu rồi không gặp con ở đây, Con Gái.", PlayFirst = true, GameStateRequirements = { { PathTrue = { "GameState", "SpeechRecord", "/VO/Intercom_7352" } }, { SumPrevRuns = 6, IgnoreCurrentRun = true, Path = { "RoomsEntered", "I_Intro" }, Comparison = "==", Value = 0, }, } }, { Cue = "/VO/Intercom_7368", Text = "Melinoë, con đã ở đâu vậy? Theo bọn ta biết thì không phải ở Địa Ngục.", PlayFirst = true, GameStateRequirements = { { PathTrue = { "GameState", "SpeechRecord", "/VO/Intercom_7352" } }, { SumPrevRuns = 4, IgnoreCurrentRun = true, Path = { "BiomesReached", "N" }, CountPathTrue = true, Comparison = ">=", Value = 3, }, } }, { Cue = "/VO/Intercom_7369", Text = "Vậy ra đây là tàn quân còn sót lại của Titan sao?" }, { Cue = "/VO/Intercom_7370", Text = "Đừng tha cho bất kỳ tên khốn nào dám chống lại con, Con Gái." }, { Cue = "/VO/Intercom_7371", Text = "Hãy tiến hành một cách thận trọng, hoặc theo cách hiệu quả nhất." }, }, { RandomRemaining = true, NoTarget = true, Source = { LineHistoryName = "NPC_Chronos_01", SubtitleColor = Color.ChronosVoice }, SuccessiveChanceToPlayAll = 0.5, TriggerCooldowns = { "MelinoeAnyQuipSpeech" }, GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/Intercom_0473", Text = "Ngươi đang xâm phạm vào tài sản riêng...", PlayFirst = true }, { Cue = "/VO/Intercom_0151", Text = "Hãy cẩn thận từng bước chân của ngươi, cháu gái..." }, { Cue = "/VO/Intercom_0136", Text = "Thật thú vị khi ngươi có thể chống lại ma thuật đó..." }, { Cue = "/VO/Intercom_0475", Text = "Ngươi đang xâm phạm khu vực riêng...!" }, { Cue = "/VO/Intercom_0476", Text = "Có vẻ như chúng ta có vài vấn đề với những kẻ xâm phạm..." }, { Cue = "/VO/Intercom_0477", Text = "Có vẻ như chúng ta có một vị khách không mời..." }, { Cue = "/VO/Intercom_0478", Text = "Những tín đồ của ta sẽ đánh bại ngươi, nếu không muốn nói là tiêu diệt ngươi không thương tiếc!" }, { Cue = "/VO/Intercom_0481", Text = "Có lẽ bọn ta không thể tìm thấy ngươi ở Cánh Đồng, nhưng ở đây thì khác!" }, { Cue = "/VO/Intercom_0483", Text = "{#Emph}Ah{#Prev}, ngươi thật ngoan ngoãn khi đến thăm bọn ta lần nữa, Cháu Gái!" }, { Cue = "/VO/Intercom_0484", Text = "Bọn ta nhiệt liệt chào đón ngươi ở vực thẳm Tartarus." }, { Cue = "/VO/Intercom_0485", Text = "Điều gì khiến ngươi tìm đến ta lần nữa vậy, cháu gái?" }, { Cue = "/VO/Intercom_0487", Text = "Như thể dự đoán được sự chuyển động của mọi bánh răng ở khắp mọi ngóc ngách..." }, { Cue = "/VO/Intercom_0488", Text = "Có lẽ ngươi đã quên điều gì đó vào lần cuối ngươi can thiệp chăng?" }, { Cue = "/VO/Intercom_0490", Text = "Những kẻ khôn ngoan thường chạy trốn khỏi Tartarus, chứ không lao thẳng vào như ngươi." }, { Cue = "/VO/Intercom_0491", Text = "Nơi này từng là lăng mộ của ta; liệu nó có trở thành lăng mộ của ngươi không?" }, { Cue = "/VO/Intercom_0479", Text = "Con bé đã trở lại. Hãy tập trung lực lượng phòng vệ!", PlayFirst = true, GameStateRequirements = { { PathTrue = { "PrevRun", "EnemyKills", "Chronos" } }, { Path = { "GameState", "EnemyKills", "Chronos" }, Comparison = ">=", Value = 8, }, }, }, { Cue = "/VO/Intercom_0492", Text = "Ta sẽ chờ đợi sự xuất hiện của ngươi, Cháu Gái.", GameStateRequirements = { { PathFalse = { "PrevRun", "EnemyKills", "Chronos" } }, { Path = { "GameState", "RoomsEntered", "I_Boss01" }, Comparison = ">=", Value = 3, }, }, }, { Cue = "/VO/Intercom_0474", Text = "Tại sao những kẻ trong gia đình của ta đều phiền phức như vậy?", GameStateRequirements = { { PathTrue = { "PrevRun", "RoomsEntered", "I_Boss01" } }, { Path = { "GameState", "EnemyKills", "Chronos" }, Comparison = ">=", Value = 3, }, }, }, { Cue = "/VO/Intercom_0480", Text = "Ngươi thật khó lường, và cũng khó bắt giữ...", GameStateRequirements = { { Path = { "GameState", "RoomsEntered", "I_Boss01" }, Comparison = ">=", Value = 5, }, }, }, { Cue = "/VO/Intercom_0482", Text = "Nếu ngươi tình cờ gặp Hades, hãy gửi lời chào cho hắn thay ta.", GameStateRequirements = { { Path = { "GameState", "RoomsEntered", "I_Story01" }, Comparison = ">=", Value = 3, }, }, }, { Cue = "/VO/Intercom_0486", Text = "Đã lâu rồi bọn ta không gặp ngươi, cháu gái.", GameStateRequirements = { { PathFalse = { "PrevRun", "RoomsEntered", "I_Intro" }, }, }, }, { Cue = "/VO/Intercom_0489", Text = "Con bé đang hướng đến Thánh Điện lần nữa. Ngăn nó lại!", GameStateRequirements = { { Path = { "GameState", "EnemyKills", "Chronos" }, Comparison = ">=", Value = 3, }, }, }, }, { UsePlayerSource = true, RandomRemaining = true, SuccessiveChanceToPlay = 0.25, PreLineWait = 0.45, GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, }, { Cue = "/VO/MelinoeField_1538", Text = "Không còn bóng tối để lẩn trốn nữa...!" }, { Cue = "/VO/MelinoeField_1539", Text = "Thử ngăn cản ta xem...!" }, { Cue = "/VO/MelinoeField_1540", Text = "Tránh đường cho ta!" }, { Cue = "/VO/MelinoeField_1541", Text = "Ta chưa xong với ngươi đâu!" }, { Cue = "/VO/MelinoeField_1542", Text = "Ta sẽ sớm gặp lại ngươi, Titan!" }, { Cue = "/VO/MelinoeField_1543", Text = "Hắn ẩn nấp sau những kẻ khốn khổ đó!", PlayFirst = true }, }, } -- more in EnemyData_Chronos OverwriteTableKeys( EnemyData, UnitSetData.NPC_Chronos )