diff --git a/asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres b/asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres index 1eb370ae..d94d36b9 100644 --- a/asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres +++ b/asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres @@ -1,4 +1,4 @@ -[gd_resource type="SpriteFrames" load_steps=76 format=3 uid="uid://cmvr3lbwe3h7p"] +[gd_resource type="SpriteFrames" load_steps=83 format=3 uid="uid://cmvr3lbwe3h7p"] [ext_resource type="Texture2D" uid="uid://bq2o1huq46hhj" path="res://asset/art/gif/c03_特写与游戏动画/小婵特写/0.png" id="1_emjqu"] [ext_resource type="Texture2D" uid="uid://dcwbe6hb3gdcp" path="res://asset/art/gif/c03_特写与游戏动画/父亲抱小孩/0.png" id="1_fctjd"] @@ -21,7 +21,6 @@ [ext_resource type="Texture2D" uid="uid://c5sc5ctss08qc" path="res://asset/art/gif/c03_特写与游戏动画/鬼母子神/0.png" id="5_uidoe"] [ext_resource type="Texture2D" uid="uid://lop0mxjb5y71" path="res://asset/art/gif/c03_特写与游戏动画/癞子背坐呼吸/1.png" id="6_0df74"] [ext_resource type="Texture2D" uid="uid://dx2v7bicpg7b4" path="res://asset/art/gif/c03_特写与游戏动画/鬼母子神/1.png" id="6_yp83y"] -[ext_resource type="Texture2D" uid="uid://bkh3cc2fg486c" path="res://asset/art/gif/c03_特写与游戏动画/鬼母子神/2.png" id="7_axfhb"] [ext_resource type="Texture2D" uid="uid://c08v3b4prnqyt" path="res://asset/art/gif/c03_特写与游戏动画/癞子背坐呼吸/2.png" id="7_xhhcn"] [ext_resource type="Texture2D" uid="uid://4m0ix5nhdmdf" path="res://asset/art/gif/c03_特写与游戏动画/癞子背坐呼吸/3.png" id="8_dspyd"] [ext_resource type="Texture2D" uid="uid://d0ad1s3sfsejp" path="res://asset/art/gif/c03_特写与游戏动画/鬼母子神/3.png" id="8_yp83y"] @@ -69,10 +68,18 @@ [ext_resource type="Texture2D" uid="uid://e7g3s6jw8jh3" path="res://asset/art/gif/c03_特写与游戏动画/小蝶爬墙晃腿/13.png" id="38_j2qi7"] [ext_resource type="Texture2D" uid="uid://binrsq2shqkq8" path="res://asset/art/gif/c03_特写与游戏动画/小蝶爬墙晃腿/14.png" id="39_xlxk7"] [ext_resource type="Texture2D" uid="uid://bc0wwhlritdm2" path="res://asset/art/gif/c03_特写与游戏动画/小蝶爬墙晃腿/15.png" id="40_i1c23"] +[ext_resource type="Texture2D" uid="uid://hak523l62h0f" path="res://asset/art/gif/c03_特写与游戏动画/招魂幡/0.png" id="40_uvt3b"] [ext_resource type="Texture2D" uid="uid://wyem5iu0s5x6" path="res://asset/art/gif/c03_特写与游戏动画/小蝶爬墙晃腿/16.png" id="41_i1up3"] +[ext_resource type="Texture2D" uid="uid://dlf7d17waypbi" path="res://asset/art/gif/c03_特写与游戏动画/招魂幡/1.png" id="41_spchg"] [ext_resource type="Texture2D" uid="uid://78bim08limr5" path="res://asset/art/gif/c03_特写与游戏动画/小蝶爬墙晃腿/17.png" id="42_3tshh"] +[ext_resource type="Texture2D" uid="uid://cfakx6tlv1vta" path="res://asset/art/gif/c03_特写与游戏动画/招魂幡/2.png" id="42_act3w"] [ext_resource type="Texture2D" uid="uid://cn03gvg5a3ah3" path="res://asset/art/gif/c03_特写与游戏动画/小蝶爬墙晃腿/18.png" id="43_cukmc"] +[ext_resource type="Texture2D" uid="uid://c64uwlye3rbiq" path="res://asset/art/gif/c03_特写与游戏动画/招魂幡/3.png" id="43_ukae2"] +[ext_resource type="Texture2D" uid="uid://cne4t1c3lqpl4" path="res://asset/art/gif/c03_特写与游戏动画/招魂幡/4.png" id="44_qdww1"] +[ext_resource type="Texture2D" uid="uid://h41enm26fbhv" path="res://asset/art/gif/c03_特写与游戏动画/招魂幡/5.png" id="45_6wl1s"] +[ext_resource type="Texture2D" uid="uid://fir17lkl6bj0" path="res://asset/art/gif/c03_特写与游戏动画/招魂幡/6.png" id="46_52482"] [ext_resource type="Texture2D" uid="uid://caoxsva1qvhun" path="res://asset/art/scene/c03/c03_结局特写/头发飘1.png" id="46_act3w"] +[ext_resource type="Texture2D" uid="uid://b4mjruhtldedh" path="res://asset/art/gif/c03_特写与游戏动画/招魂幡/7.png" id="47_fwddy"] [ext_resource type="Texture2D" uid="uid://bdo6sdx23fkgy" path="res://asset/art/scene/c03/c03_结局特写/头发飘2 4.png" id="47_ukae2"] [ext_resource type="Texture2D" uid="uid://cawpwp5j3ikjp" path="res://asset/art/scene/c03/c03_结局特写/头发飘3.png" id="48_qdww1"] @@ -298,6 +305,35 @@ animations = [{ "speed": 30.0 }, { "frames": [{ +"duration": 1.5, +"texture": ExtResource("40_uvt3b") +}, { +"duration": 1.5, +"texture": ExtResource("41_spchg") +}, { +"duration": 1.5, +"texture": ExtResource("42_act3w") +}, { +"duration": 1.5, +"texture": ExtResource("43_ukae2") +}, { +"duration": 1.5, +"texture": ExtResource("44_qdww1") +}, { +"duration": 1.5, +"texture": ExtResource("45_6wl1s") +}, { +"duration": 1.5, +"texture": ExtResource("46_52482") +}, { +"duration": 1.5, +"texture": ExtResource("47_fwddy") +}], +"loop": false, +"name": &"招魂幡", +"speed": 10.0 +}, { +"frames": [{ "duration": 10.0, "texture": ExtResource("29_cxlh3") }, { @@ -460,9 +496,6 @@ animations = [{ "duration": 12.0, "texture": ExtResource("6_yp83y") }, { -"duration": 12.0, -"texture": ExtResource("7_axfhb") -}, { "duration": 1.0, "texture": ExtResource("8_yp83y") }], diff --git a/asset/art/gif/c03_特写与游戏动画/招魂幡/0.png b/asset/art/gif/c03_特写与游戏动画/招魂幡/0.png new file mode 100644 index 00000000..b0e5b339 Binary files /dev/null and b/asset/art/gif/c03_特写与游戏动画/招魂幡/0.png differ diff --git a/asset/art/gif/c03_特写与游戏动画/招魂幡/0.png.import b/asset/art/gif/c03_特写与游戏动画/招魂幡/0.png.import new file mode 100644 index 00000000..b70c3858 --- /dev/null +++ b/asset/art/gif/c03_特写与游戏动画/招魂幡/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hak523l62h0f" +path="res://.godot/imported/0.png-3397c0b80bbb1d667399db3a25bd7739.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c03_特写与游戏动画/招魂幡/0.png" +dest_files=["res://.godot/imported/0.png-3397c0b80bbb1d667399db3a25bd7739.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/art/gif/c03_特写与游戏动画/招魂幡/1.png b/asset/art/gif/c03_特写与游戏动画/招魂幡/1.png new file mode 100644 index 00000000..7804373c Binary files /dev/null and b/asset/art/gif/c03_特写与游戏动画/招魂幡/1.png differ diff --git a/asset/art/gif/c03_特写与游戏动画/招魂幡/1.png.import b/asset/art/gif/c03_特写与游戏动画/招魂幡/1.png.import new file mode 100644 index 00000000..b5cc102c --- /dev/null +++ b/asset/art/gif/c03_特写与游戏动画/招魂幡/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlf7d17waypbi" +path="res://.godot/imported/1.png-b7a68b8404fecce921f5d7ce2c34e2aa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c03_特写与游戏动画/招魂幡/1.png" +dest_files=["res://.godot/imported/1.png-b7a68b8404fecce921f5d7ce2c34e2aa.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/art/gif/c03_特写与游戏动画/招魂幡/2.png b/asset/art/gif/c03_特写与游戏动画/招魂幡/2.png new file mode 100644 index 00000000..fd3886a5 Binary files /dev/null and b/asset/art/gif/c03_特写与游戏动画/招魂幡/2.png differ diff --git a/asset/art/gif/c03_特写与游戏动画/招魂幡/2.png.import b/asset/art/gif/c03_特写与游戏动画/招魂幡/2.png.import new file mode 100644 index 00000000..d2b1c81c --- /dev/null +++ b/asset/art/gif/c03_特写与游戏动画/招魂幡/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfakx6tlv1vta" +path="res://.godot/imported/2.png-aad8d0ef1666cee0a45d4ba2f097cd5c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c03_特写与游戏动画/招魂幡/2.png" +dest_files=["res://.godot/imported/2.png-aad8d0ef1666cee0a45d4ba2f097cd5c.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/art/gif/c03_特写与游戏动画/招魂幡/3.png b/asset/art/gif/c03_特写与游戏动画/招魂幡/3.png new file mode 100644 index 00000000..351eba9c Binary files /dev/null and b/asset/art/gif/c03_特写与游戏动画/招魂幡/3.png differ diff --git a/asset/art/gif/c03_特写与游戏动画/招魂幡/3.png.import b/asset/art/gif/c03_特写与游戏动画/招魂幡/3.png.import new file mode 100644 index 00000000..4c05d956 --- /dev/null +++ b/asset/art/gif/c03_特写与游戏动画/招魂幡/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c64uwlye3rbiq" +path="res://.godot/imported/3.png-1bf9e9c6678aa100f74fd40840c16d8d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c03_特写与游戏动画/招魂幡/3.png" +dest_files=["res://.godot/imported/3.png-1bf9e9c6678aa100f74fd40840c16d8d.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/art/gif/c03_特写与游戏动画/招魂幡/4.png b/asset/art/gif/c03_特写与游戏动画/招魂幡/4.png new file mode 100644 index 00000000..fd3886a5 Binary files /dev/null and b/asset/art/gif/c03_特写与游戏动画/招魂幡/4.png differ diff --git a/asset/art/gif/c03_特写与游戏动画/招魂幡/4.png.import b/asset/art/gif/c03_特写与游戏动画/招魂幡/4.png.import new file mode 100644 index 00000000..16a74031 --- /dev/null +++ b/asset/art/gif/c03_特写与游戏动画/招魂幡/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cne4t1c3lqpl4" +path="res://.godot/imported/4.png-67dd09cfa63dc4ab38271a3dcee7e2bd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c03_特写与游戏动画/招魂幡/4.png" +dest_files=["res://.godot/imported/4.png-67dd09cfa63dc4ab38271a3dcee7e2bd.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/art/gif/c03_特写与游戏动画/招魂幡/5.png b/asset/art/gif/c03_特写与游戏动画/招魂幡/5.png new file mode 100644 index 00000000..351eba9c Binary files /dev/null and b/asset/art/gif/c03_特写与游戏动画/招魂幡/5.png differ diff --git a/asset/art/gif/c03_特写与游戏动画/招魂幡/5.png.import b/asset/art/gif/c03_特写与游戏动画/招魂幡/5.png.import new file mode 100644 index 00000000..468777f3 --- /dev/null +++ b/asset/art/gif/c03_特写与游戏动画/招魂幡/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://h41enm26fbhv" +path="res://.godot/imported/5.png-787c422e4776e976c8846da76c0c07d6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c03_特写与游戏动画/招魂幡/5.png" +dest_files=["res://.godot/imported/5.png-787c422e4776e976c8846da76c0c07d6.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/art/gif/c03_特写与游戏动画/招魂幡/6.png b/asset/art/gif/c03_特写与游戏动画/招魂幡/6.png new file mode 100644 index 00000000..7804373c Binary files /dev/null and b/asset/art/gif/c03_特写与游戏动画/招魂幡/6.png differ diff --git a/asset/art/gif/c03_特写与游戏动画/招魂幡/6.png.import b/asset/art/gif/c03_特写与游戏动画/招魂幡/6.png.import new file mode 100644 index 00000000..ee2cc829 --- /dev/null +++ b/asset/art/gif/c03_特写与游戏动画/招魂幡/6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fir17lkl6bj0" +path="res://.godot/imported/6.png-dec10af9fd97309f0143fe9603cc878e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c03_特写与游戏动画/招魂幡/6.png" +dest_files=["res://.godot/imported/6.png-dec10af9fd97309f0143fe9603cc878e.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/art/gif/c03_特写与游戏动画/招魂幡/7.png b/asset/art/gif/c03_特写与游戏动画/招魂幡/7.png new file mode 100644 index 00000000..b0e5b339 Binary files /dev/null and b/asset/art/gif/c03_特写与游戏动画/招魂幡/7.png differ diff --git a/asset/art/gif/c03_特写与游戏动画/招魂幡/7.png.import b/asset/art/gif/c03_特写与游戏动画/招魂幡/7.png.import new file mode 100644 index 00000000..f9af4de0 --- /dev/null +++ b/asset/art/gif/c03_特写与游戏动画/招魂幡/7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4mjruhtldedh" +path="res://.godot/imported/7.png-26580ddcc99f48ef7b9f7f64f8594cf1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c03_特写与游戏动画/招魂幡/7.png" +dest_files=["res://.godot/imported/7.png-26580ddcc99f48ef7b9f7f64f8594cf1.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/audio/peiyin/c03/c03_棺材怪_1.ogg b/asset/audio/peiyin/c03/c03_棺材怪_1.ogg new file mode 100644 index 00000000..2a41a5f3 Binary files /dev/null and b/asset/audio/peiyin/c03/c03_棺材怪_1.ogg differ diff --git a/asset/audio/peiyin/c03/c03_棺材怪_1.ogg.import b/asset/audio/peiyin/c03/c03_棺材怪_1.ogg.import new file mode 100644 index 00000000..c9449afe --- /dev/null +++ b/asset/audio/peiyin/c03/c03_棺材怪_1.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cthyxxqhb0g65" +path="res://.godot/imported/c03_棺材怪_1.ogg-7fb6efa1a040919c9c77e2af6debcb9f.oggvorbisstr" + +[deps] + +source_file="res://asset/audio/peiyin/c03/c03_棺材怪_1.ogg" +dest_files=["res://.godot/imported/c03_棺材怪_1.ogg-7fb6efa1a040919c9c77e2af6debcb9f.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/asset/audio/peiyin/c03/c03_棺材怪_2.ogg b/asset/audio/peiyin/c03/c03_棺材怪_2.ogg new file mode 100644 index 00000000..97db461a Binary files /dev/null and b/asset/audio/peiyin/c03/c03_棺材怪_2.ogg differ diff --git a/asset/audio/peiyin/c03/c03_棺材怪_2.ogg.import b/asset/audio/peiyin/c03/c03_棺材怪_2.ogg.import new file mode 100644 index 00000000..cd152c20 --- /dev/null +++ b/asset/audio/peiyin/c03/c03_棺材怪_2.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://ce8rpo6mmrysf" +path="res://.godot/imported/c03_棺材怪_2.ogg-e40f4ed7d407624e04ebb19ee2433b5f.oggvorbisstr" + +[deps] + +source_file="res://asset/audio/peiyin/c03/c03_棺材怪_2.ogg" +dest_files=["res://.godot/imported/c03_棺材怪_2.ogg-e40f4ed7d407624e04ebb19ee2433b5f.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/asset/audio/peiyin/c03/c03_棺材怪_3.ogg b/asset/audio/peiyin/c03/c03_棺材怪_3.ogg new file mode 100644 index 00000000..d8c9c725 Binary files /dev/null and b/asset/audio/peiyin/c03/c03_棺材怪_3.ogg differ diff --git a/asset/audio/peiyin/c03/c03_棺材怪_3.ogg.import b/asset/audio/peiyin/c03/c03_棺材怪_3.ogg.import new file mode 100644 index 00000000..ce3d06e8 --- /dev/null +++ b/asset/audio/peiyin/c03/c03_棺材怪_3.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://wt7jlambh6y" +path="res://.godot/imported/c03_棺材怪_3.ogg-1c0d87dfb11aa9515f9604efbb76f51d.oggvorbisstr" + +[deps] + +source_file="res://asset/audio/peiyin/c03/c03_棺材怪_3.ogg" +dest_files=["res://.godot/imported/c03_棺材怪_3.ogg-1c0d87dfb11aa9515f9604efbb76f51d.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑.ogg.import b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑.ogg.import new file mode 100644 index 00000000..5a437c94 --- /dev/null +++ b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://d3yc0gbgivrjb" +path="res://.godot/imported/sfx瞎子卧室灰姑.ogg-1f574c766c82604ebfc874202859ca8c.oggvorbisstr" + +[deps] + +source_file="res://asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑.ogg" +dest_files=["res://.godot/imported/sfx瞎子卧室灰姑.ogg-1f574c766c82604ebfc874202859ca8c.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑出场.ogg b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑出场.ogg new file mode 100644 index 00000000..e7441300 Binary files /dev/null and b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑出场.ogg differ diff --git a/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑出场.ogg.import b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑出场.ogg.import new file mode 100644 index 00000000..0e95c588 --- /dev/null +++ b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑出场.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://4vhd263cfr2o" +path="res://.godot/imported/sfx瞎子卧室灰姑出场.ogg-5422b62cb38584ac7ba2b89b789359f9.oggvorbisstr" + +[deps] + +source_file="res://asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑出场.ogg" +dest_files=["res://.godot/imported/sfx瞎子卧室灰姑出场.ogg-5422b62cb38584ac7ba2b89b789359f9.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑氛围.ogg b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑氛围.ogg new file mode 100644 index 00000000..e7441300 Binary files /dev/null and b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑氛围.ogg differ diff --git a/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑氛围.ogg.import b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑氛围.ogg.import new file mode 100644 index 00000000..0151c8ad --- /dev/null +++ b/asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑氛围.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dwgmsimffey73" +path="res://.godot/imported/sfx瞎子卧室灰姑氛围.ogg-3ee28d2fddf8bb28120d1047ba19437d.oggvorbisstr" + +[deps] + +source_file="res://asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑氛围.ogg" +dest_files=["res://.godot/imported/sfx瞎子卧室灰姑氛围.ogg-3ee28d2fddf8bb28120d1047ba19437d.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg b/asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg new file mode 100644 index 00000000..e9c9b986 Binary files /dev/null and b/asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg differ diff --git a/asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg.import b/asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg.import new file mode 100644 index 00000000..7f9c7179 --- /dev/null +++ b/asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bkbs5hwxuou4r" +path="res://.godot/imported/李氏纸人呼吸.ogg-41c92b4f59f09e0ba3beaa5375699c6c.oggvorbisstr" + +[deps] + +source_file="res://asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg" +dest_files=["res://.godot/imported/李氏纸人呼吸.ogg-41c92b4f59f09e0ba3beaa5375699c6c.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/asset/audio/sfx/交互/第二章/棺材怪呼吸.ogg b/asset/audio/sfx/交互/第二章/棺材怪呼吸.ogg new file mode 100644 index 00000000..70d13094 Binary files /dev/null and b/asset/audio/sfx/交互/第二章/棺材怪呼吸.ogg differ diff --git a/asset/audio/sfx/交互/第二章/棺材怪呼吸.ogg.import b/asset/audio/sfx/交互/第二章/棺材怪呼吸.ogg.import new file mode 100644 index 00000000..efefb439 --- /dev/null +++ b/asset/audio/sfx/交互/第二章/棺材怪呼吸.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cfsx6yqrw5gp4" +path="res://.godot/imported/棺材怪呼吸.ogg-ea77520856a55557e9e02e7ec9883c6e.oggvorbisstr" + +[deps] + +source_file="res://asset/audio/sfx/交互/第二章/棺材怪呼吸.ogg" +dest_files=["res://.godot/imported/棺材怪呼吸.ogg-ea77520856a55557e9e02e7ec9883c6e.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/asset/audio/sfx/交互/第二章/进入胖子房间后单次播放.ogg b/asset/audio/sfx/交互/第二章/进入胖子房间后单次播放.ogg new file mode 100644 index 00000000..47d6540b Binary files /dev/null and b/asset/audio/sfx/交互/第二章/进入胖子房间后单次播放.ogg differ diff --git a/asset/audio/sfx/交互/第二章/进入胖子房间后单次播放.ogg.import b/asset/audio/sfx/交互/第二章/进入胖子房间后单次播放.ogg.import new file mode 100644 index 00000000..d6fe25b4 --- /dev/null +++ b/asset/audio/sfx/交互/第二章/进入胖子房间后单次播放.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://ciorujxybm1kh" +path="res://.godot/imported/进入胖子房间后单次播放.ogg-4dc4c5091566e2003c32e997d9f8244f.oggvorbisstr" + +[deps] + +source_file="res://asset/audio/sfx/交互/第二章/进入胖子房间后单次播放.ogg" +dest_files=["res://.godot/imported/进入胖子房间后单次播放.ogg-4dc4c5091566e2003c32e997d9f8244f.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/asset/dialogue/c03.csv b/asset/dialogue/c03.csv index 35fca80f..f884d233 100644 --- a/asset/dialogue/c03.csv +++ b/asset/dialogue/c03.csv @@ -11,12 +11,31 @@ For more information see the online documentation.,For more information see the (看病费用涨价,为了攒钱让小蝶上学,),(看病费用涨价,为了攒钱让小蝶上学,),陆仁,, (小蝶想请小蝉来家里吃饭,写了请柬),(小蝶想请小蝉来家里吃饭,写了请柬),小蝶,, (父母让小蝶去送请柬,顺便带肉回家做饭),(父母让小蝶去送请柬,顺便带肉回家做饭),陆仁,, + 棺材怪_1,好疼啊...,???,, + 棺材怪_2,我的儿啊,???,, + 棺材怪_3,求求你...,???,, + c03_棺材怪_1,好疼啊...,???,, + c03_棺材怪_2,我的儿啊,???,, + c03_棺材怪_3,求求你...,???,, +咱们看毛病的铜钱是不是要涨一涨了。,咱们看毛病的铜钱是不是要涨一涨了。,陆仁,, +现在外头的东西一天一个价,哪一样事情覅用铜钱?小蝶也到了要读书的年纪... [ID:],现在外头的东西一天一个价,哪一样事情覅用铜钱?小蝶也到了要读书的年纪... [ID:],陆仁,, +我们平头老百姓,总为以后打算的。 [ID:],我们平头老百姓,总为以后打算的。 [ID:],陆仁,, +个么...爸爸,前头侬答应过我的可以让小蝉来屋里厢吃饭的事情,还作数伐? [ID:],个么...爸爸,前头侬答应过我的可以让小蝉来屋里厢吃饭的事情,还作数伐? [ID:],小小蝶,, +作数,当然作数了。肉庄里的肉都订好了,就等着今朝去拿呢。 [ID:],作数,当然作数了。肉庄里的肉都订好了,就等着今朝去拿呢。 [ID:],陆仁,, +侬不是帮人家写了请贴吗?送好请贴回来的时候记得把肉带回来,千万覅忘记掉。 [ID:],侬不是帮人家写了请贴吗?送好请贴回来的时候记得把肉带回来,千万覅忘记掉。 [ID:],陆仁,, +有数!嘿嘿。 [ID:],有数!嘿嘿。 [ID:],小小蝶,, 那个...方叔叔,小蝉在吗? [ID:],那个...方叔叔,小蝉在吗? [ID:],小小蝶,, 咳咳,她,咳咳,不在。 [ID:],咳咳,她,咳咳,不在。 [ID:],瞎子,, 她是生病了吗,好几天没见她了。 [ID:],她是生病了吗,好几天没见她了。 [ID:],小小蝶,, 她... [ID:],她... [ID:],瞎子,, 我挨家挨户地问啊,都说没看见她。 [ID:],我挨家挨户地问啊,都说没看见她。 [ID:],瞎子,, 一个活生生的小孩子,就这么找不见了... [ID:],一个活生生的小孩子,就这么找不见了... [ID:],瞎子,, +哪能嘎像的,像活过来了一样... [ID:],哪能嘎像的,像活过来了一样... [ID:],肉铺胖子,, +册那!现在赎药还要多收铜钱啊?老板大概落了铜钱眼里去了! [ID:],册那!现在赎药还要多收铜钱啊?老板大概落了铜钱眼里去了! [ID:],李氏,, +生活都做好了伐? [ID:],生活都做好了伐? [ID:],癞子,, +好了么走了,搓麻将去了!张老板,三缺一! [ID:],好了么走了,搓麻将去了!张老板,三缺一! [ID:],癞子,, +一天天就想刮我身上这点油水了! [ID:],一天天就想刮我身上这点油水了! [ID:],肉铺胖子,, +唉,走,过过手念头过过手念头! [ID:],唉,走,过过手念头过过手念头! [ID:],肉铺胖子,, c03_理发店_癞子_8,我家那个昨天想拿推子给我剃头,差点给我开了瓢!,癞子,, c03_理发店_癞子_9,你瞅瞅,这么长一道血印子!唉呀...,癞子,, c03_理发店_瞎子_15,可不能这么说。,瞎子,, @@ -29,7 +48,7 @@ c03_理发店_癞子_12,妇人家家的,不知道从哪打听到用男人的 c03_理发店_癞子_13,...你听过这说法没有?,癞子,, c03_理发店_瞎子_19,我不懂医,不好乱说。,瞎子,, c03_理发店_癞子_14,最近街上也是彻底乱了套,那些人看见你留了“阴阳头”,就跟那闻着味儿的狗一样凑过来...,癞子,, -c03_理发店_癞子_15,哦,瞧我这记性,忘了你眼神不好,不爱出门。,癞子,, +c03_理发店_癞子_15,哦,瞧我这记性,忘了你眼神不好,不爱出门。,癞子,,[#wait=1.5] c03_理发店_小小蝶_5,方叔叔,我来找小蝉玩儿,她在屋里吗?,小小蝶,, c03_理发店_瞎子_20,她摔了一跤,还睡着呢,我喊她起来?,瞎子,, c03_理发店_小小蝶_6,不用不用,我在这等一会儿就行。,小小蝶,, @@ -89,3 +108,74 @@ c03_理发店_小小蝶_7,谢谢方叔叔。,小小蝶,, 我也得早点回去,没准小蝉今儿个能回来,我总惦记着回去看看。,我也得早点回去,没准小蝉今儿个能回来,我总惦记着回去看看。,瞎子,, 天黑了,你们回去都小心着点。,天黑了,你们回去都小心着点。,李氏,, 嘶...,嘶...,癞子,, +侬叫我哪能相信伐子!,侬叫我哪能相信伐子!,李氏,, +我阿弟只有十六岁,又不吃香烟不吃老酒不打牌,脾气也好,都讲他下趟老有出息的!,我阿弟只有十六岁,又不吃香烟不吃老酒不打牌,脾气也好,都讲他下趟老有出息的!,李氏,, +哪能就、就...(哽咽、抽泣声),哪能就、就...(哽咽、抽泣声),李氏,, +一开始小阿弟身体确实好了较关,吃的落困的着,帮老早差不多了。,一开始小阿弟身体确实好了较关,吃的落困的着,帮老早差不多了。,癞子,, +结果开心了没几天,突然(了么生头)人就没了,连句闲话都没讲。,结果开心了没几天,突然(了么生头)人就没了,连句闲话都没讲。,癞子,, +这就是人家说的“回光返照”(“回光返照”可用带重庆口音的普通话或直接普通话)。,这就是人家说的“回光返照”(“回光返照”可用带重庆口音的普通话或直接普通话)。,癞子,, +毛病重的人要死之前精神头会的变好的,帮正常人差不多的,时间到了,就一脚去了。,毛病重的人要死之前精神头会的变好的,帮正常人差不多的,时间到了,就一脚去了。,癞子,, +是不是这方子拿我们阿弟吃死掉了,我就讲好好叫的人哪能一记头就没了...,是不是这方子拿我们阿弟吃死掉了,我就讲好好叫的人哪能一记头就没了...,李氏,, +要是平常时间,我肯定不会瞎讲八讲的。,要是平常时间,我肯定不会瞎讲八讲的。,瞎子,, +不过看你们这副样子,我也就不瞒你们了。,不过看你们这副样子,我也就不瞒你们了。,瞎子,, +去年子我算过一趟,你们阿弟的面相长寿的,照道理讲...不应该现在死呀。,去年子我算过一趟,你们阿弟的面相长寿的,照道理讲...不应该现在死呀。,瞎子,, +覅让我知道是啥人,否则我就弄杀特他!,覅让我知道是啥人,否则我就弄杀特他!,李氏,, +方大哥,(压低声音)阿哥,侬看出点啥了伐?,方大哥,(压低声音)阿哥,侬看出点啥了伐?,李氏,, +这种事情就算我晓得,也不好教你们去害人的。,这种事情就算我晓得,也不好教你们去害人的。,瞎子,, +你们好跑了,我还要去问问告示都贴完了伐,不够的闲话还要再写两张...,你们好跑了,我还要去问问告示都贴完了伐,不够的闲话还要再写两张...,瞎子,, +咦?哪能没开门?不应该啊...,咦?哪能没开门?不应该啊...,陆仁,, +张老板?张老板?,张老板?张老板?,陆仁,, +...,...,陆仁,, +算了,有可能人家办事去了,咱们过两天再来伐。,算了,有可能人家办事去了,咱们过两天再来伐。,陆仁,, +老板就在店里厢呀。,老板就在店里厢呀。,小小蝶,, +侬这孩子,啥人讲给你听的?,侬这孩子,啥人讲给你听的?,陆仁,, +喏,是它讲的呀。,喏,是它讲的呀。,小小蝶,, +侬要是不相信么,我现在就问问它,老板到底在啥地方...,侬要是不相信么,我现在就问问它,老板到底在啥地方...,小小蝶,, +爸爸,它讲,它晓得小蝉在啥地方。,爸爸,它讲,它晓得小蝉在啥地方。,小小蝶,, +侬覅、(深吸一口气)这种鬼出莫辩(句测老逼)的事情伐好瞎讲的,听到了伐!,侬覅、(深吸一口气)这种鬼出莫辩(句测老逼)的事情伐好瞎讲的,听到了伐!,陆仁,, +c03_棺材怪_1,好疼啊...,???,, +c03_棺材怪_2,我的儿啊,???,, +c03_棺材怪_3,求求你...,???,, +侬哪能又来了。,侬哪能又来了。,探子,, +侬在看啥?,侬在看啥?,肉铺胖子,, +看人家过河帮,吃力(撒度)了就算算加减法。,看人家过河帮,吃力(撒度)了就算算加减法。,探子,, +格搭除了我们,啥还有其他人阿?,格搭除了我们,啥还有其他人阿?,肉铺胖子,, +文开呀,人家都讲你港,讲的真的一点不错。,文开呀,人家都讲你港,讲的真的一点不错。,探子,, +他们就是老早死在河帮里厢的人呀!,他们就是老早死在河帮里厢的人呀!,探子,, +要不是你们拦了嘿,他们老早就跑掉了。,要不是你们拦了嘿,他们老早就跑掉了。,探子,, +跑?跑到啥方去啊?,跑?跑到啥方去啊?,肉铺胖子,, +跑到外地去,讲不定就死不掉了呢。,跑到外地去,讲不定就死不掉了呢。,探子,, +...侬跟他们不一样。,...侬跟他们不一样。,肉铺胖子,, +对额!想当初侬一记头就看出来我是细作。,对额!想当初侬一记头就看出来我是细作。,探子,, +侬有点小聪明的,想拿我抓回去,也好吃顿饱饭。,侬有点小聪明的,想拿我抓回去,也好吃顿饱饭。,探子,, +不过侬太年轻、人么又瘦,就这样一趟翻身的机会侬浪费掉了。,不过侬太年轻、人么又瘦,就这样一趟翻身的机会侬浪费掉了。,探子,, +但是要我讲哦,最最重要的是啥东西侬晓得哇...,但是要我讲哦,最最重要的是啥东西侬晓得哇...,探子,, +要讲就讲,别装模作样。,要讲就讲,别装模作样。,肉铺胖子,, +侬跟他们一样,这条河帮你也过不过去的。,侬跟他们一样,这条河帮你也过不过去的。,探子,, +作孽啊...,作孽啊...,探子,, +喏,侬的玻璃弹子,我帮侬拿回来了。,喏,侬的玻璃弹子,我帮侬拿回来了。,小小蝶,, +谢谢。,谢谢。,小蝉,, +你的弹子老好看的,我从来没看到过这种样子的。,你的弹子老好看的,我从来没看到过这种样子的。,小小蝶,, +...侬要欢喜,我就送给侬。,...侬要欢喜,我就送给侬。,小蝉,, +谢谢侬,但是我(阿拉)爸不让我玩这个。,谢谢侬,但是我(阿拉)爸不让我玩这个。,小小蝶,, +他老是讲小姑娘要文一点,要有小姑娘的样子,其实...我玻璃弹子打的比他们好的多呢。,他老是讲小姑娘要文一点,要有小姑娘的样子,其实...我玻璃弹子打的比他们好的多呢。,小小蝶,, +...你(呐)爸爸呢?,...你(呐)爸爸呢?,小小蝶,, +嗯...他蛮好的。,嗯...他蛮好的。,小蝉,, +他管侬管的紧哇,是不是经常会的讲‘都是为了侬好’这种闲话啊?,他管侬管的紧哇,是不是经常会的讲‘都是为了侬好’这种闲话啊?,小小蝶,, +有时候(辰光)会的,他蛮吓人的。,有时候(辰光)会的,他蛮吓人的。,小蝉,, +我、我不想惹(za)他不开心。,我、我不想惹(za)他不开心。,小蝉,, +还是当大人好。等我们长大了,就没人再讲咱们是一懂不懂的小朋友了。,还是当大人好。等我们长大了,就没人再讲咱们是一懂不懂的小朋友了。,小小蝶,, +到那个时候,我欢喜撒就组撒、伐想组就伐组,彻底解放了!,到那个时候,我欢喜撒就组撒、伐想组就伐组,彻底解放了!,小小蝶,, +真好啊。,真好啊。,小蝉,, +诶,我马上就要过生日了!侬想...咦,妈妈,侬哪能来了?,诶,我马上就要过生日了!侬想...咦,妈妈,侬哪能来了?,小小蝶,, +那个,这是我刚刚认识的好朋友,她叫、她叫...,那个,这是我刚刚认识的好朋友,她叫、她叫...,小小蝶,, +我叫方小蝉。,我叫方小蝉。,小蝉,, +阿姨,你们是伐是要回起吃饭啦,我爸爸...等些阿要叫我回起了。,阿姨,你们是伐是要回起吃饭啦,我爸爸...等些阿要叫我回起了。,小蝉,, +再、再见。,再、再见。,小蝉,, +我要是还活着…就能拉你起来了,我要是还活着…就能拉你起来了,小蝉,, +方小蝉?我好像…想起你是谁了…,方小蝉?我好像…想起你是谁了…,小蝶,, +嗯…那你可以…离开这里了吗?,嗯…那你可以…离开这里了吗?,小蝉,, +是否答应小蝉离开这里?,是否答应小蝉离开这里?,,, +是,是,(response),, +否,否,(response),, +你…为什么要…诶?,你…为什么要…诶?,小蝶,, diff --git a/asset/dialogue/c03.dialogue b/asset/dialogue/c03.dialogue index bb91f215..68c17921 100644 --- a/asset/dialogue/c03.dialogue +++ b/asset/dialogue/c03.dialogue @@ -192,6 +192,12 @@ 陆仁: 侬覅、(深吸一口气)这种鬼出莫辩(句测老逼)的事情伐好瞎讲的,听到了伐! => END +~ c03_棺材怪 +# 不使用字幕 +???: 好疼啊... [ID:c03_棺材怪_1] +???: 我的儿啊 [ID:c03_棺材怪_2] +???: 求求你... [ID:c03_棺材怪_3] +=> END ~ c03_胖子游戏对白 探子: 侬哪能又来了。 diff --git a/asset/dialogue/event_stage.csv b/asset/dialogue/event_stage.csv deleted file mode 100644 index 7b129b70..00000000 --- a/asset/dialogue/event_stage.csv +++ /dev/null @@ -1 +0,0 @@ -keys,zh_CN,_character,_notes,_tags diff --git a/asset/dialogue/event_stage.csv.import b/asset/dialogue/event_stage.csv.import deleted file mode 100644 index 1d6b13b9..00000000 --- a/asset/dialogue/event_stage.csv.import +++ /dev/null @@ -1,17 +0,0 @@ -[remap] - -importer="csv_translation" -type="Translation" -uid="uid://biw8l6b4d3v3j" - -[deps] - -files=["res://asset/dialogue/event_stage.zh_CN.translation"] - -source_file="res://asset/dialogue/event_stage.csv" -dest_files=["res://asset/dialogue/event_stage.zh_CN.translation"] - -[params] - -compress=true -delimiter=0 diff --git a/asset/dialogue/event_stage.dialogue b/asset/dialogue/event_stage.dialogue index 20e429fd..0b81e6e8 100644 --- a/asset/dialogue/event_stage.dialogue +++ b/asset/dialogue/event_stage.dialogue @@ -15,6 +15,7 @@ c03_s01_meat_put: 0:初始化 1:已放肉 c03_invite_xchan_supper: 0:初始化 1:已偷听_需邀请 2:完成邀请_待交互小猫 3:已交互小猫 4:已拿钥匙 # 理发店剪辫子 c03_s03_laizi_braid: 0:初始化 1:已剪下辫子 2:演出结束 +c03_s03_laizi_breath: 0:初始化 1:划伤_呼吸结束 # 二楼瞎子偷听&挡路纸人 c03_f2_madman_runaway: 0:初始化 1:跑开_纸人挡路 2:消除纸人 c03_invite_xchan_supper=4 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2 diff --git a/asset/dialogue/item_description.csv b/asset/dialogue/item_description.csv index 14aa9fd0..d536e3a6 100644 --- a/asset/dialogue/item_description.csv +++ b/asset/dialogue/item_description.csv @@ -109,14 +109,14 @@ prop_一把香,一把香,,,[#texture=c03/一把香.png],,Bundle of Incense prop_一把香_说明,三炷细香捆成一束,香头微微发黑,散发着淡淡的檀木气息,,,,, prop_麻将2,麻将(二),,,[#texture=c03/麻将2.png][#inspect=c03/ux_麻将2.png],, prop_麻将2_说明,上面的幺鸡图是鸟和鸡的组合,幺字在南方的方言中有一的意思,,,,, -prop_一碗浆糊,一碗浆糊,,,[#texture=c03/一碗浆糊.png][#inspect=c03/ux_一碗浆糊.png],, -prop_一碗浆糊_说明,用面粉调制的黏糊糊的浆液,表面已经结了一层薄膜,,,,, +prop_浆糊,一碗浆糊,,,[#texture=c03/一碗浆糊.png][#inspect=c03/ux_一碗浆糊.png],, +prop_浆糊_说明,用面粉调制的黏糊糊的浆液,表面已经结了一层薄膜,,,,, prop_纸舌头,纸舌头,,,[#texture=c03/下半部的舌头.png][#inspect=c03/ux_下半部的舌头.png],, prop_纸舌头_说明,用红纸剪成的舌头形状,边缘参差不齐,像是匆忙剪下的,,,,, prop_刀把,刀把,,,[#texture=c03/刀把.png][#inspect=c03/ux_刀把.png],, prop_刀把_说明,木质刀柄,表面磨得发亮,刀身不知去向,,,,, -prop_剪下的辫子,剪下的辫子,,,[#texture=c03/剪下的辫子.png][#inspect=c03/ux_剪下的辫子.png],, -prop_剪下的辫子_说明,王守义的辫子,是他极其宝贝之物,油亮浓密,没生虱子,,,,, +prop_辫子,剪下的辫子,,,[#texture=c03/剪下的辫子.png][#inspect=c03/ux_剪下的辫子.png],, +prop_辫子_说明,王守义的辫子,是他极其宝贝之物,油亮浓密,没生虱子,,,,, prop_纸铜钱1,纸铜钱,,,[#texture=c03/纸铜钱1.png][#inspect=c03/ux_纸铜钱1.png],, prop_纸铜钱1_说明,用黄纸剪成的圆形铜钱,中间有方孔,做工颇为精细,,,,, prop_2个纸铜钱,一对纸铜钱,,,[#texture=c03/2个纸铜钱.png],, diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue index ca26fa00..20452ba1 100644 --- a/asset/dialogue/item_description.dialogue +++ b/asset/dialogue/item_description.dialogue @@ -44,7 +44,6 @@ 按 E 可与场景互动 [ID:ui_center_notify_press_e_to_interact] 按 Q 可退出 [ID:ui_center_notify_press_q_to_exit] 按 E 使用道具 [ID:ui_center_notify_use_prop] -需要剪刀 [ID:ui_center_notify_lack_of_scissor] 按 N 查看线索笔记 [ID:ui_center_notify_check_note] 按 B 查看重要物品 [ID:ui_center_notify_check_bag] 右键点击可检阅道具 [ID:ui_center_notify_right_click_prop] @@ -56,6 +55,7 @@ 点击选择信件碎片,方向键移动,E 旋碎片转,Q 退出 [ID:input_拼凑信件] 点击书本可选中或交换,Q 退出 [ID:input_书架游戏] # c03 +需要剪刀 [ID:ui_center_notify_lack_of_scissor] 还缺一块麻将 [ID:input_麻将游戏_麻将不足] 取出「三筒」开启整理 [ID:input_麻将整理游戏_开始方式] 依次点击两块麻将可进行交换 [ID:input_麻将游戏_交换规则] @@ -133,14 +133,14 @@ 三炷细香捆成一束,香头微微发黑,散发着淡淡的檀木气息 [ID:prop_一把香_说明] 麻将(二) [#texture=c03/麻将2.png] [#inspect=c03/ux_麻将2.png] [ID:prop_麻将2] 上面的幺鸡图是鸟和鸡的组合,幺字在南方的方言中有一的意思 [ID:prop_麻将2_说明] -一碗浆糊 [#texture=c03/一碗浆糊.png] [#inspect=c03/ux_一碗浆糊.png] [ID:prop_一碗浆糊] -用面粉调制的黏糊糊的浆液,表面已经结了一层薄膜 [ID:prop_一碗浆糊_说明] +一碗浆糊 [#texture=c03/一碗浆糊.png] [#inspect=c03/ux_一碗浆糊.png] [ID:prop_浆糊] +用面粉调制的黏糊糊的浆液,表面已经结了一层薄膜 [ID:prop_浆糊_说明] 纸舌头 [#texture=c03/下半部的舌头.png][#inspect=c03/ux_下半部的舌头.png] [ID:prop_纸舌头] 用红纸剪成的舌头形状,边缘参差不齐,像是匆忙剪下的 [ID:prop_纸舌头_说明] 刀把 [#texture=c03/刀把.png][#inspect=c03/ux_刀把.png] [ID:prop_刀把] 木质刀柄,表面磨得发亮,刀身不知去向 [ID:prop_刀把_说明] -剪下的辫子 [#texture=c03/剪下的辫子.png][#inspect=c03/ux_剪下的辫子.png] [ID:prop_剪下的辫子] -王守义的辫子,是他极其宝贝之物,油亮浓密,没生虱子 [ID:prop_剪下的辫子_说明] +剪下的辫子 [#texture=c03/剪下的辫子.png][#inspect=c03/ux_剪下的辫子.png] [ID:prop_辫子] +王守义的辫子,是他极其宝贝之物,油亮浓密,没生虱子 [ID:prop_辫子_说明] 纸铜钱 [#texture=c03/纸铜钱1.png][#inspect=c03/ux_纸铜钱1.png] [ID:prop_纸铜钱1] 用黄纸剪成的圆形铜钱,中间有方孔,做工颇为精细 [ID:prop_纸铜钱1_说明] 一对纸铜钱 [#texture=c03/2个纸铜钱.png] [ID:prop_2个纸铜钱] diff --git a/config/audio/sfx/footstep_meow.tres b/config/audio/sfx/footstep_meow.tres index fd21182e..1046cb74 100644 --- a/config/audio/sfx/footstep_meow.tres +++ b/config/audio/sfx/footstep_meow.tres @@ -8,4 +8,5 @@ [resource] script = ExtResource("1_xb1uk") audios = Array[AudioStream]([ExtResource("1_2gs13"), ExtResource("2_rf711"), ExtResource("3_xgf5m")]) +db = 0 metadata/_custom_type_script = "uid://bgxi2pq6x5d88" diff --git a/config/audio/sfx/footstep_室外.tres b/config/audio/sfx/footstep_室外.tres index fd99d0e7..089ab3d7 100644 --- a/config/audio/sfx/footstep_室外.tres +++ b/config/audio/sfx/footstep_室外.tres @@ -8,4 +8,4 @@ [resource] script = ExtResource("4_6irvv") audios = Array[AudioStream]([ExtResource("1_pfw3x"), ExtResource("2_gcvrs"), ExtResource("3_0un37")]) -db = -7.0 \ No newline at end of file +db = -7.0 diff --git a/manager/event_manager/event2d.gd b/manager/event_manager/event2d.gd index 8e9160e3..220623f7 100644 --- a/manager/event_manager/event2d.gd +++ b/manager/event_manager/event2d.gd @@ -156,7 +156,7 @@ func _create_script(): if len(chapter) != 3 or len(section) != 3: printerr("[Event2D] ground scene_name error: %s" % ground.scene_name) return - var file_name = section + "_" + name.to_snake_case() + ".gd" + var file_name = section + "_" + name.replace("Event2D", "Event").to_snake_case() + ".gd" var path = script_root_dir + chapter + "/" + file_name if FileAccess.file_exists(path): print("file exists, reattach the script to node: %s" % path) diff --git a/manager/event_manager/event_binder.gd b/manager/event_manager/event_binder.gd index 65e1eb6c..d37a6366 100644 --- a/manager/event_manager/event_binder.gd +++ b/manager/event_manager/event_binder.gd @@ -8,7 +8,7 @@ class_name EventBinder extends Node updater_event = val if is_node_ready() and Engine.is_editor_hint(): _auto_memo() -@export_enum("enabler", "shower", "opener") var updater_mode := "enabler": +@export_enum("enabler", "unfreezer", "player", "shower", "opener") var updater_mode := "enabler": set(val): if updater_mode != val: updater_mode = val @@ -121,6 +121,16 @@ func _update_binding_state(stage: int): # check updater_mode if updater_mode == "enabler": parent.enabled = updater_status + elif updater_mode == "unfreezer": + parent.set("freezing", not updater_status) + elif updater_mode == "player": + if updater_status: + parent.play() + else: + if parent is Sfx2D: + parent.easing_kill() + else: + parent.stop() elif updater_mode == "opener": # open portal parent.status = "opened" if updater_status else "locked" @@ -204,6 +214,10 @@ func _auto_memo() -> void: memo_str += "显示" elif updater_mode == "enabler": memo_str += "启用" + elif updater_mode == "unfreezer": + memo_str += "解冻" + elif updater_mode == "player": + memo_str += "播放" elif updater_mode == "opener": memo_str += "打开" else: diff --git a/scene/entity/audio/sfx2d.gd b/scene/entity/audio/sfx2d.gd index a1c0a055..272dd065 100644 --- a/scene/entity/audio/sfx2d.gd +++ b/scene/entity/audio/sfx2d.gd @@ -70,6 +70,9 @@ func global_play() -> void: func easing_kill(duration: float = 2.0) -> Tween: + timer.stop() + if not playing: + return # stop with easing var tween = create_tween() tween.bind_node(self) @@ -91,4 +94,4 @@ func change_volumn_db(changed_volumn_db: float, duration := 1.0) -> void: func reset_volumn_to_default(duration := 1.0) -> void: var tween = create_tween() - tween.tween_property(self, "volume_linear", default_linear, duration) \ No newline at end of file + tween.tween_property(self, "volume_linear", default_linear, duration) diff --git a/scene/ground/scene/c02/s02_过道.gd b/scene/ground/scene/c02/s02_过道.gd index d6165991..80f3a3f6 100644 --- a/scene/ground/scene/c02/s02_过道.gd +++ b/scene/ground/scene/c02/s02_过道.gd @@ -125,7 +125,11 @@ func _display_paper_man(play_sfx := true): # paper_man.enabled = true if play_sfx: paper_man.get_node("Sfx").play() - paper_man.get_node("wall/CollisionShape2D").disabled = false + # 第一章阻挡,第二章不阻挡并且左右镜像 + if 2 <= EventManager.get_chapter_stage(): + paper_man.flip_h = false + else: + paper_man.get_node("wall/CollisionShape2D").disabled = true func _on_try_exit(): diff --git a/scene/ground/scene/c02/s03_院子.tscn b/scene/ground/scene/c02/s03_院子.tscn index b8d4c2e7..83294369 100644 --- a/scene/ground/scene/c02/s03_院子.tscn +++ b/scene/ground/scene/c02/s03_院子.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=99 format=3 uid="uid://djc2uaefhmu7"] +[gd_scene load_steps=100 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"] @@ -73,6 +73,7 @@ [ext_resource type="SpriteFrames" uid="uid://vadgcpixpkj1" path="res://asset/art/gif/c03_一楼胖李癞/c03_一楼胖李癞_frames.tres" id="66_deuom"] [ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="67_h2lyo"] [ext_resource type="Script" uid="uid://cts4fvgir2lur" path="res://scene/ground/script/c02/s03_event_2d第二章结束井边演出.gd" id="72_18q2p"] +[ext_resource type="Script" uid="uid://bkkiyk5jkdw4d" path="res://manager/event_manager/event2d.gd" id="73_lt8c0"] [sub_resource type="Animation" id="Animation_rt2lh"] length = 0.001 @@ -788,7 +789,7 @@ one_shot_max_times = 3 disable_prop_after_interacted = true prop_key = "prop_3个纸铜钱" prop_key2 = "prop_药方" -prop_key3 = "prop_剪下的辫子" +prop_key3 = "prop_辫子" [node name="Closeup抓药游戏" parent="Ground/DeployLayer/Event2D抓药游戏/药车_老板" instance=ExtResource("23_81juy")] position = Vector2(1058, 30) @@ -1206,7 +1207,7 @@ position = Vector2(1964, -209) [node name="Pickable浆糊" parent="Ground/DeployLayer" index="36" instance=ExtResource("7_em2ma")] position = Vector2(774, 64) texture = ExtResource("64_deuom") -prop_key = "prop_一碗浆糊" +prop_key = "prop_浆糊" [node name="EventBinder" type="Node" parent="Ground/DeployLayer/Pickable浆糊"] script = ExtResource("12_2b6vx") @@ -1303,6 +1304,45 @@ animation = &"小婵呼吸" script = ExtResource("67_h2lyo") metadata/_custom_type_script = "uid://cphfob11f7atx" +[node name="Event2D第二章_纸人" type="Node2D" parent="Ground/DeployLayer" index="39"] +script = ExtResource("73_lt8c0") +event_name = &"current_chapter_stage" +event_stages = Array[int]([3]) +metadata/_custom_type_script = "uid://bkkiyk5jkdw4d" + +[node name="排队常人" type="Sprite2D" parent="Ground/DeployLayer/Event2D第二章_纸人"] +visible = false +light_mask = 5 +z_index = 4 +position = Vector2(1227.5, -119) +texture = ExtResource("18_crgo6") +centered = false + +[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Event2D第二章_纸人/排队常人"] +script = ExtResource("12_2b6vx") +updater_event = &"c03_drug_game" +updater_mode = "shower" +updater_ease_duration = 0.0 +updater_stages = Array[int]([0]) +metadata/_custom_type_script = "uid://0wjaho6qkg6s" + +[node name="排队纸人" type="Sprite2D" parent="Ground/DeployLayer/Event2D第二章_纸人"] +visible = false +light_mask = 5 +z_index = 4 +position = Vector2(1227.5, -119) +texture = ExtResource("19_vddfx") +centered = false + +[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Event2D第二章_纸人/排队纸人"] +script = ExtResource("12_2b6vx") +updater_event = &"c03_drug_game" +updater_mode = "shower" +updater_ease_duration = 0.0 +updater_stage_mode = "exclude" +updater_stages = Array[int]([0]) +metadata/_custom_type_script = "uid://0wjaho6qkg6s" + [node name="PointLight2D" type="PointLight2D" parent="Ground/AmbientLayer" index="0"] light_mask = 4 position = Vector2(2189, -142) diff --git a/scene/ground/scene/c03/s02_瞎子新卧室.gd b/scene/ground/scene/c03/s02_瞎子新卧室.gd index 3c94ad0b..4934ba76 100644 --- a/scene/ground/scene/c03/s02_瞎子新卧室.gd +++ b/scene/ground/scene/c03/s02_瞎子新卧室.gd @@ -43,7 +43,6 @@ func _on_ground_ready() -> void: 煤油灯.lighted.connect(_gaslight_up, CONNECT_ONE_SHOT) else: closeup洋糕点.enabled = true - if ambush小猫挠墙.played: ambush小猫挠墙.visible = false pickable李癞钥匙.visible = true diff --git a/scene/ground/scene/c03/s02_瞎子新卧室.tscn b/scene/ground/scene/c03/s02_瞎子新卧室.tscn index f23885ae..4a04c9de 100644 --- a/scene/ground/scene/c03/s02_瞎子新卧室.tscn +++ b/scene/ground/scene/c03/s02_瞎子新卧室.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=37 format=3 uid="uid://ctwy1ubhm68la"] +[gd_scene load_steps=38 format=3 uid="uid://ctwy1ubhm68la"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_jad6f"] [ext_resource type="Script" uid="uid://tk4wg0i4payx" path="res://scene/ground/scene/c03/s02_瞎子新卧室.gd" id="2_y504i"] [ext_resource type="AudioStream" uid="uid://6gttowdwmado" path="res://asset/audio/sfx/环境音/第一章/房间内部场景1.ogg" id="3_5cqb4"] [ext_resource type="Texture2D" uid="uid://vc2hn6t5bedg" path="res://asset/art/scene/c03/s02_瞎子新卧室/bg_瞎子新卧室.png" id="4_hehhg"] +[ext_resource type="AudioStream" uid="uid://d3yc0gbgivrjb" path="res://asset/audio/sfx/交互/第二章/sfx瞎子卧室灰姑.ogg" id="5_5cqb4"] [ext_resource type="Texture2D" uid="uid://7ay1ttob8qwm" path="res://asset/art/scene/c02/s08_瞎子卧室/e_床板.png" id="5_xifhb"] [ext_resource type="Texture2D" uid="uid://bgtxwxerl2dxh" path="res://asset/art/scene/c02/s08_瞎子卧室/十字架.png" id="6_hehhg"] [ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="6_jad6f"] @@ -329,7 +330,8 @@ sprite_frames = ExtResource("10_2hv3f") animation = &"姑散开" autoplay = "姑呼吸帧" -[node name="Sfx老鼠精" type="AudioStreamPlayer" parent="Ground/DeployLayer/Event2D偷听陆仁对话后"] +[node name="Sfx灰姑出场" type="AudioStreamPlayer" parent="Ground/DeployLayer/Event2D偷听陆仁对话后"] +stream = ExtResource("5_5cqb4") bus = &"game_sfx" script = ExtResource("23_qq2pn") metadata/_custom_type_script = "uid://rq6w1vuhuq1m" diff --git a/scene/ground/scene/c03/s03_瞎子理发店.tscn b/scene/ground/scene/c03/s03_瞎子理发店.tscn index 42e1c61e..4dd4dc92 100644 --- a/scene/ground/scene/c03/s03_瞎子理发店.tscn +++ b/scene/ground/scene/c03/s03_瞎子理发店.tscn @@ -1,14 +1,17 @@ -[gd_scene load_steps=23 format=3 uid="uid://bsqt2c061fmin"] +[gd_scene load_steps=26 format=3 uid="uid://bsqt2c061fmin"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_40yjl"] [ext_resource type="Script" uid="uid://cim5bqm2nayls" path="res://scene/ground/scene/c03/s03_瞎子理发店.gd" id="2_irgvj"] [ext_resource type="AudioStream" uid="uid://b2mudqvq1dmng" path="res://asset/audio/sfx/环境音/白噪音/白噪声房间里1.ogg" id="3_o1s27"] [ext_resource type="Texture2D" uid="uid://lglbxvvwsybj" path="res://asset/art/scene/c03/s03_瞎子理发店/bg_瞎子理发店.png" id="4_40yjl"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_ikkg3"] +[ext_resource type="PackedScene" uid="uid://bq1ngudr2hnkg" path="res://scene/entity/audio/sfx2d.tscn" id="5_cdaxx"] [ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="5_d40x1"] [ext_resource type="Texture2D" uid="uid://7ujobcsjdm4r" path="res://asset/art/scene/c03/s03_瞎子理发店/fg_理发店前景.png" id="5_irgvj"] [ext_resource type="PackedScene" uid="uid://bnoqhovb0wjem" path="res://scene/ground/script/c03/s03_closeup镜子特写.tscn" id="6_j7tjd"] +[ext_resource type="AudioStream" uid="uid://mff0udi3glb4" path="res://asset/audio/sfx/交互/第一章/瞎子房间癞子呼吸.ogg" id="6_xevnq"] [ext_resource type="Texture2D" uid="uid://0p78wjtm30rm" path="res://asset/art/scene/c03/s03_瞎子理发店/e_理发店剪贴画报.png" id="7_dcuy3"] +[ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="7_xevnq"] [ext_resource type="PackedScene" uid="uid://dohvkxfdmcrw4" path="res://scene/ground/script/c03/s03_刮海报_理发店.tscn" id="8_xtr6o"] [ext_resource type="PackedScene" uid="uid://d320nw5yrmvjo" path="res://scene/ground/script/c03/s03_closeup癞子纸人.tscn" id="9_4imwu"] [ext_resource type="Texture2D" uid="uid://bv5vcrdqwtlm3" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子纸人.png" id="9_bdtls"] @@ -48,6 +51,21 @@ mode = "场景背景音" "感应玩家操作" = false metadata/_custom_type_script = "uid://rq6w1vuhuq1m" +[node name="Sfx2d癞子呼吸声" parent="Ground/AnimationPlayer" index="1" instance=ExtResource("5_cdaxx")] +position = Vector2(343, 42) +stream = ExtResource("6_xevnq") +volume_db = -4.0 +max_distance = 1000.0 +attenuation = 3.0 +loop = true + +[node name="EventBinder" type="Node" parent="Ground/AnimationPlayer/Sfx2d癞子呼吸声"] +script = ExtResource("7_xevnq") +updater_event = &"c03_s03_laizi_breath" +updater_mode = "player" +updater_stages = Array[int]([0]) +metadata/_custom_type_script = "uid://0wjaho6qkg6s" + [node name="BGSprite2D" parent="Ground" index="2"] light_mask = 5 position = Vector2(9, 0) @@ -189,6 +207,7 @@ offset = Vector2(0, -11) points = PackedVector2Array(35, 151, 541, 151) [node name="DirectionalLight2D" parent="Ground" index="8"] +visible = false energy = 0.85 blend_mode = 1 diff --git a/scene/ground/scene/c03/s04_李癞房间.gd b/scene/ground/scene/c03/s04_李癞房间.gd index d4631fc9..9a45b806 100644 --- a/scene/ground/scene/c03/s04_李癞房间.gd +++ b/scene/ground/scene/c03/s04_李癞房间.gd @@ -14,7 +14,6 @@ func _ready() -> void: #region node_reference -var pickable药方: Pickable2D var closeup李氏纸人: Closeup2D var closeup麻将出千游戏: Closeup2D var closeup整理麻将游戏: Closeup2D @@ -23,7 +22,6 @@ var closeup整理麻将游戏: Closeup2D # 读取设置变量名 func _setup_node_reference() -> void: - pickable药方 = $"../DeployLayer/Pickable药方" closeup李氏纸人 = $"../DeployLayer/Closeup李氏纸人" closeup麻将出千游戏 = $"../DeployLayer/Closeup麻将出千游戏" closeup整理麻将游戏 = $"../DeployLayer/Closeup整理麻将游戏" @@ -41,11 +39,6 @@ func _on_ground_ready() -> void: SceneManager.toggle_hud_display(false) closeup整理麻将游戏.exit.connect(_on_exit_sort_mahjong_game) closeup麻将出千游戏.exit.connect(_on_exit_cheat_mahjong_game) - pickable药方.triggered.connect(_on_spec_picked, CONNECT_ONE_SHOT) - - -func _on_spec_picked() -> void: - EventManager.set_stage("c03_drug_game", 1) func _on_exit_sort_mahjong_game(arg) -> void: @@ -61,3 +54,8 @@ func _on_exit_cheat_mahjong_game(arg) -> void: EventManager.set_stage_if_greater("c03_mahjong_game", 3) EventManager.set_stage_if_greater("c03_li_paperwoman", 1) closeup麻将出千游戏.enabled = false + +# 招魂幡 +func on_spirit_flag_interacted() -> void: + $"../DeployLayer/Event李氏纸人相关/招魂幡".play() + $"Sfx招魂幡".play(2.3) diff --git a/scene/ground/scene/c03/s04_李癞房间.tscn b/scene/ground/scene/c03/s04_李癞房间.tscn index 0563a6dd..5a70abd1 100644 --- a/scene/ground/scene/c03/s04_李癞房间.tscn +++ b/scene/ground/scene/c03/s04_李癞房间.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=27 format=3 uid="uid://c7c88hg2cl1j7"] +[gd_scene load_steps=30 format=3 uid="uid://c7c88hg2cl1j7"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_byh4s"] [ext_resource type="Script" uid="uid://byw2swgt783oa" path="res://scene/ground/scene/c03/s04_李癞房间.gd" id="2_vjibx"] @@ -7,22 +7,25 @@ [ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="4_35fjj"] [ext_resource type="Texture2D" uid="uid://08xrgv7s4m4b" path="res://asset/art/scene/c03/s04_李癞房间/bg_癞子房间.png" id="4_byh4s"] [ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="5_4efpk"] +[ext_resource type="AudioStream" uid="uid://c68e38rel4xrs" path="res://asset/audio/sfx/交互/序章/sfx_鬼差出场.ogg" id="5_7jj1o"] [ext_resource type="Texture2D" uid="uid://bdtccpvbl7e7b" path="res://asset/art/scene/c03/s04_李癞房间/fg_李癞房间前景.png" id="5_vjibx"] [ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="6_dbkw8"] [ext_resource type="PackedScene" uid="uid://n75766ui6udi" path="res://scene/ground/script/c03/s04_closeup整理麻将游戏.tscn" id="7_jmyby"] [ext_resource type="PackedScene" uid="uid://cua3uqy4btxqn" path="res://scene/ground/script/c03/s04_closeup麻将出千游戏.tscn" id="8_jmyby"] [ext_resource type="PackedScene" uid="uid://dsa6frlw6e6gg" path="res://scene/entity/pickable.tscn" id="9_m8bf2"] [ext_resource type="PackedScene" uid="uid://t61o0vpm0e11" path="res://scene/ground/script/c03/s04_closeup李氏纸人.tscn" id="10_o2w5q"] -[ext_resource type="Script" uid="uid://bbfyvhhhcdet8" path="res://scene/ground/script/c03/s04_event_2d香炉.gd" id="11_4umel"] +[ext_resource type="Script" uid="uid://bbfyvhhhcdet8" path="res://scene/ground/script/c03/s04_event_李氏纸人相关.gd" id="11_4umel"] [ext_resource type="Texture2D" uid="uid://p7eeml2vadvc" path="res://asset/art/scene/c03/s04_李癞房间/李氏纸人.png" id="11_7d7lv"] [ext_resource type="Texture2D" uid="uid://cwrq3g5rd5i3t" path="res://asset/art/scene/c03/s04_李癞房间/花圈_无支撑.png" id="12_r0k7c"] +[ext_resource type="SpriteFrames" uid="uid://cmvr3lbwe3h7p" path="res://asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres" id="14_27fnr"] [ext_resource type="Texture2D" uid="uid://c1o30ess5p0ev" path="res://asset/art/scene/c03/s04_李癞房间/纸钱.png" id="14_ueha8"] -[ext_resource type="Texture2D" uid="uid://wtifvyytbb4t" path="res://asset/art/scene/c03/s04_李癞房间/招魂幡静态.png" id="15_r0k7c"] +[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="14_vgq24"] [ext_resource type="Texture2D" uid="uid://diimwy2vwda4i" path="res://asset/art/scene/c03/s04_李癞房间/丧事柜子部件.png" id="16_4umel"] [ext_resource type="PackedScene" uid="uid://bq1ngudr2hnkg" path="res://scene/entity/audio/sfx2d.tscn" id="16_drhpr"] [ext_resource type="AudioStream" uid="uid://qvy062jtmtbn" path="res://asset/audio/mixkit/mixkit-man-coughing-2224.ogg" id="17_tk48j"] [ext_resource type="AudioStream" uid="uid://copg4yfv32fgn" path="res://asset/audio/mixkit/mixkit-man-coughing-loud-2222.ogg" id="18_q7jtk"] [ext_resource type="AudioStream" uid="uid://cvp1j6211ghtj" path="res://asset/audio/mixkit/mixkit-sick-male-cough-2225.ogg" id="19_27fnr"] +[ext_resource type="AudioStream" uid="uid://bkbs5hwxuou4r" path="res://asset/audio/sfx/交互/第二章/李氏纸人呼吸.ogg" id="20_27fnr"] [ext_resource type="PackedScene" uid="uid://b6ymfeft65wof" path="res://scene/ground/script/c03/s04_closeup柜子.tscn" id="23_q7jtk"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"] @@ -57,6 +60,12 @@ mode = "场景背景音" "感应玩家操作" = false metadata/_custom_type_script = "uid://rq6w1vuhuq1m" +[node name="Sfx招魂幡" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="1"] +stream = ExtResource("5_7jj1o") +bus = &"game_sfx" +script = ExtResource("4_0jb1q") +metadata/_custom_type_script = "uid://rq6w1vuhuq1m" + [node name="BGSprite2D" parent="Ground" index="2"] light_mask = 5 texture = ExtResource("4_byh4s") @@ -94,33 +103,41 @@ enabled = false position = Vector2(537, 55) prop_key = "prop_2013钥匙" -[node name="Event2D给药完成" type="Node2D" parent="Ground/DeployLayer" index="6"] +[node name="Event李氏纸人相关" type="Node2D" parent="Ground/DeployLayer" index="6"] script = ExtResource("11_4umel") event_name = &"c03_li_paperwoman" event_stages = Array[int]([3]) metadata/_custom_type_script = "uid://bkkiyk5jkdw4d" -[node name="Pickable香" parent="Ground/DeployLayer/Event2D给药完成" instance=ExtResource("9_m8bf2")] -position = Vector2(62, 31) +[node name="Pickable香" parent="Ground/DeployLayer/Event李氏纸人相关" instance=ExtResource("9_m8bf2")] +position = Vector2(47, 29) prop_key = "prop_一把香" -[node name="花圈" type="Sprite2D" parent="Ground/DeployLayer/Event2D给药完成"] +[node name="花圈" type="Sprite2D" parent="Ground/DeployLayer/Event李氏纸人相关"] position = Vector2(404, -33) texture = ExtResource("12_r0k7c") -[node name="纸钱" type="Sprite2D" parent="Ground/DeployLayer/Event2D给药完成"] +[node name="纸钱" type="Sprite2D" parent="Ground/DeployLayer/Event李氏纸人相关"] position = Vector2(316, 105) texture = ExtResource("14_ueha8") -[node name="招魂幡静态" type="Sprite2D" parent="Ground/DeployLayer/Event2D给药完成"] -position = Vector2(191, 10) -texture = ExtResource("15_r0k7c") +[node name="招魂幡" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event李氏纸人相关"] +position = Vector2(183, 10) +sprite_frames = ExtResource("14_27fnr") +animation = &"招魂幡" -[node name="丧事柜子部件" type="Sprite2D" parent="Ground/DeployLayer/Event2D给药完成"] +[node name="Ambush招魂幡" parent="Ground/DeployLayer/Event李氏纸人相关/招魂幡" instance=ExtResource("14_vgq24")] +position = Vector2(10, 19) +trigger_mode = "interact" +one_shot = false +cooldown_time = 2.0 +hook_method = "on_spirit_flag_interacted" + +[node name="丧事柜子部件" type="Sprite2D" parent="Ground/DeployLayer/Event李氏纸人相关"] position = Vector2(64, 46) texture = ExtResource("16_4umel") -[node name="Sfx2d咳嗽声" parent="Ground/DeployLayer/Event2D给药完成" instance=ExtResource("16_drhpr")] +[node name="Sfx2d咳嗽声" parent="Ground/DeployLayer/Event李氏纸人相关" instance=ExtResource("16_drhpr")] position = Vector2(-16, 17) stream = SubResource("AudioStreamRandomizer_vgq24") volume_db = -4.0 @@ -130,6 +147,15 @@ attenuation = 3.0 loop = true loop_round_time = 10.0 +[node name="Sfx2d纸人呼吸声" parent="Ground/DeployLayer/Event李氏纸人相关" instance=ExtResource("16_drhpr")] +position = Vector2(372, 18) +stream = ExtResource("20_27fnr") +volume_db = 10.0 +autoplay = false +max_distance = 1000.0 +attenuation = 3.0 +loop = true + [node name="Closeup李氏纸人" parent="Ground/DeployLayer" index="7" instance=ExtResource("6_dbkw8")] unique_name_in_owner = true position = Vector2(372, 40) @@ -143,17 +169,12 @@ updater_event = &"c03_li_paperwoman" updater_mode = "shower" updater_ease_duration = 0.0 updater_stage_mode = "exclude" -updater_stages = Array[int]([0, 3]) +updater_stages = Array[int]([0]) metadata/_custom_type_script = "uid://0wjaho6qkg6s" -[node name="Pickable药方" parent="Ground/DeployLayer" index="8" instance=ExtResource("9_m8bf2")] +[node name="Closeup柜子" parent="Ground/DeployLayer" index="8" instance=ExtResource("6_dbkw8")] unique_name_in_owner = true -position = Vector2(76, 42) -prop_key = "prop_药方" - -[node name="Closeup柜子" parent="Ground/DeployLayer" index="9" instance=ExtResource("6_dbkw8")] -unique_name_in_owner = true -position = Vector2(104, 41) +position = Vector2(64, 45) packed_scene = ExtResource("23_q7jtk") sign_mark_offset = Vector2(0, -11.02) diff --git a/scene/ground/scene/c03/s07_屠宰间.gd b/scene/ground/scene/c03/s07_屠宰间.gd index 1bac98e7..0ff79654 100644 --- a/scene/ground/scene/c03/s07_屠宰间.gd +++ b/scene/ground/scene/c03/s07_屠宰间.gd @@ -26,7 +26,10 @@ func _setup_node_reference() -> void: func _on_ground_ready() -> void: closeup绞肉机.exit.connect(_on_grinder_exited) # c03_meat_grinder: 0:初始化 1:已装转盘 2:绞肉机演出 3:演出结束 - if EventManager.get_stage("c03_meat_grinder") == 2: + var grinder_stage = EventManager.get_stage("c03_meat_grinder") + if grinder_stage == 1: + _setup_monster() + elif grinder_stage == 2: # 进入演出 var portal_2_x = $"../DeployLayer/portal_2".global_position.x SceneManager.get_player().global_position.x = portal_2_x @@ -40,12 +43,17 @@ func _on_grinder_exited(_arg) -> void: await Util.wait(1.0) SceneManager.dizzy_effect(3.0) SceneManager.player_action(17, true) + Util.timer(1.0, _setup_monster) await SceneManager.get_player().animation_finished - var monster = $"../DeployLayer/棺材怪切肉" - monster.show() - monster.play() + await Util.wait(3.0) SceneManager.unlock_player() SceneManager.get_ground_loader().transition_to_scene("c03_s10", "left") + + +func _setup_monster() -> void: + var monster = $"../DeployLayer/棺材怪切肉" + monster.show() + monster.play() func _grinder_show() -> void: diff --git a/scene/ground/scene/c03/s07_屠宰间.tscn b/scene/ground/scene/c03/s07_屠宰间.tscn index 9a493342..0e3fb0d0 100644 --- a/scene/ground/scene/c03/s07_屠宰间.tscn +++ b/scene/ground/scene/c03/s07_屠宰间.tscn @@ -78,7 +78,7 @@ status = "locked" prop_key = "prop_符纸钥匙" [node name="portal_2" parent="Ground/DeployLayer" index="3" instance=ExtResource("6_t8dkf")] -position = Vector2(316, 34) +position = Vector2(419, 34) debug_note = "胖子游戏结束,回到绞肉机前" portal_name = "2" @@ -127,7 +127,7 @@ metadata/_custom_type_script = "uid://dt8cfnm2og4h" [node name="Closeup绞肉机" parent="Ground/DeployLayer" index="7" instance=ExtResource("14_48a3r")] unique_name_in_owner = true -position = Vector2(316, 21) +position = Vector2(419, 21) packed_scene = ExtResource("15_48a3r") quit_closeup_on_cancel = false on_display_hide_hud = null diff --git a/scene/ground/scene/c03/s09_棺材房.tscn b/scene/ground/scene/c03/s09_棺材房.tscn index 040e6cb4..7e73ebb7 100644 --- a/scene/ground/scene/c03/s09_棺材房.tscn +++ b/scene/ground/scene/c03/s09_棺材房.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=20 format=3 uid="uid://dfln301xllqpn"] +[gd_scene load_steps=22 format=3 uid="uid://dfln301xllqpn"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_8vqn6"] [ext_resource type="Script" uid="uid://dxt2u1jajrm1g" path="res://scene/ground/scene/c03/s09_棺材房.gd" id="2_8vqn6"] @@ -14,8 +14,10 @@ [ext_resource type="SpriteFrames" uid="uid://cvjl0m6b5oc6f" path="res://asset/art/gif/c03_棺材怪/c03_棺材怪_frames.tres" id="9_mpel5"] [ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/audio/sfx2d.gd" id="10_htuhx"] [ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="10_t7o3d"] +[ext_resource type="AudioStream" uid="uid://cfsx6yqrw5gp4" path="res://asset/audio/sfx/交互/第二章/棺材怪呼吸.ogg" id="11_qr48f"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="13_alans"] [ext_resource type="Texture2D" uid="uid://d3rl4pyal4bao" path="res://asset/art/scene/c03/s09_棺材房/角落胖子干尸.png" id="14_htuhx"] +[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="15_rcrkk"] [sub_resource type="Animation" id="Animation_htuhx"] length = 0.001 @@ -79,16 +81,12 @@ position = Vector2(420, 56) sign_mark_offset = Vector2(27.55, 0) action = 3 -[node name="Closeup棺材特写" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_tmrc4")] -position = Vector2(338, 54) -texture = ExtResource("7_kdfpp") -packed_scene = ExtResource("7_klnhf") -sign_mark_offset = Vector2(0, -21.53) -collision_width_and_x = Vector2(100.52, 0) +[node name="呼吸声跟随" type="RemoteTransform2D" parent="Ground/DeployLayer" index="4"] +position = Vector2(338, 47) -[node name="Sfx2D棺材呼吸声Closeup" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Closeup棺材特写"] +[node name="Sfx2D棺材呼吸声" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/呼吸声跟随"] unique_name_in_owner = true -stream = ExtResource("9_alans") +stream = ExtResource("11_qr48f") autoplay = true max_distance = 1000.0 attenuation = 2.0 @@ -96,24 +94,22 @@ bus = &"game_sfx" script = ExtResource("10_htuhx") metadata/_custom_type_script = "uid://wapo47a1oddf" -[node name="Pro棺材怪" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="5"] -position = Vector2(519, -89) +[node name="Closeup棺材特写" parent="Ground/DeployLayer" index="5" instance=ExtResource("6_tmrc4")] +position = Vector2(338, 54) +texture = ExtResource("7_kdfpp") +packed_scene = ExtResource("7_klnhf") +sign_mark_offset = Vector2(0, -21.53) +collision_width_and_x = Vector2(100.52, 0) + +[node name="Pro棺材怪" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="6"] +light_mask = 3 +position = Vector2(650, -76) sprite_frames = ExtResource("9_mpel5") animation = &"墙上呼吸帧" autoplay = "爬墙循环动画" script = ExtResource("10_t7o3d") metadata/_custom_type_script = "uid://cphfob11f7atx" -[node name="Sfx2D棺材呼吸声Monster" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Pro棺材怪"] -unique_name_in_owner = true -position = Vector2(15, -22) -stream = ExtResource("9_alans") -max_distance = 1000.0 -attenuation = 2.0 -bus = &"game_sfx" -script = ExtResource("10_htuhx") -metadata/_custom_type_script = "uid://wapo47a1oddf" - [node name="Sfx2D棺材怪移动声" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Pro棺材怪"] unique_name_in_owner = true position = Vector2(15, -22) @@ -124,20 +120,30 @@ bus = &"game_sfx" script = ExtResource("10_htuhx") metadata/_custom_type_script = "uid://wapo47a1oddf" -[node name="Pro棺材怪2" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="6"] -position = Vector2(122, 20) +[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Pro棺材怪"] +position = Vector2(-19, -27) +range_item_cull_mask = 2 +texture = ExtResource("15_rcrkk") + +[node name="Pro棺材怪2" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="7"] +light_mask = 3 sprite_frames = ExtResource("9_mpel5") animation = &"棺材怪受惊" -autoplay = "爬墙循环动画" -frame = 1 +autoplay = "棺材怪受惊" flip_h = true script = ExtResource("10_t7o3d") +autostart = false metadata/_custom_type_script = "uid://cphfob11f7atx" [node name="Ambush棺材怪消失" parent="Ground/DeployLayer/Pro棺材怪2" instance=ExtResource("13_alans")] position = Vector2(121, 40) enabled = false +[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Pro棺材怪2"] +position = Vector2(-20, 4) +range_item_cull_mask = 2 +texture = ExtResource("15_rcrkk") + [node name="MainPlayer" parent="Ground" index="5"] position = Vector2(325, 98) catty_light_energy = 0.5 diff --git a/scene/ground/scene/c03/s11_胖子游戏2.tscn b/scene/ground/scene/c03/s11_胖子游戏2.tscn index 67c3c43d..1657fe9d 100644 --- a/scene/ground/scene/c03/s11_胖子游戏2.tscn +++ b/scene/ground/scene/c03/s11_胖子游戏2.tscn @@ -159,7 +159,7 @@ scale = Vector2(1.5, 1.5) sprite_frames = ExtResource("17_novpu") animation = &"小手" autoplay = "小手" -frame_progress = 0.32264 +frame_progress = 0.309503 speed_scale = 0.85 [node name="河里的手2" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="10"] diff --git a/scene/ground/script/c02/s03_event_2d抓药游戏.gd b/scene/ground/script/c02/s03_event_2d抓药游戏.gd index 5f7d9015..9f810285 100644 --- a/scene/ground/script/c02/s03_event_2d抓药游戏.gd +++ b/scene/ground/script/c02/s03_event_2d抓药游戏.gd @@ -30,7 +30,7 @@ func _on_ground_ready(_ground: Ground2D): closeup.exit.connect(_on_closeup_exit) -func _on_closeup_exit(win := false) -> void: +func _on_closeup_exit(win = false) -> void: if win: # 完成抓药游戏 EventManager.set_stage_if_greater("c03_drug_game", 2) diff --git a/scene/ground/script/c02/刮海报.gd b/scene/ground/script/c02/刮海报.gd index 380505e5..af87d504 100644 --- a/scene/ground/script/c02/刮海报.gd +++ b/scene/ground/script/c02/刮海报.gd @@ -21,6 +21,7 @@ func _ready() -> void: SceneManager.pop_center_notification("ui_left_mouse_shave") if exit_on_shaven_fulfilled: shaven_fulfilled.connect(exit.emit.bind(true)) + %"Draggable纸钱".picked.connect(GlobalFunctor.c03_get_paper_coin) var exiting = false diff --git a/scene/ground/script/c03/s02_event_2d偷听陆仁小蝶对话后.gd b/scene/ground/script/c03/s02_event_2d偷听陆仁小蝶对话后.gd index 1316c3ea..0cade005 100644 --- a/scene/ground/script/c03/s02_event_2d偷听陆仁小蝶对话后.gd +++ b/scene/ground/script/c03/s02_event_2d偷听陆仁小蝶对话后.gd @@ -39,10 +39,10 @@ func _on_ground_ready(_ground: Ground2D): if the_blind.animation == "瞎子_抽烟": await the_blind.animation_finished # Part2: 下半段对话2&灯忽闪 - DialogueManager.show_dialogue_balloon(c03_dialogue, "c03_s02_邀请小蝉与瞎子对话2") animation_player.play("light_flipping") - # TODO SceneManager.pop_debug_dialog_info("音效", "老鼠叫声+悉悉索索老鼠走路钻洞声") + $"Sfx灰姑出场".play() + DialogueManager.show_dialogue_balloon(c03_dialogue, "c03_s02_邀请小蝉与瞎子对话2") await DialogueManager.dialogue_ended # TODO # Part3: 瞎子咳嗽 diff --git a/scene/ground/script/c03/s03_closeup癞子纸人.gd b/scene/ground/script/c03/s03_closeup癞子纸人.gd index 654c64f6..2df7a259 100644 --- a/scene/ground/script/c03/s03_closeup癞子纸人.gd +++ b/scene/ground/script/c03/s03_closeup癞子纸人.gd @@ -65,10 +65,9 @@ func _try_interact() -> void: await Util.wait(0.5) # 飞针 $AnimationPlayer.play("cutting_overhead") + EventManager.set_stage_if_greater("c03_s03_laizi_breath", 1) # 抖动 Util.shake_layer(self, 0.3) - # TODO - SceneManager.pop_debug_dialog_info("音效", "使用剪刀(惊悚)") $"头".hide() await Util.wait(5.0) $"后脑勺".show() @@ -90,7 +89,7 @@ func _braid_cutting_show() -> void: $"头".hide() $"头受伤".hide() $"后脑勺".hide() - # SceneManager.enable_prop_item("prop_剪下的辫子") + # SceneManager.enable_prop_item("prop_辫子") await Util.wait(2.0) $AnimationPlayer.play("light_and_canvas_flipping") await Util.wait(1.5) diff --git a/scene/ground/script/c03/s03_closeup瞎子糕点.gd b/scene/ground/script/c03/s03_closeup瞎子糕点.gd index e1619c06..011fecf4 100644 --- a/scene/ground/script/c03/s03_closeup瞎子糕点.gd +++ b/scene/ground/script/c03/s03_closeup瞎子糕点.gd @@ -17,11 +17,11 @@ func _ready() -> void: SceneManager.dizzy_effect(3.0) await Util.wait(3.3) await SceneManager.pop_os_with_str("c03_s03_演出结束") - SceneManager.enable_prop_item("prop_剪下的辫子") + SceneManager.enable_prop_item("prop_辫子") SceneManager.unlock_player() ) EventManager.set_stage("c03_s03_laizi_braid", 2) - SceneManager.enable_prop_item_silently("prop_剪下的辫子") + SceneManager.enable_prop_item_silently("prop_辫子") await Util.wait(0.6) exit.emit(true) diff --git a/scene/ground/script/c03/s03_closeup镜子特写.gd b/scene/ground/script/c03/s03_closeup镜子特写.gd index a07b2cb5..83a7e908 100644 --- a/scene/ground/script/c03/s03_closeup镜子特写.gd +++ b/scene/ground/script/c03/s03_closeup镜子特写.gd @@ -2,6 +2,7 @@ extends CanvasLayer @onready var bg = $BG as TextureRect @onready var rope_with_mahjong = $"Draggable2D麻绳" as Draggable2D +@onready var dusted_face = $"BG灰尘脸" as Control func _ready() -> void: @@ -9,6 +10,7 @@ func _ready() -> void: var mahjong_picked = ArchiveManager.get_global_value("c03_s03_mahjong_picked") if mahjong_picked: rope_with_mahjong.queue_free() + dusted_face.hide() else: rope_with_mahjong.picked.connect(_on_btn_pressed, CONNECT_ONE_SHOT) @@ -17,3 +19,10 @@ func _on_btn_pressed(_arg): ArchiveManager.set_global_entry("c03_s03_mahjong_picked", true) SceneManager.enable_prop_item("prop_麻将2") rope_with_mahjong.queue_free() + await SceneManager.get_inspector().quit_and_hidden + # TODO 诡异小孩声 + SceneManager.pop_debug_dialog_info("音效", "诡异小孩声") + $"Sfx诡异小孩声".play() + var tween := create_tween() + tween.tween_interval(1.5) + tween.tween_property(dusted_face, "modulate:a", 0.0, 1.5) diff --git a/scene/ground/script/c03/s03_closeup镜子特写.tscn b/scene/ground/script/c03/s03_closeup镜子特写.tscn index 392d28ce..898d436c 100644 --- a/scene/ground/script/c03/s03_closeup镜子特写.tscn +++ b/scene/ground/script/c03/s03_closeup镜子特写.tscn @@ -1,7 +1,9 @@ -[gd_scene load_steps=6 format=3 uid="uid://bnoqhovb0wjem"] +[gd_scene load_steps=8 format=3 uid="uid://bnoqhovb0wjem"] -[ext_resource type="Script" path="res://scene/ground/script/c03/s03_closeup镜子特写.gd" id="1_l7eke"] +[ext_resource type="Script" uid="uid://xyswrst2qvnv" path="res://scene/ground/script/c03/s03_closeup镜子特写.gd" id="1_l7eke"] [ext_resource type="Texture2D" uid="uid://cv43fc0yphoyh" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_脸.png" id="2_h11vl"] +[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="2_x88e4"] +[ext_resource type="Texture2D" uid="uid://47bswjbnegh6" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_浮现前.png" id="3_l7eke"] [ext_resource type="PackedScene" uid="uid://bg7oictr1wgex" path="res://scene/little_game/general/draggable.tscn" id="4_pmhbo"] [ext_resource type="Texture2D" uid="uid://dri7gy7janvim" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子特写_红绳麻将.png" id="5_l7eke"] [ext_resource type="Texture2D" uid="uid://gan7qq0i7uiw" path="res://asset/art/scene/c03/s03_瞎子理发店/ux_镜子遮罩.png" id="5_pmhbo"] @@ -9,6 +11,11 @@ [node name="Closeup镜子特写" type="CanvasLayer"] script = ExtResource("1_l7eke") +[node name="Sfx诡异小孩声" type="AudioStreamPlayer" parent="."] +bus = &"game_sfx" +script = ExtResource("2_x88e4") +metadata/_custom_type_script = "uid://rq6w1vuhuq1m" + [node name="BG" type="TextureRect" parent="."] anchors_preset = 15 anchor_right = 1.0 @@ -17,6 +24,15 @@ grow_horizontal = 2 grow_vertical = 2 texture = ExtResource("2_h11vl") +[node name="BG灰尘脸" type="TextureRect" parent="."] +unique_name_in_owner = true +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("3_l7eke") + [node name="Draggable2D麻绳" parent="." instance=ExtResource("4_pmhbo")] position = Vector2(122, 78) act_as_button = true diff --git a/scene/ground/script/c03/s03_刮海报_理发店.tscn b/scene/ground/script/c03/s03_刮海报_理发店.tscn index 9f1806d8..27d8a289 100644 --- a/scene/ground/script/c03/s03_刮海报_理发店.tscn +++ b/scene/ground/script/c03/s03_刮海报_理发店.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=27 format=3 uid="uid://dohvkxfdmcrw4"] +[gd_scene load_steps=26 format=3 uid="uid://dohvkxfdmcrw4"] [ext_resource type="Script" uid="uid://d31fc1bolhwlf" path="res://scene/ground/script/c02/刮海报.gd" id="1_pdoaa"] [ext_resource type="Script" uid="uid://bagqdqsd0b4fy" path="res://scene/ground/script/c03/鬼母子游戏.gd" id="2_86fqw"] @@ -6,6 +6,7 @@ [ext_resource type="PackedScene" uid="uid://bg7oictr1wgex" path="res://scene/little_game/general/draggable.tscn" id="3_86fqw"] [ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="4_cir1h"] [ext_resource type="PackedScene" uid="uid://bvnclp341hxoh" path="res://scene/entity/ux/刮刮乐.tscn" id="5_edyi3"] +[ext_resource type="Texture2D" uid="uid://vyuf0wekr1lq" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/纸钱1.png" id="6_b7rxv"] [ext_resource type="AudioStream" uid="uid://bomvnle4oh1ol" path="res://asset/audio/sfx/交互/第一章/sfx_折纸.ogg" id="6_dyn3c"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="7_8ty36"] [ext_resource type="AudioStream" uid="uid://bisi1i5u4yyql" path="res://asset/audio/effect/impact/impactPlank_medium_003.ogg" id="8_6jvn1"] @@ -13,11 +14,9 @@ [ext_resource type="AudioStream" uid="uid://7ak57qrf38im" path="res://asset/audio/effect/impact/impactBell_heavy_001.ogg" id="9_s7g11"] [ext_resource type="Texture2D" uid="uid://w3ht3dr5ovsw" path="res://asset/art/scene/c03/s03_瞎子理发店/鬼母子神/2背.png" id="10_pilu4"] [ext_resource type="Texture2D" uid="uid://cx3kcrqpjt55x" path="res://asset/art/scene/c03/s03_瞎子理发店/鬼母子神/3背.png" id="11_6jvn1"] -[ext_resource type="Texture2D" uid="uid://fgafxxahidbk" path="res://asset/art/scene/c03/s03_瞎子理发店/鬼母子神/4背.png" id="12_s7g11"] +[ext_resource type="Texture2D" uid="uid://dc1yq5hnho25q" path="res://asset/art/scene/c03/s03_瞎子理发店/鬼母子神/4正.png" id="12_b7rxv"] [ext_resource type="SpriteFrames" uid="uid://cmvr3lbwe3h7p" path="res://asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres" id="14_s7g11"] [ext_resource type="PackedScene" uid="uid://bkk1rxx36ghrl" path="res://scene/entity/ux/hover_light_click_area.tscn" id="15_3uuyc"] -[ext_resource type="Texture2D" uid="uid://bqodfve8iavgv" path="res://asset/art/scene/c03/s03_瞎子理发店/鬼母子神/e_剪刀.png" id="16_go12c"] -[ext_resource type="Texture2D" uid="uid://boc0hof5p6sjs" path="res://asset/art/scene/c03/s03_瞎子理发店/鬼母子神/l_剪刀.png" id="16_ikyli"] [ext_resource type="Texture2D" uid="uid://cstd74y5811u3" path="res://asset/art/scene/c03/s03_瞎子理发店/鬼母子神/l_舌头.png" id="17_682sk"] [ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="17_dhl8m"] [ext_resource type="Texture2D" uid="uid://csu41qqgeqqhl" path="res://asset/art/scene/c03/s03_瞎子理发店/鬼母子神/e_舌头.png" id="19_puk8y"] @@ -107,11 +106,18 @@ shape = SubResource("CapsuleShape2D_3uuyc") position = Vector2(437, 206) act_as_button = true freezing = true -texture = ExtResource("12_s7g11") +texture = ExtResource("12_b7rxv") [node name="CollisionShape2D" type="CollisionShape2D" parent="鬼母子游戏/kid4"] shape = SubResource("CapsuleShape2D_ikyli") +[node name="EventBinder" type="Node" parent="鬼母子游戏/kid4"] +script = ExtResource("17_dhl8m") +updater_event = &"c03_s03_papercoin3" +updater_mode = "unfreezer" +updater_ease_duration = 0.0 +metadata/_custom_type_script = "uid://0wjaho6qkg6s" + [node name="倒塌" type="AnimatedSprite2D" parent="鬼母子游戏"] visible = false sprite_frames = ExtResource("14_s7g11") @@ -142,8 +148,6 @@ polygon = PackedVector2Array(-49, -10, -49, -2.8, -38, 3.2, -38, 5.1, 5.1, 3, 13 [node name="EventBinder" type="Node" parent="鬼母子游戏/倒塌/Props/纸舌头"] script = ExtResource("17_dhl8m") -memo = "c03_hariti_tongue=[0] 时,显示: [纸舌头] -[纸舌头] interacted 时: c03_hariti_tongue=1(greater)" updater_event = &"c03_hariti_tongue" updater_mode = "shower" updater_ease_duration = 0.0 @@ -152,36 +156,25 @@ trigger_event = &"c03_hariti_tongue" trigger_mode = "interacted" metadata/_custom_type_script = "uid://0wjaho6qkg6s" -[node name="剪刀" parent="鬼母子游戏/倒塌/Props" instance=ExtResource("15_3uuyc")] +[node name="Draggable纸钱" parent="." instance=ExtResource("3_86fqw")] unique_name_in_owner = true -position = Vector2(364, 248) +position = Vector2(438, 221) +act_as_button = true +texture = ExtResource("6_b7rxv") -[node name="Sprite2D" type="Sprite2D" parent="鬼母子游戏/倒塌/Props/剪刀"] -position = Vector2(-55, -19) -texture = ExtResource("16_go12c") -centered = false - -[node name="PointLight2D" type="PointLight2D" parent="鬼母子游戏/倒塌/Props/剪刀"] -position = Vector2(-1, 1) -range_layer_max = 10 -texture = ExtResource("16_ikyli") - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="鬼母子游戏/倒塌/Props/剪刀"] -visible = false -polygon = PackedVector2Array(4, -25, -10, -25, -14, -13.4, -14, -8.4, -37.5, 1, -41.6, 1, -50.6, 7, -53, 7, -56, 11, -57.2, 11, -58.3, 13.2, -55, 17.6, -55, 20.3, -38.7, 18, -34.7, 18, -8, 8.4, -5.7, 8, 7.3, 18, 35.6, 18, 44.6, 12, 47.1, 12, 54.1, 1, 56.5, 1, 54, -10.4, 54, -12.8, 43, -23.8, 43, -25, 29.4, -25, 27, -21.8, 1.4, -18, 4, -23.6) - -[node name="EventBinder" type="Node" parent="鬼母子游戏/倒塌/Props/剪刀"] +[node name="EventBinder" type="Node" parent="Draggable纸钱"] script = ExtResource("17_dhl8m") -memo = "c03_hariti_scissor=[0] 时,显示: [剪刀] -[剪刀] interacted 时: c03_hariti_scissor=1(greater)" -updater_event = &"c03_hariti_scissor" +updater_event = &"c03_s03_papercoin3" updater_mode = "shower" updater_ease_duration = 0.0 updater_stages = Array[int]([0]) -trigger_event = &"c03_hariti_scissor" -trigger_mode = "interacted" +trigger_event = &"c03_s03_papercoin3" +trigger_mode = "picked" metadata/_custom_type_script = "uid://0wjaho6qkg6s" +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Draggable纸钱"] +polygon = PackedVector2Array(13, -30, -9.5, -30, -19.5, -25, -22.1, -25, -30, -12.2, -30, 14.1, -25, 21.6, -25, 24.3, -12, 30, 13.7, 30, 21.6, 25, 24.2, 25, 30, 14.5, 30, -11, 26, -17.6, 26, -20, 13, -29) + [node name="遮罩" type="TextureRect" parent="."] anchors_preset = 15 anchor_right = 1.0 diff --git a/scene/ground/script/c03/s04_closeup整理麻将游戏.gd b/scene/ground/script/c03/s04_closeup整理麻将游戏.gd index e8791fc1..b8e5e9d0 100644 --- a/scene/ground/script/c03/s04_closeup整理麻将游戏.gd +++ b/scene/ground/script/c03/s04_closeup整理麻将游戏.gd @@ -31,12 +31,19 @@ var success = false func _ready() -> void: layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME _toggle_activation_for_all(false) - if EventManager.get_stage("c03_mahjong_game") == 0 and not SceneManager.has_prop("prop_麻将2"): - %"12".visible = false - SceneManager.pop_center_notification("input_麻将游戏_麻将不足") - await Util.wait(3.0) - exit.emit(false) - return + if EventManager.get_stage("c03_mahjong_game") == 0: + var all_ready = true + if not SceneManager.has_prop("prop_麻将"): + all_ready = false + %"12".visible = false + if not SceneManager.has_prop("prop_麻将2"): + all_ready = false + %"13".visible = false + if not all_ready: + SceneManager.pop_center_notification("input_麻将游戏_麻将不足") + await Util.wait(3.0) + exit.emit(false) + return # 游戏一开始就收起玩家麻将道具,设置 c03_mahjong_game 为 1 EventManager.set_stage_if_greater("c03_mahjong_game", 1) SceneManager.disable_prop_item("prop_麻将") @@ -129,8 +136,10 @@ func _check_if_success() -> void: # 下一阶段 SceneManager.enable_important_item("prop_两个麻将", false) EventManager.set_stage_if_greater("c03_mahjong_game", 2) - DialogueManager.show_dialogue_balloon(c03_dialog, "c03_s04_整理麻将游戏0") + await Util.wait(1.0) animation_player.play("take_to_the_desk") + await Util.wait(1.5) + DialogueManager.show_dialogue_balloon(c03_dialog, "c03_s04_整理麻将游戏0") await DialogueManager.dialogue_ended $"Sfx黑屏转场".global_play() if animation_player.is_playing(): diff --git a/scene/ground/script/c03/s04_closeup李氏纸人.gd b/scene/ground/script/c03/s04_closeup李氏纸人.gd index 4c964f39..2b6a9325 100644 --- a/scene/ground/script/c03/s04_closeup李氏纸人.gd +++ b/scene/ground/script/c03/s04_closeup李氏纸人.gd @@ -12,11 +12,12 @@ func _ready() -> void: # c03_li_paperwoman: 0:初始化隐藏 1:显示纸人 2:纸舌头完成 3:给药完成 current_stage = EventManager.get_stage("c03_li_paperwoman") if current_stage == 1: - await Util.wait(1.0) + await Util.wait(0.5) SceneManager.pop_center_notification("ui_center_notify_c03纸人浆糊舌头") - if current_stage == 2: + if current_stage >= 2: $"断舌头粘完整".show() - await Util.wait(1.0) + if current_stage == 2: + await Util.wait(0.5) SceneManager.pop_center_notification("ui_center_notify_c03纸人求药") var paste_used := false @@ -31,7 +32,7 @@ func _unhandled_input(event: InputEvent) -> void: var prop_hud = SceneManager.get_prop_hud() if current_stage == 1: if not paste_used: - if prop == "prop_一碗浆糊": + if prop == "prop_浆糊": $"Sfx使用浆糊".play() paste_used = true var sprite = $"断舌头涂胶水" @@ -48,11 +49,11 @@ func _unhandled_input(event: InputEvent) -> void: sprite.show() sprite.modulate.a = 0.0 create_tween().tween_property(sprite, "modulate:a", 1.0, 1.0) - animation_player.play("give_coin") + animation_player.play("give_scissor") await animation_player.animation_finished # 浆糊可以用两次 SceneManager.disable_prop_item("prop_纸舌头") - GlobalFunctor.c03_get_paper_coin() + SceneManager.enable_prop_item("prop_剪刀") EventManager.set_stage_if_greater("c03_li_paperwoman", 2) current_stage = 2 animation_player.play("RESET") diff --git a/scene/ground/script/c03/s04_closeup李氏纸人.tscn b/scene/ground/script/c03/s04_closeup李氏纸人.tscn index fd744626..0ce19ddc 100644 --- a/scene/ground/script/c03/s04_closeup李氏纸人.tscn +++ b/scene/ground/script/c03/s04_closeup李氏纸人.tscn @@ -11,18 +11,18 @@ [ext_resource type="AudioStream" uid="uid://bb6xofiqjvid8" path="res://asset/audio/sfx/UI/关闭报纸.ogg" id="6_40v3c"] [ext_resource type="Texture2D" uid="uid://wch8wpokpwy" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/要东西.png" id="6_qqxug"] [ext_resource type="AudioStream" uid="uid://c3qonrtdjnmau" path="res://asset/audio/sfx/UI/纸声.ogg" id="7_lqbuh"] -[ext_resource type="Texture2D" uid="uid://g2jlyvf718h" path="res://asset/art/prop/c03/纸铜钱1.png" id="7_vcv6g"] [ext_resource type="AudioStream" uid="uid://dph8v3v5mq1xl" path="res://asset/audio/sfx/交互/sfx_交互失败.ogg" id="8_3m4i6"] [ext_resource type="Texture2D" uid="uid://sreapb4mhlu8" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/断舌头.png" id="10_ncmgt"] [ext_resource type="Texture2D" uid="uid://dyaknn88pri7g" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/断舌头涂胶水.png" id="11_klpdo"] [ext_resource type="Texture2D" uid="uid://cquvr5fjd3vlu" path="res://asset/art/scene/c03/s04_李癞房间/李氏特写/胶水(合并).png" id="12_022we"] +[ext_resource type="Texture2D" uid="uid://b7ic8ih5ahiw2" path="res://asset/art/prop/c03/缠着符咒的剪刀.png" id="12_dwx4w"] [sub_resource type="Animation" id="Animation_2nb82"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("给纸钱的手:position") +tracks/0/path = NodePath("给剪刀的手:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -44,22 +44,6 @@ tracks/1/keys = { "values": [Vector2(126, 405)] } -[sub_resource type="Animation" id="Animation_022we"] -resource_name = "give_coin" -length = 2.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("给纸钱的手:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 1), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(425, 379), Vector2(423, 247)] -} - [sub_resource type="Animation" id="Animation_klpdo"] resource_name = "give_key" length = 2.0 @@ -76,11 +60,27 @@ tracks/0/keys = { "values": [Vector2(126, 405), Vector2(103, 212)] } +[sub_resource type="Animation" id="Animation_022we"] +resource_name = "give_scissor" +length = 2.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("给剪刀的手:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(425, 379), Vector2(423, 247)] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_dwx4w"] _data = { &"RESET": SubResource("Animation_2nb82"), -&"give_coin": SubResource("Animation_022we"), -&"give_key": SubResource("Animation_klpdo") +&"give_key": SubResource("Animation_klpdo"), +&"give_scissor": SubResource("Animation_022we") } [node name="Closeup李氏纸人" type="CanvasLayer"] @@ -138,21 +138,22 @@ position = Vector2(126, 405) texture = ExtResource("5_vcv6g") [node name="钥匙" type="Sprite2D" parent="给钥匙的手"] -position = Vector2(12, -2) +position = Vector2(14, 0) rotation = -2.12894 scale = Vector2(0.5, 0.5) skew = 0.0698132 texture = ExtResource("5_ncmgt") -[node name="给纸钱的手" type="Sprite2D" parent="."] +[node name="给剪刀的手" type="Sprite2D" parent="."] position = Vector2(425, 379) texture = ExtResource("6_qqxug") -[node name="纸钱" type="Sprite2D" parent="给纸钱的手"] -position = Vector2(-16, -11) -scale = Vector2(0.5, 0.5) -skew = 0.136136 -texture = ExtResource("7_vcv6g") +[node name="剪刀" type="Sprite2D" parent="给剪刀的手"] +position = Vector2(-9, -13) +rotation = -0.316255 +scale = Vector2(0.59, 0.52) +skew = -0.366519 +texture = ExtResource("12_dwx4w") [node name="断舌头" type="Sprite2D" parent="."] position = Vector2(280, 175) diff --git a/scene/ground/script/c03/s04_closeup柜子.gd b/scene/ground/script/c03/s04_closeup柜子.gd index 036b5e6e..21e6a41a 100644 --- a/scene/ground/script/c03/s04_closeup柜子.gd +++ b/scene/ground/script/c03/s04_closeup柜子.gd @@ -3,12 +3,33 @@ extends CanvasLayer @warning_ignore("unused_signal") signal exit(arg) -@onready var drug_spec -@onready var bowl +@onready var pic = %"Hover照片" +@onready var pic_label = %"照片文字" +@onready var drug_spec = %"Hover药方" +@onready var mahjong = %"Hover麻将" func _ready() -> void: layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME + mahjong.interacted.connect(_on_majhong_interacted, CONNECT_ONE_SHOT) + drug_spec.interacted.connect(_on_drug_spec_interacted, CONNECT_ONE_SHOT) + pic.interacted.connect(_on_pic_interacted, CONNECT_ONE_SHOT) - # TODO 拿药方后,启动 drug game + +func _on_majhong_interacted() -> void: + SceneManager.enable_prop_item("prop_麻将") + +func _on_drug_spec_interacted() -> void: + SceneManager.enable_prop_item("prop_药方") + # 拿药方后,启动 drug game EventManager.set_stage("c03_drug_game", 1) +func _on_pic_interacted() -> void: + pic.freezing = true + pic_label.show() + +func _unhandled_input(event: InputEvent) -> void: + if pic_label.visible: + if event.is_action_pressed("cancel"): + get_viewport().set_input_as_handled() + pic.freezing = false + pic_label.hide() \ No newline at end of file diff --git a/scene/ground/script/c03/s04_closeup柜子.tscn b/scene/ground/script/c03/s04_closeup柜子.tscn index 1aa833aa..d5eb81f4 100644 --- a/scene/ground/script/c03/s04_closeup柜子.tscn +++ b/scene/ground/script/c03/s04_closeup柜子.tscn @@ -1,13 +1,16 @@ -[gd_scene load_steps=9 format=3 uid="uid://b6ymfeft65wof"] +[gd_scene load_steps=12 format=3 uid="uid://b6ymfeft65wof"] [ext_resource type="Script" uid="uid://bp23kh1gi3asj" path="res://scene/ground/script/c03/s04_closeup柜子.gd" id="1_2ow0y"] [ext_resource type="Texture2D" uid="uid://dluphta2op6kq" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/背景.png" id="2_rmoey"] [ext_resource type="Texture2D" uid="uid://cy1jly6cetwms" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/图层 11.png" id="3_ard2c"] [ext_resource type="Texture2D" uid="uid://dylb3p5sijet1" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/李弟照片.png" id="3_d7uum"] [ext_resource type="Texture2D" uid="uid://cxaonpvi5g0xv" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/药方.png" id="5_rmoey"] +[ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="6_rmoey"] [ext_resource type="Texture2D" uid="uid://dpo1lwepl0jaf" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/碗.png" id="7_qfnr1"] [ext_resource type="PackedScene" uid="uid://bkk1rxx36ghrl" path="res://scene/entity/ux/hover_light_click_area.tscn" id="8_kxw4a"] +[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="9_ard2c"] [ext_resource type="Texture2D" uid="uid://doclbaxmuy2v0" path="res://asset/art/scene/c03/s04_李癞房间/柜子特写/麻将.png" id="9_gdtfm"] +[ext_resource type="Script" uid="uid://dpocj5al0rvai" path="res://ui/text_helper.gd" id="10_qfnr1"] [node name="Closeup柜子" type="CanvasLayer"] script = ExtResource("1_2ow0y") @@ -20,12 +23,35 @@ grow_horizontal = 2 grow_vertical = 2 texture = ExtResource("2_rmoey") -[node name="照片" type="Sprite2D" parent="."] -position = Vector2(281, 80) +[node name="Hover照片" parent="." instance=ExtResource("8_kxw4a")] +unique_name_in_owner = true +position = Vector2(295, 63) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hover照片"] +polygon = PackedVector2Array(125.5, 59, 125.5, 46, 124.5, 46, 124.5, -59, -125.5, -59, -125.5, 59) + +[node name="照片" type="Sprite2D" parent="Hover照片"] +light_mask = 33 +texture = ExtResource("3_d7uum") + +[node name="EventBinder" type="Node" parent="Hover照片"] +script = ExtResource("6_rmoey") +updater_event = &"c03_li_paperwoman" +updater_mode = "shower" +updater_ease_duration = 0.0 +updater_stages = Array[int]([3, 4]) +metadata/_custom_type_script = "uid://0wjaho6qkg6s" + +[node name="PointLight2D" type="PointLight2D" parent="Hover照片"] +light_mask = 33 +energy = 2.0 +range_layer_max = 10 +range_item_cull_mask = 32 texture = ExtResource("3_d7uum") [node name="Hover药方" parent="." instance=ExtResource("8_kxw4a")] -position = Vector2(442, 181) +unique_name_in_owner = true +position = Vector2(436, 197) [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hover药方"] polygon = PackedVector2Array(95.5, -70.5, -17.3, -70.5, -18.6, -68.5, -19.9, -68.5, -22.5, -60.8, -22.5, -58.2, -45.6, -23.5, -46.8, -23.5, -53.5, -7.9, -53.5, -5, -69.5, 22, -69.5, 23.8, -90.5, 56.9, -90.5, 58.4, -95.2, 61.5, -95.5, 70.5, 38.9, 70.5, 43.1, 67.5, 46.6, 67.5, 62.6, 43.5, 64, 43.5, 95.5, -54.3) @@ -39,11 +65,22 @@ range_layer_max = 10 range_item_cull_mask = 2 texture = ExtResource("5_rmoey") +[node name="EventBinder" type="Node" parent="Hover药方"] +script = ExtResource("6_rmoey") +updater_event = &"c03_s04_counter_drug_spec" +updater_mode = "shower" +updater_ease_duration = 0.0 +updater_stages = Array[int]([0]) +trigger_event = &"c03_s04_counter_drug_spec" +trigger_mode = "interacted" +metadata/_custom_type_script = "uid://0wjaho6qkg6s" + [node name="碗" type="Sprite2D" parent="."] -position = Vector2(229, 187) +position = Vector2(236, 186) texture = ExtResource("7_qfnr1") [node name="Hover麻将" parent="碗" instance=ExtResource("8_kxw4a")] +unique_name_in_owner = true position = Vector2(-69, -40) [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="碗/Hover麻将"] @@ -59,6 +96,29 @@ range_layer_max = 10 range_item_cull_mask = 2 texture = ExtResource("9_gdtfm") +[node name="EventBinder" type="Node" parent="碗/Hover麻将"] +script = ExtResource("6_rmoey") +updater_event = &"c03_s04_counter_mahjong" +updater_mode = "shower" +updater_ease_duration = 0.0 +updater_stages = Array[int]([0]) +trigger_event = &"c03_s04_counter_mahjong" +trigger_mode = "interacted" +metadata/_custom_type_script = "uid://0wjaho6qkg6s" + +[node name="照片文字" type="Sprite2D" parent="."] +unique_name_in_owner = true +visible = false +texture = ExtResource("9_ard2c") +centered = false +offset = Vector2(0, 38) + +[node name="Label" type="Label" parent="照片文字"] +offset_right = 40.0 +offset_bottom = 14.0 +script = ExtResource("10_qfnr1") +translation_key = "c03_s04_柜子照片" + [node name="遮罩" type="TextureRect" parent="."] anchors_preset = 15 anchor_right = 1.0 diff --git a/scene/ground/script/c03/s04_event_2d香炉.gd b/scene/ground/script/c03/s04_event_李氏纸人相关.gd similarity index 67% rename from scene/ground/script/c03/s04_event_2d香炉.gd rename to scene/ground/script/c03/s04_event_李氏纸人相关.gd index 0b2a05af..f5132fb2 100644 --- a/scene/ground/script/c03/s04_event_2d香炉.gd +++ b/scene/ground/script/c03/s04_event_李氏纸人相关.gd @@ -15,9 +15,11 @@ func _on_global_stage_updated(e: StringName, s: int) -> void: super._on_global_stage_updated(e, s) @onready var sfx_cough = $"Sfx2d咳嗽声" as Sfx2D +@onready var sfx_breath = $"Sfx2d纸人呼吸声" as Sfx2D func _on_ground_ready(_ground: Ground2D) -> void: - if stage != 3: + _setup_by_stage() + if stage < 3: Util.timer(3.0, sfx_cough.play) @@ -26,5 +28,13 @@ func _on_pre_stage_updated() -> void: func _on_stage_updated() -> void: + _setup_by_stage() + + +func _setup_by_stage() -> void: + if stage >= 2: + # 纸人呼吸声 + sfx_breath.play() + if stage == 3: - sfx_cough.stop() + sfx_cough.easing_kill() diff --git a/scene/ground/script/c03/s04_event_2d香炉.gd.uid b/scene/ground/script/c03/s04_event_李氏纸人相关.gd.uid similarity index 100% rename from scene/ground/script/c03/s04_event_2d香炉.gd.uid rename to scene/ground/script/c03/s04_event_李氏纸人相关.gd.uid diff --git a/scene/ground/script/c03/s08_closeup囚室墙洞.gd b/scene/ground/script/c03/s08_closeup囚室墙洞.gd index 793d5c1f..0222012d 100644 --- a/scene/ground/script/c03/s08_closeup囚室墙洞.gd +++ b/scene/ground/script/c03/s08_closeup囚室墙洞.gd @@ -43,6 +43,7 @@ func _on_key_area_shaven(progress: float): func _setup_on_shaven_finished() -> void: flyer.queue_free() + hole_btn.disabled = false func _on_hole_pressed() -> void: diff --git a/scene/ground/script/c03/s08_closeup囚室墙洞.tscn b/scene/ground/script/c03/s08_closeup囚室墙洞.tscn index c564d503..a0367d95 100644 --- a/scene/ground/script/c03/s08_closeup囚室墙洞.tscn +++ b/scene/ground/script/c03/s08_closeup囚室墙洞.tscn @@ -37,6 +37,7 @@ offset_left = 266.0 offset_top = 124.0 offset_right = 316.0 offset_bottom = 174.0 +disabled = true texture_normal = ExtResource("5_4bab5") texture_pressed = ExtResource("5_0hj6x") texture_hover = ExtResource("5_0hj6x") diff --git a/scene/ground/script/c03/鬼母子游戏.gd b/scene/ground/script/c03/鬼母子游戏.gd index 6a17d045..1fe29ff6 100644 --- a/scene/ground/script/c03/鬼母子游戏.gd +++ b/scene/ground/script/c03/鬼母子游戏.gd @@ -5,24 +5,26 @@ var freezing := true: set(val): freezing = val for i in range(1, 5): - get_node("kid" + str(i)).freezing = val + var node = get_node("kid" + str(i)) + # 注意 4 号 kid 的 freeze 状态取决于 c03_s03_papercoin3 + if i == 4 and EventManager.get_stage("c03_papercoin3") != 1: + node.freezing = true + else: + node.freezing = val var _state_map = ["背", "右", "正", "左"] # 0背 1右 2正 3左 -var states: Array = [0, 0, 0, 0]: +var states: Array = [0, 0, 0, 2]: set(val): if not val or len(val) != 4: - val = [0, 0, 0, 0] + val = [0, 0, 0, 2] states = val ArchiveManager.set_global_entry("c03_s03_hariti_states", states) # 2正 1右 3左 0背 var success_states: Array = [2, 1, 3, 0] - func _ready() -> void: - # 道具 - $"倒塌/Props/剪刀".interacted.connect(SceneManager.enable_prop_item.bind("prop_剪刀")) $"倒塌/Props/纸舌头".interacted.connect(SceneManager.enable_prop_item.bind("prop_纸舌头")) $"../刮刮乐".visible = true @@ -41,6 +43,7 @@ func _ready() -> void: for i in range(1, 5): get_node("kid" + str(i)).picked.connect(_on_picked.bind(i)) + func _on_shaven_fulfilled(): get_node("../刮刮乐").queue_free() freezing = false diff --git a/scene/ux/prop_hud.gd b/scene/ux/prop_hud.gd index cc689639..1c8dec4c 100644 --- a/scene/ux/prop_hud.gd +++ b/scene/ux/prop_hud.gd @@ -126,6 +126,13 @@ func _ready() -> void: mouse_exited.connect(_on_mouse_exited) +func _notification(what: int) -> void: + if what == NOTIFICATION_TRANSLATION_CHANGED and is_node_ready(): + _load_items_config_to_dict("ImportantPropItems") + _load_items_config_to_dict("PropItems") + _reload_cache_and_realign_display() + + func _load_items_config_to_dict(title: String): if not item_config_res or not item_config_res.titles.has(title): return diff --git a/ui/text_helper.gd b/ui/text_helper.gd index 728ab0b4..d39bb5e3 100644 --- a/ui/text_helper.gd +++ b/ui/text_helper.gd @@ -29,7 +29,7 @@ var items_translation = preload("uid://c1x5bqwulamey") as Translation func refresh(): if property_name: - if inspect_title: + if not inspect_title.is_empty(): set(property_name, _get_tr_content()) elif translation_key: var msg = tr(translation_key) @@ -44,11 +44,6 @@ func refresh(): set(property_name, msg) -func _notification(what: int) -> void: - if what == NOTIFICATION_TRANSLATION_CHANGED: - refresh() - - func _get_tr_content(): if inspect_title == "": return "" @@ -61,3 +56,8 @@ func _get_tr_content(): inspection_note += tr(line.get("translation_key")) + "\n" line_id = line.get("next_id") return inspection_note + + +func _notification(what: int) -> void: + if what == NOTIFICATION_TRANSLATION_CHANGED: + refresh()