diff --git a/Resources/Audio/Voice/Reptilian/license.txt b/Resources/Audio/Voice/Reptilian/license.txt new file mode 100644 index 0000000000..a38d32b6aa --- /dev/null +++ b/Resources/Audio/Voice/Reptilian/license.txt @@ -0,0 +1,4 @@ +The sounds are taken from skyrag/tgdownstream +https://github.com/Skyrat-SS13/Skyrat-tg/pull/892 + +reptilian_scream.ogg \ No newline at end of file diff --git a/Resources/Audio/Voice/Reptilian/reptilian_scream.ogg b/Resources/Audio/Voice/Reptilian/reptilian_scream.ogg new file mode 100644 index 0000000000..aec2d56303 Binary files /dev/null and b/Resources/Audio/Voice/Reptilian/reptilian_scream.ogg differ diff --git a/Resources/Prototypes/Body/Parts/reptilian.yml b/Resources/Prototypes/Body/Parts/reptilian.yml new file mode 100644 index 0000000000..13601e80f5 --- /dev/null +++ b/Resources/Prototypes/Body/Parts/reptilian.yml @@ -0,0 +1,222 @@ +# TODO: Add descriptions (many) +# TODO BODY: Part damage +- type: entity + id: PartReptilian + parent: BaseItem + name: "reptilian body part" + abstract: true + components: + - type: Damageable + damageContainer: Biological + +- type: entity + id: TorsoReptilian + name: "reptilian torso" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "torso_m" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "torso_m" + - type: BodyPart + partType: Torso + size: 14 + compatibility: Biological + mechanisms: + - OrganHumanHeart + - OrganHumanLungs + - OrganHumanStomach + - OrganHumanLiver + - OrganHumanKidneys +# criticalThreshold: 100 +# deadThreshold: 150 + +- type: entity + id: HeadReptilian + name: "reptilian head" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "head_m" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "head_m" + - type: BodyPart + partType: Head + size: 7 + compatibility: Biological + vital: true + mechanisms: + - OrganHumanBrain + - OrganHumanEyes +# criticalThreshold: 50 +# deadThreshold: 120 + - type: Input + context: "ghost" + - type: DummyInputMover + - type: GhostOnMove + +- type: entity + id: LeftArmReptilian + name: "left reptilian arm" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "l_arm" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "l_arm" + - type: BodyPart + partType: Arm + size: 5 + compatibility: Biological + symmetry: Left +# criticalThreshold: 40 +# deadThreshold: 80 + +- type: entity + id: RightArmReptilian + name: "right reptilian arm" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "r_arm" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "r_arm" + - type: BodyPart + partType: Arm + size: 5 + compatibility: Biological + symmetry: Right +# criticalThreshold: 40 +# deadThreshold: 80 + +- type: entity + id: LeftHandReptilian + name: "left reptilian hand" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "l_hand" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "l_hand" + - type: BodyPart + partType: Hand + size: 3 + compatibility: Biological + symmetry: Left +# criticalThreshold: 30 +# deadThreshold: 60 + +- type: entity + id: RightHandReptilian + name: "right reptilian hand" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "r_hand" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "r_hand" + - type: BodyPart + partType: Hand + size: 3 + compatibility: Biological + symmetry: Right +# criticalThreshold: 30 +# deadThreshold: 60 + +- type: entity + id: LeftLegReptilian + name: "left reptilian leg" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "l_leg" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "l_leg" + - type: BodyPart + partType: Leg + size: 6 + compatibility: Biological + symmetry: Left +# criticalThreshold: 45 +# deadThreshold: 90 + +- type: entity + id: RightLegReptilian + name: "right reptilian leg" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "r_leg" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "r_leg" + - type: BodyPart + partType: Leg + size: 6 + compatibility: Biological + symmetry: Right +# criticalThreshold: 45 +# deadThreshold: 90 + +- type: entity + id: LeftFootReptilian + name: "left reptilian foot" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "l_foot" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "l_foot" + - type: BodyPart + partType: Foot + size: 2 + compatibility: Biological + symmetry: Left +# criticalThreshold: 30 +# deadThreshold: 60 + +- type: entity + id: RightFootReptilian + name: "right reptilian foot" + parent: PartReptilian + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Reptilian/parts.rsi + state: "r_foot" + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: "r_foot" + - type: BodyPart + partType: Foot + size: 2 + compatibility: Biological + symmetry: Right +# criticalThreshold: 30 +# deadThreshold: 60 diff --git a/Resources/Prototypes/Body/Presets/reptilian.yml b/Resources/Prototypes/Body/Presets/reptilian.yml new file mode 100644 index 0000000000..cc1d09150c --- /dev/null +++ b/Resources/Prototypes/Body/Presets/reptilian.yml @@ -0,0 +1,14 @@ +- type: bodyPreset + name: "reptilian" + id: ReptilianPreset + partIDs: + head: HeadReptilian + torso: TorsoReptilian + right arm: RightArmReptilian + left arm: LeftArmReptilian + right hand: RightHandReptilian + left hand: LeftHandReptilian + right leg: RightLegReptilian + left leg: LeftLegReptilian + right foot: RightFootReptilian + left foot: LeftFootReptilian diff --git a/Resources/Prototypes/Entities/Mobs/Player/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Player/reptilian.yml index d2360d5556..75e0c23404 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/reptilian.yml @@ -1,6 +1,6 @@ - type: entity save: false - name: Urist McHands The Lizardperson + name: Urisst' Mzhand parent: MobReptilianBase id: MobReptilian description: A miserable pile of scales. @@ -11,6 +11,9 @@ context: "human" - type: PlayerMobMover - type: PlayerInputMover + - type: Vocal + maleScream: /Audio/Voice/Reptilian/reptilian_scream.ogg + femaleScream: /Audio/Voice/Reptilian/reptilian_scream.ogg - type: Alerts - type: Eye - type: CameraRecoil @@ -19,5 +22,11 @@ - type: AiFactionTag factions: - NanoTrasen - + - type: Respirator + damage: + types: + Asphyxiation: 1.5 + damageRecovery: + types: + Asphyxiation: -1.5 #Weh diff --git a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml index 4742db107d..7fdb857b9b 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml @@ -1,6 +1,6 @@ - type: entity save: false - name: Urist McHands The Lizardperson + name: Urisst' Mzhand parent: MobHumanBase id: MobReptilianBase abstract: true @@ -108,7 +108,7 @@ - map: [ "pocket2" ] - type: Body template: HumanoidTemplate - preset: HumanPreset + preset: ReptilianPreset - type: LizardAccent - type: DiseaseCarrier diseaseResist: 0.1