diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx
index 1d48dde..acccf7f 100644
--- a/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx
index fbe2bac..a4130c3 100644
--- a/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx b/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx
index 73f833f..e635cb7 100644
--- a/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx b/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx
index 710727d..9503aa3 100644
--- a/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx
index 36b0dda..cf056c6 100644
--- a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx b/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx
index 2ae295c..a859078 100644
--- a/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx
+++ b/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx
Binary files differ
diff --git a/DungeonShooting_Godot/prefab/role/Enemy0002.tscn b/DungeonShooting_Godot/prefab/role/Enemy0002.tscn
index 77eae57..241a249 100644
--- a/DungeonShooting_Godot/prefab/role/Enemy0002.tscn
+++ b/DungeonShooting_Godot/prefab/role/Enemy0002.tscn
@@ -86,7 +86,6 @@
[node name="Enemy0002" node_paths=PackedStringArray("ViewRay", "NavigationAgent2D", "NavigationPoint", "FirePoint", "HurtArea", "HurtCollision", "InteractiveArea", "InteractiveCollision", "TipRoot", "TipSprite", "AnimationPlayer", "MountPoint", "BackMountPoint", "MeleeAttackArea", "MeleeAttackCollision", "ShadowSprite", "AnimatedSprite", "Collision") instance=ExtResource("1_fanet")]
script = ExtResource("2_3an4s")
-CanPickUpWeapon = false
ViewRay = NodePath("ViewRay")
NavigationAgent2D = NodePath("NavigationPoint/NavigationAgent2D")
NavigationPoint = NodePath("NavigationPoint")
diff --git a/DungeonShooting_Godot/resource/config/ActivityBase.json b/DungeonShooting_Godot/resource/config/ActivityBase.json
index 5208332..ce102c7 100644
--- a/DungeonShooting_Godot/resource/config/ActivityBase.json
+++ b/DungeonShooting_Godot/resource/config/ActivityBase.json
@@ -210,7 +210,7 @@
"Intro": "",
"Details": "",
"IsStatic": false,
- "__Material": "",
+ "__Material": "0006",
"Prefab": "res://prefab/shell/Shell0001.tscn",
"Icon": "",
"ShowInMapEditor": false
@@ -222,7 +222,7 @@
"Intro": "",
"Details": "",
"IsStatic": false,
- "__Material": "",
+ "__Material": "0006",
"Prefab": "res://prefab/shell/Shell0002.tscn",
"Icon": "",
"ShowInMapEditor": false
@@ -234,7 +234,7 @@
"Intro": "",
"Details": "",
"IsStatic": false,
- "__Material": "",
+ "__Material": "0006",
"Prefab": "res://prefab/shell/Shell0003.tscn",
"Icon": "",
"ShowInMapEditor": false
@@ -246,7 +246,7 @@
"Intro": "",
"Details": "",
"IsStatic": false,
- "__Material": "",
+ "__Material": "0006",
"Prefab": "res://prefab/shell/Shell0004.tscn",
"Icon": "",
"ShowInMapEditor": false
diff --git a/DungeonShooting_Godot/resource/config/ActivityMaterial.json b/DungeonShooting_Godot/resource/config/ActivityMaterial.json
index b2c717b..2d40acf 100644
--- a/DungeonShooting_Godot/resource/config/ActivityMaterial.json
+++ b/DungeonShooting_Godot/resource/config/ActivityMaterial.json
@@ -68,5 +68,19 @@
"FallBounceSpeed": 0.85,
"FallBounceRotation": 0.85,
"DynamicCollision": false
+ },
+ {
+ "Id": "0006",
+ "Remark": "\u5F39\u58F3, \u6469\u64E6\u529B\u6BD4\u9ED8\u8BA4\u6750\u8D28\u4F4E",
+ "Friction": 100,
+ "GravityScale": 1,
+ "RotationType": 0,
+ "RotationFriction": 100,
+ "Bounce": true,
+ "BounceStrength": 0.5,
+ "FallBounceStrength": 0.5,
+ "FallBounceSpeed": 0.75,
+ "FallBounceRotation": 0.5,
+ "DynamicCollision": false
}
]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/config/BulletBase.json b/DungeonShooting_Godot/resource/config/BulletBase.json
index 2d6abe5..1d45efc 100644
--- a/DungeonShooting_Godot/resource/config/BulletBase.json
+++ b/DungeonShooting_Godot/resource/config/BulletBase.json
@@ -43,7 +43,7 @@
4
],
"RepelRange": [
- 30
+ 15
],
"DeviationAngleRange": [
-10,
@@ -79,7 +79,7 @@
3
],
"RepelRange": [
- 10
+ 15
],
"DeviationAngleRange": [
0
@@ -114,7 +114,7 @@
20
],
"RepelRange": [
- 200
+ 75
],
"DeviationAngleRange": [
0
@@ -149,7 +149,7 @@
30
],
"RepelRange": [
- 150
+ 85
],
"DeviationAngleRange": [
0
@@ -219,7 +219,7 @@
5
],
"RepelRange": [
- 40
+ 35
],
"DeviationAngleRange": [
0
@@ -250,7 +250,7 @@
25
],
"RepelRange": [
- 150
+ 70
],
"DeviationAngleRange": [
0
diff --git a/DungeonShooting_Godot/src/framework/coroutine/ProxyCoroutineHandler.cs b/DungeonShooting_Godot/src/framework/coroutine/ProxyCoroutineHandler.cs
index 18371c0..d902fe9 100644
--- a/DungeonShooting_Godot/src/framework/coroutine/ProxyCoroutineHandler.cs
+++ b/DungeonShooting_Godot/src/framework/coroutine/ProxyCoroutineHandler.cs
@@ -23,7 +23,7 @@
for (var i = 0; i < pairs.Length; i++)
{
var item = pairs[i];
- try
+ //try
{
var canNext = true;
@@ -131,11 +131,11 @@
}
}
}
- catch (Exception e)
- {
- Debug.LogError("执行协程发生异常: \n" + e);
- ProxyStopCoroutine(ref coroutineList, item.Id);
- }
+ // catch (Exception e)
+ // {
+ // Debug.LogError("执行协程发生异常: \n" + e);
+ // ProxyStopCoroutine(ref coroutineList, item.Id);
+ // }
}
}
diff --git a/DungeonShooting_Godot/src/game/activity/role/Role.cs b/DungeonShooting_Godot/src/game/activity/role/Role.cs
index b8acc1a..f8d437d 100644
--- a/DungeonShooting_Godot/src/game/activity/role/Role.cs
+++ b/DungeonShooting_Godot/src/game/activity/role/Role.cs
@@ -1141,6 +1141,18 @@
//播放抛出效果
weapon.ThrowWeapon(this, GlobalPosition);
}
+
+ ///
+ /// 扔掉所有武器
+ ///
+ public void ThrowAllWeapon()
+ {
+ var weapons = WeaponPack.GetAndClearItem();
+ for (var i = 0; i < weapons.Length; i++)
+ {
+ weapons[i].ThrowWeapon(this);
+ }
+ }
///
/// 切换到下一个武器
diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs
index 7eac79d..8b0c9e2 100644
--- a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs
+++ b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs
@@ -142,11 +142,7 @@
protected override void OnDie()
{
//扔掉所有武器
- var weapons = WeaponPack.GetAndClearItem();
- for (var i = 0; i < weapons.Length; i++)
- {
- weapons[i].ThrowWeapon(this);
- }
+ ThrowAllWeapon();
var effPos = Position + new Vector2(0, -Altitude);
//血液特效
@@ -155,13 +151,14 @@
blood.AddToActivityRoot(RoomLayerEnum.NormalLayer);
blood.PlayEffect();
+ var realVelocity = GetRealVelocity();
//创建敌人碎片
var count = Utils.Random.RandomRangeInt(3, 6);
for (var i = 0; i < count; i++)
{
var debris = Create(Ids.Id_enemy_dead0001);
debris.PutDown(effPos, RoomLayerEnum.NormalLayer);
- debris.InheritVelocity(this);
+ debris.MoveController.AddForce(Velocity + realVelocity);
}
//派发敌人死亡信号
diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs
index 9dbfa80..62352c2 100644
--- a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs
+++ b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs
@@ -38,10 +38,11 @@
protected override void OnDie()
{
+ var realVelocity = GetRealVelocity();
var effPos = Position;
var debris = Create(Ids.Id_enemy_dead0002);
debris.PutDown(effPos, RoomLayerEnum.NormalLayer);
- debris.InheritVelocity(this);
+ debris.MoveController.AddForce(Velocity + realVelocity);
debris.SetFace(Face);
//派发敌人死亡信号