Skip to content

Commit

Permalink
Merge upstream 16.11.24 (#731)
Browse files Browse the repository at this point in the history
## About The Pull Request
Мерге апстрим
  • Loading branch information
larentoun authored Nov 15, 2024
2 parents dab6513 + 72af148 commit f0d5c08
Show file tree
Hide file tree
Showing 79 changed files with 1,043 additions and 474 deletions.
241 changes: 136 additions & 105 deletions _maps/RandomRuins/IceRuins/icemoon_underground_syndidome.dmm

Large diffs are not rendered by default.

83 changes: 50 additions & 33 deletions _maps/map_files/Birdshot/birdshot.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2837,6 +2837,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"bfe" = (
Expand All @@ -2858,6 +2859,7 @@
/obj/structure/disposalpipe/junction/flip{
dir = 8
},
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"bfU" = (
Expand Down Expand Up @@ -6737,6 +6739,7 @@
/area/space/nearstation)
"cCM" = (
/obj/structure/cable,
/obj/structure/sink/kitchen/directional/east,
/turf/open/floor/iron/kitchen/small,
/area/station/service/kitchen)
"cCP" = (
Expand Down Expand Up @@ -10712,15 +10715,12 @@
/turf/open/floor/iron/white,
/area/station/medical/medbay/aft)
"dZa" = (
/obj/structure/table/reinforced,
/obj/machinery/camera/directional/west,
/obj/effect/decal/cleanable/cobweb,
/obj/item/retractor,
/obj/item/hemostat,
/obj/item/cautery,
/obj/machinery/camera/autoname/directional/north,
/obj/structure/sign/poster/official/random/directional/north,
/obj/machinery/status_display/ai/directional/west,
/obj/item/surgery_tray/full/deployed,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
"dZk" = (
Expand Down Expand Up @@ -13995,13 +13995,13 @@
/turf/open/floor/iron/small,
/area/station/security/office)
"fhp" = (
/obj/structure/table,
/obj/effect/spawner/random/food_or_drink/donkpockets{
pixel_y = 6
},
/obj/effect/turf_decal/siding{
dir = 8
},
/obj/structure/table,
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
"fhT" = (
Expand Down Expand Up @@ -14979,6 +14979,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"fyZ" = (
Expand Down Expand Up @@ -15861,6 +15862,7 @@
dir = 1
},
/obj/machinery/power/apc/auto_name/directional/south,
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"fMg" = (
Expand Down Expand Up @@ -17874,10 +17876,6 @@
pixel_y = 8
},
/obj/item/clothing/mask/surgical,
/obj/item/surgical_drapes{
pixel_x = -1;
pixel_y = 4
},
/obj/machinery/status_display/evac/directional/west,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
Expand Down Expand Up @@ -20068,6 +20066,11 @@
name = "Pharmacy Shutters Control";
req_access = list("pharmacy")
},
/obj/item/reagent_containers/cup/bottle/multiver,
/obj/item/reagent_containers/cup/bottle/epinephrine,
/obj/item/reagent_containers/cup/bottle/formaldehyde,
/obj/item/reagent_containers/cup/bottle/acidic_buffer,
/obj/item/reagent_containers/cup/bottle/basic_buffer,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
"hdT" = (
Expand Down Expand Up @@ -24186,6 +24189,7 @@
pixel_y = 18
},
/obj/structure/extinguisher_cabinet/directional/east,
/obj/item/circuitboard/mecha/ripley/main,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
"ivC" = (
Expand Down Expand Up @@ -25595,6 +25599,16 @@
},
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
"iPx" = (
/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{
dir = 1;
filter_type = list(/datum/gas/nitrogen)
},
/obj/effect/turf_decal/bot{
dir = 1
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
"iPy" = (
/obj/structure/cable,
/turf/open/floor/iron,
Expand Down Expand Up @@ -26328,6 +26342,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"jab" = (
Expand Down Expand Up @@ -35514,7 +35529,7 @@
"mae" = (
/obj/structure/cable,
/turf/closed/wall,
/area/station/service/bar)
/area/station/maintenance/central/greater)
"maf" = (
/turf/closed/wall/rust,
/area/station/hallway/primary/fore)
Expand Down Expand Up @@ -40681,6 +40696,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"nSd" = (
Expand Down Expand Up @@ -43687,6 +43703,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"oYj" = (
Expand Down Expand Up @@ -46106,6 +46123,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/hallway/primary/port)
"pOQ" = (
Expand Down Expand Up @@ -51221,10 +51239,10 @@
pixel_y = 2
},
/obj/item/holosign_creator/robot_seat/restaurant,
/obj/structure/table,
/obj/effect/turf_decal/siding{
dir = 9
},
/obj/structure/table,
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
"rya" = (
Expand Down Expand Up @@ -52583,7 +52601,7 @@
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
"rVI" = (
/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{
/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped/inverse{
dir = 8
},
/turf/open/floor/iron,
Expand Down Expand Up @@ -54601,13 +54619,7 @@
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
"sGt" = (
/obj/structure/table/reinforced,
/obj/item/scalpel{
pixel_y = 12
},
/obj/item/blood_filter,
/obj/item/circular_saw,
/obj/item/bonesetter,
/obj/structure/closet/crate/freezer/surplus_limbs,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
"sGE" = (
Expand Down Expand Up @@ -61586,6 +61598,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"uQT" = (
Expand Down Expand Up @@ -62426,15 +62439,12 @@
/turf/open/floor/iron/smooth_large,
/area/station/science/robotics/mechbay)
"vfI" = (
/obj/machinery/microwave{
pixel_y = 5
},
/obj/machinery/light_switch/directional/north,
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/table,
/obj/effect/turf_decal/siding/end,
/obj/machinery/smartfridge/drying,
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
"vfK" = (
Expand Down Expand Up @@ -65162,9 +65172,15 @@
/turf/open/floor/iron/dark,
/area/station/command/corporate_dock)
"vTP" = (
/obj/structure/sink/kitchen/directional/east,
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/kitchen/small,
/obj/structure/table,
/obj/machinery/microwave{
pixel_y = 5
},
/obj/effect/turf_decal/siding/end{
dir = 4
},
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
"vTV" = (
/turf/closed/wall/r_wall,
Expand Down Expand Up @@ -67829,7 +67845,7 @@
/obj/effect/spawner/random/maintenance,
/obj/structure/rack,
/turf/open/floor/plating,
/area/station/service/bar)
/area/station/maintenance/central/greater)
"wKO" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/camera/directional/east,
Expand Down Expand Up @@ -69552,6 +69568,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"xiT" = (
Expand Down Expand Up @@ -90216,7 +90233,7 @@ jNV
guh
cBl
fJe
aJb
iPx
cay
fMB
maK
Expand Down Expand Up @@ -98003,8 +98020,8 @@ xRV
jVM
xjQ
jVM
tGq
tGq
jVM
jVM
xmt
xmt
xmt
Expand Down Expand Up @@ -100316,7 +100333,7 @@ jVM
jVM
jVM
jVM
vkh
jVM
lnD
fzw
bKO
Expand Down Expand Up @@ -101344,7 +101361,7 @@ jgb
hRc
jVM
kXC
vkh
jVM
dxV
jDT
fOq
Expand Down Expand Up @@ -101601,7 +101618,7 @@ vGe
xno
jVM
kXC
vkh
jVM
vkh
kWF
wtw
Expand Down Expand Up @@ -102115,7 +102132,7 @@ xHD
xHD
jVM
jBu
vkh
jVM
vkh
vkh
vkh
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list(
#define ismoth(A) (is_species(A, /datum/species/moth))
#define isfelinid(A) (is_species(A, /datum/species/human/felinid))
#define isethereal(A) (is_species(A, /datum/species/ethereal))
#define isvampire(A) (is_species(A,/datum/species/vampire))
#define isvampire(A) (is_species(A,/datum/species/human/vampire))
#define isdullahan(A) (is_species(A, /datum/species/dullahan))
#define ismonkey(A) (is_species(A, /datum/species/monkey))
#define isandroid(A) (is_species(A, /datum/species/android))
Expand Down
5 changes: 5 additions & 0 deletions code/__DEFINES/tracy.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/// File path used for the "enable tracy next round" functionality
#define TRACY_ENABLE_PATH "data/enable_tracy"

/// The DLL path for byond-tracy.
#define TRACY_DLL_PATH (world.system_type == MS_WINDOWS ? "prof.dll" : "./libprof.so")
6 changes: 6 additions & 0 deletions code/__DEFINES/traits/declarations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_DETECT_STORM "detect_storm"
#define TRAIT_PRIMITIVE "primitive"
#define TRAIT_GUNFLIP "gunflip"
/// eignore blindness or blurriness or nearsightedness
#define TRAIT_SIGHT_BYPASS "perfect_sight"
/// ignore traumas that make you 'hallucinate' something
#define TRAIT_PERCEPTUAL_TRAUMA_BYPASS "trauma_bypass"
/// mob is immune to hallucinations
#define TRAIT_HALLUCINATION_IMMUNE "hallucination_immune"
/// Increases chance of getting special traumas, makes them harder to cure
#define TRAIT_SPECIAL_TRAUMA_BOOST "special_trauma_boost"
#define TRAIT_SPACEWALK "spacewalk"
Expand Down
40 changes: 40 additions & 0 deletions code/__HELPERS/atoms.dm
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,46 @@ rough example of the "cone" made by the 3 dirs checked
loc = loc.loc
return null

/**
* Line of sight check!
* Spawns a dummy object and then iterates through each turf to see if it's blocked by something not handled by pass_args.
* Contains a mid_los_check, meant to be overriden by subtypes.
* args:
* * user = Origin to start at.
* * target = End point.
* * pass_args = pass_flags given to dummy object to allow it to ignore certain types of blockades.
*/
/proc/los_check(atom/movable/user, mob/target, pass_args = PASSTABLE|PASSGLASS|PASSGRILLE, datum/callback/mid_check)
var/turf/user_turf = user.loc
if(!istype(user_turf))
return FALSE
var/obj/dummy = new(user_turf)
dummy.pass_flags |= pass_args //Grille/Glass so it can be used through common windows
var/turf/previous_step = user_turf
var/first_step = TRUE
for(var/turf/next_step as anything in (get_line(user_turf, target) - user_turf))
if(first_step)
for(var/obj/blocker in user_turf)
if(!blocker.density || !(blocker.flags_1 & ON_BORDER_1))
continue
if(blocker.CanPass(dummy, get_dir(user_turf, next_step)))
continue
return FALSE // Could not leave the first turf.
first_step = FALSE
if(next_step.density)
qdel(dummy)
return FALSE
for(var/atom/movable/movable as anything in next_step)
if(!movable.CanPass(dummy, get_dir(next_step, previous_step)))
qdel(dummy)
return FALSE
if(mid_check?.Invoke(user, target, pass_args, next_step, dummy) == FALSE) // specify false as it may return null if there's no check
qdel(dummy)
return FALSE
previous_step = next_step
qdel(dummy)
return TRUE

///Returns true if the src countain the atom target
/atom/proc/contains(atom/target)
if(!target)
Expand Down
Loading

0 comments on commit f0d5c08

Please sign in to comment.