From: brainfood1183 <113240905+brainfood1183@users.noreply.github.com> Date: Fri, 5 May 2023 13:15:49 +0000 (+0100) Subject: Adds Mimebot (#16019) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=d72f7d57c660c284fb7988309dd58a838a986e14;p=space-station-14.git Adds Mimebot (#16019) --- diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl index 953bd4da67..e7f38047cc 100644 --- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl +++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl @@ -44,11 +44,13 @@ petting-failure-bear = You reach out to pet {THE($target)}, but {SUBJECT($target ## Petting silicons petting-success-honkbot = You pet {THE($target)} on {POSS-ADJ($target)} slippery metal head. +petting-success-mimebot = You pet {THE($target)} on {POSS-ADJ($target)} cold metal head. petting-success-cleanbot = You pet {THE($target)} on {POSS-ADJ($target)} damp metal head. petting-success-medibot = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head. petting-failure-honkbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} honks in refusal! petting-failure-cleanbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy mopping! +petting-failure-mimebot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy miming! petting-failure-medibot = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} syringe nearly stabs your hand! ## Knocking on windows diff --git a/Resources/Prototypes/Body/Parts/silicon.yml b/Resources/Prototypes/Body/Parts/silicon.yml index ad4e014790..90353d6568 100644 --- a/Resources/Prototypes/Body/Parts/silicon.yml +++ b/Resources/Prototypes/Body/Parts/silicon.yml @@ -101,3 +101,22 @@ - Trash - BorgLeg - BorgRightLeg + +- type: entity + id: LightHeadBorg + name: "borg head" + parent: PartSilicon + components: + - type: Sprite + netsync: false + sprite: Objects/Specific/Borg/head.rsi + state: "light_borg_head" + - type: Icon + sprite: Objects/Specific/Borg/head.rsi + state: "light_borg_head" + - type: BodyPart + partType: Head + - type: Tag + tags: + - Trash + - BorgHead diff --git a/Resources/Prototypes/Catalog/Research/technologies.yml b/Resources/Prototypes/Catalog/Research/technologies.yml index d5c8738ea7..afd7521fc0 100644 --- a/Resources/Prototypes/Catalog/Research/technologies.yml +++ b/Resources/Prototypes/Catalog/Research/technologies.yml @@ -553,6 +553,7 @@ unlockedRecipes: - ProximitySensor - LeftArmBorg + - LightHeadBorg - RightArmBorg - LeftLegBorg - RightLegBorg diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index 7da9f3fe00..baa1895181 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -517,6 +517,9 @@ name: suspenders description: For holding your pants up. components: + - type: Tag + tags: + - MimeBelt - type: Sprite sprite: Clothing/Belt/suspenders.rsi state: icon diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml index 4382686516..0540b60cc5 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml @@ -261,3 +261,37 @@ interactFailureString: petting-failure-medibot interactSuccessSound: path: /Audio/Ambience/Objects/periodic_beep.ogg + +- type: entity + parent: MobSiliconBase + id: MobMimeBot + name: mimebot + description: Why not give mimebot a friendly wave. + components: + - type: InventorySlots + - type: Strippable + - type: UserInterface + interfaces: + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: mimebot + sprite: Mobs/Silicon/Bots/mimebot.rsi + - type: MimePowers + - type: Appearance + - type: Construction + graph: MimeBot + node: bot + - type: GhostRole + makeSentient: true + name: mimebot + description: A Mimebot, act like a mime but dont act like a greytider. + - type: GhostTakeoverAvailable + - type: InteractionPopup + interactSuccessString: petting-success-mimebot + interactFailureString: petting-failure-mimebot + - type: Inventory + templateId: head diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml index baa7c64658..46ac76b138 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml @@ -464,6 +464,11 @@ description: A limited mime edition of the happy honk meal. suffix: Toy Safe components: + - type: Tag + tags: + - Trash + - HappyHonk + - MimeHappyHonk - type: Sprite netsync: false sprite: Objects/Storage/Happyhonk/mime.rsi diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 94e9a1d78c..c183b8f28d 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -366,6 +366,7 @@ - RightArmBorg - LeftLegBorg - RightLegBorg + - LightHeadBorg - RipleyHarness - RipleyLArm - RipleyRArm diff --git a/Resources/Prototypes/InventoryTemplates/head_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/head_inventory_template.yml new file mode 100644 index 0000000000..bf62e4283b --- /dev/null +++ b/Resources/Prototypes/InventoryTemplates/head_inventory_template.yml @@ -0,0 +1,10 @@ +- type: inventoryTemplate + id: head + slots: + - name: head + slotTexture: head + slotFlags: HEAD + slotGroup: MainHotbar + uiWindowPos: 0,0 + strippingWindowPos: 0,0 + displayName: Head diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/mimebot.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/mimebot.yml new file mode 100644 index 0000000000..339e9604ef --- /dev/null +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/mimebot.yml @@ -0,0 +1,44 @@ +- type: constructionGraph + id: MimeBot + start: start + graph: + - node: start + edges: + - to: bot + steps: + - tag: MimeHappyHonk + icon: + sprite: Objects/Storage/Happyhonk/mime.rsi + state: box + name: mime edition happy honk meal + - tag: MimeBelt + icon: + sprite: Clothing/Belt/suspenders.rsi + state: icon + name: suspenders + doAfter: 2 + - tag: ProximitySensor + icon: + sprite: Objects/Misc/proximity_sensor.rsi + state: icon + name: proximity sensor + - tag: BorgHead + icon: + sprite: Objects/Specific/Borg/head.rsi + state: light_borg_head + name: borg head + doAfter: 2 + - tag: BorgArm + icon: + sprite: Mobs/Silicon/drone.rsi + state: l_hand + name: borg arm + doAfter: 2 + - tag: BorgArm + icon: + sprite: Mobs/Silicon/drone.rsi + state: l_hand + name: borg arm + doAfter: 2 + - node: bot + entity: MobMimeBot diff --git a/Resources/Prototypes/Recipes/Crafting/bots.yml b/Resources/Prototypes/Recipes/Crafting/bots.yml index 2f76f14ec6..9a70a19c86 100644 --- a/Resources/Prototypes/Recipes/Crafting/bots.yml +++ b/Resources/Prototypes/Recipes/Crafting/bots.yml @@ -49,3 +49,16 @@ icon: sprite: Mobs/Silicon/Bots/medibot.rsi state: medibot + +- type: construction + name: mimebot + id: mimebot + graph: MimeBot + startNode: start + targetNode: bot + category: construction-category-utilities + objectType: Item + description: This bot knows how to wave. + icon: + sprite: Mobs/Silicon/Bots/mimebot.rsi + state: mimebot diff --git a/Resources/Prototypes/Recipes/Lathes/robotics.yml b/Resources/Prototypes/Recipes/Lathes/robotics.yml index 330aaec129..62c6f4d24d 100644 --- a/Resources/Prototypes/Recipes/Lathes/robotics.yml +++ b/Resources/Prototypes/Recipes/Lathes/robotics.yml @@ -37,3 +37,11 @@ materials: Steel: 70 Glass: 25 + +- type: latheRecipe + id: LightHeadBorg + result: LightHeadBorg + completetime: 2 + materials: + Steel: 70 + Glass: 25 diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 813b1404eb..5c2fac4564 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -34,6 +34,9 @@ - type: Tag id: BorgArm +- type: Tag + id: BorgHead + - type: Tag id: BorgLeg @@ -385,6 +388,12 @@ - type: Tag id: MicroBomb +- type: Tag + id: MimeBelt + +- type: Tag + id: MimeHappyHonk + # Magazines ordered by slot then caliber - type: Tag diff --git a/Resources/Textures/Mobs/Silicon/Bots/mimebot.rsi/meta.json b/Resources/Textures/Mobs/Silicon/Bots/mimebot.rsi/meta.json new file mode 100644 index 0000000000..7317ccebc5 --- /dev/null +++ b/Resources/Textures/Mobs/Silicon/Bots/mimebot.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Made by brainfood1183 (github) for ss14", + "states": [ + { + "name": "mimebot", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Mobs/Silicon/Bots/mimebot.rsi/mimebot.png b/Resources/Textures/Mobs/Silicon/Bots/mimebot.rsi/mimebot.png new file mode 100644 index 0000000000..b0aada4c4e Binary files /dev/null and b/Resources/Textures/Mobs/Silicon/Bots/mimebot.rsi/mimebot.png differ diff --git a/Resources/Textures/Objects/Specific/Borg/head.rsi/light_borg_head.png b/Resources/Textures/Objects/Specific/Borg/head.rsi/light_borg_head.png new file mode 100644 index 0000000000..140a3a8508 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Borg/head.rsi/light_borg_head.png differ diff --git a/Resources/Textures/Objects/Specific/Borg/head.rsi/meta.json b/Resources/Textures/Objects/Specific/Borg/head.rsi/meta.json new file mode 100644 index 0000000000..7bc150faf8 --- /dev/null +++ b/Resources/Textures/Objects/Specific/Borg/head.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/goonstation/goonstation/commit/80921812d898aef31f8889d31269254baeff2786#diff-a2065731f293aa1b66d4f8ae294351482c89da49b9dd5e64de3ceec4438c8d95", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "light_borg_head" + } + ] +}