]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Pet slime for RND (#15980)
authorNim <128169402+Nimfar11@users.noreply.github.com>
Sat, 13 May 2023 14:51:02 +0000 (17:51 +0300)
committerGitHub <noreply@github.com>
Sat, 13 May 2023 14:51:02 +0000 (10:51 -0400)
Resources/Locale/en-US/station-events/events/random-sentience.ftl
Resources/Prototypes/Damage/modifier_sets.yml
Resources/Prototypes/Entities/Markers/Spawners/mobs.yml
Resources/Prototypes/Entities/Mobs/NPCs/pets.yml
Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
Resources/Textures/Mobs/Aliens/slimes.rsi/aslime-_3.png [new file with mode: 0644]
Resources/Textures/Mobs/Aliens/slimes.rsi/meta.json
Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_baby_slime.png [new file with mode: 0644]
Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_baby_slime_dead.png [new file with mode: 0644]
Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_slime_extract.png [new file with mode: 0644]

index 515ea22f0da121b7549edc5c7ba66c07adbf117b..1dbc18ef615061d4338bd0c01d3fa9cc2b7c01a3 100644 (file)
@@ -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
index 5e3ff41fdc7a8dd5db3e527c4fcd237fecfe67db..3d73235b8f271e4cffa207f7259e31f7d92ad14a 100644 (file)
     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
index 02dbc4e705353a232d12c968194aa10b78e9bccb..224aa528fa6fe4218ea70a15dfa1cce2798388cc 100644 (file)
     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
index d4bb45dbe5ab8ee93650f26c8e45c6ce5de2af3e..2e24a8ec2c3b2e646cf5cf61fb68101d71ae35cf 100644 (file)
   - 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
index cee3826563219f13652755551d2c3ef74a4347ab..3f377312e7c75cd9d64baa8852e8457a45345d10 100644 (file)
     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
         Base: blue_adult_slime_dead
   - type: GhostRole
     makeSentient: true
+    name: ghost-role-information-slimes-name
     description: ghost-role-information-slimes-description
 
 - type: entity
           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
           Poison: 4
     - type: GhostRole
       makeSentient: true
+      name: ghost-role-information-slimes-name
       description: ghost-role-information-slimes-description
 
 - type: entity
           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
           Cellular: 3
     - type: GhostRole
       makeSentient: true
+      name: ghost-role-information-slimes-name
       description: ghost-role-information-slimes-description
 
 - type: entity
           Structural: 4
           Caustic: 1
           Cellular: 3
+    - type: GhostRole
+      makeSentient: true
+      name: ghost-role-information-slimes-name
+      description: ghost-role-information-angry-slimes-description
index 61f3e2c29216df8b606290d91815b8bdef8c3545..5df2eb75f03176815726f2f4b2318c78d0c737a1 100644 (file)
 
 # 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 (file)
index 0000000..c5667be
Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/slimes.rsi/aslime-_3.png differ
index 5371daba0e1fa2f57513fe9a7f3b543e8351e4e6..3ff811d8ea4f527d15a1de791e17ba901375d8ca 100644 (file)
        },
        {
       "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 (file)
index 0000000..e608526
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 (file)
index 0000000..beb1393
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 (file)
index 0000000..139b83a
Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/slimes.rsi/rainbow_slime_extract.png differ