Compare commits

...

12 Commits

44 changed files with 183 additions and 60 deletions

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://d30dh2pv67qvk"
path="res://.godot/imported/c01_书架游戏.ogg-bd25d8a6dba15aea7fc3c377f57d07ca.oggvorbisstr"
[deps]
source_file="res://asset/audio/peiyin/c01/c01_书架游戏.ogg"
dest_files=["res://.godot/imported/c01_书架游戏.ogg-bd25d8a6dba15aea7fc3c377f57d07ca.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@ -40,6 +40,7 @@ c01_7老板_5,新到的那批书堆着有碍观瞻,你赶紧去摆好。,书
c01_7小小蝶_1,...是在喊我吗?,吕萍,,,……是在和我讲话吗?,...Are you calling me?
c01_7老板_6,店员就你一个,不是你还能是谁?,书店老板,,,店里厢就侬一个人,不叫侬还能叫啥人呢?,You're the only clerk here. Who else would it be?
c01_7老板_7,手脚麻利点,不要耽误店里的生意。,书店老板,,,侬动作快点,不要影响做生意。,"Be quick about it, don't delay the shop's business."
c01_书架游戏,这些书...好像是按照图案、颜色、高低顺序来整理的。,吕萍,,,,"These books... seem to be arranged in order of pattern, color and height."
c01_8监督小孩_1,发赏钱喽!发赏钱喽!,监督小孩,,,,Handing out tips! Handing out tips!
c01_8监督小孩_2,哟,吕萍?你咋表演结束了才回来...,监督小孩,,,,"Oh, Lu Ping? Why are you only coming back after the performance ended..."
c01_8监督小孩_3,你手里攥的什么东西?给我看看,不然我就找班主告状!,监督小孩,,,,"What's that in your hand? Show me, or I'll tell the troupe master!"
@ -47,8 +48,8 @@ c01_8监督小孩_4,这上头咋还刻着个人哩,脑袋圆圆的,一根毛
c01_8监督小孩_5,吕萍,你从哪弄来的?,监督小孩,,,,"Lu Ping, where did you get this?"
c01_8小小蝶_1,你们...都看见了吗?,吕萍,,,,You... you all saw it?
c01_8幼年陆仁_1,它要来了,快跑!,陆仁,,,,"It's coming, run!"
c01_9车夫_1,哎哟,当心——,车夫,,,,"Whoa, watch out----"
c01_9车夫_2,小姐,您没吓到吧?,车夫,,,,"Miss, I hope you weren't frightened?"
c01_9车夫_1,哎哟,当心——,车夫,,[#ban_skip],,"Whoa, watch out----"
c01_9车夫_2,小姐,您没吓到吧?,车夫,,[#ban_skip],,"Miss, I hope you weren't frightened?"
c01_9小蝶_1,我刚刚...,吕萍,,,,I just...
c01_9小蝶_2,师傅,刚才怎么了?,吕萍,,,师傅,刚刚哪能了?,"Master, what just happened?"
c01_9车夫_3,斜拐弯冲出来个不长眼的「波波车」,差点就撞了!,车夫,,,,"Some blind fool in a motorcar came careening around the corner, nearly hit us!"

1 keys zh_CN _character _notes _tags zh_SH en
40 c01_7小小蝶_1 ...是在喊我吗? 吕萍 ……是在和我讲话吗? ...Are you calling me?
41 c01_7老板_6 店员就你一个,不是你还能是谁? 书店老板 店里厢就侬一个人,不叫侬还能叫啥人呢? You're the only clerk here. Who else would it be?
42 c01_7老板_7 手脚麻利点,不要耽误店里的生意。 书店老板 侬动作快点,不要影响做生意。 Be quick about it, don't delay the shop's business.
43 c01_书架游戏 这些书...好像是按照图案、颜色、高低顺序来整理的。 吕萍 These books... seem to be arranged in order of pattern, color and height.
44 c01_8监督小孩_1 发赏钱喽!发赏钱喽! 监督小孩 Handing out tips! Handing out tips!
45 c01_8监督小孩_2 哟,吕萍?你咋表演结束了才回来... 监督小孩 Oh, Lu Ping? Why are you only coming back after the performance ended...
46 c01_8监督小孩_3 你手里攥的什么东西?给我看看,不然我就找班主告状! 监督小孩 What's that in your hand? Show me, or I'll tell the troupe master!
48 c01_8监督小孩_5 吕萍,你从哪弄来的? 监督小孩 Lu Ping, where did you get this?
49 c01_8小小蝶_1 你们...都看见了吗? 吕萍 You... you all saw it?
50 c01_8幼年陆仁_1 它要来了,快跑! 陆仁 It's coming, run!
51 c01_9车夫_1 哎哟,当心—— 车夫 [#ban_skip] Whoa, watch out----
52 c01_9车夫_2 小姐,您没吓到吧? 车夫 [#ban_skip] Miss, I hope you weren't frightened?
53 c01_9小蝶_1 我刚刚... 吕萍 I just...
54 c01_9小蝶_2 师傅,刚才怎么了? 吕萍 师傅,刚刚哪能了? Master, what just happened?
55 c01_9车夫_3 斜拐弯冲出来个不长眼的「波波车」,差点就撞了! 车夫 Some blind fool in a motorcar came careening around the corner, nearly hit us!

View File

@ -59,6 +59,12 @@
书店老板: 手脚麻利点,不要耽误店里的生意。 [ID:c01_7老板_7]
=> END
~ c01_s08_书店书架游戏
吕萍: 这些书...好像是按照图案、颜色、高低顺序来整理的。 [ID:c01_书架游戏]
=> END
~ c01_s12_诡异的书店外发钱
监督小孩: 发赏钱喽!发赏钱喽! [ID:c01_8监督小孩_1]
=> END

View File

@ -96,8 +96,8 @@
# 玩家第一回合操作,平行对话
~ c03_s04_打麻将游戏2
#瞎子: 碰。[ID:c03_麻将游戏_瞎子11]
胖子: 自从那三楼的婆娘出了名以后,我这手气就臭得不行...怕不是让人给“借运”了? [ID:c03_麻将游戏_胖子11]
#癞子: 嗨 [ID:c03_麻将游戏_癞子7]
癞子: 还真不好说。运气这玩意玄乎得很。 [ID:c03_麻将游戏_癞子10]
癞子: 我以前走南闯北的时候,见过一个会使邪门功夫的老爷子。 [ID:c03_麻将游戏_癞子11]
癞子: 说是能“借”人家的命来延长自己的寿命... [ID:c03_麻将游戏_癞子12]

View File

@ -272,6 +272,9 @@ c03_s02_通风管道,?打不开,,,,,
c03_s02_小蝉的床,?小蝉的床,,,,,
c03_s02_带血的手帕,?带血的手帕,,,,,
c03_s02_小蝉寻人启事,?小蝉寻人启事,,,,,
c03_s03_纸娃娃,这些是...用来展示发型的吗?,,,,,
c03_s03_镜子,镜子上都是灰尘,,,,,
c03_s03_照完镜子,看着镜子里的自己,竟有几分陌生,,,,,
c03_s03_获得剪刀纸舌头,?✂️纸人,,,,,
c03_s03_桌子,?桌子,,,,,
c03_s03_洗头盆,?洗头盆,,,,,
@ -279,6 +282,7 @@ c03_s03_演出结束,?演出结束,刚刚他们?,,,,,
c03_药车须知,抓药需足数三文,另需药方与药引,,,,,
c03_抓药铜钱不足,钱还没准备够...牌子上讲需要三文,,,,,
c03_药方内容,生姜两片{br}竹叶十片去尖{br}经霜三年的甘蔗{br}蟋蟀一对 注:要原配,即本在一窠中者{br}金钱鼠尾辫一副 注:生剪 烧成灰兑水送服,,,,,
c03_s04_柜子照片,吾唯一至亲 李二弟,,,,,
c03_s06_没贴的寻人启事,没贴的寻人启事,,,,,
c03_s08_囚室绳子,绑得很死,直接解不开绳子。,,,,,
c03_s08_囚室醒过来,?这里是,,,,,

1 keys zh_CN _character _notes _tags zh_SH en
272 c03_s02_小蝉的床 ?小蝉的床
273 c03_s02_带血的手帕 ?带血的手帕
274 c03_s02_小蝉寻人启事 ?小蝉寻人启事
275 c03_s03_纸娃娃 这些是...用来展示发型的吗?
276 c03_s03_镜子 镜子上都是灰尘
277 c03_s03_照完镜子 看着镜子里的自己,竟有几分陌生
278 c03_s03_获得剪刀纸舌头 ?✂️纸人
279 c03_s03_桌子 ?桌子
280 c03_s03_洗头盆 ?洗头盆
282 c03_药车须知 抓药需足数三文,另需药方与药引
283 c03_抓药铜钱不足 钱还没准备够...牌子上讲需要三文
284 c03_药方内容 生姜两片{br}竹叶十片去尖{br}经霜三年的甘蔗{br}蟋蟀一对 注:要原配,即本在一窠中者{br}金钱鼠尾辫一副 注:生剪 烧成灰兑水送服
285 c03_s04_柜子照片 吾唯一至亲 李二弟
286 c03_s06_没贴的寻人启事 没贴的寻人启事
287 c03_s08_囚室绳子 绑得很死,直接解不开绳子。
288 c03_s08_囚室醒过来 ?这里是

View File

@ -352,6 +352,9 @@
?带血的手帕 [ID:c03_s02_带血的手帕]
?小蝉寻人启事 [ID:c03_s02_小蝉寻人启事]
# s03 瞎子理发店
这些是...用来展示发型的吗? [ID:c03_s03_纸娃娃]
镜子上都是灰尘 [ID:c03_s03_镜子]
看着镜子里的自己,竟有几分陌生 [ID:c03_s03_照完镜子]
?✂️纸人 [ID:c03_s03_获得剪刀纸舌头]
?桌子 [ID:c03_s03_桌子]
?洗头盆 [ID:c03_s03_洗头盆]
@ -361,6 +364,7 @@
钱还没准备够...牌子上讲需要三文 [ID:c03_抓药铜钱不足]
生姜两片{br}竹叶十片去尖{br}经霜三年的甘蔗{br}蟋蟀一对 注:要原配,即本在一窠中者{br}金钱鼠尾辫一副 注:生剪 烧成灰兑水送服 [ID:c03_药方内容]
# s04 李癞房间
吾唯一至亲 李二弟 [ID:c03_s04_柜子照片]
# s05 肉铺
# s06 胖子卧室
没贴的寻人启事 [ID:c03_s06_没贴的寻人启事]

View File

@ -32,6 +32,11 @@
陆仁: 这帮孩子们太苦了,前些天又摔坏了一个,您行行好... [ID:c01_6幼年陆仁_1]
=> END
~ c01_s08_书店老板
书店老板: 新到的那批书堆着有碍观瞻,你赶紧去摆好。 [ID:c01_7老板_5]
书店老板: 手脚麻利点,不要耽误店里的生意。 [ID:c01_7老板_7]
=> END
~ c02_疯子_01
吕萍: 不好意思师傅,你知道这里有姓吕的人家吗? [ID:c02_2疯子_小蝶开场白]
: 出去...出去... [#anonymous] [ID:c02_2疯子_1]

View File

@ -78,7 +78,7 @@ func _on_c02_fire_count_down_timeout():
func c02_fire_count_down_stop():
if c02_fire_count_down_timer:
c02_fire_count_down_timer.stop()
c02_fire_count_down_timer.queue_free()
# 停止音效
AudioManager.stop_bgm_music("霸凌救小蝉倒计时")

View File

@ -230,11 +230,11 @@ func enable_prop_item_silently(prop_key: String) -> void:
printerr("enable_prop_item_silently: PropHud node not found")
func enable_prop_item(prop_key: String) -> void:
func enable_prop_item(prop_key: String, inspect_content := false) -> void:
var prop_hud = get_prop_hud()
if prop_hud:
print("[prop] enable_prop_item prop:", prop_key)
prop_hud.enable_prop_item(prop_key)
prop_hud.enable_prop_item(prop_key, true, inspect_content)
else:
printerr("enable_prop_item PropHud node not found")

View File

@ -81,5 +81,5 @@ unique_name_in_owner = true
light_mask = 9
scale = Vector2(0.5, 0.5)
sprite_frames = ExtResource("2_3w63u")
animation = &"c03_胖子游戏_吃东西"
animation = &"c00_吕萍_idle_right"
offset = Vector2(0, -100)

View File

@ -11,6 +11,8 @@ signal exit(arg)
@export var on_display_hide_hud := false
@export var on_display_change_volumn := true
@export var on_display_changed_volumn_db := -7.0
# 转场效果 1s
@export var transition_effect := true
@export_tool_button("新建特写场景") var create_closeup_scene = _create_scene_with_script
# 在 exit 信号前,禁用 cancel
var _holding_cancel_before_exit := false
@ -42,6 +44,10 @@ func display() -> void:
SceneManager.lock_player(0, action_key)
# 展示时,禁用 sign_mark 的输入
sign_mark.pass_unhandled_input = true
# 转场效果
if transition_effect:
SceneManager.black_transition(0.5, 0.1)
await Util.wait(0.55)
current_child = packed_scene.instantiate()
add_child(current_child)
if current_child.has_signal("exit"):

View File

@ -14,6 +14,7 @@ size = Vector2(25, 70)
[node name="Closeup" type="Sprite2D"]
script = ExtResource("1_tvfr1")
transition_effect = null
collision_width_and_x = Vector2(25, 0)
unrevealed_sign_texture = ExtResource("2_dnubm")
unmatched_sign_texture = ExtResource("3_dnubm")

View File

@ -83,7 +83,7 @@ func _ready() -> void:
func _visibility_changed():
_check_display()
sign_mark.enabled = enabled and is_visible_in_tree()
func _check_display():

View File

@ -31,7 +31,7 @@ var mask: ColorRect
var left_protal: Portal2D
var shelf_game_success = false
var envelope_game_success = false
var manager
var manager: Npc2D
var mice
var fall_off
@ -44,7 +44,7 @@ func _on_ground_ready() -> void:
counter = $"../DeployLayer/Interactable报纸柜台"
coin = $"../DeployLayer/Ambush银元"
mice = $"../DeployLayer/自动跟随的老鼠"
manager = $"../DeployLayer/老板"
manager = $"../DeployLayer/Npc书店老板"
fall_off = $"../DeployLayer/小小蝶坠落"
# 首先放报纸,触发动画,领取任务
if counter.interacted_times > 0:
@ -70,8 +70,13 @@ func _on_ground_ready() -> void:
else:
mice.visible = false
_check_portal()
_refresh_npc_enable_status()
func _refresh_npc_enable_status() -> void:
# 书店老板 Npc 状态
manager.enabled = (counter.interacted_times > 0) and not shelf_game_success
func _check_portal():
if not shelf_game_success or not envelope_game_success:
left_protal.holding = true
@ -109,16 +114,21 @@ func assign_tasks() -> void:
SceneManager.unlock_player()
ladder.enabled = true
envolope_table.enabled = true
_refresh_npc_enable_status()
func _exit_tree() -> void:
if is_instance_valid(shelf_game_node):
shelf_game_node.queue_free()
var first_enter_shelf_game := true
func play_shelf_game() -> void:
if shelf_game_node.get_parent() != get_parent():
get_parent().add_child(shelf_game_node)
if first_enter_shelf_game:
first_enter_shelf_game = false
DialogueManager.show_dialogue_balloon(dialogue_c01, "c01_s08_书店书架游戏")
SceneManager.lock_player()
_toggle_amb_sfx_volumn(true)
@ -151,6 +161,7 @@ func _on_shelf_game_success() -> void:
# 从 sfx_生死簿演出 中退出时播放不出来,需要在此处播放 (global_play)
# Util.timer(0.5, $"摔倒音效".play)
_check_portal()
_refresh_npc_enable_status()
func _on_fall_off_finished() -> void:

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=23 format=3 uid="uid://cwu4dhayra8pg"]
[gd_scene load_steps=24 format=3 uid="uid://cwu4dhayra8pg"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_b3cca"]
[ext_resource type="Script" uid="uid://6q2pfbqsw10t" path="res://scene/ground/scene/c01/s08_书店.gd" id="2_0lque"]
@ -18,6 +18,7 @@
[ext_resource type="AudioStream" uid="uid://cniawn37n8888" path="res://asset/audio/sfx/交互/序章/04_书店内_递交报纸.ogg" id="9_lfr41"]
[ext_resource type="AudioStream" uid="uid://b8sbtn3l37uh" path="res://asset/audio/sfx/旧版/c02/红屏.ogg" id="9_srknn"]
[ext_resource type="Texture2D" uid="uid://bp4y3vujvsl7r" path="res://asset/art/scene/c01/s08_书店/fg_前景.png" id="10_4e3a1"]
[ext_resource type="PackedScene" uid="uid://0sofmhrl358m" path="res://scene/entity/npc.tscn" id="16_wg16e"]
[ext_resource type="PackedScene" uid="uid://decfqoe5v0y6n" path="res://scene/effect/dizzy_shader.tscn" id="18_wg16e"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_xqgjo"]
@ -163,13 +164,15 @@ trigger_mode = "interact"
cooldown_time = 1.0
hook_method = "pay_off_wage"
[node name="老板" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="9"]
position = Vector2(151, -2)
[node name="Npc书店老板" parent="Ground/DeployLayer" index="9" instance=ExtResource("16_wg16e")]
position = Vector2(151, 0)
sprite_frames = ExtResource("8_hunwx")
animation = &"老板写字"
autoplay = "老板写字"
frame = 3
frame_progress = 0.119486
offset = Vector2(1.07, 0)
enabled = false
sign_mark_height = -18.42
speaking_sign_height = 13.75
dialogue_title = "c01_s08_书店老板"
[node name="小小蝶坠落" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="10"]
visible = false

View File

@ -133,6 +133,7 @@ position = Vector2(253, -31)
texture = ExtResource("10_jg8g0")
packed_scene = ExtResource("11_jg8g0")
on_display_hide_hud = true
transition_effect = true
first_interact_os_key = "c02_海报_剪辫子侦探"
[node name="青岛啤酒" parent="Ground/DeployLayer" index="7" instance=ExtResource("12_0fckv")]
@ -229,6 +230,7 @@ gaslight_ground_energy = 0.0
[node name="Closeup八音盒" parent="Ground/DeployLayer" index="18" instance=ExtResource("19_6wwyd")]
position = Vector2(533, 65)
packed_scene = ExtResource("10_ifae7")
transition_effect = true
first_interact_os_key = "c02_s02_八音盒"
[node name="Sprite2D" type="Sprite2D" parent="Ground/DeployLayer/Closeup八音盒"]

View File

@ -799,6 +799,7 @@ prop_key3 = "prop_辫子"
[node name="Closeup抓药游戏" parent="Ground/DeployLayer/Event2D抓药游戏/药车_老板" instance=ExtResource("23_81juy")]
position = Vector2(1058, 30)
packed_scene = ExtResource("45_fxne6")
transition_effect = true
enabled = false
action_key = 3
collision_width_and_x = Vector2(40, 0)
@ -807,6 +808,7 @@ collision_width_and_x = Vector2(40, 0)
position = Vector2(466, 3)
packed_scene = ExtResource("24_0o4rt")
on_display_hide_hud = true
transition_effect = true
collision_width_and_x = Vector2(40, 0)
[node name="Ambush惊悚闪电" parent="Ground/DeployLayer" index="26" instance=ExtResource("25_iyaiw")]
@ -830,6 +832,7 @@ z_index = 6
position = Vector2(2063, 50)
packed_scene = ExtResource("26_yy4fp")
on_display_hide_hud = true
transition_effect = true
action_key = 3
[node name="Npc井边疯子" parent="Ground/DeployLayer" index="30" instance=ExtResource("35_plfv5")]
@ -1225,6 +1228,7 @@ prop_key = "prop_浆糊"
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Pickable浆糊"]
script = ExtResource("12_2b6vx")
updater_event = &"current_chapter_stage"
updater_mode = "shower"
updater_ease_duration = 0.0
updater_stages = Array[int]([3])
metadata/_custom_type_script = "uid://0wjaho6qkg6s"

View File

@ -225,6 +225,8 @@ texture = ExtResource("8_mrltr")
[node name="Closeup戏台" parent="Ground/DeployLayer" index="8" instance=ExtResource("10_2yvhw")]
position = Vector2(305, -249)
[node name="Closeup戏台" parent="Ground/DeployLayer" index="7" instance=ExtResource("10_2yvhw")]
position = Vector2(314, 30)
packed_scene = ExtResource("11_2yvhw")
on_display_hide_hud = true
first_interact_os_key = "c02_一楼戏台"

View File

@ -1236,17 +1236,20 @@ frame_progress = 0.121203
position = Vector2(322, -269)
packed_scene = ExtResource("12_intre")
quit_closeup_on_cancel = false
transition_effect = true
[node name="Closeup水盆" parent="Ground/DeployLayer" index="19" instance=ExtResource("11_owxx3")]
position = Vector2(289, 16)
packed_scene = ExtResource("16_p6da7")
on_display_hide_hud = true
transition_effect = true
first_interact_os_key = "c02_二楼水盆"
[node name="Closeup谢幕演出" parent="Ground/DeployLayer" index="20" instance=ExtResource("11_owxx3")]
position = Vector2(518, -272)
packed_scene = ExtResource("25_m28ab")
quit_closeup_on_cancel = false
transition_effect = true
action_key = 3
[node name="c02_final" type="Node2D" parent="Ground/DeployLayer" index="21"]

View File

@ -78,6 +78,7 @@ position = Vector2(292, -11)
texture = ExtResource("10_6ivku")
packed_scene = ExtResource("11_vxng8")
on_display_hide_hud = true
transition_effect = true
first_interact_os_key = "c02_海报_戏法班"
[node name="Note老鼠洞" parent="Ground/DeployLayer" index="7" instance=ExtResource("13_s75vl")]

View File

@ -150,6 +150,7 @@ position = Vector2(573, -6)
texture = ExtResource("11_amci2")
packed_scene = ExtResource("7_d27sg")
on_display_hide_hud = true
transition_effect = true
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Event2D放肉后/CloseupDemo公告"]
script = ExtResource("6_yaa68")

View File

@ -276,6 +276,7 @@ position = Vector2(193, 22)
texture = ExtResource("18_t8u8e")
packed_scene = ExtResource("13_fl7if")
on_display_hide_hud = true
transition_effect = true
sign_mark_offset = Vector2(3, -5)
enabled = false

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=26 format=3 uid="uid://bsqt2c061fmin"]
[gd_scene load_steps=27 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"]
@ -24,6 +24,7 @@
[ext_resource type="SpriteFrames" uid="uid://cmvr3lbwe3h7p" path="res://asset/art/gif/c03_特写与游戏动画/c03_特写与游戏动画_frames.tres" id="14_pkhgt"]
[ext_resource type="PackedScene" uid="uid://0sofmhrl358m" path="res://scene/entity/npc.tscn" id="15_pkhgt"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="17_fq03x"]
[ext_resource type="Texture2D" uid="uid://23m7ga6tsgja" path="res://asset/art/scene/c03/s03_瞎子理发店/纸人-抬手.png" id="24_2l5gj"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
@ -88,17 +89,21 @@ status = "opened"
unique_name_in_owner = true
position = Vector2(236, 11)
packed_scene = ExtResource("6_j7tjd")
transition_effect = true
first_interact_os_key = "c03_s03_镜子"
[node name="Closeup刮海报_鬼母子" parent="Ground/DeployLayer" index="3" instance=ExtResource("5_d40x1")]
unique_name_in_owner = true
position = Vector2(462, 5)
texture = ExtResource("7_dcuy3")
packed_scene = ExtResource("8_xtr6o")
transition_effect = true
[node name="Closeup癞子纸人" parent="Ground/DeployLayer" index="4" instance=ExtResource("5_d40x1")]
unique_name_in_owner = true
position = Vector2(343, 29)
packed_scene = ExtResource("9_4imwu")
transition_effect = true
[node name="癞子纸人" type="Sprite2D" parent="Ground/DeployLayer" index="5"]
position = Vector2(343, 49)
@ -177,6 +182,7 @@ unique_name_in_owner = true
position = Vector2(357, -213)
packed_scene = ExtResource("10_pkhgt")
quit_closeup_on_cancel = false
transition_effect = true
[node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/Event2D癞子剪辫子"]
position = Vector2(337, 29)
@ -193,6 +199,13 @@ position = Vector2(501, 46)
title_filter = "c03"
note_key = "c03_s03_洗头盆"
[node name="Note纸娃娃" parent="Ground/DeployLayer" index="9" instance=ExtResource("11_1pu6f")]
position = Vector2(146, 28)
texture = ExtResource("24_2l5gj")
offset = Vector2(12.89, 10.5)
title_filter = "c03"
note_key = "c03_s03_纸娃娃"
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(34, 98)
catty_light_energy = 0.5

View File

@ -90,6 +90,7 @@ position = Vector2(219, 63)
packed_scene = ExtResource("7_jmyby")
quit_closeup_on_cancel = false
on_display_changed_volumn_db = -20.0
transition_effect = true
[node name="Closeup麻将出千游戏" parent="Ground/DeployLayer" index="4" instance=ExtResource("6_dbkw8")]
unique_name_in_owner = true
@ -97,6 +98,7 @@ position = Vector2(219, 63)
packed_scene = ExtResource("8_jmyby")
quit_closeup_on_cancel = false
on_display_changed_volumn_db = -20.0
transition_effect = true
enabled = false
[node name="Event李氏纸人相关" type="Node2D" parent="Ground/DeployLayer" index="5"]
@ -157,6 +159,7 @@ unique_name_in_owner = true
position = Vector2(372, 40)
texture = ExtResource("11_7d7lv")
packed_scene = ExtResource("10_o2w5q")
transition_effect = true
sign_mark_offset = Vector2(0, -11.02)
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup李氏纸人"]
@ -172,8 +175,12 @@ metadata/_custom_type_script = "uid://0wjaho6qkg6s"
unique_name_in_owner = true
position = Vector2(64, 45)
packed_scene = ExtResource("23_q7jtk")
transition_effect = true
sign_mark_offset = Vector2(0, -11.02)
[node name="李弟照片" type="Sprite2D" parent="Ground/DeployLayer/Closeup柜子"]
position = Vector2(1, -15)
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 100)
catty_light_energy = 0.5

View File

@ -142,6 +142,7 @@ position = Vector2(424, 41)
texture = ExtResource("8_mv54a")
packed_scene = ExtResource("8_12how")
on_display_hide_hud = true
transition_effect = true
sign_mark_offset = Vector2(-2.6, -7.28)
[node name="Pickable新鲜的肉" parent="Ground/DeployLayer" index="4" instance=ExtResource("10_ma57s")]

View File

@ -64,6 +64,7 @@ one_shot = false
position = Vector2(466, 48)
packed_scene = ExtResource("8_1qtud")
quit_closeup_on_cancel = false
transition_effect = true
enabled = false
[node name="Note没贴的寻人启事" parent="Ground/DeployLayer" index="5" instance=ExtResource("10_481tl")]

View File

@ -132,10 +132,13 @@ script = ExtResource("23_u2kpr")
action_configs = Array[Dictionary]([{
"animation_intro": "地下呼吸帧_准备走路",
&"animation_next": "棺材怪走路",
"animation_wait_time": 0.0,
&"intro_loop": 2
}])
move_configs = Array[Dictionary]([{
"animation": "棺材怪走路",
"animation_next": "",
"duration": 1e+07,
"movement_x": 1000.0,
"velocity": Vector2(-60, 0)
}])
@ -197,6 +200,7 @@ texture = ExtResource("8_thx4k")
unique_name_in_owner = true
position = Vector2(419, 21)
packed_scene = ExtResource("15_48a3r")
transition_effect = true
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup绞肉机"]
script = ExtResource("17_e1lvl")

View File

@ -187,6 +187,7 @@ unique_name_in_owner = true
position = Vector2(62, 20)
packed_scene = ExtResource("9_w4bpd")
on_display_hide_hud = true
transition_effect = true
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/Closeup囚室门锁"]
script = ExtResource("9_oka3h")
@ -198,6 +199,7 @@ metadata/_custom_type_script = "uid://0wjaho6qkg6s"
position = Vector2(276, 2)
packed_scene = ExtResource("7_2jtaw")
on_display_hide_hud = true
transition_effect = true
[node name="囚室墙洞海报" type="Sprite2D" parent="Ground/DeployLayer" index="5"]
position = Vector2(277, 7)
@ -241,6 +243,7 @@ visible = false
position = Vector2(233, 86)
packed_scene = ExtResource("17_06t0x")
on_display_hide_hud = true
transition_effect = true
[node name="符纸" type="Sprite2D" parent="Ground/DeployLayer/Closeup符纸"]
position = Vector2(-3.57628e-07, 6)

View File

@ -362,6 +362,7 @@ position = Vector2(338, 54)
texture = ExtResource("7_kdfpp")
packed_scene = ExtResource("7_klnhf")
quit_closeup_on_cancel = false
transition_effect = true
sign_mark_offset = Vector2(0, -21.53)
collision_width_and_x = Vector2(100.52, 0)

View File

@ -261,13 +261,14 @@ position = Vector2(7820, -14)
wait_time = 2.5
autostart = true
[node name="被砍断的文字" type="Label" parent="Ground/DeployLayer" index="20"]
[node name="被砍断的文字" type="RichTextLabel" parent="Ground/DeployLayer" index="20"]
offset_left = 658.0
offset_top = -22.0
offset_right = 698.0
offset_bottom = -8.0
theme_override_fonts/font = ExtResource("19_usr2w")
theme_override_font_sizes/font_size = 20
offset_right = 966.0
offset_bottom = -1.0
theme_override_fonts/normal_font = ExtResource("19_usr2w")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "[wave]文字文字文字文字[/wave]"
[node name="PointLight2D2" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=22 format=3 uid="uid://cxabqg87g4vxc"]
[gd_scene load_steps=23 format=3 uid="uid://cxabqg87g4vxc"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_ly8ge"]
[ext_resource type="Script" uid="uid://f4uampm47832" path="res://scene/ground/scene/c03/s12_胖子游戏3.gd" id="2_c01lu"]
@ -10,6 +10,7 @@
[ext_resource type="SpriteFrames" uid="uid://cb3b44a1jpybb" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第四段/c03_胖子游戏第四段_frames.tres" id="10_7x1vi"]
[ext_resource type="Texture2D" uid="uid://dd8vkws24b5vy" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉山后 可以和背景移动速度不一样 循环贴图.png" id="10_47wdn"]
[ext_resource type="Texture2D" uid="uid://q3n7lw1ngoqh" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/遮罩 循环贴图.png" id="10_bi3i1"]
[ext_resource type="FontFile" uid="uid://bnxdsxp7dst7f" path="res://asset/font/锐字太空混元像素简繁-闪 超黑_mianfeiziti.com.ttf" id="11_mr0pm"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="11_sul0a"]
[ext_resource type="Texture2D" uid="uid://dpt0s2ujvcjs5" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉山前 可以和背景移动速度不一样 循环贴图.png" id="11_vyyx8"]
[ext_resource type="Texture2D" uid="uid://da80qq8jl8mtp" path="res://asset/art/gif/c03_胖子游戏/c03_胖子游戏第一段/肉块1.png" id="11_y18rp"]
@ -219,22 +220,24 @@ position = Vector2(850, 95)
[node name="AmbushLabel1" parent="Ground/DeployLayer" index="9" instance=ExtResource("11_sul0a")]
position = Vector2(707, 29)
[node name="太瘦弱" type="Label" parent="Ground/DeployLayer/AmbushLabel1"]
offset_left = -18.0
offset_top = -19.0
offset_right = 22.0
offset_bottom = -5.0
text = "太瘦弱了"
[node name="太瘦弱" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel1"]
offset_right = 308.0
offset_bottom = 21.0
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "[wave]太瘦弱[/wave]"
[node name="AmbushLabel2" parent="Ground/DeployLayer" index="10" instance=ExtResource("11_sul0a")]
position = Vector2(2524, 4)
[node name="保平安" type="Label" parent="Ground/DeployLayer/AmbushLabel2"]
offset_left = -18.0
offset_top = -19.0
offset_right = 22.0
offset_bottom = -5.0
text = "浇洒髫年血,将她交给我,方能保你平安"
[node name="保平安" type="RichTextLabel" parent="Ground/DeployLayer/AmbushLabel2"]
offset_right = 308.0
offset_bottom = 21.0
theme_override_fonts/normal_font = ExtResource("11_mr0pm")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "[wave]保平安[/wave]"
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(69, 103)

View File

@ -1,5 +1,7 @@
extends CanvasLayer
signal exit()
@onready var bg = $BG as TextureRect
@onready var rope_with_mahjong = $"Draggable2D麻绳" as Draggable2D
@onready var dusted_face = $"BG灰尘脸" as Control
@ -16,6 +18,9 @@ func _ready() -> void:
func _on_btn_pressed(_arg):
var parent = get_parent() as Closeup2D
if parent:
parent.hold_cancel_before_exit()
ArchiveManager.set_global_entry("c03_s03_mahjong_picked", true)
SceneManager.enable_prop_item("prop_麻将2")
rope_with_mahjong.queue_free()
@ -26,3 +31,7 @@ func _on_btn_pressed(_arg):
var tween := create_tween()
tween.tween_interval(1.5)
tween.tween_property(dusted_face, "modulate:a", 0.0, 1.5)
tween.tween_interval(2.0)
await tween.finished
Util.timer(0.5, SceneManager.pop_os_with_str.bind("c03_s03_照完镜子"))
exit.emit()

View File

@ -19,16 +19,18 @@ func _on_majhong_interacted() -> void:
SceneManager.enable_prop_item("prop_麻将")
func _on_drug_spec_interacted() -> void:
SceneManager.enable_prop_item("prop_药方")
SceneManager.enable_prop_item("prop_药方", true)
# 拿药方后,启动 drug game
EventManager.set_stage("c03_drug_game", 1)
func _on_pic_interacted() -> void:
if pic.freezing:
return
pic.freezing = true
pic_label.show()
func _unhandled_input(event: InputEvent) -> void:
if pic_label.visible:
if pic.freezing:
if event.is_action_pressed("cancel"):
get_viewport().set_input_as_handled()
pic.freezing = false

View File

@ -14,6 +14,7 @@
[node name="Closeup柜子" type="CanvasLayer"]
script = ExtResource("1_2ow0y")
metadata/_edit_horizontal_guides_ = [38.0]
[node name="BG" type="TextureRect" parent="."]
anchors_preset = 15
@ -25,7 +26,7 @@ texture = ExtResource("2_rmoey")
[node name="Hover照片" parent="." instance=ExtResource("8_kxw4a")]
unique_name_in_owner = true
position = Vector2(295, 63)
position = Vector2(293, 97)
[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)
@ -34,14 +35,6 @@ polygon = PackedVector2Array(125.5, 59, 125.5, 46, 124.5, 46, 124.5, -59, -125.5
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
@ -51,7 +44,7 @@ texture = ExtResource("3_d7uum")
[node name="Hover药方" parent="." instance=ExtResource("8_kxw4a")]
unique_name_in_owner = true
position = Vector2(436, 197)
position = Vector2(449, 205)
[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)
@ -76,7 +69,7 @@ trigger_mode = "interacted"
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="碗" type="Sprite2D" parent="."]
position = Vector2(236, 186)
position = Vector2(202, 192)
texture = ExtResource("7_qfnr1")
[node name="Hover麻将" parent="碗" instance=ExtResource("8_kxw4a")]
@ -114,8 +107,19 @@ centered = false
offset = Vector2(0, 38)
[node name="Label" type="Label" parent="照片文字"]
offset_right = 40.0
offset_bottom = 14.0
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -41.5
offset_top = 31.0
offset_right = 41.5
offset_bottom = 45.0
grow_horizontal = 2
grow_vertical = 2
text = "吾唯一至亲 李二弟"
horizontal_alignment = 1
script = ExtResource("10_qfnr1")
translation_key = "c03_s04_柜子照片"

View File

@ -74,9 +74,9 @@ item_key = "prop_令牌"
display_time = 1.5
metadata/_edit_use_anchors_ = true
[node name="PropInspector" parent="." instance=ExtResource("5_ux0rw")]
unique_name_in_owner = true
[node name="GroundLoader" parent="." instance=ExtResource("10_8rc5n")]
position = Vector2(1, 0)
entrance_portal = "right"
[node name="PropInspector" parent="." instance=ExtResource("5_ux0rw")]
unique_name_in_owner = true

View File

@ -239,7 +239,7 @@ func _load_texture_cache() -> void:
continue
if not items_dict.has(key):
inventory.disable_item_tmp(key)
inventory.disable_item_temp(key)
virtual_items = inventory.virtual_enabled_items()
printerr(
"PropHud _load_texture_cache: key not found in items_dict:", key, ". remove item."
@ -552,7 +552,7 @@ func enable_important_item(prop_key: String, display_inspector: bool) -> void:
inspect_item(prop_key, false, true)
func enable_prop_item(prop_key: String, inspect := true) -> void:
func enable_prop_item(prop_key: String, inspect := true, inspect_content := false) -> void:
if not inventory or not prop_key:
printerr("PropHUD Enable prop item: No inventory or prop_key provided.")
return
@ -569,10 +569,10 @@ func enable_prop_item(prop_key: String, inspect := true) -> void:
if inspect:
sfx_new_prop.play()
inspect_item(prop_key)
inspect_item(prop_key, true, inspect_content)
func inspect_item(prop_key: String, display_obtained := true, as_important_item := false):
func inspect_item(prop_key: String, display_obtained := true, inspect_content := false):
var inspector = SceneManager.get_inspector() as PropInspector
if not inspector or not items_dict.has(prop_key):
return
@ -591,7 +591,7 @@ func inspect_item(prop_key: String, display_obtained := true, as_important_item
if not texture:
printerr("prophud inspect_item invalid texture for key:", prop_key)
return
if as_important_item:
if inspect_content:
var content = get_item_description(prop_key)
var wide = len(content) > 150
inspector.pop_standard_inspection(texture, null, content, false, wide)

View File

@ -42,8 +42,8 @@ func refresh():
new_text += c + "\n"
msg = new_text
set(property_name, msg)
if GlobalConfig.DEBUG:
print("Translation for %s: %s" % [translation_key, msg])
if Engine.is_editor_hint():
print("lable updated: %s" % [get(property_name)])
func _get_tr_content():