diff --git a/Resources/Locale/en-US/research/technologies.ftl b/Resources/Locale/en-US/research/technologies.ftl index 24fca564e1..8e9a1b2856 100644 --- a/Resources/Locale/en-US/research/technologies.ftl +++ b/Resources/Locale/en-US/research/technologies.ftl @@ -55,7 +55,7 @@ research-technology-super-parts = Super Parts research-technology-janitorial-equipment = Janitorial Equipment research-technology-laundry-tech = Laundry Tech research-technology-basic-hydroponics = Basic Hydroponics -research-technology-hamtr = HAMTR Mech +research-technology-critter-mechs = Critter Mechs research-technology-food-service = Food Service research-technology-advanced-entertainment = Advanced Entertainment research-technology-audio-visual-communication = A/V Communication diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 2cb807d697..18e1ae41e1 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -61,6 +61,9 @@ - type: NoSlip - type: Puller needsHands: true + - type: Tag + tags: + - VimPilot - type: entity name: bee @@ -169,6 +172,7 @@ tags: - DoorBumpOpener - Chicken + - VimPilot - type: Reproductive breedChance: 0.05 birthPopup: reproductive-laid-egg-popup @@ -252,8 +256,9 @@ - MobLayer - type: Tag tags: - - DoorBumpOpener - - Duck + - DoorBumpOpener + - Duck + - VimPilot - type: Reproductive breedChance: 0.05 birthPopup: reproductive-laid-egg-popup @@ -517,6 +522,9 @@ interactFailureString: petting-failure-crab - type: Bloodstream bloodMaxVolume: 50 + - type: Tag + tags: + - VimPilot - type: entity name: goat @@ -961,7 +969,7 @@ - type: Tag tags: - Trash - - CannotSuicide + - VimPilot - Mouse - type: Respirator damage: @@ -1050,8 +1058,8 @@ description: A harmless dragon. components: - type: MovementSpeedModifier - baseWalkSpeed : 2 - baseSprintSpeed : 3 + baseWalkSpeed: 2 + baseSprintSpeed: 3 - type: Sprite drawdepth: Mobs layers: @@ -1093,6 +1101,9 @@ damageModifierSet: Scale - type: Puller needsHands: true + - type: Tag + tags: + - VimPilot - type: entity @@ -1146,8 +1157,8 @@ description: Hop hop hop. Lookin' moist. components: - type: MovementSpeedModifier - baseWalkSpeed : 4 - baseSprintSpeed : 6 + baseWalkSpeed: 4 + baseSprintSpeed: 6 - type: Sprite drawdepth: Mobs layers: @@ -1186,6 +1197,9 @@ bloodMaxVolume: 50 - type: Puller needsHands: true + - type: Tag + tags: + - VimPilot # Would be cool to have some functionality for the parrot to be able to sit on stuff - type: entity @@ -1275,6 +1289,9 @@ interactFailureString: petting-failure-generic interactSuccessSound: path: /Audio/Animals/penguin_squawk.ogg + - type: Tag + tags: + - VimPilot - type: NpcFactionMember factions: - Passive @@ -1286,8 +1303,8 @@ description: A small penguin with a grenade strapped around its neck. Harvested by the Syndicate from icy shit-hole planets. components: - type: MovementSpeedModifier - baseWalkSpeed : 3.5 - baseSprintSpeed : 5 + baseWalkSpeed: 3.5 + baseSprintSpeed: 5 - type: InputMover - type: MobMover - type: HTN @@ -1443,6 +1460,9 @@ - type: IdExaminable - type: Loadout prototypes: [SyndicateOperativeGearMonkey] + - type: Tag + tags: + - VimPilot # I have included a snake_hiss.ogg sound file so if you want to use that be my guest - type: entity @@ -1673,6 +1693,9 @@ - type: Grammar attributes: gender: epicene + - type: Tag + tags: + - VimPilot - type: entity name: raccoon @@ -1726,6 +1749,9 @@ - type: Grammar attributes: gender: epicene + - type: Tag + tags: + - VimPilot - type: entity name: fox @@ -1781,6 +1807,9 @@ gender: epicene - type: Bloodstream bloodMaxVolume: 100 + - type: Tag + tags: + - VimPilot - type: entity name: corgi @@ -1840,6 +1869,9 @@ - type: Puller - type: MobPrice price: 200 + - type: Tag + tags: + - VimPilot - type: entity name: corrupted corgi @@ -1983,6 +2015,9 @@ gender: epicene - type: MobPrice price: 200 + - type: Tag + tags: + - VimPilot - type: entity name: calico cat @@ -2101,6 +2136,9 @@ - type: Grammar attributes: gender: epicene + - type: Tag + tags: + - VimPilot - type: entity name: ferret @@ -2155,6 +2193,9 @@ - type: Grammar attributes: gender: epicene + - type: Tag + tags: + - VimPilot - type: entity name: hamster @@ -2240,8 +2281,8 @@ accent: mouse - type: Tag tags: + - VimPilot - Trash - - CannotSuicide - Hamster - type: Respirator damage: @@ -2307,6 +2348,7 @@ tags: - DoorBumpOpener - Pig + - VimPilot - type: Reproductive partnerWhitelist: tags: diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index 529cc302be..762f1affe4 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -32,6 +32,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Old Ian @@ -98,6 +99,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Exception @@ -114,6 +116,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Floppa @@ -138,6 +141,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Bandito @@ -151,6 +155,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: bingus @@ -209,6 +214,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: mcgriff @@ -270,6 +276,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Paperwork @@ -303,9 +310,6 @@ attributes: proper: true gender: male - - type: Tag - tags: - - CannotSuicide - type: entity name: Walter @@ -367,6 +371,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Morty @@ -383,6 +388,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Morticia @@ -399,6 +405,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Alexander @@ -412,8 +419,7 @@ - type: Tag tags: - CannotSuicide - - DoorBumpOpener - - Pig + - VimPilot - type: entity name: Renault @@ -436,6 +442,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Hamlet @@ -469,8 +476,8 @@ - type: Tag tags: - CannotSuicide - - Trash - Hamster + - VimPilot - type: entity name: Shiva @@ -539,6 +546,7 @@ - type: Tag tags: - CannotSuicide + - VimPilot - type: entity name: Willow @@ -594,6 +602,7 @@ - FootstepSound - DoorBumpOpener - CannotSuicide + - VimPilot - type: DamageStateVisuals states: Alive: diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml index fe6c073e5d..4bb13bdd93 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml @@ -62,6 +62,9 @@ state: voice - type: PayloadTrigger components: - - type: TriggerOnVoice - - type: StaticPrice - price: 40 + - type: TriggerOnVoice + - type: StaticPrice + price: 40 + - type: Tag + tags: + - VoiceTrigger diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml index 10aa03f662..ab80baaa93 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml @@ -157,8 +157,8 @@ # H.O.N.K. - type: entity - id: BaseHonkerPart parent: BaseMechPart + id: BaseHonkerPart abstract: true components: - type: Sprite @@ -409,3 +409,78 @@ graph: Hamtr node: start defaultTarget: hamtr + +# Vim!!!!!! + +- type: entity + parent: BaseMechPart + id: BaseVimPart + abstract: true + components: + - type: Sprite + drawdepth: Items + noRot: false + sprite: Objects/Specific/Mech/vim_construction.rsi + +- type: entity + parent: BaseVimPart + id: BaseVimPartItem + abstract: true + components: + - type: Item + size: 10 + +- type: entity + parent: BaseVimPartItem + id: VimHarness + name: vim harness + description: A small mounting bracket for vim parts. + components: + - type: Appearance + - type: ItemMapper + mapLayers: + helmet: + whitelist: + tags: + - HelmetEVA + left_leg: + whitelist: + tags: + - BorgLeftLeg + right_leg: + whitelist: + tags: + - BorgRightLeg + sprite: Objects/Specific/Mech/vim_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: VimChassis + requiredParts: + HelmetEVA: false + BorgLeftLeg: false + BorgRightLeg: false + - type: Sprite + state: harness + noRot: true + +- type: entity + id: VimChassis + parent: BaseVimPart + name: vim chassis + description: An in-progress construction of the Vim exosuit. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: vim + - type: Sprite + noRot: true + state: vim0 + - type: Construction + graph: Vim + node: start + defaultTarget: vim diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml index 3842e84954..d77b397063 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml @@ -113,8 +113,8 @@ # TODO: have a whitelist for honker equipment - type: entity - id: MechHonker parent: BaseMech + id: MechHonker name: H.O.N.K. description: "Produced by \"Tyranny of Honk, INC\", this exosuit is designed as heavy clown-support. Used to spread the fun and joy of life. HONK!" components: @@ -138,8 +138,8 @@ - HumanoidAppearance - type: entity - id: MechHonkerBattery parent: MechHonker + id: MechHonkerBattery suffix: Battery components: - type: ContainerFill @@ -148,8 +148,8 @@ - PowerCellHigh - type: entity - id: MechHamtr parent: BaseMech + id: MechHamtr name: HAMTR description: "An experimental mech which uses a brain–computer interface to connect directly to a hamsters brain." components: @@ -188,8 +188,55 @@ baseSprintSpeed: 3.7 - type: entity - id: MechHamtrBattery parent: MechHamtr + id: MechHamtrBattery + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHigh + +# Vim!!!!!!! + +- type: entity + parent: BaseMech + id: MechVim + name: Vim + description: A minature exosuit from Nanotrasen, developed to let the irreplacable station pets live a little longer. + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: vim + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/mechmove03.ogg + params: + volume: -10 + - type: Mech + baseState: vim + openState: vim-open + brokenState: vim-broken + maxEquipmentAmount: 0 + # keep mouse safe + mechToPilotDamageMultiplier: 0.1 + airtight: true + pilotWhitelist: + tags: + - VimPilot + - type: MovementSpeedModifier + baseWalkSpeed: 2.25 + baseSprintSpeed: 3.6 + # TOOD: buzz / chime actions + # TODO: builtin flashlight + +- type: entity + parent: MechVim + id: MechVimBattery suffix: Battery components: - type: ContainerFill diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index cf6eb1d0dd..32ec2e38da 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -410,6 +410,7 @@ - HamtrRArm - HamtrLLeg - HamtrRLeg + - VimHarness - type: MaterialStorage whitelist: tags: diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml new file mode 100644 index 0000000000..a502bdfd53 --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml @@ -0,0 +1,29 @@ +- type: constructionGraph + id: Vim + start: start + graph: + - node: start + edges: + - to: vim + steps: + - tag: VoiceTrigger + name: a voice trigger + icon: + sprite: "Objects/Devices/voice.rsi" + state: "voice" + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 1 + - component: PowerCell + name: a power cell + store: battery-container + icon: + sprite: Objects/Power/power_cells.rsi + state: small + - tool: Screwing + doAfter: 1 + - node: vim + actions: + - !type:BuildMech + mechPrototype: MechVim diff --git a/Resources/Prototypes/Recipes/Lathes/mech_parts.yml b/Resources/Prototypes/Recipes/Lathes/mech_parts.yml index c536408659..462e285cf1 100644 --- a/Resources/Prototypes/Recipes/Lathes/mech_parts.yml +++ b/Resources/Prototypes/Recipes/Lathes/mech_parts.yml @@ -149,3 +149,12 @@ materials: Steel: 400 Plastic: 100 + +# Vim +- type: latheRecipe + id: VimHarness + result: VimHarness + completetime: 5 + materials: + Steel: 500 + Glass: 200 diff --git a/Resources/Prototypes/Research/civilianservices.yml b/Resources/Prototypes/Research/civilianservices.yml index 8c661ed8e8..6578fb30b2 100644 --- a/Resources/Prototypes/Research/civilianservices.yml +++ b/Resources/Prototypes/Research/civilianservices.yml @@ -42,8 +42,8 @@ - HydroponicsTrayMachineCircuitboard - type: technology - id: HamtrMechTech - name: research-technology-hamtr + id: CritterMechs + name: research-technology-critter-mechs icon: sprite: Objects/Specific/Mech/mecha.rsi state: hamtr @@ -51,14 +51,15 @@ tier: 1 cost: 10000 recipeUnlocks: - - HamtrHarness - - HamtrLArm - - HamtrRArm - - HamtrLLeg - - HamtrRLeg - - HamtrCentralElectronics - - HamtrPeripheralsElectronics - - MechEquipmentGrabberSmall + - HamtrHarness + - HamtrLArm + - HamtrRArm + - HamtrLLeg + - HamtrRLeg + - HamtrCentralElectronics + - HamtrPeripheralsElectronics + - MechEquipmentGrabberSmall + - VimHarness - type: technology id: FoodService diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index df832a7793..e36008439e 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -853,6 +853,12 @@ - type: Tag id: VehicleKey +- type: Tag + id: VimPilot + +- type: Tag + id: VoiceTrigger + - type: Tag id: Wall diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/meta.json b/Resources/Textures/Objects/Specific/Mech/mecha.rsi/meta.json index 2a634895d0..88a6e73911 100644 --- a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Mech/mecha.rsi/meta.json @@ -474,6 +474,14 @@ }, { "name": "hauler-broken" + }, + { + "name": "vim", + "directions": 4 + }, + { + "name": "vim-open", + "directions": 4 } ] } diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/vim-open.png b/Resources/Textures/Objects/Specific/Mech/mecha.rsi/vim-open.png new file mode 100644 index 0000000000..a70fa69cbd Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha.rsi/vim-open.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/vim.png b/Resources/Textures/Objects/Specific/Mech/mecha.rsi/vim.png new file mode 100644 index 0000000000..85e830caf5 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha.rsi/vim.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/chassis.png b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/chassis.png new file mode 100644 index 0000000000..ccf6e789fb Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/chassis.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/harness.png b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/harness.png new file mode 100644 index 0000000000..c11f8871e8 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/harness.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/helmet.png b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/helmet.png new file mode 100644 index 0000000000..00eb713f52 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/helmet.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/left_leg.png b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/left_leg.png new file mode 100644 index 0000000000..f89aac8ab5 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/left_leg.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/meta.json b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/meta.json new file mode 100644 index 0000000000..1f56ac7948 --- /dev/null +++ b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "copyright" : "Based on tgstation at https://github.com/tgstation/tgstation/blob/adf4605b24258e9c96fa985e1d11912add6aae19/icons/obj/vehicles.dmi and modified by @deltanedas (github)", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "chassis" + }, + { + "name": "harness" + }, + { + "name": "left_leg" + }, + { + "name": "right_leg" + }, + { + "name": "helmet" + }, + { + "name": "vim0" + }, + { + "name": "vim1" + }, + { + "name": "vim2" + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/right_leg.png b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/right_leg.png new file mode 100644 index 0000000000..ceaa6fa2ca Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/right_leg.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/vim0.png b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/vim0.png new file mode 100644 index 0000000000..3e3dc880fb Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/vim0.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/vim1.png b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/vim1.png new file mode 100644 index 0000000000..45165addce Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/vim1.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/vim2.png b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/vim2.png new file mode 100644 index 0000000000..45165addce Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/vim_construction.rsi/vim2.png differ