십자 베기(마구 베기)

This commit is contained in:
Ino 2025-05-09 13:27:04 +09:00
parent 8fecf99688
commit 72e17af2bf
18 changed files with 46162 additions and 15227 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -10,6 +10,8 @@ Material:
m_Name: Flying Particles Earth
m_Shader: {fileID: -6465566751694194690, guid: 79658e3bd03538747b0982ae4b4039a5,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ALPHATEST_ON
- _RECEIVE_SHADOWS_OFF
@ -23,6 +25,7 @@ Material:
disabledShaderPasses:
- MOTIONVECTORS
- SHADOWCASTER
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@ -114,7 +117,7 @@ Material:
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 1
- _AlphaToMask: 0
- _AlphaToMask: 1
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1

File diff suppressed because it is too large Load Diff

View File

@ -50,6 +50,33 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-7243459428420917326
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Sword&Shield_Block_Parry
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: -2019233941524883178, guid: 2886dae17337f274fa4b0892d1424ab3,
type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-6987712286325826059
AnimatorStateTransition:
m_ObjectHideFlags: 1
@ -88,7 +115,7 @@ AnimatorStateTransition:
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.5
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
@ -120,28 +147,33 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-5856502396934132975
AnimatorStateTransition:
--- !u!1102 &-6088692804388552841
AnimatorState:
serializedVersion: 6
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: 0}
m_Solo: 0
m_Mute: 0
m_IsExit: 1
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.5
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
m_Name: h3 0
m_Speed: 5
m_CycleOffset: 0
m_Transitions:
- {fileID: 4468872378033135529}
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: 7400000, guid: faf145113e27118488cc4741e63711c0, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-5069386720096686000
AnimatorState:
serializedVersion: 6
@ -224,6 +256,33 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-2669380441696747638
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Sword&Shield_Block
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 7852977265997379446}
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: 7400000, guid: 2886dae17337f274fa4b0892d1424ab3, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-2372893332063686344
AnimatorStateTransition:
m_ObjectHideFlags: 1
@ -240,7 +299,7 @@ AnimatorStateTransition:
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.5
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
@ -284,7 +343,7 @@ AnimatorStateTransition:
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.5
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
@ -328,7 +387,7 @@ AnimatorStateTransition:
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.5
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
@ -2174,11 +2233,11 @@ AnimatorStateMachine:
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions:
- first: {fileID: 0}
second: []
- first: {fileID: 3902081034367423738}
second:
- {fileID: 5658963333774242333}
- first: {fileID: 0}
second: []
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: -240, y: -290, z: 0}
m_EntryPosition: {x: -240, y: -360, z: 0}
@ -2253,7 +2312,7 @@ AnimatorStateTransition:
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.5
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
@ -2391,7 +2450,7 @@ AnimatorState:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: v2
m_Speed: 1.3
m_Speed: 3
m_CycleOffset: 0
m_Transitions:
- {fileID: -2372893332063686344}
@ -2418,7 +2477,7 @@ AnimatorState:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: h2
m_Speed: 1.2
m_Speed: 3
m_CycleOffset: 0
m_Transitions:
- {fileID: 504745422846684223}
@ -2467,7 +2526,7 @@ AnimatorState:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: paladin_skill2_start
m_Speed: 1
m_Speed: 2
m_CycleOffset: 0
m_Transitions:
- {fileID: -6395111175109878150}
@ -2497,22 +2556,34 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 3610903316389755060}
m_Position: {x: 270, y: 30, z: 0}
m_Position: {x: 270, y: 20, z: 0}
- serializedVersion: 1
m_State: {fileID: 8855275330791504224}
m_Position: {x: 510, y: 30, z: 0}
m_Position: {x: 580, y: 30, z: 0}
- serializedVersion: 1
m_State: {fileID: 1745710496128572354}
m_Position: {x: 270, y: 100, z: 0}
- serializedVersion: 1
m_State: {fileID: 1742530479433111572}
m_Position: {x: 510, y: 100, z: 0}
m_Position: {x: 580, y: 100, z: 0}
- serializedVersion: 1
m_State: {fileID: 6568651970781433101}
m_Position: {x: 510, y: 170, z: 0}
m_Position: {x: 580, y: 190, z: 0}
- serializedVersion: 1
m_State: {fileID: 8843573372059719293}
m_Position: {x: 270, y: 170, z: 0}
m_Position: {x: 270, y: 190, z: 0}
- serializedVersion: 1
m_State: {fileID: 4584312505025186869}
m_Position: {x: 580, y: 270, z: 0}
- serializedVersion: 1
m_State: {fileID: -6088692804388552841}
m_Position: {x: 280, y: 270, z: 0}
- serializedVersion: 1
m_State: {fileID: -2669380441696747638}
m_Position: {x: 320, y: 390, z: 0}
- serializedVersion: 1
m_State: {fileID: -7243459428420917326}
m_Position: {x: 590, y: 390, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@ -2520,8 +2591,8 @@ AnimatorStateMachine:
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 750, y: 100, z: 0}
m_ParentStateMachinePosition: {x: 740, y: 20, z: 0}
m_ExitPosition: {x: 820, y: 100, z: 0}
m_ParentStateMachinePosition: {x: 810, y: 20, z: 0}
m_DefaultState: {fileID: 3610903316389755060}
--- !u!1102 &4426925051445068615
AnimatorState:
@ -2550,6 +2621,55 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &4468872378033135529
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: 4584312505025186869}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &4584312505025186869
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: v3 0
m_Speed: 5
m_CycleOffset: 0
m_Transitions:
- {fileID: 6353549439470501501}
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: 7400000, guid: c9420dbf79c310a4db1a886185d6ea25, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &4804184176358769930
AnimatorState:
serializedVersion: 6
@ -2669,6 +2789,28 @@ AnimatorTransition:
m_Mute: 0
m_IsExit: 0
serializedVersion: 1
--- !u!1101 &6353549439470501501
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: -2669380441696747638}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.7794118
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &6437131242023843007
AnimatorStateTransition:
m_ObjectHideFlags: 1
@ -2699,10 +2841,10 @@ AnimatorState:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: v3
m_Speed: 1.5
m_Speed: 4
m_CycleOffset: 0
m_Transitions:
- {fileID: -5856502396934132975}
- {fileID: 8137167101537644244}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@ -2796,6 +2938,28 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &7852977265997379446
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: -7243459428420917326}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.92857146
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &8081335877112005280
AnimatorStateTransition:
m_ObjectHideFlags: 1
@ -2818,6 +2982,28 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &8137167101537644244
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: -6088692804388552841}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &8843573372059719293
AnimatorState:
serializedVersion: 6
@ -2826,7 +3012,7 @@ AnimatorState:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: h3
m_Speed: 1.4
m_Speed: 4
m_CycleOffset: 0
m_Transitions:
- {fileID: -1787236535978097540}
@ -2853,7 +3039,7 @@ AnimatorState:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: v1
m_Speed: 1.1
m_Speed: 2
m_CycleOffset: 0
m_Transitions:
- {fileID: -1262591996096803588}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 88faa6f6bc995b8469f8de9c307083f8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -49,6 +49,7 @@ MonoBehaviour:
m_Pierce: 1
str_HitEffect: Effect_Hit_10502
m_ShowTimeOverEffect: 0
ShowTarget: 1
--- !u!65 &6782093134866277011
BoxCollider:
m_ObjectHideFlags: 0
@ -68,5 +69,5 @@ BoxCollider:
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1.5, y: 3, z: 2}
m_Size: {x: 1.5, y: 3, z: 3}
m_Center: {x: 0, y: 0, z: 0}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -263,6 +263,7 @@ public class Actor : MyCoroutine
}
public virtual void Set_Target(bool forcefind = false) { }
public virtual void Set_Target(Actor target) { m_Target = target; isTarget = m_Target; }
public virtual void Set(bool isEnemy, Actor owner, ServerData sdata, int _id, bool _stop, bool _ui = false)
{
if (IsRole(eRole.PC)) ObjSize = GetComponent<CapsuleCollider>().bounds.size;
@ -391,6 +392,7 @@ public class Actor : MyCoroutine
if (hpper <= m_Stat.Get_Stat(eStat.HeroBuffHP))
def += m_Stat.Get_Stat(eStat.DEF) * m_Stat.Get_Stat(eStat.HeroBuff_DEF);
if (dic_ccValue.ContainsKey(eCC.DEF_Mul)) def += def * dic_ccValue[eCC.DEF_Mul];
if (dic_ccData[eCC.DEF_Mul].CCTime > 0f) def += def * dic_ccData[eCC.DEF_Mul].CCDmg;
Check_CCAddRate(eCC.DEF_Down, _dinfo.Beater);
++dic_ccAddRate[eCC.DEF_Down][_dinfo.Beater];
@ -410,6 +412,7 @@ public class Actor : MyCoroutine
if (dic_ccAddRate[eCC.M_DEF_Down][_dinfo.Beater] > beaterStat.Get_Stat(eStat.M_DEF_Down_Limit))
dic_ccAddRate[eCC.M_DEF_Down][_dinfo.Beater] = beaterStat.Get_Stat(eStat.M_DEF_Down_Limit);
if (dic_ccValue.ContainsKey(eCC.MDEF_Mul)) def += def * dic_ccValue[eCC.MDEF_Mul];
if (dic_ccData[eCC.MDEF_Mul].CCTime > 0f) def += def * dic_ccData[eCC.MDEF_Mul].CCDmg;
reduceDef = beaterStat.Get_Stat(eStat.M_DEF_Down) * dic_ccAddRate[eCC.M_DEF_Down][_dinfo.Beater]; // 마법저항력 감소 체크
def -= reduceDef;
@ -1216,6 +1219,7 @@ public class Actor : MyCoroutine
case eSkillExtraType.Aggro:
Buff_or_Debuff(eCC.ATK_Down, LifeTime, val2 + pd.CC_AddVal1);
Buff_or_Debuff(eCC.DEF_Down, LifeTime, val3 + pd.CC_AddVal1);
Set_Target(_dinfo.Beater);
break;
case eSkillExtraType.VampirHeal:
_dinfo.Beater.Heal(val2);

View File

@ -630,6 +630,13 @@ public class MobActor : Actor
}
}
public override void Set_Target(Actor target)
{
base.Set_Target(target);
m_NavMeshAgent.stoppingDistance = m_NavStopDistance;
Change_MobStatus(eMobStatus.Attack);
}
protected override void Check_Extra(eSkillExtraTiming timing)
{
base.Check_Extra(timing);

View File

@ -164,7 +164,7 @@ public class ProjectileBase : MonoBehaviour
Off(true);
}
}
public void Off_FisrLoad() { bFirstLoad = false; }
public virtual void Off_FisrLoad() { bFirstLoad = false; }
public virtual void Set(ProjectileData _data)
{

View File

@ -4,12 +4,39 @@ using UnityEngine;
public class Skill_CrossSlash : ProjectileBase
{
public ProjectileHitChecker[] arr_ProjectileHitChecker; // 베기 이펙트 2종
public List<float> list_gaptime = new List<float> { 0.25f, 0.4f, 0.35f, 0.425f, 0.45f, 0.45f };
public List<float> list_gaptime = new List<float> { 0.2f, 0.2f, 0.2f, 0.1f, 0.1f, 0.1f, 0.1f, 0.1f };
public int SlashCount = 13;
List<Projectile_Strait> projectile_Straits = new List<Projectile_Strait>();
bool onAwake;
public override void Off_FisrLoad()
{
base.Off_FisrLoad();
var child = transform.GetChild(0).gameObject;
projectile_Straits.Add(child.GetComponent<Projectile_Strait>());
for (int i = 1; i < SlashCount; i++)
{
var slash = DSUtil.Get_Clone<Projectile_Strait>(child, transform, null, child.transform.localScale);
projectile_Straits.Add(slash);
}
}
public override void Set(ProjectileData _data)
{
if (!onAwake)
{
onAwake = true;
var ps = GetComponentsInChildren<ParticleSystem>(true);
for (int i = 0; i < ps.Length; i++)
{
var main = ps[i].main;
main.playOnAwake = true;
}
}
_data.eStartPos = eProjectileStartPos.ShooterCenter;
_data.LifeTime = 0.75f;
base.Set(_data);
LookAt_ShooterFoward();
StartCoroutine(Co_Update());
@ -17,22 +44,38 @@ public class Skill_CrossSlash : ProjectileBase
IEnumerator Co_Update()
{
for (int i = 0; i < arr_ProjectileHitChecker.Length; i++)
arr_ProjectileHitChecker[i].gameObject.SetActive(false);
OptionInfo.Ins.Set_PCMove(m_ProjecTileData.shooter, false);
for (int i = 0; i < projectile_Straits.Count; i++)
projectile_Straits[i].gameObject.SetActive(false);
m_ProjecTileData.shooter.AnimationPlay("paladin_skill2_start");
for (int i = 0; i < 6; i++)
float baseAngle = 90f;
for (int i = 0; i < projectile_Straits.Count; i++)
{
projectile_Straits[i].gameObject.SetActive(true);
projectile_Straits[i].Set(m_ProjecTileData);
float angleOffset = 0f;
if (i > 0)
{
int offsetIndex = (i + 1) / 2;
float step = offsetIndex * 15f;
angleOffset = (i % 2 == 1) ? -step : step; // 홀수: 왼쪽, 짝수: 오른쪽
}
float finalAngle = baseAngle + angleOffset;
projectile_Straits[i].transform.eulerAngles = new Vector3(0f, transform.eulerAngles.y, finalAngle);
yield return new WaitForSeconds(list_gaptime[i]);
var index = i % 2;
arr_ProjectileHitChecker[index].gameObject.SetActive(false);
arr_ProjectileHitChecker[index].gameObject.SetActive(true);
arr_ProjectileHitChecker[index].Get_Collider().enabled = true;
yield return null;
arr_ProjectileHitChecker[index].Get_Collider().enabled = false;
}
m_ProjecTileData.shooter.Buff_or_Debuff(eCC.DEF_Mul, 2f, 0.5f);
yield return new WaitForSeconds(2f);
OptionInfo.Ins.Set_PCMove(m_ProjecTileData.shooter, true);
m_ProjecTileData.shooter.Play_Idle();
Off(true);
}
}