Przeglądaj źródła

修复了boss头发攻击、蝌蚪击飞以及动画切换的问题,适当增加蝌蚪掉魂量

HY-LSZNWIN10\Administrator 5 dni temu
rodzic
commit
fc888c0fb9

+ 4 - 3
ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/Boss_Braid.prefab

@@ -427,7 +427,7 @@ MonoBehaviour:
   - 0.2
   stage: 0
   dropSoulMax: 8
-  dropSoulMin: 5
+  dropSoulMin: 6
   dropSoulAngle: 60
   wsAttackController: {fileID: 16214313399265844}
   attackConfigurations:
@@ -465,7 +465,6 @@ MonoBehaviour:
       weight: 2
   curAttackType: 0
   smokeFx: {fileID: 417478504669294145, guid: db445634305994d48be096bffc1684d0, type: 3}
-  isHoldingUmbre: 1
   attackNum: 0
   attackCount: 0
   comboInterval: 0.5
@@ -477,7 +476,9 @@ MonoBehaviour:
   polliTime: 10
   angryAttackInterval: 1.5
   angryDuration: 10
+  isAngry: 0
   isTakingUmbre: 0
+  isHoldingUmbre: 1
 --- !u!114 &16214313399265844
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -1575,7 +1576,7 @@ MonoBehaviour:
   translator:
     autoReset: 1
     useCustomMixMode: 1
-    layerMixModes: 01000000
+    layerMixModes: 00000000
     layerBlendModes: 01000000
   updateTiming: 1
 --- !u!1 &16214314582601927

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Boss/WaterSprite/hairController.prefab

@@ -52,7 +52,7 @@ MonoBehaviour:
   aims: []
   ws: {fileID: 0}
   aimChas: []
-  warningTime: 2
+  warningTime: 1
   existTime: 2
   searchTime: 0.1
   singleChuaTime: 0.2

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_Polliwog.prefab

@@ -1152,7 +1152,7 @@ MonoBehaviour:
   len: 0
   dropSoulMax: 1
   dropSoulMin: 1
-  dropProbability: 30
+  dropProbability: 40
   dropSoulAngle: 0
   playerTarget: {fileID: 0}
   separationWeight: 2.5

+ 148 - 10
ActionTowerDefense/Assets/Resources/Spine/Boss_braid/Boss_braid_SkeletonData_Controller.controller

@@ -193,6 +193,28 @@ AnimationClip:
     floatParameter: 0
     intParameter: 0
     messageOptions: 1
+--- !u!1101 &-8899598024056431135
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: -3067777464722279042}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.85
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!74 &-8828942434615899392
 AnimationClip:
   m_ObjectHideFlags: 0
@@ -495,7 +517,8 @@ AnimatorState:
   m_Name: smoke_no3
   m_Speed: 1
   m_CycleOffset: 0
-  m_Transitions: []
+  m_Transitions:
+  - {fileID: -8899598024056431135}
   m_StateMachineBehaviours: []
   m_Position: {x: 50, y: 50, z: 0}
   m_IKOnFeet: 0
@@ -718,6 +741,28 @@ AnimationClip:
   m_HasGenericRootTransform: 0
   m_HasMotionFloatCurves: 0
   m_Events: []
+--- !u!1101 &-7011227631170441102
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 8331176851749146257}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.90625
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!1102 &-6798333593589032740
 AnimatorState:
   serializedVersion: 6
@@ -1099,6 +1144,28 @@ AnimatorState:
   m_MirrorParameter: 
   m_CycleOffsetParameter: 
   m_TimeParameter: 
+--- !u!1101 &-6059399627960891919
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: -3067777464722279042}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.75
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!1101 &-5648560309932191177
 AnimatorStateTransition:
   m_ObjectHideFlags: 1
@@ -1288,6 +1355,28 @@ AnimatorState:
   m_MirrorParameter: 
   m_CycleOffsetParameter: 
   m_TimeParameter: 
+--- !u!1101 &-4360078561056359963
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: -2257363547924065769}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.90625
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!74 &-3960133361947898819
 AnimationClip:
   m_ObjectHideFlags: 0
@@ -1570,7 +1659,10 @@ AnimatorState:
   m_Name: idle_no3
   m_Speed: 1
   m_CycleOffset: 0
-  m_Transitions: []
+  m_Transitions:
+  - {fileID: -7011227631170441102}
+  - {fileID: -4360078561056359963}
+  - {fileID: 4942528003546262353}
   m_StateMachineBehaviours: []
   m_Position: {x: 50, y: 50, z: 0}
   m_IKOnFeet: 0
@@ -1741,7 +1833,8 @@ AnimatorState:
   m_Name: move_rise_no3
   m_Speed: 1
   m_CycleOffset: 0
-  m_Transitions: []
+  m_Transitions:
+  - {fileID: 899141605296373278}
   m_StateMachineBehaviours: []
   m_Position: {x: 50, y: 50, z: 0}
   m_IKOnFeet: 0
@@ -2075,7 +2168,7 @@ AnimationClip:
     m_Level: 0
     m_CycleOffset: 0
     m_HasAdditiveReferencePose: 0
-    m_LoopTime: 0
+    m_LoopTime: 1
     m_LoopBlend: 0
     m_LoopBlendOrientation: 0
     m_LoopBlendPositionY: 0
@@ -2448,6 +2541,28 @@ AnimationClip:
     floatParameter: 0
     intParameter: 0
     messageOptions: 1
+--- !u!1101 &899141605296373278
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: -3067777464722279042}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.75
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!74 &1147657042308742055
 AnimationClip:
   m_ObjectHideFlags: 0
@@ -2845,16 +2960,16 @@ AnimatorStateMachine:
     m_Position: {x: 410, y: 390, z: 0}
   - serializedVersion: 1
     m_State: {fileID: -1702708306969596229}
-    m_Position: {x: 445, y: 455, z: 0}
+    m_Position: {x: 350, y: 460, z: 0}
   - serializedVersion: 1
     m_State: {fileID: -3067777464722279042}
-    m_Position: {x: 480, y: 520, z: 0}
+    m_Position: {x: 690, y: 510, z: 0}
   - serializedVersion: 1
     m_State: {fileID: -1953351472425474637}
     m_Position: {x: 550, y: 660, z: 0}
   - serializedVersion: 1
     m_State: {fileID: -6798333593589032740}
-    m_Position: {x: 730, y: 510, z: 0}
+    m_Position: {x: 450, y: 550, z: 0}
   - serializedVersion: 1
     m_State: {fileID: -8146034706639659219}
     m_Position: {x: 740, y: 440, z: 0}
@@ -2863,7 +2978,7 @@ AnimatorStateMachine:
     m_Position: {x: 230, y: 580, z: 0}
   - serializedVersion: 1
     m_State: {fileID: 5561397459556167838}
-    m_Position: {x: 140, y: 500, z: 0}
+    m_Position: {x: 120, y: 450, z: 0}
   - serializedVersion: 1
     m_State: {fileID: -4936188104067422683}
     m_Position: {x: 960, y: 410, z: 0}
@@ -2890,7 +3005,7 @@ AnimatorStateMachine:
     m_Position: {x: 960, y: 450, z: 0}
   - serializedVersion: 1
     m_State: {fileID: 8331176851749146257}
-    m_Position: {x: 960, y: 540, z: 0}
+    m_Position: {x: 960, y: 550, z: 0}
   m_ChildStateMachines: []
   m_AnyStateTransitions: []
   m_EntryTransitions: []
@@ -2901,6 +3016,28 @@ AnimatorStateMachine:
   m_ExitPosition: {x: 800, y: 120, z: 0}
   m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
   m_DefaultState: {fileID: 3671151615531027066}
+--- !u!1101 &4942528003546262353
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions: []
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: -7813120668644608406}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.90625
+  m_HasExitTime: 1
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
 --- !u!74 &5357233557887567433
 AnimationClip:
   m_ObjectHideFlags: 0
@@ -3569,7 +3706,8 @@ AnimatorState:
   m_Name: move_fall _no3
   m_Speed: 1
   m_CycleOffset: 0
-  m_Transitions: []
+  m_Transitions:
+  - {fileID: -6059399627960891919}
   m_StateMachineBehaviours: []
   m_Position: {x: 50, y: 50, z: 0}
   m_IKOnFeet: 0

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

