[ADD] Черта - Неприметный#2476
Conversation
WalkthroughИзменения добавляют механику иммунитета к целевым целям объектива. Реализовано через новый компонент Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@Content.Server/Objectives/Components/TargetObjectiveImmuneComponent.cs`:
- Around line 1-8: Файл TargetObjectiveImmuneComponent находится в папке
Content.Server/Objectives/Components, но объявлен в неймспейсе
Content.Server.ADT.Objectives.Components — переместите файл в папку
Content.Server/ADT/Objectives/Components/TargetObjectiveImmuneComponent.cs и
убедитесь, что объявление public sealed partial class
TargetObjectiveImmuneComponent : Component остаётся в том же неймспейсе; если по
какой‑то причине перемещение невозможно, добавьте в PR комментарий/описание
изменения с обоснованием (требование для изменений вне /ADT/) и согласуйте с
ревьювером.
In `@Content.Server/Objectives/Systems/PickObjectiveTargetSystem.cs`:
- Around line 38-46: The HasTargetImmunity logic is applied to all target
assignments but should only block murder-target assignments; create a focused
check (e.g. HasKillTargetImmunity) or add a parameter to HasTargetImmunity so it
only applies for kill-target selection, then replace uses in
OnRandomPersonAssigned and OnRandomHeadAssigned to call the kill-only check
while leaving OnRandomTraitorProgressAssigned and OnRandomTraitorAliveAssigned
unaffected; keep the existing TargetObjectiveImmuneComponent and
MindShieldComponent semantics when implementing the new/updated check.
In `@Resources/Prototypes/ADT/Traits/quirks.yml`:
- Around line 158-165: Trait definition with id MarkedAsProtected is missing the
quirk flag present on all other traits; add the field quirk: true to the
MarkedAsProtected trait (the block with id MarkedAsProtected / name
trait-protected-name) so it matches the other 12 entries in quirks.yml and
ensure formatting/indentation matches the surrounding YAML.
🧹 Nitpick comments (1)
Content.Server/Objectives/Systems/PickObjectiveTargetSystem.cs (1)
146-150: КомментарийADT-Tweak-Endзакрывается доallHeads.Add(person), хотя эта строка является частью изменённой логики.
allHeads.Add(person)(строка 150) визуально находится за пределами блока//ADT-Tweak-End(строка 149), но по факту является частью телаif, которое было изменено в рамках ADT-твика. Формально, оригинальная строкаallHeads.Addсуществовала и ранее, но теперь она выполняется по изменённому условию. Рекомендую переместить//ADT-Tweak-Endпосле строки 150 для ясности.Предлагаемое исправление
//ADT-Tweak-Start var mind = person.Comp; if (mind.OwnedEntity is { } owned && HasComp<CommandStaffComponent>(owned)) - //ADT-Tweak-End allHeads.Add(person); + //ADT-Tweak-End
Content.Server/ADT/Objectives/Components/TargetObjectiveImmuneComponent.cs
Show resolved
Hide resolved
|
@kerfus-owo Будет вынесено на голосование |
|
Довольно сильно взбудоражило сообщество, если и добавлять то с довольно большой стоймостью |
Полагаю здесь стоит добавить не стоимость квирка, а больше целей с их оптимальным распределением |
Я этим займусь но чуть позже, пока-что просто добавлю чеклист |
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Описание PR
Частичный порт отсюда: "marked as protected trait #5274"
Почему / Баланс
Медиа
Техническая информация
Чейнджлог
🆑 Kerfus