Skip to content

Commit

Permalink
Merge branch 'cmss13-devs:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
ItsVyzo committed Feb 3, 2024
2 parents c37fcc5 + aa8ff1a commit 5b0150a
Show file tree
Hide file tree
Showing 986 changed files with 36,194 additions and 39,202 deletions.
7 changes: 6 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,13 @@
/tools/docker/ @Fira
/Dockerfile @Fira

# Nanu

/maps @Nanu308

# Zonespace

/code/modules/gear_presets/survivors.dm @zonespace27
/code/datums/tutorial/ @Zonespace27
/maps/tutorial/ @Zonespace27

# MULTIPLE OWNERS
3 changes: 3 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ Remember: something that is self-evident to you might not be to others. Explain

# Testing Photographs and Procedure
<!-- Include any screenshots/videos/debugging steps of the modified code functioning successfully, ideally including edge cases. -->

<!-- !! If you are modifying sprites, you **must** include one or more in-game screenshots or videos of the new sprites. !! -->

<details>
<summary>Screenshots & Videos</summary>

Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/_math.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,6 @@

/// Gets the sign of x, returns -1 if negative, 0 if 0, 1 if positive
#define SIGN(x) ( ((x) > 0) - ((x) < 0) )

/// Performs a linear interpolation between a and b. Note that amount=0 returns a, amount=1 returns b, and amount=0.5 returns the mean of a and b.
#define LERP(a, b, amount) ( amount ? ((a) + ((b) - (a)) * (amount)) : a )
4 changes: 2 additions & 2 deletions code/__DEFINES/conflict.dm
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@
#define WIELD_DELAY_VERY_SLOW 10
#define WIELD_DELAY_HORRIBLE 12

///This is how long you must wait after throwing something to throw again
#define THROW_DELAY (0.4 SECONDS)
///This is how long you must wait to throw again after throwing two things
#define THROW_DELAY (1.5 SECONDS)

//Explosion level thresholds. Upper bounds
#define EXPLOSION_THRESHOLD_VLOW 50
Expand Down
9 changes: 9 additions & 0 deletions code/__DEFINES/dcs/signals/atom/mob/living/signals_xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,12 @@

/// For any additional things that should happen when a xeno's melee_attack_additional_effects_self() proc is called
#define COMSIG_XENO_SLASH_ADDITIONAL_EFFECTS_SELF "xeno_slash_additional_effects_self"

/// From /datum/action/xeno_action/onclick/plant_weeds/use_ability(): (atom/A)
#define COMSIG_XENO_PLANT_RESIN_NODE "xeno_plant_resin_node"

/// From //mob/living/carbon/xenomorph/proc/emit_pheromones(): (pheromone, emit_cost)
#define COMSIG_XENO_START_EMIT_PHEROMONES "xeno_start_emit_pheromones"

/// From /obj/effect/alien/resin/special/eggmorph/attack_alien: (mob/living/carbon/xenomorph/M)
#define COMSIG_XENO_TAKE_HUGGER_FROM_MORPHER "xeno_take_hugger_from_morpher"
2 changes: 2 additions & 0 deletions code/__DEFINES/dcs/signals/atom/mob/signals_mind.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
///from mind/transfer_to. Sent after the mind has been transferred to a different body: (mob/previous_body)
#define COMSIG_MIND_TRANSFERRED "mind_transferred"
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 @@ -59,6 +59,9 @@
#define COMSIG_MOB_WEED_SLOWDOWN "mob_weeds_slowdown"

#define COMSIG_MOB_TAKE_DAMAGE "mob_take_damage" // TODO: move COMSIG_XENO_TAKE_DAMAGE & COMSIG_HUMAN_TAKE_DAMAGE to this

///From /mob/living/carbon/human/attack_alien(): (mob/living/carbon/xenomorph/M, dam_bonus)
#define COMSIG_MOB_TACKLED_DOWN "mob_tackled_down"
///called in /client/change_view()
#define COMSIG_MOB_CHANGE_VIEW "mob_change_view"
#define COMPONENT_OVERRIDE_VIEW (1<<0)
Expand Down Expand Up @@ -170,3 +173,5 @@
#define COMSIG_MOB_EFFECT_CLOAK_CANCEL "mob_effect_cloak_cancel"

#define COMSIG_MOB_END_TUTORIAL "mob_end_tutorial"

