mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2026-08-24 07:06:55 +01:00
91 lines
4.0 KiB
Plaintext
91 lines
4.0 KiB
Plaintext
//! /datum/prototype/language/var/language_flags
|
|
/// Language is available if the speaker is whitelisted, or if granted by a species.
|
|
#define LANGUAGE_WHITELISTED (1<<0)
|
|
/// Language can only be acquired by spawning or an admin.
|
|
#define LANGUAGE_RESTRICTED (1<<1)
|
|
/// Language has a significant non-verbal component. Speech is garbled without line-of-sight.
|
|
#define LANGUAGE_NONVERBAL (1<<2)
|
|
/// Language is completely non-verbal. Speech is displayed through emotes for those who can understand.
|
|
#define LANGUAGE_SIGNLANG (1<<3)
|
|
/// Broadcast to all mobs with this language.
|
|
#define LANGUAGE_HIVEMIND (1<<4)
|
|
/// Do not add to general languages list.
|
|
#define LANGUAGE_NONGLOBAL (1<<5)
|
|
/// All mobs can be assumed to speak and understand this language. (audible emotes)
|
|
#define LANGUAGE_INNATE (1<<6)
|
|
/// Do not show the "\The [speaker] talks into \the [radio]" message
|
|
#define LANGUAGE_NO_TALK_MSG (1<<7)
|
|
/// No stuttering, slurring, or other speech problems.
|
|
#define LANGUAGE_NO_STUTTER (1<<8)
|
|
/// Language is not based on vision or sound. //Todo: Add this into the say code and use it for the rootspeak languages.
|
|
#define LANGUAGE_ALT_TRANSMIT (1<<9)
|
|
|
|
DEFINE_BITFIELD(language_flags, list(
|
|
BITFIELD(LANGUAGE_WHITELISTED),
|
|
BITFIELD(LANGUAGE_RESTRICTED),
|
|
BITFIELD(LANGUAGE_NONVERBAL),
|
|
BITFIELD(LANGUAGE_SIGNLANG),
|
|
BITFIELD(LANGUAGE_HIVEMIND),
|
|
BITFIELD(LANGUAGE_NONGLOBAL),
|
|
BITFIELD(LANGUAGE_INNATE),
|
|
BITFIELD(LANGUAGE_NO_TALK_MSG),
|
|
BITFIELD(LANGUAGE_NO_STUTTER),
|
|
BITFIELD(LANGUAGE_ALT_TRANSMIT),
|
|
))
|
|
|
|
//! translation_class on /datum/prototype/language and /datum/translation_context as well as all translation operations
|
|
/// common galactic languages; most translators can instantly translate this
|
|
#define TRANSLATION_CLASS_LEVEL_1 (1<<0)
|
|
/// high end translators can translate these; you're looking at science/cargo; low level learning translators learn this
|
|
#define TRANSLATION_CLASS_LEVEL_2 (1<<1)
|
|
/// extremely high end translators can translate these; high end learning translators learn this; anything above is probably adminbus
|
|
#define TRANSLATION_CLASS_LEVEL_3 (1<<2)
|
|
/// xenomorphs, etc
|
|
#define TRANSLATION_CLASS_MONSTER (1<<18)
|
|
/// simpler animal languages
|
|
#define TRANSLATION_CLASS_ANIMAL (1<<19)
|
|
/// magical languages
|
|
#define TRANSLATION_CLASS_ARCANE (1<<20)
|
|
/// encrypted languages ; usually conjunction with machine class
|
|
#define TRANSLATION_CLASS_ENCRYPTED (1<<21)
|
|
/// tribal/native languages
|
|
#define TRANSLATION_CLASS_TRIBAL (1<<22)
|
|
/// machine-like languages
|
|
#define TRANSLATION_CLASS_MACHINE (1<<23)
|
|
|
|
/// core galactic species
|
|
#define TRANSLATION_CLASS_DEFAULT_CORE_RACE (TRANSLATION_CLASS_LEVEL_1)
|
|
/// standard galactic species
|
|
#define TRANSLATION_CLASS_DEFAULT_STANDARD_RACE (TRANSLATION_CLASS_LEVEL_1)
|
|
/// people's snowflakes that wanna be super speshul and be mYsTerIoUS
|
|
#define TRANSLATION_CLASS_DEFAULT_RARE_RACE (TRANSLATION_CLASS_LEVEL_2)
|
|
/// native species
|
|
#define TRANSLATION_CLASS_DEFAULT_NATIVE_RACE (TRANSLATION_CLASS_LEVEL_3 | TRANSLATION_CLASS_TRIBAL)
|
|
/// core alt langauges for galaxy
|
|
#define TRANSLATION_CLASS_DEFAULT_CORE_LANGUAGE (TRANSLATION_CLASS_LEVEL_1)
|
|
|
|
/// what cyborgs get by default
|
|
#define TRANSLATION_CLASSES_CYBORG_SPEAKS (TRANSLATION_CLASS_LEVEL_1)
|
|
/// what ais get by default
|
|
#define TRANSLATION_CLASSES_AI_SPEAKS (TRANSLATION_CLASS_LEVEL_1)
|
|
/// what all universal translators get intrinsically
|
|
#define TRANSLATION_CLASSES_STANDARD_TRANSLATE (TRANSLATION_CLASS_LEVEL_1)
|
|
/// what adaptive universal translators can learn
|
|
#define TRANSLATION_CLASSES_STANDARD_ADAPTIVE (TRANSLATION_CLASS_LEVEL_2)
|
|
|
|
DEFINE_SHARED_BITFIELD(translation_classes, list(
|
|
"translation_class",
|
|
"translation_class_forbid",
|
|
"translation_class_learn",
|
|
"translation_class_learn_forbid",
|
|
), list(
|
|
BITFIELD(TRANSLATION_CLASS_LEVEL_1),
|
|
BITFIELD(TRANSLATION_CLASS_LEVEL_2),
|
|
BITFIELD(TRANSLATION_CLASS_LEVEL_3),
|
|
BITFIELD(TRANSLATION_CLASS_MONSTER),
|
|
BITFIELD(TRANSLATION_CLASS_ANIMAL),
|
|
BITFIELD(TRANSLATION_CLASS_ENCRYPTED),
|
|
BITFIELD(TRANSLATION_CLASS_TRIBAL),
|
|
BITFIELD(TRANSLATION_CLASS_MACHINE),
|
|
))
|