diff --git a/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Anim_Queen_Undead@skill1.fbx b/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Anim_Queen_Undead@skill1.fbx new file mode 100644 index 000000000..61424a5f2 Binary files /dev/null and b/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Anim_Queen_Undead@skill1.fbx differ diff --git a/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Anim_Queen_Undead@skill1.fbx.meta b/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Anim_Queen_Undead@skill1.fbx.meta new file mode 100644 index 000000000..90fc3e770 --- /dev/null +++ b/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Anim_Queen_Undead@skill1.fbx.meta @@ -0,0 +1,138 @@ +fileFormatVersion: 2 +guid: 76901ae58c4427f48a2858292ddcdd9f +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 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: boss_skill1 + takeName: Anim_Queen_Undead@Damage + internalID: -5926460075772977512 + firstFrame: 301 + lastFrame: 320 + 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: 301 + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + 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 + importBlendShapeDeformPercent: 0 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Queen_Undead_Animations_Check.controller b/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Queen_Undead_Animations_Check.controller index 8785036b1..7e9557871 100644 --- a/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Queen_Undead_Animations_Check.controller +++ b/Assets/ResWork/Suriyun/Monster Pack Darkness 2/Animations/Queen_Undead/Queen_Undead_Animations_Check.controller @@ -1,5 +1,27 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1101 &-9148889835723666700 +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: 110209958} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.68421066 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -183,6 +205,9 @@ AnimatorStateMachine: - serializedVersion: 1 m_State: {fileID: 110293690} m_Position: {x: 450, y: -100, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1121141621030316849} + m_Position: {x: 120, y: -150, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -212,6 +237,34 @@ AnimatorStateMachine: m_ExitPosition: {x: 800, y: 120, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_DefaultState: {fileID: 0} +--- !u!1102 &1121141621030316849 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: boss_skill1 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -9148889835723666700} + 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: -5926460075772977512, guid: 76901ae58c4427f48a2858292ddcdd9f, + type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1101 &3506418689569881279 AnimatorStateTransition: m_ObjectHideFlags: 1 diff --git a/Assets/Res_Addr/Mobs/FieldBoss/Queen_Undead.prefab b/Assets/Res_Addr/Mobs/FieldBoss/Queen_Undead.prefab index 676e60df5..02e6318fc 100644 --- a/Assets/Res_Addr/Mobs/FieldBoss/Queen_Undead.prefab +++ b/Assets/Res_Addr/Mobs/FieldBoss/Queen_Undead.prefab @@ -73,7 +73,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 701768910756016836} - - component: {fileID: 6735992698950766268} + - component: {fileID: 8180726626356041447} - component: {fileID: 1024452805773796894} - component: {fileID: 6162041117257182504} - component: {fileID: 604748405907169510} @@ -102,7 +102,7 @@ Transform: - {fileID: 3721421727997426000} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6735992698950766268 +--- !u!114 &8180726626356041447 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -111,7 +111,7 @@ MonoBehaviour: m_GameObject: {fileID: 213639196654839934} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f985004e8ad29cf428f80c433e48ab9c, type: 3} + m_Script: {fileID: 11500000, guid: a2242f9a4ebadc94093f6cf0c8690c02, type: 3} m_Name: m_EditorClassIdentifier: gos_Effect: [] @@ -125,6 +125,14 @@ MonoBehaviour: MagicID: 0 HealCount: 0 HealRate: 0.1 + Skill1CoolTime: 6 + Skill1LifeTime: 5 + Skill1Manaburn: 0.02 + Skill1Distance: 15 + Perforation_Line: 0 + Skill2CoolTime: 18 + Skill2ChargingTime: 2 + Skill2Dmg: 3.2 --- !u!95 &1024452805773796894 Animator: serializedVersion: 5 diff --git a/Assets/Script/Character/Mob/Boss/Boss_QueenUndead.cs b/Assets/Script/Character/Mob/Boss/Boss_QueenUndead.cs new file mode 100644 index 000000000..258e96825 --- /dev/null +++ b/Assets/Script/Character/Mob/Boss/Boss_QueenUndead.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections; +using UnityEngine; + +public class Boss_QueenUndead : BossMobActor +{ + [Header("스킬1 쿨타임")] + public float Skill1CoolTime = 6f; + [Header("스킬1 지속 시간")] + public float Skill1LifeTime = 5f; + [Header("스킬1 마나번")] + public float Skill1Manaburn = 0.02f; + [Header("스킬1 발동거리")] + public float Skill1Distance = 15f; + [Header("---------------------------------------")] + public bool Perforation_Line; + [Header("스킬2 쿨타임")] + public float Skill2CoolTime = 18f; + [Header("스킬2 차징시간")] + public float Skill2ChargingTime = 2f; + [Header("스킬2 데미지")] + public float Skill2Dmg = 3.2f; + + public override void Set(MonsterTableData mobtable, Vector3 pos, Action actDie, int order) + { + base.Set(mobtable, pos, actDie, order); + + CoolTime_Skill1 = 1f; + CoolTime_Skill2 = 2f; + } + + protected override void Init(bool initSkill1CoolTime, bool initSkill2CoolTime) + { + base.Init(initSkill1CoolTime, initSkill2CoolTime); + if (initSkill1CoolTime) CoolTime_Skill1 = Skill1CoolTime; + if (initSkill2CoolTime) CoolTime_Skill2 = Skill2CoolTime; + } + + protected override void Update() + { + base.Update(); + if (IsDead() || IsStop) return; + + if (UseSkillIndex == 1 && MobStatus != eMobStatus.Skill) + { + if (isTarget && Vector3.Distance(m_Target.Get_position(), Get_position()) >= Skill1Distance) + StartCoroutine(Co_Skill1()); + else + UseSkillIndex = 0; + } + else if (UseSkillIndex == 2 && MobStatus != eMobStatus.Skill) + StartCoroutine(Co_Skill2()); + } + + IEnumerator Co_Skill1() + { + Change_MobStatus(eMobStatus.Skill); + AnimationPlay("boss_skill1"); + + // 차징 중 + yield return new WaitForSeconds(1f); + + if (isTarget) + { + m_Target.Buff_or_Debuff(eCC.SilenceCurse, Skill1LifeTime, Skill1Manaburn); + var skilltype = table_skilltypeconfig.Ins.Get_Data_orNull(eSkillExtraType.SilenceCurse); + InGameInfo.Ins.Show_Effect(skilltype.e_SkillEffect, m_Target, skilltype.e_EffectLocation, Skill1LifeTime); + } + + Check_Battle(); + Init(true, false); + } + IEnumerator Co_Skill2() + { + //Change_MobStatus(eMobStatus.Skill); + //AnimationPlay("boss_skill2charging"); + //InGameInfo.Ins.Show_Effect("Effect_AnubisCharging2", this, eEffectLocation.Bottom, Skill2ChargingTime); + + //// 차징 중 + yield return new WaitForSeconds(Skill2ChargingTime); + + //for (int i = 0; i < Skill2Count; i++) + //{ + // if (isTarget) transform.LookAt(m_Target.transform); + // else break; + // AnimationPlay("boss_skill2attack"); + // yield return new WaitForSeconds(Skill2AttackDelay); + //} + + //Check_Battle(); + //Init(false, true); + } +} \ No newline at end of file diff --git a/Assets/Script/Character/Mob/Boss/Boss_QueenUndead.cs.meta b/Assets/Script/Character/Mob/Boss/Boss_QueenUndead.cs.meta new file mode 100644 index 000000000..c462f11f1 --- /dev/null +++ b/Assets/Script/Character/Mob/Boss/Boss_QueenUndead.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a2242f9a4ebadc94093f6cf0c8690c02 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: