Skip to content

[TM ONLY] Вендоры для ОБР#5709

Open
trickyfox-inc wants to merge 2 commits into
Fluffy-Frontier:masterfrom
trickyfox-inc:ERT-equipment-vending-machines
Open

[TM ONLY] Вендоры для ОБР#5709
trickyfox-inc wants to merge 2 commits into
Fluffy-Frontier:masterfrom
trickyfox-inc:ERT-equipment-vending-machines

Conversation

@trickyfox-inc
Copy link
Copy Markdown
Contributor

@trickyfox-inc trickyfox-inc commented Nov 24, 2025

О Pull Request

Добавлены вендоры для ОБР Blue, Amber, RED, SRT (попытка в аналог БЩ для ЦКшников) и вендор с оборудованием для мехов. Собственноручно перерисованные спрайты для каждого вендора. Оборудование приблизительно соответствует тому, что было представлено в темплейте модульной оружейки. В связи с тем, что неплохо было бы пересмотреть в дальнейшем список оружия для разных типов угроз, необходим ТМ. Надеюсь, временно

Как это может улучшить/повлиять на игровой процесс/ролевую игру

Может быть полезным при ремапе ЦК. Невероятно полезно уже сейчас при отправке ОБР на какую-то более-менее серьезную угрозу, а не на подравшихся в баре ассистентов.

Доказательства тестирования

Скриншоты/Видео

Generic вендор
vendor-generic

ERT Blue
vendor-blue

ERT Amber
vendor-amber

ERT Red
vendor-red

ERT Mech Equipment
vendor-mech

ERT - SRT(Blueshield)
vendor-srt

Пополняшка и меню маяка призыва
vendor-acc

Спрайты вендоров в редакторе (анимированы)
vendor-sprites

Спрайты вендоров в игре
image

Changelog

25/11/25 - релиз

🆑
add: Добавлены вендоры со снаряжением ОБР под все уровни угрозы (Blue, Amber, Red) и оперативников SRT (аналог БЩ)
add: Добавлен вендор со снаряжением для МЕХов ОБР
add: Добавлен маяк призыва(спавна) вендоров и resupply canister
/:cl:

Добавлены вендоры для ОБР Blue, Amber, RED, SRT (попытка в аналог БЩ для ЦКшников) и вендор с оборудованием для мехов
@trickyfox-inc
Copy link
Copy Markdown
Contributor Author

Добавил еще к SRT Mod paiter и баллончик с краской в раздел accessories

@Kocma-san Kocma-san added the Test Merged Лень проверять на локалке, проверяем лайф label Nov 25, 2025
Comment thread tff_modular/modules/ERT_equipment_vending_machines/code/ERT_equipment_vendor.dm Outdated
@Kocma-san
Copy link
Copy Markdown
Contributor

Обнови ветку пожалуйста

@trickyfox-inc
Copy link
Copy Markdown
Contributor Author

Обнови ветку пожалуйста

угу. Я заодно тогда изменения некоторые внесу. Новасектор снова поменяли названия пушек

@AnywayFarus
Copy link
Copy Markdown
Contributor

@claude

@claude
Copy link
Copy Markdown

claude Bot commented May 14, 2026

Claude finished @AnywayFarus's task in 3m 20s —— View job


Ревью PR: [TM ONLY] Вендоры для ОБР

  • Прочитать CLAUDE.md и руководство по кодобазе
  • Изучить код вендоров (ERT_equipment_vendor.dm)
  • Проверить соответствие стандартам кодобазы
  • Опубликовать результаты ревью

Общее впечатление

Хорошая идея и полезный контент — вендоры для ОБР действительно полезны при серьёзных угрозах. Спрайты выглядят аккуратно. Есть несколько проблем, которые нужно исправить перед мержем.


Критическая ошибка — неверный путь к типу

Файл: ERT_equipment_vendor.dm, строка 146

/obj/item/gun/energy/laser/cybersun/black_market_trader = 2,

Реальный путь в кодобазе — /obj/item/gun/energy/laser/carbine/cybersun/black_market_trader (в файле code/modules/projectiles/guns/energy/laser.dm:54). Отсутствует сегмент /carbine/. Этот тип не существует и вендор просто не сможет его выдать.

Именно на это и указывает предложение от @Kocma-san — нужно исправить путь.

Исправить →


Проблемы форматирования

1. Отступы пробелами вместо табуляций в Initialize (строки 68–71)

/obj/machinery/vending/ertvend/Initialize()
    . = ..()
    all_products_free = TRUE
    qdel(GetComponent(/datum/component/payment))

Код DM использует табуляцию. Здесь используются 4 пробела, что нарушает конвенции кодобазы.

2. Пропущены пробелы вокруг =

  • Строка 163: /obj/item/ammo_box/magazine/c40sol_rifle/standard =8, — нет пробела после =
  • Строка 325: /obj/item/slimepotion/speed= 4, — нет пробела перед =

Замечания по дизайну

1. Граната в категории "Ammo" (RED вендор, строки 220–221)

/obj/item/grenade/c4 = 3,
/obj/item/grenade/frag = 3,

C4 и осколочные гранаты логичнее вынести в отдельную категорию (например, "Explosives") или в Accessories, а не в Ammo.

2. slimepotion/speed в SRT вендоре (строка 325)

Зелья скорости из ксенобиологии тематически не вписываются в снаряжение спецотряда охраны. Возможно, лучше заменить на что-то вроде стимулятора (/obj/item/reagent_containers/pill/patch/stims) или убрать.

3. Дублирование списка аксессуаров

Все четыре специализированных вендора (Blue, Amber, Red, SRT) полностью копируют один и тот же Accessories список. Поскольку базовый тип ertvend уже содержит этот список, дочерние типы могут его просто наследовать — нет необходимости переопределять.

4. Закомментированный контроль доступа (строки 14–16)

// scan_id = 1
// контроль доступов у вендоров не работает
// req_access = list("cent_general")

Это означает, что вендоры бесплатны и доступны всем. Для TM-контента это может быть приемлемо, но при дальнейшем использовании на картах стоит разобраться с проблемой доступа, особенно с учётом RED вендора (hellgun, C4, фраги).

5. Заметка в коде (строка 336)

// Вообще стоит сделать отдельные "preloaded" мехи в коде

Это внутренняя заметка для разработчиков. Лучше завести issue или TODO в трекере, а не оставлять в рабочем коде.


Что работает хорошо

  • Вся структура вендоров и наследование от базового типа — грамотно
  • choice_beacon/ertvend с меню выбора — удобное решение
  • refill_canister подключён корректно
  • Большинство типов оружия и боеприпасов проверены и существуют в кодобазе
  • Спрайты (судя по скриншотам) аккуратные и анимированы

Главное, что нужно исправить перед мержем: путь к типу cybersun (критический баг), отступы в Initialize, и пробелы вокруг =.

@AnywayFarus
Copy link
Copy Markdown
Contributor

лан, одного раза достаточно

@Fluffy-Frontier Fluffy-Frontier deleted a comment from claude Bot May 14, 2026
@Kocma-san
Copy link
Copy Markdown
Contributor

Он кстати смотрит не по коду в мастере, а по коду в текущей ветке. Потому что этот путь уже давно изменен:
изображение

@AnywayFarus
Copy link
Copy Markdown
Contributor

Claude finished @AnywayFarus's task in 3m 20s —— View job

Ревью PR: [TM ONLY] Вендоры для ОБР

  • Прочитать CLAUDE.md и руководство по кодобазе
  • Изучить код вендоров (ERT_equipment_vendor.dm)
  • Проверить соответствие стандартам кодобазы
  • Опубликовать результаты ревью

Общее впечатление

Хорошая идея и полезный контент — вендоры для ОБР действительно полезны при серьёзных угрозах. Спрайты выглядят аккуратно. Есть несколько проблем, которые нужно исправить перед мержем.

Критическая ошибка — неверный путь к типу

Файл: ERT_equipment_vendor.dm, строка 146

/obj/item/gun/energy/laser/cybersun/black_market_trader = 2,

Реальный путь в кодобазе — /obj/item/gun/energy/laser/carbine/cybersun/black_market_trader (в файле code/modules/projectiles/guns/energy/laser.dm:54). Отсутствует сегмент /carbine/. Этот тип не существует и вендор просто не сможет его выдать.

Именно на это и указывает предложение от @Kocma-san — нужно исправить путь.

Исправить →

Проблемы форматирования

1. Отступы пробелами вместо табуляций в Initialize (строки 68–71)

/obj/machinery/vending/ertvend/Initialize()
    . = ..()
    all_products_free = TRUE
    qdel(GetComponent(/datum/component/payment))

Код DM использует табуляцию. Здесь используются 4 пробела, что нарушает конвенции кодобазы.

2. Пропущены пробелы вокруг =

  • Строка 163: /obj/item/ammo_box/magazine/c40sol_rifle/standard =8, — нет пробела после =
  • Строка 325: /obj/item/slimepotion/speed= 4, — нет пробела перед =

Замечания по дизайну

1. Граната в категории "Ammo" (RED вендор, строки 220–221)

/obj/item/grenade/c4 = 3,
/obj/item/grenade/frag = 3,

C4 и осколочные гранаты логичнее вынести в отдельную категорию (например, "Explosives") или в Accessories, а не в Ammo.

2. slimepotion/speed в SRT вендоре (строка 325)

Зелья скорости из ксенобиологии тематически не вписываются в снаряжение спецотряда охраны. Возможно, лучше заменить на что-то вроде стимулятора (/obj/item/reagent_containers/pill/patch/stims) или убрать.

3. Дублирование списка аксессуаров

Все четыре специализированных вендора (Blue, Amber, Red, SRT) полностью копируют один и тот же Accessories список. Поскольку базовый тип ertvend уже содержит этот список, дочерние типы могут его просто наследовать — нет необходимости переопределять.

4. Закомментированный контроль доступа (строки 14–16)

// scan_id = 1
// контроль доступов у вендоров не работает
// req_access = list("cent_general")

Это означает, что вендоры бесплатны и доступны всем. Для TM-контента это может быть приемлемо, но при дальнейшем использовании на картах стоит разобраться с проблемой доступа, особенно с учётом RED вендора (hellgun, C4, фраги).

5. Заметка в коде (строка 336)

// Вообще стоит сделать отдельные "preloaded" мехи в коде

Это внутренняя заметка для разработчиков. Лучше завести issue или TODO в трекере, а не оставлять в рабочем коде.

Что работает хорошо

  • Вся структура вендоров и наследование от базового типа — грамотно
  • choice_beacon/ertvend с меню выбора — удобное решение
  • refill_canister подключён корректно
  • Большинство типов оружия и боеприпасов проверены и существуют в кодобазе
  • Спрайты (судя по скриншотам) аккуратные и анимированы

Главное, что нужно исправить перед мержем: путь к типу cybersun (критический баг), отступы в Initialize, и пробелы вокруг =.

ты че

@AnywayFarus
Copy link
Copy Markdown
Contributor

Он кстати смотрит не по коду в мастере, а по коду в текущей ветке. Потому что этот путь уже давно изменен: изображение

может через ревью.мд ему можно дать команду смотреть в мастере?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature Sprites Test Merge Only Test Merged Лень проверять на локалке, проверяем лайф

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants