diff --git a/DungeonShooting_Godot/excel/ActivePropBase.xlsx b/DungeonShooting_Godot/excel/ActivePropBase.xlsx
index 328dfa1..dbd73e7 100644
--- a/DungeonShooting_Godot/excel/ActivePropBase.xlsx
+++ b/DungeonShooting_Godot/excel/ActivePropBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/ActivityBase.xlsx b/DungeonShooting_Godot/excel/ActivityBase.xlsx
index f6b3513..9ec1b0b 100644
--- a/DungeonShooting_Godot/excel/ActivityBase.xlsx
+++ b/DungeonShooting_Godot/excel/ActivityBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/prefab/ui/RoomUI.tscn b/DungeonShooting_Godot/prefab/ui/RoomUI.tscn
index e0a86af..b05ed70 100644
--- a/DungeonShooting_Godot/prefab/ui/RoomUI.tscn
+++ b/DungeonShooting_Godot/prefab/ui/RoomUI.tscn
@@ -87,7 +87,6 @@
texture = ExtResource("2_ruc0p")
[node name="InteractiveIcon" type="TextureRect" parent="InteractiveTipBar"]
-visible = false
layout_mode = 0
offset_top = -30.0
offset_bottom = -30.0
diff --git a/DungeonShooting_Godot/resource/config/ActivePropBase.json b/DungeonShooting_Godot/resource/config/ActivePropBase.json
index b43aeff..68f18ce 100644
--- a/DungeonShooting_Godot/resource/config/ActivePropBase.json
+++ b/DungeonShooting_Godot/resource/config/ActivePropBase.json
@@ -10,7 +10,7 @@
]
},
"Effect": {
- "Hp": [
+ "ChangeHp": [
2
]
},
@@ -76,5 +76,81 @@
"CooldownTime": 0,
"IsConsumables": false,
"MaxCount": 1
+ },
+ {
+ "Id": "0005",
+ "Remark": "\u9B54\u672F\u68D2",
+ "__Activity": "prop5004",
+ "Buff": null,
+ "Condition": null,
+ "Effect": {
+ "SwapWeapon": []
+ },
+ "Charge": {
+ "EnterRoom": [
+ 0.5
+ ]
+ },
+ "Duration": 0,
+ "CooldownTime": 0,
+ "IsConsumables": false,
+ "MaxCount": 1
+ },
+ {
+ "Id": "0006",
+ "Remark": "\u4FBF\u643A\u5F0F\u4F9B\u8840\u5668",
+ "__Activity": "prop5005",
+ "Buff": null,
+ "Condition": {
+ "HpFull": [
+ 0
+ ],
+ "Gold": [
+ "\u003E=",
+ 25
+ ]
+ },
+ "Effect": {
+ "ChangeHp": [
+ 1
+ ],
+ "UseGold": [
+ 25
+ ]
+ },
+ "Charge": {
+ "EnterRoom": [
+ 1
+ ]
+ },
+ "Duration": 0,
+ "CooldownTime": 0,
+ "IsConsumables": false,
+ "MaxCount": 1
+ },
+ {
+ "Id": "0007",
+ "Remark": "\u4FBF\u643A\u5F0F\u732E\u8840\u5668",
+ "__Activity": "prop5006",
+ "Buff": null,
+ "Condition": {
+ "Hp": [
+ "\u003E",
+ 1
+ ]
+ },
+ "Effect": {
+ "ChangeHp": [
+ -1
+ ],
+ "GetGold": [
+ 20
+ ]
+ },
+ "Charge": null,
+ "Duration": 0,
+ "CooldownTime": 3,
+ "IsConsumables": false,
+ "MaxCount": 1
}
]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/config/ActivityBase.json b/DungeonShooting_Godot/resource/config/ActivityBase.json
index 501c22b..b1466f3 100644
--- a/DungeonShooting_Godot/resource/config/ActivityBase.json
+++ b/DungeonShooting_Godot/resource/config/ActivityBase.json
@@ -700,6 +700,48 @@
"ShowInMapEditor": true
},
{
+ "Id": "prop5004",
+ "Name": "\u9B54\u672F\u68D2",
+ "Type": 9,
+ "Quality": 1,
+ "Price": 0,
+ "Intro": "\u968F\u673A\u9009\u62E9\u623F\u95F4\u5185\u7684\u4E00\u4E2A\u624B\u6301\u6B66\u5668\u7684\u654C\u4EBA, \u4EA4\u6362\u4F60\u4EEC\u624B\u4E2D\u7684\u6B66\u5668",
+ "Details": "",
+ "IsStatic": false,
+ "__Material": "",
+ "Prefab": "res://prefab/prop/ActiveProp.tscn",
+ "Icon": "res://resource/sprite/prop/active/ActiveProp5004.png",
+ "ShowInMapEditor": true
+ },
+ {
+ "Id": "prop5005",
+ "Name": "\u4FBF\u643A\u5F0F\u4F9B\u8840\u5668",
+ "Type": 9,
+ "Quality": 1,
+ "Price": 0,
+ "Intro": "\u4F7F\u7528\u91D1\u5E01\u6362\u53D6\u8840\u91CF",
+ "Details": "",
+ "IsStatic": false,
+ "__Material": "",
+ "Prefab": "res://prefab/prop/ActiveProp.tscn",
+ "Icon": "res://resource/sprite/prop/active/ActiveProp5005.png",
+ "ShowInMapEditor": true
+ },
+ {
+ "Id": "prop5006",
+ "Name": "\u4FBF\u643A\u5F0F\u732E\u8840\u5668",
+ "Type": 9,
+ "Quality": 1,
+ "Price": 0,
+ "Intro": "\u4F7F\u7528\u8840\u91CF\u6362\u53D6\u91D1\u5E01",
+ "Details": "",
+ "IsStatic": false,
+ "__Material": "",
+ "Prefab": "res://prefab/prop/ActiveProp.tscn",
+ "Icon": "res://resource/sprite/prop/active/ActiveProp5006.png",
+ "ShowInMapEditor": true
+ },
+ {
"Id": "treasure_box0001",
"Name": "\u6728\u8D28\u5B9D\u7BB1",
"Type": 10,
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/Preinstall.json
index caaa543..0151d25 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/Preinstall.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/Preinstall.json
@@ -1 +1 @@
-[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":false,"WaveList":[[{"Position":{"X":39,"Y":8},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":-16,"Y":-18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":66,"Y":6},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0009","Weight":100,"Attr":{"CurrAmmon":"1","ResidueAmmo":"25"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":66,"Y":47},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0010","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":47,"Y":-32},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0008","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":23,"Y":37},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0010","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":2,"Y":18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0005","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":24,"Y":-30},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0006","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":40,"Y":-10},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0003","Weight":100,"Attr":{"CurrAmmon":"12","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":2,"Y":-37},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0007","Weight":100,"Attr":{"CurrAmmon":"60","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-2,"Y":47},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0002","Weight":100,"Attr":{"CurrAmmon":"7","ResidueAmmo":"70"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":29,"Y":63},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0013","Weight":100,"Attr":{"CurrAmmon":"50","ResidueAmmo":"250"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-30,"Y":39},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-19,"Y":71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":48,"Y":29},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0004","Weight":100,"Attr":{"CurrAmmon":"180","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":20,"Y":94},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0014","Weight":100,"Attr":{"CurrAmmon":"5","ResidueAmmo":"60"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-14,"Y":97},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0011","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":9,"Y":-7},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0011","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-41,"Y":61},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0016","Weight":100,"Attr":{"CurrAmmon":"5","ResidueAmmo":"60"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":73,"Y":-19},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0005","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"40"},"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-72,"Y":71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-67,"Y":50},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-91,"Y":46},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-92,"Y":74},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-26,"Y":-46},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5000","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-52,"Y":-33},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5000","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-79,"Y":-28},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5000","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-38,"Y":107},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5002","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":62,"Y":71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]}]]}]
\ No newline at end of file
+[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":false,"WaveList":[[{"Position":{"X":39,"Y":8},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":-16,"Y":-18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":66,"Y":6},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0009","Weight":100,"Attr":{"CurrAmmon":"1","ResidueAmmo":"25"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":66,"Y":47},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0010","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":47,"Y":-32},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0008","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":23,"Y":37},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0010","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":2,"Y":18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0005","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":24,"Y":-30},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0006","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":40,"Y":-10},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0003","Weight":100,"Attr":{"CurrAmmon":"12","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":2,"Y":-37},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0007","Weight":100,"Attr":{"CurrAmmon":"60","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-2,"Y":47},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0002","Weight":100,"Attr":{"CurrAmmon":"7","ResidueAmmo":"70"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":29,"Y":63},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0013","Weight":100,"Attr":{"CurrAmmon":"50","ResidueAmmo":"250"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-30,"Y":39},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-19,"Y":71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":48,"Y":29},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0004","Weight":100,"Attr":{"CurrAmmon":"180","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":20,"Y":94},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0014","Weight":100,"Attr":{"CurrAmmon":"5","ResidueAmmo":"60"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-14,"Y":97},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0011","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":9,"Y":-7},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0011","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-41,"Y":61},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0016","Weight":100,"Attr":{"CurrAmmon":"5","ResidueAmmo":"60"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":73,"Y":-19},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0005","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"40"},"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-72,"Y":71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-67,"Y":50},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-91,"Y":46},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-92,"Y":74},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-26,"Y":-46},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5000","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-52,"Y":-33},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5000","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-79,"Y":-28},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5000","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-38,"Y":107},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5002","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":62,"Y":71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":24,"Y":-15},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0014","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":71,"Y":-43},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0014","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-67,"Y":-101},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5004","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-84,"Y":-73},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5005","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]},{"Position":{"X":-54,"Y":-71},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5006","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":5.551115E-14}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/Preview.png
index beb8cab..cc18c22 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/Preview.png
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/Preview.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/RoomInfo.json
index 5a7e0cd..6091345 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/RoomInfo.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/RoomInfo.json
@@ -1 +1 @@
-{"Position":{"X":-9,"Y":-11},"Size":{"X":20,"Y":21},"DoorAreaInfos":[{"Direction":2,"Start":48,"End":176},{"Direction":3,"Start":64,"End":208},{"Direction":0,"Start":80,"End":208},{"Direction":1,"Start":80,"End":224}],"GroupName":"Test1","RoomType":2,"RoomName":"Start","Weight":100,"Remark":""}
\ No newline at end of file
+{"Position":{"X":-9,"Y":-11},"Size":{"X":20,"Y":21},"DoorAreaInfos":[{"Direction":2,"Start":48,"End":176},{"Direction":3,"Start":0,"End":256},{"Direction":0,"Start":0,"End":208},{"Direction":1,"Start":0,"End":224}],"GroupName":"Test1","RoomType":2,"RoomName":"Start","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/TileInfo.json
index e9bcf84..04f62db 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/TileInfo.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/TileInfo.json
@@ -1 +1 @@
-{"NavigationVertices":[{"X":134,"Y":38},{"X":134,"Y":-6},{"X":138,"Y":-42},{"X":138,"Y":138},{"X":90,"Y":-122},{"X":90,"Y":-42},{"X":86,"Y":-58},{"X":86,"Y":-102},{"X":-42,"Y":-122},{"X":-38,"Y":-102},{"X":-42,"Y":-42},{"X":-38,"Y":-58},{"X":74,"Y":10},{"X":74,"Y":54},{"X":58,"Y":90},{"X":-26,"Y":38},{"X":-26,"Y":-6},{"X":90,"Y":-6},{"X":90,"Y":10},{"X":118,"Y":54},{"X":118,"Y":38},{"X":134,"Y":90},{"X":134,"Y":138},{"X":58,"Y":138},{"X":-58,"Y":138},{"X":-58,"Y":106},{"X":-86,"Y":38},{"X":-106,"Y":106},{"X":-106,"Y":-42},{"X":-86,"Y":-6}],"NavigationPolygon":[[0,1,2,3],[4,5,6,7],[8,4,7,9],[10,8,9,11],[12,13,14,15,16],[5,2,1,17],[17,18,12],[19,20,0,21],[3,22,21],[0,3,21],[19,21,14,13],[15,14,23,24,25],[26,15,25,27],[26,27,28,29],[29,28,10,16],[12,16,10,11,6,5,17]],"Floor":[-3,-4,0,3,-2,-4,0,3,-2,-3,0,3,-3,-3,0,3,-7,-2,0,3,-7,-1,0,3,-7,0,0,3,-7,1,0,3,-7,2,0,3,-7,3,0,3,-7,4,0,3,-7,5,0,3,-6,-3,0,3,-6,-2,0,3,-6,-1,0,3,-6,0,0,3,-6,1,0,3,-6,2,0,3,-6,3,0,3,-6,4,0,3,-6,5,0,3,-5,-3,0,3,-5,-2,0,3,-5,2,0,3,-5,3,0,3,-5,4,0,3,-5,5,0,3,-4,-3,0,3,-4,-2,0,3,-4,2,0,3,-4,3,0,3,-4,4,0,3,-4,5,0,3,-3,-2,0,3,-3,2,0,3,-3,3,0,3,-3,4,0,3,-3,5,0,3,-2,-2,0,3,-2,-1,0,3,-2,0,0,3,-2,1,0,3,-2,2,0,3,-2,3,0,3,-2,4,0,3,-2,5,0,3,-4,6,0,3,-4,7,0,3,-3,6,0,3,-3,7,0,3,-2,6,0,3,-2,7,0,3,-1,3,0,3,-1,4,0,3,-1,7,0,3,0,3,0,3,0,4,0,3,0,7,0,3,1,3,0,3,1,4,0,3,1,5,0,3,1,6,0,3,1,7,0,3,2,3,0,3,2,4,0,3,2,5,0,3,2,6,0,3,2,7,0,3,3,3,0,3,3,4,0,3,3,5,0,3,3,6,0,3,-1,-4,0,3,-1,-3,0,3,-1,-2,0,3,-1,-1,0,3,-1,0,0,3,0,-4,0,3,0,-3,0,3,0,-2,0,3,0,-1,0,3,0,0,0,3,1,-4,0,3,1,-3,0,3,1,-2,0,3,1,-1,0,3,1,0,0,3,2,-4,0,3,2,-3,0,3,2,-2,0,3,2,-1,0,3,2,0,0,3,3,-4,0,3,3,-3,0,3,3,-2,0,3,3,-1,0,3,3,0,0,3,4,-4,0,3,4,-3,0,3,4,-2,0,3,4,-1,0,3,4,0,0,3,5,-4,0,3,5,-3,0,3,5,-1,0,3,3,1,0,3,3,2,0,3,4,1,0,3,4,2,0,3,4,3,0,3,4,4,0,3,5,3,0,3,5,4,0,3,6,3,0,3,6,4,0,3,6,-3,0,3,7,-3,0,3,7,-2,0,3,7,2,0,3,7,3,0,3,7,4,0,3,8,-3,0,3,8,-2,0,3,8,-1,0,3,8,0,0,3,8,1,0,3,8,2,0,3,8,3,0,3,8,4,0,3,-1,2,0,3,0,2,0,3,1,2,0,3,2,2,0,3,2,1,0,3,1,1,0,3,0,1,0,3,-1,1,0,3,-1,5,0,3,0,5,0,3,0,6,0,3,-1,6,0,3,-7,-3,0,3,6,-2,0,3,5,-2,0,3,8,5,0,3,8,6,0,3,8,7,0,3,-3,-5,0,3,-3,-6,0,3,5,-6,0,3,5,-5,0,3,5,-7,0,3,-3,-7,0,3,5,-8,0,3,4,-8,0,3,3,-8,0,3,2,-8,0,3,1,-8,0,3,0,-8,0,3,-1,-8,0,3,-2,-8,0,3,-3,-8,0,3,3,7,0,3],"CustomFloor1":[-4,2,1,7,14,-3,3,1,8,15,-4,3,1,7,15,-5,3,1,6,15,6,4,1,8,15,5,4,1,7,15,-5,2,1,6,14,4,3,1,6,14,4,4,1,6,15,6,3,1,8,14,5,3,1,7,14,-3,2,1,8,14],"CustomFloor2":[],"CustomFloor3":[],"CustomMiddle1":[-3,4,1,10,5,-3,5,1,10,6,2,4,1,10,5,2,5,1,10,6],"CustomMiddle2":[5,-4,1,6,0,5,-3,1,6,1,-2,-1,1,5,0,-2,0,1,5,1],"CustomTop":[]}
\ No newline at end of file
+{"NavigationVertices":[{"X":134,"Y":38},{"X":138,"Y":-122},{"X":138,"Y":138},{"X":134,"Y":90},{"X":134,"Y":-6},{"X":90,"Y":-6},{"X":86,"Y":-58},{"X":86,"Y":-102},{"X":-106,"Y":-122},{"X":-38,"Y":-102},{"X":74,"Y":10},{"X":74,"Y":54},{"X":58,"Y":90},{"X":-26,"Y":38},{"X":-26,"Y":-6},{"X":90,"Y":10},{"X":-38,"Y":-58},{"X":118,"Y":54},{"X":118,"Y":38},{"X":134,"Y":138},{"X":58,"Y":138},{"X":-58,"Y":138},{"X":-58,"Y":106},{"X":-86,"Y":38},{"X":-106,"Y":106},{"X":-86,"Y":-6}],"NavigationPolygon":[[0,1,2,3],[1,0,4],[1,4,5,6,7],[8,1,7,9],[10,11,12,13,14],[6,5,15,10,14,16],[17,18,0,3],[2,19,3],[17,3,12,11],[13,12,20,21,22],[23,13,22,24],[23,24,8,25],[25,8,9,16],[14,25,16]],"Floor":[-3,-4,0,3,-2,-4,0,3,-2,-3,0,3,-3,-3,0,3,-7,-2,0,3,-7,-1,0,3,-7,0,0,3,-7,1,0,3,-7,2,0,3,-7,3,0,3,-7,4,0,3,-7,5,0,3,-6,-3,0,3,-6,-2,0,3,-6,-1,0,3,-6,0,0,3,-6,1,0,3,-6,2,0,3,-6,3,0,3,-6,4,0,3,-6,5,0,3,-5,-3,0,3,-5,-2,0,3,-5,2,0,3,-5,3,0,3,-5,4,0,3,-5,5,0,3,-4,-3,0,3,-4,-2,0,3,-4,2,0,3,-4,3,0,3,-4,4,0,3,-4,5,0,3,-3,-2,0,3,-3,2,0,3,-3,3,0,3,-3,4,0,3,-3,5,0,3,-2,-2,0,3,-2,-1,0,3,-2,0,0,3,-2,1,0,3,-2,2,0,3,-2,3,0,3,-2,4,0,3,-2,5,0,3,-4,6,0,3,-4,7,0,3,-3,6,0,3,-3,7,0,3,-2,6,0,3,-2,7,0,3,-1,3,0,3,-1,4,0,3,-1,7,0,3,0,3,0,3,0,4,0,3,0,7,0,3,1,3,0,3,1,4,0,3,1,5,0,3,1,6,0,3,1,7,0,3,2,3,0,3,2,4,0,3,2,5,0,3,2,6,0,3,2,7,0,3,3,3,0,3,3,4,0,3,3,5,0,3,3,6,0,3,-1,-4,0,3,-1,-3,0,3,-1,-2,0,3,-1,-1,0,3,-1,0,0,3,0,-4,0,3,0,-3,0,3,0,-2,0,3,0,-1,0,3,0,0,0,3,1,-4,0,3,1,-3,0,3,1,-2,0,3,1,-1,0,3,1,0,0,3,2,-4,0,3,2,-3,0,3,2,-2,0,3,2,-1,0,3,2,0,0,3,3,-4,0,3,3,-3,0,3,3,-2,0,3,3,-1,0,3,3,0,0,3,4,-4,0,3,4,-3,0,3,4,-2,0,3,4,-1,0,3,4,0,0,3,5,-4,0,3,5,-3,0,3,5,-1,0,3,3,1,0,3,3,2,0,3,4,1,0,3,4,2,0,3,4,3,0,3,4,4,0,3,5,3,0,3,5,4,0,3,6,3,0,3,6,4,0,3,6,-3,0,3,7,-3,0,3,7,-2,0,3,7,2,0,3,7,3,0,3,7,4,0,3,8,-3,0,3,8,-2,0,3,8,-1,0,3,8,0,0,3,8,1,0,3,8,2,0,3,8,3,0,3,8,4,0,3,-1,2,0,3,0,2,0,3,1,2,0,3,2,2,0,3,2,1,0,3,1,1,0,3,0,1,0,3,-1,1,0,3,-1,5,0,3,0,5,0,3,0,6,0,3,-1,6,0,3,-7,-3,0,3,6,-2,0,3,5,-2,0,3,8,5,0,3,8,6,0,3,8,7,0,3,-3,-5,0,3,-3,-6,0,3,5,-6,0,3,5,-5,0,3,5,-7,0,3,-3,-7,0,3,5,-8,0,3,4,-8,0,3,3,-8,0,3,2,-8,0,3,1,-8,0,3,0,-8,0,3,-1,-8,0,3,-2,-8,0,3,-3,-8,0,3,3,7,0,3,-7,-8,0,3,-7,-7,0,3,-7,-6,0,3,-7,-5,0,3,-7,-4,0,3,-6,-8,0,3,-6,-7,0,3,-6,-6,0,3,-6,-5,0,3,-6,-4,0,3,-5,-8,0,3,-5,-7,0,3,-5,-6,0,3,-5,-5,0,3,-5,-4,0,3,-4,-8,0,3,-4,-7,0,3,-4,-6,0,3,-4,-5,0,3,-4,-4,0,3,6,-8,0,3,6,-7,0,3,6,-6,0,3,6,-5,0,3,6,-4,0,3,7,-8,0,3,7,-7,0,3,7,-6,0,3,7,-5,0,3,7,-4,0,3,8,-8,0,3,8,-7,0,3,8,-6,0,3,8,-5,0,3,8,-4,0,3],"CustomFloor1":[-4,2,1,7,14,-3,3,1,8,15,-4,3,1,7,15,-5,3,1,6,15,6,4,1,8,15,5,4,1,7,15,-5,2,1,6,14,4,3,1,6,14,4,4,1,6,15,6,3,1,8,14,5,3,1,7,14,-3,2,1,8,14],"CustomFloor2":[],"CustomFloor3":[],"CustomMiddle1":[-3,4,1,10,5,-3,5,1,10,6,2,4,1,10,5,2,5,1,10,6],"CustomMiddle2":[5,-4,1,6,0,5,-3,1,6,1,-2,-1,1,5,0,-2,0,1,5,1],"CustomTop":[]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5003.png b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5003.png
index ec4e4d5..cbdf94f 100644
--- a/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5003.png
+++ b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5003.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5004.png b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5004.png
new file mode 100644
index 0000000..6c6ba7b
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5004.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5004.png.import b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5004.png.import
new file mode 100644
index 0000000..3de1a23
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bo80bcwleji1v"
+path="res://.godot/imported/ActiveProp5004.png-d8820f3029374f01685c3c0e6fa5ba2c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/sprite/prop/active/ActiveProp5004.png"
+dest_files=["res://.godot/imported/ActiveProp5004.png-d8820f3029374f01685c3c0e6fa5ba2c.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/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5005.png b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5005.png
new file mode 100644
index 0000000..b409284
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5005.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5005.png.import b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5005.png.import
new file mode 100644
index 0000000..b834250
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bmtchn3tnb0rq"
+path="res://.godot/imported/ActiveProp5005.png-15f900b095a5bff93432e841f6c6aa7e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/sprite/prop/active/ActiveProp5005.png"
+dest_files=["res://.godot/imported/ActiveProp5005.png-15f900b095a5bff93432e841f6c6aa7e.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/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5006.png b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5006.png
new file mode 100644
index 0000000..539f8f1
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5006.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5006.png.import b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5006.png.import
new file mode 100644
index 0000000..2c8c693
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/prop/active/ActiveProp5006.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gwbclbl7vnt8"
+path="res://.godot/imported/ActiveProp5006.png-3dfe862becb03e916076078ebbcbd626.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/sprite/prop/active/ActiveProp5006.png"
+dest_files=["res://.godot/imported/ActiveProp5006.png-3dfe862becb03e916076078ebbcbd626.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/DungeonShooting_Godot/resource/sprite/ui/roomUI/Cooldown.png b/DungeonShooting_Godot/resource/sprite/ui/roomUI/Cooldown.png
index 1445214..250e7bb 100644
--- a/DungeonShooting_Godot/resource/sprite/ui/roomUI/Cooldown.png
+++ b/DungeonShooting_Godot/resource/sprite/ui/roomUI/Cooldown.png
Binary files differ
diff --git a/DungeonShooting_Godot/scene/Hall.tscn b/DungeonShooting_Godot/scene/Hall.tscn
index 95bfb09..1f298e3 100644
--- a/DungeonShooting_Godot/scene/Hall.tscn
+++ b/DungeonShooting_Godot/scene/Hall.tscn
@@ -123,7 +123,7 @@
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0006" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0006" index="0"]
position = Vector2(-11, -3)
texture = ExtResource("7_30qwa")
@@ -135,7 +135,7 @@
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
-[node name="ActivityInstance" type="Node2D" parent="ItemRoot/Item0008" index="1"]
+[node name="ActivityInstance" type="Node2D" parent="ItemRoot/Item0008" index="0"]
position = Vector2(2.5, -12)
script = ExtResource("5_lowqi")
Id = "item_0031"
@@ -151,7 +151,7 @@
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
-[node name="Item26" type="Sprite2D" parent="ItemRoot/Item0013" index="1"]
+[node name="Item26" type="Sprite2D" parent="ItemRoot/Item0013" index="0"]
position = Vector2(18, -2)
texture = ExtResource("8_61dkg")
@@ -163,19 +163,19 @@
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0017" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0017" index="0"]
position = Vector2(-2, -13)
texture = ExtResource("8_u3vry")
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0017" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0017" index="1"]
position = Vector2(18, -11)
texture = ExtResource("9_lhdr8")
-[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0017" index="3"]
+[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0017" index="2"]
position = Vector2(-16, -2)
texture = ExtResource("10_4eqn0")
-[node name="Sprite2D4" type="Sprite2D" parent="ItemRoot/Item0017" index="4"]
+[node name="Sprite2D4" type="Sprite2D" parent="ItemRoot/Item0017" index="3"]
position = Vector2(10, -1)
texture = ExtResource("11_tg3jo")
@@ -201,11 +201,11 @@
DefaultLayer = 1
CollisionVisible = false
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0002" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0002" index="0"]
position = Vector2(32, -2)
texture = ExtResource("12_agfji")
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0002" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0002" index="1"]
material = SubResource("ShaderMaterial_i7git")
position = Vector2(0, -15)
scale = Vector2(1, -1)
@@ -223,7 +223,7 @@
Id = "item_0004"
DefaultLayer = 1
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0004" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0004" index="0"]
position = Vector2(0, -17)
texture = ExtResource("13_unnpl")
@@ -258,15 +258,15 @@
Id = "item_0009"
DefaultLayer = 1
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0009" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0009" index="0"]
position = Vector2(-24, -10)
texture = ExtResource("15_h7524")
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0009" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0009" index="1"]
position = Vector2(1, -10)
texture = ExtResource("15_h7524")
-[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0009" index="3"]
+[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0009" index="2"]
position = Vector2(37, -10)
texture = ExtResource("15_h7524")
@@ -300,7 +300,7 @@
Id = "item_0015"
DefaultLayer = 1
-[node name="Slice04" type="Sprite2D" parent="ItemRoot/Item0015" index="1"]
+[node name="Slice04" type="Sprite2D" parent="ItemRoot/Item0015" index="0"]
position = Vector2(16, -9)
texture = ExtResource("15_h7524")
@@ -323,11 +323,11 @@
Id = "item_0019"
DefaultLayer = 1
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0019" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0019" index="0"]
position = Vector2(-23, -7)
texture = ExtResource("16_xj0e1")
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0019" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0019" index="1"]
position = Vector2(24, -8)
texture = ExtResource("17_gwwce")
diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs
index e051a61..fd0e5d5 100644
--- a/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs
+++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject_Init.cs
@@ -259,6 +259,21 @@
///
public const string Id_prop5003 = "prop5003";
///
+ /// 名称: 魔术棒
+ /// 简介: 随机选择房间内的一个手持武器的敌人, 交换你们手中的武器
+ ///
+ public const string Id_prop5004 = "prop5004";
+ ///
+ /// 名称: 便携式供血器
+ /// 简介: 使用金币换取血量
+ ///
+ public const string Id_prop5005 = "prop5005";
+ ///
+ /// 名称: 便携式献血器
+ /// 简介: 使用血量换取金币
+ ///
+ public const string Id_prop5006 = "prop5006";
+ ///
/// 名称: 木质宝箱
/// 简介: 木质宝箱
///
diff --git a/DungeonShooting_Godot/src/framework/map/AffiliationArea.cs b/DungeonShooting_Godot/src/framework/map/AffiliationArea.cs
index 0ebce39..1b59d19 100644
--- a/DungeonShooting_Godot/src/framework/map/AffiliationArea.cs
+++ b/DungeonShooting_Godot/src/framework/map/AffiliationArea.cs
@@ -287,6 +287,7 @@
{
if (IsFirstEnterFlag)
{
+ Player.Current.OnFirstEnterRoom(RoomInfo);
EventManager.EmitEvent(EventEnum.OnPlayerFirstEnterRoom, RoomInfo);
}
EventManager.EmitEvent(EventEnum.OnPlayerEnterRoom, RoomInfo);
diff --git a/DungeonShooting_Godot/src/game/activity/role/Role.cs b/DungeonShooting_Godot/src/game/activity/role/Role.cs
index ecb1011..4fbde5a 100644
--- a/DungeonShooting_Godot/src/game/activity/role/Role.cs
+++ b/DungeonShooting_Godot/src/game/activity/role/Role.cs
@@ -1234,11 +1234,11 @@
return;
}
- var temp = weapon.AnimatedSprite.Position;
- if (Face == FaceDirection.Left)
- {
- temp.Y = -temp.Y;
- }
+ // var temp = weapon.AnimatedSprite.Position;
+ // if (Face == FaceDirection.Left)
+ // {
+ // temp.Y = -temp.Y;
+ // }
//var pos = GlobalPosition + temp.Rotated(weapon.GlobalRotation);
WeaponPack.RemoveItem(index);
//播放抛出效果
@@ -1246,6 +1246,21 @@
}
///
+ /// 从背包中移除指定武器, 不会触发投抛效果
+ ///
+ /// 武器在武器背包中的位置
+ public void RemoveWeapon(int index)
+ {
+ var weapon = WeaponPack.GetItem(index);
+ if (weapon == null)
+ {
+ return;
+ }
+
+ WeaponPack.RemoveItem(index);
+ }
+
+ ///
/// 扔掉所有武器
///
public void ThrowAllWeapon()
@@ -1342,6 +1357,14 @@
}
///
+ /// 使用金币
+ ///
+ public virtual void UseGold(int goldCount)
+ {
+ RoleState.Gold -= goldCount;
+ }
+
+ ///
/// 切换当前使用的武器的回调
///
private void OnChangeActiveItem(Weapon weapon)
diff --git a/DungeonShooting_Godot/src/game/activity/role/player/Player.cs b/DungeonShooting_Godot/src/game/activity/role/player/Player.cs
index 6153367..9834eac 100644
--- a/DungeonShooting_Godot/src/game/activity/role/player/Player.cs
+++ b/DungeonShooting_Godot/src/game/activity/role/player/Player.cs
@@ -10,6 +10,11 @@
public partial class Player : Role
{
///
+ /// 当玩家第一次进入房间时调用
+ ///
+ public event Action OnFirstEnterRoomEvent;
+
+ ///
/// 获取当前操作的角色
///
public static Player Current { get; private set; }
@@ -420,4 +425,21 @@
base.AddGold(goldCount);
EventManager.EmitEvent(EventEnum.OnPlayerGoldChange, RoleState.Gold);
}
+
+ public override void UseGold(int goldCount)
+ {
+ base.UseGold(goldCount);
+ EventManager.EmitEvent(EventEnum.OnPlayerGoldChange, RoleState.Gold);
+ }
+
+ ///
+ /// 玩家第一次进入房间时调用
+ ///
+ public virtual void OnFirstEnterRoom(RoomInfo roomInfo)
+ {
+ if (OnFirstEnterRoomEvent != null)
+ {
+ OnFirstEnterRoomEvent(roomInfo);
+ }
+ }
}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/buff/charge/Cha_EnterRoom.cs b/DungeonShooting_Godot/src/game/buff/charge/Cha_EnterRoom.cs
new file mode 100644
index 0000000..772cae4
--- /dev/null
+++ b/DungeonShooting_Godot/src/game/buff/charge/Cha_EnterRoom.cs
@@ -0,0 +1,39 @@
+
+using System.Text.Json;
+
+[ChargeFragment("EnterRoom", "玩家第一次进入某个房间充能, 该条充能件仅对玩家生效, 参数1为进入房间充能量(0-1)")]
+public class Cha_EnterRoom : ChargeFragment
+{
+ private float _value = 0.2f;
+
+ public override void InitParam(JsonElement[] args)
+ {
+ _value = args[0].GetSingle();
+ }
+
+ public override void OnUse()
+ {
+ Master.ChargeProgress = 0;
+ }
+
+ public override void OnPickUpItem()
+ {
+ if (Role is Player player)
+ {
+ player.OnFirstEnterRoomEvent += OnFirstEnterRoom;
+ }
+ }
+
+ public override void OnRemoveItem()
+ {
+ if (Role is Player player)
+ {
+ player.OnFirstEnterRoomEvent -= OnFirstEnterRoom;
+ }
+ }
+
+ private void OnFirstEnterRoom(RoomInfo roomInfo)
+ {
+ Master.ChargeProgress += _value;
+ }
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/buff/condition/Cond_Gold.cs b/DungeonShooting_Godot/src/game/buff/condition/Cond_Gold.cs
new file mode 100644
index 0000000..cf1776d
--- /dev/null
+++ b/DungeonShooting_Godot/src/game/buff/condition/Cond_Gold.cs
@@ -0,0 +1,36 @@
+
+using System.Text.Json;
+
+[ConditionFragment("Gold",
+ "判断金币数量, " +
+ "参数1为判断条件符号, 分别为: >, <, =, >=, <=; " +
+ "参数2为比较的值")]
+public class Cond_Gold : ConditionFragment
+{
+ private string _symbol;
+ private int _value;
+ public override void InitParam(JsonElement[] args)
+ {
+ _symbol = args[0].GetString();
+ _value = args[1].GetInt32();
+ }
+
+ public override bool OnCheckUse()
+ {
+ switch (_symbol)
+ {
+ case ">":
+ return Role.RoleState.Gold > _value;
+ case "<":
+ return Role.RoleState.Gold < _value;
+ case "=":
+ return Role.RoleState.Gold == _value;
+ case ">=":
+ return Role.RoleState.Gold >= _value;
+ case "<=":
+ return Role.RoleState.Gold <= _value;
+ }
+
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/buff/condition/Cond_Hp.cs b/DungeonShooting_Godot/src/game/buff/condition/Cond_Hp.cs
new file mode 100644
index 0000000..e6f8e0d
--- /dev/null
+++ b/DungeonShooting_Godot/src/game/buff/condition/Cond_Hp.cs
@@ -0,0 +1,35 @@
+using System.Text.Json;
+
+[ConditionFragment("Hp",
+ "判断血量, " +
+ "参数1为判断条件符号, 分别为: >, <, =, >=, <=; " +
+ "参数2为比较的值")]
+public class Cond_Hp : ConditionFragment
+{
+ private string _symbol;
+ private int _value;
+ public override void InitParam(JsonElement[] args)
+ {
+ _symbol = args[0].GetString();
+ _value = args[1].GetInt32();
+ }
+
+ public override bool OnCheckUse()
+ {
+ switch (_symbol)
+ {
+ case ">":
+ return Role.Hp > _value;
+ case "<":
+ return Role.Hp < _value;
+ case "=":
+ return Role.Hp == _value;
+ case ">=":
+ return Role.Hp >= _value;
+ case "<=":
+ return Role.Hp <= _value;
+ }
+
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/buff/effect/Eff_ChangeHp.cs b/DungeonShooting_Godot/src/game/buff/effect/Eff_ChangeHp.cs
new file mode 100644
index 0000000..d61b6d9
--- /dev/null
+++ b/DungeonShooting_Godot/src/game/buff/effect/Eff_ChangeHp.cs
@@ -0,0 +1,18 @@
+
+using System.Text.Json;
+
+[EffectFragment("ChangeHp", "修改血量, 参数1为血量变化的具体值")]
+public class Eff_ChangeHp : EffectFragment
+{
+ private int _value;
+
+ public override void InitParam(JsonElement[] arg)
+ {
+ _value = arg[0].GetInt32();
+ }
+
+ public override void OnUse()
+ {
+ Role.Hp += _value;
+ }
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/buff/effect/Eff_GetGold.cs b/DungeonShooting_Godot/src/game/buff/effect/Eff_GetGold.cs
new file mode 100644
index 0000000..6ab2512
--- /dev/null
+++ b/DungeonShooting_Godot/src/game/buff/effect/Eff_GetGold.cs
@@ -0,0 +1,29 @@
+
+
+using System.Text.Json;
+using Godot;
+
+[EffectFragment("GetGold", "获得金币, 参数1为金币的值")]
+public class Eff_GetGold : EffectFragment
+{
+ private int _value;
+ public override void InitParam(JsonElement[] args)
+ {
+ _value = args[0].GetInt32();
+ }
+
+ public override void OnUse()
+ {
+ var goldList = Utils.GetGoldList(Mathf.FloorToInt(_value));
+ foreach (var id in goldList)
+ {
+ var o = ObjectManager.GetActivityObject(id);
+ o.Position = Role.Position;
+ o.Throw(0,
+ Utils.Random.RandomRangeInt(50, 110),
+ new Vector2(Utils.Random.RandomRangeInt(-20, 20), Utils.Random.RandomRangeInt(-20, 20)),
+ 0
+ );
+ }
+ }
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/buff/effect/Eff_Hp.cs b/DungeonShooting_Godot/src/game/buff/effect/Eff_Hp.cs
deleted file mode 100644
index d1adddf..0000000
--- a/DungeonShooting_Godot/src/game/buff/effect/Eff_Hp.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-
-using System.Text.Json;
-
-[EffectFragment("Hp", "修改血量, 参数1为血量变化的具体值")]
-public class Eff_Hp : EffectFragment
-{
- private int _value;
-
- public override void InitParam(JsonElement[] arg)
- {
- _value = arg[0].GetInt32();
- }
-
- public override void OnUse()
- {
- Role.Hp += _value;
- }
-}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/buff/effect/Eff_SwapWeapon.cs b/DungeonShooting_Godot/src/game/buff/effect/Eff_SwapWeapon.cs
new file mode 100644
index 0000000..08da4c3
--- /dev/null
+++ b/DungeonShooting_Godot/src/game/buff/effect/Eff_SwapWeapon.cs
@@ -0,0 +1,55 @@
+using System.Collections.Generic;
+using System.Text.Json;
+
+[EffectFragment("SwapWeapon", "随机选择房间内的一个手持武器的敌人, 交换你们手中的武器, 无参数")]
+public class Eff_SwapWeapon : EffectFragment
+{
+ public override void InitParam(JsonElement[] args)
+ {
+
+ }
+
+ public override void OnUse()
+ {
+ var list = new List();
+ foreach (var enemy in Master.World.Enemy_InstanceList)
+ {
+ if (enemy.WeaponPack.ActiveItem != null)
+ {
+ list.Add(enemy);
+
+ }
+ }
+
+ var targetEnemy = Utils.Random.RandomChoose(list);
+ if (targetEnemy != null)
+ {
+ var enemyWeapon = targetEnemy.WeaponPack.ActiveItem;
+
+ var selfWeapon = Role.WeaponPack.ActiveItem;
+ targetEnemy.RemoveWeapon(enemyWeapon.PackageIndex);
+ Role.RemoveWeapon(selfWeapon.PackageIndex);
+
+ targetEnemy.PickUpWeapon(selfWeapon);
+ Role.PickUpWeapon(enemyWeapon);
+ }
+ }
+
+ public override bool OnCheckUse()
+ {
+ if (Role.World == null || Role.WeaponPack.ActiveItem == null)
+ {
+ return false;
+ }
+
+ foreach (var enemy in Master.World.Enemy_InstanceList)
+ {
+ if (enemy.WeaponPack.ActiveItem != null)
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/buff/effect/Eff_UseGold.cs b/DungeonShooting_Godot/src/game/buff/effect/Eff_UseGold.cs
new file mode 100644
index 0000000..8226c3b
--- /dev/null
+++ b/DungeonShooting_Godot/src/game/buff/effect/Eff_UseGold.cs
@@ -0,0 +1,18 @@
+
+
+using System.Text.Json;
+
+[EffectFragment("UseGold", "使用金币, 参数1为金币的值")]
+public class Eff_UseGold : EffectFragment
+{
+ private int _value;
+ public override void InitParam(JsonElement[] args)
+ {
+ _value = args[0].GetInt32();
+ }
+
+ public override void OnUse()
+ {
+ Role.UseGold(_value);
+ }
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/ui/roomUI/ActivePropBarHandler.cs b/DungeonShooting_Godot/src/game/ui/roomUI/ActivePropBarHandler.cs
index f01ec1b..69a2654 100644
--- a/DungeonShooting_Godot/src/game/ui/roomUI/ActivePropBarHandler.cs
+++ b/DungeonShooting_Godot/src/game/ui/roomUI/ActivePropBarHandler.cs
@@ -51,7 +51,7 @@
}
else
{
- _shaderMaterial.SetShaderParameter("schedule", 0.6f);
+ _shaderMaterial.SetShaderParameter("schedule", 0.8f);
}
//冷却