diff --git a/asset/art/little_game/八音盒/新小猫身体.png b/asset/art/little_game/八音盒/新小猫身体.png index e2eeb7a8..c8add38d 100644 Binary files a/asset/art/little_game/八音盒/新小猫身体.png and b/asset/art/little_game/八音盒/新小猫身体.png differ diff --git a/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字.png b/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字.png deleted file mode 100644 index 4a56558c..00000000 Binary files a/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字.png and /dev/null differ diff --git a/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字与柜子痕迹.png b/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字与柜子痕迹.png new file mode 100644 index 00000000..4ae7a70e Binary files /dev/null and b/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字与柜子痕迹.png differ diff --git a/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字.png.import b/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字与柜子痕迹.png.import similarity index 69% rename from asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字.png.import rename to asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字与柜子痕迹.png.import index 46a88b67..73787c0e 100644 --- a/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字.png.import +++ b/asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字与柜子痕迹.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://diuh52qo2o6pa" -path="res://.godot/imported/f_院子内墙上文字.png-107caa7c643223d1c6850711ee51240a.ctex" +path="res://.godot/imported/f_院子内墙上文字与柜子痕迹.png-0cef3994ff5def82c7145639956c0415.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字.png" -dest_files=["res://.godot/imported/f_院子内墙上文字.png-107caa7c643223d1c6850711ee51240a.ctex"] +source_file="res://asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字与柜子痕迹.png" +dest_files=["res://.godot/imported/f_院子内墙上文字与柜子痕迹.png-0cef3994ff5def82c7145639956c0415.ctex"] [params] diff --git a/asset/art/scene/c02/s04_保卫科/花名册/翻开页.png b/asset/art/scene/c02/s04_保卫科/花名册/翻开页.png index a3972800..99ac0837 100644 Binary files a/asset/art/scene/c02/s04_保卫科/花名册/翻开页.png and b/asset/art/scene/c02/s04_保卫科/花名册/翻开页.png differ diff --git a/asset/dialogue/item_description.csv b/asset/dialogue/item_description.csv index 5ea292b7..b6730444 100644 --- a/asset/dialogue/item_description.csv +++ b/asset/dialogue/item_description.csv @@ -20,6 +20,8 @@ setting_记忆,记忆(G),,,,, setting_全屏游戏,全屏游戏,,,,,Full Screen setting_窗口置顶,窗口置顶,,,,,Top Window ux_panel_笔记,线索,,,,, +c02_小手其他交易,...还有什么东西能跟它交换呢?,,,,, +这是什么鬼东西,它是在讨要什么 [ID:],这是什么鬼东西,它是在讨要什么 [ID:],,,,, index_新游戏,新游戏,,,,,New Game index_继续游戏,继续游戏,,,,,Resume index_退出游戏,退出游戏,,,,,Exit @@ -87,7 +89,7 @@ prop_小猫玩具的脑袋_说明,某个玩具的部件,有些眼熟,,,,, prop_无头小猫玩具,无头小猫玩具,,,[#texture=c02/新小猫身体.png][#inspect=c02/新小猫身体_特写.png],, prop_无头小猫玩具_说明,没有脑袋的小猫玩偶,针脚歪歪扭扭,不甚熟练,,,,, prop_小猫玩具完整,小猫玩具,,,[#texture=c02/新小猫全身.png],, -prop_小猫玩具完整_说明,这玩具看久了还蛮可爱的,,,,, +prop_小猫玩具完整_说明,这个玩具看久了有些眼熟,,,,, prop_撕下的照片上,撕下的照片(上),,,[#texture=c02/照片_上.png],, prop_撕下的照片上_说明,女儿生辰纪念 于 民国元年,,,,, prop_老虎钳,老虎钳,,,[#texture=c02/老虎钳物品.png][#inspect=c02/老虎钳.png],, @@ -151,7 +153,7 @@ c02_海报_戏法班,朱连魁全班戏法——「各有幻女...演技新奇 c02_芦昌路26,芦昌路26弄3号,我父母真的住在这里吗...,,,,, c02_s01_下黄包车,院长在信里提到的就是这里,,,,, c02_s01_寻人启事,寻人启事...,,,,, -c02_冷飕飕的,冷飕飕的...,,,,, +c02_冷飕飕的,船明天就开了,今晚来这或许是我最后的机会。,,,,, c02_太暗了,太暗了,找找能照明的东西吧。,,,,, c02_陈旧的煤油灯,上了年头的煤油灯,似乎很久没用过了。,,,,, c02_使用煤油灯,呼,那股阴冷的感觉也消失了。,,,,, @@ -165,13 +167,14 @@ c02_s03_干掉的血迹,血迹看上去干了很久,血脚印有大有小, c02_院子_算命摊位,算命的摊位?,,,,, c02_院子_要下雨,好像要下雨了?,,,,, c02_s03_掉鞋子,怎么天上掉了个小鞋子下来?,,,,, -c02_s03_铁门,锁住了,,,,, +c02_s03_铁门,被铁链锁住了,,,,, c02_保卫科花名册os,芦昌公寓居民登记簿,黄国栋记。,,,,, +c02_保卫科花名册首次互动结束,3012?上面有我的名字,看来确实是这里...,,,,, c02_保卫科祭台os,祭台是专门供奉这只大老鼠的?,,,,, c02_保卫科老鼠精,鼠歌

