优化第一章谢幕演出

This commit is contained in:
cakipaul 2025-06-23 17:01:43 +08:00
parent 9268dd36fe
commit 3ae63f2000
35 changed files with 230 additions and 270 deletions

View File

@ -3178,21 +3178,21 @@ animations = [{
"speed": 30.0 "speed": 30.0
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 6.0,
"texture": ExtResource("767_juprk") "texture": ExtResource("767_juprk")
}, { }, {
"duration": 1.0, "duration": 6.0,
"texture": ExtResource("768_pramq") "texture": ExtResource("768_pramq")
}, { }, {
"duration": 1.0, "duration": 6.0,
"texture": ExtResource("769_rrudt") "texture": ExtResource("769_rrudt")
}, { }, {
"duration": 1.0, "duration": 6.0,
"texture": ExtResource("770_t8u5r") "texture": ExtResource("770_t8u5r")
}], }],
"loop": false, "loop": false,
"name": &"小蝶擦火柴蹲下起身", "name": &"小蝶擦火柴蹲下起身",
"speed": 5.0 "speed": 30.0
}, { }, {
"frames": [{ "frames": [{
"duration": 6.0, "duration": 6.0,

View File

@ -28,6 +28,7 @@ ui_auto_saved,自动保存成功,,,,,Auto save successful
ui_press_e,按 E 与场景互动,,,,,Press E to interact ui_press_e,按 E 与场景互动,,,,,Press E to interact
ui_press_q_to_exit,按 Q 可退出,,,,, ui_press_q_to_exit,按 Q 可退出,,,,,
ui_use_prop,按 E 使用道具,,,,,Press E to use prop ui_use_prop,按 E 使用道具,,,,,Press E to use prop
ui_right_click_prop,右键点击可检阅道具,,,,,
ui_left_mouse_shave,按住鼠标拖拽可刮开海报,,,,, ui_left_mouse_shave,按住鼠标拖拽可刮开海报,,,,,
ui_important_item_update,重要物品已更新(按 B 打开背包),,,,, ui_important_item_update,重要物品已更新(按 B 打开背包),,,,,
ui_switch_prop,点击图标可切换道具(或按 Z/C,,,,, ui_switch_prop,点击图标可切换道具(或按 Z/C,,,,,

1 keys zh_CN _character _notes _tags zh_SH en
28 ui_press_e 按 E 与场景互动 Press E to interact
29 ui_press_q_to_exit 按 Q 可退出
30 ui_use_prop 按 E 使用道具 Press E to use prop
31 ui_right_click_prop 右键点击可检阅道具
32 ui_left_mouse_shave 按住鼠标拖拽可刮开海报
33 ui_important_item_update 重要物品已更新(按 B 打开背包)
34 ui_switch_prop 点击图标可切换道具(或按 Z/C)

View File

@ -23,6 +23,7 @@
按 E 与场景互动 [ID:ui_press_e] 按 E 与场景互动 [ID:ui_press_e]
按 Q 可退出 [ID:ui_press_q_to_exit] 按 Q 可退出 [ID:ui_press_q_to_exit]
按 E 使用道具 [ID:ui_use_prop] 按 E 使用道具 [ID:ui_use_prop]
右键点击可检阅道具 [ID:ui_right_click_prop]
按住鼠标拖拽可刮开海报 [ID:ui_left_mouse_shave] 按住鼠标拖拽可刮开海报 [ID:ui_left_mouse_shave]
重要物品已更新(按 B 打开背包) [ID:ui_important_item_update] 重要物品已更新(按 B 打开背包) [ID:ui_important_item_update]
点击图标可切换道具(或按 Z/C [ID:ui_switch_prop] 点击图标可切换道具(或按 Z/C [ID:ui_switch_prop]

View File

@ -7,16 +7,26 @@ const DEBUG = true
const RES_FILE_FORMAT = ".tres" const RES_FILE_FORMAT = ".tres"
## layers ## layers
# 设置
const CANVAS_LAYER_SETTINGS = 30 const CANVAS_LAYER_SETTINGS = 30
# bag
const CANVAS_LAYER_BAG = 25 const CANVAS_LAYER_BAG = 25
# dialog
const CANVAS_LAYER_DIALOG = 23 const CANVAS_LAYER_DIALOG = 23
# main 场景的 UI 层prop hud、上下mask、notification
const CANVAS_LAYER_UI = 22 const CANVAS_LAYER_UI = 22
# 道具 inspectorprop/local
const CANVAS_LAYER_PROP_INSPECTOR = 20 const CANVAS_LAYER_PROP_INSPECTOR = 20
# ground loader 转场等 mask 层
const CANVAS_LAYER_GROUND_MASK = 14 const CANVAS_LAYER_GROUND_MASK = 14
# 特殊全屏效果(无 shading
const CANVAS_LAYER_EFFECT = 5
# 全屏 shading
const CANVAS_LAYER_SHADING = 10 const CANVAS_LAYER_SHADING = 10
# 小游戏
const CANVAS_LAYER_LITTLE_GAME = 5 const CANVAS_LAYER_LITTLE_GAME = 5
# 前景层
const CANVAS_LAYER_FG = 2 const CANVAS_LAYER_FG = 2
const CANVAS_LAYER_HD_ENTITY = 1
const DIALOG_IGNORE_INPUT = "ignore_input" const DIALOG_IGNORE_INPUT = "ignore_input"

View File

@ -36,7 +36,7 @@ func c02_fire_count_down_try_start():
return return
c02_fire_count_down_timer = Timer.new() c02_fire_count_down_timer = Timer.new()
c02_fire_count_down_timer.autostart = true c02_fire_count_down_timer.autostart = true
c02_fire_count_down_timer.wait_time = 60 c02_fire_count_down_timer.wait_time = 10
c02_fire_count_down_timer.one_shot = false c02_fire_count_down_timer.one_shot = false
c02_fire_count_down_timer.timeout.connect(_on_c02_fire_count_down_timeout) c02_fire_count_down_timer.timeout.connect(_on_c02_fire_count_down_timeout)
add_child(c02_fire_count_down_timer) add_child(c02_fire_count_down_timer)
@ -54,6 +54,8 @@ func _on_c02_fire_count_down_timeout():
# c02_9小蝉_游戏失败效果 # c02_9小蝉_游戏失败效果
var sfx = preload("uid://chebys30sd8ee") var sfx = preload("uid://chebys30sd8ee")
AudioManager.play_sfx(sfx) AudioManager.play_sfx(sfx)
await get_tree().create_timer(1.0).timeout
SceneManager.show_black_hand(true, 0.5)
await get_tree().create_timer(3.0).timeout await get_tree().create_timer(3.0).timeout
SceneManager.get_ground_loader().transition_to_scene("c02_s03", "4") SceneManager.get_ground_loader().transition_to_scene("c02_s03", "4")
# TODO 音效 # TODO 音效

View File

@ -22,6 +22,7 @@ func _ready():
func get_ground_loader() -> GroundLoader: func get_ground_loader() -> GroundLoader:
return get_node_or_null("/root/Main/GroundLoader") as GroundLoader return get_node_or_null("/root/Main/GroundLoader") as GroundLoader
# restart scene in debug launch... # restart scene in debug launch...
func is_restarting() -> bool: func is_restarting() -> bool:
var ground = get_ground() var ground = get_ground()
@ -354,3 +355,16 @@ func show_bag():
func quit_game(): func quit_game():
ArchiveManager.save_all() ArchiveManager.save_all()
get_tree().quit() get_tree().quit()
###### Effects
# 黑手
var black_hand_scene = preload("uid://d2ftpqvtvl00h")
func show_black_hand(play_sfx := true, queue_free_delay := 0.0):
var hand = black_hand_scene.instantiate()
hand.name = "BlackHand"
get_tree().current_scene.add_child(hand)
hand.run_effect(play_sfx, queue_free_delay)

View File

@ -25,7 +25,7 @@
[ext_resource type="Texture2D" uid="uid://dy488fl2ijtb4" path="res://asset/art/ui/inverted_point_light_masks/021.png" id="23_t66ls"] [ext_resource type="Texture2D" uid="uid://dy488fl2ijtb4" path="res://asset/art/ui/inverted_point_light_masks/021.png" id="23_t66ls"]
[ext_resource type="Texture2D" uid="uid://bo2ee2uhsp6l2" path="res://asset/art/ui/inverted_point_light_masks/022.png" id="24_1ylis"] [ext_resource type="Texture2D" uid="uid://bo2ee2uhsp6l2" path="res://asset/art/ui/inverted_point_light_masks/022.png" id="24_1ylis"]
[ext_resource type="Texture2D" uid="uid://gxl7kkkkq5vd" path="res://asset/art/ui/inverted_point_light_masks/023.png" id="25_dvr6b"] [ext_resource type="Texture2D" uid="uid://gxl7kkkkq5vd" path="res://asset/art/ui/inverted_point_light_masks/023.png" id="25_dvr6b"]
[ext_resource type="Script" uid="uid://dts3vcdacsvh" path="res://scene/shading/fog.gd" id="26_wm1nd"] [ext_resource type="Script" uid="uid://dts3vcdacsvh" path="res://scene/effect/fog.gd" id="26_wm1nd"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jw18h"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_jw18h"]
noise_type = 2 noise_type = 2

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=8 format=3 uid="uid://h0s5ms7r7d8g"] [gd_scene load_steps=8 format=3 uid="uid://h0s5ms7r7d8g"]
[ext_resource type="Shader" uid="uid://cr3jq30n7muy4" path="res://scene/shading/ghost.gdshader" id="1_n4q4i"] [ext_resource type="Shader" uid="uid://cr3jq30n7muy4" path="res://scene/effect/ghost.gdshader" id="1_n4q4i"]
[ext_resource type="Texture2D" uid="uid://bc64s5xfysrc3" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_夜晚.png" id="4_lap87"] [ext_resource type="Texture2D" uid="uid://bc64s5xfysrc3" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_夜晚.png" id="4_lap87"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fv2fx"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_fv2fx"]

View File

@ -1,13 +1,13 @@
[gd_scene load_steps=43 format=3 uid="uid://3gk1gxwanw24"] [gd_scene load_steps=43 format=3 uid="uid://3gk1gxwanw24"]
[ext_resource type="Script" uid="uid://lxjflxn04684" path="res://scene/shading/shading_layer.gd" id="1_6w7er"] [ext_resource type="Script" uid="uid://lxjflxn04684" path="res://scene/effect/shading_layer.gd" id="1_6w7er"]
[ext_resource type="Shader" uid="uid://do181iuabeoom" path="res://asset/shader/vignette.gdshader" id="1_akp6k"] [ext_resource type="Shader" uid="uid://do181iuabeoom" path="res://asset/shader/vignette.gdshader" id="1_akp6k"]
[ext_resource type="Texture2D" uid="uid://dibfvlmarlkg6" path="res://asset/art/scene/c02/旧版/s01_街道/bg_公寓入口.png" id="2_r3a31"] [ext_resource type="Texture2D" uid="uid://dibfvlmarlkg6" path="res://asset/art/scene/c02/旧版/s01_街道/bg_公寓入口.png" id="2_r3a31"]
[ext_resource type="Shader" uid="uid://bg7cjm3cust3p" path="res://asset/shader/glitcheffect.gdshader" id="3_qjv5u"] [ext_resource type="Shader" uid="uid://bg7cjm3cust3p" path="res://asset/shader/glitcheffect.gdshader" id="3_qjv5u"]
[ext_resource type="Shader" uid="uid://cwuxtdwmhahhp" path="res://asset/shader/palette.gdshader" id="4_n5nu8"] [ext_resource type="Shader" uid="uid://cwuxtdwmhahhp" path="res://asset/shader/palette.gdshader" id="4_n5nu8"]
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="4_sglhm"] [ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="4_sglhm"]
[ext_resource type="Texture2D" uid="uid://36k1j0qw66tm" path="res://asset/shader/palette/bloodmoon21-1x.png" id="5_ios50"] [ext_resource type="Texture2D" uid="uid://36k1j0qw66tm" path="res://asset/shader/palette/bloodmoon21-1x.png" id="5_ios50"]
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="7_7084x"] [ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="7_7084x"]
[ext_resource type="Material" uid="uid://7wllwmfkfvsb" path="res://asset/shader/cloud.tres" id="7_cmfij"] [ext_resource type="Material" uid="uid://7wllwmfkfvsb" path="res://asset/shader/cloud.tres" id="7_cmfij"]
[ext_resource type="Shader" uid="uid://3lssj7jwlhxl" path="res://asset/shader/chromatic_abberation.gdshader" id="8_b0unx"] [ext_resource type="Shader" uid="uid://3lssj7jwlhxl" path="res://asset/shader/chromatic_abberation.gdshader" id="8_b0unx"]
[ext_resource type="Texture2D" uid="uid://bmlhwa80lywa3" path="res://asset/art/ui/inverted_point_light_masks/000.png" id="8_v5h2g"] [ext_resource type="Texture2D" uid="uid://bmlhwa80lywa3" path="res://asset/art/ui/inverted_point_light_masks/000.png" id="8_v5h2g"]

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -3,15 +3,15 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bhl1b5ren8emk" uid="uid://bhl1b5ren8emk"
path="res://.godot/imported/smoke.png-6594d98b9f388075486a8864d514070c.ctex" path="res://.godot/imported/smoke.png-d6fe8f3d722987ede5ddae176417a3ab.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://scene/shading/smoke.png" source_file="res://scene/effect/smoke.png"
dest_files=["res://.godot/imported/smoke.png-6594d98b9f388075486a8864d514070c.ctex"] dest_files=["res://.godot/imported/smoke.png-d6fe8f3d722987ede5ddae176417a3ab.ctex"]
[params] [params]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=5 format=3 uid="uid://bwce0niymxrou"] [gd_scene load_steps=5 format=3 uid="uid://bwce0niymxrou"]
[ext_resource type="Texture2D" uid="uid://bhl1b5ren8emk" path="res://scene/shading/smoke.png" id="1_705e3"] [ext_resource type="Texture2D" uid="uid://bhl1b5ren8emk" path="res://scene/effect/smoke.png" id="1_705e3"]
[sub_resource type="Curve" id="Curve_r8ddf"] [sub_resource type="Curve" id="Curve_r8ddf"]
_limits = [-2.0, 2.0, -1.0, 1.0] _limits = [-2.0, 2.0, -1.0, 1.0]

21
scene/effect/黑手.gd Normal file
View File

@ -0,0 +1,21 @@
extends CanvasLayer
func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_EFFECT
func run_effect(play_sfx := true, queue_free_delay := 0.0):
if not is_node_ready():
await ready
var aplayer = $AnimationPlayer as AnimationPlayer
aplayer.play("双手捂屏幕")
if play_sfx:
$"Sfx捂手音效".play()
aplayer.animation_finished.connect(_on_animation_finished.bind(queue_free_delay))
func _on_animation_finished(_a, queue_free_delay):
if queue_free_delay > 0:
await get_tree().create_timer(queue_free_delay).timeout
queue_free()

View File

@ -0,0 +1 @@
uid://bd0ev6tgqlx3r

141
scene/effect/黑手.tscn Normal file
View File

@ -0,0 +1,141 @@
[gd_scene load_steps=9 format=3 uid="uid://d2ftpqvtvl00h"]
[ext_resource type="Texture2D" uid="uid://hv6bqkjw4clv" path="res://asset/art/scene/c02/结尾演出小蝶分镜特写/e_黑手左.png" id="1_mvq0r"]
[ext_resource type="Script" uid="uid://bd0ev6tgqlx3r" path="res://scene/effect/黑手.gd" id="1_oa0hm"]
[ext_resource type="Texture2D" uid="uid://coilus3pohj5j" path="res://asset/art/scene/c02/结尾演出小蝶分镜特写/e_黑手右.png" id="2_2evqm"]
[ext_resource type="AudioStream" uid="uid://b8sbtn3l37uh" path="res://asset/audio/sfx/旧版/c02/红屏.mp3" id="2_gd1dm"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_gy14l"]
[sub_resource type="Animation" id="Animation_oa0hm"]
resource_name = "双手捂屏幕"
length = 3.0
step = 0.02
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("黑手左:position")
tracks/0/interp = 2
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1, 2.8),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(-131, 253), Vector2(9, 217), Vector2(86, 191), Vector2(288, 132)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("黑手右:position")
tracks/1/interp = 2
tracks/1/loop_wrap = false
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5, 1.02, 2.8),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(694, 244), Vector2(554, 216), Vector2(418, 190), Vector2(291, 132)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("黑手左:scale")
tracks/2/interp = 2
tracks/2/loop_wrap = false
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.9, 2.3, 2.8),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(0.8, 0.8), Vector2(1.2, 1.2), Vector2(2, 2), Vector2(2.5, 2.5)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("黑手右:scale")
tracks/3/interp = 2
tracks/3/loop_wrap = false
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.9, 2.3, 2.8),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(0.8, 0.8), Vector2(1.2, 1.2), Vector2(2, 2), Vector2(2.5, 2.5)]
}
[sub_resource type="Animation" id="Animation_gd1dm"]
length = 0.001
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),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(-131, 253)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("黑手右:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(694, 244)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("黑手左:scale")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("黑手右:scale")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_43ipm"]
_data = {
&"RESET": SubResource("Animation_gd1dm"),
&"双手捂屏幕": SubResource("Animation_oa0hm")
}
[node name="黑手Effect" type="CanvasLayer"]
script = ExtResource("1_oa0hm")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_43ipm")
}
[node name="Sfx捂手音效" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_gd1dm")
bus = &"game_sfx"
script = ExtResource("3_gy14l")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="黑手左" type="Sprite2D" parent="."]
position = Vector2(-131, 253)
texture = ExtResource("1_mvq0r")
offset = Vector2(150, 0)
[node name="黑手右" type="Sprite2D" parent="."]
position = Vector2(694, 244)
texture = ExtResource("2_2evqm")
offset = Vector2(-150, 0)

View File

@ -1,124 +0,0 @@
@tool
extends Node2D
signal sign_mark_offset_updated
# sign_mark 节点在 ready 时会直接读取
@export var sign_mark_offset := Vector2.ZERO:
set(val):
sign_mark_offset = val
sign_mark_offset_updated.emit(val)
@export var reload := false:
set(val):
_reload()
reload = false
@export var sprite_name := "name":
set(val):
if sprite_name and sprite_name != val:
_remove_sprite(sprite_name)
sprite_name = val
_reload()
@export var texture: Texture2D:
set(val):
texture = val
_reload()
@export var sprite_scale := 1.0:
set(val):
sprite_scale = val
_update_sprite_transform(true)
@export var sprite_ref: Sprite2D
const RATIO = 4.0
@onready var sign_mark = %Sign as Sign
@onready var area2d = %Area2D as Area2D
func _ready() -> void:
_reload()
set_notify_transform(true)
# set_notify_local_transform(true)
item_rect_changed.connect(_update_sprite_transform)
if Engine.is_editor_hint():
return
area2d.body_entered.connect(_reset)
area2d.body_exited.connect(_on_cancel)
sign_mark.interacted.connect(_on_interacted)
sign_mark.cancel.connect(_on_cancel)
func _notification(what: int) -> void:
if what == NOTIFICATION_TRANSFORM_CHANGED:
if not is_node_ready():
await ready
_update_sprite_transform()
func _reload():
if not texture or not sprite_name:
return
var layer = _get_hd_layer()
if not layer:
return
sprite_ref = layer.get_node_or_null(sprite_name) as Sprite2D
if not sprite_ref:
sprite_ref = Sprite2D.new()
layer.add_child(sprite_ref)
sprite_ref.owner = layer
sprite_ref.name = sprite_name
sprite_ref.texture = texture
sprite_ref.z_index = 0
sprite_ref.centered = true
sprite_ref.visible = true
_update_sprite_transform()
func _remove_sprite(sprite_node_name):
if sprite_ref:
sprite_ref.queue_free()
sprite_ref = null
if not sprite_name:
return
var layer = _get_hd_layer()
if layer:
var sprite = layer.get_node_or_null(sprite_node_name)
layer.remove_child(sprite)
sprite.queue_free()
func _get_hd_layer() -> CanvasLayer:
return get_node_or_null("../../SubViewportContainer/SubViewport/HdLayer") as CanvasLayer
func _update_sprite_transform(update_scale := false):
if not sprite_ref:
return
sprite_ref.global_position = global_position * RATIO
if update_scale:
sprite_ref.scale = Vector2(sprite_scale, sprite_scale)
var interacted = false
var cancel_time = 0.0
func _on_interacted() -> void:
if Time.get_ticks_msec() - cancel_time < 700:
return
if interacted:
_on_cancel()
return
interacted = true
SceneManager.get_camera_marker().tween_zoom(1.8)
SceneManager.focus_node(self)
# DialogueManager.show_dialogue_balloon(dialog, "diyizhang_01_03_mimi3")
func _on_cancel(_body = null):
SceneManager.focus_player_and_reset_zoom()
interacted = false
cancel_time = Time.get_ticks_msec()
func _reset(_body):
interacted = false

