Skip to content

Commit

Permalink
Merge branch 'master' into WE-INSTEAD-OF-YOU
Browse files Browse the repository at this point in the history
  • Loading branch information
Red-byte3D committed Dec 11, 2023
2 parents a8ece20 + 25d70da commit 474989f
Show file tree
Hide file tree
Showing 16 changed files with 94 additions and 41 deletions.
7 changes: 4 additions & 3 deletions code/__HELPERS/chat.dm
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
/**
* Sends a message to TGS chat channels.
* Asynchronously sends a message to TGS chat channels.
*
* message - The message to send.
* message - The [/datum/tgs_message_content] to send.
* channel_tag - Required. If "", the message with be sent to all connected (Game-type for TGS3) channels. Otherwise, it will be sent to TGS4 channels with that tag (Delimited by ','s).
* admin_only - Determines if this communication can only be sent to admin only channels.
*/
/proc/send2chat(message, channel_tag, admin_only = FALSE)
/proc/send2chat(datum/tgs_message_content/message, channel_tag, admin_only = FALSE)
set waitfor = FALSE
if(channel_tag == null || !world.TgsAvailable())
return

Expand Down
8 changes: 7 additions & 1 deletion code/controllers/subsystem/interior.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,16 @@ SUBSYSTEM_DEF(interior)
if(!isturf(loc))
loc = get_turf(loc)

var/datum/weakref/reservation = SSmapping.used_turfs[loc]
var/datum/weakref/reservation_weakref = SSmapping.used_turfs[loc]

if(!reservation_weakref)
return

var/datum/turf_reservation/interior/reservation = reservation_weakref.resolve()

if(!istype(reservation))
return FALSE

return TRUE

#undef INTERIOR_BORDER_SIZE
5 changes: 5 additions & 0 deletions code/controllers/subsystem/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,11 @@ SUBSYSTEM_DEF(mapping)
if(MC.perf_mode)
GLOB.perf_flags |= MC.perf_mode

if(configs[GROUND_MAP])
send2chat(new /datum/tgs_message_content("<@&[CONFIG_GET(string/new_round_alert_role_id)]> Round restarted! Map is [configs[GROUND_MAP].map_name]"), CONFIG_GET(string/new_round_alert_channel))
else
send2chat(new /datum/tgs_message_content("<@&[CONFIG_GET(string/new_round_alert_role_id)]> Round started!"), CONFIG_GET(string/new_round_alert_channel))

return SS_INIT_SUCCESS

/datum/controller/subsystem/mapping/proc/wipe_reservations(wipe_safety_delay = 100)
Expand Down
5 changes: 5 additions & 0 deletions code/game/machinery/fusion_engine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,11 @@
else
. += SPAN_INFO("There is no fuel cell in the receptacle.")

/obj/structure/machinery/power/fusion_engine/ex_act(severity)
if(overloaded && severity >= EXPLOSION_THRESHOLD_MLOW)
set_overloading(FALSE)
return

/obj/structure/machinery/power/fusion_engine/update_icon()
switch(buildstate)
if(0)
Expand Down
3 changes: 3 additions & 0 deletions code/game/turfs/walls/walls.dm
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,9 @@
if (acided_hole)
. += SPAN_WARNING("There's a large hole in the wall that could've been caused by some sort of acid.")

if(flags_turf & TURF_ORGANIC)
return // Skip the part below. 'Organic' walls aren't deconstructable with tools.

switch(d_state)
if(WALL_STATE_WELD)
. += SPAN_INFO("The outer plating is intact. A blowtorch should slice it open.")
Expand Down
17 changes: 7 additions & 10 deletions code/game/world.dm
Original file line number Diff line number Diff line change
Expand Up @@ -247,16 +247,13 @@ GLOBAL_LIST_INIT(reboot_sfx, file2list("config/reboot_sfx.txt"))
shutdown()

/world/proc/send_tgs_restart()
if(CONFIG_GET(string/new_round_alert_channel) && CONFIG_GET(string/new_round_alert_role_id))
if(GLOB.round_statistics)
send2chat("[GLOB.round_statistics.round_name][GLOB.round_id ? " (Round [GLOB.round_id])" : ""] completed!", CONFIG_GET(string/new_round_alert_channel))
if(SSmapping.next_map_configs)
var/datum/map_config/next_map = SSmapping.next_map_configs[GROUND_MAP]
if(next_map)
send2chat("<@&[CONFIG_GET(string/new_round_alert_role_id)]> Restarting! Next map is [next_map.map_name]", CONFIG_GET(string/new_round_alert_channel))
else
send2chat("<@&[CONFIG_GET(string/new_round_alert_role_id)]> Restarting!", CONFIG_GET(string/new_round_alert_channel))
return
if(!CONFIG_GET(string/new_round_alert_channel))
return

if(!GLOB.round_statistics)
return

send2chat(new /datum/tgs_message_content("[GLOB.round_statistics.round_name][GLOB.round_id ? " (Round [GLOB.round_id])" : ""] completed!"), CONFIG_GET(string/new_round_alert_channel))

/world/proc/send_reboot_sound()
var/reboot_sound = SAFEPICK(GLOB.reboot_sfx)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/admin/chat_commands.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
/datum/tgs_chat_command/sdql/Run(datum/tgs_chat_user/sender, params)
var/list/results = HandleUserlessSDQL(sender.friendly_name, params)
if(!results)
return "Query produced no output"
return new /datum/tgs_message_content("Query produced no output")
var/list/text_res = results.Copy(1, 3)
var/list/refs = length(results) > 3 ? results.Copy(4) : null
return "[text_res.Join("\n")][refs ? "\nRefs: [refs.Join(" ")]" : ""]"
return new /datum/tgs_message_content("[text_res.Join("\n")][refs ? "\nRefs: [refs.Join(" ")]" : ""]")
2 changes: 1 addition & 1 deletion code/modules/cm_aliens/structures/egg.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
icon_state = "Egg Growing"
density = FALSE
anchored = TRUE
layer = LYING_BETWEEN_MOB_LAYER //to stop hiding eggs under corpses
layer = LYING_BETWEEN_MOB_LAYER
health = 80
plane = GAME_PLANE
var/list/egg_triggers = list()
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/xenomorph/Evolution.dm
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@
evolving = TRUE
var/level_to_switch_to = get_vision_level()

if(!do_after(src, 2.5 SECONDS, INTERRUPT_INCAPACITATED, BUSY_ICON_HOSTILE)) // Can evolve while moving
to_chat(src, SPAN_WARNING("You quiver, but nothing happens. Hold still while evolving."))
if(!do_after(src, 2.5 SECONDS, INTERRUPT_INCAPACITATED|INTERRUPT_CHANGED_LYING, BUSY_ICON_HOSTILE)) // Can evolve while moving, resist or rest to cancel it.
to_chat(src, SPAN_WARNING("You quiver, but nothing happens. Your evolution has ceased for now..."))
evolving = FALSE
return

Expand Down
10 changes: 10 additions & 0 deletions code/modules/mob/living/carbon/xenomorph/egg_item.dm
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,16 @@
to_chat(user, SPAN_XENOWARNING("[src] can only be planted on [lowertext(hive.prefix)]hive weeds."))
return

if(istype(get_area(T), /area/vehicle))
to_chat(user, SPAN_XENOWARNING("[src] cannot be planted inside a vehicle."))
return

for(var/obj/object in T.contents)
var/obj/effect/alien/egg/xeno_egg = /obj/effect/alien/egg
if(object.layer > initial(xeno_egg.layer))
to_chat(user, SPAN_XENOWARNING("[src] cannot be planted below objects that would obscure it."))
return

user.visible_message(SPAN_XENONOTICE("[user] starts planting [src]."), SPAN_XENONOTICE("You start planting [src]."), null, 5)

var/plant_time = 35
Expand Down
19 changes: 14 additions & 5 deletions code/modules/shuttle/computer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -343,14 +343,23 @@
if(lifeboat.status == LIFEBOAT_LOCKED)
to_chat(xeno, SPAN_WARNING("We already wrested away control of this metal bird."))
return XENO_NO_DELAY_ACTION
if(lifeboat.mode == SHUTTLE_CALL)
to_chat(xeno, SPAN_WARNING("Too late, you cannot stop the metal bird mid-flight."))
return XENO_NO_DELAY_ACTION

xeno_attack_delay(xeno)
if(do_after(usr, 5 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE))
if(lifeboat.status != LIFEBOAT_LOCKED)
lifeboat.status = LIFEBOAT_LOCKED
lifeboat.available = FALSE
lifeboat.set_mode(SHUTTLE_IDLE)
xeno_message(SPAN_XENOANNOUNCE("We have wrested away control of one of the metal birds! They shall not escape!"), 3, xeno.hivenumber)
if(lifeboat.status == LIFEBOAT_LOCKED)
return XENO_NO_DELAY_ACTION
if(lifeboat.mode == SHUTTLE_CALL)
to_chat(xeno, SPAN_WARNING("Too late, you cannot stop the metal bird mid-flight."))
return XENO_NO_DELAY_ACTION
lifeboat.status = LIFEBOAT_LOCKED
lifeboat.available = FALSE
lifeboat.set_mode(SHUTTLE_IDLE)
var/obj/docking_port/stationary/lifeboat_dock/lifeboat_dock = lifeboat.get_docked()
lifeboat_dock.open_dock()
xeno_message(SPAN_XENOANNOUNCE("We have wrested away control of one of the metal birds! They shall not escape!"), 3, xeno.hivenumber)
return XENO_NO_DELAY_ACTION
else
return ..()
2 changes: 2 additions & 0 deletions code/modules/shuttle/shuttles/crashable/lifeboats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@

/obj/docking_port/stationary/lifeboat_dock/proc/close_dock()
var/obj/docking_port/mobile/crashable/lifeboat/docked_shuttle = get_docked()
if(docked_shuttle.status == LIFEBOAT_LOCKED)
return
if(docked_shuttle)
for(var/obj/structure/machinery/door/airlock/multi_tile/door in docked_shuttle.doors)
INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat, close_and_lock))
Expand Down
7 changes: 0 additions & 7 deletions html/changelogs/AutoChangeLog-pr-5088.yml

This file was deleted.

6 changes: 0 additions & 6 deletions html/changelogs/AutoChangeLog-pr-5154.yml

This file was deleted.

4 changes: 0 additions & 4 deletions html/changelogs/AutoChangeLog-pr-5159.yml

This file was deleted.

32 changes: 32 additions & 0 deletions html/changelogs/archive/2023-12.yml
Original file line number Diff line number Diff line change
Expand Up @@ -177,3 +177,35 @@
- balance: PO can remove queens dropship override again.
private-tristan:
- qol: Gun safety messages now use balloon alerts.
2023-12-09:
InsaneRed:
- balance: Oppressor tail abduct changed to 15 seconds and lowers the windup to
7 deciseconds
- balance: ' Changes around the punch effect so that instead of having to meet demonic
standards, you only need to punch to lower your tail/hook on oppressor.'
- bugfix: You will now automatically punch chest if the target you are aiming at
is delimbed instead of doing nothing
harryob:
- rscdel: removes a nanoui debug verb that no one has ever used, ever
zzzmike:
- spellcheck: tablestun text is more clear that it stuns
- soundadd: unequip noise added to uniform, backpack, shoes.
- soundadd: sound added to tablestun
- sounddel: for disarms, whoosh only triggers on stun. otherwise, the miss sound
plays
2023-12-10:
Birdtalon:
- bugfix: Resting once again cancels xenomorph evolve.
SabreML:
- bugfix: Fixed resin walls/membranes showing a welder deconstruction hint.
Zonespace27:
- balance: You cannot plant eggs inside vehicles.
- balance: Eggs can no longer be planted on tiles with objects that would obscure
them.
harryob:
- bugfix: xenos can construct in dropships during transport again
ihatethisengine:
- rscadd: locking lifeboats open the docks
2023-12-11:
ihatethisengine:
- bugfix: fusion reactors cannot be destroyed with explosions

0 comments on commit 474989f

Please sign in to comment.