From 866a1f7f7fd296c413603fa28c4d6f1f248d6b41 Mon Sep 17 00:00:00 2001 From: cakipaul Date: Wed, 2 Jul 2025 01:18:25 +0800 Subject: [PATCH] =?UTF-8?q?demo=200.1.2.2=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{inspect => 遮罩}/inspect特写通用遮罩.png | Bin .../inspect特写通用遮罩.png.import | 6 +- .../ui/{inspect => 遮罩}/inspect背景遮罩.png | Bin .../inspect背景遮罩.png.import | 6 +- asset/art/ui/遮罩/头痛遮罩.png | Bin 0 -> 76024 bytes asset/art/ui/遮罩/头痛遮罩.png.import | 34 ++++++ asset/dialogue/inspect_content.csv | 2 +- asset/dialogue/inspect_content.dialogue | 2 +- asset/dialogue/item_description.csv | 13 ++- asset/dialogue/item_description.dialogue | 15 +-- config/animation/entity_sprite_frames.tres | 21 +++- manager/scene/scene_manager.gd | 4 +- project.godot | 1 + scene/character/main_player.gd | 6 +- scene/character/main_player.tscn | 2 - scene/character/player_animation_config.gd | 1 + scene/effect/dizzy.gdshader | 31 ++++++ scene/effect/dizzy.gdshader.uid | 1 + scene/effect/dizzy_shader.gd | 20 ++++ scene/effect/dizzy_shader.gd.uid | 1 + scene/effect/dizzy_shader.tscn | 36 +++++++ scene/effect/{fog.tscn => fog_shader.tscn} | 0 scene/effect/shading_layer.tscn | 2 +- scene/effect/smoke.tscn | 4 +- scene/entity/inspectable.tscn | 2 +- scene/entity/ux/player_os.gd | 15 ++- scene/ground/scene/animation_root.gd | 7 +- .../ground/scene/c01/s06_孤儿院长廊围墙.tscn | 2 +- scene/ground/scene/c01/s07_书店外.tscn | 2 +- scene/ground/scene/c01/s09_公寓楼外.tscn | 13 ++- scene/ground/scene/c01/s10_公寓楼道.tscn | 3 + scene/ground/scene/c01/s11_黄包车演出.tscn | 3 + scene/ground/scene/c01/s12_书店外_诡异版.tscn | 2 +- scene/ground/scene/c02/s01_公寓门口.tscn | 3 + scene/ground/scene/c02/s02_过道.tscn | 3 + scene/ground/scene/c02/s03_院子.gd | 17 ++- scene/ground/scene/c02/s03_院子.tscn | 101 ++++++++++++++---- scene/ground/scene/c02/s04_保卫科.tscn | 25 +++++ scene/ground/scene/c02/s05_一楼内侧楼道.gd | 18 ++++ scene/ground/scene/c02/s05_一楼内侧楼道.tscn | 88 ++++++++++++--- scene/ground/scene/c02/s08_瞎子卧室.tscn | 3 + scene/ground/scene/c02/s10_空房间.gd | 10 +- scene/ground/scene/c02/s10_空房间.tscn | 61 +++++++++-- scene/ground/scene/c02/s12_盒子猫.tscn | 3 + scene/ground/scene/c03/s01_瞎子理发店.tscn | 3 + scene/ground/script/c02/s08_画特写.tscn | 4 +- scene/ground/script/c02/s08_画特写2.tscn | 4 +- scene/ground/script/c02/井特写.gd | 6 +- scene/ground/script/c02/刮海报_二楼内侧.tscn | 2 +- scene/ground/script/c02/刮海报_过道.tscn | 2 +- scene/ground/script/c02/戏台特写.tscn | 2 +- scene/ground/script/c02/折锡纸.tscn | 2 +- scene/ground/script/c02/拿人偶后记忆闪回.gd | 8 ++ .../ground/script/c02/拿人偶后记忆闪回.gd.uid | 1 + scene/ground/script/c02/拿人偶后记忆闪回.tscn | 49 +++++++++ .../ground/script/c02/盒子猫canvas_layer.tscn | 2 +- scene/ground/script/c02/空房间小蝉头套.tscn | 4 +- scene/ground/script/c02/老鼠精画像.tscn | 2 +- scene/ground/script/c02/花名册.tscn | 2 +- scene/little_game/八音盒/八音盒.tscn | 2 +- scene/settings/settings.tscn | 2 +- scene/ux/bag/prop_bag.tscn | 2 +- scene/ux/memory/memory.tscn | 2 +- scene/ux/memory/memory_item.tscn | 2 +- scene/ux/note/ux_note.tscn | 2 +- scene/ux/panel/ux_panel.tscn | 2 +- scene/ux/prop_inspector.gd | 17 ++- scene/ux/prop_inspector.tscn | 2 +- 68 files changed, 585 insertions(+), 130 deletions(-) rename asset/art/ui/{inspect => 遮罩}/inspect特写通用遮罩.png (100%) rename asset/art/ui/{inspect => 遮罩}/inspect特写通用遮罩.png.import (74%) rename asset/art/ui/{inspect => 遮罩}/inspect背景遮罩.png (100%) rename asset/art/ui/{inspect => 遮罩}/inspect背景遮罩.png.import (68%) create mode 100644 asset/art/ui/遮罩/头痛遮罩.png create mode 100644 asset/art/ui/遮罩/头痛遮罩.png.import create mode 100644 scene/effect/dizzy.gdshader create mode 100644 scene/effect/dizzy.gdshader.uid create mode 100644 scene/effect/dizzy_shader.gd create mode 100644 scene/effect/dizzy_shader.gd.uid create mode 100644 scene/effect/dizzy_shader.tscn rename scene/effect/{fog.tscn => fog_shader.tscn} (100%) create mode 100644 scene/ground/script/c02/拿人偶后记忆闪回.gd create mode 100644 scene/ground/script/c02/拿人偶后记忆闪回.gd.uid create mode 100644 scene/ground/script/c02/拿人偶后记忆闪回.tscn diff --git a/asset/art/ui/inspect/inspect特写通用遮罩.png b/asset/art/ui/遮罩/inspect特写通用遮罩.png similarity index 100% rename from asset/art/ui/inspect/inspect特写通用遮罩.png rename to asset/art/ui/遮罩/inspect特写通用遮罩.png diff --git a/asset/art/ui/inspect/inspect特写通用遮罩.png.import b/asset/art/ui/遮罩/inspect特写通用遮罩.png.import similarity index 74% rename from asset/art/ui/inspect/inspect特写通用遮罩.png.import rename to asset/art/ui/遮罩/inspect特写通用遮罩.png.import index ece5fc58..7ac10b49 100644 --- a/asset/art/ui/inspect/inspect特写通用遮罩.png.import +++ b/asset/art/ui/遮罩/inspect特写通用遮罩.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cbql1i4hblmt1" -path="res://.godot/imported/inspect特写通用遮罩.png-d71efbdf6a70d5f61869c92fccad6650.ctex" +path="res://.godot/imported/inspect特写通用遮罩.png-1420576b3b1fddbb0ddd4a53371700d3.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://asset/art/ui/inspect/inspect特写通用遮罩.png" -dest_files=["res://.godot/imported/inspect特写通用遮罩.png-d71efbdf6a70d5f61869c92fccad6650.ctex"] +source_file="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" +dest_files=["res://.godot/imported/inspect特写通用遮罩.png-1420576b3b1fddbb0ddd4a53371700d3.ctex"] [params] diff --git a/asset/art/ui/inspect/inspect背景遮罩.png b/asset/art/ui/遮罩/inspect背景遮罩.png similarity index 100% rename from asset/art/ui/inspect/inspect背景遮罩.png rename to asset/art/ui/遮罩/inspect背景遮罩.png diff --git a/asset/art/ui/inspect/inspect背景遮罩.png.import b/asset/art/ui/遮罩/inspect背景遮罩.png.import similarity index 68% rename from asset/art/ui/inspect/inspect背景遮罩.png.import rename to asset/art/ui/遮罩/inspect背景遮罩.png.import index a1596d2f..e3e5d07a 100644 --- a/asset/art/ui/inspect/inspect背景遮罩.png.import +++ b/asset/art/ui/遮罩/inspect背景遮罩.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://f186lvt5y2ql" -path="res://.godot/imported/inspect背景遮罩.png-6487c5cc89abd54d3577e6cfd1f5c07e.ctex" +path="res://.godot/imported/inspect背景遮罩.png-dabe02be98137494a661aa879cfa166f.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://asset/art/ui/inspect/inspect背景遮罩.png" -dest_files=["res://.godot/imported/inspect背景遮罩.png-6487c5cc89abd54d3577e6cfd1f5c07e.ctex"] +source_file="res://asset/art/ui/遮罩/inspect背景遮罩.png" +dest_files=["res://.godot/imported/inspect背景遮罩.png-dabe02be98137494a661aa879cfa166f.ctex"] [params] diff --git a/asset/art/ui/遮罩/头痛遮罩.png b/asset/art/ui/遮罩/头痛遮罩.png new file mode 100644 index 0000000000000000000000000000000000000000..4441e1095bb09459ca30ac1356831573b5942d8e GIT binary patch literal 76024 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 literal 0 HcmV?d00001 diff --git a/asset/art/ui/遮罩/头痛遮罩.png.import b/asset/art/ui/遮罩/头痛遮罩.png.import new file mode 100644 index 00000000..091bed2c --- /dev/null +++ b/asset/art/ui/遮罩/头痛遮罩.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxv83fm0qgvjh" +path="res://.godot/imported/头痛遮罩.png-b55bb4679808918573eb38f7af366482.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/ui/遮罩/头痛遮罩.png" +dest_files=["res://.godot/imported/头痛遮罩.png-b55bb4679808918573eb38f7af366482.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 diff --git a/asset/dialogue/inspect_content.csv b/asset/dialogue/inspect_content.csv index 8c413975..0a7644d3 100644 --- a/asset/dialogue/inspect_content.csv +++ b/asset/dialogue/inspect_content.csv @@ -23,7 +23,7 @@ c02_保卫科花名册1,一零一四 空,,, c02_保卫科花名册2,一零一五王守义 李兰,,, c02_保卫科花名册3,二零一二 张文开,,, c02_保卫科花名册4,二零一三 方启钊 方小蝉,,, -c02_保卫科花名册5,三零一二(看不清),,, +c02_保卫科花名册5,三零一二 吕萍,,, c02_保卫科花名册6,三零一三(看不清),,, c02_保卫科花名册7,把我的鞋子拿给老鼠,老鼠会引开那个疯男人,,, c02_保卫科花名册8,不要相信墙里的东西!,,, diff --git a/asset/dialogue/inspect_content.dialogue b/asset/dialogue/inspect_content.dialogue index ae347911..1060fc4c 100644 --- a/asset/dialogue/inspect_content.dialogue +++ b/asset/dialogue/inspect_content.dialogue @@ -37,7 +37,7 @@ 二零一二 张文开 [ID:c02_保卫科花名册3] 二零一三 方启钊 方小蝉 [ID:c02_保卫科花名册4] -三零一二(看不清) [ID:c02_保卫科花名册5] +三零一二 吕萍 [ID:c02_保卫科花名册5] 三零一三(看不清) [ID:c02_保卫科花名册6] 把我的鞋子拿给老鼠,老鼠会引开那个疯男人 [ID:c02_保卫科花名册7] 不要相信墙里的东西! [ID:c02_保卫科花名册8] diff --git a/asset/dialogue/item_description.csv b/asset/dialogue/item_description.csv index b6730444..f49ab685 100644 --- a/asset/dialogue/item_description.csv +++ b/asset/dialogue/item_description.csv @@ -163,13 +163,16 @@ c02_十几年前的报纸,十几年前的报纸,,,,, c02_s02_大头娃娃头套,看着唬人,这尺寸只是给孩子们戴着玩的,,,,, c02_s02_八音盒,自制的八音盒,这么用心的小玩意,怎么会被人扔在这里呢?,,,,, c02_s02_八音盒缺人偶,别出心裁的小机关,缺了点东西,暂时还不能用,,,,, +c02_院子_保卫科旁,这地方有些不对劲,最好先找个人问问,,,,, c02_s03_干掉的血迹,血迹看上去干了很久,血脚印有大有小,咦,还有个特别小的...,,,,, c02_院子_算命摊位,算命的摊位?,,,,, c02_院子_要下雨,好像要下雨了?,,,,, c02_s03_掉鞋子,怎么天上掉了个小鞋子下来?,,,,, c02_s03_铁门,被铁链锁住了,,,,, -c02_保卫科花名册os,芦昌公寓居民登记簿,黄国栋记。,,,,, -c02_保卫科花名册首次互动结束,3012?上面有我的名字,看来确实是这里...,,,,, +c02_偷听李癞对话后,三快三慢?是和那个肉铺老板交流的暗号吗?,,,,, +c02_柜子可放置区域,这里之前放着的东西好像被人挪走了?,,,,, +c02_保卫科花名册os,登记簿?
刚才那个小孩在上面写了些什么,,,,, +c02_保卫科花名册首次互动结束,3012?上面有我的名字,看来确实是这里...
先去三楼看看吧,,,,, c02_保卫科祭台os,祭台是专门供奉这只大老鼠的?,,,,, c02_保卫科老鼠精,鼠歌