天地小如喉,
红轮自吞吐。
多少世间人,
都被红轮误。,,,,, -c02_小手其他交易,...还有什么东西能跟它交换呢?,,,,, +c02_小手还能换什么,...还有什么东西能跟它交换呢?,,,,, c02_小手出现摔倒,?!,,,,, -这是什么鬼东西,它是在讨要什么 [ID:],这是什么鬼东西,它是在讨要什么 [ID:],,,,, +c02_小手是什么鬼,这是什么鬼东西,它是在讨要什么,,,,, c02_小手再次出现,又来一个!,,,,, c02_一楼楼道被挡住,被挡住了,,,,, c02_一楼戏台,盖着布的木头架子...用来做什么的呢,,,,, @@ -187,6 +190,8 @@ c02_二楼楼梯杂物堆,堆满了杂物,看样子没办法从这里上去了 c02_二楼水盆,盆里的水很清澈,看上去像是刚盛的。,,,,, c02_二楼老鼠洞,到处都是老鼠洞,怕不是整栋楼都被老鼠打通了。,,,,, c02_二楼血脚印,又是这种小小尖尖的血脚印...,,,,, +c02_老鼠叼鞋引开疯子,那女孩为什么要我引开这个疯男人?,,,,, +c02_小手换回弹珠,我要去找洞里的小手把弹珠拿回来。,,,,, c02_离开红色演出,刚才那些...到底是怎么回事?,,,,, c02_瞎子卧室_八卦图,「乾三连,坤六断;震仰盂,艮覆碗;离中虚,坎中满;兑上缺,巽下断」
咦,这口诀是谁教我的来着...,,,,, c02_瞎子卧室_十字架,院长房间里也有一个类似的十字架。,,,,, diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue index aa207df1..b2ded54e 100644 --- a/asset/dialogue/item_description.dialogue +++ b/asset/dialogue/item_description.dialogue @@ -85,7 +85,7 @@ 无头小猫玩具 [#texture=c02/新小猫身体.png] [#inspect=c02/新小猫身体_特写.png] [ID:prop_无头小猫玩具] 没有脑袋的小猫玩偶,针脚歪歪扭扭,不甚熟练 [ID:prop_无头小猫玩具_说明] 小猫玩具 [#texture=c02/新小猫全身.png] [ID:prop_小猫玩具完整] -这玩具看久了还蛮可爱的[ID:prop_小猫玩具完整_说明] +这个玩具看久了有些眼熟[ID:prop_小猫玩具完整_说明] 撕下的照片(上) [#texture=c02/照片_上.png] [ID:prop_撕下的照片上] 女儿生辰纪念 于 民国元年 [ID:prop_撕下的照片上_说明] 老虎钳 [#texture=c02/老虎钳物品.png][#inspect=c02/老虎钳.png] [ID:prop_老虎钳] @@ -180,7 +180,7 @@ 院长在信里提到的就是这里 [ID:c02_s01_下黄包车] 寻人启事... [ID:c02_s01_寻人启事] # c02-s02 走道 -冷飕飕的... [ID:c02_冷飕飕的] +船明天就开了,今晚来这或许是我最后的机会。 [ID:c02_冷飕飕的] 太暗了,找找能照明的东西吧。 [ID:c02_太暗了] 上了年头的煤油灯,似乎很久没用过了。 [ID:c02_陈旧的煤油灯] 呼,那股阴冷的感觉也消失了。 [ID:c02_使用煤油灯] @@ -191,19 +191,23 @@ 自制的八音盒,这么用心的小玩意,怎么会被人扔在这里呢? [ID:c02_s02_八音盒] 别出心裁的小机关,缺了点东西,暂时还不能用 [ID:c02_s02_八音盒缺人偶] # c02 院子 +好像要下雨了? [ID:c02_院子_保卫科旁] 血迹看上去干了很久,血脚印有大有小,咦,还有个特别小的... [ID:c02_s03_干掉的血迹] 算命的摊位? [ID:c02_院子_算命摊位] 好像要下雨了? [ID:c02_院子_要下雨] 怎么天上掉了个小鞋子下来? [ID:c02_s03_掉鞋子] -锁住了 [ID:c02_s03_铁门] +被铁链锁住了 [ID:c02_s03_铁门] +三快三慢?是和那个肉铺老板交流的暗号吗? [ID:c02_偷听李癞对话后] +这里之前放着的东西好像被人挪走了? [ID:c02_柜子可放置区域] # c02 保卫科 芦昌公寓居民登记簿,黄国栋记。 [ID:c02_保卫科花名册os] +3012?上面有我的名字,看来确实是这里... [ID:c02_保卫科花名册首次互动结束] 祭台是专门供奉这只大老鼠的? [ID:c02_保卫科祭台os] 鼠歌

天地小如喉,
红轮自吞吐。
多少世间人,
都被红轮误。 [ID:c02_保卫科老鼠精] # c02 小手 -...还有什么东西能跟它交换呢? [ID:] +...还有什么东西能跟它交换呢? [ID:c02_小手还能换什么] ?! [ID:c02_小手出现摔倒] -这是什么鬼东西,它是在讨要什么 [ID:] +这是什么鬼东西,它是在讨要什么 [ID:c02_小手是什么鬼] 又来一个! [ID:c02_小手再次出现] # c02 内侧楼道 被挡住了 [ID:c02_一楼楼道被挡住] @@ -223,6 +227,8 @@ 盆里的水很清澈,看上去像是刚盛的。 [ID:c02_二楼水盆] 到处都是老鼠洞,怕不是整栋楼都被老鼠打通了。 [ID:c02_二楼老鼠洞] 又是这种小小尖尖的血脚印... [ID:c02_二楼血脚印] +那女孩为什么要我引开这个疯男人?[ID:c02_老鼠叼鞋引开疯子] +我要去找洞里的小手把弹珠拿回来。 [ID:c02_小手换回弹珠] # c02 瞎子卧室 刚才那些...到底是怎么回事? [ID:c02_离开红色演出] 「乾三连,坤六断;震仰盂,艮覆碗;离中虚,坎中满;兑上缺,巽下断」
咦,这口诀是谁教我的来着... [ID:c02_瞎子卧室_八卦图] diff --git a/asset/dialogue/npc.dialogue b/asset/dialogue/npc.dialogue index c083a6c9..3ee91fbf 100644 --- a/asset/dialogue/npc.dialogue +++ b/asset/dialogue/npc.dialogue @@ -24,12 +24,13 @@ ???: 这是我家,我的东西,我的宝贝,听到没有?!别吵了...都出去! [#anonymous] [ID:c02_2疯子_3] => END -~ c02_s11_井边疯子对话 +~ c02_看井对话 ???: 囡囡看,月亮掉进水里喽! [ID:c02_3疯子_1] ???: 不对、不对,连月亮也骗我! [ID:c02_3疯子_2] ???: 月牙儿,不吉利,圆圆的,一块也不能缺... [ID:c02_3疯子_3] -#=> END -#~ c02_疯子对话圆月亮 +=> END + +~ c02_井边疯子对话 ???: 你看见没有?这月亮够不够圆? [ID:c02_疯子对话圆月亮1] ???: 杆子细又高、灯火照一照、庙里影子绕、大家哈哈笑... [ID:c02_疯子对话圆月亮2] ???: 扁担长,板凳宽,板凳没有扁担长,扁担没有板凳宽...一担挑啊,一担挑! [ID:c02_疯子对话圆月亮3] diff --git a/asset/shader/vignette.gdshader b/asset/shader/vignette.gdshader index 7393d3da..9bdaeb2f 100644 --- a/asset/shader/vignette.gdshader +++ b/asset/shader/vignette.gdshader @@ -1,7 +1,8 @@ shader_type canvas_item; -uniform float vignette_intensity : hint_range(0.0, 4.0) = 0.4; -uniform vec4 vignette_rgb : source_color = vec4(0.247, 0.149, 0.192, 1.0); +uniform float vignette_ratio : hint_range(0.0, 1.0) = 0.4; +uniform float vignette_intensity : hint_range(0.0, 4.0) = 0.3; +uniform vec3 vignette_rgb : source_color = vec3(0.753, 0.0, 0.0); uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap; float vignette(vec2 uv){ @@ -12,8 +13,7 @@ float vignette(vec2 uv){ void fragment(){ vec4 color = texture(SCREEN_TEXTURE, SCREEN_UV); - vec4 text = texture(TEXTURE, UV); - text.rgba *= (vignette_rgb.rgba); - text.rgba *= (1.0 - vignette(UV)); - COLOR = vec4((text.rgb)*color.rgb, text.a); + float a = 1.0 - vignette(UV); + vec3 rgb = vignette_ratio * vignette_rgb + (1.0 - vignette_ratio) * color.rgb; + COLOR = vec4(rgb, a); } \ No newline at end of file diff --git a/manager/archive_manager/assembled_archive.gd b/manager/archive_manager/assembled_archive.gd index e507e545..41c60cdc 100644 --- a/manager/archive_manager/assembled_archive.gd +++ b/manager/archive_manager/assembled_archive.gd @@ -10,17 +10,14 @@ class_name AssembledArchive extends Resource if val and val.length() != 7: printerr("[AssembledArchive] current_scene is not valid: " + val) return - current_chapter = int(val.substr(1, 2)) - current_section = int(val.substr(5)) # 尝试后台预先加载该场景 if GroundLoader.GROUND_SCENE_PATH_DICT.has(val): var path = GroundLoader.GROUND_SCENE_PATH_DICT[val] if GlobalConfig.DEBUG: print("[AssembledArchive] preload scene: " + path) ResourceLoader.load_threaded_request(path, "PackedScene") -# current_chapter and current_section are derived from current_scene +# 0:未开始游戏;1:序章;2-5:一~四章;6:结尾 @export var current_chapter := 0 -@export var current_section := 0 # player's info # 只有在 >=0 的情况下才会生效 @export var player_global_position_x := -100.0 @@ -71,3 +68,13 @@ func set_global_entry(property: StringName, value) -> void: func get_global_value(property: StringName) -> Variant: return global_data_dict.get(property) + +func set_chapter_if_greater(c : int) -> void: + # 1:序章;2-5:一~四章;6:结尾 + if c < 1 or c > 6: + printerr("[AssembledArchive] set_chapter: invalid chapter value: " + str(c)) + return + if current_chapter >= c: + return + print("[AssembledArchive] set_chapter_if_greater: " + str(c)) + current_chapter = c \ No newline at end of file diff --git a/manager/config_manager/global_config_manager.gd b/manager/config_manager/global_config_manager.gd index 1cb8b351..5f89906e 100644 --- a/manager/config_manager/global_config_manager.gd +++ b/manager/config_manager/global_config_manager.gd @@ -96,8 +96,6 @@ func get_concise_timemark() -> String: + str(ArchiveManager.current_archive_id) + "_c" + str(archive.current_chapter) - + "_s" - + str(archive.current_section) + " " + str(hour) + ":" diff --git a/scene/ground/ground_loader.gd b/scene/ground/ground_loader.gd index 5fc031ff..ffc578fe 100644 --- a/scene/ground/ground_loader.gd +++ b/scene/ground/ground_loader.gd @@ -21,32 +21,33 @@ var ground: Ground2D # 场景名字映射到路径 static var GROUND_SCENE_PATH_DICT = { - "c01_s05": "res://scene/ground/scene/c01/s05_院长房间.tscn", - "c01_s06": "res://scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn", - "c01_s07": "res://scene/ground/scene/c01/s07_书店外.tscn", - "c01_s08": "res://scene/ground/scene/c01/s08_书店.tscn", - "c01_s09": "res://scene/ground/scene/c01/s09_公寓楼外.tscn", - "c01_s10": "res://scene/ground/scene/c01/s10_公寓楼道.tscn", - "c01_s11": "res://scene/ground/scene/c01/s11_黄包车演出.tscn", - "c01_s12": "res://scene/ground/scene/c01/s12_书店外_诡异版.tscn", - "c02_s01": "res://scene/ground/scene/c02/s01_公寓门口.tscn", - "c02_s02": "res://scene/ground/scene/c02/s02_过道.tscn", - "c02_s03": "res://scene/ground/scene/c02/s03_院子.tscn", - "c02_s04": "res://scene/ground/scene/c02/s04_保卫科.tscn", - "c02_s05": "res://scene/ground/scene/c02/s05_一楼内侧楼道.tscn", - "c02_s06": "res://scene/ground/scene/c02/s06_二楼.tscn", - "c02_s07": "res://scene/ground/scene/c02/s07_二楼内侧楼道.tscn", - "c02_s08": "res://scene/ground/scene/c02/s08_瞎子卧室.tscn", - "c02_s09": "res://scene/ground/scene/c02/s09_裂缝.tscn", - "c02_s10": "res://scene/ground/scene/c02/s10_空房间.tscn", - "c02_s11": "res://scene/ground/scene/c02/s11_一楼火灾.tscn", # 注:该场景合并在了 c02_s03 院子中 - "c02_s12": "res://scene/ground/scene/c02/s12_盒子猫.tscn", - "c02_s13": "res://scene/ground/scene/c02/s13_盒子猫二楼.tscn", - "c02_s14": "res://scene/ground/scene/c02/s14_盒子猫二楼内侧.tscn", - "c02_s15": "res://scene/ground/scene/c02/s15_盒子猫一楼内侧.tscn", - "c02_s16": "res://scene/ground/scene/c02/s16_盒子猫三楼内侧.tscn", - "c02_s17": "res://scene/ground/scene/c02/s17_盒子猫三楼.tscn", - "c02_s18": "res://scene/ground/scene/c02/s18_盒子猫一楼.tscn", + "c01_s05": "uid://dlx5xxbg53rb8", + "c01_s06": "uid://bx16c8nn32f40", + "c01_s07": "uid://ds2iyfndwamiy", + "c01_s08": "uid://cwu4dhayra8pg", + "c01_s09": "uid://c777lv8mjojcw", + "c01_s10": "uid://be57l2o3vxxtm", + "c01_s11": "uid://coiumaaenimbc", + "c01_s12": "uid://bol5hl68pbpgq", + "c02_s01": "uid://bbs7yy5aofw1v", + "c02_s02": "uid://brck77w81fhvc", + "c02_s03": "uid://djc2uaefhmu7", + "c02_s04": "uid://bivc5cdap370p", + "c02_s05": "uid://cp8d3ag5nbjq0", + "c02_s06": "uid://cootarwb44vvh", + "c02_s07": "uid://t4xjt774ngwh", + "c02_s08": "uid://ce2vyyg2reg52", + "c02_s09": "uid://ryups1dnwdto", + "c02_s10": "uid://dny21yhtuteap", + "c02_s11": "uid://dq41rvwl5hyrk", # 注:该场景合并在了 c02_s03 院子中 + "c02_s12": "uid://da4cuf2i3nwpj", + "c02_s13": "uid://bvjutch6jex0v", + "c02_s14": "uid://d0p4x5st2r315", + "c02_s15": "uid://b21p53g42j2nt", + "c02_s16": "uid://22hc3oe8t0id", + "c02_s17": "uid://cbr6gbgrl2wb1", + "c02_s18": "uid://d27gv3pbkn4b8", + "c03_s01": "uid://dlrbhfvnd3cs0", # 瞎子理发店 } diff --git a/scene/ground/scene/c01/s05_院长房间.gd b/scene/ground/scene/c01/s05_院长房间.gd index aa1063d4..b17735a0 100644 --- a/scene/ground/scene/c01/s05_院长房间.gd +++ b/scene/ground/scene/c01/s05_院长房间.gd @@ -30,6 +30,7 @@ func play_intro_dialogue(): func _on_ground_ready() -> void: + ArchiveManager.archive.set_chapter_if_greater(1) ambush = $"../DeployLayer/ambush鸡毛掸子" frame = $"../DeployLayer/画框" paper = $"../DeployLayer/oneshot纸片" diff --git a/scene/ground/scene/c01/s05_院长房间.tscn b/scene/ground/scene/c01/s05_院长房间.tscn index 4a4a783c..81488023 100644 --- a/scene/ground/scene/c01/s05_院长房间.tscn +++ b/scene/ground/scene/c01/s05_院长房间.tscn @@ -754,7 +754,6 @@ unique_name_in_owner = true position = Vector2(270, 23.5) texture = ExtResource("12_jtglg") trigger_mode = "interact" -lock_player_on_playing_dialogue = null hook_animation = "使用鸡毛掸子" hook_method = "lock_on_use_stick" diff --git a/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn index 944058ef..6a715e41 100644 --- a/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn +++ b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn @@ -230,7 +230,7 @@ hook_dialogue_title = "c01_s06_走廊前对话" position = Vector2(308, 43) one_shot = false cooldown_time = 3.0 -lock_player_on_playing_dialogue = null +lock_player_on_playing_dialogue = false hook_animation = "门口_观望" [node name="踢球男孩" parent="Ground/DeployLayer" index="6" instance=ExtResource("5_erliv")] @@ -425,7 +425,6 @@ move_configs = Array[Dictionary]([{ position = Vector2(1, 65) trigger_mode = "area_enter" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "obstacles_ambush1_triggered" [node name="Area2D" parent="Ground/DeployLayer/【站立小孩-1】/桌椅ambush1" index="1"] @@ -491,7 +490,6 @@ position = Vector2(78, 43) position = Vector2(1, 65) trigger_mode = "area_enter" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "obstacles_ambush2_triggered" [node name="Area2D" parent="Ground/DeployLayer/【站立小孩-2】/桌椅ambush2" index="1"] @@ -533,7 +531,6 @@ bus = &"game_sfx" position = Vector2(1809, 56) one_shot = false cooldown_time = 1.0 -lock_player_on_playing_dialogue = null hook_method = "game_intro" [node name="【胖小孩背着残疾小孩】" parent="Ground/DeployLayer" index="18" instance=ExtResource("8_ouldg")] @@ -574,7 +571,6 @@ move_configs = Array[Dictionary]([{ position = Vector2(1, 65) trigger_mode = "area_enter" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "obstacles_ambush3_triggered" [node name="Area2D" parent="Ground/DeployLayer/【胖小孩背着残疾小孩】/桌椅ambush3" index="1"] @@ -637,7 +633,6 @@ hook_method = "talk3" position = Vector2(4546, 45) one_shot = false cooldown_time = 0.1 -lock_player_on_playing_dialogue = null hook_method = "game_succeed" [node name="Fog" parent="Ground/DeployLayer/猫鼠游戏胜利ambush" instance=ExtResource("14_d5def")] diff --git a/scene/ground/scene/c01/s07_书店外.gd b/scene/ground/scene/c01/s07_书店外.gd index a07dc05a..2170437f 100644 --- a/scene/ground/scene/c01/s07_书店外.gd +++ b/scene/ground/scene/c01/s07_书店外.gd @@ -23,6 +23,7 @@ var ambush_seller: Ambush2D var bookstore_portal: Portal2D func _on_ground_ready() -> void: + ArchiveManager.archive.set_chapter_if_greater(2) luren = $"../DeployLayer/陆仁舞刀" as ProAnimatedSprite2D fog = $"../DeployLayer/portal_1/Fog" as Fog2D if data.fog_disappeared: diff --git a/scene/ground/scene/c01/s08_书店.tscn b/scene/ground/scene/c01/s08_书店.tscn index 17e4bf26..8737dae7 100644 --- a/scene/ground/scene/c01/s08_书店.tscn +++ b/scene/ground/scene/c01/s08_书店.tscn @@ -131,7 +131,6 @@ texture = ExtResource("5_tnrke") trigger_mode = "interact" one_shot = false cooldown_time = 1.0 -lock_player_on_playing_dialogue = null hook_method = "play_shelf_game" [node name="Interactable信件书桌" parent="Ground/DeployLayer" index="3" instance=ExtResource("7_fue0t")] @@ -175,7 +174,6 @@ position = Vector2(537, 21) enabled = false trigger_mode = "interact" cooldown_time = 1.0 -lock_player_on_playing_dialogue = null hook_method = "pay_off_wage" [node name="老板" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="8"] diff --git a/scene/ground/scene/c01/s09_公寓楼外.tscn b/scene/ground/scene/c01/s09_公寓楼外.tscn index 5d8a565a..b4847fbf 100644 --- a/scene/ground/scene/c01/s09_公寓楼外.tscn +++ b/scene/ground/scene/c01/s09_公寓楼外.tscn @@ -148,7 +148,6 @@ position = Vector2(-119, 13) position = Vector2(96, 20) one_shot = false cooldown_time = 0.1 -lock_player_on_playing_dialogue = null hook_method = "player_been_passed" [node name="脚步声2D" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Ghost"] diff --git a/scene/ground/scene/c01/s11_黄包车演出.tscn b/scene/ground/scene/c01/s11_黄包车演出.tscn index 93db4747..a14755a8 100644 --- a/scene/ground/scene/c01/s11_黄包车演出.tscn +++ b/scene/ground/scene/c01/s11_黄包车演出.tscn @@ -216,42 +216,36 @@ position = Vector2(1365, 4) trigger_mode = "area_enter" one_shot = false cooldown_time = 1.0 -lock_player_on_playing_dialogue = null hook_method = "pop_title_1" [node name="ambush_title2" parent="Ground/DeployLayer" index="5" instance=ExtResource("6_3k8jj")] position = Vector2(2870, -10) trigger_mode = "area_enter" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "pop_title_2" [node name="ambush_title3" parent="Ground/DeployLayer" index="6" instance=ExtResource("6_3k8jj")] position = Vector2(6341, 3) trigger_mode = "area_enter" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "pop_title_3" [node name="ambush_dialog2" parent="Ground/DeployLayer" index="7" instance=ExtResource("6_3k8jj")] position = Vector2(866, 5) trigger_mode = "area_enter" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "dialog2" [node name="ambush_dialog3" parent="Ground/DeployLayer" index="8" instance=ExtResource("6_3k8jj")] position = Vector2(3448, -8) trigger_mode = "area_enter" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "dialog3" [node name="ambush_dialog4" parent="Ground/DeployLayer" index="9" instance=ExtResource("6_3k8jj")] position = Vector2(5305, -2) trigger_mode = "area_enter" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "dialog4" [node name="路灯序列1" type="Node2D" parent="Ground/AmbientLayer" index="0"] diff --git a/scene/ground/scene/c01/s12_书店外_诡异版.tscn b/scene/ground/scene/c01/s12_书店外_诡异版.tscn index 1ed25392..2fe62f8a 100644 --- a/scene/ground/scene/c01/s12_书店外_诡异版.tscn +++ b/scene/ground/scene/c01/s12_书店外_诡异版.tscn @@ -159,7 +159,6 @@ position = Vector2(1127, 28) enabled = false one_shot = false cooldown_time = 0.1 -lock_player_on_playing_dialogue = null hook_method = "player_been_catched" [node name="脚步声2D" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Ghost"] @@ -227,7 +226,6 @@ action_configs = Array[Dictionary]([{ [node name="Ambush举碗小孩" parent="Ground/DeployLayer/举碗小孩" instance=ExtResource("9_nqlku")] position = Vector2(0, 53) trigger_mode = "interact" -lock_player_on_playing_dialogue = null hook_method = "ambush_begger_interacted" [node name="Interactable碗" parent="Ground/DeployLayer/举碗小孩" instance=ExtResource("5_6jrnc")] @@ -249,7 +247,6 @@ position = Vector2(0, 92) enabled = false one_shot = false cooldown_time = 1.0 -lock_player_on_playing_dialogue = null hook_method = "player_run_away" [node name="Light" parent="Ground/AmbientLayer" index="0" instance=ExtResource("5_kywnm")] diff --git a/scene/ground/scene/c02/s01_公寓门口.tscn b/scene/ground/scene/c02/s01_公寓门口.tscn index 4980c156..bdfd964f 100644 --- a/scene/ground/scene/c02/s01_公寓门口.tscn +++ b/scene/ground/scene/c02/s01_公寓门口.tscn @@ -37,13 +37,11 @@ texture = ExtResource("5_j2ctx") [node name="portal_left" parent="Ground/DeployLayer" index="0"] position = Vector2(78, 27) immediately = true -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(368, 4) target_scene = "c02_s02" target_portal = "left" -matched_sign_texture = null [node name="Note门口" parent="Ground/DeployLayer" index="2" instance=ExtResource("6_bhi7l")] position = Vector2(285, -20) diff --git a/scene/ground/scene/c02/s02_过道.tscn b/scene/ground/scene/c02/s02_过道.tscn index 188066c0..c4fcc8f8 100644 --- a/scene/ground/scene/c02/s02_过道.tscn +++ b/scene/ground/scene/c02/s02_过道.tscn @@ -86,13 +86,11 @@ position = Vector2(-25, 24) enabled = false target_scene = "c02_s01" target_portal = "right" -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(676, 6) target_scene = "c02_s03" target_portal = "left" -matched_sign_texture = null [node name="InteractableLeftPortal" parent="Ground/DeployLayer" index="2" instance=ExtResource("13_ck13g")] position = Vector2(28, -24) @@ -110,7 +108,6 @@ frame_progress = 1.0 [node name="Ambush太暗了" parent="Ground/DeployLayer" index="4" instance=ExtResource("8_52as8")] position = Vector2(177, 42) -lock_player_on_playing_dialogue = null hook_os_key = "c02_太暗了" [node name="海报1" parent="Ground/DeployLayer" index="5" instance=ExtResource("12_0fckv")] @@ -147,7 +144,6 @@ enabled = false trigger_mode = "interact" one_shot = false cooldown_time = 0.0 -lock_player_on_playing_dialogue = null [node name="wall" type="StaticBody2D" parent="Ground/DeployLayer/Ambush纸人"] position = Vector2(3, 4) @@ -169,7 +165,6 @@ position = Vector2(358, 50) trigger_mode = "interact" collision_width_and_x = Vector2(23.86, 0) cooldown_time = 1.0 -lock_player_on_playing_dialogue = null hook_method = "lumber_interacted" [node name="杂物眨眼睛" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="11"] @@ -211,7 +206,6 @@ mute_when_interacted = true position = Vector2(525, 61) one_shot = false cooldown_time = 1.0 -lock_player_on_playing_dialogue = null hook_method = "check_if_show_shoes" [node name="煤油灯" parent="Ground/DeployLayer" index="17" instance=ExtResource("17_mpkj1")] @@ -232,7 +226,6 @@ texture = ExtResource("22_jg8g0") [node name="Ambush小蝉闪现" parent="Ground/DeployLayer" index="19" instance=ExtResource("8_52as8")] position = Vector2(388, 47) -lock_player_on_playing_dialogue = null hook_method = "xiaochan_disappear" [node name="小蝉" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush小蝉闪现"] diff --git a/scene/ground/scene/c02/s03_院子.gd b/scene/ground/scene/c02/s03_院子.gd index 9b913bac..a83073dc 100644 --- a/scene/ground/scene/c02/s03_院子.gd +++ b/scene/ground/scene/c02/s03_院子.gd @@ -43,6 +43,7 @@ func _on_ground_ready() -> void: counter = $"../DeployLayer/Interactable柜子" as Interactable2D counter.interacted.connect(_on_counter_interacted) if ArchiveManager.get_global_value(&"c02_counter_pushed_out"): + counter.get_node("../Note柜子可放置区域").enable = false counter.visible = true if not ArchiveManager.get_global_value(&"c02_burning"): # 点燃前 @@ -185,7 +186,9 @@ func eavesdrop() -> void: SceneManager.player_action(14, true) ArchiveManager.set_global_entry(&"c02_eavesdrop_finished", true) await Util.wait(1.5) + SceneManager.pop_os_with_str("c02_偷听李癞对话后") SceneManager.unlock_player() + func _setup_bully_or_burning(reenter_scene := false): @@ -258,7 +261,6 @@ func bully_end(): func block_right_move(): SceneManager.pop_os_with_str("c02_点火前阻止右移") - # var count_down_tween:Tween # func count_down(): @@ -276,6 +278,7 @@ func _on_counter_interacted(): SceneManager.pop_os_with_str("c02_火灾等待准备") return counter.enabled = false + counter.get_node("../Note柜子可放置区域").enable = false if not ArchiveManager.get_global_value(&"c02_burning"): GlobalFunctor.c02_fire_count_down_stop() # 6: 低位点火 diff --git a/scene/ground/scene/c02/s03_院子.tscn b/scene/ground/scene/c02/s03_院子.tscn index 12197a85..f88b035a 100644 --- a/scene/ground/scene/c02/s03_院子.tscn +++ b/scene/ground/scene/c02/s03_院子.tscn @@ -22,7 +22,7 @@ [ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="8_xt8j0"] [ext_resource type="Texture2D" uid="uid://bgpf35bhrkl86" path="res://asset/art/scene/c02/s03_公寓一楼院子/铁门/打开 底层.png" id="9_liq0c"] [ext_resource type="Texture2D" uid="uid://cvtbiefbffjd7" path="res://asset/art/scene/c02/门_贴图/1015房间.png" id="9_vddfx"] -[ext_resource type="Texture2D" uid="uid://diuh52qo2o6pa" path="res://asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字.png" id="10_3nako"] +[ext_resource type="Texture2D" uid="uid://diuh52qo2o6pa" path="res://asset/art/scene/c02/s03_公寓一楼院子/f_院子内墙上文字与柜子痕迹.png" id="10_3nako"] [ext_resource type="PackedScene" uid="uid://dnbutraty2285" path="res://scene/entity/partical/particals_ash_vertical.tscn" id="10_c3f8o"] [ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="10_jme4f"] [ext_resource type="Texture2D" uid="uid://dooaferyy44rs" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_前侧楼梯.png" id="10_ud2jg"] @@ -290,21 +290,18 @@ data = { oneshot_animation = "" [node name="Sfx闷雷" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] -process_mode = 1 stream = ExtResource("6_vddfx") bus = &"game_sfx" script = ExtResource("4_ygnci") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="Sfx小鞋落地" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"] -process_mode = 1 stream = ExtResource("7_df1yo") bus = &"game_sfx" script = ExtResource("4_ygnci") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="Sfx小蝉哼歌" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="2"] -process_mode = 1 stream = ExtResource("6_jhod7") volume_db = 16.0 bus = &"game_sfx" @@ -331,55 +328,53 @@ autoplay = "一楼二楼外侧楼道拼接-晃脚动画" position = Vector2(25, 11) target_scene = "c02_s02" target_portal = "right" -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(2286, 16) -matched_sign_texture = null -[node name="火灾背景" type="Sprite2D" parent="Ground/DeployLayer" index="2"] +[node name="Ambush保卫科旁边os" parent="Ground/DeployLayer" index="2" instance=ExtResource("25_iyaiw")] +position = Vector2(138, 47) +hook_os_key = "c02_院子_保卫科旁" + +[node name="火灾背景" type="Sprite2D" parent="Ground/DeployLayer" index="3"] modulate = Color(1, 1, 1, 0) position = Vector2(1189, 0) texture = ExtResource("6_d7h4s") -[node name="禁火等墙面文字" type="Sprite2D" parent="Ground/DeployLayer" index="3"] +[node name="禁火等墙面文字" type="Sprite2D" parent="Ground/DeployLayer" index="4"] position = Vector2(955, 5) texture = ExtResource("10_3nako") -[node name="portal_1" parent="Ground/DeployLayer" index="4" instance=ExtResource("5_00b7a")] +[node name="portal_1" parent="Ground/DeployLayer" index="5" instance=ExtResource("5_00b7a")] position = Vector2(200, 10) debug_note = "1012保卫科" portal_name = "1" target_scene = "c02_s04" target_portal = "left" status = "opened" -matched_sign_texture = null -[node name="portal_2" parent="Ground/DeployLayer" index="5" instance=ExtResource("5_00b7a")] +[node name="portal_2" parent="Ground/DeployLayer" index="6" instance=ExtResource("5_00b7a")] position = Vector2(928, 7) debug_note = "一楼内侧过道 " portal_name = "2" target_scene = "c02_s05" target_portal = "left" -matched_sign_texture = null -[node name="portal_3" parent="Ground/DeployLayer" index="6" instance=ExtResource("5_00b7a")] +[node name="portal_3" parent="Ground/DeployLayer" index="7" instance=ExtResource("5_00b7a")] position = Vector2(1704, 14) debug_note = "空房间 1014" portal_name = "3" target_scene = "c02_s10" target_portal = "left" status = "opened" -matched_sign_texture = null -[node name="portal_4" parent="Ground/DeployLayer" index="7" instance=ExtResource("5_00b7a")] +[node name="portal_4" parent="Ground/DeployLayer" index="8" instance=ExtResource("5_00b7a")] position = Vector2(1876, 49) debug_note = "霸凌传送点" portal_name = "4" -matched_sign_texture = null -[node name="Note血迹" parent="Ground/DeployLayer" index="8" instance=ExtResource("6_t48d1")] +[node name="Note血迹" parent="Ground/DeployLayer" index="9" instance=ExtResource("6_t48d1")] position = Vector2(523, 78) title_filter = "c02" note_key = "c02_s03_干掉的血迹" @@ -391,7 +386,7 @@ position = Vector2(132, 10) sprite_frames = ExtResource("4_gd6xp") animation = &"肉铺门口血迹" -[node name="灯笼" type="Node2D" parent="Ground/DeployLayer" index="9"] +[node name="灯笼" type="Node2D" parent="Ground/DeployLayer" index="10"] [node name="灯笼" type="Sprite2D" parent="Ground/DeployLayer/灯笼"] position = Vector2(1644, -86) @@ -441,7 +436,7 @@ energy = 0.7 texture = SubResource("GradientTexture2D_kyfht") texture_scale = 2.2 -[node name="新背景_奠" type="Node2D" parent="Ground/DeployLayer" index="10"] +[node name="新背景_奠" type="Node2D" parent="Ground/DeployLayer" index="11"] visible = false [node name="地上纸钱" type="Sprite2D" parent="Ground/DeployLayer/新背景_奠"] @@ -476,12 +471,11 @@ position = Vector2(898, -162) z_index = 15 position = Vector2(1964, -209) -[node name="闷雷_纸人闪现" type="Node2D" parent="Ground/DeployLayer" index="11"] +[node name="闷雷_纸人闪现" type="Node2D" parent="Ground/DeployLayer" index="12"] visible = false [node name="Ambush闷雷纸人" parent="Ground/DeployLayer/闷雷_纸人闪现" instance=ExtResource("25_iyaiw")] position = Vector2(1353, 33) -lock_player_on_playing_dialogue = null hook_method = "shocking_lighting" [node name="排队常人" type="Sprite2D" parent="Ground/DeployLayer/闷雷_纸人闪现"] @@ -504,12 +498,11 @@ range_layer_max = 2 range_item_cull_mask = 4 texture = SubResource("GradientTexture2D_3nako") -[node name="Ambush要下雨了" parent="Ground/DeployLayer" index="12" instance=ExtResource("25_iyaiw")] +[node name="Ambush要下雨了" parent="Ground/DeployLayer" index="13" instance=ExtResource("25_iyaiw")] position = Vector2(1611, 46) -lock_player_on_playing_dialogue = null hook_os_key = "c02_院子_要下雨" -[node name="Pickable小鞋子" parent="Ground/DeployLayer" index="13" instance=ExtResource("7_em2ma")] +[node name="Pickable小鞋子" parent="Ground/DeployLayer" index="14" instance=ExtResource("7_em2ma")] position = Vector2(809, 75) sign_mark_offset = Vector2(0, -16.88) enabled = false @@ -520,7 +513,7 @@ position = Vector2(0, -7) scale = Vector2(0.15, 0.15) texture = ExtResource("8_plfv5") -[node name="Event2D小蝉哼歌" type="Node2D" parent="Ground/DeployLayer" index="14"] +[node name="Event2D小蝉哼歌" type="Node2D" parent="Ground/DeployLayer" index="15"] position = Vector2(800, -173) script = ExtResource("26_o1qbs") event = "c02_madman_interacted" @@ -536,7 +529,7 @@ bus = &"game_sfx" script = ExtResource("54_o1qbs") metadata/_custom_type_script = "uid://wapo47a1oddf" -[node name="Interactable铁门" parent="Ground/DeployLayer" index="15" instance=ExtResource("8_xt8j0")] +[node name="Interactable铁门" parent="Ground/DeployLayer" index="16" instance=ExtResource("8_xt8j0")] light_mask = 5 position = Vector2(1222, 28) texture = ExtResource("7_gd6xp") @@ -545,6 +538,12 @@ action_key = 3 interacted_texture = ExtResource("9_liq0c") prop_key = "prop_老虎钳" +[node name="SfxInvalid" parent="Ground/DeployLayer/Interactable铁门" index="0"] +process_mode = 0 + +[node name="SfxSuccess" parent="Ground/DeployLayer/Interactable铁门" index="1"] +process_mode = 0 + [node name="CollisionShape2D" parent="Ground/DeployLayer/Interactable铁门/Area2D" index="0"] shape = SubResource("RectangleShape2D_er6ob") @@ -556,7 +555,7 @@ collision_mask = 0 [node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/Interactable铁门/Wall"] shape = SubResource("RectangleShape2D_mdix7") -[node name="Note算命摊位" parent="Ground/DeployLayer" index="16" instance=ExtResource("6_t48d1")] +[node name="Note算命摊位" parent="Ground/DeployLayer" index="17" instance=ExtResource("6_t48d1")] position = Vector2(725, 45) note_key = "c02_院子_算命摊位" @@ -564,13 +563,13 @@ note_key = "c02_院子_算命摊位" position = Vector2(0, 18) texture = ExtResource("6_1tart") -[node name="煤油灯" parent="Ground/DeployLayer" index="17" instance=ExtResource("10_jme4f")] +[node name="煤油灯" parent="Ground/DeployLayer" index="18" instance=ExtResource("10_jme4f")] position = Vector2(290, 1) gaslight_energy = 1.5 gaslight_ground_energy = 0.7 mute_when_interacted = false -[node name="煤油灯2" parent="Ground/DeployLayer" index="18" instance=ExtResource("10_jme4f")] +[node name="煤油灯2" parent="Ground/DeployLayer" index="19" instance=ExtResource("10_jme4f")] position = Vector2(610, 1) gaslight_texture = ExtResource("11_g0qhj") ground_light_texture = ExtResource("12_ni5ro") @@ -578,7 +577,7 @@ gaslight_energy = 1.5 gaslight_ground_energy = 0.7 mute_when_interacted = false -[node name="煤油灯3" parent="Ground/DeployLayer" index="19" instance=ExtResource("10_jme4f")] +[node name="煤油灯3" parent="Ground/DeployLayer" index="20" instance=ExtResource("10_jme4f")] position = Vector2(857, 1) gaslight_texture = ExtResource("13_hw832") ground_light_texture = ExtResource("14_7pq5y") @@ -586,49 +585,47 @@ gaslight_energy = 1.5 gaslight_ground_energy = 0.7 mute_when_interacted = false -[node name="井" type="Sprite2D" parent="Ground/DeployLayer" index="20"] +[node name="井" type="Sprite2D" parent="Ground/DeployLayer" index="21"] self_modulate = Color(0.739288, 0.739288, 0.739288, 1) light_mask = 5 z_index = 10 position = Vector2(2062, 60) texture = ExtResource("21_4n8vm") -[node name="药车" type="Sprite2D" parent="Ground/DeployLayer" index="21"] +[node name="药车" type="Sprite2D" parent="Ground/DeployLayer" index="22"] light_mask = 5 z_index = 10 position = Vector2(1025, 27) texture = ExtResource("22_3y5s5") -[node name="Closeup敲门游戏" parent="Ground/DeployLayer" index="22" instance=ExtResource("23_81juy")] +[node name="Closeup敲门游戏" parent="Ground/DeployLayer" index="23" instance=ExtResource("23_81juy")] position = Vector2(466, 3) packed_scene = ExtResource("24_0o4rt") collision_width_and_x = Vector2(40, 0) -[node name="Closeup井" parent="Ground/DeployLayer" index="23" instance=ExtResource("23_81juy")] +[node name="Closeup井" parent="Ground/DeployLayer" index="24" instance=ExtResource("23_81juy")] z_index = 6 position = Vector2(2063, 50) packed_scene = ExtResource("26_yy4fp") action_key = 3 -[node name="Ambush惊悚闪电" parent="Ground/DeployLayer" index="24" instance=ExtResource("25_iyaiw")] +[node name="Ambush惊悚闪电" parent="Ground/DeployLayer" index="25" instance=ExtResource("25_iyaiw")] position = Vector2(1319, 40) -lock_player_on_playing_dialogue = null hook_method = "shocking_lighting" -[node name="Ambush偷听对话" parent="Ground/DeployLayer" index="25" instance=ExtResource("25_iyaiw")] +[node name="Ambush偷听对话" parent="Ground/DeployLayer" index="26" instance=ExtResource("25_iyaiw")] position = Vector2(1836, 7) trigger_mode = "interact" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "eavesdrop" -[node name="李氏赖子房间人影" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="26"] +[node name="李氏赖子房间人影" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="27"] position = Vector2(1835, -16) sprite_frames = SubResource("SpriteFrames_0o4rt") autoplay = "default" frame_progress = 0.643855 -[node name="Npc井边疯子" parent="Ground/DeployLayer" index="27" instance=ExtResource("35_plfv5")] +[node name="Npc井边疯子" parent="Ground/DeployLayer" index="28" instance=ExtResource("35_plfv5")] z_index = 10 position = Vector2(2037, 67) sprite_frames = ExtResource("4_gd6xp") @@ -640,7 +637,7 @@ sign_mark_height = 11.0 speaking_sign_height = 49.0 sign_x_offset = -2.0 collision_width_and_x = Vector2(37.08, 0) -dialogue_title = "c02_s11_井边疯子对话" +dialogue_title = "c02_井边疯子对话" [node name="StaticBody2D" type="StaticBody2D" parent="Ground/DeployLayer/Npc井边疯子"] position = Vector2(11, 7) @@ -651,7 +648,7 @@ position = Vector2(-11, -3) shape = SubResource("RectangleShape2D_bbhbr") disabled = true -[node name="霸凌" type="Node2D" parent="Ground/DeployLayer" index="28"] +[node name="霸凌" type="Node2D" parent="Ground/DeployLayer" index="29"] visible = false position = Vector2(2154, 60) @@ -659,7 +656,6 @@ position = Vector2(2154, 60) position = Vector2(-185, -10) enabled = false one_shot = false -lock_player_on_playing_dialogue = null hook_method = "bully_ambush" [node name="小蝉" parent="Ground/DeployLayer/霸凌" instance=ExtResource("33_ycojw")] @@ -706,7 +702,6 @@ position = Vector2(-116, -13) enabled = false one_shot = false cooldown_time = 4.0 -lock_player_on_playing_dialogue = null hook_method = "block_right_move" [node name="wall" type="StaticBody2D" parent="Ground/DeployLayer/霸凌"] @@ -718,7 +713,7 @@ collision_mask = 0 shape = SubResource("RectangleShape2D_d7h4s") disabled = true -[node name="火灾" type="Node2D" parent="Ground/DeployLayer" index="29"] +[node name="火灾" type="Node2D" parent="Ground/DeployLayer" index="30"] visible = false [node name="右窗" type="AnimatedSprite2D" parent="Ground/DeployLayer/火灾"] @@ -924,7 +919,6 @@ sign_mark_offset = Vector2(13.57, -39.84) enabled = false trigger_mode = "interact" one_shot = false -lock_player_on_playing_dialogue = null [node name="小婵呼吸" type="AnimatedSprite2D" parent="Ground/DeployLayer/火灾/Ambush等待的小蝉"] z_index = 9 @@ -961,7 +955,7 @@ script = ExtResource("54_o1qbs") loop = true metadata/_custom_type_script = "uid://wapo47a1oddf" -[node name="Interactable柜子" parent="Ground/DeployLayer" index="30" instance=ExtResource("8_xt8j0")] +[node name="Interactable柜子" parent="Ground/DeployLayer" index="31" instance=ExtResource("8_xt8j0")] visible = false position = Vector2(1772, 48) texture = ExtResource("32_cpifc") @@ -977,6 +971,11 @@ animation = &"箱子着火" autoplay = "箱子着火" frame_progress = 0.453645 +[node name="Note柜子可放置区域" parent="Ground/DeployLayer" index="32" instance=ExtResource("6_t48d1")] +position = Vector2(1771, 39) +title_filter = "c02" +note_key = "c02_柜子可放置区域" + [node name="PointLight2D" type="PointLight2D" parent="Ground/AmbientLayer" index="0"] light_mask = 4 position = Vector2(2189, -142) diff --git a/scene/ground/scene/c02/s04_保卫科.gd b/scene/ground/scene/c02/s04_保卫科.gd index 230be9d5..f9ba39d8 100644 --- a/scene/ground/scene/c02/s04_保卫科.gd +++ b/scene/ground/scene/c02/s04_保卫科.gd @@ -21,6 +21,10 @@ func _on_ground_ready() -> void: closeup_tin_coin = $"../DeployLayer/Closeup折锡纸" as Closeup2D if not ArchiveManager.get_global_value(&"c02_tin_coin_taken"): closeup_tin_coin.exit.connect(_on_closeup_tin_coin_exited) + + var closeup_book = $"../DeployLayer/Closeup花名册" as Closeup2D + if closeup_book.icount == 0: + closeup_book.exit.connect(_on_first_read, CONNECT_ONE_SHOT) func _on_closeup_tin_coin_exited(arg = null): @@ -29,3 +33,7 @@ func _on_closeup_tin_coin_exited(arg = null): SceneManager.enable_prop_item_silently("prop_锡箔元宝") await Util.wait(0.5) SceneManager.enable_prop_item("prop_锡箔元宝") + + +func _on_first_read(_arg) -> void: + SceneManager.pop_os_with_str("c02_保卫科花名册首次互动结束") diff --git a/scene/ground/scene/c02/s04_保卫科.tscn b/scene/ground/scene/c02/s04_保卫科.tscn index 5bc1bf67..77a12519 100644 --- a/scene/ground/scene/c02/s04_保卫科.tscn +++ b/scene/ground/scene/c02/s04_保卫科.tscn @@ -64,11 +64,9 @@ texture = ExtResource("5_cy26p") position = Vector2(67, 29) target_scene = "c02_s03" target_portal = "1" -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(551, 22) -matched_sign_texture = null [node name="涂鸦提示" type="Sprite2D" parent="Ground/DeployLayer" index="2"] position = Vector2(275, 13) @@ -97,6 +95,12 @@ hide_texture = true gaslight_texture = ExtResource("9_a43aq") ground_light_texture = ExtResource("10_svuj3") +[node name="SfxInvalid" parent="Ground/DeployLayer/煤油灯" index="0"] +process_mode = 0 + +[node name="SfxSuccess" parent="Ground/DeployLayer/煤油灯" index="1"] +process_mode = 0 + [node name="CollisionShape2D" parent="Ground/DeployLayer/煤油灯/Area2D" index="0"] shape = SubResource("RectangleShape2D_gk1h4") diff --git a/scene/ground/scene/c02/s05_一楼内侧楼道.tscn b/scene/ground/scene/c02/s05_一楼内侧楼道.tscn index 7fdc0c68..58560bb2 100644 --- a/scene/ground/scene/c02/s05_一楼内侧楼道.tscn +++ b/scene/ground/scene/c02/s05_一楼内侧楼道.tscn @@ -129,11 +129,9 @@ offset = Vector2(0, -240) position = Vector2(24, 8) target_scene = "c02_s03" target_portal = "2" -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(734, 33) -matched_sign_texture = null [node name="portal_1" parent="Ground/DeployLayer" index="2" instance=ExtResource("4_tueh3")] position = Vector2(513, 37) @@ -141,7 +139,6 @@ debug_note = "通往 1012 房间" portal_name = "1" target_scene = "c02_s07" target_portal = "right" -matched_sign_texture = null [node name="Npc疯子" parent="Ground/DeployLayer" index="3" instance=ExtResource("9_8t4w6")] light_mask = 7 @@ -164,7 +161,6 @@ texture = SubResource("GradientTexture2D_2yvhw") position = Vector2(177, 50) enabled = false trigger_mode = "interact" -lock_player_on_playing_dialogue = null hook_method = "wood_puppet" [node name="火苗" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="5"] @@ -252,7 +248,6 @@ note_key = "c02_一楼死老鼠" position = Vector2(585, 80) enabled = false one_shot = false -lock_player_on_playing_dialogue = null hook_method = "mouse_pick_meat" [node name="老鼠叼肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="12"] @@ -288,7 +283,6 @@ visible = false visibility_layer = 5 position = Vector2(394, 53) enabled = false -lock_player_on_playing_dialogue = null hook_method = "xiaochan_disappear" [node name="ProSprite" parent="Ground/DeployLayer/Ambush小蝉消失" instance=ExtResource("22_heq1x")] diff --git a/scene/ground/scene/c02/s06_二楼.gd b/scene/ground/scene/c02/s06_二楼.gd index 225cff94..e6b47948 100644 --- a/scene/ground/scene/c02/s06_二楼.gd +++ b/scene/ground/scene/c02/s06_二楼.gd @@ -27,6 +27,8 @@ func _on_ground_ready() -> void: # 1: 牵手跑结束; 2: 谢幕演出结束 and EventManager.get_stage(&"c02_burning_end") == 1 ): + # 禁止再回到瞎子卧室 + ArchiveManager.set_global_entry(&"c02_the_blind_room_unlocked", false) # 第一章火灾结束,尾声演出 _c02_final_show.call_deferred() else: @@ -49,7 +51,6 @@ func _on_ground_ready() -> void: ) ) - closeup_ball = $"../DeployLayer/Closeup弹珠游戏" as Closeup2D if ArchiveManager.get_global_value(&"c02_the_blind_room_unlocked"): @@ -75,15 +76,14 @@ func glimpse_hide_out(): func _on_mice_hole_interacted(): - mice_hole.enabled = false - SceneManager.freeze_player(0) + SceneManager.lock_player() var animated_sprite = $"../DeployLayer/小老鼠拖鞋子" as AnimatedSprite2D animated_sprite.visible = true animated_sprite.frame = 8 animated_sprite.play() await animated_sprite.animation_finished animated_sprite.visible = false - mice_hole.enabled = true + SceneManager.unlock_player() if mice_hole.interacted_times >= 2: # 触发疯子撞墙,疯子在一楼内侧过道中消失 @@ -97,9 +97,10 @@ func _on_mice_hole_interacted(): var sprite = $"../DeployLayer/疯子撞墙" sprite.play("疯子跑动") play("疯子撞墙") + await Util.wait(3.5) + SceneManager.pop_os_with_str("c02_老鼠叼鞋引开疯子") SceneManager.pop_debug_dialog_info("音效", "待补充撞墙音效") - SceneManager.release_player() func boys_ball_game() -> void: @@ -108,12 +109,13 @@ func boys_ball_game() -> void: if stage == 0: ArchiveManager.set_global_entry(&"c02_ball_game_stage", 1) ArchiveManager.set_global_entry(&"c02_pliers_to_ball", true) - SceneManager.freeze_player(0) + SceneManager.lock_player() DialogueManager.show_dialogue_balloon(dialogue_c02, "c02_s05_三男孩弹珠游戏1") await DialogueManager.dialogue_ended - SceneManager.release_player() + SceneManager.pop_os_with_str("c02_小手换回弹珠") + SceneManager.unlock_player() elif stage == 1 or stage == 2: - SceneManager.freeze_player(0) + SceneManager.lock_player() if stage == 1 and SceneManager.get_current_prop(false) != "prop_弹珠": var hud = SceneManager.get_prop_hud() as PropHud hud.on_toggle_invalid_prop() @@ -124,7 +126,7 @@ func boys_ball_game() -> void: closeup_ball.exit.connect(_on_ball_game_exit, CONNECT_ONE_SHOT) closeup_ball.display() # closeup_ball.enabled = false - SceneManager.release_player() + SceneManager.unlock_player() func _on_ball_game_exit(success = null): @@ -175,3 +177,5 @@ func _on_exit_final_show(_arg): # 1: 牵手跑结束; 2: 谢幕演出结束 EventManager.set_stage(&"c02_burning_end", 2) EventManager.set_stage_if_greater("handnote_stage", 5) + # TODO 小蝉上楼后开启第二章 + ArchiveManager.archive.set_chapter_if_greater(3) diff --git a/scene/ground/scene/c02/s06_二楼.tscn b/scene/ground/scene/c02/s06_二楼.tscn index 32e1c123..23fe7d0f 100644 --- a/scene/ground/scene/c02/s06_二楼.tscn +++ b/scene/ground/scene/c02/s06_二楼.tscn @@ -858,21 +858,18 @@ autoplay_group = &"c02_楼道2" metadata/_custom_type_script = "uid://cpejxlfni6n52" [node name="Sfx翻找东西" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"] -process_mode = 1 stream = ExtResource("5_lh55k") bus = &"game_sfx" script = ExtResource("4_2e08x") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="Sfx擦亮火柴" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="2"] -process_mode = 1 stream = ExtResource("5_wywax") bus = &"game_sfx" script = ExtResource("4_2e08x") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="Sfx偷看关门" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="3"] -process_mode = 1 stream = ExtResource("7_7kxvk") bus = &"game_sfx" script = ExtResource("4_2e08x") @@ -887,11 +884,9 @@ texture = ExtResource("3_och2w") position = Vector2(34, 8) target_scene = "c02_s07" target_portal = "1" -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(873, 15) -matched_sign_texture = null [node name="portal_1" parent="Ground/DeployLayer" index="2" instance=ExtResource("4_haidv")] position = Vector2(108, 14) @@ -900,7 +895,6 @@ portal_name = "1" target_scene = "c02_s08" target_portal = "left" status = "locked" -matched_sign_texture = null [node name="portal_2" parent="Ground/DeployLayer" index="3" instance=ExtResource("4_haidv")] position = Vector2(222, 14) @@ -909,7 +903,6 @@ portal_name = "2" target_scene = "c03_s01" holding = true holding_reason_key = "c02_杂物堆堵住" -matched_sign_texture = null prop_key = "prop_2014钥匙" [node name="楼道杂物堆" type="Sprite2D" parent="Ground/DeployLayer" index="4"] @@ -942,6 +935,12 @@ position = Vector2(616, -14) ground_light_texture = ExtResource("8_7x2h6") ground_height_offset = 15.0 +[node name="SfxInvalid" parent="Ground/DeployLayer/煤油灯" index="0"] +process_mode = 0 + +[node name="SfxSuccess" parent="Ground/DeployLayer/煤油灯" index="1"] +process_mode = 0 + [node name="CollisionShape2D" parent="Ground/DeployLayer/煤油灯/Area2D" index="0"] shape = SubResource("RectangleShape2D_lh55k") @@ -963,6 +962,12 @@ disable_prop_after_interacted = true prop_key = "prop_小鞋子1" prop_key2 = "prop_小鞋子2" +[node name="SfxInvalid" parent="Ground/DeployLayer/Interactable老鼠洞" index="0"] +process_mode = 0 + +[node name="SfxSuccess" parent="Ground/DeployLayer/Interactable老鼠洞" index="1"] +process_mode = 0 + [node name="CollisionShape2D" parent="Ground/DeployLayer/Interactable老鼠洞/Area2D" index="0"] shape = SubResource("RectangleShape2D_7kxvk") @@ -1015,7 +1020,6 @@ enabled = false trigger_mode = "interact" one_shot = false cooldown_time = 0.1 -lock_player_on_playing_dialogue = null hook_method = "boys_ball_game" [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush三男孩"] @@ -1149,7 +1153,6 @@ texture = SubResource("GradientTexture2D_h3h1a") position = Vector2(553, -5) texture = ExtResource("37_osg51") collision_width_and_x = Vector2(150, 0) -lock_player_on_playing_dialogue = null hook_method = "glimpse_hide_out" [node name="MainPlayer" parent="Ground" index="5"] diff --git a/scene/ground/scene/c02/s07_二楼内侧楼道.tscn b/scene/ground/scene/c02/s07_二楼内侧楼道.tscn index f2157861..ddd54ff4 100644 --- a/scene/ground/scene/c02/s07_二楼内侧楼道.tscn +++ b/scene/ground/scene/c02/s07_二楼内侧楼道.tscn @@ -39,14 +39,12 @@ texture = ExtResource("3_t0s64") [node name="portal_left" parent="Ground/DeployLayer" index="0"] position = Vector2(40, 11) -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(589, 18) debug_note = "下到一楼内侧楼道" target_scene = "c02_s05" target_portal = "1" -matched_sign_texture = null [node name="portal_1" parent="Ground/DeployLayer" index="2" instance=ExtResource("4_5krke")] position = Vector2(374, 17) @@ -55,7 +53,6 @@ debug_note = "二楼过道 portal_name = "1" target_scene = "c02_s06" target_portal = "left" -matched_sign_texture = null [node name="涂鸦提示" type="Sprite2D" parent="Ground/DeployLayer" index="3"] position = Vector2(272, 15) diff --git a/scene/ground/scene/c02/s08_瞎子卧室.tscn b/scene/ground/scene/c02/s08_瞎子卧室.tscn index 9ad9b9c2..392b4bc9 100644 --- a/scene/ground/scene/c02/s08_瞎子卧室.tscn +++ b/scene/ground/scene/c02/s08_瞎子卧室.tscn @@ -125,7 +125,6 @@ autoplay_group = &"c02_房间里2" metadata/_custom_type_script = "uid://cpejxlfni6n52" [node name="Sfx癞子对视惊吓" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"] -process_mode = 1 stream = ExtResource("5_0qeqe") volume_db = 2.0 bus = &"game_sfx" @@ -133,14 +132,12 @@ script = ExtResource("3_t3h08") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="Sfx摔倒" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="2"] -process_mode = 1 stream = ExtResource("6_nnqdd") bus = &"game_sfx" script = ExtResource("3_t3h08") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="Sfx吹灭蜡烛" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="3"] -process_mode = 1 stream = ExtResource("7_quq80") bus = &"game_sfx" script = ExtResource("3_t3h08") @@ -168,11 +165,9 @@ position = Vector2(68, 17) target_scene = "c02_s06" target_portal = "1" status = "locked" -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(676, 63) -matched_sign_texture = null [node name="portal_1" parent="Ground/DeployLayer" index="2" instance=ExtResource("4_1ws4i")] position = Vector2(214, 31) @@ -184,7 +179,6 @@ target_portal = "left" status = "opened" default_sign_texture = ExtResource("8_dkqw0") opened_sign_texture = ExtResource("8_dkqw0") -matched_sign_texture = null [node name="Sprite2D" type="Sprite2D" parent="Ground/DeployLayer/portal_1"] show_behind_parent = true @@ -221,6 +215,12 @@ animation_low_mode = true hide_texture = true gaslight_energy = 2.0 +[node name="SfxInvalid" parent="Ground/DeployLayer/灯座Sprite2D/煤油灯" index="0"] +process_mode = 0 + +[node name="SfxSuccess" parent="Ground/DeployLayer/灯座Sprite2D/煤油灯" index="1"] +process_mode = 0 + [node name="CollisionShape2D" parent="Ground/DeployLayer/灯座Sprite2D/煤油灯/Area2D" index="0"] shape = SubResource("RectangleShape2D_a48k2") @@ -265,7 +265,6 @@ texture_scale = 1.5 position = Vector2(571, 28) trigger_mode = "interact" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "hole_interacted" [node name="Sign" parent="Ground/DeployLayer/Ambush偷听" index="0"] @@ -308,7 +307,6 @@ metadata/_custom_type_script = "uid://wapo47a1oddf" position = Vector2(522, 31) enabled = false trigger_mode = "interact" -lock_player_on_playing_dialogue = null hook_method = "look_back_hole" [node name="Note十字架" parent="Ground/DeployLayer" index="11" instance=ExtResource("14_1ws4i")] diff --git a/scene/ground/scene/c02/s09_裂缝.tscn b/scene/ground/scene/c02/s09_裂缝.tscn index 4fd3312c..c9ec9589 100644 --- a/scene/ground/scene/c02/s09_裂缝.tscn +++ b/scene/ground/scene/c02/s09_裂缝.tscn @@ -325,11 +325,9 @@ texture = ExtResource("13_4alth") position = Vector2(74, 87) target_scene = "c02_s08" target_portal = "right" -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(4361, 61) -matched_sign_texture = null [node name="黑影" type="Sprite2D" parent="Ground/DeployLayer" index="2"] visible = false @@ -701,7 +699,6 @@ texture = ExtResource("17_drmtd") [node name="Ambush老鼠" parent="Ground/DeployLayer" index="11" instance=ExtResource("6_6xql4")] position = Vector2(3822.5, 60.5) -lock_player_on_playing_dialogue = null hook_method = "mouse_animation" [node name="老鼠衔大洋" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="12"] @@ -728,7 +725,6 @@ action_configs = Array[Dictionary]([{ [node name="Ambush剪影指天" parent="Ground/DeployLayer/小床人物" instance=ExtResource("6_6xql4")] position = Vector2(93, 81) -lock_player_on_playing_dialogue = null hook_method = "point_to_the_moon" [node name="黑手" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="15"] diff --git a/scene/ground/scene/c02/s10_空房间.tscn b/scene/ground/scene/c02/s10_空房间.tscn index 9a62b0bc..587cd6f2 100644 --- a/scene/ground/scene/c02/s10_空房间.tscn +++ b/scene/ground/scene/c02/s10_空房间.tscn @@ -123,11 +123,9 @@ position = Vector2(97, 28.5923) target_scene = "c02_s03" target_portal = "3" status = "opened" -matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] position = Vector2(510, 20.7047) -matched_sign_texture = null [node name="Note进入隧道询问" parent="Ground/DeployLayer" index="2" instance=ExtResource("7_th1ek")] position = Vector2(362, 20) @@ -242,7 +240,6 @@ texture = ExtResource("15_e24j0") [node name="Ambush首次进入血脚印" parent="Ground/DeployLayer" index="13" instance=ExtResource("14_3ftnp")] position = Vector2(192, 38.4517) cooldown_time = 0.1 -lock_player_on_playing_dialogue = null hook_method = "first_enter_ambush" [node name="PointLight2D" type="PointLight2D" parent="Ground/AmbientLayer" index="0"] diff --git a/scene/ground/scene/c02/s13_盒子猫二楼.tscn b/scene/ground/scene/c02/s13_盒子猫二楼.tscn index a72c4382..5d782d84 100644 --- a/scene/ground/scene/c02/s13_盒子猫二楼.tscn +++ b/scene/ground/scene/c02/s13_盒子猫二楼.tscn @@ -72,7 +72,6 @@ texture = ExtResource("6_gge8e") position = Vector2(214, 11) trigger_mode = "interact" one_shot = false -lock_player_on_playing_dialogue = null hook_method = "knock_light_door" [node name="Ambush猫咪敲门互动" parent="Ground/DeployLayer" index="5" instance=ExtResource("9_yywsi")] @@ -80,7 +79,6 @@ position = Vector2(103, 6) trigger_mode = "interact" one_shot = false cooldown_time = 1.5 -lock_player_on_playing_dialogue = null global_method = "c02_cat_play_with_door" [node name="Ambush猫咪敲门互动2" parent="Ground/DeployLayer" index="6" instance=ExtResource("9_yywsi")] @@ -88,7 +86,6 @@ position = Vector2(539, 6) trigger_mode = "interact" one_shot = false cooldown_time = 1.5 -lock_player_on_playing_dialogue = null global_method = "c02_cat_play_with_door" [node name="Ambush猫咪敲门互动3" parent="Ground/DeployLayer" index="7" instance=ExtResource("9_yywsi")] @@ -96,7 +93,6 @@ position = Vector2(663, 5) trigger_mode = "interact" one_shot = false cooldown_time = 1.5 -lock_player_on_playing_dialogue = null global_method = "c02_cat_play_with_door" [node name="追猫猪头怪_左侧" parent="Ground/DeployLayer" index="8" instance=ExtResource("10_kmk38")] diff --git a/scene/ground/scene/c02/s16_盒子猫三楼内侧.tscn b/scene/ground/scene/c02/s16_盒子猫三楼内侧.tscn index 64ab82a4..67a0fbd5 100644 --- a/scene/ground/scene/c02/s16_盒子猫三楼内侧.tscn +++ b/scene/ground/scene/c02/s16_盒子猫三楼内侧.tscn @@ -49,7 +49,6 @@ position = Vector2(105, 16) trigger_mode = "interact" one_shot = false cooldown_time = 1.5 -lock_player_on_playing_dialogue = null global_method = "c02_cat_play_with_door" [node name="追猫猪头怪" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_fjtlb")] diff --git a/scene/ground/scene/c02/s17_盒子猫三楼.tscn b/scene/ground/scene/c02/s17_盒子猫三楼.tscn index 322f0c92..e8c06e75 100644 --- a/scene/ground/scene/c02/s17_盒子猫三楼.tscn +++ b/scene/ground/scene/c02/s17_盒子猫三楼.tscn @@ -52,7 +52,6 @@ position = Vector2(106, 6) trigger_mode = "interact" one_shot = false cooldown_time = 1.5 -lock_player_on_playing_dialogue = null global_method = "c02_cat_play_with_door" [node name="追猫猪头怪" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_pfgbg")] diff --git a/scene/ground/scene/c02/s18_盒子猫一楼.tscn b/scene/ground/scene/c02/s18_盒子猫一楼.tscn index fbc58f33..7b007885 100644 --- a/scene/ground/scene/c02/s18_盒子猫一楼.tscn +++ b/scene/ground/scene/c02/s18_盒子猫一楼.tscn @@ -44,7 +44,6 @@ position = Vector2(661, 6) trigger_mode = "interact" one_shot = false cooldown_time = 1.5 -lock_player_on_playing_dialogue = null global_method = "c02_cat_play_with_door" [node name="Ambush猫咪敲门互动3" parent="Ground/DeployLayer" index="3" instance=ExtResource("5_emyx1")] @@ -52,7 +51,6 @@ position = Vector2(538, 6) trigger_mode = "interact" one_shot = false cooldown_time = 1.5 -lock_player_on_playing_dialogue = null global_method = "c02_cat_play_with_door" [node name="Ambush猫咪敲门互动2" parent="Ground/DeployLayer" index="4" instance=ExtResource("5_emyx1")] @@ -60,7 +58,6 @@ position = Vector2(104, 6) trigger_mode = "interact" one_shot = false cooldown_time = 1.5 -lock_player_on_playing_dialogue = null global_method = "c02_cat_play_with_door" [node name="Ambush猫咪敲门互动4" parent="Ground/DeployLayer" index="5" instance=ExtResource("5_emyx1")] @@ -68,7 +65,6 @@ position = Vector2(219, 6) trigger_mode = "interact" one_shot = false cooldown_time = 1.5 -lock_player_on_playing_dialogue = null global_method = "c02_cat_play_with_door" [node name="追猫猪头怪" parent="Ground/DeployLayer" index="6" instance=ExtResource("6_xoyld")] diff --git a/scene/ground/scene/c03/s01_瞎子理发店.gd b/scene/ground/scene/c03/s01_瞎子理发店.gd new file mode 100644 index 00000000..68319f6f --- /dev/null +++ b/scene/ground/scene/c03/s01_瞎子理发店.gd @@ -0,0 +1,17 @@ +@tool +extends AnimationRoot + + +# 覆盖该方法 +func _default_data() -> Dictionary: + return {} + + +func _ready() -> void: + super._ready() + if Engine.is_editor_hint(): + return + + +func _on_ground_ready() -> void: + pass diff --git a/scene/ground/scene/c03/s01_瞎子理发店.gd.uid b/scene/ground/scene/c03/s01_瞎子理发店.gd.uid new file mode 100644 index 00000000..139ca0a0 --- /dev/null +++ b/scene/ground/scene/c03/s01_瞎子理发店.gd.uid @@ -0,0 +1 @@ +uid://cim5bqm2nayls diff --git a/scene/ground/scene/c03/s01_瞎子理发店.tscn b/scene/ground/scene/c03/s01_瞎子理发店.tscn new file mode 100644 index 00000000..6e6c5f21 --- /dev/null +++ b/scene/ground/scene/c03/s01_瞎子理发店.tscn @@ -0,0 +1,164 @@ +[gd_scene load_steps=10 format=3 uid="uid://dlrbhfvnd3cs0"] + +[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_eb2op"] +[ext_resource type="Script" uid="uid://cim5bqm2nayls" path="res://scene/ground/scene/c03/s01_瞎子理发店.gd" id="2_jxanq"] +[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_lb1oo"] +[ext_resource type="Texture2D" uid="uid://6ol2om68cd1q" path="res://asset/art/scene/c02/s06_二楼楼道/bg_背景.png" id="7_tfw8r"] +[ext_resource type="Texture2D" uid="uid://crev0svowqla" path="res://asset/art/scene/c02/s06_二楼楼道/fg_前景.png" id="24_oel41"] + +[sub_resource type="Animation" id="Animation_k01ve"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("DirectionalLight2D:energy") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.9] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MainPlayer:hide_sprite") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MainPlayer:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="Animation" id="Animation_lh55k"] +resource_name = "c02_final_show_end" +length = 14.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainPlayer:hide_sprite") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 3.8), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MainPlayer:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="Animation" id="Animation_ciatp"] +resource_name = "c02_final_show_join" +length = 12.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("DirectionalLight2D:energy") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 12.1, 12.5), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [1.0, 1.0, 0.9] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MainPlayer:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"] +_data = { +&"RESET": SubResource("Animation_k01ve"), +&"c02_final_show_end": SubResource("Animation_lh55k"), +&"c02_final_show_join": SubResource("Animation_ciatp") +} + +[node name="S01" type="Node2D"] + +[node name="Ground" parent="." instance=ExtResource("1_eb2op")] +scene_name = "c03_s01" +player_y = 60 + +[node name="AnimationPlayer" parent="Ground" index="0"] +libraries = { +&"": SubResource("AnimationLibrary_k01ve") +} +script = ExtResource("2_jxanq") +data = { +"c02_final_show": false, +"oneshot_animation_played": false +} +oneshot_animation = "" + +[node name="VibeSfx" type="Node" parent="Ground/AnimationPlayer" index="0"] +script = ExtResource("3_lb1oo") +autoplay_group = &"c02_楼道2" +metadata/_custom_type_script = "uid://cpejxlfni6n52" + +[node name="BGSprite2D" parent="Ground" index="2"] +light_mask = 5 +position = Vector2(0, -2) +texture = ExtResource("7_tfw8r") + +[node name="portal_left" parent="Ground/DeployLayer" index="0"] +position = Vector2(34, 8) +target_scene = "c02_s07" +target_portal = "1" + +[node name="portal_right" parent="Ground/DeployLayer" index="1"] +position = Vector2(873, 15) + +[node name="MainPlayer" parent="Ground" index="5"] +position = Vector2(63, 95) +catty_light_energy = 0.5 +facing_direction = Vector2(1, 0) + +[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"] +position = Vector2(0, -5) +scale = Vector2(1.1, 1.1) +texture = ExtResource("24_oel41") + +[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] +points = PackedVector2Array(26, 150, 900, 150) + +[node name="DirectionalLight2D" parent="Ground" index="8"] +visible = false +energy = 0.9 +blend_mode = 1 + +[editable path="Ground"] diff --git a/scene/ground/script/c02/s00_煤油灯.gd b/scene/ground/script/c02/s00_煤油灯.gd index 57bcd800..f85e6a19 100644 --- a/scene/ground/script/c02/s00_煤油灯.gd +++ b/scene/ground/script/c02/s00_煤油灯.gd @@ -43,6 +43,7 @@ signal lighted if Engine.is_editor_hint() and is_node_ready(): _switch_gaslight(debug_light_switch) + @onready var point_light = $PointLight2D as PointLight2D @onready var point_light_ground = $PointLightGround2D as PointLight2D @onready var light_sprite2d = $"灯光" as AnimatedSprite2D diff --git a/scene/ground/script/c02/小手讨东西.gd b/scene/ground/script/c02/小手讨东西.gd index 37ee1973..d646fce1 100644 --- a/scene/ground/script/c02/小手讨东西.gd +++ b/scene/ground/script/c02/小手讨东西.gd @@ -68,6 +68,7 @@ var icount: int: SceneManager.pop_os_with_str("c02_小手出现摔倒") Util.timer(1.5, $"Sfx摔倒".play) await SceneManager.get_player().animation_finished + SceneManager.pop_os_with_str("c02_小手是什么鬼") SceneManager.unlock_player() elif stage == 1: # 第二次交互小手 @@ -213,7 +214,7 @@ func _on_interacted() -> void: await Util.wait(1.5) coin.visible = true if not ArchiveManager.get_global_value(&"c02_little_hand_dropped_tin"): - SceneManager.pop_os_with_str("c02_小手其他交易") + SceneManager.pop_os_with_str("c02_小手还能换什么") ArchiveManager.set_global_entry(&"c02_little_hand_dropped_tin", true) # 是否允许老虎钳换弹珠 diff --git a/scene/little_game/书架/书架.gd b/scene/little_game/书架/书架.gd index 7d1bb6a5..a7fc469c 100644 --- a/scene/little_game/书架/书架.gd +++ b/scene/little_game/书架/书架.gd @@ -35,6 +35,7 @@ var selected_book := NON_SELECTED: if value != NON_SELECTED: _toggle_book(true, value[0], value[1]) selected_book = value +var row_correct_status = [false, false, false] var gameover = false @@ -48,10 +49,12 @@ func _ready() -> void: # shuffle at the end _shuffle_books() + func _enter_tree() -> void: if not Engine.is_editor_hint(): SceneManager.pop_center_notification(tr("input_书架游戏")) + func _init_answer_and_connect_signals() -> void: current_answer.clear() for row in range(3): @@ -83,8 +86,8 @@ func _shuffle_books() -> void: selected_book = NON_SELECTED suffling = true rand_from_seed(Time.get_ticks_usec()) - # 猫 4 次 - var shuffle_times = 4 + # 猫 2 次 + var shuffle_times = 2 var r_size = current_answer[0].size() for _i in range(shuffle_times): var col_1 = randi() % r_size @@ -92,8 +95,8 @@ func _shuffle_books() -> void: selected_book = [0, col_1] _interchange_book(0, col_2, false) _relocate_books(0) - # 其他 1 次 - shuffle_times = 1 + # 其他 2 次 + shuffle_times = 2 r_size = current_answer[1].size() for _i in range(shuffle_times): var col_1 = randi() % r_size @@ -114,7 +117,7 @@ func _shuffle_books() -> void: func _on_book_pressed(row: int, id: int) -> void: - if gameover: + if gameover or row_correct_status[row]: return var col = current_answer[row].find(id) if selected_book == NON_SELECTED: @@ -186,37 +189,53 @@ func _relocate_books(row: int) -> void: func _check_answer() -> void: # 第一行需要顺序排列 - var row1 = current_answer[0] - for col in range(row1.size()): - if row1[col] != col: - return + if not row_correct_status[0]: + var row_success = true + var row1 = current_answer[0] + for col in range(row1.size()): + if row1[col] != col: + row_success = false + break + if row_success: + row_correct_status[0] = true + $SfxRowSuccess.play() + # 第二行需要正序排列 - var row2 = current_answer[1] - var size2 = row2.size() - if row2[0] == 0: + if not row_correct_status[1]: + var row_success = true + var row2 = current_answer[1] # 正序 - for col in range(1, size2): + for col in range(row2.size()): if row2[col] != col: - return - else: - return - # # 倒序 - # for col in range(size2): - # if row2[col] != size2 - 1 - col: - # return + row_success = false + break + if row_success: + row_correct_status[1] = true + $SfxRowSuccess.play() # 第三行正序或者倒序都可以 - var _row3 = current_answer[2] - var _size3 = _row3.size() - if _row3[0] == 0: - # 正序 - for col in range(1, _size3): - if _row3[col] != col: - return - else: - # 倒序 - for col in range(_size3): - if _row3[col] != _size3 - 1 - col: - return + if not row_correct_status[2]: + var row_success = true + var _row3 = current_answer[2] + var _size3 = _row3.size() + if _row3[0] == 0: + # 正序 + for col in range(1, _size3): + if _row3[col] != col: + row_success = false + break + else: + # 倒序 + for col in range(_size3): + if _row3[col] != _size3 - 1 - col: + row_success = false + break + if row_success: + row_correct_status[2] = true + $SfxRowSuccess.play() + # 检查是否成功 + if row_correct_status[0] and row_correct_status[1] and row_correct_status[2]: + _success() + # # 最后一行按色块排列;0-6 蓝色(7个)在一起,7-11 红色(5个)在一起,12-17 黄色(6个)在一起 # var row3 = current_answer[2] # # 0: blue, 1: red, 2: yellow @@ -234,7 +253,6 @@ func _check_answer() -> void: # if visited[color] == 0: # visiting_init = true # success - _success() # 0: blue, 1: red, 2: yellow diff --git a/scene/little_game/书架/书架.tscn b/scene/little_game/书架/书架.tscn index bbbe29c3..a069c1da 100644 --- a/scene/little_game/书架/书架.tscn +++ b/scene/little_game/书架/书架.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=52 format=3 uid="uid://fwfr0b2sylwx"] +[gd_scene load_steps=53 format=3 uid="uid://fwfr0b2sylwx"] [ext_resource type="Script" uid="uid://b7iavnqno6e3s" path="res://scene/little_game/书架/书架.gd" id="1_8af23"] [ext_resource type="AudioStream" uid="uid://6v8oqjaj01nj" path="res://asset/audio/sfx/交互/序章/04_书店内_书本掉落.wav" id="2_c6xiu"] @@ -9,6 +9,7 @@ [ext_resource type="PackedScene" uid="uid://bl5pohc77hi43" path="res://scene/little_game/书架/生死簿.tscn" id="6_mhajy"] [ext_resource type="SpriteFrames" uid="uid://bmwm400w8r4ju" path="res://asset/art/gif/c01_书店/c01_书店_frames.tres" id="6_nyh8c"] [ext_resource type="Texture2D" uid="uid://bbskja06j74v0" path="res://asset/art/little_game/书架_生死簿/书架合并.png" id="6_pxxx5"] +[ext_resource type="AudioStream" uid="uid://bg3imaloeq3ev" path="res://asset/audio/effect/action/bookPlace2.ogg" id="7_e380y"] [ext_resource type="Texture2D" uid="uid://bp3ffg8knb8j5" path="res://asset/art/little_game/书架_生死簿/书架 书合并本.png" id="8_5brf2"] [sub_resource type="AtlasTexture" id="AtlasTexture_6hdac"] @@ -180,33 +181,36 @@ layer = 5 script = ExtResource("1_8af23") [node name="Sfx书本掉落" type="AudioStreamPlayer" parent="."] -process_mode = 1 stream = ExtResource("2_c6xiu") bus = &"game_sfx" script = ExtResource("3_5brf2") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="Sfx扶正书本" type="AudioStreamPlayer" parent="."] -process_mode = 1 stream = ExtResource("3_o6bsw") bus = &"game_sfx" script = ExtResource("3_5brf2") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="SfxInterchange" type="AudioStreamPlayer" parent="."] -process_mode = 1 stream = ExtResource("3_c6xiu") bus = &"game_sfx" script = ExtResource("3_5brf2") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="SfxSelect" type="AudioStreamPlayer" parent="."] -process_mode = 1 stream = ExtResource("3_pfav2") bus = &"game_sfx" script = ExtResource("3_5brf2") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" +[node name="SfxRowSuccess" type="AudioStreamPlayer" parent="."] +stream = ExtResource("7_e380y") +volume_db = -5.0 +bus = &"game_sfx" +script = ExtResource("3_5brf2") +metadata/_custom_type_script = "uid://rq6w1vuhuq1m" + [node name="Shelf" type="Sprite2D" parent="."] position = Vector2(283, 160) texture = SubResource("AtlasTexture_6hdac") diff --git a/scene/little_game/八音盒/八音盒.tscn b/scene/little_game/八音盒/八音盒.tscn index 659c9920..c18b891c 100644 --- a/scene/little_game/八音盒/八音盒.tscn +++ b/scene/little_game/八音盒/八音盒.tscn @@ -296,7 +296,6 @@ position = Vector2(6.4373e-06, -9.53674e-07) polygon = PackedVector2Array(31.5, -37.5, 29.7, -38, 18.4, -38, -19.7, -28.9, -26, -32, -30.7, -32, -32.5, -28.4, -32.5, -23.2, -24.5, -15.2, -24.5, -9.6, -20.5, -8.3, -20.5, 4.5, -17.7, 10, -14.5, 30.3, -14.5, 32, -10.5, 35, -10.5, 37, 3.3, 37, 4.5, 26.1, 6.2, 25, 9.3, 25, 7.5, 19.6, 10.6, 14, 13.1, 14, 10.5, 4, 10.5, 3.2, 21, -2, 23.6, -2, 31.6, -14, 32.5, -14, 32.5, -22.4, 31.5, -28.3) [node name="Drawer" type="Node2D" parent="All"] -visible = false position = Vector2(20.5, 0) [node name="BoxDrawer" type="Sprite2D" parent="All/Drawer"] @@ -324,8 +323,7 @@ texture = ExtResource("31_wq2wm") limit_rect = Rect2(150, 150, 220, 70) [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/Drawer/Draggable2"] -position = Vector2(-1.99999, 0.999999) -polygon = PackedVector2Array(46.8, -40.3, 44, -39.5, 44, -38.3, 42, -37.2, 42, -30, 31.2, -30, 30, -32.5, 30, -34.3, 27.5, -35.4, 26.2, -34, 22.8, -34, 20, -36.8, 20, -38.3, 17.5, -39.4, 15.2, -37, 13.8, -37, 12.7, -35, 15.7, -30, 13.5, -30, 12, -35, 12, -37.3, 9.5, -38.4, 5, -33.8, -4, -31.6, -4, -30, -15.9, -30, -17, -31.7, -17, -33.6, -26.8, -36, -28.8, -36, -33.8, -31, -35.6, -31, -43, 4.8, -43, 10.4, -45.4, 9, -46.9, 9, -50.9, 3, -51, -12.3, -50.3, -12, -46.9, -12, -44.9, -15, -42.7, -15, -44, -25, -44, -28.9, -51, -34.9, -51, -37.2, -62.2, -36, -64.9, -36, -72.9, -27, -74.6, -27, -78.5, -11, -80.1, -11, -79, 14.1, -79, 20.6, -73, 30.5, -73, 33, -63, 40.9, -63, 42.4, -58.3, 44, -42.4, 44, -40, 50.4, -40, 53.1, -35, 56.1, -35, 57.8, -25.1, 59, 12.8, 59, 16, 55.8, 16, 48.4, 23.2, 46, 25.2, 48, 33.8, 48, 38.8, 58, 61, 58, 64, 54, 68, 54, 77, 41.7, 77, 28.4, 73.1, 22, 72, 13, 72, 3.2, 69, 0.199997, 69, -20.7, 56, -36.9, 56, -38.5, 53.1, -39.3, 50.4, -35) +polygon = PackedVector2Array(5.5, -37.9, 3, -36.8, 3, -35.8, 1, -34.7, 1, -30.5, 2.2, -29.6, 1.2, -28.1, -4.2, -33.5, -6.8, -33.5, -10, -30.3, -10, -27.5, -12.7, -25.5, -14.2, -25.5, -15, -31.5, -15, -35.5, -24.3, -31.5, -26.3, -31.5, -27.4, -29, -24, -25.7, -24, -23.3, -24.8, -22.5, -26.6, -22.5, -27.5, -18.8, -35, -26.3, -35, -28.5, -43.8, -28.5, -52.8, -19.5, -54.7, -19.5, -56.7, -7.5, -58.1, -7.5, -57, 10.6, -57, 16.1, -53, 22.1, -53, 24.5, -44, 31.4, -44, 33.5, -31.1, 33.5, -27, 40.1, -27, 42.3, -19, 43.2, -19, 44.5, 10.1, 44.5, 15.5, 35.8, 18.8, 36.5, 22.9, 36.5, 26.8, 43.5, 42.8, 43.5, 45.8, 40.5, 49.1, 40.5, 55.1, 31.5, 57.4, 31.5, 48, -20.9, 48, -22.3, 38, -32.3, 38, -34.5, 28.4, -34.5, 27, -28.7, 27, -25.6, 25.4, -24.6, 23, -26.5, 23, -27.8, 20.5, -28.9, 17.4, -25.9) [node name="Draggable3" parent="All/Drawer" instance=ExtResource("16_h88gi")] position = Vector2(368.5, 175) diff --git a/scene/little_game/弹珠游戏/弹珠游戏.tscn b/scene/little_game/弹珠游戏/弹珠游戏.tscn index 6cd834ff..ea04da38 100644 --- a/scene/little_game/弹珠游戏/弹珠游戏.tscn +++ b/scene/little_game/弹珠游戏/弹珠游戏.tscn @@ -258,7 +258,6 @@ script = ExtResource("1_p2trd") [node name="Sfx结尾小孩跑" type="AudioStreamPlayer" parent="."] unique_name_in_owner = true -process_mode = 1 stream = ExtResource("2_aqxy0") bus = &"game_sfx" script = ExtResource("4_co06r") @@ -307,21 +306,18 @@ libraries = { } [node name="SfxHit" type="AudioStreamPlayer" parent="."] -process_mode = 1 stream = ExtResource("3_co06r") bus = &"game_sfx" script = ExtResource("4_co06r") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="SfxShoot" type="AudioStreamPlayer" parent="."] -process_mode = 1 stream = SubResource("AudioStreamInteractive_aqxy0") bus = &"game_sfx" script = ExtResource("4_co06r") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" [node name="SfxDispatch" type="AudioStreamPlayer" parent="."] -process_mode = 1 stream = ExtResource("6_ctokx") bus = &"game_sfx" script = ExtResource("4_co06r") diff --git a/scene/main.gd b/scene/main.gd index f4ff9b16..778c26e5 100644 --- a/scene/main.gd +++ b/scene/main.gd @@ -5,6 +5,8 @@ extends Node2D # TranslationServer.set_locale(val) # locale = val +@onready var vignette = %Vignette as ColorRect + func _ready() -> void: %UILayer.layer = GlobalConfig.CANVAS_LAYER_UI @@ -31,3 +33,18 @@ func _unhandled_input(event: InputEvent) -> void: elif event.is_action_pressed("panel"): get_viewport().set_input_as_handled() SceneManager.show_panel() + + +var vignette_tween: Tween + + +func tween_vignette(ratio := 0.5, duration := 0.3, color := Color.RED): + if vignette_tween and vignette_tween.is_valid(): + vignette_tween.kill() + vignette_tween = create_tween() + vignette_tween.tween_property( + vignette.material, "shader_parameter/vignette_ratio", ratio, duration + ) + vignette_tween.parallel().tween_property( + vignette.material, "shader_parameter/vignette_rgb", color, duration + ) diff --git a/scene/main.tscn b/scene/main.tscn index 2b6d5227..15234956 100644 --- a/scene/main.tscn +++ b/scene/main.tscn @@ -1,12 +1,19 @@ -[gd_scene load_steps=7 format=3 uid="uid://dygvcmykn02n8"] +[gd_scene load_steps=9 format=3 uid="uid://dygvcmykn02n8"] [ext_resource type="Script" uid="uid://jn2alpdl4eal" path="res://scene/main.gd" id="1_pks84"] [ext_resource type="PackedScene" uid="uid://dc778gsjfr3ky" path="res://scene/ux/prop_hud.tscn" id="4_t7gb2"] [ext_resource type="PackedScene" uid="uid://5g07x6q7wwr1" path="res://scene/notification/notification.tscn" id="5_3gg5t"] [ext_resource type="PackedScene" uid="uid://cekhj65axie0p" path="res://scene/ux/prop_inspector.tscn" id="5_ux0rw"] +[ext_resource type="Shader" uid="uid://do181iuabeoom" path="res://asset/shader/vignette.gdshader" id="7_p1hux"] [ext_resource type="Environment" uid="uid://c6ri8tn5qt6fe" path="res://scene/ground/environment.tres" id="9_jsof5"] [ext_resource type="PackedScene" uid="uid://clxgkj80yin2" path="res://scene/ground/ground_loader.tscn" id="10_8rc5n"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_of57s"] +shader = ExtResource("7_p1hux") +shader_parameter/vignette_ratio = 0.0 +shader_parameter/vignette_intensity = 0.3 +shader_parameter/vignette_rgb = Color(0.753, 0, 0, 1) + [node name="Main" type="Node2D"] script = ExtResource("1_pks84") @@ -24,6 +31,19 @@ unique_name_in_owner = true unique_name_in_owner = true layer = 12 +[node name="Vignette" type="ColorRect" parent="UILayer"] +unique_name_in_owner = true +material = SubResource("ShaderMaterial_of57s") +custom_minimum_size = Vector2(564, 240) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 38.0 +offset_bottom = -38.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + [node name="ColorRectTop" type="ColorRect" parent="UILayer"] unique_name_in_owner = true custom_minimum_size = Vector2(564, 38.5) diff --git a/scene/ux/memory/clips/clip2.gd b/scene/ux/memory/clips/clip2.gd index 58571784..d1710b56 100644 --- a/scene/ux/memory/clips/clip2.gd +++ b/scene/ux/memory/clips/clip2.gd @@ -13,7 +13,7 @@ func run_clip(card_mode: bool): if not card_mode: await Util.wait(3.0) # 增加配音 - dialog_node = DialogueManager.show_dialogue_balloon(dialogue_res, "c02_s11_井边疯子对话") + dialog_node = DialogueManager.show_dialogue_balloon(dialogue_res, "c02_井边疯子对话") dialog_node.process_mode = Node.PROCESS_MODE_ALWAYS await DialogueManager.dialogue_ended display_finished.emit()