diff --git a/Assets/Ino_nerdnavis.txt b/Assets/Ino_nerdnavis.txt index 5459f0859..ea648ac1c 100644 --- a/Assets/Ino_nerdnavis.txt +++ b/Assets/Ino_nerdnavis.txt @@ -67,4 +67,9 @@ messageinfo 엄청 느린 버그 - 랭킹 15분마다 갱신 몬스터 웨이브 - - \ No newline at end of file + - 맵 최적화 + - 점수 (기본 1점만 주는 중) + - 결과 (점수 주고 점수가 일정 이상이면 보상 지급) + - 특정 오브젝트와 상호 작용 시 즉시 몬스터 생성 + - 몬스터 패트롤 거리 조절 + - 인게임 (골드 추가, 골드로 강화 추가) diff --git a/Assets/Res_Addr/MainUI/NewGameUI.prefab b/Assets/Res_Addr/MainUI/NewGameUI.prefab index 3af2708b0..9bc7aa798 100644 --- a/Assets/Res_Addr/MainUI/NewGameUI.prefab +++ b/Assets/Res_Addr/MainUI/NewGameUI.prefab @@ -60413,6 +60413,7 @@ RectTransform: m_Children: - {fileID: 2456301549684164057} - {fileID: 7974969539412733797} + - {fileID: 9181343301977338825} m_Father: {fileID: 4024768543662385231} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -60435,6 +60436,7 @@ MonoBehaviour: texts: - {fileID: 5901097485763957288} - {fileID: 210471489378237102} + m_Gold: {fileID: 8622814369425716572} --- !u!1 &5309185614019593321 GameObject: m_ObjectHideFlags: 0 @@ -104900,6 +104902,82 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_localtextKey: 222 +--- !u!1 &9130502448240892602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9181343301977338825} + - component: {fileID: 6143312310331753383} + - component: {fileID: 5414385158663453451} + m_Layer: 5 + m_Name: gold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9181343301977338825 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9130502448240892602} + 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: 4280608280561797897} + m_Father: {fileID: 5407752627791140537} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 200, y: -460} + m_SizeDelta: {x: 400, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6143312310331753383 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9130502448240892602} + m_CullTransparentMesh: 1 +--- !u!114 &5414385158663453451 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9130502448240892602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.78431374} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 65f581562538e304cbbfe8ee3beab09c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &9133757427431203074 GameObject: m_ObjectHideFlags: 0 @@ -123232,6 +123310,142 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b055af6abeefd104995ea4fdfcd9b939, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1001 &5811003198218442715 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 9181343301977338825} + m_Modifications: + - target: {fileID: 3590403063326329916, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_Name + value: MoneyForm + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_SizeDelta.x + value: 250 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_SizeDelta.y + value: 36 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 150bed98d110cb24292c78f18534decd, type: 3} +--- !u!224 &4280608280561797897 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 7765070059004976338, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + m_PrefabInstance: {fileID: 5811003198218442715} + m_PrefabAsset: {fileID: 0} +--- !u!114 &8622814369425716572 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -6408983573810322809, guid: 150bed98d110cb24292c78f18534decd, + type: 3} + m_PrefabInstance: {fileID: 5811003198218442715} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b055af6abeefd104995ea4fdfcd9b939, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &5869695977124080956 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Script/Character/Mob/MobActor.cs b/Assets/Script/Character/Mob/MobActor.cs index f3ed416dc..9df1200c1 100644 --- a/Assets/Script/Character/Mob/MobActor.cs +++ b/Assets/Script/Character/Mob/MobActor.cs @@ -355,6 +355,7 @@ public class MobActor : Actor var sdata = ServerInfo.Ins.m_ServerData; m_actDie?.Invoke(m_MonsterTableData.n_MonsterID); DungeonInfo.Ins.Add_WaveScore(1); // TODO 정인호 : 웨이브 점수 + DungeonInfo.Ins.Add_WaveGold(10); // TODO 정인호 : 웨이브 골드 sdata.Add_CollectionMobKill(m_MonsterTableData.n_MonsterID); base.Set_Die(); m_DieTime = m_MonsterAppearData.f_SpawnerDelay; diff --git a/Assets/Script/Info/DungeonInfo.cs b/Assets/Script/Info/DungeonInfo.cs index 39d2aecc0..0ffa1acd8 100644 --- a/Assets/Script/Info/DungeonInfo.cs +++ b/Assets/Script/Info/DungeonInfo.cs @@ -3,13 +3,14 @@ using System; using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEngine.SocialPlatforms.Impl; public class DungeonInfo : MonoBehaviourSingletonTemplate { public Action act_Time; public Action act_MobDieCount; public Action act_DamageUI; - public Action act_WaveScoreUI, act_WaveLifeUI; + public Action act_WaveScoreUI, act_WaveLifeUI, act_WaveGold; public float m_TotalTime; Dictionary dic_time = new Dictionary(); @@ -64,6 +65,15 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate set { _WaveLife = value; _WaveLife.RandomizeCryptoKey(); } } + protected ObscuredInt _WaveGold; + public int WaveGold + { + get { return _WaveGold; } + set { _WaveGold = value; _WaveGold.RandomizeCryptoKey(); } + } + + public Dictionary dic_WaveStat = new Dictionary + { { eMainStatType.STR, 0 }, { eMainStatType.DEX, 0 }, { eMainStatType.INT, 0 } }; eDungeon m_Dungeon; bool bTotalTimeUpdate = false; @@ -79,6 +89,10 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate act_Time = null; StopAllCoroutines(); Time.timeScale = 0f; + WaveGold = 0; + dic_WaveStat[eMainStatType.STR] = 0; dic_WaveStat[eMainStatType.STR].RandomizeCryptoKey(); + dic_WaveStat[eMainStatType.DEX] = 0; dic_WaveStat[eMainStatType.DEX].RandomizeCryptoKey(); + dic_WaveStat[eMainStatType.INT] = 0; dic_WaveStat[eMainStatType.INT].RandomizeCryptoKey(); Ingame_DungeonResult.Ins.Show_Result(win); } IEnumerator Co_Update_Time() @@ -241,7 +255,7 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate ++iteration; } } - public void Set_Wave(Action actscoreui, Action actlifeui) + public void Set_Wave(Action actscoreui, Action actlifeui, Action actgoldui) { WaveScore = 0; act_WaveScoreUI = actscoreui; @@ -250,6 +264,13 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate WaveLife = 3; act_WaveLifeUI = actlifeui; act_WaveLifeUI(WaveLife); + + WaveGold = 0; + dic_WaveStat[eMainStatType.STR] = 0; dic_WaveStat[eMainStatType.STR].RandomizeCryptoKey(); + dic_WaveStat[eMainStatType.DEX] = 0; dic_WaveStat[eMainStatType.DEX].RandomizeCryptoKey(); + dic_WaveStat[eMainStatType.INT] = 0; dic_WaveStat[eMainStatType.INT].RandomizeCryptoKey(); + act_WaveGold = actgoldui; + act_WaveGold(WaveGold); } public void Add_WaveScore(int score) { @@ -270,4 +291,12 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate Stop_Dungeon(false); } } + public void Add_WaveGold(int gold) + { + if (MyValue.MyChoiceMapData.Get_MapData().e_Dungeon == eDungeon.d4_Wave) + { + WaveGold += gold; + act_WaveGold(WaveGold); + } + } } \ No newline at end of file diff --git a/Assets/Script/UI/Ingame/Dungeon/Ingame_Dungeon.cs b/Assets/Script/UI/Ingame/Dungeon/Ingame_Dungeon.cs index 48de3b176..92d845cc5 100644 --- a/Assets/Script/UI/Ingame/Dungeon/Ingame_Dungeon.cs +++ b/Assets/Script/UI/Ingame/Dungeon/Ingame_Dungeon.cs @@ -36,7 +36,8 @@ public class Ingame_Dungeon : MonoBehaviour case eDungeon.d4_Wave: texts_base[0].text = $"{mapData.Get_Name()} {MyValue.MyChoiceMapData.n_Difficult}"; var dgindex = MyValue.MyChoiceMapData.Get_DungeonIndex(); - DungeonInfo.Ins.Set_Wave(ingame_Dungeons[dgindex].Set_TotalScore, ingame_Dungeons[dgindex].Set_TotalLife); + DungeonInfo.Ins.Set_Wave(ingame_Dungeons[dgindex].Set_TotalScore, ingame_Dungeons[dgindex].Set_TotalLife, + ingame_Dungeons[dgindex].Set_WaveGold); break; } } diff --git a/Assets/Script/UI/Ingame/Dungeon/Ingame_DungeonBase.cs b/Assets/Script/UI/Ingame/Dungeon/Ingame_DungeonBase.cs index b1d09738b..6056aee62 100644 --- a/Assets/Script/UI/Ingame/Dungeon/Ingame_DungeonBase.cs +++ b/Assets/Script/UI/Ingame/Dungeon/Ingame_DungeonBase.cs @@ -32,4 +32,5 @@ public class Ingame_DungeonBase : MonoBehaviour public virtual void Set_TotalDmg(double dmg) { } public virtual void Set_TotalScore(int score) { } public virtual void Set_TotalLife(int life) { } + public virtual void Set_WaveGold(int gold) { } } \ No newline at end of file diff --git a/Assets/Script/UI/Ingame/Dungeon/Ingame_Wave.cs b/Assets/Script/UI/Ingame/Dungeon/Ingame_Wave.cs index f55457fc2..59b23af8d 100644 --- a/Assets/Script/UI/Ingame/Dungeon/Ingame_Wave.cs +++ b/Assets/Script/UI/Ingame/Dungeon/Ingame_Wave.cs @@ -3,6 +3,7 @@ using TMPro; public class Ingame_Wave : Ingame_DungeonBase { public TextMeshProUGUI[] texts; // 0 포인트, 1 남은 목숨 + public MoneyForm m_Gold; public override void Set_TotalScore(int score) { @@ -12,4 +13,8 @@ public class Ingame_Wave : Ingame_DungeonBase { texts[1].text = life.ToString(); } + public override void Set_WaveGold(int gold) + { + m_Gold.Set(2, gold); + } } \ No newline at end of file diff --git a/Assets/Script/UI/Ingame/MainStatLvUpCard.cs b/Assets/Script/UI/Ingame/MainStatLvUpCard.cs index 16aaf9848..7b8e18d13 100644 --- a/Assets/Script/UI/Ingame/MainStatLvUpCard.cs +++ b/Assets/Script/UI/Ingame/MainStatLvUpCard.cs @@ -24,10 +24,17 @@ public class MainStatLvUpCard : CardBase Set_Price(); } - public override void Set_UI() + int Get_Lv() { var curmap = MyValue.MyChoiceMapData; - var lv = ServerInfo.Ins.m_ServerData.MapData_Get_StatLv(curmap.n_MapID, curmap.n_Difficult, m_Data.mainStatType); + int lv = curmap.Get_MapData().e_Dungeon == eDungeon.d4_Wave ? DungeonInfo.Ins.dic_WaveStat[m_Data.mainStatType] : + ServerInfo.Ins.m_ServerData.MapData_Get_StatLv(curmap.n_MapID, curmap.n_Difficult, m_Data.mainStatType); + return lv; + } + + public override void Set_UI() + { + int lv = Get_Lv(); labels[0].text = $"Lv.{lv}"; labels[1].text = $"{lv}"; // TODO 정인호 : 레벨당 스탯1 임시 } @@ -36,31 +43,48 @@ public class MainStatLvUpCard : CardBase { var price = Get_Price(); labels[2].text = NumberFormatter.FormatNumber(price); - if (ServerInfo.Ins.m_ServerData.Check_ItemAmount(eItem.Gold, price, 0, false)) - labels[2].color = Color.black; + + bool canLvUp = false; + var curmap = MyValue.MyChoiceMapData; + if (curmap.Get_MapData().e_Dungeon == eDungeon.d4_Wave) + canLvUp = DungeonInfo.Ins.WaveGold >= price; else - labels[2].color = Color.red; + canLvUp = ServerInfo.Ins.m_ServerData.Check_ItemAmount(eItem.Gold, price, 0, false); + + if (canLvUp) labels[2].color = Color.black; + else labels[2].color = Color.red; } - int Get_Price() - { - var curMap = MyValue.MyChoiceMapData; - var lv = ServerInfo.Ins.m_ServerData.MapData_Get_StatLv(curMap.n_MapID, curMap.n_Difficult, m_Data.mainStatType); - return (lv + 1) * 100; - } + int Get_Price() { return (Get_Lv() + 1) * 100; } public void OnClick_LvUp() { - var sdata = ServerInfo.Ins.m_ServerData; - if (sdata.Check_ItemAmount(eItem.Gold, Get_Price())) + var price = Get_Price(); + var curmap = MyValue.MyChoiceMapData; + if (curmap.Get_MapData().e_Dungeon == eDungeon.d4_Wave) { - sdata.Use_Item(eItem.Gold, Get_Price()); - var curMap = MyValue.MyChoiceMapData; - sdata.MapData_Add_StatLv(curMap.n_MapID, curMap.n_Difficult, m_Data.mainStatType); - Set_UI(); - Set_Price(); + if (DungeonInfo.Ins.WaveGold >= price) + { + DungeonInfo.Ins.Add_WaveGold(-price); + ++DungeonInfo.Ins.dic_WaveStat[m_Data.mainStatType]; + DungeonInfo.Ins.dic_WaveStat[m_Data.mainStatType].RandomizeCryptoKey(); + Set_UI(); + Set_Price(); + MyValue.Get_ActorStatInfoorNull(eRole.PC); + } + } + else + { + var sdata = ServerInfo.Ins.m_ServerData; + if (sdata.Check_ItemAmount(eItem.Gold, Get_Price())) + { + sdata.Use_Item(eItem.Gold, price); + sdata.MapData_Add_StatLv(curmap.n_MapID, curmap.n_Difficult, m_Data.mainStatType); + Set_UI(); + Set_Price(); - if (MyInfoUI.Ins != null) MyInfoUI.Ins.Set_MainStats(); + if (MyInfoUI.Ins != null) MyInfoUI.Ins.Set_MainStats(); + } } } } \ No newline at end of file diff --git a/Assets/Script/UI/NewGameUI.cs b/Assets/Script/UI/NewGameUI.cs index 7d248a189..b9e10a5ba 100644 --- a/Assets/Script/UI/NewGameUI.cs +++ b/Assets/Script/UI/NewGameUI.cs @@ -61,7 +61,7 @@ public class NewGameUI : MonoBehaviourSingletonTemplate break; case eGameMode.Dungeon: DSUtil.InActivateGameObjects(gos, 2); - gos_etc[0].SetActive(false); + gos_etc[0].SetActive(MyValue.MyChoiceMapData.Get_MapData().e_Dungeon == eDungeon.d4_Wave); DSUtil.InActivateGameObjects(gos_ingame, 1); Refresh_DungeonUI(); break; diff --git a/Assets/Script/Util/MyValue.cs b/Assets/Script/Util/MyValue.cs index 1c695652f..7c86c69f5 100644 --- a/Assets/Script/Util/MyValue.cs +++ b/Assets/Script/Util/MyValue.cs @@ -104,15 +104,6 @@ public static class MyValue } return 0; } - public static int Get_RandomID_byGrade(eItem item, eItemGrade grade) - { - var ids = Get_IDs_byGrade(grade); - return ids[Random.Range(0, ids.Length)]; - } - public static int[] Get_IDs_byGrade(eItemGrade grade) { int index = (int)grade; return new int[] { index * 4 - 3, index * 4 - 2, index * 4 - 1, index * 4 }; } - - public static float Mul_100 = 100f, TimeAttackMax = int.MaxValue; - public static int VegetableField = 8, TreeCount = 30, GambleADCount = 5; // 역할 프리셋 아이디(펫, 요정은 id > 0, PC는 0) static Dictionary<(eRole, string, int), ActorStatInfo> dic_ActorStatInfo = new Dictionary<(eRole, string, int), ActorStatInfo>(); @@ -351,12 +342,18 @@ public class ActorStatInfo Set_Fruit(); // 열매 값 적용 Set_Farmer(); // 농부 값 적용(전투x) + // 펫 var Pet_All_Stat_Multiplier = isPet ? Get_Stat(eStat.Pet_Stat_Multiplier) : 0d; Set_Stat(true, eStat.STR, Get_Stat(eStat.STR) * (Get_Stat(eStat.STR_Multiplier) + Get_Stat(eStat.ALL_STAT_Multiplier) + Get_BuffStat(eStat.STR_Multiplier) + Pet_All_Stat_Multiplier)); Set_Stat(true, eStat.DEX, Get_Stat(eStat.DEX) * (Get_Stat(eStat.DEX_Multiplier) + Get_Stat(eStat.ALL_STAT_Multiplier) + Get_BuffStat(eStat.DEX_Multiplier) + Pet_All_Stat_Multiplier)); Set_Stat(true, eStat.INT, Get_Stat(eStat.INT) * (Get_Stat(eStat.INT_Multiplier) + Get_Stat(eStat.ALL_STAT_Multiplier) + Get_BuffStat(eStat.INT_Multiplier) + Pet_All_Stat_Multiplier)); Set_Stat(true, eStat.LUK, Get_Stat(eStat.LUK) * (Get_Stat(eStat.LUK_Multiplier) + Get_Stat(eStat.ALL_STAT_Multiplier) + Get_BuffStat(eStat.LUK_Multiplier) + Pet_All_Stat_Multiplier)); + // 몬스터 웨이브 + Set_Stat(true, eStat.STR, DungeonInfo.Ins.dic_WaveStat[eMainStatType.STR]); + Set_Stat(true, eStat.DEX, DungeonInfo.Ins.dic_WaveStat[eMainStatType.DEX]); + Set_Stat(true, eStat.INT, DungeonInfo.Ins.dic_WaveStat[eMainStatType.INT]); + // 힘 var multi = MyValue.dic_MainStatMultiplier[eMainStatType.STR]; if (classData.Get_MainStat() == eMainStatType.STR)