mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-09 16:33:50 +00:00
* Initial burst of languages * Scratchings of beginnings * Code review I * Compilation! * You can now understand your own speech * Fixes whispering * Gets typecaches working again * Remie's `PASS`ing * Back to pass() to stop the compiler whining * Why can't drones check their languages * Everyone speaks how they should * Removes world string debug stuff * Currently failing to massage radio code into working * The radio transmits the languages! * ,0 to talk common * Replaces speech wheel with language menu * Observers can speak all languages * pAIs now speak languages FOREVER * New action button for language menu * pAIs have an action button to open their language menu * AIs can talk and all that * AIs have a language menu button * Fixes supermatter making strange noises * Fixes AI holopads * Fixes request consoles * Fixes bots making strange sounds * Meaningless MMI change * Some caching of datums * Brains in MMIs speak common * Ratvarian AIs can only speak Ratvarian * Tables can speak common, apparently * Removes var in args * Fixes the (AI Eye) problem Thanks to Shadowmobile for their help with this one. * Fixes tape recorders * Fixes humans being able to speak in languages they did not know * Adds some new posibrain names Honk. * The voice analyzer replies in the language you spoke to it * Gives swarmers only swarmer language * `initial_languages` var. * OMNITONGUE, clockwork restrictions * Fixes barmaid and bardrone language abilities * Code review I * Omnitongue correction * Code review II * Removes force_compose var
82 lines
3.8 KiB
Plaintext
82 lines
3.8 KiB
Plaintext
/*
|
|
These defines are specific to the atom/flags bitmask
|
|
*/
|
|
#define ALL ~0 //For convenience.
|
|
#define NONE 0
|
|
|
|
//FLAGS BITMASK
|
|
#define STOPSPRESSUREDMAGE 1 //This flag is used on the flags variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere
|
|
//To successfully stop you taking all pressure damage you must have both a suit and head item with this flag.
|
|
|
|
#define NODROP 2 // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted.
|
|
#define NOBLUDGEON 4 // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby()
|
|
#define MASKINTERNALS 8 // mask allows internals
|
|
#define HEAR 16 // This flag is what recursive_hear_check() uses to determine wether to add an item to the hearer list or not.
|
|
#define CONDUCT 64 // conducts electricity (metal etc.)
|
|
#define ABSTRACT 128 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way
|
|
#define NODECONSTRUCT 128 // For machines and structures that should not break into parts, eg, holodeck stuff
|
|
#define OVERLAY_QUEUED 256 //atom queued to SSoverlay
|
|
#define ON_BORDER 512 // item has priority to check when entering or leaving
|
|
|
|
#define NOSLIP 1024 //prevents from slipping on wet floors, in space etc
|
|
#define CLEAN_ON_MOVE 2048
|
|
|
|
// BLOCK_GAS_SMOKE_EFFECT only used in masks at the moment.
|
|
#define BLOCK_GAS_SMOKE_EFFECT 4096 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
|
|
#define THICKMATERIAL 8192 //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
|
|
#define DROPDEL 16384 // When dropped, it calls qdel on itself
|
|
|
|
/* Secondary atom flags, access using the SECONDARY_FLAG macros */
|
|
|
|
#define SLOWS_WHILE_IN_HAND "slows_while_in_hand"
|
|
#define NO_EMP_WIRES "no_emp_wires"
|
|
#define HOLOGRAM "hologram"
|
|
#define FROZEN "frozen"
|
|
#define STATIONLOVING "stationloving"
|
|
#define INFORM_ADMINS_ON_RELOCATE "inform_admins_on_relocate"
|
|
#define BANG_PROTECT "bang_protect"
|
|
|
|
// A mob with OMNITONGUE has no restriction in the ability to speak
|
|
// languages that they know. So even if they wouldn't normally be able to
|
|
// through mob or tongue restrictions, this flag allows them to ignore
|
|
// those restrictions.
|
|
#define OMNITONGUE "omnitongue"
|
|
|
|
//turf-only flags
|
|
#define NOJAUNT 1
|
|
#define UNUSED_TRANSIT_TURF 2
|
|
#define CAN_BE_DIRTY 4 //If a turf can be made dirty at roundstart. This is also used in areas.
|
|
#define NO_DEATHRATTLE 16 // Do not notify deadchat about any deaths that occur on this turf.
|
|
|
|
/*
|
|
These defines are used specifically with the atom/pass_flags bitmask
|
|
the atom/checkpass() proc uses them (tables will call movable atom checkpass(PASSTABLE) for example)
|
|
*/
|
|
//flags for pass_flags
|
|
#define PASSTABLE 1
|
|
#define PASSGLASS 2
|
|
#define PASSGRILLE 4
|
|
#define PASSBLOB 8
|
|
#define PASSMOB 16
|
|
#define LETPASSTHROW 32
|
|
|
|
|
|
//Movement Types
|
|
#define IMMOBILE 0
|
|
#define GROUND 1
|
|
#define FLYING 2
|
|
|
|
// Flags for reagents
|
|
#define REAGENT_NOREACT 1
|
|
|
|
//Fire and Acid stuff, for resistance_flags
|
|
#define LAVA_PROOF 1
|
|
#define FIRE_PROOF 2 //100% immune to fire damage (but not necessarily to lava or heat)
|
|
#define FLAMMABLE 4
|
|
#define ON_FIRE 8
|
|
#define UNACIDABLE 16 //acid can't even appear on it, let alone melt it.
|
|
#define ACID_PROOF 32 //acid stuck on it doesn't melt it.
|
|
#define INDESTRUCTIBLE 64 //doesn't take damage
|
|
|
|
// language secondary flags for atoms
|