药车演出与招魂幡演出

This commit is contained in:
cakipaul 2025-08-08 15:46:07 +08:00
parent 970abb4e5f
commit 5adddb1492
8 changed files with 123 additions and 29 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbwknogtlqb3x"
path="res://.godot/imported/e_药车前纸人.png-c654071ed104f8898b12a70e52a58e5b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/scene/c03/s00_院子与其他/e_药车前纸人.png"
dest_files=["res://.godot/imported/e_药车前纸人.png-c654071ed104f8898b12a70e52a58e5b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -285,6 +285,7 @@ c03_s03_洗头盆,和楼道里一样的洗头盆,,,,,
c03_s03_演出结束,又是幻觉吗...{br}刚才灰衣服的男人在八音盒和照片里出现过{br}还有那个红色衣服的女孩...{br}难道说...,,,,,
c03_药车须知,抓药需足数三文,另需药方与药引,,,,,
c03_抓药铜钱不足,钱还没准备够...牌子上讲需要三文,,,,,
c03_老板被吸走,...{br}铃铛声...{br}是我梦里那个铃铛声...,,,,,
c03_s04_柜子照片,吾唯一至亲 李二弟,,,,,
c03_招魂幡鬼差,...{br}还是别乱碰了,,,,,
c03_s05_长桌,这桌上的肉竟然没有腐烂,,,,,

1 keys zh_CN _character _notes _tags zh_SH en
285 c03_s03_演出结束 又是幻觉吗...{br}刚才灰衣服的男人在八音盒和照片里出现过{br}还有那个红色衣服的女孩...{br}难道说...
286 c03_药车须知 抓药需足数三文,另需药方与药引
287 c03_抓药铜钱不足 钱还没准备够...牌子上讲需要三文
288 c03_老板被吸走 ...{br}铃铛声...{br}是我梦里那个铃铛声...
289 c03_s04_柜子照片 吾唯一至亲 李二弟
290 c03_招魂幡鬼差 ...{br}还是别乱碰了
291 c03_s05_长桌 这桌上的肉竟然没有腐烂

View File

@ -361,6 +361,7 @@
# 抓药游戏
抓药需足数三文,另需药方与药引 [ID:c03_药车须知]
钱还没准备够...牌子上讲需要三文 [ID:c03_抓药铜钱不足]
...{br}铃铛声...{br}是我梦里那个铃铛声... [ID:c03_老板被吸走]
# s04 李癞房间
吾唯一至亲 李二弟 [ID:c03_s04_柜子照片]
...{br}还是别乱碰了 [ID:c03_招魂幡鬼差]

View File

@ -22,7 +22,7 @@ func flash(visible_nodes_r1: Array, visible_nodes_r2: Array) -> void:
tween.parallel().tween_property(n, "modulate:a", 1.0, 0.03)
tween.tween_property(light, "energy", 4.0, 0.02)
tween.tween_property(light, "energy", 8.0, 0.01)
tween.tween_property(light, "energy", 3.0, 0.02)
tween.tween_property(light, "energy", 0.5, 0.1)
tween.tween_property(light, "energy", 7.0, 0.01)
for n in visible_nodes_r1:
tween.parallel().tween_callback(n.hide)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=112 format=3 uid="uid://djc2uaefhmu7"]
[gd_scene load_steps=114 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"]
@ -60,6 +60,8 @@
[ext_resource type="Script" uid="uid://chgyivvdw22cw" path="res://scene/ground/script/c02/s03_event_2d抓药游戏.gd" id="38_g0s7j"]
[ext_resource type="SpriteFrames" uid="uid://b0icyhxpj16tv" path="res://asset/art/gif/c02_谢幕演出/c02_谢幕演出_frames.tres" id="39_rnk1v"]
[ext_resource type="SpriteFrames" uid="uid://ck660fpn3004k" path="res://asset/art/gif/c03_抓药游戏/c03_抓药游戏_frames.tres" id="40_h2lyo"]
[ext_resource type="AudioStream" uid="uid://c5rgfl6ub4chw" path="res://asset/audio/sfx/交互/序章/sfx_鬼差擦肩而过.ogg" id="41_colp3"]
[ext_resource type="Texture2D" uid="uid://dbwknogtlqb3x" path="res://asset/art/scene/c03/s00_院子与其他/e_药车前纸人.png" id="42_obchk"]
[ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="42_yk6yp"]
[ext_resource type="PackedScene" uid="uid://cpxt082my5yac" path="res://scene/ground/script/c02/s03_closeup抓药游戏.tscn" id="45_fxne6"]
[ext_resource type="AudioStream" uid="uid://broetvd8vuc05" path="res://asset/audio/peiyin/c02/c02_8小男孩童谣.ogg" id="46_qqdxs"]
@ -779,6 +781,34 @@ action = 3
title_filter = "c03"
note_key = "c03_药车须知"
[node name="Sfx2D药车铃铛声_右" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Event2D抓药游戏"]
position = Vector2(1138, 26)
stream = ExtResource("11_pjl66")
attenuation = 2.0
bus = &"game_sfx"
script = ExtResource("54_o1qbs")
metadata/_custom_type_script = "uid://wapo47a1oddf"
[node name="Sfx2D药车铃铛声_左" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/Event2D抓药游戏"]
position = Vector2(745, 14)
stream = ExtResource("11_pjl66")
attenuation = 2.0
bus = &"game_sfx"
script = ExtResource("54_o1qbs")
metadata/_custom_type_script = "uid://wapo47a1oddf"
[node name="Sfx药车鬼影擦肩" type="AudioStreamPlayer" parent="Ground/DeployLayer/Event2D抓药游戏"]
stream = ExtResource("41_colp3")
bus = &"game_sfx"
script = ExtResource("4_ygnci")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="老板红光" type="PointLight2D" parent="Ground/DeployLayer/Event2D抓药游戏"]
position = Vector2(1003, -14)
color = Color(1, 0, 0, 1)
energy = 0.0
texture = ExtResource("65_rgrem")
[node name="药车_人群" type="Node2D" parent="Ground/DeployLayer/Event2D抓药游戏"]
z_index = 20
@ -830,26 +860,20 @@ sprite_frames = SubResource("SpriteFrames_18q2p")
autoplay = "default"
[node name="小蜡烛PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Event2D抓药游戏/药车_老板"]
position = Vector2(1027.8, 16.8)
position = Vector2(1028, 18)
color = Color(0.999971, 0.912551, 0.842208, 1)
energy = 1.2
blend_mode = 2
texture = ExtResource("65_rgrem")
texture_scale = 0.3
[node name="药铺老板" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event2D抓药游戏/药车_老板"]
self_modulate = Color(1, 1, 1, 0.513726)
z_index = 6
position = Vector2(1049, 20)
sprite_frames = ExtResource("40_h2lyo")
animation = &"抓药游戏_老板出现"
animation = &"抓药游戏_老板呼吸"
autoplay = "抓药游戏_老板呼吸"
script = ExtResource("67_h2lyo")
autostart = false
action_configs = Array[Dictionary]([{
"animation_intro": &"抓药游戏_老板出现",
&"animation_next": "抓药游戏_老板呼吸",
"animation_wait_time": 0.0,
"intro_loop": 1
}])
metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="Interactable抓药道具" parent="Ground/DeployLayer/Event2D抓药游戏/药车_老板" instance=ExtResource("8_xt8j0")]
@ -868,6 +892,11 @@ enabled = false
action_key = 3
collision_width_and_x = Vector2(40, 0)
[node name="药车_纸人" type="Sprite2D" parent="Ground/DeployLayer/Event2D抓药游戏/药车_老板"]
z_index = 20
position = Vector2(1095, 58)
texture = ExtResource("42_obchk")
[node name="Closeup敲门游戏" parent="Ground/DeployLayer" index="25" instance=ExtResource("23_81juy")]
position = Vector2(466, 3)
packed_scene = ExtResource("24_0o4rt")
@ -1443,6 +1472,12 @@ bus = &"game_sfx"
script = ExtResource("4_ygnci")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="Sfx招魂幡鬼影擦肩" type="AudioStreamPlayer" parent="Ground/DeployLayer/Event2D李氏给药完成"]
stream = ExtResource("41_colp3")
bus = &"game_sfx"
script = ExtResource("4_ygnci")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="运尸车" type="Sprite2D" parent="Ground/DeployLayer/Event2D李氏给药完成"]
position = Vector2(-22, 25)
texture = ExtResource("74_f5g0l")
@ -1471,6 +1506,7 @@ metadata/_custom_type_script = "uid://cphfob11f7atx"
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Event2D李氏给药完成/鬼差吸魂"]
position = Vector2(12, -2)
color = Color(1, 0, 0, 1)
energy = 2.62
texture = ExtResource("65_rgrem")
[node name="Event第三章开幕" type="Node2D" parent="Ground/DeployLayer" index="41"]

View File

@ -25,8 +25,6 @@ func _on_ground_ready(_ground: Ground2D):
if interactable.interacted_times >= 3:
closeup.enabled = true
boss_sprite.hide()
elif interactable.interacted_times > 0:
boss_sprite.play("抓药游戏_老板出现")
closeup.exit.connect(_on_closeup_exit)
@ -44,18 +42,37 @@ func _boss_interacted(valid := true) -> void:
var camera = SceneManager.get_camera_marker()
# TODO 惊悚的音效
SceneManager.pop_debug_dialog_info("音效", "老板开始制药,稍后魂被吸走")
$"Sfx2D药车铃铛声_左".play()
var tween = create_tween()
tween.tween_interval(1.0)
tween.tween_property(camera, "force_offset:x", -100.0, 1.5)
tween.tween_interval(2.0)
tween.tween_property(camera, "force_offset:x", 0.0, 1.5)
tween.tween_property(camera, "force_offset:x", -400.0, 3.0)
tween.tween_interval(5.0)
await tween.finished
boss_sprite.play("抓药游戏_老板魂魄吸入")
await boss_sprite.animation_finished
# 运镜过去后,开始播放老板红光
var amb_light = $"老板红光" as PointLight2D
$"Sfx2D药车铃铛声_右".play()
tween = create_tween()
tween.tween_property(amb_light, "energy" , 1.5, 3.0)
tween.tween_callback($"Sfx药车鬼影擦肩".play)
tween.tween_property(amb_light, "energy" , 0.8, 0.5)
tween.tween_property(amb_light, "energy" , 1.5, 1.5)
tween.tween_interval(2.0)
tween.tween_property(amb_light, "energy" , 0.0, 2.0)
tween.parallel().tween_property(boss_sprite, "modulate:a" , 0.0, 2.0)
tween.tween_interval(2.0)
tween.tween_callback(func():
SceneManager.unlock_player()
SceneManager.pop_os_with_str("c03_老板被吸走")
)
# 运镜回来
tween = create_tween()
tween.tween_interval(1.0)
tween.tween_property(camera, "force_offset:x", 0.0, 3.0)
await tween.finished
# 不使用被吸入,而是使用红色光效
# boss_sprite.play("抓药游戏_老板魂魄吸入")
# await boss_sprite.animation_finished
closeup.enabled = true
SceneManager.unlock_player()
elif interactable.interacted_times == 1:
boss_sprite.play("抓药游戏_老板出现")
else:
var current_prop = SceneManager.get_current_prop()
if current_prop == "prop_纸铜钱1" or current_prop == "prop_2个纸铜钱":

View File

@ -31,18 +31,23 @@ func on_spirit_flag_interacted() -> void:
flash_ghost = true
elif interacted_times > 2:
#随机出现
flash_ghost = randf() > 0.9
flash_ghost = randf() > 0.75
$"招魂幡".play()
$"Sfx招魂幡".play(2.3)
if flash_ghost:
SceneManager.lock_player()
await Util.wait(2.0)
ghost_appeared_times += 1
var ghost = $"鬼差吸魂"
var nodes = [ghost]
SceneManager.flash_effect(nodes, nodes, true)
else:
$"招魂幡".play()
$"Sfx招魂幡".play(2.3)
if ghost_appeared_times == 1:
SceneManager.pop_os_with_str("c03_招魂幡鬼差")
await Util.wait(0.5)
SceneManager.flash_effect(nodes, nodes, false)
$"Sfx招魂幡鬼影擦肩".play()
await Util.wait(3.5)
if ghost_appeared_times == 1:
SceneManager.pop_os_with_str("c03_招魂幡鬼差")
SceneManager.unlock_player()
func _on_pre_stage_updated() -> void:
pass