From 8057fad4d36a88225b0bac8699e4cc7637e988a3 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:08:05 +0300 Subject: [PATCH] Skeleton demiplane antag (#609) * skeletons! ack * nerf skeletons --- .../Locale/en-US/_CP14/ghostRoles/roles.ftl | 2 + .../Locale/en-US/_CP14/ghostRoles/rules.ftl | 1 + .../Locale/ru-RU/_CP14/ghostRoles/roles.ftl | 2 + .../Locale/ru-RU/_CP14/ghostRoles/rules.ftl | 1 + .../_CP14/Body/Prototypes/skeleton.yml | 40 ++++++ .../_CP14/Entities/Body/Parts/skeleton.yml | 95 ++++++++++++++ .../_CP14/Entities/Mobs/NPC/skeleton.yml | 40 ++++++ .../Mobs/NPC/{undead.yml => zombie.yml} | 0 .../_CP14/Entities/Mobs/Species/skeleton.yml | 117 ++++++++++++++++++ .../_CP14/Entities/Objects/Tools/torch.yml | 8 +- .../_CP14/Loadouts/Jobs/general.yml | 1 - .../Misc}/undead_startinggear.yml | 9 ++ .../Procedural/Demiplane/Modifiers/test.yml | 26 ++-- .../Prototypes/_CP14/Species/skeleton.yml | 94 ++++++++++++++ .../Mobs/Species/Skeleton/parts.rsi/full.png | Bin 0 -> 709 bytes .../Mobs/Species/Skeleton/parts.rsi/head.png | Bin 0 -> 600 bytes .../Mobs/Species/Skeleton/parts.rsi/l_arm.png | Bin 0 -> 291 bytes .../Species/Skeleton/parts.rsi/l_foot.png | Bin 0 -> 335 bytes .../Species/Skeleton/parts.rsi/l_hand.png | Bin 0 -> 273 bytes .../Mobs/Species/Skeleton/parts.rsi/l_leg.png | Bin 0 -> 359 bytes .../Mobs/Species/Skeleton/parts.rsi/meta.json | 54 ++++++++ .../Mobs/Species/Skeleton/parts.rsi/r_arm.png | Bin 0 -> 292 bytes .../Species/Skeleton/parts.rsi/r_foot.png | Bin 0 -> 329 bytes .../Species/Skeleton/parts.rsi/r_hand.png | Bin 0 -> 278 bytes .../Mobs/Species/Skeleton/parts.rsi/r_leg.png | Bin 0 -> 356 bytes .../Mobs/Species/Skeleton/parts.rsi/torso.png | Bin 0 -> 740 bytes .../Mobs/Species/Zombie/parts.rsi/r_arm.png | Bin 386 -> 380 bytes .../Mobs/Species/Zombie/parts.rsi/torso.png | Bin 957 -> 952 bytes 28 files changed, 481 insertions(+), 9 deletions(-) create mode 100644 Resources/Locale/en-US/_CP14/ghostRoles/roles.ftl create mode 100644 Resources/Locale/en-US/_CP14/ghostRoles/rules.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/ghostRoles/roles.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/ghostRoles/rules.ftl create mode 100644 Resources/Prototypes/_CP14/Body/Prototypes/skeleton.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Body/Parts/skeleton.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Mobs/NPC/skeleton.yml rename Resources/Prototypes/_CP14/Entities/Mobs/NPC/{undead.yml => zombie.yml} (100%) create mode 100644 Resources/Prototypes/_CP14/Entities/Mobs/Species/skeleton.yml rename Resources/Prototypes/_CP14/{Roles/Jobs/Fun => Loadouts/Misc}/undead_startinggear.yml (88%) create mode 100644 Resources/Prototypes/_CP14/Species/skeleton.yml create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/full.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/head.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/l_arm.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/l_foot.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/l_hand.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/l_leg.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/r_arm.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/r_foot.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/r_hand.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/r_leg.png create mode 100644 Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/torso.png diff --git a/Resources/Locale/en-US/_CP14/ghostRoles/roles.ftl b/Resources/Locale/en-US/_CP14/ghostRoles/roles.ftl new file mode 100644 index 0000000000..1b4c66989e --- /dev/null +++ b/Resources/Locale/en-US/_CP14/ghostRoles/roles.ftl @@ -0,0 +1,2 @@ +cp14-ghost-role-information-name-skeleton = Demiplane skeleton +cp14-ghost-role-information-description-skeleton = A spawn of necromancy that seeks to kill all living things that have infiltrated the demiplane. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/ghostRoles/rules.ftl b/Resources/Locale/en-US/_CP14/ghostRoles/rules.ftl new file mode 100644 index 0000000000..b9c14ffc57 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/ghostRoles/rules.ftl @@ -0,0 +1 @@ +cp14-ghost-role-information-rules-demiplane = Вы - [color=red]антагонист демиплана[/color]. Ваша задача - убить вторженцев в демиплан любой ценой. Вы можете выполнять свою цель любыми способами. Вы не помните вашу прошлую жизнь, и вам абсолютно [color=red]НЕ[/color] разрешается помнить, скажем, имя, внешность и т.д. вашего предыдущего персонажа. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/ghostRoles/roles.ftl b/Resources/Locale/ru-RU/_CP14/ghostRoles/roles.ftl new file mode 100644 index 0000000000..2e4daa2fb5 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/ghostRoles/roles.ftl @@ -0,0 +1,2 @@ +cp14-ghost-role-information-name-skeleton = Скелет демиплана +cp14-ghost-role-information-description-skeleton = Порождение некромантии, стремящееся убить все живое, проникшее в демиплан. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/ghostRoles/rules.ftl b/Resources/Locale/ru-RU/_CP14/ghostRoles/rules.ftl new file mode 100644 index 0000000000..b9c14ffc57 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/ghostRoles/rules.ftl @@ -0,0 +1 @@ +cp14-ghost-role-information-rules-demiplane = Вы - [color=red]антагонист демиплана[/color]. Ваша задача - убить вторженцев в демиплан любой ценой. Вы можете выполнять свою цель любыми способами. Вы не помните вашу прошлую жизнь, и вам абсолютно [color=red]НЕ[/color] разрешается помнить, скажем, имя, внешность и т.д. вашего предыдущего персонажа. \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Body/Prototypes/skeleton.yml b/Resources/Prototypes/_CP14/Body/Prototypes/skeleton.yml new file mode 100644 index 0000000000..c9eddedcc4 --- /dev/null +++ b/Resources/Prototypes/_CP14/Body/Prototypes/skeleton.yml @@ -0,0 +1,40 @@ +- type: body + id: CP14Skeleton + name: skeleton + root: torso + slots: + head: + part: CP14HeadSkeleton + connections: + - torso + torso: + part: TorsoHuman + connections: + - right_arm + - left_arm + - right_leg + - left_leg + right_arm: + part: CP14RightArmSkeleton + connections: + - right_hand + left_arm: + part: CP14LeftArmSkeleton + connections: + - left_hand + right_hand: + part: CP14RightHandSkeleton + left_hand: + part: CP14LeftHandSkeleton + right_leg: + part: CP14RightLegSkeleton + connections: + - right_foot + left_leg: + part: CP14LeftLegSkeleton + connections: + - left_foot + right_foot: + part: CP14RightFootSkeleton + left_foot: + part: CP14LeftFootSkeleton diff --git a/Resources/Prototypes/_CP14/Entities/Body/Parts/skeleton.yml b/Resources/Prototypes/_CP14/Entities/Body/Parts/skeleton.yml new file mode 100644 index 0000000000..651d1f0cde --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Body/Parts/skeleton.yml @@ -0,0 +1,95 @@ +- type: entity + id: CP14TorsoSkeleton + parent: CP14TorsoHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: torso + +- type: entity + id: CP14HeadSkeleton + parent: CP14HeadHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: head + +- type: entity + id: CP14LeftArmSkeleton + parent: CP14LeftArmHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + +- type: entity + id: CP14RightArmSkeleton + parent: CP14RightArmHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + +- type: entity + id: CP14LeftHandSkeleton + parent: CP14LeftHandHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + +- type: entity + id: CP14RightHandSkeleton + parent: CP14RightHandHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + +- type: entity + id: CP14LeftLegSkeleton + parent: CP14LeftLegHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: "l_leg" + - type: Icon + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: "l_leg" + - type: BodyPart + partType: Leg + symmetry: Left + +- type: entity + id: CP14RightLegSkeleton + parent: CP14RightLegHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: "r_leg" + - type: Icon + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: "r_leg" + - type: BodyPart + partType: Leg + symmetry: Right + +- type: entity + id: CP14LeftFootSkeleton + parent: CP14LeftFootHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + +- type: entity + id: CP14RightFootSkeleton + parent: CP14RightFootHuman + categories: [ ForkFiltered ] + components: + - type: Sprite + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/skeleton.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/skeleton.yml new file mode 100644 index 0000000000..ad1476f868 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/skeleton.yml @@ -0,0 +1,40 @@ +- type: entity + id: CP14MobUndeadSkeleton + parent: CP14BaseMobSkeleton + name: skeleton + description: animated by the dark magic of a fragile skeleton. Skeletons are usually extremely intelligent creatures, controlled by a recently deceased soul. + categories: [ ForkFiltered ] + components: + - type: NpcFactionMember + factions: + - CP14Undead + - type: Loadout + prototypes: + - CP14MobSkeleton + - type: CP14SkillsStorage + - type: CP14AutoAddSkill + skills: + - Warcraft + +- type: entity + id: SpawnPointGhostDemiplaneSkeleton + name: ghost role spawn point + suffix: rat king + categories: [ ForkFiltered ] + parent: MarkerBase + components: + - type: GhostRole + name: cp14-ghost-role-information-name-skeleton + allowMovement: true + description: cp14-ghost-role-information-description-skeleton + rules: cp14-ghost-role-information-rules-demiplane + raffle: + settings: default + - type: GhostRoleMobSpawner + prototype: CP14MobUndeadSkeleton + - type: Sprite + sprite: Markers/jobs.rsi + layers: + - state: green + - sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: full \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/undead.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/zombie.yml similarity index 100% rename from Resources/Prototypes/_CP14/Entities/Mobs/NPC/undead.yml rename to Resources/Prototypes/_CP14/Entities/Mobs/NPC/zombie.yml diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/skeleton.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/skeleton.yml new file mode 100644 index 0000000000..806c861a33 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/skeleton.yml @@ -0,0 +1,117 @@ +- type: entity + parent: + - BaseMobSpecies + - MobFlammable + id: CP14BaseMobSkeleton + name: Mr. Skeleton + abstract: true + components: + - type: HumanoidAppearance + species: CP14Skeleton + - type: Sprite + layers: + - map: [ "enum.HumanoidVisualLayers.Chest" ] + - map: [ "enum.HumanoidVisualLayers.Head" ] + - map: [ "enum.HumanoidVisualLayers.Snout" ] + - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.RArm" ] + - map: [ "enum.HumanoidVisualLayers.LArm" ] + - map: [ "enum.HumanoidVisualLayers.RLeg" ] + - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "shirt" ] + - map: [ "pants" ] + - map: [ "enum.HumanoidVisualLayers.LFoot" ] + - map: [ "enum.HumanoidVisualLayers.RFoot" ] + - map: [ "enum.HumanoidVisualLayers.LHand" ] + - map: [ "enum.HumanoidVisualLayers.RHand" ] + - map: [ "gloves" ] + - map: [ "shoes" ] + - map: [ "ears" ] + - map: [ "cloak" ] + - map: [ "eyes" ] + - map: [ "belt1" ] + - map: [ "belt2" ] + - map: [ "neck" ] + - map: [ "back" ] + - map: [ "enum.HumanoidVisualLayers.HeadSide" ] + - map: [ "enum.HumanoidVisualLayers.HeadTop" ] + - map: [ "enum.HumanoidVisualLayers.Tail" ] + - map: [ "mask" ] + - map: [ "head" ] + - map: [ "pocket1" ] + - map: [ "pocket2" ] + - map: ["enum.HumanoidVisualLayers.Handcuffs"] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - type: DamageVisuals + damageOverlayGroups: + Brute: + sprite: Mobs/Effects/brute_damage.rsi + color: "#555555AA" + Burn: + sprite: Mobs/Effects/burn_damage.rsi + - type: Icon + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: full + - type: Body + prototype: CP14Skeleton + requiredLegs: 2 + gibSound: /Audio/Effects/bone_rattle.ogg + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 50: Dead + - type: SlowOnDamage + speedModifierThresholds: + 40: 0.8 + 25: 0.6 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 130 + restitution: 0.0 + mask: + - MobMask + layer: + - MobLayer + - type: Damageable + damageContainer: Biological + damageModifierSet: Skeleton + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:GibBehavior { } + - type: Vocal + sounds: + Male: Skeleton + Female: Skeleton + Unsexed: Skeleton + #- type: ReplacementAccent + # accent: Skeleton + - type: FireVisuals + alternateState: Standing #TODO - custom visuals + - type: ContainerContainer + - type: Inventory + templateId: CP14Human + +- type: entity + parent: CP14BaseSpeciesDummy + id: CP14MobSkeletonDummy + categories: [ HideSpawnMenu ] + components: + - type: HumanoidAppearance + species: CP14Skeleton + - type: Inventory + templateId: CP14Human \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml b/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml index aa597a8971..631209bea8 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml @@ -86,4 +86,10 @@ path: /Audio/Items/candle_blowing.ogg #TODO sound params: variation: 0.05 - volume: 10 \ No newline at end of file + volume: 10 + +- type: entity + parent: CP14Torch + id: CP14TorchIgnited + components: + - type: CP14AutoIgnite \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml index 96bae3d93f..7782388bb1 100644 --- a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml @@ -428,7 +428,6 @@ actions: - CP14ActionSpellCureBurn - - type: loadout id: CP14ActionSpellBloodPurification dummyEntity: CP14ActionSpellBloodPurification diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Fun/undead_startinggear.yml b/Resources/Prototypes/_CP14/Loadouts/Misc/undead_startinggear.yml similarity index 88% rename from Resources/Prototypes/_CP14/Roles/Jobs/Fun/undead_startinggear.yml rename to Resources/Prototypes/_CP14/Loadouts/Misc/undead_startinggear.yml index 08ef3617a4..c3c306fe69 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Fun/undead_startinggear.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Misc/undead_startinggear.yml @@ -51,3 +51,12 @@ back: CP14BaseShield head: CP14ClothingHeadCapellina mask: CP14ClothingMaskSteelMask + +- type: startingGear + id: CP14MobSkeleton + equipment: + pants: CP14ClothingPantsLoincloth + neck: CP14BaseSword + belt1: CP14BaseDagger + inhand: + - CP14TorchIgnited \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/test.yml b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/test.yml index 169fd14b38..dccbeb8769 100644 --- a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/test.yml +++ b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/test.yml @@ -305,14 +305,14 @@ layers: - !type:OreDunGen entity: CP14SpawnerExpeditionLootCommon - count: 15 - minGroupSize: 1 + count: 20 + minGroupSize: 2 maxGroupSize: 3 - type: cp14DemiplaneModifier id: EnemyXeno name: cp14-modifier-xeno - difficulty: 0.5 + difficulty: 0.4 requiredTags: - CP14DemiplaneUnderground layers: @@ -330,7 +330,7 @@ - type: cp14DemiplaneModifier id: EnemyZombie name: cp14-modifier-zombie - difficulty: 0.4 + difficulty: 0.3 generationWeight: 1.5 layers: - !type:OreDunGen @@ -339,10 +339,22 @@ minGroupSize: 5 maxGroupSize: 8 +- type: cp14DemiplaneModifier + id: EnemySkeleton + name: cp14-modifier-zombie + difficulty: 0.3 + generationWeight: 1.5 + layers: + - !type:OreDunGen + entity: SpawnPointGhostDemiplaneSkeleton + count: 1 + minGroupSize: 2 + maxGroupSize: 3 + - type: cp14DemiplaneModifier id: EnemyDyno name: cp14-modifier-dyno - difficulty: 0.5 + difficulty: 0.3 requiredTags: - CP14DemiplaneOpenSky - CP14DemiplaneGrass @@ -356,7 +368,7 @@ - type: cp14DemiplaneModifier id: SmallHydra name: cp14-modifier-dyno - difficulty: 0.5 + difficulty: 0.3 requiredTags: - CP14DemiplaneGrass layers: @@ -369,7 +381,7 @@ - type: cp14DemiplaneModifier id: MonsterMosquito name: cp14-modifier-dyno - difficulty: 0.5 + difficulty: 0.15 requiredTags: - CP14DemiplaneGrass layers: diff --git a/Resources/Prototypes/_CP14/Species/skeleton.yml b/Resources/Prototypes/_CP14/Species/skeleton.yml new file mode 100644 index 0000000000..4865434449 --- /dev/null +++ b/Resources/Prototypes/_CP14/Species/skeleton.yml @@ -0,0 +1,94 @@ +- type: species + id: CP14Skeleton + name: cp14-species-name-human + roundStart: false + prototype: CP14BaseMobSkeleton + sprites: CP14MobSkeletonSprites + markingLimits: MobHumanMarkingLimits + dollPrototype: CP14MobSkeletonDummy + skinColoration: TintedHues + defaultSkinTone: "#ffffff" + maleFirstNames: CP14_Names_Human_Male_First + femaleFirstNames: CP14_Names_Human_Female_First + lastNames: CP14_Names_Human_Last + +- type: speciesBaseSprites + id: CP14MobSkeletonSprites + sprites: + Head: CP14MobSkeletonHead + Chest: CP14MobSkeletonTorso + Eyes: CP14MobSkeletonEyes + LArm: CP14MobSkeletonLArm + RArm: CP14MobSkeletonRArm + LHand: CP14MobSkeletonLHand + RHand: CP14MobSkeletonRHand + LLeg: CP14MobSkeletonLLeg + RLeg: CP14MobSkeletonRLeg + LFoot: CP14MobSkeletonLFoot + RFoot: CP14MobSkeletonRFoot + +- type: humanoidBaseSprite + id: CP14MobSkeletonEyes + baseSprite: + sprite: _CP14/Mobs/Customization/eyes.rsi + state: eyes + +- type: humanoidBaseSprite + id: CP14MobSkeletonHead + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: head + +- type: humanoidBaseSprite + id: CP14MobSkeletonTorso + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: torso + +- type: humanoidBaseSprite + id: CP14MobSkeletonLLeg + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: CP14MobSkeletonLArm + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: CP14MobSkeletonLHand + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: CP14MobSkeletonLFoot + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: CP14MobSkeletonRLeg + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: CP14MobSkeletonRArm + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: CP14MobSkeletonRHand + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: CP14MobSkeletonRFoot + baseSprite: + sprite: _CP14/Mobs/Species/Skeleton/parts.rsi + state: r_foot \ No newline at end of file diff --git a/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/full.png b/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..d164b1c9a3abc6ad0e0f7256bf58e117301b01ac GIT binary patch literal 709 zcmV;$0y_PPP)Px%e@R3^R9J=8R#8|&}p|ohz0-{4SVo?Ps%v(&LZ4zcesCicvle$M}QCwhvNml?;(t0?6*6FQH;^B zC%ToK1IyJ0-@kn+wc&ELk#eAM$fmkZfh7N@vxmEG+J>(|fI(kF7{vg9nQb@Tw^op` z-s$XN(ARkJWeYF6#^iuz?D(lpfRN;5j_WF66m!G(j}QD|#+lsd>~W{+P+J4O@9~hb z_EU+9tAFJ(X+0#)Ij*Y=`dVpT2s>bz24#5#k~EZ!rn4aXJ&a;lra|k{P?-WkG|X&U zVRgW2fN=nORHA|qjpyDn4LY-JrAZnpBT!_xr{@=CG9J@x#RI^8yTj@1!Es%sN?+Ik zW+ZFOab3l6Q%1bSfVcGCLS=r6r|q;`IU}8Ri@%G;8DA8mQbc70Sk4Ja+bpGAufz?9 z<0Ut!0KjppEHogZ$#_hYjgpg0b)CKj0oWS*e%I~tb}j0B7^b>TZ`}uhq$U_$i$G`? z6~miFvMzrwXpHq@UW$Tc8g#vw3!fg47{`a>1*`@bPG_%C%iTilFe+j+>~Y3p81yyi z3yF{eZxvwE@3$b7f-s5^Mjx93;VwwtT8?0fDG@>A6s#9>8b&b)(Q;!KNFu;4E~4Gg rI0B4jm#a;Q;r{%mgMM;j{;%*GRElV|w_Ub#00000NkvXXu0mjfR%}SG literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/head.png b/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/head.png new file mode 100644 index 0000000000000000000000000000000000000000..a9fa34546067bbeb6bf2d8e18ef77c454eaa72aa GIT binary patch literal 600 zcmV-e0;m0nP)Px%5=lfsRCt{2+97Y-Koke?f2RU}ggX~h4$L=5P+OHObQ;KTVA%=_2U|86yn-mS zBT*8xk!f(yr-0i22xcCb?s`opt?xB<7482+$w}w;@_fEnx(EE{4m6W)t}dGGv5%iV ztFHCh@x_yFt}dD^>)|*%4r3d)fpd8$Mc8$G(S$g-v1u5u%A%7Zv=RSMn@m*}+NnEH zl?9AVUz~@i0KWRSU%mnW#vk53`rNkdr62$JcwFL*W|B1thJ!u;U^wW*nnV>`W8*fW z@qc;ICb(X%aB_C~Dx08lc^LEGHSxuJK$i9J?fWk{m!qs|td}d4RUKAD+sdj2kcY>? z7yr+=oVWn9`2z3Xoj>^-n#~ug1f;H~(}VG76y5`z%kkr9j@!GtZr%d`U_2T%N9n`g z(0x&;6CffYA|fIpA|fIp>ds#F2kbJ3z3UIybq;&gAJ9e);?v>31@_}z@v-9Labr_e z4&wd*&j*kD1GEQ}5JW)5Z%q<{cF`x`V+;rVM@Qt^P7zT7e870A zot&Kl0M^TuxcVAd)(d?J+e_Z>0TSX3>vA$_{9W+90@fs9X)e*h=ZpBRsM`;Rcl1|?P%BseF@$lTU mKY@sdh=_=Yh=_>j8GZx8JTmhPohKv!0000kF8Ed^X&z5XIin@ul`g zzxEd!pfwOMVa2K~-fuEL-H*1O&}$|0w{zopr09ev|cUzh(FFxR2q1^jM+S5TrqQ}X|X`7(unGV)Ymstng6*j~& zNzZ0uvQ~KiRiCTO2s9i5#2=ngS|a88&~E;8mA$3A)n+a)$`uUKspy`u zcUGZH(akgO?o`y8YnGf+O0k)F(sKRLqNR1~g>{VnpGq|@I(OP~{l}EFY1!XmR|kr8 zwdM-;U1d9K!Ds(@ryX0f%T`I4Eez)xPj;-lyNdPs9=G`5sowspY_1C%@AA5mBj7&a z#q_N0S^M2Sw!h(-@rM0RJJ5Ww(^vD-9|U9`ww@c3HMg#^X2<0ZpQE>%mq{y&r!&t{ Vci3~RI=mTVx~Hq3%Q~loCIE{dgyaAK literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/l_hand.png b/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/l_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..89d06605623da512079be7c0c9896481cba3b68a GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|PJ6mIhE&XX zdrOh;kb_9e!|ArCdNegEzu|oqel0MvbM0fkI}4U8$S}IE|0uAeWx@oLyRjZ8 z|Ia)->*SA0C7>BV@FCoK`TF-EOSj%Kn|kfs%KU5U-4`02FK%1;<=XeS$l0Ze$3!;W zUZ-;YlEUA6y3Xv+BDIc*od3Ua_Pnk3GLtVw)jlcdEZ>>0x%TQp3y6V0vf;l-_OU+I zA2xD8D%EcCXO6AKv(i`2(Z7DNxa!02hWO0cUe0$_&xnzopr0F%{oivR!s literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/l_leg.png b/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/l_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc539c15663667a4b87277c55c477355d03a09b GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z6+K-XLn`LH zy|u8Y*+Jmg$6WPA{TEJIOP)-ait>5WPbqI*L(O*SZR(#e!zWc`1)H4WJEbTY zW074gDbN0Yt~q@`wg^1hU>N37w04J^e?R~J z(se!`^zyE)cD!GgyE$&g7!}Eil zoxa%KSNHD#*?WyYe7yNLYAX8#wQtYW?wMZtr&l4~yD>zXXiJ(eP`fxclF2n zy@FT&HW-Sy>K(gruU=`Z>dK8*-X1^4&|r72^;OEcXID~xgDmrO^>bP0l+XkKcEz9@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/meta.json b/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/meta.json new file mode 100644 index 0000000000..ebd60303ce --- /dev/null +++ b/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/meta.json @@ -0,0 +1,54 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "Created by KREKS", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "head", + "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", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/r_arm.png b/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..6d20e99519eb35e3d0b182d7828947856945ef67 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|?s>X6hE&XX zdrOh8*+8Q0;rvu_&2;BSW}S0Vv&y8*Zw3qWF$ncFycRiq=GG=thnv4&Ec+R>FX>k| zP%lH+a~&*UpaI3@0kXOs5dSyRPiw?+~ z`{l5P*V06@IngWEemI+(>k#>5nfx(>PO)qJkKfC`FWfIR@kf-w)488+M@U~NE&TJt zuG7{YWDOXE1&i(Md^^`bWB&1DH!Rpy?!EoE@#1fWqH_bEVvq!q8s&49a66#Ip=y7UJoN&U$@e@a3H)Gq%mw63} zlK;-DJbHI#?q2g(E=)jUAz+@<>E%DN4K_^La{Ilhuh9CX049f zzW8QM;O?*X-;(2h*RFrb472CKOcO1)uEiJh!lP^V?AJUU#OwZe_3!Uq?ec5S{Y*&? z-F5V|P245lu#bUr{`3EMJ>~dw*OeArZ~v>mT6u|;$Nh2Gw57Aoia*a6;w@!(De66` SROtQ*klCKDelF{r5}E*%^p6Gr literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/r_hand.png b/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/r_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..2d9b95e3b996135409614278f95fc5b5c321dc77 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|E_k{)hE&XX zduy#wlY_v4k5>&pa0t9tnz-~2JGbg>zc%&gwbWx@uI+ut6?ZG_RMPGh?i@A#msCWS zZaFgX-QN8#xsFW~Te?L<^^(c+lU;w7-Tk+t>ffK0>%tccryb+TQiT`@B4?a3SGzLz z@yDH>!ntC+xx8Pj5|6QH>Ez$AvV~};8u6{1-oD!M<1VERo literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/torso.png b/Resources/Textures/_CP14/Mobs/Species/Skeleton/parts.rsi/torso.png new file mode 100644 index 0000000000000000000000000000000000000000..6238337caef0584200a7e2755341b5bb85caf373 GIT binary patch literal 740 zcmVPx%o=HSORCt{2nxS(VK@`TnbSn50;1D-&Wh8?E)plxnvX0uWM72m{WT~o5HLenw zL?tE@8F@Dm4g3kXt+>2pA!$4NU@4itpE+i^yKndHyW5?6AD}3Tq9}@@JP!s%;bPkV z#!<}4BWqo&*}&(MZ;!5}-%ey6ew9yOxFd)Rh=9whTd&1~@Ar;H_lyd_e6a*jg2>?2o7cWQoQ0HJ zUfrVAY^-HKO)1tFWdNrh6LusetPj*P&&O>tFe(7oH!FeFpjR0X{-1*I{$U1iFeLg> z0qAy&7rr<<_wC{1Fr7vBAzB~!T?WMKN58QLMd7*~v-Z5Tnhjjvl$g$D$yR_({moTC zsxR*FWIS|4231u?FFm_pSNc&GPR2vO+2D1Tk4(y7q|kp6bMkz#d{~Q(PkVkd6Pe`8 zU<&={*&12ve%{{$0H(9q5pO};S(bDccqsacq9}@@D2k#eilQirqWouspQaBDN#CMA zivxB2?GS@784sPLHYoax%>IC|PPgys5Lbp+pUB|-$4}9Hh|YjPQTV~k z_m&kSYu%=PRh1%}OjLCksEZNp%(}1^&m95aQWqyi*1ExmcL3l$3T%#$6i1^20N{~B zgDbTA;^ORl!yy7l%^9KqY`$!G2DoIEl3F7}IN)u}8RB&1=Z(DrJouC~y09+T&N5#h z1t9h&h%$iT!Pmwm<6lOpXf+$?_uhJq`C^G~$82TI5k-ytf}v-xwyq(0g_c*Fe(!kA zA1L)GiaX1D0Z#vY*keKlMdA1{knRBhVE|YhfXJP>E7&;-;Gax_q9}@@D2k#yV}1eA WvXi3(*XVWt0000lthfri-vIYe$$k0@zH_G1 z1MpUWHddXVomS0NtB=pGrXv6V000000002AKrDk2QbGN`?5u$6!ahFCqUags5j97D z65Gr`9?^hAo=w%;`>}E~MqIv!qcTsgi)dQrMM_nGHnue_=+akUH=jrU_LVB}5xl#- mZ^g!gwe9~800000|Jok(22W+KC2ySo0000f)uGkw+;@jItYc^1;Hn96-PIn zbn`_V3T|%gqC+<+(!niDhPVj6z_}PW#Jl{Ht9K@RKXWL*r2pI<{QpV;005xbxG2iL zGe{hro&@FGlq?z-MR`0qj7!w9gZ;grL)h{yaGM_u2knw|q<@mLe40LN_|}UmAeGHK zA$c1Qpj!Ic*mkKp;&Mu_g0})j!-3Mqs>O1(hIoH(v0N!_thfri&j9zMlKb=@eCI5s z2jHy$ZLHee*>0PwQ|}+2eMbNQ000000002UKq`Y0QbGN`>a2k4!rooqCebsjBWjNR zCbgM?I-&uII#bUtuj|Uu8*%ym9F@6$oF~&VZxU4j+SqJb(9u`mZ8l5(-&ZQ)A$Wdv sk;TS?<@Wvu0000oaCvjZXF4K%0d2xj*fR^d`Tzg`07*qoM6N<$f+rrL)c^nh diff --git a/Resources/Textures/_CP14/Mobs/Species/Zombie/parts.rsi/torso.png b/Resources/Textures/_CP14/Mobs/Species/Zombie/parts.rsi/torso.png index a471324dee51742b9a47b749f1032c5ae62e9a55..d94ff093811f4fbaf028ac4db9c78868dea4cc96 100644 GIT binary patch delta 917 zcmV;G18V%e2e=22F@JJNL_t(|obB2{Xj^q0!0~U4>BGL#FgBY>R6+-R+hmo79TZgN z;x0jyfrSa(#e)|aV~5_lQ@wd}42FkYI!wp-H9qVz(cRH0~D0K7gjLLwfcP^yqw zS@VvmQYt`pb${J^JW>6d=7%46uibX+rR?fDXVNFViRhk?`Nf}}@iqKL%jrj)~rGGdwh? zoZJt$&AU4QAb0n7<#@^ks6X1m+}lnbHR%_>*%PZvUp8gB~b}n@8qU#>(O9yO(!?dea@_-SIvJnmg(5_ZtXjpjw zs@#^}Z6WmICDkt+NT)EOQPR53q3vx(ZJTzr%4<`Tz6YVgo%KXKMrLJgM?w5h>VU?B zKSJ+K9Dj4}-!b{|jW@~N&XGJmLGr<$j7=Ql`%B;T>{p;GySnaO^TqN*GOT&e{pk6C z_nMJPIRKk~J)}{up$|vdckopJ@=HrE-1!J0gb+dqA%qY@2q8pY1^yS+y(`1otoQ9- zStFHlM)p0~gt>M7MxdO^J44;hq)!4*HYR=mr+?Q)Fj6V!lN0ZH8zQ%^-v|^>d1t8G z*4zSxQiUVe=9x0hpy8fs$}~B0ZJt7@!q(hE;CO)wFg-it44$22Y}usQY6l+7vud{5 zj4hiCo}J{sZkl>lfi8jl-(KPIK!k;@CPp+$KGgdqU?~*BAVmI`ET1m_%Kpc}3LmHg zw10sJ_aYi;UH5j0`(Yy-Cavq-i)d&AkwCEm72rat9Lm>f+|)Eqb>A=0L#J9TZfY9& zT8#^(a-g;gya)n}+BS=g2IXXOFT(w=ax%$cqrs?cd&h#V1A(1Cdf0JyZTrDUrJVCe r4?CZq`||moxDY}JA%qa(h4l~7!C$Z*BMuvX00000NkvXXu0mjf6<*S8 delta 922 zcmV;L17-ZU2fYW7F@JYSL_t(|obB2{Xj^q0!0~U4X|S&}jA=88O6Z_(o2=5{K|y8i zxl0gbU|~Xc@!&C9x-n$C1EMa z(#P{K-Xo3G?Vs1A41S+Wl9%N7`@i4+mp_mE9|$3Y5JHHjdw>74({7OW_aguF?98q? zre|l|Zt{mzKK$*K%WlCc^Yz6`|N7qa?2MaC#QExrb4oE)^8*yDGTGI2-g)ay|1p_} z11RTzQFRc>MBFb#`>}p%&)0tP-B2n(!7BU7c1zk`lwK%UWs0^9z-uETBolE8R+-Go zntx1{QUS87>wo^^iONG7AAaD!_S&(Rva9QyNuTs5qH{v#7k^fcsZ;=av*w@dp|%bf zx-v)Ymkjp!xbgs0^Lw)m_(dq%HbvXU-mEFdR9*uzI_BN5lB}N^G25=|(5`T?}ap+41%Jm{z4i9?)YkHo{>5T9pb64J!{o zmDlpSEri{8LG=qSrw#O2jI^e4czc^s$DviJ@aoiL*Mm^u&3ZBsC$qA)qafW->VW$F zKSS?L9DjH3-8T8@^*6}f%8`0|g4F%L7@IiG50}61*;Sw?ySncG=8L5VWLWc`ccbS6 z-fOyHxB#1fKcHT#q7BD5aOf2P@=Ht4-T4S1gb+dqA%qY@2q8pY1^yS+yDP)qto7|* zS=}()kpoXQVQyZ#9w?{s&QPZ_>65^djfo$@?SFL$PLgatV^6Bz#9DE$C@PRrY zI)4!1ZX`-t)BIiHe%J_yNoyK+BT=FQkwCEm72twZ3gxR+ZbYM;>bzf|hfXz{+=xcW zSF2pGN`cxg@FEB>>NqUc>y%Qdy$JWeN~si!^*W=D;~xvU4g_}o*b&#;we1JpFx>OU wj<}zn`*MFzTnHhA5Mn>=`&FP2&$oX7$`jgRBL>}hoB#j-07*qoM6N<$f*bwUYXATM