Goblin species (#295)
* Create CP14HandDisplacementMapComponent.cs * idk if it works, we need goblin first * some clean up * add goblin species sprites * basic goblic species prototype * hairs, ears * typo * hand displacement maps * shoes displacement * shirt displacement * head displacement. Add support different size maps * +dummy * eyes displacement * pants displacement * gloves displacements * cloak and mask displacement (final) * belt displacement! * add nose customization * +2 ears customization
@@ -331,7 +331,19 @@ public sealed class ClientClothingSystem : ClothingSystem
|
||||
continue;
|
||||
}
|
||||
|
||||
var displacementLayer = _serialization.CreateCopy(displacementData.Layer, notNullableOverride: true);
|
||||
//CP14 48*48 displacement maps support
|
||||
var displacementDataLayer = displacementData.Layer;
|
||||
var actualRSI = sprite.LayerGetActualRSI(index);
|
||||
if (actualRSI != null)
|
||||
{
|
||||
var layerSize = actualRSI.Size;
|
||||
if (layerSize.X == 48 && displacementData.Layer48 != null)
|
||||
displacementDataLayer = displacementData.Layer48;
|
||||
}
|
||||
|
||||
var displacementLayer = _serialization.CreateCopy(displacementDataLayer, notNullableOverride: true);
|
||||
//CP14 48*48 displacement maps support end
|
||||
|
||||
displacementLayer.CopyToShaderParameters!.LayerKey = key;
|
||||
|
||||
// Add before main layer for this item.
|
||||
|
||||
@@ -15,6 +15,7 @@ using Robust.Client.UserInterface;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Player;
|
||||
using Robust.Shared.Serialization.Manager;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Content.Client.Hands.Systems
|
||||
@@ -28,6 +29,7 @@ namespace Content.Client.Hands.Systems
|
||||
[Dependency] private readonly SharedContainerSystem _containerSystem = default!;
|
||||
[Dependency] private readonly StrippableSystem _stripSys = default!;
|
||||
[Dependency] private readonly ExamineSystem _examine = default!;
|
||||
[Dependency] private readonly ISerializationManager _serialization = default!; //CP14
|
||||
|
||||
public event Action<string, HandLocation>? OnPlayerAddHand;
|
||||
public event Action<string>? OnPlayerRemoveHand;
|
||||
@@ -322,6 +324,8 @@ namespace Content.Client.Hands.Systems
|
||||
return;
|
||||
}
|
||||
|
||||
var displacementData = handComp.Displacements.GetValueOrDefault("Hands"); //CP14 hands displacements
|
||||
|
||||
// add the new layers
|
||||
foreach (var (key, layerData) in ev.Layers)
|
||||
{
|
||||
@@ -345,6 +349,39 @@ namespace Content.Client.Hands.Systems
|
||||
}
|
||||
|
||||
sprite.LayerSetData(index, layerData);
|
||||
|
||||
//CP14 Hands displacement maps
|
||||
if (displacementData != null)
|
||||
{
|
||||
if (displacementData.ShaderOverride != null)
|
||||
sprite.LayerSetShader(index, displacementData.ShaderOverride);
|
||||
|
||||
var displacementKey = $"{key}-displacement";
|
||||
if (!revealedLayers.Add(displacementKey))
|
||||
{
|
||||
Log.Warning($"Duplicate key for inhand layers DISPLACEMENT: {displacementKey}.");
|
||||
continue;
|
||||
}
|
||||
|
||||
var displacementDataLayer = displacementData.Layer;
|
||||
var actualRSI = sprite.LayerGetActualRSI(index);
|
||||
if (actualRSI != null)
|
||||
{
|
||||
var layerSize = actualRSI.Size;
|
||||
if (layerSize.X == 48 && displacementData.Layer48 != null)
|
||||
displacementDataLayer = displacementData.Layer48;
|
||||
}
|
||||
|
||||
var displacementLayer = _serialization.CreateCopy(displacementDataLayer, notNullableOverride: true);
|
||||
displacementLayer.CopyToShaderParameters!.LayerKey = key;
|
||||
|
||||
// Add before main layer for this item.
|
||||
sprite.AddLayer(displacementLayer, index);
|
||||
sprite.LayerMapSet(displacementKey, index);
|
||||
|
||||
revealedLayers.Add(displacementKey);
|
||||
}
|
||||
//CP14 Hands displacement maps - end
|
||||
}
|
||||
|
||||
RaiseLocalEvent(held, new HeldVisualsUpdatedEvent(uid, revealedLayers), true);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Content.Shared.Hands.EntitySystems;
|
||||
using Content.Shared.Inventory;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Serialization;
|
||||
@@ -76,6 +77,12 @@ public sealed partial class HandsComponent : Component
|
||||
/// </summary>
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
public TimeSpan ThrowCooldown = TimeSpan.FromSeconds(0.5f);
|
||||
|
||||
/// <summary>
|
||||
/// CP14 Hands displacements
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public Dictionary<string, InventoryComponent.SlotDisplacementData> Displacements = [];
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
|
||||
@@ -24,6 +24,9 @@ public sealed partial class InventoryComponent : Component
|
||||
[DataField(required: true)]
|
||||
public PrototypeLayerData Layer = default!;
|
||||
|
||||
[DataField]
|
||||
public PrototypeLayerData? Layer48; //CP14 48*48 displacement support
|
||||
|
||||
[DataField]
|
||||
public string? ShaderOverride = "DisplacedStencilDraw";
|
||||
}
|
||||
|
||||
3
Resources/Locale/en-US/_CP14/markings/goblin-ears.ftl
Normal file
@@ -0,0 +1,3 @@
|
||||
marking-CP14GoblinEars = Big ear
|
||||
marking-CP14GoblinEars2 = Lop-eared
|
||||
marking-CP14GoblinEars3 = Rounded
|
||||
3
Resources/Locale/en-US/_CP14/markings/goblin-hair.ftl
Normal file
@@ -0,0 +1,3 @@
|
||||
marking-CP14GoblinHairAntenna = Unruly Strands
|
||||
marking-CP14GoblinHairBedHead2 = Bedhead 2
|
||||
marking-CP14GoblinHairDoubleBun = Double Bun
|
||||
3
Resources/Locale/en-US/_CP14/markings/goblin-nose.ftl
Normal file
@@ -0,0 +1,3 @@
|
||||
marking-CP14GoblinNose = Large nostrils
|
||||
marking-CP14GoblinNose2 = Hook
|
||||
marking-CP14GoblinNose3 = Proud dopey
|
||||
@@ -477,4 +477,60 @@ cp14-species-name-elf-last-14 = Shastrim
|
||||
cp14-species-name-elf-last-15 = Frostrister
|
||||
cp14-species-name-elf-last-16 = Felestra
|
||||
cp14-species-name-elf-last-17 = Hustiar
|
||||
cp14-species-name-elf-last-18 = Galfre
|
||||
cp14-species-name-elf-last-18 = Galfre
|
||||
|
||||
# GOBLIN
|
||||
|
||||
cp14-species-name-goblin-male-first-1 = Aruguet
|
||||
cp14-species-name-goblin-male-first-2 = Vanii
|
||||
cp14-species-name-goblin-male-first-3 = Vanon
|
||||
cp14-species-name-goblin-male-first-4 = Vuudaraj
|
||||
cp14-species-name-goblin-male-first-5 = Goodruun
|
||||
cp14-species-name-goblin-male-first-6 = Daavn
|
||||
cp14-species-name-goblin-male-first-7 = Dabrak
|
||||
cp14-species-name-goblin-male-first-8 = Daghiyi
|
||||
cp14-species-name-goblin-male-first-9 = Jazaal
|
||||
cp14-species-name-goblin-male-first-10 = Dravduul
|
||||
cp14-species-name-goblin-male-first-11 = Duulan
|
||||
cp14-species-name-goblin-male-first-12 = Kallaad
|
||||
cp14-species-name-goblin-male-first-13 = Krakuul
|
||||
cp14-species-name-goblin-male-first-14 = Crootad
|
||||
cp14-species-name-goblin-male-first-15 = Mazaan
|
||||
cp14-species-name-goblin-male-first-16 = Munta
|
||||
cp14-species-name-goblin-male-first-17 = Nasaar
|
||||
cp14-species-name-goblin-male-first-18 = Rakari
|
||||
cp14-species-name-goblin-male-first-19 = Rexyite
|
||||
cp14-species-name-goblin-male-first-20 = Tarik
|
||||
cp14-species-name-goblin-male-first-21 = Taruuzh
|
||||
cp14-species-name-goblin-male-first-22 = Tuun
|
||||
cp14-species-name-goblin-male-first-23 = Fenik
|
||||
cp14-species-name-goblin-male-first-24 = Chetin
|
||||
cp14-species-name-goblin-male-first-25 = Haluun
|
||||
cp14-species-name-goblin-male-first-26 = Haruuk
|
||||
|
||||
cp14-species-name-goblin-female-first-1 = Aaspar
|
||||
cp14-species-name-goblin-female-first-2 = Aguus
|
||||
cp14-species-name-goblin-female-first-3 = Belaluur
|
||||
cp14-species-name-goblin-female-first-4 = Vali
|
||||
cp14-species-name-goblin-female-first-5 = Vuun
|
||||
cp14-species-name-goblin-female-first-6 = Grail
|
||||
cp14-species-name-goblin-female-first-7 = Gaduul
|
||||
cp14-species-name-goblin-female-first-8 = Denaal
|
||||
cp14-species-name-goblin-female-first-9 = Jaluum
|
||||
cp14-species-name-goblin-female-first-10 = Draraar
|
||||
cp14-species-name-goblin-female-first-11 = Duusha
|
||||
cp14-species-name-goblin-female-first-12 = Kelaal
|
||||
cp14-species-name-goblin-female-first-13 = Mulaan
|
||||
cp14-species-name-goblin-female-first-14 = Nasri
|
||||
cp14-species-name-goblin-female-first-15 = Razu
|
||||
cp14-species-name-goblin-female-first-16 = Ralin
|
||||
cp14-species-name-goblin-female-first-17 = Rexin
|
||||
cp14-species-name-goblin-female-first-18 = Senen
|
||||
cp14-species-name-goblin-female-first-19 = Tajin
|
||||
cp14-species-name-goblin-female-first-20 = Tuner
|
||||
cp14-species-name-goblin-female-first-21 = Hashak
|
||||
cp14-species-name-goblin-female-first-22 = Shadruor
|
||||
cp14-species-name-goblin-female-first-23 = Ehaas
|
||||
cp14-species-name-goblin-female-first-24 = Eluun
|
||||
|
||||
cp14-species-name-goblin-last-1 = ""
|
||||
@@ -1,4 +1,5 @@
|
||||
cp14-species-name-human = Human
|
||||
cp14-species-name-tiefling = Tiefling
|
||||
cp14-species-name-dwarf = Dwarf
|
||||
cp14-species-name-elf = Elf
|
||||
cp14-species-name-elf = Elf
|
||||
cp14-species-name-goblin = Goblin
|
||||
3
Resources/Locale/ru-RU/_CP14/markings/goblin-ears.ftl
Normal file
@@ -0,0 +1,3 @@
|
||||
marking-CP14GoblinEars = Большой ух
|
||||
marking-CP14GoblinEars2 = Вислоухий
|
||||
marking-CP14GoblinEars3 = Округления
|
||||
3
Resources/Locale/ru-RU/_CP14/markings/goblin-hair.ftl
Normal file
@@ -0,0 +1,3 @@
|
||||
marking-CP14GoblinHairAntenna = Непослушные пряди
|
||||
marking-CP14GoblinHairBedHead2 = С бодуна 2
|
||||
marking-CP14GoblinHairDoubleBun = Два пунпона
|
||||
3
Resources/Locale/ru-RU/_CP14/markings/goblin-nose.ftl
Normal file
@@ -0,0 +1,3 @@
|
||||
marking-CP14GoblinNose = Большие ноздри
|
||||
marking-CP14GoblinNose2 = Крючок
|
||||
marking-CP14GoblinNose3 = Гордый торчок
|
||||
@@ -479,4 +479,60 @@ cp14-species-name-elf-last-14 = Шастрим
|
||||
cp14-species-name-elf-last-15 = Фростристер
|
||||
cp14-species-name-elf-last-16 = Фелестра
|
||||
cp14-species-name-elf-last-17 = Хустиар
|
||||
cp14-species-name-elf-last-18 = Гальфре
|
||||
cp14-species-name-elf-last-18 = Гальфре
|
||||
|
||||
# GOBLIN
|
||||
|
||||
cp14-species-name-goblin-male-first-1 = Аругет
|
||||
cp14-species-name-goblin-male-first-2 = Вании
|
||||
cp14-species-name-goblin-male-first-3 = Ванон
|
||||
cp14-species-name-goblin-male-first-4 = Вуударадж
|
||||
cp14-species-name-goblin-male-first-5 = Гудруун
|
||||
cp14-species-name-goblin-male-first-6 = Даавн
|
||||
cp14-species-name-goblin-male-first-7 = Дабрак
|
||||
cp14-species-name-goblin-male-first-8 = Дагии
|
||||
cp14-species-name-goblin-male-first-9 = Джазаал
|
||||
cp14-species-name-goblin-male-first-10 = Древдуул
|
||||
cp14-species-name-goblin-male-first-11 = Дуулан
|
||||
cp14-species-name-goblin-male-first-12 = Каллаад
|
||||
cp14-species-name-goblin-male-first-13 = Кракуул
|
||||
cp14-species-name-goblin-male-first-14 = Кроотад
|
||||
cp14-species-name-goblin-male-first-15 = Мазаан
|
||||
cp14-species-name-goblin-male-first-16 = Мунта
|
||||
cp14-species-name-goblin-male-first-17 = Насаар
|
||||
cp14-species-name-goblin-male-first-18 = Ракари
|
||||
cp14-species-name-goblin-male-first-19 = Рексиит
|
||||
cp14-species-name-goblin-male-first-20 = Тарик
|
||||
cp14-species-name-goblin-male-first-21 = Тарууж
|
||||
cp14-species-name-goblin-male-first-22 = Туун
|
||||
cp14-species-name-goblin-male-first-23 = Феник
|
||||
cp14-species-name-goblin-male-first-24 = Четин
|
||||
cp14-species-name-goblin-male-first-25 = Халуун
|
||||
cp14-species-name-goblin-male-first-26 = Харуук
|
||||
|
||||
cp14-species-name-goblin-female-first-1 = Ааспар
|
||||
cp14-species-name-goblin-female-first-2 = Агуус
|
||||
cp14-species-name-goblin-female-first-3 = Белалуур
|
||||
cp14-species-name-goblin-female-first-4 = Вали
|
||||
cp14-species-name-goblin-female-first-5 = Вуун
|
||||
cp14-species-name-goblin-female-first-6 = Грааль
|
||||
cp14-species-name-goblin-female-first-7 = Гадуул
|
||||
cp14-species-name-goblin-female-first-8 = Денаал
|
||||
cp14-species-name-goblin-female-first-9 = Джелуум
|
||||
cp14-species-name-goblin-female-first-10 = Драраар
|
||||
cp14-species-name-goblin-female-first-11 = Дууша
|
||||
cp14-species-name-goblin-female-first-12 = Келаал
|
||||
cp14-species-name-goblin-female-first-13 = Мулаан
|
||||
cp14-species-name-goblin-female-first-14 = Насри
|
||||
cp14-species-name-goblin-female-first-15 = Разу
|
||||
cp14-species-name-goblin-female-first-16 = Ралин
|
||||
cp14-species-name-goblin-female-first-17 = Рексин
|
||||
cp14-species-name-goblin-female-first-18 = Сенен
|
||||
cp14-species-name-goblin-female-first-19 = Таджин
|
||||
cp14-species-name-goblin-female-first-20 = Тюнер
|
||||
cp14-species-name-goblin-female-first-21 = Хашак
|
||||
cp14-species-name-goblin-female-first-22 = Шедруор
|
||||
cp14-species-name-goblin-female-first-23 = Эхаас
|
||||
cp14-species-name-goblin-female-first-24 = Элуун
|
||||
|
||||
cp14-species-name-goblin-last-1 = ""
|
||||
@@ -1,4 +1,5 @@
|
||||
cp14-species-name-human = Человек
|
||||
cp14-species-name-tiefling = Тифлинг
|
||||
cp14-species-name-dwarf = Дварф
|
||||
cp14-species-name-elf = Эльф
|
||||
cp14-species-name-elf = Эльф
|
||||
cp14-species-name-goblin = Гоблин
|
||||
@@ -77,4 +77,24 @@
|
||||
id: CP14_Names_Elf_Last
|
||||
values:
|
||||
prefix: cp14-species-name-elf-last-
|
||||
count: 18
|
||||
count: 18
|
||||
|
||||
# Goblin
|
||||
|
||||
- type: localizedDataset
|
||||
id: CP14_Names_Goblin_Male_First
|
||||
values:
|
||||
prefix: cp14-species-name-goblin-male-first-
|
||||
count: 26
|
||||
|
||||
- type: localizedDataset
|
||||
id: CP14_Names_Goblin_Female_First
|
||||
values:
|
||||
prefix: cp14-species-name-goblin-female-first-
|
||||
count: 24
|
||||
|
||||
- type: localizedDataset
|
||||
id: CP14_Names_Goblin_Last
|
||||
values:
|
||||
prefix: cp14-species-name-goblin-last-
|
||||
count: 1
|
||||
@@ -0,0 +1,32 @@
|
||||
- type: marking
|
||||
id: CP14GoblinEars
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
followSkinColor: true
|
||||
forcedColoring: true
|
||||
speciesRestriction: [ CP14Goblin ]
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/goblin_ears.rsi
|
||||
state: ears1
|
||||
|
||||
- type: marking
|
||||
id: CP14GoblinEars2
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
followSkinColor: true
|
||||
forcedColoring: true
|
||||
speciesRestriction: [ CP14Goblin ]
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/goblin_ears.rsi
|
||||
state: ears2
|
||||
|
||||
- type: marking
|
||||
id: CP14GoblinEars3
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
followSkinColor: true
|
||||
forcedColoring: true
|
||||
speciesRestriction: [ CP14Goblin ]
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/goblin_ears.rsi
|
||||
state: ears3
|
||||
@@ -0,0 +1,26 @@
|
||||
- type: marking
|
||||
id: CP14GoblinHairAntenna
|
||||
bodyPart: Hair
|
||||
markingCategory: Hair
|
||||
speciesRestriction: [ CP14Goblin ]
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/goblin_hair.rsi
|
||||
state: antenna
|
||||
|
||||
- type: marking
|
||||
id: CP14GoblinHairBedHead2
|
||||
bodyPart: Hair
|
||||
markingCategory: Hair
|
||||
speciesRestriction: [ CP14Goblin ]
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/goblin_hair.rsi
|
||||
state: bedheadv2
|
||||
|
||||
- type: marking
|
||||
id: CP14GoblinHairDoubleBun
|
||||
bodyPart: Hair
|
||||
markingCategory: Hair
|
||||
speciesRestriction: [ CP14Goblin ]
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/goblin_hair.rsi
|
||||
state: doublebun
|
||||
@@ -0,0 +1,32 @@
|
||||
- type: marking
|
||||
id: CP14GoblinNose
|
||||
bodyPart: Snout
|
||||
markingCategory: Snout
|
||||
followSkinColor: true
|
||||
forcedColoring: true
|
||||
speciesRestriction: [ CP14Goblin ]
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/goblin_nose.rsi
|
||||
state: nose1
|
||||
|
||||
- type: marking
|
||||
id: CP14GoblinNose2
|
||||
bodyPart: Snout
|
||||
markingCategory: Snout
|
||||
followSkinColor: true
|
||||
forcedColoring: true
|
||||
speciesRestriction: [ CP14Goblin ]
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/goblin_nose.rsi
|
||||
state: nose2
|
||||
|
||||
- type: marking
|
||||
id: CP14GoblinNose3
|
||||
bodyPart: Snout
|
||||
markingCategory: Snout
|
||||
followSkinColor: true
|
||||
forcedColoring: true
|
||||
speciesRestriction: [ CP14Goblin ]
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/goblin_nose.rsi
|
||||
state: nose3
|
||||
@@ -12,6 +12,7 @@
|
||||
id: CP14TieflingHorns2
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
speciesRestriction: [ CP14Tiefling ]
|
||||
followSkinColor: true
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/tiefling_horns.rsi
|
||||
@@ -21,6 +22,7 @@
|
||||
id: CP14TieflingHorns3
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
speciesRestriction: [ CP14Tiefling ]
|
||||
followSkinColor: true
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/tiefling_horns.rsi
|
||||
@@ -30,6 +32,7 @@
|
||||
id: CP14TieflingHorns3Broken
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
speciesRestriction: [ CP14Tiefling ]
|
||||
followSkinColor: true
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/tiefling_horns.rsi
|
||||
@@ -39,6 +42,7 @@
|
||||
id: CP14TieflingHorns4
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
speciesRestriction: [ CP14Tiefling ]
|
||||
followSkinColor: true
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/tiefling_horns.rsi
|
||||
@@ -48,6 +52,7 @@
|
||||
id: CP14TieflingHorns5
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
speciesRestriction: [ CP14Tiefling ]
|
||||
followSkinColor: true
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/tiefling_horns.rsi
|
||||
@@ -57,6 +62,7 @@
|
||||
id: CP14TieflingHorns5Broken
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
speciesRestriction: [ CP14Tiefling ]
|
||||
followSkinColor: true
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/tiefling_horns.rsi
|
||||
@@ -66,6 +72,7 @@
|
||||
id: CP14TieflingHorns6
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
speciesRestriction: [ CP14Tiefling ]
|
||||
followSkinColor: true
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/tiefling_horns.rsi
|
||||
@@ -75,6 +82,7 @@
|
||||
id: CP14TieflingHorns7
|
||||
bodyPart: HeadTop
|
||||
markingCategory: HeadTop
|
||||
speciesRestriction: [ CP14Tiefling ]
|
||||
followSkinColor: true
|
||||
sprites:
|
||||
- sprite: _CP14/Mobs/Customization/tiefling_horns.rsi
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
- type: entity
|
||||
save: false
|
||||
parent: CP14BaseMobGoblin
|
||||
id: CP14MobGoblin
|
||||
205
Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml
Normal file
@@ -0,0 +1,205 @@
|
||||
- type: entity
|
||||
parent: CP14BaseMobSpeciesOrganic
|
||||
id: CP14BaseMobGoblin
|
||||
name: Mr. Goblin
|
||||
abstract: true
|
||||
components:
|
||||
- type: HumanoidAppearance
|
||||
species: CP14Goblin
|
||||
- type: Hunger
|
||||
- type: Icon
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: full
|
||||
- type: Thirst
|
||||
- type: Butcherable
|
||||
butcheringType: Spike
|
||||
spawned:
|
||||
- id: FoodMeatHuman
|
||||
amount: 5
|
||||
- type: Body
|
||||
prototype: CP14Human
|
||||
requiredLegs: 2
|
||||
- type: Bloodstream
|
||||
bloodReagent: CP14Blood
|
||||
- type: Hands
|
||||
displacements:
|
||||
Hands:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: hands
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
- type: Inventory
|
||||
templateId: CP14Human
|
||||
displacements:
|
||||
belt:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: belt
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
cloak:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: cloak
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
eyes:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: eyes
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
gloves:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: gloves
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
head:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: head
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
layer48:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement48.rsi
|
||||
state: head
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
mask:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: mask
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
pants:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: pants
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
shirt:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: shirt
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
shoes:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: shoes
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
|
||||
- type: entity
|
||||
parent: CP14BaseSpeciesDummy
|
||||
id: CP14MobGoblinDummy
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: HumanoidAppearance
|
||||
species: CP14Goblin
|
||||
- type: Inventory
|
||||
templateId: CP14Human
|
||||
displacements:
|
||||
belt:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: belt
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
cloak:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: cloak
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
eyes:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: eyes
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
gloves:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: gloves
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
head:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: head
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
layer48:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement48.rsi
|
||||
state: head
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
mask:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: mask
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
pants:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: pants
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
shirt:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: shirt
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
shoes:
|
||||
layer:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement.rsi
|
||||
state: shoes
|
||||
copyToShaderParameters:
|
||||
layerKey: dummy
|
||||
parameterTexture: displacementMap
|
||||
parameterUV: displacementUV
|
||||
157
Resources/Prototypes/_CP14/Species/goblin.yml
Normal file
@@ -0,0 +1,157 @@
|
||||
- type: species
|
||||
id: CP14Goblin
|
||||
name: cp14-species-name-goblin
|
||||
roundStart: true
|
||||
prototype: CP14MobGoblin
|
||||
sprites: CP14MobGoblinSprites
|
||||
markingLimits: CP14MobGoblinMarkingLimits
|
||||
dollPrototype: CP14MobGoblinDummy
|
||||
skinColoration: VoxFeathers
|
||||
defaultSkinTone: "#74964d"
|
||||
maleFirstNames: CP14_Names_Goblin_Male_First
|
||||
femaleFirstNames: CP14_Names_Goblin_Female_First
|
||||
lastNames: CP14_Names_Goblin_Last
|
||||
|
||||
- type: speciesBaseSprites
|
||||
id: CP14MobGoblinSprites
|
||||
sprites:
|
||||
Head: CP14MobGoblinHead
|
||||
HeadTop: CP14MobGoblinMarkingMatchSkin
|
||||
Hair: CP14MobGoblinAnyMarking
|
||||
FacialHair: CP14MobGoblinAnyMarking
|
||||
Snout: CP14MobGoblinMarkingMatchSkin
|
||||
Chest: CP14MobGoblinTorso
|
||||
Eyes: CP14MobGoblinEyes
|
||||
LArm: CP14MobGoblinLArm
|
||||
RArm: CP14MobGoblinRArm
|
||||
LHand: CP14MobGoblinLHand
|
||||
RHand: CP14MobGoblinRHand
|
||||
LLeg: CP14MobGoblinLLeg
|
||||
RLeg: CP14MobGoblinRLeg
|
||||
LFoot: CP14MobGoblinLFoot
|
||||
RFoot: CP14MobGoblinRFoot
|
||||
|
||||
- type: markingPoints
|
||||
id: CP14MobGoblinMarkingLimits
|
||||
onlyWhitelisted: true
|
||||
points:
|
||||
Hair:
|
||||
points: 1
|
||||
required: false
|
||||
FacialHair:
|
||||
points: 1
|
||||
required: false
|
||||
Snout:
|
||||
points: 1
|
||||
required: true
|
||||
defaultMarkings: [ CP14GoblinNose ]
|
||||
HeadTop:
|
||||
points: 1
|
||||
required: true
|
||||
defaultMarkings: [ CP14GoblinEars ]
|
||||
Chest:
|
||||
points: 1
|
||||
required: false
|
||||
Legs:
|
||||
points: 2
|
||||
required: false
|
||||
Arms:
|
||||
points: 2
|
||||
required: false
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinEyes
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Customization/eyes.rsi
|
||||
state: goblin_eyes
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinAnyMarking
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinMarkingMatchSkin
|
||||
markingsMatchSkin: true
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinHead
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: head_m
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinHeadMale
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: head_m
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinHeadFemale
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: head_f
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinTorso
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: torso_m
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinTorsoMale
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: torso_m
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinTorsoFemale
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: torso_f
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinLLeg
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: l_leg
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinLArm
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: l_arm
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinLHand
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: l_hand
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinLFoot
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: l_foot
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinRLeg
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: r_leg
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinRArm
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: r_arm
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinRHand
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: r_hand
|
||||
|
||||
- type: humanoidBaseSprite
|
||||
id: CP14MobGoblinRFoot
|
||||
baseSprite:
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: r_foot
|
||||
|
After Width: | Height: | Size: 125 B |
@@ -11,6 +11,10 @@
|
||||
"name": "eyes",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "goblin_eyes",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "no_eyes"
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 450 B |
|
After Width: | Height: | Size: 390 B |
|
After Width: | Height: | Size: 390 B |
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "All rights reserved for the CrystallPunk14 project only",
|
||||
"copyright": "Created by TheShuEd (Github) for CrystallPunk",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "ears1",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "ears2",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "ears3",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 892 B |
|
After Width: | Height: | Size: 703 B |
|
After Width: | Height: | Size: 902 B |
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "All rights reserved for the CrystallPunk14 project only",
|
||||
"copyright": "Created by TheShuEd (Github) for CrystallPunk",
|
||||
"size": {
|
||||
"x": 48,
|
||||
"y": 48
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "antenna",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "bedheadv2",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "doublebun",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "All rights reserved for the CrystallPunk14 project only",
|
||||
"copyright": "Created by TheShuEd (Github) for CrystallPunk",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "nose1",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "nose2",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "nose3",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 244 B |
|
After Width: | Height: | Size: 247 B |
|
After Width: | Height: | Size: 227 B |
|
After Width: | Height: | Size: 257 B |
|
After Width: | Height: | Size: 361 B |
|
After Width: | Height: | Size: 249 B |
|
After Width: | Height: | Size: 253 B |
|
After Width: | Height: | Size: 272 B |
|
After Width: | Height: | Size: 252 B |
|
After Width: | Height: | Size: 246 B |
@@ -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
|
||||
},
|
||||
"load": {
|
||||
"srgb": false
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "belt",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "cloak",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "eyes",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "gloves",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "hands",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "head",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "mask",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "pants",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "shirt",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "shoes",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 317 B |
|
After Width: | Height: | Size: 439 B |
|
After Width: | Height: | Size: 317 B |
|
After Width: | Height: | Size: 328 B |
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "All rights reserved for the CrystallPunk14 project only",
|
||||
"copyright": "Created by TheShuEd (Github) for CrystallPunk14",
|
||||
"size": {
|
||||
"x": 48,
|
||||
"y": 48
|
||||
},
|
||||
"load": {
|
||||
"srgb": false
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "head",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/_CP14/Mobs/Species/Goblin/parts.rsi/full.png
Normal file
|
After Width: | Height: | Size: 579 B |
|
After Width: | Height: | Size: 477 B |
|
After Width: | Height: | Size: 477 B |
BIN
Resources/Textures/_CP14/Mobs/Species/Goblin/parts.rsi/l_arm.png
Normal file
|
After Width: | Height: | Size: 250 B |
|
After Width: | Height: | Size: 261 B |
|
After Width: | Height: | Size: 264 B |
BIN
Resources/Textures/_CP14/Mobs/Species/Goblin/parts.rsi/l_leg.png
Normal file
|
After Width: | Height: | Size: 205 B |
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"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_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/_CP14/Mobs/Species/Goblin/parts.rsi/r_arm.png
Normal file
|
After Width: | Height: | Size: 247 B |
|
After Width: | Height: | Size: 247 B |
|
After Width: | Height: | Size: 253 B |
BIN
Resources/Textures/_CP14/Mobs/Species/Goblin/parts.rsi/r_leg.png
Normal file
|
After Width: | Height: | Size: 200 B |
|
After Width: | Height: | Size: 404 B |
|
After Width: | Height: | Size: 410 B |