Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repellator event handler reworked. #204

Merged
merged 4 commits into from
Oct 8, 2021

Conversation

shogun-kub
Copy link
Contributor

@shogun-kub shogun-kub commented Sep 28, 2021

Переработан отпугиватель монстров(Monster repellator)
Область работы изменена с шара с указанным радиусом на куб(с репеллатором по центру). Заявленные ограничения по расстоянию оставлены без изменений.
Добавлены два режима(переключаются отвёрткой):
1 - Отменяет спаун только враждебных мобов(по умолчанию)
2 - Отменяет спаун враждебных мобов, свинозомби и оцелотов
Добавлена локализация для сообщений при клике отвёрткой:
S:Interaction_DESCRIPTION_Index_217 - для первого режима
S:Interaction_DESCRIPTION_Index_218 - для второго
Оптимизированы обработчики спауна у репеллаторов немного, должны работать чуть быстрее.
Исправлены баги, из-за которых плодились дубли обработчиков, при длительной работе сервера могло вызывать замедление и избыточное потребление памяти.

Signed-off-by: ShoGUN shogun.kub@gmail.com

…ltip.

Repellator now prevents spawning pig zombies and ocelotes.

Signed-off-by: ShoGUN <shogun.kub@gmail.com>
…nly(default), 2 - additionally prevents spawn of ocelots and pig zombies

Mode can be switched using a screwdriver.
Small optimization in event handler: there's no need to check all the repellators if one of them forbids current event.

Signed-off-by: ShoGUN <shogun.kub@gmail.com>
Localization indexes for messages
Fixed duplicated handlers in static array
Optimized handlers(break after the first spawn cancel, there's no point in further cancel checking).

Signed-off-by: ShoGUN <shogun.kub@gmail.com>
@CppEnjoyer
Copy link
Contributor

гуд, Спасибо

@CppEnjoyer CppEnjoyer merged commit 28a3515 into IdealIndustrial:IIA-dev Oct 8, 2021
@SapientMC
Copy link

@shogun-kub Надо бы еще в тултип к ним дописать, что есть разные режимы, переключать отверткой.

@shogun-kub
Copy link
Contributor Author

Ок, сделаю. Просили ещё летучих мышей и слизней проверить

@SapientMC
Copy link

Да по идее бы любую живность запрещать, кроме свиней, овец, коров и куриц.
Может даже 3 режима

  1. Запрет только враждебных
  2. Запрет всех, кроме свиней, овец, коров и куриц
  3. Запрет вообще всех

@shogun-kub
Copy link
Contributor Author

Да по идее бы любую живность запрещать, кроме свиней, овец, коров и куриц. Может даже 3 режима

  1. Запрет только враждебных
  2. Запрет всех, кроме свиней, овец, коров и куриц
  3. Запрет вообще всех

Насчёт третьего(да и второго) есть риск, что дружественные мобы(кошки, собаки) начнут пропадать при телепортации. Они же телепортятся к приручившему их игроку. Возможно, конечно, что этими ванильными механиками мало кто пользуется, но всё же не хотелось бы ваниллу ломать.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants