Skip to content

Commit

Permalink
Merge branch 'master220' into NIA
Browse files Browse the repository at this point in the history
  • Loading branch information
ROdenFL authored Dec 4, 2023
2 parents c6126b4 + 260b9a9 commit 56cd877
Show file tree
Hide file tree
Showing 232 changed files with 5,554 additions and 1,692 deletions.
2 changes: 1 addition & 1 deletion _build_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# For dreamchecker
export SPACEMANDMM_TAG=suite-1.7.1
# For TGUI
export NODE_VERSION=16
export NODE_VERSION=18
# Stable Byond Major
export STABLE_BYOND_MAJOR=514
# Stable Byond Minor
Expand Down
62 changes: 37 additions & 25 deletions _maps/map_files/generic/CentComm.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -6102,10 +6102,13 @@
},
/area/centcom/zone1)
"daj" = (
/obj/structure/chair/sofa{
dir = 4
/obj/structure/closet/fireaxecabinet{
pixel_y = 32
},
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "darkblue"
},
/turf/simulated/floor/carpet/red,
/area/centcom/zone1)
"daD" = (
/obj/item/twohanded/required/kirbyplants{
Expand Down Expand Up @@ -6173,6 +6176,12 @@
/obj/item/kitchen/knife,
/turf/simulated/floor/carpet/black,
/area/trader_station/sol)
"ddZ" = (
/obj/structure/chair/sofa/left{
dir = 8
},
/turf/simulated/floor/carpet/red,
/area/centcom/zone1)
"def" = (
/obj/structure/window/reinforced{
dir = 1;
Expand Down Expand Up @@ -6701,6 +6710,15 @@
},
/turf/simulated/floor/indestructible/beach/water/deep/dense,
/area/ninja/outside)
"dvw" = (
/obj/structure/closet/medical_wall{
pixel_y = 32
},
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "darkblue"
},
/area/centcom/zone1)
"dvz" = (
/obj/structure/bookcase/manuals,
/obj/item/book/manual/security_space_law{
Expand Down Expand Up @@ -8322,8 +8340,8 @@
},
/area/syndicate_mothership/control)
"elD" = (
/obj/structure/chair/sofa{
dir = 5
/obj/structure/chair/sofa/right{
dir = 1
},
/turf/simulated/floor/carpet/red,
/area/centcom/zone1)
Expand Down Expand Up @@ -30851,7 +30869,7 @@
/obj/structure/sign/poster/official/religious{
pixel_y = -32
},
/obj/structure/chair/sofa{
/obj/structure/chair/sofa/left{
dir = 1
},
/turf/simulated/floor/carpet/red,
Expand Down Expand Up @@ -33946,7 +33964,7 @@
/obj/machinery/light/small{
dir = 1
},
/obj/structure/chair/sofa,
/obj/structure/chair/sofa/right,
/turf/simulated/floor/carpet/red,
/area/centcom/zone1)
"qIk" = (
Expand Down Expand Up @@ -34308,9 +34326,6 @@
/area/syndicate_mothership/elite_squad)
"qQT" = (
/obj/machinery/vending/snack,
/obj/structure/closet/hydrant{
pixel_y = 32
},
/turf/simulated/floor/wood,
/area/centcom/zone1)
"qRs" = (
Expand Down Expand Up @@ -39558,9 +39573,6 @@
/area/shuttle/ninja)
"tmi" = (
/obj/machinery/vending/cigarette,
/obj/structure/closet/fireaxecabinet{
pixel_y = 32
},
/obj/machinery/light{
dir = 1
},
Expand Down Expand Up @@ -43204,9 +43216,6 @@
},
/area/centcom/zone2)
"uRM" = (
/obj/structure/closet/secure_closet/bar{
req_access = null
},
/obj/item/storage/box/beakers/bluespace,
/obj/item/storage/box/drinkingglasses,
/obj/item/storage/box/drinkingglasses,
Expand All @@ -43219,6 +43228,7 @@
/obj/item/storage/box/drinkingglasses,
/obj/item/storage/box/drinkingglasses,
/obj/item/reagent_containers/iv_bag/bloodsynthetic/oxygenis,
/obj/structure/closet/secure_closet/bar,
/turf/simulated/floor/wood,
/area/centcom/zone1)
"uSa" = (
Expand Down Expand Up @@ -45554,11 +45564,13 @@
},
/area/syndicate_mothership/cargo)
"vYj" = (
/obj/machinery/vending/cola/free,
/obj/structure/closet/medical_wall{
/obj/structure/closet/hydrant{
pixel_y = 32
},
/turf/simulated/floor/wood,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "darkblue"
},
/area/centcom/zone1)
"vYs" = (
/obj/effect/turf_decal/stripes/line,
Expand Down Expand Up @@ -99117,7 +99129,7 @@ dsj
ueb
ihM
onc
vYj
frx
bBI
eNm
ePS
Expand Down Expand Up @@ -100403,7 +100415,7 @@ tak
onc
onc
onc
kAE
dvw
tak
nxD
nxD
Expand Down Expand Up @@ -101431,7 +101443,7 @@ onc
onc
onc
onc
kAE
daj
tak
xSv
wUF
Expand Down Expand Up @@ -103230,7 +103242,7 @@ onc
onc
onc
onc
kAE
vYj
ekH
onc
onc
Expand Down Expand Up @@ -104251,7 +104263,7 @@ cKy
kcU
siO
kcU
daj
kcU
elD
onc
kAE
Expand Down Expand Up @@ -105535,7 +105547,7 @@ onc
eXF
awg
awg
awg
ddZ
kcU
onc
onc
Expand Down
5 changes: 4 additions & 1 deletion code/__DEFINES/sound.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,14 @@
#define CHANNEL_TTS_RADIO 1013
#define CHANNEL_RADIO_NOISE 1012 // radio headset noise
#define CHANNEL_BOSS_MUSIC 1011
#define CHANNEL_INTERACTION_SOUNDS 1010 // item pickup/equip/drop sounds

#define USER_VOLUME(M, C) M?.client?.prefs.get_channel_volume(C)

//THIS SHOULD ALWAYS BE THE LOWEST ONE!
//KEEP IT UPDATED

#define CHANNEL_HIGHEST_AVAILABLE 1010
#define CHANNEL_HIGHEST_AVAILABLE 1009

#define MAX_INSTRUMENT_CHANNELS (128 * 6)

Expand Down
1 change: 1 addition & 0 deletions code/__HELPERS/lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -788,6 +788,7 @@ proc/dd_sortedObjectList(list/incoming)
#define UNSETEMPTY(L) if (L && !L.len) L = null
#define LAZYREMOVE(L, I) if(L) { L -= I; if(!L.len) { L = null; } }
#define LAZYADD(L, I) if(!L) { L = list(); } L += I;
/// Adds I to L, initializing L if necessary, if I is not already in L
#define LAZYADDOR(L, I) if(!L) { L = list(); } L |= I;
#define LAZYACCESS(L, I) (L ? (isnum(I) ? (I > 0 && I <= L.len ? L[I] : null) : L[I]) : null)
#define LAZYLEN(L) length(L) // Despite how pointless this looks, it's still needed in order to convey that the list is specificially a 'Lazy' list.
Expand Down
71 changes: 20 additions & 51 deletions code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -804,7 +804,7 @@ Returns 1 if the chain up to the area contains the given typepath



/proc/DuplicateObject(obj/original, var/perfectcopy = 0 , var/sameloc = 0, var/atom/newloc = null)
/proc/DuplicateObject(obj/original, perfectcopy = FALSE , sameloc = FALSE, atom/newloc = null)
if(!original)
return null

Expand All @@ -816,8 +816,8 @@ Returns 1 if the chain up to the area contains the given typepath
O=new original.type(newloc)

if(perfectcopy)
if((O) && (original))
var/static/list/forbidden_vars = list("type","loc","locs","vars", "parent","parent_type", "verbs","ckey","key","power_supply","contents","reagents","stat","x","y","z","group")
if(O)
var/static/list/forbidden_vars = list("type","loc","locs","vars", "parent","parent_type", "verbs","ckey","key","power_supply","contents","reagents","stat","x","y","z","group", "comp_lookup", "datum_components")

for(var/V in original.vars - forbidden_vars)
if(istype(original.vars[V],/list))
Expand All @@ -831,29 +831,34 @@ Returns 1 if the chain up to the area contains the given typepath
O.update_icon()
return O

/area/proc/copy_contents_to(var/area/A , var/platingRequired = 0 )
/area/proc/copy_contents_to(area/A , platingRequired = FALSE, perfect_copy = TRUE)
//Takes: Area. Optional: If it should copy to areas that don't have plating
//Returns: Nothing.
//Notes: Attempts to move the contents of one area to another area.
// Movement based on lower left corner. Tiles that do not fit
// into the new area will not be moved.

if(!A || !src) return 0
if(!A || !src)
return FALSE

var/list/turfs_src = get_area_turfs(src.type)
var/list/turfs_trg = get_area_turfs(A.type)

var/src_min_x = 0
var/src_min_y = 0
for(var/turf/T in turfs_src)
if(T.x < src_min_x || !src_min_x) src_min_x = T.x
if(T.y < src_min_y || !src_min_y) src_min_y = T.y
if(T.x < src_min_x || !src_min_x)
src_min_x = T.x
if(T.y < src_min_y || !src_min_y)
src_min_y = T.y

var/trg_min_x = 0
var/trg_min_y = 0
for(var/turf/T in turfs_trg)
if(T.x < trg_min_x || !trg_min_x) trg_min_x = T.x
if(T.y < trg_min_y || !trg_min_y) trg_min_y = T.y
if(T.x < trg_min_x || !trg_min_x)
trg_min_x = T.x
if(T.y < trg_min_y || !trg_min_y)
trg_min_y = T.y

var/list/refined_src = new/list()
for(var/turf/T in turfs_src)
Expand Down Expand Up @@ -882,68 +887,30 @@ Returns 1 if the chain up to the area contains the given typepath
for(var/turf/B in refined_trg)
var/datum/coords/C_trg = refined_trg[B]
if(C_src.x_pos == C_trg.x_pos && C_src.y_pos == C_trg.y_pos)

var/old_dir1 = T.dir
var/old_icon_state1 = T.icon_state
var/old_icon1 = T.icon

if(platingRequired)
if(istype(B, /turf/space))
if(isspaceturf(B))
continue moving

var/turf/X = new T.type(B)
X.dir = old_dir1
X.icon_state = old_icon_state1
X.icon = old_icon1 //Shuttle floors are in shuttle.dmi while the defaults are floors.dmi


var/list/objs = new/list()
var/list/newobjs = new/list()
var/list/mobs = new/list()
var/list/newmobs = new/list()

for(var/obj/O in T)

if(!istype(O,/obj))
continue

objs += O


for(var/obj/O in objs)
newobjs += DuplicateObject(O , 1)


for(var/obj/O in newobjs)
O.loc = X
copiedobjs += DuplicateObject(O, perfect_copy, newloc = X)

for(var/mob/M in T)

if(!M.move_on_shuttle)
continue
mobs += M

for(var/mob/M in mobs)
newmobs += DuplicateObject(M , 1)

for(var/mob/M in newmobs)
M.loc = X

copiedobjs += newobjs
copiedobjs += newmobs


copiedobjs += DuplicateObject(M, perfect_copy, newloc = X)

for(var/V in T.vars)
if(!(V in list("type","loc","locs","vars", "parent", "parent_type","verbs","ckey","key","x","y","z","contents", "luminosity", "group")))
if(!(V in list("type","loc","locs","vars", "parent", "parent_type","verbs","ckey","key","x","y","z","destination_z", "destination_x", "destination_y","contents", "luminosity", "group")))
X.vars[V] = T.vars[V]

// var/area/AR = X.loc

// if(AR.lighting_use_dynamic)
// X.opacity = !X.opacity
// X.sd_set_opacity(!X.opacity) //TODO: rewrite this code so it's not messed by lighting ~Carn

toupdate += X

refined_src -= T
Expand Down Expand Up @@ -2069,6 +2036,8 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
return "TTS Radio"
if(CHANNEL_RADIO_NOISE)
return "Radio Noise"
if(CHANNEL_INTERACTION_SOUNDS)
return "Item Interaction Sounds"
if(CHANNEL_BOSS_MUSIC)
return "Boss Music"

Expand Down
5 changes: 5 additions & 0 deletions code/_globalvars/lists/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,10 @@ GLOBAL_LIST_EMPTY(geoip_ckey_updated)

GLOBAL_LIST_INIT(all_taipan_jobs, list(TAIPAN_SCIENTIST,TAIPAN_MEDIC,TAIPAN_BOTANIST,TAIPAN_CARGO,TAIPAN_CHEF,TAIPAN_ENGINEER,TAIPAN_COMMS,TAIPAN_RD,CYBORG))

/// List of looping sounds
GLOBAL_LIST_EMPTY(looping_sounds)


/// List of ckeys that have seen a blurb of a given key.
GLOBAL_LIST_EMPTY(blurb_witnesses)

8 changes: 4 additions & 4 deletions code/datums/diseases/_MobProcs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,13 @@
var/permeability_mod = clamp((2 - V.permeability_mod), 0.1, 1)
var/mask_protection_mod = 1
if(wear_mask && (wear_mask.flags_cover & MASKCOVERSMOUTH))
mask_protection_mod = 0.3
mask_protection_mod = 0.5
if(istype(wear_mask, /obj/item/clothing/mask/breath))
mask_protection_mod = 0.4
mask_protection_mod = 0.7
if(istype(wear_mask, /obj/item/clothing/mask/gas))
mask_protection_mod = 0.6
if(istype(wear_mask, /obj/item/clothing/mask/surgical) || istype(wear_mask, /obj/item/clothing/mask/breath/medical))
mask_protection_mod = 0.9
if(istype(wear_mask, /obj/item/clothing/mask/surgical) || istype(wear_mask, /obj/item/clothing/mask/breath/medical))
mask_protection_mod = 0.99

if(prob(100 * permeability_mod * internals_mod * mask_protection_mod))
return TRUE
Expand Down
Loading

0 comments on commit 56cd877

Please sign in to comment.