102 lines
3.9 KiB
Plaintext
102 lines
3.9 KiB
Plaintext
/// Return this from `/datum/component/Initialize` or `datum/component/OnTransfer` to have the component be deleted if it's applied to an incorrect type.
|
|
/// `parent` must not be modified if this is to be returned.
|
|
/// This will be noted in the runtime logs
|
|
#define COMPONENT_INCOMPATIBLE 1
|
|
/// Returned in PostTransfer to prevent transfer, similar to `COMPONENT_INCOMPATIBLE`
|
|
#define COMPONENT_NOTRANSFER 2
|
|
|
|
/// Return value to cancel attaching
|
|
#define ELEMENT_INCOMPATIBLE 1
|
|
|
|
// /datum/element flags
|
|
/// Causes the detach proc to be called when the host object is being deleted
|
|
#define ELEMENT_DETACH (1 << 0)
|
|
/**
|
|
* Only elements created with the same arguments given after `id_arg_index` share an element instance
|
|
* The arguments are the same when the text and number values are the same and all other values have the same ref
|
|
*/
|
|
#define ELEMENT_BESPOKE (1 << 1)
|
|
|
|
// How multiple components of the exact same type are handled in the same datum
|
|
/// old component is deleted (default)
|
|
#define COMPONENT_DUPE_HIGHLANDER 0
|
|
/// duplicates allowed
|
|
#define COMPONENT_DUPE_ALLOWED 1
|
|
/// new component is deleted
|
|
#define COMPONENT_DUPE_UNIQUE 2
|
|
/// old component is given the initialization args of the new
|
|
#define COMPONENT_DUPE_UNIQUE_PASSARGS 4
|
|
/// each component of the same type is consulted as to whether the duplicate should be allowed
|
|
#define COMPONENT_DUPE_SELECTIVE 5
|
|
|
|
//Redirection component init flags
|
|
#define REDIRECT_TRANSFER_WITH_TURF 1
|
|
|
|
//Arch
|
|
#define ARCH_PROB "probability" //Probability for each item
|
|
#define ARCH_MAXDROP "max_drop_amount" //each item's max drop amount
|
|
|
|
//Ouch my toes!
|
|
#define CALTROP_BYPASS_SHOES 1
|
|
#define CALTROP_IGNORE_WALKERS 2
|
|
|
|
// Spellcasting
|
|
#define SPELL_SKIP_ALL_REQS (1<<0)
|
|
#define SPELL_SKIP_CENTCOM (1<<1)
|
|
#define SPELL_SKIP_STAT (1<<2)
|
|
#define SPELL_SKIP_CLOTHES (1<<3)
|
|
#define SPELL_SKIP_ANTIMAGIC (1<<4)
|
|
#define SPELL_SKIP_VOCAL (1<<5)
|
|
#define SPELL_SKIP_MOBTYPE (1<<6)
|
|
#define SPELL_WIZARD_HAT (1<<7)
|
|
#define SPELL_WIZARD_ROBE (1<<8)
|
|
#define SPELL_CULT_HELMET (1<<9)
|
|
#define SPELL_CULT_ARMOR (1<<10)
|
|
#define SPELL_WIZARD_GARB (SPELL_WIZARD_HAT|SPELL_WIZARD_ROBE)
|
|
#define SPELL_CULT_GARB (SPELL_CULT_HELMET|SPELL_CULT_ARMOR)
|
|
|
|
//// Identification ////
|
|
// /datum/component/identification/identification_flags
|
|
/// Delete on successful broad identification (so the main way we "uncover" how an object works, since this won't be on it to obfuscate it)
|
|
#define ID_COMPONENT_DEL_ON_IDENTIFY (1<<0)
|
|
/// We've already been successfully deepscanned by a deconstructive analyzer
|
|
#define ID_COMPONENT_DECONSTRUCTOR_DEEPSCANNED (1<<1)
|
|
|
|
// /datum/component/identification/identification_effect_flags
|
|
/// Block user from getting actions if they don't know how to use this. Triggered on equip.
|
|
#define ID_COMPONENT_EFFECT_NO_ACTIONS (1<<0)
|
|
|
|
// /datum/component/identification/identification_method_flags
|
|
/// Can be identified in a deconstructive analyzer
|
|
#define ID_COMPONENT_IDENTIFY_WITH_DECONSTRUCTOR (1<<0)
|
|
|
|
// Return values for /datum/component/deitnfication/check_knowledge()
|
|
/// Has no knowledge, default
|
|
#define ID_COMPONENT_KNOWLEDGE_NONE 0
|
|
/// Has full knowledge
|
|
#define ID_COMPONENT_KNOWLEDGE_FULL 1
|
|
|
|
// Combat mode flags.
|
|
/// The user wants combat mode on
|
|
#define COMBAT_MODE_TOGGLED (1<<0)
|
|
/// combat mode is active.
|
|
#define COMBAT_MODE_ACTIVE (1<<1)
|
|
/// combat mode is not active
|
|
#define COMBAT_MODE_INACTIVE (1<<2)
|
|
|
|
// Update flags for [/atom/proc/update_appearance]
|
|
/// Update the atom's name
|
|
#define UPDATE_NAME (1<<0)
|
|
/// Update the atom's desc
|
|
#define UPDATE_DESC (1<<1)
|
|
/// Update the atom's icon state
|
|
#define UPDATE_ICON_STATE (1<<2)
|
|
/// Update the atom's overlays
|
|
#define UPDATE_OVERLAYS (1<<3)
|
|
/// Update the atom's greyscaling
|
|
#define UPDATE_GREYSCALE (1<<4)
|
|
/// Update the atom's smoothing. (More accurately, queue it for an update)
|
|
#define UPDATE_SMOOTHING (1<<5)
|
|
/// Update the atom's icon
|
|
#define UPDATE_ICON (UPDATE_ICON_STATE|UPDATE_OVERLAYS)
|