View File

@ -1 +0,0 @@
uid://c5hjtm0kn3ig3

View File

@ -1,39 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://bj4ufua0b0k34"]
[ext_resource type="Script" uid="uid://c5hjtm0kn3ig3" path="res://scene/entity/hd_entity.gd" id="1_fp2a8"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_eiqig"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_5dpvj"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="3_jupnr"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_oxpta"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gffp4"]
resource_local_to_scene = true
size = Vector2(20, 70)
[node name="HdEntity" type="Marker2D"]
script = ExtResource("1_fp2a8")
[node name="Sfx" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("2_eiqig")
bus = &"game_sfx"
script = ExtResource("3_5dpvj")
[node name="Sign" parent="." instance=ExtResource("3_jupnr")]
unique_name_in_owner = true
[node name="PointLight2D" type="PointLight2D" parent="."]
unique_name_in_owner = true
position = Vector2(0, -35)
scale = Vector2(0.2, 0.2)
energy = 0.0
texture = ExtResource("3_oxpta")
texture_scale = 0.5
[node name="Area2D" type="Area2D" parent="."]
unique_name_in_owner = true
collision_layer = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
unique_name_in_owner = true
shape = SubResource("RectangleShape2D_gffp4")

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://dayyx4jerj7io"] [gd_scene load_steps=8 format=3 uid="uid://dayyx4jerj7io"]
[ext_resource type="Script" uid="uid://bee4ot74k4wg2" path="res://scene/ground/ground.gd" id="1_0vrlo"] [ext_resource type="Script" uid="uid://bee4ot74k4wg2" path="res://scene/ground/ground.gd" id="1_0vrlo"]
[ext_resource type="PackedScene" uid="uid://cjhw5ecygrqty" path="res://scene/player/main_player.tscn" id="3_atha7"] [ext_resource type="PackedScene" uid="uid://cjhw5ecygrqty" path="res://scene/player/main_player.tscn" id="3_atha7"]
@ -6,13 +6,6 @@
[ext_resource type="PackedScene" uid="uid://cqkeegrcdjyg4" path="res://scene/ground/camera/camera_focus_marker.tscn" id="4_mgk0a"] [ext_resource type="PackedScene" uid="uid://cqkeegrcdjyg4" path="res://scene/ground/camera/camera_focus_marker.tscn" id="4_mgk0a"]
[ext_resource type="Script" uid="uid://dpnny2y808k71" path="res://config/audio/random_audio_stream_player.gd" id="5_7mb2q"] [ext_resource type="Script" uid="uid://dpnny2y808k71" path="res://config/audio/random_audio_stream_player.gd" id="5_7mb2q"]
[sub_resource type="GDScript" id="GDScript_qxugl"]
script/source = "extends CanvasLayer
func _ready() -> void:
layer = GlobalConfig.CANVAS_LAYER_HD_ENTITY
"
[sub_resource type="Gradient" id="Gradient_p7aaq"] [sub_resource type="Gradient" id="Gradient_p7aaq"]
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1) colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1)
@ -72,22 +65,6 @@ offset = Vector2(0, -120)
unique_name_in_owner = true unique_name_in_owner = true
points = PackedVector2Array(37, 150, 519, 150) points = PackedVector2Array(37, 150, 519, 150)
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
offset_right = 2256.0
offset_bottom = 1268.0
scale = Vector2(0.25, 0.25)
mouse_filter = 2
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
transparent_bg = true
handle_input_locally = false
canvas_item_default_texture_filter = 0
size = Vector2i(2256, 1268)
render_target_update_mode = 4
[node name="HdLayer" type="CanvasLayer" parent="SubViewportContainer/SubViewport"]
script = SubResource("GDScript_qxugl")
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."] [node name="DirectionalLight2D" type="DirectionalLight2D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
blend_mode = 2 blend_mode = 2

View File

@ -1,38 +1,6 @@
[gd_scene load_steps=9 format=3 uid="uid://clxgkj80yin2"] [gd_scene load_steps=2 format=3 uid="uid://clxgkj80yin2"]
[ext_resource type="Script" uid="uid://ec4w1mj0g6hw" path="res://scene/ground/ground_loader.gd" id="1_6mjre"] [ext_resource type="Script" uid="uid://ec4w1mj0g6hw" path="res://scene/ground/ground_loader.gd" id="1_6mjre"]
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="2_o1iiq"]
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="3_5t7s3"]
[ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="4_o1iiq"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_e16yg"]
noise_type = 2
fractal_type = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_gvcke"]
width = 1600
height = 400
seamless = true
seamless_blend_skirt = 0.25
noise = SubResource("FastNoiseLite_e16yg")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_j5cou"]
resource_local_to_scene = true
shader = ExtResource("3_5t7s3")
shader_parameter/noise = SubResource("NoiseTexture2D_gvcke")
shader_parameter/grey_level = 0.6
shader_parameter/speed = 0.5
[sub_resource type="SpriteFrames" id="SpriteFrames_fx3fv"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("4_o1iiq")
}],
"loop": false,
"name": &"default",
"speed": 5.0
}]
[node name="GroundLoader" type="Node2D"] [node name="GroundLoader" type="Node2D"]
script = ExtResource("1_6mjre") script = ExtResource("1_6mjre")
@ -67,12 +35,3 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2 mouse_filter = 2
color = Color(0, 0, 0, 0) color = Color(0, 0, 0, 0)
[node name="Fog" parent="MaskLayer" instance=ExtResource("2_o1iiq")]
visible = false
z_index = 5
material = SubResource("ShaderMaterial_j5cou")
position = Vector2(330, -48)
sprite_frames = SubResource("SpriteFrames_fx3fv")
animation = &"default"
frame = 0

View File

@ -105,6 +105,7 @@ func _on_paper_interacted():
right_door.holding = false right_door.holding = false
await SceneManager.get_inspector().quit_and_hidden await SceneManager.get_inspector().quit_and_hidden
$"捡起纸片后开门声".play() $"捡起纸片后开门声".play()
SceneManager.pop_center_notification(tr("ui_right_click_prop"))
# 钢琴音效,每次按下播放不同音符 # 钢琴音效,每次按下播放不同音符

View File

@ -825,14 +825,7 @@ position = Vector2(21, 39)
texture = ExtResource("3_vmr0f") texture = ExtResource("3_vmr0f")
offset = Vector2(0, 0) offset = Vector2(0, 0)
[node name="SubViewportContainer" parent="Ground" index="7"] [node name="DirectionalLight2D" parent="Ground" index="7"]
offset_top = -2.0
offset_bottom = 1266.0
[node name="HdLayer" parent="Ground/SubViewportContainer/SubViewport" index="0"]
layer = -1
[node name="DirectionalLight2D" parent="Ground" index="8"]
rotation = -0.000622023 rotation = -0.000622023
energy = 0.3 energy = 0.3
blend_mode = 1 blend_mode = 1

View File

@ -24,7 +24,7 @@
[ext_resource type="AudioStream" uid="uid://cwq0jaa708tf1" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_秋千声音.wav" id="12_huyl5"] [ext_resource type="AudioStream" uid="uid://cwq0jaa708tf1" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_秋千声音.wav" id="12_huyl5"]
[ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="12_idjp0"] [ext_resource type="PackedScene" uid="uid://cw3q5pvciumil" path="res://scene/entity/interactable.tscn" id="12_idjp0"]
[ext_resource type="AudioStream" uid="uid://mfu0btujldql" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_跷跷板声音.wav" id="13_phmvd"] [ext_resource type="AudioStream" uid="uid://mfu0btujldql" path="res://asset/audio/sfx/环境音/序章/02_孤儿院走廊_跷跷板声音.wav" id="13_phmvd"]
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="14_d5def"] [ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="14_d5def"]
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="15_22a7a"] [ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="15_22a7a"]
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="15_q7j0p"] [ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="15_q7j0p"]
[ext_resource type="AudioStream" uid="uid://bv7std2s8bb0p" path="res://asset/audio/sfx/环境音/序章/童谣.wav" id="15_qq2uh"] [ext_resource type="AudioStream" uid="uid://bv7std2s8bb0p" path="res://asset/audio/sfx/环境音/序章/童谣.wav" id="15_qq2uh"]

