Skip to content

Commit

Permalink
Merge remote-tracking branch
Browse files Browse the repository at this point in the history
 'upstream/master' into
  subtypesfor_turf_open_floor
  • Loading branch information
Julien committed Jun 23, 2023
1 parent 7738cf8 commit e70258a
Show file tree
Hide file tree
Showing 257 changed files with 20,639 additions and 1,286 deletions.
2 changes: 1 addition & 1 deletion code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ most of them are tied into map-placed objects. This should be reworked in the fu
#define ACCESS_MARINE_RESEARCH 28
#define ACCESS_MARINE_SEA 29
#define ACCESS_MARINE_KITCHEN 30
#define ACCESS_MARINE_CAPTAIN 31
#define ACCESS_MARINE_CO 31
#define ACCESS_MARINE_TL_PREP 32

#define ACCESS_MARINE_MAINT 34
Expand Down
33 changes: 33 additions & 0 deletions code/__DEFINES/client_prefs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#define BE_ALIEN_AFTER_DEATH (1<<0)
#define BE_AGENT (1<<1)

#define TOGGLE_IGNORE_SELF (1<<0) // Determines whether you will not hurt yourself when clicking yourself
#define TOGGLE_HELP_INTENT_SAFETY (1<<1) // Determines whether help intent will be completely harmless
#define TOGGLE_MIDDLE_MOUSE_CLICK (1<<2) // This toggles whether selected ability for xeno uses middle mouse clicking or shift clicking
#define TOGGLE_DIRECTIONAL_ATTACK (1<<3) // This toggles whether attacks for xeno use directional attacks
#define TOGGLE_AUTO_EJECT_MAGAZINE_OFF (1<<4) // This toggles whether guns with auto ejectors will not auto eject their magazines
// MUTUALLY EXCLUSIVE TO TOGGLE_AUTO_EJECT_MAGAZINE_TO_HAND
#define TOGGLE_AUTO_EJECT_MAGAZINE_TO_HAND (1<<5) // This toggles whether guns with auto ejectors will cause you to unwield your gun and put the empty magazine in your hand
// MUTUALLY EXCLUSIVE TO TOGGLE_AUTO_EJECT_MAGAZINE
#define TOGGLE_EJECT_MAGAZINE_TO_HAND (1<<6) // This toggles whether manuallye jecting magazines from guns will cause you to unwield your gun
// and put the empty magazine in your hand
#define TOGGLE_AUTOMATIC_PUNCTUATION (1<<7) // Whether your sentences will automatically be punctuated with a period
#define TOGGLE_COMBAT_CLICKDRAG_OVERRIDE (1<<8) // Whether disarm/harm intents cause clicks to trigger immediately when the mouse button is depressed.
#define TOGGLE_ALTERNATING_DUAL_WIELD (1<<9) // Whether dual-wielding fires both guns at once or swaps between them.
#define TOGGLE_FULLSCREEN (1<<10) // See /client/proc/toggle_fullscreen in client_procs.dm
#define TOGGLE_MEMBER_PUBLIC (1<<11) //determines if you get a byond logo by your name in ooc if you're a member or not
#define TOGGLE_OOC_FLAG (1<<12) // determines if your country flag appears by your name in ooc chat
#define TOGGLE_MIDDLE_MOUSE_SWAP_HANDS (1<<13) //Toggle whether middle click swaps your hands
#define TOGGLE_AMBIENT_OCCLUSION (1<<14) // toggles if ambient occlusion is turned on or off
#define TOGGLE_VEND_ITEM_TO_HAND (1<<15) // This toggles whether items from vendors will be automatically put into your hand.
#define TOGGLE_START_JOIN_CURRENT_SLOT (1<<16) // Whether joining at roundstart ignores assigned character slot for the job and uses currently selected slot.
#define TOGGLE_LATE_JOIN_CURRENT_SLOT (1<<17) //Whether joining during the round ignores assigned character slot for the job and uses currently selected slot.

#define JOB_SLOT_RANDOMISED_SLOT -1
#define JOB_SLOT_CURRENT_SLOT 0
#define JOB_SLOT_RANDOMISED_TEXT "Randomise name and appearance"
#define JOB_SLOT_CURRENT_TEXT "Current character"

#define AGE_MIN 19 //youngest a character can be
#define AGE_MAX 90 //oldest a character can be //no. you are not allowed to be 160.
#define MAX_GEAR_COST 7 //Used in chargen for loadout limit.
9 changes: 9 additions & 0 deletions code/__DEFINES/dcs/signals/atom/mob/living/signals_human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,14 @@
//from /mob/living/carbon/human/equip_to_slot()
#define COMSIG_HUMAN_EQUIPPED_ITEM "human_equipped_item"

/// From /mob/proc/equip_to_slot_if_possible()
#define COMSIG_HUMAN_ATTEMPTING_EQUIP "human_attempting_equip"
#define COMPONENT_HUMAN_CANCEL_ATTEMPT_EQUIP (1<<0)

//from /mob/living/carbon/human/Life()
#define COMSIG_HUMAN_SET_UNDEFIBBABLE "human_set_undefibbable"

/// from /datum/surgery_step/proc/attempt_step()
#define COMSIG_HUMAN_SURGERY_APPLY_MODIFIERS "human_surgery_apply_modifiers"
/// From /mob/living/carbon/human/proc/get_flags_cold_protection()
#define COMSIG_HUMAN_COLD_PROTECTION_APPLY_MODIFIERS "human_cold_protection_apply_modifiers"
5 changes: 5 additions & 0 deletions code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@
#define COMSIG_MOB_DRAGGED "mob_dragged"
/// From /obj/item/proc/unequipped()
#define COMSIG_MOB_ITEM_UNEQUIPPED "mob_item_unequipped"
/// From /mob/proc/equip_to_slot_if_possible()
#define COMSIG_MOB_ATTEMPTING_EQUIP "mob_attempting_equip"
#define COMPONENT_MOB_CANCEL_ATTEMPT_EQUIP (1<<0)

/// For when a mob is devoured by a Xeno
#define COMSIG_MOB_DEVOURED "mob_devoured"
Expand Down Expand Up @@ -105,3 +108,5 @@
#define COMSIG_MOB_STAT_SET_ALIVE "mob_stat_set_alive"
//from /mob/living/set_stat()
#define COMSIG_MOB_STAT_SET_DEAD "mob_stat_set_dead"

#define COMSIG_GHOST_MOVED "ghost_moved"
2 changes: 2 additions & 0 deletions code/__DEFINES/dcs/signals/atom/signals_obj.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@

/// from /obj/structure/transmitter/update_icon()
#define COMSIG_TRANSMITTER_UPDATE_ICON "transmitter_update_icon"

#define COMSIG_TENT_COLLAPSING "tent_collapsing"
1 change: 1 addition & 0 deletions code/__DEFINES/dcs/signals/atom/signals_turf.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#define COMSIG_TURF_ENTER "turf_enter"
#define COMPONENT_TURF_ALLOW_MOVEMENT (1<<0)
#define COMPONENT_TURF_DENY_MOVEMENT (1<<1)
#define COMSIG_TURF_ENTERED "turf_entered"

/// Called when a bullet hits a turf
#define COMSIG_TURF_BULLET_ACT "turf_bullet_act"
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/dcs/signals/signals_global.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,8 @@
// Used for smothering fires upon weather event start/stop
#define COMSIG_GLOB_WEATHER_CHANGE "!weather_event_changed"

/// From /obj/structure/machinery/telecomms/proc/tcomms_shutdown(), called when the relay turns off
#define COMSIG_GLOB_GROUNDSIDE_TELECOMM_TURNED_OFF "!groundside_telecomm_turned_off"

/// From /datum/admins/proc/force_predator_round()
#define COMSIG_GLOB_PREDATOR_ROUND_TOGGLED "!predator_round_toglged"
9 changes: 5 additions & 4 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -163,24 +163,25 @@ var/global/list/job_command_roles = JOB_COMMAND_ROLES_LIST
//------------------------------------

//-------- PMC --------//
#define JOB_PMC "PMC Standard"
#define JOB_PMC_STANDARD "Weyland-Yutani PMC (Standard)"
#define JOB_PMC_ENGINEER "PMC Corporate Technician"
#define JOB_PMC_MEDIC "PMC Corporate Medic"
#define JOB_PMC_DOCTOR "PMC Trauma Surgeon"
#define JOB_PMC_INVESTIGATOR "PMC Medical Investigator"
#define JOB_PMC_DETAINER "Weyland-Yutani PMC (Detainer)"
#define JOB_PMC_ELITE "PMC Elite"
#define JOB_PMC_GUNNER "PMC Support Weapons Specialist" //Renamed from Specialist to Support Specialist as it only has SG skills.
#define JOB_PMC_SNIPER "PMC Weapons Specialist" //Renamed from Sharpshooter to specialist as it uses specialist skills.
#define JOB_PMC_CREWMAN "PMC Crewman"
#define JOB_PMC_CREWMAN "Weyland-Yutani PMC (Crewman)"
#define JOB_PMC_NINJA "PMC Ninja"
#define JOB_PMC_XENO_HANDLER "PMC Xeno Handler"
#define JOB_PMC_COMMANDO "PMC Commando"
#define JOB_PMC_LEADER "PMC Leader"
#define JOB_PMC_LEAD_INVEST "PMC Lead Investigator"
#define JOB_PMC_DIRECTOR "PMC Site Director"
#define JOB_PMC_SYNTH "PMC Support Synthetic"
#define JOB_PMC_SYNTH "PMC Support Synthetic"

#define JOB_PMC_GRUNT_LIST list(JOB_PMC, JOB_PMC_ENGINEER, JOB_PMC_MEDIC, JOB_PMC_INVESTIGATOR, JOB_PMC_ELITE, JOB_PMC_GUNNER, JOB_PMC_SNIPER, JOB_PMC_CREWMAN, JOB_PMC_NINJA, JOB_PMC_XENO_HANDLER, JOB_PMC_COMMANDO, JOB_PMC_LEADER, JOB_PMC_LEAD_INVEST)
#define JOB_PMC_GRUNT_LIST list(JOB_PMC_STANDARD, JOB_PMC_ENGINEER, JOB_PMC_MEDIC, JOB_PMC_INVESTIGATOR, JOB_PMC_DETAINER, JOB_PMC_ELITE, JOB_PMC_GUNNER, JOB_PMC_SNIPER, JOB_PMC_CREWMAN, JOB_PMC_NINJA, JOB_PMC_XENO_HANDLER, JOB_PMC_COMMANDO, JOB_PMC_LEADER, JOB_PMC_LEAD_INVEST)

//-------- WY --------//

Expand Down
12 changes: 9 additions & 3 deletions code/__DEFINES/layers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -124,12 +124,15 @@
#define FACEHUGGER_LAYER 4.13
/// For WEATHER
#define WEATHER_LAYER 4.14
#define INTERIOR_WALL_SOUTH_LAYER 5.2
#define INTERIOR_DOOR_LAYER 5.21

//#define FLY_LAYER 5

#define RIPPLE_LAYER 5.1
#define INTERIOR_DOOR_INSIDE_LAYER 5.19
#define INTERIOR_WALL_SOUTH_LAYER 5.2
#define INTERIOR_DOOR_LAYER 5.21
#define INTERIOR_WALLMOUNT_LAYER 5.3
#define INTERIOR_ROOF_LAYER 5.5

#define ABOVE_FLY_LAYER 6

Expand Down Expand Up @@ -174,9 +177,12 @@
/// NEVER HAVE ANYTHING BELOW THIS PLANE ADJUST IF YOU NEED MORE SPACE
#define LOWEST_EVER_PLANE -200

/// Floor plane, self explanatory. Used for Ambient Occlusion filter
#define FLOOR_PLANE -7
/// Game Plane, where most of the game objects reside
#define GAME_PLANE -6
#define ABOVE_GAME_PLANE -5
/// Roof plane, disappearing when entering buildings
#define ROOF_PLANE -4

/// To keep from conflicts with SEE_BLACKNESS internals
#define BLACKNESS_PLANE 0
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/maps.dm
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,10 @@ require only minor tweaks.
#define GROUND_MAP "ground_map"
#define SHIP_MAP "ship_map"
#define ALL_MAPTYPES list(GROUND_MAP, SHIP_MAP)
#define OVERRIDE_MAPS_TO_FILENAME list(GROUND_MAP = "next_map_override.dmm", SHIP_MAP = "next_ship_override.dmm")
#define MAP_TO_FILENAME list(GROUND_MAP = "data/next_map.json", SHIP_MAP = "data/next_ship.json")
#define HUNTERSHIPS_TEMPLATE_PATH "maps/predship/huntership.dmm"
#define OVERRIDE_DEFAULT_MAP_CONFIG list(GROUND_MAP = "maps/override_ground.json", SHIP_MAP = "maps/override_ship.json")

// traity things
#define MAP_COLD "COLD"
Expand Down
2 changes: 0 additions & 2 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
#define OVEREAT_TIME 200

//=================================================
#define ALIEN_SELECT_AFK_BUFFER 1 // How many minutes that a person can be AFK before not being allowed to be an alien.

#define HEAT_DAMAGE_LEVEL_1 2 //Amount of damage applied when your body temperature just passes the 360.15k safety point
#define HEAT_DAMAGE_LEVEL_2 4 //Amount of damage applied when your body temperature passes the 400K point
#define HEAT_DAMAGE_LEVEL_3 8 //Amount of damage applied when your body temperature passes the 1000K point
Expand Down
31 changes: 0 additions & 31 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -75,29 +75,6 @@

#define LATEJOIN_MARINES_PER_LATEJOIN_LARVA 3

#define BE_ALIEN_AFTER_DEATH 1
#define BE_AGENT 2

#define TOGGLE_IGNORE_SELF (1<<0) // Determines whether you will not hurt yourself when clicking yourself
#define TOGGLE_HELP_INTENT_SAFETY (1<<1) // Determines whether help intent will be completely harmless
#define TOGGLE_MIDDLE_MOUSE_CLICK (1<<2) // This toggles whether selected ability for xeno uses middle mouse clicking or shift clicking
#define TOGGLE_DIRECTIONAL_ATTACK (1<<3) // This toggles whether attacks for xeno use directional attacks
#define TOGGLE_AUTO_EJECT_MAGAZINE_OFF (1<<4) // This toggles whether guns with auto ejectors will not auto eject their magazines
// MUTUALLY EXCLUSIVE TO TOGGLE_AUTO_EJECT_MAGAZINE_TO_HAND
#define TOGGLE_AUTO_EJECT_MAGAZINE_TO_HAND (1<<5) // This toggles whether guns with auto ejectors will cause you to unwield your gun and put the empty magazine in your hand
// MUTUALLY EXCLUSIVE TO TOGGLE_AUTO_EJECT_MAGAZINE
#define TOGGLE_EJECT_MAGAZINE_TO_HAND (1<<6) // This toggles whether manuallyejecting magazines from guns will cause you to unwield your gun
// and put the empty magazine in your hand
#define TOGGLE_AUTOMATIC_PUNCTUATION (1<<7) // Whether your sentences will automatically be punctuated with a period
#define TOGGLE_COMBAT_CLICKDRAG_OVERRIDE (1<<8) // Whether disarm/harm intents cause clicks to trigger immediately when the mouse button is depressed.
#define TOGGLE_ALTERNATING_DUAL_WIELD (1<<9) // Whether dual-wielding fires both guns at once or swaps between them.
#define TOGGLE_FULLSCREEN (1<<10) // See /client/proc/toggle_fullscreen in client_procs.dm
#define TOGGLE_MEMBER_PUBLIC (1<<11) //determines if you get a byond logo by your name in ooc if you're a member or not
#define TOGGLE_OOC_FLAG (1<<12) // determines if your country flag appears by your name in ooc chat
#define TOGGLE_MIDDLE_MOUSE_SWAP_HANDS (1<<13) //Toggle whether middle click swaps your hands
#define TOGGLE_AMBIENT_OCCLUSION (1<<14) // toggles if ambient occlusion is turned on or off
#define TOGGLE_VEND_ITEM_TO_HAND (1<<15) // This toggles whether items from vendors will be automatically put into your hand.

