Skip to content

Commit ae805da

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 0166e39 + 4bccc36 commit ae805da

8 files changed

Lines changed: 1362 additions & 699 deletions

File tree

Content.Server/_Floof/Geras/GerasSystem.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
using Content.Server.Popups;
55
using Content.Shared._Floof.Geras;
66
using Robust.Shared.Player;
7+
using Content.Server.Body.Components;
8+
using Content.Shared.Chemistry.Reagent;
9+
using Content.Shared.Humanoid;
10+
using Content.Shared.Sprite;
711

812
namespace Content.Server._Floof.Geras;
913

@@ -38,8 +42,30 @@ private void OnMorphIntoGeras(EntityUid uid, GerasComponent component, MorphInto
3842
if (HasComp<ZombieComponent>(uid))
3943
return; // i hate zomber.
4044

45+
var colors = GrabHumanoidColors(uid); // begin imp
46+
4147
var ent = _polymorphSystem.PolymorphEntity(uid, component.GerasPolymorphId);
4248

49+
if (colors != null) // Match Geras to Humanoid Skin color
50+
{
51+
(var skinColor, var eyeColor) = colors.Value;
52+
if (TryComp<RandomSpriteComponent>(ent, out var randomSprite)) // has to use random sprite
53+
{
54+
foreach (var entry in randomSprite.Selected)
55+
{
56+
var state = randomSprite.Selected[entry.Key];
57+
state.Color = entry.Key switch
58+
{
59+
"colorMap" => skinColor,
60+
"eyesMap" => eyeColor,
61+
_ => state.Color
62+
};
63+
randomSprite.Selected[entry.Key] = state;
64+
}
65+
Dirty(ent.Value, randomSprite);
66+
}
67+
} // end imp
68+
4369
if (!ent.HasValue)
4470
return;
4571

@@ -48,4 +74,16 @@ private void OnMorphIntoGeras(EntityUid uid, GerasComponent component, MorphInto
4874

4975
args.Handled = true;
5076
}
77+
78+
private (Color, Color)? GrabHumanoidColors(EntityUid entity) //imp
79+
{
80+
if (TryComp<HumanoidAppearanceComponent>(entity, out var humanoid)) // Get Humanoid Appearance
81+
{
82+
var skinColor = humanoid.SkinColor;
83+
var eyeColor = humanoid.EyeColor;
84+
return (skinColor, eyeColor);
85+
}
86+
87+
return null; // if a non-humanoid or someone with no bloodstream ascends, don't modify the colors
88+
}
5189
}

Resources/Changelog/Euphoria.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1519,3 +1519,17 @@ Entries:
15191519
emote wheel.
15201520
id: 186
15211521
time: '2026-03-22T07:32:43.0000000+00:00'
1522+
- author: Dunrab
1523+
changes:
1524+
- type: Tweak
1525+
message: Meta's dorms now are dorms airlocks and will start linked.
1526+
- type: Fix
1527+
message: Fixed salvage mining shuttle docking to arrivals on Arena.
1528+
id: 187
1529+
time: '2026-03-24T09:22:39.0000000+00:00'
1530+
- author: ScarlettJFG
1531+
changes:
1532+
- type: Tweak
1533+
message: Geras have character color now.
1534+
id: 188
1535+
time: '2026-03-24T09:33:06.0000000+00:00'

Resources/Maps/Floof/arena.yml

Lines changed: 1218 additions & 645 deletions
Large diffs are not rendered by default.

Resources/Maps/Floof/meta.yml

