]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Moproaches (#38700)
authorVelken <8467292+Velken@users.noreply.github.com>
Tue, 15 Jul 2025 02:47:47 +0000 (23:47 -0300)
committerGitHub <noreply@github.com>
Tue, 15 Jul 2025 02:47:47 +0000 (22:47 -0400)
* MOPROACHES

* rerun test - random test fail of doom

* added to random pest event, with same prob as cancer mouse

* rerun test - random test fail of doom 2 electric boogaloo

* changed moproach obtain methods

* no crafting of moproaches allowed :(

* Reverted content of file.

* requested changes

* requested changes

* requested changes

* Increase moproach health by 5 - requested by Emo on discord

* spaaaaaaaaaaaaaaaaaaaaaaaaace

* microwave recipe added

* no surgery this week

* spaaaaaaaaaaaaaaaaaaace 2 more space for your space

* space

* new mopshoes sprite

* in-hands

* inhands v2

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
24 files changed:
Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
Resources/Locale/en-US/recipes/tags.ftl
Resources/Prototypes/Entities/Markers/Spawners/Mobs/animals.yml
Resources/Prototypes/Entities/Mobs/NPCs/moproach.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Misc/intermediate_parts.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml
Resources/Prototypes/GameRules/pests.yml
Resources/Prototypes/NPCs/mob.yml
Resources/Prototypes/Recipes/Cooking/meal_recipes.yml
Resources/Prototypes/Recipes/Crafting/Graphs/toys.yml
Resources/Prototypes/Recipes/Crafting/toys.yml
Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/0-equipped-HELMET.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/icon.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/inhand-left.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/inhand-right.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach-moving.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach.png [new file with mode: 0644]
Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach_dead.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/moproach_shoes.rsi/inhand-left.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/moproach_shoes.rsi/inhand-right.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/moproach_shoes.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Objects/Misc/moproach_shoes.rsi/mopshoes.png [new file with mode: 0644]

index d2fe9b306f75e25cfd9fee9454fd4cfd935efae0..ce52b886550bc9e9808896c6fcd08faac3d2e303 100644 (file)
@@ -35,6 +35,9 @@ ghost-role-information-mouse-description = A hungry and mischievous mouse.
 ghost-role-information-mothroach-name = Mothroach
 ghost-role-information-mothroach-description = A cute but mischievous mothroach.
 
+ghost-role-information-moproach-name = Moproach
+ghost-role-information-moproach-description = A cute mothroach with more cute moplike shoes on its feet.
+
 ghost-role-information-snail-name = Snail
 ghost-role-information-snail-description = A little snail who doesn't mind a bit of space. Just stay on grid!
 
index 11722a6f5ab5d72e43876c2e55aea0ecc3f690e9..39d39e7f0ccfa1bc5fd05a502d807292105179ad 100644 (file)
@@ -71,6 +71,7 @@ construction-graph-tag-corgi-hide = corgi hide
 construction-graph-tag-apron = an apron
 construction-graph-tag-utility-belt = a utility belt
 soil-construction-graph-any-mushroom = any mushroom
+construction-graph-tag-mop-basic = mop
 
 # toys
 construction-graph-tag-rubber-ducky = a rubber ducky
index ea39785032815919656251384e8938734585ed51..02d99e81c326ca9ae848b142fde269efe2a20bd6 100644 (file)
     prototypes:
     - MobCockroach
 
+- type: entity
+  parent: MarkerBase
+  id: SpawnMobMoproach
+  name: Moproach Spawner
+  components:
+  - type: Sprite
+    layers:
+    - state: green
+    - sprite: Mobs/Animals/mothroach/moproach.rsi
+      state: icon
+    - state: ai
+  - type: ConditionalSpawner
+    prototypes:
+    - MobMoproach
+
 - type: entity
   parent: MarkerBase
   id: SpawnMobCow
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/moproach.yml b/Resources/Prototypes/Entities/Mobs/NPCs/moproach.yml
new file mode 100644 (file)
index 0000000..c38b2ce
--- /dev/null
@@ -0,0 +1,55 @@
+- type: entity
+  name: moproach
+  parent: MobMothroach
+  id: MobMoproach
+  description: This little mothroach has mopshoes on its feet! How adorable!
+  components:
+  - type: GhostRole
+    name: ghost-role-information-moproach-name
+    description: ghost-role-information-moproach-description
+  - type: Sprite
+    sprite: Mobs/Animals/mothroach/moproach.rsi
+  - type: Clothing
+    quickEquip: false
+    sprite: Mobs/Animals/mothroach/moproach.rsi
+    equippedPrefix: 0
+    slots:
+    - HEAD
+  - type: MobThresholds
+    thresholds:
+      0: Alive
+      45: Critical
+      65: Dead
+  - type: MovementSpeedModifier
+    baseSprintSpeed : 5 # extra speed for that moppin'!
+  - type: HTN
+    rootTask:
+      task: MoproachCompound
+  - type: Absorbent
+    pickupAmount: 2 # small feet
+  - type: UseDelay
+    delay: 0.5 # quick feet
+  - type: SolutionRegeneration
+    solution: absorbed
+    generated:
+      reagents:
+        - ReagentId: Water
+          Quantity: 10
+  - type: SolutionPurge
+    solution: absorbed
+    preserve:
+      - Water
+    quantity: 10
+  - type: SolutionContainerManager
+    solutions:
+      absorbed:
+        maxVol: 50
+      food:
+        reagents:
+        - ReagentId: Slime
+          Quantity: 5
+  - type: DrainableSolution
+    solution: drainBuffer
+  - type: InteractionPopup
+    interactSuccessString: petting-success-cleanbot
+    interactFailureString: petting-failure-cleanbot
diff --git a/Resources/Prototypes/Entities/Objects/Misc/intermediate_parts.yml b/Resources/Prototypes/Entities/Objects/Misc/intermediate_parts.yml
new file mode 100644 (file)
index 0000000..b0774a1
--- /dev/null
@@ -0,0 +1,15 @@
+### For items thare are used as intermediate steps on a crafting recipe but have no use outside of it.
+- type: entity
+  parent: BaseItem
+  id: MoproachShoes
+  name: moproach shoes
+  description: Three pairs of tiny mopshoes, perfectly fit for a moproach.
+  components:
+  - type: Sprite
+    sprite: Objects/Misc/moproach_shoes.rsi
+    state: mopshoes
+  - type: Construction
+    graph: MoproachShoes
+    node: shoes
+  - type: Item
+    size: Tiny
index 35c9e51533cd693177c7fc8a1cde3c2dfc07fa42..f23bd4386651d3c6ce52c3c5a2250584685c0a5e 100644 (file)
     SpacemenFigureSpawner: 28
     SpawnMobCockroach: 5
     MaintenanceToolSpawner: 5
+    SpawnMobMoproach: 2
 
 - type: entity
   parent: BaseItem
index 52a730f773f8292f0c16f25a2d99577b7ab6f5fb..0d8a7d49d62abadefee70709776728e3616e3827 100644 (file)
     possibleSpawns:
     - MobMothroach
 
+- type: entity
+  parent: RehydratableAnimalCube
+  id: MoproachCube
+  name: moproach cube
+  components:
+  - type: Rehydratable
+    possibleSpawns:
+    - MobMoproach
+
 - type: entity
   parent: RehydratableAnimalCube
   id: MouseCube
index c0a746a138b12704a69facc43c37ab83367fcc8e..9ddee3d709d0546c1c789b3dd12b05f6a6de3836 100644 (file)
@@ -82,6 +82,8 @@
       prob: 0.03
     - id: MobMothroach
       prob: 0.008
+    - id: MobMoproach
+      prob: 0.004
 
 - type: entity
   id: SnailMigrationLowPop
index dd3378618a610dd8b06c3eed596adc25df9ab6f3..77969ab92d705bae55ccea3d1cd1b8aae81ee312 100644 (file)
     - tasks:
         - !type:HTNCompoundTask
           task: IdleCompound
+          
+- type: htnCompound
+  id: MoproachCompound
+  branches:
+  - tasks:
+    - !type:HTNCompoundTask
+      task: FoodCompound
+  - tasks:
+    - !type:HTNCompoundTask
+      task: BufferNearbyPuddlesCompound
+  - tasks:
+    - !type:HTNCompoundTask
+      task: IdleCompound
 
 - type: htnCompound
   id: GlockroachCompound
index 13462b86da7250c4c789cfeb732f1a73f41b5ebd..d576d5789e2085ae86f3d2dc41c3283577412350 100644 (file)
     FoodMeat: 1
     FoodTomato: 1
     FoodSoybeans: 2 # replace these with green beans once those become a thing
+
+- type: microwaveMealRecipe
+  id: RecipeMoproach # TODO: Move this to be an actual surgery instead, once surgery gets implemented.
+  name: moproach recipe
+  result: MobMoproach
+  time: 30
+  group: Other
+  reagents:
+    SpaceCleaner: 15
+  solids:
+    MobMothroach: 1
+    OrganAnimalHeart: 1
+    MoproachShoes: 1
index e756f9518edadc802de8579b5aace19569f4a54c..44959d4fb62534d4ed26b7211b636895767dcc40 100644 (file)
         doAfter: 5
   - node: suit
     entity: ClothingOuterSuitIan
+
+- type: constructionGraph
+  id: MoproachShoes
+  start: start
+  graph:
+  - node: start
+    edges:
+    - to: shoes
+      steps:
+      - tag: MopBasic
+        name: construction-graph-tag-mop-basic
+        icon:
+          sprite: Objects/Specific/Janitorial/mop.rsi
+          state: mop
+        doAfter: 5
+      - tag: MopBasic
+        name: construction-graph-tag-mop-basic
+        icon:
+          sprite: Objects/Specific/Janitorial/mop.rsi
+          state: mop
+        doAfter: 5
+      - tag: MopBasic
+        name: construction-graph-tag-mop-basic
+        icon:
+          sprite: Objects/Specific/Janitorial/mop.rsi
+          state: mop
+        doAfter: 5
+      - tag: MopBasic
+        name: construction-graph-tag-mop-basic
+        icon:
+          sprite: Objects/Specific/Janitorial/mop.rsi
+          state: mop
+        doAfter: 5
+      - tag: MopBasic
+        name: construction-graph-tag-mop-basic
+        icon:
+          sprite: Objects/Specific/Janitorial/mop.rsi
+          state: mop
+        doAfter: 5
+      - tag: MopBasic
+        name: construction-graph-tag-mop-basic
+        icon:
+          sprite: Objects/Specific/Janitorial/mop.rsi
+          state: mop
+        doAfter: 5
+  - node: shoes
+    entity: MoproachShoes
index a3bc1bdf72889f425211bb578190646d8cf48e1f..374f96fa478f1a37aaa1550070a1bc214706166e 100644 (file)
   targetNode: suit
   category: construction-category-misc
   objectType: Item
+
+- type: construction
+  id: MoproachShoes
+  graph: MoproachShoes
+  startNode: start
+  targetNode: shoes
+  category: construction-category-misc
+  objectType: Item
diff --git a/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/0-equipped-HELMET.png b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/0-equipped-HELMET.png
new file mode 100644 (file)
index 0000000..f756efe
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/0-equipped-HELMET.png differ
diff --git a/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/icon.png b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/icon.png
new file mode 100644 (file)
index 0000000..1923b5d
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/icon.png differ
diff --git a/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/inhand-left.png b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/inhand-left.png
new file mode 100644 (file)
index 0000000..7b6b9a2
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/inhand-left.png differ
diff --git a/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/inhand-right.png b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/inhand-right.png
new file mode 100644 (file)
index 0000000..f184340
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/inhand-right.png differ
diff --git a/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/meta.json b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/meta.json
new file mode 100644 (file)
index 0000000..3629b33
--- /dev/null
@@ -0,0 +1,60 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Taken from fulpstation at https://github.com/fulpstation/fulpstation/commit/edb232b692ec9f356ec554ea1971da552b9bc447. 'mothroach-moving' by MilenVolf, all edited by lzk228",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "icon"
+        },
+        {
+            "name": "mothroach",
+            "directions": 4
+        },
+        {
+            "name": "mothroach-moving",
+            "directions": 4,
+            "delays": [
+                [
+                    0.2,
+                    0.2,
+                    0.2
+                ],
+                [
+                    0.2,
+                    0.2,
+                    0.2
+                ],
+                [
+                    0.2,
+                    0.2,
+                    0.2
+                ],
+                [
+                    0.2,
+                    0.2,
+                    0.2
+                ]
+            ]
+        },
+        {
+            "name": "mothroach_dead",
+            "directions": 4
+        },
+        {
+            "name": "inhand-left",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right",
+            "directions": 4
+        },
+        {
+            "name": "0-equipped-HELMET",
+            "directions": 4
+        }
+    ]
+}
diff --git a/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach-moving.png b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach-moving.png
new file mode 100644 (file)
index 0000000..929cf99
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach-moving.png differ
diff --git a/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach.png b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach.png
new file mode 100644 (file)
index 0000000..8bc772c
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach.png differ
diff --git a/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach_dead.png b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach_dead.png
new file mode 100644 (file)
index 0000000..83cbc86
Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach/moproach.rsi/mothroach_dead.png differ
diff --git a/Resources/Textures/Objects/Misc/moproach_shoes.rsi/inhand-left.png b/Resources/Textures/Objects/Misc/moproach_shoes.rsi/inhand-left.png
new file mode 100644 (file)
index 0000000..0f1c799
Binary files /dev/null and b/Resources/Textures/Objects/Misc/moproach_shoes.rsi/inhand-left.png differ
diff --git a/Resources/Textures/Objects/Misc/moproach_shoes.rsi/inhand-right.png b/Resources/Textures/Objects/Misc/moproach_shoes.rsi/inhand-right.png
new file mode 100644 (file)
index 0000000..af7ee7d
Binary files /dev/null and b/Resources/Textures/Objects/Misc/moproach_shoes.rsi/inhand-right.png differ
diff --git a/Resources/Textures/Objects/Misc/moproach_shoes.rsi/meta.json b/Resources/Textures/Objects/Misc/moproach_shoes.rsi/meta.json
new file mode 100644 (file)
index 0000000..ab04fbd
--- /dev/null
@@ -0,0 +1,22 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Sprites by Velken. Inhand versions modified from mop sprites from Easypoll. Mopshoes based from Galoshes from tgstation at commit https://github.com/tgstation/tgstation/commit/7e4e9d432d88981fb9bb463970c5b98ce85c0abe",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "mopshoes"
+        },
+        {
+            "name": "inhand-left",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right",
+            "directions": 4
+        }
+    ]
+}
diff --git a/Resources/Textures/Objects/Misc/moproach_shoes.rsi/mopshoes.png b/Resources/Textures/Objects/Misc/moproach_shoes.rsi/mopshoes.png
new file mode 100644 (file)
index 0000000..6f4b021
Binary files /dev/null and b/Resources/Textures/Objects/Misc/moproach_shoes.rsi/mopshoes.png differ