UnitSetData.NPC_Arachne = { -- Arachne, Id = TKTK NPC_Arachne_01 = { InheritFrom = { "NPC_Neutral", "NPC_Giftable" }, Portrait = "Portrait_Arachne_Default_01", AnimOffsetZ = 80, Groups = { "NPCs" }, SpeakerName = "Arachne", LoadPackages = { "Arachne", }, SubtitleColor = Color.ArachneVoice, EmoteOffsetY = -50, EmoteOffsetX = 30, RequiredRoomInteraction = true, BlockedLootInteractionText = "NPCUseTextTalkLocked", GiftTrackNPCVariant = "NPC_Arachne_Home_01", UpgradeScreenOpenSound = "/Leftovers/Menu Sounds/InfoPanelInURSA3", UpgradeSelectedSound = "/SFX/Menu Sounds/KeepsakeArachneSash2", MenuTitle = "ArachneCostumeMenu_Title", BoonInfoTitleText = "Codex_BoonInfo_Arachne", FlavorTextIds = { "ArachneCostumeMenu_FlavorText01", }, Traits = { "AgilityCostume", "ManaCostume", "VitalityCostume", "HighArmorCostume", "CastDamageCostume", "IncomeCostume", "SpellCostume", "EscalatingCostume", }, ActivateRequirements = { -- None }, SpecialInteractFunctionName = "SpecialInteractSalute", SpecialInteractGameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, }, SpecialInteractCooldown = 60, InteractVoiceLines = { { PreLineWait = 0.3, UsePlayerSource = true, RandomRemaining = true, PlayOnceThisRun = true, SuccessiveChanceToPlay = 0.2, Cooldowns = { { Name = "MelinoeSaluteSpeech", Time = 4 }, }, { Cue = "/VO/Melinoe_1880", Text = "Tạm biệt nhé, Arachne.", PlayFirst = true }, }, { GlobalVoiceLines = "SaluteVoiceLines" }, { RandomRemaining = true, PreLineWait = 0.25, ObjectTypes = { "NPC_Arachne_01", "NPC_Arachne_Home_01" }, GameStateRequirements = { NamedRequirementsFalse = { "ArachneBrooding" }, }, { Cue = "/VO/Arachne_0157", Text = "Bảo trọng, nhé?" }, { Cue = "/VO/Arachne_0158", Text = "Bảo trọng khi ở ngoài đó nhé." }, { Cue = "/VO/Arachne_0151", Text = "Cô cũng vậy.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1698", "/VO/Melinoe_1699", "/VO/Melinoe_2784" }, }, }, }, { Cue = "/VO/Arachne_0152", Text = "Cô khỏe không?", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1698", "/VO/Melinoe_1699", "/VO/Melinoe_2784" }, }, }, }, { Cue = "/VO/Arachne_0153", Text = "Cảm ơn sự hào phóng của cô.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1701", "/VO/Melinoe_1703", "/VO/Melinoe_2785", "/VO/Melinoe_2786" }, }, }, }, { Cue = "/VO/Arachne_0154", Text = "Ô, ta rành đường ở đây mà.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1701", "/VO/Melinoe_1703", "/VO/Melinoe_2785", "/VO/Melinoe_2786" }, }, }, }, { Cue = "/VO/Arachne_0155", Text = "Bất cứ nơi nào chúng ta có thể đi.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1704", "/VO/Melinoe_1705", "/VO/Melinoe_1709", "/VO/Melinoe_2787" }, }, }, }, { Cue = "/VO/Arachne_0156", Text = "Ta rất cảm kích sự quan tâm đó.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsAny = { "/VO/Melinoe_1703", "/VO/Melinoe_1704", "/VO/Melinoe_1705", "/VO/Melinoe_1709", "/VO/Melinoe_2785", "/VO/Melinoe_2786", "/VO/Melinoe_2787", "/VO/Melinoe_2788" }, }, }, }, { Cue = "/VO/Arachne_0159", Text = "Cô lịch sự thật đấy.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsNone = { "/VO/Melinoe_1698", "/VO/Melinoe_1699", "/VO/Melinoe_2784" }, }, }, }, { Cue = "/VO/Arachne_0160", Text = "Không cần trang nghiêm như thế ở đây đâu.", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsNone = { "/VO/Melinoe_1698", "/VO/Melinoe_1699", "/VO/Melinoe_2784" }, }, }, }, { Cue = "/VO/Arachne_0161", Text = "Ô, {#Emph}là cô sao!", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsNone = { "/VO/Melinoe_1700", "/VO/Melinoe_1700_2" }, }, }, }, { Cue = "/VO/Arachne_0162", Text = "Lại đây nào." }, } }, InteractTextLineSets = { ArachneFirstMeeting = { PlayOnce = true, UseableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0002", -- Portrait = "Portrait_Arachne_Brooding_01", -- Portrait = "Portrait_Arachne_Default_01", -- Portrait = "Portrait_Arachne_Brooding_02", Emote = "PortraitEmoteSurprise", Text = "Cô đang làm gì ở đây vậy? Ngoài việc dẫm đạp tứ tung lên tơ nhện của ta! Ồ, không sao đâu. Ta luôn có thể tạo ra thêm chất liệu tơ hoàn hảo! Không phải lúc nào ta cũng có dịp cô." }, { Cue = "/VO/Melinoe_0636", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "{#Emph}Ờm {#Prev}, chào, Arachne. Xin lỗi vì chuyện này! Ta nghĩ từ giờ trở đi chúng ta sẽ gặp nhau nhiều hơn đấy. Nhiệm vụ của ta đã bắt đầu rồi." }, { Cue = "/VO/Arachne_0003", Text = "Thật sao? Vậy thì, ta không làm phiền cô nữa, cô có việc mà. Nhưng trước khi đi, cô {#Emph}phải {#Prev}thử một trong những chiếc váy này. Và đừng lo bị rách hay gì! Ta còn nhiều lắm, {#Emph}ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneLowHealth01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "Hero", "LastStands" }, UseLength = true, Comparison = "<=", Value = 1, }, { FunctionName = "RequiredHealthFraction", FunctionArgs = { Comparison = "<=", Value = 0.33, }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0118", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ôi không, cô bị thương rồi, bạn của ta! Và một chặng đường dài vẫn đang chờ cô phía trước. Nhưng đừng quá lo lắng! Lụa của ta sẽ giúp cô cảm thấy dễ chịu hơn." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSilk01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0034", Text = "Tơ nhện là cả thế giới đối với ta. Nó bền hơn vẻ bề ngoài. Bảo vệ cho ta! Nó còn có thể bóp nghẹt cả con mồi mạnh mẽ nhất. Cô có thích không? Cô có ưa thích... mẫu kết hợp màu nào đó không?" }, { Cue = "/VO/Melinoe_1806", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đẹp lắm, Arachne. Nhìn này, ta ước gì mình có thể chiêm ngưỡng nó mãi, nhưng..." }, { Cue = "/VO/Arachne_0035", Text = "...Nhưng cô không thể. Ta hiểu. Nhưng ta sẽ rất cảm kích nếu cô mang theo một chút tơ lụa của ta trên hành trình." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSilk02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1785", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Tơ lụa của cô thật sang trọng, và phép thuật trên sợi tơ lụa thật mạnh mẽ. Arachne, nó thật sự rất tuyệt vời. Cô nhận ra điều đó đúng không?" }, { Cue = "/VO/Arachne_0042", Text = "Tất nhiên rồi, bạn của ta. Mặc dù có lẽ ta không thể mạnh mẽ như cô, nhưng bù lại với kích thước của mình, ta lại là một thứ gì đó rất đặc biệt. Và ta không dễ gì mệt mỏi! Về phần còn lại thì... bí mật buôn bán, {#Emph}hah, ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutPay01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift02" } }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1786", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Phải có điều gì đó mà ta có thể làm để đền đáp cho công sức của cô. Bọn ta sống giản dị ở Crossroads, nhưng không thiếu những nguồn cung. Vậy cô cần gì thì cứ nói ra." }, { Cue = "/VO/Arachne_0043", Text = "Chà, cô khá là thẳng thắn đấy, bạn của ta, và ta rất cảm kích về điều đó. Bất cứ thứ gì ta cần sao? Ta sẽ suy nghĩ về điều đó! Nhưng ngay lúc này, cô nên chọn chiếc váy cô thích và thử nó đi." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutOutfits01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Melinoe_1810", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne, trang phục cô dệt cho ta thật sự rất đẹp. Ta xin lỗi vì đã khiến nó bị hỏng... và ta e rằng nó không thể sửa được." }, { Cue = "/VO/Arachne_0041", Text = "Ồ, {#Emph}hah {#Prev}, không sao đâu, ngốc ạ! Bản thân nó vốn đã không thể tồn tại lâu. Điều quan trọng ấy hả? Chính là nó được làm ra để tận hưởng khoảnh khắc cùng với {#Emph}cô. {#Prev}Giờ thì, ở đây ta còn nhiều lắm." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSelf01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0036", PreLineWait = 0.35, Portrait = "Portrait_Arachne_Brooding_01", Text = "...Đừng làm vậy, bạn ta. Chỉ là, cô đừng nhìn ta như thế. Đừng đối xử tốt với ta như vậy. Hãy trân trọng những món quà mà ta đã tặng cô! Tơ lụa với mọi hình dạng và màu sắc sặc sỡ! Rất đẹp phải không?" }, { Cue = "/VO/Melinoe_1807", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đúng vậy, Arachne, nhưng... nghĩ đến việc nhận rất nhiều quà từ cô cũng khiến ta cảm thấy hơi ngại. Và ta cũng lo cho sự an toàn của cô khi ở đây." }, { Cue = "/VO/Arachne_0037", Text = "Ồ, cô không cần lo về điều đó đâu. Như cô đang thấy đấy, hình dạng của ta mang lại cho ta một số lợi ích nhất định. Ta sẽ sống rất lâu dưới hình dạng này. Ngoài ra, chỉ vì cô tìm thấy ta ở đây, không có nghĩa là ai cũng có thể tìm thấy ta." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSelf02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneAboutSelf01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0038", Emote = "PortraitEmoteDepressed", Text = "Ta không còn nhớ cảm giác... bước đi trên hai chân là như thế nào nữa. Chỉ hai chân thôi. Ta trông thật ghê tởm, ta biết điều đó, nhưng... ta không còn vấp ngã như xưa nữa. Giờ đây, sự vội vàng có vẻ đã trở thành bản năng của ta rồi." }, { Cue = "/VO/Melinoe_1808", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đừng nói thế! Nhiệm vụ của ta sẽ hoàn thành nhanh hơn nhiều nếu ta có những đôi chân như cô, Arachne." }, { Cue = "/VO/Arachne_0039", Text = "Hãy để dành sự an ủi đó của cô cho linh hồn khác đi, bạn ta. Còn bây giờ, ta có để dành cho cô một ít tơ lụa mềm mại nhất đây." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutLair01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Melinoe_1809", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkPensive01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Portrait = "Portrait_Mel_Vulnerable_01", Text = "Cô có chắc là cô vẫn ổn khi ở đây không? Ta khó có thể đi được năm mươi bước trong khu rừng này mà không tự vệ đấy." }, { Cue = "/VO/Arachne_0040", Text = "Ta cảm thấy thoải mái khi ở một mình. Ta có hang nhỏ của riêng mình, có thức ăn và có nghề dệt! Ta thậm chí còn chẳng cần đến khung cửi và chỉ nữa. Ta rất biết ơn vì điều đó. Và ta rất cảm kích khi cô ghé thăm! Cô vẫn sẽ quay lại phải không?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutTrees01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0081", Text = "Khu rừng này gần như yên tĩnh mọi thời điểm. Những Linh Hồn Lạc Lõng thường sẽ tự tìm kiếm ký ức. Vậy nên, ta chỉ lắng nghe tiếng cây cối... chúng cao lớn, thông thái và già hơn những cây ở nơi ta đến..." }, { Cue = "/VO/MelinoeField_1782", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Suốt khoảng thời gian lớn lên, ta vẫn luôn lắng nghe lời thì thầm của rừng rậm! Ở một khía cạnh nào đó, nó khiến ta nhớ đến những linh hồn ở đây. Giọng nói của họ không dễ gì nghe thấy." }, { Cue = "/VO/Arachne_0082", Text = "Chẳng phải chúng ta vẫn có thể nghe thấy họ sao. Không biết khi ta nghe thấy họ và họ đang an ủi ta sẽ như thế nào nhỉ? Mặc dù ta không cần phải đáp lại! Đối với những trường hợp đó, ta thà không biết còn hơn." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutOceanus01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "PrevRun", "RoomCountCache" }, HasAny = { "G_Boss01", "G_Boss02" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0085", Text = "Gần đây, những khu rừng này đã thay đổi rất nhiều. Đôi khi ta nghĩ đến việc rời khỏi đây. Theo ta biết thì, càng đi sâu hơn thì sẽ càng lạnh và ẩm ướt hơn phải không?" }, { Cue = "/VO/MelinoeField_1789", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta biết một con đường đi đến ranh giới của Oceanus, nơi đáy biển vào Địa Ngục giao nhau. Không có cây cối, chỉ có... những ống kim loại kỳ lạ... và nước biển." }, { Cue = "/VO/Arachne_0086", Text = "Nghe có vẻ như đó là một sự thay đổi đầy thú vị! Nhưng ta không nghĩ ta thích nơi đó hơn nơi có cây cối. Và cả những ống kim loại? Ta có thể giăng tơ nhện của mình trên đó...! Ái chà... mơ vẫn chỉ là mơ thôi, {#Emph}ha ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSurface01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "WorldUpgradesAdded", "WorldUpgradeSurfacePenaltyCure" }, }, { Path = { "PrevRun", "RoomCountCache" }, HasAny = { "N_Boss01", "N_Boss02" }, }, { Path = { "GameState", "RoomCountCache" }, SumOf = { "N_Boss01", "N_Boss02" }, Comparison = ">=", Value = 3, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0087", Text = "Dạo gần đây cô đã ở đâu vậy, bạn ta? Ta đã quen với việc cô đến thăm khu rừng này đến nỗi ta đã hơi lo lắng một chút khi cô không xuất hiện suốt một hoặc hai đêm." }, { Cue = "/VO/MelinoeField_1784", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta xin lỗi vì đã khiến cô lo lắng. Nhiệm vụ của ta yêu cầu ta phải lên trần gian và xuống sâu dưới địa ngục. Đó là sự thay đổi lớn đối với ta." }, { Cue = "/VO/Arachne_0088", Text = "Cô đã đi hướng đó ư? {#Emph}Ha ha ha ha{#Prev}, ta không còn nhớ gì về nơi ta đến nữa. Vậy thì, chắc hẳn cô đã biết quen đường lối ở nơi đó. Nhưng nếu cô cần ý kiến của người bản địa, chỉ cần hỏi ta." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutWeaving01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift02" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0044", Text = "Ta rất yêu thích việc thêu dệt từ khi còn rất nhỏ. Cha ta, ông ấy đã tạo ra những loại thuốc nhuộm độc đáo nhất... đỏ hửng như hoàng hôn, xanh thẳm như biển cả, và {#Emph}oh{#Prev}, những màu tím! Ta muốn tạo ra những loại vải xứng đáng với những màu sắc đó..." }, { Cue = "/VO/MelinoeField_1484", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Và giờ cô đã làm được. Cô có tài năng xuất sắc. Mất bao lâu để cô có thể thành thạo như vậy? Ta đã luyện tập kỹ năng của mình cả đời, nhưng vẫn thường xuyên không đạt được mục tiêu của mình..." }, { Cue = "/VO/Arachne_0045", Text = "Cô đã đạt được điều cô muốn, bạn ta. Ta thấy cô làm việc rất chăm chỉ! Còn đối với ta, khi còn là cô gái trẻ, ta đã rất giỏi rồi. Nhưng thực sự mà nói, hiện tại ta lại càng giỏi hơn trước nhiều. Một phước lành... cũng như một lời nguyền, {#Emph}ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutWeaving02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneAboutWeaving01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0046", Text = "Tất cả những gì ta muốn là một cửa hàng nhỏ. Bán Quần Áo, Thuốc Nhuộm và Vải của Arachne! Cái tên này cũng không có sức hút lắm khi phát âm. Nhưng danh tiếng của bọn ta sẽ bù lại phần đó." }, { Cue = "/VO/MelinoeField_1485", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta biết những điều này không giống như cô mong đợi... nhưng ta là một khách hàng thân thiết của cô. Tuy nhiên, cô không đặt ra bất kỳ yêu cầu nào cho dịch vụ của mình, khiến ta cảm thấy hơi ngại, ta nghĩ vậy." }, { Cue = "/VO/Arachne_0047", Emote = "PortraitEmoteFiredUp", Text = "Tốt nhất đừng bận tâm về điều đó! Những bộ váy và trang phục của ta không chỉ để trưng, mà còn là trang phục cần thiết cho mỗi cuộc đi săn! Cô, bạn ta, cô đang giúp chúng hoàn thành mục đích tồn tại của chúng, {#Emph}ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCocoons01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Melinoe_1811", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Portrait = "Portrait_Mel_Vulnerable_01", Text = "Cô đã rất bận rộn, Arachne. Không chỉ với những bộ váy này, mà... khắp nơi trong Erebus đều đầy ắp những kén tơ lụa. Cô có chắc là ta có thể phá bỏ chúng không?" }, { Cue = "/VO/Arachne_0048", Emote = "PortraitEmoteCheerful", Text = "Tất nhiên rồi, đồ ngốc! Cô nghĩ chúng đang chứa đầy đàn con của ta ư? Khi cô gặp những kén nhện, những thứ bên trong đều dành cho cô, hoặc sẵn sàng tấn công cô. Giờ thì, nhận lấy thứ này đi." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCocoons02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneAboutCocoons01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0049", Text = "Cô không thực sự tin rằng ta đã dệt ra những chiếc kén mà cô gặp ngoài kia sao? Ta có thể dệt nhanh hơn bất cứ ai, nhưng không nhanh đến mức đó...!" }, { Cue = "/VO/Melinoe_1812", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Có vẻ thuyết phục đấy. Vậy thay vào đó, cô đã chỉ huy một đội quân khổng lồ với những con nhện con, luôn sẵn sàng làm theo mệnh lệnh của cô phải không?" }, { Cue = "/VO/Arachne_0050", Text = "{#Emph}Oh {#Prev}không hề, hầu hết chúng sẽ treo lơ lửng chiếc kén thay vì đặt đứng chúng. {#Emph}Khh, {#Prev}cho đến lúc này, ta không phải con nhện duy nhất trong rừng đâu! Những con khác sẽ giữ chiến lợi phẩm cho riêng mình. Nhưng đôi lúc chúng cũng nghe lệnh ta, ta nghĩ vậy, {#Emph}ha ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutFood01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0067", Text = "Chắc hẳn cô cũng đói lắm rồi! Ta có thể mời cô thưởng thức một chút đồ ăn không? Và ta nói thật là hơi ít đấy{#Emph}, hahaha! {#Prev}Ta có một mẻ mới đây, nếu cô muốn thử!" }, { Cue = "/VO/MelinoeField_1486", UsePlayerSource = true, PreLineWait = 0.35, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Oh! Không, cảm ơn, Arachne. Ta... không có cảm giác thèm ăn chút nào. Và ta không thích ăn thịt động vật, thậm chí là côn trùng. Mặc dù ta khá chắc ruồi của cô rất ngon." }, { Cue = "/VO/Arachne_0068", Text = "Đúng vậy! Một loại hương vị lạ lẫm, ta biết. Nhưng ta đã quen mùi vị của chúng nhanh hơn nhiều so với bất kỳ khía cạnh nào của cuộc sống này. Vậy thôi! Thiệt thòi cho cô thôi, ta chắc chắn đấy." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSpiders01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift02" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1487", UsePlayerSource = true, PreLineWait = 0.35, Portrait = "Portrait_Mel_Empathetic_01", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Cô luôn ở đây một mình ư? Khu rừng đầy rẫy nhện... cô có bao giờ tụ hợp với chúng không? Dệt nên những chiếc mạng nhện to lớn mà cô không thể tự mình làm được?" }, { Cue = "/VO/Arachne_0368", PreLineWait = 0.35, Text = "...Ta sẽ tiết lộ một bí mật nho nhỏ cho cô biết, bạn ta... ta rất ghét nhện. Theo như ta biết thì hầu hết loài nhện đều thế. Dệt là một công việc độc lập. Và bên cạnh đó, ta thích sự hiện diện của cô hơn." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSpiders02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneAboutSpiders01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1488", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkPensive01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta... dù sao thì, bản thân ta cũng chưa từng ghét nhện. Chúng giữ khu rừng sạch sẽ khỏi sâu bệnh. Và nếu không có mạng nhện của chúng, thì nơi này sẽ ra sao?" }, { Cue = "/VO/Arachne_0052", Text = "Cảm ơn, bạn ta. Ta biết cô có ý tốt khi nói những điều đó. Nếu điều đó khiến cô cảm thấy dễ chịu hơn, thì ta không chỉ ghét những gì mà ta đã trở thành. Những vị thần... ta cũng ghét các người nữa. {#Emph}Ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSpiders03 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutSpiders01", "ArachneGift04" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0053", Portrait = "Portrait_Arachne_Brooding_01", Text = "Cô biết điều gì về những con nhện không, bạn ta, đó là... chúng là họ hàng với ta. Con cháu ta, như cô thấy đấy. Nhưng chúng là những kẻ vô cùng vô ơn! Chúng không muốn có bất cứ mối quan hệ gì với ta cả." }, { Cue = "/VO/MelinoeField_1489", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Con cháu của cô...! Nhưng cô là cá thể đầu tiên mà, sao cô có thể... {#Emph}ừm... {#Prev}sao có thể không cần...?" }, { Cue = "/VO/Arachne_0054", Text = "Một con {#Emph}đực {#Prev}ư? Hắn không còn ở đây nữa. Như cô thấy đấy, lời nguyền này không chỉ của riêng ta, nó kéo dài đến những thế hệ tiếp theo. Có lẽ bọn ta, những con nhện, cũng không khác gì những vị thần. {#Emph}Ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutRelationship01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneGift03", "ArachneAboutGods05" } }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0083", Text = "Ta chưa từng dừng suy nghĩ về sự giống nhau của chúng ta, của hai chúng ta. Cả hai đều bị ruồng bỏ, phải không? Đáng lẽ cô phải sống trong một cung điện, chứ không phải... nói chuyện với một con nhện giữa vùng hoang vắng." }, { Cue = "/VO/MelinoeField_1783", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Và đáng lẽ cô phải là người thợ dệt nổi tiếng nhất, được yêu quý nhất trên khắp đất nước! Nhưng đó không phải ý định mà Nữ Thần Định Mệnh đã áp đặt lên chúng ta. Mặc dù vậy... mọi thứ cũng không quá tệ, nhỉ?" }, { Cue = "/VO/Arachne_0084", Text = "Phải không? Tất nhiên... là không rồi. Vì nếu ta vẫn còn ở trên đó... sự ghen tị của các vị thần cũng như người phàm... thì ta sẽ không gặp được cô. Người bạn đích thực của ta. {#Emph}Ha ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutRelationship02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneGift06" } }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0116", Text = "Về chuyện lần trước... ta biết cô có những người khác mà cô quan tâm trong cuộc đời. Và điều đó khiến ta cảm thấy vui. Cô nên cảm thấy được yêu quý! Rất nhiều! Nhưng nhìn ta đi... những gì ta biết chỉ là thêu dệt thôi." }, { Cue = "/VO/MelinoeField_1803", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Kích thước của cô không liên quan đến tình yêu mà cô có thể trao đi. Nhưng cách mà cô cảm nhận về chính mình... nó ảnh hưởng rất nhiều về tình cảm mà cô có thể nhận được. Cho dù cô có tin điều đó là sự thật hay không." }, { Cue = "/VO/Arachne_0117", Text = "Cô khiến ta cảm thấy như ta của trước đây. Và trước đây thì sao...? Khi ta còn là chính mình? Cô biết đấy, người phàm bọn ta cũng có thể ghen tức như những vị thần. Nhưng vì ta biết cô quan tâm đến ta dù chỉ một chút thôi, thế là đủ rồi. Nhận lấy và đi tiếp đi..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutRelationship03 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneGift06", "ArachneAboutRelationship02" } }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0392", Text = "Ta cứ mãi suy ngẫm, bạn của ta... về việc tại sao ta lại bị thu hút bởi cô. Như một chú ruồi lao vào mạng nhện của ta vậy... chỉ khác ở chỗ, ta muốn bắt chúng, còn cô thì không có ý định đó với ta." }, { Cue = "/VO/MelinoeField_4398", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Tất nhiên là không rồi, Arachne. Như ta từng nói... chúng ta đang bầu bạn với nhau trong khu rừng vắng vẻ này, nhưng... liệu có điều gì hơn thế không?" }, { Cue = "/VO/Arachne_0393", Portrait = "Portrait_Arachne_Brooding_01", PostLineThreadedFunctionName = "MuteSpeaker", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Arachne_Default_01", WaitTime = 5.3 }, Text = "Ta... không, ta không nghĩ vậy. Nhất là khi ta vẫn mang hình dạng này. Cô gái mà ta đã từng... cô ấy từng là con người, nhưng cô ấy tốt hơn thế này nhiều, ha ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutRelationship04 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneGift07", "ArachneAboutCurseQuest01" } }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0394", Text = "Dạo gần đây, mỗi khi ta khao khát được trở lại làm con người... ta nghĩ một phần là vì ta thích ý nghĩ được ở bên cô. Ý ta là, theo một cách bình thường." }, { Cue = "/VO/MelinoeField_4399", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne, liên kết giữa chúng ta vô cùng đặc biệt. Ngay cả khi ta gặp cô gái người phàm mà cô từng là, có lẽ ta đã chẳng nhìn cô theo cách này. Các Shade người phàm thì nhiều vô kể... nhưng cô thì đặc biệt nhất." }, { Cue = "/VO/Arachne_0395", Text = "Ta rất cảm kích vì điều đó. Ngày đó, khi ta dám nói thẳng những suy nghĩ của mình với Athena... ta biết mình đang đánh đổi điều gì. Nhưng đó chỉ là mộng tưởng, còn giữa chúng ta mới là sự thật." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, -- arachne curse subplot ArachneAboutGods01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathFalse = { "GameState", "ReachedTrueEnding" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ZeusFirstPickUp", "ArachneAboutArtemis01" } }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0069", Portrait = "Portrait_Arachne_Brooding_01", Text = "Vậy là những vị thần trên cao đang giúp đỡ cô phải không? Mặc dù ta đã biết nhưng ta vẫn cứ hỏi. Ta đã thấy khu rừng này sáng lên với những màu sắc tỏa ra từ thông điệp của họ..." }, { Cue = "/VO/MelinoeField_1776", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đúng vậy. Olympus và ta có cùng một mục tiêu, vì Titan Thời Gian đang đe dọa tất cả chúng ta. Lẽ ra ta nên nói cho cô biết, chỉ là... ta không biết phải nói gì." }, { Cue = "/VO/Arachne_0070", Emote = "PortraitEmoteDepressed", Portrait = "Portrait_Arachne_Brooding_01", Text = "{#Emph}Hah, ha ha ha ha{#Prev}... vậy là Nữ Thần Định Mệnh đã bắt kịp ta. Ta có thể là người thợ dệt giỏi hơn tất cả những vị thần cộng lại, nhưng ba người đó vẫn luôn đánh bại ta. Nhưng không cần phải lo! Ta sẽ không quay lưng với cô. Ngay cả khi được hưởng ân huệ từ những vị thần..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutGods02 = { PlayOnce = true, UseableOffSource = true, GiftableOffSource = true, GameStateRequirements = { OrRequirements = { { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutGods01" } }, }, { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, }, }, -- OnQueuedThreadedFunctionName = "AmbientChatting", -- OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1777", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Cô có vẻ xa cách, Arachne. Mọi chuyện vẫn ổn chứ? Điều này có liên quan gì đến việc ta hỗ trợ những vị thần trên đỉnh Olympus không?" }, { Cue = "/VO/Arachne_0071", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Arachne_Brooding_01", Text = "{#Emph}Ah, hahaha... {#Prev}dừng lại đó. Ý cô là cô đang giúp đỡ những vị thần ư? Ta nghĩ là ngược lại đấy! Họ mới là người giúp đỡ cô!" }, { Cue = "/VO/MelinoeField_1778", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Chẳng khác biệt gì nhỉ? Một sự trao đổi có lợi cho đôi bên. Giống như tình bạn! Phải có sự tương trợ. Cho đi ắt sẽ nhận lại. Nhưng, ta hiểu rằng việc này đã khiến cô lâm vào tình thế khó xử, và... ta sẽ không xem thường sự giúp đỡ của cô." }, { Cue = "/VO/Arachne_0072", Portrait = "Portrait_Arachne_Brooding_01", PreLineWait = 0.2, Text = "Tốt! Có lẽ cô hiểu rõ về những vị thần nhiều hơn ta. Nhưng có vẻ như cô vẫn cần phải học hỏi một hoặc hai điều về tình bạn. Ngay cả một con nhện già cũng biết điều đó! Giờ thì thử chiếc váy đi." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutGods03 = { PlayOnce = true, UseableOffSource = true, PreBlockSpecialInteract = true, InitialGiftableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutGods02" } }, }, -- OnQueuedThreadedFunctionName = "AmbientChatting", -- OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0073", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ta hiểu cô không biết phải nói gì, bạn ta. Nhưng ta muốn cô biết rằng... cô không cần phải nói gì đâu! Thật ra, ta không muốn cô nói gì lúc này cả. Hãy bảo trọng khi ra ngoài đó, nhé?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutGods04 = { PlayOnce = true, UseableOffSource = true, PreBlockSpecialInteract = true, InitialGiftableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutGods03" } }, }, -- OnQueuedThreadedFunctionName = "AmbientChatting", -- OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0074", Portrait = "Portrait_Arachne_Brooding_01", PostLineThreadedFunctionName = "MuteSpeaker", Text = "Lại một buổi tối khác và cô lại phải thực hiện mệnh lệnh của những vị thần à? Cô biết đấy, đó không phải một mối quan hệ hợp tác. Họ sẽ chỉ chấp nhận cô, miễn là họ nghĩ rằng cô thấp kém hơn họ. Giờ thì, đây. Nhận lấy thứ này và đi đi." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutGods05 = { PlayOnce = true, UseableOffSource = true, PreBlockSpecialInteract = true, InitialGiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutGods04" } }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0075", Portrait = "Portrait_Arachne_Brooding_01", Text = "Cô biết những vị thần này đã làm gì với ta phải không? Mặc dù ta không nên quơ đũa cả nắm. Thật ra thì chỉ một người thôi. Nhưng những vị thần khác... họ chẳng quan tâm. Họ đều đồng lõa trong tất cả những chuyện này! Như ta thể chỉ là một con nhện trong mắt họ ngay từ đầu." }, { Cue = "/VO/MelinoeField_1779", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne... những vị thần có thể nhân từ với người phàm hơn. Cô sẽ không nghe ta phủ nhận gì về điều đó. Bản thân ta cũng có những quan điểm riêng về chuyện này. Hầu hết những người phàm mà ta từng gặp... đều đã chết." }, { Cue = "/VO/Arachne_0076", Portrait = "Portrait_Arachne_Brooding_01", Text = "Nhưng cô vẫn tuân theo Olympus. Ta hiểu điều đó! Họ là gia đình của cô. Và đó là điều mà chúng ta không thể thay đổi... không hẳn. Tuy nhiên, Titan mà cô đang chống lại... chẳng phải hắn cũng là người thân của cô ư? {#Emph}Ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, -- alt below ArachneAboutGods06 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutGods05" } }, { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ZeusAboutAthena01", "ApolloAboutAthena01", "AphroditeAboutAthena01", "HermesAboutAthena01" } }, { PathFalse = { "GameState", "UseRecord", "NPC_Athena_01" }, }, { PathFalse = { "GameState", "TextLinesRecord", "ArachneAboutGods06_B" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, -- shorter variant of this line is below, 0077_B { Cue = "/VO/Arachne_0077", Text = "Vậy bản chất của cô ta là thần như thế nào? Athena mắt xám. Có khôn ngoan và toan tính như những gì người ta đồn thổi không? {#Emph}Ha ha ha ha... {#Prev}cứ nghĩ rằng cô ta là người thông thái nhất, nhưng cô ta cũng độc ác và đầy thù hận như những người khác thôi..." }, { Cue = "/VO/MelinoeField_1780", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta cũng không biết nữa. Ta đã nghe về hầu hết những vị thần Olympus rồi, nhưng chưa nghe về Athena. Có vẻ như cô ấy đang bận ngăn chặn đội quân của Titan đang tập trung ở dưới chân núi." }, { Cue = "/VO/Arachne_0078", Portrait = "Portrait_Arachne_Brooding_01", Text = "Cô ta thật cao quý làm sao. Nếu cô gặp được cô ta, hãy kể cho ta biết về cô ta nhé. Và đừng ngần ngại cho cô ta biết rằng Arachne vẫn còn sống rất khỏe và thêu dệt giỏi hơn xưa rất nhiều." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutGods06_B = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutGods05" } }, { PathTrue = { "GameState", "UseRecord", "NPC_Athena_01" }, }, { PathFalse = { "GameState", "TextLinesRecord", "ArachneAboutGods06" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0077_B", Text = "Vậy cô ta là người như thế nào? Athena với đôi mắt xám ấy. Có thực sự khôn ngoan và thông thái như người ta vẫn đồn đại không? Ha ha ha ha... mà cô ta vẫn được cho là người biết suy nghĩ nhất." }, { Cue = "/VO/MelinoeField_2721", UsePlayerSource = true, Portrait = "Portrait_Mel_Hesitant_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta... không nghe được tin tức gì về cô ấy cũng như bao người khác thôi. Ắt hẳn cô ta đang bận rộn ngăn chặn đội quân của Titan đang tập trung dưới chân núi." }, { Cue = "/VO/Arachne_0078_B", Portrait = "Portrait_Arachne_Brooding_01", Text = "Cô ta thật cao thượng! Đừng ngại nói cho cô ta biết rằng Arachne này vẫn còn sống khỏe và còn dệt vải đẹp hơn trước nhé." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, -- arachne curse subplot ArachneAboutPride01 = { PlayOnce = true, UseableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ArachneAboutGods06", "ArachneAboutGods06_B" } }, }, -- OnQueuedThreadedFunctionName = "AmbientChatting", -- OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0079", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ta có nên kiềm chế không? Khi ta bị thách thức bởi chính những vị thần? Để quyết định xem ai là thợ dệt giỏi nhất. Ta chỉ là một cô gái người phàm. Cô có thể tưởng tượng được áp lực đó không?" }, { Cue = "/VO/MelinoeField_1781", UsePlayerSource = true, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nếu ta là cô, ta sẽ không nương tay. Khi giới hạn của chúng ta bị thách thức... chỉ khi đó, chúng ta mới khám phá ra khả năng thực sự của mình." }, { Cue = "/VO/Arachne_0080", Portrait = "Portrait_Arachne_Brooding_01", PostLineThreadedFunctionName = "MuteSpeaker", Text = "Những gì ta đã khám phá ra chỉ là ta không còn là cô gái người phàm nữa. Chắc hẳn cô đã cảm nhận được những kiệt tác mà ta đã tạo ra! Cái khăn thêu nhỏ của Athena thậm chí cũng không đáng để so sánh. Có lẽ đó là điều xứng đáng... hứng chịu lời nguyền chỉ để đổi lấy sự nhục nhã của cô ta." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCurse01 = { PlayOnce = true, UseableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutPride01", "ArachneGift03", }, }, { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ArachneAboutHecate02", "ArachneWithHecateInHub01" }, }, }, -- OnQueuedThreadedFunctionName = "AmbientChatting", -- OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0089", Text = "Bạn của ta, ta ghét phải hỏi điều này, nhưng cô có nghĩ rằng... với tài năng và trí tuệ của cô, liệu có cách nào để biến ta trở về như trước được không?" }, { Cue = "/VO/MelinoeField_1790", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne... ta đã thử mọi cách mà ta biết. Nhưng lời nguyền biến đổi cô, ừm... nó rất mạnh. Sự biến đổi này không thể đảo ngược được. Ta rất tiếc." }, { Cue = "/VO/Arachne_0090", Portrait = "Portrait_Arachne_Brooding_01", PostLineThreadedFunctionName = "MuteSpeaker", Text = "Không sao cả. Ta chỉ tò mò muốn hỏi thôi. Nếu lời nguyền có thể dễ dàng bị xóa bỏ chỉ cần một cái vẫy tay thì còn gì giá trị nữa, phải không? {#Emph}Ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCurse02 = { PlayOnce = true, UseableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutCurse01", "HecateBossAboutArachne01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1791", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne, ta... ta đã không thành thật với cô trước đây, về lời nguyền của cô. Trên lý thuyết thì vẫn có cách để hóa giải nó, nhưng khả năng thành công lại rất thấp và vô cùng nguy hiểm." }, { Cue = "/VO/Arachne_0091", Portrait = "Portrait_Arachne_Brooding_01", Emote = "PortraitEmoteSurprise", Text = "{#Emph}Sao cơ? {#Prev}Ta không quan tâm chuyện gì sẽ xảy ra, hãy nói cho ta biết đi, bạn của ta, làm ơn!" }, { Cue = "/VO/MelinoeField_1792", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Trước hết, chúng ta phải khám phá nguồn gốc của lời nguyền; vì Athena không phải phù thủy. Ai đó đã giúp cô ấy. Và thứ hai... Athena phải tự thay đổi quyết định của mình. Cô ấy phải thực sự mong muốn điều này." }, { Cue = "/VO/Arachne_0092", Portrait = "Portrait_Arachne_Brooding_01", Emote = "PortraitEmoteDepressed", Text = "Nhưng cô ta khinh thường ta! Và sao cô ta chịu nói ra kẻ ban lời nguyền cho cô ta chứ? Ôi, bạn của ta, ước gì cô không nói với ta điều đó! Đừng để bụng nhé, hahahahaha. Hy vọng quả là kẻ biết trêu ngươi." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCurse03 = { PlayOnce = true, UseableOffSource = true, InitialGiftableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "HecateAboutArachne03", "ArachneAboutCurse02" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1793", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne, về lời nguyền của cô... Nữ Chúa đã khám phá ra người đã tạo ra lời nguyền đó. Nếu cô muốn câu trả lời cho cuộc đời của mình... hãy ghé qua Crossroads. Nhưng hãy nhớ, thông tin đó cũng có lời nguyền của riêng nó, vậy nên... hãy lựa chọn một cách khôn ngoan nhé." }, { Cue = "/VO/Arachne_0093", Portrait = "Portrait_Arachne_Brooding_01", Emote = "PortraitEmoteSurprise", Text = "Ô... tại sao... là điều mà ta đang tự suy ngẫm. Ta sẽ làm gì nếu biết được sự thật đó? Cho ta thêm thời gian được không... bạn của ta?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCurse04 = { PlayOnce = true, UseableOffSource = true, PreBlockSpecialInteract = true, InitialGiftableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "HecateWithArachne01_FollowUp" }, }, }, -- OnQueuedThreadedFunctionName = "AmbientChatting", -- OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1794", UsePlayerSource = true, PreLineWait = 0.35, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "...Cô ổn chứ, bạn ta?" }, { Cue = "/VO/Arachne_0094", Emote = "PortraitEmoteSurprise", PostLineThreadedFunctionName = "MuteSpeaker", Text = "Ta... ổn! Ừm, ta có vài chiếc váy mới cho cô đây. Đây! Cô thích cái nào?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCurse05 = { PlayOnce = true, UseableOffSource = true, PreBlockSpecialInteract = true, InitialGiftableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutCurse04" }, }, }, -- OnQueuedThreadedFunctionName = "AmbientChatting", -- OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1795", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne, chúng ta cần trao đổi về những chuyện đã xảy ra với Nữ Chúa. Bà ấy không chủ đích tạo ra thuốc độc để hủy hoại của đời của cô. Thậm chí lúc đó bà ấy còn không biết đến cô mà." }, { Cue = "/VO/Arachne_0095", Portrait = "Portrait_Arachne_Brooding_01", PostLineThreadedFunctionName = "MuteSpeaker", Text = "Thế cô nghĩ ta không biết đầu đuôi câu chuyện ư? Nhưng ta phải làm gì đây, cảm ơn bà ta chăng? Tuy ta nhỏ bé nhưng lòng tự trọng của ta thì... cô có thể giữ chiếc váy đó, bạn của ta." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCurse06 = { PlayOnce = true, UseableOffSource = true, InitialGiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutCurse05" }, }, { PathFalse = { "GameState", "TextLinesRecord", "ArachneCurseQuest01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0096", Text = "Dạo gần đây ta đã nghe quá nhiều lời bàn tán về lời nguyền của ta! Chúng ta có thể quay lại như trước đây được không? Tất cả những căng thẳng này... ta không muốn nghe thêm nữa, cũng giống như cô. Cô chỉ muốn giúp đỡ, và ta cũng vậy/" }, { Cue = "/VO/MelinoeField_1796", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta chỉ muốn tốt cho cô thôi. Những chuyện trong quá khứ là những chuyện đã xảy ra và không thể thay đổi được. Nhưng chúng ta có thể lựa chọn tương lai sẽ ra sao mà." }, { Cue = "/VO/Arachne_0097", Text = "Có lẽ là vậy! Ta đoán đây là ý của Nữ Thần Định Mệnh rồi. Cảm ơn cô đã lắng nghe ta, bạn hiền. Cô cũng chăm sóc bản thân thật tốt nhé!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneCurseQuest01 = { PlayOnce = true, UseableOffSource = true, InitialGiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "AthenaAboutArachne03" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_4390", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkPensive01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", -- Portrait = "Portrait_Mel_Vulnerable_01", Text = "Arachne, giờ chúng ta đã biết Nữ Chúa Hecate có liên quan đến lời nguyền của cô, vậy nên, có lẽ chúng ta nên thuyết phục Athena hóa giải nó. Hay nói đúng hơn là, cô phải làm điều đó." }, { Cue = "/VO/Arachne_0379", Portrait = "Portrait_Arachne_Brooding_01", Text = "Sao cô không nói rõ thêm một chút nữa đi, bạn ta? Cô đang nghĩ gì vậy? Từ đây lên đỉnh Olympus khá xa đấy..." }, { Cue = "/VO/MelinoeField_4391", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Portrait = "Portrait_Mel_Empathetic_01", Text = "Ta có một cách thuận tiện hơn nhiều: một tấm bùa đặc biệt có thể triệu hồi cô ấy đến đây chỉ trong chớp mắt. Nếu cô đồng ý, cô ấy có thể đến đây gặp chúng ta, và cô có thể thuyết phục cô ấy." }, { Cue = "/VO/Arachne_0380", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ta biết phải nói gì đây? Nhưng... ừm, ta sẽ suy nghĩ về chuyện đó. Lần tới khi cô mang theo tấm bùa, có lẽ ta sẽ đồng ý. Cảm ơn cô." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneCurseQuestComplete01 = { PlayOnce = true, UseableOffSource = true, InitialGiftableOffSource = true, PostBlockSpecialInteract = true, GiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneCurseQuest01" }, }, { PathTrue = { "CurrentRun", "Hero", "TraitDictionary", "AthenaEncounterKeepsake" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_4392", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkPensive01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta có mang theo Bùa Hộ Mệnh của Athena đây, Arachne. Cô có muốn gặp cô ấy ngay bây giờ không? Hãy nói với cô ấy rằng cô đã thay đổi như thế nào, và cô khao khát trở lại con người trước kia ra sao! Bất cứ điều gì cô ấy muốn nghe." }, { Cue = "/VO/Arachne_0381", PreLineWait = 0.35, Portrait = "Portrait_Arachne_Brooding_01", Text = "Ta... ta sẽ làm những gì cần làm, bạn ta. Giờ thì, cô có thể triệu hồi nữ thần trí tuệ đến, ta vô cùng cảm kích." }, { Cue = "/VO/MelinoeField_4393", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Mel_Intense_01", WaitTime = 4, PowerWordPresentation = true, PowerWordWaitTime = 8.4 }, PostLineFunctionName = "SummonAthena", ExitPortraitImmediately = true, PostLineRemoveContextArt = true, Text = "Được rồi, vậy thì bắt đầu thôi. Dù có chuyện gì xảy ra, ta vẫn sẽ bên cạnh cô. Hãy lắng nghe ta, Nữ Thần Athena; ta mang đến kẻ mà người muốn gặp!" }, { Cue = "/VO/Athena_0249", PreLineWait = 1.0, Speaker = "NPC_Athena_01", Portrait = "Portrait_Athena_Default_01", Text = "Chào Melinoë. À, khu rừng này... và đương nhiên rồi, có cả Thợ Dệt Tài Ba Nhất Thế Giới nữa. Vẫn miệt mài với nghề chứ, Arachne?" }, { Cue = "/VO/Arachne_0382", Text = "Đương nhiên rồi, Nữ Thần Athena! Ta còn có thể làm gì khác được chứ? Ngay cả khi ta chỉ là cô gái phàm trần trước kia, ta vẫn sẽ tiếp tục. Còn cô thì sao, dạo này thế nào?" }, { Cue = "/VO/Athena_0250", Speaker = "NPC_Athena_01", Portrait = "Portrait_Athena_Default_01", Text = "Rất bận rộn. Ta không thể nán lại lâu, vì lý do này và nhiều lý do khác. Vậy giờ thì sao? Cô đã chán nhìn thấy hình dạng hiện tại của mình rồi sao?" }, { Cue = "/VO/Arachne_0383", Text = "Thật ra thì, ta nhớ nhân dạng trước kia của mình, và... ta đã như thế này một thời gian rồi, vậy nên... ta nghĩ cô có thể giúp ta trở lại như xưa. Ta sẽ làm bất cứ điều gì, xin cô đấy." }, { Cue = "/VO/Athena_0251", Speaker = "NPC_Athena_01", Portrait = "Portrait_Athena_Default_01", Text = "Bất cứ điều gì? Vậy thì ta chỉ có một yêu cầu đơn giản: Hãy thành thật xin lỗi vì những gì cô đã làm, và nói cho ta biết cô đã học được điều gì." }, { Cue = "/VO/Arachne_0384", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Arachne_Brooding_01", WaitTime = 9 }, Text = "Ồ, được thôi... ừm, ta... ta xin lỗi, Nữ Thần Athena. Thật lòng xin lỗi. Xin lỗi vì đã... hạ mình trước mặt cô như thế này! Trước mặt bạn của ta!" }, { Cue = "/VO/MelinoeField_4394", UsePlayerSource = true, Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne! Nữ Thần Athena, cô ấy chỉ đang buồn và suy nghĩ chưa thấu đáo thôi. Ta biết rõ cô ấy đang đau buồn đến nhường nào." }, { Cue = "/VO/Arachne_0385", Portrait = "Portrait_Arachne_Brooding_01", Text = "Không cần phải biện minh cho ta, bạn ta. Còn cô, Nữ Thần Athena, cô có muốn biết ta đã học được điều gì không?" }, { Cue = "/VO/Athena_0252", Speaker = "NPC_Athena_01", Portrait = "Portrait_Athena_Default_01", Text = "Ta cảnh báo cô nên cân nhắc lời nói cho cẩn thận, nhện. Ta không đi cả chặng đường xa đến đây chỉ để trở thành trò đùa của cô." }, { Cue = "/VO/Arachne_0386", Portrait = "Portrait_Arachne_Brooding_01", Text = "...Ta vừa nhận ra một điều, rằng ta sẽ không bao giờ thành tâm xin lỗi cô. Ta thà làm con nhện hèn mọn đến cuối đời. Và hãy chiêm ngưỡng những tác phẩm của ta đi, vẫn tốt hơn cô nhiều." }, { Cue = "/VO/Athena_0253", Speaker = "NPC_Athena_01", Portrait = "Portrait_Athena_Default_01", PreLineWait = 0.35, Text = "...Cô nghĩ là cơn bộc phát vừa rồi sẽ khiến ta lay động phần nào đó, và ta sẽ đáp ứng nguyện vọng của cô ư? Không hề. Trông cô thảm hại hơn trước, nhưng rõ ràng là chẳng thay đổi chút nào, Arachne." }, { Cue = "/VO/Arachne_0387", Portrait = "Portrait_Arachne_Brooding_01", Text = "Cô cũng chẳng khác gì. Giờ thì hãy giẫm bẹp ta như cô mong muốn, hoặc là rời khỏi đây. Cô đang khiến lũ ruồi khiếp sợ đấy." }, { Cue = "/VO/Athena_0254", Speaker = "NPC_Athena_01", Portrait = "Portrait_Athena_Default_01", PreLineWait = 0.35, PostLineFunctionName = "UnSummonAthena", ExitPortraitImmediately = true, PostLineRemoveContextArt = true, Text = "Được thôi. Ta sẽ rời đi, và chúng ta sẽ không bao giờ gặp lại nhau nữa. Hãy tận hưởng bữa tiệc cùng đám ruồi đó đi. Melinoë? Chuyến đi này là một sai lầm." }, { Cue = "/VO/MelinoeField_4395", UsePlayerSource = true, PreLineWait = 1.65, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne... sao cô lại làm vậy? Chúng ta đã mất bao nhiều công sức để có được cơ hội này, vậy mà giờ lại để vụt mất!" }, { Cue = "/VO/Arachne_0388", PostLineThreadedFunctionName = "MuteSpeaker", Text = "Không đâu, bạn ta. Đó chính là cơ hội mà ta đã mong chờ bấy lâu. Chỉ là ta không nhận ra... cho đến khi ta đối diện với Athena lần nữa. Giờ thì đi đi. Ta đã giữ chân cô lại đây quá lâu rồi. Ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCurseQuest01 = { PlayOnce = true, UseableOffSource = true, InitialGiftableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneCurseQuestComplete01" }, }, }, -- OnQueuedThreadedFunctionName = "AmbientChatting", -- OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0389", Portrait = "Portrait_Arachne_Brooding_01", Text = "Nghĩ lại thì, việc xin lỗi Athena không phù hợp với ta. Tuy nhiên, ta cũng xin lỗi cô, vì đã gây rắc rối cho cô, và làm loạn trước mặt một nữ thần khác. Xin lỗi nhé." }, { Cue = "/VO/MelinoeField_4396", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineWait = 0.35, PreLineAnim = "MelTalkBrooding01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "...Oh, Arachne. Giá như cô nói những lời đó với Nữ Thần Athena, thì có lẽ cô đã đạt được điều cô mong muốn. Ta e rằng cô sẽ không có thêm cơ hội nào nữa." }, { Cue = "/VO/Arachne_0390", Portrait = "Portrait_Arachne_Brooding_01", PreLineThreadedFunctionName = "PlayEmoteAnimFromSource", PreLineThreadedFunctionArgs = { Emote = "None", Portrait = "Portrait_Arachne_Default_01", WaitTime = 7.0 }, Text = "Không sao đâu. Khi gặp Athena, ta mệt mỏi vì những cuộc tranh luận như mọi khi, có điều gì đó trong ta vỡ vụn. Và giờ ta đã tự do! Thần thánh các người cũng có những ngày khó khăn nhỉ? Hóa ra các người cũng phải gánh chịu hậu quả vì sự kiêu ngạo của mình, cũng như bọn ta thôi." }, { Cue = "/VO/MelinoeField_4397", UsePlayerSource = true, PreLineWait = 0.35, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "...Ta nghĩ cô nói đúng. Cô thực sự đã đáp trả thẳng mặt cô ấy! Thật không thể tin nổi. Lại càng lạ hơn khi Athena lại bỏ qua cho cô." }, { Cue = "/VO/Arachne_0391", -- heart unlock PostLineThreadedFunctionName = "RelationshipAdvancedPresentation", PostLineThreadedFunctionArgs = { Delay = 0.25 }, Text = "Ừm, cô biết đấy, ta vốn dĩ đã nóng tính rồi. Thỉnh thoảng được trút hết mọi bực tức cũng cảm thấy nhẹ nhõm, dù chuyện gì xảy ra đi chăng nữa! Và kể từ lúc đó, ta cứ dệt liên tục, như thể ngày mai sẽ chẳng bao giờ đến nữa." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutHecate01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "PrevRun", "RoomCountCache" }, HasAny = { "F_Boss01", "F_Boss02" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0055", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ta thấy cô có đánh nhau với phù thuỷ vĩ đại kia. Sao hai người lại đánh nhau vậy? Ta tưởng hai người cùng phe! {#Emph}Ồ{#Prev}, gần đây ta chẳng nhận được tin tức gì cả." }, { Cue = "/VO/Melinoe_1813", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nữ Chúa và ta không hẳn là đánh nhau. À... không, về cơ bản thì là vậy, nhưng không phải do bất đồng hay hiểu lầm gì cả. Đấy chỉ là cách bà ấy kiểm tra năng lực của ta thôi." }, { Cue = "/VO/Arachne_0056", Text = "{#Emph}Huh. {#Prev}Vậy thì, nghe này, cô có thể giúp ta cho bà ấy xem thành quả được không, bạn hiền? Và không có áp lực gì đâu! Nhưng có lẽ ta sẽ quan sát để đảm bảo. Ta sẽ không gây cản trở cô đâu, ta hứa đấy." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutHecate02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ArachneAboutGods05" } }, { PathFalse = { "GameState", "TextLinesRecord", "ArachneWithHecateInHub02" }, }, { PathTrue = { "PrevRun", "UseRecord", "NPC_Hecate_01" } }, NamedRequirementsFalse = { "HecateMissing" }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0057", Text = "Nhân tiện thì, phù thủy to lớn kia thế nào rồi, bạn ta? Ta thường bắt gặp bà ấy trong khu rừng này! Và thỉnh thoảng, bà ấy cũng chào hỏi ta. Dành thời gian cho cô nhện già Arachne nhỏ bé này. Thật không giống những vị thần chút nào, {#Emph}ha ha ha ha..." }, { Cue = "/VO/MelinoeField_1787", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nữ Chúa đang khỏe mạnh nhất có thể. Điều kỳ lạ là... niềm tin của bà ấy vào khả năng của ta lại là một trong những nguồn áp lực lớn nhất mà ta cảm nhận được. Mặc dù vậy, ta vẫn không nói cho bà ấy về điều đó..." }, { Cue = "/VO/Arachne_0058", Text = "Vì sao lại không chứ? Ta muốn nghe lời thành thật từ cô. Bà ấy là một người thông minh phải không? Có lẽ bà ấy đã biết điều gì đó không ổn. Ta nghĩ chúng ta nên tâm sự thêm về chuyện này, {#Emph}ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutArtemis01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Artemis_Field_01" }, }, { -- SumPrevRuns = 1 is the same as CurrentRun, SumPrevRuns = 2 is checking PrevRun, etc. SumPrevRuns = 3, Path = { "UseRecord", "NPC_Artemis_Field_01" }, CountPathTrue = true, Comparison = ">=", Value = 1, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_1490", UsePlayerSource = true, PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 1, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Này, cô có vô tình bắt gặp một nữ thần rừng đi ngang qua không? Mặc một bộ trang phục màu lục, cầm theo cây cung cao gần bằng cô ấy?" }, { Cue = "/VO/Arachne_0061", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ta biết cô đang nói đến ai, bạn ta, và ta biết cô ta đang rình rập xung quanh đây. Thường thì ta sẽ tránh xa những nữ thần như vậy. Cho dù họ có phải họ hàng với cô hay không." }, { Cue = "/VO/MelinoeField_1491", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nữ thần như vậy? Nghe có vẻ như cô sợ Olympus hơn Chronos đấy." }, { Cue = "/VO/Arachne_0062", Portrait = "Portrait_Arachne_Brooding_01", PostLineThreadedFunctionName = "MuteSpeaker", Text = "Ồ, tất nhiên rồi. Chronos không phải kẻ đã khiến ta ra nông nỗi này; nếu có thì thời gian đã khiến ta quen dần với nó. Giờ thì hãy đi tìm nữ thần rừng xanh của cô đi. Và hãy cẩn thận, đừng dẫn cô ta đến đây, được chứ?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCharon01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "PrevRun", "RoomsEntered", "F_PreBoss01" }, }, { PathTrue = { "PrevRun", "UseRecord", "NPC_Charon_01" } }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "CharonGift02", "ArachneGift02" } }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0059", Text = "Đêm trước ta thấy cô đang trò chuyện với người lái đò già, người mà gần đây xuất hiện rất thường xuyên. Ngài ấy khỏe không?" }, { Cue = "/VO/MelinoeField_1788", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ngài Charon chấp nhận mọi việc rất dễ dàng. Nhưng cho đến khi ngài ấy quay về với việc đưa người chết đến nơi an nghỉ cuối cùng, ta nghĩ ngài ấy vẫn chưa hoàn toàn là chính mình." }, { Cue = "/VO/Arachne_0060", Text = "Ta nhớ đến lần ta lén trốn lên chiếc thuyền nhỏ của ngài ấy! Ngài ấy vẫn có thể phát hiện ra ta giữa những hành khách của mình. Thế là ta nghĩ mình tiêu rồi! Nhưng ngài ấy vẫn tiếp tục chèo. Thậm chí còn dừng lại ở Erebus cho ta xuống, {#Emph}ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutKeepsake01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "CurrentRun", "Hero", "TraitDictionary" }, HasAny = { "ArmorGainKeepsake" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0119", Emote = "PortraitEmoteSurprise", Text = "Chà, đấy là chiếc Khăn ta đã cho cô! Có mềm mại không? Mong nó sẽ giữ ấm và an toàn cho cô, dù hành trình có đưa cô đến đâu. Giờ thì, {#Emph}đây{#Prev} một món đồ để phối với nó..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutFrogFamiliar01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EquippedFamiliar" }, IsAny = { "FrogFamiliar" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0129", Portrait = "Portrait_Arachne_Brooding_01", Emote = "PortraitEmoteSurprise", Text = "{#Emph}Ah! {#Prev}Không, thứ gì thế kia? Một loài lưỡng cư?! Hãy đưa nó ra khỏi đây, bạn ta! Xin hãy mang nó đi xa khỏi ta!" }, { Cue = "/VO/MelinoeField_1804", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Bình tĩnh đi, Arachne. Đây là Frinos! Frinos là bạn; thực ra là bạn thân của ta. Nó không hề có ý định gây hại gì cho cô cả. Nhưng đống ruồi của cô thì... có lẽ chúng ta nên bảo vệ nó." }, { Cue = "/VO/Arachne_0130", Text = "Oh, {#Emph}haha, ah {#Prev}thật nhẹ nhõm! Vậy thì, Frinos... nếu mi thật sự là bạn của bạn ta, thì mi được chào đón ở đây. Và nếu mi muốn ăn một miếng, thì mi cũng được hoan nghênh." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutCatFamiliar01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EquippedFamiliar" }, IsAny = { "CatFamiliar" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0131", Emote = "PortraitEmoteSurprise", Text = "Đó là mèo của cô phải không, bạn ta? Ta không thích cách nó nhìn ta cho lắm. May là ta đang ở trên cao, {#Emph}haha! {#Prev}Nhưng chờ đã... mấy con thú đó có biết leo trèo không vậy?" }, { Cue = "/VO/MelinoeField_1805", UsePlayerSource = true, PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đừng lo lắng, đây là Toula, linh thú của ta. Và nó sẽ kiềm chế bản năng mèo của mình khi ở gần Arachne, phải không, cô bé?" }, { Cue = "/VO/Arachne_0132", Text = "Ta đã từng rất yêu thích mèo... chỉ là chúng không hợp với ta như trước thôi. Hình dạng hiện tại của ta là lý do rõ ràng, ta nghĩ vậy..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutMines01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EnemyKills", "BloodMinePreFused" }, Comparison = ">=", Value = 3, }, { PathTrue = { "CurrentRun", "EnemyKills", "BloodMinePreFused" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0121", Text = "Nhân tiện thì, xin lỗi vì những quả bom tơ ngoài kia nhé! Ta đã cố gắng bao bọc và đun nhỏ lửa những bong bóng nhỏ này. Nhưng nếu cô gỡ chúng ra sớm hơn, chúng sẽ phát nổ như những con thiêu thân lao vào lửa, {#Emph}ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutGuards01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EnemyKills", "Guard" }, Comparison = ">=", Value = 20, }, { PathTrue = { "CurrentRun", "EnemyKills", "Guard" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0122", Text = "Những Lời Thì Thầm lơ lửng mà cô thấy... đó là những gì sẽ xảy ra khi một Shade ám vào cây. Về lâu dài, họ không thể phân biệt được nơi nhánh cây kết thúc và nơi họ bắt đầu ở đâu. Chắc chắn, họ sẽ trở nên phẫn nộ. Nhưng không phải đối với cô, bạn ta." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutRadiators01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EnemyKills", "Radiator" }, Comparison = ">=", Value = 20, }, { PathTrue = { "CurrentRun", "EnemyKills", "Radiator" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0123", Text = "Cô biết đấy, có đủ mọi loại Shade cùng xuất hiện ở đây. Những Spindle nhỏ xuất hiện ở khắp nơi... ta cũng không biết chúng là gì khi còn sống. Tất cả những gì ta biết là chúng đã chết trước thời dại. Phải, mọi chuyện là vậy, {#Emph}ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutBrawlers01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EnemyKills", "Brawler" }, Comparison = ">=", Value = 20, }, { PathTrue = { "CurrentRun", "EnemyKills", "Brawler" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0124", Text = "Ta thích ở đây hơn khi không có những kẻ Lãng Vãng quanh đây. Ta nghĩ họ đã lạc lối trước khi chết. Và giờ họ không còn là họ nữa... giờ chúng ta có thể thấy bản chất thực sự của họ nhỉ?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutMages01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EnemyKills", "Mage" }, Comparison = ">=", Value = 30, }, { PathTrue = { "CurrentRun", "EnemyKills", "Mage" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0125", Text = "Cô nghĩ cô đã chống lại bao nhiêu Casket rồi? Chỉ cần phát hiện dấu hiệu của bất cứ sinh vật sống nào, chúng sẽ kéo đến như thể sắp tuyệt chủng. Và luôn nhổ nước bọt! Chí ít thì ta quá nhỏ để chúng nhìn thấy." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSiegeVines01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EnemyKills", "SiegeVine_Elite" }, Comparison = ">=", Value = 5, }, { Path = { "CurrentRun", "EnemyKills" }, HasAny = { "SiegeVine", "SiegeVine_Elite" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0126", Text = "Hãy cảnh giác với bọn Thorn-Weeper ngoài đó. Cảm ơn trời vì tơ nhện của ta giúp ta ở trên cao, nơi những dây leo độc không thể với tới. Nhưng còn cô, cô sẽ dễ bị bắt, đi chân trần trên mặt đất và nhiều thứ khác..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutFogEmitters01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EnemyKills", "FogEmitter_Elite" }, Comparison = ">=", Value = 3, }, { PathTrue = { "CurrentRun", "EnemyKills", "FogEmitter_Elite" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0127", Text = "Không có quá nhiều Shadow-Spiller quanh đây! May là trời vẫn đủ tối. Vì sao mà những linh hồn lại trở nên tha hóa như vậy, ta chẳng bao giờ muốn biết..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutTreants01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "EnemyKills", "Treant" }, Comparison = ">=", Value = 3, }, { PathTrue = { "CurrentRun", "EnemyKills", "Treant" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0128", Text = "Chắc hẳn bây giờ cô đã bắt gặp nhiều Root-Stalker hơn lời đồn nhỉ. May mắn thay, chúng chỉ thích ở yên một chỗ, nên ta có thể dễ dàng né tránh chúng. Nhưng cô thì to lớn hơn, và cô không thể lẻn qua chúng một cách dễ dàng được, nhỉ...?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, HecateWithArachne01_FollowUp = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneWithHecateInHub02" } }, NamedRequirementsFalse = { "ArachneBrooding", -- @ ending "HecateMissing", }, }, { Cue = "/VO/Arachne_0103", Emote = "PortraitEmoteSurprise", Text = "Khách hàng mới đã đến! Cô vừa bỏ lỡ cơ hội gặp phù thủy vĩ đại đấy. Hiếm khi được bà ta ghé thăm. Lần sau nếu gặp bà ấy ngoài kia, nhớ đánh bà ta thật nặng tay thay ta nhé. {#Emph}Hm ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneGrantsReward01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneAboutCurseQuest01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0120", Emote = "PortraitEmoteCheerful", Text = "Được rồi, bạn của ta, đã đến lúc tiết lộ những thiết kế mới nhất của ta rồi; trang phục đặc biệt, được dệt tỉ mỉ, dành riêng cho cô! Hãy nhìn đây! Và quan trọng hơn, hãy tận hưởng nó nhé!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutQuiet01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift04" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0366", Text = "Khu rừng này yên tĩnh đến lạ thường. Ta gần như chẳng thể nghe thấy tiếng dệt lụa của mình... cứ như thể chỉ có tiếng lá xào xạc thôi. Thế nên ta hát khe khẽ cho chính mình nghe." }, { Cue = "/VO/MelinoeField_4389", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Khu rừng có thể yên tĩnh, nhưng lại đầy rẫy những linh hồn chẳng chịu yên nghỉ. Cô giống như ánh trăng giữa chốn tĩnh lặng vậy." }, { Cue = "/VO/Arachne_0367", Text = "Cô thật tử tế làm sao. Nhưng ánh trăng đâu có mang nhiều màu sắc như tơ lụa của ta, nhỉ?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutUltimateProgress01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAny = { "ZagreusPastMeeting03", "ZeusPalaceFirstMeeting" }, }, { PathFalse = { "GameState", "TyphonDefeatedWithStormStop" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0432", Text = "Cô đã có tiến triển nào chưa, bạn của ta? Ta biết dù có khó khăn thế nào đi nữa, cô cũng sẽ không bao giờ bỏ cuộc. Nhưng ta thực sự không biết cô còn cách mục tiêu bao xa nữa." }, { Cue = "/VO/MelinoeField_4414", UsePlayerSource = true, PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta đã ở gần hơn trước rất nhiều, nhưng còn bao xa nữa thì ta cũng biết chính xác. Tơ lụa của cô đã giúp ta rất nhiều." }, { Cue = "/VO/Arachne_0433", Text = "Ta rất vui vì nó đã có ích, mà ta cũng biết trước điều đó rồi. Ta chỉ muốn những gì tốt nhất dành cho cô thôi. Rồi một đêm nào đó, cô sẽ đạt được mục đích. Có lẽ là cùng với tơ lụa của ta nữa, ha ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachnePostTrueEnding01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0434", Portrait = "Portrait_Arachne_Brooding_01", Text = "Dạo gần đây trong khu rừng xảy ra rất nhiều chuyện lạ! Đám Linh Hồn Lạc Lối đang hành xử rất kỳ lạ. Có chuyện gì xảy ra mà ta cần biết không?" }, { Cue = "/VO/MelinoeField_4415", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne, sứ mệnh của ta cuối cùng cũng đã hoàn thành! Ừm, gần như là vậy. Vua Hades và Nữ Hoàng Persephone đã trở lại, và họ sẽ sớm cho những Linh Hồn Lạc Lối ở đây một nơi để an nghỉ." }, { Cue = "/VO/Arachne_0435", Emote = "PortraitEmoteCheerful", Text = "Ồ, thật đáng mừng! Cô đã làm được rồi, bạn của ta! Nhưng mà... có vẻ như cuộc chiến của cô vẫn chưa kết thúc." }, { Cue = "/VO/MelinoeField_4416", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Đúng vậy, và có lẽ phải cần thêm thời gian. Vậy nên, nếu cô không phiền, ta có thể sẽ ghé qua đây thường xuyên. Và không chỉ vì những chiếc váy lụa đẹp, mà còn để chào hỏi nữa." }, { Cue = "/VO/Arachne_0436", Text = "Ồ, vậy thì ta sẽ chào hỏi lại! Và cô luôn được chào đón ở đây bất cứ khi nào cô muốn. Ta rất vui vì được gặp cô!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachnePostTrueEnding02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "ReachedTrueEnding" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0437", Portrait = "Portrait_Arachne_Brooding_01", Text = "Này, nếu Vua và Nữ Hoàng đã trở lại như cô nói, vậy điều đó có nghĩa là... Ồ, chẳng phải cô cũng nên quay về cung điện với họ sao?" }, { Cue = "/VO/MelinoeField_4417", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta đã lớn lên ở khu rừng này, và ta sẽ ở lại đây trong một thời gian nữa. Có quá nhiều thứ mà ta chưa sẵn sàng từ bỏ." }, { Cue = "/VO/Arachne_0438", Text = "Ôi, cô thật ngốc nghếch. Cô đã có thể có một cuộc sống sung sướng hơn mà. Chắc chắn họ sẽ tặng cho cô những bộ váy đẹp nhất. Mặc dù có lẽ chúng không đẹp như những bộ này..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachnePostEpilogue01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { NamedRequirements = { "ReachedEpilogue" }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/MelinoeField_4418", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineThreadedFunctionName = "PlayCharacterAnim", PreLineThreadedFunctionArgs = { Name = "MelTalkExplaining01", WaitTime = 0.5, UsePlayerSource = true }, PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Arachne, có thể cô không tin đâu, nhưng gần đây ta đã gặp những Nữ Thần Định Mệnh! Cả ba người bọn họ!" }, { Cue = "/VO/Arachne_0439", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ồ, thật ư? Vậy, cô có tình cờ thấy họ đang làm gì không? Ta muốn biết những thông tin mới trong thế giới dệt lụa lắm." }, { Cue = "/VO/MelinoeField_4419", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ừm, ta có cảm giác họ đang trong giai đoạn tạm nghỉ, và có lẽ từ giờ trở đi sẽ ít dệt hơn..." }, { Cue = "/VO/Arachne_0440", Text = "Nghe có vẻ như họ không theo kịp thời đại nữa rồi. Nhưng cũng không sao. Thế hệ trước cũng phải nhường chỗ cho các thế hệ sau! Và trước khi cô lo rằng ta đang nói năng thiếu suy nghĩ, thì ta không nghĩ họ sẽ để ý đến một kẻ nhỏ bé như ta đâu, ha ha ha ha ha." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachnePostEpilogue02 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachnePostEpilogue01" }, }, NamedRequirements = { "ReachedEpilogue" }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0441", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ta tự hỏi những Nữ Thần Định Mệnh còn nói điều gì với cô nữa. Nghĩ mà xem, họ đã dệt bao nhiêu sợi tơ lụa, chi phối cuộc đời của chúng ta..." }, { Cue = "/VO/MelinoeField_4420", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta có cảm giác họ đang chuẩn bị nghỉ hưu. Để chúng ta tự đưa ra quyết định. Nhưng ta không biết liệu điều đó có khác biệt gì so với trước đây không." }, { Cue = "/VO/Arachne_0442", Text = "Ta rất nghi ngờ điều đó. Những lựa chọn mà ta đã đưa ra... ta không nghĩ ai đó có thể quyết định thay ta. Ngay cả ba người đó cũng không thể, {#Emph}ha ha ha ha ha." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneAboutSayingLittle01 = { PlayOnce = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift09" }, }, NamedRequirements = { "ReachedEpilogue" }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMuttering, { Cue = "/VO/Arachne_0445", Text = "Rất vui được gặp cô ở đây. Ta đang miệt mài dệt lụa, nên hãy ghé qua thường xuyên nhé?" }, { Cue = "/VO/MelinoeField_4424", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta sẽ không bỏ lỡ đâu. Những đêm của ta không phải lúc nào cũng thuận lời, nhưng cô và những bộ váy của cô thì thật tuyệt vời!" }, { Cue = "/VO/Arachne_0446", Text = "Ta rất vui khi nghe điều đó. Giờ thì đi đi, ta không muốn giữ chân cô nữa. À, thật ra thì ta muốn thật đây, nhưng cô hiểu ý ta mà, ha ha ha ha ha." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, -- Repeatable ArachneChat01 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0004", Text = "Chắc hẳn cô đã chiêm ngưỡng một số kiệt tác mà ta đã dệt trong suốt chặng đường rồi nhỉ?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat02 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0005", Emote = "PortraitEmoteCheerful", Text = "Ta rất vui khi cô đến đây! Hãy cứ tự nhiên như ở nhà nhé." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat03 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0006", Text = "Ta biết ta không thể giúp được gì nhiều, nhưng hãy nhận lấy thứ này." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat04 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0007", Text = "Rất vui được gặp lại cô. Cô biết điều đó phải không?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat05 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0008", Text = "Hãy cẩn thận hết sức có thể khi ở ngoài đó, được chứ? {#Emph}Hm hm hm hm hm..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat06 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0009", Text = "Ta đã dệt từng chiếc váy này với tất cả tình yêu và sự quan tâm cho một cuộc đi săn như thế này!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat07 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0010", Text = "Ô, đừng lo về đống tơ nhện đó. Dù sao thì ta cũng sẽ thay thế chúng!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat08 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0011", Text = "Ta muốn cô trông thật đẹp tối nay, bạn ta." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat09 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0012", Text = "Cô sẽ thấy trang phục mới của ta nhẹ như lông hồng và cứng chắc như bạc!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat10 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0013", Emote = "PortraitEmoteCheerful", Text = "Chào mừng đến với {#Emph}Cửa hàng Quần Áo, Thuốc Nhuộm và Vải của Arachne! {#Prev} Ta có thể giúp gì cho cô?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat11 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0014", Emote = "PortraitEmoteCheerful", Text = "Cảm ơn đã ghé qua {#Emph}Cửa hàng Quần Áo, Thuốc Nhuộm và Vải của Arachne! {#Prev}Hãy nhớ quay lại nhé!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat12 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0015", Text = "Ái chà, chẳng phải đây là khách hàng thân thiết của ta sao! Đêm nay ta có thể giúp gì cho cô?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat13 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0016", Text = "Ta biết cô không thể nán lại lâu... nhưng thật tuyệt vời khi gặp lại cô ở đây, bạn ta." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat14 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0017", Text = "Ta có rất nhiều trang phục mới dệt để cô lựa chọn đây!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat15 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0018", Text = "Tơ lụa của ta bền hơn vẻ ngoài của nó, hy vọng nó sẽ bảo vệ cô khi ra ngoài đó." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat16 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0019", Text = "Cô trông thật lỗng lẫy khi mặc lụa đấy, cô biết điều đó chứ?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat17 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0020", Text = "Hãy thử một trong những bộ này, bạn ta, rồi ta sẽ gỡ mạng nhện khỏi tóc cô." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat18 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0021", Text = "Ta biết nơi ẩn náu của ta hơi xa nơi ở của cô, vậy nên, cảm ơn cô đã đến thăm ta." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat19 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0022", Text = "Cô có chắc là cô không muốn nếm thử vài con ruồi không? Chúng còn khá tươi đấy!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat20 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0023", Text = "Vậy cô có... thấy thứ gì cô thích không? {#Emph}Ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat21 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0024", Text = "Ô, hãy để ý đến những chiếc kén của ta ngoài đó nhé! Ta đã đóng gói chúng để dành riêng cho cô đấy." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat22 = { UseableOffSource = true, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0025", Text = "Cô sẽ không thể tìm thấy lụa chất lượng cao hơn ở bất kỳ nơi nào kể cả ở trần gian hoặc dưới địa ngục." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat23 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0026", Text = "Ô, ta lại nhớ cô rồi. Cô sẽ sớm quay lại chứ?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat24 = { PlayFirst = true, UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, { Path = { "GameState", "GamePhase" }, Comparison = "==", Value = 1, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0027", Text = "Nhìn thấy cô dưới ánh trăng tròn, khiến ta thực sự cảm thấy mãn nguyện." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat25 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0028", Text = "Ta nghĩ ta đã nghe thấy cô di chuyển nhẹ nhàng qua những tán cây, và giờ cô đã xuất hiện ở đây!" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat26 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0029", Text = "Giá như ta có thể giúp cô nhiều hơn, bạn ta..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat27 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0030", Text = "Chắc hẳn lúc này cô đang trong tình cảnh khó khăn, nhưng hãy cố gắng lên, được chứ?" }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat28 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0031", Text = "Hãy hứa rằng cô sẽ cho ta biết liệu đây có phải sự lựa chọn hoàn hảo không." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat29 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0032", Text = "Người ta luôn nói rằng lụa của ta như vòng tay ấm áp, {#Emph}ha ha ha ha..." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, ArachneChat30 = { UseableOffSource = true, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift01" }, }, }, OnQueuedThreadedFunctionName = "AmbientChatting", OnQueuedFunctionArgs = PresetEventArgs.ArachneMutteringRepeatable, { Cue = "/VO/Arachne_0033", Text = "Ta sẽ không để cô rời đi với bất cứ thứ gì kém sang nhất có thể." }, PrePortraitExitFunctionName = "ArachneCostumeChoice", PrePortraitExitFunctionArgs = PresetEventArgs.ArachneCostumeChoices, }, }, GiftTextLineSets = { ArachneGift01 = { PlayOnce = true, OnGiftTrack = true, UnfilledIcon = "EmptyHeartWithGiftIcon", FilledIcon = "FilledHeartWithGiftIcon", Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Arachne_01" }, }, }, { Cue = "/VO/Melinoe_1606", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Mỗi lần ta băng qua Erebus, thật yên lòng khi biết ta có thể sẽ gặp được cô trên hành trình. Đây là một món quà dành cho tổ ấm của cô." }, { Cue = "/VO/Arachne_0106", Emote = "PortraitEmoteCheerful", Text = "Ồ, thật ngọt ngào! Thứ này sẽ thu hút được rất nhiều ruồi, ta nghĩ thế, cảm ơn cô, rất, {#Emph}rất {#Prev}nhiều! Ta mong cô nhận món quà này. Ta chỉ đáp trả lòng tốt thôi...!" }, }, ArachneGift02 = { PlayOnce = true, OnGiftTrack = true, UnfilledIcon = "EmptyHeartWithProphecyIcon", FilledIcon = "FilledHeartWithProphecyIcon", Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Arachne_01" }, }, }, { Cue = "/VO/Arachne_0107", Emote = "PortraitEmoteSurprise", Text = "Khoan đã, có phải đúng như ta nghĩ không? Ôi, {#Emph}không{#Prev}, ta không nên, không phải nữa chứ. Dệt những món đồ thượng hạng cho người vĩ đại như cô quả là một vinh dự! Với lại thứ này chỉ dành cho những vị thần..." }, { Cue = "/VO/MelinoeField_1797", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Những vị thần thường là những người say đắm những thứ này, nhưng không chỉ cho họ. Mà là cho cô! Cho những ai chúng ta xem là bạn." }, }, ArachneGift03 = { PlayOnce = true, OnGiftTrack = true, Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Arachne_01" }, }, }, { Cue = "/VO/Arachne_0108", Emote = "PortraitEmoteCheerful", Text = "{#Emph}Oh{#Prev}, cô quá tốt đối với ta! Ta chỉ làm những gì mà bất cứ ai cũng sẽ làm nếu ở cương vị của ta, nhưng cô thì sao? Cô đối xử với ta như hoàng tộc vậy! Rượu Mật này... ta đã từng nếm thử trước đây. Nó quá tốt so với ruồi... hoặc nhện." }, { Cue = "/VO/MelinoeField_1798", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Có lẽ là quá tốt so với ruồi. Nhưng nó đặc biệt dành cho cô. Một món quà của tình bạn, hương vị của nó sẽ càng ngon hơn khi tình bạn sâu đậm hơn. hy vọng nó sẽ sưởi ấm cô trong những đêm lạnh giá thế này." }, }, ArachneGift04 = { PlayOnce = true, OnGiftTrack = true, LockedHintId = "Codex_ArachneGiftHint01", Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Arachne_01" }, }, { PathTrue = { "GameState", "TextLinesRecord", "ArachneAboutRelationship01" } }, }, { Cue = "/VO/Arachne_0109", Emote = "PortraitEmoteCheerful", Text = "Cho đến lúc này, quá nhiều thứ này rồi! Nếu như ta vẫn còn là chính mình, thì ta sẽ ngại đỏ mặt từ má đến chân đấy. Chỉ là... đã lâu lắm rồi, kể từ khi có ai đó mang thứ gì đó đến tặng cho ta, cô hiểu không?" }, { Cue = "/VO/MelinoeField_1799", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta muốn tặng chô những thứ này, Arachne. Đôi khi nhìn cô một mình như vậy khiến ta cảm thấy rất buồn. Ta không thể nán lại lâu... vậy nên, có lẽ Rượu Mật này sẽ giúp cô nhớ đến những khoảnh khắc vui vẻ mà chúng ta chia sẻ với nhau khi ta không ở cạnh bên." }, EndVoiceLines = { PreLineWait = 0.4, RequiredMinElapsedTime = 2, ObjectType = "NPC_Arachne_01", { Cue = "/VO/Arachne_0110", Text = "Chắc chắn là vậy rồi. Ta sẽ không quên tấm lòng của cô đâu." }, }, }, ArachneGift05 = { PlayOnce = true, OnGiftTrack = true, Cost = { GiftPoints = 1, }, GameStateRequirements = { { PathTrue = { "GameState", "TextLinesRecord", "ArachneGift04" }, }, }, { Cue = "/VO/Arachne_0111", Emote = "PortraitEmoteCheerful", Text = "{#Emph}Ha ha ha ha{#Prev}, ta không có ý xúc phạm đâu, chỉ là... hãy tưởng tượng xem những vị thần ở trên cao sẽ nghĩ gì, khi thấy truyền thống cao quý nhất của họ lại được dùng để tôn vinh một sinh vật thấp hèn trong thế giới này." }, { Cue = "/VO/MelinoeField_1800", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Cô không hề thấp hèn! Cô là một nhân tài. Một giọng cao trời phú. Một người bạn đáng tin cậy. Ta không biết ai giống như cô cả, Arachne! Và ta rất vui khi cô là chính mình. Là chính cô. Ta nói thật đấy." }, { Cue = "/VO/Arachne_0112", Emote = "PortraitEmoteSurprise", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ta... tại sao, ta — ta rất vinh hạnh khi cô cảm thấy như vậy... đáng tiếc là... cô chưa từng biết đến con người ta khi ta ở đỉnh cao đâu, cô hiểu chứ? {#Emph}Ah{#Prev}, nhưng mà ta đang nói chuyện gì thế nhỉ, ta chỉ... {#Emph}ha ha ha ha..." }, }, ArachneGift06 = { PlayOnce = true, OnGiftTrack = true, Cost = { GiftPoints = 1, }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneGift04", "ArachneGift05" } }, }, { Cue = "/VO/Arachne_0113", Text = "Ta biết cô làm điều này để bày tỏ sự tôn trọng đối với ta, bạn ta, nhưng... trái tim luôn làm theo những gì nó muốn, và... ta, à thì... ta sợ rằng ta đang bắt đầu hiểu lầm! Ta thích ở một mình, thích yên tĩnh... nhưng đôi khi, ta vẫn cảm thấy cô đơn." }, { Cue = "/VO/MelinoeField_1801", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta cũng cảm thấy cô đơn. Nhưng khi ở đây, cùng cô trong nơi hang ổ nhỏ đáng yêu của cô, ta cảm thấy... ừm, ta cũng không biết nữa... chỉ muốn cô hạnh phúc hơn thôi! Có lẽ như cô nói; trái tim sẽ làm những gì nó muốn." }, { Cue = "/VO/Arachne_0114", Portrait = "Portrait_Arachne_Brooding_01", Text = "Ô, trái tim tội nghiệp của cô, nếu mọi thứ nó muốn là việc này thì ta chấp nhận! Cô là một nữ thần... rất tuyệt vời, cô biết điều đó chứ? Chắc hẳn đã có hàng tá người khác đã gục ngã chỉ để chiếm được tình cảm của cô!" }, { Cue = "/VO/MelinoeField_1802", UsePlayerSource = true, Portrait = "Portrait_Mel_Vulnerable_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ngay cả khi điều đó là thật. Những mối quan hệ khác của ta... không ai có thể thay thế được cô." }, EndVoiceLines = { PreLineWait = 0.4, RequiredMinElapsedTime = 2, ObjectType = "NPC_Arachne_01", { Cue = "/VO/Arachne_0115", Text = "Ta hiểu mà... {#Emph}ha ha ha ha..." }, }, }, ArachneGift07 = { PlayOnce = true, OnGiftTrack = true, LockedHintId = "Codex_ArachneUnlockHint01", UnfilledIcon = "EmptyHeartWithAmbrosiaIcon", FilledIcon = "FilledHeartWithAmbrosiaIcon", Cost = { SuperGiftPoints = 1, }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneGift06", "ArachneAboutCurseQuest01" }, }, }, { Cue = "/VO/MelinoeField_4400", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Ta rất muốn tặng cô thứ này: Ambrosia từ những vị thần. Cô có tài năng hơn người, và cả niềm kiêu hãng của bọn ta nữa. Ta nghĩ không còn món quà nào tuyệt vời hơn nữa." }, { Cue = "/VO/Arachne_0396", Emote = "PortraitEmoteSurprise", Text = "Ambrosia... cô nuông chiều ta quá rồi đấy, đồ ngốc! Ta biết phải làm gì với từng này đây? Có lẽ phải nhâm nhi đến mãi mãi mất!" }, { Cue = "/VO/MelinoeField_4401", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Mãi mãi là một khoảng thời gian dài đấy. Và lý tưởng nhất là nên cùng nhau chia sẻ thứ này. Có lẽ là cho lễ khai trương cửa hàng mới của cô trong tương lai!" }, { Cue = "/VO/Arachne_0397", Portrait = "Portrait_Arachne_Brooding_01", Text = "Đó quả là ý kiến hay. Vậy thì ta nên cất giữ nó thật cẩn thận và an toàn, mà ta đã biết rõ cách làm rồi... gói trong loại tơ lụa tốt nhất." }, }, ArachneGift08 = { PlayOnce = true, OnGiftTrack = true, UnfilledIcon = "EmptyHeartWithAmbrosiaIcon", FilledIcon = "FilledHeartWithAmbrosiaIcon", Cost = { SuperGiftPoints = 1, }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneGift07" }, }, }, { Cue = "/VO/MelinoeField_4402", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Cho cho cửa hàng Dệt May, Thuốc Nhuộm và Tơ Lụa của Arachne thành công khi ngày đó đến. Cảm giác có điều gì đó đáng mong chờ cũng rất thú vị, mặc dù điều đó còn rất lâu." }, { Cue = "/VO/Arachne_0398", Text = "Cô thật tử tế làm sao, bạn của ta, và ta muốn ôm cô thật chặt, nếu có thể, và nếu cô cũng sẵn lòng, nhưng... tốt hơn hết ta nên cảm ơn cô từ xa." }, { Cue = "/VO/MelinoeField_4403", UsePlayerSource = true, Portrait = "Portrait_Mel_Empathetic_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Nhưng ta đâu có ở xa; ta ở ngay đây mà. Và ta cũng vui mừng vì cô chẳng hề thay đổi. Nếu cô thay đổi... có lẽ ta đã mất cô rồi." }, { Cue = "/VO/Arachne_0399", Text = "Giờ mà lạc mất ta thì cũng dễ lắm đấy, vì ta nhỏ bé mà! Nhưng, thật lòng cảm ơn cô. Trước đây ta cứ nghĩ cô chỉ nói vậy vì thương hại ta, giờ thì ta đã biết là không phải thế." }, }, -- bond forged ArachneGift09 = { PlayOnce = true, OnGiftTrack = true, UnfilledIcon = "EmptyHeartWithAmbrosiaIcon", FilledIcon = "FilledHeartWithAmbrosiaIcon", CompletedHintId = "Codex_BondForgedArachne", Cost = { SuperGiftPoints = 1, }, GameStateRequirements = { { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneGift07" }, }, }, { Cue = "/VO/Arachne_0400", Text = "Đừng tặng thêm Ambrosia nữa, bạn ta. Ta sắp hết chỗ chứa rồi! Còn cô thì lại cho ta quá nhiều." }, { Cue = "/VO/MelinoeField_4404", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Tất nhiên rồi, nhưng mà... biết đâu chúng ta có thể cùng chia sẻ vào một lúc nào đó. Hoặc có thể là ngay lúc này...? Vì cô cũng sắp hết chỗ chứa rồi." }, { Cue = "/VO/Arachne_0401", Emote = "PortraitEmoteSurprise", PostLineRemoveContextArt = true, PortraitExitAnimation = "Portrait_Arachne_Default_01_Exit", Text = "{#Emph}Oh! {#Prev}Nếu cô không quá bận rộn, ta rất hoan nghênh điều đó. Cô có thể mở chai rượu giúp ta được không? Nắp chai có hơi chặt đối với ta..." }, { Cue = "/VO/Arachne_0402", PreLineFunctionName = "AltTavernaStartPresentation", Text = "...Cô đã dành rất nhiều thời gian và tình cảm của mình đối với ta. Hầu hết người phàm đều ghét nhện... ta không ngờ rằng những vị thần lại có suy nghĩ khác." }, { Cue = "/VO/MelinoeField_4405", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Việc sợ hãi những điều mình không hiểu là chuyện thường tình. Ta là một phù thủy; bọn ta thường xuyên gặp phải những tình huống đó. Có lẽ đó là lý do tại sao ta cảm thấy có sự kết nối với cô ngay từ đầu." }, { Cue = "/VO/Arachne_0403", Portrait = "Portrait_Arachne_Brooding_01", Text = "Cô cảm thấy sự kết nối với ta... vì cô đã giẫm lên ta! May mà cô nghe thấy tiếng ta hét ầm lên. Đó quả thực không phải cách gặp gỡ lý tưởng..." }, { Cue = "/VO/MelinoeField_4406", UsePlayerSource = true, Portrait = "Portrait_Mel_Casual_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Cũng không hẳn, nhưng ta nghĩ mọi chuyện đã diễn ra tốt đẹp. Và ta cũng chưa từng giẫm lên cô lần nào nữa, phải không?" }, { Cue = "/VO/Arachne_0404", Text = "Ừm, đúng là vậy. Mà này, món Ambrosia này quả thực rất tuyệt vời! Chỉ cần một ngụm thôi là thấy thỏa mãn rồi!" }, { Cue = "/VO/MelinoeField_4407", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Thật sao? Thật mừng vì cô thích nó. Những thứ này sẽ trở nên tuyệt hảo khi được chia sẻ cùng những người mình quan tâm, và rõ ràng đây là mẻ ngon nhất." }, { Cue = "/VO/Arachne_0405", Text = "Cô thực sự quan tâm đến ta nhỉ. Suốt một khoảng thời gian dài, ta đã không cho phép mình tin vào điều đó. Nhưng giờ, khi cô biết ta sẽ không bao giờ quay đầu lại, và cô vẫn là chính cô." }, { Cue = "/VO/MelinoeField_4408", UsePlayerSource = true, Portrait = "Portrait_Mel_Proud_01", PreLineAnim = "MelTalkPensive01", PreLineAnimTarget = "Hero", PostLineAnim = "MelinoeIdleWeaponless", PostLineAnimTarget = "Hero", Text = "Ta cũng chẳng biết mình có thể là ai khác. Còn cô thì sao? Nếu cô có thể là ai đó, hoặc bất kỳ điều gì cô muốn, thì cô sẽ chọn gì?" }, { Cue = "/VO/Arachne_0406", PortraitExitAnimation = "Portrait_Arachne_Default_01_Exit", PostLineThreadedFunctionName = "LoungeRevelryPresentation", PostLineFunctionArgs = { Sound2 = "/EmptyCue", Sound3 = "/EmptyCue", TimeTicks = 20, IsArtemisField = true }, Text = "Ồ, ta... ừm, ta sẽ chọn làm người thợ dệt vĩ đại nhất mà thế giới từng biết đến. Đó chính là lựa chọn của ta, ngay lúc này." }, { Cue = "/VO/Arachne_0407", PreLineWait = 0.35, PreLineFunctionName = "TavernaEndPresentation", PostLineThreadedFunctionName = "MaxedRelationshipPresentation", PostLineThreadedFunctionArgs = { Text = "NPC_Arachne_01", Icon = "Keepsake_Arachne", EndFunctionName = "InCombatTextEvent", EndFunctionArgs = GameData.PostTavernaArgs }, Emote = "PortraitEmoteCheerful", Text = "Nó thật tuyệt vời, bạn ta. Cảm ơn cô rất nhiều vì đã dành thời gian cho ta. Và vì tất cả." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, { Cue = "/VO/MelinoeField_4410", Text = "Tất nhiên rồi. Cô cũng là bạn của ta mà." }, }, }, }, }, GiftGivenVoiceLines = { BreakIfPlayed = true, PreLineWait = 1.0, PlayFromTarget = true, { Cue = "/VO/Melinoe_1915", Text = "Arachne, nó thật đẹp...!" }, }, LastStandReactionVoiceLines = { { RandomRemaining = true, PreLineWait = 0.3, GameStateRequirements = { { PathTrue = { "GameState", "UseRecord", "NPC_Arachne_01" }, }, { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "F_Story01" }, }, }, Cooldowns = { { Name = "ArachneSpokeRecently", Time = 7 }, }, { Cue = "/VO/Arachne_0250", Text = "You can do this!" }, { Cue = "/VO/Arachne_0251", Text = "You have this!" }, { Cue = "/VO/Arachne_0252", Text = "Nào nào...!" }, { Cue = "/VO/Arachne_0253", Text = "Ôi không...!" }, { Cue = "/VO/Arachne_0254", Text = "Ta không dám nhìn...!", PlayFirst = true }, { Cue = "/VO/Arachne_0255", Text = "{#Emph}" }, }, }, AlwaysShowInvulnerabubbleOnInvulnerableHit = true, InvincibubbleScale = 0.7, RepulseOnMeleeInvulnerableHit = 150, OnHitVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.25, ObjectType = "NPC_Arachne_01", GameStateRequirements = { { PathEmpty = { "RequiredKillEnemies" }, }, { PathFromArgs = true, Path = { "SourceProjectile", }, IsNone = { "FrogFamiliarLand", "CatFamiliarPounce", "RavenFamiliarMelee" }, }, NamedRequirementsFalse = { "ArachneBrooding" }, }, Cooldowns = { { Name = "ArachneSpokeRecently", Time = 7 }, }, { Cue = "/VO/Arachne_0289", Text = "Này!", PlayFirst = true }, { Cue = "/VO/Arachne_0290", Text = "Này, cẩn thận chứ!" }, { Cue = "/VO/Arachne_0291", Text = "Cô muốn chơi đùa ư?" }, { Cue = "/VO/Arachne_0292", Text = "Trượt nhé!" }, { Cue = "/VO/Arachne_0293", Text = "Không bắt được ta đâu!" }, { Cue = "/VO/Arachne_0294", Text = "Chậm quá!" }, { Cue = "/VO/Arachne_0295", Text = "Lại trượt nhé!" }, { Cue = "/VO/Arachne_0296", Text = "{#Emph}Haha{#Prev}, hụt rồi nhé!" }, { Cue = "/VO/Arachne_0297", Text = "Suýt thì trúng!" }, { Cue = "/VO/Arachne_0298", Text = "{#Emph}Ahh! {#Prev}Đùa thôi. Trượt rồi nhé." }, }, }, NPC_Arachne_Home_01 = { InheritFrom = { "NPC_Arachne_01" }, GenusName = "NPC_Arachne_01", ActivateRequirements = { -- }, InteractTextLineSets = { ArachneHubFirstMeeting01 = { PlayOnce = true, UseableOffSource = true, InitialGiftableOffSource = true, GiftableOffSource = true, GameStateRequirements = { { PathTrue = { "CurrentRun", "AnyMailboxReady" }, }, { PathTrue = { "GameState", "TextLinesRecord", "ArachneFirstMeeting" }, }, { PathFalse = { "CurrentRun", "RoomsEntered", "F_Story01" }, }, { Path = { "GameState", "LifetimeResourcesSpent", "CharonPoints" }, Comparison = ">=", Value = 3, }, NamedRequirementsFalse = { "ArachneBrooding" }, --[[ didn't work... { FunctionName = "RequiredAlive", FunctionArgs = { Ids = { "NPC_Charon_01", }, Alive = true }, }, ]]-- }, OnQueuedFunctionName = "CheckDistanceTriggerThread", OnQueuedFunctionArgs = PresetEventArgs.ArachneHubGreeting, { Cue = "/VO/Arachne_0065", Portrait = "Portrait_Arachne_Default_02", Emote = "PortraitEmoteCheerful", Text = "Ồ, chào, bạn ta! Ta tình cờ bắt gặp Người Lái Đò đang chèo thuyền xuôi theo sông Cocytus, có lẽ là đang hướng đến cô. Ngài ấy đã mang theo mọi thứ cần thiết, và hào phóng cho ta đi nhờ nữa, dù ta không rõ ngài ấy có để ý đến ta hay không nữa, {#Emph}ha ha ha ha..." }, { Cue = "/VO/Melinoe_3141", UsePlayerSource = true, Portrait = "Portrait_Mel_Pleased_01", PreLineAnim = "MelTalkExplaining01", PreLineAnimTarget = "Hero", PostLineAnim = "MelTalkExplaining01ReturnToIdle", PostLineAnimTarget = "Hero", Text = "Thật vui khi gặp cô ở đây, và chào mừng cô, Arachne! Ta khá chắc Charon không phiền khi có một vị khách lén lút nhưng lịch sự như cô đâu. Có điều gì mà bọn ta có thể làm để cô cảm thấy thoải mái khi ở đây không?" }, { Cue = "/VO/Arachne_0066", Portrait = "Portrait_Arachne_Default_02", Text = "Không cần đâu. Ta không nán lại lâu đâu. Nhất là khi Người Lái Đò là tấm vé trở về nhà của ta. Ta chỉ cần đảm bảo mọi tấm lụa đều được vá chặt và ta sẽ đi ngay. Chúc một ngày tốt lành." }, EndVoiceLines = { { PreLineWait = 0.4, UsePlayerSource = true, RequiredMinElapsedTime = 3, { Cue = "/VO/Melinoe_3142", Text = "Cô cũng vậy..." }, }, }, }, -- partner conversations ArachneWithHecateInHub01 = { Partner = "NPC_Hecate_01", -- GameStateRequirements PlayOnce = true, PreBlockSpecialInteract = true, PostBlockSpecialInteract = true, InitialGiftableOffSource = true, GameStateRequirements = { { -- PathTrue = { "CurrentRun", "AnyMailboxReady" }, }, { PathFalse = { "CurrentRun", "RoomsEntered", "F_Story01" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneHubFirstMeeting01" }, }, { PathFalse = { "GameState", "TextLinesRecord", "ArachneWithHecateInHub02" } }, NamedRequirementsFalse = { "ArachneBrooding", "ClearBeforeTrueEnding", "HecateMissing" }, }, OnQueuedFunctionName = "SetupArachneDangling", OnQueuedFunctionArgs = { WebObstacle = 800720, }, UseText = "UseListenNPC", BlockDistanceTriggers = true, IgnoreSourceEndTextLinesThreadedFunctionName = true, UseableOffSource = true, GiftableOffSource = true, TeleportToId = 800721, -- TeleportOffsetX = -100, -- TeleportOffsetY = 100, InteractDistance = 400, { Cue = "/VO/Arachne_0098", Portrait = "Portrait_Arachne_Default_02", PreLineWait = 0.35, Text = "...{#Emph}Oh{#Prev}, đừng lo lắng. Ta sẽ ổn thôi! Ta nắm rõ khu rừng ngoài kia trong lòng bàn tay, à, ý ta là... chân của ta! Ta biết ơn sự hiếu khách của bà, Nữ Titan vĩ đại." }, { Cue = "/VO/Hecate_0545", Portrait = "Portrait_Hec_Default_01", Speaker = "NPC_Hecate_01", PreLineWait = 0.35, PreLineAnim = "HecateHubGreet", PreLineAnimTarget = 556921, Text = "Cô được chào đón và an toàn khi ở đây, Arachne. Giờ thì xin thứ lỗi. Những vấn đề đang xảy ra gần đây khiến ta phải dành nhiều sự quan tâm hơn..." }, { Cue = "/VO/Arachne_0099", Portrait = "Portrait_Arachne_Default_02", PostLineThreadedFunctionName = "ArachneExit", PostLineThreadedFunctionArgs = { WebObstacle = 800720, }, Text = "Ta hiểu mà. Vậy nên ta sẽ tránh xa bà. Tạm biệt!" }, EndVoiceLines = { PreLineWait = 0.4, ObjectType = "NPC_Hecate_01", { Cue = "/VO/Hecate_0546", Text = "Tạm biệt.", PreLineAnim = "HecateHubGreet" }, }, }, ArachneWithHecateInHub02 = { Partner = "NPC_Hecate_01", -- GameStateRequirements PlayOnce = true, PreBlockSpecialInteract = true, PostBlockSpecialInteract = true, InitialGiftableOffSource = true, GameStateRequirements = { { -- PathTrue = { "CurrentRun", "AnyMailboxReady" }, }, { Path = { "GameState", "TextLinesRecord" }, HasAll = { "ArachneAboutCurse03" } }, { PathFalse = { "CurrentRun", "TextLinesRecord", "ArachneAboutCurse03" }, }, NamedRequirementsFalse = { "ArachneBrooding", "ClearBeforeTrueEnding", "HecateMissing" }, }, OnQueuedFunctionName = "SetupArachneDangling", OnQueuedFunctionArgs = { WebObstacle = 800720, }, UseText = "UseListenNPC", BlockDistanceTriggers = true, IgnoreSourceEndTextLinesThreadedFunctionName = true, UseableOffSource = true, GiftableOffSource = true, TeleportToId = 800721, -- TeleportOffsetX = -100, -- TeleportOffsetY = 100, InteractDistance = 400, { Cue = "/VO/Arachne_0100", PreLineWait = 0.35, Portrait = "Portrait_Arachne_Brooding_02", Emote = "PortraitEmoteSurprise", Text = "...Nhưng, điều này là không thể... Nữ Thần Titan, bà đang ám chỉ điều gì? Nếu những gì bà nói là thật, vậy thì... những lần bà nói rằng ta được chào đón và an toàn ở đây... đều là giả dối ư? Có phải vậy không?" }, { Cue = "/VO/Hecate_0547", Portrait = "Portrait_Hec_Default_01", Speaker = "NPC_Hecate_01", PreLineWait = 0.35, PreLineAnim = "Hecate_Hub_Explaining_Start", PreLineAnimTarget = 556921, PostLineAnim = "Hecate_Hub_Explaining_End", PostLineAnimTarget = 556921, Text = "Cô tức giận cũng phải thôi. Chính độc dược mà ta điều chế Athena, được dùng để nguyền rủa cô. Nhưng lời nguyền đó là của cô ta, không phải của ta. Ta không mong cô sẽ biết chuyện này. Nhưng, chính Melinoë đã thuyết phục ta chống lại bản năng của mình." }, { Cue = "/VO/Arachne_0101", Portrait = "Portrait_Arachne_Brooding_02", PreLineWait = 0.35, PostLineThreadedFunctionName = "ArachneExit", PostLineThreadedFunctionArgs = { WebObstacle = 800720, }, Text = "...Ta không biết phải nói gì nữa. Vậy ra đây là lỗi của bà. Athena không bao giờ có thể biến ta thành ra thấy này, nếu không có sự giúp đỡ của bà. Titan và bọn thần các người... tất cả các người đều giống nhau. Chào tạm biệt!" }, EndVoiceLines = { PreLineWait = 0.4, ObjectType = "NPC_Hecate_01", { Cue = "/VO/Hecate_0548", Text = "Arachne, hãy nghe ta giải thích... {#Emph}ungh...", PreLineAnim = "Hecate_Hub_Scoff" }, }, }, -- end of events }, }, } OverwriteTableKeys( EnemyData, UnitSetData.NPC_Arachne ) GlobalVoiceLines.CostumeChangedVoiceLines = { PreLineFunctionName = "GenericPresentation", PreLineFunctionArgs = { PreWait = 0.35 }, { RandomRemaining = true, ObjectType = "NPC_Arachne_01", AllowTalkOverTextLines = true, -- SuccessiveChanceToPlayAll = 0.75, -- also see additional Arachne lines below GameStateRequirements = { { Path = { "CurrentRun", "TextLinesRecord" }, HasNone = GameData.ArachneUpsetEvents, }, }, { Cue = "/VO/Arachne_0171", Text = "Chắc chắn!" }, { Cue = "/VO/Arachne_0172", Text = "Tất nhiên rồi!" }, { Cue = "/VO/Arachne_0173", Text = "Tất nhiên rồi." }, { Cue = "/VO/Arachne_0174", Text = "Được thôi." }, { Cue = "/VO/Arachne_0175", Text = "Đến ngay đây!" }, { Cue = "/VO/Arachne_0176", Text = "Ồ, được." }, { Cue = "/VO/Arachne_0177", Text = "Ta nghe thấy rồi!" }, { Cue = "/VO/Arachne_0178", Text = "Tuyệt vời." }, { Cue = "/VO/Arachne_0179", Text = "Được thôi." }, { Cue = "/VO/Arachne_0180", Text = "Được thôi!" }, { Cue = "/VO/Arachne_0183", Text = "Oh, trông cô rất tuyệt!" }, { Cue = "/VO/Arachne_0189", Text = "Trông cô thực sự rất đáng yêu." }, { Cue = "/VO/Arachne_0196", Text = "Giống như một cái ôm ấm áp..." }, { Cue = "/VO/Arachne_0198", Text = "Thật tuyệt vời...!" }, { Cue = "/VO/Arachne_0181", Text = "Vừa vặn một cách hoàn hảo!" }, { Cue = "/VO/Arachne_0187", Text = "Thứ này dành riêng cho cô đấy." }, { Cue = "/VO/Arachne_0188", Text = "Ta biết cô sẽ chọn thứ này mà!" }, { Cue = "/VO/Arachne_0191", Text = "Giờ cô đang cảm thấy thoải mái nhỉ?" }, { Cue = "/VO/Arachne_0192", Text = "{#Emph}Whew! {#Prev}Hãy tận hưởng khi nó còn tồn tại..." }, { Cue = "/VO/Arachne_0193", Text = "Tất cả chỉ là công việc buổi tối!" }, { Cue = "/VO/Arachne_0194", Text = "Dệt cẩn thận." }, { Cue = "/VO/Arachne_0195", Text = "Tất cả là của cô." }, { Cue = "/VO/Arachne_0197", Text = "Mong nó sẽ bảo vệ cô." }, { Cue = "/VO/Arachne_0200", Text = "Trông cô thật đẹp." }, { Cue = "/VO/Arachne_0190", Text = "Hy vọng cô sẽ thích nó." }, { Cue = "/VO/Arachne_0182", Text = "Đây!" }, { Cue = "/VO/Arachne_0184", Text = "Cô thích nó chứ?", PlayFirst = true }, { Cue = "/VO/Arachne_0185", Text = "Ái chà, cô thấy sao?" }, { Cue = "/VO/Arachne_0186", Text = "Cô cảm thấy thế nào?" }, { Cue = "/VO/Arachne_0199", Text = "Nó rất phù hợp với cô.", PlayFirst = true, GameStateRequirements = { { Path = { "CurrentRun", "Hero", "TraitDictionary" }, HasAny = { "VitalityCostume", "EscalatingCostume" }, }, }, }, }, { PreLineWait = 0.1, BreakIfPlayed = true, RandomRemaining = true, UsePlayerSource = true, TriggerCooldowns = { "MelinoeAnyQuipSpeech" }, GameStateRequirements = { -- do you like it? { Path = { "LastLinePlayed" }, IsAny = { "/VO/Arachne_0184", "/VO/Arachne_0185", "/VO/Arachne_0186" }, }, }, { Cue = "/VO/Melinoe_1731", Text = "Thật tuyệt vời, cảm ơn cô...!", PlayFirst = true }, { Cue = "/VO/Melinoe_1412", Text = "Ta nghĩ ta thích nó đấy...", GameStateRequirements = { { Path = { "LastLinePlayed" }, IsNone = { "/VO/Arachne_0184", "/VO/Arachne_0185", "/VO/Arachne_0186" }, }, }, }, }, { PreLineWait = 0.2, RandomRemaining = true, SuccessiveChanceToPlay = 0.66, UsePlayerSource = true, TriggerCooldowns = { "MelinoeAnyQuipSpeech" }, GameStateRequirements = { { Path = { "CurrentRun", "TextLinesRecord" }, HasNone = GameData.ArachneUpsetEvents, }, { PathFalse = { "CurrentRun", "TextLinesRecord", "ArachneCurseQuestComplete01" }, }, }, { Cue = "/VO/MelinoeField_4771", Text = "Nó thật đẹp." }, { Cue = "/VO/MelinoeField_4772", Text = "Nó thật hoàn hảo." }, { Cue = "/VO/MelinoeField_4773", Text = "Ta thích nó." }, { Cue = "/VO/MelinoeField_4774", Text = "Thật mềm mại..." }, { Cue = "/VO/MelinoeField_4775", Text = "Hoàn hảo." }, { Cue = "/VO/MelinoeField_4776", Text = "Vừa vặn một cách hoàn hảo." }, { Cue = "/VO/MelinoeField_4777", Text = "Nó thật tuyệt vời!" }, { Cue = "/VO/MelinoeField_4778", Text = "Cảm ơn, Arachne.", PlayFirst = true, }, { Cue = "/VO/MelinoeField_4779", Text = "Cảm ơn, Arachne." }, { Cue = "/VO/MelinoeField_4780", Text = "Thật vừa vặn." }, { Cue = "/VO/MelinoeField_2378", Text = "Cảm ơn, Arachne." }, { Cue = "/VO/Melinoe_0350", Text = "{#Emph}" }, { Cue = "/VO/Melinoe_0351", Text = "{#Emph}" }, }, } GlobalVoiceLines.CostumeDestroyedVoiceLines = { { RandomRemaining = true, PreLineWait = 0.25, SuccessiveChanceToPlay = 0.75, UsePlayerSource = true, Cooldowns = { { Name = "MelinoeAnyQuipSpeech" }, }, GameStateRequirements = { { Path = { "CurrentRun", "Hero", "LastBrokenArmorTraitName" }, IsAny = { "AgilityCostume", "ManaCostume", "VitalityCostume", "CastDamageCostume", "IncomeCostume", "HighArmorCostume", "SpellCostume", "EscalatingCostume",}, }, }, { Cue = "/VO/Melinoe_1916", Text = "Trang phục của ta!" }, { Cue = "/VO/Melinoe_1917", Text = "Thế là không cần giáp lụa nữa..." }, { Cue = "/VO/Melinoe_1918", Text = "Trang phục của Arachne hỏng mất rồi..." }, { Cue = "/VO/Melinoe_1919", Text = "Bọn chúng phá trang phục của ta rồi...", PlayOnce = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsNone = { "F_Boss01", "F_Boss02", "G_Boss01", "G_Boss02", "H_Boss01", "H_Boss02", "I_Boss01" }, }, }, }, { Cue = "/VO/Melinoe_0578", Text = "{#Emph}Hrm." }, { Cue = "/VO/Melinoe_0579", Text = "{#Emph}Hm!" }, { Cue = "/VO/Melinoe_0580", Text = "{#Emph}Ugh..." }, { Cue = "/VO/MelinoeField_2374", Text = "Chết tiệt..." }, { Cue = "/VO/MelinoeField_2375", Text = "{#Emph}Augh..." }, { Cue = "/VO/MelinoeField_2376", Text = "Trang phục của ta...", PlayFirst = true }, { Cue = "/VO/MelinoeField_2377", Text = "Váy của ta..." }, { Cue = "/VO/MelinoeField_2379", Text = "{#Emph}Tsk..." }, }, { BreakIfPlayed = true, RandomRemaining = true, PreLineWait = 0.35, ObjectType = "Hecate", SuccessiveChanceToPlay = 0.5, SuccessiveChanceToPlayAll = 0.25, GameStateRequirements = { { Path = { "CurrentRun", "BossHealthBarRecord", "Hecate" }, Comparison = ">=", Value = 0.35, }, { Path = { "CurrentRun", "Hero", "LastBrokenArmorTraitName" }, IsAny = { "AgilityCostume", "ManaCostume", "VitalityCostume", "CastDamageCostume", "IncomeCostume", "HighArmorCostume", "SpellCostume", "EscalatingCostume",}, }, }, SkipCooldownCheckIfNonePlayed = true, Cooldowns = { { Name = "HecateSpokeRecently", Time = 12 }, }, { Cue = "/VO/HecateField_0378", Text = "Tơ lụa không thể bảo vệ cô đâu!" }, { Cue = "/VO/HecateField_0379", Text = "Cũng chỉ là tơ lụa!", Play = true, }, { Cue = "/VO/HecateField_0380", Text = "Arachne có thể trách ta!" }, { Cue = "/VO/HecateField_0381", Text = "Cô không cần bộ váy đó!" }, { Cue = "/VO/HecateField_0382", Text = "Nhện có thể dệt nhiều hơn thế!" }, { Cue = "/VO/HecateField_0383", Text = "Chiếc váy của cô đã bị tước bỏ!", GameStateRequirements = { { Path = { "GameState", "SpeechRecord" }, HasAll = { "/VO/HecateField_0378", "/VO/HecateField_0379", "/VO/HecateField_0380", "/VO/HecateField_0381", "/VO/HecateField_0382", } }, }, }, }, { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.35, SuccessiveChanceToPlayAll = 0.5, ObjectType = "NPC_Arachne_01", GameStateRequirements = { { Path = { "CurrentRun", "Hero", "LastBrokenArmorTraitName" }, IsAny = { "AgilityCostume", "ManaCostume", "VitalityCostume", "CastDamageCostume", "IncomeCostume", "HighArmorCostume", "SpellCostume", "EscalatingCostume",}, }, }, { Cue = "/VO/Arachne_0268", Text = "Ta e rằng, mỗi đêm chỉ được một bộ thôi...", PlayFirst = true }, { Cue = "/VO/Arachne_0269", Text = "Này, ta không tạo ra từ những thứ đó đâu!" }, { Cue = "/VO/Arachne_0270", Text = "Oh, thật đáng tiếc..." }, { Cue = "/VO/Arachne_0271", Text = "Ôi trời..." }, { Cue = "/VO/Arachne_0272", Text = "Aw..." }, { Cue = "/VO/Arachne_0273", Text = "{#Emph}" }, { Cue = "/VO/Arachne_0274", Text = "Ooh!" }, } } -- Global Arachne Lines -- Arachne GlobalVoiceLines.ArachneGreetingLines = { Queue = "Interrupt", { RandomRemaining = true, BreakIfPlayed = true, ObjectType = "NPC_Arachne_01", PreLineAnim = "Arachne_Greet", { Cue = "/VO/Arachne_0133", Text = "Oh!" }, { Cue = "/VO/Arachne_0134", Text = "Ah, là cô sao!" }, { Cue = "/VO/Arachne_0135", Text = "Oh, chào mừng!" }, { Cue = "/VO/Arachne_0136", Text = "Chào mừng trở lại!" }, { Cue = "/VO/Arachne_0137", Text = "Ta bị hoa mắt phải không?" }, { Cue = "/VO/Arachne_0138", Text = "Bạn của ta!" }, { Cue = "/VO/Arachne_0139", Text = "Thực sự là cô sao?" }, { Cue = "/VO/Arachne_0140", Text = "{#Emph}" }, { Cue = "/VO/Arachne_0141", Text = "Một vị khách!" }, { Cue = "/VO/Arachne_0142", Text = "Khách hàng thân thiết của ta!" }, { Cue = "/VO/Arachne_0143", Text = "Ồ, xin chào!" }, { Cue = "/VO/Arachne_0144", Text = "Good evening!" }, { Cue = "/VO/Arachne_0145", Text = "Chào mừng trở lại!" }, { Cue = "/VO/Arachne_0146", Text = "Ah, {#Emph}haha!" }, { Cue = "/VO/Arachne_0147", Text = "Chào lần nữa nhé!" }, { Cue = "/VO/Arachne_0148", Text = "Oh, đã lâu không gặp!" }, { Cue = "/VO/Arachne_0149", Text = "Có vài chiếc kén cho cô đây!" }, { Cue = "/VO/Arachne_0150", Text = "Có vài chiếc kén mới đây!" }, { Cue = "/VO/Arachne_0356", Text = "Oh...!", PlayFirst = true }, { Cue = "/VO/Arachne_0357", Text = "{#Emph}Huh...!" }, }, } GlobalVoiceLines.ArachneMutteringLines = { RandomRemaining = true, { PreLineWait = 0.75, --Actor = "StrangerOcclusionP", ObjectType = "NPC_Arachne_01", RecheckRequirementsForSubLines = true, GameStateRequirements = { { PathFalse = { "CurrentRun", "TriggerRecord", "ArachneInterrupt" }, }, { PathFalse = { "CurrentRun", "Hero", "IsDead" }, }, }, { Cue = "/VO/Arachne_0201", Text = "{#Emph}Nhuộm lụa và ngắm nhìn," }, { Cue = "/VO/Arachne_0202", Text = "{#Emph}Quay quay cuộn tơ," }, { Cue = "/VO/Arachne_0203", Text = "{#Emph}Sợi dọc sợi ngang, sợi dọc sợi ngang," }, { Cue = "/VO/Arachne_0204", Text = "{#Emph}Cắt, gấp, khâu lại." }, { Cue = "/VO/Arachne_0205", Text = "Và lặp lại...!" }, { Cue = "/VO/Arachne_0201", Text = "{#Emph}Nhuộm lụa và ngắm nhìn,", PreLineWait = 1.2 }, { Cue = "/VO/Arachne_0202", Text = "{#Emph}Quay quay cuộn tơ," }, { Cue = "/VO/Arachne_0203", Text = "{#Emph}Sợi dọc sợi ngang, sợi dọc sợi ngang," }, { Cue = "/VO/Arachne_0204", Text = "{#Emph}Cắt, gấp, khâu lại.", BreakIfPlayed = true }, }, { PreLineWait = 0.75, --Actor = "StrangerOcclusionP", ObjectType = "NPC_Arachne_01", RecheckRequirementsForSubLines = true, GameStateRequirements = { { PathFalse = { "CurrentRun", "TriggerRecord", "ArachneInterrupt" }, }, { PathFalse = { "CurrentRun", "Hero", "IsDead" }, }, }, { Cue = "/VO/Arachne_0206", Text = "{#Emph}Vải lụa kiêu sa, mềm mại, tuyệt vời..." }, { Cue = "/VO/Arachne_0207", Text = "{#Emph}Ta se tơ và bắt lấy bất cứ thứ gì vướng vào..." }, { Cue = "/VO/Arachne_0208", Text = "{#Emph}Một kỷ niệm đẹp vẫn còn đọng lại trong tâm trí ta..." }, { Cue = "/VO/Arachne_0209", Text = "{#Emph}Từ đêm tối cô đơn đến khi bình minh ló dạng..." }, { Cue = "/VO/Arachne_0210", Text = "Một lần nữa..." }, { Cue = "/VO/Arachne_0206", Text = "{#Emph}Vải lụa kiêu sa, mềm mại, tuyệt vời...", PreLineWait = 1.2 }, { Cue = "/VO/Arachne_0207", Text = "{#Emph}Ta se tơ và bắt lấy bất cứ thứ gì vướng vào..." }, { Cue = "/VO/Arachne_0208", Text = "{#Emph}Một kỷ niệm đẹp vẫn còn đọng lại trong tâm trí ta..." }, { Cue = "/VO/Arachne_0209", Text = "{#Emph}Từ đêm tối cô đơn đến khi bình minh ló dạng...", BreakIfPlayed = true }, }, { PreLineWait = 0.75, --Actor = "StrangerOcclusionP", ObjectType = "NPC_Arachne_01", RecheckRequirementsForSubLines = true, GameStateRequirements = { { PathFalse = { "CurrentRun", "TriggerRecord", "ArachneInterrupt" }, }, { PathFalse = { "CurrentRun", "Hero", "IsDead" }, }, }, { Cue = "/VO/Arachne_0211", Text = "{#Emph}Ôi, chú ruồi nhỏ, hãy đậu vào đây và nghỉ ngơi đôi cánh..." }, { Cue = "/VO/Arachne_0212", Text = "{#Emph}Đôi cánh ngươi mỏi mệt vì bay ngược xuôi..." }, { Cue = "/VO/Arachne_0213", Text = "{#Emph}Ta sẽ quấn lấy ngươi và hát ru ngươi ngủ..." }, { Cue = "/VO/Arachne_0214", Text = "{#Emph}Ta sẽ hút cạn ngươi và để lại cái xác không..." }, { Cue = "/VO/Arachne_0215", Text = "{#Emph}Ha ha ha... {#Prev}lần nữa nào...", PreLineWait = 1.2 }, { Cue = "/VO/Arachne_0211", Text = "{#Emph}Ôi, chú ruồi nhỏ, hãy đậu vào đây và nghỉ ngơi đôi cánh..." }, { Cue = "/VO/Arachne_0212", Text = "{#Emph}Đôi cánh ngươi mỏi mệt vì bay ngược xuôi..." }, { Cue = "/VO/Arachne_0213", Text = "{#Emph}Ta sẽ quấn lấy ngươi và hát ru ngươi ngủ..." }, { Cue = "/VO/Arachne_0214", Text = "{#Emph}Ta sẽ hút cạn ngươi và để lại cái xác không...", BreakIfPlayed = true }, }, { PreLineWait = 0.75, --Actor = "StrangerOcclusionP", ObjectType = "NPC_Arachne_01", RecheckRequirementsForSubLines = true, GameStateRequirements = { { PathFalse = { "CurrentRun", "TriggerRecord", "ArachneInterrupt" }, }, { PathFalse = { "CurrentRun", "Hero", "IsDead" }, }, }, { Cue = "/VO/Arachne_0447", Text = "{#Emph}Xanh lam, đen và đỏ thẫm," }, { Cue = "/VO/Arachne_0448", Text = "{#Emph}Lụa đã đủ màu sắc, thấy chưa?" }, { Cue = "/VO/Arachne_0449", Text = "{#Emph}Tinh tế và được dệt tỉ mỉ," }, { Cue = "/VO/Arachne_0450", Text = "{#Emph}Bền như bạc, mỏng như sợi tóc..." }, { Cue = "/VO/Arachne_0451", Text = "{#Emph}Và, lần nữa...!", PreLineWait = 1.5 }, { Cue = "/VO/Arachne_0447", Text = "{#Emph}Xanh lam, đen và đỏ thẫm," }, { Cue = "/VO/Arachne_0448", Text = "{#Emph}Lụa đã đủ màu sắc, thấy chưa?" }, { Cue = "/VO/Arachne_0449", Text = "{#Emph}Tinh tế và được dệt tỉ mỉ," }, { Cue = "/VO/Arachne_0450", Text = "{#Emph}Bền như bạc, mỏng như sợi tóc...", BreakIfPlayed = true }, }, { PreLineWait = 0.75, --Actor = "StrangerOcclusionP", ObjectType = "NPC_Arachne_01", RecheckRequirementsForSubLines = true, GameStateRequirements = { { PathFalse = { "CurrentRun", "TriggerRecord", "ArachneInterrupt" }, }, { PathFalse = { "CurrentRun", "Hero", "IsDead" }, }, }, { Cue = "/VO/Arachne_0452", Text = "{#Emph}Chỉ là một chú nhện, nhỏ và đen," }, { Cue = "/VO/Arachne_0453", Text = "{#Emph}Tám chân dài và lưng phủ đầy lông mịn," }, { Cue = "/VO/Arachne_0454", Text = "{#Emph}Đôi mắt như ngọc quý, và tơ nhện mỏng manh," }, { Cue = "/VO/Arachne_0455", Text = "{#Emph}Kỹ nghệ phi thường, nhưng chưa phải thần thánh..." }, { Cue = "/VO/Arachne_0456", Text = "{#Emph}Một lần nữa...", PreLineWait = 1.5 }, { Cue = "/VO/Arachne_0452", Text = "{#Emph}Chỉ là một chú nhện, nhỏ và đen," }, { Cue = "/VO/Arachne_0453", Text = "{#Emph}Tám chân dài và lưng phủ đầy lông mịn," }, { Cue = "/VO/Arachne_0454", Text = "{#Emph}Đôi mắt như ngọc quý, và tơ nhện mỏng manh," }, { Cue = "/VO/Arachne_0455", Text = "{#Emph}Kỹ nghệ phi thường, nhưng chưa phải thần thánh...", BreakIfPlayed = true }, }, { PreLineWait = 0.75, --Actor = "StrangerOcclusionP", ObjectType = "NPC_Arachne_01", RecheckRequirementsForSubLines = true, GameStateRequirements = { { PathFalse = { "CurrentRun", "TriggerRecord", "ArachneInterrupt" }, }, { PathFalse = { "CurrentRun", "Hero", "IsDead" }, }, }, { Cue = "/VO/Arachne_0457", Text = "{#Emph}Nanh của ta không có độc đâu, ta thề." }, { Cue = "/VO/Arachne_0458", Text = "{#Emph}Đến gần đây nào, và ta sẽ chứng minh điều đó là thật!" }, { Cue = "/VO/Arachne_0459", Text = "{#Emph}Ta biết rằng nhiều người sẽ không dám," }, { Cue = "/VO/Arachne_0460", Text = "{#Emph}Nhưng họ chẳng là gì cả, còn ngươi là chính ngươi..." }, { Cue = "/VO/Arachne_0461", Text = "{#Emph}Và thêm lần nữa...!", PreLineWait = 1.5 }, { Cue = "/VO/Arachne_0457", Text = "{#Emph}Nanh của ta không có độc đâu, ta thề." }, { Cue = "/VO/Arachne_0458", Text = "{#Emph}Đến gần đây nào, và ta sẽ chứng minh điều đó là thật!" }, { Cue = "/VO/Arachne_0459", Text = "{#Emph}Ta biết rằng nhiều người sẽ không dám," }, { Cue = "/VO/Arachne_0460", Text = "{#Emph}Nhưng họ chẳng là gì cả, còn ngươi là chính ngươi...", BreakIfPlayed = true }, }, } GlobalVoiceLines.ArachneGatherReactionVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.65, SuccessiveChanceToPlay = 0.5, ObjectType = "NPC_Arachne_01", GameStateRequirements = { NamedRequirementsFalse = { "ArachneBrooding" }, }, Cooldowns = { { Name = "ArachneSpokeRecently", Time = 10 }, }, { Cue = "/VO/Arachne_0326", Text = "Tinh mắt đấy!" }, { Cue = "/VO/Arachne_0327", Text = "Người tìm thấy sẽ được giữ lại." }, { Cue = "/VO/Arachne_0328", Text = "{#Emph}Ooh {#Prev}gì thế kia?", PlayFirst = true }, { Cue = "/VO/Arachne_0329", Text = "Tìm được rồi!" }, { Cue = "/VO/Arachne_0357", Text = "{#Emph}Huh..." }, { Cue = "/VO/Arachne_0360", Text = "{#Emph}Hm..." }, } GlobalVoiceLines.ArachnePickaxeReactionVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.65, SuccessiveChanceToPlayAll = 0.5, ObjectType = "NPC_Arachne_01", GameStateRequirements = { NamedRequirementsFalse = { "ArachneBrooding" }, }, Cooldowns = { { Name = "ArachneSpokeRecently", Time = 10 }, }, TriggerCooldowns = { "MelinoeAnyQuipSpeech" }, { Cue = "/VO/Arachne_0317", Text = "Ồ, cô tìm được thứ gì đó rồi!" }, { Cue = "/VO/Arachne_0318", Text = "Rất tốt." }, { Cue = "/VO/Arachne_0319", Text = "Làm rất tốt!" }, { Cue = "/VO/Arachne_0320", Text = "Cố gắng nhé!" }, { Cue = "/VO/Arachne_0321", Text = "Cố gắng nhé." }, } GlobalVoiceLines.ArachneExorcismReactionVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.65, SuccessiveChanceToPlayAll = 0.5, ObjectType = "NPC_Arachne_01", GameStateRequirements = { --[[ replaced with the requirements below { Path = { "CurrentRun", "TextLinesRecord" }, HasNone = GameData.ArachneUpsetEvents, }, ]]-- NamedRequirementsFalse = { "ArachneBrooding" }, }, Cooldowns = { { Name = "ArachneSpokeRecently", Time = 10 }, }, { Cue = "/VO/Arachne_0322", Text = "Cô tìm được rồi!" }, { Cue = "/VO/Arachne_0323", Text = "Rất tốt." }, { Cue = "/VO/Arachne_0324", Text = "Cô đã giải thoát chúng." }, { Cue = "/VO/Arachne_0325", Text = "Cô làm được rồi." }, } GlobalVoiceLines.ArachneMineReactionVoiceLines = { RandomRemaining = true, BreakIfPlayed = true, PreLineWait = 0.25, SuccessiveChanceToPlayAll = 0.5, ObjectType = "NPC_Arachne_01", GameStateRequirements = { NamedRequirementsFalse = { "ArachneBrooding" }, }, Cooldowns = { { Name = "ArachneSpokeRecently", Time = 10 }, }, { Cue = "/VO/Arachne_0232", Text = "Coi chừng!" }, { Cue = "/VO/Arachne_0233", Text = "Coi chừng!" }, { Cue = "/VO/Arachne_0234", Text = "Cẩn thận!" }, { Cue = "/VO/Arachne_0235", Text = "Xin lỗi nhé!" }, { Cue = "/VO/Arachne_0236", Text = "Oops!" }, { Cue = "/VO/Arachne_0237", Text = "Yikes!" }, } GlobalVoiceLines.ArachneCocoonPositiveReactionLines = { RandomRemaining = true, PreLineWait = 0.65, SuccessiveChanceToPlay = 0.66, ObjectType = "NPC_Arachne_01", GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "F_Story01" }, }, NamedRequirementsFalse = { "ArachneBrooding" }, }, Cooldowns = { { Name = "ArachneSpokeRecently", Time = 10 }, }, { Cue = "/VO/Arachne_0279", Text = "Miễn phí nhé!" }, { Cue = "/VO/Arachne_0280", Text = "Tận hưởng nhé!" }, { Cue = "/VO/Arachne_0281", Text = "Cho cô đấy!" }, { Cue = "/VO/Arachne_0282", Text = "Ồ, co tìm được rồi!" }, { Cue = "/VO/Arachne_0283", Text = "Bất ngờ chưa!" }, { Cue = "/VO/Arachne_0284", Text = "Hy vọng nó sẽ có ích!" }, { Cue = "/VO/Arachne_0285", Text = "Của cô hết đấy." }, { Cue = "/VO/Arachne_0286", Text = "Ồ tốt!" }, { Cue = "/VO/Arachne_0287", Text = "Giữ lại đi nhé!" }, { Cue = "/VO/Arachne_0288", Text = "Dành riêng cho cô đấy!" }, } GlobalVoiceLines.ArachneCocoonNegativeReactionLines = { { BreakIfPlayed = true, RandomRemaining = true, PreLineWait = 1.0, SuccessiveChanceToPlay = 0.2, PlayOnceFromTableThisRun = true, GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "F_Story01" }, }, { PathEmpty = { "MapState", "RoomRequiredObjects" }, }, }, { Cue = "/VO/Melinoe_1920", Text = "Phải dọn chỗ cho nhiều thứ khác nữa." }, { Cue = "/VO/Melinoe_1921", Text = "Cô ấy bảo thứ này ổn..." }, { Cue = "/VO/Melinoe_1922", Text = "Nhiều kén thật..." }, { Cue = "/VO/Melinoe_1923", Text = "Không thấy nhện con nào." }, }, { PlayOnce = true, PlayOnceContext = "ExitHintVO", BreakIfPlayed = true, RandomRemaining = true, PreLineWait = 1.0, SuccessiveChanceToPlay = 0.2, GameStateRequirements = { { PathTrue = { "CurrentRun", "CurrentRoom", "Encounter", "Completed" }, }, { PathEmpty = { "MapState", "RoomRequiredObjects" }, }, }, Cooldowns = { { Name = "MelinoeFleeCocoonSpeech", Time = 240 }, }, { Cue = "/VO/Melinoe_1930", Text = "Có lẽ nên bỏ qua...", PlayFirst = true }, { Cue = "/VO/Melinoe_1931", Text = "Không cần thiết phải đứng lại và chiến đấu..." }, { Cue = "/VO/Melinoe_1932", Text = "Lối thoát ngay đằng kia..." }, { Cue = "/VO/Melinoe_1933", Text = "Có lẽ ta nên rời đi..." }, }, { ThreadName = "RoomThread", RandomRemaining = true, PreLineWait = 0.65, SuccessiveChanceToPlay = 0.66, ObjectType = "NPC_Arachne_01", GameStateRequirements = { { Path = { "CurrentRun", "CurrentRoom", "Name" }, IsAny = { "F_Story01" }, }, NamedRequirementsFalse = { "ArachneBrooding" }, }, Cooldowns = { { Name = "ArachneSpokeRecently", Time = 10 }, }, { Cue = "/VO/Arachne_0216", Text = "Oh, xin lỗi nhé!" }, { Cue = "/VO/Arachne_0217", Text = "Oh, {#Emph}biến đi! {#Prev}Biến khỏi đây đi!" }, { Cue = "/VO/Arachne_0218", Text = "Oh not another one of those." }, { Cue = "/VO/Arachne_0219", Text = "Oh do be careful!" }, { Cue = "/VO/Arachne_0220", Text = "Oh no!" }, { Cue = "/VO/Arachne_0221", Text = "Làm sao nó có thể vào đây được?" }, { Cue = "/VO/Arachne_0222", Text = "Xin lỗi vì mớ hỗn độn này!" }, { Cue = "/VO/Arachne_0223", Text = "Lại là thứ đó." }, { Cue = "/VO/Arachne_0224", Text = "Quên mất là ta đã tóm được một trong số chúng rồi." }, { Cue = "/VO/Arachne_0225", Text = "Tự chịu rủi ro nhé..." }, }, }