diff --git a/Content.Server/_EinsteinEngines/Silicon/WeldingHealable/WeldingHealableSystem.cs b/Content.Server/_EinsteinEngines/Silicon/WeldingHealable/WeldingHealableSystem.cs index af88f8ec4de..2613380daa4 100644 --- a/Content.Server/_EinsteinEngines/Silicon/WeldingHealable/WeldingHealableSystem.cs +++ b/Content.Server/_EinsteinEngines/Silicon/WeldingHealable/WeldingHealableSystem.cs @@ -10,6 +10,7 @@ using Content.Shared._Shitmed.Targeting; using Content.Shared.Body.Systems; using SharedToolSystem = Content.Shared.Tools.Systems.SharedToolSystem; +using Content.Shared.Interaction.Events; // LuaM namespace Content.Server._EinsteinEngines.Silicon.WeldingHealable; @@ -24,6 +25,7 @@ public override void Initialize() { SubscribeLocalEvent(Repair); SubscribeLocalEvent(OnRepairFinished); + SubscribeLocalEvent(OnUseInHand); //LuaM } private void OnRepairFinished(EntityUid uid, WeldingHealableComponent healableComponent, SiliconRepairFinishedEvent args) @@ -49,19 +51,22 @@ private void OnRepairFinished(EntityUid uid, WeldingHealableComponent healableCo _popup.PopupEntity(str, uid, args.User); if (!args.Used.HasValue - || _toolSystem.GetWelderFuelAndCapacity(args.Used.Value).fuel < component.FuelCost) //Mono: Nanite applicator + || _toolSystem.GetWelderFuelAndCapacity(args.Used.Value).fuel < component.FuelCost //Mono: Nanite applicator + || !HasDamage((args.Target.Value, damageable), component, args.User)) //LuaM HasDamage check return; - args.Handled = _toolSystem.UseTool - (args.Used.Value, - args.User, - uid, - args.Delay, - component.QualityNeeded, - new SiliconRepairFinishedEvent - { - Delay = args.Delay - }); + args.Handled = _toolSystem.UseTool + (args.Used.Value, + args.User, + uid, + args.Delay, + component.QualityNeeded, + new SiliconRepairFinishedEvent + { + Delay = args.Delay + }, + breakOnMove: component.BreakOnMove, // LuaM + breakOnDamage: component.BreakOnDamage); //LuaM dedefault value } private async void Repair(EntityUid uid, WeldingHealableComponent healableComponent, InteractUsingEvent args) { @@ -77,8 +82,8 @@ private async void Repair(EntityUid uid, WeldingHealableComponent healableCompon return; float delay = args.User == args.Target - ? component.DoAfterDelay * component.SelfHealPenalty - : component.DoAfterDelay; + ? component.DoAfterDelay * component.SelfHealPenalty + : component.DoAfterDelay ; args.Handled = _toolSystem.UseTool (args.Used, @@ -89,8 +94,42 @@ private async void Repair(EntityUid uid, WeldingHealableComponent healableCompon new SiliconRepairFinishedEvent { Delay = delay, - }); + }, + breakOnMove: component.BreakOnMove, // LuaM default value + breakOnDamage: component.BreakOnDamage); // LuaM default value } + // LuaM self-heal with Use in Hand + //LuaM-start: + private void OnUseInHand(Entity ent, ref UseInHandEvent args) + { + var component = ent.Comp; + + if (args.Handled + || !EntityManager.TryGetComponent(args.User, out DamageableComponent? damageable) + || damageable.DamageContainerID is null + || !component.DamageContainers.Contains(damageable.DamageContainerID) + || !HasDamage((args.User, damageable), component, args.User) + || !_toolSystem.HasQuality(ent.Owner, component.QualityNeeded) + || !component.AllowSelfHeal + || _toolSystem.GetWelderFuelAndCapacity(ent.Owner).fuel < component.FuelCost) + return; + + float delay = component.DoAfterDelay * component.SelfHealPenalty; + + args.Handled = _toolSystem.UseTool( + ent.Owner, + args.User, + args.User, + delay, + component.QualityNeeded, + new SiliconRepairFinishedEvent + { + Delay = delay, + }, + breakOnMove: component.BreakOnMove, + breakOnDamage: component.BreakOnDamage); + } + //LuaM-end private bool HasDamage(Entity damageable, WeldingHealingComponent healable, EntityUid user) { @@ -98,8 +137,13 @@ private bool HasDamage(Entity damageable, WeldingHealingCom return false; foreach (var type in healable.Damage.DamageDict) - if (damageable.Comp.Damage.DamageDict[type.Key].Value > 0) + // if (damageable.Comp.Damage.DamageDict[type.Key].Value > 0) // Commented by LuaM + + if (damageable.Comp.Damage.DamageDict.TryGetValue(type.Key, out var damage) && // LuaM: Safely handle missing damage types. + damage.Value > 0) // LuaM + { return true; + } // In case the healer is a humanoid entity with targeting, we run the check on the targeted parts. if (!TryComp(user, out TargetingComponent? targeting)) @@ -109,8 +153,12 @@ private bool HasDamage(Entity damageable, WeldingHealingCom foreach (var part in _bodySystem.GetBodyChildrenOfType(damageable, targetType, symmetry: targetSymmetry)) if (TryComp(part.Id, out var damageablePart)) foreach (var type in healable.Damage.DamageDict) - if (damageablePart.Damage.DamageDict[type.Key].Value > 0) + // if (damageablePart.Damage.DamageDict[type.Key].Value > 0) // Commented by LuaM + if (damageablePart.Damage.DamageDict.TryGetValue(type.Key, out var damage) // LuaM: Safely handle missing damage types. + && damage.Value > 0) // LuaM + { return true; + } return false; } diff --git a/Content.Server/_EinsteinEngines/Silicon/WeldingHealing/WeldingHealingComponent.cs b/Content.Server/_EinsteinEngines/Silicon/WeldingHealing/WeldingHealingComponent.cs index 355abee1545..fdf423abc01 100644 --- a/Content.Server/_EinsteinEngines/Silicon/WeldingHealing/WeldingHealingComponent.cs +++ b/Content.Server/_EinsteinEngines/Silicon/WeldingHealing/WeldingHealingComponent.cs @@ -26,15 +26,28 @@ public sealed partial class WeldingHealingComponent : Component /// [DataField] public int FuelCost = 5; +// LuaM-start: + /// + /// Whether repairing is interrupted when the user moves + /// + [DataField] + public bool BreakOnMove = true; + + /// + /// Whether repairing is interrupted when the user takes damage + /// + [DataField] + public bool BreakOnDamage = true; +// LuaM-end. [DataField] - public int DoAfterDelay = 3; + public int DoAfterDelay = 3; /// /// A multiplier that will be applied to the above if an entity is repairing themselves. /// [DataField] - public float SelfHealPenalty = 3f; + public float SelfHealPenalty = 1.5f; // LuaM 3f > 1.5f /// /// Whether or not an entity is allowed to repair itself. diff --git a/Content.Shared/Tools/Systems/SharedToolSystem.cs b/Content.Shared/Tools/Systems/SharedToolSystem.cs index 76555b2a05e..dd05b6c84aa 100644 --- a/Content.Shared/Tools/Systems/SharedToolSystem.cs +++ b/Content.Shared/Tools/Systems/SharedToolSystem.cs @@ -128,7 +128,9 @@ public bool UseTool( IEnumerable toolQualitiesNeeded, DoAfterEvent doAfterEv, float fuel = 0, - ToolComponent? toolComponent = null) + ToolComponent? toolComponent = null, + bool breakOnMove = true, // LuaM defaut value + bool breakOnDamage = true) // LuaM defaut value { return UseTool(tool, user, @@ -138,7 +140,9 @@ public bool UseTool( doAfterEv, out _, fuel, - toolComponent); + toolComponent, + breakOnMove, // LuaM + breakOnDamage); // LuaM } /// @@ -167,7 +171,10 @@ public bool UseTool( DoAfterEvent doAfterEv, out DoAfterId? id, float fuel = 0, - ToolComponent? toolComponent = null) + ToolComponent? toolComponent = null, + bool breakOnMove = true, // LuaM defaut value + bool breakOnDamage = true) // LuaM defaut value + { id = null; if (!Resolve(tool, ref toolComponent, false)) @@ -179,8 +186,8 @@ public bool UseTool( var toolEvent = new ToolDoAfterEvent(fuel, doAfterEv, GetNetEntity(target)); var doAfterArgs = new DoAfterArgs(EntityManager, user, delay / toolComponent.SpeedModifier, toolEvent, tool, target: target, used: tool) { - BreakOnDamage = true, - BreakOnMove = true, + BreakOnMove = breakOnMove, // LuaM true > breakOnMove, from fixed value to changeble value + BreakOnDamage = breakOnDamage, // LuaM true > breakOnDamage, from fixed value to changeble value BreakOnWeightlessMove = false, NeedHand = tool != user, AttemptFrequency = fuel > 0 ? AttemptFrequency.EveryTick : AttemptFrequency.Never @@ -213,9 +220,12 @@ public bool UseTool( string toolQualityNeeded, DoAfterEvent doAfterEv, float fuel = 0, - ToolComponent? toolComponent = null) + ToolComponent? toolComponent = null, + bool breakOnMove = true, // LuaM defaut value + bool breakOnDamage = true) // LuaM defaut value { - return UseTool(tool, + return UseTool( + tool, user, target, TimeSpan.FromSeconds(doAfterDelay), @@ -223,7 +233,9 @@ public bool UseTool( doAfterEv, out _, fuel, - toolComponent); + toolComponent, + breakOnMove, // LuaM + breakOnDamage); // LuaM } /// diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_LuaM/objects/power/powercells.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_LuaM/objects/power/powercells.ftl new file mode 100644 index 00000000000..b037e931c7b --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_LuaM/objects/power/powercells.ftl @@ -0,0 +1,6 @@ +ent-ExperimentalPowerCellCombat = экспериментальная боевая батарея + .desc = экспериментальная батарея оснащеная частичной защитой от скачков напряжения. + .suffix = Полная +ent-ExperimentalPowerCellCombatPrinted = экспериментальная боевая батарея + .desc = { ent-ExperimentalPowerCellCombat.desc } + .suffix = Пустрая diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/objects/specific/science/techdisks/tech_disks_civ.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/objects/specific/science/techdisks/tech_disks_civ.ftl index 1be0683293e..5eed8a9aad1 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/objects/specific/science/techdisks/tech_disks_civ.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/objects/specific/science/techdisks/tech_disks_civ.ftl @@ -16,6 +16,8 @@ ent-TechDiskCivAdvancedTools = технодиск продвинутых инс .desc = Диск, добавляющий челюсти жизни и электродрель в рецепты сервера. ent-TechDiskRCD = технодиск РСУ .desc = Диск, добавляющий РСУ в рецепты сервера. +ent-TechDiskCombatSilicon = технодиск боевых технологий синтетиков + .desc = Диск, добавляющий в рецепты боевых технологии синтетиков. ent-TechDiskSpeedBoots = технодиск скороходов .desc = Диск предтечей, добавляющий скороходы в рецепты сервера. ent-TechDiskFtl = технодиск блюспейс-двигателя diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/objects/tools/nanite_applicator.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/objects/tools/nanite_applicator.ftl index 2ede593d6fd..726c0a7c5b9 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/objects/tools/nanite_applicator.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/objects/tools/nanite_applicator.ftl @@ -2,5 +2,5 @@ ent-NaniteApplicator = аппликатор нанитов .desc = Продвинутый инструмент, использующий технологию нанитов для ремнота киборгов и КПБ. ent-NaniteApplicatorExperimental = экспериментальный аппликатор нанитов .desc = Экспериментальный аппликатор нанитов, способный самостоятельно пополнять заряд. -ent-NaniteApplicatorSyndicate = продвинутый аппликатор нанитов - .desc = Продвинутый аппликатор нанитов со значительно увеличенной ёмкостью, а также способный самостоятельно пополнять заряд. +ent-NaniteApplicatorSyndicate = боевой аппликатор нанитов + .desc = Передовой аппликатор нанитов, разработанный для использования в боевых условиях, способный самостоятельно пополнять заряд. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/objects/power/powercells.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/objects/power/powercells.ftl index 3855ff726fb..11a4167b78f 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/objects/power/powercells.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/objects/power/powercells.ftl @@ -1,5 +1,5 @@ ent-PowerCellCombat = боевая батарея - .desc = Перезаряжаемый стандартный батарея. Эта боевая модель оснащена частичной защитой от скачков напряжения. + .desc = Стандартная батарея оснащеная частичной защитой от скачков напряжения. .suffix = Полная ent-PowerCellCombatPrinted = боевая батарея .desc = { ent-PowerCellCombat.desc } diff --git a/Resources/Maps/_Mono/Shuttles/Capitals/saturn.yml b/Resources/Maps/_Mono/Shuttles/Capitals/saturn.yml index e2e53d78770..f3d715a92e8 100644 --- a/Resources/Maps/_Mono/Shuttles/Capitals/saturn.yml +++ b/Resources/Maps/_Mono/Shuttles/Capitals/saturn.yml @@ -17886,7 +17886,7 @@ entities: - type: Transform pos: -3.3705235,6.3534303 parent: 1 -- proto: NaniteApplicatorSyndicate +- proto: NaniteApplicatorExperimental # LuaM entities: - uid: 364 components: diff --git a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml index b96c0f10fe8..a2d215c7e93 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml @@ -116,8 +116,8 @@ - Inorganic - type: ShowSyndicateIcons # Monolith - type: MovementSpeedModifier # LuaM - baseWalkSpeed: 10 - baseSprintSpeed: 35 + baseWalkSpeed: 35 + baseSprintSpeed: 15 - type: entity id: ActionAGhostShowSolar diff --git a/Resources/Prototypes/Entities/Objects/Tools/welders.yml b/Resources/Prototypes/Entities/Objects/Tools/welders.yml index 941997808f8..214a861b5d9 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/welders.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/welders.yml @@ -119,9 +119,9 @@ fuelCost: 5 damage: types: - Blunt: -25 - Piercing: -25 - Slash: -25 + Blunt: -12.5 # LuaM -25 > -12.5 + Piercing: -12.5 # LuaM -25 > -12.5 + Slash: -12.5 # LuaM -25 > -12.5 - type: Cautery # Shitmed speed: 0.7 - type: SurgeryTool # Shitmed diff --git a/Resources/Prototypes/Entities/Structures/catwalk.yml b/Resources/Prototypes/Entities/Structures/catwalk.yml index 049daf53e3f..24f4d0ddff9 100644 --- a/Resources/Prototypes/Entities/Structures/catwalk.yml +++ b/Resources/Prototypes/Entities/Structures/catwalk.yml @@ -9,7 +9,7 @@ - type: Anchorable flags: - Anchorable - - type: Rotatable + # - type: Rotatable Commented by LuaM - type: Clickable - type: Sprite sprite: Structures/catwalk.rsi diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml b/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml index c4f310d99b2..f8705c6bea8 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml @@ -60,6 +60,7 @@ - WelderExperimental - JawsOfLife - ExperimentalNaniteApplicator + - NaniteApplicatorSyndicate # LuaM - TrayGoggles # Delta-V # - Fulton # Frontier # - FultonBeacon # Frontier diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/science.yml b/Resources/Prototypes/Recipes/Lathes/Packs/science.yml index 6ee30ca412a..b9370cc9178 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/science.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/science.yml @@ -46,6 +46,7 @@ recipes: - PowerCellMicroreactor - PowerCellCombat # Mono edit + - ExperimentalPowerCellCombat # LuaM - PowerCellHigh - type: latheRecipePack diff --git a/Resources/Prototypes/_LuaM/Entities/Objects/Power/powercells.yml b/Resources/Prototypes/_LuaM/Entities/Objects/Power/powercells.yml new file mode 100644 index 00000000000..6a9ece895d9 --- /dev/null +++ b/Resources/Prototypes/_LuaM/Entities/Objects/Power/powercells.yml @@ -0,0 +1,38 @@ +- type: entity + name: experimental combat power cell + description: A rechargeable standardized power cell. This combat brand is equipped with partial protection from power spikes. + id: ExperimentalPowerCellCombat + suffix: Full + parent: PowerCellHigh + components: + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 12 # takes 1 minute to charge itself back to full + - type: Sprite + sprite: _LuaM/Objects/Power/power_cells.rsi + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: experimental + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + - type: EmpResistance + coefficient: 0.0001 + + +- type: entity + id: ExperimentalPowerCellCombatPrinted + suffix: Empty + parent: ExperimentalPowerCellCombat + components: + - type: Sprite + layers: + - map: [ "enum.PowerCellVisualLayers.Base" ] + state: experimental + - map: [ "enum.PowerCellVisualLayers.Unshaded" ] + state: o2 + shader: unshaded + visible: false + - type: Battery + maxCharge: 480 + startingCharge: 0 \ No newline at end of file diff --git a/Resources/Prototypes/_LuaM/Entities/Objects/Specific/Science/TechDisks_civ.yml/tech_disks_civ.yml b/Resources/Prototypes/_LuaM/Entities/Objects/Specific/Science/TechDisks_civ.yml/tech_disks_civ.yml new file mode 100644 index 00000000000..85de28d1ec5 --- /dev/null +++ b/Resources/Prototypes/_LuaM/Entities/Objects/Specific/Science/TechDisks_civ.yml/tech_disks_civ.yml @@ -0,0 +1,19 @@ +- type: entity + parent: TechDiskBase + id: TechDiskCombatSilicon + name: combat silicon technology tech disk + description: A disk capable of adding advanced combat silicon technology to a server's recipes. + components: + - type: Sprite + layers: + - state: icon + map: ["enum.DamageStateVisualLayers.Base"] + color: "#2d6f8c" + - state: label + - state: protect + - state: design + shader: unshaded + - type: TechnologyDisk + recipes: + - NaniteApplicatorSyndicate + - ExperimentalPowerCellCombat \ No newline at end of file diff --git a/Resources/Prototypes/_LuaM/Recipes/Lathes/powercells.yml b/Resources/Prototypes/_LuaM/Recipes/Lathes/powercells.yml new file mode 100644 index 00000000000..10af7c4cb4d --- /dev/null +++ b/Resources/Prototypes/_LuaM/Recipes/Lathes/powercells.yml @@ -0,0 +1,15 @@ +- type: latheRecipe + id: ExperimentalPowerCellCombat + result: ExperimentalPowerCellCombatPrinted + categories: + - Parts + completetime: 15 + materials: + Steel: 500 + Plasteel: 250 + Glass: 400 + Plastic: 200 + UraniumFissile: 50 + Gold: 300 + Diamond: 25 + diff --git a/Resources/Prototypes/_Mono/Catalogs/pdv_uplink_catalog.yml b/Resources/Prototypes/_Mono/Catalogs/pdv_uplink_catalog.yml index a1b2c1c7941..709093205e9 100644 --- a/Resources/Prototypes/_Mono/Catalogs/pdv_uplink_catalog.yml +++ b/Resources/Prototypes/_Mono/Catalogs/pdv_uplink_catalog.yml @@ -475,13 +475,13 @@ tags: - PirateUplink -- type: listing +- type: listing id: UplinkPirateSyndicateApplicator name: uplink-syndicate-applicator-name description: uplink-syndicate-applicator-desc - productEntity: NaniteApplicatorSyndicate + productEntity: NaniteApplicatorExperimental # LuaM NaniteApplicatorSyndicate > NaniteApplicatorExperimental cost: - Doubloon: 35 + Doubloon: 15 # LuaM 35 > 15 categories: - UplinkPirateUtility conditions: diff --git a/Resources/Prototypes/_Mono/Catalogs/uplink_catalog.yml b/Resources/Prototypes/_Mono/Catalogs/uplink_catalog.yml index 25a49b10577..422e58de4c5 100644 --- a/Resources/Prototypes/_Mono/Catalogs/uplink_catalog.yml +++ b/Resources/Prototypes/_Mono/Catalogs/uplink_catalog.yml @@ -78,12 +78,12 @@ categories: - UplinkDeception -- type: listing +- type: listing id: UplinkSyndicateApplicator name: uplink-syndicate-applicator-name description: uplink-syndicate-applicator-desc - productEntity: NaniteApplicatorSyndicate + productEntity: NaniteApplicatorExperimental # LuaM NaniteApplicatorSyndicate > NaniteApplicatorExperimental cost: - Telecrystal: 35 + Telecrystal: 15 # LuaM 35 > 15 categories: - UplinkDisruption diff --git a/Resources/Prototypes/_Mono/Entities/Objects/Specific/Science/TechDisks/tech_disk_spawners.yml b/Resources/Prototypes/_Mono/Entities/Objects/Specific/Science/TechDisks/tech_disk_spawners.yml index 1353c069be1..a6e047af2ce 100644 --- a/Resources/Prototypes/_Mono/Entities/Objects/Specific/Science/TechDisks/tech_disk_spawners.yml +++ b/Resources/Prototypes/_Mono/Entities/Objects/Specific/Science/TechDisks/tech_disk_spawners.yml @@ -46,6 +46,7 @@ - id: TechDiskCivMicroreactors - id: TechDiskCivAdvancedTools - id: TechDiskCivTranslationBasic + - id: TechDiskCombatSilicon # LuaM #T2 TECH DISKS - type: entity @@ -134,6 +135,7 @@ - id: TechDiskMechWeaponsLight - id: TechDiskMechWeaponsMedium - id: TechDiskMechWeaponsHeavy + - id: TechDiskCombatSilicon # LuaM - !type:GroupSelector weight: 3 children: diff --git a/Resources/Prototypes/_Mono/Entities/Objects/Specific/Science/TechDisks/tech_disks_civ.yml b/Resources/Prototypes/_Mono/Entities/Objects/Specific/Science/TechDisks/tech_disks_civ.yml index f1574460abe..eaf73ab3397 100644 --- a/Resources/Prototypes/_Mono/Entities/Objects/Specific/Science/TechDisks/tech_disks_civ.yml +++ b/Resources/Prototypes/_Mono/Entities/Objects/Specific/Science/TechDisks/tech_disks_civ.yml @@ -247,3 +247,4 @@ - RCD - RCDAmmo - NFBlueprintRCDAmmo + diff --git a/Resources/Prototypes/_Mono/Entities/Objects/Tools/nanite_applicator.yml b/Resources/Prototypes/_Mono/Entities/Objects/Tools/nanite_applicator.yml index 3862bd8827c..c357ea32e2b 100644 --- a/Resources/Prototypes/_Mono/Entities/Objects/Tools/nanite_applicator.yml +++ b/Resources/Prototypes/_Mono/Entities/Objects/Tools/nanite_applicator.yml @@ -51,12 +51,12 @@ fuelCost: 5 damage: types: - Blunt: -12.5 - Piercing: -12.5 - Slash: -12.5 - Heat: -9 - Shock: -9 - Radiation: -9 + Blunt: -15 # LuaM -12.5 > -15 + Piercing: -15 # LuaM -12.5 > -15 + Slash: -15 # LuaM -12.5 > -15 + Heat: -10 # LuaM -9 > -10 + Shock: -10 # LuaM -9 > -10 + Radiation: -10 # LuaM -9 > -10 - type: entity name: experimental nanite applicator @@ -65,7 +65,7 @@ description: "An experimental nanite applicator with a heavily upgraded nanite capacity capable of self-nanite generation." components: - type: Sprite - sprite: _Mono/Objects/Tools/nanite_applicator_experimental.rsi + sprite: _LuaM/Objects/Tools/nanite_applicator_experimental.rsi # LuaM _Mono > _LuaM layers: - state: icon - type: SolutionRegeneration @@ -98,3 +98,14 @@ reagents: - ReagentId: NaniteFuel Quantity: 1 + - type: WeldingHealing # LuaM + breakOnMove: false + breakOnDamage: false + damage: + types: + Blunt: -20 + Piercing: -20 + Slash: -20 + Heat: -13.5 + Shock: -13.5 + Radiation: -13.5 \ No newline at end of file diff --git a/Resources/Prototypes/_Mono/Recipes/Lathes/Packs/Factions/phaethon_dynasty.yml b/Resources/Prototypes/_Mono/Recipes/Lathes/Packs/Factions/phaethon_dynasty.yml index 6061b1ce0c7..86acb091d44 100644 --- a/Resources/Prototypes/_Mono/Recipes/Lathes/Packs/Factions/phaethon_dynasty.yml +++ b/Resources/Prototypes/_Mono/Recipes/Lathes/Packs/Factions/phaethon_dynasty.yml @@ -61,7 +61,7 @@ - HyposprayRogue - AccessBreakerRogue - EmagRogue - - NaniteApplicatorSyndicate + # - NaniteApplicatorSyndicate # Commented by LuaM - BasicBorgCombatModulePDV - AdvancedBorgCombatModulePDV - PrintableDirtyBomb diff --git a/Resources/Prototypes/_Mono/Recipes/Lathes/tools.yml b/Resources/Prototypes/_Mono/Recipes/Lathes/tools.yml index 6a5597b0b90..39fdba6a546 100644 --- a/Resources/Prototypes/_Mono/Recipes/Lathes/tools.yml +++ b/Resources/Prototypes/_Mono/Recipes/Lathes/tools.yml @@ -17,7 +17,13 @@ id: NaniteApplicatorSyndicate result: NaniteApplicatorSyndicate materials: - Steel: 500 + Steel: 1000 # LuaM 500 > 1000 + # LuaM-start: + Plasma: 500 + Gold: 500 + UraniumFissile: 50 + # LuaM-end + - type: latheRecipe parent: BaseToolRecipe diff --git a/Resources/Prototypes/_Mono/Research/Rogue/rogue_misc.yml b/Resources/Prototypes/_Mono/Research/Rogue/rogue_misc.yml index 7ac3ded848b..e2b62332f1c 100644 --- a/Resources/Prototypes/_Mono/Research/Rogue/rogue_misc.yml +++ b/Resources/Prototypes/_Mono/Research/Rogue/rogue_misc.yml @@ -54,7 +54,7 @@ cost: 10000 recipeUnlocks: - JawsOfLifeRogue - - NaniteApplicatorSyndicate + # - NaniteApplicatorSyndicate Commented by LuaM technologyPrerequisites: - UniversalMaterialResearchT1 position: 12, -1 diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/hacked_mercenary_techfab.yml b/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/hacked_mercenary_techfab.yml index fac559d4253..7f2116bdf0f 100644 --- a/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/hacked_mercenary_techfab.yml +++ b/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/hacked_mercenary_techfab.yml @@ -90,6 +90,8 @@ - JetpackVoid - PowerCellHigh - PowerCellMicroreactor + - NaniteApplicatorSyndicate # LuaM + - ExperimentalPowerCellCombat # LuaM # Mercenary techfab ## Armor - TelescopicShield diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/mercenary_techfab.yml b/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/mercenary_techfab.yml index 6a7ed6ad7f0..7830e676db1 100644 --- a/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/mercenary_techfab.yml +++ b/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/mercenary_techfab.yml @@ -109,6 +109,8 @@ - PowerCellHigh # - PowerCellHyperNF - PowerCellCombat # Mono edit + - NaniteApplicatorSyndicate # LuaM + - ExperimentalPowerCellCombat # LuaM - PowerCellMicroreactor # Mercenary techfab ## Armor diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/nfsd_techfab.yml b/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/nfsd_techfab.yml index 3abec00ece0..6be9551ed35 100644 --- a/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/nfsd_techfab.yml +++ b/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/nfsd_techfab.yml @@ -49,6 +49,8 @@ - WeaponLaserCannon - WeaponLaserCarbine - WeaponXrayCannon + - NaniteApplicatorSyndicate # LuaM + - ExperimentalPowerCellCombat # LuaM - type: latheRecipePack id: NFNfsdTechfabDeprecatedEmag diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/salvage_techfab.yml b/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/salvage_techfab.yml index cfbc8ba48c7..853b84545aa 100644 --- a/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/salvage_techfab.yml +++ b/Resources/Prototypes/_NF/Recipes/Lathes/Packs/Deprecated/salvage_techfab.yml @@ -83,6 +83,8 @@ - JetpackVoid - PowerCellHigh - PowerCellMicroreactor + - NaniteApplicatorSyndicate # LuaM + - ExperimentalPowerCellCombat # LuaM # Salvage techfab - WeaponCrusher - WeaponCrusherDagger diff --git a/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/experimental.png b/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/experimental.png new file mode 100644 index 00000000000..7a641a4f2c0 Binary files /dev/null and b/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/experimental.png differ diff --git a/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/meta.json b/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/meta.json new file mode 100644 index 00000000000..b30763728a5 --- /dev/null +++ b/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "sprites based on https://github.com/vgstation-coders/vgstation13/commit/1dbcf389b0ec6b2c51b002df5fef8dd1519f8068. power cells edited by EmoGarbage404", + "states": [ + { + "name": "experimental" + }, + { + "name": "o1" + }, + { + "name": "o2" + } + ] +} diff --git a/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/o1.png b/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/o1.png new file mode 100644 index 00000000000..348baff4499 Binary files /dev/null and b/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/o1.png differ diff --git a/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/o2.png b/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/o2.png new file mode 100644 index 00000000000..504d64fa703 Binary files /dev/null and b/Resources/Textures/_LuaM/Objects/Power/power_cells.rsi/o2.png differ diff --git a/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/base.png b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/base.png new file mode 100644 index 00000000000..e2c5e9e1861 Binary files /dev/null and b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/base.png differ diff --git a/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/icon.png b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/icon.png new file mode 100644 index 00000000000..34ab3615e8a Binary files /dev/null and b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/icon.png differ diff --git a/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/inhand-left.png b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/inhand-left.png new file mode 100644 index 00000000000..8fd84c45e02 Binary files /dev/null and b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/inhand-left.png differ diff --git a/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/inhand-right.png b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/inhand-right.png new file mode 100644 index 00000000000..ee00525ef3e Binary files /dev/null and b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/inhand-right.png differ diff --git a/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/meta.json b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/meta.json new file mode 100644 index 00000000000..3500d14cbf7 --- /dev/null +++ b/Resources/Textures/_LuaM/Objects/Tools/nanite_applicator_experimental.rsi/meta.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "original sprite by avalon2855 on (discord), recolored by MrFolium", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base" + }, + { + "name": "icon", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +}