From 5adddb1492f1b07613b53523b995949847ffb609 Mon Sep 17 00:00:00 2001 From: cakipaul Date: Fri, 8 Aug 2025 15:46:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8D=AF=E8=BD=A6=E6=BC=94=E5=87=BA=E4=B8=8E?= =?UTF-8?q?=E6=8B=9B=E9=AD=82=E5=B9=A1=E6=BC=94=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scene/c03/s00_院子与其他/e_药车前纸人.png | Bin 0 -> 6234 bytes .../s00_院子与其他/e_药车前纸人.png.import | 34 ++++++++++ asset/dialogue/item_description.csv | 1 + asset/dialogue/item_description.dialogue | 1 + scene/effect/flash_effect.gd | 2 +- scene/ground/scene/c02/s03_院子.tscn | 58 ++++++++++++++---- .../ground/script/c02/s03_event_2d抓药游戏.gd | 37 ++++++++--- .../script/c02/s03_event李氏给药完成.gd | 19 +++--- 8 files changed, 123 insertions(+), 29 deletions(-) create mode 100644 asset/art/scene/c03/s00_院子与其他/e_药车前纸人.png create mode 100644 asset/art/scene/c03/s00_院子与其他/e_药车前纸人.png.import diff --git a/asset/art/scene/c03/s00_院子与其他/e_药车前纸人.png b/asset/art/scene/c03/s00_院子与其他/e_药车前纸人.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c93f06d199d5577332468e65abb8a4d8863636 GIT binary patch literal 6234 zcmV-g7^UZlP)X!YgU5)k-sx=05vmlTETJ zAIM_!C?4H2k`3np20bK;Wbxs9)mv|oaL)0k2tvqPzXbrOZ~HEP!r*|<;)qZHxMSb- z9ZCEU2{%(5vM~IOg{8D|2m(HG%9<#Q0u-0miOC*7> z5@R0!gQ4&PU%PfC@&MNM4gf$9Dz*iVL8c6UFakgQ$!EcRfB)on0HPX4i(aT&pAY`G zws#Pg#5j3?C#|D)_Kyjl{^T?M=}$i6bEnT??({jRS{b%J4InB^g{5Ti%5@F^e0L+V zKP-Wzvu7e?7L~$qhc>qN&;ZN6#{K&g_wTdB{u6*8Esmq3BLKkTFMbp3d-m*kaaZ-( zPk+V%U}a?`ATdr@9C-wWiQC-T!z_t%vJZ*|*h!lMDL(t@&$wfokdX&?1U~-aH*wST zu#guP(gy%DGiQLAGdO&yCv67-rz$QhkcgzyT20*2E2#mX@^R^;(XlAO09i zKm0NN@~{6!dOY_@7q49BAKt!!nVFf?HXDQJcG!mHVQYII=g-Xr>U#hMuR9j1lM{jT zB|1$@ZiKM=_v!NTvQzk`8CY3)jFpwg0ETuC7)oN;Y^}9gf1atr!iA^Vg)jt(^Lnw4 zZfx$MK^XuAo7?-C1wb!eL(dNt06<8c49m;QcCc~(KF0}!Ibp&8;6H!y@4^3yT1MS5 z6J{${0>k8$^oi7VWsRbwQ|vLav({>pJX__F2b_Y7+0e-F(#;P60KINM*cX>X#w>#S z_bC8+^X5(2D_arMPh{QSW``~7op3JzS`=7&&m2o>SyD?F4FVhsRa zez_7znvgtBeAT5mGgqJDc?6Qv^Z4-g4Sf0hb!7iveD4z+-MEV1KK&YNzBFE}dBW#{v%p#;K>sLziNbgG@ETqPfq~=4g-oj z0dKbsBhNMRSorH_Uj+Y0)i!GPF6EH8`ur>M;q4pzJ2$RIA7te*KKkeuUVixnF5mt( z)}H(huR9h1pkAM1E_3cR8fX5>`Ne<#q6vH!KKI_ed&<+NPnCyrbA^)~6O&Vad#Z8z zBLY-8$HD6Ai{0t^l;b+C24D`rEC7HI5+@JH5%cgc=FR#+u>aZPWeoW6)HJ(SB;*i* z>(S8>W@cuBU%<0TzkT{OrYEWZ0M1DVI%&p|MGJZ zen|q~|Ni%V!_Lt@*v`DhouxZriOYPh#cRWR*#kSPX)X#s+c*dRmP1v0_W>3vva&j{B{O#>seCx`hmgPhm=P&SDt(Mqt zJ2p7y&@~+cdw`Or2eFZ3J5ot3?nDUx2Th?LfDj7KRsUR#13Cz5;3(VucJ|Zd;MR>> z|3)}D1aNBe)oYlBiLHY@0KnqKh1~PEw|6l$Jy{y(-mdF{a}LY2f_B?2NJo4i3NhC#Mu^4#( z0MjrX$F-Kh@JXbn9GI-v(QCE9fq+m!9ss=AcqJY?wcm~N7dU``K%;Mf5DLe(p{XjU zsswFyO^0JU0eNv%P9?Aiakk4qR0@>?HuG$_MyVjN2nYZkC(-D1004|J9`560y&g!S z_%#g^&2}3A@Mhx`fj7E}hcJRv1`G)VJQDkT1CHZD({)fkx)64df<`1SPGDjvckAO% zcoFjY_5coZ!5jvcNBf&{zHE5KufKma($+LgP(=gxt{Jp`iLT#W+)ixLL_=D-2r6ck=?>o`fXBe_=UwY#lW zWZSVVgl0cE04^k4v<;tAu9S;(J3ysYn*jiQLPw|50XPTcNu{9*m0oz^@-UZ4fzj<8 zAsmDN90Z&bZ~(5u&^$PT%~+t$MM(VWo3HcKJvA}FDG4Mo?>=FaOC{85H4OS*9LpGk zQc9*1DQFN(r-1@Mvzh3C6qaqnv_pZX=%(cD2^5uV2?-IDRSl+-40^?R4s)D^`S;RH zM+BBL3{}FOSlGWfR855wx_93kW{M~Ptbg-+l1HKy5EttsiEcL!j?g+BnwVy@mHUFi zQkbTWu74ZGc`%HO9B0yyEZ3Q}n$5f>p6yfR3Gav#u?A6F7FNe$r@d49y7_Nz%n4FWgX`ON+a3S};3?{xMr7)o zNVz%%LX^-R4%?EyeIb!y2vsg>|0>m?W_3F4WJi75S1PH2*XIPV-Q){fUtdqYWgjGW zq@3(-+yh5Ech;p;GE#VWVjzs?hBfaRX% zQAHHZp-@`b{sF-L<~j+hv4BcdsG&qcSdHVhPi%*;GctijtP?UaMO?V~;>D<=f<4As#GhILv`#*$LwEt^s&P^UPq~1!p^I23d@Mm z>q_?v8)ytn*j7}fYSn6FJIwQ5F~*<;?Y1F6+&XdZe)T`7T<5sj1bVnW+bFp99o zF)eJaK1)1Aq^2(i)Q|T<$r!KmG5b}Ytb!_u$4DhmQ&kKG7RnQzDN;2RqO?OGZPX#o z5##}5I1vDto{d(kaxmCtADXU$yAB4Cgp z#?fwjQfpc!^s)|zIj}4XmSts~8sKPehX4`+xj+65Cs)H6WkKHb>Hz!%HhKNJUCBCD3(TOjOgWY~Q?jgN20!eCOkjr6dUQg!BP9$pmZQqNFPk2SPxxyRnYb z^B01B3TMku^(Ds{TvF76Mba^ZLztVlZzhgEd-@!YVR< z_Y*w&)vs~qyPw3H7Ot-u*#;60OjIX%SQ1a2IrDcMm>rkAEWCQNg;#I3P@b%&wkheV zk$Nx$s#3VN3qlAM78bC*z9}OQ0I;yIfVoBkfag4#hleOnOhD114kkgM>qNtktQoc4 zjddLC?4}+c70sSeh=_NEBmddWerkSpsKU4Y?0Xyln)}&v8B|j-um*%Gnm14448|f+ zj6T8v^mMgS0f4pVFR`<~kFyts#-6+K0luy&u=-XZ;$7cn%F_1R>zk47qh>2Id@CpI zEPxP!yBixgJ)iD8D}DrC_M`vi{yqR;T(u3S@Z+P9Zl{N8X#!^7LgNg_){8DE7}6{b zXQXg;gD3>t<>=Z3lNwJD2PDbMLZU~5P76m{>$0{HOg9>s_HD#*kT!$^fFJy53A27m z%&?OZsB2z;&j`|8YY4=j16DKzy`vrM?CxS`cNd*b52Z>s*p4GDum&Uqo?g6+a(x;- zqldoH4LtCKpBNyqApcZju1Mdd2$R?9CAF~GJVbrU%j}d(>5|@{(R_^sQqBzn3-$fXm7vBGel6SPQvJQ z@p^M-w_2&3jvs&d^5wAYL>V+R`e2S56haz?RElMFg5J5Y%u6kqy^o-8_MxRDSfoZJ zEpbq;R;3YYsq7U3OwXRe2UkDH?2HWc+T>|9^j;@xRZP~Z_~@gLaryFP0Fai@2@pvo z#r^yDGw(?$4PHonsvbzXfbB%>GvjIlrxU%q@9k#>Q&Do>P?rnWGF@ha3X%)S^1oa`$6 z&Mrr1mq$nqlPAWpp;_iqmLstFbvyqps6Y}Rh8Pth++#n2qe`wgFo*$ zhULud5$s{5I+@5shaqO;R7LSu5g{=ghG7X>p^QO~Eq>;j3P=`Y%W(1H z?U~ir>(7gJ)J1YMV^Mx?Qkk=VU=@7_p(Dhp?JNWL}|a$h2pNsu@~ zMN=G`SFa9$p%;Ezc#!h-j;X1sK2Z_(s754vmsvLAo@<|dY9zG28 z!!S$`Nr#I-(bTbCLc86L)LRE2YC?4>RXjpTa@j&Efo6A@NPW z=?T*;51h49G!GI!`~xajs6ULkV9W(YGGfn_K!@3In3u{aDup@l^!~wU>MP4fmM2PZ z3(lSug&jaPC5(SY~bY1(}L|A|L{p z?Gq|IGhIt~tMsK_Ay2GQ&*h5>r4u5NjpBg?!jjm|NW^AgZS{pz?`7oWK}ulQ{u%9V zpuz%-roZe_LYZ-lKc!0Q^g>Z7%);URR;p2LwYv!$mMVdjsY#gKE~chu6328!lS-jp z8DA>J!sqxe5S6-<`b54^1&Tn}!VzV+v%ZNt)vdmWZ_QCmh$zj^%IiQeB=`7FdIg@ zi}KtA%GF9RDv4uY7{^j!fyr7GJm!UElG$!`62ri>x#l!9TOG{K&Z0S{GXe^PF~S4q zL9bLW7_q!BOn_mSK>}4#llG|7GeG?P_34>W$s?h^2-@vr>2TV~G89r_nIk!AR4V16 z9Sprz!yKSe_Od0_P)S^?=}jcnr)Nf%ym4@l;+;nhq#fG{CcC{WoJ`*h!<$2ir}4`Z z-aM_4xK{HhAWxi=hr4(0DtGVR6=EGc^K`w2si~=8&SM;85*UsLRb5ZDe*i{SUm!Uj zBH%hMnCp6DKF%>&uVZU-D?%L4E0qYL)9H{-rxX70jRtt0xZQ3Cq0Bf)CD3Shaq9e8 z00;uuESyB1W64O6oAq9I-ej42OGvhs{p#f4gVG;hyw~ZGjQO7ascyBj|9J9ZW+Z8|W|_ z8r40uWgL!U!?9iHnih;ejw6LZXM8&PzO1F5|jgU6ZFitjRUA%IgpF6|x=$GlAj9R>Moj1;KJo@F{$oG`M z6bS{dc&Itj$#E5qe%+_tMP+Idm8nS>y&hc01tAIswhhy=K>P{!fnfxH$Hldq`DGeK z+7tx`Kh~T;stSjLXaF!eoju#J=fD9K6qFL!@S+&kW#F87-(V(Wk6!2S-w>hrIHHbSN1`^Ukn*QVR*8sCwJH0e00hbrQQi;z4DUcP*ZZl{~r zH`vdgw;ss`ra6&I7Z-EY?zr~|qX@~PKyRE&Xi(PrxiChufwDDaS^LL9k!uyPO`~A2 zzlHb}i$2pki`xXo`DEQ6Gfr-;-2YR&Edt-UWdEV?e|rN>Xu9tEGXMYp07*qoM6N<$ Ef(X2mivR!s literal 0 HcmV?d00001 diff --git a/asset/art/scene/c03/s00_院子与其他/e_药车前纸人.png.import b/asset/art/scene/c03/s00_院子与其他/e_药车前纸人.png.import new file mode 100644 index 00000000..0907a39c --- /dev/null +++ b/asset/art/scene/c03/s00_院子与其他/e_药车前纸人.png.import @@ -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 diff --git a/asset/dialogue/item_description.csv b/asset/dialogue/item_description.csv index 2ce46f4c..ea551db7 100644 --- a/asset/dialogue/item_description.csv +++ b/asset/dialogue/item_description.csv @@ -285,6 +285,7 @@ c03_s03_洗头盆,和楼道里一样的洗头盆,,,,, c03_s03_演出结束,又是幻觉吗...{br}刚才灰衣服的男人在八音盒和照片里出现过{br}还有那个红色衣服的女孩...{br}难道说...,,,,, c03_药车须知,抓药需足数三文,另需药方与药引,,,,, c03_抓药铜钱不足,钱还没准备够...牌子上讲需要三文,,,,, +c03_老板被吸走,...{br}铃铛声...{br}是我梦里那个铃铛声...,,,,, c03_s04_柜子照片,吾唯一至亲 李二弟,,,,, c03_招魂幡鬼差,...{br}还是别乱碰了,,,,, c03_s05_长桌,这桌上的肉竟然没有腐烂,,,,, diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue index fb7d7a4e..ab903cc0 100644 --- a/asset/dialogue/item_description.dialogue +++ b/asset/dialogue/item_description.dialogue @@ -361,6 +361,7 @@ # 抓药游戏 抓药需足数三文,另需药方与药引 [ID:c03_药车须知] 钱还没准备够...牌子上讲需要三文 [ID:c03_抓药铜钱不足] +...{br}铃铛声...{br}是我梦里那个铃铛声... [ID:c03_老板被吸走] # s04 李癞房间 吾唯一至亲 李二弟 [ID:c03_s04_柜子照片] ...{br}还是别乱碰了 [ID:c03_招魂幡鬼差] diff --git a/scene/effect/flash_effect.gd b/scene/effect/flash_effect.gd index 6a94af5f..be857c80 100644 --- a/scene/effect/flash_effect.gd +++ b/scene/effect/flash_effect.gd @@ -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) diff --git a/scene/ground/scene/c02/s03_院子.tscn b/scene/ground/scene/c02/s03_院子.tscn index 6e7a7cb9..cd7b0352 100644 --- a/scene/ground/scene/c02/s03_院子.tscn +++ b/scene/ground/scene/c02/s03_院子.tscn @@ -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"] diff --git a/scene/ground/script/c02/s03_event_2d抓药游戏.gd b/scene/ground/script/c02/s03_event_2d抓药游戏.gd index 9f810285..75ff910f 100644 --- a/scene/ground/script/c02/s03_event_2d抓药游戏.gd +++ b/scene/ground/script/c02/s03_event_2d抓药游戏.gd @@ -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个纸铜钱": diff --git a/scene/ground/script/c02/s03_event李氏给药完成.gd b/scene/ground/script/c02/s03_event李氏给药完成.gd index b8a73ce6..0531af91 100644 --- a/scene/ground/script/c02/s03_event李氏给药完成.gd +++ b/scene/ground/script/c02/s03_event李氏给药完成.gd @@ -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