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

Исправляет выпадение антагов кадету СБ #726

Closed
wants to merge 6 commits into from

Conversation

HMBGERDO
Copy link

Что этот PR делает

Добавляет профессию кадет СБ в проверки при выборе антагонистов.

Почему это хорошо для игры

СБшники не могут быть антагами не просто так

Тестирование

Скомпилировал, запустил

Changelog

🆑
fix: Кадету СБ более недоступны антаг роли, как и офицерам СБ
/:cl:

@HMBGERDO
Copy link
Author

пр альтернативен изменениям в #723 , так что принимать оба точно не стоит

@PhantornRU
Copy link
Collaborator

Не модульно.
Ты тестировал? Пробовал брать интерна? Я тестировал и этот способ не сработает, я запускал с разными возможностями и по итогу мне удалось при таких настройках стать кадетов-тритором. Ибо это НЕ профессия, это именно что альтернативная должность.

Альтернативу с полностью выпилом проффки и оставления альт-титтла реализовал тут:
#723

@PhantornRU
Copy link
Collaborator

Да, по модулям. У нас чтобы в будущем не возникало конфликтов, все изменения стоит выносить в модуль.
Я пробовал точно также делать в модуле и перезаписи. Но увы. Пришлось идти по сложному пути и вместо костыля делать работающую реализацию.

@HMBGERDO HMBGERDO marked this pull request as draft November 18, 2023 01:26
@HMBGERDO
Copy link
Author

так, ну видимо мне нужно обосновать, почему это должно работать

возьмем ситуацию, когда у нас в префах выбран кадет на high и нам выпадает генокрад

посмотрим порядок, как это все работает
image

начинается все с функции pre_setup, в ней определяется, кто может быть антагусом и собственно выбираются игроки для ролей
image

на данный момент у игрока не выбрана профессия, не указан assigned_role, но записаны restricted_roles

далее по списку идет распределение профессий, а именно SSjobs.DivideOccupations()

в DivideOccupations() у нас идет распределение профессий и, среди прочих проверок, там есть вот такая:
image

сравнивается текущая профессия, которую хочет выдать система с тем, что выдавать нельзя
при этом среди текущих профессий также проходит и датум Security Cadet, но в restricted_roles до этого PR он указан не будет. Это можно увидеть в логах SSjobs:
image

Следовательно, проверка пройдет и игроку будет выдана профессия Security Cadet, несмотря на то, что он уже является, например, генокрадом

Ну а дальше вы сами знаете

вот вроде и всё
если есть ошибка - я слушаю

если получилось выкинуть антага с этими изменениями - опишите подробные действия

@PhantornRU
Copy link
Collaborator

Хорошо, он смотрит по Assigned и ты запретил Security Cadet. Что насчет Security Graduate? :)

@HMBGERDO
Copy link
Author

У Security Graduate нет своего отдельного job/datum, из-за этого он никогда не будет в этой проверке
image
image

@github-actions github-actions bot removed the :finnadie: НЕ МОДУЛЬНО Па-ху-ю. label Nov 18, 2023
@HMBGERDO HMBGERDO marked this pull request as ready for review November 18, 2023 03:35
@HMBGERDO HMBGERDO marked this pull request as draft November 18, 2023 03:49
@HMBGERDO HMBGERDO marked this pull request as ready for review November 18, 2023 04:14
@HMBGERDO
Copy link
Author

Протестировал с распределением ролей раунд стартом и через create antagonist, работает

@PhantornRU
Copy link
Collaborator

Тогда странно что с тем же кодом мне удалось за кадета получить антажку. Я внес все новичковые роли в качестве исключения. Ну да и ладно.

modular_ss220/modular_ss220.dme Outdated Show resolved Hide resolved
@PhantornRU
Copy link
Collaborator

А теперь реши проблему ДЖОБок, когда людей принудительно кидает на роль, если хочешь оставить этот вариант кода.
Либо моим вариантом мы просто отказываемся от них xD

@github-actions github-actions bot added the Merge Conflict Ну блять... label Nov 18, 2023
@PhantornRU
Copy link
Collaborator

Извини. Но закрываем до переделки роли новичков.

@PhantornRU PhantornRU closed this Nov 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants