From 2ef9a95def81f3f47f302c86a5709140a6f39ce6 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Wed, 18 Nov 2020 12:28:51 +0800
Subject: [PATCH] 新增buff验证测试

---
 Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs              |   15 +--
 Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs  |    1 
 Assets/Prefabs/Towers/Water/WaterProjectile_3 1.prefab               |    3 
 GemBattle/宝石塔防_Data/Managed/Unity.TextMeshPro.dll                    |    0 
 GemBattle/宝石塔防_Data/resources.assets                                 |    0 
 Assets/Prefabs/Towers/WoodTower/WProjectile_0.prefab                 |    1 
 GemBattle/宝石塔防_Data/globalgamemanagers.assets                        |    0 
 Assets/Prefabs/Towers/WoodTower/WProjectile_4.prefab                 |    1 
 Assets/Scripts/TowerDefense/Level/EndlessBuff/GoldAdd.cs             |    2 
 Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs             |    3 
 GemBattle/宝石塔防_Data/globalgamemanagers                               |    0 
 Assets/Scripts/TowerDefense/Level/EndlessBuff/CritDamageAdd.cs       |    5 
 Assets/Prefabs/Towers/Water/WaterProjectile_2 1.prefab               |    3 
 Assets/Prefabs/Towers/Water/WaterProjectile_4 1.prefab               |    3 
 Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs                 |    8 +-
 GemBattle/宝石塔防_Data/level1                                           |    0 
 GemBattle/宝石塔防_Data/Managed/Assembly-CSharp.dll                      |    0 
 Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuff.cs         |   10 ++
 Assets/Prefabs/Towers/WoodTower/WProjectile_3.prefab                 |    1 
 Assets/Scripts/TowerDefense/Towers/TowerFireTrigger.cs               |   32 ++++----
 GemBattle/宝石塔防_Data/sharedassets1.assets                             |    0 
 GemBattle/宝石塔防_Data/resources.resource                               |    0 
 Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs             |    2 
 Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs    |   15 ++-
 GemBattle/宝石塔防_Data/resources.assets.resS                            |    0 
 Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 4.prefab           |    1 
 Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 0.prefab           |    1 
 Assets/Prefabs/Towers/Water/WaterProjectile_1.prefab                 |    1 
 Assets/Prefabs/Towers/WoodTower/WProjectile_2.prefab                 |    1 
 GemBattle/宝石塔防_Data/Managed/MoreMountains.NiceVibrations.Haptics.dll |    0 
 GemBattle/宝石塔防_Data/StreamingAssets/Table/endless_buff.json          |    2 
 Assets/Scripts/TowerDefense/Agents/Agent.cs                          |    2 
 GemBattle/宝石塔防_Data/Managed/UnityEngine.UI.dll                       |    0 
 Assets/Prefabs/Towers/WoodTower/WProjectile_1.prefab                 |    1 
 Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 3.prefab           |    1 
 Assets/Prefabs/Towers/Water/WaterProjectile_4.prefab                 |    1 
 Assets/Prefabs/Towers/Water/WaterProjectile_1 1.prefab               |    3 
 Assets/Scripts/TowerDefense/Level/EndlessBuff/CritBulletAdd.cs       |    2 
 GemBattle/宝石塔防_Data/Managed/MoreMountains.NiceVibrations.Demos.dll   |    0 
 Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 1.prefab           |    1 
 GemBattle/宝石塔防_Data/Managed/MoreMountains.NiceVibrations.dll         |    0 
 Assets/Scripts/Data/EndlessBuffData.cs                               |   16 ++++
 Assets/Prefabs/Towers/Water/WaterProjectile_0.prefab                 |    1 
 Assets/StreamingAssets/Table/endless_buff.json                       |    2 
 Assets/Scripts/TowerDefense/UI/BulletUICtl.cs                        |    4 
 Assets/Prefabs/Towers/Water/WaterProjectile_2.prefab                 |    1 
 Assets/Scripts/TowerDefense/Towers/TowerLevel.cs                     |   10 +-
 GemBattle/宝石塔防_Data/Managed/Assembly-CSharp-firstpass.dll            |    0 
 Assets/Scripts/ActionGameFramework/Health/Damager.cs                 |   13 --
 Assets/Prefabs/Towers/Water/WaterProjectile_0 1.prefab               |    3 
 Assets/Scripts/TowerDefense/Level/EndlessBuff/ObtainTower.cs         |    4 
 GemBattle.zip                                                        |    0 
 Assets/Scripts/Net/NetExtends/Table.cs                               |    4 
 GemBattle/宝石塔防_Data/Managed/Unity.Timeline.dll                       |    0 
 GemBattle/宝石塔防_Data/sharedassets1.assets.resS                        |    0 
 Assets/Prefabs/Towers/Water/WaterProjectile_3.prefab                 |    1 
 Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 2.prefab           |    1 
 57 files changed, 107 insertions(+), 75 deletions(-)

diff --git a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 0.prefab b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 0.prefab
index 75a0af3..c75da11 100644
--- a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 0.prefab
+++ b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 0.prefab
@@ -9775,6 +9775,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0.5
   attributeId: 10101
+  TowerPtr: {fileID: 114126723238285906, guid: 5404cfd4436cfc64383b91b952dacf98, type: 3}
 --- !u!114 &7641914139423715995
 MonoBehaviour:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 1.prefab b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 1.prefab
index e243eb8..02ccaad 100644
--- a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 1.prefab
+++ b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 1.prefab
@@ -9775,6 +9775,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0.55
   attributeId: 10101
+  TowerPtr: {fileID: 114126723238285906, guid: 5404cfd4436cfc64383b91b952dacf98, type: 3}
 --- !u!114 &7641914139423715995
 MonoBehaviour:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 2.prefab b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 2.prefab
index d34d01e..052d989 100644
--- a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 2.prefab
+++ b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 2.prefab
@@ -9775,6 +9775,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0.6
   attributeId: 10101
+  TowerPtr: {fileID: 114126723238285906, guid: 5404cfd4436cfc64383b91b952dacf98, type: 3}
 --- !u!114 &7641914139423715995
 MonoBehaviour:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 3.prefab b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 3.prefab
index 97ef37e..4b6eeb4 100644
--- a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 3.prefab
+++ b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 3.prefab
@@ -9775,6 +9775,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0.6
   attributeId: 10101
+  TowerPtr: {fileID: 114126723238285906, guid: 5404cfd4436cfc64383b91b952dacf98, type: 3}
 --- !u!114 &7641914139423715995
 MonoBehaviour:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 4.prefab b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 4.prefab
index e30ef03..7460aeb 100644
--- a/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 4.prefab
+++ b/Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 4.prefab
@@ -9775,6 +9775,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0.6
   attributeId: 10101
+  TowerPtr: {fileID: 114126723238285906, guid: 5404cfd4436cfc64383b91b952dacf98, type: 3}
 --- !u!114 &7641914139423715995
 MonoBehaviour:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_0 1.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_0 1.prefab
