diff --git a/Content.Server/Corvax/Speech/Components/GrowlingAccentComponent.cs b/Content.Server/Corvax/Speech/Components/GrowlingAccentComponent.cs new file mode 100644 index 00000000000..2e273c82782 --- /dev/null +++ b/Content.Server/Corvax/Speech/Components/GrowlingAccentComponent.cs @@ -0,0 +1,10 @@ +namespace Content.Server.Corvax.Speech.Components; + +/// +/// Rrrr! +/// +[RegisterComponent] +public sealed partial class GrowlingAccentComponent : Component +{ + +} diff --git a/Content.Server/Corvax/Speech/EntitySystems/GrowlingAccentSystem.cs b/Content.Server/Corvax/Speech/EntitySystems/GrowlingAccentSystem.cs new file mode 100644 index 00000000000..0eec58762de --- /dev/null +++ b/Content.Server/Corvax/Speech/EntitySystems/GrowlingAccentSystem.cs @@ -0,0 +1,50 @@ +using System.Text.RegularExpressions; +using Content.Server.Corvax.Speech.Components; +using Content.Server.Speech; +using Robust.Shared.Random; + +namespace Content.Server.Corvax.Speech.EntitySystems; + +public sealed class GrowlingAccentSystem : EntitySystem +{ + [Dependency] private readonly IRobustRandom _random = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnAccent); + } + + private void OnAccent(EntityUid uid, GrowlingAccentComponent component, AccentGetEvent args) + { + var message = args.Message; + + // r => rrr + message = Regex.Replace( + message, + "r+", + _random.Pick(new List { "rr", "rrr" }) + ); + // R => RRR + message = Regex.Replace( + message, + "R+", + _random.Pick(new List { "RR", "RRR" }) + ); + + // р => ррр + message = Regex.Replace( + message, + "р+", + _random.Pick(new List { "рр", "ррр" }) + ); + // Р => РРР + message = Regex.Replace( + message, + "Р+", + _random.Pick(new List { "РР", "РРР" }) + ); + + args.Message = message; + } +} diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/corvax/body/organs/vulpkanin.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/corvax/body/organs/vulpkanin.ftl new file mode 100644 index 00000000000..0ceb733b428 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/corvax/body/organs/vulpkanin.ftl @@ -0,0 +1,2 @@ +ent-OrganVulpkaninStomach = { ent-OrganAnimalStomach } + .desc = { ent-OrganAnimalStomach.desc } diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/corvax/body/parts/vulpkanin.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/corvax/body/parts/vulpkanin.ftl new file mode 100644 index 00000000000..472c66036c7 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/corvax/body/parts/vulpkanin.ftl @@ -0,0 +1,22 @@ +ent-PartVulpkanin = vulpkanin body part + .desc = { ent-BasePart.desc } +ent-TorsoVulpkanin = vulpkanin torso + .desc = { ent-PartVulpkanin.desc } +ent-HeadVulpkanin = vulpkanin head + .desc = { ent-PartVulpkanin.desc } +ent-LeftArmVulpkanin = left vulpkanin arm + .desc = { ent-PartVulpkanin.desc } +ent-RightArmVulpkanin = right vulpkanin arm + .desc = { ent-PartVulpkanin.desc } +ent-LeftHandVulpkanin = left vulpkanin hand + .desc = { ent-PartVulpkanin.desc } +ent-RightHandVulpkanin = right vulpkanin hand + .desc = { ent-PartVulpkanin.desc } +ent-LeftLegVulpkanin = left vulpkanin leg + .desc = { ent-PartVulpkanin.desc } +ent-RightLegVulpkanin = right vulpkanin leg + .desc = { ent-PartVulpkanin.desc } +ent-LeftFootVulpkanin = left vulpkanin foot + .desc = { ent-PartVulpkanin.desc } +ent-RightFootVulpkanin = right vulpkanin foot + .desc = { ent-PartVulpkanin.desc } diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/mobs/player/vulpkanin.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/mobs/player/vulpkanin.ftl new file mode 100644 index 00000000000..2462d20d658 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/mobs/player/vulpkanin.ftl @@ -0,0 +1,2 @@ +ent-MobVulpkanin = Urist McVulp + .desc = { ent-BaseMobVulpkanin.desc } diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/mobs/species/vulpkanin.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/mobs/species/vulpkanin.ftl new file mode 100644 index 00000000000..5376ef826c8 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/mobs/species/vulpkanin.ftl @@ -0,0 +1,4 @@ +ent-BaseMobVulpkanin = Urist McVulp + .desc = { ent-BaseMobOrganic.desc } +ent-MobVulpkaninDummy = Urist McHands + .desc = A dummy vulpkanin meant to be used in character setup. diff --git a/Resources/Locale/ru-RU/corvax/markings/vulpkanin.ftl b/Resources/Locale/ru-RU/corvax/markings/vulpkanin.ftl new file mode 100644 index 00000000000..ec9617b88e5 --- /dev/null +++ b/Resources/Locale/ru-RU/corvax/markings/vulpkanin.ftl @@ -0,0 +1,14 @@ +marking-PawSocks-pawsocks = Paw socks +marking-PawSocks = Paw socks +marking-FoxTail-vulp_tail = Fox tail +marking-FoxTail = Fox tail +marking-FoxEar-vulp_ear = Fox ear (outer) +marking-FoxEar-vulp_ear_inner = Fox ear (inner) +marking-FoxEar = Fox ear (inner) +marking-WolfTail-wolf_tail = Wolf tail (base) +marking-WolfTail-wolf_tail_inner = Wolf tail (tip) +marking-WolfTail = Wolf tail (tip) +marking-FoxBelly-vulp_belly-torso = Fox belly +marking-FoxBelly = Fox belly +marking-FoxSnout-vulp_face = Fox snout +marking-FoxSnout = Fox snout diff --git a/Resources/Locale/ru-RU/corvax/species/species.ftl b/Resources/Locale/ru-RU/corvax/species/species.ftl new file mode 100644 index 00000000000..5ec7d16784e --- /dev/null +++ b/Resources/Locale/ru-RU/corvax/species/species.ftl @@ -0,0 +1 @@ +species-name-vulpkanin = Вульпканин diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/body/organs/vulpkanin.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/body/organs/vulpkanin.ftl new file mode 100644 index 00000000000..0ceb733b428 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/body/organs/vulpkanin.ftl @@ -0,0 +1,2 @@ +ent-OrganVulpkaninStomach = { ent-OrganAnimalStomach } + .desc = { ent-OrganAnimalStomach.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/body/parts/vulpkanin.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/body/parts/vulpkanin.ftl new file mode 100644 index 00000000000..7227c866062 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/body/parts/vulpkanin.ftl @@ -0,0 +1,22 @@ +ent-PartVulpkanin = vulpkanin body part + .desc = { ent-BasePart.desc } +ent-TorsoVulpkanin = vulpkanin torso + .desc = { ent-PartVulpkanin.desc } +ent-HeadVulpkanin = vulpkanin head + .desc = { ent-PartVulpkanin.desc } +ent-LeftArmVulpkanin = left vulpkanin arm + .desc = { ent-PartVulpkanin.desc } +ent-RightArmVulpkanin = right vulpkanin arm + .desc = { ent-PartVulpkanin.desc } +ent-LeftHandVulpkanin = left vulpkanin hand + .desc = { ent-PartVulpkanin.desc } +ent-RightHandVulpkanin = right vulpkanin hand + .desc = { ent-PartVulpkanin.desc } +ent-LeftLegVulpkanin = left vulpkanin leg + .desc = { ent-PartVulpkanin.desc } +ent-RightLegVulpkanin = right vulpkanin leg + .desc = { ent-PartVulpkanin.desc } +ent-LeftFootVulpkanin = left vulpkanin foot + .desc = { ent-PartVulpkanin.desc } +ent-RightFootVulpkanin = right vulpkanin foot + .desc = { ent-PartVulpkanin.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/mobs/player/vulpkanin.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/mobs/player/vulpkanin.ftl new file mode 100644 index 00000000000..2462d20d658 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/mobs/player/vulpkanin.ftl @@ -0,0 +1,2 @@ +ent-MobVulpkanin = Urist McVulp + .desc = { ent-BaseMobVulpkanin.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/mobs/species/vulpkanin.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/mobs/species/vulpkanin.ftl new file mode 100644 index 00000000000..5376ef826c8 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/mobs/species/vulpkanin.ftl @@ -0,0 +1,4 @@ +ent-BaseMobVulpkanin = Urist McVulp + .desc = { ent-BaseMobOrganic.desc } +ent-MobVulpkaninDummy = Urist McHands + .desc = A dummy vulpkanin meant to be used in character setup. diff --git a/Resources/Prototypes/Corvax/Body/Organs/vulpkanin.yml b/Resources/Prototypes/Corvax/Body/Organs/vulpkanin.yml new file mode 100644 index 00000000000..fc0d5003cb1 --- /dev/null +++ b/Resources/Prototypes/Corvax/Body/Organs/vulpkanin.yml @@ -0,0 +1,7 @@ +- type: entity + id: OrganVulpkaninStomach + parent: OrganAnimalStomach + noSpawn: true + components: + - type: Stomach + maxVolume: 50 diff --git a/Resources/Prototypes/Corvax/Body/Parts/vulpkanin.yml b/Resources/Prototypes/Corvax/Body/Parts/vulpkanin.yml new file mode 100644 index 00000000000..5dc4bcef418 --- /dev/null +++ b/Resources/Prototypes/Corvax/Body/Parts/vulpkanin.yml @@ -0,0 +1,125 @@ +# TODO: Add descriptions (many) +# TODO BODY: Part damage +- type: entity + id: PartVulpkanin + parent: [BaseItem, BasePart] + name: "vulpkanin body part" + abstract: true + components: + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 3 + - ReagentId: Blood + Quantity: 10 + +- type: entity + id: TorsoVulpkanin + name: "vulpkanin torso" + parent: [PartVulpkanin, BaseTorso] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "torso_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 10 + - ReagentId: Blood + Quantity: 20 + +- type: entity + id: HeadVulpkanin + name: "vulpkanin head" + parent: [PartVulpkanin, BaseHead] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "head_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 5 + - ReagentId: Blood + Quantity: 10 + +- type: entity + id: LeftArmVulpkanin + name: "left vulpkanin arm" + parent: [PartVulpkanin, BaseLeftArm] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "l_arm" + +- type: entity + id: RightArmVulpkanin + name: "right vulpkanin arm" + parent: [PartVulpkanin, BaseRightArm] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "r_arm" + +- type: entity + id: LeftHandVulpkanin + name: "left vulpkanin hand" + parent: [PartVulpkanin, BaseLeftHand] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "l_hand" + +- type: entity + id: RightHandVulpkanin + name: "right vulpkanin hand" + parent: [PartVulpkanin, BaseRightHand] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "r_hand" + +- type: entity + id: LeftLegVulpkanin + name: "left vulpkanin leg" + parent: [PartVulpkanin, BaseLeftLeg] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "l_leg" + - type: MovementBodyPart + walkSpeed : 2.7 + sprintSpeed : 4.5 + +- type: entity + id: RightLegVulpkanin + name: "right vulpkanin leg" + parent: [PartVulpkanin, BaseRightLeg] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "r_leg" + - type: MovementBodyPart + walkSpeed : 2.7 + sprintSpeed : 4.5 + +- type: entity + id: LeftFootVulpkanin + name: "left vulpkanin foot" + parent: [PartVulpkanin, BaseLeftFoot] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "l_foot" + +- type: entity + id: RightFootVulpkanin + name: "right vulpkanin foot" + parent: [PartVulpkanin, BaseRightFoot] + components: + - type: Sprite + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: "r_foot" diff --git a/Resources/Prototypes/Corvax/Body/Prototypes/vulpkanin.yml b/Resources/Prototypes/Corvax/Body/Prototypes/vulpkanin.yml new file mode 100644 index 00000000000..3d1552ac81f --- /dev/null +++ b/Resources/Prototypes/Corvax/Body/Prototypes/vulpkanin.yml @@ -0,0 +1,49 @@ +- type: body + name: "vulpkanin" + id: Vulpkanin + root: torso + slots: + head: + part: HeadVulpkanin + connections: + - torso + organs: + brain: OrganHumanBrain + eyes: OrganHumanEyes + torso: + part: TorsoVulpkanin + organs: + heart: OrganAnimalHeart + lungs: OrganHumanLungs + stomach: OrganVulpkaninStomach + liver: OrganAnimalLiver + kidneys: OrganHumanKidneys + connections: + - left arm + - right arm + - left leg + - right leg + right arm: + part: RightArmVulpkanin + connections: + - right hand + left arm: + part: LeftArmVulpkanin + connections: + - left hand + right hand: + part: RightHandVulpkanin + left hand: + part: LeftHandVulpkanin + right leg: + part: RightLegVulpkanin + connections: + - right foot + left leg: + part: LeftLegVulpkanin + connections: + - left foot + right foot: + part: RightFootVulpkanin + left foot: + part: LeftFootVulpkanin diff --git a/Resources/Prototypes/Corvax/Damage/modifier_sets.yml b/Resources/Prototypes/Corvax/Damage/modifier_sets.yml new file mode 100644 index 00000000000..e6ada079303 --- /dev/null +++ b/Resources/Prototypes/Corvax/Damage/modifier_sets.yml @@ -0,0 +1,5 @@ +- type: damageModifierSet + id: Vulpkanin # Because of fur is more flammable and more resistant to cold. + coefficients: + Cold: 0.5 + Heat: 1.5 diff --git a/Resources/Prototypes/Corvax/Entities/Mobs/Customization/Markings/vulpkanin.yml b/Resources/Prototypes/Corvax/Entities/Mobs/Customization/Markings/vulpkanin.yml new file mode 100644 index 00000000000..a4959585715 --- /dev/null +++ b/Resources/Prototypes/Corvax/Entities/Mobs/Customization/Markings/vulpkanin.yml @@ -0,0 +1,57 @@ +- type: marking + id: PawSocks + markingCategory: Overlay + bodyPart: RFoot #highest possible layer + speciesRestriction: [Vulpkanin] + sprites: + - sprite: Corvax/Mobs/Customization/vulpkanin.rsi + state: pawsocks + +- type: marking + id: FoxTail + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Vulpkanin] + sprites: + - sprite: Corvax/Mobs/Customization/vulpkanin.rsi + state: vulp_tail + +- type: marking + id: FoxEar + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Vulpkanin] + sprites: + - sprite: Corvax/Mobs/Customization/vulpkanin.rsi + state: vulp_ear + - sprite: Corvax/Mobs/Customization/vulpkanin.rsi + state: vulp_ear_inner + +- type: marking + id: WolfTail + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Vulpkanin] + sprites: + - sprite: Corvax/Mobs/Customization/vulpkanin.rsi + state: wolf_tail + - sprite: Corvax/Mobs/Customization/vulpkanin.rsi + state: wolf_tail_inner + +- type: marking + id: FoxBelly + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Vulpkanin] + sprites: + - sprite: Corvax/Mobs/Customization/vulpkanin.rsi + state: vulp_belly-torso + +- type: marking + id: FoxSnout + bodyPart: Snout + markingCategory: Snout + speciesRestriction: [Vulpkanin] + sprites: + - sprite: Corvax/Mobs/Customization/vulpkanin.rsi + state: vulp_face diff --git a/Resources/Prototypes/Corvax/Entities/Mobs/Player/vulpkanin.yml b/Resources/Prototypes/Corvax/Entities/Mobs/Player/vulpkanin.yml new file mode 100644 index 00000000000..e917e972700 --- /dev/null +++ b/Resources/Prototypes/Corvax/Entities/Mobs/Player/vulpkanin.yml @@ -0,0 +1,5 @@ +- type: entity + save: false + name: Urist McVulp + parent: [BaseMobVulpkanin, BaseMob] + id: MobVulpkanin diff --git a/Resources/Prototypes/Corvax/Entities/Mobs/Species/vulpkanin.yml b/Resources/Prototypes/Corvax/Entities/Mobs/Species/vulpkanin.yml new file mode 100644 index 00000000000..865ea14c5b9 --- /dev/null +++ b/Resources/Prototypes/Corvax/Entities/Mobs/Species/vulpkanin.yml @@ -0,0 +1,66 @@ +- type: entity + save: false + name: Urist McVulp + parent: BaseMobSpeciesOrganic + id: BaseMobVulpkanin + abstract: true + components: + - type: HumanoidAppearance + species: Vulpkanin + - type: Hunger # on 1.5x more + thresholds: + Overfed: 250 + Okay: 200 + Peckish: 150 + Starving: 100 + Dead: 0 + baseDecayRate: 0.02 + - type: Thirst # on 1.5x more + thresholds: + OverHydrated: 650 + Okay: 500 + Thirsty: 350 + Parched: 200 + Dead: 0 + baseDecayRate: 0.15 + - type: Icon + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: full + - type: Body + prototype: Vulpkanin + requiredLegs: 2 + - type: Inventory + speciesId: digi + - type: ContentEye + targetZoom: "1.125, 1.125" + maxZoom: "1.125, 1.125" + - type: GrowlingAccent + - type: MeleeWeapon + animation: WeaponArcClaw + soundHit: + collection: AlienClaw + damage: + types: + Slash: 5 + - type: LightweightDrunk + - type: Damageable + damageContainer: Biological + damageModifierSet: Vulpkanin + - type: Respirator + damage: + types: + Asphyxiation: 2.0 + damageRecovery: + types: + Asphyxiation: -2.0 + +- type: entity + save: false + name: Urist McHands + parent: MobHumanDummy + id: MobVulpkaninDummy + noSpawn: true + description: A dummy vulpkanin meant to be used in character setup. + components: + - type: HumanoidAppearance + species: Vulpkanin diff --git a/Resources/Prototypes/Corvax/Species/vulpkanin.yml b/Resources/Prototypes/Corvax/Species/vulpkanin.yml new file mode 100644 index 00000000000..e302075534b --- /dev/null +++ b/Resources/Prototypes/Corvax/Species/vulpkanin.yml @@ -0,0 +1,141 @@ +- type: species + id: Vulpkanin + name: species-name-vulpkanin + roundStart: true + sponsorOnly: true # Corvax-Sponsors + prototype: MobVulpkanin + sprites: MobVulpkaninSprites + defaultSkinTone: "#eb943d" + markingLimits: MobVulpkaninMarkingLimits + dollPrototype: MobVulpkaninDummy + skinColoration: Hues + +- type: speciesBaseSprites + id: MobVulpkaninSprites + sprites: + Head: MobVulpkaninHead + Hair: MobHumanoidAnyMarking + FacialHair: MobHumanoidAnyMarking + Snout: MobHumanoidAnyMarking + Chest: MobVulpkaninTorso + HeadTop: MobHumanoidAnyMarking + HeadSide: MobHumanoidAnyMarking + Tail: MobHumanoidAnyMarking + Eyes: MobHumanoidEyes + LArm: MobVulpkaninLArm + RArm: MobVulpkaninRArm + LHand: MobVulpkaninLHand + RHand: MobVulpkaninRHand + LLeg: MobVulpkaninLLeg + RLeg: MobVulpkaninRLeg + LFoot: MobVulpkaninLFoot + RFoot: MobVulpkaninRFoot + +- type: markingPoints + id: MobVulpkaninMarkingLimits + points: + Hair: + points: 1 + required: false + FacialHair: + points: 0 + required: false + Tail: + points: 1 + required: true + defaultMarkings: [ FoxTail ] + Snout: + points: 1 + required: true + defaultMarkings: [ FoxSnout ] + HeadTop: + points: 1 + required: true + defaultMarkings: [ FoxEar ] + HeadSide: + points: 1 + required: false + +- type: humanoidBaseSprite + id: MobVulpkaninHead + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobVulpkaninHeadMale + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobVulpkaninHeadFemale + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: head_f + +- type: humanoidBaseSprite + id: MobVulpkaninTorso + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobVulpkaninTorsoMale + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobVulpkaninTorsoFemale + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: torso_f + +- type: humanoidBaseSprite + id: MobVulpkaninLLeg + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: MobVulpkaninLHand + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: MobVulpkaninLArm + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: MobVulpkaninLFoot + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: MobVulpkaninRLeg + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: MobVulpkaninRHand + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: MobVulpkaninRArm + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: MobVulpkaninRFoot + baseSprite: + sprite: Corvax/Mobs/Species/Vulpkanin/parts.rsi + state: r_foot diff --git a/Resources/Prototypes/Species/species_weights.yml b/Resources/Prototypes/Species/species_weights.yml index 63c196b95d6..f1b05d66e8d 100644 --- a/Resources/Prototypes/Species/species_weights.yml +++ b/Resources/Prototypes/Species/species_weights.yml @@ -5,4 +5,5 @@ Human: 5 Reptilian: 4 SlimePerson: 4 + Vulpkanin: 4 # Corvax-Vulp Diona: 2 diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/meta.json b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/meta.json new file mode 100644 index 00000000000..1a7ad688b67 --- /dev/null +++ b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/meta.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Occulus-Eris (https://github.com/Occulus-Server/Occulus-Eris)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "square", + "directions": 4 + }, + { + "name": "pawsocks", + "directions": 4 + }, + { + "name": "vulp_tail", + "directions": 4 + }, + { + "name": "vulp_ear", + "directions": 4 + }, + { + "name": "vulp_ear_inner", + "directions": 4 + }, + { + "name": "vulp_belly-torso", + "directions": 4 + }, + { + "name": "vulp_face", + "directions": 4 + }, + { + "name": "wolf_tail", + "directions": 4 + }, + { + "name": "wolf_tail_inner", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/pawsocks.png b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/pawsocks.png new file mode 100644 index 00000000000..4799bf8754a Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/pawsocks.png differ diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/square.png b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/square.png new file mode 100644 index 00000000000..f26e37a0e00 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/square.png differ diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_belly-torso.png b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_belly-torso.png new file mode 100644 index 00000000000..aff25f7cfda Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_belly-torso.png differ diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_ear.png b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_ear.png new file mode 100644 index 00000000000..c664da43262 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_ear.png differ diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_ear_inner.png b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_ear_inner.png new file mode 100644 index 00000000000..fc55d230ff9 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_ear_inner.png differ diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_face.png b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_face.png new file mode 100644 index 00000000000..aa7b23854ec Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_face.png differ diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_tail.png b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_tail.png new file mode 100644 index 00000000000..0eb65f6a6d7 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/vulp_tail.png differ diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/wolf_tail.png b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/wolf_tail.png new file mode 100644 index 00000000000..b173b850a19 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/wolf_tail.png differ diff --git a/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/wolf_tail_inner.png b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/wolf_tail_inner.png new file mode 100644 index 00000000000..78396894b9d Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Customization/vulpkanin.rsi/wolf_tail_inner.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/full.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/full.png new file mode 100644 index 00000000000..a7f93dcec94 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/full.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/head_f.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/head_f.png new file mode 100644 index 00000000000..837139fd3f9 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/head_f.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/head_m.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/head_m.png new file mode 100644 index 00000000000..2703b43d9ad Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/head_m.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_arm.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_arm.png new file mode 100644 index 00000000000..dc2bcf3213f Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_arm.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_foot.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_foot.png new file mode 100644 index 00000000000..df434338e2c Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_foot.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_hand.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_hand.png new file mode 100644 index 00000000000..99cfa5f0147 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_hand.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_leg.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_leg.png new file mode 100644 index 00000000000..3bfbc5230cf Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/l_leg.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/meta.json b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/meta.json new file mode 100644 index 00000000000..56d43aa0f9d --- /dev/null +++ b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/meta.json @@ -0,0 +1,62 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Occulus-Eris (https://github.com/Occulus-Server/Occulus-Eris) & modified by discord:kuro_0001 (388673708753027083)", + "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/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_arm.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_arm.png new file mode 100644 index 00000000000..8d6a16a919e Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_arm.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_foot.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_foot.png new file mode 100644 index 00000000000..9f95992e3e2 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_foot.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_hand.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_hand.png new file mode 100644 index 00000000000..bf265c74f5c Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_hand.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_leg.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_leg.png new file mode 100644 index 00000000000..91b6954175a Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/r_leg.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/torso_f.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/torso_f.png new file mode 100644 index 00000000000..253eeb4e8f8 Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/torso_f.png differ diff --git a/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/torso_m.png b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/torso_m.png new file mode 100644 index 00000000000..64c2f7be2da Binary files /dev/null and b/Resources/Textures/Corvax/Mobs/Species/Vulpkanin/parts.rsi/torso_m.png differ