[ADD] Самодельный хлам.#2436
Conversation
|
RSI Diff Bot; head commit 491a78e merging into 55e3e56 Resources/Textures/ADT/Clothing/Head/Helmets/forged.rsi
Resources/Textures/ADT/Clothing/Head/Helmets/improvised.rsi
Resources/Textures/ADT/Clothing/Head/Helmets/makeshift.rsi
Resources/Textures/ADT/Clothing/Head/Helmets/paladin.rsi
Resources/Textures/ADT/Clothing/OuterClothing/Armor/forged.rsi
Resources/Textures/ADT/Clothing/OuterClothing/Armor/improvised.rsi
Resources/Textures/ADT/Clothing/OuterClothing/Armor/makeshift.rsi
Resources/Textures/ADT/Clothing/OuterClothing/Armor/paladin.rsi
Resources/Textures/ADT/Objects/Misc/modular_barrel.rsi
Resources/Textures/ADT/Objects/Misc/plasteel_blade.rsi
Resources/Textures/ADT/Objects/Misc/plasteel_hilt.rsi
Resources/Textures/ADT/Objects/Misc/steel_blade.rsi
Resources/Textures/ADT/Objects/Misc/wooden_hilt.rsi
Resources/Textures/ADT/Objects/Tools/forged_omnitool.rsi
Resources/Textures/ADT/Objects/Tools/improvised_crowbar.rsi
Resources/Textures/ADT/Objects/Tools/improvised_multitool.rsi
Resources/Textures/ADT/Objects/Tools/improvised_omnitool.rsi
Resources/Textures/ADT/Objects/Tools/improvised_screwdriver.rsi
Resources/Textures/ADT/Objects/Tools/improvised_wirecutters.rsi
Resources/Textures/ADT/Objects/Tools/improvised_wrench.rsi
Resources/Textures/ADT/Objects/Tools/makeshift_omnitool.rsi
Resources/Textures/ADT/Objects/Weapons/Guns/Ammunition/Boxes/improvised.rsi
Resources/Textures/ADT/Objects/Weapons/Guns/Ammunition/Boxes/pistol.rsi
Resources/Textures/ADT/Objects/Weapons/Guns/Ammunition/Casings/improvised_casing.rsi
Resources/Textures/ADT/Objects/Weapons/Guns/Ammunition/Casings/laser_casing.rsi
Resources/Textures/ADT/Objects/Weapons/Guns/Ammunition/Magazine/Pistol/improvised_pistol_magazine.rsi
Resources/Textures/ADT/Objects/Weapons/Guns/Ammunition/Magazine/SMG/improvised_smg_magazine.rsi
Resources/Textures/ADT/Objects/Weapons/Guns/Ammunition/Speedloaders/Magnum/improvised_magnum_speed_loader.rsi
Resources/Textures/ADT/Objects/Weapons/Guns/Ammunition/Speedloaders/Magnum/magnum_rifle_mag.rsi
Resources/Textures/ADT/Objects/Weapons/Guns/Pistols/forged_pistol.rsi
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughДобавлен компонент WeaponDismantleOnShootComponent с параметрами шанса, дистанции, звука, самоповреждения и списком возможных выпадающих предметов; объявлен сетевой тип DismantleOnShootItem. В SharedWeaponDismantleOnShootSystem реализована функция проверки DismantleCheck. На сервере добавлен WeaponDismantleOnShootSystem, который подписывается на AmmoShotEvent, выполняет проверку, наносит самоповреждение, проигрывает звук, спавнит/выбрасывает части по вероятностям и удаляет оружие. На клиент добавлен пустой класс WeaponDismantleOnShootSystem. Массово добавлены прототипы, теги, crafting‑графы, локализации и meta.json для спрайтов. Possibly related PRs
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
|
There was a problem hiding this comment.
Actionable comments posted: 16
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
🤖 Fix all issues with AI agents
In `@Content.Server/ADT/Weapon/WeaponDismantleOnShootSystem.cs`:
- Line 68: The code uses IoCManager.Resolve<IRobustRandom>() inside
WeaponDismantleOnShootSystem; replace this manual resolve with an injected
dependency by adding a [Dependency] private readonly IRobustRandom _random =
default! field on the WeaponDismantleOnShootSystem class and update usages
(currently the local variable "random") to use _random instead, then remove the
IoCManager.Resolve call; this mirrors the shared-system pattern and ensures DI
is used consistently.
In `@Content.Shared/ADT/Weapons/SharedWeaponDismantleOnShootSystem.cs`:
- Around line 17-26: Replace the IoCManager.Resolve call in DismantleCheck with
a class-level injected dependency: add a [Dependency] private IRobustRandom
_robustRandom (or similar) to SharedWeaponDismantleOnShootSystem and use
_robustRandom.Prob(ent.Comp.DismantleChance) instead of resolving inside the
method, and add XML documentation summary/remarks to the public DismantleCheck
method describing its purpose and parameters.
In `@Resources/Locale/en-US/ADT/crafting_menu/makeshift-items.ftl`:
- Around line 1-2: The localization key crafting-menu-name-FDB contains stray
GitHub UI text instead of the intended item name; edit the entry for
crafting-menu-name-FDB (and verify crafting-menu-text-FDB) to remove the pasted
interface garbage and replace it with the correct display name string for the
forged double-barrel shotgun, ensuring the value is a clean localized string
without any UI artifacts.
In `@Resources/Prototypes/ADT/Entities/Clothing/OuterClothing/armor.yml`:
- Around line 539-618: Sprite paths for the four armor entities are incorrect
(they use _Starlight) so update the Sprite and Clothing sprite fields for ids
ClothingOuterArmorMakeshift, ClothingOuterArmorImprovised,
ClothingOuterArmorForged, and ClothingOuterArmorPaladin to the correct prefix
Resources/Textures/ADT/Clothing/OuterClothing/Armor/*.rsi (replace occurrences
of _Starlight/Clothing/OuterClothing/Armor/ with
Resources/Textures/ADT/Clothing/OuterClothing/Armor/ in both the Sprite and
Clothing component entries).
In `@Resources/Prototypes/ADT/Entities/Objects/Tools/tools.yml`:
- Around line 425-429: В этих Tool-записях поле Tool.qualities использовано как
скаляр "Welding"; замените его на список в формате qualities: followed by a
hyphenated item (например qualities:\n - Welding) для всех таких вхождений (в
частности записи с текущим type: Tool и значением Welding на строках, упомянутых
в комментарии); убедитесь, что формат совпадает с другими Tool-компонентами в
файле.
In `@Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Pistols/pistols.yml`:
- Around line 105-272: The entity WeaponPistolImprovised incorrectly uses parent
BaseWeaponSniper; change its parent list to use BaseWeaponPistol (matching the
other pistols) so it inherits the correct pistol behavior. Locate the YAML
entity with id WeaponPistolImprovised and replace BaseWeaponSniper in the parent
array with BaseWeaponPistol, leaving other parents (e.g., BaseMinorContraband if
present) and all components (Gun, BallisticAmmoProvider, Construction graph
ImprovisedPistolGraph, WeaponDismantleOnShoot, etc.) unchanged.
In
`@Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml`:
- Around line 484-522: For BulletMagnumTraceImprovised,
BulletPistolTraceImprovised and BulletLightRifleTraceImprovised (all parent:
BaseBullet) move the top-level damage, staminaDamage and bullet.sprite entries
into the entity's components array to match BaseBullet and other bullets; create
a components: [...] block for each entity and place the existing damage: {
types: ... }, staminaDamage: X and bullet: { sprite: { sprite: ..., state: ... }
} inside appropriate component objects so these fields are loaded (preserve the
same keys/values and sprite path/state).
In
`@Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml`:
- Around line 70-92: The overridden BallisticAmmoProvider in WeaponShotgunForged
drops the inherited whitelist from BaseWeaponShotgun allowing any ammo; restore
the restriction by adding a whitelist entry (e.g., whitelist: [ShellShotgun]) to
the BallisticAmmoProvider component in the WeaponShotgunForged entity so it only
accepts shotgun shells as intended.
In
`@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/forged_omnitool.yml`:
- Around line 1-59: The construction graph resource ForgedOmnitoolGraph in
forged_omnitool.yml is fully commented out while other resources reference it
(e.g., the crafting graph id ForgedOmnitoolGraph and the resulting entity
UnfinishedForgedOmnitool), so either restore the graph by uncommenting the
entire block (the top-level type/id/start/graph structure and the nodes "start"
and "tool" with all steps/materials) or remove/update all external references to
ForgedOmnitoolGraph and UnfinishedForgedOmnitool in the other prototypes that
point to it so they no longer rely on this graph.
In
`@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/forged_shield_buckler.yml`:
- Around line 4-20: В блоке graph у узла "start" элементы списков выровнены
неправильно: ключи edges и steps пустые, а элементы (материалы) оказались на
уровне узла. Исправьте отступы так, чтобы список после edges содержал объекты с
ключом to и steps вложенным внутрь, а список после steps содержал элементы
материалов (material/amount/doAfter) как вложенные элементы; проверьте узел
"start" и сущность UnfinishedForgedShieldBuckler чтобы убедиться, что edges и
steps находятся под соответствующими ключами.
In
`@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised_omnitool.yml`:
- Around line 1-43: Файл содержит полностью закомментированный constructionGraph
(ImprovisedOmnitoolGraph), поэтому ресурс не загрузится; нужно раскомментировать
блок с graph — снять ведущие `#` перед строками, включая определения графа (id:
ImprovisedOmnitoolGraph, start: start), узлы (node: start и node: tool), шаги в
edges (теги: ImprovisedMultitool, ImprovisedWrench, ImprovisedWirecutter,
ImprovisedScrewdriver, ImprovisedCrowbar, EmergencyWelder, а также material:
Steel) и entity: UnfinishedImprovisedOmnitool, чтобы YAML снова стал валидным и
зарегистрировался.
In
`@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised_revolver.yml`:
- Around line 4-35: The YAML has incorrect indentation so the "edges" and their
"steps" under node "start" are not nested correctly; fix by indenting "edges:"
one level deeper under "- node: start" and indent the "steps:" block one level
deeper under each edge (so each "- to: shotgun" contains its "steps:" list),
ensuring each step item (tags like ModularBarrel, ModularReceiver, RifleStock
and material blocks for Cloth/Steel) remains as list entries under that "steps"
key; verify the trailing "- node: shotgun" stays at the same top-level graph
list as "- node: start".
In
`@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/makeshift_shotgun.yml`:
- Around line 4-27: В текущем YAML списки `edges` и `steps` оказались на том же
уровне, что и `node`, из‑за неверных отступов — переместите ключи `edges` внутрь
соответствующего узла `- node: start` и ключи `steps` внутрь каждого `- to:
shotgun` в `edges`, чтобы элементы с тегами (ModularBarrel, ModularReceiver,
RifleStock) были вложены под `steps`; проверьте, что структура теперь выглядит
как graph -> - node: start -> edges: -> - to: shotgun -> steps: -> - tag:
ModularBarrel / - tag: ModularReceiver / - tag: RifleStock, оставив второй узел
`- node: shotgun` с `entity: WeaponShotgunMakeshift` без изменений.
In
`@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/plasteel_hilt.yml`:
- Around line 4-13: The YAML graph has incorrect indentation causing edges and
steps to be parsed as sibling keys instead of nested lists; adjust the
indentation under the "node: start" block so "edges:" is a child of that node
and the "- to: hilt" list item (and its "steps:" block) are nested under
"edges", and likewise ensure the "- material: Plasteel" entry is indented under
"steps" (so "hilt"/"entity: HiltPlasteel" remains a separate node). In short:
nest the edges list under the start node and nest the steps list under each edge
(referencing the graph, node: start, edges, steps, and node: hilt symbols).
In `@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/steel_blade.yml`:
- Around line 4-13: The YAML has incorrect indentation causing the lists to
float at the node level; fix the indentation so the edges list is nested under
the start node and the steps list is nested under that edge (i.e., indent the "-
to: blade" item further under "edges" for node "start", and indent the "-
material: Steel" item further under "steps" for that edge), ensuring "edges" and
"steps" contain their list items rather than having those items at the same
level as "node" or "entity" (check the "node: start" / "edges" / "steps" and
"node: blade" / "entity: BladeSteel" blocks to verify nesting).
In `@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/wooden_hilt.yml`:
- Around line 4-12: В YAML-файле неправильная вложенность: ключи edges и steps
должны быть вложены в соответствующие блоки node/edge, из‑за текущей отступы
граф не распарсится; откройте блок node: start и сместите список edges внутрь
этого блока, затем внутри каждого edge сместите список steps так, чтобы
material/amount/doAfter были вложены в steps (найдите блоки с "node: start",
"edges", "to: hilt" и "material: WoodPlank" и исправьте отступы соответственно).
🟡 Minor comments (16)
Resources/Textures/ADT/Objects/Weapons/Guns/Ammunition/Magazine/Pistol/improvised_pistol_magazine.rsi/meta.json-25-28 (1)
25-28:⚠️ Potential issue | 🟡 MinorЛишняя пустая строка в JSON-объекте.
Строка 27 содержит лишний перенос внутри объекта состояния "mag-5", что нарушает консистентность форматирования.
Предложенное исправление
{ - "name": "mag-5" - + "name": "mag-5" },Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/makeshift_smg.yml-7-7 (1)
7-7:⚠️ Potential issue | 🟡 MinorНесоответствие названия ноды и производимой сущности.
Нода названа
shotgun, но производитWeaponSubMachineGunMakeshift(пистолет-пулемёт). Вероятно, копипаста из другого графа.Предложенное исправление
- to: shotgun + - to: smg steps:И на строке 27:
- - node: shotgun + - node: smg entity: WeaponSubMachineGunMakeshiftResources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/magnum.ftl-11-12 (1)
11-12:⚠️ Potential issue | 🟡 MinorИсправить опечатку в названии патрона.
На Line 11 слово «серебрянный» должно быть «серебряный».✏️ Предлагаемое исправление
-ent-ADTCartridgeMagnumsilver = патрон (.357 магнум серебрянный) +ent-ADTCartridgeMagnumsilver = патрон (.357 магнум серебряный)Resources/Locale/en-US/ADT/crafting_menu/makeshift-items.ftl-111-112 (1)
111-112:⚠️ Potential issue | 🟡 MinorОрфографическая ошибка: "unholdy" → "unholy".
📝 Предлагаемое исправление
-crafting-menu-text-DSW = Burn away the unholdy heretics with this weapon of justice! +crafting-menu-text-DSW = Burn away the unholy heretics with this weapon of justice!Resources/Locale/en-US/ADT/crafting_menu/makeshift-items.ftl-129-130 (1)
129-130:⚠️ Potential issue | 🟡 MinorОрфографическая ошибка: "Exeedingly" → "Exceedingly".
📝 Предлагаемое исправление
-crafting-menu-text-PSHG = Become the wall you want to be. Exeedingly heavy to the point of needing a makeshift harness to simply hold. Needs welding supplies to finish. +crafting-menu-text-PSHG = Become the wall you want to be. Exceedingly heavy to the point of needing a makeshift harness to simply hold. Needs welding supplies to finish.Resources/Textures/ADT/Objects/Tools/improvised_omnitool.rsi/meta.json-31-54 (1)
31-54:⚠️ Potential issue | 🟡 MinorНесоответствие отступов: используются табы вместо пробелов.
В строках 31, 39, 47 используется символ табуляции вместо пробелов, в то время как остальная часть файла использует пробелы для отступов.
📝 Предлагаемое исправление
- { + { "name": "green-inhand-left", "directions": 4 }, { "name": "green-inhand-right", "directions": 4 }, - { + { "name": "yellow-inhand-left", "directions": 4 }, { "name": "yellow-inhand-right", "directions": 4 }, - { + { "name": "red-inhand-left", "directions": 4 },Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Snipers/snipers.yml-192-196 (1)
192-196:⚠️ Potential issue | 🟡 MinorОпечатка в описании (“achive”).
Исправить на “achieve”.
📝 Предлагаемая правка текста
- description: The best a tider can achive, reliable fire-rate and accuracy with a satisfying lever-action system. What more can you ask for? Is fitted to be able to chamber both .35 / .45 + description: The best a tider can achieve, reliable fire-rate and accuracy with a satisfying lever-action system. What more can you ask for? Is fitted to be able to chamber both .35 / .45Content.Server/Weapons/Ranged/Systems/GunSystem.cs-311-315 (1)
311-315:⚠️ Potential issue | 🟡 MinorПриведите пометку ADT‑Tweak к требуемому формату.
Для одиночной строки вне /ADT/ нужен формат
// ADT-Tweak: ...; сейчас двоеточия и описания нет.As per coding guidelines: Одиночные строки можно просто помечать как // ADT-Tweak: И тут информация мб краткая по желанию🐛 Возможный вариант правки
- Shooter = user, // ADT-Tweak + Shooter = user, // ADT-Tweak: добавлен Shooter в AmmoShotEventResources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised.yml-451-480 (1)
451-480:⚠️ Potential issue | 🟡 MinorОписание для Screwdriver/Wirecutter/Wrench ссылается на ключи Crowbar.
В результате в меню будет неверный текст. Лучше привязать description к своим ключам.📝 Возможная правка ключей описания
- type: construction name: crafting-menu-name-ISC id: ScrewdriverImprovised graph: ImprovisedScrewdriverGraph startNode: start targetNode: tool category: construction-category-tools objectType: Item - description: crafting-menu-text-IC + description: crafting-menu-text-ISC @@ - type: construction name: crafting-menu-name-IW id: WirecutterImprovised graph: ImprovisedWirecutterGraph startNode: start targetNode: tool category: construction-category-tools objectType: Item - description: crafting-menu-text-IC + description: crafting-menu-text-IW @@ - type: construction name: crafting-menu-name-IWR id: WrenchImprovised graph: ImprovisedWrenchGraph startNode: start targetNode: tool category: construction-category-tools objectType: Item - description: crafting-menu-text-IC + description: crafting-menu-text-IWRResources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised_sniper.yml-7-7 (1)
7-7:⚠️ Potential issue | 🟡 MinorОшибка копирования: имя узла "shotgun" для снайперской винтовки.
Граф предназначен для
WeaponSniperImprovised, но узел названshotgun. Это явная ошибка копирования из другого графа. Рекомендуется переименовать для согласованности.🔧 Предлагаемое исправление
- to: shotgun + - to: sniper steps: ... - - node: shotgun + - node: sniper entity: WeaponSniperImprovisedAlso applies to: 30-31
Resources/Prototypes/ADT/Entities/Objects/Tools/crowbars.yml-1-57 (1)
1-57:⚠️ Potential issue | 🟡 MinorОпечатка в описании.
Две точки в конце предложения.✏️ Возможный фикс
- description: Barely better than nothing. Could be made into something greater with a welder, though.. + description: Barely better than nothing. Could be made into something greater with a welder, though.Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml-1-23 (1)
1-23:⚠️ Potential issue | 🟡 MinorОпечатка в описании боеприпаса.
propellent→propellant.✏️ Возможный фикс
- description: A handmade pistol bullet, uses phosphorus as a propellent instead of gunpowder which makes it much less effective. + description: A handmade pistol bullet, uses phosphorus as a propellant instead of gunpowder which makes it much less effective.Resources/Prototypes/ADT/Entities/Clothing/Head/helmets.yml-195-272 (1)
195-272:⚠️ Potential issue | 🟡 MinorИсправьте опечатки/грамматику в описаниях.
Тексты можно немного подправить для качества UI.✏️ Возможный фикс
- description: Cobbled together steel held together with lv cables in the vauge shape of a helmet. Barely does anything. + description: Cobbled together steel held together with LV cables in the vague shape of a helmet. Barely does anything. @@ - description: Interlocking steel plates provides some decent protection, but is still barely better than nothing. + description: Interlocking steel plates provide some decent protection, but are still barely better than nothing.Content.Server/ADT/Weapon/WeaponDismantleOnShootSystem.cs-24-34 (1)
24-34:⚠️ Potential issue | 🟡 MinorУдалите неиспользуемые зависимости.
Следующие зависимости объявлены, но не используются в коде:
_tagSystem_gunSystem_log_physics_popup_inventoryТакже
_entityManagerизбыточен, так какEntitySystemуже предоставляет доступ кEntityManager.🧹 Предлагаемое исправление
public sealed partial class WeaponDismantleOnShootSystem : SharedWeaponDismantleOnShootSystem { - [Dependency] private readonly TagSystem _tagSystem = default!; - [Dependency] private readonly SharedGunSystem _gunSystem = default!; - [Dependency] private readonly ILogManager _log = default!; [Dependency] protected readonly SharedTransformSystem _transformSystem = default!; - [Dependency] private readonly SharedPhysicsSystem _physics = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly ThrowingSystem _throwing = default!; - [Dependency] private readonly InventorySystem _inventory = default!; [Dependency] protected readonly DamageableSystem Damageable = default!; - [Dependency] private readonly IEntityManager _entityManager = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly IRobustRandom _random = default!;Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/SMGs/smgs.yml-168-176 (1)
168-176:⚠️ Potential issue | 🟡 MinorИсправьте спрайт одежды у improvised SMG.
Сейчас вClothingиспользуется_Starlight/.../makeshift_smg.rsi, из‑за чего предмет будет отображаться как makeshift вместо improvised.🧵 Предложение по исправлению спрайта
- - type: Clothing - sprite: _Starlight/Objects/Weapons/Guns/SMGs/makeshift_smg.rsi + - type: Clothing + sprite: _Starlight/Objects/Weapons/Guns/SMGs/improvised_smg.rsiResources/Prototypes/ADT/Entities/Objects/Misc/improvised_gun_parts.yml-28-29 (1)
28-29:⚠️ Potential issue | 🟡 MinorОпечатка в описании: “reqiured”.
Лучше исправить на “required” во всех повторениях.✍️ Правка орфографии
- description: Some assembly may be reqiured. Needs welding. + description: Some assembly may be required. Needs welding. ... - description: Some assembly may be reqiured. Needs welding. + description: Some assembly may be required. Needs welding. ... - description: Some assembly may be reqiured. Needs welding. + description: Some assembly may be required. Needs welding. ... - description: Some assembly may be reqiured. Needs welding. + description: Some assembly may be required. Needs welding.Also applies to: 49-50, 70-71, 91-92
🧹 Nitpick comments (18)
Resources/Textures/ADT/Objects/Tools/improvised_multitool.rsi/meta.json (1)
30-53: Несогласованные отступы: табуляция вместо пробелов.На строках 30, 38 и 46 используется символ табуляции для отступа, тогда как в остальном файле применяются пробелы. Рекомендуется привести к единому стилю.
🔧 Предлагаемое исправление форматирования
}, - { + { "name": "green-inhand-left", "directions": 4 }, { "name": "green-inhand-right", "directions": 4 }, - { + { "name": "yellow-inhand-left", "directions": 4 }, { "name": "yellow-inhand-right", "directions": 4 }, - { + { "name": "red-inhand-left", "directions": 4 },Resources/Prototypes/ADT/Entities/Personalization/Objects/personalization_items.yml (1)
2642-2643: Дополнительные пустые строки не обязательны.Две пустые строки между определениями сущностей избыточны. Одной пустой строки достаточно для разделения entity definitions в этом файле. Однако это не влияет на функциональность и может быть оставлено, если это соответствует вашему стилю оформления.
♻️ Предлагаемое упрощение форматирования
- type: UserInterface interfaces: enum.PaperUiKey.Key: type: PaperBoundUserInterface - - type: entityResources/Textures/ADT/Objects/Misc/plasteel_blade.rsi/meta.json (1)
1-22: Непоследовательное форматирование JSON.В файле присутствуют несоответствия в форматировании:
- Отсутствие пробелов после двоеточий в некоторых местах (
"version":1) при их наличии в других ("name": "inhand-left")- Строка 12: лишние пробелы после
},🔧 Предлагаемое исправление форматирования
{ - "version":1, - "size":{ - "x":32, - "y":32 + "version": 1, + "size": { + "x": 32, + "y": 32 }, - "license":"CC-BY-SA-3.0", - "copyright":"Made by Killer Tamashi (Discord)", - "states":[ + "license": "CC-BY-SA-3.0", + "copyright": "Made by Killer Tamashi (Discord)", + "states": [ { - "name":"icon" - }, + "name": "icon" + }, { "name": "inhand-left", - "directions":4 + "directions": 4 }, { - "name":"inhand-right", - "directions":4 + "name": "inhand-right", + "directions": 4 } ] }Resources/Textures/ADT/Objects/Misc/steel_blade.rsi/meta.json (1)
1-22: Непоследовательное форматирование JSON.Аналогичные проблемы форматирования как в
plasteel_blade.rsi/meta.json:
- Непоследовательное использование пробелов после двоеточий
- Строка 12: лишние пробелы после
},🔧 Предлагаемое исправление форматирования
{ - "version":1, - "size":{ - "x":32, - "y":32 + "version": 1, + "size": { + "x": 32, + "y": 32 }, - "license":"CC-BY-SA-3.0", - "copyright":"Made by Killer Tamashi (Discord)", - "states":[ + "license": "CC-BY-SA-3.0", + "copyright": "Made by Killer Tamashi (Discord)", + "states": [ { - "name":"icon" - }, + "name": "icon" + }, { "name": "inhand-left", - "directions":4 + "directions": 4 }, { - "name":"inhand-right", - "directions":4 + "name": "inhand-right", + "directions": 4 } ] }Resources/Prototypes/Entities/Objects/Shields/shields.yml (1)
206-275: Закомментированный блок требует пояснения или удаления.Весь entity
MakeshiftShieldзакомментирован без внешнего ADT-Tweak комментария, объясняющего причину. Вложенные ADT-Tweak маркеры внутри закомментированного кода создают путаницу.Рекомендации:
- Если сущность заменена новыми щитами — удалите закомментированный код полностью
- Если код временно отключён — добавьте поясняющий комментарий сверху:
# ADT-Tweak-Start: MakeshiftShield отключён, заменён на PaladinShield/ImprovisedShield # ADT-Tweak-EndContent.Server/Weapons/Ranged/Systems/GunSystem.cs (1)
66-68: Добавьте XML‑summary для публичного метода Shoot.Метод ключевой для API и сейчас без XML‑документации.
As per coding guidelines: и предлагай /// summary документацию к C# коду, к важным функциям или классам💡 Пример минимальной документации
+ /// <summary> + /// Выполняет выстрел из оружия с заданными параметрами. + /// </summary> public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? Entity, IShootable Shootable)> ammo,Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/forged_revolver.yml (1)
7-7: Некорректное имя узла:shotgunдля револьвера.Узел назван
shotgun, но финальная сущность —UnfinishedRevolverForged. Это вводит в заблуждение и затрудняет сопровождение кода. Рекомендуется переименовать узел вrevolverдля согласованности.♻️ Предлагаемое исправление
- to: shotgun + - to: revolver steps: ... - - node: shotgun + - node: revolver entity: UnfinishedRevolverForgedAlso applies to: 30-31
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised_smg.yml (1)
7-7: Некорректное имя узла:shotgunдля пистолета-пулемёта.Узел назван
shotgun, но финальная сущность —WeaponSubMachineGunImprovised. Для улучшения читаемости и сопровождения переименуйте узел вsmgилиweapon.♻️ Предлагаемое исправление
- to: shotgun + - to: smg steps: ... - - node: shotgun + - node: smg entity: WeaponSubMachineGunImprovisedAlso applies to: 30-31
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/makeshift_revolver.yml (1)
7-7: Некорректное имя узла:shotgunдля револьвера.Аналогично другим файлам — узел назван
shotgun, но финальная сущность —WeaponRevolverMakeshift. Для консистентности переименуйте вrevolver.♻️ Предлагаемое исправление
- to: shotgun + - to: revolver steps: ... - - node: shotgun + - node: revolver entity: WeaponRevolverMakeshiftAlso applies to: 27-28
Content.Client/ADT/Weapon/WeaponDismantleOnShootSystem.cs (1)
21-23: Добавьте XML-summary для системы.
Публичный системный класс без описания сложнее поддерживать и искать в IDE.✍️ Предлагаемое дополнение
namespace Content.Client.ADT.Weapon.Systems; +/// <summary> +/// Клиентская часть логики dismantle-on-shoot для оружия. +/// </summary> public sealed partial class WeaponDismantleOnShootSystem : SharedWeaponDismantleOnShootSystem { }As per coding guidelines: «и предлагай /// summary документацию к C# коду, к важным функциям или классам».
Content.Shared/ADT/Weapons/SharedWeaponDismantleOnShootSystem.cs (1)
1-5: Порядокusingдолжен быть алфавитным.Согласно правилам проекта, в ADT системах using должны быть упорядочены по алфавиту.
♻️ Предлагаемое исправление
-using Content.Shared.ADT.Weapon.Components; -using Content.Shared.Examine; -using Content.Shared.Weapons.Ranged.Events; -using Content.Shared.Weapons.Ranged.Systems; -using Robust.Shared.Random; +using Content.Shared.ADT.Weapon.Components; +using Content.Shared.Examine; +using Content.Shared.Weapons.Ranged.Events; +using Robust.Shared.Random;Примечание:
Content.Shared.Weapons.Ranged.Systemsне используется в этом файле и может быть удалён.Content.Server/ADT/Weapon/WeaponDismantleOnShootSystem.cs (3)
1-19: Порядокusingнарушен и есть избыточный комментарий.Using-директивы должны быть в алфавитном порядке. Комментарий
//linqизбыточен.♻️ Предлагаемое исправление порядка using
-using Content.Shared.ADT.Weapon.Systems; -using System.Numerics; -using Content.Shared.ADT.Weapon.Components; -using Content.Shared.Inventory; -using Content.Shared.Popups; -using Content.Shared.Tag; -using Content.Shared.Throwing; -using Content.Shared.Weapons.Ranged.Systems; -using Robust.Shared.Physics.Systems; - -//linq -using System.Linq; -using Content.Shared.Weapons.Ranged.Events; -using Robust.Shared.Random; -using Content.Shared.Damage; -using Content.Shared.Wieldable; -using Content.Shared.Weapons.Ranged.Components; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Map; +using System.Numerics; +using Content.Shared.ADT.Weapon.Components; +using Content.Shared.ADT.Weapon.Systems; +using Content.Shared.Damage; +using Content.Shared.Throwing; +using Content.Shared.Weapons.Ranged.Components; +using Content.Shared.Weapons.Ranged.Events; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Map; +using Robust.Shared.Random;
41-44: Используйте идиоматичное сравнение и добавьте XML-документацию.Сравнение
== falseнеидиоматично. Используйте оператор!.♻️ Предлагаемое исправление
+ /// <summary> + /// Обрабатывает событие выстрела и разрушение оружия при необходимости. + /// </summary> private void OnGunShot(Entity<WeaponDismantleOnShootComponent> ent, ref AmmoShotEvent args) { - if (DismantleCheck(ent, ref args) == false) + if (!DismantleCheck(ent, ref args)) return;
99-101: Упростите удаление сущности.Вместо
_entityManager.QueueDeleteEntityможно использовать унаследованныйQueueDel.♻️ Предлагаемое исправление
- //now we need to destroy the gun - //get the gun entity - _entityManager.QueueDeleteEntity(ent.Owner); + // Удаляем оружие + QueueDel(ent.Owner);Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun.yml (1)
30-39: Приведите формат ADT-Tweak маркеров к единообразию.Формат маркеров на строках 30 и 39 отличается от формата на строках 9 и 15. Для консистентности используйте единый формат с дефисами:
# ADT-Tweak-Start/# ADT-Tweak-End.♻️ Предлагаемое исправление
- node: shotgun -#ADT-Tweak Start Добавлена возможость обрезать самодельный дробовик до самодельного обреза +# ADT-Tweak-Start: Добавлена возможность обрезать самодельный дробовик до самодельного обреза edges: - to: improvisedshotgunsawn steps: - tool: Sawing doAfter: 2 entity: WeaponShotgunImprovised - node: improvisedshotgunsawn entity: ADTWeaponShotgunImprovisedSawn -#ADT-Tweak End Добавлена возможость обрезать самодельный дробовик до самодельного обреза +# ADT-Tweak-EndТакже исправлена опечатка: "возможость" → "возможность".
Content.Shared/ADT/Weapons/Components/WeaponDismantleOnShootComponent.cs (3)
1-7: Удалите неиспользуемыеusingи упорядочьте по алфавиту.
Content.Shared.StorageиContent.Shared.Tagне используются в этом файле.♻️ Предлагаемое исправление
using Content.Shared.Damage; -using Content.Shared.Storage; -using Content.Shared.Tag; using Robust.Shared.Audio; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization;
10-11: Добавьте XML-документацию к классу.Рекомендуется добавить
/// <summary>для описания назначения компонента.📝 Предлагаемое дополнение
namespace Content.Shared.ADT.Weapon.Components; + +/// <summary> +/// Компонент для оружия, которое может разрушиться при выстреле с заданной вероятностью. +/// </summary> [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class WeaponDismantleOnShootComponent : Component
29-30: Используйте PascalCase для публичных полей.Поле
itemsдолжно называтьсяItemsсогласно конвенциям именования C#.♻️ Предлагаемое исправление
[DataField, AutoNetworkedField] - public List<DismantleOnShootItem> items = []; + public List<DismantleOnShootItem> Items = [];Не забудьте обновить все ссылки на это поле в
WeaponDismantleOnShootSystem.cs(строка 69:ent.Comp.items→ent.Comp.Items).
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised_revolver.yml
Show resolved
Hide resolved
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/makeshift_shotgun.yml
Show resolved
Hide resolved
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/plasteel_hilt.yml
Show resolved
Hide resolved
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/steel_blade.yml
Show resolved
Hide resolved
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/wooden_hilt.yml
Show resolved
Hide resolved
There was a problem hiding this comment.
Actionable comments posted: 8
🤖 Fix all issues with AI agents
In `@Resources/Locale/en-US/ADT/crafting_menu/makeshift-items.ftl`:
- Around line 111-113: Fix the two typos in the FTL entries: change "unholdy" to
"unholy" in the crafting-menu-text-DSW value (the line paired with
crafting-menu-name-DSW) and change "Exeedingly" to "Exceedingly" in the other
FTL entry that currently contains "Exeedingly" (the entry around lines 129-131).
Update the text values only, preserving keys and formatting.
In `@Resources/Prototypes/ADT/Entities/Objects/Misc/improviesd_parts.yml`:
- Around line 1-491: The file name contains a typo ("improviesd_parts.yml") and
should be renamed to "improvised_parts.yml"; rename the file and update all
references to it across the repo (any import/load/config/manifest entries that
reference improviesd_parts.yml), ensuring CI/build scripts and any resource
lists that load entities like UnfinishedImprovisedCrowbar,
UnfinishedForgedOmnitool, HiltWood, BladeSteel, etc. are updated to the new name
so nothing breaks.
In `@Resources/Prototypes/ADT/Entities/Objects/Misc/improvised_gun_parts.yml`:
- Line 28: Fix the repeated typo "reqiured" to "required" in the description
fields of improvised_gun_parts.yml; search the file for any description entries
containing "reqiured" (currently at several positions) and replace each
occurrence with "required" so all assembly description strings read "Some
assembly may be required. Needs welding."
In
`@Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Ammunition/Speedloader/magnum.yml`:
- Around line 149-150: The sprite path in the YAML uses the wrong case — update
the sprite value for the 'sprite' key in magnum.yml from
ADT/Objects/Weapons/Guns/Ammunition/SpeedLoaders/Magnum/improvised_magnum_speed_loader.rsi
to use 'Speedloaders' (ADT/Objects/Weapons/Guns/Ammunition/Speedloaders/...) so
it matches the other entries (lines referencing Speedloaders) and avoids
case-sensitive filesystem load failures.
In
`@Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml`:
- Around line 166-181: Добавьте компонент Construction к сущности
WeaponRevolverForged, потому что сейчас она наследует Construction с графом
ImprovisedRevolverGraph от WeaponRevolverImprovised, а для кованого револьвера
нужен отдельный граф; вставьте в секцию components для WeaponRevolverForged
компонент типа Construction с graph: ForgedRevolverGraph и node: shotgun, чтобы
явно привязать её к правильному графу крафта (ищите сущность
WeaponRevolverForged в файле и добавьте компонент Construction в список
components).
In `@Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/SMGs/smgs.yml`:
- Around line 175-176: В компоненте WeaponSubMachineGunImprovised поля Sprite и
Clothing используют разные файлы спрайтов (Sprite -> improvised_smg.rsi,
Clothing -> makeshift_smg.rsi); замените значение Clothing с "makeshift_smg.rsi"
на "improvised_smg.rsi" чтобы привести их в соответствие (проверьте строки, где
объявлены Clothing и Sprite для WeaponSubMachineGunImprovised и обновите имя
файла спрайта).
In `@Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Snipers/snipers.yml`:
- Around line 191-196: В описании сущности с name "Forged Repeater Rifle" (id
"WeaponSniperForged", parent "WeaponSniperMakeshift") исправь опечатку: замени
слово "achive" на "achieve" в поле description, оставив остальной текст без
изменений.
In `@Resources/Prototypes/Entities/Objects/Shields/shields.yml`:
- Around line 218-220: В прототипе MakeshiftShield найден дублирующий компонент
Clothing; удалите один из них (удалить блок с type: Clothing и sprite:
ADT/Objects/Weapons/Melee/makeshift_shield.rsi) и перенесите/обновите свойство
sprite в оставшийся компонент Clothing, чтобы остался только один
Clothing-компонент с корректным sprite
(ADT/Objects/Weapons/Melee/makeshift_shield.rsi).
🧹 Nitpick comments (3)
Resources/Prototypes/ADT/Entities/Clothing/OuterClothing/armor.yml (1)
537-538: Мелочь: асимметричные комментарии-маркеры.Начальный комментарий
# Перенос самоделок Start, а конечный просто# End. Для лучшей читаемости рекомендуется использовать симметричную пару:- # End + # Перенос самоделок EndAlso applies to: 631-631
Resources/Prototypes/ADT/Entities/Objects/Tools/tools.yml (2)
446-652: Большой блок закомментированного кода.Закомментированный код
ItemSwitchзанимает более 200 строк. Если это WIP-функционал, рассмотрите возможность вынести его в отдельную ветку или удалить до момента готовности к использованию.
701-894: Ещё один большой блок закомментированного кода.Аналогичный закомментированный
ItemSwitchблок дляOmnitoolForged. Такое количество закомментированного кода затрудняет поддержку файла.
Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Ammunition/Speedloader/magnum.yml
Outdated
Show resolved
Hide resolved
Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml
Show resolved
Hide resolved
Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/SMGs/smgs.yml
Outdated
Show resolved
Hide resolved
Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Snipers/snipers.yml
Show resolved
Hide resolved
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised.yml`:
- Around line 451-479: The three construction entries (ScrewdriverImprovised,
WirecutterImprovised, WrenchImprovised) currently reuse the crowbar description
key `crafting-menu-text-IC`; change each entry's description to its own unique
localization key (e.g. `crafting-menu-text-ISC` for ScrewdriverImprovised,
`crafting-menu-text-IW` for WirecutterImprovised, and `crafting-menu-text-IWR`
for WrenchImprovised) and ensure corresponding localization strings are
added/updated so the graphs (ImprovisedScrewdriverGraph,
ImprovisedWirecutterGraph, ImprovisedWrenchGraph) display correct text.
- Around line 651-730: The listed construction entries use the wrong category:
change category: construction-category-weapons to category:
construction-category-clothing for each armor/helmet recipe entry (e.g., entries
with id ClothingOuterArmorMakeshift, ClothingOuterArmorImprovised,
ClothingOuterArmorForged, ClothingOuterArmorPaladin and the helmet entries
ClothingHeadHelmetMakeshift, ClothingHeadHelmetImprovised,
ClothingHeadHelmetForged, ClothingHeadHelmetPaladin) so their category matches
clothing recipes and the corresponding graph targets (ClothingOuterArmor*Graph
and ClothingHeadHelmet*Graph).
- Around line 171-740: Missing localization and misused description/category
keys: add the ten missing FTL keys for names and texts for
MagazineBoxImprovisedMagnum, MagazineBoxImprovisedPistol,
MagazineBoxImprovisedRifle, MagazineBoxImprovisedShotgun and
SpeedLoaderMagnumLeverImprovised (crafting-menu-name-IMGM/IMGP/IMGR/IMGS/IRS and
crafting-menu-text-IMGM/IMGP/IMGR/IMGS/IRS) into the locale files with proper
translations; give each tool entry a unique description key instead of reusing
crafting-menu-text-IC (update CrowbarImprovised, ScrewdriverImprovised,
WirecutterImprovised, WrenchImprovised to use distinct description keys and add
those texts to FTL); and fix categories for armor/helmet recipes (update
ClothingOuterArmorMakeshift, ClothingOuterArmorImprovised,
ClothingOuterArmorForged, ClothingOuterArmorPaladin and
ClothingHeadHelmetMakeshift, ClothingHeadHelmetImprovised,
ClothingHeadHelmetForged, ClothingHeadHelmetPaladin to use the correct equipment
category rather than construction-category-weapons).
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised.yml
Show resolved
Hide resolved
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised.yml
Show resolved
Hide resolved
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised.yml
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@Resources/Prototypes/Entities/Objects/Shields/shields.yml`:
- Line 210: Replace the misspelled entity id "MakeshitShield" with the correct
"MakeshiftShield" in the prototype definition (id field) and then update every
reference to that id across craft-graphs, spawners, mappings, and any other
lookup tables so they point to "MakeshiftShield" instead of "MakeshitShield" to
restore all links.
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@Resources/Locale/en-US/ADT/crafting_menu/makeshift-items.ftl`:
- Around line 73-82: В файле локалей отсутствуют строки с описаниями для ключей
crafting-menu-name-ISC, crafting-menu-name-IW, crafting-menu-name-IWR и
crafting-menu-name-EW; добавьте соответствующие записи crafting-menu-text-ISC,
crafting-menu-text-IW, crafting-menu-text-IWR и crafting-menu-text-EW с краткими
описаниями (например, назначение, требуемые ресурсы или особенности) чтобы меню
крафта не отображало пустые или отсутствующие описания; убедитесь, что ключи
точно совпадают с именами сущностей (ISC, IW, IWR, EW) и формат строк
соответствует остальным записям в том же файле.
- Around line 158-174: Several crafting-menu-name keys (ETX, MUL, WRE, WIR, SCR,
CRO, EXOXY, CGREN, CYELO) are missing corresponding description entries; add
matching crafting-menu-text-ETX, crafting-menu-text-MUL, crafting-menu-text-WRE,
crafting-menu-text-WIR, crafting-menu-text-SCR, crafting-menu-text-CRO,
crafting-menu-text-EXOXY, crafting-menu-text-CGREN, and crafting-menu-text-CYELO
FTL entries with concise localized descriptions that match the tone and style
used by other items in the file (brief one-line descriptions), ensure keys
follow the existing naming pattern and punctuation/escaping rules in the file,
and place them near the existing crafting-menu-name-* block for consistency.
In `@Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/dawnbreaker.yml`:
- Around line 9-13: В файле dawnbreaker.yml используется локализационный ключ
crafting-menu-name-FSW, которого нет в FTL; исправьте это, добавив запись с этим
ключом в соответствующие FTL-файлы (например en-US.ftl и другие языковые файлы)
в формате FTL: crafting-menu-name-FSW = <перевод>, убедившись в корректном
синтаксисе (экранирование кавычек/спецсимволов при необходимости) и затем
пересоберите/проверьте локализационный пакет, чтобы убедиться что ключ
разрешается в интерфейсе.
🧹 Nitpick comments (1)
Resources/Locale/en-US/ADT/crafting_menu/makeshift-items.ftl (1)
111-111: Ключ не соответствует паттерну файла.Ключ
construction-graph-tag-welderне следует паттернуcrafting-menu-*, используемому в этом файле. Рекомендуется переместить его в отдельный FTL файл для construction graph тегов или переименовать для соответствия структуре.
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/dawnbreaker.yml
Show resolved
Hide resolved
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@Resources/Prototypes/ADT/Entities/Objects/Tools/tools.yml`:
- Around line 895-902: В файле есть осиротевший блок "- type: Tag" состоящий из
тегов Multitool, DoorElectronicsConfigurator, Wrench, PlantSampleTaker,
Wirecutter, Screwdriver, который идёт сразу после закомментированной сущности
OmnitoolForged и не привязан ни к какой entity; устраните проблему либо
перенесите этот Tag-блок внутрь соответствующей сущности, либо
закомментируйте/удалите его, чтобы он не оставался отдельной, невалидной записью
(ищите метрку "- type: Tag" и контент тегов рядом с OmnitoolForged).
- Around line 653-661: The YAML contains an orphaned "- type: Tag" block that is
not attached to any entity (it appears after the commented-out
OmnitoolImprovised) and may be parsed into the wrong entity (e.g.,
MultitoolImprovised); fix it by either removing this orphan Tag block entirely
or commenting it out along with the OmnitoolImprovised entity so tags stay
grouped correctly; locate the orphan by searching for the "type: Tag" block
following "OmnitoolImprovised" and adjust so every "- type: Tag" is nested under
the intended entity.
🧹 Nitpick comments (1)
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised.yml (1)
441-469: Закомментированный код для Omnitool.Записи для OmnitoolImprovised и OmnitoolForged закомментированы. Если эти рецепты не планируются к релизу, лучше удалить их полностью или добавить TODO-комментарий с пояснением.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@Resources/Prototypes/ADT/Entities/Objects/Tools/tools.yml`:
- Around line 140-143: The Tool entry for the entity "makeshift crowbar-wrench"
incorrectly lists Tool.qualities: "Screwing" while the MultipleTool behaviors
are "Prying" and "Anchoring"; update the Tool.qualities value to match the
tool's behaviors (e.g., replace "Screwing" with "Prying" or add both "Prying"
and "Anchoring") so Tool.qualities aligns with the MultipleTool behavior
definitions for "makeshift crowbar-wrench".
🧹 Nitpick comments (1)
Resources/Prototypes/ADT/Recipes/Crafting/Graphs/Improvised/improvised.yml (1)
81-87: Закомментированный код HandmadeCrowbar 😎Закомментированная запись оставлена как мёртвый код. Если рецепт больше не нужен — лучше удалить полностью. Если планируется вернуть — добавьте TODO с объяснением.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In
`@Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Tools/makeshift-item.ftl`:
- Line 43: The .desc entry for the makeshift-item is missing a terminal period;
update the string in the makeshift-item.ftl by appending a period so it reads
".desc = Требуется сварка, чтобы скрепить его воедино." ensuring consistency
with other `.desc` entries (locate the `.desc = Требуется сварка, чтобы скрепить
его воедино` line and add the final dot).
- Line 10: In the .desc entry for the makeshift-item localization, correct the
gendered pronoun to match the feminine noun "броня" by replacing "скрепить его
воедино." with "скрепить её воедино."; update the .desc string accordingly so
the pronoun agrees with "броня бригантина".
Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Tools/makeshift-item.ftl
Outdated
Show resolved
Hide resolved
Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Tools/makeshift-item.ftl
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@Resources/Prototypes/ADT/Entities/Objects/Tools/tools.yml`:
- Around line 493-552: Сущности OmnitoolImprovised удалены/отсутствуют
компоненты, необходимые для качества Pulsing и тегов
Multitool/DoorElectronicsConfigurator; добавьте в её YAML те же компоненты, что
и у MultitoolImprovised — NetworkConfigurator, ActivatableUI и UserInterface —
чтобы включить функциональность пульсинга и конфигурации сети (сохраните
конфигурации и параметры как в MultitoolImprovised для корректной работы этих
тэгов и поведения Pulsing).
🧹 Nitpick comments (1)
Resources/Prototypes/ADT/Entities/Objects/Tools/tools.yml (1)
197-202: Несогласованный форматuseSoundв Tool-компоненте.На строке 201
useSoundзадан как скалярная строка (useSound: /Audio/Items/crowbar.ogg), тогда как везде в файле используется вложенный формат сpath:илиcollection:(например, строки 362-363, 434-435). Хотя движок может десериализовать оба варианта, для единообразия лучше привести к общему формату.♻️ Исправление
- type: Tool qualities: - Prying - Anchoring - useSound: /Audio/Items/crowbar.ogg + useSound: + path: /Audio/Items/crowbar.ogg speedModifier: 0.7
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
|
вобщем привёл эту какофонию к призентабельному виду. пришлось избавится от омнитулов ибо они конфликтовали с убунтой |
|
вроде бы цикл говна и мочи закончен. |
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |








































































































































Описание PR
Портировал пр ss14Starlight/space-station-14#939
Самодельные инструменты броню оружие патроны.
Разделяются на три вида от худшего к лучшему. Самодельный, импровизированный, и кованый.
Инструменты все кроме сварочных аппаратах в виде трёх штук . (всего инструментов 15)
Три вида винтовок, пистолетов, пистолетов-пулемётов, револьверов, и два вида дробовиков.
По три вида доспехов (Всего 4) три вида шлемов (всего 4) и три вида щитов (всего 5) и три вида мечей (всего 5).
три калибра импровизированных патрон :
(.Магнум 357); (9х19 мм); (7.62х39 мм)
Система WeaponDismantleOnShoot самоподрыва оружия особо упоминания не стоит.
Взрывает оружие имеет возможность нанести урон по юзеру оружия, выбрать компоненты для выбрасывания из оружия и дальность взрыва оружия с шансом.
Почему / Баланс
Техническая информация
Медиа
Чейнджлог
🆑 Armorkillerd