chenxin
2020-11-18 2ef9a95def81f3f47f302c86a5709140a6f39ce6
新增buff验证测试
57 files modified
162 ■■■■■ changed files
Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 0.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 1.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 2.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 3.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/Effect_HuoJingLing_Atk 4.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_0 1.prefab 3 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_0.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_1 1.prefab 3 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_1.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_2 1.prefab 3 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_2.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_3 1.prefab 3 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_3.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_4 1.prefab 3 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Water/WaterProjectile_4.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/WoodTower/WProjectile_0.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/WoodTower/WProjectile_1.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/WoodTower/WProjectile_2.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/WoodTower/WProjectile_3.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/WoodTower/WProjectile_4.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Scripts/ActionGameFramework/Health/Damager.cs 11 ●●●● patch | view | raw | blame | history
Assets/Scripts/Data/EndlessBuffData.cs 16 ●●●●● patch | view | raw | blame | history
Assets/Scripts/Net/NetExtends/Table.cs 4 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs 15 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Agents/Agent.cs 2 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Level/EndlessBuff/CritBulletAdd.cs 2 ●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Level/EndlessBuff/CritDamageAdd.cs 5 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuff.cs 10 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs 1 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Level/EndlessBuff/GoldAdd.cs 2 ●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Level/EndlessBuff/ObtainTower.cs 4 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs 2 ●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs 15 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Towers/TowerFireTrigger.cs 14 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Towers/TowerLevel.cs 10 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/BulletUICtl.cs 4 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs 8 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs 3 ●●●●● patch | view | raw | blame | history
Assets/StreamingAssets/Table/endless_buff.json 2 ●●● patch | view | raw | blame | history
GemBattle.zip patch | view | raw | blame | history
GemBattle/宝石塔防_Data/Managed/Assembly-CSharp-firstpass.dll patch | view | raw | blame | history
GemBattle/宝石塔防_Data/Managed/Assembly-CSharp.dll patch | view | raw | blame | history
GemBattle/宝石塔防_Data/Managed/MoreMountains.NiceVibrations.Demos.dll patch | view | raw | blame | history
GemBattle/宝石塔防_Data/Managed/MoreMountains.NiceVibrations.Haptics.dll patch | view | raw | blame | history
GemBattle/宝石塔防_Data/Managed/MoreMountains.NiceVibrations.dll patch | view | raw | blame | history
GemBattle/宝石塔防_Data/Managed/Unity.TextMeshPro.dll patch | view | raw | blame | history
GemBattle/宝石塔防_Data/Managed/Unity.Timeline.dll patch | view | raw | blame | history
GemBattle/宝石塔防_Data/Managed/UnityEngine.UI.dll patch | view | raw | blame | history
GemBattle/宝石塔防_Data/StreamingAssets/Table/endless_buff.json 2 ●●● patch | view | raw | blame | history
GemBattle/宝石塔防_Data/globalgamemanagers patch | view | raw | blame | history
GemBattle/宝石塔防_Data/globalgamemanagers.assets patch | view | raw | blame | history
GemBattle/宝石塔防_Data/level1 patch | view | raw | blame | history
GemBattle/宝石塔防_Data/resources.assets patch | view | raw | blame | history
GemBattle/宝石塔防_Data/resources.assets.resS patch | view | raw | blame | history
GemBattle/宝石塔防_Data/resources.resource patch | view | raw | blame | history
GemBattle/宝石塔防_Data/sharedassets1.assets patch | view | raw | blame | history
GemBattle/宝石塔防_Data/sharedassets1.assets.resS patch | view | raw | blame | history
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,9 +111,8 @@
        /// </summary>
        public float finalDamage
        {
            get {
            get
            {
                float fd = damage * damageMulti;
                damageMulti = 1.0f;
                return fd + inSceneUpGradeDamage; 
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>
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())); 
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>
Assets/Scripts/TowerDefense/Agents/Agent.cs
@@ -824,8 +824,6 @@
            return;
        }
        float atime = 0;
        /// <summary>
        /// 更新动作信息.
        /// </summary>
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);
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)
            {
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];
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表示只要被选择过,以后就不再出现了
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]);
        }
    }
}
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]);
        }
    }
}
Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
@@ -493,7 +493,7 @@
        }
        /// <summary>
        /// buff选择完成
        /// buff选择完成p
        /// </summary>
        /// <param name="index"></param>
        public void OnBuffSelectCompleted(int index)
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:  // 中毒
Assets/Scripts/TowerDefense/Towers/TowerFireTrigger.cs
@@ -12,9 +12,9 @@
    {
        public AttackAffector Affector;
        private bool isStart;
        // private bool isStart;
        private float duration;
        // private float duration;
        public void OnFire()
        {
@@ -31,10 +31,10 @@
            Affector.FireProjectile();
        }
        private void Update()
        {
            if (isStart)
                duration += Time.deltaTime;
        }
        // private void Update()
        // {
        //     if (isStart)
        //         duration += Time.deltaTime;
        // }
    }
}
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");
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>
    /// 默认的暴击子弹数量
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;
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()
    {
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]]
[[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]]
GemBattle.zip
Binary files differ
GemBattle/宝石塔防_Data/Managed/Assembly-CSharp-firstpass.dll
Binary files differ
GemBattle/宝石塔防_Data/Managed/Assembly-CSharp.dll
Binary files differ
GemBattle/宝石塔防_Data/Managed/MoreMountains.NiceVibrations.Demos.dll
Binary files differ
GemBattle/宝石塔防_Data/Managed/MoreMountains.NiceVibrations.Haptics.dll
Binary files differ
GemBattle/宝石塔防_Data/Managed/MoreMountains.NiceVibrations.dll
Binary files differ
GemBattle/宝石塔防_Data/Managed/Unity.TextMeshPro.dll
Binary files differ
GemBattle/宝石塔防_Data/Managed/Unity.Timeline.dll
Binary files differ
GemBattle/宝石塔防_Data/Managed/UnityEngine.UI.dll
Binary files differ
GemBattle/宝石塔防_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]]
[[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]]
GemBattle/宝石塔防_Data/globalgamemanagers
Binary files differ
GemBattle/宝石塔防_Data/globalgamemanagers.assets
Binary files differ
GemBattle/宝石塔防_Data/level1
Binary files differ
GemBattle/宝石塔防_Data/resources.assets
Binary files differ
GemBattle/宝石塔防_Data/resources.assets.resS
Binary files differ
GemBattle/宝石塔防_Data/resources.resource
Binary files differ
GemBattle/宝石塔防_Data/sharedassets1.assets
Binary files differ
GemBattle/宝石塔防_Data/sharedassets1.assets.resS
Binary files differ