diff --git a/Content.Shared/Body/Organ/OrganComponent.cs b/Content.Shared/Body/Organ/OrganComponent.cs index 2f575952e9c..ac7b3f5f541 100644 --- a/Content.Shared/Body/Organ/OrganComponent.cs +++ b/Content.Shared/Body/Organ/OrganComponent.cs @@ -69,5 +69,11 @@ public sealed partial class OrganComponent : Component, ISurgeryToolComponent // /// [DataField] public bool CanEnable = true; + + /// + /// DV - Yknow I like being able to just say that an organ can also just, not be removed :blunt: + /// + [DataField] + public bool Removable = true; // Shitmed Change End } diff --git a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs index de32ebb4dc0..a480f62baea 100644 --- a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs +++ b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.cs @@ -27,6 +27,7 @@ using Robust.Shared.Network; using Robust.Shared.Prototypes; using Robust.Shared.Timing; +using Content.Shared.Body.Organ; namespace Content.Shared._Shitmed.Medical.Surgery; @@ -266,6 +267,10 @@ private void OnOrganConditionValid(Entity ent, r || ent.Comp.Reattaching && !organs.Any(organ => HasComp(organ.Id)))) args.Cancelled = true; + // DV - allowing unremovability to shitmed + if (!organs.Any(organ => !TryComp(organ.Id, out var organComp) + || organComp.Removable)) + args.Cancelled = true; } else if (!ent.Comp.Inverse) args.Cancelled = true; diff --git a/Resources/Locale/en-US/_DV/markings/feroxi.ftl b/Resources/Locale/en-US/_DV/markings/feroxi.ftl index 2265598e6fb..b1f81e87728 100644 --- a/Resources/Locale/en-US/_DV/markings/feroxi.ftl +++ b/Resources/Locale/en-US/_DV/markings/feroxi.ftl @@ -100,14 +100,17 @@ marking-FeroxiTipTwoToneTailAndDorsal-feroxi-tail-under = Under Tail marking-FeroxiTipTwoToneTailAndDorsal-feroxi-dorsal = Base Dorsal marking-FeroxiTipTwoToneTailAndDorsal-feroxi-dorsal-tip = Dorsal Tip - marking-FeroxiTorsoStripesBlitz = Small Under Arm Stripes marking-FeroxiTorsoStripesBlitz-feroxi-torso-stripes-blitz = Stripes - marking-FeroxiLegStripesBlitz = Calf Stripes marking-FeroxiLegStripesBlitz-feroxi-leg-stripes-blitz = Stripes - marking-FeroxiArmStripesBlitz = Shoulder Stripes marking-FeroxiArmStripesBlitz-feroxi-arm-stripes-blitz = Stripes + +marking-FeroxiTorsoCountershadingF = Countershading (Feminine) +marking-FeroxiTorsoCountershadingF-feroxi-torso-countershading-f = Countershading + +marking-FeroxiTorsoCountershadingM = Countershading (Masculine) +marking-FeroxiTorsoCountershadingM-feroxi-torso-countershading-m = Countershading diff --git a/Resources/Prototypes/_DV/Body/Organs/feroxi.yml b/Resources/Prototypes/_DV/Body/Organs/feroxi.yml index 23606224b21..ecdf44fa132 100644 --- a/Resources/Prototypes/_DV/Body/Organs/feroxi.yml +++ b/Resources/Prototypes/_DV/Body/Organs/feroxi.yml @@ -24,14 +24,16 @@ - type: entity parent: BaseHumanOrgan id: OrganFeroxiLungs - name: Aquatic Lungs - description: "A pair of amphibious lungs, filtering oxygen out of the air continuously." + name: Aquatic Lungs and Gills + description: "A pair of amphibious lungs along with gills, filtering oxygen out of the air continuously." components: - type: Sprite sprite: Mobs/Species/Human/organs.rsi layers: - state: lung-l - state: lung-r + - type: Organ + removable: false - type: Lung - type: Metabolizer removeEmpty: true diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Customization/Markings/feroxi.yml b/Resources/Prototypes/_DV/Entities/Mobs/Customization/Markings/feroxi.yml index e6a2cddca98..1936334cbd9 100644 --- a/Resources/Prototypes/_DV/Entities/Mobs/Customization/Markings/feroxi.yml +++ b/Resources/Prototypes/_DV/Entities/Mobs/Customization/Markings/feroxi.yml @@ -266,6 +266,24 @@ - sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi state: feroxi-torso-stripes-blitz +- type: marking + id: FeroxiTorsoCountershadingF + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [ Feroxi ] + sprites: + - sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi + state: feroxi-torso-countershading-f + +- type: marking + id: FeroxiTorsoCountershadingM + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [ Feroxi ] + sprites: + - sprite: _DV/Mobs/Customization/Feroxi/body_markings.rsi + state: feroxi-torso-countershading-m + # Leg Markings - type: marking id: FeroxiLegStripesBlitz diff --git a/Resources/Prototypes/_DV/Loadouts/Miscellaneous/survival.yml b/Resources/Prototypes/_DV/Loadouts/Miscellaneous/survival.yml index dceacb043cf..a8f9b34bc7a 100644 --- a/Resources/Prototypes/_DV/Loadouts/Miscellaneous/survival.yml +++ b/Resources/Prototypes/_DV/Loadouts/Miscellaneous/survival.yml @@ -1,3 +1,99 @@ +# Species +- type: loadoutEffectGroup + id: WaterBreather + effects: + - !type:SpeciesLoadoutEffect + species: + - Feroxi + +# Basic +- type: loadout + id: EmergencyWater + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + storage: + back: + - BoxSurvivalWater + +# Clown +- type: loadout + id: EmergencyWaterClown + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + storage: + back: + - BoxHugWater + +# Mime +- type: loadout + id: EmergencyWaterMime + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + storage: + back: + - BoxMimeWater + +# Engineering / Extended +- type: loadout + id: EmergencyWaterExtended + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + storage: + back: + - BoxSurvivalEngineeringWater + +# Medical +- type: loadout + id: EmergencyWaterMedical + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + storage: + back: + - BoxSurvivalMedicalWater + +# Security +- type: loadout + id: EmergencyWaterSecurity + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + storage: + back: + - BoxSurvivalSecurityWater + +# Syndicate +- type: loadout + id: EmergencyWaterSyndicate + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + storage: + back: + - BoxSurvivalWater + +# Full EVA Tank, Any Species +- type: loadout + id: LoadoutSpeciesEVAWater + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + equipment: + suitstorage: WaterTankFilled + +# Species-appropriate Double Emergency Tank in Pocket 1 +- type: loadout + id: LoadoutSpeciesPocketDoubleWater + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + equipment: + pocket1: DoubleEmergencyWaterTankFilled + # Corpsman - type: loadout id: EmergencyOxygenCorpsman @@ -17,6 +113,14 @@ back: - BoxSurvivalBrigmedicNitrogen +- type: loadout + id: EmergencyNitrogenCorpsman + effects: + - !type:GroupLoadoutEffect + proto: WaterBreather + equipment: + mask: BoxSurvivalBrigmedicWater + - type: loadout id: LoadoutSpeciesBreathToolCorpsman effects: diff --git a/Resources/ServerInfo/Guidebook/Mobs/_DV/Feroxi.xml b/Resources/ServerInfo/Guidebook/Mobs/_DV/Feroxi.xml index cec5fe7f129..7ed6575db66 100644 --- a/Resources/ServerInfo/Guidebook/Mobs/_DV/Feroxi.xml +++ b/Resources/ServerInfo/Guidebook/Mobs/_DV/Feroxi.xml @@ -17,7 +17,7 @@ - Uses their jaws to do piercing damage, and harder than other species, rivaling Oni. - Their cartilaginous skeleton allows them to resist blunt force trauma more easily. - Their adaptation to native environments allows them to resist the cold more easily. - - Their biology allow them to breathe water vapour + - Their biology allow them to breathe water vapour. ## Drawbacks @@ -25,5 +25,6 @@ - Gets thirsty 100% faster. That's faster than a Diona! - When thirst falls to "Parched" they begin to suffocate. Have water handy! - Saline is too salty! It hydrates you much less! + - Your lungs are unremovable as theyre intergrated with your gills. diff --git a/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/feroxi-torso-countershading-f.png b/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/feroxi-torso-countershading-f.png new file mode 100644 index 00000000000..dfd82e0f2ab Binary files /dev/null and b/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/feroxi-torso-countershading-f.png differ diff --git a/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/feroxi-torso-countershading-m.png b/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/feroxi-torso-countershading-m.png new file mode 100644 index 00000000000..340c10e3c92 Binary files /dev/null and b/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/feroxi-torso-countershading-m.png differ diff --git a/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/meta.json b/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/meta.json index c1d43fffad2..6e9edab6dc3 100644 --- a/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/meta.json +++ b/Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Made by BlitzTheSquishy", + "copyright": "Stripes made by BlitzTheSquishy, Countershading made by Emily9031", "size": {"x": 32, "y": 32}, "states": [ @@ -16,6 +16,14 @@ { "name": "feroxi-leg-stripes-blitz", "directions": 4 + }, + { + "name": "feroxi-torso-countershading-m", + "directions": 4 + }, + { + "name": "feroxi-torso-countershading-f", + "directions": 4 } ] } diff --git a/Resources/Textures/_DV/Mobs/Customization/Feroxi/tail_markings.rsi/feroxi-tail.png b/Resources/Textures/_DV/Mobs/Customization/Feroxi/tail_markings.rsi/feroxi-tail.png index 8e6b276ba88..00570d0e22d 100644 Binary files a/Resources/Textures/_DV/Mobs/Customization/Feroxi/tail_markings.rsi/feroxi-tail.png and b/Resources/Textures/_DV/Mobs/Customization/Feroxi/tail_markings.rsi/feroxi-tail.png differ