ТРУСЫЫЫЫЫ - #178
Conversation
|
RSI Diff Bot; head commit 6e1bfda merging into 3e26599 Resources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi
Resources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi
Resources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi
Resources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi
Resources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi
Resources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi
Resources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi
Resources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📜 Recent review details⏰ Context from checks skipped due to timeout. (5)
🧰 Additional context used📓 Path-based instructions (6)Resources/**/*.{yml,ftl,json}📄 CodeRabbit inference engine (.cursor/rules/ss14-resources.mdc)
Files:
Resources/**/*.json📄 CodeRabbit inference engine (AGENTS.md)
Files:
⚙️ CodeRabbit configuration file
Files:
Resources/**/*.yml📄 CodeRabbit inference engine (.cursor/rules/ss14-resources.mdc)
Files:
Resources/**/*.{yml,ftl}📄 CodeRabbit inference engine (.cursor/rules/ss14-resources.mdc)
Files:
**/*.{cs,xaml,yml,yaml}📄 CodeRabbit inference engine (AGENTS.md)
Files:
Resources/Prototypes/**/*.yml📄 CodeRabbit inference engine (AGENTS.md)
Files:
⚙️ CodeRabbit configuration file
Files:
🧠 Learnings (9)📚 Learning: 2026-06-19T22:21:36.179ZApplied to files:
📚 Learning: 2026-07-26T02:48:44.443ZApplied to files:
📚 Learning: 2026-06-29T05:34:31.137ZApplied to files:
📚 Learning: 2026-07-29T08:12:37.068ZApplied to files:
📚 Learning: 2026-07-05T18:40:45.199ZApplied to files:
📚 Learning: 2026-07-05T23:32:09.578ZApplied to files:
📚 Learning: 2026-07-06T05:08:05.731ZApplied to files:
📚 Learning: 2026-07-07T17:55:50.395ZApplied to files:
📚 Learning: 2026-07-28T15:44:38.498ZApplied to files:
🔇 Additional comments (2)
Главное изменение
Resources / localization
Validation / risk
WalkthroughДобавлены шесть прототипов нижнего белья и шесть прототипов бюстгальтеров с локализацией и текстурами. Добавлены ChangesКонтент нижнего белья и торгового автомата
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant VendingMachineUnderwear
participant UnderMateInventory
participant ClothingPrototypes
VendingMachineUnderwear->>UnderMateInventory: Загружает ассортимент
UnderMateInventory->>ClothingPrototypes: Разрешает прототип выбранного предмета
VendingMachineUnderwear->>ClothingPrototypes: Выдаёт предмет
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ 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 |
|
@coderabbitai почему падают тесты? |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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/_Arcane/Entities/Clothing/Underwear/undershirt.yml`:
- Around line 46-98: Обновите значения sprite в компонентах Sprite прототипов
ClothingBraDriada, ClothingBraEroticPurple, ClothingBraMedusa, ClothingBraLeafs,
ClothingBraPinkFancy и ClothingBraRed: замените сегмент пути
_Arcane/Clothing/Undershirt на _Arcane/Clothing/Underwear/undershirt, сохранив
соответствующие имена RSI-файлов.
In
`@Resources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/meta.json`:
- Around line 15-123: Update the delays entries for the normal-unshaded and
deny-unshaded animations to use per-direction arrays instead of numeric values,
wrapping each 0.2 delay in an array with the direction count matching its
sprite.
- Line 4: Rename the metadata key “copyirght” to the required “copyright” key in
the vending machine resource metadata, preserving its existing value.
🪄 Autofix
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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 494e2c13-43ec-482a-9102-5999475ff975
⛔ Files ignored due to path filters (29)
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi/equipped-UNDERWEAR.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi/equipped-UNDERWEAR.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi/equipped-UNDERWEAR.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi/equipped-UNDERWEAR.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi/equipped-UNDERWEAR.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi/equipped-UNDERWEAR.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi/equipped-UNDERSHIRT.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi/equipped-UNDERSHIRT.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi/equipped-UNDERSHIRT.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi/equipped-UNDERSHIRT.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi/equipped-UNDERSHIRT.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi/equipped-UNDERSHIRT.pngis excluded by!**/*.pngResources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/broken.pngis excluded by!**/*.pngResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/deny-unshaded.pngis excluded by!**/*.pngResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/normal-unshaded.pngis excluded by!**/*.pngResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/off.pngis excluded by!**/*.pngResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/panel.pngis excluded by!**/*.png
📒 Files selected for processing (20)
Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/undershirt.ftlResources/Locale/ru-RU/_Arcane/entities/clothing/underwear/underwear.ftlResources/Locale/ru-RU/_Arcane/entities/machines/vending_machines.ftlResources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi/meta.jsonResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/meta.json
📜 Review details
⏰ Context from checks skipped due to timeout. (5)
- GitHub Check: build (ubuntu-latest)
- GitHub Check: Test Packaging
- GitHub Check: YAML map schema validator
- GitHub Check: YAML Linter
- GitHub Check: build (ubuntu-latest)
🧰 Additional context used
📓 Path-based instructions (9)
Resources/**/*.{yml,ftl,json}
📄 CodeRabbit inference engine (.cursor/rules/ss14-resources.mdc)
Resources/**/*.{yml,ftl,json}: Follow SS14 naming conventions when editing prototype, localization, and resource files
Follow SS14 upstream maintenance practices when editing resource files
Files:
Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/undershirt.ftlResources/Locale/ru-RU/_Arcane/entities/machines/vending_machines.ftlResources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi/meta.jsonResources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi/meta.jsonResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Locale/ru-RU/_Arcane/entities/clothing/underwear/underwear.ftlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
Resources/**/*.ftl
📄 CodeRabbit inference engine (.cursor/rules/ss14-resources.mdc)
Follow SS14 localization string standards and formatting rules
Files:
Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/undershirt.ftlResources/Locale/ru-RU/_Arcane/entities/machines/vending_machines.ftlResources/Locale/ru-RU/_Arcane/entities/clothing/underwear/underwear.ftl
Resources/**/*.{yml,ftl}
📄 CodeRabbit inference engine (.cursor/rules/ss14-resources.mdc)
Follow SS14 prototype locale integration rules and practices
Files:
Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/undershirt.ftlResources/Locale/ru-RU/_Arcane/entities/machines/vending_machines.ftlResources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Locale/ru-RU/_Arcane/entities/clothing/underwear/underwear.ftlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
**/*.ftl
📄 CodeRabbit inference engine (AGENTS.md)
Use specific
kebab-caselocalization IDs.
Files:
Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/undershirt.ftlResources/Locale/ru-RU/_Arcane/entities/machines/vending_machines.ftlResources/Locale/ru-RU/_Arcane/entities/clothing/underwear/underwear.ftl
Resources/Locale/**/*.ftl
📄 CodeRabbit inference engine (AGENTS.md)
Resources/Locale/**/*.ftl: Add or update FTL entries underResources/Locale/, starting withen-US; add/update matchingru-RUentries when the same feature already maintains Russian locale or the change is Orion-facing and you can do so without guessing translations.
Use specifickebab-caselocalization IDs.
Files:
Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/undershirt.ftlResources/Locale/ru-RU/_Arcane/entities/machines/vending_machines.ftlResources/Locale/ru-RU/_Arcane/entities/clothing/underwear/underwear.ftl
⚙️ CodeRabbit configuration file
Resources/Locale/**/*.ftl: Treat localization as mandatory:
- Every player-facing string should be localized.
- Prefer specific kebab-case keys.
- Flag raw strings in code or gameplay/resource changes that are missing locale updates.
- Check consistency when prototype names, descriptions, markings, or UI text changed.
Files:
Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/undershirt.ftlResources/Locale/ru-RU/_Arcane/entities/machines/vending_machines.ftlResources/Locale/ru-RU/_Arcane/entities/clothing/underwear/underwear.ftl
Resources/**/*.json
📄 CodeRabbit inference engine (AGENTS.md)
Keep RSI
meta.jsonordered asversion,license,copyright,size,stateswith 4-space indentation.
Files:
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi/meta.json
⚙️ CodeRabbit configuration file
Resources/**/*.json: Review resource JSON files for path correctness and consistency.
For RSI meta.json files, check ordering, state/layout consistency, and whether referenced prototypes or visualizers still match the available states.
Files:
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi/meta.json
Resources/**/*.yml
📄 CodeRabbit inference engine (.cursor/rules/ss14-resources.mdc)
Resources/**/*.yml: Follow SS14 ECS prototype patterns and conventions
Follow SS14 graphics generic visualizer appearance conventions and patterns
Resources/**/*.yml: Loadss14-naming-conventionsdocumentation for Resources work
Loadss14-ecs-prototypesdocumentation for Resources work
Loadss14-upstream-maintenancedocumentation for Resources work
Loadss14-prototypes-localedocumentation for Resources work
Loadss14-localization-stringsdocumentation for Resources work
Loadss14-sprite-overlays-shadersdocumentation when working with RSI metadata, textures, sprite layers, overlays, or shader resources
Validate YAML after editsRun
dotnet run --project Content.YAMLLinter/Content.YAMLLinter.csproj -c DebugOptto validate YAML and resource edits.
Files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
**/*.{cs,xaml,yml,yaml}
📄 CodeRabbit inference engine (AGENTS.md)
If the task adds tests or you need to choose the right test layer, load skill
ss14-tests-authoring.
Files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
Resources/Prototypes/**/*.yml
📄 CodeRabbit inference engine (AGENTS.md)
Resources/Prototypes/**/*.yml: Put prototypes under the most specific existing subtree inResources/Prototypes/. If you introduce a new prototype parent tree, put parent prototypes inbase.ymland variants in sibling files.
Keep entity prototype field order astype,abstract,parent,id,categories,name,suffix,description,components. Do not insert blank lines between- type:entries inside acomponents:list. Separate prototype blocks with one blank line.
Prefersuffixfor spawn-menu distinctions instead of changing prototypename.
Files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
⚙️ CodeRabbit configuration file
Resources/Prototypes/**/*.yml: Review SS14 prototypes carefully:
- Use the narrowest existing subtree and avoid duplicating nearby prototype files or parent trees.
- Keep entity field order as: type, abstract, parent, id, categories, name, suffix, description, components.
- Prefer base.yml for parent trees and sibling files for variants.
- Do not add blank lines inside components lists.
- Call out broken inheritance, risky prototype ID changes, missing paired locale updates, and Appearance / GenericVisualizer mismatches.
Files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
🧠 Learnings (9)
📚 Learning: 2026-07-06T05:08:05.731Z
Learnt from: UmbiMax
Repo: ArcaneSS14/arcane-old PR: 101
File: Resources/Prototypes/_Orion/Entities/Objects/Specific/Medical/medkits.yml:0-0
Timestamp: 2026-07-06T05:08:05.731Z
Learning: When reviewing ArcaneSS14 “_Arcane” prototype changes (especially entity id renames/swaps made via # Arcane-Edit in vanilla-mirrored YAML files), ensure locale/localization handling matches these rules:
1) If a renamed/swapped entity id occurs via a vanilla-mirrored YAML file but the entity is treated as “_Arcane”, add the new id’s localized strings under the corresponding “_Arcane” locale path (e.g., Resources/Locale/<lang>/ss14-ru/prototypes/_arcane/...). Treat this as an explicit exception to the YAML living outside the _Arcane folder.
2) If the old vanilla id is released and then reused by a new “_Arcane” entity, do not create duplicate locale entries for that id under _Arcane; the pre-existing vanilla-mirrored locale entries already apply.
3) For “_Arcane” entity .ftl files, do not reference a parent/base prototype’s locale key (e.g., a base description key) unless that base prototype is defined within the same mirrored YAML path. If the base is abstract or defined elsewhere (e.g....
Applied to files:
Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/undershirt.ftlResources/Locale/ru-RU/_Arcane/entities/machines/vending_machines.ftlResources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Locale/ru-RU/_Arcane/entities/clothing/underwear/underwear.ftlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
📚 Learning: 2026-06-19T22:21:36.179Z
Learnt from: MataVsn
Repo: ArcaneSS14/arcane-station PR: 69
File: Resources/Textures/_Arcane/Mobs/Silicon/Medical/k4tmed.rsi/meta.json:14-16
Timestamp: 2026-06-19T22:21:36.179Z
Learning: When reviewing RSI texture meta.json files under Resources/Textures/_Arcane (including borg chassis variants like k4t*.rsi), do not flag a difference in `directions` for rest-state entries. If the state name is a rest state (e.g., `*-rest`) for these borg chassis sprites, `directions: 1` is an intentional art choice and should not be treated as a mismatch against other variants that use `directions: 4`. Only raise an issue if the `directions` value is invalid for the file/spec (e.g., not the expected numeric options) or if it occurs on non-rest states.
Applied to files:
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi/meta.json
📚 Learning: 2026-07-26T02:48:44.443Z
Learnt from: UmbiMax
Repo: ArcaneSS14/arcane PR: 136
File: Resources/Textures/Clothing/Back/Duffels/captain.rsi/meta.json:4-4
Timestamp: 2026-07-26T02:48:44.443Z
Learning: In `Resources/Textures/**/**/*.rsi/meta.json`, if the PR replaces sprite assets with sources that do not include the previous credit holders (e.g., the new sprites come from another upstream/source), do not keep attribution/author fields for contributors who made no contribution to the current assets. Update the attribution to reflect the actual authors/sources of the sprites currently referenced by the .rsi.
Applied to files:
Resources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi/meta.jsonResources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi/meta.jsonResources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi/meta.json
📚 Learning: 2026-06-29T05:34:31.137Z
Learnt from: Alazell
Repo: ArcaneSS14/arcane-station PR: 99
File: Resources/Prototypes/Entities/Clothing/Belt/belts.yml:973-974
Timestamp: 2026-06-29T05:34:31.137Z
Learning: В SS14 YAML-прототипах для компонента `Storage` поле `grid` задаёт **включительные** координаты прямоугольника. При подсчёте вместимости учитывайте оффсет-инклюзивность: прямоугольник `x1,y1,x2,y2` означает размеры `width = (x2 - x1 + 1)` и `height = (y2 - y1 + 1)`, а число ячеек `width * height`. Например, `0,0,0,0` = 1 ячейка, а `0,0,6,2` = (6-0+1)*(2-0+1)=7*3=21. При ревью файлов наподобие `Resources/Prototypes/Entities/Clothing/Belt/belts.yml` не интерпретируйте `x2/y2` как эксклюзивные (чтобы не ошибиться на 1 в ширине/высоте).
Applied to files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
📚 Learning: 2026-07-29T08:12:37.068Z
Learnt from: UmbiMax
Repo: ArcaneSS14/arcane PR: 153
File: Resources/Prototypes/_Orion/Entities/Objects/Tools/energy_dome.yml:137-137
Timestamp: 2026-07-29T08:12:37.068Z
Learning: In ArcaneSS14 prototype YAMLs, the YAML field that disables synchronization for `Content.Shared.Power.Components.BatteryComponent` is spelled exactly `netsync` (all lowercase), not `netSync`. For prototypes derived from `PowerNetworkBattery` (including `BaseAPC`, `CoreSubstation`, `BaseSMES`, `TeslaCoil`), set `netsync: false`; otherwise `Content.Server.Power.EntitySystems.BatterySystem.OnStartup` can throw `DebugAssertException` for a predicted battery connected to a power net. For `Resources/Prototypes/_Orion/Entities/Objects/Tools/energy_dome.yml`, ensure `EnergyDomeWiredTest` uses `netsync: false`.
Applied to files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
📚 Learning: 2026-07-05T18:40:45.199Z
Learnt from: UmbiMax
Repo: ArcaneSS14/arcane-station PR: 101
File: Resources/Prototypes/_Orion/Entities/Objects/Specific/Medical/medkits.yml:0-0
Timestamp: 2026-07-05T18:40:45.199Z
Learning: For ArcaneSS14/arcane-station custom `_Arcane`/`_Orion` entity prototypes under `Resources/Prototypes/_Arcane/` or `Resources/Prototypes/_Orion/`, embed `name` and `description` directly in the prototype `.yml` as the `en-US` fallback text (do not add a separate `en-US` locale override). Then localize only `ru-RU` by adding `ent-<EntityId>` and `ent-<EntityId>.desc` keys in `Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/...` or `.../_orion/...`, mirroring the entity `.yml` path. By contrast, vanilla-derived entities (e.g., a base `Medkit`) should omit `name`/`description` from the `.yml` entirely and instead provide both `en-US` and `ru-RU` localized `prototypes/...` entries in `Resources/Locale/{en-US,ru-RU}/ss14-ru/prototypes/...`.
Applied to files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
📚 Learning: 2026-07-05T23:32:09.578Z
Learnt from: Alazell
Repo: ArcaneSS14/arcane-old PR: 117
File: Resources/Prototypes/_Arcane/Entities/Objects/Devices/pinpointer.yml:23-28
Timestamp: 2026-07-05T23:32:09.578Z
Learning: When editing ArcaneSS14/arcane-old prototype YAML related to pinpointers and tags:
- Pinpointer auto-locate vs manual retarget: `PinpointerComponent.Whitelist` controls auto-locate. If `Whitelist` is `null`, the pinpointer `Update` auto-locate logic returns early and will not search for a target; leaving it unset is safe from unintended auto-targeting. Manual retargeting during `OnAfterInteract` is governed by `RetargetingWhitelist`/`RetargetingBlacklist` (not `Whitelist`).
- Emag behavior: in `SharedPinpointerSystem.OnEmagged`, if `canRetarget: true` then `RetargetingWhitelist` is set to `null` (removing retarget restrictions, effectively allowing any retarget target); set `canEmag: false` to prevent emagging if needed.
- Tag prototype registration: any new `Tag` prototype IDs referenced in YAML (e.g., entities with `type: Tag` or `EntityWhitelist.tags`) must have a corresponding prototype declared as `- type: Tag` (commonly in `Resources/Prototypes/_Arcane/tags.yml` or an equivalent...
Applied to files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
📚 Learning: 2026-07-07T17:55:50.395Z
Learnt from: UmbiMax
Repo: ArcaneSS14/arcane-old PR: 101
File: Content.Client/Chemistry/UI/ChemMasterWindow.xaml.cs:192-194
Timestamp: 2026-07-07T17:55:50.395Z
Learning: When reviewing ArcaneSS14/arcane-old changes related to `MobState` thresholds/visuals/actions, treat the `Critical` enum value as requiring explicit mappings (it no longer implicitly behaves as an alias of `SoftCritical`). If any YAML prototype `thresholds:` (for `MobThresholdsComponent.Thresholds`) uses the bare `Critical` key (e.g., `MobThresholdsComponent.Thresholds: { Critical: ... }` for entities like `MobMouseCancer`), ensure the prototype (or referenced config) provides corresponding explicit `StateAlertDict` entries and any required `MobStateActions.actions` and `DamageStateVisuals.states` mappings for `Critical`. Otherwise, review should expect failures because the default `StateAlertDict` in `MobThresholdsComponent.cs` typically maps only `Alive`, `SoftCritical`, `HardCritical`, and `Dead`—not `Critical`.
Applied to files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
📚 Learning: 2026-07-28T15:44:38.498Z
Learnt from: UmbiMax
Repo: ArcaneSS14/arcane PR: 152
File: Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml:69-72
Timestamp: 2026-07-28T15:44:38.498Z
Learning: В ArcaneSS14/arcane не выполняйте форматирующие перестановки полей (в т.ч. изменение порядка полей) в upstream-файлах: делайте это только если правка добавляет Arcane-специфичную сущность или напрямую требуется для функциональности. Иначе сохраняйте upstream-порядок полей, даже если он противоречит локальным рекомендациям, чтобы не создавать лишние diff и конфликты при upstream-синхронизации. Исключение: допустимо переупорядочивание/форматирование в `Resources/Prototypes/_Arcane` (и только там).
Applied to files:
Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.ymlResources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.ymlResources/Prototypes/_Arcane/Entities/Clothing/Underwear/undershirt.yml
🪛 GitHub Actions: RSI Validator / 0_Validate RSIs.txt
Resources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/meta.json
[error] 1-1: RSI metadata validation failed: required property 'copyright' is missing. Command: python3 RobustToolbox/Schemas/validate_rsis.py Resources/
[error] 1-1: RSI metadata validation failed: values in states[1].delays[0..99] are numbers (0.2) but must be arrays.
[error] 1-1: RSI metadata validation failed: values in states[2].delays[0..1] are numbers (0.2) but must be arrays.
🪛 GitHub Actions: RSI Validator / Validate RSIs
Resources/Textures/_Arcane/Structures/Machines/VendingMachines/pantymate.rsi/meta.json
[error] 1-1: RSI validation failed when running 'python3 RobustToolbox/Schemas/validate_rsis.py Resources/': required property 'copyright' is missing.
[error] 1-1: RSI validation failed: $.states[1].delays entries 0–99 contain numeric value 0.2, but each entry must be an array.
[error] 1-1: RSI validation failed: $.states[2].delays entries 0–1 contain numeric value 0.2, but each entry must be an array.
🔇 Additional comments (18)
Resources/Prototypes/_Arcane/Entities/Clothing/Underwear/underwear.yml (1)
74-126: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/Underwear/driada.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/Underwear/erotic_purple.rsi/meta.json (1)
1-18: LGTM!Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/undershirt.ftl (1)
3-14: LGTM!Resources/Locale/ru-RU/_Arcane/entities/clothing/underwear/underwear.ftl (1)
3-14: LGTM!Resources/Prototypes/_Arcane/Catalog/VendingMachines/Inventories/undermate.yml (1)
1-187: LGTM!Resources/Locale/ru-RU/_Arcane/entities/machines/vending_machines.ftl (1)
3-4: LGTM!Resources/Prototypes/_Arcane/Entities/Structures/Machines/vending_machines.yml (1)
60-97: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/Underwear/leafs.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/Underwear/medusa.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/Underwear/pink_fancy.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/Underwear/red.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/undershirt/driada.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/undershirt/erotic_purple.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/undershirt/leafs.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/undershirt/medusa.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/undershirt/pink_fancy.rsi/meta.json (1)
1-18: LGTM!Resources/Textures/_Arcane/Clothing/Underwear/undershirt/red.rsi/meta.json (1)
1-18: LGTM!
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ArcaneSS14/arcane"
pr="178"
echo "== PR checks =="
gh pr checks "$pr" --repo "$repo" || true
echo
echo "== Failed workflow runs =="
gh run list --repo "$repo" --branch "$(gh pr view "$pr" --repo "$repo" --json headRefName --jq '.headRefName')" \
--status failure --limit 10 \
--json databaseId,displayTitle,name,status,conclusion,url,workflowName,headSha
echo
echo "== Recent workflow runs =="
gh run list --repo "$repo" --branch "$(gh pr view "$pr" --repo "$repo" --json headRefName --jq '.headRefName')" \
--limit 10 \
--json databaseId,displayTitle,name,status,conclusion,url,workflowName,headShaLength of output: 5193 🏁 Script executed: #!/bin/bash
set -euo pipefail
gh run view 30961351402 \
--repo ArcaneSS14/arcane \
--log-failedLength of output: 21122
Файл: Причины:
Нужно добавить 0.2на массивы вида: [0.2]Остальные CI-проверки в момент проверки ещё выполнялись. You are interacting with an AI system. |
|
@coderabbitai почему теперь падают тесты? |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ArcaneSS14/arcane"
pr="178"
echo "== PR checks =="
gh pr checks "$pr" --repo "$repo" || true
echo
echo "== Recent failed runs =="
gh run list --repo "$repo" \
--branch "$(gh pr view "$pr" --repo "$repo" --json headRefName --jq '.headRefName')" \
--status failure --limit 5 \
--json databaseId,displayTitle,name,workflowName,headSha,url
echo
echo "== Failed-job logs from the newest failed run =="
run_id="$(gh run list --repo "$repo" \
--branch "$(gh pr view "$pr" --repo "$repo" --json headRefName --jq '.headRefName')" \
--status failure --limit 1 --json databaseId --jq '.[0].databaseId // empty')"
if [ -n "$run_id" ]; then
gh run view "$run_id" --repo "$repo" --log-failed
else
echo "No failed workflow run found."
fiLength of output: 3271
Причина: в Добавьте поле с указанием источника или автора спрайта. Ошибки с
🐇 You are interacting with an AI system. |
|
Ещё просьба есть чтобы в лодауте трусы были обязательным предметом. Если персонаж женского пола - бюсгальтер тоже. |
ну тут хезе, будто бы лишнее. лично меня раздражало это, как ксенойоба |


















Описание PR
Добавил автомат с нижним бельём и заполнил его соответственно нижним бельём.
Медиа
Тип PR
Лицензионное соглашение
Изменения
🆑 seemah