Skip to content

Commit 8021e45

Browse files
Merge branch 'master' into fixes-rgb-lighting
2 parents 5142b0a + 0f0a0db commit 8021e45

172 files changed

Lines changed: 1926 additions & 972 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

_maps/map_files/stations/emeraldstation.dmm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96809,7 +96809,7 @@
9680996809
/obj/structure/flora/ausbushes/fullgrass,
9681096810
/obj/structure/flora/ausbushes/grassybush,
9681196811
/obj/structure/railing,
96812-
/mob/living/simple_animal/deer{
96812+
/mob/living/basic/deer{
9681396813
name = "Reed"
9681496814
},
9681596815
/turf/simulated/floor/grass,

_maps/map_files/stations/metastation.dmm

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20361,10 +20361,10 @@
2036120361
/area/station/engineering/engine_foyer)
2036220362
"bCk" = (
2036320363
/obj/structure/table/wood,
20364-
/obj/item/nullrod/fedora,
2036520364
/obj/machinery/atmospherics/unary/vent_scrubber/on{
2036620365
dir = 4
2036720366
},
20367+
/obj/item/clothing/head/fedora,
2036820368
/turf/simulated/floor/wood,
2036920369
/area/station/service/bar)
2037020370
"bCl" = (
@@ -32994,19 +32994,6 @@
3299432994
},
3299532995
/turf/simulated/floor/plating,
3299632996
/area/station/maintenance/medmaint)
32997-
"cDY" = (
32998-
/obj/structure/table/glass,
32999-
/obj/item/reagent_containers/glass/bottle/morphine{
33000-
pixel_y = 5
33001-
},
33002-
/obj/item/clothing/glasses/hud/health,
33003-
/obj/machinery/camera{
33004-
dir = 9;
33005-
c_tag = "Chief Medical Officer's Office"
33006-
},
33007-
/obj/machinery/newscaster/directional/east,
33008-
/turf/simulated/floor/carpet/blue,
33009-
/area/station/command/office/cmo)
3301032997
"cEd" = (
3301132998
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
3301232999
dir = 4
@@ -61478,6 +61465,23 @@
6147861465
icon_state = "white"
6147961466
},
6148061467
/area/station/medical/surgery/primary)
61468+
"mTF" = (
61469+
/obj/structure/table/glass,
61470+
/obj/machinery/camera{
61471+
dir = 9;
61472+
c_tag = "Chief Medical Officer's Office"
61473+
},
61474+
/obj/machinery/newscaster/directional/east,
61475+
/obj/item/storage/box/monkeycubes{
61476+
pixel_x = 6;
61477+
pixel_y = 4
61478+
},
61479+
/obj/item/reagent_containers/glass/bottle/morphine{
61480+
pixel_y = 5
61481+
},
61482+
/obj/item/clothing/glasses/hud/health,
61483+
/turf/simulated/floor/carpet/blue,
61484+
/area/station/command/office/cmo)
6148161485
"mUd" = (
6148261486
/obj/effect/turf_decal/stripes/line,
6148361487
/turf/simulated/floor/plating,
@@ -75838,6 +75842,7 @@
7583875842
/obj/machinery/light/small{
7583975843
dir = 1
7584075844
},
75845+
/obj/item/food/monkeycube,
7584175846
/turf/simulated/floor/grass/no_creep,
7584275847
/area/station/maintenance/medmaint)
7584375848
"sXZ" = (
@@ -112035,7 +112040,7 @@ cvo
112035112040
cvo
112036112041
ifr
112037112042
dUb
112038-
cDY
112043+
mTF
112039112044
jJo
112040112045
coE
112041112046
cAT

code/__DEFINES/ai/blackboard_defines.dm

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@
4242
///List of mobs who have damaged us
4343
#define BB_BASIC_MOB_RETALIATE_LIST "BB_basic_mob_shitlist"
4444

45+
//Hunting BB keys
46+
47+
/// Key that holds our current hunting target
48+
#define BB_CURRENT_HUNTING_TARGET "BB_current_hunting_target"
49+
/// Key that holds our less priority hunting target
50+
#define BB_LOW_PRIORITY_HUNTING_TARGET "BB_low_priority_hunting_target"
51+
/// Key that holds the cooldown for our hunting subtree
52+
#define BB_HUNTING_COOLDOWN(type) "BB_HUNTING_COOLDOWN_[type]"
53+
4554
// Food and eating
4655

4756
/// list of foods this mob likes
@@ -62,6 +71,17 @@
6271
/// the motherfucker who tipped us
6372
#define BB_BASIC_MOB_TIPPER "BB_basic_tip_tipper"
6473

74+
/// Is there something that scared us into being stationary? If so, hold the reference here
75+
#define BB_STATIONARY_CAUSE "BB_thing_that_made_us_stationary"
76+
///How long should we remain stationary for?
77+
#define BB_STATIONARY_SECONDS "BB_stationary_time_in_seconds"
78+
///Should we move towards the target that triggered us to be stationary?
79+
#define BB_STATIONARY_MOVE_TO_TARGET "BB_stationary_move_to_target"
80+
/// What targets will trigger us to be stationary? Must be a list.
81+
#define BB_STATIONARY_TARGETS "BB_stationary_targets"
82+
/// How often can we get spooked by a target?
83+
#define BB_STATIONARY_COOLDOWN "BB_stationary_cooldown"
84+
6585
// Misc
6686

6787
/// For /datum/ai_behavior/find_potential_targets, what if any field are we using currently
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//deer
2+
3+
/// Our water target
4+
#define BB_DEER_WATER_TARGET "deer_water_target"
5+
/// Our grass target
6+
#define BB_DEER_GRASS_TARGET "deer_grass_target"
7+
/// Our tree target
8+
#define BB_DEER_TREE_TARGET "deer_tree_target"
9+
/// Our temporary playmate
10+
#define BB_DEER_PLAYFRIEND "deer_playfriend"
11+
/// Our home target
12+
#define BB_DEER_TREEHOME "deer_home"
13+
/// Our resting duration
14+
#define BB_DEER_RESTING "deer_resting"
15+
/// Time till our next rest duration
16+
#define BB_DEER_NEXT_REST_TIMER "deer_next_rest_timer"

code/__DEFINES/chat.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#define MESSAGE_TYPE_ADMINCHAT "adminchat"
2222
#define MESSAGE_TYPE_MENTORCHAT "mentorchat"
2323
#define MESSAGE_TYPE_DEVCHAT "devchat"
24+
#define MESSAGE_TYPE_STAFFCHAT "staffchat"
2425
#define MESSAGE_TYPE_EVENTCHAT "eventchat"
2526
#define MESSAGE_TYPE_ADMINLOG "adminlog"
2627
#define MESSAGE_TYPE_ATTACKLOG "attacklog"

code/__DEFINES/misc_defines.dm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,7 @@
435435
#define INVESTIGATE_SINGULO "singulo"
436436
#define INVESTIGATE_SUPERMATTER "supermatter"
437437
#define INVESTIGATE_WIRES "wires"
438+
#define INVESTIGATE_DEATHS "deaths"
438439

439440
// The SQL version required by this version of the code
440441
#define SQL_VERSION 67
@@ -745,3 +746,8 @@ do { \
745746

746747
//! The number of seconds between the start of the UNIX and BYOND epochs.
747748
#define BYOND_EPOCH_UNIX 946702800
749+
750+
#define BRIDGE_SPAWN_SUCCESS 0
751+
#define BRIDGE_SPAWN_TOO_WIDE 1
752+
#define BRIDGE_SPAWN_TOO_NARROW 2
753+
#define BRIDGE_SPAWN_BAD_TERRAIN 3

code/__DEFINES/speech_channels.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@
99
#define ADMIN_CHANNEL "Admin"
1010
#define DSAY_CHANNEL "Dsay"
1111
#define DEV_CHANNEL "Dev"
12+
#define STAFF_CHANNEL "Staff"
1213

code/__HELPERS/_logging.dm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,12 @@ GLOBAL_PROTECT(log_end)
142142
rustlibs_log_write(GLOB.world_game_log, "[message][GLOB.log_end]")
143143
log_if_mismatch(speaker, message)
144144

145+
/proc/log_staffsay(text, mob/speaker)
146+
if(GLOB.configuration.logging.adminchat_logging)
147+
var/message = "STAFFSAY: [speaker.simple_info_line()]: [html_decode(text)]"
148+
rustlibs_log_write(GLOB.world_game_log, "[message][GLOB.log_end]")
149+
log_if_mismatch(speaker, message)
150+
145151
/proc/log_ghostsay(text, mob/speaker)
146152
if(GLOB.configuration.logging.say_logging)
147153
var/message = "DEADCHAT: [speaker.simple_info_line()]: [html_decode(text)]"

code/__HELPERS/mob_helpers.dm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -606,9 +606,9 @@ GLOBAL_LIST_EMPTY(do_after_once_tracker)
606606
var/mob/living/carbon/human/H = thing
607607
H.sec_hud_set_security_status()
608608

609-
/proc/update_all_mob_malf_hud(new_status)
609+
/proc/update_all_mob_malf_hud()
610610
for(var/mob/living/carbon/human/H in GLOB.human_list)
611-
H.malf_hud_set_status(new_status)
611+
H.malf_hud_set_status()
612612

613613
/proc/getviewsize(view)
614614
var/viewX

code/__HELPERS/unsorted.dm

Lines changed: 0 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -169,23 +169,6 @@
169169
else
170170
return FALSE
171171

172-
// Returns true if direction is blocked from loc
173-
// Checks if doors are open
174-
/proc/DirBlocked(turf/loc, dir)
175-
for(var/obj/structure/window/D in loc)
176-
if(!D.density)
177-
continue
178-
if(D.fulltile)
179-
return 1
180-
if(D.dir == dir)
181-
return 1
182-
183-
for(var/obj/machinery/door/D in loc)
184-
if(!D.density)//if the door is open
185-
continue
186-
else return 1 // if closed, it's a real, air blocking door
187-
return 0
188-
189172
/////////////////////////////////////////////////////////////////////////
190173

191174
/**
@@ -675,40 +658,6 @@ Returns 1 if the chain up to the area contains the given typepath
675658
return TRUE
676659
return FALSE
677660

678-
/proc/get_step_towards2(atom/ref , atom/trg)
679-
var/base_dir = get_dir(ref, get_step_towards(ref,trg))
680-
var/turf/temp = get_step_towards(ref,trg)
681-
682-
if(is_blocked_turf(temp))
683-
var/dir_alt1 = turn(base_dir, 90)
684-
var/dir_alt2 = turn(base_dir, -90)
685-
var/turf/turf_last1 = temp
686-
var/turf/turf_last2 = temp
687-
var/free_tile
688-
var/breakpoint = 0
689-
690-
while(!free_tile && breakpoint < 10)
691-
if(!is_blocked_turf(turf_last1))
692-
free_tile = turf_last1
693-
break
694-
if(!is_blocked_turf(turf_last2))
695-
free_tile = turf_last2
696-
break
697-
turf_last1 = get_step(turf_last1,dir_alt1)
698-
turf_last2 = get_step(turf_last2,dir_alt2)
699-
breakpoint++
700-
701-
if(!free_tile) return get_step(ref, base_dir)
702-
else return get_step_towards(ref,free_tile)
703-
704-
else return get_step(ref, base_dir)
705-
706-
//Takes: Anything that could possibly have variables and a varname to check.
707-
//Returns: 1 if found, 0 if not.
708-
/proc/hasvar(datum/A, varname)
709-
if(A.vars.Find(lowertext(varname))) return 1
710-
else return 0
711-
712661
//Returns: all the areas in the world
713662
/proc/return_areas()
714663
var/list/area/areas = list()
@@ -752,22 +701,6 @@ Returns 1 if the chain up to the area contains the given typepath
752701
turfs += T
753702
return turfs
754703

755-
//Takes: Area type as text string or as typepath OR an instance of the area.
756-
//Returns: A list of all atoms (objs, turfs, mobs) in areas of that type of that type in the world.
757-
/proc/get_area_all_atoms(areatype)
758-
if(!areatype) return null
759-
if(istext(areatype)) areatype = text2path(areatype)
760-
if(isarea(areatype))
761-
var/area/areatemp = areatype
762-
areatype = areatemp.type
763-
764-
var/list/atoms = list()
765-
for(var/area/N in world)
766-
if(istype(N, areatype))
767-
for(var/atom/A in N)
768-
atoms += A
769-
return atoms
770-
771704
/// Simple datum for storing coordinates.
772705
/datum/coords
773706
var/x_pos
@@ -1053,10 +986,6 @@ Returns 1 if the chain up to the area contains the given typepath
1053986
var/dy = abs(B.y - A.y)
1054987
return get_dir(A, B) & (rand() * (dx+dy) < dy ? 3 : 12)
1055988

1056-
//chances are 1:value. anyprob(1) will always return true
1057-
/proc/anyprob(value)
1058-
return (rand(1,value)==value)
1059-
1060989
/proc/view_or_range(distance = world.view , center = usr , type)
1061990
switch(type)
1062991
if("view")
@@ -1148,17 +1077,6 @@ Returns 1 if the chain up to the area contains the given typepath
11481077
if(final_x || final_y)
11491078
return locate(final_x, final_y, T.z)
11501079

1151-
//Finds the distance between two atoms, in pixels
1152-
//centered = 0 counts from turf edge to edge
1153-
//centered = 1 counts from turf center to turf center
1154-
//of course mathematically this is just adding world.icon_size on again
1155-
/proc/getPixelDistance(atom/A, atom/B, centered = 1)
1156-
if(!istype(A)||!istype(B))
1157-
return 0
1158-
. = bounds_dist(A, B) + sqrt((((A.pixel_x+B.pixel_x)**2) + ((A.pixel_y+B.pixel_y)**2)))
1159-
if(centered)
1160-
. += world.icon_size
1161-
11621080
/proc/get(atom/loc, type)
11631081
while(loc)
11641082
if(istype(loc, type))
@@ -1211,17 +1129,6 @@ GLOBAL_LIST_INIT(wall_items, typecacheof(list(/obj/machinery/power/apc, /obj/mac
12111129
/proc/format_text(text)
12121130
return replacetext(replacetext(text,"\proper ",""),"\improper ","")
12131131

1214-
/*
1215-
Standard way to write links -Sayu
1216-
*/
1217-
1218-
/proc/topic_link(datum/D, arglist, content)
1219-
if(islist(arglist))
1220-
arglist = list2params(arglist)
1221-
return "<a href='byond://?src=[D.UID()];[arglist]'>[content]</a>"
1222-
1223-
1224-
12251132
/proc/get_location_accessible(mob/M, location)
12261133
var/covered_locations = 0 //based on body_parts_covered
12271134
var/face_covered = 0 //based on flags_inv
@@ -1326,16 +1233,6 @@ Standard way to write links -Sayu
13261233
chance = max(chance - (initial_chance / steps), 0)
13271234
steps--
13281235

1329-
/proc/get_random_colour(simple, lower, upper)
1330-
var/colour
1331-
if(simple)
1332-
colour = pick("FF0000","FF7F00","FFFF00","00FF00","0000FF","4B0082","8F00FF")
1333-
else
1334-
for(var/i=1;i<=3;i++)
1335-
var/temp_col = "[num2hex(rand(lower,upper), 2)]"
1336-
colour += temp_col
1337-
return colour
1338-
13391236
/proc/get_distant_turf(turf/T, direction, distance)
13401237
if(!T || !direction || !distance) return
13411238

0 commit comments

Comments
 (0)