@@ -58,7 +58,7 @@ public class Boss : MoveCharacter
 
     [FoldoutGroup("角色信息")]
     public BossState bossState;
-    private BossState oldState;
+    protected BossState oldState;
     /*[LabelText("耐力值")]
     public int totalPatience;               //初始耐力值上限
     private int curPatience;                //当前耐力值
@@ -267,7 +267,7 @@ public class Boss : MoveCharacter
     }
 
     //切换boss状态(主要针对受击状态等)
-    public void ChangeBossState(BossState bs)
+    public virtual void ChangeBossState(BossState bs)
     {
         if (bs == bossState)
         {

+ 0 - 1
ActionTowerDefense/Assets/Scripts/Boss/WaterGhost/BlackUmbrella.cs

@@ -122,7 +122,6 @@ public class BlackUmbrella : MonoBehaviour
                     aimPos.x += farFromPlayerDis * fx;
                     attackDis = Mathf.Abs(aimPos.x - transform.position.x);
                 }
-                Debug.Log("³å´Ì"); 
                 if (aimPos.x > rightBoundary)
                 {
                     aimPos.x = rightBoundary;

+ 2 - 0
ActionTowerDefense/Assets/Scripts/Boss/WaterGhost/HairSprint.cs

@@ -131,6 +131,7 @@ public class HairSprint : MonoBehaviour
         }
         else
         {
+            Debug.Log(111);
             int id = 0;
             foreach(Character c in aimCharacters)
             {
@@ -155,6 +156,7 @@ public class HairSprint : MonoBehaviour
         warningIns[id].SetActive(true);
         hairIns[id].transform.position = aims[id];
         hairIns[id].transform.localEulerAngles = warningIns[id].transform.localEulerAngles;
+        hairIns[id].SetActive(false);
         //Í··¢³öÀ´
         Invoke("HairOut", warningTime);
     }

+ 8 - 1
ActionTowerDefense/Assets/Scripts/Boss/WaterGhost/WaterSprite.cs

@@ -92,7 +92,7 @@ public class WaterSprite : Boss
     {
         base.Update();
         OnStage();
-        
+
         if(isAngry)
         {
             if (angryTimer >= 0) angryTimer -= Time.deltaTime;
@@ -183,6 +183,12 @@ public class WaterSprite : Boss
             isHoldingUmbre = true;
         }
     }
+
+    public override void ChangeBossState(BossState bs)
+    {
+        base.ChangeBossState(bs);
+        if(bs == BossState.rise && oldState != BossState.weak && !isHoldingUmbre) ani.Play("idle_no3", 0, 0);
+    }
     #region ״̬Ïà¹Ø
     public override void ChangeState(CharacterState newState)
     {
@@ -210,6 +216,7 @@ public class WaterSprite : Boss
                 {
                     if (isHoldingUmbre)
                     {
+                        Debug.Log(222);
                         int randomAni = RandomWithWeight(weight);
                         ani.Play(idleAniNames[randomAni], 0, 0);
                     }

+ 2 - 2
ActionTowerDefense/Assets/Scripts/Boss/WaterGhost/WaterSpriteAttackController.cs

@@ -89,7 +89,7 @@ public class WaterSpriteAttackController : AttackController
         {
             ws.isTakingUmbre = true;
             ws.curInterval = 3f;
-            ws.ani.Play("smoke_no3", 0, 0);
+            ws.BodyFlickerDisappear();
         }
     }
 
@@ -134,7 +134,7 @@ public class WaterSpriteAttackController : AttackController
     public void KunaiAttack(Vector3 dir, int num,float interval = 10f)
     {
         if (num <= 0) return; // 避免无效数量
-        ws.ani.Play("roar");
+        //ws.ani.Play("roar");
         // 计算总偏移范围(左右对称)
         float totalAngle = (num - 1) * 10f;
         // 起始偏移角度(最左侧苦无的角度)

+ 1 - 0
ActionTowerDefense/Assets/Scripts/Characters/Polliwog.cs

@@ -100,6 +100,7 @@ public class Polliwog : Enemy
                 attributeStatus.character.transform.rotation = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, attributeStatus.character.platformRotZ);
                 nowCanFly = true;
                 ani.speed = 1;
+                attributeStatus.curSpecialStates = SpecialState.Null;
                 break;
         }
         state = newState;