diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index d43addf25a..21024e78f7 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -38,7 +38,7 @@ #define R_DEFAULT R_AUTOLOGIN -#define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated. +#define R_EVERYTHING (1<<15)-1 //the sum of all other rank permissions, used for +EVERYTHING #define ADMIN_QUE(user) "(?)" #define ADMIN_FLW(user) "(FLW)" diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index 97d4126e35..4c454aa61a 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -26,4 +26,12 @@ #define ERT_ENG "eng" #define ERT_LEADER "leader" #define DEATHSQUAD "ds" -#define DEATHSQUAD_LEADER "ds_leader" \ No newline at end of file +#define DEATHSQUAD_LEADER "ds_leader" + +//Shuttle hijacking +#define HIJACK_NEUTRAL 0 //Does not stop hijacking but itself won't hijack +#define HIJACK_HIJACKER 1 //Needs to be present for shuttle to be hijacked +#define HIJACK_PREVENT 2 //Prevents hijacking same way as non-antags + +//Overthrow time to update heads obj +#define OBJECTIVE_UPDATING_TIME 300 diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 1bc601d6fd..9a29829c2b 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -161,3 +161,6 @@ #define BODY_ZONE_PRECISE_R_HAND "r_hand" #define BODY_ZONE_PRECISE_L_FOOT "l_foot" #define BODY_ZONE_PRECISE_R_FOOT "r_foot" + +//We will round to this value in damage calculations. +#define DAMAGE_PRECISION 0.1 \ No newline at end of file diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index ff51e2312e..8eabc4e52b 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -1,4 +1,4 @@ -#define SEND_SIGNAL(target, sigtype, arguments...) ( !target.comp_lookup || !target.comp_lookup[sigtype] ? NONE : target._SendSignal(sigtype, list(##arguments)) ) +#define SEND_SIGNAL(target, sigtype, arguments...) ( !target.comp_lookup || !target.comp_lookup[sigtype] ? NONE : target._SendSignal(sigtype, list(target, ##arguments)) ) #define SEND_GLOBAL_SIGNAL(sigtype, arguments...) ( SEND_SIGNAL(SSdcs, sigtype, ##arguments) ) @@ -17,6 +17,7 @@ // All signals. Format: // When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument // global signals // These are signals which can be listened to by any component on any parent @@ -70,6 +71,7 @@ #define COMSIG_ATOM_RAD_WAVE_PASSING "atom_rad_wave_pass" //from base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width) #define COMSIG_ATOM_CANREACH "atom_can_reach" //from internal loop in atom/movable/proc/CanReach(): (list/next) #define COMPONENT_BLOCK_REACH 1 +#define COMSIG_ATOM_SCREWDRIVER_ACT "atom_screwdriver_act" //from base of atom/screwdriver_act(): (mob/living/user, obj/item/I) ///////////////// #define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" //from base of atom/attack_ghost(): (mob/dead/observer/ghost) #define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" //from base of atom/attack_hand(): (mob/user) @@ -104,7 +106,7 @@ #define COMSIG_MOVABLE_UNCROSS "movable_uncross" //from base of atom/movable/Uncross(): (/atom/movable) #define COMPONENT_MOVABLE_BLOCK_UNCROSS 1 #define COMSIG_MOVABLE_UNCROSSED "movable_uncrossed" //from base of atom/movable/Uncrossed(): (/atom/movable) -#define COMSIG_MOVABLE_COLLIDE "movable_bump" //from base of atom/movable/Bump(): (/atom) //CIT EDITED BACK TO COLLIDE PENDING SYNC +#define COMSIG_MOVABLE_BUMP "movable_bump" //from base of atom/movable/Bump(): (/atom) #define COMSIG_MOVABLE_IMPACT "movable_impact" //from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum) #define COMSIG_MOVABLE_IMPACT_ZONE "item_impact_zone" //from base of mob/living/hitby(): (mob/living/target, hit_zone) #define COMSIG_MOVABLE_BUCKLE "buckle" //from base of atom/movable/buckle_mob(): (mob, force) diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 0d088c903a..aab49720f6 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -53,7 +53,7 @@ //other construction-related things -//windows affected by nar-sie turn this color. +//windows affected by Nar'Sie turn this color. #define NARSIE_WINDOW_COLOUR "#7D1919" //let's just pretend fulltile windows being children of border windows is fine diff --git a/code/__DEFINES/cult.dm b/code/__DEFINES/cult.dm index 73ec1bc8d7..198291f0ae 100644 --- a/code/__DEFINES/cult.dm +++ b/code/__DEFINES/cult.dm @@ -10,5 +10,14 @@ #define RUNE_COLOR_SUMMON "#00FF00" //blood magic -#define MAX_BLOODCHARGE 5 -#define RUNELESS_MAX_BLOODCHARGE 2 \ No newline at end of file +#define MAX_BLOODCHARGE 4 +#define RUNELESS_MAX_BLOODCHARGE 1 +#define CULT_RISEN 0.2 //percent before rise +#define CULT_ASCENDENT 0.4 //percent before ascend +//screen locations +#define DEFAULT_BLOODSPELLS "6:-29,4:-2" +#define DEFAULT_BLOODTIP "14:6,14:27" +#define DEFAULT_TOOLTIP "6:-29,5:-2" +//misc +#define SOULS_TO_REVIVE 3 +#define BLOODCULT_EYE "f00" \ No newline at end of file diff --git a/code/__DEFINES/exports.dm b/code/__DEFINES/exports.dm new file mode 100644 index 0000000000..9e0caf417f --- /dev/null +++ b/code/__DEFINES/exports.dm @@ -0,0 +1,4 @@ +#define EXPORT_CARGO 1 +#define EXPORT_EMAG 2 +#define EXPORT_CONTRABAND 4 +#define EXPORT_PIRATE 8 \ No newline at end of file diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index a68d29c14c..2c7a66ce40 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -11,3 +11,8 @@ #define GROSS (1<<10) #define TOXIC (1<<11) #define PINEAPPLE (1<<12) + +#define DRINK_NICE 1 +#define DRINK_GOOD 2 +#define DRINK_VERYGOOD 3 +#define DRINK_FANTASTIC 4 diff --git a/code/__DEFINES/footsteps.dm b/code/__DEFINES/footsteps.dm new file mode 100644 index 0000000000..e66d518644 --- /dev/null +++ b/code/__DEFINES/footsteps.dm @@ -0,0 +1,66 @@ +#define FOOTSTEP_WOOD "wood" +#define FOOTSTEP_FLOOR "floor" +#define FOOTSTEP_PLATING "plating" +#define FOOTSTEP_CARPET "carpet" +#define FOOTSTEP_SAND "sand" +#define FOOTSTEP_GRASS "grass" +#define FOOTSTEP_WATER "water" +#define FOOTSTEP_LAVA "lava" + +/* + +id = list( +list(sounds), +base volume, +extra range addition +) + + +*/ + +GLOBAL_LIST_INIT(footstep, list( + FOOTSTEP_WOOD = list(list( + 'sound/effects/footstep/wood1.ogg', + 'sound/effects/footstep/wood2.ogg', + 'sound/effects/footstep/wood3.ogg', + 'sound/effects/footstep/wood4.ogg', + 'sound/effects/footstep/wood5.ogg'), 100, 0), + FOOTSTEP_FLOOR = list(list( + 'sound/effects/footstep/floor1.ogg', + 'sound/effects/footstep/floor2.ogg', + 'sound/effects/footstep/floor3.ogg', + 'sound/effects/footstep/floor4.ogg', + 'sound/effects/footstep/floor5.ogg'), 75, -1), + FOOTSTEP_PLATING = list(list( + 'sound/effects/footstep/plating1.ogg', + 'sound/effects/footstep/plating2.ogg', + 'sound/effects/footstep/plating3.ogg', + 'sound/effects/footstep/plating4.ogg', + 'sound/effects/footstep/plating5.ogg'), 100, 1), + FOOTSTEP_CARPET = list(list( + 'sound/effects/footstep/carpet1.ogg', + 'sound/effects/footstep/carpet2.ogg', + 'sound/effects/footstep/carpet3.ogg', + 'sound/effects/footstep/carpet4.ogg', + 'sound/effects/footstep/carpet5.ogg'), 75, -1), + FOOTSTEP_SAND = list(list( + 'sound/effects/footstep/asteroid1.ogg', + 'sound/effects/footstep/asteroid2.ogg', + 'sound/effects/footstep/asteroid3.ogg', + 'sound/effects/footstep/asteroid4.ogg', + 'sound/effects/footstep/asteroid5.ogg'), 75, 0), + FOOTSTEP_GRASS = list(list( + 'sound/effects/footstep/grass1.ogg', + 'sound/effects/footstep/grass2.ogg', + 'sound/effects/footstep/grass3.ogg', + 'sound/effects/footstep/grass4.ogg'), 75, 0), + FOOTSTEP_WATER = list(list( + 'sound/effects/footstep/water1.ogg', + 'sound/effects/footstep/water2.ogg', + 'sound/effects/footstep/water3.ogg', + 'sound/effects/footstep/water4.ogg'), 100, 1), + FOOTSTEP_LAVA = list(list( + 'sound/effects/footstep/lava1.ogg', + 'sound/effects/footstep/lava2.ogg', + 'sound/effects/footstep/lava3.ogg'), 100, 0), +)) \ No newline at end of file diff --git a/code/__DEFINES/integrated_electronics.dm b/code/__DEFINES/integrated_electronics.dm index 3647a61d77..727314abc6 100644 --- a/code/__DEFINES/integrated_electronics.dm +++ b/code/__DEFINES/integrated_electronics.dm @@ -40,6 +40,7 @@ #define IC_PINTYPE_REF /datum/integrated_io/ref #define IC_PINTYPE_LIST /datum/integrated_io/lists #define IC_PINTYPE_INDEX /datum/integrated_io/index +#define IC_PINTYPE_SELFREF /datum/integrated_io/selfref #define IC_PINTYPE_PULSE_IN /datum/integrated_io/activate #define IC_PINTYPE_PULSE_OUT /datum/integrated_io/activate/out diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 1584021089..15eaadb2f2 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -56,10 +56,9 @@ #define isslimeperson(A) (is_species(A, /datum/species/jelly/slime)) #define isluminescent(A) (is_species(A, /datum/species/jelly/luminescent)) #define iszombie(A) (is_species(A, /datum/species/zombie)) +#define ismoth(A) (is_species(A, /datum/species/moth)) #define ishumanbasic(A) (is_species(A, /datum/species/human)) - -//why arent catpeople a subspecies -#define iscatperson(A) (ishumanbasic(A) && ( A.dna.features["ears"] == "Cat" || A.dna.features["tail_human"] == "Cat") ) +#define iscatperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/felinid) ) //more carbon mobs #define ismonkey(A) (istype(A, /mob/living/carbon/monkey)) diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 9f0fdc27b2..8891c06f75 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -85,20 +85,22 @@ #define BYOND_LIGHTING_PLANE 17 #define BYOND_LIGHTING_LAYER 17 +#define CAMERA_STATIC_PLANE 18 +#define CAMERA_STATIC_LAYER 18 //HUD layer defines -#define FULLSCREEN_PLANE 18 -#define FLASH_LAYER 18 -#define FULLSCREEN_LAYER 18.1 -#define UI_DAMAGE_LAYER 18.2 -#define BLIND_LAYER 18.3 -#define CRIT_LAYER 18.4 -#define CURSE_LAYER 18.5 +#define FULLSCREEN_PLANE 19 +#define FLASH_LAYER 19 +#define FULLSCREEN_LAYER 19.1 +#define UI_DAMAGE_LAYER 19.2 +#define BLIND_LAYER 19.3 +#define CRIT_LAYER 19.4 +#define CURSE_LAYER 19.5 -#define HUD_PLANE 19 -#define HUD_LAYER 19 -#define ABOVE_HUD_PLANE 20 -#define ABOVE_HUD_LAYER 20 +#define HUD_PLANE 20 +#define HUD_LAYER 20 +#define ABOVE_HUD_PLANE 21 +#define ABOVE_HUD_LAYER 21 -#define SPLASHSCREEN_LAYER 21 -#define SPLASHSCREEN_PLANE 21 +#define SPLASHSCREEN_LAYER 22 +#define SPLASHSCREEN_PLANE 22 diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm index f4e5c6eb55..55131a26ed 100644 --- a/code/__DEFINES/logging.dm +++ b/code/__DEFINES/logging.dm @@ -14,15 +14,34 @@ #define INVESTIGATE_HALLUCINATIONS "hallucinations" #define INVESTIGATE_RADIATION "radiation" #define INVESTIGATE_EXONET "exonet" -#define INVESTIGATE_CIRCUIT "circuit" #define INVESTIGATE_NANITES "nanites" +#define INVESTIGATE_CIRCUIT "circuit" + +// Logging types for log_message() +#define LOG_ATTACK (1 << 0) +#define LOG_SAY (1 << 1) +#define LOG_WHISPER (1 << 2) +#define LOG_EMOTE (1 << 3) +#define LOG_DSAY (1 << 4) +#define LOG_PDA (1 << 5) +#define LOG_CHAT (1 << 6) +#define LOG_COMMENT (1 << 7) +#define LOG_TELECOMMS (1 << 8) +#define LOG_OOC (1 << 9) +#define LOG_ADMIN (1 << 10) +#define LOG_OWNERSHIP (1 << 11) +#define LOG_GAME (1 << 12) +#define LOG_ADMIN_PRIVATE (1 << 13) +#define LOG_ASAY (1 << 14) + +//Individual logging panel pages +#define INDIVIDUAL_ATTACK_LOG (LOG_ATTACK) +#define INDIVIDUAL_SAY_LOG (LOG_SAY | LOG_WHISPER | LOG_DSAY) +#define INDIVIDUAL_EMOTE_LOG (LOG_EMOTE) +#define INDIVIDUAL_COMMS_LOG (LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS) +#define INDIVIDUAL_OOC_LOG (LOG_OOC | LOG_ADMIN) +#define INDIVIDUAL_OWNERSHIP_LOG (LOG_OWNERSHIP) +#define INDIVIDUAL_SHOW_ALL_LOG (LOG_ATTACK | LOG_SAY | LOG_WHISPER | LOG_EMOTE | LOG_DSAY | LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS | LOG_OOC | LOG_ADMIN | LOG_OWNERSHIP | LOG_GAME) -//Individual logging defines -#define INDIVIDUAL_ATTACK_LOG "Attack log" -#define INDIVIDUAL_SAY_LOG "Say log" -#define INDIVIDUAL_EMOTE_LOG "Emote log" -#define INDIVIDUAL_OOC_LOG "OOC log" -#define INDIVIDUAL_OWNERSHIP_LOG "Ownership log" -#define INDIVIDUAL_SHOW_ALL_LOG "All logs" #define LOGSRC_CLIENT "Client" #define LOGSRC_MOB "Mob" diff --git a/code/__DEFINES/maps.dm b/code/__DEFINES/maps.dm index 1defe2bc39..be1e671756 100644 --- a/code/__DEFINES/maps.dm +++ b/code/__DEFINES/maps.dm @@ -37,6 +37,8 @@ require only minor tweaks. #define ZTRAIT_AWAY "Away Mission" #define ZTRAIT_SPACE_RUINS "Space Ruins" #define ZTRAIT_LAVA_RUINS "Lava Ruins" +// prevents certain turfs from being stripped by a singularity +#define ZTRAIT_PLANET "Planet" // number - bombcap is multiplied by this before being applied to bombs #define ZTRAIT_BOMBCAP_MULTIPLIER "Bombcap Multiplier" diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index c463370aa7..fac666700f 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -173,6 +173,7 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) #define BLOOD_STATE_XENO "xeno" #define BLOOD_STATE_OIL "oil" #define BLOOD_STATE_NOT_BLOODY "no blood whatsoever" +#define BLOOD_AMOUNT_PER_DECAL 20 //suit sensors: sensor_mode defines @@ -448,6 +449,8 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE)) #define OVERRIDE_LOG_DIRECTORY_PARAMETER "log-directory" //Prevent the master controller from starting automatically, overrides TEST_RUN_PARAMETER #define NO_INIT_PARAMETER "no-init" +//Force the config directory to be something other than "config" +#define OVERRIDE_CONFIG_DIRECTORY_PARAMETER "config-directory" #define EGG_LAYING_MESSAGES list("lays an egg.","squats down and croons.","begins making a huge racket.","begins clucking raucously.") @@ -465,3 +468,5 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE)) #define CAMERA_NO_GHOSTS 0 #define CAMERA_SEE_GHOSTS_BASIC 1 #define CAMERA_SEE_GHOSTS_ORBIT 2 + +#define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (istype(I, /client) ? I : (istype(I, /datum/mind) ? I:current?:client : null))) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 34c7efab35..b7d467c385 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -138,14 +138,6 @@ #define SANITY_CRAZY 25 #define SANITY_INSANE 0 -//Beauty levels of areas for carbons -#define BEAUTY_LEVEL_HORRID -100 -#define BEAUTY_LEVEL_BAD -66 -#define BEAUTY_LEVEL_MEH -33 -#define BEAUTY_LEVEL_DECENT 33 -#define BEAUTY_LEVEL_GOOD 66 -#define BEAUTY_LEVEL_GREAT 100 - //Nutrition levels for humans #define NUTRITION_LEVEL_FAT 600 #define NUTRITION_LEVEL_FULL 550 @@ -263,3 +255,6 @@ // AI Toggles #define AI_CAMERA_LUMINOSITY 5 #define AI_VOX // Comment out if you don't want VOX to be enabled and have players download the voice sounds. + +// /obj/item/bodypart on_mob_life() retval flag +#define BODYPART_LIFE_UPDATE_HEALTH (1<<0) diff --git a/code/__DEFINES/movespeed_modification.dm b/code/__DEFINES/movespeed_modification.dm new file mode 100644 index 0000000000..9f8d310193 --- /dev/null +++ b/code/__DEFINES/movespeed_modification.dm @@ -0,0 +1,31 @@ +#define MOVESPEED_DATA_INDEX_PRIORITY 1 +#define MOVESPEED_DATA_INDEX_FLAGS 2 +#define MOVESPEED_DATA_INDEX_MULTIPLICATIVE_SLOWDOWN 3 + +#define MOVESPEED_DATA_INDEX_MAX 3 + +//flags +#define IGNORE_NOSLOW (1 << 0) + +//ids + +#define MOVESPEED_ID_MOB_WALK_RUN_CONFIG_SPEED "MOB_WALK_RUN" +#define MOVESPEED_ID_CONFIG_SPEEDMOD "MOB_CONFIG_MODIFIER" + +#define MOVESPEED_ID_SLIME_REAGENTMOD "SLIME_REAGENT_MODIFIER" +#define MOVESPEED_ID_SLIME_HEALTHMOD "SLIME_HEALTH_MODIFIER" +#define MOVESPEED_ID_SLIME_TEMPMOD "SLIME_TEMPERATURE_MODIFIER" + +#define MOVESPEED_ID_LIVING_TURF_SPEEDMOD "LIVING_TURF_SPEEDMOD" + +#define MOVESPEED_ID_CARBON_SOFTCRIT "CARBON_SOFTCRIT" +#define MOVESPEED_ID_CARBON_OLDSPEED "CARBON_DEPRECATED_SPEED" + +#define MOVESPEED_ID_MONKEY_REAGENT_SPEEDMOD "MONKEY_REAGENT_SPEEDMOD" +#define MOVESPEED_ID_MONKEY_TEMPERATURE_SPEEDMOD "MONKEY_TEMPERATURE_SPEEDMOD" +#define MOVESPEED_ID_MONKEY_HEALTH_SPEEDMOD "MONKEY_HEALTH_SPEEDMOD" + +#define MOVESPEED_ID_SIMPLEMOB_VARSPEED "SIMPLEMOB_VARSPEED_MODIFIER" +#define MOVESPEED_ID_ADMIN_VAREDIT "ADMIN_VAREDIT_MODIFIER" + +#define MOVESPEED_ID_PAI_SPACEWALK_SPEEDMOD "PAI_SPACEWALK_MODIFIER" \ No newline at end of file diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index 57cdfe3880..6773d55e53 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -6,27 +6,34 @@ //These are synced with the Database, if you change the values of the defines //then you MUST update the database! -#define ROLE_SYNDICATE "Syndicate" -#define ROLE_TRAITOR "traitor" -#define ROLE_OPERATIVE "operative" -#define ROLE_CHANGELING "changeling" -#define ROLE_WIZARD "wizard" -#define ROLE_MALF "malf AI" -#define ROLE_REV "revolutionary" -#define ROLE_REV_HEAD "Head Revolutionary" -#define ROLE_ALIEN "xenomorph" -#define ROLE_PAI "pAI" -#define ROLE_CULTIST "cultist" -#define ROLE_BLOB "blob" -#define ROLE_NINJA "space ninja" -#define ROLE_MONKEY "monkey" -#define ROLE_ABDUCTOR "abductor" -#define ROLE_REVENANT "revenant" -#define ROLE_DEVIL "devil" -#define ROLE_SERVANT_OF_RATVAR "servant of Ratvar" -#define ROLE_BROTHER "blood brother" -#define ROLE_BRAINWASHED "brainwashed victim" -#define ROLE_MISCREANT "miscreant" +#define ROLE_SYNDICATE "Syndicate" +#define ROLE_TRAITOR "traitor" +#define ROLE_OPERATIVE "operative" +#define ROLE_CHANGELING "changeling" +#define ROLE_WIZARD "wizard" +#define ROLE_MALF "malf AI" +#define ROLE_REV "revolutionary" +#define ROLE_REV_HEAD "Head Revolutionary" +#define ROLE_ALIEN "xenomorph" +#define ROLE_PAI "pAI" +#define ROLE_CULTIST "cultist" +#define ROLE_BLOB "blob" +#define ROLE_NINJA "space ninja" +#define ROLE_MONKEY "monkey" +#define ROLE_ABDUCTOR "abductor" +#define ROLE_REVENANT "revenant" +#define ROLE_DEVIL "devil" +#define ROLE_SERVANT_OF_RATVAR "servant of Ratvar" +#define ROLE_BROTHER "blood brother" +#define ROLE_BRAINWASHED "brainwashed victim" +#define ROLE_OVERTHROW "syndicate mutineer" +#define ROLE_SENTIENCE "sentience potion spawn" +#define ROLE_MIND_TRANSFER "mind transfer potion" +#define ROLE_POSIBRAIN "posibrain" +#define ROLE_DRONE "drone" +#define ROLE_DEATHSQUAD "deathsquad" +#define ROLE_LAVALAND "lavaland" +#define ROLE_INTERNAL_AFFAIRS "internal affairs agent" //Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR. //The gamemode specific ones are just so the gamemodes can query whether a player is old enough @@ -49,7 +56,9 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_ABDUCTOR, ROLE_DEVIL = /datum/game_mode/devil, ROLE_SERVANT_OF_RATVAR = /datum/game_mode/clockwork_cult, - ROLE_MISCREANT + ROLE_OVERTHROW = /datum/game_mode/overthrow, + ROLE_INTERNAL_AFFAIRS = /datum/game_mode/traitor/internal_affairs, + ROLE_SENTIENCE )) //Job defines for what happens when you fail to qualify for any job during job selection diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm index c5708034fe..102cc94fac 100644 --- a/code/__DEFINES/say.dm +++ b/code/__DEFINES/say.dm @@ -42,17 +42,6 @@ #define TURF_LINK(alice, turfy) "(T)" #define FOLLOW_OR_TURF_LINK(alice, bob, turfy) "(F)" -#define LOGSAY "say" -#define LOGWHISPER "whisper" -#define LOGEMOTE "emote" -#define LOGDSAY "dsay" -#define LOGPDA "pda" -#define LOGCHAT "chat" -#define LOGASAY "adminsay" -#define LOGCOMMENT "comment" -#define LOGOOC "ooc" - - #define LINGHIVE_NONE 0 #define LINGHIVE_OUTSIDER 1 #define LINGHIVE_LING 2 diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm index 056c5a4565..c8a583a55e 100644 --- a/code/__DEFINES/shuttles.dm +++ b/code/__DEFINES/shuttles.dm @@ -14,13 +14,13 @@ // Shuttle return values #define SHUTTLE_CAN_DOCK "can_dock" -#define SHUTTLE_NOT_A_DOCKING_PORT "not_a_docking_port" -#define SHUTTLE_DWIDTH_TOO_LARGE "docking_width_too_large" -#define SHUTTLE_WIDTH_TOO_LARGE "width_too_large" -#define SHUTTLE_DHEIGHT_TOO_LARGE "docking_height_too_large" -#define SHUTTLE_HEIGHT_TOO_LARGE "height_too_large" -#define SHUTTLE_ALREADY_DOCKED "we_are_already_docked" -#define SHUTTLE_SOMEONE_ELSE_DOCKED "someone_else_docked" +#define SHUTTLE_NOT_A_DOCKING_PORT "not a docking port" +#define SHUTTLE_DWIDTH_TOO_LARGE "docking width too large" +#define SHUTTLE_WIDTH_TOO_LARGE "width too large" +#define SHUTTLE_DHEIGHT_TOO_LARGE "docking height too large" +#define SHUTTLE_HEIGHT_TOO_LARGE "height too large" +#define SHUTTLE_ALREADY_DOCKED "we are already docked" +#define SHUTTLE_SOMEONE_ELSE_DOCKED "someone else docked" //Launching Shuttles to CentCom #define NOLAUNCH -1 diff --git a/code/__DEFINES/sight.dm b/code/__DEFINES/sight.dm index b7643fc5b1..5cac290082 100644 --- a/code/__DEFINES/sight.dm +++ b/code/__DEFINES/sight.dm @@ -28,3 +28,8 @@ #define VISOR_VISIONFLAGS (1<<2) //all following flags only matter for glasses #define VISOR_DARKNESSVIEW (1<<3) #define VISOR_INVISVIEW (1<<4) + +//for whether AI eyes see static, and whether it is mouse-opaque or not +#define USE_STATIC_NONE 0 +#define USE_STATIC_TRANSPARENT 1 +#define USE_STATIC_OPAQUE 2 diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index 384b857978..5afd705420 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -3,12 +3,12 @@ #define CHANNEL_ADMIN 1023 #define CHANNEL_VOX 1022 #define CHANNEL_JUKEBOX 1021 -#define CHANNEL_JUKEBOX_START 1016 -#define CHANNEL_JUSTICAR_ARK 1015 -#define CHANNEL_HEARTBEAT 1014 //sound channel for heartbeats -#define CHANNEL_AMBIENCE 1013 -#define CHANNEL_BUZZ 1012 -#define CHANNEL_BICYCLE 1011 +#define CHANNEL_JUKEBOX_START 1020 +#define CHANNEL_JUSTICAR_ARK 1019 +#define CHANNEL_HEARTBEAT 1018 //sound channel for heartbeats +#define CHANNEL_AMBIENCE 1017 +#define CHANNEL_BUZZ 1016 +#define CHANNEL_BICYCLE 1015 //CIT CHANNELS - TRY NOT TO REGRESS #define CHANNEL_PRED 1010 diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 06a70a4f49..b60894edea 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -1,7 +1,7 @@ //Update this whenever the db schema changes //make sure you add an update to the schema_version stable in the db changelog #define DB_MAJOR_VERSION 4 -#define DB_MINOR_VERSION 5 +#define DB_MINOR_VERSION 7 //Timing subsystem //Don't run if there is an identical unique timer active @@ -18,6 +18,9 @@ //To be used with TIMER_UNIQUE //prevents distinguishing identical timers with the wait variable #define TIMER_NO_HASH_WAIT (1<<4) +//Loops the timer repeatedly until qdeleted +//In most cases you want a subsystem instead +#define TIMER_LOOP (1<<5) #define TIMER_NO_INVOKE_WARNING 600 //number of byond ticks that are allowed to pass before the timer subsystem thinks it hung on something @@ -48,37 +51,38 @@ // Subsystems shutdown in the reverse of the order they initialize in // The numbers just define the ordering, they are meaningless otherwise. -#define INIT_ORDER_GARBAGE 19 -#define INIT_ORDER_DBCORE 18 -#define INIT_ORDER_BLACKBOX 17 -#define INIT_ORDER_SERVER_MAINT 16 -#define INIT_ORDER_INPUT 15 -#define INIT_ORDER_RESEARCH 14 -#define INIT_ORDER_EVENTS 13 -#define INIT_ORDER_JOBS 12 -#define INIT_ORDER_QUIRKS 11 -#define INIT_ORDER_TICKER 10 -#define INIT_ORDER_MAPPING 9 -#define INIT_ORDER_NETWORKS 8 -#define INIT_ORDER_ATOMS 7 -#define INIT_ORDER_LANGUAGE 6 -#define INIT_ORDER_MACHINES 5 -#define INIT_ORDER_CIRCUIT 4 -#define INIT_ORDER_TIMER 1 -#define INIT_ORDER_DEFAULT 0 -#define INIT_ORDER_AIR -1 -#define INIT_ORDER_AIR_TURFS -2 -#define INIT_ORDER_MINIMAP -3 -#define INIT_ORDER_ASSETS -4 -#define INIT_ORDER_ICON_SMOOTHING -5 -#define INIT_ORDER_OVERLAY -6 -#define INIT_ORDER_XKEYSCORE -10 -#define INIT_ORDER_STICKY_BAN -10 -#define INIT_ORDER_LIGHTING -20 -#define INIT_ORDER_SHUTTLE -21 -#define INIT_ORDER_SQUEAK -40 -#define INIT_ORDER_PATH -50 -#define INIT_ORDER_PERSISTENCE -100 +#define INIT_ORDER_GARBAGE 19 +#define INIT_ORDER_DBCORE 18 +#define INIT_ORDER_BLACKBOX 17 +#define INIT_ORDER_SERVER_MAINT 16 +#define INIT_ORDER_INPUT 15 +#define INIT_ORDER_VIS 14 +#define INIT_ORDER_RESEARCH 13 +#define INIT_ORDER_EVENTS 12 +#define INIT_ORDER_JOBS 11 +#define INIT_ORDER_QUIRKS 10 +#define INIT_ORDER_TICKER 9 +#define INIT_ORDER_MAPPING 8 +#define INIT_ORDER_NETWORKS 7 +#define INIT_ORDER_ATOMS 6 +#define INIT_ORDER_LANGUAGE 5 +#define INIT_ORDER_MACHINES 4 +#define INIT_ORDER_CIRCUIT 3 +#define INIT_ORDER_TIMER 1 +#define INIT_ORDER_DEFAULT 0 +#define INIT_ORDER_AIR -1 +#define INIT_ORDER_AIR_TURFS -2 +#define INIT_ORDER_MINIMAP -3 +#define INIT_ORDER_ASSETS -4 +#define INIT_ORDER_ICON_SMOOTHING -5 +#define INIT_ORDER_OVERLAY -6 +#define INIT_ORDER_XKEYSCORE -10 +#define INIT_ORDER_STICKY_BAN -10 +#define INIT_ORDER_LIGHTING -20 +#define INIT_ORDER_SHUTTLE -21 +#define INIT_ORDER_SQUEAK -40 +#define INIT_ORDER_PATH -50 +#define INIT_ORDER_PERSISTENCE -100 // Subsystem fire priority, from lowest to highest priority // If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child) @@ -87,6 +91,7 @@ #define FIRE_PRIORITY_IDLE_NPC 10 #define FIRE_PRIORITY_SERVER_MAINT 10 #define FIRE_PRIORITY_RESEARCH 10 +#define FIRE_PRIORITY_VIS 10 #define FIRE_PRIORITY_GARBAGE 15 #define FIRE_PRIORITY_WET_FLOORS 20 #define FIRE_PRIORITY_AIR 20 @@ -101,7 +106,7 @@ #define FIRE_PRIORITY_OBJ 40 #define FIRE_PRIORITY_ACID 40 #define FIRE_PRIOTITY_BURNING 40 -#define FIRE_PRIORITY_AIR_TURFS 40 +#define FIRE_PRIORITY_AIR_TURFS 40 #define FIRE_PRIORITY_DEFAULT 50 #define FIRE_PRIORITY_PARALLAX 65 #define FIRE_PRIORITY_FLIGHTPACKS 80 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index c645420162..2455d373ab 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -14,7 +14,8 @@ #define TRAIT_IGNORESLOWDOWN "ignoreslow" #define TRAIT_GOTTAGOFAST "fast" #define TRAIT_GOTTAGOREALLYFAST "2fast" -#define TRAIT_FAKEDEATH "fakedeath" +#define TRAIT_DEATHCOMA "deathcoma" //Causes death-like unconsciousness +#define TRAIT_FAKEDEATH "fakedeath" //Makes the owner appear as dead to most forms of medical examination #define TRAIT_DISFIGURED "disfigured" #define TRAIT_XENO_HOST "xeno_host" //Tracks whether we're gonna be a baby alien's mummy. #define TRAIT_STUNIMMUNE "stun_immunity" @@ -64,6 +65,9 @@ #define TRAIT_POOR_AIM "poor_aim" #define TRAIT_PROSOPAGNOSIA "prosopagnosia" #define TRAIT_DRUNK_HEALING "drunk_healing" +#define TRAIT_TAGGER "tagger" +#define TRAIT_PHOTOGRAPHER "photographer" +#define TRAIT_MUSICIAN "musician" // common trait sources #define TRAIT_GENERIC "generic" @@ -86,3 +90,4 @@ #define STASIS_MUTE "stasis" #define GENETICS_SPELL "genetics_spell" #define EYES_COVERED "eyes_covered" +#define CULT_EYES "cult_eyes" \ No newline at end of file diff --git a/code/__DEFINES/vehicles.dm b/code/__DEFINES/vehicles.dm new file mode 100644 index 0000000000..0bcc14d0d7 --- /dev/null +++ b/code/__DEFINES/vehicles.dm @@ -0,0 +1,9 @@ +//Vehicle control flags + +#define VEHICLE_CONTROL_PERMISSION 1 +#define VEHICLE_CONTROL_DRIVE 2 +#define VEHICLE_CONTROL_KIDNAPPED 4 //Can't leave vehicle voluntarily, has to resist. + + +//Car trait flags +#define CAN_KIDNAP 1 \ No newline at end of file