Angez_B 보스 기본 세팅, 기본 공격, 빛의 추종자
This commit is contained in:
parent
c9c15917b6
commit
ccbd389e85
|
|
@ -199,7 +199,7 @@ AnimatorStateMachine:
|
|||
m_Position: {x: 360, y: -240, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 110209958}
|
||||
m_Position: {x: 100, y: -180, z: 0}
|
||||
m_Position: {x: 360, y: -330, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 110274110}
|
||||
m_Position: {x: 360, y: -170, z: 0}
|
||||
|
|
@ -216,7 +216,7 @@ AnimatorStateMachine:
|
|||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 120, y: -340, z: 0}
|
||||
m_EntryPosition: {x: 120, y: -276, z: 0}
|
||||
m_ExitPosition: {x: 120, y: -80, z: 0}
|
||||
m_ExitPosition: {x: 120, y: -210, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 110209958}
|
||||
--- !u!1101 &35596561822463083
|
||||
|
|
|
|||
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.
|
|
@ -2459,7 +2459,7 @@ Transform:
|
|||
m_GameObject: {fileID: 2138797020834234801}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 78.1, y: 0.01, z: 47.6}
|
||||
m_LocalPosition: {x: 106.8, y: 0.01, z: 47.6}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
|
|
@ -2477,7 +2477,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 935c913087b349141aa632be4f8c2689, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
n_MonsterID: 10008
|
||||
n_MonsterID: 10009
|
||||
n_SpawnerId: 1
|
||||
--- !u!1 &2246745228298233982
|
||||
GameObject:
|
||||
|
|
|
|||
|
|
@ -503,8 +503,8 @@ GameObject:
|
|||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3336133727429952487}
|
||||
- component: {fileID: -3316453270984938914}
|
||||
- component: {fileID: 3336133727422999559}
|
||||
- component: {fileID: -6831191723551670216}
|
||||
- component: {fileID: -8564066074108492486}
|
||||
- component: {fileID: -6641780185587953727}
|
||||
- component: {fileID: 1529792586914042084}
|
||||
|
|
@ -525,13 +525,48 @@ Transform:
|
|||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_LocalScale: {x: 3, y: 3, z: 3}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3336133727429952485}
|
||||
- {fileID: 3336133727429952501}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &-3316453270984938914
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3336133727430254535}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5a5b29b1068015b4ca885a46b129c92a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
gos_Effect: []
|
||||
m_Role: 0
|
||||
m_SubRole: 0
|
||||
m_AttackType: 0
|
||||
m_animation: {fileID: 0}
|
||||
_target: {fileID: 0}
|
||||
isTarget: 0
|
||||
tf_MeeleAttackPos: {fileID: 0}
|
||||
MagicID: 0
|
||||
HealCount: 0
|
||||
HealRate: 0.1
|
||||
Skill1CoolTime: 20
|
||||
Skill1Dmg: 2.8
|
||||
Skill1DelayTime: 0.5
|
||||
Skill1Count: 10
|
||||
Skill1StunTime: 0.3
|
||||
Perforation_Line: 0
|
||||
Skill2CoolTime: 15
|
||||
Skill2ChargingTime: 3
|
||||
Skill2LifeTime: 2.5
|
||||
Skill2Dmg: 1.2
|
||||
Skill2DelayTime: 0.5
|
||||
Skill2StunTime: 0.2
|
||||
--- !u!95 &3336133727422999559
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
|
|
@ -553,29 +588,6 @@ Animator:
|
|||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!114 &-6831191723551670216
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3336133727430254535}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f985004e8ad29cf428f80c433e48ab9c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
gos_Effect: []
|
||||
m_Role: 0
|
||||
m_SubRole: 0
|
||||
m_AttackType: 0
|
||||
m_animation: {fileID: 0}
|
||||
_target: {fileID: 0}
|
||||
isTarget: 0
|
||||
tf_MeeleAttackPos: {fileID: 0}
|
||||
MagicID: 0
|
||||
HealCount: 0
|
||||
HealRate: 0.1
|
||||
--- !u!65 &-8564066074108492486
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -595,7 +607,7 @@ BoxCollider:
|
|||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1.3617501, y: 0.7951524, z: 0.59419984}
|
||||
m_Size: {x: 0.9, y: 0.7951524, z: 0.3}
|
||||
m_Center: {x: -0.00000011920929, y: 0.6431725, z: -0.013790637}
|
||||
--- !u!195 &-6641780185587953727
|
||||
NavMeshAgent:
|
||||
|
|
@ -606,7 +618,7 @@ NavMeshAgent:
|
|||
m_GameObject: {fileID: 3336133727430254535}
|
||||
m_Enabled: 1
|
||||
m_AgentTypeID: 0
|
||||
m_Radius: 0.25
|
||||
m_Radius: 0.1
|
||||
m_Speed: 4.5
|
||||
m_Acceleration: 140
|
||||
avoidancePriority: 51
|
||||
|
|
|
|||
|
|
@ -0,0 +1,167 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &2275002850514248236
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7700533061093772912}
|
||||
- component: {fileID: -5702343879196299615}
|
||||
- component: {fileID: -8071003135052638929}
|
||||
m_Layer: 0
|
||||
m_Name: Angez_B_Attack
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7700533061093772912
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2275002850514248236}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3435209912421788877}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!65 &-5702343879196299615
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2275002850514248236}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &-8071003135052638929
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2275002850514248236}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b3062df6743c3a048910d52c2f80e25b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Pierce: 0
|
||||
str_HitEffect: Effect_Hit_IceGolem_Attack
|
||||
m_ShowTimeOverEffect: 1
|
||||
m_Direction: 0
|
||||
--- !u!1001 &1964556433323407020
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 7700533061093772912}
|
||||
m_Modifications:
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236206, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Projectiles_frost
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3814496778439236206, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 0e97097ebbad225488a0264463560ec6, type: 3}
|
||||
--- !u!4 &3435209912421788877 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3814496778439236193, guid: 0e97097ebbad225488a0264463560ec6,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1964556433323407020}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9623e3c2354390347a21d834e57f301b
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -80,6 +80,7 @@ public class Actor : MyCoroutine
|
|||
_Reincarnation.RandomizeCryptoKey();
|
||||
}
|
||||
}
|
||||
protected int n_SummonCount;
|
||||
protected float NoDmgTime = 0f;
|
||||
|
||||
protected void Init_CC()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,107 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
public class Boss_Angez_B : BossMobActor
|
||||
{
|
||||
[Header("스킬1 쿨타임")]
|
||||
public float Skill1CoolTime = 20f;
|
||||
[Header("스킬1 데미지")]
|
||||
public float Skill1Dmg = 2.8f;
|
||||
[Header("스킬1 번개 경고 시간")]
|
||||
public float Skill1DelayTime = 0.5f;
|
||||
[Header("스킬1 번개 횟수")]
|
||||
public int Skill1Count = 10;
|
||||
[Header("스킬1 기절 시간")]
|
||||
public float Skill1StunTime = 0.3f;
|
||||
[Header("---------------------------------------")]
|
||||
public bool Perforation_Line;
|
||||
[Header("스킬2 쿨타임")]
|
||||
public float Skill2CoolTime = 15f;
|
||||
[Header("스킬2 차징시간")]
|
||||
public float Skill2ChargingTime = 3f;
|
||||
[Header("스킬2 유지 시간")]
|
||||
public float Skill2LifeTime = 2.5f;
|
||||
[Header("스킬2 데미지")]
|
||||
public float Skill2Dmg = 1.2f;
|
||||
[Header("스킬2 데미지 딜레이")]
|
||||
public float Skill2DelayTime = 0.5f;
|
||||
[Header("스킬2 기절 시간")]
|
||||
public float Skill2StunTime = 0.2f;
|
||||
|
||||
SkillListTableData m_Stun1 = new SkillListTableData { e_SkillExtraType = eSkillExtraType.Stun, f_ExtraValue4 = 1f };
|
||||
SkillListTableData m_Stun2 = new SkillListTableData { e_SkillExtraType = eSkillExtraType.Stun, f_ExtraValue4 = 1f };
|
||||
|
||||
public override void Set(MonsterTableData mobtable, Vector3 pos, Action<int> actDie, int order)
|
||||
{
|
||||
base.Set(mobtable, pos, actDie, order);
|
||||
|
||||
Load_Indicator("BossFlowerDryad_Skill2_Indicator", 0);
|
||||
|
||||
m_Stun1.f_ExtraValue1 = Skill1StunTime;
|
||||
m_Stun2.f_ExtraValue1 = Skill2StunTime;
|
||||
|
||||
CoolTime_Skill1 = 1f;
|
||||
CoolTime_Skill2 = 2f;
|
||||
}
|
||||
|
||||
protected override void Init(bool initSkill1CoolTime, bool initSkill2CoolTime)
|
||||
{
|
||||
base.Init(initSkill1CoolTime, initSkill2CoolTime);
|
||||
if (initSkill1CoolTime) CoolTime_Skill1 = Skill1CoolTime;
|
||||
if (initSkill2CoolTime) CoolTime_Skill2 = Skill2CoolTime;
|
||||
}
|
||||
|
||||
protected override void Update()
|
||||
{
|
||||
base.Update();
|
||||
if (IsDead() || IsStop) return;
|
||||
|
||||
if (UseSkillIndex == 1 && MobStatus != eMobStatus.Skill)
|
||||
StartCoroutine(Co_Skill1());
|
||||
else if (UseSkillIndex == 2 && MobStatus != eMobStatus.Skill)
|
||||
StartCoroutine(Co_Skill2());
|
||||
}
|
||||
|
||||
IEnumerator Co_Skill1()
|
||||
{
|
||||
Change_MobStatus(eMobStatus.Skill);
|
||||
AnimationPlay("boss_skill1");
|
||||
yield return new WaitForSeconds(0.5f);
|
||||
Check_Battle();
|
||||
Init(true, false);
|
||||
}
|
||||
protected override float Get_Skill1Dmg() { return Skill1Dmg; }
|
||||
protected override void Set_Skill1Projectile(ProjectileBase pb)
|
||||
{
|
||||
var pd = pb.Get_ProjectTileData();
|
||||
pd.e_SkillExtraType = m_Stun1.e_SkillExtraType;
|
||||
pd.m_skillTypeConfigTable = table_skilltypeconfig.Ins.Get_Data_orNull(pd.e_SkillExtraType);
|
||||
pd.m_SkillListTableData = m_Stun1;
|
||||
}
|
||||
|
||||
IEnumerator Co_Skill2()
|
||||
{
|
||||
Change_MobStatus(eMobStatus.Skill);
|
||||
AnimationPlay("boss_skill2");
|
||||
list_indicator[0].SetActive(true);
|
||||
list_indicator[0].transform.position = Get_position();
|
||||
|
||||
yield return new WaitForSeconds(Skill2ChargingTime);
|
||||
list_indicator[0].SetActive(false);
|
||||
AnimationPlay("boss_skill2attack");
|
||||
|
||||
yield return new WaitForSeconds(3f);
|
||||
Check_Battle();
|
||||
Init(false, true);
|
||||
}
|
||||
|
||||
protected override float Get_Skill2Dmg() { return Skill2Dmg; }
|
||||
protected override void Set_Skill2Projectile(ProjectileBase pb)
|
||||
{
|
||||
var pd = pb.Get_ProjectTileData();
|
||||
pd.e_SkillExtraType = m_Stun2.e_SkillExtraType;
|
||||
pd.m_skillTypeConfigTable = table_skilltypeconfig.Ins.Get_Data_orNull(pd.e_SkillExtraType);
|
||||
pd.m_SkillListTableData = m_Stun2;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5a5b29b1068015b4ca885a46b129c92a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -25,6 +25,7 @@ public class MobActor : Actor
|
|||
protected NoSeeLongDMob m_NoSeeLongDMob;
|
||||
bool useMeeleAttackPos;
|
||||
bool isNSLDMob;
|
||||
List<Actor> list_summon = new List<Actor>();
|
||||
|
||||
protected override void Start()
|
||||
{
|
||||
|
|
@ -117,6 +118,7 @@ public class MobActor : Actor
|
|||
Set_Warp(OriginalPos);
|
||||
InGameInfo.Ins.Show_Effect("Effect_MonsterSpawn", Get_position());
|
||||
Reset_Extra();
|
||||
list_summon.ForEach(f => f.Off());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -476,6 +478,44 @@ public class MobActor : Actor
|
|||
// if (allies[i].Get_Target() == null)
|
||||
// allies[i].Change_Target(false, m_Target, true);
|
||||
}
|
||||
|
||||
if (m_MonsterTableData.n_PassiveSkillID > 0 && !IsDead())
|
||||
{
|
||||
var skilldata = table_skilllist.Ins.Get_Data_orNull(m_MonsterTableData.n_PassiveSkillID);
|
||||
if (skilldata.e_SkillEnhance == eSkillEnhance.SummonMob)
|
||||
{
|
||||
int perval1 = (int)(Get_hpLostPercentage() / skilldata.f_ExtraValue1);
|
||||
if (n_SummonCount < perval1)
|
||||
{
|
||||
++n_SummonCount;
|
||||
if (list_summon.Count >= n_SummonCount * skilldata.f_ExtraValue2)
|
||||
{
|
||||
int startindex = (n_SummonCount - 1) * (int)skilldata.f_ExtraValue2;
|
||||
for (int i = startindex; i < skilldata.f_ExtraValue2; i++)
|
||||
list_summon[i].On_Regen();
|
||||
}
|
||||
else
|
||||
{
|
||||
var mobData = table_monsterlist.Ins.Get_Data_orNull((int)skilldata.f_ExtraValue4);
|
||||
for (int i = 0; i < skilldata.f_ExtraValue2; i++)
|
||||
{
|
||||
AddrResourceMgr.Ins.LoadObject<GameObject>(mobData.s_MonsterPrefab, handle =>
|
||||
{
|
||||
var mob = DSUtil.Get_Clone<MobActor>(handle.Result, transform.parent);
|
||||
AddrResourceMgr.Ins.Set_AddressableReleaseSelf(mob.gameObject);
|
||||
ActorInfo.Ins.Add_Actor(mob, eRole.Mob, m_MonsterAppearData.n_SpawnerID, mobData.s_MonsterPrefab);
|
||||
mob.Set(true, null, null, m_MonsterAppearData.n_SpawnerID, false);
|
||||
mob.Set(mobData, DSUtil.Get_RandomPos_onNavMesh(Get_position(), 2f), null, 0);
|
||||
mob.m_SubRole = eSubRol.Summon;
|
||||
mob.On_Regen();
|
||||
mob.Get_StatInfo().Reset_byStatInfo(Get_StatInfo(), skilldata.f_ExtraValue3);
|
||||
list_summon.Add(mob);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public override void Change_Target(bool _ispc, Actor target, bool _ChangeTargetByHit = false)
|
||||
{
|
||||
|
|
@ -711,18 +751,16 @@ public class MobActor : Actor
|
|||
|
||||
void Reset_Extra()
|
||||
{
|
||||
// 1. 패시브 스킬이 존재하는지 확인
|
||||
if (m_MonsterTableData.n_PassiveSkillID <= 0)
|
||||
return;
|
||||
|
||||
var pSkill = table_skilllist.Ins.Get_Data_orNull(m_MonsterTableData.n_PassiveSkillID);
|
||||
|
||||
// 2. dic_skill에 추가할 때 예외 방지
|
||||
if (!dic_skill.ContainsKey(pSkill))
|
||||
dic_skill[pSkill] = 0;
|
||||
n_Reincarnation = 0;
|
||||
n_SummonCount = n_Reincarnation = 0;
|
||||
list_summon.ForEach(f => f.Off());
|
||||
|
||||
// 3. 배리어 스킬이면 값 초기화
|
||||
switch (pSkill.e_SkillExtraType)
|
||||
{
|
||||
case eSkillExtraType.Barrier:
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ public enum eDungeon { None, d1_Mimic, d2_Maze, d3_Nightmare, d4_Wave }
|
|||
public enum eDifficult { Normal, Hard, NightMare, Hell, Max }
|
||||
public enum eUnlockCondition { None, BossKill, GetItem, SealBreaking, ChapterClear, }
|
||||
public enum eRole { Mob, Pet, PC, Fairy, EnemyPC, Farmer, Summon, BattleNPC, OBJ, EnemyPet, EnemySummon }
|
||||
public enum eSubRol { None, Elite, Boss, Mimic, }
|
||||
public enum eSubRol { None, Elite, Boss, Mimic, Summon }
|
||||
public enum eClassType { SwordMan, Archer, Fighter, Mage }
|
||||
public enum eSpawnerType { Random, Order, Phase, PhaseAllKill }
|
||||
public enum eAnim { Idle, Run, Die, Hit, Dodge, Attack, Attack2, Attack3, Attack4, Skill }
|
||||
|
|
@ -241,7 +241,7 @@ public enum eSkillEnhance
|
|||
Dmg_Decrease, Dmg_Up, CRI_Up, SkillCoolTime, PetStat_Up,
|
||||
|
||||
DMG_TO_HP, SkillDmg_DECREASE, BaseDmg_DECREASE, HP_REGEN_Per1Sec, ATK_FIXED, DMG_DECREASE, StartleBehind, DeadSkin,
|
||||
RageOfFairy,
|
||||
RageOfFairy, SummonMob,
|
||||
|
||||
Newbie,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -485,6 +485,12 @@ public class ActorStatInfo
|
|||
// UI 표시
|
||||
if (showchange && m_Role == eRole.PC && !DSUtil.CheckNull(StatChangeUI.Ins)) StatChangeUI.Ins.Set(false, dic_StatValue);
|
||||
}
|
||||
public void Reset_byStatInfo(ActorStatInfo stat, float rate)
|
||||
{
|
||||
var keys = new List<eStat>(dic_StatValue.Keys);
|
||||
foreach (var key in keys)
|
||||
Set_Stat(key, stat.Get_Stat(key) * rate);
|
||||
}
|
||||
void Set_GlobalValue()
|
||||
{
|
||||
Set_Stat(true, eStat.ATK, table_GlobalValue.Ins.Get_Float("ATK"));
|
||||
|
|
|
|||
Loading…
Reference in New Issue