2 Komitmen d0189c3f08 ... a4508d35c7

Pembuat SHA1 Pesan Tanggal
  1243896040 a4508d35c7 Merge remote-tracking branch 'origin/master' 6 hari lalu
  1243896040 ff217c3b8d 精英怪掉蓝魂 6 hari lalu

+ 3 - 2
ActionTowerDefense/Assets/Resources/Prefab/ESpirits/ESpirits_ArmoredSamurai.prefab

@@ -256,6 +256,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 1d04dd6e35d71724689001e450625c39, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  character: {fileID: 0}
   curSpecialStates: -1
   attackMethod:
     attackName: 
@@ -885,8 +886,8 @@ MonoBehaviour:
   searchState: 0
   attackRatio: 0
   len: 0
-  dropSoulMax: 8
-  dropSoulMin: 5
+  dropSoulMax: 15
+  dropSoulMin: 10
   dropProbability: 100
   dropSoulAngle: 90
   minDashTime: 0.5

+ 19 - 8
ActionTowerDefense/Assets/Resources/Prefab/ESpirits/ESpirits_KiteNinja.prefab

@@ -77,7 +77,9 @@ MonoBehaviour:
       criticalChance: 0
       criticalStrikeEffect: 0
       lifesteal: 0
-      effect: {fileID: 0}
+      attackOnEffect: {fileID: 0}
+      attackOnEffectPos: {fileID: 0}
+      hitEffect: {fileID: 0}
       attackEffect: 
       attackMethod_Type: 0
       floatState:
@@ -219,6 +221,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 1d04dd6e35d71724689001e450625c39, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  character: {fileID: 0}
   curSpecialStates: -1
   attackMethod:
     attackName: 
@@ -230,7 +233,9 @@ MonoBehaviour:
       criticalChance: 0
       criticalStrikeEffect: 0
       lifesteal: 0
-      effect: {fileID: 0}
+      attackOnEffect: {fileID: 0}
+      attackOnEffectPos: {fileID: 0}
+      hitEffect: {fileID: 0}
       attackEffect: 
       attackMethod_Type: 0
       floatState:
@@ -346,7 +351,9 @@ MonoBehaviour:
       criticalChance: 0
       criticalStrikeEffect: 0
       lifesteal: 0
-      effect: {fileID: 0}
+      attackOnEffect: {fileID: 0}
+      attackOnEffectPos: {fileID: 0}
+      hitEffect: {fileID: 0}
       attackEffect: 
       attackMethod_Type: 0
       floatState:
@@ -1335,7 +1342,9 @@ MonoBehaviour:
       criticalChance: 0
       criticalStrikeEffect: 0
       lifesteal: 0
-      effect: {fileID: 0}
+      attackOnEffect: {fileID: 0}
+      attackOnEffectPos: {fileID: 0}
+      hitEffect: {fileID: 0}
       attackEffect: 06000000
       attackMethod_Type: 0
       floatState:
@@ -1408,7 +1417,9 @@ MonoBehaviour:
       criticalChance: 0
       criticalStrikeEffect: 0
       lifesteal: 0
-      effect: {fileID: 0}
+      attackOnEffect: {fileID: 0}
+      attackOnEffectPos: {fileID: 0}
+      hitEffect: {fileID: 0}
       attackEffect: 
       attackMethod_Type: 0
       floatState:
@@ -1576,7 +1587,7 @@ MonoBehaviour:
   reductionDegree: 0
   reductionEffect: {fileID: 0}
   effect: {fileID: 0}
-  soulPrefab: {fileID: 1723151111827507807, guid: b9f534ba9bc2a434496af5761e952f26, type: 3}
+  soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
   soulStartSpeed: 1
   isInvisible: 0
   invisibleTime: 0
@@ -1613,8 +1624,8 @@ MonoBehaviour:
   searchState: 0
   attackRatio: 0
   len: 0
-  dropSoulMax: 3
-  dropSoulMin: 1
+  dropSoulMax: 8
+  dropSoulMin: 5
   dropProbability: 100
   dropSoulAngle: 60
   lockingLogic: {x: 1, y: 2}

+ 5 - 3
ActionTowerDefense/Assets/Resources/Prefab/ESpirits/ESpirits_Pinja.prefab

@@ -460,7 +460,7 @@ MonoBehaviour:
   reductionDegree: 0
   reductionEffect: {fileID: 0}
   effect: {fileID: 0}
-  soulPrefab: {fileID: 1723151111827507807, guid: b9f534ba9bc2a434496af5761e952f26, type: 3}
+  soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
   soulStartSpeed: 1
   isInvisible: 0
   invisibleTime: 0
@@ -497,8 +497,8 @@ MonoBehaviour:
   searchState: 0
   attackRatio: 0
   len: 0
-  dropSoulMax: 3
-  dropSoulMin: 1
+  dropSoulMax: 15
+  dropSoulMin: 10
   dropProbability: 100
   dropSoulAngle: 60
   canRevives: 0
@@ -1287,6 +1287,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 1d04dd6e35d71724689001e450625c39, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  character: {fileID: 0}
   curSpecialStates: -1
   attackMethod:
     attackName: 
@@ -1606,6 +1607,7 @@ MonoBehaviour:
   bulletObj: {fileID: 7473170563405908938, guid: a8d7788d84e74054e9bd5fc742e22241, type: 3}
   bulletNum: 3
   angleRange: 45
+  timeInterval: 0.2
   isOut: 0
   isReturning: 0
   outBullet: {fileID: 0}

+ 8 - 0
ActionTowerDefense/Assets/Scripts/Conduct/ConductController.cs

@@ -105,6 +105,7 @@ public class ConductController : MonoBehaviour
         Demonic demonic;
         switch (conductSkills[demonicId])
         {
+            //冥火涅槃
             case ConductSkills.NetherfireRebirth:
                 ConductManager.NetherfireRebirth netherfireRebirth = conductManager.netherfireRebirth;
                 for (int i = 0; i < dienum * netherfireRebirth.power[demonicRarity]; i++)
@@ -132,6 +133,7 @@ public class ConductController : MonoBehaviour
                     playerController.lastSoldier = SoldierType.Conduct;
                 }
                 break;
+            //电光炮
             case ConductSkills.FlyingSwords:
                 ConductManager.FlyingSwords flyingSwords = conductManager.flyingSwords;
                 obj = PoolManager.Instantiate(flyingSwords.obj);
@@ -142,6 +144,7 @@ public class ConductController : MonoBehaviour
                 FFS.damage = (int)(attackDamage * tagAdd);
                 FFS.Biu();
                 break;
+            //冰雨
             case ConductSkills.IceRain:
                 ConductManager.IceRain iceRain = conductManager.iceRain;
                 obj = PoolManager.Instantiate(iceRain.obj);
@@ -152,6 +155,7 @@ public class ConductController : MonoBehaviour
                 iceRainController.damage = (int)(attackDamage * tagAdd);
                 iceRainController.Biu();
                 break;
+            //保护罩
             case ConductSkills.Barrier:
                 ConductManager.Barrier barrier = conductManager.barrier;
                 obj = PoolManager.Instantiate(barrier.obj);
@@ -168,6 +172,7 @@ public class ConductController : MonoBehaviour
                 photospheres.Add(photosphere);
                 RefreshBarrierScale();
                 break;
+            //灵血聚合器
             case ConductSkills.SpiritBloodAggregator:
                 ConductManager.SpiritBloodAggregator spiritBloodAggregator = conductManager.spiritBloodAggregator;
                 demonic = playerController.CreateDemonic(demonicId);
@@ -188,6 +193,7 @@ public class ConductController : MonoBehaviour
                 int order = bs.baseSortingOrder + playerController.demonicDic[demonicId].Count;
                 demonic.SetSortingOrder(order);
                 break;
+            //游龙球
             case ConductSkills.WanderingDragonOrb:
                 ConductManager.WanderingDragonOrb wanderingDragonOrb = conductManager.wanderingDragonOrb;
                 obj = PoolManager.Instantiate(wanderingDragonOrb.obj);
@@ -199,6 +205,7 @@ public class ConductController : MonoBehaviour
                 dragonController.player = playerController;
                 dragonController.Init();
                 break;
+            //龙卷扇
             case ConductSkills.TornadoFan:
                 ConductManager.TornadoFan tornadoFan = conductManager.tornadoFan;
                 obj = PoolManager.Instantiate(tornadoFan.obj);
@@ -209,6 +216,7 @@ public class ConductController : MonoBehaviour
                 tf.damage = (int)(attackDamage * tagAdd);
                 tf.Init();
                 break;
+            //根须缠绕
             case ConductSkills.RootBinding:
                 ConductManager.RootBinding rootBinding = conductManager.rootBinding;
                 obj = PoolManager.Instantiate(rootBinding.obj);

+ 22 - 13
ActionTowerDefense/Assets/Scripts/Skills/BoomerangWeaponController.cs

@@ -8,10 +8,13 @@ public class BoomerangWeaponController : SpecialSkills
     [LabelText("子弹预制体")] public GameObject bulletObj;
     [LabelText("子弹数量")] public int bulletNum;
     [LabelText("角度")] public float angleRange;
+    [LabelText("时间间隔")] public float timeInterval;
     
     [DisplayOnly] public bool isOut;
     [DisplayOnly] public bool isReturning;
     [DisplayOnly] public Bullet outBullet;
+    private float timer;
+    private int outNum;
     public void Awake()
     {
         Init();
@@ -24,46 +27,52 @@ public class BoomerangWeaponController : SpecialSkills
     public override void Attack()
     {
         base.Attack();
+        timer = timeInterval;
+        outNum = 0;
         isReturning = false;
-        Shoot();
+        isOut = true;
     }
 
     private void Update()
     {
-        if(isOut && !isReturning)
+        if(isOut)
         {
-            if (!outBullet.gameObject.activeSelf)
+            if (outNum >= bulletNum && !isReturning && !outBullet.gameObject.activeSelf)
             {
                 isReturning = true;
             }
+            Shoot();
         }
     }
     public void Shoot()
     {
-        float angleInterval = angleRange / (bulletNum - 1);
-        for (int i = 0; i < bulletNum; i++)
+        if (outNum >= bulletNum) return;
+        timer += Time.deltaTime;
+        if(timer >= timeInterval)
         {
+            timer = 0;
+            float angleInterval = angleRange / (bulletNum - 1);
             float angle;
             Bullet bullet = PoolManager.Instantiate(bulletObj).GetComponent<Bullet>();
             bullet.BoomerangWeaponController = this;
-            if (i == 0)
-            {
-                outBullet = bullet;
-            }
+
             Vector3 dir;
             if (owner.targetCharacter.beSearchTrigger.transform.position.x - transform.position.x > 0)
             {
-                angle = i * angleInterval;
-                
+                angle = outNum * angleInterval;
             }
             else
             {
-                angle = 180 - i * angleInterval;
+                angle = 180 - outNum * angleInterval;
             }
             angle = angle / 180 * Mathf.PI;
             dir = new Vector3(Mathf.Cos(angle), Mathf.Sin(angle), 0);
             bullet.BeShoot(owner, transform.position, dir, true, target: owner.targetCharacter, attackMethod: owner.attackController.attackMethod_march[0]);
+            outNum++;
+            if (outNum >= bulletNum)
+            {
+                outBullet = bullet;
+            }
         }
-        isOut = true;
     }
 }

+ 1 - 0
ActionTowerDefense/Assets/Scripts/Spirits/ESpirits_Pinja.cs

@@ -62,6 +62,7 @@ public class ESpirits_Pinja : Enemy
                 return;
             case CharacterState.Attack:
                 attackController.attackTime = 1;
+                ChooseLockingTarget();
                 if (boomerangWeaponController.isReturning && boomerangWeaponController.isOut)
                 {
                     boomerangWeaponController.Init();