Files
fulpstation/code/__DEFINES/sight.dm
John Willard 7199947c08 [MDB IGNORE] [IDB IGNORE] WIP TGU (#1427)
Several months worth of updates.

---------

Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com>
Co-authored-by: Pepsilawn <reisenrui@gmail.com>
Co-authored-by: Ray <64306407+OneAsianTortoise@users.noreply.github.com>
Co-authored-by: Cure221 <106662180+Cure221@users.noreply.github.com>
2025-11-06 08:20:20 -05:00

80 lines
2.8 KiB
Plaintext

#define INVISIBILITY_NONE 0
#define SEE_INVISIBLE_MINIMUM 5
#define INVISIBILITY_LIGHTING 20
#define SEE_INVISIBLE_LIVING 25
//#define SEE_INVISIBLE_LEVEL_ONE 35 //currently unused
//#define INVISIBILITY_LEVEL_ONE 35 //currently unused
//#define SEE_INVISIBLE_LEVEL_TWO 45 //currently unused
//#define INVISIBILITY_LEVEL_TWO 45 //currently unused
#define INVISIBILITY_REVENANT 50
#define INVISIBILITY_OBSERVER 60
#define SEE_INVISIBLE_OBSERVER 60
#define INVISIBILITY_MAXIMUM 100 //the maximum allowed for "real" objects
#define INVISIBILITY_ABSTRACT 101 //only used for abstract objects (e.g. spacevine_controller), things that are not really there.
#define BORGMESON (1<<0)
#define BORGTHERM (1<<1)
#define BORGXRAY (1<<2)
#define BORGMATERIAL (1<<3)
#define BORGDEFAULT 0
//for clothing visor toggles, these determine which vars to toggle
#define VISOR_FLASHPROTECT (1<<0)
#define VISOR_TINT (1<<1)
#define VISOR_VISIONFLAGS (1<<2) //all following flags only matter for glasses
#define VISOR_INVISVIEW (1<<3)
// BYOND internal values for the sight flags
// See [https://www.byond.com/docs/ref/#/mob/var/sight]
/// can't see anything
//#define BLIND (1<<0)
/// can see all mobs, no matter what
//#define SEE_MOBS (1<<2)
/// can see all objs, no matter what
//#define SEE_OBJS (1<<3)
// can see all turfs (and areas), no matter what
//#define SEE_TURFS (1<<4)
/// can see self, no matter what
//#define SEE_SELF (1<<5)
/// can see infra-red objects (different sort of luminosity, essentially a copy of it, one we do not use)
//#define SEE_INFRA (1<<6)
/// if an object is located on an unlit area, but some of its pixels are
/// in a lit area (via pixel_x,y or smooth movement), can see those pixels
//#define SEE_PIXELS (1<<8)
/// can see through opaque objects
//#define SEE_THRU (1<<9)
/// render dark tiles as blackness (Note, this basically means we draw dark tiles to plane 0)
/// we can then hijack that plane with a plane master, and start drawing it anywhere we want
/// NOTE: this does not function with the SIDE_MAP map format. So we can't. :(
//#define SEE_BLACKNESS (1<<10)
/// Bitfield of sight flags that show THINGS but no lighting
/// Since lighting is an underlay on turfs, this is everything but that
#define SEE_AVOID_TURF_BLACKNESS (SEE_MOBS|SEE_OBJS)
//------------------------
// INVISIBILITY PRIORITIES
#define INVISIBILITY_PRIORITY_ADMIN 100
#define INVISIBILITY_PRIORITY_TURRET_COVER 20
#define INVISIBILITY_PRIORITY_BASIC_ANTI_INVISIBILITY 10
#define INVISIBILITY_PRIORITY_NONE 0
//------------------------
// INVISIBILITY SOURCE IDS
// Though don't feel the need to add one here if you have a simple effect that
// gets added and/or removed in only one place near each other in the code.
#define INVISIBILITY_SOURCE_INVISIMIN "invisimin"
#define INVISIBILITY_SOURCE_STEALTHMODE "stealthmode"