From 7eedcc01b9b4ef1dcb2fb99ecf34f46b28d52d82 Mon Sep 17 00:00:00 2001
From: BlitzTheSquishy <73762869+BlitzTheSquishy@users.noreply.github.com>
Date: Tue, 4 Feb 2025 16:45:36 +1100
Subject: [PATCH] Shitmed fixes, Tail tweaks, XML tweaks
---
Content.Shared/Body/Organ/OrganComponent.cs | 6 +
.../_Shitmed/Surgery/SharedSurgerySystem.cs | 5 +
.../Locale/en-US/_DV/markings/feroxi.ftl | 9 +-
.../Prototypes/_DV/Body/Organs/feroxi.yml | 6 +-
.../Mobs/Customization/Markings/feroxi.yml | 18 +++
.../_DV/Loadouts/Miscellaneous/survival.yml | 104 ++++++++++++++++++
.../ServerInfo/Guidebook/Mobs/_DV/Feroxi.xml | 3 +-
.../feroxi-torso-countershading-f.png | Bin 0 -> 378 bytes
.../feroxi-torso-countershading-m.png | Bin 0 -> 353 bytes
.../Feroxi/body_markings.rsi/meta.json | 10 +-
.../Feroxi/tail_markings.rsi/feroxi-tail.png | Bin 2278 -> 800 bytes
11 files changed, 154 insertions(+), 7 deletions(-)
create mode 100644 Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/feroxi-torso-countershading-f.png
create mode 100644 Resources/Textures/_DV/Mobs/Customization/Feroxi/body_markings.rsi/feroxi-torso-countershading-m.png
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 0000000000000000000000000000000000000000..dfd82e0f2ab9cff07ecf686588877e84a2ee9ed6
GIT binary patch
literal 378
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e#^NA%C&rs6b?Si}&H|6fVg?4j
zBOuH;Rhv&5C@2)*6XFV_mn>N_Wy+Lo+qP9zRn^zmFZnO{2`I`|666=m@E-)KDj)m<
zid^+{aSW-L^Y-#yz9s_!_78DyeHJI0X58o%b7$wYTem*p3FDs!tSvj5rP3Wdc|803
z%~Y&T^2)xe%lvOH(y?p-`&q2{Mn4
zRdRMsIV-uJ-C;{kB-5#fZNHTG4K^rDd4A=b6Uzy;uc-&Zo{2SId*#Sq$1;um%J;HR
z1)lg>#;=1|&xQWm`|fiDv%>y|wyzw@4>v95v3be!MX@v?W3jGZInSNH8Er;A%EreU
zmb$Fl+V7b9N72GL`Y&e%vuBC3<5h`0#y}79rABzB`T8N_Wy+Lo+qTu$*H=|lG2F6M0*bPg1o;Is{0D)m$_M{|
zB6~bt978JRB&R4aNVtnmSke&q@qcX%*9_iwhMIGZu4eFf5PTrz#DNe0W$er)j1B(m
zZSZg0#BlgF`wtNY*~Yt^B_RhgzPz`IWA*vd^FH86@4r}wP=)gq{E_oKU*5MBVdYu4
z-&{dE;p@L$(xHrg2CEW67<)w|7N+Gr-Ti{AC(uZL^210T*8VtUO^zB9A5o4~bKHUi
z_Pn=U)pX#iQ`w1|vqPWldyyT&x@N!R1jhqxA*>mf1XNe#9bk3qU}Bi7>*+Y*Tm%o$
hAAG41o@u_m3|c@o2M~k6rQpdR%G1@)Wt~$(69AUMeb4{^
literal 0
HcmV?d00001
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 8e6b276ba88b92365272acfc0817ce8ff3656b92..00570d0e22dee61d063e538dc831afdfb24fb843 100644
GIT binary patch
delta 719
zcmV;=0x}lQmYzkRv3kBZ@~%_QO^D?FD~ST&B2I
zu*5OWDmF&JkAM1u-`#qtf&OArQyA)=egC~1>bK!L@B3dzzW;p;wNG&Al>MuRF#I8U
zzN~c}K+7haUzIg;2QIdt?J;Y(MnS5Tsijizb}HXA3#~WMIA83ow9m;s#HFjqHSFy}
zPg=4Us=T|QvbR6al=}Mt(dQe}?z~qk+&`Ha3bDrfQ_#8=$>J9Y8w<
zJwqgZGuYv8{*m%*pu5kE+3h*fAPtB#NCP4brhnQ~e3=%@&=5TwmaR?&N8mXyq0v0Y
z(UJjz2}0kT{;LLz3cNVKl^Qs93-=PK_h8?$2MA^lAN(zlEI@l^SfRkfi)V;2J>0{^
zG1>+VbPU|k`hfzTHI(A^pVGRVI7K0f{)(4!;sYEjJURmW6$$_V002ovPDHLkV1ifB
BOtb(1
literal 2278
zcmcIleQ*@z8Q%mu#Xu5_P0E1c&S4}__ilG@Z|`=^CE{H^Zp?*C?hGemW8ZuCy<;bL
zx7WQ5IYJv6Dij?;EfYX9K~aJqRHz1x)I@@Gg4IxAq(Mb6A^iXekT$jgG9`WYE|=mA
ze>u~g+pp(-&+mPn-}AiBKIy5h$j+LVMG!=`tI}DE?+@zd%o+H)?^qZF5J+u#(m`@
z3BDTMy8itm4FLY>>#VHOqBHkT{B~43)bZh_1KuaW*^RG1XN3DV?M0syT)s29
z?9}GJHkiw*m((v0hbB%Qvk%Q0+ur%5YxiInwKMl^+y%FU*3TAR>=s{4+$)vVy*He9
z^)I9Bz+3AIH{VhB29sHOA-APzYI`E0}CZR2b2zSeSf?w;pH
zK3;rnc`g`n{A=%)lPyHs{8-B)A0NH@z^70A{r%U@&TI7*dLQ0Ba>;j4F6fBvj2`^-
z^J688uF!=)ZhQO>UzBJs6|Q;VaBsuln(JRx9lz%dDKWy{oGW+dl7mem=f^Pphr=PU3^O-jn0ShTCJ6kH!gN)}8v9L3DJ^#h_l<=hyu1
zDiJCXBaoB;GA1H1j3$WU(nJiv2BeVz6q2KM!+3AMfs`e?VY$UkyJHTtQm$-Pk+-?p
z2b&w9AQ?(ava^a4B4&sn4UmaQI2sodc0-a_#Lv3fWFV6et-)^ayFH{sQ4z@*IU`M#
zCFE7C0h5qqu_^_{T4(tb34XI1R%%*IG?|*3nv6|mqoRgPj35Xmnl-U3g%MPIbyNch
zDjHvyBAKFbqBvCLm?kSxQl|w0rBSmRa2%-sBQdvonmrny(g7=CN`RP&G18_;M2|X&
zj%#JBu=7+bw?xN%t7FJii{eV73Q^fA6x9}{-6c5f8*5a<$t)yjLSYoausB|gnO>^G
z<@QXY^{hj3B$o8R3QwanIru+qz7>!DPcr=U;@EAP?_0=po;nbVAvzV5+7A63A3fl06v+)7S
zCP@KGfQaS<8*Ak(yn&RUSgxoMfJ-JvKnR&)(U5`El@*tITy_I%q^DjzVW0&u)NXJC
zNG|hEnSF8uc{QLb$M6=$%5j{P$3Lr?n?lqfHI7?L=VEB18T0AFi#T?yAke!GyCyRd
z9V!BvqWTmiY&YmZkh)L0S#i6jWJ`(wrk09>
zRR{~1GQyQ08bWx_;&w?{%0I3I
zwI-mVr6HUhP6BsFG6}LMCEMaOuxTaIHKFm|q|Fq=`xstiZKBym(N>YhDw+O2$(RE{
z#vYJ?ovEA>s*OtsKEcX8_XU7fwgXSu$cJ6!VC+q$T