//=================================================
#define SHOW_ITEM_ANIMATIONS_NONE 0 //Do not show any item pickup animations
#define SHOW_ITEM_ANIMATIONS_HALF 1 //Toggles tg-style item animations on and off, default on.
Expand All @@ -111,16 +88,8 @@
//=================================================


var/list/be_special_flags = list(
"Xenomorph after unrevivable death" = BE_ALIEN_AFTER_DEATH,
"Agent" = BE_AGENT,
)

#define AGE_MIN 19 //youngest a character can be
#define AGE_MAX 90 //oldest a character can be //no. you are not allowed to be 160.
//Number of marine players against which the Marine's gear scales
#define MARINE_GEAR_SCALING_NORMAL 30
#define MAX_GEAR_COST 7 //Used in chargen for loadout limit.

#define RESOURCE_NODE_SCALE 95 //How many players minimum per extra set of resource nodes
#define RESOURCE_NODE_QUANTITY_PER_POP 11 //How many resources total per pop
Expand Down
11 changes: 8 additions & 3 deletions code/__DEFINES/objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,16 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse
#define CLEANABLE_MISC "misc" //Anything else

//For nuke announcements
#define NUKE_SHOW_TIMER_TEN_SEC 1
#define NUKE_SHOW_TIMER_MINUTE 2
#define NUKE_SHOW_TIMER_HALF 4
#define NUKE_SHOW_TIMER_TEN_SEC (1<<0)
#define NUKE_SHOW_TIMER_MINUTE (1<<1)
#define NUKE_SHOW_TIMER_HALF (1<<2)
#define NUKE_SHOW_TIMER_ALL (NUKE_SHOW_TIMER_TEN_SEC|NUKE_SHOW_TIMER_MINUTE|NUKE_SHOW_TIMER_HALF)

#define NUKE_DECRYPT_SHOW_TIMER_COMPLETE (1<<3)
#define NUKE_DECRYPT_SHOW_TIMER_MINUTE (1<<4)
#define NUKE_DECRYPT_SHOW_TIMER_HALF (1<<5)
#define NUKE_DECRYPT_SHOW_TIMER_ALL (NUKE_SHOW_TIMER_TEN_SEC|NUKE_SHOW_TIMER_HALF|NUKE_DECRYPT_SHOW_TIMER_COMPLETE|NUKE_DECRYPT_SHOW_TIMER_MINUTE|NUKE_DECRYPT_SHOW_TIMER_HALF)

//For recipes
#define ONE_TYPE_PER_TURF 1
#define ONE_TYPE_PER_BORDER 2
Expand Down
4 changes: 2 additions & 2 deletions code/__DEFINES/skills.dm
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,8 @@

//pilot skill, hidden
#define SKILL_PILOT_DEFAULT 0
#define SKILL_PILOT_TRAINED 1 // DCC, Synth
#define SKILL_PILOT_EXPERT 2 // Pilot
#define SKILL_PILOT_TRAINED 1 // DCC
#define SKILL_PILOT_EXPERT 2 // Pilot, Synth
#define SKILL_PILOT_MAX 2

//Navigations skill - for seting orbital alt
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/urls.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
#define URL_WIKI_MST_GUIDE "https://cm-ss13.com/wiki/Mess_Technician"
#define URL_WIKI_CL_GUIDE "https://cm-ss13.com/wiki/Corporate_Liaison" // Misc //
#define URL_WIKI_SURV_GUIDE "https://cm-ss13.com/wiki/Survivor"
#define URL_WIKI_WJ_GUIDE "https://cm-ss13.com/wiki/Seegson_Working_Joe_Manual"

// ------ FORUM LINKS ------ //
#define URL_FORUM "https://forum.cm-ss13.com/"
Expand Down
16 changes: 16 additions & 0 deletions code/__DEFINES/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,22 @@
#define WEED_BASE_GROW_SPEED (5 SECONDS)
#define WEED_BASE_DECAY_SPEED (10 SECONDS)

/// The time you must be dead to join as a xeno larva
#define XENO_JOIN_DEAD_LARVA_TIME (2.5 MINUTES)
/// The time you must be dead to join as xeno (not larva)
#define XENO_JOIN_DEAD_TIME (5 MINUTES)
/// The time of inactivity you cannot exceed to join as a xeno
#define XENO_JOIN_AFK_TIME_LIMIT (5 MINUTES)
/// The amount of time after round start before buried larva spawns are disallowed
#define XENO_BURIED_LARVA_TIME_LIMIT (30 MINUTES)

/// The time against away_timer when an AFK xeno larva can be replaced
#define XENO_LEAVE_TIMER_LARVA 80 //80 seconds
/// The time against away_timer when an AFK xeno (not larva) can be replaced
#define XENO_LEAVE_TIMER 300 //300 seconds
/// The time against away_timer when an AFK xeno gets listed in the available list so ghosts can get ready
#define XENO_AVAILABLE_TIMER 60 //60 seconds

/// Between 2% to 10% of explosion severity
#define WEED_EXPLOSION_DAMAGEMULT rand(2, 10)*0.01

Expand Down
4 changes: 0 additions & 4 deletions code/__HELPERS/_time.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@

#define DECISECONDS_TO_HOURS /36000

#define XENO_LEAVE_TIMER_LARVA 80 //80 seconds
#define XENO_LEAVE_TIMER 300 //300 seconds
#define XENO_AVAILABLE_TIMER 60 //60 seconds, when to add a xeno to the avaliable list so ghosts can get ready

var/midnight_rollovers = 0
var/rollovercheck_last_timeofday = 0

Expand Down
9 changes: 9 additions & 0 deletions code/__HELPERS/cmp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,12 @@ var/atom/cmp_dist_origin=null

/proc/cmp_typepaths_asc(A, B)
return sorttext("[B]","[A]")

/// Compares mobs based on their timeofdeath value in ascending order
/proc/cmp_mob_deathtime_asc(mob/A, mob/B)
return A.timeofdeath - B.timeofdeath

/// Compares observers based on their larva_queue_time value in ascending order
/// Assumes the client on the observer is not null
/proc/cmp_obs_larvaqueuetime_asc(mob/dead/observer/A, mob/dead/observer/B)
return A.client.larva_queue_time - B.client.larva_queue_time
5 changes: 0 additions & 5 deletions code/__HELPERS/files.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@

return text

//Sends resource files to client cache
/client/proc/getFiles()
for(var/file in args)
src << browse_rsc(file)

/client/proc/browse_files(root="data/logs/", max_iterations=10, list/valid_extensions=list(".txt",".log",".htm"))
var/path = root

Expand Down
Loading

0 comments on commit e70258a

Please sign in to comment.