Hotfix - 2.0.1.145
EN: 2.0.1.145 CN: 2.0.1.144 JP: 2.0.1.147 KR: 2.0.1.152
This commit is contained in:
@@ -1452,6 +1452,10 @@ function SoldierLevelData:BattleResult()
|
||||
end
|
||||
end
|
||||
function SoldierLevelData:OpenSoldierEnding()
|
||||
EventManager.Hit(EventId.ClosePanel, PanelId.SoldierPartnerTips)
|
||||
EventManager.Hit(EventId.ClosePanel, PanelId.SoldierCharCardTips)
|
||||
EventManager.Hit(EventId.ClosePanel, PanelId.SoldierCharSkillDetail)
|
||||
EventManager.Hit(EventId.ClosePanel, PanelId.SoldierCharPontentialDetailPanel)
|
||||
local endingData = self.mapClientCases[ClientCase.Ending].data
|
||||
self.mapClientCases[ClientCase.Ending] = nil
|
||||
local callback = function()
|
||||
|
||||
@@ -162,7 +162,7 @@ return {
|
||||
param = {
|
||||
1,
|
||||
"avg3_100",
|
||||
"菲兰尼斯居然有这么宽广的地下岩洞……",
|
||||
"好复杂的岩洞啊,要不是有你带路,我早就迷路了。",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
@@ -231,7 +231,7 @@ return {
|
||||
param = {
|
||||
0,
|
||||
"avg1_162",
|
||||
"菲兰尼斯的岩石很容易被水流溶蚀,日积月累就形成了很多这样的地下岩洞。",
|
||||
"菲兰尼斯地下的岩洞群错综复杂,非常危险。不过,这也为我们的行动提供了方便,卡里古拉绝对想不到我们还能从这边潜入。",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
|
||||
@@ -10530,6 +10530,10 @@ return {
|
||||
true
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {1.0}
|
||||
},
|
||||
{
|
||||
cmd = "SetChar",
|
||||
param = {
|
||||
@@ -10605,6 +10609,10 @@ return {
|
||||
false
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.5}
|
||||
},
|
||||
{
|
||||
cmd = "SetMainRoleTalk",
|
||||
param = {
|
||||
@@ -10633,10 +10641,6 @@ return {
|
||||
""
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "SetChar",
|
||||
param = {
|
||||
@@ -10659,6 +10663,10 @@ return {
|
||||
nil
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "CtrlChar",
|
||||
param = {
|
||||
@@ -10698,6 +10706,10 @@ return {
|
||||
""
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "SetAudio",
|
||||
param = {
|
||||
|
||||
@@ -4312,7 +4312,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"That sounds a bit drama...",
|
||||
"That sounds a bit dramatic...",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -494,7 +494,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"But me, the Lord Nazuna, play no such games",
|
||||
"But I, the Lord Nazuna, play no such games",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4037,7 +4037,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"Three horns, huh...==W== In all my years fighting Nocturn Eterna, I've never seen a single one with three horns.",
|
||||
"White horns, huh...==W== In all my years fighting Nocturn Eterna, I've never seen a single one with white horns.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4168,7 +4168,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"What are you talking about...?! You're the one who said they have three horns—",
|
||||
"What are you talking about...?! You're the one who said they have white horns—",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -8967,7 +8967,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
0,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
1.0,
|
||||
@@ -11879,7 +11879,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
0,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
1.0,
|
||||
@@ -12868,7 +12868,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
3,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
0.0,
|
||||
@@ -13789,7 +13789,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
5,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
0.0,
|
||||
|
||||
@@ -8920,7 +8920,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"(Karin's face ... looks terrifying.)",
|
||||
"(Karin… Her expression is so strained...)",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3,7 +3,7 @@ return {
|
||||
cmd = "SetIntro",
|
||||
param = {
|
||||
"ep_mainline_001",
|
||||
"True End",
|
||||
"The True End",
|
||||
"Narrow Door",
|
||||
"Fate converges atop the Monolith as the story reaches its final crossroads. Will you risk everything, or let it all go? Where will the next door lead...?",
|
||||
0
|
||||
@@ -16863,7 +16863,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"Heh. Speak like a true Tyrant.",
|
||||
"Heh. Spoken like a true Tyrant.",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4,7 +4,7 @@ return {
|
||||
param = {
|
||||
"ep_mainline_001",
|
||||
"The End",
|
||||
"The One Beside You",
|
||||
"She at Your Side",
|
||||
"You take Angie with you and become the bait yourself, driving Loxy out of the encirclement with the help of the Desert Scorpion. But then this inexplicable \"ocean\" completely cuts off your last path to survival…",
|
||||
1
|
||||
}
|
||||
|
||||
@@ -5579,7 +5579,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"My name is Elis. E—lis.==W== I'm not Iris, nor am I anyone else.",
|
||||
"My name is Elis. E-lis.==W== I'm not Iris, nor am I anyone else.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -6157,7 +6157,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"Loud and clear. You're Elis. E—lis. Not Iris.",
|
||||
"Loud and clear. You're Elis. E-lis. Not Iris.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -9456,7 +9456,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"==SEX12== Acolyte! And ...==W== you, the slave.Thank the gods you're both here.",
|
||||
"==SEX12== Acolyte! And ...==W== you, the slave. Thank the gods you're both here.",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -6162,7 +6162,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"",
|
||||
"The Space Walker",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -8960,7 +8960,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"",
|
||||
"The Space Walker",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -10530,6 +10530,10 @@ return {
|
||||
true
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {1.0}
|
||||
},
|
||||
{
|
||||
cmd = "SetChar",
|
||||
param = {
|
||||
@@ -10605,6 +10609,10 @@ return {
|
||||
false
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.5}
|
||||
},
|
||||
{
|
||||
cmd = "SetMainRoleTalk",
|
||||
param = {
|
||||
@@ -10633,10 +10641,6 @@ return {
|
||||
""
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "SetChar",
|
||||
param = {
|
||||
@@ -10659,6 +10663,10 @@ return {
|
||||
nil
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "CtrlChar",
|
||||
param = {
|
||||
@@ -10698,6 +10706,10 @@ return {
|
||||
""
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "SetAudio",
|
||||
param = {
|
||||
|
||||
@@ -10212,7 +10212,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"Ahaha, we're actually super plain-looking! Totally average! Uh, anyway—Noya, Abmer, Boss? Let's go scout ahead!",
|
||||
"Ahaha, we're actually super plain-looking! Totally average! Uh, anyway—Noya, Amber, Boss? Let's go scout ahead!",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -8891,7 +8891,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
0,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
1.0,
|
||||
@@ -11803,7 +11803,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
0,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
1.0,
|
||||
@@ -12792,7 +12792,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
3,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
0.0,
|
||||
@@ -13713,7 +13713,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
5,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
0.0,
|
||||
|
||||
@@ -11894,7 +11894,7 @@ return {
|
||||
false,
|
||||
"",
|
||||
"向こうはエリナとルルのふたりだけ。==RT==なら私たちが別々の方向に逃げれば、==W====RT==優先して『堕落した聖女』を追うだろうな。",
|
||||
"向こうはエリナとルルのふたりだけ。==RT==なら僕たちが別々の方向に逃げれば、==W====RT==優先して『堕落した聖女』追うだろうな。"
|
||||
"向こうはエリナとルルのふたりだけ。==RT==なら僕たちが別々の方向に逃げれば、==W====RT==優先して『堕落した聖女』を追うだろうな。"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -10530,6 +10530,10 @@ return {
|
||||
true
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {1.0}
|
||||
},
|
||||
{
|
||||
cmd = "SetChar",
|
||||
param = {
|
||||
@@ -10605,6 +10609,10 @@ return {
|
||||
false
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.5}
|
||||
},
|
||||
{
|
||||
cmd = "SetMainRoleTalk",
|
||||
param = {
|
||||
@@ -10633,10 +10641,6 @@ return {
|
||||
""
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "SetChar",
|
||||
param = {
|
||||
@@ -10659,6 +10663,10 @@ return {
|
||||
nil
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "CtrlChar",
|
||||
param = {
|
||||
@@ -10698,6 +10706,10 @@ return {
|
||||
""
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "SetAudio",
|
||||
param = {
|
||||
|
||||
@@ -167,7 +167,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"필라니스에 이렇게 넓은 지하 동굴이 있었다니……",
|
||||
"정말 복잡한 동굴이네. 네가 길을 안내해 주지 않았다면 진작 길을 잃었을 거야.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -236,7 +236,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"필라니스의 암석은 물에 잘 침식되는 성질이라, 오랜 세월이 지나면서 이런 지하 동굴이 많이 생겨났습니다.",
|
||||
"필라니스 지하의 동굴은 미로처럼 얽혀 있어 매우 위험합니다. 하지만 덕분에 저희도 움직이기 편해졌죠. 칼리굴라는 저희가 이쪽으로 잠입할 수 있으리라고는 절대 생각하지 못할 겁니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -268,7 +268,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"어쩌면 대자연도, 저희가 이 악인을 응징하는 걸 응원하는 걸지도 모르죠.",
|
||||
"어쩌면 대자연도, 우리가 이 악인을 응징하는 걸 응원하는 걸지도 모르겠네.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -6247,7 +6247,7 @@ return {
|
||||
0,
|
||||
"music_avg_volume100_0s",
|
||||
0,
|
||||
"m128",
|
||||
"m164",
|
||||
"none",
|
||||
0.0,
|
||||
false
|
||||
@@ -6398,7 +6398,7 @@ return {
|
||||
param = {
|
||||
11,
|
||||
"avg1_162",
|
||||
"그거라면 ==W==이미 통증은 없으니 ==W==신경 쓰지 마시길.",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
@@ -6475,7 +6475,7 @@ return {
|
||||
param = {
|
||||
11,
|
||||
"avg1_162",
|
||||
"네. ==W==그렇다고는 해도, ==W==저는 원래 상처가 빨리 낫는 편이라, ==W==웬만한 상처는 그냥 둬도 흉터조차 안 남겠지만……==W==",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
@@ -6489,7 +6489,7 @@ return {
|
||||
param = {
|
||||
11,
|
||||
"avg1_162",
|
||||
"상당히 깊은 상처였다 보니, ==W==지금도 남아 있는 거겠죠. ==W==그래도 조금씩 옅어지고 있으니, ==W==걱정하실 필요는 없습니다.==W==",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
@@ -6580,7 +6580,7 @@ return {
|
||||
param = {
|
||||
11,
|
||||
"avg1_162",
|
||||
"정말이지…… ==W==당신은 항상 ‘세이나, 세이나’라는 소리만 하고. 같이 어려움을 이겨낸 건 ==W==세이나가 아니라 저인데……",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
@@ -6737,7 +6737,7 @@ return {
|
||||
param = {
|
||||
11,
|
||||
"avg1_162",
|
||||
"저에게서 그 사람의 흔적을 찾아낸다는 건, ==W==당신 안에 아직 그 사람과의 기억이 남아 있다는 증거입니다.==W==",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
@@ -6751,7 +6751,7 @@ return {
|
||||
param = {
|
||||
11,
|
||||
"avg1_162",
|
||||
"예전에 서로 등을 맡겼던 동료들의 얼굴조차 떠올리지 못하는, ==W==저와는 다르게 말이죠……==W==",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
@@ -6856,7 +6856,7 @@ return {
|
||||
param = {
|
||||
11,
|
||||
"avg1_162",
|
||||
"솔직히 말하면, ==W==당신이 부럽습니다. 만나고 싶다 생각할 수 있는 ==W==사람이 있는 당신이……",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
@@ -6961,7 +6961,7 @@ return {
|
||||
param = {
|
||||
11,
|
||||
"avg1_162",
|
||||
"당신과 있으면, ==W==어디까지든 ‘타락’하고 싶어집니다. 정말로…… ==W==곤란한 사람이네요.",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
@@ -6984,18 +6984,6 @@ return {
|
||||
"default"
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "SetBGM",
|
||||
param = {
|
||||
1,
|
||||
"music_avg_volume100_0s",
|
||||
0,
|
||||
"",
|
||||
"1500ms",
|
||||
0.0,
|
||||
false
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "SetL2D",
|
||||
param = {
|
||||
|
||||
@@ -370,7 +370,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"맞습니다. 그렇게 힘껏 내려치세요. 손목은 조금 더 유연하게, 방향을 바꿀 여유를 남겨두고요.",
|
||||
"네, 그렇게 힘껏 내려치십시오. 손목은 조금 더 유연하게, 방향을 바꿀 여유를 남겨두고요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -485,7 +485,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"좋습니다. 무게중심을 조금 더 세우세요. 지금은 체중이 너무 앞으로 실려 있어요. 언제든 동작을 바꿀 수 있게 여유를 충분히 남겨 둬야 해요.",
|
||||
"좋습니다. 무게중심을 조금 더 세우세요. 지금은 체중이 너무 앞으로 실려 있습니다. 언제든 동작을 바꿀 수 있게 여유를 충분히 남겨 둬야 합니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -625,7 +625,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"맞습니다. 자세가 많이 좋아졌어요.",
|
||||
"맞습니다. 자세가 많이 좋아졌군요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -668,7 +668,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"자, 실전처럼 해 보죠! 방금 연습한 모든 기술로 저를 공격하세요. 전력을 다해서요.",
|
||||
"자, 실전처럼 해 보죠! 방금 연습한 모든 기술로 저를 공격하십시오. 전력을 다해서요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -1407,7 +1407,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"호오…… 제법이네요.",
|
||||
"호오…… 제법이군요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -1920,7 +1920,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"무…… ==W==무슨 일이지? 나? 내가 바닥에 누워 있어?",
|
||||
"무…… ==W==무슨 일이지? 나, 바닥에 누워 있는 거야?",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -2111,7 +2111,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"죄, 죄송합니다. 순간 흥분해서 큰 실례를 범했네요. 다치진 않으셨습니까…… ==W==일으켜 드릴게요.",
|
||||
"죄, 죄송합니다. 순간 흥분해서 큰 실례를 범했군요. 다치진 않으셨습니까…… ==W==일으켜 드리죠.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -2464,7 +2464,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"검술이라…… ==W==확실히 많이 능숙해지셨어요. 베는 척 속여 놓고 찌르기로 바꿀 생각까지 해내시다니요.",
|
||||
"검술이라…… ==W==확실히 많이 능숙해지셨습니다. 베는 척 속여 놓고 찌르기로 바꿀 생각까지 해내시다니요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -2537,7 +2537,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"하지만 기초 체력이 너무 부족해요. 머리로 생각한 걸 몸이 전혀 따라가질 못하잖아요. 방금 동작을 바꿀 때도 엄청나게 큰 빈틈을 보였고요.",
|
||||
"하지만 기초 체력이 너무 부족합니다. 머리로 생각한 걸 몸이 전혀 따라가질 못하잖습니까. 방금 동작을 바꿀 때도 엄청나게 큰 빈틈을 보였고요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -2593,7 +2593,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"그러니까…… ==W==보자마자 바짝 파고들어서 다리를 걸어 넘어뜨리고, 머리로 들이받고 싶어지는 그런 빈틈이요.",
|
||||
"그러니까…… ==W==자마자 바짝 파고들어서 다리를 걸어 넘어뜨리고, 머리로 들이받고 싶어지는 그런 빈틈 말입니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -2745,7 +2745,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"너무 매력적인 빈틈이라, 저도 모르게 몸이 먼저 나갔어요. 마지막에 머리로 들이받기 직전에 겨우 멈춰서 다행이었죠.",
|
||||
"너무 매력적인 빈틈이라, 저도 모르게 몸이 먼저 나갔습니다. 마지막에 머리로 들이받기 직전에 겨우 멈춰서 다행이었죠.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -2968,7 +2968,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"크흠, 흠. 그건 제 잘못이 맞아요. 하지만…… 연습 때 전력을 다해야, 실전에서도 마음먹은 대로 몸이 움직이는 법이에요.",
|
||||
"크흠, 흠. 그건 제 잘못이 맞습니다. 하지만…… 연습 때 전력을 다해야, 실전에서도 마음먹은 대로 몸이 움직이는 법이죠.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3011,7 +3011,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"당신도 느끼셨죠? 몸이 생각을 따라가지 못한다는 걸요. 아무리 뛰어난 전술이라도 써먹지 못하면…… ==W==없는 것이나 마찬가지예요.",
|
||||
"당신도 느끼셨겠죠? 몸이 생각을 따라가지 못한다는 걸요. 아무리 뛰어난 전술이라도 써먹지 못하면…… ==W==없는 것이나 마찬가지입니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3084,7 +3084,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"기초 체력을 기르는 건 하루아침에 되는 일이 아니에요. 매일 꾸준히 단련해도 눈에 띄는 효과를 보려면 몇 달에서 1년은 걸리죠.",
|
||||
"기초 체력을 기르는 건 하루아침에 되는 일이 아닙니다. 매일 꾸준히 단련해도 눈에 띄는 효과를 보려면 몇 달에서 1년은 걸리죠.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3127,7 +3127,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"내일부터 저랑 같이 밤에 달리기해요. 체력도 기르고 검술도 연습하면서 천천히 꾸준히 해 나가다 보면, 다 잘될 거예요.",
|
||||
"내일부터 저랑 밤에 같이 달리시죠. 체력도 기르고 검술도 연습하면서 천천히 꾸준히 해 나가다 보면, 다 잘될 겁니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3248,7 +3248,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"네? 그, 그런가요? 제가 그렇게 말이 많나요?",
|
||||
"네? 그, 그렇습니까? 제가 그렇게 말이 많나요?",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3337,7 +3337,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"꼬, 꼭 그렇지도 않은데요…… ==W==같이 순찰도 돌았잖아요. 아, 맞다. 지금 바로 야간 순찰 가요. 기분 전환도 할 겸!",
|
||||
"꼬, 꼭 그렇지도 않습니다만…… ==W==같이 순찰도 돌았잖습니까. 아, 참. 지금 바로 야간 순찰 가시죠. 기분 전환도 할 겸!",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3456,7 +3456,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"그렇긴 하네요. 반박을 못 하겠어요.",
|
||||
"그렇긴 하군요. 반박은 못 하겠습니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3511,7 +3511,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"인정하긴 싫지만, 제 생활이 확실히…… ==W==좀 단조롭긴 하죠. 저랑 같이 있으면 지루하시죠?",
|
||||
"인정하긴 싫지만, 제 생활이 확실히…… ==W==좀 단조롭긴 하죠. 저랑 같이 있으면 지루하시겠죠?",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3585,7 +3585,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"솔직히 말하면 좀 그렇긴 해. ==W==그래도 너랑 같이 있으니까, 그런 건 아무래도 괜찮아.",
|
||||
"솔직히 말하면 좀 그렇긴 한데, ==W==그래도 너랑 같이하니까 괜찮아.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3661,7 +3661,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"같이 있어서 괜찮다고요? ==W==제가 딱히 재미있는 사람은 아니잖아요? 재치와 박식함으로는 이리스를 못 따라가고, 필라니스에 대해 아는 것도 루루만 못합니다.",
|
||||
"같이해서 괜찮다고요? ==W==제가 딱히 재미있는 사람은 아닐 텐데요? 재치와 박식함으로는 이리스를 못 따라가고, 필라니스에 대해 아는 것도 루루만 못한걸요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3853,7 +3853,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"제 검술이 나쁘지 않고 당신을 지켜 드리기도 하겠지만, 제가 모든 상황을 해결할 수 있는 건 아니에요.",
|
||||
"제 검술이 나쁘지 않아서 당신을 지켜 드릴 수는 있겠지만, 제가 모든 상황을 해결할 수 있는 건 아닙니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3982,7 +3982,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"엄밀히 말해, 저는 어떤 상황에서도 당신을 지켜 낼 수 있는 건 아니에요. 그러니까……==W== 너무 쉽게 마음 놓지 마세요.",
|
||||
"엄밀히 말해, 저는 어떤 상황이든 당신을 지켜 낼 수 있는 건 아닙니다. 그러니까……==W== 너무 쉽게 마음을 놓지 마십시오.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4044,7 +4044,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"내가 마음을 놓는다는 건 그런 뜻이 아니야. 내 말은…… ==W==지금 우리가 캄캄한 밤길을 걷고 있어도, 네가 애쓴 걸 아는 필라니스 주민들이 극히 일부뿐이어도……",
|
||||
"그런 의미로 마음이 놓인다는 게 아니야. 내 말은…… ==W==지금 우리가 캄캄한 밤길을 걷고 있어도, 네가 노력하는 걸 아는 필라니스 주민들이 극히 일부뿐이어도……",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4278,7 +4278,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"고향…… ==W==그곳에 관한 얘기를 좀 더 해 주시겠어요?",
|
||||
"고향…… ==W==그곳에 관한 얘기를 좀 더 해 주시겠습니까?",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4301,7 +4301,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"지난번에 그러셨잖아요, 당신 고향에는 노예가 없다고…… ==W==대체 어떤 도시인가요?",
|
||||
"지난번에 말씀하셨죠, 당신 고향에는 노예가 없다고…… ==W==대체 어떤 도시인가요?",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4370,7 +4370,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"동료들이랑 그 차를 몰고 세계 곳곳을 여행했거든. 근데 확실한 건 우리가 가 본 도시에는 전부 노예가 없었어.",
|
||||
"동료들이랑 그 차를 몰고 세계 곳곳을 여행했거든. 그래도 확실한 건, 우리가 가 본 도시에는 전부 노예가 없었어.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4402,7 +4402,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"듣기만 해도…… ==W==정말 자유롭네요. 저는 어릴 때부터 지금까지, 지내본 곳이라곤 아모르의 검투장이랑 필라니스, 딱 두 곳뿐이거든요.",
|
||||
"듣기만 해도…… ==W==정말 자유로워 보입니다. 저는 어릴 때부터 지금까지, 지내본 곳이라곤 아모르의 검투장이랑 필라니스, 딱 두 곳뿐이거든요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4434,7 +4434,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"저는 검투장 밖의 아모르가 어떤 모습인지조차…… ==W==몰라요.",
|
||||
"저는 검투장 밖의 아모르가 어떤 모습인지조차…… ==W==알지 못합니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4636,7 +4636,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"그럼 약속하신 거예요?",
|
||||
"그럼 약속하신 겁니다?",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4668,7 +4668,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"약속해.",
|
||||
"약속할게.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4813,7 +4813,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"아, 벌써 시간이 이렇게 됐네요. 이제 순찰을 돌면서 시각을 알리는 나팔을 불어야겠어요.",
|
||||
"아, 벌써 시간이 이렇게 됐군요. 이제 순찰을 돌면서 시각을 알리는 나팔을 불어야겠습니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -4927,7 +4927,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"어제도 섬은 기사단 장부 정리를 도와주느라 늦게 주무셨잖아요…… ==W==괜찮으시겠어요?",
|
||||
"어제도 섬은 기사단 장부 정리를 도와주느라 늦게 주무셨잖습니까…… ==W==괜찮으시겠어요?",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -5039,7 +5039,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"날 뭐로 보고, 밤새는 건 엄청 자신 있거든!",
|
||||
"날 뭘로 보고. 밤새는 건 엄청 자신 있거든!",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -5356,7 +5356,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"결국 잠들어 버렸네. 내 칼자루를 꼭 붙든 채로 잠들어 버리다니.",
|
||||
"결국 잠들어 버렸군요. 제 칼자루를 꼭 붙든 채로 잠들다니.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -5399,7 +5399,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"당신, 요 며칠 너무 고생 많았어요.",
|
||||
"최근 며칠 정말 고생하셨습니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -5533,7 +5533,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"엘리나는 자꾸만 자신에게 기대 오는 나를 두 팔로 안아 들고, 인술라의 문을 열었다. 그리고 침대에 살포시 눕혀줬다.",
|
||||
"엘리나는 자꾸만 자신에게 기대 오는 이를 두 팔로 안아 들고, 인술라의 문을 열었다. 그리고 침대에 살포시 눕혔다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -5673,7 +5673,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"<size=85%>제가 곁에 있으면.…… </size>==W==<size=85%>마음이 놓이시나요?</size>",
|
||||
"<size=85%>제가 곁에 있으면.…… </size>==W==<size=85%>마음이 놓이신다고요?</size>",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -5746,7 +5746,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"<size=85%>사실…… </size>==W==<size=85%>당신이 제 곁에 있으면, 저도 마음이 놓여요.</size>",
|
||||
"<size=85%>사실…… </size>==W==<size=85%>당신이 제 곁에 있으면, 저도 마음이 놓입니다.</size>",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -5819,7 +5819,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"<size=85%>특히…… </size>==W==<size=85%>이렇게 잠든 당신의 얼굴을 보고 있을 때면 더 그래요.</size>",
|
||||
"<size=85%>특히…… </size>==W==<size=85%>이렇게 잠든 당신의 얼굴을 보고 있을 때면 더 그렇죠.</size>",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -6622,7 +6622,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"지금 필라니스에서는 더 이상 그녀가 야간 순찰을 할 필요가 없었다.",
|
||||
"지금의 필라니스에서는 더 이상 그녀가 야간 순찰을 할 필요가 없었다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -6965,7 +6965,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"당신이 말했던 그 세이나가 되고 싶은…… 세이나. ==W==당신조차 알지 못하는 세이나.",
|
||||
"당신이 말했던 그 세이나가 되고 싶은…… 세이나. ==W==당신조차도 알지 못하는 세이나.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7038,7 +7038,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"후우…… 정말 바보 같네.",
|
||||
"후우…… 정말 바보 같군요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7138,7 +7138,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"내가 여기서 뭘 찾고 있는 거람. 그 사람은 분명 저 별의 탑에 있는데.",
|
||||
"전 여기서 뭘 찾고 있는 걸까요. 그 사람은 분명 저 별의 탑에 있는데 말이죠.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7382,7 +7382,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"기초 체력을 기르는 건 하루아침에 되는 일이 아니야. 매일 꾸준히 단련해도 눈에 띄는 효과를 보려면 몇 달에서 1년은 걸려.",
|
||||
"기초 체력을 기르는 건 하루아침에 되는 일이 아닙니다. 매일 꾸준히 단련해도 눈에 띄는 효과를 보려면 몇 달에서 1년은 걸리죠.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7450,7 +7450,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"내일부터 나랑 같이 밤에 달리기하자. 체력도 기르고 검술도 연습하면서 천천히 꾸준히 해 나가다 보면, 다 잘될 거야.",
|
||||
"내일부터 저랑 밤에 같이 달리시죠. 체력도 기르고 검술도 연습하면서 천천히 꾸준히 해 나가다 보면, 다 잘될 겁니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7633,7 +7633,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"우리에게 가져다준 이 미래는, 내가 언제까지나 지켜 나갈게.",
|
||||
"우리에게 가져다준 이 미래는, 제가 언제까지나 지켜 나가겠습니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7667,7 +7667,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"필라니스에 남긴 흔적들도 영원히 남아 있도록 지켜낼 거야…… ==W==우리의 약속을 이뤄낼 그날까지.",
|
||||
"필라니스에 남긴 흔적들도 영원히 남아 있도록 지켜낼 겁니다…… ==W==우리의 약속을 이뤄낼 그날까지.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7690,7 +7690,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"맞아, 포기하지 않고 버티다 보면 언젠가는 다 괜찮아질 거야. 모든 소원도 이루어질 거고.",
|
||||
"네, 포기하지 않고 버티다 보면 언젠가는 다 괜찮아질 겁니다. 모든 소원도 이루어질 거고요.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7724,7 +7724,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"난 후회하지 않아. 당신도 그러하리라 믿어.",
|
||||
"전 후회하지 않습니다. 당신도 그러하리라 믿습니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7758,7 +7758,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"지켜봐 줘. 난 반드시 지금보다 더 강해질 거야.",
|
||||
"지켜봐 주길. 저는 반드시 지금보다 더 강해질 겁니다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7776,7 +7776,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"다음엔 꼭 마지막 순간까지 당신을 지켜낼 거야. 그러니까, 소원 하나만 빌게 허락해 줘.",
|
||||
"다음엔 꼭 마지막 순간까지 당신을 지켜 낼 겁니다. 그러니까, 소원 하나만 빌게 허락해 주십시오.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7875,7 +7875,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"기사는 밤하늘을 향해 맹세의 검을 바쳤다. ==RT==이곳에서 그녀의 마음속 소원에 귀 기울여 줄 이는, 하늘의 무수한 별들과 말 없는 높은 탑뿐이었다.",
|
||||
"기사는 밤하늘을 향해 맹세의 검을 바쳤다. 이곳에서 그녀의 마음속 소원에 귀 기울여 줄 이는, 하늘의 무수한 별들과 말 없는 높은 탑뿐이었다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7893,7 +7893,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"그녀의 소원이 과연 이루어졌는지는 또 다른 이야기다. 또 다른 세월이 들려주어야 할 이야기.",
|
||||
"그녀의 소원이 과연 이루어졌는지는 또 다른 이야기다. 또 다른 세월이 들려주어야 할 이야기……",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -5,7 +5,7 @@ return {
|
||||
"ep_mainline_001",
|
||||
"04",
|
||||
"편지 도둑을 만나다",
|
||||
"테레사의 정보를 토대로 편지의 행방을 추적하던 중, 거리에서 낡은 편지를 수집하고 있던 보물 사냥꾼과 마주친다. 프리지아는 갑자기 무기를 꺼내 드는데……",
|
||||
"테레사의 정보를 토대로 편지의 행방을 추적하던 중, 거리에서 낡은 편지를 수집하고 있던 보물찾기 여행가와 마주친다. 프리지아는 갑자기 무기를 꺼내 드는데……",
|
||||
0
|
||||
}
|
||||
},
|
||||
@@ -2171,7 +2171,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -2214,7 +2214,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -5863,7 +5863,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -6217,7 +6217,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -6347,7 +6347,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -6621,7 +6621,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -6929,7 +6929,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -7143,7 +7143,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -7204,13 +7204,13 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"거기 계신 분, 우리 본 적 있잖아요!==W== 우리는 그…… ==W== 봉사로 편지를 배달 중! 그래요, 봉사로 편지 배달을 돕고 있다고요!",
|
||||
"거기 계신 분, 우리 본 적 있잖아요!==W== 우리는 그…… 봉사로 편지를 배달 중! 그래요, 봉사로 편지 배달을 돕고 있다고요!",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7302,7 +7302,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -7427,7 +7427,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -7715,7 +7715,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"당황한 보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -7778,7 +7778,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -8063,7 +8063,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -8141,7 +8141,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -8184,7 +8184,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -8279,13 +8279,13 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"편지를 훔쳤다고요? 흥, 웃기는 소리. 보물사냥 업계에선 ‘먼저 찾는 놈이 임자’랍니다!",
|
||||
"편지를 훔쳤다고요? 흥, 웃기는 소리. 보물찾기 업계에선 ‘먼저 찾는 놈이 임자’랍니다!",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -8347,7 +8347,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -8405,7 +8405,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"아니요, 편지는 반드시 제 주인에게 돌아가야 하는 법입니다. 어떤 이유로든 제3자가 빼앗는 일은 있을 수 없다고요!",
|
||||
"아니요, 편지는 반드시 제 주인에게 돌아가야 하는 법입니다. 어떤 이유로든 제 3자가 빼앗는 일은 있을 수 없다고요!",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -8519,7 +8519,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -8562,7 +8562,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼",
|
||||
"보물찾기 여행가",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
|
||||
@@ -523,7 +523,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼 두목",
|
||||
"보물찾기 여행가 두목",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -1007,7 +1007,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼 두목",
|
||||
"보물찾기 여행가 두목",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -1231,7 +1231,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼 두목",
|
||||
"보물찾기 여행가 두목",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -1639,7 +1639,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼 두목",
|
||||
"보물찾기 여행가 두목",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -1750,7 +1750,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼 두목",
|
||||
"보물찾기 여행가 두목",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -2158,7 +2158,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼 두목",
|
||||
"보물찾기 여행가 두목",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -2379,7 +2379,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼 두목",
|
||||
"보물찾기 여행가 두목",
|
||||
"",
|
||||
1,
|
||||
"",
|
||||
@@ -2447,7 +2447,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼 두목",
|
||||
"보물찾기 여행가 두목",
|
||||
"",
|
||||
0,
|
||||
"",
|
||||
@@ -2866,7 +2866,7 @@ return {
|
||||
cmd = "SetTalk",
|
||||
param = {
|
||||
0,
|
||||
"보물 사냥꾼 두목",
|
||||
"보물찾기 여행가 두목",
|
||||
"",
|
||||
1,
|
||||
"",
|
||||
@@ -2980,7 +2980,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"하지만, 보물 사냥꾼 두목의 가방을 뒤져보아도 하워드 씨의 편지는 찾지 못했다.",
|
||||
"하지만, 보물찾기 여행가 두목의 가방을 뒤져보아도 하워드 씨의 편지는 찾지 못했다.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -3895,7 +3895,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"내가 남아서 도와줄게, 토나.",
|
||||
"내가 남아서 도와줄 게, 토나.",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -7607,7 +7607,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"‘편지를 빼앗는 마물’ 토벌…… 이번 사건을 해결하는 핵심은 이거라고 생각해.",
|
||||
"‘편지를 빼앗는 마물’ 토벌…… 내 생각엔 이번 사건을 해결하는 핵심은 이거라고 생각해.",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -8967,7 +8967,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
0,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
1.0,
|
||||
@@ -11879,7 +11879,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
0,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
1.0,
|
||||
@@ -12868,7 +12868,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
3,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
0.0,
|
||||
@@ -13789,7 +13789,7 @@ return {
|
||||
cmd = "SetBg",
|
||||
param = {
|
||||
5,
|
||||
"tower_common",
|
||||
"tower_laundryroom",
|
||||
"0",
|
||||
"Linear",
|
||||
0.0,
|
||||
|
||||
@@ -948,7 +948,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"그래서…… 앞으로의 일 얘기인데, ==PLAYER_NAME==의 생각을 들려주지 않을래?",
|
||||
"그래서…… 앞으로의 일 얘기인데, 네 생각을 들려주지 않을래?",
|
||||
""
|
||||
}
|
||||
},
|
||||
@@ -1037,7 +1037,7 @@ return {
|
||||
"",
|
||||
false,
|
||||
"",
|
||||
"피킨을 궁지에 몰아붙인 그 멋진 추리는, ==PLAYER_NAME==만이 할 수 있는 거야!",
|
||||
"피킨을 궁지에 몰아붙인 그 멋진 추리는, 너만이 할 수 있는 거야!",
|
||||
""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -10530,6 +10530,10 @@ return {
|
||||
true
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {1.0}
|
||||
},
|
||||
{
|
||||
cmd = "SetChar",
|
||||
param = {
|
||||
@@ -10605,6 +10609,10 @@ return {
|
||||
false
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.5}
|
||||
},
|
||||
{
|
||||
cmd = "SetMainRoleTalk",
|
||||
param = {
|
||||
@@ -10633,10 +10641,6 @@ return {
|
||||
""
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "SetChar",
|
||||
param = {
|
||||
@@ -10659,6 +10663,10 @@ return {
|
||||
nil
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "CtrlChar",
|
||||
param = {
|
||||
@@ -10698,6 +10706,10 @@ return {
|
||||
""
|
||||
}
|
||||
},
|
||||
{
|
||||
cmd = "Wait",
|
||||
param = {0.3}
|
||||
},
|
||||
{
|
||||
cmd = "SetAudio",
|
||||
param = {
|
||||
|
||||
@@ -304,7 +304,7 @@ return {
|
||||
{
|
||||
id = 162,
|
||||
icon = "Icon/Head/head_16201_S",
|
||||
name = "엘리나",
|
||||
name = "세이나(기원)",
|
||||
landmark = "필라니스",
|
||||
signature = "여기에 서명하라는데, 펜이 없는데 어떻게 서명하지?",
|
||||
ver = "2.0.0"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
local DiscSkillPanel = class("DiscSkillPanel", BasePanel)
|
||||
DiscSkillPanel._bIsMainPanel = false
|
||||
DiscSkillPanel._sSortingLayerName = AllEnum.SortingLayerName.UI_Top
|
||||
DiscSkillPanel._tbDefine = {
|
||||
{
|
||||
sPrefabPath = "DiscSkill/DiscSkillPanel.prefab",
|
||||
|
||||
@@ -293,18 +293,24 @@ function DormGuideAdapter.ContactRole()
|
||||
return tonumber(mapInfo.nDataId)
|
||||
end
|
||||
function DormGuideAdapter.BeginDormEnter()
|
||||
if DormGuideAdapter._mapEnter == nil then
|
||||
DormGuideAdapter._nEnterGen = (DormGuideAdapter._nEnterGen or 0) + 1
|
||||
DormGuideAdapter._mapEnter = {
|
||||
nGen = DormGuideAdapter._nEnterGen,
|
||||
bLoad = false,
|
||||
bTimeline = nil
|
||||
}
|
||||
end
|
||||
return DormGuideAdapter._mapEnter.nGen
|
||||
end
|
||||
function DormGuideAdapter.MarkDormLoad()
|
||||
DormGuideAdapter._nDormLoadFrame = CS.UnityEngine.Time.frameCount
|
||||
DormGuideAdapter._nEnterGen = (DormGuideAdapter._nEnterGen or 0) + 1
|
||||
DormGuideAdapter._mapEnter = {
|
||||
nGen = DormGuideAdapter._nEnterGen,
|
||||
bLoad = false,
|
||||
bLoad = true,
|
||||
bTimeline = nil
|
||||
}
|
||||
return DormGuideAdapter._nEnterGen
|
||||
end
|
||||
function DormGuideAdapter.MarkDormLoad()
|
||||
if DormGuideAdapter._mapEnter ~= nil then
|
||||
DormGuideAdapter._mapEnter.bLoad = true
|
||||
end
|
||||
DormGuideAdapter.MarkRoomLoaded()
|
||||
end
|
||||
function DormGuideAdapter.MarkTimeline(bSuccess)
|
||||
@@ -396,7 +402,10 @@ function DormGuideAdapter.SaveSettled(nId)
|
||||
end
|
||||
function DormGuideAdapter.QuestCardSettled()
|
||||
local objCtrl = DormGuideAdapter._Ctrl()
|
||||
if objCtrl == nil then
|
||||
if objCtrl == nil or objCtrl.gameObject == nil or not objCtrl.gameObject.activeInHierarchy then
|
||||
return false
|
||||
end
|
||||
if DormGuideAdapter._nDormLoadFrame ~= nil and CS.UnityEngine.Time.frameCount <= DormGuideAdapter._nDormLoadFrame then
|
||||
return false
|
||||
end
|
||||
return DormGuideAdapter.AnimatorSettled(objCtrl.animator, "DormPanel_in")
|
||||
@@ -541,20 +550,61 @@ function DormGuideAdapter.CaressPhase(nId)
|
||||
end
|
||||
function DormGuideAdapter.MarkFocus(nRoleId)
|
||||
if DormGuideAdapter.ContactRole() ~= nRoleId then
|
||||
DormGuideAdapter._nFocusRole = nil
|
||||
DormGuideAdapter._nFocusAt = nil
|
||||
DormGuideAdapter.ResetFocus()
|
||||
return false
|
||||
end
|
||||
local nNow = TimerManager.GetUnscaledTime()
|
||||
if DormGuideAdapter._nFocusRole ~= nRoleId then
|
||||
DormGuideAdapter._nFocusRole = nRoleId
|
||||
DormGuideAdapter._nFocusAt = TimerManager.GetUnscaledTime()
|
||||
DormGuideAdapter._nFocusAt = nNow
|
||||
DormGuideAdapter._nFocusX = nil
|
||||
DormGuideAdapter._nFocusY = nil
|
||||
DormGuideAdapter._nFocusFrame = nil
|
||||
DormGuideAdapter._nFocusStable = 0
|
||||
return false
|
||||
end
|
||||
return TimerManager.GetUnscaledTime() - (DormGuideAdapter._nFocusAt or 0) >= 0.7
|
||||
local nElapsed = nNow - (DormGuideAdapter._nFocusAt or 0)
|
||||
if nElapsed < 0.5 then
|
||||
return false
|
||||
end
|
||||
local obj = DormGuideAdapter._Interactive()
|
||||
local trHud
|
||||
if obj ~= nil and obj._mapNode ~= nil and obj._mapNode.rtContact ~= nil and obj._mapNode.rtContact._mapNode ~= nil then
|
||||
trHud = DormGuideAdapter.NodeTr(obj._mapNode.rtContact._mapNode.goCharHudRoot)
|
||||
end
|
||||
if trHud == nil then
|
||||
return false
|
||||
end
|
||||
local pos = trHud.localPosition
|
||||
local nFrame = CS.UnityEngine.Time.frameCount
|
||||
if DormGuideAdapter._nFocusX == nil then
|
||||
DormGuideAdapter._nFocusX = pos.x
|
||||
DormGuideAdapter._nFocusY = pos.y
|
||||
DormGuideAdapter._nFocusFrame = nFrame
|
||||
DormGuideAdapter._nFocusStable = 0
|
||||
return false
|
||||
end
|
||||
if nFrame ~= DormGuideAdapter._nFocusFrame then
|
||||
local dx = pos.x - DormGuideAdapter._nFocusX
|
||||
local dy = pos.y - DormGuideAdapter._nFocusY
|
||||
DormGuideAdapter._nFocusX = pos.x
|
||||
DormGuideAdapter._nFocusY = pos.y
|
||||
DormGuideAdapter._nFocusFrame = nFrame
|
||||
if dx * dx + dy * dy <= 0.04 then
|
||||
DormGuideAdapter._nFocusStable = (DormGuideAdapter._nFocusStable or 0) + 1
|
||||
else
|
||||
DormGuideAdapter._nFocusStable = 0
|
||||
end
|
||||
end
|
||||
return 0.7 <= nElapsed and (DormGuideAdapter._nFocusStable or 0) >= 2
|
||||
end
|
||||
function DormGuideAdapter.ResetFocus()
|
||||
DormGuideAdapter._nFocusRole = nil
|
||||
DormGuideAdapter._nFocusAt = nil
|
||||
DormGuideAdapter._nFocusX = nil
|
||||
DormGuideAdapter._nFocusY = nil
|
||||
DormGuideAdapter._nFocusFrame = nil
|
||||
DormGuideAdapter._nFocusStable = 0
|
||||
end
|
||||
function DormGuideAdapter.BeginRoomEnter(nRoomId, bElevator)
|
||||
DormGuideAdapter._nRoomGen = (DormGuideAdapter._nRoomGen or 0) + 1
|
||||
@@ -599,6 +649,7 @@ function DormGuideAdapter.MarkWalkout()
|
||||
if DormGuideAdapter._mapRoomEnter ~= nil then
|
||||
DormGuideAdapter._mapRoomEnter.bWalkout = true
|
||||
end
|
||||
DormGuideUI.TryBroadcastEnter()
|
||||
DormGuideAdapter.FlushPassive()
|
||||
end
|
||||
function DormGuideAdapter.RoomArrived(nRoomId)
|
||||
@@ -646,15 +697,7 @@ function DormGuideAdapter._PendingValid(sMsg)
|
||||
if sMsg == "Guide_DormEnterRoom2" then
|
||||
return DormGuideAdapter.RoomEnterReady(DormGuideAdapter.ROOM2_ID)
|
||||
end
|
||||
local nMode = DormGuideAdapter.Mode()
|
||||
if nMode == nil or nMode == 2 or nMode == 3 then
|
||||
return false
|
||||
end
|
||||
local PanelManager = require("GameCore.UI.PanelManager")
|
||||
if PanelManager.CheckPanelOpen(PanelId.DormQuestPanel) then
|
||||
return false
|
||||
end
|
||||
return true
|
||||
return DormGuideUI.IsOnDormMainPanel()
|
||||
end
|
||||
function DormGuideAdapter.FlushPassive()
|
||||
if DormGuideAdapter._objFlush ~= nil then
|
||||
|
||||
@@ -19,10 +19,7 @@ DormGuideUI._bKeepContact = false
|
||||
DormGuideUI._nInputCap = 0
|
||||
DormGuideUI._bTriggerEventBound = false
|
||||
DormGuideUI._bInterceptEventBound = false
|
||||
DormGuideUI._bPendingRoom2Guide = false
|
||||
DormGuideUI._nRoom2Timer = nil
|
||||
DormGuideUI.ROOM2_ID = 701002
|
||||
DormGuideUI.ROOM2_ENTER_DELAY = 1.5
|
||||
DormGuideUI.GUIDE_GROUP_ID = {
|
||||
[521] = true,
|
||||
[522] = true,
|
||||
@@ -69,6 +66,7 @@ function DormGuideUI._EnsureTriggerEvents()
|
||||
EventManager.Add("OnEvent_DormLevelLoadComplete", DormGuideUI, DormGuideUI.OnEvent_DormLevelLoadComplete)
|
||||
EventManager.Add("DormRoomSelect_ChangeRoomResult", DormGuideUI, DormGuideUI.OnEvent_ChangeRoomResult)
|
||||
EventManager.Add("Guide_CloseDisposablePanel", DormGuideUI, DormGuideUI.OnEvent_CloseDisposablePanel)
|
||||
EventManager.Add("DormGuide_CharSelectClosed", DormGuideUI, DormGuideUI.OnEvent_CharSelectClosed)
|
||||
EventManager.Add("DormGuide_ModeApplied", DormGuideUI, DormGuideUI.OnEvent_ModeApplied)
|
||||
EventManager.Add("DORM_CS2LUA_BORN_TIMELINE_DONE", DormGuideUI, DormGuideUI.OnEvent_BornTimeline)
|
||||
end
|
||||
@@ -80,6 +78,7 @@ function DormGuideUI._RemoveTriggerEvents()
|
||||
EventManager.Remove("OnEvent_DormLevelLoadComplete", DormGuideUI, DormGuideUI.OnEvent_DormLevelLoadComplete)
|
||||
EventManager.Remove("DormRoomSelect_ChangeRoomResult", DormGuideUI, DormGuideUI.OnEvent_ChangeRoomResult)
|
||||
EventManager.Remove("Guide_CloseDisposablePanel", DormGuideUI, DormGuideUI.OnEvent_CloseDisposablePanel)
|
||||
EventManager.Remove("DormGuide_CharSelectClosed", DormGuideUI, DormGuideUI.OnEvent_CharSelectClosed)
|
||||
EventManager.Remove("DormGuide_ModeApplied", DormGuideUI, DormGuideUI.OnEvent_ModeApplied)
|
||||
EventManager.Remove("DORM_CS2LUA_BORN_TIMELINE_DONE", DormGuideUI, DormGuideUI.OnEvent_BornTimeline)
|
||||
end
|
||||
@@ -151,6 +150,10 @@ function DormGuideUI.Unbind(objCtrl)
|
||||
if objCtrl ~= nil and DormGuideUI._objDormCtrl ~= objCtrl then
|
||||
return
|
||||
end
|
||||
if DormGuideUI._objEnterTimer ~= nil then
|
||||
TimerManager.Remove(DormGuideUI._objEnterTimer)
|
||||
DormGuideUI._objEnterTimer = nil
|
||||
end
|
||||
DormGuideUI._RemoveTriggerEvents()
|
||||
DormGuideUI._objDormCtrl = nil
|
||||
end
|
||||
@@ -234,42 +237,71 @@ function DormGuideUI.Clear()
|
||||
DormGuideUI._ApplyLeaveBtns()
|
||||
DormGuideUI._RemoveInterceptEvents()
|
||||
end
|
||||
function DormGuideUI._CancelRoom2Timer()
|
||||
if DormGuideUI._nRoom2Timer ~= nil then
|
||||
TimerManager.Remove(DormGuideUI._nRoom2Timer)
|
||||
DormGuideUI._nRoom2Timer = nil
|
||||
local IsPopupDisposablePanel = function(nPanelId)
|
||||
if nPanelId == nil then
|
||||
return true
|
||||
end
|
||||
if nPanelId == PanelId.ReceivePropsTips or nPanelId == PanelId.ReceivePropsNPC or nPanelId == PanelId.ReceiveAutoTrans or nPanelId == PanelId.ReceiveSpecialReward or nPanelId == PanelId.CharFavourLevelUp or nPanelId == PanelId.DormInteractiveAffinityPanel or nPanelId == PanelId.DictionaryEntry then
|
||||
return true
|
||||
end
|
||||
if UTILS ~= nil and type(UTILS.CheckIsTipsPanel) == "function" and UTILS.CheckIsTipsPanel(nPanelId) then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
function DormGuideUI.TryBroadcastEnter()
|
||||
function DormGuideUI.IsOnDormMainPanel()
|
||||
if NovaAPI.GetCurrentModuleName() ~= "DormModuleScene" then
|
||||
return
|
||||
return false
|
||||
end
|
||||
local objCtrl = DormGuideUI._objDormCtrl
|
||||
if objCtrl == nil or objCtrl._panel == nil then
|
||||
return
|
||||
if objCtrl == nil or objCtrl._panel == nil or objCtrl._panel._bIsActive ~= true then
|
||||
return false
|
||||
end
|
||||
if objCtrl.gameObject == nil or not objCtrl.gameObject.activeInHierarchy then
|
||||
return false
|
||||
end
|
||||
local nMode = objCtrl._panel.nCurMode
|
||||
if nMode == 2 or nMode == 3 then
|
||||
return
|
||||
if nMode ~= 0 and nMode ~= 1 then
|
||||
return false
|
||||
end
|
||||
if PanelManager.CheckPanelOpen(PanelId.DormQuestPanel) then
|
||||
local objSelect = DormGuideUI._GetCharSelectCtrl()
|
||||
if objSelect ~= nil and objSelect.bOpen == true then
|
||||
return false
|
||||
end
|
||||
if PanelManager.GetCurPanelId() ~= PanelId.DormPanel or PanelManager.CheckNextPanelOpening() or PanelManager.HasDisposablePanel() then
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
function DormGuideUI.TryBroadcastEnter()
|
||||
if not DormGuideUI.IsOnDormMainPanel() then
|
||||
return
|
||||
end
|
||||
EventManager.Hit("Guide_PassiveCheck_Msg", "Guide_DormEnter")
|
||||
end
|
||||
function DormGuideUI._TryBroadcastRoom2()
|
||||
if not DormGuideUI._bPendingRoom2Guide then
|
||||
return
|
||||
function DormGuideUI._ScheduleReturnCheck()
|
||||
if DormGuideUI._objEnterTimer ~= nil then
|
||||
TimerManager.Remove(DormGuideUI._objEnterTimer)
|
||||
DormGuideUI._objEnterTimer = nil
|
||||
end
|
||||
local objCtrl = DormGuideUI._objDormCtrl
|
||||
if objCtrl == nil or objCtrl._panel == nil or objCtrl._panel.nCurRoom ~= DormGuideUI.ROOM2_ID then
|
||||
return
|
||||
end
|
||||
DormGuideUI._bPendingRoom2Guide = false
|
||||
DormGuideUI._CancelRoom2Timer()
|
||||
DormGuideUI._nRoom2Timer = TimerManager.Add(1, DormGuideUI.ROOM2_ENTER_DELAY, DormGuideUI, function()
|
||||
DormGuideUI._nRoom2Timer = nil
|
||||
EventManager.Hit("Guide_PassiveCheck_Msg", "Guide_DormEnterRoom2")
|
||||
local nScheduleFrame = CS.UnityEngine.Time.frameCount
|
||||
DormGuideUI._objEnterTimer = TimerManager.Add(1, 0, DormGuideUI, function(_, timer)
|
||||
if CS.UnityEngine.Time.frameCount <= nScheduleFrame then
|
||||
return
|
||||
end
|
||||
if timer ~= nil then
|
||||
timer:Cancel(false)
|
||||
end
|
||||
DormGuideUI._objEnterTimer = nil
|
||||
if PlayerData.Guide ~= nil and PlayerData.Guide.isProcessing then
|
||||
return
|
||||
end
|
||||
if PanelManager.CheckInTransition() or not DormGuideUI.IsOnDormMainPanel() then
|
||||
return
|
||||
end
|
||||
DormGuideUI.TryBroadcastEnter()
|
||||
local DormGuideAdapter = require("Game.UI.Dorm.DormGuideAdapter")
|
||||
DormGuideAdapter.FlushPassive()
|
||||
end, true, true, true, nil)
|
||||
end
|
||||
function DormGuideUI.OnEvent_DormLevelLoadComplete()
|
||||
@@ -291,20 +323,13 @@ function DormGuideUI.OnEvent_ChangeRoomResult(_, bConfirm, nRoomId)
|
||||
end
|
||||
end
|
||||
function DormGuideUI.OnEvent_CloseDisposablePanel(_, nPanelId)
|
||||
if nPanelId ~= PanelId.DormQuestPanel then
|
||||
if IsPopupDisposablePanel(nPanelId) then
|
||||
return
|
||||
end
|
||||
if DormGuideUI._objEnterTimer ~= nil then
|
||||
TimerManager.Remove(DormGuideUI._objEnterTimer)
|
||||
DormGuideUI._objEnterTimer = nil
|
||||
end
|
||||
DormGuideUI._objEnterTimer = TimerManager.Add(1, 0, DormGuideUI, function(_, timer)
|
||||
if timer ~= nil then
|
||||
timer:Cancel(false)
|
||||
end
|
||||
DormGuideUI._objEnterTimer = nil
|
||||
DormGuideUI.TryBroadcastEnter()
|
||||
end, true, true, true, nil)
|
||||
DormGuideUI._ScheduleReturnCheck()
|
||||
end
|
||||
function DormGuideUI.OnEvent_CharSelectClosed()
|
||||
DormGuideUI._ScheduleReturnCheck()
|
||||
end
|
||||
function DormGuideUI._GetInteractiveNode()
|
||||
local objCtrl = DormGuideUI._objDormCtrl
|
||||
|
||||
@@ -144,7 +144,7 @@ end
|
||||
function GuideCtrl:PlayTypeMask(msg)
|
||||
self._mapNode.btnShortcutClose.gameObject:SetActive(GamepadUIManager.GetInputState() and not msg.isUITop)
|
||||
if GamepadUIManager.GetInputState() then
|
||||
GamepadUIManager.EnableGamepadUI("GuideCtrl", self.tbGamepadUINode)
|
||||
GamepadUIManager.EnableGamepadUI("GuideCtrl", self.tbGamepadUINode, nil, nil, nil, AllEnum.UI_SORTING_ORDER.TipsEx)
|
||||
end
|
||||
self.tmpSort = nil
|
||||
local nSort = NovaAPI.GetCanvasSortingOrder(self.gameObject:GetComponent("Canvas"))
|
||||
@@ -566,7 +566,7 @@ end
|
||||
function GuideCtrl:PlayTypeMask_505(msg)
|
||||
self._mapNode.btnShortcutClose.gameObject:SetActive(false)
|
||||
if GamepadUIManager.GetInputState() then
|
||||
GamepadUIManager.EnableGamepadUI("GuideCtrl", self.tbGamepadUINode)
|
||||
GamepadUIManager.EnableGamepadUI("GuideCtrl", self.tbGamepadUINode, nil, nil, nil, AllEnum.UI_SORTING_ORDER.TipsEx)
|
||||
end
|
||||
self.tmpSort = nil
|
||||
local nSort = NovaAPI.GetCanvasSortingOrder(self.gameObject:GetComponent("Canvas"))
|
||||
|
||||
@@ -143,8 +143,10 @@ function GuideGroup_505:Step_4()
|
||||
current = 4
|
||||
self.waitAnimTime = 0.3
|
||||
local wait = function()
|
||||
EventManager.Hit(EventId.BlockInput, true)
|
||||
coroutine.yield(CS.UnityEngine.WaitForSeconds(self.waitAnimTime))
|
||||
self.parent:PlayTypeMask(self.msg)
|
||||
EventManager.Hit(EventId.BlockInput, false)
|
||||
end
|
||||
cs_coroutine.start(wait)
|
||||
end
|
||||
|
||||
@@ -84,8 +84,10 @@ function GuideGroup_508:Step_3()
|
||||
current = 3
|
||||
self.waitAnimTime = 0.3
|
||||
local wait = function()
|
||||
EventManager.Hit(EventId.BlockInput, true)
|
||||
coroutine.yield(CS.UnityEngine.WaitForSeconds(self.waitAnimTime))
|
||||
self.parent:PlayTypeMask(self.msg)
|
||||
EventManager.Hit(EventId.BlockInput, false)
|
||||
end
|
||||
cs_coroutine.start(wait)
|
||||
end
|
||||
|
||||
@@ -88,8 +88,10 @@ function GuideGroup_510:Step_2()
|
||||
current = 2
|
||||
self.waitAnimTime = 0.3
|
||||
local wait = function()
|
||||
EventManager.Hit(EventId.BlockInput, true)
|
||||
coroutine.yield(CS.UnityEngine.WaitForSeconds(self.waitAnimTime))
|
||||
self.parent:PlayTypeMask(self.msg)
|
||||
EventManager.Hit(EventId.BlockInput, false)
|
||||
end
|
||||
cs_coroutine.start(wait)
|
||||
end
|
||||
|
||||
@@ -22,13 +22,7 @@ local Policy = function(nCap, bHide, bQuest, bBarrier)
|
||||
}
|
||||
end
|
||||
function GuideGroup_521:OnStart(ctx)
|
||||
if NovaAPI.GetCurrentModuleName() == "DormModuleScene" then
|
||||
print("[DormGuide] 521 abort, already in dorm")
|
||||
ctx:Set("bAbort", true)
|
||||
else
|
||||
PlayerData.PlayerDormData:SetEnterDormParam(nil, true)
|
||||
ctx:Set("nEnterGen", DormGuideAdapter.BeginDormEnter())
|
||||
end
|
||||
ctx:Set("nEnterGen", DormGuideAdapter.BeginDormEnter())
|
||||
end
|
||||
function GuideGroup_521:OnClear()
|
||||
EventManager.Hit(EventId.AvgBubbleExit)
|
||||
@@ -38,60 +32,18 @@ end
|
||||
function GuideGroup_521:GetSteps()
|
||||
return {
|
||||
{
|
||||
sName = "dorm_entry",
|
||||
sName = "outdoor_avg",
|
||||
bPlayerWait = true,
|
||||
ShouldRun = function(ctx)
|
||||
if ctx:Get("bAbort") then
|
||||
ShouldRun = function()
|
||||
if DormGuideAdapter.QuestStatus(nQuestId) == 2 then
|
||||
return "finish"
|
||||
end
|
||||
if DormGuideAdapter.Mode() == 3 then
|
||||
return "abort"
|
||||
end
|
||||
return "run"
|
||||
end,
|
||||
Poll = function()
|
||||
local goRoot = GameObject.Find("---- UI ----")
|
||||
if goRoot == nil then
|
||||
return nil
|
||||
end
|
||||
return goRoot.transform:Find("MainViewPanel/----SafeAreaRoot----/HideRoot/--BottomRight--/btnDorm")
|
||||
end,
|
||||
Present = {
|
||||
sKind = "Mask",
|
||||
mapMask = {
|
||||
Size = {200, 200},
|
||||
Deviation = {0, 0},
|
||||
Desc = "Guide_521_1",
|
||||
DescDeviation = {-650, 0},
|
||||
HandDeviation = {0, 180},
|
||||
HandRotation = 180
|
||||
}
|
||||
},
|
||||
InputPolicy = Policy(0, false, false, true),
|
||||
Action = function()
|
||||
local goRoot = GameObject.Find("---- UI ----")
|
||||
if goRoot == nil then
|
||||
return {sState = "rejected"}
|
||||
end
|
||||
local tr = goRoot.transform:Find("MainViewPanel/----SafeAreaRoot----/HideRoot/--BottomRight--/btnDorm")
|
||||
if tr == nil then
|
||||
return {sState = "rejected"}
|
||||
end
|
||||
local btn = tr:GetComponent("UIButton")
|
||||
if btn ~= nil and btn.onClick ~= nil then
|
||||
btn.onClick:Invoke()
|
||||
end
|
||||
return {sState = "accepted"}
|
||||
end,
|
||||
End = {sMode = "Click"},
|
||||
OnExit = function(_, sReason)
|
||||
if sReason ~= "success" then
|
||||
return
|
||||
end
|
||||
DormGuideAdapter.ApplyPolicy(Policy(nTimelineBlock, true, false, true))
|
||||
end
|
||||
},
|
||||
{
|
||||
sName = "outdoor_avg",
|
||||
bPlayerWait = true,
|
||||
Start = {
|
||||
WaitTrigger = {
|
||||
Events = {
|
||||
"DORM_CS2LUA_BORN_TIMELINE_DONE"
|
||||
},
|
||||
@@ -101,6 +53,9 @@ function GuideGroup_521:GetSteps()
|
||||
return true
|
||||
end,
|
||||
Ready = function(ctx)
|
||||
if not PlayerData.PlayerDormData.bCurEnterIsGuide then
|
||||
return true
|
||||
end
|
||||
if ctx:Get("bCameraDone") == true then
|
||||
return true
|
||||
end
|
||||
@@ -113,7 +68,10 @@ function GuideGroup_521:GetSteps()
|
||||
sAvgId = sAvgId,
|
||||
sAvgGroup = sAvgGroupId
|
||||
},
|
||||
InputPolicy = Policy(DormGuideUI.DEFAULT_BLOCK, true, false, false),
|
||||
InputPolicy = {
|
||||
enter = Policy(nTimelineBlock, true, false, true),
|
||||
present = Policy(DormGuideUI.DEFAULT_BLOCK, true, false, false)
|
||||
},
|
||||
End = {
|
||||
sMode = "Condition",
|
||||
Ready = function()
|
||||
|
||||
@@ -68,7 +68,13 @@ function GuideGroup_522:GetSteps()
|
||||
HandDeviation = {0, 120},
|
||||
HandRotation = 180,
|
||||
Type = GameEnum.guidetype.ForcedClick
|
||||
}
|
||||
},
|
||||
Ready = function(_, tr)
|
||||
if tr == nil or tr.gameObject == nil or not tr.gameObject.activeInHierarchy then
|
||||
return false
|
||||
end
|
||||
return DormGuideAdapter.QuestCardSettled()
|
||||
end
|
||||
},
|
||||
InputPolicy = Policy(false, false),
|
||||
Action = function()
|
||||
|
||||
@@ -65,6 +65,12 @@ function GuideGroup_523:GetSteps()
|
||||
if tr ~= nil then
|
||||
tr.gameObject:SetActive(true)
|
||||
end
|
||||
end,
|
||||
Ready = function(_, tr)
|
||||
if tr == nil or tr.gameObject == nil or not tr.gameObject.activeInHierarchy then
|
||||
return false
|
||||
end
|
||||
return DormGuideAdapter.QuestCardSettled()
|
||||
end
|
||||
},
|
||||
InputPolicy = {
|
||||
|
||||
@@ -10,6 +10,21 @@ local sHead = "Icon/Head/head_11101"
|
||||
local CAP = DormGuideUI.InputCap
|
||||
local nApproachCap = CAP.Zoom | CAP.PickFur
|
||||
local nCaressCap = CAP.Zoom | CAP.Move | CAP.PickFur
|
||||
local mapCaressFree = {
|
||||
nSceneCap = nApproachCap,
|
||||
bUiBarrier = false,
|
||||
bLockLeave = true,
|
||||
bHideChrome = true,
|
||||
bKeepContact = true
|
||||
}
|
||||
local mapCaressLock = {
|
||||
nSceneCap = nCaressCap,
|
||||
bUiBarrier = true,
|
||||
bLockLeave = true,
|
||||
bHideChrome = true,
|
||||
bKeepContact = true
|
||||
}
|
||||
local bGateLock
|
||||
local SelectOpen = function()
|
||||
local obj = DormGuideAdapter._Select()
|
||||
return obj ~= nil and obj.bOpen == true
|
||||
@@ -32,9 +47,27 @@ local RoomFullWithoutRole = function()
|
||||
end
|
||||
return #mapRoom.RoleList >= mapCfg.RoleNum
|
||||
end
|
||||
local SyncCaressGate = function()
|
||||
local bLock = DormGuideAdapter.ContactRole() == nRoleId
|
||||
if bLock then
|
||||
DormGuideAdapter.MarkFocus(nRoleId)
|
||||
else
|
||||
DormGuideAdapter.ResetFocus()
|
||||
end
|
||||
if bGateLock ~= bLock then
|
||||
bGateLock = bLock
|
||||
DormGuideAdapter.ApplyPolicy(bLock and mapCaressLock or mapCaressFree)
|
||||
end
|
||||
return bLock
|
||||
end
|
||||
function GuideGroup_524:OnStart()
|
||||
bGateLock = nil
|
||||
DormGuideAdapter.ResetFocus()
|
||||
end
|
||||
function GuideGroup_524:OnClear()
|
||||
bGateLock = nil
|
||||
DormGuideAdapter.ResetFocus()
|
||||
EventManager.Hit(EventId.AvgBubbleExit)
|
||||
DormGuideAdapter.ReleaseGuide()
|
||||
end
|
||||
function GuideGroup_524:GetSteps()
|
||||
@@ -68,7 +101,13 @@ function GuideGroup_524:GetSteps()
|
||||
Head = sHead,
|
||||
HandDeviation = {0, 80},
|
||||
HandRotation = 180
|
||||
}
|
||||
},
|
||||
Ready = function(_, tr)
|
||||
if tr == nil or tr.gameObject == nil or not tr.gameObject.activeInHierarchy then
|
||||
return false
|
||||
end
|
||||
return DormGuideAdapter.QuestCardSettled()
|
||||
end
|
||||
},
|
||||
InputPolicy = {
|
||||
nSceneCap = DormGuideUI.DEFAULT_BLOCK | CAP.Move,
|
||||
@@ -283,6 +322,13 @@ function GuideGroup_524:GetSteps()
|
||||
{
|
||||
sName = "approach_avg",
|
||||
bPlayerWait = true,
|
||||
ShouldRun = function()
|
||||
if DormGuideAdapter.ContactRole() ~= nRoleId then
|
||||
return "run"
|
||||
end
|
||||
SyncCaressGate()
|
||||
return "skip"
|
||||
end,
|
||||
WaitTrigger = {
|
||||
Ready = function()
|
||||
if DormGuideAdapter.RoleInRoom(nRoleId) ~= true then
|
||||
@@ -310,17 +356,30 @@ function GuideGroup_524:GetSteps()
|
||||
},
|
||||
End = {
|
||||
sMode = "Condition",
|
||||
Events = {
|
||||
"DormShowInteractiveBtns"
|
||||
},
|
||||
Match = function()
|
||||
if not SyncCaressGate() then
|
||||
return false
|
||||
end
|
||||
EventManager.Hit(EventId.AvgBubbleExit)
|
||||
return true
|
||||
end,
|
||||
Ready = function()
|
||||
return false
|
||||
return DormGuideAdapter.ContactRole() == nRoleId
|
||||
end
|
||||
}
|
||||
},
|
||||
OnExit = function()
|
||||
EventManager.Hit(EventId.AvgBubbleExit)
|
||||
end
|
||||
},
|
||||
{
|
||||
sName = "caress",
|
||||
bPlayerWait = true,
|
||||
bReportDone = true,
|
||||
Poll = function()
|
||||
if DormGuideAdapter.ContactRole() ~= nRoleId then
|
||||
if not SyncCaressGate() then
|
||||
return nil
|
||||
end
|
||||
local obj = DormGuideAdapter._Interactive()
|
||||
@@ -331,7 +390,7 @@ function GuideGroup_524:GetSteps()
|
||||
end,
|
||||
WaitTrigger = {
|
||||
Ready = function()
|
||||
if DormGuideAdapter.ContactRole() ~= nRoleId then
|
||||
if not SyncCaressGate() then
|
||||
return false
|
||||
end
|
||||
return DormGuideAdapter.MarkFocus(nRoleId)
|
||||
@@ -339,10 +398,8 @@ function GuideGroup_524:GetSteps()
|
||||
Events = {
|
||||
"DormShowInteractiveBtns"
|
||||
},
|
||||
Match = function(_, bShow)
|
||||
if bShow == true or DormGuideAdapter.ContactRole() ~= nRoleId then
|
||||
DormGuideAdapter.ResetFocus()
|
||||
end
|
||||
Match = function()
|
||||
SyncCaressGate()
|
||||
return true
|
||||
end,
|
||||
bPlayerWait = true
|
||||
@@ -383,29 +440,14 @@ function GuideGroup_524:GetSteps()
|
||||
end
|
||||
return DormGuideAdapter.ContactRole() == nRoleId
|
||||
end,
|
||||
InputPolicy = {
|
||||
enter = {
|
||||
nSceneCap = nApproachCap,
|
||||
bUiBarrier = false,
|
||||
bLockLeave = true,
|
||||
bHideChrome = true,
|
||||
bKeepContact = true
|
||||
},
|
||||
click = {
|
||||
nSceneCap = nCaressCap,
|
||||
bUiBarrier = true,
|
||||
bLockLeave = true,
|
||||
bHideChrome = true,
|
||||
bKeepContact = true
|
||||
},
|
||||
request = {
|
||||
nSceneCap = nCaressCap,
|
||||
bUiBarrier = true,
|
||||
bLockLeave = true,
|
||||
bHideChrome = true,
|
||||
bKeepContact = true
|
||||
}
|
||||
},
|
||||
InputPolicy = function()
|
||||
local bLock = DormGuideAdapter.ContactRole() == nRoleId
|
||||
bGateLock = bLock
|
||||
if not bLock then
|
||||
DormGuideAdapter.ResetFocus()
|
||||
end
|
||||
return bLock and mapCaressLock or mapCaressFree
|
||||
end,
|
||||
Action = function(ctx)
|
||||
local nId, bNew = DormGuideAdapter.BeginCaress()
|
||||
ctx:Set("nCaressOp", nId)
|
||||
|
||||
@@ -110,6 +110,12 @@ function GuideGroup_526:GetSteps()
|
||||
if tr ~= nil then
|
||||
tr.gameObject:SetActive(true)
|
||||
end
|
||||
end,
|
||||
Ready = function(_, tr)
|
||||
if tr == nil or tr.gameObject == nil or not tr.gameObject.activeInHierarchy then
|
||||
return false
|
||||
end
|
||||
return DormGuideAdapter.QuestCardSettled()
|
||||
end
|
||||
},
|
||||
InputPolicy = {
|
||||
|
||||
@@ -108,7 +108,13 @@ function GuideGroup_527:GetSteps()
|
||||
DescDeviation = {-650, 0},
|
||||
HandDeviation = {0, 120},
|
||||
HandRotation = 180
|
||||
}
|
||||
},
|
||||
Ready = function(_, tr)
|
||||
if tr == nil or tr.gameObject == nil or not tr.gameObject.activeInHierarchy then
|
||||
return false
|
||||
end
|
||||
return DormGuideAdapter.QuestCardSettled()
|
||||
end
|
||||
},
|
||||
InputPolicy = {
|
||||
nSceneCap = DormGuideUI.DEFAULT_BLOCK | CAP.Move,
|
||||
|
||||
@@ -65,6 +65,12 @@ function GuideMissionShopCtrl:EnterShop(nTogIndex)
|
||||
self:CheckShopData(nTogIndex)
|
||||
end
|
||||
function GuideMissionShopCtrl:ExitShop()
|
||||
if self.tbGridCtrl ~= nil then
|
||||
for nInstanceId, objCtrl in pairs(self.tbGridCtrl) do
|
||||
self:UnbindCtrlByNode(objCtrl)
|
||||
self.tbGridCtrl[nInstanceId] = nil
|
||||
end
|
||||
end
|
||||
if not self.bInShop then
|
||||
return
|
||||
end
|
||||
|
||||
@@ -185,6 +185,8 @@ function StoryChapterCtrl:OnEnable()
|
||||
self:OnGrid_Chapter(goChapterGridBtn, true)
|
||||
end
|
||||
local AnimDone = function()
|
||||
self.nChapterId_To = 0
|
||||
self.nStoryLineId_To = 0
|
||||
self.nChapterIn = 0
|
||||
end
|
||||
local nAnimDuration = 0
|
||||
|
||||
@@ -119,7 +119,8 @@ local Storys = {
|
||||
1120,
|
||||
1121,
|
||||
1122,
|
||||
1123
|
||||
1123,
|
||||
1124
|
||||
}
|
||||
local BG_SCROLL_SPEED = 1.0
|
||||
local BEHIND_BG_SCROLL_SPEED = 0.15
|
||||
@@ -245,7 +246,7 @@ function MainlineEx_DustDawnStoryCtrl:RebaseBGScroll()
|
||||
end
|
||||
local x = content.anchoredPosition.x
|
||||
self.bgInitX = self._mapNode.behindBG.anchoredPosition.x - x * BEHIND_BG_SCROLL_SPEED
|
||||
self.zsBGInitX = self._mapNode.zsBG.anchoredPosition.x - x * BG_SCROLL_SPEED
|
||||
self.zsBGInitX = self._mapNode.zsBG.anchoredPosition.x
|
||||
self.dustDawnBgInitX = self._mapNode.DustDawnBg.anchoredPosition.x - x * DUSTDAWN_BG_SCROLL_SPEED
|
||||
end
|
||||
function MainlineEx_DustDawnStoryCtrl:InitBGScroll()
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
local SoldierBattleResultCtrl = class("SoldierBattleResultCtrl", BaseCtrl)
|
||||
local LocalData = require("GameCore.Data.LocalData")
|
||||
local newDayTime = UTILS.GetDayRefreshTimeOffset()
|
||||
SoldierBattleResultCtrl._mapNodeConfig = {
|
||||
goRoot = {
|
||||
sNodeName = "----SafeAreaRoot----"
|
||||
@@ -113,6 +115,8 @@ local _NF = AllEnum.SoldierResultType.NodeFail
|
||||
local _CS = AllEnum.SoldierResultType.ChallengeSuccess
|
||||
local _CF = AllEnum.SoldierResultType.ChallengeFail
|
||||
local AssetRoot = "Icon/SoldierOtherIcon/"
|
||||
local RecommendTipsKey = "Soldier_Recommend_Tips_Time"
|
||||
local RecommendWorldClass = 20
|
||||
function SoldierBattleResultCtrl:RefreshResult()
|
||||
self.bInBattleReport = false
|
||||
self._mapNode.goBattleReport.gameObject:SetActive(false)
|
||||
@@ -235,8 +239,76 @@ function SoldierBattleResultCtrl:OnBtnClick_Confirm()
|
||||
self:ShowBattleReport()
|
||||
return
|
||||
end
|
||||
if (self.nResultType == _CS or self.nResultType == _CF) and self:CheckShowRecommendTips() then
|
||||
self:ShowRecommendTips()
|
||||
return
|
||||
end
|
||||
self:ClosePanel()
|
||||
end
|
||||
local GetTodayKey = function()
|
||||
local nFixedTimeStamp = CS.ClientManager.Instance.serverTimeStampWithTimeZone - newDayTime * 3600
|
||||
local nYear = tonumber(os.date("!%Y", nFixedTimeStamp))
|
||||
local nMonth = tonumber(os.date("!%m", nFixedTimeStamp))
|
||||
local nDay = tonumber(os.date("!%d", nFixedTimeStamp))
|
||||
return nYear * 366 + nMonth * 31 + nDay
|
||||
end
|
||||
function SoldierBattleResultCtrl:CheckIsLastGradeChallenge()
|
||||
local nGradeChallengeId = self.mapData and self.mapData.nGradeChallengeId or 0
|
||||
if nGradeChallengeId == 0 then
|
||||
return false
|
||||
end
|
||||
local nSeasonId = PlayerData.SoldierData:GetCurSelectSeasonId()
|
||||
local nMaxGradeId = 0
|
||||
ForEachTableLine(ConfigTable.Get("SoldierGradeChallenge"), function(mapLine)
|
||||
if mapLine.Season == nSeasonId and mapLine.Id > nMaxGradeId then
|
||||
nMaxGradeId = mapLine.Id
|
||||
end
|
||||
end)
|
||||
return 0 < nMaxGradeId and nGradeChallengeId == nMaxGradeId
|
||||
end
|
||||
function SoldierBattleResultCtrl:CheckShowRecommendTips()
|
||||
local nTipDay = tonumber(LocalData.GetPlayerLocalData(RecommendTipsKey) or 0)
|
||||
if nTipDay == GetTodayKey() then
|
||||
return false
|
||||
end
|
||||
if PlayerData.Base:GetWorldClass() < RecommendWorldClass then
|
||||
return false
|
||||
end
|
||||
local nScoreCondition = ConfigTable.GetConfigNumber("SoldierRecommendScoreCondition")
|
||||
if nScoreCondition == nil or nScoreCondition > (self.nTotalScore or 0) then
|
||||
return false
|
||||
end
|
||||
return self:CheckIsLastGradeChallenge()
|
||||
end
|
||||
function SoldierBattleResultCtrl:ShowRecommendTips()
|
||||
local bSelectAgain = false
|
||||
local SaveAgain = function()
|
||||
if bSelectAgain then
|
||||
LocalData.SetPlayerLocalData(RecommendTipsKey, tostring(GetTodayKey()))
|
||||
end
|
||||
end
|
||||
local confirmCallback = function()
|
||||
SaveAgain()
|
||||
PlayerData.SoldierData:OpenRecommendSquare()
|
||||
self:ClosePanel()
|
||||
end
|
||||
local cancelCallback = function()
|
||||
SaveAgain()
|
||||
self:ClosePanel()
|
||||
end
|
||||
local againCallback = function(bSelect)
|
||||
bSelectAgain = bSelect
|
||||
end
|
||||
local msg = {
|
||||
nType = AllEnum.MessageBox.Confirm,
|
||||
sContent = ConfigTable.GetUIText("Soldier_Result_Recommend_Tips"),
|
||||
callbackConfirm = confirmCallback,
|
||||
callbackCancel = cancelCallback,
|
||||
callbackAgain = againCallback,
|
||||
bBlur = false
|
||||
}
|
||||
EventManager.Hit(EventId.OpenMessageBox, msg)
|
||||
end
|
||||
function SoldierBattleResultCtrl:ShowBattleReport()
|
||||
self.bInBattleReport = true
|
||||
self._mapNode.goBattleExpansion:SetActive(false)
|
||||
@@ -415,6 +487,7 @@ function SoldierBattleResultCtrl:SetGoBattleExpansionMsg()
|
||||
local nCheckStageTime = tbSettle.nCheckStageTime or 0
|
||||
local nChessTotalCost = tbSettle.nChessTotalCost or 0
|
||||
local nTotalScore = nPassedNode + nRemainingHp + nCheckStageDps + nCheckStageTime + nChessTotalCost
|
||||
self.nTotalScore = nTotalScore
|
||||
if 0 < nTotalScore then
|
||||
CS.WwiseAudioManager.Instance:PostEvent("mode_900001_chess_result_countPoint")
|
||||
end
|
||||
|
||||
@@ -138,7 +138,7 @@ function SoldierPartnerTipsCtrl:OnEnable()
|
||||
end
|
||||
function SoldierPartnerTipsCtrl:OnDisable()
|
||||
self:DisableGamepadUI()
|
||||
if self._tbTargetOriginPos ~= nil and self.rtTarget ~= nil then
|
||||
if self._tbTargetOriginPos ~= nil and not self.rtTarget:IsNull() then
|
||||
local rtTargetRect = self.rtTarget:GetComponent("RectTransform")
|
||||
rtTargetRect.anchoredPosition = self._tbTargetOriginPos
|
||||
self._tbTargetOriginPos = nil
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
local SoldierRecommendCtrl = class("SoldierRecommendCtrl", BaseCtrl)
|
||||
local SDKManager = CS.SDKManager.Instance
|
||||
local HIDE_CELL_POS_Y = 100000
|
||||
SoldierRecommendCtrl._mapNodeConfig = {
|
||||
Topbar = {
|
||||
@@ -440,29 +439,7 @@ function SoldierRecommendCtrl:OnBtnClick_ConfirmImport()
|
||||
end)
|
||||
end
|
||||
function SoldierRecommendCtrl:OnBtnClick_RcmdSquare()
|
||||
local bHasUrl, sUrl = UTILS.GetToolBoxUrl()
|
||||
if not (bHasUrl and sUrl) or sUrl == "" then
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Function_NotAvailable"))
|
||||
return
|
||||
end
|
||||
sUrl = sUrl .. "/auto-chess"
|
||||
local bSuccess, bOpened = pcall(function()
|
||||
if NovaAPI.IsEditorPlatform() then
|
||||
NovaAPI.OpenURL(sUrl)
|
||||
return true
|
||||
end
|
||||
if not SDKManager:IsSDKInit() then
|
||||
return false
|
||||
end
|
||||
SDKManager:ShowWebView(false, "", sUrl, 1, 0, true)
|
||||
return true
|
||||
end)
|
||||
if not bSuccess then
|
||||
printError(bOpened)
|
||||
end
|
||||
if not bSuccess or not bOpened then
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Function_NotAvailable"))
|
||||
end
|
||||
PlayerData.SoldierData:OpenRecommendSquare()
|
||||
end
|
||||
function SoldierRecommendCtrl:OnEvent_RefreshRecommendList()
|
||||
if self.nListState == 2 then
|
||||
|
||||
@@ -61,8 +61,7 @@ function SoldierPartnerListCtrl:OnPartnerRefreshGrid(goGrid, gridIndex)
|
||||
NovaAPI.SetTMPText(txt_name, partnerCfg.Name)
|
||||
NovaAPI.SetTMPText(txtPartner2, partner.nCurNum)
|
||||
local bTrace = PlayerData.SoldierData:GetCurLevelData():CheckPartnerTrace(partner.nType)
|
||||
local bRecommend = PlayerData.SoldierData:CheckPartnerRecommendState(partner.nType)
|
||||
img_Trace.gameObject:SetActive(bTrace or bRecommend)
|
||||
img_Trace.gameObject:SetActive(bTrace)
|
||||
local strLevel = ""
|
||||
for i = 1, #partner.tbNumList do
|
||||
if 1 < i then
|
||||
|
||||
@@ -1820,6 +1820,9 @@ function SoldierSandtableCtrl:OnEvent_SoldierSandtableCharItemDragEnd(nDragInsId
|
||||
self:InitChessList()
|
||||
self._mapNode.blockInput:SetActive(false)
|
||||
end)
|
||||
if self._mapNode.SoldierShopComponent:IsShopOpen() then
|
||||
self._mapNode.SoldierShopComponent:RefreshShopData()
|
||||
end
|
||||
end)
|
||||
elseif targetChessData == nil then
|
||||
self:RefreshChessList()
|
||||
@@ -1859,12 +1862,16 @@ function SoldierSandtableCtrl:OnEvent_SoldierSandtableOtherCharItemDragEnd(chess
|
||||
table.insert(tbStep, v)
|
||||
end
|
||||
end
|
||||
CS.WwiseAudioManager.Instance:PostEvent("mode_900001_chess_shop_sell")
|
||||
self._mapNode.blockInput:SetActive(true)
|
||||
self:PlayStepsAnimation(tbStep, function()
|
||||
self:InitOtherChessList()
|
||||
self:InitChessList()
|
||||
self._mapNode.blockInput:SetActive(false)
|
||||
end)
|
||||
if self._mapNode.SoldierShopComponent:IsShopOpen() then
|
||||
self._mapNode.SoldierShopComponent:RefreshShopData()
|
||||
end
|
||||
end)
|
||||
else
|
||||
self:RefreshChessList()
|
||||
|
||||
@@ -772,6 +772,12 @@ function PlayerBaseData:GoHomeFromCurModule()
|
||||
EventManager.Add("EnterModule", self, OnEventEnterModule)
|
||||
NovaAPI.EnterModule("MainMenuModuleScene", true)
|
||||
return
|
||||
elseif PanelManager.CheckPanelOpen(PanelId.SoldierSandtable) == true then
|
||||
if PlayerData.SoldierData:GetCurLevelData() ~= nil then
|
||||
PlayerData.SoldierData:GetCurLevelData():UnloadSandtableScene()
|
||||
end
|
||||
PanelManager.Home()
|
||||
return
|
||||
end
|
||||
PanelManager.Home()
|
||||
end
|
||||
|
||||
@@ -24,6 +24,7 @@ function PlayerDormData:Init()
|
||||
self.nLastLikeInfoTime = 0
|
||||
self.nEnterRoomSceneId = nil
|
||||
self.bEnterIsGuide = false
|
||||
self.bCurEnterIsGuide = false
|
||||
printLog("dorm init")
|
||||
EventManager.Add(EventId.IsNewDay, self, self.OnEvent_NewDay)
|
||||
self.nHonorMaxLevel = 0
|
||||
@@ -68,6 +69,7 @@ end
|
||||
function PlayerDormData:GetGuideState()
|
||||
local ret = self.bEnterIsGuide == true
|
||||
self.bEnterIsGuide = false
|
||||
self.bCurEnterIsGuide = ret
|
||||
return ret
|
||||
end
|
||||
function PlayerDormData:GetRoomInfo(callback)
|
||||
@@ -918,6 +920,7 @@ function PlayerDormData:CacheDormHotInfo(mapData)
|
||||
if mapData ~= nil then
|
||||
self.cachedCollection = mapData.CollectionValue
|
||||
PlayerData.Guide:SetGuideNewbie(mapData.Newbies)
|
||||
self.bEnterIsGuide = not PlayerData.Guide:CheckGuideFinishById(521)
|
||||
end
|
||||
local sKey = "PlayerDormNewRoom"
|
||||
local sData = LocalData.GetPlayerLocalData(sKey)
|
||||
|
||||
@@ -215,6 +215,7 @@ function PlayerInfinityTowerData:RefreshCharDamageData(tbCharId)
|
||||
local actorInfo = {}
|
||||
actorInfo.nCharId = tbCharId[i]
|
||||
actorInfo.nDamage = damage
|
||||
actorInfo.nSkinId = PlayerData.Build:GetBattleCharSkinId(tbCharId[i])
|
||||
table.insert(self.tbCharDamage, actorInfo)
|
||||
end
|
||||
CS.AdventureModuleHelper.ClearCharacterDamageRecord(true)
|
||||
|
||||
@@ -827,8 +827,8 @@ function PlayerQuestData:ReceiveDailyActiveReward(callBack)
|
||||
self.tbDailyActives[v].bReward = true
|
||||
local mapCfg = ConfigTable.GetData("DailyQuestActive", v)
|
||||
if mapCfg ~= nil then
|
||||
for i = 1, 2 do
|
||||
if mapCfg["ItemTid" .. i] ~= 0 then
|
||||
for i = 1, 3 do
|
||||
if mapCfg["ItemTid" .. i] ~= nil and mapCfg["ItemTid" .. i] ~= 0 then
|
||||
if tbReward[mapCfg["ItemTid" .. i]] == nil then
|
||||
tbReward[mapCfg["ItemTid" .. i]] = 0
|
||||
end
|
||||
@@ -1741,7 +1741,9 @@ function PlayerQuestData:RequestGuideMissionInfo(callback)
|
||||
local tbDoneChapter = {}
|
||||
if mapDataCb.Chapters ~= nil then
|
||||
for _, mapChapterData in pairs(mapDataCb.Chapters) do
|
||||
PlayerData.GuideMission:CacheServerUnlockTime(mapChapterData.Id, mapChapterData.UnlockTime)
|
||||
if PlayerData.GuideMission ~= nil then
|
||||
PlayerData.GuideMission:CacheServerUnlockTime(mapChapterData.Id, mapChapterData.UnlockTime)
|
||||
end
|
||||
if mapChapterData.Quests ~= nil and mapChapterData.Quests.List ~= nil then
|
||||
for _, mapQuestData in pairs(mapChapterData.Quests.List) do
|
||||
self:OnQuestProgressChanged(mapQuestData)
|
||||
|
||||
@@ -347,6 +347,32 @@ end
|
||||
function PlayerSoldierData:CheckPartnerRecommendState(nPartnerType)
|
||||
return self.recommendData:CheckPartnerRecommendState(nPartnerType)
|
||||
end
|
||||
function PlayerSoldierData:OpenRecommendSquare()
|
||||
local bHasUrl, sUrl = UTILS.GetToolBoxUrl()
|
||||
if not (bHasUrl and sUrl) or sUrl == "" then
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Function_NotAvailable"))
|
||||
return
|
||||
end
|
||||
sUrl = sUrl .. "/auto-chess"
|
||||
local bSuccess, bOpened = pcall(function()
|
||||
if NovaAPI.IsEditorPlatform() then
|
||||
NovaAPI.OpenURL(sUrl)
|
||||
return true
|
||||
end
|
||||
local SDKManager = CS.SDKManager.Instance
|
||||
if not SDKManager:IsSDKInit() then
|
||||
return false
|
||||
end
|
||||
SDKManager:ShowWebView(false, "", sUrl, 1, 0, true)
|
||||
return true
|
||||
end)
|
||||
if not bSuccess then
|
||||
printError(bOpened)
|
||||
end
|
||||
if not bSuccess or not bOpened then
|
||||
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Function_NotAvailable"))
|
||||
end
|
||||
end
|
||||
function PlayerSoldierData:GetTechActiveClientEffect()
|
||||
if self.nCurSelectSeasonId == 0 then
|
||||
return
|
||||
|
||||
@@ -581,6 +581,9 @@ end
|
||||
function PanelManager.CheckNextPanelOpening()
|
||||
return objNextPanel ~= nil
|
||||
end
|
||||
function PanelManager.HasDisposablePanel()
|
||||
return type(tbDisposablePanel) == "table" and 0 < #tbDisposablePanel
|
||||
end
|
||||
function PanelManager.SetMainViewSkipAnimIn(bIn)
|
||||
bMainViewSkipAnimIn = bIn
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user