diff --git a/Content.Shared/_Shitmed/Surgery/Conditions/SurgeryOrganConditionComponent.cs b/Content.Shared/_Shitmed/Surgery/Conditions/SurgeryOrganConditionComponent.cs index 53db0430e53..7ddd99f9af8 100644 --- a/Content.Shared/_Shitmed/Surgery/Conditions/SurgeryOrganConditionComponent.cs +++ b/Content.Shared/_Shitmed/Surgery/Conditions/SurgeryOrganConditionComponent.cs @@ -15,4 +15,7 @@ public sealed partial class SurgeryOrganConditionComponent : Component [DataField] public bool Reattaching; -} \ No newline at end of file + + [DataField(required: true)] + public string SlotId = string.Empty; +} diff --git a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs index fe12eed8fe7..aa47087532b 100644 --- a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs +++ b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs @@ -22,6 +22,7 @@ using Content.Shared.Prototypes; using Content.Shared.Standing; using Robust.Shared.Audio.Systems; +using Robust.Shared.Containers; using Robust.Shared.Map; using Robust.Shared.Network; using Robust.Shared.Prototypes; @@ -47,6 +48,7 @@ public abstract partial class SharedSurgerySystem : EntitySystem [Dependency] private readonly RotateToFaceSystem _rotateToFace = default!; [Dependency] private readonly StandingStateSystem _standing = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; /// /// Cache of all surgery prototypes' singleton entities. @@ -265,7 +267,7 @@ private void OnOrganConditionValid(Entity ent, r && !organs.Any(organ => HasComp(organ.Id)))) args.Cancelled = true; } - else if (!ent.Comp.Inverse) + else if (!ent.Comp.Inverse || !_container.TryGetContainer(args.Part, SharedBodySystem.GetOrganContainerId(ent.Comp.SlotId), out _)) args.Cancelled = true; } } diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c6eef88168a..40eee58c48d 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -9459,3 +9459,44 @@ Entries: id: 6651 time: '2025-01-08T07:07:16.0000000+00:00' url: https://github.com/Simple-Station/Einstein-Engines/pull/1459 +- author: Lumminal + changes: + - type: Fix + message: Fixed Shadow Shackles spell not activating. + id: 6652 + time: '2025-01-08T07:09:10.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1456 +- author: Skubman + changes: + - type: Fix + message: Fixed face markings showing up above eye-wear. + id: 6653 + time: '2025-01-08T19:37:24.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1467 +- author: Lumminal + changes: + - type: Add + message: Added prisoner headset box to warden's locker. + id: 6654 + time: '2025-01-09T21:32:06.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1470 +- author: BlueHNT + changes: + - type: Add + message: Added missing lathe recipes + id: 6655 + time: '2025-01-10T02:27:28.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1472 +- author: Spatison + changes: + - type: Tweak + message: Nymphs are now operable. + - type: Fix + message: Skeletons can now lie down. + - type: Fix + message: >- + It is no longer possible to insert an organ into a body if the required + space is unavailable. + id: 6656 + time: '2025-01-10T02:27:50.0000000+00:00' + url: https://github.com/Simple-Station/Einstein-Engines/pull/1471 diff --git a/Resources/Prototypes/Body/Organs/diona.yml b/Resources/Prototypes/Body/Organs/diona.yml index 72564b1abb7..fb6c819493b 100644 --- a/Resources/Prototypes/Body/Organs/diona.yml +++ b/Resources/Prototypes/Body/Organs/diona.yml @@ -184,6 +184,11 @@ - type: IsDeadIC - type: Body prototype: AnimalNymphBrain + - type: SurgeryTarget + - type: UserInterface + interfaces: + enum.SurgeryUIKey.Key: + type: SurgeryBui - type: entity id: OrganDionaNymphStomach @@ -196,6 +201,11 @@ - type: IsDeadIC - type: Body prototype: AnimalNymphStomach + - type: SurgeryTarget + - type: UserInterface + interfaces: + enum.SurgeryUIKey.Key: + type: SurgeryBui - type: entity id: OrganDionaNymphLungs @@ -208,3 +218,8 @@ - type: IsDeadIC - type: Body prototype: AnimalNymphLungs + - type: SurgeryTarget + - type: UserInterface + interfaces: + enum.SurgeryUIKey.Key: + type: SurgeryBui diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/security.yml b/Resources/Prototypes/Catalog/Fills/Boxes/security.yml index 82da52de3f2..1aefbf7a68d 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/security.yml @@ -17,6 +17,21 @@ - state: box_security - state: handcuff +- type: entity + name: prisoner headset box + parent: BoxCardboard + id: BoxPrisonerHeadset + description: A box of prisoner headsets. + components: + - type: StorageFill + contents: + - id: ClothingHeadsetPrison + amount: 4 + - type: Sprite + layers: + - state: box_security + - state: headset + - type: entity name: flashbang box parent: BoxCardboard diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml index e2d7ad1483d..fe1d9ecc725 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml @@ -24,6 +24,7 @@ - id: BoxPDAPrisoner # Delta-V - id: ClothingShoesBootsWinterWarden #Delta V: Add departmental winter boots - id: BoxEncryptionKeyPrisoner #Delta-V + - id: BoxPrisonerHeadset - id: LunchboxSecurityFilledRandom # Delta-v Lunchboxes! prob: 0.3 @@ -52,6 +53,7 @@ - id: BoxPDAPrisoner # Delta-V - id: ClothingShoesBootsWinterWarden #Delta V: Add departmental winter boots - id: BoxEncryptionKeyPrisoner #Delta-V + - id: BoxPrisonerHeadset - id: LunchboxSecurityFilledRandom # Delta-v Lunchboxes! prob: 0.3 diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/lamia.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/lamia.yml index 9d7a85f97dd..71bb59b04e7 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/lamia.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/lamia.yml @@ -74,6 +74,7 @@ color: "#008800" sprite: Mobs/Customization/eyes.rsi state: eyes + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] color: "#e8b59b" sprite: Mobs/Species/Human/parts.rsi @@ -106,7 +107,6 @@ - map: [ "belt2" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] @@ -252,6 +252,7 @@ color: "#008800" sprite: Mobs/Customization/eyes.rsi state: eyes + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] color: "#e8b59b" sprite: Mobs/Species/Human/parts.rsi @@ -283,7 +284,6 @@ - map: [ "belt" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml index 0f7b0900bf7..040d4bee130 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml @@ -31,6 +31,7 @@ - map: [ "enum.HumanoidVisualLayers.Head" ] - map: [ "enum.HumanoidVisualLayers.Snout" ] - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] @@ -64,7 +65,6 @@ - map: [ "belt" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon_base.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon_base.yml index 1ee923bfe74..b8de17a55fb 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon_base.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon_base.yml @@ -91,6 +91,7 @@ - map: ["enum.HumanoidVisualLayers.Head"] - map: ["enum.HumanoidVisualLayers.Snout"] - map: ["enum.HumanoidVisualLayers.Eyes"] + - map: ["enum.HumanoidVisualLayers.Face"] - map: ["enum.HumanoidVisualLayers.RArm"] - map: ["enum.HumanoidVisualLayers.LArm"] - map: ["enum.HumanoidVisualLayers.RLeg"] @@ -125,7 +126,6 @@ - map: ["belt"] - map: ["neck"] - map: ["back"] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: ["enum.HumanoidVisualLayers.FacialHair"] - map: ["enum.HumanoidVisualLayers.Hair"] - map: ["enum.HumanoidVisualLayers.HeadSide"] diff --git a/Resources/Prototypes/Entities/Mobs/Species/arachne.yml b/Resources/Prototypes/Entities/Mobs/Species/arachne.yml index 5c203640d89..2aa1a381bfc 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/arachne.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/arachne.yml @@ -27,6 +27,7 @@ color: "#008800" sprite: Mobs/Species/eyes.rsi state: eyes + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] color: "#e8b59b" sprite: Mobs/Species/Human/parts.rsi @@ -66,7 +67,6 @@ - map: [ "belt" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] state: bald @@ -173,6 +173,7 @@ color: "#008800" sprite: Mobs/Species/eyes.rsi state: eyes + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] color: "#e8b59b" sprite: Mobs/Species/Human/parts.rsi @@ -212,7 +213,6 @@ - map: [ "belt" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] state: bald diff --git a/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml b/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml index 32e26987c81..3a4e1791fbd 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml @@ -81,6 +81,7 @@ - map: [ "enum.HumanoidVisualLayers.Head" ] - map: [ "enum.HumanoidVisualLayers.Snout" ] - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] @@ -110,7 +111,6 @@ - map: [ "enum.HumanoidVisualLayers.Tail" ] # Mentioned in moth code: This needs renaming lol. - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] # Do these need to be here? (arachnid hair arachnid hair) - map: [ "enum.HumanoidVisualLayers.HeadSide" ] diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index a9d96ecde54..2788ab89f35 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -13,6 +13,7 @@ - map: [ "enum.HumanoidVisualLayers.Head" ] - map: [ "enum.HumanoidVisualLayers.Snout" ] - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] @@ -41,7 +42,6 @@ - map: [ "id" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] @@ -349,6 +349,7 @@ - map: [ "enum.HumanoidVisualLayers.Head" ] - map: [ "enum.HumanoidVisualLayers.Snout" ] - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] @@ -380,7 +381,6 @@ - map: [ "id" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] diff --git a/Resources/Prototypes/Entities/Mobs/Species/harpy.yml b/Resources/Prototypes/Entities/Mobs/Species/harpy.yml index 34232b4e6e5..f48fb560e10 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/harpy.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/harpy.yml @@ -14,6 +14,7 @@ - map: [ "enum.HumanoidVisualLayers.Head" ] - map: [ "enum.HumanoidVisualLayers.Snout" ] - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] @@ -38,7 +39,6 @@ - map: [ "belt" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] - map: [ "enum.HumanoidVisualLayers.Tail" ] @@ -148,6 +148,7 @@ - map: [ "enum.HumanoidVisualLayers.Head" ] - map: [ "enum.HumanoidVisualLayers.Snout" ] - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] @@ -167,7 +168,6 @@ - map: [ "belt" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] - map: [ "enum.HumanoidVisualLayers.HeadTop" ] diff --git a/Resources/Prototypes/Entities/Mobs/Species/moth.yml b/Resources/Prototypes/Entities/Mobs/Species/moth.yml index f8eef07f8f2..6d0c1182e9b 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/moth.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/moth.yml @@ -76,6 +76,7 @@ - map: [ "enum.HumanoidVisualLayers.Head" ] - map: [ "enum.HumanoidVisualLayers.Snout" ] - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] @@ -110,7 +111,6 @@ - map: [ "enum.HumanoidVisualLayers.Tail" ] #in the utopian future we should probably have a wings enum inserted here so everyhting doesn't break - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] diff --git a/Resources/Prototypes/Entities/Mobs/Species/shadowkin.yml b/Resources/Prototypes/Entities/Mobs/Species/shadowkin.yml index f45adde2618..2063225a8e8 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/shadowkin.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/shadowkin.yml @@ -153,6 +153,7 @@ - map: ["enum.HumanoidVisualLayers.Snout"] - map: ["enum.HumanoidVisualLayers.Eyes"] shader: unshaded + - map: ["enum.HumanoidVisualLayers.Face"] - map: ["enum.HumanoidVisualLayers.RArm"] - map: ["enum.HumanoidVisualLayers.LArm"] - map: ["enum.HumanoidVisualLayers.RLeg"] @@ -187,7 +188,6 @@ - map: ["belt"] - map: ["neck"] - map: ["back"] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: ["enum.HumanoidVisualLayers.FacialHair"] - map: ["enum.HumanoidVisualLayers.Hair"] - map: ["enum.HumanoidVisualLayers.HeadSide"] @@ -265,6 +265,7 @@ - map: ["enum.HumanoidVisualLayers.Snout"] - map: ["enum.HumanoidVisualLayers.Eyes"] shader: unshaded + - map: ["enum.HumanoidVisualLayers.Face"] - map: ["enum.HumanoidVisualLayers.RArm"] - map: ["enum.HumanoidVisualLayers.LArm"] - map: ["enum.HumanoidVisualLayers.RLeg"] @@ -299,7 +300,6 @@ - map: ["belt"] - map: ["neck"] - map: ["back"] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: ["enum.HumanoidVisualLayers.FacialHair"] - map: ["enum.HumanoidVisualLayers.Hair"] - map: ["enum.HumanoidVisualLayers.HeadSide"] diff --git a/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml b/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml index 96c61856936..5f9812f4909 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml @@ -104,6 +104,7 @@ - type: FireVisuals alternateState: Standing - type: FootPrints + - type: LayingDown - type: entity parent: BaseSpeciesDummy diff --git a/Resources/Prototypes/Entities/Mobs/Species/vox.yml b/Resources/Prototypes/Entities/Mobs/Species/vox.yml index 5de01dbe6ae..a26cf9f0616 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/vox.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/vox.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity parent: BaseMobSpeciesOrganic id: BaseMobVox abstract: true @@ -65,6 +65,7 @@ - map: [ "enum.HumanoidVisualLayers.Head" ] - map: [ "enum.HumanoidVisualLayers.Snout" ] - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.RArm" ] - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] @@ -83,7 +84,6 @@ - map: [ "id" ] - map: [ "neck" ] - map: [ "back" ] - - map: [ "enum.HumanoidVisualLayers.Face" ] - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/magnum.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/magnum.yml index fc506ec594a..c71a58a82b1 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/magnum.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/magnum.yml @@ -102,6 +102,20 @@ - state: mag-1 map: ["enum.GunVisualLayers.Mag"] +- type: entity + id: MagazineMagnumIncendiary + name: pistol magazine (.45 magnum incendiary) + parent: BaseMagazineMagnum + components: + - type: BallisticAmmoProvider + proto: CartridgeMagnumIncendiary + - type: Sprite + layers: + - state: red + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - type: entity id: MagazineMagnumUranium name: pistol magazine (.45 magnum uranium) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml index c57a8adaa5f..a74d259ce82 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml @@ -330,6 +330,20 @@ - state: mag-1 map: ["enum.GunVisualLayers.Mag"] +- type: entity + id: MagazinePistolSubMachineGunIncendiary + name: SMG magazine (.35 auto incendiary) + parent: BaseMagazinePistolSubMachineGun + components: + - type: BallisticAmmoProvider + proto: CartridgePistolIncendiary + - type: Sprite + layers: + - state: red + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - type: entity id: MagazinePistolSubMachineGunUranium name: SMG magazine (.35 auto uranium) diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 88bedc449cc..366a4b2166c 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -779,148 +779,160 @@ idleState: icon runningState: icon staticRecipes: - - BoxLethalshot - - BoxShotgunFlare - - BoxShotgunPractice - - BoxShotgunSlug - - ClothingEyesHudSecurity - - CombatKnife - - Flash - - ForensicPad - - Handcuffs - - ShellShotgun - - ShellShotgunSlug - - ShellShotgunFlare - - ShellTranquilizer - - MagazineBoxLightRifle - - MagazineBoxLightRiflePractice - - MagazineBoxMagnum - - MagazineBoxMagnumPractice - - MagazineBoxPistol - - MagazineBoxPistolPractice - - MagazineBoxRifle - - MagazineBoxRiflePractice - - MagazineLightRifle - - MagazineLightRifleEmpty - - MagazinePistol - - MagazinePistolEmpty - - MagazinePistolSubMachineGun - - MagazinePistolSubMachineGunEmpty - - MagazinePistolSubMachineGunTopMounted - - MagazinePistolSubMachineGunTopMountedEmpty - - MagazineRifle - - MagazineRifleEmpty - - MagazineShotgun - - MagazineShotgunEmpty - - MagazineShotgunSlug - - RiotShield - - SpeedLoaderMagnum - - SpeedLoaderMagnumEmpty - - Stunbaton - - TargetClown - - ClothingOuterArmorPlateCarrier - - ClothingOuterArmorDuraVest - - TargetHuman - - TargetSyndicate - - WeaponDisablerPractice - - WeaponFlareGunSecurity - - WeaponLaserCarbinePractice - - Zipties - - ShockCollar - # DeltaV - .38 special ammo - Add various .38 special ammo to security techfab - - MagazineBoxSpecial - - MagazineBoxSpecialPractice - - SpeedLoaderSpecial - - MagazinePistolSpecial + - BoxLethalshot + - BoxShotgunFlare + - BoxShotgunPractice + - BoxShotgunSlug + - ClothingEyesHudSecurity + - CombatKnife + - Flash + - ForensicPad + - Handcuffs + - ShellShotgun + - ShellShotgunSlug + - ShellShotgunFlare + - ShellTranquilizer + - MagazineBoxLightRifle + - MagazineBoxLightRiflePractice + - MagazineBoxMagnum + - MagazineBoxMagnumPractice + - MagazineBoxPistol + - MagazineBoxPistolPractice + - MagazineBoxRifle + - MagazineBoxRiflePractice + - MagazineLightRifle + - MagazineLightRifleEmpty + - MagazinePistol + - MagazinePistolEmpty + - MagazinePistolSubMachineGun + - MagazinePistolSubMachineGunEmpty + - MagazinePistolSubMachineGunTopMounted + - MagazinePistolSubMachineGunTopMountedEmpty + - MagazineMagnum + - MagazineMagnumEmpty + - MagazineRifle + - MagazineRifleEmpty + - MagazineShotgun + - MagazineShotgunEmpty + - MagazineShotgunSlug + - RiotShield + - SpeedLoaderMagnum + - SpeedLoaderMagnumEmpty + - Stunbaton + - TargetClown + - ClothingOuterArmorPlateCarrier + - ClothingOuterArmorDuraVest + - TargetHuman + - TargetSyndicate + - WeaponDisablerPractice + - WeaponFlareGunSecurity + - WeaponLaserCarbinePractice + - Zipties + - ShockCollar + # DeltaV - .38 special ammo - Add various .38 special ammo to security techfab + - MagazineBoxSpecial + - MagazineBoxSpecialPractice + - SpeedLoaderSpecial + - MagazinePistolSpecial dynamicRecipes: - - BolaEnergy - - BoxBeanbag - - BoxShotgunIncendiary - - BoxShotgunUranium - - EncryptionKeySyndie - - CartridgeLightRifleIncendiary - - CartridgeMagnumIncendiary - - CartridgePistolIncendiary - - CartridgeRifleIncendiary - - CartridgeLightRifleUranium - - CartridgeMagnumUranium - - CartridgePistolUranium - - CartridgeRifleUranium - - CartridgeLightRifleRubber - - CartridgeMagnumRubber - - CartridgePistolRubber - - CartridgeRifleRubber - - ClothingEyesGlassesSecurity - - ExplosivePayload - - FlashPayload - - GrenadeBlast - - GrenadeEMP - - GrenadeFlash - - HoloprojectorSecurity - - MagazineBoxLightRifleIncendiary - - MagazineBoxLightRifleUranium - - MagazineBoxMagnumIncendiary - - MagazineBoxMagnumUranium - - MagazineBoxPistolIncendiary - - MagazineBoxPistolUranium - - MagazineBoxRifleIncendiary - - MagazineBoxRifleUranium - - ShellSoulbreaker - - MagazineBoxLightRifleRubber - - MagazineBoxMagnumRubber - - MagazineBoxPistolRubber - - MagazineBoxRifleRubber - - MagazineGrenadeEmpty - - MagazineLightRifleIncendiary - - MagazineLightRifleUranium - - MagazinePistolIncendiary - - MagazinePistolUranium - - MagazineRifleIncendiary - - MagazineRifleUranium - - MagazineShotgunBeanbag - - MagazineShotgunIncendiary - - PortableRecharger - - PowerCageHigh - - PowerCageMedium - - PowerCageSmall - - ShellTranquilizer - - ShuttleGunDusterCircuitboard - - ShuttleGunFriendshipCircuitboard - - ShuttleGunPerforatorCircuitboard - - ClothingEyesNightVisionSecurityGoggles - - ShuttleGunSvalinnMachineGunCircuitboard - - Signaller - - SignalTrigger - - SpeedLoaderMagnumIncendiary - - SpeedLoaderMagnumUranium - - TelescopicShield - - TimerTrigger - - Truncheon - - VoiceTrigger - - WeaponAdvancedLaser - - WeaponDisabler - - WeaponDisablerSMG - - WeaponLaserCannon - - WeaponLaserCarbine - - ClothingHeadHelmetInsulated # Nyanotrasen - Insulative headgear - - ClothingHeadCage # Nyanotrasen - Insulative headgear - - ShockCollar # Nyanotrasen - Shock Collar - - WeaponXrayCannon - - WeaponEnergyGun - - WeaponEnergyGunMini - - WeaponEnergyGunPistol - - WeaponGunLaserCarbineAutomatic - - CartridgeSpecialRubber - - CartridgeSpecialIncendiary - - CartridgeSpecialUranium - - CartridgeSpecialHoly - - CartridgeSpecialMindbreaker - - MagazineBoxSpecialRubber - - MagazineBoxSpecialIncendiary - - MagazineBoxSpecialUranium - - MagazineBoxSpecialMindbreaker - - SecurityCyberneticEyes - - MedicalCyberneticEyes + - BolaEnergy + - BoxBeanbag + - BoxShotgunIncendiary + - BoxShotgunUranium + - EncryptionKeySyndie + - CartridgeLightRifleIncendiary + - CartridgeMagnumIncendiary + - CartridgePistolIncendiary + - CartridgeRifleIncendiary + - CartridgeLightRifleUranium + - CartridgeMagnumUranium + - CartridgePistolUranium + - CartridgeRifleUranium + - CartridgeLightRifleRubber + - CartridgeMagnumRubber + - CartridgePistolRubber + - CartridgeRifleRubber + - ClothingEyesGlassesSecurity + - ExplosivePayload + - FlashPayload + - GrenadeBlast + - GrenadeEMP + - GrenadeFlash + - HoloprojectorSecurity + - MagazineBoxLightRifleIncendiary + - MagazineBoxLightRifleUranium + - MagazineBoxMagnumIncendiary + - MagazineBoxMagnumUranium + - MagazineBoxPistolIncendiary + - MagazineBoxPistolUranium + - MagazineBoxRifleIncendiary + - MagazineBoxRifleUranium + - ShellSoulbreaker + - MagazineBoxLightRifleRubber + - MagazineBoxMagnumRubber + - MagazineBoxPistolRubber + - MagazineBoxRifleRubber + - MagazineGrenadeEmpty + - MagazineLightRifleRubber + - MagazineLightRifleIncendiary + - MagazineLightRifleUranium + - MagazinePistolRubber + - MagazinePistolIncendiary + - MagazinePistolUranium + - MagazinePistolSubMachineGunRubber + - MagazinePistolSubMachineGunIncendiary + - MagazinePistolSubMachineGunUranium + - MagazineMagnumRubber + - MagazineMagnumIncendiary + - MagazineMagnumUranium + - MagazineRifleRubber + - MagazineRifleIncendiary + - MagazineRifleUranium + - MagazineShotgunBeanbag + - MagazineShotgunIncendiary + - PortableRecharger + - PowerCageHigh + - PowerCageMedium + - PowerCageSmall + - ShellTranquilizer + - ShuttleGunDusterCircuitboard + - ShuttleGunFriendshipCircuitboard + - ShuttleGunPerforatorCircuitboard + - ShuttleGunSvalinnMachineGunCircuitboard + - Signaller + - SignalTrigger + - SpeedLoaderMagnumRubber + - SpeedLoaderMagnumIncendiary + - SpeedLoaderMagnumUranium + - TelescopicShield + - TimerTrigger + - Truncheon + - VoiceTrigger + - WeaponAdvancedLaser + - WeaponDisabler + - WeaponDisablerSMG + - WeaponLaserCannon + - WeaponLaserCarbine + - ClothingEyesNightVisionSecurityGoggles + - ClothingHeadHelmetInsulated # Nyanotrasen - Insulative headgear + - ClothingHeadCage # Nyanotrasen - Insulative headgear + - ShockCollar # Nyanotrasen - Shock Collar + - WeaponXrayCannon + - WeaponEnergyGun + - WeaponEnergyGunMini + - WeaponEnergyGunPistol + - WeaponGunLaserCarbineAutomatic + - CartridgeSpecialRubber + - CartridgeSpecialIncendiary + - CartridgeSpecialUranium + - CartridgeSpecialHoly + - CartridgeSpecialMindbreaker + - MagazineBoxSpecialRubber + - MagazineBoxSpecialIncendiary + - MagazineBoxSpecialUranium + - MagazineBoxSpecialMindbreaker + - SecurityCyberneticEyes + - MedicalCyberneticEyes - type: MaterialStorage whitelist: tags: diff --git a/Resources/Prototypes/Recipes/Lathes/security.yml b/Resources/Prototypes/Recipes/Lathes/security.yml index 4589265f569..e80ba6bbf94 100644 --- a/Resources/Prototypes/Recipes/Lathes/security.yml +++ b/Resources/Prototypes/Recipes/Lathes/security.yml @@ -242,6 +242,15 @@ materials: Steel: 145 +- type: latheRecipe + id: MagazinePistolRubber + result: MagazinePistolRubber + category: Ammo + completetime: 5 + materials: + Steel: 45 + Plastic: 100 + - type: latheRecipe id: MagazinePistolPractice result: MagazinePistolPractice @@ -285,6 +294,34 @@ materials: Steel: 300 +- type: latheRecipe + id: MagazinePistolSubMachineGunRubber + result: MagazinePistolSubMachineGunRubber + category: Ammo + completetime: 5 + materials: + Steel: 100 + Plastic: 200 + +- type: latheRecipe + id: MagazinePistolSubMachineGunUranium + result: MagazinePistolSubMachineGunUranium + category: Ammo + completetime: 5 + materials: + Steel: 25 + Plastic: 225 + Uranium: 225 + +- type: latheRecipe + id: MagazinePistolSubMachineGunIncendiary + result: MagazinePistolSubMachineGunIncendiary + category: Ammo + completetime: 5 + materials: + Steel: 25 + Plastic: 400 + - type: latheRecipe id: MagazinePistolSubMachineGunTopMountedEmpty result: MagazinePistolSubMachineGunTopMountedEmpty @@ -351,6 +388,14 @@ materials: Steel: 475 +- type: latheRecipe + id: MagazineRifleRubber + result: MagazineRifleRubber + category: Ammo + completetime: 5 + materials: + Steel: 150 + Plastic: 325 - type: latheRecipe id: MagazineRiflePractice @@ -395,6 +440,15 @@ materials: Steel: 565 +- type: latheRecipe + id: MagazineLightRifleRubber + result: MagazineLightRifleRubber + category: Ammo + completetime: 5 + materials: + Steel: 125 + Plastic: 350 + - type: latheRecipe id: MagazineLightRiflePractice result: MagazineLightRiflePractice @@ -403,7 +457,6 @@ materials: Steel: 205 - - type: latheRecipe id: MagazineLightRifleUranium result: MagazineLightRifleUranium @@ -423,6 +476,50 @@ Steel: 25 Plastic: 540 +- type: latheRecipe + id: MagazineMagnumEmpty + result: MagazineMagnumEmpty + category: Ammo + completetime: 5 + materials: + Steel: 30 + +- type: latheRecipe + id: MagazineMagnum + result: MagazineMagnum + category: Ammo + completetime: 5 + materials: + Steel: 150 + +- type: latheRecipe + id: MagazineMagnumRubber + result: MagazineMagnumRubber + category: Ammo + completetime: 5 + materials: + Steel: 50 + Plastic: 100 + +- type: latheRecipe + id: MagazineMagnumUranium + result: MagazineMagnumUranium + category: Ammo + completetime: 5 + materials: + Steel: 30 + Plastic: 75 + Uranium: 150 + +- type: latheRecipe + id: MagazineMagnumIncendiary + result: MagazineMagnumIncendiary + category: Ammo + completetime: 5 + materials: + Steel: 30 + Plastic: 150 + - type: latheRecipe id: MagazineBoxRifle result: MagazineBoxRifle @@ -475,21 +572,21 @@ Plastic: 160 - type: latheRecipe - id: SpeedLoaderMagnumEmpty - result: SpeedLoaderMagnumEmpty + id: MagazineBoxLightRifleRubber + result: MagazineBoxLightRifleRubber category: Ammo completetime: 5 materials: - Steel: 50 + Steel: 350 + Plastic: 600 - type: latheRecipe - id: MagazineBoxLightRifleRubber - result: MagazineBoxLightRifleRubber + id: SpeedLoaderMagnumEmpty + result: SpeedLoaderMagnumEmpty category: Ammo completetime: 5 materials: - Steel: 350 - Plastic: 600 + Steel: 50 - type: latheRecipe id: SpeedLoaderMagnum @@ -499,6 +596,15 @@ materials: Steel: 190 +- type: latheRecipe + id: SpeedLoaderMagnumRubber + result: SpeedLoaderMagnumRubber + category: Ammo + completetime: 5 + materials: + Steel: 50 + Plastic: 70 + - type: latheRecipe id: SpeedLoaderMagnumPractice result: SpeedLoaderMagnumPractice @@ -758,46 +864,46 @@ result: MagazineGrenadeEmpty completetime: 3 materials: - Steel: 150 - Plastic: 50 + Steel: 150 + Plastic: 50 - type: latheRecipe id: GrenadeEMP result: GrenadeEMP completetime: 3 materials: - Steel: 150 - Plastic: 100 - Glass: 20 + Steel: 150 + Plastic: 100 + Glass: 20 - type: latheRecipe id: GrenadeBlast result: GrenadeBlast completetime: 3 materials: - Steel: 150 - Plastic: 100 - Gold: 50 + Steel: 150 + Plastic: 100 + Gold: 50 - type: latheRecipe id: GrenadeFlash result: GrenadeFlash completetime: 3 materials: - Steel: 150 - Plastic: 100 - Glass: 20 + Steel: 150 + Plastic: 100 + Glass: 20 - type: latheRecipe id: PortableRecharger result: PortableRecharger completetime: 15 materials: - Steel: 2000 - Uranium: 2000 - Plastic: 1000 - Plasma: 500 - Glass: 500 + Steel: 2000 + Uranium: 2000 + Plastic: 1000 + Plasma: 500 + Glass: 500 - type: latheRecipe id: ShellShotgun diff --git a/Resources/Prototypes/Research/arsenal.yml b/Resources/Prototypes/Research/arsenal.yml index ee2be33c831..6a1d1e37730 100644 --- a/Resources/Prototypes/Research/arsenal.yml +++ b/Resources/Prototypes/Research/arsenal.yml @@ -27,6 +27,8 @@ - BoxShotgunIncendiary - MagazineRifleIncendiary - MagazinePistolIncendiary + - MagazinePistolSubMachineGunIncendiary + - MagazineMagnumIncendiary - MagazineLightRifleIncendiary - SpeedLoaderMagnumIncendiary - MagazineShotgunIncendiary @@ -68,6 +70,12 @@ - CartridgeMagnumRubber - CartridgeLightRifleRubber - CartridgeRifleRubber + - MagazineRifleRubber + - MagazinePistolRubber + - MagazinePistolSubMachineGunRubber + - MagazineMagnumRubber + - MagazineLightRifleRubber + - SpeedLoaderMagnumRubber - MagazineBoxPistolRubber - MagazineBoxMagnumRubber - MagazineBoxLightRifleRubber @@ -88,6 +96,8 @@ recipeUnlocks: - MagazineRifleUranium - MagazinePistolUranium + - MagazinePistolSubMachineGunUranium + - MagazineMagnumUranium - MagazineLightRifleUranium - SpeedLoaderMagnumUranium - MagazineBoxPistolUranium diff --git a/Resources/Prototypes/_Shitmed/Entities/Surgery/surgeries.yml b/Resources/Prototypes/_Shitmed/Entities/Surgery/surgeries.yml index 775716ecff4..44d1f3c1c87 100644 --- a/Resources/Prototypes/_Shitmed/Entities/Surgery/surgeries.yml +++ b/Resources/Prototypes/_Shitmed/Entities/Surgery/surgeries.yml @@ -377,6 +377,16 @@ - type: SurgeryOrganCondition organ: - type: Brain + slotId: brain + +- type: entity + parent: SurgeryRemoveBrain + id: SurgeryRemoveBrainTorso + name: Remove Brain + categories: [ HideSpawnMenu ] + components: + - type: SurgeryPartCondition + part: Torso - type: entity parent: SurgeryBase @@ -397,6 +407,16 @@ - type: Brain inverse: true reattaching: true + slotId: brain + +- type: entity + parent: SurgeryInsertBrain + id: SurgeryInsertBrainTorso + name: Insert Brain + categories: [ HideSpawnMenu ] + components: + - type: SurgeryPartCondition + part: Torso - type: entity parent: SurgeryBase @@ -415,6 +435,7 @@ - type: SurgeryOrganCondition organ: - type: Heart + slotId: heart - type: entity parent: SurgeryBase @@ -435,6 +456,7 @@ - type: Heart inverse: true reattaching: true + slotId: heart - type: entity parent: SurgeryBase @@ -453,6 +475,7 @@ - type: SurgeryOrganCondition organ: - type: Liver + slotId: liver - type: entity parent: SurgeryBase @@ -473,6 +496,7 @@ - type: Liver inverse: true reattaching: true + slotId: liver - type: entity parent: SurgeryBase @@ -491,6 +515,7 @@ - type: SurgeryOrganCondition organ: - type: Lung + slotId: lungs - type: entity parent: SurgeryBase @@ -511,6 +536,7 @@ - type: Lung inverse: true reattaching: true + slotId: lungs - type: entity parent: SurgeryBase @@ -529,6 +555,7 @@ - type: SurgeryOrganCondition organ: - type: Stomach + slotId: stomach - type: entity parent: SurgeryBase @@ -549,6 +576,7 @@ - type: Stomach inverse: true reattaching: true + slotId: stomach - type: entity parent: SurgeryBase @@ -567,6 +595,7 @@ - type: SurgeryOrganCondition organ: - type: Eyes + slotId: eyes - type: entity parent: SurgeryBase @@ -587,6 +616,7 @@ - type: Eyes inverse: true reattaching: true + slotId: eyes - type: entity parent: SurgeryBase @@ -602,6 +632,7 @@ - type: SurgeryOrganCondition organ: - type: Brain + slotId: brain - type: SurgeryOrganOnAddCondition components: brain: @@ -629,6 +660,7 @@ - type: SurgeryOrganCondition organ: - type: Brain + slotId: brain - type: SurgeryOrganOnAddCondition components: brain: