Skip to content

fix: antag steal check#63

Merged
RedBurningPhoenix merged 1 commit into
TheMaidDev:mainfrom
CREAsTIVE:fix-antag-steal-check
Jun 12, 2026
Merged

fix: antag steal check#63
RedBurningPhoenix merged 1 commit into
TheMaidDev:mainfrom
CREAsTIVE:fix-antag-steal-check

Conversation

@CREAsTIVE

@CREAsTIVE CREAsTIVE commented May 30, 2026

Copy link
Copy Markdown
Contributor

Описание

Теперь большая часть задач проверяет наличие предмета перед выдачей задачи на воровство


Изменения

🆑 CREAsTIVE

  • tweak: Задачи антагов теперь проверяют наличие предмета на карте.

Summary by CodeRabbit

  • Bug Fixes
    • Adjusted steal objective verification mechanics for thief, traitor, changeling, and corporate agent roles to improve objective consistency and reliability across different game scenarios.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 30, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR enables map-existence verification for MAID steal objective checks across multiple role-based objective systems (thief, traitor, changeling, corporate agent) by updating the StealCondition.verifyMapExistence flag from false to true at the base objective level, then explicitly overriding this behavior back to false for four specific thief objectives.

Changes

MAID Steal Objective Behavior

Layer / File(s) Summary
Base objective map-existence verification
Resources/Prototypes/Objectives/thief.yml, Resources/Prototypes/Objectives/traitor.yml, Resources/Prototypes/_Goobstation/Changeling/Objectives/changeling.yml, Resources/Prototypes/_Goobstation/Objectives/corporageagent.yml
StealCondition.verifyMapExistence is changed from false to true for BaseThiefStealObjective, BaseTraitorStealObjective, ChangelingStealObjective, and BaseCorporateStealObjective.
Thief objective specific overrides
Resources/Prototypes/Objectives/thief.yml
WantedListCartridgeStealObjective, MedicalTechFabCircuitboardStealObjective, AmePartFlatpackStealObjective, and CargoShuttleCircuitboardStealObjective explicitly set verifyMapExistence: false to override the base class behavior.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A thief slips through the station's doors,
Checking maps before the heist begins—
Some targets need the world to exist,
Others dance in spaces unconfirmed.
Each role now knows the rules that bind them true. 🗺️

🚥 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 'fix: antag steal check' directly and concisely describes the main change: enabling map-existence verification for antagonist steal objectives to ensure items exist before assigning theft tasks.
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.

🧹 Nitpick comments (3)
Resources/Prototypes/_Goobstation/Changeling/Objectives/changeling.yml (1)

297-297: 💤 Low value

Consider removing redundant verifyMapExistence: true setting.

LingStealSupermatterSliverObjective now inherits verifyMapExistence: true from its parent ChangelingStealObjective (Line 114), making this explicit setting unnecessary.

♻️ Cleanup suggestion
 - type: StealCondition
-  verifyMapExistence: true
   stealGroup: SupermatterSliver
🤖 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/_Goobstation/Changeling/Objectives/changeling.yml` at
line 297, Remove the redundant verifyMapExistence: true entry from the
LingStealSupermatterSliverObjective block in changeling.yml since
ChangelingStealObjective already defines verifyMapExistence: true; locate the
LingStealSupermatterSliverObjective definition and delete the explicit
verifyMapExistence line so inheritance from ChangelingStealObjective is relied
upon.
Resources/Prototypes/Objectives/thief.yml (1)

122-122: 💤 Low value

Consider removing redundant verifyMapExistence: true settings.

These child objectives (BaseThiefStealCollectionObjective, BaseThiefStealStructureObjective, BaseThiefStealAnimalObjective, LAMPStealCollectionObjective) now inherit verifyMapExistence: true from their parent BaseThiefStealObjective (Line 112), making these explicit settings unnecessary.

♻️ Cleanup suggestion

Remove the redundant verifyMapExistence: true lines from:

  • Line 122 (BaseThiefStealCollectionObjective)
  • Line 130 (BaseThiefStealStructureObjective)
  • Line 140 (BaseThiefStealAnimalObjective)
  • Line 230 (LAMPStealCollectionObjective)

Also applies to: 130-130, 140-140, 230-230

🤖 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/thief.yml` at line 122, Remove the redundant
verifyMapExistence: true entries from the child objective definitions since they
inherit this flag from BaseThiefStealObjective; specifically delete the
verifyMapExistence lines in BaseThiefStealCollectionObjective,
BaseThiefStealStructureObjective, BaseThiefStealAnimalObjective and
LAMPStealCollectionObjective so the children rely on the parent
BaseThiefStealObjective's setting.
Resources/Prototypes/_Goobstation/Objectives/corporageagent.yml (1)

388-388: 💤 Low value

Consider removing redundant verifyMapExistence: true setting.

CorporateStealSupermatterSliverObjective now inherits verifyMapExistence: true from its parent BaseCorporateStealObjective (Line 38), making this explicit setting unnecessary.

♻️ Cleanup suggestion
 - type: StealCondition
-  verifyMapExistence: true
   stealGroup: SupermatterSliver
🤖 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/_Goobstation/Objectives/corporageagent.yml` at line 388,
Remove the redundant verifyMapExistence: true entry from the
CorporateStealSupermatterSliverObjective YAML block since it already inherits
verifyMapExistence: true from BaseCorporateStealObjective; locate the
CorporateStealSupermatterSliverObjective definition and delete the
verifyMapExistence key so the objective relies on the parent setting.
🤖 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/_Goobstation/Changeling/Objectives/changeling.yml`:
- Line 297: Remove the redundant verifyMapExistence: true entry from the
LingStealSupermatterSliverObjective block in changeling.yml since
ChangelingStealObjective already defines verifyMapExistence: true; locate the
LingStealSupermatterSliverObjective definition and delete the explicit
verifyMapExistence line so inheritance from ChangelingStealObjective is relied
upon.

In `@Resources/Prototypes/_Goobstation/Objectives/corporageagent.yml`:
- Line 388: Remove the redundant verifyMapExistence: true entry from the
CorporateStealSupermatterSliverObjective YAML block since it already inherits
verifyMapExistence: true from BaseCorporateStealObjective; locate the
CorporateStealSupermatterSliverObjective definition and delete the
verifyMapExistence key so the objective relies on the parent setting.

In `@Resources/Prototypes/Objectives/thief.yml`:
- Line 122: Remove the redundant verifyMapExistence: true entries from the child
objective definitions since they inherit this flag from BaseThiefStealObjective;
specifically delete the verifyMapExistence lines in
BaseThiefStealCollectionObjective, BaseThiefStealStructureObjective,
BaseThiefStealAnimalObjective and LAMPStealCollectionObjective so the children
rely on the parent BaseThiefStealObjective's setting.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8438a647-3f93-45ed-87ee-3ec6f8ca1d94

📥 Commits

Reviewing files that changed from the base of the PR and between c674a74 and dd68efb.

📒 Files selected for processing (4)
  • Resources/Prototypes/Objectives/thief.yml
  • Resources/Prototypes/Objectives/traitor.yml
  • Resources/Prototypes/_Goobstation/Changeling/Objectives/changeling.yml
  • Resources/Prototypes/_Goobstation/Objectives/corporageagent.yml

@RedBurningPhoenix RedBurningPhoenix merged commit e25c433 into TheMaidDev:main Jun 12, 2026
14 checks passed
github-actions Bot pushed a commit that referenced this pull request Jun 12, 2026
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