diff --git a/Resources/Locale/en-US/species/species.ftl b/Resources/Locale/en-US/species/species.ftl index f31b1fa0f0..dd5f8cde50 100644 --- a/Resources/Locale/en-US/species/species.ftl +++ b/Resources/Locale/en-US/species/species.ftl @@ -8,4 +8,5 @@ species-name-diona = Diona species-name-arachnid = Arachnid species-name-moth = Moth Person species-name-skeleton = Skeleton +species-name-tiefling = Tiefling species-name-vox = Vox diff --git a/Resources/Locale/ru-RU/species/species.ftl b/Resources/Locale/ru-RU/species/species.ftl new file mode 100644 index 0000000000..a6e9ce4d39 --- /dev/null +++ b/Resources/Locale/ru-RU/species/species.ftl @@ -0,0 +1,10 @@ +species-name-human = Человек +species-name-dwarf = Дворф +species-name-reptilian = Унатх +species-name-slime = Слаймолюд +species-name-diona = Диона +species-name-arachnid = Арахнид +species-name-moth = Ниан +species-name-skeleton = Скелет +species-name-tiefling = Тифлинг +species-name-vox = Вокс diff --git a/Resources/Prototypes/_CP14/Body/Prototypes/tiefling.yml b/Resources/Prototypes/_CP14/Body/Prototypes/tiefling.yml new file mode 100644 index 0000000000..169521eeaa --- /dev/null +++ b/Resources/Prototypes/_CP14/Body/Prototypes/tiefling.yml @@ -0,0 +1,49 @@ +- type: body + id: CPTiefling + name: tiefling + root: torso + slots: + head: + part: CPHeadHuman + connections: + - torso + organs: + brain: OrganHumanBrain + eyes: OrganHumanEyes + torso: + part: TorsoHuman + connections: + - right_arm + - left_arm + - right_leg + - left_leg + organs: + heart: OrganHumanHeart + lungs: OrganHumanLungs + stomach: OrganHumanStomach + liver: OrganHumanLiver + kidneys: OrganHumanKidneys + right_arm: + part: CPRightArmHuman + connections: + - right_hand + left_arm: + part: CPLeftArmHuman + connections: + - left_hand + right_hand: + part: CPRightHandHuman + left_hand: + part: CPLeftHandHuman + right_leg: + part: CPRightLegHuman + connections: + - right_foot + left_leg: + part: CPLeftLegHuman + connections: + - left_foot + right_foot: + part: CPRightFootHuman + left_foot: + part: CPLeftFootHuman diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Customization/Markings/tiefling_horns.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Customization/Markings/tiefling_horns.yml new file mode 100644 index 0000000000..8600761f49 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Customization/Markings/tiefling_horns.yml @@ -0,0 +1,85 @@ + +- type: marking + id: CPTieflingHorns + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [ CPTiefling ] + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_horns.rsi + state: horn1 + +- type: marking + id: CPTieflingHorns2 + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [ CPTiefling ] + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_horns.rsi + state: horn2 + +- type: marking + id: CPTieflingHorns3 + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [ CPTiefling ] + followSkinColor: true + forcedColoring: true + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_horns.rsi + state: horn3 + +- type: marking + id: CPTieflingHorns3Broken + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [ CPTiefling ] + followSkinColor: true + forcedColoring: true + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_horns.rsi + state: horn3_broken + +- type: marking + id: CPTieflingHorns4 + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [ CPTiefling ] + followSkinColor: true + forcedColoring: true + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_horns.rsi + state: horn4 + +- type: marking + id: CPTieflingHorns5 + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [ CPTiefling ] + followSkinColor: true + forcedColoring: true + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_horns.rsi + state: horn5 + +- type: marking + id: CPTieflingHorns5Broken + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [ CPTiefling ] + followSkinColor: true + forcedColoring: true + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_horns.rsi + state: horn5_broken + +- type: marking + id: CPTieflingHorns6 + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [ CPTiefling ] + followSkinColor: true + forcedColoring: true + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_horns.rsi + state: horn6 + diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Customization/Markings/tiefling_tails.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Customization/Markings/tiefling_tails.yml new file mode 100644 index 0000000000..fbc4e4b9ee --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Customization/Markings/tiefling_tails.yml @@ -0,0 +1,21 @@ +- type: marking + id: CPTieflingTail + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [ CPTiefling ] + followSkinColor: true + forcedColoring: true + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_tails.rsi + state: tail1 + +- type: marking + id: CPTieflingTailSpades + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [ CPTiefling ] + followSkinColor: true + forcedColoring: true + sprites: + - sprite: _CP14/Mobs/Customization/tiefling_tails.rsi + state: tail_spades \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Player/tiefling.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Player/tiefling.yml new file mode 100644 index 0000000000..5b36f836a1 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Player/tiefling.yml @@ -0,0 +1,5 @@ +- type: entity + parent: CPBaseMobTiefling + id: CPMobTiefling + name: Mr. Tiefling + save: false diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml new file mode 100644 index 0000000000..c6cb9a0fc1 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml @@ -0,0 +1,25 @@ +- type: entity + parent: BaseMobSpeciesOrganic + id: CPBaseMobTiefling + name: Mr. Tiefling + abstract: true + components: + - type: HumanoidAppearance + species: CPTiefling + - type: Body + prototype: CPTiefling + requiredLegs: 2 + - type: Hunger + - type: Icon + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: full + - type: Thirst + - type: Wagging + +- type: entity + parent: BaseSpeciesDummy + id: CPMobTieflingDummy + noSpawn: true + components: + - type: HumanoidAppearance + species: CPTiefling diff --git a/Resources/Prototypes/_CP14/Species/human.yml b/Resources/Prototypes/_CP14/Species/human.yml index 9ff3f43bea..c4e8de6cbf 100644 --- a/Resources/Prototypes/_CP14/Species/human.yml +++ b/Resources/Prototypes/_CP14/Species/human.yml @@ -12,9 +12,9 @@ id: CPMobHumanSprites sprites: Head: CPMobHumanHead - Hair: MobHumanoidAnyMarking - FacialHair: MobHumanoidAnyMarking - Snout: MobHumanoidAnyMarking + Hair: CPMobHumanoidAnyMarking + FacialHair: CPMobHumanoidAnyMarking + Snout: CPMobHumanoidAnyMarking Chest: CPMobHumanTorso Eyes: CPMobHumanoidEyes LArm: CPMobHumanLArm diff --git a/Resources/Prototypes/_CP14/Species/tiefling.yml b/Resources/Prototypes/_CP14/Species/tiefling.yml new file mode 100644 index 0000000000..b83afcbd91 --- /dev/null +++ b/Resources/Prototypes/_CP14/Species/tiefling.yml @@ -0,0 +1,162 @@ +- type: species + id: CPTiefling + name: species-name-tiefling + roundStart: true + prototype: CPMobTiefling + sprites: CPMobTieflingSprites + markingLimits: CPMobTieflingMarkingLimits + dollPrototype: CPMobTieflingDummy + skinColoration: Hues + +# The lack of a layer means that +# this person cannot have round-start anything +# applied to that layer. It has to instead +# be defined as a 'custom base layer' +# in either the mob's starting marking prototype, +# or it has to be added in C#. +- type: speciesBaseSprites + id: CPMobTieflingSprites + sprites: + Head: CPMobTieflingHead + HeadTop: CPMobTieflingMarkingMatchSkin + Hair: CPMobTieflingAnyMarking + FacialHair: CPMobTieflingAnyMarking + Snout: CPMobTieflingMarkingMatchSkin + Tail: CPMobTieflingMarkingMatchSkin + Chest: CPMobTieflingTorso + Eyes: CPMobTieflingEyes + LArm: CPMobTieflingLArm + RArm: CPMobTieflingRArm + LHand: CPMobTieflingLHand + RHand: CPMobTieflingRHand + LLeg: CPMobTieflingLLeg + RLeg: CPMobTieflingRLeg + LFoot: CPMobTieflingLFoot + RFoot: CPMobTieflingRFoot + +- type: markingPoints + id: CPMobTieflingMarkingLimits + points: + Hair: + points: 1 + required: false + FacialHair: + points: 1 + required: false + Snout: + points: 1 + required: false + Tail: + points: 1 + required: true + defaultMarkings: [ CPTieflingTail ] + HeadTop: + points: 1 + required: true + defaultMarkings: [ CPTieflingHorns ] + Chest: + points: 1 + required: false + Legs: + points: 2 + required: false + Arms: + points: 2 + required: false + +- type: humanoidBaseSprite + id: CPMobTieflingEyes + baseSprite: + sprite: Mobs/Customization/eyes.rsi + state: eyes + +- type: humanoidBaseSprite + id: CPMobTieflingAnyMarking + +- type: humanoidBaseSprite + id: CPMobTieflingMarkingMatchSkin + markingsMatchSkin: true + +- type: humanoidBaseSprite + id: CPMobTieflingHead + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: CPMobTieflingHeadMale + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: CPMobTieflingHeadFemale + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: head_f + +- type: humanoidBaseSprite + id: CPMobTieflingTorso + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: CPMobTieflingTorsoMale + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: CPMobTieflingTorsoFemale + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: torso_f + +- type: humanoidBaseSprite + id: CPMobTieflingLLeg + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: CPMobTieflingLArm + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: CPMobTieflingLHand + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: CPMobTieflingLFoot + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: CPMobTieflingRLeg + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: CPMobTieflingRArm + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: CPMobTieflingRHand + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: CPMobTieflingRFoot + baseSprite: + sprite: CrystallPunk/Mobs/Species/Tiefling/parts.rsi + state: r_foot diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/full.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/full.png new file mode 100644 index 0000000000..a0e572d045 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/full.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/head_f.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/head_f.png new file mode 100644 index 0000000000..2a8798ce1b Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/head_f.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/head_m.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/head_m.png new file mode 100644 index 0000000000..a577a1b925 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/head_m.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_arm.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_arm.png new file mode 100644 index 0000000000..3e367da72b Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_arm.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_foot.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_foot.png new file mode 100644 index 0000000000..de5511c6a4 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_foot.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_hand.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_hand.png new file mode 100644 index 0000000000..1c015eaba7 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_hand.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_leg.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_leg.png new file mode 100644 index 0000000000..7e045922af Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/l_leg.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/meta.json b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/meta.json new file mode 100644 index 0000000000..63fffd5f56 --- /dev/null +++ b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/meta.json @@ -0,0 +1,62 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "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 + } + ] +} diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_arm.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_arm.png new file mode 100644 index 0000000000..2d853ca9d1 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_arm.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_foot.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_foot.png new file mode 100644 index 0000000000..947a8d91f8 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_foot.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_hand.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_hand.png new file mode 100644 index 0000000000..192a4b09e5 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_hand.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_leg.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_leg.png new file mode 100644 index 0000000000..1414e70d15 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/r_leg.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/torso_f.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/torso_f.png new file mode 100644 index 0000000000..d252de33c8 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/torso_f.png differ diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/torso_m.png b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/torso_m.png new file mode 100644 index 0000000000..da01756126 Binary files /dev/null and b/Resources/Textures/CrystallPunk/Mobs/Species/Tiefling/parts.rsi/torso_m.png differ diff --git a/Resources/Textures/_CP14/Mobs/Customization/tiefling_tails.rsi/meta.json b/Resources/Textures/_CP14/Mobs/Customization/tiefling_tails.rsi/meta.json index dcaa9703e4..d952a90435 100644 --- a/Resources/Textures/_CP14/Mobs/Customization/tiefling_tails.rsi/meta.json +++ b/Resources/Textures/_CP14/Mobs/Customization/tiefling_tails.rsi/meta.json @@ -54,7 +54,7 @@ ] }, { - "name": "tail2", + "name": "tail_spades", "directions": 4, "delays": [ [ diff --git a/Resources/Textures/_CP14/Mobs/Customization/tiefling_tails.rsi/tail2.png b/Resources/Textures/_CP14/Mobs/Customization/tiefling_tails.rsi/tail_spades.png similarity index 100% rename from Resources/Textures/_CP14/Mobs/Customization/tiefling_tails.rsi/tail2.png rename to Resources/Textures/_CP14/Mobs/Customization/tiefling_tails.rsi/tail_spades.png