Lines changed: 65 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ meta:
44
engineVersion: 268.0.0
55
forkId: ""
66
forkVersion: ""
7-
time: 02/23/2026 17:46:48
7+
time: 03/08/2026 18:10:13
88
entityCount: 28840
99
maps:
1010
- 1
@@ -10511,21 +10511,6 @@ entities:
1051110511
- type: Transform
1051210512
pos: -14.5,56.5
1051310513
parent: 2
10514-
- uid: 27923
10515-
components:
10516-
- type: Transform
10517-
pos: 44.5,53.5
10518-
parent: 2
10519-
- uid: 27924
10520-
components:
10521-
- type: Transform
10522-
pos: 44.5,56.5
10523-
parent: 2
10524-
- uid: 27925
10525-
components:
10526-
- type: Transform
10527-
pos: 36.5,55.5
10528-
parent: 2
1052910514
- proto: AirlockArmoryGlassLocked
1053010515
entities:
1053110516
- uid: 152
@@ -12041,6 +12026,26 @@ entities:
1204112026
- type: Transform
1204212027
pos: -25.5,-14.5
1204312028
parent: 2
12029+
- proto: AirlockLockableDorms
12030+
entities:
12031+
- uid: 27923
12032+
components:
12033+
- type: Transform
12034+
rot: 3.141592653589793 rad
12035+
pos: 36.5,55.5
12036+
parent: 2
12037+
- uid: 27924
12038+
components:
12039+
- type: Transform
12040+
rot: 3.141592653589793 rad
12041+
pos: 44.5,56.5
12042+
parent: 2
12043+
- uid: 27925
12044+
components:
12045+
- type: Transform
12046+
rot: 3.141592653589793 rad
12047+
pos: 44.5,53.5
12048+
parent: 2
1204412049
- proto: AirlockMailGlassLocked
1204512050
entities:
1204612051
- uid: 381
@@ -12885,7 +12890,7 @@ entities:
1288512890
pos: -0.5,-58.5
1288612891
parent: 2
1288712892
- type: Door
12888-
secondsUntilStateChange: -16724.064
12893+
secondsUntilStateChange: -16762.701
1288912894
state: Opening
1289012895
- type: DeviceLinkSource
1289112896
lastSignals:
@@ -16590,44 +16595,50 @@ entities:
1659016595
parent: 2
1659116596
- proto: BenchSofaCorpLeft
1659216597
entities:
16593-
- uid: 27927
16598+
- uid: 27926
1659416599
components:
1659516600
- type: Transform
16596-
rot: 1.5707963267948966 rad
16597-
pos: 36.5,58.5
16601+
pos: 37.5,59.5
1659816602
parent: 2
16599-
- uid: 27933
16603+
- uid: 27979
1660016604
components:
1660116605
- type: Transform
1660216606
rot: 1.5707963267948966 rad
16603-
pos: 43.5,51.5
16607+
pos: 43.5,52.5
1660416608
parent: 2
16605-
- uid: 27934
16609+
- uid: 28068
1660616610
components:
1660716611
- type: Transform
16608-
pos: 44.5,59.5
16612+
rot: -1.5707963267948966 rad
16613+
pos: 45.5,58.5
1660916614
parent: 2
1661016615
- proto: BenchSofaCorpRight
1661116616
entities:
16612-
- uid: 27926
16617+
- uid: 27927
1661316618
components:
1661416619
- type: Transform
16615-
pos: 37.5,59.5
16620+
rot: 1.5707963267948966 rad
16621+
pos: 36.5,58.5
1661616622
parent: 2
16617-
- uid: 27979
16623+
- uid: 27933
1661816624
components:
1661916625
- type: Transform
1662016626
rot: 1.5707963267948966 rad
16621-
pos: 43.5,52.5
16627+
pos: 43.5,51.5
1662216628
parent: 2
16623-
- uid: 28068
16629+
- uid: 27934
1662416630
components:
1662516631
- type: Transform
16626-
rot: -1.5707963267948966 rad
16627-
pos: 45.5,58.5
16632+
pos: 44.5,59.5
1662816633
parent: 2
1662916634
- proto: BenchSofaLeft
1663016635
entities:
16636+
- uid: 9888
16637+
components:
16638+
- type: Transform
16639+
rot: -1.5707963267948966 rad
16640+
pos: 32.5,-0.5
16641+
parent: 2
1663116642
- uid: 9891
1663216643
components:
1663316644
- type: Transform
@@ -16640,6 +16651,12 @@ entities:
1664016651
rot: 1.5707963267948966 rad
1664116652
pos: 30.5,-0.5
1664216653
parent: 2
16654+
- uid: 22068
16655+
components:
16656+
- type: Transform
16657+
rot: -1.5707963267948966 rad
16658+
pos: 21.5,-0.5
16659+
parent: 2
1664316660
- proto: BenchSofaMiddle
1664416661
entities:
1664516662
- uid: 9882
@@ -16652,20 +16669,6 @@ entities:
1665216669
- type: Transform
1665316670
pos: 31.5,0.5
1665416671
parent: 2
16655-
- proto: BenchSofaRight
16656-
entities:
16657-
- uid: 9888
16658-
components:
16659-
- type: Transform
16660-
rot: -1.5707963267948966 rad
16661-
pos: 32.5,-0.5
16662-
parent: 2
16663-
- uid: 22068
16664-
components:
16665-
- type: Transform
16666-
rot: -1.5707963267948966 rad
16667-
pos: 21.5,-0.5
16668-
parent: 2
1666916672
- proto: BikeHorn
1667016673
entities:
1667116674
- uid: 975
@@ -67620,7 +67623,7 @@ entities:
6762067623
pos: 23.5,47.5
6762167624
parent: 2
6762267625
- type: Door
67623-
secondsUntilStateChange: -26895.55
67626+
secondsUntilStateChange: -26934.188
6762467627
state: Opening
6762567628
- uid: 27810
6762667629
components:
@@ -78916,7 +78919,7 @@ entities:
7891678919
pos: -3.5,-52.5
7891778920
parent: 2
7891878921
- type: Door
78919-
secondsUntilStateChange: -54388.645
78922+
secondsUntilStateChange: -54427.28
7892078923
state: Closing
7892178924
- uid: 11888
7892278925
components:
@@ -145074,6 +145077,11 @@ entities:
145074145077
rot: 3.141592653589793 rad
145075145078
pos: 38.5,56.5
145076145079
parent: 2
145080+
- type: DeviceLinkSource
145081+
linkedPorts:
145082+
27923:
145083+
- - Pressed
145084+
- DoorBolt
145077145085
- type: Fixtures
145078145086
fixtures: {}
145079145087
- uid: 28070
@@ -145082,6 +145090,11 @@ entities:
145082145090
rot: -1.5707963267948966 rad
145083145091
pos: 46.5,51.5
145084145092
parent: 2
145093+
- type: DeviceLinkSource
145094+
linkedPorts:
145095+
27925:
145096+
- - Pressed
145097+
- DoorBolt
145085145098
- type: Fixtures
145086145099
fixtures: {}
145087145100
- uid: 28071
@@ -145090,6 +145103,11 @@ entities:
145090145103
rot: 3.141592653589793 rad
145091145104
pos: 45.5,56.5
145092145105
parent: 2
145106+
- type: DeviceLinkSource
145107+
linkedPorts:
145108+
27924:
145109+
- - Pressed
145110+
- DoorBolt
145093145111
- type: Fixtures
145094145112
fixtures: {}
145095145113
- uid: 28265

Resources/Prototypes/_Floof/Entities/Mobs/NPCs/slimes.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,23 @@
2020
- type: Item
2121
size: Huge
2222
- type: Sprite
23-
color: "#FFFFFF55"
23+
layers:
24+
- map: [ "colorMap" ]
25+
state: slime_geras
26+
- map: [ "eyesMap" ]
27+
state: slime_geras_eyes
28+
shader: unshaded
29+
- type: RandomSprite
30+
selected:
31+
colorMap:
32+
slime_geras: "#0000FF"
33+
eyesMap:
34+
slime_geras_eyes: "#0000FF"
2435
- type: MeleeWeapon
2536
attackRate: 2
2637
damage:
2738
types:
2839
Blunt: 4
29-
- type: DamageStateVisuals
30-
states:
31-
Alive:
32-
Base: blue_adult_slime
33-
Dead:
34-
Base: blue_adult_slime_dead
3540
- type: Tag # Floof
3641
tags:
3742
- FootstepSound

Resources/Textures/Mobs/Aliens/slimes.rsi/meta.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,21 @@
109109
0.1
110110
]
111111
]
112+
},
113+
{
114+
"name": "slime_geras",
115+
"delays": [
116+
[
117+
0.15,
118+
0.15,
119+
0.15,
120+
0.15
121+
]
122+
]
123+
},
124+
{
125+
"name": "slime_geras_eyes",
126+
"directions": 4
112127
}
113128
]
114129
}
584 Bytes
Loading
141 Bytes
Loading

0 commit comments

Comments
 (0)