## About The Pull Request It's happened to me _repeatedly_ that I'd see someone down on the floor, and wanted to just, give them a hand, so they could take it and get up that way, without just, directly clicking on them, since that's a little bland. I've also wanted to just, offer my hand to someone so they could grab it, so that I could pull them alongside me, rather than just targeting one of their arms and ctrl-clicking them. I've had this idea for a _long_ time, and only just decided to do this today. Now, I know what you might say. "Golden, that's a lot of code for something this simple!" You're not wrong. _However_. I decided to go along and to give some more love to the `/datum/status_effect/offering` status effect and the offering-related alerts, to make them a lot more versatile and a lot less hardcoded. Hence the whole "refactoring" part of this. Of course, when I add something, I don't do it half-way. So, the way the emote works is much like the `*slap` emote, except that: - When you click on someone, it does the exact same as if you were offering the item to them, except that it's targeted (much like ctrl-shift-click). - If there's nobody directly adjacent to you, it won't do anything. - If there's at least one person lying down around you, you will offer them your help to get up. Should they take your hand and let you help them up, you will both receive a simple memory about being helped up (or helping up), as well as a 45-seconds-long small mood buff, because it feels nice to be on either end of such a friendly gesture. If they get up, they automatically get disqualified from being offered some help standing up, and likewise, if you lie down, that offer goes away as well. - If there's at least one person around you, you will instead extend your hand in their direction, for them to grab onto it. Should they do so, you will then grab them by their arms and pull them. I reworked the offering status effect to no longer have a hardcoded `can_hold_items()` check, so that kisses and the hand offering would no longer need you to have free hands to complete. The logic here is that you can still pull someone even with both hands filled, so I figured I'd leave it this way. Note: If anyone would like to give the item a better sprite, by all means, go ahead, that'd be amazing. I'm just not really a great spriter and couldn't be bothered to waste hours making a very _meh_ hand. ## Why It's Good For The Game It's fluff, and nice fluff at that. It makes it easier for people to be nice to one-another without having to necessarily spend so long writing up an emote that the person on the floor will already have gotten back up. I'm sure the MRP folks will like it, and I'm certain the HRP downstreams will love it too ;) ## Changelog 🆑 add: Added the *hand emote, which you can offer to someone standing up in order to give them the possibility to grab onto your hand and let you drag them away, or to someone lying down to help them back up, which always makes everyone involved a little happier! refactor: De-hardcoded and genericized a lot of the offering status effect and alert code, to make it require a lot less copy-paste to handle new cases. fix: Offering a kiss no longer requires the receiver to have free hands to accept said kiss! /🆑
/tg/station codebase
- Website: https://www.tgstation13.org
- Code: https://github.com/tgstation/tgstation
- Wiki: https://tgstation13.org/wiki/Main_Page
- Codedocs: https://codedocs.tgstation13.org/
- /tg/station Discord: https://tgstation13.org/phpBB/viewforum.php?f=60
- Coderbus Discord: https://discord.gg/Vh8TJp9
This is the codebase for the /tg/station flavoured fork of SpaceStation 13.
Space Station 13 is a paranoia-laden round-based roleplaying game set against the backdrop of a nonsensical, metal death trap masquerading as a space station, with charming spritework designed to represent the sci-fi setting and its dangerous undertones. Have fun, and survive!
DOWNLOADING
❗ How to compile ❗
On 2021-01-04 we have changed the way to compile the codebase.
The quick way. Find bin/server.cmd in this folder and double click it to automatically build and host the server on port 1337.
The long way. Find bin/build.cmd in this folder, and double click it to initiate the build. It consists of multiple steps and might take around 1-5 minutes to compile. If it closes, it means it has finished its job. You can then setup the server normally by opening tgstation.dmb in DreamDaemon.
Building tgstation in DreamMaker directly is now deprecated and might produce errors, such as 'tgui.bundle.js': cannot find file.
How to compile in VSCode and other build options.
Contributors
/tg/station HACKMD account - Design documentation here
Interested in some starting lore?
LICENSE
All code after commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST is licensed under GNU AGPL v3.
All code before commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST is licensed under GNU GPL v3. (Including tools unless their readme specifies otherwise.)
See LICENSE and GPLv3.txt for more details.
The TGS DMAPI API is licensed as a subproject under the MIT license.
See the footer of code/__DEFINES/tgs.dm and code/modules/tgs/LICENSE for the MIT license.
All assets including icons and sound are under a Creative Commons 3.0 BY-SA license unless otherwise indicated.
