第二章文案与流程优化:理发店;李氏纸人;等

This commit is contained in:
cakipaul 2025-08-11 19:12:55 +08:00
parent a4c6ba1a3b
commit 87b043fc18
44 changed files with 1009 additions and 271 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://co3xfe5yyvmjd"
path="res://.godot/imported/l_碗中符纸.png-b9aa9685e345a5d5d41e5feaccfef98c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/scene/c03/s02_瞎子新卧室/l_碗中符纸.png"
dest_files=["res://.godot/imported/l_碗中符纸.png-b9aa9685e345a5d5d41e5feaccfef98c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b5knp0c6s0ad7"
path="res://.godot/imported/e_柜子照片与碗.png-44af276d01ce59e3ff791282a7616e66.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/scene/c03/s04_李癞房间/柜子特写/e_柜子照片与碗.png"
dest_files=["res://.godot/imported/e_柜子照片与碗.png-44af276d01ce59e3ff791282a7616e66.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dukbmlqdpx762"
path="res://.godot/imported/e_柜子碗.png-9ceda963d056abd3dbc3ef1c85f48b85.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/scene/c03/s04_李癞房间/柜子特写/e_柜子碗.png"
dest_files=["res://.godot/imported/e_柜子碗.png-9ceda963d056abd3dbc3ef1c85f48b85.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://de8st2jostsxn"
path="res://.godot/imported/ux_李弟照片.png-f6a430d238177d83d2e20f980fc2eabf.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/scene/c03/s04_李癞房间/柜子特写/ux_李弟照片.png"
dest_files=["res://.godot/imported/ux_李弟照片.png-f6a430d238177d83d2e20f980fc2eabf.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dylb3p5sijet1" uid="uid://bjkqoncq4b7jb"
path="res://.godot/imported/李弟照片.png-a0ec640e11a2d503cb3a6496ecfadf81.ctex" path="res://.godot/imported/李弟照片.png-a0ec640e11a2d503cb3a6496ecfadf81.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false

View File

@ -24,7 +24,7 @@
张文开: 真像啊,像活过来了似的... [#anonymous] [ID:c03_一楼院子李癞胖_胖子6] 张文开: 真像啊,像活过来了似的... [#anonymous] [ID:c03_一楼院子李癞胖_胖子6]
李兰: 呸!现在抓药还要多收几个子儿,我看那老板就是掉钱眼里去了! [#anonymous] [ID:c03_一楼院子李癞胖_李氏7] 李兰: 呸!现在抓药还要多收几个子儿,我看那老板就是掉钱眼里去了! [#anonymous] [ID:c03_一楼院子李癞胖_李氏7]
王守义: 都忙完了吧? [#anonymous] [ID:c03_一楼院子李癞胖_癞子5] 王守义: 都忙完了吧? [#anonymous] [ID:c03_一楼院子李癞胖_癞子5]
王守义: 走走走,一起搓麻啊张老板,三缺一! [#anonymous] [ID:c03_一楼院子李癞胖_癞子6] 王守义: 走走走,一起搓麻啊张老板,三缺一! [#anonymous] [ID:c03_一楼院子李癞胖_癞子6]
张文开: 一天天的净惦记着我身上这点油水了! [#anonymous] [ID:c03_一楼院子李癞胖_胖子7] 张文开: 一天天的净惦记着我身上这点油水了! [#anonymous] [ID:c03_一楼院子李癞胖_胖子7]
张文开: 唉,走,来两把过过手瘾! [#anonymous] [ID:c03_一楼院子李癞胖_胖子8] 张文开: 唉,走,来两把过过手瘾! [#anonymous] [ID:c03_一楼院子李癞胖_胖子8]
=> END => END

View File

@ -15,16 +15,15 @@ c03_s01_meat_put: 0:初始化 1:已放肉
c03_invite_xchan_supper: 0:初始化 1:已偷听_需邀请 2:完成邀请_待交互小猫 3:已交互小猫 4:已拿钥匙 c03_invite_xchan_supper: 0:初始化 1:已偷听_需邀请 2:完成邀请_待交互小猫 3:已交互小猫 4:已拿钥匙
# 理发店剪辫子 # 理发店剪辫子
c03_s03_laizi_braid: 0:初始化 1:已剪下辫子 2:演出结束 c03_s03_laizi_braid: 0:初始化 1:已剪下辫子 2:演出结束
c03_s03_laizi_breath: 0:初始化 1:划伤_呼吸结束 c03_s03_laizi_breath: 0:初始化 1:开始呼吸 2:划伤_呼吸结束
# 二楼瞎子偷听&挡路纸人 # 二楼瞎子偷听&挡路纸人
c03_f2_madman_runaway: 0:初始化 1:跑开_纸人挡路 2:消除纸人 c03_f2_madman_runaway: 0:初始化 1:跑开_纸人挡路 2:消除纸人
c03_invite_xchan_supper=4 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2 c03_invite_xchan_supper=4 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2
# 一楼浆糊演出 # 一楼浆糊演出
c03_f1_paste_show: 0:初始化 1:演出结束 c03_f1_paste_show: 0:初始化 1:演出结束
# 李癞 # 李癞
c03_before_mahjong_game: 0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏
c03_mahjong_game: 0:初始化 1:麻将已给牌 2:麻将出千 3:麻将结束 c03_mahjong_game: 0:初始化 1:麻将已给牌 2:麻将出千 3:麻将结束
c03_li_paperwoman: 0:初始化隐藏 1:显示纸人 2:纸舌头完成 3:给药完成 c03_li_paperwoman: 0:初始化隐藏 1:显示纸人 2:纸舌头完成 3:已拿剪刀 4:给药完成 5:已拿钥匙
c03_drug_game: 0:初始化 1:获得药方 2:获得药包 c03_drug_game: 0:初始化 1:获得药方 2:获得药包
c03_pangzi_pull_xchan: 0:初始化 1:准备演出 2:演出完成 c03_pangzi_pull_xchan: 0:初始化 1:准备演出 2:演出完成
# 囚室海报 # 囚室海报

View File

@ -1,5 +1,4 @@
keys,zh_CN,_character,_notes,_tags,zh_SH,en keys,zh_CN,_character,_notes,_tags,zh_SH,en
给我药 [ID:],给我药 [ID:],,,,,
index_新游戏,新游戏,,,,,New Game index_新游戏,新游戏,,,,,New Game
index_继续游戏,继续游戏,,,,,Continue index_继续游戏,继续游戏,,,,,Continue
index_退出游戏,退出游戏,,,,,Exit Game index_退出游戏,退出游戏,,,,,Exit Game
@ -46,13 +45,11 @@ ui_press_shift,按住 Shift 奔跑,,,,,Hold Shift to run
ui_boxcat_press_s,按住 S 躲藏,,,,,Hold S to hide ui_boxcat_press_s,按住 S 躲藏,,,,,Hold S to hide
input_拼凑信件,点击选择信件碎片方向键移动E 旋碎片转Q 退出,,,,,"Click to select letter fragments, arrow keys to move, E to rotate, Q to exit" input_拼凑信件,点击选择信件碎片方向键移动E 旋碎片转Q 退出,,,,,"Click to select letter fragments, arrow keys to move, E to rotate, Q to exit"
input_书架游戏,点击书本可选中或交换Q 退出,,,,,"Click books to select or swap, Q to exit" input_书架游戏,点击书本可选中或交换Q 退出,,,,,"Click books to select or swap, Q to exit"
ui_center_notify_lack_of_scissor,要剪刀,,,,, ui_center_notify_lack_of_scissor,要剪刀,,,,,
input_麻将游戏_麻将不足,还缺一块麻将,,,,, input_麻将游戏_麻将不足,缺少麻将,,,,,
input_麻将整理游戏_开始方式,取出「三筒」开启整理,,,,, input_麻将整理游戏_开始方式,取出「三筒」开启整理,,,,,
input_麻将游戏_交换规则,依次点击两块麻将可进行交换,,,,, input_麻将游戏_交换规则,点击盒中的麻将与手里的麻将替换,,,,,
input_麻将游戏_回合开始,回合开始,正确换牌后将自动打出,,,,, input_麻将游戏_回合开始,回合开始,正确换牌后将自动打出,,,,,
ui_center_notify_c03纸人浆糊舌头,帮我粘舌头,,,,,
ui_center_notify_c03纸人求药,给我药,,,,,
ui_center_notify_c03药车缺少物品,缺少药引,,,,, ui_center_notify_c03药车缺少物品,缺少药引,,,,,
ui_center_notify_c03药车不能再取药材,同种药材只能取出一份,,,,, ui_center_notify_c03药车不能再取药材,同种药材只能取出一份,,,,,
ui_center_notify_c03放到碗中或原处,药材只能放到碗中或原处,,,,, ui_center_notify_c03放到碗中或原处,药材只能放到碗中或原处,,,,,
@ -264,27 +261,45 @@ c02_demo感谢试玩,感谢试玩,,,,,Thank you for playing
c02_demo公告,以上是《衔蝶》demo的全部内容啦感谢你抽出宝贵的时间体验我们的游戏{br}试玩虽然结束,但吕萍的旅程才刚刚开始,后面的故事将更加精彩!你在游戏中探索的每一步都是对我们的鼓励和支持!{br}在游戏上线前,我们将继续优化游戏内容,完善和打磨游戏设计、叙事流程,音效、画面表现等。{br}最后,欢迎你对《衔蝶》的试玩提出反馈,这对我们非常重要!期待与你的下次相遇,再见!,,,,,"That concludes the entire demo content of 'Holding the Butterfly'. Thank you for taking your precious time to experience our game!{br}Though the demo has ended, Lu Ping's journey has just begun, and the story ahead will be even more exciting! Every step you take exploring the game is encouragement and support for us!{br}Before the game's official release, we will continue optimizing the content, refining and polishing game design, narrative flow, sound effects, and visual presentation.{br}Finally, we welcome your feedback on the 'Holding the Butterfly' demo—it's very important to us! We look forward to meeting you again. Goodbye!" c02_demo公告,以上是《衔蝶》demo的全部内容啦感谢你抽出宝贵的时间体验我们的游戏{br}试玩虽然结束,但吕萍的旅程才刚刚开始,后面的故事将更加精彩!你在游戏中探索的每一步都是对我们的鼓励和支持!{br}在游戏上线前,我们将继续优化游戏内容,完善和打磨游戏设计、叙事流程,音效、画面表现等。{br}最后,欢迎你对《衔蝶》的试玩提出反馈,这对我们非常重要!期待与你的下次相遇,再见!,,,,,"That concludes the entire demo content of 'Holding the Butterfly'. Thank you for taking your precious time to experience our game!{br}Though the demo has ended, Lu Ping's journey has just begun, and the story ahead will be even more exciting! Every step you take exploring the game is encouragement and support for us!{br}Before the game's official release, we will continue optimizing the content, refining and polishing game design, narrative flow, sound effects, and visual presentation.{br}Finally, we welcome your feedback on the 'Holding the Butterfly' demo—it's very important to us! We look forward to meeting you again. Goodbye!"
c03_s01_走近3012,3012号房应该就是我小时候住的地方,,,,,"Room 3012, this should be where I lived as a child" c03_s01_走近3012,3012号房应该就是我小时候住的地方,,,,,"Room 3012, this should be where I lived as a child"
c03_s01_门口看病牌子,义诊,,,,,Free Medical Consultation c03_s01_门口看病牌子,义诊,,,,,Free Medical Consultation
c03_s01_砖门,为什么要把原来的门给封起来?,,,,,
c03_s01_杂物,这些物件虽然老旧...{br}但只要清理干净还是能继续使用的。,,,,,
c03_s01_灶台,灶台上有一层黑黑的污垢,锅子里都是铁锈。,,,,,
c03_s01_封住木门,这扇门也被封上了...,,,,,
c03_s01_偷听完3012,奇怪...里面应该有人在的...{br}要不先去小蝉家看看吧,,,,,..... c03_s01_偷听完3012,奇怪...里面应该有人在的...{br}要不先去小蝉家看看吧,,,,,.....
c03_s02_note_key_coverer,太暗了看不清,,,,, c03_s02_note_key_coverer,太暗了看不清,,,,,
c03_s02_未点灯,?打不开,,,,, c03_s02_通风管道,打不开,,,,,
c03_s02_通风管道,?打不开,,,,,
c03_s02_小蝉的床,没有任何属于小蝉的东西。{br}只有枕头孤零零地躺在那里。,,,,, c03_s02_小蝉的床,没有任何属于小蝉的东西。{br}只有枕头孤零零地躺在那里。,,,,,
c03_s02_带血的手帕,手帕上的血是暗红色的,看起来已经留在上面很久了,,,,, c03_s02_带血的手帕,手帕上的血是暗红色的,看起来已经留在上面很久了,,,,,
c03_s02_小蝉寻人启事,小蝉寻人启事,,,,, c03_s02_小蝉寻人启事,小蝉寻人启事,,,,,
c03_s02_糕点与符纸,桌上有块洋糕点,碗里还有半张符纸磨成的粉,是用来做什么的?,,,,, c03_s02_糕点与符纸,桌上有块洋糕点,碗里还有半张符纸磨成的粉,是用来做什么的?,,,,,
c03_s02_符纸内容,道贯阴阳,垂怜群生。{br}东阴鬼母,佑我家宁。{br}稚子安康,灾厄不侵。{br}道炁周流,福泽绵长。,,,,,
c03_s02_看完信后,给最好的朋友,方小蝉...嘶...我的头...,,,,, c03_s02_看完信后,给最好的朋友,方小蝉...嘶...我的头...,,,,,
c03_s02_演出结束,册那...什么鬼东西{br}刚才那个黑影不像是幻觉...,,,,, c03_s02_演出结束,册那...什么鬼东西{br}刚才那个黑影不像是幻觉...,,,,,
c03_s02_获得1015钥匙后,嘶...这是哪户人家的钥匙来着?,,,,, c03_s02_获得1015钥匙后,嘶...这是哪户人家的钥匙来着?,,,,,
c03_s03_纸娃娃,这些是...用来展示发型的吗?,,,,, c03_s03_纸娃娃,这些是...用来展示发型的吗?,,,,,
c03_s03_假头套,现在已经不时兴这些了。,,,,,
c03_s03_镜子,镜子上都是灰尘,,,,, c03_s03_镜子,镜子上都是灰尘,,,,,
c03_s03_照完镜子,看着镜子里的自己,竟有几分陌生,,,,, c03_s03_照完镜子,...{br}是小蝉吧...见怪不怪了。,,,,,
c03_s03_癞子呼吸声开始,{br}又是这个呼吸声?,,,,,
c03_s03_癞子纸人首次结束,这个假人的造型...有点像在墙缝里看到的那个男人。,,,,,
c03_s03_桌子,理发店常见的置物架,,,,, c03_s03_桌子,理发店常见的置物架,,,,,
c03_s03_洗头盆,和楼道里一样的洗头盆,,,,, c03_s03_洗头盆,和楼道里一样的洗头盆,,,,,
c03_s03_演出结束,又是幻觉吗...{br}刚才灰衣服的男人在八音盒和照片里出现过{br}还有那个红色衣服的女孩...{br}难道说...,,,,, c03_s03_演出结束,又是幻觉吗...{br}刚才灰衣服的男人在八音盒和照片里出现过{br}还有那个红色衣服的女孩...{br}难道说...,,,,,
c03_药车须知,抓药需足数三文,另需药方与药引,,,,, c03_药车须知,抓药需足数三文,另需药方与药引,,,,,
c03_抓药铜钱不足,钱还没准备够...牌子上讲需要三文,,,,, c03_抓药铜钱不足,钱还没准备够...牌子上讲需要三文,,,,,
c03_老板被吸走,...{br}铃铛声...{br}是我梦里那个铃铛声...,,,,, c03_老板被吸走,...{br}铃铛声...{br}是我梦里那个铃铛声...,,,,,
c03_s04_首次进入,1015...是刚才那对夫妻的房间吧。,,,,,
c03_s04_结婚照,王守义,李兰。,,,,,
c03_s04_留声机,雕花木镜...留声机...{br}这家人还挺有钱的。,,,,,
c03_s04_门后咳嗽声,咳嗽声是从门后传来的。,,,,,
c03_s04_柜子照片,吾唯一至亲 李二弟,,,,, c03_s04_柜子照片,吾唯一至亲 李二弟,,,,,
c03_s04_首次交互麻将盒,他们居然有一盒这么好的麻将...,,,,,
c03_s04_整理麻将盒1,数量不对啊,,,,,
c03_s04_整理麻将盒2,该理一理了,,,,,
c03_s04_麻将游戏结束,刚才的幻觉...{br}不像是我的记忆。,,,,,
c03_s04_李氏纸人首次互动,这假人什么时候摆在这的?,,,,,
c03_s04_李氏纸人求舌头,舌...头...,,,,,
c03_s04_李氏纸人求药,药...,,,,,
c03_招魂幡鬼差,...{br}还是别乱碰了,,,,, c03_招魂幡鬼差,...{br}还是别乱碰了,,,,,
c03_s05_长桌,这桌上的肉竟然没有腐烂,,,,, c03_s05_长桌,这桌上的肉竟然没有腐烂,,,,,
c03_s05_首次读完账本,...还是不要多想了,,,,, c03_s05_首次读完账本,...还是不要多想了,,,,,

1 keys zh_CN _character _notes _tags zh_SH en
给我药 [ID:] 给我药 [ID:]
2 index_新游戏 新游戏 New Game
3 index_继续游戏 继续游戏 Continue
4 index_退出游戏 退出游戏 Exit Game
45 ui_boxcat_press_s 按住 S 躲藏 Hold S to hide
46 input_拼凑信件 点击选择信件碎片,方向键移动,E 旋碎片转,Q 退出 Click to select letter fragments, arrow keys to move, E to rotate, Q to exit
47 input_书架游戏 点击书本可选中或交换,Q 退出 Click books to select or swap, Q to exit
48 ui_center_notify_lack_of_scissor 需要剪刀 不要剪刀
49 input_麻将游戏_麻将不足 还缺一块麻将 缺少麻将
50 input_麻将整理游戏_开始方式 取出「三筒」开启整理
51 input_麻将游戏_交换规则 依次点击两块麻将可进行交换 点击盒中的麻将与手里的麻将替换
52 input_麻将游戏_回合开始 回合开始,正确换牌后将自动打出
ui_center_notify_c03纸人浆糊舌头 帮我粘舌头
ui_center_notify_c03纸人求药 给我药
53 ui_center_notify_c03药车缺少物品 缺少药引
54 ui_center_notify_c03药车不能再取药材 同种药材只能取出一份
55 ui_center_notify_c03放到碗中或原处 药材只能放到碗中或原处
261 c02_demo公告 以上是《衔蝶》demo的全部内容啦,感谢你抽出宝贵的时间体验我们的游戏!{br}试玩虽然结束,但吕萍的旅程才刚刚开始,后面的故事将更加精彩!你在游戏中探索的每一步都是对我们的鼓励和支持!{br}在游戏上线前,我们将继续优化游戏内容,完善和打磨游戏设计、叙事流程,音效、画面表现等。{br}最后,欢迎你对《衔蝶》的试玩提出反馈,这对我们非常重要!期待与你的下次相遇,再见! That concludes the entire demo content of 'Holding the Butterfly'. Thank you for taking your precious time to experience our game!{br}Though the demo has ended, Lu Ping's journey has just begun, and the story ahead will be even more exciting! Every step you take exploring the game is encouragement and support for us!{br}Before the game's official release, we will continue optimizing the content, refining and polishing game design, narrative flow, sound effects, and visual presentation.{br}Finally, we welcome your feedback on the 'Holding the Butterfly' demo—it's very important to us! We look forward to meeting you again. Goodbye!
262 c03_s01_走近3012 3012号房,应该就是我小时候住的地方 Room 3012, this should be where I lived as a child
263 c03_s01_门口看病牌子 义诊 Free Medical Consultation
264 c03_s01_砖门 为什么要把原来的门给封起来?
265 c03_s01_杂物 这些物件虽然老旧...{br}但只要清理干净还是能继续使用的。
266 c03_s01_灶台 灶台上有一层黑黑的污垢,锅子里都是铁锈。
267 c03_s01_封住木门 这扇门也被封上了...
268 c03_s01_偷听完3012 奇怪...里面应该有人在的...{br}要不先去小蝉家看看吧 .....
269 c03_s02_note_key_coverer 太暗了看不清
270 c03_s02_未点灯 c03_s02_通风管道 ?打不开 打不开
c03_s02_通风管道 ?打不开
271 c03_s02_小蝉的床 没有任何属于小蝉的东西。{br}只有枕头孤零零地躺在那里。
272 c03_s02_带血的手帕 手帕上的血是暗红色的,看起来已经留在上面很久了
273 c03_s02_小蝉寻人启事 ?小蝉寻人启事 小蝉的寻人启事
274 c03_s02_糕点与符纸 桌上有块洋糕点,碗里还有半张符纸磨成的粉,是用来做什么的?
275 c03_s02_符纸内容 道贯阴阳,垂怜群生。{br}东阴鬼母,佑我家宁。{br}稚子安康,灾厄不侵。{br}道炁周流,福泽绵长。
276 c03_s02_看完信后 给最好的朋友,方小蝉...嘶...我的头...
277 c03_s02_演出结束 册那...什么鬼东西{br}刚才那个黑影不像是幻觉...
278 c03_s02_获得1015钥匙后 嘶...这是哪户人家的钥匙来着?
279 c03_s03_纸娃娃 这些是...用来展示发型的吗?
280 c03_s03_假头套 现在已经不时兴这些了。
281 c03_s03_镜子 镜子上都是灰尘
282 c03_s03_照完镜子 看着镜子里的自己,竟有几分陌生 ...{br}是小蝉吧...见怪不怪了。
283 c03_s03_癞子呼吸声开始 !?{br}又是这个呼吸声?
284 c03_s03_癞子纸人首次结束 这个假人的造型...有点像在墙缝里看到的那个男人。
285 c03_s03_桌子 理发店常见的置物架
286 c03_s03_洗头盆 和楼道里一样的洗头盆
287 c03_s03_演出结束 又是幻觉吗...{br}刚才灰衣服的男人在八音盒和照片里出现过{br}还有那个红色衣服的女孩...{br}难道说...
288 c03_药车须知 抓药需足数三文,另需药方与药引
289 c03_抓药铜钱不足 钱还没准备够...牌子上讲需要三文
290 c03_老板被吸走 ...{br}铃铛声...{br}是我梦里那个铃铛声...
291 c03_s04_首次进入 1015...是刚才那对夫妻的房间吧。
292 c03_s04_结婚照 王守义,李兰。
293 c03_s04_留声机 雕花木镜...留声机...{br}这家人还挺有钱的。
294 c03_s04_门后咳嗽声 咳嗽声是从门后传来的。
295 c03_s04_柜子照片 吾唯一至亲 李二弟
296 c03_s04_首次交互麻将盒 他们居然有一盒这么好的麻将...
297 c03_s04_整理麻将盒1 数量不对啊
298 c03_s04_整理麻将盒2 该理一理了
299 c03_s04_麻将游戏结束 刚才的幻觉...{br}不像是我的记忆。
300 c03_s04_李氏纸人首次互动 这假人什么时候摆在这的?
301 c03_s04_李氏纸人求舌头 舌...头...
302 c03_s04_李氏纸人求药 药...
303 c03_招魂幡鬼差 ...{br}还是别乱碰了
304 c03_s05_长桌 这桌上的肉竟然没有腐烂
305 c03_s05_首次读完账本 ...还是不要多想了

View File

@ -55,13 +55,11 @@
点击选择信件碎片方向键移动E 旋碎片转Q 退出 [ID:input_拼凑信件] 点击选择信件碎片方向键移动E 旋碎片转Q 退出 [ID:input_拼凑信件]
点击书本可选中或交换Q 退出 [ID:input_书架游戏] 点击书本可选中或交换Q 退出 [ID:input_书架游戏]
# c03 # c03
要剪刀 [ID:ui_center_notify_lack_of_scissor] 要剪刀 [ID:ui_center_notify_lack_of_scissor]
还缺一块麻将 [ID:input_麻将游戏_麻将不足] 缺少麻将 [ID:input_麻将游戏_麻将不足]
取出「三筒」开启整理 [ID:input_麻将整理游戏_开始方式] 取出「三筒」开启整理 [ID:input_麻将整理游戏_开始方式]
依次点击两块麻将可进行交换 [ID:input_麻将游戏_交换规则] 点击盒中的麻将与手里的麻将替换 [ID:input_麻将游戏_交换规则]
回合开始,正确换牌后将自动打出 [ID:input_麻将游戏_回合开始] 回合开始,正确换牌后将自动打出 [ID:input_麻将游戏_回合开始]
帮我粘舌头 [ID:ui_center_notify_c03纸人浆糊舌头]
给我药 [ID:ui_center_notify_c03纸人求药]
缺少药引 [ID:ui_center_notify_c03药车缺少物品] 缺少药引 [ID:ui_center_notify_c03药车缺少物品]
同种药材只能取出一份 [ID:ui_center_notify_c03药车不能再取药材] 同种药材只能取出一份 [ID:ui_center_notify_c03药车不能再取药材]
药材只能放到碗中或原处 [ID:ui_center_notify_c03放到碗中或原处] 药材只能放到碗中或原处 [ID:ui_center_notify_c03放到碗中或原处]
@ -339,22 +337,30 @@
# s01 三楼 # s01 三楼
3012号房应该就是我小时候住的地方 [ID:c03_s01_走近3012] 3012号房应该就是我小时候住的地方 [ID:c03_s01_走近3012]
义诊 [ID:c03_s01_门口看病牌子] 义诊 [ID:c03_s01_门口看病牌子]
为什么要把原来的门给封起来? [ID:c03_s01_砖门]
这些物件虽然老旧...{br}但只要清理干净还是能继续使用的。 [ID:c03_s01_杂物]
灶台上有一层黑黑的污垢,锅子里都是铁锈。 [ID:c03_s01_灶台]
这扇门也被封上了... [ID:c03_s01_封住木门]
奇怪...里面应该有人在的...{br}要不先去小蝉家看看吧 [ID:c03_s01_偷听完3012] 奇怪...里面应该有人在的...{br}要不先去小蝉家看看吧 [ID:c03_s01_偷听完3012]
# c03_s02 瞎子新卧室 # c03_s02 瞎子新卧室
太暗了看不清[ID:c03_s02_note_key_coverer] 太暗了看不清[ID:c03_s02_note_key_coverer]
?打不开[ID:c03_s02_未点灯] 打不开[ID:c03_s02_通风管道]
?打不开[ID:c03_s02_通风管道]
没有任何属于小蝉的东西。{br}只有枕头孤零零地躺在那里。 [ID:c03_s02_小蝉的床] 没有任何属于小蝉的东西。{br}只有枕头孤零零地躺在那里。 [ID:c03_s02_小蝉的床]
手帕上的血是暗红色的,看起来已经留在上面很久了 [ID:c03_s02_带血的手帕] 手帕上的血是暗红色的,看起来已经留在上面很久了 [ID:c03_s02_带血的手帕]
小蝉寻人启事 [ID:c03_s02_小蝉寻人启事] 小蝉寻人启事 [ID:c03_s02_小蝉寻人启事]
桌上有块洋糕点,碗里还有半张符纸磨成的粉,是用来做什么的? [ID:c03_s02_糕点与符纸] 桌上有块洋糕点,碗里还有半张符纸磨成的粉,是用来做什么的? [ID:c03_s02_糕点与符纸]
道贯阴阳,垂怜群生。{br}东阴鬼母,佑我家宁。{br}稚子安康,灾厄不侵。{br}道炁周流,福泽绵长。 [ID:c03_s02_符纸内容]
给最好的朋友,方小蝉...嘶...我的头... [ID:c03_s02_看完信后] 给最好的朋友,方小蝉...嘶...我的头... [ID:c03_s02_看完信后]
册那...什么鬼东西{br}刚才那个黑影不像是幻觉... [ID:c03_s02_演出结束] 册那...什么鬼东西{br}刚才那个黑影不像是幻觉... [ID:c03_s02_演出结束]
嘶...这是哪户人家的钥匙来着? [ID:c03_s02_获得1015钥匙后] 嘶...这是哪户人家的钥匙来着? [ID:c03_s02_获得1015钥匙后]
# s03 瞎子理发店 # s03 瞎子理发店
这些是...用来展示发型的吗? [ID:c03_s03_纸娃娃] 这些是...用来展示发型的吗? [ID:c03_s03_纸娃娃]
现在已经不时兴这些了。 [ID:c03_s03_假头套]
镜子上都是灰尘 [ID:c03_s03_镜子] 镜子上都是灰尘 [ID:c03_s03_镜子]
看着镜子里的自己,竟有几分陌生 [ID:c03_s03_照完镜子] 要命...搞不懂这种东西干嘛要藏起来... [ID:c03_s03_获得纸舌头后]
...{br}是小蝉吧...见怪不怪了。 [ID:c03_s03_照完镜子]
{br}又是这个呼吸声?[ID:c03_s03_癞子呼吸声开始]
这个假人的造型...有点像在墙缝里看到的那个男人。[ID:c03_s03_癞子纸人首次结束]
理发店常见的置物架 [ID:c03_s03_桌子] 理发店常见的置物架 [ID:c03_s03_桌子]
和楼道里一样的洗头盆 [ID:c03_s03_洗头盆] 和楼道里一样的洗头盆 [ID:c03_s03_洗头盆]
又是幻觉吗...{br}刚才灰衣服的男人在八音盒和照片里出现过{br}还有那个红色衣服的女孩...{br}难道说... [ID:c03_s03_演出结束] 又是幻觉吗...{br}刚才灰衣服的男人在八音盒和照片里出现过{br}还有那个红色衣服的女孩...{br}难道说... [ID:c03_s03_演出结束]
@ -363,7 +369,21 @@
钱还没准备够...牌子上讲需要三文 [ID:c03_抓药铜钱不足] 钱还没准备够...牌子上讲需要三文 [ID:c03_抓药铜钱不足]
...{br}铃铛声...{br}是我梦里那个铃铛声... [ID:c03_老板被吸走] ...{br}铃铛声...{br}是我梦里那个铃铛声... [ID:c03_老板被吸走]
# s04 李癞房间 # s04 李癞房间
1015...是刚才那对夫妻的房间吧。 [ID:c03_s04_首次进入]
王守义,李兰。 [ID:c03_s04_结婚照]
雕花木镜...留声机...{br}这家人还挺有钱的。 [ID:c03_s04_留声机]
咳嗽声是从门后传来的。 [ID:c03_s04_门后咳嗽声]
吾唯一至亲 李二弟 [ID:c03_s04_柜子照片] 吾唯一至亲 李二弟 [ID:c03_s04_柜子照片]
他们居然有一盒这么好的麻将... [ID:c03_s04_首次交互麻将盒]
数量不对啊 [ID:c03_s04_整理麻将盒1]
该理一理了 [ID:c03_s04_整理麻将盒2]
刚才的幻觉...{br}不像是我的记忆。 [ID:c03_s04_麻将游戏结束]
这假人什么时候摆在这的? [ID:c03_s04_李氏纸人首次互动]
舌...头... [ID:c03_s04_李氏纸人求舌头]
药... [ID:c03_s04_李氏纸人求药]
理发店的假人好像提到过剪刀... [ID:c03_s04_获得剪刀后]
2013...{br}这是那个肉铺老板家的钥匙。 [ID:c03_s04_获得钥匙后]
病终究还是没治好。 [ID:c03_s04_给药后]
...{br}还是别乱碰了 [ID:c03_招魂幡鬼差] ...{br}还是别乱碰了 [ID:c03_招魂幡鬼差]
# s05 肉铺 # s05 肉铺
这桌上的肉竟然没有腐烂 [ID:c03_s05_长桌] 这桌上的肉竟然没有腐烂 [ID:c03_s05_长桌]

View File

@ -1459,7 +1459,7 @@ metadata/_custom_type_script = "uid://0wjaho6qkg6s"
position = Vector2(1858, 24) position = Vector2(1858, 24)
script = ExtResource("75_0ek7o") script = ExtResource("75_0ek7o")
event_name = &"c03_li_paperwoman" event_name = &"c03_li_paperwoman"
event_stages = Array[int]([3]) event_stages = Array[int]([4, 5])
pre_event_name = &"current_chapter_stage" pre_event_name = &"current_chapter_stage"
pre_event_stages = Array[int]([3, 4, 5]) pre_event_stages = Array[int]([3, 4, 5])
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d" metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=72 format=3 uid="uid://cootarwb44vvh"] [gd_scene load_steps=73 format=3 uid="uid://cootarwb44vvh"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"]
[ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_二楼.gd" id="2_4dg6u"] [ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_二楼.gd" id="2_4dg6u"]
@ -33,6 +33,7 @@
[ext_resource type="AudioStream" uid="uid://oya48ab6e3ye" path="res://asset/audio/sfx/旧版/child/小孩从远到近跑步.ogg" id="14_lipxo"] [ext_resource type="AudioStream" uid="uid://oya48ab6e3ye" path="res://asset/audio/sfx/旧版/child/小孩从远到近跑步.ogg" id="14_lipxo"]
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="14_och2w"] [ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="14_och2w"]
[ext_resource type="SpriteFrames" uid="uid://b0icyhxpj16tv" path="res://asset/art/gif/c02_谢幕演出/c02_谢幕演出_frames.tres" id="15_k01ve"] [ext_resource type="SpriteFrames" uid="uid://b0icyhxpj16tv" path="res://asset/art/gif/c02_谢幕演出/c02_谢幕演出_frames.tres" id="15_k01ve"]
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="15_tw31y"]
[ext_resource type="Texture2D" uid="uid://1pr32tkx4ttl" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_煤油灯座.png" id="16_osg51"] [ext_resource type="Texture2D" uid="uid://1pr32tkx4ttl" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_煤油灯座.png" id="16_osg51"]
[ext_resource type="PackedScene" uid="uid://trkypc4gox20" path="res://scene/ground/script/c02/水盆特写.tscn" id="16_p6da7"] [ext_resource type="PackedScene" uid="uid://trkypc4gox20" path="res://scene/ground/script/c02/水盆特写.tscn" id="16_p6da7"]
[ext_resource type="AudioStream" uid="uid://fc7ocwfmtjyb" path="res://asset/audio/sfx/交互/第一章/sfx_撞墙1.ogg" id="17_4lf48"] [ext_resource type="AudioStream" uid="uid://fc7ocwfmtjyb" path="res://asset/audio/sfx/交互/第一章/sfx_撞墙1.ogg" id="17_4lf48"]
@ -1021,13 +1022,18 @@ move_configs = Array[Dictionary]([{
"animation": "疯子_慌张跑开", "animation": "疯子_慌张跑开",
"animation_next": "", "animation_next": "",
"duration": 1e+07, "duration": 1e+07,
"movement_x": 500.0, "movement_x": 1000.0,
"velocity": Vector2(-100, 0) "velocity": Vector2(-110, 0)
}]) }])
debug_mov_animation = "疯子_慌张跑开" debug_mov_animation = "疯子_慌张跑开"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Event2D疯子跑开/Pro疯子慌张跑开"]
position = Vector2(9, -9)
energy = 0.3
texture = ExtResource("15_tw31y")
[node name="Ambush疯子慌张跑开" parent="Ground/DeployLayer/Event2D疯子跑开" instance=ExtResource("14_k01ve")] [node name="Ambush疯子慌张跑开" parent="Ground/DeployLayer/Event2D疯子跑开" instance=ExtResource("14_k01ve")]
position = Vector2(125, 46) position = Vector2(192, 46)
enter_affected_by_visibility = true enter_affected_by_visibility = true
[node name="楼梯蜡烛" type="Node2D" parent="Ground/DeployLayer" index="8"] [node name="楼梯蜡烛" type="Node2D" parent="Ground/DeployLayer" index="8"]
@ -1360,8 +1366,10 @@ hook_method = "glimpse_hide_out"
[node name="Event_小猫纸条" type="Node2D" parent="Ground/DeployLayer" index="23"] [node name="Event_小猫纸条" type="Node2D" parent="Ground/DeployLayer" index="23"]
position = Vector2(164, 42) position = Vector2(164, 42)
script = ExtResource("35_h3h1a") script = ExtResource("35_h3h1a")
pre_event_name = &"c02_ball_game_stage" event_name = &"c02_ball_game_stage"
pre_event_stages = Array[int]([3]) event_stages = Array[int]([3])
pre_event_name = &"current_chapter_stage"
pre_event_stages = Array[int]([2])
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d" metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event_小猫纸条"] [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event_小猫纸条"]
@ -1459,6 +1467,7 @@ texture = ExtResource("5_26mqt")
points = PackedVector2Array(26, 150, 900, 150) points = PackedVector2Array(26, 150, 900, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"] [node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.9 energy = 0.9
blend_mode = 1 blend_mode = 1

View File

@ -25,18 +25,3 @@ func _setup_node_reference() -> void:
func _on_ground_ready() -> void: func _on_ground_ready() -> void:
pass pass
func eavesdrop_luren() -> void:
# 12 c00_吕萍_蹲下 13 c00_吕萍_蹲下呼吸 14 c00_吕萍_起立
SceneManager.lock_player(0, 12)
await Util.wait(1)
SceneManager.player_action(13)
# 对话
DialogueManager.show_dialogue_balloon(dialogue_c03, "c03_s01_三楼偷听陆仁小蝶")
await DialogueManager.dialogue_ended
await Util.wait(1.0)
EventManager.set_stage("c03_invite_xchan_supper", 1)
await Util.wait(1.5)
SceneManager.player_action(14, true)
await SceneManager.pop_os_with_str("c03_s01_偷听完3012")
SceneManager.unlock_player()

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=33 format=3 uid="uid://dlrbhfvnd3cs0"] [gd_scene load_steps=29 format=3 uid="uid://dlrbhfvnd3cs0"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_eb2op"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_eb2op"]
[ext_resource type="Script" uid="uid://c0rh2n36ait6i" path="res://scene/ground/scene/c03/s01_三楼.gd" id="2_ow08b"] [ext_resource type="Script" uid="uid://c0rh2n36ait6i" path="res://scene/ground/scene/c03/s01_三楼.gd" id="2_ow08b"]
@ -9,13 +9,9 @@
[ext_resource type="Texture2D" uid="uid://djoft6600kly6" path="res://asset/art/scene/c03/s01_三楼/fg_前景.png" id="5_ow08b"] [ext_resource type="Texture2D" uid="uid://djoft6600kly6" path="res://asset/art/scene/c03/s01_三楼/fg_前景.png" id="5_ow08b"]
[ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="5_tutxu"] [ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="5_tutxu"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="6_cpxnf"] [ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="6_cpxnf"]
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="6_obrgj"]
[ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="6_yaa68"] [ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="6_yaa68"]
[ext_resource type="PackedScene" uid="uid://wvb1wy8l28et" path="res://scene/ground/script/c03/s01_closeup_demo公告.tscn" id="7_d27sg"]
[ext_resource type="Script" uid="uid://bkkiyk5jkdw4d" path="res://manager/event_manager/event2d.gd" id="7_obrgj"]
[ext_resource type="SpriteFrames" uid="uid://cljrkkmy2pwdp" path="res://asset/art/gif/c03_三楼/c03_三楼_frames.tres" id="10_krvxg"] [ext_resource type="SpriteFrames" uid="uid://cljrkkmy2pwdp" path="res://asset/art/gif/c03_三楼/c03_三楼_frames.tres" id="10_krvxg"]
[ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="11_4y4hg"] [ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="11_4y4hg"]
[ext_resource type="Texture2D" uid="uid://brsrkwf0k0bpn" path="res://asset/art/scene/demo额外/demo感谢告示场景.png" id="11_amci2"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="12_5ov12"] [ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="12_5ov12"]
[ext_resource type="Texture2D" uid="uid://1pr32tkx4ttl" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_煤油灯座.png" id="13_1031a"] [ext_resource type="Texture2D" uid="uid://1pr32tkx4ttl" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_煤油灯座.png" id="13_1031a"]
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="14_v0mby"] [ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="14_v0mby"]
@ -128,7 +124,27 @@ texture = ExtResource("19_hmme5")
title_filter = "c03" title_filter = "c03"
note_key = "c03_s01_门口看病牌子" note_key = "c03_s01_门口看病牌子"
[node name="Interactable放肉处" parent="Ground/DeployLayer" index="4" instance=ExtResource("5_tutxu")] [node name="Note砖门" parent="Ground/DeployLayer" index="4" instance=ExtResource("18_0xq6i")]
position = Vector2(347, 0)
title_filter = "c03"
note_key = "c03_s01_砖门"
[node name="Note杂物" parent="Ground/DeployLayer" index="5" instance=ExtResource("18_0xq6i")]
position = Vector2(246, -2)
title_filter = "c03"
note_key = "c03_s01_杂物"
[node name="Note灶台" parent="Ground/DeployLayer" index="6" instance=ExtResource("18_0xq6i")]
position = Vector2(126, 12)
title_filter = "c03"
note_key = "c03_s01_灶台"
[node name="Note封住木门" parent="Ground/DeployLayer" index="7" instance=ExtResource("18_0xq6i")]
position = Vector2(48, 0)
title_filter = "c03"
note_key = "c03_s01_封住木门"
[node name="Interactable放肉处" parent="Ground/DeployLayer" index="8" instance=ExtResource("5_tutxu")]
position = Vector2(567, 39) position = Vector2(567, 39)
disable_prop_after_interacted = true disable_prop_after_interacted = true
prop_key = "prop_奇怪的肉" prop_key = "prop_奇怪的肉"
@ -139,25 +155,7 @@ trigger_event = &"c03_s01_meat_put"
trigger_mode = "interacted" trigger_mode = "interacted"
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="Event2D放肉后" type="Node2D" parent="Ground/DeployLayer" index="5"] [node name="小蜡烛系列" type="Node2D" parent="Ground/DeployLayer" index="9"]
script = ExtResource("7_obrgj")
event_name = &"c03_s01_meat_put"
event_stages = Array[int]([1])
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
[node name="CloseupDemo公告" parent="Ground/DeployLayer/Event2D放肉后" instance=ExtResource("6_obrgj")]
position = Vector2(573, -6)
texture = ExtResource("11_amci2")
packed_scene = ExtResource("7_d27sg")
on_display_hide_hud = true
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Event2D放肉后/CloseupDemo公告"]
script = ExtResource("6_yaa68")
updater_event = &"release_stage"
updater_stages = Array[int]([0])
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="小蜡烛系列" type="Node2D" parent="Ground/DeployLayer" index="6"]
position = Vector2(0, 6) position = Vector2(0, 6)
[node name="小蜡烛" type="AnimatedSprite2D" parent="Ground/DeployLayer/小蜡烛系列"] [node name="小蜡烛" type="AnimatedSprite2D" parent="Ground/DeployLayer/小蜡烛系列"]
@ -230,7 +228,7 @@ blend_mode = 2
texture = ExtResource("12_5ov12") texture = ExtResource("12_5ov12")
texture_scale = 0.3 texture_scale = 0.3
[node name="煤油灯2" type="Sprite2D" parent="Ground/DeployLayer" index="7"] [node name="煤油灯2" type="Sprite2D" parent="Ground/DeployLayer" index="10"]
position = Vector2(469, 2) position = Vector2(469, 2)
texture = ExtResource("13_1031a") texture = ExtResource("13_1031a")
@ -248,13 +246,13 @@ energy = 2.0
blend_mode = 2 blend_mode = 2
texture = ExtResource("15_fnwup") texture = ExtResource("15_fnwup")
[node name="纸人" type="Sprite2D" parent="Ground/DeployLayer" index="8"] [node name="纸人" type="Sprite2D" parent="Ground/DeployLayer" index="11"]
position = Vector2(637, 25) position = Vector2(637, 25)
scale = Vector2(0.8, 0.8) scale = Vector2(0.8, 0.8)
texture = ExtResource("5_fnwup") texture = ExtResource("5_fnwup")
flip_h = true flip_h = true
[node name="Event2D偷听陆仁" type="Node2D" parent="Ground/DeployLayer" index="9"] [node name="Event2D偷听陆仁" type="Node2D" parent="Ground/DeployLayer" index="12"]
script = ExtResource("22_axwjj") script = ExtResource("22_axwjj")
event_name = &"c03_invite_xchan_supper" event_name = &"c03_invite_xchan_supper"
event_stages = Array[int]([0]) event_stages = Array[int]([0])
@ -278,7 +276,6 @@ texture = SubResource("GradientTexture2D_4rrrd")
position = Vector2(434, 9) position = Vector2(434, 9)
trigger_mode = "interact" trigger_mode = "interact"
one_shot = false one_shot = false
hook_method = "eavesdrop_luren"
[node name="MainPlayer" parent="Ground" index="5"] [node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(34, 98) position = Vector2(34, 98)

View File

@ -74,10 +74,9 @@ func _set_notes_coverer(coverer: String) -> void:
func scratching_cat_interacted() -> void: func scratching_cat_interacted() -> void:
# 蹲下 起立 # 蹲下 起立
await SceneManager.lock_player() SceneManager.lock_player()
$"../DeployLayer/Ambush小猫挠墙/小猫挠墙".play("小猫挠墙") $"../DeployLayer/Ambush小猫挠墙/小猫挠墙".play("小猫挠墙")
await Util.wait(1.5) await Util.wait(3.5)
# 自动隐藏 # 自动隐藏
EventManager.set_stage("c03_invite_xchan_supper", 3) EventManager.set_stage("c03_invite_xchan_supper", 3)
pickable李癞钥匙.visible = true
SceneManager.unlock_player() SceneManager.unlock_player()

View File

@ -1,8 +1,8 @@
[gd_scene load_steps=39 format=3 uid="uid://ctwy1ubhm68la"] [gd_scene load_steps=41 format=3 uid="uid://ctwy1ubhm68la"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_jad6f"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_jad6f"]
[ext_resource type="Script" uid="uid://tk4wg0i4payx" path="res://scene/ground/scene/c03/s02_瞎子新卧室.gd" id="2_y504i"] [ext_resource type="Script" uid="uid://tk4wg0i4payx" path="res://scene/ground/scene/c03/s02_瞎子新卧室.gd" id="2_y504i"]
[ext_resource type="AudioStream" uid="uid://6gttowdwmado" path="res://asset/audio/sfx/环境音/第一章/房间内部场景1.ogg" id="3_5cqb4"] [ext_resource type="AudioStream" uid="uid://b2mudqvq1dmng" path="res://asset/audio/sfx/环境音/白噪音/白噪声房间里1.ogg" id="3_kesv8"]
[ext_resource type="Texture2D" uid="uid://vc2hn6t5bedg" path="res://asset/art/scene/c03/s02_瞎子新卧室/bg_瞎子新卧室.png" id="4_hehhg"] [ext_resource type="Texture2D" uid="uid://vc2hn6t5bedg" path="res://asset/art/scene/c03/s02_瞎子新卧室/bg_瞎子新卧室.png" id="4_hehhg"]
[ext_resource type="Texture2D" uid="uid://7ay1ttob8qwm" path="res://asset/art/scene/c02/s08_瞎子卧室/e_床板.png" id="5_xifhb"] [ext_resource type="Texture2D" uid="uid://7ay1ttob8qwm" path="res://asset/art/scene/c02/s08_瞎子卧室/e_床板.png" id="5_xifhb"]
[ext_resource type="Texture2D" uid="uid://bgtxwxerl2dxh" path="res://asset/art/scene/c02/s08_瞎子卧室/十字架.png" id="6_hehhg"] [ext_resource type="Texture2D" uid="uid://bgtxwxerl2dxh" path="res://asset/art/scene/c02/s08_瞎子卧室/十字架.png" id="6_hehhg"]
@ -23,6 +23,7 @@
[ext_resource type="PackedScene" uid="uid://dsa6frlw6e6gg" path="res://scene/entity/pickable.tscn" id="13_v3seo"] [ext_resource type="PackedScene" uid="uid://dsa6frlw6e6gg" path="res://scene/entity/pickable.tscn" id="13_v3seo"]
[ext_resource type="Texture2D" uid="uid://c86bfer5qwp2g" path="res://asset/art/scene/c03/s02_瞎子新卧室/桌上放着邀请信.png" id="13_yl4ee"] [ext_resource type="Texture2D" uid="uid://c86bfer5qwp2g" path="res://asset/art/scene/c03/s02_瞎子新卧室/桌上放着邀请信.png" id="13_yl4ee"]
[ext_resource type="Texture2D" uid="uid://l7cuvw1k5xc1" path="res://asset/art/scene/c03/s02_瞎子新卧室/洋糕点和符纸.png" id="18_t8u8e"] [ext_resource type="Texture2D" uid="uid://l7cuvw1k5xc1" path="res://asset/art/scene/c03/s02_瞎子新卧室/洋糕点和符纸.png" id="18_t8u8e"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="22_jchds"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="23_6show"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="23_6show"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="23_qq2pn"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="23_qq2pn"]
[ext_resource type="SpriteFrames" uid="uid://c218xrr85jdc7" path="res://asset/art/gif/c03_小小小蝶上楼道/c03_小小小蝶上楼道_frames.tres" id="24_5cqb4"] [ext_resource type="SpriteFrames" uid="uid://c218xrr85jdc7" path="res://asset/art/gif/c03_小小小蝶上楼道/c03_小小小蝶上楼道_frames.tres" id="24_5cqb4"]
@ -31,6 +32,7 @@
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="24_t3gtq"] [ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="24_t3gtq"]
[ext_resource type="AudioStream" uid="uid://b08ps5rke143i" path="res://asset/audio/sfx/交互/第二章/amb_灰姑演出.ogg" id="26_kesv8"] [ext_resource type="AudioStream" uid="uid://b08ps5rke143i" path="res://asset/audio/sfx/交互/第二章/amb_灰姑演出.ogg" id="26_kesv8"]
[ext_resource type="AudioStream" uid="uid://bx2l0xus8u1em" path="res://asset/audio/sfx/交互/第二章/sfx_灰姑出场.ogg" id="27_jchds"] [ext_resource type="AudioStream" uid="uid://bx2l0xus8u1em" path="res://asset/audio/sfx/交互/第二章/sfx_灰姑出场.ogg" id="27_jchds"]
[ext_resource type="Script" uid="uid://cnt01hiw52bmn" path="res://scene/entity/ux/sign_snapper.gd" id="32_740dl"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
@ -160,7 +162,7 @@ libraries = {
script = ExtResource("2_y504i") script = ExtResource("2_y504i")
[node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] [node name="Sfx背景音" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"]
stream = ExtResource("3_5cqb4") stream = ExtResource("3_kesv8")
volume_db = -5.0 volume_db = -5.0
autoplay = true autoplay = true
bus = &"game_sfx" bus = &"game_sfx"
@ -230,7 +232,8 @@ script = ExtResource("12_es0xo")
updater_event = &"c03_invite_xchan_supper" updater_event = &"c03_invite_xchan_supper"
updater_mode = "shower" updater_mode = "shower"
updater_ease_duration = 0.0 updater_ease_duration = 0.0
updater_stages = Array[int]([2]) updater_stage_mode = "exclude"
updater_stages = Array[int]([0, 1])
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="Pickable邀请信" parent="Ground/DeployLayer" index="7" instance=ExtResource("13_v3seo")] [node name="Pickable邀请信" parent="Ground/DeployLayer" index="7" instance=ExtResource("13_v3seo")]
@ -291,6 +294,11 @@ libraries = {
&"": SubResource("AnimationLibrary_kesv8") &"": SubResource("AnimationLibrary_kesv8")
} }
[node name="Sfx2D瞎子咳嗽" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Event2D偷听陆仁对话后"]
bus = &"game_sfx"
script = ExtResource("22_jchds")
metadata/_custom_type_script = "uid://wapo47a1oddf"
[node name="灯光" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event2D偷听陆仁对话后"] [node name="灯光" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event2D偷听陆仁对话后"]
position = Vector2(167, 17) position = Vector2(167, 17)
scale = Vector2(0.3, 0.3) scale = Vector2(0.3, 0.3)
@ -370,6 +378,10 @@ texture = ExtResource("24_ac6iq")
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Pickable李癞钥匙"] [node name="EventBinder" type="Node" parent="Ground/DeployLayer/Pickable李癞钥匙"]
script = ExtResource("12_es0xo") script = ExtResource("12_es0xo")
updater_event = &"c03_invite_xchan_supper"
updater_mode = "shower"
updater_ease_duration = 0.0
updater_stages = Array[int]([3])
trigger_event = &"c03_invite_xchan_supper" trigger_event = &"c03_invite_xchan_supper"
trigger_mode = "triggered" trigger_mode = "triggered"
trigger_stage = 4 trigger_stage = 4
@ -385,6 +397,7 @@ hook_method = "scratching_cat_interacted"
script = ExtResource("12_es0xo") script = ExtResource("12_es0xo")
updater_event = &"c03_invite_xchan_supper" updater_event = &"c03_invite_xchan_supper"
updater_mode = "shower" updater_mode = "shower"
updater_ease_duration = 0.0
updater_stages = Array[int]([2]) updater_stages = Array[int]([2])
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"
@ -394,6 +407,14 @@ sprite_frames = ExtResource("10_2hv3f")
animation = &"小猫呼吸" animation = &"小猫呼吸"
autoplay = "小猫呼吸" autoplay = "小猫呼吸"
[node name="SignSnapper" type="Marker2D" parent="Ground/DeployLayer/Ambush小猫挠墙"]
position = Vector2(8, 11)
script = ExtResource("32_740dl")
radius = 20.0
walk_to_edge = true
face_inside_on_edge = true
metadata/_custom_type_script = "uid://cnt01hiw52bmn"
[node name="MainPlayer" parent="Ground" index="5"] [node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 95) position = Vector2(63, 95)
catty_light_energy = 0.5 catty_light_energy = 0.5

View File

@ -4,7 +4,10 @@ extends AnimationRoot
# 覆盖该方法 # 覆盖该方法
func _default_data() -> Dictionary: func _default_data() -> Dictionary:
return {} return {
"laizi_has_exited": false,
"paper_tongue_os": false,
}
func _ready() -> void: func _ready() -> void:
@ -19,6 +22,8 @@ var closeup刮海报_鬼母子: Closeup2D
var closeup镜子特写: Closeup2D var closeup镜子特写: Closeup2D
#endregion #endregion
@onready var sfx_laizi_breath = $"Sfx2d癞子呼吸声" as Sfx2D
# 读取设置变量名 # 读取设置变量名
func _setup_node_reference() -> void: func _setup_node_reference() -> void:
@ -28,8 +33,9 @@ func _setup_node_reference() -> void:
func _on_ground_ready() -> void: func _on_ground_ready() -> void:
closeup刮海报_鬼母子.exit.connect(_check_if_flyer_shaven) closeup刮海报_鬼母子.exit.connect(_on_hariti_exited)
_check_if_flyer_shaven() _check_if_flyer_shaven()
closeup癞子纸人.interacted.connect(_on_laizi_interacted)
closeup癞子纸人.exit.connect(_on_laizi_exit) closeup癞子纸人.exit.connect(_on_laizi_exit)
var braid_satge := EventManager.get_stage("c03_s03_laizi_braid") var braid_satge := EventManager.get_stage("c03_s03_laizi_braid")
if braid_satge >= 1: if braid_satge >= 1:
@ -38,7 +44,18 @@ func _on_ground_ready() -> void:
closeup癞子纸人.display() closeup癞子纸人.display()
func _check_if_flyer_shaven(_arg = false) -> void: func _on_laizi_interacted() -> void:
sfx_laizi_breath.change_volumn_db(5.0, 2.0)
func _on_hariti_exited(_arg = false) -> void:
_check_if_flyer_shaven()
if not data["paper_tongue_os"] and SceneManager.has_prop("prop_纸舌头"):
set_data("paper_tongue_os", true)
SceneManager.pop_os_with_str("c03_s03_获得纸舌头后")
func _check_if_flyer_shaven() -> void:
if ArchiveManager.get_global_value("c03_barber_shave_flyer"): if ArchiveManager.get_global_value("c03_barber_shave_flyer"):
closeup刮海报_鬼母子.texture = null closeup刮海报_鬼母子.texture = null
@ -48,6 +65,11 @@ func _check_if_flyer_shaven(_arg = false) -> void:
# 1. Closeup癞子纸人 exit true 后 # 1. Closeup癞子纸人 exit true 后
# 2. 自身 _on_ground_ready # 2. 自身 _on_ground_ready
func _on_laizi_exit(_arg = false) -> void: func _on_laizi_exit(_arg = false) -> void:
sfx_laizi_breath.reset_volumn_to_default()
if not data["laizi_has_exited"]:
set_data("laizi_has_exited", true)
await Util.wait(0.50)
SceneManager.pop_os_with_str("c03_s03_癞子纸人首次结束")
if _arg: if _arg:
_setup_beheaded_laizi_paperman() _setup_beheaded_laizi_paperman()
$"../DeployLayer/Event2D癞子剪辫子".start_show() $"../DeployLayer/Event2D癞子剪辫子".start_show()
@ -56,3 +78,10 @@ func _on_laizi_exit(_arg = false) -> void:
func _setup_beheaded_laizi_paperman(): func _setup_beheaded_laizi_paperman():
$"../DeployLayer/癞子纸人/癞子纸人头套".hide() $"../DeployLayer/癞子纸人/癞子纸人头套".hide()
closeup癞子纸人.enabled = false closeup癞子纸人.enabled = false
func laizi_start_breath() -> void:
# 开始呼吸
EventManager.set_stage("c03_s03_laizi_breath", 1)
await Util.wait(0.5)
SceneManager.pop_os_with_str("c03_s03_癞子呼吸声开始")

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=27 format=3 uid="uid://bsqt2c061fmin"] [gd_scene load_steps=28 format=3 uid="uid://bsqt2c061fmin"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_40yjl"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_40yjl"]
[ext_resource type="Script" uid="uid://cim5bqm2nayls" path="res://scene/ground/scene/c03/s03_瞎子理发店.gd" id="2_irgvj"] [ext_resource type="Script" uid="uid://cim5bqm2nayls" path="res://scene/ground/scene/c03/s03_瞎子理发店.gd" id="2_irgvj"]
@ -25,6 +25,7 @@
[ext_resource type="PackedScene" uid="uid://0sofmhrl358m" path="res://scene/entity/npc.tscn" id="15_pkhgt"] [ext_resource type="PackedScene" uid="uid://0sofmhrl358m" path="res://scene/entity/npc.tscn" id="15_pkhgt"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="17_fq03x"] [ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="17_fq03x"]
[ext_resource type="Texture2D" uid="uid://23m7ga6tsgja" path="res://asset/art/scene/c03/s03_瞎子理发店/纸人-抬手.png" id="24_2l5gj"] [ext_resource type="Texture2D" uid="uid://23m7ga6tsgja" path="res://asset/art/scene/c03/s03_瞎子理发店/纸人-抬手.png" id="24_2l5gj"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="25_yw0mj"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
@ -55,16 +56,15 @@ metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx2d癞子呼吸声" parent="Ground/AnimationPlayer" index="1" instance=ExtResource("5_cdaxx")] [node name="Sfx2d癞子呼吸声" parent="Ground/AnimationPlayer" index="1" instance=ExtResource("5_cdaxx")]
position = Vector2(343, 42) position = Vector2(343, 42)
stream = ExtResource("6_xevnq") stream = ExtResource("6_xevnq")
volume_db = -7.0 volume_db = -10.0
max_distance = 700.0 max_distance = 400.0
attenuation = 3.0 attenuation = 4.0
loop = true loop = true
[node name="EventBinder" type="Node" parent="Ground/AnimationPlayer/Sfx2d癞子呼吸声"] [node name="EventBinder" type="Node" parent="Ground/AnimationPlayer/Sfx2d癞子呼吸声"]
script = ExtResource("7_xevnq") script = ExtResource("7_xevnq")
updater_event = &"c03_s03_laizi_breath" updater_event = &"c03_s03_laizi_breath"
updater_mode = "player" updater_mode = "player"
updater_stages = Array[int]([0])
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="BGSprite2D" parent="Ground" index="2"] [node name="BGSprite2D" parent="Ground" index="2"]
@ -202,6 +202,16 @@ offset = Vector2(12.89, 10.5)
title_filter = "c03" title_filter = "c03"
note_key = "c03_s03_纸娃娃" note_key = "c03_s03_纸娃娃"
[node name="Note假头套" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_1pu6f")]
position = Vector2(184, 4)
offset = Vector2(12.89, 10.5)
title_filter = "c03"
note_key = "c03_s03_假头套"
[node name="Ambush癞子呼吸" parent="Ground/DeployLayer" index="11" instance=ExtResource("25_yw0mj")]
position = Vector2(279, 58)
hook_method = "laizi_start_breath"
[node name="MainPlayer" parent="Ground" index="5"] [node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(34, 98) position = Vector2(34, 98)
catty_light_energy = 0.5 catty_light_energy = 0.5

View File

@ -4,7 +4,11 @@ extends AnimationRoot
# 覆盖该方法 # 覆盖该方法
func _default_data() -> Dictionary: func _default_data() -> Dictionary:
return {} return {
"has_entered": false,
"scissor_os": false,
"key_os": false,
}
func _ready() -> void: func _ready() -> void:
@ -40,6 +44,13 @@ func _on_ground_ready() -> void:
closeup整理麻将游戏.exit.connect(_on_exit_sort_mahjong_game) closeup整理麻将游戏.exit.connect(_on_exit_sort_mahjong_game)
closeup麻将出千游戏.exit.connect(_on_exit_cheat_mahjong_game) closeup麻将出千游戏.exit.connect(_on_exit_cheat_mahjong_game)
closeup李氏纸人.exit.connect(_on_lipaperwoman_exited)
if not data["has_entered"]:
set_data("has_entered", true)
await Util.wait(0.5)
SceneManager.pop_os_with_str("c03_s04_首次进入")
func _on_exit_sort_mahjong_game(arg) -> void: func _on_exit_sort_mahjong_game(arg) -> void:
if arg: if arg:
@ -54,3 +65,27 @@ func _on_exit_cheat_mahjong_game(arg) -> void:
EventManager.set_stage_if_greater("c03_mahjong_game", 3) EventManager.set_stage_if_greater("c03_mahjong_game", 3)
EventManager.set_stage_if_greater("c03_li_paperwoman", 1) EventManager.set_stage_if_greater("c03_li_paperwoman", 1)
closeup麻将出千游戏.enabled = false closeup麻将出千游戏.enabled = false
# 渐隐黑屏3-5s黑屏头痛效果+音效,回到横板后玩家位置动画为坐靠在麻将桌左侧,站起后气泡文字
SceneManager.lock_player()
var player = SceneManager.get_player() as MainPlayer
player.global_position.x = 443.0
player.set_facing_direction(Vector2.LEFT)
player.player_action(19, true)
player.toggle_pause_state(true)
await Util.wait(2.0)
SceneManager.dizzy_effect(3.5, 1.5, false)
await Util.wait(3.0)
player.toggle_pause_state(false)
await player.animation_finished
SceneManager.pop_os_with_str("c03_s04_麻将游戏结束")
SceneManager.unlock_player()
# EventManager.set_stage_if_greater("hand", 10)
func _on_lipaperwoman_exited(_arg = null) -> void:
if not data["scissor_os"] and SceneManager.has_prop("prop_剪刀"):
set_data("scissor_os", true)
SceneManager.pop_os_with_str("c03_s04_获得剪刀后")
elif not data["key_os"] and SceneManager.has_prop("prop_2013钥匙"):
set_data("key_os", true)
SceneManager.pop_os_with_str("c03_s04_获得钥匙后")

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=27 format=3 uid="uid://c7c88hg2cl1j7"] [gd_scene load_steps=31 format=3 uid="uid://c7c88hg2cl1j7"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_byh4s"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_byh4s"]
[ext_resource type="Script" uid="uid://byw2swgt783oa" path="res://scene/ground/scene/c03/s04_李癞房间.gd" id="2_vjibx"] [ext_resource type="Script" uid="uid://byw2swgt783oa" path="res://scene/ground/scene/c03/s04_李癞房间.gd" id="2_vjibx"]
@ -15,8 +15,10 @@
[ext_resource type="PackedScene" uid="uid://t61o0vpm0e11" path="res://scene/ground/script/c03/s04_closeup李氏纸人.tscn" id="10_o2w5q"] [ext_resource type="PackedScene" uid="uid://t61o0vpm0e11" path="res://scene/ground/script/c03/s04_closeup李氏纸人.tscn" id="10_o2w5q"]
[ext_resource type="Script" uid="uid://bbfyvhhhcdet8" path="res://scene/ground/script/c03/s04_event_李氏纸人相关.gd" id="11_4umel"] [ext_resource type="Script" uid="uid://bbfyvhhhcdet8" path="res://scene/ground/script/c03/s04_event_李氏纸人相关.gd" id="11_4umel"]
[ext_resource type="Texture2D" uid="uid://p7eeml2vadvc" path="res://asset/art/scene/c03/s04_李癞房间/李氏纸人.png" id="11_7d7lv"] [ext_resource type="Texture2D" uid="uid://p7eeml2vadvc" path="res://asset/art/scene/c03/s04_李癞房间/李氏纸人.png" id="11_7d7lv"]
[ext_resource type="Texture2D" uid="uid://b5knp0c6s0ad7" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/e_柜子照片与碗.png" id="11_7jj1o"]
[ext_resource type="Texture2D" uid="uid://cwrq3g5rd5i3t" path="res://asset/art/scene/c03/s04_李癞房间/花圈_无支撑.png" id="12_r0k7c"] [ext_resource type="Texture2D" uid="uid://cwrq3g5rd5i3t" path="res://asset/art/scene/c03/s04_李癞房间/花圈_无支撑.png" id="12_r0k7c"]
[ext_resource type="Texture2D" uid="uid://c1o30ess5p0ev" path="res://asset/art/scene/c03/s04_李癞房间/纸钱.png" id="14_ueha8"] [ext_resource type="Texture2D" uid="uid://c1o30ess5p0ev" path="res://asset/art/scene/c03/s04_李癞房间/纸钱.png" id="14_ueha8"]
[ext_resource type="Texture2D" uid="uid://dukbmlqdpx762" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/e_柜子碗.png" id="15_vgq24"]
[ext_resource type="Texture2D" uid="uid://diimwy2vwda4i" path="res://asset/art/scene/c03/s04_李癞房间/丧事柜子部件.png" id="16_4umel"] [ext_resource type="Texture2D" uid="uid://diimwy2vwda4i" path="res://asset/art/scene/c03/s04_李癞房间/丧事柜子部件.png" id="16_4umel"]
[ext_resource type="PackedScene" uid="uid://bq1ngudr2hnkg" path="res://scene/entity/audio/sfx2d.tscn" id="16_drhpr"] [ext_resource type="PackedScene" uid="uid://bq1ngudr2hnkg" path="res://scene/entity/audio/sfx2d.tscn" id="16_drhpr"]
[ext_resource type="AudioStream" uid="uid://qvy062jtmtbn" path="res://asset/audio/mixkit/mixkit-man-coughing-2224.ogg" id="17_tk48j"] [ext_resource type="AudioStream" uid="uid://qvy062jtmtbn" path="res://asset/audio/mixkit/mixkit-man-coughing-2224.ogg" id="17_tk48j"]
@ -24,6 +26,8 @@
[ext_resource type="AudioStream" uid="uid://cvp1j6211ghtj" path="res://asset/audio/mixkit/mixkit-sick-male-cough-2225.ogg" id="19_27fnr"] [ext_resource type="AudioStream" uid="uid://cvp1j6211ghtj" path="res://asset/audio/mixkit/mixkit-sick-male-cough-2225.ogg" id="19_27fnr"]
[ext_resource type="AudioStream" uid="uid://bkbs5hwxuou4r" path="res://asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg" id="20_27fnr"] [ext_resource type="AudioStream" uid="uid://bkbs5hwxuou4r" path="res://asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg" id="20_27fnr"]
[ext_resource type="PackedScene" uid="uid://b6ymfeft65wof" path="res://scene/ground/script/c03/s04_closeup柜子.tscn" id="23_q7jtk"] [ext_resource type="PackedScene" uid="uid://b6ymfeft65wof" path="res://scene/ground/script/c03/s04_closeup柜子.tscn" id="23_q7jtk"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="24_27fnr"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="27_aibcw"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
@ -81,6 +85,7 @@ position = Vector2(219, 63)
packed_scene = ExtResource("7_jmyby") packed_scene = ExtResource("7_jmyby")
quit_closeup_on_cancel = false quit_closeup_on_cancel = false
on_display_changed_volumn_db = -20.0 on_display_changed_volumn_db = -20.0
first_interact_os_key = "c03_s04_首次交互麻将盒"
[node name="Closeup麻将出千游戏" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_dbkw8")] [node name="Closeup麻将出千游戏" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_dbkw8")]
unique_name_in_owner = true unique_name_in_owner = true
@ -90,10 +95,28 @@ quit_closeup_on_cancel = false
on_display_changed_volumn_db = -20.0 on_display_changed_volumn_db = -20.0
enabled = false enabled = false
[node name="Event李氏纸人相关" type="Node2D" parent="Ground/DeployLayer" index="5"] [node name="Closeup柜子" parent="Ground/DeployLayer" index="5" instance=ExtResource("6_dbkw8")]
unique_name_in_owner = true
position = Vector2(64, 45)
packed_scene = ExtResource("23_q7jtk")
sign_mark_offset = Vector2(0, -11.02)
[node name="李弟照片" type="Sprite2D" parent="Ground/DeployLayer/Closeup柜子"]
position = Vector2(5, -20)
texture = ExtResource("11_7jj1o")
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup柜子"]
script = ExtResource("4_35fjj")
updater_event = &"c03_li_paperwoman"
updater_ease_duration = 0.0
updater_stage_mode = "exclude"
updater_stages = Array[int]([4, 5])
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="Event李氏纸人相关" type="Node2D" parent="Ground/DeployLayer" index="6"]
script = ExtResource("11_4umel") script = ExtResource("11_4umel")
event_name = &"c03_li_paperwoman" event_name = &"c03_li_paperwoman"
event_stages = Array[int]([3]) event_stages = Array[int]([4, 5])
metadata/_custom_type_script = "uid://bkkiyk5jkdw4d" metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
[node name="Pickable香" parent="Ground/DeployLayer/Event李氏纸人相关" instance=ExtResource("9_m8bf2")] [node name="Pickable香" parent="Ground/DeployLayer/Event李氏纸人相关" instance=ExtResource("9_m8bf2")]
@ -112,13 +135,17 @@ texture = ExtResource("14_ueha8")
position = Vector2(64, 46) position = Vector2(64, 46)
texture = ExtResource("16_4umel") texture = ExtResource("16_4umel")
[node name="柜子碗" type="Sprite2D" parent="Ground/DeployLayer/Event李氏纸人相关"]
position = Vector2(70, 25)
texture = ExtResource("15_vgq24")
[node name="Sfx2d咳嗽声" parent="Ground/DeployLayer/Event李氏纸人相关" instance=ExtResource("16_drhpr")] [node name="Sfx2d咳嗽声" parent="Ground/DeployLayer/Event李氏纸人相关" instance=ExtResource("16_drhpr")]
position = Vector2(-16, 17) position = Vector2(-16, 17)
stream = SubResource("AudioStreamRandomizer_vgq24") stream = SubResource("AudioStreamRandomizer_vgq24")
volume_db = -4.0 volume_db = -4.0
autoplay = false autoplay = false
max_distance = 1000.0 max_distance = 300.0
attenuation = 3.0 attenuation = 4.0
loop = true loop = true
loop_round_time = 10.0 loop_round_time = 10.0
@ -131,12 +158,18 @@ max_distance = 1000.0
attenuation = 3.0 attenuation = 3.0
loop = true loop = true
[node name="Closeup李氏纸人" parent="Ground/DeployLayer" index="6" instance=ExtResource("6_dbkw8")] [node name="Note柜子" parent="Ground/DeployLayer/Event李氏纸人相关" instance=ExtResource("24_27fnr")]
position = Vector2(64, 34)
title_filter = "c03"
note_key = "c03_s04_给药后"
[node name="Closeup李氏纸人" parent="Ground/DeployLayer" index="7" instance=ExtResource("6_dbkw8")]
unique_name_in_owner = true unique_name_in_owner = true
position = Vector2(372, 40) position = Vector2(372, 40)
texture = ExtResource("11_7d7lv") texture = ExtResource("11_7d7lv")
packed_scene = ExtResource("10_o2w5q") packed_scene = ExtResource("10_o2w5q")
sign_mark_offset = Vector2(0, -11.02) sign_mark_offset = Vector2(0, -11.02)
first_interact_os_key = "c03_s04_李氏纸人首次互动"
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup李氏纸人"] [node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup李氏纸人"]
script = ExtResource("4_35fjj") script = ExtResource("4_35fjj")
@ -147,20 +180,26 @@ updater_stage_mode = "exclude"
updater_stages = Array[int]([0]) updater_stages = Array[int]([0])
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="Closeup柜子" parent="Ground/DeployLayer" index="7" instance=ExtResource("6_dbkw8")] [node name="Note结婚照" parent="Ground/DeployLayer" index="8" instance=ExtResource("24_27fnr")]
unique_name_in_owner = true position = Vector2(145, -19)
position = Vector2(64, 45) title_filter = "c03"
packed_scene = ExtResource("23_q7jtk") note_key = "c03_s04_结婚照"
sign_mark_offset = Vector2(0, -11.02)
[node name="李弟照片" type="Sprite2D" parent="Ground/DeployLayer/Closeup柜子"] [node name="Note留声机" parent="Ground/DeployLayer" index="9" instance=ExtResource("24_27fnr")]
position = Vector2(1, -15) position = Vector2(301, 31)
title_filter = "c03"
note_key = "c03_s04_留声机"
[node name="Ambush咳嗽声" parent="Ground/DeployLayer" index="10" instance=ExtResource("27_aibcw")]
position = Vector2(9, 23)
trigger_mode = "interact"
hook_os_key = "c03_s04_门后咳嗽声"
[node name="MainPlayer" parent="Ground" index="5"] [node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 100) position = Vector2(443, 100)
catty_light_energy = 0.5 catty_light_energy = 0.5
player_movement_rect = Rect2(20, -158, 608, 316) player_movement_rect = Rect2(20, -158, 608, 316)
facing_direction = Vector2(1, 0) facing_direction = Vector2(-1, -1)
[node name="AudioListener2D" type="AudioListener2D" parent="Ground/MainPlayer" index="6"] [node name="AudioListener2D" type="AudioListener2D" parent="Ground/MainPlayer" index="6"]
current = true current = true
@ -173,7 +212,7 @@ texture = ExtResource("5_vjibx")
offset = Vector2(0, -158) offset = Vector2(0, -158)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] [node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(20, 150, 628, 149) points = PackedVector2Array(20, 150, 478, 149)
[node name="DirectionalLight2D" parent="Ground" index="8"] [node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false visible = false

View File

@ -73,7 +73,8 @@ func _on_body_interacted(success: bool) -> void:
await Util.wait(1.0) await Util.wait(1.0)
SceneManager.unlock_player() SceneManager.unlock_player()
if success: if success:
SceneManager.disable_prop_item("prop_菜刀") # 留到第三章再用一次
# SceneManager.disable_prop_item("prop_菜刀")
pickable转轮.enabled = true pickable转轮.enabled = true
SceneManager.lock_player() SceneManager.lock_player()
body_sprite.play() body_sprite.play()

View File

@ -246,7 +246,7 @@ on_display_hide_hud = true
[node name="符纸" type="Sprite2D" parent="Ground/DeployLayer/Closeup符纸"] [node name="符纸" type="Sprite2D" parent="Ground/DeployLayer/Closeup符纸"]
position = Vector2(-3.57628e-07, 6) position = Vector2(-3.57628e-07, 6)
rotation = -0.698132 rotation = -0.872665
scale = Vector2(0.3, 0.3) scale = Vector2(0.3, 0.3)
texture = ExtResource("17_7eou8") texture = ExtResource("17_7eou8")

View File

@ -28,7 +28,9 @@ func _on_ambush_triggered() -> void:
SceneManager.lock_player() SceneManager.lock_player()
var pro_sprite = $"Pro疯子慌张跑开" var pro_sprite = $"Pro疯子慌张跑开"
pro_sprite.play("疯子_慌张转身") pro_sprite.play("疯子_慌张转身")
await Util.wait(4.0) #TODO
SceneManager.pop_debug_dialog_info("音效", "疯子跑开")
await Util.wait(6.0)
EventManager.set_stage(event_name, 1) EventManager.set_stage(event_name, 1)
SceneManager.unlock_player() SceneManager.unlock_player()

View File

@ -4,6 +4,7 @@ extends Event2D
# var prev_stage := 0 # var prev_stage := 0
# var stage := 0 # var stage := 0
@onready var animated_sprite = $"窗口闪动"
func _ready() -> void: func _ready() -> void:
super._ready() super._ready()
@ -16,12 +17,33 @@ func _on_global_stage_updated(e: StringName, s: int) -> void:
func _on_ground_ready(_ground: Ground2D) -> void: func _on_ground_ready(_ground: Ground2D) -> void:
pass $"Ambush偷听陆仁".triggered.connect(eavesdrop_luren)
func eavesdrop_luren() -> void:
# 12 c00_吕萍_蹲下 13 c00_吕萍_蹲下呼吸 14 c00_吕萍_起立
SceneManager.lock_player(0, 12)
await Util.wait(1)
SceneManager.player_action(13)
# 对话
DialogueManager.show_dialogue_balloon(GlobalConfig.DIALOG_C03, "c03_s01_三楼偷听陆仁小蝶")
await DialogueManager.dialogue_ended
create_tween().tween_property(animated_sprite, "modulate:a", 0.0, 1.0)
await Util.wait(1.5)
EventManager.set_stage("c03_invite_xchan_supper", 1)
await Util.wait(1.0)
SceneManager.player_action(14, true)
await SceneManager.pop_os_with_str("c03_s01_偷听完3012")
SceneManager.unlock_player()
func _on_pre_stage_updated() -> void: func _on_pre_stage_updated() -> void:
pass # 放肉后,渐渐显示
if prev_stage == 1:
animated_sprite.modulate.a = 0.0
create_tween().tween_property(animated_sprite, "modulate:a", 1.0, 1.0)
func _on_stage_updated() -> void: func _on_stage_updated() -> void:
pass pass

View File

@ -3,11 +3,24 @@ extends CanvasLayer
@warning_ignore("unused_signal") @warning_ignore("unused_signal")
signal exit(arg) signal exit(arg)
@onready var hover = $"Hover符纸" as HoverLightClickArea
@onready var dispalyer = $"Displayer"
@onready var inspector = %"ContentInspector" as ContentInspector
func _ready() -> void: func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
$ContentInspector.display_toggled.connect(_on_display_toggled)
func _on_display_toggled(displaying: bool): func _on_hover_interacted() -> void:
$"BG有符".visible = not displaying dispalyer.show()
$"BG有符".hide()
hover.freezing = true
func _unhandled_input(event: InputEvent) -> void:
if dispalyer.visible and event.is_action_pressed("cancel"):
inspector.setup_display(false)
dispalyer.hide()
$"BG有符".show()
hover.freezing = false

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=7 format=3 uid="uid://jp6ut4wayw7g"] [gd_scene load_steps=11 format=3 uid="uid://jp6ut4wayw7g"]
[ext_resource type="Script" uid="uid://g8moj85vc4ad" path="res://scene/ground/script/c03/s02_closeup洋糕点.gd" id="1_i4mac"] [ext_resource type="Script" uid="uid://g8moj85vc4ad" path="res://scene/ground/script/c03/s02_closeup洋糕点.gd" id="1_i4mac"]
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_1bew5"] [ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_1bew5"]
@ -6,6 +6,10 @@
[ext_resource type="Texture2D" uid="uid://df1lnvef25eha" path="res://asset/art/scene/c03/s02_瞎子新卧室/ux_桌上的碗特写有符.png" id="2_i4mac"] [ext_resource type="Texture2D" uid="uid://df1lnvef25eha" path="res://asset/art/scene/c03/s02_瞎子新卧室/ux_桌上的碗特写有符.png" id="2_i4mac"]
[ext_resource type="PackedScene" uid="uid://dmysq4sxx8iqh" path="res://scene/entity/ux/content_inspector.tscn" id="3_1ggwo"] [ext_resource type="PackedScene" uid="uid://dmysq4sxx8iqh" path="res://scene/entity/ux/content_inspector.tscn" id="3_1ggwo"]
[ext_resource type="Texture2D" uid="uid://bysk5b7dpplq8" path="res://asset/art/scene/c03/s02_瞎子新卧室/ux_碗内符.png" id="4_1bew5"] [ext_resource type="Texture2D" uid="uid://bysk5b7dpplq8" path="res://asset/art/scene/c03/s02_瞎子新卧室/ux_碗内符.png" id="4_1bew5"]
[ext_resource type="Script" uid="uid://ubn3pgywffro" path="res://scene/entity/ux/hover_light_click_area.gd" id="4_d2qst"]
[ext_resource type="Texture2D" uid="uid://co3xfe5yyvmjd" path="res://asset/art/scene/c03/s02_瞎子新卧室/l_碗中符纸.png" id="5_td6vl"]
[ext_resource type="Script" uid="uid://dpocj5al0rvai" path="res://ui/text_helper.gd" id="6_1bew5"]
[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="6_1ggwo"]
[node name="Closeup洋糕点" type="CanvasLayer"] [node name="Closeup洋糕点" type="CanvasLayer"]
script = ExtResource("1_i4mac") script = ExtResource("1_i4mac")
@ -17,7 +21,6 @@ anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 0
texture = ExtResource("2_1ggwo") texture = ExtResource("2_1ggwo")
[node name="BG有符" type="TextureRect" parent="."] [node name="BG有符" type="TextureRect" parent="."]
@ -26,69 +29,61 @@ anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 0
texture = ExtResource("2_i4mac") texture = ExtResource("2_i4mac")
[node name="ContentInspector" parent="." instance=ExtResource("3_1ggwo")] [node name="Hover符纸" type="Area2D" parent="."]
mouse_filter = 2 script = ExtResource("4_d2qst")
metadata/_custom_type_script = "uid://ubn3pgywffro"
[node name="符纸" type="TextureRect" parent="ContentInspector"] [node name="PointLight2D" type="PointLight2D" parent="Hover符纸"]
position = Vector2(282, 158)
energy = 0.6
range_layer_min = -10
range_layer_max = 10
texture = ExtResource("5_td6vl")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hover符纸"]
position = Vector2(-6, -1)
polygon = PackedVector2Array(339, 30, 339, 33.3, 316.9, 69, 314.3, 69, 320, 87.2, 320, 88, 307.3, 98, 305.8, 98, 297, 113.5, 297, 115.2, 276.2, 136, 272.8, 136, 276.8, 144, 280.5, 144, 289.5, 139, 295.3, 139, 298, 141, 298, 143, 316.5, 143, 328.5, 149, 330.1, 149, 335, 154.7, 335, 156.6, 337.4, 157.1, 323.4, 166, 321.6, 166, 320.6, 168.6, 329, 175.8, 329, 178.3, 339.2, 177, 345.3, 182, 348.7, 182, 370, 165, 370, 164.4, 376.4, 162, 377.9, 162, 386.9, 152, 388.3, 152, 402.3, 121, 403.4, 121, 404.4, 118.3, 394.7, 111, 407, 111, 410, 107, 411.7, 107, 413, 98.1, 414.7, 97, 416.3, 97, 428.3, 69, 429.3, 69, 430.4, 66.5, 428, 64.1, 428, 62.4, 399, 56.3, 399, 53.8, 389.4, 58.5, 389, 57, 389, 54.9, 380, 48.9, 380, 47.7)
[node name="Displayer" type="Control" parent="."]
visible = false
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 1
[node name="符纸" type="TextureRect" parent="Displayer"]
layout_mode = 1 layout_mode = 1
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_top = 38.0 offset_top = 20.0
offset_bottom = -38.0 offset_bottom = -20.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2
texture = ExtResource("4_1bew5") texture = ExtResource("4_1bew5")
expand_mode = 1 expand_mode = 1
stretch_mode = 5 stretch_mode = 5
[node name="Label" type="Label" parent="ContentInspector"] [node name="ContentInspector" parent="Displayer" instance=ExtResource("3_1ggwo")]
z_index = 5 unique_name_in_owner = true
layout_mode = 1 layout_mode = 1
anchors_preset = 8 mouse_filter = 1
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = 194.0
offset_top = -109.0
offset_right = 304.0
offset_bottom = -61.0
grow_horizontal = 2
grow_vertical = 2
rotation = 0.813367
text = "南无诃利帝母菩萨摩诃萨
南无诃利帝母菩萨
南无诃利"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Label2" type="Label" parent="ContentInspector"] [node name="遮罩" type="TextureRect" parent="Displayer/ContentInspector"]
z_index = 5
layout_mode = 1 layout_mode = 1
anchors_preset = 8 anchors_preset = 15
anchor_left = 0.5 anchor_right = 1.0
anchor_top = 0.5 anchor_bottom = 1.0
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -259.0
offset_top = -37.0
offset_right = -149.0
offset_bottom = 11.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
rotation = -0.722402 texture = ExtResource("6_1ggwo")
text = "南无诃利帝母菩萨摩诃萨
南无诃利帝母菩萨
南无诃利"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Label3" type="Label" parent="ContentInspector"] [node name="Label" type="Label" parent="Displayer/ContentInspector"]
z_index = 5 z_index = 5
layout_mode = 1 layout_mode = 1
anchors_preset = 8 anchors_preset = 8
@ -96,39 +91,21 @@ anchor_left = 0.5
anchor_top = 0.5 anchor_top = 0.5
anchor_right = 0.5 anchor_right = 0.5
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = -189.0 offset_left = -55.0
offset_top = 111.0 offset_top = -32.5
offset_right = -79.0 offset_right = 55.0
offset_bottom = 159.0 offset_bottom = 32.5
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
rotation = -2.31437 mouse_filter = 1
text = "南无诃利帝母菩萨摩诃萨 text = "道贯阴阳,垂怜群生。
南无诃利帝母菩萨 东阴鬼母,佑我家宁。
南无诃利" 稚子安康,灾厄不侵。
horizontal_alignment = 1 道炁周流,福泽绵长。"
vertical_alignment = 1
[node name="Label4" type="Label" parent="ContentInspector"]
z_index = 5
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = 254.0
offset_top = 27.0
offset_right = 364.0
offset_bottom = 75.0
grow_horizontal = 2
grow_vertical = 2
rotation = -4.03542
text = "南无诃利帝母菩萨摩诃萨
南无诃利帝母菩萨
南无诃利"
horizontal_alignment = 1 horizontal_alignment = 1
vertical_alignment = 1 vertical_alignment = 1
script = ExtResource("6_1bew5")
translation_key = "c03_s02_符纸内容"
[node name="遮罩" type="TextureRect" parent="."] [node name="遮罩" type="TextureRect" parent="."]
anchors_preset = 15 anchors_preset = 15
@ -136,5 +113,6 @@ anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2
texture = ExtResource("2_1bew5") texture = ExtResource("2_1bew5")
[connection signal="interacted" from="Hover符纸" to="." method="_on_hover_interacted"]

View File

@ -31,10 +31,13 @@ func _on_ground_ready(_ground: Ground2D):
SceneManager.lock_player() SceneManager.lock_player()
SceneManager.get_player().set_facing_direction(Vector2.RIGHT) SceneManager.get_player().set_facing_direction(Vector2.RIGHT)
SceneManager.get_player().global_position.x = 63.0 SceneManager.get_player().global_position.x = 63.0
sfx_amb.play() sfx_amb.play()
modulate.a = 0.0
# 等待玩家看到画面,再开始对话 # 等待玩家看到画面,再开始对话
await Util.wait(1.5)
create_tween().tween_property(self, "modulate:a", 1.0, 2.0)
await Util.wait(2.5) await Util.wait(2.5)
# Part1: 上半段对话1&抽烟 # Part1: 上半段对话1&抽烟
DialogueManager.show_dialogue_balloon(c03_dialogue, "c03_s02_邀请小蝉与瞎子对话1") DialogueManager.show_dialogue_balloon(c03_dialogue, "c03_s02_邀请小蝉与瞎子对话1")
the_blind.play("瞎子_抽烟") the_blind.play("瞎子_抽烟")
@ -51,6 +54,7 @@ func _on_ground_ready(_ground: Ground2D):
SceneManager.pop_debug_dialog_info("音效(或配音老师做)", "瞎子咳嗽&吐血") SceneManager.pop_debug_dialog_info("音效(或配音老师做)", "瞎子咳嗽&吐血")
the_blind.play("瞎子_咳嗽吐血") the_blind.play("瞎子_咳嗽吐血")
Util.timer(1.0, $"Sfx2D瞎子咳嗽".play)
the_blind.frame_changed.connect( the_blind.frame_changed.connect(
# 共 28 帧,第 20 帧开始 # 共 28 帧,第 20 帧开始
func (): func ():

View File

@ -8,6 +8,8 @@ signal exit(success: bool)
@onready var glass_mask = $"瞎子眼罩" as Sprite2D @onready var glass_mask = $"瞎子眼罩" as Sprite2D
var dialog_balloon_scene = preload("uid://d03hwa7axelmb")
func _ready() -> void: func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
# 两张纸钱点击事件 # 两张纸钱点击事件
@ -39,7 +41,17 @@ func _check_if_notify_to_use_prop() -> void:
elif SceneManager.has_prop("prop_剪刀"): elif SceneManager.has_prop("prop_剪刀"):
SceneManager.pop_center_notification("ui_center_notify_use_prop") SceneManager.pop_center_notification("ui_center_notify_use_prop")
else: else:
SceneManager.pop_center_notification("ui_center_notify_lack_of_scissor") var label = $"Container/RichTextLabel"
label.show()
label.modulate.a = 0.0
var tween = create_tween()
tween.tween_property(label, "modulate:a", 1.0, 1.0)
tween.tween_interval(3.5)
tween.tween_property(label, "modulate:a", 0.0, 1.0)
# SceneManager.pop_center_notification("ui_center_notify_lack_of_scissor")
# TODO
SceneManager.pop_debug_dialog_info("音效", "诡异")
$"Sfx不要剪刀诡异音效".play()
func _unhandled_input(event: InputEvent) -> void: func _unhandled_input(event: InputEvent) -> void:
@ -66,7 +78,7 @@ func _try_interact() -> void:
await Util.wait(0.5) await Util.wait(0.5)
# 飞针 # 飞针
$AnimationPlayer.play("cutting_overhead") $AnimationPlayer.play("cutting_overhead")
EventManager.set_stage_if_greater("c03_s03_laizi_breath", 1) EventManager.set_stage_if_greater("c03_s03_laizi_breath", 2)
# 抖动 # 抖动
Util.shake_layer(self, 0.3) Util.shake_layer(self, 0.3)
$"".hide() $"".hide()
@ -99,6 +111,7 @@ func _braid_cutting_show() -> void:
tween.tween_interval(1.0) tween.tween_interval(1.0)
tween.tween_property(glass_mask, "modulate:a", 1.0, 1.0) tween.tween_property(glass_mask, "modulate:a", 1.0, 1.0)
await DialogueManager.dialogue_ended await DialogueManager.dialogue_ended
glass_mask.modulate.a = 1.0 SceneManager.black_transition(0.7, 0.5)
await Util.wait(1.0)
# 退出,播放剪辫子演出 # 退出,播放剪辫子演出
exit.emit(true) exit.emit(true)

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=27 format=3 uid="uid://d320nw5yrmvjo"] [gd_scene load_steps=30 format=3 uid="uid://d320nw5yrmvjo"]
[ext_resource type="Script" uid="uid://de2smnt2my047" path="res://scene/ground/script/c03/s03_closeup癞子纸人.gd" id="1_6n6qt"] [ext_resource type="Script" uid="uid://de2smnt2my047" path="res://scene/ground/script/c03/s03_closeup癞子纸人.gd" id="1_6n6qt"]
[ext_resource type="AudioStream" uid="uid://b5bbu858rembf" path="res://asset/audio/sfx/交互/第二章/sfx_s03_剪刀声音.ogg" id="2_2kayp"] [ext_resource type="AudioStream" uid="uid://b5bbu858rembf" path="res://asset/audio/sfx/交互/第二章/sfx_s03_剪刀声音.ogg" id="2_2kayp"]
[ext_resource type="AudioStream" uid="uid://dxnsyw7box2w0" path="res://asset/audio/sfx/交互/序章/sfx_鬼影浮现.ogg" id="2_fvunv"]
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_uenj0"] [ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_uenj0"]
[ext_resource type="Texture2D" uid="uid://e88x3ihvhetd" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/背景.png" id="2_xao0c"] [ext_resource type="Texture2D" uid="uid://e88x3ihvhetd" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/背景.png" id="2_xao0c"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_6rgy3"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_6rgy3"]
@ -20,6 +21,8 @@
[ext_resource type="Texture2D" uid="uid://k4eplss3bx5g" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/刀劈特效.png" id="9_yixv2"] [ext_resource type="Texture2D" uid="uid://k4eplss3bx5g" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/刀劈特效.png" id="9_yixv2"]
[ext_resource type="Texture2D" uid="uid://dr51e8ell86" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/伤口血迹.png" id="10_eqvmt"] [ext_resource type="Texture2D" uid="uid://dr51e8ell86" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/伤口血迹.png" id="10_eqvmt"]
[ext_resource type="Texture2D" uid="uid://c3hl0wj0crxwn" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/瞎子眼罩.png" id="20_6rgy3"] [ext_resource type="Texture2D" uid="uid://c3hl0wj0crxwn" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/瞎子眼罩.png" id="20_6rgy3"]
[ext_resource type="FontFile" uid="uid://bnxdsxp7dst7f" path="res://asset/font/锐字太空混元像素简繁-闪 超黑_mianfeiziti.com.ttf" id="21_8cy2e"]
[ext_resource type="Script" uid="uid://dpocj5al0rvai" path="res://ui/text_helper.gd" id="23_epvok"]
[sub_resource type="Animation" id="Animation_nucp3"] [sub_resource type="Animation" id="Animation_nucp3"]
length = 0.001 length = 0.001
@ -283,6 +286,12 @@ libraries = {
&"": SubResource("AnimationLibrary_otai4") &"": SubResource("AnimationLibrary_otai4")
} }
[node name="Sfx不要剪刀诡异音效" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_fvunv")
bus = &"game_sfx"
script = ExtResource("3_6rgy3")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx剪刀" type="AudioStreamPlayer" parent="."] [node name="Sfx剪刀" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_2kayp") stream = ExtResource("2_2kayp")
bus = &"game_sfx" bus = &"game_sfx"
@ -440,3 +449,37 @@ texture = ExtResource("2_uenj0")
modulate = Color(1, 1, 1, 0) modulate = Color(1, 1, 1, 0)
position = Vector2(282, 158) position = Vector2(282, 158)
texture = ExtResource("20_6rgy3") texture = ExtResource("20_6rgy3")
[node name="Container" type="MarginContainer" parent="."]
z_index = 10
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -150.0
offset_right = 150.0
offset_bottom = 100.0
grow_horizontal = 2
size_flags_vertical = 0
mouse_filter = 2
theme_override_constants/margin_top = 100
[node name="RichTextLabel" type="RichTextLabel" parent="Container"]
visible = false
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
mouse_filter = 2
theme_override_colors/default_color = Color(0.686241, 0.191934, 0.178785, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_fonts/normal_font = ExtResource("21_8cy2e")
theme_override_font_sizes/normal_font_size = 40
bbcode_enabled = true
text = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]不要剪刀"
fit_content = true
autowrap_mode = 1
horizontal_alignment = 1
vertical_alignment = 1
script = ExtResource("23_epvok")
translation_key = "ui_center_notify_lack_of_scissor"
prefix = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]"

View File

@ -12,17 +12,9 @@ func _ready() -> void:
if not presentation_finished: if not presentation_finished:
await $PPTHelper.presentation_finished await $PPTHelper.presentation_finished
# 过渡到玩家画面 # 过渡到玩家画面
SceneManager.black_transition(0.5, 0.5) SceneManager.black_transition(0.5, 2.0)
Util.timer(1.8, func():
SceneManager.dizzy_effect(3.0)
await Util.wait(3.3)
await SceneManager.pop_os_with_str("c03_s03_演出结束")
SceneManager.enable_prop_item("prop_辫子")
SceneManager.unlock_player()
)
EventManager.set_stage("c03_s03_laizi_braid", 2)
SceneManager.enable_prop_item_silently("prop_辫子")
await Util.wait(0.6) await Util.wait(0.6)
SceneManager.unlock_player()
exit.emit(true) exit.emit(true)
var presentation_finished = false var presentation_finished = false

View File

@ -26,7 +26,7 @@ func _on_btn_pressed(_arg):
rope_with_mahjong.queue_free() rope_with_mahjong.queue_free()
await SceneManager.get_inspector().quit_and_hidden await SceneManager.get_inspector().quit_and_hidden
# TODO 诡异小孩声 # TODO 诡异小孩声
SceneManager.pop_debug_dialog_info("音效", "诡异小孩声") SceneManager.pop_debug_dialog_info("音效", "诡异小孩")
$"Sfx诡异小孩声".play() $"Sfx诡异小孩声".play()
var tween := create_tween() var tween := create_tween()
tween.tween_interval(1.5) tween.tween_interval(1.5)

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=10 format=3 uid="uid://bnoqhovb0wjem"] [gd_scene load_steps=11 format=3 uid="uid://bnoqhovb0wjem"]
[ext_resource type="Script" uid="uid://xyswrst2qvnv" path="res://scene/ground/script/c03/s03_closeup镜子特写.gd" id="1_l7eke"] [ext_resource type="Script" uid="uid://xyswrst2qvnv" path="res://scene/ground/script/c03/s03_closeup镜子特写.gd" id="1_l7eke"]
[ext_resource type="Texture2D" uid="uid://cv43fc0yphoyh" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_脸.png" id="2_h11vl"] [ext_resource type="Texture2D" uid="uid://cv43fc0yphoyh" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_脸.png" id="2_h11vl"]
[ext_resource type="AudioStream" uid="uid://be6xihynmvrwj" path="res://asset/audio/sfx/交互/第一章/谢幕演出_耳鸣加笑声.ogg" id="2_jjl4k"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="2_x88e4"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="2_x88e4"]
[ext_resource type="Texture2D" uid="uid://47bswjbnegh6" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_浮现前.png" id="3_l7eke"] [ext_resource type="Texture2D" uid="uid://47bswjbnegh6" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_浮现前.png" id="3_l7eke"]
[ext_resource type="PackedScene" uid="uid://bg7oictr1wgex" path="res://scene/little_game/general/draggable.tscn" id="4_pmhbo"] [ext_resource type="PackedScene" uid="uid://bg7oictr1wgex" path="res://scene/little_game/general/draggable.tscn" id="4_pmhbo"]
@ -21,6 +22,7 @@ height = 130
script = ExtResource("1_l7eke") script = ExtResource("1_l7eke")
[node name="Sfx诡异小孩声" type="AudioStreamPlayer" parent="."] [node name="Sfx诡异小孩声" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_jjl4k")
bus = &"game_sfx" bus = &"game_sfx"
script = ExtResource("2_x88e4") script = ExtResource("2_x88e4")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m" metadata/_custom_type_script = "uid://rq6w1vuhuq1m"

View File

@ -47,7 +47,16 @@ func start_show() -> void:
$"Closeup瞎子糕点".display() $"Closeup瞎子糕点".display()
# 重置镜头 # 重置镜头
SceneManager.focus_player_and_reset_zoom(3.0) SceneManager.focus_player_and_reset_zoom(3.0)
# 瞎子糕点结束后会有 2-3s 黑屏转场
await $"Closeup瞎子糕点".exit await $"Closeup瞎子糕点".exit
# 演出结束
EventManager.set_stage("c03_s03_laizi_braid", 2)
SceneManager.enable_prop_item_silently("prop_辫子")
SceneManager.get_player().visible = true SceneManager.get_player().visible = true
SceneManager.unlock_player() await Util.wait(1.5)
SceneManager.dizzy_effect(3.5)
await Util.wait(2.5)
SceneManager.toggle_hud_display(true) SceneManager.toggle_hud_display(true)
await SceneManager.pop_os_with_str("c03_s03_演出结束")
SceneManager.unlock_player()
SceneManager.enable_prop_item("prop_辫子")

View File

@ -31,6 +31,7 @@ var success = false
func _ready() -> void: func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
_toggle_activation_for_all(false) _toggle_activation_for_all(false)
box_init_btn.disabled = true
if EventManager.get_stage("c03_mahjong_game") == 0: if EventManager.get_stage("c03_mahjong_game") == 0:
var all_ready = true var all_ready = true
if not SceneManager.has_prop("prop_麻将"): if not SceneManager.has_prop("prop_麻将"):
@ -40,14 +41,40 @@ func _ready() -> void:
all_ready = false all_ready = false
%"13".visible = false %"13".visible = false
if not all_ready: if not all_ready:
await Util.wait(1.0)
SceneManager.pop_center_notification("input_麻将游戏_麻将不足") SceneManager.pop_center_notification("input_麻将游戏_麻将不足")
await Util.wait(3.0) await Util.wait(3.0)
exit.emit(false) exit.emit(false)
return return
# 叠加一层转场
SceneManager.black_transition(0.0, 1.0)
SceneManager.black_transition(0.5, 1.5)
# 等待转场结束
await Util.wait(3.0)
$SfxEnterScene.play()
# 提示 数量不对啊+该理一理了
var label1 = $"数量不对/RichTextLabel"
var label2 = $"该理一理了/RichTextLabel"
label1.modulate.a = 0.0
label2.modulate.a = 0.0
var tween = create_tween()
tween.tween_callback(label1.show)
tween.tween_property(label1, "modulate:a", 1.0, 0.7)
tween.tween_interval(3.0)
tween.tween_property(label1, "modulate:a", 0.0, 0.7)
tween.tween_callback(label1.hide)
tween.tween_callback(label2.show)
tween.tween_property(label2, "modulate:a", 1.0, 0.7)
tween.tween_interval(3.0)
tween.tween_property(label2, "modulate:a", 0.0, 0.7)
tween.tween_callback(label2.hide)
await tween.finished
# 游戏一开始就收起玩家麻将道具,设置 c03_mahjong_game 为 1 # 游戏一开始就收起玩家麻将道具,设置 c03_mahjong_game 为 1
EventManager.set_stage_if_greater("c03_mahjong_game", 1) EventManager.set_stage_if_greater("c03_mahjong_game", 1)
SceneManager.disable_prop_item("prop_麻将") SceneManager.disable_prop_item("prop_麻将")
SceneManager.disable_prop_item("prop_麻将2") SceneManager.disable_prop_item("prop_麻将2")
box_init_btn.disabled = false
box_init_btn.pressed.connect(_start_game) box_init_btn.pressed.connect(_start_game)
box_init_btn.mouse_entered.connect(_toggle_activation.bind(box_init_btn, true)) box_init_btn.mouse_entered.connect(_toggle_activation.bind(box_init_btn, true))
box_init_btn.mouse_exited.connect(_toggle_activation.bind(box_init_btn, false)) box_init_btn.mouse_exited.connect(_toggle_activation.bind(box_init_btn, false))

View File

@ -1,8 +1,10 @@
[gd_scene load_steps=29 format=3 uid="uid://n75766ui6udi"] [gd_scene load_steps=34 format=3 uid="uid://n75766ui6udi"]
[ext_resource type="Script" uid="uid://5r8bu30xpb6m" path="res://scene/ground/script/c03/s04_closeup整理麻将游戏.gd" id="1_npctd"] [ext_resource type="Script" uid="uid://5r8bu30xpb6m" path="res://scene/ground/script/c03/s04_closeup整理麻将游戏.gd" id="1_npctd"]
[ext_resource type="AudioStream" uid="uid://dkjpyf2pvh33t" path="res://asset/audio/sfx/game/八音盒/八音盒打开.ogg" id="2_aqudu"]
[ext_resource type="AudioStream" uid="uid://cj2wd18uh67sc" path="res://asset/audio/effect/casino/chipLay2.ogg" id="2_oafpr"] [ext_resource type="AudioStream" uid="uid://cj2wd18uh67sc" path="res://asset/audio/effect/casino/chipLay2.ogg" id="2_oafpr"]
[ext_resource type="AudioStream" uid="uid://bki553kyllb1k" path="res://asset/audio/effect/casino/chipsHandle4.ogg" id="2_oarv7"] [ext_resource type="AudioStream" uid="uid://bki553kyllb1k" path="res://asset/audio/effect/casino/chipsHandle4.ogg" id="2_oarv7"]
[ext_resource type="AudioStream" uid="uid://mff0udi3glb4" path="res://asset/audio/sfx/交互/第一章/瞎子房间癞子呼吸.ogg" id="3_52d31"]
[ext_resource type="Texture2D" uid="uid://6q05kftuxauv" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/麻将游戏盒子特写.png" id="3_f6p4s"] [ext_resource type="Texture2D" uid="uid://6q05kftuxauv" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/麻将游戏盒子特写.png" id="3_f6p4s"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_oarv7"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_oarv7"]
[ext_resource type="Texture2D" uid="uid://b2ectbek7vksi" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/三条.png" id="4_axqt4"] [ext_resource type="Texture2D" uid="uid://b2ectbek7vksi" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/三条.png" id="4_axqt4"]
@ -22,6 +24,18 @@
[ext_resource type="Texture2D" uid="uid://dwyk0e1c2eg37" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/初始一筒.png" id="16_8hre4"] [ext_resource type="Texture2D" uid="uid://dwyk0e1c2eg37" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/初始一筒.png" id="16_8hre4"]
[ext_resource type="Texture2D" uid="uid://bsqp5gfgplgrv" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/麻将整理游戏视觉引导光影.png" id="16_ivruk"] [ext_resource type="Texture2D" uid="uid://bsqp5gfgplgrv" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/麻将整理游戏视觉引导光影.png" id="16_ivruk"]
[ext_resource type="Texture2D" uid="uid://doxc87cp3e8i4" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/二筒.png" id="17_b56iy"] [ext_resource type="Texture2D" uid="uid://doxc87cp3e8i4" path="res://asset/art/scene/c03/s04_李癞房间/麻将游戏整理/二筒.png" id="17_b56iy"]
[ext_resource type="FontFile" uid="uid://bnxdsxp7dst7f" path="res://asset/font/锐字太空混元像素简繁-闪 超黑_mianfeiziti.com.ttf" id="25_52d31"]
[ext_resource type="Script" uid="uid://dpocj5al0rvai" path="res://ui/text_helper.gd" id="26_u3cv7"]
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_u3cv7"]
clip_count = 2
clip_0/name = &"八音盒打开"
clip_0/stream = ExtResource("2_aqudu")
clip_0/auto_advance = 1
clip_0/next_clip = 1
clip_1/name = &"瞎子房间癞子呼吸"
clip_1/stream = ExtResource("3_52d31")
clip_1/auto_advance = 0
[sub_resource type="Animation" id="Animation_2kqht"] [sub_resource type="Animation" id="Animation_2kqht"]
length = 0.001 length = 0.001
@ -250,6 +264,12 @@ fill_to = Vector2(1, 1)
script = ExtResource("1_npctd") script = ExtResource("1_npctd")
metadata/_edit_horizontal_guides_ = [278.0] metadata/_edit_horizontal_guides_ = [278.0]
[node name="SfxEnterScene" type="AudioStreamPlayer" parent="."]
stream = SubResource("AudioStreamInteractive_u3cv7")
bus = &"game_sfx"
script = ExtResource("3_oarv7")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="SfxStart" type="AudioStreamPlayer" parent="."] [node name="SfxStart" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_oarv7") stream = ExtResource("2_oarv7")
bus = &"game_sfx" bus = &"game_sfx"
@ -581,3 +601,71 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2 mouse_filter = 2
texture = ExtResource("16_ivruk") texture = ExtResource("16_ivruk")
[node name="数量不对" type="MarginContainer" parent="."]
z_index = 10
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -150.0
offset_right = 150.0
offset_bottom = 100.0
grow_horizontal = 2
size_flags_vertical = 0
mouse_filter = 2
theme_override_constants/margin_top = 100
[node name="RichTextLabel" type="RichTextLabel" parent="数量不对"]
visible = false
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
mouse_filter = 2
theme_override_colors/default_color = Color(0.686241, 0.191934, 0.178785, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_fonts/normal_font = ExtResource("25_52d31")
theme_override_font_sizes/normal_font_size = 40
bbcode_enabled = true
text = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]数量不对啊"
fit_content = true
autowrap_mode = 1
horizontal_alignment = 1
vertical_alignment = 1
script = ExtResource("26_u3cv7")
translation_key = "c03_s04_整理麻将盒1"
prefix = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]"
[node name="该理一理了" type="MarginContainer" parent="."]
z_index = 10
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -150.0
offset_right = 150.0
offset_bottom = 100.0
grow_horizontal = 2
size_flags_vertical = 0
mouse_filter = 2
theme_override_constants/margin_top = 100
[node name="RichTextLabel" type="RichTextLabel" parent="该理一理了"]
visible = false
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
mouse_filter = 2
theme_override_colors/default_color = Color(0.686241, 0.191934, 0.178785, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_fonts/normal_font = ExtResource("25_52d31")
theme_override_font_sizes/normal_font_size = 40
bbcode_enabled = true
text = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]该理一理了"
fit_content = true
autowrap_mode = 1
horizontal_alignment = 1
vertical_alignment = 1
script = ExtResource("26_u3cv7")
translation_key = "c03_s04_整理麻将盒2"
prefix = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]"

View File

@ -4,30 +4,63 @@ extends CanvasLayer
signal exit(arg) signal exit(arg)
@onready var animation_player = $AnimationPlayer as AnimationPlayer @onready var animation_player = $AnimationPlayer as AnimationPlayer
var current_stage := 0 @onready var hover_key = %"Hover钥匙" as HoverLightClickArea
@onready var hover_scissor = %"Hover剪刀" as HoverLightClickArea
func _ready() -> void: func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
# c03_li_paperwoman: 0:初始化隐藏 1:显示纸人 2:纸舌头完成 3:给药完成 # c03_li_paperwoman: 0:初始化隐藏 1:显示纸人 2:纸舌头完成 3:已拿剪刀 4:给药完成 5:已拿钥匙
current_stage = EventManager.get_stage("c03_li_paperwoman") var current_stage = EventManager.get_stage("c03_li_paperwoman")
if current_stage == 1:
await Util.wait(0.5)
SceneManager.pop_center_notification("ui_center_notify_c03纸人浆糊舌头")
if current_stage >= 2: if current_stage >= 2:
$"断舌头粘完整".show() $"断舌头粘完整".show()
if current_stage == 2: match current_stage:
await Util.wait(0.5) 1:
SceneManager.pop_center_notification("ui_center_notify_c03纸人求药") await Util.wait(0.5)
_display_label(0)
2:
holding = true
animation_player.play("give_scissor")
await animation_player.animation_finished
holding = false
3:
await Util.wait(0.5)
_display_label(1)
4:
holding = true
animation_player.play("give_key")
await animation_player.animation_finished
holding = false
# 0: 舌头; 1: 药
func _display_label(id: int) -> void:
var label
if id == 0:
label = $"求舌头/RichTextLabel"
elif id == 1:
label = $"求药/RichTextLabel"
SceneManager.pop_debug_dialog_info("音效", "诡异哑巴音效")
#TODO
$"Sfx诡异的哑巴音效".play()
label.show()
label.modulate.a = 0.0
var tween = create_tween()
tween.tween_property(label, "modulate:a", 1.0, 0.7)
tween.tween_interval(3.5)
tween.tween_property(label, "modulate:a", 0.0, 0.7)
tween.tween_callback(label.hide)
var paste_used := false var paste_used := false
var holding := false var holding := false
func _unhandled_input(event: InputEvent) -> void: func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("interact"): if event.is_action_pressed("interact"):
get_viewport().set_input_as_handled() get_viewport().set_input_as_handled()
if holding: if holding:
return return
var current_stage = EventManager.get_stage("c03_li_paperwoman")
var prop = SceneManager.get_current_prop() var prop = SceneManager.get_current_prop()
var prop_hud = SceneManager.get_prop_hud() var prop_hud = SceneManager.get_prop_hud()
if current_stage == 1: if current_stage == 1:
@ -53,29 +86,48 @@ func _unhandled_input(event: InputEvent) -> void:
await animation_player.animation_finished await animation_player.animation_finished
# 浆糊可以用两次 # 浆糊可以用两次
SceneManager.disable_prop_item("prop_纸舌头") SceneManager.disable_prop_item("prop_纸舌头")
SceneManager.enable_prop_item("prop_剪刀")
EventManager.set_stage_if_greater("c03_li_paperwoman", 2) EventManager.set_stage_if_greater("c03_li_paperwoman", 2)
current_stage = 2
animation_player.play("RESET")
holding = false holding = false
return return
elif current_stage == 2: elif current_stage == 3:
if prop == "prop_药包": if prop == "prop_药包":
holding = true holding = true
# 给药 -> 2013 钥匙 (prop_2013钥匙) # 给药 -> 2013 钥匙 (prop_2013钥匙)
$"Sfx使用药包".play() $"Sfx使用药包".play()
animation_player.play("give_key") animation_player.play("give_key")
await animation_player.animation_finished await animation_player.animation_finished
current_stage = 3
EventManager.set_stage_if_greater("c03_li_paperwoman", 3)
EventManager.set_stage_if_greater("c03_pangzi_pull_xchan", 1)
SceneManager.disable_prop_item("prop_药包") SceneManager.disable_prop_item("prop_药包")
SceneManager.enable_prop_item("prop_2013钥匙") EventManager.set_stage_if_greater("c03_li_paperwoman", 4)
animation_player.play("RESET")
# 交互完成,退出
exit.emit(true)
holding = false holding = false
return return
if GlobalConfig.DEBUG: if GlobalConfig.DEBUG:
print("无效的道具:%s" % prop) print("无效的道具:%s" % prop)
prop_hud.on_toggle_invalid_prop() prop_hud.on_toggle_invalid_prop()
# Editor Node connnect
func _on_hover_scissor_interacted() -> void:
hover_scissor.hide()
EventManager.set_stage_if_greater("c03_li_paperwoman", 3)
SceneManager.enable_prop_item("prop_剪刀")
SceneManager.get_inspector().quit_and_hidden.connect(_display_label.bind(1), CONNECT_ONE_SHOT)
holding = true
animation_player.play("after_give_scissor")
await animation_player.animation_finished
holding = false
# Editor Node connnect
func _on_hover_key_interacted() -> void:
hover_key.hide()
EventManager.set_stage_if_greater("c03_li_paperwoman", 5)
EventManager.set_stage_if_greater("c03_pangzi_pull_xchan", 1)
SceneManager.enable_prop_item("prop_2013钥匙")
holding = true
animation_player.play("after_give_key")
await animation_player.animation_finished
holding = false
await Util.wait(1.0)
# 交互完成,退出
exit.emit(true)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=3 uid="uid://t61o0vpm0e11"] [gd_scene load_steps=29 format=3 uid="uid://t61o0vpm0e11"]
[ext_resource type="Script" uid="uid://dvjh42hafpmg3" path="res://scene/ground/script/c03/s04_closeup李氏纸人.gd" id="1_nmxob"] [ext_resource type="Script" uid="uid://dvjh42hafpmg3" path="res://scene/ground/script/c03/s04_closeup李氏纸人.gd" id="1_nmxob"]
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_3rwht"] [ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_3rwht"]
@ -12,10 +12,13 @@
[ext_resource type="Texture2D" uid="uid://wch8wpokpwy" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/要东西.png" id="6_qqxug"] [ext_resource type="Texture2D" uid="uid://wch8wpokpwy" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/要东西.png" id="6_qqxug"]
[ext_resource type="AudioStream" uid="uid://c3qonrtdjnmau" path="res://asset/audio/sfx/UI/纸声.ogg" id="7_lqbuh"] [ext_resource type="AudioStream" uid="uid://c3qonrtdjnmau" path="res://asset/audio/sfx/UI/纸声.ogg" id="7_lqbuh"]
[ext_resource type="AudioStream" uid="uid://dph8v3v5mq1xl" path="res://asset/audio/sfx/交互/sfx_交互失败.ogg" id="8_3m4i6"] [ext_resource type="AudioStream" uid="uid://dph8v3v5mq1xl" path="res://asset/audio/sfx/交互/sfx_交互失败.ogg" id="8_3m4i6"]
[ext_resource type="Script" uid="uid://ubn3pgywffro" path="res://scene/entity/ux/hover_light_click_area.gd" id="10_40v3c"]
[ext_resource type="Texture2D" uid="uid://sreapb4mhlu8" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/断舌头.png" id="10_ncmgt"] [ext_resource type="Texture2D" uid="uid://sreapb4mhlu8" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/断舌头.png" id="10_ncmgt"]
[ext_resource type="Texture2D" uid="uid://dyaknn88pri7g" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/断舌头涂胶水.png" id="11_klpdo"] [ext_resource type="Texture2D" uid="uid://dyaknn88pri7g" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/断舌头涂胶水.png" id="11_klpdo"]
[ext_resource type="Texture2D" uid="uid://cquvr5fjd3vlu" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/胶水(合并).png" id="12_022we"] [ext_resource type="Texture2D" uid="uid://cquvr5fjd3vlu" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/胶水(合并).png" id="12_022we"]
[ext_resource type="Texture2D" uid="uid://b7ic8ih5ahiw2" path="res://asset/art/prop/c03/缠着符咒的剪刀.png" id="12_dwx4w"] [ext_resource type="Texture2D" uid="uid://b7ic8ih5ahiw2" path="res://asset/art/prop/c03/缠着符咒的剪刀.png" id="12_dwx4w"]
[ext_resource type="FontFile" uid="uid://bnxdsxp7dst7f" path="res://asset/font/锐字太空混元像素简繁-闪 超黑_mianfeiziti.com.ttf" id="18_3m4i6"]
[ext_resource type="Script" uid="uid://dpocj5al0rvai" path="res://ui/text_helper.gd" id="19_f8b80"]
[sub_resource type="Animation" id="Animation_2nb82"] [sub_resource type="Animation" id="Animation_2nb82"]
length = 0.001 length = 0.001
@ -44,9 +47,9 @@ tracks/1/keys = {
"values": [Vector2(126, 405)] "values": [Vector2(126, 405)]
} }
[sub_resource type="Animation" id="Animation_klpdo"] [sub_resource type="Animation" id="Animation_dwx4w"]
resource_name = "give_key" resource_name = "after_give_key"
length = 2.0 length = 3.0
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
@ -54,15 +57,15 @@ tracks/0/path = NodePath("给钥匙的手:position")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 1), "times": PackedFloat32Array(0, 2.23333),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [Vector2(126, 405), Vector2(103, 212)] "values": [Vector2(103, 212), Vector2(126, 405)]
} }
[sub_resource type="Animation" id="Animation_022we"] [sub_resource type="Animation" id="Animation_40v3c"]
resource_name = "give_scissor" resource_name = "after_give_scissor"
length = 2.0 length = 3.0
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
@ -70,7 +73,39 @@ tracks/0/path = NodePath("给剪刀的手:position")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 1), "times": PackedFloat32Array(0, 2.4),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(423, 247), Vector2(425, 379)]
}
[sub_resource type="Animation" id="Animation_klpdo"]
resource_name = "give_key"
length = 3.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("给钥匙的手:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2.43333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(126, 405), Vector2(103, 212)]
}
[sub_resource type="Animation" id="Animation_022we"]
resource_name = "give_scissor"
length = 3.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("给剪刀的手:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2.3),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [Vector2(425, 379), Vector2(423, 247)] "values": [Vector2(425, 379), Vector2(423, 247)]
@ -79,10 +114,26 @@ tracks/0/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dwx4w"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_dwx4w"]
_data = { _data = {
&"RESET": SubResource("Animation_2nb82"), &"RESET": SubResource("Animation_2nb82"),
&"after_give_key": SubResource("Animation_dwx4w"),
&"after_give_scissor": SubResource("Animation_40v3c"),
&"give_key": SubResource("Animation_klpdo"), &"give_key": SubResource("Animation_klpdo"),
&"give_scissor": SubResource("Animation_022we") &"give_scissor": SubResource("Animation_022we")
} }
[sub_resource type="Gradient" id="Gradient_40v3c"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_lqbuh"]
gradient = SubResource("Gradient_40v3c")
width = 80
height = 128
[sub_resource type="GradientTexture2D" id="GradientTexture2D_40v3c"]
gradient = SubResource("Gradient_40v3c")
width = 256
height = 128
[node name="Closeup李氏纸人" type="CanvasLayer"] [node name="Closeup李氏纸人" type="CanvasLayer"]
script = ExtResource("1_nmxob") script = ExtResource("1_nmxob")
@ -109,6 +160,11 @@ grow_vertical = 2
texture = ExtResource("3_qqxug") texture = ExtResource("3_qqxug")
stretch_mode = 5 stretch_mode = 5
[node name="Sfx诡异的哑巴音效" type="AudioStreamPlayer" parent="."]
bus = &"game_sfx"
script = ExtResource("4_vcv6g")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx使用浆糊" type="AudioStreamPlayer" parent="."] [node name="Sfx使用浆糊" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_dwx4w") stream = ExtResource("4_dwx4w")
bus = &"game_sfx" bus = &"game_sfx"
@ -137,18 +193,60 @@ metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
position = Vector2(126, 405) position = Vector2(126, 405)
texture = ExtResource("5_vcv6g") texture = ExtResource("5_vcv6g")
[node name="钥匙" type="Sprite2D" parent="给钥匙的手"] [node name="Hover钥匙" type="Area2D" parent="给钥匙的手"]
unique_name_in_owner = true
script = ExtResource("10_40v3c")
metadata/_custom_type_script = "uid://ubn3pgywffro"
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="给钥匙的手/Hover钥匙"]
position = Vector2(14, 0) position = Vector2(14, 0)
rotation = -2.12894 rotation = -2.12894
scale = Vector2(0.5, 0.5) scale = Vector2(0.5, 0.5)
skew = 0.0698132 skew = 0.0698131
polygon = PackedVector2Array(-59.9, -71.3, -62, -70.2, -62, -68.7, -64, -66, -67, -66, -64.8, -60.6, -67.8, -61, -71.4, -61, -75, -51.4, -75, -47.9, -56.6, -36, -55.1, -36, -53, -32.5, -53, -30, -45.5, -30, 3.4, 0, 4.6, 0, 6.6, 5, 8, 24.1, 8, 27.8, 20.7, 42.2, 0.900002, 43, -5.9, 43, -19.9, 60, -21.3, 60, -22.4, 62.3, -17, 68.7, -17, 70.8, 7.9, 73, 22.4, 73, 51.5, 89, 54.2, 89, 58.7, 80, 63.6, 80, 73, 74.1, 73, 69.6, 54.3, 63, 51.7, 63, 41, 55.9, 41, 54.1, 38.8, 53.9, 42, 50.8, 42, 46.1, 52.5, 40, 54.9, 40, 65.9, 28, 67.5, 28, 72.5, 10, 74.5, 10, 70, -9, 70, -11.9, 58, -23, 58, -24.7, 44.2, -27, 36.4, -27, 20.7, -17.6, 19.3, -18, 11.5, -18, -41, -50.1, -41, -52.6, -44, -51.9, -41, -55.3, -41, -59.1)
[node name="钥匙" type="Sprite2D" parent="给钥匙的手/Hover钥匙"]
light_mask = 3
position = Vector2(14, 0)
rotation = -2.12894
scale = Vector2(0.5, 0.5)
skew = 0.0698131
texture = ExtResource("5_ncmgt") texture = ExtResource("5_ncmgt")
[node name="PointLight2D" type="PointLight2D" parent="给钥匙的手/Hover钥匙"]
position = Vector2(16, -3)
energy = 0.6
range_layer_min = -10
range_layer_max = 10
range_item_cull_mask = 2
texture = SubResource("GradientTexture2D_lqbuh")
[node name="给剪刀的手" type="Sprite2D" parent="."] [node name="给剪刀的手" type="Sprite2D" parent="."]
position = Vector2(425, 379) position = Vector2(425, 379)
texture = ExtResource("6_qqxug") texture = ExtResource("6_qqxug")
[node name="剪刀" type="Sprite2D" parent="给剪刀的手"] [node name="Hover剪刀" type="Area2D" parent="给剪刀的手"]
unique_name_in_owner = true
script = ExtResource("10_40v3c")
metadata/_custom_type_script = "uid://ubn3pgywffro"
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="给剪刀的手/Hover剪刀"]
position = Vector2(-9, -13)
rotation = -0.316255
scale = Vector2(0.59, 0.52)
skew = -0.366519
polygon = PackedVector2Array(-104, -80.9, -104, -77.7, -108, -72.7, -108, -68.2, -89, -49.2, -89, -48, -23.6, -2, -22.1, 2, -24.1, 2, -26.1, 5, -28.1, 5, -27, 27.1, -27, 30.5, -19, 45.5, -19, 49.8, -9.9, 60, -9, 64.3, -9, 66, 17, 85, 17, 87.8, 22.3, 86, 23.3, 86, 26, 88, 26, 89.6, 49, 94.6, 49, 96.4, 67.4, 93, 69.8, 93, 81.9, 82, 83.3, 82, 86.3, 75, 88.4, 75, 85, 56.6, 85, 52.3, 89.9, 53, 91.6, 53, 99.6, 48, 102, 48, 110, 37, 111.6, 37, 113.5, 29, 115.5, 29, 113, 17.6, 113, 11.4, 102, -5.7, 102, -7.9, 83, -24.9, 83, -26.3, 62, -36.3, 62, -37.7, 46, -40.7, 46, -42.2, 17.8, -40, 15.6, -40, 3.7, -35, 0.900002, -35, -1.1, -32, -2.2, -32, -3.3, -29.9, -1.7, -27.4, -3.1, -27, -9.2, -27, -24, -39.1, -24, -40.1, -64, -64.1, -64, -65.4)
[node name="PointLight2D" type="PointLight2D" parent="给剪刀的手/Hover剪刀"]
position = Vector2(-11, -10)
energy = 0.6
range_layer_min = -10
range_layer_max = 10
range_item_cull_mask = 2
texture = SubResource("GradientTexture2D_40v3c")
[node name="剪刀" type="Sprite2D" parent="给剪刀的手/Hover剪刀"]
light_mask = 3
position = Vector2(-9, -13) position = Vector2(-9, -13)
rotation = -0.316255 rotation = -0.316255
scale = Vector2(0.59, 0.52) scale = Vector2(0.59, 0.52)
@ -177,3 +275,74 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2 mouse_filter = 2
texture = ExtResource("2_3rwht") texture = ExtResource("2_3rwht")
[node name="求舌头" type="MarginContainer" parent="."]
z_index = 10
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -150.0
offset_right = 150.0
offset_bottom = 100.0
grow_horizontal = 2
size_flags_vertical = 0
mouse_filter = 2
theme_override_constants/margin_top = 100
[node name="RichTextLabel" type="RichTextLabel" parent="求舌头"]
visible = false
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
mouse_filter = 2
theme_override_colors/default_color = Color(0.686241, 0.191934, 0.178785, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_fonts/normal_font = ExtResource("18_3m4i6")
theme_override_font_sizes/normal_font_size = 40
bbcode_enabled = true
text = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]"
fit_content = true
autowrap_mode = 1
horizontal_alignment = 1
vertical_alignment = 1
script = ExtResource("19_f8b80")
translation_key = "c03_s04_李氏纸人求舌头"
prefix = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]"
[node name="求药" type="MarginContainer" parent="."]
z_index = 10
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -150.0
offset_right = 150.0
offset_bottom = 100.0
grow_horizontal = 2
size_flags_vertical = 0
mouse_filter = 2
theme_override_constants/margin_top = 100
[node name="RichTextLabel" type="RichTextLabel" parent="求药"]
visible = false
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
mouse_filter = 2
theme_override_colors/default_color = Color(0.686241, 0.191934, 0.178785, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_fonts/normal_font = ExtResource("18_3m4i6")
theme_override_font_sizes/normal_font_size = 40
bbcode_enabled = true
text = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]"
fit_content = true
autowrap_mode = 1
horizontal_alignment = 1
vertical_alignment = 1
script = ExtResource("19_f8b80")
translation_key = "c03_s04_李氏纸人求药"
prefix = "[wave amp=10.0 freq=5.0][shake rate=4.0 level=3]"
[connection signal="interacted" from="给钥匙的手/Hover钥匙" to="." method="_on_hover_key_interacted"]
[connection signal="interacted" from="给剪刀的手/Hover剪刀" to="." method="_on_hover_scissor_interacted"]

View File

@ -1,9 +1,9 @@
[gd_scene load_steps=12 format=3 uid="uid://b6ymfeft65wof"] [gd_scene load_steps=14 format=3 uid="uid://b6ymfeft65wof"]
[ext_resource type="Script" uid="uid://bp23kh1gi3asj" path="res://scene/ground/script/c03/s04_closeup柜子.gd" id="1_2ow0y"] [ext_resource type="Script" uid="uid://bp23kh1gi3asj" path="res://scene/ground/script/c03/s04_closeup柜子.gd" id="1_2ow0y"]
[ext_resource type="Texture2D" uid="uid://dluphta2op6kq" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/背景.png" id="2_rmoey"] [ext_resource type="Texture2D" uid="uid://dluphta2op6kq" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/背景.png" id="2_rmoey"]
[ext_resource type="Texture2D" uid="uid://cy1jly6cetwms" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/图层 11.png" id="3_ard2c"] [ext_resource type="Texture2D" uid="uid://bjkqoncq4b7jb" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/李弟照片.png" id="3_d7uum"]
[ext_resource type="Texture2D" uid="uid://dylb3p5sijet1" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/李弟照片.png" id="3_d7uum"] [ext_resource type="Texture2D" uid="uid://de8st2jostsxn" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/ux_李弟照片.png" id="4_qfnr1"]
[ext_resource type="Texture2D" uid="uid://cxaonpvi5g0xv" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/药方.png" id="5_rmoey"] [ext_resource type="Texture2D" uid="uid://cxaonpvi5g0xv" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/药方.png" id="5_rmoey"]
[ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="6_rmoey"] [ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="6_rmoey"]
[ext_resource type="Texture2D" uid="uid://dpo1lwepl0jaf" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/碗.png" id="7_qfnr1"] [ext_resource type="Texture2D" uid="uid://dpo1lwepl0jaf" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/碗.png" id="7_qfnr1"]
@ -11,6 +11,10 @@
[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="9_ard2c"] [ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="9_ard2c"]
[ext_resource type="Texture2D" uid="uid://doclbaxmuy2v0" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/麻将.png" id="9_gdtfm"] [ext_resource type="Texture2D" uid="uid://doclbaxmuy2v0" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/麻将.png" id="9_gdtfm"]
[ext_resource type="Script" uid="uid://dpocj5al0rvai" path="res://ui/text_helper.gd" id="10_qfnr1"] [ext_resource type="Script" uid="uid://dpocj5al0rvai" path="res://ui/text_helper.gd" id="10_qfnr1"]
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="11_qfnr1"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_kxw4a"]
load_path = "res://.godot/imported/李弟照片.png-a0ec640e11a2d503cb3a6496ecfadf81.ctex"
[node name="Closeup柜子" type="CanvasLayer"] [node name="Closeup柜子" type="CanvasLayer"]
script = ExtResource("1_2ow0y") script = ExtResource("1_2ow0y")
@ -24,27 +28,9 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
texture = ExtResource("2_rmoey") texture = ExtResource("2_rmoey")
[node name="Hover照片" parent="." instance=ExtResource("8_kxw4a")]
unique_name_in_owner = true
position = Vector2(293, 97)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hover照片"]
polygon = PackedVector2Array(125.5, 59, 125.5, 46, 124.5, 46, 124.5, -59, -125.5, -59, -125.5, 59)
[node name="照片" type="Sprite2D" parent="Hover照片"]
light_mask = 33
texture = ExtResource("3_d7uum")
[node name="PointLight2D" type="PointLight2D" parent="Hover照片"]
light_mask = 33
energy = 2.0
range_layer_max = 10
range_item_cull_mask = 32
texture = ExtResource("3_d7uum")
[node name="Hover药方" parent="." instance=ExtResource("8_kxw4a")] [node name="Hover药方" parent="." instance=ExtResource("8_kxw4a")]
unique_name_in_owner = true unique_name_in_owner = true
position = Vector2(449, 205) position = Vector2(120, 201)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hover药方"] [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hover药方"]
polygon = PackedVector2Array(95.5, -70.5, -17.3, -70.5, -18.6, -68.5, -19.9, -68.5, -22.5, -60.8, -22.5, -58.2, -45.6, -23.5, -46.8, -23.5, -53.5, -7.9, -53.5, -5, -69.5, 22, -69.5, 23.8, -90.5, 56.9, -90.5, 58.4, -95.2, 61.5, -95.5, 70.5, 38.9, 70.5, 43.1, 67.5, 46.6, 67.5, 62.6, 43.5, 64, 43.5, 95.5, -54.3) polygon = PackedVector2Array(95.5, -70.5, -17.3, -70.5, -18.6, -68.5, -19.9, -68.5, -22.5, -60.8, -22.5, -58.2, -45.6, -23.5, -46.8, -23.5, -53.5, -7.9, -53.5, -5, -69.5, 22, -69.5, 23.8, -90.5, 56.9, -90.5, 58.4, -95.2, 61.5, -95.5, 70.5, 38.9, 70.5, 43.1, 67.5, 46.6, 67.5, 62.6, 43.5, 64, 43.5, 95.5, -54.3)
@ -68,8 +54,38 @@ trigger_event = &"c03_s04_counter_drug_spec"
trigger_mode = "interacted" trigger_mode = "interacted"
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="Hover照片" parent="." instance=ExtResource("8_kxw4a")]
unique_name_in_owner = true
position = Vector2(293, 97)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hover照片"]
polygon = PackedVector2Array(125.5, 59, 125.5, 46, 124.5, 46, 124.5, -59, -125.5, -59, -125.5, 59)
[node name="照片" type="Sprite2D" parent="Hover照片"]
light_mask = 33
texture = ExtResource("3_d7uum")
[node name="照片已去世" type="Sprite2D" parent="Hover照片"]
light_mask = 33
texture = ExtResource("4_qfnr1")
[node name="EventBinder" type="Node" parent="Hover照片/照片已去世"]
script = ExtResource("6_rmoey")
updater_event = &"c03_li_paperwoman"
updater_mode = "shower"
updater_ease_duration = 0.0
updater_stages = Array[int]([4, 5])
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="PointLight2D" type="PointLight2D" parent="Hover照片"]
light_mask = 33
energy = 2.0
range_layer_max = 10
range_item_cull_mask = 32
texture = SubResource("CompressedTexture2D_kxw4a")
[node name="碗" type="Sprite2D" parent="."] [node name="碗" type="Sprite2D" parent="."]
position = Vector2(202, 192) position = Vector2(432, 201)
texture = ExtResource("7_qfnr1") texture = ExtResource("7_qfnr1")
[node name="Hover麻将" parent="碗" instance=ExtResource("8_kxw4a")] [node name="Hover麻将" parent="碗" instance=ExtResource("8_kxw4a")]
@ -130,4 +146,4 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2 mouse_filter = 2
texture = ExtResource("3_ard2c") texture = ExtResource("11_qfnr1")

View File

@ -236,6 +236,8 @@ func _exchange_texture_and_card(btn1: TextureButton, btn2: TextureButton) -> voi
standing_cards.append(require_dealing_card) standing_cards.append(require_dealing_card)
$SfxSwitch.play() $SfxSwitch.play()
_align_card_textures() _align_card_textures()
# _align_card_textures 之后,将要打出去的牌置为空
standing_cards[13] = ""
# 右侧牌和其他牌保持间隙, _align_card_textures 会重置间隙与透明度 # 右侧牌和其他牌保持间隙, _align_card_textures 会重置间隙与透明度
right_mahjong_place.custom_minimum_size.x = 40.0 right_mahjong_place.custom_minimum_size.x = 40.0
# 替换到手牌后消失 # 替换到手牌后消失
@ -313,6 +315,9 @@ func _next_round() -> void:
await Util.wait(1.0) await Util.wait(1.0)
$SfxSuccess.play() $SfxSuccess.play()
await _await_dialog(8) await _await_dialog(8)
# 黑屏效果 cover 退出
SceneManager.black_transition(0.5, 3.0)
await Util.wait(1.0)
exit.emit(true) exit.emit(true)
else: else:
freezing = false freezing = false

View File

@ -1,5 +1,7 @@
extends CanvasLayer extends CanvasLayer
# 使用场景:
# 1. 弹珠游戏
signal ball_dialogue_ended signal ball_dialogue_ended
@onready var label = %RichTextLabel as RichTextLabel @onready var label = %RichTextLabel as RichTextLabel

View File

@ -14,6 +14,8 @@ extends Node
if is_node_ready(): if is_node_ready():
refresh() refresh()
@export var vertical := false @export var vertical := false
@export var prefix := ""
@export var suffix := ""
@warning_ignore("unused_private_class_variable") @warning_ignore("unused_private_class_variable")
@export_tool_button("刷新") var _refresh = refresh @export_tool_button("刷新") var _refresh = refresh
@ -30,7 +32,7 @@ var items_translation = preload("uid://c1x5bqwulamey") as Translation
func refresh(): func refresh():
if property_name: if property_name:
if not inspect_title.is_empty(): if not inspect_title.is_empty():
set(property_name, _get_tr_content()) setup_property(_get_tr_content())
elif translation_key: elif translation_key:
var msg = tr(translation_key) var msg = tr(translation_key)
if Engine.is_editor_hint(): if Engine.is_editor_hint():
@ -41,11 +43,15 @@ func refresh():
for c in msg: for c in msg:
new_text += c + "\n" new_text += c + "\n"
msg = new_text msg = new_text
set(property_name, msg) setup_property(msg)
# if Engine.is_editor_hint(): # if Engine.is_editor_hint():
# print("lable updated: %s" % [get(property_name)]) # print("lable updated: %s" % [get(property_name)])
func setup_property(msg: String) -> void:
set(property_name, prefix + msg + suffix)
func _get_tr_content(): func _get_tr_content():
if inspect_title == "": if inspect_title == "":
return "" return ""