api 콜 수 줄이기, 직업 오픈 미션값 확인 변경

This commit is contained in:
Ino 2025-07-02 09:32:21 +09:00
parent f3334308f1
commit 46d469eb96
7 changed files with 590 additions and 11 deletions

View File

@ -763,9 +763,6 @@ handlers.Save_PC_BuyJob = function(args)
var table = Get_MissionTable();
Add_Item(table, itemtable, urod, args.JobID, 1);
// 미션 카운트
Add_MissionCount(table, urod, "CLASS_OPEN_LIMIT", m_Data.n_ClassOpenMission, 1, false);
Set_JsonUserData(urod);
return Get_Return(0);
}
@ -790,6 +787,49 @@ handlers.Save_PC_EquipJob = function(args)
Set_JsonUserData(urod);
return Get_Return(0);
}
handlers.Save_PC_AwakenLvUp = function(args)
{
var readonlydata = Get_UserReadOnlyData();
var error = Get_Error(readonlydata, args.Token);
if (error < 0) return Get_Return(error);
var urod = Get_JsonUserData(readonlydata);
var global = Get_GlobalValueTable();
var matdata = global.find(f => f.s_ID == "AWAKEN_GOODS_UPGRADE");
if (!matdata) return Get_Return(1); // 설정 누락
var materialId = matdata.n_Value;
var awakenupgradetable = [
{
"n_AwakenStep": "1",
"n_MaxUpgradeLevel": "10",
"n_AwakenGoodsCost": "1",
"n_DefaultUpgradeCostValue": "3",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
},
{
"n_AwakenStep": "2",
"n_MaxUpgradeLevel": "25",
"n_AwakenGoodsCost": "2",
"n_DefaultUpgradeCostValue": "4",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
},
{
"n_AwakenStep": "3",
"n_MaxUpgradeLevel": "30",
"n_AwakenGoodsCost": "3",
"n_DefaultUpgradeCostValue": "5",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
}
];
Set_JsonUserData(urod);
return Get_Return(0);
}
/////////////////////////////////// 서버 처리
handlers.Write_UnityInApp = function(args)
@ -1435,13 +1475,551 @@ function Get_AbilityConfigTable()
}
function Get_ClassOpenTable()
{
var titleData = server.GetTitleInternalData({ Keys: ["ClassOpenConditionTable"] });
return JSON.parse(titleData.Data.ClassOpenConditionTable);
return [
{
"n_ClassID": "10501",
"n_linkedClass1": "0",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "STR",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "0"
},
{
"n_ClassID": "10101",
"n_linkedClass1": "10501",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "None",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "1"
},
{
"n_ClassID": "10401",
"n_linkedClass1": "10501",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "STR",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "2"
},
{
"n_ClassID": "10301",
"n_linkedClass1": "10501",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "STR",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "3"
},
{
"n_ClassID": "10502",
"n_linkedClass1": "10101",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "DEX",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "4"
},
{
"n_ClassID": "10601",
"n_linkedClass1": "10101",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "INT",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "5"
},
{
"n_ClassID": "10201",
"n_linkedClass1": "10101",
"n_linkedClass2": "10401",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "DEX",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "6"
},
{
"n_ClassID": "10402",
"n_linkedClass1": "10401",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "DEX",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "7"
},
{
"n_ClassID": "10202",
"n_linkedClass1": "10401",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "INT",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "8"
},
{
"n_ClassID": "10102",
"n_linkedClass1": "10401",
"n_linkedClass2": "10301",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "STR",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "9"
},
{
"n_ClassID": "10302",
"n_linkedClass1": "10301",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "DEX",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "10"
},
{
"n_ClassID": "10303",
"n_linkedClass1": "10301",
"n_linkedClass2": "0",
"n_RequireAbility": "0",
"e_RequireAwakenType1": "INT",
"n_RequireAwakenStep1": "0",
"e_RequireAwakenType2": "None",
"n_RequireAwakenStep2": "0",
"n_NeedGoodsCount": "1",
"n_ClassOpenMission": "11"
}
]
}
function Get_GlobalValueTable()
{
var titleData = server.GetTitleInternalData({ Keys: ["GlobalValue"] });
return JSON.parse(titleData.Data.GlobalValue);
return [
{
"s_ID": "n_CashItemID",
"n_Value": "1",
"exception": "캐쉬 아이템 id"
},
{
"s_ID": "n_JewelItemID",
"n_Value": "3",
"exception": "보석 아이템 id"
},
{
"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",
"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": "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": "AWAKEN_GOODS_ALL",
"n_Value": "455",
"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": "미궁 맵 개수"
},
{
"s_ID": "GoldDropRandomRange",
"n_Value": "0.1",
"exception": "몬스터 드랍 골드양 범위"
},
{
"s_ID": "n_Benefit1Count",
"n_Value": "10",
"exception": "뽑기 혜택1 횟수"
},
{
"s_ID": "n_Benefit2Count",
"n_Value": "50",
"exception": "뽑기 혜택2 횟수"
},
{
"s_ID": "n_Benefit1Grade",
"n_Value": "4",
"exception": "뽑기 혜택1 등급"
},
{
"s_ID": "n_Benefit2Grade",
"n_Value": "5",
"exception": "뽑기 혜택2 등급"
}
];
}
function Get_AwakenUpgradeTable()
{
return [
{
"n_AwakenStep": "1",
"n_MaxUpgradeLevel": "10",
"n_AwakenGoodsCost": "1",
"n_DefaultUpgradeCostValue": "3",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
},
{
"n_AwakenStep": "2",
"n_MaxUpgradeLevel": "25",
"n_AwakenGoodsCost": "2",
"n_DefaultUpgradeCostValue": "4",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
},
{
"n_AwakenStep": "3",
"n_MaxUpgradeLevel": "30",
"n_AwakenGoodsCost": "3",
"n_DefaultUpgradeCostValue": "5",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
}
];
}
function Get_PlayOCoupons()
{

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1107,6 +1107,9 @@ public partial class ServerData
case ePurpose.HERO_LEVEL_ACC:
return PC.Lv;
case ePurpose.CLASS_OPEN_LIMIT:
return PC.Obtain.Contains(data.n_MissionConditionValue) ? 1 : 0;
case ePurpose.CHECK_PLAYTIME:
case ePurpose.CHECK_PLAYTIME_ACC:
return Get_Common(eCommon.PlayTime) / 60;

View File

@ -105,7 +105,7 @@ public class MissionListTableData : TableDataBase
//}
return DSUtil.Format(n_MissionDesc, l_MissionConditionCount, (eBattleType)n_MissionConditionValue);
case ePurpose.CLASS_OPEN_LIMIT:
var classData = table_classopencondition.Ins.Get_MissionData(n_MissionConditionValue);
var classData = table_classopencondition.Ins.Get_Data_orNull(n_MissionConditionValue);
return DSUtil.Format(n_MissionDesc, classData.Get_Name());
case ePurpose.HERO_AWAKEN_ACC:
case ePurpose.HERO_BASE_STAT_LIMIT:

View File

@ -96,6 +96,5 @@ public class table_classopencondition : table_missionbase
}
public ClassOpenConditionTableData Get_Data_orNull(int id) { return dic_Data[id]; }
public ClassOpenConditionTableData Get_MissionData(int missionopen) { return dic_MissionData[missionopen]; }
public List<ClassOpenConditionTableData> Get_DataList() { return tableDatas; }
}

View File

@ -130,7 +130,6 @@ public class PCJobUI_OpenCondition : MonoBehaviour
sdata.PC.Add_PC(m_ClassId);
Set_UI();
MyValue.Get_ActorStatInfoorNull(eRole.PC);
sdata.Add_MissionCount(ePurpose.CLASS_OPEN_LIMIT, m_Data.n_ClassOpenMission);
});
}
}