Skip to content

письма и аномалии#620

Open
benjii158 wants to merge 8 commits into
corvax-team:masterfrom
benjii158:rober-obj
Open

письма и аномалии#620
benjii158 wants to merge 8 commits into
corvax-team:masterfrom
benjii158:rober-obj

Conversation

@benjii158

@benjii158 benjii158 commented May 22, 2026

Copy link
Copy Markdown
Contributor

агенты больше не бабахают аномы и не воруют письма, ведь отныне этим занимаются клептоманы

Описание PR

цель на кражу писем перенесена от агента к вору, а также полностью вырезана цель на коллапс аномалий

Почему / Баланс

таск

Технические детали

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

Медиа

не требуется (что показывать, ВС код?)

Требования

Согласие с условиями

  • Я согласен с условиями LICENSE и CLA.

Критические изменения

отсутствуют

Список изменений

🆑 benjamin

  • wl-remove: Цель на коллапс трех аномалий
  • wl-tweak: цель на письма перенесена из пула целей агента в пул целей вора

Summary by CodeRabbit

  • New Features

    • Added a Mail Fraud objective for the thief role (single-instance, medium-low difficulty, new objective condition and icon).
  • Changes

    • Disabled the traitor sabotage objective group.
    • Removed Supercrit Anomalies and Mail Fraud from traitor objective options.

Review Change Stack

агенты больше не бабахают аномы и не воруют письма, ведь отныне этим занимаются клептоманы
@coderabbitai

coderabbitai Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR adds a MailFraudObjective to thief prototypes, disables SupercritAnomaliesObjective for traitors and removes its group entry, and disables/removes MailFraudObjective from traitor prototypes and traitor objective groups.

Changes

Objective Configuration Adjustments

Layer / File(s) Summary
Add MailFraudObjective to thief objectives
Resources/Prototypes/Objectives/thief.yml
New MailFraudObjective thief entity prototype added with mail_bag.rsi icon, MailFraudCondition, NumberObjective range 8–12 (objective-condition-mail-fraud-title), ObjectiveLimit 1, and difficulty 0.5.
Disable SupercritAnomaliesObjective and sabotage group
Resources/Prototypes/Objectives/traitor.yml, Resources/Prototypes/Objectives/objectiveGroups.yml
SupercritAnomaliesObjective entity removed from traitor prototypes; its weightedRandom block and top-level TraitorObjectiveGroupSabotage selection weight are commented out in objectiveGroups.yml.
Disable MailFraudObjective for traitors and remove from other group
Resources/Prototypes/Objectives/traitor.yml, Resources/Prototypes/Objectives/objectiveGroups.yml
MailFraudObjective entity block is fully commented out in traitor configuration (parent changed to BaseThiefObjective inside the commented block), and MailFraudObjective weight is commented out in TraitorObjectiveGroupOther.

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

size/S

Suggested reviewers

  • tau27
  • oldschoolotaku
  • Litogin

Poem

🐰 I nibble notes and sort the mail,
I tuck a plan inside each tale.
Thieves get bags, a sly new chore,
Traitors lose the anomaly door.
Hooray — mischief lands on the trail! 📬

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'письма и аномалии' (letters and anomalies) directly reflects the main changes: moving mail fraud objective to thief pool and removing anomaly sabotage objective entirely.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Resources/Prototypes/Objectives/objectiveGroups.yml`:
- Around line 50-54: The commented-out weightedRandom prototype
"TraitorObjectiveGroupSabotage" causes TraitorObjectiveGroupSabotage: 1 to
reference a missing group and makes ObjectivesSystem.GetRandomObjective return
null; fix by either restoring or removing that prototype or guarding the lookup:
restore the weighted-random prototype block (uncomment the
TraitorObjectiveGroupSabotage weightedRandom definition) or update
ObjectivesSystem.GetRandomObjective to check for a missing group id after
selection and skip or fallback (e.g., continue to next weight or choose a
default group) instead of returning null; reference the
TraitorObjectiveGroupSabotage id in objectiveGroups.yml and the
GetRandomObjective method in ObjectivesSystem when applying the change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 429ca1c7-0430-47d5-81e3-694949da5282

📥 Commits

Reviewing files that changed from the base of the PR and between 8daa59f and 621fd22.

📒 Files selected for processing (3)
  • Resources/Prototypes/Objectives/objectiveGroups.yml
  • Resources/Prototypes/Objectives/thief.yml
  • Resources/Prototypes/Objectives/traitor.yml

Comment thread Resources/Prototypes/Objectives/objectiveGroups.yml

@oldschoolotaku oldschoolotaku left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. коменты - потеряно
  2. глянь последний ревью. у тебя это тесты кладет

title: objective-condition-supercrit-anomalies-title
- type: ObjectiveLimit
limit: 1
#q- type: entity

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread Resources/Prototypes/Objectives/traitor.yml Outdated
Comment thread Resources/Prototypes/Objectives/traitor.yml
Comment thread Resources/Prototypes/Objectives/thief.yml Outdated
Comment thread Resources/Prototypes/Objectives/objectiveGroups.yml Outdated
Co-authored-by: nukkuminen <90336027+oldschoolotaku@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Resources/Prototypes/Objectives/traitor.yml`:
- Line 421: The active "parent: [BaseThiefObjective, BaseCounterObjective]" line
is inside a disabled/commented-out entity block and breaks YAML parsing; either
comment out that parent line (so it becomes part of the disabled block) or
remove the entire disabled entity block; look for the traitor entity definition
containing the parent declaration and update the "parent: [BaseThiefObjective,
BaseCounterObjective]" line (previously changed from BaseTraitorObjective)
accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 42d0ad2d-b184-4ad4-9f4a-032b017a226b

📥 Commits

Reviewing files that changed from the base of the PR and between 621fd22 and c3db154.

📒 Files selected for processing (1)
  • Resources/Prototypes/Objectives/traitor.yml

Comment thread Resources/Prototypes/Objectives/traitor.yml Outdated
benjii158 and others added 5 commits May 26, 2026 13:46
Co-authored-by: nukkuminen <90336027+oldschoolotaku@users.noreply.github.com>
учел замечания отаку и просто все вырезал нахер
еще немного вырезанного по просьбе отаку
олдскул отаку сделала так чтобы на локалке все ложилось нахуй, отныне буду чинить тесты
@github-actions github-actions Bot added size/S and removed size/M labels May 27, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
Resources/Prototypes/Objectives/traitor.yml (1)

399-415: 💤 Low value

Consider removing commented code entirely.

The entire MailFraudObjective entity is commented out and appears to be moved to thief.yml (per PR stack). Keeping commented-out prototypes in the codebase can create maintenance confusion, especially since Line 400 modifies the parent field within the comment itself.

🧹 Suggested cleanup

Remove lines 399-415 entirely rather than keeping them as comments, since the objective has been moved to the thief prototype file.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Resources/Prototypes/Objectives/traitor.yml` around lines 399 - 415, Remove
the dead commented-out MailFraudObjective block from traitor.yml: delete the
entire commented prototype that defines MailFraudObjective (the commented-parent
change from BaseTraitorObjective to BaseThiefObjective and its components:
Objective, MailFraudCondition, NumberObjective, ObjectiveLimit) since that
prototype was moved to the thief prototype file; this avoids stale commented
code and potential confusion.
Resources/Prototypes/Objectives/objectiveGroups.yml (1)

50-54: 💤 Low value

Consider removing commented objective group definition.

The TraitorObjectiveGroupSabotage weightedRandom block is disabled and no longer referenced (Line 9 is also commented out). Removing these commented lines would reduce maintenance burden and avoid confusion about whether this code might be re-enabled.

🧹 Suggested cleanup

Remove lines 50-54 entirely since the sabotage objective group is being permanently disabled for traitors.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Resources/Prototypes/Objectives/objectiveGroups.yml` around lines 50 - 54,
Remove the disabled weightedRandom objective group by deleting the commented
block for TraitorObjectiveGroupSabotage (the lines containing "type:
weightedRandom", "id: TraitorObjectiveGroupSabotage" and its "weights"
subsection) so the file no longer contains that commented-out definition; this
cleans up the unused Sabotage objective reference and avoids confusion about
re-enabling it later.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@Resources/Prototypes/Objectives/objectiveGroups.yml`:
- Around line 50-54: Remove the disabled weightedRandom objective group by
deleting the commented block for TraitorObjectiveGroupSabotage (the lines
containing "type: weightedRandom", "id: TraitorObjectiveGroupSabotage" and its
"weights" subsection) so the file no longer contains that commented-out
definition; this cleans up the unused Sabotage objective reference and avoids
confusion about re-enabling it later.

In `@Resources/Prototypes/Objectives/traitor.yml`:
- Around line 399-415: Remove the dead commented-out MailFraudObjective block
from traitor.yml: delete the entire commented prototype that defines
MailFraudObjective (the commented-parent change from BaseTraitorObjective to
BaseThiefObjective and its components: Objective, MailFraudCondition,
NumberObjective, ObjectiveLimit) since that prototype was moved to the thief
prototype file; this avoids stale commented code and potential confusion.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5af47dd7-58c7-41d5-a677-b55a0b66e490

📥 Commits

Reviewing files that changed from the base of the PR and between c3db154 and 816691f.

📒 Files selected for processing (3)
  • Resources/Prototypes/Objectives/objectiveGroups.yml
  • Resources/Prototypes/Objectives/thief.yml
  • Resources/Prototypes/Objectives/traitor.yml
💤 Files with no reviewable changes (1)
  • Resources/Prototypes/Objectives/thief.yml

@oldschoolotaku oldschoolotaku left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

гун

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.

2 participants