Initial mockup of the Reptilian species (#6973)
Co-authored-by: ZeroDayDaemon <60460608+ZeroDayDaemon@users.noreply.github.com>
@@ -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");
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
23
Resources/Prototypes/Entities/Mobs/Player/reptilian.yml
Normal 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
|
||||
218
Resources/Prototypes/Entities/Mobs/Species/reptilian.yml
Normal 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
|
||||
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 325 B |
|
After Width: | Height: | Size: 310 B |
|
After Width: | Height: | Size: 304 B |
|
After Width: | Height: | Size: 485 B |
|
After Width: | Height: | Size: 276 B |
|
After Width: | Height: | Size: 304 B |
|
After Width: | Height: | Size: 273 B |
|
After Width: | Height: | Size: 272 B |
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/full.png
Normal file
|
After Width: | Height: | Size: 486 B |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/head_f.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/head_m.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_arm.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_foot.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_hand.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_leg.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_arm.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_foot.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_hand.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_leg.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/torso_f.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Species/Reptilian/parts.rsi/torso_m.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |