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