From 3608960f5c081ce0db8e058fb6dc3991feae82e3 Mon Sep 17 00:00:00 2001 From: Aviu00 <93730715+Aviu00@users.noreply.github.com> Date: Thu, 8 Aug 2024 09:07:40 +0000 Subject: [PATCH] Chem stuff and more (#584) * - tweak: Ressurect meth and ephedrine. * - add: Emag fun. * - tweak: Fire bomb buff. * - fix: Uplink loc. * - tweak: Syringe. --- .../Chemistry/EntitySystems/InjectorSystem.cs | 2 +- .../VendingMachines/VendingMachineSystem.cs | 4 ++-- .../SharedVendingMachineSystem.cs | 4 +++- .../_White/Chemistry/NarcoticEffect.cs | 1 - .../_White/Chemistry/NarcoticMoodEffect.cs | 20 ++++++++++++++++ .../_white/object/chemical/containers.ftl | 6 +++-- Resources/Locale/ru-RU/_white/white-shit.ftl | 6 ++++- .../consumable/drinks/drinks_special.ftl | 2 +- .../Locale/ru-RU/store/uplink-catalog.ftl | 6 ++--- .../VendingMachines/Inventories/boozeomat.yml | 1 + .../VendingMachines/Inventories/chefvend.yml | 4 ++-- .../VendingMachines/Inventories/chemvend.yml | 2 ++ .../Inventories/dinnerware.yml | 5 +++- .../VendingMachines/Inventories/engivend.yml | 2 ++ .../Entities/Objects/Materials/materials.yml | 10 ++++++++ .../Objects/Weapons/Bombs/firebomb.yml | 6 ++++- .../Structures/Storage/Tanks/tanks.yml | 4 ++-- Resources/Prototypes/Reagents/narcotics.yml | 24 +++++-------------- .../Objects/Consumable/Drinks/shaker.yml | 18 ++++++++++++++ .../Objects/Specific/Chemical/containers.yml | 21 +++++++++++++--- .../_White/Mood/generic_positveEffects.yml | 2 +- Resources/Prototypes/explosion.yml | 2 +- 22 files changed, 111 insertions(+), 41 deletions(-) create mode 100644 Content.Shared/_White/Chemistry/NarcoticMoodEffect.cs create mode 100644 Resources/Prototypes/_White/Entities/Objects/Consumable/Drinks/shaker.yml diff --git a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs index 673a5db3bb..c9db081fb2 100644 --- a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs @@ -205,7 +205,7 @@ public sealed class InjectorSystem : SharedInjectorSystem DoAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, user, actualDelay, new InjectorDoAfterEvent(), injector.Owner, target: target, used: injector.Owner) { - BreakOnMove = true, + BreakOnMove = isTarget, // WD EDIT BreakOnWeightlessMove = false, BreakOnDamage = true, NeedHand = true, diff --git a/Content.Server/VendingMachines/VendingMachineSystem.cs b/Content.Server/VendingMachines/VendingMachineSystem.cs index 417f7c195b..1dd21248f2 100644 --- a/Content.Server/VendingMachines/VendingMachineSystem.cs +++ b/Content.Server/VendingMachines/VendingMachineSystem.cs @@ -257,7 +257,7 @@ namespace Content.Server.VendingMachines private void OnWithdrawMessage(EntityUid uid, VendingMachineComponent component, VendingMachineWithdrawMessage args) { - _stackSystem.Spawn(component.Credits, PrototypeManager.Index(component.CreditStackPrototype), + _stackSystem.Spawn(component.Credits, PrototypeManager.Index(component.CreditStackPrototype), Transform(uid).Coordinates); component.Credits = 0; Audio.PlayPvs(component.SoundWithdrawCurrency, uid); @@ -583,7 +583,7 @@ namespace Content.Server.VendingMachines if (!Resolve(uid, ref vendComponent)) return; - RestockInventoryFromPrototype(uid, vendComponent); + RestockInventoryFromPrototype(uid, vendComponent, false); UpdateVendingMachineInterfaceState(uid, vendComponent); TryUpdateVisualState(uid, vendComponent); diff --git a/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs b/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs index b9f8902b1f..18e464fd73 100644 --- a/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs +++ b/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs @@ -29,7 +29,7 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem RestockInventoryFromPrototype(uid, component); } - public void RestockInventoryFromPrototype(EntityUid uid, VendingMachineComponent? component = null) + public void RestockInventoryFromPrototype(EntityUid uid, VendingMachineComponent? component = null, bool restockEverything = true) // WD EDIT { if (!Resolve(uid, ref component)) { @@ -40,6 +40,8 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem return; AddInventoryFromPrototype(uid, packPrototype.StartingInventory, InventoryType.Regular, component); + if (!restockEverything) // WD + return; AddInventoryFromPrototype(uid, packPrototype.EmaggedInventory, InventoryType.Emagged, component); AddInventoryFromPrototype(uid, packPrototype.ContrabandInventory, InventoryType.Contraband, component); } diff --git a/Content.Shared/_White/Chemistry/NarcoticEffect.cs b/Content.Shared/_White/Chemistry/NarcoticEffect.cs index 620094507c..5a27b0b6cf 100644 --- a/Content.Shared/_White/Chemistry/NarcoticEffect.cs +++ b/Content.Shared/_White/Chemistry/NarcoticEffect.cs @@ -47,7 +47,6 @@ public sealed class NarcoticEffect : EntitySystem TryComp(uid, out var statusEffectsComp); - RaiseLocalEvent(uid, new MoodEffectEvent("Stimulator")); CancellationToken token = movespeedModifierComponent.CancelTokenSource.Token; int timer = component.TimerInterval[_robustRandom.Next(0, component.TimerInterval.Count)]; diff --git a/Content.Shared/_White/Chemistry/NarcoticMoodEffect.cs b/Content.Shared/_White/Chemistry/NarcoticMoodEffect.cs new file mode 100644 index 0000000000..b54526d459 --- /dev/null +++ b/Content.Shared/_White/Chemistry/NarcoticMoodEffect.cs @@ -0,0 +1,20 @@ +using Content.Shared._White.Mood; +using Content.Shared.Chemistry.Reagent; +using JetBrains.Annotations; +using Robust.Shared.Prototypes; + +namespace Content.Shared._White.Chemistry; + +[UsedImplicitly] +public sealed partial class NarcoticMoodEffect : ReagentEffect +{ + protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) + { + return null; + } + + public override void Effect(ReagentEffectArgs args) + { + args.EntityManager.EventBus.RaiseLocalEvent(args.SolutionEntity, new MoodEffectEvent("Stimulator")); + } +} diff --git a/Resources/Locale/ru-RU/_white/object/chemical/containers.ftl b/Resources/Locale/ru-RU/_white/object/chemical/containers.ftl index 9ffd8ca174..538d17b37c 100644 --- a/Resources/Locale/ru-RU/_white/object/chemical/containers.ftl +++ b/Resources/Locale/ru-RU/_white/object/chemical/containers.ftl @@ -1,4 +1,4 @@ -ent-ChemicalCartridge = химический картридж +ent-ChemicalCartridge = химический картридж .desc = Используется для хранения огромного количества химикатов. Используется в химических раздатчиках ent-ChemicalCartridgeCarbon = химический картридж (углерод) .desc = { ent-ChemicalCartridge.desc } @@ -45,4 +45,6 @@ ent-ChemicalCartridgeSugar = химический картридж (сахар) ent-ChemicalCartridgeNitrogen = химический картридж (азот) .desc = { ent-ChemicalCartridge.desc } ent-ChemicalCartridgeOxygen = химический картридж (кислород) - .desc = { ent-ChemicalCartridge.desc } \ No newline at end of file + .desc = { ent-ChemicalCartridge.desc } +ent-ChemicalCartridgeNapalm = химический картридж (напалм) + .desc = { ent-ChemicalCartridge.desc } diff --git a/Resources/Locale/ru-RU/_white/white-shit.ftl b/Resources/Locale/ru-RU/_white/white-shit.ftl index ca6ee2457e..c3787be86d 100644 --- a/Resources/Locale/ru-RU/_white/white-shit.ftl +++ b/Resources/Locale/ru-RU/_white/white-shit.ftl @@ -2,13 +2,17 @@ ent-CultBola = магическая { ent-Bola } .desc = { ent-Bola.desc } - .suffic = культ + .suffix = культ # Energy bola ent-EnergyBola = энергобола .desc = Соверешенное слияние технологии и справедливости для отлова преступников. +ent-DrinkShakerEphedrineInfinite = { ent-DrinkShaker } + .desc = { ent-DrinkShaker.desc } + .suffix = Эфедрин, Бесконечный + action-name-insert-self = Залезть внутрь. action-name-insert-other = Засунуть внутрь. action-start-insert-self = Вы начинаете залазить в {$storage}. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/drinks/drinks_special.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/drinks/drinks_special.ftl index 21b02b542d..ef7987b213 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/drinks/drinks_special.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/consumable/drinks/drinks_special.ftl @@ -1,5 +1,5 @@ ent-DrinkShaker = шейкер - .desc = Хэй диджей хэй битмейкер. + .desc = Надежный товарищ бармена. .suffix = { "" } ent-DrinkShotGlass = стопка .desc = Идеально подходит для того, чтобы со злостью ударить ей по столу. diff --git a/Resources/Locale/ru-RU/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/store/uplink-catalog.ftl index b2bdaf6bdc..3b73e5e10f 100644 --- a/Resources/Locale/ru-RU/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/store/uplink-catalog.ftl @@ -263,7 +263,7 @@ uplink-super-surplus-bundle-desc = Содержит случайное снар # Tools uplink-toolbox-name = Ящик инструментов -uplink-toolbox-desc = Полный набор инструментов для предателя с тягой к механике. Включает пару изолированных боевых перчаток, противогаз синдиката и плечевую кобуру. +uplink-toolbox-desc = Полный набор инструментов для предателя с тягой к механике. Включает пару изолированных боевых перчаток, противогаз синдиката и пояс с инструментами. uplink-syndicate-jaws-of-life-name = Челюсти жизни uplink-syndicate-jaws-of-life-desc = Комбинация лома и кусачек. Полезно для проникновения на станцию или в её отделы. @@ -373,10 +373,10 @@ uplink-nocturine-chemistry-bottle-name = Бутылка ноктурина uplink-nocturine-chemistry-bottle-desc = Химическое вещество, усыпляющее вашу цель. uplink-stimpack-name = Стимпак -uplink-stimpack-desc = Легендарный химикат, производимый компанией Donk Co. для Синдиката. Введя его себе, вы увеличите скорость бега и сможете быстрее восстанавливаться после оглушения в течение 30 секунд. +uplink-stimpack-desc = Легендарный химикат, производимый компанией Donk Co. для Синдиката. Введя его себе, вы увеличите скорость бега и сможете быстрее восстанавливаться после оглушения в течение 5 минут. uplink-stimkit-name = Стимкит -uplink-stimkit-desc = Набор медикаментов, содержащий 6 стимулирующих микроинъекторов, каждый из которых вводит вам достаточное количество стимуляторов на 15 секунд. +uplink-stimkit-desc = Набор медикаментов, содержащий 6 стимулирующих микроинъекторов, каждый из которых вводит вам достаточное количество стимуляторов на чуть больее одной минуты. uplink-syndicate-segway-crate-name = Сегвей Синдиката uplink-syndicate-segway-crate-desc = Будь врагом корпорации, в стиле! diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml index 7a21962e1e..0fa218c88c 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml @@ -44,3 +44,4 @@ DrinkWineCan: 4 emaggedInventory: DrinkPoisonWinebottleFull: 2 + DrinkShakerEphedrineInfinite: 1 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chefvend.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chefvend.yml index 2c6168a606..3470355cb2 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chefvend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chefvend.yml @@ -22,5 +22,5 @@ FoodButter: 4 FoodCheese: 1 FoodMeat: 6 - Eftpos: 4 - + emaggedInventory: + MaterialGunpowder60: 1 # For bomb cooking diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml index 1c6ca424f3..c183166591 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml @@ -24,7 +24,9 @@ ChemicalCartridgeSugar: 1 ChemicalCartridgeSulfur: 1 emaggedInventory: + VestineChemistryVial: 1 ToxinChemistryBottle: 1 + ChemicalCartridgeNapalm: 1 - type: vendingMachineInventory id: ChemVendInventorySyndicate diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml index cd16b9f386..10e6795057 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml @@ -1,4 +1,4 @@ -- type: vendingMachineInventory +- type: vendingMachineInventory id: DinnerwareInventory startingInventory: ButchCleaver: 1 @@ -24,3 +24,6 @@ DrinkMugOne: 1 DrinkMugRainbow: 2 DrinkMugRed: 2 + Eftpos: 4 + emaggedInventory: + WetStone: 1 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml index fc102d0765..08e1531649 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml @@ -14,3 +14,5 @@ InflatableDoorStack1: 8 RCD: 3 # WD RCDAmmo: 3 # WD + emaggedInventory: + PowerCellMicroreactor: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/materials.yml b/Resources/Prototypes/Entities/Objects/Materials/materials.yml index d1371f604b..c3d6f54946 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/materials.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/materials.yml @@ -651,3 +651,13 @@ Gunpowder: 100 - type: Item size: Tiny + +# WD +- type: entity + parent: MaterialGunpowder + id: MaterialGunpowder60 + suffix: 60 + components: + - type: Stack + stackType: Gunpowder + count: 60 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/firebomb.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/firebomb.yml index a0e6fe7728..446ac9b7ca 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/firebomb.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/firebomb.yml @@ -44,7 +44,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 50 + damage: 10 behaviors: - !type:DoActsBehavior acts: ["Destruction"] @@ -52,6 +52,10 @@ - type: Construction graph: FireBomb node: firebomb + - type: TriggerOnSignal + - type: DeviceLinkSink + ports: + - Trigger # has igniter but no fuel or wires - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml b/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml index 2b5e31c9a2..455577a371 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml @@ -32,7 +32,7 @@ Heat: 10 - type: PacifismDangerousAttack - type: Explosive - explosionType: Default + explosionType: FireBomb # WD EDIT totalIntensity: 120 # ~ 5 tile radius canCreateVacuum: false @@ -75,7 +75,7 @@ Quantity: 5000 maxVol: 5000 - type: Explosive - explosionType: Default + explosionType: FireBomb # WD EDIT totalIntensity: 140 canCreateVacuum: false diff --git a/Resources/Prototypes/Reagents/narcotics.yml b/Resources/Prototypes/Reagents/narcotics.yml index 6f5077a376..29ef575897 100644 --- a/Resources/Prototypes/Reagents/narcotics.yml +++ b/Resources/Prototypes/Reagents/narcotics.yml @@ -25,21 +25,13 @@ Asphyxiation: 2 Narcotic: effects: - - !type:GenericStatusEffect - key: SeeingRainbows - component: SeeingRainbows - type: Add - time: 4 - refresh: false - !type:MovespeedModifier walkSpeedModifier: 1.35 sprintSpeedModifier: 1.35 - !type:GenericStatusEffect key: Stutter component: StutteringAccent - - !type:GenericStatusEffect - key: NarcoticEffect - component: NarcoticEffect + - !type:NarcoticMoodEffect - !type:Jitter - !type:GenericStatusEffect key: Stun @@ -77,12 +69,6 @@ metabolisms: Narcotic: effects: - - !type:GenericStatusEffect - key: SeeingRainbows - component: SeeingRainbows - type: Add - time: 4 - refresh: false - !type:MovespeedModifier walkSpeedModifier: 1.25 sprintSpeedModifier: 1.25 @@ -95,9 +81,7 @@ Poison: 2 # this is added to the base damage of the meth. Asphyxiation: 2 - !type:Jitter - - !type:GenericStatusEffect - key: NarcoticEffect - component: NarcoticEffect + - !type:NarcoticMoodEffect - !type:GenericStatusEffect key: Stun time: 1 @@ -328,6 +312,7 @@ metabolisms: Narcotic: effects: + - !type:NarcoticMoodEffect - !type:GenericStatusEffect key: SeeingRainbows component: SeeingRainbows @@ -347,6 +332,7 @@ metabolisms: Narcotic: effects: + - !type:NarcoticMoodEffect - !type:GenericStatusEffect key: SeeingRainbows component: SeeingRainbows @@ -407,6 +393,7 @@ metabolisms: Narcotic: effects: + - !type:NarcoticMoodEffect - !type:GenericStatusEffect key: SeeingRainbows component: SeeingRainbows @@ -425,6 +412,7 @@ metabolisms: Narcotic: effects: + - !type:NarcoticMoodEffect - !type:GenericStatusEffect key: SeeingRainbows component: SeeingRainbows diff --git a/Resources/Prototypes/_White/Entities/Objects/Consumable/Drinks/shaker.yml b/Resources/Prototypes/_White/Entities/Objects/Consumable/Drinks/shaker.yml new file mode 100644 index 0000000000..6fe42a865b --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Consumable/Drinks/shaker.yml @@ -0,0 +1,18 @@ +- type: entity + parent: DrinkShaker + id: DrinkShakerEphedrineInfinite + suffix: Ephedrine, Infinite + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 100 + reagents: + - ReagentId: Ephedrine + Quantity: 100 + - type: SolutionRegeneration + solution: drink + generated: + reagents: + - ReagentId: Ephedrine + Quantity: 1 diff --git a/Resources/Prototypes/_White/Entities/Objects/Specific/Chemical/containers.yml b/Resources/Prototypes/_White/Entities/Objects/Specific/Chemical/containers.yml index 605dbf690b..5daf7fc4d4 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Specific/Chemical/containers.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Specific/Chemical/containers.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity id: ChemicalCartridge name: chemical cartridge parent: [DrinkBottleVisualsOpenable, BaseItem] @@ -38,7 +38,7 @@ - type: Tag tags: - ChemDispensable - + - type: entity parent: ChemicalCartridge name: chemical cartridge (carbon) @@ -367,4 +367,19 @@ beaker: reagents: - ReagentId: Oxygen - Quantity: 500 \ No newline at end of file + Quantity: 500 + +- type: entity + parent: ChemicalCartridge + name: chemical cartridge (napalm) + id: ChemicalCartridgeNapalm + noSpawn: true + components: + - type: Label + currentLabel: reagent-name-napalm + - type: SolutionContainerManager + solutions: + beaker: + reagents: + - ReagentId: Napalm + Quantity: 500 diff --git a/Resources/Prototypes/_White/Mood/generic_positveEffects.yml b/Resources/Prototypes/_White/Mood/generic_positveEffects.yml index ac67188d30..4d1a2bcde5 100644 --- a/Resources/Prototypes/_White/Mood/generic_positveEffects.yml +++ b/Resources/Prototypes/_White/Mood/generic_positveEffects.yml @@ -63,4 +63,4 @@ description: "Я ЧУВСТВУЮ ЭТО, В МОЕЙ КРОВИ НАХОДИТСЯ ЧТО-ТО НЕОБЫЧНОЕ!!" moodChange: enum.MoodChangeLevel.Medium positive: true - timeout: 2 + timeout: 1 diff --git a/Resources/Prototypes/explosion.yml b/Resources/Prototypes/explosion.yml index 1b2a4a1a50..a81555d337 100644 --- a/Resources/Prototypes/explosion.yml +++ b/Resources/Prototypes/explosion.yml @@ -128,7 +128,7 @@ lightColor: Orange texturePath: /Textures/Effects/fire.rsi fireStates: 6 - fireStacks: 2 + fireStacks: 4 # WD EDIT # STOP # BEFORE YOU ADD MORE EXPLOSION TYPES CONSIDER IF AN EXISTING ONE IS SUITABLE