From 23ed68f09fa6627e5e80d05cd529cf16ac62b833 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Wed, 3 Apr 2024 14:20:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B9=D1=82=20=D0=BB=D1=8E=D0=B4=D0=B5=D0=B9=20(#2?= =?UTF-8?q?8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * new race * remove old races --- Resources/Prototypes/Body/Parts/human.yml | 10 ++ .../Prototypes/Entities/Mobs/Player/human.yml | 4 + Resources/Prototypes/Species/arachnid.yml | 2 +- Resources/Prototypes/Species/diona.yml | 2 +- Resources/Prototypes/Species/dwarf.yml | 2 +- Resources/Prototypes/Species/human.yml | 2 +- Resources/Prototypes/Species/moth.yml | 2 +- Resources/Prototypes/Species/reptilian.yml | 2 +- Resources/Prototypes/Species/slime.yml | 2 +- .../Prototypes/_CP14/Body/Parts/human.yml | 70 ++++++++++ .../_CP14/Body/Prototypes/human.yml | 49 +++++++ .../_CP14/Entities/Mobs/Player/human.yml | 4 + .../_CP14/Entities/Mobs/Species/human.yml | 22 +++ Resources/Prototypes/_CP14/Species/human.yml | 126 ++++++++++++++++++ .../Mobs/Customization/eyes.rsi/eyes.png | Bin 0 -> 125 bytes .../Mobs/Customization/eyes.rsi/meta.json | 18 +++ .../Mobs/Customization/eyes.rsi/no_eyes.png | Bin 0 -> 4683 bytes .../Mobs/Species/Human/parts.rsi/full.png | Bin 0 -> 700 bytes .../Mobs/Species/Human/parts.rsi/head_f.png | Bin 0 -> 511 bytes .../Mobs/Species/Human/parts.rsi/head_m.png | Bin 0 -> 508 bytes .../Mobs/Species/Human/parts.rsi/l_arm.png | Bin 0 -> 468 bytes .../Mobs/Species/Human/parts.rsi/l_foot.png | Bin 0 -> 404 bytes .../Mobs/Species/Human/parts.rsi/l_hand.png | Bin 0 -> 321 bytes .../Mobs/Species/Human/parts.rsi/l_leg.png | Bin 0 -> 382 bytes .../Mobs/Species/Human/parts.rsi/meta.json | 62 +++++++++ .../Mobs/Species/Human/parts.rsi/r_arm.png | Bin 0 -> 366 bytes .../Mobs/Species/Human/parts.rsi/r_foot.png | Bin 0 -> 365 bytes .../Mobs/Species/Human/parts.rsi/r_hand.png | Bin 0 -> 346 bytes .../Mobs/Species/Human/parts.rsi/r_leg.png | Bin 0 -> 396 bytes .../Mobs/Species/Human/parts.rsi/torso_f.png | Bin 0 -> 769 bytes .../Mobs/Species/Human/parts.rsi/torso_m.png | Bin 0 -> 660 bytes 31 files changed, 372 insertions(+), 7 deletions(-) create mode 100644 Resources/Prototypes/_CP14/Body/Parts/human.yml create mode 100644 Resources/Prototypes/_CP14/Body/Prototypes/human.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Mobs/Player/human.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Mobs/Species/human.yml create mode 100644 Resources/Prototypes/_CP14/Species/human.yml create mode 100644 Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/eyes.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/meta.json create mode 100644 Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/no_eyes.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/full.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/head_f.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/head_m.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_arm.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_foot.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_hand.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_leg.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/meta.json create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_arm.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_foot.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_hand.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_leg.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/torso_f.png create mode 100644 Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/torso_m.png diff --git a/Resources/Prototypes/Body/Parts/human.yml b/Resources/Prototypes/Body/Parts/human.yml index a1510fcdbb..2951195e78 100644 --- a/Resources/Prototypes/Body/Parts/human.yml +++ b/Resources/Prototypes/Body/Parts/human.yml @@ -15,6 +15,7 @@ Quantity: 10 - type: entity + noSpawn: true id: TorsoHuman name: "human torso" parent: [PartHuman, BaseTorso] @@ -31,6 +32,7 @@ Quantity: 20 - type: entity + noSpawn: true id: HeadHuman name: "human head" parent: [PartHuman, BaseHead] @@ -47,6 +49,7 @@ Quantity: 10 - type: entity + noSpawn: true id: LeftArmHuman name: "left human arm" parent: [PartHuman, BaseLeftArm] @@ -56,6 +59,7 @@ state: "l_arm" - type: entity + noSpawn: true id: RightArmHuman name: "right human arm" parent: [PartHuman, BaseRightArm] @@ -65,6 +69,7 @@ state: "r_arm" - type: entity + noSpawn: true id: LeftHandHuman name: "left human hand" parent: [PartHuman, BaseLeftHand] @@ -74,6 +79,7 @@ state: "l_hand" - type: entity + noSpawn: true id: RightHandHuman name: "right human hand" parent: [PartHuman, BaseRightHand] @@ -83,6 +89,7 @@ state: "r_hand" - type: entity + noSpawn: true id: LeftLegHuman name: "left human leg" parent: [PartHuman, BaseLeftLeg] @@ -92,6 +99,7 @@ state: "l_leg" - type: entity + noSpawn: true id: RightLegHuman name: "right human leg" parent: [PartHuman, BaseRightLeg] @@ -101,6 +109,7 @@ state: "r_leg" - type: entity + noSpawn: true id: LeftFootHuman name: "left human foot" parent: [PartHuman, BaseLeftFoot] @@ -110,6 +119,7 @@ state: "l_foot" - type: entity + noSpawn: true id: RightFootHuman name: "right human foot" parent: [PartHuman, BaseRightFoot] diff --git a/Resources/Prototypes/Entities/Mobs/Player/human.yml b/Resources/Prototypes/Entities/Mobs/Player/human.yml index 2c7ad4972c..0db72b5a6d 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/human.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/human.yml @@ -1,11 +1,13 @@ - type: entity save: false + noSpawn: true name: Urist McHands parent: BaseMobHuman id: MobHuman #Syndie - type: entity + noSpawn: true parent: MobHuman id: MobHumanSyndicateAgentBase name: syndicate agent @@ -20,6 +22,7 @@ - Syndicate - type: entity + noSpawn: true parent: MobHumanSyndicateAgentBase id: MobHumanSyndicateAgent name: syndicate agent @@ -31,6 +34,7 @@ giveObjectives: false - type: entity + noSpawn: true parent: MobHumanSyndicateAgentBase id: MobHumanSyndicateAgentNukeops # Reinforcement exclusive to nukeops uplink suffix: Human, NukeOps diff --git a/Resources/Prototypes/Species/arachnid.yml b/Resources/Prototypes/Species/arachnid.yml index 07a72cda17..d7182128ca 100644 --- a/Resources/Prototypes/Species/arachnid.yml +++ b/Resources/Prototypes/Species/arachnid.yml @@ -1,7 +1,7 @@ - type: species id: Arachnid name: species-name-arachnid - roundStart: true + roundStart: false prototype: MobArachnid sprites: MobArachnidSprites defaultSkinTone: "#385878" diff --git a/Resources/Prototypes/Species/diona.yml b/Resources/Prototypes/Species/diona.yml index 19fafaa3e1..4dd2cc1143 100644 --- a/Resources/Prototypes/Species/diona.yml +++ b/Resources/Prototypes/Species/diona.yml @@ -1,7 +1,7 @@ - type: species id: Diona name: species-name-diona - roundStart: true + roundStart: false prototype: MobDiona sprites: MobDionaSprites defaultSkinTone: "#cdb369" diff --git a/Resources/Prototypes/Species/dwarf.yml b/Resources/Prototypes/Species/dwarf.yml index fc800213c1..9116092901 100644 --- a/Resources/Prototypes/Species/dwarf.yml +++ b/Resources/Prototypes/Species/dwarf.yml @@ -1,7 +1,7 @@ - type: species id: Dwarf name: species-name-dwarf - roundStart: true + roundStart: false prototype: MobDwarf sprites: MobHumanSprites markingLimits: MobHumanMarkingLimits diff --git a/Resources/Prototypes/Species/human.yml b/Resources/Prototypes/Species/human.yml index 0cbd9cc03f..a5e62de92b 100644 --- a/Resources/Prototypes/Species/human.yml +++ b/Resources/Prototypes/Species/human.yml @@ -1,7 +1,7 @@ - type: species id: Human name: species-name-human - roundStart: true + roundStart: false prototype: MobHuman sprites: MobHumanSprites markingLimits: MobHumanMarkingLimits diff --git a/Resources/Prototypes/Species/moth.yml b/Resources/Prototypes/Species/moth.yml index 4f587eb40e..1479420b15 100644 --- a/Resources/Prototypes/Species/moth.yml +++ b/Resources/Prototypes/Species/moth.yml @@ -1,7 +1,7 @@ - type: species id: Moth name: species-name-moth - roundStart: true + roundStart: false prototype: MobMoth sprites: MobMothSprites defaultSkinTone: "#ffda93" diff --git a/Resources/Prototypes/Species/reptilian.yml b/Resources/Prototypes/Species/reptilian.yml index f5cf1fa6eb..738895bcdf 100644 --- a/Resources/Prototypes/Species/reptilian.yml +++ b/Resources/Prototypes/Species/reptilian.yml @@ -1,7 +1,7 @@ - type: species id: Reptilian name: species-name-reptilian - roundStart: true + roundStart: false prototype: MobReptilian sprites: MobReptilianSprites defaultSkinTone: "#34a223" diff --git a/Resources/Prototypes/Species/slime.yml b/Resources/Prototypes/Species/slime.yml index ef49e9b7cf..f4e4057e54 100644 --- a/Resources/Prototypes/Species/slime.yml +++ b/Resources/Prototypes/Species/slime.yml @@ -1,7 +1,7 @@ - type: species id: SlimePerson name: species-name-slime - roundStart: true + roundStart: false prototype: MobSlimePerson sprites: MobSlimeSprites defaultSkinTone: "#b8b8b8" diff --git a/Resources/Prototypes/_CP14/Body/Parts/human.yml b/Resources/Prototypes/_CP14/Body/Parts/human.yml new file mode 100644 index 0000000000..7e06bbb347 --- /dev/null +++ b/Resources/Prototypes/_CP14/Body/Parts/human.yml @@ -0,0 +1,70 @@ + +- type: entity + id: CPTorsoHuman + parent: TorsoHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + +- type: entity + id: CPHeadHuman + parent: HeadHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + +- type: entity + id: CPLeftArmHuman + parent: LeftArmHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + +- type: entity + id: CPRightArmHuman + parent: RightArmHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + +- type: entity + id: CPLeftHandHuman + parent: LeftHandHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + +- type: entity + id: CPRightHandHuman + parent: RightHandHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + +- type: entity + id: CPLeftLegHuman + parent: LeftLegHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + +- type: entity + id: CPRightLegHuman + parent: RightLegHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + +- type: entity + id: CPLeftFootHuman + parent: LeftFootHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + +- type: entity + id: CPRightFootHuman + parent: RightFootHuman + components: + - type: Sprite + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Body/Prototypes/human.yml b/Resources/Prototypes/_CP14/Body/Prototypes/human.yml new file mode 100644 index 0000000000..4bfa51a518 --- /dev/null +++ b/Resources/Prototypes/_CP14/Body/Prototypes/human.yml @@ -0,0 +1,49 @@ +- type: body + id: CPHuman + name: "человек" + 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/Player/human.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Player/human.yml new file mode 100644 index 0000000000..1479464295 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Player/human.yml @@ -0,0 +1,4 @@ +- type: entity + save: false + parent: CPBaseMobHuman + id: CPMobHuman diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/human.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/human.yml new file mode 100644 index 0000000000..ae2dc51a4d --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/human.yml @@ -0,0 +1,22 @@ +# Anything human specific (e.g. UI, input) goes under MobHuman +- type: entity + parent: BaseMobSpeciesOrganic + id: CPBaseMobHuman + name: человеческая оболочка + abstract: true + components: + - type: HumanoidAppearance + species: CPHuman + - type: Hunger + - type: Icon # It will not have an icon in the adminspawn menu without this. Body parts seem fine for whatever reason. + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: full + - type: Thirst + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeatHuman + amount: 5 + - type: Body + prototype: CPHuman + requiredLegs: 2 diff --git a/Resources/Prototypes/_CP14/Species/human.yml b/Resources/Prototypes/_CP14/Species/human.yml new file mode 100644 index 0000000000..dee0257d23 --- /dev/null +++ b/Resources/Prototypes/_CP14/Species/human.yml @@ -0,0 +1,126 @@ +- type: species + id: CPHuman + name: species-name-human + roundStart: true + prototype: CPMobHuman + sprites: CPMobHumanSprites + markingLimits: MobHumanMarkingLimits + dollPrototype: MobHumanDummy + skinColoration: HumanToned + +- type: speciesBaseSprites + id: CPMobHumanSprites + sprites: + Head: CPMobHumanHead + Hair: MobHumanoidAnyMarking + FacialHair: MobHumanoidAnyMarking + Snout: MobHumanoidAnyMarking + Chest: CPMobHumanTorso + Eyes: CPMobHumanoidEyes + LArm: CPMobHumanLArm + RArm: CPMobHumanRArm + LHand: CPMobHumanLHand + RHand: CPMobHumanRHand + LLeg: CPMobHumanLLeg + RLeg: CPMobHumanRLeg + LFoot: CPMobHumanLFoot + RFoot: CPMobHumanRFoot + + + +- type: humanoidBaseSprite + id: CPMobHumanoidEyes + baseSprite: + sprite: CrystallPunk/Mobs/Customization/eyes.rsi + state: eyes + +- type: humanoidBaseSprite + id: CPMobHumanoidAnyMarking + +- type: humanoidBaseSprite + id: CPMobHumanoidMarkingMatchSkin + markingsMatchSkin: true + +- type: humanoidBaseSprite + id: CPMobHumanHead + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: CPMobHumanHeadMale + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: CPMobHumanHeadFemale + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: head_f + +- type: humanoidBaseSprite + id: CPMobHumanTorso + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: CPMobHumanTorsoMale + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: CPMobHumanTorsoFemale + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: torso_f + +- type: humanoidBaseSprite + id: CPMobHumanLLeg + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: CPMobHumanLArm + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: CPMobHumanLHand + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: CPMobHumanLFoot + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: CPMobHumanRLeg + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: CPMobHumanRArm + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: CPMobHumanRHand + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: CPMobHumanRFoot + baseSprite: + sprite: CrystallPunk/Mobs/Species/Human/parts.rsi + state: r_foot \ No newline at end of file diff --git a/Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/eyes.png b/Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..f57521ee7c491bd0ed39183509e7862e5a6ef53a GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|%spKkLn`LH zy|qvfsEWn#SN^XJ`SOhkLYsYaL>X$lCv68R0)Yd$v)4E1GlJO(D;R5!iNBomW0eYs N@9FC2vd$@?2>_*hBI5u6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/meta.json b/Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/meta.json new file mode 100644 index 0000000000..d84bc34b33 --- /dev/null +++ b/Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by TheShuEd (Github) for CrystallPunk", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "eyes", + "directions": 4 + }, + { + "name": "no_eyes" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/no_eyes.png b/Resources/Textures/CrystallPunk/Mobs/Customization/eyes.rsi/no_eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..1cdeb2aead2aea5b0a58d9d4f8154a9b42b0cb41 GIT binary patch literal 4683 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_arm.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..3e367da72ba63af4f00e91b78bc611c6d4e33641 GIT binary patch literal 468 zcmV;_0W1EAP)Px$j!8s8RCt{2+P!K5K@htp@34j2m?iHKkQ5TMNRwv>W(#)- zLeixSA)v%`x?r;y1kpUebdx3nnnG|rGn*yn>phHjW@p8Fg&-m#A|i}>qoqvb`ax(U z7cPn?3S9(02vrnMvQYpjr9u`#e|agTkpk?P2rU-!e>%@7DWyW4g5}*e^$5UEz{BH{ z5CXSr#X?@hv$+`bdyu@};036;)toK@%Ans9HMg3BhW;>e2kh-1K=X#9F*I)(ya3Oy zZ>mx*K{LM=3*oq4Htv8*xg_G*9FnDX{`RH`$+M!~Xes?BKk(}dDD*cuBnCDvTYYS^N+yG`$yVKSd~Uc z$PYr5bT9*c0@ApMhNE%fhAg}Q$47_gNTc8d=yba1$hEeeLxLBe8?=p#vaI7>oQu!t zG|^`>{}#~nU`G4yUR+;YTHl0JIj*Pl52AlNm%yP6A|fIp+RQgyjn7Mmz@qE`0000< KMNUMnLSTXpO3!-$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_foot.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..de5511c6a465d23e9783a8616b28a9180e459a41 GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z{XAV9Ln`LH zy|vNnaDWKggZ+<`O}3ec+_}0?Y_3l3OYR*jn%Bizm5Mew3w&bP*BBhTi`}tZz(c`1 z`h*0NS7uE^&T&UxD-o&Ug)IN_Z4TE@s`g(d+|Ypx%o1lzYYEgz6zP7uBWcF8oZmA) z-3S#F`XRTat&D2s+mXTJ-hF`|a=V)4PL*+ZZ96>qq{xBmejCEpuk2XjE3r&<+hea;%Y@uE z^0+^~b9wm_;Tvp+w=A)Kv2f+<$hY>F!*4M&G%Q<}ynkPN#!jaP)ichE?KJk8W_wBp00i_>zopr0B%yTu>b%7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_hand.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..1c015eaba72961f1748e6f96a07ad068db37145a GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|etWt&hE&XX zduw6dp#YI%AC2#^8YVRPyqC>dm9fmwI76g~>&(1FMizxv%Q^EId<}f3t8x1m+?lCx zCU?n8&6W@Uf7b2%`>ynP2hc1aSTO7S*JB}9L$0~!tm(AWEUbvPD#Mb>9l zusfK&18M|E{$^Kk_`TX+8yj4-VIKDGYdiv#{_2)S+wyMXw zDk>dUI#u&J?!eYLV#dqlH)qQ~{nTWz$>g-|*-yXkdM9Wy1Fd-ahr#(m^83UuXQzWK N^mO%eS?83{1OUSthOz(v literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_leg.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/l_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..7e045922af8422e63d72bda74cc6411694d9ff5a GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zEj(QuLn`LH zy|vNnaDd3MkHLi}n7?dWxbVVJNAp6V!Y_d_b7HtJIda*BJfCoJt?Vw2htsZoVLT_s z&MvO&`Oa|Rum5jjeNKy)H{71HR^YaOcP1#qhHdBoiDDLW``dG#AtTiw1jPuL({>;hRINhu0eRMQ8!~qNp zHS4=C{!lvGblqeo&&n+I_e@>A{BhP5Mk=37H{{$d+A3yVB^s)`SmTxHNsCn%MF)V_wSdI0lA) ZQ~BQ%CPxUmy7PnV^mO%eS?83{1OV*QtYh7tMO8 z>6eiE<0Jpq`#qRF-8}PNFv!a3yl#^<-t!1uzPbJHoaT!vTqQ4D7@1_g^!g8C&<9T>svS{Yd4~*n+LhkFw5*dvkw$m%lqwyVj<2w?hf* zv+kv@e%`(0ds1%6^K$RoXQTe?S-~*%d;ginPaAH_f9eC;2?1RT9)F)ZL(r>J&DnG9 zx8+5t;Rkj-*o>#V7ROp1Vn@E3kl9dBl5O+=9k)>_ku}=qNKwM8(KbLh* G2~7aCewzgV literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_foot.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..947a8d91f8f4c0e0715a590151b4fe4ff9454bdc GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z)jeGtLn`LH zy|vNnaDc?okBfhBxVebOFPv7U&9$$Y@0_0BE{oJtlf+jx7rwl=uz6b3B0f)rWR5Kz zFPT$z^UYf1*QvI#^?&}JJJNjeHJ3YCfaXKM1MS;|XA5i$1Lw@p@auWIZQY84Mq*};noFWn4Td~xrkl641j>({>c{dJM}t@alb3zYPfuMIv%N-^**<1f49seVAKbSK zeMQvMEars-ofFe?pY9shVrOp`^6l(YsRotG>*l|11~2mb$(I(n?Z(m2f02v6aIw_= z*w{RG-M4MqU!AzJ;u756w literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_hand.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..192a4b09e57f929b820600464576a7bf38103baf GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zMLb;`Ln`LH zy|veiIZ&YOq5nszBbU@#>suqL`EToR=v^~2ySB1P!k{&-*`@o4(%!8VjQ@0R=x8&3 zAZgO#>OFg zviXa0@oy^fwf(UMUBdm3Qq<n;b(KU o$ba*n|L=G<7%(z0H2nO)x%5nIyq?a}=OBALUHx3vIVCg!0B1swwEzGB literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_leg.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..1414e70d15e09a0b2019854fb90e2b7d54a16e7d GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z-8@|!Ln`LH zy|vNnaDd3MkHQ}Xi*6?f?y`8H=BLzW*VR2aTOmcG)h5JUbMBF~vb#jQRC0eYl<)S7 zY~lOhVEFbF`U&W`jU_%H~6n*>{t67S)~?IyH6Mhrf@D3lxEZ)oP^- zk5ks@@@mZ%&D$7bnZ5Q^;|gYpMZvMv*DF{*6x6Hle)Zz+67RFV+0Q?5CG5R<%0%+y z+muCF*II8#RMu8asg3l?=_%j)O5ecOZPq5gO!-q=&-XvClsfx4Y}q^Kjws;4$NM=y8d^hN5=Mp|5q|^xVCHkd-=%xZHmu6h-G=cmUSrh zQt|lC7_gVo_gC%Se@a3*;xA+mEVN?DymQRPfARL|&oz#0-NU@%^<~%Gr081KGiM9< lyfP};6MSq|2rDsMI41v7ATw6i_0K1e-JY&~F6*2UngIP?sapU5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/torso_f.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/torso_f.png new file mode 100644 index 0000000000000000000000000000000000000000..d252de33c8f6e0c41aa4dd37cbbb0165f03ea932 GIT binary patch literal 769 zcmV+c1OEJpP)Px%yGcYrRCt{2+COU|K^O+`C&v}}0NF$mIBbN|Cdq}AA%V0CL6Q^~Nu9%%l|z<%@JQ7(Rbxc61> zm$!ZIWXR-`CZN%5!{`r@KQB15?Y`e=w#glk$+vmSVdnz?E-tS`u~ZiI+dE-dmZ;y} ziDIcNE-tS^{RFV7nl3EM5|(9&meFy_s-{cjlU4u#49sVwQ%P*DtpWfx*H)2EB{49c zW%7M_X+M}2X#(~RG9$b2OZ7oJ$>v1n_-Jfh=J*IF*&I2ayaE#Om@{zu6)^fkB;qk@ zQ&J|q>aweW^f3qk%JK>xAMWvcdBu6m>~*2I?uV)V^B1-@*2k7*kS5@!^kWWy0D!~8 zJzQVkIJd6)P?^0h>J!Q`Lho?UPO>?%pePvh2QbYiD9QqsB1?EOO?s@uYj$MbyTV~B;v7|{6V47Y$Fkmp;E0m z=YoDn?*VT1e$Z$Zf@p5)ydaQPK&4s>EI2IGK2E&??A^UsDhuyXxcxSml}fdSbSgQr z2bjGsJ|FDQ{($smqEhwr00000NkvXXu0mjfn4@SC literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/torso_m.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/torso_m.png new file mode 100644 index 0000000000000000000000000000000000000000..da0175612629f7db05f7c67b6cf331b61bad2de7 GIT binary patch literal 660 zcmV;F0&D$=P)Px%PDw;TRCt{2+OclhKo|$`f2s~VK%5|~R4kR+ZfVppZxEykwHex~bC(Y35UG;Y z0afzWrAr^6VhAXTl)OPUP|1)4kXS4tBf{|jY}e`B<6=_2i)}#qehY`s_<#P+V8j71 z#u#IavHz>q>hdA|N#u8fer!fJ=u4aYHOkJD$wUUj5uO#F+<9F$=*wb$1G!v|bWCc# zY6rtnw7r<$h}zVAaskY6a}Ze-K#fB`d7J#ll$}+e8LIcEDeiBR=C=c+#~?M`p1_-5NCpHu)dbe`?Yj$D96y9vXntzU`yb_!Af zt}d^q-e>x(x0(%HU0z!aVqRk*u;se3eOs=Ju@K~AT3rF^#MKOBdHK(}3*2{ixDV+z z2mnsOMXTAsP2t~6h(QRa5I-|XJO6Wm-JR{&whdANPHMl`07wAX-+zsxqm$@S>ra&! zggBqkwvqaPllJNJ7rE{@xEz9h>=0jD^6jpFdXad>CVlF~%5Uj4{R-V@uAf z_*Q>JNL#g5mtMsukBjuPxL5I|cX$v5>V54_58uCi&E!{Euj0!W&!0|hE0^|AE&%`} zWgO&%5j{}%^3{kOZo{ki^25jX)+<4##1==B8c^0*a~D9r{7s8k8lRQv9Ug%4S&+yT zkmc+row;)V4@erR0LQ0iX^kT>)G^L|7f_$>)mmMeOX0ga+nE;U`1B0r(%zjVaWM$- u?(LiG7f2WJ#b_D7j4{R-V~jDzR>xmbVFZW9&$KK60000