Female bodies support (#350)

* port female parts

* boobs support!

* tiefling boobs confirmed

* Update female_shirt.png

* Update female_shirt.png
This commit is contained in:
Ed
2024-07-24 09:11:31 +03:00
committed by GitHub
parent c5a6f75def
commit bf93349b73
47 changed files with 360 additions and 69 deletions

View File

@@ -85,8 +85,19 @@ public sealed class HumanoidAppearanceSystem : SharedHumanoidAppearanceSystem
if (protoId == null)
return;
//if (sexMorph)
// protoId = HumanoidVisualLayersExtension.GetSexMorph(key, component.Sex, protoId);
//CP14 female bodies support
if (sexMorph)
protoId = HumanoidVisualLayersExtension.GetSexMorph(key, component.Sex, protoId);
{
var tempProto = HumanoidVisualLayersExtension.GetSexMorph(key, component.Sex, protoId);
if (_prototypeManager.TryIndex<HumanoidSpeciesSpriteLayer>(tempProto, out _))
{
protoId = tempProto;
}
}
//CP14 female bodies support end
var proto = _prototypeManager.Index<HumanoidSpeciesSpriteLayer>(protoId);
component.BaseLayers[key] = proto;

View File

@@ -7,12 +7,13 @@ namespace Content.Shared.Humanoid
{
public static bool HasSexMorph(HumanoidVisualLayers layer)
{
return layer switch
{
HumanoidVisualLayers.Chest => true,
HumanoidVisualLayers.Head => true,
_ => false
};
return true; //Support female body
//return layer switch
//{
// HumanoidVisualLayers.Chest => true,
// HumanoidVisualLayers.Head => true,
// _ => false
//};
}
public static string GetSexMorph(HumanoidVisualLayers layer, Sex sex, string id)

View File

@@ -5,6 +5,7 @@
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: torso
- type: entity
id: CP14HeadHuman
@@ -12,6 +13,7 @@
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: head
- type: entity
id: CP14LeftArmHuman

View File

@@ -2,3 +2,4 @@
save: false
parent: CP14BaseMobTiefling
id: CP14MobTiefling

View File

@@ -21,11 +21,50 @@
requiredLegs: 2
- type: Inventory
templateId: CP14Human
femaleDisplacements:
cloak:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_cloak
pants:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_pants
shirt:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_shirt
- type: entity
parent: CP14BaseSpeciesDummy
id: CP14MobHumanDummy
noSpawn: true
components:
- type: HumanoidAppearance
species: CP14Human
- type: HumanoidAppearance
species: CP14Human
- type: Inventory
templateId: CP14Human
femaleDisplacements:
cloak:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_cloak
gloves:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_cloak #Its ok for gloves
pants:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_pants
shirt:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_shirt

View File

@@ -19,16 +19,62 @@
- type: Body
prototype: CP14Tiefling
requiredLegs: 2
- type: Inventory
templateId: CP14Human
- type: Wagging
- type: Bloodstream
bloodReagent: CP14BloodTiefling
- type: Inventory
templateId: CP14Human
femaleDisplacements:
cloak:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_cloak
gloves:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_cloak #Its ok for gloves
pants:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_pants
shirt:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_shirt
- type: entity
parent: CP14BaseSpeciesDummy
id: CP14MobTieflingDummy
noSpawn: true
components:
- type: HumanoidAppearance
species: CP14Tiefling
- type: HumanoidAppearance
species: CP14Tiefling
- type: Inventory
templateId: CP14Human
femaleDisplacements:
cloak:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_cloak
gloves:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_cloak #Its ok for gloves
pants:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_pants
shirt:
sizeMaps:
32:
sprite: _CP14/Mobs/Species/Human/displacement.rsi
state: female_shirt

View File

@@ -46,37 +46,25 @@
id: CP14MobHumanHead
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: head_m
- type: humanoidBaseSprite
id: CP14MobHumanHeadMale
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: head_m
state: head
- type: humanoidBaseSprite
id: CP14MobHumanHeadFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: head_f
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: head
- type: humanoidBaseSprite
id: CP14MobHumanTorso
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: torso_m
- type: humanoidBaseSprite
id: CP14MobHumanTorsoMale
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: torso_m
state: torso
- type: humanoidBaseSprite
id: CP14MobHumanTorsoFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: torso_f
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: torso
- type: humanoidBaseSprite
id: CP14MobHumanLLeg
@@ -84,44 +72,92 @@
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: l_leg
- type: humanoidBaseSprite
id: CP14MobHumanLLegFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: l_leg
- type: humanoidBaseSprite
id: CP14MobHumanLArm
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: l_arm
- type: humanoidBaseSprite
id: CP14MobHumanLArmFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: l_arm
- type: humanoidBaseSprite
id: CP14MobHumanLHand
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: l_hand
- type: humanoidBaseSprite
id: CP14MobHumanLHandFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: l_hand
- type: humanoidBaseSprite
id: CP14MobHumanLFoot
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: l_foot
- type: humanoidBaseSprite
id: CP14MobHumanLFootFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: l_foot
- type: humanoidBaseSprite
id: CP14MobHumanRLeg
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: r_leg
- type: humanoidBaseSprite
id: CP14MobHumanRLegFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: r_leg
- type: humanoidBaseSprite
id: CP14MobHumanRArm
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: r_arm
- type: humanoidBaseSprite
id: CP14MobHumanRArmFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: r_arm
- type: humanoidBaseSprite
id: CP14MobHumanRHand
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: r_hand
- type: humanoidBaseSprite
id: CP14MobHumanRHandFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: r_hand
- type: humanoidBaseSprite
id: CP14MobHumanRFoot
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: r_foot
- type: humanoidBaseSprite
id: CP14MobHumanRFootFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/female_parts.rsi
state: r_foot

View File

@@ -84,37 +84,25 @@
id: CP14MobTieflingHead
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: head_m
- type: humanoidBaseSprite
id: CP14MobTieflingHeadMale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: head_m
state: head
- type: humanoidBaseSprite
id: CP14MobTieflingHeadFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: head_f
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: head
- type: humanoidBaseSprite
id: CP14MobTieflingTorso
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: torso_m
- type: humanoidBaseSprite
id: CP14MobTieflingTorsoMale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: torso_m
state: torso
- type: humanoidBaseSprite
id: CP14MobTieflingTorsoFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: torso_f
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: torso
- type: humanoidBaseSprite
id: CP14MobTieflingLLeg
@@ -122,44 +110,93 @@
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: l_leg
- type: humanoidBaseSprite
id: CP14MobTieflingLLegFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: l_leg
- type: humanoidBaseSprite
id: CP14MobTieflingLArm
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: l_arm
- type: humanoidBaseSprite
id: CP14MobTieflingLArmFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: l_arm
- type: humanoidBaseSprite
id: CP14MobTieflingLHand
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: l_hand
- type: humanoidBaseSprite
id: CP14MobTieflingLHandFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: l_hand
- type: humanoidBaseSprite
id: CP14MobTieflingLFoot
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: l_foot
- type: humanoidBaseSprite
id: CP14MobTieflingLFootFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: l_foot
- type: humanoidBaseSprite
id: CP14MobTieflingRLeg
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: r_leg
- type: humanoidBaseSprite
id: CP14MobTieflingRLegFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: r_leg
- type: humanoidBaseSprite
id: CP14MobTieflingRArm
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: r_arm
- type: humanoidBaseSprite
id: CP14MobTieflingRArmFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: r_arm
- type: humanoidBaseSprite
id: CP14MobTieflingRHand
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: r_hand
- type: humanoidBaseSprite
id: CP14MobTieflingRHandFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: r_hand
- type: humanoidBaseSprite
id: CP14MobTieflingRFoot
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: r_foot
- type: humanoidBaseSprite
id: CP14MobTieflingRFootFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/female_parts.rsi
state: r_foot

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "All rights reserved for the CrystallPunk14 project only",
"copyright": "Created by TheShuEd (Github) for CrystallPunk14",
"size": {
"x": 32,
"y": 32
},
"load": {
"srgb": false
},
"states": [
{
"name": "female_cloak",
"directions": 4
},
{
"name": "female_pants",
"directions": 4
},
{
"name": "female_shirt",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 428 B

View File

@@ -0,0 +1,54 @@
{
"version": 1,
"license": "All rights reserved for the CrystallPunk14 project only",
"copyright": "Created by TheShuEd (Github) for CrystallPunk14",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "full"
},
{
"name": "head",
"directions": 4
},
{
"name": "l_arm",
"directions": 4
},
{
"name": "l_foot",
"directions": 4
},
{
"name": "l_hand",
"directions": 4
},
{
"name": "l_leg",
"directions": 4
},
{
"name": "r_arm",
"directions": 4
},
{
"name": "r_foot",
"directions": 4
},
{
"name": "r_hand",
"directions": 4
},
{
"name": "r_leg",
"directions": 4
},
{
"name": "torso",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 854 B

View File

Before

Width:  |  Height:  |  Size: 508 B

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 511 B

View File

@@ -11,11 +11,7 @@
"name": "full"
},
{
"name": "head_f",
"directions": 4
},
{
"name": "head_m",
"name": "head",
"directions": 4
},
{
@@ -51,11 +47,7 @@
"directions": 4
},
{
"name": "torso_f",
"directions": 4
},
{
"name": "torso_m",
"name": "torso",
"directions": 4
}
]

View File

Before

Width:  |  Height:  |  Size: 660 B

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 769 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 428 B

View File

@@ -0,0 +1,54 @@
{
"version": 1,
"license": "All rights reserved for the CrystallPunk14 project only",
"copyright": "Created by TheShuEd (Github) for CrystallPunk14",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "full"
},
{
"name": "head",
"directions": 4
},
{
"name": "l_arm",
"directions": 4
},
{
"name": "l_foot",
"directions": 4
},
{
"name": "l_hand",
"directions": 4
},
{
"name": "l_leg",
"directions": 4
},
{
"name": "r_arm",
"directions": 4
},
{
"name": "r_foot",
"directions": 4
},
{
"name": "r_hand",
"directions": 4
},
{
"name": "r_leg",
"directions": 4
},
{
"name": "torso",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 854 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 639 B

After

Width:  |  Height:  |  Size: 721 B

View File

Before

Width:  |  Height:  |  Size: 508 B

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 511 B

View File

@@ -11,11 +11,7 @@
"name": "full"
},
{
"name": "head_f",
"directions": 4
},
{
"name": "head_m",
"name": "head",
"directions": 4
},
{
@@ -51,11 +47,7 @@
"directions": 4
},
{
"name": "torso_f",
"directions": 4
},
{
"name": "torso_m",
"name": "torso",
"directions": 4
}
]

View File

Before

Width:  |  Height:  |  Size: 660 B

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 769 B