close up _holding_cancel_before_exit; 第二章 update

This commit is contained in:
cakipaul 2025-07-15 19:44:55 +08:00
parent aedf7d3896
commit fc126995b0
20 changed files with 189 additions and 48 deletions

View File

@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bjcwam373niuj" uid="uid://d2a8v65x8u64h"
path="res://.godot/imported/0.png-1aab378c87b04304d8dcec5a1190dca2.ctex" path="res://.godot/imported/0.png-1aab378c87b04304d8dcec5a1190dca2.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false

View File

@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://u3b8f8uxit1g" uid="uid://6cxyqj3wwx21"
path="res://.godot/imported/1.png-a7156a0b94ca43df335798200a0fb921.ctex" path="res://.godot/imported/1.png-a7156a0b94ca43df335798200a0fb921.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://r2idykchn6re"
path="res://.godot/imported/ux_药方.png-d11665237e651df0b7eba60183e92fb9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/prop/c03/ux_药方.png"
dest_files=["res://.godot/imported/ux_药方.png-d11665237e651df0b7eba60183e92fb9.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c7nqae67exhj8"
path="res://.godot/imported/药方.png-e9b34c566bd79c8ab8d1647f22ea2884.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://asset/art/prop/c03/药方.png"
dest_files=["res://.godot/imported/药方.png-e9b34c566bd79c8ab8d1647f22ea2884.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

@ -1,6 +1,6 @@
keys,zh_CN,_character,_notes,_tags keys,zh_CN,_character,_notes,_tags
c03_invite_xchan_supper=2 & c03_laizi_braid=2 ~ c03_f2_madman_runaway=2,c03_invite_xchan_supper=2 & c03_laizi_braid=2 ~ c03_f2_madman_runaway=2,,, c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 ~ c03_f2_madman_runaway=2,c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 ~ c03_f2_madman_runaway=2,,,
c03_invite_xchan_supper=2 & c03_laizi_braid=2 -> c03_f2_madman_runaway=2,c03_invite_xchan_supper=2 & c03_laizi_braid=2 -> c03_f2_madman_runaway=2,,, c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2,c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2,,,
0:demo 1:release,0:demo 1:release,release_stage,, 0:demo 1:release,0:demo 1:release,release_stage,,
1:序章 2:第一章 3:第二章 4:第三章 5:第四章 6:尾声,1:序章 2:第一章 3:第二章 4:第三章 5:第四章 6:尾声,current_chapter_stage,, 1:序章 2:第一章 3:第二章 4:第三章 5:第四章 6:尾声,1:序章 2:第一章 3:第二章 4:第三章 5:第四章 6:尾声,current_chapter_stage,,
0:初始化_关闭 1:打开 2:放入小蝉人偶 3:全部放置正确_可摇手柄 4:已播放完成,0:初始化_关闭 1:打开 2:放入小蝉人偶 3:全部放置正确_可摇手柄 4:已播放完成,c02_musicbox_stage,, 0:初始化_关闭 1:打开 2:放入小蝉人偶 3:全部放置正确_可摇手柄 4:已播放完成,0:初始化_关闭 1:打开 2:放入小蝉人偶 3:全部放置正确_可摇手柄 4:已播放完成,c02_musicbox_stage,,
@ -8,8 +8,8 @@ c03_invite_xchan_supper=2 & c03_laizi_braid=2 -> c03_f2_madman_runaway=2,c03_inv
0:初始化 1:寻找弹珠_老虎钳可以换弹珠 2:给出弹珠 3:游戏结束_小猫纸片 4:游戏结束_小猫离开,0:初始化 1:寻找弹珠_老虎钳可以换弹珠 2:给出弹珠 3:游戏结束_小猫纸片 4:游戏结束_小猫离开,c02_ball_game_stage,, 0:初始化 1:寻找弹珠_老虎钳可以换弹珠 2:给出弹珠 3:游戏结束_小猫纸片 4:游戏结束_小猫离开,0:初始化 1:寻找弹珠_老虎钳可以换弹珠 2:给出弹珠 3:游戏结束_小猫纸片 4:游戏结束_小猫离开,c02_ball_game_stage,,
0:初始化 1:已放肉,0:初始化 1:已放肉,c03_s01_meat_put,, 0:初始化 1:已放肉,0:初始化 1:已放肉,c03_s01_meat_put,,
0:初始化 1:已偷听_需邀请 2:完成邀请,0:初始化 1:已偷听_需邀请 2:完成邀请,c03_invite_xchan_supper,, 0:初始化 1:已偷听_需邀请 2:完成邀请,0:初始化 1:已偷听_需邀请 2:完成邀请,c03_invite_xchan_supper,,
0:初始化 1:已使用剪刀 2:已剪下,0:初始化 1:已使用剪刀 2:已剪下,c03_laizi_braid,, 0:初始化 1:已使用剪刀 2:已剪下,0:初始化 1:已使用剪刀 2:已剪下,c03_s03_laizi_braid,,
0:初始化 1:跑开_纸人挡路 2:消除纸人,0:初始化 1:跑开_纸人挡路 2:消除纸人,c03_f2_madman_runaway,, 0:初始化 1:跑开_纸人挡路 2:消除纸人,0:初始化 1:跑开_纸人挡路 2:消除纸人,c03_f2_madman_runaway,,
c03_invite_xchan_supper=2 & c03_laizi_braid=2 & c03_mahjong_game=1 -> c03_f2_madman_runaway=2,c03_invite_xchan_supper=2 & c03_laizi_braid=2 & c03_mahjong_game=1 -> c03_f2_madman_runaway=2,,, c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 & c03_mahjong_game=1 -> c03_f2_madman_runaway=2,c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 & c03_mahjong_game=1 -> c03_f2_madman_runaway=2,,,
0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏,0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏,c03_before_mahjong_game,, 0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏,0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏,c03_before_mahjong_game,,
0:麻将理牌 1:麻将出千 2:麻将结束 3:演出结束,0:麻将理牌 1:麻将出千 2:麻将结束 3:演出结束,c03_mahjong_game,, 0:麻将理牌 1:麻将出千 2:麻将结束 3:演出结束,0:麻将理牌 1:麻将出千 2:麻将结束 3:演出结束,c03_mahjong_game,,

1 keys zh_CN _character _notes _tags
2 c03_invite_xchan_supper=2 & c03_laizi_braid=2 ~ c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 ~ c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_laizi_braid=2 ~ c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 ~ c03_f2_madman_runaway=2
3 c03_invite_xchan_supper=2 & c03_laizi_braid=2 -> c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_laizi_braid=2 -> c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2
4 0:demo 1:release 0:demo 1:release release_stage
5 1:序章 2:第一章 3:第二章 4:第三章 5:第四章 6:尾声 1:序章 2:第一章 3:第二章 4:第三章 5:第四章 6:尾声 current_chapter_stage
6 0:初始化_关闭 1:打开 2:放入小蝉人偶 3:全部放置正确_可摇手柄 4:已播放完成 0:初始化_关闭 1:打开 2:放入小蝉人偶 3:全部放置正确_可摇手柄 4:已播放完成 c02_musicbox_stage
8 0:初始化 1:寻找弹珠_老虎钳可以换弹珠 2:给出弹珠 3:游戏结束_小猫纸片 4:游戏结束_小猫离开 0:初始化 1:寻找弹珠_老虎钳可以换弹珠 2:给出弹珠 3:游戏结束_小猫纸片 4:游戏结束_小猫离开 c02_ball_game_stage
9 0:初始化 1:已放肉 0:初始化 1:已放肉 c03_s01_meat_put
10 0:初始化 1:已偷听_需邀请 2:完成邀请 0:初始化 1:已偷听_需邀请 2:完成邀请 c03_invite_xchan_supper
11 0:初始化 1:已使用剪刀 2:已剪下 0:初始化 1:已使用剪刀 2:已剪下 c03_laizi_braid c03_s03_laizi_braid
12 0:初始化 1:跑开_纸人挡路 2:消除纸人 0:初始化 1:跑开_纸人挡路 2:消除纸人 c03_f2_madman_runaway
13 c03_invite_xchan_supper=2 & c03_laizi_braid=2 & c03_mahjong_game=1 -> c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 & c03_mahjong_game=1 -> c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_laizi_braid=2 & c03_mahjong_game=1 -> c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 & c03_mahjong_game=1 -> c03_f2_madman_runaway=2
14 0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏 0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏 c03_before_mahjong_game
15 0:麻将理牌 1:麻将出千 2:麻将结束 3:演出结束 0:麻将理牌 1:麻将出千 2:麻将结束 3:演出结束 c03_mahjong_game

View File

@ -12,9 +12,9 @@ c02_ball_game_stage: 0:初始化 1:寻找弹珠_老虎钳可以换弹珠 2:给
~ EventStage_c03 ~ EventStage_c03
c03_s01_meat_put: 0:初始化 1:已放肉 c03_s01_meat_put: 0:初始化 1:已放肉
c03_invite_xchan_supper: 0:初始化 1:已偷听_需邀请 2:完成邀请 c03_invite_xchan_supper: 0:初始化 1:已偷听_需邀请 2:完成邀请
c03_laizi_braid: 0:初始化 1:已使用剪刀 2:已剪下 c03_s03_laizi_braid: 0:初始化 1:已使用剪刀 2:已剪下
c03_f2_madman_runaway: 0:初始化 1:跑开_纸人挡路 2:消除纸人 c03_f2_madman_runaway: 0:初始化 1:跑开_纸人挡路 2:消除纸人
c03_invite_xchan_supper=2 & c03_laizi_braid=2 -> c03_f2_madman_runaway=2 c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2
c03_before_mahjong_game: 0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏 c03_before_mahjong_game: 0:初始化 1:粘舌头和刀把 2:给药 4:准备好进入游戏
c03_mahjong_game: 0:麻将理牌 1:麻将出千 2:麻将结束 3:演出结束 c03_mahjong_game: 0:麻将理牌 1:麻将出千 2:麻将结束 3:演出结束
=> END => END

View File

@ -124,6 +124,8 @@ prop_2013钥匙,2013钥匙,,,[#texture=c03/2013钥匙.png],,
prop_2013钥匙_说明,说明,,,,, prop_2013钥匙_说明,说明,,,,,
prop_胖子的钥匙,胖子的钥匙,,,[#texture=c03/胖子的钥匙.png],, prop_胖子的钥匙,胖子的钥匙,,,[#texture=c03/胖子的钥匙.png],,
prop_胖子的钥匙_说明,说明,,,,, prop_胖子的钥匙_说明,说明,,,,,
prop_药方,药方,,,[#texture=c03/药方.png][#inspect=c03/ux_药方.png],,
prop_药方_说明,说明,,,,,
prop_院长的信,院长的信,,,[#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png],,Director's Letter prop_院长的信,院长的信,,,[#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png],,Director's Letter
prop_院长的信_说明,小萍:{br}你现下境况如何?{br}你虽离开浦育院已久,但我始终没有忘记为你祈祷。{br}愿上帝保佑你走向真正光明的道路。我相信这也是当年你父亲将你托付给我时的殷切愿景。{br}你既已成人,无论你的父母出于何种理由选择与你分离,你都应当拥有知晓真相的权利,所以我将公寓地址附在了信后,除此之外,我亦知之甚少。{br}若有闲暇,欢迎你回浦育院看看。{br}院长童玉君{br}民国二十一年十月十五日{br}公寓地址 芦昌路26弄3号,,,,,"Xiao Ping:{br}How are you faring now?{br}Though you left Puyu Orphanage long ago, I have never forgotten to pray for you.{br}May God bless you to walk the path of true enlightenment. I believe this was also your father's earnest wish when he entrusted you to my care.{br}Now that you are grown, regardless of whatever reasons your parents had for separating from you, you deserve the right to know the truth. I have attached the apartment address to this letter, though I know little beyond this.{br}If you have time, you are welcome to visit Puyu Orphanage.{br}Director Tong Yujun{br}October 15th, Year 21 of the Republic{br}Apartment Address: No. 3, Lane 26, Luchang Road" prop_院长的信_说明,小萍:{br}你现下境况如何?{br}你虽离开浦育院已久,但我始终没有忘记为你祈祷。{br}愿上帝保佑你走向真正光明的道路。我相信这也是当年你父亲将你托付给我时的殷切愿景。{br}你既已成人,无论你的父母出于何种理由选择与你分离,你都应当拥有知晓真相的权利,所以我将公寓地址附在了信后,除此之外,我亦知之甚少。{br}若有闲暇,欢迎你回浦育院看看。{br}院长童玉君{br}民国二十一年十月十五日{br}公寓地址 芦昌路26弄3号,,,,,"Xiao Ping:{br}How are you faring now?{br}Though you left Puyu Orphanage long ago, I have never forgotten to pray for you.{br}May God bless you to walk the path of true enlightenment. I believe this was also your father's earnest wish when he entrusted you to my care.{br}Now that you are grown, regardless of whatever reasons your parents had for separating from you, you deserve the right to know the truth. I have attached the apartment address to this letter, though I know little beyond this.{br}If you have time, you are welcome to visit Puyu Orphanage.{br}Director Tong Yujun{br}October 15th, Year 21 of the Republic{br}Apartment Address: No. 3, Lane 26, Luchang Road"
prop_船票,船票,,,[#texture=c02/船票.png],,Boat Ticket prop_船票,船票,,,[#texture=c02/船票.png],,Boat Ticket
@ -229,6 +231,9 @@ c03_s01_偷听完3012,......,,,,,.....
c03_s02_note_key_coverer,太暗了看不清,,,,, c03_s02_note_key_coverer,太暗了看不清,,,,,
c03_s02_未点灯,?打不开,,,,, c03_s02_未点灯,?打不开,,,,,
c03_s02_通风管道,?打不开,,,,, c03_s02_通风管道,?打不开,,,,,
c03_s02_小蝉的床,小蝉的床,,,,, c03_s02_小蝉的床,?小蝉的床,,,,,
c03_s02_带血的手帕,?带血的手帕,,,,,
c03_s02_小蝉寻人启事,?小蝉寻人启事,,,,,
c03_s03_获得剪刀纸舌头,?✂️纸人,,,,, c03_s03_获得剪刀纸舌头,?✂️纸人,,,,,
c03_s03_桌子,?桌子,,,,,
c03_s03_洗头盆,?洗头盆,,,,, c03_s03_洗头盆,?洗头盆,,,,,

1 keys zh_CN _character _notes _tags zh_SH en
124 prop_2013钥匙_说明 说明
125 prop_胖子的钥匙 胖子的钥匙 [#texture=c03/胖子的钥匙.png]
126 prop_胖子的钥匙_说明 说明
127 prop_药方 药方 [#texture=c03/药方.png][#inspect=c03/ux_药方.png]
128 prop_药方_说明 说明
129 prop_院长的信 院长的信 [#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png] Director's Letter
130 prop_院长的信_说明 小萍:{br}你现下境况如何?{br}你虽离开浦育院已久,但我始终没有忘记为你祈祷。{br}愿上帝保佑你走向真正光明的道路。我相信这也是当年你父亲将你托付给我时的殷切愿景。{br}你既已成人,无论你的父母出于何种理由选择与你分离,你都应当拥有知晓真相的权利,所以我将公寓地址附在了信后,除此之外,我亦知之甚少。{br}若有闲暇,欢迎你回浦育院看看。{br}院长童玉君{br}民国二十一年十月十五日{br}公寓地址 芦昌路26弄3号 Xiao Ping:{br}How are you faring now?{br}Though you left Puyu Orphanage long ago, I have never forgotten to pray for you.{br}May God bless you to walk the path of true enlightenment. I believe this was also your father's earnest wish when he entrusted you to my care.{br}Now that you are grown, regardless of whatever reasons your parents had for separating from you, you deserve the right to know the truth. I have attached the apartment address to this letter, though I know little beyond this.{br}If you have time, you are welcome to visit Puyu Orphanage.{br}Director Tong Yujun{br}October 15th, Year 21 of the Republic{br}Apartment Address: No. 3, Lane 26, Luchang Road
131 prop_船票 船票 [#texture=c02/船票.png] Boat Ticket
231 c03_s02_note_key_coverer 太暗了看不清
232 c03_s02_未点灯 ?打不开
233 c03_s02_通风管道 ?打不开
234 c03_s02_小蝉的床 小蝉的床 ?小蝉的床
235 c03_s02_带血的手帕 ?带血的手帕
236 c03_s02_小蝉寻人启事 ?小蝉寻人启事
237 c03_s03_获得剪刀纸舌头 ?✂️纸人
238 c03_s03_桌子 ?桌子
239 c03_s03_洗头盆 ?洗头盆

View File

@ -147,6 +147,8 @@
说明 [ID:prop_2013钥匙_说明] 说明 [ID:prop_2013钥匙_说明]
胖子的钥匙 [#texture=c03/胖子的钥匙.png] [ID:prop_胖子的钥匙] 胖子的钥匙 [#texture=c03/胖子的钥匙.png] [ID:prop_胖子的钥匙]
说明 [ID:prop_胖子的钥匙_说明] 说明 [ID:prop_胖子的钥匙_说明]
药方 [#texture=c03/药方.png][#inspect=c03/ux_药方.png] [ID:prop_药方]
说明 [ID:prop_药方_说明]
# 旧版 # 旧版

View File

@ -39,7 +39,7 @@ func _load_and_parse_formulas() -> void:
# 解析单行规则,构建公式并添加到字典中。 # 解析单行规则,构建公式并添加到字典中。
# 示例: "c03_invite_xchan_supper=2 & c03_laizi_braid=2 -> c03_f2_madman_runaway=2" # 示例: "c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2 -> c03_f2_madman_runaway=2"
func _build_and_add_formula(line_text: String) -> void: func _build_and_add_formula(line_text: String) -> void:
var parts: PackedStringArray = line_text.split("->") var parts: PackedStringArray = line_text.split("->")
if parts.size() != 2: if parts.size() != 2:
@ -73,7 +73,7 @@ func _build_and_add_formula(line_text: String) -> void:
# 构建条件 Callable。重构为迭代而不是递归以提高清晰度和健壮性。 # 构建条件 Callable。重构为迭代而不是递归以提高清晰度和健壮性。
# 示例: "c03_invite_xchan_supper=2 & c03_laizi_braid=2" # 示例: "c03_invite_xchan_supper=2 & c03_s03_laizi_braid=2"
func _build_condition(text: String, r_condition_events: Array[StringName]) -> Callable: func _build_condition(text: String, r_condition_events: Array[StringName]) -> Callable:
var condition_text := text.strip_edges() var condition_text := text.strip_edges()
if condition_text.is_empty(): if condition_text.is_empty():
@ -218,17 +218,24 @@ func prop_interacted(e_name, prop_key, interacted_times) -> void:
# event_name -> {stages:PackedStringArray, update_time:int} # event_name -> {stages:PackedStringArray, update_time:int}
var _debug_event_stage_dict := {} var _debug_event_stage_dict := {}
var _event_stage_map_update_time := 0
var _event_stage_map_mutex := Mutex.new()
# return: stages # return: stages
func get_event_stage_map_array(event_name: StringName) -> PackedStringArray: func get_event_stage_map_array(event_name: StringName) -> PackedStringArray:
if not Engine.is_editor_hint(): if not Engine.is_editor_hint():
return PackedStringArray() return PackedStringArray()
var current_dict = _debug_event_stage_dict.get(event_name) var current_dict = _debug_event_stage_dict.get(event_name)
var time_msec = Time.get_ticks_msec() var time_msec := Time.get_ticks_msec()
# 3秒更新 # 3秒更新
if current_dict and time_msec - current_dict["update_time"] < 3000: _event_stage_map_mutex.lock()
return current_dict["stages"] if time_msec - _event_stage_map_update_time < 3000:
_event_stage_map_mutex.unlock()
if current_dict:
return current_dict["stages"]
else:
return PackedStringArray()
_event_stage_map_update_time = time_msec
# 文件: res://asset/dialogue/event_stage.dialogue # 文件: res://asset/dialogue/event_stage.dialogue
var event_stage_resource = load("uid://dohpsb4jttuv1") as DialogueResource var event_stage_resource = load("uid://dohpsb4jttuv1") as DialogueResource
print("[EventManager] get_event_stage_map_array refreshing...") print("[EventManager] get_event_stage_map_array refreshing...")
@ -254,8 +261,8 @@ func get_event_stage_map_array(event_name: StringName) -> PackedStringArray:
stages[id] = str(id) stages[id] = str(id)
_debug_event_stage_dict[e_name] = { _debug_event_stage_dict[e_name] = {
"stages": stages, "stages": stages,
"update_time": time_msec,
} }
_event_stage_map_mutex.unlock()
if _debug_event_stage_dict.has(event_name): if _debug_event_stage_dict.has(event_name):
prints("reload", event_name, "stages:", _debug_event_stage_dict[event_name]["stages"]) prints("reload", event_name, "stages:", _debug_event_stage_dict[event_name]["stages"])
return _debug_event_stage_dict[event_name]["stages"] return _debug_event_stage_dict[event_name]["stages"]

View File

@ -9,6 +9,8 @@ signal exit(arg)
@export var packed_scene: PackedScene @export var packed_scene: PackedScene
@export var quit_closeup_on_cancel := true @export var quit_closeup_on_cancel := true
@export_tool_button("新建特写场景") var create_closeup_scene = _create_scene_with_script @export_tool_button("新建特写场景") var create_closeup_scene = _create_scene_with_script
# 在 exit 信号前,禁用 cancel
var _holding_cancel_before_exit := false
var current_child: Node var current_child: Node
@ -19,6 +21,10 @@ func _ready() -> void:
return return
interacted.connect(display) interacted.connect(display)
func hold_cancel_before_exit() -> void:
_holding_cancel_before_exit = true
# 可以直接调用 # 可以直接调用
func display() -> void: func display() -> void:
@ -47,14 +53,15 @@ func _exit(arg = null):
exit.emit(arg) exit.emit(arg)
# 退出时,恢复 sign_mark 的输入 # 退出时,恢复 sign_mark 的输入
sign_mark.pass_unhandled_input = false sign_mark.pass_unhandled_input = false
# exit 信号后,恢复处理 cancel 事件
_holding_cancel_before_exit = false
func _unhandled_input(event: InputEvent) -> void: func _unhandled_input(event: InputEvent) -> void:
if not current_child: if not current_child:
return return
if event.is_action_pressed("cancel"): if event.is_action_pressed("cancel"):
get_viewport().set_input_as_handled() get_viewport().set_input_as_handled()
if quit_closeup_on_cancel: if quit_closeup_on_cancel and not _holding_cancel_before_exit:
_exit() _exit()
# 在有特写界面时,阻塞 interact 输入 # 在有特写界面时,阻塞 interact 输入
elif event.is_action_pressed("interact"): elif event.is_action_pressed("interact"):

View File

@ -22,8 +22,8 @@ var c02_final_layer
func _on_ground_ready() -> void: func _on_ground_ready() -> void:
c02_final_layer = $"../DeployLayer/c02_final" c02_final_layer = $"../DeployLayer/c02_final"
if EventManager.get_stage("c02_burning_end_stage") > 0: if EventManager.get_stage("c02_burning_end_stage") > 0 or EventManager.get_chapter_stage() >= 3:
# 进入收尾阶段时,隐藏杂物堆,增加传送 # 进入收尾阶段 / 第二章时,隐藏杂物堆,增加传送
$"../DeployLayer/Note楼梯杂物堆".queue_free() $"../DeployLayer/Note楼梯杂物堆".queue_free()
$"../DeployLayer/portal_3".enabled = true $"../DeployLayer/portal_3".enabled = true

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=68 format=3 uid="uid://cootarwb44vvh"] [gd_scene load_steps=69 format=3 uid="uid://cootarwb44vvh"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qkymk"]
[ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_二楼.gd" id="2_4dg6u"] [ext_resource type="Script" uid="uid://cbt0ubygchxvv" path="res://scene/ground/scene/c02/s06_二楼.gd" id="2_4dg6u"]
@ -17,6 +17,7 @@
[ext_resource type="SpriteFrames" uid="uid://blij4obvhb1vf" path="res://asset/art/gif/c02_公寓过道/c02_公寓过道_frames.tres" id="8_nh8we"] [ext_resource type="SpriteFrames" uid="uid://blij4obvhb1vf" path="res://asset/art/gif/c02_公寓过道/c02_公寓过道_frames.tres" id="8_nh8we"]
[ext_resource type="PackedScene" uid="uid://8frowlq301" path="res://scene/ground/script/c02/s00_跟随的老鼠.tscn" id="9_58d45"] [ext_resource type="PackedScene" uid="uid://8frowlq301" path="res://scene/ground/script/c02/s00_跟随的老鼠.tscn" id="9_58d45"]
[ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="10_6iuix"] [ext_resource type="Texture2D" uid="uid://bp84w8keuelyj" path="res://asset/art/scene/c02/s10_空房间/e_蜡烛-sheet.png" id="10_6iuix"]
[ext_resource type="Script" uid="uid://0wjaho6qkg6s" path="res://manager/event_manager/event_binder.gd" id="10_e5pbx"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="10_h3h1a"] [ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="10_h3h1a"]
[ext_resource type="SpriteFrames" uid="uid://c8dl7c68f1yb0" path="res://asset/art/gif/c02_二楼/c02_二楼_frames.tres" id="10_och2w"] [ext_resource type="SpriteFrames" uid="uid://c8dl7c68f1yb0" path="res://asset/art/gif/c02_二楼/c02_二楼_frames.tres" id="10_och2w"]
[ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="10_p6da7"] [ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="10_p6da7"]
@ -968,8 +969,19 @@ position = Vector2(554, 7)
debug_note = "胖子房间" debug_note = "胖子房间"
enabled = false enabled = false
portal_name = "4" portal_name = "4"
target_scene = "c03_s01" target_scene = "c03_s06"
target_portal = "right" target_portal = "left"
status = "locked"
prop_key = "prop_胖子的钥匙"
[node name="EventBinder" type="Node" parent="Ground/DeployLayer/portal_4"]
script = ExtResource("10_e5pbx")
memo = "current_chapter_stage!=[0:0|1:序章|2:第一章] 时,启用: [_4]
"
updater_event = &"current_chapter_stage"
updater_stage_mode = "exclude"
updater_stages = Array[int]([0, 1, 2])
metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="左侧纸人" type="Sprite2D" parent="Ground/DeployLayer" index="6"] [node name="左侧纸人" type="Sprite2D" parent="Ground/DeployLayer" index="6"]
visible = false visible = false
@ -1411,6 +1423,7 @@ texture = ExtResource("5_26mqt")
points = PackedVector2Array(26, 150, 900, 150) points = PackedVector2Array(26, 150, 900, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"] [node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.9 energy = 0.9
blend_mode = 1 blend_mode = 1

View File

@ -56,6 +56,8 @@ func _gaslight_up() -> void:
func _set_notes_coverer(coverer: String) -> void: func _set_notes_coverer(coverer: String) -> void:
note小蝉的床.note_key_coverer = coverer note小蝉的床.note_key_coverer = coverer
note通风管道.note_key_coverer = coverer note通风管道.note_key_coverer = coverer
note小蝉的寻人启事.note_key_coverer = coverer
note带血的手帕.note_key_coverer = coverer
func scratching_cat_interacted() -> void: func scratching_cat_interacted() -> void:

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=28 format=3 uid="uid://ctwy1ubhm68la"] [gd_scene load_steps=33 format=3 uid="uid://ctwy1ubhm68la"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_jad6f"] [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="Script" uid="uid://tk4wg0i4payx" path="res://scene/ground/scene/c03/s02_瞎子新卧室.gd" id="2_y504i"]
@ -24,11 +24,23 @@
[ext_resource type="Texture2D" uid="uid://c86bfer5qwp2g" path="res://asset/art/scene/c03/s02_瞎子新卧室/桌上放着邀请信.png" id="13_yl4ee"] [ext_resource type="Texture2D" uid="uid://c86bfer5qwp2g" path="res://asset/art/scene/c03/s02_瞎子新卧室/桌上放着邀请信.png" id="13_yl4ee"]
[ext_resource type="Texture2D" uid="uid://l7cuvw1k5xc1" path="res://asset/art/scene/c03/s02_瞎子新卧室/洋糕点和符纸.png" id="18_t8u8e"] [ext_resource type="Texture2D" uid="uid://l7cuvw1k5xc1" path="res://asset/art/scene/c03/s02_瞎子新卧室/洋糕点和符纸.png" id="18_t8u8e"]
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="23_6show"] [ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="23_6show"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="23_qq2pn"]
[ext_resource type="Texture2D" uid="uid://ct02nauw1f5v5" path="res://asset/art/prop/c03/1015钥匙.png" id="24_ac6iq"] [ext_resource type="Texture2D" uid="uid://ct02nauw1f5v5" path="res://asset/art/prop/c03/1015钥匙.png" id="24_ac6iq"]
[ext_resource type="SpriteFrames" uid="uid://c8dl7c68f1yb0" path="res://asset/art/gif/c02_二楼/c02_二楼_frames.tres" id="24_omt0s"] [ext_resource type="SpriteFrames" uid="uid://c8dl7c68f1yb0" path="res://asset/art/gif/c02_二楼/c02_二楼_frames.tres" id="24_omt0s"]
[ext_resource type="SpriteFrames" uid="uid://3nas025c2c5u" path="res://asset/art/gif/c02_杂项/c02_杂项_frames.tres" id="24_oquyy"]
[ext_resource type="Texture2D" uid="uid://cylsq5cvhlp18" path="res://asset/art/tool/point_light.png" id="24_t3gtq"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
[sub_resource type="Gradient" id="Gradient_oquyy"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_5cqb4"]
gradient = SubResource("Gradient_oquyy")
width = 600
height = 300
[node name="S02" type="Node2D"] [node name="S02" type="Node2D"]
metadata/_edit_horizontal_guides_ = [-627.0] metadata/_edit_horizontal_guides_ = [-627.0]
@ -178,6 +190,28 @@ action_configs = Array[Dictionary]([{
"intro_loop": 1 "intro_loop": 1
}]) }])
[node name="Sfx老鼠精" type="AudioStreamPlayer" parent="Ground/DeployLayer/Event2D偷听陆仁对话后"]
bus = &"game_sfx"
script = ExtResource("23_qq2pn")
metadata/_custom_type_script = "uid://rq6w1vuhuq1m"
[node name="灯光" type="AnimatedSprite2D" parent="Ground/DeployLayer/Event2D偷听陆仁对话后"]
position = Vector2(167, 17)
scale = Vector2(0.3, 0.3)
sprite_frames = ExtResource("24_oquyy")
animation = &"火苗"
autoplay = "火苗"
[node name="LightAdder" type="PointLight2D" parent="Ground/DeployLayer/Event2D偷听陆仁对话后"]
position = Vector2(174, 20)
texture = ExtResource("24_t3gtq")
[node name="LightSubtracter" type="PointLight2D" parent="Ground/DeployLayer/Event2D偷听陆仁对话后"]
position = Vector2(272, -3)
energy = 0.0
blend_mode = 1
texture = SubResource("GradientTexture2D_5cqb4")
[node name="Ambush小猫挠墙" parent="Ground/DeployLayer" index="13" instance=ExtResource("23_6show")] [node name="Ambush小猫挠墙" parent="Ground/DeployLayer" index="13" instance=ExtResource("23_6show")]
unique_name_in_owner = true unique_name_in_owner = true
position = Vector2(507, 49) position = Vector2(507, 49)
@ -224,7 +258,6 @@ scale = Vector2(1.1, 1.1)
points = PackedVector2Array(17, 150, 509, 150) points = PackedVector2Array(17, 150, 509, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"] [node name="DirectionalLight2D" parent="Ground" index="8"]
visible = false
energy = 0.8 energy = 0.8
blend_mode = 1 blend_mode = 1

View File

@ -42,5 +42,8 @@ func _check_if_flyer_shaven(_arg = false) -> void:
func _on_laizi_exit(_arg = false) -> void: func _on_laizi_exit(_arg = false) -> void:
if _arg: if _arg:
SceneManager.lock_player()
# TODO # TODO
SceneManager.pop_debug_dialog_info("美术&音效", "剪辫子演出") SceneManager.pop_debug_dialog_info("美术&音效", "剪辫子演出")
await Util.wait(2.0)
SceneManager.unlock_player()

View File

@ -35,9 +35,9 @@ metadata/_custom_type_script = "uid://cpejxlfni6n52"
[node name="EventBinder" type="Node" parent="Ground/AnimationPlayer" index="1"] [node name="EventBinder" type="Node" parent="Ground/AnimationPlayer" index="1"]
script = ExtResource("4_35fjj") script = ExtResource("4_35fjj")
memo = "c03_laizi_braid=[0:初始化] 时,显示: [animationplayer] memo = "c03_s03_laizi_braid=[0:初始化] 时,显示: [animationplayer]
" "
updater_event = &"c03_laizi_braid" updater_event = &"c03_s03_laizi_braid"
updater_mode = "shower" updater_mode = "shower"
updater_ease_duration = 0.0 updater_ease_duration = 0.0
updater_stages = Array[int]([0]) updater_stages = Array[int]([0])

View File

@ -15,10 +15,9 @@ func _ready() -> void:
_check_if_notify_to_use_prop() _check_if_notify_to_use_prop()
# 如果用过剪刀,则直接展示后脑勺 # 如果用过剪刀,则直接展示后脑勺
# 0:初始化 1:已使用剪刀 2:已剪下 # 0:初始化 1:已使用剪刀 2:已剪下
if EventManager.get_stage("c03_laizi_braid") > 0: if EventManager.get_stage("c03_s03_laizi_braid") > 0:
$"".hide() $"".hide()
$"头受伤".hide() $"头受伤".hide()
$"后脑勺".show()
func _on_paper_coin_picked(_node = null) -> void: func _on_paper_coin_picked(_node = null) -> void:
if GlobalFunctor.c03_get_paper_coin(): if GlobalFunctor.c03_get_paper_coin():
@ -26,15 +25,19 @@ func _on_paper_coin_picked(_node = null) -> void:
_check_if_notify_to_use_prop() _check_if_notify_to_use_prop()
func _on_braid_interacted() -> void: func _on_braid_interacted() -> void:
var closeup = get_parent() as Closeup2D
# 禁用 cancel to quit
closeup.hold_cancel_before_exit()
SceneManager.enable_prop_item("prop_剪下的辫子") SceneManager.enable_prop_item("prop_剪下的辫子")
await SceneManager.get_inspector().quit_and_hidden await SceneManager.get_inspector().quit_and_hidden
await Util.wait(1.0)
# 退出,播放剪辫子演出 # 退出,播放剪辫子演出
exit.emit(true) exit.emit(true)
func _check_if_notify_to_use_prop() -> void: func _check_if_notify_to_use_prop() -> void:
if EventManager.get_stage("c03_papercoin1") > 0 and EventManager.get_stage("c03_papercoin2") > 0: if EventManager.get_stage("c03_s03_papercoin1") > 0 and EventManager.get_stage("c03_s03_papercoin2") > 0:
if EventManager.get_stage("c03_laizi_braid") > 0: if EventManager.get_stage("c03_s03_laizi_braid") > 0:
return return
elif SceneManager.has_prop("prop_剪刀"): elif SceneManager.has_prop("prop_剪刀"):
SceneManager.pop_center_notification("ui_center_notify_use_prop") SceneManager.pop_center_notification("ui_center_notify_use_prop")
@ -52,7 +55,7 @@ var using_scissors = false
# 尝试使用剪刀进行互动 # 尝试使用剪刀进行互动
func _try_interact() -> void: func _try_interact() -> void:
# 纸钱还没拿完 # 纸钱还没拿完
if EventManager.get_stage("c03_papercoin1") == 0 or EventManager.get_stage("c03_papercoin2") == 0: if EventManager.get_stage("c03_s03_papercoin1") == 0 or EventManager.get_stage("c03_s03_papercoin2") == 0:
return return
if SceneManager.get_current_prop() != "prop_剪刀": if SceneManager.get_current_prop() != "prop_剪刀":
SceneManager.get_prop_hud().on_toggle_invalid_prop() SceneManager.get_prop_hud().on_toggle_invalid_prop()
@ -60,12 +63,10 @@ func _try_interact() -> void:
if using_scissors: if using_scissors:
return return
using_scissors = true using_scissors = true
# $"头".hide()
# TODO # TODO
SceneManager.pop_debug_dialog_info("音效", "使用剪刀(惊悚)") SceneManager.pop_debug_dialog_info("音效", "使用剪刀(惊悚)")
$"".hide() $"".hide()
await Util.wait(1.5) await Util.wait(1.5)
$"头受伤".hide() $"头受伤".hide()
$"后脑勺".show()
SceneManager.disable_prop_item("prop_剪刀") SceneManager.disable_prop_item("prop_剪刀")
EventManager.set_stage("c03_laizi_braid", 1) EventManager.set_stage("c03_s03_laizi_braid", 1)

View File

@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_uenj0"] [ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="2_uenj0"]
[ext_resource type="Texture2D" uid="uid://e88x3ihvhetd" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/背景.png" id="2_xao0c"] [ext_resource type="Texture2D" uid="uid://e88x3ihvhetd" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/背景.png" id="2_xao0c"]
[ext_resource type="Texture2D" uid="uid://cxlwpf82sqc8p" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/1辫子没剪开.png" id="3_abwb2"] [ext_resource type="Texture2D" uid="uid://cxlwpf82sqc8p" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/1辫子没剪开.png" id="3_abwb2"]
[ext_resource type="Texture2D" uid="uid://b7s25rgph0111" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/辫子散了.png" id="3_jijuh"] [ext_resource type="Texture2D" uid="uid://cpri1f3b2blfw" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/1辫子散开.png" id="3_jijuh"]
[ext_resource type="Texture2D" uid="uid://c12xhretrdxs6" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/1大头.png" id="4_8yx5x"] [ext_resource type="Texture2D" uid="uid://c12xhretrdxs6" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/1大头.png" id="4_8yx5x"]
[ext_resource type="Texture2D" uid="uid://doqxrw48g45iy" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/伤口_头.png" id="4_c581m"] [ext_resource type="Texture2D" uid="uid://doqxrw48g45iy" path="res://asset/art/scene/c03/s03_瞎子理发店/癞子特写/伤口_头.png" id="4_c581m"]
[ext_resource type="PackedScene" uid="uid://bkk1rxx36ghrl" path="res://scene/entity/ux/hover_light_click_area.tscn" id="4_nc54a"] [ext_resource type="PackedScene" uid="uid://bkk1rxx36ghrl" path="res://scene/entity/ux/hover_light_click_area.tscn" id="4_nc54a"]
@ -62,17 +62,17 @@ texture = ExtResource("5_jijuh")
[node name="EventBinder" type="Node" parent="后脑勺/HoverBraid"] [node name="EventBinder" type="Node" parent="后脑勺/HoverBraid"]
script = ExtResource("6_uenj0") script = ExtResource("6_uenj0")
memo = "[hoverbraid] interacted 时: c03_laizi_braid=2:已剪下(greater)" memo = "[hoverbraid] interacted 时: c03_s03_laizi_braid=2:已剪下(greater)"
trigger_event = &"c03_laizi_braid" trigger_event = &"c03_s03_laizi_braid"
trigger_mode = "interacted" trigger_mode = "interacted"
trigger_stage = 2 trigger_stage = 2
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"
[node name="EventBinder" type="Node" parent="后脑勺"] [node name="EventBinder" type="Node" parent="后脑勺"]
script = ExtResource("6_uenj0") script = ExtResource("6_uenj0")
memo = "c03_laizi_braid=[1:已使用剪刀] 时,显示: [后脑勺] memo = "c03_s03_laizi_braid=[1:已使用剪刀] 时,显示: [后脑勺]
" "
updater_event = &"c03_laizi_braid" updater_event = &"c03_s03_laizi_braid"
updater_mode = "shower" updater_mode = "shower"
updater_ease_duration = 0.0 updater_ease_duration = 0.0
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"
@ -105,13 +105,13 @@ texture = ExtResource("5_kcw8x")
[node name="EventBinder" type="Node" parent="头/Draggable纸钱2"] [node name="EventBinder" type="Node" parent="头/Draggable纸钱2"]
script = ExtResource("6_uenj0") script = ExtResource("6_uenj0")
memo = "c03_papercoin2=[0] 时,显示: [纸钱2] memo = "c03_s03_papercoin2=[0] 时,显示: [纸钱2]
[纸钱2] picked 时: c03_papercoin2=1(greater)" [纸钱2] picked 时: c03_s03_papercoin2=1(greater)"
updater_event = &"c03_papercoin2" updater_event = &"c03_s03_papercoin2"
updater_mode = "shower" updater_mode = "shower"
updater_ease_duration = 0.0 updater_ease_duration = 0.0
updater_stages = Array[int]([0]) updater_stages = Array[int]([0])
trigger_event = &"c03_papercoin2" trigger_event = &"c03_s03_papercoin2"
trigger_mode = "picked" trigger_mode = "picked"
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"
@ -126,13 +126,13 @@ texture = ExtResource("7_kcw8x")
[node name="EventBinder" type="Node" parent="头/Draggable纸钱1"] [node name="EventBinder" type="Node" parent="头/Draggable纸钱1"]
script = ExtResource("6_uenj0") script = ExtResource("6_uenj0")
memo = "c03_papercoin1=[0] 时,显示: [纸钱1] memo = "c03_s03_papercoin1=[0] 时,显示: [纸钱1]
[纸钱1] picked 时: c03_papercoin1=1(greater)" [纸钱1] picked 时: c03_s03_papercoin1=1(greater)"
updater_event = &"c03_papercoin1" updater_event = &"c03_s03_papercoin1"
updater_mode = "shower" updater_mode = "shower"
updater_ease_duration = 0.0 updater_ease_duration = 0.0
updater_stages = Array[int]([0]) updater_stages = Array[int]([0])
trigger_event = &"c03_papercoin1" trigger_event = &"c03_s03_papercoin1"
trigger_mode = "picked" trigger_mode = "picked"
metadata/_custom_type_script = "uid://0wjaho6qkg6s" metadata/_custom_type_script = "uid://0wjaho6qkg6s"