Conversation
Не стал переводить двери потомучто их будут респрайтить
|
RSI Diff Bot; head commit 47687a0 merging into 5241cf4 Resources/Textures/Clothing/Hands/Gloves/Color/black.rsi
Resources/Textures/Clothing/Hands/Gloves/Color/color.rsi
Resources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi
Resources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi
Resources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi
Resources/Textures/Clothing/Shoes/Boots/magboots-science.rsi
Resources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi
Resources/Textures/Clothing/Shoes/Boots/magboots.rsi
Resources/Textures/Effects/portal.rsi
Resources/Textures/Interface/Actions/actions_borg.rsi
Resources/Textures/Interface/Actions/actions_mecha.rsi
Resources/Textures/Interface/Actions/actions_rat_king.rsi
Resources/Textures/Interface/Alerts/borg_alive.rsi
Resources/Textures/Interface/Alerts/breathing.rsi
Resources/Textures/Interface/Alerts/human_alive.rsi
Resources/Textures/Interface/Alerts/human_crew_monitoring.rsi
Resources/Textures/Interface/Alerts/internals.rsi
Resources/Textures/Interface/Alerts/pressure.rsi
Resources/Textures/Objects/Consumable/Food/Baked/donkpocket.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Packs/black.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Packs/blue.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Packs/green.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Packs/mixed.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Packs/red.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Packs/syndicate.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi
Resources/Textures/Objects/Devices/nuke.rsi
Resources/Textures/Objects/Materials/Sheets/glass.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Cartons/black.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Cartons/blue.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Cartons/green.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Cartons/mixed.rsi
Resources/Textures/Objects/Consumable/Smokeables/Cigarettes/Cartons/red.rsi
Resources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi
Resources/Textures/Clothing/Shoes/Boots/magboots-security.rsi
Resources/Textures/Effects/text.rsi
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis PR updates and adds multiple texture asset metadata files: two new magboots RSI manifests, expanded text effects with Cyrillic states, portal delay and license adjustments, cigarette carton state changes (icon→closed + open), glove license upgrades, and numerous copyright/attribution edits across interface, consumable, and object textures. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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: 5
🧹 Nitpick comments (1)
Resources/Textures/Effects/text.rsi/meta.json (1)
139-139: Minor formatting inconsistency: tab vs spaces.Line 139 uses a tab character for indentation while the rest of the file uses spaces. This won't affect functionality but is inconsistent with the file's formatting style.
🔧 Suggested fix
{ "name": "blank" }, - { + { "name": "а" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@Resources/Textures/Effects/text.rsi/meta.json` at line 139, The file has a single-line indentation inconsistency: the line containing the "{" token (the JSON object start shown in the diff) is indented with a tab instead of spaces; fix it by replacing that tab with the same spaces used elsewhere in this meta.json (match the file's existing indentation width) so the brace aligns consistently with the rest of the file.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Resources/Textures/Interface/Actions/devour.rsi/meta.json`:
- Line 4: The copyright metadata currently embeds a personal Discord identifier
in the "copyright" JSON field; update that string to remove the numeric Discord
ID and use a non-identifying attribution (e.g., "Created by EmoGarbage404
(github), localized by Dezzzix; Discord: Dezzzix" or omit the Discord reference
entirely) so the meta.json "copyright" value no longer contains the
`651428903352795136` identifier.
In `@Resources/Textures/Interface/Actions/pai-map.rsi/meta.json`:
- Line 5: There are two duplicate root keys named "copyright" in meta.json which
causes the first attribution to be silently discarded; remove the redundant
"copyright" entry so only the correct/original attribution remains (leave the
intended attribution value and delete the duplicate line), ensuring the
root-level JSON object has a single "copyright" key.
In `@Resources/Textures/Interface/Alerts/battery.rsi/meta.json`:
- Line 5: The file contains a duplicated root "copyright" key which overwrites
the original attribution; open the meta.json containing the "copyright" entries,
remove or merge the duplicate so there is only one root "copyright" field (e.g.,
combine both attributions into a single string preserving "EmoGarbage404" and
"lzk228"), or if separate attributions are required add a distinct key like
"contributors" or "additionalCopyright" instead of repeating "copyright"; ensure
only one "copyright" property remains at the top level (check the entries around
the string "battery0 changed by lzk228" and the original attribution) and
validate the JSON after the change.
In `@Resources/Textures/Interface/Alerts/pressure.rsi/meta.json`:
- Line 1: The metadata contains a typo in the attribution text where the state
names are misspelled as "heighpressure1" and "heighpressure2"; update that
string to "highpressure1" and "highpressure2" respectively so the
copyright/localization text matches the actual state names (referencing the
state entries "highpressure1" and "highpressure2" in the "states" array).
In `@Resources/Textures/Structures/Power/substation.rsi/meta.json`:
- Around line 33-64: The "screen_wall" animation in meta.json has a "delays"
array that currently contains 16 entries but the PNG only has 4 frames; update
the "delays" property for the object with "name": "screen_wall" so it contains
exactly four delay values (e.g., four 0.15 entries) to match the 4-frame sprite
and keep the same timing used elsewhere.
---
Nitpick comments:
In `@Resources/Textures/Effects/text.rsi/meta.json`:
- Line 139: The file has a single-line indentation inconsistency: the line
containing the "{" token (the JSON object start shown in the diff) is indented
with a tab instead of spaces; fix it by replacing that tab with the same spaces
used elsewhere in this meta.json (match the file's existing indentation width)
so the brace aligns consistently with the rest of the file.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: ece20149-b8d7-451b-afe7-b1308ad47541
⛔ Files ignored due to path filters (283)
Resources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/icon-on.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/on-equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/on-equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/on-inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-advanced.rsi/on-inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/icon-on.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/on-equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/on-equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/on-inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/on-inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/icon-on.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/on-equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/on-equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/on-inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-ert.rsi/on-inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/icon-on.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/on-equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/on-equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/on-inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/on-inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/icon-on.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/on-equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/on-equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/on-inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/on-inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/icon-on.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/on-equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/on-equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/on-inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots-syndicate.rsi/on-inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/icon-on.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/on-equipped-FEET-vox.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/on-equipped-FEET.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/on-inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Shoes/Boots/magboots.rsi/on-inhand-right.pngis excluded by!**/*.pngResources/Textures/Effects/portal.rsi/portal-artifact.pngis excluded by!**/*.pngResources/Textures/Effects/portal.rsi/portal-blue.pngis excluded by!**/*.pngResources/Textures/Effects/portal.rsi/portal-green.pngis excluded by!**/*.pngResources/Textures/Effects/portal.rsi/portal-red.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/а.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/б.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/в.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/г.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/д.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/е.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ж.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/з.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/и.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/й.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/к.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/л.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/м.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/н.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/о.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/п.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/р.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/с.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/т.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/у.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ф.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/х.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ц.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ч.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ш.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/щ.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ъ.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ы.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ь.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/э.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ю.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/я.pngis excluded by!**/*.pngResources/Textures/Effects/text.rsi/ё.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_borg.rsi/clowning-module.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_borg.rsi/select-type.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_mecha.rsi/mech_eject.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_mecha.rsi/mech_ivanov_cooldown.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_mecha.rsi/mech_savannah_cooldown.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_mecha.rsi/mech_view_stats.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_rat_king.rsi/attack.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_rat_king.rsi/attackOff.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_rat_king.rsi/follow.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_rat_king.rsi/followOff.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_rat_king.rsi/loose.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_rat_king.rsi/looseOff.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_rat_king.rsi/stay.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/actions_rat_king.rsi/stayOff.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/devour.rsi/icon-on.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/devour.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/disarm.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/disarmOff.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/harm.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/harmOff.pngis excluded by!**/*.pngResources/Textures/Interface/Actions/pai-map.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/Buckle/buckled.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/Handcuffed/Handcuffed.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/Pull/pulled.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/Pull/pulling.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/Rooted/rooted.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/battery.rsi/battery0.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/borg_alive.rsi/health0.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/borg_alive.rsi/health1.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/borg_alive.rsi/health2.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/borg_alive.rsi/health3.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/borg_alive.rsi/health4.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/breathing.rsi/not_enough_tox.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/breathing.rsi/too_much_tox.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/ensnared.rsi/ensnared.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_alive.rsi/health0.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_alive.rsi/health1.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_alive.rsi/health2.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_alive.rsi/health3.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_alive.rsi/health4.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_crew_monitoring.rsi/alive.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_crew_monitoring.rsi/critical.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_crew_monitoring.rsi/dead.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_crew_monitoring.rsi/health0.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_crew_monitoring.rsi/health1.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_crew_monitoring.rsi/health2.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_crew_monitoring.rsi/health3.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_crew_monitoring.rsi/health4.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_critical.rsi/critical.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/human_dead.rsi/dead.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/internals.rsi/internal0.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/internals.rsi/internal1.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/internals.rsi/internal2.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/pressure.rsi/highpressure1.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/pressure.rsi/highpressure2.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/pressure.rsi/lowpressure1.pngis excluded by!**/*.pngResources/Textures/Interface/Alerts/pressure.rsi/lowpressure2.pngis excluded by!**/*.pngResources/Textures/Interface/Ashen/Slots/hand_l.pngis excluded by!**/*.pngResources/Textures/Interface/Ashen/Slots/hand_r.pngis excluded by!**/*.pngResources/Textures/Interface/Clockwork/Slots/hand_l.pngis excluded by!**/*.pngResources/Textures/Interface/Clockwork/Slots/hand_r.pngis excluded by!**/*.pngResources/Textures/Interface/Default/Slots/hand_l.pngis excluded by!**/*.pngResources/Textures/Interface/Default/Slots/hand_r.pngis excluded by!**/*.pngResources/Textures/Interface/Minimalist/Slots/hand_l.pngis excluded by!**/*.pngResources/Textures/Interface/Minimalist/Slots/hand_r.pngis excluded by!**/*.pngResources/Textures/Interface/Misc/health_analyzer_out_of_range.pngis excluded by!**/*.pngResources/Textures/Interface/Misc/program_icons.rsi/news_read.pngis excluded by!**/*.pngResources/Textures/Interface/Plasmafire/Slots/hand_l.pngis excluded by!**/*.pngResources/Textures/Interface/Plasmafire/Slots/hand_r.pngis excluded by!**/*.pngResources/Textures/Interface/Retro/Slots/hand_l.pngis excluded by!**/*.pngResources/Textures/Interface/Retro/Slots/hand_r.pngis excluded by!**/*.pngResources/Textures/Interface/Slimecore/Slots/hand_l.pngis excluded by!**/*.pngResources/Textures/Interface/Slimecore/Slots/hand_r.pngis excluded by!**/*.pngResources/Textures/Structures/Doors/Airlocks/Standard/hatch_maint.rsi/assembly.pngis excluded by!**/*.pngResources/Textures/Structures/Doors/Airlocks/Standard/hatch_maint.rsi/closed.pngis excluded by!**/*.pngResources/Textures/Structures/Doors/Airlocks/Standard/hatch_maint.rsi/closing.pngis excluded by!**/*.pngResources/Textures/Structures/Doors/Airlocks/Standard/hatch_maint.rsi/opening.pngis excluded by!**/*.pngResources/Textures/Structures/Power/substation.rsi/charging.pngis excluded by!**/*.pngResources/Textures/Structures/Power/substation.rsi/dead.pngis excluded by!**/*.pngResources/Textures/Structures/Power/substation.rsi/full.pngis excluded by!**/*.pngResources/Textures/Structures/Power/substation.rsi/screen.pngis excluded by!**/*.pngResources/Textures/Structures/Power/substation.rsi/screen_wall.pngis excluded by!**/*.pngResources/Textures/Structures/Power/substation.rsi/substation.pngis excluded by!**/*.pngResources/Textures/Structures/Power/substation.rsi/substation_static.pngis excluded by!**/*.pngResources/Textures/Structures/Power/substation.rsi/substation_wall.pngis excluded by!**/*.pngResources/Textures/Structures/Power/substation.rsi/substation_wall_static.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/ai.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/ai_upload.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/anomaly.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/arcade.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/armory.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/arrivals.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/ass.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/atmos_air.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/atmos_plasma.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/atmos_waste.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/bar.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/barbershop.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/bath.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/biblio.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/bridge.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/cans.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/cans_sci.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/cargo.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/cargo_dock.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/chapel.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/chem.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/cloning.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/commander.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/conference_room.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/cryo.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/data.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/deathsposal.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/detective.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_bar.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_bridge.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_brig.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_chapel.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_chemistry.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_cryo.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_dorms.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_eng.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_evac.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_evac_glow.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_exam.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_food.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_gravity.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_hop.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_hydro.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_icu.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_janitor.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_library.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_med.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_pods.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_salvage.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_sci.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_sec.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_solar.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_supply.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/direction_wash.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/dock.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/doors.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/drama1.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/drama2.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/drama3.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/eng.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/engine.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/examroom.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/genpop.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/gravi.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/hydro.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/interrogation.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/janitor.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/kitchen.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/laundromat.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/law.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/mail.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/mats.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/medbay.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/morgue.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/news.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/nosmoking2.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/pods.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/prison.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/psychology.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/reception.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/restroom.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/rnd.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/robo.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/salvage.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/sci.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/security.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/space.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/surgery.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/telecoms.pngis excluded by!**/*.pngResources/Textures/Structures/Wallmounts/signs.rsi/toxins.pngis excluded by!**/*.png
📒 Files selected for processing (17)
Resources/Textures/Clothing/Shoes/Boots/magboots-bso.rsi/meta.jsonResources/Textures/Clothing/Shoes/Boots/magboots-security.rsi/meta.jsonResources/Textures/Effects/portal.rsi/meta.jsonResources/Textures/Effects/text.rsi/meta.jsonResources/Textures/Interface/Actions/devour.rsi/meta.jsonResources/Textures/Interface/Actions/pai-map.rsi/meta.jsonResources/Textures/Interface/Alerts/battery.rsi/meta.jsonResources/Textures/Interface/Alerts/borg_alive.rsi/meta.jsonResources/Textures/Interface/Alerts/breathing.rsi/meta.jsonResources/Textures/Interface/Alerts/ensnared.rsi/meta.jsonResources/Textures/Interface/Alerts/human_alive.rsi/meta.jsonResources/Textures/Interface/Alerts/human_crew_monitoring.rsi/meta.jsonResources/Textures/Interface/Alerts/human_critical.rsi/meta.jsonResources/Textures/Interface/Alerts/human_dead.rsi/meta.jsonResources/Textures/Interface/Alerts/internals.rsi/meta.jsonResources/Textures/Interface/Alerts/pressure.rsi/meta.jsonResources/Textures/Structures/Power/substation.rsi/meta.json
| "version": 1, | ||
| "license": "CC0-1.0", | ||
| "copyright": "Created by EmoGarbage404 (github)", | ||
| "copyright": "Created by EmoGarbage404 (github), localized by Dezzzix; Discord: dezzzix (651428903352795136)", |
There was a problem hiding this comment.
Avoid embedding personal Discord identifiers in shipped asset metadata.
Line 4 includes a direct user identifier (651428903352795136). Prefer non-identifying attribution text in distributed assets.
💡 Proposed fix
- "copyright": "Created by EmoGarbage404 (github), localized by Dezzzix; Discord: dezzzix (651428903352795136)",
+ "copyright": "Created by EmoGarbage404 (github), localized by Dezzzix",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "copyright": "Created by EmoGarbage404 (github), localized by Dezzzix; Discord: dezzzix (651428903352795136)", | |
| "copyright": "Created by EmoGarbage404 (github), localized by Dezzzix", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Textures/Interface/Actions/devour.rsi/meta.json` at line 4, The
copyright metadata currently embeds a personal Discord identifier in the
"copyright" JSON field; update that string to remove the numeric Discord ID and
use a non-identifying attribution (e.g., "Created by EmoGarbage404 (github),
localized by Dezzzix; Discord: Dezzzix" or omit the Discord reference entirely)
so the meta.json "copyright" value no longer contains the `651428903352795136`
identifier.
| "version": 1, | ||
| "license": "CC0-1.0", | ||
| "copyright": "Made by UbaserB by overlaying Station Map sprites. Original sprites made by brainfood1183 (github) for ss14", | ||
| "copyright": "icon changed by lzk228", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python - <<'PY'
import json, pathlib
p = pathlib.Path("Resources/Textures/Interface/Actions/pai-map.rsi/meta.json")
text = p.read_text(encoding="utf-8-sig")
dups = []
def hook(pairs):
out = {}
seen = set()
for k, v in pairs:
if k in seen:
dups.append(k)
seen.add(k)
out[k] = v
return out
json.loads(text, object_pairs_hook=hook)
print(f"{p}: duplicate keys -> {sorted(set(dups)) if dups else 'none'}")
PYRepository: ss14-art/open-space
Length of output: 154
🏁 Script executed:
cat -n Resources/Textures/Interface/Actions/pai-map.rsi/meta.json | head -25Repository: ss14-art/open-space
Length of output: 606
Remove duplicate root key to avoid data loss in metadata.
Line 5 introduces a second copyright key at the root level. JSON objects with duplicate keys are ambiguous—most parsers retain only the last value, silently discarding the first attribution. This causes loss of the original sprite attribution.
💡 Proposed fix
- "copyright": "Made by UbaserB by overlaying Station Map sprites. Original sprites made by brainfood1183 (github) for ss14",
- "copyright": "icon changed by lzk228",
+ "copyright": "Made by UbaserB by overlaying Station Map sprites. Original sprites made by brainfood1183 (github) for ss14, icon changed by lzk228",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Textures/Interface/Actions/pai-map.rsi/meta.json` at line 5, There
are two duplicate root keys named "copyright" in meta.json which causes the
first attribution to be silently discarded; remove the redundant "copyright"
entry so only the correct/original attribution remains (leave the intended
attribution value and delete the duplicate line), ensuring the root-level JSON
object has a single "copyright" key.
| "version": 1, | ||
| "license": "CC0-1.0", | ||
| "copyright": "Created by EmoGarbage404 (github) for Space Station 14.", | ||
| "copyright": "battery0 changed by lzk228", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python - <<'PY'
import json, pathlib
p = pathlib.Path("Resources/Textures/Interface/Alerts/battery.rsi/meta.json")
text = p.read_text(encoding="utf-8-sig")
dups = []
def hook(pairs):
out = {}
seen = set()
for k, v in pairs:
if k in seen:
dups.append(k)
seen.add(k)
out[k] = v
return out
parsed = json.loads(text, object_pairs_hook=hook)
print(f"{p}: duplicate keys -> {sorted(set(dups)) if dups else 'none'}")
print(f"effective copyright -> {parsed.get('copyright')}")
PYRepository: ss14-art/open-space
Length of output: 203
Duplicate copyright key overwrites attribution and breaks integrity.
Line 5 adds a second root copyright field. When parsed, the second value overwrites the first, losing the original attribution to EmoGarbage404. JSON parsers expect a single field; duplicate keys create unexpected behavior.
Proposed fix
- "copyright": "Created by EmoGarbage404 (github) for Space Station 14.",
- "copyright": "battery0 changed by lzk228",
+ "copyright": "Created by EmoGarbage404 (github) for Space Station 14, battery0 changed by lzk228",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Textures/Interface/Alerts/battery.rsi/meta.json` at line 5, The
file contains a duplicated root "copyright" key which overwrites the original
attribution; open the meta.json containing the "copyright" entries, remove or
merge the duplicate so there is only one root "copyright" field (e.g., combine
both attributions into a single string preserving "EmoGarbage404" and "lzk228"),
or if separate attributions are required add a distinct key like "contributors"
or "additionalCopyright" instead of repeating "copyright"; ensure only one
"copyright" property remains at the top level (check the entries around the
string "battery0 changed by lzk228" and the original attribution) and validate
the JSON after the change.
| @@ -1 +1 @@ | |||
| {"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at 04e43d8c1d5097fdb697addd4395fb849dd341bd", "states": [{"name": "highpressure1", "directions": 1, "delays": [[1.0]]}, {"name": "highpressure2", "directions": 1, "delays": [[0.5, 0.5]]}, {"name": "lowpressure1", "directions": 1, "delays": [[1.0]]}, {"name": "lowpressure2", "directions": 1, "delays": [[0.5, 0.5]]}]} No newline at end of file | |||
| {"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at 04e43d8c1d5097fdb697addd4395fb849dd341bd, heighpressure1, heighpressure2, lowpressure1 and lowpressure2 localized by discord:kuro_0001 (388673708753027083)", "states": [{"name": "highpressure1", "directions": 1, "delays": [[1.0]]}, {"name": "highpressure2", "directions": 1, "delays": [[0.5, 0.5]]}, {"name": "lowpressure1", "directions": 1, "delays": [[1.0]]}, {"name": "lowpressure2", "directions": 1, "delays": [[0.5, 0.5]]}]} | |||
There was a problem hiding this comment.
Fix attribution typo for pressure state names.
Line 1 uses heighpressure1 / heighpressure2; these should be highpressure1 / highpressure2 to match actual state names.
💡 Proposed fix
-... "copyright": "... heighpressure1, heighpressure2, lowpressure1 and lowpressure2 localized by discord:kuro_0001 (388673708753027083)", ...
+... "copyright": "... highpressure1, highpressure2, lowpressure1 and lowpressure2 localized by discord:kuro_0001 (388673708753027083)", ...📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at 04e43d8c1d5097fdb697addd4395fb849dd341bd, heighpressure1, heighpressure2, lowpressure1 and lowpressure2 localized by discord:kuro_0001 (388673708753027083)", "states": [{"name": "highpressure1", "directions": 1, "delays": [[1.0]]}, {"name": "highpressure2", "directions": 1, "delays": [[0.5, 0.5]]}, {"name": "lowpressure1", "directions": 1, "delays": [[1.0]]}, {"name": "lowpressure2", "directions": 1, "delays": [[0.5, 0.5]]}]} | |
| {"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at 04e43d8c1d5097fdb697addd4395fb849dd341bd, highpressure1, highpressure2, lowpressure1 and lowpressure2 localized by discord:kuro_0001 (388673708753027083)", "states": [{"name": "highpressure1", "directions": 1, "delays": [[1.0]]}, {"name": "highpressure2", "directions": 1, "delays": [[0.5, 0.5]]}, {"name": "lowpressure1", "directions": 1, "delays": [[1.0]]}, {"name": "lowpressure2", "directions": 1, "delays": [[0.5, 0.5]]}]} |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Textures/Interface/Alerts/pressure.rsi/meta.json` at line 1, The
metadata contains a typo in the attribution text where the state names are
misspelled as "heighpressure1" and "heighpressure2"; update that string to
"highpressure1" and "highpressure2" respectively so the copyright/localization
text matches the actual state names (referencing the state entries
"highpressure1" and "highpressure2" in the "states" array).
| "delays": [ | ||
| [ | ||
| 0.3, | ||
| 0.1 | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15 | ||
| ] | ||
| ] | ||
| }, | ||
| { | ||
| "name": "screen", | ||
| "name": "screen_wall", | ||
| "delays": [ | ||
| [ | ||
| 5.0, | ||
| 0.5, | ||
| 0.5, | ||
| 0.5 | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15, | ||
| 0.15 | ||
| ] |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
META_FILE="Resources/Textures/Structures/Power/substation.rsi/meta.json"
python - <<'PY'
import json, struct, pathlib
meta_path = pathlib.Path("Resources/Textures/Structures/Power/substation.rsi/meta.json")
if not meta_path.exists():
raise SystemExit(f"Missing file: {meta_path}")
def png_size(path: pathlib.Path):
with path.open("rb") as f:
sig = f.read(8)
if sig != b"\x89PNG\r\n\x1a\n":
raise ValueError(f"{path}: invalid PNG signature")
length = struct.unpack(">I", f.read(4))[0]
chunk = f.read(4)
if chunk != b'IHDR':
raise ValueError(f"{path}: IHDR not found")
data = f.read(length)
width, height = struct.unpack(">II", data[:8])
return width, height
meta = json.loads(meta_path.read_text(encoding="utf-8"))
sx = meta["size"]["x"]
rsi_dir = meta_path.parent
targets = {"screen", "screen_wall"}
state_map = {s["name"]: s for s in meta["states"]}
for name in sorted(targets):
s = state_map.get(name)
if s is None:
print(f"[FAIL] State '{name}' missing in meta.json")
continue
delays = s.get("delays")
if not delays or not isinstance(delays, list) or not delays[0]:
print(f"[FAIL] State '{name}' has no delays[0] sequence")
continue
delay_count = len(delays[0])
png = rsi_dir / f"{name}.png"
if not png.exists():
print(f"[FAIL] Missing sprite PNG for state '{name}': {png}")
continue
w, h = png_size(png)
if w % sx != 0:
print(f"[FAIL] {name}.png width {w} is not divisible by frame size x={sx}")
continue
frame_count = w // sx
if frame_count != delay_count:
print(f"[FAIL] {name}: frame_count={frame_count}, delay_count={delay_count}")
else:
print(f"[OK] {name}: frame_count={frame_count}, delay_count={delay_count}")
PYRepository: ss14-art/open-space
Length of output: 154
Fix screen_wall delay array to match 4 frames, not 16.
The screen state is correct with 6 frames and 6 delays. However, screen_wall has 4 frames in its PNG but 16 delay entries, which will cause animation sync failures. Update the screen_wall delays array to contain exactly 4 values.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Textures/Structures/Power/substation.rsi/meta.json` around lines 33
- 64, The "screen_wall" animation in meta.json has a "delays" array that
currently contains 16 entries but the PNG only has 4 frames; update the "delays"
property for the object with "name": "screen_wall" so it contains exactly four
delay values (e.g., four 0.15 entries) to match the 4-frame sprite and keep the
same timing used elsewhere.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Resources/Textures/Objects/Tools/crowbar.rsi/meta.json`:
- Line 4: The copyright metadata string in meta.json contains a typo ("Icon
Tkan") that should be corrected for clear attribution; open
Resources/Textures/Objects/Tools/crowbar.rsi/meta.json, locate the "copyright"
value and replace "Icon Tkan" with the correct term (e.g., "Icon Taken")
ensuring the punctuation and spacing remain consistent with the surrounding
entries.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 41528f9f-d000-460b-9741-88cc15651069
⛔ Files ignored due to path filters (98)
Resources/Textures/Clothing/Hands/Gloves/Color/black.rsi/equipped-HAND.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/black.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/black.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/black.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/color.rsi/equipped-HAND.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/color.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/color.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/equipped-HAND.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/Objects/Devices/nuke.rsi/nuclearbomb_base.pngis excluded by!**/*.pngResources/Textures/Objects/Devices/nuke.rsi/nuclearbomb_deployed.pngis excluded by!**/*.pngResources/Textures/Objects/Devices/nuke.rsi/nuclearbomb_exploding.pngis excluded by!**/*.pngResources/Textures/Objects/Devices/nuke.rsi/nuclearbomb_gay.pngis excluded by!**/*.pngResources/Textures/Objects/Devices/nuke.rsi/nuclearbomb_timing.pngis excluded by!**/*.pngResources/Textures/Objects/Devices/nuke.rsi/nuclearbombc.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/cglass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/cglass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/cglass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/glass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/glass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/glass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/pglass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/pglass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/pglass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/plastitaniumglass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/plastitaniumglass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/plastitaniumglass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/rglass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/rglass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/rglass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/rpglass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/rpglass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/rpglass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/ruglass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/ruglass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/ruglass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/titaniumglass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/titaniumglass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/titaniumglass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/uglass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/uglass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/glass.rsi/uglass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/brass.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/brass_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/brass_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/plasteel.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/plasteel_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/plasteel_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/plastitanium.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/plastitanium_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/plastitanium_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/steel.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/steel_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/steel_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/titanium.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/titanium_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/metal.rsi/titanium_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/paper.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/paper_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/paper_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/plasma.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/plasma_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/plasma_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/plastic.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/plastic_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/plastic_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/uranium.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/uranium_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/Sheets/other.rsi/uranium_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/gold.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/gold_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/gold_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/hydrogen.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/hydrogen_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/hydrogen_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/iron.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/iron_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/iron_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/silver.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/silver_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/ingots.rsi/silver_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/cardboard.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/cardboard_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/cardboard_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/cloth.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/cloth_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/cloth_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/diamond.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/diamond_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/diamond_3.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/wood.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/wood_2.pngis excluded by!**/*.pngResources/Textures/Objects/Materials/materials.rsi/wood_3.pngis excluded by!**/*.pngResources/Textures/Objects/Tools/crowbar.rsi/cover-icon.pngis excluded by!**/*.pngResources/Textures/Objects/Tools/crowbar.rsi/icon.pngis excluded by!**/*.pngResources/Textures/Objects/Tools/multitool.rsi/icon.pngis excluded by!**/*.png
📒 Files selected for processing (6)
Resources/Textures/Clothing/Hands/Gloves/Color/black.rsi/meta.jsonResources/Textures/Clothing/Hands/Gloves/Color/color.rsi/meta.jsonResources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/meta.jsonResources/Textures/Objects/Devices/nuke.rsi/meta.jsonResources/Textures/Objects/Tools/crowbar.rsi/meta.jsonResources/Textures/Objects/Tools/multitool.rsi/meta.json
| ] | ||
| "version": 1, | ||
| "license": "CC-BY-SA-3.0", | ||
| "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/eea0599511b088fdab9d43e562210cdbd51c6a98, cover-icon is edited by Spatison based on https://github.com/ParadiseSS13/Paradise, Red-storage by Flareguy // Icon Tkan from https://github.com/ParadiseSS13/Paradise", |
There was a problem hiding this comment.
Fix the attribution typo in copyright metadata.
Line 4 appears to have a typo (Icon Tkan), which can reduce attribution clarity in legal metadata.
Suggested fix
- "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/eea0599511b088fdab9d43e562210cdbd51c6a98, cover-icon is edited by Spatison based on https://github.com/ParadiseSS13/Paradise, Red-storage by Flareguy // Icon Tkan from https://github.com/ParadiseSS13/Paradise",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/eea0599511b088fdab9d43e562210cdbd51c6a98, cover-icon is edited by Spatison based on https://github.com/ParadiseSS13/Paradise, Red-storage by Flareguy // Icon taken from https://github.com/ParadiseSS13/Paradise",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/eea0599511b088fdab9d43e562210cdbd51c6a98, cover-icon is edited by Spatison based on https://github.com/ParadiseSS13/Paradise, Red-storage by Flareguy // Icon Tkan from https://github.com/ParadiseSS13/Paradise", | |
| "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/eea0599511b088fdab9d43e562210cdbd51c6a98, cover-icon is edited by Spatison based on https://github.com/ParadiseSS13/Paradise, Red-storage by Flareguy // Icon taken from https://github.com/ParadiseSS13/Paradise", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@Resources/Textures/Objects/Tools/crowbar.rsi/meta.json` at line 4, The
copyright metadata string in meta.json contains a typo ("Icon Tkan") that should
be corrected for clear attribution; open
Resources/Textures/Objects/Tools/crowbar.rsi/meta.json, locate the "copyright"
value and replace "Icon Tkan" with the correct term (e.g., "Icon Taken")
ensuring the punctuation and spacing remain consistent with the surrounding
entries.
|
@cryals линтер чинить |
























































































































































































































































































































































































Много респрайтов
Не стал переводить двери потомучто их будут респрайтить
🆑 AL_S
Summary by CodeRabbit
New Features
Updates