Skip to content

Commit

Permalink
Merge remote-tracking branch 'Aurora/master' into love_symptom_of_the…
Browse files Browse the repository at this point in the history
…_cure
  • Loading branch information
Matt Atlas committed Sep 22, 2023
2 parents ec04b5f + dd62079 commit fbcc26a
Show file tree
Hide file tree
Showing 395 changed files with 4,222 additions and 2,518 deletions.
2 changes: 1 addition & 1 deletion .tgs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
version: 1
# The BYOND version to use (kept in sync with dependencies.sh by the "TGS Test Suite" CI job)
# Must be interpreted as a string, keep quoted
byond: "515.1613"
byond: "515.1614"
# Folders to create in "<instance_path>/Configuration/GameStaticFiles/"
static_files:
# Config directory should be static
Expand Down
16 changes: 12 additions & 4 deletions aurorastation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -1660,10 +1660,11 @@
#include "code\modules\clothing\tail_accessory.dm"
#include "code\modules\clothing\ears\antennae.dm"
#include "code\modules\clothing\ears\bandanna.dm"
#include "code\modules\clothing\ears\bulwark.dm"
#include "code\modules\clothing\ears\earmuffs.dm"
#include "code\modules\clothing\ears\earrings.dm"
#include "code\modules\clothing\ears\skrell.dm"
#include "code\modules\clothing\ears\xeno\bulwark.dm"
#include "code\modules\clothing\ears\xeno\skrell.dm"
#include "code\modules\clothing\ears\xeno\tajara.dm"
#include "code\modules\clothing\factions\dominia.dm"
#include "code\modules\clothing\factions\einstein.dm"
#include "code\modules\clothing\factions\elyra.dm"
Expand Down Expand Up @@ -1720,15 +1721,20 @@
#include "code\modules\clothing\masks\xeno\unathi.dm"
#include "code\modules\clothing\rings\material.dm"
#include "code\modules\clothing\rings\rings.dm"
#include "code\modules\clothing\rings\xeno\tajara.dm"
#include "code\modules\clothing\sets\acting_captain.dm"
#include "code\modules\clothing\sets\captain.dm"
#include "code\modules\clothing\sets\infiltrator.dm"
#include "code\modules\clothing\sets\laser_tag.dm"
#include "code\modules\clothing\sets\xo.dm"
#include "code\modules\clothing\shoes\colour.dm"
#include "code\modules\clothing\shoes\jobs.dm"
#include "code\modules\clothing\shoes\boots.dm"
#include "code\modules\clothing\shoes\cowboy.dm"
#include "code\modules\clothing\shoes\magboots.dm"
#include "code\modules\clothing\shoes\miscellaneous.dm"
#include "code\modules\clothing\shoes\oxfords.dm"
#include "code\modules\clothing\shoes\sandals.dm"
#include "code\modules\clothing\shoes\slippers.dm"
#include "code\modules\clothing\shoes\sneakers.dm"
#include "code\modules\clothing\shoes\xeno\tajara.dm"
#include "code\modules\clothing\shoes\xeno\vaurca.dm"
#include "code\modules\clothing\spacesuits\breaches.dm"
Expand Down Expand Up @@ -1817,6 +1823,7 @@
#include "code\modules\clothing\under\xenos\vaurca.dm"
#include "code\modules\clothing\wrists\watches.dm"
#include "code\modules\clothing\wrists\wrists.dm"
#include "code\modules\clothing\wrists\xeno\tajara.dm"
#include "code\modules\clothing\wrists\xeno\unathi.dm"
#include "code\modules\compass\_compass.dm"
#include "code\modules\compass\compass_holder.dm"
Expand Down Expand Up @@ -3313,6 +3320,7 @@
#include "code\modules\tgui\status_composers.dm"
#include "code\modules\tgui\tgui.dm"
#include "code\modules\tgui\tgui_window.dm"
#include "code\modules\tgui\modules\flavor_text.dm"
#include "code\modules\tgui\states\admin.dm"
#include "code\modules\tgui\states\always.dm"
#include "code\modules\tgui\states\conscious.dm"
Expand Down
56 changes: 55 additions & 1 deletion code/___linters/spaceman_dmm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,71 @@

// The SPACEMAN_DMM define is set by the linter and other tooling when it runs.
#ifdef SPACEMAN_DMM
/**
* Sets a return type expression for a proc. The return type can take the forms:
* `/typepath` - a raw typepath. The return type of the proc is the type named.
* `param` - a typepath given as a parameter, for procs which return an instance of the passed-in type.
* `param.type` - the static type of a passed-in parameter, for procs which
* return their input or otherwise another value of the same type.
* `param[_].type` - the static type of a passed-in parameter, with one level
* of `/list` stripped, for procs which select one item from a list. The `[_]`
* may be repeated to strip more levels of `/list`.
*/
#define RETURN_TYPE(X) set SpacemanDMM_return_type = X

/**
* If set, will enable a diagnostic on children of the proc it is set on which do
* not contain any `..()` parent calls. This can help with finding situations
* where a signal or other important handling in the parent proc is being skipped.
* Child procs may set this setting to `0` instead to override the check.
*/
#define SHOULD_CALL_PARENT(X) set SpacemanDMM_should_call_parent = X
#define UNLINT(X) SpacemanDMM_unlint(X)

/**
* If set, raise a warning for any child procs that override this one,
* regardless of if it calls parent or not.
* This functions in a similar way to the `final` keyword in some languages.
* This cannot be disabled by child overrides.
*/
#define SHOULD_NOT_OVERRIDE(X) set SpacemanDMM_should_not_override = X

/**
* If set, raise a warning if the proc or one of the sub-procs it calls
* uses a blocking call, such as `sleep()` or `input()` without using `set waitfor = 0`
* This cannot be disabled by child overrides.
*/
#define SHOULD_NOT_SLEEP(X) set SpacemanDMM_should_not_sleep = X

/**
* If set, ensure a proc is 'pure', such that it does not make any changes
* outside itself or output. This also checks to make sure anything using
* this proc doesn't invoke it without making use of the return value.
* This cannot be disabled by child overrides.
*/
#define SHOULD_BE_PURE(X) set SpacemanDMM_should_be_pure = X

///Private procs can only be called by things of exactly the same type.
#define PRIVATE_PROC(X) set SpacemanDMM_private_proc = X

///Protected procs can only be call by things of the same type *or subtypes*.
#define PROTECTED_PROC(X) set SpacemanDMM_protected_proc = X

///If wrapped in this, will not lint.
#define UNLINT(X) SpacemanDMM_unlint(X)

///If set, overriding their value isn't permitted by types that inherit it.
#define VAR_FINAL var/SpacemanDMM_final

///Private vars can only be called by things of exactly the same type.
#define VAR_PRIVATE var/SpacemanDMM_private

///Protected vars can only be called by things of the same type *or subtypes*.
#define VAR_PROTECTED var/SpacemanDMM_protected

#else
#define RETURN_TYPE(X)
#define SHOULD_CALL_PARENT(X)
Expand Down
60 changes: 47 additions & 13 deletions code/__defines/byond_compat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,51 @@

// So we want to have compile time guarantees these procs exist on local type, unfortunately 515 killed the .proc/procname syntax so we have to use nameof()
#if DM_VERSION < 515
/// Call by name proc reference, checks if the proc exists on this type or as a global proc
#define PROC_REF(X) (.proc/##X)
/// Call by name proc reference, checks if the proc exists on given type or as a global proc
#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X)
/// Call by name proc reference, checks if the proc is existing global proc
#define GLOBAL_PROC_REF(X) (/proc/##X)

/**
* Call by name proc reference, checks if the proc exists on this type or as a global proc
*
* * X - The proc name
*/
#define PROC_REF(X) (.proc/##X)

/**
* Call by name proc reference, checks if the proc exists on given type or as a global proc
*
* * TYPE - The type (eg. `/datum/something` or `/atom`), without trailing slash
* * X - The proc name
*/
#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X)

/**
* Call by name proc reference, checks if the proc is existing global proc
*
* * X - The proc name
*/
#define GLOBAL_PROC_REF(X) (/proc/##X)

#else
/// Call by name proc reference, checks if the proc exists on this type or as a global proc
#define PROC_REF(X) (nameof(.proc/##X))
/// Call by name proc reference, checks if the proc exists on given type or as a global proc
#define TYPE_PROC_REF(TYPE, X) (nameof(##TYPE.proc/##X))
/// Call by name proc reference, checks if the proc is existing global proc
#define GLOBAL_PROC_REF(X) (/proc/##X)
#endif

/**
* Call by name proc reference, checks if the proc exists on this type or as a global proc
*
* * X - The proc name
*/
#define PROC_REF(X) (nameof(.proc/##X))

/**
* Call by name proc reference, checks if the proc exists on given type or as a global proc
*
* * TYPE - The type (eg. `/datum/something` or `/atom`), without trailing slash
* * X - The proc name
*/
#define TYPE_PROC_REF(TYPE, X) (nameof(##TYPE.proc/##X))

/**
* Call by name proc reference, checks if the proc is existing global proc
*
* * X - The proc name
*/
#define GLOBAL_PROC_REF(X) (/proc/##X)

#endif
1 change: 1 addition & 0 deletions code/__defines/callback.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
#define CALLBACK new /datum/callback

#define INVOKE_ASYNC ImmediateInvokeAsync
2 changes: 1 addition & 1 deletion code/__defines/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@
#define INV_R_HAND_DEF_ICON 'icons/mob/items/righthand.dmi'
#define INV_W_UNIFORM_DEF_ICON 'icons/mob/uniform.dmi'
#define INV_ACCESSORIES_DEF_ICON 'icons/mob/ties.dmi'
#define INV_BELT_DEF_ICON 'icons/mob/belt.dmi'
#define INV_BELT_DEF_ICON 'icons/mob/belt.dmi'
#define INV_SUIT_DEF_ICON 'icons/mob/suit.dmi'
#define INV_L_EAR_DEF_ICON 'icons/mob/l_ear.dmi'
#define INV_R_EAR_DEF_ICON 'icons/mob/r_ear.dmi'
Expand Down
3 changes: 2 additions & 1 deletion code/controllers/subsystems/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@
BITSET(H.hud_updateflag, IMPLOYAL_HUD)
BITSET(H.hud_updateflag, SPECIALROLE_HUD)

INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(show_location_blurb), H.client, 30)
INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(show_location_blurb), H.client, 10 SECONDS)

if(spawning_at == "Arrivals Shuttle")
to_chat(H, "<b>[current_map.command_spawn_message]</b>")
Expand Down Expand Up @@ -852,6 +852,7 @@
text = uppertext(text)

var/obj/effect/overlay/T = new()
T.icon_state = "nothing"
T.maptext_height = 64
T.maptext_width = 512
T.layer = SCREEN_LAYER+1
Expand Down
4 changes: 4 additions & 0 deletions code/controllers/subsystems/lighting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ var/datum/controller/subsystem/lighting/SSlighting

while (lq_idex <= curr_lights.len)
var/datum/light_source/L = curr_lights[lq_idex++]
if(QDELETED(L))
continue

if (L.needs_update != LIGHTING_NO_UPDATE)
total_ss_updates += 1
Expand All @@ -154,6 +156,8 @@ var/datum/controller/subsystem/lighting/SSlighting

while (cq_idex <= curr_corners.len)
var/datum/lighting_corner/C = curr_corners[cq_idex++]
if(QDELETED(C))
continue

if (C.needs_update)
C.update_overlays()
Expand Down
3 changes: 3 additions & 0 deletions code/controllers/subsystems/typing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,9 @@ Updated 09/10/2022 to include chatbar using Spookerton's SStyping system from Po
if(!ismovable(master))
stack_trace("Typing indicator initialized with [isnull(master) ? "null" : master] as master.")
return INITIALIZE_HINT_QDEL
if(ismob(master))
var/mob/mob = master
mob.adjust_typing_indicator_offsets(src)

/atom/movable/typing_indicator/Destroy()
if(master)
Expand Down
9 changes: 9 additions & 0 deletions code/datums/callback.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@
if (length(args) > 2)
arguments = args.Copy(3)

/**
* Runs a function asynchronously, setting the waitfor to zero
*
* In case of sleeps, the parent proc (aka where you call this) will continue its processing while the called proc sleeps
*
* * thingtocall - The object whose function is to be called on, will be set as `src` in said function, or `GLOBAL_PROC` if the proc is a global one
* * proctocall - The process to call, use `PROC_REF`, `TYPE_PROC_REF` or `GLOBAL_PROC_REF` according to your use case. Defines in code\__defines\byond_compat.dm
* * ... - Parameters to pass to said proc (VARIPARAM)
*/
/proc/ImmediateInvokeAsync(thingtocall, proctocall, ...)
set waitfor = FALSE

Expand Down
6 changes: 3 additions & 3 deletions code/datums/outfits/ert/ap_eridani.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
suit = /obj/item/clothing/suit/space/void/cruiser
head = /obj/item/clothing/head/helmet/space/void/cruiser
mask = /obj/item/clothing/mask/gas/tactical
shoes = /obj/item/clothing/shoes/swat/ert
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
glasses = /obj/item/clothing/glasses/sunglasses
suit_store = /obj/item/gun/energy/rifle
Expand Down Expand Up @@ -91,7 +91,7 @@
head = /obj/item/clothing/head/beret/corporate/pmc/epmc
mask = /obj/item/clothing/mask/surgical
glasses = /obj/item/clothing/glasses/hud/health/aviator
shoes = /obj/item/clothing/shoes/swat/ert
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/latex/nitrile
belt = /obj/item/storage/belt/medical/first_responder/combat
back = /obj/item/storage/backpack/satchel/med
Expand Down Expand Up @@ -136,7 +136,7 @@
mask = /obj/item/clothing/mask/surgical
glasses = /obj/item/clothing/glasses/hud/health/aviator
gloves = /obj/item/clothing/gloves/latex/nitrile
shoes = /obj/item/clothing/shoes/swat/ert
shoes = /obj/item/clothing/shoes/combat
back = /obj/item/storage/backpack/messenger/med
belt = /obj/item/storage/belt/medical/first_responder/combat
accessory = /obj/item/clothing/accessory/holster/thigh
Expand Down
2 changes: 1 addition & 1 deletion code/datums/outfits/ert/elyra.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
head = null
suit = null
gloves = null
shoes = /obj/item/clothing/shoes/swat
shoes = /obj/item/clothing/shoes/combat
mask = /obj/item/clothing/mask/gas/tactical
back = /obj/item/rig/elyran
l_pocket = /obj/item/plastique
Expand Down
2 changes: 1 addition & 1 deletion code/datums/outfits/ert/fsf.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "Free Solarian Fleets Marine"

uniform = /obj/item/clothing/under/rank/sol/marine
shoes = /obj/item/clothing/shoes/swat/ert
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/swat/ert
belt = /obj/item/storage/belt/military
back = /obj/item/storage/backpack/satchel/leather
Expand Down
2 changes: 1 addition & 1 deletion code/datums/outfits/ert/iac.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
head = /obj/item/clothing/head/softcap/iac
mask = /obj/item/clothing/mask/surgical
glasses = /obj/item/clothing/glasses/hud/health/aviator
shoes = /obj/item/clothing/shoes/iac
shoes = /obj/item/clothing/shoes/sneakers/medsci/pmc
gloves = /obj/item/clothing/gloves/white
belt = /obj/item/storage/belt/medical
back = /obj/item/storage/backpack/satchel/med
Expand Down
2 changes: 1 addition & 1 deletion code/datums/outfits/ert/kataphract.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
suit = /obj/item/clothing/suit/space/void/kataphract
suit_store = /obj/item/tank/oxygen/brown
belt = /obj/item/melee/energy/sword/hegemony
shoes = /obj/item/clothing/shoes/caligae/grey
shoes = /obj/item/clothing/shoes/sandals/caligae/socks
accessory = /obj/item/clothing/accessory/holster/thigh
accessory_contents = list(/obj/item/gun/energy/pistol/hegemony = 1)
gloves = /obj/item/clothing/gloves/black/unathi
Expand Down
2 changes: 1 addition & 1 deletion code/datums/outfits/ert/mercenary.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "Mercenary Freelancer"

uniform = /obj/item/clothing/under/syndicate
shoes = /obj/item/clothing/shoes/swat/ert
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/swat/ert
belt = /obj/item/storage/belt/military
back = /obj/item/storage/backpack/satchel
Expand Down
4 changes: 2 additions & 2 deletions code/datums/outfits/ert/nt_ert.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
suit = null
suit_store = null
belt = /obj/item/storage/belt/military
shoes = /obj/item/clothing/shoes/swat
shoes = /obj/item/clothing/shoes/combat
accessory = /obj/item/clothing/accessory/storage/black_vest
gloves = null
id = /obj/item/card/id/ert
Expand Down Expand Up @@ -45,7 +45,7 @@
/obj/item/reagent_containers/glass/bottle/dexalin_plus = 1,
/obj/item/reagent_containers/glass/bottle/butazoline = 1,
/obj/item/reagent_containers/glass/bottle/dermaline = 1,
/obj/item/reagent_containers/glass/bottle/perconol = 1
/obj/item/reagent_containers/glass/bottle/perconol = 1
)

/datum/outfit/admin/ert/nanotrasen/leader
Expand Down
2 changes: 1 addition & 1 deletion code/datums/outfits/ert/scc_ert.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

uniform = /obj/item/clothing/under/rank/security
belt = /obj/item/storage/belt/military
shoes = /obj/item/clothing/shoes/swat
shoes = /obj/item/clothing/shoes/combat
accessory = /obj/item/clothing/accessory/storage/black_vest
id = /obj/item/card/id/ert/scc
back = /obj/item/rig/ert/scc/security
Expand Down
2 changes: 1 addition & 1 deletion code/datums/outfits/ert/tcfl.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
head = /obj/item/clothing/head/beret/legion/field
uniform = /obj/item/clothing/under/legion
l_ear = /obj/item/device/radio/headset/legion
shoes = /obj/item/clothing/shoes/swat/ert
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/swat/ert
glasses = /obj/item/clothing/glasses/sunglasses/aviator
back = /obj/item/storage/backpack/legion
Expand Down
Loading

0 comments on commit fbcc26a

Please sign in to comment.