Files
wwdpublic/Content.Shared/Input/ContentKeyFunctions.cs
Mnemotechnican a2c1687260 Lay Down via Keybind (#530)
# Description
Adds a way to lay down/crawl using a keybind (R by default) similarly to
ss13. It has the same effects as falling down after slipping or buckling
to a bed, except you don't drop items while doing so and can (very
slowly) move around. This opens new gameplay and roleplay possibilities.

You can only toggle standing/laying once in 2.5 seconds (this cooldown
is to prevent pro gamers from spamming it). It shows a small popup to
everyone. If the attempt fails for whatever reason - being buckled,
sleeping, stunned, or anything else - another popup is shown that's only
visible to you.

It's been tested and made sure that the system works correctly with
buckling, sleeping, being stunned, and shocked.

<details><summary><h1>Media</h1></summary>
<p>

18 mb recording won't fit on github:


https://cdn.discordapp.com/attachments/1255902264309321851/1260354667578261504/weeee-2024-07-10_00.57.23.mp4?ex=668f0441&is=668db2c1&hm=d338a3499bf47780a66b7ba96d5e8830d8cb4167064423b8983b2d0144b7aa88&

</p>
</details>

---

# Changelog

🆑
- add: You can now lie down and stand up at will! The default keybind
for it is "R", but it can be changed in settings.

---------

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-07-17 22:33:16 -04:00

109 lines
7.3 KiB
C#

using Robust.Shared.Input;
namespace Content.Shared.Input
{
[KeyFunctions]
public static class ContentKeyFunctions
{
public static readonly BoundKeyFunction UseItemInHand = "ActivateItemInHand";
public static readonly BoundKeyFunction AltUseItemInHand = "AltActivateItemInHand";
public static readonly BoundKeyFunction ActivateItemInWorld = "ActivateItemInWorld";
public static readonly BoundKeyFunction AltActivateItemInWorld = "AltActivateItemInWorld";
public static readonly BoundKeyFunction Drop = "Drop";
public static readonly BoundKeyFunction ExamineEntity = "ExamineEntity";
public static readonly BoundKeyFunction FocusChat = "FocusChatInputWindow";
public static readonly BoundKeyFunction FocusLocalChat = "FocusLocalChatWindow";
public static readonly BoundKeyFunction FocusEmote = "FocusEmote";
public static readonly BoundKeyFunction FocusWhisperChat = "FocusWhisperChatWindow";
public static readonly BoundKeyFunction FocusRadio = "FocusRadioWindow";
public static readonly BoundKeyFunction FocusLOOC = "FocusLOOCWindow";
public static readonly BoundKeyFunction FocusOOC = "FocusOOCWindow";
public static readonly BoundKeyFunction FocusAdminChat = "FocusAdminChatWindow";
public static readonly BoundKeyFunction FocusDeadChat = "FocusDeadChatWindow";
public static readonly BoundKeyFunction FocusConsoleChat = "FocusConsoleChatWindow";
public static readonly BoundKeyFunction CycleChatChannelForward = "CycleChatChannelForward";
public static readonly BoundKeyFunction CycleChatChannelBackward = "CycleChatChannelBackward";
public static readonly BoundKeyFunction EscapeContext = "EscapeContext";
public static readonly BoundKeyFunction OpenCharacterMenu = "OpenCharacterMenu";
public static readonly BoundKeyFunction OpenLanguageMenu = "OpenLanguageMenu";
public static readonly BoundKeyFunction OpenCraftingMenu = "OpenCraftingMenu";
public static readonly BoundKeyFunction OpenGuidebook = "OpenGuidebook";
public static readonly BoundKeyFunction OpenInventoryMenu = "OpenInventoryMenu";
public static readonly BoundKeyFunction SmartEquipBackpack = "SmartEquipBackpack";
public static readonly BoundKeyFunction SmartEquipBelt = "SmartEquipBelt";
public static readonly BoundKeyFunction OpenBackpack = "OpenBackpack";
public static readonly BoundKeyFunction OpenBelt = "OpenBelt";
public static readonly BoundKeyFunction OpenAHelp = "OpenAHelp";
public static readonly BoundKeyFunction SwapHands = "SwapHands";
public static readonly BoundKeyFunction MoveStoredItem = "MoveStoredItem";
public static readonly BoundKeyFunction RotateStoredItem = "RotateStoredItem";
public static readonly BoundKeyFunction ThrowItemInHand = "ThrowItemInHand";
public static readonly BoundKeyFunction TryPullObject = "TryPullObject";
public static readonly BoundKeyFunction MovePulledObject = "MovePulledObject";
public static readonly BoundKeyFunction ReleasePulledObject = "ReleasePulledObject";
public static readonly BoundKeyFunction MouseMiddle = "MouseMiddle";
public static readonly BoundKeyFunction OpenEntitySpawnWindow = "OpenEntitySpawnWindow";
public static readonly BoundKeyFunction OpenSandboxWindow = "OpenSandboxWindow";
public static readonly BoundKeyFunction OpenTileSpawnWindow = "OpenTileSpawnWindow";
public static readonly BoundKeyFunction OpenDecalSpawnWindow = "OpenDecalSpawnWindow";
public static readonly BoundKeyFunction OpenAdminMenu = "OpenAdminMenu";
public static readonly BoundKeyFunction TakeScreenshot = "TakeScreenshot";
public static readonly BoundKeyFunction TakeScreenshotNoUI = "TakeScreenshotNoUI";
public static readonly BoundKeyFunction ToggleFullscreen = "ToggleFullscreen";
public static readonly BoundKeyFunction Point = "Point";
public static readonly BoundKeyFunction ZoomOut = "ZoomOut";
public static readonly BoundKeyFunction ZoomIn = "ZoomIn";
public static readonly BoundKeyFunction ResetZoom = "ResetZoom";
public static readonly BoundKeyFunction OfferItem = "OfferItem";
public static readonly BoundKeyFunction ToggleStanding = "ToggleStanding";
public static readonly BoundKeyFunction ArcadeUp = "ArcadeUp";
public static readonly BoundKeyFunction ArcadeDown = "ArcadeDown";
public static readonly BoundKeyFunction ArcadeLeft = "ArcadeLeft";
public static readonly BoundKeyFunction ArcadeRight = "ArcadeRight";
public static readonly BoundKeyFunction Arcade1 = "Arcade1";
public static readonly BoundKeyFunction Arcade2 = "Arcade2";
public static readonly BoundKeyFunction Arcade3 = "Arcade3";
public static readonly BoundKeyFunction OpenActionsMenu = "OpenAbilitiesMenu";
public static readonly BoundKeyFunction ShuttleStrafeLeft = "ShuttleStrafeLeft";
public static readonly BoundKeyFunction ShuttleStrafeUp = "ShuttleStrafeUp";
public static readonly BoundKeyFunction ShuttleStrafeRight = "ShuttleStrafeRight";
public static readonly BoundKeyFunction ShuttleStrafeDown = "ShuttleStrafeDown";
public static readonly BoundKeyFunction ShuttleRotateLeft = "ShuttleRotateLeft";
public static readonly BoundKeyFunction ShuttleRotateRight = "ShuttleRotateRight";
public static readonly BoundKeyFunction ShuttleBrake = "ShuttleBrake";
public static readonly BoundKeyFunction Hotbar0 = "Hotbar0";
public static readonly BoundKeyFunction Hotbar1 = "Hotbar1";
public static readonly BoundKeyFunction Hotbar2 = "Hotbar2";
public static readonly BoundKeyFunction Hotbar3 = "Hotbar3";
public static readonly BoundKeyFunction Hotbar4 = "Hotbar4";
public static readonly BoundKeyFunction Hotbar5 = "Hotbar5";
public static readonly BoundKeyFunction Hotbar6 = "Hotbar6";
public static readonly BoundKeyFunction Hotbar7 = "Hotbar7";
public static readonly BoundKeyFunction Hotbar8 = "Hotbar8";
public static readonly BoundKeyFunction Hotbar9 = "Hotbar9";
public static BoundKeyFunction[] GetHotbarBoundKeys() =>
new[]
{
Hotbar1, Hotbar2, Hotbar3, Hotbar4, Hotbar5, Hotbar6, Hotbar7, Hotbar8, Hotbar9, Hotbar0
};
public static readonly BoundKeyFunction Vote0 = "Vote0";
public static readonly BoundKeyFunction Vote1 = "Vote1";
public static readonly BoundKeyFunction Vote2 = "Vote2";
public static readonly BoundKeyFunction Vote3 = "Vote3";
public static readonly BoundKeyFunction Vote4 = "Vote4";
public static readonly BoundKeyFunction Vote5 = "Vote5";
public static readonly BoundKeyFunction Vote6 = "Vote6";
public static readonly BoundKeyFunction Vote7 = "Vote7";
public static readonly BoundKeyFunction Vote8 = "Vote8";
public static readonly BoundKeyFunction Vote9 = "Vote9";
public static readonly BoundKeyFunction EditorCopyObject = "EditorCopyObject";
public static readonly BoundKeyFunction EditorFlipObject = "EditorFlipObject";
public static readonly BoundKeyFunction InspectEntity = "InspectEntity";
}
}