#define TURF_REMOVE_CROWBAR 1 #define TURF_REMOVE_SCREWDRIVER 2 #define TURF_REMOVE_SHOVEL 4 #define TURF_REMOVE_WRENCH 8 #define TURF_CAN_BREAK 16 #define TURF_CAN_BURN 32 #define TURF_HAS_EDGES 64 #define TURF_HAS_CORNERS 128 #define TURF_IS_FRAGILE 256 #define TURF_ACID_IMMUNE 512 #define TURF_UNSHIELDABLE 1024 #define TURF_CAN_DIG_SHOVEL 2048 // The 0x800000 is blocked by INITIALIZED, do NOT use it! //Used for floor/wall smoothing #define SMOOTH_NONE 0 //Smooth only with itself #define SMOOTH_ALL 1 //Smooth with all of type #define SMOOTH_WHITELIST 2 //Smooth with a whitelist of subtypes #define SMOOTH_BLACKLIST 3 //Smooth with all but a blacklist of subtypes #define SMOOTH_GREYLIST 4 // Use a whitelist and a blacklist at the same time. atom smoothing only #define isCardinal(x) (x == NORTH || x == SOUTH || x == EAST || x == WEST) #define isDiagonal(x) (x == NORTHEAST || x == SOUTHEAST || x == NORTHWEST || x == SOUTHWEST) #define IS_OPAQUE_TURF(turf) (turf.directional_opacity == ALL_CARDINALS) #define IS_OPAQUE_TURF_DIR(turf, dir) (turf.directional_opacity & dir) #define FOOTSTEP_SPRITE_AMT 2 // Used to designate if a turf (or its area) should initialize as outdoors or not. #define OUTDOORS_YES 1 // This being 1 helps with backwards compatibility. #define OUTDOORS_NO 0 // Ditto. #define OUTDOORS_AREA -1 // If a turf has this, it will defer to the area's settings on init. // Note that after init, it will be either YES or NO. //supposedly the fastest way to do this according to https://gist.github.com/Giacom/be635398926bb463b42a ///Returns a list of turf in a square #define RANGE_TURFS(RADIUS, CENTER) \ RECT_TURFS(RADIUS, RADIUS, CENTER) #define RECT_TURFS(H_RADIUS, V_RADIUS, CENTER) \ block( \ (CENTER).x - (H_RADIUS), (CENTER).y - (V_RADIUS), (CENTER).z, \ (CENTER).x + (H_RADIUS), (CENTER).y + (V_RADIUS), (CENTER).z \ ) // Wet turfs have different slipping intensities #define TURFSLIP_DRY 0 #define TURFSLIP_WET 1 #define TURFSLIP_LUBE 2 #define TURFSLIP_ICE 3 ///Returns all turfs in a zlevel #define Z_TURFS(ZLEVEL) block(1, 1, ZLEVEL, world.maxx, world.maxy, ZLEVEL) /// Digging loot with a shovel #define TURF_DIG_LOOT_ENDLESS 0 #define TURF_DIG_LOOT_EXHAUSTED 100