잠긴 인챈트 슬롯 체크

This commit is contained in:
Ino 2025-07-05 07:55:57 +09:00
parent 358c971206
commit 8d1ed7f796
3 changed files with 13 additions and 5 deletions

View File

@ -675,8 +675,7 @@ handlers.Save_PC_Ability = function(args)
return Get_Return(5); // 선행 특성이 최고 레벨이 아님
}
var global = Get_GlobalValueTable();
var matdata = global.find(f => f.s_ID == "n_AbilityMaterialID");
var matdata = Get_GlobalValueTable().find(f => f.s_ID == "n_AbilityMaterialID");
if (!matdata) return Get_Return(4); // 설정 누락
var table = Get_MissionTable();
@ -1331,12 +1330,16 @@ handlers.Save_EquipItem_Enchant = function(args)
if (!s_enchant || s_enchant[1] <= 0) return Get_Return(2);
//if (s_enchant[0] <= 0) return Get_Return(1);
var slot = urod.Slot.find(f => f.Parts == esu_data.e_EquipParts);
// 슬롯 잠김 여부 체크
if (slot.Lv < Get_GlobalValue_nValue(`EnchantOpenLv${args.Slot + 1}`))
return Get_Return(1);
var table = Get_MissionTable();
//if (Use_Item(table, urod, args.EnchantID, 1))
{
var grade = Get_RandomEnchantRateGrade(s_enchant[1]);
var olv = Get_OptionLv(grade);
var slot = urod.Slot.find(f => f.Parts == esu_data.e_EquipParts);
var optionid = Get_EnchantOptionID(slot);
slot.Enchant[args.Slot].ID = optionid;
@ -2512,6 +2515,10 @@ function Get_GlobalValueTable()
}
];
}
function Get_GlobalValue_nValue(key)
{
return Get_GlobalValueTable().find(f => f.s_ID == key).n_Value;
}
function Get_AwakenUpgradeTable()
{
return [

View File

@ -1547,11 +1547,11 @@ public class ServerInfo : MyCoroutine
NetWait.Ins.Set(false);
var str_result = result.FunctionResult.ToString();
var error = MyErrorCheck(str_result);
// (0 성공, 1 실패 (초기화 할 필요 없음), 3 실패 (없는 아이템), 4 실패 (업그레이드 정보 없는 파츠))
// (0 성공, 1 실패 (잠긴 인챈트 슬롯), 3 실패 (없는 아이템), 4 실패 (업그레이드 정보 없는 파츠))
switch (error)
{
case 0: _act?.Invoke(JsonConvert.DeserializeObject<SC_EnchantEquipItemResult>(str_result)); break;
//case 1: ToastUI.Ins.Set(999900021); break;
case 1: ToastUI.Ins.Set(999900012); break;
case 2: ToastUI.Ins.Set(999900022); break;
case 3: ToastUI.Ins.Set(999900014); break;
case 4: ToastUI.Ins.Set(999900020); break;

View File

@ -64,6 +64,7 @@ public class EquipmentEnchantCard : CardBase
result =>
{
var parts = PopupMgr.Ins.m_EquipmentItemPopup.Get_Parts();
// 주석은 클라 처리 -> 서버 처리로 변경됨
//var grade = DSUtil.Get_RandomIndex(m_EnchantRateTableData.list_rate) + 1;
//var enchantlv = table_enchantgradeconfig.Ins.Get_Lv(grade);
//var optionconfigid = m_Data.Get_OptionConfigID(Select_SlotData);