아이스 골렘 스킬1 스턴 추가

This commit is contained in:
Ino 2025-02-20 10:00:59 +09:00
parent e02b0b30c4
commit a69366cbbb
4 changed files with 23 additions and 19 deletions

View File

@ -10,9 +10,10 @@ public class Boss_IceGolem : BossMobActor
public float Skill1Speed = 5f;
[Header("스킬1 데미지")]
public float Skill1Dmg = 3.5f;
[Header("스킬1 스턴 시간")]
public float Skill1StunTime = 2f;
float m_skill1cooltime;
BossCCData skill1CCdata = new BossCCData { m_eSkillExtraType1 = eSkillExtraType.Stun, m_LifeTime1 = 2f };
protected override void Update()
{
@ -40,4 +41,9 @@ public class Boss_IceGolem : BossMobActor
protected override float Get_Skill1Dmg() { return Skill1Dmg; }
protected override Vector3 Get_Skill1Pos() { return Get_Center_position(); }
protected override void Set_Skill1Projectile(ProjectileBase pb)
{
var pd = pb.Get_ProjectTileData();
pd.Set_SkillExtra_MakeSkillListTableData(eSkillExtraType.Stun, Skill1StunTime);
}
}

View File

@ -2,7 +2,6 @@ using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using static UnityEngine.GraphicsBuffer;
public class BossMobActor : MobActor
{
@ -90,29 +89,21 @@ public class BossMobActor : MobActor
protected virtual float Get_Skill1Dmg() { return 1f; }
protected virtual Vector3 Get_Skill1Pos() { return Get_CenterPositionFoward(); }
protected virtual BossCCData Get_Skill1CCData() { return null; }
protected virtual void Set_Skill1Projectile(ProjectileBase pb) { }
protected virtual void BossProjectile2(string s)
{
if (ProjectileInfo.ProjectileInfoOn)
ProjectileInfo.Ins.Shoot_Projectile(m_MonsterTableData.s_Porjectile2, this, m_Target, Get_Skill1Dmg(), Get_Skill1Pos(),
m_MonsterTableData.f_ProjectileLifeTime2,
pb =>
{
var ccData = Get_Skill1CCData();
if (!DSUtil.CheckNull(ccData))
{
var pd = pb.Get_ProjectTileData();
pd.list_eSkillExtraType = ccData.list_eSkillExtraType;
}
});
m_MonsterTableData.f_ProjectileLifeTime2, pb => { Set_Skill1Projectile(pb); });
}
protected virtual float Get_Skill2Dmg() { return 1f; }
protected virtual Vector3 Get_Skill2Pos() { return Get_CenterPositionFoward(); }
protected virtual void Set_Skill2Projectile(ProjectileBase pb) { }
protected virtual void BossProjectile3(string s)
{
if (ProjectileInfo.ProjectileInfoOn)
ProjectileInfo.Ins.Shoot_Projectile(m_MonsterTableData.s_Porjectile3, this, m_Target, Get_Skill2Dmg(), Get_Skill2Pos(),
m_MonsterTableData.f_ProjectileLifeTime3);
m_MonsterTableData.f_ProjectileLifeTime3, pb => { Set_Skill2Projectile(pb); });
}
protected void Run_byUseSkill(float range, float speed, Action<bool> moveend)

View File

@ -107,6 +107,18 @@ public class ProjectileData
pd.CC_AddVal2 = CC_AddVal2;
pd.DamageArea = DamageArea;
}
public void Set_SkillExtra_MakeSkillListTableData(eSkillExtraType skillExtraType, float lifetime, float ccRate = 1f)
{
e_SkillExtraType = skillExtraType;
m_skillTypeConfigTable = table_skilltypeconfig.Ins.Get_Data_orNull(skillExtraType);
m_SkillListTableData = new SkillListTableData
{
e_SkillExtraType = skillExtraType,
f_ExtraValue1 = lifetime,
f_ExtraValue4 = ccRate
};
}
}
public class ProjectileBase : MonoBehaviour

View File

@ -237,11 +237,6 @@ public class CCData
public double CCReduceTime;// { get { return _CCReduceTime; } set { _CCReduceTime = value; _CCReduceTime.RandomizeCryptoKey(); } }
public float CC1Sec;
}
public class BossCCData
{
public List<eSkillExtraType> list_eSkillExtraType = new List<eSkillExtraType>();
public List<float> list_LifeTime = new List<float>();
}
public class CountLevelData
{