// Глобальная переменная для хранения "остатка" ржавого оружия между диалогами
var int HaradRustWMem;
// Диалоговая функция торговли ржавым оружием с NPC
func void dia_harad_haradbuymiscweap_info()
{
// Объявление переменных:
var c_item equipweap; // Неиспользуемая переменная (возможно, остаток старого кода)
var int misc_01; // Счетчик мечей
var int misc_02; // Счетчик больших мечей
var int misc_03; // Счетчик топоров
var int misc_04; // Счетчик двуручных мечей
var int misc_all; // Общее количество оружия
var int misc_temp; // Временная переменная для расчетов
var int price_all; // Неиспользуемая переменная (возможно, планировалась для расчета цены)
price_all = 2; // Неиспользуемое значение (возможно, заглушка)
// Диалог с NPC
ai_output(other, self, "DIA_Harad_HaradBuyMiscWeap_01_00"); // Игрок: "Я принес тебе ржавое оружие."
ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_01"); // NPC: "Хорошо!"
ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_03"); // NPC: "Давай посмотрим, что тут у тебя..."
// Подсчет каждого типа оружия в инвентаре игрока
misc_01 = npc_hasitems(other, itmw_1h_misc_sword); // 1H ржавый меч
misc_02 = npc_hasitems(other, itmw_1h_misc_gsword); // 1H ржавый большой меч
misc_03 = npc_hasitems(other, itmw_1h_misc_axe); // 1H ржавый топор
misc_04 = npc_hasitems(other, itmw_2h_sword_m_01); // 2H ржавый меч
// Суммируем все найденное оружие + остаток с прошлого раза
misc_all = ((misc_01 + misc_02) + misc_03) + misc_04 + HaradRustWMem;
// Система накопления "неполных наборов":
// Если общее количество меньше 4 - сохраняем в память для следующего раза
if (misc_all < 4) {
HaradRustWMem = misc_all;
};
// Расчет целых наборов (каждые 4 единицы оружия = 1 новый предмет)
misc_temp = (misc_all / 4); // Целое число наборов (деление нацело)
misc_temp = misc_temp * 4; // Общее кол-во оружия в полных наборах
// Обновляем память - сохраняем остаток, который не вошел в наборы
if (misc_all >= misc_temp) {
HaradRustWMem = misc_all - misc_temp;
};
// Забираем ВСЕ ржавое оружие у игрока
b_giveinvitemswithremove(hero, self, itmw_1h_misc_sword, npc_hasitems(hero, itmw_1h_misc_sword));
b_giveinvitemswithremove(hero, self, itmw_1h_misc_gsword, npc_hasitems(hero, itmw_1h_misc_gsword));
b_giveinvitemswithremove(hero, self, itmw_1h_misc_axe, npc_hasitems(hero, itmw_1h_misc_axe));
b_giveinvitemswithremove(hero, self, itmw_2h_sword_m_01, npc_hasitems(hero, itmw_2h_sword_m_01));
// Анимация и реакция NPC
ai_playani(self, "T_YES"); // Проигрываем анимацию согласия
ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_04"); // NPC: "Ну что же, неплохо."
// Выдаем игроку награду: сырье для мечей (1 единица за каждые 4 единицы оружия)
b_giveinvitems(self, other, itmiswordraw, misc_all / 4);
// Прощальная реплика NPC
ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_06"); // NPC: "Если будет что-нибудь еще - приноси мне."
};