diff --git a/DungeonShooting_Godot/excel/ActivityBase.xlsx b/DungeonShooting_Godot/excel/ActivityBase.xlsx
index ea33b69..f503434 100644
--- a/DungeonShooting_Godot/excel/ActivityBase.xlsx
+++ b/DungeonShooting_Godot/excel/ActivityBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/prefab/item/Item0003.tscn b/DungeonShooting_Godot/prefab/item/Item0003.tscn
new file mode 100644
index 0000000..3a9794b
--- /dev/null
+++ b/DungeonShooting_Godot/prefab/item/Item0003.tscn
@@ -0,0 +1,64 @@
+[gd_scene load_steps=8 format=3 uid="uid://cdcpa4l71tkja"]
+
+[ext_resource type="Script" path="res://src/game/activity/item/ObstacleObject.cs" id="1_nuuf6"]
+[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_fbidd"]
+[ext_resource type="Texture2D" uid="uid://dr2d6toqxxifv" path="res://resource/sprite/item/hall_b/zhuozi02.png" id="3_4miy3"]
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_wh4b7"]
+resource_local_to_scene = true
+shader = ExtResource("2_fbidd")
+shader_parameter/blend = Color(0, 0, 0, 0.470588)
+shader_parameter/schedule = 1.0
+shader_parameter/modulate = Color(1, 1, 1, 1)
+shader_parameter/show_outline = true
+shader_parameter/outline_color = Color(0, 0, 0, 1)
+shader_parameter/outline_rainbow = false
+shader_parameter/outline_use_blend = true
+shader_parameter/grey = 0.0
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_f7tsa"]
+resource_local_to_scene = true
+shader = ExtResource("2_fbidd")
+shader_parameter/blend = Color(1, 1, 1, 1)
+shader_parameter/schedule = 0.0
+shader_parameter/modulate = Color(1, 1, 1, 1)
+shader_parameter/show_outline = true
+shader_parameter/outline_color = Color(0, 0, 0, 1)
+shader_parameter/outline_rainbow = false
+shader_parameter/outline_use_blend = true
+shader_parameter/grey = 0.0
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_uqva1"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": ExtResource("3_4miy3")
+}],
+"loop": true,
+"name": &"default",
+"speed": 5.0
+}]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_p3c6b"]
+size = Vector2(54, 17)
+
+[node name="Item0003" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
+collision_layer = 512
+collision_mask = 0
+script = ExtResource("1_nuuf6")
+ShadowSprite = NodePath("ShadowSprite")
+AnimatedSprite = NodePath("AnimatedSprite")
+Collision = NodePath("Collision")
+
+[node name="ShadowSprite" type="Sprite2D" parent="."]
+z_index = -1
+material = SubResource("ShaderMaterial_wh4b7")
+
+[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
+material = SubResource("ShaderMaterial_f7tsa")
+position = Vector2(0, -4)
+sprite_frames = SubResource("SpriteFrames_uqva1")
+
+[node name="Collision" type="CollisionShape2D" parent="."]
+position = Vector2(0, 2.5)
+shape = SubResource("RectangleShape2D_p3c6b")
diff --git a/DungeonShooting_Godot/prefab/item/Item0004.tscn b/DungeonShooting_Godot/prefab/item/Item0004.tscn
new file mode 100644
index 0000000..5b6bc9e
--- /dev/null
+++ b/DungeonShooting_Godot/prefab/item/Item0004.tscn
@@ -0,0 +1,64 @@
+[gd_scene load_steps=8 format=3 uid="uid://cjvmk415l1m7w"]
+
+[ext_resource type="Script" path="res://src/game/activity/item/ObstacleObject.cs" id="1_1qbhq"]
+[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_lp5ce"]
+[ext_resource type="Texture2D" uid="uid://belr22s50exy8" path="res://resource/sprite/item/hall_b/mugui.png" id="3_px2by"]
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_wh4b7"]
+resource_local_to_scene = true
+shader = ExtResource("2_lp5ce")
+shader_parameter/blend = Color(0, 0, 0, 0.470588)
+shader_parameter/schedule = 1.0
+shader_parameter/modulate = Color(1, 1, 1, 1)
+shader_parameter/show_outline = true
+shader_parameter/outline_color = Color(0, 0, 0, 1)
+shader_parameter/outline_rainbow = false
+shader_parameter/outline_use_blend = true
+shader_parameter/grey = 0.0
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_f7tsa"]
+resource_local_to_scene = true
+shader = ExtResource("2_lp5ce")
+shader_parameter/blend = Color(1, 1, 1, 1)
+shader_parameter/schedule = 0.0
+shader_parameter/modulate = Color(1, 1, 1, 1)
+shader_parameter/show_outline = false
+shader_parameter/outline_color = Color(0, 0, 0, 1)
+shader_parameter/outline_rainbow = false
+shader_parameter/outline_use_blend = true
+shader_parameter/grey = 0.0
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_uqva1"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": ExtResource("3_px2by")
+}],
+"loop": true,
+"name": &"default",
+"speed": 5.0
+}]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_p3c6b"]
+size = Vector2(24, 12)
+
+[node name="Item0004" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
+collision_layer = 512
+collision_mask = 0
+script = ExtResource("1_1qbhq")
+ShadowSprite = NodePath("ShadowSprite")
+AnimatedSprite = NodePath("AnimatedSprite")
+Collision = NodePath("Collision")
+
+[node name="ShadowSprite" type="Sprite2D" parent="."]
+z_index = -1
+material = SubResource("ShaderMaterial_wh4b7")
+
+[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
+material = SubResource("ShaderMaterial_f7tsa")
+position = Vector2(0, -4)
+sprite_frames = SubResource("SpriteFrames_uqva1")
+
+[node name="Collision" type="CollisionShape2D" parent="."]
+position = Vector2(0, 2)
+shape = SubResource("RectangleShape2D_p3c6b")
diff --git a/DungeonShooting_Godot/prefab/item/Item0005.tscn b/DungeonShooting_Godot/prefab/item/Item0005.tscn
new file mode 100644
index 0000000..7ca86dc
--- /dev/null
+++ b/DungeonShooting_Godot/prefab/item/Item0005.tscn
@@ -0,0 +1,64 @@
+[gd_scene load_steps=8 format=3 uid="uid://bxcsdgbhapf15"]
+
+[ext_resource type="Script" path="res://src/game/activity/item/ObstacleObject.cs" id="1_rrftl"]
+[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="2_fshwj"]
+[ext_resource type="Texture2D" uid="uid://bijiqseh8y667" path="res://resource/sprite/item/hall_b/baoxiangui.png" id="3_3isqs"]
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_wh4b7"]
+resource_local_to_scene = true
+shader = ExtResource("2_fshwj")
+shader_parameter/blend = Color(0, 0, 0, 0.470588)
+shader_parameter/schedule = 1.0
+shader_parameter/modulate = Color(1, 1, 1, 1)
+shader_parameter/show_outline = true
+shader_parameter/outline_color = Color(0, 0, 0, 1)
+shader_parameter/outline_rainbow = false
+shader_parameter/outline_use_blend = true
+shader_parameter/grey = 0.0
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_f7tsa"]
+resource_local_to_scene = true
+shader = ExtResource("2_fshwj")
+shader_parameter/blend = Color(1, 1, 1, 1)
+shader_parameter/schedule = 0.0
+shader_parameter/modulate = Color(1, 1, 1, 1)
+shader_parameter/show_outline = false
+shader_parameter/outline_color = Color(0, 0, 0, 1)
+shader_parameter/outline_rainbow = false
+shader_parameter/outline_use_blend = true
+shader_parameter/grey = 0.0
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_uqva1"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": ExtResource("3_3isqs")
+}],
+"loop": true,
+"name": &"default",
+"speed": 5.0
+}]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_p3c6b"]
+size = Vector2(10, 8)
+
+[node name="Item0005" type="CharacterBody2D" node_paths=PackedStringArray("ShadowSprite", "AnimatedSprite", "Collision")]
+collision_layer = 512
+collision_mask = 0
+script = ExtResource("1_rrftl")
+ShadowSprite = NodePath("ShadowSprite")
+AnimatedSprite = NodePath("AnimatedSprite")
+Collision = NodePath("Collision")
+
+[node name="ShadowSprite" type="Sprite2D" parent="."]
+z_index = -1
+material = SubResource("ShaderMaterial_wh4b7")
+
+[node name="AnimatedSprite" type="AnimatedSprite2D" parent="."]
+material = SubResource("ShaderMaterial_f7tsa")
+position = Vector2(0, -4)
+sprite_frames = SubResource("SpriteFrames_uqva1")
+
+[node name="Collision" type="CollisionShape2D" parent="."]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_p3c6b")
diff --git a/DungeonShooting_Godot/resource/config/ActivityBase.json b/DungeonShooting_Godot/resource/config/ActivityBase.json
index 8580ee4..185d39b 100644
--- a/DungeonShooting_Godot/resource/config/ActivityBase.json
+++ b/DungeonShooting_Godot/resource/config/ActivityBase.json
@@ -812,6 +812,48 @@
"ShowInMapEditor": false
},
{
+ "Id": "item_0003",
+ "Type": 99,
+ "Name": "",
+ "Quality": 0,
+ "Price": 0,
+ "Intro": "",
+ "Details": "",
+ "IsStatic": true,
+ "__Material": "",
+ "Prefab": "res://prefab/item/Item0003.tscn",
+ "Icon": "",
+ "ShowInMapEditor": false
+ },
+ {
+ "Id": "item_0004",
+ "Type": 99,
+ "Name": "",
+ "Quality": 0,
+ "Price": 0,
+ "Intro": "",
+ "Details": "",
+ "IsStatic": true,
+ "__Material": "",
+ "Prefab": "res://prefab/item/Item0004.tscn",
+ "Icon": "",
+ "ShowInMapEditor": false
+ },
+ {
+ "Id": "item_0005",
+ "Type": 99,
+ "Name": "",
+ "Quality": 0,
+ "Price": 0,
+ "Intro": "",
+ "Details": "",
+ "IsStatic": true,
+ "__Material": "",
+ "Prefab": "res://prefab/item/Item0005.tscn",
+ "Icon": "",
+ "ShowInMapEditor": false
+ },
+ {
"Id": "item_0006",
"Type": 99,
"Name": "\u7535\u89C6\u684C",
diff --git a/DungeonShooting_Godot/scene/Hall.tscn b/DungeonShooting_Godot/scene/Hall.tscn
index 2e7d78f..e04ef19 100644
--- a/DungeonShooting_Godot/scene/Hall.tscn
+++ b/DungeonShooting_Godot/scene/Hall.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=19 format=3 uid="uid://c2hynqudkykxl"]
+[gd_scene load_steps=21 format=3 uid="uid://c2hynqudkykxl"]
[ext_resource type="PackedScene" path="res://scene/Dungeon.tscn" id="1_31od0"]
[ext_resource type="Script" path="res://src/game/hall/Hall.cs" id="2_43fdu"]
@@ -12,7 +12,9 @@
[ext_resource type="Texture2D" uid="uid://w4xe82qf68yv" path="res://resource/sprite/item/hall_c/item _22.png" id="9_lhdr8"]
[ext_resource type="Texture2D" uid="uid://1a5b1cjalju1" path="res://resource/sprite/item/hall_c/item _30.png" id="10_4eqn0"]
[ext_resource type="Texture2D" uid="uid://ci41ruj125hk2" path="res://resource/sprite/item/hall_c/item _20.png" id="11_tg3jo"]
+[ext_resource type="Texture2D" uid="uid://dwstu11dix0nq" path="res://resource/sprite/item/hall_b/zhishi.png" id="12_agfji"]
[ext_resource type="Texture2D" uid="uid://idax7j3m365m" path="res://resource/sprite/item/hall_b/ditan.png" id="13_swsmq"]
+[ext_resource type="Texture2D" uid="uid://d08oi1tvpcd3p" path="res://resource/sprite/item/hall_b/yuguang.png" id="13_unnpl"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ru8u4"]
size = Vector2(66, 32)
@@ -50,6 +52,7 @@
position = Vector2(536, 310)
[node name="DungeonEntrance" type="Area2D" parent="." index="4"]
+z_index = 1
position = Vector2(537, 209)
collision_layer = 0
collision_mask = 8
@@ -191,6 +194,32 @@
DefaultLayer = 1
CollisionVisible = false
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0002" index="1"]
+position = Vector2(32, -2)
+texture = ExtResource("12_agfji")
+
+[node name="Item0003" type="Node2D" parent="ItemRoot" index="10"]
+position = Vector2(600, 211)
+script = ExtResource("5_lowqi")
+Id = "item_0003"
+DefaultLayer = 1
+
+[node name="Item0004" type="Node2D" parent="ItemRoot" index="11"]
+position = Vector2(644, 214)
+script = ExtResource("5_lowqi")
+Id = "item_0004"
+DefaultLayer = 1
+
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0004" index="1"]
+position = Vector2(0, -17)
+texture = ExtResource("13_unnpl")
+
+[node name="Item0005" type="Node2D" parent="ItemRoot" index="12"]
+position = Vector2(663, 219)
+script = ExtResource("5_lowqi")
+Id = "item_0005"
+DefaultLayer = 1
+
[node name="Item05" type="Sprite2D" parent="." index="7"]
z_index = -4
position = Vector2(859, 383)
diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs
index fcfd367..e7d83ec 100644
--- a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs
+++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs
@@ -299,6 +299,21 @@
///
public const string Id_item_0002 = "item_0002";
///
+ /// 名称:
+ /// 简介:
+ ///
+ public const string Id_item_0003 = "item_0003";
+ ///
+ /// 名称:
+ /// 简介:
+ ///
+ public const string Id_item_0004 = "item_0004";
+ ///
+ /// 名称:
+ /// 简介:
+ ///
+ public const string Id_item_0005 = "item_0005";
+ ///
/// 名称: 电视桌
/// 简介:
///