天地小如喉,
红轮自吞吐。
多少世间人,
都被红轮误。,,,,, c02_小手还能换什么,...还有什么东西能跟它交换呢?,,,,, @@ -182,11 +185,13 @@ c02_描述垃圾通道,桶是空的,飘着一股血气,又酸又腥。,,,,, c02_一楼疯子互动后,这人有点不正常...最好离他远点。,,,,, c02_一楼粘鼠板,这里原来放着什么?,,,,, c02_一楼死老鼠,老鼠被粘住死掉了。,,,,, -c02_获得小猫玩具,小猫玩具亮起来了,这光...竟有一丝暖意,,,,, +c02_获得木头人偶,怎么回事...头...好痛,,,,, +c02_获得小猫玩具,我的头,又开始痛了,,,,, +c02_小蝉头套文字,吕萍阿姨,我不想死,求你...帮帮我,,,,, c02_敲门_肉掉落,楼道有东西掉下来了?,,,,, c02_敲门_老鼠叼肉,刚刚这里有块肉不见了?,,,,, c02_锡箔换小鞋子,另一只小鞋子。,,,,, -c02_二楼楼梯杂物堆,堆满了杂物,看样子没办法从这里上去了。,,,,, +c02_二楼楼梯杂物堆,去三楼的路被堵住了,要不先看看别的地方吧。,,,,, c02_二楼水盆,盆里的水很清澈,看上去像是刚盛的。,,,,, c02_二楼老鼠洞,到处都是老鼠洞,怕不是整栋楼都被老鼠打通了。,,,,, c02_二楼血脚印,又是这种小小尖尖的血脚印...,,,,, diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue index b2ded54e..eff59850 100644 --- a/asset/dialogue/item_description.dialogue +++ b/asset/dialogue/item_description.dialogue @@ -191,7 +191,7 @@ 自制的八音盒,这么用心的小玩意,怎么会被人扔在这里呢? [ID:c02_s02_八音盒] 别出心裁的小机关,缺了点东西,暂时还不能用 [ID:c02_s02_八音盒缺人偶] # c02 院子 -好像要下雨了? [ID:c02_院子_保卫科旁] +这地方有些不对劲,最好先找个人问问 [ID:c02_院子_保卫科旁] 血迹看上去干了很久,血脚印有大有小,咦,还有个特别小的... [ID:c02_s03_干掉的血迹] 算命的摊位? [ID:c02_院子_算命摊位] 好像要下雨了? [ID:c02_院子_要下雨] @@ -200,8 +200,8 @@ 三快三慢?是和那个肉铺老板交流的暗号吗? [ID:c02_偷听李癞对话后] 这里之前放着的东西好像被人挪走了? [ID:c02_柜子可放置区域] # c02 保卫科 -芦昌公寓居民登记簿,黄国栋记。 [ID:c02_保卫科花名册os] -3012?上面有我的名字,看来确实是这里... [ID:c02_保卫科花名册首次互动结束] +登记簿?
刚才那个小孩在上面写了些什么 [ID:c02_保卫科花名册os] +3012?上面有我的名字,看来确实是这里...
先去三楼看看吧[ID:c02_保卫科花名册首次互动结束] 祭台是专门供奉这只大老鼠的? [ID:c02_保卫科祭台os] 鼠歌

