This commit is contained in:
Ino 2025-02-14 08:30:11 +09:00
parent eaf25bd499
commit 9be90918e3
6 changed files with 167 additions and 15 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -0,0 +1,127 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1765570899365652
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4279857972633504}
- component: {fileID: 4138789461419179069}
m_Layer: 0
m_Name: Effect_PerHPBuff_SPD
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4279857972633504
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1765570899365652}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3353246840108208868}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &4138789461419179069
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1765570899365652}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 456d2bd1c5c2e5e4b8b948836c4975a4, type: 3}
m_Name:
m_EditorClassIdentifier:
NoUseParticleTime: 1
OffTime: 1
e_EffectLocation: 0
--- !u!1001 &1696138399892205959
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 4279857972633504}
m_Modifications:
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4672897209852123454, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
propertyPath: m_Name
value: FX_Buff
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects:
- {fileID: 5409510084231057802, guid: 6c119b9b00b04394f86df4e4e63dcbc2, type: 3}
- {fileID: 5317708295199703885, guid: 6c119b9b00b04394f86df4e4e63dcbc2, type: 3}
- {fileID: 7509673848271308604, guid: 6c119b9b00b04394f86df4e4e63dcbc2, type: 3}
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 6c119b9b00b04394f86df4e4e63dcbc2, type: 3}
--- !u!4 &3353246840108208868 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4107499323353244515, guid: 6c119b9b00b04394f86df4e4e63dcbc2,
type: 3}
m_PrefabInstance: {fileID: 1696138399892205959}
m_PrefabAsset: {fileID: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3038a4c7cc6127446a6ec741af8ddd8e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -586,24 +586,18 @@ public class MobActor : Actor
break;
case eSkillExtraType.PerHPBuff_SPD:
{
if (!dic_ccValue.ContainsKey(eCC.ATKSPD_Up))
dic_ccValue.Add(eCC.ATKSPD_Up, 0f);
if (!dic_ccValue.ContainsKey(eCC.MOVSPD_Up))
dic_ccValue.Add(eCC.MOVSPD_Up, 0f);
var maxHP = Get_MaxHP();
var currentHP = Get_HP();
float hpLostPercentage = (float)((maxHP - currentHP) / maxHP); // 체력 감소 비율 (0.0 ~ 1.0)
int perval1 = (int)(hpLostPercentage / temp.f_ExtraValue1);
// 체력 val1 감소당 val2 증가
if (!dic_ccValue.ContainsKey(eCC.ATKSPD_Up)) dic_ccValue.Add(eCC.ATKSPD_Up, 0f);
if (!dic_ccValue.ContainsKey(eCC.MOVSPD_Up)) dic_ccValue.Add(eCC.MOVSPD_Up, 0f);
int perval1 = (int)(Get_hpLostPercentage() / temp.f_ExtraValue1);
if (temp.f_ExtraValue1 > 0) // val1이 0이 아니어야 함 (0으로 나누는 오류 방지)
{
dic_ccValue[eCC.ATKSPD_Up] = perval1 * temp.f_ExtraValue2;
dic_ccValue[eCC.MOVSPD_Up] = perval1 * temp.f_ExtraValue3;
}
if (perval1 > 0)
Show_TargetEffect_NoTime(eCC.PerHPBuff_SPD, skilltype.e_SkillEffect, skilltype.e_EffectLocation);
}
break;
}
@ -611,6 +605,29 @@ public class MobActor : Actor
}
}
void Show_TargetEffect_NoTime(eCC cc, string effectprefab, eEffectLocation location)
{
if (!dic_CCEffect.ContainsKey(cc) || !dic_CCEffect[cc].IsMyEffect(this))
InGameInfo.Ins.Show_Effect(effectprefab, this, location, 1000000,
effect =>
{
if (!dic_CCEffect.ContainsKey(cc))
dic_CCEffect.Add(cc, null);
dic_CCEffect[cc] = effect;
});
else if (!dic_CCEffect[cc].isActiveAndEnabled)
{
dic_CCEffect[cc].gameObject.SetActive(true);
dic_CCEffect[cc].Reset_Time(100000);
}
}
float Get_hpLostPercentage()
{
var maxHP = Get_MaxHP();
return (float)((maxHP - Get_HP()) / maxHP); // 체력 감소 비율 (0.0 ~ 1.0)
}
void Reset_Extra()
{
// 1. 패시브 스킬이 존재하는지 확인

View File

@ -9,7 +9,7 @@ public enum eSpawnerType { Random, Order, Phase, PhaseAllKill }
public enum eAnim { Idle, Run, Die, Hit, Dodge, Attack, Attack2, Attack3, Attack4, Skill }
public enum eCC { BossDamage, MobDamage, PiercingBuff, ATK_Up, ATKSPD_Up, MOVSPD_Up, ATKSPD_Down, MOVSPD_Down, DEF_Down, M_DEF_Down, // 움직임 자유
STR_Mul_Up, DEX_Mul_Up, INT_Mul_Up, LUK_Mul_Up, Burn, Blooding, Poison, ManaShield, MPRecoverTime, // 움직임 자유
Cri_Up, MultiShot, ATK_Down, SilenceCurse, Aggro, Cure, Barrier, // 움직임 자유
Cri_Up, MultiShot, ATK_Down, SilenceCurse, Aggro, Cure, Barrier, PerHPBuff_SPD, // 움직임 자유
Freeze, Attract, KnockedAirborne, KnockBack, Stun, // 움직임 제한