krake a
This commit is contained in:
parent
bcd2206d4e
commit
eaf25bd499
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -65,8 +65,8 @@ public class Actor : MyCoroutine
|
||||||
protected Renderer[] arr_Renderer;
|
protected Renderer[] arr_Renderer;
|
||||||
protected TurnOff_GO[] arr_Effects;
|
protected TurnOff_GO[] arr_Effects;
|
||||||
protected Dictionary<eSkillExtraType, bool> dic_skillextra = new Dictionary<eSkillExtraType, bool>(); // 부가 효과 적용 여부
|
protected Dictionary<eSkillExtraType, bool> dic_skillextra = new Dictionary<eSkillExtraType, bool>(); // 부가 효과 적용 여부
|
||||||
//protected Dictionary<eSkillExtraType, int> dic_skillextraCount = new Dictionary<eSkillExtraType, int>(); // 부가 효과 적용 여부
|
|
||||||
protected Dictionary<eCC, CCData> dic_ccData = new Dictionary<eCC, CCData>();
|
protected Dictionary<eCC, CCData> dic_ccData = new Dictionary<eCC, CCData>();
|
||||||
|
protected Dictionary<eCC, float> dic_ccValue = new Dictionary<eCC, float>();
|
||||||
protected Dictionary<eCC, Dictionary<Actor, double>> dic_ccAddRate = new Dictionary<eCC, Dictionary<Actor, double>>();
|
protected Dictionary<eCC, Dictionary<Actor, double>> dic_ccAddRate = new Dictionary<eCC, Dictionary<Actor, double>>();
|
||||||
protected Dictionary<eCC, TurnOff_GO> dic_CCEffect = new Dictionary<eCC, TurnOff_GO>();
|
protected Dictionary<eCC, TurnOff_GO> dic_CCEffect = new Dictionary<eCC, TurnOff_GO>();
|
||||||
protected ObscuredInt _Reincarnation;
|
protected ObscuredInt _Reincarnation;
|
||||||
|
|
@ -84,6 +84,8 @@ public class Actor : MyCoroutine
|
||||||
dic_ccData.Add(i, new CCData());
|
dic_ccData.Add(i, new CCData());
|
||||||
foreach (var item in dic_ccData)
|
foreach (var item in dic_ccData)
|
||||||
item.Value.Init();
|
item.Value.Init();
|
||||||
|
foreach (var key in dic_ccValue.Keys.ToList())
|
||||||
|
dic_ccValue[key] = 0f;
|
||||||
dic_ccAddRate.Clear();
|
dic_ccAddRate.Clear();
|
||||||
foreach (var key in dic_skillextra.Keys.ToList())
|
foreach (var key in dic_skillextra.Keys.ToList())
|
||||||
dic_skillextra[key] = false;
|
dic_skillextra[key] = false;
|
||||||
|
|
@ -1604,6 +1606,8 @@ public class Actor : MyCoroutine
|
||||||
var speed = m_NavSpeed;
|
var speed = m_NavSpeed;
|
||||||
if (dic_ccData[eCC.MOVSPD_Up].CCTime > 0)
|
if (dic_ccData[eCC.MOVSPD_Up].CCTime > 0)
|
||||||
speed += speed * (float)dic_ccData[eCC.MOVSPD_Up].CCDmg;
|
speed += speed * (float)dic_ccData[eCC.MOVSPD_Up].CCDmg;
|
||||||
|
if (dic_ccValue.ContainsKey(eCC.MOVSPD_Up))
|
||||||
|
speed += speed * dic_ccValue[eCC.MOVSPD_Up];
|
||||||
if (dic_ccData[eCC.MOVSPD_Down].CCTime > 0)
|
if (dic_ccData[eCC.MOVSPD_Down].CCTime > 0)
|
||||||
speed -= speed * (float)dic_ccData[eCC.MOVSPD_Down].CCDmg;
|
speed -= speed * (float)dic_ccData[eCC.MOVSPD_Down].CCDmg;
|
||||||
return speed;
|
return speed;
|
||||||
|
|
@ -1694,9 +1698,11 @@ public class Actor : MyCoroutine
|
||||||
|
|
||||||
var aniname = MyValue.Get_AnimName(eAnim.Attack + _attack);
|
var aniname = MyValue.Get_AnimName(eAnim.Attack + _attack);
|
||||||
m_animation.speed = _as <= 0f ? 1f : _as;
|
m_animation.speed = _as <= 0f ? 1f : _as;
|
||||||
if (dic_ccData.ContainsKey(eCC.ATKSPD_Up) && dic_ccData[eCC.ATKSPD_Up].CCTime > 0)
|
if (dic_ccData.ContainsKey(eCC.ATKSPD_Up))
|
||||||
m_animation.speed += m_animation.speed * (float)dic_ccData[eCC.ATKSPD_Up].CCDmg;
|
m_animation.speed += m_animation.speed * (float)dic_ccData[eCC.ATKSPD_Up].CCDmg;
|
||||||
if (dic_ccData.ContainsKey(eCC.ATKSPD_Down) && dic_ccData[eCC.ATKSPD_Down].CCTime > 0f)
|
if (dic_ccValue.ContainsKey(eCC.ATKSPD_Up))
|
||||||
|
m_animation.speed += m_animation.speed * dic_ccValue[eCC.ATKSPD_Up];
|
||||||
|
if (dic_ccData.ContainsKey(eCC.ATKSPD_Down))
|
||||||
m_animation.speed -= m_animation.speed * (float)dic_ccData[eCC.ATKSPD_Down].CCDmg;
|
m_animation.speed -= m_animation.speed * (float)dic_ccData[eCC.ATKSPD_Down].CCDmg;
|
||||||
AnimationPlay(aniname);
|
AnimationPlay(aniname);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -584,6 +584,28 @@ public class MobActor : Actor
|
||||||
Check_Battle();
|
Check_Battle();
|
||||||
}
|
}
|
||||||
break;
|
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 (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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ public enum eSkillType { Active, Passive, JobPassive, MobPassive }
|
||||||
public enum eSkillTarget { Enemy, Self, SelfEnemy, Team, Pet }
|
public enum eSkillTarget { Enemy, Self, SelfEnemy, Team, Pet }
|
||||||
public enum eSkillExtraType { None, Frost, Cure, Freezing, Blood, Poison, Burn, Stun, Slow, StatUp, ManaShield, SwordShield,
|
public enum eSkillExtraType { None, Frost, Cure, Freezing, Blood, Poison, Burn, Stun, Slow, StatUp, ManaShield, SwordShield,
|
||||||
SpeedUp, DefenceDecrease, Aggro, VampirHeal, Knockback, Airborne, Curse, ManaBurn, HPBurn,
|
SpeedUp, DefenceDecrease, Aggro, VampirHeal, Knockback, Airborne, Curse, ManaBurn, HPBurn,
|
||||||
SilenceCurse, Barrier, Reincarnation, Blind }
|
SilenceCurse, Barrier, Reincarnation, Blind, PerHPBuff_SPD, }
|
||||||
|
|
||||||
public class SkillListTableData : TableDataBase
|
public class SkillListTableData : TableDataBase
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue