diff --git a/addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd b/addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd
index b26245b5..68a05682 100644
--- a/addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd
+++ b/addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd
@@ -78,6 +78,7 @@ func _debug_mov_projection():
# 展示 accumulated animation 的目标位置
debug_mov_onion_sprite2d.position.x = mov_config.movement_x * (-1 if flip_h else 1) / scale.x
debug_mov_onion_sprite2d.texture = sprite_frames.get_frame_texture(debug_mov_animation, 0)
+ debug_mov_onion_sprite2d.flip_h = flip_h
elif debug_mov_animation:
push_warning("Debug move config not found:", debug_mov_animation)
diff --git a/addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn b/addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn
index c0b8cd14..59ce61e2 100644
--- a/addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn
+++ b/addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn
@@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://cphfob11f7atx" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.gd" id="1_21eda"]
-[node name="AutoplayAnimatedSprite" type="AnimatedSprite2D"]
+[node name="ProAnimatedSprite2D" type="AnimatedSprite2D"]
script = ExtResource("1_21eda")
[node name="DebugMovOnionSkinSprite2D" type="Sprite2D" parent="."]
diff --git a/asset/art/gif/c00_通用动作/c00_头套小婵_idle/0.png b/asset/art/gif/c00_通用动作/c00_头套小婵_idle/0.png
new file mode 100644
index 00000000..959ee994
Binary files /dev/null and b/asset/art/gif/c00_通用动作/c00_头套小婵_idle/0.png differ
diff --git a/asset/art/gif/c02_公寓过道/头套小蝉呼吸/0.png.import b/asset/art/gif/c00_通用动作/c00_头套小婵_idle/0.png.import
similarity index 70%
rename from asset/art/gif/c02_公寓过道/头套小蝉呼吸/0.png.import
rename to asset/art/gif/c00_通用动作/c00_头套小婵_idle/0.png.import
index 0c3a3d89..da324e8f 100644
--- a/asset/art/gif/c02_公寓过道/头套小蝉呼吸/0.png.import
+++ b/asset/art/gif/c00_通用动作/c00_头套小婵_idle/0.png.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bxo0l3d3blmc5"
-path="res://.godot/imported/0.png-9c663fa7b539a22de5cbe437f0c29f08.ctex"
+path="res://.godot/imported/0.png-4c9932316395b573dd7bacd196e668a8.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://asset/art/gif/c02_公寓过道/头套小蝉呼吸/0.png"
-dest_files=["res://.godot/imported/0.png-9c663fa7b539a22de5cbe437f0c29f08.ctex"]
+source_file="res://asset/art/gif/c00_通用动作/c00_头套小婵_idle/0.png"
+dest_files=["res://.godot/imported/0.png-4c9932316395b573dd7bacd196e668a8.ctex"]
[params]
diff --git a/asset/art/gif/c00_通用动作/c00_头套小婵_idle/1.png b/asset/art/gif/c00_通用动作/c00_头套小婵_idle/1.png
new file mode 100644
index 00000000..782211a0
Binary files /dev/null and b/asset/art/gif/c00_通用动作/c00_头套小婵_idle/1.png differ
diff --git a/asset/art/gif/c02_公寓过道/头套小蝉呼吸/1.png.import b/asset/art/gif/c00_通用动作/c00_头套小婵_idle/1.png.import
similarity index 70%
rename from asset/art/gif/c02_公寓过道/头套小蝉呼吸/1.png.import
rename to asset/art/gif/c00_通用动作/c00_头套小婵_idle/1.png.import
index 0e6a94f0..cb595ff3 100644
--- a/asset/art/gif/c02_公寓过道/头套小蝉呼吸/1.png.import
+++ b/asset/art/gif/c00_通用动作/c00_头套小婵_idle/1.png.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dkus208xyxsu2"
-path="res://.godot/imported/1.png-925ae896e4be31cc91bdcb9d5f5b882e.ctex"
+path="res://.godot/imported/1.png-4fc6ba53bb99f7fcd43f01cdb2f080ec.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://asset/art/gif/c02_公寓过道/头套小蝉呼吸/1.png"
-dest_files=["res://.godot/imported/1.png-925ae896e4be31cc91bdcb9d5f5b882e.ctex"]
+source_file="res://asset/art/gif/c00_通用动作/c00_头套小婵_idle/1.png"
+dest_files=["res://.godot/imported/1.png-4fc6ba53bb99f7fcd43f01cdb2f080ec.ctex"]
[params]
diff --git a/asset/art/gif/c00_通用动作/c00_通用动作_frames.tres b/asset/art/gif/c00_通用动作/c00_通用动作_frames.tres
index 14d8664a..5a807d48 100644
--- a/asset/art/gif/c00_通用动作/c00_通用动作_frames.tres
+++ b/asset/art/gif/c00_通用动作/c00_通用动作_frames.tres
@@ -1,20 +1,33 @@
-[gd_resource type="SpriteFrames" load_steps=12 format=3 uid="uid://di43shn22n5ph"]
+[gd_resource type="SpriteFrames" load_steps=14 format=3 uid="uid://di43shn22n5ph"]
+[ext_resource type="Texture2D" uid="uid://bxo0l3d3blmc5" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_idle/0.png" id="1_3ju7n"]
[ext_resource type="Texture2D" uid="uid://bsu7h8uy5ogjh" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_write/0.png" id="1_820uu"]
[ext_resource type="Texture2D" uid="uid://btkowww28teyj" path="res://asset/art/gif/c00_通用动作/小蝶背身/0.png" id="1_4005n"]
-[ext_resource type="Texture2D" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/0.png" id="1_cwvw3"]
-[ext_resource type="Texture2D" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/1.png" id="2_5lxki"]
+[ext_resource type="Texture2D" uid="uid://bcuun2obubvly" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/0.png" id="1_cwvw3"]
+[ext_resource type="Texture2D" uid="uid://rgq8twn510d0" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/1.png" id="2_5lxki"]
+[ext_resource type="Texture2D" uid="uid://dkus208xyxsu2" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_idle/1.png" id="2_23ua0"]
[ext_resource type="Texture2D" uid="uid://bi50elgh70lg0" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_write/1.png" id="2_frc01"]
[ext_resource type="Texture2D" uid="uid://cybck8rsjbgme" path="res://asset/art/gif/c00_通用动作/小蝶背身/1.png" id="2_tglh5"]
[ext_resource type="Texture2D" uid="uid://dpjyfsiqgw2m3" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_write/2.png" id="3_3agrw"]
-[ext_resource type="Texture2D" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/2.png" id="3_ryjka"]
-[ext_resource type="Texture2D" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/3.png" id="4_k23kj"]
-[ext_resource type="Texture2D" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/4.png" id="5_v5avr"]
-[ext_resource type="Texture2D" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/5.png" id="6_phou8"]
+[ext_resource type="Texture2D" uid="uid://bftetoqjhyo1o" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/2.png" id="3_ryjka"]
+[ext_resource type="Texture2D" uid="uid://cl24qoie1fs6" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/3.png" id="4_k23kj"]
+[ext_resource type="Texture2D" uid="uid://dutjfc10wle7v" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/4.png" id="5_v5avr"]
+[ext_resource type="Texture2D" uid="uid://deejj6x82guq5" path="res://asset/art/gif/c00_通用动作/c00_头套小婵_run/5.png" id="6_phou8"]
[resource]
animations = [{
"frames": [{
+"duration": 1.0,
+"texture": ExtResource("1_3ju7n")
+}, {
+"duration": 1.0,
+"texture": ExtResource("2_23ua0")
+}],
+"loop": true,
+"name": &"c00_头套小婵_idle",
+"speed": 5.0
+}, {
+"frames": [{
"duration": 3.0,
"texture": ExtResource("1_cwvw3")
}, {
diff --git a/asset/art/gif/c02_公寓过道/c02_公寓过道_frames.tres b/asset/art/gif/c02_公寓过道/c02_公寓过道_frames.tres
index fe9750a0..442a4486 100644
--- a/asset/art/gif/c02_公寓过道/c02_公寓过道_frames.tres
+++ b/asset/art/gif/c02_公寓过道/c02_公寓过道_frames.tres
@@ -1,8 +1,6 @@
-[gd_resource type="SpriteFrames" load_steps=28 format=3 uid="uid://blij4obvhb1vf"]
+[gd_resource type="SpriteFrames" load_steps=26 format=3 uid="uid://blij4obvhb1vf"]
[ext_resource type="Texture2D" uid="uid://8otjg8gn0m6p" path="res://asset/art/gif/c02_公寓过道/眨眼睛/0.png" id="1_dcr3n"]
-[ext_resource type="Texture2D" path="res://asset/art/gif/c02_公寓过道/头套小蝉呼吸/0.png" id="1_wvj6u"]
-[ext_resource type="Texture2D" path="res://asset/art/gif/c02_公寓过道/头套小蝉呼吸/1.png" id="2_lqlhi"]
[ext_resource type="Texture2D" uid="uid://h67dk77cktlg" path="res://asset/art/gif/c02_公寓过道/眨眼睛/1.png" id="2_thlvb"]
[ext_resource type="Texture2D" uid="uid://6po3pxrwx1vd" path="res://asset/art/gif/c02_公寓过道/眨眼睛/2.png" id="3_wvj6u"]
[ext_resource type="Texture2D" uid="uid://d3856wm1qo7kv" path="res://asset/art/gif/c02_公寓过道/眨眼睛/3.png" id="4_lqlhi"]
@@ -31,17 +29,6 @@
[resource]
animations = [{
"frames": [{
-"duration": 1.0,
-"texture": ExtResource("1_wvj6u")
-}, {
-"duration": 1.0,
-"texture": ExtResource("2_lqlhi")
-}],
-"loop": true,
-"name": &"头套小蝉呼吸",
-"speed": 1.5
-}, {
-"frames": [{
"duration": 6.0,
"texture": ExtResource("1_dcr3n")
}, {
diff --git a/asset/art/gif/c02_公寓过道/头套小蝉呼吸.gif b/asset/art/gif/c02_公寓过道/头套小蝉呼吸.gif
deleted file mode 100644
index 92073b0f..00000000
Binary files a/asset/art/gif/c02_公寓过道/头套小蝉呼吸.gif and /dev/null differ
diff --git a/asset/art/gif/c02_公寓过道/头套小蝉呼吸.gif.import b/asset/art/gif/c02_公寓过道/头套小蝉呼吸.gif.import
deleted file mode 100644
index 2b6fd062..00000000
--- a/asset/art/gif/c02_公寓过道/头套小蝉呼吸.gif.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="gif.animated.texture.plugin"
-type="SpriteFrames"
-uid="uid://dgysufpkl5pdp"
-path="res://.godot/imported/头套小蝉呼吸.gif-ada0c526340ead17a8bfd36de468f05f.tres"
-
-[deps]
-
-source_file="res://asset/art/gif/c02_公寓过道/头套小蝉呼吸.gif"
-dest_files=["res://.godot/imported/头套小蝉呼吸.gif-ada0c526340ead17a8bfd36de468f05f.tres"]
-
-[params]
-
diff --git a/asset/art/gif/c02_公寓过道/头套小蝉呼吸/0.png b/asset/art/gif/c02_公寓过道/头套小蝉呼吸/0.png
deleted file mode 100644
index 9c79101e..00000000
Binary files a/asset/art/gif/c02_公寓过道/头套小蝉呼吸/0.png and /dev/null differ
diff --git a/asset/art/gif/c02_公寓过道/头套小蝉呼吸/1.png b/asset/art/gif/c02_公寓过道/头套小蝉呼吸/1.png
deleted file mode 100644
index ea6d2ef8..00000000
Binary files a/asset/art/gif/c02_公寓过道/头套小蝉呼吸/1.png and /dev/null differ
diff --git a/asset/art/prop/c02/眼镜盒.png b/asset/art/prop/c02/眼镜盒.png
new file mode 100644
index 00000000..1ec2302b
Binary files /dev/null and b/asset/art/prop/c02/眼镜盒.png differ
diff --git a/asset/art/ui/note/线索笔记内容-34.png.import b/asset/art/prop/c02/眼镜盒.png.import
similarity index 65%
rename from asset/art/ui/note/线索笔记内容-34.png.import
rename to asset/art/prop/c02/眼镜盒.png.import
index bbea4d2e..d34e8d9c 100644
--- a/asset/art/ui/note/线索笔记内容-34.png.import
+++ b/asset/art/prop/c02/眼镜盒.png.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://ldh387gluo1t"
-path="res://.godot/imported/线索笔记内容-34.png-20678480317ddc66546336dad2cc741c.ctex"
+uid="uid://njynvnf3yn77"
+path="res://.godot/imported/眼镜盒.png-c9a3b3b09fe6e380d181d012487b0cc7.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://asset/art/ui/note/线索笔记内容-34.png"
-dest_files=["res://.godot/imported/线索笔记内容-34.png-20678480317ddc66546336dad2cc741c.ctex"]
+source_file="res://asset/art/prop/c02/眼镜盒.png"
+dest_files=["res://.godot/imported/眼镜盒.png-c9a3b3b09fe6e380d181d012487b0cc7.ctex"]
[params]
diff --git a/asset/art/ui/note/aseprite_slice_to_atlas.gd b/asset/art/ui/note/aseprite_slice_to_atlas.gd
index 0be81c68..a27a7315 100644
--- a/asset/art/ui/note/aseprite_slice_to_atlas.gd
+++ b/asset/art/ui/note/aseprite_slice_to_atlas.gd
@@ -1,13 +1,12 @@
+@tool
extends Node2D
@export var export_dir_root := "res://asset/art/ui/note/"
@export var json: JSON # can be a JSONParseResult or a Dictionary
@export var texture: Texture2D
-
-
-func _ready() -> void:
- _run()
-
+@export_tool_button("执行") var execute = _run
+@export var demo_scale := 0.5
+@export_tool_button("刷新 demo") var refresh = _refresh_demo
var export_dir
@@ -53,8 +52,6 @@ func _run() -> void:
_create_and_save_atlas(slice_name, rect)
print("已导出 Atlas: ", slice_name, " at ", export_dir)
- get_tree().quit.call_deferred()
-
func _create_and_save_atlas(atlas_name: String, region: Rect2) -> void:
var path = export_dir + atlas_name + ".tres"
@@ -70,3 +67,26 @@ func _create_and_save_atlas(atlas_name: String, region: Rect2) -> void:
atlas_res.filter_clip = true
atlas_res.region = region # 修正了原来拼写错误的 regoin
ResourceSaver.save(atlas_res, path)
+
+
+func _refresh_demo() -> void:
+ var demo_node = $Demo
+ for c in demo_node.get_children():
+ c.queue_free()
+ # 将 export_dir 下的 texture 显示在 demo 下,彼此保持 200*200 距离
+ var x_offset = 0
+ var y_offset = 0
+ for file_name in DirAccess.get_files_at(export_dir):
+ if file_name.ends_with(".tres"):
+ var path = export_dir + file_name
+ var res = load(path)
+ if res is AtlasTexture:
+ var sprite = Sprite2D.new()
+ sprite.texture = res
+ sprite.position = Vector2(x_offset, y_offset)
+ sprite.scale = Vector2(demo_scale, demo_scale)
+ demo_node.add_child(sprite)
+ x_offset += 200
+ if x_offset > 1000:
+ x_offset = 0
+ y_offset += 200
diff --git a/asset/art/ui/note/aseprite_slice_to_atlas.tscn b/asset/art/ui/note/aseprite_slice_to_atlas.tscn
index 990ed13c..c86134da 100644
--- a/asset/art/ui/note/aseprite_slice_to_atlas.tscn
+++ b/asset/art/ui/note/aseprite_slice_to_atlas.tscn
@@ -8,3 +8,5 @@
script = ExtResource("1_74cad")
json = ExtResource("2_rv6as")
texture = ExtResource("3_5ej8b")
+
+[node name="Demo" type="Node2D" parent="."]
diff --git a/asset/art/ui/note/c02_slices.ase b/asset/art/ui/note/c02_slices.ase
new file mode 100644
index 00000000..fed438a6
Binary files /dev/null and b/asset/art/ui/note/c02_slices.ase differ
diff --git a/asset/art/ui/note/c02_slices.json b/asset/art/ui/note/c02_slices.json
index 987d4a2b..178a9965 100644
--- a/asset/art/ui/note/c02_slices.json
+++ b/asset/art/ui/note/c02_slices.json
@@ -1,292 +1,38 @@
-{
- "frames": {
- "笔记线索_第一章.png": {
- "frame": {
- "x": 0.0,
- "y": 0.0,
- "w": 1790.0,
- "h": 1136.0
- },
- "rotated": false,
- "trimmed": false,
- "spriteSourceSize": {
- "x": 0.0,
- "y": 0.0,
- "w": 1790.0,
- "h": 1136.0
- },
- "sourceSize": {
- "w": 1790.0,
- "h": 1136.0
- },
- "duration": 100.0
- }
- },
- "meta": {
- "app": "https://www.aseprite.org/",
- "version": "1.3.8.1-arm64",
- "format": "RGBA8888",
- "size": {
- "w": 1790.0,
- "h": 1136.0
- },
- "scale": "1",
- "slices": [
- {
- "name": "c02_meat_knockDoor",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 226.0,
- "y": 253.0,
- "w": 101.0,
- "h": 53.0
- }
- }
- ]
- },
- {
- "name": "c02_hand_exchange",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 49.0,
- "y": 184.0,
- "w": 163.0,
- "h": 116.0
- }
- }
- ]
- },
- {
- "name": "c02_musicbox_needPuppet",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 86.0,
- "y": 317.0,
- "w": 102.0,
- "h": 58.0
- }
- }
- ]
- },
- {
- "name": "c02_gate_chain",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 426.0,
- "y": 333.0,
- "w": 89.0,
- "h": 70.0
- }
- }
- ]
- },
- {
- "name": "c02_split_illusionSpace",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 482.0,
- "y": 170.0,
- "w": 199.0,
- "h": 89.0
- }
- }
- ]
- },
- {
- "name": "c02_meat_stopMouse",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 364.0,
- "y": 77.0,
- "w": 108.0,
- "h": 59.0
- }
- }
- ]
- },
- {
- "name": "c02_map_1Left",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 872.0,
- "y": 88.0,
- "w": 517.0,
- "h": 383.0
- }
- }
- ]
- },
- {
- "name": "c02_map_1Right",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 1440.0,
- "y": 278.0,
- "w": 283.0,
- "h": 195.0
- }
- }
- ]
- },
- {
- "name": "c02_map_2",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 1324.0,
- "y": 714.0,
- "w": 437.0,
- "h": 371.0
- }
- }
- ]
- },
- {
- "name": "c02_shoe_giveToMouce",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 1186.0,
- "y": 780.0,
- "w": 121.0,
- "h": 79.0
- }
- }
- ]
- },
- {
- "name": "c02_hand_requireCoin",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 1185.0,
- "y": 867.0,
- "w": 112.0,
- "h": 75.0
- }
- }
- ]
- },
- {
- "name": "c02_xchan_sheKnowsMe",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 882.0,
- "y": 571.0,
- "w": 462.0,
- "h": 93.0
- }
- }
- ]
- },
- {
- "name": "c02_road_address",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 1381.0,
- "y": 563.0,
- "w": 391.0,
- "h": 97.0
- }
- }
- ]
- },
- {
- "name": "c02_xchan_giveHerPuppet",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 1466.0,
- "y": 166.0,
- "w": 168.0,
- "h": 49.0
- }
- }
- ]
- },
- {
- "name": "c02_list_namesAndGoal",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 55.0,
- "y": 548.0,
- "w": 615.0,
- "h": 283.0
- }
- }
- ]
- },
- {
- "name": "c02_xchan_isSheGohst",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 93.0,
- "y": 916.0,
- "w": 200.0,
- "h": 127.0
- }
- }
- ]
- },
- {
- "name": "c02_blotOut",
- "color": "#0000ffff",
- "keys": [
- {
- "frame": 0.0,
- "bounds": {
- "x": 378.0,
- "y": 931.0,
- "w": 97.0,
- "h": 74.0
- }
- }
- ]
- }
- ]
- }
-}
\ No newline at end of file
+{ "frames": {
+ "c02_slices.png": {
+ "frame": { "x": 0, "y": 0, "w": 2984, "h": 1894 },
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 2984, "h": 1894 },
+ "sourceSize": { "w": 2984, "h": 1894 },
+ "duration": 100
+ }
+ },
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.8.1-arm64",
+ "image": "c02_slices.png",
+ "format": "RGBA8888",
+ "size": { "w": 2984, "h": 1894 },
+ "scale": "1",
+ "slices": [
+ { "name": "c02_meat_knockDoor", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 246, "y": 120, "w": 298, "h": 138 } }] },
+ { "name": "c02_hand_exchange", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 76, "y": 308, "w": 415, "h": 280 } }] },
+ { "name": "c02_musicbox_needPuppet", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 186, "y": 652, "w": 263, "h": 155 } }] },
+ { "name": "c02_split_illusionSpace", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 612, "y": 322, "w": 525, "h": 221 } }] },
+ { "name": "c02_meat_stopMouse", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 654, "y": 108, "w": 289, "h": 167 } }] },
+ { "name": "c02_shoe_giveToMouce", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1072, "y": 96, "w": 317, "h": 195 } }] },
+ { "name": "c02_gate_chain", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 656, "y": 580, "w": 323, "h": 239 } }] },
+ { "name": "c02_hand_requireCoin", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1084, "y": 558, "w": 271, "h": 181 } }] },
+ { "name": "c02_xchan_giveHerPuppet", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 996, "y": 824, "w": 371, "h": 177 } }] },
+ { "name": "c02_list_namesAndGoal", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1017, "y": 1281, "w": 1063, "h": 517 } }] },
+ { "name": "c02_xchan_isSheGhost", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 147, "y": 1515, "w": 349, "h": 241 } }] },
+ { "name": "c02_blotOut", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 603, "y": 1521, "w": 274, "h": 211 } }] },
+ { "name": "c02_xchan_sheKnowsMe", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1461, "y": 927, "w": 748, "h": 205 } }] },
+ { "name": "c02_road_address", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 2286, "y": 921, "w": 667, "h": 181 } }] },
+ { "name": "c02_map_2", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 2181, "y": 1191, "w": 748, "h": 619 } }] },
+ { "name": "c02_map_1Left", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1456, "y": 140, "w": 857, "h": 645 } }] },
+ { "name": "c02_map_1Right", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 2404, "y": 436, "w": 465, "h": 369 } }] }
+ ]
+ }
+}
diff --git a/asset/art/ui/note/c02_slices.png b/asset/art/ui/note/c02_slices.png
index ece154e3..58b0a0e5 100644
Binary files a/asset/art/ui/note/c02_slices.png and b/asset/art/ui/note/c02_slices.png differ
diff --git a/asset/art/ui/note/c02_slices/c02_blotOut.tres b/asset/art/ui/note/c02_slices/c02_blotOut.tres
index c11376bc..0e9c7327 100644
--- a/asset/art/ui/note/c02_slices/c02_blotOut.tres
+++ b/asset/art/ui/note/c02_slices/c02_blotOut.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_yfw6c")
-region = Rect2(378, 931, 97, 74)
+region = Rect2(603, 1521, 274, 211)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_gate_chain.tres b/asset/art/ui/note/c02_slices/c02_gate_chain.tres
index c306573a..c4ad9b16 100644
--- a/asset/art/ui/note/c02_slices/c02_gate_chain.tres
+++ b/asset/art/ui/note/c02_slices/c02_gate_chain.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_r8xbd")
-region = Rect2(426, 333, 89, 70)
+region = Rect2(656, 580, 323, 239)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_hand_exchange.tres b/asset/art/ui/note/c02_slices/c02_hand_exchange.tres
index 7a3d2456..6124308e 100644
--- a/asset/art/ui/note/c02_slices/c02_hand_exchange.tres
+++ b/asset/art/ui/note/c02_slices/c02_hand_exchange.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_036bj")
-region = Rect2(49, 184, 163, 116)
+region = Rect2(76, 308, 415, 280)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_hand_requireCoin.tres b/asset/art/ui/note/c02_slices/c02_hand_requireCoin.tres
index b2bbcf0e..8caccd9b 100644
--- a/asset/art/ui/note/c02_slices/c02_hand_requireCoin.tres
+++ b/asset/art/ui/note/c02_slices/c02_hand_requireCoin.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_bal72")
-region = Rect2(1185, 867, 112, 75)
+region = Rect2(1084, 558, 271, 181)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_list_namesAndGoal.tres b/asset/art/ui/note/c02_slices/c02_list_namesAndGoal.tres
index 3bfa60eb..060a2a65 100644
--- a/asset/art/ui/note/c02_slices/c02_list_namesAndGoal.tres
+++ b/asset/art/ui/note/c02_slices/c02_list_namesAndGoal.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_4di5c")
-region = Rect2(55, 548, 615, 283)
+region = Rect2(1017, 1281, 1063, 517)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_map_1Left.tres b/asset/art/ui/note/c02_slices/c02_map_1Left.tres
index 21a54cdb..a01f8a4f 100644
--- a/asset/art/ui/note/c02_slices/c02_map_1Left.tres
+++ b/asset/art/ui/note/c02_slices/c02_map_1Left.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_xc11y")
-region = Rect2(872, 88, 517, 383)
+region = Rect2(1456, 140, 857, 645)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_map_1Right.tres b/asset/art/ui/note/c02_slices/c02_map_1Right.tres
index b6d80aa4..eefa3e78 100644
--- a/asset/art/ui/note/c02_slices/c02_map_1Right.tres
+++ b/asset/art/ui/note/c02_slices/c02_map_1Right.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_lupqk")
-region = Rect2(1440, 278, 283, 195)
+region = Rect2(2404, 436, 465, 369)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_map_2.tres b/asset/art/ui/note/c02_slices/c02_map_2.tres
index ab43a979..b69e59ba 100644
--- a/asset/art/ui/note/c02_slices/c02_map_2.tres
+++ b/asset/art/ui/note/c02_slices/c02_map_2.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_m0mgu")
-region = Rect2(1324, 714, 437, 371)
+region = Rect2(2181, 1191, 748, 619)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_meat_knockDoor.tres b/asset/art/ui/note/c02_slices/c02_meat_knockDoor.tres
index 1662c6a7..b580cf7d 100644
--- a/asset/art/ui/note/c02_slices/c02_meat_knockDoor.tres
+++ b/asset/art/ui/note/c02_slices/c02_meat_knockDoor.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_5rkoq")
-region = Rect2(226, 253, 101, 53)
+region = Rect2(246, 120, 298, 138)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_meat_stopMouse.tres b/asset/art/ui/note/c02_slices/c02_meat_stopMouse.tres
index 656f7a33..309dcdbe 100644
--- a/asset/art/ui/note/c02_slices/c02_meat_stopMouse.tres
+++ b/asset/art/ui/note/c02_slices/c02_meat_stopMouse.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_4wotv")
-region = Rect2(364, 77, 108, 59)
+region = Rect2(654, 108, 289, 167)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_musicbox_needPuppet.tres b/asset/art/ui/note/c02_slices/c02_musicbox_needPuppet.tres
index 93f2fa5d..f8383547 100644
--- a/asset/art/ui/note/c02_slices/c02_musicbox_needPuppet.tres
+++ b/asset/art/ui/note/c02_slices/c02_musicbox_needPuppet.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_01jll")
-region = Rect2(86, 317, 102, 58)
+region = Rect2(186, 652, 263, 155)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_road_address.tres b/asset/art/ui/note/c02_slices/c02_road_address.tres
index d98a8569..c65211a7 100644
--- a/asset/art/ui/note/c02_slices/c02_road_address.tres
+++ b/asset/art/ui/note/c02_slices/c02_road_address.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_hneqy")
-region = Rect2(1381, 563, 391, 97)
+region = Rect2(2286, 921, 667, 181)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_shoe_giveToMouce.tres b/asset/art/ui/note/c02_slices/c02_shoe_giveToMouce.tres
index e5f58abb..268c6e5c 100644
--- a/asset/art/ui/note/c02_slices/c02_shoe_giveToMouce.tres
+++ b/asset/art/ui/note/c02_slices/c02_shoe_giveToMouce.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_hjq36")
-region = Rect2(1186, 780, 121, 79)
+region = Rect2(1072, 96, 317, 195)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_split_illusionSpace.tres b/asset/art/ui/note/c02_slices/c02_split_illusionSpace.tres
index effb87d9..4e513816 100644
--- a/asset/art/ui/note/c02_slices/c02_split_illusionSpace.tres
+++ b/asset/art/ui/note/c02_slices/c02_split_illusionSpace.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_cu3l7")
-region = Rect2(482, 170, 199, 89)
+region = Rect2(612, 322, 525, 221)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_xchan_giveHerPuppet.tres b/asset/art/ui/note/c02_slices/c02_xchan_giveHerPuppet.tres
index 61afbac7..0ead4412 100644
--- a/asset/art/ui/note/c02_slices/c02_xchan_giveHerPuppet.tres
+++ b/asset/art/ui/note/c02_slices/c02_xchan_giveHerPuppet.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_7ebxh")
-region = Rect2(1466, 166, 168, 49)
+region = Rect2(996, 824, 371, 177)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_xchan_isSheGhost.tres b/asset/art/ui/note/c02_slices/c02_xchan_isSheGhost.tres
index 62b3cc1b..2c121c1a 100644
--- a/asset/art/ui/note/c02_slices/c02_xchan_isSheGhost.tres
+++ b/asset/art/ui/note/c02_slices/c02_xchan_isSheGhost.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_jin8p")
-region = Rect2(93, 916, 200, 127)
+region = Rect2(147, 1515, 349, 241)
filter_clip = true
diff --git a/asset/art/ui/note/c02_slices/c02_xchan_sheKnowsMe.tres b/asset/art/ui/note/c02_slices/c02_xchan_sheKnowsMe.tres
index eb568682..3da07b85 100644
--- a/asset/art/ui/note/c02_slices/c02_xchan_sheKnowsMe.tres
+++ b/asset/art/ui/note/c02_slices/c02_xchan_sheKnowsMe.tres
@@ -4,5 +4,5 @@
[resource]
atlas = ExtResource("1_a3qry")
-region = Rect2(882, 571, 462, 93)
+region = Rect2(1461, 927, 748, 205)
filter_clip = true
diff --git a/asset/art/ui/note/笔记线索_第一章.json b/asset/art/ui/note/笔记线索_第一章.json
deleted file mode 100644
index 09cd58e4..00000000
--- a/asset/art/ui/note/笔记线索_第一章.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{ "frames": {
- "笔记线索_第一章.png": {
- "frame": { "x": 0, "y": 0, "w": 1790, "h": 1136 },
- "rotated": false,
- "trimmed": false,
- "spriteSourceSize": { "x": 0, "y": 0, "w": 1790, "h": 1136 },
- "sourceSize": { "w": 1790, "h": 1136 },
- "duration": 100
- }
- },
- "meta": {
- "app": "https://www.aseprite.org/",
- "version": "1.3.8.1-arm64",
- "format": "RGBA8888",
- "size": { "w": 1790, "h": 1136 },
- "scale": "1",
- "slices": [
- { "name": "c02_meat_knockDoor", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 226, "y": 253, "w": 101, "h": 53 } }] },
- { "name": "c02_hand_exchange", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 49, "y": 184, "w": 163, "h": 116 } }] },
- { "name": "c02_musicbox_needPuppet", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 86, "y": 317, "w": 102, "h": 58 } }] },
- { "name": "c02_gate_chain", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 426, "y": 333, "w": 89, "h": 70 } }] },
- { "name": "c02_split_illusionSpace", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 482, "y": 170, "w": 199, "h": 89 } }] },
- { "name": "c02_meat_stopMouse", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 364, "y": 77, "w": 108, "h": 59 } }] },
- { "name": "c02_map_1Left", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 872, "y": 88, "w": 517, "h": 383 } }] },
- { "name": "c02_map_1Right", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1440, "y": 278, "w": 283, "h": 195 } }] },
- { "name": "c02_map_2", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1324, "y": 714, "w": 437, "h": 371 } }] },
- { "name": "c02_shoe_giveToMouce", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1186, "y": 780, "w": 121, "h": 79 } }] },
- { "name": "c02_hand_requireCoin", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1185, "y": 867, "w": 112, "h": 75 } }] },
- { "name": "c02_xchan_sheKnowsMe", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 882, "y": 571, "w": 462, "h": 93 } }] },
- { "name": "c02_road_address", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1381, "y": 563, "w": 391, "h": 97 } }] },
- { "name": "c02_xchan_giveHerPuppet", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 1466, "y": 166, "w": 168, "h": 49 } }] },
- { "name": "c02_list_namesAndGoal", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 55, "y": 548, "w": 615, "h": 283 } }] },
- { "name": "c02_xchan_isSheGhost", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 93, "y": 916, "w": 200, "h": 127 } }] },
- { "name": "c02_blotOut", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 378, "y": 931, "w": 97, "h": 74 } }] }
- ]
- }
-}
diff --git a/asset/art/ui/note/笔记线索_第一章.png b/asset/art/ui/note/笔记线索_第一章.png
deleted file mode 100644
index ece154e3..00000000
Binary files a/asset/art/ui/note/笔记线索_第一章.png and /dev/null differ
diff --git a/asset/art/ui/note/笔记线索_第一章.png.import b/asset/art/ui/note/笔记线索_第一章.png.import
deleted file mode 100644
index 38457e6f..00000000
--- a/asset/art/ui/note/笔记线索_第一章.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://b5krp8f4yqmx6"
-path="res://.godot/imported/笔记线索_第一章.png-5a92d0c0d981e032650977ec75646448.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://asset/art/ui/note/笔记线索_第一章.png"
-dest_files=["res://.godot/imported/笔记线索_第一章.png-5a92d0c0d981e032650977ec75646448.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/art/ui/note/线索笔记内容-29.png b/asset/art/ui/note/线索笔记内容-29.png
deleted file mode 100644
index 209362f2..00000000
Binary files a/asset/art/ui/note/线索笔记内容-29.png and /dev/null differ
diff --git a/asset/art/ui/note/线索笔记内容-29.png.import b/asset/art/ui/note/线索笔记内容-29.png.import
deleted file mode 100644
index afb325dd..00000000
--- a/asset/art/ui/note/线索笔记内容-29.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://bv57eyqs03k4y"
-path="res://.godot/imported/线索笔记内容-29.png-95fd43b7ca9099c75bffffa603ae6aa5.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://asset/art/ui/note/线索笔记内容-29.png"
-dest_files=["res://.godot/imported/线索笔记内容-29.png-95fd43b7ca9099c75bffffa603ae6aa5.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/art/ui/note/线索笔记内容-30.png b/asset/art/ui/note/线索笔记内容-30.png
deleted file mode 100644
index 28d6bfa2..00000000
Binary files a/asset/art/ui/note/线索笔记内容-30.png and /dev/null differ
diff --git a/asset/art/ui/note/线索笔记内容-30.png.import b/asset/art/ui/note/线索笔记内容-30.png.import
deleted file mode 100644
index e491cb3d..00000000
--- a/asset/art/ui/note/线索笔记内容-30.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://blub5hsn6iqit"
-path="res://.godot/imported/线索笔记内容-30.png-ef097285280ae7bdb089673a8192d47f.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://asset/art/ui/note/线索笔记内容-30.png"
-dest_files=["res://.godot/imported/线索笔记内容-30.png-ef097285280ae7bdb089673a8192d47f.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/art/ui/note/线索笔记内容-31.png b/asset/art/ui/note/线索笔记内容-31.png
deleted file mode 100644
index f229d8cb..00000000
Binary files a/asset/art/ui/note/线索笔记内容-31.png and /dev/null differ
diff --git a/asset/art/ui/note/线索笔记内容-31.png.import b/asset/art/ui/note/线索笔记内容-31.png.import
deleted file mode 100644
index debf8b1d..00000000
--- a/asset/art/ui/note/线索笔记内容-31.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://beltvxcu7pumi"
-path="res://.godot/imported/线索笔记内容-31.png-38ff27035789ae736b9130cb69e87171.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://asset/art/ui/note/线索笔记内容-31.png"
-dest_files=["res://.godot/imported/线索笔记内容-31.png-38ff27035789ae736b9130cb69e87171.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/art/ui/note/线索笔记内容-32.png b/asset/art/ui/note/线索笔记内容-32.png
deleted file mode 100644
index f340c9d9..00000000
Binary files a/asset/art/ui/note/线索笔记内容-32.png and /dev/null differ
diff --git a/asset/art/ui/note/线索笔记内容-32.png.import b/asset/art/ui/note/线索笔记内容-32.png.import
deleted file mode 100644
index c43b479f..00000000
--- a/asset/art/ui/note/线索笔记内容-32.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://db1k1t1lc34ut"
-path="res://.godot/imported/线索笔记内容-32.png-374901b769b8a2ab0cdbb847132d8b84.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://asset/art/ui/note/线索笔记内容-32.png"
-dest_files=["res://.godot/imported/线索笔记内容-32.png-374901b769b8a2ab0cdbb847132d8b84.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/art/ui/note/线索笔记内容-34.png b/asset/art/ui/note/线索笔记内容-34.png
deleted file mode 100644
index ece2f668..00000000
Binary files a/asset/art/ui/note/线索笔记内容-34.png and /dev/null differ
diff --git a/asset/dialogue/item_description.csv b/asset/dialogue/item_description.csv
index 65f8e876..040506ef 100644
--- a/asset/dialogue/item_description.csv
+++ b/asset/dialogue/item_description.csv
@@ -3,6 +3,8 @@ ui_press_e,按 E 可互动,,,,,Press E to interact
ui_important_item_update,重要物品已更新(按 B 打开背包),,,,,
prop_小猫纸条,小猫纸条,,,[#texture=c02/小猫纸条.png],,
prop_小猫纸条_说明,「大哥,今晚老地方见 /井\」,,,,,
+prop_眼镜,眼镜,,,[#texture=c02/眼镜.png],,
+prop_眼镜_说明,这副眼镜对我很重要。
记得小时候在浦育院的日子,我经常会在半夜时听到奇怪的说话声,还时不时能看见其他小孩子看不见的东西。
院长不知从哪儿找来了这样一副眼镜,戴上它后那些怪事就很少发生。
随着年龄增长,我几乎已用不到这副眼镜。现在它对我来说似乎有了新的意义。,,,,,
index_新游戏,新游戏,,,,,
index_继续游戏,继续游戏,,,,,
index_退出游戏,退出游戏,,,,,
@@ -62,8 +64,6 @@ prop_信碎片2,信碎片(二),,,[#texture=c01/信件右上.png],,
prop_信碎片2_说明,小萍:你现下境况如何?你虽离开浦育院已久,但我始终没有忘记为你祈祷。愿上帝(看不清),,,,,
prop_银元,银元,,,[#texture=c01/银元.png],,
prop_银元_说明,一枚“袁大头”银元,中华民国十年造。,,,,,
-prop_院长的信,院长的信,,,[#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png],,
-prop_院长的信_说明,小萍:
你现下境况如何?
你虽离开浦育院已久,但我始终没有忘记为你祈祷。
愿上帝保佑你走向真正光明的道路。我相信这也是当年你父亲将你托付给我时的殷切愿景。
你既已成人,无论你的父母出于何种理由选择与你分离,你都应当拥有知晓真相的权利,所以我将公寓地址附在了信后,除此之外,我亦知之甚少。
若有闲暇,欢迎你回浦育院看看。
院长童玉君
民国二十一年十月十五日
公寓地址 芦昌路26弄3号,,,,,
prop_火柴,火柴,,,[#texture=c02/火柴.png],,
prop_火柴_说明,盒里还剩下很多根,稍微有些受潮,,,[#texture=c02/火柴.png],,
prop_小猫玩具的脑袋,小猫玩具的脑袋,,,[#texture=c02/新小猫头.png],,
@@ -90,11 +90,8 @@ prop_弹珠,弹珠,,,[#texture=c02/弹珠.png],,
prop_弹珠_说明,一种玻璃小球,孩子们常用它来进行弹子游戏,,,,,
prop_木头人偶,木头人偶,,,[#texture=c02/小蝉人偶.png],,
prop_木头人偶_说明,略显粗糙的木头玩偶,能依稀辨认出是个小女孩的模样,,,,,
-prop_小蝉人偶_说明,小小的人儿,小小的鞋子,小小的友情啊——像蝶依偎着花,,,,,
prop_粘鼠板,粘鼠板,,,[#texture=c02/粘鼠板特写.png],,
prop_粘鼠板_说明,自制的捕鼠工具,纸上面有黏黏的浆糊,,,,,
-prop_船票,船票,,,[#texture=c02/船票.png],,
-prop_船票_说明,民国十九年十月十七日
上海-南京-济南-北平-林西-满洲里
三等舱 3-23 号铺位
船票早已订好,我本已不抱任何希望,直到院长给我回信。若今晚没能找到真相,我将带着这张通往未知的船票,在浪涛中打捞被时光吞噬的答案。
我的亲生父母是谁?当初他们为何要把我送到浦育院?,,,,,
prop_一把香,一把香,,,[#texture=c02/一把香.png],,
prop_2014钥匙,2014钥匙,,,[#texture=c02/1012钥匙物品.png],,
prop_重要物品示例,重要物品示例,,,[#texture=c01/银元.png],,
@@ -103,6 +100,16 @@ prop_绳子,绳子,,,[#texture=c02/绳子物品.png][#inspect=c02/绳子.png],,
prop_3014旋转锁钥匙,3014旋转锁钥匙,,,[#texture=c02/3014旋转锁钥匙物品.png][#inspect=c02/3014旋转锁钥匙.png],,
prop_令牌,令牌,,,[#texture=c01/令牌物品.png][#inspect=c01/令牌.png],,
prop_装有灵魂的令牌,装有灵魂的令牌,,,[#texture=c01/装有灵魂的令牌物品.png][#inspect=c01/装有灵魂的令牌.png],,
+prop_院长的信,院长的信,,,[#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png],,
+prop_院长的信_说明,小萍:
你现下境况如何?
你虽离开浦育院已久,但我始终没有忘记为你祈祷。
愿上帝保佑你走向真正光明的道路。我相信这也是当年你父亲将你托付给我时的殷切愿景。
你既已成人,无论你的父母出于何种理由选择与你分离,你都应当拥有知晓真相的权利,所以我将公寓地址附在了信后,除此之外,我亦知之甚少。
若有闲暇,欢迎你回浦育院看看。
院长童玉君
民国二十一年十月十五日
公寓地址 芦昌路26弄3号,,,,,
+prop_船票,船票,,,[#texture=c02/船票.png],,
+prop_船票_说明,民国十九年十月十七日
上海-南京-济南-北平-林西-满洲里
三等舱 3-23 号铺位
船票早已订好,我本已不抱任何希望,直到院长给我回信。若今晚没能找到真相,我将带着这张通往未知的船票,在浪涛中打捞被时光吞噬的答案。
我的亲生父母是谁?当初他们为何要把我送到浦育院?,,,,,
+prop_眼镜盒,眼镜盒,,,[#texture=c02/眼镜盒.png],,
+prop_眼镜盒_说明,这副眼镜对我很重要。
记得小时候在浦育院的日子,我经常会在半夜时听到奇怪的说话声,还时不时能看见其他小孩子看不见的东西。
院长不知从哪儿找来了这样一副眼镜,戴上它后那些怪事就很少发生。
随着年龄增长,我几乎已用不到这副眼镜。现在它对我来说似乎有了新的意义。,,,,,
+prop_小蝉人偶,小蝉人偶,,,[#texture=c02/小蝉人偶.png],,
+prop_小蝉人偶_说明,小小的人儿,小小的鞋子,小小的友情啊——像蝶依偎着花。,,,,,
+prop_单只小鞋子,单只小鞋子,,,[#texture=c02/小鞋子1.png],,
+prop_小鞋子_说明,这只小鞋子曾经属于一个裹了小脚的女孩,鞋不成双,祸事难防。,,,,,
c01_s05_检查院长房间,好像忘记了什么事情,再回去检查一遍吧。,,ID格式: prop_xx_说明,,,
c01_s07_需要报纸,书店还没开门。,,,,,
c01_s08_书店工作,老板交代的工作还没做完,不能偷懒。,,,,,
@@ -144,6 +151,7 @@ c02_s03_干掉的血迹,血迹看上去干了很久,血脚印有大有小,
c02_院子_算命摊位,算命的摊位?,,,,,
c02_院子_要下雨,好像要下雨了?,,,,,
c02_s03_掉鞋子,?!,,,,,
+c02_铁门旁遇到小蝉,又是她...,,,,,
c02_s03_铁门,被铁链锁住了,,,,,
c02_偷听李癞对话后,三快三慢?是和那个肉铺老板交流的暗号吗?,,,,,
c02_柜子可放置区域,这里之前放着的东西好像被人挪走了?,,,,,
@@ -156,7 +164,7 @@ c02_保卫科老鼠精,鼠歌
天地小如喉,
红轮自吞吐。<
c02_小手还能换什么,...还有什么东西能跟它交换呢?,,,,,
c02_小手出现摔倒,?!,,,,,
c02_小手是什么鬼,这是什么鬼东西,它是在讨要什么,,,,,
-c02_小手再次出现,又来一个!,,,,,
+c02_小手再次出现,又来一个!
这地方到底是怎么回事?,,,,,
c02_一楼楼道被挡住,被挡住了,,,,,
c02_一楼戏台,盖着布的木头架子...用来做什么的呢,,,,,
c02_描述垃圾通道,桶是空的,飘着一股血气,又酸又腥。,,,,,
@@ -171,6 +179,7 @@ c02_敲门_肉掉落,楼道有东西掉下来了?,,,,,
c02_敲门_老鼠叼肉,刚刚这里有块肉不见了?,,,,,
c02_锡箔换小鞋子,另一只小鞋子。,,,,,
c02_二楼楼梯杂物堆,去三楼的路被堵住了,要不先看看别的地方吧。,,,,,
+c02_二楼小蝉跑掉,这个小女孩神出鬼没的,她说不定知道上楼的路。,,,,,
c02_二楼水盆,盆里的水很清澈,看上去像是刚盛的。,,,,,
c02_二楼老鼠洞,到处都是老鼠洞,怕不是整栋楼都被老鼠打通了。,,,,,
c02_二楼血脚印,又是这种小小尖尖的血脚印...,,,,,
diff --git a/asset/dialogue/item_description.dialogue b/asset/dialogue/item_description.dialogue
index 4f1759d1..4c367f3e 100644
--- a/asset/dialogue/item_description.dialogue
+++ b/asset/dialogue/item_description.dialogue
@@ -75,10 +75,6 @@
银元 [#texture=c01/银元.png] [ID:prop_银元]
一枚“袁大头”银元,中华民国十年造。 [ID:prop_银元_说明]
-# 重要物品
-院长的信 [#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png] [ID:prop_院长的信]
-小萍:
你现下境况如何?
你虽离开浦育院已久,但我始终没有忘记为你祈祷。
愿上帝保佑你走向真正光明的道路。我相信这也是当年你父亲将你托付给我时的殷切愿景。
你既已成人,无论你的父母出于何种理由选择与你分离,你都应当拥有知晓真相的权利,所以我将公寓地址附在了信后,除此之外,我亦知之甚少。
若有闲暇,欢迎你回浦育院看看。
院长童玉君
民国二十一年十月十五日
公寓地址 芦昌路26弄3号 [ID:prop_院长的信_说明]
-
# c02
火柴 [#texture=c02/火柴.png] [ID:prop_火柴]
盒里还剩下很多根,稍微有些受潮 [#texture=c02/火柴.png] [ID:prop_火柴_说明]
@@ -107,13 +103,9 @@
一种玻璃小球,孩子们常用它来进行弹子游戏[ID:prop_弹珠_说明]
木头人偶 [#texture=c02/小蝉人偶.png] [ID:prop_木头人偶]
略显粗糙的木头玩偶,能依稀辨认出是个小女孩的模样 [ID:prop_木头人偶_说明]
-小小的人儿,小小的鞋子,小小的友情啊——像蝶依偎着花 [ID:prop_小蝉人偶_说明]
粘鼠板 [#texture=c02/粘鼠板特写.png] [ID:prop_粘鼠板]
自制的捕鼠工具,纸上面有黏黏的浆糊[ID:prop_粘鼠板_说明]
-船票 [#texture=c02/船票.png] [ID:prop_船票]
-民国十九年十月十七日
上海-南京-济南-北平-林西-满洲里
三等舱 3-23 号铺位
船票早已订好,我本已不抱任何希望,直到院长给我回信。若今晚没能找到真相,我将带着这张通往未知的船票,在浪涛中打捞被时光吞噬的答案。
我的亲生父母是谁?当初他们为何要把我送到浦育院? [ID:prop_船票_说明]
-
# 未使用
一把香 [#texture=c02/一把香.png] [ID:prop_一把香]
@@ -132,6 +124,21 @@
=> END
+~ ImportantPropItems
+# c01
+院长的信 [#texture=c01/院长的信物品.png][#inspect=c01/院长的信.png] [ID:prop_院长的信]
+小萍:
你现下境况如何?
你虽离开浦育院已久,但我始终没有忘记为你祈祷。
愿上帝保佑你走向真正光明的道路。我相信这也是当年你父亲将你托付给我时的殷切愿景。
你既已成人,无论你的父母出于何种理由选择与你分离,你都应当拥有知晓真相的权利,所以我将公寓地址附在了信后,除此之外,我亦知之甚少。
若有闲暇,欢迎你回浦育院看看。
院长童玉君
民国二十一年十月十五日
公寓地址 芦昌路26弄3号 [ID:prop_院长的信_说明]
+# c02
+船票 [#texture=c02/船票.png] [ID:prop_船票]
+民国十九年十月十七日
上海-南京-济南-北平-林西-满洲里
三等舱 3-23 号铺位
船票早已订好,我本已不抱任何希望,直到院长给我回信。若今晚没能找到真相,我将带着这张通往未知的船票,在浪涛中打捞被时光吞噬的答案。
我的亲生父母是谁?当初他们为何要把我送到浦育院? [ID:prop_船票_说明]
+眼镜盒 [#texture=c02/眼镜盒.png] [ID:prop_眼镜盒]
+这副眼镜对我很重要。
记得小时候在浦育院的日子,我经常会在半夜时听到奇怪的说话声,还时不时能看见其他小孩子看不见的东西。
院长不知从哪儿找来了这样一副眼镜,戴上它后那些怪事就很少发生。
随着年龄增长,我几乎已用不到这副眼镜。现在它对我来说似乎有了新的意义。[ID:prop_眼镜盒_说明]
+小蝉人偶[#texture=c02/小蝉人偶.png] [ID:prop_小蝉人偶]
+小小的人儿,小小的鞋子,小小的友情啊——像蝶依偎着花。 [ID:prop_小蝉人偶_说明]
+单只小鞋子 [#texture=c02/小鞋子1.png] [ID:prop_单只小鞋子]
+这只小鞋子曾经属于一个裹了小脚的女孩,鞋不成双,祸事难防。[ID:prop_小鞋子_说明]
+=> END
+
#~ prop说明
## ID格式: prop_xx_说明
#浦育院院长秦阳,民国21年,11月20日 [ID:prop_信碎片1_说明]
@@ -200,6 +207,7 @@
算命的摊位? [ID:c02_院子_算命摊位]
好像要下雨了? [ID:c02_院子_要下雨]
?! [ID:c02_s03_掉鞋子]
+又是她...[ID:c02_铁门旁遇到小蝉]
被铁链锁住了 [ID:c02_s03_铁门]
三快三慢?是和那个肉铺老板交流的暗号吗? [ID:c02_偷听李癞对话后]
这里之前放着的东西好像被人挪走了? [ID:c02_柜子可放置区域]
@@ -214,7 +222,7 @@
...还有什么东西能跟它交换呢? [ID:c02_小手还能换什么]
?! [ID:c02_小手出现摔倒]
这是什么鬼东西,它是在讨要什么 [ID:c02_小手是什么鬼]
-又来一个! [ID:c02_小手再次出现]
+又来一个!
这地方到底是怎么回事? [ID:c02_小手再次出现]
#内侧楼道
被挡住了 [ID:c02_一楼楼道被挡住]
盖着布的木头架子...用来做什么的呢 [ID:c02_一楼戏台]
@@ -233,6 +241,7 @@
#二楼
另一只小鞋子。 [ID:c02_锡箔换小鞋子]
去三楼的路被堵住了,要不先看看别的地方吧。 [ID:c02_二楼楼梯杂物堆]
+这个小女孩神出鬼没的,她说不定知道上楼的路。 [ID:c02_二楼小蝉跑掉]
盆里的水很清澈,看上去像是刚盛的。 [ID:c02_二楼水盆]
到处都是老鼠洞,怕不是整栋楼都被老鼠打通了。 [ID:c02_二楼老鼠洞]
又是这种小小尖尖的血脚印... [ID:c02_二楼血脚印]
diff --git a/scene/entity/ambush.gd b/scene/entity/ambush.gd
index 6daa56f1..bfd88112 100644
--- a/scene/entity/ambush.gd
+++ b/scene/entity/ambush.gd
@@ -29,6 +29,7 @@ signal sign_mark_offset_updated
area2d.position.x = collision_width_and_x.y
@export var interacted_sign_texture: Texture2D
@export var one_shot := true
+@export var hide_if_one_shot_played := false
# 首次进入 tree 就直接启用
@export var on_first_enter_tree := false
@export var cooldown_time := 0.5
@@ -83,6 +84,8 @@ var played: bool:
ground_archive.set_pair(name, "played", played)
if is_node_ready() and val and interacted_sign_texture:
sign_mark.sprite2d.texture = interacted_sign_texture
+ if hide_if_one_shot_played and not val and not Engine.is_editor_hint():
+ visible = false
# Called when the node enters the scene tree for the first time.
@@ -120,7 +123,7 @@ func _visibility_changed():
func _check_sign_status():
- sign_mark.enabled = visible and enabled and (not played or not one_shot)
+ sign_mark.enabled = is_visible_in_tree() and enabled and (not played or not one_shot)
sign_mark.display_sign = trigger_mode == "interact"
@@ -143,11 +146,15 @@ func _interacted():
func _entered(_body = null):
if enabled and trigger_mode == "enter":
+ # _entered 不需要 visible
+ # if is_visible_in_tree():
_do_trigger()
func _area_entered(_area = null):
if enabled and trigger_mode == "area_enter":
+ # _area_entered 不需要 visible
+ # if is_visible_in_tree():
_do_trigger()
diff --git a/scene/entity/inspectable.gd b/scene/entity/inspectable.gd
index fa67a154..09ec62b0 100644
--- a/scene/entity/inspectable.gd
+++ b/scene/entity/inspectable.gd
@@ -1,7 +1,6 @@
@tool
class_name Inspectable2D extends Sprite2D
-
signal start_inspecting
signal quit_inspecting
signal sign_mark_offset_updated
@@ -16,7 +15,7 @@ enum { STATUS_NORAML, STATUS_TRANSITIONING, STATUS_INSPECTING_COVER, STATUS_INSP
set(val):
enabled = val
if is_node_ready():
- sign_mark.enabled = val
+ _on_visibility_changed()
# 使用全局 inspector
@export var global_inspect := false
# sign_mark 节点在 ready 时会直接读取
@@ -88,7 +87,6 @@ func _ready() -> void:
cover_rect.texture = texture_cover
if Engine.is_editor_hint():
return
- sign_mark.enabled = enabled
# setup default value
ground_archive = ArchiveManager.archive.ground_archive()
icount = ground_archive.get_value(name, "icount", 0)
@@ -98,6 +96,12 @@ func _ready() -> void:
sign_snapper.action_on_arrived = action_key
sign_snapper.arrived.connect(_on_interacted)
sign_mark.cancel.connect(_on_cancel)
+ visibility_changed.connect(_on_visibility_changed)
+ _on_visibility_changed()
+
+
+func _on_visibility_changed() -> void:
+ sign_mark.enabled = enabled and is_visible_in_tree()
func _get_tr_content():
@@ -122,7 +126,9 @@ func _on_interacted() -> void:
if global_inspect:
icount += 1
# 使用全局 inspector
- SceneManager.get_inspector().pop_standard_inspection(texture_cover, null, content_key, content_centered)
+ SceneManager.get_inspector().pop_standard_inspection(
+ texture_cover, null, content_key, content_centered
+ )
return
_do_action()
diff --git a/scene/entity/interactable.gd b/scene/entity/interactable.gd
index 76d24524..b0420c2f 100644
--- a/scene/entity/interactable.gd
+++ b/scene/entity/interactable.gd
@@ -97,7 +97,7 @@ func _visibility_changed():
func _check_sign_status():
sign_mark.enabled = (
- visible and enabled and (not one_shot or interacted_times < one_shot_max_times)
+ is_visible_in_tree() and enabled and (not one_shot or interacted_times < one_shot_max_times)
)
diff --git a/scene/entity/note.gd b/scene/entity/note.gd
index 7196eef1..d425565f 100644
--- a/scene/entity/note.gd
+++ b/scene/entity/note.gd
@@ -13,7 +13,7 @@ signal sign_mark_offset_updated
set(val):
enabled = val
if is_node_ready():
- sign_mark.enabled = enabled and visible
+ _visibility_changed()
@export var collision_width_and_x := Vector2(20.0, 0):
set(val):
collision_width_and_x = val
@@ -90,7 +90,7 @@ func _ready() -> void:
func _visibility_changed():
- sign_mark.enabled = enabled and visible
+ sign_mark.enabled = enabled and is_visible_in_tree()
func _on_interacted() -> void:
diff --git a/scene/entity/npc.gd b/scene/entity/npc.gd
index 13cd065f..4ccdbbe6 100644
--- a/scene/entity/npc.gd
+++ b/scene/entity/npc.gd
@@ -125,7 +125,7 @@ func _on_visibility_changed() -> void:
func _align_signs_status():
- sign_mark.enabled = enabled
+ sign_mark.enabled = enabled and is_visible_in_tree()
sign_mark.display_sign = icount == 0
speaking_sign.visible = enabled and icount > 0
diff --git a/scene/entity/pickable.gd b/scene/entity/pickable.gd
index e0bbe92e..3c45e351 100644
--- a/scene/entity/pickable.gd
+++ b/scene/entity/pickable.gd
@@ -5,7 +5,11 @@ signal triggered
signal sign_mark_offset_updated
-@export var as_important_item := false
+@export var as_important_item := false:
+ set(val):
+ as_important_item = val
+ if is_node_ready():
+ notify_property_list_changed()
# sign_mark 节点在 ready 时会直接读取
@export var sign_mark_offset := Vector2.ZERO:
set(val):
@@ -87,7 +91,7 @@ func _check_display():
visible = false
elif visible_follow_enabled:
visible = enabled
- sign_mark.enabled = enabled and visible
+ sign_mark.enabled = enabled and is_visible_in_tree()
func _get_animation_player() -> AnimationPlayer:
@@ -128,7 +132,8 @@ static var item_config_res = preload("res://asset/dialogue/item_description.dial
func _get_property_list() -> Array[Dictionary]:
var items = []
if Engine.is_editor_hint():
- var id = item_config_res.titles["PropItems"]
+ var tilte = "ImportantPropItems" if as_important_item else "PropItems"
+ var id = item_config_res.titles[tilte]
var current_line = item_config_res.lines[id]
while current_line:
if current_line.has("translation_key"):
@@ -136,6 +141,7 @@ func _get_property_list() -> Array[Dictionary]:
if not current_line.has("next_id") or current_line.next_id == "end":
break
current_line = item_config_res.lines[current_line.next_id]
+ items = items.filter(func(i): return not i.ends_with("说明"))
return [
{
"name": "prop_key",
diff --git a/scene/ground/scene/animation_root.gd b/scene/ground/scene/animation_root.gd
index 099b947e..2337dfcc 100644
--- a/scene/ground/scene/animation_root.gd
+++ b/scene/ground/scene/animation_root.gd
@@ -140,6 +140,10 @@ func _get_property_list() -> Array[Dictionary]:
###### TOOL BUTTON
func _reset_archive() -> void:
+ ground = get_tree().edited_scene_root.get_node("Ground")
+ if not ground:
+ printerr("ground not found")
+ return
var archive = (
ResourceLoader.load("user://data/archives/save000.tres", "AssembledArchive")
as AssembledArchive
@@ -164,9 +168,15 @@ func _reset_archive() -> void:
var getter_regx = RegEx.create_from_string(r'get_global_value\(.?"(.+)"') as RegEx
var properties = {}
for setter_match in setter_regx.search_all(code):
- properties[setter_match.get_string(1)] = true
+ var key = setter_match.get_string(1)
+ if not properties.has(key):
+ properties[key] = false
+ print("Match global_data_setter: " + key)
for getter_match in getter_regx.search_all(code):
- properties[getter_match.get_string(1)] = true
+ var key = getter_match.get_string(1)
+ if not properties.has(key):
+ properties[key] = false
+ print("Match global_data_getter: " + key)
for p in properties.keys():
if debug_global_data.get(p) == null:
debug_global_data[p] = false
@@ -189,11 +199,20 @@ func _reset_archive() -> void:
)
var events = {}
for event_match in event_setter_regx.search_all(code):
- events[event_match.get_string(1)] = true
+ var key = event_match.get_string(1)
+ if not events.has(key):
+ events[key] = false
+ print("Match event_setter: " + key)
for event_match in event_set_greater_regx.search_all(code):
- events[event_match.get_string(1)] = true
+ var key = event_match.get_string(1)
+ if not events.has(key):
+ events[key] = false
+ print("Match event_greate_setter: " + key)
for event_match in event_getter_regx.search_all(code):
- events[event_match.get_string(1)] = true
+ var key = event_match.get_string(1)
+ if not events.has(key):
+ events[key] = false
+ print("Match event_getter: " + key)
# 遍历 ".." 下所有节点,找到属于 Event2D 的节点
_find_event2d(events, ground)
for e in events.keys():
@@ -210,13 +229,17 @@ func _setup_ground_data(g_data: Dictionary, node: Node):
return
for child in node.get_children():
if child is Ambush2D and not g_data.has(child.name):
+ print("Find Ambush2D: " + child.name)
g_data[child.name] = {"played": false}
elif child is Interactable2D and not g_data.has(child.name):
g_data[child.name] = {"interacted_times": 0}
+ print("Find Interactable2D: " + child.name)
elif child is Pickable2D and not g_data.has(child.name):
g_data[child.name] = {"picked": false}
+ print("Find Pickable2D: " + child.name)
elif child is AnimationRoot and not g_data.has(child.name):
g_data[child.name] = child.data
+ print("Find AnimationRoot: " + child.name)
_setup_ground_data(g_data, child)
@@ -225,11 +248,14 @@ func _find_event2d(events: Dictionary, node: Node) -> void:
return
for child in node.get_children():
if child is Event2D:
+ print("Find Event2D: " + child.name)
if child.event != &"":
events[child.event] = true
+ print("Find event: " + child.event)
if child.pre_event != &"":
events[child.pre_event] = true
- _find_event2d(events, child)
+ print("Find pre_event: " + child.pre_event)
+ _find_event2d(events, child)
var func_line_id := -1
diff --git a/scene/ground/scene/c02/s01_公寓门口.gd b/scene/ground/scene/c02/s01_公寓门口.gd
index 78f78047..6505cc05 100644
--- a/scene/ground/scene/c02/s01_公寓门口.gd
+++ b/scene/ground/scene/c02/s01_公寓门口.gd
@@ -17,6 +17,7 @@ func _ready() -> void:
func _on_ground_ready() -> void:
SceneManager.get_player().set_facing_direction(Vector2.RIGHT)
SceneManager.get_player().position.x = 78.0
+ SceneManager.enable_important_item("prop_眼镜盒")
SceneManager.enable_important_item("prop_船票")
await SceneManager.pop_os_with_str("c02_s01_下黄包车")
ArchiveManager.set_chapter_if_greater(2)
diff --git a/scene/ground/scene/c02/s02_过道.gd b/scene/ground/scene/c02/s02_过道.gd
index b42f12c3..a643cb25 100644
--- a/scene/ground/scene/c02/s02_过道.gd
+++ b/scene/ground/scene/c02/s02_过道.gd
@@ -156,6 +156,6 @@ func check_if_show_shoes():
func _on_shoes_interacted():
- SceneManager.enable_important_item("prop_小鞋子1")
+ SceneManager.enable_important_item("prop_单只小鞋子")
$"../DeployLayer/老鼠拖鞋".visible = false
$"../DeployLayer/Note老鼠洞".enabled = true
diff --git a/scene/ground/scene/c02/s02_过道.tscn b/scene/ground/scene/c02/s02_过道.tscn
index f40d7241..5fde6e4e 100644
--- a/scene/ground/scene/c02/s02_过道.tscn
+++ b/scene/ground/scene/c02/s02_过道.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=31 format=3 uid="uid://brck77w81fhvc"]
+[gd_scene load_steps=32 format=3 uid="uid://brck77w81fhvc"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_wrr6r"]
[ext_resource type="Script" uid="uid://bfrgnmde3hjn0" path="res://scene/ground/scene/c02/s02_过道.gd" id="2_5p8ev"]
@@ -26,6 +26,7 @@
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="19_6wwyd"]
[ext_resource type="SpriteFrames" uid="uid://blij4obvhb1vf" path="res://asset/art/gif/c02_公寓过道/c02_公寓过道_frames.tres" id="19_q0axc"]
[ext_resource type="Texture2D" uid="uid://6x6mmg2hig5j" path="res://asset/art/scene/c02/s02_大门过道/e-八音盒(场景中).png" id="22_jg8g0"]
+[ext_resource type="SpriteFrames" uid="uid://di43shn22n5ph" path="res://asset/art/gif/c00_通用动作/c00_通用动作_frames.tres" id="27_2lo60"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fjkfm"]
@@ -277,11 +278,10 @@ position = Vector2(388, 47)
hook_method = "xiaochan_disappear"
[node name="小蝉" type="AnimatedSprite2D" parent="Ground/DeployLayer/Ambush小蝉闪现"]
-position = Vector2(189, 15)
-sprite_frames = ExtResource("19_q0axc")
-animation = &"头套小蝉呼吸"
-autoplay = "头套小蝉呼吸"
-frame_progress = 0.346017
+position = Vector2(189, 16)
+sprite_frames = ExtResource("27_2lo60")
+animation = &"c00_头套小婵_idle"
+autoplay = "c00_头套小婵_idle"
[node name="PointLight2D" type="PointLight2D" parent="Ground/AmbientLayer" index="0"]
position = Vector2(-124, 135)
diff --git a/scene/ground/scene/c02/s03_院子.tscn b/scene/ground/scene/c02/s03_院子.tscn
index 21c68a5b..70dbdc5f 100644
--- a/scene/ground/scene/c02/s03_院子.tscn
+++ b/scene/ground/scene/c02/s03_院子.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=78 format=3 uid="uid://djc2uaefhmu7"]
+[gd_scene load_steps=80 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"]
@@ -27,6 +27,8 @@
[ext_resource type="Texture2D" uid="uid://dooaferyy44rs" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_前侧楼梯.png" id="10_ud2jg"]
[ext_resource type="Texture2D" uid="uid://c0enojekent6s" path="res://asset/art/scene/c02/杂物/e_灯笼.png" id="11_em2ma"]
[ext_resource type="Texture2D" uid="uid://0x7cl2cmcs6l" path="res://asset/art/scene/c02/s03_公寓一楼院子/光晕/光晕2.png" id="11_g0qhj"]
+[ext_resource type="Script" uid="uid://3p6e8f385kow" path="res://scene/ground/script/c02/event_2d_xchan_run_after_got_pliers.gd" id="11_lq23y"]
+[ext_resource type="SpriteFrames" uid="uid://di43shn22n5ph" path="res://asset/art/gif/c00_通用动作/c00_通用动作_frames.tres" id="11_o1qbs"]
[ext_resource type="Texture2D" uid="uid://c8b80a75k3qw6" path="res://asset/art/scene/c02/s03_公寓一楼院子/e_院子地上纸钱.png" id="14_qqdxs"]
[ext_resource type="Texture2D" uid="uid://douwcahbhr1wt" path="res://asset/art/scene/c02/s03_公寓一楼院子/诡异效果/前侧楼梯_楼梯人群.png" id="18_crgo6"]
[ext_resource type="Texture2D" uid="uid://dqd645v3k4yar" path="res://asset/art/scene/c02/s03_公寓一楼院子/诡异效果/前侧楼梯_诡异纸人.png" id="19_vddfx"]
@@ -290,6 +292,7 @@ debug_global_data = Dictionary[String, Variant]({
"c02_burning_end_stage": 0,
"c02_counter_pushed_out": false,
"c02_eavesdrop_finished": false,
+"c02_got_pliers": 0,
"c02_madman_hitwall": false,
"c02_madman_interacted": 0,
"c02_open_gate_first_failed": false,
@@ -298,10 +301,10 @@ debug_global_data = Dictionary[String, Variant]({
"c02_the_blind_room_unlocked": false,
"c02_watched_the_well": false,
"enabled_items": ["prop_火柴", "prop_院长的信", "prop_银元"],
-"handnote_c02_gate_chain": 0,
-"handnote_c02_map_1Right": 0,
-"handnote_c02_meat_knockDoor": 0,
-"player_x": 1100.0
+"handnote_c02_gate_chain": 1,
+"handnote_c02_map_1Right": 1,
+"handnote_c02_meat_knockDoor": 1,
+"player_x": 700.0
})
debug_ground_data = Dictionary[String, Variant]({
"Ambush保卫科旁边os": {
@@ -319,6 +322,9 @@ debug_ground_data = Dictionary[String, Variant]({
"Ambush等待的小蝉": {
"played": false
},
+"Ambush老虎钳后小蝉跑": {
+"played": false
+},
"Ambush要下雨了": {
"played": false
},
@@ -406,16 +412,41 @@ position = Vector2(2286, 16)
position = Vector2(138, 47)
hook_os_key = "c02_院子_保卫科旁"
-[node name="火灾背景" type="Sprite2D" parent="Ground/DeployLayer" index="3"]
+[node name="Event2D_xchan_run_after_got_pliers" type="Node2D" parent="Ground/DeployLayer" index="3"]
+position = Vector2(0, -1)
+script = ExtResource("11_lq23y")
+event = &"c02_got_pliers"
+hide_if_on_stage = Array[int]([0, 2])
+metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
+
+[node name="Ambush老虎钳后小蝉跑" parent="Ground/DeployLayer/Event2D_xchan_run_after_got_pliers" instance=ExtResource("25_iyaiw")]
+position = Vector2(841, 43)
+enabled = false
+
+[node name="AutoplayAnimatedSprite" parent="Ground/DeployLayer/Event2D_xchan_run_after_got_pliers" instance=ExtResource("33_ycojw")]
+position = Vector2(953, 42)
+sprite_frames = ExtResource("11_o1qbs")
+animation = &"c00_头套小婵_run"
+autoplay = "c00_头套小婵_idle"
+move_configs = Array[Dictionary]([{
+"animation": "c00_头套小婵_run",
+"animation_next": "",
+"duration": 1e+07,
+"movement_x": 600.0,
+"velocity": Vector2(100, 0)
+}])
+debug_mov_animation = "c00_头套小婵_run"
+
+[node name="火灾背景" type="Sprite2D" parent="Ground/DeployLayer" index="4"]
modulate = Color(1, 1, 1, 0)
position = Vector2(1189, 0)
texture = ExtResource("6_d7h4s")
-[node name="禁火等墙面文字" type="Sprite2D" parent="Ground/DeployLayer" index="4"]
+[node name="禁火等墙面文字" type="Sprite2D" parent="Ground/DeployLayer" index="5"]
position = Vector2(955, 5)
texture = ExtResource("10_3nako")
-[node name="portal_1" parent="Ground/DeployLayer" index="5" instance=ExtResource("5_00b7a")]
+[node name="portal_1" parent="Ground/DeployLayer" index="6" instance=ExtResource("5_00b7a")]
position = Vector2(200, 10)
debug_note = "1012保卫科"
portal_name = "1"
@@ -423,7 +454,7 @@ target_scene = "c02_s04"
target_portal = "left"
status = "opened"
-[node name="portal_2" parent="Ground/DeployLayer" index="6" instance=ExtResource("5_00b7a")]
+[node name="portal_2" parent="Ground/DeployLayer" index="7" instance=ExtResource("5_00b7a")]
position = Vector2(928, 7)
debug_note = "一楼内侧过道
"
@@ -431,7 +462,7 @@ portal_name = "2"
target_scene = "c02_s05"
target_portal = "left"
-[node name="portal_3" parent="Ground/DeployLayer" index="7" instance=ExtResource("5_00b7a")]
+[node name="portal_3" parent="Ground/DeployLayer" index="8" instance=ExtResource("5_00b7a")]
position = Vector2(1704, 14)
debug_note = "空房间 1014"
portal_name = "3"
@@ -439,12 +470,12 @@ target_scene = "c02_s10"
target_portal = "left"
status = "opened"
-[node name="portal_4" parent="Ground/DeployLayer" index="8" instance=ExtResource("5_00b7a")]
+[node name="portal_4" parent="Ground/DeployLayer" index="9" instance=ExtResource("5_00b7a")]
position = Vector2(1876, 49)
debug_note = "霸凌传送点"
portal_name = "4"
-[node name="Note血迹" parent="Ground/DeployLayer" index="9" instance=ExtResource("6_t48d1")]
+[node name="Note血迹" parent="Ground/DeployLayer" index="10" instance=ExtResource("6_t48d1")]
position = Vector2(523, 78)
title_filter = "c02"
note_key = "c02_s03_干掉的血迹"
@@ -456,7 +487,7 @@ position = Vector2(132, 10)
sprite_frames = ExtResource("4_gd6xp")
animation = &"肉铺门口血迹"
-[node name="灯笼" type="Node2D" parent="Ground/DeployLayer" index="10"]
+[node name="灯笼" type="Node2D" parent="Ground/DeployLayer" index="11"]
[node name="灯笼" type="Sprite2D" parent="Ground/DeployLayer/灯笼"]
position = Vector2(1644, -86)
@@ -506,7 +537,7 @@ energy = 0.7
texture = SubResource("GradientTexture2D_kyfht")
texture_scale = 2.2
-[node name="新背景_奠" type="Node2D" parent="Ground/DeployLayer" index="11"]
+[node name="新背景_奠" type="Node2D" parent="Ground/DeployLayer" index="12"]
visible = false
[node name="地上纸钱" type="Sprite2D" parent="Ground/DeployLayer/新背景_奠"]
@@ -541,7 +572,7 @@ position = Vector2(898, -162)
z_index = 15
position = Vector2(1964, -209)
-[node name="闷雷_纸人闪现" type="Node2D" parent="Ground/DeployLayer" index="12"]
+[node name="闷雷_纸人闪现" type="Node2D" parent="Ground/DeployLayer" index="13"]
visible = false
[node name="Ambush闷雷纸人" parent="Ground/DeployLayer/闷雷_纸人闪现" instance=ExtResource("25_iyaiw")]
@@ -568,11 +599,11 @@ range_layer_max = 2
range_item_cull_mask = 4
texture = SubResource("GradientTexture2D_3nako")
-[node name="Ambush要下雨了" parent="Ground/DeployLayer" index="13" instance=ExtResource("25_iyaiw")]
+[node name="Ambush要下雨了" parent="Ground/DeployLayer" index="14" instance=ExtResource("25_iyaiw")]
position = Vector2(1611, 46)
hook_os_key = "c02_院子_要下雨"
-[node name="Pickable小鞋子" parent="Ground/DeployLayer" index="14" instance=ExtResource("7_em2ma")]
+[node name="Pickable小鞋子" parent="Ground/DeployLayer" index="15" instance=ExtResource("7_em2ma")]
position = Vector2(809, 75)
sign_mark_offset = Vector2(0, -16.88)
enabled = false
@@ -583,7 +614,7 @@ position = Vector2(0, -7)
scale = Vector2(0.15, 0.15)
texture = ExtResource("8_plfv5")
-[node name="Event2D小蝉哼歌" type="Node2D" parent="Ground/DeployLayer" index="15"]
+[node name="Event2D小蝉哼歌" type="Node2D" parent="Ground/DeployLayer" index="16"]
position = Vector2(800, -173)
script = ExtResource("26_o1qbs")
event = &"c02_madman_interacted"
@@ -599,7 +630,7 @@ bus = &"game_sfx"
script = ExtResource("54_o1qbs")
metadata/_custom_type_script = "uid://wapo47a1oddf"
-[node name="Interactable铁门" parent="Ground/DeployLayer" index="16" instance=ExtResource("8_xt8j0")]
+[node name="Interactable铁门" parent="Ground/DeployLayer" index="17" instance=ExtResource("8_xt8j0")]
light_mask = 5
position = Vector2(1222, 28)
texture = ExtResource("7_gd6xp")
@@ -619,7 +650,7 @@ collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground/DeployLayer/Interactable铁门/Wall"]
shape = SubResource("RectangleShape2D_mdix7")
-[node name="Note算命摊位" parent="Ground/DeployLayer" index="17" instance=ExtResource("6_t48d1")]
+[node name="Note算命摊位" parent="Ground/DeployLayer" index="18" instance=ExtResource("6_t48d1")]
position = Vector2(725, 45)
note_key = "c02_院子_算命摊位"
@@ -627,7 +658,7 @@ note_key = "c02_院子_算命摊位"
position = Vector2(0, 18)
texture = ExtResource("6_1tart")
-[node name="煤油灯" type="Sprite2D" parent="Ground/DeployLayer" index="18"]
+[node name="煤油灯" type="Sprite2D" parent="Ground/DeployLayer" index="19"]
position = Vector2(293, 13)
texture = ExtResource("32_df1yo")
@@ -645,7 +676,7 @@ energy = 2.0
blend_mode = 2
texture = ExtResource("11_g0qhj")
-[node name="煤油灯2" type="Sprite2D" parent="Ground/DeployLayer" index="19"]
+[node name="煤油灯2" type="Sprite2D" parent="Ground/DeployLayer" index="20"]
position = Vector2(605, 13)
texture = ExtResource("32_df1yo")
@@ -663,7 +694,7 @@ energy = 2.0
blend_mode = 2
texture = ExtResource("34_jhod7")
-[node name="煤油灯3" type="Sprite2D" parent="Ground/DeployLayer" index="20"]
+[node name="煤油灯3" type="Sprite2D" parent="Ground/DeployLayer" index="21"]
position = Vector2(854, 13)
texture = ExtResource("32_df1yo")
@@ -681,47 +712,47 @@ energy = 2.0
blend_mode = 2
texture = ExtResource("35_o1qbs")
-[node name="井" type="Sprite2D" parent="Ground/DeployLayer" index="21"]
+[node name="井" type="Sprite2D" parent="Ground/DeployLayer" index="22"]
self_modulate = Color(0.739288, 0.739288, 0.739288, 1)
light_mask = 5
z_index = 10
position = Vector2(2062, 60)
texture = ExtResource("21_4n8vm")
-[node name="药车" type="Sprite2D" parent="Ground/DeployLayer" index="22"]
+[node name="药车" type="Sprite2D" parent="Ground/DeployLayer" index="23"]
light_mask = 5
z_index = 10
position = Vector2(1025, 27)
texture = ExtResource("22_3y5s5")
-[node name="Closeup敲门游戏" parent="Ground/DeployLayer" index="23" instance=ExtResource("23_81juy")]
+[node name="Closeup敲门游戏" parent="Ground/DeployLayer" index="24" instance=ExtResource("23_81juy")]
position = Vector2(466, 3)
packed_scene = ExtResource("24_0o4rt")
collision_width_and_x = Vector2(40, 0)
-[node name="Ambush惊悚闪电" parent="Ground/DeployLayer" index="24" instance=ExtResource("25_iyaiw")]
+[node name="Ambush惊悚闪电" parent="Ground/DeployLayer" index="25" instance=ExtResource("25_iyaiw")]
position = Vector2(1319, 40)
hook_method = "shocking_lighting"
-[node name="Ambush偷听对话" parent="Ground/DeployLayer" index="25" instance=ExtResource("25_iyaiw")]
+[node name="Ambush偷听对话" parent="Ground/DeployLayer" index="26" instance=ExtResource("25_iyaiw")]
position = Vector2(1836, 7)
trigger_mode = "interact"
one_shot = false
hook_method = "eavesdrop"
-[node name="李氏赖子房间人影" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="26"]
+[node name="李氏赖子房间人影" type="AnimatedSprite2D" parent="Ground/DeployLayer" index="27"]
position = Vector2(1835, -16)
sprite_frames = SubResource("SpriteFrames_0o4rt")
autoplay = "default"
frame_progress = 0.643855
-[node name="Closeup井" parent="Ground/DeployLayer" index="27" instance=ExtResource("23_81juy")]
+[node name="Closeup井" parent="Ground/DeployLayer" index="28" instance=ExtResource("23_81juy")]
z_index = 6
position = Vector2(2063, 50)
packed_scene = ExtResource("26_yy4fp")
action_key = 3
-[node name="Npc井边疯子" parent="Ground/DeployLayer" index="28" instance=ExtResource("35_plfv5")]
+[node name="Npc井边疯子" parent="Ground/DeployLayer" index="29" instance=ExtResource("35_plfv5")]
z_index = 10
position = Vector2(2037, 67)
sprite_frames = ExtResource("4_gd6xp")
@@ -735,7 +766,7 @@ sign_x_offset = -2.0
collision_width_and_x = Vector2(37.08, 0)
dialogue_title = "c02_井边疯子对话"
-[node name="霸凌" type="Node2D" parent="Ground/DeployLayer" index="29"]
+[node name="霸凌" type="Node2D" parent="Ground/DeployLayer" index="30"]
visible = false
position = Vector2(2154, 60)
@@ -800,7 +831,7 @@ collision_mask = 0
shape = SubResource("RectangleShape2D_d7h4s")
disabled = true
-[node name="火灾" type="Node2D" parent="Ground/DeployLayer" index="30"]
+[node name="火灾" type="Node2D" parent="Ground/DeployLayer" index="31"]
visible = false
[node name="右窗" type="AnimatedSprite2D" parent="Ground/DeployLayer/火灾"]
@@ -1042,7 +1073,7 @@ script = ExtResource("54_o1qbs")
loop = true
metadata/_custom_type_script = "uid://wapo47a1oddf"
-[node name="Interactable柜子" parent="Ground/DeployLayer" index="31" instance=ExtResource("8_xt8j0")]
+[node name="Interactable柜子" parent="Ground/DeployLayer" index="32" instance=ExtResource("8_xt8j0")]
visible = false
position = Vector2(1772, 48)
texture = ExtResource("32_cpifc")
@@ -1058,7 +1089,7 @@ animation = &"箱子着火"
autoplay = "箱子着火"
frame_progress = 0.453645
-[node name="Note柜子可放置区域" parent="Ground/DeployLayer" index="32" instance=ExtResource("6_t48d1")]
+[node name="Note柜子可放置区域" parent="Ground/DeployLayer" index="33" instance=ExtResource("6_t48d1")]
position = Vector2(1771, 39)
title_filter = "c02"
note_key = "c02_柜子可放置区域"
diff --git a/scene/ground/scene/c02/s04_保卫科.gd b/scene/ground/scene/c02/s04_保卫科.gd
index 780557eb..f0579f0e 100644
--- a/scene/ground/scene/c02/s04_保卫科.gd
+++ b/scene/ground/scene/c02/s04_保卫科.gd
@@ -53,5 +53,8 @@ func _on_first_read(_arg) -> void:
func xiaochan_disappear():
+ await SceneManager.pop_os_with_str("c02_保卫科看到小蝉")
+ var tween = create_tween()
+ tween.tween_property(小蝉写字, "modulate:a", 0.0, 2.0)
+ await tween.finished
SceneManager.pop_os_with_str("c02_保卫科小蝉消失")
- create_tween().tween_property(小蝉写字, "modulate:a", 0.0, 2.0)
diff --git a/scene/ground/scene/c02/s04_保卫科.tscn b/scene/ground/scene/c02/s04_保卫科.tscn
index e46d6629..ebbd82b1 100644
--- a/scene/ground/scene/c02/s04_保卫科.tscn
+++ b/scene/ground/scene/c02/s04_保卫科.tscn
@@ -98,7 +98,6 @@ position = Vector2(551, 22)
[node name="Ambush进门看到小蝉" parent="Ground/DeployLayer" index="2" instance=ExtResource("7_ypth3")]
unique_name_in_owner = true
position = Vector2(72, 51)
-hook_os_key = "c02_保卫科看到小蝉"
hook_method = "xiaochan_disappear"
[node name="涂鸦提示" type="Sprite2D" parent="Ground/DeployLayer" index="3"]
diff --git a/scene/ground/scene/c02/s05_一楼内侧楼道.gd b/scene/ground/scene/c02/s05_一楼内侧楼道.gd
index 7370a2b9..f907d575 100644
--- a/scene/ground/scene/c02/s05_一楼内侧楼道.gd
+++ b/scene/ground/scene/c02/s05_一楼内侧楼道.gd
@@ -24,7 +24,7 @@ func _on_ground_ready() -> void:
sprite.play()
else:
$"../DeployLayer/Interactable粘鼠板/粘鼠死亡".visible = true
- $"../DeployLayer/Interactable粘鼠板/Note死老鼠".enabled = true
+ $"../DeployLayer/Interactable粘鼠板/Note死老鼠".visible = true
ArchiveManager.set_global_entry(&"c02_meat_given", true)
else:
$"../DeployLayer/Ambush老鼠叼肉".enabled = true
diff --git a/scene/ground/scene/c02/s05_一楼内侧楼道.tscn b/scene/ground/scene/c02/s05_一楼内侧楼道.tscn
index 244dcf5b..00965140 100644
--- a/scene/ground/scene/c02/s05_一楼内侧楼道.tscn
+++ b/scene/ground/scene/c02/s05_一楼内侧楼道.tscn
@@ -304,7 +304,7 @@ sprite_frames = ExtResource("17_bk7rf")
animation = &"老鼠被黏住死亡"
[node name="Note死老鼠" parent="Ground/DeployLayer/Interactable粘鼠板" instance=ExtResource("10_8t4w6")]
-enabled = false
+visible = false
title_filter = "c02"
note_key = "c02_一楼死老鼠"
diff --git a/scene/ground/scene/c02/s06_二楼.gd b/scene/ground/scene/c02/s06_二楼.gd
index b676d794..214ef07f 100644
--- a/scene/ground/scene/c02/s06_二楼.gd
+++ b/scene/ground/scene/c02/s06_二楼.gd
@@ -179,5 +179,6 @@ func _on_exit_final_show(_arg):
ArchiveManager.set_chapter_if_greater(3)
func unlock_2floor_map():
+ EventManager.set_stage_if_greater(&"c02_2f_xchan_run_away", 1)
EventManager.set_stage_if_greater(&"handnote_c02_map_2", 1)
- EventManager.set_stage_if_greater(&"handnote_c02_shoe_giveToMouce", 1)
+ EventManager.set_stage_if_greater(&"handnote_c02_shoe_giveToMouce", 1)
\ No newline at end of file
diff --git a/scene/ground/scene/c02/s06_二楼.tscn b/scene/ground/scene/c02/s06_二楼.tscn
index 33c6c525..e8fd4aef 100644
--- a/scene/ground/scene/c02/s06_二楼.tscn
+++ b/scene/ground/scene/c02/s06_二楼.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=53 format=3 uid="uid://cootarwb44vvh"]
+[gd_scene load_steps=55 format=3 uid="uid://cootarwb44vvh"]
[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"]
@@ -39,6 +39,8 @@
[ext_resource type="PackedScene" uid="uid://ci5anaxsa1apl" path="res://scene/entity/inspectable.tscn" id="37_7kxvk"]
[ext_resource type="Texture2D" uid="uid://ca3km2f6ncrqo" path="res://asset/art/scene/c02/s06_二楼楼道/e_小蝉偷看.png" id="37_osg51"]
[ext_resource type="Texture2D" uid="uid://b5kolhax7pf4u" path="res://asset/art/scene/c02/s06_二楼楼道/小猫纸条.png" id="37_rjlld"]
+[ext_resource type="Script" uid="uid://bnm8wuspfx303" path="res://scene/ground/script/c02/event_2d_xchan_run_away.gd" id="39_t5e0j"]
+[ext_resource type="SpriteFrames" uid="uid://di43shn22n5ph" path="res://asset/art/gif/c00_通用动作/c00_通用动作_frames.tres" id="40_7i4w0"]
[sub_resource type="Animation" id="Animation_k01ve"]
length = 0.001
@@ -852,6 +854,7 @@ libraries = {
}
script = ExtResource("2_4dg6u")
debug_global_data = Dictionary[String, Variant]({
+"c02_2f_xchan_run_away": 0,
"c02_ball_game_stage": 3,
"c02_burning": false,
"c02_burning_end_stage": 1,
@@ -875,6 +878,9 @@ debug_ground_data = Dictionary[String, Variant]({
"Ambush解锁二楼地图": {
"played": false
},
+"Ambush走到尽头后小蝉跑": {
+"played": false
+},
"AnimationPlayer": {
"oneshot_animation_played": false
},
@@ -1228,6 +1234,30 @@ content_key = "c02_小猫纸条"
position = Vector2(748, 47)
hook_method = "unlock_2floor_map"
+[node name="Event2D_xchan_run_away" type="Node2D" parent="Ground/DeployLayer" index="21"]
+position = Vector2(9, -4)
+script = ExtResource("39_t5e0j")
+event = &"c02_2f_xchan_run_away"
+hide_if_on_stage = Array[int]([0, 2])
+metadata/_custom_type_script = "uid://bkkiyk5jkdw4d"
+
+[node name="Ambush走到尽头后小蝉跑" parent="Ground/DeployLayer/Event2D_xchan_run_away" instance=ExtResource("14_k01ve")]
+position = Vector2(365, 55)
+enabled = false
+
+[node name="AutoplayAnimatedSprite" parent="Ground/DeployLayer/Event2D_xchan_run_away" instance=ExtResource("10_p6da7")]
+position = Vector2(269, 57)
+sprite_frames = ExtResource("40_7i4w0")
+animation = &"c00_头套小婵_idle"
+autoplay = "c00_头套小婵_idle"
+flip_h = true
+move_configs = Array[Dictionary]([{
+"animation": "c00_头套小婵_run",
+"movement_x": 600.0,
+"velocity": Vector2(100, 0)
+}])
+debug_mov_animation = "c00_头套小婵_run"
+
[node name="MainPlayer" parent="Ground" index="5"]
position = Vector2(63, 95)
catty_light_energy = 0.5
@@ -1242,6 +1272,7 @@ texture = ExtResource("5_26mqt")
points = PackedVector2Array(26, 150, 900, 150)
[node name="DirectionalLight2D" parent="Ground" index="8"]
+visible = false
energy = 0.9
blend_mode = 1
diff --git a/scene/ground/scene/c02/s10_空房间.gd b/scene/ground/scene/c02/s10_空房间.gd
index 35b1e71a..bdb51f40 100644
--- a/scene/ground/scene/c02/s10_空房间.gd
+++ b/scene/ground/scene/c02/s10_空房间.gd
@@ -34,7 +34,7 @@ func _on_ground_ready() -> void:
xiao_chan_sprite = $"../DeployLayer/大头小蝉"
xiao_chan_interactable = $"../DeployLayer/Interactable小蝉"
counter = $"../DeployLayer/Interactable柜子"
- wood_puppet = $"../DeployLayer/Pickable木头人偶"
+ wood_puppet = $"../DeployLayer/Pickable小蝉人偶"
catty_head = $"../DeployLayer/Pickable小猫玩具脑袋"
door = $"../DeployLayer/portal_left"
portal_note = $"../DeployLayer/Note进入隧道询问"
diff --git a/scene/ground/scene/c02/s10_空房间.tscn b/scene/ground/scene/c02/s10_空房间.tscn
index 168ee91e..07b50094 100644
--- a/scene/ground/scene/c02/s10_空房间.tscn
+++ b/scene/ground/scene/c02/s10_空房间.tscn
@@ -242,16 +242,16 @@ mute_when_interacted = true
disable_prop_after_interacted = true
prop_key = "prop_木头人偶"
-[node name="Pickable木头人偶" parent="Ground/DeployLayer" index="11" instance=ExtResource("6_27dvh")]
+[node name="Pickable小蝉人偶" parent="Ground/DeployLayer" index="11" instance=ExtResource("6_27dvh")]
z_index = 7
position = Vector2(423, 97.6081)
as_important_item = true
sign_mark_offset = Vector2(0, -7.09)
enabled = false
action_key = 3
-prop_key = "prop_木头人偶"
+prop_key = "prop_小蝉人偶"
-[node name="Sprite2D" type="Sprite2D" parent="Ground/DeployLayer/Pickable木头人偶"]
+[node name="Sprite2D" type="Sprite2D" parent="Ground/DeployLayer/Pickable小蝉人偶"]
show_behind_parent = true
rotation = -1.19178
scale = Vector2(0.25, 0.25)
diff --git a/scene/ground/script/c02/event_2d_xchan_run_after_got_pliers.gd b/scene/ground/script/c02/event_2d_xchan_run_after_got_pliers.gd
new file mode 100644
index 00000000..0530425a
--- /dev/null
+++ b/scene/ground/script/c02/event_2d_xchan_run_after_got_pliers.gd
@@ -0,0 +1,38 @@
+@tool
+extends Event2D
+
+# var prev_stage := 0
+# var stage := 0
+
+
+func _ready() -> void:
+ super._ready()
+ if Engine.is_editor_hint():
+ return
+
+func _on_global_stage_updated(e: StringName, s: int):
+ super._on_global_stage_updated(e, s)
+
+
+func _on_ground_ready(ground: Ground2D):
+ _on_stage_updated()
+
+
+func _on_pre_stage_updated():
+ pass
+
+
+func _on_stage_updated():
+ # 0初始隐藏 1准备播放 2播放结束隐藏
+ if stage == 1:
+ var ambush = $"Ambush老虎钳后小蝉跑" as Ambush2D
+ ambush.enabled = true
+ var sprite = $"AutoplayAnimatedSprite"
+ ambush.triggered.connect(func():
+ sprite.play("c00_头套小婵_run")
+ SceneManager.lock_player()
+ SceneManager.pop_os_with_str("c02_铁门旁遇到小蝉")
+ await Util.wait(3.0)
+ SceneManager.unlock_player()
+ EventManager.set_stage(event, 2)
+ )
diff --git a/scene/ground/script/c02/event_2d_xchan_run_after_got_pliers.gd.uid b/scene/ground/script/c02/event_2d_xchan_run_after_got_pliers.gd.uid
new file mode 100644
index 00000000..d28ec252
--- /dev/null
+++ b/scene/ground/script/c02/event_2d_xchan_run_after_got_pliers.gd.uid
@@ -0,0 +1 @@
+uid://3p6e8f385kow
diff --git a/scene/ground/script/c02/event_2d_xchan_run_away.gd b/scene/ground/script/c02/event_2d_xchan_run_away.gd
new file mode 100644
index 00000000..280c5cd0
--- /dev/null
+++ b/scene/ground/script/c02/event_2d_xchan_run_away.gd
@@ -0,0 +1,37 @@
+@tool
+extends Event2D
+
+# var prev_stage := 0
+# var stage := 0
+
+
+func _ready() -> void:
+ super._ready()
+ if Engine.is_editor_hint():
+ return
+
+func _on_global_stage_updated(e: StringName, s: int):
+ super._on_global_stage_updated(e, s)
+
+
+func _on_ground_ready(ground: Ground2D):
+ _on_stage_updated()
+
+func _on_pre_stage_updated():
+ pass
+
+func _on_stage_updated():
+ # 0初始隐藏 1准备播放 2播放结束隐藏
+ if stage == 1:
+ var ambush = $"Ambush走到尽头后小蝉跑" as Ambush2D
+ ambush.enabled = true
+ var sprite = $"AutoplayAnimatedSprite"
+ ambush.triggered.connect(func():
+ sprite.play("c00_头套小婵_run")
+ SceneManager.lock_player()
+ SceneManager.pop_os_with_str("c02_二楼小蝉跑掉")
+ await Util.wait(3.0)
+ SceneManager.unlock_player()
+ EventManager.set_stage(event, 2)
+ )
+
diff --git a/scene/ground/script/c02/event_2d_xchan_run_away.gd.uid b/scene/ground/script/c02/event_2d_xchan_run_away.gd.uid
new file mode 100644
index 00000000..17e59eaf
--- /dev/null
+++ b/scene/ground/script/c02/event_2d_xchan_run_away.gd.uid
@@ -0,0 +1 @@
+uid://bnm8wuspfx303
diff --git a/scene/ground/script/c02/小手讨东西.gd b/scene/ground/script/c02/小手讨东西.gd
index 9bf26209..5fe8a763 100644
--- a/scene/ground/script/c02/小手讨东西.gd
+++ b/scene/ground/script/c02/小手讨东西.gd
@@ -162,6 +162,8 @@ func _on_interacted() -> void:
elif holding_prop != "":
# 手持物品时,交互直接给玩家物品
SceneManager.enable_prop_item(holding_prop)
+ if holding_prop == "prop_老虎钳":
+ EventManager.set_stage_if_greater(&"c02_got_pliers", 1)
holding_prop = ""
animated_sprite.play("小手_show")
await animated_sprite.animation_changed
diff --git a/scene/ux/bag/prop_bag_button.tscn b/scene/ux/bag/prop_bag_button.tscn
index 5005b1f2..82f61d1c 100644
--- a/scene/ux/bag/prop_bag_button.tscn
+++ b/scene/ux/bag/prop_bag_button.tscn
@@ -30,10 +30,10 @@ layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-offset_left = -3.0
-offset_top = 19.0
-offset_right = -34.0
-offset_bottom = 3.0
+offset_left = -1.0
+offset_top = 20.0
+offset_right = -32.0
+offset_bottom = 4.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_dck1d")
diff --git a/scene/ux/note/ux_note.tscn b/scene/ux/note/ux_note.tscn
index 93944c65..e29d66aa 100644
--- a/scene/ux/note/ux_note.tscn
+++ b/scene/ux/note/ux_note.tscn
@@ -77,7 +77,7 @@ stretch_mode = 5
[node name="Event_handnote_chapter_stage" type="Sprite2D" parent="Bag/Book"]
position = Vector2(340, 137)
-scale = Vector2(0.3, 0.3)
+scale = Vector2(0.2, 0.2)
script = ExtResource("5_nk0pj")
chapter = 2
event = &"handnote_chapter_stage"
@@ -85,7 +85,7 @@ hide_if_on_stage = Array[int]([0, 3])
metadata/_custom_type_script = "uid://c5woj7mivdxrh"
[node name="Event_handnote_c02_road_address" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-493.333, -276.667)
+position = Vector2(-675, -395)
texture = ExtResource("6_dohnv")
script = ExtResource("7_nfxph")
event = &"handnote_c02_road_address"
@@ -93,7 +93,7 @@ hide_if_on_stage = Array[int]([0, 3])
metadata/_custom_type_script = "uid://c5woj7mivdxrh"
[node name="Event_handnote_c02_list_namesAndGoal" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-566.667, -163.333)
+position = Vector2(-820, -260)
texture = ExtResource("8_nfxph")
script = ExtResource("7_nfxph")
event = &"handnote_c02_list_namesAndGoal"
@@ -101,7 +101,7 @@ hide_if_on_stage = Array[int]([0, 3])
metadata/_custom_type_script = "uid://c5woj7mivdxrh"
[node name="Event_handnote_c02_xchan_sheKnowsMe" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-443.333, -10)
+position = Vector2(-680, -60)
texture = ExtResource("22_rkppt")
script = ExtResource("7_nfxph")
event = &"handnote_c02_xchan_sheKnowsMe"
@@ -109,11 +109,11 @@ hide_if_on_stage = Array[int]([0, 3])
metadata/_custom_type_script = "uid://c5woj7mivdxrh"
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage/Event_handnote_c02_xchan_sheKnowsMe"]
-position = Vector2(96.6663, 26.6666)
+position = Vector2(200, 40)
texture = ExtResource("23_njh4q")
[node name="Event_handnote_c02_一楼左侧地图" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-630.001, 253.333)
+position = Vector2(-960, 365)
texture = ExtResource("9_kv812")
script = ExtResource("7_nfxph")
event = &"handnote_c02_map_1Left"
@@ -121,59 +121,61 @@ hide_if_on_stage = Array[int]([0, 3])
metadata/_custom_type_script = "uid://c5woj7mivdxrh"
[node name="Event_handnote_c02_hand_exchange" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-830, 260)
-scale = Vector2(1.4, 1.4)
+position = Vector2(-1260, 390)
+scale = Vector2(0.65, 0.65)
texture = ExtResource("10_1efbh")
script = ExtResource("7_nfxph")
event = &"handnote_c02_hand_exchange"
hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage/Event_handnote_c02_hand_exchange"]
-position = Vector2(-16.6663, -20.0001)
-scale = Vector2(1.64321, 1.62157)
+position = Vector2(-69.2309, -38.4616)
+scale = Vector2(1.09176, 1.1318)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_musicbox_needPuppet" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-776.667, 406.667)
-scale = Vector2(1.8, 1.8)
+position = Vector2(-1220, 605)
+scale = Vector2(0.7, 0.7)
texture = ExtResource("11_vv1f8")
script = ExtResource("7_nfxph")
event = &"handnote_c02_musicbox_needPuppet"
hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage/Event_handnote_c02_musicbox_needPuppet"]
-position = Vector2(3.33337, 3.05176e-05)
-scale = Vector2(1.5, 1.5)
+position = Vector2(0.000196695, 7.14289)
+scale = Vector2(0.972891, 1)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_meat_knockDoor" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-660, 303.333)
-scale = Vector2(1.8, 1.8)
+position = Vector2(-1025, 455)
+scale = Vector2(0.7, 0.7)
texture = ExtResource("13_iiemy")
script = ExtResource("7_nfxph")
event = &"handnote_c02_meat_knockDoor"
hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage/Event_handnote_c02_meat_knockDoor"]
-position = Vector2(3.33786e-05, 3.05176e-05)
-scale = Vector2(1.5, 1.5)
+position = Vector2(-7.14261, 14.2857)
+rotation = 0.00245258
+scale = Vector2(1.22374, 0.924062)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_meat_stopMouse" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-476.667, 166.667)
-scale = Vector2(1.7, 1.7)
+position = Vector2(-735, 205)
+scale = Vector2(0.7, 0.7)
texture = ExtResource("14_cd76s")
script = ExtResource("7_nfxph")
event = &"handnote_c02_meat_stopMouse"
hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage/Event_handnote_c02_meat_stopMouse"]
-position = Vector2(3.33337, 3.05176e-05)
-scale = Vector2(1.5, 1.5)
+position = Vector2(8.86917e-05, 7.14289)
+rotation = -0.280488
+scale = Vector2(1.11613, 1.37491)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_一楼右侧地图" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-333.333, 343.333)
+position = Vector2(-500, 520)
texture = ExtResource("17_gmufd")
script = ExtResource("7_nfxph")
event = &"handnote_c02_map_1Right"
@@ -181,39 +183,39 @@ hide_if_on_stage = Array[int]([0, 3])
metadata/_custom_type_script = "uid://c5woj7mivdxrh"
[node name="Event_handnote_c02_gate_chain" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-513.333, 376.667)
-scale = Vector2(1.7, 1.7)
+position = Vector2(-760, 555)
+scale = Vector2(0.7, 0.7)
texture = ExtResource("16_c71vy")
script = ExtResource("7_nfxph")
event = &"handnote_c02_gate_chain"
hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage/Event_handnote_c02_gate_chain"]
-visible = false
position = Vector2(0.000396729, 3.33299)
-scale = Vector2(1.5, 1.5)
+rotation = -0.652993
+scale = Vector2(1.51321, 1.44124)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_split_illusionSpace" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-380, 253.333)
-scale = Vector2(1.4, 1.4)
+position = Vector2(-600, 375)
+scale = Vector2(0.7, 0.7)
texture = ExtResource("18_en7n8")
script = ExtResource("7_nfxph")
event = &"handnote_c02_split_illusionSpace"
hide_if_on_stage = Array[int]([0, 3])
[node name="Event_handnote_c02_xchan_giveHerPuppet" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(-313.333, 306.667)
-scale = Vector2(1.7, 1.7)
+position = Vector2(-500, 560)
+scale = Vector2(0.65, 0.65)
texture = ExtResource("19_16oeu")
script = ExtResource("7_nfxph")
event = &"handnote_c02_xchan_giveHerPuppet"
hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage/Event_handnote_c02_xchan_giveHerPuppet"]
-position = Vector2(-0.000321865, -3.3334)
-rotation = -0.261797
-scale = Vector2(2, 1.2)
+position = Vector2(5.24521e-06, 7.62939e-06)
+rotation = -0.283794
+scale = Vector2(1.18271, 1.36673)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_二楼地图" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
@@ -225,35 +227,37 @@ hide_if_on_stage = Array[int]([0, 3])
metadata/_custom_type_script = "uid://c5woj7mivdxrh"
[node name="Event_handnote_c02_hand_requireCoin" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(463.333, -120)
-scale = Vector2(1.6, 1.6)
+position = Vector2(590, -95)
+scale = Vector2(0.7, 0.7)
texture = ExtResource("21_x45ak")
script = ExtResource("7_nfxph")
event = &"handnote_c02_hand_requireCoin"
hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage/Event_handnote_c02_hand_requireCoin"]
-position = Vector2(3.33337, 3.33298)
-scale = Vector2(1.35575, 1.86951)
+position = Vector2(-7.14288, 14.2857)
+rotation = -0.448216
+scale = Vector2(1.03957, 1.62217)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_shoe_giveToMouce" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage"]
-position = Vector2(266.667, -156.667)
-scale = Vector2(1.6, 1.6)
+position = Vector2(220, -160)
+scale = Vector2(0.7, 0.7)
texture = ExtResource("15_60qdw")
script = ExtResource("7_nfxph")
event = &"handnote_c02_shoe_giveToMouce"
hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage/Event_handnote_c02_shoe_giveToMouce"]
-position = Vector2(0.000236511, 3.33301)
-scale = Vector2(1.35575, 1.86951)
+position = Vector2(1.84647e-05, 7.14291)
+rotation = -0.231717
+scale = Vector2(1.19114, 1.20576)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_chapter_stage2" type="Sprite2D" parent="Bag/Book"]
visible = false
position = Vector2(340, 137)
-scale = Vector2(0.3, 0.3)
+scale = Vector2(0.2, 0.2)
script = ExtResource("5_nk0pj")
chapter = 3
slices_path = "res://asset/art/ui/note/c03_slices/"
@@ -294,7 +298,6 @@ hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage2/Event_handnote_c02_map_1Left/Event_handnote_c02_meat_knockDoor"]
position = Vector2(3.33786e-05, 3.05176e-05)
-scale = Vector2(1.5, 1.5)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_meat_stopMouse" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage2/Event_handnote_c02_map_1Left"]
@@ -306,7 +309,6 @@ hide_if_on_stage = Array[int]([0, 3])
[node name="BlotOut" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage2/Event_handnote_c02_map_1Left/Event_handnote_c02_meat_stopMouse"]
position = Vector2(3.33337, 3.05176e-05)
-scale = Vector2(1.5, 1.5)
texture = ExtResource("11_dohnv")
[node name="Event_handnote_c02_map_1Right" type="Sprite2D" parent="Bag/Book/Event_handnote_chapter_stage2"]
diff --git a/scene/ux/prop_hud.gd b/scene/ux/prop_hud.gd
index bc514ff6..6a4cda0f 100644
--- a/scene/ux/prop_hud.gd
+++ b/scene/ux/prop_hud.gd
@@ -83,7 +83,8 @@ func _ready() -> void:
prop_containers.append(container)
container.get_child(0).get_child(0).gui_input.connect(_on_prop_gui_input.bind(id))
display_prop.gui_input.connect(_on_prop_gui_input.bind(-1))
- _load_items()
+ _load_items_config_to_dict("ImportantPropItems")
+ _load_items_config_to_dict("PropItems")
_load_from_archive()
selecting_bg.modulate.a = 0.0
prop_scroll.scroll_horizontal = PROP_CONTAINER_X
@@ -109,8 +110,8 @@ func _ready() -> void:
mouse_exited.connect(_on_mouse_exited)
-func _load_items():
- var id = item_config_res.titles["PropItems"]
+func _load_items_config_to_dict(title: String):
+ var id = item_config_res.titles[title]
var current_line = item_config_res.lines[id]
while current_line:
if current_line.has("tags") and current_line.has("translation_key"):