From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Sat, 13 May 2023 14:51:02 +0000 (+0300) Subject: Pet slime for RND (#15980) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=ce208a18cd1d1f45ac3e20e4454c7255949a575f;p=space-station-14.git Pet slime for RND (#15980) --- diff --git a/Resources/Locale/en-US/station-events/events/random-sentience.ftl b/Resources/Locale/en-US/station-events/events/random-sentience.ftl index 515ea22f0d..1dbc18ef61 100644 --- a/Resources/Locale/en-US/station-events/events/random-sentience.ftl +++ b/Resources/Locale/en-US/station-events/events/random-sentience.ftl @@ -34,3 +34,4 @@ station-event-random-sentience-flavor-mechanical = mechanical station-event-random-sentience-flavor-organic = organic station-event-random-sentience-flavor-corgi = corgi station-event-random-sentience-flavor-primate = primate +station-event-random-sentience-flavor-slime = slime diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index 5e3ff41fdc..3d73235b8f 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -173,6 +173,18 @@ Cellular: 0.0 Caustic: 0.0 +- type: damageModifierSet + id: SlimePet # Very survivable slimes + coefficients: + Blunt: 0.5 + Slash: 0.8 + Piercing: 0.8 + Cold: 1.0 + Poison: 0.2 + Cellular: 0.0 + Radiation: 0.2 + Caustic: 0.0 + # Represents what a riot shield should block passively # Each shield will probably have their own passive and active modifier sets # Honestly it should not be too high diff --git a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml index 02dbc4e705..224aa528fa 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml @@ -436,6 +436,19 @@ prototypes: - MobAdultSlimesYellowAngry +- type: entity + name: Smile Spawner + id: SpawnMobSmile + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - state: ai + - type: ConditionalSpawner + prototypes: + - MobSlimesPet + - type: entity name: Pun Pun Spawner id: SpawnMobMonkeyPunpun diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index d4bb45dbe5..2e24a8ec2c 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -582,6 +582,81 @@ - type: Loadout prototypes: [ BoxingKangarooGear ] +- type: entity + name: Smile + id: MobSlimesPet + parent: MobAdultSlimes + description: This masterpiece has gone through thousands of experiments. But it is the sweetest creature in the world. Smile Slime! + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/slimes.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: rainbow_baby_slime + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: aslime-_3 + shader: unshaded + - type: MobThresholds + thresholds: + 0: Alive + 200: Dead + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Effects/Footsteps/slime1.ogg + params: + volume: -6 + - type: Tag + tags: + - FootstepSound + - DoorBumpOpener + - CannotSuicide + - type: DamageStateVisuals + states: + Alive: + Base: rainbow_baby_slime + BaseUnshaded: aslime-_3 + Dead: + Base: rainbow_baby_slime_dead + - type: Butcherable + butcheringType: Knife + spawned: + - id: FoodMeatSlime + amount: 1 + - id: MaterialSmileExtract + amount: 1 + - type: Damageable + damageContainer: Biological + damageModifierSet: SlimePet + - type: Bloodstream + bloodMaxVolume: 150 + bloodReagent: Slime + bloodlossDamage: + types: + Bloodloss: + 1 + bloodlossHealDamage: + types: + Bloodloss: + -0.8 + - type: Temperature + heatDamageThreshold: 800 + coldDamageThreshold: 0 + - type: MeleeWeapon + hidden: true + soundHit: + path: /Audio/Weapons/punch3.ogg + angle: 0 + animation: WeaponArcPunch + damage: + types: + Blunt: 1 + Caustic: 1 + - type: SentienceTarget + flavorKind: station-event-random-sentience-flavor-slime + - type: MobPrice + price: 3000 # it is a truly valuable creature + - type: entity name: Pun Pun parent: MobMonkey diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml b/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml index cee3826563..3f377312e7 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml @@ -112,10 +112,6 @@ interactFailureString: petting-failure-generic - type: ReplacementAccent accent: slimes - - type: GhostRole - makeSentient: true - name: ghost-role-information-slimes-name - description: ghost-role-information-slimes-description - type: GhostTakeoverAvailable - type: entity @@ -131,6 +127,7 @@ Base: blue_adult_slime_dead - type: GhostRole makeSentient: true + name: ghost-role-information-slimes-name description: ghost-role-information-slimes-description - type: entity @@ -148,6 +145,10 @@ Base: blue_adult_slime Dead: Base: blue_adult_slime_dead + - type: GhostRole + makeSentient: true + name: ghost-role-information-slimes-name + description: ghost-role-information-angry-slimes-description - type: entity name: green slime @@ -173,6 +174,7 @@ Poison: 4 - type: GhostRole makeSentient: true + name: ghost-role-information-slimes-name description: ghost-role-information-slimes-description - type: entity @@ -201,6 +203,10 @@ Structural: 4 Caustic: 1 Poison: 4 + - type: GhostRole + makeSentient: true + name: ghost-role-information-slimes-name + description: ghost-role-information-angry-slimes-description - type: entity name: yellow slime @@ -226,6 +232,7 @@ Cellular: 3 - type: GhostRole makeSentient: true + name: ghost-role-information-slimes-name description: ghost-role-information-slimes-description - type: entity @@ -254,3 +261,7 @@ Structural: 4 Caustic: 1 Cellular: 3 + - type: GhostRole + makeSentient: true + name: ghost-role-information-slimes-name + description: ghost-role-information-angry-slimes-description diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml index 61f3e2c292..5df2eb75f0 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml @@ -550,6 +550,38 @@ # Cooked +- type: entity + parent: BaseItem + id: MaterialSmileExtract + name: extract smile + description: It's a real panacea. But at what cost? + components: + - type: Food + - type: Extractable + grindableSolutionName: food + - type: FlavorProfile + flavors: + - sweet + - type: Sprite + sprite: Mobs/Aliens/slimes.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: rainbow_slime_extract + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Omnizine + Quantity: 30 + - ReagentId: Nutriment + Quantity: 10 + - ReagentId: Iron + Quantity: 10 + - type: Item + size: 5 + - type: StaticPrice + price: 3000 #It has so much Omnizin in it + - type: entity name: steak parent: FoodMeatBase diff --git a/Resources/Textures/Mobs/Aliens/slimes.rsi/aslime-_3.png b/Resources/Textures/Mobs/Aliens/slimes.rsi/aslime-_3.png new file mode 100644 index 0000000000..c5667beba5 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/slimes.rsi/aslime-_3.png differ diff --git a/Resources/Textures/Mobs/Aliens/slimes.rsi/meta.json b/Resources/Textures/Mobs/Aliens/slimes.rsi/meta.json index 5371daba0e..3ff811d8ea 100644 --- a/Resources/Textures/Mobs/Aliens/slimes.rsi/meta.json +++ b/Resources/Textures/Mobs/Aliens/slimes.rsi/meta.json @@ -42,6 +42,73 @@ }, { "name": "yellow_adult_slime_dead" + }, + { + "name": "aslime-_3", + "directions": 4 + }, + { + "name": "rainbow_slime_extract", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "rainbow_baby_slime", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "rainbow_baby_slime_dead", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] } ] } diff --git a/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_baby_slime.png b/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_baby_slime.png new file mode 100644 index 0000000000..e608526f02 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_baby_slime.png differ diff --git a/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_baby_slime_dead.png b/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_baby_slime_dead.png new file mode 100644 index 0000000000..beb13939f8 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_baby_slime_dead.png differ diff --git a/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_slime_extract.png b/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_slime_extract.png new file mode 100644 index 0000000000..139b83a19a Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_slime_extract.png differ