빠진 조건 추가 등

This commit is contained in:
Ino 2025-07-31 16:28:44 +09:00
parent 8b09deff8f
commit 4e8ebd95a3
4 changed files with 59 additions and 12 deletions

View File

@ -872,16 +872,20 @@ handlers.Save_PC_MenuBack = function(args)
urod.Equip.LimitPreset = args.Preset; urod.Equip.LimitPreset = args.Preset;
// 초월 옵션 // 초월 옵션
log.info(args.LimitSlotData.Preset); var rtnLimitSlotOption = Set_LimitSlotOption(table, urod, args);
log.info(urod.LimitBreakOption.Preset); var rtnLimitPreset = null;
urod.LimitBreakOption.Preset = args.LimitSlotData.Preset; if (CheckNullOrEmpty(rtnLimitSlotOption))
log.info(urod.LimitBreakOption.Preset); urod.LimitBreakOption.Preset = args.LimitSlotData.Preset;
Set_LimitSlotOption(table, urod, args); else
rtnLimitPreset = urod.LimitBreakOption.Preset;
Set_JsonUserData(urod); Set_JsonUserData(urod);
return Get_Return(0, { return Get_Return(0, {
awakekMats : rtn_awakenMatIds, awakekMats : rtn_awakenMatIds,
awaken : urod.Awaken awaken : urod.Awaken,
limitslotoption : rtnLimitSlotOption,
limitpreset : rtnLimitPreset,
limitoptionAmount : Get_ItemAmount(urod, Get_GlobalValue_nValue("n_BreakingLimitSlotMaterialID"))
}); });
} }
function Get_PCAwakenMatKey(stat) function Get_PCAwakenMatKey(stat)
@ -1193,12 +1197,16 @@ handlers.Save_PC_LimitLvUp = function(args)
} }
function Set_LimitSlotOption(table, urod, args, makeoption = false) function Set_LimitSlotOption(table, urod, args, makeoption = false)
{ {
Use_Item(table, urod, Get_GlobalValue_nValue("n_BreakingLimitSlotMaterialID"), args.LimitSlotData.Price); if (Use_Item(table, urod, Get_GlobalValue_nValue("n_BreakingLimitSlotMaterialID"), args.LimitSlotData.Price))
urod.LimitSlot = args.LimitSlotData.LimitSlot; {
if (makeoption) Make_LimitBreakOption(urod); urod.LimitSlot = args.LimitSlotData.LimitSlot;
if (makeoption) Make_LimitBreakOption(urod);
Add_MissionCount(table, urod, "HERO_OPTION_CHANGE", 0, args.LimitSlotData.Count, false); Add_MissionCount(table, urod, "HERO_OPTION_CHANGE", 0, args.LimitSlotData.Count, false);
Add_MissionCount(table, urod, "HERO_OPTION_CHANGE_ACC", 0, args.LimitSlotData.Count, false); Add_MissionCount(table, urod, "HERO_OPTION_CHANGE_ACC", 0, args.LimitSlotData.Count, false);
return null;
}
return urod.LimitSlot;
} }
handlers.Save_PC_LimitSlotOption = function(args) handlers.Save_PC_LimitSlotOption = function(args)
{ {

View File

@ -3121,6 +3121,9 @@ public class SC_PCMenuBackResult
{ {
public List<SC_Items> awakekMats; public List<SC_Items> awakekMats;
public Dictionary<string, SD_PCAwakenData_Read> awaken; public Dictionary<string, SD_PCAwakenData_Read> awaken;
public Dictionary<string, List<SD_PCLimitSlotData>> limitslotoption;
public List<int> limitpreset;
public int limitoptionAmount;
} }
public class SC_PCStatInit public class SC_PCStatInit
{ {

View File

@ -16,6 +16,7 @@ public class LimitSlotChangeData
{ {
TotalPrice = 0; TotalPrice.RandomizeCryptoKey(); TotalPrice = 0; TotalPrice.RandomizeCryptoKey();
MissionCount = 0; MissionCount.RandomizeCryptoKey(); MissionCount = 0; MissionCount.RandomizeCryptoKey();
Copy_ServerLimitSlot();
} }
void Copy_ServerLimitSlot() void Copy_ServerLimitSlot()
{ {
@ -38,7 +39,34 @@ public class LimitSlotChangeData
return this; return this;
} }
public bool IsChangeLimitSlot() { return TotalPrice > 0; } public bool IsChangeLimitSlot()
{
if (TotalPrice > 0) return true;
var currentSlotData = ServerInfo.Ins.m_ServerData.LimitSlot;
foreach (var pair in currentSlotData)
{
if (!LimitSlot.TryGetValue(pair.Key, out var beforeList))
return true;
var currentList = pair.Value;
if (beforeList.Count != currentList.Count)
return true;
for (int i = 0; i < currentList.Count; i++)
{
var before = beforeList[i];
var current = currentList[i];
if (before.ID != current.ID || before.Lv != current.Lv || before.Lock != current.Lock)
return true;
}
}
return false;
}
public void Add_TotalPrice(int price) { TotalPrice += price; TotalPrice.RandomizeCryptoKey(); } public void Add_TotalPrice(int price) { TotalPrice += price; TotalPrice.RandomizeCryptoKey(); }
public void Add_MissionCount() { ++MissionCount; MissionCount.RandomizeCryptoKey(); } public void Add_MissionCount() { ++MissionCount; MissionCount.RandomizeCryptoKey(); }
} }

View File

@ -66,6 +66,14 @@ public class PCUI : BotMenuBase
sdata.Set_Item(result.awakekMats[i].itemid, result.awakekMats[i].amount); sdata.Set_Item(result.awakekMats[i].itemid, result.awakekMats[i].amount);
foreach (var item in result.awaken) sdata.Awaken[item.Key] = item.Value.Get(); foreach (var item in result.awaken) sdata.Awaken[item.Key] = item.Value.Get();
if (result.limitslotoption != null)
{
}
if (result.limitpreset != null)
{
}
if (changeCostume || changeworker) if (changeCostume || changeworker)
{ {
ActorInfo.Ins.Destroy_All(); ActorInfo.Ins.Destroy_All();