TauCetiClassic icon indicating copy to clipboard operation
TauCetiClassic copied to clipboard

Разрушаемость вендоматов

Open Deahaka opened this issue 2 years ago • 1 comments

Описание изменений

Теперь можно сломать вендомат (не только взрывом!). Чем меньше урон, тем выше шанс вытрясти больше добра. Перевёл почти всё, как можно нанести урон, на take_damage(). Не трогал содержимое инвентаря, не интересно задаваться вопросом "а почему в автомате с кофе 75 чашек кофе, а не 5 как везде где боланс фичи теперь?!" - это уже совсем другая история. Также, полагаю, найдётся много способов абузить, при тестах попался только голоесворд, по-этому завёл список для блеклистовых предметов, которыми нельзя наносить урон. Список должен будет пополнится при ТМ или после мержа. Известные проблемы:

  • чем шире инвентарь, тем меньше нижние строчки будут сокращаться от ударов;
  • нельзя аутентично стукнуть локтём по автомату для получения заветной колы;
  • машин фрейм, который появляется после поломки не разрушаем. То есть зомби всё ещё будут страдать :С

Почему и что этот ПР улучшит

полная разрушаемость пог. Улучшение кода

Авторство

Я

Чеинжлог

:cl: Deahaka

  • add: Вендоматы теперь можно ломать!

Deahaka avatar Aug 14 '22 17:08 Deahaka

Changelog status: :heavy_check_mark:

TauKitty avatar Aug 14 '22 18:08 TauKitty

мне вообще больше нравится аутентичная фича с гунов (вроде) с переворачиванием автоматов

volas avatar Aug 15 '22 04:08 volas

мне вообще больше нравится аутентичная фича с гунов (вроде) с переворачиванием автоматов

Ну я посмотрел, прикольно что автомат может упасть на кого-нибудь 13133 Но мне не нравится спрайт повёрнутого на 90 градусов автомата совсем. Лучше пусть стоят прямо всегда

Deahaka avatar Aug 15 '22 04:08 Deahaka

Но мне не нравится спрайт повёрнутого на 90 градусов автомата

мне нравится, добавляй

Akellazp avatar Aug 15 '22 07:08 Akellazp

после #9835

volas avatar Aug 27 '22 12:08 volas

Апдейтнул. Так, как пока что не все предметы могут наносить урон (сварка исключение), не делал хардкод этого в автоматах, но результат атаки оставил. Надо чтобы кто-то объяснил в чём был смысл atom_destruction() у вендингов, потому что я не понял и сделал как было у меня.

Deahaka avatar Sep 25 '22 13:09 Deahaka

atom_deconstruction вообще лучше не трогать, он за другое отвечает. Зачем вообще менять код deconstruct? Очень странно что протыкая чем-то слабым можно получить половину предметов, а другую уничтожить.

kalazus avatar Sep 25 '22 13:09 kalazus

Откуда ты взял "протыкая"? Это абстрактное "попытаться получить".

Deahaka avatar Sep 25 '22 14:09 Deahaka

Потыкая*

kalazus avatar Sep 25 '22 14:09 kalazus

Понял про destruction(), переместил шмотки в atom_destruction(). Изменил логику уменьшения контента после малфакшена. Теперь хрен можно будет залутать весь контент. Примерно вот так рандомно будет выглядеть лут. Кофе-автомат будет все равно давать многовато, но хз как фиксить, я уже задолбался переделывать. zxzxczxczxc

Deahaka avatar Sep 27 '22 18:09 Deahaka

И опять неправильно, нужно использовать deconstruct. Неужели так сложно найти хоть 1 другую машинерию? Какой род и стекло, если они при строительстве не используются? Зачем уничтожать детали, если нигде в других местах это не делается?

kalazus avatar Sep 27 '22 18:09 kalazus

А деконстракт не для деконстракта который отвёртка + лом используется?

Deahaka avatar Sep 27 '22 19:09 Deahaka

Ладно пусть будет как есть, смысл был в том, чтобы они разрушались, что они сейчас и делают.

Deahaka avatar Sep 27 '22 19:09 Deahaka

У deconstruct есть переменная, отвечающая за то, была ли машинерия уничтожена или разобрана. Чтобы код экономить т.к. они обычно не сильно отличаются.

kalazus avatar Sep 27 '22 20:09 kalazus

Странная экономия. Хз как реализовано, но код вида deconstruct(true) абсолютно ничего программисту не даёт, только приступ ржаки от осознания, что надо лезть в исходники

KIBORG04 avatar Sep 27 '22 20:09 KIBORG04

Странная экономия. Хз как реализовано, но код вида deconstruct(true) абсолютно ничего программисту не даёт, только приступ ржаки от осознания, что надо лезть в исходники

Посмотреть название аргумента функции это не "лезть в исходники".

kalazus avatar Sep 27 '22 21:09 kalazus