52 lines
2.1 KiB
C#
52 lines
2.1 KiB
C#
using UnityEngine;
|
|
|
|
public class Skill_CurseofWitch : ProjectileBase
|
|
{
|
|
SkillListTableData awaken2_skilldata = new SkillListTableData();
|
|
|
|
public override void Set(ProjectileData _data)
|
|
{
|
|
base.Set(_data);
|
|
|
|
awaken2_skilldata.e_SkillExtraType = eSkillExtraType.Blood;
|
|
awaken2_skilldata.f_ExtraValue1 = Get_AwakenData(2, 1);
|
|
awaken2_skilldata.f_ExtraValue2 = Get_AwakenData(2, 2);
|
|
awaken2_skilldata.f_ExtraValue3 = Get_AwakenData(2, 3);
|
|
awaken2_skilldata.f_ExtraValue4 = 1f;
|
|
|
|
if (!DSUtil.CheckNull(_data.target))
|
|
{
|
|
var dinfo = Get_DamageInfo(false, false);
|
|
_data.target.Get_Damage(dinfo);
|
|
var curseTime = _data.m_SkillListTableData.f_ExtraValue1;
|
|
_data.target.Buff_or_Debuff(eCC.ATKSPD_Down, curseTime, _data.Get_SkillDamagePercent());
|
|
|
|
if (_data.target.IsSkillExtraStatus(eSkillExtraType.Curse))
|
|
{
|
|
if (IsStep(1)) _data.target.Buff_or_Debuff(eCC.MOVSPD_Down, curseTime, Get_AwakenData(1, 1));
|
|
if (IsStep(2))
|
|
{
|
|
var copydinfo = dinfo.Copy();
|
|
copydinfo.Set_Extra(eSkillExtraType.Blood);
|
|
copydinfo.Beater_pd.m_SkillListTableData = awaken2_skilldata;
|
|
_data.target.Check_Extra(copydinfo);
|
|
}
|
|
if (IsStep(3) && _data.target.IsSkillExtraStatus(eSkillExtraType.Curse))
|
|
{
|
|
{
|
|
var def = (int)_data.target.Get_StatInfo().Get_Stat(eStat.FinalDef);
|
|
var reducedef = Mathf.Abs(def) * Get_AwakenData(3, 1);
|
|
_data.target.Buff_or_Debuff(eCC.DEF_Down, curseTime, reducedef);
|
|
}
|
|
{
|
|
var m_def = (int)_data.target.Get_StatInfo().Get_Stat(eStat.FinalMDef);
|
|
var reducem_def = Mathf.Abs(m_def) * Get_AwakenData(3, 1);
|
|
_data.target.Buff_or_Debuff(eCC.M_DEF_Down, curseTime, reducem_def);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Off(true);
|
|
}
|
|
} |