미궁 : 여러 맵 중 하나 선택

This commit is contained in:
Ino 2025-01-26 06:04:01 +09:00
parent 383296253f
commit f198c44072
7 changed files with 4357 additions and 18 deletions

View File

@ -1 +1 @@
[{"s_ID": "전역변수로 사용할 대상", "n_Value": "적용 값", "exception": "참고용 텍스트"}, {"s_ID": "n_CashItemID", "n_Value": "1", "exception": "sss"}, {"s_ID": "ATK", "n_Value": "1", "exception": "sss"}, {"s_ID": "HP", "n_Value": "100", "exception": "sss"}, {"s_ID": "DEF", "n_Value": "1", "exception": "sss"}, {"s_ID": "M_DEF", "n_Value": "1", "exception": "sss"}, {"s_ID": "ATK_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "HP_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "DEF_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "M_DEF_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "MP", "n_Value": "30", "exception": "sss"}, {"s_ID": "MP_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "ATK_FIXED", "n_Value": "0", "exception": ""}, {"s_ID": "ATK_FIXED_DECREASE", "n_Value": "0", "exception": ""}, {"s_ID": "CRI", "n_Value": "0.1", "exception": ""}, {"s_ID": "CRI_DMG_Multiplier", "n_Value": "10", "exception": ""}, {"s_ID": "M_CRI", "n_Value": "100", "exception": ""}, {"s_ID": "M_CRI_DMG_Multiplier", "n_Value": "0.1", "exception": ""}, {"s_ID": "SKILL_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "COOLTIME_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "HERO_ATK_SPD", "n_Value": "0.75", "exception": ""}, {"s_ID": "ATK_SPD_Multiplier", "n_Value": "1", "exception": ""}, {"s_ID": "HERO_MOVE_SPD", "n_Value": "3", "exception": ""}, {"s_ID": "MOVE_SPD_Multiplier", "n_Value": "1", "exception": ""}, {"s_ID": "HP_REGEN", "n_Value": "1", "exception": ""}, {"s_ID": "MP_REGEN", "n_Value": "3", "exception": ""}, {"s_ID": "HP_REGEN_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "MP_REGEN_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "PIERCING_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "DMG_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "GOLD_INCREASE", "n_Value": "0", "exception": ""}, {"s_ID": "GOLD_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "EXP_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "ITEM_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "EnchantOpenLv1", "n_Value": "0", "exception": ""}, {"s_ID": "EnchantOpenLv2", "n_Value": "10", "exception": ""}, {"s_ID": "EnchantOpenLv3", "n_Value": "20", "exception": ""}, {"s_ID": "EnchantOpenLv4", "n_Value": "30", "exception": ""}, {"s_ID": "Defense_Coefficient", "n_Value": "6", "exception": ""}, {"s_ID": "f_PC_FindEnemyRange", "n_Value": "6", "exception": ""}, {"s_ID": "f_Pet_FindEnemyRange", "n_Value": "5", "exception": ""}, {"s_ID": "f_AvoidCoolTime", "n_Value": "5", "exception": ""}, {"s_ID": "f_KnockbackTime", "n_Value": "0.02", "exception": ""}, {"s_ID": "f_SkillTeamRange", "n_Value": "15", "exception": ""}, {"s_ID": "n_AbilityMaterialID", "n_Value": "444", "exception": ""}, {"s_ID": "n_JobMaterialID", "n_Value": "445", "exception": ""}, {"s_ID": "AWAKEN_GOODS_UPGRADE", "n_Value": "450", "exception": ""}, {"s_ID": "AWAKEN_GOODS_STR", "n_Value": "451", "exception": ""}, {"s_ID": "AWAKEN_GOODS_DEX", "n_Value": "452", "exception": ""}, {"s_ID": "AWAKEN_GOODS_INT", "n_Value": "453", "exception": ""}, {"s_ID": "AWAKEN_GOODS_LUK", "n_Value": "454", "exception": ""}, {"s_ID": "n_BreakingLimitSlotMaterialID", "n_Value": "461", "exception": ""}, {"s_ID": "n_FirstEquipPet", "n_Value": "50002", "exception": ""}, {"s_ID": "n_PetReinforceMaterialID", "n_Value": "441", "exception": ""}, {"s_ID": "n_PetReinforcePriceOptionID1", "n_Value": "340001", "exception": ""}, {"s_ID": "n_PetReinforcePriceOptionID2", "n_Value": "340002", "exception": ""}, {"s_ID": "n_PetReinforcePriceOptionID3", "n_Value": "340003", "exception": ""}, {"s_ID": "n_PetSkillAwaken_Lv1", "n_Value": "10", "exception": ""}, {"s_ID": "n_PetSkillAwaken_Lv2", "n_Value": "20", "exception": ""}, {"s_ID": "n_PetSkillAwaken_Lv3", "n_Value": "40", "exception": ""}, {"s_ID": "n_EssenceMileageID", "n_Value": "471", "exception": ""}, {"s_ID": "n_EssenceRandomBagID", "n_Value": "9800001", "exception": ""}, {"s_ID": "n_RelicMaxStar", "n_Value": "5", "exception": ""}, {"s_ID": "n_RelicReinforceMaterialID", "n_Value": "472", "exception": ""}, {"s_ID": "n_FarmSeedID", "n_Value": "456", "exception": ""}, {"s_ID": "n_FarmPlantingSeedAmount", "n_Value": "5", "exception": ""}, {"s_ID": "n_FirstClassID", "n_Value": "10501", "exception": "최초 시작 직업"}]
[{"s_ID": "전역변수로 사용할 대상", "n_Value": "적용 값", "exception": "참고용 텍스트"}, {"s_ID": "n_CashItemID", "n_Value": "1", "exception": "sss"}, {"s_ID": "ATK", "n_Value": "1", "exception": "sss"}, {"s_ID": "HP", "n_Value": "100", "exception": "sss"}, {"s_ID": "DEF", "n_Value": "1", "exception": "sss"}, {"s_ID": "M_DEF", "n_Value": "1", "exception": "sss"}, {"s_ID": "ATK_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "HP_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "DEF_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "M_DEF_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "MP", "n_Value": "30", "exception": "sss"}, {"s_ID": "MP_Multiplier", "n_Value": "0", "exception": "sss"}, {"s_ID": "ATK_FIXED", "n_Value": "0", "exception": ""}, {"s_ID": "ATK_FIXED_DECREASE", "n_Value": "0", "exception": ""}, {"s_ID": "CRI", "n_Value": "0.1", "exception": ""}, {"s_ID": "CRI_DMG_Multiplier", "n_Value": "10", "exception": ""}, {"s_ID": "M_CRI", "n_Value": "100", "exception": ""}, {"s_ID": "M_CRI_DMG_Multiplier", "n_Value": "0.1", "exception": ""}, {"s_ID": "SKILL_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "COOLTIME_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "HERO_ATK_SPD", "n_Value": "0.75", "exception": ""}, {"s_ID": "ATK_SPD_Multiplier", "n_Value": "1", "exception": ""}, {"s_ID": "HERO_MOVE_SPD", "n_Value": "3", "exception": ""}, {"s_ID": "MOVE_SPD_Multiplier", "n_Value": "1", "exception": ""}, {"s_ID": "HP_REGEN", "n_Value": "1", "exception": ""}, {"s_ID": "MP_REGEN", "n_Value": "3", "exception": ""}, {"s_ID": "HP_REGEN_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "MP_REGEN_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "PIERCING_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "DMG_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "GOLD_INCREASE", "n_Value": "0", "exception": ""}, {"s_ID": "GOLD_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "EXP_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "ITEM_Multiplier", "n_Value": "0", "exception": ""}, {"s_ID": "EnchantOpenLv1", "n_Value": "0", "exception": ""}, {"s_ID": "EnchantOpenLv2", "n_Value": "10", "exception": ""}, {"s_ID": "EnchantOpenLv3", "n_Value": "20", "exception": ""}, {"s_ID": "EnchantOpenLv4", "n_Value": "30", "exception": ""}, {"s_ID": "Defense_Coefficient", "n_Value": "6", "exception": ""}, {"s_ID": "f_PC_FindEnemyRange", "n_Value": "6", "exception": ""}, {"s_ID": "f_Pet_FindEnemyRange", "n_Value": "5", "exception": ""}, {"s_ID": "f_AvoidCoolTime", "n_Value": "5", "exception": ""}, {"s_ID": "f_KnockbackTime", "n_Value": "0.02", "exception": ""}, {"s_ID": "f_SkillTeamRange", "n_Value": "15", "exception": ""}, {"s_ID": "n_AbilityMaterialID", "n_Value": "444", "exception": ""}, {"s_ID": "n_JobMaterialID", "n_Value": "445", "exception": ""}, {"s_ID": "AWAKEN_GOODS_UPGRADE", "n_Value": "450", "exception": ""}, {"s_ID": "AWAKEN_GOODS_STR", "n_Value": "451", "exception": ""}, {"s_ID": "AWAKEN_GOODS_DEX", "n_Value": "452", "exception": ""}, {"s_ID": "AWAKEN_GOODS_INT", "n_Value": "453", "exception": ""}, {"s_ID": "AWAKEN_GOODS_LUK", "n_Value": "454", "exception": ""}, {"s_ID": "n_BreakingLimitSlotMaterialID", "n_Value": "461", "exception": ""}, {"s_ID": "n_FirstEquipPet", "n_Value": "50002", "exception": ""}, {"s_ID": "n_PetReinforceMaterialID", "n_Value": "441", "exception": ""}, {"s_ID": "n_PetReinforcePriceOptionID1", "n_Value": "340001", "exception": ""}, {"s_ID": "n_PetReinforcePriceOptionID2", "n_Value": "340002", "exception": ""}, {"s_ID": "n_PetReinforcePriceOptionID3", "n_Value": "340003", "exception": ""}, {"s_ID": "n_PetSkillAwaken_Lv1", "n_Value": "10", "exception": ""}, {"s_ID": "n_PetSkillAwaken_Lv2", "n_Value": "20", "exception": ""}, {"s_ID": "n_PetSkillAwaken_Lv3", "n_Value": "40", "exception": ""}, {"s_ID": "n_EssenceMileageID", "n_Value": "471", "exception": ""}, {"s_ID": "n_EssenceRandomBagID", "n_Value": "9800001", "exception": ""}, {"s_ID": "n_RelicMaxStar", "n_Value": "5", "exception": ""}, {"s_ID": "n_RelicReinforceMaterialID", "n_Value": "472", "exception": ""}, {"s_ID": "n_FarmSeedID", "n_Value": "456", "exception": ""}, {"s_ID": "n_FarmPlantingSeedAmount", "n_Value": "5", "exception": ""}, {"s_ID": "n_FirstClassID", "n_Value": "10501", "exception": "최초 시작 직업"}, {"s_ID": "MazeMapCount", "n_Value": "2", "exception": "미궁 맵 개수"}]

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -166,6 +166,12 @@ public class PCActor : MyActor
return;
#endif
LoadMapMgr.Ins.Get_PortalPos(MyValue.MyChoiceMapData, Set_Warp);
var dgData = MyValue.MyChoiceMapData.Get_DungeonMapData_orNull();
if (!DSUtil.CheckNull(dgData) && dgData.e_DungeonType == eDungeon.d2_Maze)
{
LoadMapMgr.Ins.Set_MazeMap(MyValue.MyChoiceMapData.n_PortalIndex);
LoadMapMgr.Ins.Set_MazeNextPortal(MyValue.MyChoiceMapData.n_PortalIndex, false);
}
}
else
LoadMapMgr.Ins.Get_PortalPos(MyValue.MyChoiceMapData, Set_Warp); // TODO 정인호 : PvP 일 경우 적 위치 잡기

View File

@ -23,9 +23,7 @@ public class LoadMapMgr : MonoBehaviourSingletonTemplate<LoadMapMgr>
}
public void Get_PortalPos(ChoiceMapData data, Action<Vector3> action)
{
StartCoroutine(Co_Get_PortalPos(data, action));
}
{ StartCoroutine(Co_Get_PortalPos(data, action)); }
IEnumerator Co_Get_PortalPos(ChoiceMapData data, Action<Vector3> action)
{
while (DSUtil.CheckNull(m_MapData)) yield return null;
@ -34,23 +32,31 @@ public class LoadMapMgr : MonoBehaviourSingletonTemplate<LoadMapMgr>
public Vector3 Get_ReincanationPos(ChoiceMapData data)
{ return m_MapData.Get_MapZoneData(data.n_PortalIndex).go_reincarnation.transform.position + Vector3.forward; }
public void Get_tfFarmer(ChoiceMapData data, Action<Transform> action)
{
StartCoroutine(Co_Get_tfFarmer(data, action));
}
{ StartCoroutine(Co_Get_tfFarmer(data, action)); }
IEnumerator Co_Get_tfFarmer(ChoiceMapData data, Action<Transform> action)
{
while (DSUtil.CheckNull(m_MapData)) yield return null;
action(m_MapData.Get_MapZoneData(data.n_PortalIndex).tf_Farmer);
}
public void Get_tfObj(ChoiceMapData data, int index, Action<Transform> action)
{
StartCoroutine(Co_Get_tfObj(data, index, action));
}
{ StartCoroutine(Co_Get_tfObj(data, index, action)); }
IEnumerator Co_Get_tfObj(ChoiceMapData data, int index, Action<Transform> action)
{
while (DSUtil.CheckNull(m_MapData)) yield return null;
action(m_MapData.Get_MapZoneData(data.n_PortalIndex).tf_Obj[index]);
}
public void Set_MazeMap(int index) { StartCoroutine(Co_Set_MazeMap(index)); }
IEnumerator Co_Set_MazeMap(int index)
{
while (DSUtil.CheckNull(m_MapData)) yield return null;
m_MapData.Set_MazeMap(index);
}
public void Set_MazeNextPortal(int index, bool active) { StartCoroutine(Co_Set_MazeNextPortal(index, active)); }
IEnumerator Co_Set_MazeNextPortal(int index, bool active)
{
while (DSUtil.CheckNull(m_MapData)) yield return null;
m_MapData.Set_MazeNextPortal(index, active);
}
public void SetActive_Map(bool _active)
{

View File

@ -1,12 +1,13 @@
using CodeStage.AntiCheat.ObscuredTypes;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
public class MapData : MonoBehaviour
{
public Material material_skybox;
public GameObject[] gos_map;
[SerializeField] public List<MapZoneData> m_MapZoneData;
void Start()
@ -21,6 +22,13 @@ public class MapData : MonoBehaviour
}
public MapZoneData Get_MapZoneData(int index) { return m_MapZoneData[index]; }
public void Set_MazeMap(int index) { DSUtil.InActivateGameObjects(gos_map, index); }
public void Set_MazeNextPortal(int index, bool active)
{
var mzd = Get_MapZoneData(index);
if (!DSUtil.CheckNull(mzd.go_mazeNextPortal))
mzd.go_mazeNextPortal.SetActive(active);
}
}
[Serializable]
@ -28,6 +36,7 @@ public class MapZoneData
{
public GameObject go_portal;
public GameObject go_reincarnation;
public GameObject go_mazeNextPortal;
public Transform tf_Farmer;
public Transform[] tf_Obj;
}
@ -63,11 +72,16 @@ public class ChoiceMapData
public DungeonMapConfigTableData Get_DungeonMapData_orNull()
{
var mapData = Get_MapData();
return table_dungeonmapconfig.Ins.Get_Data_orNull(mapData.e_Dungeon, n_DungeonLv);
return mapData.e_Dungeon == eDungeon.None ? null :
table_dungeonmapconfig.Ins.Get_Data_orNull(mapData.e_Dungeon, n_DungeonLv);
}
public int Get_DungeonIndex()
{
var dgData = Get_DungeonMapData_orNull();
return DSUtil.CheckNull(dgData) ? 0 : MyEnumToInt.Ins.Get_Int(dgData.e_DungeonType) - 1;
}
public void Set_MazeMapIndex()
{
n_PortalIndex = Random.Range(0, table_GlobalValue.Ins.Get_Int("MazeMapCount"));
}
}

View File

@ -92,12 +92,6 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
// 웨이브는 무한 입장 가능
if (mapData.n_TicketID == 0 || sdata.Check_ItemAmount(mapData.n_TicketID, 1))
{
if (mapData.e_Dungeon == eDungeon.d2_Maze)
{ // 미궁은 입장 시 입장권 사용
sdata.Use_Item(mapData.n_TicketID, 1);
ServerInfo.Ins.Write(null, false);
}
NewGameUI.Ins.m_MapChoiceUI.OnClick_Back();
MyValue.MyChoiceMapData.n_Difficult = 1; // TODO 정인호 : 나중에 선택한 난이도 넣어줄 것
@ -105,6 +99,14 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
MyValue.MyChoiceMapData.n_PortalIndex = 0;
MyValue.MyChoiceMapData.n_DungeonLv = SelectLv;
if (mapData.e_Dungeon == eDungeon.d2_Maze)
{ // 미궁은 입장 시 입장권 사용
sdata.Use_Item(mapData.n_TicketID, 1);
ServerInfo.Ins.Write(null, false);
MyValue.MyChoiceMapData.Set_MazeMapIndex();
}
InGameInfo.Ins.Load_Map(SelectMapID);
}
}