#define COMSIG_MOB_NESTED "mob_nested"
1 change: 1 addition & 0 deletions code/__DEFINES/dcs/signals/atom/signals_item.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,4 @@
#define COMSIG_CAMERA_SET_TARGET "camera_manager_set_target"
#define COMSIG_CAMERA_SET_AREA "camera_manager_set_area"
#define COMSIG_CAMERA_CLEAR "camera_manager_clear_target"
#define COMSIG_CAMERA_REFRESH "camera_manager_refresh"
2 changes: 2 additions & 0 deletions code/__DEFINES/layers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,8 @@
#define FLOOR_PLANE -7
/// Game Plane, where most of the game objects reside
#define GAME_PLANE -6
/// Above Game Plane. For things which are above game objects, but below screen effects.
#define ABOVE_GAME_PLANE -5
/// Roof plane, disappearing when entering buildings
#define ROOF_PLANE -4

Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/lighting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ GLOBAL_LIST_INIT(emissive_color, EMISSIVE_COLOR)
GLOBAL_LIST_INIT(em_block_color, EM_BLOCK_COLOR)
/// A set of appearance flags applied to all emissive and emissive blocker overlays.
#define EMISSIVE_APPEARANCE_FLAGS (KEEP_APART|KEEP_TOGETHER|RESET_COLOR|RESET_TRANSFORM)
/// The color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of [EMISSIVE_COLOR], and be independant of the RGB value of [EM_BLOCK_COLOR].
/// The color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of [EMISSIVE_COLOR], and be independent of the RGB value of [EM_BLOCK_COLOR].
#define EM_MASK_MATRIX list(0,0,0,1/3, 0,0,0,1/3, 0,0,0,1/3, 0,0,0,0, 1,1,1,0)
/// A globaly cached version of [EM_MASK_MATRIX] for quick access.
GLOBAL_LIST_INIT(em_mask_matrix, EM_MASK_MATRIX)
Expand Down
3 changes: 1 addition & 2 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,9 @@
#define INTERRUPT_MIDDLECLICK (1<<15)
#define INTERRUPT_DAZED (1<<16)
#define INTERRUPT_EMOTE (1<<17)
// By default not in INTERRUPT_ALL (too niche)
#define INTERRUPT_CHANGED_LYING (1<<18)

#define INTERRUPT_ALL (INTERRUPT_DIFF_LOC|INTERRUPT_DIFF_TURF|INTERRUPT_UNCONSCIOUS|INTERRUPT_KNOCKED_DOWN|INTERRUPT_STUNNED|INTERRUPT_NEEDHAND|INTERRUPT_RESIST)
#define INTERRUPT_ALL (INTERRUPT_DIFF_LOC|INTERRUPT_DIFF_TURF|INTERRUPT_UNCONSCIOUS|INTERRUPT_KNOCKED_DOWN|INTERRUPT_STUNNED|INTERRUPT_NEEDHAND|INTERRUPT_RESIST|INTERRUPT_CHANGED_LYING)
#define INTERRUPT_ALL_OUT_OF_RANGE (INTERRUPT_ALL & (~INTERRUPT_DIFF_TURF)|INTERRUPT_OUT_OF_RANGE)
#define INTERRUPT_MOVED (INTERRUPT_DIFF_LOC|INTERRUPT_DIFF_TURF|INTERRUPT_RESIST)
#define INTERRUPT_NO_NEEDHAND (INTERRUPT_ALL & (~INTERRUPT_NEEDHAND))
Expand Down
9 changes: 7 additions & 2 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@
#define DAZE "daze"
#define SLOW "slow"
#define SUPERSLOW "superslow"
#define ROOT "root"

//=================================================

//I hate adding defines like this but I'd much rather deal with bitflags than lists and string searches
Expand All @@ -100,14 +102,15 @@

//Bitflags defining which status effects could be or are inflicted on a mob

#define STATUS_FLAGS_DEBILITATE (CANSTUN|CANKNOCKOUT|CANDAZE|CANSLOW)
#define STATUS_FLAGS_DEBILITATE (CANSTUN|CANKNOCKOUT|CANDAZE|CANSLOW|CANROOT)

#define CANSTUN (1<<0)
#define CANKNOCKDOWN (1<<1)
#define CANKNOCKOUT (1<<2)
#define CANPUSH (1<<3)
#define LEAPING (1<<4)
#define PASSEMOTES (1<<5) //holders inside of mob that need to see emotes.
#define CANROOT (1<<6)
#define GODMODE (1<<12)
#define FAKEDEATH (1<<13) //Replaces stuff like changeling.changeling_fakedeath
#define DISFIGURED (1<<14) //I'll probably move this elsewhere if I ever get wround to writing a bitflag mob-damage system
Expand All @@ -134,7 +137,9 @@
#define XENO_HIVE_YAUTJA "xeno_hive_yautja"
#define XENO_HIVE_RENEGADE "xeno_hive_renegade"

