Initial mockup of the Reptilian species (#6973)

Co-authored-by: ZeroDayDaemon <60460608+ZeroDayDaemon@users.noreply.github.com>
This commit is contained in:
metalgearsloth
2022-03-10 15:05:07 +11:00
committed by GitHub
parent 336318d452
commit 92ff81b6c9
43 changed files with 424 additions and 5 deletions

View File

@@ -25,6 +25,10 @@ namespace Content.Client.CharacterAppearance.Systems
private readonly HumanoidVisualLayers[] _bodyPartLayers = {
HumanoidVisualLayers.Chest,
HumanoidVisualLayers.Head,
HumanoidVisualLayers.Snout,
HumanoidVisualLayers.Frills,
HumanoidVisualLayers.TailBehind,
HumanoidVisualLayers.TailFront,
HumanoidVisualLayers.Eyes,
HumanoidVisualLayers.RArm,
HumanoidVisualLayers.LArm,
@@ -99,7 +103,6 @@ namespace Content.Client.CharacterAppearance.Systems
}
sprite.LayerSetColor(HumanoidVisualLayers.Eyes, component.Appearance.EyeColor);
sprite.LayerSetState(HumanoidVisualLayers.Chest, component.Sex == Sex.Male ? "torso_m" : "torso_f");
sprite.LayerSetState(HumanoidVisualLayers.Head, component.Sex == Sex.Male ? "head_m" : "head_f");

View File

@@ -1,4 +1,4 @@
using System;
using System;
using Content.Shared.Body.Components;
using Robust.Shared.Serialization;
@@ -16,6 +16,7 @@ namespace Content.Shared.Body.Part
Arm,
Hand,
Leg,
Foot
Foot,
Tail
}
}

View File

@@ -5,10 +5,14 @@ namespace Content.Shared.CharacterAppearance
[Serializable, NetSerializable]
public enum HumanoidVisualLayers : byte
{
TailBehind,
Hair,
FacialHair,
Chest,
Head,
Snout,
Frills,
Horns,
Eyes,
RArm,
LArm,
@@ -18,6 +22,7 @@ namespace Content.Shared.CharacterAppearance
LLeg,
RFoot,
LFoot,
TailFront,
Handcuffs,
StencilMask,
Fire,

View File

@@ -16,8 +16,15 @@ namespace Content.Shared.CharacterAppearance
case BodyPartType.Torso:
yield return HumanoidVisualLayers.Chest;
break;
case BodyPartType.Tail:
yield return HumanoidVisualLayers.TailFront;
yield return HumanoidVisualLayers.TailBehind;
break;
case BodyPartType.Head:
yield return HumanoidVisualLayers.Head;
yield return HumanoidVisualLayers.Snout;
yield return HumanoidVisualLayers.Frills;
yield return HumanoidVisualLayers.Horns;
yield return HumanoidVisualLayers.Eyes;
yield return HumanoidVisualLayers.FacialHair;
yield return HumanoidVisualLayers.Hair;

View File

@@ -1,5 +1,6 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.ViewVariables;
namespace Content.Shared.Species;
@@ -28,13 +29,13 @@ public sealed class SpeciesPrototype : IPrototype
/// <summary>
/// Prototype used by the species as a body.
/// </summary>
[DataField("prototype", required: true)]
[DataField("prototype", required: true, customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))]
public string Prototype { get; } = default!;
/// <summary>
/// Prototype used by the species for the dress-up doll in various menus.
/// </summary>
[DataField("dollPrototype", required: true)]
[DataField("dollPrototype", required: true, customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))]
public string DollPrototype { get; } = default!;
/// <summary>

View File

@@ -0,0 +1,23 @@
- type: entity
save: false
name: Urist McHands The Lizardperson
parent: MobReptilianBase
id: MobReptilian
description: A miserable pile of scales.
components:
- type: Mind
showExamineInfo: true
- type: Input
context: "human"
- type: PlayerMobMover
- type: PlayerInputMover
- type: Alerts
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: AiFactionTag
factions:
- NanoTrasen
#Weh

View File

