diff --git a/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2runattack.fbx b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2runattack.fbx new file mode 100644 index 000000000..a389ab0a7 Binary files /dev/null and b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2runattack.fbx differ diff --git a/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2runattack.fbx.meta b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2runattack.fbx.meta new file mode 100644 index 000000000..b5e8b1653 --- /dev/null +++ b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2runattack.fbx.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 81259267d0db01b4b8dd03e97b149ccc +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: 8850250981380204751 + second: Walk + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Walk + takeName: Anim_Ice_Golem@Walk + internalID: 0 + firstFrame: 41 + lastFrame: 64 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 0 + loopBlendOrientation: 0 + loopBlendPositionY: 0 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 0 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 41 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2start.fbx b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2start.fbx new file mode 100644 index 000000000..28e6e1d11 Binary files /dev/null and b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2start.fbx differ diff --git a/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2start.fbx.meta b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2start.fbx.meta new file mode 100644 index 000000000..f8517178f --- /dev/null +++ b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Anim_Ice_Golem@skill2start.fbx.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: aab91df90aa2d5b4eb67c3edf4da78ef +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: + - first: + 74: -3884910672620255470 + second: Damage + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Damage + takeName: Anim_Ice_Golem@Damage + internalID: 0 + firstFrame: 231 + lastFrame: 245 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 0 + loopBlendOrientation: 0 + loopBlendPositionY: 0 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 0 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 231 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Ice_Golem_Animations_Check.controller b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Ice_Golem_Animations_Check.controller index 794feb615..4869bcd05 100644 --- a/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Ice_Golem_Animations_Check.controller +++ b/Assets/ResWork/Suriyun/Monster Pack Ice/Animations/Ice Golem/Ice_Golem_Animations_Check.controller @@ -210,13 +210,19 @@ AnimatorStateMachine: m_Position: {x: 370, y: -170, z: 0} - serializedVersion: 1 m_State: {fileID: 110293690} - m_Position: {x: 370, y: -60, z: 0} + m_Position: {x: 330, y: -120, z: 0} - serializedVersion: 1 m_State: {fileID: 4099891859865883857} m_Position: {x: 100, y: -190, z: 0} - serializedVersion: 1 m_State: {fileID: -6991486973509011003} - m_Position: {x: 100, y: -130, z: 0} + m_Position: {x: 100, y: -140, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1936565741324748099} + m_Position: {x: 100, y: -90, z: 0} + - serializedVersion: 1 + m_State: {fileID: 2663643540241104782} + m_Position: {x: 100, y: -40, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -224,7 +230,7 @@ AnimatorStateMachine: m_StateMachineBehaviours: [] m_AnyStatePosition: {x: 120, y: -240, z: 0} m_EntryPosition: {x: 120, y: -276, z: 0} - m_ExitPosition: {x: 130, y: -60, z: 0} + m_ExitPosition: {x: 120, y: -310, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_DefaultState: {fileID: 110209958} --- !u!1107 &1107958162325579712 @@ -268,6 +274,60 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1102 &1936565741324748099 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: skill2start + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -3884910672620255470, guid: aab91df90aa2d5b4eb67c3edf4da78ef, + type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &2663643540241104782 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: boss_skill2runattack + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 8850250981380204751, guid: 81259267d0db01b4b8dd03e97b149ccc, + type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1102 &4099891859865883857 AnimatorState: serializedVersion: 6 diff --git a/Assets/Script/Character/Mob/Boss/Boss_IceGolem.cs b/Assets/Script/Character/Mob/Boss/Boss_IceGolem.cs index f3ffb6c33..5ee51f4f5 100644 --- a/Assets/Script/Character/Mob/Boss/Boss_IceGolem.cs +++ b/Assets/Script/Character/Mob/Boss/Boss_IceGolem.cs @@ -1,3 +1,4 @@ +using System.Collections; using UnityEngine; public class Boss_IceGolem : BossMobActor @@ -53,9 +54,8 @@ public class Boss_IceGolem : BossMobActor base.Update(); if (IsDead() || IsStop) return; - if (UseSkillIndex == 1) + if (UseSkillIndex == 1 && MobStatus != eMobStatus.Skill) { - CoolTime_Skill1 = Skill1CoolTime; Run_byUseSkill(Skill1TargetRange, Skill1Speed, success => { AnimationPlay("boss_skill1start"); @@ -65,10 +65,29 @@ public class Boss_IceGolem : BossMobActor { Init(true, false); AnimationPlay("boss_skill1attack"); - Change_MobStatus(eMobStatus.Attack); }); }); } + else if (UseSkillIndex == 2 && MobStatus != eMobStatus.Skill) + StartCoroutine(Co_Skill2()); + } + + IEnumerator Co_Skill2() + { + Change_MobStatus(eMobStatus.Skill); + AnimationPlay("boss_skill2start"); + + float t = 0f; + while (t < 3f) + { + yield return null; + t += Time.deltaTime; + if (isTarget) transform.LookAt(m_Target.transform); + else break; + } + + AnimationPlay("boss_skill2runattack"); + Run_byUseSkill(0f, 7f, success => { Init(false, true); }); } protected override float Get_Skill1Dmg() { return Skill1Dmg; } diff --git a/Assets/Script/Character/Mob/BossMobActor.cs b/Assets/Script/Character/Mob/BossMobActor.cs index 6127c1d64..ad03bcf7d 100644 --- a/Assets/Script/Character/Mob/BossMobActor.cs +++ b/Assets/Script/Character/Mob/BossMobActor.cs @@ -38,6 +38,7 @@ public class BossMobActor : MobActor protected virtual void Init(bool initSkill1CoolTime, bool initSkill2CoolTime) { + Change_MobStatus(eMobStatus.Attack); if (!DSUtil.CheckNull(go_indicator1)) go_indicator1.SetActive(false); if (!DSUtil.CheckNull(go_indicator2)) go_indicator2.SetActive(false); UseSkillIndex = 0;