index 2d2e8bd..546c3f2 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_0 1.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_0 1.prefab
@@ -97,7 +97,7 @@
   m_Script: {fileID: 11500000, guid: fedeb0b3c5e104ea19d0d4599d22ab97, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  damage: 150
+  damage: 90
   damageMulti: 1
   towerName: 
   bSet: 0
@@ -150,6 +150,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &794977756389387197
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_0.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_0.prefab
index ffe16cb..2a52d7c 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_0.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_0.prefab
@@ -9941,6 +9941,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &794977756389387197
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_1 1.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_1 1.prefab
index f3f3134..503a0c2 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_1 1.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_1 1.prefab
@@ -97,7 +97,7 @@
   m_Script: {fileID: 11500000, guid: fedeb0b3c5e104ea19d0d4599d22ab97, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  damage: 300
+  damage: 180
   damageMulti: 1
   towerName: 
   bSet: 0
@@ -150,6 +150,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &6201351407003447028
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_1.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_1.prefab
index 9d79f92..95dd6b0 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_1.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_1.prefab
@@ -9941,6 +9941,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &6201351407003447028
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_2 1.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_2 1.prefab
index f2c04f9..69aeaeb 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_2 1.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_2 1.prefab
@@ -97,7 +97,7 @@
   m_Script: {fileID: 11500000, guid: fedeb0b3c5e104ea19d0d4599d22ab97, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  damage: 450
+  damage: 270
   damageMulti: 1
   towerName: 
   bSet: 0
@@ -150,6 +150,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &3669498217609003192
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_2.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_2.prefab
index 120adf3..a12f9e7 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_2.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_2.prefab
@@ -9941,6 +9941,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &3669498217609003192
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_3 1.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_3 1.prefab
index f53607b..b34772c 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_3 1.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_3 1.prefab
@@ -97,7 +97,7 @@
   m_Script: {fileID: 11500000, guid: fedeb0b3c5e104ea19d0d4599d22ab97, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  damage: 600
+  damage: 360
   damageMulti: 1
   towerName: 
   bSet: 0
@@ -150,6 +150,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &7453998822848565797
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_3.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_3.prefab
index 1ddffa1..5e5334b 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_3.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_3.prefab
@@ -9941,6 +9941,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &7453998822848565797
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_4 1.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_4 1.prefab
index 27bf192..4405d24 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_4 1.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_4 1.prefab
@@ -97,7 +97,7 @@
   m_Script: {fileID: 11500000, guid: fedeb0b3c5e104ea19d0d4599d22ab97, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  damage: 750
+  damage: 450
   damageMulti: 1
   towerName: 
   bSet: 0
@@ -150,6 +150,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &478004586242557291
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Water/WaterProjectile_4.prefab b/Assets/Prefabs/Towers/Water/WaterProjectile_4.prefab
index 2dca4a9..84d9274 100644
--- a/Assets/Prefabs/Towers/Water/WaterProjectile_4.prefab
+++ b/Assets/Prefabs/Towers/Water/WaterProjectile_4.prefab
@@ -9941,6 +9941,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 20101
+  TowerPtr: {fileID: 114126723238285906, guid: 08be51bfa9f904b4e83c31be88ba554f, type: 3}
 --- !u!135 &478004586242557291
 SphereCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/WoodTower/WProjectile_0.prefab b/Assets/Prefabs/Towers/WoodTower/WProjectile_0.prefab
index 60bea61..a263178 100644
--- a/Assets/Prefabs/Towers/WoodTower/WProjectile_0.prefab
+++ b/Assets/Prefabs/Towers/WoodTower/WProjectile_0.prefab
@@ -10183,6 +10183,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 30101
+  TowerPtr: {fileID: 114126723238285906, guid: a54a7e98fafc604488c570e746551af1, type: 3}
 --- !u!1 &7805828781973333584
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/WoodTower/WProjectile_1.prefab b/Assets/Prefabs/Towers/WoodTower/WProjectile_1.prefab
index b097d02..4224ff4 100644
--- a/Assets/Prefabs/Towers/WoodTower/WProjectile_1.prefab
+++ b/Assets/Prefabs/Towers/WoodTower/WProjectile_1.prefab
@@ -10093,6 +10093,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 30101
+  TowerPtr: {fileID: 114126723238285906, guid: a54a7e98fafc604488c570e746551af1, type: 3}
 --- !u!1 &6743535499860450394
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/WoodTower/WProjectile_2.prefab b/Assets/Prefabs/Towers/WoodTower/WProjectile_2.prefab
index df13a61..1fbaa85 100644
--- a/Assets/Prefabs/Towers/WoodTower/WProjectile_2.prefab
+++ b/Assets/Prefabs/Towers/WoodTower/WProjectile_2.prefab
@@ -9954,6 +9954,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 30101
+  TowerPtr: {fileID: 114126723238285906, guid: a54a7e98fafc604488c570e746551af1, type: 3}
 --- !u!1 &7563412234984757212
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/WoodTower/WProjectile_3.prefab b/Assets/Prefabs/Towers/WoodTower/WProjectile_3.prefab
index 2bdeecf..584a274 100644
--- a/Assets/Prefabs/Towers/WoodTower/WProjectile_3.prefab
+++ b/Assets/Prefabs/Towers/WoodTower/WProjectile_3.prefab
@@ -10183,6 +10183,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 30101
+  TowerPtr: {fileID: 114126723238285906, guid: a54a7e98fafc604488c570e746551af1, type: 3}
 --- !u!1 &9012282123540836921
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/WoodTower/WProjectile_4.prefab b/Assets/Prefabs/Towers/WoodTower/WProjectile_4.prefab
index 3237813..ee134a1 100644
--- a/Assets/Prefabs/Towers/WoodTower/WProjectile_4.prefab
+++ b/Assets/Prefabs/Towers/WoodTower/WProjectile_4.prefab
@@ -5174,6 +5174,7 @@
   m_EditorClassIdentifier: 
   chainAttackRate: 0
   attributeId: 30101
+  TowerPtr: {fileID: 114126723238285906, guid: a54a7e98fafc604488c570e746551af1, type: 3}
 --- !u!1 &6941437354564793899
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/ActionGameFramework/Health/Damager.cs b/Assets/Scripts/ActionGameFramework/Health/Damager.cs
index e3d4905..089659e 100644
--- a/Assets/Scripts/ActionGameFramework/Health/Damager.cs
+++ b/Assets/Scripts/ActionGameFramework/Health/Damager.cs
@@ -57,12 +57,6 @@
         public SerializableIAlignmentProvider alignment;
 
         /// <summary>
-        /// 塔的属性id
-        /// </summary>
-        /// <value></value>
-        public int TowerAttributeId { get; set; }
-
-        /// <summary>
         /// Gets the alignment of the damager
         /// </summary>
         public IAlignmentProvider alignmentProvider
@@ -117,12 +111,11 @@
         /// </summary>
         public float finalDamage
         {
-            
-            
-            get {
+            get
+            {
                 float fd = damage * damageMulti;
                 damageMulti = 1.0f;
-                return fd + inSceneUpGradeDamage; 
+                return fd + inSceneUpGradeDamage;
             }
         }
 
diff --git a/Assets/Scripts/Data/EndlessBuffData.cs b/Assets/Scripts/Data/EndlessBuffData.cs
index 5609c26..ae73e6e 100644
--- a/Assets/Scripts/Data/EndlessBuffData.cs
+++ b/Assets/Scripts/Data/EndlessBuffData.cs
@@ -195,6 +195,22 @@
         }
 
         /// <summary>
+        /// 根据buff配置表id获取buff数据
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public static EndlessBuffConfig GetBuffById(int id)
+        {
+            for (int i = 0; i < endlessBuffPool.Count; ++i)
+            {
+                if (endlessBuffPool[i].Config.id == id)
+                    return endlessBuffPool[i];
+            }
+
+            return null;
+        }
+
+        /// <summary>
         /// 根据品质获得颜色值
         /// </summary>
         /// <param name="rare"></param>
diff --git a/Assets/Scripts/Net/NetExtends/Table.cs b/Assets/Scripts/Net/NetExtends/Table.cs
index ffe242e..da4917e 100644
--- a/Assets/Scripts/Net/NetExtends/Table.cs
+++ b/Assets/Scripts/Net/NetExtends/Table.cs
@@ -957,7 +957,7 @@
         public List<int> target_type;
         
         // buff效果
-        public List<int> buff_effect;
+        public List<float> buff_effect;
         
         // 生命周期
         public int scope;
@@ -990,7 +990,7 @@
             _endless_buff.id = int.Parse(GameUtils.GetString(item[index++].ToString())); 
             _endless_buff.name = GameUtils.GetString(item[index++].ToString()); 
             _endless_buff.target_type = GameUtils.GetIntList(item[index++]); 
-            _endless_buff.buff_effect = GameUtils.GetIntList(item[index++]); 
+            _endless_buff.buff_effect = GameUtils.GetFloatList(item[index++]); 
             _endless_buff.scope = int.Parse(GameUtils.GetString(item[index++].ToString())); 
             _endless_buff.brief = GameUtils.GetString(item[index++].ToString()); 
             _endless_buff.down_level = int.Parse(GameUtils.GetString(item[index++].ToString())); 
diff --git a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
index d677ae2..1730584 100644
--- a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
+++ b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
@@ -57,7 +57,7 @@
         /// The fire rate in fires-per-second
         /// </summary>
         [SerializeField]
-        private float projectileFireRate;
+        private float projectileFireRate = 1;
 
         public float FireRate
         {
@@ -153,7 +153,9 @@
             get
             {
                 FireRateAdd fireRateAdd = (FireRateAdd)EndlessBuffManager.instance.GetBuffInstanceByType(EndlessBuffEffectType.FireRateAdd);
-                return fireRateAdd.GetFireSpeedAdd(towerAttributeId);
+                float rateAdd = fireRateAdd.GetFireSpeedAdd(towerAttributeId);
+
+                return rateAdd > 1 ? rateAdd : fireSpeed;
             }
         }
 
@@ -207,15 +209,6 @@
         public override TowerDefense.Targetting.Targetter GetTargetter()
         {
             return targetter;
-        }
-
-        private void Start()
-        {
-            if (projectile != null)
-            {
-                Damager damager = projectile.GetComponent<Damager>();
-                towerAttributeId = damager.TowerAttributeId;
-            }
         }
 
         /// <summary>
diff --git a/Assets/Scripts/TowerDefense/Agents/Agent.cs b/Assets/Scripts/TowerDefense/Agents/Agent.cs
index 546bfa3..1ebb9db 100644
--- a/Assets/Scripts/TowerDefense/Agents/Agent.cs
+++ b/Assets/Scripts/TowerDefense/Agents/Agent.cs
@@ -824,8 +824,6 @@
             return;
         }
 
-        float atime = 0;
-
         /// <summary>
         /// 更新动作信息.
         /// </summary>
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/CritBulletAdd.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/CritBulletAdd.cs
index a9d24c7..9fb0c15 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/CritBulletAdd.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/CritBulletAdd.cs
@@ -15,7 +15,7 @@
             for (int i = 0; i < BuffList.Count; ++i)
             {
                 if (BuffList[i].Config.buff_effect[1] > max)
-                    max = BuffList[i].Config.buff_effect[1];
+                    max = (int)BuffList[i].Config.buff_effect[1];
             }
 
             EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessCritBulletNumChange, max);
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/CritDamageAdd.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/CritDamageAdd.cs
index 8e78482..cd0e047 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/CritDamageAdd.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/CritDamageAdd.cs
@@ -11,11 +11,10 @@
         /// 根据宝石id获得暴击增加的伤害比率(千分比)
         /// </summary>
         /// <param name="gemId"></param>
-        /// <param name="preDamage"></param>
         /// <returns></returns>
-        public float GetCritDamageRate(int gemId, float preDamage = 0)
+        public float GetCritDamageRate(int gemId)
         {
-            float ret = preDamage;
+            float ret = 0;
 
             for (int i = 0; i < BuffList.Count; ++i)
             {
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuff.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuff.cs
index c362dee..e0f3d2f 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuff.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuff.cs
@@ -49,7 +49,15 @@
                     isEffective = true;
                     break;
                 case EndlessBuffUseTarget.Element:
-                    isEffective = gemId == buffData.Config.target_type[1];
+                    int attributeId = 0;
+
+                    if (gemId == 101)
+                        attributeId = 1;
+                    else if (gemId == 105)
+                        attributeId = 2;
+                    else if (gemId == 109)
+                        attributeId = 3;
+                    isEffective = attributeId == buffData.Config.target_type[1];
                     break;
                 case EndlessBuffUseTarget.Designated:
                     isEffective = gemId == buffData.Config.target_type[1];
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs
index a4278db..8534fcd 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs
@@ -43,6 +43,7 @@
         /// </summary>
         public void AddBuff(EndlessBuffConfig buff)
         {
+            Debug.Log($"--- 获得buff:id {buff.Config.id}, name:{buff.Config.name} description:{buff.Config.brief} ---");
             ++buff.SelectCount;
 
             // 0表示只要被选择过,以后就不再出现了
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/GoldAdd.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/GoldAdd.cs
index d8b48c0..5a1aa79 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/GoldAdd.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/GoldAdd.cs
@@ -12,7 +12,7 @@
         public override void Handle()
         {
             // 一次性增加金币
-            EndlessLevelManager.instance.Currency.AddCurrency(BuffList[BuffList.Count - 1].Config.buff_effect[1]);
+            EndlessLevelManager.instance.Currency.AddCurrency((int)BuffList[BuffList.Count - 1].Config.buff_effect[1]);
         }
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/ObtainTower.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/ObtainTower.cs
index 54eee06..dbb3b44 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/ObtainTower.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/ObtainTower.cs
@@ -14,8 +14,8 @@
         {
             Tower newTower = EndlessRandomTower.instance.GetRandomTower(EFeatureTower.NULL, true);
 
-            if (!EndlessRandomTower.instance.RandomPlaceTower(newTower, BuffList[BuffList.Count - 1].Config.buff_effect[1] - 1, 0))
-                EndlessLevelManager.instance.Currency.AddCurrency(BuffList[BuffList.Count - 1].Config.buff_effect[2]);
+            if (!EndlessRandomTower.instance.RandomPlaceTower(newTower, (int)BuffList[BuffList.Count - 1].Config.buff_effect[1] - 1, 0))
+                EndlessLevelManager.instance.Currency.AddCurrency((int)BuffList[BuffList.Count - 1].Config.buff_effect[2]);
         }
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
index 104dc91..2c7be27 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
@@ -493,7 +493,7 @@
         }
 
         /// <summary>
-        /// buff选择完成
+        /// buff选择完成p
         /// </summary>
         /// <param name="index"></param>
         public void OnBuffSelectCompleted(int index)
diff --git a/Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs b/Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs
index 0b96029..6b86165 100644
--- a/Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs
+++ b/Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs
@@ -33,6 +33,13 @@
         public float attackRise { get; set; }
 
         /// <summary>
+        /// 基础增加暴击伤害率
+        /// </summary>
+        private float baseCritDamageRate = 0.5f;
+
+        public Tower TowerPtr;
+
+        /// <summary>
         /// 处理代理收到的伤害,这里需要判断代理的类型分别去处理
         /// </summary>
         /// <param name="enemy"></param>
@@ -89,7 +96,7 @@
         private bool IsCrit()
         {
             CritProbabilityAdd critProbabilityAdd = (CritProbabilityAdd)EndlessBuffManager.instance.GetBuffInstanceByType(EndlessBuffEffectType.CritProbabilityAdd);
-            float crit = critProbabilityAdd.GetCrit(damager.TowerAttributeId);
+            float crit = critProbabilityAdd.GetCrit(TowerPtr.attributeId);
             float random = UnityEngine.Random.Range(0, 1f);
 
             return random <= crit;
@@ -102,7 +109,7 @@
         private float GetCritDamageRate()
         {
             CritDamageAdd critDamageAdd = (CritDamageAdd)EndlessBuffManager.instance.GetBuffInstanceByType(EndlessBuffEffectType.CritDamageAdd);
-            return critDamageAdd.GetCritDamageRate(damager.TowerAttributeId);
+            return critDamageAdd.GetCritDamageRate(TowerPtr.attributeId);
         }
 
         /// <summary>
@@ -118,7 +125,7 @@
             finalDamage += ProcessEndlessBuffAttack(finalDamage);
 
             if (crit)
-                finalDamage *= 1 + GetCritDamageRate();
+                finalDamage *= 1 + baseCritDamageRate + GetCritDamageRate();
 
             int deathCount = 0;
 
@@ -193,7 +200,7 @@
             {
                 case 2:  // 减速.
                     SlowDown slowDown = (SlowDown)EndlessBuffManager.instance.GetBuffInstanceByType(EndlessBuffEffectType.SlowDown);
-                    enemy.addSpeedSlowRate(0.25f + slowDown.GetSlowDownAdd(damager.TowerAttributeId));
+                    enemy.addSpeedSlowRate(0.25f + slowDown.GetSlowDownAdd(TowerPtr.attributeId));
                     enemy.SetTargetableMatColor(Color.blue);
                     break;
                 case 3:  // 中毒
diff --git a/Assets/Scripts/TowerDefense/Towers/TowerFireTrigger.cs b/Assets/Scripts/TowerDefense/Towers/TowerFireTrigger.cs
index 26da54e..fcdc753 100644
--- a/Assets/Scripts/TowerDefense/Towers/TowerFireTrigger.cs
+++ b/Assets/Scripts/TowerDefense/Towers/TowerFireTrigger.cs
@@ -12,29 +12,29 @@
     {
         public AttackAffector Affector;
 
-        private bool isStart;
+        // private bool isStart;
 
-        private float duration;
+        // private float duration;
 
         public void OnFire()
         {
             // cx test
-            //     if (!isStart)
-            //     {
-            //         isStart = true;
-            //     }
-            //     else
-            //     {
-            //         Debug.Log($"--------------------- {duration} ---------------------");
-            //         duration = 0;
-            //     }
+            // if (!isStart)
+            // {
+            //     isStart = true;
+            // }
+            // else
+            // {
+            //     Debug.Log($"--------------------- {duration} ---------------------");
+            //     duration = 0;
+            // }
             Affector.FireProjectile();
         }
 
-        private void Update()
-        {
-            if (isStart)
-                duration += Time.deltaTime;
-        }
+        // private void Update()
+        // {
+        //     if (isStart)
+        //         duration += Time.deltaTime;
+        // }
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/TowerDefense/Towers/TowerLevel.cs b/Assets/Scripts/TowerDefense/Towers/TowerLevel.cs
index 8e6649f..dadb95f 100644
--- a/Assets/Scripts/TowerDefense/Towers/TowerLevel.cs
+++ b/Assets/Scripts/TowerDefense/Towers/TowerLevel.cs
@@ -197,11 +197,11 @@
                 effect.towerPtr = tower;
                 AttackAffector attackAffector = effect.GetComponent<AttackAffector>();
 
-                if (attackAffector.projectile != null)
-                {
-                    Damager damager = attackAffector.projectile.gameObject.GetComponent<Damager>();
-                    damager.TowerAttributeId = tower.attributeId;
-                }
+                // if (attackAffector.projectile != null)
+                // {
+                //     Damager damager = attackAffector.projectile.gameObject.GetComponent<Damager>();
+                //     damager.TowerAttributeId = tower.attributeId;
+                // }
             }
             m_ParentTower = tower;
             Transform starTs = transform.Find("Star");
diff --git a/Assets/Scripts/TowerDefense/UI/BulletUICtl.cs b/Assets/Scripts/TowerDefense/UI/BulletUICtl.cs
index 9d145a1..02a1840 100644
--- a/Assets/Scripts/TowerDefense/UI/BulletUICtl.cs
+++ b/Assets/Scripts/TowerDefense/UI/BulletUICtl.cs
@@ -11,11 +11,11 @@
     public int maxBulletNum;
 
     /// <summary>
-    /// 当前的子弹数目.
+    /// 当前的子弹数目
     /// </summary>
     protected int curBulletNum;
 
-    private int critNum = 3;
+    private int critNum = 1;
 
     /// <summary>
     /// 默认的暴击子弹数量
diff --git a/Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs b/Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs
index 1a644ed..1a32461 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs
@@ -62,12 +62,12 @@
                 switch (buffList[i].UseTarget)
                 {
                     case EndlessBuffUseTarget.All:
-                        addArr[0] += buffList[i].Config.buff_effect[1];
-                        addArr[1] += buffList[i].Config.buff_effect[1];
-                        addArr[2] += buffList[i].Config.buff_effect[1];
+                        addArr[0] += (int)buffList[i].Config.buff_effect[1];
+                        addArr[1] += (int)buffList[i].Config.buff_effect[1];
+                        addArr[2] += (int)buffList[i].Config.buff_effect[1];
                         break;
                     case EndlessBuffUseTarget.Element:
-                        addArr[buffList[i].Config.target_type[1] - 1] += buffList[i].Config.buff_effect[1];
+                        addArr[(int)buffList[i].Config.target_type[1] - 1] += (int)buffList[i].Config.buff_effect[1];
                         break;
                     case EndlessBuffUseTarget.Designated:
                         break;
diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
index ce12198..2c97e51 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
@@ -52,9 +52,6 @@
     // 所有宝石位置权重列表
     private List<int> weightList;
 
-    // 是否初始化过出战数据
-    private bool isInitFightData = false;
-
     // Start is called before the first frame update
     void Start()
     {
diff --git a/Assets/StreamingAssets/Table/endless_buff.json b/Assets/StreamingAssets/Table/endless_buff.json
index bf8bb59..4096f69 100644
--- a/Assets/StreamingAssets/Table/endless_buff.json
+++ b/Assets/StreamingAssets/Table/endless_buff.json
@@ -1 +1 @@
-[[1,"低级火灵之力",[2,1],[1,10,0],-1,"增加全体火精灵10%攻击力",0,99,10001,1,1],[2,"低级水灵之力",[2,2],[1,10,0],-1,"增加全体水精灵10%攻击力",0,99,10002,1,1],[3,"低级木灵之力",[2,3],[1,10,0],-1,"增加全体木精灵10%攻击力",0,99,10003,1,1],[4,"火灵之力",[2,1],[1,15,0],-1,"增加全体火精灵15%攻击力",4,99,10001,2,1],[5,"水灵之力",[2,2],[1,15,0],-1,"增加全体水精灵15%攻击力",4,99,10002,2,1],[6,"木灵之力",[2,3],[1,15,0],-1,"增加全体木精灵15%攻击力",4,99,10003,2,1],[7,"高级火灵之力",[2,1],[1,20,0],-1,"增加全体火精灵20%攻击力",7,99,10001,3,1],[8,"高级水灵之力",[2,2],[1,20,0],-1,"增加全体水精灵20%攻击力",7,99,10002,3,1],[9,"高级木灵之力",[2,3],[1,20,0],-1,"增加全体木精灵20%攻击力",7,99,10003,3,1],[10,"精灵之力",[1,0],[1,50,0],2,"2波增加全体精灵50%攻击力",3,99,10004,2,1],[11,"狂暴之力",[1,0],[1,65,0],2,"2波内增加全体精灵65%攻击力",3,99,10005,3,1],[12,"飞来横财",[0],[2,300,0],0,"增加300金币",0,99,10007,1,1],[13,"中大奖!",[0],[2,800,0],0,"增加800金币",4,99,10007,3,1],[14,"精灵魔盒",[0],[3,3,300],0,"随机获得一个3级精灵",99,99,10006,2,1],[15,"超级精灵魔盒",[0],[3,4,500],0,"随机获得一个4级精灵",99,99,10006,3,1],[16,"时空之力:水",[2,2],[4,0,0],0,"水精灵攻击间隔-0.2秒",0,99,10002,3,0],[17,"时空之力:火",[2,1],[4,0,0],0,"火精灵攻击间隔-0.2秒",0,99,10001,3,0],[18,"时空之力:木",[2,3],[4,0,0],0,"木精灵攻击间隔-0.2秒",0,99,10003,3,0],[19,"狂暴:玉米枪手",[3109],[5,150,0],0,"玉米精灵暴击率+15%",0,99,10008,3,0],[20,"暴怒:玉米枪手",[3109],[6,300,0],0,"玉米精灵暴击伤害+30%",0,99,10008,3,0],[21,"弹夹扩容:玉米枪手",[3109],[7,2,0],0,"玉米精灵高能子弹数量变为2颗",0,99,10008,3,0],[22,"爆裂狂怒:炸弹火鸟",[3101],[9,7,0],0,"火鸟精灵充能后变为7倍攻速",0,99,10009,3,0]]
\ No newline at end of file
+[[1,"低级火灵之力",[2,1],[1,10,0],-1,"增加全体火精灵10%攻击力",0,99,10001,1,1],[2,"低级水灵之力",[2,2],[1,10,0],-1,"增加全体水精灵10%攻击力",0,99,10002,1,1],[3,"低级木灵之力",[2,3],[1,10,0],-1,"增加全体木精灵10%攻击力",0,99,10003,1,1],[4,"火灵之力",[2,1],[1,15,0],-1,"增加全体火精灵15%攻击力",4,99,10001,2,1],[5,"水灵之力",[2,2],[1,15,0],-1,"增加全体水精灵15%攻击力",4,99,10002,2,1],[6,"木灵之力",[2,3],[1,15,0],-1,"增加全体木精灵15%攻击力",4,99,10003,2,1],[7,"高级火灵之力",[2,1],[1,20,0],-1,"增加全体火精灵20%攻击力",7,99,10001,3,1],[8,"高级水灵之力",[2,2],[1,20,0],-1,"增加全体水精灵20%攻击力",7,99,10002,3,1],[9,"高级木灵之力",[2,3],[1,20,0],-1,"增加全体木精灵20%攻击力",7,99,10003,3,1],[10,"精灵之力",[1,0],[1,50,0],2,"2波增加全体精灵50%攻击力",3,99,10004,2,1],[11,"狂暴之力",[1,0],[1,65,0],2,"2波内增加全体精灵65%攻击力",3,99,10005,3,1],[12,"飞来横财",[0],[2,300,0],0,"增加300金币",0,99,10007,1,1],[13,"中大奖!",[0],[2,800,0],0,"增加800金币",4,99,10007,3,1],[14,"精灵魔盒",[0],[3,3,300],0,"随机获得一个3级精灵",99,99,10006,2,1],[15,"超级精灵魔盒",[0],[3,4,500],0,"随机获得一个4级精灵",99,99,10006,3,1],[16,"时空之力:水",[2,2],[4,0.2,0.5],-1,"水精灵攻速+25%",0,99,"10013",3,0],[17,"时空之力:火",[2,1],[4,0.2,0.5],-1,"火精灵攻速+25%",0,99,"10013",3,0],[18,"时空之力:木",[2,3],[4,0.2,0.5],-1,"木精灵攻速+25%",0,99,"10013",3,0],[19,"狂暴:玉米枪手",[3,109],[5,150,0],-1,"玉米精灵暴击率+15%",0,99,"10012",3,0],[20,"暴怒:玉米枪手",[3,109],[6,300,0],-1,"玉米精灵暴击伤害+30%",0,99,"10011",3,0],[21,"弹夹扩容:玉米枪手",[3,109],[7,2,0],-1,"玉米精灵高能子弹数量变为2颗",0,99,10008,3,0],[22,"爆裂狂怒:炸弹火鸟",[3,101],[9,10,0],-1,"火鸟精灵充能后变为10倍攻速",0,99,10009,3,0]]
\ No newline at end of file
diff --git a/GemBattle.zip b/GemBattle.zip
index d6927e6..10af3f8 100644
--- a/GemBattle.zip
+++ b/GemBattle.zip
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp-firstpass.dll" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp-firstpass.dll"
index 4365551..32f94bc 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp-firstpass.dll"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp-firstpass.dll"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp.dll" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp.dll"
index c8d1502..c0a1374 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp.dll"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp.dll"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.Demos.dll" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.Demos.dll"
index f448faf..4640b63 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.Demos.dll"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.Demos.dll"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.Haptics.dll" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.Haptics.dll"
index aa8afa0..e8e5ee8 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.Haptics.dll"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.Haptics.dll"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.dll" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.dll"
index d5e62b2..22c1382 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.dll"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/MoreMountains.NiceVibrations.dll"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Unity.TextMeshPro.dll" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Unity.TextMeshPro.dll"
index ecab462..cfb8857 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Unity.TextMeshPro.dll"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Unity.TextMeshPro.dll"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Unity.Timeline.dll" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Unity.Timeline.dll"
index e9b4b41..3318436 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Unity.Timeline.dll"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Unity.Timeline.dll"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/UnityEngine.UI.dll" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/UnityEngine.UI.dll"
index 4f4f18c..2554b31 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/UnityEngine.UI.dll"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/UnityEngine.UI.dll"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/StreamingAssets/Table/endless_buff.json" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/StreamingAssets/Table/endless_buff.json"
index 27df339..4096f69 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/StreamingAssets/Table/endless_buff.json"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/StreamingAssets/Table/endless_buff.json"
@@ -1 +1 @@
-[[1,"低级火灵之力",[2,1],[1,10,0],-1,"增加全体火精灵10%攻击力",0,99,10001,1,1],[2,"低级水灵之力",[2,2],[1,10,0],-1,"增加全体水精灵10%攻击力",0,99,10002,1,1],[3,"低级木灵之力",[2,3],[1,10,0],-1,"增加全体木精灵10%攻击力",0,99,10003,1,1],[4,"火灵之力",[2,1],[1,15,0],-1,"增加全体火精灵15%攻击力",4,99,10001,2,1],[5,"水灵之力",[2,2],[1,15,0],-1,"增加全体水精灵15%攻击力",4,99,10002,2,1],[6,"木灵之力",[2,3],[1,15,0],-1,"增加全体木精灵15%攻击力",4,99,10003,2,1],[7,"高级火灵之力",[2,1],[1,20,0],-1,"增加全体火精灵20%攻击力",7,99,10001,3,1],[8,"高级水灵之力",[2,2],[1,20,0],-1,"增加全体水精灵20%攻击力",7,99,10002,3,1],[9,"高级木灵之力",[2,3],[1,20,0],-1,"增加全体木精灵20%攻击力",7,99,10003,3,1],[10,"精灵之力",[1,0],[1,50,0],2,"2波增加全体精灵50%攻击力",3,99,10004,2,1],[11,"狂暴之力",[1,0],[1,65,0],2,"2波内增加全体精灵65%攻击力",3,99,10005,3,1],[12,"飞来横财",[0],[2,300,0],0,"增加300金币",0,99,10007,1,1],[13,"中大奖!",[0],[2,800,0],0,"增加800金币",4,99,10007,3,1],[14,"精灵魔盒",[0],[3,3,300],0,"随机获得一个3级精灵",99,99,10006,2,1],[15,"超级精灵魔盒",[0],[3,4,500],0,"随机获得一个4级精灵",99,99,10006,3,1],[16,"时空之力:水",[2,2],[4200500],0,"水精灵攻击间隔-0.2秒",0,99,10002,3,0],[17,"时空之力:火",[2,1],[4200500],0,"火精灵攻击间隔-0.2秒",0,99,10001,3,0],[18,"时空之力:木",[2,3],[4200500],0,"木精灵攻击间隔-0.2秒",0,99,10003,3,0],[19,"狂暴:玉米枪手",[3109],[5,150,0],0,"玉米精灵暴击率+15%",0,99,10008,3,0],[20,"暴怒:玉米枪手",[3109],[6,300,0],0,"玉米精灵暴击伤害+30%",0,99,10008,3,0],[21,"弹夹扩容:玉米枪手",[3109],[7,2,0],0,"玉米精灵高能子弹数量变为2颗",0,99,10008,3,0],[22,"爆裂狂怒:炸弹火鸟",[3101],[9,7,0],0,"火鸟精灵充能后变为7倍攻速",0,99,10009,3,0]]
\ No newline at end of file
+[[1,"低级火灵之力",[2,1],[1,10,0],-1,"增加全体火精灵10%攻击力",0,99,10001,1,1],[2,"低级水灵之力",[2,2],[1,10,0],-1,"增加全体水精灵10%攻击力",0,99,10002,1,1],[3,"低级木灵之力",[2,3],[1,10,0],-1,"增加全体木精灵10%攻击力",0,99,10003,1,1],[4,"火灵之力",[2,1],[1,15,0],-1,"增加全体火精灵15%攻击力",4,99,10001,2,1],[5,"水灵之力",[2,2],[1,15,0],-1,"增加全体水精灵15%攻击力",4,99,10002,2,1],[6,"木灵之力",[2,3],[1,15,0],-1,"增加全体木精灵15%攻击力",4,99,10003,2,1],[7,"高级火灵之力",[2,1],[1,20,0],-1,"增加全体火精灵20%攻击力",7,99,10001,3,1],[8,"高级水灵之力",[2,2],[1,20,0],-1,"增加全体水精灵20%攻击力",7,99,10002,3,1],[9,"高级木灵之力",[2,3],[1,20,0],-1,"增加全体木精灵20%攻击力",7,99,10003,3,1],[10,"精灵之力",[1,0],[1,50,0],2,"2波增加全体精灵50%攻击力",3,99,10004,2,1],[11,"狂暴之力",[1,0],[1,65,0],2,"2波内增加全体精灵65%攻击力",3,99,10005,3,1],[12,"飞来横财",[0],[2,300,0],0,"增加300金币",0,99,10007,1,1],[13,"中大奖!",[0],[2,800,0],0,"增加800金币",4,99,10007,3,1],[14,"精灵魔盒",[0],[3,3,300],0,"随机获得一个3级精灵",99,99,10006,2,1],[15,"超级精灵魔盒",[0],[3,4,500],0,"随机获得一个4级精灵",99,99,10006,3,1],[16,"时空之力:水",[2,2],[4,0.2,0.5],-1,"水精灵攻速+25%",0,99,"10013",3,0],[17,"时空之力:火",[2,1],[4,0.2,0.5],-1,"火精灵攻速+25%",0,99,"10013",3,0],[18,"时空之力:木",[2,3],[4,0.2,0.5],-1,"木精灵攻速+25%",0,99,"10013",3,0],[19,"狂暴:玉米枪手",[3,109],[5,150,0],-1,"玉米精灵暴击率+15%",0,99,"10012",3,0],[20,"暴怒:玉米枪手",[3,109],[6,300,0],-1,"玉米精灵暴击伤害+30%",0,99,"10011",3,0],[21,"弹夹扩容:玉米枪手",[3,109],[7,2,0],-1,"玉米精灵高能子弹数量变为2颗",0,99,10008,3,0],[22,"爆裂狂怒:炸弹火鸟",[3,101],[9,10,0],-1,"火鸟精灵充能后变为10倍攻速",0,99,10009,3,0]]
\ No newline at end of file
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers"
index f382aa4..a50918e 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers.assets" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers.assets"
index ca6ae24..05ad8ae 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers.assets"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers.assets"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level1" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level1"
index 19252e5..931901d 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level1"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level1"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets"
index 79cf876..cede26d 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets.resS" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets.resS"
index a108813..5e917c8 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets.resS"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets.resS"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.resource" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.resource"
index 2cb6ea5..b8802e4 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.resource"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.resource"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets"
index a851688..5555844 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets.resS" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets.resS"
index 4204d9a..87b1fda 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets.resS"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets.resS"
Binary files differ

--
Gitblit v1.9.1