#ifdef ENABLE_KIDEM
ACMD(do_load_kidem_info) {
char szCommand[256]{};
snprintf(szCommand, sizeof(szCommand), "ClearKidemList");
ch->ChatPacket(CHAT_TYPE_COMMAND, szCommand);
for (uint8_t i = 0; i < (sizeof(kidem_affect_tablo) / sizeof(kidem_affect_tablo[0])); ++i) {
snprintf(szCommand, sizeof(szCommand), "UpdateKidemAff %d %d %d %d %d %d",
kidem_affect_tablo[i][0],
kidem_affect_tablo[i][3],
kidem_affect_tablo[i][1],
kidem_affect_tablo[i][4],
kidem_affect_tablo[i][2],
kidem_affect_tablo[i][5]
);
ch->ChatPacket(CHAT_TYPE_COMMAND, szCommand);
}
snprintf(szCommand, sizeof(szCommand), "UpdateKidemSize %llu", KIDEM_MAX);
ch->ChatPacket(CHAT_TYPE_COMMAND, szCommand);
}
ACMD(do_update_kidem) {
if (!ch || !ch->GetDesc()) { return; }
const auto kidemLevel = ch->GetKidemTitle();
if (kidemLevel >= KIDEM_MAX) {
ch->ChatPacket(1, "Zaten son seviyedesin!");
return;
}
constexpr uint32_t itemVnum = 30077;
constexpr uint32_t itemCount = 1;
if (ch->CountSpecifyItem(itemVnum) < itemCount) {
ch->ChatPacket(1, "Yeterli iteme sahip degilsin!");
return;
}
const auto& info = kidem_affect_tablo[kidemLevel];
ch->AddAffect(AFFECT_KIDEM_START_IDX + kidemLevel, aApplyInfo[info[0]].bPointType, info[3], 0, INFINITE_AFFECT_DURATION, 0, false);
ch->AddAffect(AFFECT_KIDEM_START_IDX + kidemLevel, aApplyInfo[info[1]].bPointType, info[4], 0, INFINITE_AFFECT_DURATION, 0, false);
ch->AddAffect(AFFECT_KIDEM_START_IDX + kidemLevel, aApplyInfo[info[2]].bPointType, info[5], 0, INFINITE_AFFECT_DURATION, 0, false);
ch->RemoveSpecifyItem(itemVnum, itemCount);
ch->SetKidemTitle(kidemLevel + 1);
ch->UpdatePacket();
ch->ChatPacket(1, "Ozellikler karakterine eklendi!");
}
#endif