]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Scurrets (#38218)
authorHannah Giovanna Dawson <karakkaraz@gmail.com>
Fri, 20 Jun 2025 23:39:08 +0000 (00:39 +0100)
committerGitHub <noreply@github.com>
Fri, 20 Jun 2025 23:39:08 +0000 (16:39 -0700)
* Scurrets.

* Add missing equipment YAML

* Fix count of NamesFirstScurret

* Resolve PR comments, wa.

Also add like a bunch more wa replacements

* ed

* Update Resources/Textures/Mobs/Animals/scurret/displacement.rsi/meta.json

* :rivflabbergasted:

* Fixed spacings in scurret_last.ftl

* Fix mangled endings of some last names

* wawa

* the scug has a spear for self defence

47 files changed:
Resources/Audio/Ambience/Antag/attributions.yml
Resources/Audio/Ambience/Antag/traitor_wawa.ogg [new file with mode: 0644]
Resources/Audio/Animals/attributions.yml
Resources/Audio/Animals/wawa_achoo.ogg [new file with mode: 0644]
Resources/Audio/Animals/wawa_chatter.ogg [new file with mode: 0644]
Resources/Audio/Animals/wawa_chillin.ogg [new file with mode: 0644]
Resources/Audio/Animals/wawa_depression.ogg [new file with mode: 0644]
Resources/Audio/Animals/wawa_exclaim.ogg [new file with mode: 0644]
Resources/Audio/Animals/wawa_mock.ogg [new file with mode: 0644]
Resources/Audio/Animals/wawa_protest.ogg [new file with mode: 0644]
Resources/Audio/Animals/wawa_question.ogg [new file with mode: 0644]
Resources/Audio/Animals/wawa_statement.ogg [new file with mode: 0644]
Resources/Locale/en-US/chat/managers/chat-manager.ftl
Resources/Locale/en-US/datasets/names/scurret_first.ftl [new file with mode: 0644]
Resources/Locale/en-US/datasets/names/scurret_last.ftl [new file with mode: 0644]
Resources/Locale/en-US/scurret copy/role.ftl [new file with mode: 0644]
Resources/Prototypes/Accents/full_replacements.yml
Resources/Prototypes/Catalog/Cargo/cargo_fun.yml
Resources/Prototypes/Catalog/Fills/Crates/fun.yml
Resources/Prototypes/Datasets/Names/scurret.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Markers/Spawners/Random/posters.yml
Resources/Prototypes/Entities/Mobs/NPCs/scurret.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Devices/pda.yml
Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml
Resources/Prototypes/InventoryTemplates/scurret_inventory_template.yml [new file with mode: 0644]
Resources/Prototypes/Palettes/critters.yml
Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml
Resources/Prototypes/SoundCollections/scurret.yml [new file with mode: 0644]
Resources/Prototypes/Voice/speech_emote_sounds.yml
Resources/Prototypes/Voice/speech_sounds.yml
Resources/Prototypes/Voice/speech_verbs.yml
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/ears.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/eyes.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/gloves.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/hand.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/head.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/id.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/jumpsuit.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/mask.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/displacement.rsi/neck.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/scurret.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret_oof.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret_rip.png [new file with mode: 0644]
Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json
Resources/Textures/Structures/Wallmounts/posters.rsi/poster55_legit.png [new file with mode: 0644]

index 0d3d278a627d73e65a4ffcec61a487f7b6720c2a..c0c34eb880d0cc7c39eb29730cec493f466872f3 100644 (file)
@@ -2,6 +2,10 @@
   license: "CC-BY-SA-3.0"
   copyright: "Taken from TG station"
   source: "https://github.com/tgstation/tgstation/commit/827967c9650c23af64280ad1491405fed8f644c5#diff-6cc910b7cad9ac4333c8d0885fc844746066120b465d8d4ba8f7019169316574"
+- files: ["traitor_wawa.ogg"]
+  license: "CC-BY-SA-3.0"
+  copyright: "Taken from TG station, edited by FairlySadPanda (Github)"
+  source: "https://github.com/tgstation/tgstation/commit/827967c9650c23af64280ad1491405fed8f644c5#diff-6cc910b7cad9ac4333c8d0885fc844746066120b465d8d4ba8f7019169316574"
 - files: ["pirate_start.ogg"]
   license: "CC-BY-NC-SA-3.0"
   copyright: "Made by @MIXnikita#1474 (Discord) for SS14"
diff --git a/Resources/Audio/Ambience/Antag/traitor_wawa.ogg b/Resources/Audio/Ambience/Antag/traitor_wawa.ogg
new file mode 100644 (file)
index 0000000..7134be8
Binary files /dev/null and b/Resources/Audio/Ambience/Antag/traitor_wawa.ogg differ
index 7fd7e8b2e7b1b6209040b84d956dc97759f90b95..59d8bc5a6e17770133c20a0d8dd2c22221093b26 100644 (file)
   source: "https://github.com/ParadiseSS13/Paradise/commit/a34f1054cef5a44a67fdac3b67b811137c6071dd"
 
 - files:
-    - fox1.ogg
-    - fox2.ogg
-    - fox3.ogg
-    - fox4.ogg
-    - fox5.ogg
-    - fox6.ogg
-    - fox7.ogg
-    - fox8.ogg
-    - fox9.ogg
-    - fox10.ogg
-    - fox11.ogg
-    - fox12.ogg
-    - fox13.ogg
-    - fox14.ogg
+  - fox1.ogg
+  - fox2.ogg
+  - fox3.ogg
+  - fox4.ogg
+  - fox5.ogg
+  - fox6.ogg
+  - fox7.ogg
+  - fox8.ogg
+  - fox9.ogg
+  - fox10.ogg
+  - fox11.ogg
+  - fox12.ogg
+  - fox13.ogg
+  - fox14.ogg
   copyright: "Created by fujiwaranao"
   license: "CC-BY-NC-SA-4.0"
   source: "https://github.com/space-wizards/space-station-14/pull/27578"
+
+- files:
+  - wawa_achoo.ogg
+  - wawa_chatter.ogg
+  - wawa_chillin.ogg
+  - wawa_depression.ogg
+  - wawa_exclaim.ogg
+  - wawa_mock.ogg
+  - wawa_protest.ogg
+  - wawa_question.ogg
+  - wawa_statement.ogg
+  copyright: "created by FairlySadPanda"
+  license: "CC-BY-4.0"
+  source: "https://github.com/space-wizards/space-station-14/pull/37936"
diff --git a/Resources/Audio/Animals/wawa_achoo.ogg b/Resources/Audio/Animals/wawa_achoo.ogg
new file mode 100644 (file)
index 0000000..56670c2
Binary files /dev/null and b/Resources/Audio/Animals/wawa_achoo.ogg differ
diff --git a/Resources/Audio/Animals/wawa_chatter.ogg b/Resources/Audio/Animals/wawa_chatter.ogg
new file mode 100644 (file)
index 0000000..7e2a7ec
Binary files /dev/null and b/Resources/Audio/Animals/wawa_chatter.ogg differ
diff --git a/Resources/Audio/Animals/wawa_chillin.ogg b/Resources/Audio/Animals/wawa_chillin.ogg
new file mode 100644 (file)
index 0000000..5955fdf
Binary files /dev/null and b/Resources/Audio/Animals/wawa_chillin.ogg differ
diff --git a/Resources/Audio/Animals/wawa_depression.ogg b/Resources/Audio/Animals/wawa_depression.ogg
new file mode 100644 (file)
index 0000000..3f8167a
Binary files /dev/null and b/Resources/Audio/Animals/wawa_depression.ogg differ
diff --git a/Resources/Audio/Animals/wawa_exclaim.ogg b/Resources/Audio/Animals/wawa_exclaim.ogg
new file mode 100644 (file)
index 0000000..99f2800
Binary files /dev/null and b/Resources/Audio/Animals/wawa_exclaim.ogg differ
diff --git a/Resources/Audio/Animals/wawa_mock.ogg b/Resources/Audio/Animals/wawa_mock.ogg
new file mode 100644 (file)
index 0000000..355c2aa
Binary files /dev/null and b/Resources/Audio/Animals/wawa_mock.ogg differ
diff --git a/Resources/Audio/Animals/wawa_protest.ogg b/Resources/Audio/Animals/wawa_protest.ogg
new file mode 100644 (file)
index 0000000..cc1cf60
Binary files /dev/null and b/Resources/Audio/Animals/wawa_protest.ogg differ
diff --git a/Resources/Audio/Animals/wawa_question.ogg b/Resources/Audio/Animals/wawa_question.ogg
new file mode 100644 (file)
index 0000000..ce9008a
Binary files /dev/null and b/Resources/Audio/Animals/wawa_question.ogg differ
diff --git a/Resources/Audio/Animals/wawa_statement.ogg b/Resources/Audio/Animals/wawa_statement.ogg
new file mode 100644 (file)
index 0000000..21f9e8a
Binary files /dev/null and b/Resources/Audio/Animals/wawa_statement.ogg differ
index c20852468bfc46d61e8909ca140c0007c21786ad..e7e55c1ea40bf4a2df1635b5eb3b18d486b5e6eb 100644 (file)
@@ -157,3 +157,9 @@ chat-speech-verb-name-electricity = Electricity
 chat-speech-verb-electricity-1 = crackles
 chat-speech-verb-electricity-2 = buzzes
 chat-speech-verb-electricity-3 = screeches
+
+chat-speech-verb-name-wawa = Wawa
+chat-speech-verb-wawa-1 = intones
+chat-speech-verb-wawa-2 = states
+chat-speech-verb-wawa-3 = declares
+chat-speech-verb-wawa-4 = ponders
diff --git a/Resources/Locale/en-US/datasets/names/scurret_first.ftl b/Resources/Locale/en-US/datasets/names/scurret_first.ftl
new file mode 100644 (file)
index 0000000..4bbbf94
--- /dev/null
@@ -0,0 +1,36 @@
+names-scurret-first-dataset-1 = Wa
+names-scurret-first-dataset-2 = Calm
+names-scurret-first-dataset-3 = Contented
+names-scurret-first-dataset-4 = Patient
+names-scurret-first-dataset-5 = Relaxed
+names-scurret-first-dataset-6 = Serene
+names-scurret-first-dataset-7 = Blissful
+names-scurret-first-dataset-8 = Eager
+names-scurret-first-dataset-9 = Happy
+names-scurret-first-dataset-10 = Inspired
+names-scurret-first-dataset-11 = Lively
+names-scurret-first-dataset-12 = Playful
+names-scurret-first-dataset-13 = Radiant
+names-scurret-first-dataset-14 = Vibrant
+names-scurret-first-dataset-15 = Brave
+names-scurret-first-dataset-16 = Capable
+names-scurret-first-dataset-17 = Confident
+names-scurret-first-dataset-18 = Daring
+names-scurret-first-dataset-19 = Proud
+names-scurret-first-dataset-20 = Valiant
+names-scurret-first-dataset-21 = Caring
+names-scurret-first-dataset-22 = Compassionate
+names-scurret-first-dataset-23 = Empathic
+names-scurret-first-dataset-24 = Strong
+names-scurret-first-dataset-25 = Free
+names-scurret-first-dataset-26 = Lucky
+names-scurret-first-dataset-27 = Worthy
+names-scurret-first-dataset-28 = Blessed
+names-scurret-first-dataset-29 = Fortunate
+names-scurret-first-dataset-30 = Trusting
+names-scurret-first-dataset-31 = Fast
+names-scurret-first-dataset-32 = Energetic
+names-scurret-first-dataset-33 = Wise
+names-scurret-first-dataset-34 = Alert
+names-scurret-first-dataset-35 = Uplifting
+names-scurret-first-dataset-36 = Considerate
diff --git a/Resources/Locale/en-US/datasets/names/scurret_last.ftl b/Resources/Locale/en-US/datasets/names/scurret_last.ftl
new file mode 100644 (file)
index 0000000..effe218
--- /dev/null
@@ -0,0 +1,36 @@
+names-scurret-last-dataset-1 = Wa
+names-scurret-last-dataset-2 = Trees
+names-scurret-last-dataset-3 = Plants
+names-scurret-last-dataset-4 = Rocks
+names-scurret-last-dataset-5 = Rivers
+names-scurret-last-dataset-6 = Groves
+names-scurret-last-dataset-7 = Lakes
+names-scurret-last-dataset-8 = Marshes
+names-scurret-last-dataset-9 = Spring
+names-scurret-last-dataset-10 = Reeds
+names-scurret-last-dataset-11 = Sunshine
+names-scurret-last-dataset-12 = Rain
+names-scurret-last-dataset-13 = Clouds
+names-scurret-last-dataset-14 = Snowfall
+names-scurret-last-dataset-15 = Stones
+names-scurret-last-dataset-16 = Pebbles
+names-scurret-last-dataset-17 = Fishes
+names-scurret-last-dataset-18 = Insects
+names-scurret-last-dataset-19 = Fruits
+names-scurret-last-dataset-20 = Flowers
+names-scurret-last-dataset-21 = Blossoms
+names-scurret-last-dataset-22 = Fogs
+names-scurret-last-dataset-23 = Willows
+names-scurret-last-dataset-24 = Alders
+names-scurret-last-dataset-25 = Birches
+names-scurret-last-dataset-26 = Poplars
+names-scurret-last-dataset-27 = Marigolds
+names-scurret-last-dataset-28 = Robins
+names-scurret-last-dataset-29 = Orchids
+names-scurret-last-dataset-30 = Rushes
+names-scurret-last-dataset-31 = Lillies
+names-scurret-last-dataset-32 = Violets
+names-scurret-last-dataset-33 = Maples
+names-scurret-last-dataset-34 = Oaks
+names-scurret-last-dataset-35 = Hazels
+names-scurret-last-dataset-36 = the All-Knowing
diff --git a/Resources/Locale/en-US/scurret copy/role.ftl b/Resources/Locale/en-US/scurret copy/role.ftl
new file mode 100644 (file)
index 0000000..cbc0f89
--- /dev/null
@@ -0,0 +1,25 @@
+petting-success-scurret = You pet {THE($target)} on {POSS-ADJ($target)} legally distinct head.
+petting-failure-scurret = You reach out to pet {THE($target)}, but {SUBJECT($target)} does a backflip!
+
+accent-words-scurret-1 = Wa!
+accent-words-scurret-2 = Wa?
+accent-words-scurret-3 = Wa.
+accent-words-scurret-4 = Wa...
+accent-words-scurret-5 = Wawa!
+accent-words-scurret-6 = Wawa?
+accent-words-scurret-7 = Wawa.
+accent-words-scurret-8 = Wawa...
+accent-words-scurret-9 = Wa wawa!
+accent-words-scurret-10 = Wa wawa?
+accent-words-scurret-11 = Wa wawa.
+accent-words-scurret-12 = Wa wawa...
+accent-words-scurret-13 = Wawa wa!
+accent-words-scurret-14 = Wawa wa?
+accent-words-scurret-15 = Wawa wa.
+accent-words-scurret-16 = Wawa wa...
+accent-words-scurret-17 = Waaaaaa.
+accent-words-scurret-18 = Waaaaaa!
+accent-words-scurret-19 = Waaaaaa?
+accent-words-scurret-20 = Waaaaaa...
+
+station-event-random-sentience-flavor-scurret = scurret
index f495de250fc1425b31c66a9a0dd39dafeb0a6711..737739ba9dc30bf14eb03c60b668621eafa58aa3 100644 (file)
   - accent-words-tomato-3
   - accent-words-tomato-4
   - accent-words-tomato-5
+
+- type: accent
+  id: scurret
+  fullReplacements:
+  - accent-words-scurret-1
+  - accent-words-scurret-2
+  - accent-words-scurret-3
+  - accent-words-scurret-4
+  - accent-words-scurret-5
+  - accent-words-scurret-6
+  - accent-words-scurret-7
+  - accent-words-scurret-8
+  - accent-words-scurret-9
+  - accent-words-scurret-10
+  - accent-words-scurret-11
+  - accent-words-scurret-12
+  - accent-words-scurret-13
+  - accent-words-scurret-14
+  - accent-words-scurret-15
+  - accent-words-scurret-16
+  - accent-words-scurret-17
+  - accent-words-scurret-18
+  - accent-words-scurret-19
+  - accent-words-scurret-20
index 445e7d941b1ef120c27029562ebaed94dc04fe86..7a8deb31519f92980913b8f5d5209a4c3da23d34 100644 (file)
   category: cargoproduct-category-name-fun
   group: market
 
+- type: cargoProduct
+  id: HydratedScurret
+  icon:
+    sprite: Structures/Wallmounts/posters.rsi
+    state: poster55_legit
+  product: CrateFunScurret
+  cost: 25000 # You will surely not regret buying this
+  category: cargoproduct-category-name-fun
+  group: market
+
 - type: cargoProduct
   id: FunCrateGambling
   icon:
index 18b0dc26d812a8bcb5af3db21d069f643a3111bd..1c0d3668aeeba069f1024f01a36578403addf454 100644 (file)
         amount: 1
         prob: 0.05
 
+- type: entity
+  name: hydrated scurret
+  description: Wait, what?
+  id: CrateFunScurret
+  parent: CratePlastic
+  components:
+  - type: StorageFill
+    contents:
+    - id: MobEmotionalSupportScurret # How? Why?
+    - id: DrinkVodkaBottleFull
+    - id: DrinkWhiskeyBottleFull
+    - id: DrinkTequilaBottleFull # ...that explains it.
+    - id: DrinkShotGlass
+      amount: 2
+    - id: Spear # self defence
+    - id: ClothingHeadHatHardhatYellow
+    - id: ClothingNeckMantleQM
+    - id: ClothingHeadsetCargo
+
diff --git a/Resources/Prototypes/Datasets/Names/scurret.yml b/Resources/Prototypes/Datasets/Names/scurret.yml
new file mode 100644 (file)
index 0000000..b3ac08e
--- /dev/null
@@ -0,0 +1,11 @@
+- type: localizedDataset
+  id: NamesFirstScurret
+  values:
+    prefix: names-scurret-first-dataset-
+    count: 36
+
+- type: localizedDataset
+  id: NamesLastScurret
+  values:
+    prefix: names-scurret-last-dataset-
+    count: 36
index 70ddb4d7c008a356497312d0780f76700985669c..0bc0d7655c30ce0238fb38d645454e6fc9311610 100644 (file)
       - PosterLegitSafetyMothSSD
       - PosterLegitOppenhopper
       - PosterLegitTyrone
+      - PosterLegitHelio
     chance: 1
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/scurret.yml b/Resources/Prototypes/Entities/Mobs/NPCs/scurret.yml
new file mode 100644 (file)
index 0000000..458b977
--- /dev/null
@@ -0,0 +1,170 @@
+# Defines the scurret, a small, agile sapient species intended for players who want to play as something similar to an ewok.
+# Although based on MobBaseAncestor, this species does not have a "developed" playable species it is an ancestor to.
+
+- type: entity
+  name: scurret
+  id: MobBaseScurret
+  parent: MobBaseAncestor
+  abstract: true
+  components:
+  # Custom names
+  - type: ReplacementAccent
+    accent: scurret
+  - type: Sprite
+    layers:
+    - map: ["enum.DamageStateVisualLayers.Base"]
+      sprite: Mobs/Animals/scurret/scurret.rsi
+      state: scurret
+    - map: [ "enum.HumanoidVisualLayers.Handcuffs" ]
+      color: "#ffffff"
+      sprite: Objects/Misc/handcuffs.rsi
+      state: body-overlay-2
+      visible: false
+  # Custom visuals for dead scurrets; be aware these do not work well with equipment.
+  - type: DamageStateVisuals
+    states:
+      Alive:
+        Base: scurret
+      Critical:
+        Base: scurret_oof
+      Dead:
+        Base: scurret_rip
+  #  About as tough as a monkey
+  - type: MobThresholds
+    thresholds:
+      0: Alive
+      60: Critical
+      125: Dead
+  - type: Temperature
+    heatDamageThreshold: 360
+    coldDamageThreshold: 285
+    currentTemperature: 310.15
+    specificHeat: 42
+  # Good eatin', you monster.
+  - type: Butcherable
+    butcheringType: Spike
+    spawned:
+    - id: FoodMeat
+      amount: 4
+  # They wawa!
+  - type: Vocal
+    sounds:
+      Male: Scurret
+      Female: Scurret
+      Unsexed: Scurret
+    wilhelmProbability: 0.01 # the scug, it screams like a man
+  - type: Speech
+    speechVerb: Wawa
+    speechSounds: Wawa
+    allowedEmotes: ['Thump'] # They're 80% tail
+  - type: TypingIndicator
+    proto: moth
+  - type: InteractionPopup
+    successChance: 0.99 # Imagine not being allowed to headpat a scurret, chat
+    interactSuccessString: petting-success-scurret
+    interactFailureString: petting-failure-scurret
+    interactSuccessSpawn: EffectHearts
+    interactSuccessSound:
+      path: /Audio/Animals/wawa_chillin.ogg
+    interactFailureSound:
+      path: /Audio/Animals/wawa_chatter.ogg
+  # They nyoom
+  - type: MovementSpeedModifier
+    baseWalkSpeed: 5 # nyoom
+    baseSprintSpeed: 7 # NYOOOOOM
+  - type: MeleeWeapon
+    soundHit:
+      path: /Audio/Effects/bite.ogg
+    angle: 30
+    animation: WeaponArcBite
+    damage:
+      types:
+        Piercing: 10 # NOM
+  - type: Inventory
+    speciesId: scurret
+    templateId: scurret
+    displacements:
+      jumpsuit:
+        sizeMaps:
+          32:
+            sprite: Mobs/Animals/scurret/displacement.rsi
+            state: jumpsuit
+      id:
+        sizeMaps:
+          32:
+            sprite: Mobs/Animals/scurret/displacement.rsi
+            state: id
+      gloves:
+        sizeMaps:
+          32:
+            sprite: Mobs/Animals/scurret/displacement.rsi
+            state: gloves
+      neck:
+        sizeMaps:
+          32:
+            sprite: Mobs/Animals/scurret/displacement.rsi
+            state: neck
+  - type: InventorySlots
+  - type: Food
+  - type: Hunger
+    baseDecayRate: 0.05 # They get a lil' hungy
+  - type: BodyEmotes # Grants them clapping and so on.
+    soundsId: GeneralBodyEmotes
+  - type: Tag
+    tags:
+    - DoorBumpOpener
+    - FootstepSound
+    - CanPilot
+    - VimPilot
+    - AnomalyHost
+
+# Spawnable scurrets have a random name and colour.
+
+- type: entity
+  name: scurret
+  description: Commonly known as Wawa, from the wetlands of Planet Wawa, these critters make up the bulk of Arnolds's Pizza's "loyal workforce".
+  id: MobScurret
+  parent: MobBaseScurret
+  components:
+  # The have a rich culture
+  - type: RandomMetadata
+    nameSegments:
+    - NamesFirstScurret
+    - NamesLastScurret
+    nameFormat: name-format-standard
+  # They come in a variety of colours
+  - type: RandomSprite
+    available:
+    - enum.DamageStateVisualLayers.Base:
+        scurret: ScurretColors
+
+# Emotional Support Scurrets have a ghost role and equipment. At the moment, these are intended to be used for admemes, but
+# feel free to hook them into random content.
+
+- type: entity
+  name: Emotional Support Scurret
+  id: MobBaseEmotionalSupportScurret
+  parent: MobBaseScurret
+  abstract: true
+  components:
+    - type: Loadout
+      prototypes: [ EmotionalSupportScurretGear ]
+    - type: NpcFactionMember
+      factions:
+      - Passive
+    - type: GhostRole
+      makeSentient: true
+      name: ghost-role-information-emotional-support-scurret-name
+      description: ghost-role-information-emotional-support-scurret-description
+      rules: ghost-role-information-nonantagonist-rules
+      raffle:
+        settings: default
+    - type: GhostTakeoverAvailable
+
+# Spawnable ESS have a ghost role, equipment, a random name and a random colour.
+
+- type: entity
+  name: Emotional Support Scurret
+  id: MobEmotionalSupportScurret
+  parent: [MobScurret, MobBaseEmotionalSupportScurret]
+  description: Commonly known as Wawa, from the wetlands of Planet Wawa, these critters make up the bulk of Arnolds's Pizza's "loyal workforce". This one is here as a temp.
index fbbdfe2b77cabda889647e77d4a9c19097a1aae9..3de35c35193538bfa61198edaca274eb2158eeea 100644 (file)
     borderColor: "#7F3300"
   - type: Icon
     state: pda-wizard
+
+- type: entity
+  parent: ClearPDA
+  id: ScurretPDA
+  description: A temporary PDA granted to scurret temps. Doesn't do much. Wawa!
+  components:
+  - type: Pda
+    id: VisitorIDCard
+  - type: Tag #  Ignore Chameleon tags
+    tags:
+    - DoorBumpOpener
index b9a2191def3f0305115f54a9f198ba41804d4978..d4f8e29aa466f861eccfcf444a101a30eb2166ca 100644 (file)
   - type: Sprite
     state: poster54_legit
 
+- type: entity
+  parent: PosterBase
+  id: PosterLegitHelio
+  name: Helio Logistics ad
+  description: "A poster advertising Helio Logistics and their adorable mascot. The slogan reads 'Come rain or shine, we deliver on time.'"
+  components:
+  - type: Sprite
+    state: poster55_legit
+
 #maps
 
 - type: entity
diff --git a/Resources/Prototypes/InventoryTemplates/scurret_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/scurret_inventory_template.yml
new file mode 100644 (file)
index 0000000..10b9ac7
--- /dev/null
@@ -0,0 +1,62 @@
+- type: inventoryTemplate
+  id: scurret
+  slots:
+  - name: ears
+    slotTexture: ears
+    slotFlags: EARS
+    stripTime: 3
+    uiWindowPos: 0,2
+    strippingWindowPos: 1,2
+    displayName: Ears
+  - name: gloves
+    slotTexture: gloves
+    slotFlags: GLOVES
+    uiWindowPos: 0,1
+    strippingWindowPos: 2,2
+    displayName: Gloves
+  - name: head
+    slotTexture: head
+    slotFlags: HEAD
+    uiWindowPos: 1,3
+    strippingWindowPos: 0,0
+    displayName: Head
+  - name: mask
+    slotTexture: mask
+    slotFlags: MASK
+    uiWindowPos: 1,2
+    strippingWindowPos: 1,1
+    displayName: Mask
+  - name: neck
+    slotTexture: neck
+    slotFlags: NECK
+    uiWindowPos: 1,1
+    strippingWindowPos: 0,1
+    displayName: Neck
+  - name: jumpsuit
+    slotTexture: uniform
+    slotFlags: INNERCLOTHING
+    stripTime: 6
+    uiWindowPos: 1,0
+    strippingWindowPos: 0,2
+    displayName: Jumpsuit
+  - name: id
+    slotTexture: id
+    fullTextureName: template_small
+    slotFlags: IDCARD
+    slotGroup: SecondHotbar
+    stripTime: 6
+    uiWindowPos: 2,1
+    strippingWindowPos: 2,4
+    dependsOn: jumpsuit
+    displayName: ID
+  - name: suitstorage
+    slotTexture: suit_storage
+    slotFlags:   SUITSTORAGE
+    slotGroup: MainHotbar
+    stripTime: 3
+    uiWindowPos: 2,0
+    strippingWindowPos: 2,5
+    dependsOn: jumpsuit
+    dependsOnComponents:
+    - type: AllowSuitStorage
+    displayName: Suit Storage
index 2f027b4b9c9380fd5fbf9f1936cb50ff8a9abb12..af571840e06cc2229c2d9229d1243cef3cc2e7ff 100644 (file)
     HornA: "#d4c8bf"
     hornB: "#eec7ab"
     hornC: "#ad9584"
+
+- type: palette
+  id: ScurretColors
+  name: ScurretColors
+  colors:
+    Normal: "#ffffff" # Sluggy
+    Innocent: "#f6f439" # Monky
+    Angry: "#dc5864" # Hunty
+    Perceptive: "#222222" # Watchy
+    Eldritch: "#dc5864"
+    Fat: "#fefcab"
+    Violent: "#ab3430"
+    Speedy: "#679cfe"
+    Mutated: "#7824a0"
+    Damned: "#98e652"
index 0462f61fc19c9e516ea50df4911979fb7737418d..1448a07cba4f241f603af5b0c84f14b73969578d 100644 (file)
     jumpsuit: ClothingUniformJumpsuitJacketMonkey
     id: PunPunIDCard
 
+# Emotional Support Scurret
+
+- type: startingGear
+  id: EmotionalSupportScurretGear
+  equipment:
+    id: ScurretPDA
+
 # DeathMatch Gear
 
 - type: startingGear
diff --git a/Resources/Prototypes/SoundCollections/scurret.yml b/Resources/Prototypes/SoundCollections/scurret.yml
new file mode 100644 (file)
index 0000000..34c83ed
--- /dev/null
@@ -0,0 +1,19 @@
+- type: soundCollection
+  id: WawaLaugh
+  files:
+  - /Audio/Animals/wawa_mock.ogg
+
+- type: soundCollection
+  id: WawaSneeze
+  files:
+  - /Audio/Animals/wawa_achoo.ogg
+
+- type: soundCollection
+  id: WawaSigh
+  files:
+  - /Audio/Animals/wawa_depression.ogg
+
+- type: soundCollection
+  id: WawaScream
+  files:
+  - /Audio/Animals/wawa_protest.ogg
index 7e06860bc64f794c756861e9e57056f37f46e3b2..8fb4230a5fed828369032390102722aeab6b4cd0 100644 (file)
     path: /Audio/Animals/goat_bah.ogg
     params:
       variation: 0.125
+
+- type: emoteSounds
+  id: Scurret
+  params:
+    variation: 0.125
+  sounds:
+    Laugh:
+      collection: WawaLaugh
+    Sneeze:
+      collection: WawaSneeze
+    Cough:
+      collection: MaleCoughs
+    Whistle:
+      collection: Whistles
+    Sigh:
+      collection: WawaSigh
+    Scream:
+      collection: WawaScream
index 1c31dcc2801f0bee9800d26f3b49d1b3e2f83728..5f48013e87b75dea52f9147863be352586fe6c1a 100644 (file)
     path: /Audio/Animals/goat_bah.ogg
   exclaimSound:
     path: /Audio/Animals/goat_bah.ogg
+
+- type: speechSounds
+  id: Wawa
+  saySound:
+    path: /Audio/Animals/wawa_statement.ogg
+  askSound:
+    path: /Audio/Animals/wawa_question.ogg
+  exclaimSound:
+    path: /Audio/Animals/wawa_exclaim.ogg
index f8202847fd6c1668c67aacb71c1a625810f12ea4..39f304018bbe78363df52583ebaf7275d2948182 100644 (file)
   - chat-speech-verb-electricity-1
   - chat-speech-verb-electricity-2
   - chat-speech-verb-electricity-3
+
+- type: speechVerb
+  id: Wawa
+  name: chat-speech-verb-name-wawa
+  speechVerbStrings:
+  - chat-speech-verb-wawa-1
+  - chat-speech-verb-wawa-2
+  - chat-speech-verb-wawa-3
+  - chat-speech-verb-wawa-4
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/ears.png b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/ears.png
new file mode 100644 (file)
index 0000000..40bba4f
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/ears.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/eyes.png b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/eyes.png
new file mode 100644 (file)
index 0000000..0c6b045
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/eyes.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/gloves.png b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/gloves.png
new file mode 100644 (file)
index 0000000..70ec172
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/gloves.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/hand.png b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/hand.png
new file mode 100644 (file)
index 0000000..4611d66
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/hand.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/head.png b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/head.png
new file mode 100644 (file)
index 0000000..064d1d9
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/head.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/id.png b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/id.png
new file mode 100644 (file)
index 0000000..6af79fb
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/id.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/jumpsuit.png b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/jumpsuit.png
new file mode 100644 (file)
index 0000000..2481e38
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/jumpsuit.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/mask.png b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/mask.png
new file mode 100644 (file)
index 0000000..c8e757e
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/mask.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/meta.json b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/meta.json
new file mode 100644 (file)
index 0000000..1af0099
--- /dev/null
@@ -0,0 +1,50 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Displacement maps made by Hannah 'FairlySadPanda' Dawson (Github), with assistance by TheShuEd (Discord). Wawa!",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "load": {
+        "srgb": false
+    },
+    "states": [
+        {
+            "name": "jumpsuit",
+            "directions": 4
+        },
+        {
+            "name": "head",
+            "directions": 4
+        },
+        {
+            "name": "neck",
+            "directions": 4
+        },
+        {
+            "name": "ears",
+            "directions": 4
+        },
+        {
+            "name": "eyes",
+            "directions": 4
+        },
+        {
+            "name": "mask",
+            "directions": 4
+        },
+        {
+            "name": "id",
+            "directions": 4
+        },
+        {
+            "name": "gloves",
+            "directions": 4
+        },
+        {
+            "name": "hand",
+            "directions": 4
+        }
+    ]
+}
diff --git a/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/neck.png b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/neck.png
new file mode 100644 (file)
index 0000000..5c2f591
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/displacement.rsi/neck.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/meta.json b/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/meta.json
new file mode 100644 (file)
index 0000000..c02aaa0
--- /dev/null
@@ -0,0 +1,21 @@
+{
+    "version": 1,
+    "license": "CC-BY-NC-SA-3.0",
+    "copyright": "Original sprite by Very-Soft (https://github.com/Very-Soft), edits by Hannah 'FairlySadPanda' Dawson. Displacement maps by Hannah 'FairlySadPanda' Dawson. Original creature concept by VIDEOCULT, and used with kind permission.",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "scurret",
+            "directions": 4
+        },
+        {
+            "name": "scurret_rip"
+        },
+        {
+            "name": "scurret_oof"
+        }
+    ]
+}
diff --git a/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret.png b/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret.png
new file mode 100644 (file)
index 0000000..7562f35
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret_oof.png b/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret_oof.png
new file mode 100644 (file)
index 0000000..e0dd782
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret_oof.png differ
diff --git a/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret_rip.png b/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret_rip.png
new file mode 100644 (file)
index 0000000..9d3f2a7
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/scurret/scurret.rsi/scurret_rip.png differ
index a45f465b544ce8e172150e0b80d6dbc0eb635d88..9c073fc7f61bd2ea8bdfe542b778135a82da4f43 100644 (file)
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from  at commit https://github.com/tgstation/tgstation/commit/f01de25493e2bd2706ef9b0303cb0d7b5e3e471b.     poster52_contraband, poster53_contraband and poster54_contraband taken from https://github.com/vgstation-coders/vgstation13/blob/435ed5f2a7926e91cc31abac3a0d47d7e9ad7ed4/icons/obj/posters.dmi.     originmap, poster55_contraband, poster56_contraband, poster57_contraband and poster39_legit by discord brainfood#7460,     poster63_contraband by discord foboscheshir_,     poster4_contraband edited, poster36_contraband and poster52_legit made by SlamBamActionman,     poster53_legit and the original version by @RCOI on discord, modified by Spessmann,     poster54_legit by hex_reject on Discord,     poster64_contraband, poster65_contraband, poster66_contraband by JuneSzalkowska (Discord).",
+  "copyright": "Taken from  at commit https://github.com/tgstation/tgstation/commit/f01de25493e2bd2706ef9b0303cb0d7b5e3e471b.     poster52_contraband, poster53_contraband and poster54_contraband taken from https://github.com/vgstation-coders/vgstation13/blob/435ed5f2a7926e91cc31abac3a0d47d7e9ad7ed4/icons/obj/posters.dmi.     originmap, poster55_contraband, poster56_contraband, poster57_contraband and poster39_legit by discord brainfood#7460,     poster63_contraband by discord foboscheshir_,     poster4_contraband edited, poster36_contraband and poster52_legit made by SlamBamActionman,     poster53_legit and the original version by @RCOI on discord, modified by Spessmann,     poster54_legit by hex_reject on Discord,     poster64_contraband, poster65_contraband, poster66_contraband by JuneSzalkowska (Discord), poster55_legit by FairlySadPanda (Github), based on art and a character owned by Vytian (Discord).",
   "size": {
     "x": 32,
     "y": 32
     {
       "name": "poster54_legit"
     },
+    {
+      "name": "poster55_legit"
+    },
     {
       "name": "random_legit"
     },
diff --git a/Resources/Textures/Structures/Wallmounts/posters.rsi/poster55_legit.png b/Resources/Textures/Structures/Wallmounts/posters.rsi/poster55_legit.png
new file mode 100644 (file)
index 0000000..ac02d88
Binary files /dev/null and b/Resources/Textures/Structures/Wallmounts/posters.rsi/poster55_legit.png differ