#define ALL_XENO_HIVES list(XENO_HIVE_NORMAL, XENO_HIVE_CORRUPTED, XENO_HIVE_ALPHA, XENO_HIVE_BRAVO, XENO_HIVE_CHARLIE, XENO_HIVE_DELTA, XENO_HIVE_FERAL, XENO_HIVE_TAMED, XENO_HIVE_MUTATED, XENO_HIVE_FORSAKEN, XENO_HIVE_YAUTJA, XENO_HIVE_RENEGADE)
#define XENO_HIVE_TUTORIAL "xeno_hive_tutorial"

#define ALL_XENO_HIVES list(XENO_HIVE_NORMAL, XENO_HIVE_CORRUPTED, XENO_HIVE_ALPHA, XENO_HIVE_BRAVO, XENO_HIVE_CHARLIE, XENO_HIVE_DELTA, XENO_HIVE_FERAL, XENO_HIVE_TAMED, XENO_HIVE_MUTATED, XENO_HIVE_FORSAKEN, XENO_HIVE_YAUTJA, XENO_HIVE_RENEGADE, XENO_HIVE_TUTORIAL)

//=================================================

Expand Down
42 changes: 35 additions & 7 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE))
GLOBAL_LIST_INIT(whitelist_hierarchy, list(WHITELIST_NORMAL, WHITELIST_COUNCIL, WHITELIST_LEADER))

//=================================================

#define WHITELIST_YAUTJA (1<<0)
///Old holders of YAUTJA_ELDER
#define WHITELIST_YAUTJA_LEGACY (1<<1)
Expand All @@ -170,23 +171,50 @@ GLOBAL_LIST_INIT(whitelist_hierarchy, list(WHITELIST_NORMAL, WHITELIST_COUNCIL,
///Old holders of COMMANDER_COUNCIL for 3 months
#define WHITELIST_COMMANDER_COUNCIL_LEGACY (1<<7)
#define WHITELIST_COMMANDER_LEADER (1<<8)
///Former CO senator/whitelist overseer award
#define WHITELIST_COMMANDER_COLONEL (1<<9)

#define WHITELIST_JOE (1<<9)
#define WHITELIST_SYNTHETIC (1<<10)
#define WHITELIST_SYNTHETIC_COUNCIL (1<<11)
#define WHITELIST_JOE (1<<10)
#define WHITELIST_SYNTHETIC (1<<11)
#define WHITELIST_SYNTHETIC_COUNCIL (1<<12)
///Old holders of SYNTHETIC_COUNCIL for 3 months
#define WHITELIST_SYNTHETIC_COUNCIL_LEGACY (1<<12)
#define WHITELIST_SYNTHETIC_LEADER (1<<13)
#define WHITELIST_SYNTHETIC_COUNCIL_LEGACY (1<<13)
#define WHITELIST_SYNTHETIC_LEADER (1<<14)

///Senior Enlisted Advisor, auto granted by R_MENTOR
#define WHITELIST_MENTOR (1<<15)


#define WHITELIST_MENTOR (1<<14)
#define WHITELISTS_GENERAL (WHITELIST_YAUTJA|WHITELIST_COMMANDER|WHITELIST_SYNTHETIC|WHITELIST_MENTOR|WHITELIST_JOE)
#define WHITELISTS_COUNCIL (WHITELIST_YAUTJA_COUNCIL|WHITELIST_COMMANDER_COUNCIL|WHITELIST_SYNTHETIC_COUNCIL)
#define WHITELISTS_LEGACY_COUNCIL (WHITELIST_YAUTJA_COUNCIL_LEGACY|WHITELIST_COMMANDER_COUNCIL_LEGACY|WHITELIST_SYNTHETIC_COUNCIL_LEGACY)
#define WHITELISTS_LEADER (WHITELIST_YAUTJA_LEADER|WHITELIST_COMMANDER_LEADER|WHITELIST_SYNTHETIC_LEADER)

#define WHITELIST_EVERYTHING (WHITELISTS_GENERAL|WHITELISTS_COUNCIL|WHITELISTS_LEADER)

#define isCouncil(A) (GLOB.RoleAuthority.roles_whitelist[A.ckey] & WHITELIST_YAUTJA_COUNCIL) || (GLOB.RoleAuthority.roles_whitelist[A.ckey] & WHITELIST_SYNTHETIC_COUNCIL) || (GLOB.RoleAuthority.roles_whitelist[A.ckey] & WHITELIST_COMMANDER_COUNCIL)
#define COUNCIL_LIST list(WHITELIST_COMMANDER_COUNCIL, WHITELIST_SYNTHETIC_COUNCIL, WHITELIST_YAUTJA_COUNCIL)
#define SENATOR_LIST list(WHITELIST_COMMANDER_LEADER, WHITELIST_SYNTHETIC_LEADER, WHITELIST_YAUTJA_LEADER)
#define isCouncil(A) (A.check_whitelist_status_list(COUNCIL_LIST))
#define isSenator(A) (A.check_whitelist_status_list(SENATOR_LIST))

DEFINE_BITFIELD(whitelist_status, list(
"WHITELIST_YAUTJA" = WHITELIST_YAUTJA,
"WHITELIST_YAUTJA_LEGACY" = WHITELIST_YAUTJA_LEGACY,
"WHITELIST_YAUTJA_COUNCIL" = WHITELIST_YAUTJA_COUNCIL,
"WHITELIST_YAUTJA_COUNCIL_LEGACY" = WHITELIST_YAUTJA_COUNCIL_LEGACY,
"WHITELIST_YAUTJA_LEADER" = WHITELIST_YAUTJA_LEADER,
"WHITELIST_COMMANDER" = WHITELIST_COMMANDER,
"WHITELIST_COMMANDER_COUNCIL" = WHITELIST_COMMANDER_COUNCIL,
"WHITELIST_COMMANDER_COUNCIL_LEGACY" = WHITELIST_COMMANDER_COUNCIL_LEGACY,
"WHITELIST_COMMANDER_COLONEL" = WHITELIST_COMMANDER_COLONEL,
"WHITELIST_COMMANDER_LEADER" = WHITELIST_COMMANDER_LEADER,
"WHITELIST_JOE" = WHITELIST_JOE,
"WHITELIST_SYNTHETIC" = WHITELIST_SYNTHETIC,
"WHITELIST_SYNTHETIC_COUNCIL" = WHITELIST_SYNTHETIC_COUNCIL,
"WHITELIST_SYNTHETIC_COUNCIL_LEGACY" = WHITELIST_SYNTHETIC_COUNCIL_LEGACY,
"WHITELIST_SYNTHETIC_LEADER" = WHITELIST_SYNTHETIC_LEADER,
"WHITELIST_MENTOR" = WHITELIST_MENTOR,
))

//=================================================

Expand Down
5 changes: 4 additions & 1 deletion code/__DEFINES/paygrade_defs/civilian.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,12 @@
/// SYN, Synthetic
#define PAY_SHORT_SYN "SYN"

/// OPR, Operative
/// OPR, Operator
#define PAY_SHORT_OPR "OPR"

/// CDNM, Operative (intended for codenamed people IE Operative Theta)
#define PAY_SHORT_CDNM "CDNM"

/// CPO, Officer
#define PAY_SHORT_CPO "CPO"

Expand Down
45 changes: 45 additions & 0 deletions code/__DEFINES/paygrade_defs/mercs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// Paygrade shorthand defines, to allow clearer designation.

// MERCENARIES
/// FL-S, Standard
#define PAY_SHORT_FL_S "FL-S"

/// FL-M, Medic
#define PAY_SHORT_FL_M "FL-M"

/// FL-WL, Warlord
#define PAY_SHORT_FL_WL "FL-WL"

/// EFL-S, Elite Standard
#define PAY_SHORT_EFL_S "EFL-S"

/// EFL-M, Elite Medic
#define PAY_SHORT_EFL_M "EFL-M"

/// EFL-E, Elite Engineer
#define PAY_SHORT_EFL_E "EFL-E"

/// EFL-H, Elite Heavy
#define PAY_SHORT_EFL_H "EFL-H"

/// EFL-WL, Elite Warlord
#define PAY_SHORT_EFL_TL "EFL-TL"

// VANGUARD'S ARROW INC
/// VAI-S, Standard
#define PAY_SHORT_VAI_S "VAI-S"

/// VAI-M, Medic
#define PAY_SHORT_VAI_M "VAI-M"

/// VAI-E, Engineer
#define PAY_SHORT_VAI_E "VAI-E"

/// VAI-G, Machinegunner
#define PAY_SHORT_VAI_G "VAI-G"

/// VAI-SN, Synthetic
#define PAY_SHORT_VAI_SN "VAI-SN"

/// VAI-L, Team Leader
#define PAY_SHORT_VAI_L "VAI-L"
6 changes: 6 additions & 0 deletions code/__DEFINES/paygrade_defs/paygrade.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/// Paygrade is equivalent to or is an enlisted position.
#define GRADE_ENLISTED 0
/// Paygrade is equivalent to or is an officer.
#define GRADE_OFFICER 1
/// Paygrade is for high command or senior leadership. Military flag officers.
#define GRADE_FLAG 2
38 changes: 38 additions & 0 deletions code/__DEFINES/paygrade_defs/twe.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Paygrade shorthand defines, to allow clearer designation.

// THREE WORLD EMPIRE
/// RMC1, Heitai-Marine
#define PAY_SHORT_RMC1 "RMC1"

/// RMC2, Santo-Lance Corporal
#define PAY_SHORT_RMC2 "RMC2"

/// RMC3, Nito-Corporal
#define PAY_SHORT_RMC3 "RMC3"

/// RMC4, Itto-Sergeant
#define PAY_SHORT_RMC4 "RMC4"

/// RNOW, Warrant Officer
#define PAY_SHORT_RNOW "RNOW"

/// RNO1, Second Lieutenant
#define PAY_SHORT_RNO1 "RNO1"

/// RNO2, First Lieutenant
#define PAY_SHORT_RNO2 "RNO2"

/// RNO3, Standing Officer
#define PAY_SHORT_RNO3 "RNO3"

/// RNO4, Captain
#define PAY_SHORT_RNO4 "RNO4"

/// RNO5, Admiral
#define PAY_SHORT_RNO5 "RNO5"

/// RNO6, Grand Admiral
#define PAY_SHORT_RNO6 "RNO6"

/// EMP, Emperor
#define PAY_SHORT_EMP "EMP"
48 changes: 47 additions & 1 deletion code/__DEFINES/paygrade_defs/weyland.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Paygrade shorthand defines, to allow clearer designation.

// Weyland Yutani
// Weyland Yutani Corporate
/// WYC1, Trainee
#define PAY_SHORT_WYC1 "WYC1"

Expand Down Expand Up @@ -30,3 +30,49 @@

/// WYC10, Director
#define PAY_SHORT_WYC10 "WYC10"

// Weyland Yutani Private Military
/// PMC-OP, Operator, standard PMC.
#define PAY_SHORT_PMC_OP "PMC-OP"

/// PMC-EN, Enforcer
#define PAY_SHORT_PMC_EN "PMC-EN"

/// PMC-SS, Support Specialist
#define PAY_SHORT_PMC_SS "PMC-SS"

/// PMC-MS, Medical Specialist
#define PAY_SHORT_PMC_MS "PMC-MS"

/// PMC-WS, Weapons Specialist
#define PAY_SHORT_PMC_WS "PMC-WS"

/// PMC-VS, Vehicle Specialist
#define PAY_SHORT_PMC_VS "PMC-VS"

/// PMC-XS, Xeno Specialist (Handler)
#define PAY_SHORT_PMC_XS "PMC-XS"

/// PMC-TL, Team Leader
#define PAY_SHORT_PMC_TL "PMC-TL"

/// PMC-DOC, Trauma Surgeon
#define PAY_SHORT_PMC_DOC "PMC-DOC"

/// PMC-ENG, Technician
#define PAY_SHORT_PMC_TEC "PMC-TEC"

/// PMC-ELR, Elite Responder
#define PAY_SHORT_PMC_ELR "PMC-ELR"

/// PMC-ELM, Elite Medic
#define PAY_SHORT_PMC_ELM "PMC-ELM"

/// PMC-ELG, Elite Gunner
#define PAY_SHORT_PMC_ELG "PMC-ELG"

/// PMC-ETL, Elite Team Leader
#define PAY_SHORT_PMC_ETL "PMC-ETL"

/// PMC-DIR, PMC Director
#define PAY_SHORT_PMC_DIR "PMC-DIR"
4 changes: 2 additions & 2 deletions code/__DEFINES/subsystems.dm
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,13 @@
//! ### SS initialization hints
/**
* Negative values incidate a failure or warning of some kind, positive are good.
* 0 and 1 are unused so that TRUE and FALSE are guarenteed to be invalid values.
* 0 and 1 are unused so that TRUE and FALSE are guaranteed to be invalid values.
*/

/// Subsystem failed to initialize entirely. Print a warning, log, and disable firing.
#define SS_INIT_FAILURE -2

/// The default return value which must be overriden. Will succeed with a warning.
/// The default return value which must be overridden. Will succeed with a warning.
#define SS_INIT_NONE -1

/// Subsystem initialized sucessfully.
Expand Down
Loading

0 comments on commit 5b0150a

Please sign in to comment.