SZAND\msx_2 před 5 měsíci
rodič
revize
b6a543779b

+ 24 - 10
ActionTowerDefense/Assets/Scripts/Characters/AttackController.cs

@@ -252,23 +252,23 @@ public class AttackController : MonoBehaviour
     public float attackInterval;
     [DisplayOnly]
     public int curDamage;
-    [HideInInspector]
+    [DisplayOnly]
     public bool canHitFly;
-    [HideInInspector]
+    [DisplayOnly]
     public int armorPiercing;                       //´©¼×ÂÊ
-    [HideInInspector]
+    [DisplayOnly]
     public AttackInfo attackInfo;
-    [HideInInspector]
+    [DisplayOnly]
     public GameObject addAttackEffect;
-    [HideInInspector]
+    [DisplayOnly]
     public SpecialSkills skill;
-    [HideInInspector]
+    [DisplayOnly]
     public GameObject attackEffect;
-    [HideInInspector]
+    [DisplayOnly]
     public Dictionary<string, GameObject> effects;
-    [HideInInspector]
+    [DisplayOnly]
     public GameObject effect;
-    [HideInInspector]
+    [DisplayOnly]
     public float attackDistance;
 
     [Header("¹¥»÷·¶Î§")]
@@ -296,9 +296,11 @@ public class AttackController : MonoBehaviour
 
     [Header("¹¥»÷ģʽ")]
     public AttackMethod[] attackMethod;
-    [DisplayOnly]
+    [HideInInspector]
     public AttackMethod curAttackMethod;
 
+    private SoldierLevelRecord slr;
+
     public void Init()
     {
         owner = GetComponent<Character>();
@@ -316,6 +318,7 @@ public class AttackController : MonoBehaviour
                     attackMethod[i].maxAttackDis);
             }
         }
+        slr = GameManager.instance.GetComponent<SoldierLevelRecord>();
     }
 
     private void OnEnable()
@@ -333,6 +336,17 @@ public class AttackController : MonoBehaviour
         attackType = curAttackMethod.attackType;
         canHitFly = curAttackMethod.canHitFly;
         armorPiercing = curAttackMethod.armorPiercing;
+        Demonic dem = owner.GetComponent<Demonic>();
+        if (dem)
+        {
+            for(int i = 0; i < 3; i++)
+            {
+                if (GameManager.curSoldiers[i] == dem.soldierType)
+                {
+                    armorPiercing += slr.seb[i].armorPiercing;
+                }
+            }
+        }
         attackInfo = curAttackMethod.attackInfo;
         curDamage = attackInfo.damage;
         attackTrigger = curAttackMethod.attackTrigger;

+ 2 - 2
ActionTowerDefense/Assets/Scripts/GameManager.cs

@@ -39,8 +39,8 @@ public class GameManager : MonoBehaviour
         //选定本局游戏有哪些士兵,后面兵多了这里要改
         curSoldiers = new SoldierType[3];
         curSoldiers[0] = SoldierType.spear;
-        curSoldiers[1] = SoldierType.shield;
-        curSoldiers[2] = SoldierType.sword;
+        curSoldiers[1] = SoldierType.sword;
+        curSoldiers[2] = SoldierType.shield;
 
         if (!instance)
         {

+ 7 - 5
ActionTowerDefense/Assets/Scripts/Rougue/SoldierLevelRecord.cs

@@ -9,11 +9,12 @@ public class SoldierLevelRecord : MonoBehaviour
     public struct SoldierExtraBuff
     {
         public SoldierType st;
-        public int summonAttack;
-        public int marchAttack;
-        public int hp;
-        public int armor;
-        public int mp;
+        public int summonAttack;    //起手式伤害
+        public int marchAttack;     //行军式伤害
+        public int hp;              //血量
+        public int armor;           //护甲
+        public int mp;              //蓝耗
+        public int armorPiercing;   //穿甲
     }
 
     public struct SoldierEXPList
@@ -114,6 +115,7 @@ public class SoldierLevelRecord : MonoBehaviour
                 seb[i].hp += ssl.HP;
                 seb[i].armor += ssl.Armor;
                 seb[i].mp += ssl.MP;
+                seb[i].armorPiercing += ssl.ArmorPierce;
                 break;
             }
         }