-
Notifications
You must be signed in to change notification settings - Fork 44
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
Добавить телепортер Синдиката #35
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: faint <[email protected]>
У него проблема есть, экстренная телепортация перестала работать с апстримом. |
Никакой экстренной телепортации. Там написано, как он работает. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Реализация немного странная, есть ещё ряд других вопросов
[Dependency] private readonly IRobustRandom _random = default!; | ||
|
||
[ValidatePrototypeId<EntityPrototype>] | ||
private const string TeleportEffectPrototype = "TeleportEffect"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Поменяй тип на EntProtoId
и убери атрибут валидации, это работает именно так
SubscribeLocalEvent<SyndicateTeleporterComponent, UseInHandEvent>(OnUseInHand); | ||
} | ||
|
||
private void OnUseInHand(EntityUid entity, SyndicateTeleporterComponent teleproter, UseInHandEvent e) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Лучше используй новую перегрузку OnUseInHand(Entity<SyndicateTeleporterComponent> teleporter, ref UseInHandEvent event)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Для листинга в папке корвакс некст сделай файл по такому же пути
|
||
var tile = coordinates.GetTileRef(EntityManager, _map); | ||
|
||
if (tile is not null && _turf.IsTileBlocked(tile.Value, CollisionGroup.MobMask)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Колижен группу лучше вынести в компонент
|
||
var tile = coordinates.GetTileRef(EntityManager, _map); | ||
|
||
if (tile is not null && _turf.IsTileBlocked(tile.Value, CollisionGroup.MobMask)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
И да, ты гибнешся при попытке тепа в космос, если тайла нет, то просто добавляй в сейфы
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tile is null - true => tile is not null - false => if не срабатывает => continue не срабатывает => добавляется в safeCoordinates
Если я не ошибаюсь, он так же будет телепортировать через невидимые стены, нам точно такое нужно? Это сейф телепорт в хранилище и прочие места, без улик вообще, я не говорю про теп из космоса в оружейку и т.д. |
Я просто реализовал идею. Возможно, увеличим цену. Возможно, добавим АПИИ. |
Забирать шансы у дека это плохо. Возможно размазывать кровяку или просто днк телепортировавшегося после телепорта пофиксит эту проблему?? |
Не мёржить. Открыл для тестов. |
Рассказываю лайфхак, называется cherry pick: |
Я про то что он сломался и не гибает при попадании в стену. |
Система, которую он использует, на девмапе не работает. Проверяй на других картах. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Finnaly. |
А, не, фигня конфликт. |
Описание PR
Добавлен телепортер Синдиката по наработкам @pofitlo-Git. Работает как в Spelunky 2. Телепортирует в свободную клетку по направлению взгляда в дистанции 4-8. Если не находит свободную клетку, гибает. Использовать его можно раз в минуту. Стоит 12 ТК в аплинке.
Оригинал: space-wizards/space-station-14#30176.
Почему / Баланс
Возможно, пригодиться для АПИИ. А пока что удобное устройство для красивой смерти.
Ссылка на ветку
https://discord.com/channels/919301044784226385/1304651627260547122
Медиа
Записал бы кто.
Список изменений
🆑 FireNameFN, pofitlo-Git