Самодельные инструменты v2.0#2489
Самодельные инструменты v2.0#2489NekoSyndicateNihon wants to merge 9 commits intoAdventureTimeSS14:masterfrom
Conversation
WalkthroughДобавлены четыре новые сущности изготовленных вручную инструментов: ADTHandMadeCrowbar, ADTHandMadeWirecutter, ADTHandMadeScrewdriver и ADTHandMadeWrench — каждая наследует соответствующий базовый инструмент и включает компоненты MeleeWeapon/Tool/Construction/прочее. Обновлены графы крафта (ADTHandmadeCrowbarGraph и три новых графа для wirecutter/screwdriver/wrench) и записи в improvised.yml для поддержки этих рецептов. Из сущности ADTSupermatterScalpel удалён компонент типа SupermatterImmune. Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@Resources/Prototypes/ADT/Entities/Objects/Tools/tools.yml`:
- Around line 119-120: Fix the YAML key formatting for the SupermatterImmune
component by removing the space before the colon so the entry reads "- type:
SupermatterImmune" instead of "- type : SupermatterImmune"; update the offending
line containing "type : SupermatterImmune" to match the project's YAML style (no
space before the colon) ensuring consistency with other component entries.
- Around line 123-143: The tool entity names contain a Latin 'c' (U+0063)
instead of a Cyrillic 'с' (U+0441); locate each tool entity's name field (for
example the value "cамодельная монтировка" and the other three tool name values)
and replace the Latin 'c' with the Cyrillic 'с' so the names use only Cyrillic
characters; verify the id strings (e.g., ADTHMCrowbar) remain unchanged and run
a search for any other occurrences of the Latin 'c' in tool name values to
correct them consistently.
In `@Resources/Prototypes/Entities/Objects/Tools/tools.yml`:
- Around line 134-135: Remove or correct the stray comment marker "#ADT add" in
tools.yml: either delete it if no change was intended, or replace it with the
proper ADT tweak format ("# ADT-Tweak-Start"/"# ADT-Tweak-End" or "#
ADT-Tweak:") and add the corresponding code if you intended to attach a
Construction component to the base Wrench (mirror the pattern used for
BaseCrowbar in crowbars.yml for the Construction addition). Ensure the change
uses the exact marker strings and, if adding the Construction component, update
the Wrench definition to include that component consistently with the
BaseCrowbar example.
🧹 Nitpick comments (6)
Resources/Prototypes/Entities/Objects/Tools/crowbars.yml (1)
191-192: Лишние пустые строки в конце файла.Добавлены две пустые строки в конце файла. Незначительно, но лучше оставить ровно одну завершающую строку для единообразия.
Resources/Prototypes/Entities/Objects/Tools/tools.yml (1)
46-47: Лишняя пустая строка добавлена в блокWirecutter.Между
StaticPriceи следующей сущностью добавлена дополнительная пустая строка (строка 47). Косметическое изменение, но поскольку файл находится вне/ADT/, любые изменения в официальном коде желательно минимизировать, чтобы не затруднять upstream-мерджи.Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised.yml (1)
89-111: Несогласованность именования graph ID между инструментами.У монтировки и кусачек graph ID содержит суффикс
Graph:
ADTHandmadeCrowbarGraph(строка 83)ADTHandmadeWirecutterGraph(строка 99)А у отвёртки и ключа — нет:
ADTHandmadeScrewdriver(строка 91)ADTHandmadeWrench(строка 107)Ссылки корректны (совпадают с определениями в
handmade_tools.yml), но для единообразия рекомендуется привести все ID к одному формату — либоADTHandmade<Tool>Graph, либоADTHandmade<Tool>.Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/handmade_tools.yml (1)
14-16: Отсутствует пустая строка-разделитель между графами Crowbar и Wirecutter.Между определениями остальных графов (Wirecutter→Screwdriver, Screwdriver→Wrench) есть пустая строка-разделитель, а между Crowbar и Wirecutter — нет. Для единообразия стоит добавить.
Предлагаемое исправление
- node: HandmadeCrowbar entity: ADTHMCrowbar + `#Wirecutter` - type: constructionGraphResources/Prototypes/ADT/Entities/Objects/Tools/tools.yml (2)
160-163: Лишний комментарий# ADT addвнутри файла из папки/ADT/.Маркеры ADT-Tweak нужны только для файлов вне
/ADT/. Внутри/ADT/весь код и так относится к ADT — комментарий# ADT add(строка 160) и#ADT add(строка 179) избыточны и только добавляют шум. Особенно строка 179, где#ADT addимеет некорректный отступ (выглядит как под-элементspeedModifier).Предлагаемое исправление
speedModifier: 0.4 - # ADT add - type: ConstructionspeedModifier: 0.4 - `#ADT` add - type: Construction
169-169: Отсутствует точка в конце описанияADTHMScrewdriver.Строка 169:
description: Оно точно не сломается— нет точки в конце предложения. УADTHMCrowbar(строка 127) иADTHMWirecutter(строка 150) точка/вопросительный знак присутствуют.
| - type : SupermatterImmune | ||
|
|
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check the current state of the tools.yml file around lines 119-120
fd 'tools.yml' Resources/Prototypes/ADT/Entities/Objects/Tools/ --exec cat -n {} | sed -n "110,130p"Repository: AdventureTimeSS14/space_station_ADT
Length of output: 672
🏁 Script executed:
#!/bin/bash
# Also check if SupermatterImmune component exists elsewhere in the project
rg -n "SupermatterImmune" Resources/Prototypes/ | head -20Repository: AdventureTimeSS14/space_station_ADT
Length of output: 2169
🏁 Script executed:
#!/bin/bash
# Check the structure around the specific entity to understand context
fd 'tools.yml' Resources/Prototypes/ADT/Entities/Objects/Tools/ --exec cat -n {} | sed -n "100,135p"Repository: AdventureTimeSS14/space_station_ADT
Length of output: 1141
Исправить формат YAML: убрать пробел перед двоеточием в type : SupermatterImmune
На строке 119 присутствует форматная ошибка — пробел перед двоеточием: - type : SupermatterImmune вместо - type: SupermatterImmune. Компонент SupermatterImmune корректно присутствует в коде и используется правильно, но требует соответствия YAML-стандартам (без пробела перед двоеточием), как это реализовано во всех остальных случаях в проекте.
🤖 Prompt for AI Agents
In `@Resources/Prototypes/ADT/Entities/Objects/Tools/tools.yml` around lines 119 -
120, Fix the YAML key formatting for the SupermatterImmune component by removing
the space before the colon so the entry reads "- type: SupermatterImmune"
instead of "- type : SupermatterImmune"; update the offending line containing
"type : SupermatterImmune" to match the project's YAML style (no space before
the colon) ensuring consistency with other component entries.
| - type: entity | ||
| parent: BaseCrowbar | ||
| name: cамодельная монтировка | ||
| id: ADTHMCrowbar | ||
| description: А это надёжно?.. | ||
| components: | ||
| - type: Sprite | ||
| state: icon | ||
| - type: Item | ||
| storedSprite: | ||
| sprite: Objects/Tools/crowbar.rsi | ||
| state: storage | ||
| - type: MeleeWeapon | ||
| wideAnimationRotation: -100 | ||
| damage: | ||
| types: | ||
| Blunt: 4 | ||
| soundHit: | ||
| collection: MetalThud | ||
| - type: Prying | ||
| speedModifier: 0.4 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
cd Resources/Prototypes/ADT/Entities/Objects/Tools && \
sed -n '125p;148p;167p;186p' tools.yml | od -c | head -20Repository: AdventureTimeSS14/space_station_ADT
Length of output: 119
🏁 Script executed:
cd Resources/Prototypes/ADT/Entities/Objects/Tools && \
python3 << 'EOF'
with open('tools.yml', 'r', encoding='utf-8') as f:
lines = f.readlines()
target_lines = [124, 147, 166, 185] # 0-indexed
for line_num in target_lines:
line = lines[line_num]
if 'name:' in line:
# Extract the name value
name_part = line.split('name:')[1].strip()
print(f"Line {line_num + 1}: {line.strip()}")
# Check first character
if name_part:
first_char = name_part[0]
print(f" First char: '{first_char}' U+{ord(first_char):04X}")
if first_char == 'c':
print(f" → This is LATIN LOWERCASE C (U+0063)")
elif first_char == 'с':
print(f" → This is CYRILLIC LOWERCASE C (U+0441)")
print()
EOFRepository: AdventureTimeSS14/space_station_ADT
Length of output: 491
Исправить латинскую букву c на кириллическую с во всех названиях инструментов.
Все четыре сущности (строки 125, 148, 167, 186) используют латинскую букву c (U+0063) вместо кириллической с (U+0441). Это создаёт смешанный скрипт в названиях и может вызвать проблемы с поиском и фильтрацией.
Исправления
- name: cамодельная монтировка
+ name: самодельная монтировка- name: cамодельные кусачки
+ name: самодельные кусачки- name: cамодельная отвёртка
+ name: самодельная отвёртка- name: cамодельный гаечный ключ
+ name: самодельный гаечный ключ🤖 Prompt for AI Agents
In `@Resources/Prototypes/ADT/Entities/Objects/Tools/tools.yml` around lines 123 -
143, The tool entity names contain a Latin 'c' (U+0063) instead of a Cyrillic
'с' (U+0441); locate each tool entity's name field (for example the value
"cамодельная монтировка" and the other three tool name values) and replace the
Latin 'c' with the Cyrillic 'с' so the names use only Cyrillic characters;
verify the id strings (e.g., ADTHMCrowbar) remain unchanged and run a search for
any other occurrences of the Latin 'c' in tool name values to correct them
consistently.
| #ADT add | ||
|
|
There was a problem hiding this comment.
Комментарий #ADT add не соответствует принятому формату и не сопровождается изменениями.
Согласно гайдлайнам, изменения в официальном коде (вне /ADT/) должны быть помечены как # ADT-Tweak-Start / # ADT-Tweak-End (или # ADT-Tweak: для одиночных строк). Здесь #ADT add не следует этому формату. Кроме того, после комментария нет никакого фактического изменения — он выглядит как забытый маркер.
Если предполагалось добавить компонент Construction к базовому Wrench (по аналогии с BaseCrowbar в crowbars.yml, строки 39–43), то он отсутствует. Если нет — стоит удалить этот комментарий.
Предлагаемое исправление: удалить лишний комментарий
- type: GuideHelp
guides:
- Construction
- `#ADT` add
-As per coding guidelines: «Все изменения вне папок /ADT/ должны быть прокомментированы примерно так # ADT-Tweak-Start / # ADT-Tweak-End».
📝 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.
| #ADT add | |
| - type: GuideHelp | |
| guides: | |
| - Construction |
🤖 Prompt for AI Agents
In `@Resources/Prototypes/Entities/Objects/Tools/tools.yml` around lines 134 -
135, Remove or correct the stray comment marker "#ADT add" in tools.yml: either
delete it if no change was intended, or replace it with the proper ADT tweak
format ("# ADT-Tweak-Start"/"# ADT-Tweak-End" or "# ADT-Tweak:") and add the
corresponding code if you intended to attach a Construction component to the
base Wrench (mirror the pattern used for BaseCrowbar in crowbars.yml for the
Construction addition). Ensure the change uses the exact marker strings and, if
adding the Construction component, update the Wrench definition to include that
component consistently with the BaseCrowbar example.
Unlumy
left a comment
There was a problem hiding this comment.
ADTHM - плохое сокращение в ID, т.к. не интуитивное
лучше напиши полностью HandMade т.к. так будет корректнее
Плюсом наверное лучше спрайты поменять
Комментарии поподробнее распиши, пожалуйста а не просто #ADT add посреди ничего у визов
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/handmade_tools.yml
Outdated
Show resolved
Hide resolved
|
@NekoSyndicateNihon да, не быстро, но главное, что ревью тебе сделали |
|
@NekoSyndicateNihon Ревью будет выполняться? |
…ndmade_tools.yml Co-authored-by: Unlumination <144041835+Unlumy@users.noreply.github.com>
Co-authored-by: Unlumination <144041835+Unlumy@users.noreply.github.com>
Co-authored-by: Unlumination <144041835+Unlumy@users.noreply.github.com>
Co-authored-by: Unlumination <144041835+Unlumy@users.noreply.github.com>
Co-authored-by: Unlumination <144041835+Unlumy@users.noreply.github.com>
|
да-да-да, я просто почту и гит не проверял |
|
вроде всё принял |
|
в следующий, я пожалуй оставлю свой дискорд в пулл реквесте, чтобы меня отмечали, если что-то не так |
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/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/handmade_tools.yml`:
- Line 31: The final nodes' entity IDs are incorrect: replace the values
ADTHMWirecutter, ADTHMScrewdriver, and ADTHMWrench with the prototype IDs that
follow the project's naming convention (ADTHandMade...); update the three
occurrences (the final node entries currently using ADTHM*) to the matching
ADTHandMade* IDs used by the tool prototypes so the graph resolves the correct
crafted entities.
ℹ️ Review info
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
Resources/Prototypes/ADT/Entities/Objects/Tools/tools.ymlResources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/handmade_tools.yml
| amount: 1 | ||
| doAfter: 1 | ||
| - node: HandmadeWirecutter | ||
| entity: ADTHMWirecutter |
There was a problem hiding this comment.
Исправить entity в финальных нодах графов.
На Line 31, Line 49 и Line 67 указаны ADTHMWirecutter / ADTHMScrewdriver / ADTHMWrench, но в прототипах инструментов используются id формата ADTHandMade*. В текущем виде крафт может создавать не те сущности или не резолвить прототип.
Предлагаемое исправление
- - node: HandmadeWirecutter
- entity: ADTHMWirecutter
+ - node: HandmadeWirecutter
+ entity: ADTHandMadeWirecutter
@@
- - node: HandmadeScrewdriver
- entity: ADTHMScrewdriver
+ - node: HandmadeScrewdriver
+ entity: ADTHandMadeScrewdriver
@@
- - node: HandmadeWrench
- entity: ADTHMWrench
+ - node: HandmadeWrench
+ entity: ADTHandMadeWrenchAlso applies to: 49-49, 67-67
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/handmade_tools.yml`
at line 31, The final nodes' entity IDs are incorrect: replace the values
ADTHMWirecutter, ADTHMScrewdriver, and ADTHMWrench with the prototype IDs that
follow the project's naming convention (ADTHandMade...); update the three
occurrences (the final node entries currently using ADTHM*) to the matching
ADTHandMade* IDs used by the tool prototypes so the graph resolves the correct
crafted entities.
Red-Lis
left a comment
There was a problem hiding this comment.
Локализации вообще нету
|
|
||
| - type: entity | ||
| parent: BaseCrowbar | ||
| name: cамодельная монтировка |
There was a problem hiding this comment.
Почему в прототипах названия и описания на русском?
Тут должно быть на инглише, а локаль уже лежит в папке с ней
There was a problem hiding this comment.
Смысл от локализации, если это локально наша сборка? Можно и так написать спокойно
There was a problem hiding this comment.
Стандарт.
Так делали - так и будут делать.
Причин куча, но считай, что стандарт самое главное.
Мне правда лень расписывать всё.
There was a problem hiding this comment.
а чей стандарт? Визардов?
There was a problem hiding this comment.
Стандарт данного форка, будьте добры пожалуйста придерживаться его
| parent: BaseCrowbar | ||
| name: cамодельная монтировка | ||
| id: ADTHandMadeCrowbar | ||
| description: А это надёжно?.. |
|
|
||
| - type: entity | ||
| parent: Wirecutter | ||
| name: cамодельные кусачки |
| parent: Wirecutter | ||
| name: cамодельные кусачки | ||
| id: ADTHandMadeWirecutter | ||
| description: Это кусачки или щипчики? |
|
|
||
| - type: entity | ||
| parent: Screwdriver | ||
| name: cамодельная отвёртка |
| parent: Screwdriver | ||
| name: cамодельная отвёртка | ||
| id: ADTHandMadeScrewdriver | ||
| description: Оно точно не сломается |
| qualities: | ||
| - Cutting | ||
| speedModifier: 0.4 | ||
| # ADT add |
There was a problem hiding this comment.
Это папка ADT
Зачем комент, что это добавление от нас?
Типо похуй, но в наших же папках нет смысла оставлять
| - type: GuideHelp | ||
| guides: | ||
| - Construction | ||
| #ADT add |
There was a problem hiding this comment.
А это тут зачем?..
Как и пустые строки
Изменений же ноль
There was a problem hiding this comment.
Видимо напутал что-то
а так да, стоит убрать
|
@Unlumy |
| - type: GuideHelp | ||
| guides: | ||
| - Construction | ||
| #ADT add |
There was a problem hiding this comment.
Видимо напутал что-то
а так да, стоит убрать
|
|
||
|
|
There was a problem hiding this comment.
тут тоже пустые строки новые
Unlumy
left a comment
There was a problem hiding this comment.
Ну, мое ревью выполнено.
Осталась локаль, починка тестов и чужие ревью
Darkiich
left a comment
There was a problem hiding this comment.
После всех выполненных ревью тоже посмотрю
Новые инструменты
Было добавлено 3 новых самодельных инструмента имеющих крафт.
Баланс
Теперь самодельные инструменты - дешёвый аналог обычных инструментов, но из за их качества сборки работа с ними займёт больше времени.
Техническая информация
Были проведены тесты на локальной сборке, всё работает отлично без багов.
Чейнджлог
🆑 NekoSyndicate