Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into democracyClone
Browse files Browse the repository at this point in the history
  • Loading branch information
Uristthedorf committed Dec 8, 2024
2 parents 71a6f95 + 128492a commit 24c4365
Show file tree
Hide file tree
Showing 48 changed files with 355 additions and 285 deletions.
46 changes: 37 additions & 9 deletions _maps/map_files/BoxStation/BoxStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1540,6 +1540,11 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured,
/area/station/science/xenobiology)
"ayU" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/dark,
/area/station/security/detectives_office)
"azm" = (
/obj/effect/turf_decal/trimline/dark_blue/filled/line{
dir = 1
Expand Down Expand Up @@ -16286,7 +16291,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
/obj/machinery/door/airlock/maintenance{
name = "Detective Office Maintenance"
name = "Detective's Office Maintenance"
},
/obj/effect/mapping_helpers/airlock/access/any/security/detective,
/turf/open/floor/plating,
Expand Down Expand Up @@ -19516,7 +19521,7 @@
/obj/machinery/door/airlock/maintenance{
name = "Law Office Maintenance"
},
/obj/effect/mapping_helpers/airlock/access/any/security/detective,
/obj/effect/mapping_helpers/airlock/access/any/service/lawyer,
/turf/open/floor/plating,
/area/station/service/lawoffice)
"gtA" = (
Expand Down Expand Up @@ -41633,6 +41638,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security{
name = "Private Interrogation"
},
Expand Down Expand Up @@ -50031,6 +50037,10 @@
/obj/effect/turf_decal/trimline/red/filled/line,
/turf/open/floor/iron/dark,
/area/station/security/execution/transfer)
"qoA" = (
/obj/machinery/firealarm/directional/north,
/turf/open/floor/wood,
/area/station/service/lawoffice)
"qoB" = (
/obj/structure/sign/poster/random/directional/south,
/obj/effect/spawner/random/structure/crate,
Expand Down Expand Up @@ -51265,6 +51275,11 @@
/obj/effect/landmark/start/quartermaster,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
"qJG" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron/dark,
/area/station/security/detectives_office)
"qKk" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/stripes/line{
Expand Down Expand Up @@ -53549,10 +53564,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/service{
name = "Law Office Quarters"
},
/obj/effect/mapping_helpers/airlock/access/any/security/detective,
/obj/effect/mapping_helpers/airlock/access/any/service/lawyer,
/turf/open/floor/iron/dark/textured,
/area/station/service/lawoffice)
"rzs" = (
Expand Down Expand Up @@ -59628,6 +59644,10 @@
"txI" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/disposal/incinerator)
"txJ" = (
/obj/machinery/firealarm/directional/south,
/turf/open/floor/wood,
/area/station/security/detectives_office)
"txT" = (
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/nt_rep)
Expand Down Expand Up @@ -71790,6 +71810,10 @@
/obj/machinery/vending/access/command,
/turf/open/floor/wood,
/area/station/command/meeting_room)
"xrT" = (
/obj/item/radio/intercom/directional/south,
/turf/open/floor/wood,
/area/station/service/lawoffice)
"xrX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
Expand Down Expand Up @@ -73146,6 +73170,10 @@
/obj/machinery/photocopier,
/turf/open/floor/iron,
/area/station/command/heads_quarters/ce)
"xOB" = (
/obj/machinery/firealarm/directional/south,
/turf/open/floor/wood,
/area/station/service/lawoffice)
"xOH" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/engineering/central)
Expand Down Expand Up @@ -100455,7 +100483,7 @@ mUw
mUw
xhv
mUw
mUw
xOB
dIW
mUw
iua
Expand Down Expand Up @@ -100971,9 +100999,9 @@ mUw
bpe
dor
dIW
mUw
qoA
pVB
mUw
xrT
fPN
wfE
dwJ
Expand Down Expand Up @@ -101999,9 +102027,9 @@ mHH
tbg
tFs
hjG
hPT
qJG
rKe
hPT
ayU
fPN
fhe
dwJ
Expand Down Expand Up @@ -102511,7 +102539,7 @@ tbg
tbg
qid
tbg
tbg
txJ
hjG
hPT
jUt
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/economy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
#define CIV_JOB_GROW 12
#define CIV_JOB_ATMOS 13
#define CIV_JOB_RANDOM 14
#define CIV_JOB_SCI_HEAD 15

//By how much should the station's inflation value be multiplied by when dividing the civilian bounty's reward?
#define BOUNTY_MULTIPLIER 10
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@
#define DEPARTMENT_CENTRAL_COMMAND "Central Command"

#define DEPARTMENT_BITFLAG_LATE (1<<12)
#define DEPARTMENT_LATE "Late Join"
#define DEPARTMENT_LATE "Late Arrival"

/* Job datum job_flags */
/// Whether the mob is announced on arrival.
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/~monkestation/admin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@
#define AHELP_CLOSEREASON_NONE 0
#define AHELP_CLOSEREASON_IC 1
#define AHELP_CLOSEREASON_MENTOR 2