@@ -0,0 +1,218 @@
- type: entity
save: false
name: Urist McHands The Lizardperson
parent: MobHumanBase
id: MobReptilianBase
abstract: true
description: A miserable pile of scales.
components:
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: full
- type: Sprite
netsync: false
noRot: true
drawdepth: Mobs
scale: 1, 1
layers:
- map: [ "enum.HumanoidVisualLayers.TailBehind" ]
color: "#34a223"
state: tail_smooth_behind
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "enum.HumanoidVisualLayers.Chest" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: torso_m
- map: [ "enum.HumanoidVisualLayers.Head" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: head_m
- map: [ "enum.HumanoidVisualLayers.Snout" ]
color: "#34a223"
state: snout_round
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "enum.HumanoidVisualLayers.Eyes" ]
color: "#008800"
sprite: Mobs/Customization/eyes.rsi
state: eyes
- map: [ "enum.HumanoidVisualLayers.RArm" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: r_arm
- map: [ "enum.HumanoidVisualLayers.LArm" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_arm
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: r_leg
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_leg
- shader: StencilClear
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_leg
- shader: StencilMask
map: [ "enum.HumanoidVisualLayers.StencilMask" ]
sprite: Mobs/Customization/masking_helpers.rsi
state: female_full
visible: false
- map: [ "jumpsuit" ]
shader: StencilDraw
- map: [ "enum.HumanoidVisualLayers.LHand" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_hand
- map: [ "enum.HumanoidVisualLayers.RHand" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: r_hand
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_foot
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: r_foot
- map: [ "enum.HumanoidVisualLayers.Handcuffs" ]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: [ "id" ]
- map: [ "gloves" ]
- map: [ "shoes" ]
- map: [ "ears" ]
- map: [ "outerClothing" ]
- map: [ "eyes" ]
- map: [ "enum.HumanoidVisualLayers.TailFront" ]
color: "#34a223"
state: tail_smooth_front
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "belt" ]
- map: [ "neck" ]
- map: [ "back" ]
- map: [ "enum.HumanoidVisualLayers.Frills" ]
state: frills_simple
color: "#34a223"
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "enum.HumanoidVisualLayers.Horns" ]
state: horns_simple
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "mask" ]
- map: [ "head" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- type: Body
template: HumanoidTemplate
preset: HumanPreset
- type: entity
save: false
name: Urist McHands
parent: MobHumanDummy
id: MobReptilianDummy
abstract: true
description: A dummy reptilian meant to be used in character setup.
components:
- type: Sprite
netsync: false
noRot: true
drawdepth: Mobs
scale: 1, 1
layers:
- map: [ "enum.HumanoidVisualLayers.TailBehind" ]
color: "#34a223"
state: tail_smooth_behind
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "enum.HumanoidVisualLayers.Chest" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: torso_m
- map: [ "enum.HumanoidVisualLayers.Head" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: head_m
- map: [ "enum.HumanoidVisualLayers.Snout" ]
color: "#34a223"
state: snout_round
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "enum.HumanoidVisualLayers.Eyes" ]
color: "#008800"
sprite: Mobs/Customization/eyes.rsi
state: eyes
- map: [ "enum.HumanoidVisualLayers.RArm" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: r_arm
- map: [ "enum.HumanoidVisualLayers.LArm" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_arm
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: r_leg
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_leg
- shader: StencilClear
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_leg
- shader: StencilMask
map: [ "enum.HumanoidVisualLayers.StencilMask" ]
sprite: Mobs/Customization/masking_helpers.rsi
state: female_full
visible: false
- map: [ "jumpsuit" ]
shader: StencilDraw
- map: [ "enum.HumanoidVisualLayers.LHand" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_hand
- map: [ "enum.HumanoidVisualLayers.RHand" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: r_hand
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: l_foot
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
color: "#34a223"
sprite: Mobs/Species/Reptilian/parts.rsi
state: r_foot
- map: [ "enum.HumanoidVisualLayers.Handcuffs" ]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: [ "id" ]
- map: [ "gloves" ]
- map: [ "shoes" ]
- map: [ "ears" ]
- map: [ "outerClothing" ]
- map: [ "eyes" ]
- map: [ "enum.HumanoidVisualLayers.TailFront" ]
color: "#34a223"
state: tail_smooth_front
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "belt" ]
- map: [ "neck" ]
- map: [ "back" ]
- map: [ "enum.HumanoidVisualLayers.Frills" ]
state: frills_simple
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "enum.HumanoidVisualLayers.Horns" ]
state: horns_simple
sprite: Mobs/Customization/reptilian_parts.rsi
- map: [ "mask" ]
- map: [ "head" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
#Weh

View File

@@ -14,6 +14,14 @@
dollPrototype: MobDwarfDummy
skinColoration: HumanToned
- type: species
id: Reptilian
name: Reptilian
roundStart: false
prototype: MobReptilian
dollPrototype: MobReptilianDummy
skinColoration: Hues
- type: species
id: SlimePerson
name: Slime Person

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

View File

@@ -0,0 +1,91 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/tgstation/tgstation/blob/165be097d54c19f2e3de9fd6d95f545bcf356768/icons/mob/mutant_bodyparts.dmi",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "tail_smooth_front",
"directions": 4
},
{
"name": "tail_spikes_front",
"directions": 4
},
{
"name": "tail_dtiger_front",
"directions": 4
},
{
"name": "tail_ltiger_front",
"directions": 4
},
{
"name": "tail_smooth_behind",
"directions": 4
},
{
"name": "tail_spikes_behind",
"directions": 4
},
{
"name": "tail_dtiger_behind",
"directions": 4
},
{
"name": "tail_ltiger_behind",
"directions": 4
},
{
"name": "snout_round",
"directions": 4
},
{
"name": "snout_roundlight",
"directions": 4
},
{
"name": "snout_sharp",
"directions": 4
},
{
"name": "snout_sharplight",
"directions": 4
},
{
"name": "horns_simple",
"directions": 4
},
{
"name": "horns_short",
"directions": 4
},
{
"name": "horns_curled",
"directions": 4
},
{
"name": "horns_ram",
"directions": 4
},
{
"name": "horns_angler",
"directions": 4
},
{
"name": "frills_simple",
"directions": 4
},
{
"name": "frills_short",
"directions": 4
},
{
"name": "frills_aquatic",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,62 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/tgstation/tgstation/blob/8024397cc81c5f47f74cf4279e35728487d0a1a7/icons/mob/human_parts_greyscale.dmi",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "full"
},
{
"name": "head_f",
"directions": 4
},
{
"name": "head_m",
"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_f",
"directions": 4
},
{
"name": "torso_m",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB