mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-11 10:11:09 +00:00
* Lets blobs mine (#64965) Allows blobs to destroy mineral turfs when necessary, such as when spawning on Ice Box. Without this they face a distinct disadvantage against crew that can destroy mineral turfs with plasma cutters like a hot knife through butter to get a better angle on their core. The fact they can't already seems like an oversight left over from when they would never normally encounter them due to spawning on space stations. The bubble alerts provide a lot of feedback that was previously missing and saves taking your eyes off the game to look at warning messages in the chat. The screen tips save you having to read the help screed to at least know what two of the shortcuts are. Making off-station blobs lighter makes it immediately obvious which blobs count towards victory. * Lets blobs mine Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
26 lines
1.2 KiB
Plaintext
26 lines
1.2 KiB
Plaintext
/// Create a "Type-B" contextual screentip interaction, registering to `add_context()`.
|
|
/// This will run `add_context()` when the atom is hovered over by an item for context.
|
|
/// `add_context()` will *not* be called unless this is run.
|
|
/// This is not necessary for Type-B interactions, as you can just apply the flag and register to the signal yourself.
|
|
/atom/proc/register_context()
|
|
flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1
|
|
RegisterSignal(src, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/add_context)
|
|
|
|
/// Creates a "Type-B" contextual screentip interaction.
|
|
/// When a user hovers over this, this proc will be called in order
|
|
/// to provide context for contextual screentips.
|
|
/// You must call `register_context()` in order for this to be registered.
|
|
/// A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm)
|
|
/// that map to the action as text.
|
|
/// If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.
|
|
/// `source` can, in all cases, be replaced with `src`, and only exists because this proc directly connects to a signal.
|
|
/atom/proc/add_context(
|
|
atom/source,
|
|
list/context,
|
|
obj/item/held_item,
|
|
mob/user,
|
|
)
|
|
SIGNAL_HANDLER
|
|
|
|
return NONE
|