#define ADMIN_SUSINFO(user) "[ADMIN_LOOKUP(user)] [ADMIN_PP(user)] [ADMIN_INDIVIDUALLOG(user)] [ADMIN_SMITE(user)]"
26 changes: 26 additions & 0 deletions code/__HELPERS/~monkestation-helpers/clients.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,29 @@
RETURN_TYPE(/datum/admins)
var/client/client = CLIENT_FROM_VAR(doohickey)
return client?.holder

/proc/should_be_interviewing(mob/target)
. = FALSE
if(QDELETED(target))
return
. = target.client?.interviewee
var/ckey = target.ckey
if(ckey)
if(ckey in GLOB.interviews.approved_ckeys)
return FALSE
var/datum/interview/interview = GLOB.interviews.open_interviews[ckey]
if(interview && interview.status != INTERVIEW_APPROVED)
return TRUE
if(ckey in GLOB.interviews.cooldown_ckeys)
return TRUE

/proc/interview_safety(mob/target, context)
. = should_be_interviewing(target)
if(.)
message_admins(span_danger("<b>WARNING</b>: [ADMIN_SUSINFO(target)] has seemingly bypassed an interview! (context: [context]) <i>note: this detection is still wip, tell absolucy if it's causing false positives</i>"))
log_admin_private("[key_name(target)] has seemingly bypassed an interview! (context: [context])")
if(isnewplayer(target))
var/mob/dead/new_player/dingbat = target
if(dingbat.ready == PLAYER_READY_TO_PLAY)
dingbat.ready = PLAYER_NOT_READY
qdel(dingbat.client)
1 change: 1 addition & 0 deletions code/_onclick/hud/new_player.dm
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@
if(!new_client.readied_store)
new_client.readied_store = new(new_player)
new_client.readied_store.ui_interact(new_player)
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(interview_safety), new_player, "readied up"), 1 SECONDS, TIMER_UNIQUE)
else
new_player.ready = PLAYER_NOT_READY
base_icon_state = "not_ready"
Expand Down
4 changes: 4 additions & 0 deletions code/controllers/subsystem/ticker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,10 @@ SUBSYSTEM_DEF(ticker)
for(var/i in GLOB.new_player_list)
var/mob/dead/new_player/player = i
if(player.ready == PLAYER_READY_TO_PLAY && player.mind)
if(interview_safety(player, "readied up"))
player.ready = PLAYER_NOT_READY
QDEL_IN(player.client, 0)
continue
GLOB.joined_player_list += player.ckey
var/chosen_title = player.client?.prefs.alt_job_titles[player.mind.assigned_role.title] || player.mind.assigned_role.title
var/atom/destination = player.mind.assigned_role.get_roundstart_spawn_point(chosen_title)
Expand Down
6 changes: 2 additions & 4 deletions code/datums/components/life_link.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,16 +129,14 @@
if(isnull(holder))
return
holder.icon_state = "hud[RoundHealth(host)]"
var/icon/size_check = icon(mob_parent.icon, mob_parent.icon_state, mob_parent.dir)
holder.pixel_y = size_check.Height() - world.icon_size
holder.pixel_y = mob_parent.get_cached_height() - world.icon_size

/// Update our vital status on the medical hud
/datum/component/life_link/proc/update_med_hud_status(mob/living/mob_parent)
var/image/holder = mob_parent.hud_list?[STATUS_HUD]
if(isnull(holder))
return
var/icon/size_check = icon(mob_parent.icon, mob_parent.icon_state, mob_parent.dir)
holder.pixel_y = size_check.Height() - world.icon_size
holder.pixel_y = mob_parent.get_cached_height() - world.icon_size
if(host.stat == DEAD || HAS_TRAIT(host, TRAIT_FAKEDEATH))
holder.icon_state = "huddead"
else
Expand Down
3 changes: 1 addition & 2 deletions code/datums/components/seethrough_mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,8 @@
for(var/atom/movable/screen/plane_master/seethrough as anything in our_hud.get_true_plane_masters(SEETHROUGH_PLANE))
seethrough.unhide_plane(fool)

var/icon/current_mob_icon = icon(fool.icon, fool.icon_state)
render_source_atom.pixel_x = -fool.pixel_x
render_source_atom.pixel_y = ((current_mob_icon.Height() - 32) * 0.5)
render_source_atom.pixel_y = ((fool.get_cached_height() - world.icon_size) * 0.5)

initial_render_target_value = fool.render_target
fool.render_target = "*transparent_bigmob[personal_uid]"
Expand Down
3 changes: 1 addition & 2 deletions code/datums/status_effects/stacking_effect.dm
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,7 @@
if(underlay_file)
status_underlay = mutable_appearance(underlay_file, "[underlay_state][stacks]")

var/icon/I = icon(owner.icon, owner.icon_state, owner.dir)
var/icon_height = I.Height()
var/icon_height = owner.get_cached_height()

if(status_overlay)
status_overlay.pixel_x = -owner.pixel_x
Expand Down
Loading

0 comments on commit 24c4365

Please sign in to comment.