天地小如喉,
红轮自吞吐。
多少世间人,
都被红轮误。 [ID:c02_保卫科老鼠精] # c02 小手 @@ -216,14 +216,17 @@ 这人有点不正常...最好离他远点。 [ID:c02_一楼疯子互动后] 这里原来放着什么? [ID:c02_一楼粘鼠板] 老鼠被粘住死掉了。 [ID:c02_一楼死老鼠] -# c02 小猫玩具 -小猫玩具亮起来了,这光...竟有一丝暖意 [ID:c02_获得小猫玩具] +怎么回事...头...好痛 [ID:c02_获得木头人偶] + +# c02 空房间 +我的头,又开始痛了 [ID:c02_获得小猫玩具] +吕萍阿姨,我不想死,求你...帮帮我 [ID:c02_小蝉头套文字] # c02 敲门_老鼠叼肉 楼道有东西掉下来了? [ID:c02_敲门_肉掉落] 刚刚这里有块肉不见了? [ID:c02_敲门_老鼠叼肉] # c02 二楼 另一只小鞋子。 [ID:c02_锡箔换小鞋子] -堆满了杂物,看样子没办法从这里上去了。 [ID:c02_二楼楼梯杂物堆] +去三楼的路被堵住了,要不先看看别的地方吧。 [ID:c02_二楼楼梯杂物堆] 盆里的水很清澈,看上去像是刚盛的。 [ID:c02_二楼水盆] 到处都是老鼠洞,怕不是整栋楼都被老鼠打通了。 [ID:c02_二楼老鼠洞] 又是这种小小尖尖的血脚印... [ID:c02_二楼血脚印] diff --git a/config/animation/entity_sprite_frames.tres b/config/animation/entity_sprite_frames.tres index 72b1f446..0a45baa7 100644 --- a/config/animation/entity_sprite_frames.tres +++ b/config/animation/entity_sprite_frames.tres @@ -2772,13 +2772,28 @@ animations = [{ "duration": 1.0, "texture": ExtResource("524_5fksx") }, { -"duration": 1.0, +"duration": 3.0, "texture": ExtResource("525_45h8i") }, { -"duration": 1.0, +"duration": 3.0, "texture": ExtResource("526_fw42m") +}, { +"duration": 3.0, +"texture": ExtResource("525_45h8i") +}, { +"duration": 3.0, +"texture": ExtResource("526_fw42m") +}, { +"duration": 1.0, +"texture": ExtResource("524_5fksx") +}, { +"duration": 1.0, +"texture": ExtResource("523_xhf7n") +}, { +"duration": 1.0, +"texture": ExtResource("522_1n12f") }], -"loop": true, +"loop": false, "name": &"c02_吕萍_头痛蹲下", "speed": 8.0 }, { diff --git a/manager/scene/scene_manager.gd b/manager/scene/scene_manager.gd index 630321d5..3794354d 100644 --- a/manager/scene/scene_manager.gd +++ b/manager/scene/scene_manager.gd @@ -219,12 +219,12 @@ func disable_prop_item(prop_key: String) -> void: printerr("disable_prop_item PropHud node not found") -func pop_os_with_str(translation_key: String, auto_lock := true, auto_unlock := true) -> void: +func pop_os_with_str(translation_key: String) -> void: var player = get_player() as MainPlayer if player: var msg = tr(translation_key).replace("
", "\n") var lines = await Util.generate_lines(msg) - player.pop_os(lines, auto_lock, auto_unlock) + player.pop_os(lines) else: printerr("Player node not found") diff --git a/project.godot b/project.godot index 2265fbdc..881b9efd 100644 --- a/project.godot +++ b/project.godot @@ -104,6 +104,7 @@ folder_colors={ "res://asset/art/scene/": "pink", "res://asset/audio/": "green", "res://asset/audio/sfx/": "green", +"res://asset/shader/": "red", "res://config/": "gray", "res://manager/": "purple", "res://scene/": "purple", diff --git a/scene/character/main_player.gd b/scene/character/main_player.gd index b5882c61..9f49eae6 100644 --- a/scene/character/main_player.gd +++ b/scene/character/main_player.gd @@ -18,7 +18,7 @@ signal animation_finished enable_light = val if is_node_ready(): light.enabled = enable_light -@export var catty_light_energy := 0.7 +@export var catty_light_energy := 0.3 @export var lock_move_left := false @export var lock_move_right := false @export var reenter_lock: PlayerReenterLock @@ -324,8 +324,8 @@ func _reset_os_and_light_position(): # shadow_y = size.y * 0.5 -func pop_os(lines := [], auto_lock := true, auto_unlock := true) -> void: - await os_pivot.pop_os(lines, auto_lock, auto_unlock) +func pop_os(lines := []) -> void: + await os_pivot.pop_os(lines) # animation -> offset_y diff --git a/scene/character/main_player.tscn b/scene/character/main_player.tscn index 903faa40..16802eca 100644 --- a/scene/character/main_player.tscn +++ b/scene/character/main_player.tscn @@ -41,8 +41,6 @@ size = Vector2(15, 180) z_index = 5 collision_mask = 2 script = ExtResource("1_3a78y") -catty_light_energy = 0.3 -running_locked = true metadata/_edit_vertical_guides_ = [-15.0, -3.0] [node name="PointLight2D" type="PointLight2D" parent="."] diff --git a/scene/character/player_animation_config.gd b/scene/character/player_animation_config.gd index 598282d9..37503f51 100644 --- a/scene/character/player_animation_config.gd +++ b/scene/character/player_animation_config.gd @@ -49,6 +49,7 @@ var ANIMATION_CONFIG = { 15: [&"c00_吕萍_起立", Vector2.ONE, Vector2(20, -94.0)], # c00_吕萍_记笔记_right 16: [&"", Vector2.ONE, Vector2(0, -50.0), &"", &"c00_吕萍_记笔记_right"], + 17: [&"", Vector2.ONE, Vector2(0, -50.0), &"c02_吕萍_头痛蹲下", &""], }, "吕萍爬行": { diff --git a/scene/effect/dizzy.gdshader b/scene/effect/dizzy.gdshader new file mode 100644 index 00000000..589d6e72 --- /dev/null +++ b/scene/effect/dizzy.gdshader @@ -0,0 +1,31 @@ +shader_type canvas_item; +render_mode blend_mix; // 直接覆盖,不做额外混合 + +// 调节参数 +uniform float intensity : hint_range(0.0, 2.0) = 1.0; // 效果强度 +uniform float speed : hint_range(0.0, 10.0) = 1.0; // 动画速度 +uniform int samples : hint_range(1, 8) = 4; // 采样层数 +uniform float angle_spread : hint_range(0.0, 3.14) = 1.0; // 各通道最大偏移角度 +uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap; + + +void fragment() { + // 屏幕 UV + vec2 uv = SCREEN_UV; + // 总颜色累加器 + vec4 col = vec4(0.0); + // 动态参数 + float t = TIME * speed; + + // 多次采样叠加 + for (int i = 0; i < samples; i++) { + // 每层一个角度偏移 + 时间抖动 + float a = float(i) * (2.0 * PI / float(samples)) + sin(t + float(i)) * angle_spread; + // 偏移量向量,依据 intensity 控制幅度 + vec2 offset = vec2(cos(a), sin(a)) * (0.005 * intensity); + col += texture(SCREEN_TEXTURE, uv + offset); + } + // 平均并输出 + col /= float(samples); + COLOR = col; +} \ No newline at end of file diff --git a/scene/effect/dizzy.gdshader.uid b/scene/effect/dizzy.gdshader.uid new file mode 100644 index 00000000..eca4fc77 --- /dev/null +++ b/scene/effect/dizzy.gdshader.uid @@ -0,0 +1 @@ +uid://dmchh10qdaawj diff --git a/scene/effect/dizzy_shader.gd b/scene/effect/dizzy_shader.gd new file mode 100644 index 00000000..e28bb3b1 --- /dev/null +++ b/scene/effect/dizzy_shader.gd @@ -0,0 +1,20 @@ +extends CanvasLayer + +@onready var rect = $ColorRect as ColorRect + +var tween + + +func dizzy(duration := 2.0): + if tween and tween.is_valid(): + tween.kill() + show() + tween = create_tween() + tween.tween_property(rect.material, "shader_parameter/intensity", 0.7, 0.2) + tween.tween_property(rect.material, "shader_parameter/intensity", 1.3, 0.2) + if duration > 0.0: + tween.set_loops(max(duration / 0.4, 1)) + else: + # infinite + tween.set_loops(10000) + tween.tween_callback(hide) diff --git a/scene/effect/dizzy_shader.gd.uid b/scene/effect/dizzy_shader.gd.uid new file mode 100644 index 00000000..42084e6c --- /dev/null +++ b/scene/effect/dizzy_shader.gd.uid @@ -0,0 +1 @@ +uid://c1ps7symh0l3o diff --git a/scene/effect/dizzy_shader.tscn b/scene/effect/dizzy_shader.tscn new file mode 100644 index 00000000..9e434d2c --- /dev/null +++ b/scene/effect/dizzy_shader.tscn @@ -0,0 +1,36 @@ +[gd_scene load_steps=5 format=3 uid="uid://decfqoe5v0y6n"] + +[ext_resource type="Shader" uid="uid://dmchh10qdaawj" path="res://scene/effect/dizzy.gdshader" id="1_qpmt5"] +[ext_resource type="Script" uid="uid://c1ps7symh0l3o" path="res://scene/effect/dizzy_shader.gd" id="1_t0l4c"] +[ext_resource type="Texture2D" uid="uid://bxv83fm0qgvjh" path="res://asset/art/ui/遮罩/头痛遮罩.png" id="2_1cuad"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_iylo4"] +shader = ExtResource("1_qpmt5") +shader_parameter/intensity = 1.0 +shader_parameter/speed = 1.0 +shader_parameter/samples = 4 +shader_parameter/angle_spread = 1.0 + +[node name="DizzyShader" type="CanvasLayer"] +script = ExtResource("1_t0l4c") + +[node name="TextureRect" type="TextureRect" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +texture = ExtResource("2_1cuad") +expand_mode = 1 +stretch_mode = 5 + +[node name="ColorRect" type="ColorRect" parent="."] +visible = false +material = SubResource("ShaderMaterial_iylo4") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 diff --git a/scene/effect/fog.tscn b/scene/effect/fog_shader.tscn similarity index 100% rename from scene/effect/fog.tscn rename to scene/effect/fog_shader.tscn diff --git a/scene/effect/shading_layer.tscn b/scene/effect/shading_layer.tscn index bd7609b4..206d2e4e 100644 --- a/scene/effect/shading_layer.tscn +++ b/scene/effect/shading_layer.tscn @@ -7,7 +7,7 @@ [ext_resource type="Shader" uid="uid://cwuxtdwmhahhp" path="res://asset/shader/palette.gdshader" id="4_n5nu8"] [ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="4_sglhm"] [ext_resource type="Texture2D" uid="uid://36k1j0qw66tm" path="res://asset/shader/palette/bloodmoon21-1x.png" id="5_ios50"] -[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="7_7084x"] +[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog_shader.tscn" id="7_7084x"] [ext_resource type="Material" uid="uid://7wllwmfkfvsb" path="res://asset/shader/cloud.tres" id="7_cmfij"] [ext_resource type="Shader" uid="uid://3lssj7jwlhxl" path="res://asset/shader/chromatic_abberation.gdshader" id="8_b0unx"] [ext_resource type="Texture2D" uid="uid://bmlhwa80lywa3" path="res://asset/art/ui/inverted_point_light_masks/000.png" id="8_v5h2g"] diff --git a/scene/effect/smoke.tscn b/scene/effect/smoke.tscn index c05d99d1..7aaa0d5f 100644 --- a/scene/effect/smoke.tscn +++ b/scene/effect/smoke.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://bwce0niymxrou"] -[ext_resource type="Texture2D" uid="uid://bhl1b5ren8emk" path="res://scene/effect/smoke.png" id="1_705e3"] +[ext_resource type="Texture2D" uid="uid://bhl1b5ren8emk" path="res://scene/effect/smoke.png" id="1_8lkq7"] [sub_resource type="Curve" id="Curve_r8ddf"] _limits = [-2.0, 2.0, -1.0, 1.0] @@ -20,7 +20,7 @@ colors = PackedColorArray(0, 0, 0, 0.501961, 0.199732, 0.199732, 0.199732, 1, 0. [node name="CPUParticles2D" type="CPUParticles2D" parent="."] amount = 200 -texture = ExtResource("1_705e3") +texture = ExtResource("1_8lkq7") speed_scale = 0.15 emission_shape = 1 emission_sphere_radius = 12.0 diff --git a/scene/entity/inspectable.tscn b/scene/entity/inspectable.tscn index a68b5187..5a787925 100644 --- a/scene/entity/inspectable.tscn +++ b/scene/entity/inspectable.tscn @@ -7,7 +7,7 @@ [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_q18ff"] [ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_do8tr"] [ext_resource type="FontVariation" uid="uid://1ryw42kej6lv" path="res://config/font_ui.tres" id="7_ianbs"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="7_xawjo"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="7_xawjo"] [ext_resource type="Script" uid="uid://cnt01hiw52bmn" path="res://scene/entity/ux/sign_snapper.gd" id="10_mtbvd"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_4fuic"] diff --git a/scene/entity/ux/player_os.gd b/scene/entity/ux/player_os.gd index c4638dfe..c76eff28 100644 --- a/scene/entity/ux/player_os.gd +++ b/scene/entity/ux/player_os.gd @@ -22,7 +22,7 @@ func _ready() -> void: os_pausing_timer.timeout.connect(_on_os_line_timeout) -func pop_os(lines := [], auto_lock := true, auto_unlock := true) -> void: +func pop_os(lines := []) -> void: if os_tween: os_tween.kill() os_finish_emit_lock.lock() @@ -30,12 +30,11 @@ func pop_os(lines := [], auto_lock := true, auto_unlock := true) -> void: os_finished.emit() os_finished_not_emitted = true os_finish_emit_lock.unlock() - if auto_lock: - SceneManager.lock_player() - if auto_unlock: - # os_finished 必然发送,防止 tween 被 kill,保证一定 unlock - if os_finished.is_connected(SceneManager.unlock_player): - SceneManager.unlock_player() + SceneManager.lock_player() + # os_finished 必然发送,防止 tween 被 kill,保证一定 unlock + if os_finished.is_connected(SceneManager.unlock_player): + SceneManager.unlock_player() + else: os_finished.connect(SceneManager.unlock_player, CONNECT_ONE_SHOT) os_tween = create_tween() os_label.text = "" @@ -70,7 +69,7 @@ func _on_os_line_timeout(naturally := true): if os_label.is_typing: os_label.skip_typing() return - if os_tween.is_valid(): + if os_tween and os_tween.is_valid(): os_tween.play() diff --git a/scene/ground/scene/animation_root.gd b/scene/ground/scene/animation_root.gd index b8a5dd91..ccde6576 100644 --- a/scene/ground/scene/animation_root.gd +++ b/scene/ground/scene/animation_root.gd @@ -16,10 +16,11 @@ var dialogue_c06 := preload("res://asset/dialogue/c06.dialogue") as DialogueReso # event 也混合其中 @export var debug_global_data: Dictionary[String, Variant] = { "enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"], + "player_x": 30.0, } @export var debug_ground_data: Dictionary[String, Variant] = {} -@export var auto_reset_on_debug_restarting := true +@export var auto_reset_on_debug_restarting := false @export_tool_button("reset 存档") var reset_archive = _reset_archive var oneshot_animation := "" @@ -69,6 +70,7 @@ func _reset_archive() -> void: ResourceLoader.load("user://data/archives/save000.tres", "AssembledArchive") as AssembledArchive ) + archive.player_global_position_x = debug_global_data.get_or_add("player_x", 30.0) # 重置全局变量 var prop_arr = archive.prop_inventory.default_enabled_items if get_node("../MainPlayer").character.begins_with("吕萍"): @@ -128,6 +130,7 @@ func _reset_archive() -> void: ResourceSaver.save(archive) notify_property_list_changed() + func _setup_ground_data(g_data: Dictionary[String, Variant], node: Node): if not node: return @@ -138,6 +141,8 @@ func _setup_ground_data(g_data: Dictionary[String, Variant], node: Node): g_data[child.name] = {"interacted_times": 0} elif child is Pickable2D and not g_data.has(child.name): g_data[child.name] = {"picked": false} + elif child is AnimationRoot and not g_data.has(child.name): + g_data[child.name] = child.data _setup_ground_data(g_data, child) diff --git a/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn index 6a715e41..fdaf917e 100644 --- a/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn +++ b/scene/ground/scene/c01/s06_孤儿院长廊围墙.tscn @@ -24,7 +24,7 @@ [ext_resource type="AudioStream" uid="uid://cwq0jaa708tf1" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_秋千声音.wav" id="12_huyl5"] [ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="12_idjp0"] [ext_resource type="AudioStream" uid="uid://mfu0btujldql" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_跷跷板声音.wav" id="13_phmvd"] -[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="14_d5def"] +[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog_shader.tscn" id="14_d5def"] [ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="15_22a7a"] [ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="15_q7j0p"] [ext_resource type="AudioStream" uid="uid://bv7std2s8bb0p" path="res://asset/audio/sfx/环境音/序章/童谣.wav" id="15_qq2uh"] diff --git a/scene/ground/scene/c01/s07_书店外.tscn b/scene/ground/scene/c01/s07_书店外.tscn index 9358361b..5f54b645 100644 --- a/scene/ground/scene/c01/s07_书店外.tscn +++ b/scene/ground/scene/c01/s07_书店外.tscn @@ -6,7 +6,7 @@ [ext_resource type="Texture2D" uid="uid://bbuskt4kwkwpl" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_黄昏.png" id="3_l7171"] [ext_resource type="AudioStream" uid="uid://cxwvfeuq4o71o" path="res://asset/audio/sfx/环境音/序章/03_书店外黄昏.wav" id="3_na2nu"] [ext_resource type="Texture2D" uid="uid://dklacql2hdtwv" path="res://asset/art/scene/c01/s07_书店外/e_装饰 书店外黄昏.png" id="4_8do8y"] -[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="4_62isb"] +[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog_shader.tscn" id="4_62isb"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_c7jb6"] [ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_ulvsd"] [ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="5_3pha1"] diff --git a/scene/ground/scene/c01/s09_公寓楼外.tscn b/scene/ground/scene/c01/s09_公寓楼外.tscn index b4847fbf..4df16414 100644 --- a/scene/ground/scene/c01/s09_公寓楼外.tscn +++ b/scene/ground/scene/c01/s09_公寓楼外.tscn @@ -13,7 +13,7 @@ [ext_resource type="AudioStream" uid="uid://c1orqd7uxh8iu" path="res://asset/audio/sfx/环境音/序章/05_诡异通用_2.wav" id="6_lrqbi"] [ext_resource type="AudioStream" uid="uid://dxnsyw7box2w0" path="res://asset/audio/sfx/交互/序章/sfx_鬼影浮现.wav" id="7_5sju7"] [ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="7_828bq"] -[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="7_wrhtk"] +[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog_shader.tscn" id="7_wrhtk"] [ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="8_0ohlv"] [ext_resource type="AudioStream" uid="uid://c5rgfl6ub4chw" path="res://asset/audio/sfx/交互/序章/sfx_鬼差擦肩而过.wav" id="8_sq0x2"] [ext_resource type="SpriteFrames" uid="uid://c2peyi2l65h47" path="res://asset/art/gif/c01_公寓外街道/c01_公寓外街道_frames.tres" id="10_0ohlv"] @@ -72,7 +72,6 @@ script = ExtResource("2_u053j") oneshot_animation = "" [node name="花枯萎音效" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] -process_mode = 1 stream = ExtResource("3_b5sdk") volume_db = -8.0 autoplay = true @@ -118,9 +117,19 @@ portal_name = "2" target_scene = "c01_s10" target_portal = "left" +[node name="SfxDefault" parent="Ground/DeployLayer/portal_2" index="0"] +process_mode = 0 + +[node name="SfxOpen" parent="Ground/DeployLayer/portal_2" index="1"] +process_mode = 0 + [node name="SfxEnter" parent="Ground/DeployLayer/portal_2" index="2"] +process_mode = 0 stream = null +[node name="SfxLocked" parent="Ground/DeployLayer/portal_2" index="3"] +process_mode = 0 + [node name="Sign" parent="Ground/DeployLayer/portal_2" index="4"] enabled = true diff --git a/scene/ground/scene/c01/s10_公寓楼道.tscn b/scene/ground/scene/c01/s10_公寓楼道.tscn index 8971f87c..3a292d7b 100644 --- a/scene/ground/scene/c01/s10_公寓楼道.tscn +++ b/scene/ground/scene/c01/s10_公寓楼道.tscn @@ -18,6 +18,9 @@ scene_name = "c01_s10" [node name="AnimationPlayer" parent="Ground" index="0"] script = ExtResource("2_4kx83") +debug_global_data = Dictionary[String, Variant]({ +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"] +}) oneshot_animation = "" [node name="背景音效" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] diff --git a/scene/ground/scene/c01/s11_黄包车演出.tscn b/scene/ground/scene/c01/s11_黄包车演出.tscn index a14755a8..53ff55dd 100644 --- a/scene/ground/scene/c01/s11_黄包车演出.tscn +++ b/scene/ground/scene/c01/s11_黄包车演出.tscn @@ -155,6 +155,9 @@ libraries = { &"": SubResource("AnimationLibrary_6ojod") } script = ExtResource("2_espm6") +debug_global_data = Dictionary[String, Variant]({ +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"] +}) oneshot_animation = "" [node name="黄包车Sfx" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] diff --git a/scene/ground/scene/c01/s12_书店外_诡异版.tscn b/scene/ground/scene/c01/s12_书店外_诡异版.tscn index 2fe62f8a..32ec3369 100644 --- a/scene/ground/scene/c01/s12_书店外_诡异版.tscn +++ b/scene/ground/scene/c01/s12_书店外_诡异版.tscn @@ -23,7 +23,7 @@ [ext_resource type="SpriteFrames" uid="uid://cvkuw35ulebme" path="res://asset/art/gif/c01_书店外街道/c01_书店外街道_frames.tres" id="13_lucm6"] [ext_resource type="SpriteFrames" uid="uid://db7m3aks5w65j" path="res://asset/art/gif/c01_书店外街道_夜晚小孩害怕/c01_书店外街道_夜晚小孩害怕_frames.tres" id="14_7jjl5"] [ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="14_ct084"] -[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="15_pvvjq"] +[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog_shader.tscn" id="15_pvvjq"] [ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="16_guu7t"] [ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="17_nta2f"] [ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="19_7jjl5"] diff --git a/scene/ground/scene/c02/s01_公寓门口.tscn b/scene/ground/scene/c02/s01_公寓门口.tscn index bdfd964f..14052522 100644 --- a/scene/ground/scene/c02/s01_公寓门口.tscn +++ b/scene/ground/scene/c02/s01_公寓门口.tscn @@ -24,6 +24,9 @@ data = { "oneshot_animation_played": false, "received_letter": false } +debug_global_data = Dictionary[String, Variant]({ +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"] +}) oneshot_animation = "" [node name="VibeSfx" type="Node" parent="Ground/AnimationPlayer" index="0"] diff --git a/scene/ground/scene/c02/s02_过道.tscn b/scene/ground/scene/c02/s02_过道.tscn index c4fcc8f8..e37d5d0b 100644 --- a/scene/ground/scene/c02/s02_过道.tscn +++ b/scene/ground/scene/c02/s02_过道.tscn @@ -62,6 +62,9 @@ data = { "flyer_shaven": false, "oneshot_animation_played": false } +debug_global_data = Dictionary[String, Variant]({ +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"] +}) oneshot_animation = "" [node name="冷飕飕Sfx" parent="Ground/AnimationPlayer" index="0" instance=ExtResource("3_fvldj")] diff --git a/scene/ground/scene/c02/s03_院子.gd b/scene/ground/scene/c02/s03_院子.gd index a83073dc..e9f35a31 100644 --- a/scene/ground/scene/c02/s03_院子.gd +++ b/scene/ground/scene/c02/s03_院子.gd @@ -65,17 +65,16 @@ func _on_ground_ready() -> void: $"../DirectionalLight2D".energy = 0 madman_npc = $"../DeployLayer/Npc井边疯子" + madman_npc.visible = false # c02_madman_hitwall 之后, c02_ball_game_stage==3(游戏结束) 之前;同时 eavesdrop_finished if ( - ArchiveManager.get_global_value(&"c02_madman_hitwall") - and ArchiveManager.get_global_value(&"c02_ball_game_stage", 0) < 3 - and ArchiveManager.get_global_value(&"c02_eavesdrop_finished") + ArchiveManager.get_global_value(&"c02_ball_game_stage", 0) < 3 + # and ArchiveManager.get_global_value(&"c02_eavesdrop_finished") ): - madman_npc.visible = true - madman_npc.get_node("StaticBody2D/CollisionShape2D").disabled = false - else: - madman_npc.visible = false - madman_npc.get_node("StaticBody2D/CollisionShape2D").disabled = true + if not ArchiveManager.get_global_value("c02_watched_the_well"): + $"../DeployLayer/Closeup井".exit.connect(func(_arg): madman_npc.visible = true) + else: + madman_npc.visible = true if ArchiveManager.get_global_value(&"c02_the_blind_room_unlocked"): # 奠字 + 纸钱 @@ -188,7 +187,6 @@ func eavesdrop() -> void: await Util.wait(1.5) SceneManager.pop_os_with_str("c02_偷听李癞对话后") SceneManager.unlock_player() - func _setup_bully_or_burning(reenter_scene := false): @@ -261,6 +259,7 @@ func bully_end(): func block_right_move(): SceneManager.pop_os_with_str("c02_点火前阻止右移") + # var count_down_tween:Tween # func count_down(): diff --git a/scene/ground/scene/c02/s03_院子.tscn b/scene/ground/scene/c02/s03_院子.tscn index f88b035a..fc7d254e 100644 --- a/scene/ground/scene/c02/s03_院子.tscn +++ b/scene/ground/scene/c02/s03_院子.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=80 format=3 uid="uid://djc2uaefhmu7"] +[gd_scene load_steps=79 format=3 uid="uid://djc2uaefhmu7"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_0dylx"] [ext_resource type="Script" uid="uid://dsp5plrdkrsd7" path="res://scene/ground/scene/c02/s03_院子.gd" id="2_dt5aj"] @@ -226,8 +226,6 @@ animations = [{ "speed": 4.0 }] -[sub_resource type="RectangleShape2D" id="RectangleShape2D_bbhbr"] - [sub_resource type="RectangleShape2D" id="RectangleShape2D_d7h4s"] size = Vector2(10, 50) @@ -287,6 +285,76 @@ data = { "camera_played": false, "oneshot_animation_played": false } +debug_global_data = Dictionary[String, Variant]({ +"c02_ball_game_stage": 1, +"c02_burning": false, +"c02_burning_end": 0, +"c02_counter_pushed_out": false, +"c02_eavesdrop_finished": false, +"c02_madman_hitwall": false, +"c02_madman_interacted": false, +"c02_open_gate_first_failed": false, +"c02_ready_to_fire": false, +"c02_the_blind_room_unlocked": false, +"c02_watched_the_well": false, +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"], +"handnote_stage": 0, +"player_x": 2030.0 +}) +debug_ground_data = Dictionary[String, Variant]({ +"Ambush保卫科旁边os": { +"played": false +}, +"Ambush偷听对话": { +"played": false +}, +"Ambush惊悚闪电": { +"played": false +}, +"Ambush点火游戏阻挡右移": { +"played": false +}, +"Ambush等待的小蝉": { +"played": false +}, +"Ambush要下雨了": { +"played": false +}, +"Ambush闷雷纸人": { +"played": false +}, +"Ambush霸凌": { +"played": false +}, +"AnimationPlayer": { +"camera_played": false, +"oneshot_animation_played": false +}, +"Closeup井": { +"interacted_times": 0 +}, +"Closeup敲门游戏": { +"interacted_times": 0 +}, +"Interactable柜子": { +"interacted_times": 0 +}, +"Interactable铁门": { +"interacted_times": 0 +}, +"Pickable小鞋子": { +"picked": false +}, +"煤油灯": { +"interacted_times": 0 +}, +"煤油灯2": { +"interacted_times": 0 +}, +"煤油灯3": { +"interacted_times": 0 +} +}) oneshot_animation = "" [node name="Sfx闷雷" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] @@ -603,28 +671,28 @@ position = Vector2(466, 3) packed_scene = ExtResource("24_0o4rt") collision_width_and_x = Vector2(40, 0) -[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="25" instance=ExtResource("25_iyaiw")] +[node name="Ambush惊悚闪电" parent="Ground/DeployLayer" index="24" instance=ExtResource("25_iyaiw")] position = Vector2(1319, 40) hook_method = "shocking_lighting" -[node name="Ambush偷听对话" parent="Ground/DeployLayer" index="26" instance=ExtResource("25_iyaiw")] +[node name="Ambush偷听对话" parent="Ground/DeployLayer" index="25" instance=ExtResource("25_iyaiw")] position = Vector2(1836, 7) trigger_mode = "interact" one_shot = false hook_method = "eavesdrop" -[node name="李氏赖子房间人影" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="27"] +[node name="李氏赖子房间人影" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="26"] position = Vector2(1835, -16) sprite_frames = SubResource("SpriteFrames_0o4rt") autoplay = "default" frame_progress = 0.643855 +[node name="Closeup井" parent="Ground/DeployLayer" index="27" instance=ExtResource("23_81juy")] +z_index = 6 +position = Vector2(2063, 50) +packed_scene = ExtResource("26_yy4fp") +action_key = 3 + [node name="Npc井边疯子" parent="Ground/DeployLayer" index="28" instance=ExtResource("35_plfv5")] z_index = 10 position = Vector2(2037, 67) @@ -639,15 +707,6 @@ sign_x_offset = -2.0 collision_width_and_x = Vector2(37.08, 0) dialogue_title = "c02_井边疯子对话" -[node name="StaticBody2D" type="StaticBody2D" parent="Ground/DeployLayer/Npc井边疯子"] -position = Vector2(11, 7) -collision_layer = 2 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/Npc井边疯子/StaticBody2D"] -position = Vector2(-11, -3) -shape = SubResource("RectangleShape2D_bbhbr") -disabled = true - [node name="霸凌" type="Node2D" parent="Ground/DeployLayer" index="29"] visible = false position = Vector2(2154, 60) diff --git a/scene/ground/scene/c02/s04_保卫科.tscn b/scene/ground/scene/c02/s04_保卫科.tscn index 77a12519..5c2fd132 100644 --- a/scene/ground/scene/c02/s04_保卫科.tscn +++ b/scene/ground/scene/c02/s04_保卫科.tscn @@ -38,6 +38,31 @@ data = { "oneshot_animation_played": false, "tin_coin_collected": false } +debug_global_data = Dictionary[String, Variant]({ +"c02_tin_coin_taken": 0, +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"] +}) +debug_ground_data = Dictionary[String, Variant]({ +"AnimationPlayer": { +"oneshot_animation_played": false, +"tin_coin_collected": false +}, +"Closeup折锡纸": { +"interacted_times": 0 +}, +"Closeup老鼠精": { +"interacted_times": 0 +}, +"Closeup花名册": { +"interacted_times": 0 +}, +"Pickable元宝": { +"picked": false +}, +"煤油灯": { +"interacted_times": 0 +} +}) oneshot_animation = "" [node name="VibeSfx" type="Node" parent="Ground/AnimationPlayer" index="0"] diff --git a/scene/ground/scene/c02/s05_一楼内侧楼道.gd b/scene/ground/scene/c02/s05_一楼内侧楼道.gd index 6ec7a277..f4ab9487 100644 --- a/scene/ground/scene/c02/s05_一楼内侧楼道.gd +++ b/scene/ground/scene/c02/s05_一楼内侧楼道.gd @@ -72,7 +72,25 @@ func xiaochan_disappear(): func wood_puppet() -> void: + SceneManager.lock_player() SceneManager.enable_prop_item("prop_木头人偶") + await SceneManager.get_inspector().quit_and_hidden + SceneManager.pop_os_with_str("c02_获得木头人偶") + SceneManager.player_action(17, true) + $"Sfx头痛耳鸣".play() + $"../DeployLayer/DizzyShader".dizzy() + # SceneManager.get_camera_marker().shake_camera() + await Util.wait(2.5) + # TODO 更新 Sfx记忆闪回音 + $"Sfx记忆闪回音效".play() + # 白色转场 + await SceneManager.toggle_ground_mask(true, 3.0, 1.5, Color.WHITE).finished + SceneManager.toggle_ground_mask(false, 2.0, 1.0, Color.WHITE) + var closeup = $"../DeployLayer/Closeup拿人偶后记忆闪回" as Closeup2D + closeup.display() + SceneManager.unlock_player() + await closeup.exit + $"Sfx记忆闪回音效".easing_kill() func bucket_meat() -> void: diff --git a/scene/ground/scene/c02/s05_一楼内侧楼道.tscn b/scene/ground/scene/c02/s05_一楼内侧楼道.tscn index 58560bb2..c9147e8a 100644 --- a/scene/ground/scene/c02/s05_一楼内侧楼道.tscn +++ b/scene/ground/scene/c02/s05_一楼内侧楼道.tscn @@ -1,16 +1,19 @@ -[gd_scene load_steps=39 format=3 uid="uid://cp8d3ag5nbjq0"] +[gd_scene load_steps=43 format=3 uid="uid://cp8d3ag5nbjq0"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_6w6et"] [ext_resource type="Script" uid="uid://dydpmjpcvt3v1" path="res://scene/ground/scene/c02/s05_一楼内侧楼道.gd" id="2_70lf6"] [ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_laquj"] [ext_resource type="Texture2D" uid="uid://dbtepltemtmy2" path="res://asset/art/scene/c02/s05_一楼内侧楼道/bg_楼道背景.png" id="3_rcuxq"] +[ext_resource type="AudioStream" uid="uid://b8sbtn3l37uh" path="res://asset/audio/sfx/旧版/c02/红屏.mp3" id="4_iylo4"] [ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_tueh3"] +[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="5_74b3r"] [ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="7_mrltr"] [ext_resource type="Texture2D" uid="uid://bn47plsx5coug" path="res://asset/art/scene/c02/s05_一楼内侧楼道/l_煤油灯光效.png" id="8_mrltr"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="8_rcuxq"] [ext_resource type="Texture2D" uid="uid://by506ky6fprab" path="res://asset/art/scene/c02/s07_二楼内侧楼道/fg_前景.png" id="8_tueh3"] [ext_resource type="PackedScene" uid="uid://0sofmhrl358m" path="res://scene/entity/npc.tscn" id="9_8t4w6"] [ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="10_2yvhw"] +[ext_resource type="PackedScene" uid="uid://b4ilxht544qxu" path="res://scene/ground/script/c02/拿人偶后记忆闪回.tscn" id="10_7mq0m"] [ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="10_8t4w6"] [ext_resource type="PackedScene" uid="uid://c1vrp1o8ci512" path="res://scene/ground/script/c02/戏台特写.tscn" id="11_2yvhw"] [ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="13_uj0pt"] @@ -26,6 +29,7 @@ [ext_resource type="Script" uid="uid://jarjchqsx4u1" path="res://scene/ground/script/c02/event小蝉哼歌.gd" id="23_4c54f"] [ext_resource type="AudioStream" uid="uid://bhaws2ungqaf5" path="res://asset/audio/sfx/交互/角色/sfx_哼歌.ogg" id="24_7mq0m"] [ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="25_4k6pw"] +[ext_resource type="PackedScene" uid="uid://decfqoe5v0y6n" path="res://scene/effect/dizzy_shader.tscn" id="29_74b3r"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_n48fn"] @@ -112,6 +116,41 @@ data = { "has_entered": false, "oneshot_animation_played": false } +debug_global_data = Dictionary[String, Variant]({ +"c02_madman_hitwall": true, +"c02_madman_interacted": 0, +"c02_meat_dropping": false, +"c02_meat_given": false, +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"], +"player_x": 30.0 +}) +debug_ground_data = Dictionary[String, Variant]({ +"Ambush小蝉消失": { +"played": false +}, +"Ambush杂物堆": { +"played": false +}, +"Ambush老鼠叼肉": { +"played": false +}, +"AnimationPlayer": { +"has_entered": false, +"oneshot_animation_played": false +}, +"Closeup戏台": { +"interacted_times": 0 +}, +"Closeup拿人偶后记忆闪回": { +"interacted_times": 0 +}, +"Interactable粘鼠板": { +"interacted_times": 0 +}, +"Pickable掉落的肉": { +"picked": false +} +}) oneshot_animation = "" [node name="VibeSfx" type="Node" parent="Ground/AnimationPlayer" index="0"] @@ -119,6 +158,17 @@ script = ExtResource("3_laquj") autoplay_group = &"c02_楼道1" metadata/_custom_type_script = "uid://cpejxlfni6n52" +[node name="Sfx头痛耳鸣" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"] +stream = ExtResource("4_iylo4") +bus = &"game_sfx" +script = ExtResource("5_74b3r") +metadata/_custom_type_script = "uid://rq6w1vuhuq1m" + +[node name="Sfx记忆闪回音效" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="2"] +bus = &"game_sfx" +script = ExtResource("5_74b3r") +metadata/_custom_type_script = "uid://rq6w1vuhuq1m" + [node name="BGSprite2D" parent="Ground" index="2"] light_mask = 5 scale = Vector2(0.5, 0.5) @@ -163,7 +213,13 @@ enabled = false trigger_mode = "interact" hook_method = "wood_puppet" -[node name="火苗" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="5"] +[node name="Closeup拿人偶后记忆闪回" parent="Ground/DeployLayer" index="5" instance=ExtResource("10_2yvhw")] +position = Vector2(320, 23) +packed_scene = ExtResource("10_7mq0m") +quit_closeup_on_escape = false +first_interact_os_key = "c02_一楼戏台" + +[node name="火苗" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="6"] light_mask = 5 position = Vector2(239, 52) scale = Vector2(0.4, 0.4) @@ -196,26 +252,26 @@ energy = 1.5 range_item_cull_mask = 4 texture = ExtResource("8_mrltr") -[node name="Closeup戏台" parent="Ground/DeployLayer" index="6" instance=ExtResource("10_2yvhw")] +[node name="Closeup戏台" parent="Ground/DeployLayer" index="7" instance=ExtResource("10_2yvhw")] position = Vector2(320, 23) packed_scene = ExtResource("11_2yvhw") first_interact_os_key = "c02_一楼戏台" -[node name="Note一楼内侧通道" parent="Ground/DeployLayer" index="7" instance=ExtResource("10_8t4w6")] +[node name="Note一楼内侧通道" parent="Ground/DeployLayer" index="8" instance=ExtResource("10_8t4w6")] position = Vector2(394, 26) title_filter = "c02" note_key = "c02_一楼楼道被挡住" -[node name="Note垃圾通道" parent="Ground/DeployLayer" index="8" instance=ExtResource("10_8t4w6")] +[node name="Note垃圾通道" parent="Ground/DeployLayer" index="9" instance=ExtResource("10_8t4w6")] position = Vector2(660, -1) title_filter = "c02" note_key = "c02_描述垃圾通道" -[node name="打开的垃圾桶盖" type="Sprite2D" parent="Ground/DeployLayer" index="9"] +[node name="打开的垃圾桶盖" type="Sprite2D" parent="Ground/DeployLayer" index="10"] position = Vector2(660, 8) texture = ExtResource("15_s2g5k") -[node name="Interactable粘鼠板" parent="Ground/DeployLayer" index="10" instance=ExtResource("13_uj0pt")] +[node name="Interactable粘鼠板" parent="Ground/DeployLayer" index="11" instance=ExtResource("13_uj0pt")] position = Vector2(604, 81) first_interact_os_key = "c02_一楼粘鼠板" disable_prop_after_interacted = true @@ -244,19 +300,19 @@ enabled = false title_filter = "c02" note_key = "c02_一楼死老鼠" -[node name="Ambush老鼠叼肉" parent="Ground/DeployLayer" index="11" instance=ExtResource("8_rcuxq")] +[node name="Ambush老鼠叼肉" parent="Ground/DeployLayer" index="12" instance=ExtResource("8_rcuxq")] position = Vector2(585, 80) enabled = false one_shot = false hook_method = "mouse_pick_meat" -[node name="老鼠叼肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="12"] +[node name="老鼠叼肉" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="13"] visible = false position = Vector2(687, 69) sprite_frames = ExtResource("17_bk7rf") animation = &"奇怪的肉被拖进去动画" -[node name="Pickable掉落的肉" parent="Ground/DeployLayer" index="13" instance=ExtResource("17_aofps")] +[node name="Pickable掉落的肉" parent="Ground/DeployLayer" index="14" instance=ExtResource("17_aofps")] visible = false position = Vector2(668, 85) texture = ExtResource("18_bk7rf") @@ -265,20 +321,20 @@ enabled = false collision_width_and_x = Vector2(43.96, 0) prop_key = "prop_奇怪的肉" -[node name="小蜡烛" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="14"] +[node name="小蜡烛" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="15"] self_modulate = Color(0.611765, 0.611765, 0.611765, 1) position = Vector2(627.8, 79.6172) sprite_frames = SubResource("SpriteFrames_heq1x") autoplay = "default" -[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer" index="15"] +[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer" index="16"] position = Vector2(627.8, 66.8) color = Color(0.999971, 0.912551, 0.842208, 1) energy = 1.2 texture = ExtResource("22_laquj") texture_scale = 0.3 -[node name="Ambush小蝉消失" parent="Ground/DeployLayer" index="16" instance=ExtResource("8_rcuxq")] +[node name="Ambush小蝉消失" parent="Ground/DeployLayer" index="17" instance=ExtResource("8_rcuxq")] visible = false visibility_layer = 5 position = Vector2(394, 53) @@ -292,7 +348,7 @@ animation = &"小蝉背对转头" autoplay = "小蝉背对呼吸帧" flip_h = true -[node name="Event2D小蝉哼歌" type="Node2D" parent="Ground/DeployLayer" index="17"] +[node name="Event2D小蝉哼歌" type="Node2D" parent="Ground/DeployLayer" index="18"] position = Vector2(92, 38) script = ExtResource("23_4c54f") event = "c02_madman_interacted" @@ -309,6 +365,9 @@ script = ExtResource("25_4k6pw") loop = true metadata/_custom_type_script = "uid://wapo47a1oddf" +[node name="DizzyShader" parent="Ground/DeployLayer" index="19" instance=ExtResource("29_74b3r")] +visible = false + [node name="MainPlayer" parent="Ground" index="5"] position = Vector2(41, 98) @@ -324,7 +383,6 @@ texture = ExtResource("8_tueh3") points = PackedVector2Array(23, 150, 700, 150) [node name="DirectionalLight2D" parent="Ground" index="8"] -visible = false energy = 0.9 blend_mode = 1 diff --git a/scene/ground/scene/c02/s08_瞎子卧室.tscn b/scene/ground/scene/c02/s08_瞎子卧室.tscn index 392b4bc9..2664574d 100644 --- a/scene/ground/scene/c02/s08_瞎子卧室.tscn +++ b/scene/ground/scene/c02/s08_瞎子卧室.tscn @@ -117,6 +117,9 @@ data = { "hole_interacted_times": 0, "oneshot_animation_played": false } +debug_global_data = Dictionary[String, Variant]({ +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"] +}) oneshot_animation = "" [node name="VibeSfx" type="Node" parent="Ground/AnimationPlayer" index="0"] diff --git a/scene/ground/scene/c02/s10_空房间.gd b/scene/ground/scene/c02/s10_空房间.gd index da4014e5..ec469428 100644 --- a/scene/ground/scene/c02/s10_空房间.gd +++ b/scene/ground/scene/c02/s10_空房间.gd @@ -62,7 +62,7 @@ func _on_ground_ready() -> void: else: xiao_chan_interactable.enabled = false xiao_chan_sprite.visible = false - head_cover_closeup.exit.connect(func(): + head_cover_closeup.exit.connect(func(_arg): head_cover_closeup.hide() head_cover_closeup.enabled = false xiao_chan_interactable.enabled = true @@ -74,6 +74,7 @@ func _on_ground_ready() -> void: counter.enabled = true else: xiao_chan_interactable.interacted.connect(_on_xiao_chan_interacted) + $"Sfx小蝉哼歌".play() counter_pushed_out = ArchiveManager.get_global_value(&"c02_counter_pushed_out") if counter_pushed_out: @@ -82,6 +83,8 @@ func _on_ground_ready() -> void: else: # 空柜子 x 坐标 var counter_x = ArchiveManager.get_global_value(&"c02_counter_x", default_counter_x) + if counter_x < 0: + counter_x = default_counter_x counter.interacted.connect(_on_counter_interacted) counter.global_position.x = counter_x after_counter_moved() @@ -191,6 +194,7 @@ func after_counter_moved(): func _on_pick_catty_head() -> void: if SceneManager.has_prop("prop_无头小猫玩具"): + SceneManager.lock_player() var inspector = SceneManager.get_inspector() await inspector.quit_and_hidden # 将小猫头与身子合并 @@ -205,6 +209,10 @@ func _on_pick_catty_head() -> void: SceneManager.enable_prop_item("prop_小猫玩具完整") await SceneManager.get_inspector().quit_and_hidden SceneManager.pop_os_with_str("c02_获得小猫玩具") + $"Sfx头痛耳鸣".play() + SceneManager.player_action(17, true) + await SceneManager.get_player().animation_finished + SceneManager.unlock_player() # 进过瞎子卧室后,通道关闭 if not ArchiveManager.get_global_value(&"c02_the_blind_room_unlocked"): portal_note.enabled = true diff --git a/scene/ground/scene/c02/s10_空房间.tscn b/scene/ground/scene/c02/s10_空房间.tscn index 0d567993..e5ad12ad 100644 --- a/scene/ground/scene/c02/s10_空房间.tscn +++ b/scene/ground/scene/c02/s10_空房间.tscn @@ -13,11 +13,12 @@ [ext_resource type="AudioStream" uid="uid://b7vxiier136aq" path="res://asset/audio/sfx/旧版/c02/胖子拖.mp3" id="7_5t4pt"] [ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="7_th1ek"] [ext_resource type="Texture2D" uid="uid://dg43u88jwlbpu" path="res://asset/art/prop/c02/新小猫头.png" id="8_3ftnp"] +[ext_resource type="AudioStream" uid="uid://b8sbtn3l37uh" path="res://asset/audio/sfx/旧版/c02/红屏.mp3" id="8_apn51"] [ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="8_to1d1"] [ext_resource type="Texture2D" uid="uid://cdsq0ylmgtfq0" path="res://asset/art/prop/c02/小蝉人偶.png" id="12_27dvh"] [ext_resource type="PackedScene" uid="uid://cxw5rovg5mu1a" path="res://scene/ground/script/c02/s00_煤油灯.tscn" id="13_27dvh"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="14_3ftnp"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="14_e24j0"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="14_e24j0"] [ext_resource type="SpriteFrames" uid="uid://cwes55ajc3rd4" path="res://asset/art/gif/c02_空房间/c02_空房间_frames.tres" id="15_2j5dr"] [ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="15_e24j0"] [ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="15_kqj5r"] @@ -25,13 +26,6 @@ [ext_resource type="PackedScene" uid="uid://bffqprfmpt0bx" path="res://scene/ground/script/c02/空房间小蝉头套.tscn" id="18_5t4pt"] [ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="18_8cwaw"] -[sub_resource type="AudioStreamSynchronized" id="AudioStreamSynchronized_apn51"] -stream_count = 2 -stream_0/stream = ExtResource("4_nx6jy") -stream_0/volume = 0.0 -stream_1/stream = ExtResource("5_8cwaw") -stream_1/volume = 8.0 - [sub_resource type="AtlasTexture" id="AtlasTexture_chbaa"] atlas = ExtResource("15_kqj5r") region = Rect2(0, 0, 6, 14) @@ -91,9 +85,41 @@ player_y = 60 script = ExtResource("2_egtqi") data = { "display_wood_puppet": false, -"entered": false, "oneshot_animation_played": false } +debug_global_data = Dictionary[String, Variant]({ +"c02_counter_pushed_out": false, +"c02_counter_x": -1.0, +"c02_the_blind_room_unlocked": false, +"enabled_items": ["prop_火柴", "prop_无头小猫玩具", "prop_木头人偶"] +}) +debug_ground_data = Dictionary[String, Variant]({ +"Ambush首次进入血脚印": { +"played": true +}, +"AnimationPlayer": { +"display_wood_puppet": false, +"oneshot_animation_played": false +}, +"Closeup头套": { +"interacted_times": 0 +}, +"Interactable小蝉": { +"interacted_times": 0 +}, +"Interactable柜子": { +"interacted_times": 0 +}, +"Pickable小猫玩具脑袋": { +"picked": false +}, +"Pickable木头人偶": { +"picked": false +}, +"煤油灯": { +"interacted_times": 1 +} +}) oneshot_animation = "" [node name="VibeSfx" type="Node" parent="Ground/AnimationPlayer" index="0"] @@ -102,19 +128,32 @@ autoplay_group = &"c02_房间里1" metadata/_custom_type_script = "uid://cpejxlfni6n52" [node name="Sfx小蝉出现" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"] -stream = SubResource("AudioStreamSynchronized_apn51") +stream = ExtResource("4_nx6jy") volume_db = 12.0 bus = &"game_sfx" script = ExtResource("6_6uftv") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" -[node name="Sfx脚印出现" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="2"] +[node name="Sfx小蝉哼歌" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="2"] +stream = ExtResource("5_8cwaw") +volume_db = 16.0 +bus = &"game_sfx" +script = ExtResource("6_6uftv") +metadata/_custom_type_script = "uid://rq6w1vuhuq1m" + +[node name="Sfx脚印出现" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="3"] stream = ExtResource("7_5t4pt") volume_db = 10.0 bus = &"game_sfx" script = ExtResource("6_6uftv") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" +[node name="Sfx头痛耳鸣" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="4"] +stream = ExtResource("8_apn51") +bus = &"game_sfx" +script = ExtResource("6_6uftv") +metadata/_custom_type_script = "uid://rq6w1vuhuq1m" + [node name="BGSprite2D" parent="Ground" index="2"] position = Vector2(26, 0) texture = ExtResource("3_ox8et") diff --git a/scene/ground/scene/c02/s12_盒子猫.tscn b/scene/ground/scene/c02/s12_盒子猫.tscn index 76e29c10..03e3cbe7 100644 --- a/scene/ground/scene/c02/s12_盒子猫.tscn +++ b/scene/ground/scene/c02/s12_盒子猫.tscn @@ -19,6 +19,9 @@ footstep_type = "盒子猫" [node name="AnimationPlayer" parent="Ground" index="0"] script = ExtResource("2_7ah3n") +debug_global_data = Dictionary[String, Variant]({ +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"] +}) oneshot_animation = "" [node name="Sfx钻盒子演出" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] diff --git a/scene/ground/scene/c03/s01_瞎子理发店.tscn b/scene/ground/scene/c03/s01_瞎子理发店.tscn index 33dceaaf..876e09e0 100644 --- a/scene/ground/scene/c03/s01_瞎子理发店.tscn +++ b/scene/ground/scene/c03/s01_瞎子理发店.tscn @@ -119,6 +119,9 @@ libraries = { &"": SubResource("AnimationLibrary_k01ve") } script = ExtResource("2_jxanq") +debug_global_data = Dictionary[String, Variant]({ +"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"] +}) oneshot_animation = "" [node name="VibeSfx" type="Node" parent="Ground/AnimationPlayer" index="0"] diff --git a/scene/ground/script/c02/s08_画特写.tscn b/scene/ground/script/c02/s08_画特写.tscn index 04e8fd0f..16aa0d5e 100644 --- a/scene/ground/script/c02/s08_画特写.tscn +++ b/scene/ground/script/c02/s08_画特写.tscn @@ -2,9 +2,9 @@ [ext_resource type="Script" uid="uid://dnrql1t0j6v8i" path="res://scene/ground/script/c02/通用特写脚本.gd" id="1_jgyts"] [ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/ux_盒子猫初次特写.png" id="2_jo6o1"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="3_myoho"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_myoho"] [ext_resource type="PackedScene" uid="uid://dmysq4sxx8iqh" path="res://scene/entity/ux/content_inspector.tscn" id="4_4p6cc"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="5_i34yq"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="5_i34yq"] [node name="s08_画特写" type="CanvasLayer"] script = ExtResource("1_jgyts") diff --git a/scene/ground/script/c02/s08_画特写2.tscn b/scene/ground/script/c02/s08_画特写2.tscn index 94123db6..d8138d52 100644 --- a/scene/ground/script/c02/s08_画特写2.tscn +++ b/scene/ground/script/c02/s08_画特写2.tscn @@ -2,11 +2,11 @@ [ext_resource type="Script" uid="uid://dnrql1t0j6v8i" path="res://scene/ground/script/c02/通用特写脚本.gd" id="1_2sinf"] [ext_resource type="Texture2D" uid="uid://k6164drvkbg8" path="res://asset/art/scene/c02/s08_瞎子卧室/ux_盒子猫结束特写.png" id="2_qrck0"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="3_7dv3t"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_7dv3t"] [ext_resource type="Texture2D" uid="uid://tcjm158n8hnw" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/小脚脚印.png" id="4_tja8r"] [ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="5_75okh"] [ext_resource type="PackedScene" uid="uid://dmysq4sxx8iqh" path="res://scene/entity/ux/content_inspector.tscn" id="6_ybyuk"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="7_tja8r"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="7_tja8r"] [node name="s08_盒子猫初次特写" type="CanvasLayer"] script = ExtResource("1_2sinf") diff --git a/scene/ground/script/c02/井特写.gd b/scene/ground/script/c02/井特写.gd index 3047e7b1..8fd92a07 100644 --- a/scene/ground/script/c02/井特写.gd +++ b/scene/ground/script/c02/井特写.gd @@ -3,4 +3,8 @@ extends CanvasLayer func _ready() -> void: layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME - + if not ArchiveManager.get_global_value("c02_watched_the_well"): + DialogueManager.show_dialogue_balloon( + preload("res://asset/dialogue/npc.dialogue"), "c02_看井对话" + ) + ArchiveManager.set_global_entry("c02_watched_the_well", true) diff --git a/scene/ground/script/c02/刮海报_二楼内侧.tscn b/scene/ground/script/c02/刮海报_二楼内侧.tscn index aaab8f56..f710d5c9 100644 --- a/scene/ground/script/c02/刮海报_二楼内侧.tscn +++ b/scene/ground/script/c02/刮海报_二楼内侧.tscn @@ -4,7 +4,7 @@ [ext_resource type="Texture2D" uid="uid://ca5tpfxmeh5q8" path="res://asset/art/scene/c02/s07_二楼内侧楼道/ux_二楼过道内侧.png" id="2_auxb7"] [ext_resource type="AudioStream" uid="uid://bomvnle4oh1ol" path="res://asset/audio/sfx/交互/第一章/sfx_折纸.wav" id="2_vl1ak"] [ext_resource type="PackedScene" uid="uid://bvnclp341hxoh" path="res://scene/entity/ux/刮刮乐.tscn" id="3_auxb7"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="3_phw8g"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_phw8g"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_ro3vo"] [sub_resource type="Image" id="Image_vl1ak"] diff --git a/scene/ground/script/c02/刮海报_过道.tscn b/scene/ground/script/c02/刮海报_过道.tscn index e8dbf04e..e289a17b 100644 --- a/scene/ground/script/c02/刮海报_过道.tscn +++ b/scene/ground/script/c02/刮海报_过道.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://d31fc1bolhwlf" path="res://scene/ground/script/c02/刮海报.gd" id="1_qroub"] [ext_resource type="Texture2D" uid="uid://du1gfsc8mp0q0" path="res://asset/art/scene/c02/s02_大门过道/ux_过道面板.png" id="2_5kq43"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="3_5kq43"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_5kq43"] [ext_resource type="Texture2D" uid="uid://cyctvbeqxqvpb" path="res://asset/art/prop/c02/海报特写/青岛啤酒.png" id="3_cffxi"] [ext_resource type="PackedScene" uid="uid://bvnclp341hxoh" path="res://scene/entity/ux/刮刮乐.tscn" id="3_qwopf"] [ext_resource type="AudioStream" uid="uid://bomvnle4oh1ol" path="res://asset/audio/sfx/交互/第一章/sfx_折纸.wav" id="5_xjg44"] diff --git a/scene/ground/script/c02/戏台特写.tscn b/scene/ground/script/c02/戏台特写.tscn index 8be481d7..de44a87e 100644 --- a/scene/ground/script/c02/戏台特写.tscn +++ b/scene/ground/script/c02/戏台特写.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://baocsio2v7pme" path="res://scene/ground/script/c02/戏台特写.gd" id="1_eu5r2"] [ext_resource type="Texture2D" uid="uid://dhrl5mlivx108" path="res://asset/art/scene/c02/s05_一楼内侧楼道/ux_戏台特写(无道具).png" id="3_timwg"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="4_ujm2t"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="4_ujm2t"] [node name="戏台特写" type="CanvasLayer"] script = ExtResource("1_eu5r2") diff --git a/scene/ground/script/c02/折锡纸.tscn b/scene/ground/script/c02/折锡纸.tscn index 6493a7a4..d90040cb 100644 --- a/scene/ground/script/c02/折锡纸.tscn +++ b/scene/ground/script/c02/折锡纸.tscn @@ -6,7 +6,7 @@ [ext_resource type="SpriteFrames" uid="uid://c2sjavnptjn" path="res://asset/art/gif/c02_保卫科/c02_保卫科_frames.tres" id="3_ckoix"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_ftr7c"] [ext_resource type="AudioStream" uid="uid://bomvnle4oh1ol" path="res://asset/audio/sfx/交互/第一章/sfx_折纸.wav" id="4_g2p6p"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="4_qu4ce"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="4_qu4ce"] [ext_resource type="Texture2D" uid="uid://bygsskp1cr0y8" path="res://asset/art/scene/c02/s04_保卫科/锡纸.png" id="4_uslgh"] [ext_resource type="Texture2D" uid="uid://dcubpjb5qgfl2" path="res://asset/art/scene/c02/s04_保卫科/锡纸_hover.png" id="5_6lb1j"] [ext_resource type="BitMap" uid="uid://cfu2y1q2ercd" path="res://asset/art/scene/c02/s04_保卫科/锡纸_mask.png" id="5_uslgh"] diff --git a/scene/ground/script/c02/拿人偶后记忆闪回.gd b/scene/ground/script/c02/拿人偶后记忆闪回.gd new file mode 100644 index 00000000..c1c2a4fa --- /dev/null +++ b/scene/ground/script/c02/拿人偶后记忆闪回.gd @@ -0,0 +1,8 @@ +extends CanvasLayer + +signal exit + +func _ready() -> void: + layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME + await Util.wait(2.0) + exit.emit() \ No newline at end of file diff --git a/scene/ground/script/c02/拿人偶后记忆闪回.gd.uid b/scene/ground/script/c02/拿人偶后记忆闪回.gd.uid new file mode 100644 index 00000000..cd5e02af --- /dev/null +++ b/scene/ground/script/c02/拿人偶后记忆闪回.gd.uid @@ -0,0 +1 @@ +uid://dh6f5qeynliaa diff --git a/scene/ground/script/c02/拿人偶后记忆闪回.tscn b/scene/ground/script/c02/拿人偶后记忆闪回.tscn new file mode 100644 index 00000000..c92dd287 --- /dev/null +++ b/scene/ground/script/c02/拿人偶后记忆闪回.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=7 format=3 uid="uid://b4ilxht544qxu"] + +[ext_resource type="Script" uid="uid://dh6f5qeynliaa" path="res://scene/ground/script/c02/拿人偶后记忆闪回.gd" id="1_cgi75"] +[ext_resource type="Texture2D" uid="uid://dhrl5mlivx108" path="res://asset/art/scene/c02/s05_一楼内侧楼道/ux_戏台特写(无道具).png" id="2_edrik"] +[ext_resource type="Texture2D" uid="uid://bdisdxc1txm0g" path="res://asset/art/gif/c02_霸凌/小婵_被霸凌/0.png" id="3_edrik"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_icubm"] +[ext_resource type="Texture2D" uid="uid://cfnkmmii6dv47" path="res://asset/art/little_game/弹珠/伸手.png" id="4_icubm"] +[ext_resource type="Texture2D" uid="uid://7citu6wev1wy" path="res://asset/art/animation/c00_吕萍_记笔记_right/吕萍-拿本子记录24.png" id="5_6edb2"] + +[node name="记忆闪回" type="CanvasLayer"] +script = ExtResource("1_cgi75") + +[node name="小蝉" type="TextureRect" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_edrik") +expand_mode = 5 +stretch_mode = 5 + +[node name="Sprite2D" type="Sprite2D" parent="小蝉"] +position = Vector2(275, 178) +scale = Vector2(6.64224, 5.44996) +texture = ExtResource("3_edrik") + +[node name="伸手" type="Sprite2D" parent="."] +position = Vector2(440, 477) +scale = Vector2(6.64224, 5.44996) +texture = ExtResource("4_icubm") +flip_v = true + +[node name="小蝶" type="Sprite2D" parent="."] +position = Vector2(126, 258) +scale = Vector2(6.64224, 5.44996) +texture = ExtResource("5_6edb2") + +[node name="TextureRect2" type="TextureRect" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("3_icubm") +expand_mode = 5 +stretch_mode = 5 + +[node name="Camera2D" type="Camera2D" parent="."] diff --git a/scene/ground/script/c02/盒子猫canvas_layer.tscn b/scene/ground/script/c02/盒子猫canvas_layer.tscn index aa677013..1110709b 100644 --- a/scene/ground/script/c02/盒子猫canvas_layer.tscn +++ b/scene/ground/script/c02/盒子猫canvas_layer.tscn @@ -8,7 +8,7 @@ [ext_resource type="AudioStream" uid="uid://7sjwgob6tsu4" path="res://asset/audio/sfx/交互/第一章/sfx_猫退出躲藏.wav" id="4_0rwiy"] [ext_resource type="Texture2D" uid="uid://tcjm158n8hnw" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/小脚脚印.png" id="4_bc5tk"] [ext_resource type="Texture2D" uid="uid://ccfbubistf0ov" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/ux_镂空_纸.png" id="5_l6g3a"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="6_aeggu"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="6_aeggu"] [ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="6_qw0v6"] [ext_resource type="Texture2D" uid="uid://dx3i8mchgux1d" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/ux_纸张.png" id="6_rxlkc"] diff --git a/scene/ground/script/c02/空房间小蝉头套.tscn b/scene/ground/script/c02/空房间小蝉头套.tscn index 601d13fc..ad090aca 100644 --- a/scene/ground/script/c02/空房间小蝉头套.tscn +++ b/scene/ground/script/c02/空房间小蝉头套.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" uid="uid://criy10vfyc262" path="res://scene/ground/script/c02/空房间小蝉头套.gd" id="1_yumf6"] [ext_resource type="Texture2D" uid="uid://ce3kclg1i81l3" path="res://asset/art/scene/c02/s02_大门过道/e_头套(场景中).png" id="2_4w5ks"] [ext_resource type="PackedScene" uid="uid://dmysq4sxx8iqh" path="res://scene/entity/ux/content_inspector.tscn" id="3_64wgd"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="4_v60v3"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="4_v60v3"] [node name="老鼠精画像" type="CanvasLayer"] script = ExtResource("1_yumf6") @@ -52,6 +52,6 @@ offset_right = 50.0 offset_bottom = 7.0 grow_horizontal = 2 grow_vertical = 2 -text = "???" +text = "c02_小蝉头套文字" horizontal_alignment = 1 autowrap_mode = 3 diff --git a/scene/ground/script/c02/老鼠精画像.tscn b/scene/ground/script/c02/老鼠精画像.tscn index 93dbb063..e7d10b98 100644 --- a/scene/ground/script/c02/老鼠精画像.tscn +++ b/scene/ground/script/c02/老鼠精画像.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" uid="uid://dyk58stu5enia" path="res://scene/ground/script/c02/老鼠精画像.gd" id="1_l77sh"] [ext_resource type="Texture2D" uid="uid://d1xr7g5huv5or" path="res://asset/art/scene/c02/s04_保卫科/ux_老鼠画像特写.png" id="2_eyynm"] [ext_resource type="PackedScene" uid="uid://dmysq4sxx8iqh" path="res://scene/entity/ux/content_inspector.tscn" id="3_lpmq3"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="4_l77sh"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="4_l77sh"] [node name="老鼠精画像" type="CanvasLayer"] script = ExtResource("1_l77sh") diff --git a/scene/ground/script/c02/花名册.tscn b/scene/ground/script/c02/花名册.tscn index 5338afca..117ed974 100644 --- a/scene/ground/script/c02/花名册.tscn +++ b/scene/ground/script/c02/花名册.tscn @@ -4,7 +4,7 @@ [ext_resource type="Texture2D" uid="uid://cypvxj1vsl5yk" path="res://asset/art/scene/c02/s04_保卫科/花名册/bg_花名册桌面.png" id="2_v047l"] [ext_resource type="Texture2D" uid="uid://sx3i3lkt2vfd" path="res://asset/art/scene/c02/s04_保卫科/花名册/花名册封皮.png" id="3_myeas"] [ext_resource type="PackedScene" uid="uid://dmysq4sxx8iqh" path="res://scene/entity/ux/content_inspector.tscn" id="4_1s4sv"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="4_myeas"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="4_myeas"] [node name="花名册" type="CanvasLayer"] script = ExtResource("1_jin3n") diff --git a/scene/little_game/八音盒/八音盒.tscn b/scene/little_game/八音盒/八音盒.tscn index 38e7ea3e..6d06b071 100644 --- a/scene/little_game/八音盒/八音盒.tscn +++ b/scene/little_game/八音盒/八音盒.tscn @@ -35,7 +35,7 @@ [ext_resource type="Texture2D" uid="uid://c07o1l2hs2ex5" path="res://asset/art/little_game/八音盒/新小猫身体.png" id="31_wq2wm"] [ext_resource type="Texture2D" uid="uid://b2jnocfgfr3io" path="res://asset/art/little_game/八音盒/小蝉人偶.png" id="32_sg8mt"] [ext_resource type="SpriteFrames" uid="uid://cwes55ajc3rd4" path="res://asset/art/gif/c02_空房间/c02_空房间_frames.tres" id="34_tgpfj"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="35_wq2wm"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="35_wq2wm"] [ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="36_sg8mt"] [sub_resource type="Animation" id="Animation_j1llk"] diff --git a/scene/settings/settings.tscn b/scene/settings/settings.tscn index 7286d73d..06538822 100644 --- a/scene/settings/settings.tscn +++ b/scene/settings/settings.tscn @@ -4,7 +4,7 @@ [ext_resource type="AudioStream" uid="uid://dlt4nv6qjhlpy" path="res://asset/audio/sfx/交互/sfx_打开设置.wav" id="2_6hxkf"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_kn03d"] [ext_resource type="AudioStream" uid="uid://cmi6fd68s1ukb" path="res://asset/audio/sfx/交互/sfx_关闭设置.wav" id="4_n2b1f"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="5_kn03d"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="5_kn03d"] [ext_resource type="Theme" uid="uid://be5scnhjobkux" path="res://config/settings_theme.tres" id="6_7e43x"] [ext_resource type="FontVariation" uid="uid://1ryw42kej6lv" path="res://config/font_ui.tres" id="6_n2b1f"] diff --git a/scene/ux/bag/prop_bag.tscn b/scene/ux/bag/prop_bag.tscn index b5b02c6a..96484f23 100644 --- a/scene/ux/bag/prop_bag.tscn +++ b/scene/ux/bag/prop_bag.tscn @@ -6,7 +6,7 @@ [ext_resource type="PackedScene" uid="uid://ut4a5gwb4naq" path="res://scene/ux/tabs.tscn" id="4_wojfr"] [ext_resource type="Texture2D" uid="uid://bi7l47cit2xs" path="res://asset/art/ui/ux_panel/完整背景.png" id="6_grmx4"] [ext_resource type="Texture2D" uid="uid://bhjynxasn03jv" path="res://asset/art/ui/bag/重要物品ui-28.png" id="7_j146j"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="7_tgqj6"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="7_tgqj6"] [ext_resource type="Texture2D" uid="uid://bg77dh6ua3kfo" path="res://asset/art/prop/c01/院长的信物品.png" id="10_tgqj6"] [ext_resource type="FontFile" uid="uid://dr8bp6p7byb37" path="res://asset/font/字体/方正楷体简体.TTF" id="11_4jvvd"] diff --git a/scene/ux/memory/memory.tscn b/scene/ux/memory/memory.tscn index 0d459022..9de7800c 100644 --- a/scene/ux/memory/memory.tscn +++ b/scene/ux/memory/memory.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://bt86ajx7nwnk3" path="res://scene/ux/memory/memory.gd" id="1_22dwm"] [ext_resource type="Texture2D" uid="uid://bi7l47cit2xs" path="res://asset/art/ui/ux_panel/完整背景.png" id="2_mydtv"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="3_6dhhp"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_6dhhp"] [ext_resource type="Texture2D" uid="uid://dsj3l0baqg1g7" path="res://asset/art/ui/ux_panel/小蝶笔记.png" id="3_mydtv"] [ext_resource type="PackedScene" uid="uid://du6jt6ae5ulvy" path="res://scene/ux/memory/memory_item.tscn" id="4_6dhhp"] [ext_resource type="PackedScene" uid="uid://ut4a5gwb4naq" path="res://scene/ux/tabs.tscn" id="4_7f8pt"] diff --git a/scene/ux/memory/memory_item.tscn b/scene/ux/memory/memory_item.tscn index 8134eea1..c9c09e56 100644 --- a/scene/ux/memory/memory_item.tscn +++ b/scene/ux/memory/memory_item.tscn @@ -2,7 +2,7 @@ [ext_resource type="Theme" uid="uid://ro8r1wa1bvua" path="res://config/memory_item_theme.tres" id="1_2f468"] [ext_resource type="Script" uid="uid://bk8ton7q8i6hb" path="res://scene/ux/memory/memory_item.gd" id="1_2q576"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="3_wb2ol"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_wb2ol"] [node name="MemoryItem" type="PanelContainer"] offset_right = 75.0 diff --git a/scene/ux/note/ux_note.tscn b/scene/ux/note/ux_note.tscn index 927502f6..ea4cb6a8 100644 --- a/scene/ux/note/ux_note.tscn +++ b/scene/ux/note/ux_note.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://bkyg34xfhe60p" path="res://scene/ux/note/ux_note.gd" id="1_e61yw"] [ext_resource type="Texture2D" uid="uid://bi7l47cit2xs" path="res://asset/art/ui/ux_panel/完整背景.png" id="2_1ka1m"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="3_nk0pj"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_nk0pj"] [ext_resource type="PackedScene" uid="uid://ut4a5gwb4naq" path="res://scene/ux/tabs.tscn" id="4_7vpan"] [ext_resource type="Texture2D" uid="uid://dsj3l0baqg1g7" path="res://asset/art/ui/ux_panel/小蝶笔记.png" id="5_d1cia"] [ext_resource type="Texture2D" uid="uid://bv57eyqs03k4y" path="res://asset/art/ui/note/线索笔记内容-29.png" id="6_7vpan"] diff --git a/scene/ux/panel/ux_panel.tscn b/scene/ux/panel/ux_panel.tscn index b02ad0f9..14a543ba 100644 --- a/scene/ux/panel/ux_panel.tscn +++ b/scene/ux/panel/ux_panel.tscn @@ -4,7 +4,7 @@ [ext_resource type="Texture2D" uid="uid://bi7l47cit2xs" path="res://asset/art/ui/ux_panel/完整背景.png" id="2_5mits"] [ext_resource type="AudioStream" uid="uid://dyjifofhdx25w" path="res://asset/audio/sfx/交互/打开背包.wav" id="2_v1oku"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_a3uyd"] -[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/inspect/inspect特写通用遮罩.png" id="3_mns6r"] +[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_mns6r"] [ext_resource type="FontFile" uid="uid://255whp7fuig5" path="res://asset/font/字体/三极行楷简体-粗.ttf" id="4_mns6r"] [ext_resource type="AudioStream" uid="uid://bghyinc16m1nx" path="res://asset/audio/sfx/交互/收起背包.wav" id="4_ombcf"] diff --git a/scene/ux/prop_inspector.gd b/scene/ux/prop_inspector.gd index 0af3ca65..83e9dab9 100644 --- a/scene/ux/prop_inspector.gd +++ b/scene/ux/prop_inspector.gd @@ -44,7 +44,6 @@ func _ready() -> void: func _hide(): if status == STATUS_HIDDING: - SceneManager.unlock_player() return if status == STATUS_HIDDEN: return @@ -61,7 +60,7 @@ func _hide(): func _post_hide(): status = STATUS_HIDDEN - SceneManager.unlock_player() + locking = false origin_texture.texture = null full_texture.texture = null texture_cover = null @@ -95,7 +94,7 @@ func pop_standard_inspection( content_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_LEFT if status != STATUS_HIDDEN: _hide() - SceneManager.lock_player(0) + locking = true status = STATUS_INSPECTING_COVER visible = true full_texture.texture = cover_texture @@ -114,6 +113,15 @@ func pop_standard_inspection( _blink_label() +var locking = false: + set(val): + if val != locking: + locking = val + if val: + SceneManager.lock_player() + else: + SceneManager.unlock_player() + var balloon @@ -126,8 +134,7 @@ func pop_prop_inspection( # STATUS_INSPECTING_PROP 状态下不 hide,跳过重复 lock if status != STATUS_HIDDEN and status != STATUS_INSPECTING_PROP: _hide() - if status != STATUS_INSPECTING_PROP: - SceneManager.lock_player(0) + locking = true status = STATUS_INSPECTING_PROP visible = true var tween = create_tween() diff --git a/scene/ux/prop_inspector.tscn b/scene/ux/prop_inspector.tscn index fcbae134..11360723 100644 --- a/scene/ux/prop_inspector.tscn +++ b/scene/ux/prop_inspector.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://cekhj65axie0p"] [ext_resource type="Script" uid="uid://1xdb7s1nigv8" path="res://scene/ux/prop_inspector.gd" id="1_2wpwe"] -[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/inspect/inspect背景遮罩.png" id="2_j83lq"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="2_j83lq"] [ext_resource type="Texture2D" uid="uid://cvgw2mxrlr6io" path="res://asset/art/scene/c02/旧版/s02_走道/ux_进门鼠疫海报yz.png" id="2_wr575"] [ext_resource type="FontVariation" uid="uid://1ryw42kej6lv" path="res://config/font_ui.tres" id="4_opug5"]