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