View File

@ -6,7 +6,7 @@
[ext_resource type="Texture2D" uid="uid://bbuskt4kwkwpl" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_黄昏.png" id="3_l7171"] [ext_resource type="Texture2D" uid="uid://bbuskt4kwkwpl" path="res://asset/art/scene/c01/s07_书店外/bg_书店外_黄昏.png" id="3_l7171"]
[ext_resource type="AudioStream" uid="uid://cxwvfeuq4o71o" path="res://asset/audio/sfx/环境音/序章/03_书店外黄昏.wav" id="3_na2nu"] [ext_resource type="AudioStream" uid="uid://cxwvfeuq4o71o" path="res://asset/audio/sfx/环境音/序章/03_书店外黄昏.wav" id="3_na2nu"]
[ext_resource type="Texture2D" uid="uid://dklacql2hdtwv" path="res://asset/art/scene/c01/s07_书店外/e_装饰 书店外黄昏.png" id="4_8do8y"] [ext_resource type="Texture2D" uid="uid://dklacql2hdtwv" path="res://asset/art/scene/c01/s07_书店外/e_装饰 书店外黄昏.png" id="4_8do8y"]
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="4_62isb"] [ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="4_62isb"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_c7jb6"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_c7jb6"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_ulvsd"] [ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_ulvsd"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="5_3pha1"] [ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="5_3pha1"]

View File

@ -7,12 +7,12 @@
[ext_resource type="Texture2D" uid="uid://gpwul4tcu43h" path="res://asset/art/scene/c01/s09_公寓楼外/bg_黄包车裁剪场景.png" id="3_828bq"] [ext_resource type="Texture2D" uid="uid://gpwul4tcu43h" path="res://asset/art/scene/c01/s09_公寓楼外/bg_黄包车裁剪场景.png" id="3_828bq"]
[ext_resource type="AudioStream" uid="uid://cyy88bgsvf3e2" path="res://asset/audio/sfx/环境音/序章/06_公寓楼道_花枯萎.wav" id="3_b5sdk"] [ext_resource type="AudioStream" uid="uid://cyy88bgsvf3e2" path="res://asset/audio/sfx/环境音/序章/06_公寓楼道_花枯萎.wav" id="3_b5sdk"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_3f7n1"] [ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="4_3f7n1"]
[ext_resource type="PackedScene" uid="uid://h0s5ms7r7d8g" path="res://scene/shading/ghost.tscn" id="4_wqm5r"] [ext_resource type="PackedScene" uid="uid://h0s5ms7r7d8g" path="res://scene/effect/ghost.tscn" id="4_wqm5r"]
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="5_hy0mc"] [ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="5_hy0mc"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="5_pssh2"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="5_pssh2"]
[ext_resource type="AudioStream" uid="uid://c1orqd7uxh8iu" path="res://asset/audio/sfx/环境音/序章/05_诡异通用_2.wav" id="6_lrqbi"] [ext_resource type="AudioStream" uid="uid://c1orqd7uxh8iu" path="res://asset/audio/sfx/环境音/序章/05_诡异通用_2.wav" id="6_lrqbi"]
[ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="7_828bq"] [ext_resource type="Texture2D" uid="uid://dol25yn3fixim" path="res://asset/art/fog_mask.png" id="7_828bq"]
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="7_wrhtk"] [ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="7_wrhtk"]
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="8_0ohlv"] [ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="8_0ohlv"]
[ext_resource type="SpriteFrames" uid="uid://c2peyi2l65h47" path="res://asset/art/gif/c01_公寓外街道/c01_公寓外街道_frames.tres" id="10_0ohlv"] [ext_resource type="SpriteFrames" uid="uid://c2peyi2l65h47" path="res://asset/art/gif/c01_公寓外街道/c01_公寓外街道_frames.tres" id="10_0ohlv"]
[ext_resource type="Script" uid="uid://dxq5c05ab7uyu" path="res://scene/ground/script/c01/s00_ghost_footstep.gd" id="11_6w7lv"] [ext_resource type="Script" uid="uid://dxq5c05ab7uyu" path="res://scene/ground/script/c01/s00_ghost_footstep.gd" id="11_6w7lv"]

View File

@ -11,7 +11,7 @@
[ext_resource type="PackedScene" uid="uid://svvlohuicvhf" path="res://scene/entity/ambient/light.tscn" id="5_kywnm"] [ext_resource type="PackedScene" uid="uid://svvlohuicvhf" path="res://scene/entity/ambient/light.tscn" id="5_kywnm"]
[ext_resource type="PackedScene" uid="uid://dnbutraty2285" path="res://scene/entity/partical/particals_ash_vertical.tscn" id="6_mfjjt"] [ext_resource type="PackedScene" uid="uid://dnbutraty2285" path="res://scene/entity/partical/particals_ash_vertical.tscn" id="6_mfjjt"]
[ext_resource type="PackedScene" uid="uid://ci34db7xool2n" path="res://scene/ground/script/c01/s01_书店外_自动枯萎的花朵.tscn" id="7_aq8vg"] [ext_resource type="PackedScene" uid="uid://ci34db7xool2n" path="res://scene/ground/script/c01/s01_书店外_自动枯萎的花朵.tscn" id="7_aq8vg"]
[ext_resource type="PackedScene" uid="uid://h0s5ms7r7d8g" path="res://scene/shading/ghost.tscn" id="8_gk0gq"] [ext_resource type="PackedScene" uid="uid://h0s5ms7r7d8g" path="res://scene/effect/ghost.tscn" id="8_gk0gq"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="9_nqlku"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="9_nqlku"]
[ext_resource type="Script" uid="uid://dxq5c05ab7uyu" path="res://scene/ground/script/c01/s00_ghost_footstep.gd" id="10_1tspp"] [ext_resource type="Script" uid="uid://dxq5c05ab7uyu" path="res://scene/ground/script/c01/s00_ghost_footstep.gd" id="10_1tspp"]
[ext_resource type="PackedScene" uid="uid://cn1ypquvs07wx" path="res://scene/ground/script/c01/s12_飘动的寻人启事.tscn" id="11_pwu7i"] [ext_resource type="PackedScene" uid="uid://cn1ypquvs07wx" path="res://scene/ground/script/c01/s12_飘动的寻人启事.tscn" id="11_pwu7i"]
@ -21,7 +21,7 @@
[ext_resource type="SpriteFrames" uid="uid://db7m3aks5w65j" path="res://asset/art/gif/c01_书店外街道_夜晚小孩害怕/c01_书店外街道_夜晚小孩害怕_frames.tres" id="14_7jjl5"] [ext_resource type="SpriteFrames" uid="uid://db7m3aks5w65j" path="res://asset/art/gif/c01_书店外街道_夜晚小孩害怕/c01_书店外街道_夜晚小孩害怕_frames.tres" id="14_7jjl5"]
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="14_ct084"] [ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="14_ct084"]
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="14_guu7t"] [ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="14_guu7t"]
[ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/shading/fog.tscn" id="15_pvvjq"] [ext_resource type="PackedScene" uid="uid://bicuc35kbn8hd" path="res://scene/effect/fog.tscn" id="15_pvvjq"]
[ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="16_guu7t"] [ext_resource type="Shader" uid="uid://bcfnbll451i2r" path="res://asset/shader/fog.gdshader" id="16_guu7t"]
[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="17_nta2f"] [ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="17_nta2f"]
[ext_resource type="Texture2D" uid="uid://5byh65ppidsu" path="res://asset/art/scene/c01/s07_书店外/书店外街道夜晚 参考.png" id="18_0xa0c"] [ext_resource type="Texture2D" uid="uid://5byh65ppidsu" path="res://asset/art/scene/c01/s07_书店外/书店外街道夜晚 参考.png" id="18_0xa0c"]

View File

@ -79,9 +79,6 @@ func _on_ground_ready() -> void:
# 奠字 + 纸钱 # 奠字 + 纸钱
$"../DeployLayer/新背景_奠".visible = true $"../DeployLayer/新背景_奠".visible = true
bully_layer = $"../DeployLayer/霸凌"
burning_layer = $"../DeployLayer/火灾"
small_shoe = $"../DeployLayer/Pickable小鞋子" as Pickable2D small_shoe = $"../DeployLayer/Pickable小鞋子" as Pickable2D
if ArchiveManager.get_global_value("c02_madman_interacted", false) and not data.camera_played: if ArchiveManager.get_global_value("c02_madman_interacted", false) and not data.camera_played:
@ -109,6 +106,8 @@ func _on_ground_ready() -> void:
elif data.camera_played: elif data.camera_played:
small_shoe.enabled = true small_shoe.enabled = true
bully_layer = $"../DeployLayer/霸凌"
burning_layer = $"../DeployLayer/火灾"
if ArchiveManager.get_global_value("c02_ball_game_stage", 0) >= 3: if ArchiveManager.get_global_value("c02_ball_game_stage", 0) >= 3:
_setup_bully_or_burning(true) _setup_bully_or_burning(true)
@ -178,7 +177,11 @@ func eavesdrop() -> void:
ArchiveManager.set_global_entry("c02_eavesdrop_finished", true) ArchiveManager.set_global_entry("c02_eavesdrop_finished", true)
func _setup_bully_or_burning(reenter_scene:=false): func _setup_bully_or_burning(reenter_scene := false):
if not ArchiveManager.get_global_value("c02_eavesdrop_finished"):
# 弹珠游戏结束后就开始霸凌,此时禁止偷听。第一章结束后(火灾结束),第二章再偷听
$"../DeployLayer/Ambush偷听对话".enabled = false
eavesdrop_window.visible = false
if ArchiveManager.get_global_value("c02_burning_end"): if ArchiveManager.get_global_value("c02_burning_end"):
# 火灾演出完全结束 # 火灾演出完全结束
burning_layer.visible = false burning_layer.visible = false
@ -226,6 +229,7 @@ func bully_ambush():
sdf2d.finished.connect(func(): sdf2d.volume_db -= 5, CONNECT_ONE_SHOT) sdf2d.finished.connect(func(): sdf2d.volume_db -= 5, CONNECT_ONE_SHOT)
await animation_finished await animation_finished
func bully_end(): func bully_end():
SceneManager.release_player() SceneManager.release_player()
# #TODO 小猫玩具微亮 # #TODO 小猫玩具微亮
@ -280,7 +284,6 @@ func _on_counter_interacted():
SceneManager.release_player() SceneManager.release_player()
func run_away(): func run_away():
SceneManager.pop_debug_dialog_info("美术", "牵手跑开") SceneManager.pop_debug_dialog_info("美术", "牵手跑开")
var player = SceneManager.get_player() var player = SceneManager.get_player()

View File

@ -1022,9 +1022,9 @@ position = Vector2(-88, -7)
scale = Vector2(1.08, 1.08) scale = Vector2(1.08, 1.08)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] [node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 2350, 150) points = PackedVector2Array(37, 150, 2250, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"] [node name="DirectionalLight2D" parent="Ground" index="7"]
visible = false visible = false
energy = 0.6 energy = 0.6
blend_mode = 1 blend_mode = 1

View File

@ -21,10 +21,10 @@ func _ready() -> void:
DialogueManager.show_dialogue_balloon(dialogue, "c02_s03_敲门游戏intro") DialogueManager.show_dialogue_balloon(dialogue, "c02_s03_敲门游戏intro")
await DialogueManager.dialogue_ended await DialogueManager.dialogue_ended
if ( if (
# 未偷听,或已敲门成功,则禁用 # not ArchiveManager.get_global_value("c02_eavesdrop_finished", false) or
not ArchiveManager.get_global_value("c02_eavesdrop_finished", false) # ArchiveManager.get_global_value("c02_meat_dropping", false) or
or ArchiveManager.get_global_value("c02_meat_dropping", false) # 敲门成功,则禁用
or ArchiveManager.get_global_value("c02_meat_given", false) ArchiveManager.get_global_value("c02_meat_given", false)
): ):
button.disabled = true button.disabled = true
else: else: