From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Mon, 13 Nov 2023 00:42:48 +0000 (+0200) Subject: Space Sharkminnow (#20658) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=9bbdbb92121c71c1d0db9d5c4f339e54fd713f55;p=space-station-14.git Space Sharkminnow (#20658) * sharkminnow * fix * salvage --- diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index 9208827bf4..7694d452cd 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -58,6 +58,9 @@ ghost-role-information-salvage-carp-description = Defend the loot inside the sal ghost-role-information-sentient-carp-name = Sentient Carp ghost-role-information-sentient-carp-description = Help the dragon flood the station with carps! +ghost-role-information-salvage-shark-name = Space sharkminnow on salvage wreck +ghost-role-information-salvage-shark-description = Help the younger fellow carp protect their prey. Smell the blood! + ghost-role-information-willow-name = Willow the kangaroo ghost-role-information-willow-description = You're a kangaroo named willow! willow likes to box. diff --git a/Resources/Prototypes/Body/Organs/Animal/bloodsucker.yml b/Resources/Prototypes/Body/Organs/Animal/bloodsucker.yml new file mode 100644 index 0000000000..8a1afc37bb --- /dev/null +++ b/Resources/Prototypes/Body/Organs/Animal/bloodsucker.yml @@ -0,0 +1,26 @@ +- type: entity + id: OrganBloodsuckerStomach + parent: OrganAnimalStomach + name: stomach + noSpawn: true + components: + - type: Metabolizer + metabolizerTypes: [ Bloodsucker ] + +- type: entity + id: OrganBloodsuckerLiver + parent: OrganAnimalLiver + name: liver + noSpawn: true + components: + - type: Metabolizer + metabolizerTypes: [ Bloodsucker ] + +- type: entity + id: OrganBloodsuckerHeart + parent: OrganAnimalHeart + name: heart + noSpawn: true + components: + - type: Metabolizer + metabolizerTypes: [ Bloodsucker ] diff --git a/Resources/Prototypes/Body/Prototypes/Animal/bloodsucker.yml b/Resources/Prototypes/Body/Prototypes/Animal/bloodsucker.yml new file mode 100644 index 0000000000..dd8750714e --- /dev/null +++ b/Resources/Prototypes/Body/Prototypes/Animal/bloodsucker.yml @@ -0,0 +1,21 @@ +- type: body + id: Bloodsucker + name: "bloodsucker" + root: torso + slots: + torso: + part: TorsoAnimal + connections: + - legs + organs: + lungs: OrganAnimalLungs + stomach: OrganBloodsuckerStomach + liver: OrganBloodsuckerLiver + heart: OrganBloodsuckerHeart + kidneys: OrganAnimalKidneys + legs: + part: LegsAnimal + connections: + - feet + feet: + part: FeetAnimal diff --git a/Resources/Prototypes/Chemistry/metabolizer_types.yml b/Resources/Prototypes/Chemistry/metabolizer_types.yml index 5689586014..259387b6d5 100644 --- a/Resources/Prototypes/Chemistry/metabolizer_types.yml +++ b/Resources/Prototypes/Chemistry/metabolizer_types.yml @@ -5,6 +5,10 @@ id: Animal name: animal +- type: metabolizerType + id: Bloodsucker + name: bloodsucker + - type: metabolizerType id: Dragon name: dragon diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml index a933a7ecbb..80e3aa9460 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml @@ -147,6 +147,9 @@ - sprite: Mobs/Aliens/Carps/space.rsi state: icon - type: RandomSpawner + rarePrototypes: + - MobSharkSalvage + rareChance: 0.2 prototypes: - MobCarpSalvage - MobCarpSalvage @@ -196,6 +199,9 @@ suffix: 75 components: - type: RandomSpawner + rarePrototypes: + - MobSharkSalvage + rareChance: 0.2 prototypes: - MobCarpSalvage - MobCarpSalvage diff --git a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml index bf47656008..542198fd24 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml @@ -322,6 +322,20 @@ prototypes: - MobCarpHolo +- type: entity + name: Space Sharkminnow Spawner + id: SpawnMobShark + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - state: icon + sprite: Mobs/Aliens/Carps/sharkminnow.rsi + - type: ConditionalSpawner + prototypes: + - MobShark + - type: entity name: Hamster Hamlet Spawner id: SpawnMobHamsterHamlet diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml b/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml index 2726fdb697..dc49f0dbad 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml @@ -191,3 +191,69 @@ damage: types: Slash: 6 + +- type: entity + name: sharkminnow + parent: BaseMobCarp + id: MobShark + description: A dangerous shark from the blackness of endless space, who loves to drink blood. + components: + - type: Sprite + sprite: Mobs/Aliens/Carps/sharkminnow.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: mouth + shader: unshaded + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 + density: 100 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: MobThresholds + thresholds: + 0: Alive + 180: Dead + - type: Stamina + critThreshold: 150 + - type: DamageStateVisuals + states: + Alive: + Base: alive + BaseUnshaded: mouth + Dead: + Base: dead + BaseUnshaded: dead_mouth + - type: Body + prototype: Bloodsucker + requiredLegs: 1 + - type: Butcherable + spawned: + - id: FoodMeatFish + amount: 4 + - type: MeleeWeapon + damage: + types: + Slash: 12 + Bloodloss: 5 + +- type: entity + id: MobSharkSalvage + parent: MobShark + suffix: "Salvage Ruleset" + components: + - type: GhostRole + prob: 0.2 + name: ghost-role-information-salvage-shark-name + allowMovement: true + allowSpeech: true + description: ghost-role-information-salvage-shark-description + - type: GhostTakeoverAvailable + - type: SalvageMobRestrictions diff --git a/Resources/Prototypes/Reagents/biological.yml b/Resources/Prototypes/Reagents/biological.yml index 4531160410..a96b65666d 100644 --- a/Resources/Prototypes/Reagents/biological.yml +++ b/Resources/Prototypes/Reagents/biological.yml @@ -22,6 +22,16 @@ - !type:AdjustReagent reagent: UncookedAnimalProteins amount: 0.5 + Medicine: + effects: + - !type:HealthChange + conditions: + - !type:OrganType + type: Bloodsucker + damage: + groups: + Brute: -4 + Burn: -2 plantMetabolism: - !type:PlantAdjustWater amount: 0.5 diff --git a/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/alive.png b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/alive.png new file mode 100644 index 0000000000..b4429e3a7d Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/alive.png differ diff --git a/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/dead.png b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/dead.png new file mode 100644 index 0000000000..3d74b18704 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/dead_mouth.png b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/dead_mouth.png new file mode 100644 index 0000000000..dab110c9ad Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/dead_mouth.png differ diff --git a/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/icon.png b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/icon.png new file mode 100644 index 0000000000..5b4faa816f Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/icon.png differ diff --git a/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/meta.json b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/meta.json new file mode 100644 index 0000000000..2f8d02bed2 --- /dev/null +++ b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/meta.json @@ -0,0 +1,72 @@ +{ + "version": 1, + "size": { + "x": 48, + "y": 48 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by Nimfar11 (Github) for Space Station 14", + "states": [ + { + "name": "icon" + }, + { + "name": "mouth", + "directions": 4, + "delays": [ + [ + 0.3, + 0.3, + 0.3 + ], + [ + 0.3, + 0.3, + 0.3 + ], + [ + 0.3, + 0.3, + 0.3 + ], + [ + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "dead_mouth" + }, + { + "name": "dead" + }, + { + "name": "alive", + "directions": 4, + "delays": [ + [ + 0.3, + 0.3, + 0.3 + ], + [ + 0.3, + 0.3, + 0.3 + ], + [ + 0.3, + 0.3, + 0.3 + ], + [ + 0.3, + 0.3, + 0.3 + ] + ] + } + ] +} diff --git a/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/mouth.png b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/mouth.png new file mode 100644 index 0000000000..c8b97b5e77 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Carps/sharkminnow.rsi/mouth.png differ